JP2012069126A - Image processing program, image processor, image processing system and image processing method - Google Patents

Image processing program, image processor, image processing system and image processing method Download PDF

Info

Publication number
JP2012069126A
JP2012069126A JP2011226197A JP2011226197A JP2012069126A JP 2012069126 A JP2012069126 A JP 2012069126A JP 2011226197 A JP2011226197 A JP 2011226197A JP 2011226197 A JP2011226197 A JP 2011226197A JP 2012069126 A JP2012069126 A JP 2012069126A
Authority
JP
Japan
Prior art keywords
image
virtual
virtual object
camera
real
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.)
Granted
Application number
JP2011226197A
Other languages
Japanese (ja)
Other versions
JP5602702B2 (en
Inventor
Koichi Kawamoto
浩一 河本
Shinya Fujiwara
慎矢 藤原
Yuki Nishimura
悠樹 西村
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.)
Nintendo Co Ltd
HAL Laboratory Inc
Original Assignee
Nintendo Co Ltd
HAL Laboratory Inc
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 Nintendo Co Ltd, HAL Laboratory Inc filed Critical Nintendo Co Ltd
Priority to JP2011226197A priority Critical patent/JP5602702B2/en
Publication of JP2012069126A publication Critical patent/JP2012069126A/en
Application granted granted Critical
Publication of JP5602702B2 publication Critical patent/JP5602702B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

PROBLEM TO BE SOLVED: To take an image with which a user feels as if a virtual object exists in a real space.SOLUTION: When a marker existing in a real space is imaged with an outer camera, an image obtained by imaging plural virtual characters with a virtual camera is superimposed on an actual image obtained by imaging the real space and then displayed on an upper LCD. The virtual characters are positioned in a marker coordinate system with the marker being a reference, and the position and attitude of each virtual character change according to a button operation on a game device by a user. When the user performs a button operation for indicating an imaging instruction, the displayed image is saved in storage means.

Description

本発明は、実カメラで撮像した画像に仮想オブジェクトを重畳した画像を生成する画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法に関する。   The present invention relates to an image processing program, an image processing apparatus, an image processing system, and an image processing method for generating an image in which a virtual object is superimposed on an image captured by a real camera.

従来、実カメラで撮像した画像に仮想オブジェクトの画像を合成する画像合成装置が存在する(例えば、特許文献1)。具体的には、特許文献1に記載の装置では、撮像した画像内の被写体を検出し、検出した被写体の種類や状態に応じて、仮想オブジェクトの種類や合成状態を決定する。そして、撮像した画像に当該仮想オブジェクトの画像を合成した合成画像を生成し、ユーザの撮影指示があった場合に、その時点での合成画像を記録する。   2. Description of the Related Art Conventionally, there is an image composition device that composes an image of a virtual object with an image captured by a real camera (for example, Patent Document 1). Specifically, the apparatus described in Patent Document 1 detects a subject in a captured image, and determines the type and composite state of a virtual object according to the type and state of the detected subject. Then, a synthesized image obtained by synthesizing the image of the virtual object with the captured image is generated, and when the user gives a shooting instruction, the synthesized image at that time is recorded.

特開2009−290842号公報JP 2009-290842 A

しかしながら、特許文献1では、予め大きさや向きなどが設定されている仮想オブジェクトの画像を撮像した画像に単に合成するだけであり、特許文献1の装置で撮影された写真は、仮想オブジェクトがあたかも実空間に存在するような感覚をユーザに与えるようなものではなかった。   However, in Patent Document 1, a virtual object image whose size, orientation, and the like are set in advance is simply combined with a captured image, and the photograph taken with the apparatus of Patent Document 1 is as if the virtual object is real. It was not something that would give the user the feeling of being in space.

それ故、本発明の目的は、仮想オブジェクトがあたかも実空間に存在するような感覚をユーザに与えることが可能な画像を撮影する画像処理技術を提供することである。   Therefore, an object of the present invention is to provide an image processing technique for photographing an image that can give a user a feeling that a virtual object exists in real space.

本発明は、上記の課題を解決するために、以下の構成を採用した。   The present invention employs the following configuration in order to solve the above problems.

本発明は、実カメラによって撮像された画像に仮想オブジェクト画像を重ね合わせた画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムである。当該画像処理プログラムは、上記コンピュータを、実画像取得手段、位置姿勢情報取得手段、仮想カメラ設定手段、仮想オブジェクト変更手段、仮想オブジェクト画像生成手段、重畳画像生成手段、および、保存手段として機能させる。実画像取得手段は、上記実カメラによって撮像された被写体の実画像を取得する。位置姿勢情報取得手段は、実空間における上記実カメラの位置および姿勢に応じた位置姿勢情報を取得する。仮想カメラ設定手段は、仮想空間内において、上記位置姿勢情報取得手段によって取得された位置姿勢情報に基づいて仮想カメラの位置および姿勢を設定する。仮想オブジェクト変更手段は、ユーザによる入力手段への入力に応じて、上記仮想空間内に配置された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する。仮想オブジェクト画像生成手段は、上記仮想オブジェクト変更手段によって位置および姿勢の少なくとも一方が変更された上記仮想オブジェクトを上記仮想カメラで撮像することにより仮想オブジェクト画像を生成する。重畳画像生成手段は、上記実画像取得手段によって取得された実画像と上記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を生成する。保存手段は、ユーザによる撮影指示に応じて、上記重畳画像を記憶手段に保存する。   The present invention is an image processing program executed in a computer of an image processing apparatus that generates an image obtained by superimposing a virtual object image on an image captured by a real camera. The image processing program causes the computer to function as a real image acquisition unit, a position / orientation information acquisition unit, a virtual camera setting unit, a virtual object change unit, a virtual object image generation unit, a superimposed image generation unit, and a storage unit. The real image acquisition means acquires a real image of the subject imaged by the real camera. The position and orientation information acquisition means acquires position and orientation information corresponding to the position and orientation of the real camera in the real space. The virtual camera setting means sets the position and orientation of the virtual camera in the virtual space based on the position and orientation information acquired by the position and orientation information acquisition means. The virtual object changing unit changes at least one of the position and orientation of at least a part of the virtual object arranged in the virtual space in response to an input to the input unit by the user. The virtual object image generation means generates a virtual object image by capturing the virtual object, at least one of the position and orientation of which has been changed by the virtual object changing means, with the virtual camera. The superimposed image generating unit generates a superimposed image by superimposing the real image acquired by the real image acquiring unit and the virtual object image generated by the virtual object image generating unit. The storage unit stores the superimposed image in the storage unit in accordance with a shooting instruction from the user.

なお、上記位置姿勢情報取得手段が取得する実カメラの位置および姿勢に応じた位置姿勢情報は、実空間に存在する所定の対象物と上記実カメラとの相対的な位置および姿勢であってもよい。すなわち、上記位置姿勢情報は、実空間の所定の対象物を基準とした実カメラの位置および姿勢であってもよいし、実カメラを基準とした実空間の所定の対象物の位置および姿勢であってもよい。また、上記位置姿勢情報は、絶対的な位置を検出する手段(例えば、GPS)や姿勢検出手段(例えば、角速度センサや加速度センサ、地磁気を検出する手段等)によって検出された実カメラの絶対的な位置および姿勢であってもよい。   Note that the position / orientation information corresponding to the position and orientation of the real camera acquired by the position / orientation information acquisition means may be the relative position and orientation of the predetermined object existing in the real space and the actual camera. Good. That is, the position and orientation information may be the position and orientation of a real camera based on a predetermined object in the real space, or the position and orientation of the predetermined object in the real space based on the real camera. There may be. The position / orientation information is the absolute value of an actual camera detected by means for detecting an absolute position (for example, GPS) or attitude detection means (for example, an angular velocity sensor, an acceleration sensor, or a means for detecting geomagnetism). May be in any position and orientation.

上記によれば、仮想空間の仮想オブジェクトをユーザが操作し、当該操作した仮想オブジェクトを実画像に重畳した重畳画像を生成して保存することができる。これにより、仮想オブジェクトがあたかも実空間の存在するような感覚をユーザに与えることができる画像を撮影することができる。   According to the above, a user operates a virtual object in a virtual space, and a superimposed image in which the operated virtual object is superimposed on a real image can be generated and stored. As a result, it is possible to capture an image that can give the user the feeling that the virtual object exists in real space.

また、本発明の他の構成では、上記位置姿勢情報取得手段は、上記実画像取得手段によって取得された実画像に含まれる特定対象物を検出し、当該検出結果に基づいて、上記特定対象物に対する相対的な上記実カメラの位置および姿勢を取得してもよい。   Further, in another configuration of the invention, the position / orientation information acquisition unit detects a specific object included in the real image acquired by the real image acquisition unit, and based on the detection result, the specific object You may acquire the position and attitude | position of the said real camera relative to.

上記によれば、実カメラによって撮像された実画像に含まれる特定対象物に基づいて、実空間における当該特定対象物と実カメラとの相対的な位置および姿勢を取得することができる。   Based on the above, based on the specific object included in the real image captured by the real camera, the relative position and orientation of the specific object and the real camera in real space can be acquired.

また、本発明の他の構成では、上記画像処理装置は表示手段に接続可能であってもよい。上記重畳画像生成手段は、上記撮影指示が行われるまで、上記実画像取得手段によって取得された実画像と上記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を繰り返し生成する。そして、上記画像処理プログラムは、上記コンピュータを表示制御手段として更に機能させる。表示制御手段は、上記撮影指示が行われるまで、上記重畳画像生成手段によって生成された重畳画像を上記表示手段に表示させる。   In another configuration of the present invention, the image processing apparatus may be connectable to display means. The superimposed image generation unit repeatedly generates a superimposed image obtained by superimposing the real image acquired by the real image acquisition unit and the virtual object image generated by the virtual object image generation unit until the shooting instruction is performed. To do. The image processing program further causes the computer to function as display control means. The display control means causes the display means to display the superimposed image generated by the superimposed image generation means until the photographing instruction is performed.

上記によれば、ユーザによる撮影指示が行われるまで、表示手段に重畳画像を表示させることができる。これにより、ユーザは、撮影(保存)する重畳画像を確認することができる。   According to the above, it is possible to display the superimposed image on the display unit until the user gives a shooting instruction. Thereby, the user can confirm the superimposed image to be photographed (saved).

また、本発明の他の構成では、上記仮想オブジェクトは、第1部位および第2部位を含んでもよい。この場合において、上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、上記仮想オブジェクトの上記第1部位が上記仮想カメラへ向くように当該第1部位の姿勢を変更する部位変更手段を含む。   In another configuration of the present invention, the virtual object may include a first part and a second part. In this case, the virtual object changing unit changes the posture of the first part so that the first part of the virtual object faces the virtual camera in response to an input to the input unit by a user. Including means.

上記によれば、仮想オブジェクトの上記第1部位を仮想カメラの方向に向くように第1部位の姿勢を変更することができる。例えば、仮想オブジェクトの顔を仮想カメラの方向に向かせることができ、あたかも仮想オブジェクトが実空間に存在するような感覚をユーザに与えることができる。   According to the above, the posture of the first part can be changed so that the first part of the virtual object faces the direction of the virtual camera. For example, the face of the virtual object can be directed toward the virtual camera, and the user can feel as if the virtual object exists in real space.

また、本発明の他の構成では、上記部位変更手段は、上記第1部位が上記仮想カメラへ向くように当該第1部位の姿勢を変更した場合において、上記第2部位を基準とした上記第1部位の姿勢が第1の範囲外である場合、上記第1部位の姿勢を当該第1の範囲の上限または下限に設定してもよい。   In another configuration of the present invention, the part changing means may change the first part based on the second part when the posture of the first part is changed so that the first part faces the virtual camera. When the posture of one part is outside the first range, the posture of the first part may be set to the upper limit or the lower limit of the first range.

上記によれば、第2部位に対する第1部位の姿勢を上記第1の範囲に制限することができる。例えば、仮想オブジェクトの体と顔とが定義されている場合、顔の方向が体の方向に比べて不自然な向きにならないように、顔の方向を制御することができる。   Based on the above, the posture of the first part with respect to the second part can be limited to the first range. For example, when the body and face of the virtual object are defined, the face direction can be controlled so that the face direction does not become unnatural compared to the body direction.

また、本発明の他の構成では、上記部位変更手段は、ユーザによる上記入力手段への入力があった場合に、上記撮影指示が行われるまで、上記仮想オブジェクトの上記第1部位が上記仮想カメラへ向くように、当該第1部位の姿勢を繰り返し変更してもよい。   In another configuration of the present invention, when the user inputs an input to the input unit, the part changing unit is configured such that the first part of the virtual object is the virtual camera until the photographing instruction is performed. You may change the attitude | position of the said 1st site | part repeatedly so that it may face.

上記によれば、一旦ユーザが入力すると、撮影指示があるまで仮想オブジェクトの第1部位が常に仮想カメラに向くように第1部位の姿勢が変更されるため、無駄な入力を省略することができる。   According to the above, once the user inputs, the posture of the first part is changed so that the first part of the virtual object always faces the virtual camera until a photographing instruction is given, so that useless input can be omitted. .

また、本発明の他の構成では、上記実カメラはステレオカメラであってもよい。上記実画像取得手段は、上記ステレオカメラの左目用実カメラで撮像した左目用実画像と上記ステレオカメラの右目用実カメラで撮像した右目用実画像とを取得する。上記位置姿勢情報取得手段は、上記ステレオカメラの左目用実カメラおよび右目用実カメラの位置および姿勢に応じた位置姿勢情報をそれぞれ取得する。上記仮想カメラ設定手段は、上記位置姿勢情報取得手段によって取得された上記左目用実カメラの位置姿勢情報に応じて左仮想カメラの位置および姿勢を設定し、上記位置姿勢情報取得手段によって取得された上記右目用実カメラの位置姿勢情報に応じて右仮想カメラの位置および姿勢を設定する。上記部位変更手段は、上記仮想オブジェクトの上記第1部位が上記左仮想カメラおよび上記右仮想カメラの中間の位置に向くように、上記第1部位の姿勢を変更する。上記仮想オブジェクト画像生成手段は、上記部位変更手段によって上記第1部位の姿勢が変更された上記仮想オブジェクトを、上記左仮想カメラおよび上記右仮想カメラで撮像することにより、左目用仮想オブジェクト画像および右目用仮想オブジェクト画像を生成する。上記重畳画像生成手段は、上記左目用実画像と上記左目用仮想オブジェクト画像とを重ね合わせた左目用重畳画像、および、上記右目用実画像と上記右目用仮想オブジェクト画像とを重ね合わせた右目用重畳画像を生成する。   In another configuration of the present invention, the real camera may be a stereo camera. The real image acquisition unit acquires a real image for the left eye captured by the real camera for the left eye of the stereo camera and a real image for the right eye captured by the real camera for the right eye of the stereo camera. The position / orientation information acquisition means acquires position / orientation information corresponding to the positions and orientations of the real camera for the left eye and the real camera for the right eye of the stereo camera. The virtual camera setting unit sets the position and posture of the left virtual camera in accordance with the position and orientation information of the real camera for the left eye acquired by the position and orientation information acquisition unit, and is acquired by the position and orientation information acquisition unit. The position and orientation of the right virtual camera are set according to the position and orientation information of the right-eye real camera. The part changing means changes the posture of the first part so that the first part of the virtual object is directed to an intermediate position between the left virtual camera and the right virtual camera. The virtual object image generating means captures the virtual object whose posture of the first part has been changed by the part changing means with the left virtual camera and the right virtual camera, thereby obtaining a virtual object image for the left eye and a right eye. A virtual object image is generated. The superimposed image generating means includes a left-eye superimposed image obtained by superimposing the left-eye real image and the left-eye virtual object image, and a right-eye superimposed image obtained by superimposing the right-eye real image and the right-eye virtual object image. A superimposed image is generated.

上記によれば、実空間を撮像した画像に仮想オブジェクトを重畳した立体視画像を生成することができる。この場合において、仮想オブジェクトの第1部位を左右の仮想カメラの方向に向かせることができる。このため、ユーザは、立体感のある画像を撮影することができ、かつ、より強い拡張現実感を得ることができる。   Based on the above, it is possible to generate a stereoscopic image in which a virtual object is superimposed on an image obtained by capturing a real space. In this case, the first part of the virtual object can be directed to the left and right virtual cameras. For this reason, the user can shoot an image with a stereoscopic effect and can obtain a stronger augmented reality.

また、本発明の他の構成では、上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、上記仮想オブジェクトを移動させる移動手段を含んでもよい。   In another configuration of the present invention, the virtual object changing unit may include a moving unit that moves the virtual object in response to an input to the input unit by a user.

上記によれば、ユーザは仮想オブジェクトを仮想空間内で移動させることができ、当該仮想オブジェクトが実空間上を移動するような感覚を得ることができる。   According to the above, the user can move the virtual object in the virtual space, and can obtain a feeling that the virtual object moves in the real space.

また、本発明の他の構成では、上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、当該入力の方向と上記表示手段上の上記仮想オブジェクトの移動方向とが同じになるように、当該仮想オブジェクトを移動させる移動手段を含んでもよい。   In another configuration of the present invention, the virtual object changing means has the same input direction and the moving direction of the virtual object on the display means in response to an input by the user to the input means. As described above, a moving means for moving the virtual object may be included.

上記によれば、入力手段に対する入力方向と表示上の移動方向とが一致するため、ユーザは直観的な操作で所望の方向に仮想オブジェクトを移動させることができる。   According to the above, since the input direction with respect to the input unit matches the moving direction on the display, the user can move the virtual object in a desired direction by an intuitive operation.

また、本発明の他の構成では、上記移動手段は、ユーザによる上記入力手段への入力に応じて上記仮想オブジェクトを移動させた場合に上記仮想空間における第2の範囲を超えるとき、当該第2の範囲に上記仮想オブジェクトの位置を修正してもよい。   In another configuration of the present invention, when the moving means moves the virtual object in response to an input to the input means by a user, the moving means exceeds the second range in the virtual space. The position of the virtual object may be corrected within the range.

上記によれば、仮想オブジェクトの移動範囲を制限することができる。   Based on the above, it is possible to limit the movement range of the virtual object.

また、本発明の他の構成では、上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、上記仮想オブジェクトのポーズを変更するポーズ変更手段を含んでもよい。   In another configuration of the present invention, the virtual object changing unit may include a pose changing unit that changes a pose of the virtual object in response to an input to the input unit by a user.

上記によれば、ユーザは仮想オブジェクトのポーズを変更することができ、当該仮想オブジェクトが実空間に存在するような感覚を得ることができる。   According to the above, the user can change the pose of the virtual object, and can obtain a feeling that the virtual object exists in the real space.

また、本発明の他の構成では、上記画像処理プログラムは、選択手段として上記コンピュータを更に機能させてもよい。選択手段は、上記仮想空間内に配置された複数の仮想オブジェクトから1つの仮想オブジェクトを選択する。そして、上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、上記選択手段により選択された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する。   In another configuration of the present invention, the image processing program may further cause the computer to function as selection means. The selection means selects one virtual object from a plurality of virtual objects arranged in the virtual space. The virtual object changing unit changes at least one of the position and the posture of at least a part of the virtual object selected by the selection unit in response to an input to the input unit by the user.

上記によれば、ユーザは仮想オブジェクトを選択し、選択した仮想オブジェクトの少なくとも一部の位置又は姿勢を変更することができる。   According to the above, the user can select a virtual object and change the position or orientation of at least a part of the selected virtual object.

また、本発明の他の構成では、上記画像処理プログラムは、選択手段として上記コンピュータを更に機能させてもよい。選択手段は、上記仮想空間内に配置された複数の仮想オブジェクトから1つの仮想オブジェクトを選択する。上記重畳画像生成手段は、上記選択手段によって上記仮想オブジェクトが選択されたことを示すカーソルを更に重ね合わせた重畳画像を生成する。上記仮想オブジェクト変更手段は、ユーザによる上記入力手段への入力に応じて、上記選択手段により選択された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する。上記保存手段は、ユーザによる撮影指示に応じて、上記カーソルを非表示にして上記重畳画像を記憶手段に保存する。   In another configuration of the present invention, the image processing program may further cause the computer to function as selection means. The selection means selects one virtual object from a plurality of virtual objects arranged in the virtual space. The superimposed image generation unit generates a superimposed image in which a cursor indicating that the virtual object has been selected by the selection unit is further superimposed. The virtual object changing unit changes at least one of a position and a posture of at least a part of the virtual object selected by the selection unit in response to an input by the user to the input unit. The storage means hides the cursor and stores the superimposed image in the storage means in response to a shooting instruction from the user.

上記によれば、撮影指示に応じて上記重畳画像を保存するまで、ユーザは表示手段に表示された重畳画像を確認しながら、仮想オブジェクトを選択して変更することができる。また、表示手段にはカーソルが重畳表示されるため、ユーザは選択した仮想オブジェクトを確認することができる。また、重畳画像が保存される際には、カーソルを非表示にすることができ、仮想オブジェクトがあたかも実空間に存在するような写真を撮影することができる。   According to the above, the user can select and change the virtual object while confirming the superimposed image displayed on the display unit until the superimposed image is stored according to the shooting instruction. In addition, since the cursor is superimposed on the display means, the user can confirm the selected virtual object. Further, when the superimposed image is stored, the cursor can be hidden, and a photograph can be taken as if the virtual object exists in real space.

また、他の形態では、上記各手段を実現する画像処理装置が構成されてもよい。また、他の形態では、上記各手段を実現する複数の要素が相互に動作することによって、1つの画像処理システムとして構成されてもよい。当該画像処理システムは、1つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。   In another embodiment, an image processing apparatus that realizes each of the above means may be configured. In another form, a plurality of elements that realize each of the above units may operate to form one image processing system. The image processing system may be configured by a single device or a plurality of devices.

本発明によれば、仮想オブジェクトがあたかも実空間に存在するような感覚をユーザに与える画像を撮影することができる。   According to the present invention, it is possible to capture an image that gives a user a feeling that a virtual object exists in real space.

