JP4701411B2 - Music game device, music game system, operation article, music game program, and music game method - Google Patents

Music game device, music game system, operation article, music game program, and music game method Download PDF

Info

Publication number
JP4701411B2
JP4701411B2 JP2005514131A JP2005514131A JP4701411B2 JP 4701411 B2 JP4701411 B2 JP 4701411B2 JP 2005514131 A JP2005514131 A JP 2005514131A JP 2005514131 A JP2005514131 A JP 2005514131A JP 4701411 B2 JP4701411 B2 JP 4701411B2
Authority
JP
Japan
Prior art keywords
guide
cursor
information
subject
music
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
JP2005514131A
Other languages
Japanese (ja)
Other versions
JPWO2005028053A1 (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.)
SSD Co Ltd
Original Assignee
SSD 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 SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP2005514131A priority Critical patent/JP4701411B2/en
Publication of JPWO2005028053A1 publication Critical patent/JPWO2005028053A1/en
Application granted granted Critical
Publication of JP4701411B2 publication Critical patent/JP4701411B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/814Musical performances, e.g. by evaluating the player's ability to follow a notation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • 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/30Features 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 output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features 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 output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8005Athletics

Description

本発明は、操作物の動きに追従した画像を表示する音楽ゲーム装置及びその関連技術に関する。  The present invention relates to a music game apparatus that displays an image following the movement of an operation article and related technology.

特許文献1(特開2002−263360号公報)には、演奏指揮ゲーム装置が開示されている。この演奏指揮ゲーム装置では、指揮棒コントローラの先端に投光ユニットが設けられるとともに、モニタの下部に受光ユニットが設けられる。このような構成により、指揮棒コントローラの動きを検出する。
ゲームが開始されると、指揮棒コントローラを振る方向及びタイミングを指示する操作案内画像が、モニタに表示されるとともに、演奏音が出力される。この演奏音は、指揮棒コントローラの操作に関係なく出力される。そして、プレイヤが、指示された方向及びタイミングで、指揮棒コントローラを操作したときにのみ、指揮棒反応音が出力される。この指揮棒反応音は、ある演奏パートを所定の長さで分断したものである。従って、プレイヤが、指示された方向及びタイミングで、指揮棒コントローラを操作するたびに、対応する指揮棒反応音が出力される。
特許文献2(特開平10−143151号公報)には、指揮装置が開示されている。この指揮装置では、マウスを指揮棒のように操作することで、マウスが描く軌跡からテンポ、アクセント及び強弱などの音楽パラメータを算出する。そして、算出したこれらの音楽パラメータを、出力する音楽や画像に反映させる。例えば、汽車の動画像を表示する際に、汽車のスピードを、算出したテンポに追従させ、スピードの変化を、アクセントに追従させ、汽車の煙の量を、強弱に追従させる。
上述のように、特許文献1の演奏指揮ゲーム装置は、プレイヤが演奏を行うことを主目的とした装置であることは明らかである。また、特許文献2の指揮装置では、プレイヤが演奏を行うことを主目的とするため、マウスの移動情報を音楽パラメータに変換して、この音楽パラメータを音楽及び画像に反映させている。
このように、プレイヤが演奏を行うことを主目的とする従来の装置では、表示される画像(上記の例では、汽車)に面白味がなく、プレイヤが画像を楽しむ、ということが重視されていない。
さらに、プレイヤによる操作物である指揮棒コントローラやマウスについては、次のことが言える。特許文献1の指揮棒コントローラは、投光ユニットを備えているため、電子回路を備えることが必要となる。従って、指揮棒コントローラのコストが高くなるし、また、故障の原因となる。さらに、操作性が低くなる。特に、指揮棒コントローラは、動かされるものであるため、電子回路を備えることなく、簡易な構成とすることが好ましい。また、特許文献2のマウスでは、平面上での操作のみが可能であり、操作の制約が大きいし、また、特許文献1の指揮棒コントローラと同様の問題もある。
Japanese Patent Application Laid-Open No. 2002-263360 discloses a performance conducting game device. In this performance command game device, a light projecting unit is provided at the tip of the command stick controller, and a light receiving unit is provided below the monitor. With such a configuration, the movement of the baton controller is detected.
When the game is started, an operation guidance image for instructing the direction and timing of swinging the baton controller is displayed on the monitor and a performance sound is output. This performance sound is output regardless of the operation of the baton controller. Then, only when the player operates the baton controller in the instructed direction and timing, the baton reaction sound is output. This baton reaction sound is obtained by dividing a certain performance part by a predetermined length. Therefore, each time the player operates the baton controller in the instructed direction and timing, the corresponding baton reaction sound is output.
Japanese Patent Application Laid-Open No. 10-143151 discloses a command device. In this conductor device, by operating the mouse like a conductor rod, music parameters such as tempo, accent and strength are calculated from the locus drawn by the mouse. Then, these calculated music parameters are reflected in the output music and images. For example, when displaying a moving image of a train, the speed of the train is made to follow the calculated tempo, the change in speed is made to follow the accent, and the amount of smoke of the train is made to follow the strength.
As described above, it is clear that the performance / conducting game device of Patent Document 1 is a device whose main purpose is for the player to perform. Further, in the command device of Patent Document 2, since the main purpose is for the player to perform, the movement information of the mouse is converted into music parameters, and the music parameters are reflected in music and images.
As described above, in the conventional apparatus whose main purpose is for the player to perform, the displayed image (in the above example, the train) is not interesting, and the player is not focused on enjoying the image. .
Furthermore, the following can be said about the baton controller and the mouse that are operations by the player. Since the baton controller of patent document 1 is equipped with the light projection unit, it is necessary to provide an electronic circuit. Therefore, the cost of the baton controller becomes high and causes a failure. Furthermore, the operability is lowered. In particular, since the baton controller is moved, it is preferable to have a simple configuration without providing an electronic circuit. In addition, the mouse of Patent Document 2 can only be operated on a flat surface, and there are large restrictions on the operation, and there are the same problems as the baton controller of Patent Document 1.

そこで、本発明は、プレイヤが関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物をプレイヤが操作することにより、楽曲とともに、操作に追従した画像を楽しむことができる音楽ゲーム装置及びその関連技術を提供することを目的とする。
本発明の観点によると、音楽ゲーム装置は、楽曲を自動演奏する音楽ゲーム装置であって、プレイヤによって操作される操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像信号及び消灯時画像信号を生成する撮像ユニットと、前記発光時画像信号と前記消灯時画像信号との差分信号を生成する差分信号生成ユニットと、前記差分信号に基づいて、前記操作物の状態情報を算出する状態情報算出ユニットと、前記操作物に連動するカーソルの操作のためのガイドの表示を、前記楽曲に基づくタイミングで制御するガイド制御ユニットと、前記カーソルの表示を、前記操作物の前記状態情報に基づいて制御するカーソル制御ユニットと、前記操作物による前記カーソルの操作が、前記ガイドに適合したときに、前記ガイドによる案内に応じて、画像の表示を制御する追従画像制御ユニットと、を備え、前記追従画像制御ユニットは、前記操作物の前記状態情報及び前記ガイドに関する情報に基づいて、前記操作物による前記カーソルの操作が、前記ガイドに適合しているか否かを判断する。
この構成によれば、カーソルの操作がガイドに適合している場合に、ガイドによる案内に応じて画像の表示が制御される。この場合、ガイドによる案内に適合してカーソルの操作が行われているため、カーソルの操作に応じて画像の表示が制御されることになる。つまり、カーソルは操作物と連動しているため、操作物の操作に応じて画像の表示が制御される。また、ストロボスコープにより間欠的に光が照射される操作物を撮像ユニットにより撮影して、操作物の状態情報を求めている。このため、操作物の状態情報を求めるために、操作物に電源により駆動する回路を内蔵する必要がない。さらに、この音楽ゲーム装置は、楽曲を自動演奏する。
以上の結果、プレイヤが関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物をプレイヤが操作することにより、楽曲とともに、操作物の操作に追従した画像を楽しむことができる。
また、楽曲に基づくタイミングでガイドが制御されるため、プレイヤが、ガイドに従ってカーソルを操作すれば、操作物の操作も楽曲に合ったものとなる。従って、プレイヤは、楽曲に合った操作物の操作を楽しむことができる。
ここで、操作物の操作とは、操作物自体を動かすこと(例えば、移動させること)を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
上記音楽ゲーム装置において、前記ガイドは、前記カーソルの移動位置及び操作タイミングを案内し、前記追従画像制御ユニットは、前記操作物による前記カーソルの操作が、前記ガイドに適合したときに、前記ガイドが案内する前記移動位置の方向に対応して、前記画像の表示を制御する。
この構成によれば、プレイヤが、操作物を操作して、カーソルを、ガイドが案内する操作タイミングで、ガイドが案内する移動位置に移動させた場合に、ガイドが案内するカーソルの移動位置の方向に対応して、画像の表示が制御される。その結果、楽曲とともに、操作物の操作に連動するカーソルの移動に追従した画像を楽しむことができる。
上記音楽ゲーム装置において、前記状態情報算出ユニットは、前記差分信号に基づいて、前記操作物の前記状態情報としての位置を算出し、前記追従画像制御ユニットは、前記状態情報算出ユニットが算出した前記操作物の前記位置が、前記ガイドが案内する期間内に、前記ガイドが案内する領域内に存在する場合に、前記操作物に連動するカーソルの操作が、前記ガイドに適合していると判断する。
この構成によれば、簡易な処理で算出できる操作物の位置により、カーソルの操作の的確性を判断できる。
上記音楽ゲーム装置において、前記ガイドは、前記カーソルの移動経路、移動方向、及び、操作タイミングを案内する。
この構成によれば、プレイヤが、操作物を操作して、カーソルを、ガイドが案内する操作タイミングで、ガイドが案内する移動方向に、ガイドが案内する移動経路に沿って移動させた場合に、ガイドに応じて、画像の表示が制御される。その結果、楽曲とともに、操作物の操作に連動するカーソルの移動に応じた画像を楽しむことができる。
上記音楽ゲーム装置において、前記状態情報算出ユニットは、前記差分信号に基づいて、前記操作物の前記状態情報としての位置を算出し、前記追従画像制御ユニットは、前記状態情報算出ユニットが算出した前記操作物の前記位置が、前記ガイドが案内する期間内に、前記ガイドが案内する複数の所定領域を、前記ガイドが案内する所定の順序で移動した場合に、前記操作物に連動するカーソルの操作が、前記ガイドに適合していると判断する。
この構成によれば、簡易な処理で算出できる操作物の位置により、カーソルの操作の的確性を判断できる。
上記音楽ゲーム装置において、前記ガイドは、画面上の予め定められた複数の位置の各々に表示され、前記ガイド制御ユニットは、前記ガイドの形態を、前記楽曲にもとづくタイミングで変化させる。
この構成によれば、プレイヤは、ガイドの形態の変化により、カーソルを移動すべき位置及び方向を容易に認識できる。
ここで、本明細書において、ガイドの形態には、ガイドの形状及び色のいずれか、あるいは、その双方が含まれる。
上記音楽ゲーム装置において、前記ガイドは、画面上の第1の予め定められた位置から第2の予め定められた位置への移動が視覚的に認識できる表示により表現され、前記ガイド制御ユニットは、前記ガイドの表示を、前記楽曲にもとづくタイミングで制御する。
この構成によれば、プレイヤは、カーソルを移動すべき方向及び経路をより明確に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置を始点とし、前記第2の予め定められた位置を終点とする経路上に配置される複数のオブジェクトの形態の変化により表現することができる。
この構成によれば、プレイヤは、複数のオブジェクトの形態の変化により、カーソルを移動すべき方向及び経路を容易に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置から前記第2の予め定められた位置へのオブジェクトの移動により表現できる。
この構成によれば、プレイヤは、オブジェクトの移動により、カーソルを移動すべき方向及び経路を容易に認識できる。
例えば、前記ガイドは、画面上の前記第1の予め定められた位置を始点とし、前記第2の予め定められた位置を終点とする経路の形態の変化により表現できる。
この構成によれば、プレイヤは、経路の形態の変化により、カーソルを移動すべき方向及び経路を容易に認識できる。
上記音楽ゲーム装置において、前記状態情報算出ユニットが算出する前記操作物の前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、である。
この構成によれば、操作物によるカーソルの操作が、ガイドに適合しているか否かを判断する際の操作物の状態情報として、様々な情報を利用できるため、ガイドの表現の自由度が大きくなり、ひいては、ゲーム内容の設計の自由度も大きくなる。
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
Therefore, the present invention provides a music game apparatus that allows a player to enjoy an image following an operation together with the music piece while the player automatically operates the music piece without involvement of the player, and the player operates the operation object with a simple configuration. And its related technology.
According to an aspect of the present invention, a music game apparatus is a music game apparatus for automatically playing music, and a stroboscope that irradiates an operation article operated by a player at a predetermined cycle, and the stroboscope. An imaging unit that captures the operation object and generates an image signal at the time of emission and an image signal at the time of extinction when the scope is turned on and off, and a difference signal between the image signal at the time of emission and the image signal at the time of turning off A difference signal generation unit that generates a state information, a state information calculation unit that calculates state information of the operation article based on the difference signal, and a display of a guide for operating a cursor linked to the operation article. And a cursor control unit for controlling display of the cursor based on the state information of the operation article. And a follow-up image control unit that controls display of an image according to guidance by the guide when an operation of the cursor by the operation article is adapted to the guide, and the follow-up image control unit Determines whether the operation of the cursor by the operation article is suitable for the guide based on the state information of the operation article and information on the guide.
According to this configuration, when the operation of the cursor is adapted to the guide, the image display is controlled according to the guidance by the guide. In this case, since the cursor is operated in conformity with the guidance by the guide, the image display is controlled in accordance with the cursor operation. That is, since the cursor is interlocked with the operation article, the display of the image is controlled according to the operation of the operation article. In addition, an operation article that is intermittently irradiated with light by a stroboscope is photographed by an imaging unit to obtain state information of the operation article. For this reason, in order to obtain the state information of the operation article, it is not necessary to incorporate a circuit driven by the power source in the operation article. Further, this music game device automatically plays music.
As a result, it is possible to enjoy an image following the operation of the operation article together with the music piece by the player operating the operation article with a simple configuration while automatically playing the music piece without involvement of the player.
Further, since the guide is controlled at the timing based on the music, if the player operates the cursor according to the guide, the operation of the operation article also matches the music. Therefore, the player can enjoy the operation of the operation article suitable for the music.
Here, the operation of the operation article means that the operation article itself is moved (for example, moved), and does not include pressing a switch, moving an analog stick, or the like.
In the music game apparatus, the guide guides the movement position and operation timing of the cursor, and the follow-up image control unit is configured such that the guide is operated when the operation of the cursor by the operation article is adapted to the guide. The display of the image is controlled in accordance with the direction of the moving position to be guided.
According to this configuration, when the player operates the operation article and moves the cursor to the movement position guided by the guide at the operation timing guided by the guide, the direction of the movement position of the cursor guided by the guide Corresponding to the above, the display of the image is controlled. As a result, it is possible to enjoy an image that follows the movement of the cursor linked to the operation of the operation article together with the music.
In the music game apparatus, the state information calculation unit calculates a position of the operation article as the state information based on the difference signal, and the follow-up image control unit calculates the position information calculation unit. When the position of the operation article is within the area guided by the guide within the period guided by the guide, it is determined that the operation of the cursor linked to the operation article is suitable for the guide. .
According to this configuration, the accuracy of the cursor operation can be determined based on the position of the operation article that can be calculated by a simple process.
In the music game apparatus, the guide guides the movement path, movement direction, and operation timing of the cursor.
According to this configuration, when the player operates the operation article and moves the cursor in the movement direction guided by the guide at the operation timing guided by the guide along the movement route guided by the guide, The display of the image is controlled according to the guide. As a result, it is possible to enjoy an image corresponding to the movement of the cursor linked to the operation of the operation article together with the music.
In the music game apparatus, the state information calculation unit calculates a position of the operation article as the state information based on the difference signal, and the follow-up image control unit calculates the position information calculation unit. When the position of the operation article is moved in a predetermined order guided by the guide within a period guided by the guide, the cursor is operated in conjunction with the operation article. Is determined to be suitable for the guide.
According to this configuration, the accuracy of the cursor operation can be determined based on the position of the operation article that can be calculated by a simple process.
In the music game apparatus, the guide is displayed at each of a plurality of predetermined positions on the screen, and the guide control unit changes the form of the guide at a timing based on the music.
According to this configuration, the player can easily recognize the position and direction in which the cursor should be moved by changing the form of the guide.
Here, in this specification, the shape of the guide includes one or both of the shape and color of the guide.
In the music game apparatus, the guide is represented by a display that can visually recognize the movement from the first predetermined position on the screen to the second predetermined position, and the guide control unit includes: The display of the guide is controlled at a timing based on the music.
According to this configuration, the player can more clearly recognize the direction and route to move the cursor.
For example, the guide is expressed by a change in the form of a plurality of objects arranged on a path starting from the first predetermined position on the screen and ending at the second predetermined position. can do.
According to this configuration, the player can easily recognize the direction and route in which the cursor should be moved by changing the form of the plurality of objects.
For example, the guide can be expressed by moving an object from the first predetermined position on the screen to the second predetermined position.
According to this configuration, the player can easily recognize the direction and route in which the cursor should be moved by moving the object.
For example, the guide can be expressed by a change in the form of a route starting from the first predetermined position on the screen and ending at the second predetermined position.
According to this configuration, the player can easily recognize the direction in which the cursor should be moved and the route by changing the form of the route.
In the music game apparatus, the state information of the operation article calculated by the state information calculation unit includes speed information, movement direction information, movement distance information, speed vector information, acceleration information, movement trajectory information, area information, or , Position information, or a combination of two or more thereof.
According to this configuration, since various information can be used as the state information of the operation article when determining whether the operation of the cursor by the operation article is suitable for the guide, the degree of freedom of expression of the guide is large. As a result, the degree of freedom in designing the game content also increases.
The novel features of the invention are set forth in the appended claims. However, the invention itself and other features and advantages can be readily understood by reading the detailed description of specific embodiments with reference to the accompanying drawings.

