(57)【特許請求の範囲】
【請求項１】
表示装置に画像を表示する画像処理装置のコンピュータで実行される画像処理プログラムであって、
前記コンピュータを、
第１画像を取得する第１画像取得手段と、
前記第１画像に対して第１の特徴を有する特徴点である第１特徴点を少なくとも抽出する第１特徴点抽出手段と、
第２画像を前記表示装置に表示する第２画像表示制御手段と、
前記表示装置に表示された第２画像に対して座標入力されたデータを取得する座標入力取得手段と、
前記座標入力取得手段が取得したデータを用いて、前記第２画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
前記第２画像における前記第１の特徴を有する特徴点である第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、所定の合成画像を合成する第１画像合成手段と、
前記第１画像合成手段が合成した前記第１画像を、前記第２画像表示制御手段による前記第２画像の表示と共に、前記表示装置に表示する第１画像表示制御手段として機能させる、画像処理プログラム。
【請求項２】
前記入力位置データに基づいて、前記座標入力を示す入力画像を前記第２画像上に合成する第２画像合成手段として、さらに前記コンピュータを機能させ、
前記第２画像表示制御手段は、前記第２画像合成手段が合成した前記第２画像を前記表示装置に表示し、
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準とした前記入力画像の位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、前記合成画像を合成する、請求項１に記載の画像処理プログラム。
【請求項３】
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準とした前記入力画像の位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、当該入力画像に基づいた画像を前記合成画像として合成する、請求項２に記載の画像処理プログラム。
【請求項４】
前記第２画像を取得する第２画像取得手段と、
前記第２画像取得手段が取得した第２画像から前記第１の特徴を有する前記第２特徴点を抽出する第２特徴点抽出手段として、さらに前記コンピュータを機能させる、請求項１に記載の画像処理プログラム。
【請求項５】
前記第１画像取得手段は、動画像を前記第１画像として取得し、
前記第１特徴点抽出手段は、前記第１画像取得手段が取得した動画像に含まれるフレーム画像に対して前記第１特徴点を抽出し、
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記動画像に含まれるフレーム画像上の位置に、前記合成画像を合成する、請求項１に記載の画像処理プログラム。
【請求項６】
前記第２画像表示制御手段は、静止画像を前記第２画像として前記表示装置に表示し、
前記座標入力取得手段は、前記表示装置に表示された前記静止画像に対して座標入力されたデータを取得し、
前記入力位置データ生成手段は、前記座標入力取得手段が取得したデータを用いて、前記静止画像に対して座標入力された位置を示す入力位置データを生成する、請求項１または５に記載の画像処理プログラム。
【請求項７】
前記第１特徴点抽出手段は、前記第１画像取得手段が取得した動画像に含まれるフレーム画像それぞれに対して前記第１特徴点を抽出し、
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記動画像に含まれるそれぞれのフレーム画像上の位置に、前記合成画像をそれぞれ合成する、請求項５に記載の画像処理プログラム。
【請求項８】
前記入力位置データ生成手段は、前記座標入力取得手段が前記座標入力を取得する毎に、前記入力位置データを逐次更新する入力位置データ更新手段を含み、
前記第１画像合成手段は、前記入力位置データ更新手段が更新した最新の入力位置データが示す位置に対応する前記第１特徴点を基準とした前記フレーム画像上の位置に、前記合成画像を合成する、請求項７に記載の画像処理プログラム。
【請求項９】
前記第１画像取得手段が取得した前記動画像に含まれるフレーム画像を、記憶装置に一時的に記憶させるフレーム画像記憶制御手段として、さらに前記コンピュータを機能させ、
前記第１画像合成手段は、前記第１画像取得手段が取得したフレーム画像から前記第１特徴点抽出手段が前記第１特徴点を抽出した場合、当該抽出の対象になったフレーム画像を前記記憶装置から読み出して当該第１特徴点を基準とした当該フレーム画像上の位置に前記合成画像を合成する、請求項５に記載の画像処理プログラム。
【請求項１０】
前記第１特徴点抽出手段は、前記第１画像に対して前記第１特徴点および第２の特徴を有する特徴点である第３特徴点を少なくとも抽出し、
前記第１画像合成手段は、前記第２画像における前記第２特徴点および前記第２の特徴を有する特徴点である第４特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点および前記第３特徴点を基準とした前記第１画像上の位置に、前記合成画像を合成する、請求項１乃至９のいずれか１つに記載の画像処理プログラム。
【請求項１１】
前記第１画像合成手段は、前記第２画像における前記第２特徴点と前記第４特徴点との間の距離と、前記第１画像における前記第１特徴点と前記第３特徴点との間の距離との関係に応じて、前記入力位置データが示す位置に対応する前記合成画像の大きさを設定して当該合成画像を前記第１画像上に合成する、請求項１０に記載の画像処理プログラム。
【請求項１２】
前記第１画像合成手段は、前記第１画像における前記第１特徴点および前記第３特徴点と前記合成画像との相対的な位置関係が、前記第２画像における前記第２特徴点および前記第４特徴点と前記入力位置データが示す位置との相対的な位置関係と同じになるように、前記第１画像上に合成する前記合成画像の位置および向きを決定する、請求項１０に記載の画像処理プログラム。
【請求項１３】
前記第１画像合成手段は、
前記第２画像において、前記第２特徴点を基準として決定される領域内の前記入力画像を抽出する画像抽出手段と、
前記第１画像において、前記第１特徴点を基準として、前記画像抽出手段によって抽出された画像を前記合成画像として前記第１画像に合成する抽出画像合成手段とを含む、請求項２に記載の画像処理プログラム。
【請求項１４】
前記画像抽出手段は、前記第２画像に対してそれぞれ固有の特徴を有する３以上の特徴点によって囲まれる領域内の前記入力画像を抽出し、
前記第１特徴点抽出手段は、前記３以上に特徴点にそれぞれ対応する前記固有の特徴を有する３以上の特徴点を前記第１画像に対して抽出し、
前記抽出画像合成手段は、前記第１画像において、前記第１特徴点抽出手段が抽出した３以上の特徴点によって囲まれる領域に、前記画像抽出手段によって抽出された入力画像を合成する、請求項１３に記載の画像処理プログラム。
【請求項１５】
前記第１画像合成手段は、前記第２画像上に合成された前記入力画像を示すテクスチャを生成するテクスチャ生成手段を含み、
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準として前記テクスチャに対する所定のポリゴンのテクスチャ座標を設定して、当該ポリゴンに前記テクスチャをマッピングし、前記第１画像における前記第１特徴点を基準として当該ポリゴンを前記第１画像上に配置することによって、前記合成画像を前記第１画像に合成する、請求項２に記載の画像処理プログラム。
【請求項１６】
前記第１画像および前記第２画像は、人物の顔を示す顔画像を含む画像であり、
前記第１特徴点抽出手段は、前記第１画像取得手段が取得した第１画像に対して顔認識処理を行って識別された顔画像において前記第１の特徴を有する点を前記第１特徴点として抽出し、
前記第１画像合成手段は、前記第２画像に含まれる顔画像において前記第１の特徴を有する点を前記第２特徴点として、前記合成画像を合成する、請求項１に記載の画像処理プログラム。
【請求項１７】
前記第１画像および前記第２画像は、人物の顔を示す顔画像を含む画像であり、
前記第２特徴点抽出手段は、前記第２画像取得手段が取得した第２画像に対して顔認識処理を行って識別された顔画像において前記第１の特徴を有する点を前記第２特徴点として抽出し、
前記第１特徴点抽出手段は、前記第１画像取得手段が取得した第１画像に対して顔認識処理を行って識別された顔画像において前記第１の特徴を有する点を前記第１特徴点として抽出する、請求項４に記載の画像処理プログラム。
【請求項１８】
前記第１画像取得手段は、前記画像処理装置が利用可能な実カメラによってリアルタイムに撮像された実世界の動画像を前記第１画像として取得する、請求項５に記載の画像処理プログラム。
【請求項１９】
前記第２画像を取得する第２画像取得手段と、
前記第２画像取得手段が取得した第２画像に対して所定の物を認識する処理を行って識別された物を示す画像内に対してそれぞれ固有の特徴を有する複数の特徴点を抽出し、さらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出する第２特徴点抽出手段として、さらに前記コンピュータを機能させ、
前記第１特徴点抽出手段は、前記第１画像取得手段が取得した第１画像に対して前記物を認識する処理を行って識別された前記物を示す画像内に対して、前記第２特徴点抽出手段が抽出する複数の特徴点にそれぞれ対応する前記固有の特徴を有する複数の特徴点を抽出し、前記第２特徴点抽出手段が抽出する前記複数の域外点にそれぞれ対応してさらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出し、
前記第１画像合成手段は、
前記第２画像において、前記第２特徴点抽出手段が設定した３つ以上の特徴点および／または域外点で囲まれる領域内の前記入力画像を抽出する画像抽出手段と、
前記第１画像において、前記入力画像が抽出された領域に対応する３つ以上の特徴点および／または域外点で囲まれる領域に、前記画像抽出手段によって抽出された入力画像を前記合成画像として合成する抽出画像合成手段とを含む、請求項２に記載の画像処理プログラム。
【請求項２０】
前記表示装置は、少なくとも第１の表示画面および第２の表示画面を有し、
前記第２画像表示制御手段は、前記第２画像を前記第２の表示画面に表示し、
前記第１画像表示制御手段は、前記第１画像合成手段が合成した前記第１画像を前記第１の表示画面に表示する、請求項１に記載の画像処理プログラム。
【請求項２１】
前記表示装置は、前記第２の表示画面を覆うタッチパネルを有し、
前記座標入力取得手段は、前記タッチパネルに対するタッチ位置を示すデータを前記座標入力されたデータとして取得し、
前記入力位置データ生成手段は、前記タッチ位置と重なる前記第２画像上の位置を示すデータを前記入力位置データとして生成する、請求項２０に記載の画像処理プログラム。
【請求項２２】
前記第１の表示画面は、左目用画像および右目用画像を用いて立体視可能な画像が表示可能であり、
前記第１画像取得手段は、左目用画像および右目用画像を含む立体視可能な画像を前記第１画像として取得し、
前記第１特徴点抽出手段は、前記第１画像における左目用画像および右目用画像に対して前記第１特徴点をそれぞれ抽出し、
前記第１画像合成手段は、前記第２画像における前記第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記第１画像における左目用画像上の位置および右目用画像上の位置に、それぞれ前記合成画像を合成し、
前記第１画像表示制御手段は、前記第１画像合成手段が合成した前記第１画像における左目用画像および右目用画像を用いて立体視可能な画像を前記第１の表示画面に表示する、請求項２１に記載の画像処理プログラム。
【請求項２３】
表示装置に画像を表示する画像処理装置であって、
第１画像を取得する第１画像取得手段と、
前記第１画像に対して第１の特徴を有する特徴点である第１特徴点を少なくとも抽出する第１特徴点抽出手段と、
第２画像を前記表示装置に表示する第２画像表示制御手段と、
前記表示装置に表示された第２画像に対して座標入力されたデータを取得する座標入力取得手段と、
前記座標入力取得手段が取得したデータを用いて、前記第２画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
前記第２画像における前記第１の特徴を有する特徴点である第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、所定の合成画像を合成する第１画像合成手段と、
前記第１画像合成手段が合成した前記第１画像を、前記第２画像表示制御手段による前記第２画像の表示と共に、前記表示装置に表示する第１画像表示制御手段とを備える、画像処理装置。
【請求項２４】
複数の装置が通信可能に構成され、表示装置に画像を表示する画像処理システムであって、
第１画像を取得する第１画像取得手段と、
前記第１画像に対して第１の特徴を有する特徴点である第１特徴点を少なくとも抽出する第１特徴点抽出手段と、
第２画像を前記表示装置に表示する第２画像表示制御手段と、
前記表示装置に表示された第２画像に対して座標入力されたデータを取得する座標入力取得手段と、
前記座標入力取得手段が取得したデータを用いて、前記第２画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成手段と、
前記第２画像における前記第１の特徴を有する特徴点である第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、所定の合成画像を合成する第１画像合成手段と、
前記第１画像合成手段が合成した前記第１画像を、前記第２画像表示制御手段による前記第２画像の表示と共に、前記表示装置に表示する第１画像表示制御手段とを備える、画像処理システム。
【請求項２５】
少なくとも第１の装置と第２の装置とが通信可能に構成され、
前記第１の装置は、
前記第２画像表示制御手段と、
前記座標入力取得手段と、
前記入力位置データ生成手段と、
前記入力位置データに基づいて、前記座標入力を示す入力画像を前記第２画像上に合成する第２画像合成手段と、
前記入力画像に関するデータを前記第２の装置に送信するデータ送信手段とを備え、
前記第２画像表示制御手段は、前記第２画像合成手段が合成した前記第２画像を前記第１の装置が利用可能な表示装置に表示し、
前記第２の装置は、
前記第１の装置から前記入力画像に関するデータを受信するデータ受信手段と、
前記第１画像取得手段と、
前記第１特徴点抽出手段と、
前記第１画像合成手段と、
前記第１画像表示制御手段とを備え、
前記第１画像合成手段は、前記データ受信手段が受信した前記入力画像に関するデータに基づいて、前記第２画像における前記第２特徴点を基準とした当該入力画像の位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、当該入力画像に基づいた画像を前記合成画像として合成し、
前記第１画像表示制御手段は、前記第１画像合成手段が合成した前記第１画像を前記第２の装置が利用可能な表示装置に表示する、請求項２４に記載の画像処理システム。
【請求項２６】
表示装置に画像を表示する画像処理が可能な少なくとも１つの情報処理装置により構成される画像処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行される画像処理方法であって、
第１画像を取得する第１画像取得ステップと、
前記第１画像に対して第１の特徴を有する特徴点である第１特徴点を少なくとも抽出する第１特徴点抽出ステップと、
第２画像を前記表示装置に表示する第２画像表示制御ステップと、
前記表示装置に表示された第２画像に対して座標入力されたデータを取得する座標入力取得ステップと、
前記座標入力取得ステップにおいて取得したデータを用いて、前記第２画像に対して座標入力された位置を示す入力位置データを生成する入力位置データ生成ステップと、
前記第２画像における前記第１の特徴を有する特徴点である第２特徴点を基準とした前記入力位置データが示す位置に対応する前記第１特徴点を基準とした前記第１画像上の位置に、所定の合成画像を合成する第１画像合成ステップと、
前記第１画像合成ステップにおいて合成した前記第１画像を、前記第２画像表示制御ステップによる前記第２画像の表示と共に、前記表示装置に表示する第１画像表示制御ステップとを含む、画像処理方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法に関し、より具体的には、ユーザ入力に応じた画像を合成する画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法に関する。
【背景技術】
【０００２】
従来、表示装置に表示された画像に、ユーザが好む装飾を施す装置が各種提案されている（例えば、特許文献１参照）。上記特許文献１で開示された画像プリント作成装置は、ユーザが撮影画像に化粧処理を施すことができる。具体的には、上記画像プリント作成装置は、様々なメイクツール（例えば、異なる色の口紅、ファンデーションなど）を有するメイクパレットが用意されている。そして、ユーザは、モニタに表示された撮影画像に対して、メイクパレット中の任意のメイクツールを使用してモニタ上でタッチペンを用いて化粧を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−６９４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示された画像プリント作成装置は、当該装置で撮影されたユーザの静止画像に対して、ユーザが直接化粧を施すような画像処理が行われる。したがって、ユーザは、ユーザ自身が静止画像を直接タッチするような操作で化粧を施すことによって、化粧が施された当該静止画像を見て楽しむことができても、ユーザの楽しむことができる画像は、化粧を施した静止画像だけであり一時的なものとなる。
【０００５】
それ故に、本発明の目的は、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能な画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
【０００７】
本発明の画像処理プログラムは、表示装置に画像を表示する画像処理装置のコンピュータで実行される。画像処理プログラムは、第１画像取得手段、第１特徴点抽出手段、第２画像表示制御手段、座標入力取得手段、入力位置データ生成手段、第１画像合成手段、および第１画像表示制御手段として、コンピュータを機能させる。第１画像取得手段は、第１画像を取得する。第１特徴点抽出手段は、第１画像に対して第１の特徴を有する特徴点である第１特徴点を少なくとも抽出する。第２画像表示制御手段は、第２画像を表示装置に表示する。座標入力取得手段は、表示装置に表示された第２画像に対して座標入力されたデータを取得する。入力位置データ生成手段は、座標入力取得手段が取得したデータを用いて、第２画像に対して座標入力された位置を示す入力位置データを生成する。第１画像合成手段は、第２画像における第１の特徴を有する特徴点である第２特徴点を基準とした入力位置データが示す位置に対応する第１特徴点を基準とした第１画像上の位置に、所定の合成画像を合成する。第１画像表示制御手段は、第１画像合成手段が合成した第１画像を表示装置に表示する。なお、表示装置に表示される第１画像と第２画像とは、一時的に同じ画像であってもいいし、常に異なる画像であってもかまわない。
【０００８】
上記によれば、ユーザ入力に応じた画像を、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
【０００９】
また、上記画像処理プログラムは、第２画像合成手段として、さらにコンピュータを機能させてもよい。第２画像合成手段は、入力位置データに基づいて、座標入力を示す入力画像を第２画像上に合成する。この場合、第２画像表示制御手段は、第２画像合成手段が合成した第２画像を表示装置に表示てもよい。第１画像合成手段は、第２画像における第２特徴点を基準とした入力画像の位置に対応する第１特徴点を基準とした第１画像上の位置に、合成画像を合成してもよい。
【００１０】
上記によれば、ユーザ入力を行う際に用いた画像および別の画像に対して、当該ユーザ入力に応じた画像をそれぞれ反映することが可能となる。
【００１１】
また、上記第１画像合成手段は、第２画像における第２特徴点を基準とした入力画像の位置に対応する第１特徴点を基準とした第１画像上の位置に、当該入力画像に基づいた画像を合成画像として合成してもよい。
【００１２】
上記によれば、第２画像上に入力した入力画像に基づいた画像が第１画像にも合成される。したがって、第１画像にユーザが画像を入力したかのような操作感覚を実現することが可能となる。
【００１３】
また、上記画像処理プログラムは、第２画像取得手段および第２特徴点抽出手段として、さらにコンピュータを機能させてもよい。第２画像取得手段は、第２画像を取得する。第２特徴点抽出手段は、第２画像取得手段が取得した第２画像から第１の特徴を有する第２特徴点を抽出する。
【００１４】
上記によれば、新たに取得した第２画像を、ユーザが座標入力するための画像として用いることができる。
【００１５】
また、上記第１画像取得手段は、動画像を第１画像として取得してもよい。上記第１特徴点抽出手段は、第１画像取得手段が取得した動画像に含まれるフレーム画像に対して第１特徴点を抽出してもよい。上記第１画像合成手段は、第２画像における第２特徴点を基準とした入力位置データが示す位置に対応する第１特徴点を基準とした動画像に含まれるフレーム画像上の位置に、合成画像を合成してもよい。なお、上記第１画像合成手段は、第１特徴点抽出手段が抽出対象にしたフレーム画像に合成画像を合成してもよいし、その後のフレーム画像（抽出対象にしたフレーム画像とは異なるフレーム画像）に合成画像を合成してもよい。前者の場合、上記第１画像合成手段は、抽出対象にしたフレーム画像おける第１特徴点の位置を基準とする位置に合成画像を合成する。後者の場合、上記第１画像合成手段は、抽出対象にしたフレーム画像における第１特徴点の位置に対応する合成対象のフレーム画像の同じ位置を基準とする位置に合成画像を合成する。
【００１６】
上記によれば、ユーザ入力を行う際に用いた画像とは別の動画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
【００１７】
また、上記第２画像表示制御手段は、静止画像を第２画像として表示装置に表示してもよい。上記座標入力取得手段は、表示装置に表示された静止画像に対して座標入力されたデータを取得してもよい。上記入力位置データ生成手段は、座標入力取得手段が取得したデータを用いて、静止画像に対して座標入力された位置を示す入力位置データを生成してもよい。
【００１８】
上記によれば、静止画像をユーザが座標入力するための画像として用いることができるため、ユーザが第２画像に対して所望する位置を入力することが容易となる。
【００１９】
また、上記第１特徴点抽出手段は、第１画像取得手段が取得した動画像に含まれるフレーム画像それぞれに対して第１特徴点を抽出してもよい。上記第１画像合成手段は、第２画像における第２特徴点を基準とした入力位置データが示す位置に対応する第１特徴点を基準とした動画像に含まれるそれぞれのフレーム画像上の位置に、合成画像をそれぞれ合成してもよい。
【００２０】
上記によれば、１つの画像だけでなく動画像に含まれるフレーム画像それぞれに対して、当該ユーザ入力に応じた画像を反映することが可能となる。
【００２１】
また、上記入力位置データ生成手段は、入力位置データ更新手段を含んでいてもよい。入力位置データ更新手段は、座標入力取得手段が座標入力を取得する毎に、入力位置データを逐次更新する。この場合、上記第１画像合成手段は、入力位置データ更新手段が更新した最新の入力位置データが示す位置に対応する第１特徴点を基準としたフレーム画像上の位置に、合成画像を合成してもよい。
【００２２】
上記によれば、ユーザ入力を行う際に用いた画像とは別の画像に対して、最新のユーザ入力に応じた画像を反映することが可能となる。
【００２３】
また、上記画像処理プログラムは、フレーム画像記憶制御手段として、さらにコンピュータを機能させてもよい。フレーム画像記憶制御手段は、第１画像取得手段が取得した動画像に含まれるフレーム画像を、記憶装置に一時的に記憶させる。上記第１画像合成手段は、第１画像取得手段が取得したフレーム画像から第１特徴点抽出手段が第１特徴点を抽出した場合、当該抽出の対象になったフレーム画像を記憶装置から読み出して当該第１特徴点を基準とした当該フレーム画像上の位置に合成画像を合成してもよい。
【００２４】
上記によれば、第１画像から第１特徴点を抽出する処理に時間を要する場合であっても、当該第１画像にユーザ入力に応じた画像を反映することが可能となる。
【００２５】
また、上記第１特徴点抽出手段は、第１画像に対して第１特徴点および第２の特徴を有する特徴点である第３特徴点を少なくとも抽出してもよい。第１画像合成手段は、第２画像における第２特徴点および第２の特徴を有する特徴点である第４特徴点を基準とした入力位置データが示す位置に対応する第１特徴点および第３特徴点を基準とした第１画像上の位置に、合成画像を合成してもよい。
【００２６】
上記によれば、複数の特徴点を用いることによって、第２画像に対して座標入力された位置に対応する第１画像の位置を特定の位置に決定することができ、ユーザが座標入力した位置に対応する位置に合成画像を表示することができる。
【００２７】
また、上記第１画像合成手段は、第２画像における第２特徴点と第４特徴点との間の距離と、第１画像における第１特徴点と第３特徴点との間の距離との関係に応じて、入力位置データが示す位置に対応する合成画像の大きさを設定して当該合成画像を第１画像上に合成してもよい。
【００２８】
上記によれば、例えば第２画像に含まれる所定の物の表示サイズと第１画像に含まれる当該物の表示サイズとが、相対的に異なる場合、当該表示サイズの違いに応じた大きさで合成画像を表示することができる。
【００２９】
また、上記第１画像合成手段は、第１画像における第１特徴点および第３特徴点と合成画像との相対的な位置関係が、第２画像における第２特徴点および第４特徴点と入力位置データが示す位置との相対的な位置関係と同じになるように、第１画像上に合成する合成画像の位置および向きを決定してもよい。
【００３０】
上記によれば、例えば第２画像に含まれる所定の物の表示方向と第１画像に含まれる当該物の表示方向とが、相対的に異なる場合、当該表示方向の違いが反映された方向に合成画像を合成して表示することができる。
【００３１】
また、上記第１画像合成手段は、画像抽出手段および抽出画像合成手段を含んでいてもよい。画像抽出手段は、第２画像において、第２特徴点を基準として決定される領域内の入力画像を抽出する。抽出画像合成手段は、第１画像において、第１特徴点を基準として、画像抽出手段によって抽出された画像を合成画像として第１画像に合成する。
【００３２】
上記によれば、入力画像をコピーすることによって容易に合成画像を生成することができる。
【００３３】
また、上記画像抽出手段は、第２画像に対してそれぞれ固有の特徴を有する３以上の特徴点によって囲まれる領域内の入力画像を抽出してもよい。第１特徴点抽出手段は、３以上に特徴点にそれぞれ対応する固有の特徴を有する３以上の特徴点を第１画像に対して抽出してもよい。抽出画像合成手段は、第１画像において、第１特徴点抽出手段が抽出した３以上の特徴点によって囲まれる領域に、画像抽出手段によって抽出された入力画像を合成してもよい。
【００３４】
上記によれば、領域内に属する入力画像を、当該領域に対応する第１画像の領域にコピーすることによって合成画像を生成することができる。
【００３５】
また、上記第１画像合成手段は、テクスチャ生成手段を含んでいてもよい。テクスチャ生成手段は、第２画像上に合成された入力画像を示すテクスチャを生成する。この場合、上記第１画像合成手段は、第２画像における第２特徴点を基準としてテクスチャに対する所定のポリゴンのテクスチャ座標を設定して、当該ポリゴンにテクスチャをマッピングし、第１画像における第１特徴点を基準として当該ポリゴンを第１画像上に配置することによって、合成画像を第１画像に合成してもよい。
【００３６】
上記によれば、ポリゴンに入力画像のテクスチャをマッピングすることによって、合成画像を生成することができる。
【００３７】
また、上記第１画像および第２画像は、人物の顔を示す顔画像を含む画像であってもよい。第１特徴点抽出手段は、第１画像取得手段が取得した第１画像に対して顔認識処理を行って識別された顔画像において第１の特徴を有する点を第１特徴点として抽出してもよい。第１画像合成手段は、第２画像に含まれる顔画像において第１の特徴を有する点を第２特徴点として、合成画像を合成してもよい。
【００３８】
また、上記第１画像および第２画像は、人物の顔を示す顔画像を含む画像であってもよい。第２特徴点抽出手段は、第２画像取得手段が取得した第２画像に対して顔認識処理を行って識別された顔画像において第１の特徴を有する点を第２特徴点として抽出してもよい。第１特徴点抽出手段は、第１画像取得手段が取得した第１画像に対して顔認識処理を行って識別された顔画像において第１の特徴を有する点を第１特徴点として抽出してもよい。
【００３９】
上記によれば、画像から識別された顔画像上にユーザ入力に応じた合成画像を合成して、第１画像を表示することができる。
【００４０】
また、上記第１画像取得手段は、画像処理装置が利用可能な実カメラによってリアルタイムに撮像された実世界の動画像を第１画像として取得してもよい。
【００４１】
上記によれば、実カメラによってリアルタイムに撮像された実世界の動画像にユーザ入力に応じた合成画像を合成して表示することができる。
【００４２】
また、上記画像処理プログラムは、第２画像取得手段および第２特徴点抽出手段として、さらにコンピュータを機能させてもよい。第２画像取得手段は、第２画像を取得する。第２特徴点抽出手段は、第２画像取得手段が取得した第２画像に対して所定の物を認識する処理を行って識別された物を示す画像内に対してそれぞれ固有の特徴を有する複数の特徴点を抽出し、さらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出する。この場合、第１特徴点抽出手段は、第１画像取得手段が取得した第１画像に対して物を認識する処理を行って識別された物を示す画像内に対して、第２特徴点抽出手段が抽出する複数の特徴点にそれぞれ対応する固有の特徴を有する複数の特徴点を抽出し、第２特徴点抽出手段が抽出する複数の域外点にそれぞれ対応してさらに当該特徴点から当該物を示す画像外へ放射状に設けられる複数の域外点を抽出してもよい。また、第１画像合成手段は、画像抽出手段および抽出画像合成手段とを含んでもよい。画像抽出手段は、第２画像において、第２特徴点抽出手段が設定した３つ以上の特徴点および／または域外点で囲まれる領域内の入力画像を抽出する。抽出画像合成手段は、第１画像において、入力画像が抽出された領域に対応する３つ以上の特徴点および／または域外点で囲まれる領域に、画像抽出手段によって抽出された入力画像を合成画像として合成する。
【００４３】
上記によれば、第１画像および第２画像から所定の物を認識し、当該物にユーザ入力に応じた合成画像を合成して表示する場合、当該物の域外へのユーザ入力に対しても合成画像を生成して表示することができる。
【００４４】
また、上記表示装置は、少なくとも第１の表示画面および第２の表示画面を有していてもよい。この場合、上記第２画像表示制御手段は、第２画像を第２の表示画面に表示してもよい。上記第１画像表示制御手段は、第１画像合成手段が合成した第１画像を第１の表示画面に表示してもよい。
【００４５】
上記によれば、第１の表示画面および第２の表示画面に、それぞれ第１画像および第２画像を同時に表示することができる。
【００４６】
また、上記表示装置は、第２の表示画面を覆うタッチパネルを有していてもよい。この場合、上記座標入力取得手段は、タッチパネルに対するタッチ位置を示すデータを座標入力されたデータとして取得してもよい。上記入力位置データ生成手段は、タッチ位置と重なる第２画像上の位置を示すデータを入力位置データとして生成してもよい。
【００４７】
上記によれば、タッチ入力に応じた合成画像を第１画像に合成して表示することができる。
【００４８】
また、上記第１の表示画面は、左目用画像および右目用画像を用いて立体視可能な画像が表示可能であってもよい。この場合、上記第１画像取得手段は、左目用画像および右目用画像を含む立体視可能な画像を第１画像として取得してもよい。上記第１特徴点抽出手段は、第１画像における左目用画像および右目用画像に対して第１特徴点をそれぞれ抽出してもよい。上記第１画像合成手段は、第２画像における第２特徴点を基準とした入力位置データが示す位置に対応する第１特徴点を基準とした第１画像における左目用画像上の位置および右目用画像上の位置に、それぞれ合成画像を合成してもよい。上記第１画像表示制御手段は、第１画像合成手段が合成した第１画像における左目用画像および右目用画像を用いて立体視可能な画像を第１の表示画面に表示してもよい。
【００４９】
上記によれば、立体視可能な画像にユーザ入力に応じた合成画像を合成して表示することができる。
【００５０】
また、本発明は、上記各手段を備える画像処理装置および画像処理システムや上記各手段で行われる動作を含む画像処理方法の形態で実施されてもよい。
【００５１】
また、上記画像処理システムは、少なくとも第１の装置と第２の装置とが通信可能に構成されていてもよい。この場合、第１の装置は、第２画像表示制御手段、座標入力取得手段、入力位置データ生成手段、第２画像合成手段、およびデータ送信手段を備えていてもよい。第２画像合成手段は、入力位置データに基づいて、座標入力を示す入力画像を第２画像上に合成する。データ送信手段は、入力画像に関するデータを第２の装置に送信する。この場合、上記第２画像表示制御手段は、第２画像合成手段が合成した第２画像を第１の装置が利用可能な表示装置に表示してもよい。また、第２の装置は、データ受信手段、第１画像取得手段、第１特徴点抽出手段、第１画像合成手段、および第１画像表示制御手段を備えていてもよい。データ受信手段は、第１の装置から入力画像に関するデータを受信する。この場合、上記第１画像合成手段は、データ受信手段が受信した入力画像に関するデータに基づいて、第２画像における第２特徴点を基準とした当該入力画像の位置に対応する第１特徴点を基準とした第１画像上の位置に、当該入力画像に基づいた画像を合成画像として合成してもよい。上記第１画像表示制御手段は、第１画像合成手段が合成した第１画像を第２の装置が利用可能な表示装置に表示してもよい。
【００５２】
上記によれば、入力画像に関するデータを送受信することによって、他のユーザの入力に応じた合成画像を第１画像に合成して表示することができる。
【発明の効果】
【００５３】
本発明によれば、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能となる。
【図面の簡単な説明】
【００５４】
【図１】開いた状態におけるゲーム装置１０の一例を示す正面図
【図２】開いた状態におけるゲーム装置１０の一例を示す側面図
【図３Ａ】閉じた状態におけるゲーム装置１０の一例を示す左側面図
【図３Ｂ】閉じた状態におけるゲーム装置１０の一例を示す正面図
【図３Ｃ】閉じた状態におけるゲーム装置１０の一例を示す右側面図
【図３Ｄ】閉じた状態におけるゲーム装置１０の一例を示す背面図
【図４】ユーザがゲーム装置１０を両手で把持する様子の一例を示す図
【図５】ユーザがゲーム装置１０を片手で把持する様子の一例を示す図
【図６】ゲーム装置１０の内部構成の一例を示すブロック図
【図７】タッチパネル１３を介して手書き入力をすることによって上側ＬＣＤ２２に表示されたカメラ画像に当該手書き入力に応じた手書き画像ＨＩが表示されるまでの各処理段階の一例を示す図
【図８】タッチパネル１３を介して手書き入力をすることによって上側ＬＣＤ２２に表示されたカメラ画像に当該手書き入力に応じた手書き画像ＨＩが表示されるまでの各処理段階の一例を示す図
【図９】タッチパネル１３を介して手書き入力をすることによって上側ＬＣＤ２２に表示されたカメラ画像に当該手書き入力に応じた手書き画像ＨＩが表示されるまでの各処理段階の一例を示す図
【図１０】タッチパネル１３を介して手書き入力をすることによって上側ＬＣＤ２２に表示されたカメラ画像に当該手書き入力に応じた手書き画像ＨＩが表示されるまでの各処理段階の一例を示す図
【図１１Ａ】顔認識処理によって識別された顔の特徴点に基づいて複数のポリゴンＰＧが生成される一例を示す図
【図１１Ｂ】顔認識処理によって識別された顔の特徴点に基づいて複数のポリゴンＰＧが生成される一例を示す図
【図１２】画像処理プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図
【図１３】画像処理プログラムを実行することによってゲーム装置１０が画像処理する動作の一例を示す前半部分のフローチャート
【図１４】画像処理プログラムを実行することによってゲーム装置１０が画像処理する動作の一例を示す後半部分のフローチャート
【図１５】図１４のステップ７１で行われる手書き画像描画処理の詳細な動作の一例を示すサブルーチン
【図１６】人物の顔の輪郭外にポリゴンＰＧが設けた一例を示す図
【図１７Ａ】タッチ入力に応じた位置に沿って、所定のマークを並べて手書き画像ＨＩを生成した一例を示す図
【図１７Ｂ】タッチ入力に応じた位置に沿って、所定のマークを並べて手書き画像ＨＩを生成した一例を示す図
【発明を実施するための形態】
【００５５】
図面を参照して、本発明の一実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。本発明の画像処理プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、画像処理装置の一例として携帯型のゲーム装置１０を用い、ゲーム装置１０で実行される画像処理プログラムを用いて説明する。なお、図１〜図３Ｄは、ゲーム装置１０の外観の一例を示す平面図である。ゲーム装置１０は、一例として携帯型のゲーム装置であり、図１〜図３Ｄに示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０の一例を示す正面図である。図２は、開状態におけるゲーム装置１０の一例を示す右側面図である。図３Ａは、閉じた状態（閉状態）におけるゲーム装置１０の一例を示す左側面図である。図３Ｂは、閉状態におけるゲーム装置１０の一例を示す正面図である。図３Ｃは、閉状態におけるゲーム装置１０の一例を示す右側面図である。図３Ｄは、閉状態におけるゲーム装置１０の一例を示す背面図である。ゲーム装置１０は、撮像部を内蔵しており、当該撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することもできる。
【００５６】
図１〜図３Ｄにおいて、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回動可能に連結されている。通常、ユーザは、開状態でゲーム装置１０を使用する。そして、ユーザは、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００５７】
図１および図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００５８】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３Ａ〜図３Ｄ）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００５９】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は、下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１の内側面に設けられた開口部から下側ＬＣＤ１２の画面が露出する。そして、ゲーム装置１０を使用しない場合には上記閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、一例として、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）である。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００６０】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図３Ｄに示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００６１】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、およびボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００６２】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａが下側ＬＣＤ１２より左側領域の下部領域に設けられ、アナログスティック１５が十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５および十字ボタン１４Ａは、下側ハウジング１１を把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
【００６３】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、およびボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンとアナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００６４】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図６参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００６５】
図３Ｂおよび図３Ｄに示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。後述のように、Ｌボタン１４ＧおよびＲボタン１４Ｈは、撮像部のシャッターボタン（撮影指示ボタン）として機能する。また、図３Ａに示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００６６】
図３Ａに示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００６７】
図３Ｄに示されるように、下側ハウジング１１の上側面にはゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００６８】
図１に示されるように、下側ハウジング１１の下側面には、ゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａが設けられる。また、図３Ｃに示されるように、下側ハウジング１１の右側面には、ゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１６Ｂは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３Ｃ参照）。
【００６９】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００７０】
上側ハウジング２１には、上側ＬＣＤ２２、２つの外側撮像部２３（外側左撮像部２３ａおよび外側右撮像部２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００７１】
図１に示すように、上側ＬＣＤ２２は、上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は、上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、一例として下側ＬＣＤ１２の画面の面積よりも大きく設定される。具体的には、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００７２】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１の内側面に設けられた開口部から上側ＬＣＤ２２の画面が露出する。また、図２に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、一例として６４０ｄｏｔ×２００ｄｏｔ（横×縦）である。なお、本実施形態では、上側ＬＣＤ２２が液晶表示装置であるとしたが、例えばＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００７３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。上側ＬＣＤ２２は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側ＬＣＤ２２は、左目用画像と右目用画像とが所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。なお、上側ＬＣＤ２２は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。この場合、上側ＬＣＤ２２は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２は、パララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００７４】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）の総称である。外側左撮像部２３ａおよび外側右撮像部２３ｂの撮像方向は、いずれも外側面２１Ｄの外向きの法線方向である。また、外側左撮像部２３ａおよび外側右撮像部２３ｂは、いずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側左撮像部２３ａの撮像方向および外側右撮像部２３ｂの撮像方向は、平行である。外側左撮像部２３ａと外側右撮像部２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部２３は、外側左撮像部２３ａおよび外側右撮像部２３ｂの２つの撮像部で構成される。外側左撮像部２３ａおよび外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００７５】
図１の破線および図３Ｂの実線で示されるように、外側撮像部２３を構成する外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの外側左撮像部２３ａおよび外側右撮像部２３ｂを結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側左撮像部２３ａおよび外側右撮像部２３ｂが配置される。図１の破線２３ａおよび２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側左撮像部２３ａおよび外側右撮像部２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側左撮像部２３ａは左側に外側右撮像部２３ｂは右側にそれぞれ位置する。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側左撮像部２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、この範囲に限らない。
【００７６】
なお、本実施例においては、外側左撮像部２３ａおよび外側右撮像部２３ｂは、ハウジングに固定されており、撮像方向を変更することはできない。
【００７７】
外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００７８】
このように、外側撮像部２３の２つの撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）が上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３それぞれの撮像方向をユーザの左右の目それぞれの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。したがって、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００７９】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００８０】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１および図３Ｂに示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側左撮像部２３ａおよび外側右撮像部２３ｂの中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側左撮像部２３ａおよび外側右撮像部２３ｂを上側ハウジング２１の内側面に投影した場合、当該投影した外側左撮像部２３ａおよび外側右撮像部２３ｂの中間に、内側撮像部２４が設けられる。図３Ｂで示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００８１】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、２つの外側撮像部２３の中間位置となる裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側左撮像部２３ａおよび外側右撮像部２３ｂと内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００８２】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３Ｄに示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面および右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。３Ｄ調整スイッチ２５は、所定方向（例えば、上下方向）の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００８３】
例えば、３Ｄ調整スイッチ２５のスライダが最下点位置に配置されている場合、上側ＬＣＤ２２が平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
【００８４】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。例えば、３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。したがって、ユーザは、上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００８５】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００８６】
次に、図４および図５を参照して、ゲーム装置１０の使用状態の一例を示す。なお、図４は、ユーザがゲーム装置１０を両手で把持する様子の一例を示す図である。図５は、ユーザがゲーム装置１０を片手で把持する様子の一例を示す図である。
【００８７】
図４に示されるように、ユーザは、下側ＬＣＤ１２および上側ＬＣＤ２２がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング１１の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング１１を把持したまま、各操作ボタン１４Ａ〜１４Ｅおよびアナログスティック１５に対する操作を親指で行い、Ｌボタン１４ＧおよびＲ１４Ｈに対する操作を人差し指で行うことができる。また、図５に示されるように、タッチパネル１３に対して入力を行う場合には、下側ハウジング１１を把持していた一方の手を離して他方の手のみで下側ハウジング１１を把持することによって、当該一方の手でタッチパネル１３に対する入力を行うことができる。
【００８８】
次に、図６を参照して、ゲーム装置１０の内部構成を説明する。なお、図６は、ゲーム装置１０の内部構成の一例を示すブロック図である。
【００８９】
図６において、ゲーム装置１０は、上述した各構成部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００９０】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する画像処理やゲーム処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像が表示される。
【００９１】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００９２】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００９３】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像を表示することができる。
【００９４】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００９５】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は、情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００９６】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、例えば下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、ゲーム装置１０の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを算出する。
【００９７】
情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００９８】
情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２、スピーカ４３、およびタッチパネル１３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置（タッチ位置）の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、およびタッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を知ることができる。
【００９９】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【０１００】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示にしたがってって画像を表示する。本実施形態では、情報処理部３１は、手書き画像入力操作用の画像を下側ＬＣＤ１２に表示させ、外側撮像部２３および内側撮像部２４のいずれかから取得した画像を上側ＬＣＤ２２に表示させる。すなわち、情報処理部３１は、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像と左目用画像とを用いた立体画像（立体視可能な画像）を表示させたり、内側撮像部２４で撮像した平面画像を上側ＬＣＤ２２に表示させたり、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像および左目用画像の一方を用いた平面画像を表示させたりする。
【０１０１】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された（外側撮像部２３で撮像された）右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【０１０２】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示にしたがってって画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は、外側撮像部２３および内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、ユーザによるタッチパネル１３や操作ボタン１４を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３または内側撮像部２４に対して撮像指示を行う。
【０１０３】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【０１０４】
３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【０１０５】
次に、ゲーム装置１０で実行される画像処理プログラムによる具体的な処理動作を説明する前に、図７〜図１１Ｂを参照して当該画像処理動作によって下側ＬＣＤ１２および上側ＬＣＤ２２に表示される表示形態例等について説明する。なお、図７〜図１１Ｂは、タッチパネル１３を介して手書き入力をすることによって上側ＬＣＤ２２に表示されたカメラ画像に当該手書き入力に応じた手書き画像ＨＩが表示されるまでの各処理段階の一例を示す図である。なお、説明を簡単にするために、下側ＬＣＤ１２および上側ＬＣＤ２２には、外側撮像部２３および内側撮像部２４のいずれかから取得したカメラ画像に基づいた、実世界の平面画像（上述した立体視可能な画像とは反対の意味での平面視の画像）が表示される例を用いる。
【０１０６】
図７において、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラ（例えば、外側撮像部２３）によって撮像された実世界画像であるカメラ画像が表示されている。図７の例では、実世界中に１人の人物が撮像されたカメラ画像が上側ＬＣＤ２２に表示されている。例えば、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの実世界画像が表示される。
【０１０７】
ゲーム装置１０は、実カメラで撮像されたカメラ画像に対して所定の顔認識処理を逐次に行い、当該カメラ画像内における人物の顔の有無を判断している。そして、ゲーム装置１０は、上記顔認識処理において、上記カメラ画像内に人物の顔が存在すると識別できた場合、当該カメラ画像内から顔と識別した部分を抽出する。そして、ゲーム装置１０は、顔と識別した部分に所定の標識を付与して、顔認識したカメラ画像とともに上側ＬＣＤ２２に表示する。例えば、図８に示すように、ゲーム装置１０は、上記カメラ画像内で顔と識別した部分全体を覆うメッシュ状の線画（顔メッシュＦＭ）を表示することによって、ゲーム装置１０のユーザにリアルタイムの実世界画像に対して顔の識別ができたことを報知するとともに、人物の顔と識別した部分もユーザに報知する。
【０１０８】
上記カメラ画像内に人物の顔が存在すると識別された状態で、ユーザが所定の操作（例えば、ボタン１４Ｂ（Ａボタン）を押下する操作）を行うことに応じて、下側ＬＣＤ１２に手書き画像入力用の画像が表示される。例えば、手書き画像入力用の画像は、人物の顔が存在すると識別された上記カメラ画像における静止画像であり、上記所定の操作が行われた際に上側ＬＣＤ２２に表示されているカメラ画像（すなわち、上記カメラ画像内に人物の顔が存在すると識別されたカメラ画像）である。そして、ユーザは、タッチパネル１３を介して、下側ＬＣＤ１２に表示された手書き画像入力用の画像に対する手書き入力が可能となる。例えば、図９に示すように、下側ＬＣＤ１２には、図８に示したカメラ画像（すなわち、上記カメラ画像内に人物の顔が存在すると識別されたカメラ画像）が表示されており、ユーザが下側ＬＣＤ１２に表示された画像上に手書き入力ＨＷを入力している。ここで、手書き入力ＨＷは、ユーザがタッチパネル１３にタッチオンしてからタッチオフするまでにタッチ入力したタッチ軌跡である。そして、ユーザがタッチパネル１３に対するタッチオンおよびタッチオフを繰り返すことによって、複数のタッチ軌跡が手書き入力ＨＷとして入力することが可能である。そして、ユーザが入力した手書き入力ＨＷは、手書き画像入力用の画像の上に、そのタッチ軌跡を示す画像（例えば、軌跡を示す実線）として当該タッチ入力と重なる位置に描画される。
【０１０９】
図９に示すように、下側ＬＣＤ１２に表示された手書き画像入力用の画像に対する手書き入力ＨＷは、上側ＬＣＤ２２に表示されているカメラ画像にも手書き画像ＨＩとして描画される。具体的には、ユーザが手書き画像入力用の画像内における人物の顔上に手書き入力ＨＷを入力した場合、上側ＬＣＤ２２に表示されているカメラ画像内における人物の顔上にも手書き入力ＨＷと同様の形状の手書き画像ＨＩが描画される。
【０１１０】
ここで、上述したように、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラによって撮像されたリアルタイムの実世界画像が表示されている。したがって、実空間内においてゲーム装置１０の方向や位置を変えることによって、ゲーム装置１０で撮像されるリアルタイムの実世界画像も変化するため、上側ＬＣＤ２２に表示されるカメラ画像も変化する。この場合、ゲーム装置１０は、変化したカメラ画像に対しても顔認識処理を逐次行っており、顔上の手書き入力ＨＷに対応する手書き画像ＨＩを当該顔認識処理によって抽出された顔上に描画する。例えば、図１０に示すように、下側ＬＣＤ１２には図９に示した手書き画像入力用の画像（静止画像）がそのまま表示されている。これに対して、上側ＬＣＤ２２に表示されているカメラ画像は、図９に示した上側ＬＣＤ２２のカメラ画像に対して撮像位置やアングルが変化しており、撮像されている人物の位置や大きさが変化している。このように、上側ＬＣＤ２２に表示されるカメラ画像が変化した場合であっても、変化したカメラ画像に対して行われた顔認識処理によって抽出された人物の顔上に手書き入力ＨＷに対応する手書き画像ＨＩが描画される。
【０１１１】
また、実空間内において被撮像体となっている人物の表情が変化することによって、ゲーム装置１０で撮像されるリアルタイムの実世界画像内における人物の表情も変化する。このように上側ＬＣＤ２２に表示されるカメラ画像内における人物の表情が変化した場合、当該表情の変化に応じて当該人物の顔上に描画する手書き画像ＨＩの形状も変化させる。例えば、図１１Ａに示すように、上記顔認識処理によって識別された顔に対して、当該顔の特徴点に基づいて複数のポリゴンＰＧが生成される。そして、手書き入力ＨＷに対応する手書き画像のテクスチャが設定され、当該テクスチャが複数のポリゴンＰＧにマッピングされて、手書き画像ＨＩがカメラ画像内の顔上に描画される。図１１Ａと図１１Ｂとを比較すれば明らかなように、カメラ画像内の顔画像における顔の表情が変化（例えば、口を閉じた状態から口を開いた状態に変化）した場合、当該顔の特徴点に基づいて設定されるポリゴンＰＧの頂点位置も変化するため、結果的にポリゴンＰＧの位置や形状も変化し、当該ポリゴンＰＧの変化に応じて手書き画像ＨＩの形状も変化する。
【０１１２】
具体的には、上側ＬＣＤ２２に表示されたカメラ画像内の顔画像の位置が移動した場合、当該顔の特徴点の位置も移動するために当該特徴点の位置に基づいて設定されるポリゴンＰＧの頂点位置も移動する。したがって、結果的に上記カメラ画像に対するポリゴンＰＧの位置も移動し、当該ポリゴンＰＧの移動に応じて手書き画像ＨＩの表示位置も移動する。また、上側ＬＣＤ２２に表示されたカメラ画像内の顔画像の表示角度が変化した場合、当該顔から抽出される複数の特徴点の位置も当該表示角度の変化に応じて回転移動するために当該特徴点の位置に基づいて設定されるポリゴンＰＧの頂点位置も回転移動する。したがって、結果的に上記カメラ画像に対するポリゴンＰＧの位置も回転移動し、当該ポリゴンＰＧの回転移動に応じて手書き画像ＨＩの表示角度も変化する。さらに、上側ＬＣＤ２２に表示されたカメラ画像内の顔画像のサイズや形状が変化した場合、当該顔から抽出される複数の特徴点間の距離が変化するために当該特徴点の位置に基づいて設定されるポリゴンＰＧの頂点間の距離も変化する。したがって、結果的に上記カメラ画像に対するポリゴンＰＧのサイズや形状も変化し、当該ポリゴンＰＧの変化に応じて手書き画像ＨＩの表示サイズや形状も変化する。具体的には、顔画像のサイズが大きくなった場合、当該顔から抽出される複数の特徴点間の距離も長くなるために当該特徴点の位置に基づいて設定されるポリゴンＰＧの頂点間の距離も長くなり、ポリゴンＰＧのサイズも大きくなる。また、顔画像の一部の形状が変化した場合、当該顔から抽出される複数の特徴点のうち、形状が変化した部位から抽出された特徴点間の距離が変化するために当該特徴点の位置に基づいて設定されるポリゴンＰＧの頂点間の距離も当該部位において変化するため、当該部位に配置されるポリゴンＰＧの形状も変化する。
【０１１３】
なお、手書き画像ＨＩが描画される人物の顔は、手書き画像入力用の画像で手書き入力ＨＷが入力された人物の顔とは、同一人物でなくてもかまわない。カメラ画像に対する顔認識処理において人物の顔として識別されれば、当該識別された顔上に手書き画像ＨＩを描画することができる。また、手書き画像ＨＩが描画される人物は、複数人でもかまわない。カメラ画像に対する顔認識処理において複数の人物の顔が識別されれば、当該識別された顔上にそれぞれ手書き画像ＨＩを描画することもできる。
【０１１４】
次に、図１２〜図１５を参照して、ゲーム装置１０で実行される画像処理プログラムによる具体的な処理動作について説明する。なお、図１２は、画像処理プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図である。図１３は、当該画像処理プログラムを実行することによってゲーム装置１０が画像処理する動作の一例を示す前半部分のフローチャートである。図１４は、当該画像処理プログラムを実行することによってゲーム装置１０が画像処理する動作の一例を示す後半部分のフローチャートである。図１５は、図１４のステップ７１で行われる手書き画像描画処理の詳細な動作の一例を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ゲーム装置１０に内蔵されるメモリ（例えば、データ保存用内部メモリ３５）や外部メモリ４４またはデータ保存用外部メモリ４５に含まれており、ゲーム装置１０の電源がオンになったときに、内蔵メモリから、または外部メモリＩ／Ｆ３３やデータ保存用外部メモリＩ／Ｆ３４を介して外部メモリ４４またはデータ保存用外部メモリ４５からメインメモリ３２に読み出されて、ＣＰＵ３１１によって実行される。
【０１１５】
図１２において、メインメモリ３２には、内蔵メモリ、外部メモリ４４、またはデータ保存用外部メモリ４５から読み出されたプログラムや画像処理において生成される一時的なデータが記憶される。図１２において、メインメモリ３２のデータ記憶領域には、操作データＤａ、カメラ画像データＤｂ、顔認識結果データＤｃ、上側ＬＣＤデータＤｄ、下側ＬＣＤデータＤｅ、手書き画像テクスチャデータＤｆ、およびポリゴンデータＤｇ等が格納される。また、メインメモリ３２のプログラム記憶領域には、画像処理プログラムを構成する各種プログラム群Ｐａが記憶される。
【０１１６】
操作データＤａは、ユーザがゲーム装置１０を操作した操作情報を示すデータである。操作データＤａは、操作子データＤａ１およびタッチ位置データＤａ２を含んでいる。操作子データＤａ１は、ユーザがゲーム装置１０の操作ボタン１４やアナログスティック１５等の操作子を操作したことを示すデータである。タッチ位置データＤａ２は、タッチパネル１３をユーザがタッチしている画面座標系のタッチ位置を示すタッチ座標のデータである。例えば、操作ボタン１４やアナログスティック１５からの操作データやタッチパネル１３からのタッチ座標データは、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）毎に取得され、当該取得に応じて操作子データＤａ１およびタッチ位置データＤａ２に格納されて更新される。なお、タッチ位置データＤａ２は、後述する処理に必要な所定時間分のタッチ座標の履歴（例えば、少なくとも前回の処理で得られたタッチ座標と今回の処理で得られたタッチ座標）を示すデータが格納され、ユーザがタッチパネル１３をタッチしていない場合、Ｎｕｌｌ値（空値）が格納される。
【０１１７】
カメラ画像データＤｂは、外側撮像部２３および内側撮像部２４のいずれかが撮像したカメラ画像を示すデータである。後述する処理の説明においては、カメラ画像を取得するステップにおいて外側撮像部２３および内側撮像部２４のいずれかが撮像したカメラ画像を用いて、カメラ画像データＤｂを更新する態様を用いる。なお、外側撮像部２３または内側撮像部２４が撮像し、撮像されたカメラ画像を用いてカメラ画像データＤｂを更新する周期は、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）と同じでもいいし、当該時間単位より短い時間でもかまわない。ゲーム装置１０が処理する周期よりカメラ画像データＤｂを更新する周期が短い場合、後述する処理とは独立して適宜カメラ画像データＤｂを更新してもかまわない。この場合、後述するカメラ画像を取得するステップにおいて、カメラ画像データＤｂが示す最新のカメラ画像を常に用いて処理すればよい。
【０１１８】
顔認識結果データＤｃは、上記カメラ画像に対して逐次行われる顔認識処理の結果を示すデータである。例えば、顔認識結果データＤｃは、上記カメラ画像に対して行われた顔認識処理によって人物の顔が識別できたか否かを示すデータや、上記カメラ画像に対して顔として識別できた部位を示すデータ等である。なお、上記顔認識処理は、後述する画像処理とは独立して逐次上記カメラ画像を用いて行われてもよい。この場合、顔認識結果データＤｃは、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）とは異なる周期で適宜更新されることがあり得る。
【０１１９】
上側ＬＣＤデータＤｄは、上側ＬＣＤ２２に表示する画像に関するデータであり、カメラ画像データＤｄ１、顔認識結果データＤｄ２、および顔メッシュ画像データＤｄ３等を含んでいる。カメラ画像データＤｄ１は、上側ＬＣＤ２２に表示するカメラ画像を示すデータである。顔認識結果データＤｄ２は、上側ＬＣＤ２２に表示するカメラ画像に対する顔認識処理の結果（顔認識結果ＦＰＵ）を示すデータである。顔メッシュ画像データＤｄ３は、上側ＬＣＤ２２に表示するカメラ画像に対して人物の顔として識別された部位に表示される顔メッシュＦＭに関するデータである。
【０１２０】
下側ＬＣＤデータＤｅは、下側ＬＣＤ１２に表示する画像に関するデータであり、カメラ画像データＤｅ１、顔認識結果データＤｅ２、および手書き入力データＤｅ３等を含んでいる。カメラ画像データＤｅ１は、下側ＬＣＤ１２に表示する手書き画像入力用の画像（例えば、人物の顔が識別されたカメラ画像）を示すデータである。顔認識結果データＤｄ２は、手書き画像入力用の画像に対する顔認識処理の結果（顔認識結果ＦＰＬ）を示すデータである。手書き入力データＤｅ３は、タッチパネル１３を介してタッチ入力された手書き入力ＨＷを示すデータである。
【０１２１】
手書き画像テクスチャデータＤｆは、タッチパネル１３を介してタッチ入力された手書き入力ＨＷに基づいて作成された手書き画像のテクスチャを示すデータである。
【０１２２】
ポリゴンデータＤｇは、上記顔認識処理によって識別された顔の特徴点に基づいて生成される複数のポリゴンＰＧそれぞれに関するデータであり、手書き対象フラグデータＤｇ１、テクスチャ座標データＤｇ２、およびカメラ画像座標データＤｇ３等を含んでいる。手書き対象フラグデータＤｇ１は、手書き画像のテクスチャがマッピングされる際、手書き画像ＨＩを含むポリゴンであるか否かを示す手書き対象フラグを示すデータである。テクスチャ座標データＤｇ２は、手書き画像のテクスチャがマッピングされる際にポリゴンＰＧの各頂点ＶＰが配置されるテクスチャ座標を示すデータである。カメラ画像座標データＤｇ３は、上側ＬＣＤ２２に表示するカメラ画像に配置される際のポリゴンＰＧの各頂点ＶＰに対するカメラ画像座標を示すデータである。
【０１２３】
次に、図１３を参照して、情報処理部３１の動作について説明する。まず、ゲーム装置１０の電源（電源ボタン１４Ｆ）がＯＮされると、ＣＰＵ３１１によってブートプログラム（図示せず）が実行され、これにより内蔵メモリまたは外部メモリ４４やデータ保存用外部メモリ４５に格納されているプログラムがメインメモリ３２にロードされる。そして、当該ロードされたプログラムが情報処理部３１（ＣＰＵ３１１）で実行されることによって、図１３に示すステップ（図１３〜図１５では「Ｓ」と略称する）が実行される。なお、図１３〜図１５においては、本発明に直接関連しない処理についての記載を省略する。
【０１２４】
図１３において、情報処理部３１は、カメラ画像および操作情報を取得し（ステップ５１）、次のステップに処理を進める。例えば、情報処理部３１は、現在選択されている撮像部（外側撮像部２３または内側撮像部２４）によって撮像されたカメラ画像を用いて、カメラ画像データＤｂを更新する。また、情報処理部３１は、操作ボタン１４やアナログスティック１５を操作したことを示すデータを取得して、操作子データＤａ１を更新する。
【０１２５】
次に、情報処理部３１は、カメラ画像データＤｂが示すカメラ画像に対する所定の顔認識処理において、当該カメラ画像から人物の顔が識別されたか否かを判断する（ステップ５２）。そして、情報処理部３１は、上記カメラ画像から人物の顔が識別されていない場合、次のステップ５３に処理を進める。一方、情報処理部３１は、上記カメラ画像から人物の顔が識別された場合、当該識別されたことを示す顔認識結果データを用いて顔認識結果データＤｃを更新して、次のステップ５４に処理を進める。ここで、上記顔認識処理は、図１３で示すフローチャートによる処理とは別に独立して逐次上記カメラ画像を用いて情報処理部３１が行ってもいいし、上記ステップ５２の処理において情報処理部３１が上記顔認識処理を行ってもかまわない。前者では上記カメラ画像から人物の顔が識別されたことを示す顔認識結果を取得することによって上記ステップ５２において肯定判定し、後者では上記ステップ５２の処理において上記カメラ画像から人物の顔が識別された場合に上記ステップ５２において肯定判定する。
【０１２６】
ステップ５３において、情報処理部３１は、上記ステップ５１で取得されたカメラ画像を上側ＬＣＤ２２に表示して、次のステップ５７に処理を進める。例えば、情報処理部３１のＣＰＵ３１１は、カメラ画像データＤｂが示すカメラ画像をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該画像が表示される。
【０１２７】
一方、ステップ５４において、情報処理部３１は、上記カメラ画像から識別された顔に対して顔メッシュＦＭを設定し、次のステップに処理を進める。例えば、情報処理部３１は、上記カメラ画像から識別された顔における複数の特徴点に基づいて、当該顔に設定する複数のポリゴンを設定し、設定された複数のポリゴンに基づいてポリゴンデータＤｇを更新する。そして、情報処理部３１は、設定されたポリゴンを示す線画を顔メッシュＦＭ（図８参照）として設定し、顔メッシュ画像データＤｄ３を更新する。具体的には、図１１Ａや図１１Ｂに示すように、上記カメラ画像から識別された顔画像に対して、当該顔の輪郭内に複数のポリゴンＰＧが設定される。複数のポリゴンＰＧは、識別された顔における複数の特徴点に基づいた三角形でそれぞれ設定され、カメラ画像におけるそれぞれの頂点の位置を示す座標（カメラ画像座標）がカメラ画像座標データＤｇ３に設定される。ここで、顔の特徴点は、公知のソフトウエアを利用して、撮像されたカメラ画像から識別された顔画像に対してエッジ検出等の画像処理を施すことによって、顔画像における目尻、目頭、鼻先、口の両端、眉頭、眉の中央、瞳孔中心、顎先端、輪郭点、耳付け根等、複数検出される。そして、複数のポリゴンＰＧの境界を示す線画が顔メッシュＦＭとして設定される。なお、複数のポリゴンＰＧの頂点は、検出された顔の特徴点と一致させる必要はなく、当該特徴点の位置に基づいた任意の位置に設定すればよい。
【０１２８】
次に、情報処理部３１は、上記ステップ５４で設定された顔メッシュＦＭが付与されたカメラ画像を上側ＬＣＤ２２に表示して（ステップ５５）、次のステップに処理を進める。例えば、情報処理部３１のＣＰＵ３１１は、カメラ画像データＤｂが示すカメラ画像に顔メッシュ画像データＤｄ３が示す顔メッシュＦＭを付与した画像データをＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該画像が表示される。
【０１２９】
なお、カメラ画像から人物の顔が一旦識別された後にリアルタイムに得られるカメラ画像に対して人物の顔が識別されなかった場合、上記ステップ５３における画像表示処理では、人物の顔が識別された過去のカメラ画像を所定の経過時間内で上側ＬＣＤ２２に表示してもよい。これによって、例えば、カメラ画像内に人物が存在しなくなった場合や最新のカメラ画像に対する顔認識処理が間に合わずに上記ステップ５２の処理が行われた場合であっても、一旦カメラ画像に対して人物の顔が識別された後は上側ＬＣＤ２２に常に顔が認識されたカメラ画像が表示されることになり、後述する画像処理に好適な操作環境となる。
【０１３０】
次に、情報処理部３１は、操作子データＤａ１を参照して、ユーザが所定の操作（例えば、ボタン１４Ｂ（Ａボタン）の押下）を行ったか否かを判断する（ステップ５６）。そして、情報処理部３１は、ユーザが所定の操作を行っていない場合、次のステップ５７に処理を進める。一方、情報処理部３１は、ユーザが所定の操作を行った場合、次のステップ５８に処理を進める。
【０１３１】
ステップ５７において、情報処理部３１は、処理を終了するか否かを判断する。処理を終了する条件としては、例えば、ユーザが処理を終了する操作を行ったこと等がある。情報処理部３１は、処理を終了しない場合、上記ステップ５１に戻って処理を繰り返す。一方、情報処理部３１は、処理を終了する場合、当該フローチャートによる処理を終了する。
【０１３２】
一方、ユーザが所定の操作を行ったと判定された場合（ステップ５６でＹｅｓ）、情報処理部３１は、現時点のカメラ画像および当該カメラ画像に対する顔認識結果をそれぞれ格納し、次のステップに処理を進める。例えば、情報処理部３１は、カメラ画像データＤｂが示すカメラ画像を用いて、カメラ画像データＤｄ１およびカメラ画像データＤｅ１をそれぞれ更新する。また、情報処理部３１は、顔認識結果データＤｃが示す顔認識結果を用いて、顔認識結果データＤｄ２および顔認識結果データＤｅ２をそれぞれ更新する。なお、以下の説明において、顔認識結果データＤｄ２が示す顔認識結果を顔認識結果ＦＰＵ（上側ＬＣＤ２２に表示されているカメラ画像の顔認識結果）とし、顔認識結果データＤｅ２が示す顔認識結果を顔認識結果ＦＰＬ（下側ＬＣＤ１２に表示されているカメラ画像の顔認識結果）とする。
【０１３３】
次に、情報処理部３１は、上記ステップ５８で設定されたカメラ画像を下側ＬＣＤ１２に表示して、次のステップ６１（図１４）に処理を進める。例えば、情報処理部３１のＣＰＵ３１１は、カメラ画像データＤｅ１が示すカメラ画像をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を下側ＬＣＤ１２に出力することによって、下側ＬＣＤ１２に当該画像が表示される。
【０１３４】
図１４に進み、ステップ６１において、情報処理部３１は、操作情報を取得し、次のステップに処理を進める。例えば、情報処理部３１は、操作ボタン１４やアナログスティック１５を操作したことを示すデータを取得して、操作子データＤａ１を更新する。また、情報処理部３１は、タッチパネル１３をタッチしている画面座標系のタッチ位置を示すタッチ座標を取得して、タッチ位置データＤａ２が示すタッチ座標の履歴のうち、最新のタッチ座標を更新する。なお、ユーザがタッチパネル１３をタッチしていない場合、タッチ位置データＤａ２の最新のタッチ座標には、Ｎｕｌｌ値が格納される。
【０１３５】
次に、情報処理部３１は、操作子データＤａ１を参照して、ユーザが所定の操作子の操作（例えば、ボタン１４Ｃ（Ｂボタン）の押下、ボタン１４Ｅ（Ｘボタン）の押下、セレクトボタン１４Ｊの押下、十字ボタン１４Ａの押下）を行ったか否かを判断する（ステップ６２）。そして、情報処理部３１は、ユーザが所定の操作子の操作を行った場合、次のステップ６３に処理を進める。一方、情報処理部３１は、ユーザが所定の操作子の操作を行っていない場合、次のステップ６４に処理を進める。
【０１３６】
ステップ６３において、情報処理部３１は、ユーザのボタン操作に応じた処理を行い、次のステップ６４に処理を進める。第１の例として、情報処理部３１は、ユーザがボタン１４Ｃ（Ｂボタン）を押下した場合、手書き入力データＤｅ３、手書き画像テクスチャデータＤｆ、および手書き対象フラグデータＤｇ１をそれぞれ初期化して（例えば、手書き入力ＨＷや手書き画像ＨＩが存在しない状態にして）、上側ＬＣＤ２２に表示されている手書き画像ＨＩおよび下側ＬＣＤ１２に表示されている手書き入力ＨＷを消去する。第２の例として、情報処理部３１は、ユーザがボタン１４Ｅ（Ｘボタン）を押下した場合、使用する撮像部（外側撮像部２３または内側撮像部２４）を切り替えて、以降の処理において当該切り替え後の撮像部からカメラ画像を取得する。第３の例として、情報処理部３１は、ユーザがセレクトボタン１４Ｊを押下した場合、上記ステップ５１（図１３）に処理を戻して、以降の処理を行う。第４の例として、情報処理部３１は、ユーザが十字ボタン１４Ａを押下した場合、押下された方向に応じて手書き入力する手書き線の太さ、色、線種、入力マークの種類などの入力態様を切り替える。
【０１３７】
ステップ６４において、情報処理部３１は、タッチ位置データＤａ２を参照して、ユーザがタッチパネル１３をタッチ操作しているか否かを判断する。そして、情報処理部３１は、ユーザがタッチ操作している場合、次のステップ６５に処理を進める。一方、情報処理部３１は、ユーザがタッチ操作していない場合、次のステップ６８に処理を進める。
【０１３８】
ステップ６５において、情報処理部３１は、手書き入力処理を行って、次のステップに処理を進める。例えば、情報処理部３１は、タッチ位置データＤａ２を参照して、前回の処理で得られたタッチ位置が重なる下側ＬＣＤ１２の画面位置と最新のタッチ位置が重なる下側ＬＣＤ１２の画面位置とを結ぶ線を、下側ＬＣＤ１２の表示座標系で設定する。そして、情報処理部３１は、手書き入力データＤｅ３が示す手書き入力ＨＷに設定された線を追加して、追加後の手書き入力ＨＷを用いて手書き入力データＤｅ３を更新する。
【０１３９】
次に、情報処理部３１は、手書き画像が描画される対象ポリゴンを設定して（ステップ６６）、次のステップに処理を進める。例えば、情報処理部３１は、ポリゴンデータＤｇを参照して、上記ステップ６５において追加された手書き線がマッピングされるべきポリゴンＰＧを抽出し、当該ポリゴンＰＧの手書き対象フラグをオンに設定して手書き対象フラグデータＤｇ１を更新する。具体的には、上記ステップ６５において追加された線が下側ＬＣＤ１２の表示座標系において重なる位置に配置されているポリゴンＰＧを抽出し、当該ポリゴンＰＧの手書き対象フラグをオンに設定する。
【０１４０】
次に、情報処理部３１は、手書き入力ＨＷに対応する画像を下側ＬＣＤ１２に描画し（ステップ６７）、次のステップ６８に処理を進める。例えば、情報処理部３１は、設定されている入力態様（例えば、手書き線の太さ、色、線種、入力マークの種類など）に応じて、手書き入力データＤｅ３が示す手書き入力ＨＷに対応する手書き画像を、下側ＬＣＤ１２の表示座標系に基づいて生成する。そして、情報処理部３１は、手書き画像全てを含む所定の範囲全体（例えば、下側ＬＣＤ１２の表示範囲全体）を手書き画像のテクスチャとして生成し、生成されたテクスチャを用いて手書き画像テクスチャデータＤｆを更新する。また、情報処理部３１のＣＰＵ３１１は、手書き画像テクスチャデータＤｆに対応する手書き画像をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を下側ＬＣＤ１２に出力することによって、下側ＬＣＤ１２に当該線画像が描画される。なお、本実施形態では、手書き画像テクスチャデータＤｆに格納されている手書き画像のテクスチャが、上側ＬＣＤ２２に表示される手書き画像ＨＩのテクスチャとしても共用されている。しかしながら、上側ＬＣＤ２２に表示される手書き画像ＨＩのテクスチャを別に生成する場合、後述するステップ７１で行う手書き画像描画処理において、手書き入力データＤｅ３が示す手書き入力ＨＷに対応する手書き画像ＨＩ、または手書き画像テクスチャデータＤｆに格納されている手書き画像のテクスチャに対応する手書き画像ＨＩを、下側ＬＣＤ１２の表示座標系に基づいて生成する。そして、生成された手書き画像ＨＩ全てを含む所定の範囲全体（例えば、下側ＬＣＤ１２の表示範囲全体）を手書き画像ＨＩのテクスチャとして生成し、生成されたテクスチャを用いて手書き画像テクスチャデータＤｆを更新してもかまわない。
【０１４１】
ステップ６８において、情報処理部３１は、新たに撮像されたカメラ画像に対する顔認識処理において、当該カメラ画像から人物の顔が新たに識別されたか否かを判断する。そして、情報処理部３１は、新たに撮像されたカメラ画像から人物の顔が識別されていない場合、次のステップ７１に処理を進める。一方、情報処理部３１は、新たに撮像されたカメラ画像から人物の顔が識別された場合、当該識別されたことを示す顔認識結果データを用いて顔認識結果データＤｃを更新して、次のステップ６９に処理を進める。ここで、上述したように、上記顔認識処理は、図１４で示すフローチャートによる処理とは別に独立して逐次新たに撮像されたカメラ画像を用いて情報処理部３１が行ってもいいし、上記ステップ６８の処理において情報処理部３１が上記顔認識処理を行ってもかまわない。前者の場合、新たに撮像されたカメラ画像から人物の顔が識別されたことを示す顔認識結果を取得することによって上記ステップ６８において肯定判定するとともに、新たに撮像されたカメラ画像および当該カメラ画像に対する顔認識結果を用いてカメラ画像データＤｂおよび顔認識結果データＤｃを更新する。一方、後者の場合、現在選択されている撮像部（外側撮像部２３または内側撮像部２４）によって撮像されたカメラ画像を用いてカメラ画像データＤｂを更新し、当該カメラ画像から人物の顔が識別された場合に上記ステップ６８において肯定判定して、当該カメラ画像に対する顔認識結果を用いて顔認識結果データＤｃを更新する。
【０１４２】
ステップ６９において、情報処理部３１は、上記ステップ６８で新たに人物の顔が識別された顔認識結果を用いて顔認識結果ＦＰＵを更新し、次のステップに処理を進める。例えば、情報処理部３１は、顔認識結果データＤｃが示す顔認識結果を用いて、顔認識結果データＤｄ２（顔認識結果ＦＰＵ）を更新する。
【０１４３】
次に、情報処理部３１は、上記ステップ６９で更新された顔認識結果ＦＰＵが得られたカメラ画像を上側ＬＣＤ２２に表示して（ステップ７０）、次のステップ７１に処理を進める。例えば、情報処理部３１は、カメラ画像データＤｂが示すカメラ画像を用いて、カメラ画像データＤｄ１を更新する。そして、情報処理部３１のＣＰＵ３１１は、カメラ画像データＤｄ１が示すカメラ画像をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該カメラ画像が描画される。
【０１４４】
ステップ７１において、情報処理部３１は、手書き画像ＨＩを描画する処理を行い、次のステップに処理を進める。以下、図１５を参照して、上記ステップ７１で行う手書き画像描画処理について説明する。
【０１４５】
図１５において、情報処理部３１は、当該サブルーチンで用いる一時変数Ｎを１に設定し（ステップ８２）、次のステップに処理を進める。
【０１４６】
次に、情報処理部３１は、複数のポリゴンＰＧのうち、ポリゴンＮが対象ポリゴンに設定されているか否かを判断する（ステップ８３）。ここで、複数のポリゴンＰＧには、それぞれ１〜Ｎｍａｘまでの固有の番号が付与される。そして、情報処理部３１は、手書き対象フラグデータＤｇ１を参照して、複数のポリゴンＰＧに属するポリゴンＮの手書き対象フラグがオンに設定されているか否かによって対象ポリゴンに設定されているか否かを判断する。情報処理部３１は、ポリゴンＮが対象ポリゴンに設定されている場合、次のステップ８４に処理を進める。一方、情報処理部３１は、ポリゴンＮが対象ポリゴンに設定されていない場合、次のステップ８７に処理を進める。
【０１４７】
ステップ８４において、情報処理部３１は、ポリゴンＮの各頂点ＶＰに対するカメラ画像座標を、顔認識結果ＦＰＵを用いて設定し、次のステップに処理を進める。例えば、情報処理部３１は、カメラ画像データＤｄ１が示すカメラ画像および顔認識結果データＤｄ２が示す顔認識結果ＦＰＵを用いて、当該カメラ画像における人物の顔の位置および当該顔の特徴点の位置を取得する。そして、情報処理部３１は、取得した上記カメラ画像における特徴点の位置に基づいて、上記カメラ画像におけるポリゴンＮの各頂点ＶＰの位置（カメラ画像座標）を設定し、設定された各頂点ＶＰの位置を用いてポリゴンＮのカメラ画像座標データＤｇ３を更新する。
【０１４８】
次に、情報処理部３１は、ポリゴンＮの各頂点ＶＰのテクスチャ座標を、顔認識結果ＦＰＬを用いて設定し、次のステップに処理を進める。例えば、情報処理部３１は、手書き画像テクスチャデータＤｆが示す手書き画像のテクスチャおよび顔認識結果データＤｅ２が示す顔認識結果ＦＰＬを用いて、当該テクスチャに対応する人物の顔の位置および当該顔の特徴点の位置を取得する。そして、情報処理部３１は、取得した上記テクスチャに対応する特徴点の位置に基づいて、上記テクスチャにおけるポリゴンＮの各頂点ＶＰの位置（テクスチャ座標）を設定し、設定された各頂点ＶＰの位置を用いてポリゴンＮのテクスチャ座標データＤｇ２を更新する。
【０１４９】
次に、情報処理部３１は、ポリゴンＮに手書き画像ＨＩを描画して上側ＬＣＤ２２に表示し（ステップ８６）、次のステップ８７に処理を進める。例えば、情報処理部３１は、テクスチャ座標データＤｇ２が示す各頂点ＶＰのテクスチャ座標に基づいて、手書き画像テクスチャデータＤｆが示す手書き画像のテクスチャをポリゴンＮにマッピングする。そして、情報処理部３１は、カメラ画像座標データＤｇ３が示す各頂点ＶＰのカメラ画像座標に基づいて、例えばＺ＝０（奥行０）の位置に配置されたポリゴンＮを正射影で描画し、上側ＬＣＤ２２に表示する。例えば、情報処理部３１のＣＰＵ３１１は、ポリゴンＮを正射影で描画した結果を、カメラ画像データＤｄ１が示すカメラ画像とともにＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該画像が表示される。
【０１５０】
次に、情報処理部３１は、現在設定されている一時変数Ｎが複数のポリゴンＰＧにそれぞれ付与されている番号の最大値Ｎｍａｘ（すなわち、ポリゴンＰＧの設定数）に到達したか否かを判断する（ステップ８７）。そして、情報処理部３１は、一時変数Ｎが最大値Ｎｍａｘに到達していない場合、現在設定されている一時変数Ｎに１を加算して新たな一時変数Ｎを設定し（ステップ８８）、上記ステップ８３に戻って処理を繰り返す。一方、情報処理部３１は、一時変数Ｎが最大値Ｎｍａｘに到達している場合、当該サブルーチンによる処理を終了する。
【０１５１】
図１４に戻り、上記ステップ７１における手書き画像描画処理の後、情報処理部３１は、処理を終了するか否かを判断する。処理を終了する条件としては、例えば、ユーザが処理を終了する操作を行ったこと等がある。情報処理部３１は、処理を終了しない場合、上記ステップ６１に戻って処理を繰り返す。一方、情報処理部３１は、処理を終了する場合、当該フローチャートによる処理を終了する。
【０１５２】
このように、上述した画像処理によれば、下側ＬＣＤ１２に表示された手書き画像入力用の画像に対して、タッチパネル１３を介して入力された手書き入力ＨＷが、当該手書き画像入力用の画像に上書きされるだけでなく、上側ＬＣＤ２２に表示されたカメラ画像に手書き画像ＨＩとして上書き描画される。つまり、ユーザ入力に応じた手書き画像を、当該ユーザ入力を行う際に用いた手書き画像入力用画像だけでなく、他の画像に対しても手書き画像が反映される。したがって、ユーザは、ユーザ自身が手書き入力した画像を見て一時的に楽しむだけでなく、当該手書き入力に対応する手書き画像が反映された別の画像（例えば、実カメラから得られる実世界のリアルタイムの動画像や静止画像）を見て楽しむことができる。また、ユーザの手書き入力に対応する手書き画像が反映される位置は、手書き画像入力用の画像における特徴点と手書き入力ＨＷとの位置関係が維持されるように、別画像の特徴点に基づいて手書き画像ＨＩが配置されるため、あたかも当該別画像にユーザが手書き画像を入力したかのような操作感覚を実現することが可能となる。また、上記別画像が動画である場合、当該別画像の特徴点の移動に応じて手書き画像ＨＩも移動して表示されるため、あたかも実世界の物体に手書き画像が描かれて動いているような動画をユーザに提供することも可能である。
【０１５３】
なお、上述した説明では、図１１Ａや図１１Ｂに示すように、カメラ画像から識別された顔画像に対して、当該顔の輪郭内に複数のポリゴンＰＧが設定される例を用いたが、ポリゴンＰＧを当該顔の輪郭外にも設けてもかまわない。以下、図１６を参照して、人物の顔の輪郭外にもポリゴンＰＧが設ける一例を説明する。なお、図１６は、人物の顔の輪郭外にポリゴンＰＧが設けた一例を示す説明図である。
【０１５４】
図１６において、顔画像の輪郭内に設けられる複数のポリゴンＰＧにおいて、当該輪郭上に設けられるポリゴンＰＧの頂点を頂点ＶＰｏとする。また、上記顔画像に設定される特徴点に基づいて、１つの基準点ＲＰを設定する。基準点ＲＰは、上記特徴点または上記特徴点以外から設定されるが、例えば、顔画像の鼻の中央、口の中央、または両目間の中央等に設定される。図１６の一例では、基準点ＲＰは、顔画像の鼻の中央付近に設定されている。
【０１５５】
上記輪郭上に設けられるポリゴンＰＧの頂点ＶＰｏに対して、それぞれ放射状に当該輪郭の外側に頂点ＶＰｅを設定する。例えば、基準点ＲＰを中心として、各頂点ＶＰｏから放射状に所定距離だけそれぞれ離れた位置に頂点ＶＰｅ（図１６において、塗りつぶし四角形で表示している点）を設定する。そして、１つの頂点ＶＰｅと２つの頂点ＶＰｏとを結ぶ三角形または２つの頂点ＶＰｅと１つの頂点ＶＰｏとを結ぶ三角形を、それぞれ隣接するように顔画像の輪郭外に設定し、当該三角形それぞれをポリゴンＰＧｅ（図１６において、太実線で示すそれぞれの三角形）として設定する。このように、顔画像の輪郭外にもポリゴンＰＧｅを設定することによって、ユーザが手書き画像入力用の画像における顔画像の輪郭外に手書き入力ＨＷを入力した場合であっても、当該輪郭外の手書き入力ＨＷに対応する手書き画像ＨＩも上側ＬＣＤ２２に表示されたカメラ画像に描画することができる。
【０１５６】
また、上述した説明では、上側ＬＣＤ２２に、外側撮像部２３および内側撮像部２４のいずれかから取得したカメラ画像に基づいた、実世界の平面画像（上述した立体視可能な画像とは反対の意味での平面視の画像）が表示される例を用いたが、裸眼で立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示してもよい。例えば、上述したように、ゲーム装置１０は、外側左撮像部２３ａおよび外側右撮像部２３ｂから取得したカメラ画像を用いた立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示することが可能である。この場合、下側ＬＣＤ１２に表示された手書き画像入力用の画像に対して入力された手書き入力ＨＷに対応する手書き画像ＨＩが、上側ＬＣＤ２２に表示された立体画像に描画される。
【０１５７】
例えば、上記立体画像に手書き画像ＨＩを描画する場合、外側左撮像部２３ａから得られた左目用画像および外側右撮像部２３ｂから得られた右目用画像に対して、それぞれ上述した画像処理を施す。具体的には、図１３〜図１５に示した画像処理において、上側ＬＣＤ２２に表示するカメラ画像に関する処理については上記左目用画像および上記右目用画像に対してそれぞれ行う。そして、下側ＬＣＤ１２に表示する手書き画像入力用の画像は、上記左目用画像および上記右目用画像のいずれか一方のカメラ画像を用いる。すなわち、上記左目用画像は、逐次顔認識処理が行われ、当該顔認識結果に応じてポリゴンＰＧ（以下、右目用画像に設定されるポリゴンと区別するためにポリゴンＰＧＬと記載する）が設定される。また、上記右目用画像も同様に、逐次顔認識処理が行われ、当該顔認識結果に応じてポリゴンＰＧ（以下、左目用画像に設定されるポリゴンと区別するためにポリゴンＰＧＲと記載する）が設定される。そして、手書き画像描画処理（ステップ７１）が行われる際には、ポリゴンＰＧＬおよびポリゴンＰＧＲそれぞれに手書き入力ＨＷのテクスチャがマッピングされて、手書き画像ＨＩがそれぞれに描画される。これによって、手書き画像ＨＩが上記左目用画像および上記右目用画像それぞれに描画されることになるが、それぞれの画像に対して人物の顔として識別された顔画像の特徴点に基づいた位置に手書き画像ＨＩが描画されるため、立体視可能な画像として表示されている人物の顔の表面にあたかも手書き画像ＨＩが描かれているような立体画像が上側ＬＣＤ２２に表示される。
【０１５８】
ここで、立体視可能な画像に対する所望の位置に手書き画像を上書きしようとした場合、立体視可能な画像自体の立体感によってユーザが所望する位置を指定できないことが考えられる。しかしながら、本願発明では、上側ＬＣＤ２２に表示された立体視可能な画像に手書き画像ＨＩを上書きしようとする場合、当該立体視可能な画像を手書き画像入力用の画像として下側ＬＣＤ１２に表示する場合に当該立体視可能な画像が平面画像となる、したがって、ユーザは、上側ＬＣＤ２２に表示された立体視可能な画像に対して所望する指定位置を、下側ＬＣＤ１２に表示された平面画像を用いて指定できるため、立体視可能な画像に対する正確な位置指定が可能となる。
【０１５９】
また、図９および図１０等を用いた説明では、手書き画像ＨＩがタッチ入力に応じた線（例えば、実線）で生成される例を用いたが、手書き画像ＨＩは、線以外の画像であってもよい。例えば、図１７Ａおよび図１７Ｂに示すように、タッチ入力に応じた位置に沿って、所定のマーク（図１７Ａおよび図１７Ｂの例では花形のマーク）を並べて手書き画像ＨＩを生成してもかまわない。例えば、タッチパネル１３を介して手書き入力ＨＷが入力される手書き入力処理（ステップ６５）において、ＣＰＵ３１１は、タッチ位置に応じて上記所定のマークを配置する位置（マーク配置位置）を少なくとも１つ設定する。そして、設定されたマーク配置位置に対して、それぞれ上記所定のマークを配置することによって手書き入力ＨＷを生成する。第１の例として、ＣＰＵ３１１は、ユーザがタッチパネル１３に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前に設定されたマーク配置位置から所定距離だけ離れる毎に新たなマーク配置位置を順次設定していく。第２の例として、ＣＰＵ３１１は、ユーザがタッチパネル１３に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前に設定されたマーク配置位置から所定距離だけ移動する毎に新たなマーク配置位置を順次設定していく。第３の例として、ＣＰＵ３１１は、ユーザがタッチパネル１３に対してタッチオンした位置を最初のマーク配置位置に設定し、その後タッチオフするまでのタッチ入力において直前のマーク配置位置を設定してから所定の時間が経過する毎に新たなマーク配置位置を順次設定していく。図１７Ａと図１７Ｂとを比較すれば明らかなように、カメラ画像内の顔画像における顔の表情が変化した場合、当該顔の特徴点に基づいて設定されるポリゴンＰＧの頂点位置も変化するため、結果的にポリゴンＰＧの位置や形状も変化し、当該ポリゴンＰＧの変化に応じてマーク配置位置も変化する。
【０１６０】
また、上側ＬＣＤ２２に表示される手書き画像ＨＩは、それぞれのカメラ画像から抽出された同じ特徴点に基づいて、下側ＬＣＤ１２に表示される手書き入力ＨＷを示す画像に対応する位置に配置されるが、手書き画像ＨＩと手書き入力ＨＷを示す画像とはそれらの表示態様が異なる画像であってもかまわない。例えば、図１７Ａおよび図１７Ｂに示したように、手書き画像ＨＩが所定のマークを並べて生成される場合であっても、下側ＬＣＤ１２に表示される手書き入力ＨＷを示す画像がタッチ入力に対応する線（例えば、実線）であってもよい。また、手書き入力ＨＷは、下側ＬＣＤ１２に画像として表示されなくてもかまわない。この場合、上側ＬＣＤ２２に表示される手書き画像ＨＩは、それぞれのカメラ画像から抽出された同じ特徴点に基づいて、下側ＬＣＤ１２に対するタッチ位置に対応する位置に配置される。何れの場合であっても、手書き画像のテクスチャを生成する際（ステップ６７）に、下側ＬＣＤ１２に対するタッチ位置に対応する画像（例えば、タッチ位置に沿った線画やタッチ位置に所定のマークを並べた画像）を用いたテクスチャを生成すれば、様々な手書き画像ＨＩを上側ＬＣＤに表示することが可能である。
【０１６１】
また、上述した説明では、得られたカメラ画像内に人物の顔が存在すると識別できた場合、顔と識別した部分に顔メッシュＦＭを付与して、顔認識処理されたカメラ画像とともに上側ＬＣＤ２２に表示する例を用いたが、顔メッシュＦＭは、ユーザの操作や所定の時間経過によって上側ＬＣＤ２２から消去すればよい。一例として、ユーザがボタン１４Ｂ（Ａボタン）の押下した場合に（ステップ５６でＹｅｓ）、上側ＬＣＤ２２から顔メッシュＦＭが消去される。また、顔と識別した部分に付与する標識は、顔メッシュＦＭでなくてもかまわない。ここで、顔メッシュＦＭはカメラ画像から識別された顔における複数の特徴点に基づいて設定されたポリゴンＰＧを示す線画であるが、ポリゴンＰＧとは関連しないメッシュ状の線画で顔と識別した部分全体を覆ってもかまわない。また、顔と識別した部分の輪郭を示す線を付与したり顔と識別した部分の色を変えたりすることによって、顔と識別された部分がわかるように他と区別してもかまわない。さらに、顔と識別した部分の周辺に所定の標識（例えば、当該部分を指す矢印形状の標識）を付与することによって、顔と識別された部分がわかるように他と区別してもかまわない。
【０１６２】
また、上述した説明では、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの動画像が上側ＬＣＤ２２に表示され、上記実カメラで撮像されたカメラ画像の中から選ばれた静止画像が手書き画像入力用の画像として下側ＬＣＤ１２に表示されているが、本発明において下側ＬＣＤ１２および上側ＬＣＤ２２に表示する画像は、様々なバリエーションが考えられる。第１の例として、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの動画像が上側ＬＣＤ２２に表示され、予め準備された静止画像（実カメラで撮影された実世界の静止画像や仮想世界に顔オブジェクトが配置された仮想世界の静止画像など）が手書き画像入力用の画像として下側ＬＣＤ１２に表示される。第２の例として、ゲーム装置１０に内蔵する実カメラで撮像された静止画像が上側ＬＣＤ２２に表示され、人物の顔が識別された静止画像が手書き画像入力用の画像として下側ＬＣＤ１２に表示される。この場合、下側ＬＣＤ１２に表示される静止画像は、上側ＬＣＤ２２に表示された静止画像と同じでもいいし異なっていてもいい。一例として、異なる静止画像を下側ＬＣＤ１２に表示する場合、下側ＬＣＤ１２には予め準備された静止画像が手書き画像入力用の画像として表示される。第３の例として、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの動画像が上側ＬＣＤ２２に表示され、同じ動画像が手書き画像入力用の画像として下側ＬＣＤ１２に表示される。なお、上記リアルタイムの動画像は、ゲーム装置１０に内蔵する実カメラから得られたカメラ画像を表示するまでの間に行われる処理（例えば、当該カメラ画像に対する顔認識処理）に要する時間分だけ遅延して下側ＬＣＤ１２や上側ＬＣＤ２２に表示されてもよい。なお、予め準備された静止画像を手書き画像入力用の画像として下側ＬＣＤ１２に表示する場合、当該静止画像に含まれる顔に対する特徴点の位置も当該静止画像を準備する段階で予め設定しておいてもかまわない。このように、手書き画像入力用の画像における顔の特徴点を予め設定しておくことによって、手書き画像入力用の画像の表示前に行われる当該画像に対する顔認識処理が不要となる。
【０１６３】
また、ゲーム装置１０に表示する動画像および静止画像は、ゲーム装置１０に内蔵する実カメラで撮像された実世界画像でなくてもかまわない。例えば、予め録画された動画像、予め撮影された静止画像、テレビジョン放送や他の装置から得られる動画像や静止画像等を上側ＬＣＤ２２に表示して、上側ＬＣＤ２２に表示されている画像に手書き画像ＨＩを付与して表示してもかまわない。この場合、上側ＬＣＤ２２に表示されている画像の中から選ばれた静止画像や動画像や予め準備された静止画像を、手書き画像入力用の画像として下側ＬＣＤ１２に表示することが考えられる。
【０１６４】
また、手書き入力ＨＷを作成したゲーム装置１０から当該手書き入力ＨＷを示すデータ（例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ）を他のゲーム装置１０へ送信してもかまわない。これによって、上記手書き入力ＨＷを示すデータを受信した受信先となるゲーム装置１０において、送信元のゲーム装置１０で作成された手書き画像ＨＩを表示することが可能となる。例えば、受信先のゲーム装置１０において内蔵している実カメラでユーザ自身や他の人物を撮像し、当該撮像されたカメラ画像を上側ＬＣＤ２２に表示した場合、受信した手書き入力ＨＷを示すデータに対応する手書き画像ＨＩが当該カメラ画像に含まれる人物の顔画像上に付与されて表示される。したがって、受信先のゲーム装置１０に内蔵された実カメラで実世界を撮像したカメラ画像や、受信先のゲーム装置１０が予め格納していた画像を、受信先のゲーム装置１０に表示すると、表示された画像に他のユーザによって作成された手書き画像ＨＩが自動的に付与されることになり、今までにない画像の閲覧環境が実現できる。また、受信先のゲーム装置１０では、受信した手書き入力ＨＷを示すデータに対応する手書き画像ＨＩが表示された状態で、さらにタッチパネル１３を用いて手書き入力ＨＩを入力することによって、別の手書き画像ＨＩを追記することも可能である。すなわち、複数のユーザによって作成された手書き画像ＨＩを１つのゲーム装置１０に集約して表示することも可能となる。
【０１６５】
また、上述した説明では、画像内の人物の顔を識別して当該顔の特徴点に基づいて手書き画像ＨＩを配置したが、当該画像から得られる他の特徴点に基づいて手書き画像ＨＩを配置してもかまわない。例えば、画像内に存在する所定の物体を識別して当該物体の特徴点に基づいて手書き画像ＨＩを配置してもかまわない。一例として、画像内に存在する車を識別し、識別された車の車体、タイヤ、ライト、窓の中心や輪郭等に特徴点を設定し、当該特徴点に基づいて手書き画像ＨＩを配置してもかまわない。この場合、手書き画像入力用の画像に表示された車に対して入力した手書き入力ＨＷに対応する手書き画像ＨＩが、上側ＬＣＤ２２に表示されている画像内に存在する車に描画されて表示される。他の例として、リアルタイムの実世界の動画像内に存在する黒板、ホワイトボード、展示板、掲示板等の屋内または屋外の情報掲示板を識別し、識別された情報掲示板の輪郭、角部、中心等に特徴点を設定し、当該特徴点に基づいて手書き画像ＨＩを配置してもかまわない。この場合、手書き入力ＨＷを作成したゲーム装置１０から当該手書き入力ＨＷを示すデータ（例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ）を他のゲーム装置１０へ送信することによって、当該手書き入力ＨＷを示すデータを受信した他のゲーム装置１０において手書き画像ＨＩを表示することが可能となる。例えば、手書き入力ＨＷを示すデータを受信したゲーム装置１０では、内蔵している実カメラで上記情報掲示板を撮像することによって、受信した手書き入力ＨＷに対応する手書き画像ＨＩが撮像された情報掲示板に記述されて上側ＬＣＤ２２に表示される。つまり、手書き画像入力用の画像として下側ＬＣＤ１２に表示された情報掲示板にタッチパネル１３を介して伝達したい情報等を入力し、当該入力から得られた手書き入力ＨＷを示すデータを他のゲーム装置１０に送信することによって、受信先となる各ゲーム装置１０に当該情報を表示される。そして、受信先のゲーム装置１０では、上側ＬＣＤ２２に表示されたカメラ画像に撮像されている情報掲示板に、受信した情報に対応する手書き画像ＨＩが表示されるため、実世界の情報掲示板に送信元が発した情報が記述されているような拡張現実を実現できる。
【０１６６】
具体的な利用例としては、講義者が板書を示すデータ（手書き入力ＨＷを示すデータ）をゲーム装置１０から受講者それぞれに送信する。そして、上記データを受信したゲーム装置１０の実カメラで受講者が講義室内の黒板やホワイトボードを撮像することによって、講義者の板書が講義室内の黒板やホワイトボードに記述されたようなカメラ画像を取得することができる。他の具体的な利用例としては、広告主が広告を示すデータ（手書き入力ＨＷを示すデータ）をゲーム装置１０から不特定者に送信する。そして、上記データを受信したゲーム装置１０を所持するユーザが屋内や屋外の情報掲示板をゲーム装置１０の実カメラで撮像した場合、情報掲示板に発信された広告が記述されたようなカメラ画像が上側ＬＣＤ２２に表示されるため、広告主の宣伝活動に用いることができる。
【０１６７】
また、上述した説明では、複数のポリゴンＰＧのうち、対象ポリゴンに対してのみ手書き画像ＨＩを描画する処理（ステップ８４〜ステップ８６）を行うことによって手書き画像描画処理を高速にしているが、このような効果を期待しない場合、複数のポリゴンＰＧ全てに対して手書き画像ＨＩを描画する処理を行ってもかまわない。この場合、図１４を用いて説明したステップ６６の処理および図１５を用いて説明したステップ８３の処理が不要となり、手書き対象フラグデータＤｇ１に格納する手書き対象フラグも不要となる。
【０１６８】
また、上記実施形態では、上側ＬＣＤ２２がパララックスバリア方式の液晶表示装置であるとして、視差バリアのＯＮ／ＯＦＦを制御することにより、立体表示と平面表示とを切り替えることができる。他の実施形態では、例えば、上側ＬＣＤ２２としてレンチキュラー方式の液晶表示装置を用いて、立体画像および平面画像を表示可能としてもよい。レンチキュラー方式の場合でも、外側撮像部２３で撮像した２つの画像を縦方向に短冊状に分割して交互に配置することで画像が立体表示される。また、レンチキュラー方式の場合でも、内側撮像部２４で撮像した１つの画像をユーザの左右の目に視認させることによって、当該画像を平面表示させることができる。すなわち、レンチキュラー方式の液晶表示装置であっても、同じ画像を縦方向に短冊状に分割し、これら分割した画像を交互に配置することにより、ユーザの左右の目に同じ画像を視認させることができる。これにより、内側撮像部２４で撮像された画像を平面画像として表示することが可能である。
【０１６９】
また、上述した実施形態では、２画面分の液晶表示部の一例として、物理的に分離された下側ＬＣＤ１２および上側ＬＣＤ２２を互いに上下に配置した場合（上下２画面の場合）を説明した。しかしながら、２画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング１１の一方主面に下側ＬＣＤ１２および上側ＬＣＤ２２を左右に配置してもかまわない。また、下側ＬＣＤ１２と横幅が同じで縦の長さが２倍のサイズからなる縦長サイズのＬＣＤ（すなわち、物理的には１つで、表示サイズが縦に２画面分あるＬＣＤ）を下側ハウジング１１の一方主面に配設して、２つの画像（例えば、撮像画像と操作説明画面を示す画像等）を上下に表示（すなわち上下の境界部分無しに隣接して表示）するように構成してもよい。また、下側ＬＣＤ１２と縦幅が同じで横の長さが２倍のサイズからなる横長サイズのＬＣＤを下側ハウジング１１の一方主面に配設して、横方向に２つの画像を左右に表示（すなわち左右の境界部分無しに隣接して表示）するように構成してもよい。すなわち、物理的に１つの画面を２つに分割して使用することにより２つの画像を表示してもかまわない。また、物理的に１つの画面を２つに分割して使用することにより上記２つの画像を表示する場合、当該画面全面にタッチパネル１３を配設してもかまわない。
【０１７０】
また、上述した実施例では、ゲーム装置１０にタッチパネル１３が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上側ＬＣＤ２２の上面にタッチパネル１３を設けて上側ＬＣＤ２２に上述した下側ＬＣＤ１２に表示していた表示画像を表示してもよい。
【０１７１】
また、上記実施例では、座標入力を実現するゲーム装置１０の入力手段としてタッチパネル１３を用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボール、ペンタブレット、ジョイスティック等を入力手段として使用し、入力手段から出力される出力値から計算された画面座標系の位置情報を用いれば、本発明を同様に実現することができる。なお、マウス等のポインティングデバイスの場合、タッチ状態と非タッチ状態とをクリックボタンのオンオフに対応させ、マウス等から出力される出力値から座標をタッチ位置として処理すればよい。
【０１７２】
また、ゲームコントローラをプレイヤが把持してゲームを楽しむ据置型のゲーム装置の場合、他の態様のポインティングデバイスも考えられる。例えば、ゲームコントローラのハウジングに固設された撮像部を、上記ポインティングデバイスとして利用することも可能である。この場合、ゲームコントローラのハウジングで指し示した位置の変化に応じて撮像部が撮像する撮像画像が変化する。したがって、この撮像画像を解析することにより、表示画面に対して上記ハウジングで指し示した座標を算出することができる。
【０１７３】
この場合、上記ハウジングで指し示した位置を示す座標を、上述した処理におけるタッチ位置として取り扱えば本発明を実現することが可能である。ただし、タッチパネル入力におけるタッチオンまたはタッチオフ等の入力有無判定については、上記座標入力とは異なった上記ゲームコントローラからの他の入力の有無や変化によって代用する。第１の例として、上記ゲームコントローラに設けられた操作ボタンの押下（例えば、Ａボタンを押下しているときタッチオン）しているか否かによって、上記タッチオンまたはタッチオフの判定を代用する。第２の例では、上記ゲームコントローラが２つのハウジングで構成されている。そして、これら２つのハウジングは、上記撮像部が搭載されている一方ハウジングと、他方のハウジングの動きに応じた信号を出力する加速度センサ等の検出部が固設された当該他方のハウジングとで構成される。この場合、他方のハウジングの動き（例えば、ハウジングを所定方向に傾けているときにタッチオン）に応じて、上記タッチオンまたはタッチオフの判定を代用する。第３の例では、上記ゲームコントローラのハウジングにマイク等の音声入力手段が設けられている。この場合、プレイヤが所定の音声を発したときにタッチオンおよびタッチオフが切り替わる判定で代用する。
【０１７４】
また、上記実施例では、携帯型のゲーム装置１０や据置型のゲーム装置を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。例えば、携帯電話が、１つのハウジングの主面に２つの表示部と、実カメラとを備えてもよい。
【０１７５】
また、上述した説明では画像処理をゲーム装置１０で行う例を用いたが、上記画像処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置１０が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記画像処理における処理ステップは、ゲーム装置１０および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、手書き入力ＨＷを示すデータ（例えば、手書き画像のテクスチャや当該テクスチャに対するテクスチャ座標が設定されたポリゴンデータ）を設定する処理が行われ、ゲーム装置１０が当該手書き入力ＨＷを示すデータを取得して手書き画像ＨＩを描画する手書き画像描画処理を行うことが考えられる。このように、上記画像における処理ステップの少なくとも一部を他の装置で行うことによって、上述した画像処理と同様の処理が可能となるとともに、作成した手書き入力ＨＷに対応する手書き画像ＨＩを、他の装置において表示されている画像に表示させるような処理にも本発明を適用することも可能となる。上述した画像処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置１０が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１７６】
また、上述したゲーム装置１０の形状や、それに設けられている各種操作ボタン１４、アナログスティック１５、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【０１７７】
また、上記画像処理プログラム（ゲームプログラム）は、外部メモリ４４やデータ保存用外部メモリ４５等の外部記憶媒体を通じてゲーム装置１０に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置１０に供給されてもよい。また、上記プログラムは、ゲーム装置１０内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【０１７８】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１７９】
本発明に係る画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法は、ユーザ入力を行う際に用いた画像とは別の画像に対して、当該ユーザ入力に応じた画像を反映することが可能であり、各種画像を表示装置に表示する処理を行う画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法等として有用である。
【符号の説明】
【０１８０】
１０…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５…アナログスティック
１６…ＬＥＤ
１７…挿入口
１８…マイクロフォン用孔
１９…無線スイッチ
２１…上側ハウジング
２２…上側ＬＣＤ
２３…外側撮像部
２３ａ…外側左撮像部
２３ｂ…外側右撮像部
２４…内側撮像部
２５…３Ｄ調整スイッチ
２６…３Ｄインジケータ
２７…スクリーンカバー
２８…タッチペン
３１…情報処理部
３１１…ＣＰＵ
３１２…ＧＰＵ
３１３…ＶＲＡＭ
３２…メインメモリ
３３…外部メモリＩ／Ｆ
３４…データ保存用外部メモリＩ／Ｆ
３５…データ保存用内部メモリ
３６…無線通信モジュール
３７…ローカル通信モジュール
３８…ＲＴＣ
３９…加速度センサ
４０…電源回路
４１…Ｉ／Ｆ回路
４２…マイク
４３…スピーカ
４４…外部メモリ
４５…データ保存用外部メモリ
【図１】
0005525923.tif 000002
【図２】
0005525923.tif 000003
【図３Ａ】
0005525923.tif 000004
【図３Ｂ】
0005525923.tif 000005
【図３Ｃ】
0005525923.tif 000006
【図３Ｄ】
0005525923.tif 000007
【図４】
0005525923.tif 000008
【図５】
0005525923.tif 000009
【図６】
0005525923.tif 000010
【図７】
0005525923.tif 000011
【図８】
0005525923.tif 000012
【図９】
0005525923.tif 000013
【図１０】
0005525923.tif 000014
【図１１Ａ】
0005525923.tif 000015
【図１１Ｂ】
0005525923.tif 000016
【図１２】
0005525923.tif 000017
【図１３】
0005525923.tif 000018
【図１４】
0005525923.tif 000019
【図１５】
0005525923.tif 000020
【図１６】
0005525923.tif 000021
【図１７Ａ】
0005525923.tif 000022
【図１７Ｂ】
0005525923.tif 000023