開状態におけるゲーム装置10の正面図Front view of game device 10 in the open state 開状態におけるゲーム装置10の右側面図Right side view of game device 10 in open state 閉状態におけるゲーム装置10の左側面図、正面図、右側面図および背面図Left side view, front view, right side view, and rear view of game device 10 in the closed state ゲーム装置10の内部構成を示すブロック図Block diagram showing the internal configuration of the game apparatus 10 本実施形態に係る撮影処理が実行された場合において、実空間に予め配置されたマーカ61を外側撮像部23で撮像したときに上側LCD22に表示される画像の一例を示す図The figure which shows an example of the image displayed on upper LCD22 when the imaging | photography process which concerns on this embodiment is performed, and the marker 61 previously arrange | positioned in real space is imaged with the outer side imaging part 23. FIG. 仮想空間上の座標系の定義を示す図Diagram showing definition of coordinate system in virtual space 仮想空間に仮想キャラクタ51が配置された様子を示す図The figure which shows a mode that the virtual character 51 has been arrange | positioned in virtual space. マーカ61を図5とは反対方向から撮像したときに上側LCD22に表示される画像の一例を示す図The figure which shows an example of the image displayed on upper LCD22 when the marker 61 is imaged from the opposite direction to FIG. アナログスティック15に対する操作に応じて仮想キャラクタ52が移動する様子を示す図The figure which shows a mode that the virtual character 52 moves according to operation with respect to the analog stick 15. FIG. 仮想キャラクタ52を仮想カメラの方向に注目させた場合に上側LCD22に表示される画像の一例を示す図The figure which shows an example of the image displayed on upper LCD22 when the virtual character 52 is made to pay attention to the direction of a virtual camera. ゲーム装置10のRAMのメモリマップを示す図The figure which shows the memory map of RAM of the game device 10 本実施形態に係る撮影処理の詳細を示すメインフローチャートMain flowchart showing details of photographing processing according to the present embodiment マーカ認識処理(ステップS3)の詳細を示すフローチャートFlow chart showing details of marker recognition processing (step S3) 保存処理(ステップS7)の詳細を示すフローチャートThe flowchart which shows the detail of a preservation | save process (step S7) キャラクタ移動処理(ステップS8)の詳細を示すフローチャートThe flowchart which shows the detail of a character movement process (step S8) 注目処理(ステップS10)の詳細を示すフローチャートFlow chart showing details of attention processing (step S10) マーカ61と外側撮像部(左)23aとの位置関係を示す図The figure which shows the positional relationship of the marker 61 and the outer side imaging part (left) 23a. ステップS42で算出されるカメラ方向を示す図The figure which shows the camera direction calculated by step S42 カメラ方向ベクトルをXZ平面に投影したXZ平面投影ベクトルを示す図The figure which shows the XZ plane projection vector which projected the camera direction vector on the XZ plane アナログスティック15の入力方向を示す図The figure which shows the input direction of the analog stick 15 仮想カメラの撮像方向がY軸と平行な方向である場合のXZ平面投影ベクトルを示す図The figure which shows the XZ plane projection vector when the imaging direction of a virtual camera is a direction parallel to a Y-axis. カメラ方向がY軸と平行である場合において、仮想カメラの上方向とアナログスティック15の入力方向とを示す図The figure which shows the upward direction of a virtual camera, and the input direction of the analog stick 15 when a camera direction is parallel to a Y-axis. 仮想キャラクタの視線方向を示す図The figure which shows the gaze direction of a virtual character