図1は、本発明の実施の形態における音楽ゲームシステムの全体構成を示す図である。
図2は、図1の操作物の斜視図である。
図3(a)は、図2の反射ボールの上面図である。図3(b)は、図3(a)の矢印A方向からの反射ボールの側面図である。図3(c)は、図3(a)の矢印B方向からの反射ボールの側面図である。
図4は、図2の反射ボールの縦断面図である。
図5は、図1の撮像ユニットの一例を示す図解図である。
図6は、図1の音楽ゲーム装置の電気的な構成を示す図である。
図7は、図6の高速プロセッサのブロック図である。
図8は、図6のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。
図9(a)は、図8のイメージセンサが出力するフレームステータスフラグ信号FSFのタイミング図である。図9(b)は、図8のイメージセンサが出力するピクセルデータストローブ信号PDSのタイミング図である。図9(c)は、図8のイメージセンサが出力するピクセルデータD(X,Y)のタイミング図である。図9(d)は、図8の高速プロセッサが出力するLEDコントロール信号LEDCのタイミング図である。図9(e)は、図8の赤外発光ダイオードの点灯状態を示すタイミング図である。図9(f)は、図8のイメージセンサの露光期間を示すタイミング図である。
図10(a)は、図9のフレームステータスフラグ信号FSFの拡大図である。図10(b)は、図9のピクセルデータストローブ信号PDSの拡大図である。図10(c)は、図9のピクセルデータD(X,Y)の拡大図である。
図11は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面の例示図である。
図12は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面の他の例示図である。
図13は、図1のテレビジョンモニタのスクリーンに表示されるゲーム画面のさらに他の例示図である。
図14は、図1のテレビジョンモニタのスクリーンに表示されるオブジェクトを構成するスプライトの説明図である。
図15は、図1のテレビジョンモニタのスクリーンに表示される全景スクリーンの説明図である。
図16(a)は、図15の全景スクリーンをスクロールする前の説明図である。図16(b)は、図15の全景スクリーンをスクロールした後の説明図である。
図17は、図6のROMに格納されたプログラム及びデータを示す概念図である。
図18は、図17の第1の楽譜データの一例を示す概念図である。
図19は、図17の第2の楽譜データの一例を示す概念図である。
図20(a)は、カーソルを案内する方向とノートナンバとの関係図である。図20(b)は、カーソルを案内する方向とノートナンバとの他の関係図である。図20(c)は、カーソルを案内する方向とノートナンバとのさらに他の関係図である。
図21(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図である。図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(c)は、赤外フィルタを介したイメージセンサの点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(d)は、赤外フィルタを介したイメージセンサの消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。図21(e)は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図である。
図22は、図1の操作物の注目点の座標算出の説明図である。
図23(a)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のX方向スキャンの説明図である。図23(b)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のY方向スキャンのスタート時の説明図である。図23(c)は、最大輝度値を持つピクセルの座標を基に、図1の操作物の注目点座標を算出する際のY方向スキャンの説明図である。図23(d)は、最大輝度値を持つピクセルの座標を基に、操作物の注目点座標を算出する際の結果の説明図である。
図24は、CPU201による注目点存在領域判定処理(1)の説明図である。
図25は、CPU201による注目点存在領域判定処理(2)の説明図である。
図26は、本実施の形態による、方向ガイドG、位置ガイドg、及び、経路ガイドrg、のアニメーションの登録の説明図である。
図27は、図26のアニメーションテーブル格納位置情報により指定されるアニメーションテーブルの例示図である。
図28は、本実施の形態における、第1の楽譜データ、第2の楽譜データ、方向ガイドG、位置ガイドg、操作判定、及び、ダンスアニメーション、の関係を説明するためのタイミング図である。
図29は、図1の音楽ゲーム装置の全体の処理の流れを示すフローチャートである。
図30は、図29のステップS1の初期設定処理の流れを示すフローチャートである。
図31は、図30のステップS14のセンサ初期設定処理の流れを示すフローチャートである。
図32は、図31のステップS21のコマンド送信処理の流れを示すフローチャートである。
図33は、(a)図8のレジスタ設定クロックCLKのタイミング図である。
(b)図8のレジスタデータのタイミング図である。
図34は、図31のステップS23のレジスタ設定処理の流れを示すフローチャートである。
図35は、図29のステップS2の状態情報算出処理の流れを示すフローチャートである。
図36は、図35のステップS50のピクセルデータ群取得処理の流れを示すフローチャートである。
図37は、図36のステップS61のピクセルデータ取得処理の流れを示すフローチャートである。
図38は、図35のステップS51の注目点抽出処理の流れを示すフローチャートである。
図39は、図38のステップS85の注目点座標算出処理の流れを示すフローチャートである。
図40は、図29のステップS3のゲーム処理の流れを示すフローチャートである。
図41は、本実施の形態における割込み処理の流れを示すフローチャートである。
図42は、図41のステップS150の楽曲再生処理の流れを示すフローチャートである。
図43は、図41のステップS151のガイド登録処理の流れを示すフローチャートである。
図44は、本実施の形態におけるガイドの他の例示図である。
図45は、本実施の形態におけるガイドのさらに他の例示図である。
図46は、本実施の形態におけるガイドのさらに他の例示図である。
FIG. 1 is a diagram showing an overall configuration of a music game system according to an embodiment of the present invention.
FIG. 2 is a perspective view of the operation article of FIG.
FIG. 3A is a top view of the reflective ball of FIG. FIG.3 (b) is a side view of the reflective ball | bowl from the arrow A direction of Fig.3 (a). FIG.3 (c) is a side view of the reflective ball | bowl from the arrow B direction of Fig.3 (a).
FIG. 4 is a longitudinal sectional view of the reflective ball of FIG.
FIG. 5 is an illustrative view showing one example of the imaging unit of FIG. 1.
FIG. 6 is a diagram showing an electrical configuration of the music game apparatus of FIG.
FIG. 7 is a block diagram of the high speed processor of FIG.
FIG. 8 is a circuit diagram showing a configuration for taking pixel data from the image sensor of FIG. 6 into a high-speed processor and an LED driving circuit.
FIG. 9A is a timing chart of the frame status flag signal FSF output from the image sensor of FIG. FIG. 9B is a timing chart of the pixel data strobe signal PDS output from the image sensor of FIG. FIG. 9C is a timing chart of pixel data D (X, Y) output from the image sensor of FIG. FIG. 9D is a timing chart of the LED control signal LEDC output from the high speed processor of FIG. FIG. 9E is a timing chart showing a lighting state of the infrared light emitting diode of FIG. FIG. 9F is a timing chart showing the exposure period of the image sensor in FIG.
FIG. 10A is an enlarged view of the frame status flag signal FSF of FIG. FIG. 10B is an enlarged view of the pixel data strobe signal PDS of FIG. FIG. 10C is an enlarged view of the pixel data D (X, Y) of FIG.
FIG. 11 is a view showing an example of a game screen displayed on the screen of the television monitor of FIG.
FIG. 12 is another exemplary view of the game screen displayed on the screen of the television monitor of FIG.
FIG. 13 is a view showing still another exemplary game screen displayed on the screen of the television monitor of FIG.
FIG. 14 is an explanatory diagram of sprites that constitute objects displayed on the screen of the television monitor of FIG.
FIG. 15 is an explanatory diagram of a panoramic screen displayed on the screen of the television monitor of FIG.
FIG. 16A is an explanatory diagram before scrolling the panoramic view screen of FIG. FIG. 16B is an explanatory diagram after the whole view screen of FIG. 15 is scrolled.
FIG. 17 is a conceptual diagram showing programs and data stored in the ROM of FIG.
FIG. 18 is a conceptual diagram showing an example of the first musical score data of FIG.
FIG. 19 is a conceptual diagram showing an example of the second musical score data of FIG.
FIG. 20A is a relationship diagram between the direction of guiding the cursor and the note number. FIG. 20B is another relationship diagram between the direction of guiding the cursor and the note number. FIG. 20C is still another relationship diagram between the direction of guiding the cursor and the note number.
FIG. 21A is an illustration of an image taken by a general image sensor and not subjected to special processing. FIG. 21B is an illustration of an image signal when the image signal of FIG. 21A is level-discriminated by a certain threshold value. FIG. 21C is an illustration of an image signal when the image signal when the image sensor is turned on via the infrared filter is level-discriminated by a certain threshold value. FIG. 21D is an exemplary diagram of an image signal when the image signal when the image sensor is turned off via the infrared filter is subjected to level discrimination based on a certain threshold value. FIG. 21E is an exemplary diagram of a difference signal between an image signal at the time of lighting and an image signal at the time of turning off.
FIG. 22 is an explanatory diagram of the coordinate calculation of the attention point of the operation article in FIG.
FIG. 23A is an explanatory diagram of the X-direction scan when calculating the point-of-interest coordinates of the operation article in FIG. 1 based on the coordinates of the pixel having the maximum luminance value. FIG. 23B is an explanatory diagram at the start of the Y-direction scan when the attention point coordinates of the operation article in FIG. 1 are calculated based on the coordinates of the pixel having the maximum luminance value. FIG. 23C is an explanatory diagram of the Y-direction scan when calculating the point-of-interest coordinates of the operation article in FIG. 1 based on the coordinates of the pixel having the maximum luminance value. FIG. 23D is an explanatory diagram of a result when calculating the attention point coordinates of the operation article based on the coordinates of the pixel having the maximum luminance value.
FIG. 24 is an explanatory diagram of attention point presence area determination processing (1) performed by the CPU 201.
FIG. 25 is an explanatory diagram of the attention point presence area determination process (2) by the CPU 201.
FIG. 26 is an explanatory diagram of registration of animation of the direction guide G, the position guide g, and the route guide rg according to the present embodiment.
FIG. 27 is a view showing an example of an animation table specified by the animation table storage position information of FIG.
FIG. 28 is a timing chart for explaining the relationship between the first musical score data, the second musical score data, the direction guide G, the position guide g, the operation determination, and the dance animation in the present embodiment.
FIG. 29 is a flowchart showing the overall processing flow of the music game apparatus of FIG.
FIG. 30 is a flowchart showing the flow of the initial setting process in step S1 of FIG.
FIG. 31 is a flowchart showing the flow of the sensor initial setting process in step S14 of FIG.
FIG. 32 is a flowchart showing the command transmission process in step S21 of FIG.
FIG. 33 is a timing chart of (a) the register setting clock CLK of FIG.
FIG. 9B is a timing diagram of the register data in FIG.
FIG. 34 is a flowchart showing the register setting process in step S23 of FIG.
FIG. 35 is a flowchart showing the flow of the state information calculation process in step S2 of FIG.
FIG. 36 is a flowchart showing the pixel data group acquisition processing in step S50 of FIG.
FIG. 37 is a flowchart showing the pixel data acquisition process in step S61 of FIG.
FIG. 38 is a flowchart showing the flow of attention point extraction processing in step S51 of FIG.
FIG. 39 is a flowchart showing a flow of attention point coordinate calculation processing in step S85 of FIG.
FIG. 40 is a flowchart showing the flow of the game process in step S3 of FIG.
FIG. 41 is a flowchart showing the flow of interrupt processing in the present embodiment.
FIG. 42 is a flowchart showing the flow of the music reproduction process in step S150 of FIG.
FIG. 43 is a flowchart showing the guide registration process in step S151 of FIG.
FIG. 44 is another exemplary view of the guide in the present embodiment.
FIG. 45 is another exemplary view of the guide in the present embodiment.
FIG. 46 is another exemplary view of the guide in the present embodiment.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
図1は、本発明の実施の形態における音楽ゲームシステムの全体構成を示す図である。図1に示すように、この音楽ゲームシステムは、音楽ゲーム装置1、操作物150、及び、テレビジョンモニタ90、を含む。
音楽ゲーム装置1のハウジング19には、撮像ユニット13が組み込まれる。撮像ユニット13は、4つの赤外発光ダイオード15及び赤外フィルタ17を含む。赤外発光ダイオード15の発光部は、赤外フィルタ17から露出している。
音楽ゲーム装置1には、ACアダプタ92により、直流電源電圧が与えられる。ただし、ACアダプタ92に代えて、電池(図示せず)により、直流電源電圧を与えることもできる。
テレビジョンモニタ90には、その前面にスクリーン91が設けられる。テレビジョンモニタ90と音楽ゲーム装置1とは、AVケーブル93により接続される。なお、音楽ゲーム装置1は、例えば、図1に示すように、テレビジョンモニタ90の上面に載置される。
プレイヤ94が、音楽ゲーム装置1の背面に設けられた電源スイッチ(図示せず)をオンにすると、スクリーン91に、ゲーム画面が表示される。プレイヤ94は、ゲーム画面のガイドに従って、操作物150を操作して、ゲームを実行する。ここで、操作物150の操作とは、操作物自体を動かすこと(例えば、移動させること)を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
撮像ユニット13の赤外発光ダイオード15は、間欠的に赤外光を発光する。赤外発光ダイオード15からの赤外光は、この操作物150に取り付けられた反射シート(後述)により反射され、赤外フィルタ17の内部に設けられた撮像素子(後述)に入力される。このようにして、操作物150が間欠的に撮影される。従って、音楽ゲーム装置1は、プレイヤ94により動かされた操作物150の間欠的な映像信号を取得できる。音楽ゲーム装置1は、この映像信号を解析して、その解析結果をゲームに反映する。本実施の形態で使用する反射シートは、例えば、再帰反射シートである。
図2は、図1の操作物150の斜視図である。図2に示すように、操作物150は、スティック152の先端に反射ボール151を固定して構成される。この反射ボール151により、赤外発光ダイオード15からの赤外光が反射される。反射ボール151の詳細を説明する。
図3(a)は、図2の反射ボール151の上面図、図3(b)は、図3(a)の矢印A方向からの反射ボール151の側面図、図3(c)は、図3(a)の矢印B方向からの反射ボール151の側面図、である。
図3(a)〜図3(c)に示すように、反射ボール151は、透明色(半透明、有色透明、及び、無色透明、を含む。)の球状外殻153の内部に球状内殻154を固定してなる。球状内殻154には、反射シート155が取り付けられる。この反射シート155が、赤外発光ダイオード15からの赤外光を反射する。
図4は、図2の反射ボール151の縦断面図である。図4に示すように、球状外殻153は、2つの半球状外殻をボス156及びビス(図示せず)により固定してなる。球状内殻154は、球状外殻153の内部に、2つの半球状内殻をボス157により固定してなる。また、反射ボール151には、スティック152が、挿入して固定される。具体的には、球状外殻153を構成する2つの半球状外殻と、球状内殻154を構成する2つの半球状内殻と、によりスティック152を挟み、2つの半球状外殻をボス156及びビスで固定するとともに、2つの半球状内殻をボス157で固定することで、スティック152を反射ボール151に取り付ける。
図5は、図1の撮像ユニット13の一例を示す図解図である。図5に示すように、この撮像ユニット13は、たとえばプラスチック成型によって形成されるユニットベース35を含み、このユニットベース35内には支持筒36が取り付けられる。支持筒36の上面には内面が逆円錐形状であるラッパ状の開口41が形成され、その開口41の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ39および凸レンズ37を含む光学系が設けられ、凸レンズ37の下方において、撮像素子としてのイメージセンサ43が固着される。したがって、イメージセンサ43は、開口41からレンズ39および37を通して入射する光に応じた画像を撮影することができる。
イメージセンサ43は、低解像度のCMOSイメージセンサ(たとえば32ピクセル×32ピクセル:グレースケール)である。ただし、このイメージセンサ43は、画素数のもっと多いものでもよいし、CCD等の他の素子からなるものであってよい。以下では、イメージセンサ43が、32ピクセル×32ピクセルからなるものとして説明を行う。
また、ユニットベース35には、光出射方向がいずれも上方向とされた複数(実施の形態では4つ)の赤外発光ダイオード15が取り付けられる。この赤外発光ダイオード15によって、撮像ユニット13の上方に赤外光が照射される。また、ユニットベース35の上方には、赤外フィルタ(赤外光のみを透過するフィルタ)17が上記開口41を覆うように、取り付けられる。そして、赤外発光ダイオード15は後述のように、点灯/消灯(非点灯)が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ43は、その撮影範囲内で移動する物体、実施の形態では、操作物150を撮影することになる。なお、後述する図8に示すように、ストロボスコープは、主に、赤外発光ダイオード15、LED駆動回路75、及び、高速プロセッサ200、により構成される。
ここで、撮像ユニット13は、イメージセンサ43の受光面が、水平面から所定角度(例えば、90度)だけ傾くように、ハウジング19に組み込まれる。また、凹レンズ39および凸レンズ37により、イメージセンサ43の撮影範囲は、例えば、60度の範囲である。
図6は、図1の音楽ゲーム装置1の電気的な構成を示す図である。図6に示すように、音楽ゲーム装置1は、イメージセンサ43、赤外発光ダイオード15、映像信号出力端子47、音声信号出力端子49、高速プロセッサ200、ROM(read only memory)51、及び、バス53、を含む。
高速プロセッサ200には、バス53が接続される。さらに、バス53には、ROM51が接続される。従って、高速プロセッサ200は、バス53を介して、ROM51にアクセスすることができるので、ROM51に格納されたゲームプログラムをリードして実行でき、また、ROM51に格納された画像データ及び音楽データをリードして処理し、映像信号及び音声信号を生成して、映像信号出力端子47及び音声信号出力端子49に出力することができる。
操作物150は、赤外発光ダイオード15が発光する赤外光に照射され、その赤外光を反射シート155で反射する。この反射シート155からの反射光がイメージセンサ43によって検知され、したがって、イメージセンサ43からは反射シート155の画像信号が出力される。イメージセンサ43からのこのアナログ画像信号は高速プロセッサ200に内蔵されたA/Dコンバータ(後述)によってデジタルデータに変換される。赤外光消灯時も同様の処理が行われる。高速プロセッサ200は、このデジタルデータを解析して、その解析結果をゲーム処理に反映する。
図7は、図6の高速プロセッサ200のブロック図である。図7に示すように、この高速プロセッサ200は、中央演算処理装置(CPU:central processing unit)201、グラフィックプロセッサ202、サウンドプロセッサ203、DMA(direct memory access)コントローラ204、第1バス調停回路205、第2バス調停回路206、内部メモリ207、A/Dコンバータ(ADC:analog to digital converter)208、入出力制御回路209、タイマ回路210、DRAM(dynamic random access memory)リフレッシュ制御回路211、外部メモリインタフェース回路212、クロックドライバ213、PLL(phase−locked loop)回路214、低電圧検出回路215、第1バス218、及び、第2バス219、を含む。
CPU201は、メモリ(内部メモリ207、又は、ROM51)に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU201は、第1バス218及び第2バス219のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
グラフィックプロセッサ202は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51に格納されたデータを基に、映像信号を生成して、映像信号出力端子47へ出力する。グラフィックプロセッサ202は、第1バス218を通じて、CPU201により制御される。また、グラフィックプロセッサ202は、CPU201に対して、割込み要求信号220を発生する機能を有する。
サウンドプロセッサ203は、第1バス218及び第2バス219のバスマスタであり、内部メモリ207、又は、ROM51に格納されたデータを基に、音声信号を生成して、音声信号出力端子49へ出力する。サウンドプロセッサ203は、第1バス218を通じて、CPU201により制御される。また、サウンドプロセッサ203は、CPU201に対して、割込み要求信号220を発生する機能を有する。
DMAコントローラ204は、ROM51から、内部メモリ207へのデータ転送を司る。また、DMAコントローラ204は、データ転送の完了を通知するために、CPU201に対する割込み要求信号220を発生する機能を有する。DMAコントローラ204は、第1バス218及び第2バス219のバスマスタである。DMAコントローラ204は、第1バス218を通じてCPU201により制御される。
内部メモリ207は、マスクROM、SRAM(static random access memory)、及び、DRAMのうち、必要なものを備える。バッテリによるSRAMのデータ保持が必要とされる場合、バッテリ217が必要となる。DRAMが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
第1バス調停回路205は、第1バス218の各バスマスタからの第1バス使用要求信号を受け付け、調停を行い、各バスマスタへの第1バス使用許可信号を発行する。各バスマスタは、第1バス使用許可信号を受領することによって第1バス218に対するアクセスが許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図7では、第1バス調停信号222として示されている。
第2バス調停回路206は、第2バス219の各バスマスタからの第2バス使用要求信号を受け付け、調停を行い、各バスマスタへの第2バス使用許可信号を発行する。各バスマスタは、第2バス使用許可信号を受領することによって第2バス219に対するアクセスが許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図7では、第2バス調停信号223として示されている。
入出力制御回路209は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第1バス218を介して、CPU201からリード/ライトされる。また、入出力制御回路209は、CPU201に対して、割込み要求信号220を発生する機能を有する。
この入出力制御回路209から、赤外発光ダイオード15を制御するLEDコントロール信号LEDCが出力される。
タイマ回路210は、設定された時間間隔に基づき、CPU201に対する割込み要求信号220を発生する機能を有する。時間間隔等の設定は、第1バス218を介してCPU201によって行われる。
ADC208は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス218を介してCPU201によってリードされる。また、ADC208は、CPU201に対して、割込み要求信号220を発生する機能を有する。
このADC208が、イメージセンサ43からのピクセルデータ(アナログ)を受けて、デジタルデータに変換する。
PLL回路214は、水晶振動子216より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
クロックドライバ213は、PLL回路214より受け取った高周波クロック信号を、各ブロックへクロック信号225を供給するのに十分な信号強度へ増幅する。
低電圧検出回路215は、電源電圧Vccを監視し、電源電圧Vccが一定電圧以下のときに、PLL回路214のリセット信号226、その他のシステム全体のリセット信号227を発行する。また、内部メモリ207がSRAMで構成されており、かつ、SRAMのバッテリ217によるデータ保持が要求される場合、電源電圧Vccが一定電圧以下のときに、バッテリバックアップ制御信号224を発行する機能を有する。
外部メモリインタフェース回路212は、第2バス219を外部バス53に接続するための機能、及び、第2バス219のサイクル終了信号228を発行することにより、第2バスのバスサイクル長を制御する機能、を有する。
DRAMリフレッシュ制御回路211は、一定期間毎に第1バス218の使用権を無条件に獲得し、DRAMのリフレッシュ動作を行う。なお、DRAMリフレッシュ制御回路211は、内部メモリ207がDRAMを含む場合に設けられる。
ここで、図8〜図10を参照して、イメージセンサ43から高速プロセッサ200へピクセルデータを取り込むための構成を詳細に説明する。
図8は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む構成及びLED駆動回路を示す回路図である。図9は、図6のイメージセンサ43から高速プロセッサ200へピクセルデータを取り込む際の動作を示すタイミング図である。図10は、図9の一部を拡大して示すタイミング図である。
図8に示すように、イメージセンサ43は、ピクセルデータD(X,Y)をアナログ信号として出力するタイプのものであるため、このピクセルデータD(X,Y)は高速プロセッサ200のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ200においてADC208に接続され、したがって、高速プロセッサ200は、ADC208からデジタルデータに変換されたピクセルデータをその内部に取得する。
上述のアナログピクセルデータD(X,Y)の中点は、イメージセンサ43の基準電圧端子Vrefに与えられる基準電圧によって決定される。そのため、イメージセンサ43に関連して例えば抵抗分圧回路からなる基準電圧発生回路59が設けられ、この回路59から基準電圧端子Vrefに常に一定の大きさの基準電圧が与えられる。
イメージセンサ43を制御するための各デジタル信号は、高速プロセッサ200のI/Oポートに与えられ、またはそこから出力される。このI/Oポートは各々入力/出力の制御が可能なデジタルポートであり、この高速プロセッサ200で入出力制御回路209に接続されている。
詳しく言うと、高速プロセッサ200の出力ポートからはイメージセンサ43をリセットするためのリセット信号resetが出力され、イメージセンサ43に与えられる。また、イメージセンサ43からは、ピクセルデータストローブ信号PDSおよびフレームステータスフラグ信号FSFが出力され、それらの信号が高速プロセッサ200の入力ポートに与えられる。
ピクセルデータストローブ信号PDSは上述の各ピクセル信号D(X,Y)を読み込むための図9(b)に示すようなストローブ信号である。フレームステータスフラグ信号FSFはイメージセンサ43の状態を示すフラグ信号で、図9(a)に示すように、このイメージセンサ43の露光期間を規定する。つまり、フレームステータスフラグ信号FSFの図9(a)に示すローレベルが露光期間を示し、図9(a)に示すハイレベルが非露光期間を示す。
また、高速プロセッサ200は、イメージセンサ43の制御レジスタ(図示せず)に設定するコマンド(またはコマンド+データ)をレジスタデータとしてI/Oポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックCLKを出力し、それらをイメージセンサ43に与える。
なお、赤外発光ダイオード15として、図8に示すように互いに並列接続された4つの赤外発光ダイオード15a,15b,15cおよび15dを用いる。この4つの赤外発光ダイオード15a〜15dは、上で説明したように、操作物150を照らすように、イメージセンサ43の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ43を囲むように配置される。ただし、これら個別の赤外発光ダイオード15a〜15dは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード15と呼ばれる。
この赤外発光ダイオード15はLED駆動回路75によって、点灯されまたは消灯(非点灯)される。LED駆動回路75は、イメージセンサ43から上述のフレームステータスフラグ信号FSFを受け、このフラグ信号FSFは、抵抗69およびコンデンサ71からなる微分回路67を通してPNPトランジスタ77のベースに与えられる。このPNPトランジスタ77にはさらにプルアップ抵抗79が接続されていて、このPNPトランジスタ77のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号FSFがローレベルになると、そのローレベルが微分回路67を経てベースに入力されるため、PNPトランジスタ77は、フラグ信号FSFがローレベル期間にのみオンする。
PNPトランジスタ77のエミッタは抵抗73および65を介して接地される。そして、エミッタ抵抗73および65の接続点がNPNトランジスタ81のベースに接続される。このNPNトランジスタ81のコレクタが各赤外発光ダイオード15a〜15dのアノードに共通に接続される。NPNトランジスタ81のエミッタが別のNPNトランジスタ61のベースに直接接続される。NPNトランジスタ61のコレクタが各赤外発光ダイオード15a〜15dのカソードに共通接続され、エミッタが接地される。
このLED駆動回路75では、高速プロセッサ200のI/Oポートから出力されるLEDコントロール信号LEDCがアクティブ(ハイレベル)でありかつイメージセンサ43からのフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯される。
図9(a)に示すようにフレームステータスフラグ信号FSFがローレベルになると、そのローレベル期間中(実際には微分回路67の時定数での遅れがあるが)、PNPトランジスタ77がオンする。したがって、図9(d)に示すLEDコントロール信号LEDCが高速プロセッサ200からハイレベルで出力されると、NPNトランジスタ81のベースがハイベルとなり、このトランジスタ81がオンとなる。トランジスタ81がオンするとトランジスタ61はオンとなる。したがって、電源(図8では小さい白丸で示す)から各赤外発光ダイオード15a〜15dおよびトランジスタ61を経て電流が流れ、応じて図9(e)に示すように各赤外発光ダイオード15a〜15dが点灯される。
LED駆動回路75では、このように、図9(d)のLEDコントロール信号LEDCがアクティブでありかつ図9(a)のフレームステータスフラグ信号FSFがローレベルである期間にのみ赤外発光ダイオード15が点灯されるので、イメージセンサ43の露光期間(図9(f)参照)にのみ赤外発光ダイオード15が点灯されることになる。
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号FSFはコンデンサ71によってカップリングされているので、万一イメージセンサ43の暴走等によりそのフラグ信号FSFがローレベルのまま停止した場合でも、一定時間後にはトランジスタ77は必ずオフされ、赤外発光ダイオード15も一定時間後には必ずオフされる。
このように、フレームステータス信号FSFの持続期間を変更することによって、イメージセンサ43の露光時間を任意にかつ自在に設定または変更することができる。
さらに、フレームステータス信号FSFおよびLEDコントロール信号LEDCの持続時間や周期を変更することによって、赤外発光ダイオード15すなわちストロボスコープの発光期間、非発光期間、発光/非発光周期などを任意にかつ自在に変更または設定できる。
先に説明したように、赤外発光ダイオード15からの赤外光によって操作物150が照射されると、操作物150からの反射光によってイメージセンサ43が露光される。応じて、イメージセンサ43から上述のピクセルデータD(X,Y)が出力される。詳しく説明すると、イメージセンサ43は、上述の図9(a)のフレームステータスフラグ信号FSFがハイレベルの期間(赤外発光ダイオード15の非点灯期間)に図9(b)に示すピクセルデータストローブPDSに同期して、図9(c)に示すようにアナログのピクセルデータD(X,Y)を出力する。
高速プロセッサ200では、そのフレームステータスフラグ信号FSFとピクセルデータストローブPDSとを監視しながら、ADC208を通じて、デジタルのピクセルデータを取得する。
ただし、ピクセルデータは、図10(c)に示すように、第0行,第1行,…第31行と行順次に出力される。ただし、後に説明するように、各行の先頭の1ピクセルはダミーデータとなる。
さて、次に、音楽ゲーム装置1によるゲーム内容について、具体例を挙げながら説明する。
図11は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面の例示図である。図11に示すゲーム画面は、ゲームスタート画面である。図11に示すように、ゲームスタート画面として、スクリーン91には、背景110、位置ガイドG1〜G4、評価オブジェクト107〜109、カーソル105、ダンスオブジェクト106、及び、マスク141,142が表示される。そして、楽曲の自動演奏が開始される。
なお、本実施の形態の例では、位置ガイドG1〜G4は、花の図形で表現され、評価オブジェクト107〜109は、ハートの図形で表現され、ダンスオブジェクト106は、男女がダンスをしている図形で表現され、カーソル105は、操作物150を模した図形で表現される。ここで、位置ガイドG1〜G4を包括的に表現する場合は、「位置ガイドG」と表記する。
カーソル105は、操作物150のスクリーン91上での位置を表しており、操作物150の動きに追従してスクリーン91上を移動する。従って、プレイヤ94から見れば、操作物150の操作とカーソル105の操作とは同義である。位置ガイドGは、カーソル105(操作物150)の操作タイミング及び移動位置を、自動演奏する楽曲のタイミングで案内する。後述の方向ガイドg1〜g5は、カーソル105(操作物150)の操作タイミング及び移動方向を、自動演奏する楽曲のタイミングで案内する。後述の経路ガイドrg1〜rg10は、カーソル105(操作物150)の操作タイミング、移動方向及び移動経路を、自動演奏する楽曲のタイミングで案内する。評価オブジェクト107〜109は、プレイヤ94によるカーソル105(操作物150)の操作の評価を視覚的に表示する。ここで、方向ガイドg1〜g5を包括的に表現するときは、「方向ガイドg」と表記する。また、経路ガイドrg1〜rg10を包括的に表現するときは、「経路ガイドrg」と表記する。
図12は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面の他の例示図である。図12に示すように、位置ガイドGによる、徐々に花が開くアニメーションは、カーソル105を移動させる位置を示す。これにより、プレイヤ94に対して、花が開くアニメーションを行っている位置ガイドGが表示されている領域に、カーソル105を移動させることが指示される。プレイヤ94は、操作物150を移動させて、花が開くアニメーションを行っている位置ガイドGが表示されている領域にカーソル105を移動させる。花が開くアニメーションの後は、花がしぼむアニメーションにより、位置ガイドGが表現される。さらに、花が開くアニメーションを行っている位置ガイドGの方向が、カーソル105を移動させる方向を示す。これにより、プレイヤ94に対して、花が開くアニメーションを行っている位置ガイドGの方向にカーソル105を移動させることが指示される。
以上のことに加えて、方向ガイドg1〜g5によっても、カーソル105を移動させる方向が案内される。つまり、最初に方向ガイドg1、次に方向ガイドg2、その次に方向ガイドg3、さらにその次に方向ガイドg4、さらにその次に方向ガイドg5、という順番で、方向ガイドg1〜g5は出現する。従って、方向ガイドg1〜g5の出現の方向により、カーソル105を移動させる方向が案内される。ここで、方向ガイドg1〜g5の各々は、出現当初は小さな球を表現した図形であり、その球は時間とともに徐々に大きくなり、大きさが最大となった後は、球が砕けるようなアニメーションが実行される。従って、球の図形が出現する方向が、カーソル105を移動させる方向である。
プレイヤ94は、位置ガイドGによる花が開いた所定時間の間に、カーソル105を、当該位置ガイドGが表示されている領域に移動させなければならない。つまり、位置ガイドGは、花が開くアニメーションにより、カーソル105の操作タイミングを案内する。また、プレイヤ94は、一番最後の方向ガイドgによる球の図形が出現してから所定時間の間に、カーソル105を花が開いた位置ガイドGが表示されている領域に移動させなければならない。つまり、方向ガイドgによっても、カーソル105の操作タイミングが案内される。
また、位置ガイドGは、カーソル105の操作方向を予告する機能をも有する。つまり、位置ガイドGにより、花のつぼみが開き始めることで、プレイヤ94は、次にカーソル105を移動させる方向を知ることができる。さらに、方向ガイドgも、カーソル105の操作方向を予告する機能をも有する。つまり、方向ガイドgは、操作タイミングが到来する前に出現するため、プレイヤ94は、これによっても、次にカーソル105を移動させる方向を知ることができる。
以上の点を具体例を挙げて説明する。図12の例では、位置ガイドG2による、徐々に花が開くアニメーションにより、カーソル105を移動させる位置が案内されている。これにより、プレイヤ94に、花が開くアニメーションを行っている位置ガイドG2が表示されている領域に、カーソル105を移動させることが案内される。また、花が開くアニメーションを行っている位置ガイドG2の方向が、カーソル105を移動させる方向である。これにより、プレイヤ94に、花が開くアニメーションを行っている位置ガイドG2の方向にカーソル105を移動させることが案内される。さらに、方向ガイドg1〜g5による球の図形は、位置ガイドG1から位置ガイドG2へ向かって出現している。このように、方向ガイドg1〜g5によっても、カーソル105を、位置ガイドG1から位置ガイドG2へ移動させることが案内される。
プレイヤ94は、位置ガイドG2による花が開いた所定時間の間に、カーソル105を、当該位置ガイドG2が表示されている領域に移動させなければならない。また、プレイヤ94は、一番最後の方向ガイドg5による球の図形が出現してから所定時間の間に、カーソル105を花が開いた位置ガイドG2が表示されている領域に移動させなければならない。つまり、方向ガイドgによっても、カーソル105の操作タイミングが案内される。
プレイヤ94は、位置ガイドG2及び方向ガイドg1〜5による案内に従って、操作物150を適切に操作して、位置ガイドG1から位置ガイドG2の位置までカーソル105を移動させている。従って、評価オブジェクト107〜109の全てが点滅するアニメーションが実行される。なお、最も適切なタイミングで、カーソル105が操作された場合は、評価オブジェクト107〜109の全てが点滅するアニメーションが実行され、最も適切なタイミングではないが許容範囲のタイミングでカーソル105が操作された場合は、評価オブジェクト108のみが点滅するアニメーションが実行される。なお、位置ガイドG1,G3,G4は、カーソル105の操作タイミング及び移動位置を案内する時間帯でないため、花のつぼみの図形となっている。また、位置ガイドG2と位置ガイドG4との間、位置ガイドG4と位置ガイドG3との間、及び、位置ガイドG3と位置ガイドG1との間、では、カーソル105の操作タイミング及び操作方向を案内する時間帯ではないため、方向ガイドgが出現していない。
プレイヤ94は、位置ガイドG2及び方向ガイドg1〜5による案内に従って、カーソル105を適切に操作しているため、カーソル105の移動方向(位置ガイドG1から位置ガイドG2の方向、つまり、スクリーン91に向かって右方向)に対応した方向にダンスを行うアニメーションが実行される。例えば、ダンスオブジェクト106が、反時計回りに回転するアニメーションを行い、かつ、背景110が、スクリーン91に向かって、左方向にスクロールする。これにより、ダンスオブジェクト106の位置はスクリーン91の中心にありながらも、ダンスオブジェクト106が、右方向に移動しながら反時計回りに回転したように見える。
図13は、図1のテレビジョンモニタ90のスクリーン91に表示されるゲーム画面のさらに他の例示図である。図13では、4つの位置ガイドG1〜G4が同時に、花が開くアニメーションをしている。これを契機として、プレイヤ94に対して、経路ガイドrg1〜rg10に案内される経路及び方向にカーソル105を移動させることが案内される。この場合、経路ガイドrg1〜rg10の出現位置が、カーソル105の案内経路を示す。また、最初に経路ガイドrg1、次に経路ガイドrg2、その次に経路ガイドrg3、さらにその次に経路ガイドrg4、…、最後に経路ガイドrg10、という順番で、経路ガイドrg1〜rg10は出現する。従って、経路ガイドrg1〜rg10の出現の方向により、カーソル105を移動させる方向が案内される。ここで、経路ガイドrg1〜g10の各々は、出現当初は小さな球を表現した図形であり、その球は時間とともに徐々に大きくなり、大きさが最大となった後は、球が砕けるようなアニメーションが実行される。図13では、位置ガイドG3の近傍を出発点として、経路ガイドrg1〜g10に沿って、反時計回りにカーソル105を移動させることが案内されている。
プレイヤ94が、位置ガイドG1〜G4及び経路ガイドrg1〜rg10に従って、操作物150を操作して適切にカーソル105を操作した場合は、ダンスオブジェクト106は、経路ガイドrg1〜rg10に対応したアニメーション(例えば、反時計回りに大きく回転するようなアニメーション)を実行する。
なお、上記のように、図12及び図13に示したダンスオブジェクト106等のオブジェクトは、アニメーションの、あるコマの画像である。例えば、ダンスアニメーションのために、一連のダンスオブジェクト106が用意されている。また例えば、位置ガイドGのアニメーションのために、一連の花の図形のオブジェクト画像が用意されている。また、例えば、方向ガイドg及び経路ガイドrgのアニメーションのために、一連の球の図形のオブジェクト画像が用意されている。
ここで、図11〜図13に示したゲーム画面のダンスオブジェクト106、位置ガイドG、評価オブジェクト107〜109、カーソル105、方向ガイドg、及び、経路ガイドrg、は単数あるいは複数のスプライトからなる。スプライトは、矩形の画素集合であり、スクリーン91の任意の位置に配置できる。なお、位置ガイドG、評価オブジェクト107〜109、カーソル105、方向ガイドg、及び、経路ガイドrg、を総称してオブジェクト(あるいはオブジェクト画像)と呼ぶこともある。
図14は、スクリーン91に表示されるオブジェクトを構成するスプライトの説明図である。図14に示すように、図11のダンスオブジェクト106は、例えば、12個のスプライトSP0〜SP11により構成される。スプライトSP0〜SP11の各々は、例えば、16画素×16画素からなる。ダンスオブジェクト106をスクリーン91上に配置するときは、例えば、左上の角のスプライトSP0の中心を、スクリーン91上のどの座標に配置するかが指定される。そして、指定された座標及びスプライトSP0〜SP11のサイズをもとに、各スプライトSP1〜SP11の中心を配置する座標が算出される。
次に、背景110のスクロールについて説明する。まず、全景スクリーンについて説明する。
図15は、図1のテレビジョンモニタ90のスクリーン91に表示される全景スクリーンの説明図である。図15に示すように、全景スクリーン140は、例えば、32個×32個のブロック「0」〜ブロック「1023」により構成される。ブロック「0」〜ブロック「1023」の各々は、例えば、8画素×8画素からなる矩形要素である。ブロック「0」〜ブロック「1023」に対応して、配列PA[0]〜配列PA[1023]及び配列CA[0]〜配列CA[1023]が用意される。ここで、ブロック「0」〜ブロック「1023」を包括して表現するときは、単に「ブロック」と表記し、配列PA[0]〜配列PA[1023]を包括して表現するときは、「配列PA」と表記し、配列CA[0]〜配列CA[1023]を包括して表現するときは、「配列CA」と表記する。
さて、配列PAには、対応するブロックの画素パターンを指定するデータ(画素パターンデータ)が代入される。この画素パターンデータは、ブロックを構成する8画素×8画素の各画素の色情報である。また、配列CAには、対応するブロックに使用するカラーパレット及びデプス値を指定する情報が代入される。カラーパレットは、所定数の色情報からなる。デプス値は、画素の奥行きを表す情報であり、同じ位置に、複数の画素が存在することとなる場合、最も大きなデプス値を持つ画素だけが表示されることになる。
図16(a)は、全景スクリーン140をスクロールする前の説明図、図16(b)は、全景スクリーン140をスクロールした後の説明図、である。図16(a)に示すように、テレビジョンモニタ90のスクリーン91のサイズは、256画素×224画素であるため、全景スクリーン140のうち、256画素×224画素の範囲がスクリーン91に表示される。ここで、全景スクリーン140の中心位置をk画素だけ左にスクロールすることを考える。そうすると、全景スクリーン140の横方向(水平方向)の幅が、スクリーン91の横方向の幅と同じであるため、図16(b)に示すように、スクリーン91の範囲外となった部分(斜線部分)が、スクリーン91の右端に表示される。つまり、概念的には、横方向にスクロールをする場合は、同じ複数の全景スクリーン140が横方向に連なっていると考えることができる。
例えば、スクリーン91の範囲外となった部分(斜線部分)が、図15のブロック「64」,ブロック「96」,…,ブロック「896」,ブロック「928」とすると、これらのブロックに対応する配列PA[64],…PA[928]及び配列CA[64],…CA[928]によって定まる画像が、スクリーン91の右端に表示される。従って、全景スクリーン140の左スクロールにより、背景が連続的に連なるようにするには、スクリーン91の範囲外となった部分(斜線部分)に含まれるブロックに対応する配列PA及び配列CAに代入されたデータを更新する必要がある。そうすれば、更新された配列PA及び配列CAによって定まる画像が、スクリーン91の右端に表示される。
背景を滑らかに連続するように見せるためには、スクリーン91の右端に表示される前に、該当する配列PA及び配列CAのデータを更新する必要がある。そうすると、スクリーン91の左端に表示中のときに、該当する配列PA及び配列CAのデータを更新する必要が生じ、スクリーン91の左端の表示が不連続なものとなる。従って、このような不都合を回避するため、図11〜図13に示すように、スクリーン91の左端にマスク141をする。同様の理由により、右端にもマスク142をする。
なお、右方向へのスクロール処理も上記の左方向のスクロール処理と同様である。また、本実施の形態では、全景スクリーン140の縦方向(垂直方向)のスクロール範囲を±16画素としているため、スクリーン91の上下端にマスクはしていない。
以上のようにして、全景スクリーン140をスクロールさせることで、背景110をスクロールさせる。
さて、次に、音楽ゲーム装置1によるゲーム処理の詳細を説明する。図17は、図6のROM51に格納されたプログラム及びデータを示す概念図である。図17に示すように、ROM51には、ゲームプログラム300、画像データ301、及び、音楽データ304、が格納される。画像データ302は、オブジェクト画像データ(位置ガイドG、方向ガイドg、経路ガイドrg、評価オブジェクト107〜109、及び、カーソル105、等の画像データを含む。)及び背景画像データを含む。音楽データ304は、第1の楽譜データ305、第2の楽譜データ306、及び、音源データ(波形データ)307、を含む。
図17に示す第1の楽譜データ305は、楽曲制御情報が時系列に配置されたデータである。
図18は、図17の第1の楽譜データ305の一例を示す概念図である。図18に示すように、楽曲制御情報は、コマンド、ノートナンバ/待機時間情報、楽器指定情報、ベロシティ、及び、ゲートタイム、を含む。
ノートオンは、音を出すコマンド、待機は、待機時間を設定するコマンド、である。待機時間は、次のコマンドを読み出すまでの時間(ある音符から次の音符までの時間)である。ノートナンバは、音の高さ(ピッチ)を指定する情報である。待機時間情報は、設定する待機時間を指定する情報である。楽器指定情報は、どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、つまり、音量の情報、である。ゲートタイムは、音が発音される長さである。
図17に戻って、第2の楽譜データ306は、ガイド制御情報が、時系列に配置されたデータである。この第2の楽譜データ306は、ガイド(位置ガイドG、方向ガイドg、及び、経路ガイドrg)を、スクリーン91に表示する際に使用される。つまり、第1の楽譜データ305は、楽曲を自動演奏するための楽譜データであるが、第2の楽譜データ306は、ガイドを楽曲に合ったタイミングで表示させるための楽譜データである。
図19は、図17の第2の楽譜データ306の一例を示す概念図である。図19に示すように、ガイド制御情報は、コマンド、ノートナンバ/待機時間情報、及び、楽器指定情報、からなる。
第2の楽譜データ306では、楽器指定情報は、楽曲を奏でる楽器(音色)を示す番号ではなく、第2の楽譜データ306が、ガイド(位置ガイドG、方向ガイドg、及び、経路ガイドrg)を出現させる楽譜データであることを示す番号である。
従って、ノートオンは、音を出すコマンドではなく、位置ガイドGのアニメーション開始を指示したり、方向ガイドg及び経路ガイドrgの出現開始を指示したりするコマンドである。そして、ノートナンバは、音の高さ(ピッチ)を指定する情報ではなく、どの位置ガイドGのアニメーションを開始するかを示したり、どこに方向ガイドg及び経路ガイドrgを出現させるかを示したりする情報である。この点を詳しく説明する。
図20(a)〜図20(c)は、カーソル105を案内する方向とノートナンバとの関係図である。図20(a)〜図20(c)に示すように、矢印の向きが、カーソル105を案内する方向を示し、矢印の始点が、直前にカーソル105を案内した位置ガイドGの位置を示し、矢印の終点が、カーソル105を案内する位置ガイドGの位置を示している。例えば、図20(a)に示すように、ノートナンバ「55」は、カーソル105を、位置ガイドG1から位置ガイドG2へ案内する場合に使用され、楽譜データポインタが指すノートナンバが「55」の場合は、図12に示す位置ガイドG及び方向ガイドgが出現する。また、例えば、図20(c)に示すように、ノートナンバ「57」は、位置ガイドG3を始点として、カーソル105を反時計回りに回転させることを案内する場合に使用され、楽譜データポインタが指すノートナンバが「57」の場合は、図13に示す位置ガイドG及び経路ガイドrgが出現する。
なお、例えば、ノートナンバ「81」は、第2の楽譜データ306の先頭に配置するダミーデータであり(図19参照)、ガイドの表示を制御する情報ではない。こうすることで、第1の楽譜データ305と第2の楽譜データ306との先頭を揃えている。また、例えば、ノートナンバ「79」は、楽曲終了を意味するデータであり、第2の楽譜データ306の最後尾に配置される(図19参照)。なお、ノートナンバ「79」は、ガイドの表示を制御する情報ではない。
さて、次に、高速プロセッサ200が実行する主な処理について説明する。
[ピクセルデータ群取得処理]CPU201は、イメージセンサ43が出力したアナログのピクセルデータを変換したデジタルのピクセルデータを取得して、配列P[X][Y]に代入する。なお、イメージセンサ43の水平方向(横方向、行方向)をX軸、垂直方向(縦方向、列方向)をY軸とする。
[差分データ算出処理]CPU201は、赤外発光ダイオード15の点灯時のピクセルデータP[X][Y]と、消灯時のピクセルデータP[X][Y]と、の差分を算出して、差分データを配列Dif[X][Y]に代入する。ここで、図面を用いて、差分を求める効果を説明する。ここで、ピクセルデータは輝度を表す。よって、差分データも輝度を表す。
図21(a)は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図、図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(c)は、赤外フィルタ17を介したイメージセンサ43の点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(d)は、赤外フィルタ17を介したイメージセンサ43の消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図21(e)は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図、である。
上記のように、操作物150に赤外光を照射し、赤外フィルタ17を介してイメージセンサ43に入射した反射赤外光による画像を撮影している。一般的な室内環境で一般的な光源を用いて操作物150をストロボスコープ撮影した場合には、一般的なイメージセンサ(図5のイメージセンサ43に相当する。)には、図21(a)に示すように、操作物150による画像以外に、蛍光灯光源、白熱灯光源、太陽光(窓)のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図21(a)の画像を処理して操作物150の画像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。
なお、図21(a)の画像は、本来ならば、白黒の階調により表される画像であるが、その図示を省略している。また、図21(a)〜図21(e)では、操作物150の反射シート155が撮影されている。
さて、図21(b)は、図21(a)の画像信号を或る閾値でレベル弁別したときの画像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、操作物150や光源以外の低輝度画像を除去することができる。この図21(b)の画像では操作物150および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、操作物150と他の光源を分別することは難しい。
そこで、図5に示したように赤外フィルタ17を利用して、イメージセンサ43に赤外光による画像以外の画像が写らないようにした。それによって、図21(c)に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が画像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
そのため、図21(c)の点灯時の画像信号のピクセルデータと、図21(d)の消灯時の画像信号のピクセルデータとの差分を計算した。すると、図21(e)に示すように、その差分だけの画像が取得できる。この差分データによる画像は、図21(a)と対比すれば明らかなように、操作物150によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、操作物150の状態情報を取得できる。状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、等である。
以上のような理由で、CPU201は、赤外発光ダイオード15の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
[注目点抽出処理]CPU201は、算出した差分データDif[X][Y]を基に、操作物150の注目点の座標を求める。この点を詳細に説明する。
図22は、操作物150の注目点の座標算出の説明図である。なお、図22に示したイメージセンサ43は、32ピクセル×32ピクセルのものとする。
図22に示すように、CPU201は、X方向(水平方向、横方向、行方向)に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、X方向に32ピクセル分の差分データをスキャンし、そして、Y座標をインクリメントし、というように、Y座標をインクリメントしながら、X方向に32ピクセル分の差分データをスキャンしていく。
この場合、CPU201は、スキャンした32ピクセル×32ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Thとを比較する。そして、CPU201は、その最大輝度値が所定の閾値Thより大きい場合は、その最大輝度値を持つピクセルの座標を基に、操作物150の注目点の座標を算出する。この点を詳しく説明する。
図23(a)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のX方向スキャンの説明図、図23(b)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のY方向スキャンのスタート時の説明図、図23(c)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際のY方向スキャンの説明図、図23(d)は、最大輝度値を持つピクセルの座標を基に、操作物150の注目点座標を算出する際の結果の説明図、である。
図23(a)に示すように、CPU201は、最大輝度値のピクセルの座標を中心に、X方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図23(a)の例では、X=11〜15までが、所定の閾値Thを超えたピクセルである。
次に、図23(b)に示すように、CPU201は、X=11〜15の中心を求める。すると、中心のX座標は、Xc=13である。
次に、図23(c)に示すように、図23(b)で求めたX座標(=13)を中心に、Y方向に、差分データのスキャンを実行して、所定の閾値Thより大きい輝度値のピクセルを検出する。図23(c)の例では、Y=5〜10までが、所定の閾値Thを超えたピクセルである。
次に、図23(d)に示すように、CPU201は、Y=5〜10の中心を求める。すると、中心のY座標は、Yc=7である。
CPU201は、以上のようにして算出した注目点の座標(Xc,Yc)=(13,7)を、スクリーン91上の座標(xc,yc)に変換する。CPU201は、以上のような注目点の座標(xc,yc)を求める処理を、フレームが更新されるたびに実行する。そして、CPU201は、xc及びycをそれぞれ配列Px[M]及びPy[M]に代入する。なお、「M」は整数であり、スクリーン91に表示するフレームが更新されるたびに1つインクリメントされる。
[注目点存在領域判定処理(1)]CPU201は、操作物150の注目点が、スクリーン91上のどの領域a1〜a4に存在するかを判定する。この点を詳細に説明する。
図24は、CPU201による注目点存在領域判定処理(2)の説明図である。図24に示すように、スクリーン91に、位置ガイドG1を含む所定領域a1、位置ガイドG2を含む所定領域a2、位置ガイドG3を含む所定領域a3、及び、位置ガイドG4を含む所定領域a4、を設定する。CPU201は、所定領域a1〜a4の中から、操作物150の注目点(xc,yc)が属する領域を判定し、判定結果を配列J1[M]に格納する。CPU201は、以上のような判定処理を、スクリーン91に表示するフレームが更新されるたびに実行する。
[注目点存在領域判定処理(2)]CPU201は、操作物150の注目点が、スクリーン91上のどの領域A1〜A4に存在するかを判定する。この点を詳細に説明する。
図25は、CPU201による注目点存在領域判定処理(2)の説明図である。図25に示すように、スクリーン91を4分割した領域A1〜A4を設定する。CPU201は、領域A1〜A4の中から、操作物150の注目点(xc,yc)が属する領域を判定し、判定結果を配列J2[M]に格納する。CPU201は、以上のような判定処理を、スクリーン91に表示するフレームが更新されるたびに実行する。
[カーソル制御処理]CPU201は、現在の操作物150の注目点の座標(xc,yc)を、次のフレームで表示するカーソル105の座標として登録する(内部メモリ207に格納する)。
[ガイド種類登録処理]CPU201は、ガイド用の楽譜データポインタに従って、第2の楽譜データ306から読み出したノートナンバ(図19及び図20(a)〜図20(c)参照)を配列NN「0」あるいは配列NN[1]に代入する。このように、配列の要素数を2つにしたのは、ある位置ガイドGによる案内と他の位置ガイドGによる案内とが、違うタイミングで開始されるが、ある期間重複して実行される場合もあるからである。なお、ガイド用の楽譜データポインタは、第2の楽譜データ306の読み出し位置を示すポインタである。
[ガイド制御処理]CPU201は、配列NN[J](ガイド表示番号J=0,1)を参照して、配列NN[J]に代入されているノートナンバに従って、方向ガイドGのアニメーション情報、位置ガイドgのアニメーション情報、及び、経路ガイドrgのアニメーション情報、を登録する。この点を詳細に説明する。
図26は、方向ガイドG、位置ガイドg、及び、経路ガイドrg、のアニメーションの登録処理の説明図である。図26に示すように、ノートナンバと、アニメーション情報(位置ガイドGのアニメーションテーブルの格納位置情報、位置ガイドGのスクリーン91上の表示座標、位置ガイドGの表示タイミング情報、方向ガイドg/経路ガイドrgのアニメーションテーブルの格納位置情報、方向ガイドg/経路ガイドrgのスクリーン91上の表示座標情報、及び、方向ガイドg/経路ガイドrgの表示タイミング情報)と、が関連付けられたテーブルが、ROM51あるいは内部メモリ207に用意される。
このテーブルのノートナンバは、ガイドの表示を制御するためのノートナンバであり、図20(a)〜図20(c)に示したノートナンバである。例えば、CPU201は、配列NN[J]に代入されているノートナンバが「55」の場合は、このテーブルを参照して、ノートナンバ「55」に関連付けられたアニメーション情報(位置ガイドGのアニメーションテーブルの格納位置情報、位置ガイドGのスクリーン91上の表示座標、位置ガイドGの表示タイミング情報、方向ガイドgのアニメーションテーブルの格納位置情報、方向ガイドgのスクリーン91上の表示座標情報、及び、方向ガイドgの表示タイミング情報)を登録する(内部メモリ207の所定領域に格納する。)。
ここで、表示タイミング情報は、スクリーン91にオブジェクトをいつ表示するかを示す情報である。例えば、ガイドナンバ「55」に関しては、位置ガイドGの表示タイミング情報が「0」であるため、現在表示中のフレームの次のフレームにおいて、位置ガイドG2を座標(x1,y1)に表示することを意味する。また、例えば、ガイドナンバ「55」に関しては、方向ガイドgの表示タイミング情報が0,6,12,…,24であるため、現在表示中のフレームの次のフレームにおいて、位置ガイドg1を座標(x3,y1)に表示し、6フレーム後に位置ガイドg2を座標(x4,y1)に表示し、…、24フレーム後に位置ガイドg5を座標(x7,y1)に表示することを意味する。
図27は、図26のアニメーションテーブル格納位置情報により指定されるアニメーションテーブルの例示図である。図27に示すように、アニメーションテーブルは、アニメーション画像データ(複数のオブジェクト画像データを時系列に配置したもの)の格納位置情報、アニメーションを行うオブジェクトの番号を時系列に配置したもの、何フレーム連続して各オブジェクトを表示するかを示す情報(持続フレーム数)、オブジェクトのサイズ、カラーパレットの情報、デプス値の情報、及び、スプライトサイズ、を関連付けたテーブルである。なお、アニメーション画像データは、画素パターンデータである。ここで、画素パターンデータ、カラーパレット、及び、デプス値は、オブジェクトを構成するスプライトに関するものであり、その意味は、図14で説明したブロックに関するものと同様である。
アニメーションテーブル格納位置情報address0が示すアニメーションテーブルは、位置ガイドGのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address1が示すアニメーションテーブルは、方向ガイドgのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address2が示すアニメーションテーブルは、経路ガイドrgのアニメーションテーブルの例示であり、アニメーションテーブル格納位置情報address3が示すアニメーションテーブルは、プレイヤ94によるカーソル105の操作が成功したときに利用する位置ガイドGのアニメーションテーブルの例示である。
[ダンス制御処理]CPU201は、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたか否かを判断する。具体的には、次の通りである。
CPU201は、注目点存在領域判定処理(1)による判定結果J1[M]をもとに、位置ガイドG及び方向ガイドgが現在案内している領域に、カーソル105(つまり、操作物150の注目点)が存在するかどうかを判断する(図24参照)。例えば、CPU201は、位置ガイドG及び方向ガイドgが現在案内している領域が領域a2の場合に、カーソル105が存在する領域が領域a2である場合は、カーソル105が位置ガイドG及び方向ガイドgに適合して操作されたと判断する。
また、CPU201は、注目点存在領域判定処理(2)による判定結果J2[M]をもとに、位置ガイドG及び経路ガイドrgが現在案内している経路に沿って、カーソル105(つまり、操作物150の注目点)が移動したかどうかを判断する(図25参照)。ここで、図20(b)のガイドナンバ「53」が案内する経路は、図25の領域A3→領域A1→領域A2→領域A4である。また、図20(c)のガイドナンバ「57」が案内する経路は、図25の領域A4→領域A2→領域A1→領域A3である。従って、例えば、CPU201は、位置ガイドG及び経路ガイドrgが現在案内している経路がガイドナンバ「53」に対応する経路である場合に、カーソル105が移動した経路が、領域A3→領域A1→領域A2→領域A4、である場合は、カーソル105が位置ガイドG及び経路ガイドrgに適合して操作されたと判断する。
上述の結果、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に対応したダンスアニメーション情報を登録する(内部メモリ207の所定領域に格納する。)。図26のテーブルと同様に、ガイドの表示を制御するノートナンバ(図20(a)〜図20(c)参照)とダンスアニメーション情報とを関連付けたテーブルが、ROM51あるいは内部メモリ207に用意される。ただし、案内方向が同じノートナンバ(例えば、ノートナンバ「55」と「67」)については、ダンスアニメーション情報も同じにしている。
ダンスアニメーション情報は、図26のアニメーション情報と同様のものであり、ダンスアニメーションテーブルの格納位置情報、ダンスオブジェクト106のスクリーン91上の表示座標、及び、ダンスオブジェクト106の表示タイミング情報、を含む。また、ダンスアニメーションテーブルは、図27のアニメーションテーブルと同様のものであり、ダンスアニメーション画像データ(複数のダンスオブジェクト106の画像データを時系列に配置したもの)の格納位置情報、アニメーションを行うダンスオブジェクト106の番号を時系列に配置したもの、何フレーム連続して各ダンスオブジェクト106を表示するかを示す情報(持続フレーム数)、ダンスオブジェクト106のサイズ、カラーパレットの情報、デプス値の情報、及び、スプライトサイズ、を関連付けたテーブルである。ダンスアニメーション画像データは、画素パターンデータである。
なお、図17の第2の楽譜データ306には、速い速度のダンスアニメーションを行うことを指示するノートナンバ、及び、遅い速度のダンスアニメーションを行うことを指示するノートナンバ、を含めることができる。この場合は、ダンスアニメーションテーブルも、速い速度のダンスアニメーションテーブルと遅い速度のダンスアニメーションテーブルとが用意される。また、この場合は、ガイドの表示を制御するノートナンバ及びダンス速度を制御するノートナンバと、ダンスアニメーション情報と、を関連付けたテーブルが、ROM51あるいは内部メモリ207に用意される。同様に、ダンス速度ごとに、ダンスアニメーションテーブルが用意される。
また、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、操作が成功した際に使用する位置ガイドGのアニメーションテーブルの格納位置情報(図27の例では、address3)を登録する。
また、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、評価オブジェクト107〜109のためのアニメーション情報を登録する(内部メモリ207の所定領域に格納する。)。このアニメーション情報は、図26のアニメーション情報と同様のものである。従って、このアニメーション情報には、評価オブジェクト107〜109のためのアニメーションテーブルの格納位置情報が含まれる。このアニメーションテーブルは、図27のアニメーションテーブルと同様のものである。
さらに、プレイヤ94によるカーソル105の操作が、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に適合して操作されたと判断した場合は、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、に対応したスクロール制御を行う。具体的には、CPU201は、位置ガイドG及び方向ガイドg、あるいは、位置ガイドG及び経路ガイドrg、並びに、ダンス速度を制御するノートナンバ、に対応して、全景スクリーン140の中心位置を変更して(図16(a)及び図16(b)参照)、背景110をスクロールする。また、CPU201は、横方向に全景スクリーン140をスクロールさせる場合は、該当する配列PA及び配列CAのデータを変更する。
さて、図28は、第1の楽譜データ305、第2の楽譜データ306、方向ガイドG、位置ガイドg、操作判定、及び、ダンスアニメーション、の関係を説明するためのタイミング図である。なお、図28において、太い線は、処理の実行期間を示し、太い線の左端の黒丸は処理の開始を示し、太い線の右側の黒丸は処理の終了を示す。
図28に示すように、第2の楽譜データ306の読み出しの開始時点は、第1の楽譜データ305の読み出しの開始時点T1,T2,…、よりも所定時間tだけ早い。従って、方向ガイドgは、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3よりも、所定時間tだけ早く表示され、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3まで(例えば、60フレームの間)表示される。同様に、位置ガイドGは、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3よりも、所定時間tだけ早くアニメーションを開始し、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3の少し後までアニメーションを継続する。
CPU201は、カーソル105の操作が、方向ガイドg及び位置ガイドGに適合して行われたか否かの判断を、方向ガイドgの表示開始から、一定期間経過後(例えば、30フレーム経過後)に開始し、第1の楽譜データ305の対応するノートナンバが読み出される時T1〜T3に終了する。そして、CPU201は、カーソル105の操作が、方向ガイドg及び位置ガイドGに適合して行われたと判断した場合は、判断期間の終了時に、ダンスアニメーション情報を登録する。従って、この場合、登録されたダンスアニメーション情報にもとづいて、ダンスアニメーションが実行される。
なお、第2の楽譜データ306の読み出しの開始時点が、第1の楽譜データ305の読み出しの開始時点T1,T2,…、よりも所定時間tだけ早い理由は、次の通りである。つまり、プレイヤ94は、方向ガイドg及び位置ガイドGによる案内開始後に、操作物150の操作を開始するため、その時間誤差を調整するため、方向ガイドg及び位置ガイドGの表示を楽曲のタイミングよりも早くしたのである。
経路ガイドrgの表示タイミングについては、方向ガイドGの表示タイミングと同様である。ただし、例えば、カーソル105の操作が経路ガイドrgに適合するか否かの判断は、経路ガイドrgによる案内開始時から終了時の間(例えば、60フレームの間)に行う。
[画像表示処理]CPU201は、カーソル制御処理、ガイド制御処理、及び、ダンス制御処理、により登録された情報をもとに、描画に必要な情報を垂直ブランキング期間に、図7のグラフィックプロセッサ202に与える。すると、グラフィックプロセッサ202は、与えられた情報をもとに映像信号を生成して、映像信号出力端子47に出力する。これにより、テレビジョンモニタ90のスクリーン91に、位置ガイドGや背景110等を含むゲーム画面が表示される。より具体的には、次の通りである。
CPU201は、カーソル制御処理で登録した座標情報(操作物150の注目点の座標情報)をもとに、カーソル105を構成する各スプライトの表示座標を算出する。そして、CPU201は、カーソル105を構成する各スプライトの、表示座標情報、カラーパレット情報、デプス値、サイズ情報、及び、画素パターンデータ格納位置情報、をグラフィックプロセッサ202に与える。グラフィックプロセッサ202は、これらの情報をもとに、カーソル105を表す映像信号を生成して、映像信号出力端子47に出力する。
また、CPU201は、ガイド制御処理で登録したアニメーション情報に含まれるアニメーションテーブル格納位置情報にもとづいて、アニメーションテーブルを参照し、ガイド(位置ガイドG,方向ガイドg,経路ガイドrg)のアニメーション画像を構成するオブジェクトのサイズ情報、及び、そのオブジェクトを構成するスプライトのサイズ情報、を取得する。そして、CPU201は、これらの情報と、登録されているアニメーション情報に含まれる表示座標情報と、をもとに、当該オブジェクトを構成する各スプライトの表示座標を算出する。また、CPU201は、これから表示する位置ガイドGのオブジェクト番号、アニメーションテーブルに含まれるオブジェクト及びスプライトのサイズ情報、並びに、アニメーションテーブルに含まれる位置ガイドGのアニメーション画像データ格納位置情報、をもとに、オブジェクトを構成する各スプライトの画素パターンデータ格納位置情報を算出する。
そして、さらに、CPU201は、アニメーションテーブルを参照して、位置ガイドGを構成する各スプライトの、カラーパレット情報、デプス値、及び、サイズ情報を、各スプライトの画素パターンデータ格納位置情報及び表示座標情報とともに、グラフィックプロセッサ202に与える。この場合、CPU201は、登録されているアニメーション情報に含まれる位置ガイドGの表示タイミング情報、及び、アニメーションテーブルの持続フレーム数情報、に従って、上記の情報をグラフィックプロセッサ202に与える。
方向ガイドg及び経路ガイドrgに関しても、CPU201がグラフィックプロセッサ202に与える情報の取得及び内容は、位置ガイドGと同様である。ただし、方向ガイドg1〜g4及び経路ガイドrg1〜rg10は、アニメーション情報に含まれる表示タイミング情報が指示するタイミングで、アニメーション情報に含まれる表示座標情報が指示する複数の位置に順次表示されるため、方向ガイドg1〜g4の各々及び経路ガイドrg1〜rg10の各々の表示開始時においては、CPU201は、登録されているアニメーション情報に含まれる表示座標情報及び表示タイミング情報を参照して、方向ガイドg1〜g4及び経路ガイドrg1〜rg10の情報をグラフィックプロセッサ202に与える。
以上のようにして与えられた情報をもとに、グラフィックプロセッサ202は、ガイド(位置ガイドG,方向ガイドg,経路ガイドrg)を表す映像信号を生成して、映像信号出力端子47に出力する。
また、CPU201は、ダンス制御処理で登録したダンスアニメーション情報に含まれるダンスアニメーションテーブル格納位置情報にもとづいて、ダンスアニメーションテーブルを参照し、ダンスアニメーション画像を構成するダンスオブジェクト106のサイズ情報、及び、ダンスオブジェクト106を構成するスプライトのサイズ情報、を取得する。そして、CPU201は、これらの情報と、登録されているダンスアニメーション情報に含まれる表示座標情報と、をもとに、ダンスオブジェクト106を構成する各スプライトの表示座標を算出する。また、CPU201は、これから表示するダンスオブジェクト106の番号、ダンスアニメーションテーブルに含まれるダンスオブジェクト106及びスプライトのサイズ情報、及び、ダンスアニメーションテーブルに含まれるダンスアニメーション画像データ格納位置情報、をもとに、ダンスオブジェクト106を構成する各スプライトの画素パターンデータ格納位置情報を算出する。
そして、さらに、CPU201は、ダンスアニメーションテーブルを参照して、ダンスオブジェクト106を構成する各スプライトの、カラーパレット情報、デプス値、及び、サイズ情報を、各スプライトの画素パターンデータ格納位置情報及び表示座標情報とともに、グラフィックプロセッサ202に与える。この場合、CPU201は、登録されているダンスアニメーション情報に含まれる表示タイミング情報、及び、ダンスアニメーションテーブルの持続フレーム数情報、に従って、上記の情報をグラフィックプロセッサ202に与える。
さらに、CPU201は、ダンス制御処理で登録した、評価オブジェクト107〜109のためのアニメーション情報及びアニメーションテーブルをもとに、映像信号の生成に必要な情報を取得して、グラフィックプロセッサ202に与える。なお、この場合に、CPU201がグラフィックプロセッサ202に与える情報の取得及び内容は、ダンスオブジェクト106の場合と同様である。
以上のようにして与えられた情報をもとに、グラフィックプロセッサ202は、ダンスオブジェクト106及び評価オブジェクト107〜109を表す映像信号を生成して、映像信号出力端子47に出力する。
[楽曲再生]楽曲の再生は、割込み処理により行われる。CPU201は、楽曲用の楽譜データポインタをインクリメントしながら、図18の楽曲制御情報を読み出して解釈する。なお、楽曲用の楽譜データポインタは、第1の楽譜データ305の読み出し位置を示すポインタである。
そして、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、その楽曲制御情報に含まれるノートナンバが示す音の高さ(ピッチ)及び楽器指定情報が示す楽器(音色)に応じた波形データが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、必要なエンベロープデータが格納されている先頭アドレスを、サウンドプロセッサ203に与える。さらに、CPU201は、読み出した楽曲制御情報に含まれるコマンドが、ノートオンであれば、その楽曲制御情報に含まれるノートナンバが示す音の高さ(ピッチ)に応じたピッチ制御情報、及び、その楽曲制御情報に含まれるボリューム情報、をサウンドプロセッサ203に与える。
ここで、ピッチ制御情報について説明しておく。ピッチ制御情報は、波形データを読み出す周期を変えることによって行われるピッチ変換に用いられる。つまり、サウンドプロセッサ203は、ピッチ制御情報を一定期間毎に読み出して累算する。そして、サウンドプロセッサ203は、この累算結果を加工して、波形データのアドレスポインタとする。よって、ピッチ制御情報に大きな値が設定されれば、アドレスポインタのインクリメントは早く行われ、波形データの周波数が高くなり、ピッチ制御情報に小さな値が設定されれば、アドレスポインタのインクリメントは遅く行われ、波形データの周波数が低くなる。このようにして、サウンドプロセッサ203は、波形データのピッチ変換を行う。
さて、サウンドプロセッサ203は、与えられたピッチ制御情報に基づいて、アドレスポインタをインクリメントしながら、与えられた先頭アドレスが示す位置に格納されている波形データをROM51から読み出す。そして、サウンドプロセッサ203は、順次読み出される波形データに、エンベロープデータ及びボリューム情報を乗算して、音声信号を生成する。このようにして、第1の楽譜データ305が指示する楽器の音色、音の高さ(ピッチ)、及び、音量、の音声信号が生成され、音声信号出力端子49に出力される。
一方、CPU201は、読み出した楽曲制御情報に含まれるゲートタイムを管理している。従って、CPU201は、ゲートタイムが経過した時に、該当する楽音の発音を終了するように、サウンドプロセッサ203に指示を出す。これを受けて、サウンドプロセッサ203は、指示された楽音の発音を終了する。
以上のようにして、第1の楽譜データ305に基づいて楽曲が再生され、テレビジョンモニタ90のスピーカ(図示せず)から発音される。
さて、次に、図1の音楽ゲーム装置1の全体の処理の流れを、フローチャートを用いて説明する。
図29は、図1の音楽ゲーム装置1の全体の処理の流れを示すフローチャートである。図29に示すように、ステップS1にて、CPU201は、システムの初期設定を実行する。ステップS2にて、CPU201は、操作物150の状態情報を算出する。ステップS3にて、CPU201は、ステップS2で算出した操作物150の状態情報をもとに、ゲーム処理を実行する。ステップS4にて、CPU201は、「M」が所定値「K」より小さいかどうかを判断する。CPU201は、「M」が所定値「K」以上である場合、ステップS5に進み、「M」に「0」を代入して、ステップS6に進む。一方、CPU201は、「M」が所定値「K」より小さい場合、ステップS4からステップS6に進む。この「M」については、後述の説明の中で明らかになる。
ステップS6では、CPU201は、ビデオ同期の割込み待ちかどうかを判断する。CPU201は、テレビジョンモニタ90の表示画面を更新するための画像情報を、垂直ブランキング期間の開始後にグラフィックプロセッサ202に与える(ステップS7)。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。ステップS6で「YES」であれば、即ち、ビデオ同期の割込み待ちであれば(ビデオ同期信号による割り込みがなければ)、同じステップS6に戻る。一方、ステップS6で「NO」であれば、即ち、ビデオ同期の割込み待ちでなければ(ビデオ同期信号による割り込みがあれば)、ステップS7に進む。ステップS7では、CPU201は、ステップS3のゲーム処理の結果をもとに、ゲーム画面(図11〜図13参照)の生成に必要な画像情報を、垂直ブランキング期間に、グラフィックプロセッサ202に与える(画像表示処理)。
図30は、図29のステップS1の初期設定処理の流れを示すフローチャートである。図30に示すように、ステップS10にて、CPU201は、ガイド用の楽譜データポインタを初期化する。ステップS11にて、CPU201は、ガイド用の実行待機カウンタを「0」にセットする。
ステップS12にて、CPU201は、楽曲用の楽譜データポインタを初期化する。ステップS13にて、CPU201は、楽曲用の実行待機カウンタを「t」にセットする。
ステップS14にて、CPU201は、イメージセンサ43の初期設定処理を実行する。ステップS15にて、CPU201は、各種フラグ及び各種カウンタを初期化する。
ステップS16にて、CPU201は、タイマ回路210を発音のための割込み源としてセットする。なお、割込み処理により、サウンドプロセッサ203による処理が実行されて、テレビジョンモニタ90のスピーカから音声が出力される。
図31は、図30のステップS14のセンサ初期設定処理の流れを示すフローチャートである。図31に示すように、最初のステップS20では、高速プロセッサ200は、設定データとして、コマンド“CONF”を設定する。ただし、このコマンド“CONF”は、イメージセンサ43に、高速プロセッサ200からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップS21にて、コマンド送信処理を実行する。
図32は、図31のステップS21のコマンド送信処理の流れを示すフローチャートである。図32に示すように、最初のステップS30では、高速プロセッサ200は、設定データ(ステップS21の場合はコマンド“CONF”)をレジスタデータ(I/Oポート)に設定し、次のステップS31でレジスタ設定クロックCLK(I/Oポート)をローレベルに設定する。その後、ステップS32で規定時間待機した後、ステップS33で、レジスタ設定クロックCLKをハイレベルに設定する。そして、さらにステップS34での規定時間の待機の後、ステップS35でレジスタ設定クロックCLKを再びローレベルに設定する。
このようにして、図33に示すように、規定時間の待機を行いながら、レジスタ設定クロックCLKをローレベル,ハイレベルそしてローレベルとすることによって、コマンド(コマンドまたはコマンド+データ)の送信処理が行われる。
図31の説明に戻る。ステップS22では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態の場合、イメージセンサ43は先に述べたようにたとえば32ピクセル×32ピクセルのCMOSイメージセンサであるため、設定アドレス“0”のピクセルモードレジスタに32ピクセル×32ピクセルであることを示す“0h”を設定する。次のステップS23において、高速プロセッサ200は、レジスタ設定処理を実行する。
図34は、図31のステップS23のレジスタ設定処理の流れを示すフローチャートである。図34に示すように、最初のステップS40では、高速プロセッサ200は、設定データとして、コマンド“MOV”+アドレスを設定し、次のステップS41で、図32で先に説明したコマンド送信処理を実行して、それを送信する。次にステップS42において、高速プロセッサ200は、設定データとして、コマンド“LD”+データを設定し、次のステップS43でコマンド送信処理を実行して、それを送信する。そして、ステップS44で、高速プロセッサ200は、設定データとして、コマンド“SET”を設定し、次のステップS45でそれを送信する。なお、コマンド“MOV”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“LD”はデータを送信することを示すコマンドで、コマンド“SET”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
図31の説明に戻る。ステップS24では、設定アドレスを“1”(露光時間設定レジスタのローニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のローニブルデータ“Fh”を設定すべきデータとして設定する。そして、ステップS25で図34のレジスタ設定処理を実行する。同様にして、ステップS26において、設定アドレスを“2”(露光時間設定レジスタのハイニブルのアドレスを示す)とし、最大露光時間を示す“FFh”のハイニブルデータ“Fh”を設定すべきデータとして設定し、ステップS27でレジスタ設定処理を実行する。
その後、ステップS28で設定終了を示しかつイメージセンサ43にデータの出力を開始させるためのコマンド“RUN”を設定し、ステップS29で送信する。このようにして、図30に示すステップS14でのセンサ初期設定処理が実行される。ただし、図31〜図34に示す具体例は、使用されるイメージセンサ43の仕様に応じて、適宜変更され得るものである。
図35は、図29のステップS2の状態情報算出処理の流れを示すフローチャートである。図35に示すように、ステップS50にて、CPU201は、ADC208からデジタルのピクセルデータを取得する。このデジタルのピクセルデータは、イメージセンサ43からのアナログのピクセルデータが、ADC208により、デジタルに変換されたものである。
ステップS51にて、注目点抽出処理が実行される。具体的には、CPU201が、赤外発光ダイオード15の発光時のピクセルデータと消灯時のピクセルデータとの差分を算出して、差分データを得る。そして、CPU201は、その差分データの最大値を検出して、所定の閾値Thと比較する。さらに、CPU201は、差分データの最大値が所定の閾値Thを超えている場合は、その最大値の差分データを持つピクセルの座標を、テレビジョンモニタ90のスクリーン91上の座標に変換し、操作物150の注目点の座標とする。
ステップS52にて、CPU201は、操作物150の注目点が、図24のいずれの領域a1〜a4に存在するかを判定して、判定結果を配列J1[M]に格納する。
ステップS53にて、CPU201は、操作物150の注目点が、図25のいずれの領域A1〜A4に存在するかを判定して、判定結果を配列J2[M]格納する。
図36は、図35のステップS50のピクセルデータ群取得処理の流れを示すフローチャートである。図36に示すように、最初のステップS60で、CPU201は、ピクセルデータ配列の要素番号としてXに「−1」、Yに「0」を設定する。本実施の形態におけるピクセルデータ配列は、X=0〜31、Y=0〜31の2次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Xの初期値として「−1」が設定される。続くステップS61では、ピクセルデータの取得処理を実行する。
図37は、図36のステップS61のピクセルデータ取得処理の流れを示すフローチャートである。図37に示すように、最初のステップS70で、CPU201は、イメージセンサ43からのフレームステータスフラグ信号FSFをチェックし、ステップS71でそのアップエッジ(ローレベルからハイレベルへの)が発生したかどうか判断する。そして、ステップS71でフラグ信号FSFのアップエッジを検出すると、次のステップS72において、CPU201は、ADC208に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップS73でイメージセンサ43からのピクセルストローブPDSをチェックし、ステップS74でそのストローブ信号PDSのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
ステップS74で“YES”が判断されると、CPU201は、ステップS75において、X=−1かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップS75で“YES”が判断されると、次のステップS77でそのときのピクセルデータを取得しないで、要素番号Xをインクリメントする。
ステップS75で“NO”が判断されると、行の第2番目以降のピクセルデータであるので、ステップS76およびS78において、そのときのピクセルデータを取得し、テンポラリレジスタ(図示せず)にそのピクセルデータを格納する。その後、図36のステップS62に進む。
図36のステップS62では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列P[Y][X]に代入する。
続くステップS63でXをインクリメントする。Xが32に満たない場合、前述のS61からS63の処理を繰り返し実行する。Xが32の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップS65でXに「−1」を設定し、ステップS66でYをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
ステップS67でYが32の場合、すなわちピクセルデータの取得がピクセルデータ配列P[Y][X]の終端に到達した場合、図35のステップS51に進む。
図38は、図35のステップS51の注目点抽出処理の流れを示すフローチャートである。図38に示すように、ステップS80にて、CPU201は、イメージセンサ43からの、赤外発光ダイオード15の点灯時のピクセルデータと、赤外発光ダイオード15の消灯時のピクセルデータと、の差分を算出して、差分データを得る。ステップS81にて、CPU201は、配列Dif[X][Y]に、算出した差分データを代入する。ここで、実施の形態では、32ピクセル×32ピクセルのイメージセンサ43を用いているため、X=0〜31、Y=0〜31、である。
ステップS82にて、CPU201は、配列Dif[X][Y]の全要素をスキャンする。ステップS83にて、CPU201は、配列Dif[X][Y]の全要素の最大値を検出する。CPU201は、その最大値が所定の閾値Thより大きい場合は、ステップS85に進み、所定の閾値Th以下の場合は、図29のステップS4に進む(ステップS84)。
ステップS85にて、CPU201は、その最大値の座標を基に、操作物150の注目点の座標(Xc,Yc)を算出する。ステップS86にて、CPU201は、回数Mの値を1つインクリメントする(M=M+1)。
ステップS87にて、CPU201は、イメージセンサ43上の注目点の座標(Xc,Yc)を、テレビジョンモニタ90のスクリーン91上の座標(xc,yc)に変換する。ステップS88にて、CPU201は、M回目の注目点のx座標として、配列Px[M]にxcを代入し、M回目の注目点のy座標として、配列Py[M]にycを代入する。
図39は、図38のステップS85の注目点座標算出処理の流れを示すフローチャートである。図39に示すように、ステップS100にて、CPU201は、「m」及び「n」にそれぞれ、ステップS83で求めた最大値のX座標及びY座標を代入する。ステップS101にて、CPU201は、「m」を1つインクリメントする(m=m+1)。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS103に進み、そうでない場合は、ステップS104に進む(ステップS102)。ステップS103にて、CPU201は、「mr」にそのときの「m」を代入する。このように、ステップS101〜S103を繰り返しながら、最大値からX軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
ステップS104にて、CPU201は、「m」に、ステップS83で求めた最大値のX座標を代入する。ステップS105にて、CPU201は、「m」を1つデクリメントする。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS107に進み、そうでない場合は、ステップS108に進む(ステップS106)。ステップS107にて、CPU201は、「ml」にそのときの「m」を代入する。このように、ステップS105〜S107を繰り返しながら、最大値からX軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのX座標を求める。
ステップS108にて、CPU201は、X座標mrとX座標mlとの中心座標を算出して、それを、注目点のX座標(Xc)とする。ステップS109にて、CPU201は、「m」及び「n」にそれぞれ、ステップS108で求めた「Xc」およびステップS83で求めた最大値のY座標を代入する。ステップS110にて、CPU201は、「n」を1つインクリメントする(n=n+1)。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS112に進み、そうでない場合は、ステップS113に進む(ステップS111)。ステップS112にて、CPU201は、「md」にそのときの「n」を代入する。このように、ステップS110〜S112を繰り返しながら、最大値からY軸の正方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
ステップS113にて、CPU201は、「n」に、ステップS83で求めた最大値のY座標を代入する。ステップS114にて、CPU201は、「n」を1つデクリメントする。CPU201は、差分データDif[m][n]が、所定の閾値Thより大きい場合は、ステップS116に進み、そうでない場合は、ステップS117に進む(ステップS115)。ステップS116にて、CPU201は、「mu」にそのときの「n」を代入する。このように、ステップS114〜S116を繰り返しながら、最大値からY軸の負方向にスキャンを実行して、値が所定の閾値Thを超える一番端の差分データのY座標を求める。
ステップS117にて、CPU201は、Y座標mdとY座標muとの中心座標を算出して、それを、注目点のY座標(Yc)とする。以上のようにして、操作物150の注目点の座標(Xc,Yc)が算出される。
図40は、図29のステップS3のゲーム処理の流れを示すフローチャートである。図40に示すように、ステップS120にて、CPU201は、楽曲終了フラグをチェックして(図43のステップS196参照)、楽曲終了であれば、ゲーム処理を終了し、楽曲終了でなければ、ステップS121へ進む
ステップS121にて、CPU201は、操作物150の注目点のx座標Px[M]及びy座標Py[M]を、カーソル105のスクリーン91上の表示座標として登録する。
CPU201は、ステップS122とステップS144との間の処理を2回繰り返す。ここで、「j」は、ガイド表示番号Jを意味する(図43参照)。
ステップS123にて、CPU201は、ガイド開始フラグGF[j]をチェックする(図43のステップS194参照)。CPU201は、ガイド開始フラグGF[j]がオンであれば、ステップS125へ進み、オフであれば、ステップS144へ進む(ステップS124)。ステップS125にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタC[j]が「0」より大きい場合は、ステップS128に進み、フレームカウンタC[j]が「0」の場合は、ステップS127に進む(ステップS126)。ステップS127にて、CPU201は、ノートナンバNN[j]に従って、位置ガイドGのアニメーション情報を登録するとともに、方向ガイドgあるいは経路ガイドrgのアニメーション情報を登録する。フレームカウンタC[j]が「0」の場合にのみ、このようなアニメーション情報の登録を行うのは、一旦、アニメーション情報の登録をすれば、その後は、その登録情報に従ってアニメーションが実行されるため、アニメーションの開始時のみ登録するようにしている。
ステップS128にて、CPU201は、ノートナンバNN[j]をチェックして、カーソル105の旋回を指示するノートナンバである場合は(図20(b)及び図20(c)参照)、ステップS131に進み、それ以外のノートナンバであれば(図20(a)参照)、ステップS129に進む。ステップS129にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタ[j]が、規定フレーム数f1以上であれば、ステップS131へ進み、そうでなければ、ステップS141に進む(ステップS130)。ステップS131にて、CPU201は、カーソル105の操作が、ガイド(位置ガイドG/方向ガイドg/経路ガイドrg)に適合しているか否かを判定する(成功判定)。
なお、ステップS128及びステップS131から明らかなように、ノートナンバNN[j]がカーソル105の旋回を指示するノートナンバである場合には、フレームカウンタC[j]に関係なく、位置ガイドG及び経路ガイドrgの表示開始時から(フレームカウンタC[j]が「0」)、カーソル105の操作の成功判定を行っている。一方、ノートナンバNN[j]がカーソル105の旋回を指示するノートナンバ以外である場合は、位置ガイドG及び方向ガイドgの表示開始時から(フレームカウンタC[j]が「0」)、規定フレーム数f1(例えば。30フレーム)経過した後に、カーソル105の操作の成功判定を行っている(図28参照)。
さて、CPU201は、ステップS131での判定の結果、カーソル105の操作が成功であった場合は、ステップS133に進み、成功でない場合は、ステップS140に進む(ステップS132)。ステップS133にて、CPU201は、ノートナンバNN[j]及びダンス速度フラグDFを参照して(図43のステップS193、ステップS190及びステップS192参照)、ダンスアニメーション情報の登録を行う。また、操作成功の場合、背景110をスクロールすべく、CPU201は、ノートナンバNN[j]及びダンス速度フラグDFを参照して、全景スクリーン140の中心位置の変更、並びに、配列PA及び配列CAの該当データの変更を実行する。さらに、CPU201は、操作成功の際に使用する位置ガイドGのアニメーションテーブル格納位置情報を登録する。
ステップS134にて、CPU201は、ノートナンバNN[j]をチェックして、カーソル105の旋回を指示するノートナンバである場合は、ステップS137に進み、それ以外のノートナンバであれば、ステップS135に進む。ステップS135にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタ[j]が、規定フレーム数f2以上であれば、ステップS137へ進み、そうでなければ、ステップS138に進む(ステップS136)。ステップS137にて、CPU201は、スコアSに「3」を加える。一方、ステップS138にて、スコアSに「1」を加える。
なお、ステップS137では、スコアSに「3」を加え、ステップS138では、スコアSに「1」を加えているの次の理由による。位置ガイドG及び方向ガイドgの表示開始時から(フレームカウンタC[j]が「0」)、規定フレーム数f2(例えば、50フレーム)経過した後の所定期間内(例えば、10フレーム)に、カーソル105が位置ガイドGの領域に存在した場合は、ベストなタイミングでカーソル105が操作されたとして、「3」を加える。一方、規定フレーム数f1経過時から、規定フレーム数f2経過前に、カーソル105が位置ガイドGの領域に存在した場合は、通常の成功であるとして、「1」を加える。また、位置ガイドG及び経路ガイドrg(カーソル105の旋回を指示するガイド)に適合した操作が行われた場合は、一律に「3]を加える。
さて、ステップS139にて、CPU201は、フレームカウンタC[j]をチェックする。CPU201は、フレームカウンタC[j]が、規定フレーム数f3(例えば、60フレーム)に等しければ、ステップS142へ進み、そうでなければ、ステップS141に進む(ステップS140)。ステップS141にて、CPU201は、フレームカウンタC[j]を1つインクリメントする。一方、ステップS142にて、CPU201は、フレームカウンタC[j]に「0」をセットする。ステップS143にて、CPU201は、ガイド開始フラグGF[j]をオフにする。なお、規定フレーム数f3は、成功判定の終了時を定めている。
図41は、割込み処理の流れを示すフローチャートである。図41に示すように、ステップS150にて、CPU201は、楽曲の再生処理を実行する。ステップS151にて、CPU201は、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)の登録処理を実行する。
図42は、図41のステップS150の楽曲再生処理の流れを示すフローチャートである。図42に示すように、ステップS160にて、CPU201は、楽曲用の実行待機カウンタをチェックする。楽曲用の実行待機カウンタの値が「0」ならば、ステップS162へ進み、「0」でないならば、ステップS170へ進む(ステップS161)。ステップS170にて、CPU201は、楽曲用の実行待機カウンタをデクリメントする。
一方、ステップS162にて、CPU201は、楽曲用の楽譜データポインタの指すコマンドを読み出して解釈する。コマンドがノートオンであれば、ステップS164に進む(ステップS163)。一方、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS165に進む。ステップS165にて、CPU201は、楽曲用の実行待機カウンタに待機時間をセットする。
さて、ステップS164にて、CPU201は、サウンドプロセッサ203に、読み出したノートナンバに応じた発音を開始させる。ステップS166にて、CPU201は、楽曲用の楽譜データポインタをインクリメントする。
ステップS167にて、CPU201は、発音中のノートナンバに対する残りの発音時間をチェックする。残りの発音時間が「0」であれば、ステップS169に進み、そうでなければ、図41のステップS151へ進む(ステップS168)。ステップS169にて、CPU201は、サウンドプロセッサ203に対して、残りの発音時間が「0」のノートナンバの発音終了処理を実行させる。
図43は、図41のステップS151のガイド登録処理の流れを示すフローチャートである。図43に示すように、ステップS180にて、CPU201は、ガイド用の実行待機カウンタをチェックする。ガイド用の実行待機カウンタの値が「0」ならば、ステップS182へ進み、「0」でないならば、ステップS198へ進む(ステップS181)。ステップS198にて、CPU201は、ガイド用の実行待機カウンタをデクリメントする。
一方、ステップS182にて、CPU201は、ガイド用の楽譜データポインタの指すコマンドを読み出して解釈する。CPU201は、コマンドがノートオンであれば、ステップS184に進む(ステップS183)。一方、CPU201は、コマンドが、ノートオンでなければ、即ち、待機であれば、ステップS197に進む。ステップS197にて、CPU201は、ガイド用の実行待機カウンタに待機時間をセットする。
さて、CPU201は、ノートナンバが楽曲終了を意味するものであれば、ステップS196に進み、そうでなければ、ステップS185に進む(ステップS184)。ステップS196にて、CPU201は、楽曲終了フラグをオンにする。
一方、CPU201はノートナンバが楽曲開始を意味するものであれば、ステップS195に進み、そうでなければ、ステップS186に進む(ステップS185)。CPU201は、ガイド表示番号Jが、「1」であれば、ステップS188にて、ガイド表示番号Jを「0」とし、ガイド表示番号Jが、「1」でなければ(「0」であれば)、ステップS187にて、ガイド表示番号Jを「1」とする。なお、ある位置ガイドGによる案内と他の位置ガイドGによる案内とが、違うタイミングで開始されるが、ある期間重複して実行される場合もあるため、ガイド表示番号Jを規定して、図29のステップS3のゲーム処理を実行している。
さて、CPU201は、ノートナンバが、速い速度のダンスアニメーションを行うことを指示するノートナンバであれば、ステップS190に進み、そうでなければ、ステップS191に進む(ステップS189)。ステップS190にて、CPU201は、ダンス速度フラグDFを「1」(速い速度のダンスアニメーション)にセットする。
一方、CPU201は、ノートナンバが、遅い速度のダンスアニメーションを行うことを指示するノートナンバであれば、ステップS192に進み、そうでなければ、ステップS193に進む(ステップS191)。ステップS192にて、CPU201は、ダンス速度フラグDFを「0」(遅い速度のダンスアニメーション)にセットする。
さて、ノートナンバが、楽曲終了を表すノートナンバ、楽曲の開始を表すノートナンバ、速い速度のダンスアニメーションを表すノートナンバ、及び、遅い速度のダンスアニメーションを表すノートナンバ、のいずれでもない場合は、そのノートナンバは、ガイドの種類を表すノートナンバ(図20(a)〜図20(c))であるから、CPU201は、ステップS193にて、配列NN[J]に、そのノートナンバを代入する。ステップS194にて、CPU201は、ガイド開始フラグGF[J]をオンにする。
ステップS195にて、CPU201は、ガイド用の楽譜データポインタをインクリメントする。
さて、次に、方向ガイドgの他の例を説明する。図44は、方向ガイドgの他の例を適用したゲーム画面の例示図である。図44に示すように、位置ガイドG1から位置ガイドG2へ延びるように、帯状の方向ガイドg20が表示される。この方向ガイドg20は、時間の経過とともに、位置ガイドG1から位置ガイドG2まで延びる。この方向ガイドg20が延びる方向によって、カーソル105を操作する方向が案内される。また、方向ガイドg20が位置ガイドG2に到達した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg20により、カーソル105の操作タイミングを案内することもできる。なお、方向ガイドg20は、位置ガイドG1から位置ガイドG2までの経路の色を徐々に変化させることにより表現されている、ということもできる。
図45は、方向ガイドgのさらに他の例を適用したゲーム画面の例示図である。図45に示すように、ゲーム画面には、位置ガイドGと他の位置ガイドGとの間に、方向ガイドg30が表示される。この方向ガイドg30は、5つの部分経路g31〜g35からなる。そして、図45の例では、位置ガイドG1から位置ガイドG2へ向かって順番に、5つの部分経路g31〜g35の色が変化する。なお、色の変化は、ハッチングで示している。このようにすることで、部分経路g31〜g35の色の変化の方向により、カーソル105の操作方向を案内できる。また、この例において、カーソル105の移動位置を案内する位置ガイドG2に隣接した部分経路g35の色が変化した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg30により、カーソル105の操作タイミングを案内することもできる。
図46は、方向ガイドgのさらに他の例を適用したゲーム画面の例示図である。図46に示すように、ゲーム画面には、位置ガイドG1と位置ガイドG2との間に、方向ガイドg40が表示される。この方向ガイドg40は、時間の経過とともに、位置ガイドG1から位置ガイドG2まで移動する。この方向ガイドg40が移動する方向によって、カーソル105を操作する方向が案内される。また、方向ガイドg40が位置ガイドG2に到達した時から所定時間を、カーソル105の操作の成功判定の期間とすれば、方向ガイドg40により、カーソル105の操作タイミングを案内することもできる。
さて、以上のように本実施の形態では、カーソル105の操作がガイド(位置ガイドG、方向ガイドg、経路ガイドrg)に適合している場合に、ガイドによる案内に応じて画像(上記例では、ダンスオブジェクト106及び背景110)の表示が制御される。この場合、ガイドによる案内に適合してカーソル105の操作が行われているため、カーソル105の操作に応じて画像の表示が制御されることになる。つまり、カーソル105は操作物150と連動しているため、操作物150の操作に応じて画像の表示が制御される。また、ストロボスコープにより間欠的に光が照射される操作物150を撮像ユニット13により撮影して、操作物150の状態情報を求めている。このため、操作物150の状態情報を求めるために、操作物150に電源により駆動する回路を内蔵する必要がない。さらに、この音楽ゲーム装置1は、楽曲を自動演奏する。
以上の結果、プレイヤ94が関与することなく楽曲を自動演奏しながらも、簡易な構成の操作物150をプレイヤ94が操作することにより、楽曲とともに、操作物150の操作に追従した画像を楽しむことができる。
また、楽曲に基づくタイミングでガイドが制御されるため、プレイヤ94が、ガイドに従ってカーソル105を操作すれば、操作物150の操作も楽曲に合ったものとなる。従って、プレイヤ94は、楽曲に合った操作物150の操作を楽しむことができる。
ここで、例えば、高速プロセッサ200は、ノートナンバ「55」及び「67」に対応して、背景110を左にスクロールさせ、また、ダンスオブジェクト106を反時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「45」及び「64」に対応して、背景110を右にスクロールさせ、また、ダンスオブジェクト106を時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「76」及び「77」に対応して、背景110を下にスクロールさせ、また、ダンスオブジェクト106を反時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、高速プロセッサ200は、ノートナンバ「65」及び「74」に対応して、背景110を上にスクロールさせ、また、ダンスオブジェクト106を時計回りに回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、ノートナンバ「53」に対応して、ダンスオブジェクト106を時計回りに大きく回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。また、例えば、ノートナンバ「57」に対応して、ダンスオブジェクト106を反時計回りに大きく回転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意する。
なお、このようなノートナンバ(図20(a)〜図20(c)参照)は、ガイドの表示を制御するノートナンバであるため、背景110及びダンスオブジェクト106は、ガイドに応じて制御されるということになる。さらに言い換えると、背景110及びダンスオブジェクト106は、操作物150の操作に応じて制御されるということになる。
また、本実施の形態では、位置ガイドGは、カーソル105の移動位置及び操作タイミングを案内する。そして、高速プロセッサ200は、操作物150によるカーソル105の操作が、位置ガイドGの案内に適合したときに、位置ガイドGが案内する移動位置の方向に対応して、画像(上記例では、ダンスオブジェクト106及び背景110)の表示を制御する。
従って、プレイヤ94が、操作物150を操作して、カーソル105を、位置ガイドGが案内する操作タイミングで、位置ガイドGが案内する移動位置に移動させた場合に、位置ガイドGが案内する移動位置の方向に対応して、画像の表示が制御される。その結果、楽曲とともに、操作物150の操作に連動するカーソル105の移動に追従した画像を楽しむことができる(図12参照)。
さらに、本実施の形態では、経路ガイドrgは、カーソル105の移動経路、移動方向、及び、操作タイミングを案内する。従って、プレイヤ94が、操作物150を操作して、カーソル105を、経路ガイドrgが案内する操作タイミングで、経路ガイドrgが案内する移動方向に、経路ガイドrgが案内する移動経路に沿って移動させた場合に、経路ガイドrgに応じて、画像(上記例では、ダンスオブジェクト)の表示が制御される。その結果、楽曲とともに、操作物150の操作に連動するカーソル105の移動に応じた画像を楽しむことができる(図13参照)。
さらに、本実施の形態によれば、操作物150の注目点の位置が、位置ガイドGが案内する期間内に、位置ガイドGが案内する領域内に存在する場合に、操作物150に連動するカーソル105の操作が、位置ガイドGの案内に適合していると判断される(図24参照)。また、操作物150の注目点の位置が、経路ガイドrgが案内する期間内に、経路ガイドrgが案内する複数の所定領域を、経路ガイドrgが案内する所定の順序で移動した場合に、操作物150に連動するカーソル105の操作が、経路ガイドrgの案内に適合していると判断される(図25参照)。以上のように、簡易な処理で算出できる操作物150の注目点の位置により、カーソル105の操作の的確性を判断できる。
さらに、本実施の形態では、位置ガイドGは、スクリーン91上の予め定められた複数の位置の各々に表示される。そして、高速プロセッサ200は、位置ガイドGの形態を、楽曲にもとづくタイミングで変化させる(図12の例では、花が開くアニメーション)。従って、プレイヤ94は、位置ガイドGの形態の変化により、カーソル105を移動すべき位置及び方向を容易に認識できる。
さらに、本実施の形態では、方向ガイドg及び経路ガイドrgは、スクリーン91上の第1の予め定められた位置から第2の予め定められた位置への移動が視覚的に認識できる表示により表現される。このように、位置ガイドGに加えて、方向ガイドgおよび経路ガイドrgによっても、カーソル105の操作を案内している。従って、プレイヤ94は、カーソル105を移動すべき方向及び経路をより明確に認識できる。より具体的には次の通りである。
方向ガイドg及び経路ガイドrgは、スクリーン91上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路上に配置される複数のオブジェクト(図12及び図13の例では、球の図形)の形態の変化により表現される。この場合、プレイヤ94は、複数のオブジェクトの形態の変化により、カーソル105を移動すべき方向及び経路を容易に認識できる。
また、方向ガイドgは、スクリーン91上の第1の予め定められた位置から第2の予め定められた位置へのオブジェクト(図46の例では、鳥の図形)の移動により表現される。この場合、プレイヤ94は、オブジェクトの移動により、カーソル105を移動すべき方向及び経路を容易に認識できる。
また、方向ガイドgは、スクリーン91上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路の形態の変化により表現される(図44及び図45参照)。この場合、プレイヤ94は、経路の形態の変化により、カーソル105を移動すべき方向及び経路を容易に認識できる。
さらに、本実施の形態では、高速プロセッサ200は、操作物150の状態情報として、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせ、を算出できる。このように、操作物150によるカーソル105の操作が、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)に適合しているか否かを判断する際の操作物150の状態情報として、様々な情報を利用できるため、ガイドの表現の自由度が大きくなり、ひいては、ゲーム内容の設計の自由度も大きくなる。
さらに、本実施の形態では、反射シート155を取り付けた操作物150に間欠的に赤外光を照射して、これを撮影することにより、操作物150の状態情報を求めることができる。このため、操作物150の状態情報を求めるために、操作物150に電源により駆動する回路を内蔵する必要がない。よって、操作物150の操作性及び信頼性の向上を図ることができ、また、コストの低減を図ることができる。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)実施の形態では、操作物150に追従して制御される画像(追従画像)の例として、ダンスオブジェクト106及び背景110を挙げた。ただし、本発明は、これに限定されず、追従画像として任意のオブジェクトを選択できる。また、背景110のスクロールにより、ダンスオブジェクト106の移動を表現するのではなく、ダンスオブジェクト106自体を上下左右に移動させることもできる。
(2)実施の形態では、位置ガイドG及び方向ガイドgの双方により、カーソル105の直線操作を案内したが、いずれか一方により案内することもできる。方向ガイドgのみによりカーソル105の操作を案内する場合は、静止画の位置ガイドGを、方向ガイドgの始点と終点とに配置することが好ましい。また、位置ガイドG及び経路ガイドrgの双方により、カーソル105の旋回操作を案内したが、経路ガイドrgのみにより案内することもできる。また、ガイド(位置ガイドG、方向ガイドg、経路ガイドrg)を、アニメーションにより表現したが、本発明は、これに限定されない。また、ガイドの態様は、上記したものに限定されるものではない。
(3)実施の形態では、操作物として、スティック152および反射ボール151からなる操作物150を採用したが、反射体を具備するのもであれば、操作物の形態はこれに限定されない。
(4)実施の形態では、図23(a)〜図23(d)に示すようにして、操作物150の注目点の座標を算出したが、所定の閾値Thを超える最大輝度値を持つピクセルの座標を(図38のステップS83参照)、スクリーン91上の座標に変換して、これを注目点の座標とすることもできる。
(5)図6の高速プロセッサ200として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサを用いることが好ましい。この高速プロセッサは、例えば、特開平10−307790号公報およびこれに対応するアメリカ特許第6,070,205号に詳細に開示されている。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof is incorporated.
FIG. 1 is a diagram showing an overall configuration of a music game system according to an embodiment of the present invention. As shown in FIG. 1, the music game system includes a music game apparatus 1, an operation article 150, and a television monitor 90.
The imaging unit 13 is incorporated in the housing 19 of the music game apparatus 1. The imaging unit 13 includes four infrared light emitting diodes 15 and an infrared filter 17. The light emitting part of the infrared light emitting diode 15 is exposed from the infrared filter 17.
A DC power supply voltage is applied to the music game apparatus 1 by an AC adapter 92. However, instead of the AC adapter 92, a DC power supply voltage can be applied by a battery (not shown).
The television monitor 90 is provided with a screen 91 on the front surface thereof. The television monitor 90 and the music game apparatus 1 are connected by an AV cable 93. Note that the music game apparatus 1 is placed on the upper surface of a television monitor 90, for example, as shown in FIG.
When the player 94 turns on a power switch (not shown) provided on the back of the music game apparatus 1, a game screen is displayed on the screen 91. The player 94 operates the operation article 150 according to the game screen guide to execute the game. Here, the operation of the operation article 150 means moving (for example, moving) the operation article itself, and does not include pressing a switch, moving an analog stick, or the like.
The infrared light emitting diode 15 of the imaging unit 13 emits infrared light intermittently. Infrared light from the infrared light emitting diode 15 is reflected by a reflection sheet (described later) attached to the operation article 150 and is input to an imaging device (described later) provided inside the infrared filter 17. In this way, the operation article 150 is photographed intermittently. Therefore, the music game apparatus 1 can acquire an intermittent video signal of the operation article 150 moved by the player 94. The music game apparatus 1 analyzes this video signal and reflects the analysis result in the game. The reflective sheet used in the present embodiment is, for example, a retroreflective sheet.
FIG. 2 is a perspective view of the operation article 150 of FIG. As shown in FIG. 2, the operation article 150 is configured by fixing a reflective ball 151 to the tip of a stick 152. The reflection ball 151 reflects infrared light from the infrared light emitting diode 15. Details of the reflective ball 151 will be described.
3A is a top view of the reflective ball 151 in FIG. 2, FIG. 3B is a side view of the reflective ball 151 from the direction of arrow A in FIG. 3A, and FIG. It is a side view of the reflective ball | bowl 151 from the arrow B direction of 3 (a).
As shown in FIGS. 3A to 3C, the reflective ball 151 includes a spherical inner shell inside a spherical outer shell 153 having a transparent color (including translucent, colored transparent, and colorless transparent). 154 is fixed. A reflective sheet 155 is attached to the spherical inner shell 154. The reflection sheet 155 reflects the infrared light from the infrared light emitting diode 15.
4 is a longitudinal sectional view of the reflective ball 151 of FIG. As shown in FIG. 4, the spherical outer shell 153 is formed by fixing two hemispherical outer shells with a boss 156 and a screw (not shown). The spherical inner shell 154 is formed by fixing two hemispherical inner shells with a boss 157 inside the spherical outer shell 153. Further, a stick 152 is inserted and fixed to the reflective ball 151. Specifically, the stick 152 is sandwiched between two hemispherical outer shells constituting the spherical outer shell 153 and two hemispherical inner shells constituting the spherical inner shell 154, and the two hemispherical outer shells are connected to the boss 156. In addition, the stick 152 is attached to the reflective ball 151 by fixing the two hemispherical inner shells with the boss 157 together with the screws.
FIG. 5 is an illustrative view showing one example of the imaging unit 13 of FIG. As shown in FIG. 5, the imaging unit 13 includes a unit base 35 formed by plastic molding, for example, and a support cylinder 36 is attached in the unit base 35. A trumpet-shaped opening 41 whose inner surface has an inverted conical shape is formed on the upper surface of the support cylinder 36, and a concave lens 39 is formed inside the cylindrical portion below the opening 41, for example, by molding of transparent plastic. An optical system including a convex lens 37 is provided, and an image sensor 43 as an image sensor is fixed below the convex lens 37. Therefore, the image sensor 43 can take an image corresponding to light incident from the opening 41 through the lenses 39 and 37.
The image sensor 43 is a low-resolution CMOS image sensor (for example, 32 pixels × 32 pixels: gray scale). However, the image sensor 43 may have a larger number of pixels or may be composed of other elements such as a CCD. In the following description, it is assumed that the image sensor 43 is composed of 32 pixels × 32 pixels.
In addition, a plurality (four in the embodiment) of infrared light emitting diodes 15 whose light emission directions are all upward are attached to the unit base 35. This infrared light emitting diode 15 irradiates infrared light above the imaging unit 13. An infrared filter (a filter that transmits only infrared light) 17 is attached above the unit base 35 so as to cover the opening 41. The infrared light emitting diode 15 functions as a stroboscope because lighting / extinguishing (non-lighting) is repeated continuously as will be described later. However, “stroboscope” is a general term for devices that illuminate a moving body intermittently. Therefore, the image sensor 43 photographs an object that moves within the photographing range, that is, the operation article 150 in the embodiment. As will be described later with reference to FIG. 8, the stroboscope mainly includes an infrared light emitting diode 15, an LED drive circuit 75, and a high-speed processor 200.
Here, the imaging unit 13 is incorporated in the housing 19 so that the light receiving surface of the image sensor 43 is inclined by a predetermined angle (for example, 90 degrees) from the horizontal plane. Further, the imaging range of the image sensor 43 by the concave lens 39 and the convex lens 37 is, for example, a range of 60 degrees.
FIG. 6 is a diagram showing an electrical configuration of the music game apparatus 1 of FIG. As shown in FIG. 6, the music game apparatus 1 includes an image sensor 43, an infrared light emitting diode 15, a video signal output terminal 47, an audio signal output terminal 49, a high speed processor 200, a ROM (read only memory) 51, and a bus. 53.
A bus 53 is connected to the high speed processor 200. Further, the ROM 51 is connected to the bus 53. Therefore, since the high speed processor 200 can access the ROM 51 via the bus 53, the game program stored in the ROM 51 can be read and executed, and the image data and music data stored in the ROM 51 are read. Thus, a video signal and an audio signal can be generated and output to the video signal output terminal 47 and the audio signal output terminal 49.
The operation article 150 is irradiated with infrared light emitted from the infrared light emitting diode 15, and the infrared light is reflected by the reflection sheet 155. The reflected light from the reflection sheet 155 is detected by the image sensor 43, and thus the image signal of the reflection sheet 155 is output from the image sensor 43. The analog image signal from the image sensor 43 is converted into digital data by an A / D converter (described later) built in the high speed processor 200. Similar processing is performed when the infrared light is turned off. The high speed processor 200 analyzes the digital data and reflects the analysis result in the game process.
FIG. 7 is a block diagram of the high speed processor 200 of FIG. As shown in FIG. 7, the high-speed processor 200 includes a central processing unit (CPU) 201, a graphic processor 202, a sound processor 203, a DMA (direct memory access) controller 204, a first bus arbitration circuit 205, Second bus arbitration circuit 206, internal memory 207, A / D converter (ADC: analog to digital converter) 208, input / output control circuit 209, timer circuit 210, DRAM (dynamic random access memory) refresh control circuit 211, external memory interface Circuit 212, clock driver 213, PLL (phase-locked loop) circuit 214, low voltage detection circuit 21 Includes first bus 218, and, second bus 219, a.
The CPU 201 performs various operations and controls the entire system according to a program stored in the memory (the internal memory 207 or the ROM 51). The CPU 201 is a bus master of the first bus 218 and the second bus 219, and can access resources connected to the respective buses.
The graphic processor 202 is a bus master of the first bus 218 and the second bus 219, generates a video signal based on data stored in the internal memory 207 or the ROM 51, and outputs the video signal to the video signal output terminal 47. . The graphic processor 202 is controlled by the CPU 201 through the first bus 218. The graphic processor 202 has a function of generating an interrupt request signal 220 to the CPU 201.
The sound processor 203 is a bus master of the first bus 218 and the second bus 219, generates an audio signal based on data stored in the internal memory 207 or the ROM 51, and outputs the audio signal to the audio signal output terminal 49. . The sound processor 203 is controlled by the CPU 201 through the first bus 218. Further, the sound processor 203 has a function of generating an interrupt request signal 220 to the CPU 201.
The DMA controller 204 manages data transfer from the ROM 51 to the internal memory 207. The DMA controller 204 has a function of generating an interrupt request signal 220 to the CPU 201 in order to notify the completion of data transfer. The DMA controller 204 is a bus master for the first bus 218 and the second bus 219. The DMA controller 204 is controlled by the CPU 201 through the first bus 218.
The internal memory 207 includes necessary ones among a mask ROM, an SRAM (static random access memory), and a DRAM. When it is necessary to hold SRAM data by a battery, the battery 217 is required. When a DRAM is installed, an operation for holding stored contents called refresh is required periodically.
The first bus arbitration circuit 205 receives a first bus use request signal from each bus master of the first bus 218, performs arbitration, and issues a first bus use permission signal to each bus master. Each bus master is permitted to access the first bus 218 by receiving the first bus use permission signal. Here, the first bus use request signal and the first bus use permission signal are shown as a first bus arbitration signal 222 in FIG.
The second bus arbitration circuit 206 receives a second bus use request signal from each bus master of the second bus 219, performs arbitration, and issues a second bus use permission signal to each bus master. Each bus master is permitted to access the second bus 219 by receiving the second bus use permission signal. Here, the second bus use request signal and the second bus use permission signal are shown as a second bus arbitration signal 223 in FIG.
The input / output control circuit 209 performs communication with an external input / output device or an external semiconductor element via an input / output signal. Input / output signals are read / written from the CPU 201 via the first bus 218. The input / output control circuit 209 has a function of generating an interrupt request signal 220 to the CPU 201.
The input / output control circuit 209 outputs an LED control signal LEDC for controlling the infrared light emitting diode 15.
The timer circuit 210 has a function of generating an interrupt request signal 220 for the CPU 201 based on a set time interval. The time interval and the like are set by the CPU 201 via the first bus 218.
The ADC 208 converts the analog input signal into a digital signal. This digital signal is read by the CPU 201 via the first bus 218. Further, the ADC 208 has a function of generating an interrupt request signal 220 to the CPU 201.
The ADC 208 receives pixel data (analog) from the image sensor 43 and converts it into digital data.
The PLL circuit 214 generates a high frequency clock signal obtained by multiplying the sine wave signal obtained from the crystal resonator 216.
The clock driver 213 amplifies the high frequency clock signal received from the PLL circuit 214 to a signal strength sufficient to supply the clock signal 225 to each block.
The low voltage detection circuit 215 monitors the power supply voltage Vcc, and issues a reset signal 226 of the PLL circuit 214 and other system-wide reset signals 227 when the power supply voltage Vcc is equal to or lower than a certain voltage. Further, when the internal memory 207 is composed of SRAM and data retention by the SRAM battery 217 is required, the battery backup control signal 224 is issued when the power supply voltage Vcc is equal to or lower than a predetermined voltage. .
The external memory interface circuit 212 has a function for connecting the second bus 219 to the external bus 53, and a function for controlling the bus cycle length of the second bus by issuing a cycle end signal 228 of the second bus 219. Have.
The DRAM refresh control circuit 211 unconditionally acquires the right to use the first bus 218 at regular intervals and performs a DRAM refresh operation. The DRAM refresh control circuit 211 is provided when the internal memory 207 includes a DRAM.
Here, a configuration for capturing pixel data from the image sensor 43 to the high-speed processor 200 will be described in detail with reference to FIGS.
FIG. 8 is a circuit diagram showing a configuration and an LED driving circuit for fetching pixel data from the image sensor 43 in FIG. 6 to the high-speed processor 200. FIG. 9 is a timing chart showing an operation when the pixel data is taken into the high speed processor 200 from the image sensor 43 of FIG. FIG. 10 is an enlarged timing diagram showing a part of FIG.
As shown in FIG. 8, since the image sensor 43 is of a type that outputs pixel data D (X, Y) as an analog signal, the pixel data D (X, Y) is an analog input port of the high-speed processor 200. Is input. The analog input port is connected to the ADC 208 in the high-speed processor 200, and thus the high-speed processor 200 acquires pixel data converted from the ADC 208 into digital data therein.
The midpoint of the analog pixel data D (X, Y) described above is determined by the reference voltage applied to the reference voltage terminal Vref of the image sensor 43. Therefore, a reference voltage generation circuit 59 composed of, for example, a resistance voltage dividing circuit is provided in association with the image sensor 43, and a reference voltage having a constant magnitude is always supplied from the circuit 59 to the reference voltage terminal Vref.
Each digital signal for controlling the image sensor 43 is supplied to or output from the I / O port of the high-speed processor 200. Each of these I / O ports is a digital port capable of controlling input / output, and is connected to the input / output control circuit 209 by this high speed processor 200.
More specifically, a reset signal reset for resetting the image sensor 43 is output from the output port of the high speed processor 200 and is supplied to the image sensor 43. Further, the image sensor 43 outputs a pixel data strobe signal PDS and a frame status flag signal FSF, and these signals are given to the input port of the high speed processor 200.
The pixel data strobe signal PDS is a strobe signal as shown in FIG. 9B for reading each pixel signal D (X, Y) described above. The frame status flag signal FSF is a flag signal indicating the state of the image sensor 43, and defines the exposure period of the image sensor 43 as shown in FIG. That is, the low level shown in FIG. 9A of the frame status flag signal FSF indicates the exposure period, and the high level shown in FIG. 9A indicates the non-exposure period.
The high speed processor 200 outputs a command (or command + data) to be set in a control register (not shown) of the image sensor 43 from the I / O port as register data, and repeats, for example, a high level and a low level. A set clock CLK is output and supplied to the image sensor 43.
As the infrared light emitting diode 15, four infrared light emitting diodes 15a, 15b, 15c and 15d connected in parallel with each other are used as shown in FIG. As described above, the four infrared light emitting diodes 15a to 15d irradiate infrared light in the same direction as the viewpoint direction of the image sensor 43 so as to illuminate the operation article 150, and the image sensor 43. Arranged to surround. However, these individual infrared light-emitting diodes 15a to 15d are simply referred to as infrared light-emitting diodes 15 unless it is particularly necessary to distinguish them.
The infrared light emitting diode 15 is turned on or off (not lit) by the LED drive circuit 75. The LED drive circuit 75 receives the above-described frame status flag signal FSF from the image sensor 43, and this flag signal FSF is given to the base of the PNP transistor 77 through a differentiation circuit 67 including a resistor 69 and a capacitor 71. A pull-up resistor 79 is further connected to the PNP transistor 77, and the base of the PNP transistor 77 is normally pulled up to a high level. When the frame status signal FSF becomes low level, the low level is input to the base via the differentiation circuit 67, so that the PNP transistor 77 is turned on only when the flag signal FSF is low level.
The emitter of the PNP transistor 77 is grounded via resistors 73 and 65. The connection point between the emitter resistors 73 and 65 is connected to the base of the NPN transistor 81. The collector of the NPN transistor 81 is commonly connected to the anodes of the infrared light emitting diodes 15a to 15d. The emitter of the NPN transistor 81 is directly connected to the base of another NPN transistor 61. The collector of the NPN transistor 61 is commonly connected to the cathodes of the infrared light emitting diodes 15a to 15d, and the emitter is grounded.
In this LED drive circuit 75, only when the LED control signal LEDC output from the I / O port of the high speed processor 200 is active (high level) and the frame status flag signal FSF from the image sensor 43 is low level. The infrared light emitting diode 15 is turned on.
As shown in FIG. 9A, when the frame status flag signal FSF becomes low level, the PNP transistor 77 is turned on during the low level period (although there is actually a delay due to the time constant of the differentiation circuit 67). Therefore, when the LED control signal LEDC shown in FIG. 9D is output from the high speed processor 200 at a high level, the base of the NPN transistor 81 becomes high level, and the transistor 81 is turned on. When the transistor 81 is turned on, the transistor 61 is turned on. Therefore, a current flows from the power source (indicated by small white circles in FIG. 8) through each of the infrared light emitting diodes 15a to 15d and the transistor 61. Accordingly, as shown in FIG. 9E, each of the infrared light emitting diodes 15a to 15d Illuminated.
In this way, in the LED drive circuit 75, the infrared light-emitting diode 15 is activated only when the LED control signal LEDC in FIG. 9D is active and the frame status flag signal FSF in FIG. 9A is at a low level. Since it is lit, the infrared light emitting diode 15 is lit only during the exposure period of the image sensor 43 (see FIG. 9F).
Therefore, useless power consumption can be suppressed. Further, since the frame status flag signal FSF is coupled by the capacitor 71, even if the flag signal FSF is stopped at a low level due to the runaway of the image sensor 43, the transistor 77 is always turned off after a certain time. The infrared light emitting diode 15 is also always turned off after a certain time.
As described above, by changing the duration of the frame status signal FSF, the exposure time of the image sensor 43 can be set or changed arbitrarily and freely.
Furthermore, by changing the duration and period of the frame status signal FSF and the LED control signal LEDC, the light emission period, non-light emission period, light emission / non-light emission period, etc. of the infrared light emitting diode 15, that is, the stroboscope can be arbitrarily and freely set. Can be changed or set.
As described above, when the operation article 150 is irradiated with the infrared light from the infrared light emitting diode 15, the image sensor 43 is exposed by the reflected light from the operation article 150. In response, the image sensor 43 outputs the pixel data D (X, Y) described above. More specifically, the image sensor 43 performs the pixel data strobe PDS shown in FIG. 9B during a period in which the frame status flag signal FSF in FIG. 9A is at a high level (non-lighting period of the infrared light emitting diode 15). In synchronism with this, analog pixel data D (X, Y) is output as shown in FIG.
The high speed processor 200 acquires digital pixel data through the ADC 208 while monitoring the frame status flag signal FSF and the pixel data strobe PDS.
However, as shown in FIG. 10C, the pixel data is output in the order of row 0, row 1,... Row 31. However, as will be described later, the first pixel of each row is dummy data.
Next, the game contents by the music game apparatus 1 will be described with specific examples.
FIG. 11 is a view showing an example of a game screen displayed on the screen 91 of the television monitor 90 of FIG. The game screen shown in FIG. 11 is a game start screen. As illustrated in FIG. 11, as a game start screen, a background 91, position guides G1 to G4, evaluation objects 107 to 109, a cursor 105, a dance object 106, and masks 141 and 142 are displayed on a screen 91. Then, automatic performance of the music is started.
In the example of the present embodiment, the position guides G1 to G4 are represented by flower figures, the evaluation objects 107 to 109 are represented by heart figures, and the dance object 106 is danced by men and women. The cursor 105 is expressed by a graphic imitating the operation article 150. Here, when the position guides G1 to G4 are expressed comprehensively, they are expressed as “position guide G”.
The cursor 105 represents the position of the operation article 150 on the screen 91, and moves on the screen 91 following the movement of the operation article 150. Therefore, from the viewpoint of the player 94, the operation of the operation article 150 and the operation of the cursor 105 are synonymous. The position guide G guides the operation timing and movement position of the cursor 105 (the operation article 150) at the timing of the music to be automatically played. Direction guides g1 to g5 described later guide the operation timing and moving direction of the cursor 105 (operation article 150) at the timing of music to be automatically played. The route guides rg1 to rg10 described later guide the operation timing, moving direction, and moving route of the cursor 105 (operation article 150) at the timing of the music to be automatically played. The evaluation objects 107 to 109 visually display the evaluation of the operation of the cursor 105 (operation article 150) by the player 94. Here, when the direction guides g1 to g5 are comprehensively expressed, they are expressed as “direction guide g”. In addition, when the route guides rg1 to rg10 are comprehensively expressed, they are described as “route guide rg”.
FIG. 12 is another exemplary view of the game screen displayed on the screen 91 of the television monitor 90 of FIG. As shown in FIG. 12, the animation in which the flower gradually opens according to the position guide G indicates a position where the cursor 105 is moved. As a result, the player 94 is instructed to move the cursor 105 to the area where the position guide G in which the flower opening animation is performed is displayed. The player 94 moves the operation article 150 to move the cursor 105 to the area where the position guide G in which the flower opening animation is displayed is displayed. After the flower opening animation, the position guide G is expressed by an animation in which the flower is deflated. Further, the direction of the position guide G that is performing an animation in which a flower opens indicates the direction in which the cursor 105 is moved. Thereby, the player 94 is instructed to move the cursor 105 in the direction of the position guide G in which the flower opening animation is performed.
In addition to the above, the direction in which the cursor 105 is moved is also guided by the direction guides g1 to g5. That is, the direction guides g1 to g5 appear in the order of the direction guide g1, the next direction guide g2, the next direction guide g3, the next direction guide g4, and the next direction guide g5. Therefore, the direction in which the cursor 105 is moved is guided by the appearance direction of the direction guides g1 to g5. Here, each of the direction guides g1 to g5 is a figure that represents a small sphere at the beginning, and the sphere gradually increases with time. Is executed. Therefore, the direction in which the spherical figure appears is the direction in which the cursor 105 is moved.
The player 94 must move the cursor 105 to an area where the position guide G is displayed during a predetermined time when the flower by the position guide G opens. That is, the position guide G guides the operation timing of the cursor 105 by an animation in which a flower opens. In addition, the player 94 must move the cursor 105 to an area where the position guide G where the flower is opened is displayed for a predetermined time after the figure of the sphere by the last direction guide g appears. . That is, the operation timing of the cursor 105 is also guided by the direction guide g.
The position guide G also has a function of notifying the operation direction of the cursor 105. That is, when the flower bud starts to open by the position guide G, the player 94 can know the direction in which the cursor 105 is moved next. Further, the direction guide g also has a function of notifying the operation direction of the cursor 105. That is, since the direction guide g appears before the operation timing arrives, the player 94 can also know the direction in which the cursor 105 is moved next.
The above points will be described with specific examples. In the example of FIG. 12, the position where the cursor 105 is moved is guided by an animation in which the flower gradually opens by the position guide G2. Thereby, the player 94 is instructed to move the cursor 105 to the area where the position guide G2 in which the flower opening animation is performed is displayed. Further, the direction of the position guide G2 in which the flower opening animation is performed is the direction in which the cursor 105 is moved. Thereby, the player 94 is instructed to move the cursor 105 in the direction of the position guide G2 in which the flower opening animation is performed. Furthermore, a spherical figure formed by the direction guides g1 to g5 appears from the position guide G1 toward the position guide G2. As described above, the direction guides g1 to g5 guide the movement of the cursor 105 from the position guide G1 to the position guide G2.
The player 94 must move the cursor 105 to a region where the position guide G2 is displayed during a predetermined time when the flower is opened by the position guide G2. In addition, the player 94 must move the cursor 105 to the area where the position guide G2 where the flower is opened is displayed for a predetermined time after the sphere figure by the last direction guide g5 appears. . That is, the operation timing of the cursor 105 is also guided by the direction guide g.
The player 94 moves the cursor 105 from the position guide G1 to the position guide G2 by appropriately operating the operation article 150 according to the guidance by the position guide G2 and the direction guides g1 to g5. Accordingly, an animation in which all of the evaluation objects 107 to 109 blink is executed. When the cursor 105 is operated at the most appropriate timing, an animation in which all of the evaluation objects 107 to 109 blink is executed, and the cursor 105 is operated at an allowable range timing, although not the most appropriate timing. In this case, an animation in which only the evaluation object 108 blinks is executed. Note that the position guides G1, G3, and G4 are flower bud shapes because they are not time zones for guiding the operation timing and movement position of the cursor 105. Further, the operation timing and the operation direction of the cursor 105 are guided between the position guide G2 and the position guide G4, between the position guide G4 and the position guide G3, and between the position guide G3 and the position guide G1. Since it is not a time zone, the direction guide g does not appear.
Since the player 94 appropriately operates the cursor 105 according to the guidance by the position guide G2 and the direction guides g1 to g5, the moving direction of the cursor 105 (from the position guide G1 to the position guide G2, that is, toward the screen 91). Animation to perform the dance in the direction corresponding to (right direction). For example, the dance object 106 performs an animation that rotates counterclockwise, and the background 110 scrolls leftward toward the screen 91. As a result, the dance object 106 appears to have rotated counterclockwise while moving in the right direction even though the position of the dance object 106 is at the center of the screen 91.
FIG. 13 is a view showing still another exemplary game screen displayed on the screen 91 of the television monitor 90 of FIG. In FIG. 13, the four position guides G1 to G4 have an animation in which a flower opens at the same time. With this as an opportunity, the player 94 is instructed to move the cursor 105 in the route and direction guided by the route guides rg1 to rg10. In this case, the appearance positions of the route guides rg1 to rg10 indicate the guide route of the cursor 105. Further, the route guides rg1 to rg10 appear in the order of the route guide rg1, then the route guide rg2, then the route guide rg3, then the route guide rg4,..., And finally the route guide rg10. Therefore, the direction in which the cursor 105 is moved is guided by the direction in which the route guides rg1 to rg10 appear. Here, each of the route guides rg1 to g10 is a figure that represents a small sphere at the beginning of the appearance, and the sphere gradually increases with time. Is executed. In FIG. 13, it is guided that the cursor 105 is moved counterclockwise along the route guides rg1 to g10, starting from the vicinity of the position guide G3.
When the player 94 operates the operation article 150 and appropriately operates the cursor 105 according to the position guides G1 to G4 and the route guides rg1 to rg10, the dance object 106 displays an animation corresponding to the route guides rg1 to rg10 (for example, , An animation that rotates greatly counterclockwise).
As described above, the objects such as the dance object 106 shown in FIGS. 12 and 13 are images of a certain frame of animation. For example, a series of dance objects 106 are prepared for dance animation. For example, a series of flower graphic object images are prepared for the animation of the position guide G. For example, a series of spherical object images are prepared for animation of the direction guide g and the route guide rg.
Here, the dance object 106, the position guide G, the evaluation objects 107 to 109, the cursor 105, the direction guide g, and the route guide rg on the game screen shown in FIGS. 11 to 13 are composed of one or more sprites. The sprite is a rectangular pixel set and can be arranged at an arbitrary position on the screen 91. The position guide G, the evaluation objects 107 to 109, the cursor 105, the direction guide g, and the route guide rg may be collectively referred to as an object (or an object image).
FIG. 14 is an explanatory diagram of sprites that constitute objects displayed on the screen 91. As shown in FIG. 14, the dance object 106 of FIG. 11 is composed of, for example, 12 sprites SP0 to SP11. Each of the sprites SP0 to SP11 includes, for example, 16 pixels × 16 pixels. When the dance object 106 is arranged on the screen 91, for example, the coordinate on which the center of the upper left corner sprite SP0 is arranged is designated. Based on the designated coordinates and the sizes of the sprites SP0 to SP11, the coordinates for arranging the centers of the sprites SP1 to SP11 are calculated.
Next, scrolling of the background 110 will be described. First, the panoramic view screen will be described.
FIG. 15 is an explanatory diagram of a panoramic screen displayed on the screen 91 of the television monitor 90 of FIG. As shown in FIG. 15, the panoramic view screen 140 includes, for example, 32 × 32 blocks “0” to “1023”. Each of the blocks “0” to “1023” is, for example, a rectangular element composed of 8 pixels × 8 pixels. Corresponding to the blocks “0” to “1023”, an array PA [0] to an array PA [1023] and an array CA [0] to CA [1023] are prepared. Here, when the block “0” to the block “1023” are comprehensively expressed, it is simply expressed as “block”, and when the array PA [0] to the array PA [1023] is comprehensively expressed, “ When it is expressed as “array PA” and array CA [0] to array CA [1023] is comprehensively expressed, it is expressed as “array CA”.
Now, data (pixel pattern data) designating the pixel pattern of the corresponding block is substituted into the array PA. This pixel pattern data is color information of each pixel of 8 pixels × 8 pixels constituting the block. Also, information for designating the color palette and depth value used for the corresponding block is substituted into the array CA. The color palette includes a predetermined number of color information. The depth value is information representing the depth of the pixel, and when a plurality of pixels are present at the same position, only the pixel having the largest depth value is displayed.
FIG. 16A is an explanatory diagram before scrolling the panoramic view screen 140, and FIG. 16B is an explanatory diagram after scrolling the panoramic view screen 140. As shown in FIG. 16A, since the size of the screen 91 of the television monitor 90 is 256 pixels × 224 pixels, a range of 256 pixels × 224 pixels of the panoramic screen 140 is displayed on the screen 91. . Here, consider that the center position of the panoramic screen 140 is scrolled to the left by k pixels. Then, since the width in the horizontal direction (horizontal direction) of the panoramic view screen 140 is the same as the width in the horizontal direction of the screen 91, as shown in FIG. Portion) is displayed at the right end of the screen 91. That is, conceptually, when scrolling in the horizontal direction, it can be considered that the same plurality of panoramic screens 140 are connected in the horizontal direction.
For example, if the portion outside the range of the screen 91 (shaded portion) is the block “64”, the block “96”,..., The block “896”, the block “928” in FIG. Images determined by the array PA [64],... PA [928] and the array CA [64],... CA [928] are displayed on the right end of the screen 91. Therefore, in order to make the background continuously continuous by left-scrolling the panoramic view screen 140, the background is substituted into the arrays PA and CA corresponding to the blocks included in the portion outside the range of the screen 91 (shaded portion). Data needs to be updated. Then, an image determined by the updated array PA and array CA is displayed on the right end of the screen 91.
In order to make the background appear smooth and continuous, it is necessary to update the data of the corresponding array PA and array CA before being displayed on the right end of the screen 91. Then, when the data is being displayed at the left end of the screen 91, it is necessary to update the data in the corresponding array PA and array CA, and the display at the left end of the screen 91 becomes discontinuous. Therefore, in order to avoid such an inconvenience, a mask 141 is placed on the left end of the screen 91 as shown in FIGS. For the same reason, a mask 142 is also provided at the right end.
Note that the scrolling process in the right direction is the same as the scrolling process in the left direction. In this embodiment, since the scroll range in the vertical direction (vertical direction) of the panoramic screen 140 is ± 16 pixels, the upper and lower ends of the screen 91 are not masked.
As described above, the background 110 is scrolled by scrolling the panoramic view screen 140.
Next, details of the game processing by the music game apparatus 1 will be described. FIG. 17 is a conceptual diagram showing programs and data stored in the ROM 51 of FIG. As shown in FIG. 17, the ROM 51 stores a game program 300, image data 301, and music data 304. The image data 302 includes object image data (including image data such as a position guide G, a direction guide g, a route guide rg, evaluation objects 107 to 109, and a cursor 105) and background image data. The music data 304 includes first musical score data 305, second musical score data 306, and sound source data (waveform data) 307.
The first musical score data 305 shown in FIG. 17 is data in which music control information is arranged in time series.
FIG. 18 is a conceptual diagram showing an example of the first musical score data 305 of FIG. As shown in FIG. 18, the music piece control information includes a command, note number / standby time information, instrument designation information, velocity, and gate time.
Note-on is a command for making a sound, and standby is a command for setting a standby time. The waiting time is the time until the next command is read (the time from one note to the next note). The note number is information for designating the pitch (pitch) of the sound. The standby time information is information that specifies a standby time to be set. The instrument designation information is information for designating which instrument tone is used. The velocity is information on the strength of the sound, that is, information on the volume. Gate time is the length of time a sound is produced.
Returning to FIG. 17, the second musical score data 306 is data in which guide control information is arranged in time series. The second musical score data 306 is used when guides (position guide G, direction guide g, and route guide rg) are displayed on the screen 91. That is, the first musical score data 305 is musical score data for automatically playing a musical piece, while the second musical score data 306 is musical score data for displaying a guide at a timing suitable for the musical piece.
FIG. 19 is a conceptual diagram showing an example of the second musical score data 306 of FIG. As shown in FIG. 19, the guide control information includes a command, note number / standby time information, and instrument designation information.
In the second musical score data 306, the musical instrument designation information is not a number indicating the musical instrument (tone) that plays the music, but the second musical score data 306 is a guide (position guide G, direction guide g, and route guide rg). Is a number indicating that the musical score data is to appear.
Therefore, note-on is not a command for making a sound, but a command for instructing the start of the animation of the position guide G or instructing the start of appearance of the direction guide g and the route guide rg. The note number is not information for designating the pitch (pitch) of sound, but indicates which position guide G animation is started, and indicates where the direction guide g and route guide rg appear. Information. This point will be described in detail.
FIG. 20A to FIG. 20C are relationship diagrams between the direction in which the cursor 105 is guided and the note number. As shown in FIGS. 20A to 20C, the direction of the arrow indicates the direction in which the cursor 105 is guided, the start point of the arrow indicates the position of the position guide G that has guided the cursor 105 immediately before, The end point of the arrow indicates the position of the position guide G that guides the cursor 105. For example, as shown in FIG. 20A, the note number “55” is used when the cursor 105 is guided from the position guide G1 to the position guide G2, and the note number indicated by the score data pointer is “55”. In this case, a position guide G and a direction guide g shown in FIG. 12 appear. Further, for example, as shown in FIG. 20C, the note number “57” is used when guiding the rotation of the cursor 105 counterclockwise starting from the position guide G3, and the score data pointer is When the indicated note number is “57”, the position guide G and the route guide rg shown in FIG. 13 appear.
For example, the note number “81” is dummy data arranged at the head of the second musical score data 306 (see FIG. 19), and is not information for controlling the display of the guide. In this way, the first musical score data 305 and the second musical score data 306 are aligned at the beginning. Further, for example, the note number “79” is data indicating the end of music and is arranged at the end of the second musical score data 306 (see FIG. 19). Note number “79” is not information for controlling display of the guide.
Next, main processing executed by the high speed processor 200 will be described.
[Pixel Data Group Acquisition Processing] The CPU 201 acquires digital pixel data obtained by converting analog pixel data output from the image sensor 43, and substitutes it into the array P [X] [Y]. The horizontal direction (lateral direction, row direction) of the image sensor 43 is taken as the X axis, and the vertical direction (longitudinal direction, column direction) is taken as the Y axis.
[Difference Data Calculation Processing] The CPU 201 calculates the difference between the pixel data P [X] [Y] when the infrared light emitting diode 15 is turned on and the pixel data P [X] [Y] when the infrared light emitting diode 15 is turned off. The difference data is substituted into the array Dif [X] [Y]. Here, the effect of obtaining the difference will be described with reference to the drawings. Here, the pixel data represents luminance. Therefore, the difference data also represents luminance.
FIG. 21A is an illustration of an image taken by a general image sensor that is not subjected to special processing, and FIG. 21B is a level discrimination of the image signal of FIG. 21A with a certain threshold. FIG. 21C is a diagram illustrating an image signal when the image sensor 43 is turned on via the infrared filter 17, and FIG. 21C is a diagram illustrating the image signal when the image signal is discriminated by a certain threshold. FIG. 21D is an exemplary diagram of an image signal when the image signal when the image sensor 43 is turned off via the infrared filter 17 is discriminated by a certain threshold, and FIG. 21E shows the image signal when the image sensor 43 is turned on. It is an illustration figure of the difference signal with the image signal at the time of light extinction.
As described above, the operation article 150 is irradiated with infrared light, and an image of reflected infrared light incident on the image sensor 43 via the infrared filter 17 is captured. When the operation article 150 is photographed with a stroboscope using a general light source in a general indoor environment, a general image sensor (corresponding to the image sensor 43 in FIG. 5) is shown in FIG. As shown in FIG. 5, in addition to the image of the operation article 150, not only a light source such as a fluorescent light source, an incandescent light source, and sunlight (window), but also all images of the room. Therefore, processing the image of FIG. 21A to extract only the image of the operation article 150 requires a fairly high speed computer or processor. However, such a high-performance computer cannot be used in an inexpensive device. Therefore, it is conceivable to reduce the burden by performing various processes.
Note that the image in FIG. 21A is originally an image represented by black and white gradations, but the illustration thereof is omitted. In FIGS. 21A to 21E, the reflection sheet 155 of the operation article 150 is photographed.
FIG. 21B is an image signal when the image signal of FIG. 21A is level-discriminated by a certain threshold value. Such level discrimination processing can be executed either by a dedicated hardware circuit or by software. However, by any method, if level discrimination that cuts pixel data of a certain amount or less is executed, the operation article Low luminance images other than 150 and the light source can be removed. In the image of FIG. 21B, the processing of the image other than the operation article 150 and the light source in the room can be omitted, and thus the burden on the computer can be reduced. However, the high-intensity image including the light source image is still captured. Therefore, it is difficult to separate the operation article 150 from other light sources.
Therefore, as shown in FIG. 5, the infrared filter 17 is used to prevent the image sensor 43 from capturing an image other than an infrared image. Thereby, as shown in FIG. 21 (c), the image of the fluorescent light source that hardly contains infrared light can be removed. However, sunlight and incandescent lamps are still included in the image signal. Therefore, in order to further reduce the burden, the difference between the pixel data when the infrared stroboscope is turned on and the pixel data when the infrared stroboscope is turned off is calculated.
Therefore, the difference between the pixel data of the image signal when turned on in FIG. 21C and the pixel data of the image signal when turned off in FIG. 21D was calculated. Then, as shown in FIG.21 (e), the image only for the difference can be acquired. The image based on the difference data includes only the image obtained by the operation article 150, as is clear from comparison with FIG. Therefore, the state information of the operation article 150 can be acquired while reducing the processing. The state information is, for example, one of speed information, moving direction information, moving distance information, speed vector information, acceleration information, moving trajectory information, area information, or position information, or a combination of two or more thereof. , Etc.
For the reasons described above, the CPU 201 calculates the difference between the pixel data when the infrared light emitting diode 15 is turned on and the pixel data when the infrared light emitting diode 15 is turned off, and obtains difference data.
[Attention Point Extraction Processing] The CPU 201 obtains the coordinates of the attention point of the operation article 150 based on the calculated difference data Dif [X] [Y]. This point will be described in detail.
FIG. 22 is an explanatory diagram of the coordinate calculation of the attention point of the operation article 150. The image sensor 43 shown in FIG. 22 is assumed to be 32 pixels × 32 pixels.
As shown in FIG. 22, the CPU 201 scans differential data for 32 pixels in the X direction (horizontal direction, horizontal direction, row direction), increments the Y coordinate, and stores differential data for 32 pixels in the X direction. And the Y coordinate is incremented, and the difference data for 32 pixels is scanned in the X direction while incrementing the Y coordinate.
In this case, the CPU 201 obtains the maximum brightness value difference data from the scanned difference data of 32 pixels × 32 pixels, and compares the maximum brightness value with a predetermined threshold Th. Then, when the maximum luminance value is larger than the predetermined threshold Th, the CPU 201 calculates the coordinates of the attention point of the operation article 150 based on the coordinates of the pixel having the maximum luminance value. This point will be described in detail.
FIG. 23A is an explanatory diagram of an X-direction scan when calculating the point-of-interest coordinates of the operation article 150 based on the coordinates of the pixel having the maximum luminance value, and FIG. 23B has the maximum luminance value. FIG. 23C is an explanatory diagram at the start of the Y-direction scan when calculating the point-of-interest coordinates of the operation article 150 based on the pixel coordinates, and FIG. 23C shows the operation article based on the coordinates of the pixel having the maximum luminance value. FIG. 23D is an explanatory diagram of Y-direction scanning when calculating 150 attention point coordinates, and FIG. 23D is a result of calculating the attention point coordinates of the operation article 150 based on the coordinates of the pixel having the maximum luminance value. It is explanatory drawing.
As shown in FIG. 23A, the CPU 201 scans the difference data in the X direction around the coordinates of the pixel having the maximum luminance value, and detects a pixel having a luminance value larger than the predetermined threshold Th. . In the example of FIG. 23A, X = 11 to 15 are pixels that exceed a predetermined threshold Th.
Next, as shown in FIG. 23B, the CPU 201 obtains the center of X = 11-15. Then, the X coordinate of the center is Xc = 13.
Next, as shown in FIG. 23C, the difference data is scanned in the Y direction around the X coordinate (= 13) obtained in FIG. 23B, and is larger than a predetermined threshold Th. Detect pixels with luminance values. In the example of FIG. 23C, Y = 5 to 10 are pixels that exceed a predetermined threshold Th.
Next, as shown in FIG. 23D, the CPU 201 obtains the center of Y = 5 to 10. Then, the Y coordinate of the center is Yc = 7.
The CPU 201 converts the coordinates (Xc, Yc) = (13, 7) of the attention point calculated as described above into coordinates (xc, yc) on the screen 91. The CPU 201 executes the process for obtaining the coordinates (xc, yc) of the attention point as described above every time the frame is updated. Then, the CPU 201 assigns xc and yc to the arrays Px [M] and Py [M], respectively. “M” is an integer, and is incremented by one each time the frame displayed on the screen 91 is updated.
[Attention Point Existing Area Determination Process (1)] The CPU 201 determines in which area a1 to a4 on the screen 91 the attention point of the operation article 150 exists. This point will be described in detail.
FIG. 24 is an explanatory diagram of attention point presence area determination processing (2) performed by the CPU 201. As shown in FIG. 24, the screen 91 includes a predetermined area a1 including the position guide G1, a predetermined area a2 including the position guide G2, a predetermined area a3 including the position guide G3, and a predetermined area a4 including the position guide G4. Set. The CPU 201 determines a region to which the attention point (xc, yc) of the operation article 150 belongs from among the predetermined regions a1 to a4, and stores the determination result in the array J1 [M]. The CPU 201 executes the determination process as described above every time the frame displayed on the screen 91 is updated.
[Attention Point Existing Area Determination Process (2)] The CPU 201 determines in which areas A1 to A4 on the screen 91 the attention point of the operation article 150 exists. This point will be described in detail.
FIG. 25 is an explanatory diagram of the attention point presence area determination process (2) by the CPU 201. As shown in FIG. 25, areas A1 to A4 obtained by dividing the screen 91 into four parts are set. The CPU 201 determines the area to which the attention point (xc, yc) of the operation article 150 belongs from the areas A1 to A4, and stores the determination result in the array J2 [M]. The CPU 201 executes the determination process as described above every time the frame displayed on the screen 91 is updated.
[Cursor control processing] The CPU 201 registers the coordinates (xc, yc) of the current point of interest of the operation article 150 as the coordinates of the cursor 105 to be displayed in the next frame (stored in the internal memory 207).
[Guide Type Registration Processing] The CPU 201 arranges the note numbers (see FIG. 19 and FIGS. 20A to 20C) read from the second score data 306 according to the guide score data pointer in the array NN “0”. Or substituted into the array NN [1]. As described above, the number of elements in the array is set to two when the guidance by a certain position guide G and the guidance by another position guide G are started at different timings, but are executed repeatedly for a certain period of time. Because there is also. Note that the musical score data pointer for guide is a pointer indicating a reading position of the second musical score data 306.
[Guide Control Processing] The CPU 201 refers to the array NN [J] (guide display number J = 0, 1) and refers to the animation information and position of the direction guide G according to the note number assigned to the array NN [J]. The animation information of the guide g and the animation information of the route guide rg are registered. This point will be described in detail.
FIG. 26 is an explanatory diagram of an animation registration process for the direction guide G, the position guide g, and the route guide rg. As shown in FIG. 26, the note number and animation information (storage position information of the animation table of the position guide G, display coordinates of the position guide G on the screen 91, display timing information of the position guide G, direction guide g / path guide) rg animation table storage position information, direction guide g / route guide rg display coordinate information on screen 91, and direction guide g / route guide rg display timing information) are associated with ROM 51 or Prepared in the internal memory 207.
The note numbers in this table are note numbers for controlling the display of guides, and are the note numbers shown in FIGS. 20 (a) to 20 (c). For example, when the note number assigned to the array NN [J] is “55”, the CPU 201 refers to this table and refers to the animation information associated with the note number “55” (animation table of the position guide G). Storage position information, display coordinates of the position guide G on the screen 91, display timing information of the position guide G, storage position information of the animation table of the direction guide g, display coordinate information of the direction guide g on the screen 91, and direction The display timing information of the guide g) is registered (stored in a predetermined area of the internal memory 207).
Here, the display timing information is information indicating when the object is displayed on the screen 91. For example, for the guide number “55”, since the display timing information of the position guide G is “0”, the position guide G2 is displayed at the coordinates (x1, y1) in the frame next to the currently displayed frame. Means. For example, for the guide number “55”, since the display timing information of the direction guide g is 0, 6, 12,..., 24, the position guide g1 is set to the coordinates ( x3, y1), the position guide g2 is displayed at coordinates (x4, y1) after 6 frames,..., and the position guide g5 is displayed at coordinates (x7, y1) after 24 frames.
FIG. 27 is a view showing an example of an animation table specified by the animation table storage position information of FIG. As shown in FIG. 27, the animation table includes storage position information of animation image data (a plurality of object image data arranged in time series), a number of objects to be animated arranged in time series, and how many frames continuous. This is a table in which information (the number of sustained frames) indicating whether to display each object, the object size, the color palette information, the depth value information, and the sprite size are associated with each other. The animation image data is pixel pattern data. Here, the pixel pattern data, the color palette, and the depth value relate to the sprites constituting the object, and their meanings are the same as those related to the blocks described in FIG.
The animation table indicated by the animation table storage position information address0 is an example of the animation table of the position guide G. The animation table indicated by the animation table storage position information address1 is an example of the animation table of the direction guide g, and the animation table storage position. The animation table indicated by the information address 2 is an example of the animation table of the route guide rg, and the animation table indicated by the animation table storage position information address 3 is an animation of the position guide G used when the operation of the cursor 105 by the player 94 is successful. It is an illustration of a table.
[Dance Control Processing] The CPU 201 determines whether or not the operation of the cursor 105 by the player 94 is operated in conformity with the position guide G and the direction guide g or the position guide G and the route guide rg. Specifically, it is as follows.
The CPU 201 moves the cursor 105 (that is, the attention of the operation article 150) to the area currently guided by the position guide G and the direction guide g based on the determination result J1 [M] by the attention point presence area determination process (1). It is determined whether or not (point) exists (see FIG. 24). For example, when the area where the position guide G and the direction guide g are currently guiding is the area a2, and the area where the cursor 105 exists is the area a2, the CPU 201 determines that the cursor 105 is the position guide G and the direction guide g. Judged that it was operated in conformity with
In addition, the CPU 201 moves the cursor 105 (that is, the operation) along the route currently guided by the position guide G and the route guide rg based on the determination result J2 [M] by the attention point presence region determination process (2). It is determined whether or not the attention point of the object 150 has moved (see FIG. 25). Here, the route guided by the guide number “53” in FIG. 20B is area A3 → area A1 → area A2 → area A4 in FIG. Further, the route guided by the guide number “57” in FIG. 20C is the area A4 → the area A2 → the area A1 → the area A3 in FIG. Accordingly, for example, when the route currently guided by the position guide G and the route guide rg is a route corresponding to the guide number “53”, the CPU 201 determines that the route to which the cursor 105 has moved is the region A3 → the region A1 → In the case of region A2 → region A4, it is determined that the cursor 105 has been operated in conformity with the position guide G and the route guide rg.
As a result of the above, if the CPU 201 determines that the operation of the cursor 105 by the player 94 is operated in conformity with the position guide G and the direction guide g or the position guide G and the route guide rg, the CPU 201 Dance animation information corresponding to the direction guide g or the position guide G and the route guide rg is registered (stored in a predetermined area of the internal memory 207). Similar to the table of FIG. 26, a table in which the note number for controlling the display of the guide (see FIGS. 20A to 20C) and dance animation information is associated is prepared in the ROM 51 or the internal memory 207. . However, for the note numbers having the same guidance direction (for example, note numbers “55” and “67”), the dance animation information is also the same.
The dance animation information is the same as the animation information of FIG. 26, and includes storage position information of the dance animation table, display coordinates on the screen 91 of the dance object 106, and display timing information of the dance object 106. Also, the dance animation table is the same as the animation table of FIG. 27, storage position information of dance animation image data (image data of a plurality of dance objects 106 arranged in time series), and a dance object that performs animation. 106 numbers arranged in chronological order, information indicating how many frames each dance object 106 is continuously displayed (number of continuous frames), the size of the dance object 106, color palette information, depth value information, and , Sprite size. The dance animation image data is pixel pattern data.
Note that the second musical score data 306 in FIG. 17 can include a note number for instructing to perform a fast-speed dance animation and a note number for instructing to perform a slow-speed dance animation. In this case, a dance animation table with a high speed and a dance animation table with a low speed are also prepared. In this case, a table in which the note number for controlling the display of the guide, the note number for controlling the dance speed, and the dance animation information are associated is prepared in the ROM 51 or the internal memory 207. Similarly, a dance animation table is prepared for each dance speed.
If it is determined that the operation of the cursor 105 by the player 94 is performed in conformity with the position guide G and the direction guide g or the position guide G and the route guide rg, the CPU 201 determines that the operation is successful. The storage position information (address 3 in the example of FIG. 27) of the animation table of the position guide G to be used is registered.
On the other hand, when determining that the operation of the cursor 105 by the player 94 is performed in conformity with the position guide G and the direction guide g or the position guide G and the route guide rg, the CPU 201 determines whether the evaluation objects 107 to 109 have been operated. Animation information is registered (stored in a predetermined area of the internal memory 207). This animation information is the same as the animation information of FIG. Accordingly, the animation information includes storage position information of the animation table for the evaluation objects 107 to 109. This animation table is the same as the animation table of FIG.
Further, when it is determined that the operation of the cursor 105 by the player 94 is operated in conformity with the position guide G and the direction guide g or the position guide G and the route guide rg, the CPU 201 determines that the position guide G and the direction guide. or scroll control corresponding to the position guide G and the route guide rg. Specifically, the CPU 201 changes the center position of the panoramic screen 140 corresponding to the position guide G and direction guide g, or the position guide G and path guide rg, and the note number that controls the dance speed. (See FIGS. 16A and 16B), the background 110 is scrolled. Further, when scrolling the panoramic screen 140 in the horizontal direction, the CPU 201 changes the data of the corresponding array PA and array CA.
FIG. 28 is a timing chart for explaining the relationship between the first musical score data 305, the second musical score data 306, the direction guide G, the position guide g, the operation determination, and the dance animation. In FIG. 28, the thick line indicates the processing execution period, the black circle at the left end of the thick line indicates the start of the process, and the black circle on the right side of the thick line indicates the end of the process.
As shown in FIG. 28, the reading start time of the second score data 306 is earlier by a predetermined time t than the reading start times T1, T2,... Of the first score data 305. Therefore, the direction guide g is displayed earlier by a predetermined time t than the time T1 to T3 when the corresponding note number of the first score data 305 is read, and the corresponding note number of the first score data 305 is read. Displayed from time T1 to T3 (for example, for 60 frames). Similarly, the position guide G starts the animation by a predetermined time t earlier than the time T1 to T3 when the corresponding note number of the first score data 305 is read, and the corresponding note number of the first score data 305 is read. When is read, the animation continues until a little after T1 to T3.
The CPU 201 determines whether or not the operation of the cursor 105 is performed in conformity with the direction guide g and the position guide G after a certain period of time has elapsed from the start of display of the direction guide g (for example, after 30 frames have elapsed). Start and end at T1 to T3 when the corresponding note number of the first musical score data 305 is read. If the CPU 201 determines that the operation of the cursor 105 is performed in conformity with the direction guide g and the position guide G, the CPU 201 registers dance animation information at the end of the determination period. Accordingly, in this case, a dance animation is executed based on the registered dance animation information.
The reason why the start point of reading the second score data 306 is earlier than the start point of reading T1, T2,... Of the first score data 305 by a predetermined time t is as follows. In other words, the player 94 starts the operation of the operation article 150 after starting the guidance by the direction guide g and the position guide G, and therefore adjusts the time error so that the direction guide g and the position guide G are displayed from the timing of the music. It was too early.
The display timing of the route guide rg is the same as the display timing of the direction guide G. However, for example, whether or not the operation of the cursor 105 is suitable for the route guide rg is determined from the start to the end of the guidance by the route guide rg (for example, during 60 frames).
[Image Display Processing] The CPU 201 displays the information necessary for drawing in the vertical blanking period based on the information registered by the cursor control processing, the guide control processing, and the dance control processing. To give. Then, the graphic processor 202 generates a video signal based on the given information and outputs it to the video signal output terminal 47. As a result, a game screen including the position guide G and the background 110 is displayed on the screen 91 of the television monitor 90. More specifically, it is as follows.
The CPU 201 calculates display coordinates of each sprite constituting the cursor 105 based on the coordinate information registered in the cursor control process (coordinate information of the attention point of the operation article 150). Then, the CPU 201 provides the graphic processor 202 with display coordinate information, color palette information, depth value, size information, and pixel pattern data storage position information of each sprite constituting the cursor 105. Based on these pieces of information, the graphic processor 202 generates a video signal representing the cursor 105 and outputs it to the video signal output terminal 47.
Further, the CPU 201 constructs an animation image of a guide (position guide G, direction guide g, route guide rg) by referring to the animation table based on the animation table storage position information included in the animation information registered in the guide control process. The size information of the object to be processed and the size information of the sprite constituting the object are acquired. Then, the CPU 201 calculates the display coordinates of each sprite constituting the object based on these pieces of information and the display coordinate information included in the registered animation information. Further, the CPU 201 based on the object number of the position guide G to be displayed, the size information of the object and sprite included in the animation table, and the animation image data storage position information of the position guide G included in the animation table. The pixel pattern data storage position information of each sprite constituting the object is calculated.
Further, the CPU 201 refers to the animation table, and displays color palette information, depth value, and size information of each sprite constituting the position guide G, pixel pattern data storage position information and display coordinate information of each sprite. At the same time, it is given to the graphic processor 202. In this case, the CPU 201 gives the above information to the graphic processor 202 according to the display timing information of the position guide G included in the registered animation information and the number of sustained frames in the animation table.
Regarding the direction guide g and the route guide rg, the acquisition and content of the information that the CPU 201 gives to the graphic processor 202 is the same as that of the position guide G. However, the direction guides g1 to g4 and the route guides rg1 to rg10 are sequentially displayed at a plurality of positions indicated by the display coordinate information included in the animation information at the timing indicated by the display timing information included in the animation information. At the start of display of each of the direction guides g1 to g4 and each of the route guides rg1 to rg10, the CPU 201 refers to the display coordinate information and the display timing information included in the registered animation information, and refers to the direction guides g1 to g1. Information on g4 and route guides rg1 to rg10 is given to the graphic processor 202.
Based on the information given as described above, the graphic processor 202 generates a video signal representing a guide (position guide G, direction guide g, route guide rg) and outputs it to the video signal output terminal 47. .
In addition, the CPU 201 refers to the dance animation table based on the dance animation table storage position information included in the dance animation information registered in the dance control process, and size information of the dance object 106 constituting the dance animation image, and the dance The size information of sprites constituting the object 106 is acquired. Then, the CPU 201 calculates the display coordinates of each sprite constituting the dance object 106 based on this information and the display coordinate information included in the registered dance animation information. Further, the CPU 201, based on the number of the dance object 106 to be displayed, the size information of the dance object 106 and the sprite included in the dance animation table, and the dance animation image data storage position information included in the dance animation table, The pixel pattern data storage position information of each sprite constituting the dance object 106 is calculated.
Further, the CPU 201 refers to the dance animation table, and displays the color palette information, depth value, and size information of each sprite constituting the dance object 106, pixel pattern data storage position information and display coordinates of each sprite. It is given to the graphic processor 202 together with the information. In this case, the CPU 201 gives the above information to the graphic processor 202 in accordance with the display timing information included in the registered dance animation information and the number of sustained frames in the dance animation table.
Furthermore, the CPU 201 acquires information necessary for generating a video signal based on the animation information and the animation table for the evaluation objects 107 to 109 registered in the dance control process, and provides the graphic processor 202 with the information. In this case, the acquisition and contents of information given to the graphic processor 202 by the CPU 201 are the same as in the case of the dance object 106.
Based on the information given as described above, the graphic processor 202 generates a video signal representing the dance object 106 and the evaluation objects 107 to 109 and outputs the video signal to the video signal output terminal 47.
[Music Playback] Music playback is performed by interrupt processing. The CPU 201 reads and interprets the music control information in FIG. 18 while incrementing the musical score data pointer for music. Note that the musical score data pointer for music is a pointer indicating the reading position of the first musical score data 305.
If the command included in the read music control information is note-on, the CPU 201 indicates the pitch (pitch) indicated by the note number included in the music control information and the instrument (timbre) indicated by the instrument designation information. Is given to the sound processor 203 at the head address where the waveform data corresponding to the is stored. Further, if the command included in the read music control information is note-on, the CPU 201 gives the sound processor 203 a head address where necessary envelope data is stored. Furthermore, if the command included in the read music control information is note-on, the CPU 201 determines the pitch control information corresponding to the pitch (pitch) indicated by the note number included in the music control information, and Volume information included in the music piece control information is given to the sound processor 203.
Here, the pitch control information will be described. The pitch control information is used for pitch conversion performed by changing the period for reading waveform data. That is, the sound processor 203 reads and accumulates pitch control information at regular intervals. Then, the sound processor 203 processes this accumulated result to obtain an address pointer for waveform data. Therefore, if the pitch control information is set to a large value, the address pointer is incremented quickly, and the waveform data frequency is increased. If the pitch control information is set to a small value, the address pointer is incremented slowly. Therefore, the frequency of the waveform data is lowered. In this way, the sound processor 203 performs the pitch conversion of the waveform data.
The sound processor 203 reads the waveform data stored at the position indicated by the given head address from the ROM 51 while incrementing the address pointer based on the given pitch control information. The sound processor 203 then multiplies the sequentially read waveform data by envelope data and volume information to generate an audio signal. In this way, an audio signal having the tone color, pitch (pitch), and volume of the musical instrument indicated by the first musical score data 305 is generated and output to the audio signal output terminal 49.
On the other hand, the CPU 201 manages the gate time included in the read music control information. Accordingly, the CPU 201 instructs the sound processor 203 to end the sound generation of the corresponding musical sound when the gate time has elapsed. In response to this, the sound processor 203 ends the sound generation of the instructed musical sound.
As described above, the music is reproduced based on the first musical score data 305 and is generated from a speaker (not shown) of the television monitor 90.
Now, the overall processing flow of the music game apparatus 1 of FIG. 1 will be described using a flowchart.
FIG. 29 is a flowchart showing the overall processing flow of the music game apparatus 1 of FIG. As shown in FIG. 29, in step S1, the CPU 201 executes initial setting of the system. In step S <b> 2, the CPU 201 calculates state information of the operation article 150. In step S3, the CPU 201 executes game processing based on the state information of the operation article 150 calculated in step S2. In step S4, the CPU 201 determines whether “M” is smaller than a predetermined value “K”. If “M” is greater than or equal to the predetermined value “K”, the CPU 201 proceeds to step S5, substitutes “0” for “M”, and proceeds to step S6. On the other hand, when “M” is smaller than the predetermined value “K”, the CPU 201 proceeds from step S4 to step S6. This “M” will become clear in the following description.
In step S6, the CPU 201 determines whether to wait for a video synchronization interrupt. The CPU 201 gives image information for updating the display screen of the television monitor 90 to the graphic processor 202 after the start of the vertical blanking period (step S7). Therefore, when the calculation process for updating the display screen is completed, the process is not allowed to proceed until there is a video synchronization interrupt. If “YES” in the step S6, that is, if the video synchronization interruption is waited (no interruption by the video synchronization signal), the process returns to the same step S6. On the other hand, if “NO” in the step S6, that is, if not waiting for a video synchronization interrupt (if there is an interrupt due to a video synchronization signal), the process proceeds to a step S7. In step S7, the CPU 201 gives image information necessary for generating a game screen (see FIGS. 11 to 13) to the graphic processor 202 in the vertical blanking period based on the result of the game process in step S3 (see FIG. 11). Image display processing).
FIG. 30 is a flowchart showing the flow of the initial setting process in step S1 of FIG. As shown in FIG. 30, in step S10, the CPU 201 initializes a musical score data pointer for guide. In step S11, the CPU 201 sets a guide execution standby counter to “0”.
In step S12, the CPU 201 initializes a musical score data pointer for music. In step S13, the CPU 201 sets an execution standby counter for music to “t”.
In step S <b> 14, the CPU 201 executes an initial setting process for the image sensor 43. In step S15, the CPU 201 initializes various flags and various counters.
In step S16, the CPU 201 sets the timer circuit 210 as an interrupt source for sound generation. Note that the processing by the sound processor 203 is executed by the interrupt processing, and sound is output from the speaker of the television monitor 90.
FIG. 31 is a flowchart showing the flow of the sensor initial setting process in step S14 of FIG. As shown in FIG. 31, in the first step S20, the high speed processor 200 sets a command “CONF” as setting data. However, the command “CONF” is a command for notifying the image sensor 43 that the setting mode for transmitting the command from the high speed processor 200 is entered. Then, in the next step S21, command transmission processing is executed.
FIG. 32 is a flowchart showing the command transmission process in step S21 of FIG. As shown in FIG. 32, in the first step S30, the high speed processor 200 sets the setting data (command “CONF” in the case of step S21) to the register data (I / O port), and in the next step S31, the register Set clock CLK (I / O port) is set to low level. Thereafter, after waiting for a specified time in step S32, the register setting clock CLK is set to a high level in step S33. Further, after waiting for the specified time in step S34, the register setting clock CLK is set to the low level again in step S35.
In this way, as shown in FIG. 33, the command (command or command + data) transmission process is performed by setting the register setting clock CLK to the low level, the high level, and the low level while waiting for the specified time. Done.
Returning to the description of FIG. In step S22, the pixel mode is set and the exposure time is set. In this embodiment, since the image sensor 43 is, for example, a 32 pixel × 32 pixel CMOS image sensor as described above, the pixel mode register of the setting address “0” has 32 pixels × 32 pixels. “0h” is set. In the next step S23, the high speed processor 200 executes a register setting process.
FIG. 34 is a flowchart showing the register setting process in step S23 of FIG. As shown in FIG. 34, in the first step S40, the high speed processor 200 sets the command “MOV” + address as the setting data, and in the next step S41, executes the command transmission process described earlier in FIG. And send it. Next, in step S42, the high speed processor 200 sets the command “LD” + data as setting data, executes command transmission processing in the next step S43, and transmits it. In step S44, the high speed processor 200 sets the command “SET” as the setting data, and transmits it in the next step S45. Note that the command “MOV” is a command indicating that the address of the control register is transmitted, the command “LD” is a command indicating that the data is transmitted, and the command “SET” is for actually setting the data to the address. Command. This process is repeatedly executed when there are a plurality of control registers to be set.
Returning to the description of FIG. In step S24, the set address is set to “1” (indicating the address of the exposure time setting register), and “FFh” indicating the maximum exposure time is set as data to be set. In step S25, the register setting process shown in FIG. 34 is executed. Similarly, in step S26, the setting address is set to “2” (indicating the high nibble address of the exposure time setting register), and the high nibble data “Fh” of “FFh” indicating the maximum exposure time is set as data to be set. In step S27, register setting processing is executed.
Thereafter, a command “RUN” is set in step S28 to indicate the end of setting and to cause the image sensor 43 to start outputting data, and is transmitted in step S29. In this way, the sensor initial setting process in step S14 shown in FIG. 30 is executed. However, the specific examples shown in FIGS. 31 to 34 can be appropriately changed according to the specifications of the image sensor 43 used.
FIG. 35 is a flowchart showing the flow of the state information calculation process in step S2 of FIG. As shown in FIG. 35, in step S50, the CPU 201 acquires digital pixel data from the ADC 208. The digital pixel data is obtained by converting analog pixel data from the image sensor 43 to digital by the ADC 208.
In step S51, attention point extraction processing is executed. Specifically, the CPU 201 calculates a difference between pixel data when the infrared light emitting diode 15 emits light and pixel data when the infrared light emitting diode 15 is turned off, and obtains difference data. Then, the CPU 201 detects the maximum value of the difference data and compares it with a predetermined threshold Th. Further, when the maximum value of the difference data exceeds a predetermined threshold Th, the CPU 201 converts the coordinates of the pixel having the difference data of the maximum value into the coordinates on the screen 91 of the television monitor 90, and performs the operation. The coordinates of the attention point of the object 150 are used.
In step S52, the CPU 201 determines in which region a1 to a4 in FIG. 24 the point of interest of the operation article 150 exists, and stores the determination result in the array J1 [M].
In step S53, the CPU 201 determines in which region A1 to A4 in FIG. 25 the point of interest of the operation article 150 exists, and stores the determination result in the array J2 [M].
FIG. 36 is a flowchart showing the pixel data group acquisition processing in step S50 of FIG. As shown in FIG. 36, in the first step S60, the CPU 201 sets “−1” for X and “0” for Y as the element number of the pixel data array. The pixel data array in the present embodiment is a two-dimensional array with X = 0 to 31 and Y = 0 to 31, but dummy data is output as data of the first pixel in each row as described above. “−1” is set as an initial value. In a succeeding step S61, a pixel data acquisition process is executed.
FIG. 37 is a flowchart showing the pixel data acquisition process in step S61 of FIG. As shown in FIG. 37, in the first step S70, the CPU 201 checks the frame status flag signal FSF from the image sensor 43, and whether or not the up edge (from low level to high level) has occurred in step S71. to decide. When the up edge of the flag signal FSF is detected in step S71, the CPU 201 instructs the start of conversion of the analog pixel data input to the ADC 208 to digital data in the next step S72. Thereafter, the pixel strobe PDS from the image sensor 43 is checked in step S73, and it is determined in step S74 whether or not an up edge from the low level to the high level of the strobe signal PDS has occurred.
If “YES” is determined in the step S74, the CPU 201 determines whether or not X = −1, that is, whether or not it is the first pixel in a step S75. As described above, since the first pixel of each row is set as a dummy pixel, if “YES” is determined in this step S75, the pixel data at that time is not acquired in the next step S77, and the element The number X is incremented.
If “NO” is determined in the step S75, the pixel data is the second and subsequent pixel data in the row, so that the pixel data at that time is acquired in the steps S76 and S78, and the pixel is stored in a temporary register (not shown). Store the data. Thereafter, the process proceeds to step S62 in FIG.
In step S62 of FIG. 36, the pixel data stored in the temporary register is substituted into the pixel data array P [Y] [X].
In the following step S63, X is incremented. When X is less than 32, the processes from S61 to S63 are repeated. When X is 32, that is, when the acquisition of pixel data has reached the end of the row, “−1” is set to X in subsequent step S65, Y is incremented in step S66, and the beginning of the next row is started. Repeat the pixel data acquisition process.
If Y is 32 in step S67, that is, if the acquisition of pixel data has reached the end of the pixel data array P [Y] [X], the process proceeds to step S51 in FIG.
FIG. 38 is a flowchart showing the flow of attention point extraction processing in step S51 of FIG. As shown in FIG. 38, in step S80, the CPU 201 calculates the difference between the pixel data when the infrared light emitting diode 15 is turned on and the pixel data when the infrared light emitting diode 15 is turned off from the image sensor 43. Calculate to obtain difference data. In step S81, the CPU 201 assigns the calculated difference data to the array Dif [X] [Y]. Here, in the embodiment, since the image sensor 43 of 32 pixels × 32 pixels is used, X = 0 to 31 and Y = 0 to 31.
In step S82, the CPU 201 scans all elements of the array Dif [X] [Y]. In step S83, the CPU 201 detects the maximum value of all the elements in the array Dif [X] [Y]. If the maximum value is greater than the predetermined threshold Th, the CPU 201 proceeds to step S85, and if not greater than the predetermined threshold Th, the CPU 201 proceeds to step S4 in FIG. 29 (step S84).
In step S85, the CPU 201 calculates the coordinates (Xc, Yc) of the attention point of the operation article 150 based on the coordinates of the maximum value. In step S86, the CPU 201 increments the value of the number of times M by one (M = M + 1).
In step S <b> 87, the CPU 201 converts the coordinates (Xc, Yc) of the target point on the image sensor 43 into coordinates (xc, yc) on the screen 91 of the television monitor 90. In step S88, the CPU 201 assigns xc to the array Px [M] as the x coordinate of the Mth point of interest, and substitutes yc to the array Py [M] as the y coordinate of the Mth point of interest.
FIG. 39 is a flowchart showing a flow of attention point coordinate calculation processing in step S85 of FIG. As shown in FIG. 39, in step S100, the CPU 201 substitutes the maximum X and Y coordinates obtained in step S83 for “m” and “n”, respectively. In step S101, the CPU 201 increments “m” by one (m = m + 1). If the difference data Dif [m] [n] is greater than the predetermined threshold Th, the CPU 201 proceeds to step S103, otherwise proceeds to step S104 (step S102). In step S103, the CPU 201 assigns “m” at that time to “mr”. In this way, while repeating steps S101 to S103, scanning is performed in the positive direction of the X axis from the maximum value, and the X coordinate of the extreme difference data whose value exceeds the predetermined threshold Th is obtained.
In step S104, the CPU 201 assigns the maximum X coordinate obtained in step S83 to “m”. In step S105, the CPU 201 decrements “m” by one. If the difference data Dif [m] [n] is greater than the predetermined threshold Th, the CPU 201 proceeds to step S107, otherwise proceeds to step S108 (step S106). In step S107, the CPU 201 assigns “m” at that time to “ml”. In this way, while repeating steps S105 to S107, scanning is performed in the negative direction of the X axis from the maximum value, and the X coordinate of the extreme difference data whose value exceeds the predetermined threshold Th is obtained.
In step S108, the CPU 201 calculates the center coordinate between the X coordinate mr and the X coordinate ml and sets it as the X coordinate (Xc) of the target point. In step S109, the CPU 201 assigns “Xc” obtained in step S108 and the maximum Y coordinate obtained in step S83 to “m” and “n”, respectively. In step S110, the CPU 201 increments “n” by one (n = n + 1). If the difference data Dif [m] [n] is greater than the predetermined threshold Th, the CPU 201 proceeds to step S112, otherwise proceeds to step S113 (step S111). In step S112, the CPU 201 assigns “n” at that time to “md”. In this way, while repeating steps S110 to S112, scanning is performed in the positive direction of the Y axis from the maximum value, and the Y coordinate of the extreme difference data whose value exceeds the predetermined threshold Th is obtained.
In step S113, the CPU 201 assigns the maximum Y coordinate obtained in step S83 to “n”. In step S114, the CPU 201 decrements “n” by one. If the difference data Dif [m] [n] is larger than the predetermined threshold Th, the CPU 201 proceeds to step S116, otherwise proceeds to step S117 (step S115). In step S116, the CPU 201 assigns “n” at that time to “mu”. In this way, while repeating steps S114 to S116, scanning is performed from the maximum value in the negative direction of the Y axis, and the Y coordinate of the extreme difference data whose value exceeds the predetermined threshold Th is obtained.
In step S117, the CPU 201 calculates the center coordinate between the Y coordinate md and the Y coordinate mu, and sets it as the Y coordinate (Yc) of the target point. As described above, the coordinates (Xc, Yc) of the attention point of the operation article 150 are calculated.
FIG. 40 is a flowchart showing the flow of the game process in step S3 of FIG. As shown in FIG. 40, in step S120, the CPU 201 checks the music end flag (see step S196 in FIG. 43). If the music ends, the game process ends. If not, the step ends. Proceed to S121
In step S <b> 121, the CPU 201 registers the x coordinate Px [M] and the y coordinate Py [M] of the attention point of the operation article 150 as display coordinates on the screen 91 of the cursor 105.
CPU201 repeats the process between step S122 and step S144 twice. Here, “j” means the guide display number J (see FIG. 43).
In step S123, the CPU 201 checks the guide start flag GF [j] (see step S194 in FIG. 43). If the guide start flag GF [j] is on, the CPU 201 proceeds to step S125, and if it is off, the CPU 201 proceeds to step S144 (step S124). In step S125, the CPU 201 checks the frame counter C [j]. When the frame counter C [j] is greater than “0”, the CPU 201 proceeds to step S128, and when the frame counter C [j] is “0”, the CPU 201 proceeds to step S127 (step S126). In step S127, the CPU 201 registers the animation information of the position guide G and the animation information of the direction guide g or the route guide rg according to the note number NN [j]. Only when the frame counter C [j] is “0”, such animation information is registered because once animation information is registered, animation is executed according to the registration information. , It is registered only at the start of the animation.
In step S128, the CPU 201 checks the note number NN [j], and if it is a note number instructing the turning of the cursor 105 (see FIG. 20B and FIG. 20C), the CPU 201 proceeds to step S131. If it is any other note number (see FIG. 20A), the process proceeds to step S129. In step S129, the CPU 201 checks the frame counter C [j]. If the frame counter [j] is equal to or greater than the prescribed frame number f1, the CPU 201 proceeds to step S131, otherwise proceeds to step S141 (step S130). In step S131, the CPU 201 determines whether or not the operation of the cursor 105 is adapted to the guide (position guide G / direction guide g / route guide rg) (success determination).
As is clear from step S128 and step S131, when the note number NN [j] is a note number for instructing the turning of the cursor 105, the position guide G and the route are independent of the frame counter C [j]. Since the display of the guide rg is started (the frame counter C [j] is “0”), the success of the operation of the cursor 105 is determined. On the other hand, when the note number NN [j] is other than the note number for instructing the turning of the cursor 105, from the start of display of the position guide G and the direction guide g (the frame counter C [j] is “0”) After the number of frames f1 (for example, 30 frames) has passed, the success determination of the operation of the cursor 105 is performed (see FIG. 28).
As a result of the determination in step S131, the CPU 201 proceeds to step S133 if the operation of the cursor 105 is successful, and proceeds to step S140 if not successful (step S132). In step S133, the CPU 201 refers to the note number NN [j] and the dance speed flag DF (see step S193, step S190, and step S192 in FIG. 43) and registers dance animation information. If the operation is successful, the CPU 201 refers to the note number NN [j] and the dance speed flag DF to scroll the background 110, changes the center position of the panoramic screen 140, and sets the arrays PA and CA. Change the corresponding data. Further, the CPU 201 registers the animation table storage position information of the position guide G used when the operation is successful.
In step S134, the CPU 201 checks the note number NN [j] and proceeds to step S137 if it is a note number instructing to turn the cursor 105, and proceeds to step S135 if it is any other note number. move on. In step S135, the CPU 201 checks the frame counter C [j]. If the frame counter [j] is equal to or greater than the prescribed frame number f2, the CPU 201 proceeds to step S137, otherwise proceeds to step S138 (step S136). In step S137, the CPU 201 adds “3” to the score S. On the other hand, “1” is added to the score S in step S138.
In step S137, “3” is added to the score S, and in step S138, “1” is added to the score S for the following reason. From the start of display of the position guide G and the direction guide g (the frame counter C [j] is “0”), within a predetermined period (for example, 10 frames) after a specified number of frames f2 (for example, 50 frames) has elapsed. When the cursor 105 exists in the area of the position guide G, “3” is added assuming that the cursor 105 is operated at the best timing. On the other hand, if the cursor 105 is present in the area of the position guide G from when the specified frame number f1 has elapsed and before the specified frame number f2 has elapsed, “1” is added as normal success. Further, when an operation suitable for the position guide G and the route guide rg (guide for instructing the turning of the cursor 105) is performed, “3” is uniformly added.
In step S139, the CPU 201 checks the frame counter C [j]. If the frame counter C [j] is equal to the specified frame number f3 (for example, 60 frames), the CPU 201 proceeds to step S142, otherwise proceeds to step S141 (step S140). In step S141, the CPU 201 increments the frame counter C [j] by one. On the other hand, in step S142, the CPU 201 sets “0” to the frame counter C [j]. In step S143, the CPU 201 turns off the guide start flag GF [j]. The prescribed frame number f3 defines the end of success determination.
FIG. 41 is a flowchart showing the flow of interrupt processing. As shown in FIG. 41, in step S150, the CPU 201 executes a music reproduction process. In step S151, the CPU 201 executes a guide (position guide G, direction guide g, route guide rg) registration process.
FIG. 42 is a flowchart showing the flow of the music reproduction process in step S150 of FIG. As shown in FIG. 42, in step S160, the CPU 201 checks an execution standby counter for music. If the value of the execution standby counter for music is “0”, the process proceeds to step S162, and if not “0”, the process proceeds to step S170 (step S161). In step S170, the CPU 201 decrements the execution standby counter for music.
On the other hand, in step S162, the CPU 201 reads and interprets the command indicated by the musical score data pointer for music. If the command is note-on, the process proceeds to step S164 (step S163). On the other hand, if the command is not note-on, that is, if it is standby, the process proceeds to step S165. In step S165, the CPU 201 sets a standby time in the music execution standby counter.
In step S164, the CPU 201 causes the sound processor 203 to start sounding according to the read note number. In step S166, the CPU 201 increments the musical score data pointer for music.
In step S167, the CPU 201 checks the remaining sound generation time for the note number being sounded. If the remaining sound generation time is “0”, the process proceeds to step S169; otherwise, the process proceeds to step S151 in FIG. 41 (step S168). In step S <b> 169, the CPU 201 causes the sound processor 203 to execute a sound generation end process for the note number whose remaining sound generation time is “0”.
FIG. 43 is a flowchart showing the guide registration process in step S151 of FIG. As shown in FIG. 43, in step S180, the CPU 201 checks a guide execution standby counter. If the value of the execution waiting counter for guide is “0”, the process proceeds to step S182, and if not “0”, the process proceeds to step S198 (step S181). In step S198, the CPU 201 decrements the guide execution standby counter.
On the other hand, in step S182, the CPU 201 reads and interprets the command indicated by the musical score data pointer for guide. If the command is note-on, the CPU 201 proceeds to step S184 (step S183). On the other hand, if the command is not note-on, that is, if it is standby, the CPU 201 proceeds to step S197. In step S197, the CPU 201 sets a standby time in a guide execution standby counter.
The CPU 201 proceeds to step S196 if the note number means the end of music, and proceeds to step S185 otherwise (step S184). In step S196, the CPU 201 turns on the music end flag.
On the other hand, if the note number indicates the start of music, the CPU 201 proceeds to step S195, otherwise proceeds to step S186 (step S185). If the guide display number J is “1”, the CPU 201 sets the guide display number J to “0” in step S188, and if the guide display number J is not “1” (if it is “0”). ) In step S187, the guide display number J is set to “1”. It should be noted that the guidance by a certain position guide G and the guidance by another position guide G are started at different timings. However, there are cases where the guidance is executed overlappingly for a certain period. The game process of step S3 of 29 is executed.
The CPU 201 proceeds to step S190 if the note number is a note number instructing to perform a dance animation at a high speed, and proceeds to step S191 otherwise (step S189). In step S190, the CPU 201 sets the dance speed flag DF to “1” (fast dance animation).
On the other hand, the CPU 201 proceeds to step S192 if the note number is a note number instructing to perform a dance animation at a low speed, and proceeds to step S193 otherwise (step S191). In step S192, the CPU 201 sets the dance speed flag DF to “0” (slow speed dance animation).
If the note number is not one of the note number indicating the end of the song, the note number indicating the start of the song, the note number indicating the fast-speed dance animation, and the note number indicating the slow-speed dance animation, Since the note number is a note number indicating the type of guide (FIGS. 20A to 20C), the CPU 201 assigns the note number to the array NN [J] in step S193. . In step S194, the CPU 201 turns on the guide start flag GF [J].
In step S195, the CPU 201 increments the musical score data pointer for guide.
Next, another example of the direction guide g will be described. FIG. 44 is a view showing an example of a game screen to which another example of the direction guide g is applied. As shown in FIG. 44, a strip-shaped direction guide g20 is displayed so as to extend from the position guide G1 to the position guide G2. The direction guide g20 extends from the position guide G1 to the position guide G2 over time. The direction in which the cursor 105 is operated is guided by the direction in which the direction guide g20 extends. Further, if the predetermined time from the time when the direction guide g20 reaches the position guide G2 is a period for determining the success of the operation of the cursor 105, the operation timing of the cursor 105 can be guided by the direction guide g20. It can be said that the direction guide g20 is expressed by gradually changing the color of the path from the position guide G1 to the position guide G2.
FIG. 45 is an illustration of a game screen to which still another example of the direction guide g is applied. As shown in FIG. 45, a direction guide g30 is displayed between the position guide G and another position guide G on the game screen. The direction guide g30 includes five partial paths g31 to g35. In the example of FIG. 45, the colors of the five partial paths g31 to g35 change in order from the position guide G1 to the position guide G2. The color change is indicated by hatching. By doing in this way, the operation direction of the cursor 105 can be guided by the direction of the color change of the partial paths g31 to g35. Further, in this example, if the predetermined time from the time when the color of the partial path g35 adjacent to the position guide G2 that guides the moving position of the cursor 105 changes is set as the period for determining the success of the operation of the cursor 105, the direction guide g30. Thus, the operation timing of the cursor 105 can be guided.
FIG. 46 is a view showing an example of a game screen to which still another example of the direction guide g is applied. As shown in FIG. 46, a direction guide g40 is displayed on the game screen between the position guide G1 and the position guide G2. The direction guide g40 moves from the position guide G1 to the position guide G2 over time. The direction in which the cursor 105 is operated is guided by the direction in which the direction guide g40 moves. Further, if the predetermined time from the time when the direction guide g40 reaches the position guide G2 is set as a period for determining the success of the operation of the cursor 105, the operation timing of the cursor 105 can be guided by the direction guide g40.
As described above, in the present embodiment, when the operation of the cursor 105 is adapted to a guide (position guide G, direction guide g, route guide rg), an image (in the above example, according to the guide by the guide). The display of the dance object 106 and the background 110) is controlled. In this case, since the operation of the cursor 105 is performed in conformity with the guidance by the guide, the display of the image is controlled according to the operation of the cursor 105. That is, since the cursor 105 is interlocked with the operation article 150, display of an image is controlled according to the operation of the operation article 150. Further, the operation article 150 that is intermittently irradiated with light by a stroboscope is photographed by the imaging unit 13 to obtain state information of the operation article 150. For this reason, in order to obtain the state information of the operation article 150, it is not necessary to incorporate a circuit driven by the power source in the operation article 150. Furthermore, this music game apparatus 1 automatically plays music.
As a result, while the music piece is automatically played without the player 94 being involved, when the player 94 operates the operation article 150 having a simple configuration, the user can enjoy an image that follows the operation of the operation article 150 together with the music piece. Can do.
In addition, since the guide is controlled at a timing based on the music, if the player 94 operates the cursor 105 according to the guide, the operation of the operation article 150 also matches the music. Therefore, the player 94 can enjoy the operation of the operation article 150 suitable for the music.
Here, for example, the high speed processor 200 scrolls the background 110 to the left, and rotates the dance object 106 counterclockwise corresponding to the note numbers “55” and “67”, and the dance animation. Prepare a table. Further, for example, the high speed processor 200 corresponds to the note numbers “45” and “64”, and scrolls the background 110 to the right, and the dance animation information and the dance animation table for rotating the dance object 106 clockwise. prepare. In addition, for example, the high speed processor 200 scrolls the background 110 downward corresponding to the note numbers “76” and “77”, and also dance information and dance animation table for rotating the dance object 106 counterclockwise. Prepare. Also, for example, the high speed processor 200 generates dance animation information and a dance animation table for scrolling the background 110 upward and rotating the dance object 106 clockwise corresponding to the note numbers “65” and “74”. prepare. Also, for example, corresponding to the note number “53”, dance animation information and a dance animation table for rotating the dance object 106 greatly in the clockwise direction are prepared. Also, for example, dance animation information and a dance animation table for rotating the dance object 106 greatly counterclockwise are prepared corresponding to the note number “57”.
Note that such a note number (see FIGS. 20A to 20C) is a note number that controls the display of the guide, so the background 110 and the dance object 106 are controlled according to the guide. It turns out that. In other words, the background 110 and the dance object 106 are controlled according to the operation of the operation article 150.
In the present embodiment, the position guide G guides the movement position and operation timing of the cursor 105. Then, when the operation of the cursor 105 by the operation article 150 is adapted to the guidance of the position guide G, the high speed processor 200 corresponds to the direction of the moving position guided by the position guide G (in the above example, the dance Control display of object 106 and background 110).
Therefore, when the player 94 operates the operation article 150 to move the cursor 105 to the movement position guided by the position guide G at the operation timing guided by the position guide G, the movement guided by the position guide G is performed. The display of the image is controlled corresponding to the direction of the position. As a result, it is possible to enjoy an image that follows the movement of the cursor 105 linked to the operation of the operation article 150 together with the music (see FIG. 12).
Furthermore, in the present embodiment, the route guide rg guides the moving route, moving direction, and operation timing of the cursor 105. Accordingly, the player 94 operates the operation article 150 to move the cursor 105 along the movement route guided by the route guide rg in the moving direction guided by the route guide rg at the operation timing guided by the route guide rg. In this case, display of an image (in the above example, a dance object) is controlled according to the route guide rg. As a result, it is possible to enjoy an image corresponding to the movement of the cursor 105 linked to the operation of the operation article 150 together with the music (see FIG. 13).
Furthermore, according to the present embodiment, when the position of the point of interest of the operation article 150 exists within the area guided by the position guide G within the period guided by the position guide G, the operation article 150 is interlocked with the operation article 150. It is determined that the operation of the cursor 105 is suitable for the guidance of the position guide G (see FIG. 24). Further, when the position of the attention point of the operation article 150 moves in a predetermined order guided by the route guide rg within a period guided by the route guide rg, a plurality of predetermined areas guided by the route guide rg are operated. It is determined that the operation of the cursor 105 linked to the object 150 is suitable for the guidance of the route guide rg (see FIG. 25). As described above, the accuracy of the operation of the cursor 105 can be determined based on the position of the attention point of the operation article 150 that can be calculated by simple processing.
Further, in the present embodiment, the position guide G is displayed at each of a plurality of predetermined positions on the screen 91. Then, the high speed processor 200 changes the form of the position guide G at the timing based on the music (in the example of FIG. 12, an animation in which a flower opens). Therefore, the player 94 can easily recognize the position and direction in which the cursor 105 should be moved by the change in the form of the position guide G.
Further, in the present embodiment, the direction guide g and the route guide rg are expressed by a display that can visually recognize the movement from the first predetermined position on the screen 91 to the second predetermined position. Is done. Thus, in addition to the position guide G, the operation of the cursor 105 is guided by the direction guide g and the route guide rg. Therefore, the player 94 can more clearly recognize the direction and route in which the cursor 105 should be moved. More specifically, it is as follows.
The direction guide g and the route guide rg have a plurality of objects (see FIG. 12 and FIG. 12) arranged on a route starting from the first predetermined position on the screen 91 and ending at the second predetermined position. In the example of FIG. 13, it is expressed by a change in the form of a sphere figure). In this case, the player 94 can easily recognize the direction and route in which the cursor 105 should be moved by changing the form of the plurality of objects.
The direction guide g is expressed by the movement of an object (a bird figure in the example of FIG. 46) from a first predetermined position on the screen 91 to a second predetermined position. In this case, the player 94 can easily recognize the direction and route in which the cursor 105 should be moved by moving the object.
Further, the direction guide g is represented by a change in the form of a route starting from the first predetermined position on the screen 91 and ending at the second predetermined position (FIGS. 44 and 45). reference). In this case, the player 94 can easily recognize the direction and path in which the cursor 105 should be moved by changing the form of the path.
Furthermore, in the present embodiment, the high speed processor 200 uses the speed information, the movement direction information, the movement distance information, the velocity vector information, the acceleration information, the movement trajectory information, the area information, or the position information as the state information of the operation article 150. Any of the information, or a combination of two or more thereof can be calculated. As described above, as the state information of the operation article 150 when determining whether or not the operation of the cursor 105 by the operation article 150 is suitable for the guide (position guide G, direction guide g, route guide rg), Since information can be used, the degree of freedom of expression of the guide is increased, and as a result, the degree of freedom of design of the game content is also increased.
Furthermore, in the present embodiment, it is possible to obtain state information of the operation article 150 by intermittently irradiating the operation article 150 with the reflection sheet 155 with infrared light and photographing the operation object 150. For this reason, in order to obtain the state information of the operation article 150, it is not necessary to incorporate a circuit driven by the power source in the operation article 150. Therefore, the operability and reliability of the operation article 150 can be improved, and the cost can be reduced.
The present invention is not limited to the above-described embodiment, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
(1) In the embodiment, the dance object 106 and the background 110 are given as examples of images (following images) controlled to follow the operation article 150. However, the present invention is not limited to this, and an arbitrary object can be selected as the follow-up image. In addition, instead of expressing the movement of the dance object 106 by scrolling the background 110, the dance object 106 itself can be moved up, down, left, and right.
(2) In the embodiment, the linear operation of the cursor 105 is guided by both the position guide G and the direction guide g, but can be guided by either one. When the operation of the cursor 105 is guided only by the direction guide g, the still image position guide G is preferably arranged at the start point and the end point of the direction guide g. In addition, the turning operation of the cursor 105 is guided by both the position guide G and the route guide rg, but it is also possible to guide only by the route guide rg. Further, the guides (position guide G, direction guide g, route guide rg) are expressed by animation, but the present invention is not limited to this. Further, the mode of the guide is not limited to the above.
(3) In the embodiment, the operation article 150 including the stick 152 and the reflective ball 151 is adopted as the operation article. However, the shape of the operation article is not limited to this as long as it includes a reflector.
(4) In the embodiment, the coordinates of the attention point of the operation article 150 are calculated as shown in FIGS. 23A to 23D. However, the pixel having the maximum luminance value exceeding the predetermined threshold Th. (See step S83 in FIG. 38) can be converted into coordinates on the screen 91 and used as the coordinates of the target point.
(5) Although any type of processor can be used as the high-speed processor 200 of FIG. 6, it is preferable to use a high-speed processor that has already been applied for a patent. This high speed processor is disclosed in detail, for example, in Japanese Patent Laid-Open No. 10-307790 and US Pat. No. 6,070,205 corresponding thereto.
Although the present invention has been described in detail with reference to the embodiments, it will be apparent to those skilled in the art that the present invention is not limited to the embodiments described herein. The present invention can be implemented as modified and changed modes without departing from the spirit and scope of the present invention defined by the description of the scope of claims. Therefore, the description of the present application is for illustrative purposes and does not have any limiting meaning to the present invention.

