JP3766981B2 - Image control apparatus and image control method - Google Patents

Image control apparatus and image control method Download PDF

Info

Publication number
JP3766981B2
JP3766981B2 JP09298094A JP9298094A JP3766981B2 JP 3766981 B2 JP3766981 B2 JP 3766981B2 JP 09298094 A JP09298094 A JP 09298094A JP 9298094 A JP9298094 A JP 9298094A JP 3766981 B2 JP3766981 B2 JP 3766981B2
Authority
JP
Japan
Prior art keywords
image
detection
information
chroma key
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09298094A
Other languages
Japanese (ja)
Other versions
JPH07281666A (en
Inventor
康治 鳥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP09298094A priority Critical patent/JP3766981B2/en
Publication of JPH07281666A publication Critical patent/JPH07281666A/en
Application granted granted Critical
Publication of JP3766981B2 publication Critical patent/JP3766981B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video

Description

【0001】
【産業上の利用分野】
本発明は、例えば、バーチャルリアリティ(仮想現実感)を創出するビデオゲームなどに用いて好適な画像制御装置および画像制御方法に関する。
【0002】
【従来の技術】
従来より、操作パッド等の操作に応じてオブジェクト画像を動画制御したり、効果音を発生させたりする画像制御装置が各種実用化されている。なお、ここで言うオブジェクト画像とは、ゲーム画面に表示される「キャラクタ」を指し、背景となるバックグラウンド画面上に移動表示されるものである。この種の装置は、ビデオゲームあるいはTVゲームと呼ばれ、遊戯者の反射神経を問うシューティングゲームや、仮想的な現実感をシミュレートするゲーム等が知られている。
【0003】
このようなビデオゲームは、ゲーム操作に対応したビデオ信号を発生する画像処理部と、この画像処理部から供給されるビデオ信号を映像表示するディスプレイとから構成される。画像処理部は、CPU、ROMおよびRAM等から構成され、例えば、ROMパックに記憶された画像情報および制御情報を順次読み出し、画面背景となるバックグラウンド画像をディスプレイに表示すると共に、ゲーム操作に応じて対応するキャラクタ(オブジェクト画像)を画面背景上を動画表示し、その動きに応じた効果音を発音するようにしている。
【0004】
【発明が解決しようとする課題】
さて、上述したように、従来の画像制御装置では、操作パッドの操作に応じてオブジェクト画像を表示制御する態様が一般的であり、仮想的な現実感をシミュレートするゲームでは不向きになることが多い。つまり、仮想的な現実感を追求するには、実際の行動(行為)に即した形態で画像制御にする必要がある。例えば、画面に投手が球を投げるシーンを表示し、この表示画面に基づいて遊戯者が打撃操作するようにしたシミュレーションゲームでは、操作パッドに替えて「バット」が操作子となり、この「バット」の位置あるは動きに応じて画像制御することになる。
【0005】
このような画像制御を行う場合には、周知のクロマキー検出処理により操作子の位置や動きを検出する手法が採られている。ここで言うクロマキー検出処理とは、この場合、予め「バット(操作子)」を特定の色で色付けしておき、遊戯者を撮像した画像からこの特定色のクロマキー像を抽出し、これによって、遊戯者が持つ操作子の位置や動きを画面上から検出するものである。
【0006】
ところで、このクロマキー検出処理を用いて表示画面内に設定される「アイコン」を、クロマキー像によってポインティングし、当該「アイコン」にアサインされる情報を取り込むクロマキー入力処理が考えられる。例えば、表示画面の所定エリアに動作モードを指定する「アイコン」を割り付けておき、その「アイコン」にクロマキー像が位置することを認識した時点で対応する動作モードに変更する等の処理を実現する。
【0007】
こうしたクロマキー入力処理において、複数のクロマキー像によるポインティング操作を行う場合には、各クロマキー像毎にその画面上の位置や動きを検出し、それら検出結果に基づいて実際に「アイコン」をポインティングしたクロマキー像の有無を判別することになる。このため、画像制御に係わる処理全体が煩雑化する上、メモリ消費も増大することから、装置構成の複雑化や処理速度の遅れなどの弊害を招いてしまう。換言すれば、従来の画像制御装置では、複数のクロマキー像によるポインティング操作を実現することができないという欠点を備える。
【0008】
そこで本発明は、上述した事情に鑑みてなされたもので、容易に複数の操作子を検出し、これらの操作子によるポインティング操作を実現し得る画像制御装置および画像制御方法を提供することを目的としている。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の発明では、撮像画像から特定色領域を抽出する抽出手段と、表示画面上に表示される複数の背景画像を発生する画像発生手段と、前記画像発生手段によって前記表示画面上に表示された複数の背景画像の表示領域の各々に対応させて検出領域を割り当てる割当手段と、複数種の楽音信号を記憶する楽音信号記憶手段と、前記検出領域と前記楽音信号記憶手段に記憶される楽音信号の音色を指定する情報とを夫々対応付けて記憶する記憶手段と、前記割当手段によって割り当てられた複数の検出領域の何れかと前記抽出手段によって抽出された特定色領域とが重なった時に、この重なった検出領域に基づいて前記記憶手段に記憶されている複数種の音色を指定する情報から音色を指定する情報を選択する選択手段と、前記重なった検出領域の重心位置と前記抽出された特定色領域の重心位置との離間距離に基づいて、前記選択手段によって選択された音色を指定する情報の出力音量を指定する情報を生成する生成手段と、前記選択手段によって選択された音色を指定する情報と前記生成手段によって生成された出力音量を指定する情報とに従って前記楽音信号記憶手段より対応する楽音信号を読み出して出力する出力手段とを具備することを特徴とする。
【0010】
また、請求項2に記載の発明では、撮像画像から特定色領域を抽出する抽出ステップと、表示画面上に表示される複数の背景画像を発生する画像発生ステップと、前記画像発生ステップにて前記表示画面上に表示された複数の背景画像の表示領域の各々に対応させて検出領域を割り当てる割当ステップと、前記割当ステップにて割り当てられた複数の検出領域の何れかと前記抽出ステップにて抽出された特定色領域とが重なった時に、この重なった検出領域に基づいて予め検出領域と楽音信号の音色を指定する情報とを夫々対応付けて記憶した第1のメモリより対応する音色を指定する情報を選択する選択ステップと、前記重なった検出領域の重心位置と前記抽出された特定色領域の重心位置との離間距離に基づいて、前記選択ステップにて選択された音色を指定する情報の出力音量を指定する情報を生成する生成ステップと、前記選択ステップにて選択された音色を指定する情報と前記生成ステップにて生成された出力音量を指定する情報とに従って予め複数種の楽音信号を記憶する第2のメモリより対応する楽音信号を読み出して出力する出力ステップとからなることを特徴とする。
【0014】
【作用】
本発明では、予め複数種の楽音信号を記憶するとともに、検出領域とこの記憶されている楽音信号の音色を指定する情報とを夫々対応付けて記憶しておき、表示画面上に表示される複数の背景画像の表示領域の各々に対応させて複数の検出領域を割り当て、これらの複数の検出領域の何れかと撮像画像から抽出した特定色領域とが重なった時に、この重なった検出領域に基づいて音色を指定する情報を選択し、更に重なった検出領域の重心位置と抽出された特定色領域の重心位置との離間距離に基づいて、選択された音色を指定する情報の出力音量を指定する情報を生成する。そして、これらの情報に従って対応する楽音信号を読み出して出力する。これにより、例えば身振りを撮影することにより演奏制御を行うような場合であっても、特定色領域との位置関係に関わる処理速度の遅延などの障害を起こすことなく、極めて容易に特定色領域検出によるポインティング操作を実現し得る。
【0015】
【実施例】
以下、図面を参照して本発明の実施例について説明する。
A.実施例の概要
図1は、本発明による画像制御装置の全体構成を示す外観図である。この図に示す実施例は、遊戯者Pの身体動作に応じて楽音制御するゲームに適用した一例を図示している。図1において、1はCCD等の固体撮像素子を備える撮像部であり、遊戯者Pを撮像する。ここで、遊戯者Pは、両手両足にそれぞれクロマキー検出用として青色に着色されたグローブGとブーツBとを装着している。2は装置本体であり、撮像部1から供給される撮像信号にクロマキー検出を施し、実画像におけるグローブGおよびブーツBの位置を判別する。ここで言う実画像とは、撮像部1によって撮像される画像を指す。
【0016】
また、装置本体2は、表示画面の背景となるバックグラウンド画像BGと、このバックグラウンド画像BG上に表示される上記実画像RIとを合成してディスプレイ3に表示する。バックグラウンド画像BGは、図2(イ)に示すように、画面両サイドに表示される画像であって、各種リズム楽器の形状を模した「アイコン」BE1〜BE6を形成する。ここで、「アイコン」BE1〜BE6は、それぞれ「シンバル」、「スネアドラム」、「バスドラム」、「トランペット」、「カウベル」および「ボンゴ」を表わしている。また、実画像RIは、同図(ロ)に示すように、両手両足にそれぞれグローブGとブーツBとを装着した遊戯者Pを撮像したものである。装置本体2は、これら画像BG,RIを合成して同図(ハ)に示すCG画像を形成する。
さらに、装置本体2は、遊戯者PがグローブGあるいはブーツBによって「アイコン」BE1〜BE6のいずれかをポインティング操作した場合、後述する動作に基づきクロマキー入力処理がなされ、ポインティングされた「アイコン」BE1〜BE6にアサインされたリズム楽器音を楽音合成するようにしており、これにより、遊戯者Pの身振りに応じたリズム演奏がなされる。
【0017】
B.実施例の構成
次に、図3を参照して撮像部1および装置本体2の電気的構成について説明する。
(1)撮像部1の構成
撮像部1は、構成要素10〜13から構成されている。10は発振回路であり、8倍オーバーサンプリング信号8fSCを発生して出力する。11は撮像信号処理部である。撮像信号処理部11は、8倍オーバーサンプリング信号8fSCを次段のクロックドライバ12に供給すると共に、CCD13から出力される撮像信号SSをサンプリング画像データDSに変換する。クロックドライバ12は、発振回路12から供給される8倍オーバーサンプリング信号8fSCに基づき、水平駆動信号、垂直駆動信号、水平/垂直同期信号および帰線消去信号等の各種タイミング信号を発生する一方、上記水平駆動信号および垂直駆動信号に対応する撮像駆動信号を発生してCCD13に供給する。CCD13は、この撮像駆動信号に従って対象物を撮像して撮像信号SSを発生する。
【0018】
ここで、図4を参照して撮像信号処理部11の概略構成について説明する。図4において、11aはサンプリング回路であり、上述したクロックドライバ12から供給される4倍オーバーサンプリング信号4fSCに応じて撮像信号SSをサンプルホールドして次段へ出力する。11bはサンプリングされた撮像信号SSを所定レベルに変換して出力するAGC(自動利得制御)回路である。11cは、撮像信号SSのガンマ特性をγ=1/2.2に補正して出力するγ補正回路である。11dは、このガンマ補正された撮像信号SSを8ビット長のサンプリング画像データDSに変換して出力するA/D変換回路である。サンプリング画像データDSは、後述するビデオ信号処理部20に供給される。11eはビデオ信号処理部20から供給されるコンポジット映像信号DCVをアナログビデオ信号SVに変換して前述したディスプレイ3に出力するD/A変換回路である。
【0019】
(2)装置本体2の構成
次に、図3〜図11を参照して装置本体2の構成について説明する。装置本体2は、ビデオ信号処理部20、画像処理部30、位置検出処理部40および制御部50から構成されており、以下、これら各部について詳述する。
▲1▼ビデオ信号処理部20の構成
ビデオ信号処理部20は、撮像部1から供給されるサンプリング画像データDSに対して色差変換処理とクロマキー検出処理とを施し、その結果を後述する位置検出処理部40に供給する。また、この処理部20は、後述する画像処理部30から供給される画像処理データDSPをコンポジット映像信号DCVに変換し、前述したD/A変換回路11e(図4参照)に供給する。なお、画像処理データDSPとは、前述した「アイコン」BE1〜BE6(図2参照)を形成するバックグラウンド画像データDBG(RGB信号)を指す。
【0020】
ここで、図5を参照して上記各処理を具現するビデオ信号処理部20の構成について説明する。図5において、20aは色分離フィルタであり、サンプリング画像データDSを信号Ye(イエロー)、信号Cy(シアン)および信号G(グリーン)に色分離して次段へ出力する。20bは撮像信号SS中における変化点の前後に対して輝度変調を施して画質調整する輪郭補正回路である。20cはホワイトバランス回路であり、各信号Ye,Cy,Gを規定レベルに設定して出力する。20dはバンドパスフィルタで構成される分別フィルタであり、各信号Ye,Cyを信号R(赤)および信号B(青)に分別して出力する。20eは三原色を表わす信号R,G,Bを各8ビット長の輝度信号Y、色差信号B−Y,R−Yに変換するマトリクス回路である。
【0021】
20fはクロマキー信号発生回路であり、色差信号B−Y,R−Yが所定レベルに達した場合に「H」レベルのクロマキー検出信号CROを発生する。すなわち、この回路20fでは、図6に示すように、色差B−Yの最大/最小レベルB−YMAX,B−YMINと、色差R−Yの最大/最小レベルR−YMAX,R−YMINとが予め定められており、これらレベルによって規定された色差領域Eに色差信号B−Y,R−Yが収る場合、特定色を検出した旨を表わす「H」レベルのクロマキー検出信号CROを出力する。なお、この実施例においては、上記領域Eを「青色」としており、具体的には遊戯者Pが両手両足に装着する青色のクローブGあるいはブーツBを撮像した時に「H」レベルのクロマキー検出信号CROが生成される。
【0022】
20gは、VDP31(後述する)から供給される画像処理データDSP(RGB信号)を輝度信号Y、色差信号B−Y,R−Yに変換するマトリクス回路である。20hはセレクタであり、位置検出処理部40から供給される選択信号SLに応じてマトリクス回路20eの出力、あるいはマトリクス回路20hの出力のいずれか一方を選択して次段へ供給する。20iはモジュレータである。モジュレータ20iは、セレクタ20hを介して供給される輝度信号Y、色差信号B−Y,R−Yに各種同期信号(水平/垂直同期信号および帰線消去信号)を重畳したディジタルコンポジット映像信号DCVを生成する。
【0023】
上記構成によれば、ビデオ信号処理部20は、撮像部1から供給されるサンプリング画像データDSに対して特定色のクロマキー検出を施し、その結果をクロマキー検出信号CROとして画像処理部30(後述する)側へ供給する。また、この処理部20は、画像処理部30側から入力される画像処理データDSP(RGB信号)、あるいは撮像部1から供給されるサンプリング画像データDSのいずれかを選択信号SLに応じて切替え、これにより、バックグラウンド画像BGと実画像RIとを合成したコンポジット映像信号DCVを発生する。なお、選択信号SLは、後述する位置検出処理部40から供給される信号である。
【0024】
▲2▼画像処理部30の構成
次に、画像処理部30の構成について説明する。画像処理部30は、ビデオデータプロセッサ(以下、VDPと略す)31とVRAM32とから構成される。このVDP31の基本的機能は、VRAM32に格納されるバックグラウンド画像データDBGを制御部50(後述する)側から供給される制御信号SCに応じて読み出し、これを1走査ライン毎のドット表示色を表わす画像処理データDSPに変換することにある。以下、図7を参照して画像処理部30を構成する各部について詳述する。
【0025】
図において、31aはCPUインタフェース回路であり、後述する制御部50(CPU51)のバスを介して供給される制御信号SCに応じて構成要素31b〜31dに各種制御指示を与える。制御信号SCは、バックグラウンド画像BGを表示制御する各種コマンドや、VRAM32にDMA転送されるバックグラウンド画像データDBGから形成される。31bはVRAMコントロール回路であり、構成要素31a,31cおよび31dから供給される制御信号に対応してVRAM32とのデータ授受を行う。
【0026】
すなわち、上記CPUインタフェース回路31aからDMA転送する旨の制御信号SCを受けた場合には、当該回路31aを介してDMA転送されるバックグラウンド画像データDBGを所定の記憶エリアに格納する。また、バックグラウンドコントロール回路31cからバックグラウンド画像データDBGを読み出す旨の指示を受けた場合、対応するデータDBGを読み出して回路31c側に返送する。これと同様に、オブジェクトコントロール回路31dからオブジェクト画像データDOBを読み出す旨の指示を受けた場合、対応するデータDOBを読み出して回路31d側に返送する。なお、オブジェクト画像データDOBとは、バックグラウンド画像BG上に移動表示される画像を形成するデータである。この実施例では、バックグラウンド画面BGのみを表示する動作が主体となるが、VDP31においては、当該バックグラウンド画面BG上を移動するオブジェクト画面OBJをも発生し得る構成を備えている。
【0027】
バックグラウンドコントロール回路31cは、回路31aを介して制御部50側から与えられるバックグラウンド表示制御コマンドに基づき、VRAMコントロール回路31bを経由して読み出されたバックグラウンド画像データDBGに対して表示位置を指定した後、色差データ処理回路31eへ供給する。オブジェクトコントロール回路31dは、回路31aを介して制御部50側から与えられるオブジェクトテーブルデータTOBをオブジェクトテーブルRAM31fに書き込む。このオブジェクトテーブルデータTOBとは、表示画面におけるオブジェクト画像データDOBの表示位置を指定する座標データである。
【0028】
また、当該回路31dは、オブジェクト表示制御コマンドに応じてVRAM32から読み出されたオブジェクト画像データDOBに対し、上記オブジェクトテーブルデータTOBを参照して表示位置を求めると共に、1走査ライン分のオブジェクト画像データDOBをラインバッファRAM31gに一時記憶する。ラインバッファRAM31gに一時記憶されるオブジェクト画像データDOBは、1走査毎に更新される。このRAM31gから読み出されたオブジェクト画像データDOBは、色差データ処理回路31eに供給される。
【0029】
色差データ処理回路31eは、バックグラウンドコントロール回路31cおよびオブジェクトコントロール回路31dから供給される8ビット長の画像データDBG,DOBを、周知のカラールックアップテーブルRAM31hを参照して各4ビット長のR信号,G信号およびB信号から形成される画像処理データDSPに変換して出力する。また、この回路31eは、画像処理データDSP(RGB信号)を参照して信号YSBGおよび信号YSOBJを発生する。信号YSBGおよび信号YSOBJは、現在出力している画像処理データDSPがバックグラウンド画像データDBGに対応するものであるか、あるいはオブジェクト画像データDOBに対応するものであるかを表わす信号である。例えば、現在出力している画像処理データDSPがバックグラウンド画像データDBGに対応するものである時には、信号YSBGが「H(ハイ)」となり、信号YSOBJが「L(ロウ)」になる。一方、これとは逆に画像処理データDSPがオブジェクト画像データDOBに対応するものであれば、信号YSBGが「L」となり、信号YSOBJが「H」になる。
【0030】
このように、VDP31では、制御部50側からDMA転送されるバックグラウンド画像データDBG(オブジェクト画像データDOB)をVRAM32に格納しておき、CPU51から供給される制御信号SC(各種表示制御コマンド)に応じてこのVRAM32から画像データDBG(画像データDOB)を読み出し、これを1走査ライン毎のドット表示色を表わす画像処理データDSPを発生すると共に、当該画像処理データDSPの属性を表わす信号YSBGおよびYSOBJを出力する。
【0031】
▲3▼位置検出処理部40の構成
位置検出処理部40は、複数のロジック素子を配列してなるゲートアレイ、ラインバッファおよびワークRAMとから構成されており、後述する制御部50の指示の下にサンプリング画像データDS中に含まれるクロマキー像と、バックグラウンド画像データDBGによって形成されるバックグラウンド画像BGとの衝突座標位置や、これら画像の重心位置等を予め定められたロジックに基づいて論理演算する。上記ラインバッファ(図示略)は、ビデオ信号処理部20から供給されるクロマキー検出信号CROを一時記憶する。ワークRAMには、ゲートアレイによって論理演算された各種演算結果が一時記憶される。
【0032】
この位置検出処理部40は、上述したVDP31から供給される信号YSBGに基づき、前述した選択信号SLを発生してビデオ信号処理部20に与え、サンプリング画像データDS(実画像)と画像処理データDSP(バックグラウンド画像BG)との重なり具合、つまり、画面表示される画像の優先順位(前後関係)を制御する。さらに、処理部40は、制御部50の指示の下に前述した撮像信号処理部11、ビデオ信号処理部20およびVDP31へそれぞれレジスタコントロール信号SREGを供給し、各部レジスタのデータセット/リセットを制御する

【0033】
次に、図8を参照して位置検出処理部40における各種演算結果が格納されるワークRAMについて説明する。この図において、E1は初期画面エリアであり、水平方向(走査ライン)当り96ドット、垂直方向に96ラインから形成される初期画面のデータを一時記憶する。初期画面のデータとは、ゲーム開始に先立って撮像されたシーン内に存在するクロマキー検出結果を指す。シーン内にクロマキー検出色(例えば、青色)の物体が存在した場合、前述したグローブGあるいはブーツB(図1参照)の一部と誤認する虞がある。そこで、初期画面エリアE1に一時記憶されるデータは、クロマキー検出されたドット位置をグローブGあるいはブーツBと誤認しないようにするため、当該ドット位置を不感帯とする際に用いられる。
【0034】
E2は水平方向96ドット、垂直方向96ラインで形成される処理画面エリアであり、実画像において検出されるクロマキー像(グローブGあるいはブーツBの画像)が1フレーム毎に更新記憶される。E3〜E4は、CPU51によって指示される検出枠内にて検出されるクロマキー像の上端/下端位置を一時記憶する上端座標エリア、下端座標エリアである。なお、検出枠とは、上記処理画面エリア上で規定される矩形領域を指し、前述した「アイコン」BE1〜BE6にそれぞれ対応するエリアである。また、検出枠は、1フレーム毎に「アイコン」BE1〜BE6に対応するよう、その枠位置が変化する。
【0035】
E5〜E6は、それぞれ1フレーム毎に更新される検出枠内にて検出されるクロマキー像の左端/右端位置を一時記憶する左端座標エリア、右端座標エリアである。E7は第1の衝突座標エリアである。第1の衝突座標エリアE1とは、検出枠内におけるクロマキー像とバックグラウンド画像BGとの重なり(衝突)が最初に検出される走査ライン中の交点を、処理画面上の座標として表現したものである。また、第2の衝突座標エリアE8は、クロマキー像とバックグラウンド画像BGとの重なり(衝突)が最後に検出される走査ライン中の交点を、処理画面上の座標として表現したものである。
【0036】
E9は重心座標エリアであり、クロマキー像の面積に基づき算出される重心位置が処理画面上の座標位置として記憶される。E10は、クロマキー像の面積が記憶される面積エリアである。面積エリアE10にセットされる面積は、ブロック個数で表わされる。ここで言うブロックとは、処理画面において水平方向6ドット、垂直方向2ラインからなる12ドット領域を指す。この12ドット領域から形成されるブロック中に、「6ドット」以上のクロマキー検出があった場合、そのブロックがクロマキー像の面積として見做される。
【0037】
▲4▼制御部50の構成
次に、再び図3を参照して制御部50の構成について説明する。制御部50は、構成要素51〜57から構成される。CPU51は装置本体2の操作パネルに配設される各種操作子をキースキャンし、これに応じて生成される操作子信号KSに基づいて装置各部を制御するものであり、その動作の詳細については後述する。また、CPU51は、周知のDMAコントローラを備えており、ゲーム動作に必要な各種データ(バックグラウンド画像データDBG等)を前述した画像処理部30へDMA転送するよう構成されている。さらに、CPU51は、画像制御に必要な制御信号SCを発生して各処理部へ動作指示を与える。52はRAMであり、CPU51のワークエリアとして各種演算結果やフラグ値が一時記憶される。53はCPU51の動作を管理するOS(オペレーションシステム)プログラムが記憶されるROMである。54はCPU51の制御の下に装置全体の動作を規定するシステムクロックを発生するシステムクロック回路である。
【0038】
55は装置本体2に対して挿脱自在に装着されるゲームカートリッジであり、ROM55aと第1音源回路55bとから構成されている。ROM55aは、CPU51にロードされるアプリケーションプログラムや、バックグラウンド画像データDBG等を記憶する。なお、この実施例においては、前述したように、遊戯者Pの身振りに応じてリズム音を楽音合成するゲームプログラムが記憶されている。55bは第1音源回路であり、CPU51側から位置検出処理部40を介して供給されるイベントデータに基づき、ゲーム動作に対応したリズム音を合成し、これを楽音信号としてCPU51へ出力する。なお、ここで言うイベントデータとは、リズム音を指定する音色データ、発音音量を指定するベロシティデータおよび発音を指示するキーオン信号とから形成される。56は第2音源回路であり、ゲーム進行に対応して順次内部ROMから読み出される演奏情報に基づいて所定のメロディ音を楽音合成して出力する。57はサウンドシステムであり、上記第1音源回路55bおよび第2音源回路56から供給される楽音信号に対してノイズ除去等のフィルタリングを施した後、これを増幅して出力する。
【0039】
C.実施例の動作
次に、上記構成による実施例の動作について説明する。ここでは、まず、前述した位置検出処理部40の動作について説明した後、制御部50(CPU51)の動作について説明する。
(1)位置検出処理部40の動作
ここでは、ゲートアレイによって構成される位置検出処理部40の動作について図9〜図14を参照して説明する。この処理部40では、制御部50の指示の下に、サンプリング画像データDS中のクロマキー像を、ビデオ信号処理部20から供給されるクロマキー検出信号CROに基づいて検出し、検出したクロマキー像とバックグラウンド画像BGとの衝突座標位置や、クロマキー像の重心位置およびその面積を算出する。以下、こうした動作の詳細について説明する。
【0040】
▲1▼メインルーチンの動作
まず、装置本体2に電源が投入され、CPU51側からシステムリセットを表わす制御信号SCが位置検出処理部40に供給されたとする。そうすると、位置検出処理部40は、上記制御信号SCに基づき、図9に示すメインルーチンを実行してステップSA1へ処理を進める。ステップSA1では、自身の内部レジスタをリセット、あるいは初期値をセットするイニシャライズを行う一方、撮像信号処理部11、ビデオ信号処理部20およびVDP31へそれぞれレジスタセットを指示するレジスタコントロール信号SREGを供給し、次のステップSA2に進む。
【0041】
ステップSA2では、「初期画面マップ」が作成されているか否かを判断する。ここで、例えば、「初期画面マップ」が作成されていない場合、判断結果は「NO」となり、次のステップSA3に処理を進める。なお、この「初期画面マップ」とは、ゲーム開始に先立って、撮像部1が撮像する実画面RI内に、グローブGおよびブーツB(図1参照)と同色(この実施例では青色)の物体が存在するか否かを確認するためのものである。そして、ステップSA3に進むと、複数フレーム分のクロマキー検出結果を重ね合わせ、これをワークRAMの初期画面エリアE1(図12参照)に格納し、初期画面内に存在するクロマキー検出ブロックを「不感帯」と見做す「初期画面マップ」を作成する。
【0042】
このようにして「初期画面マップ」の作成がなされると、位置検出処理部40は、次のステップSA4に処理を進める。なお、「初期画面マップ」が予め用意されている場合には、上記ステップSA2の判断結果は「YES」となり、ステップSA4に進む。ステップSA4では、検出枠座標(x1,y1),(x2,y2)をワークエリアから読み込む。この検出枠座標とは、CPU51からワークエリアに転送されるものであり、処理画面上(後述する)においてクロマキー検出する領域を表す。座標(x1,y1),(x2,y2)は、検出枠サイズを指定する対角要素に相当する。そして、次のステップSA5に進むと、レジスタX,Yの値をゼロリセットする。なお、このレジスタX,Yには、水平方向96ドット、垂直方向96ラインで形成される画面座標に相当する値が処理内容に応じて順次セットされる。
【0043】
次に、ステップSA6に進むと、位置検出処理部40は、ラインバッファに一時記憶されたクロマキー検出信号CROに対してブロック単位毎にクロマキー検出を施す。ブロック単位のクロマキー検出とは、ラインバッファから読み出したクロマキー検出信号CROを水平方向6ドット、垂直方向2ラインからなるブロックに区分けし、「H」レベルのクロマキー検出信号CROがブロック当り「6ドット」以上存在した時に、当該ブロックの属性を「クロマキー有り」と見做す処理である。こうしたクロマキー検出の結果は、前述した処理画面エリアE2(図12参照)にブロック属性としてストアされ、これが「処理画面マップ」となる。
【0044】
次いで、ブロック単位毎のクロマキー検出がなされると、位置検出処理部40は、次のステップSA7に進み、クロマキー検出されたグローブGあるいはブーツBのクロマキー像とバックグラウンド画像BGとの衝突(重なり)の有無を検出し、衝突する場合にはその衝突座標を求める。そして、ステップSA8に進むと、処理部40は、レジスタXの値を1インクリメントし、続いて、ステップSA9ではレジスタXの値が「96」、つまり、1走査ライン分の処理が完了したか否かを判断する。ここで、レジスタXの値が「96」に達していない場合には、判断結果が「NO」となり、1走査ライン分の処理が完了する迄、上記ステップSA6〜SA8を繰り返す。
【0045】
一方、1走査ライン分の処理が完了すると、ここでの判断結果が「YES」となり、ステップSA10に進み、レジスタXの値を再びゼロリセットすると共に、レジスタYの値を1インクリメントして走査ラインを垂直方向に更新する。そして、ステップSA11に進むと、処理部40はレジスタYの値が「96」であるか否かを判断する。ここで、レジスタYの値が「96」に達していない場合には、判断結果が「NO」となり、上述したステップSA6〜SA8を繰り返す。そして、1フレーム分の走査が完了すると、ここでの判断結果が「YES」となり、ステップSA12に処理を進める。
【0046】
ステップSA12では、上記ステップSA6においてクロマキー検出されたブロックに基づき、クロマキー像の左端/右端座標および上端/下端座標を算出し、これらをワークRAMの記憶エリアE3〜E6(図8参照)に記憶する一方、クロマキー検出されたブロック個数から当該クロマキー像の面積を求める。なお、記憶エリアE3〜E4は、それぞれ1フレーム毎に更新される検出枠内でのクロマキー像の上端/下端位置を一時記憶し、記憶エリアE5〜E6は、それぞれ1フレーム毎に更新される検出枠内でのクロマキー像の左端/右端位置を一時記憶する。また、ブロック個数から算出される面積は、記憶エリアE10に格納される。
【0047】
こうしてCPU51によって指定された検出枠からクロマキー像が検出されると、位置検出処理部40は、ステップSA13に進み、当該クロマキー像の重心位置を求め、続いて、ステップSA14において割込みフラグCFが「1」かどうかを判定し、「1」であればCPU51に対して割込み信号を出力する(ステップSA15)。この後、ステップSA16に進み、衝突フラグCFを「0」にセットする。この衝突フラグCFとは、実画像RIから検出されるクロマキー像とバックグラウンド画像BGとが衝突状態、すなわち、重なり合う場合に「1」となる。そして、このステップSA16以後、位置検出処理部40はその処理をステップSA4に戻し、上述した動作を繰り返し、指定された検出枠毎にクロマキー像とバックグラウンド画像BGとの対応関係を1フレーム毎に求める。
【0048】
▲2▼初期画面マップ作成ルーチンの動作
次に、図10を参照して初期画面マップ作成ルーチンの動作について説明する。上述したように、初期画面マップが作成されていない場合、位置検出処理部40はステップSA3を介して図10に示す初期画面マップ作成ルーチンを実行してステップSB1に処理を進める。ステップSB1では、内部レジスタにセットされるサンプリング回数nを読み出す。サンプリング回数nとは、撮像部1から供給されるクロマキー検出信号CROを何フレーム分取り込むかを表わすものである。次いで、ステップSB2に進むと、レジスタX,Yの値をゼロリセットし、次のステップSB3に進む。ステップSB3では、ラインバッファに書き込まれたクロマキー検出信号CROの内、X方向(水平方向)の6ドット分、Y方向(垂直方向)の2ライン分、すなわち、1ブロック分を読み出す。
【0049】
次いで、ステップSB4に進むと、この読み出した1ブロック中に「6ドット」以上の「H」レベルのクロマキー検出信号CROが存在するか否かを判断する。ここで、「6ドット」以上存在しなければ、「クロマキー無し」として判断結果が「NO」となり、ステップSB5に進む。ステップSB5では、そのブロック属性を「0」として次のステップSB7へ処理を進める。一方、これに対し、「6ドット」以上存在すると、「クロマキー有り」とされて、判断結果が「YES」となり、ステップSB6に進む。ステップSB6では、そのブロック属性を「1」にセットし、次のステップSB7へ処理を進める。ステップSB7では、最初のフレームであるか否かを判断する。ここで、最初にサンプリングしたフレームであると、判断結果は「YES」となり、ステップSB8に進む。
【0050】
ステップSB8に進むと、位置検出処理部40は、現レジスタX,Yの値に応じて初期画面エリアE1へ判定したブロック属性をストアする。そして、この後、ステップSB9に進み、レジスタXの値を1インクリメントし、指定ブロックの番号を歩進させる。次に、ステップSB10に進むと、この歩進された指定ブロックの番号が「96」、つまり、1走査(水平)ライン分完了したか否かを判断する。ここで、完了していない場合には、判断結果が「NO」となり、ステップSB11に進む。ステップSB11では、レジスタYの値が「96」、つまり、1フレーム分終了したか否かを判断する。ここで、1フレーム分の処理が終了していない場合には、判断結果が「NO」となり、前述したステップSB3に戻る。これにより、ステップSB3〜SB6が繰り返され、次のブロック属性が判定される。
【0051】
そして、例えば、いま、1走査(水平)ライン分のブロック属性の判定が完了したとする。そうすると、ステップSB10の判断結果が「YES」となり、処理部40はステップSB13へ処理を進める。ステップSB13では、レジスタXをゼロリセットする一方、レジスタYの値を1インクリメントして走査ラインを更新する。そして、この後、再び、ステップSB11を介してステップSB3以降のブロック判定がなされる。次いで、1フレーム分のブロック属性について判定が完了すると、上述したステップSB11の判断結果が「YES」となり、ステップSB12に進む。ステップSB12では、サンプリング回数nが設定回数に達したか否かを判断する。
【0052】
ここで、設定回数に達していない場合には、判断結果が「NO」となり、ステップSB14へ処理を進める。ステップSB14では、サンプリング回数nを歩進させ、再び前述したステップSB2以降を実行する。こうして1回目の初期画面マップが作成され、2回目の初期画面マップの作成を行う過程で、ステップSB7に進むと、ここでの判断結果が「NO」となり、ステップSB15に進む。ステップSB15では、先にストアされた対応ブロック属性をレジスタX,Yの値に応じて初期画面エリアE1から読み出す。そして、ステップSB16に進むと、先のブロック属性と、現在判定されたブロック属性との論理和を求める。続いて、ステップSB8では、この論理和を新たなブロック属性としてレジスタX,Yの値に基づき初期画面エリアE1にストアする。そして、所定フレーム分の論理和が生成されると、上述したステップSB12の判断結果が「YES」となり、このルーチンを終了し、位置検出処理部40の処理は前述したメインルーチンへ復帰する。
【0053】
▲3▼処理画面マップ作成ルーチンの動作
以上のようにして初期画面マップが作成されると、位置検出処理部40はステップSA6を介して図11に示す処理画面マップ作成ルーチンを実行してステップSC1に処理を進める。ステップSC1では、ラインバッファに書き込まれたクロマキー検出信号CROの内、X方向(水平方向)6ドット、Y方向(垂直方向)2ラインからなる1ブロックを読み出す。次いで、ステップSC2に進むと、その読み出した1ブロック内に「6ドット」以上の「H」レベルのクロマキー検出信号CROが存在するか否かを判断する。ここで、「6ドット」以上存在しなければ、「クロマキー無し」として判断結果が「NO」となり、ステップSC3に進む。ステップSC3では、そのブロック属性を「0」として次のステップSC4へ処理を進める。ステップSC4では、この判定されたブロック属性をレジスタX,Yの値に基づき処理画面エリアE2(図8参照)にストアする。
【0054】
一方、上記ステップSC2の判断結果が「YES」となった場合、すなわち、1ブロック内に「6ドット」以上の「H」レベルのクロマキー検出信号CROが存在する時には、処理部40はステップSC5に処理を進める。ステップSC5では、リジェクトスイッチSRがオン操作されているか否かを判断する。このリジェクトスイッチSRとは、装置本体2の操作パネルに配設されるスイッチであり、そのスイッチ操作に応じて「不感帯」を設けるか否かを設定するものである。ここで、当該スイッチSRがオン設定されている場合には、初期画面マップに記憶されたクロマキー検出ブロックを「不感帯」と見做すようにする。
【0055】
すなわち、上記ステップSC5において、リジェクトスイッチSRがオン設定されている場合には、判断結果が「YES」となり、次のステップSC6に進む。ステップSC6では、初期画面エリアE1からレジスタX,Yの値に応じて対応するブロック属性を読み出す。次いで、ステップSC7に進むと、初期画面エリアE1から読み出したブロック属性が「1」であるか否かを判断する。ここで、当該ブロック属性が「1」である時、その判断結果は「YES」となり、上述したステップSC3に進み、ブロック属性を「0」に変更し、その後、ステップSC4を介して、この変更されたブロック属性をレジスタX,Yの値に応じて処理画面エリアE2に書き込む。この結果、初期画面マップに記憶されたクロマキー検出ブロックが「不感帯」に設定される訳である。
【0056】
なお、上記リジェクトスイッチSRがオン設定されない場合、つまり、「不感帯」を設定しない時には、ステップSC5の判断結果が「NO」となり、ステップSC8に進む。ステップSC8では、上述したステップSC2において判定された結果に基づき、対応するブロックの属性を「1」に設定し、続いて、ステップSC4を介してそのブロック属性をレジスタX,Yの値に応じて処理画面エリアE2に書き込む。
【0057】
▲4▼衝突座標検出ルーチンの動作
次に、図12を参照して衝突座標検出ルーチンの動作について説明する。上述したように「処理画面マップ」が作成されると、位置検出処理部40はステップSA7(図9参照)を介して衝突座標検出ルーチンを実行する。このルーチンでは、クロマキー像とバックグラウンド画像BGとの衝突の有無を検出する。まず、当該ルーチンが実行されると、処理部40はステップSD1に処理を進め、検出枠の位置を指定する検出枠座標(x1,y1),(x2,y2)をワークエリアから読み出し、テンポラリレジスタにセットする。次いで、ステップSD2に進むと、処理部40は処理画面エリアE2からレジスタX,Yの値に対応するブロック属性を読み出す。
【0058】
次いで、ステップSD3,SD4では、レジスタX,Yの値に応じて読み出されるブロック属性が、検出枠座標(x1,y1),(x2,y2)によって指定される検出枠内にあるか否かを判断する。ここで、レジスタX,Yの値が検出枠内でなければ、ステップSD3,SD4の判断結果は「NO」となる。この場合、クロマキー像とバックグラウンド画像BGとの衝突の有無を検出する必要がないから、一旦、このルーチンを終了する。一方、レジスタX,Yの値が検出枠内にある時には、ステップSD3,SD4の判断がいずれも「YES」となり、ステップSD5に処理を進める。そして、ステップSD5に進むと、レジスタX,Yの値に応じて読み出されたブロック属性が「1」、すなわち、クロマキー像であるか否かを判断する。ここで、ブロック属性が「1」でない場合には、判断結果が「NO」となり、衝突が起こり得ないとして一旦このルーチンを終了する。
【0059】
これに対し、読み出したブロック属性が「1」である時には、判断結果が「YES」となり、次のステップSD6に処理を進める。ステップSD6では、ラインバッファに書き込まれたCGデータをレジスタX,Yの値に応じて読み出す。ここで言うCGデータとは、バックグラウンド画像データDBGの有無を表わす信号YSBGを指す。なお、信号YSBGは、VDP31(図3参照)から処理部40に供給されるものである。
そして、次のステップSD7に進むと、処理部40は読み出したCGデータ(信号YSBG)が「1」であるか否かを判断する。この時、当該CGデータが「1」でなければ、レジスタX,Yの値に対応するブロックがバックグラウンド画像BGと重ならないことになるから、衝突しないとして判断結果が「NO」となり、このルーチンを終了する。
【0060】
一方、読み出したCGデータが「1」であると、ステップSD7の判断結果が「YES」となり、ステップSD8に進む。ステップSD8では、衝突フラグCFが「0」であるか否かを判断する。衝突フラグCFは、実画像から抽出されるクロマキー像とバックグラウンド画像BGとが重なり合う場合に「1」となるものである。ここで、当該フラグCFが「0」である場合、つまり、初めて両画像の衝突が認知された状態では、判断結果が「YES」となり、次のステップSD9に処理を進める。ステップSD9では、最初に検出された第1のX座標を衝突座標エリアE7にストアし、続いてステップSD10では、これに対応する第1のY座標を同エリアE7にストアする。次いで、ステップSD11に進むと、衝突フラグCFを「1」にセットする。
一方、これに対して上記ステップSD8の判断結果が「NO」の場合、すなわち、既に両画像の衝突が認知されている状態では、ステップSD12に進み、最後に検出された第2のX座標を衝突座標エリアE8にストアし、続いてステップSD13では、これに対応する第2のY座標を同エリアE7にストアする。
【0061】
▲5▼座標検出ルーチンの動作
次に、図13を参照して座標検出ルーチンの動作について説明する。上述した衝突座標検出ルーチンによって、クロマキー像とバックグラウンド画像BGとの衝突座標位置が検出されると、位置検出処理部40はステップSA12(図9参照)を介して座標検出ルーチンを実行し、ステップSE1に処理を進める。ステップSE1では、レジスタX,YおよびレジスタSをそれぞれゼロリセットして初期化する。なお、レジスタSには、クロマキー像を形成するブロック個数を累算した面積が格納される。
【0062】
次いで、ステップSE2に進むと、処理部40は、処理画面エリアE2からレジスタX,Yの値に応じて対応するブロック属性を読み出し、ステップSE3に処理を進める。ステップSE3,SE4では、現在のレジスタX,Yの値が、検出枠座標(x1,y1),(x2,y2)によって指定される検出枠内にあるか否かを判断する。ここで、現在のレジスタX,Yの値が検出枠内になければ、ステップSE3,SE4の判断結果は「NO」となり、後述するステップSE6へ進む。一方、レジスタX,Yの値が検出枠内にある時には、ステップSE3,SE4の判断がいずれも「YES」となり、ステップSE5に処理を進める。
【0063】
ステップSE5では、上記ステップSE2において読み出されたブロック属性が「1」、すなわち、クロマキー像であるか否かを判断する。ここで、ブロック属性が「1」でない場合には、判断結果が「NO」となり、ステップSE6に進む。ステップSE6では、レジスタXの値を1インクリメントして歩進させる。そして、ステップSE7に進むと、歩進されたレジスタXの値が「96」、つまり、1水平(走査)ライン分のブロック属性を読み出したか否かを判断する。ここで、1水平ライン分の読み出しが完了していない場合には、判断結果が「NO」となり、再び上記ステップSE2へ処理を戻す。
【0064】
そして、例えば、いま、読み出したブロック属性が「1」であると、ステップSE5の判断結果が「YES」となり、ステップSE8に処理を進める。ステップSE8では、レジスタXの値がレジスタX’の値より大であるか否かを判断する。レジスタX’には、前回検出したX座標がセットされており、この先の座標値と今回の座標値との比較結果に応じて右端/左端座標を更新するようにしている。つまり、ここでの判断結果が「NO」になると、ステップSE9に進み、レジスタXの値を左端座標エリアE5(図8参照)にストアしてクロマキー像の左端座標を更新する。一方、ステップSE8の判断結果が「YES」になると、ステップSE10に進み、レジスタXの値を右端座標エリアE6(図8参照)にストアしてクロマキー像の右端座標を更新する。
【0065】
次いで、ステップSE11に進むと、処理部40は、レジスタYの値がレジスタY’の値より大であるか否かを判断する。ここで、レジスタY’は、上記レジスタX’と同様、前回検出したY座標がセットされており、この先の座標値と今回の座標値との比較結果に応じて上端/下端座標を更新するようにしている。つまり、判断結果が「NO」になると、ステップSE12に進み、レジスタYの値を上端座標エリアE3(図8参照)にストアしてクロマキー像の上端座標を更新する。一方、ステップSE11の判断結果が「YES」になると、ステップSE13に進み、レジスタYの値を下端座標エリアE4(図8参照)にストアしてクロマキー像の下端座標を更新する。
【0066】
そして、この後、ステップSE14に進むと、処理部40はレジスタSの値を1インクリメントし、面積を1ブロック分加算する。続いて、ステップSE15に進むと、レジスタX,Yに格納されている現在の座標値を、それぞれレジスタX’,Y’にセットし直し前回の座標値とする。
こうして上記ステップSE2〜SE15の処理が1水平ライン分なされると、上述したステップSE7の判断結果が「YES」となり、ステップSE16に進み、レジスタXの値をゼロリセットすると共に、レジスタYの値を1歩進させる。次いで、ステップSE17に進むと、レジスタYの値が「96」、つまり、1フレーム分の座標検出がなされたか否かを判断する。そして、1フレーム分の座標検出が完了していない場合には、前述したステップSE2以降が繰り返される。一方、完了した時には、このルーチンから前述したメインルーチン(図9参照)へ処理を戻す。
【0067】
▲6▼重心計算ルーチンの動作
上記座標検出ルーチンによって、クロマキー像の左端/右端座標および上端/下端座標が検出されると、位置検出処理部40は前述したステップSA13(図9参照)を介して図14に示す重心計算ルーチンを実行し、ステップSF1に処理を進める。まず、ステップSF1では、レジスタXG,YGをゼロリセットする。レジスタXG,YGは、それぞれクロマキー検出されたブロックに基づいて算出されるクロマキー像の重心座標が格納されるものである。次に、ステップSF2に進むと、レジスタX,Yを初期化し、続いて、ステップSF3では、処理画面エリアE2からレジスタX,Yの値に対応するブロック属性を読み出す。
【0068】
次に、ステップSF4,SF5では、現在のレジスタX,Yの値が、前述した検出枠座標(x1,y1),(x2,y2)によって指定される検出枠内にあるか否かを判断する。ここで、現在のレジスタX,Yの値が検出枠内になければ、ステップSF4,SF5の判断結果は「NO」となり、後述するステップSF7へ進む。一方、レジスタX,Yの値が検出枠内にある時には、ステップSF4,SF5の判断がいずれも「YES」となり、ステップSF6に処理を進める。ステップSF6に進むと、処理部40は、この読み出したブロック属性が「1」、すなわち、クロマキー像であるか否かを判断する。ここで、ブロック属性が「1」でない場合には、判断結果が「NO」となり、ステップSF7に進む。ステップSF7では、レジスタXの値を1インクリメントして歩進させる。そして、ステップSF8に進むと、レジスタXの値が「96」、つまり、1水平(走査)ライン分のブロック属性を読み出したか否かを判断する。ここで、1水平ライン分の読み出しが完了していない場合には、判断結果が「NO」となり、再び上記ステップSF3に処理を戻す。
【0069】
そして、例えば、次に読み出したブロック属性が「1」であるとする。そうすると、ステップSF6の判断結果が「YES」となり、処理部40はステップSF9に処理を進める。ステップSF9では、クロマキー検出されたブロックを質点と見做し、このブロックの座標(X,Y)と面積Sとの比を順次累算する重心計算を行う。なお、この面積Sは上述した座標検出ルーチンにおいてレジスタSに格納されるものである。次いで、ステップSF10に進むと、上記ステップSF9の重心計算結果に応じて重心座標を更新し、続いて、ステップSF7においてレジスタXの値を歩進させる。
【0070】
ここで、1水平ライン分の読み出しが完了したとすると、ステップSF8の判断結果が「YES」となり、ステップSF11に進み、レジスタXの値をゼロリセットすると共に、レジスタYの値を1歩進させる。次いで、ステップSF12に進むと、レジスタYの値が「96」、つまり、1フレーム分の重心計算がなされたか否かを判断する。そして、1フレーム分の重心計算が完了していない場合には、判断結果が「NO」となり、前述したステップSF3以降の処理を繰り返す。一方、1フレーム分の重心計算が完了した時には、判断結果が「YES」となり、このルーチンを終了してメインルーチン(図9参照)に復帰する。
【0071】
以上のように、位置検出処理部40においては、ビデオ信号処理部20から供給されるクロマキー検出信号CROに基づいて1フレーム毎に処理画面マップを作成する。そして、この処理画面マップ上でCPU51が指定する検出枠内から読み出したブロック属性に従ってクロマキー像とバックグラウンド画像BGとの衝突座標位置や、当該クロマキー像の左端/右端座標および上端/下端座標を求めると共に、その面積と重心位置とを算出するようにしている。
【0072】
ここで、図15〜図16を参照し、上述した位置検出処理部40の動作を具体的に説明する。まず、例えば、図15に示す「アイコン」BE1が検出枠として指定されている状態では、遊戯者Pの両手足に装着されるグローブGおよびブーツBがその検出枠内の存在しないため、このグローブGあるいはブーツBに対応するクロマキー像は検出されない。したがって、「アイコン」BE1を形成するバックグラウンド画像BGとクロマキー像との衝突も生ぜず、当該「アイコン」BE1がポインティング操作されないことになる。
【0073】
そして、遊戯者Pの身振りに応じて右手側のグローブGが検出枠とされている「アイコン」BE1の領域に入ったとする。そうすると、図16に示すように、このグローブGに対応するクロマキー像と「アイコン」BE1を形成するバックグラウンド画像BGとの衝突座標位置や、当該クロマキー像の左端/右端座標および上端/下端座標が求められ、かつ、その面積と重心位置とが算出される。
しかして、位置検出処理部40の動作によれば、各検出枠における衝突位置等の検出を時分割に行うから、複数のクロマキー像によるポインティング操作が極めて容易に実現し得る訳である。なお、こうして得られる各検出枠毎のクロマキー像の重心位置は、後述する楽音制御パラメータとして扱われる。
【0074】
(2)制御部50(CPU51)の動作
次に、上述した位置検出処理部40から供給される各種データに基づいて画像制御および楽音制御を指示するCPU51の動作について図17〜図18を参照して説明する。以下では、CPU51の概略動作としてCPUメインルーチンについて説明した後、CPU51において実行される衝突割込み処理ルーチンについて順次説明する。
▲1▼メインルーチンの動作
まず、装置本体2に電源が投入されると、CPU51はROM53に記憶されたオペレーションシステムプログラムを読み出してロードした後、ゲームカートリッジ55に内蔵されるROM55aからアプリケーションプログラムを読み出し、RAM52に展開する。これにより、図17に示すCPUメインルーチンが起動され、CPU51の処理はステップSG1に進む。
【0075】
ステップSG1では、RAM52に確保される各種レジスタを初期化すると共に、VDP31および位置検出処理部40へイニシャライズを指定する制御信号SCを供給する。次いで、ステップSG2に進むと、各部へ割込み許可を与える制御信号SCを供給する一方、自身の割込みマスクを解除した後、CPU51内部に設けられる監視タイマWTをスタートさせる。なお、監視タイマWTとは、動作タイミングを規定するシステムクロックを計時するものであり、そのタイマ値に応じて装置各部の動作がCPU51によって制御されるようになっている。
【0076】
次に、CPU51は、ステップSG3〜ステップSG4を介してディスプレイ3にオブジェクト画像BGを表示する。すなわち、ステップSG3に進むと、CPU51は、ROM55a(図3参照)に格納されるバックグラウンド画像データDBGをVDP31へDMA転送するため、DMAコントローラに転送先アドレスおよび転送元アドレスをセットする。次いで、ステップSG4では、当該DMAコントローラに対してDMA転送を指示する。転送命令を受けたDMAコントローラは、転送セットされた転送元アドレスに従ってROM55aからバックグラウンド画像データDBGを読み出し、これをVDP31(VRAM32)へDMA転送する。これにより、ディスプレイ3(図1参照)には、各リズム楽器の形状を模した「アイコン」BE1〜BE6が表示される。
【0077】
次に、ステップSG5に進むと、CPU51はDMA転送が完了する迄待機する。そして、DMAコントローラ側から転送完了の旨を表わす信号を受領した時、このステップSG5における判断結果が「YES」となり、次のステップSG6へ処理を進める。ステップSG6では、レジスタnに格納される検出枠番号を「1」にセットする。この検出枠番号とは、「アイコン」BE1〜BE6に対応する値であり、各検出枠番号には前述した検出枠座標(x1,y1),(x2,y2)がそれぞれ対応付けられている。次いで、ステップSG7に進むと、CPU51は、レジスタnに格納される検出枠番号に対応する検出枠座標(x1,y1),(x2,y2)を読み出し、これを転送バッファエリアにセットする。
【0078】
ステップSG8では、位置検出処理部40からの転送要求があるか否かを判断する。ここで、処理部40から転送要求が来ない場合には、判断結果が「NO」となり、上記ステップSG7へ処理を戻し、転送要求待ちとなる。一方、処理部40から転送要求を受けると、判断結果が「YES」となり、次のステップSG9へ処理を進める。ステップSG9に進むと、CPU51は転送バッファエリアにセットした検出枠座標(x1,y1),(x2,y2)を処理部40のワークエリアに転送する。これにより、位置検出処理部40側は、CPU51によって指定される検出枠に従って前述した衝突位置検出等を行う。
【0079】
次に、ステップSG10に進むと、上述した監視タイマWTを遅延させる。遅延タイマWTを遅延させることにより、CPU51は先に転送した検出枠座標(x1,y1),(x2,y2)に基づく位置検出処理部40側の処理が完了するまで待機することになる。そして、位置検出処理部40側の処理が完了すると、再び遅延タイマWTを計時させる一方、ステップSG11に進み、レジスタnの値を1インクリメントし、検出枠番号を歩進させる。続いて、ステップSG12に進むと、レジスタnに格納される検出枠番号が「7」、すなわち、「アイコン」BE1〜BE6に対応する全検出枠に関する処理が完了したか否かを判断する。ここで、完了していない場合には、判断結果が「NO」となり、上述したステップSG7〜SG11を繰り返す。一方、全検出枠に関する処理が完了した時には、判断結果が「YES」となり、次のステップSG13に進む。ステップSG13では、レジスタnに格納される検出枠番号を「1」にリセットし、再びステップSG7以降を繰り返す。
【0080】
このように、CPUメインルーチンでは、電源投入後のイニシャライズを経て、ROM55aから「アイコン」BE1〜BE6を形成するバックグラウンド画像データDBGをDMA転送し、この後、位置検出処理部40の処理に同期して1フレーム毎に検出枠座標(x1,y1),(x2,y2)を指定する。この結果、位置検出処理部40は、各「アイコン」BE1〜BE6に対応する検出枠を時分割に衝突位置検出等の処理を実行することが可能になっている。
【0081】
▲2▼衝突割込み処理ルーチンの動作
次に、図18を参照し、CPU51において実行される衝突割込み処理ルーチンの動作について説明する。
前述したように、位置検出処理部40では、衝突座標検出処理ルーチン(図12参照)の動作に基づき、指定された検出枠内においてクロマキー像とバックグラウンド像との衝突の有無を検出しており、衝突を検出した場合に衝突フラグCFを「1」に設定している。そして、CPU51では、この衝突フラグCFが「1」となった時点で、その指定された検出枠に対応する「アイコン」がクロマキー像によってポインティング操作されたと見做して図18に示す衝突割込み処理ルーチンを実行し、ステップSH1へ処理を進める。
【0082】
まず、ステップSH1では、衝突検出がなされた検出枠に対応するバックグラウンド画像BGの重心位置(XG1,YG1)をROM55bから読み込む。例えば、いま、「アイコン」BE1に対応する検出枠において、クロマキー像とバックグラウンド画像BGとの衝突が検出されたとすると、「アイコン」BE1である「シンバル」像を形成するバックグラウンド画像BGの重心位置(XG1,YG1)をROM55bから読み込む。なお、各「アイコン」BE1〜BE6に各々対応する重心位置は、予めバックグラウンド画像データDBGに対応してROM55bに記憶されているものとする。次に、ステップSH2に進むと、CPU51はバックグラウンド画像BGと衝突したクロマキー像の重心座標(XG2,YG2)を、位置検出処理部40におけるワークRAMの記憶エリアE9(図8参照)から読み込む。なお、当該記憶エリアE9には、前述した重心計算処理ルーチンによって算出されたクロマキー像の重心座標が書き込まれている。
【0083】
そして、ステップSH3に進むと、バックグラウンド画像BGの重心位置(XG1,YG1)とクロマキー像の重心座標(XG2,YG2)との間の離間距離Gを算出し、次のステップSH4へ処理を進める。ステップSH4では、現在指定している検出枠、すなわち、レジスタnに格納される検出枠番号に対応して割り付けられる音色データを読み出す。ここで、例えば、現在指定されている検出枠が「1」であるとすると、当該検出枠に相当する「アイコン」BE1の楽器形状に合わせて、「シンバル」の音色を指定する音色データが読み出される。次いで、ステップSH5では、上記ステップSH3にて算出された離間距離Gに対応するベロシティデータを作成し、続いて、ステップSH6では、楽音発生を指示するキーオン信号を発生すると共に、上記音色データ、ベロシティデータおよびキーオン信号を第1音源回路55bへ送出する。
【0084】
これにより、第1音源回路55bは、CPU51から送出される音色データ、ベロシティデータおよびキーオン信号に基づき「リズム音」を楽音合成してサウンドシステム57へ供給する。この結果、上記例のように、「アイコン」BE1がポインティング操作された場合には、ベロシティデータに応じた音量で「シンバル音」が発音される。つまり、離間距離Gが短い程、音量が大きくなるよう音量制御される。
【0085】
このように、上記実施例によれば、遊戯者Pの両手両足に装着されるグローブGあるいはブーツBによって、「アイコン」BE1〜BE6のいずれかをポインティング操作すると、これら「アイコン」BE1〜BE6に対応する各検出枠が時分割でクロマキー入力処理の対象となるから、処理画面に複数のクロマキー像が存在する場合でも容易にポインティング操作することが可能になる。そして、この実施例では、グローブGあるいはブーツBによってポインティングされた「アイコン」に割り当てられたリズム楽器音が、ポインティングの仕方に応じて音量制御されるようになっている。これにより、例えば、従来の演奏態様とは異なり、ダンスなどの身振りでリズム演奏することも可能になる。
【0086】
なお、上述した実施例にあっては、1フレーム毎に生成される処理画面マップにおいて指定された検出枠内でクロマキー像とバックグラウンド画像BGとの衝突位置等を検出するようにしている。すなわち、フレーム更新に合わせて検出枠位置も更新することによって、複数のクロマキー像を時分割に検出する態様としているが、これに替えて、1フレーム当りに生成される処理画面マップ上で、例えば、図19に図示するように、検出枠の位置およびサイズを時分割に変化させて、複数のクロマキー像を検出する態様としても良い。こうした場合においても、複数のクロマキー像によるポインティング操作が容易に実現し得る。
【0087】
【発明の効果】
以上説明したように、本発明によれば、予め複数種の楽音信号を記憶するとともに、検出領域とこの記憶されている楽音信号の音色を指定する情報とを夫々対応付けて記憶しておき、表示画面上に表示される複数の背景画像の表示領域の各々に対応させて複数の検出領域を割り当て、これらの複数の検出領域の何れかと撮像画像から抽出した特定色領域とが重なった時に、この重なった検出領域に基づいて音色を指定する情報を選択し、更に重なった検出領域の重心位置と抽出された特定色領域の重心位置との離間距離に基づいて、選択された音色を指定する情報の出力音量を指定する情報を生成する。そして、これらの情報に従って対応する楽音信号を読み出して出力する。これにより、例えば身振りを撮影することにより演奏制御を行うような場合であっても、特定色領域との位置関係に関わる処理速度の遅延などの障害を起こすことなく、極めて容易に特定色領域検出によるポインティング操作を実現し得る。
【図面の簡単な説明】
【図1】本発明の一実施例による画像制御装置の全体構成を示す外観図である。
【図2】同実施例の概要を説明するための図である。
【図3】同実施例による画像制御装置の電気的構成を示すブロック図である。
【図4】同実施例における撮像信号処理部11の構成を示すブロック図である。
【図5】同実施例におけるビデオ信号処理部20の構成を示すブロック図である。
【図6】同実施例におけるクロマキー信号発生回路20fの構成を示すブロック図である。
【図7】同実施例におけるVDP31の構成を示すブロック図である。
【図8】同実施例における位置検出処理部40のワークRAMの内容を説明するためのメモリマップである。
【図9】位置検出処理部40におけるメインルーチンの動作を示すフローチャートである。
【図10】位置検出処理部40における初期画面マップ作成ルーチンの動作を示すフローチャートである。
【図11】位置検出処理部40における処理画面マップ作成ルーチンの動作を示すフローチャートである。
【図12】位置検出処理部40における衝突座標検出処理ルーチンの動作を示すフローチャートである。
【図13】位置検出処理部40における座標検出処理ルーチンの動作を示すフローチャートである。
【図14】位置検出処理部40における重心計算処理ルーチンの動作を示すフローチャートである。
【図15】位置検出処理部40の動作例を示す図である。
【図16】位置検出処理部40の動作例を示す図である。
【図17】CPU51におけるCPUメインルーチンの動作を示すフローチャートである。
【図18】CPU51における衝突割込み処理メインルーチンの動作を示すフローチャートである。
【図19】処理画面マップ上において複数のクロマキー像を時分割に検出する際の一態様を説明するための図である。
【符号の説明】
1 撮像部
2 装置本体
3 ディスプレイ
20 ビデオ信号処理部(画像表示手段)
30 画像処理部(画像表示手段)
40 位置検出処理部(動作指示手段)
50 制御部
51 CPU(検出枠指定手段、動作指示手段)
[0001]
[Industrial application fields]
The present invention is an image control device suitable for use in, for example, a video game that creates virtual reality (virtual reality). And image control method About.
[0002]
[Prior art]
Conventionally, various image control apparatuses that perform moving image control of object images or generate sound effects in accordance with operation of an operation pad or the like have been put into practical use. The object image referred to here indicates a “character” displayed on the game screen, and is moved and displayed on a background screen as a background. This type of device is called a video game or a TV game, and a shooting game that asks a player's reflexes, a game that simulates virtual reality, and the like are known.
[0003]
Such a video game includes an image processing unit that generates a video signal corresponding to the game operation, and a display that displays a video signal supplied from the image processing unit. The image processing unit includes a CPU, a ROM, a RAM, and the like. For example, the image processing unit sequentially reads out image information and control information stored in the ROM pack, displays a background image as a screen background on the display, and responds to a game operation. The corresponding character (object image) is displayed as a moving image on the screen background, and a sound effect corresponding to the movement is generated.
[0004]
[Problems to be solved by the invention]
As described above, in the conventional image control device, a mode in which the display of the object image is controlled according to the operation of the operation pad is common, and this is not suitable for a game that simulates virtual reality. Many. In other words, in order to pursue virtual reality, it is necessary to perform image control in a form that is in line with actual actions (acts). For example, in a simulation game in which a scene in which a pitcher throws a ball is displayed on the screen, and a player performs a batting operation based on this display screen, `` bat '' becomes an operator instead of the operation pad, and this `` bat '' The image is controlled in accordance with the position or movement.
[0005]
When such image control is performed, a technique for detecting the position and movement of the operation element by a known chroma key detection process is employed. In this case, the chroma key detection process in this case is to color the “bat (operator)” with a specific color in advance and extract the chroma key image of the specific color from the image of the player, It detects the position and movement of the operation element held by the player from the screen.
[0006]
By the way, it is conceivable to perform a chroma key input process in which an “icon” set in the display screen using this chroma key detection process is pointed by a chroma key image and information assigned to the “icon” is captured. For example, an “icon” for designating an operation mode is assigned to a predetermined area of the display screen, and processing such as changing to a corresponding operation mode when it is recognized that a chroma key image is positioned on the “icon” is realized. .
[0007]
In such chroma key input processing, when performing a pointing operation using a plurality of chroma key images, the position or movement on the screen is detected for each chroma key image, and the chroma key that actually points to the “icon” based on the detection result. The presence or absence of an image is determined. This complicates the entire processing related to image control and increases memory consumption, which causes adverse effects such as a complicated apparatus configuration and a processing speed delay. In other words, the conventional image control apparatus has a drawback that a pointing operation using a plurality of chroma key images cannot be realized.
[0008]
Therefore, the present invention has been made in view of the above-described circumstances, Easily detect multiple controls and use these controls An object of the present invention is to provide an image control apparatus and an image control method capable of realizing a pointing operation.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, according to the first aspect of the present invention, an extracting means for extracting a specific color region from a captured image, an image generating means for generating a plurality of background images displayed on a display screen, and the image An assigning means for assigning a detection area corresponding to each of the display areas of the plurality of background images displayed on the display screen by the generating means, a tone signal storage means for storing a plurality of types of tone signals, and the detection area Storage means for storing information specifying the tone color of the musical tone signal stored in the musical tone signal storage means in association with each other, one of the plurality of detection areas assigned by the assigning means, and the extraction means extracted by the extraction means When a specific color area overlaps, information for designating a timbre is selected from information for designating a plurality of types of timbres stored in the storage means based on the overlapped detection area And selection means that, The separation distance between the centroid position of the overlapped detection area and the centroid position of the extracted specific color area Based on the generating means for generating the information for specifying the output volume of the information for specifying the timbre selected by the selecting means, the information for specifying the timbre selected by the selecting means, and the generating means Output means for reading out and outputting a corresponding musical sound signal from the musical sound signal storage means in accordance with information for designating an output volume.
[0010]
In the invention according to claim 2, the extraction step of extracting a specific color region from the captured image, the image generation step of generating a plurality of background images displayed on a display screen, and the image generation step An allocation step of allocating a detection area corresponding to each of the display areas of the plurality of background images displayed on the display screen, and one of the plurality of detection areas allocated in the allocation step and the extraction step are extracted. When the specific color area overlaps, information for designating the corresponding tone color from the first memory in which the detection area and information for designating the tone color of the tone signal are stored in advance in association with each other based on the overlapped detection area A selection step to select, The separation distance between the centroid position of the overlapped detection area and the centroid position of the extracted specific color area Based on the generation step for generating information for specifying the output volume of the information for specifying the timbre selected in the selection step, the information for specifying the timbre selected in the selection step, and the generation step And an output step of reading out and outputting a corresponding musical tone signal from a second memory that stores a plurality of types of musical tone signals in advance according to the generated information for designating the output volume.
[0014]
[Action]
In the present invention, a plurality of types of musical tone signals are stored in advance, and a detection area and information for designating the tone color of the stored musical tone signals are stored in association with each other, and a plurality of musical tone signals displayed on the display screen are stored. A plurality of detection areas are assigned corresponding to each of the display areas of the background image, and when any one of the plurality of detection areas overlaps with the specific color area extracted from the captured image, based on the overlapped detection area Select the information that specifies the tone, and The distance between the center of gravity of the overlapped detection area and the center of gravity of the extracted specific color area Based on, information for designating the output volume of the information for designating the selected tone color is generated. And according to these information, the corresponding musical tone signal is read and output. This makes it possible to detect a specific color area very easily without causing a problem such as a delay in processing speed related to the positional relationship with the specific color area, even if performance control is performed by shooting gestures, for example. The pointing operation by can be realized.
[0015]
【Example】
Embodiments of the present invention will be described below with reference to the drawings.
A. Summary of Examples
FIG. 1 is an external view showing the overall configuration of an image control apparatus according to the present invention. The embodiment shown in this figure illustrates an example applied to a game in which musical tone control is performed according to the physical motion of the player P. In FIG. 1, reference numeral 1 denotes an imaging unit including a solid-state imaging device such as a CCD, and images a player P. Here, the player P wears gloves G and boots B colored in blue for detecting chroma keys on both hands and feet. Reference numeral 2 denotes an apparatus main body, which performs chroma key detection on the image pickup signal supplied from the image pickup unit 1 to determine the positions of the globe G and the boot B in the actual image. The real image here refers to an image captured by the imaging unit 1.
[0016]
Further, the apparatus main body 2 combines the background image BG serving as the background of the display screen and the actual image RI displayed on the background image BG, and displays the resultant on the display 3. As shown in FIG. 2A, the background image BG is an image displayed on both sides of the screen, and forms “icons” BE1 to BE6 that imitate the shapes of various rhythm instruments. Here, “icons” BE1 to BE6 respectively represent “cymbals”, “snare drum”, “bass drum”, “trumpet”, “cowbell” and “bongo”. In addition, the real image RI is an image of a player P having a glove G and a boot B on both hands and feet, respectively, as shown in FIG. The apparatus body 2 combines these images BG and RI to form a CG image shown in FIG.
Further, when the player P performs a pointing operation on one of the “icons” BE1 to BE6 with the glove G or the boot B, the device main body 2 performs a chroma key input process based on the operation described later, and points to the “icon” BE1. The rhythm musical instrument sound assigned to .about.BE6 is synthesized with a musical tone, whereby the rhythm performance according to the gesture of the player P is performed.
[0017]
B. Example configuration
Next, the electrical configuration of the imaging unit 1 and the apparatus main body 2 will be described with reference to FIG.
(1) Configuration of the imaging unit 1
The imaging part 1 is comprised from the components 10-13. Reference numeral 10 denotes an oscillation circuit, which is an 8 times oversampling signal 8f. SC Is generated and output. Reference numeral 11 denotes an imaging signal processing unit. The imaging signal processing unit 11 outputs an 8 times oversampling signal 8f. SC Is supplied to the clock driver 12 at the next stage, and the imaging signal SS output from the CCD 13 is sampled image data D S Convert to The clock driver 12 is supplied with an 8-times oversampling signal 8f supplied from the oscillation circuit 12. SC Based on the above, various timing signals such as a horizontal drive signal, a vertical drive signal, a horizontal / vertical synchronization signal, and a blanking signal are generated, while an imaging drive signal corresponding to the horizontal drive signal and the vertical drive signal is generated to generate a CCD 13 To supply. The CCD 13 images an object according to the imaging drive signal and generates an imaging signal SS.
[0018]
Here, a schematic configuration of the imaging signal processing unit 11 will be described with reference to FIG. In FIG. 4, reference numeral 11a denotes a sampling circuit, which is a 4-times oversampling signal 4f supplied from the clock driver 12 described above. SC In response, the imaging signal SS is sampled and held and output to the next stage. Reference numeral 11b denotes an AGC (automatic gain control) circuit that converts the sampled imaging signal SS to a predetermined level and outputs it. Reference numeral 11c denotes a γ correction circuit that corrects and outputs the gamma characteristic of the imaging signal SS to γ = 1 / 2.2. 11d represents the gamma-corrected imaging signal SS as 8-bit sampling image data D S This is an A / D conversion circuit that converts the data into an output. Sampling image data D S Is supplied to a video signal processing unit 20 described later. 11e is a composite video signal D supplied from the video signal processing unit 20 CV Is converted to an analog video signal SV and output to the display 3 described above.
[0019]
(2) Configuration of the apparatus body 2
Next, the configuration of the apparatus main body 2 will be described with reference to FIGS. The apparatus main body 2 includes a video signal processing unit 20, an image processing unit 30, a position detection processing unit 40, and a control unit 50, which will be described in detail below.
(1) Configuration of the video signal processing unit 20
The video signal processing unit 20 performs color difference conversion processing and chroma key detection processing on the sampled image data DS supplied from the imaging unit 1 and supplies the result to a position detection processing unit 40 described later. The processing unit 20 also receives image processing data D supplied from an image processing unit 30 described later. SP Composite video signal D CV And supplied to the D / A conversion circuit 11e (see FIG. 4). The image processing data DS P Is the background image data D forming the “icons” BE1 to BE6 (see FIG. 2). BG (RGB signal).
[0020]
Here, the configuration of the video signal processing unit 20 that implements each of the above processes will be described with reference to FIG. In FIG. 5, reference numeral 20a denotes a color separation filter, which is sampled image data D S Are color-separated into a signal Ye (yellow), a signal Cy (cyan), and a signal G (green) and output to the next stage. A contour correction circuit 20b adjusts the image quality by performing luminance modulation before and after the changing point in the imaging signal SS. A white balance circuit 20c sets each signal Ye, Cy, G to a prescribed level and outputs it. Reference numeral 20d denotes a classification filter composed of a band-pass filter, which separates the signals Ye and Cy into a signal R (red) and a signal B (blue) and outputs them. A matrix circuit 20e converts signals R, G, and B representing the three primary colors into a luminance signal Y and color difference signals BY and RY each having an 8-bit length.
[0021]
Reference numeral 20f denotes a chroma key signal generation circuit which generates an “H” level chroma key detection signal CRO when the color difference signals BY and RY reach a predetermined level. That is, in this circuit 20f, as shown in FIG. 6, the maximum / minimum level BY of the color difference BY is shown. MAX , BY MIN And maximum / minimum level RY of color difference RY MAX , RY MIN And the color difference signals BY and RY fall within the color difference area E defined by these levels, the “H” level chroma key detection signal CRO indicating that a specific color has been detected is displayed. Output. In this embodiment, the region E is set to “blue”. Specifically, when the player C images the blue clove G or the boot B worn on both hands and feet, the “H” level chroma key detection signal. A CRO is generated.
[0022]
20 g is image processing data D supplied from the VDP 31 (described later). SP This is a matrix circuit for converting (RGB signal) into a luminance signal Y and color difference signals BY and RY. Reference numeral 20h denotes a selector, which selects either the output of the matrix circuit 20e or the output of the matrix circuit 20h according to the selection signal SL supplied from the position detection processing unit 40 and supplies it to the next stage. 20i is a modulator. The modulator 20i is a digital composite video signal D obtained by superimposing various synchronizing signals (horizontal / vertical synchronizing signal and blanking signal) on the luminance signal Y and color difference signals BY and RY supplied via the selector 20h. CV Is generated.
[0023]
According to the above configuration, the video signal processing unit 20 includes the sampling image data D supplied from the imaging unit 1. S Is subjected to chroma key detection for a specific color, and the result is supplied as a chroma key detection signal CRO to the image processing unit 30 (described later). The processing unit 20 also receives image processing data D input from the image processing unit 30 side. SP (RGB signal) or sampling image data D supplied from the imaging unit 1 S Is switched in accordance with the selection signal SL, whereby a composite video signal D obtained by synthesizing the background image BG and the actual image RI. CV Is generated. The selection signal SL is a signal supplied from a position detection processing unit 40 described later.
[0024]
(2) Configuration of the image processing unit 30
Next, the configuration of the image processing unit 30 will be described. The image processing unit 30 includes a video data processor (hereinafter abbreviated as VDP) 31 and a VRAM 32. The basic function of the VDP 31 is the background image data D stored in the VRAM 32. BG Is read in response to a control signal SC supplied from the control unit 50 (described later), and this is read out as image processing data D representing the dot display color for each scanning line. SP There is to convert to. Hereinafter, with reference to FIG. 7, each part which comprises the image process part 30 is explained in full detail.
[0025]
In the figure, reference numeral 31a denotes a CPU interface circuit, which gives various control instructions to the constituent elements 31b to 31d in accordance with a control signal SC supplied via a bus of a control unit 50 (CPU 51) described later. The control signal SC includes various commands for controlling the display of the background image BG, and background image data D transferred to the VRAM 32 by DMA. BG Formed from. Reference numeral 31b denotes a VRAM control circuit which exchanges data with the VRAM 32 in response to control signals supplied from the components 31a, 31c and 31d.
[0026]
That is, when a control signal SC for DMA transfer is received from the CPU interface circuit 31a, background image data D DMA-transferred through the circuit 31a. BG Are stored in a predetermined storage area. Also, the background image data D is sent from the background control circuit 31c. BG When the instruction to read is received, the corresponding data D BG Is returned to the circuit 31c side. Similarly, the object image data D is sent from the object control circuit 31d. OB When the instruction to read is received, the corresponding data D OB Is returned to the circuit 31d side. Object image data D OB Is data that forms an image that is moved and displayed on the background image BG. In this embodiment, the main operation is to display only the background screen BG, but the VDP 31 has a configuration that can also generate an object screen OBJ that moves on the background screen BG.
[0027]
The background control circuit 31c, based on the background display control command given from the control unit 50 side via the circuit 31a, reads the background image data D read via the VRAM control circuit 31b. BG After the display position is designated, the color difference data processing circuit 31e is supplied. The object control circuit 31d receives object table data T given from the control unit 50 side via the circuit 31a. OB Is written into the object table RAM 31f. This object table data T OB Is the object image data D on the display screen. OB This is coordinate data for designating the display position.
[0028]
In addition, the circuit 31d receives the object image data D read from the VRAM 32 in response to the object display control command. OB In contrast, the object table data T OB The display position is obtained by referring to the object image data D for one scanning line. OB Is temporarily stored in the line buffer RAM 31g. Object image data D temporarily stored in the line buffer RAM 31g OB Is updated every scan. Object image data D read from the RAM 31g OB Is supplied to the color difference data processing circuit 31e.
[0029]
The color difference data processing circuit 31e is an 8-bit image data D supplied from the background control circuit 31c and the object control circuit 31d. BG , D OB Image processing data D formed from R, G and B signals each having a 4-bit length with reference to a known color look-up table RAM 31h. SP Convert to and output. Further, the circuit 31e is connected to the image processing data D SP A signal YSBG and a signal YSOBJ are generated with reference to (RGB signal). The signal YSBG and the signal YSOBJ are the currently output image processing data D. SP Is background image data D BG Or object image data D OB Is a signal indicating whether or not it corresponds to. For example, currently output image processing data D SP Is background image data D BG , The signal YSBG becomes “H (high)” and the signal YSOBJ becomes “L (low)”. On the other hand, on the contrary, the image processing data D SP Is object image data D OB , The signal YSBG becomes “L” and the signal YSOBJ becomes “H”.
[0030]
As described above, in the VDP 31, the background image data D DMA-transferred from the control unit 50 side. BG (Object image data D OB ) Is stored in the VRAM 32, and the image data D is transferred from the VRAM 32 in response to a control signal SC (various display control commands) supplied from the CPU 51. BG (Image data D OB ) And image processing data D representing the dot display color for each scanning line SP And the image processing data D SP Signals YSBG and YSOBJ representing the attributes of are output.
[0031]
(3) Configuration of the position detection processing unit 40
The position detection processing unit 40 includes a gate array formed by arranging a plurality of logic elements, a line buffer, and a work RAM. Under the instruction of the control unit 50 described later, sampling image data D S Chroma key image contained in the background image data D BG A logical operation is performed on the position of the collision coordinates with the background image BG formed by the above, the position of the center of gravity of these images, and the like based on a predetermined logic. The line buffer (not shown) temporarily stores the chroma key detection signal CRO supplied from the video signal processing unit 20. In the work RAM, various calculation results logically calculated by the gate array are temporarily stored.
[0032]
The position detection processing unit 40 generates the selection signal SL described above based on the signal YSBG supplied from the VDP 31 described above and supplies it to the video signal processing unit 20 to obtain the sampling image data D S (Actual image) and image processing data D SP The degree of overlap with (background image BG), that is, the priority order of images displayed on the screen is controlled. Further, the processing unit 40 transmits the register control signal S to the above-described imaging signal processing unit 11, video signal processing unit 20, and VDP 31, respectively, under the instruction of the control unit 50. REG And control data set / reset of each register
.
[0033]
Next, a work RAM in which various calculation results in the position detection processing unit 40 are stored will be described with reference to FIG. In this figure, E1 is an initial screen area which temporarily stores data of an initial screen formed from 96 dots in the horizontal direction (scanning line) and 96 lines in the vertical direction. The data of the initial screen refers to a chroma key detection result existing in a scene imaged prior to the start of the game. If an object of a chroma key detection color (for example, blue) is present in the scene, there is a possibility that it may be mistaken for a part of the above-described glove G or boot B (see FIG. 1). Therefore, the data temporarily stored in the initial screen area E1 is used when setting the dot position as a dead zone so that the dot position detected by the chroma key is not mistaken for the glove G or the boot B.
[0034]
E2 is a processing screen area formed by 96 dots in the horizontal direction and 96 lines in the vertical direction, and a chroma key image (image of the glove G or boot B) detected in the actual image is updated and stored for each frame. E3 to E4 are an upper end coordinate area and a lower end coordinate area for temporarily storing the upper end / lower end positions of the chroma key image detected in the detection frame instructed by the CPU 51. The detection frame refers to a rectangular area defined on the processing screen area, and is an area corresponding to each of the “icons” BE1 to BE6 described above. Further, the frame positions of the detection frames change so as to correspond to the “icons” BE1 to BE6 for each frame.
[0035]
E5 to E6 are a left end coordinate area and a right end coordinate area for temporarily storing the left end / right end positions of the chroma key image detected in the detection frame updated for each frame. E7 is the first collision coordinate area. The first collision coordinate area E1 expresses, as coordinates on the processing screen, the intersection point in the scanning line where the overlap (collision) between the chroma key image and the background image BG in the detection frame is first detected. is there. The second collision coordinate area E8 expresses, as coordinates on the processing screen, the intersection in the scanning line where the overlap (collision) between the chroma key image and the background image BG is detected last.
[0036]
E9 is a barycentric coordinate area, and the barycentric position calculated based on the area of the chroma key image is stored as the coordinate position on the processing screen. E10 is an area area in which the area of the chroma key image is stored. The area set in the area area E10 is represented by the number of blocks. The block here refers to a 12-dot area consisting of 6 dots in the horizontal direction and 2 lines in the vertical direction on the processing screen. When a chroma key detection of “6 dots” or more is detected in a block formed from the 12-dot region, the block is regarded as an area of the chroma key image.
[0037]
(4) Configuration of control unit 50
Next, the configuration of the control unit 50 will be described with reference to FIG. 3 again. The control unit 50 is composed of components 51 to 57. The CPU 51 performs a key scan on various controls provided on the operation panel of the device main body 2 and controls each part of the device based on a control signal KS generated in response thereto. Details of the operation are as follows. It will be described later. The CPU 51 includes a well-known DMA controller, and various data (background image data D) necessary for the game operation. BG Etc.) is transferred to the above-described image processing unit 30 by DMA transfer. Further, the CPU 51 generates a control signal SC necessary for image control and gives an operation instruction to each processing unit. A RAM 52 temporarily stores various calculation results and flag values as a work area for the CPU 51. A ROM 53 stores an OS (operation system) program for managing the operation of the CPU 51. A system clock circuit 54 generates a system clock that defines the operation of the entire apparatus under the control of the CPU 51.
[0038]
A game cartridge 55 is detachably attached to the apparatus main body 2 and includes a ROM 55a and a first sound source circuit 55b. The ROM 55a stores application programs loaded on the CPU 51 and background image data D. BG Memorize etc. In this embodiment, as described above, a game program for synthesizing rhythm sounds according to the gesture of the player P is stored. Reference numeral 55b denotes a first sound source circuit, which synthesizes a rhythm sound corresponding to the game operation based on event data supplied from the CPU 51 via the position detection processing unit 40, and outputs this as a musical sound signal to the CPU 51. The event data referred to here is formed from timbre data for designating a rhythm sound, velocity data for designating the sound volume, and a key-on signal for instructing sound generation. A second tone generator circuit 56 synthesizes and outputs a predetermined melody sound based on performance information sequentially read from the internal ROM corresponding to the progress of the game. Reference numeral 57 denotes a sound system, which performs filtering such as noise removal on the musical tone signals supplied from the first tone generator circuit 55b and the second tone generator circuit 56, and then amplifies and outputs them.
[0039]
C. Operation of the embodiment
Next, the operation of the embodiment having the above configuration will be described. Here, first, the operation of the position detection processing unit 40 described above will be described, and then the operation of the control unit 50 (CPU 51) will be described.
(1) Operation of the position detection processing unit 40
Here, the operation of the position detection processing unit 40 configured by a gate array will be described with reference to FIGS. In the processing unit 40, under the instruction of the control unit 50, the sampling image data D S The chroma key image is detected based on the chroma key detection signal CRO supplied from the video signal processing unit 20, and the collision coordinate position of the detected chroma key image and the background image BG, the barycentric position of the chroma key image and its area are determined. calculate. Details of such operations will be described below.
[0040]
(1) Main routine operation
First, it is assumed that the apparatus main body 2 is turned on and a control signal SC indicating a system reset is supplied to the position detection processing unit 40 from the CPU 51 side. Then, the position detection processing unit 40 executes the main routine shown in FIG. 9 based on the control signal SC and advances the process to step SA1. In step SA1, while resetting its own internal register or initializing to set an initial value, a register control signal S for instructing the imaging signal processing unit 11, the video signal processing unit 20 and the VDP 31 to set a register, respectively. REG And proceeds to the next step SA2.
[0041]
In step SA2, it is determined whether or not an “initial screen map” has been created. Here, for example, when the “initial screen map” is not created, the determination result is “NO”, and the process proceeds to the next step SA3. The “initial screen map” is an object of the same color as the glove G and boot B (see FIG. 1) (blue in this embodiment) in the real screen RI captured by the imaging unit 1 prior to the start of the game. It is for confirming whether or not exists. In step SA3, the chroma key detection results for a plurality of frames are overlapped and stored in the initial screen area E1 (see FIG. 12) of the work RAM, and the chroma key detection block existing in the initial screen is set to “dead zone”. Create an “initial screen map”.
[0042]
When the “initial screen map” is created in this way, the position detection processing unit 40 proceeds to the next step SA4. When the “initial screen map” is prepared in advance, the determination result in step SA2 is “YES”, and the process proceeds to step SA4. In step SA4, the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) From the work area. The detection frame coordinates are transferred from the CPU 51 to the work area and represent an area where chroma key detection is performed on the processing screen (described later). Coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) Corresponds to a diagonal element that specifies the detection frame size. In step SA5, the values of the registers X and Y are reset to zero. In the registers X and Y, values corresponding to screen coordinates formed by 96 dots in the horizontal direction and 96 lines in the vertical direction are sequentially set according to the processing contents.
[0043]
Next, when proceeding to step SA6, the position detection processing unit 40 performs chroma key detection for each block unit on the chroma key detection signal CRO temporarily stored in the line buffer. In block unit chroma key detection, the chroma key detection signal CRO read from the line buffer is divided into blocks consisting of 6 dots in the horizontal direction and 2 lines in the vertical direction, and the chroma key detection signal CRO of “H” level is “6 dots” per block. This process is to consider the attribute of the block as “with chroma key” when it exists. The result of such chroma key detection is stored as a block attribute in the processing screen area E2 (see FIG. 12) described above, and this becomes a “processing screen map”.
[0044]
Next, when the chroma key is detected for each block, the position detection processing unit 40 proceeds to the next step SA7, where the chroma key image of the glove G or boot B detected by the chroma key and the background image BG collide (overlap). If there is a collision, the collision coordinates are obtained. In step SA8, the processing unit 40 increments the value of the register X by 1. Subsequently, in step SA9, the value of the register X is “96”, that is, whether processing for one scanning line is completed. Determine whether. If the value of the register X does not reach “96”, the determination result is “NO”, and the above steps SA6 to SA8 are repeated until the processing for one scanning line is completed.
[0045]
On the other hand, when the processing for one scanning line is completed, the determination result here becomes “YES”, and the process proceeds to step SA10, the value of the register X is reset again to zero, and the value of the register Y is incremented by one to scan line. Update vertically. In step SA11, the processing unit 40 determines whether the value of the register Y is “96”. If the value of the register Y has not reached “96”, the determination result is “NO”, and the above-described steps SA6 to SA8 are repeated. When the scanning for one frame is completed, the determination result here is “YES”, and the process proceeds to step SA12.
[0046]
In step SA12, the left end / right end coordinates and the upper end / lower end coordinates of the chroma key image are calculated based on the blocks detected in the chroma key in step SA6, and are stored in the storage areas E3 to E6 (see FIG. 8) of the work RAM. On the other hand, the area of the chroma key image is obtained from the number of blocks detected for chroma key. The storage areas E3 to E4 each temporarily store the upper / lower end positions of the chroma key image within the detection frame that is updated for each frame, and the storage areas E5 to E6 are each detected for each frame. Temporarily store the left / right positions of the chroma key image within the frame. The area calculated from the number of blocks is stored in the storage area E10.
[0047]
When the chroma key image is detected from the detection frame designated by the CPU 51 in this way, the position detection processing unit 40 proceeds to step SA13 to obtain the center of gravity position of the chroma key image, and then in step SA14, the interrupt flag CF is set to “1”. If it is “1”, an interrupt signal is output to the CPU 51 (step SA15). Thereafter, the process proceeds to step SA16, and the collision flag CF is set to “0”. The collision flag CF is “1” when the chroma key image detected from the actual image RI and the background image BG collide, that is, overlap. After this step SA16, the position detection processing unit 40 returns the process to step SA4, repeats the above-described operation, and sets the correspondence between the chroma key image and the background image BG for each designated detection frame for each frame. Ask.
[0048]
(2) Operation of initial screen map creation routine
Next, the operation of the initial screen map creation routine will be described with reference to FIG. As described above, when the initial screen map has not been created, the position detection processing unit 40 executes the initial screen map creation routine shown in FIG. 10 via step SA3 and advances the process to step SB1. In step SB1, the sampling count n set in the internal register is read. The number of samplings n represents how many frames the chroma key detection signal CRO supplied from the imaging unit 1 is captured. Next, when the process proceeds to step SB2, the values of the registers X and Y are reset to zero, and the process proceeds to the next step SB3. In step SB3, among the chroma key detection signals CRO written in the line buffer, 6 dots in the X direction (horizontal direction) and 2 lines in the Y direction (vertical direction), that is, one block are read.
[0049]
Next, when the process proceeds to step SB4, it is determined whether or not a chroma key detection signal CRO of “H” level of “6 dots” or more exists in one read block. Here, if “6 dots” or more do not exist, the determination result is “NO” as “no chroma key”, and the process proceeds to step SB5. In step SB5, the block attribute is set to “0”, and the process proceeds to the next step SB7. On the other hand, if there are “6 dots” or more, “there is a chroma key”, the determination result is “YES”, and the flow proceeds to step SB6. In step SB6, the block attribute is set to “1”, and the process proceeds to the next step SB7. In step SB7, it is determined whether it is the first frame. Here, if it is the first sampled frame, the determination result is “YES”, and the process proceeds to step SB8.
[0050]
In step SB8, the position detection processing unit 40 stores the determined block attribute in the initial screen area E1 according to the values of the current registers X and Y. Then, the process proceeds to step SB9, where the value of the register X is incremented by 1, and the designated block number is incremented. Next, when proceeding to step SB10, it is determined whether or not the number of the designated block thus incremented is “96”, that is, whether or not one scanning (horizontal) line has been completed. If it is not completed, the determination result is “NO”, and the flow proceeds to step SB11. In step SB11, it is determined whether or not the value of the register Y is “96”, that is, one frame is completed. If the processing for one frame has not been completed, the determination result is “NO”, and the process returns to step SB3 described above. Thereby, Steps SB3 to SB6 are repeated, and the next block attribute is determined.
[0051]
For example, it is assumed that the block attribute determination for one scanning (horizontal) line is completed. Then, the determination result in step SB10 is “YES”, and the processing unit 40 advances the process to step SB13. In step SB13, the register X is reset to zero, while the value of the register Y is incremented by 1 to update the scanning line. Thereafter, block determination after step SB3 is made again through step SB11. Next, when the determination for the block attribute for one frame is completed, the determination result of step SB11 described above becomes “YES”, and the process proceeds to step SB12. In step SB12, it is determined whether the number of samplings n has reached the set number.
[0052]
If the set number has not been reached, the determination result is “NO”, and the process proceeds to step SB14. In step SB14, the sampling number n is incremented, and the above-described steps SB2 and subsequent steps are executed again. Thus, in the process of creating the first initial screen map and creating the second initial screen map, if the process proceeds to step SB7, the determination result here is “NO”, and the process proceeds to step SB15. In step SB15, the previously stored corresponding block attribute is read from the initial screen area E1 according to the values of the registers X and Y. In step SB16, the logical sum of the previous block attribute and the currently determined block attribute is obtained. In step SB8, the logical sum is stored in the initial screen area E1 as a new block attribute based on the values of the registers X and Y. When the logical sum for the predetermined frame is generated, the determination result in step SB12 is “YES”, the routine is terminated, and the processing of the position detection processing unit 40 returns to the main routine.
[0053]
(3) Processing screen map creation routine operation
When the initial screen map is created as described above, the position detection processing unit 40 executes the processing screen map creation routine shown in FIG. 11 via step SA6 and advances the process to step SC1. In step SC1, one block consisting of 6 dots in the X direction (horizontal direction) and 2 lines in the Y direction (vertical direction) is read from the chroma key detection signal CRO written in the line buffer. Next, in step SC2, it is determined whether or not a chroma key detection signal CRO of “H” level of “6 dots” or more exists in one read block. If “6 dots” or more do not exist, the determination result is “NO” as “no chroma key”, and the process proceeds to step SC3. In step SC3, the block attribute is set to “0” and the process proceeds to the next step SC4. In step SC4, the determined block attribute is stored in the processing screen area E2 (see FIG. 8) based on the values of the registers X and Y.
[0054]
On the other hand, when the determination result in step SC2 is “YES”, that is, when a chroma key detection signal CRO of “H” level of “6 dots” or more exists in one block, the processing unit 40 proceeds to step SC5. Proceed with the process. In step SC5, it is determined whether or not the reject switch SR is turned on. The reject switch SR is a switch disposed on the operation panel of the apparatus main body 2 and sets whether or not a “dead zone” is provided according to the switch operation. Here, when the switch SR is set to ON, the chroma key detection block stored in the initial screen map is regarded as a “dead zone”.
[0055]
That is, if the reject switch SR is set to ON in step SC5, the determination result is “YES”, and the flow proceeds to next step SC6. In step SC6, the corresponding block attribute is read from the initial screen area E1 according to the values of the registers X and Y. Next, in step SC7, it is determined whether or not the block attribute read from the initial screen area E1 is “1”. Here, when the block attribute is “1”, the determination result is “YES”, the process proceeds to the above-described step SC3, the block attribute is changed to “0”, and then this change is made via step SC4. The block attribute thus written is written in the processing screen area E2 in accordance with the values of the registers X and Y. As a result, the chroma key detection block stored in the initial screen map is set to the “dead zone”.
[0056]
If the reject switch SR is not turned on, that is, if the “dead zone” is not set, the determination result in step SC5 is “NO”, and the flow proceeds to step SC8. In step SC8, the attribute of the corresponding block is set to “1” based on the result determined in step SC2, and then the block attribute is set according to the values of the registers X and Y via step SC4. Write to the processing screen area E2.
[0057]
(4) Operation of collision coordinate detection routine
Next, the operation of the collision coordinate detection routine will be described with reference to FIG. As described above, when the “processing screen map” is created, the position detection processing unit 40 executes a collision coordinate detection routine via step SA7 (see FIG. 9). In this routine, the presence or absence of a collision between the chroma key image and the background image BG is detected. First, when the routine is executed, the processing unit 40 proceeds with the process to step SD1 to detect the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) Is read from the work area and set in the temporary register. Next, in step SD2, the processing unit 40 reads block attributes corresponding to the values of the registers X and Y from the processing screen area E2.
[0058]
Next, in steps SD3 and SD4, the block attribute read according to the values of the registers X and Y is detected frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 It is determined whether or not it is within the detection frame designated by (). Here, if the values of the registers X and Y are not within the detection frame, the determination result of steps SD3 and SD4 is “NO”. In this case, since it is not necessary to detect the presence or absence of a collision between the chroma key image and the background image BG, this routine is temporarily ended. On the other hand, when the values of the registers X and Y are within the detection frame, the determinations at steps SD3 and SD4 are both “YES”, and the process proceeds to step SD5. Then, when proceeding to step SD5, it is determined whether or not the block attribute read according to the values of the registers X and Y is “1”, ie, a chroma key image. Here, if the block attribute is not “1”, the determination result is “NO”, and this routine is temporarily terminated because a collision cannot occur.
[0059]
On the other hand, when the read block attribute is “1”, the determination result is “YES”, and the process proceeds to the next step SD6. In step SD6, the CG data written in the line buffer is read according to the values of the registers X and Y. The CG data here refers to the background image data D BG A signal YSBG indicating the presence or absence of. The signal YSBG is supplied from the VDP 31 (see FIG. 3) to the processing unit 40.
In step SD7, the processing unit 40 determines whether the read CG data (signal YSBG) is “1”. At this time, if the CG data is not “1”, the block corresponding to the values of the registers X and Y will not overlap with the background image BG. Exit.
[0060]
On the other hand, if the read CG data is “1”, the determination result in step SD7 is “YES”, and the process proceeds to step SD8. In step SD8, it is determined whether or not the collision flag CF is “0”. The collision flag CF is “1” when the chroma key image extracted from the actual image and the background image BG overlap. Here, when the flag CF is “0”, that is, when a collision between both images is recognized for the first time, the determination result is “YES”, and the process proceeds to the next step SD9. In step SD9, the first X coordinate detected first is stored in the collision coordinate area E7. Subsequently, in step SD10, the corresponding first Y coordinate is stored in the area E7. Next, in step SD11, the collision flag CF is set to “1”.
On the other hand, if the determination result in step SD8 is “NO”, that is, if a collision between both images has already been recognized, the process proceeds to step SD12, and the second X coordinate detected last is displayed. The collision coordinate area E8 is stored, and then in step SD13, the corresponding second Y coordinate is stored in the area E7.
[0061]
(5) Coordinate detection routine operation
Next, the operation of the coordinate detection routine will be described with reference to FIG. When the collision coordinate position between the chroma key image and the background image BG is detected by the collision coordinate detection routine described above, the position detection processing unit 40 executes the coordinate detection routine via step SA12 (see FIG. 9). The process proceeds to SE1. In step SE1, the registers X and Y and the register S are each reset to zero and initialized. The register S stores an area obtained by accumulating the number of blocks forming the chroma key image.
[0062]
Next, when proceeding to step SE2, the processing unit 40 reads out the corresponding block attribute from the processing screen area E2 according to the values of the registers X and Y, and proceeds to step SE3. In steps SE3 and SE4, the current values of the registers X and Y are converted into detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 It is determined whether or not it is within the detection frame designated by (). Here, if the current values of the registers X and Y are not within the detection frame, the determination result of steps SE3 and SE4 is “NO”, and the process proceeds to step SE6 described later. On the other hand, when the values of the registers X and Y are within the detection frame, the determinations at steps SE3 and SE4 are both “YES”, and the process proceeds to step SE5.
[0063]
In step SE5, it is determined whether or not the block attribute read in step SE2 is “1”, that is, a chroma key image. If the block attribute is not “1”, the determination result is “NO”, and the flow proceeds to step SE6. In step SE6, the value of the register X is incremented by 1 and advanced. In step SE7, it is determined whether or not the value of the incremented register X is “96”, that is, whether or not the block attribute for one horizontal (scan) line has been read. If the reading for one horizontal line is not completed, the determination result is “NO”, and the process returns to step SE2.
[0064]
For example, if the read block attribute is “1”, the determination result in step SE5 is “YES”, and the process proceeds to step SE8. In step SE8, it is determined whether or not the value of the register X is larger than the value of the register X ′. The X coordinate detected last time is set in the register X ′, and the right end / left end coordinates are updated according to the comparison result between the previous coordinate value and the current coordinate value. That is, if the determination result here is “NO”, the process proceeds to step SE9, the value of the register X is stored in the left end coordinate area E5 (see FIG. 8), and the left end coordinate of the chroma key image is updated. On the other hand, if the determination result in step SE8 is “YES”, the process proceeds to step SE10, the value of the register X is stored in the right end coordinate area E6 (see FIG. 8), and the right end coordinate of the chroma key image is updated.
[0065]
Next, in step SE11, the processing unit 40 determines whether or not the value of the register Y is larger than the value of the register Y ′. Here, similarly to the register X ′, the Y coordinate detected last time is set in the register Y ′, and the upper end / lower end coordinates are updated according to the comparison result between the previous coordinate value and the current coordinate value. I have to. That is, when the determination result is “NO”, the process proceeds to step SE12, the value of the register Y is stored in the upper end coordinate area E3 (see FIG. 8), and the upper end coordinate of the chroma key image is updated. On the other hand, if the determination result in step SE11 is “YES”, the process proceeds to step SE13, the value of the register Y is stored in the lower end coordinate area E4 (see FIG. 8), and the lower end coordinates of the chroma key image are updated.
[0066]
Then, when proceeding to step SE14, the processing unit 40 increments the value of the register S by 1 and adds the area by one block. Subsequently, when proceeding to step SE15, the current coordinate values stored in the registers X and Y are reset in the registers X ′ and Y ′, respectively, to be the previous coordinate values.
Thus, when the processing in steps SE2 to SE15 is performed for one horizontal line, the determination result in step SE7 described above becomes “YES”, the process proceeds to step SE16, the value of register X is reset to zero, and the value of register Y is changed. Advance one step. Next, in step SE17, it is determined whether or not the value of the register Y is “96”, that is, whether or not the coordinate detection for one frame has been performed. When the coordinate detection for one frame is not completed, the above-described step SE2 and subsequent steps are repeated. On the other hand, when completed, the process returns from this routine to the main routine described above (see FIG. 9).
[0067]
(6) Operation of the center of gravity calculation routine
When the left end / right end coordinates and the upper end / lower end coordinates of the chroma key image are detected by the coordinate detection routine, the position detection processing unit 40 executes the center of gravity calculation routine shown in FIG. 14 through step SA13 (see FIG. 9) described above. Execute and proceed to step SF1. First, in step SF1, the registers XG and YG are reset to zero. The registers XG and YG store the center-of-gravity coordinates of the chroma key image calculated based on the block where the chroma key is detected. Next, in step SF2, the registers X and Y are initialized. Subsequently, in step SF3, block attributes corresponding to the values of the registers X and Y are read from the processing screen area E2.
[0068]
Next, in steps SF4 and SF5, the current values of the registers X and Y are changed to the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 It is determined whether or not it is within the detection frame designated by (). Here, if the current values of the registers X and Y are not within the detection frame, the determination result of steps SF4 and SF5 is “NO”, and the process proceeds to step SF7 described later. On the other hand, when the values of the registers X and Y are within the detection frame, the determinations at steps SF4 and SF5 are both “YES”, and the process proceeds to step SF6. In step SF6, the processing unit 40 determines whether or not the read block attribute is “1”, that is, a chroma key image. If the block attribute is not “1”, the determination result is “NO”, and the flow proceeds to step SF7. In step SF7, the value of the register X is incremented by 1 and incremented. In step SF8, it is determined whether or not the value of the register X is “96”, that is, the block attribute for one horizontal (scan) line has been read out. If the reading for one horizontal line is not completed, the determination result is “NO”, and the process returns to step SF3 again.
[0069]
For example, it is assumed that the next read block attribute is “1”. If it does so, the judgment result of step SF6 will be "YES", and the process part 40 will advance a process to step SF9. In step SF9, the block where the chroma key is detected is regarded as a mass point, and the center of gravity is calculated by sequentially accumulating the ratio between the coordinates (X, Y) of the block and the area S. The area S is stored in the register S in the coordinate detection routine described above. Next, when proceeding to step SF10, the barycentric coordinates are updated in accordance with the barycentric calculation result of step SF9, and then the value of the register X is incremented in step SF7.
[0070]
If the reading for one horizontal line is completed, the determination result in step SF8 is “YES”, the process proceeds to step SF11, the value of the register X is reset to zero, and the value of the register Y is advanced by one step. . Next, in step SF12, it is determined whether or not the value of the register Y is “96”, that is, the center of gravity calculation for one frame has been performed. If the center-of-gravity calculation for one frame is not completed, the determination result is “NO”, and the processing after step SF3 described above is repeated. On the other hand, when the calculation of the center of gravity for one frame is completed, the determination result is “YES”, and this routine is ended to return to the main routine (see FIG. 9).
[0071]
As described above, the position detection processing unit 40 creates a processing screen map for each frame based on the chroma key detection signal CRO supplied from the video signal processing unit 20. Then, on the processing screen map, the collision coordinate position between the chroma key image and the background image BG, the left end / right end coordinates, and the upper end / lower end coordinates of the chroma key image are obtained according to the block attribute read from the detection frame designated by the CPU 51. At the same time, the area and the position of the center of gravity are calculated.
[0072]
Here, the operation of the position detection processing unit 40 described above will be specifically described with reference to FIGS. First, for example, in the state where the “icon” BE1 shown in FIG. 15 is designated as a detection frame, the glove G and the boots B to be worn on both hands and feet of the player P are not present in the detection frame. A chroma key image corresponding to G or boot B is not detected. Therefore, the background image BG forming the “icon” BE1 does not collide with the chroma key image, and the “icon” BE1 is not pointed.
[0073]
Then, it is assumed that the glove G on the right hand side enters the area of the “icon” BE1, which is a detection frame, according to the gesture of the player P. Then, as shown in FIG. 16, the collision coordinate position between the chroma key image corresponding to the globe G and the background image BG forming the “icon” BE1, the left end / right end coordinates, and the upper end / lower end coordinates of the chroma key image are determined. The area and the position of the center of gravity are calculated.
Therefore, according to the operation of the position detection processing unit 40, the collision position and the like in each detection frame are detected in a time-sharing manner, so that a pointing operation using a plurality of chroma key images can be realized very easily. The center-of-gravity position of the chroma key image for each detection frame obtained in this way is treated as a tone control parameter described later.
[0074]
(2) Operation of control unit 50 (CPU 51)
Next, the operation of the CPU 51 that instructs image control and tone control based on various data supplied from the position detection processing unit 40 described above will be described with reference to FIGS. In the following, after describing the CPU main routine as a schematic operation of the CPU 51, the collision interrupt processing routine executed in the CPU 51 will be sequentially described.
(1) Main routine operation
First, when the apparatus main body 2 is turned on, the CPU 51 reads and loads the operation system program stored in the ROM 53, reads the application program from the ROM 55 a built in the game cartridge 55, and develops it in the RAM 52. Thereby, the CPU main routine shown in FIG. 17 is started, and the processing of the CPU 51 proceeds to step SG1.
[0075]
In step SG1, various registers secured in the RAM 52 are initialized, and a control signal SC for specifying initialization is supplied to the VDP 31 and the position detection processing unit 40. Next, in step SG2, a control signal SC that gives an interrupt permission to each unit is supplied, and after canceling its own interrupt mask, a monitoring timer WT provided in the CPU 51 is started. The monitoring timer WT measures the system clock that defines the operation timing, and the operation of each part of the apparatus is controlled by the CPU 51 in accordance with the timer value.
[0076]
Next, the CPU 51 displays the object image BG on the display 3 through steps SG3 to SG4. That is, when proceeding to step SG3, the CPU 51 determines the background image data D stored in the ROM 55a (see FIG. 3). BG Is transferred to the VDP 31, the transfer destination address and the transfer source address are set in the DMA controller. In step SG4, the DMA controller is instructed to perform DMA transfer. The DMA controller that has received the transfer command reads the background image data D from the ROM 55a in accordance with the transfer-set transfer source address. BG Is transferred to the VDP 31 (VRAM 32) by DMA transfer. As a result, “icons” BE1 to BE6 simulating the shape of each rhythm instrument are displayed on the display 3 (see FIG. 1).
[0077]
Next, in step SG5, the CPU 51 stands by until the DMA transfer is completed. When a signal indicating completion of transfer is received from the DMA controller side, the determination result in step SG5 is “YES”, and the process proceeds to the next step SG6. In step SG6, the detection frame number stored in the register n is set to “1”. The detection frame numbers are values corresponding to the “icons” BE1 to BE6, and the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) Are associated with each other. Next, when proceeding to step SG7, the CPU 51 detects the detection frame coordinates (x corresponding to the detection frame number stored in the register n. 1 , Y 1 ), (X 2 , Y 2 ) And set it in the transfer buffer area.
[0078]
In step SG8, it is determined whether or not there is a transfer request from the position detection processing unit 40. If no transfer request is received from the processing unit 40, the determination result is “NO”, the process is returned to step SG7, and the transfer request is awaited. On the other hand, when a transfer request is received from the processing unit 40, the determination result is “YES”, and the process proceeds to the next step SG9. In step SG9, the CPU 51 detects the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) Is transferred to the work area of the processing unit 40. Accordingly, the position detection processing unit 40 side performs the above-described collision position detection or the like according to the detection frame designated by the CPU 51.
[0079]
Next, when proceeding to step SG10, the above-described monitoring timer WT is delayed. By delaying the delay timer WT, the CPU 51 detects the detection frame coordinates (x 1 , Y 1 ), (X 2 , Y 2 ) Based on the position detection processing unit 40 side is completed. When the processing on the position detection processing unit 40 side is completed, the delay timer WT is again counted, while the process proceeds to step SG11 where the value of the register n is incremented by 1 and the detection frame number is incremented. Subsequently, when the process proceeds to step SG12, it is determined whether or not the detection frame number stored in the register n is “7”, that is, whether or not the processing related to all the detection frames corresponding to the “icons” BE1 to BE6 has been completed. Here, when it is not completed, the determination result is “NO”, and the above-described steps SG7 to SG11 are repeated. On the other hand, when the processing related to all detection frames is completed, the determination result is “YES”, and the flow proceeds to next Step SG13. In step SG13, the detection frame number stored in the register n is reset to “1”, and step SG7 and subsequent steps are repeated again.
[0080]
As described above, in the CPU main routine, the background image data D for forming the “icons” BE1 to BE6 from the ROM 55a through initialization after power-on. BG After this, the detection frame coordinates (x) are transferred for each frame in synchronization with the processing of the position detection processing unit 40. 1 , Y 1 ), (X 2 , Y 2 ) Is specified. As a result, the position detection processing unit 40 can execute processing such as collision position detection on the detection frames corresponding to the “icons” BE1 to BE6 in a time-sharing manner.
[0081]
(2) Operation of collision interrupt processing routine
Next, the operation of the collision interrupt processing routine executed by the CPU 51 will be described with reference to FIG.
As described above, the position detection processing unit 40 detects the presence or absence of a collision between the chroma key image and the background image within the designated detection frame based on the operation of the collision coordinate detection processing routine (see FIG. 12). When a collision is detected, the collision flag CF is set to “1”. Then, when the collision flag CF becomes “1”, the CPU 51 assumes that the “icon” corresponding to the designated detection frame has been pointed by the chroma key image, and the collision interrupt process shown in FIG. The routine is executed, and the process proceeds to step SH1.
[0082]
First, in step SH1, the gravity center position (XG) of the background image BG corresponding to the detection frame in which the collision is detected. 1 , YG 1 ) Is read from the ROM 55b. For example, if a collision between the chroma key image and the background image BG is detected in the detection frame corresponding to the “icon” BE1, the center of gravity of the background image BG that forms the “cymbal” image that is the “icon” BE1. Position (XG 1 , YG 1 ) Is read from the ROM 55b. Note that the barycentric positions corresponding to the “icons” BE1 to BE6 are the background image data D in advance. BG Is stored in the ROM 55b. Next, when proceeding to step SH2, the CPU 51 determines the center of gravity coordinates (XG) of the chroma key image colliding with the background image BG. 2 , YG 2 ) Is read from the storage area E9 (see FIG. 8) of the work RAM in the position detection processing unit 40. In the storage area E9, the center-of-gravity coordinates of the chroma key image calculated by the above-described center-of-gravity calculation processing routine are written.
[0083]
Then, when proceeding to step SH3, the gravity center position (XG of the background image BG). 1 , YG 1 ) And the center of gravity coordinates of the chroma key image (XG 2 , YG 2 ) Is calculated, and the process proceeds to the next step SH4. In step SH4, the timbre data assigned corresponding to the currently designated detection frame, that is, the detection frame number stored in the register n is read. Here, for example, if the currently designated detection frame is “1”, timbre data designating the timbre of “cymbals” is read in accordance with the musical instrument shape of the “icon” BE1 corresponding to the detection frame. It is. Next, in step SH5, velocity data corresponding to the separation distance G calculated in step SH3 is created. Subsequently, in step SH6, a key-on signal instructing generation of a musical tone is generated, and the tone color data, velocity Data and a key-on signal are sent to the first sound source circuit 55b.
[0084]
Thus, the first tone generator circuit 55 b synthesizes a “rhythm sound” based on the tone color data, velocity data, and key-on signal sent from the CPU 51 and supplies them to the sound system 57. As a result, as in the above example, when the “icon” BE1 is pointed, a “cymbal sound” is produced at a volume corresponding to the velocity data. That is, the volume control is performed so that the volume is increased as the separation distance G is shorter.
[0085]
Thus, according to the above-described embodiment, when any of the “icons” BE1 to BE6 is pointed by the glove G or the boots B worn on both hands and feet of the player P, the “icons” BE1 to BE6 are displayed. Since each corresponding detection frame is subject to chroma key input processing in a time-sharing manner, it is possible to easily perform a pointing operation even when a plurality of chroma key images exist on the processing screen. In this embodiment, the volume of the rhythm instrument sound assigned to the “icon” pointed by the glove G or the boot B is controlled according to the pointing method. Thereby, for example, unlike the conventional performance mode, it becomes possible to perform rhythm performance by gestures such as dance.
[0086]
In the above-described embodiment, the collision position between the chroma key image and the background image BG is detected within the detection frame specified in the processing screen map generated for each frame. That is, by updating the detection frame position in accordance with the frame update, a plurality of chroma key images are detected in a time division manner. Instead, on the processing screen map generated per frame, for example, As shown in FIG. 19, it is also possible to change the position and size of the detection frame in a time division manner and detect a plurality of chroma key images. Even in such a case, a pointing operation using a plurality of chroma key images can be easily realized.
[0087]
【The invention's effect】
As described above, according to the present invention, a plurality of types of musical tone signals are stored in advance, and the detection area and information specifying the tone color of the stored musical tone signals are stored in association with each other, A plurality of detection areas are assigned to each of the display areas of the plurality of background images displayed on the display screen, and when any one of the plurality of detection areas overlaps with the specific color area extracted from the captured image, Select information that specifies the timbre based on this overlapping detection area, and The distance between the center of gravity of the overlapped detection area and the center of gravity of the extracted specific color area Based on, information for designating the output volume of the information for designating the selected tone color is generated. And according to these information, the corresponding musical tone signal is read and output. This makes it possible to detect a specific color area very easily without causing a problem such as a delay in processing speed related to the positional relationship with the specific color area, even if performance control is performed by shooting gestures, for example. The pointing operation by can be realized.
[Brief description of the drawings]
FIG. 1 is an external view showing an overall configuration of an image control apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining an outline of the embodiment;
FIG. 3 is a block diagram showing an electrical configuration of the image control apparatus according to the embodiment.
FIG. 4 is a block diagram illustrating a configuration of an imaging signal processing unit 11 in the same embodiment.
FIG. 5 is a block diagram showing a configuration of a video signal processing unit 20 in the same embodiment.
FIG. 6 is a block diagram showing a configuration of a chroma key signal generation circuit 20f in the same embodiment.
FIG. 7 is a block diagram showing a configuration of a VDP 31 in the same embodiment.
FIG. 8 is a memory map for explaining the contents of a work RAM of the position detection processing unit 40 in the same embodiment.
FIG. 9 is a flowchart showing an operation of a main routine in the position detection processing unit 40;
FIG. 10 is a flowchart showing an operation of an initial screen map creation routine in the position detection processing unit 40;
11 is a flowchart showing an operation of a processing screen map creation routine in the position detection processing unit 40. FIG.
12 is a flowchart showing the operation of a collision coordinate detection processing routine in the position detection processing unit 40. FIG.
FIG. 13 is a flowchart showing an operation of a coordinate detection processing routine in the position detection processing unit 40;
14 is a flowchart showing the operation of a centroid calculation processing routine in the position detection processing unit 40. FIG.
15 is a diagram illustrating an operation example of the position detection processing unit 40. FIG.
16 is a diagram illustrating an operation example of a position detection processing unit 40. FIG.
FIG. 17 is a flowchart showing the operation of a CPU main routine in the CPU 51.
18 is a flowchart showing the operation of a collision interrupt processing main routine in the CPU 51. FIG.
FIG. 19 is a diagram for explaining an aspect when a plurality of chroma key images are detected in a time division manner on a processing screen map;
[Explanation of symbols]
1 Imaging unit
2 Main unit
3 Display
20 Video signal processor (image display means)
30 Image processing unit (image display means)
40 Position detection processing unit (operation instruction means)
50 Control unit
51 CPU (detection frame designation means, operation instruction means)

