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 PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 51
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000003384 imaging method Methods 0.000 claims abstract description 205
- 230000004044 response Effects 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 13
- 239000003550 marker Substances 0.000 abstract description 114
- 230000010365 information processing Effects 0.000 description 183
- 238000000034 method Methods 0.000 description 117
- 230000008569 process Effects 0.000 description 105
- 230000036544 posture Effects 0.000 description 48
- 210000003128 head Anatomy 0.000 description 36
- 239000011159 matrix material Substances 0.000 description 34
- 230000001133 acceleration Effects 0.000 description 23
- 238000013500 data storage Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 14
- 230000009901 attention process Effects 0.000 description 11
- 230000004888 barrier function Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 230000008921 facial expression Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005401 electroluminescence Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
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
しかしながら、特許文献1では、予め大きさや向きなどが設定されている仮想オブジェクトの画像を撮像した画像に単に合成するだけであり、特許文献1の装置で撮影された写真は、仮想オブジェクトがあたかも実空間に存在するような感覚をユーザに与えるようなものではなかった。
However, in
それ故、本発明の目的は、仮想オブジェクトがあたかも実空間に存在するような感覚をユーザに与えることが可能な画像を撮影する画像処理技術を提供することである。 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.
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図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
まず、図1〜図3を参照して、ゲーム装置10の外観構成について説明する。図1〜図3に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11および21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
First, the external configuration of the
図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
(下側ハウジングの説明)
まず、下側ハウジング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
図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
図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
各操作ボタン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
アナログスティック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
十字状に配置される、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
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図4参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
A
図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
図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
As shown in FIG. 3A, an openable /
また、図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
As shown in FIG. 3D, an
また、図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
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
Although not shown, the
(上側ハウジングの説明)
次に、上側ハウジング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
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
As shown in FIG. 1, the
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、図2に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
The screen of the
上側LCD22は、立体視可能な画像(立体視画像、立体画像ともいう)を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
The
外側撮像部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
図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
なお、本実施例においては、外側撮像部(左)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
このように、外側撮像部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
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
The
図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
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
Thus, the
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。図1〜図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。
The
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インジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
The
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
A
(ゲーム装置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
情報処理部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
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
A
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記画像処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
The
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
The
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
The data storage
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
The
また、情報処理部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
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
Further, the
また、情報処理部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 /
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
The
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。
The
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
Specifically, the
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。例えば、情報処理部31は外側撮像部23および内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。例えば、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23または内側撮像部24に対して撮像指示を行う。
The
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
The
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
The
また、情報処理部31には、角速度センサ46が接続される。角速度センサ46は、各軸(x軸、y軸、z軸)周りの角速度を検出する。ゲーム装置10は、角速度センサ46が逐次検出する角速度に基づいて、実空間におけるゲーム装置10の姿勢を算出することができる。具体的には、ゲーム装置10は、角速度センサ46によって検出された各軸周りの角速度を時間で積分することによって、各軸周りのゲーム装置10の回転角を算出することができる。
In addition, an
(撮影処理の概要)
次に、本実施形態に係るゲーム装置10において実行される撮影処理(画像処理)の概要について説明する。図5は、本実施形態に係る撮影処理が実行された場合において、実空間に予め配置されたマーカ61を外側撮像部23で撮像したときに上側LCD22に表示される画像の一例を示す図である。
(Overview of shooting process)
Next, an outline of a shooting process (image process) executed in the
図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
具体的には、マーカ61が検出された場合、上側LCD22には、外側撮像部23によって撮像された実画像(マーカ61と背景を含む実空間を撮像した画像)に、仮想キャラクタ51〜53、カーソル55、および、表示バー56が重畳表示される。仮想キャラクタ51〜53は、仮想空間に存在するキャラクタであり、人を模した仮想オブジェクトである。より具体的には、上側LCD22には、マーカ61の上に仮想キャラクタ52が乗っている様子が表示される。また、当該仮想キャラクタ52の左側(画面上の左側)には仮想キャラクタ51が、仮想キャラクタ52の右側(画面上の右側)には仮想キャラクタ53が表示される。なお、カーソル55は、現在選択されている仮想キャラクタを示すためのものである。また、表示バー56は、ゲーム装置10の操作方法をユーザに知らせるために表示される。
Specifically, when the
上側LCD22に表示される画像は立体視可能な画像である。すなわち、外側撮像部23によって撮像された実画像は、外側撮像部(左)23aによって撮像された左目用実画像と外側撮像部(右)23bによって撮像された右目用実画像とを含む。また、仮想キャラクタ51〜53は、仮想空間に存在する仮想ステレオカメラ(左仮想カメラおよび右仮想カメラ)によって撮像されて、上記実画像に重畳表示される。具体的には、外側撮像部(左)23aによって撮像された左目用実画像に、左仮想カメラで仮想キャラクタを撮像した画像が重ね合わされて、左目用重畳画像が生成される。また、外側撮像部(右)23bによって撮像された右目用実画像に、右仮想カメラで仮想キャラクタを撮像した画像が重ね合わされて、右目用重畳画像が生成される。そして、上側LCD22にこれら2つの重畳画像が表示されて、視差バリアを介してユーザの左目に左目用重畳画像が、ユーザの右目に右目用重畳画像が視認される。これにより、ユーザは立体的に画像を視認することができる。
The image displayed on the
仮想キャラクタ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
図7は、仮想空間に仮想キャラクタ52が配置された様子を示す図である。図7に示すように、マーカ座標系の原点には、仮想キャラクタ52が配置され、当該仮想キャラクタ52は、仮想空間内に配置された左仮想カメラ58aおよび右仮想カメラ58bによって撮像される。左仮想カメラ58aは、ユーザの左目で視認される仮想空間の画像を撮像するためのものであり、右仮想カメラ58bは、ユーザの右目で視認される仮想空間の画像を撮像するためのものである。具体的には、左仮想カメラ58aのマーカ座標系における位置および姿勢は、実空間の外側撮像部(左)23aの位置および姿勢と一致される。また、右仮想カメラ58bのマーカ座標系における位置および姿勢は、実空間の外側撮像部(右)23bの位置および姿勢と一致される。
FIG. 7 is a diagram illustrating a state in which the
このようにマーカ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
図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
次に、ユーザによる仮想キャラクタの操作について説明する。まず、アナログスティック15を用いた操作について説明する。図9は、アナログスティック15に対する操作に応じて仮想キャラクタ52が移動する様子を示す図である。
Next, the operation of the virtual character by the user will be described. First, an operation using the
図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
次に、仮想キャラクタをゲーム装置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
なお、他の操作によって、仮想キャラクタのポーズが変更される。例えば、ユーザが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
また、別の操作によって、仮想キャラクタの表情が変更される。例えば、ユーザが十字ボタン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
以上のように、ユーザは、上側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
以上のようにして、ユーザは、あたかも仮想オブジェクトが実空間に存在するように仮想オブジェクトを操作して、仮想オブジェクトの写真を撮影することができる。 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
撮影処理プログラム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
仮想キャラクタ情報73は、各仮想キャラクタ51〜53に関連する情報である。具体的には、仮想キャラクタ情報73は、仮想キャラクタの形状を表す3次元モデルデータ(ポリゴンデータ)や、仮想キャラクタの模様をあらわすテクスチャデータ、仮想空間における仮想キャラクタの位置や姿勢の情報、および、現在選択されているか否かを示す情報を含む。各仮想キャラクタ51〜53は、これら3次元モデルデータ、テクスチャデータ、位置や姿勢に関する情報、現在選択されているか否かを示す情報を有している。なお、各仮想キャラクタは、部位毎に上記3次元モデルデータ、位置や姿勢に関する情報を有している。例えば、仮想キャラクタ51は、体(首から下の部分)の3次元モデルデータ、当該体の位置や姿勢に関する情報、頭部の3次元モデルデータ、当該頭部の位置や姿勢に関する情報を有している。頭部の位置と体の位置とは、予め定められた所定の関係を有している。このように部位毎に上記情報を有することにより、頭部と体の向きを異なるようにすることができる。例えば、仮想キャラクタ51の体が仮想空間内の原点に位置して当該体の向きがX軸の正方向を向いている場合において、仮想キャラクタ51の顔を原点よりもY軸正方向の所定位置に配置して、顔をZ軸の正方向に向かせることができる。
The
左仮想カメラ情報74Lは、仮想空間のおける左仮想カメラ58aの位置および姿勢を表す情報である。具体的には、左仮想カメラ情報74Lは、左目用実画像におけるマーカ61の位置および姿勢に基づいて算出される行列である。
The left virtual camera information 74L is information representing the position and orientation of the left
右仮想カメラ情報74Rは、仮想空間のおける右仮想カメラ58bの位置および姿勢を表す情報である。具体的には、右仮想カメラ情報74Rは、右目用実画像におけるマーカ61の位置および姿勢に基づいて算出される行列である。
The right
左仮想オブジェクト画像75Lは、左仮想カメラ58aによって仮想キャラクタを撮像した画像である。
The left
右仮想オブジェクト画像75Rは、右仮想カメラ58bによって仮想キャラクタを撮像した画像である。
The right
操作情報76は、操作手段(各操作ボタン14A〜14E、14G、14H、および、アナログスティック15)に対して行われた操作を示す情報である。操作手段に対する操作が行われると、操作が行われたことを示す信号がCPU311に送信されて、操作情報76が更新される。
The
保存フラグ77は、撮像された画像が保存されることを示すフラグであり、例えば、撮影指示ボタン(Lボタン14GまたはRボタン14H)が押された場合に、ONに設定される。
The save
左右静止画像78は、撮影指示ボタン(Lボタン14GまたはRボタン14H)が押されたことに応じて保存される画像であり、左静止画像と右静止画像とを含む。
The left and right still
カメラ注目フラグ79は、仮想キャラクタが仮想カメラに注目するモード(カメラ注目モード)か否かを示すフラグである。カメラ注目モードである場合、カメラ注目フラグ79はONに設定され、カメラ注目モードでない場合、カメラ注目フラグ79はOFFに設定される。
The
(メインフローの説明)
次に、本実施形態に係る撮影処理の詳細について、図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
まず、ステップS1において、情報処理部31は、撮影中か否かを判定する。具体的には、情報処理部31は、RAMを参照して、保存フラグ77がONか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS2の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS7の処理を実行する。
First, in step S1, the
ステップS2において、情報処理部31は、実カメラ画像を取得する。具体的には、情報処理部31は、外側撮像部23に対して、画像を撮像するための命令を送信する。当該命令に応じて外側撮像部(左)23aは左目用実画像72Lを、外側撮像部(右)23bは右目用実画像72Rを撮像する。そして、情報処理部31は、撮像された2つの画像(左目用実画像72Lおよび右目用実画像72R)を取得し、RAMに記憶する。次に、情報処理部31は、ステップS3の処理を実行する。
In step S2, the
ステップS3において、情報処理部31は、マーカ認識処理を実行する。マーカ認識処理は、ステップS2で取得した左目用実画像72Lおよび右目用実画像72Rを用いて、2つの画像に含まれるマーカ61を認識する処理である。マーカ認識処理においては、マーカの認識結果に応じて、仮想カメラ(左仮想カメラ58aおよび右仮想カメラ58b)が仮想空間に設定される。マーカ認識処理の詳細は、後述する。マーカ認識処理の後、ステップS4の処理が行われる。
In step S3, the
ステップS4において、情報処理部31は、マーカを認識したか否かを判定する。ステップS4の処理は、ステップS3のマーカ認識処理においてマーカ61が正常に認識されたか否かを判定する処理である。具体的には、情報処理部31は、RAMを参照して、検出結果フラグ(後述する)がONか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS5の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS14の処理を実行する。
In step S4, the
ステップS5において、情報処理部31は、撮影ボタンが押されたか否かを判定する。具体的には、情報処理部31は、RAMに記憶された操作情報76を参照して、Lボタン14GまたはRボタン14Hが押されたか否かを判定する。判定結果が否定の場合、情報処理部31は、次にステップS6の処理を実行する。一方、判定結果が肯定の場合、情報処理部31は、次にステップS7の処理を実行する。
In step S5, the
ステップS6において、情報処理部31は、操作情報76を参照して、アナログスティック15が操作されたか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS8の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS9の処理を実行する。
In step S <b> 6, the
一方、ステップS7において、情報処理部31は、保存処理を実行する。保存処理は、上側LCD22に表示された画像を保存(撮影)する処理である。保存処理の詳細については、後述する。ステップS7の処理の後、情報処理部31は、次にステップS14の処理を実行する。
On the other hand, in step S7, the
ステップS8において、情報処理部31は、キャラクタ移動処理を実行する。キャラクタ移動処理では、情報処理部31は、アナログスティック15に対する操作に応じて、仮想キャラクタを仮想空間内で移動させる。キャラクタ移動処理の詳細については、後述する。キャラクタ移動処理の後、ステップS9の処理が行われる。
In step S8, the
ステップ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
ステップS10において、情報処理部31は、注目処理を実行する。注目処理では、各仮想キャラクタを仮想カメラに注目させる処理であり、各仮想キャラクタの顔を仮想カメラの方向に向かせる処理である。注目処理の詳細については、後述する。注目処理の後、ステップS11の処理が行われる。
In step S <b> 10, the
ステップS11において、情報処理部31は、所定のボタン操作が行われたか否かを判定する。具体的には、情報処理部31は、操作情報76を参照して、十字ボタン14Aの左右方向のボタン、aボタン14B、bボタン14C、および、yボタン14Eの何れかが押されたか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS12の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、次にステップS13の処理を実行する。
In step S11, the
ステップ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
ステップS13において、情報処理部31は、仮想オブジェクト画像生成処理を実行する。具体的には、情報処理部31は、仮想空間を左仮想カメラ58aで撮像することによって左仮想オブジェクト画像75Lを生成し、仮想空間を右仮想カメラ58bで撮像することによって右仮想オブジェクト画像75Rを生成する。そして、情報処理部31は、撮像した左仮想オブジェクト画像75Lおよび右仮想オブジェクト画像75RをRAMに保存する。情報処理部31は、次にステップS14の処理を実行する。
In step S13, the
ステップ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
また、情報処理部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
なお、図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
次に、上述した各処理の詳細について説明する。 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
ステップS22において、情報処理部31は、実カメラとマーカとの位置関係を算出する。具体的には、情報処理部31は、左目用実画像72Lに含まれるマーカの当該左目用実画像72Lにおける位置や大きさ、形状、および、マーカの矢印の方向等に基づいて、外側撮像部(左)23aと実空間に存在するマーカ61との位置関係を算出する。ここで、外側撮像部(左)23aとマーカ61との位置関係とは、マーカ61および外側撮像部(左)23aの何れか一方を基準とした場合の他方の3次元の位置および姿勢である。すなわち、上記位置関係は、マーカ61に対する外側撮像部(左)23aの相対的な位置および姿勢である。同様に、情報処理部31は、右目用実画像72Rに含まれるマーカの当該右目用実画像72Rにおける位置や大きさ、形状、および、マーカの矢印の方向等に基づいて、外側撮像部(右)23bと実空間に存在するマーカ61との位置関係を算出する。
In step S22, the
より具体的には、ステップ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
そして、マーカ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
なお、外側撮像部(左)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
ステップ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
ステップS24において、情報処理部31は、検出結果フラグをONに設定してRAMに記憶する。ステップS24の後、情報処理部31は、図13に示すマーカ認識処理を終了する。
In step S24, the
一方、ステップS25において、情報処理部31は、検出結果フラグをOFFに設定してRAMに記憶する。ここでは、左目用実画像72Lおよび右目用実画像72Rの何れか一方にマーカが検出されなかったため、マーカの検出結果を示す検出結果フラグがOFFに設定される。ステップS25の後、情報処理部31は、図13に示すマーカ認識処理を終了する。
On the other hand, in step S25, the
(保存処理の説明)
次に、保存処理(ステップ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
ステップS32において、情報処理部31は、カーソル等を非表示に設定する。ここでは、カーソル55や表示バー56が非表示に設定される。次に、情報処理部31は、ステップS33の処理を実行する。
In step S32, the
ステップS33において、情報処理部31は、保存フラグ77をONに設定し、当該保存処理を終了する。
In step S33, the
一方、ステップ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
(移動処理の説明)
次に、仮想キャラクタの移動処理(ステップ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
ステップS42において、情報処理部31は、ビュー行列に基づいてカメラ方向を算出する。ここで算出されるカメラ方向は、上記左右の仮想カメラ(58aおよび58b)の中間の仮想カメラの撮像方向を示す。図18は、ステップS42で算出されるカメラ方向を示す図である。図18に示すように、カメラ方向は、左右の仮想カメラの撮像方向と同じであり、ベクトルとして表わされる。次に、情報処理部31は、ステップS43の処理を実行する。
In step S42, the
ステップ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
次に、情報処理部31は、上記XZ平面投影ベクトルとアナログスティック15の入力方向ベクトルとに基づいて、仮想キャラクタの移動方向を算出する。具体的には、アナログスティック15に対する入力に応じて、XZ平面投影ベクトルをY軸周りに回転させることによって、移動方向が算出される。より具体的には、情報処理部31は、図20に示すように上記入力方向ベクトルとy軸との角度θを算出し、XZ平面投影ベクトルを当該角度θだけY軸(図19参照)周りに回転させた方向を、移動方向として算出する。このようにして、情報処理部31は、仮想キャラクタの移動方向を算出する。
Next, the
例えば、アナログスティック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
なお、ステップ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
このようにして算出された移動方向は、仮想空間内の移動方向、すなわち、マーカ座標系での移動方向である。仮想空間内で仮想キャラクタが算出された移動方向に移動すると、仮想キャラクタは、上側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
ステップS44において、情報処理部31は、ステップS43で算出した移動方向に仮想キャラクタを移動させる。具体的には、情報処理部31は、RAMに記憶された仮想キャラクタ情報のうち、選択されている仮想キャラクタの仮想空間における位置を更新することにより、仮想キャラクタを移動させる。すなわち、情報処理部31は、選択されている仮想キャラクタの仮想空間における位置に、ステップS43で算出した移動方向のベクトル(当該ベクトルは予め定められた大きさを有する)を加えることにより、当該仮想キャラクタの位置を更新して、RAMに記憶する。次に、情報処理部31は、ステップS45の処理を実行する。
In step S44, the
ステップS45において、情報処理部31は、仮想キャラクタが所定範囲外に移動したか否かを判定する。具体的には、情報処理部31は、ステップS44で移動させた仮想キャラクタの位置が、マーカ座標系の原点を中心とした所定範囲を超えているか否かを判定する。判定結果が肯定の場合、情報処理部31は、次にステップS46の処理を実行する。一方、判定結果が否定の場合、情報処理部31は、図15に示す移動処理を終了する。
In step S45, the
ステップS46において、情報処理部31は、仮想キャラクタの位置を上記所定範囲内に修正する。ここでは、仮想キャラクタがマーカ座標系の原点から遠く離れすぎないようにするための処理である。仮想キャラクタがマーカ座標系の原点から遠く離れすぎて仮想カメラの撮像範囲を超えると、ユーザは、そのキャラクタを見るために外側撮像部23を用いてマーカ61から離れた位置を撮像しようとする。そうすると、外側撮像部23の撮像範囲にマーカ61が含まれなくなり、マーカ座標系を定義することができず、ユーザは仮想キャラクタを見ることができなくなる。このようなことを防止するために、ステップS46において、ステップS44で移動された仮想キャラクタの位置を上記所定範囲内に修正する。その後、情報処理部31は、図15に示す移動処理を終了する。
In step S46, the
(注目処理の説明)
次に、注目処理(ステップ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
ステップS52において、情報処理部31は、仮想カメラの位置と仮想キャラクタの頭部の位置とに基づいて、仮想キャラクタの視線方向を算出する。図23は、仮想キャラクタの視線方向を示す図である。ここで、「仮想カメラの位置」は、図23に示すように、左仮想カメラ58aの位置と右仮想カメラ58bの位置との中間である。具体的には、情報処理部31は、上記ステップS41で取得したビュー行列(左右の仮想カメラの中点、および、左右の仮想カメラと同じ姿勢を示す行列)に基づいて、「仮想カメラの位置」(左右の仮想カメラの中点)を取得する。また、情報処理部31は、ステップS51で取得した仮想キャラクタの体の位置に基づいて、当該仮想キャラクタの頭部の位置を算出する。仮想キャラクタの体と頭部は、予め定められた位置関係を有しており、情報処理部31は、仮想キャラクタの体の位置に、所定のベクトルを加えることによって当該仮想キャラクタの頭部の位置を算出する。そして、情報処理部31は、上記仮想キャラクタの頭部の位置から上記仮想カメラの位置に向かうベクトルを算出して、仮想キャラクタの視線方向としてRAMに記憶する。次に、情報処理部31は、ステップS53の処理を実行する。なお、仮想キャラクタの体と頭部の位置関係は、当該仮想キャラクタのポーズ毎に異なるため、現在の仮想キャラクタのポーズに応じて仮想キャラクタの頭部の位置が算出される。
In step S52, the
ステップS53において、情報処理部31は、ステップS52で算出した視線方向に基づいて、頭部の各軸(XY軸)周りの回転角度を算出する。ここでは、仮想キャラクタの頭部(顔)を上記視線方向に向かせるために必要なX軸およびY軸周りの回転角度が算出される。具体的には、情報処理部31は、仮想キャラクタ情報73を参照して、仮想キャラクタの体の姿勢を示す行列(現在の体の姿勢行列)を取得する。次に、情報処理部31は、当該仮想キャラクタの頭部を上記視線方向に向けたときの頭部の姿勢行列(視線方向の頭部の姿勢行列)を算出する。そして、情報処理部31は、上記現在の体の姿勢行列と上記視線方向の頭部の姿勢行列とに基づいて、頭部の回転を示す回転行列を算出し、当該回転行列に基づいて、各軸(X軸およびY軸)周りの回転角度を算出する。次に、情報処理部31は、ステップS54の処理を実行する。
In step S53, the
ステップS54において、情報処理部31は、ステップS53で算出した各軸周りの回転角度が所定範囲外か否かを判定する。具体的には、情報処理部31は、X軸周り(垂直方向)の回転角度が所定範囲(例えば、−60度から60度の範囲)外か否か、および、Y軸周り(水平方向)の回転角度が所定範囲(例えば、−80度から80度の範囲)外か否かを判定する。X軸周りの回転角度およびY軸周りの回転角度の何れか一方でも上記所定範囲外であれば(すなわち、判定結果が肯定)、情報処理部31は、次にステップS55の処理を実行する。一方、X軸周りの回転角度およびY軸周りの回転角度の何れもが上記所定範囲外でなければ(すなわち、判定結果が否定)、情報処理部31は、次にステップS56の処理を実行する。
In step S54, the
ステップS55において、情報処理部31は、各軸周りの回転角度を上記所定範囲内に修正する。ステップS55においては、各軸周りの回転角度が上記所定範囲外である場合、当該所定範囲内になるように各軸周りの回転角度が上限値または下限値に修正される。例えば、情報処理部31は、X軸周りの回転角度が上記所定範囲の上限値(60度)を超えている場合、X軸周りの回転角度を当該上限値(60度)に修正する。このように、頭部の回転角度が修正されることにより、例えば、頭部が体に対して水平方向に180度回転したり、頭部が体に対して垂直方向に150度回転したりするように、頭部が不自然に回転することを防止することができる。情報処理部31は、次にステップS56の処理を実行する。
In step S55, the
ステップS56において、情報処理部31は、頭部の姿勢行列を決定する。具体的には、情報処理部31は、直前のステップS55で頭部の回転角度が修正された場合は、当該修正された回転角度で頭部を回転させた場合の頭部の姿勢行列を算出する。また、情報処理部31は、ステップS55で頭部の回転角度が修正されなかった場合、ステップS53で算出した視線方向の頭部の姿勢行列を、新たな頭部の姿勢行列として決定し、仮想キャラクタ情報73を更新する。情報処理部31は、次にステップS57の処理を実行する。
In step S56, the
ステップS57において、情報処理部31は、全ての仮想キャラクタに対して注目処理(ステップS51〜ステップS56に示す処理)を実行したか否かを判定する。判定結果が否定の場合、情報処理部31は、ステップS51の処理を再び実行する。判定結果が肯定の場合、情報処理部31は、図16に示す注目処理を終了する。
In step S57, the
なお、上述した処理は単なる一例であって、例えば、上記処理の順番や各操作に用いら
れるボタン、各判定に用いられた閾値(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
また、本実施形態では、ユーザの操作によって、仮想空間に存在する仮想キャラクタを移動させたり、仮想キャラクタのポーズを変更したり、仮想キャラクタをカメラに注目させたりすることができる。これにより、仮想キャラクタが実際に実空間に存在するような感覚をユーザに与えることができる。例えば、仮想キャラクタの顔が仮想カメラ(外側撮像部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
また、本実施形態では、仮想キャラクタの位置および姿勢がユーザの操作によって変更されたが(移動処理および注目処理が実行されたが)、他の実施形態では、仮想キャラクタの位置または姿勢がユーザの操作によって変更されてもよい(移動処理または注目処理の何れか一方が実行されてもよい)。 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
また、本実施形態では、マーカ61を外側撮像部23で撮像することによって、外側撮像部23とマーカ61との位置関係(相対的な位置および姿勢)を算出した。そして、算出した位置関係に基づいて、仮想空間(マーカ座標系)を定義した。他の実施形態では、マーカ61に限らず、他の物体を撮像画像から認識して、上記位置関係が算出されてもよい。例えば、実空間に存在する所定の物体(例えば、実空間に存在する椅子やテーブル等でもよい)をパターンマッチング等の画像認識により検出し、上記位置関係が算出されて、仮想空間が定義されてもよい。すなわち、他の実施形態では、実空間に存在する特定対象物(上記マーカや所定の物体)を撮像画像から認識して、当該特定対象物と外側撮像部23との位置関係が算出されてもよい。また、特定対象物は、実カメラによって撮像された画像に基づいて認識されず、他の認識手段(例えば、超音波センサ等でもよい)によって認識されてもよい。
In the present embodiment, the positional relationship (relative position and orientation) between the
また、他の実施形態では、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
また、他の実施形態では、上述した撮影処理の方法は、ゲーム装置に限らず任意の電子機器、例えば、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
また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。
Moreover, in the said embodiment, the process by the flowchart mentioned above was performed because the
また、上記撮影処理プログラムは、上記メモリに限らず、光ディスクや磁気ディスク等、コンピュータ読み取り可能な記憶媒体に記憶されてゲーム装置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
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
13
21
23
23b Outside imaging unit (right)
24
312 GPU
32
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又は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部位が前記仮想カメラへ向くように、当該第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部位の姿勢を変更し、
前記仮想オブジェクト画像生成手段は、前記部位変更手段によって前記第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から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.
前記重畳画像生成手段は、前記選択手段によって前記仮想オブジェクトが選択されたことを示すカーソルを更に重ね合わせた重畳画像を生成し、
前記仮想オブジェクト変更手段は、ユーザによる前記入力手段への入力に応じて、前記選択手段により選択された仮想オブジェクトの少なくとも一部の位置および姿勢の少なくとも一方を変更し、
前記保存手段は、ユーザによる撮影指示に応じて、前記カーソルを非表示にして前記重畳画像を記憶手段に保存する、請求項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.
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)
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)
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 |
-
2011
- 2011-10-13 JP JP2011226197A patent/JP5602702B2/en active Active
Patent Citations (6)
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)
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 |