Claims (16)

楽曲を自動演奏する音楽ゲーム装置であって、
プレイヤによって動かされる被写体を撮像する撮像手段と、
前記撮像手段による撮像画像に基づいて、前記被写体の状態情報を算出する状態情報算出手段と、
画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するガイド制御手段と、
前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するカーソル制御手段と、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断し、前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイド案内する前記移動位置の方向に対応して、追従画像の表示を制御する追従画像制御手段と、を備える音楽ゲーム装置。
A music game device for automatically playing music,
Imaging means for imaging an object to be moved by the player,
And status-information obtaining means based on the captured image, it calculates the status information of the object by the image pickup means,
Guide control means for guiding the movement position of the cursor linked to the subject by changing the form of the position guide displayed at each of a plurality of predetermined positions on the screen at a timing based on the music ;
Cursor control means for controlling display of the cursor based on the state information of the subject ;
Based on the state information of the subject and information on the position guide, it is determined whether the operation of the cursor by the subject is suitable for the position guide, and the operation of the cursor by the subject is determined by the position. when adapted to guide, in correspondence with the direction of the movement position of the position guide for guiding the music game apparatus comprising: a follow-up image control means for controlling the display of the tracking image.
複数の前記位置ガイドは、第1のガイド及び第2のガイドを含み、  The plurality of position guides include a first guide and a second guide,
前記ガイド制御手段は、前記第2のガイドにより、前記第1のガイドの位置から前記第2のガイドの位置へ前記カーソルを案内し、  The guide control means guides the cursor from the position of the first guide to the position of the second guide by the second guide,
前記第1のガイドは、前記第2のガイドによる前記案内の直前に、前記カーソルを案内したガイドである、請求項1記載の音楽ゲーム装置。  The music game apparatus according to claim 1, wherein the first guide is a guide that guides the cursor immediately before the guidance by the second guide.
前記追従画像制御手段は、前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイドが案内する前記移動位置の方向に対応した方向に動作するように、前記追従画像の表示を制御する、請求項1又は2記載の音楽ゲーム装置。The following image control means, operation of the cursor by the subject, when adapted to the position guide, to operate in a direction corresponding to the direction of the movement position of the position guide for guiding the tracking image to control the display of the music game apparatus according to claim 1 or 2, wherein. 前記状態情報算出手段は、前記撮像画像に基づいて、前記被写体の前記状態情報としての位置を算出し、
前記追従画像制御手段は、前記状態情報算出手段が算出した前記被写体の前記位置が、前記位置ガイドが案内する期間内に、前記位置ガイドが案内する領域内に存在する場合に、前記被写体に連動するカーソルの操作が、前記位置ガイドに適合していると判断する、請求項1から3のいずれかに記載の音楽ゲーム装置。
The state information calculation means calculates the position of the subject as the state information based on the captured image,
The following image control means, the position of the object in which the state information calculating unit has calculated, within the period in which the position guide to guide, when present in a region where the position guide to guide, in conjunction with the subject operation of the cursor that is, determines that conforms to the position guide, the music game apparatus according to any one of claims 1 to 3.
前記ガイド制御手段は、前記カーソルの移動経路を案内する経路ガイドを、前記楽曲に基づくタイミングで制御し
前記追従画像制御手段は、前記被写体による前記カーソルの操作が、前記経路ガイドに適合したときに、前記経路ガイドが案内する経路に対応して、前記追従画像の表示を制御する、請求項1から4のいずれかに記載の音楽ゲーム装置。
The guide control means controls a route guide for guiding a movement route of the cursor at a timing based on the music ,
The following image control means, operation of the cursor by the subject, when adapted to the route guide, in response to the path which the path guide for guiding, controlling the display of the follow-up images, from claim 1 5. The music game apparatus according to any one of 4 .
前記状態情報算出手段は、前記撮像画像に基づいて、前記被写体の前記状態情報としての位置を算出し、
前記追従画像制御手段は、前記状態情報算出手段が算出した前記被写体の前記位置が、前記経路ガイドが案内する期間内に、前記経路ガイドが案内する複数の所定領域を、前記経路ガイドが案内する所定の順序で移動した場合に、前記被写体に連動するカーソルの操作が、前記経路ガイドに適合していると判断する、請求項記載の音楽ゲーム装置。
The state information calculation means calculates the position of the subject as the state information based on the captured image,
The following image control means, the position of the object in which the state information calculating unit has calculated, within the period in which the path guide for guiding a plurality of predetermined areas in which the path guide for guiding the path guide for guiding The music game apparatus according to claim 5 , wherein when the movement is performed in a predetermined order, it is determined that a cursor operation linked to the subject is suitable for the route guide.
複数の前記位置ガイドは、第4のガイド及び第5のガイドを含み、
前記ガイド制御手段は、前記ガイドの位置から前記ガイドの位置への移動が視覚的に認識できるように表現される方向ガイドの表示を、前記楽曲にもとづくタイミングで制御する、請求項1から6のいずれかに記載の音楽ゲーム装置。
The plurality of position guides include a fourth guide and a fifth guide,
The guide control means, the display of the fourth guide from said fifth position in the guide direction guide movement Ru expressed as visually recognizable to the position of the controls at the timing based on the musical composition, The music game device according to claim 1.
前記方向ガイドは、画面上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路上に配置される複数のオブジェクトの形態の変化により表現される、請求項7記載の音楽ゲーム装置。The direction guide is represented by a change in the form of a plurality of objects arranged on a path starting from a first predetermined position on the screen and ending at a second predetermined position. The music game apparatus according to claim 7. 前記方向ガイドは、画面上の第1の予め定められた位置から第2の予め定められた位置へのオブジェクトの移動により表現される、請求項7記載の音楽ゲーム装置。The music game device according to claim 7, wherein the direction guide is expressed by movement of an object from a first predetermined position on the screen to a second predetermined position. 前記方向ガイドは、画面上の第1の予め定められた位置を始点とし、第2の予め定められた位置を終点とする経路の形態の変化により表現される、請求項7記載の音楽ゲーム装置。8. The music game apparatus according to claim 7, wherein the direction guide is expressed by a change in a route form starting from a first predetermined position on the screen and ending at a second predetermined position. . 前記状態情報算出手段が算出する前記被写体の前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの2以上の組み合わせである、請求項1から10のいずれかに記載の音楽ゲーム装置。The state information of the subject calculated by the state information calculation means is any of speed information, moving direction information, moving distance information, speed vector information, acceleration information, moving trajectory information, area information, or position information. The music game device according to claim 1, or a combination of two or more thereof. 前記追従画像は、ダンスのアニメーションを行なう画像である、請求項1から11のいずれかに記載の音楽ゲーム装置。  The music game device according to claim 1, wherein the follow-up image is an image for performing a dance animation. 楽曲を自動演奏する音楽ゲームシステムであって、
プレイヤによって動かされる被写体を撮像する撮像手段と、
前記撮像手段による撮像画像に基づいて、前記被写体の状態情報を算出する状態情報算出手段と、
画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するガイド制御手段と、
前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するカーソル制御手段と、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体によるカーソルの操作が、前記位置ガイドに適合しているか否かを判断し、前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイド案内する前記移動位置の方向に対応して、追従画像の表示を制御する追従画像制御手段と、を備える音楽ゲームシステム。
A music game system for automatically playing music,
Imaging means for imaging an object to be moved by the player,
And status-information obtaining means based on the captured image, it calculates the status information of the object by the image pickup means,
Guide control means for guiding the movement position of the cursor linked to the subject by changing the form of the position guide displayed at each of a plurality of predetermined positions on the screen at a timing based on the music ;
Cursor control means for controlling display of the cursor based on the state information of the subject ;
Based on the state information of the subject and information on the position guide, it is determined whether or not the operation of the cursor by the subject is suitable for the position guide, and the operation of the cursor by the subject is determined by the position guide. And a follow-up image control means for controlling the display of the follow-up image in accordance with the direction of the moving position guided by the position guide when the position guide is adapted.
請求項1から12のいずれか一に記載の音楽ゲーム装置の被写体としての、プレイヤが操作する操作物であって、
前記プレイヤによって把持される棒状の把持部と、
前記把持部の一方端に設けられ、受けた光を再帰反射する反射部と、を備え
前記反射部は、透明色の外殻の内部に固定される、操作物。
An operation article operated by a player as a subject of the music game device according to any one of claims 1 to 12 ,
A rod-shaped gripping part gripped by the player;
A reflection part that is provided at one end of the gripping part and retroreflects the received light ;
The reflective part is an operation article that is fixed inside a transparent outer shell .
撮像装置が撮像した、プレイヤによって動かされる被写体の撮像画像を解析して、解析結果をゲーム処理に反映し、表示装置に表示された映像を制御する音楽ゲーム装置のコンピュータに、
楽曲を自動演奏するステップと、
前記撮像装置から前記撮像画像を取得して、その撮像画像に基づいて、前記被写体の状態情報を算出するステップと、
前記表示装置の画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するステップと、
前記表示装置の画面上の前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するステップと、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断するステップと、
前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイド案内する前記移動位置の方向に対応して、前記表示装置の画面上の追従画像の表示を制御するステップと、を実行させる音楽ゲームプログラム。
The computer of the music game device that analyzes the captured image of the subject that is imaged by the imaging device and is moved by the player, reflects the analysis result in the game process, and controls the video displayed on the display device.
A step of automatically playing music,
Obtaining the captured image from the imaging device and calculating state information of the subject based on the captured image ;
A step of guiding a moving position of a cursor linked to the subject by changing a form of a position guide displayed at each of a plurality of predetermined positions on the screen of the display device at a timing based on the music; When,
Controlling the display of the cursor on the screen of the display device based on the state information of the subject ;
A step of, based on the information about the status information and the position guide of the subject, the operation of the cursor by the subject to determine whether they comply with the said location guide,
A step operation of the cursor by the subject, when adapted to the position guide, which corresponds to the direction of the movement position of the position guide for guiding, controlling the display of the tracking image on the screen of the display device A music game program that lets you run.
撮像装置が撮像した、プレイヤによって動かされる被写体の撮像画像を解析して、解析結果をゲーム処理に反映し、表示装置に表示された映像を制御する音楽ゲーム装置のコンピュータが実行する音楽ゲーム方法であって、
楽曲を自動演奏するステップと、
前記撮像装置から前記撮像画像を取得して、その撮像画像に基づいて、前記被写体の状態情報を算出するステップと、
前記表示装置の画面上の予め定められた複数の位置の各々に表示された位置ガイドの形態を、前記楽曲に基づくタイミングで変化させることによって、前記被写体に連動するカーソルの移動位置を案内するステップと、
前記表示装置の画面上の前記カーソルの表示を、前記被写体の前記状態情報に基づいて制御するステップと、
前記被写体の前記状態情報及び前記位置ガイドに関する情報に基づいて、前記被写体による前記カーソルの操作が、前記位置ガイドに適合しているか否かを判断するステップと、
前記被写体による前記カーソルの操作が、前記位置ガイドに適合したときに、前記位置ガイド案内する前記移動位置の方向に対応して、前記表示装置の画面上の追従画像の表示を制御するステップと、を含む音楽ゲーム方法。
A music game method executed by a computer of a music game apparatus that analyzes a captured image of a subject moved by a player, which is captured by an imaging apparatus, reflects the analysis result in game processing, and controls a video displayed on the display apparatus There,
A step of automatically playing music,
Obtaining the captured image from the imaging device and calculating state information of the subject based on the captured image;
A step of guiding a moving position of a cursor linked to the subject by changing a form of a position guide displayed at each of a plurality of predetermined positions on the screen of the display device at a timing based on the music; When,
Controlling the display of the cursor on the screen of the display device based on the state information of the subject ;
Determining whether an operation of the cursor by the subject is compatible with the position guide based on the state information of the subject and information on the position guide;
A step operation of the cursor by the subject, when adapted to the position guide, which corresponds to the direction of the movement position of the position guide for guiding, controlling the display of the tracking image on the screen of the display device , Including music game methods.
JP2005514131A 2003-09-18 2004-09-17 Music game device, music game system, operation article, music game program, and music game method Expired - Fee Related JP4701411B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005514131A JP4701411B2 (en) 2003-09-18 2004-09-17 Music game device, music game system, operation article, music game program, and music game method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2003325381 2003-09-18
JP2003325381 2003-09-18
JP2005514131A JP4701411B2 (en) 2003-09-18 2004-09-17 Music game device, music game system, operation article, music game program, and music game method
PCT/JP2004/014025 WO2005028053A1 (en) 2003-09-18 2004-09-17 Music game device, music game system, operation object, music game program, and music game method

