(57)【特許請求の範囲】
【請求項１】
撮像装置を備え、仮想空間内に存在する１以上のオブジェクトを描画する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、
顔の特徴を示す顔特徴データを記憶する顔特徴データ記憶手段と、
前記撮影装置から取得した撮像画像に含まれる顔の特徴を検出する顔特徴検出手段と、
前記顔特徴検出手段によって顔の特徴が検出された場合に、前記顔特徴データ記憶手段から前記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データを選択する顔特徴データ選択手段と、
前記顔特徴データ記憶手段に記憶されている前記顔特徴データが前記顔特徴データ選択手段によって選択された回数を選択回数として当該顔特徴データ毎に対応させて記憶する選択回数記憶手段と、
前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数記憶手段に記憶されている前記選択回数を更新する選択回数更新手段と、
前記顔特徴データ選択手段によって選択された前記顔特徴データに対応する前記選択回数に基づいて、各前記オブジェクトの動作を制御する動作制御手段として機能させる、情報処理プログラム。
【請求項２】
前記動作制御手段は、前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数が所定の第１の閾値以上であれば、前記オブジェクトを所定の第１の動作で動作させ、前記第１の閾値未満であれば、前記オブジェクトを前記第１の動作とは異なる所定の第２の動作で動作させる、請求項１に記載の情報処理プログラム。
【請求項３】
前記動作制御手段は、前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数が前記第１の閾値より小さい所定の第２の閾値以上であれば、前記オブジェクトを前記第２の動作で動作させ、前記第２の閾値未満であれば、前記オブジェクトを前記第１の動作および前記第２の動作とは異なる所定の第３の動作で動作させる、請求項２に記載の情報処理プログラム。
【請求項４】
前記コンピュータを、
前記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データが前記顔特徴データ記憶手段に記憶されているかどうかを判断する顔照合手段としてさらに機能させ、
前記動作制御手段は、前記顔照合手段の判断結果が否定である場合に、前記オブジェクトを前記第２の動作で動作させる、請求項３に記載の情報処理プログラム。
【請求項５】
前記動作制御手段は、前記顔特徴検出手段によって顔の特徴が検出されなかった場合には、前記オブジェクトを前記第２の動作で動作させる、請求項３に記載の情報処理プログラム。
【請求項６】
前記コンピュータを、
前記顔特徴データ選択手段によって選択された前記顔特徴データを特定する特定情報を記憶する特定情報記憶手段としてさらに機能させ、
前記動作制御手段は、前記特定情報記憶手段に記憶されている前記特定情報によって特定される前記顔特徴データに基づいて前記オブジェクトの動作を制御する、請求項４に記載の情報処理プログラム。
【請求項７】
前記コンピュータを、
前記撮像装置から取得した前記撮像画像に撮像されている顔の当該撮像装置に対する相対的な位置および相対的な姿勢の少なくともいずれか一方を検出する検出手段としてさらに機能させ、
前記動作制御手段は、前記顔特徴データと前記検出手段によって検出された前記相対的な位置および前記相対的な姿勢の少なくともいずれか一方に基づいて前記オブジェクトを動作させる、請求項１に記載の情報処理プログラム。
【請求項８】
前記コンピュータを、
前記検出手段によって検出された前記相対的な位置および前記相対的な姿勢を記憶する記憶手段としてさらに機能させ、
前記動作制御手段は、前記顔特徴データと、前記記憶手段に記憶されている前記相対的な位置および前記相対的な姿勢の少なくともいずれか一方に基づいて前記オブジェクトの動作を制御する、請求項７に記載の情報処理プログラム。
【請求項９】
前記コンピュータを、
前記選択回数更新手段で前記選択回数が前回更新されてからの経過時間を算出する経過時間算出手段としてさらに機能させ、
前記選択回数更新手段は、前記経過時間が所定時間以上である場合に前記顔特徴データが選択されたとき、選択された前記顔特徴データに対応する前記選択回数を更新する、請求項１に記載の情報処理プログラム。
【請求項１０】
前記選択回数記憶手段は、前記顔特徴データに対応する前記選択回数を各前記オブジェクトのそれぞれと対応させて記憶し、
前記選択回数更新手段は、前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数を前記オブジェクト毎に更新し、
前記動作制御手段は、前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数に基づき、各前記オブジェクトの動作を制御する、請求項１に記載の情報処理プログラム。
【請求項１１】
前記選択回数更新手段は、前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数の中で、前記仮想空間内に存在して描画されている各前記オブジェクトに対応する前記選択回数を更新する、請求項１０に記載の情報処理プログラム。
【請求項１２】
前記選択回数記憶手段は、前記選択回数が更新された日時を最終更新日時として、対応する前記顔特徴データ毎に対応させてさらに記憶し、
前記選択回数更新手段は、前記最終更新日時からの前記経過時間が所定時間以上である場合に前記顔特徴データが選択されたとき、選択された前記顔特徴データに対応する前記選択回数を更新する、請求項１に記載の情報処理プログラム。
【請求項１３】
前記コンピュータを、
前記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データが前記顔特徴データ記憶手段に記憶されているかどうかを判断する顔照合手段と、
前記顔照合手段の判断結果が否定である場合に、前記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データを前記顔特徴データ記憶手段に新たに格納する顔特徴データ登録手段としてさらに機能させる、請求項１に記載の情報処理プログラム。
【請求項１４】
前記コンピュータを、
前記顔特徴データ登録手段が新たな前記顔特徴データを格納させる場合において、前記顔特徴データ記憶手段に記憶されている前記顔特徴データの数が所定の登録可能数である場合、いずれかの前記顔特徴データを削除する顔特徴データ削除手段としてさらに機能させ、
前記顔特徴データ登録手段は、前記顔特徴データ削除手段によって前記顔特徴データが削除された後、新たな前記顔特徴データを格納させる、請求項１３に記載の情報処理プログラム。
【請求項１５】
前記コンピュータを、
前記顔特徴データ選択手段で選択された前記顔特徴データで示される顔の特徴を、前記顔特徴検出手段で検出された顔の特徴で更新する顔特徴データ更新手段としてさらに機能させる、請求項１に記載の情報処理プログラム。
【請求項１６】
前記コンピュータを、
前記顔特徴検出手段によって検出された顔の特徴と前記顔特徴データ選択手段で選択された前記顔特徴データによって示される顔の特徴との類似度を算出する類似度算出手段としてさらに機能させ、
前記顔特徴データ更新手段は、前記類似度が所定の類似度閾値以上である場合に、前記顔特徴データ選択手段で選択された前記顔特徴データの顔の特徴を更新する、請求項１５に記載の情報処理プログラム。
【請求項１７】
ユーザによって把持され、各前記オブジェクトが描画される表示画面が正視されたときに当該ユーザの顔を正面から撮像できる位置に前記撮像装置を備える前記情報処理装置の前記コンピュータにおいて実行される、請求項１〜１６のいずれかに記載の情報処理プログラム。
【請求項１８】
撮像装置を備え、仮想空間内に存在する１以上のオブジェクトを描画する情報処理装置であって、
顔の特徴を示す顔特徴データを記憶する顔特徴データ記憶手段と、
前記撮影装置から取得した撮像画像に含まれる顔の特徴を検出する顔特徴検出手段と、
前記顔特徴検出手段によって前記顔の特徴が検出された場合に、前記顔特徴データ記憶手段から前記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データを選択する顔特徴データ選択手段と、
前記顔特徴データ記憶手段に記憶されている前記顔特徴データが前記顔特徴データ選択手段によって選択された回数を選択回数として当該顔特徴データ毎に対応させて記憶する選択回数記憶手段と、
前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数記憶手段に記憶されている前記選択回数を更新する選択回数更新手段と、
前記顔特徴データ選択手段によって選択された前記顔特徴データに対応する前記選択回数に基づいて、各前記オブジェクトの動作を制御する動作制御手段とを備える、情報処理装置。
【請求項１９】
撮像装置を備え、仮想空間内に存在する１以上のオブジェクトを描画する情報処理装置で実行される情報処理方法であって、
顔の特徴を示す顔特徴データを記憶する顔特徴データ記憶ステップと、
前記撮影装置から取得した撮像画像に含まれる顔の特徴を検出する顔特徴検出ステップと、
前記顔特徴検出ステップにおいて顔の特徴が検出された場合に、前記顔特徴データ記憶ステップにおいて記憶された顔特徴データの中から前記顔特徴検出ステップにおいて検出された顔の特徴に対応する顔特徴データを選択する顔特徴データ選択ステップと、
前記顔特徴データ記憶ステップにおいて記憶された前記顔特徴データが前記顔特徴データ選択ステップにおいて選択された回数を選択回数として当該顔特徴データ毎に対応させて記憶する選択回数記憶ステップと、
前記顔特徴データ選択ステップにおいて選択された前記顔特徴データに対応する前記選択回数記憶ステップにおいて記憶された前記選択回数を更新する選択回数更新ステップと、
前記顔特徴データ選択ステップにおいて選択された前記顔特徴データに対応する前記選択回数に基づいて、各前記オブジェクトの動作を制御する動作制御ステップとを備える、情報処理方法。
【請求項２０】
撮像装置を備え、仮想空間内に存在する１以上のオブジェクトを表示装置に描画する情報処理システムであって、
顔の特徴を示す顔特徴データを記憶する顔特徴データ記憶手段と、
前記撮影装置から取得した前記撮像画像に含まれる顔の特徴を検出する顔特徴検出手段と、
前記顔特徴検出手段によって顔の特徴が検出された場合に、前記顔特徴データ記憶手段から、前記顔特徴検出手段によって検出された顔の特徴に対応する前記顔特徴データを選択する顔特徴データ選択手段と、
前記顔特徴データ記憶手段に記憶されている前記顔特徴データが前記顔特徴データ選択手段によって選択された回数を選択回数として当該顔特徴データ毎に対応させて記憶する選択回数記憶手段と、
前記顔特徴データ選択手段で選択された前記顔特徴データに対応する前記選択回数記憶手段に記憶されている前記選択回数を更新する選択回数更新手段と、
前記顔特徴データ選択手段によって選択された前記顔特徴データに対応する前記選択回数に基づいて、各前記オブジェクトの動作を制御する動作制御手段とを備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理方法および情報処理システムに関し、より特定的には、オブジェクトの動作を制御する情報処理プログラム、情報処理装置、情報処理方法および情報処理システムに関する。
【背景技術】
【０００２】
従来、電子式の手帳や電子ゲーム器などの電子機器において、動物や植物などの生物を表示し、成長過程を表示する画像表示装置がある（例えば、特許文献１参照）。上記特許文献１に記載された画像表示装置では、水、光および肥料の各要素についてそれらの量を選択して植物に与え、各要素を与えた量に応じて成長過程を表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１６０８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の画像表示装置では、各要素の量を選択するなどのユーザによる操作入力に応じて表示する植物の成長過程を制御している。従って、操作入力をしたユーザに関わらず、操作入力が同一であれば、植物の成長過程を表示するときの制御は同一となる。つまり、上記特許文献１では、操作入力をするユーザに応じて植物の成長過程などを制御して表示することができず、操作入力をするユーザに応じた興趣性に富む表示ができなかった。
【０００５】
それ故に、本発明の目的は、操作入力をするユーザに応じた興趣性に富む表示が可能な情報処理プログラム、情報処理装置、情報処理方法および情報処理システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明の情報処理プログラムは、撮像装置を備え、仮想空間内に存在する１以上のオブジェクトを描画する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。上記情報処理プログラムは、上記コンピュータを、顔特徴データ記憶手段と、顔特徴検出手段と、顔特徴データ選択手段と、選択回数記憶手段と、選択回数更新手段と、動作制御手段として機能させる。顔特徴データ記憶手段は、顔の特徴を示すデータを顔特徴データとして記憶する。顔特徴検出手段は、上記撮像装置から取得した撮像画像に含まれる顔の特徴を検出する。顔特徴データ選択手段は、上記顔特徴検出手段によって顔の特徴が検出された場合に、上記顔特徴データ記憶手段から上記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データを選択する。選択回数記憶手段は、上記顔特徴データ記憶手段に記憶されている上記顔特徴データが上記顔特徴データ選択手段によって選択された回数を選択回数として当該顔特徴データ毎に対応させて記憶する。選択回数更新手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数記憶手段に記憶されている上記選択回数を更新する。動作制御手段は、上記顔特徴データ選択手段によって選択された上記顔特徴データに対応する前記選択回数に基づいて、各上記オブジェクトの動作を制御する。
【０００８】
上記構成例によれば、記憶されている顔特徴データで示される顔の特徴に対応する特徴の顔のユーザが、上記情報処理装置を使用しているユーザとして選択され、選択されたユーザの顔特徴データに基づいてオブジェクトの動作を制御するので、上記情報処理装置を使用して操作入力をするユーザに応じた動作をするようにオブジェクトを制御でき、興趣性に富んだ表示をすることができる。
【００１０】
上記構成例によれば、上記情報処理装置を使用しているユーザの顔特徴データが選択された回数に応じてオブジェクトの動作を制御するので、使用回数の異なるユーザにそれぞれ応じた動作でオブジェクトを制御でき、さらに興趣性に富む表示を行える。
【００１１】
さらに他の構成例として、上記動作制御手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数が所定の第１の閾値以上であれば、上記オブジェクトを所定の第１の動作で動作させ、上記第１の閾値未満であれば、上記オブジェクトを上記第１の動作とは異なる所定の第２の動作で動作させてもよい。
【００１２】
上記構成例によれば、上記選択回数に応じて２つの動作のいずれかの動作をしているようにオブジェクトを制御でき、選択回数に応じた興趣性に富む表示を行える。
【００１３】
さらに他の構成例として、上記動作制御手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数が上記第１の閾値より小さい所定の第２の閾値以上であれば、上記オブジェクトを上記第２の動作で動作させ、上記第２の閾値未満であれば、上記オブジェクトを上記第１の動作および上記第２の動作とは異なる所定の第３の動作で動作させてもよい。
【００１４】
上記構成例によれば、上記選択回数に応じて３つの動作のいずれかの動作をしているようにオブジェクトを制御でき、選択回数に応じてさらに興趣性に富んだ表示を行える。
【００１５】
さらに他の構成例として、上記情報処理プログラムは、顔照合手段として上記コンピュータをさらに機能させてもよい。ここで、顔照合手段は、上記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データが上記顔特徴データ記憶手段に記憶されているかどうかを判断する。そして、上記動作制御手段は、上記顔照合手段の判断結果が否定である場合には、上記オブジェクトを上記第２の動作で動作させてもよい。
【００１６】
上記構成例によれば、始めて上記情報処理プログラムを実行する上記情報処理装置を使用するユーザに対して、初期設定として予め定めた動作をしているようにオブジェクトを制御できる。
【００１７】
さらに他の構成例として、上記動作制御手段は、上記顔特徴検出手段によって顔の特徴が検出されなかった場合には、上記オブジェクトを上記第２の動作で動作させてもよい。
【００１８】
上記構成例によれば、ユーザの顔の特徴が検出されなかった場合でも、上記第２の動作に対応する選択回数の顔特徴データに対応する特徴の顔のユーザとしてオブジェクトの動作を制御できる。
【００１９】
さらに他の構成例として、上記情報処理プログラムは、特定情報記憶手段として上記コンピュータをさらに機能させてもよい。ここで、特定情報記憶手段は、上記顔特徴データ選択手段によって選択された上記顔特徴データを特定する特定情報を記憶する。そして、上記動作制御手段は、上記特定情報記憶手段に記憶されている上記特定情報によって特定される上記顔特徴データに基づいて上記オブジェクトの動作を制御してもよい。
【００２０】
上記構成例によれば、選択されたユーザの顔特徴データを記憶させるので、選択結果を利用したオブジェクトの制御を顔特徴データの選択に続けて行う必要がなく、任意のタイミングで行えるため、ＣＰＵの処理負荷を軽減できる。
【００２１】
さらに他の構成例として、上記情報処理プログラムは、検出手段として、上記コンピュータをさらに機能させてもよい。ここで、検出手段は、上記撮像装置から取得した上記撮像画像に撮像されている顔の当該撮像装置に対する相対的な位置および相対的な姿勢の少なくともいずれか一方を検出する。そして、上記動作制御手段は、上記顔特徴データと上記検出手段によって検出された上記相対的な位置および相対的な姿勢の少なくともいずれか一方に基づいて上記オブジェクトを動作させてもよい。
【００２２】
上記構成例によれば、顔特徴データの選択結果に加えて、撮像装置に対する顔の相対的な位置および相対的な姿勢の少なくともいずれか一方の検出結果を用いて、オブジェクトの動作を制御できるため、さらに興趣性に富む表示を行える。
【００２３】
さらに他の構成例として、上記情報処理プログラムは、記憶手段として、上記コンピュータを機能させてもよい。ここで、記憶手段は、上記検出手段によって検出された各上記パラメータを記憶する。そして、上記動作制御手段は、上記顔特徴データと、上記顔パラメータ記憶手段に記憶されている相対的な位置および相対的な姿勢の少なくともいずれか一方に基づいて上記オブジェクトの動作を制御してもよい。
【００２４】
上記構成例によれば、相対的な位置および相対的な姿勢の少なくともいずれか一方の検出結果を記憶させるので、検出結果を利用したオブジェクトの制御を相対的な位置および相対的な姿勢の検出に続けて行う必要がなく、任意のタイミングで行えるため、ＣＰＵの処理負荷を軽減できる。
【００２５】
さらに他の構成例として、上記情報処理プログラムは、経過時間計測手段として上記コンピュータをさらに機能させてもよい。ここで、経過時間計測手段とは、上記選択回数更新手段で上記選択回数が前回更新されてからの経過時間を計測する。そして、上記選択回数更新手段は、上記経過時間が所定時間以上である場合に上記顔特徴データが選択されたとき、選択された上記顔特徴データに対応する上記選択回数を更新してもよい。
【００２６】
上記構成例によれば、ユーザの顔特徴データが選択される度に更新され、過度に高くなることを防げる。
【００２７】
さらに他の構成例として、上記選択回数記憶手段は、上記顔特徴データに対応する上記選択回数を各上記オブジェクトのそれぞれと対応させて記憶し、上記選択回数更新手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数を上記オブジェクト毎に更新し、上記動作制御手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数に基づき、各上記オブジェクトの動作を制御してもよい。
【００２８】
上記構成例によれば、オブジェクト毎に選択回数を管理して、それぞれのオブジェクトに対応する選択回数でオブジェクトの動作を制御できるので、さらに興趣性に富む表示を行える。
【００２９】
さらに他の構成例として、上記選択回数更新手段は、上記顔特徴データ選択手段で選択された上記顔特徴データに対応する上記選択回数の中で、上記仮想空間内に存在して描画されている各上記オブジェクトに対応する上記選択回数を更新してもよい。
【００３０】
上記構成例によれば、ユーザに視認可能なオブジェクトに対応する選択回数のみを更新できるので、ユーザに視認されたオブジェクトのみの動作が他のオブジェクトとは異なる動作となるように制御でき、多様性のある表示を行える。
【００３１】
さらに他の構成例として、上記選択回数記憶手段は、上記選択回数が更新された日時を最終更新日時として、対応する上記顔特徴データ毎に対応させてさらに記憶し、上記選択回数更新手段は、上記最終更新日時からの上記経過時間が所定時間以上である場合に上記顔特徴データが選択されたとき、選択された上記顔特徴データに対応する上記選択回数を更新する。
【００３２】
上記構成例によれば、選択回数が前回更新されてからの経過時間が所定時間以上経過したときに更新するので、過度に高くなるのを防げる。
【００３３】
さらに他の構成例として、上記情報処理プログラムは、顔照合手段と、顔特徴データ登録手段として上記コンピュータをさらに機能させてもよい。ここで、顔照合手段は、上記顔特徴検出手段によって検出された顔の特徴に対応する顔特徴データが上記顔特徴データ記憶手段に記憶されているかどうかを判断する。また、顔特徴データ登録手段は、顔照合手段の判断結果が否定である場合に、上記顔特徴検出手段によって検出されたときの顔の特徴に対応する上記顔特徴データを上記顔特徴データ記憶手段に新たに格納する顔特徴データ登録手段としてさらに機能させてもよい。
【００３４】
上記構成例によれば、上記情報処理装置を現在使用しているユーザの顔の特徴に最も近い顔の特徴に対応する顔特徴データが選択されなかった場合でも、次回からは選択回数を更新することができ、当該ユーザに対しても興趣性に富む表示を行える。
【００３５】
さらに他の構成例として、上記情報処理プログラムは、上記コンピュータを顔特徴データ削除手段としてさらに機能させてもよい。ここで、顔特徴データ削除手段とは、上記顔特徴データ登録手段が新たな上記顔特徴データを格納させる場合において、上記顔特徴データ記憶手段に記憶されている上記顔特徴データの数が所定の登録可能数である場合、いずれかの上記顔特徴データを削除する。そして、上記顔特徴データ登録手段は、上記顔特徴データ削除手段によって上記顔特徴データが削除された後、新たな上記顔特徴データを格納させるようにしてもよい。
【００３６】
上記構成例によれば、顔特徴データの記憶可能数が定められていたとしても、新たな顔特徴データを記憶させることができる。
【００３７】
さらに他の構成例として、上記情報処理プログラムは、上記コンピュータを顔特徴データ更新手段としてさらに機能させてもよい。ここで、顔特徴データ更新手段は、上記顔特徴データ選択手段で選択された上記顔特徴データで示される顔の特徴を、上記顔特徴検出手段で検出された顔の特徴で更新してもよい。
【００３８】
上記構成例によれば、既に記憶されている顔特徴データを最新のユーザの顔の特徴を示すデータとして維持できる。
【００３９】
さらに他の構成例として、上記情報処理プログラムは、上記コンピュータを類似度算出手段としてさらに機能させてもよい。ここで、類似度算出手段は、上記顔特徴検出手段によって検出された顔の特徴と上記顔特徴データ選択手段で選択された上記顔特徴データによって示される顔の特徴との類似度を算出する。上記顔特徴データ更新手段は、上記類似度が所定の類似度閾値以上である場合に、上記顔特徴データ選択手段で選択された上記顔特徴データの顔の特徴を更新する。
【００４０】
上記構成例によれば、既に記憶されている顔特徴データの精度をより高く維持できる。
【００４１】
さらに他の構成例として、上記情報処理プログラムは、ユーザによって把持され、各上記オブジェクトが描画される表示画面が正視されたときに当該ユーザの顔を正面から撮像できる位置に上記撮像装置を備える上記情報処理装置のコンピュータにおいて実行されてもよい。
【００４２】
上記構成例によれば、上記情報処理プログラムが実行されることによって表示画面に表示されるオブジェクトを見るユーザの顔を正面から撮像することができ、当該オブジェクトを用いた興趣性に富む表示を行いながら、撮像画像を撮像して当該ユーザの顔の特徴を検出できる。
【００４３】
また、本発明は、上記各手段を備える情報処理装置および情報処理システムや上記各手段で行われる動作を含む情報処理方法の形態で実施されてもよい。
【発明の効果】
【００４４】
本発明によれば、操作入力をするユーザに応じた興趣性に富む表示を行える。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係る情報処理プログラムを実行するゲーム装置１０の外観図
【図２】図１のゲーム装置１０の内部構成の一例を示すブロック図
【図３】情報処理プログラムを実行することに応じて、メインメモリ３２に記憶されるデータの一例を示す図
【図４】ユーザがゲーム装置１０を片手で把持する様子の一例を示す図
【図５】内側撮像部２４でユーザの顔を撮像した画像の一例を示す図
【図６】情報処理プログラムを実行することに応じて、メインメモリ３２に記憶されるデータの一例を示す図
【図７Ａ】情報処理プログラムを実行することに応じて表示される画面の一例を示す図
【図７Ｂ】情報処理プログラムを実行することに応じて表示される画面の一例を示す図
【図８】情報処理プログラムを実行することに応じて検出される顔のパラメータの一例を示す図
【図９Ａ】情報処理プログラムを実行することに応じて表示される画面の一例を示す図
【図９Ｂ】情報処理プログラムを実行することに応じて表示される画面の一例を示す図
【図９Ｃ】情報処理プログラムを実行することに応じて表示される画面の一例を示す図
【図１０】図１のゲーム装置１０で実行される情報処理プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図
【図１１Ａ】図１のゲーム装置１０で実行される情報処理プログラムを実行することによってゲーム装置１０が情報処理を行う一例を示すフローチャート
【図１１Ｂ】図１のゲーム装置１０で実行される情報処理プログラムを実行することによってゲーム装置１０が情報処理を行う一例を示すフローチャート
【図１２】図１１Ａのステップ１０１で実行される初期化処理の詳細を示すサブルーチン
【図１３】図１１Ａのステップ１０７で実行される顔認証処理の詳細を示すサブルーチン
【図１４】図１１Ａのステップ１０８で実行される登録処理の詳細を示すサブルーチン
【図１５】図１１Ｂのステップ１１１で実行される動作制御処理の詳細を示すサブルーチン
【図１６】図１１Ｂのステップ１１８で実行される検出動作制御処理の詳細を示すサブルーチン
【図１７】図１１Ｂのステップ１１９で実行されるオブジェクト操作処理の詳細を示すサブルーチン
【発明を実施するための形態】
【００４６】
（第１の実施形態）
図面を参照して、本発明の第１の実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。本発明の画像処理プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、画像処理装置の一例として携帯型のゲーム装置１０を用い、ゲーム装置１０で実行される画像処理プログラムを用いて説明する。なお、図１は、ゲーム装置１０の外観の一例を示す平面図である。ゲーム装置１０は、一例として携帯型のゲーム装置であり、図１に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０の一例を示す正面図である。ゲーム装置１０は、撮像部を内蔵しており、当該撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することもできる。
【００４７】
図１において、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回動可能に連結されている。通常、ユーザは、開状態でゲーム装置１０を使用する。そして、ユーザは、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００４８】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｉ、アナログスティック１５、ＬＥＤ１６、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００４９】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は、下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１の内側面に設けられた開口部から下側ＬＣＤ１２の画面が露出する。そして、ゲーム装置１０を使用しない場合には上記閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、一例として、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）である。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００５０】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１に示す破線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００５１】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｉの内、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｇ、ＨＯＭＥボタン１４Ｈ、およびスタートボタン１４Ｉが設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、およびボタン１４Ｅは、十字状に配置される。
【００５２】
また、図示はしていないが、ゲーム装置１０には、Ｌボタン、Ｒボタンおよび音量ボタンが設けられる。ＬボタンおよびＲボタンは、下側ハウジング１１の上側面に設けられている。Ｌボタンは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタンは、下側ハウジング１１の上面の右端部に設けられる。ＬボタンおよびＲボタンは、例えば、少なくともいずれか一方を撮像部のシャッターボタン（撮影指示ボタン）として機能させることが可能である。また、ＬボタンおよびＲボタンのいずれか一方をシャッターボタンとして機能させる場合には、他方に他の任意の機能を割り当てることも可能である。また、音量ボタンは、下側ハウジング１１の左側面に設けられる。音量ボタンは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００５３】
ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｇ、ＨＯＭＥボタン１４Ｈ、スタートボタン１４Ｉ、ＬボタンおよびＲボタンには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００５４】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａが下側ＬＣＤ１２より左側領域の下部領域に設けられ、アナログスティック１５が十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５および十字ボタン１４Ａは、下側ハウジング１１を把持した左手の親指で操作可能な位置に配置される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
【００５５】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図２参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００５６】
図１に示されるように、下側ハウジング１１の左側面には、データ保存用外部メモリ４６を挿入可能な挿入口１１Ｂが設けられている。挿入口１１Ｂには、開閉可能なカバー部が設けられており、その内側にゲーム装置１０とデータ保存用外部メモリ４６とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４６は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ４６は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびそのカバー部は、下側ハウジング１１の右側面に設けられてもよい。
【００５７】
図１に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４５を挿入するための挿入口１１Ｃが設けられ、その挿入口１１Ｃの内部には、外部メモリ４５と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。外部メモリ４５がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口１１Ｃは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００５８】
図１に示されるように、下側ハウジング１１の下側面には、ゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知するＬＥＤ１６が設けられる。また、図示はしていないが、下側ハウジング１１の右側面には、ゲーム装置１０の無線通信の確立状況をユーザに通知するＬＥＤが設けられる。ゲーム装置１０は、他の機器との間で無線通信を行うことが可能である。下側ハウジング１１の右側面に設けられたＬＥＤは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチも設けられる（図示せず）。
【００５９】
また、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００６０】
上側ハウジング２１には、上側ＬＣＤ２２、２つの外側撮像部２３（外側左撮像部２３ａおよび外側右撮像部２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００６１】
図１に示すように、上側ＬＣＤ２２は、上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は、上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、一例として下側ＬＣＤ１２の画面の面積よりも大きく設定される。具体的には、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００６２】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１の内側面に設けられた開口部から上側ＬＣＤ２２の画面が露出する。また、図２に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、一例として８００ｄｏｔ×２４０ｄｏｔ（横×縦）である。なお、本実施形態では、上側ＬＣＤ２２が液晶表示装置であるとしたが、例えばＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００６３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。上側ＬＣＤ２２は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側ＬＣＤ２２は、左目用画像と右目用画像とが所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。なお、上側ＬＣＤ２２は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。この場合、上側ＬＣＤ２２は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２は、パララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。）。このように、上側ＬＣＤ２２は、立体画像を表示する立体表示モードと、画像を平面的に表示する（平面画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００６４】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）で構成される。外側左撮像部２３ａおよび外側右撮像部２３ｂの撮像方向は、いずれも外側面２１Ｄの外向きの法線方向であり、平行となる。外側左撮像部２３ａおよび外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００６５】
外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。従って、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。これにより、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００６６】
なお、外側左撮像部２３ａおよび外側右撮像部２３ｂは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像を行うことも可能である。
【００６７】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００６８】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１に示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側左撮像部２３ａおよび外側右撮像部２３ｂの中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側左撮像部２３ａおよび外側右撮像部２３ｂを上側ハウジング２１の内側面に投影した場合、当該投影した外側左撮像部２３ａおよび外側右撮像部２３ｂの中間に、内側撮像部２４が設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側左撮像部２３ａおよび外側右撮像部２３ｂと内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００６９】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１に示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面および右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。３Ｄ調整スイッチ２５は、所定方向（例えば、上下方向）の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００７０】
例えば、３Ｄ調整スイッチ２５のスライダが最下点位置に配置されている場合、上側ＬＣＤ２２が平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
【００７１】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。例えば、３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。従って、ユーザは、上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００７２】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４４からの音声がこのスピーカ孔２１Ｅから出力される。
【００７３】
次に、図２を参照して、ゲーム装置１０の内部構成を説明する。なお、図２は、ゲーム装置１０の内部構成の一例を示すブロック図である。
【００７４】
図２において、ゲーム装置１０は、上述した各構成部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電源回路４１、およびインターフェイス回路（Ｉ／Ｆ回路）４２等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００７５】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４５やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像が表示される。このように、ＣＰＵ３１１は、ＧＰＵ３１２に命令を与えてＶＲＡＭ３１３に画像を描画させることによって、上側ＬＣＤ２２および／または下側ＬＣＤ１２へ画像を表示することができる。
【００７６】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４５を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４６を着脱自在に接続するためのインターフェイスである。
【００７７】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部（外部メモリ４５や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００７８】
外部メモリ４５は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４５は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４５に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４６は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４６がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４６に記憶された画像を読み込み、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像を表示することができる。
【００７９】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００８０】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は、情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００８１】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（本実施形態では、ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、例えば下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、ゲーム装置１０の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを算出する。
【００８２】
情報処理部３１には、角速度センサ４０が接続される。角速度センサ４０は、ゲーム装置１０の３軸（本実施形態では、ｘｙｚ軸）周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ（角速度データ）を情報処理部３１へ出力する。角速度センサ４０は、例えば下側ハウジング１１の内部に設けられる。情報処理部３１は、角速度センサ４０から出力された角速度データを受信して、ゲーム装置１０の姿勢や動きを算出する。
【００８３】
情報処理部３１には、ＲＴＣ３８および電源回路４１が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４１は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００８４】
情報処理部３１には、Ｉ／Ｆ回路４２が接続される。Ｉ／Ｆ回路４２には、マイク４３、スピーカ４４、およびタッチパネル１３が接続される。具体的には、Ｉ／Ｆ回路４２には、図示しないアンプを介してスピーカ４４が接続される。マイク４３は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４２に出力する。アンプは、Ｉ／Ｆ回路４２からの音声信号を増幅し、音声をスピーカ４４から出力させる。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４（アンプ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置（タッチ位置）の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、およびタッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を知ることができる。
【００８５】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｉ、Ｌボタン、Ｒボタンおよび音量ボタンからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉ、Ｌボタン、Ｒボタンおよび音量ボタンに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００８６】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、動物のオブジェクト（以下、動物オブジェクトと称する）を示す画像を上側ＬＣＤ２２に表示させる。
【００８７】
上側ＬＣＤ２２には、動物オブジェクトを示す画像として上述した平面画像の他に上述した立体画像を表示することもできる。具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体画像が表示される。
【００８８】
このように、上側ＬＣＤ２２に動物オブジェクトを立体画像として表示するかまたは平面画像として表示するかは、上述したように３Ｄ調整スイッチ２５による表示モードの切り替えによって決定される。また、表示モードが３Ｄ調整スイッチ２５によって立体表示モードに切り替えられていたとしても、情報処理部３１が実行するプログラムに従って左目用画像および右目用画像として同一の画像を表示する場合には、動物オブジェクトが平面表示される。
【００８９】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は、外側撮像部２３および内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、ユーザによるタッチパネル１３や操作ボタン１４を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３または内側撮像部２４に対して撮像指示を行う。
【００９０】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【００９１】
３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【００９２】
次に、図３〜図９Ｃを参照して、本実施形態に係る情報処理プログラムの一例として、ゲーム装置１０において、上側ＬＣＤ２２に１以上の動物を表示し、ユーザの呼びかけ操作に応じて近づいてきた動物との擬似的な触れあいをユーザに提供するためのゲームプログラムが実行される場合について説明する。また、以下の説明では、上側ＬＣＤ２２に、動物として子犬または子猫を示す動物オブジェクトが表示される場合を一例として説明する。
【００９３】
後に明らかとなるが、上記ゲームプログラムでは、内側撮像部２４で撮像した画像にユーザの顔が撮像されているか否かを判断する処理、当該画像から顔の特徴点を検出する処理、互いに異なる画像から検出した顔の特徴点の類似度Ｒｄを算出する処理、当該画像から後述する顔のパラメータを検出する処理などが実行される。しかしながら、本発明において、これらの処理については、任意の周知の技術を用いるものとして、詳細な説明を省略する。
【００９４】
上記ゲームプログラムが実行されると、初期化処理が実行された後、当該ゲームプログラムの実行に必要な各種データがデータ保存用外部メモリ４６から読み出され、メインメモリ３２に格納される。本実施形態では、一例として、データ保存用外部メモリ４６から始めに読み出されるデータは、顔認証データＤｄおよび対面頻度データＤｆであるものとする。データ保存用外部メモリ４６から読み出された顔認証データＤｄおよび対面頻度データＤｆは、それぞれメインメモリ３２に格納されるものとする（図１０参照）。以下、顔認証データＤｄおよび対面頻度データＤｆの一例について説明する。
【００９５】
（顔認証データＤｄ）
顔認証データＤｄとは、上記ゲームプログラムを実行するゲーム装置１０の現在までの使用者それぞれの顔の特徴点を示す個人認証データの集合体である。具体的には、顔認証データＤｄとは、図３に一例として示すように、現在までにゲーム装置１０を使用した１以上のユーザの顔の特徴点をそれぞれ示す個人認証データに当該ユーザをそれぞれ示す固有のＩＤ（識別子）を付したデータの集合体である。図３には、ＩＤ１が付与された個人認証データ１から、ＩＤ４が付与された個人認証データ４までの４人のユーザの個人認証データからなる顔認証データＤｄが一例として示されている。
【００９６】
ユーザの顔の特徴点は、図４に一例として示すようにユーザがゲーム装置１０を把持したときに、上述したように内側撮像部２４で撮像した画像（以下、撮像画像Ｋｇと称する）から抽出される。図５は、撮像画像Ｋｇの一例を示す図である。そして、撮像画像Ｋｇから抽出された特徴点を示すデータが、後述する登録処理で顔認証データＤｄを構成する個人認証データとして登録される。
【００９７】
顔認証データＤｄは、ゲーム装置１０を現在使用しているユーザを、過去に使用した１以上のユーザの中から特定するために用いられる。後に詳述するが、上記ゲームプログラムでは、前述の撮像画像Ｋｇが任意のタイミングで撮像され、撮像された撮像画像Ｋｇに顔が撮像されているか否かが判断される。撮像画像Ｋｇに顔が撮像されていると判断された場合には、撮像画像Ｋｇに撮像されている顔の特徴点が抽出され、抽出された特徴点を示す顔照合データＤｃが生成される。従って、顔照合データＤｃとは、ゲーム装置１０を現在使用しているユーザの顔の特徴点を示すデータとなる。そして、この顔照合データＤｃで示される特徴点と、顔認証データＤｄを構成するそれぞれの個人認証データで示される特徴点とが、個人認証データ毎に比較される。これにより、顔照合データＤｃと各個人認証データとの類似度Ｒｄが、個人認証データ毎にそれぞれ算出される。そして、個人認証データ毎に算出される類似度Ｒｄに基づいて現在のユーザの特定が行われる。
【００９８】
ユーザが特定されなかった場合には、顔照合データＤｃで示される特徴点を示すデータが、顔認証データＤｄを構成する新たな個人認証データとして登録される。従って、顔認証データＤｄは、ゲーム装置１０を過去に使用したユーザの顔の特徴点を示す個人認証データだけでなく、当該ゲーム装置１０を現在使用しているユーザの顔の特徴点を示す個人認証データも含むこととなる。
【００９９】
また、本実施形態では、一例として、顔認証データＤｄには、登録できるユーザの数（以下、登録可能数Ｔｋｓと称する）が予め定められているものとする。すなわち、本実施形態では、一例として、顔認証データＤｄを構成する個人認証データとして登録可能な数が登録可能数Ｔｋｓとして予め定められているものとする。
【０１００】
（対面頻度データＤｆ）
一方、対面頻度データＤｆとは、図６に一例として示すように、上記ゲームプログラムを実行するゲーム装置１０を現在までに使用した１以上のユーザそれぞれが、１以上の動物と擬似的に触れあった頻度（以下、対面頻度Ｔｄと称する）を、当該１以上のユーザそれぞれと対応させて示すデータである。図６には、ＩＤ１〜ＩＤ４のそれぞれについて、子犬１〜子犬３および子猫１のそれぞれとの対面頻度Ｔｄを対応させて示す対面頻度データＤｆが一例として示されている。本実施形態では、一例として、対面頻度データＤｆによって示されるそれぞれのＩＤは、顔認証データＤｄにおけるそれぞれのユーザのＩＤと一致させるものとする。これにより、顔認証データＤｄを構成する個人認証データ、すなわち、現在までにゲーム装置１０を使用したユーザ毎に対面頻度Ｔｄを管理することができる。また、本実施形態では、一例として、対面頻度データＤｆによって示されるユーザのＩＤを、顔認証データＤｄにおけるユーザのＩＤと一致させて対応させるので、対面頻度データＤｆに登録できるユーザの数は、顔認証データＤｄの登録可能数Ｔｋｓと同じ数となる。
【０１０１】
また、各対面頻度Ｔｄは、ユーザ毎に更新される。そして、対面頻度データＤｆは、図６に一例として示すように、対面頻度Ｔｄを最後に更新した最終更新日時もユーザ毎に対応させて示す。本実施形態では、一例として、ユーザが特定されたときに、特定されたユーザに対応する最終更新日時から所定の期間（以下、更新期間Ｒｋと称する）が経過していれば、特定されたユーザと各動物との対面頻度Ｔｄが１だけ加算され更新される。
【０１０２】
ここで、対面頻度データＤｆは、それぞれの動物が、例えば、図６に一例として示す子犬３のように、ペットホテルに預けられている状態など、ユーザが直接世話をしていない状態を、該当する動物について示すデータでもある。そして、ユーザが直接世話をしていない状態とされている動物については、更新期間Ｒｋが経過していたとしても対面頻度Ｔｄが更新されない。従って、対面頻度Ｔｄは、上述したように動物とユーザとが擬似的に触れあった頻度を示す値となる。
【０１０３】
なお、本実施形態では、一例として、６時間の長さの更新期間Ｒｋが定められているものとする。
【０１０４】
以上が、顔認証データＤｄおよび対面頻度データＤｆの一例の説明である。
【０１０５】
（動物オブジェクトデータ）
次に、動物オブジェクトデータについて説明する。本実施形態では、一例として、顔認証データＤｄおよび対面頻度データＤｆがそれぞれ読み出されると、次に、対面頻度データＤｆで示される１以上の動物をそれぞれ示す１以上の動物オブジェクトデータがデータ保存用外部メモリ４６から読み出される。ただし、メインメモリ３２に格納されている対面頻度データＤｆによって、上述したようにユーザが直接世話をしていない状態とされている動物の動物オブジェクトデータは読み出されない。
【０１０６】
動物オブジェクトデータは、一例として、仮想空間上において、子犬または子猫の外形を示すように予め定められた形状データを含む。また、動物オブジェクトデータには、一例として、形状データにおける基準位置、当該基準位置を基準とする各関節の位置および各関節の回転角度を制御量としてそれぞれ示す制御量データも含まれる。動物オブジェクトデータに含まれる制御量データでそれぞれ示される前述の制御量が所定の動作パターンに基づいて制御されることによって、動物オブジェクトの動作が制御される。
【０１０７】
上記動作パターンとは、一例として、上述したように制御量データで制御量としてそれぞれ示される基準位置、各関節の位置および各関節の回転角度のそれぞれの経時変化を示すように予め定められたパターンであるものとする。例えば、上記動作パターンの一例としては、制御対象の動物オブジェクトが歩く動作をするように表示されるように予め定められた歩く動作パターンが挙げられる。そして、制御対象の動物オブジェクトを示す動物オブジェクトデータに含まれる制御量データでそれぞれ示される前述の制御量を歩く動作パターンに従って経時変化させる制御をすることにより、制御対象の動物オブジェクトが歩く動作をしているように制御される。制御量を経時変化させる制御がされるときには、当該制御量を示す制御量データと共に同一の動物オブジェクトデータに含まれる形状データで示される形状も制御される。形状データで示される形状が制御されるときには、同一の動物オブジェクトデータに含まれる制御量データで示される前述の制御量の経時変化に追従して変形するように制御される。これにより、歩く動作パターンに従って制御対象の動物オブジェクトが制御されたときには、当該動物オブジェクトが歩く動作をしているように上側ＬＣＤ２２に表示される。このことは、歩く動作パターン以外の動作を予め定めた動作パターンについても同様である。
【０１０８】
データ保存用外部メモリ４６から読み出されたそれぞれの動物オブジェクトデータは、それぞれの動物オブジェクトデータからなるオブジェクトデータＤｇとしてメインメモリ３２に格納される。オブジェクトデータＤｇがメインメモリ３２に格納されると、格納されたオブジェクトデータＤｇを構成する各動物オブジェクトデータで示される動物オブジェクトのそれぞれが仮想空間上の部屋における初期位置に配置され、上側ＬＣＤ２２に表示される。
【０１０９】
仮想空間上の部屋における初期位置に配置され、上側ＬＣＤ２２に表示された動物オブジェクトは、部屋の中でくつろぐ、歩き回る、寝転ぶなど、各動物オブジェクトでそれぞれ示される動物が、ユーザと触れあうことなく、それぞれの意志で生活をしているように表示されるように種々の動作が設定されるものとする。また、後述で明らかとなるが、本実施形態では、一例として、動物オブジェクトの動作を制御する際には、喜んで近寄る動作、単に歩み寄る動作、警戒しながら歩み寄る動作、ユーザの顔を舐める動作、顔を傾ける動作、ユーザに顔を向ける動作など、種々の動作をしているように上側ＬＣＤ２２に表示されるように設定される。
【０１１０】
本実施形態では、一例として、このような種々の動作のための動作パターンデータがそれぞれデータ保存用外部メモリ４６に予め格納されている。そして、データ保存用外部メモリ４６に格納されている動作パターンデータは、オブジェクトデータＤｇの次に読み出される。データ保存用外部メモリ４６から読み出されたそれぞれの動作パターンデータは、それぞれの動作パターンデータからなるパターンデータＤｌとしてメインメモリ３２に格納される。そして、動物オブジェクトに動作が設定されると、メインメモリ３２に格納されているパターンデータＤｌを構成する動作パターンデータの中から、設定された動作に対応する動作パターンデータが参照される。そして、参照された動作パターンデータに従って、制御対象の動物オブジェクトデータに含まれる制御量データで示される制御量と形状データで示される形状とが制御される。動物オブジェクトの制御は、開始されてから、動作パターンデータで示される経時変化の期間の終了タイミングまで継続される。
【０１１１】
（顔認証処理）
上側ＬＣＤ２２にそれぞれの動物オブジェクトが表示されると、次に、撮像画像Ｋｇが撮像され、撮像画像Ｋｇに基づいて生成された顔照合データＤｃを用いる顔認証処理が開始される。ただし、本実施形態では、一例として、顔認証処理を実行する前に撮像された撮像画像Ｋｇに顔が撮像されているか否かが判断される。そして、撮像画像Ｋｇに顔が撮像されていると判断された場合には、撮像されている顔の特徴点を示す顔照合データＤｃが生成され、以下に述べる顔認証処理が実行される。一方、撮像画像Ｋｇに顔が撮像されていないと判断された場合には、ユーザを特定できない。これは、撮像画像Ｋｇに顔が撮像されていない場合には、顔の特徴点を抽出できずに顔照合データＤｃを生成できないからである。このため、撮像画像Ｋｇに顔が撮像されていないと判断された場合には、以下に述べる顔認証処理および当該顔認証処理に続く登録処理は実行されず、後述する認証結果データＤｅがＮｕｌｌに更新される。そして、後述する動作制御処理の契機となる操作がユーザによって入力されたか否かを判断する処理が実行される。
【０１１２】
顔認証処理では、まず、上述したように撮像された撮像画像Ｋｇが解析され、撮像されている顔の特徴点が当該撮像画像Ｋｇから抽出される。そして、抽出された特徴点を示すデータが顔照合データＤｃとして生成される。そして、生成された顔照合データＤｃが、既に登録されている顔認証データＤｄと照合される。
【０１１３】
顔照合データＤｃが顔認証データＤｄと照合される場合には、顔照合データＤｃで示される特徴点と、顔認証データＤｄを構成するそれぞれの個人認証データで示される特徴点とが、個人認証データ毎に比較される。そして、顔照合データＤｃとそれぞれの個人認証データが比較されることにより、互いのデータで示される特徴点の類似度Ｒｄが当該個人認証データ毎に計算される。顔認証データＤｄを構成する個人認証データ毎に類似度Ｒｄが算出されると、算出された類似度Ｒｄの中から最も大きい類似度Ｒｄが選択される。そして、最も大きい類似度Ｒｄが所定の第１の類似度閾値ｔｈ１を超えている場合に、当該類似度Ｒｄの個人認証データに付与されているＩＤで示されるユーザが、現在ゲーム装置１０を使用しているユーザとして特定される。ユーザが特定されると、特定されたユーザのＩＤを示す認証結果データＤｅが生成される。
【０１１４】
なお、例えば、類似度Ｒｄが前述の第１の類似度閾値ｔｈ１を超える個人認証データがなかった場合には、ユーザが特定されなかったものとする。本実施形態では、一例として、顔認証処理においてユーザが特定されなかった場合には、特定されなかったことを、例えば、Ｎｕｌｌで示す認証結果データＤｅが生成される。
【０１１５】
ユーザのＩＤまたはＮｕｌｌを示す認証結果データＤｅが生成されると、顔認証処理が終了する。本実施形態では、一例として、顔認証処理が終了すると、続いて、登録処理が開始される。
【０１１６】
（登録処理）
以下、登録処理の一例について説明する。登録処理が開始されると、始めに、上述した顔認証処理でユーザが特定されたか否かが判断される。まず、ユーザが特定されなかったと判断された場合について説明する。
【０１１７】
ユーザが特定されなかったと判断される場合とは、具体的には、一例として上述したように認証結果データＤｅによってＮｕｌｌが示されている場合である。この場合、登録処理では、一例として、次回以降の顔認証処理において、顔照合データＤｃで示される特徴点の顔のユーザ（現在ゲーム装置１０を使用しているユーザ）が特定されるように、顔認証データＤｄおよび対面頻度データＤｆを更新する。顔認証データＤｄおよび対面頻度データＤｆを更新する場合には、まず、顔認証データＤｄを構成する個人認証データを新たに登録できるか否かが判断される。具体的には、顔認証データＤｄを構成する個人認証データの現在の数（以下、登録数Ｔｓと称する）が、上述した登録可能数Ｔｋｓと等しいか否かが判断される。
【０１１８】
個人認証データの登録数Ｔｓが登録可能数Ｔｋｓと等しい場合、新たな個人認証データを登録できるように、既に登録されている個人認証データの中から削除する個人認証データが選択される。削除する個人認証データが選択される場合には、まず、対面頻度データＤｆが参照され、当該対面頻度データＤｆによって示されるユーザの中で、削除判断期間Ｓｋ以上更新されていない対面頻度Ｔｄの中から最も小さい対面頻度Ｔｄに対応するユーザのＩＤが特定される。このようにユーザのＩＤが特定されると、特定されたＩＤが付与された個人認証データが顔認証データＤｄから削除されると共に、当該ＩＤのユーザと各動物との対面頻度Ｔｄが対面頻度データＤｆから削除される。そして、顔照合データＤｃで示される現在のユーザの顔の特徴点を示すデータが、固有のＩＤを付与されてから顔認証データＤｄを構成する個人認証データとして新たに登録されると共に、当該ＩＤで示されるユーザと各動物との対面頻度Ｔｄが対面頻度データＤｆに登録される。
【０１１９】
なお、本実施形態において、新たなユーザの個人認証データが登録されるときに、対面頻度データＤｆに登録される各動物との対面頻度Ｔｄの初期値は、一例として、後述する動物制御処理で動物オブジェクトが単に歩み寄る動作が設定されるように５０であるものとする。
【０１２０】
一方、削除判断期間Ｓｋ以上更新されていない対面頻度Ｔｄが存在しない場合には、対面頻度データＤｆによって示される対面頻度Ｔｄの中から最も低い対面頻度Ｔｄに対応するユーザのＩＤが特定される。そして、このように特定されたユーザのＩＤが付与された個人認証データが顔認証データＤｄから削除されると共に、当該ＩＤのユーザと各動物との対面頻度Ｔｄが対面頻度データＤｆから削除される。その後、顔照合データＤｃで示される特徴点を示すデータが、新たな固有のＩＤを付与されてから顔認証データＤｄを構成する個人認証データとして新たに登録されると共に、当該ＩＤと各動物との対面頻度Ｔｄが対面頻度データＤｆに登録される。
【０１２１】
本実施形態では、一例として、新たな個人認証データが登録されるときに対面頻度データＤｆに登録される対面頻度Ｔｄの初期値は、後に詳述する動作制御処理において設定される動物オブジェクトの動作を考慮して予め定めた値であれば、任意の値であってよい。例えば、新たに個人認証データが登録されたときには、当該個人認証データで示される特徴点の顔を有するユーザが、対面頻度データＤｆによって対応させられる動物と初対面であると考えられる。そして、初対面のユーザに対して、後述で明らかとなるが、動作制御処理においてそれぞれの動物を示す動物オブジェクトに対して設定される動作の一例としては、単に歩み寄る動作が挙げられる。初対面のユーザに対してそれぞれの動物オブジェクトに単に歩み寄る動作を一例として設定する場合には、対面頻度Ｔｄの初期値として、それぞれ後述する第１の対面頻度閾値ｔｈｍ１未満、且つ第２の対面頻度閾値ｔｈｍ２以上の値を予め定めるとよい。
【０１２２】
新たなユーザの個人認証データおよび対面頻度Ｔｄが登録されると、当該ユーザが特定されたと見なされ、Ｎｕｌｌを示す認証結果データＤｅが、新たに登録されたユーザのＩＤを示すデータに更新される。従って、上述で説明したように登録処理が開始されたときにユーザが特定されなかったと判断された場合でも、登録処理が完了したときの認証結果データＤｅは、上述したように撮像画像Ｋｇに顔が撮像されていなかった場合を除いて、特定されたユーザのＩＤを示すデータとなる。
【０１２３】
次に、登録処理が開始されたときに顔認証処理でユーザが特定されたと判断された場合について説明する。登録処理が開始されたときに顔認証処理でユーザが特定されたと判断される場合とは、上述の説明から明らかなように、登録処理が開始される前に登録されていた個人認証データで示される特徴点を有する顔のユーザが、ゲーム装置１０を現在使用している場合である。具体的には、登録処理を開始したときの認証結果データＤｅによってユーザのＩＤが示されている（すなわち、認証結果データＤｅがＮｕｌｌではない）ときである。本実施形態では、一例として、登録処理においてユーザが特定されたと判断された場合には、対面頻度データＤｆで示される対面頻度Ｔｄを更新するための処理が実行される。
【０１２４】
対面頻度データＤｆの更新手順は以下の通りである。まず、対面頻度データＤｆによって示されるＩＤの中で認証結果データＤｅによって示されるＩＤのユーザに対応する最終更新日時が参照される。このとき参照された最終更新日時から現在までの期間が、上述した更新期間Ｒｋ以上であれば、認証結果データＤｅによって示されるＩＤのユーザと各動物との対面頻度Ｔｄが１だけ加算されて更新される。ただし、上述したように、ユーザが直接世話をしていない状態の動物の対面頻度Ｔｄは更新されない。また、対面頻度Ｔｄが更新されるときには、更新した対面頻度Ｔｄに対応する最終更新日時も現在の日時に更新される。
【０１２５】
対面頻度データＤｆが更新されると、次に、特定されたユーザの個人認証データで示される特徴点を、現在のユーザの顔の特徴点に更新するための処理が実行される。個人認証データを更新するための処理では、まず始めに、特定されたユーザの顔照合データＤｃで示される特徴点を有する顔と、個人認証データで示される特徴点を有する顔とが酷似しているか否かが判断される。具体的には、例えば、最大値が１００として算出されるような算出手法で類似度Ｒｄが算出される場合には、前述の第１の類似度閾値ｔｈ１より大きく、且つ１００に近い値として第２の類似度閾値ｔｈ２を予め設定しておく（例えば、９７などに設定しておく）。そして、顔照合データＤｃで示される特徴点と特定されたユーザの個人認証データで示される特徴点との類似度Ｒｄが第２の類似度閾値ｔｈ２以上である場合に、それぞれのデータで示される特徴点の顔が酷似していると判断できる。酷似していると判断された場合、特定されたユーザの個人認証データで示される特徴点を、現在のユーザの顔の特徴点を示すデータ、すなわち、顔照合データＤｃで示される特徴点で更新する。このように、特定されたユーザの現在の特徴点を示す顔照合データＤｃで、個人認証データを更新することにより、例えば、成長などにより顔が変化した場合に、同一のユーザであっても特定されない場合が生じることを防げる。なお、第２の類似度閾値ｔｈ２は、現在のユーザの顔の特徴点と、当該ユーザの顔の特徴点を示すデータとして登録されている個人認証データで示される特徴点との類似度Ｒｄと比較することにより、互いの顔が酷似していると判断できる値であれば任意の値であってよい。
【０１２６】
以上が、登録処理の一例の説明である。本実施形態では、一例として、登録処理が終了すると、後述する動作制御処理の契機となる操作がユーザによって入力されたか否かが判断される。
【０１２７】
（動作制御処理）
以下、動作制御処理の契機となる操作がユーザによって入力されたか否かを判断する手法の一例について説明する。本実施形態において、動作制御処理の契機となる操作とは、動物を呼ぶための操作である。より具体的には、動物を呼ぶための操作とは、手を振るなどの動物を呼ぶときの動作の軌跡をタッチパネル１３上で描くタッチ入力およびユーザが動物を呼ぶために発する音の入力（例えば、動物の名前を呼ぶ音声の入力、口笛の音の入力および拍手の音の入力など）である。
【０１２８】
本実施形態では、一例として上述したように、マイク４３でユーザの音声（ユーザによって発せられた音も含む）が検出され、検出された音声を示す音声信号が当該マイク４３から出力される。マイク４３から出力された音声信号は、Ｉ／Ｆ回路４２によって所定の形式の音声データに変換される。従って、本実施形態では、動作制御処理の契機となる操作として、動物を呼ぶために発する音がユーザによって入力されたか否かを判断するために、一例として、ユーザが動物を呼ぶために発する音を示す音データと比較するための契機判断音データをデータ保存用外部メモリ４６に予め格納して登録するものとする。
【０１２９】
契機判断音データをデータ保存用外部メモリ４６に予め登録する手法の一例としては、契機判断音データを予め登録する場面を設ける手法が挙げられる。より詳細には、本実施形態に係る情報処理プログラムとして、図１１Ａ〜図１７を参照して後に詳述するフローチャートで示されるゲームプログラムだけではなく、契機判断音データをユーザに予め登録させるための契機判断音登録プログラムを実行する手法が一例として挙げられる。契機判断音登録プログラムを実行するタイミングは、ゲームプログラムをゲーム装置１０において始めて実行する前であれば、任意のタイミングであってよい。このように契機判断音登録プログラムを実行するようにすれば、当該プログラムを実行しているときに入力された音を示す音データを、契機判断音データとしてデータ保存用外部メモリ４６に予め格納することができる。本実施形態では、一例として、データ保存用外部メモリ４６に格納された契機判断音データは、ゲームプログラムにおける初期化処理の後にデータ保存用外部メモリ４６から読み出され、メインメモリ３２に格納されるものとする。
【０１３０】
そして、本実施形態では、一例として、動物を呼ぶための音がユーザによって入力されたか否かを判断するときには、この判断をするときに検出された音を示す音データと、メインメモリ３２に格納されている契機判断音データＤｉとが略一致するか否かが判断される。そして、契機判断音データＤｉと略一致する音データで示される音が入力されたときに、ユーザによって動物を呼ぶための音が入力されたと判断することができる。
【０１３１】
一方、動作制御処理の契機となる操作としてタッチ入力されたか否かを判断するときには、メインメモリ３２に格納されているタッチ位置データＤｋが参照される。そして、ユーザによって動物を呼ぶための音が入力されたと判断するまでに、タッチ位置データＤｋによって示される最新の履歴がタッチ位置ＴＰを示していると判断されると、さらにタッチ位置データＤｋによって示される履歴が参照され、動作制御処理の契機となる操作としてのタッチ入力の内容が判断される。そして、判断された内容が上述したように動物を呼ぶときの動作の軌跡を描く入力であると判断されたときに、動作制御処理の契機となる操作としてタッチ入力されたと判断される。
【０１３２】
動作制御処理の契機となる操作として、動物を呼ぶための操作がユーザによって入力されたと判断されると、この操作を契機として、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトの動作を、特定されたユーザに応じて制御する動作制御処理が開始される。以下、動作制御処理の一例を説明する。なお、以下の説明では、動作制御処理の一例として、上述したように上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトが、ユーザからの呼びかけに応じて近づいてくるように表示されるように動作を制御する場合について説明する。
【０１３３】
動作制御処理では、特定されたユーザにそれぞれ対応する対面頻度Ｔｄに基づいて動物オブジェクトのそれぞれの動作が設定されるので、当該動作制御処理が開始されると、ユーザが特定されたか否かが判断される。具体的には、認証結果データＤｅによってＮｕｌｌが示されているか否かが判断される。認証結果データＤｅによってＮｕｌｌが示されていない場合には、対面頻度データＤｆが参照される。ここで、認証結果データＤｅによってＮｕｌｌが示されていない場合とは、当該認証結果データＤｅによってユーザのＩＤが示されている場合である（すなわち、認証結果データＤｅがＮｕｌｌではない）。対面頻度データＤｆが参照されるときには、具体的には、対面頻度データＤｆで示される各対面頻度Ｔｄの中から、特定されたユーザのＩＤ（認証結果データＤｅで示されるＩＤ）に対応する各動物の対面頻度Ｔｄが参照される。そして、参照された各動物の対面頻度Ｔｄのそれぞれに応じて、ユーザからの呼びかけに応じて近づいて来るときの各動物を示す動物オブジェクトのそれぞれの動作が設定される。
【０１３４】
本実施形態では、一例として、動物オブジェクトの動作を設定するために、第１の対面頻度閾値ｔｈｍ１と、当該第１の対面頻度閾値ｔｈｍ１よりも小さい第２の対面頻度閾値ｔｈｍ２が予め設定されているものとする。以下では、一例として、第１の対面頻度閾値ｔｈｍ１として７０が予め設定されており、第２の対面頻度閾値ｔｈｍ２として３０が予め設定されているものとして説明を続ける。
【０１３５】
このように、それぞれ予め設定された第１の対面頻度閾値ｔｈｍ１および第２の対面頻度閾値ｔｈｍ２が、上側ＬＣＤ２２に表示されたそれぞれの動物オブジェクトで示されるそれぞれの動物の対面頻度Ｔｄと比較される。そして、対面頻度Ｔｄが、第１の対面頻度閾値ｔｈｍ１以上である対面頻度Ｔｄの動物を示す動物オブジェクトについては、対面頻度Ｔｄが相対的に高く、現在ゲーム装置１０を使用しているユーザによくなついているとして、喜んで近寄って来るようにその動作が設定される。また、対面頻度Ｔｄが、第２の対面頻度閾値ｔｈｍ２以上であり、且つ第１の対面頻度閾値ｔｈｍ１未満である対面頻度Ｔｄの動物を示す動物オブジェクトについては、対面頻度Ｔｄが、これらの閾値の間の値であって、現在ゲーム装置１０を使用しているユーザによくなついていないとして、単に歩み寄って来るようにその動作が設定される。また、対面頻度Ｔｄが、第２の対面頻度閾値ｔｈｍ２未満である動物を示す動物オブジェクトについては、現在のユーザとの対面頻度Ｔｄが相対的に低く、現在ゲーム装置１０を使用しているユーザに全くなついていないとして、警戒しながら歩み寄って来るようにその動作が設定される。そして、全ての動物オブジェクトについて近づいて来るときの動作がそれぞれ設定されると、それぞれの動物オブジェクトに設定された動作を示す動作パターンデータがそれぞれ参照される。そして、参照された動作パターンデータに基づいて、上述したようにそれぞれの動物オブジェクトの動作が制御される。
【０１３６】
一方、動作制御処理が開始されたときに、ユーザが特定されなかったと判断された場合には、ユーザに応じた動作の設定を行えない。このため、本実施形態では、ユーザが特定されなかったと判断された場合には、上側ＬＣＤ２２に表示されたそれぞれの動物オブジェクトの動作として、単に歩み寄って来る動作がそれぞれ設定されるものとする。
【０１３７】
図７Ａにおいて、上側ＬＣＤ２２には、特定されたユーザのＩＤに対応する各動物の対面頻度Ｔｄに応じて設定された動作で近づいて来る動物がそれぞれ表示されている。図７Ａには、図６に一例として示した対面頻度データＤｆにおけるＩＤ２のユーザが呼びかけたときの各動物オブジェクトの一例が示されている。図７Ａにおいて、例えば、ＩＤ２のユーザに対応する対面頻度Ｔｄの中で子犬１の対面頻度Ｔｄは、図６に一例として示すように、７０であって第１の対面頻度閾値ｔｈｍ１以上であるので、喜んで近寄って来るようにその動物オブジェクトの動作が設定され、制御されている。また、図７Ａにおいて、例えば、ＩＤ２のユーザに対応する対面頻度Ｔｄの中で子犬２の対面頻度Ｔｄは、図６に一例として示すように、５０であって第２の対面頻度閾値ｔｈｍ２以上であり、且つ第１の対面頻度閾値ｔｈｍ１未満であるので、単に歩み寄って来るようにその動物オブジェクトの動作が設定され、制御されている。また、図７Ａにおいて、例えば、ＩＤ２のユーザに対応する対面頻度Ｔｄの中で子猫１の対面頻度Ｔｄは、図６に一例として示すように、２５であって第２の対面頻度閾値ｔｈｍ２未満であるので、警戒しながら歩み寄って来るようにその動物オブジェクトの動作が設定され、制御されている。
【０１３８】
図７Ｂは、特定されたユーザのＩＤに対応する各動物の対面頻度Ｔｄに応じて、それぞれの動物を示す動物オブジェクトの動作が制御されている場面の他の一例を示す図である。図７Ｂには、図６に一例として示した対面頻度データＤｆにおけるＩＤ１のユーザが呼びかけたときのそれぞれの動物を示す動物オブジェクトの動作の一例が示されている。図７Ｂにおいて、例えば、ＩＤ１のユーザに対応する対面頻度Ｔｄは、図６に一例として示すように、全てが第１の対面頻度閾値ｔｈｍ１以上であるので、各動物が全て喜んで近寄って来るようにそれらを示す動物オブジェクトの動作がそれぞれ設定され、制御されている。
【０１３９】
このように、本実施形態では、認識されたユーザと対応する各動物の対面頻度Ｔｄに基づいて、各動物を示す動物オブジェクトをそれぞれ制御する。
【０１４０】
以上で説明したように、ユーザの呼びかけに応じて各動物オブジェクトが近づくようにそれらの動作がそれぞれ制御される。仮想空間上では、各動物オブジェクトがユーザに近づいたとする位置が予め定められている。そして、ユーザの呼びかけに応じて各動物オブジェクトの動作が制御されるときは、当該位置に移動するまでの制御が継続される。各動物オブジェクトが、ユーザに近づいたとする位置に移動すると、動作制御処理が終了され、当該動物オブジェクトのシルエットが下側ＬＣＤ１２に表示される。このように、上側ＬＣＤ２２に表示された動物オブジェクトのシルエットを下側ＬＣＤ１２に表示することにより、ユーザは下側ＬＣＤ１２に表示されているシルエットにタッチ入力することができる。つまり、上側ＬＣＤ２２に動物オブジェクトを表示し、下側ＬＣＤ１２にそのシルエットを表示してタッチ入力できるようにすることで、シルエットにタッチ入力することにより当該動物オブジェクトに直接触れているような操作感覚をユーザに与えることができる（図４参照）。
【０１４１】
そこで、本実施形態では、一例として、各動物オブジェクトがユーザに近づいて動作制御処理が終了すると、近づいてきた各動物オブジェクトと擬似的な触れあいを提供するための処理が開始される。具体的には、下側ＬＣＤ１２に表示されたシルエットにタッチ入力する或いは音（呼びかけの音或いは拍手など）を発することにより、上側ＬＣＤ２２において表示されている近づいてきた各動物オブジェクトとの擬似的に触れあうことができる処理を開始する。
【０１４２】
以下、近づいてきた各動物との擬似的な触れあいをユーザに提供するための処理の一例について説明する。本実施形態では、各動物との擬似的な触れあいをユーザに提供するための処理の一例として、撮像画像Ｋｇから検出された各パラメータに基づいて各動物を示す動物オブジェクトをそれぞれ制御する検出動作制御処理が実行される場合がある。また、本実施形態では、各動物との擬似的な触れあいをユーザに提供するための処理の一例として、ユーザによる音声の入力またはタッチ入力に応じて各動物を示す動物オブジェクトをそれぞれ制御するオブジェクト操作処理が実行される場合もある。以下では、検出動作制御処理およびオブジェクト操作処理が、ユーザによる音の入力およびタッチ入力のいずれか一方のオブジェクト操作入力が検出されたか否かに応じて選択的に実行される場合を一例として説明する。
【０１４３】
なお、後述の説明で明らかとなるが、検出動作制御処理およびオブジェクト操作処理のいずれかが選択的に実行される場合には、上記オブジェクト操作入力が検出されなかった場合に、上記検出動作制御処理が選択され、実行されることになる。従って、本実施形態では、一例として、動作制御処理が終了した後、上記オブジェクト操作入力が検出されない場合に予め備えて、撮像画像Ｋｇを内側撮像部２４を用いて撮像し、撮像した撮像画像Ｋｇに基づいて顔検出データＤｂを更新する処理が実行される。
【０１４４】
以下、本実施形態において顔検出データＤｂを更新する処理の一例について説明する。本実施形態では、一例として、上述した動作制御処理が終了すると、顔検出データＤｂを更新するために、撮像画像Ｋｇが撮像される。そして、撮像された撮像画像Ｋｇに顔が撮像されている場合に、当該撮像画像Ｋｇに基づいて検出された各パラメータで顔検出データＤｂが更新される。図８は、本実施形態において撮像画像Ｋｇから検出される各パラメータの一例を示す図である。本実施形態では、一例として、撮像画像Ｋｇから検出される各パラメータとして、両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉがそれぞれ検出される。
【０１４５】
両目の間隔Ｋｏは、一例として図８に示すように検出される。ここで、両目の間隔Ｋｏは、撮像画像Ｋｇにおける顔の大きさに比例すると考えられる。また、撮像画像Ｋｇにおける顔の大きさは、ユーザの顔とゲーム装置１０（内側撮像部２４）の距離に比例すると考えられる。従って、本実施形態では、ユーザがどの程度ゲーム装置１０（内側撮像部２４）に顔を近づけたかを知るための指標として両目の間隔Ｋｏを検出する。また、顔の傾きＫｋは、一例として図８に示すように、両目の間隔Ｋｏに平行な直線が、撮像画像Ｋｇの横方向の軸に対して傾いている角度として検出される。本実施形態において、顔の傾きＫｋの符号は、一例として、撮像画像Ｋｇにおいて反時計回りの回転方向を正とする。また、顔の位置Ｋｉは、一例として図８に示すように、撮像画像Ｋｇにおける顔の中心位置として検出される。
【０１４６】
一方、撮像された撮像画像Ｋｇに顔が撮像されていない場合には、上述した各パラメータを検出できない。検出動作制御処理では、上述した各パラメータを用いて処理をするので、撮像画像Ｋｇに顔が撮像されていない場合には、オブジェクト操作処理が自動的に選択されて実行される。
【０１４７】
以上で説明したように、撮像された撮像画像Ｋｇからそれぞれ検出された両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉが、顔検出データＤｂによって示される各パラメータとして検出され、これらのパラメータで当該顔検出データＤｂが更新される。
【０１４８】
このように、顔検出データＤｂが更新されると、ユーザによって前述のオブジェクト操作入力が行われたか否かの判断結果に応じて、上述した検出動作制御処理およびオブジェクト操作処理のいずれかが選択的に実行される。
【０１４９】
（検出動作制御処理）
まず始めに、検出動作制御処理の一例について説明する。本実施形態では、一例として、顔検出データＤｂが更新されると、ユーザによるオブジェクト操作入力が検出されたか否かが判断される。そして、ユーザによるオブジェクト操作入力が検出されていないと判断されると、検出動作制御処理が選択され実行される。
【０１５０】
検出動作制御処理が開始されると、上述したように更新された顔検出データＤｂが参照される。本実施形態では、一例として、顔検出データＤｂによって示される各パラメータの内、両目の間隔Ｋｏおよび顔の傾きＫｋに対してそれぞれ閾値が予め設定されるものとする。具体的には、両目の間隔Ｋｏに対しては間隔閾値ｔｈｏが予め設定され、顔の傾きＫｋに対しては傾き閾値ｔｈｋが予め設定されるものとする。
【０１５１】
検出動作制御処理では、一例として、始めに顔検出データＤｂによって示される両目の間隔Ｋｏと間隔閾値ｔｈｏとが比較される。そして、両目の間隔Ｋｏが間隔閾値ｔｈｏ以上である場合には、ユーザがゲーム装置１０に顔を近づけていると考えられる。従って、両目の間隔Ｋｏが間隔閾値ｔｈｏ以上である場合には、図９Ａに一例として示すように、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトが近づけたユーザの顔を舐める仕草をする動作が設定される。
【０１５２】
また、両目の間隔Ｋｏが間隔閾値ｔｈｏ以上でない場合、本実施形態では、一例として、顔検出データＤｂによって示される顔の傾きＫｋと傾き閾値ｔｈｋとが比較される。そして、顔の傾きＫｋが傾き閾値ｔｈｋ以上である場合、図９Ｂに一例として示すように、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトが顔の傾きＫｋで示される角度だけ顔を傾ける動作が設定される。
【０１５３】
また、顔の傾きＫｋが傾き閾値ｔｈｋ以上でない場合、本実施形態では、一例として、顔検出データＤｂによって示される顔の位置Ｋｉが参照される。そして、図９Ｃに一例として示すように、参照された顔の位置Ｋｉに基づいて、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトがユーザに顔を向ける動作が設定される。
【０１５４】
本実施形態では、一例として、検出動作制御処理において上側ＬＣＤ２２に表示されている動物の制御が設定されると、それぞれに設定された動作に対応する動作パターンに従ってそれぞれの動物オブジェクトが上述したように制御される。
【０１５５】
（オブジェクト操作処理）
次に、オブジェクト操作処理の一例について説明する。本実施形態では、一例として、上述した動作制御処理が終了した後、顔検出データＤｂが更新されると、ユーザによる前述のオブジェクト操作入力が検出されたか否かが判断される。そして、ユーザによるオブジェクト操作入力が検出されたと判断された場合には、検出されたオブジェクト操作入力を契機としてオブジェクト操作処理が開始される。
【０１５６】
オブジェクト操作処理が開始されると、まず、当該オブジェクト操作処理の契機となったオブジェクト操作入力として音の入力が検出されたか否かが判断される。オブジェクト操作処理の契機となったオブジェクト操作入力として音の入力が検出されたか否かが判断される場合には、例えば、オブジェクト操作入力が検出されたときにマイク４３から出力される音声信号で示される音量が所定の音量閾値以上であったか否かが判断される。そして、マイク４３から出力される音声信号で示される音量が、音量閾値以上であったときにオブジェクト操作入力として音の入力が検出されたと判断される。
【０１５７】
また、本実施形態では、一例として、オブジェクト操作処理の契機となる音として、それぞれの動物オブジェクトで示される動物に対する１種類以上の命令を示す音声、口笛および拍手を想定するものとする。そして、オブジェクト操作入力として音の入力が検出されたと判断された場合には、検出された音の内容が判断される。
【０１５８】
本実施形態では、音の内容を判断するために、一例として、動物に対するユーザによる命令の音声、口笛および拍手を示す音データと比較するための音判断データをメインメモリ３２に格納して登録するものとする。
【０１５９】
音判断データをデータ保存用外部メモリ４６およびメインメモリ３２に登録する手法の一例としては、音判断データを予め登録する場面を設ける手法が挙げられる。より詳細には、本実施形態に係る情報処理プログラムとして、図１１Ａ〜図１７を参照して後に詳述するフローチャートで示されるゲームプログラムだけではなく、音判断データをユーザに予め登録させるための音登録プログラムを実行する手法が一例として挙げられる。音登録プログラムは、オブジェクト操作入力として音の入力が検出されたと判断されたときに、所定の確率で実行され、当該音を登録するようにしてもよい。このように音登録プログラムを実行するようにすれば、ユーザに近づいてきている状態で、ユーザが発した命令、口笛および拍手を示す音データを、音判断データとしてメインメモリ３２に格納することができる。
【０１６０】
本実施形態では、一例として、音判断データがメインメモリ３２に格納されるときには、それぞれの音を示す音判断データが、音判断集合データＤｊを構成する音判断データとして格納される。また、本実施形態では、一例として、メインメモリ３２に格納された音判断集合データＤｊを構成するそれぞれの音判断データは、ゲームプログラムの終了と共にデータ保存用外部メモリ４６に格納される。また、本実施形態では、一例として、データ保存用外部メモリ４６に格納されたそれぞれの音判断データは、ゲームプログラムにおける初期化処理の後に読み出され、音判断集合データＤｊを構成する音判断データとしてメインメモリ３２に格納される。
【０１６１】
そして、音の内容が判断されるときには、オブジェクト操作処理の契機となった音を示す音データが、メインメモリ３２に格納されている音判断集合データＤｊを構成するそれぞれの音判断データと照合される。そして、メインメモリ３２に格納されている各音判断データの中に、オブジェクト操作処理の契機となった音を示す音データと略一致する音判断データが存在する場合に、当該音判断データで示される内容の音がユーザから発せられたと判断される。一方、メインメモリ３２に格納されている音判断データの中に、オブジェクト操作処理の契機となった音を示す音データと略一致する音判断データが存在しない場合には、動物が音の内容を理解できなかったものと判断される。
【０１６２】
そして、ユーザから登録されている音が発せられたと判断された場合、上側ＬＣＤ２２に表示されている動物を示す動物オブジェクトの動作として、判断された音の内容に応じた動作が設定される。一方、動物が音の内容を理解できなかったと判断された場合、上側ＬＣＤ２２に表示されている動物を示す動物オブジェクトの動作として、音の内容を理解できなくて困る仕草が設定される。
【０１６３】
一方、オブジェクト操作処理の契機となったオブジェクト操作入力として音が入力されていないと判断された場合、オブジェクト操作入力としてタッチ入力が検出されたか否かが判断される。タッチ入力が検出されたか否かが判断されるときには、メインメモリ３２に格納されているタッチ位置データＤｋが参照される。そして、参照されたタッチ位置データＤｋによって最新の履歴としてタッチ位置ＴＰが示されていれば、タッチ入力が検出されたと判断される。タッチ入力が検出されたと判断されると、さらにタッチ位置データＤｋによって示される履歴が参照され、オブジェクト操作入力として検出されたタッチ入力の内容が判断される。そして、判断された内容に基づいて、上側ＬＣＤ２２に表示されているいずれか１匹の動物の動作が設定される。例えば、タッチ位置データＤｋによって示されるタッチ位置の履歴に基づいて、タッチ入力の内容が下側ＬＣＤ１２におけるシルエットの表示領域内を往復するスライド入力であると判断された場合には、動物を撫でる動作の軌跡が描かれたと判断し、動物オブジェクトの動作として、撫でられて喜ぶ動作が設定される。また、例えば、タッチ位置データＤｋによって示されるタッチ位置の履歴に基づいて、タッチ入力の内容が下側ＬＣＤ１２の下方向へのタッチパネル１３に対するスライド入力であると判断された場合には、伏せの合図の動作の軌跡が描かれたと判断し、動物オブジェクトの動作として伏せる動作が設定される。
【０１６４】
また、オブジェクト操作処理の契機となったオブジェクト操作入力として、音の入力およびタッチ入力のいずれも検出されなかった場合には、いずれの動作も設定されない。
【０１６５】
そして、判断された命令に応じた動作が全ての動物オブジェクトについてそれぞれ設定される、または、タッチ入力の内容に応じた動作がいずれかの動物に設定されると、動作が設定された動物オブジェクトの動作が上述したように制御される。
【０１６６】
次に、ゲーム装置１０で行われる処理を説明する前に、図１０を参照して、情報処理プログラムを実行する際に用いられる各種データについて説明する。図１０において、メインメモリ３２には、データ保存用内部メモリ３５、外部メモリ４５およびデータ保存用外部メモリ４６などから読み出されたプログラムや処理において生成される一時的なデータが記憶される。
【０１６７】
図１０において、メインメモリ３２には、撮像画像データＤａ、顔検出データＤｂ、顔照合データＤｃ、顔認証データＤｄ、認証結果データＤｅ、対面頻度データＤｆなどが記憶される。また、図１０において、メインメモリ３２のプログラム記憶領域には、情報処理プログラム等で構成される各種プログラム群Ｐａが記憶される。
【０１６８】
撮像画像データＤａは、上述したように内側撮像部２４で撮像される撮像画像Ｋｇを示すデータである。
【０１６９】
顔検出データＤｂは、上述したように撮像画像Ｋｇに撮像された両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉをそれぞれ示すデータである。
【０１７０】
顔照合データＤｃは、上述したように、現在ゲーム装置１０を使用しているユーザの顔を撮像した撮像画像Ｋｇから抽出した特徴点を示すデータである。
【０１７１】
顔認証データＤｄとは、上記ゲームプログラムを実行するゲーム装置１０の現在までの使用者それぞれの顔の特徴点を示す個人認証データに固有のＩＤを付与したデータの集合体である。本実施形態では、一例として、顔認証データＤｄは、データ保存用外部メモリ４６に記憶されており、上記ゲームプログラムが開始されたときに読み出されてメインメモリ３２に格納される。
【０１７２】
認証結果データＤｅとは、上述したように、顔認証データＤｄを構成する各個人認証データにそれぞれ付与されているＩＤの中から、現在ゲーム装置１０を使用しているユーザが特定された場合に、当該ユーザのＩＤを示すデータとなる。なお、現在ゲーム装置１０を使用しているユーザが特定されなかった場合には、上述したようにＮｕｌｌを示すデータとなる。
【０１７３】
対面頻度データＤｆとは、図６に一例として示して説明したように、ゲーム装置１０を現在までに使用した１以上のユーザそれぞれと、１以上の動物との対面頻度Ｔｄを対応させて示すデータである。対面頻度データＤｆは、データ保存用外部メモリ４６に格納されている。対面頻度データＤｆは、情報処理プログラムが実行されるとデータ保存用外部メモリ４６から読み出され、メインメモリ３２に格納される。
【０１７４】
オブジェクトデータＤｇとは、上述したように対面頻度データＤｆによって示される動物の動物オブジェクトデータの集合体である。また、オブジェクトデータＤｇを構成するそれぞれの動物オブジェクトデータは、上述した制御量データと形状データとを含む。
【０１７５】
動作制御済みフラグデータＤｈは、後述するように動作制御処理が実行されたか否かを示すデータである。動作制御済みフラグデータＤｈは、動作制御処理が実行済みであることをオンで示し、動作制御処理が実行されていないことをオフで示すデータである。
【０１７６】
契機判断音データＤｉとは、上述したように、動作制御処理の契機となる音として、動物を呼ぶための音がユーザによって入力されたか否かを判断するときに参照される音データである。
【０１７７】
音判断集合データＤｊは、上述したように、オブジェクト操作処理の契機となる音の内容を判断するときに参照される音判断データの集合体である。
【０１７８】
タッチ位置データＤｋは、上述したようにタッチパネル制御回路によって生成されるデータである。タッチ位置データＤｋは、タッチパネル１３の入力面において入力が行われた位置（タッチ位置）の座標を示す。また、本実施形態のタッチ位置データＤｋは、例えば、少なくとも直前の所定回数（例えば５回）における処理で取得されたタッチ位置ＴＰまたはＮｕｌｌのいずれかを示す履歴を含む。この履歴に基づいて、上述したように、オブジェクト操作処理においてタッチ入力の内容が判断される。
【０１７９】
パターンデータＤｌは、上述したように、動物オブジェクトが設定された動作をしているように表示されるように、動物オブジェクトデータに含まれる制御量データで制御量としてそれぞれ示される基準位置、各関節の位置および各関節の回転角度のそれぞれの経時変化を示すように予め定められた動作パターンデータからなる。パターンデータＤｌは、上記ゲームプログラムにおいて設定され得る種々の動作に対応する全ての動作パターンデータの集合体である。
【０１８０】
次に、図１１Ａ〜図１７を参照して、ゲーム装置１０で実行される情報処理プログラムによる具体的な処理について説明する。なお、図１１Ａ〜図１１Ｂは、本実施形態に係る情報処理プログラムを実行することによってゲーム装置１０が情報処理を行う一例を示すフローチャートである。図１２は、図１１Ａのステップ１０１で実行される初期設定処理の詳細を示すサブルーチンである。図１３は、図１１Ａのステップ１０７の顔認証処理の詳細を示すサブルーチンである。図１４は、図１１Ａのステップ１０８の登録処理の詳細を示すサブルーチンである。図１５は、図１１Ｂのステップ１１１の動作制御処理の詳細を示すサブルーチンである。図１６は、図１１Ｂのステップ１１８の検出動作制御処理の詳細を示すサブルーチンである。図１７は、図１１Ｂのステップ１１９のオブジェクト操作処理の詳細を示すサブルーチンである。なお、図１１Ａ〜図１７においては、ステップを「Ｓ」と略称している。
【０１８１】
なお、これらの処理を実行するためのプログラムは、データ保存用内部メモリ３５に格納されたプログラムに含まれており、ゲーム装置１０の電源がオンになったときに、データ保存用内部メモリ３５からメインメモリ３２に読み出されて、ＣＰＵ３１１によって実行される。本実施形態では、一例として、当該情報処理プログラムは予めデータ保存用内部メモリ３５に記憶されているものとしたが、当該プログラムは、インターネット等を介してゲーム装置１０にダウンロードするようにしてもよい。また、外部メモリ４５やデータ保存用外部メモリ４６に格納されたプログラムから読み出して実行するようにしてもよい。
【０１８２】
まず、ゲーム装置１０の電源（電源ボタン１４Ｆ）がＯＮされると、ＣＰＵ３１１によってブートプログラム（図示せず）が実行され、これによりデータ保存用内部メモリ３５に格納されている、複数のアプリケーションプログラムを選択的に実行させるプログラムであるランチャープログラムがメインメモリ３２にロードされＣＰＵ３１１で実行される。その後、ランチャープログラム上で情報処理アプリケーションを選択して実行することにより、情報処理プログラムがメインメモリ３２にロードされる。そして、当該ロードされた情報処理プログラムがＣＰＵ３１１で実行される。
【０１８３】
図１１Ａにおいて、ＣＰＵ３１１は、ゲームプログラムの実行に必要なデータを初期化する初期化処理を実行する（ステップ１０１）。以下、図１２を参照して、上記ステップ１０１で行う初期化処理の詳細を説明する。
【０１８４】
図１２において、ＣＰＵ３１１は、まず、顔検出データＤｂを初期化する（ステップ２０１）。より具体的には、ＣＰＵ３１１は、上述したように顔検出データＤｂでそれぞれ示される両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉをそれぞれゼロに設定して初期化する。
【０１８５】
ＣＰＵ３１１は、顔検出データＤｂの初期化を完了すると、次に顔照合データＤｃを初期化する（ステップ２０２）。より具体的には、ＣＰＵ３１１は、上述したように顔照合データＤｃで示される顔の特徴点を示すデータを例えばＮｕｌｌなどの何も示さないデータに設定して初期化する。
【０１８６】
ＣＰＵ３１１は、顔照合データＤｃの初期化を完了すると、次に認証結果データＤｅを初期化する（ステップ２０３）。より具体的には、ＣＰＵ３１１は、認証結果データＤｅで示されるＩＤを例えばＮｕｌｌなどの何も示さないデータに設定して初期化する。
【０１８７】
ＣＰＵ３１１は、認証結果データＤｅの初期化を完了すると、初期化処理のサブルーチンによる処理を終了する。
【０１８８】
図１１Ａに戻り、ＣＰＵ３１１は、上記ステップ１０１の処理の後、データ保存用外部メモリ４６からゲームプログラムの処理に必要なデータを読み出して、メインメモリ３２に格納する（ステップ１０２）。より具体的には、まず、ＣＰＵ３１１は、データ保存用外部メモリ４６から対面頻度データＤｆを読み出して、メインメモリ３２に格納する。対面頻度データＤｆを読み出すと、ＣＰＵ３１１は、データ保存用外部メモリ４６から固有のＩＤが付与された各個人認証データを読み出して、読み出した個人認証データからなる顔認証データＤｄをメインメモリ３２に格納する。顔認証データＤｄをメインメモリ３２に格納すると、ＣＰＵ３１１は、読み出した対面頻度データＤｆによって示される動物を示す動物オブジェクトデータを、データ保存用外部メモリ４６に格納されている各動物オブジェクトデータの中から選択して読み出し、読み出した各動物オブジェクトデータからなるオブジェクトデータＤｇとしてメインメモリ３２に格納する。オブジェクトデータＤｇを格納すると、ＣＰＵ３１１は、データ保存用外部メモリ４６に格納されている種々の動作パターンデータを読み出し、読み出した動作パターンデータからなるパターンデータＤｌをメインメモリ３２に格納する。パターンデータＤｌをメインメモリ３２に格納すると、ＣＰＵ３１１は、データ保存用外部メモリ４６に格納されている契機判断音データＤｉを読み出して、メインメモリ３２に格納する。契機判断音データＤｉを読み出すと、ＣＰＵ３１１は、オブジェクト操作入力として入力された音の内容を判断するための音判断データをデータ保存用外部メモリ４６から読み出して、読み出した音判断データからなる音判断集合データＤｊをメインメモリ３２に格納する。
【０１８９】
音判断集合データＤｊをメインメモリ３２に格納すると、ＣＰＵ３１１は、メインメモリ３２に格納したオブジェクトデータＤｇを構成するそれぞれの動物オブジェクトデータで示される動物オブジェクトを、上述したように上側ＬＣＤ２２に表示する（ステップ１０３）。なお、ステップ１０３で読み出される動物オブジェクトデータは、対面頻度データＤｆで示される動物の中で上述したようにユーザが直接世話をしていない状態の動物を除く動物を示す動物オブジェクトデータである。
【０１９０】
上側ＬＣＤ２２に動物を表示すると、ＣＰＵ３１１は、内側撮像部２４に撮像画像Ｋｇの撮像を指示し、この指示に応じて内側撮像部２４から出力される撮像画像Ｋｇを示す撮像画像データＤａをメインメモリ３２に格納する（ステップ１０４）。ＣＰＵ３１１は、撮像画像データＤａをメインメモリ３２に格納すると、メインメモリ３２に格納した撮像画像データＤａで示される撮像画像Ｋｇを解析し、顔が撮像されているか否かを判断する（ステップ１０５）。ＣＰＵ３１１は、顔が撮像されていると判断した場合（ステップ１０５でＹｅｓ）、撮像画像Ｋｇに撮像されている顔の特徴点を抽出し、抽出した特徴点を示す顔照合データＤｃを生成する（ステップ１０６）。
【０１９１】
ＣＰＵ３１１は、顔照合データＤｃを生成すると、生成した顔照合データＤｃを用いてユーザを特定する顔認証処理（ステップ１０７）を実行する。以下、図１３を参照して、上記ステップ１０７で行う顔認証処理の詳細を説明する。
【０１９２】
図１３において、ＣＰＵ３１１は、まず、メインメモリ３２に格納されている顔認証データＤｄを構成する個人認証データが登録されているか否かを判断する（ステップ３０１）。具体的には、ＣＰＵ３１１は、顔認証データＤｄを構成する個人認証データの数が１以上であるか否かを判断する。ＣＰＵ３１１は、顔認証データＤｄを構成する個人認証データの数が１以上である場合、個人認証データが登録されていると判断する。一方、ＣＰＵ３１１は、顔認証データＤｄを構成する個人認証データの数が１以上でない場合、個人認証データが登録されていないと判断する。
【０１９３】
個人認証データが登録されていると判断したとき（ステップ３０１でＹｅｓ）、ＣＰＵ３１１は、顔照合データＤｃで示される特徴点と、顔認証データＤｄを構成するそれぞれの個人認証データで示される特徴点とをそれぞれ比較して、個人認証データ毎に類似度Ｒｄを算出する。類似度Ｒｄを算出すると、ＣＰＵ３１１は、算出した類似度Ｒｄの中で最も高い類似度Ｒｄの個人認証データに付与されているＩＤを選択する（ステップ３０２）。次に、ＣＰＵ３１１は、選択したＩＤの類似度Ｒｄが、所定の第１の類似度閾値ｔｈ１以上であるか否かを判断する（ステップ３０３）。ＣＰＵ３１１は、選択したＩＤの類似度Ｒｄが、所定の第１の類似度閾値ｔｈ１以上であると判断すると（ステップ３０３：Ｙｅｓ）、選択したＩＤのユーザとしてユーザが特定されたものとして、メインメモリ３２に格納されている認証結果データＤｅを選択したＩＤを示す認証結果データＤｅに更新する（ステップ３０４）。
【０１９４】
一方、ＣＰＵ３１１は、個人認証データが登録されていないと判断したとき（ステップ３０１でＮｏ）または選択したＩＤの類似度Ｒｄが第１の類似度閾値ｔｈ１以上でないと判断したとき（ステップ３０３でＮｏ）、メインメモリ３２に格納されている認証結果データＤｅを、Ｎｕｌｌを示す認証結果データＤｅに更新する（ステップ３０５）。
【０１９５】
ＣＰＵ３１１は、認証結果データＤｅの更新を完了すると、顔認証処理のサブルーチンによる処理を終了する。
【０１９６】
図１１Ａに戻り、ＣＰＵ３１１は、上記ステップ１０７の処理の後、更新した認証結果データＤｅを用いた登録処理（ステップ１０８）を実行する。以下、図１４を参照して、上記ステップ１０８で行う登録処理の詳細を説明する。
【０１９７】
図１４において、ＣＰＵ３１１は、まず、上記顔認証処理においてユーザが特定されたか否かを判断する（ステップ４０１）。より具体的には、ＣＰＵ３１１は、メインメモリ３２に格納されている認証結果データＤｅによってＮｕｌｌが示されているか否かを判断する。ＣＰＵ３１１は、認証結果データＤｅによってＮｕｌｌが示されていない場合、ユーザが特定されたと判断する（ステップ４０１でＹｅｓ）。一方、ＣＰＵ３１１は、認証結果データＤｅによってＮｕｌｌが示されている場合、ユーザが特定されていないと判断する（ステップ４０１でＮｏ）。
【０１９８】
ＣＰＵ３１１は、ユーザが特定されていないと判断すると（ステップ４０１でＮｏ）、当該ユーザを今後特定できるようにするために、個人認証データを新たに登録することが可能か否かを判断する（ステップ４０２）。より具体的には、ＣＰＵ３１１は、メインメモリ３２に格納されている顔認証データＤｄを参照して個人認証データの登録数Ｔｓを認識し、認識した登録数Ｔｓが登録可能数Ｔｋｓと等しいか否かを判断する。ＣＰＵ３１１は、登録数Ｔｓが登録可能数Ｔｋｓと等しくない場合、個人認証データを登録することが可能であると判断する（ステップ４０２でＹｅｓ）。一方、ＣＰＵ３１１は、登録数Ｔｓが登録可能数Ｔｋｓと等しい場合、個人認証データを登録することが可能でないと判断する（ステップ４０２でＮｏ）。
【０１９９】
ＣＰＵ３１１は、個人認証データを登録することが可能でないと判断すると（ステップ４０２でＮｏ）、対面頻度データＤｆを参照して、削除判断期間Ｓｋ以上動物と対面していないユーザが存在するか否かを判断する（ステップ４０３）。より具体的には、ＣＰＵ３１１は、メインメモリ３２に格納されている対面頻度データＤｆを参照し、現在までの期間が削除判断期間Ｓｋ以上となる最終更新日時に対応するユーザのＩＤを特定する。ＣＰＵ３１１は、現在までの期間が削除判断期間Ｓｋ以上となる最終更新日時に対応するユーザのＩＤを特定できた場合、削除判断期間Ｓｋ以上動物と対面していないユーザが存在すると判断する（ステップ４０３でＹｅｓ）。一方、ＣＰＵ３１１は、現在までの期間が削除判断期間Ｓｋ以上となる最終更新日時に対応するユーザのＩＤを特定できなかった場合、削除判断期間Ｓｋ以上動物と対面していないユーザが存在しないと判断する（ステップ４０３でＮｏ）。
【０２００】
ＣＰＵ３１１は、削除判断期間Ｓｋ以上動物と対面していないユーザが存在すると判断した場合（ステップ４０３でＹｅｓ）、該当するそれぞれのユーザの対面頻度Ｔｄを参照する（ステップ４０４）。そして、ＣＰＵ３１１は、参照した対面頻度Ｔｄの中で最も小さい対面頻度Ｔｄに対応するユーザを判断して、判断したユーザに関する全てのデータを削除する（ステップ４０５）。
【０２０１】
一方、ＣＰＵ３１１は、削除判断期間Ｓｋ以上動物と対面していないユーザが存在しないと判断したとき（ステップ４０３でＮｏ）、メインメモリ３２に格納されている対面頻度データＤｆを参照し、最も小さい対面頻度Ｔｄに対応するユーザを判断して、判断したユーザに関する全てのデータを削除する（ステップ４０６）。
【０２０２】
なお、ステップ４０５またはステップ４０６で削除されるデータとは、判断したユーザの対面頻度データＤｆにおける全てのデータと、判断したユーザの顔認証データＤｄにおける全てのデータである。
【０２０３】
ステップ４０５またはステップ４０６でデータを削除すると、ＣＰＵ３１１は、メインメモリ３２に格納されている顔照合データＤｃで示される特徴点を示すデータを個人認証データとして生成し、固有のＩＤを付与して顔認証データＤｄを構成する個人認証データとして新たに登録する（ステップ４０７）。
【０２０４】
新たな個人認証データを登録すると、ＣＰＵ３１１は、登録した個人認証データに付与したＩＤを示すデータとしてメインメモリ３２に格納されている認証結果データＤｅを更新する（ステップ４０８）。
【０２０５】
一方、ＣＰＵ３１１は、上記顔認証処理においてユーザが特定されたと判断すると（ステップ４０１でＹｅｓ）、特定されたユーザの対面頻度Ｔｄが更新期間Ｒｋ以内に更新されているか否かが判断される（ステップ４０９）。より具体的には、ＣＰＵ３１１は、メインメモリ３２に格納されている対面頻度データＤｆを参照し、認証結果データＤｅによって示されるＩＤに対応する最終更新日時から現在までの期間が、更新期間Ｒｋ以上か否かを判断する。ＣＰＵ３１１は、認証結果データＤｅによって示されるＩＤに対応する最終更新日時から現在までの期間が、更新期間Ｒｋ以上でない場合、特定されたユーザの対面頻度Ｔｄが更新期間Ｒｋ以内に更新されていると判断する（ステップ４０９でＹｅｓ）。一方、ＣＰＵ３１１は、認証結果データＤｅによって示されるＩＤに対応する最終更新日時から現在までの期間が、更新期間Ｒｋ以上である場合、特定されたユーザの対面頻度Ｔｄが更新期間Ｒｋ以内に更新されていないと判断する（ステップ４０９でＮｏ）。
【０２０６】
ＣＰＵ３１１は、特定されたユーザの対面頻度Ｔｄが更新期間Ｒｋ以内に更新されていないと判断すると（ステップ４０９でＮｏ）、メインメモリ３２に格納されている対面頻度データＤｆにおいて当該ユーザのＩＤに対応するそれぞれの対面頻度Ｔｄを１だけ加算して更新する（ステップ４１０）。ただし、ＣＰＵ３１１は、対面頻度データＤｆにおいて上述したようにユーザが直接世話をしていない状態とされる動物に対応する対面頻度Ｔｄは更新しない。ＣＰＵ３１１は、特定されたユーザの対面頻度Ｔｄを更新すると、対面頻度データＤｆにおいて、当該ユーザのＩＤに対応する最終更新日時を現在の日時に更新する（ステップ４１１）。
【０２０７】
ＣＰＵ３１１は、特定されたユーザの対面頻度Ｔｄが更新期間Ｒｋ以内に更新されていると判断する（ステップ４０９でＹｅｓ）または最終更新日時を更新すると（ステップ４１１）、特定されたユーザの個人認証データを更新するか否かを判断する（ステップ４１２）。より具体的には、ＣＰＵ３１１は、特定されたユーザのＩＤに対応する個人認証データについてステップ３０２で算出した類似度Ｒｄが、第２の類似度閾値ｔｈ２以上であるか否かを判断する（ステップ４１２）。ＣＰＵ３１１は、類似度Ｒｄが第２の類似度閾値ｔｈ２以上である場合、特定されたユーザの個人認証データを更新すると判断する（ステップ４１２でＹｅｓ）。一方、ＣＰＵ３１１は、類似度Ｒｄが第２の類似度閾値ｔｈ２以上でない場合、特定されたユーザの個人認証データを更新しないと判断する（ステップ４１２でＮｏ）。
【０２０８】
ＣＰＵ３１１は、特定されたユーザの個人認証データを更新すると判断すると（ステップ４１２でＹｅｓ）、メインメモリ３２に格納されている顔照合データＤｃで示される特徴点を示すように、顔認証データＤｄを構成する当該ユーザの個人認証データを更新する（ステップ４１３）。
【０２０９】
新たに登録した個人認証データに付与したＩＤを示すように認証結果データＤｅを更新する（ステップ４０８）、個人認証データを更新する（ステップ４１３）または特定されたユーザの個人認証データを更新しないと判断する（ステップ４１２でＮｏ）と、ＣＰＵ３１１は、登録処理のサブルーチンによる処理を終了する。
【０２１０】
図１１Ａに戻って、ＣＰＵ３１１は、顔が撮像されていないと判断した場合（ステップ１０５でＮｏ）、認証結果データＤｅをＮｕｌｌに更新する（ステップ１０９）。そして、ＣＰＵ３１１は、認証結果データＤｅをＮｕｌｌに更新するまたは登録処理を終了すると、図１１Ｂにおいて、上述したように動物を呼ぶための操作がユーザによって入力されたか否かを判断する（ステップ１１０）。具体的には、ＣＰＵ３１１は、上述したようにユーザが音を入力したときの音データと、メインメモリ３２に格納されている契機判断音データＤｉとが略一致するか否かを判断する。ＣＰＵ３１１は、ユーザが音を入力したときの音データと、契機判断音データＤｉとが略一致する場合、動物を呼ぶための音がユーザによって入力されたと判断する（ステップ１１０でＹｅｓ）。また、ＣＰＵ３１１は、上述したように、動物を呼ぶための音が入力されたと判断するまでに、動物を呼ぶための動作の軌跡が描かれたと判断したときにも、動物を呼ぶための操作がユーザによって入力されたと判断する(ステップ１１０でＹｅｓ)。一方、ＣＰＵ３１１は、ユーザが音を入力したときの音データと、契機判断音データＤｉとが略一致しない場合、動物を呼ぶための操作がユーザによって入力されていないと判断する（ステップ１１０でＮｏ）。また、ＣＰＵ３１１は、動物を呼ぶための動作の軌跡が描かれていないと判断したときにも動物を呼ぶための操作がユーザによって入力されていないと判断する（ステップ１１０でＮｏ）。
【０２１１】
ＣＰＵ３１１は、動物を呼ぶための操作がユーザによって入力されたと判断した場合（ステップ１１０でＹｅｓ）、上側ＬＣＤ２２に表示されている動物のそれぞれが呼びかけに応じて近づいてくるときの動作を設定して制御する動作制御処理を実行する（ステップ１１１）。以下、図１５を参照して、上記ステップ１１１で行う動作制御処理の詳細を説明する。
【０２１２】
図１５において、ＣＰＵ３１１は、まず、ユーザが特定されているか否かを判断する（ステップ５０１）。具体的には、ＣＰＵ３１１は、認証結果データＤｅによってＮｕｌｌが示されているか否かを判断する。ＣＰＵ３１１は、認証結果データＤｅによってＮｕｌｌが示されていない場合、ユーザが特定されていると判断し（ステップ５０１でＹｅｓ）、動作制御処理のために用いる変数Ｎを１に初期化する（ステップ５０２）。変数Ｎを１に初期化すると、ＣＰＵ３１１は、メインメモリ３２に格納されている対面頻度データＤｆを参照して、認証結果データＤｅで示されるＩＤに対応する対面頻度Ｔｄの中でＮ番目（図６に示す一例において上からＮ番目）の動物との対面頻度Ｔｄを参照する（ステップ５０３）。ＣＰＵ３１１は、ステップ５０３において参照した対面頻度Ｔｄが第１の対面頻度閾値ｔｈｍ１以上であるか否かを判断する（ステップ５０４）。
【０２１３】
ＣＰＵ３１１は、ステップ５０３において参照した対面頻度Ｔｄが第１の対面頻度閾値ｔｈｍ１以上であると判断した場合（ステップ５０４でＹｅｓ）、Ｎ番目の動物がよくなついているとして、喜んで近寄る動作を当該動物に設定する（ステップ５０５）。一方、ＣＰＵ３１１は、ステップ５０３において参照した対面頻度Ｔｄが第１の対面頻度閾値ｔｈｍ１以上でないと判断した場合（ステップ５０４でＮｏ）、当該対面頻度Ｔｄが第２の対面頻度閾値ｔｈｍ２以上であるか否かを判断する（ステップ５０６）。ＣＰＵ３１１は、対面頻度Ｔｄが第２の対面頻度閾値ｔｈｍ２以上であると判断した場合（ステップ５０６でＹｅｓ）、Ｎ番目の動物がよくなついていないとして、単に歩み寄る動作を当該動物に設定する（ステップ５０７）。一方、ＣＰＵ３１１は、対面頻度Ｔｄが第２の対面頻度閾値ｔｈｍ２以上でないと判断した場合（ステップ５０６でＮｏ）、Ｎ番目の動物に警戒されているとして、警戒しながら近寄る動作を当該動物に設定する（ステップ５０８）。
【０２１４】
ＣＰＵ３１１は、Ｎ番目の動物について、上述したステップ５０５、ステップ５０７またはステップ５０８のいずれかで動作を設定すると、上側ＬＣＤ２２に表示されている動物の中で動作を設定されていない動物が存在するか否かを判断する（ステップ５０９）。具体的には、ＣＰＵ３１１は、現在の変数Ｎが、対面頻度データＤｆで示される全ての動物の数Ｎｍａｘ以上であるか否かを判断する。ＣＰＵ３１１は、変数Ｎが全ての動物の数Ｎｍａｘ以上である場合、動作を設定されていない動物が存在しないと判断する（ステップ５０９でＹｅｓ）。一方、ＣＰＵ３１１は、変数Ｎが全ての動物の数Ｎｍａｘ以上でない場合、動作を設定されていない動物が存在すると判断する（ステップ５０９でＮｏ）。
【０２１５】
ＣＰＵ３１１は、動作を設定されていない動物が存在すると判断すると（ステップ５０９でＮｏ）、変数Ｎを１だけインクリメントして（ステップ５１１）、処理をステップ５０３から繰り返す。
【０２１６】
一方、ＣＰＵ３１１は、動作を設定されていない動物が存在しないと判断すると（ステップ５０９でＹｅｓ）、上側ＬＣＤ２２に表示されている動物がそれぞれ設定した動作で近づいて来るように表示されるように、それぞれの動作を示す動作パターンを参照しながら、それぞれの動物を示す動物オブジェクトの制御を開始する（ステップ５１０）。一方、ＣＰＵ３１１は、認証結果データＤｅによってＮｕｌｌが示されており、ユーザが特定されていないと判断した場合（ステップ５０１でＮｏ）、上側ＬＣＤ２２に表示されている動物オブジェクトの全てに単に歩み寄る動作を設定する（ステップ５１２）。ＣＰＵ３１１は、全ての動物オブジェクトに単に歩み寄る動作を設定した場合にも、それぞれの動物を示す動物オブジェクトの制御を開始する（ステップ５１０）。
【０２１７】
ＣＰＵ３１１は、それぞれの動物を示す動物オブジェクトの制御を開始すると、それぞれの動物オブジェクトの制御が完了したか否かを判断する（ステップ５１１）。具体的には、ＣＰＵ３１１は、動作を制御している動物オブジェクトのそれぞれが、上述したように仮想空間上における画面切替位置まで到来したか否かを判断する。ＣＰＵ３１１は、動作を制御している動物オブジェクトのそれぞれが画面切替位置まで到来したと判断したとき、それぞれの制御を完了したと判断する（ステップ５１１でＹｅｓ）。一方、ＣＰＵ３１１は、動作を制御している動物オブジェクトのそれぞれが画面切替位置まで到来していないと判断したとき、それぞれの制御を完了していないと判断する（ステップ５１１でＮｏ）。
【０２１８】
ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了していないと判断すると（ステップ５１１でＮｏ）、ステップ５１１の判断を繰り返しながらそれぞれの動物オブジェクトの制御を継続する。一方、ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了したと判断した場合（ステップ５１１でＹｅｓ）、動作制御処理のサブルーチンを終了する。
【０２１９】
図１１Ｂに戻って、ＣＰＵ３１１は、上記ステップ１１１の動作制御処理の後、それぞれの動物オブジェクトの動作の制御が完了したことを示すように、メインメモリ３２に格納されている動作制御済みフラグＤｈをオンに更新する（ステップ１１２）。ＣＰＵ３１１は、動物を呼ぶための操作がユーザによって入力されていないと判断した場合（ステップ１１０でＮｏ）または動作制御済みフラグＤｈをオンに更新すると（ステップ１１２）、メインメモリ３２に格納されている動作制御済みフラグＤｈを参照してオンとなっているか否かを判断する（ステップ１１３）。ＣＰＵ３１１は、動作制御済みフラグＤｈがオンとなっていると判断した場合（ステップ１１３でＹｅｓ）、内側撮像部２４に撮像画像Ｋｇの撮像を指示し、この指示に応じて内側撮像部２４から出力される撮像画像Ｋｇを示すように、メインメモリ３２に格納されている撮像画像データＤａを更新する（ステップ１１４）。次に、ＣＰＵ３１１は、更新した撮像画像データＤａを参照し、参照した撮像画像データＤａで示される撮像画像Ｋｇを解析して顔が撮像されているか否かを判断する（ステップ１１５）。
【０２２０】
ＣＰＵ３１１は、顔が撮像されていると判断すると（ステップ１１５でＹｅｓ）、顔検出データＤｂを更新する（ステップ１１６）。具体的には、ＣＰＵ３１１は、撮像画像Ｋｇをさらに解析して、当該撮像画像Ｋｇに撮像されている両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉのパラメータをそれぞれ認識し、認識したパラメータをそれぞれ示すように、メインメモリ３２に格納されている顔検出データＤｂを更新する。
【０２２１】
ＣＰＵ３１１は、顔検出データＤｂを更新すると、上述したようにオブジェクト操作入力が検出されたか否かを判断する（ステップ１１７）。ＣＰＵ３１１は、オブジェクト操作入力が検出されていないと判断すると（ステップ１１７でＮｏ）、ステップ１１６で更新した顔検出データＤｂに基づいて上側ＬＣＤ２２に表示されている動物をそれぞれ示す動物オブジェクトを制御する検出動作制御処理（ステップ１１８）を実行する。
【０２２２】
以下、図１６を参照して、上記ステップ１１８で行う検出動作制御処理の詳細を説明する。図１６において、ＣＰＵ３１１は、まず、メインメモリ３２に格納されている顔検出データＤｂを参照する（ステップ６０１）。次に、ＣＰＵ３１１は、ステップ６０１で参照した顔検出データＤｂによって示される両目の間隔Ｋｏが間隔閾値ｔｈｏ以上であるか否かを判断する（ステップ６０２）。ＣＰＵ３１１は、両目の間隔Ｋｏが間隔閾値ｔｈｏ以上であると判断した場合（ステップ６０２でＹｅｓ）、上側ＬＣＤ２２に表示されている動物のそれぞれがユーザの顔を舐める仕草をしているように表示されるように、それぞれを示す動物オブジェクトの動作を設定する（ステップ６０３）。
【０２２３】
一方、ＣＰＵ３１１は、ステップ６０１で参照した顔検出データＤｂで示される両目の間隔Ｋｏが間隔閾値ｔｈｏ以上でないと判断した場合（ステップ６０２でＮｏ）、当該顔検出データＤｂで示される顔の傾きＫｋが傾き閾値ｔｈｋ以上であるか否かを判断する（ステップ６０４）。ＣＰＵ３１１は、顔の傾きＫｋが傾き閾値ｔｈｋ以上であると判断した場合（ステップ６０４でＹｅｓ）、上側ＬＣＤ２２に表示されている動物のそれぞれが、傾いているユーザの顔と同じように顔を傾けるように表示されるように、それぞれを示す動物オブジェクトの動作を設定する（ステップ６０５）。
【０２２４】
一方、ＣＰＵ３１１は、ステップ６０１で参照した顔検出データＤｂで示される顔の傾きＫｋが傾き閾値ｔｈｋ以上でないと判断した場合（ステップ６０４でＮｏ）、上側ＬＣＤ２２に表示されている動物の顔がゲーム装置１０を現在使用しているユーザの顔に向くように表示されるように、それぞれを示す動物オブジェクトの動作を設定する（ステップ６０６）。
【０２２５】
ＣＰＵ３１１は、ステップ６０３、ステップ６０５またはステップ６０６のいずれかでそれぞれの動物オブジェクトの動作を設定すると、上述したようにそれぞれの動作を示す動作パターンを参照しながら、設定された動作をするようにそれぞれの動物オブジェクトの制御を開始する（ステップ６０７）。ＣＰＵ３１１は、それぞれの動物を示す動物オブジェクトの制御を開始すると、それぞれの動物オブジェクトの制御が完了したか否かを判断する（ステップ６０８）。具体的には、ＣＰＵ３１１は、上述したようにそれぞれの動物オブジェクトに設定した動作に対応する動作パターンによる経時変化の終了タイミングが到来したか否かを判断する。ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了していないと判断すると（ステップ６０８でＮｏ）、ステップ６０８の判断を繰り返しながら動物オブジェクトの制御を継続する。一方、ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了したと判断すると（ステップ６０８でＹｅｓ）、検出動作制御処理のサブルーチンを終了する。
【０２２６】
図１１Ｂに戻って、ＣＰＵ３１１は、顔が撮像されていないと判断する（ステップ１１５でＮｏ）またはオブジェクト操作入力が検出されたと判断した場合（ステップ１１７でＹｅｓ）、検出されたオブジェクト操作入力に応じて上側ＬＣＤ２２に表示されている動物を示す動物オブジェクトをそれぞれ制御するオブジェクト操作処理（ステップ１１９）を実行する。以下、図１７を参照して、上記ステップ１１９で行うオブジェクト操作処理の詳細を説明する。
【０２２７】
図１７において、ＣＰＵ３１１は、まず、ステップ１１７で検出されたオブジェクト操作入力がユーザによる音の入力であったか否かを上述したように判断する（ステップ７０１）。ＣＰＵ３１１は、オブジェクト操作入力がユーザによる音の入力であったと判断すると（ステップ７０１でＹｅｓ）、上述したように、検出された音の内容を判断する（ステップ７０２）。音の内容を判断すると、ＣＰＵ３１１は、判断した結果に基づいて、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトの動作を設定する（ステップ７０３）。
【０２２８】
一方、ＣＰＵ３１１は、ステップ１１７で検出されたオブジェクト操作入力がユーザによる音の入力でないと判断した場合（ステップ７０１でＮｏ）、当該オブジェクト操作入力としてタッチ入力が検出されたか否かを上述したように判断する（ステップ７０４）。ＣＰＵ３１１は、タッチ入力が検出されたと判断すると（ステップ７０４でＹｅｓ）、さらにタッチ位置データＤｊを参照する（ステップ７０５）。そして、ＣＰＵ３１１は、参照したタッチ位置データＤｊで示されるタッチ位置の履歴に基づいて上述したように認識したタッチ入力の内容に応じて動物オブジェクトの動作を設定する（ステップ７０６）。
【０２２９】
ＣＰＵ３１１は、ステップ７０３またはステップ７０６において動物オブジェクトそれぞれの動作を設定すると、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトが設定した動作をしているように表示されるように、上述したようにそれぞれの動作を示す動作パターンを参照しながら、それぞれを示す動物オブジェクトの動作の制御を開始する（ステップ７０７）。ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を開始すると、それぞれの動物オブジェクトの制御が完了したか否かを判断する（ステップ７０８）。具体的には、ＣＰＵ３１１は、上述したようにそれぞれの動物オブジェクトに設定した動作に対応する動作パターンによる経時変化の終了タイミングが到来したか否かを判断する。ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了していないと判断すると（ステップ７０８でＮｏ）、ステップ７０８の判断を繰り返しながらそれぞれの動物オブジェクトの制御を継続する。一方、ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を完了したと判断する（ステップ７０８でＹｅｓ）またはタッチ入力が検出されていないと判断する（ステップ７０４でＮｏ）と、オブジェクト操作処理のサブルーチンを終了する。
【０２３０】
図１１Ｂに戻り、ＣＰＵ３１１は、上記ステップ１１８の検出動作処理または上記ステップ１１９のオブジェクト操作処理の後、上側ＬＣＤ２２に表示されている動物オブジェクトのそれぞれがユーザから遠ざかって行き、呼びかける前の位置に戻る動作の制御を開始するか否かを判断する（ステップ１２０）。具体的には、ＣＰＵ３１１は、動作制御処理を完了してから、オブジェクト操作入力が検出されることなく、所定の操作受付期間Ｕｋが経過したときに、戻る動作の制御を開始すると判断する。また、ＣＰＵ３１１は、動作制御処理を完了してから、オブジェクト操作入力が検出され、上記ステップ１１８のオブジェクト操作処理を実行した後、前述の操作受付期間Ｕｋが経過したときも、戻る動作の制御を開始すると判断する。また、ＣＰＵ３１１は、動作制御処理を完了してから、一度もオブジェクト操作入力が検出されない場合には、操作受付期間Ｕｋが経過するまで、上記ステップ１１８の検出動作制御処理を実行した後、戻る動作の制御を開始すると判断する。
【０２３１】
一方、ＣＰＵ３１１は、動作制御処理を完了してから、操作受付期間Ｕｋが経過するまでにオブジェクト操作入力が検出され、オブジェクト操作処理を実行すると、再び操作受付期間Ｕｋが経過するまで、戻る動作の制御を開始しないと判断する。
【０２３２】
ＣＰＵ３１１は、戻る動作の制御を開始しないと判断すると（ステップ１２０でＮｏ）、ステップ１１４から処理を繰り返す。一方、ＣＰＵ３１１は、戻る動作の制御を開始すると判断すると（ステップ１２０でＹｅｓ）、メインメモリ３２に格納されている動作制御済みフラグＤｈをオフに更新する（ステップ１２１）。そして、ＣＰＵ３１１は、上側ＬＣＤ２２に表示されているそれぞれの動物オブジェクトが、それぞれの現在位置から呼びかける前の位置に戻る動作をするように制御する（ステップ１２２）。より具体的には、ＣＰＵ３１１は、それぞれの位置から戻る動作を設定し、設定した動作に対応する動作パターンを参照しながら、それぞれの動物オブジェクトの制御を開始する。ＣＰＵ３１１は、それぞれの動物オブジェクトの制御を継続しながら、呼びかける前の位置に戻ると、戻る動作の制御を完了する。
【０２３３】
ＣＰＵ３１１は、戻る動作の制御を完了すると、ゲームプログラムを終了するか否かを判断する（ステップ１２３）。具体的には、ＣＰＵ３１１は、ゲーム装置１０の電源ボタン１４Ｆが押下された場合、ゲームプログラムを終了すると判断する（ステップ１２３でＹｅｓ）。一方、ＣＰＵ３１１は、ゲーム装置１０の電源ボタン１４Ｆが押下されていない場合、ゲームプログラムを終了しないと判断する（ステップ１２３でＮｏ）。ＣＰＵ３１１は、ゲームプログラムを終了しないと判断すると（ステップ１２３でＮｏ）、ステップ１０４から処理を繰り返す。
【０２３４】
以上が、本実施形態に係るゲームプログラムの一例の説明である。上述の説明から明らかなように、上記ゲームプログラムによれば、動作制御処理において、特定したユーザに応じて各動物オブジェクトの動作を設定することができる。なお、上述の説明では、動作制御処理の契機となる操作がユーザによって入力された場合に、特定されたユーザに応じて、各動物オブジェクトの動作をそれぞれ設定する場合を一例として説明した。しかしながら、他の一実施形態では、動作制御処理の契機となる入力として、所定のボタンを押下する入力など、ゲーム装置１０に対する他の任意の操作入力を予め定めておいてもよい。具体的な一例としては、上述した動作制御処理の契機として所定のボタンを押下する操作入力を予め定めておくことが考えられる。所定のボタンを押下する操作入力を動作制御処理の契機となる入力とする場合には、上述した呼びかけの音声がユーザによって入力されているか否かの判断の代わりに、当該ボタンが押下されたか否かを判断するようにすればよい。
【０２３５】
このように、上記ゲームプログラムによれば、ゲーム装置１０に対して所定の操作入力が行われたときの動物オブジェクトの動作を、操作入力を行ったユーザに応じて変更することができ、興趣性に富んだ動物オブジェクトの制御を行える。
【０２３６】
また、上述の説明では、一例として、ユーザと動物との対面頻度Ｔｄに基づいて動物オブジェクトの動作を設定するものとした。対面頻度Ｔｄは、上述したようにユーザと動物とが擬似的に触れあった頻度を示す値である。そして、上述で一例として説明したように、動作制御処理において、対面頻度Ｔｄが相対的に高いユーザに対応する動物オブジェクトの動作としては、よくなついており、喜んで近寄って来る動作を設定するものとした。一方、上述で一例として説明したように、動作制御処理において、対面頻度Ｔｄが相対的に低いユーザに対応する動物オブジェクトの動作としては、よくなついておらず、警戒しながら近寄って来る動作を設定するものとした。このように、対面頻度Ｔｄに基づいて動物オブジェクトの動作を設定することにより、ユーザと擬似的に触れあった頻度に応じた動作を動物オブジェクト毎に設定でき、ユーザが呼びかけの音声を入力したときなど、操作入力をしたときの反応に興趣性を持たせることができる。
【０２３７】
また、上述の説明では、一例として、ユーザを特定できなかった場合に、特定されなかったユーザの顔の特徴点を示すデータを新たな個人認証データとして登録するものとした。そして、上述の説明では、新たな個人認証データを登録するときの対面頻度Ｔｄの初期値の一例として、第１の対面頻度閾値ｔｈｍ１未満、且つ第２の対面頻度閾値ｔｈｍ２以上の値を挙げた。これにより、初対面のユーザが呼びかけたときには、単に歩み寄る動作を各動物オブジェクトに設定できる。しかしながら、他の一実施形態では、初対面のユーザが呼びかけたときに、警戒しながら近寄る動作など、他の任意の動作を設定するようにしてもよい。具体的な一例として、初対面のユーザが呼びかけたときに、警戒しながら近寄る動作を設定する場合には、第２の対面頻度閾値ｔｈｍ２未満の値を対面頻度Ｔｄの初期値として予め定めておけばよい。このように、他の一実施形態において、対面頻度Ｔｄの初期値として任意の値を定めることにより、初対面のユーザに対して任意の動作を設定することができる。
【０２３８】
また、上述の説明では、動作制御処理において動物オブジェクトに設定できる動作の一例として、第１の対面頻度閾値ｔｈｍ１以上の対面頻度Ｔｄに対応する動物には、喜んで近寄って来る動作を設定するものとした。しかしながら、第１の対面頻度閾値ｔｈｍ１以上の対面頻度Ｔｄに対応する動物に設定する動作は、第１の動作として設定されるのであれば、他の任意の動作であってもよい。また、上述の説明では、動作制御処理において動物オブジェクトに設定できる動作の一例として、第１の対面頻度閾値ｔｈｍ１未満、且つ第２の対面頻度閾値ｔｈｍ２以上の対面頻度Ｔｄに対応する動物には、単に歩み寄って来る動作を設定するものとした。しかしながら、第１の対面頻度閾値ｔｈｍ１未満、且つ第２の対面頻度閾値ｔｈｍ２以上の対面頻度Ｔｄに対応する動物に設定する動作は、第２の動作として設定されるのであれば、他の任意の動作であってもよい。また、上述の説明では、動作制御処理において動物オブジェクトに設定できる動作の一例として、第２の対面頻度閾値ｔｈｍ２未満の対面頻度Ｔｄに対応する動物には、警戒しながら近寄って来る動作を設定するものとした。しかしながら、第２の対面頻度閾値ｔｈｍ１未満の対面頻度Ｔｄに対応する動物に設定する動作は、第３の動作として設定されるのであれば、他の任意の動作であってもよい。
【０２３９】
また、上述の説明では、第１の対面頻度閾値ｔｈｍ１と第２の対面頻度閾値ｔｈｍ２との２つの対面頻度閾値を用いて、第１の動作〜第３の動作の３つの動作のいずれかを動物オブジェクト毎に設定するものとした。しかしながら、他の一実施形態では、互いに異なる３以上の対面頻度閾値を用いて、４以上の動作のいずれかを動物オブジェクト毎に設定してもよい。
【０２４０】
また、上述の説明では、一例として、顔認証処理で特定したユーザのＩＤを認証結果データＤｅとして記憶させる、または、特定されなかったユーザのＩＤを登録処理で新たに登録してから認証結果データＤｅとして記憶させた後、契機となる音声が入力された場合に、認証結果データＤｅを用いた動作制御処理を実行するものとした。このように、顔認証処理におけるユーザの認証結果を記憶させておくことにより、顔認証処理と当該顔認証処理による認証結果の利用とを連続して行うことなく、認証結果を任意のタイミングで利用でき、ＣＰＵ３１１の処理負荷を軽減できる。ただし、ＣＰＵ３１１の処理負荷を軽減する必要がない場合には、顔認証処理と当該顔認証処理による認証結果の利用とを連続または並行して実行してもよい。
【０２４１】
また、上述の説明では、一例として、検出動作制御処理において、ゲーム装置１０を現在使用しているユーザの両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉの顔のパラメータに応じて動物オブジェクトを制御するものとした。これにより、上述で説明したように、ゲーム装置１０に顔を近づける、顔を傾けるおよびゲーム装置１０に対する顔の位置を動かすなど、ユーザの顔の動きに応じて動物オブジェクトを制御でき、興趣性に富んだ動物オブジェクトの制御を行える。
【０２４２】
また、上述の説明では、一例として、検出動作制御処理において、両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉなどの顔のパラメータのみに基づいて、動物オブジェクトそれぞれの動作を設定して制御するものとした。しかしながら、他の一実施形態では、検出動作制御処理において、特定されたユーザのＩＤにそれぞれ対応する対面頻度Ｔｄと上記顔のパラメータとの両方を用いて、それぞれの動物オブジェクトの動作を設定して制御してもよい。具体的な一例としては、相対的に低い対面頻度Ｔｄに対応するＩＤのユーザが顔を近づけて両目の間隔Ｋｏが間隔閾値ｔｈｏ以上となったときには、顔を背けるまたはユーザから遠ざかるなどの動作を設定して制御するようにしてもよい。一方、他の具体的な一例として、相対的に高い対面頻度Ｔｄに対応するＩＤのユーザが顔を近づけて両目の間隔Ｋｏが間隔閾値ｔｈｏ以上となったときには、喜んで顔を舐めるまたは尻尾を激しく振るなどの動作を設定して制御するようにしてもよい。
【０２４３】
また、上述の説明では、一例として、上記顔のパラメータの検出結果を顔検出データＤｂとして記憶させるものとした。そして、オブジェクト操作入力が検出されなかった場合に、顔検出データＤｂを用いた検出動作制御処理を実行するものとした。このように、顔のパラメータの検出結果を記憶させておくことにより、顔のパラメータの検出と顔のパラメータの検出結果を利用する検出動作制御処理とを連続して行うことなく、オブジェクト操作入力が検出された場合にのみ顔のパラメータの検出結果を利用でき、ＣＰＵ３１１の処理負荷を軽減できる。ただし、ＣＰＵ３１１の処理負荷を軽減する必要がない場合には、顔のパラメータの検出と顔のパラメータの検出結果を利用とを連続または並行して実行してもよい。
【０２４４】
また、上述の説明では、顔の大きさを示す指標として両目の間隔Ｋｏを用いるものとした。しかしながら、他の一実施形態では、顔の大きさを示す指標として撮像画像Ｋｇにおける肌色の画素が当該画像に占める割合を用いてもよい。
【０２４５】
また、上述の説明では、一例として、最終更新日時から経過した期間が更新期間Ｒｋ以上であると判断されたときに、対面頻度Ｔｄを更新するものとした。これにより、ユーザが特定される度に対面頻度Ｔｄが更新され、過度に高くなることを防げる。具体的な一例としては、本実施形態に係る情報処理プログラムの一例として、ゲーム装置１０が処理をする時間単位（例えば、１／６０秒）毎に上記顔認証処理および登録処理のみを繰り返すようなプログラムをゲーム装置１０において実行させた場合であっても、当該時間単位毎に対面頻度Ｔｄが更新されることを防げ、過度に高くなることを防げる。また、上述の説明では、更新期間Ｒｋの長さの一例として、６時間の長さを設定する場合を説明した。しかしながら、更新期間Ｒｋの長さは、他の任意の長さであってもよい。
【０２４６】
また、上述の説明では、一例として、最終更新日時がユーザと１対１で対応するものとした。しかしながら、他の一実施形態では、１以上のユーザと、１以上の動物オブジェクトとのそれぞれに対応する対面頻度Ｔｄ毎に最終更新日時を対応させて適宜更新してもよい。
【０２４７】
また、上述の説明では、一例として、対面頻度データＤｆを用いて１以上のユーザとそれぞれ対応する対面頻度Ｔｄを、１以上の動物オブジェクト毎に対応させるものとした。また、上記ゲームプログラムでは、対面頻度Ｔｄを更新するときには、動物オブジェクト毎に対応する対面頻度Ｔｄをそれぞれ更新するものとした。これにより、上述で一例として説明したように、上側ＬＣＤ２２に２以上の複数の動物オブジェクトが表示される場合であっても、表示された動物オブジェクト毎に特定されたユーザに応じた動作を設定して同時に制御できる。
【０２４８】
また、上述の説明では、一例として、対面頻度データＤｆによってユーザが直接世話をしていない状態とされている動物に対応する対面頻度Ｔｄは更新しないものとした。これにより、実際にユーザと擬似的に触れあっている動物との対面頻度Ｔｄのみを加算して更新でき、ユーザがそれぞれの動物に対して実際に感じている触れあいの頻度をそれぞれに対応する対面頻度Ｔｄに反映させられる。また、対面頻度データＤｆによってユーザが直接世話をしていない状態とされている動物に対応する対面頻度Ｔｄは更新しないものとすることにより、当該状態とされている動物のみの動作が他の動物オブジェクトとは異なる動作となるように制御でき、多様性を持たせられる。また、上述の説明では、一例として、対面頻度Ｔｄを更新する動物を、対面頻度データＤｆによってユーザが直接世話をしている状態とされる動物としたが、他の一実施形態では、上側ＬＣＤ２２に描画されている動物オブジェクトに対応する対面頻度Ｔｄのみを更新するようにしてもよい。
【０２４９】
また、上述の説明では、一例として、ユーザが特定されなかった場合には、特定されなかったユーザの顔の特徴点を示すデータを新たな個人認証データとして登録するものとした。これにより、上記ゲームプログラムを実行するゲーム装置１０を始めて使用したユーザも、既に個人認証データが登録されているユーザと同様に動物との擬似的な触れあいを楽しむことができる。
【０２５０】
また、上述の説明では、一例として、新たな個人認証データを登録するときに、登録数Ｔｓが登録可能数Ｔｋｓと等しければ、既に登録されているユーザの中から選択したユーザのデータを削除するものとした。また、上述の説明では、一例として、削除するユーザのデータを当該ユーザのＩＤに対応する顔認証データＤｄおよび対面頻度データＤｆのそれぞれにおけるデータであるものとした。そして、削除するユーザのデータは、上述の説明では、一例として、最終更新日時からの経過期間が削除判断期間Ｓｋ以上であるＩＤのユーザに対応する対面頻度Ｔｄの中から最も低い対面頻度Ｔｄに対応するＩＤに対応するユーザのデータであるものとした。これにより、相対的に長い期間、上記ゲームプログラムを実行するゲーム装置１０を使用しておらず、且つ動物との触れあいの頻度が低く、動物に興味を失ったと考えられるユーザに関するデータを削除することができる。また、上述の説明では、一例として、最終更新日時からの経過期間が削除判断期間Ｓｋ以上であるＩＤのユーザが存在しない場合には、対面頻度データＤｆによって示される最も低い対面頻度Ｔｄに対応するＩＤに対応するユーザのデータを選択して削除するものとした。これにより、最終更新日時からの経過期間が削除判断期間Ｓｋ以上であるＩＤのユーザが存在しない場合でも、動物との触れあいの頻度が最も低いユーザであって、動物に対する興味を失ったと考えられるユーザに関するデータを判断して削除できる。なお、削除するユーザに関するデータを選択するときには、対応する対面頻度Ｔｄの総和が最も低いユーザに関するデータまたは対応する対面頻度Ｔｄの平均が最も低いユーザに関するデータなどを選択するようにしてもよい。また、新たなユーザの個人認証データを登録するときに付与するＩＤは、上述で説明した固有のＩＤであればどのようなＩＤでもよいが、一例として、直前に削除したＩＤを付与してもよい。
【０２５１】
また、上述の説明では、一例として、類似度Ｒｄが第２の類似度閾値ｔｈ２以上であって酷似しているときに、ユーザが特定されたときにおける顔照合データＤｃで示される顔の特徴点で、当該ユーザの個人認証データで示される顔の特徴点を更新するものとした。つまり、上述の説明では、既に個人認証データとして記憶されていた特徴点と酷似している場合に、特定されたユーザの顔の特徴点、すなわち、現在のユーザの顔の特徴点で更新するものとした。これにより、個人認証データで示されるユーザの顔の特徴点を最新のユーザの顔の特徴点に維持することができる。
【０２５２】
また、上述の説明では、一例として、既に個人認証データとして記憶されていた特徴点と酷似している場合に、特定されたユーザの顔の特徴点、すなわち、現在のユーザの顔の特徴点で更新するものとした。しかしながら、他の一実施形態では、既に個人認証データとして記憶されていた特徴点と酷似していなくとも、ユーザが特定された場合には、特定されたユーザの現在の顔の特徴点で、既に記憶されている特徴点を更新してもよい。
【０２５３】
また、上述の説明では、一例として、顔認証処理の直前に撮像された撮像画像Ｋｇから顔が検出されずユーザが特定されない場合であっても、検出動作制御処理の直前に撮像された撮像画像Ｋｇから顔が検出された場合には、検出動作制御処理で動物オブジェクトの動作を制御するものとした。これにより、特定されなかったユーザであっても、検出動作制御処理において顔のパラメータに基づく動作を動物オブジェクトに設定して制御することができ、検出動作制御処理における動物との擬似的な触れあいを提供できる。
【０２５４】
また、上述で説明した登録可能数Ｔｋｓは、任意の数であってよい。
【０２５５】
また、上述の説明では、撮像画像Ｋｇが上側ＬＣＤ２２および下側ＬＣＤ１２のいずれにも表示されないものとした。しかしながら、他の一実施形態では、内側撮像部２４で撮像画像Ｋｇを逐次撮像するようにし、逐次撮像される撮像画像Ｋｇを任意のタイミングで動物オブジェクトの表示領域と重畳しないように一部の表示領域に表示するようにしてもよい。これにより、例えば、上述で説明した検出動作制御処理において、ユーザは、表示された撮像画像Ｋｇに基づいて自身の顔のパラメータを推測しながら動物と擬似的に触れあうことができる。
【０２５６】
また、上述の説明では、４人分のユーザの個人認証データおよびこれらのユーザに対応する対面頻度Ｔｄを示す対面頻度データＤｆが予めデータ保存用外部メモリ４６に記憶されているものとした。しかしながら、例えば、上記ゲームプログラムを始めて実行するゲーム装置１０に接続されるデータ保存用外部メモリ４６には個人認証データおよび対面頻度データＤｆは記憶されていない。このため、上述で説明したように上記ゲームプログラムを実行したときにデータ保存用外部メモリ４６から顔認証データＤｄおよび対面頻度データＤｆを読み出すことができない。このような場合において、上記ゲームプログラムがゲーム装置１０で実行された場合には、当該ゲーム装置１０を使用しているユーザの個人認証データからなる顔認証データＤｄが生成されメインメモリ３２に格納される。次に、ユーザに動物（例えば、子犬または子猫）を購入する場面を与え、１匹以上の動物をユーザに購入させる。これにより、ユーザとそれぞれの動物に対応する対面頻度Ｔｄを示す対面頻度データＤｆを生成してメインメモリ３２に記憶することができる。このときの各対面頻度Ｔｄの初期値は、上述で説明した初期値であってもよい。その後、上記ゲームプログラムを終了するときに、メインメモリ３２に記憶されている顔認証データＤｄと対面頻度データＤｆとをデータ保存用外部メモリ４６に記憶させる。これにより、次に上記ゲームプログラムがゲーム装置１０で実行された場合には、上述で説明したようにデータ保存用外部メモリ４６から顔認証データＤｄおよび対面頻度データＤｆを読み出すことが可能となる。
【０２５７】
また、上述した説明では、ユーザに対応する対面頻度Ｔｄを対面頻度データＤｆとして、ユーザの顔の特徴点を示す個人認証データとは別に記憶するものとした。しかしながら、他の一実施形態では、ユーザとオブジェクト毎に対応する対面頻度Ｔｄを個人認証データに含ませてもよい。
【０２５８】
また、認証結果データＤｅは、特許請求の範囲に記載の特定情報の一例である。
【０２５９】
また、上述した説明では、顔のパラメータの一例として、両目の間隔Ｋｏ、顔の傾きＫｋおよび顔の位置Ｋｉを検出するものとした。ここで、両目の間隔Ｋｏは、上述の説明から明らかなように、ユーザの顔と内側撮像部２４との相対的な位置が近くなるほど大きくなり、遠くなるほど小さくなる。つまり、両目の間隔Ｋｏは、ユーザの顔と内側撮像部２４との相対的な位置を示すパラメータと考えられる。また、顔の傾きＫｋは、上述の説明から明らかなように、内側撮像部２４に対するユーザの顔の姿勢を示すパラメータと考えられる。また、顔の位置Ｋｉは、上述の説明から明らかなように、内側撮像部２４に対する顔の相対的な位置を示すパラメータと考えられる。つまり、上述で説明した顔のパラメータは、内側撮像部２４に対するユーザの顔の相対的な位置および相対的な姿勢を示す値の一例として考えられる。
【０２６０】
また、上述の説明では、本実施形態に係る情報処理プログラムの一例として、特定されたユーザに応じて動物オブジェクトの動作を設定して制御する上記ゲームプログラムを説明した。しかしながら、本実施形態に係る情報処理プログラムの他の一例としては、動物オブジェクトではなく他の任意のオブジェクトの動作を設定して制御する動作設定プログラムが挙げられる。
【０２６１】
そして、動物オブジェクトではなく、他の任意のオブジェクトの動作を設定して制御する場合には、顔照合データＤｃで示される顔の特徴点に最も近い特徴点を示す個人認証データを、顔認証データＤｄを構成する個人認証データから選択するようにしてもよい。また、動物オブジェクトではなく、他の任意のオブジェクトの動作を設定して制御する場合には、上述で一例として説明した対面頻度Ｔｄの代わりに、当該個人認証データが選択された回数を示す選択回数を記憶するとよい。選択回数を記憶する場合には、１以上のユーザの個人認証データのそれぞれが選択された回数を、制御対象となるオブジェクト毎に、当該１以上のユーザそれぞれと対応させて示す選択回数データを上記対面頻度データＤｆの代わりに用いる。そして、対面頻度Ｔｄの代わりに選択回数を上記ゲームプログラムと同様に用いて閾値と比較した結果にも基づいてオブジェクトの動作を設定すれば、オブジェクトの動作を、選択された個人認証データのユーザに応じて設定して制御することができ、興趣性に富んだオブジェクトの制御を行える。
【０２６２】
なお、選択回数は、ユーザの個人認証データが選択される度に加算して更新してもよいし、上述で説明したように、最終更新日時からの経過期間が更新期間Ｒｋ以上である場合に加算して更新してもよい。また、動物オブジェクトではなく、任意のオブジェクトの動作を設定して制御する場合であっても、個人認証データの登録、削除および更新は、上記ゲームプログラムにおける処理と同様に実行できる。
【０２６３】
また、上述の説明では、顔の特徴点を示す顔照合データＤｃおよび顔認証データＤｄを構成する個人認証データを用いるものとした。また、上述の説明では、類似度Ｒｄの算出にこれらの特徴点を用いるものとした。しかしながら、他の一実施形態では、顔の特徴点ではなく、顔の特徴量を示す顔照合データＤｃおよび個人認証データを用いてもよい。この場合、類似度Ｒｄを求めるには、それぞれのデータによって示される特徴量をデータ毎にまとめた特徴ベクトルを算出する。そして、特徴が損なわれないように、主成分分析または線形判別分析などの分析手法を用いて、特徴ベクトルをより低次元の特徴空間に写像する。そして、類似度Ｒｄを算出する互いのデータの写像した特徴ベクトルの間の距離（ユークリッド距離或いはマハラノビス距離）を０〜１００に正規化した値を求めれば、当該値が類似度Ｒｄとなる。
【０２６４】
また、上述の説明では、動作制御処理の契機となる操作がユーザによって入力されたときに、上側ＬＣＤ２２に表示されている全ての動物が近づいて来るものとして説明をした。しかしながら、例えば、名前を呼んだときには、該当する動物のみが近づいてくるようにし、拍手または口笛であれば全ての動物が近づいて来るなど、操作入力（音の入力も含む）に応じて、任意の数の動物オブジェクトを制御するようにしてもよい。
【０２６５】
また、上述の説明では、動作制御処理において、上側ＬＣＤ２２に表示されている全ての動物オブジェクトに対して、特定したユーザに応じた動作を設定するものとして説明をした。しかしながら、他の一実施形態では、上側ＬＣＤ２２に表示されている動物オブジェクトの内、任意の動物オブジェクトに対してのみ、特定したユーザに応じた動作を設定して近づくようにしてもよい。
【０２６６】
また、上述の説明では、検出動作制御処理において、上側ＬＣＤ２２に表示されている全ての動物オブジェクトに対して、各パラメータに応じた動作を設定するものとして説明をした。しかしながら、他の一実施形態では、上側ＬＣＤ２２に表示されている動物オブジェクトの内、任意の動物オブジェクトに対してのみ、各パラメータに応じた動作を設定してもよい。
【０２６７】
また、上述の説明では、上側ＬＣＤ２２に複数の動物オブジェクト（３つの動物オブジェクト）が表示される場合を一例として説明した。しかしながら、上側ＬＣＤ２２に表示される動物オブジェクトが１つの場合がありうることは言うまでもない。
【０２６８】
また、図９Ａには、全ての動物がその場でユーザの顔を舐める仕草をしている一例を図示した。しかしながら、他の一実施形態では、上側ＬＣＤ２２に表示されている動物オブジェクトの内、１以上の任意の動物オブジェクト（全ての動物オブジェクトでもよい）が画面の下端に足をかけてユーザの顔を舐める仕草をするようにしてもよい。
【０２６９】
また、上述の説明では、動作制御処理の契機となる操作として入力された音の判断またはオブジェクト操作入力として検出された音の内容の判断をするときに、予め格納されている契機判断音データまたは音判断音データと比較して判断するものとした。しかしながら、他の一実施形態では、例えば、口笛および拍手などの音声以外の音の判断をするときには、音の波形の形状を分析して得られた特性に基づいて判断するようにしてもよい。
【０２７０】
また、上述の説明では、動作制御処理を終了したときには、近づいてきたそれぞれの動物オブジェクトが上側ＬＣＤ２２に表示されるものとした。しかしながら、他の一実施形態では、それぞれの動物オブジェクトが近づいてきたときに表示されるＬＣＤを上側ＬＣＤ２２から下側ＬＣＤ１２に切り替えてもよい。これにより、ユーザは、上述で説明したシルエットではなく動物オブジェクトそのものにタッチ入力することができ、動物オブジェクトそのものに直接触れている操作感覚をユーザに与えることができる。
【０２７１】
また、上述の説明では、２画面分の液晶表示部の一例として、物理的に分離された下側ＬＣＤ１２および上側ＬＣＤ２２を互いに上下に配置した場合（上下２画面の場合）を説明した。しかしながら、２画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング１１の一方主面に下側ＬＣＤ１２および上側ＬＣＤ２２を左右に配置してもかまわない。また、下側ＬＣＤ１２と横幅が同じで縦の長さが２倍のサイズからなる縦長サイズのＬＣＤ（すなわち、物理的には１つで、表示サイズが縦に２画面分あるＬＣＤ）を下側ハウジング１１の一方主面に配設して、２つの画像を上下に表示（すなわち上下の境界部分無しに隣接して表示）するように構成してもよい。また、下側ＬＣＤ１２と縦幅が同じで横の長さが２倍のサイズからなる横長サイズのＬＣＤを下側ハウジング１１の一方主面に配設して、横方向に２つのゲーム画像を左右に表示（すなわち左右の境界部分無しに隣接して表示）するように構成してもよい。すなわち、物理的に１つの画面を２つに分割して使用することにより２つの画像を表示してもかまわない。いずれの画像の形態に対しても、上述した下側ＬＣＤ１２に表示していた表示画像が表示される画面上にタッチパネル１３を配設すれば、同様に本発明を実現することができる。また、物理的に１つの画面を２つに分割して使用することにより上記２つの画像を表示する場合、当該画面全面にタッチパネル１３を配設してもかまわない。また、上述の説明では、上側ＬＣＤ２２にのみ動物オブジェクトを表示して、下側ＬＣＤ１２に表示したシルエットに対するタッチ入力を受け付ける場合を説明した。しかしながら、他の一実施形態では、タッチパネル１３を全面に配設した１つのＬＣＤに動物オブジェクトを表示し、シルエットではなく、動物オブジェクトに対するタッチ入力を受け付けるようにしてもかまわない。この場合、上述で説明した動作制御処理、検出動作制御処理およびオブジェクト操作処理等による表示も当該ＬＣＤにしてもかまわない。
【０２７２】
また、上述の説明では、ゲーム装置１０にタッチパネル１３が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。
【０２７３】
また、上述の説明では、座標入力を実現するゲーム装置１０の入力手段としてタッチパネル１３を用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボール等を入力手段として使用し、入力手段から出力される出力値から計算された画面座標系の位置情報を用いれば、本発明を同様に実現することができる。
【０２７４】
また、ゲームコントローラをユーザが把持してゲームを楽しむ据置型のゲーム装置の場合、他の態様のポインティングデバイスも考えられる。例えば、ゲームコントローラのハウジングに固設されたカメラを、上記ポインティングデバイスとして利用することも可能である。この場合、ゲームコントローラのハウジングで指し示した位置の変化に応じてカメラが撮像する撮像画像が変化する。従って、この撮像画像を解析することにより、表示画面に対して上記ハウジングで指し示した座標を算出することができる。なお、本発明においては、ゲーム装置１０にタッチパネル１３等のポインティングデバイス自体が設けられていなくても実現可能であることは言うまでもない。
【０２７５】
また、上記実施例では、携帯型のゲーム装置１０や据置型のゲーム装置を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像通信プログラムを実行して、本発明を実現してもかまわない。
【０２７６】
また、上述したゲーム装置１０の形状や、それに設けられている各種操作ボタン１４やタッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像通信処理で用いられる各ステップの実行順序や画面表示例等は、単なる一例に過ぎず他の実行順序や画面表示であっても、本発明を実現できることは言うまでもない。
【０２７７】
また、上述した説明では、上記情報処理プログラムの一例としてゲームプログラムが情報処理部３１で実行される例を用いたが、本実施形態に係る情報処理プログラムの少なくとも一部を、当該情報処理部３１と通信可能な他の装置に備えられた少なくともＣＰＵを含む情報処理部で実行してもかまわない。本実施形態に係る情報処理プログラムの一例として上記ゲームプログラムを実行する場合には、例えば、ゲーム装置１０が他の装置（例えば、サーバなど）と通信可能に構成されている場合、上記ゲームプログラムにおける処理は、ゲーム装置１０および当該他の装置が協働することによって実行してもよい。一例として、他の装置において上記ゲームプログラムが実行され、当該ゲームプログラムの実行に必要な操作入力の検出、当該ゲームプログラムの実行に必要な表示を行う表示装置などは、それぞれゲーム装置１０のタッチパネル１３、上側ＬＣＤ２２および／または下側ＬＣＤ１２を用いるように構成したゲームシステムにおいて、上記ゲームプログラムを実行してもよい。このことは、本実施形態に係る情報処理プログラムの他の一例として上述した動作制御プログラムについても同様である。つまり、本実施形態に係る情報処理プログラムは、一例として、他の装置において当該情報処理プログラムが実行され、当該情報処理プログラムの実行に必要な操作入力の検出、当該情報処理プログラムの実行に必要な表示を行う表示装置などは、それぞれゲーム装置１０のタッチパネル１３、上側ＬＣＤ２２および／または下側ＬＣＤ１２を用いるように構成した情報処理システムにおいて実行されてもよい。
【産業上の利用可能性】
【０２７８】
本発明の情報処理プログラム、情報処理装置、情報処理方法および情報処理システムは、特定したユーザに応じてオブジェクトの動作を制御する情報処理プログラム、情報処理装置、情報処理方法および情報処理システム等に有用である。
【符号の説明】
【０２７９】
１０    ゲーム装置
１１    下側ハウジング
１２    下側ＬＣＤ
１３    タッチパネル
１４    操作ボタン
１５    アナログスティック
１６    ＬＥＤ
１７    挿入口
１８    マイクロフォン用孔
１９    無線スイッチ
２１    上側ハウジング
２２    上側ＬＣＤ
２３    外側撮像部
２３ａ    外側左撮像部
２３ｂ    外側右撮像部
２４    内側撮像部
２５    ３Ｄ調整スイッチ
２６    ３Ｄインジケータ
２７    スクリーンカバー
２８    タッチペン
３１    情報処理部
３１１    ＣＰＵ
３１２    ＧＰＵ
３１３    ＶＲＡＭ
３２    メインメモリ
３３    外部メモリＩ／Ｆ
３４    データ保存用外部メモリＩ／Ｆ
３５    データ保存用内部メモリ
３６    無線通信モジュール
３７    ローカル通信モジュール
３８    ＲＴＣ
３９    加速度センサ
４０    角速度センサ
４１    電源回路
４２    Ｉ／Ｆ回路
４３    マイク
４４    スピーカ
４５    外部メモリ
４６    データ保存用外部メモリ
【図１】
0005632693.tif 000002
【図２】
0005632693.tif 000003
【図３】
0005632693.tif 000004
【図４】
0005632693.tif 000005
【図５】
0005632693.tif 000006
【図６】
0005632693.tif 000007
【図７Ａ】
0005632693.tif 000008
【図７Ｂ】
0005632693.tif 000009
【図８】
0005632693.tif 000010
【図９Ａ】
0005632693.tif 000011
【図９Ｂ】
0005632693.tif 000012
【図９Ｃ】
0005632693.tif 000013
【図１０】
0005632693.tif 000014
【図１１Ａ】
0005632693.tif 000015
【図１１Ｂ】
0005632693.tif 000016
【図１２】
0005632693.tif 000017
【図１３】
0005632693.tif 000018
【図１４】
0005632693.tif 000019
【図１５】
0005632693.tif 000020
【図１６】
0005632693.tif 000021
【図１７】
0005632693.tif 000022