(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1〜図3は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1〜図3に示すように折り畳み可能に構成されている。図1および図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置10の右側面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
(Configuration of game device)
Hereinafter, a game device according to an embodiment of the present invention will be described. 1 to 3 are plan views showing the appearance of the game apparatus 10. The game apparatus 10 is a portable game apparatus, and is configured to be foldable as shown in FIGS. 1 and 2 show the game apparatus 10 in an open state (open state), and FIG. 3 shows the game apparatus 10 in a closed state (closed state). FIG. 1 is a front view of the game apparatus 10 in the open state, and FIG. 2 is a right side view of the game apparatus 10 in the open state. The game apparatus 10 can capture an image with an imaging unit, display the captured image on a screen, and store data of the captured image. In addition, the game apparatus 10 is capable of executing a game program stored in a replaceable memory card or received from a server or another game apparatus, such as an image captured by a virtual camera set in a virtual space. An image generated by computer graphics processing can be displayed on the screen.

まず、図1〜図3を参照して、ゲーム装置10の外観構成について説明する。図1〜図3に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11および21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。   First, the external configuration of the game apparatus 10 will be described with reference to FIGS. As shown in FIGS. 1 to 3, the game apparatus 10 includes a lower housing 11 and an upper housing 21. The lower housing 11 and the upper housing 21 are connected so as to be openable and closable (foldable). In the present embodiment, each of the housings 11 and 21 has a horizontally long rectangular plate shape, and is connected so as to be rotatable at the long side portions of each other.

図1および図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。   As shown in FIGS. 1 and 2, the upper long side portion of the lower housing 11 is provided with a protruding portion 11 </ b> A that protrudes in a direction perpendicular to the inner surface (main surface) 11 </ b> B of the lower housing 11. . In addition, the lower long side portion of the upper housing 21 is provided with a protruding portion 21A that protrudes from the lower side surface of the upper housing 21 in a direction perpendicular to the lower side surface. By connecting the protrusion 11A of the lower housing 11 and the protrusion 21A of the upper housing 21, the lower housing 11 and the upper housing 21 are foldably connected.

(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1〜図3に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3)、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
(Description of lower housing)
First, the configuration of the lower housing 11 will be described. As shown in FIGS. 1 to 3, the lower housing 11 includes a lower LCD (Liquid Crystal Display) 12, a touch panel 13, operation buttons 14A to 14L (FIGS. 1 and 3), an analog stick. 15, LED16A-16B, the insertion port 17, and the hole 18 for microphones are provided. Details of these will be described below.

図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11に設けられた開口部から当該下側LCD12の画面が露出される。ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、例えば、256dot×192dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。   As shown in FIG. 1, the lower LCD 12 is housed in the lower housing 11. The lower LCD 12 has a horizontally long shape, and is arranged such that the long side direction coincides with the long side direction of the lower housing 11. The lower LCD 12 is disposed at the center of the lower housing 11. The lower LCD 12 is provided on the inner surface (main surface) of the lower housing 11, and the screen of the lower LCD 12 is exposed from an opening provided in the lower housing 11. When the game apparatus 10 is not used, it is possible to prevent the screen of the lower LCD 12 from becoming dirty or damaged by keeping the game apparatus 10 closed. The number of pixels of the lower LCD 12 may be, for example, 256 dots × 192 dots (horizontal × vertical). Unlike the upper LCD 22 described later, the lower LCD 12 is a display device that displays an image in a planar manner (not stereoscopically viewable). In the present embodiment, an LCD is used as the display device, but other arbitrary display devices such as a display device using EL (Electro Luminescence) may be used. Further, as the lower LCD 12, a display device having an arbitrary resolution can be used.

図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図3(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。   As shown in FIG. 1, the game apparatus 10 includes a touch panel 13 as an input device. The touch panel 13 is mounted on the screen of the lower LCD 12. In the present embodiment, the touch panel 13 is a resistive film type touch panel. However, the touch panel is not limited to the resistive film type, and any type of touch panel such as a capacitance type can be used. In the present embodiment, the touch panel 13 having the same resolution (detection accuracy) as that of the lower LCD 12 is used. However, the resolution of the touch panel 13 and the resolution of the lower LCD 12 do not necessarily match. An insertion port 17 (dotted line shown in FIGS. 1 and 3D) is provided on the upper side surface of the lower housing 11. The insertion slot 17 can accommodate a touch pen 28 used for performing an operation on the touch panel 13. In addition, although the input with respect to the touchscreen 13 is normally performed using the touch pen 28, it is also possible to input with respect to the touchscreen 13 not only with the touch pen 28 but with a user's finger | toe.

各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、aボタン14B、bボタン14C、xボタン14D、yボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、ボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。   Each operation button 14A-14L is an input device for performing a predetermined input. As shown in FIG. 1, on the inner surface (main surface) of the lower housing 11, among the operation buttons 14A to 14L, a cross button 14A (direction input button 14A), a button 14B, b button 14C, x A button 14D, a y button 14E, a power button 14F, a select button 14J, a HOME button 14K, and a start button 14L are provided. The cross button 14 </ b> A has a cross shape, and has buttons for instructing up, down, left, and right directions. The button 14B, the button 14C, the button 14D, and the button 14E are arranged in a cross shape. Functions according to a program executed by the game apparatus 10 are appropriately assigned to the buttons 14A to 14E, the select button 14J, the HOME button 14K, and the start button 14L. For example, the cross button 14A is used for a selection operation or the like, and the operation buttons 14B to 14E are used for a determination operation or a cancel operation, for example. The power button 14F is used to turn on / off the power of the game apparatus 10.

アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。図1に示すように、十字ボタン14Aは下側LCD12より左側領域の下部領域に設けられるので、アナログスティック15は、十字ボタン14Aの上方に設けられる。また、アナログスティック15、および、十字ボタン14Aは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。   The analog stick 15 is a device that indicates a direction, and is provided in an upper area of the left area from the lower LCD 12 of the inner surface of the lower housing 11. As shown in FIG. 1, since the cross button 14A is provided in the lower region on the left side of the lower LCD 12, the analog stick 15 is provided above the cross button 14A. In addition, the analog stick 15 and the cross button 14A are designed to be operable with the thumb of the left hand holding the lower housing. Further, by providing the analog stick 15 in the upper region, the analog stick 15 is arranged where the thumb of the left hand holding the lower housing 11 is naturally positioned, and the cross button 14A has the thumb of the left hand slightly below. Arranged at shifted positions. The analog stick 15 is configured such that its key top slides parallel to the inner surface of the lower housing 11. The analog stick 15 functions according to a program executed by the game apparatus 10. For example, when a game in which a predetermined object appears in the three-dimensional virtual space is executed by the game apparatus 10, the analog stick 15 functions as an input device for moving the predetermined object in the three-dimensional virtual space. In this case, the predetermined object is moved in the direction in which the key top of the analog stick 15 slides. In addition, as the analog stick 15, an analog stick that allows analog input by being tilted by a predetermined amount in any direction of up / down / left / right and oblique directions may be used.

十字状に配置される、aボタン14B、bボタン14C、xボタン14D、yボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンと、アナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。   Four buttons, a button 14B, b button 14C, x button 14D, and y button 14E, which are arranged in a cross shape, are arranged where the thumb of the right hand holding the lower housing 11 is naturally positioned. Also, these four buttons and the analog stick 15 are arranged symmetrically with the lower LCD 12 in between. Thus, depending on the game program, for example, a left-handed person can use these four buttons to input a direction instruction.

また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図4参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。   A microphone hole 18 is provided on the inner surface of the lower housing 11. A microphone (see FIG. 4) as a voice input device described later is provided below the microphone hole 18, and the microphone detects sound outside the game apparatus 10.

図3(a)は閉状態におけるゲーム装置10の左側面図であり、図3(b)は閉状態におけるゲーム装置10の正面図であり、図3(c)は閉状態におけるゲーム装置10の右側面図であり、図3(d)は閉状態におけるゲーム装置10の背面図である。図3(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。また、図3(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。   3A is a left side view of the game apparatus 10 in the closed state, FIG. 3B is a front view of the game apparatus 10 in the closed state, and FIG. 3C is a view of the game apparatus 10 in the closed state. FIG. 3D is a right side view, and FIG. 3D is a rear view of the game apparatus 10 in the closed state. As shown in FIGS. 3B and 3D, an L button 14 </ b> G and an R button 14 </ b> H are provided on the upper side surface of the lower housing 11. The L button 14 </ b> G is provided at the left end portion of the upper surface of the lower housing 11, and the R button 14 </ b> H is provided at the right end portion of the upper surface of the lower housing 11. Further, as shown in FIG. 3A, a volume button 14 </ b> I is provided on the left side surface of the lower housing 11. The volume button 14I is used to adjust the volume of a speaker provided in the game apparatus 10.

図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。   As shown in FIG. 3A, an openable / closable cover portion 11 </ b> C is provided on the left side surface of the lower housing 11. A connector (not shown) for electrically connecting the game apparatus 10 and the data storage external memory 45 is provided inside the cover portion 11C. The data storage external memory 45 is detachably attached to the connector. The data storage external memory 45 is used, for example, for storing (saving) data of an image captured by the game apparatus 10. The connector and its cover portion 11 </ b> C may be provided on the right side surface of the lower housing 11.

また、図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。   As shown in FIG. 3D, an insertion port 11D for inserting the game apparatus 10 and an external memory 44 in which a game program is recorded is provided on the upper side surface of the lower housing 11, and the insertion port Inside the 11D, a connector (not shown) for electrically detachably connecting to the external memory 44 is provided. When the external memory 44 is connected to the game apparatus 10, a predetermined game program is executed. The connector and its insertion port 11D may be provided on the other side surface of the lower housing 11 (for example, the right side surface).

また、図1および図3(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図3(c)参照)。   Further, as shown in FIG. 1 and FIG. 3C, on the lower side surface of the lower housing 11, the first LED 16A for notifying the user of the power ON / OFF state of the game apparatus 10 and the right side surface of the lower housing 11 Is provided with a second LED 16B for notifying the user of the wireless communication establishment status of the game apparatus 10. The game apparatus 10 can perform wireless communication with other devices, and the second LED 16B lights up when wireless communication is established. The game apparatus 10 is, for example, IEEE 802.11. It has a function of connecting to a wireless LAN by a method compliant with the b / g standard. A wireless switch 19 for enabling / disabling this wireless communication function is provided on the right side surface of the lower housing 11 (see FIG. 3C).

なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。   Although not shown, the lower housing 11 stores a rechargeable battery that serves as a power source for the game apparatus 10, and the terminal is provided via a terminal provided on a side surface (for example, the upper side surface) of the lower housing 11. The battery can be charged.

(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1〜図3に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
(Description of upper housing)
Next, the configuration of the upper housing 21 will be described. As shown in FIGS. 1 to 3, the upper housing 21 includes an upper LCD (Liquid Crystal Display) 22, an outer imaging unit 23 (an outer imaging unit (left) 23a and an outer imaging unit (right) 23b). , An inner imaging unit 24, a 3D adjustment switch 25, and a 3D indicator 26 are provided. Details of these will be described below.

図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。   As shown in FIG. 1, the upper LCD 22 is accommodated in the upper housing 21. The upper LCD 22 has a horizontally long shape and is arranged such that the long side direction coincides with the long side direction of the upper housing 21. The upper LCD 22 is disposed in the center of the upper housing 21. The area of the screen of the upper LCD 22 is set larger than the area of the screen of the lower LCD 12. Further, the screen of the upper LCD 22 is set to be horizontally longer than the screen of the lower LCD 12. That is, the ratio of the horizontal width in the aspect ratio of the screen of the upper LCD 22 is set larger than the ratio of the horizontal width in the aspect ratio of the screen of the lower LCD 12.

上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、図2に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。   The screen of the upper LCD 22 is provided on the inner surface (main surface) 21 </ b> B of the upper housing 21, and the screen of the upper LCD 22 is exposed from an opening provided in the upper housing 21. As shown in FIG. 2, the inner surface of the upper housing 21 is covered with a transparent screen cover 27. The screen cover 27 protects the screen of the upper LCD 22 and is integrated with the upper LCD 22 and the inner surface of the upper housing 21, thereby providing a sense of unity. The number of pixels of the upper LCD 22 may be, for example, 640 dots × 200 dots (horizontal × vertical). In the present embodiment, the upper LCD 22 is a liquid crystal display device. However, for example, a display device using EL (Electro Luminescence) may be used. In addition, a display device having an arbitrary resolution can be used as the upper LCD 22.

上側LCD22は、立体視可能な画像(立体視画像、立体画像ともいう)を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。   The upper LCD 22 is a display device capable of displaying a stereoscopically visible image (also referred to as a stereoscopic image or a stereoscopic image). In the present embodiment, the left-eye image and the right-eye image are displayed using substantially the same display area. Specifically, the display device uses a method in which a left-eye image and a right-eye image are alternately displayed in a horizontal direction in a predetermined unit (for example, one column at a time). Alternatively, a display device of a type in which the left-eye image and the right-eye image are alternately displayed may be used. In this embodiment, the display device is capable of autostereoscopic viewing. A lenticular method or a parallax barrier method (parallax barrier method) is used so that the left-eye image and the right-eye image that are alternately displayed in the horizontal direction appear to be decomposed into the left eye and the right eye, respectively. In the present embodiment, the upper LCD 22 is a parallax barrier type. The upper LCD 22 uses the right-eye image and the left-eye image to display an image (stereoscopic image) that can be stereoscopically viewed with the naked eye. In other words, the upper LCD 22 displays a stereoscopic image (stereoscopically viewable) having a stereoscopic effect for the user by using the parallax barrier to make the left eye image visible to the user's left eye and the right eye image to the user's right eye. be able to. Further, the upper LCD 22 can invalidate the parallax barrier. When the parallax barrier is invalidated, the upper LCD 22 can display an image in a planar manner (in the sense opposite to the above-described stereoscopic view, the planar LCD is planar). (This is a display mode in which the same displayed image can be seen by both the right eye and the left eye). As described above, the upper LCD 22 is a display device capable of switching between a stereoscopic display mode for displaying a stereoscopically viewable image and a planar display mode for displaying an image in a planar manner (displaying a planar view image). . This display mode switching is performed by a 3D adjustment switch 25 described later.

外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。また、これらの撮像部はいずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側撮像部(左)23aの撮像方向および外側撮像部(右)23bの撮像方向は、平行である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側撮像部(左)23aおよび外側撮像部(右)23bの2つの撮像部で構成される。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。   The outer imaging unit 23 is a general term for two imaging units (23 a and 23 b) provided on the outer surface (back surface opposite to the main surface on which the upper LCD 22 is provided) 21 D of the upper housing 21. The imaging directions of the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are both normal directions of the outer surface 21D. Further, all of these imaging units are designed in a direction 180 degrees opposite to the normal direction of the display surface (inner side surface) of the upper LCD 22. That is, the imaging direction of the outer imaging unit (left) 23a and the imaging direction of the outer imaging unit (right) 23b are parallel. The outer imaging unit (left) 23a and the outer imaging unit (right) 23b can be used as a stereo camera by a program executed by the game apparatus 10. Further, depending on the program, it is possible to use one of the two outer imaging units (23a and 23b) alone and use the outer imaging unit 23 as a non-stereo camera. Further, depending on the program, it is possible to perform imaging with an expanded imaging range by combining or complementarily using images captured by the two outer imaging units (23a and 23b). In the present embodiment, the outer imaging unit 23 includes two imaging units, an outer imaging unit (left) 23a and an outer imaging unit (right) 23b. The outer imaging unit (left) 23a and the outer imaging unit (right) 23b each include an imaging element (for example, a CCD image sensor or a CMOS image sensor) having a predetermined common resolution and a lens. The lens may have a zoom mechanism.

図1の破線および図3(b)の実線で示されるように、外側撮像部23を構成する外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの撮像部を結んだ直線が上側LCD22の画面の横方向と平行になるように、外側撮像部(左)23aおよび外側撮像部(右)23bが配置される。図1の破線で示す23aおよび23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側撮像部(左)23aおよび外側撮像部(右)23bをそれぞれ表している。図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側撮像部(左)23aは左側に外側撮像部(右)23bは右側にそれぞれ位置している。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部(左)23aは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部(右)23bは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、この範囲に限らない。   As indicated by the broken line in FIG. 1 and the solid line in FIG. 3B, the outer imaging unit (left) 23 a and the outer imaging unit (right) 23 b that constitute the outer imaging unit 23 are arranged in the horizontal direction of the screen of the upper LCD 22. Arranged in parallel. That is, the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are arranged so that a straight line connecting the two imaging units is parallel to the horizontal direction of the screen of the upper LCD 22. 1 indicate the outer imaging unit (left) 23a and the outer imaging unit (right) 23b existing on the outer surface opposite to the inner surface of the upper housing 21, respectively. As shown in FIG. 1, when the user views the screen of the upper LCD 22 from the front, the outer imaging unit (left) 23a is positioned on the left side and the outer imaging unit (right) 23b is positioned on the right side. When a program that causes the outer imaging unit 23 to function as a stereo camera is executed, the outer imaging unit (left) 23a captures an image for the left eye that is visually recognized by the user's left eye, and the outer imaging unit (right) 23b A right-eye image that is visually recognized by the user's right eye is captured. The interval between the outer imaging unit (left) 23a and the outer imaging unit (right) 23b is set to be approximately the interval between both eyes of the human, and may be set in a range of 30 mm to 70 mm, for example. In addition, the space | interval of the outer side imaging part (left) 23a and the outer side imaging part (right) 23b is not restricted to this range.

なお、本実施例においては、外側撮像部(左)23aおよび外側撮像部(右)23はハウジングに固定されており、撮像方向を変更することはできない。   In the present embodiment, the outer imaging unit (left) 23a and the outer imaging unit (right) 23 are fixed to the housing, and the imaging direction cannot be changed.

また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。   Further, the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are respectively arranged at positions symmetrical from the center with respect to the left-right direction of the upper LCD 22 (upper housing 21). That is, the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are respectively arranged at symmetrical positions with respect to a line dividing the upper LCD 22 into two equal parts. In addition, the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are on the upper side of the upper housing 21 in a state where the upper housing 21 is opened, and on the back side of the upper side of the screen of the upper LCD 22. Placed in. That is, the outer imaging unit (left) 23a and the outer imaging unit (right) 23b are the outer surfaces of the upper housing 21, and when the upper LCD 22 is projected on the outer surface, the upper image 22 is higher than the upper end of the projected upper LCD 22 screen. Placed in.

このように、外側撮像部23の2つの撮像部(23aおよび23b)が、上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。従って、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。   As described above, the two image pickup units (23a and 23b) of the outer image pickup unit 23 are arranged at symmetrical positions from the center with respect to the left-right direction of the upper LCD 22, so that when the user views the upper LCD 22 from the front, the outer image pickup is performed. The imaging direction of the unit 23 can be matched with the user's line-of-sight direction. Further, since the outer imaging unit 23 is disposed at a position on the back side above the upper end of the screen of the upper LCD 22, the outer imaging unit 23 and the upper LCD 22 do not interfere inside the upper housing 21. Accordingly, it is possible to make the upper housing 21 thinner than in the case where the outer imaging unit 23 is disposed on the back side of the screen of the upper LCD 22.

内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。   The inner imaging unit 24 is an imaging unit that is provided on the inner side surface (main surface) 21B of the upper housing 21 and has an inward normal direction of the inner side surface as an imaging direction. The inner imaging unit 24 includes an imaging element (for example, a CCD image sensor or a CMOS image sensor) having a predetermined resolution, and a lens. The lens may have a zoom mechanism.

図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、図1および図3(b)に示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部(外側撮像部(左)23aおよび外側撮像部(右)23b)の中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側撮像部23の左右の撮像部を上側ハウジング21の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部24が設けられる。図3(b)で示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。   As shown in FIG. 1, the inner imaging unit 24 is disposed above the upper end of the upper LCD 22 and in the left-right direction of the upper housing 21 when the upper housing 21 is opened. Is arranged at the center position (on the line dividing the upper housing 21 (the screen of the upper LCD 22) into left and right halves). Specifically, as shown in FIG. 1 and FIG. 3B, the inner imaging unit 24 is an inner surface of the upper housing 21, and the left and right imaging units (outer imaging unit (left ) 23a and the outer imaging unit (right) 23b) are arranged at positions on the back side in the middle. That is, when the left and right imaging units of the outer imaging unit 23 provided on the outer surface of the upper housing 21 are projected onto the inner surface of the upper housing 21, the inner imaging unit 24 is provided in the middle of the projected left and right imaging units. It is done. A broken line 24 shown in FIG. 3B represents the inner imaging unit 24 existing on the inner surface of the upper housing 21.

このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。   Thus, the inner imaging unit 24 images in the opposite direction to the outer imaging unit 23. The inner imaging unit 24 is provided on the inner surface of the upper housing 21 and on the back side of the intermediate position between the left and right imaging units of the outer imaging unit 23. Thereby, when the user views the upper LCD 22 from the front, the inner imaging unit 24 can capture the user's face from the front. Further, since the left and right imaging units of the outer imaging unit 23 and the inner imaging unit 24 do not interfere inside the upper housing 21, the upper housing 21 can be configured to be thin.

3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。   The 3D adjustment switch 25 is a slide switch, and is a switch used to switch the display mode of the upper LCD 22 as described above. The 3D adjustment switch 25 is used to adjust the stereoscopic effect of a stereoscopically viewable image (stereoscopic image) displayed on the upper LCD 22. As shown in FIGS. 1 to 3, the 3D adjustment switch 25 is provided on the inner side surface and the right side end of the upper housing 21, and when the user views the upper LCD 22 from the front, the 3D adjustment switch 25 is visually recognized. It is provided at a position where it can be made. Moreover, the operation part of 3D adjustment switch 25 protrudes in both the inner surface and the right side surface, and can be visually recognized and operated from both. All switches other than the 3D adjustment switch 25 are provided in the lower housing 11.

3D調整スイッチ25は、図1および図2に示されるように、上側ハウジング21の正面および右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定されたり、立体画像の立体感が調整されてもよい。例えば、3D調整スイッチ25のスライダ25aの位置に応じて、後述する仮想カメラ(仮想ステレオカメラ)のカメラ間距離が設定されてもよい。また、当該仮想ステレオカメラの左仮想カメラによって撮像された左目用画像と右仮想カメラによって撮像された右目用画像との位置関係が調整されてもよい。具体的には、例えば、3D調整スイッチ25のスライダ25aが最上点(図1および図2では上方向)に存在する場合、上記左目用画像と右目用画像との横方向(上側LCD22の画面の横方向;図1の左右方向)の位置のずれが上限値に設定される。このように左目用画像と右目用画像の横方向のずれが上限値に設定されると、2つの画像の視差がより大きくなる。このため、ユーザが視差バリアを通して上側LCD22に表示された2つの画像を見ると、上側LCD22の画面から画像がより手前方向に飛び出したように見える。このように、3D調整スイッチ25を用いて、2つの画像の視差が調整されてもよい。   As shown in FIGS. 1 and 2, the 3D adjustment switch 25 is disposed so as to be visible from the front surface and the right side surface of the upper housing 21. The slider 25a of the 3D adjustment switch 25 can be slid to an arbitrary position in a predetermined direction (vertical direction), and the display mode of the upper LCD 22 is set or the stereoscopic effect of the stereoscopic image is adjusted according to the position of the slider 25a. May be. For example, the inter-camera distance of a virtual camera (virtual stereo camera) described later may be set according to the position of the slider 25a of the 3D adjustment switch 25. The positional relationship between the left-eye image captured by the left virtual camera of the virtual stereo camera and the right-eye image captured by the right virtual camera may be adjusted. Specifically, for example, when the slider 25a of the 3D adjustment switch 25 exists at the uppermost point (upward in FIGS. 1 and 2), the horizontal direction of the left-eye image and the right-eye image (the screen of the upper LCD 22) The positional deviation in the horizontal direction (left and right direction in FIG. 1) is set to the upper limit value. Thus, when the horizontal shift between the left-eye image and the right-eye image is set to the upper limit value, the parallax between the two images becomes larger. For this reason, when the user sees two images displayed on the upper LCD 22 through the parallax barrier, it appears that the image has jumped out further from the screen of the upper LCD 22. As described above, the parallax between the two images may be adjusted using the 3D adjustment switch 25.

3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。   The 3D indicator 26 indicates whether or not the upper LCD 22 is in the stereoscopic display mode. The 3D indicator 26 is an LED, and lights up when the stereoscopic display mode of the upper LCD 22 is valid. Note that the 3D indicator 26 may be lit only when the upper LCD 22 is in the stereoscopic display mode and a program process for displaying a stereoscopic image is being executed. As shown in FIG. 1, the 3D indicator 26 is provided on the inner surface of the upper housing 21 and is provided near the screen of the upper LCD 22. For this reason, when the user views the screen of the upper LCD 22 from the front, the user can easily view the 3D indicator 26. Therefore, the user can easily recognize the display mode of the upper LCD 22 even when the user is viewing the screen of the upper LCD 22.

また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。   A speaker hole 21 </ b> E is provided on the inner surface of the upper housing 21. Sound from a speaker 43 described later is output from the speaker hole 21E.

(ゲーム装置10の内部構成)
次に、図4を参照して、ゲーム装置10の内部の電気的構成について説明する。図4は、ゲーム装置10の内部構成を示すブロック図である。図4に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
(Internal configuration of game device 10)
Next, with reference to FIG. 4, an internal electrical configuration of the game apparatus 10 will be described. FIG. 4 is a block diagram showing an internal configuration of the game apparatus 10. As shown in FIG. 4, in addition to the above-described units, the game apparatus 10 includes an information processing unit 31, a main memory 32, an external memory interface (external memory I / F) 33, an external memory I / F 34 for data storage, data It includes electronic components such as an internal memory 35 for storage, a wireless communication module 36, a local communication module 37, a real time clock (RTC) 38, an acceleration sensor 39, a power supply circuit 40, and an interface circuit (I / F circuit) 41. These electronic components are mounted on an electronic circuit board and accommodated in the lower housing 11 (or the upper housing 21).

情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述する処理(図12)を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。   The information processing unit 31 is information processing means including a CPU (Central Processing Unit) 311 for executing a predetermined program, a GPU (Graphics Processing Unit) 312 for performing image processing, and the like. In the present embodiment, a predetermined program is stored in a memory (for example, the external memory 44 connected to the external memory I / F 33 or the data storage internal memory 35) in the game apparatus 10. The CPU 311 of the information processing section 31 executes processing (described later) (FIG. 12) by executing the predetermined program. Note that the program executed by the CPU 311 of the information processing unit 31 may be acquired from another device through communication with the other device. The information processing unit 31 includes a VRAM (Video RAM) 313. The GPU 312 of the information processing unit 31 generates an image in response to a command from the CPU 311 of the information processing unit 31 and draws it on the VRAM 313. Then, the GPU 312 of the information processing unit 31 outputs the image drawn in the VRAM 313 to the upper LCD 22 and / or the lower LCD 12, and the image is displayed on the upper LCD 22 and / or the lower LCD 12.

情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。   A main memory 32, an external memory I / F 33, a data storage external memory I / F 34, and a data storage internal memory 35 are connected to the information processing section 31. The external memory I / F 33 is an interface for detachably connecting the external memory 44. The data storage external memory I / F 34 is an interface for detachably connecting the data storage external memory 45.

メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記画像処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。   The main memory 32 is a volatile storage unit used as a work area or a buffer area of the information processing unit 31 (the CPU 311). That is, the main memory 32 temporarily stores various data used for the image processing, and temporarily stores programs acquired from the outside (external memory 44, other devices, etc.). In the present embodiment, for example, a PSRAM (Pseudo-SRAM) is used as the main memory 32.

外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。   The external memory 44 is a nonvolatile storage unit for storing a program executed by the information processing unit 31. The external memory 44 is composed of, for example, a read-only semiconductor memory. When the external memory 44 is connected to the external memory I / F 33, the information processing section 31 can read a program stored in the external memory 44. A predetermined process is performed by executing the program read by the information processing unit 31. The data storage external memory 45 is composed of a non-volatile readable / writable memory (for example, a NAND flash memory), and is used for storing predetermined data. For example, the data storage external memory 45 stores an image captured by the outer imaging unit 23 or an image captured by another device. When the data storage external memory 45 is connected to the data storage external memory I / F 34, the information processing section 31 reads an image stored in the data storage external memory 45 and applies the image to the upper LCD 22 and / or the lower LCD 12. An image can be displayed.

データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。   The data storage internal memory 35 is configured by a readable / writable nonvolatile memory (for example, a NAND flash memory), and is used for storing predetermined data. For example, the data storage internal memory 35 stores data and programs downloaded by wireless communication via the wireless communication module 36.

無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。   The wireless communication module 36 is, for example, IEEE 802.11. It has a function of connecting to a wireless LAN by a method compliant with the b / g standard. The local communication module 37 has a function of performing wireless communication with the same type of game device by a predetermined communication method (for example, infrared communication). The wireless communication module 36 and the local communication module 37 are connected to the information processing unit 31. The information processing unit 31 transmits / receives data to / from other devices via the Internet using the wireless communication module 36, and transmits / receives data to / from other game devices of the same type using the local communication module 37. You can do it.

また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出する。本実施形態では、情報処理部31は、加速度センサ39が検出した加速度に基づいて、ゲーム装置10の姿勢(傾き)を判定する。   An acceleration sensor 39 is connected to the information processing unit 31. The acceleration sensor 39 detects the magnitude of linear acceleration (linear acceleration) along the three-axis (xyz-axis) direction. The acceleration sensor 39 is provided inside the lower housing 11. As shown in FIG. 1, the acceleration sensor 39 is configured such that the long side direction of the lower housing 11 is the x axis, the short side direction of the lower housing 11 is the y axis, and the inner side surface (main surface) of the lower housing 11. With the vertical direction as the z axis, the magnitude of linear acceleration on each axis is detected. The acceleration sensor 39 is, for example, an electrostatic capacitance type acceleration sensor, but other types of acceleration sensors may be used. The acceleration sensor 39 may be an acceleration sensor that detects a uniaxial or biaxial direction. The information processing section 31 receives data (acceleration data) indicating the acceleration detected by the acceleration sensor 39 and detects the posture and movement of the game apparatus 10. In the present embodiment, the information processing section 31 determines the attitude (tilt) of the game apparatus 10 based on the acceleration detected by the acceleration sensor 39.

また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。   Further, the RTC 38 and the power supply circuit 40 are connected to the information processing unit 31. The RTC 38 counts the time and outputs it to the information processing unit 31. The information processing unit 31 calculates the current time (date) based on the time counted by the RTC 38. The power supply circuit 40 controls power from a power source (the rechargeable battery housed in the lower housing 11) of the game apparatus 10 and supplies power to each component of the game apparatus 10.

また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42およびスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。   In addition, an I / F circuit 41 is connected to the information processing unit 31. A microphone 42 and a speaker 43 are connected to the I / F circuit 41. Specifically, a speaker 43 is connected to the I / F circuit 41 via an amplifier (not shown). The microphone 42 detects the user's voice and outputs a voice signal to the I / F circuit 41. The amplifier amplifies the audio signal from the I / F circuit 41 and outputs the audio from the speaker 43. The touch panel 13 is connected to the I / F circuit 41. The I / F circuit 41 includes a voice control circuit that controls the microphone 42 and the speaker 43 (amplifier), and a touch panel control circuit that controls the touch panel. The voice control circuit performs A / D conversion and D / A conversion on the voice signal, or converts the voice signal into voice data of a predetermined format. The touch panel control circuit generates touch position data in a predetermined format based on a signal from the touch panel 13 and outputs it to the information processing unit 31. The touch position data indicates the coordinates of the position where the input is performed on the input surface of the touch panel 13. The touch panel control circuit reads signals from the touch panel 13 and generates touch position data at a rate of once per predetermined time. The information processing unit 31 can know the position where the input is performed on the touch panel 13 by acquiring the touch position data.

操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。   The operation button 14 includes the operation buttons 14 </ b> A to 14 </ b> L and is connected to the information processing unit 31. From the operation button 14 to the information processing section 31, operation data indicating the input status (whether or not the button is pressed) for each of the operation buttons 14A to 14I is output. The information processing unit 31 acquires the operation data from the operation button 14 to execute processing according to the input to the operation button 14.

下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。   The lower LCD 12 and the upper LCD 22 are connected to the information processing unit 31. The lower LCD 12 and the upper LCD 22 display images according to instructions from the information processing unit 31 (the GPU 312).

具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。   Specifically, the information processing section 31 is connected to an LCD controller (not shown) of the upper LCD 22 and controls ON / OFF of the parallax barrier for the LCD controller. When the parallax barrier of the upper LCD 22 is ON, the right-eye image and the left-eye image stored in the VRAM 313 of the information processing unit 31 are output to the upper LCD 22. More specifically, the LCD controller alternately repeats the process of reading pixel data for one line in the vertical direction for the image for the right eye and the process of reading pixel data for one line in the vertical direction for the image for the left eye. Thus, the right-eye image and the left-eye image are read from the VRAM 313. As a result, the image for the right eye and the image for the left eye are divided into strip-like images in which pixels are arranged vertically for each line. The strip-like images for the right-eye image and the strip-like images for the left-eye image are alternately displayed. The image arranged on the upper LCD 22 is displayed on the screen. Then, when the user visually recognizes the image through the parallax barrier of the upper LCD 22, the right eye image is visually recognized by the user's right eye and the left eye image is visually recognized by the user's left eye. As a result, a stereoscopically viewable image is displayed on the screen of the upper LCD 22.

外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。例えば、情報処理部31は外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。例えば、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。   The outer imaging unit 23 and the inner imaging unit 24 are connected to the information processing unit 31. The outer imaging unit 23 and the inner imaging unit 24 capture an image in accordance with an instruction from the information processing unit 31, and output the captured image data to the information processing unit 31. For example, the information processing unit 31 issues an imaging instruction to one of the outer imaging unit 23 and the inner imaging unit 24, and the imaging unit that receives the imaging instruction captures an image and sends the image data to the information processing unit 31. . For example, an imaging unit to be used is selected by a user's touch operation using the touch panel 13. The information processing unit 31 (CPU 311) detects that the imaging unit has been selected, and the information processing unit 31 issues an imaging instruction to the outer imaging unit 23 or the inner imaging unit 24.

3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。   The 3D adjustment switch 25 is connected to the information processing unit 31. The 3D adjustment switch 25 transmits an electrical signal corresponding to the position of the slider 25 a to the information processing unit 31.

また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。   The 3D indicator 26 is connected to the information processing unit 31. The information processing unit 31 controls lighting of the 3D indicator 26. In the present embodiment, the information processing section 31 lights the 3D indicator 26 when the upper LCD 22 is in the stereoscopic display mode. The above is the description of the internal configuration of the game apparatus 10.

また、情報処理部31には、角速度センサ46が接続される。角速度センサ46は、各軸(x軸、y軸、z軸)周りの角速度を検出する。ゲーム装置10は、角速度センサ46が逐次検出する角速度に基づいて、実空間におけるゲーム装置10の姿勢を算出することができる。具体的には、ゲーム装置10は、角速度センサ46によって検出された各軸周りの角速度を時間で積分することによって、各軸周りのゲーム装置10の回転角を算出することができる。   In addition, an angular velocity sensor 46 is connected to the information processing unit 31. The angular velocity sensor 46 detects an angular velocity around each axis (x axis, y axis, z axis). The game apparatus 10 can calculate the attitude of the game apparatus 10 in real space based on the angular velocities sequentially detected by the angular velocity sensor 46. Specifically, the game device 10 can calculate the rotation angle of the game device 10 around each axis by integrating the angular velocity around each axis detected by the angular velocity sensor 46 with time.

(撮影処理の概要)
次に、本実施形態に係るゲーム装置10において実行される撮影処理(画像処理)の概要について説明する。図5は、本実施形態に係る撮影処理が実行された場合において、実空間に予め配置されたマーカ61を外側撮像部23で撮像したときに上側LCD22に表示される画像の一例を示す図である。
(Overview of shooting process)
Next, an outline of a shooting process (image process) executed in the game apparatus 10 according to the present embodiment will be described. FIG. 5 is a diagram illustrating an example of an image displayed on the upper LCD 22 when the outer imaging unit 23 captures an image of the marker 61 arranged in advance in the real space when the imaging process according to the present embodiment is performed. is there.

図5に示すように、ゲーム装置10の外側撮像部23の撮像方向の実空間には、マーカ61が配置される。マーカ61は、長方形の紙であって、その中心に矢印が描かれている。マーカ61の長辺は、中心に描かれた矢印の方向と平行である。ゲーム装置10の情報処理部31(CPU311)は、外側撮像部23によって撮像された実画像に対して、例えばパターンマッチング等の画像処理を行うことによって、当該画像に含まれるマーカ61を検出することができる。外側撮像部23によって撮像された実画像中にマーカ61が検出された場合、上側LCD22には、外側撮像部23によって撮像された実画像に仮想キャラクタが重ね合わされて表示される。外側撮像部23によって撮像された実画像中にマーカ61が検出されない場合は、上側LCD22にマーカ61が検出されていないことを示すメッセージが表示されて、仮想キャラクタは表示されない。   As shown in FIG. 5, a marker 61 is arranged in the real space in the imaging direction of the outer imaging unit 23 of the game apparatus 10. The marker 61 is rectangular paper, and an arrow is drawn at the center thereof. The long side of the marker 61 is parallel to the direction of the arrow drawn at the center. The information processing unit 31 (CPU 311) of the game apparatus 10 detects the marker 61 included in the image by performing image processing such as pattern matching on the real image captured by the outer imaging unit 23, for example. Can do. When the marker 61 is detected in the actual image captured by the outer imaging unit 23, the virtual character is superimposed on the actual image captured by the outer imaging unit 23 and displayed on the upper LCD 22. When the marker 61 is not detected in the actual image captured by the outer imaging unit 23, a message indicating that the marker 61 is not detected is displayed on the upper LCD 22, and the virtual character is not displayed.

具体的には、マーカ61が検出された場合、上側LCD22には、外側撮像部23によって撮像された実画像(マーカ61と背景を含む実空間を撮像した画像)に、仮想キャラクタ51〜53、カーソル55、および、表示バー56が重畳表示される。仮想キャラクタ51〜53は、仮想空間に存在するキャラクタであり、人を模した仮想オブジェクトである。より具体的には、上側LCD22には、マーカ61の上に仮想キャラクタ52が乗っている様子が表示される。また、当該仮想キャラクタ52の左側(画面上の左側)には仮想キャラクタ51が、仮想キャラクタ52の右側(画面上の右側)には仮想キャラクタ53が表示される。なお、カーソル55は、現在選択されている仮想キャラクタを示すためのものである。また、表示バー56は、ゲーム装置10の操作方法をユーザに知らせるために表示される。   Specifically, when the marker 61 is detected, the upper LCD 22 adds virtual characters 51 to 53 to a real image captured by the outer imaging unit 23 (an image capturing a real space including the marker 61 and the background), A cursor 55 and a display bar 56 are superimposed and displayed. The virtual characters 51 to 53 are characters existing in the virtual space, and are virtual objects that imitate people. More specifically, a state in which the virtual character 52 is on the marker 61 is displayed on the upper LCD 22. A virtual character 51 is displayed on the left side (left side on the screen) of the virtual character 52, and a virtual character 53 is displayed on the right side (right side on the screen) of the virtual character 52. The cursor 55 is for showing the currently selected virtual character. The display bar 56 is displayed to inform the user of the operation method of the game apparatus 10.

上側LCD22に表示される画像は立体視可能な画像である。すなわち、外側撮像部23によって撮像された実画像は、外側撮像部(左)23aによって撮像された左目用実画像と外側撮像部(右)23bによって撮像された右目用実画像とを含む。また、仮想キャラクタ51〜53は、仮想空間に存在する仮想ステレオカメラ(左仮想カメラおよび右仮想カメラ)によって撮像されて、上記実画像に重畳表示される。具体的には、外側撮像部(左)23aによって撮像された左目用実画像に、左仮想カメラで仮想キャラクタを撮像した画像が重ね合わされて、左目用重畳画像が生成される。また、外側撮像部(右)23bによって撮像された右目用実画像に、右仮想カメラで仮想キャラクタを撮像した画像が重ね合わされて、右目用重畳画像が生成される。そして、上側LCD22にこれら2つの重畳画像が表示されて、視差バリアを介してユーザの左目に左目用重畳画像が、ユーザの右目に右目用重畳画像が視認される。これにより、ユーザは立体的に画像を視認することができる。   The image displayed on the upper LCD 22 is a stereoscopically viewable image. That is, the actual image captured by the outer imaging unit 23 includes the left-eye actual image captured by the outer imaging unit (left) 23a and the right-eye actual image captured by the outer imaging unit (right) 23b. The virtual characters 51 to 53 are captured by a virtual stereo camera (left virtual camera and right virtual camera) existing in the virtual space, and are superimposed on the actual image. Specifically, a left-eye superimposed image is generated by superimposing an image obtained by capturing a virtual character with a left virtual camera on a left-eye real image captured by the outer imaging unit (left) 23a. In addition, an image obtained by capturing a virtual character with the right virtual camera is superimposed on the actual image for the right eye captured by the outer imaging unit (right) 23b, thereby generating a superimposed image for the right eye. Then, these two superimposed images are displayed on the upper LCD 22 so that the left-eye superimposed image and the right-eye superimposed image are visually recognized through the parallax barrier. Thereby, the user can visually recognize the image three-dimensionally.

仮想キャラクタ51〜53は、仮想空間に配置されたオブジェクトである。図6は、仮想空間上の座標系の定義を示す図である。仮想空間は、マーカ61の中心を原点としたXYZ座標系(マーカ座標系)によって定義される。マーカ座標系は、マーカ61の矢印と同じ方向にZ軸、矢印方向を基準として右向き(右方向)にX軸、マーカ61に対して垂直上向き(上方向)にY軸が設定される。このように、実空間に配置されたマーカ61を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。このようにして定義された仮想空間上に仮想キャラクタ51〜53が配置される。例えば、仮想キャラクタ52は、マーカ座標系の原点(0,0,0)に配置され、その向き(姿勢)は、X軸をY軸周りに45度回転させた方向に設定される。また、仮想キャラクタ51および53は、XZ平面上の所定の位置に配置され、その向きは、仮想キャラクタ52と同じに設定される。   The virtual characters 51 to 53 are objects arranged in the virtual space. FIG. 6 is a diagram showing the definition of the coordinate system in the virtual space. The virtual space is defined by an XYZ coordinate system (marker coordinate system) with the center of the marker 61 as the origin. In the marker coordinate system, the Z axis is set in the same direction as the arrow of the marker 61, the X axis is set to the right (right direction) with respect to the arrow direction, and the Y axis is set to be vertically upward (upward) with respect to the marker 61. As described above, the virtual space coordinate system is defined with reference to the marker 61 arranged in the real space, whereby the real space and the virtual space can be associated with each other. Virtual characters 51 to 53 are arranged in the virtual space thus defined. For example, the virtual character 52 is arranged at the origin (0, 0, 0) of the marker coordinate system, and the direction (posture) is set to a direction obtained by rotating the X axis around the Y axis by 45 degrees. The virtual characters 51 and 53 are arranged at predetermined positions on the XZ plane, and their orientations are set to be the same as the virtual character 52.

図7は、仮想空間に仮想キャラクタ52が配置された様子を示す図である。図7に示すように、マーカ座標系の原点には、仮想キャラクタ52が配置され、当該仮想キャラクタ52は、仮想空間内に配置された左仮想カメラ58aおよび右仮想カメラ58bによって撮像される。左仮想カメラ58aは、ユーザの左目で視認される仮想空間の画像を撮像するためのものであり、右仮想カメラ58bは、ユーザの右目で視認される仮想空間の画像を撮像するためのものである。具体的には、左仮想カメラ58aのマーカ座標系における位置および姿勢は、実空間の外側撮像部(左)23aの位置および姿勢と一致される。また、右仮想カメラ58bのマーカ座標系における位置および姿勢は、実空間の外側撮像部(右)23bの位置および姿勢と一致される。   FIG. 7 is a diagram illustrating a state in which the virtual character 52 is arranged in the virtual space. As shown in FIG. 7, a virtual character 52 is placed at the origin of the marker coordinate system, and the virtual character 52 is captured by the left virtual camera 58a and the right virtual camera 58b placed in the virtual space. The left virtual camera 58a is for capturing an image of the virtual space visually recognized by the user's left eye, and the right virtual camera 58b is for capturing an image of the virtual space visually recognized by the user's right eye. is there. Specifically, the position and orientation of the left virtual camera 58a in the marker coordinate system coincide with the position and orientation of the outer imaging unit (left) 23a in real space. Further, the position and orientation of the right virtual camera 58b in the marker coordinate system coincide with the position and orientation of the outer imaging unit (right) 23b in the real space.

このようにマーカ61に基づいて仮想空間が定義され、当該仮想空間に仮想キャラクタ51〜53が配置された場合において、外側撮像部23の位置や撮像方向を変化させると、上側LCD22に表示される仮想キャラクタ51〜53も変化する。図8は、マーカ61を図5とは反対方向から撮像したときに上側LCD22に表示される画像の一例を示す図である。図8では、ゲーム装置10(外側撮像部23)の位置および姿勢を固定して、図5に示すマーカ61を、その中心を通り当該マーカ61に垂直な軸の周りに180度回転させた場合に、上側LCD22に表示される画像が示されている。あるいは、図8では、図5に示すマーカ61を固定して、ゲーム装置10をマーカ61の中心を通り当該マーカ61に垂直な軸の周りに180度回転させた場合に、上側LCD22に表示される画像が示されている。   As described above, when the virtual space is defined based on the marker 61 and the virtual characters 51 to 53 are arranged in the virtual space, when the position and the imaging direction of the outer imaging unit 23 are changed, the virtual LCD 51 is displayed on the upper LCD 22. The virtual characters 51 to 53 also change. FIG. 8 is a diagram illustrating an example of an image displayed on the upper LCD 22 when the marker 61 is imaged from the opposite direction to FIG. 5. In FIG. 8, when the position and orientation of the game apparatus 10 (outside imaging unit 23) are fixed, and the marker 61 shown in FIG. 5 is rotated 180 degrees around an axis passing through the center and perpendicular to the marker 61. The image displayed on the upper LCD 22 is shown. Alternatively, in FIG. 8, when the marker 61 shown in FIG. 5 is fixed and the game apparatus 10 is rotated 180 degrees around an axis that passes through the center of the marker 61 and is perpendicular to the marker 61, it is displayed on the upper LCD 22. An image is shown.

図8に示すように、実空間におけるゲーム装置10(外側撮像部23)とマーカ61との位置関係(相対的な位置関係;距離や姿勢)が変化すると、上側LCD22に表示される仮想キャラクタ51〜53も変化する。具体的には、図5に示すゲーム装置10とマーカ61との位置関係では仮想キャラクタ51〜53の正面が表示されるが、図8に示すゲーム装置10とマーカ61との位置関係(図5とは反対方向)では仮想キャラクタ51〜53の背面が表示される。すなわち、外側撮像部23の位置や撮像方向を変化させると、その変化に応じて、左右の仮想カメラの位置や撮像方向も変化する。これにより、仮想キャラクタ51〜53は、あたかも実空間に存在するマーカ61の上または周辺に実在するかのように見える。なお、上記マーカ61とゲーム装置10との位置関係に応じて仮想キャラクタの表示を変化させることは、公知の拡張現実感技術を用いて実現することができる。   As shown in FIG. 8, when the positional relationship (relative positional relationship; distance or posture) between the game apparatus 10 (outside imaging unit 23) and the marker 61 in the real space changes, the virtual character 51 displayed on the upper LCD 22 is changed. ~ 53 also changes. Specifically, the front of the virtual characters 51 to 53 is displayed in the positional relationship between the game apparatus 10 and the marker 61 shown in FIG. 5, but the positional relationship between the game apparatus 10 and the marker 61 shown in FIG. In the opposite direction), the rear surfaces of the virtual characters 51 to 53 are displayed. That is, when the position and the imaging direction of the outer imaging unit 23 are changed, the positions and imaging directions of the left and right virtual cameras are also changed according to the change. Thereby, the virtual characters 51 to 53 appear as if they exist on or around the marker 61 existing in the real space. Note that changing the display of the virtual character according to the positional relationship between the marker 61 and the game apparatus 10 can be realized using a known augmented reality technology.

次に、ユーザによる仮想キャラクタの操作について説明する。まず、アナログスティック15を用いた操作について説明する。図9は、アナログスティック15に対する操作に応じて仮想キャラクタ52が移動する様子を示す図である。   Next, the operation of the virtual character by the user will be described. First, an operation using the analog stick 15 will be described. FIG. 9 is a diagram illustrating how the virtual character 52 moves in response to an operation on the analog stick 15.

図9に示すように、ユーザがアナログスティック15を所定の方向にスライドさせると(アナログスティック15を用いて所定の方向を指示すると)、カーソル55で選択されている仮想キャラクタ52が当該方向に移動する。例えば、ユーザがアナログスティック15を用いて上方向を指示すると(アナログスティック15を上方向にスライドさせると)、仮想キャラクタ52はXZ平面上を歩くように移動して、上側LCD22の画面の上方向に移動する。また、例えば、ユーザがアナログスティック15を用いて左方向を指示すると、仮想キャラクタ52はXZ平面上を歩くように移動して、上側LCD22の画面の左方向に移動する。この場合において、仮想キャラクタ52は、仮想空間のXZ平面上を移動する。仮想空間における移動方向と、上側LCD22の画面上の移動方向は必ずしも一致しない。すなわち、上側LCD22の画面上の移動方向は、仮想空間を仮想カメラで撮像して上側LCD22に表示した場合の表示上の移動方向である。このように、ユーザがアナログスティック15で指示した方向に、仮想キャラクタ52の表示上の位置が変化する。   As shown in FIG. 9, when the user slides the analog stick 15 in a predetermined direction (instructing the predetermined direction using the analog stick 15), the virtual character 52 selected by the cursor 55 moves in that direction. To do. For example, when the user uses the analog stick 15 to indicate the upward direction (when the analog stick 15 is slid upward), the virtual character 52 moves so as to walk on the XZ plane, and the upward direction of the screen of the upper LCD 22 Move to. Further, for example, when the user instructs the left direction using the analog stick 15, the virtual character 52 moves to walk on the XZ plane and moves to the left direction on the screen of the upper LCD 22. In this case, the virtual character 52 moves on the XZ plane of the virtual space. The moving direction in the virtual space does not necessarily match the moving direction on the screen of the upper LCD 22. That is, the moving direction on the screen of the upper LCD 22 is the moving direction on the display when the virtual space is imaged by the virtual camera and displayed on the upper LCD 22. In this way, the display position of the virtual character 52 changes in the direction designated by the user with the analog stick 15.

次に、仮想キャラクタをゲーム装置10(仮想カメラ)に注目させることについて説明する。図10は、仮想キャラクタを仮想カメラの方向に注目させた場合に上側LCD22に表示される画像の一例を示す図である。図10では、仮想キャラクタ51〜53の右側面が表示されるような位置関係でマーカ61とゲーム装置10(外側撮像部23)とが配置された場合に、仮想キャラクタ51〜53がユーザの操作によって仮想カメラ(58aおよび58b)に注目する様子が示されている。上述のように、仮想カメラと外側撮像部23とは、位置および姿勢が一致するため、仮想キャラクタを仮想カメラに注目させることは、仮想キャラクタを外側撮像部23に注目させることを意味する。具体的には、図10のように仮想キャラクタ51〜53の右側面が表示されている場合に、ユーザが例えばxボタン14Dを押すと、全ての仮想キャラクタ51〜53は、ゲーム装置10の方向に顔を向ける。仮想キャラクタ51〜53が仮想カメラに注目すると、仮想キャラクタ51〜53の視線は仮想カメラ、すなわち、外側撮像部23に固定されるため、ユーザがゲーム装置10を動かしても、仮想キャラクタ51〜53は常に仮想カメラの方向を向く。すなわち、一度ユーザがxボタン14Dを押すと、カメラ注目モードとなって、仮想キャラクタ51〜53は、常に仮想カメラに注目する。なお、カメラ注目モードの状態において、再びユーザがxボタン14Dを押すと、カメラ注目モードが解除されて、各仮想キャラクタの顔は、体の向きに応じた方向を向くようになる。このように、ユーザは、操作手段(入力手段)に対する操作(入力)によって仮想キャラクタをゲーム装置10の方向に注目させることができる。   Next, letting the virtual character draw attention to the game apparatus 10 (virtual camera) will be described. FIG. 10 is a diagram illustrating an example of an image displayed on the upper LCD 22 when a virtual character is focused on the direction of the virtual camera. In FIG. 10, when the marker 61 and the game apparatus 10 (outside imaging unit 23) are arranged in such a positional relationship that the right side surfaces of the virtual characters 51 to 53 are displayed, the virtual characters 51 to 53 are operated by the user. Shows a state in which attention is paid to the virtual cameras (58a and 58b). As described above, since the positions and orientations of the virtual camera and the outer imaging unit 23 coincide with each other, the attention of the virtual character to the virtual camera means the attention of the virtual character to the outer imaging unit 23. Specifically, when the right side of the virtual characters 51 to 53 is displayed as shown in FIG. 10, for example, when the user presses the x button 14D, all the virtual characters 51 to 53 are directed in the direction of the game apparatus 10. Turn to face. When the virtual characters 51 to 53 pay attention to the virtual camera, the line of sight of the virtual characters 51 to 53 is fixed to the virtual camera, that is, the outer imaging unit 23. Therefore, even if the user moves the game apparatus 10, the virtual characters 51 to 53 Always point in the direction of the virtual camera. That is, once the user presses the x button 14D, the camera attention mode is set, and the virtual characters 51 to 53 always pay attention to the virtual camera. Note that when the user presses the x button 14D again in the camera attention mode, the camera attention mode is canceled, and the face of each virtual character faces in a direction according to the direction of the body. Thus, the user can make the virtual character pay attention to the direction of the game apparatus 10 by an operation (input) on the operation means (input means).

なお、他の操作によって、仮想キャラクタのポーズが変更される。例えば、ユーザがaボタン14Bまたはbボタン14Cを押すと、選択されている仮想キャラクタが立った状態から座った状態になったり、仮想キャラクタが手を上げたり、下ろしたりする。このようにして、ユーザは、各仮想キャラクタのポーズを変更することができる。また、仮想キャラクタの選択変更は、yボタン14Eを押すことにより行われる。例えば、yボタン14Eが1回押されると、カーソル55が仮想キャラクタ53の頭上に移動して、仮想キャラクタ53が選択される。   Note that the pose of the virtual character is changed by another operation. For example, when the user presses the a button 14B or the b button 14C, the selected virtual character changes from standing to sitting, or the virtual character raises or lowers the hand. In this way, the user can change the pose of each virtual character. Further, the selection change of the virtual character is performed by pressing the y button 14E. For example, when the y button 14E is pressed once, the cursor 55 moves above the virtual character 53 and the virtual character 53 is selected.

また、別の操作によって、仮想キャラクタの表情が変更される。例えば、ユーザが十字ボタン14Aの左右方向のボタンを押すと、選択された仮想キャラクタが怒ったり笑ったりする。このようにして、ユーザは、各仮想キャラクタの表情を変更することができる。   Further, the facial expression of the virtual character is changed by another operation. For example, when the user presses the left / right button of the cross button 14A, the selected virtual character gets angry or laughs. In this way, the user can change the facial expression of each virtual character.

以上のように、ユーザは、上側LCD22を見ながらボタン操作によって各仮想キャラクタの位置やポーズ、表情を変更させたり、仮想キャラクタをカメラに注目させたりすることができる。ユーザがボタン操作している間やゲーム装置10を実空間内で移動させている間、上側LCD22に表示される画像はリアルタイムに変化する。これにより、ユーザは、各仮想キャラクタの位置、ポーズ、表情や向き、あるいはゲーム装置10とマーカ61との位置関係等を変化させることで、撮影する写真の構図をある程度自由に決定することができる。その後、ユーザは、所定のボタンを押すことにより、上側LCD22に表示された画像を撮影(保存)することができる。例えば、Lボタン14GまたはRボタン14Hが押されると、当該ボタンが押されたときに表示されていた画像が静止画として上側LCD22に表示されるとともに、当該静止画が保存用バッファ(メインメモリ32等に設けられたバッファ領域)に保存される。その後、さらに所定のボタンが押されると当該静止画が不揮発性の記憶手段(データ保存用内部メモリ35や外部メモリ33)に保存される。   As described above, the user can change the position, pose, and facial expression of each virtual character or cause the virtual character to focus on the camera by operating the buttons while viewing the upper LCD 22. While the user operates a button or moves the game apparatus 10 in the real space, the image displayed on the upper LCD 22 changes in real time. Thus, the user can freely determine the composition of the photograph to be taken to some extent by changing the position, pose, facial expression and orientation of each virtual character, the positional relationship between the game apparatus 10 and the marker 61, and the like. . Thereafter, the user can take (save) the image displayed on the upper LCD 22 by pressing a predetermined button. For example, when the L button 14G or the R button 14H is pressed, the image displayed when the button is pressed is displayed on the upper LCD 22 as a still image, and the still image is stored in the storage buffer (main memory 32). In the buffer area provided in the Thereafter, when a predetermined button is further pressed, the still image is stored in a nonvolatile storage means (data storage internal memory 35 or external memory 33).

以上のようにして、ユーザは、あたかも仮想オブジェクトが実空間に存在するように仮想オブジェクトを操作して、仮想オブジェクトの写真を撮影することができる。   As described above, the user can take a picture of the virtual object by operating the virtual object as if the virtual object existed in the real space.

(撮影処理の詳細)
次に、図11から図16を参照して、本実施形態に係る撮影処理の詳細について説明する。まず、撮影処理の際にメインメモリ32およびVRAM313(以下、これらを総称してRAMと呼ぶことがある)に記憶される主なデータについて説明する。図11は、ゲーム装置10のRAMのメモリマップを示す図である。図11に示されるように、RAMには、撮影処理プログラム71、左目用実画像72L、右目用実画像72R、仮想キャラクタ情報73、左仮想カメラ情報74L、右仮想カメラ情報74R、左仮想オブジェクト画像75L、右仮想オブジェクト画像75R、操作情報76、保存フラグ77、左右静止画像78、カメラ注目フラグ79等が記憶される。
(Details of shooting process)
Next, with reference to FIG. 11 to FIG. 16, details of the photographing process according to the present embodiment will be described. First, main data stored in the main memory 32 and the VRAM 313 (hereinafter, these may be collectively referred to as a RAM) during the photographing process will be described. FIG. 11 is a diagram showing a RAM memory map of the game apparatus 10. As illustrated in FIG. 11, the RAM includes a shooting processing program 71, a real image for left eye 72L, a real image for right eye 72R, virtual character information 73, left virtual camera information 74L, right virtual camera information 74R, and a left virtual object image. 75L, right virtual object image 75R, operation information 76, save flag 77, left and right still image 78, camera attention flag 79, and the like are stored.

撮影処理プログラム71は、後述するフローチャートに示される撮影処理を情報処理部31(CPU311)に実行させるためのプログラムである。   The imaging processing program 71 is a program for causing the information processing unit 31 (CPU 311) to execute imaging processing shown in a flowchart to be described later.

左目用実画像72Lは、外側撮像部(左)23aによって撮像された、実空間を撮像した画像である。   The left-eye real image 72L is an image obtained by imaging the real space, which is captured by the outer imaging unit (left) 23a.

右目用実画像72Rは、外側撮像部(右)23bによって撮像された、実空間を撮像した画像である。   The right-eye real image 72R is an image obtained by imaging the real space, which is captured by the outer imaging unit (right) 23b.

仮想キャラクタ情報73は、各仮想キャラクタ51〜53に関連する情報である。具体的には、仮想キャラクタ情報73は、仮想キャラクタの形状を表す3次元モデルデータ(ポリゴンデータ)や、仮想キャラクタの模様をあらわすテクスチャデータ、仮想空間における仮想キャラクタの位置や姿勢の情報、および、現在選択されているか否かを示す情報を含む。各仮想キャラクタ51〜53は、これら3次元モデルデータ、テクスチャデータ、位置や姿勢に関する情報、現在選択されているか否かを示す情報を有している。なお、各仮想キャラクタは、部位毎に上記3次元モデルデータ、位置や姿勢に関する情報を有している。例えば、仮想キャラクタ51は、体(首から下の部分)の3次元モデルデータ、当該体の位置や姿勢に関する情報、頭部の3次元モデルデータ、当該頭部の位置や姿勢に関する情報を有している。頭部の位置と体の位置とは、予め定められた所定の関係を有している。このように部位毎に上記情報を有することにより、頭部と体の向きを異なるようにすることができる。例えば、仮想キャラクタ51の体が仮想空間内の原点に位置して当該体の向きがX軸の正方向を向いている場合において、仮想キャラクタ51の顔を原点よりもY軸正方向の所定位置に配置して、顔をZ軸の正方向に向かせることができる。   The virtual character information 73 is information related to the virtual characters 51 to 53. Specifically, the virtual character information 73 includes three-dimensional model data (polygon data) representing the shape of the virtual character, texture data representing the pattern of the virtual character, information on the position and orientation of the virtual character in the virtual space, and Contains information indicating whether it is currently selected. Each of the virtual characters 51 to 53 has these three-dimensional model data, texture data, information on the position and orientation, and information indicating whether or not it is currently selected. Each virtual character has information about the 3D model data, position, and posture for each part. For example, the virtual character 51 has 3D model data of the body (portion below the neck), information on the position and posture of the body, 3D model data of the head, and information on the position and posture of the head. ing. The position of the head and the position of the body have a predetermined relationship. Thus, by having the said information for every site | part, the direction of a head and a body can be varied. For example, when the body of the virtual character 51 is located at the origin in the virtual space and the body is oriented in the positive direction of the X axis, the face of the virtual character 51 is positioned at a predetermined position in the positive direction of the Y axis from the origin. The face can be directed in the positive direction of the Z axis.

左仮想カメラ情報74Lは、仮想空間のおける左仮想カメラ58aの位置および姿勢を表す情報である。具体的には、左仮想カメラ情報74Lは、左目用実画像におけるマーカ61の位置および姿勢に基づいて算出される行列である。   The left virtual camera information 74L is information representing the position and orientation of the left virtual camera 58a in the virtual space. Specifically, the left virtual camera information 74L is a matrix calculated based on the position and orientation of the marker 61 in the left-eye real image.

右仮想カメラ情報74Rは、仮想空間のおける右仮想カメラ58bの位置および姿勢を表す情報である。具体的には、右仮想カメラ情報74Rは、右目用実画像におけるマーカ61の位置および姿勢に基づいて算出される行列である。   The right virtual camera information 74R is information representing the position and orientation of the right virtual camera 58b in the virtual space. Specifically, the right virtual camera information 74R is a matrix calculated based on the position and orientation of the marker 61 in the real image for the right eye.

左仮想オブジェクト画像75Lは、左仮想カメラ58aによって仮想キャラクタを撮像した画像である。   The left virtual object image 75L is an image obtained by capturing a virtual character with the left virtual camera 58a.

右仮想オブジェクト画像75Rは、右仮想カメラ58bによって仮想キャラクタを撮像した画像である。   The right virtual object image 75R is an image obtained by capturing a virtual character with the right virtual camera 58b.

操作情報76は、操作手段(各操作ボタン14A〜14E、14G、14H、および、アナログスティック15)に対して行われた操作を示す情報である。操作手段に対する操作が行われると、操作が行われたことを示す信号がCPU311に送信されて、操作情報76が更新される。   The operation information 76 is information indicating an operation performed on the operation means (the operation buttons 14A to 14E, 14G, 14H, and the analog stick 15). When an operation on the operation means is performed, a signal indicating that the operation has been performed is transmitted to the CPU 311 and the operation information 76 is updated.

保存フラグ77は、撮像された画像が保存されることを示すフラグであり、例えば、撮影指示ボタン(Lボタン14GまたはRボタン14H)が押された場合に、ONに設定される。   The save flag 77 is a flag indicating that a captured image is saved, and is set to ON when, for example, a shooting instruction button (L button 14G or R button 14H) is pressed.

左右静止画像78は、撮影指示ボタン(Lボタン14GまたはRボタン14H)が押されたことに応じて保存される画像であり、左静止画像と右静止画像とを含む。   The left and right still images 78 are images that are stored in response to pressing of the shooting instruction button (L button 14G or R button 14H), and include a left still image and a right still image.

カメラ注目フラグ79は、仮想キャラクタが仮想カメラに注目するモード(カメラ注目モード)か否かを示すフラグである。カメラ注目モードである場合、カメラ注目フラグ79はONに設定され、カメラ注目モードでない場合、カメラ注目フラグ79はOFFに設定される。   The camera attention flag 79 is a flag indicating whether or not the virtual character is in a mode in which attention is paid to the virtual camera (camera attention mode). When the camera attention mode is set, the camera attention flag 79 is set to ON. When the camera attention mode is not set, the camera attention flag 79 is set to OFF.

(メインフローの説明)
次に、本実施形態に係る撮影処理の詳細について、図12から図16を参照して説明する。図12は、本実施形態に係る撮影処理の詳細を示すメインフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、図示しないROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、不揮発性メモリ(外部メモリ44等;コンピュータ読み取り可能な記憶媒体)に記憶された撮影処理プログラムがRAM(具体的には、メインメモリ32)に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。図12のフローチャートに示す処理は、以上の処理が完了した後に情報処理部31(CPU311又はGPU312)によって行われる。なお、図12では、本発明に直接関連しない処理については記載を省略する。また、図12に示すステップS1〜ステップS14の処理ループは、1フレーム(例えば1/30秒又は1/60秒。フレーム時間という)毎に繰り返し実行される。
(Description of main flow)
Next, details of the photographing process according to the present embodiment will be described with reference to FIGS. FIG. 12 is a main flowchart showing details of the photographing process according to the present embodiment. When the power of the game apparatus 10 is turned on, the information processing section 31 (CPU 311) of the game apparatus 10 executes a startup program stored in a ROM (not shown), thereby initializing each unit such as the main memory 32. Is done. Next, a photographing processing program stored in a non-volatile memory (external memory 44 or the like; a computer-readable storage medium) is read into the RAM (specifically, the main memory 32), and the CPU 311 of the information processing unit 31 performs the processing. Program execution starts. The processing shown in the flowchart of FIG. 12 is performed by the information processing unit 31 (CPU 311 or GPU 312) after the above processing is completed. In FIG. 12, description of processing not directly related to the present invention is omitted. Further, the processing loop of step S1 to step S14 shown in FIG. 12 is repeatedly executed for each frame (for example, 1/30 second or 1/60 second, referred to as frame time).

まず、ステップS1において、情報処理部31は、撮影中か否かを判定する。具体的には、情報処理部31は、RAMを参照して、保存フラグ77がONか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS2の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS7の処理を実行する。   First, in step S1, the information processing section 31 determines whether or not shooting is in progress. Specifically, the information processing unit 31 refers to the RAM and determines whether or not the storage flag 77 is ON. If the determination result is negative, the information processing section 31 next executes a process of step S2. On the other hand, when the determination result is affirmative, the information processing section 31 next executes a process of step S7.

ステップS2において、情報処理部31は、実カメラ画像を取得する。具体的には、情報処理部31は、外側撮像部23に対して、画像を撮像するための命令を送信する。当該命令に応じて外側撮像部(左)23aは左目用実画像72Lを、外側撮像部(右)23bは右目用実画像72Rを撮像する。そして、情報処理部31は、撮像された2つの画像(左目用実画像72Lおよび右目用実画像72R)を取得し、RAMに記憶する。次に、情報処理部31は、ステップS3の処理を実行する。   In step S2, the information processing unit 31 acquires an actual camera image. Specifically, the information processing unit 31 transmits a command for capturing an image to the outer imaging unit 23. In response to the command, the outer imaging unit (left) 23a captures the real image 72L for the left eye, and the outer imaging unit (right) 23b captures the actual image for the right eye 72R. Then, the information processing section 31 acquires two captured images (the left-eye actual image 72L and the right-eye actual image 72R) and stores them in the RAM. Next, the information processing section 31 performs the process at step S3.

ステップS3において、情報処理部31は、マーカ認識処理を実行する。マーカ認識処理は、ステップS2で取得した左目用実画像72Lおよび右目用実画像72Rを用いて、2つの画像に含まれるマーカ61を認識する処理である。マーカ認識処理においては、マーカの認識結果に応じて、仮想カメラ(左仮想カメラ58aおよび右仮想カメラ58b)が仮想空間に設定される。マーカ認識処理の詳細は、後述する。マーカ認識処理の後、ステップS4の処理が行われる。   In step S3, the information processing section 31 executes marker recognition processing. The marker recognition process is a process for recognizing the marker 61 included in the two images using the left-eye actual image 72L and the right-eye actual image 72R acquired in step S2. In the marker recognition process, virtual cameras (the left virtual camera 58a and the right virtual camera 58b) are set in the virtual space according to the marker recognition result. Details of the marker recognition process will be described later. After the marker recognition process, the process of step S4 is performed.

ステップS4において、情報処理部31は、マーカを認識したか否かを判定する。ステップS4の処理は、ステップS3のマーカ認識処理においてマーカ61が正常に認識されたか否かを判定する処理である。具体的には、情報処理部31は、RAMを参照して、検出結果フラグ(後述する)がONか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS5の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS14の処理を実行する。   In step S4, the information processing section 31 determines whether or not a marker has been recognized. The process of step S4 is a process of determining whether or not the marker 61 is normally recognized in the marker recognition process of step S3. Specifically, the information processing section 31 refers to the RAM and determines whether or not a detection result flag (described later) is ON. If the determination result is affirmative, the information processing section 31 next executes a process of step S5. On the other hand, when the determination result is negative, the information processing section 31 next executes a process of step S14.

ステップS5において、情報処理部31は、撮影ボタンが押されたか否かを判定する。具体的には、情報処理部31は、RAMに記憶された操作情報76を参照して、Lボタン14GまたはRボタン14Hが押されたか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS6の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS7の処理を実行する。   In step S5, the information processing section 31 determines whether or not the shooting button has been pressed. Specifically, the information processing section 31 refers to the operation information 76 stored in the RAM and determines whether or not the L button 14G or the R button 14H has been pressed. If the determination result is negative, the information processing section 31 next executes a process of step S6. On the other hand, when the determination result is affirmative, the information processing section 31 next executes a process of step S7.

ステップS6において、情報処理部31は、操作情報76を参照して、アナログスティック15が操作されたか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS8の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS9の処理を実行する。   In step S <b> 6, the information processing section 31 refers to the operation information 76 and determines whether or not the analog stick 15 has been operated. If the determination result is affirmative, the information processing section 31 next executes a process of step S8. On the other hand, when the determination result is negative, the information processing section 31 next executes a process of step S9.

一方、ステップS7において、情報処理部31は、保存処理を実行する。保存処理は、上側LCD22に表示された画像を保存(撮影)する処理である。保存処理の詳細については、後述する。ステップS7の処理の後、情報処理部31は、次にステップS14の処理を実行する。   On the other hand, in step S7, the information processing section 31 performs a storage process. The saving process is a process for saving (photographing) the image displayed on the upper LCD 22. Details of the storage process will be described later. After the process of step S7, the information processing section 31 next executes the process of step S14.

ステップS8において、情報処理部31は、キャラクタ移動処理を実行する。キャラクタ移動処理では、情報処理部31は、アナログスティック15に対する操作に応じて、仮想キャラクタを仮想空間内で移動させる。キャラクタ移動処理の詳細については、後述する。キャラクタ移動処理の後、ステップS9の処理が行われる。   In step S8, the information processing section 31 performs a character movement process. In the character movement process, the information processing section 31 moves the virtual character in the virtual space in response to an operation on the analog stick 15. Details of the character movement process will be described later. After the character movement process, the process of step S9 is performed.

ステップS9において、情報処理部31は、カメラ注目モードか否かを判定する。具体的には、情報処理部31は、操作情報76を参照して、xボタン14Dが押されたか否か、または、カメラ注目フラグ79がONか否かを判定する。判定結果が肯定の場合(xボタン14Dが押された場合、又は、カメラ注目フラグ79がONの場合)、情報処理部31は、カメラ注目フラグ79をONに設定して、次にステップS10に示す注目処理(後述する)を実行する。なお、カメラ注目フラグ79がONであって、かつ、xボタン14Dが押された場合、情報処理部31は、カメラ注目フラグ79をOFFに設定するとともに、非注目処理(図示せず)を実行して、次にステップS11の処理を実行する。非注目処理の詳細な説明は省略するが、非注目処理では、後述する注目処理で変更された各仮想キャラクタの頭部の姿勢が元に戻される。一方、ステップS9において判定結果が否定の場合(xボタン14Dが押されておらず、かつ、カメラ注目フラグ79がOFFの場合)、情報処理部31は、次にステップS11の処理を実行する。   In step S9, the information processing section 31 determines whether or not the camera attention mode is set. Specifically, the information processing section 31 refers to the operation information 76 and determines whether or not the x button 14D is pressed or whether or not the camera attention flag 79 is ON. If the determination result is affirmative (when the x button 14D is pressed or the camera attention flag 79 is ON), the information processing section 31 sets the camera attention flag 79 to ON, and then proceeds to step S10. The attention process shown (described later) is executed. If the camera attention flag 79 is ON and the x button 14D is pressed, the information processing section 31 sets the camera attention flag 79 to OFF and executes non-attention processing (not shown). Then, the process of step S11 is executed. Although detailed description of the non-attention processing is omitted, in the non-attention processing, the head posture of each virtual character changed in the attention processing described later is restored. On the other hand, when the determination result is negative in step S9 (when the x button 14D is not pressed and the camera attention flag 79 is OFF), the information processing section 31 next executes the process of step S11.

ステップS10において、情報処理部31は、注目処理を実行する。注目処理では、各仮想キャラクタを仮想カメラに注目させる処理であり、各仮想キャラクタの顔を仮想カメラの方向に向かせる処理である。注目処理の詳細については、後述する。注目処理の後、ステップS11の処理が行われる。   In step S <b> 10, the information processing section 31 performs attention processing. The attention process is a process for causing each virtual character to pay attention to the virtual camera, and is a process for directing the face of each virtual character toward the virtual camera. Details of the attention process will be described later. After the attention process, the process of step S11 is performed.

ステップS11において、情報処理部31は、所定のボタン操作が行われたか否かを判定する。具体的には、情報処理部31は、操作情報76を参照して、十字ボタン14Aの左右方向のボタン、aボタン14B、bボタン14C、および、yボタン14Eの何れかが押されたか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS12の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS13の処理を実行する。   In step S11, the information processing section 31 determines whether or not a predetermined button operation has been performed. Specifically, the information processing section 31 refers to the operation information 76 and determines whether any of the left and right buttons of the cross button 14A, the a button 14B, the b button 14C, and the y button 14E is pressed. Determine. If the determination result is affirmative, the information processing section 31 next executes a process of step S12. On the other hand, if the determination result is negative, the information processing section 31 next executes a process of step S13.

ステップS12において、情報処理部31は、ボタン操作に応じた処理を実行する。具体的には、情報処理部31は、十字ボタン14Aの左右方向のボタンが押された場合、選択されている仮想キャラクタの表情を変更する。仮想キャラクタの表情は、仮想キャラクタの顔に適用されるテクスチャによって変更される。従って、情報処理部31は、十字ボタン14Aの左右方向のボタンが押されたことに応じて、現在適用されているテクスチャを別のテクスチャ(予め記憶されている)に変更する。また、情報処理部31は、aボタン14Bまたはbボタン14Cが押された場合、選択されている仮想キャラクタのポーズを変更する。各仮想キャラクタには、予め複数のポーズ(座った状態や立った状態、手を上げた状態等)が用意されており、情報処理部31は、aボタン14Bまたはbボタン14Cが押されたことに応じて、これら複数のポーズの中から1つのポーズを選択する。また、情報処理部31は、yボタン14Eが押された場合、現在選択されている仮想キャラクタとは別の仮想キャラクタを選択する。例えば、表示上の右から左に順番に仮想キャラクタが選択されたり、撮影処理前に仮想空間に配置される仮想キャラクタが決定された順番に、仮想キャラクタが選択されたりする。情報処理部31は、次にステップS13の処理を実行する。   In step S <b> 12, the information processing section 31 performs a process according to the button operation. Specifically, the information processing section 31 changes the facial expression of the selected virtual character when the left / right button of the cross button 14A is pressed. The expression of the virtual character is changed by the texture applied to the face of the virtual character. Therefore, the information processing section 31 changes the currently applied texture to another texture (stored in advance) in response to the pressing of the left / right button of the cross button 14A. Further, when the a button 14B or the b button 14C is pressed, the information processing section 31 changes the pose of the selected virtual character. Each virtual character is prepared in advance with a plurality of poses (a sitting state, a standing state, a hand-raised state, etc.), and the information processing unit 31 indicates that the a button 14B or the b button 14C has been pressed. Accordingly, one pose is selected from the plurality of poses. Further, when the y button 14E is pressed, the information processing unit 31 selects a virtual character different from the currently selected virtual character. For example, the virtual characters are selected in order from right to left on the display, or the virtual characters are selected in the order in which the virtual characters arranged in the virtual space are determined before the shooting process. Next, the information processing section 31 executes the process of step S13.

ステップS13において、情報処理部31は、仮想オブジェクト画像生成処理を実行する。具体的には、情報処理部31は、仮想空間を左仮想カメラ58aで撮像することによって左仮想オブジェクト画像75Lを生成し、仮想空間を右仮想カメラ58bで撮像することによって右仮想オブジェクト画像75Rを生成する。そして、情報処理部31は、撮像した左仮想オブジェクト画像75Lおよび右仮想オブジェクト画像75RをRAMに保存する。情報処理部31は、次にステップS14の処理を実行する。   In step S13, the information processing section 31 performs a virtual object image generation process. Specifically, the information processing section 31 generates the left virtual object image 75L by capturing the virtual space with the left virtual camera 58a, and captures the right virtual object image 75R by capturing the virtual space with the right virtual camera 58b. Generate. Then, the information processing section 31 stores the captured left virtual object image 75L and right virtual object image 75R in the RAM. Next, the information processing section 31 executes the process of step S14.

ステップS14において、情報処理部31は、出力処理を実行する。出力処理が実行されることによって、上側LCD22に立体視可能な画像が表示される。具体的には、情報処理部31は、直前にステップS13の処理が行われた場合、ステップS2で取得した実カメラ画像とステップS13で生成した仮想オブジェクト画像とを重ね合わせた重畳画像を生成する。具体的には、情報処理部31は、左目用実画像72Lと左仮想オブジェクト画像75Lとを重ね合わせた左目用重畳画像を生成し、右目用実画像72Rと右仮想オブジェクト画像75Rとを重ね合わせた右目用重畳画像を生成する。そして、情報処理部31は、生成した2つの重畳画像を上側LCD22に出力する。なお、カーソル55および表示バー56の表示設定がなされている場合は、上記仮想オブジェクト画像に加えて、カーソル55および表示バー56を示す画像が左右の実カメラ画像に重畳されて上側LCD22に表示される。一方、カーソル55および表示バー56が非表示設定されている場合は、カーソル55および表示バー56は上側LCD22に表示されない。   In step S14, the information processing section 31 performs an output process. By executing the output process, a stereoscopically viewable image is displayed on the upper LCD 22. Specifically, when the process of step S13 is performed immediately before, the information processing unit 31 generates a superimposed image in which the real camera image acquired in step S2 and the virtual object image generated in step S13 are superimposed. . Specifically, the information processing section 31 generates a left-eye superimposed image by superimposing the left-eye real image 72L and the left virtual object image 75L, and superimposes the right-eye real image 72R and the right virtual object image 75R. A right-eye superimposed image is generated. Then, the information processing section 31 outputs the generated two superimposed images to the upper LCD 22. When the display settings of the cursor 55 and the display bar 56 are made, in addition to the virtual object image, an image showing the cursor 55 and the display bar 56 is superimposed on the left and right real camera images and displayed on the upper LCD 22. The On the other hand, when the cursor 55 and the display bar 56 are set not to be displayed, the cursor 55 and the display bar 56 are not displayed on the upper LCD 22.

また、情報処理部31は、ステップS4の判定結果が否定の場合は、ステップS2で取得した左目用実画像72Lと右目用実画像72Rとを上側LCD22に出力する。また、情報処理部31は、保存フラグ77がONの場合(直前にステップS7が実行されている場合)、ステップS7でRAMに記憶された左右の静止画像(左右静止画像78)を上側LCD22に出力する。情報処理部31は、ステップS14の処理の後、ステップS1の処理を再び実行する。以上で図12に示すフローチャートの説明を終了する。   If the determination result in step S4 is negative, the information processing section 31 outputs the left-eye actual image 72L and the right-eye actual image 72R acquired in step S2 to the upper LCD 22. Further, when the save flag 77 is ON (when Step S7 is executed immediately before), the information processing section 31 displays the left and right still images (left and right still images 78) stored in the RAM at Step S7 on the upper LCD 22. Output. The information processing section 31 executes the process of step S1 again after the process of step S14. This is the end of the description of the flowchart shown in FIG.

なお、図12では省略しているが、保存フラグ77がONの場合において、静止画像(左右静止画像78)がRAMに記憶されると、この静止画像が上側LCD22に表示され、ユーザがこの静止画像の内容を確認して所定のボタンを押すと、RAMに記憶された静止画像(左右静止画像78)は、不揮発性の記憶手段(データ保存用外部メモリ45やデータ保存用内部メモリ35等)に保存される。   Although omitted in FIG. 12, when the still image (left and right still image 78) is stored in the RAM when the save flag 77 is ON, the still image is displayed on the upper LCD 22, and the user selects this still image. When the user confirms the content of the image and presses a predetermined button, the still image (left and right still image 78) stored in the RAM is a non-volatile storage means (data storage external memory 45, data storage internal memory 35, etc.). Saved in.

次に、上述した各処理の詳細について説明する。   Next, details of each process described above will be described.

(マーカ認識処理の説明)
図13は、マーカ認識処理(ステップS3)の詳細を示すフローチャートである。まず、ステップS21において、情報処理部31は、マーカを検出したか否かを判定する。ここでは、ステップS2で取得した左目用実画像72Lおよび右目用実画像72Rを用いて、2つの画像の何れにもマーカが含まれているか否かを判定する。具体的には、情報処理部31は、各画像に対してパターンマッチング等の画像処理を行い、マーカが含まれるか否かを判定する。どちらか一方の画像にマーカが含まれない場合、判定結果は否定となって、次にステップS25の処理が実行される。一方、何れの画像にもマーカが含まれている場合、判定結果は肯定となって、次にステップS22の処理が実行される。
(Explanation of marker recognition processing)
FIG. 13 is a flowchart showing details of the marker recognition process (step S3). First, in step S21, the information processing section 31 determines whether a marker has been detected. Here, it is determined by using the left-eye actual image 72L and the right-eye actual image 72R acquired in step S2 whether or not any of the two images includes a marker. Specifically, the information processing unit 31 performs image processing such as pattern matching on each image, and determines whether or not a marker is included. When the marker is not included in either one of the images, the determination result is negative, and the process of step S25 is executed next. On the other hand, if any image includes a marker, the determination result is affirmative, and then the process of step S22 is executed.

ステップS22において、情報処理部31は、実カメラとマーカとの位置関係を算出する。具体的には、情報処理部31は、左目用実画像72Lに含まれるマーカの当該左目用実画像72Lにおける位置や大きさ、形状、および、マーカの矢印の方向等に基づいて、外側撮像部(左)23aと実空間に存在するマーカ61との位置関係を算出する。ここで、外側撮像部(左)23aとマーカ61との位置関係とは、マーカ61および外側撮像部(左)23aの何れか一方を基準とした場合の他方の3次元の位置および姿勢である。すなわち、上記位置関係は、マーカ61に対する外側撮像部(左)23aの相対的な位置および姿勢である。同様に、情報処理部31は、右目用実画像72Rに含まれるマーカの当該右目用実画像72Rにおける位置や大きさ、形状、および、マーカの矢印の方向等に基づいて、外側撮像部(右)23bと実空間に存在するマーカ61との位置関係を算出する。   In step S22, the information processing section 31 calculates the positional relationship between the real camera and the marker. Specifically, the information processing section 31 determines the outer imaging section based on the position and size of the marker included in the left-eye actual image 72L, the shape, the direction of the marker arrow, and the like. (Left) The positional relationship between 23a and the marker 61 existing in the real space is calculated. Here, the positional relationship between the outer imaging unit (left) 23a and the marker 61 is the other three-dimensional position and orientation when one of the marker 61 and the outer imaging unit (left) 23a is used as a reference. . That is, the positional relationship is a relative position and posture of the outer imaging unit (left) 23a with respect to the marker 61. Similarly, the information processing section 31 determines whether the marker included in the right-eye actual image 72R is based on the position, size, shape, and arrow direction of the marker in the right-eye actual image 72R. ) The positional relationship between 23b and the marker 61 existing in the real space is calculated.

より具体的には、ステップS22においては、マーカの認識結果に基づいて、マーカ座標系が設定されるとともに、マーカ61と外側撮像部(左)23aとの位置関係が算出される。図17は、マーカ61と外側撮像部(左)23aとの位置関係を示す図である。図17に示すように、マーカ61には、マーカ座標系が設定される。具体的には、マーカ座標系の原点は、マーカ61の中心に設定される。また、マーカ座標系のZ軸は、マーカ61の矢印の方向と平行に設定され(マーカ61の長辺と平行に設定され)、マーカ座標系のX軸は、当該矢印の方向と垂直であって、当該矢印の方向を基準として右向きに設定される(マーカ61の短辺と平行に設定される)。また、Y軸は、マーカ61に対して垂直上向きに設定される(長方形のマーカ61の上向きの法線方向に設定される)。マーカ座標系は、仮想空間を定義する座標系であり、実空間と仮想空間とを対応付ける。すなわち、マーカ座標系における原点は、仮想空間の原点であって、実空間におけるマーカ61の中心でもある。   More specifically, in step S22, a marker coordinate system is set based on the marker recognition result, and the positional relationship between the marker 61 and the outer imaging unit (left) 23a is calculated. FIG. 17 is a diagram illustrating a positional relationship between the marker 61 and the outer imaging unit (left) 23a. As shown in FIG. 17, a marker coordinate system is set for the marker 61. Specifically, the origin of the marker coordinate system is set at the center of the marker 61. In addition, the Z axis of the marker coordinate system is set parallel to the direction of the arrow of the marker 61 (set parallel to the long side of the marker 61), and the X axis of the marker coordinate system is perpendicular to the direction of the arrow. Thus, it is set to the right with reference to the direction of the arrow (set parallel to the short side of the marker 61). Further, the Y axis is set vertically upward with respect to the marker 61 (set to the upward normal direction of the rectangular marker 61). The marker coordinate system is a coordinate system that defines a virtual space, and associates the real space with the virtual space. That is, the origin in the marker coordinate system is the origin of the virtual space and the center of the marker 61 in the real space.

そして、マーカ61に対する外側撮像部(左)23aの相対的な位置および姿勢を表す行列が算出される。図17に示すように、外側撮像部(左)23aの位置および姿勢を表す行列は、仮想空間におけるマーカ座標系で表された座標を、外側撮像部(左)23aの位置および姿勢を基準とした外側撮像部(左)座標系で表される座標へと変換するための座標変換行列である。ステップS23においては、左目用実画像72Lに含まれるマーカに基づいて外側撮像部(左)23aの位置および姿勢を表す行列が算出され、右目用実画像72Rに含まれるマーカに基づいて外側撮像部(右)23bの位置および姿勢を表す行列が算出される。   Then, a matrix representing the relative position and orientation of the outer imaging unit (left) 23a with respect to the marker 61 is calculated. As shown in FIG. 17, the matrix representing the position and orientation of the outer imaging unit (left) 23a is based on the coordinates expressed in the marker coordinate system in the virtual space, with the position and orientation of the outer imaging unit (left) 23a as a reference. It is the coordinate transformation matrix for transform | converting into the coordinate represented by the outer side imaging part (left) coordinate system. In step S23, a matrix representing the position and orientation of the outer imaging unit (left) 23a is calculated based on the markers included in the left-eye actual image 72L, and the outer imaging unit is calculated based on the markers included in the right-eye actual image 72R. (Right) A matrix representing the position and orientation of 23b is calculated.

なお、外側撮像部(左)23aおよび外側撮像部(右)23bは、これらの撮像方向が平行で、かつ、撮像方向に対して回転しないようにして配設されている。すなわち、外側撮像部(左)23aの姿勢と外側撮像部(右)23bの姿勢とは常に一致する。また、外側撮像部(左)23aと外側撮像部(右)23bとは、所定の間隔で配置されている。このため、例えば、左目用実画像72Lに基づいて外側撮像部(左)23aの位置および姿勢が算出されると、右目用実画像72Rを用いなくても、外側撮像部(右)23bの位置および姿勢は算出可能である。ステップS22の後、情報処理部31は、次にステップS23の処理を実行する。   The outer imaging unit (left) 23a and the outer imaging unit (right) 23b are arranged so that their imaging directions are parallel and do not rotate with respect to the imaging direction. That is, the attitude of the outer imaging unit (left) 23a and the attitude of the outer imaging unit (right) 23b always match. The outer imaging unit (left) 23a and the outer imaging unit (right) 23b are arranged at a predetermined interval. For this reason, for example, when the position and orientation of the outer imaging unit (left) 23a are calculated based on the left-eye actual image 72L, the position of the outer imaging unit (right) 23b can be obtained without using the right-eye actual image 72R. And the posture can be calculated. After step S22, the information processing section 31 next executes the process of step S23.

ステップS23において、情報処理部31は、左右の仮想カメラの位置および姿勢を決定する。ここでは、左右の仮想カメラの位置および姿勢は、外側撮像部23の位置および姿勢と一致する。すなわち、左仮想カメラ58aの仮想空間における位置および姿勢は、外側撮像部(左)23aの位置および姿勢と一致するように設定される。また、右仮想カメラ58bの仮想空間における位置および姿勢は、外側撮像部(右)23bの位置および姿勢と一致するように設定される。具体的には、左仮想カメラ58aの位置および姿勢は、行列(左ビュー行列)として表され、ステップS22で算出された外側撮像部(左)23aの位置および姿勢を表す行列が、左仮想カメラ情報74LとしてRAMに保存される。同様に、右仮想カメラ58bの位置および姿勢は、行列(右ビュー行列)として表され、ステップS22で算出された外側撮像部(右)23bの位置および姿勢を表す行列が、右仮想カメラ情報74RとしてRAMに保存される。なお、上述のように外側撮像部(左)23aの姿勢と外側撮像部(右)23bの姿勢とは常に一致するため、左仮想カメラ58aの姿勢と右仮想カメラ58bの姿勢とも一致する。ステップS23の後、情報処理部31は、次にステップS24の処理を実行する。   In step S23, the information processing section 31 determines the positions and orientations of the left and right virtual cameras. Here, the positions and orientations of the left and right virtual cameras coincide with the position and orientation of the outer imaging unit 23. That is, the position and orientation of the left virtual camera 58a in the virtual space are set to match the position and orientation of the outer imaging unit (left) 23a. Further, the position and orientation of the right virtual camera 58b in the virtual space are set so as to coincide with the position and orientation of the outer imaging section (right) 23b. Specifically, the position and orientation of the left virtual camera 58a are represented as a matrix (left view matrix), and the matrix representing the position and orientation of the outer imaging unit (left) 23a calculated in step S22 is the left virtual camera. Information 74L is stored in the RAM. Similarly, the position and orientation of the right virtual camera 58b are represented as a matrix (right view matrix), and the matrix representing the position and orientation of the outer imaging unit (right) 23b calculated in step S22 is the right virtual camera information 74R. Is stored in the RAM. As described above, since the posture of the outer imaging unit (left) 23a and the posture of the outer imaging unit (right) 23b always match, the posture of the left virtual camera 58a and the posture of the right virtual camera 58b also match. After step S23, the information processing section 31 next executes the process of step S24.

ステップS24において、情報処理部31は、検出結果フラグをONに設定してRAMに記憶する。ステップS24の後、情報処理部31は、図13に示すマーカ認識処理を終了する。   In step S24, the information processing section 31 sets the detection result flag to ON and stores it in the RAM. After step S24, the information processing section 31 ends the marker recognition process shown in FIG.

一方、ステップS25において、情報処理部31は、検出結果フラグをOFFに設定してRAMに記憶する。ここでは、左目用実画像72Lおよび右目用実画像72Rの何れか一方にマーカが検出されなかったため、マーカの検出結果を示す検出結果フラグがOFFに設定される。ステップS25の後、情報処理部31は、図13に示すマーカ認識処理を終了する。   On the other hand, in step S25, the information processing section 31 sets the detection result flag to OFF and stores it in the RAM. Here, since no marker is detected in either the left-eye actual image 72L or the right-eye actual image 72R, the detection result flag indicating the marker detection result is set to OFF. After step S25, the information processing section 31 ends the marker recognition process shown in FIG.

(保存処理の説明)
次に、保存処理(ステップS7)の詳細について説明する。図14は、保存処理(ステップS7)の詳細を示すフローチャートである。
(Description of saving process)
Next, details of the storage process (step S7) will be described. FIG. 14 is a flowchart showing details of the storage process (step S7).

まず、ステップS31において、情報処理部31は、RAMを参照して保存フラグ77がONか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS32の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS34の処理を実行する。   First, in step S31, the information processing section 31 refers to the RAM and determines whether or not the storage flag 77 is ON. If the determination result is negative, the information processing section 31 next executes a process of step S32. On the other hand, if the determination result is affirmative, the information processing section 31 next executes a process of step S34.

ステップS32において、情報処理部31は、カーソル等を非表示に設定する。ここでは、カーソル55や表示バー56が非表示に設定される。次に、情報処理部31は、ステップS33の処理を実行する。   In step S32, the information processing section 31 sets the cursor or the like to non-display. Here, the cursor 55 and the display bar 56 are set to non-display. Next, the information processing section 31 performs the process at step S33.

ステップS33において、情報処理部31は、保存フラグ77をONに設定し、当該保存処理を終了する。   In step S33, the information processing section 31 sets the save flag 77 to ON, and ends the save process.

一方、ステップS31において、保存フラグがONに設定されていると判定された場合、情報処理部31は、ステップS34の処理を実行する。ステップS34において、情報処理部31は、表示されている画像(すなわち、左右の画像)を左右静止画像78としてRAMに保存する。なお、静止画像が既にRAMに保存されている場合は、ステップS34の処理は行われない。ここで保存される画像は、前のフレームで上側LCD22に表示された画像であり、上記カーソル等が表示されていない、左目用重畳画像および右目用重畳画像である。情報処理部31は、ステップS34の処理を実行した後、当該保存処理を終了する。   On the other hand, when it is determined in step S31 that the save flag is set to ON, the information processing section 31 executes the process of step S34. In step S34, the information processing section 31 stores the displayed image (that is, the left and right images) in the RAM as the left and right still images 78. Note that if the still image is already stored in the RAM, the process of step S34 is not performed. The image stored here is an image displayed on the upper LCD 22 in the previous frame, and is a left-eye superimposed image and a right-eye superimposed image on which the cursor or the like is not displayed. After executing the process of step S34, the information processing section 31 ends the storage process.

(移動処理の説明)
次に、仮想キャラクタの移動処理(ステップS8)の詳細について説明する。図15は、キャラクタ移動処理(ステップS8)の詳細を示すフローチャートである。
(Description of move processing)
Next, the details of the virtual character movement process (step S8) will be described. FIG. 15 is a flowchart showing details of the character movement process (step S8).

まず、ステップS41において、情報処理部31は、ビュー行列を取得する。ここで取得されるビュー行列は、左右の仮想カメラの中間に仮想カメラ(当該仮想カメラは実際には仮想空間に設定されない)を設定した場合の、当該仮想カメラの仮想空間(XYZ座標系)における位置および姿勢を表す行列である。具体的には、情報処理部31は、左仮想カメラ情報74Lおよび右仮想カメラ情報74Rに基づいて、左仮想カメラ58aと右仮想カメラ58bとの中点(マーカ座標系の座標値)を算出する。そして、情報処理部31は、左仮想カメラ58aの姿勢(これは右仮想カメラ58bの姿勢と一致する)を左ビュー行列から取得し、算出した中点と当該取得した姿勢とを示す行列をビュー行列として算出する。次に、情報処理部31は、ステップS42の処理を実行する。   First, in step S41, the information processing section 31 acquires a view matrix. The view matrix acquired here is the virtual camera in the virtual space (XYZ coordinate system) when a virtual camera (the virtual camera is not actually set in the virtual space) is set between the left and right virtual cameras. It is a matrix showing a position and a posture. Specifically, the information processing section 31 calculates the midpoint (the coordinate value of the marker coordinate system) between the left virtual camera 58a and the right virtual camera 58b based on the left virtual camera information 74L and the right virtual camera information 74R. . Then, the information processing section 31 acquires the posture of the left virtual camera 58a (which matches the posture of the right virtual camera 58b) from the left view matrix, and views a matrix indicating the calculated midpoint and the acquired posture. Calculate as a matrix. Next, the information processing section 31 performs the process at step S42.

ステップS42において、情報処理部31は、ビュー行列に基づいてカメラ方向を算出する。ここで算出されるカメラ方向は、上記左右の仮想カメラ(58aおよび58b)の中間の仮想カメラの撮像方向を示す。図18は、ステップS42で算出されるカメラ方向を示す図である。図18に示すように、カメラ方向は、左右の仮想カメラの撮像方向と同じであり、ベクトルとして表わされる。次に、情報処理部31は、ステップS43の処理を実行する。   In step S42, the information processing section 31 calculates the camera direction based on the view matrix. The camera direction calculated here indicates an imaging direction of a virtual camera intermediate between the left and right virtual cameras (58a and 58b). FIG. 18 is a diagram illustrating the camera direction calculated in step S42. As shown in FIG. 18, the camera direction is the same as the imaging direction of the left and right virtual cameras, and is represented as a vector. Next, the information processing section 31 performs the process at step S43.

ステップS43において、情報処理部31は、カメラ方向とアナログスティック15の操作情報に基づいて、仮想キャラクタの移動方向を算出する。ここでは、マーカ座標系における仮想キャラクタの移動方向が算出される。具体的には、まず、カメラ方向を示すベクトルを、仮想空間(マーカ座標系)のXZ平面に投影したXZ平面投影ベクトルが算出される。図19は、カメラ方向ベクトルをXZ平面に投影したXZ平面投影ベクトルを示す図である。また、情報処理部31は、アナログスティック15の操作情報に基づいて、アナログスティック15の入力方向を算出する。図20は、アナログスティック15の入力方向を示す図である。図20に示すように、アナログスティック15の入力方向は、アナログスティック15によって指示された方向(アナログスティック15がスライドされた方向)であり、xy平面(図1参照)上のベクトルとして表される。情報処理部31は、操作情報76を参照して、図20に示すようにアナログスティック15の入力方向を示すベクトルを算出する。   In step S <b> 43, the information processing section 31 calculates the moving direction of the virtual character based on the camera direction and the operation information of the analog stick 15. Here, the moving direction of the virtual character in the marker coordinate system is calculated. Specifically, first, an XZ plane projection vector obtained by projecting a vector indicating the camera direction onto the XZ plane of the virtual space (marker coordinate system) is calculated. FIG. 19 is a diagram illustrating an XZ plane projection vector obtained by projecting the camera direction vector onto the XZ plane. Further, the information processing unit 31 calculates the input direction of the analog stick 15 based on the operation information of the analog stick 15. FIG. 20 is a diagram illustrating the input direction of the analog stick 15. As shown in FIG. 20, the input direction of the analog stick 15 is a direction designated by the analog stick 15 (direction in which the analog stick 15 is slid), and is represented as a vector on the xy plane (see FIG. 1). . The information processing section 31 refers to the operation information 76 and calculates a vector indicating the input direction of the analog stick 15 as shown in FIG.

次に、情報処理部31は、上記XZ平面投影ベクトルとアナログスティック15の入力方向ベクトルとに基づいて、仮想キャラクタの移動方向を算出する。具体的には、アナログスティック15に対する入力に応じて、XZ平面投影ベクトルをY軸周りに回転させることによって、移動方向が算出される。より具体的には、情報処理部31は、図20に示すように上記入力方向ベクトルとy軸との角度θを算出し、XZ平面投影ベクトルを当該角度θだけY軸(図19参照)周りに回転させた方向を、移動方向として算出する。このようにして、情報処理部31は、仮想キャラクタの移動方向を算出する。   Next, the information processing section 31 calculates the moving direction of the virtual character based on the XZ plane projection vector and the input direction vector of the analog stick 15. Specifically, the movement direction is calculated by rotating the XZ plane projection vector around the Y axis in accordance with the input to the analog stick 15. More specifically, the information processing section 31 calculates an angle θ between the input direction vector and the y axis as shown in FIG. 20, and the XZ plane projection vector is rotated by the angle θ around the Y axis (see FIG. 19). The direction of rotation is calculated as the moving direction. In this way, the information processing section 31 calculates the moving direction of the virtual character.

例えば、アナログスティック15を用いて上方向(図1に示す上方向(y軸正方向))が指示された場合は、XZ平面投影ベクトルは回転されず(回転角度が0度)、移動方向は、XZ平面投影ベクトルと同じ方向になる。また、アナログスティック15を用いて下方向(図1に示す下方向(y軸負方向))が指示された場合は、XZ平面投影ベクトルはY軸周りに180度回転され、移動方向は、XZ平面投影ベクトルと反対方向になる。また、アナログスティック15を用いて右方向(図1に示す右方向(x軸正方向))が指示された場合は、XZ平面投影ベクトルはY軸周りに90度回転され、移動方向は、回転前のXZ平面投影ベクトルに対して右向きになる。   For example, when the upward direction (upward direction (y-axis positive direction) shown in FIG. 1) is instructed using the analog stick 15, the XZ plane projection vector is not rotated (rotation angle is 0 degree), and the moving direction is , In the same direction as the XZ plane projection vector. When the downward direction (downward direction (y-axis negative direction) shown in FIG. 1) is designated using the analog stick 15, the XZ plane projection vector is rotated by 180 degrees around the Y-axis, and the moving direction is XZ. The direction is opposite to the plane projection vector. When the analog stick 15 is used to specify the right direction (the right direction (x-axis positive direction) shown in FIG. 1), the XZ plane projection vector is rotated 90 degrees around the Y axis, and the moving direction is rotated. It faces right with respect to the previous XZ plane projection vector.

なお、ステップS42で算出されたカメラ方向がY軸と平行な方向である場合、すなわち、仮想カメラの撮像方向がY軸と平行な方向である場合、仮想キャラクタの移動方向は、上記カメラ方向を用いて算出されない。カメラ方向がY軸と平行(Y軸負方向)になるのは、マーカ61を正確に真上から外側撮像部23で撮像した場合である。カメラ方向がY軸と平行な方向である場合、当該カメラ方向をXZ平面に投影したXZ平面投影ベクトルは、図21に示すように、方向を持たない点ベクトルとなる。図21は、仮想カメラの撮像方向がY軸と平行な方向である場合のXZ平面投影ベクトルを示す図である。このため、上記のようにカメラ方向を用いて仮想キャラクタの移動方向を算出することができない。従って、この場合、カメラ方向(仮想カメラの撮像方向)の替わりに、仮想カメラの上方向(図19および図21に示すYc軸方向)が算出される。図22は、カメラ方向がY軸と平行である場合において、仮想カメラの上方向とアナログスティック15の入力方向とを示す図である。図22に示すように、算出された仮想カメラの上方向と、アナログスティック15の入力方向とに基づいて、仮想キャラクタの移動方向が算出される。すなわち、仮想カメラの上方向ベクトルがXZ平面に投影されて、当該投影されたベクトルをマーカ座標系のY軸周りに角度θ(仮想カメラの上方向とアナログスティック15の入力方向とがなす角度)で回転させた方向が、仮想キャラクタの移動方向として算出される。   When the camera direction calculated in step S42 is a direction parallel to the Y axis, that is, when the imaging direction of the virtual camera is a direction parallel to the Y axis, the moving direction of the virtual character is the above camera direction. Not calculated using. The camera direction is parallel to the Y axis (Y axis negative direction) when the marker 61 is imaged by the outer imaging unit 23 from directly above. When the camera direction is parallel to the Y axis, the XZ plane projection vector obtained by projecting the camera direction onto the XZ plane is a point vector having no direction as shown in FIG. FIG. 21 is a diagram illustrating an XZ plane projection vector when the imaging direction of the virtual camera is a direction parallel to the Y axis. For this reason, the moving direction of the virtual character cannot be calculated using the camera direction as described above. Therefore, in this case, instead of the camera direction (imaging direction of the virtual camera), the upward direction of the virtual camera (Yc axis direction shown in FIGS. 19 and 21) is calculated. FIG. 22 is a diagram illustrating the upward direction of the virtual camera and the input direction of the analog stick 15 when the camera direction is parallel to the Y axis. As shown in FIG. 22, the moving direction of the virtual character is calculated based on the calculated upward direction of the virtual camera and the input direction of the analog stick 15. That is, the upward vector of the virtual camera is projected onto the XZ plane, and the projected vector is angled around the Y axis of the marker coordinate system (the angle formed by the upward direction of the virtual camera and the input direction of the analog stick 15). The direction rotated at is calculated as the moving direction of the virtual character.

このようにして算出された移動方向は、仮想空間内の移動方向、すなわち、マーカ座標系での移動方向である。仮想空間内で仮想キャラクタが算出された移動方向に移動すると、仮想キャラクタは、上側LCD22に表示された場合にアナログスティック15を用いて指示された方向(スライドされた方向)と同じ方向に移動する。すなわち、仮想キャラクタの表示上の移動方向は、アナログスティック15をスライドさせた方向と一致する。次に、情報処理部31は、ステップS44の処理を実行する。   The movement direction thus calculated is the movement direction in the virtual space, that is, the movement direction in the marker coordinate system. When the virtual character moves in the calculated movement direction in the virtual space, the virtual character moves in the same direction as the direction (slid direction) instructed using the analog stick 15 when displayed on the upper LCD 22. . That is, the moving direction of the virtual character on the display coincides with the direction in which the analog stick 15 is slid. Next, the information processing section 31 performs the process at step S44.

ステップS44において、情報処理部31は、ステップS43で算出した移動方向に仮想キャラクタを移動させる。具体的には、情報処理部31は、RAMに記憶された仮想キャラクタ情報のうち、選択されている仮想キャラクタの仮想空間における位置を更新することにより、仮想キャラクタを移動させる。すなわち、情報処理部31は、選択されている仮想キャラクタの仮想空間における位置に、ステップS43で算出した移動方向のベクトル(当該ベクトルは予め定められた大きさを有する)を加えることにより、当該仮想キャラクタの位置を更新して、RAMに記憶する。次に、情報処理部31は、ステップS45の処理を実行する。   In step S44, the information processing section 31 moves the virtual character in the movement direction calculated in step S43. Specifically, the information processing unit 31 moves the virtual character by updating the position of the selected virtual character in the virtual space among the virtual character information stored in the RAM. That is, the information processing section 31 adds the vector of the moving direction calculated in step S43 (the vector has a predetermined size) to the position of the selected virtual character in the virtual space, thereby The character position is updated and stored in the RAM. Next, the information processing section 31 performs the process at step S45.

ステップS45において、情報処理部31は、仮想キャラクタが所定範囲外に移動したか否かを判定する。具体的には、情報処理部31は、ステップS44で移動させた仮想キャラクタの位置が、マーカ座標系の原点を中心とした所定範囲を超えているか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS46の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、図15に示す移動処理を終了する。   In step S45, the information processing section 31 determines whether or not the virtual character has moved out of the predetermined range. Specifically, the information processing section 31 determines whether or not the position of the virtual character moved in step S44 exceeds a predetermined range centered on the origin of the marker coordinate system. If the determination result is affirmative, the information processing section 31 next executes a process of step S46. On the other hand, if the determination result is negative, the information processing section 31 ends the movement process shown in FIG.

ステップS46において、情報処理部31は、仮想キャラクタの位置を上記所定範囲内に修正する。ここでは、仮想キャラクタがマーカ座標系の原点から遠く離れすぎないようにするための処理である。仮想キャラクタがマーカ座標系の原点から遠く離れすぎて仮想カメラの撮像範囲を超えると、ユーザは、そのキャラクタを見るために外側撮像部23を用いてマーカ61から離れた位置を撮像しようとする。そうすると、外側撮像部23の撮像範囲にマーカ61が含まれなくなり、マーカ座標系を定義することができず、ユーザは仮想キャラクタを見ることができなくなる。このようなことを防止するために、ステップS46において、ステップS44で移動された仮想キャラクタの位置を上記所定範囲内に修正する。その後、情報処理部31は、図15に示す移動処理を終了する。   In step S46, the information processing section 31 corrects the position of the virtual character within the predetermined range. Here, it is processing for preventing the virtual character from being too far away from the origin of the marker coordinate system. When the virtual character is too far from the origin of the marker coordinate system and exceeds the imaging range of the virtual camera, the user attempts to image a position away from the marker 61 using the outer imaging unit 23 in order to see the character. Then, the marker 61 is not included in the imaging range of the outer imaging unit 23, the marker coordinate system cannot be defined, and the user cannot see the virtual character. In order to prevent this, in step S46, the position of the virtual character moved in step S44 is corrected within the predetermined range. Thereafter, the information processing section 31 ends the movement process shown in FIG.

(注目処理の説明)
次に、注目処理(ステップS10)の詳細について説明する。図16は、注目処理(ステップS10)の詳細を示すフローチャートである。まず、ステップS51において、情報処理部31は、仮想キャラクタの体の位置を取得する。具体的には、情報処理部31は、仮想キャラクタ情報73を参照して、複数の仮想キャラクタのうち、未だ注目処理(ステップS51〜ステップS56の処理)が行われていない仮想キャラクタの体の位置を取得する。上述のように、仮想キャラクタ情報73には、仮想キャラクタ毎に形状データ等とともに、各部位の位置や姿勢情報が含まれており、情報処理部31は、仮想キャラクタ情報73を参照して、仮想キャラクタの体の位置を取得する。次に、情報処理部31は、ステップS52の処理を実行する。
(Explanation of attention processing)
Next, details of the attention process (step S10) will be described. FIG. 16 is a flowchart showing details of attention processing (step S10). First, in step S51, the information processing section 31 acquires the position of the virtual character's body. Specifically, the information processing section 31 refers to the virtual character information 73, and among the plurality of virtual characters, the position of the body of the virtual character that has not yet undergone attention processing (steps S51 to S56) To get. As described above, the virtual character information 73 includes position data and position information of each part along with shape data and the like for each virtual character. The information processing unit 31 refers to the virtual character information 73 and performs virtual processing. Get the body position of the character. Next, the information processing section 31 performs the process at step S52.

ステップS52において、情報処理部31は、仮想カメラの位置と仮想キャラクタの頭部の位置とに基づいて、仮想キャラクタの視線方向を算出する。図23は、仮想キャラクタの視線方向を示す図である。ここで、「仮想カメラの位置」は、図23に示すように、左仮想カメラ58aの位置と右仮想カメラ58bの位置との中間である。具体的には、情報処理部31は、上記ステップS41で取得したビュー行列(左右の仮想カメラの中点、および、左右の仮想カメラと同じ姿勢を示す行列)に基づいて、「仮想カメラの位置」(左右の仮想カメラの中点)を取得する。また、情報処理部31は、ステップS51で取得した仮想キャラクタの体の位置に基づいて、当該仮想キャラクタの頭部の位置を算出する。仮想キャラクタの体と頭部は、予め定められた位置関係を有しており、情報処理部31は、仮想キャラクタの体の位置に、所定のベクトルを加えることによって当該仮想キャラクタの頭部の位置を算出する。そして、情報処理部31は、上記仮想キャラクタの頭部の位置から上記仮想カメラの位置に向かうベクトルを算出して、仮想キャラクタの視線方向としてRAMに記憶する。次に、情報処理部31は、ステップS53の処理を実行する。なお、仮想キャラクタの体と頭部の位置関係は、当該仮想キャラクタのポーズ毎に異なるため、現在の仮想キャラクタのポーズに応じて仮想キャラクタの頭部の位置が算出される。   In step S52, the information processing section 31 calculates the visual line direction of the virtual character based on the position of the virtual camera and the position of the head of the virtual character. FIG. 23 is a diagram illustrating the viewing direction of the virtual character. Here, as shown in FIG. 23, the “virtual camera position” is an intermediate position between the position of the left virtual camera 58a and the position of the right virtual camera 58b. Specifically, the information processing unit 31 determines that “the position of the virtual camera is based on the view matrix (a matrix indicating the midpoint of the left and right virtual cameras and the same posture as the left and right virtual cameras) acquired in step S41. "(The midpoint of the left and right virtual cameras). In addition, the information processing unit 31 calculates the position of the head of the virtual character based on the position of the body of the virtual character acquired in step S51. The body and head of the virtual character have a predetermined positional relationship, and the information processing unit 31 adds the predetermined vector to the body position of the virtual character to add the position of the head of the virtual character. Is calculated. Then, the information processing section 31 calculates a vector from the position of the head of the virtual character toward the position of the virtual camera, and stores it in the RAM as the visual line direction of the virtual character. Next, the information processing section 31 performs the process at step S53. Since the positional relationship between the body and head of the virtual character differs for each pose of the virtual character, the position of the head of the virtual character is calculated according to the current pose of the virtual character.

ステップS53において、情報処理部31は、ステップS52で算出した視線方向に基づいて、頭部の各軸(XY軸)周りの回転角度を算出する。ここでは、仮想キャラクタの頭部(顔)を上記視線方向に向かせるために必要なX軸およびY軸周りの回転角度が算出される。具体的には、情報処理部31は、仮想キャラクタ情報73を参照して、仮想キャラクタの体の姿勢を示す行列(現在の体の姿勢行列)を取得する。次に、情報処理部31は、当該仮想キャラクタの頭部を上記視線方向に向けたときの頭部の姿勢行列(視線方向の頭部の姿勢行列)を算出する。そして、情報処理部31は、上記現在の体の姿勢行列と上記視線方向の頭部の姿勢行列とに基づいて、頭部の回転を示す回転行列を算出し、当該回転行列に基づいて、各軸(X軸およびY軸)周りの回転角度を算出する。次に、情報処理部31は、ステップS54の処理を実行する。   In step S53, the information processing section 31 calculates a rotation angle around each axis (XY axis) of the head based on the line-of-sight direction calculated in step S52. Here, the rotation angles around the X axis and the Y axis necessary for making the head (face) of the virtual character face the line of sight are calculated. Specifically, the information processing unit 31 refers to the virtual character information 73 and acquires a matrix (current body posture matrix) indicating the posture of the virtual character's body. Next, the information processing unit 31 calculates a head posture matrix (head posture matrix in the visual line direction) when the head of the virtual character is directed in the visual line direction. Then, the information processing unit 31 calculates a rotation matrix indicating the rotation of the head based on the current body posture matrix and the head posture matrix in the line-of-sight direction, and based on the rotation matrix, The rotation angle around the axes (X axis and Y axis) is calculated. Next, the information processing section 31 performs the process at step S54.

ステップS54において、情報処理部31は、ステップS53で算出した各軸周りの回転角度が所定範囲外か否かを判定する。具体的には、情報処理部31は、X軸周り(垂直方向)の回転角度が所定範囲(例えば、−60度から60度の範囲)外か否か、および、Y軸周り(水平方向)の回転角度が所定範囲(例えば、−80度から80度の範囲)外か否かを判定する。X軸周りの回転角度およびY軸周りの回転角度の何れか一方でも上記所定範囲外であれば(すなわち、判定結果が肯定)、情報処理部31は、次にステップS55の処理を実行する。一方、X軸周りの回転角度およびY軸周りの回転角度の何れもが上記所定範囲外でなければ(すなわち、判定結果が否定)、情報処理部31は、次にステップS56の処理を実行する。   In step S54, the information processing section 31 determines whether or not the rotation angle around each axis calculated in step S53 is outside a predetermined range. Specifically, the information processing section 31 determines whether or not the rotation angle around the X axis (vertical direction) is outside a predetermined range (for example, a range of −60 degrees to 60 degrees), and around the Y axis (horizontal direction). It is determined whether the rotation angle is outside a predetermined range (for example, a range of -80 degrees to 80 degrees). If either one of the rotation angle around the X axis and the rotation angle around the Y axis is outside the predetermined range (that is, the determination result is affirmative), the information processing section 31 next executes the process of step S55. On the other hand, if neither the rotation angle around the X axis nor the rotation angle around the Y axis is outside the predetermined range (that is, the determination result is negative), the information processing section 31 next executes the process of step S56. .

ステップS55において、情報処理部31は、各軸周りの回転角度を上記所定範囲内に修正する。ステップS55においては、各軸周りの回転角度が上記所定範囲外である場合、当該所定範囲内になるように各軸周りの回転角度が上限値または下限値に修正される。例えば、情報処理部31は、X軸周りの回転角度が上記所定範囲の上限値(60度)を超えている場合、X軸周りの回転角度を当該上限値(60度)に修正する。このように、頭部の回転角度が修正されることにより、例えば、頭部が体に対して水平方向に180度回転したり、頭部が体に対して垂直方向に150度回転したりするように、頭部が不自然に回転することを防止することができる。情報処理部31は、次にステップS56の処理を実行する。   In step S55, the information processing section 31 corrects the rotation angle around each axis within the predetermined range. In step S55, when the rotation angle around each axis is outside the predetermined range, the rotation angle around each axis is corrected to the upper limit value or the lower limit value so as to be within the predetermined range. For example, when the rotation angle around the X axis exceeds the upper limit value (60 degrees) of the predetermined range, the information processing section 31 corrects the rotation angle around the X axis to the upper limit value (60 degrees). Thus, by correcting the rotation angle of the head, for example, the head rotates 180 degrees horizontally with respect to the body, or the head rotates 150 degrees vertically with respect to the body. As described above, the head can be prevented from rotating unnaturally. Next, the information processing section 31 executes the process of step S56.

ステップS56において、情報処理部31は、頭部の姿勢行列を決定する。具体的には、情報処理部31は、直前のステップS55で頭部の回転角度が修正された場合は、当該修正された回転角度で頭部を回転させた場合の頭部の姿勢行列を算出する。また、情報処理部31は、ステップS55で頭部の回転角度が修正されなかった場合、ステップS53で算出した視線方向の頭部の姿勢行列を、新たな頭部の姿勢行列として決定し、仮想キャラクタ情報73を更新する。情報処理部31は、次にステップS57の処理を実行する。   In step S56, the information processing section 31 determines a head posture matrix. Specifically, when the rotation angle of the head is corrected in the immediately preceding step S55, the information processing section 31 calculates the posture matrix of the head when the head is rotated at the corrected rotation angle. To do. If the rotation angle of the head is not corrected in step S55, the information processing section 31 determines the head posture matrix in the line-of-sight direction calculated in step S53 as a new head posture matrix. The character information 73 is updated. Next, the information processing section 31 executes the process of step S57.

ステップS57において、情報処理部31は、全ての仮想キャラクタに対して注目処理(ステップS51〜ステップS56に示す処理)を実行したか否かを判定する。判定結果が否定の場合、情報処理部31は、ステップS51の処理を再び実行する。判定結果が肯定の場合、情報処理部31は、図16に示す注目処理を終了する。   In step S57, the information processing section 31 determines whether or not attention processing (processing shown in steps S51 to S56) has been executed for all virtual characters. If the determination result is negative, the information processing section 31 performs the process of step S51 again. When the determination result is affirmative, the information processing section 31 ends the attention process illustrated in FIG.

なお、上述した処理は単なる一例であって、例えば、上記処理の順番や各操作に用いら

れるボタン、各判定に用いられた閾値(S45やS54で用いられた値)等は、どのようなものであってもよい。
Note that the above-described processing is merely an example, and may be used, for example, in the order of the processing or for each operation.

Buttons, threshold values (values used in S45 and S54) used for each determination, and the like may be any.

以上のように、本実施形態では、実空間と仮想空間とが対応付けられ、当該仮想空間に仮想オブジェクトが配置される。そして、外側撮像部23で実空間を撮像するとともに、仮想カメラで仮想オブジェクトを撮像することにより、あたかも実空間に仮想オブジェクトが存在するような感覚をユーザに与えることができる写真を撮影することができる。   As described above, in the present embodiment, the real space and the virtual space are associated with each other, and the virtual object is arranged in the virtual space. Then, by taking an image of the real space with the outer imaging unit 23 and taking an image of the virtual object with the virtual camera, it is possible to take a photograph that can give the user a sense that the virtual object exists in the real space. it can.

また、本実施形態では、ユーザの操作によって、仮想空間に存在する仮想キャラクタを移動させたり、仮想キャラクタのポーズを変更したり、仮想キャラクタをカメラに注目させたりすることができる。これにより、仮想キャラクタが実際に実空間に存在するような感覚をユーザに与えることができる。例えば、仮想キャラクタの顔が仮想カメラ(外側撮像部23)に向くように、仮想キャラクタの顔(頭部)の姿勢を変更する。これにより、当該仮想キャラクタがあたかも実空間に存在するような感覚を与えることができる。さらに、本実施形態では、左右の仮想カメラによって仮想キャラクタを撮像するため、立体的な画像となる。そして、左右の仮想カメラの中心を向くようにして、仮想キャラクタの頭部の姿勢が設定される。このため、仮想キャラクタが実空間に存在するような感覚をユーザに与えることができる。   In the present embodiment, the user can move a virtual character existing in the virtual space, change the pose of the virtual character, or cause the camera to focus on the virtual character. Thereby, it is possible to give the user a feeling that the virtual character actually exists in the real space. For example, the posture of the virtual character's face (head) is changed so that the face of the virtual character faces the virtual camera (outside imaging unit 23). Thereby, it is possible to give a feeling that the virtual character exists in the real space. Furthermore, in this embodiment, since a virtual character is imaged by the left and right virtual cameras, a three-dimensional image is obtained. Then, the posture of the head of the virtual character is set so as to face the center of the left and right virtual cameras. For this reason, it is possible to give the user a feeling that the virtual character exists in the real space.

また、仮想キャラクタをカメラに注目させる場合において、仮想キャラクタの頭部が回転する角度は、所定の範囲(横方向に)に制限される。具体的には、仮想キャラクタの頭部の可動範囲は、水平方向には−80度から80度の範囲、垂直方向には−60度から60度の範囲に制限される。例えば、仮想キャラクタを真後ろから撮像して当該仮想キャラクタをカメラに注目させた場合、当該仮想キャラクタの顔は、真後ろを向かずに斜め方向(体の向きに対して水平方向に80度頭を回転させた方向)を向く。このように、頭の回転角度を制限することにより、仮想キャラクタが実空間に存在してカメラの方向を向いているような感覚を得ることができる。すなわち、人間の首が180度後方を向くことは通常では考えられず、仮想キャラクタの動作はこのような現実の人間の動作に近い自然な動作となる。このため、仮想キャラクタが実際に実空間に存在するような感覚をユーザに与えることができる。   Further, when the virtual character is focused on the camera, the angle at which the head of the virtual character rotates is limited to a predetermined range (laterally). Specifically, the movable range of the head of the virtual character is limited to a range of −80 degrees to 80 degrees in the horizontal direction and a range of −60 degrees to 60 degrees in the vertical direction. For example, when a virtual character is imaged from directly behind and the virtual character is focused on the camera, the face of the virtual character rotates in the oblique direction (80 degrees in the horizontal direction with respect to the body direction) without facing directly behind Facing the direction). Thus, by limiting the rotation angle of the head, it is possible to obtain a feeling that the virtual character exists in the real space and faces the direction of the camera. That is, it is not normally considered that the human neck turns 180 degrees backward, and the motion of the virtual character is a natural motion close to such a real human motion. Therefore, it is possible to give the user a feeling that the virtual character actually exists in the real space.

(変形例)
なお、本実施形態では、仮想オブジェクトとして人を模した仮想キャラクタを仮想空間に配置した。他の実施形態では、仮想オブジェクトは、どのようなオブジェクトであってもよく、例えば、動物を模したオブジェクト、植物を模したオブジェクト、ロボットのオブジェクト等であってもよい。
(Modification)
In the present embodiment, a virtual character imitating a person as a virtual object is arranged in the virtual space. In another embodiment, the virtual object may be any object, for example, an object imitating an animal, an object imitating a plant, an object of a robot, or the like.

また、本実施形態では、ボタン操作によって仮想キャラクタを移動させたり、ポーズを変更したりした。他の実施形態では、複数の仮想キャラクタの位置や姿勢のパターンが予め記憶されてもよい。例えば、5人の仮想キャラクタが直線状に配置してそれぞれが異なるポーズを取るようなパターンや、5人の仮想キャラクタが5角形を形成するように配置されてそれぞれが同じポーズを取るようなパターンが予め記憶されてもよい。そして、ユーザによる操作に応じて、各仮想キャラクタの位置や姿勢を予め記憶されたパターンに変更してもよい。   In this embodiment, the virtual character is moved or the pose is changed by a button operation. In other embodiments, patterns of positions and postures of a plurality of virtual characters may be stored in advance. For example, a pattern in which five virtual characters are arranged in a straight line and each has a different pose, or a pattern in which five virtual characters are arranged to form a pentagon and each has the same pose May be stored in advance. And according to operation by a user, you may change the position and attitude | position of each virtual character into the pattern memorize | stored previously.

また、本実施形態では、上記ボタン操作に応じて、仮想キャラクタを移動させたり、表情やポーズを変化させたり、注目させたりしたが、上記ボタン操作は単なる一例であって、どのボタンが押された場合にどのような動作をさせるかは、任意に設定されてもよい。他の実施形態では、下側LCD12に操作のためのアイコンが複数表示され、当該画面(タッチパネル13)に対するタッチ操作によって、アイコンが選択されて、仮想キャラクタの位置や姿勢、表情等が変更されてもよいし、タッチ操作によって仮想キャラクタを注目させてもよい。また、他の実施形態では、加速度センサ39や角速度センサ46が入力手段として機能してもよい。具体的には、加速度センサ39や角速度センサ46の検出結果に基づいて、ゲーム装置10に対する所定のジェスチャ操作(例えば、ゲーム装置10を上下方向に移動させたり、ゲーム装置10を傾けたりする操作)が行われたか否かを判定し、当該判定結果に応じて、仮想キャラクタを移動させたり、注目させたりしてもよい。   In this embodiment, the virtual character is moved, the expression or pose is changed, or attention is given in accordance with the button operation. However, the button operation is merely an example, and which button is pressed. In this case, what kind of operation is performed may be arbitrarily set. In another embodiment, a plurality of icons for operation are displayed on the lower LCD 12, and the icons are selected by touch operation on the screen (touch panel 13), and the position, posture, expression, etc. of the virtual character are changed. Alternatively, the virtual character may be noted by a touch operation. In other embodiments, the acceleration sensor 39 and the angular velocity sensor 46 may function as input means. Specifically, based on the detection results of the acceleration sensor 39 and the angular velocity sensor 46, a predetermined gesture operation on the game apparatus 10 (for example, an operation of moving the game apparatus 10 up and down or tilting the game apparatus 10). It may be determined whether or not the virtual character has been performed, and the virtual character may be moved or noticed according to the determination result.

また、本実施形態では、仮想キャラクタの位置および姿勢がユーザの操作によって変更されたが(移動処理および注目処理が実行されたが)、他の実施形態では、仮想キャラクタの位置または姿勢がユーザの操作によって変更されてもよい(移動処理または注目処理の何れか一方が実行されてもよい)。   In the present embodiment, the position and orientation of the virtual character are changed by the user's operation (although the movement process and the attention process are performed), but in other embodiments, the position or orientation of the virtual character is It may be changed by an operation (either the movement process or the attention process may be executed).

また、本実施形態では、注目処理において、仮想キャラクタの顔が仮想カメラを向くように顔(頭部)の姿勢を変更した。他の実施形態では、体全体を仮想カメラの方向に向けてもよい。また、他の実施形態では、顔ではなく、目のみを仮想カメラの方向に向けてもよいし、腕や足等を仮想カメラの方向に向けてもよい。すなわち、注目処理において、仮想キャラクタの体の一部位を仮想カメラの方向に向けてもよい。   In this embodiment, in the attention process, the posture of the face (head) is changed so that the face of the virtual character faces the virtual camera. In other embodiments, the entire body may be directed toward the virtual camera. In other embodiments, not the face but only the eyes may be directed toward the virtual camera, or arms and legs may be directed toward the virtual camera. That is, in the attention process, one part of the body of the virtual character may be directed toward the virtual camera.

また、本実施形態では、注目処理において左右の仮想カメラの中心に仮想キャラクタの顔を向けたが、他の実施形態では、左右の仮想カメラのどちらか一方に仮想キャラクタの顔を向けてもよい。   In this embodiment, the face of the virtual character is directed to the center of the left and right virtual cameras in the attention process. However, in another embodiment, the face of the virtual character may be directed to one of the left and right virtual cameras. .

また、本実施形態では、立体視可能な画像(立体画像)を撮像して保存した。すなわち、本実施形態では、実空間を2つのカメラ(外側撮像部(左)23aおよび外側撮像部(右)23b)で撮像し、仮想空間を2つの仮想カメラ(左仮想カメラ58aおよび右仮想カメラ58b)で撮像して、保存した。他の実施形態では、平面画像を撮像して保存してもよい。すなわち、他の実施形態では、1つの実カメラで実空間を撮像し、1つの仮想カメラで仮想空間を撮像してもよい。   In the present embodiment, a stereoscopically viewable image (stereoscopic image) is captured and stored. That is, in this embodiment, real space is imaged by two cameras (the outer imaging unit (left) 23a and the outer imaging unit (right) 23b), and the virtual space is captured by two virtual cameras (the left virtual camera 58a and the right virtual camera). 58b) and imaged and saved. In other embodiments, a planar image may be captured and stored. That is, in another embodiment, real space may be imaged with one real camera, and virtual space may be imaged with one virtual camera.

また、本実施形態では、マーカ61を外側撮像部23で撮像することによって、外側撮像部23とマーカ61との位置関係(相対的な位置および姿勢)を算出した。そして、算出した位置関係に基づいて、仮想空間(マーカ座標系)を定義した。他の実施形態では、マーカ61に限らず、他の物体を撮像画像から認識して、上記位置関係が算出されてもよい。例えば、実空間に存在する所定の物体(例えば、実空間に存在する椅子やテーブル等でもよい)をパターンマッチング等の画像認識により検出し、上記位置関係が算出されて、仮想空間が定義されてもよい。すなわち、他の実施形態では、実空間に存在する特定対象物(上記マーカや所定の物体)を撮像画像から認識して、当該特定対象物と外側撮像部23との位置関係が算出されてもよい。また、特定対象物は、実カメラによって撮像された画像に基づいて認識されず、他の認識手段(例えば、超音波センサ等でもよい)によって認識されてもよい。   In the present embodiment, the positional relationship (relative position and orientation) between the outer imaging unit 23 and the marker 61 is calculated by imaging the marker 61 with the outer imaging unit 23. A virtual space (marker coordinate system) was defined based on the calculated positional relationship. In other embodiments, not only the marker 61 but also other objects may be recognized from the captured image, and the positional relationship may be calculated. For example, a predetermined object (for example, a chair or table that exists in the real space) may be detected by image recognition such as pattern matching, and the positional relationship is calculated to define the virtual space. Also good. That is, in another embodiment, even if a specific target (the marker or the predetermined object) existing in the real space is recognized from the captured image, the positional relationship between the specific target and the outer imaging unit 23 is calculated. Good. Further, the specific object may not be recognized based on the image captured by the real camera, but may be recognized by other recognition means (for example, an ultrasonic sensor or the like).

また、他の実施形態では、GPSや加速度センサ、角速度センサ、地磁気センサ等によって、実カメラの位置および姿勢が検出されてもよい。そして、検出された位置および姿勢に基づいて、仮想空間内の仮想カメラの位置および姿勢が設定され、実カメラで撮像した画像と仮想カメラで仮想空間を撮像した画像とを重畳してもよい。例えば、実空間に対応した仮想空間の所定の位置に仮想オブジェクトが配置され、当該仮想空間の所定の位置に対応する実空間の位置を所定の方向から実カメラで撮影してもよい。この場合、GPSや姿勢検出手段(加速度センサや角速度センサ、地磁気センサ等)によって実カメラの位置および姿勢を検出することができ、当該実カメラの位置および姿勢に一致するように仮想空間に仮想カメラを設定することができる。このようにして実カメラで撮像された画像と仮想カメラで撮像された画像とを重ね合わせることにより、実空間のその位置に仮想オブジェクトが存在するような写真を撮影することができる。   In other embodiments, the position and orientation of the actual camera may be detected by a GPS, an acceleration sensor, an angular velocity sensor, a geomagnetic sensor, or the like. Then, based on the detected position and orientation, the position and orientation of the virtual camera in the virtual space may be set, and an image captured by the real camera and an image captured by the virtual camera may be superimposed. For example, a virtual object may be arranged at a predetermined position in the virtual space corresponding to the real space, and the position of the real space corresponding to the predetermined position in the virtual space may be photographed with a real camera from a predetermined direction. In this case, the position and posture of the real camera can be detected by GPS or posture detection means (acceleration sensor, angular velocity sensor, geomagnetic sensor, etc.), and the virtual camera is placed in the virtual space so as to match the position and posture of the real camera. Can be set. In this way, by superimposing the image captured by the real camera and the image captured by the virtual camera, it is possible to capture a photograph in which the virtual object exists at that position in the real space.

また、本実施形態では、ビデオシースルー方式を用いて拡張現実感を実現した。すなわち、本実施形態では、外側撮像部23によって撮像された画像と、仮想カメラ(左右の仮想カメラ)によって撮像された画像とが重ね合わされて重畳画像が生成され、当該重畳画像が上側LCD22に表示された。他の実施形態では、光学シースルー方式により拡張現実感を実現してもよい。例えば、実空間に配置されたマーカを検出するためのカメラを備えたヘッドマウンドディスプレイをユーザが装着し、ユーザはメガネのレンズ部分に相当するディスプレイ部を通して実空間を視認できるようになっている。このディプレイ部は、現実空間を透過してユーザの目に直接導くことが可能な素材によって構成されている。さらに、このディスプレイ部にはコンピュータにより生成した仮想オブジェクトの画像を表示させることができるようになっている。   In this embodiment, augmented reality is realized by using the video see-through method. That is, in the present embodiment, the image captured by the outer imaging unit 23 and the image captured by the virtual camera (left and right virtual cameras) are superimposed to generate a superimposed image, and the superimposed image is displayed on the upper LCD 22. It was done. In another embodiment, augmented reality may be realized by an optical see-through method. For example, a user wears a head-mound display equipped with a camera for detecting a marker arranged in the real space, and the user can visually recognize the real space through a display unit corresponding to a lens portion of glasses. This display unit is made of a material that can be directly guided to the eyes of the user through the real space. Furthermore, a virtual object image generated by a computer can be displayed on the display unit.

また、他の実施形態では、上述した撮影処理の方法は、ゲーム装置に限らず任意の電子機器、例えば、PDA(Personal Digital Assistant)や高機能携帯電話、カメラ(装置としてカメラ)等に適用されてもよい。   In another embodiment, the above-described shooting processing method is not limited to a game device, and is applied to an arbitrary electronic device such as a PDA (Personal Digital Assistant), a high-function mobile phone, a camera (a camera as a device), or the like. May be.

また、本実施形態では、表示装置として裸眼で立体視画像を表示可能なLCDが用いられた。他の実施形態では、時分割方式や偏向方式、アナグリフ方式(赤青眼鏡方式)などの眼鏡を用いて立体表示を行うような場合でも、本発明は適用可能である。   In this embodiment, an LCD capable of displaying a stereoscopic image with the naked eye is used as the display device. In other embodiments, the present invention is applicable even when stereoscopic display is performed using glasses such as a time-division method, a deflection method, and an anaglyph method (red and blue glasses method).

また、他の実施形態では、有線や無線等で通信可能に接続された複数の情報処理装置が各処理を分担して処理することにより、上述した撮影処理方法を実現する撮影処理システムとして構築されてもよい。例えば、外側撮像部23が情報処理装置と分離された構成であって、外側撮像部23が情報処理装置に有線または無線で接続されてもよい。また、外側撮像部23の位置および姿勢が情報処理装置と分離した検出手段によって検出され、当該検出結果が情報処理装置に送信されてもよい。   Further, in another embodiment, a plurality of information processing apparatuses connected to be communicable by wire or wireless, for example, share and process each process, and are configured as an imaging processing system that realizes the above-described imaging processing method. May be. For example, the outer imaging unit 23 may be separated from the information processing apparatus, and the outer imaging unit 23 may be connected to the information processing apparatus by wire or wirelessly. Alternatively, the position and orientation of the outer imaging unit 23 may be detected by detection means separated from the information processing apparatus, and the detection result may be transmitted to the information processing apparatus.

また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。   Moreover, in the said embodiment, the process by the flowchart mentioned above was performed because the information processing part 31 of the game device 10 performed a predetermined | prescribed program. In another embodiment, part or all of the above processing may be performed by a dedicated circuit included in the game apparatus 10.

また、上記撮影処理プログラムは、上記メモリに限らず、光ディスクや磁気ディスク等、コンピュータ読み取り可能な記憶媒体に記憶されてゲーム装置10に提供されてもよい。また、例えば、ネットワーク上のサーバのRAMに上記撮影処理プログラムが記憶され、ゲーム装置10が当該ネットワークに接続されて、当該撮影処理プログラムがゲーム装置10に提供されてもよい。   The shooting processing program is not limited to the memory, but may be stored in a computer-readable storage medium such as an optical disk or a magnetic disk and provided to the game apparatus 10. Further, for example, the shooting process program may be stored in a RAM of a server on a network, the game apparatus 10 may be connected to the network, and the shooting process program may be provided to the game apparatus 10.

10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ
51、52、53 仮想キャラクタ
55 カーソル
56 表示バー
58a 左仮想カメラ
58b 右仮想カメラ
61 マーカ
10 Game device 11 Lower housing 12 Lower LCD
13 Touch Panel 14 Operation Buttons 15 Analog Stick 16 LED
21 Upper housing 22 Upper LCD
23 Outside imaging unit 23a Outside imaging unit (left)
23b Outside imaging unit (right)
24 Inner imaging unit 25 3D adjustment switch 26 3D indicator 28 Touch pen 31 Information processing unit 311 CPU
312 GPU
32 Main memory 51, 52, 53 Virtual character 55 Cursor 56 Display bar 58a Left virtual camera 58b Right virtual camera 61 Marker

Claims (16)

実カメラによって撮像された画像に仮想オブジェクト画像を重ね合わせた画像を生成する画像処理装置のコンピュータにおいて実行される画像処理プログラムであって、前記コンピュータを、
前記実カメラによって撮像された被写体の実画像を取得する実画像取得手段、
実空間における前記実カメラの位置および姿勢に応じた位置姿勢情報を取得する位置姿勢情報取得手段、
仮想空間内において、前記位置姿勢情報取得手段によって取得された位置姿勢情報に基づいて仮想カメラの位置および姿勢を設定する仮想カメラ設定手段、
ユーザによる入力手段への入力に応じて、前記仮想空間内に配置された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する仮想オブジェクト変更手段、
前記仮想オブジェクト変更手段によって位置および姿勢の少なくとも一方が変更された前記仮想オブジェクトを前記仮想カメラで撮像することにより仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段、
前記実画像取得手段によって取得された実画像と前記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を生成する重畳画像生成手段、および、
ユーザによる撮影指示に応じて、前記重畳画像を記憶手段に保存する保存手段、として機能させる画像処理プログラム。
An image processing program executed in a computer of an image processing apparatus that generates an image obtained by superimposing a virtual object image on an image captured by a real camera, the computer comprising:
Real image acquisition means for acquiring a real image of a subject imaged by the real camera;
Position and orientation information acquisition means for acquiring position and orientation information corresponding to the position and orientation of the real camera in real space;
Virtual camera setting means for setting the position and orientation of the virtual camera based on the position and orientation information acquired by the position and orientation information acquisition means in the virtual space;
Virtual object changing means for changing at least one of the position and orientation of at least a part of the virtual object arranged in the virtual space in response to an input to the input means by the user;
Virtual object image generation means for generating a virtual object image by imaging with the virtual camera at least one of the position and orientation of the virtual object changing means by the virtual object changing means;
A superimposed image generating unit that generates a superimposed image by superimposing the real image acquired by the real image acquiring unit and the virtual object image generated by the virtual object image generating unit; and
An image processing program that functions as a storage unit that stores the superimposed image in a storage unit in response to a photographing instruction from a user.
前記位置姿勢情報取得手段は、前記実画像取得手段によって取得された実画像に含まれる特定対象物を検出し、当該検出結果に基づいて、前記特定対象物に対する相対的な前記実カメラの位置および姿勢を取得する、請求項1に記載の画像処理プログラム。   The position / orientation information acquisition unit detects a specific object included in the actual image acquired by the actual image acquisition unit, and based on the detection result, the position of the actual camera relative to the specific object and The image processing program according to claim 1, wherein the posture is acquired. 前記画像処理装置は表示手段に接続可能であり、
前記重畳画像生成手段は、前記撮影指示が行われるまで、前記実画像取得手段によって取得された実画像と前記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を繰り返し生成し、
前記撮影指示が行われるまで、前記重畳画像生成手段によって生成された重畳画像を前記表示手段に表示させる表示制御手段として更に機能させる、請求項1又は2に記載の画像処理プログラム。
The image processing apparatus is connectable to a display means;
The superimposed image generation unit repeatedly generates a superimposed image obtained by superimposing the real image acquired by the real image acquisition unit and the virtual object image generated by the virtual object image generation unit until the shooting instruction is performed. And
The image processing program according to claim 1 or 2, further causing a display control unit to display the superimposed image generated by the superimposed image generation unit on the display unit until the photographing instruction is performed.
前記仮想オブジェクトは、第1部位および第2部位を含み、
前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記仮想オブジェクトの前記第1部位が前記仮想カメラへ向くように、当該第1部位の姿勢を変更する部位変更手段を含む、請求項1から3の何れかに記載の画像処理プログラム。
The virtual object includes a first part and a second part,
The virtual object changing unit includes a part changing unit that changes a posture of the first part so that the first part of the virtual object faces the virtual camera in response to an input to the input unit by a user. The image processing program according to any one of claims 1 to 3.
前記部位変更手段は、前記第1部位が前記仮想カメラへ向くように当該第1部位の姿勢を変更した場合において、前記第2部位を基準とした前記第1部位の姿勢が第1の範囲外である場合、前記第1部位の姿勢を当該第1の範囲の上限または下限に設定する、請求項4に記載の画像処理プログラム。   In the case where the posture of the first part is changed so that the first part faces the virtual camera, the posture of the first part with respect to the second part is out of the first range. 5. The image processing program according to claim 4, wherein the posture of the first part is set to an upper limit or a lower limit of the first range. 前記部位変更手段は、ユーザによる前記入力手段への入力があった場合に、前記撮影指示が行われるまで、前記仮想オブジェクトの前記第1部位が前記仮想カメラへ向くように、当該第1部位の姿勢を繰り返し変更する、請求項4又は5に記載の画像処理プログラム。   When the user inputs to the input unit, the part changing unit is configured so that the first part of the virtual object faces the virtual camera until the imaging instruction is performed. The image processing program according to claim 4, wherein the posture is repeatedly changed. 前記実カメラはステレオカメラであり、
前記実画像取得手段は、前記ステレオカメラの左目用実カメラで撮像した左目用実画像と前記ステレオカメラの右目用実カメラで撮像した右目用実画像とを取得し、
前記位置姿勢情報取得手段は、前記ステレオカメラの左目用実カメラおよび右目用実カメラの位置および姿勢に応じた位置姿勢情報をそれぞれ取得し、
前記仮想カメラ設定手段は、前記位置姿勢情報取得手段によって取得された前記左目用実カメラの位置姿勢情報に応じて左仮想カメラの位置および姿勢を設定し、前記位置姿勢情報取得手段によって取得された前記右目用実カメラの位置姿勢情報に応じて右仮想カメラの位置および姿勢を設定し、
前記部位変更手段は、前記仮想オブジェクトの前記第1部位が前記左仮想カメラおよび前記右仮想カメラの中間の位置に向くように、前記第1部位の姿勢を変更し、
前記仮想オブジェクト画像生成手段は、前記部位変更手段によって前記第1部位の姿勢が変更された前記仮想オブジェクトを、前記左仮想カメラおよび前記右仮想カメラで撮像することにより、左目用仮想オブジェクト画像および右目用仮想オブジェクト画像を生成し、
前記重畳画像生成手段は、前記左目用実画像と前記左目用仮想オブジェクト画像とを重ね合わせた左目用重畳画像、および、前記右目用実画像と前記右目用仮想オブジェクト画像とを重ね合わせた右目用重畳画像を生成する、請求項4から6の何れかに記載の画像処理プログラム。
The real camera is a stereo camera,
The real image acquisition means acquires a real image for the left eye captured by the real camera for the left eye of the stereo camera and a real image for the right eye captured by the real camera for the right eye of the stereo camera,
The position and orientation information acquisition means acquires position and orientation information corresponding to the position and orientation of the real camera for the left eye and the real camera for the right eye of the stereo camera,
The virtual camera setting unit sets the position and posture of the left virtual camera according to the position and orientation information of the real camera for the left eye acquired by the position and orientation information acquisition unit, and is acquired by the position and orientation information acquisition unit. Set the position and orientation of the right virtual camera according to the position and orientation information of the real camera for the right eye,
The part changing means changes the posture of the first part so that the first part of the virtual object is directed to an intermediate position between the left virtual camera and the right virtual camera,
The virtual object image generating means captures the virtual object whose posture of the first part has been changed by the part changing means with the left virtual camera and the right virtual camera, so that a virtual object image for the left eye and a right eye Virtual object image for
The superimposed image generating means includes a left-eye superimposed image obtained by superimposing the left-eye real image and the left-eye virtual object image, and a right-eye superimposed image obtained by superimposing the right-eye real image and the right-eye virtual object image. The image processing program according to claim 4, wherein the image processing program generates a superimposed image.
前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記仮想オブジェクトを移動させる移動手段を含む、請求項1から7の何れかに記載の画像処理プログラム。   The image processing program according to claim 1, wherein the virtual object changing unit includes a moving unit that moves the virtual object in response to an input to the input unit by a user. 前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、当該入力の方向と前記表示手段上の前記仮想オブジェクトの移動方向とが同じになるように、当該仮想オブジェクトを移動させる移動手段を含む、請求項3に記載の画像処理プログラム。   The virtual object changing unit moves the virtual object so that the direction of the input and the moving direction of the virtual object on the display unit are the same in response to an input to the input unit by a user. The image processing program according to claim 3, comprising means. 前記移動手段は、ユーザによる前記入力手段への入力に応じて前記仮想オブジェクトを移動させた場合に前記仮想空間における第2の範囲を超えるとき、当該第2の範囲に前記仮想オブジェクトの位置を修正する、請求項8に記載の画像処理プログラム。   When the moving means exceeds the second range in the virtual space when the virtual object is moved in response to an input to the input means by a user, the position of the virtual object is corrected to the second range. The image processing program according to claim 8. 前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記仮想オブジェクトのポーズを変更するポーズ変更手段を含む、請求項1から10の何れかに記載の画像処理プログラム。   The image processing program according to claim 1, wherein the virtual object changing unit includes a pose changing unit that changes a pose of the virtual object in accordance with an input to the input unit by a user. 前記仮想空間内に配置された複数の仮想オブジェクトから1つの仮想オブジェクトを選択する選択手段として前記コンピュータをさらに機能させ、
前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記選択手段により選択された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する、請求項1から11の何れかに記載の画像処理プログラム。
Causing the computer to further function as a selection means for selecting one virtual object from a plurality of virtual objects arranged in the virtual space;
12. The virtual object changing unit according to claim 1, wherein the virtual object changing unit changes at least one of a position and a posture of at least a part of the virtual object selected by the selection unit in response to an input to the input unit by a user. An image processing program according to any one of the above.
前記仮想空間内に配置された複数の仮想オブジェクトから1つの仮想オブジェクトを選択する選択手段、として前記コンピュータをさらに機能させ、
前記重畳画像生成手段は、前記選択手段によって前記仮想オブジェクトが選択されたことを示すカーソルを更に重ね合わせた重畳画像を生成し、
前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記選択手段により選択された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更し、
前記保存手段は、ユーザによる撮影指示に応じて、前記カーソルを非表示にして前記重畳画像を記憶手段に保存する、請求項3に記載の画像処理プログラム。
Further causing the computer to function as selection means for selecting one virtual object from a plurality of virtual objects arranged in the virtual space,
The superimposed image generating unit generates a superimposed image in which a cursor indicating that the virtual object has been selected by the selecting unit is further superimposed,
The virtual object changing means changes at least one of a position and a posture of at least a part of the virtual object selected by the selection means in response to an input to the input means by a user,
The image processing program according to claim 3, wherein the storage unit stores the superimposed image in the storage unit while hiding the cursor in accordance with a photographing instruction from a user.
実カメラによって撮像された画像に仮想オブジェクト画像を重ね合わせた画像を生成する画像処理装置であって、
前記実カメラによって撮像された被写体の実画像を取得する実画像取得手段と、
実空間における前記実カメラの位置および姿勢に応じた位置姿勢情報を取得する位置姿勢情報取得手段と、
仮想空間内において、前記位置姿勢情報取得手段によって取得された位置姿勢情報に基づいて仮想カメラの位置および姿勢を設定する仮想カメラ設定手段と、
ユーザによる入力手段への入力に応じて、前記仮想空間内に配置された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する仮想オブジェクト変更手段と、
前記仮想オブジェクト変更手段によって位置および姿勢の少なくとも一方が変更された前記仮想オブジェクトを前記仮想カメラで撮像することにより仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段と、
前記実画像取得手段によって取得された実画像と前記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を生成する重畳画像生成手段と、
ユーザによる撮影指示に応じて、前記重畳画像を記憶手段に保存する保存手段とを備える、画像処理装置。
An image processing apparatus that generates an image obtained by superimposing a virtual object image on an image captured by a real camera,
Real image acquisition means for acquiring a real image of a subject imaged by the real camera;
Position and orientation information acquisition means for acquiring position and orientation information according to the position and orientation of the real camera in real space;
Virtual camera setting means for setting the position and orientation of the virtual camera based on the position and orientation information acquired by the position and orientation information acquisition means in the virtual space;
Virtual object changing means for changing at least one of the position and orientation of at least a part of the virtual object arranged in the virtual space in response to an input to the input means by the user;
Virtual object image generation means for generating a virtual object image by imaging the virtual object whose position and orientation have been changed by the virtual object changing means with the virtual camera;
Superimposed image generation means for generating a superimposed image obtained by superimposing the real image acquired by the real image acquisition means and the virtual object image generated by the virtual object image generation means;
An image processing apparatus comprising: a storage unit that stores the superimposed image in a storage unit in response to a shooting instruction from a user.
実カメラによって撮像された画像に仮想オブジェクト画像を重ね合わせた画像を生成する画像処理システムであって、
前記実カメラによって撮像された被写体の実画像を取得する実画像取得手段と、
実空間における前記実カメラの位置および姿勢に応じた位置姿勢情報を取得する位置姿勢情報取得手段と、
仮想空間内において、前記位置姿勢情報取得手段によって取得された位置姿勢情報に基づいて仮想カメラの位置および姿勢を設定する仮想カメラ設定手段と、
ユーザによる入力手段への入力に応じて、前記仮想空間内に配置された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する仮想オブジェクト変更手段と、
前記仮想オブジェクト変更手段によって位置および姿勢の少なくとも一方が変更された前記仮想オブジェクトを前記仮想カメラで撮像することにより仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段と、
前記実画像取得手段によって取得された実画像と前記仮想オブジェクト画像生成手段によって生成された仮想オブジェクト画像とを重ね合わせた重畳画像を生成する重畳画像生成手段と、
ユーザによる撮影指示に応じて、前記重畳画像を記憶手段に保存する保存手段とを備える、画像処理システム。
An image processing system for generating an image obtained by superimposing a virtual object image on an image captured by a real camera,
Real image acquisition means for acquiring a real image of a subject imaged by the real camera;
Position and orientation information acquisition means for acquiring position and orientation information according to the position and orientation of the real camera in real space;
Virtual camera setting means for setting the position and orientation of the virtual camera based on the position and orientation information acquired by the position and orientation information acquisition means in the virtual space;
Virtual object changing means for changing at least one of the position and orientation of at least a part of the virtual object arranged in the virtual space in response to an input to the input means by the user;
Virtual object image generation means for generating a virtual object image by imaging the virtual object whose position and orientation have been changed by the virtual object changing means with the virtual camera;
Superimposed image generation means for generating a superimposed image obtained by superimposing the real image acquired by the real image acquisition means and the virtual object image generated by the virtual object image generation means;
An image processing system comprising: a storage unit that stores the superimposed image in a storage unit in response to a shooting instruction from a user.
実カメラによって撮像された画像に仮想オブジェクト画像を重ね合わせた画像を生成する画像処理方法であって、
前記実カメラによって撮像された被写体の実画像を取得する実画像取得ステップと、
実空間における前記実カメラの位置および姿勢に応じた位置姿勢情報を取得する位置姿勢情報取得ステップと、
仮想空間内において、前記位置姿勢情報取得ステップで取得された位置姿勢情報に基づいて仮想カメラの位置および姿勢を設定する仮想カメラ設定ステップと、
ユーザによる入力手段への入力に応じて、前記仮想空間内に配置された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更する仮想オブジェクト変更ステップと、
前記仮想オブジェクト変更ステップで位置および姿勢の少なくとも一方が変更された前記仮想オブジェクトを前記仮想カメラで撮像することにより仮想オブジェクト画像を生成する仮想オブジェクト画像生成ステップと、
前記実画像取得ステップで取得された実画像と前記仮想オブジェクト画像生成ステップで生成された仮想オブジェクト画像とを重ね合わせた重畳画像を生成する重畳画像生成ステップと、
ユーザによる撮影指示に応じて、前記重畳画像を記憶手段に保存する保存ステップとを備える、画像処理方法。
An image processing method for generating an image in which a virtual object image is superimposed on an image captured by a real camera,
A real image acquisition step of acquiring a real image of a subject imaged by the real camera;
A position and orientation information acquisition step for acquiring position and orientation information corresponding to the position and orientation of the real camera in real space;
In a virtual space, a virtual camera setting step for setting the position and orientation of the virtual camera based on the position and orientation information acquired in the position and orientation information acquisition step;
A virtual object changing step of changing at least one of a position and a posture of at least a part of the virtual object arranged in the virtual space in response to an input to the input means by the user;
A virtual object image generation step of generating a virtual object image by imaging the virtual object whose position and orientation are changed in the virtual object changing step with the virtual camera;
A superimposed image generating step of generating a superimposed image obtained by superimposing the real image acquired in the real image acquiring step and the virtual object image generated in the virtual object image generating step;
An image processing method comprising: a storage step of storing the superimposed image in a storage unit in response to a photographing instruction from a user.
JP2011226197A 2011-10-13 2011-10-13 Image processing program, image processing apparatus, image processing system, and image processing method Active JP5602702B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011226197A JP5602702B2 (en) 2011-10-13 2011-10-13 Image processing program, image processing apparatus, image processing system, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011226197A JP5602702B2 (en) 2011-10-13 2011-10-13 Image processing program, image processing apparatus, image processing system, and image processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010214046A Division JP4869430B1 (en) 2010-09-24 2010-09-24 Image processing program, image processing apparatus, image processing system, and image processing method

Publications (2)

Publication Number Publication Date
JP2012069126A true JP2012069126A (en) 2012-04-05
JP5602702B2 JP5602702B2 (en) 2014-10-08

Family

ID=46166241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011226197A Active JP5602702B2 (en) 2011-10-13 2011-10-13 Image processing program, image processing apparatus, image processing system, and image processing method

Country Status (1)

Country Link
JP (1) JP5602702B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164537A (en) * 2013-02-26 2014-09-08 Yasuaki Iwai Virtual reality service providing system and virtual reality service providing method
WO2015183050A1 (en) * 2014-05-29 2015-12-03 주식회사 고영테크놀러지 Optical tracking system, and method for calculating posture and location of marker part in optical tracking system
JP2017131755A (en) * 2017-05-11 2017-08-03 株式会社スクウェア・エニックス Video game processing program, video game processing system, and video game processing method
US10265623B2 (en) 2015-09-18 2019-04-23 Kabushiki Kaisha Square Enix Video game processing program, video game processing system and video game processing method
US10430655B2 (en) 2014-06-13 2019-10-01 Fujitsu Limited Augmented reality information processing system and augmented reality display control method with space information conversion and display control features
CN112181131A (en) * 2019-07-05 2021-01-05 史克威尔·艾尼克斯有限公司 Non-transitory computer readable medium, image processing method, and image processing system
CN117119294A (en) * 2023-08-24 2023-11-24 腾讯科技(深圳)有限公司 Shooting method, device, equipment, medium and program of virtual scene
JP7553853B2 (en) 2019-03-25 2024-09-19 株式会社Mixi Object attitude control program and object attitude control system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1051711A (en) * 1996-08-05 1998-02-20 Sony Corp Three-dimension virtual object display device and its method
JPH11120384A (en) * 1997-10-17 1999-04-30 Nec Corp Input device
JP2004329708A (en) * 2003-05-09 2004-11-25 Nintendo Co Ltd Game machine, and game program
JP2005100185A (en) * 2003-09-25 2005-04-14 Genki Kk Three-dimensional image processor, three-dimensional image processing method and program
JP2006285609A (en) * 2005-03-31 2006-10-19 Canon Inc Image processing method, image processor
JP2007282861A (en) * 2006-04-17 2007-11-01 Square Enix Co Ltd Game apparatus, method of displaying character, program and recording medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1051711A (en) * 1996-08-05 1998-02-20 Sony Corp Three-dimension virtual object display device and its method
JPH11120384A (en) * 1997-10-17 1999-04-30 Nec Corp Input device
JP2004329708A (en) * 2003-05-09 2004-11-25 Nintendo Co Ltd Game machine, and game program
JP2005100185A (en) * 2003-09-25 2005-04-14 Genki Kk Three-dimensional image processor, three-dimensional image processing method and program
JP2006285609A (en) * 2005-03-31 2006-10-19 Canon Inc Image processing method, image processor
JP2007282861A (en) * 2006-04-17 2007-11-01 Square Enix Co Ltd Game apparatus, method of displaying character, program and recording medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164537A (en) * 2013-02-26 2014-09-08 Yasuaki Iwai Virtual reality service providing system and virtual reality service providing method
WO2015183050A1 (en) * 2014-05-29 2015-12-03 주식회사 고영테크놀러지 Optical tracking system, and method for calculating posture and location of marker part in optical tracking system
KR101613418B1 (en) * 2014-05-29 2016-04-21 주식회사 고영테크놀러지 Optical tracking system and method of calculating orientation and location of marker part of optical tracking system
JP2017525937A (en) * 2014-05-29 2017-09-07 コー・ヤング・テクノロジー・インコーポレーテッド Optical tracking system and method of calculating posture and position of marker part of optical tracking system
US10109066B2 (en) 2014-05-29 2018-10-23 Koh Young Technology Inc. Optical tracking system, and method for calculating posture and location of marker part in optical tracking system
US10430655B2 (en) 2014-06-13 2019-10-01 Fujitsu Limited Augmented reality information processing system and augmented reality display control method with space information conversion and display control features
US11504621B2 (en) 2015-09-18 2022-11-22 Kabushiki Kaisha Square Enix Video game processing program, video game processing system and video game processing method
US10265623B2 (en) 2015-09-18 2019-04-23 Kabushiki Kaisha Square Enix Video game processing program, video game processing system and video game processing method
US10737177B2 (en) 2015-09-18 2020-08-11 Kabushiki Kaisha Square Enix (Also Trading As Square Enix Co., Ltd.) Video game processing program, video game processing system and video game processing method
JP2017131755A (en) * 2017-05-11 2017-08-03 株式会社スクウェア・エニックス Video game processing program, video game processing system, and video game processing method
JP7553853B2 (en) 2019-03-25 2024-09-19 株式会社Mixi Object attitude control program and object attitude control system
CN112181131A (en) * 2019-07-05 2021-01-05 史克威尔·艾尼克斯有限公司 Non-transitory computer readable medium, image processing method, and image processing system
CN117119294A (en) * 2023-08-24 2023-11-24 腾讯科技(深圳)有限公司 Shooting method, device, equipment, medium and program of virtual scene

Also Published As

Publication number Publication date
JP5602702B2 (en) 2014-10-08

Similar Documents

Publication Publication Date Title
JP4869430B1 (en) Image processing program, image processing apparatus, image processing system, and image processing method
JP5739674B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP5646263B2 (en) Image processing program, image processing apparatus, image processing system, and image processing method
JP5541974B2 (en) Image display program, apparatus, system and method
JP5689707B2 (en) Display control program, display control device, display control system, and display control method
JP5814532B2 (en) Display control program, display control apparatus, display control system, and display control method
JP5602702B2 (en) Image processing program, image processing apparatus, image processing system, and image processing method
JP5702653B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP5800501B2 (en) Display control program, display control apparatus, display control system, and display control method
JP5739671B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
US9001192B2 (en) Storage medium having stored therein stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
US8648924B2 (en) Computer-readable storage medium having stored thereon image generation program, capturing apparatus, capturing system, and image generation method for generating a combination image on a display of the capturing apparatus
JP5149939B2 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP2012068977A (en) Game processing program, device, system and method
JP2012243147A (en) Information processing program, information processing device, information processing system, and information processing method
JP5525924B2 (en) Stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP5739670B2 (en) Image display program, apparatus, system and method
JP5739673B2 (en) Image display program, apparatus, system and method
JP5548038B2 (en) Stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP5541973B2 (en) Stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP5546960B2 (en) Stereoscopic image display program, stereoscopic image display device, stereoscopic image display system, and stereoscopic image display method
JP5739672B2 (en) Image display program, apparatus, system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140709

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140820

R150 Certificate of patent or registration of utility model

Ref document number: 5602702

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250