Publications (2)

Publication Number Publication Date
JPWO2005028053A1 JPWO2005028053A1 (en) 2006-11-30
JP4701411B2 true JP4701411B2 (en) 2011-06-15

Family

ID=34372796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005514131A Expired - Fee Related JP4701411B2 (en) 2003-09-18 2004-09-17 Music game device, music game system, operation article, music game program, and music game method

Country Status (2)

Country Link
JP (1) JP4701411B2 (en)
WO (1) WO2005028053A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007077851A1 (en) * 2005-12-30 2007-07-12 Ssd Company Limited Representation method and operation object
CN113713371B (en) * 2021-08-31 2023-07-21 腾讯科技(深圳)有限公司 Music synthesis method, device, equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001074458A (en) * 1999-09-08 2001-03-23 Hitachi Zosen Corp Position detecting facility for moving object
JP2001209487A (en) * 2000-01-25 2001-08-03 Uw:Kk Handwriting communication system, and handwriting input and handwriting display device used for the system
JP2001307124A (en) * 2000-02-15 2001-11-02 Sega Corp Image processing system, image processor and image pickup device
JP2002024833A (en) * 2000-07-07 2002-01-25 Sony Corp Entertainment system, entertainment device and information processing method
JP2003210838A (en) * 2002-01-22 2003-07-29 Konami Co Ltd Game system, game system-controlling method, and game system-controlling program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001074458A (en) * 1999-09-08 2001-03-23 Hitachi Zosen Corp Position detecting facility for moving object
JP2001209487A (en) * 2000-01-25 2001-08-03 Uw:Kk Handwriting communication system, and handwriting input and handwriting display device used for the system
JP2001307124A (en) * 2000-02-15 2001-11-02 Sega Corp Image processing system, image processor and image pickup device
JP2002024833A (en) * 2000-07-07 2002-01-25 Sony Corp Entertainment system, entertainment device and information processing method
JP2003210838A (en) * 2002-01-22 2003-07-29 Konami Co Ltd Game system, game system-controlling method, and game system-controlling program

Also Published As

Publication number Publication date
JPWO2005028053A1 (en) 2006-11-30
WO2005028053A1 (en) 2005-03-31

Similar Documents

Publication Publication Date Title
JP4742247B2 (en) GAME DEVICE AND GAME PROGRAM
JP5130504B2 (en) Information processing apparatus, information processing method, program, and storage medium
KR101009161B1 (en) Information processor having input system using stroboscope
US9235292B2 (en) Interactive projector system and method
JP4895352B2 (en) Object selection program, object selection device, object selection system, and object selection method
JP4590005B2 (en) Information reproducing apparatus and information input apparatus
US20070197290A1 (en) Music Game Device, Music Game System, Operation Object, Music Game Program, And Music Game Method
JP2008518686A (en) Multi-user touch sensitive entertainment device
JP2007300985A (en) Game program and game device
JP4006949B2 (en) Image processing system, image processing apparatus, and imaging apparatus
US20120266739A1 (en) Storage medium recorded with program for musical performance, apparatus, system and method
JP4701411B2 (en) Music game device, music game system, operation article, music game program, and music game method
JP2005230534A (en) Dress-up game device
US7554545B2 (en) Drawing apparatus operable to display a motion path of an operation article
JP5055548B2 (en) Exercise support apparatus and computer program
JP2012252511A (en) Image processing program, image processing apparatus, image processing method, and image processing system
JP4747334B2 (en) Drawing apparatus, operation article, drawing system, drawing program, and drawing method
CN112911769A (en) Virtual interaction method, equipment and storage medium for head shaking stage lamp
JP2004297754A (en) Automatic photograph making apparatus
JP4735802B2 (en) GAME DEVICE, GAME PROGRAM, AND GAME DEVICE CONTROL METHOD
JP3098423U (en) Automatic performance device and automatic performance system
JP2001087549A (en) Game machine
JP3922273B2 (en) Performance device and performance device control program
JP2007518454A (en) Imaging device and subject
JP2009297539A (en) Information processor having input system using stroboscope, input device, man-machine interface, and computer program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070914

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

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

Free format text: PAYMENT UNTIL: 20140318

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees