(57)【要約】      （修正有）【課題】画像の色情報を容易に更新する情報処理プログラム、システム、装置及び方法を提供する。【解決手段】ゲームシステム１０は、ゲーム装置１２を含み、ゲーム装置には入力装置１４およびテレビ１６が接続される。グラフィックス・ソフトウェアが実行され、着色処理が開始されると、仮想オブジェクトが表示され、マスクモードが設定されると、入力装置１４が備える赤外撮像手段で現実空間が撮影される。撮影結果に基づく候補画像が生成され、ユーザの固定指示に従って候補画像がマスク画像として、仮想オブジェクトを含む画像の前面に固定表示される。着色指示があると、カーソル画像で指示された仮想オブジェクトの画像のうち、マスク画像と重ならない領域が着色され、仮想オブジェクトの画像の色情報が更新され、一方、マスク画像と重なる領域は着色されずに、色情報の更新が制限される。【選択図】図１
2019212104.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータを、
現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する画像取得手段と、
前記画像に含まれる前記対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる表示制御手段と、
前記第２画像の色情報を更新する更新手段として機能させ、
前記更新手段は、前記第１画像と前記第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、情報処理プログラム。
【請求項２】
前記コンピュータを、前記第１画像の表示位置を固定する位置固定手段としてさらに機能させる、請求項１記載の情報処理プログラム。
【請求項３】
前記コンピュータを、前記更新手段によって前記２画像の色情報が更新されている場合に、前記第１画像の表示位置を固定する位置固定手段としてさらに機能させる、請求項１記載の情報処理プログラム。
【請求項４】
前記コンピュータを、入力装置でユーザによる更新指示を受け付けたかどうかを判断する指示判断手段としてさらに機能させ、
前記位置固定手段は、前記指示判断手段によってユーザによる更新指示を受け付けたことが判断された場合に、前記第1画像の表示位置を固定する、請求項２または３記載の情報処理プログラム。
【請求項５】
前記コンピュータを、入力装置でユーザによる更新指示を受け付けたかどうかを判断する指示判断手段と、
前記位置固定手段が前記第１画像の表示位置を固定した後に、前記指示判断手段によってユーザによる更新指示が受け付けられていないと判断されると、前記第１画像の表示位置の固定を解除する固定解除手段としてさらに機能させる、請求項２ないし４のいずれかに記載の情報処理プログラム。
【請求項６】
前記コンピュータを、前記更新手段によって前記２画像の色情報が更新されている場合に、前記第１画像の形状を固定する形状固定手段としてさらに機能させる、請求項１から５までのいずれかに記載の情報処理プログラム。
【請求項７】
前記撮像手段は、赤外撮像手段である、請求項１から６までのいずれかに記載の情報処理プログラム。
【請求項８】
前記表示制御手段は、前記第２画像として、仮想オブジェクトの画像を表示部に表示させ、
前記更新手段は、前記仮想オブジェクトの画像の色情報を更新する、請求項１から７までのいずれかに記載の情報処理プログラム。
【請求項９】
前記コンピュータを、ポインティングデバイスからの出力に基づいて入力座標を取得する座標取得手段としてさらに機能させ、
前記更新手段は、前記第２画像のうち、前記入力座標に対応する箇所の色情報を更新する、請求項１から８までのいずれかに記載の情報処理プログラム。
【請求項１０】
前記ポインティングデバイスは動きセンサおよび／または前記撮像手段を備え、
前記座標取得手段は、前記動きセンサで検出された動きデータに基づいて入力座標を取得する、請求項９記載の情報処理プログラム。
【請求項１１】
現実空間の対象物を撮像する撮像手段を備える入力装置を含む情報処理システムであって、
前記入力装置から前記対象物を少なくとも含む画像を逐次取得する画像取得手段と、
前記画像に含まれる前記対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる表示制御手段と、
前記第２画像の色情報を更新する更新手段を備え、
前記更新手段は、前記第１画像と前記第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、情報処理システム。
【請求項１２】
前記入力装置は、当該入力装置の動きを示す動きデータを出力する動きセンサをさらに備え、
前記情報処理システムは、
前記動きデータに基づいて、所定面における座標を取得する座標取得手段と、
前記更新手段により前記第２画像の色情報が更新される場合に、前記第１画像の表示位置を固定する位置固定手段とをさらに備え、
前記更新手段は、前記第２画像のうち前記座標に対応する部分の色情報を更新し、前記表示位置が固定された前記第１画像と前記第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、請求項１１に記載の情報処理システム。
【請求項１３】
情報処理装置であって、
現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する画像取得手段と、
前記画像に含まれる前記対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる表示制御手段と、
前記第２画像の色情報を更新する更新手段を備え、
前記更新手段は、前記第１画像と前記第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、情報処理装置。
【請求項１４】
情報処理方法であって、
（ａ）現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得するステップと、
（ｂ）前記画像に含まれる前記対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させるステップと、
（ｃ）記第２画像の色情報を更新するステップを含み、
前記ステップ（ｃ）は、前記第１画像と前記第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関し、特にたとえば、画像の色情報を更新する、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１の画像処理装置では、マスク特性エディタは、マスク処理するためにいずれかのＲＧＢＡチャネルを選択し、用紙粒度を追加し、或いは、マットを形成するアルファ・チャネルによって画像をマスク処理することをユーザに許容する。マットは、画像のアルファ・コンポーネントによって定義されるものであり、ペイント・モードにおいて、グラフィックス・ソフトウェアによって使用され、型紙を形成することになる。当該マットは、画像表面の各部を保護するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−３２０５７８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された画像処理装置は、グラフィックス・ソフトウェアの知識および入力装置の技巧に長けた者にとっては便利であるが、そうでない者にとっては使い難かった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することである。
【０００６】
また、この発明の他の目的は、画像の色情報の更新を容易に行うことができる、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、情報処理装置のコンピュータを、画像取得手段と、表示制御手段と、更新手段として機能させる。画像取得手段は、現実空間の対象物を撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる。更新手段は、第２画像の色情報を更新する。また、更新手段は、第１画像と第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する。
【０００８】
第１の発明によれば、現実空間の対象物を撮像することにより逐次取得した画像に含まれる対象物に対応する第１画像を用いて第２画像の色情報を更新するので、画像の色情報の更新を容易に行うことができる。
【０００９】
第２の発明は、第１の発明に従属し、コンピュータを位置固定手段としてさらに機能させる。位置固定手段は、第１画像の表示位置を固定する。
【００１０】
第２の発明によれば、第１画像の表示位置を固定する。これにより、現実空間の撮像対象を同じ場所に固定し続ける必要がないため、色情報の更新を容易に行うことができる。
【００１１】
第３の発明は、第１の発明に従属し、コンピュータを位置固定手段としてさらに機能させる。位置固定手段は、更新手段によって第２画像の色情報が更新されている場合に、第１画像の表示位置を固定する。
【００１２】
第３の発明によれば、第１画像の表示位置を固定する。これにより、現実空間の撮像対象を同じ場所に固定し続ける必要がないため、色情報の更新を容易に行うことができる。
【００１３】
第４の発明は、第２または第３の発明に従属し、コンピュータを指示判断手段としてさらに機能させる。指示判断手段は、入力装置でユーザによる更新指示を受け付けたかどうかを判断する。位置固定手段は、指示判断手段によってユーザによる更新指示を受け付けたことが判断された場合に、第1画像の表示位置を固定する。
【００１４】
第４の発明によれば、第１画像の表示位置をユーザによる更新指示があった場合に固定するため、直感的な操作で容易に所望の位置に第１画像の表示位置を固定して色情報の更新を行うことができる。
【００１５】
第５の発明は、第２から第４の発明までのいずれかに従属し、コンピュータを、指示判断手段および固定解除手段として機能させる。指示判断手段は、入力装置でユーザによる更新指示を受け付けたかどうかを判断する。位置固定手段が第１画像の表示装置を固定した後、指示判断手段によってユーザによる更新指示が受け付けられていないと判断されると、第１画像の表示位置の固定を解除する。
【００１６】
第５の発明によれば、更新指示を受け付けている間だけ第１画像の表示位置を固定することができる。これにより、更新指示を受け付けていない間には第１画像を固定しないため、第１画像の表示位置を固定した後、色情報を更新する場所を容易に変更することができる。
【００１７】
第６の発明は、請求項１から５までのいずれかに従属し、コンピュータを形状固定手段としてさらに機能させる。形状固定手段は、更新手段によって第２画像の色情報が更新されている場合に、第１画像の形状を固定する。
【００１８】
第６の発明によれば、第１画像の形状をユーザによる更新指示があった場合に固定するため、直感的な操作で容易に所望の形状に第１画像の形状を固定して色情報の更新を行うことができる。
【００１９】
第７の発明は、第１から第６の発明までのいずれかに従属し、撮像手段は、赤外撮像手段である。
【００２０】
第７の発明によれば、赤外撮像手段を使用するので、暗い場所であっても第１画像を表示することができる。
【００２１】
第８の発明は、第１から第７の発明までのいずれかに従属し、表示制御手段は、第２画像として、仮想オブジェクトの画像を表示部に表示させ、更新手段は、仮想オブジェクトの画像の色情報を更新する。
【００２２】
第８の発明によれば、仮想オブジェクトの画像の色情報の更新を容易に行うことができる。
【００２３】
第９の発明は、第１から第８の発明までのいずれかに従属し、コンピュータを座標取得手段としてさらに機能させる。座標取得手段は、ポインティングデバイスからの出力に基づいて入力座標を取得する。更新手段は、第２画像のうち、入力座標が対応する箇所の色情報を更新する。
【００２４】
第９の発明によれば、第２画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【００２５】
第１０の発明は、第９の発明に従属し、ポインティングデバイスは動きセンサおよび／または撮像手段を備え、座標取得手段は、動きセンサで検出された動きデータに基づいて入力座標を取得する。
【００２６】
第１０の発明によれば、ポインティングデバイスを動かすことにより、第２画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【００２７】
第１１の発明は、現実空間の対象物を撮像する撮像手段を備える入力装置を含む情報処理システムであって、画像取得手段と、表示制御手段と、更新手段を備える。画像取得手段は、入力装置から対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる。更新手段は、第２画像の色情報を更新する。また、更新手段は、第１画像と第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する。
【００２８】
第１１の発明においても、第１の発明と同様に、画像の色情報の更新を容易に行うことができる。
【００２９】
第１２の発明は、第１１の発明に従属し、入力装置は、当該入力装置の動きを示す動きデータを出力する動きセンサをさらに備え、情報処理システムは、動きデータに基づいて、所定面における座標を取得する座標取得手段と、更新手段により第２画像の色情報が更新される場合に、第１画像の表示位置を固定する位置固定手段とをさらに備える。更新手段は、第２画像のうち座標に対応する部分の色情報を更新し、表示位置が固定された第１画像と第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する。
【００３０】
第１２の発明によれば、入力装置を動かすことにより、第２画像のうち所望の座標に対応する箇所の色情報の更新を容易に行うことができる。
【００３１】
第１３の発明は、情報処理装置であって、画像取得手段と、表示制御手段と、更新手段を備える。画像取得手段は、現実空間のオブジェクトを撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得する。表示制御手段は、画像に含まれる対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させる。更新手段は、第２画像の色情報を更新する。また、更新手段は、第１画像と第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する。
【００３２】
第１４の発明は、情報処理方法であって、（ａ）現実空間のオブジェクトを撮像する撮像手段から当該対象物を少なくとも含む画像を逐次取得するステップと、（ｂ）画像に含まれる対象物に対応する第１画像、および、当該第１画像とは異なる第２画像を表示部に表示させるステップと、（ｃ）記第２画像の色情報を更新するステップを含み、ステップ（ｃ）は、第１画像と第２画像が重畳する領域が存在する場合には、当該重畳する領域の少なくとも一部において当該第２画像の色情報の更新を制限する、情報処理方法である。
【００３３】
第１３および第１４の発明においても、第１の発明と同様に、画像の色情報の更新を容易に行うことができる。
【発明の効果】
【００３４】
この発明によれば、画像の色情報の更新を容易に行うことができる。
【００３５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３６】
【図１】図１はゲームシステムの限定しない一例の外観図である。
【図２】図２は図１に示すゲーム装置の電気的な構成の限定しない一例を示すブロック図である。
【図３】図３（Ａ）は入力装置の正面、上面および右側面を見せる斜視図であり、図３（Ｂ）は入力装置の背面、下面および左側面を見せる斜視図である。
【図４】図４は図１に示す入力装置の電気的な構成の限定しない一例を示すブロック図である。
【図５】図５は着色画面の限定しない第１の例を示すとともにユーザの着色操作を説明するための図である。
【図６】図６は着色画面の限定しない第２の例を示すとともにユーザの着色操作を説明するための図である。
【図７】図７は着色画面の限定しない第３の例を示すとともにユーザの着色操作を説明するための図である。
【図８】図８は着色画面の限定しない第４の例を示すとともにユーザの着色操作を説明するための図である。
【図９】図９は着色画面の限定しない第５の例を示すとともにユーザの着色操作を説明するための図である。
【図１０】図１０は図２に示すＲＡＭのメモリマップの限定しない一例を示す図である。
【図１１】図１１は図１０に示すデータ記憶領域の限定しない一例を示す図である。
【図１２】図１２は図２に示すプロセッサの着色処理の限定しない一例の一部を示すフロー図である。
【図１３】図１３は図２に示すプロセッサの着色処理の他の一部であって、図１２に後続するフロー図である。
【図１４】図１４は図２に示すプロセッサの着色処理の限定しないその他の一部であって、図１３に後続するフロー図である。
【図１５】図１５は図２に示すプロセッサの着色処理の限定しないその他の一部であって、図１２に後続するフロー図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照して、実施例に係るゲームシステム１０について説明する。ゲームシステム１０は、情報処理システムの限定しない一例である。図１に示すように、ゲームシステム１０は、据置型のゲーム装置１２および可搬型の入力装置１４を含む。また、ゲームシステム１０は、テレビジョン受像器等に代表される据置型のディスプレイ装置（以下、「テレビ」と記載する）１６を含み、接続ケーブルを介して、ゲーム装置１２とテレビ１６が接続される。このゲームシステム１０は、入力装置１４を用いたゲーム操作に基づいて、ゲーム装置１２においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ１６および／または入力装置１４に表示するものである。
【００３８】
テレビ１６は、ゲーム装置１２において実行されるゲーム処理などの情報処理の結果得られる情報処理の画像（以下、「表示画像」という）を表示する。テレビ１６はスピーカを有しており、スピーカは、上記情報処理の結果得られるゲーム音声を出力する。
【００３９】
なお、他の実施例では、ゲーム装置１２と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置１２とテレビ１６との通信は無線通信であってもよい。
【００４０】
入力装置１４は、少なくとも、ゲーム装置１２との間でデータを送受信する。ユーザまたはプレイヤ（以下、単位「ユーザ」という）は、入力装置１４を手に持って動かしたり、入力装置１４を自由な位置に配置したりして使用することが可能である。入力装置１４は、後述するように、各種の入力手段を備える。また、入力装置１４は、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いた無線通信によってゲーム装置１２と通信可能である。
【００４１】
図２は、図１に示すゲーム装置１２の電気的な構成の限定しない一例を示すブロック図である。図２に示すように、ゲーム装置１２はプロセッサ２０を含み、プロセッサ２０は、ＲＡＭ２２、フラッシュメモリ２４、通信モジュール２６、操作ボタン群２８およびＡＶ端子３０に接続される。
【００４２】
プロセッサ２０は、ゲーム装置１２の全体制御を司る。具体的には、プロセッサ２０は、ＣＰＵおよびＧＰＵの機能を内蔵したＳｏＣ(System on a Chip)である。ＲＡＭ２２は、揮発性記憶媒体であり、プロセッサ２０のワークメモリやバッファメモリとして使用される。フラッシュメモリ２４は、不揮発性記憶媒体であり、ゲームのようなアプリケーションのプログラムすなわち情報処理プログラムを記憶したり、各種のデータを記憶したりするために使用される。たとえば、情報処理プログラムは、フラッシュメモリ２４から読み出され、ＲＡＭ２２に記憶される。ゲーム装置１２は、ＲＡＭ２２に記憶された情報処理プログラムを実行することによってゲーム処理などの情報処理を実行する。つまり、ゲーム装置１２は、情報処理装置として機能する。
【００４３】
なお、ゲーム装置１２に装着可能なＳＤカード、メモリスティックまたは光学ディスクのような外部メモリから情報処理プログラムを読み出し、ＲＡＭ２２に記憶するようにしてもよい。また、ゲーム装置１２は、通信可能に接続された外部のコンピュータから情報処理プログラムをダウンロードし、ＲＡＭ２２に記憶するようにしてもよい。ただし、情報処理プログラムの一部をフラッシュメモリ２４に記憶しておき、他の一部を光ディスクまたは外部のコンピュータから取得するようにしてもよい。これらについては、いずれか１つの方法または２つ以上の方法が採用される。
【００４４】
ただし、情報処理プログラムは、ゲームのアプリケーションプログラムに限定される必要は無く、ゲーム装置１２が備える機能（以下、「本体機能」という）についてのアプリケーションプログラム、文書作成アプリケーションプログラム、電子メールアプリケーションプログラム、お絵描きアプリケーションプログラム（またはグラフィックス・ソフトウェア）、文字練習用アプリケーションプログラム、語学トレーニングアプリケーションプログラム、学習アプリケーションプログラムなどの様々なアプリケーションプログラムも該当する。
【００４５】
通信モジュール２６は、入力装置１４と無線通信を行う。上述したように、この実施例では、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従う通信方式が採用される。ただし、ゲーム装置１２と入力装置１４の通信方式は任意の方式を採用することができる。
【００４６】
操作ボタン群２８は、電源ボタンおよびリセットボタンなどを含む。ＡＶ端子３０は、ＨＤＭI（登録商標）ケーブルのような接続ケーブルを用いて、テレビ１６と接続するための端子である。
【００４７】
なお、図２に示すゲーム装置１２の電気的な構成は単なる一例であり、これに限定される必要はない。他の実施例では、入力装置１４はゲーム装置１２に有線で接続されてもよい。
【００４８】
図３（Ａ）および図３（Ｂ）は、入力装置１４の外観の一例を示す。図３（Ａ）は入力装置１４の正面、上面および右側面を見せる斜視図であり、図３（Ｂ）は入力装置１４の背面、下面および左側面を見せる斜視図である。
【００４９】
図３（Ａ）および図３（Ｂ）を参照して、入力装置１４は、たとえばプラスチック成型によって形成されたハウジング７０を有している。ハウジング７０は、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング７０（または入力装置１４）には、複数のボタンないしスイッチ５６ａ−５６ｉ（以下、これらをまとめて「操作ボタン群５６」ということがある）が設けられる。具体的には、図３（Ａ）に示すように、ハウジング７０の上面には、十字キー５６ａ、Ａボタン５６ｂ、ホームボタン５６ｃ、−（マイナス）ボタン５６ｄ、＋（プラス）ボタン５６ｅ、１ボタン５６ｆ、２ボタン５６ｇおよび電源スイッチ５６ｈが設けられる。また、図３（Ｂ）に示すように、ハウジング７０の下面に傾斜面が形成されており、この傾斜面に、Ｂボタン５６ｉが設けられる。
【００５０】
十字キー５６ａは、方向入力キーであり、仮想のオブジェクト（仮想オブジェクト）または仮想カメラを移動させたり、仮想オブジェクトを選択したりするために用いられる。Ａボタン５６ｂは、押しボタンスイッチであり、仮想オブジェクトに方向指示以外の動作を実行させたり、コマンドを実行したりするために使用される。
【００５１】
ホームボタン５６ｃおよび電源スイッチ５６ｈもまた、押しボタンスイッチである。ホームボタン５６ｃは、メニュー画面を表示するために使用される。電源スイッチ５６ｈは、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００５２】
−ボタン５６ｄ、＋ボタン５６ｅ、１ボタン５６ｆおよび２ボタン５６ｇは、それぞれ、押しボタンスイッチであり、モードを選択するために使用されたり、３次元画像を表示する際の注視点に対する仮想カメラすなわち視点の距離または仮想カメラの画角を調整したりする操作に使用される。
【００５３】
Ｂボタン５６ｉもまた、押しボタンスイッチであり、主として、Ａボタン５６ｂによって決定したアクションまたはコマンドなどを取り消すために使用される。
【００５４】
なお、操作ボタン群５６の各々の機能は一例であり、限定されるべきでなく、実行されるプログラムの種類に応じて適宜変更可能である。
【００５５】
また、入力装置１４は、赤外撮像部５８および赤外発光部６０（図４参照）を有しており、図３（Ｂ）に示すように、ハウジング７０の先端面には、赤外線を発光および赤外画像を撮像するための窓部７２が設けられる。つまり、赤外撮像部５８および赤外発光部６０は、ハウジング７０の内部であり、このハウジング７０の先端面（または窓部７２）の近傍に配置される。
【００５６】
赤外撮像部５８は、入力装置１４の先端方向（図３（Ａ）に示すｚ軸正方向）を撮像方向として、窓部７２を介して入力装置１４の周囲を撮像する。つまり、赤外撮像部５８は、現実空間を撮像する。赤外発光部６０は、入力装置１４の先端方向を中心とする所定範囲を照射範囲として、赤外撮像部５８が撮像する撮像対象に窓部７２を介して赤外線を照射する。
【００５７】
窓部７２は、赤外撮像部５８のカメラのレンズや赤外発光部６０の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（たとえば、透明な材質）で構成される。なお、窓部７２は、ハウジング７０に形成された孔であってもよい。また、この実施例においては、カメラが検知する光（この実施例では、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部５８自身が有する。ただし、他の実施例においては、窓部７２がフィルタの機能を有していてもよい。
【００５８】
さらに、入力装置１４は、角速度センサ６２（図４参照）を有しており、角速度センサ６２は、入力装置１４の縦方向の軸回り（ｚ軸回り）、横方向の軸回り（ｘ軸回り）および前後方向の軸回り（ｙ軸回り）の３軸回りについての各々の角速度を検出する。ただし、ｙ軸の回転はヨー角で表わされ、ｘ軸の回転はピッチ角で表わされ、そして、ｚ軸の回転はロール角で表わされる。この角速度センサ６２は、典型的には、圧電振動型のジャイロセンサを用いることができるが、他の方式のものを用いるようにしてもよい。
【００５９】
なお、図３（Ａ）および図３（Ｂ）に示した入力装置１４の形状や、操作ボタン群５６の各々の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変されてもよい。
【００６０】
図４に示すように、入力装置１４は、制御部５０を含み、制御部５０は、通信モジュール５２、メモリ５４、操作ボタン群５６、赤外撮像部５８、赤外発光部６０および角速度センサ６２に接続される。
【００６１】
制御部５０は、たとえば、マイクロコンピュータで構成され、入力装置１４の全体制御を行う。通信モジュール５２は、ゲーム装置１２と通信可能に接続するために設けられる。上述したように、ゲーム装置１２に設けられる通信モジュール２６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従う無線通信方式を採用するため、通信モジュール５２も、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従う無線通信方式を採用する。したがって、入力装置１４は、操作データを通信モジュール５２から上記の無線通信方式に従ってゲーム装置１２に送信する。
【００６２】
メモリ５４は、たとえば、フラッシュメモリ等の不揮発性の記憶装置であり、ファームウェアおよび入力装置１４の識別情報（以下、「コントローラＩＤ」という）を記憶する。制御部５０は、メモリ５４に記憶されるファームウェアを実行することによって各種の処理を実行する。また、制御部５０は、入力装置１４をゲーム装置１２と無線通信可能に接続したとき、コントローラＩＤをゲーム装置１２に通知する。詳細な説明は省略するが、操作データにコントローラＩＤが付加され、操作データの送信元の入力装置１４が識別される。
【００６３】
操作ボタン群５６に対して行なわれた操作に関する情報（操作データ）は、所定周期で制御部５０に繰り返し出力される。ただし、操作ボタン群５６は、上述した各種のボタンないしスイッチ（５６ａ−５６ｉ）に相当し、各種のボタンないしスイッチ（５６ａ−５６ｉ）に対する入力状況、すなわち押下されたか否かを表す操作データを制御部５０に出力する。
【００６４】
上述したように、入力装置１４は、赤外撮像部５８を備える。赤外撮像部５８は、入力装置１４の周囲を撮像する赤外線カメラを有する。一例として、ゲーム装置１２または入力装置１４は、撮像された情報（たとえば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、入力装置１４の周囲変化を判別する。また、赤外撮像部５８は、環境光によって撮像を行ってもよいが、この実施例においては、赤外線を照射する赤外発光部６０を有する。赤外発光部６０は、たとえば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部６０によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部５８は、より鮮明な赤外線画像を得ることができる。
【００６５】
なお、赤外撮像部５８と赤外発光部６０とは、それぞれ別のデバイスとして入力装置１４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして入力装置１４内に設けられてもよい。また、この実施例においては、赤外線カメラを有する赤外撮像部５８が用いられるが、他の実施例においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００６６】
制御部５０は、ＣＰＵまたはメモリ等を含み、入力装置１４に備えられた図示しない記憶装置に記憶された所定のプログラム（たとえば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、ゲーム装置１２からの指令に応じて赤外撮像部５８に対する管理処理を実行する。たとえば、制御部５０は、赤外撮像部５８に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信モジュール５２を介してゲーム装置１２へ送信したりする。また、制御部５０は、ゲーム装置１２からの指令に応じて赤外発光部６０に対する管理処理を実行する。たとえば、制御部５０は、ゲーム装置１２からの指令に応じて赤外発光部６０の発光を制御する。なお、制御部５０が処理を行う際に用いるメモリは、制御部５０内に設けられたメモリであってもよいし、メモリ５４であってもよい。
【００６７】
角速度センサ６２は、慣性センサであり、所定の３軸（たとえば、図３（Ａ）に示すｘｙｚ軸）回りの角速度を検出する。角速度センサ６２は、それぞれ制御部５０に接続される。そして、角速度センサ６２の検出結果は、適宜のタイミングで繰り返し制御部５０へ出力される。したがって、ゲーム装置１２は、入力装置１４の動きおよび／または姿勢に関する情報を、操作データ（具体的には、角速度センサ６２の検出結果）に基づいて算出することができる。
【００６８】
図５−図９は、それぞれ、着色画面１００および着色方法を説明するための図である。図５に示すように、着色画面１００は、テレビ１６に表示され、自動車を模した仮想オブジェクトの画像（以下、「車オブジェクト画像」という）１０２を含む。着色画面１００が、テレビ１６に表示された当初では、カーソル画像１１０が画面中央に表示される。
【００６９】
なお、車オブジェクト画像１０２は一例であり、他の仮想オブジェクトの画像が表示されてもよい。また、仮想オブジェクトの画像は、ユーザによって選択されてもよい。さらに、仮想オブジェクトの画像は、完成品のオブジェクトについての画像のみならず、部品のオブジェクトについての画像であってもよい。
【００７０】
また、図５に示すように、ユーザは自身の手にストラップで固定した入力装置１４を把持して、着色するための操作を行う。図５−図９に示す例では、ユーザはテレビ１６の正面に存在しているものと仮定するが、ユーザはテレビ１６の正面に存在している必要はない。
【００７１】
この実施例では、Ａボタン５６ｂが操作されると、車オブジェクト画像１０２のうち、カーソル画像１１０で指示される領域（または範囲）に色が着色される。この実施例では、カーソル画像１１０は、円とこの円の中心位置を示す十字とで構成されており、円に対応する領域に色が着色される。また、この実施例では、車オブジェクト画像１０２に付されていた色に重ねて入力装置１４で指示された色が付される。ただし、車オブジェクト画像１０２に付されていた色に代えて入力装置１４で指示された色が付されてもよい。したがって、車オブジェクトのような仮想オブジェクトのうちの全部または一部の色情報が更新（または変更）される。
【００７２】
なお、図示および詳細な説明は省略するが、入力装置１４を用いることによって付される色は、複数の色から選択された色であり、色を選択するためのメニューから選択することができる。
【００７３】
また、この実施例では、車オブジェクト画像１０２のような仮想オブジェクトの画像に着色する場合について説明するが、車オブジェクト画像１０２以外の部分が着色されるようにしてもよい。車オブジェクト画像１０２以外の部分としては、仮想オブジェクトの画像の背景または仮想のキャンバスなどが該当する。
【００７４】
カーソル画像１１０は、入力装置１４の向きを変えることに応じて移動される。つまり、ユーザが入力装置１４を振ることにより、仮想オブジェクトの画像が現在表示されている向きにおいて、この仮想オブジェクトの画像のうち、着色したい位置または場所を変更することができる。具体的には、入力装置１４の先端の向きが横方向に移動された場合には、入力装置１４のヨー角が変化し、このヨー角の変化に応じてカーソル画像１１０が移動される。また、入力装置１４の先端の向きが縦方向に移動された場合には、入力装置１４のピッチ角が変化し、このピッチ角の変化に応じてカーソル画像１１０が縦（または上下）に移動される。また、入力装置１４の先端の向きが斜め方向に移動された場合には、入力装置１４のヨー角およびピッチ角が変化し、このヨー角およびピッチ角の変化に応じてカーソル画像１１０が斜めに移動される。つまり、入力装置１４はポインティングデバイスとしても用いられる。上述したように、カーソル画像１１０は、着色画面１００が最初に表示されるときに画面中央に表示され、その後、角速度センサ６２の出力に基づいてその表示位置が変位（または更新）される。
【００７５】
このように、カーソル画像１１０は、入力装置１４を振ることにより、着色する位置または場所を変更できるので、着色するための操作が簡単である。
【００７６】
また、十字キー５６ａを操作することにより、仮想カメラ（図示せず）の位置を変化させることができ、−ボタン５６ｄを操作することにより、仮想カメラがズームアウトされ、＋ボタン５６ｅを操作することにより、仮想カメラがズームインされる。
【００７７】
仮想カメラの注視点は、車オブジェクト画像１０２の中心に設定されており、十字キー５６ａを操作することにより、注視点と仮想カメラの位置（つまり、視点）を結ぶ直線を半径とする球体の表面に沿って仮想カメラが移動される。したがって、着色画面１００では、車オブジェクト画像１０２が回転される。つまり、仮想オブジェクトの画像のうち、着色したい面または見たい面を変更することができる。
【００７８】
また、−ボタン５６ｄが操作されると、仮想カメラの位置が注視点から離れる方向に移動される。一方、＋ボタン５６ｅが操作されると、仮想カメラの位置が注視点に近づく方向に移動される。つまり、注視点から視点までの距離が変化される。ただし、注視点から視点までの距離を変化させることに代えて、仮想カメラの画角を変化させるようにしてもよい。つまり、現在の向きにおいて、仮想オブジェクトの画像を拡大表示させることにより、詳細に着色したり、仮想オブジェクトの画像の細部を見たりすることができる。また、現在の向きにおいて、仮想オブジェクトの画像を縮小表示させることにより、一度に広い範囲を着色したり、仮想オブジェクトの画像を全体的に見たりすることができる。一度に広い範囲を着色できるのは、カーソル画像１１０が重なる領域が、仮想オブジェクトの画像を拡大表示させた場合よりも大きいからである。
【００７９】
図６に示す着色画面１００では、図５に示す着色画面１００において、＋ボタン５６ｅが操作されることにより、車オブジェクト画像１０２が拡大され、さらに、入力装置１４の先端が左斜め前方に向けられることにより、カーソル画像１１０がテレビ１６を正面から見た場合に左に移動される。
【００８０】
図６に示す着色画面１００では、車オブジェクト画像１０２のドアの部分が拡大されるため、ドアの細部を見たり、ドアの部分を広い範囲で着色したりすることができる。
【００８１】
また、この実施例では、車オブジェクト画像１０２の一部をマスクして、着色することもできる。つまり、この実施例の着色処理においては、車オブジェクト画像１０２の着色に関し、マスク処理を行わないモードと、マスク処理を行うモード（以下、「マスクモード」という）が存在する。この実施例では、１ボタン５６ｆが操作されることにより、マスクモードが設定される。マスクモードが設定されると、赤外撮像部５８で撮影された画像に基づいてマスク画像１３０（図８参照）の候補となる画像（以下、「候補画像」という）１２０が生成され、着色画面１００に対応する画像に重ねてテレビ１６に表示される。つまり、候補画像１２０が前面に配置された着色画面１００がテレビ１６に表示される。
【００８２】
図７はマスクモードにおける着色画面１００の限定しない一例を示す図である。図７に示すように、ユーザは、予め用意した型紙１５０を左手で持ち、この型紙１５０を赤外撮像部５８で撮影するように、入力装置１４の先端面の前方に翳している。
【００８３】
図７に示す型紙１５０は、撮影対象（または撮影の対象物）であり、所定の大きさで正方形に切断した厚紙を星形に切り抜いたものである。したがって、図７に示す状態において、型紙１５０が赤外撮像部５８で撮影される場合に、型紙１５０とユーザの左手の一部によって赤外発光部６０から照射される赤外線が反射される。この実施例では、赤外撮像部５８によって撮影された画像において、輝度が一定値以上の部分に所定の色（たとえば、グレー）が付されることにより、候補画像１２０が生成され、輝度が一定値未満の部分は透明にされる（または透過される）。つまり、赤外撮像部５８によって撮影された画像のうち、輝度が一定値以上の部分がマスクする領域の候補として決定され、輝度が一定値未満の部分がマスクする領域の候補から除外される。候補画像１２０は、マスク画像１３０の元になる画像である。したがって、マスク画像１３０にも、所定の色が付される。このため、ユーザはマスク画像１３０を視認することができる。
【００８４】
また、図７に示す例では、候補画像１２０に加えて、この候補画像１２０の生成したときに赤外撮影部５８によって撮影された画像の範囲（または大きさ）に相当する範囲を平面的に示すために点線の枠を示してあるが、実際の着色画面１００では、点線の枠は表示されない。ただし、点線の枠は表示されてもよい。これらのことは、マスク画像１３０を表示する場合についても同じである。
【００８５】
このように、候補画像１２０に単色の所定の色を付すのは、上述したように、候補画像１２０がマスク画像１３０として表示された場合に、マスク画像１３０を分かり易くするためである。したがって、候補画像１２０に付す色は固定せずに、着色する色または仮想オブジェクトの画像に付された色とは異なる色が付されてもよい。ただし、候補画像１２０をマスク画像１３０として表示するときに、マスク画像１３０の色を決定してもよい。
【００８６】
また、上述したように、候補画像１２０は、マスク画像１３０の元になる画像であり、候補画像１２０およびマスク画像１３０は、いずれも現実空間における対象物（ここでは、型紙１５０）に対応する画像であり、「第１画像」に相当する。
【００８７】
マスクモードにおいて、マスク画像１３０が表示されるまでは、カーソル画像１１０に代えて候補画像１２０が表示され、入力装置１４が左右および／または上下に振られることにより、赤外撮像部５８の撮影範囲が変化される。したがって、撮影対象が変化されたり、同じ撮影対象であっても撮影される位置、向きおよび大きさの少なくとも１つが変化されるため、候補画像１２０の形状（および大きさ）および／または候補画像１２０の位置が変化される。ユーザは、所望の位置に、所望の形状（および大きさ）を有するマスク画像１３０を表示させるように、候補画像１２０の形状および／または候補画像１２０の位置を変化させる。
【００８８】
このように、候補画像１２０の形状および／または候補画像１２０の位置を変化させる場合には、入力装置１４の少なくとも先端面は移動される。このため、たとえば、候補画像１２０の位置を変化させるが、候補画像１２０の形状を変化させたくない場合には、ユーザは、入力装置１４の先端面の移動に追従するように型紙１５０も移動させる。
【００８９】
候補画像１２０が、ユーザの所望の位置に配置され、ユーザの所望の形状を有している場合に、ユーザは着色するためにＡボタン５６ｂを操作するが、Ａボタン５６ｂを操作したときに、候補画像１２０がマスク画像１３０として現在の位置に固定表示される。この実施例では、マスク画像１３０は、候補画像１２０の位置が固定されるとともに、候補画像１２０の形状が固定された画像を意味する。
【００９０】
このように、この実施例では、候補画像１２０とマスク画像１３０を区別してあるが、固定表示される前においても、候補画像１２０をマスク画像１３０として扱うようにしてもよい。
【００９１】
また、この実施例では、マスク画像１３０の固定表示と着色指示をＡボタン５６ｂの操作に応じて行うようにしてあるが、マスク画像１３０の固定表示と着色指示は別のボタンないしスイッチの操作に応じて行うようにしてよい。
【００９２】
図８はマスク画像１３０が固定され、車オブジェクト画像１０２、カーソル画像１１０およびマスク画像１３０を含む着色画面１００の限定しない一例を示す。
【００９３】
図８に示すように、マスク画像１３０が固定表示されると、カーソル画像１１０が表示され、マスクモードでないモードと同様に、着色する領域がこのカーソル画像１１０によって指示される。ユーザは、入力装置１４を用いてカーソル画像１１０を所望の位置に移動させ、Ａボタン５６ｂを操作すると、着色指示がゲーム装置１２に入力される。すると、カーソル画像１１０と車オブジェクト画像１０２が重畳される場合に、カーソル画像１１０によって指示される領域に対応する車オブジェクト画像１０２の色情報が更新される。つまり、カーソル画像１１０がマスク画像１３０に重なる領域（または部分）については、車オブジェクト画像１０２の色情報は更新されない。つまり、色情報の更新が制限される。一方、カーソル画像１１０がマスク画像１３０に重ならない領域（または部分）については、車オブジェクト画像１０２の色情報は更新される。
【００９４】
なお、図８からも分かるように、マスク画像１３０が固定表示されると、型紙１５０を撮影する必要はない。
【００９５】
図８に示した状態において、Ａボタン５６ｂが操作されると、車オブジェクト画像１０２において、カーソル画像１１０が指示する領域のうち、マスク画像１３０と重ならない領域が着色される。
【００９６】
ユーザは、カーソル画像１１０を移動させることにより、マスク画像１３０のうちの星型にくり抜かれた部分（または領域）に対応する領域を複数回に分けて車オブジェクト画像１０２を着色することにより、図９に示すような着色画面１００がテレビ１６に表示される。
【００９７】
図９に示す着色画面１００は、星型の模様を着色した後に、後述するように、マスク画像１３０の固定を解除するとともにマスクモードを解除した状態を示す。また、図９は、入力装置１４が、星型の模様を着色した後に、その先端を右斜め前方に向けられた状態を示している。
【００９８】
上述した候補画像１２０およびマスク画像１３０は一例であり、限定されるべきでない。型紙１５０のくり抜かれた部分の形状は他の所定の形状であってもよい。たとえば、他の所定の形状は、所定の図形、所定のアニメキャラクタまたは所定のゲームキャラクタの形状、所定の動物を模した形状などの種々の形状を採用することができる。ただし、くり抜かれた部分の形状に限定される必要はなく、型紙１５０の外観形状が所定の形状であってもよい。この場合、着色されない部分が所定の形状で表示される。つまり、着色しない部分によって、型紙１５０の形状の模様を付すことができる。
【００９９】
また、上述したように、型紙１５０のような現実空間のオブジェクトを撮像した画像に基づいて候補画像１２０を生成および表示し、候補画像１２０の形状および／または候補画像１２０の位置に固定表示することにより、この候補画像１２０がマスク画像１３０として用いられる。したがって、たとえば、ユーザは、自身の周囲に存在する物または自身の左手を撮影して、周囲に存在する物または左手の形状のマスク画像１３０を固定表示することもできる。この場合、仮想オブジェクトの画像に、マスク画像１３０を重ねて、このマスク画像１３０の周囲を着色すると、このマスク画像１３０の形状に対応する模様が現れる。
【０１００】
マスク画像１３０の固定が解除されるまでは、マスク画像１３０は固定表示され続ける。たとえば、Ｂボタン５６ｉが操作されることにより、マスク画像１３０の固定が解除される。すると、候補画像１２０の生成および表示が再開される。また、マスク画像１３０の固定が解除された後に、２ボタン５６ｇが操作されることにより、マスクモードが解除される。
【０１０１】
図１０は、図２に示したゲーム装置１２のＲＡＭ２２のメモリマップ３００の一例を示す。図１０に示すように、ＲＡＭ２２は、プログラム記憶領域３０２およびデータ記憶領域３０４を含む。プログラム記憶領域３０２には、情報処理プログラムの一例であるグラフィックス・ソフトウェアなどが記憶される。
【０１０２】
図１０に示すように、プログラム記憶領域３０２には、メイン処理プログラム３０２ａ、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、操作検出プログラム３０２ｄ、画像取得プログラム３０２ｅ、候補画像生成プログラム３０２ｆ、マスク固定プログラム３０２ｇ、色情報更新プログラム３０２ｈおよび固定解除プログラム３０２ｉなどが記憶される。
【０１０３】
詳細な説明は省略するが、各プログラム３０２ａ−３０２ｉは、ゲーム装置１２に電源が投入された後の適宜のタイミングで、フラッシュメモリ２４からその一部または全部が読み込まれてＲＡＭ２２に記憶される。
【０１０４】
また、グラフィックス・ソフトウェアは、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、操作検出プログラム３０２ｄ、画像取得プログラム３０２ｅ、候補画像生成プログラム３０２ｆ、マスク固定プログラム３０２ｇ、色情報更新プログラム３０２ｈおよび固定解除プログラム３０２ｉを含む。ただし、画像生成プログラム３０２ｂ、画像表示プログラム３０２ｃ、操作検出プログラム３０２ｄは、グラフィックス・ソフトウェアに含まれずに、ゲーム装置１２に予め記憶されていてもよい。
【０１０５】
メイン処理プログラム３０２ａは、ゲーム装置１２のメインルーチンの処理を実行するためのプログラムである。画像生成プログラム３０２ｂは、後述する画像生成データ３０４ｂを用いて、着色画面１００などの各種の画面に対応する表示画像データを生成するためのプログラムである。画像表示プログラム３０２ｃは、画像生成プログラム３０２ｂに従って生成した表示画像データをＡＶ端子３０および接続ケーブルを介してテレビ１６に出力するためのプログラムである。したがって、表示画像データに対応する画面がテレビ１６に表示される。
【０１０６】
操作検出プログラム３０２ｄは、入力装置１４から入力または送信される操作データを検出するためのプログラムである。画像取得プログラム３０２ｅは、入力装置１４から入力または送信される撮像結果に基づく情報を逐次取得するためのプログラムである。候補画像生成プログラム３０２ｆは、マスクモードが設定されたことに応じて、画像取得プログラム３０２ｅに従って逐次取得された撮像結果に基づく情報から、候補画像１２０を生成するためのプログラムである。
【０１０７】
マスク固定プログラム３０２ｇは、操作検出プログラム３０２ｄに従って検出された操作データがマスクの固定を示す場合に、候補画像生成プログラム３０２ｆに従って生成された候補画像１２０をマスク画像１３０として固定表示するためのプログラムである。
【０１０８】
色情報更新プログラム３０２ｈは、操作検出プログラム３０２ｄに従って検出された操作データが着色指示を示す場合に、カーソル画像１１０の領域内の色情報を更新するためのプログラムである。ただし、マスク画像１３０が表示されている場合には、カーソル画像１１０が指示する領域内であっても、マスク画像１３０が重畳されている部分についての色情報は更新されない。
【０１０９】
固定解除プログラム３０２ｉは、操作検出プログラム３０２ｄに従って検出された操作データがマスク画像１３０の固定解除を示す場合に、マスク画像１３０を消去するためのプログラムである。したがって、マスク画像１３０が固定解除されると、候補画像生成プログラム３０２ｆに従う処理が再開される。ただし、マスクモードが解除されると、候補画像１２０の生成および表示も終了される。
【０１１０】
なお、プログラム記憶領域３０２には、着色する色を選択するための色選択プログラム、ＢＧＭ等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ２４などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【０１１１】
図１１は図１０に示したデータ記憶領域３０４の具体的な内容の一例を示す図である。データ記憶領域３０４には、操作データ３０４ａ、画像生成データ３０４ｂ、取得画像データ３０４ｃ、候補画像データ３０４ｄ、マスク画像データ３０４ｅおよび色情報データ３０４ｆなどが記憶される。また、データ記憶領域３０４には、マスクモードフラグ３０４ｇおよび固定フラグ３０４ｈなどが設けられる。
【０１１２】
操作データ３０４ａは、入力装置１４に対するユーザの操作を表すデータであり、上述したように、入力装置１４から送信されてゲーム装置１２において取得され、ＲＡＭ２２に記憶される。また、プロセッサ２０の処理に用いられた操作データ３０４ａは、ＲＡＭ２２から消去される。
【０１１３】
画像生成データ３０４ｂは、ポリゴンデータおよびテクスチャデータなど、画像データを生成するために必要なデータである。取得画像データ３０４ｃは、マスクモードにおいて、入力装置１４から送信される撮像結果に基づく情報についてのデータである。候補画像データ３０４ｄは、取得画像データ３０４ｃに基づいて生成された候補画像についてのデータである。
【０１１４】
マスク画像データ３０４ｅは、マスク画像についてのデータであり、マスクを固定することが指示されたときの候補画像データ３０４ｄがマスク画像データ３０４ｅとして記憶される。色情報データ３０４ｆは、着色画面１００に含まれる車オブジェクト画像１０２に付された色の色情報についてデータのである。
【０１１５】
マスクモードフラグ３０４ｇは、マスクモード中かどうかを判断するためのフラグであり、マスクモード中ではオンされ、マスクモード以外ではオフされる。固定フラグ３０４ｈは、マスク画像１３０が固定されているかどうかを判断するためのフラグであり、マスク画像１３０が固定されている場合にはオンされ、マスク画像１３０が固定されていない場合にはオフされる。
【０１１６】
図示は省略するが、データ記憶領域３０４には、情報処理の実行に必要な他のデータが記憶されたり、情報処理の実行に必要な、他のフラグおよびカウンタ（タイマ）が設けられたりする。
【０１１７】
図１２−図１５は、図２に示したゲーム装置１２に設けられるプロセッサ２０の着色処理の限定しない一例を示すフロー図である。ただし、着色処理は、グラフィックス・ソフトウェアの一部の処理である。なお、図１２（後述する図１３−図１５についても同様）に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図１２−図１４に示すフロー図の各ステップの処理をプロセッサ２０が実行するものとして説明するが、プロセッサ２０以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【０１１８】
ゲーム装置１２の電源が投入されると、全体処理の実行に先だって、プロセッサ２０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってＲＡＭ２２等の各ユニットが初期化される。ゲーム装置１２は、ユーザによって、グラフィックス・ソフトウェアの実行が指示され、さらに、着色処理の実行が指示されると、着色処理を開始する。
【０１１９】
以下、着色処理について説明するが、この着色処理と並行して、カーソル画像１１０の位置を更新する更新処理と、仮想カメラを制御するカメラ制御処理も実行される。更新処理およびカメラ制御処理については図示および詳細な説明は省略するが、更新処理では、プロセッサ２０は、角速度センサ６２に出力に基づいて入力装置１４の横方向および／または縦方向の動きを検出し、それに従ってカーソル画像１１０の位置を更新する。ただし、候補画像１２０が表示され、カーソル画像１１０が非表示されている場合には、角速度センサ６２の出力に基づいて候補画像１２０の位置が更新される。このとき、カーソル画像１１０の中心の位置に相当する位置に、候補画像１２０の中心の位置が重なるように、候補画像１２０が配置される。これは一例であり、限定されるべきでは無く、カーソル画像１１０の中心の位置に相当する位置に、赤外撮像部５８で撮影された画像に相当する範囲（図７に示した点線の枠）の中心の位置が重なるように、候補画像１２０が配置されてもよい。また、カメラ制御処理では、プロセッサ２０は、十字キー５６ａ、−ボタン５６ｄおよび＋ボタン５６ｅの操作に従って、仮想カメラの位置およびズームを制御する。
【０１２０】
図１２に示すように、プロセッサ２０は、着色処理を開始すると、ステップＳ１で、終了の指示が有るかどうかを判断する。ここでは、プロセッサ２０は、ホームボタン５６ｃが操作され、さらに、終了することが選択されたかどうかを判断する。
【０１２１】
ステップＳ１で“ＹＥＳ”であれば、つまり、終了の指示が有れば、着色処理を終了する。一方、ステップＳ１で“ＮＯ”であれば、つまり、終了の指示が無ければ、ステップＳ３で、図４に示したような着色画面１００をテレビ１６に表示する。ただし、着色処理を開始した当初においては、ステップＳ３では、着色画面１００の初期画面が表示される。このとき、車オブジェクト画像１０２に付された色すなわち初期状態の色についての情報に対応する色情報データ３０４ｆがＲＡＭ２２のデータ記憶領域３０４に記憶される。
【０１２２】
次のステップＳ５では、マスクモード中かどうかを判断する。ここでは、プロセッサ２０は、マスクモードフラグ３０４ｇがオンであるかどうかを判断する。ステップＳ５で“ＹＥＳ”であれば、つまり、マスクモード中であれば、ステップＳ７で、マスクモードの解除指示が有るかどうかを判断する。ここでは、プロセッサ２０は、２ボタン５６ｇが操作されたかどうかを判断する。
【０１２３】
ステップＳ７で“ＮＯ”であれば、つまり、マスクモードの解除指示が無ければ、図１３に示すステップＳ１５に進む。一方、ステップＳ７で“ＹＥＳ”であれば、つまり、マスクモードの解除指示が有れば、ステップＳ９で、マスクモードフラグ３０４ｇをオフして、図１５に示すステップＳ３９に進む。
【０１２４】
また、ステップＳ５で“ＮＯ”であれば、つまり、マスクモード中でなければ、ステップＳ１１で、マスクモードの設定指示が有るかどうかを判断する。ここでは、プロセッサ２０は、１ボタン５６ｆが操作されたかどうかを判断する。ステップＳ１１で“ＮＯ”であれば、つまり、マスクモードの設定指示が無ければ、ステップＳ３９に進む。一方、ステップＳ１１で“ＹＥＳ”であれば、つまり、マスクモードの設定指示が有れば、ステップＳ１３で、マスクモードフラグ３０４ｇをオンして、ステップＳ１５に進む。
【０１２５】
図１３に示すように、ステップＳ１５では、赤外画像を取得する。つまり、このステップＳ１５では、プロセッサ２０は、赤外撮像部５８から撮像結果に基づく情報を取得する。次のステップＳ１７では、取得した赤外画像、すなわち赤外撮像部５８から取得した撮像結果に基づく情報から候補画像１２０を生成する。続いて、ステップＳ１９では、候補画像１２０を、車オブジェクト画像１０２を含む着色画面１００の画像の前面に重ねて表示する。ただし、候補画像１２０が表示されると、カーソル画像１１０は消去または非表示される。
【０１２６】
そして、ステップＳ２１で、固定指示が有るかどうかを判断する。ここでは、プロセッサ２０は、Ａボタン５６ｂが操作されたかどうかを判断する。ステップＳ２１で“ＹＥＳ”であれば、つまり、固定指示があれば、ステップＳ２３で、マスク画像１３０を固定表示する。このステップＳ２３では、プロセッサ２０は、固定指示が有ったときの候補画像１２０をマスク画像１３０にするとともに、このマスク画像１３０を現在の表示位置に固定する。次のステップＳ２５では、固定フラグ３０４ｈをオンして、図１４に示すステップＳ３３に進む。
【０１２７】
一方、ステップＳ２１で“ＮＯ”であれば、つまり、固定指示が無ければ、ステップＳ２７で、マスク画像１３０の固定中であるかどうかを判断する。ここでは、プロセッサ２０は、固定フラグ３０４ｈがオンであるかどうかを判断する。
【０１２８】
ステップＳ２７で“ＮＯ”であれば、つまり、マスク画像１３０の固定中でなければ、図１２に示したステップＳ１に戻る。一方、ステップＳ２７で“ＹＥＳ”であれば、つまり、マスク画像１３０の固定中であれば、図１４に示すステップＳ２９に進む。
【０１２９】
この実施例では、ステップＳ１−Ｓ２７までのスキャンタイムが１フレームである。ただし、１フレームは、画面更新単位時間であり、たとえば、３０ｆｐｓまたは６０ｆｐｓである。したがって、マスクモード中では、固定指示が有るまでは、逐次赤外画像が取得され、候補画像１２０が更新される。
【０１３０】
図１４に示すように、ステップＳ２９では、固定解除指示が有るかどうかを判断する。ここでは、プロセッサ２０は、Ｂボタン５６ｉが操作されたかどうかを判断する。ステップＳ２９で“ＹＥＳ”であれば、つまり、固定解除指示が有れば、ステップＳ３１で、固定フラグ３０４ｈをオフし、ステップＳ１に戻る。
【０１３１】
一方、ステップＳ２９で“ＮＯ”であれば、つまり、固定解除指示が無ければ、ステップＳ３３で、着色指示が有るかどうかを判断する。ここでは、プロセッサ２０は、Ａボタン５６ｂが操作されたかどうかを判断する。このことは、後述するステップＳ３９においても同じである。
【０１３２】
ステップＳ３３で“ＮＯ”であれば、つまり、着色指示が無ければ、ステップＳ３７に進む。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり、着色指示が有れば、ステップＳ３５で、車オブジェクト画像１０２のうち、マスク画像１３０と重なる領域を除き、カーソル画像１１０が指示する領域の色情報を更新して、ステップＳ３７に進む。ステップＳ３７では、着色画面１００を更新する。したがって、車オブジェクト画像１０２の一部が更新される。その後、ステップＳ２９に戻る。
【０１３３】
また、上述したように、マスクモードでない場合には、図１５のステップＳ３９で、着色指示が有るかどうかを判断する。ステップＳ３９で“ＮＯ”であれば、ステップＳ１に戻る。一方、ステップＳ３９で“ＹＥＳ”であれば、ステップＳ４１で、車オブジェクト画像１０２のうち、カーソル画像１１０が指示する領域の色情報を変更し、ステップＳ４３で、着色画面１００を更新して、ステップＳ３９に戻る。
【０１３４】
この実施例によれば、赤外撮像部で取得した情報に基づいてマスク画像の候補画像を生成し、生成した候補画像に基づいて決定されたマスク画像を用いて仮想オブジェクトを着色するので、操作が簡単である。したがって、仮想オブジェクトの画像の色情報を容易に更新することができる。
【０１３５】
なお、この実施例では、着色指示があると、車オブジェクト画像のうち、マスク画像と重なる領域を除いて、カーソル画像が指示する領域内のすべての色情報を一度に更新するようにしたが、少なくとも一部の色情報を一度に更新するようにしてもよい。たとえば、仮想のスプレー缶から霧状の塗料を吹き付ける様子を再現する場合には、仮想のスプレー缶から霧状の塗料が仮想オブジェクトの画像に噴射され、カーソル画像が指示する領域内が次第に着色される。このように、仮想のスプレー缶から霧状の塗料が噴射され、オブジェクトが着色される場合には、Ａボタンが操作されている間、オブジェクトは継続的に着色される。かかる場合には、マスクモードにおいて、Ａボタンが操作されなくなったことに応じて、着色が終了されるとともに、マスク画像の固定が解除されるようにしてもよい。つまり、マスク画像は、Ａボタンが操作されている間だけ固定表示されるようにしてもよい。
【０１３６】
また、この実施例では、候補画像が表示されている場合に、Ａボタンが操作されると、候補画像の位置と、候補画像の形状が固定されたマスク画像を表示するようにしたが、これに限定される必要はない。他の実施例では、候補画像の形状が固定され、候補画像の位置が固定されないマスク画像を表示するようにしてもよい。かかる場合には、マスク画像は、入力装置が振られると、それに従って、カーソル画像とともに移動される。
【０１３７】
さらに、この実施例では、仮想オブジェクトの画像を着色する場合について説明したが、これに限定される必要はない。仮想オブジェクトの画像に予め付された色または着色された色を、取り除く（または落とす）場合にも、同様に、実施例と同様の手法によって、マスク画像を設定するようにしてもよい。かかる場合には、カーソル画像で指示される部分または領域の色が取り除かれるが、マスク画像を用いることにより、仮想オブジェクトの画像のうち、マスク画像と重なる領域（または部分）については色は取り除かれない。つまり、仮想オブジェクトの画像における所望の部分の色を取り除くことができる。このように、色を取り除く場合にも、仮想オブジェクトの画像の色情報は更新される。
【０１３８】
さらにまた、この実施例では、赤外画像を毎フレーム取得し、これに応じて候補画像を更新するようにしたが、赤外画像の取得または／および候補画像の更新は数フレーム毎にまたは数十フレーム毎に実行されてもよい。
【０１３９】
また、この実施例では、マスク画像は、その中心がカーソル画像の中心と重なるように表示されるため、着色画面（テレビ１６）に対して固定されるようにしたが、これに限定される必要はない。マスク画像は、その中心がカーソル画像の中心に対応する位置に表示され、仮想オブジェクトの画像または着色画面に対応する画像に対して固定されるようにしてもよい。
【０１４０】
さらに、この実施例では、赤外線カメラを用いる場合について説明したが、可視光カメラを用いる場合には、撮影画像に対して２値化処理を施し、一定値以上の輝度を有する部分に所定の色を付し、一定値未満の輝度を有する部分を透明にした候補画像１２０を生成するようにすればよい。ただし、所定の色を付した部分がマスク画像として機能する。
【０１４１】
さらにまた、この実施例では、赤外撮像部で撮影された画像のうち、撮影対象である対象物に対応する部分をマスクするように候補画像１２０を生成するようにしたが、対象物に対応する部分以外の部分をマスクするように候補画像１２０を生成するようにしてもよい。この場合、候補画像１２０を生成する場合に、一定値以上の輝度を有する部分が透明にされ、一定値未満の輝度を有する部分に所定の色が付される。このことは、可視光カメラを用いる場合も同じである。また、対象物に対応する部分以外の部分をマスクするように生成された候補画像１２０も、マスク画像１３０の元になる画像であり、候補画像１２０およびマスク画像１３０は、いずれも現実空間における対象物に対応する画像であり、「第１画像」に相当する。
【０１４２】
また、この実施例では、入力装置をポインティングデバイスとして用いることにより、この入力装置を動かして、カーソル画像を移動させるようにしたが、これに限定される必要はない。入力装置の十字キーを用いてカーソル画像を移動させるようにしてもよい。かかる場合には、仮想カメラは別の入力装置を用いて移動させたり、入力装置において仮想カメラを移動させるモードに設定した後に十字キーを用いてカーソル画像を移動させたりするようにしてもよい。または、入力装置にアナログスティックのような他の入力手段を設けて、このアナログスティックを用いてカーソル画像を移動させるようにしてもよい。
【０１４３】
なお、上述の実施例で示した具体的な数値および画面は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【０１４４】
１０  …ゲームシステム（情報処理システム）
１２  …ゲーム装置（情報処理装置）
１４  …入力装置
１６  …テレビ
２０  …ＣＰＵ
２２  …ＲＡＭ
２４  …フラッシュメモリ
２６  …通信モジュール
２８  …操作ボタン群
３０  …ＡＶ端子
５０  …制御部
５２  …通信モジュール
５４  …メモリ
５６  …操作ボタン群
５８  …赤外撮像部
６０  …赤外発光部
６２  …角速度センサ
【図１】
2019212104.tif 000003
【図２】
2019212104.tif 000004
【図３】
2019212104.tif 000005
【図４】
2019212104.tif 000006
【図５】
2019212104.tif 000007
【図６】
2019212104.tif 000008
【図７】
2019212104.tif 000009
【図８】
2019212104.tif 000010
【図９】
2019212104.tif 000011
【図１０】
2019212104.tif 000012
【図１１】
2019212104.tif 000013
【図１２】
2019212104.tif 000014
【図１３】
2019212104.tif 000015
【図１４】
2019212104.tif 000016
【図１５】
2019212104.tif 000017