【文献】
早川廣行ほか,目指せ! 即席フォトショッパー,日経MAC,日本,日経BP社,2000年 2月18日,第8巻 第3号,74−83ページ
(58)【調査した分野】(Int.Cl.,DB名)
前記コンピュータを、前記更新手段によって前記2画像の色情報が更新されている場合に、前記第1画像の形状を固定する形状固定手段としてさらに機能させる、請求項1から5までのいずれかに記載の情報処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示された画像処理装置は、グラフィックス・ソフトウェアの知識および入力装置の技巧に長けた者にとっては便利であるが、そうでない者にとっては使い難かった。
【0005】
それゆえに、この発明の主たる目的は、新規な、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することである。
【0006】
また、この発明の他の目的は、画像の色情報の更新を容易に行うことができる、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、情報処理装置のコンピュータを、画像取得手段と、
生成手段と、表示制御手段と、更新手段として機能させる。画像取得手段は、
撮像手段によって現実空間の対象物を
逐次撮像
した画像を逐次取得する。
生成手段は、画像取得手段によって逐次取得される画像に含まれる対象物に対応する第1画像を逐次生成する。表示制御手段は、
生成手段によって逐次生成される第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。更新手段は、第2画像の色情報を更新する。また、更新手段は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
【0008】
第1の発明によれば、現実空間の対象物を
逐次撮像することにより逐次取得した画像に含まれる対象物に対応する第1画像
を逐次生成し、逐次生成した第1画像を用いて第2画像の色情報を更新するので、画像の色情報の更新を容易に行うことができる。
【0009】
第2の発明は、
情報処理装置のコンピュータを、画像取得手段と、表示制御手段と、位置固定手段と、更新手段として機能させる。画像取得手段は、現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。位置固定手段は、第1画像の表示位置を固定する。
更新手段は、第2画像の色情報を更新する。また、更新手段は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
【0010】
第2の発明によれば、現実空間の対象物を撮像することにより逐次取得した画像に含まれる対象物に対応する第1画像を用いて第2画像の色情報を更新するので、画像の色情報の更新を容易に行うことができる。
また、第2の発明によれば、第1画像の表示位置を固定する。これにより、現実空間の撮像対象を同じ場所に固定し続ける必要がないため、色情報の更新を容易に行うことができる。
【0011】
第3の発明は、第
2の発明に従属し
、位置固定手段は、更新手段によって第2画像の色情報が更新されている場合に、第1画像の表示位置を固定する。
【0012】
第3の発明によれば、第1画像の表示位置を固定する。これにより、現実空間の撮像対象を同じ場所に固定し続ける必要がないため、色情報の更新を容易に行うことができる。
【0013】
第4の発明は、第2または第3の発明に従属し、コンピュータを指示判断手段としてさらに機能させる。指示判断手段は、入力装置でユーザによる更新指示を受け付けたかどうかを判断する。位置固定手段は、指示判断手段によってユーザによる更新指示を受け付けたことが判断された場合に、第1画像の表示位置を固定する。
【0014】
第4の発明によれば、第1画像の表示位置をユーザによる更新指示があった場合に固定するため、直感的な操作で容易に所望の位置に第1画像の表示位置を固定して色情報の更新を行うことができる。
【0015】
第5の発明は、第2から第4の発明までのいずれかに従属し、コンピュータを、指示判断手段および固定解除手段として機能させる。指示判断手段は、入力装置でユーザによる更新指示を受け付けたかどうかを判断する。位置固定手段が第1画像の表示装置を固定した後、指示判断手段によってユーザによる更新指示が受け付けられていないと判断されると、第1画像の表示位置の固定を解除する。
【0016】
第5の発明によれば、更新指示を受け付けている間だけ第1画像の表示位置を固定することができる。これにより、更新指示を受け付けていない間には第1画像を固定しないため、第1画像の表示位置を固定した後、色情報を更新する場所を容易に変更することができる。
【0017】
第6の発明は、請求項1から5までのいずれかに従属し、コンピュータを形状固定手段としてさらに機能させる。形状固定手段は、更新手段によって第2画像の色情報が更新されている場合に、第1画像の形状を固定する。
【0018】
第6の発明によれば、第1画像の形状をユーザによる更新指示があった場合に固定するため、直感的な操作で容易に所望の形状に第1画像の形状を固定して色情報の更新を行うことができる。
【0019】
第7の発明は、第1から第6の発明までのいずれかに従属し、撮像手段は、赤外撮像手段である。
【0020】
第7の発明によれば、赤外撮像手段を使用するので、暗い場所であっても第1画像を表示することができる。
【0021】
第8の発明は、第1から第7の発明までのいずれかに従属し、表示制御手段は、第2画像として、仮想オブジェクトの画像を表示部に表示させ、更新手段は、仮想オブジェクトの画像の色情報を更新する。
【0022】
第8の発明によれば、仮想オブジェクトの画像の色情報の更新を容易に行うことができる。
【0023】
第9の発明は、第1から第8の発明までのいずれかに従属し、コンピュータを座標取得手段としてさらに機能させる。座標取得手段は、ポインティングデバイスからの出力に基づいて入力座標を取得する。更新手段は、第2画像のうち、入力座標が対応する箇所の色情報を更新する。
【0024】
第9の発明によれば、第2画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【0025】
第10の発明は、第9の発明に従属し、ポインティングデバイスは動きセンサおよび/または撮像手段を備え、座標取得手段は、動きセンサで検出された動きデータに基づいて入力座標を取得する。
【0026】
第10の発明によれば、ポインティングデバイスを動かすことにより、第2画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【0027】
第11の発明は、現実空間の対象物を
逐次撮像する撮像手段を備える入力装置を含む情報処理システムであって、画像取得手段と、
生成手段と、表示制御手段と、更新手段を備える。画像取得手段は、入力装置から
撮像手段によって逐次撮像される画像を逐次取得する。
生成手段は、画像取得手段によって逐次取得される画像に含まれる対象物に対応する第1画像を逐次生成する。表示制御手段は、
生成手段によって逐次生成される第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。更新手段は、第2画像の色情報を更新する。また、更新手段は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
【0028】
第11の発明においても、第1の発明と同様に、画像の色情報の更新を容易に行うことができる。
【0029】
第12の発明は、
現実空間の対象物を逐次撮像する撮像手段を備える入力装置を含む情報処理システムであって、画像取得手段と、表示制御手段と、更新手段と、座標取得手段と、位置固定手段を備える。入力装置は、当該入力装置の動きを示す動きデータを出力する動きセンサをさらに備え
る。画像取得手段は、入力装置から対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。更新手段は、第2画像の色情報を更新する。座標取得手段は、動きデータに基づいて、所定面における座標を取得す
る。位置固定手段は、更新手段により第2画像の色情報が更新される場合に、第1画像の表示位置を固定す
る。更新手段は、第2画像のうち座標に対応する部分の色情報を更新し、表示位置が固定された第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
【0030】
第12の発明においても、第2の発明と同様に、画像の色情報の更新を容易に行うことができる。
また、第12の発明によれば、入力装置を動かすことにより、第2画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【0031】
第13の発明は、情報処理装置であって、画像取得手段と、
生成手段と、表示制御手段と、更新手段を備える。画像取得手段は、
撮像手段によって現実空間の
対象物を逐次撮像
した画像を逐次取得する。
生成手段は、画像取得手段によって逐次取得される画像に含まれる対象物に対応する第1画像を逐次生成する。表示制御手段は、
生成手段によって逐次生成される第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。更新手段は、第2画像の色情報を更新する。また、更新手段は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
第14の発明は、情報処理装置であって、画像取得手段と、表示制御手段と、位置固定手段と、更新手段を備える。画像取得手段は、現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させる。位置固定手段は、第1画像の表示位置を固定する。更新手段は、第2画像の色情報を更新する。また、更新手段は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する。
【0032】
第
15の発明は、情報処理方法であって、(a)
撮像手段によって現実空間の
対象物を逐次撮像
した画像を逐次取得するステップと、(b)
ステップ(a)において逐次取得する画像に含まれる対象物に対応する第1画像
を逐次生成するステップと、(c)ステップ(b)において逐次生成する第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させるステップと、(
d)記第2画像の色情報を更新するステップを含み、ステップ(
d)は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する、情報処理方法である。
第16の発明は、情報処理方法であって、(a)現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得するステップと、(b)画像に含まれる対象物に対応する第1画像、および、当該第1画像とは異なる第2画像を表示部に表示させるステップと、(c)第1画像の表示位置を固定するステップと、(d)記第2画像の色情報を更新するステップを含み、ステップ(d)は、第1画像と第2画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第2画像の色情報の更新を制限する、情報処理方法である。
【0033】
第13
から第
16までの発明においても、第
1および第2の発明と同様に、画像の色情報の更新を容易に行うことができる。
【発明の効果】
【0034】
この発明によれば、画像の色情報の更新を容易に行うことができる。
【0035】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための形態】
【0037】
以下、図面を参照して、実施例に係るゲームシステム10について説明する。ゲームシステム10は、情報処理システムの限定しない一例である。
図1に示すように、ゲームシステム10は、据置型のゲーム装置12および可搬型の入力装置14を含む。また、ゲームシステム10は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)16を含み、接続ケーブルを介して、ゲーム装置12とテレビ16が接続される。このゲームシステム10は、入力装置14を用いたゲーム操作に基づいて、ゲーム装置12においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ16および/または入力装置14に表示するものである。
【0038】
テレビ16は、ゲーム装置12において実行されるゲーム処理などの情報処理の結果得られる情報処理の画像(以下、「表示画像」という)を表示する。テレビ16はスピーカを有しており、スピーカは、上記情報処理の結果得られるゲーム音声を出力する。
【0039】
なお、他の実施例では、ゲーム装置12と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置12とテレビ16との通信は無線通信であってもよい。
【0040】
入力装置14は、少なくとも、ゲーム装置12との間でデータを送受信する。ユーザまたはプレイヤ(以下、単位「ユーザ」という)は、入力装置14を手に持って動かしたり、入力装置14を自由な位置に配置したりして使用することが可能である。入力装置14は、後述するように、各種の入力手段を備える。また、入力装置14は、Bluetooth(登録商標)の技術を用いた無線通信によってゲーム装置12と通信可能である。
【0041】
図2は、
図1に示すゲーム装置12の電気的な構成の限定しない一例を示すブロック図である。
図2に示すように、ゲーム装置12はプロセッサ20を含み、プロセッサ20は、RAM22、フラッシュメモリ24、通信モジュール26、操作ボタン群28およびAV端子30に接続される。
【0042】
プロセッサ20は、ゲーム装置12の全体制御を司る。具体的には、プロセッサ20は、CPUおよびGPUの機能を内蔵したSoC(System on a Chip)である。RAM22は、揮発性記憶媒体であり、プロセッサ20のワークメモリやバッファメモリとして使用される。フラッシュメモリ24は、不揮発性記憶媒体であり、ゲームのようなアプリケーションのプログラムすなわち情報処理プログラムを記憶したり、各種のデータを記憶したりするために使用される。たとえば、情報処理プログラムは、フラッシュメモリ24から読み出され、RAM22に記憶される。ゲーム装置12は、RAM22に記憶された情報処理プログラムを実行することによってゲーム処理などの情報処理を実行する。つまり、ゲーム装置12は、情報処理装置として機能する。
【0043】
なお、ゲーム装置12に装着可能なSDカード、メモリスティックまたは光学ディスクのような外部メモリから情報処理プログラムを読み出し、RAM22に記憶するようにしてもよい。また、ゲーム装置12は、通信可能に接続された外部のコンピュータから情報処理プログラムをダウンロードし、RAM22に記憶するようにしてもよい。ただし、情報処理プログラムの一部をフラッシュメモリ24に記憶しておき、他の一部を光ディスクまたは外部のコンピュータから取得するようにしてもよい。これらについては、いずれか1つの方法または2つ以上の方法が採用される。
【0044】
ただし、情報処理プログラムは、ゲームのアプリケーションプログラムに限定される必要は無く、ゲーム装置12が備える機能(以下、「本体機能」という)についてのアプリケーションプログラム、文書作成アプリケーションプログラム、電子メールアプリケーションプログラム、お絵描きアプリケーションプログラム(またはグラフィックス・ソフトウェア)、文字練習用アプリケーションプログラム、語学トレーニングアプリケーションプログラム、学習アプリケーションプログラムなどの様々なアプリケーションプログラムも該当する。
【0045】
通信モジュール26は、入力装置14と無線通信を行う。上述したように、この実施例では、Bluetooth(登録商標)の規格に従う通信方式が採用される。ただし、ゲーム装置12と入力装置14の通信方式は任意の方式を採用することができる。
【0046】
操作ボタン群28は、電源ボタンおよびリセットボタンなどを含む。AV端子30は、HDMI(登録商標)ケーブルのような接続ケーブルを用いて、テレビ16と接続するための端子である。
【0047】
なお、
図2に示すゲーム装置12の電気的な構成は単なる一例であり、これに限定される必要はない。他の実施例では、入力装置14はゲーム装置12に有線で接続されてもよい。
【0048】
図3(A)および
図3(B)は、入力装置14の外観の一例を示す。
図3(A)は入力装置14の正面、上面および右側面を見せる斜視図であり、
図3(B)は入力装置14の背面、下面および左側面を見せる斜視図である。
【0049】
図3(A)および
図3(B)を参照して、入力装置14は、たとえばプラスチック成型によって形成されたハウジング70を有している。ハウジング70は、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング70(または入力装置14)には、複数のボタンないしスイッチ56a−56i(以下、これらをまとめて「操作ボタン群56」ということがある)が設けられる。具体的には、
図3(A)に示すように、ハウジング70の上面には、十字キー56a、Aボタン56b、ホームボタン56c、−(マイナス)ボタン56d、+(プラス)ボタン56e、1ボタン56f、2ボタン56gおよび電源スイッチ56hが設けられる。また、
図3(B)に示すように、ハウジング70の下面に傾斜面が形成されており、この傾斜面に、Bボタン56iが設けられる。
【0050】
十字キー56aは、方向入力キーであり、仮想のオブジェクト(仮想オブジェクト)または仮想カメラを移動させたり、仮想オブジェクトを選択したりするために用いられる。Aボタン56bは、押しボタンスイッチであり、仮想オブジェクトに方向指示以外の動作を実行させたり、コマンドを実行したりするために使用される。
【0051】
ホームボタン56cおよび電源スイッチ56hもまた、押しボタンスイッチである。ホームボタン56cは、メニュー画面を表示するために使用される。電源スイッチ56hは、ゲーム装置12の電源を遠隔操作によってオン/オフするために使用される。
【0052】
−ボタン56d、+ボタン56e、1ボタン56fおよび2ボタン56gは、それぞれ、押しボタンスイッチであり、モードを選択するために使用されたり、3次元画像を表示する際の注視点に対する仮想カメラすなわち視点の距離または仮想カメラの画角を調整したりする操作に使用される。
【0053】
Bボタン56iもまた、押しボタンスイッチであり、主として、Aボタン56bによって決定したアクションまたはコマンドなどを取り消すために使用される。
【0054】
なお、操作ボタン群56の各々の機能は一例であり、限定されるべきでなく、実行されるプログラムの種類に応じて適宜変更可能である。
【0055】
また、入力装置14は、赤外撮像部58および赤外発光部60(
図4参照)を有しており、
図3(B)に示すように、ハウジング70の先端面には、赤外線を発光および赤外画像を撮像するための窓部72が設けられる。つまり、赤外撮像部58および赤外発光部60は、ハウジング70の内部であり、このハウジング70の先端面(または窓部72)の近傍に配置される。
【0056】
赤外撮像部58は、入力装置14の先端方向(
図3(A)に示すz軸正方向)を撮像方向として、窓部72を介して入力装置14の周囲を撮像する。つまり、赤外撮像部58は、現実空間を撮像する。赤外発光部60は、入力装置14の先端方向を中心とする所定範囲を照射範囲として、赤外撮像部58が撮像する撮像対象に窓部72を介して赤外線を照射する。
【0057】
窓部72は、赤外撮像部58のカメラのレンズや赤外発光部60の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質(たとえば、透明な材質)で構成される。なお、窓部72は、ハウジング70に形成された孔であってもよい。また、この実施例においては、カメラが検知する光(この実施例では、赤外光)以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部58自身が有する。ただし、他の実施例においては、窓部72がフィルタの機能を有していてもよい。
【0058】
さらに、入力装置14は、角速度センサ62(
図4参照)を有しており、角速度センサ62は、入力装置14の縦方向の軸回り(z軸回り)、横方向の軸回り(x軸回り)および前後方向の軸回り(y軸回り)の3軸回りについての各々の角速度を検出する。ただし、y軸の回転はヨー角で表わされ、x軸の回転はピッチ角で表わされ、そして、z軸の回転はロール角で表わされる。この角速度センサ62は、典型的には、圧電振動型のジャイロセンサを用いることができるが、他の方式のものを用いるようにしてもよい。
【0059】
なお、
図3(A)および
図3(B)に示した入力装置14の形状や、操作ボタン群56の各々の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変されてもよい。
【0060】
図4に示すように、入力装置14は、制御部50を含み、制御部50は、通信モジュール52、メモリ54、操作ボタン群56、赤外撮像部58、赤外発光部60および角速度センサ62に接続される。
【0061】
制御部50は、たとえば、マイクロコンピュータで構成され、入力装置14の全体制御を行う。通信モジュール52は、ゲーム装置12と通信可能に接続するために設けられる。上述したように、ゲーム装置12に設けられる通信モジュール26は、Bluetooth(登録商標)の規格に従う無線通信方式を採用するため、通信モジュール52も、Bluetooth(登録商標)の規格に従う無線通信方式を採用する。したがって、入力装置14は、操作データを通信モジュール52から上記の無線通信方式に従ってゲーム装置12に送信する。
【0062】
メモリ54は、たとえば、フラッシュメモリ等の不揮発性の記憶装置であり、ファームウェアおよび入力装置14の識別情報(以下、「コントローラID」という)を記憶する。制御部50は、メモリ54に記憶されるファームウェアを実行することによって各種の処理を実行する。また、制御部50は、入力装置14をゲーム装置12と無線通信可能に接続したとき、コントローラIDをゲーム装置12に通知する。詳細な説明は省略するが、操作データにコントローラIDが付加され、操作データの送信元の入力装置14が識別される。
【0063】
操作ボタン群56に対して行なわれた操作に関する情報(操作データ)は、所定周期で制御部50に繰り返し出力される。ただし、操作ボタン群56は、上述した各種のボタンないしスイッチ(56a−56i)に相当し、各種のボタンないしスイッチ(56a−56i)に対する入力状況、すなわち押下されたか否かを表す操作データを制御部50に出力する。
【0064】
上述したように、入力装置14は、赤外撮像部58を備える。赤外撮像部58は、入力装置14の周囲を撮像する赤外線カメラを有する。一例として、ゲーム装置12または入力装置14は、撮像された情報(たとえば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等)を算出し、当該情報に基づいて、入力装置14の周囲変化を判別する。また、赤外撮像部58は、環境光によって撮像を行ってもよいが、この実施例においては、赤外線を照射する赤外発光部60を有する。赤外発光部60は、たとえば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部60によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部58は、より鮮明な赤外線画像を得ることができる。
【0065】
なお、赤外撮像部58と赤外発光部60とは、それぞれ別のデバイスとして入力装置14内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして入力装置14内に設けられてもよい。また、この実施例においては、赤外線カメラを有する赤外撮像部58が用いられるが、他の実施例においては、撮像手段として、赤外線カメラに代えて可視光カメラ(可視光イメージセンサを用いたカメラ)が用いられてもよい。
【0066】
制御部50は、CPUまたはメモリ等を含み、入力装置14に備えられた図示しない記憶装置に記憶された所定のプログラム(たとえば、画像処理や各種演算を行うためのアプリケーションプログラム)に基づいて、ゲーム装置12からの指令に応じて赤外撮像部58に対する管理処理を実行する。たとえば、制御部50は、赤外撮像部58に撮像動作を行わせたり、撮像結果に基づく情報(撮像画像の情報、あるいは、当該情報から算出される情報等)を取得および/または算出して通信モジュール52を介してゲーム装置12へ送信したりする。また、制御部50は、ゲーム装置12からの指令に応じて赤外発光部60に対する管理処理を実行する。たとえば、制御部50は、ゲーム装置12からの指令に応じて赤外発光部60の発光を制御する。なお、制御部50が処理を行う際に用いるメモリは、制御部50内に設けられたメモリであってもよいし、メモリ54であってもよい。
【0067】
角速度センサ62は、慣性センサであり、所定の3軸(たとえば、
図3(A)に示すxyz軸)回りの角速度を検出する。角速度センサ62は、それぞれ制御部50に接続される。そして、角速度センサ62の検出結果は、適宜のタイミングで繰り返し制御部50へ出力される。したがって、ゲーム装置12は、入力装置14の動きおよび/または姿勢に関する情報を、操作データ(具体的には、角速度センサ62の検出結果)に基づいて算出することができる。
【0068】
図5−
図9は、それぞれ、着色画面100および着色方法を説明するための図である。
図5に示すように、着色画面100は、テレビ16に表示され、自動車を模した仮想オブジェクトの画像(以下、「車オブジェクト画像」という)102を含む。着色画面100が、テレビ16に表示された当初では、カーソル画像110が画面中央に表示される。
【0069】
なお、車オブジェクト画像102は一例であり、他の仮想オブジェクトの画像が表示されてもよい。また、仮想オブジェクトの画像は、ユーザによって選択されてもよい。さらに、仮想オブジェクトの画像は、完成品のオブジェクトについての画像のみならず、部品のオブジェクトについての画像であってもよい。
【0070】
また、
図5に示すように、ユーザは自身の手にストラップで固定した入力装置14を把持して、着色するための操作を行う。
図5−
図9に示す例では、ユーザはテレビ16の正面に存在しているものと仮定するが、ユーザはテレビ16の正面に存在している必要はない。
【0071】
この実施例では、Aボタン56bが操作されると、車オブジェクト画像102のうち、カーソル画像110で指示される領域(または範囲)に色が着色される。この実施例では、カーソル画像110は、円とこの円の中心位置を示す十字とで構成されており、円に対応する領域に色が着色される。また、この実施例では、車オブジェクト画像102に付されていた色に重ねて入力装置14で指示された色が付される。ただし、車オブジェクト画像102に付されていた色に代えて入力装置14で指示された色が付されてもよい。したがって、車オブジェクトのような仮想オブジェクトのうちの全部または一部の色情報が更新(または変更)される。
【0072】
なお、図示および詳細な説明は省略するが、入力装置14を用いることによって付される色は、複数の色から選択された色であり、色を選択するためのメニューから選択することができる。
【0073】
また、この実施例では、車オブジェクト画像102のような仮想オブジェクトの画像に着色する場合について説明するが、車オブジェクト画像102以外の部分が着色されるようにしてもよい。車オブジェクト画像102以外の部分としては、仮想オブジェクトの画像の背景または仮想のキャンバスなどが該当する。
【0074】
カーソル画像110は、入力装置14の向きを変えることに応じて移動される。つまり、ユーザが入力装置14を振ることにより、仮想オブジェクトの画像が現在表示されている向きにおいて、この仮想オブジェクトの画像のうち、着色したい位置または場所を変更することができる。具体的には、入力装置14の先端の向きが横方向に移動された場合には、入力装置14のヨー角が変化し、このヨー角の変化に応じてカーソル画像110が移動される。また、入力装置14の先端の向きが縦方向に移動された場合には、入力装置14のピッチ角が変化し、このピッチ角の変化に応じてカーソル画像110が縦(または上下)に移動される。また、入力装置14の先端の向きが斜め方向に移動された場合には、入力装置14のヨー角およびピッチ角が変化し、このヨー角およびピッチ角の変化に応じてカーソル画像110が斜めに移動される。つまり、入力装置14はポインティングデバイスとしても用いられる。上述したように、カーソル画像110は、着色画面100が最初に表示されるときに画面中央に表示され、その後、角速度センサ62の出力に基づいてその表示位置が変位(または更新)される。
【0075】
このように、カーソル画像110は、入力装置14を振ることにより、着色する位置または場所を変更できるので、着色するための操作が簡単である。
【0076】
また、十字キー56aを操作することにより、仮想カメラ(図示せず)の位置を変化させることができ、−ボタン56dを操作することにより、仮想カメラがズームアウトされ、+ボタン56eを操作することにより、仮想カメラがズームインされる。
【0077】
仮想カメラの注視点は、車オブジェクト画像102の中心に設定されており、十字キー56aを操作することにより、注視点と仮想カメラの位置(つまり、視点)を結ぶ直線を半径とする球体の表面に沿って仮想カメラが移動される。したがって、着色画面100では、車オブジェクト画像102が回転される。つまり、仮想オブジェクトの画像のうち、着色したい面または見たい面を変更することができる。
【0078】
また、−ボタン56dが操作されると、仮想カメラの位置が注視点から離れる方向に移動される。一方、+ボタン56eが操作されると、仮想カメラの位置が注視点に近づく方向に移動される。つまり、注視点から視点までの距離が変化される。ただし、注視点から視点までの距離を変化させることに代えて、仮想カメラの画角を変化させるようにしてもよい。つまり、現在の向きにおいて、仮想オブジェクトの画像を拡大表示させることにより、詳細に着色したり、仮想オブジェクトの画像の細部を見たりすることができる。また、現在の向きにおいて、仮想オブジェクトの画像を縮小表示させることにより、一度に広い範囲を着色したり、仮想オブジェクトの画像を全体的に見たりすることができる。一度に広い範囲を着色できるのは、カーソル画像110が重なる領域が、仮想オブジェクトの画像を拡大表示させた場合よりも大きいからである。
【0079】
図6に示す着色画面100では、
図5に示す着色画面100において、+ボタン56eが操作されることにより、車オブジェクト画像102が拡大され、さらに、入力装置14の先端が左斜め前方に向けられることにより、カーソル画像110がテレビ16を正面から見た場合に左に移動される。
【0080】
図6に示す着色画面100では、車オブジェクト画像102のドアの部分が拡大されるため、ドアの細部を見たり、ドアの部分を広い範囲で着色したりすることができる。
【0081】
また、この実施例では、車オブジェクト画像102の一部をマスクして、着色することもできる。つまり、この実施例の着色処理においては、車オブジェクト画像102の着色に関し、マスク処理を行わないモードと、マスク処理を行うモード(以下、「マスクモード」という)が存在する。この実施例では、1ボタン56fが操作されることにより、マスクモードが設定される。マスクモードが設定されると、赤外撮像部58で撮影された画像に基づいてマスク画像130(
図8参照)の候補となる画像(以下、「候補画像」という)120が生成され、着色画面100に対応する画像に重ねてテレビ16に表示される。つまり、候補画像120が前面に配置された着色画面100がテレビ16に表示される。
【0082】
図7はマスクモードにおける着色画面100の限定しない一例を示す図である。
図7に示すように、ユーザは、予め用意した型紙150を左手で持ち、この型紙150を赤外撮像部58で撮影するように、入力装置14の先端面の前方に翳している。
【0083】
図7に示す型紙150は、撮影対象(または撮影の対象物)であり、所定の大きさで正方形に切断した厚紙を星形に切り抜いたものである。したがって、
図7に示す状態において、型紙150が赤外撮像部58で撮影される場合に、型紙150とユーザの左手の一部によって赤外発光部60から照射される赤外線が反射される。この実施例では、赤外撮像部58によって撮影された画像において、輝度が一定値以上の部分に所定の色(たとえば、グレー)が付されることにより、候補画像120が生成され、輝度が一定値未満の部分は透明にされる(または透過される)。つまり、赤外撮像部58によって撮影された画像のうち、輝度が一定値以上の部分がマスクする領域の候補として決定され、輝度が一定値未満の部分がマスクする領域の候補から除外される。候補画像120は、マスク画像130の元になる画像である。したがって、マスク画像130にも、所定の色が付される。このため、ユーザはマスク画像130を視認することができる。
【0084】
また、
図7に示す例では、候補画像120に加えて、この候補画像120の生成したときに赤外撮影部58によって撮影された画像の範囲(または大きさ)に相当する範囲を平面的に示すために点線の枠を示してあるが、実際の着色画面100では、点線の枠は表示されない。ただし、点線の枠は表示されてもよい。これらのことは、マスク画像130を表示する場合についても同じである。
【0085】
このように、候補画像120に単色の所定の色を付すのは、上述したように、候補画像120がマスク画像130として表示された場合に、マスク画像130を分かり易くするためである。したがって、候補画像120に付す色は固定せずに、着色する色または仮想オブジェクトの画像に付された色とは異なる色が付されてもよい。ただし、候補画像120をマスク画像130として表示するときに、マスク画像130の色を決定してもよい。
【0086】
また、上述したように、候補画像120は、マスク画像130の元になる画像であり、候補画像120およびマスク画像130は、いずれも現実空間における対象物(ここでは、型紙150)に対応する画像であり、「第1画像」に相当する。
【0087】
マスクモードにおいて、マスク画像130が表示されるまでは、カーソル画像110に代えて候補画像120が表示され、入力装置14が左右および/または上下に振られることにより、赤外撮像部58の撮影範囲が変化される。したがって、撮影対象が変化されたり、同じ撮影対象であっても撮影される位置、向きおよび大きさの少なくとも1つが変化されるため、候補画像120の形状(および大きさ)および/または候補画像120の位置が変化される。ユーザは、所望の位置に、所望の形状(および大きさ)を有するマスク画像130を表示させるように、候補画像120の形状および/または候補画像120の位置を変化させる。
【0088】
このように、候補画像120の形状および/または候補画像120の位置を変化させる場合には、入力装置14の少なくとも先端面は移動される。このため、たとえば、候補画像120の位置を変化させるが、候補画像120の形状を変化させたくない場合には、ユーザは、入力装置14の先端面の移動に追従するように型紙150も移動させる。
【0089】
候補画像120が、ユーザの所望の位置に配置され、ユーザの所望の形状を有している場合に、ユーザは着色するためにAボタン56bを操作するが、Aボタン56bを操作したときに、候補画像120がマスク画像130として現在の位置に固定表示される。この実施例では、マスク画像130は、候補画像120の位置が固定されるとともに、候補画像120の形状が固定された画像を意味する。
【0090】
このように、この実施例では、候補画像120とマスク画像130を区別してあるが、固定表示される前においても、候補画像120をマスク画像130として扱うようにしてもよい。
【0091】
また、この実施例では、マスク画像130の固定表示と着色指示をAボタン56bの操作に応じて行うようにしてあるが、マスク画像130の固定表示と着色指示は別のボタンないしスイッチの操作に応じて行うようにしてよい。
【0092】
図8はマスク画像130が固定され、車オブジェクト画像102、カーソル画像110およびマスク画像130を含む着色画面100の限定しない一例を示す。
【0093】
図8に示すように、マスク画像130が固定表示されると、カーソル画像110が表示され、マスクモードでないモードと同様に、着色する領域がこのカーソル画像110によって指示される。ユーザは、入力装置14を用いてカーソル画像110を所望の位置に移動させ、Aボタン56bを操作すると、着色指示がゲーム装置12に入力される。すると、カーソル画像110と車オブジェクト画像102が重畳される場合に、カーソル画像110によって指示される領域に対応する車オブジェクト画像102の色情報が更新される。つまり、カーソル画像110がマスク画像130に重なる領域(または部分)については、車オブジェクト画像102の色情報は更新されない。つまり、色情報の更新が制限される。一方、カーソル画像110がマスク画像130に重ならない領域(または部分)については、車オブジェクト画像102の色情報は更新される。
【0094】
なお、
図8からも分かるように、マスク画像130が固定表示されると、型紙150を撮影する必要はない。
【0095】
図8に示した状態において、Aボタン56bが操作されると、車オブジェクト画像102において、カーソル画像110が指示する領域のうち、マスク画像130と重ならない領域が着色される。
【0096】
ユーザは、カーソル画像110を移動させることにより、マスク画像130のうちの星型にくり抜かれた部分(または領域)に対応する領域を複数回に分けて車オブジェクト画像102を着色することにより、
図9に示すような着色画面100がテレビ16に表示される。
【0097】
図9に示す着色画面100は、星型の模様を着色した後に、後述するように、マスク画像130の固定を解除するとともにマスクモードを解除した状態を示す。また、
図9は、入力装置14が、星型の模様を着色した後に、その先端を右斜め前方に向けられた状態を示している。
【0098】
上述した候補画像120およびマスク画像130は一例であり、限定されるべきでない。型紙150のくり抜かれた部分の形状は他の所定の形状であってもよい。たとえば、他の所定の形状は、所定の図形、所定のアニメキャラクタまたは所定のゲームキャラクタの形状、所定の動物を模した形状などの種々の形状を採用することができる。ただし、くり抜かれた部分の形状に限定される必要はなく、型紙150の外観形状が所定の形状であってもよい。この場合、着色されない部分が所定の形状で表示される。つまり、着色しない部分によって、型紙150の形状の模様を付すことができる。
【0099】
また、上述したように、型紙150のような現実空間のオブジェクトを撮像した画像に基づいて候補画像120を生成および表示し、候補画像120の形状および/または候補画像120の位置に固定表示することにより、この候補画像120がマスク画像130として用いられる。したがって、たとえば、ユーザは、自身の周囲に存在する物または自身の左手を撮影して、周囲に存在する物または左手の形状のマスク画像130を固定表示することもできる。この場合、仮想オブジェクトの画像に、マスク画像130を重ねて、このマスク画像130の周囲を着色すると、このマスク画像130の形状に対応する模様が現れる。
【0100】
マスク画像130の固定が解除されるまでは、マスク画像130は固定表示され続ける。たとえば、Bボタン56iが操作されることにより、マスク画像130の固定が解除される。すると、候補画像120の生成および表示が再開される。また、マスク画像130の固定が解除された後に、2ボタン56gが操作されることにより、マスクモードが解除される。
【0101】
図10は、
図2に示したゲーム装置12のRAM22のメモリマップ300の一例を示す。
図10に示すように、RAM22は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、情報処理プログラムの一例であるグラフィックス・ソフトウェアなどが記憶される。
【0102】
図10に示すように、プログラム記憶領域302には、メイン処理プログラム302a、画像生成プログラム302b、画像表示プログラム302c、操作検出プログラム302d、画像取得プログラム302e、候補画像生成プログラム302f、マスク固定プログラム302g、色情報更新プログラム302hおよび固定解除プログラム302iなどが記憶される。
【0103】
詳細な説明は省略するが、各プログラム302a−302iは、ゲーム装置12に電源が投入された後の適宜のタイミングで、フラッシュメモリ24からその一部または全部が読み込まれてRAM22に記憶される。
【0104】
また、グラフィックス・ソフトウェアは、画像生成プログラム302b、画像表示プログラム302c、操作検出プログラム302d、画像取得プログラム302e、候補画像生成プログラム302f、マスク固定プログラム302g、色情報更新プログラム302hおよび固定解除プログラム302iを含む。ただし、画像生成プログラム302b、画像表示プログラム302c、操作検出プログラム302dは、グラフィックス・ソフトウェアに含まれずに、ゲーム装置12に予め記憶されていてもよい。
【0105】
メイン処理プログラム302aは、ゲーム装置12のメインルーチンの処理を実行するためのプログラムである。画像生成プログラム302bは、後述する画像生成データ304bを用いて、着色画面100などの各種の画面に対応する表示画像データを生成するためのプログラムである。画像表示プログラム302cは、画像生成プログラム302bに従って生成した表示画像データをAV端子30および接続ケーブルを介してテレビ16に出力するためのプログラムである。したがって、表示画像データに対応する画面がテレビ16に表示される。
【0106】
操作検出プログラム302dは、入力装置14から入力または送信される操作データを検出するためのプログラムである。画像取得プログラム302eは、入力装置14から入力または送信される撮像結果に基づく情報を逐次取得するためのプログラムである。候補画像生成プログラム302fは、マスクモードが設定されたことに応じて、画像取得プログラム302eに従って逐次取得された撮像結果に基づく情報から、候補画像120を生成するためのプログラムである。
【0107】
マスク固定プログラム302gは、操作検出プログラム302dに従って検出された操作データがマスクの固定を示す場合に、候補画像生成プログラム302fに従って生成された候補画像120をマスク画像130として固定表示するためのプログラムである。
【0108】
色情報更新プログラム302hは、操作検出プログラム302dに従って検出された操作データが着色指示を示す場合に、カーソル画像110の領域内の色情報を更新するためのプログラムである。ただし、マスク画像130が表示されている場合には、カーソル画像110が指示する領域内であっても、マスク画像130が重畳されている部分についての色情報は更新されない。
【0109】
固定解除プログラム302iは、操作検出プログラム302dに従って検出された操作データがマスク画像130の固定解除を示す場合に、マスク画像130を消去するためのプログラムである。したがって、マスク画像130が固定解除されると、候補画像生成プログラム302fに従う処理が再開される。ただし、マスクモードが解除されると、候補画像120の生成および表示も終了される。
【0110】
なお、プログラム記憶領域302には、着色する色を選択するための色選択プログラム、BGM等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ24などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【0111】
図11は
図10に示したデータ記憶領域304の具体的な内容の一例を示す図である。データ記憶領域304には、操作データ304a、画像生成データ304b、取得画像データ304c、候補画像データ304d、マスク画像データ304eおよび色情報データ304fなどが記憶される。また、データ記憶領域304には、マスクモードフラグ304gおよび固定フラグ304hなどが設けられる。
【0112】
操作データ304aは、入力装置14に対するユーザの操作を表すデータであり、上述したように、入力装置14から送信されてゲーム装置12において取得され、RAM22に記憶される。また、プロセッサ20の処理に用いられた操作データ304aは、RAM22から消去される。
【0113】
画像生成データ304bは、ポリゴンデータおよびテクスチャデータなど、画像データを生成するために必要なデータである。取得画像データ304cは、マスクモードにおいて、入力装置14から送信される撮像結果に基づく情報についてのデータである。候補画像データ304dは、取得画像データ304cに基づいて生成された候補画像についてのデータである。
【0114】
マスク画像データ304eは、マスク画像についてのデータであり、マスクを固定することが指示されたときの候補画像データ304dがマスク画像データ304eとして記憶される。色情報データ304fは、着色画面100に含まれる車オブジェクト画像102に付された色の色情報についてデータのである。
【0115】
マスクモードフラグ304gは、マスクモード中かどうかを判断するためのフラグであり、マスクモード中ではオンされ、マスクモード以外ではオフされる。固定フラグ304hは、マスク画像130が固定されているかどうかを判断するためのフラグであり、マスク画像130が固定されている場合にはオンされ、マスク画像130が固定されていない場合にはオフされる。
【0116】
図示は省略するが、データ記憶領域304には、情報処理の実行に必要な他のデータが記憶されたり、情報処理の実行に必要な、他のフラグおよびカウンタ(タイマ)が設けられたりする。
【0117】
図12−
図15は、
図2に示したゲーム装置12に設けられるプロセッサ20の着色処理の限定しない一例を示すフロー図である。ただし、着色処理は、グラフィックス・ソフトウェアの一部の処理である。なお、
図12(後述する
図13−
図15についても同様)に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、
図12−
図14に示すフロー図の各ステップの処理をプロセッサ20が実行するものとして説明するが、プロセッサ20以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【0118】
ゲーム装置12の電源が投入されると、全体処理の実行に先だって、プロセッサ20は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってRAM22等の各ユニットが初期化される。ゲーム装置12は、ユーザによって、グラフィックス・ソフトウェアの実行が指示され、さらに、着色処理の実行が指示されると、着色処理を開始する。
【0119】
以下、着色処理について説明するが、この着色処理と並行して、カーソル画像110の位置を更新する更新処理と、仮想カメラを制御するカメラ制御処理も実行される。更新処理およびカメラ制御処理については図示および詳細な説明は省略するが、更新処理では、プロセッサ20は、角速度センサ62に出力に基づいて入力装置14の横方向および/または縦方向の動きを検出し、それに従ってカーソル画像110の位置を更新する。ただし、候補画像120が表示され、カーソル画像110が非表示されている場合には、角速度センサ62の出力に基づいて候補画像120の位置が更新される。このとき、カーソル画像110の中心の位置に相当する位置に、候補画像120の中心の位置が重なるように、候補画像120が配置される。これは一例であり、限定されるべきでは無く、カーソル画像110の中心の位置に相当する位置に、赤外撮像部58で撮影された画像に相当する範囲(
図7に示した点線の枠)の中心の位置が重なるように、候補画像120が配置されてもよい。また、カメラ制御処理では、プロセッサ20は、十字キー56a、−ボタン56dおよび+ボタン56eの操作に従って、仮想カメラの位置およびズームを制御する。
【0120】
図12に示すように、プロセッサ20は、着色処理を開始すると、ステップS1で、終了の指示が有るかどうかを判断する。ここでは、プロセッサ20は、ホームボタン56cが操作され、さらに、終了することが選択されたかどうかを判断する。
【0121】
ステップS1で“YES”であれば、つまり、終了の指示が有れば、着色処理を終了する。一方、ステップS1で“NO”であれば、つまり、終了の指示が無ければ、ステップS3で、
図4に示したような着色画面100をテレビ16に表示する。ただし、着色処理を開始した当初においては、ステップS3では、着色画面100の初期画面が表示される。このとき、車オブジェクト画像102に付された色すなわち初期状態の色についての情報に対応する色情報データ304fがRAM22のデータ記憶領域304に記憶される。
【0122】
次のステップS5では、マスクモード中かどうかを判断する。ここでは、プロセッサ20は、マスクモードフラグ304gがオンであるかどうかを判断する。ステップS5で“YES”であれば、つまり、マスクモード中であれば、ステップS7で、マスクモードの解除指示が有るかどうかを判断する。ここでは、プロセッサ20は、2ボタン56gが操作されたかどうかを判断する。
【0123】
ステップS7で“NO”であれば、つまり、マスクモードの解除指示が無ければ、
図13に示すステップS15に進む。一方、ステップS7で“YES”であれば、つまり、マスクモードの解除指示が有れば、ステップS9で、マスクモードフラグ304gをオフして、
図15に示すステップS39に進む。
【0124】
また、ステップS5で“NO”であれば、つまり、マスクモード中でなければ、ステップS11で、マスクモードの設定指示が有るかどうかを判断する。ここでは、プロセッサ20は、1ボタン56fが操作されたかどうかを判断する。ステップS11で“NO”であれば、つまり、マスクモードの設定指示が無ければ、ステップS39に進む。一方、ステップS11で“YES”であれば、つまり、マスクモードの設定指示が有れば、ステップS13で、マスクモードフラグ304gをオンして、ステップS15に進む。
【0125】
図13に示すように、ステップS15では、赤外画像を取得する。つまり、このステップS15では、プロセッサ20は、赤外撮像部58から撮像結果に基づく情報を取得する。次のステップS17では、取得した赤外画像、すなわち赤外撮像部58から取得した撮像結果に基づく情報から候補画像120を生成する。続いて、ステップS19では、候補画像120を、車オブジェクト画像102を含む着色画面100の画像の前面に重ねて表示する。ただし、候補画像120が表示されると、カーソル画像110は消去または非表示される。
【0126】
そして、ステップS21で、固定指示が有るかどうかを判断する。ここでは、プロセッサ20は、Aボタン56bが操作されたかどうかを判断する。ステップS21で“YES”であれば、つまり、固定指示があれば、ステップS23で、マスク画像130を固定表示する。このステップS23では、プロセッサ20は、固定指示が有ったときの候補画像120をマスク画像130にするとともに、このマスク画像130を現在の表示位置に固定する。次のステップS25では、固定フラグ304hをオンして、
図14に示すステップS33に進む。
【0127】
一方、ステップS21で“NO”であれば、つまり、固定指示が無ければ、ステップS27で、マスク画像130の固定中であるかどうかを判断する。ここでは、プロセッサ20は、固定フラグ304hがオンであるかどうかを判断する。
【0128】
ステップS27で“NO”であれば、つまり、マスク画像130の固定中でなければ、
図12に示したステップS1に戻る。一方、ステップS27で“YES”であれば、つまり、マスク画像130の固定中であれば、
図14に示すステップS29に進む。
【0129】
この実施例では、ステップS1−S27までのスキャンタイムが1フレームである。ただし、1フレームは、画面更新単位時間であり、たとえば、30fpsまたは60fpsである。したがって、マスクモード中では、固定指示が有るまでは、逐次赤外画像が取得され、候補画像120が更新される。
【0130】
図14に示すように、ステップS29では、固定解除指示が有るかどうかを判断する。ここでは、プロセッサ20は、Bボタン56iが操作されたかどうかを判断する。ステップS29で“YES”であれば、つまり、固定解除指示が有れば、ステップS31で、固定フラグ304hをオフし、ステップS1に戻る。
【0131】
一方、ステップS29で“NO”であれば、つまり、固定解除指示が無ければ、ステップS33で、着色指示が有るかどうかを判断する。ここでは、プロセッサ20は、Aボタン56bが操作されたかどうかを判断する。このことは、後述するステップS39においても同じである。
【0132】
ステップS33で“NO”であれば、つまり、着色指示が無ければ、ステップS37に進む。一方、ステップS33で“YES”であれば、つまり、着色指示が有れば、ステップS35で、車オブジェクト画像102のうち、マスク画像130と重なる領域を除き、カーソル画像110が指示する領域の色情報を更新して、ステップS37に進む。ステップS37では、着色画面100を更新する。したがって、車オブジェクト画像102の一部が更新される。その後、ステップS29に戻る。
【0133】
また、上述したように、マスクモードでない場合には、
図15のステップS39で、着色指示が有るかどうかを判断する。ステップS39で“NO”であれば、ステップS1に戻る。一方、ステップS39で“YES”であれば、ステップS41で、車オブジェクト画像102のうち、カーソル画像110が指示する領域の色情報を変更し、ステップS43で、着色画面100を更新して、ステップS39に戻る。
【0134】
この実施例によれば、赤外撮像部で取得した情報に基づいてマスク画像の候補画像を生成し、生成した候補画像に基づいて決定されたマスク画像を用いて仮想オブジェクトを着色するので、操作が簡単である。したがって、仮想オブジェクトの画像の色情報を容易に更新することができる。
【0135】
なお、この実施例では、着色指示があると、車オブジェクト画像のうち、マスク画像と重なる領域を除いて、カーソル画像が指示する領域内のすべての色情報を一度に更新するようにしたが、少なくとも一部の色情報を一度に更新するようにしてもよい。たとえば、仮想のスプレー缶から霧状の塗料を吹き付ける様子を再現する場合には、仮想のスプレー缶から霧状の塗料が仮想オブジェクトの画像に噴射され、カーソル画像が指示する領域内が次第に着色される。このように、仮想のスプレー缶から霧状の塗料が噴射され、オブジェクトが着色される場合には、Aボタンが操作されている間、オブジェクトは継続的に着色される。かかる場合には、マスクモードにおいて、Aボタンが操作されなくなったことに応じて、着色が終了されるとともに、マスク画像の固定が解除されるようにしてもよい。つまり、マスク画像は、Aボタンが操作されている間だけ固定表示されるようにしてもよい。
【0136】
また、この実施例では、候補画像が表示されている場合に、Aボタンが操作されると、候補画像の位置と、候補画像の形状が固定されたマスク画像を表示するようにしたが、これに限定される必要はない。他の実施例では、候補画像の形状が固定され、候補画像の位置が固定されないマスク画像を表示するようにしてもよい。かかる場合には、マスク画像は、入力装置が振られると、それに従って、カーソル画像とともに移動される。
【0137】
さらに、この実施例では、仮想オブジェクトの画像を着色する場合について説明したが、これに限定される必要はない。仮想オブジェクトの画像に予め付された色または着色された色を、取り除く(または落とす)場合にも、同様に、実施例と同様の手法によって、マスク画像を設定するようにしてもよい。かかる場合には、カーソル画像で指示される部分または領域の色が取り除かれるが、マスク画像を用いることにより、仮想オブジェクトの画像のうち、マスク画像と重なる領域(または部分)については色は取り除かれない。つまり、仮想オブジェクトの画像における所望の部分の色を取り除くことができる。このように、色を取り除く場合にも、仮想オブジェクトの画像の色情報は更新される。
【0138】
さらにまた、この実施例では、赤外画像を毎フレーム取得し、これに応じて候補画像を更新するようにしたが、赤外画像の取得または/および候補画像の更新は数フレーム毎にまたは数十フレーム毎に実行されてもよい。
【0139】
また、この実施例では、マスク画像は、その中心がカーソル画像の中心と重なるように表示されるため、着色画面(テレビ16)に対して固定されるようにしたが、これに限定される必要はない。マスク画像は、その中心がカーソル画像の中心に対応する位置に表示され、仮想オブジェクトの画像または着色画面に対応する画像に対して固定されるようにしてもよい。
【0140】
さらに、この実施例では、赤外線カメラを用いる場合について説明したが、可視光カメラを用いる場合には、撮影画像に対して2値化処理を施し、一定値以上の輝度を有する部分に所定の色を付し、一定値未満の輝度を有する部分を透明にした候補画像120を生成するようにすればよい。ただし、所定の色を付した部分がマスク画像として機能する。
【0141】
さらにまた、この実施例では、赤外撮像部で撮影された画像のうち、撮影対象である対象物に対応する部分をマスクするように候補画像120を生成するようにしたが、対象物に対応する部分以外の部分をマスクするように候補画像120を生成するようにしてもよい。この場合、候補画像120を生成する場合に、一定値以上の輝度を有する部分が透明にされ、一定値未満の輝度を有する部分に所定の色が付される。このことは、可視光カメラを用いる場合も同じである。また、対象物に対応する部分以外の部分をマスクするように生成された候補画像120も、マスク画像130の元になる画像であり、候補画像120およびマスク画像130は、いずれも現実空間における対象物に対応する画像であり、「第1画像」に相当する。
【0142】
また、この実施例では、入力装置をポインティングデバイスとして用いることにより、この入力装置を動かして、カーソル画像を移動させるようにしたが、これに限定される必要はない。入力装置の十字キーを用いてカーソル画像を移動させるようにしてもよい。かかる場合には、仮想カメラは別の入力装置を用いて移動させたり、入力装置において仮想カメラを移動させるモードに設定した後に十字キーを用いてカーソル画像を移動させたりするようにしてもよい。または、入力装置にアナログスティックのような他の入力手段を設けて、このアナログスティックを用いてカーソル画像を移動させるようにしてもよい。
【0143】
なお、上述の実施例で示した具体的な数値および画面は一例であり、実際の製品に応じて適宜変更可能である。