Claims (2)

撮像画像から特定色領域を抽出する抽出手段と、
表示画面上に表示される複数の背景画像を発生する画像発生手段と、
前記画像発生手段によって前記表示画面上に表示された複数の背景画像の表示領域の各々に対応させて検出領域を割り当てる割当手段と、
複数種の楽音信号を記憶する楽音信号記憶手段と、
前記検出領域と前記楽音信号記憶手段に記憶される楽音信号の音色を指定する情報とを夫々対応付けて記憶する記憶手段と、
前記割当手段によって割り当てられた複数の検出領域の何れかと前記抽出手段によって抽出された特定色領域とが重なった時に、この重なった検出領域に基づいて前記記憶手段に記憶されている複数種の音色を指定する情報から音色を指定する情報を選択する選択手段と、
前記重なった検出領域の重心位置と前記抽出された特定色領域の重心位置との離間距離に基づいて、前記選択手段によって選択された音色を指定する情報の出力音量を指定する情報を生成する生成手段と、
前記選択手段によって選択された音色を指定する情報と前記生成手段によって生成された出力音量を指定する情報とに従って前記楽音信号記憶手段より対応する楽音信号を読み出して出力する出力手段と
を具備することを特徴とする画像制御装置。
Extraction means for extracting a specific color region from the captured image;
Image generating means for generating a plurality of background images displayed on the display screen;
Allocating means for allocating a detection area corresponding to each of display areas of a plurality of background images displayed on the display screen by the image generating means;
Music signal storage means for storing a plurality of types of music signals;
Storage means for storing the detection area and information for specifying the tone color of the tone signal stored in the tone signal storage means in association with each other;
When any one of the plurality of detection areas assigned by the assigning means and the specific color area extracted by the extracting means overlap, a plurality of types of timbres stored in the storage means based on the overlapped detection areas Selecting means for selecting information for designating a tone from information for designating,
Generation for generating information for specifying an output volume of information for specifying a timbre selected by the selection unit based on a separation distance between the centroid position of the overlapping detection region and the centroid position of the extracted specific color region Means,
Output means for reading out and outputting a corresponding musical tone signal from the musical tone signal storage means in accordance with information specifying the tone color selected by the selection means and information specifying the output volume generated by the generating means. An image control apparatus characterized by the above.
撮像画像から特定色領域を抽出する抽出ステップと、
表示画面上に表示される複数の背景画像を発生する画像発生ステップと、
前記画像発生ステップにて前記表示画面上に表示された複数の背景画像の表示領域の各々に対応させて検出領域を割り当てる割当ステップと、
前記割当ステップにて割り当てられた複数の検出領域の何れかと前記抽出ステップにて抽出された特定色領域とが重なった時に、この重なった検出領域に基づいて予め検出領域と楽音信号の音色を指定する情報とを夫々対応付けて記憶した第1のメモリより対応する音色を指定する情報を選択する選択ステップと、
前記重なった検出領域の重心位置と前記抽出された特定色領域の重心位置との離間距離に基づいて、前記選択ステップにて選択された音色を指定する情報の出力音量を指定する情報を生成する生成ステップと、
前記選択ステップにて選択された音色を指定する情報と前記生成ステップにて生成された出力音量を指定する情報とに従って予め複数種の楽音信号を記憶する第2のメモリより対応する楽音信号を読み出して出力する出力ステップと
からなることを特徴とする画像制御方法。
An extraction step of extracting a specific color region from the captured image;
An image generation step for generating a plurality of background images displayed on the display screen;
An assigning step of assigning a detection area corresponding to each of the display areas of the plurality of background images displayed on the display screen in the image generation step;
When any of the plurality of detection areas assigned in the assignment step overlaps with the specific color area extracted in the extraction step, the detection area and the tone color of the musical tone signal are designated in advance based on the overlapped detection area A selection step of selecting information for designating the corresponding tone color from the first memory storing the information to be associated with each other;
Based on a separation distance between the centroid position of the overlapped detection area and the centroid position of the extracted specific color area, information specifying the output volume of the information specifying the timbre selected in the selection step is generated. Generation step;
A corresponding musical tone signal is read from a second memory that stores a plurality of types of musical tone signals in advance according to the information for designating the tone color selected in the selection step and the information for designating the output volume generated in the generation step. An image control method comprising the steps of:
JP09298094A 1994-04-05 1994-04-05 Image control apparatus and image control method Expired - Fee Related JP3766981B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09298094A JP3766981B2 (en) 1994-04-05 1994-04-05 Image control apparatus and image control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09298094A JP3766981B2 (en) 1994-04-05 1994-04-05 Image control apparatus and image control method

Publications (2)

Publication Number Publication Date
JPH07281666A JPH07281666A (en) 1995-10-27
JP3766981B2 true JP3766981B2 (en) 2006-04-19

Family

ID=14069541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09298094A Expired - Fee Related JP3766981B2 (en) 1994-04-05 1994-04-05 Image control apparatus and image control method

Country Status (1)

Country Link
JP (1) JP3766981B2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009148605A (en) * 1999-09-07 2009-07-09 Sega Corp Game apparatus, input means for the same, and storage medium
JP3725460B2 (en) 2000-10-06 2005-12-14 株式会社ソニー・コンピュータエンタテインメント Image processing apparatus, image processing method, recording medium, computer program, semiconductor device
JP4615252B2 (en) * 2000-10-06 2011-01-19 株式会社ソニー・コンピュータエンタテインメント Image processing apparatus, image processing method, recording medium, computer program, semiconductor device
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
JP2009103727A (en) * 2002-06-27 2009-05-14 Shinsedai Kk Information processor having input system using stroboscope
ATE454195T1 (en) * 2002-10-30 2010-01-15 Nike International Ltd GARMENTS WITH MOTION DETECTION MARKERS FOR VIDEO GAMES
US8345001B2 (en) 2004-01-06 2013-01-01 Sony Computer Entertainment Inc. Information processing system, entertainment system, and information processing system input accepting method
JP2005242854A (en) * 2004-02-27 2005-09-08 Nippon Telegr & Teleph Corp <Ntt> Method and device for displaying three-dimensional data, and program
JP3853796B2 (en) * 2004-03-18 2006-12-06 株式会社ソニー・コンピュータエンタテインメント Information processing apparatus and entertainment apparatus
JP2005301479A (en) * 2004-04-08 2005-10-27 Akinori Yoshino Instruction input device based on projected action of presenter
JP2005316300A (en) * 2004-04-30 2005-11-10 Kyushu Institute Of Technology Semiconductor device having musical tone generation function, and mobile type electronic equipment, mobil phone, spectacles appliance and spectacles appliance set using the same
JP2006068315A (en) 2004-09-02 2006-03-16 Sega Corp Pause detection program, video game device, pause detection method, and computer-readable recording medium recorded with program
WO2007077851A1 (en) * 2005-12-30 2007-07-12 Ssd Company Limited Representation method and operation object
JP4882443B2 (en) * 2006-03-27 2012-02-22 ヤマハ株式会社 Performance equipment
JP4137168B2 (en) * 2007-10-10 2008-08-20 株式会社バンダイナムコゲームス GAME DEVICE AND INFORMATION STORAGE MEDIUM
JP5039808B2 (en) * 2010-03-16 2012-10-03 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
WO2012001750A1 (en) * 2010-06-28 2012-01-05 株式会社ソニー・コンピュータエンタテインメント Game device, game control method, and game control program
JP5594060B2 (en) * 2010-10-27 2014-09-24 株式会社デンソーアイティーラボラトリ Amusement machine
JP5425940B2 (en) * 2012-01-31 2014-02-26 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP5715583B2 (en) * 2012-01-31 2015-05-07 株式会社コナミデジタルエンタテインメント GAME DEVICE AND PROGRAM
JP5549698B2 (en) * 2012-03-16 2014-07-16 カシオ計算機株式会社 Performance device, method and program
KR101845046B1 (en) * 2012-07-13 2018-04-03 가부시키가이샤 주스 디자인 Element selection device, element selection method, and program
WO2015146813A1 (en) * 2014-03-28 2015-10-01 株式会社ソニー・コンピュータエンタテインメント Object manipulation method, object manipulation program, and information processing device
US11455042B2 (en) * 2017-08-24 2022-09-27 Maxell, Ltd. Head-mounted display

Also Published As

Publication number Publication date
JPH07281666A (en) 1995-10-27

Similar Documents

Publication Publication Date Title
JP3766981B2 (en) Image control apparatus and image control method
US5556108A (en) Game signal conversion apparatus
US6166718A (en) Video game system with vertical array of cursor images
JP3145064B2 (en) Video game machine and medium recording video game program
JP2001344049A (en) Operation instructing system and computer readable storage medium to be used for the same system
KR101269773B1 (en) Terminal and method for providing augmented reality
JP2001137541A (en) Method of displaying object, game device and memory medium
JP3463379B2 (en) Image control apparatus and image control method
JP3791728B2 (en) GAME SCREEN DISPLAY CONTROL METHOD, GAME SYSTEM, AND COMPUTER-READABLE RECORDING MEDIUM
JPH0850661A (en) Image controller
JP3367934B2 (en) Game system, image drawing method in game system, and computer-readable recording medium storing game program
JPH07271982A (en) Image controller
JP3371535B2 (en) Image control apparatus and image control method
JP3407394B2 (en) Image display control apparatus and image display control method
JP3622234B2 (en) Image control apparatus and image control method
JP2000024313A (en) Game apparatus and information recorded medium
JPH0887592A (en) Image controller
JPH07302324A (en) Picture controller
JPH07282236A (en) Image controller
JPH07282265A (en) Image control unit
JPH0879621A (en) Picture controller
JP3145062B2 (en) Blaze detection method and recording medium
JPH0830808A (en) Image synthesizer
JPH1147448A (en) Success judging method, game system and recording medium on which game program is recorded and which can be read by computer
JPH0855212A (en) Image controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050401

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060123

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees