(57)【要約】【構成】ゲーム装置１０は、マイク３２から入力されたマイク入力情報に基づいてゲーム処理を実行する。ゲーム装置１０のＣＰＵ（４２）は、ユーザをカメラ１６で撮像する撮像ステップ（Ｓ１３〜Ｓ１７，Ｓ５３〜Ｓ５７）、撮像ステップで撮像して得られた画像を示す画像データに基づいて、ユーザを検出したか否かを判定する検出判定ステップ（Ｓ２３，Ｓ６３）、および検出判定ステップでユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を行う処理ステップ（Ｓ３１，Ｓ７１）を実行する。【効果】マイク入力操作をユーザの意図通りにゲーム処理に反映させることができる。【選択図】図１
2010142585.tif 000002
【特許請求の範囲】
【請求項１】
マイクから入力されたマイク入力情報に基づいてゲーム処理を実行するゲーム装置のコンピュータに、
ユーザをカメラで撮像する撮像ステップ、
前記撮像ステップで撮像して得られた画像を示す画像データに基づいて、前記ユーザを検出したか否かを判定する検出判定ステップ、および
前記検出判定ステップで前記ユーザを検出したと判定されたときに、前記マイク入力情報に基づいて前記ゲーム処理を行う処理ステップを実行させるための、ゲームプログラム。
【請求項２】
前記検出判定ステップは、前記撮像ステップで撮像して得られた画像を示す画像データに基づいて、前記ユーザの肌色を検出したか否かを判定することにより、前記ユーザを検出したか否かを判定する、請求項１に記載のゲームプログラム。
【請求項３】
前記撮像ステップで撮像して得られた画像を示す画像データに基づいて、肌色の領域の大きさを算出する肌色領域算出ステップを前記コンピュータにさらに実行させ、
前記検出判定ステップは、前記肌色領域算出ステップによって算出された肌色の領域の大きさが所定値以上であるときに、前記ユーザの肌色を検出したと判定する、請求項２に記載のゲームプログラム。
【請求項４】
前記肌色領域算出ステップは、前記撮像ステップで撮像して得られた画像における肌色の割合を算出し、
前記検出判定ステップは、前記肌色領域算出ステップで算出された割合が所定値以上であるときに、前記ユーザの肌色を検出したと判定する、請求項３に記載のゲームプログラム。
【請求項５】
特定の領域を設定する領域設定ステップを前記コンピュータにさらに実行させ、
前記肌色領域算出ステップは、前記領域設定ステップで設定された前記特定の領域内における肌色の領域の大きさを算出する、請求項３に記載のゲームプログラム。
【請求項６】
前記検出判定ステップは、前記撮像ステップで撮像して得られた画像を示す画像データに基づいて、前記ユーザの顔の全部または一部を検出したか否かを判定することにより、前記ユーザを検出したか否かを判定する、請求項１に記載のゲームプログラム。
【請求項７】
前記マイク入力情報が所定の条件を満たしたか否かを判定するマイク入力判定ステップを前記コンピュータにさらに実行させ、
前記処理ステップは、前記検出判定ステップで前記ユーザを検出したと判定され、かつ、前記マイク入力判定ステップで前記所定の条件を満たしたと判定されたとき、前記マイク入力情報に基づいてゲーム処理を行う、請求項１ないし６のいずれかに記載のゲームプログラム。
【請求項８】
前記ユーザを予め撮像する予行撮像ステップ、および
前記予行撮像ステップで予め前記ユーザを撮像して得られた画像を示す画像データに基づいて、前記ユーザの特徴を示す特徴データを算出する、特徴データ算出ステップを前記コンピュータにさらに実行させ、
前記検出判定ステップは、前記撮像ステップで撮像して得られた画像を示す画像データと前記特徴データ算出ステップで算出された特徴データとに基づいて、前記ユーザを検出したか否かを判定する、請求項１ないし７のいずれかに記載のゲームプログラム。
【請求項９】
前記特徴データ算出ステップは、予め前記ユーザを撮像して得られた画像を示す画像データに基づいて、前記ユーザの肌色の特徴に応じた肌色閾値を算出し、
前記特徴データ算出ステップで算出された肌色閾値に基づいて、前記撮像ステップで撮像して得られた画像から肌色の画像を抽出する肌色画像抽出ステップ、および
前記撮像ステップで撮像して得られた画像を示す画像データと前記肌色画像抽出ステップで抽出された肌色画像を示す画像データとに基づいて、当該画像における肌色の領域の大きさを算出する肌色領域算出ステップを前記コンピュータにさらに実行させ、
前記検出判定ステップは、前記肌色領域算出ステップで算出された肌色領域の大きさが所定値以上であるときに、前記ユーザを検出したと判定する、請求項８に記載のゲームプログラム。
【請求項１０】
前記特徴データ算出ステップは、予め前記ユーザを撮像して得られた画像を示す画像データに基づいて、前記ユーザの肌色の特徴を示す肌色特徴データを算出し、
前記検出判定ステップは、前記撮像ステップで撮像して得られた画像を示す画像データと前記特徴データ算出ステップで算出された肌色特徴データとに基づいて、前記ユーザを検出したか否かを判定する、請求項８に記載のゲームプログラム。
【請求項１１】
マイクから入力されたマイク入力情報に基づいてゲーム処理を実行するゲーム装置であって、
ユーザを撮像する撮像手段、
前記撮像手段で撮像して得られた画像を示す画像データに基づいて、前記ユーザを検出したか否かを判定する検出判定手段、および
前記検出判定手段で前記ユーザを検出したと判定されたときに、前記マイク入力情報に基づいて前記ゲーム処理を行う処理手段を備える、ゲーム装置。
【請求項１２】
撮像方向と集音方向とが略平行となるように前記カメラおよび前記マイクが設けられる、請求項１１に記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、マイクから入力されたマイク入力情報に基づいてゲーム処理を実行する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【０００２】
この種の従来のゲームプログラムとしては、たとえば特許文献１に開示されたものが知られている。この背景技術では、マイクから入力されたマイク入力情報をメモリに記憶し、記憶したマイク情報に基づいて所定のゲーム処理を行う。
【特許文献１】特開２００６‐２０４４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の背景技術では、ユーザが実際に操作していない状況であっても、ユーザ以外の人から入力された音声や風などの影響によるマイク入力情報を有効なものと判断してゲーム処理に反映させてしまう可能性があり、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させる点については改善の余地があった。
【０００４】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【０００５】
この発明の他の目的は、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、マイクから入力されたマイク入力情報に基づいてゲーム処理を実行するゲーム装置のコンピュータに、ユーザをカメラで撮像する撮像ステップ、撮像ステップで撮像して得られた画像を示す画像データに基づいて、ユーザを検出したか否かを判定する検出判定ステップ、および検出判定ステップでユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を行う処理ステップを実行させるための、ゲームプログラムである。
【０００８】
第１の発明では、ゲーム装置（１０）は、マイク（３２）から入力されたマイク入力情報に基づいてゲーム処理を実行する。ゲームプログラム（７０）はゲーム装置のコンピュータ（４２）に、撮像ステップ（Ｓ１３〜Ｓ１７，Ｓ５３〜Ｓ５７）、検出判定ステップ（Ｓ２３，Ｓ６３）、および処理ステップ（Ｓ３１，Ｓ７１）を実行させる。撮像ステップではユーザをカメラ（１６）で撮像し、検出判定ステップでは、撮像ステップで撮像して得られた画像を示す画像データに基づいて、ユーザを検出したか否かを判定する。処理ステップでは、検出判定ステップでユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を行う。なお、検出判定ステップでユーザを検出していないと判定されたときには、マイク入力情報に基づくゲーム処理は行われない。
【０００９】
第１の発明によれば、撮像した画像からユーザを検出した場合にマイクの入力を有効とするので、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる。
【００１０】
第２の発明は、第１の発明に従属するゲームプログラムであって、検出判定ステップは、撮像ステップで撮像して得られた画像を示す画像データに基づいて、ユーザの肌色を検出したか否かを判定することにより、ユーザを検出したか否かを判定する。
【００１１】
第３の発明は、第２の発明に従属するゲームプログラムであって、撮像ステップで撮像して得られた画像を示す画像データに基づいて、肌色の領域の大きさを算出する肌色領域算出ステップ（Ｓ２１）をコンピュータにさらに実行させ、検出判定ステップは、肌色領域算出ステップによって算出された肌色の領域の大きさが所定値以上であるときに、ユーザの肌色を検出したと判定する。
【００１２】
第３の発明では、ゲームプログラムはコンピュータに肌色領域算出ステップ（Ｓ２１）をさらに実行させる。肌色領域算出ステップは、撮像ステップで撮像して得られた画像を示す画像データに基づいて、肌色の領域の大きさを算出する。検出判定ステップは、肌色領域算出ステップによって算出された肌色の領域の大きさが所定値以上であるときに、ユーザの肌色を検出したと判定する。なお、肌色領域算出ステップで算出された大きさが所定値に満たないときには、ユーザの肌色を検出していないと判定する。
【００１３】
第３の発明によれば、撮像した画像から肌色の領域の大きさを算出して肌色の領域の大きさが所定値以上の場合にユーザ検出と判定をするので、的確な判定が容易に行える。
【００１４】
第４の発明は、第３の発明に従属するゲームプログラムであって、肌色領域算出ステップは、撮像ステップで撮像して得られた画像における肌色の割合を算出し、検出判定ステップは、肌色領域算出ステップで算出された割合が所定値以上であるときに、ユーザの肌色を検出したと判定する。
【００１５】
第４の発明では、肌色領域算出ステップは、撮像ステップで撮像して得られた画像における肌色の割合を算出する。検出判定ステップでは、肌色領域算出ステップで算出された割合が所定値以上であるときに、ユーザの肌色を検出したと判定する。なお、肌色領域算出ステップで算出された割合が所定値に満たないときには、ユーザの肌色を検出していないと判定する。
【００１６】
第４の発明によれば、撮像した画像から肌色の領域の割合を算出して肌色の領域の割合が閾値以上の場合にユーザ検出と判定をするので、画像のサイズによらず、的確な判定が容易に行える。
【００１７】
第５の発明は、第３の発明に従属するゲームプログラムであって、所定の領域を設定する領域設定ステップをコンピュータにさらに実行させ、肌色領域算出ステップは、領域設定ステップで設定された所定の領域内における肌色の領域の大きさを算出する。
【００１８】
第５の発明では、ゲームプログラムはコンピュータに領域設定ステップ（Ｓ１１）をさらに実行させる。領域設定ステップでは、所定の領域を設定し、肌色領域算出ステップでは、領域設定ステップで設定された所定の領域内における肌色の領域の大きさを算出する。
【００１９】
第５の発明によれば、所定の領域において肌色の領域を判定するので、たとえば顔が表示される可能性が高い領域を所定の領域として選ぶことで、より正確にユーザが操作していることを判定できる。なお、所定の領域は、ある実施例では固定的に設定されるが、他の実施例ではユーザ操作により可変的に設定してもよい。
【００２０】
第６の発明は、第１の発明に従属するゲームプログラムであって、検出判定ステップは、撮像ステップで撮像して得られた画像を示す画像データに基づいて、ユーザの顔の全部または一部を検出したか否かを判定することにより、ユーザを検出したか否かを判定する。
【００２１】
第７の発明は、第１ないし第６のいずれかの発明に従属するゲームプログラムであって、マイク入力情報が所定の条件を満たしたか否かを判定するマイク入力判定ステップをコンピュータにさらに実行させ、処理ステップは、検出判定ステップでユーザを検出したと判定され、かつ、マイク入力判定ステップで所定の条件を満たしたと判定されたとき、マイク入力情報に基づいてゲーム処理を行う。
【００２２】
第７の発明では、ゲームプログラムはコンピュータにマイク入力判定ステップ（Ｓ２５，Ｓ６５）をさらに実行させる。マイク入力判定ステップでは、マイク入力情報が所定の条件を満たしたか否かを判定する。処理ステップでは、検出判定ステップでユーザを検出したと判定され、かつ、マイク入力判定ステップで所定の条件を満たしたと判定されたとき、マイク入力情報に基づいてゲーム処理を行う。なお、検出判定ステップでユーザを検出していないと判定されるか、または、マイク入力判定ステップで所定の条件を満たしていないと判定されたときには、マイク入力情報に基づくゲーム処理は行われない。
【００２３】
第７の発明によれば、マイク入力情報が所定の条件を満たした場合にマイクの入力を有効にするので、たとえばパワーが一定値以上であるという条件を所定の条件として設定することで、誤検出を防止できる。
【００２４】
第８の発明は、第１ないし第７のいずれかの発明に従属するゲームプログラムであって、ユーザを予め撮像する予行撮像ステップ、および予行撮像ステップで予めユーザを撮像して得られた画像を示す画像データに基づいて、ユーザの特徴を示す特徴データを算出する、特徴データ算出ステップをコンピュータにさらに実行させ、検出判定ステップは、撮像ステップで撮像して得られた画像を示す画像データと特徴データ算出ステップで算出された特徴データとに基づいて、ユーザを検出したか否かを判定する。
【００２５】
第８の発明では、ゲームプログラムはコンピュータに予行撮像ステップ（Ｓ５，Ｓ４５）および特徴データ算出ステップ（Ｓ７，Ｓ４７）をさらに実行させる。予行撮像ステップでユーザを予め撮像し、特徴データ算出ステップでは、予めユーザを撮像して得られた画像を示す画像データに基づいて、ユーザの特徴を示す特徴データを算出する。検出判定ステップ（Ｓ２３，Ｓ６３）では、撮像ステップで撮像して得られた画像を示す画像データと特徴データ算出ステップで算出された特徴データとに基づいて、ユーザを検出したか否かを判定する。
【００２６】
第８の発明によれば、ユーザの特徴データを基準にすることで、より正確にユーザを検出できる。
【００２７】
第９の発明は、第８の発明に従属するゲームプログラムであって、特徴データ算出ステップは、予めユーザを撮像して得られた画像を示す画像データに基づいて、ユーザの肌色の特徴に応じた肌色閾値を算出し、特徴データ算出ステップで算出された肌色閾値に基づいて、撮像ステップで撮像して得られた画像から肌色の画像を抽出する肌色画像抽出ステップ、および撮像ステップで撮像して得られた画像を示す画像データと肌色画像抽出ステップで抽出された肌色画像を示す画像データとに基づいて、当該画像における肌色の領域の大きさを算出する肌色領域算出ステップをコンピュータにさらに実行させ、検出判定ステップは、肌色領域算出ステップで算出された肌色領域の大きさが所定値以上であるときに、ユーザを検出したと判定する。
【００２８】
第９の発明では、ゲームプログラムはコンピュータに肌色画像抽出ステップ（Ｓ１９）および肌色領域算出ステップ（Ｓ２１）をさらに実行させる。特徴データ算出ステップ（Ｓ７）では、予めユーザを撮像して得られた画像を示す画像データに基づいて、ユーザの肌色の特徴に応じた肌色閾値を算出する。肌色画像抽出ステップ（Ｓ１９）では、算出ステップで算出された肌色閾値に基づいて、撮像ステップで撮像して得られた画像から肌色の画像を抽出する。肌色領域算出ステップ（Ｓ２１）では、撮像ステップで撮像して得られた画像を示す画像データと肌色画像抽出ステップで抽出された肌色画像を示す画像データとに基づいて、当該画像における肌色の領域の大きさを算出する。そして検出判定ステップ（Ｓ２３）では、肌色領域算出ステップで算出された肌色領域の大きさが所定値以上であるときに、ユーザを検出したと判定する。なお、肌色領域算出ステップで算出された肌色領域の大きさが所定値に満たないときには、ユーザを検出していないと判定する。
【００２９】
つまり、ここでは、肌色閾値をユーザの肌色の特徴データの１つとして算出している。なお、ある実施例では、肌色閾値を、予めユーザを撮像して得られた画像を示す画像データに基づいて補正している（言い換えれば補正値を算出している）が、ここでいう肌色閾値の算出には、このような補正ないし補正値の算出も含まれる。
【００３０】
第９の発明によれば、肌色の特徴に応じた肌色閾値を用いて肌色領域を抽出することで、さらに正確なユーザ検出を簡単に行える。
【００３１】
第１０の発明は、第８の発明に従属するゲームプログラムであって、特徴データ算出ステップ（Ｓ４７）は、予めユーザを撮像して得られた画像を示す画像データに基づいて、ユーザの肌色の特徴を示す肌色特徴データを算出し、検出判定ステップ（Ｓ６３）は、撮像ステップで撮像して得られた画像を示す画像データと特徴データ算出ステップで算出された肌色特徴データとに基づいて、ユーザを検出したか否かを判定する。
【００３２】
第１０の発明によれば、特徴データとして肌色の特徴を示す肌色特徴データを用いることで、正確なユーザ検出を簡単に行える。
【００３３】
第１１の発明は、マイクから入力されたマイク入力情報に基づいてゲーム処理を実行するゲーム装置であって、ユーザを撮像する撮像手段（１６，Ｓ１３〜Ｓ１７，Ｓ５３〜Ｓ５７）、撮像手段で撮像して得られた画像を示す画像データに基づいて、ユーザを検出したか否かを判定する検出判定手段（Ｓ２３，Ｓ６３）、および検出判定手段でユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を行う処理手段（Ｓ３１，Ｓ７１）を備える。
【００３４】
第１１の発明によれば、第１の発明と同様に、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる。
【００３５】
第１２の発明は、第１１の発明に従属するゲーム装置であって、撮像方向と集音方向とが略平行（それぞれｚ軸と略平行）となるようにカメラ（１６）およびマイク（３２）が設けられる。
【００３６】
第１２の発明によれば、撮像方向と集音方向とが略平行なので、マイク入力の検出とユーザの検出を同時行うことができるとともに、検出の精度を向上させることができる。
【発明の効果】
【００３７】
この発明によれば、ユーザが検出されていない状態ではマイク入力が無効化され、ユーザが検出されている状態ではマイク入力が有効化されるので、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる、ゲームプログラムおよびゲーム装置が実現される。
【００３８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３９】
図１〜図３には、本発明の一実施例であるゲーム装置１０の外観が示される。ゲーム装置１０は折り畳み型のゲーム装置であり、図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。また、図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置の側面図である。ゲーム装置１０は、２つの表示装置（ＬＣＤ１２および１４）および２つのカメラ（カメラ１６および１８）を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
【００４０】
ゲーム装置１０は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
【００４１】
ゲーム装置１０は、下側ハウジング２０および上側ハウジング２２という２つのハウジングを有する。下側ハウジング２０と上側ハウジング２２とは、開閉可能（折り畳み可能）に接続されている。この実施例では、各ハウジング２０および２２はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００４２】
上側ハウジング２２は、下側ハウジング２０の上側の一部で回動自在に支持されている。これによって、ゲーム装置１０は、閉状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約０°の状態（図３参照））と、開状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約１８０°の状態（図２参照））とをとることができる。ユーザは通常、開状態でゲーム装置１０を使用し、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング２０と上側ハウジング２２とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング２２を下側ハウジング２０に対して任意の角度で静止させることができる。
【００４３】
まず、下側ハウジング２０に設けられる構成について説明する。図１に示すように、ゲーム装置１０は、下側ＬＣＤ（液晶表示装置）１２を有する。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング２０の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング２０に収納される。下側ＬＣＤ１２は、下側ハウジング２０の内側面に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置１０は任意の解像度の表示装置を利用することができる。なお、ゲーム装置１０を撮像装置として利用する場合、下側ＬＣＤ１２は主に、カメラ１６または１８で撮像されている画像をリアルタイムに表示（スルー表示）するために用いられる。
【００４４】
下側ハウジング２０の内側面はほぼ平面状に形成される。当該内側面の中央には、下側ＬＣＤ１２を露出させるための開口部２０ｂが形成される。当該開口部２０ｂの左側（図示ｙ軸負側）には開口部２０ｃが形成され、当該開口部２０ｂの右側には開口部２０ｄが形成される。開口部２０ｂおよび２０ｃは、各キートップ（各ボタン２４ａ〜２４ｅの上面）を露出させるためのものである。そして、下側ハウジング２０の内部に収納される下側ＬＣＤ１２の画面が開口部２０ｂから露出し、各キートップが開口部２０ｃおよび２０ｄから露出される。このように、下側ハウジング２０の内側面には、中央に設けられる下側ＬＣＤ１２用の開口部２０ｂの左右両側に非画面領域（図１に示す点線領域Ａ１およびＡ２。具体的には、各ボタン２４ａ〜２４ｅを配置するための領域；ボタン配置領域）がそれぞれ設けられる。
【００４５】
下側ハウジング２０には、入力装置として、各ボタン２４ａ〜２４ｉおよびタッチパネル２８が設けられる。図１に示されるように、各ボタン２４ａ〜２４ｉのうち、方向入力ボタン２４ａ、ボタン２４ｂ、ボタン２４ｃ、ボタン２４ｄ、ボタン２４ｅ、および電源ボタン２４ｆは、下側ハウジング２０の内側面に設けられる。方向入力ボタン２４ａは例えば選択操作等に用いられ、各ボタン２４ｂ〜２４ｅは例えば決定操作やキャンセル操作等に用いられる。電源ボタン２４ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。ここでは、方向入力ボタン２４ａおよび電源ボタン２４ｆは、下側ハウジング２０の中央付近に設けられる下側ＬＣＤ１２に対して一方の側の（図１では左側）に設けられ、ボタン２４ｂ〜２４ｅは下側ＬＣＤ１２に対して他方の側（図１では右側）に設けられる。方向入力ボタン２４ａおよびボタン２４ｂ〜２４ｅは、ゲーム装置１０に対する各種操作を行うために用いられる。
【００４６】
図３（Ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（Ｂ）は当該ゲーム装置１０の正面図であり、図３（Ｃ）は当該ゲーム装置１０の右側面図であり、そして図３（Ｄ）は当該ゲーム装置１０の背面図である。図３（Ｃ）に示されるように、また、図３（Ａ）に示されるように、音量ボタン２４ｉは、下側ハウジング２０の左側面に設けられる。音量ボタン２４ｉは、ゲーム装置１０が備えるスピーカ３４の音量を調整するために用いられる。また、図３（Ｄ）に示されるように、ボタン２４ｈは、下側ハウジング２０の上面の右端部に設けられる。ボタン２４ｇは、下側ハウジング２０の上面の左端部に設けられる。各ボタン２４ｇおよび２４ｈは、ゲーム装置１０に対して例えば撮影指示操作（シャッタ操作）を行うために用いられる。各ボタン２４ｇおよび２４ｈの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン２４ｈを使用し、左利きのユーザはボタン２４ｇを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置１０は、各ボタン２４ｇおよび２４ｈを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして（メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく）、右利き設定のときにはボタン２４ｈのみ有効とし、左利き設定のときにはボタン２４ｇのみ有効とするようにしてもよい。
【００４７】
図１に示されるように、ゲーム装置１０は、各操作ボタン２４ａ〜２４ｉとは別の入力装として、タッチパネル２８をさらに備えている。タッチパネル２８は、下側ＬＣＤ１２の画面上に装着されている。なお、この実施例では、タッチパネル２８は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル２８として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル２８の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング２０の右側面には挿入口３０（図１および図３（Ｄ）に示す点線）が設けられている。挿入口３０は、タッチパネル２８に対する操作を行うために用いられるタッチペン３６を収納することができる。なお、タッチパネル２８に対する入力は通常タッチペン３６を用いて行われるが、タッチペン３６に限らずユーザの指でタッチパネル２８を操作することも可能である。
【００４８】
図３（Ａ）に示されるように、下側ハウジング２０の右側面には開閉可能なカバー部１１Ｂが設けられる。このカバー部１１Ｂの内側には、ゲーム装置１０とメモリカード３８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード３８は、コネクタに着脱自在に装着される。メモリカード３８は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００４９】
図１に示されるように、下側ハウジング２０の軸部２０ａの左側部分には、３つのＬＥＤ２６ａ〜２６ｃが取り付けられる。ここで、ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ２６ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ２６ｂは、ゲーム装置１０の充電中に点灯する。第３ＬＥＤ２６ｃは、ゲーム装置１０の電源がオンである場合に点灯する。したがって、３つのＬＥＤ２６ａ〜２６ｃによって、ゲーム装置１０の通信確立状況、充電状況、および、電源のオン／オフ状況をユーザに通知することができる。
【００５０】
以上に説明したように、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ユーザは、ゲーム装置１０を使用する際には下側ハウジング２０を把持してゲーム装置１０に対する操作を行うことができる。図５は、ユーザがゲーム装置１０を両手で把持した様子を示す図である。図５に示すように、ユーザは、各ＬＣＤ１２および１４がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング２０の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング２０を把持したまま、各ボタン２４ａ〜２４ｅに対する操作を親指で行い、ボタン２４ｇおよび２４ｈに対する操作を人差し指で行うことができる。
【００５１】
一方、上側ハウジング２２には、画像を撮像するための構成（カメラ）、および、撮像した画像を表示するための構成（表示装置）が設けられる。以下、上側ハウジング２２に設けられる構成について説明する。
【００５２】
図１に示すように、ゲーム装置１０は、上側ＬＣＤ１４を有する。上側ＬＣＤ１４は上側ハウジング２２に収納される。上側ＬＣＤ１４は横長形状であり、長辺方向が上側ハウジング２２の長辺方向に一致するように配置される。上側ＬＣＤ１４は、上側ハウジング２２の内側面（ゲーム装置１０が閉状態となった場合に内側となる面）に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、上側ＬＣＤ１４の画面が汚れたり傷ついたりすることを防止することができる。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ１４に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側ＬＣＤ１４上にもタッチパネルを設けてもよい。
【００５３】
また、ゲーム装置１０は、２つのカメラ１６および１８を有する。各カメラ１６および１８はともに上側ハウジング２２に収納される。図１に示されるように、内側カメラ１６は、上側ハウジング２２の内側面に取り付けられる。一方、図３（Ｂ）に示されるように、外側カメラ１８は、内側カメラ１６が取り付けられる面の反対側の面、すなわち、上側ハウジング２２の外側面（ゲーム装置１０が閉状態となった場合に外側となる面）に取り付けられる。これによって、内側カメラ１６は、上側ハウジング２２の内側面が向く方向を撮像することが可能であり、外側カメラ１８は、内側カメラ１６の撮像方向の逆方向、すなわち、上側ハウジング２２の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、２つのカメラ１６および１８が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置１０を持ち替えることなく、異なる２方向を撮像することができる。例えば、ユーザは、ゲーム装置１０からユーザの方を見た景色を内側カメラ１６で撮影することができるとともに、ゲーム装置１０からユーザの反対側の方向を見た景色を外側カメラ１８で撮影することができる。
【００５４】
また、内側カメラ１６は、上側ハウジング２２の下側の中央部に形成される軸部２２ａの中央に取り付けられる。つまり、内側カメラ１６は、２つのハウジング２０および２２が接続される部分の中央に取り付けられる。したがって、ゲーム装置１０を開状態にした場合、内側カメラ１６は、２つのＬＣＤ１２および１４の間に配置されることになる（図１参照）。換言すれば、内側カメラ１６は、ゲーム装置１０の中心付近に配置されることになる。なお、「ゲーム装置１０の中心」とは、ゲーム装置１０の操作面（開状態における各ハウジング２０および２２の内側面からなる面）の中心という意味である。なお、内側カメラ１６は、ＬＣＤ１２および１４の横方向の中心付近に配置されているということもできる。
【００５５】
この実施例では、ゲーム装置１０を開状態にした場合に内側カメラ１６はゲーム装置１０の中心付近に配置されるので、ユーザは、内側カメラ１６によってユーザ自身を撮影する場合、ユーザがゲーム装置１０に正対する位置でゲーム装置１０を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
【００５６】
また、図３（Ｂ）に示されるように、外側カメラ１８は、ゲーム装置１０を開状態とした場合において上側ハウジング２２の上部（下側ハウジング２０から遠い側の部分）に配置される。なお、外側カメラ１８は、ゲーム装置１０を把持するユーザを撮影するものではないので、ゲーム装置１０の中心に設ける必要性は高くない。
【００５７】
また、図１または図３（Ｂ）に示されるように、マイク３２は、上側ハウジング２２に収納されている。具体的には、マイク３２は、上側ハウジング２２の軸部２２ａに取り付けられる。この実施例では、マイク３２は、内側カメラ１６の周囲（図ではｙ軸の側方）に取り付けられ、より具体的には、内側カメラ１６からｙ軸正方向側の側方に取り付けられる。また、軸部２２ａにおいては、マイク３２がゲーム装置１０外部の音を検知することができるように、マイク３２に対応する位置（内側カメラ１６の側方）にマイクロフォン用孔２２ｃが設けられる。なお、マイク３２は下側ハウジング２０に収納されてもよい。たとえば、マイクロフォン用孔２２ｃを下側ハウジング２０の内側面、具体的には下側ハウジング２０の内側面の左下部分（ボタン配置領域Ａ１）に設け、マイク３２を、下側ハウジング２０内における、マイクロフォン用孔２２ｃの近傍に配置することができる。
【００５８】
また、マイク３２は、その集音方向（感度が最大となる方向）が内側カメラ１６の撮像方向（光軸）と略並行（言い換えれば集音方向および撮像方向がそれぞれｙ軸と略並行）となる向きに取り付けられる。これによって、内側カメラ１６の撮像範囲内で発せられた音声は、マイク３２によって好適に捉えられる。すなわち、マイク３２入力の検出とユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
【００５９】
図３（Ｂ）に示されるように、上側ハウジング２２の外側面には、第４ＬＥＤ２６ｄが取り付けられる。第４ＬＥＤ２６ｄは、外側カメラ１８の周囲（この実施例では、外側カメラ１８の右側。図１７（ｂ）に示される例では、開状態において外側カメラ１８の上側）に取り付けられる。第４ＬＥＤ２６ｄは、内側カメラ１６または外側カメラ１８によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ１６または外側カメラ１８によって動画が撮影される間点灯する。第４ＬＥＤ２６ｄによって、ゲーム装置１０による撮影が行われた（行われている）ことを撮影対象者に通知することができる。
【００６０】
また、上側ハウジング２２の内側面はほぼ平面状に形成される。図１に示すように、当該内側面の中央には、上側ＬＣＤ１４を露出させるための開口部２１Ｂが形成される。上側ハウジング２２の内部に収納される上側ＬＣＤ１４の画面は、開口部２１Ｂから露出する。また、上記開口部２１Ｂの左右両側には音抜き孔２２ｄがそれぞれ１つずつ形成される。音抜き孔２２ｄの奥の上側ハウジング２２内にはスピーカ３４が収納されている。音抜き孔２２ｄは、スピーカ３４からの音を外部に放出するための孔である。
【００６１】
このように、上側ハウジング２２の内側面には、中央に設けられる上側ＬＣＤ１４用の開口部２１Ｂの左右両側に非画面領域（図１に示す点線領域Ｂ１およびＢ２。具体的には、スピーカ３４を配置するための領域；スピーカ配置領域）がそれぞれ設けられる。２つの音抜き孔２２ｄは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域（下側ハウジング２０に近い側の領域）に配置される。
【００６２】
なお、上記のように、下側ハウジング２０および上側ハウジング２２に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置１０は、図５に示すような横持ちで把持される場合だけでなく、縦持ち（図５に示す状態からゲーム装置１０を左または右回りに９０°回転させた状態）で把持される場合にも持ちやすい構成となっている。
【００６３】
以上に説明したように、上側ハウジング２２には、画像を撮像するための構成であるカメラ１６および１８、および、撮像された画像を表示するための表示手段である上側ＬＣＤ１４が設けられる。一方、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ゲーム装置１０を撮像装置として使用する際には、ユーザは、上側ＬＣＤ１４に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング２０を把持して入力装置に対する入力を行うことができる。
【００６４】
また、上側ハウジング２２のカメラ１６近傍には、音声を入力するための構成であるマイク３２が設けられており、したがってゲーム装置１０は、録音装置としても使用可能である。さらに、詳細は後述するが、ユーザがマイク３２を通して音声入力を行い、ゲーム装置１０はこのマイク入力情報に基づいてゲーム処理を実行することもできる。
【００６５】
図４は、ゲーム装置１０の内部構成を示すブロック図である。図４に示すように、ゲーム装置１０は、ＣＰＵ４２、メインメモリ４８、メモリ制御回路５０、保存用データメモリ５２、プリセットデータ用メモリ５４、メモリカードインターフェース（メモリカードＩ／Ｆ）４４、無線通信モジュール５６、ローカル通信モジュール５８、リアルタイムクロック（ＲＴＣ）３９、電源回路４６、およびインターフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング２０（または上側ハウジング２２でもよい）内に収納される。
【００６６】
ＣＰＵ４２は、各種のプログラムを実行するための情報処理手段である。ゲーム装置１０を撮像装置として利用する場合には、そのためのプログラムがゲーム装置１０内のメモリ（例えば保存用データメモリ５２）に記憶される。ＣＰＵ４２が当該プログラムを実行することで、ゲーム装置１０は撮影装置として機能する。なお、ＣＰＵ４２によって実行されるプログラムは、ゲーム装置１０内のメモリに予め記憶されていてもよいし、メモリカード３８から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
【００６７】
ＣＰＵ４２には、メインメモリ４８、メモリ制御回路５０、およびプリセットデータ用メモリ５４が接続される。また、メモリ制御回路５０には保存用データメモリ５２が接続される。メインメモリ４８は、ＣＰＵ４２のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ４８は、ゲーム処理や撮像処理に用いられる各種データを記憶したり、外部（メモリカード３８や他の機器等）から取得されるプログラムを記憶したりする。この実施例では、メインメモリ４８として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ５２は、ＣＰＵ４２によって実行されるプログラムや各カメラ１６および１８によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ５２は、例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路５０は、ＣＰＵ４２の指示に従って、保存用データメモリ５２に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ５４は、ゲーム装置１０において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ５４としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ４２と接続されるフラッシュメモリを用いることができる。
【００６８】
メモリカードＩ／Ｆ４４はＣＰＵ４２に接続される。メモリカードＩ／Ｆ４４は、コネクタに装着されたメモリカード３８に対するデータの読み出しおよび書き込みをＣＰＵ４２の指示に従って行う。この実施例では、各カメラ１６および１８によって撮像された画像データがメモリカード３８に書き込まれたり、メモリカード３８に記憶された画像データがメモリカード３８から読み出されて保存用データメモリ５２に記憶されたりする。
【００６９】
無線通信モジュール５６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール５８は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール５６およびローカル通信モジュール５８はＣＰＵ４２に接続される。ＣＰＵ４２は、無線通信モジュール５６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール５８を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００７０】
また、ＣＰＵ４２には、ＲＴＣ６０および電源回路４６が接続される。ＲＴＣ６０は、時間をカウントしてＣＰＵ４２に出力する。ＣＰＵ４２は、ＲＴＣ６０によって計時された時間に基づいて、現在時刻（日付）を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路４６は、ゲーム装置１０が有する電源（電池；下ハウジングに収納される）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００７１】
また、ゲーム装置１０は、マイク３２およびスピーカ３４を備えている。マイク３２およびスピーカ３４はそれぞれＩ／Ｆ回路４０に接続される。マイク３２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４０に出力する。スピーカ３４は、Ｉ／Ｆ回路４０からの音声信号に応じた音声を出力する。Ｉ／Ｆ回路４０はＣＰＵ４２に接続される。また、タッチパネル２８はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク３２およびスピーカ３４の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ４８の音声エリア８０（図７参照）に書き込まれる。ゲーム装置１０を録音装置として利用する場合には、音声エリア８０に格納された音声データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、詳細は後述するが、音声エリア８０に格納された音声データ（マイク入力情報）は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル２８からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ４２に出力する。タッチ位置データは、タッチパネル２８の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル２８からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ４２は、タッチ位置データを取得することにより、タッチパネル２８に対して入力が行われた位置を知ることができる。
【００７２】
操作部２４は、上記各ボタン２４ａ〜２４ｉからなり、ＣＰＵ４２に接続される。操作部２４からＣＰＵ４２へは、各ボタン２４ａ〜２４ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ４２は、操作部２４から操作データを取得することによって、操作部２４に対する入力に従った処理を実行する。
【００７３】
各カメラ１６および１８はＣＰＵ４２に接続される。各カメラ１６および１８は、ＣＰＵ４２の指示に従って画像を撮像し、撮像した画像データをＣＰＵ４２に出力する。ＣＰＵ４２は、各カメラ１６および１８からの画像データをメインメモリ４８の画像エリア７８（図７参照）に書き込む。ゲーム装置１０を撮像装置として利用する場合には、画像エリア７８に格納された画像データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、詳細は後述するが、画像エリア７８に格納された画像データは、各種のゲーム処理にも利用される。
【００７４】
また、各ＬＣＤ１２および１４はＣＰＵ４２に接続される。各ＬＣＤ１２および１４はＣＰＵ４２の指示に従って画像を表示する。ゲーム装置１０を撮像装置として利用する場合、ＣＰＵ４２は、各カメラ１６および１８のいずれかから取得した画像を上側ＬＣＤ１４に表示させ、所定の処理によって生成した操作画面を下側ＬＣＤ１２に表示させる。ゲーム装置１０でゲームをプレイする場合には、ＬＣＤ１２および１４の一方または両方にゲーム画像が表示される。
【００７５】
以上のように構成されたゲーム装置１０である種のゲーム（たとえば「マント吹き飛ばしゲーム」）を行うとき、ＣＰＵ４２は、各カメラ１６および１８で撮像された画像データおよび／またはマイク３２から入力されたマイク入力情報に基づいてゲーム処理を実行する。この実施例の「マント吹き飛ばしゲーム」の場合、内側カメラ１６からの画像データとマイク３２からのマイク入力情報とがゲーム処理に利用される。具体的には、マントを羽織ったキャラクタがＬＣＤ１４に表示され、プレイヤがこのキャラクタに向かって息を吹きかけると、この息吹きかけによる音声がマイク３２で捉えられる。こうしてマイク３２から入力されたマイク入力情報に基づいてＣＰＵ４２がゲーム処理を実行することで、表示画面内ではキャラクタのマントがあたかもプレイヤの息で吹き飛ばされたような変化が生じる。「マント吹き飛ばしゲーム」の画面変化の一例を図６に示す。図６（Ａ）がゲーム開始時の画面であり、無風状態のためキャラクタＣｒが着用しているマントＭｎは垂れ下がっている。図６（Ｂ）がゲーム進行時の画面であり、息吹きかけの結果マントＭｎが飛ばされつつある。なお、図６中に網掛けを施した領域は、ユーザの顔の肌色の部分（肌色領域）を示すシルエットＳ１である。
【００７６】
ところが、人の多い場所や風の強い屋外では、ユーザ以外の人の声や風の音もマイク３２で拾われるため、ユーザが息を吹きかけなくてもゲームが進行する場合がある。そこで、この実施例では、内側カメラ１６からの画像データに基づいてユーザの有無を判別し、ユーザがいない状況では、たとえ音声入力が検出されてもゲームを進行させないようにしている。ユーザの有無は、ゲーム画面（撮像領域Ｅｐ）内の対象領域Ｅｄに占める肌色領域の割合（以下「肌色割合」）に基づいて判別される（図１０参照）。なお、ユーザの有無は、ゲーム画面（撮像領域Ｅｐ）内の対象領域Ｅｄに占める肌色領域の割合に基づいて判別されなくてもよく、内側カメラ１６からの画像データに基づいて算出した肌色領域の大きさに基づいて判別されるものであればどのようなものであってもよい。
【００７７】
図７には、マント吹き飛ばしゲームをプレイする場合のメモリマップが示される。図７を参照して、メインメモリ４８にはプログラムエリア４８ａおよびデータエリア４８ｂが形成され、プログラムエリア４８ａには、図１２〜図１７のフローチャートに対応するメインプログラム７０が格納される。メインプログラム７０は、図１５および図１６のフローチャートに対応する閾値調整プログラム７２と、図１７のフローチャートに対応する肌色抽出プログラム７４とをサブルーチンとして含む。プログラムエリア４８ａにはさらに、Ｉ／Ｆ回路４０等を制御して映像や音声の入出力を行うための入出力制御プログラム７６も格納されている。一方、データエリア４８ｂは、画像エリア７８，音声エリア８０および閾値エリア８２などを含む。画像エリア７８には各カメラ１６および１８からの映像データが一時記憶され、音声エリア８０にはマイク３２からの音声データ（マイク入力情報）が一時記憶される。閾値エリア８２には、肌色抽出のための閾値が記憶される。
【００７８】
図１２〜図１４を参照して、ゲームが開始されると、ＣＰＵ４２は、ステップＳ１で初期処理を実行する。初期処理は、肌色閾値の初期化ならびに画像エリア７８および音声エリア８０のクリアなどの処理を含む。次のステップＳ３では、肌色抽出のための閾値調整を行うか否かを判別し、ＮＯであればステップＳ９に進む。例えば、後述する閾値調整しょりが終了した後に閾値調整フラグをオンにし、ステップＳ３で既に閾値調整が行われた場合に、ステップＳ３でＮＯと判別される。操作部２４によって実行を示す操作が行われると、ステップＳ３でＹＥＳと判別し、ステップＳ５に進む。ステップＳ５では、複数回ここでは３回の撮像命令を発行した後、メインメモリ４８の画像エリア７８から３枚の画像を取得する。
【００７９】
ここで、撮像命令は、ユーザが所定のポーズを取った状態で発行される。ここで所定のポーズは、たとえば、顔の横に右手をかざしたポーズである。このようなポーズのガイドとなる画像（図８における顔の輪郭画像および手の輪郭画像）を表示した状態で、撮像タイミングを知らせる「３，２，１，バシャ」のような音声を出力しつつ、「１」から「バシャ」までの間に撮像命令を繰り返し発行することによって、ユーザが所定のポーズを取った状態で複数回の撮像を実行することができる。
【００８０】
なお、このように撮影された画像のうちの１枚はＬＣＤ１２および１４に表示されて、プレイヤに提示される。これにより、撮影した画像は、ゲームをプレイする（プレイした）プレイヤが誰かという証明画像として用いることができる。
【００８１】
なお、他の実施例では、閾値調整用の画像は１枚だけでもよい。ただし、枚数を増やすことで、自動補正処理等で画面の色味や輝度が変化しても、閾値の均質化を図ることができる。
【００８２】
次のステップＳ７では、取得した３枚の画像に基づいて、肌色抽出用の閾値をユーザの肌色の特徴に適合するように調整する。調整後、ステップＳ９に進む。なお、この閾値調整処理の詳細については後述する。
【００８３】
ステップＳ９では、ゲームを開始するか否かを判別し、ＮＯであればステップＳ３に戻る。操作部２４によって開始を示す操作が行われると、ステップＳ９でＹＥＳと判別し、ステップＳ１１に進んで肌色検出の対象領域（Ｅｄ）を設定する。ここでは、図１０に示すように、対象領域Ｅｄとして、撮像領域Ｅｐ（０，０）〜（２５６，１９２）の略中央に位置する矩形領域（１１２，８０）〜（１４４，９６）が設定される。つまり、この実施例の対象領域Ｅｄは、横方向３２ドット＊縦方向１６ドット＝５１２ドットのサイズを有する。なお、対象領域Ｅｄの形状は矩形とは限らず、円形ないし楕円形でも、正六角形などの多角形などでもよい。対象領域Ｅｄのサイズや位置も適宜変更してよい。また、対象領域は、必ずしも固定的とは限らず、他の実施例ではユーザ操作により可変的に設定してもよい。
【００８４】
その後、ステップＳ１３に進んで、繰り返し撮像（スルー撮影）およびマイク入力の開始命令を発行する。応じて、カメラによる繰り返し撮像およびマイク３２による音声入力がそれぞれ開始される。繰り返し撮像により得られた各フレームの画像はメインメモリ４８の画像エリア７８に書き込まれ、マイク入力により得られたマイク入力情報（音声データ）はメインメモリ４８の音声エリア８０に書き込まれる。なお、この実施例では、繰り返し撮像およびマイク入力を略同時に開始しているが、マイク入力は、繰り返し撮像の開始前に開始されてもよい。
【００８５】
ここで、画像エリア７８は、所定数フレーム（たとえば３０フレーム）の画像を記憶可能なサイズを有し、画像エリア７８内の画像のうち最古のフレームの画像が、最新のフレームの画像によって上書きされていく。音声エリア８０もまた、３０フレーム相当のマイク入力情報を記憶可能なサイズを有し、音声エリア８０内のマイク入力情報のうち最古のフレームに対応するマイク入力情報が、最新のフレームに対応するマイク入力情報によって上書きされていく。したがって、画像エリア７８および音声エリア８０には常時、直近３０フレームの画像およびこれに対応するマイク入力情報が格納されていることになる。
【００８６】
次のステップＳ１５では、ＲＴＣ６０の出力を参照して、画像の取得タイミングが到来したか否かを判別し、ＮＯであれば待機する。たとえば、画像を毎フレーム取得する場合、１／６０秒が経過する度にステップＳ１５でＹＥＳと判別し、ステップＳ１７に進んで、画像エリア７８から１フレームの画像を取得する。
【００８７】
次のステップＳ１９では、肌色閾値に基づいて、取得した画像から肌色の画像を抽出する。なお、この肌色抽出処理の詳細については後述する。そして、ステップＳ２１で対象領域Ｅｄに占める肌色領域の割合を算出し、算出結果に基づいてユーザの有無を判別する。算出結果が閾値たとえば６４／５１２よりも大きければ、ステップＳ２３でＹＥＳと判別し、ステップＳ２５に進む。算出結果が６４／５１２以下であれば、ステップＳ２３でＮＯと判別し、ステップＳ１５に戻って同様の処理を繰り返す。
【００８８】
ステップＳ２５では、メインメモリ４８の音声エリア８０から１フレーム相当のマイク入力情報を取り込む。そしてステップＳ２７で、取り込んだマイク入力情報に基づいて音量（入力パワー）を算出した後、算出結果が閾値（たとえば４０ｄＢ）以上か否かをステップＳ２９で判別する。ステップＳ２９でＹＥＳであれば、ステップＳ３１でマイク入力情報に基づくゲーム処理を実行した後、ステップＳ３３に進む。一方、ステップＳ２９でＮＯであれば、ステップＳ３１のゲーム処理はスキップされ、次のステップＳ３３が直ちに実行される。
【００８９】
ステップＳ３３では、ゲーム終了条件が満足されたか否かを判別する。ゲーム終了条件は、たとえば「ゲームが成功する」，「ゲームが失敗する」および「終了操作が行われる」の３つの条件を含み、この中のいずれかが満足されるとステップＳ３３でＹＥＳと判別してゲームを終了する。３つの条件のどれも満足されなければ、ステップＳ３３でＮＯと判別し、ステップＳ１５に戻って同様の処理を繰り返す。
【００９０】
この実施例では、ゲーム成功またはゲーム失敗の判別のために、ゲームの進行度合いを示す評価値を導入する。評価値は、メインメモリ４８に記憶されており、ステップＳ１の初期処理で初期化（＝０）された後、ステップＳ２９で最初にＹＥＳと判別されたときインクリメントされる。そして、最初のインクリメントから１８フレーム（約０．２秒）後にもステップＳ２９でＹＥＳであれば、評価値はさらにインクリメントされる。このときＮＯであれば、評価値はデクリメントされる（他の実施例では現時点の値が維持されてもよい）。以降、同様の処理が１８フレームごとに繰り返され、評価値が“５”に達した時点でゲーム成功と判別される。評価値が“５”に到達する前に所定時間（たとえば１分）が経過すれば、ゲーム失敗と判別される。
【００９１】
したがって、図６（Ａ）のゲーム画面では、ステップＳ２９で最初にＹＥＳと判別されたときマントＭｎが捲り上がり始め、以降ステップＳ２９でＹＥＳと判別される度に（したがって０．２秒毎に）段階的に捲り上がっていく。そして、ステップＳ２９ＹＥＳの状態が１秒継続した時点で、ゲーム画面は図６（Ｂ）のようになり、この直後にマントＭｎが吹き飛ばされ、ゲームが成功したことになる。
【００９２】
次に、上記ステップＳ７の閾値調整処理について詳しく説明する。この実施例では、肌色抽出のための閾値は、色相下限，色相上限，彩度下限，彩度上限，輝度下限および輝度上限の６つの閾値を含む。これら６つの閾値の各々が、ステップＳ５で取得した３枚のフレームの画像（評価用画像データ）に基づいて、図１５および図１６に示す手順で調整される。以下、各ステップＳ１０１〜Ｓ１３３について説明する。
【００９３】
（Ｓ１０１）最初、６つの閾値の各々について、初期値，最小値および最大値（いずれも静的な値）を設定する。具体的には、色相下限の閾値について初期値２２０，最小値２１０および最大値２３０を設定し、色相上限の閾値について初期値２５，最小値２１および最大値３０を設定し、彩度下限の閾値について初期値１７，最小値１０および最大値３０を設定し、彩度上限の閾値について初期値１１４，最小値６０および最大値２１３を設定し、輝度下限の閾値について初期値１５，最小値７および最大値６８を設定し、そして輝度上限の閾値について初期値１８０，最小値１５２および最大値２３２を設定する。
【００９４】
ただし、色相については、３６０の角度を２５６段階に変換した値（０以上２５６未満）で処理される。つまり２５６は０と等価であり、色相は０→１→…→２５５→０→１→…のように循環する。よって、色相の初期値の場合、色相下限が２２０であり、色相上限が２５であるので、肌色としての抽出範囲は、２２０,２２１，２２２，…，２５４，２５５，０，１，…，２４，２５となる。
【００９５】
（Ｓ１０３）次に、属性判定用データとして、ステップＳ５における撮影時に表示されるガイド画像に対応したデータ（静的なデータ）を準備する。属性判定用データは、具体的には、画面内の各位置の画素が次の３種類のどの属性になるかを（ここでは２ドットの精度で）データ化したものであり、予め設定されてプログラムにデータとして含まれる。
【００９６】
属性Ａ…肌色であるべき
属性Ｂ…肌色以外であるべき
属性Ｃ…どちらでもよい（評価に関与しない）
属性判定用データの一例を図９に示す。図９を参照して、濃い網掛けを施された部分が属性Ａに、薄い網掛けを施された部分が属性Ｂに、そして何ら網掛けのない部分が属性Ｃにそれぞれ対応する。
【００９７】
次に、取得した３枚のフレームの画像のうち１つを選択して、評価用画像データとする。次のステップＳ１０５に進む。
【００９８】
（Ｓ１０５）色相下限の閾値に初期値（＝２２０）を与え、この初期値を現時点での最適値とする。そして、評価用画像データを（ここでは４ドット毎に）属性判定用データと比較することによって、肌色の抽出状態を評価する。この評価処理は、具体的には次のように行われる。属性判定用データで属性Ａの部分について、評価用画像データの対応部分が確かに肌色であったかどうかを判定し、確かに肌色であったと判定された部分のドット数を値Ａとする。属性判定用データで属性Ｂの部分については、評価用画像データの対応部分が誤って肌色であったかどうかを判定し、誤って肌色であったと判定された部分のドット数を値Ｂとする。属性Ｃの部分については、特に判定を行わなくてよい。こうして求めた値Ａから値Ｂを減算し、減算結果を評価値とする。この評価値が大きいほど、肌色をより好適に抽出できているとみなされる。
【００９９】
（Ｓ１０７）次に、色相下限の閾値に最小値（＝２１０）を与え、同様の評価処理を行う。（Ｓ１０９）これにより得られた評価値が、前回（つまり閾値に初期値を与えたとき）の評価値よりも上昇したか否かを判別する。判別結果によって、処理はステップＳ１１１〜Ｓ１１７とステップＳ１１９〜Ｓ１２９との２つの場合に分岐する。
【０１００】
（Ｓ１１１〜Ｓ１１７）Ｓ１０９で評価値が上昇した場合、現時点の閾値（つまり最小値）と現時点の最適値（つまり初期値）との中間の値（たとえば平均値）を求め、求めた中間の値を新たな閾値として同様の評価処理を行う。これにより得られた評価値を前回（つまり閾値に最小値を与えたとき）の評価値と比較し、より高い評価値が得られた方の閾値（つまり「最小値」および「最小値と最適値との中間の値」のいずれか）を現時点の最適値として採用する。そしてステップＳ１３１およびＳ１３３に進む。
【０１０１】
（Ｓ１１９〜Ｓ１２９）Ｓ１０９で評価値が上昇しなかった場合つまり現状維持または下降した場合、色相下限の閾値に最大値（＝２３０）を与えて同様の評価処理を行う。ここでも処理は２分岐する。今回の評価値が前回の評価値より上昇した場合、現時点の閾値（つまり最大値）と現時点の最適値（つまり初期値）との中間の値を求め、求めた中間の値を新たな閾値として同様の評価処理を行う。これにより得られた評価値を前回（つまり閾値に最小値を与えたとき）の評価値と比較し、より高い評価値が得られた方の閾値（つまり「最大値」および「最大値と最適値との中間の値」のいずれか）を現時点の最適値として採用する。一方、今回の評価値が前回の評価値より下降した場合もしくは現状維持の場合には、結局、当初の最適値（つまり初期値）がより好適であったことになるので、このまま確定する。そしてステップＳ１３１およびＳ１３３に進む。
【０１０２】
（Ｓ１３１）以降、色相上限，彩度下限，彩度上限，輝度下限および輝度上限の各閾値についても、上のステップＳ１０５〜Ｓ１２９と同様の処理を実行して、より好適な値を選択していく。
【０１０３】
（Ｓ１３３）残りの２枚のフレームの画像の各々についても、同様の処理を繰り返す。ただし、２フレーム目の処理では、１フレーム目の処理で求めた最適値を初期値とし、３フレーム目の処理では、２フレーム目の処理で求めた最適値を初期値とする。
【０１０４】
以上の処理を通じて、６つの閾値の各々は最適値に調整される。
【０１０５】
このように、この実施例では、ゲーム開始前にプレイヤを撮影した写真画像を用いて、現在の環境（光のあたり具体など）におけるプレイヤの肌色の閾値を調整する。これにより、ゲーム中の肌色検出を正確におこなうことができる。
【０１０６】
また、この実施例では、複数の写真画像を用いておこなう。これにより、より正確に閾値を調整することができ、また、ｎ枚目の写真画像により最適化された閾値をもとにｎ＋１枚目の評価処理をおこなうため効率的である。
【０１０７】
また、色相、彩度、輝度のそれぞれについて閾値を調整する。これにより、そのときの環境における閾値をより正確に設定することができる。なお、色相と彩度のみを調整してもよいし、色相と輝度のみを調整してもよい。
【０１０８】
また、肌色であるべき領域のみならず、肌色以外であるべき領域を判定するようにしてもよい。これにより、正確に閾値を設定することができる。
【０１０９】
なお、この実施例では、閾値調整処理はゲーム開始前に行われたが、これに代えて、またはこれに加えて、ゲームの途中で１回ないし複数回行われてもよい。また、ここで挙げた閾値や取得フレーム数は、好ましい一例に過ぎず、適宜変更されてよい。
【０１１０】
次に、上記ステップＳ１９の肌色抽出処理について詳しく説明する。この実施例では、上述のような調整処理を経た後の閾値に基づいて、図１７の手順で各フレームの画像から肌色部分が抽出される。以下、各ステップＳ２０１〜Ｓ２２５について説明する。
【０１１１】
（Ｓ２０１）最初、メインメモリ４８の画像エリア７８から１つのフレームの画像をＡＰＩ(Application Program Interface)により取得する。この画像は、２５６＊１９２のサイズを有し、ＲＧＢ（各成分５ビット）の形式に従う。
【０１１２】
（Ｓ２０３）次に、取得した画像に基づいて、抽出処理用のデータを構築する。このデータは、８＊８，４＊４および２＊２の３種類の格子状領域（それぞれ「８＊８格子」，「４＊４格子」および「２＊２格子」と呼ぶ）に対応して生成される。すなわち、２５６＊１９２の画像から、７６８（＝３２＊２４）個の８＊８格子と、３０７２（＝６４＊４８）個の４＊４格子と、１２２８８（＝６４＊４８）個の２＊２格子とが生成される。
【０１１３】
ここで、各格子のデータは、評価値，状態値および色値に関する情報を含む。評価値は、８ビットで記述され、肌色らしさを示す（ただし、８ビットのうち評価に用いられるのは０〜６４であり、２５５は無効を示す）。評価値が大きい格子ほど肌色らしいとみなされる。状態値は、１６ビットで記述され、抽出状況や肌色であるか肌色以外であるかの判別結果等を示す。色値は、１６ビットで記述され、ＲＧＢ５５５の形式に従う。ただし色値は、データの評価に際して、ＲＧＢ５５５形式から輝度，色相および彩度の３成分による形式へと変換される。状態値は、後述する各処理によって判定した内容（状態）を保持するためのデータであり、１６ビットのデータで示される。具体的には、肌色かどうかを示す１ビットの情報、周囲８つの格子のそれぞれについて肌色かどうかを示す８ビットの情報、強制的に自身を肌色とみなすための１ビットのフラグ、強制的に自身を肌色でないとみなすための１ビットのフラグで示され、余分な５ビットが付加される。
【０１１４】
（Ｓ２０５）次に、各格子に対し色値を準備する。具体的には、まず各２＊２格子について、そこに含まれる４つの画素から平均の色値を求め、これをその格子の色値とする。次に各４＊４格子について、そこに含まれる４つの２＊２格子に設定された色値（すなわち、４つの色値）から平均の色値を求め、これをその格子の色値とする。最後に各８＊８格子について、そこに含まれる４つの４＊４格子に設定された色値（すなわち、４つの色値）から平均の色値を求め、これをその格子の色値とする。これにより、小さい格子から大きい格子へ色値が反映される。
【０１１５】
（Ｓ２０７）次に、各８＊８格子に対し色値に中央値補正を加える。具体的には、注目する８＊８格子およびその周囲の８個の８＊８格子からなる計９個の８＊８格子において、色値に含まれる輝度の中央値（メディアン）を求め、これに対応する色値（つまり９個の色値の中で輝度が中央値である色値）を、当該注目８＊８格子の色値とする。これにより、各８＊８格子の色値には、周囲の色値が中央値による補正を通して反映される。
【０１１６】
（Ｓ２０９）次に、各８＊８格子に対し次の処理により状態値を初期化する。すなわち、上述の閾値の調整処理によって調整された閾値に基づいて各格子が肌色かどうかを判断し、状態値に反映する。具体的には、上述のようにして準備および補正した色値を基に、輝度、色相および彩度のそれぞれが、閾値の範囲内であるか範囲外であるかを選別（判定）する。
【０１１７】
（Ｓ２１１）次に、各８＊８格子に対し次の処理によって評価値を初期化する。すなわち、周辺の８＊８格子の状態値から、重み付けして評価値に反映する。具体的には、中央の格子の評価値は、対応する位置関係の格子に対して、閾値による判定結果が閾値内である格子を「１」とし、閾値による判定結果が閾値外である格子を「０」として、重み付けの値（係数）に掛け合わしたものの総和で算出される。各格子の重み付け係数をＷｉ（ｉは格子に付した番号：１−９）とし、各格子の閾値による判定結果の値をＨｉとすると、中央の格子の評価値Ｙは、次式により得られる。
【０１１８】
Y＝W1*H1+W2*H2+W3*H3+W4*H4+W5*H5+W6*H6+W7*H7+W8*H8+W9*H9
したがってたとえば、図１１（Ａ）に示すような重み付け係数をプリセットデータ用メモリ５４に準備し、閾値による判定で図２２に示すような結果が得られたとすると、中央の格子の評価値Ｙは、上式に基づいて次のように算出される。
【０１１９】
Y=(0/64)*0+(10/64)*0+(0/64)*1+(10/64)*0+(24/64)*1+(10/64)*1+(0/64)*0+(10/64)*1+(0/64)*0=44/64
なお、この実施例では図１１（Ａ）のような周囲１格子による重み付けを行ったが、他の実施例では、図１１（Ｂ）のような周囲２格子または図１１（Ｃ）のような周囲３格子による重み付けを行ってもよい。さらには、４格子以上の重み付けも可能であり、何ら重み付けを行わない実施例もあり得る。
【０１２０】
（Ｓ２１３）次に、各８＊８格子に対し次の処理によって評価値を補正する。すなわち、隣接する８＊８格子の評価値Ｙに基づいて、中心の８＊８格子の状態値を補正し、評価値に反映させる。
【０１２１】
具体的には、周囲の８つの８＊８格子のそれぞれの評価値Ｙが２０以上であれば、周囲の８＊８格子（周辺）は肌色で満たされているとみなし、自身の８＊８格子について初期化された評価値Ｙに拘わらず、自身の８＊８格子の評価値Ｙも肌色とする。つまり、状態値において、強制的に自身の８＊８格子を肌色とみなすためのフラグをオンする。
【０１２２】
一方、周囲の８つの８＊８格子のそれぞれの評価値Ｙが２０未満であれば、周囲の８＊８格子（周辺）は肌色でないとみなし、自身の８＊８格子について初期化された評価値Ｙに拘わらず、自身の８＊８格子の評価値Ｙも肌色でない(肌色以外である)とする。つまり、状態値において、強制的に自身の８＊８格子を肌色でないとみなすためのフラグをオンする。いずれの場合にも該当しなければ、すなわち周囲の８つの８＊８格子で２０未満の評価値Ｙと２０以上の評価値Ｙとが混在していれば、自身の８＊８格子の評価値Ｙは、ここでは何ら補正されずに維持される。
【０１２３】
なお、後述するように、この評価値補正処理は、４＊４格子や２＊２格子に対しても実行されるが、より上層（大きい格子）において、強制的に肌色とみなしたり、強制的に肌色でないとみなしたりしている場合には、その上層における結果が優先されることになる。
【０１２４】
（Ｓ２１５）次に、各８＊８格子に含まれる４個の４＊４格子に、当該８＊８格子自身の状態値を反映させる。具体的には、次の処理によって４＊４格子の状態値が初期化される。すなわち、８＊８格子の状態値がそれに含まれる４＊４格子のそれぞれの状態値の初期値として設定される。
【０１２５】
（Ｓ２１７）次に、各４＊４格子に対し上記（Ｓ２１１）と同様の処理によって評価値を初期化する。なお、重複する説明は省略する（以下同様）。
【０１２６】
（Ｓ２１９）次に、各４＊４格子に対し上記（Ｓ２１３）と同様の処理によって評価値を補正する。
【０１２７】
（Ｓ２２１）次に、各４＊４格子に含まれる４個の２＊２格子に、当該４＊４格子自身の状態値を反映させる。具体的には、次の処理によって２＊２格子の状態値が初期化される。すなわち、４＊４格子の状態値がそれに含まれる２＊２格子のそれぞれの状態値の初期値として設定される。
【０１２８】
（Ｓ２２３）次に、各２＊２格子に対し上記（Ｓ２１１）または（Ｓ２１７）と同様の処理によって評価値を初期化する。
【０１２９】
（Ｓ２２５）次に、各２＊２格子に対し上記（Ｓ２１３）または（Ｓ２１９）と同様の処理によって評価値を補正する。したがって、２×２画素の格子単位で、その状態値を参照することにより、肌色であるか否かを検出することができる。
【０１３０】
肌色画像の抽出は、こうして求められた各２＊２格子の評価値に基づいて行われる。すなわちＣＰＵ４２は、評価値が肌色を示す２＊２格子で構成された領域を肌色領域であるとみなし、ステップＳ１７で取得した画像から肌色領域に属する部分の画像を抽出する。
【０１３１】
このように、この実施例では、撮像により取得した画像に対して、まずは、比較的大きいサイズＡ（上述の例では８＊８）の各分割画像に対して、肌色か否かの判定処理（具体的には、色値の輝度、色相および彩度が一定範囲内であることを判定する処理）をおこない、サイズＡの各格子について判定結果Ａ（上述の例では、「状態値」）を生成する。そして、その後、比較的小さいサイズＢ（上述の例では４＊４）の格子について処理をおこなう。具体的には、まず、サイズＡの各格子の判定結果を用いてサイズＢの各格子の判定結果を設定する（上述のステップＳ２１５）。これにより、小さいサイズの格子については肌色か否かの判定処理（具体的には、色値の輝度、色相および彩度が一定範囲内であることを判定する処理）をおこなう必要がない。すなわち、処理負荷を軽減させることができる。そして、サイズＢの各格子の判定結果は周囲の格子の判定結果を用いて補正される（上述のステップＳ２１１やＳ２１３）。これにより、判定結果はより小さいサイズＢの単位で変動することとなって、解像度の高い判定結果が生成される。
【０１３２】
また、この実施例では、比較的大きいサイズＡの格子において、肌色の可能性が高いと設定された格子（上述の例では、「強制的に自身を肌色とみなすための１ビットのフラグ」が設定された格子）については、当該サイズＡの格子に含まれる比較的小さいサイズＢの格子において肌色でないと判定された場合であっても、サイズＡの格子全域について肌色であると判定される。これにより、ノイズを減らすことができる。また、同様に、比較的大きいサイズＡの格子において、肌色の可能性が低いと設定された格子（上述の例では、「強制的に自身を肌色でないとみなすための１ビットのフラグ」が設定された格子）については、当該格子内の比較的小さいサイズＢの格子において肌色であると判定された場合であっても、サイズＡの格子全域について肌色でないと判定される。これにより、ノイズを減らすことができる。 
【０１３３】
以上から明らかなように、この実施例によれば、ゲーム装置１０は、マイク３２から入力されたマイク入力情報に基づいてゲーム処理を実行する。ゲーム装置１０のＣＰＵ４２は、ユーザを撮像し（Ｓ１３〜Ｓ１７）、撮像して得られた画像を示す画像データの肌色割合に基づいて、ユーザを検出したか否かを判定し（Ｓ２３）、そしてユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を実行する（Ｓ３１）。なお、ユーザを検出していないと判定されたときには、マイク入力情報に基づくゲーム処理は行われない。
【０１３４】
したがって、ユーザが検出されていない状態では、マイク入力が無効化され、ユーザが検出されている状態でマイク入力が有効化されるので、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる。
【０１３５】
なお、以上の実施例では、肌色閾値に基づいて、取得した画像から肌色の画像を抽出し（ステップＳ１９）、対象領域Ｅｄに占める肌色の領域の割合を算出し（ステップＳ２１）、算出した結果に基づいてユーザの有無を判別しているが（ステップＳ２３）、これに限られず、取得した画像からＦＳＥ(Face Sensing Engine)を用いてユーザの顔認識を行い、認識の結果としてユーザの目や口等が検出された場合にユーザがいると判別し、ユーザの目や口等が検出されなかったときにはユーザがいないと判別するようになっていてもよい。
【０１３６】
なお、他の実施例では、ユーザの有無をＦＳＥの検出結果に基づいて判別してもよい。この実施例は、ソフトウェアの一部を除き、前実施例と同様の構成を有する。この場合のメモリマップを図１８に示す。図１８を参照して、プログラムエリア４８ａには、図１９〜図２１のフローチャートに対応するメインプログラム９０と、メインプログラム９０によって利用されるＦＳＥプログラム９２とが格納される。なお、ＦＳＥプログラム９２は、既存のＦＳＥプログラムでよい（詳細な説明を省略する）。プログラムエリア４８ａにはまた、前実施例と同様、入出力制御プログラム７６なども格納されている。一方、データエリア４８ｂは、前実施例と同様の画像エリア７８および音声エリア８０に加え、特徴エリア９４を含む。特徴エリア５２ｃには、顔検出のための特徴データが記憶される。
【０１３７】
図１９〜図２１を参照して、ＣＰＵ４２は、ステップＳ４１で初期処理を実行する。初期処理は、登録特徴データの初期化ならびに画像エリア７８および音声エリア８０のクリアなどの処理を含む。次のステップＳ４３では、顔検出のための特徴登録を行うか否かを判別し、ＮＯであればステップＳ４７に進む。操作部２４によって実行を示す操作が行われると、ステップＳ４３でＹＥＳと判別し、ステップＳ４５に進む。ステップＳ４５では、撮像命令を発行した後、メインメモリ４８の画像エリア７８から画像を取得する。
【０１３８】
次のステップＳ４７では、取得した画像に基づいて特徴データを算出し、算出した特徴データを特徴エリア９４に登録する。登録後、ステップＳ４９に進んでゲームを開始するか否かを判別し、ＮＯであれば待機する。操作部２４によって開始を示す操作が行われると、ステップＳ４９でＹＥＳと判別し、ステップＳ５１に進んで、ＦＳＥによる顔検出の対象領域（図示せず）を設定する。なお、顔検出用の対象領域は通常、肌色検出用の対象領域Ｅｄ（図１０参照）よりも広く設定される（たとえば（８０，６０）〜（１６０，１２０））。なお、顔検出は画面全体で行ってもよく、その場合にはステップＳ５１は省略される。
【０１３９】
次のステップＳ５３では、繰り返し撮像（スルー撮影）およびマイク入力の開始命令を発行する。応じて、カメラによる繰り返し撮像およびマイク３２による音声入力がそれぞれ開始される。繰り返し撮像により得られた各フレームの画像はメインメモリ４８の画像エリア７８に書き込まれ、マイク入力により得られたマイク入力情報（音声データ）はメインメモリ４８の音声エリア８０に書き込まれる。
【０１４０】
次のステップＳ５５では、ＲＴＣ６０の出力を参照して、画像の取得タイミングが到来したか否かを判別し、ＮＯであれば待機する。取得タイミングが到来するとステップＳ１５でＹＥＳと判別し、ステップＳ５７に進んで、画像エリア７８から１フレームの画像を取得する。
【０１４１】
次のステップＳ５９では、取得した画像から特徴データを抽出し、その次のステップＳ６１では、抽出した特徴データを登録特徴データと照合する。そしてステップＳ６３で、照合結果たとえば抽出特徴データと登録特徴データとの間の一致率に基づいてユーザの有無を判別する。一致率が閾値（たとえば６０％）よりも大きければ、ステップＳ６３でＹＥＳと判別し、ステップＳ６５に進む。一致率が閾値以下であれば、ステップＳ６３でＮＯと判別し、ステップＳ５５に戻って同様の処理を繰り返す。
【０１４２】
ステップＳ６５〜Ｓ７３の一連の処理は、前述したステップＳ２５〜Ｓ３３のそれと同様であり、説明を省略する。
【０１４３】
以上から明らかなように、この実施例によれば、ゲーム装置１０は、マイク３２から入力されたマイク入力情報に基づいてゲーム処理を実行する。ゲーム装置１０のＣＰＵ４２は、ユーザを撮像し（Ｓ５３〜Ｓ５７）、撮像して得られた画像を示す画像データに含まれる特徴データに基づいて（すなわちＦＳＥの手法により）、ユーザを検出したか否かを判定し（Ｓ６３）、そしてユーザを検出したと判定されたときに、マイク入力情報に基づいてゲーム処理を実行する（Ｓ７１）。なお、ユーザを検出していないと判定されたときには、マイク入力情報に基づくゲーム処理は行われない。
【０１４４】
したがって、ユーザが検出されていない状態では、マイク入力が無効化され、ユーザが検出されている状態でマイク入力が有効化されるので、マイクの入力による操作をユーザの意図した通りにゲーム処理に反映させることができる。
【０１４５】
以上では、一例として、ゲーム装置１０について説明したが、この発明は、マイクとカメラとコンピュータ（プロセッサ）とを備える、ゲーム装置に適用できる。
【図面の簡単な説明】
【０１４６】
【図１】この発明の一実施例であるゲーム装置の外観図であり、開状態における一方側面を示す。
【図２】ゲーム装置の外観図であり、開状態における側面を示す。
【図３】ゲーム装置の外観図であり、（Ａ）は閉状態における一方側面を、（Ｂ）は閉状態における上面を、（Ｃ）は閉状態における他方側面を、そして（Ｄ）は閉状態における下面をそれぞれ示す。
【図４】ゲーム装置の電気的構成の一例を示すブロック図である。
【図５】ゲーム装置がユーザによって把持された様子を示す図解図である。
【図６】ゲーム画面の変化の一例を示す図解図であり、（Ａ）がゲーム開始時を、（Ｂ）がゲーム進行時をそれぞれ示す。
【図７】メモリマップの一例を示す図解図である。
【図８】予行撮影画面の一例を示す図解図である。
【図９】予行撮影時に参照される属性データの一例を示す図解図である。
【図１０】撮像領域内に設定される、肌色検出の対象領域を示す図解図である。
【図１１】重み付け係数の具体例を示す図解図であり、（Ａ）が周辺１格子の一例を、（Ｂ）が周辺２格子の一例を、そして（Ｃ）が周辺３格子の一例をそれぞれ示す。
【図１２】ＣＰＵ動作の一部を示すフロー図である。
【図１３】ＣＰＵ動作の他の一部を示すフロー図である。
【図１４】ＣＰＵ動作のその他の一部を示すフロー図である。
【図１５】ＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図１６】ＣＰＵ動作の他の一部を示すフロー図である。
【図１７】ＣＰＵ動作のその他の一部を示すフロー図である。
【図１８】他の実施例のメモリマップを示す図解図である。
【図１９】図１８実施例に対応するＣＰＵ動作の一部を示すフロー図である。
【図２０】図１８実施例に対応するＣＰＵ動作の他の一部を示すフロー図である。
【図２１】図１８実施例に対応するＣＰＵ動作のその他の一部を示すフロー図である。
【図２２】閾値による判定結果の一例を示す図であり、図１１（Ａ）と対応する。
【符号の説明】
【０１４７】
１０  …ゲーム装置
１２  …上側ＬＣＤ
１４  …下側ＬＣＤ
１６  …内側カメラ
１８  …外側カメラ
３４  …マイク
４２  …ＣＰＵ
４８  …メインメモリ
【図１】
2010142585.tif 000003
【図２】
2010142585.tif 000004
【図３】
2010142585.tif 000005
【図４】
2010142585.tif 000006
【図５】
2010142585.tif 000007
【図６】
2010142585.tif 000008
【図７】
2010142585.tif 000009
【図８】
2010142585.tif 000010
【図９】
2010142585.tif 000011
【図１０】
2010142585.tif 000012
【図１１】
2010142585.tif 000013
【図１２】
2010142585.tif 000014
【図１３】
2010142585.tif 000015
【図１４】
2010142585.tif 000016
【図１５】
2010142585.tif 000017
【図１６】
2010142585.tif 000018
【図１７】
2010142585.tif 000019
【図１８】
2010142585.tif 000020
【図１９】
2010142585.tif 000021
【図２０】
2010142585.tif 000022
【図２１】
2010142585.tif 000023
【図２２】
2010142585.tif 000024