(57)【要約】【課題】より簡易な構成で実現することができる情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供する。【解決手段】撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを取得する。そして、取得された送信データを用いて、撮像画像における少なくとも一部の領域全体の輝度と複数の小領域の何れかの輝度とに基づいて、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定を行い、判定結果に基づいて、所定の情報処理を行う。【選択図】図１０
2018032295.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、当該情報処理装置にデータを送信するデータ送信装置とを含む情報処理システムであって、
前記データ送信装置は、
撮像部と、
前記撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを生成するデータ処理部と、
前記データ処理部において生成された送信データを前記情報処理装置へ送信するデータ送信部とを備え、
前記情報処理装置は、
前記送信データを取得するデータ取得部と、
取得された前記送信データを用いて、前記撮像画像における前記少なくとも一部の領域全体の輝度と前記複数の小領域の何れかの輝度とに基づいて、前記撮像対象の形状および／または前記データ送信装置に対する前記撮像対象の位置の判定を行う判定部と、
前記判定部による判定結果に基づいて、所定の情報処理を行う情報処理部とを備える、情報処理システム。
【請求項２】
前記データ処理部は、前記撮像画像の一部に対して前記送信データを生成するために使用する使用領域を設定し、前記少なくとも一部の領域全体は当該使用領域であって、当該使用領域内を分割することによって前記複数の小領域を設定する、請求項１に記載の情報処理システム。
【請求項３】
前記判定部は、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じているか否かに基づいて、前記判定を行う、請求項１または２に記載の情報処理システム。
【請求項４】
前記データ処理部は、それぞれの前記小領域についての輝度の重心座標を得ることが可能なデータを含む前記送信データを生成し、
前記判定部は、前記送信データに含まれる前記重心座標を得ることが可能なデータを用いて算出される前記領域全体における輝度の重心座標に基づいて、前記判定を行う、請求項１または２に記載の情報処理システム。
【請求項５】
前記判定部は、前記領域全体における輝度の重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることを判定する、請求項４に記載の情報処理システム。
【請求項６】
前記判定部は、前記領域全体における輝度の重心座標が前記領域全体の中心を含む第１の所定範囲内に含まれ、かつ、当該重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち当該領域全体の中心を含む第２の所定範囲内に含まれる小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることを判定する、請求項３に記載の情報処理システム。
【請求項７】
前記判定部は、前記領域全体における輝度の重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、前記撮像対象である口が開閉していることを判定し、
前記情報処理部は、前記判定部によって判定される口の開閉が所定時間内に行われる回数を算出し、当該回数に応じたゲーム処理を行う、請求項５または６に記載の情報処理システム。
【請求項８】
前記データ送信装置は、赤外発光部を、さらに備え、
前記撮像部は、赤外撮像部である、請求項１乃至７の何れか１つに記載の情報処理システム。
【請求項９】
前記データ送信装置は、慣性センサを、さらに備え、
前記データ送信部は、前記慣性センサから取得されるデータを含む前記送信データを生成し、
前記判定部は、前記慣性センサの出力の変化が所定の値より小さいことを確認後、前記判定を行う処理を開始する、請求項１乃至８の何れか１つに記載の情報処理システム。
【請求項１０】
前記データ処理部は、前記領域全体をマトリクス状に分割することによって、前記複数の小領域を設定する、請求項１乃至９の何れか１つに記載の情報処理システム。
【請求項１１】
前記判定部は、前記複数の小領域それぞれの輝度の平均値に基づいて、前記撮像対象の所定部分が変化していることを判定する、請求項１乃至１０の何れか１つに記載の情報処理システム。
【請求項１２】
撮像部を含むデータ送信装置から送信されたデータを受信する情報処理装置に含まれるコンピュータで実行される情報処理プログラムであって、
前記コンピュータに、
前記撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを、前記データ送信装置から取得するデータ取得ステップと、
取得された前記送信データを用いて、前記撮像画像における前記少なくとも一部の領域全体の輝度と前記複数の小領域の何れかの輝度とに基づいて、前記撮像対象の形状および／または前記データ送信装置に対する前記撮像対象の位置の判定を行う判定ステップと、
前記判定ステップにおける判定結果に基づいて、所定の情報処理を行う情報処理ステップとを実行させる、情報処理プログラム。
【請求項１３】
前記判定ステップでは、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じているか否かに基づいて、前記判定が行われる、請求項１２に記載の情報処理プログラム。
【請求項１４】
前記データ取得ステップでは、それぞれの前記小領域についての輝度の重心座標を得ることが可能なデータを含む前記送信データが、前記データ送信装置から取得され、
前記判定ステップでは、前記送信データに含まれる前記重心座標を得ることが可能なデータを用いて算出される前記領域全体における輝度の重心座標に基づいて、前記判定が行われる、請求項１２に記載の情報処理プログラム。
【請求項１５】
前記判定ステップでは、前記領域全体における輝度の重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることが判定される、請求項１４に記載の情報処理プログラム。
【請求項１６】
前記判定ステップは、前記領域全体における輝度の重心座標が前記領域全体の中心を含む第１の所定範囲内に含まれ、かつ、当該重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち当該領域全体の中心を含む第２の所定範囲内に含まれる小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることが判定される、請求項１３に記載の情報処理プログラム。
【請求項１７】
前記判定ステップでは、前記領域全体における輝度の重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、前記撮像対象である口が開閉していることが判定され、
前記情報処理ステップでは、前記判定ステップにおいて判定される口の開閉が所定時間内に行われる回数を算出し、当該回数に応じたゲーム処理が行われる、請求項１５または１６に記載の情報処理プログラム。
【請求項１８】
撮像部を含むデータ送信装置から送信されたデータを受信する情報処理装置であって、
前記撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを、前記データ送信装置から取得するデータ取得部と、
取得された前記送信データを用いて、前記撮像画像における前記少なくとも一部の領域全体の輝度と前記複数の小領域の何れかの輝度とに基づいて、前記撮像対象の形状および／または前記データ送信装置に対する前記撮像対象の位置の判定を行う判定部と、
前記判定部による判定結果に基づいて、所定の情報処理を行う情報処理部とを備える、情報処理装置。
【請求項１９】
撮像部を含むデータ送信装置から送信されたデータに基づいて情報処理する情報処理方法であって、
前記撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを生成するデータ処理ステップと、
前記データ処理ステップにおいて生成された送信データを送信するデータ送信ステップと、
前記送信データを取得するデータ取得ステップと、
取得された前記送信データを用いて、前記撮像画像における前記少なくとも一部の領域全体の輝度と前記複数の小領域の何れかの輝度とに基づいて、前記撮像対象の形状および／または前記データ送信装置に対する前記撮像対象の位置の判定を行う判定ステップと、
前記判定ステップにおける判定結果に基づいて、所定の情報処理を行う情報処理ステップとを含む、情報処理方法。
【請求項２０】
前記データ処理ステップでは、前記撮像画像の一部に対して前記送信データを生成するために使用する使用領域が設定され、前記少なくとも一部の領域全体は当該使用領域であって、当該使用領域内を分割することによって前記複数の小領域が設定される、請求項１９に記載の情報処理方法。
【請求項２１】
前記判定ステップでは、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じているか否かに基づいて、前記判定が行われる、請求項１９または２０に記載の情報処理方法。
【請求項２２】
前記データ処理ステップでは、それぞれの前記小領域についての輝度の重心座標を得ることが可能なデータを含む前記送信データが生成され、
前記判定ステップでは、前記送信データに含まれる前記重心座標を得ることが可能なデータを用いて算出される前記領域全体における輝度の重心座標に基づいて、前記判定が行われる、請求項１９または２０に記載の情報処理方法。
【請求項２３】
前記判定ステップでは、前記領域全体における輝度の重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることが判定される、請求項２２に記載の情報処理方法。
【請求項２４】
前記判定ステップでは、前記領域全体における輝度の重心座標が前記領域全体の中心を含む第１の所定範囲内に含まれ、かつ、当該重心座標の変化が一定以内で、かつ、前記領域全体の輝度の変化および前記複数の小領域のうち当該領域全体の中心を含む第２の所定範囲内に含まれる小領域の輝度の変化が共に生じている場合に、前記撮像対象の所定部分が変化していることが判定される、請求項２１に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法に関し、特に例えば、情報処理装置と当該情報処理装置にデータを送信するデータ送信装置とを含む情報処理システム、当該情報処理装置で実行される情報処理プログラム、当該情報処理システムに含まれる情報処理装置、および当該データ送信装置から送信されたデータに基づいて情報処理する情報処理方法に関する。
【背景技術】
【０００２】
従来、撮像部を有するデータ送信装置から、当該撮像部が撮像した画像に基づいて生成されるデータを受信し、当該受信したデータに基づいて情報処理を行う情報処理システムがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１４８９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示されている情報処理システムは、情報処理装置と当該情報処理装置にデータを送信するデータ送信装置の他に、当該データ送信装置を配置するためのケースが必要であり、情報処理を行うためのデバイスの数が多くなる。
【０００５】
それ故、本発明の目的は、より簡易な構成で実現することができる情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理システムの一構成例は、情報処理装置と、当該情報処理装置にデータを送信するデータ送信装置とを含む。データ送信装置は、撮像部、データ処理部、およびデータ送信部を備える。データ処理部は、撮像部の撮像画像における少なくとも一部の領域全体を分割した複数の小領域の輝度に関連するデータを少なくとも含む送信データを生成する。データ送信部は、データ処理部において生成された送信データを情報処理装置へ送信する。情報処理装置は、データ取得部、判定部、および情報処理部を備える。データ取得部は、送信データを取得する。判定部は、取得された送信データを用いて、撮像画像における少なくとも一部の領域全体の輝度と複数の小領域の何れかの輝度とに基づいて、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定を行う。情報処理部は、判定部による判定結果に基づいて、所定の情報処理を行う。
【０００８】
上記によれば、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定が情報処理装置およびデータ送信装置によってのみ行うことも可能であるため、簡易なシステム構成で実現することができる。また、データ送信装置から撮像画像のそのものを情報処理装置へ送信する場合と比較して、送信データ量を削減することもできる。
【０００９】
また、上記データ処理部は、撮像画像の一部に対して送信データを生成するために使用する使用領域を設定し、少なくとも一部の領域全体は当該使用領域であって、当該使用領域内を分割することによって複数の小領域を設定してもよい。
【００１０】
上記によれば、撮像画像の一部の領域を用いて撮像対象の判定を行うことによって、より詳細な判定が可能となる。
【００１１】
また、上記判定部は、領域全体の輝度の変化および複数の小領域のうち所定位置の小領域の輝度の変化が共に生じているか否かに基づいて、判定を行ってもよい。
【００１２】
上記によれば、撮像対象の一部分だけ距離や形状が変化していることを判定することができる。
【００１３】
また、上記データ処理部は、それぞれの小領域についての輝度の重心座標を得ることが可能なデータを含む送信データを生成してもよい。上記判定部は、送信データに含まれる重心座標を得ることが可能なデータを用いて算出される領域全体における輝度の重心座標に基づいて、判定を行ってもよい。
【００１４】
上記によれば、分割された複数の小領域全てが含まれる領域全体の中央付近における撮像対象の形状および／または撮像対象の位置の判定を行うことができる。
【００１５】
また、上記判定部は、領域全体における輝度の重心座標の変化が一定以内で、かつ、領域全体の輝度の変化および複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、撮像対象の所定部分が変化していることを判定してもよい。
【００１６】
上記によれば、分割された複数の小領域全てが含まれる領域全体の中央付近における撮像対象の形状変化および／または撮像対象の位置変化の判定を行うことができる。
【００１７】
また、上記判定部は、領域全体における輝度の重心座標が領域全体の中心を含む第１の所定範囲内に含まれ、かつ、当該重心座標の変化が一定以内で、かつ、領域全体の輝度の変化および複数の小領域のうち当該領域全体の中心を含む第２の所定範囲内に含まれる小領域の輝度の変化が共に生じている場合に、撮像対象の所定部分が変化していることを判定してもよい。
【００１８】
上記によれば、分割された複数の小領域全てが含まれる領域全体の中央付近における撮像対象の形状変化および／または撮像対象の位置変化の判定を行うことができる。
【００１９】
また、上記判定部は、領域全体における輝度の重心座標の変化が一定以内で、かつ、領域全体の輝度の変化および複数の小領域のうち所定位置の小領域の輝度の変化が共に生じている場合に、撮像対象である口が開閉していることを判定してもよい。上記情報処理部は、判定部によって判定される口の開閉が所定時間内に行われる回数を算出し、当該回数に応じたゲーム処理を行ってもよい。
【００２０】
上記によれば、分割された複数の小領域全てが含まれる領域全体の中央付近に撮像されたユーザの口の開閉に応じたゲームを実現することができる。
【００２１】
また、上記データ送信装置は、赤外発光部を、さらに備えてもよい。上記撮像部は、赤外撮像部でもよい。
【００２２】
上記によれば、照射する赤外光の反射を用いて、撮像対象までの距離を判定することができ、当該距離に基づいて、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定を行うことができる。
【００２３】
また、上記データ送信装置は、慣性センサを、さらに備えてもよい。上記データ送信部は、慣性センサから取得されるデータを含む送信データを生成してもよい。上記判定部は、慣性センサの出力の変化が所定の値より小さいことを確認後、判定を行う処理を開始してもよい。
【００２４】
上記によれば、データ送信装置の動きが所定の大きさ以下であることを条件として、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定を行うことができる。
【００２５】
また、上記データ処理部は、領域全体をマトリクス状に分割することによって、複数の小領域を設定してもよい。
【００２６】
上記によれば、マトリックス状に分割されたブロック形状の領域を用いて、撮像対象の形状および／またはデータ送信装置に対する撮像対象の位置の判定を行うことができる。
【００２７】
また、上記判定部は、複数の小領域それぞれの輝度の平均値に基づいて、撮像対象の所定部分が変化していることを判定してもよい。
【００２８】
上記によれば、小領域毎の輝度変化に基づいて、撮像対象の形状および／または位置を判定することができる。
【００２９】
また、本発明は、情報処理プログラム、情報処理装置、および情報処理方法の形態で実施されてもよい。
【発明の効果】
【００３０】
本発明によれば、より簡易な構成で情報処理を実現することができる。
【図面の簡単な説明】
【００３１】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】ユーザが右コントローラ４を操作してゲームをプレイする様子の一例を示す図
【図９】ユーザが口を閉じている状態を示す撮像画像の一例およびユーザが口を開いている状態を示す撮像画像の一例を示す図
【図１０】ユーザが口を閉じている状態を示す撮像画像における輝度の一例およびユーザが口を開いている状態を示す撮像画像における輝度の一例を示す図
【図１１】クラスタリングモードにおいて算出する撮像対象に関する情報の一例を説明するための図
【図１２】右コントローラ４のメモリにおいて設定されるデータ領域の一例を示す図
【図１３】処理部１２１のＣＰＵで実行される情報算出処理の一例を示すフローチャート
【図１４】本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図
【図１５】本体装置２で実行される情報処理の一例を示すフローチャート
【図１６】図１５におけるステップＳ１６７で実行される口開閉判定処理の詳細な一例を示すサブルーチン
【図１７】図１５におけるステップＳ１６４で実行される口付近判定処理の詳細な一例を示すサブルーチン
【発明を実施するための形態】
【００３２】
以下、本実施形態の一例に係る情報処理システムについて説明する。本実施形態における情報処理システム１の一例は、本体装置（情報処理装置；本実施例ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とによって構成される。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能であり、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用でき、また、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。また、情報処理システム１は、本体装置２に画像を表示する態様での利用と、テレビ等の他の表示装置（例えば、据置型モニタ）に画像を表示させる態様での利用が可能である。前者の態様において、情報処理システム１は、携帯型装置（例えば、携帯ゲーム機）として利用することができる。また、後者の態様において、情報処理システム１は、据置型装置（例えば、据置型ゲーム機）として利用することができる。
【００３３】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、情報処理システム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３４】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。左コントローラ３は、本体装置２の左側面（図１に示すｘ軸正方向側の側面）に装着することができ、本体装置２の左側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。また、右コントローラ４は、本体装置２の右側面（図１に示すｘ軸負方向側の側面）に装着することができ、本体装置２の右側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。なお、本実施例において、１人のユーザが操作する「操作装置」は、１つのコントローラ（例えば、左コントローラ３および右コントローラ４の一方）でも複数のコントローラ（例えば、左コントローラ３および右コントローラ４の両方、またはさらに他のコントローラを含んでもよい）でもよく、当該「操作装置」は、１以上のコントローラによって構成可能となる。以下、本体装置２と左コントローラ３および右コントローラ４との具体的な構成の一例について説明する。
【００３５】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施例において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。本実施例においては、ハウジング１１は、横長の形状であるものとする。つまり、本実施例においては、ハウジング１１の主面の長手方向（すなわち、図１に示すｘ軸方向）を横方向（左右方向とも言う）と呼び、当該主面の短手方向（すなわち、図１に示すｙ軸方向）を縦方向（上下方向とも言う）と呼び、主面に垂直な方向（すなわち、図１に示すｚ軸方向）を奥行方向（前後方向とも言う）と呼ぶこととする。本体装置２は、本体装置２が横長となる向きで利用されることが可能である。また、本体装置２が縦長となる向きで利用されることも可能である。その場合には、ハウジング１１を縦長の形状であるものと見なしてもよい。
【００３６】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３７】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が取得または生成した画像（静止画であってもよいし、動画であってもよい）を表示する。本実施例においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３８】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施例においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３９】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００４０】
図３に示すように、本体装置２は、ハウジング１１の左側面において左レール部材１５を備える。左レール部材１５は、左コントローラ３を本体装置２に着脱可能に装着するための部材である。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びるように設けられる。左レール部材１５は、左コントローラ３のスライダ（すなわち、図４に示すスライダ４０）と係合可能な形状を有しており、左レール部材１５とスライダ４０とによってスライド機構が形成される。このスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４１】
また、本体装置２は、左側端子１７を備える。左側端子１７は、本体装置２が左コントローラ３と有線通信を行うための端子である。左側端子１７は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３の端子（図４に示す端子４２）と接触する位置に設けられる。左側端子１７の具体的な位置は任意である。本実施例においては、図３に示すように、左側端子１７は、左レール部材１５の底面に設けられる。また、本実施例においては、左側端子１７は、左レール部材１５の底面における下側の端部付近に設けられ、左レール部材１５の一部によって外部に露出しない位置に配置されている。
【００４２】
図３に示すように、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、本体装置２は、ハウジング１１の右側面において右レール部材１９を備える。右レール部材１９は、ハウジング１１の右側面において、上下方向に沿って延びるように設けられる。右レール部材１９は、右コントローラ４のスライダ（すなわち、図５に示すスライダ６２）と係合可能な形状を有しており、右レール部材１９とスライダ６２とによってスライド機構が形成される。このスライド機構によって、右コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４３】
また、本体装置２は右側端子２１を備える。右側端子２１は、本体装置２が右コントローラ４と有線通信を行うための端子である。右側端子２１は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４の端子（図５に示す端子６４）と接触する位置に設けられる。右側端子２１の具体的な位置は任意である。本実施例においては、図３に示すように、右側端子２１は、右レール部材１９の底面に設けられる。また、本実施例においては、右側端子２１は、右レール部材１９の底面における下側の端部付近に設けられ、右レール部材１９の一部によって外部に露出しない位置に配置されている。
【００４４】
図３に示すように、本体装置２は、第１スロット２３を備える。第１スロット２３は、ハウジング１１の上側面に設けられる。第１スロット２３は、第１の種類の記憶媒体を装着可能な形状を有する。第１の種類の記憶媒体は、例えば、情報処理システム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。第１の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。図３に示すように、電源ボタン２８は、ハウジング１１の上側面に設けられる。電源ボタン２８は、本体装置２の電源のオン／オフを切り替えるためのボタンである。
【００４５】
本体装置２は、音声入出力端子（具体的には、イヤホンジャック）２５を備える。すなわち、本体装置２は、音声入出力端子２５にマイクやイヤホンを装着することができる。図３に示すように、音声入出力端子２５は、ハウジング１１の上側面に設けられる。
【００４６】
本体装置２は、音量ボタン２６ａおよび２６ｂを備える。図３に示すように、音量ボタン２６ａおよび２６ｂは、ハウジング１１の上側面に設けられる。音量ボタン２６ａおよび２６ｂは、本体装置２によって出力される音量を調整する指示を行うためのボタンである。すなわち、音量ボタン２６ａは、音量を下げる指示を行うためのボタンであり、音量ボタン２６ｂは、音量を上げる指示を行うためのボタンである。
【００４７】
また、ハウジング１１には、排気孔１１ｃが形成される。図３に示すように、排気孔１１ｃは、ハウジング１１の上側面に形成される。排気孔１１ｃは、ハウジング１１の内部で発生した熱をハウジング１１の外部へ排気する（換言すれば、放出する）ために形成される。すなわち、排気孔１１ｃは、排熱孔であるとも言える。
【００４８】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。図３に示すように、下側端子２７は、ハウジング１１の下側面に設けられる。本体装置２がクレードルに装着された場合、下側端子２７は、クレードルの端子に接続される。本実施例において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。クレードルは、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で本体装置２のみを載置することが可能である。また、さらに他の例として、クレードルは、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置を載置することも可能である。そして、クレードルは、本体装置２とは別体の外部表示装置の一例である据置型モニタ（例えば、据置型テレビ）と通信可能である（有線通信であってもよいし、無線通信であってもよい）。上記一体型装置または本体装置２単体をクレードルに載置した場合、情報処理システム１は、本体装置２が取得または生成した画像を据置型モニタに表示することができる。また、本実施例においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４９】
また、本体装置２は、第２スロット２４を備える。本実施例においては、第２スロット２４は、ハウジング１１の下側面に設けられる。ただし、他の実施例においては、第２スロット２４は、第１スロット２３とは同じ面に設けられてもよい。第２スロット２４は、第１の種類とは異なる第２の種類の記憶媒体を装着可能な形状を有する。第２の種類の記憶媒体は、例えば、汎用の記憶媒体であってもよい。例えば、第２の種類の記憶媒体は、ＳＤカードであってもよい。第２の種類の記憶媒体は、例えば、第１の種類の記憶媒体と同様、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。
【００５０】
また、ハウジング１１には、吸気孔１１ｄが形成される。図３に示すように、吸気孔１１ｄは、ハウジング１１の下側面に形成される。吸気孔１１ｄは、ハウジング１１の外部の空気をハウジング１１の内部へ吸気する（換言すれば、導入する）ために形成される。本実施例においては、排気孔１１ｃが形成される面の反対側の面に吸気孔１１ｄが形成されるので、ハウジング１１内部の放熱を効率良く行うことができる。
【００５１】
以上に説明した、ハウジング１１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の形状、数、および設置位置は、任意である。例えば、他の実施例においては、電源ボタン２８および各スロット２３および２４のうちのいくつかは、ハウジング１１の他の側面あるいは背面に設けられてもよい。また、他の実施例においては、本体装置２は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００５２】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施例において、ハウジング３１は、略板状である。また、ハウジング３１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施例においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。なお、ハウジング３１の形状は任意であり、他の実施例においては、ハウジング３１は略板状でなくてもよい。また、ハウジング３１は、矩形形状でなくてもよく、例えば半円状の形状等であってもよい。また、ハウジング３１は、縦長の形状でなくてもよい。
【００５３】
ハウジング３１の上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じである。また、ハウジング３１の厚さ（すなわち、前後方向の長さ、換言すれば、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ３とを一体の装置のような感覚で把持することができる。
【００５４】
また、図４に示すように、ハウジング３１の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング３１の上側面と左側面との接続部分、および、ハウジング３１の下側面と左側面との接続部分は、その上側面と右側面との接続部分、および、その下側面と右側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、一体型装置の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００５５】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２が、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部の一例である。アナログスティック３２は、ハウジング３１の主面に平行な全方向（すなわち、上下左右および斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、方向入力部は、十字キーまたはスライドスティック等であってもよい。また、本実施例においては、スティック部材を（ハウジング３１に垂直な方向に）押下する入力が可能である。すなわち、アナログスティック３２は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行うことが可能な入力部である。
【００５６】
左コントローラ３は、４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）を備える。図４に示すように、これら４つの操作ボタン３３〜３６は、ハウジング３１の主面においてアナログスティック３２の下側に設けられる。なお、本実施例においては、左コントローラ３の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。これらの操作ボタン３３〜３６は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。なお、本実施例においては、各操作ボタン３３〜３６は方向入力を行うために用いられてもよいことから、各操作ボタン３３〜３６を、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６と呼んでいる。ただし、各操作ボタン３３〜３６は、方向入力以外の指示を行うために用いられてもよい。
【００５７】
また、左コントローラ３は録画ボタン３７を備える。図４に示すように、録画ボタン３７は、ハウジング３１の主面に設けられ、より具体的には、主面における右下領域に設けられる。録画ボタン３７は、本体装置２のディスプレイ１２に表示される画像を保存する指示を行うためのボタンである。例えば、ディスプレイ１２にゲーム画像が表示されている場合において、ユーザは、録画ボタン３７を押下することによって、押下された時点で表示されているゲーム画像を、例えば本体装置２の記憶部に保存することができる。
【００５８】
また、左コントローラ３は−（マイナス）ボタン４７を備える。図４に示すように、−ボタン４７は、ハウジング３１の主面に設けられ、より具体的には、主面における右上領域に設けられる。−ボタン４７は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。−ボタン４７は、例えば、ゲームアプリケーションにおいてセレクトボタン（例えば、選択項目の切り替えに用いられるボタン）として用いられる。
【００５９】
左コントローラ３の主面に設けられる各操作部（具体的には、アナログスティック３２および上記各ボタン３３〜３７、４７）は、左コントローラ３が本体装置２に装着される場合、一体型装置を把持するユーザの例えば左手の親指によって操作される。また、左コントローラ３が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、左コントローラ３を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック３２はユーザの左手の親指で操作され、各操作ボタン３３〜３６はユーザの右手の親指で操作される。
【００６０】
左コントローラ３は、第１Ｌボタン３８を備える。また、左コントローラ３は、ＺＬボタン３９を備える。これらの操作ボタン３８および３９は、上記操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第１Ｌボタン３８は、ハウジング３１の側面のうちの左上部分に設けられる。また、ＺＬボタン３９は、ハウジング３１の側面から裏面にかけての左上部分（厳密には、ハウジング３１を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタン３９は、第１Ｌボタン３８の後側（図１に示すｚ軸正方向側）に設けられる。本実施例においては、ハウジング３１の左上部分が丸みを帯びた形状であるので、第１Ｌボタン３８およびＺＬボタン３９は、ハウジング３１の当該左上部分の丸みに応じた丸みを帯びた形状を有する。左コントローラ３が本体装置２に装着される場合、第１Ｌボタン３８およびＺＬボタン３９は、一体型装置における左上部分に配置されることになる。
【００６１】
左コントローラ３は、上述のスライダ４０を備えている。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に延びるように設けられる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。したがって、左レール部材１５に係合したスライダ４０は、スライド方向（換言すれば左レール部材１５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００６２】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。端子４２は、左コントローラ３が本体装置２に装着された場合に、本体装置２の左側端子１７（図３）と接触する位置に設けられる。端子４２の具体的な位置は任意である。本実施例においては、図４に示すように、端子４２は、スライダ４０の装着面によって外部に露出しない位置に設けられる。また、本実施例においては、端子４２は、スライダ４０の装着面における下側の端部付近に設けられる。
【００６３】
また、左コントローラ３は、第２Ｌボタン４３および第２Ｒボタン４４を備える。これらのボタン４３および４４は、他の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第２Ｌボタン４３および第２Ｒボタン４４は、スライダ４０の装着面に設けられる。第２Ｌボタン４３は、スライダ４０の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも上側に設けられる。第２Ｒボタン４４は、スライダ４０の装着面において、上下方向に関する中央よりも下側に設けられる。第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３が本体装置２に装着されている状態では押下することができない位置に配置されている。つまり、第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン４３および第２Ｒボタン４４は、例えば、本体装置２から外された左コントローラ３を把持するユーザの左右の手の人差し指または中指で操作される。
【００６４】
左コントローラ３は、ペアリングボタン４６を備える。本実施例において、ペアリングボタン４６は、左コントローラ３と本体装置２との無線通信に関する設定（ペアリングとも言う）処理を指示するため、および、左コントローラ３のリセット処理を指示するために用いられる。なお、他の実施例においては、ペアリングボタン４６は、上記設定処理およびリセット処理のいずれか一方の機能のみを有するものであってもよい。例えば、ペアリングボタン４６に対して短押し操作が行われた場合（具体的には、ペアリングボタン４６が所定時間よりも短い時間だけ押下された場合）、左コントローラ３は、上記設定処理を実行する。また、ペアリングボタン４６に対して長押し操作が行われた場合（具体的には、ペアリングボタン４６が上記所定時間以上押し続けられた場合）、左コントローラ３は、リセット処理を実行する。本実施例においては、ペアリングボタン４６は、図４に示すように、スライダ４０の装着面に設けられる。このように、ペアリングボタン４６は、左コントローラ３が本体装置２に装着されている状態では見えない位置に配置されている。つまり、ペアリングボタン４６は、左コントローラ３を本体装置２から外した場合において用いられる。
【００６５】
なお、本実施例において、スライダ４０の装着面に設けられるボタン（具体的には、第２Ｌボタン４３、第２Ｒボタン４４、およびペアリングボタン４６）は、当該装着面に対して突出しないように設けられる。すなわち、上記ボタンの上面（換言すれば押下面）は、スライダ４０の装着面と同じ面に配置されるか、あるいは、装着面よりも凹んだ位置に配置される。これによれば、スライダ４０が本体装置２の左レール部材１５に装着された状態において、スライダ４０を左レール部材１５に対してスムーズにスライドさせることができる。
【００６６】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施例において、ハウジング５１は、略板状である。また、ハウジング５１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施例においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００６７】
右コントローラ４のハウジング５１は、左コントローラ３のハウジング３１と同様、その上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じであり、その厚さは、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ４とを一体の装置のような感覚で把持することができる。
【００６８】
また、図５に示すように、ハウジング５１の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング５１の上側面と右側面との接続部分、および、ハウジング５１の下側面と右側面との接続部分は、その上側面と左側面との接続部分、および、その下側面と左側面との接続部分に比べて、丸くなっている（換言すれば、面取りにおけるＲが大きい）。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、一体型装置の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００６９】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施例においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、左コントローラ３と同様、４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）を備える。本実施例においては、これら４つの操作ボタン５３〜５６は、左コントローラ３の４つの操作ボタン３３〜３６と同じ機構である。図５に示すように、これらアナログスティック５２および各操作ボタン５３〜５６は、ハウジング５１の主面に設けられる。なお、本実施例においては、右コントローラ４の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。
【００７０】
ここで、本実施例においては、右コントローラ４における２種類の操作部（アナログスティックおよび操作ボタン）の位置関係は、左コントローラ３におけるこれら２種類の操作部の位置関係とは反対になっている。すなわち、右コントローラ４においては、アナログスティック５２は各操作ボタン５３〜５６の上方に配置されるのに対して、左コントローラ３においては、アナログスティック３２は各操作ボタン３３〜３６の下方に配置される。このような配置によって、左コントローラ３および右コントローラ４を本体装置２から外して使用する場合に似たような操作感覚で使用することができる。
【００７１】
また、右コントローラ４は、＋（プラス）ボタン５７を備える。図５に示すように、＋ボタン５７は、ハウジング５１の主面に設けられ、より具体的には、主面の左上領域に設けられる。＋ボタン５７は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。＋ボタン５７は、例えば、ゲームアプリケーションにおいてスタートボタン（例えば、ゲーム開始の指示に用いられるボタン）として用いられる。
【００７２】
右コントローラ４は、ホームボタン５８を備える。図５に示すように、ホームボタン５８は、ハウジング５１の主面に設けられ、より具体的には、主面の左下領域に設けられる。ホームボタン５８は、本体装置２のディスプレイ１２に所定のメニュー画面を表示させるためのボタンである。メニュー画面は、例えば、本体装置２において実行可能な１以上のアプリケーションのうちからユーザが指定したアプリケーションを起動することが可能な画面である。メニュー画面は、例えば、本体装置２の起動時に表示されてもよい。本実施例においては、本体装置２においてアプリケーションが実行されている状態（すなわち、当該アプリケーションの画像がディスプレイ１２に表示されている状態）において、ホームボタン５８が押下されると、所定の操作画面がディスプレイ１２に表示されてもよい（このとき、操作画面に代えてメニュー画面が表示されてもよい）。なお、操作画面は、例えば、アプリケーションを終了してメニュー画面をディスプレイ１２に表示させる指示、および、アプリケーションを再開する指示等を行うことが可能な画面である。
【００７３】
右コントローラ４の主面に設けられる各操作部（具体的には、アナログスティック５２および上記各ボタン５３〜５８）は、右コントローラ４が本体装置２に装着される場合、一体型装置を把持するユーザの例えば右手の親指によって操作される。また、右コントローラ４が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、右コントローラ４を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック５２はユーザの左手の親指で操作され、各操作ボタン５３〜５６はユーザの右手の親指で操作される。
【００７４】
右コントローラ４は、第１Ｒボタン６０を備える。また、右コントローラ４は、ＺＲボタン６１を備える。図５に示すように、第１Ｒボタン６０は、ハウジング５１の側面のうちの右上部分に設けられる。また、ＺＲボタン６１は、ハウジング５１の側面から裏面にかけての右上部分（厳密には、ハウジング５１を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタン６１は、第１Ｒボタン６０の後側（図１に示すｚ軸正方向側）に設けられる。本実施例においては、ハウジング５１の右上部分が丸みを帯びた形状であるので、第１Ｒボタン６０およびＺＲボタン６１は、ハウジング５１の当該右上部分の丸みに応じた丸みを帯びた形状を有する。右コントローラ４が本体装置２に装着される場合、第１Ｒボタン６０およびＺＲボタン６１は、一体型装置における右上部分に配置されることになる。
【００７５】
右コントローラ４は、左コントローラ３と同様のスライダ機構を備えている。すなわち、右コントローラ４は、上述のスライダ６２を備えている。図５に示すように、スライダ６２は、ハウジング５１の左側面において、上下方向に延びるように設けられる。スライダ６２は、本体装置２の右レール部材１９（より具体的には、右レール部材１９の溝）と係合可能な形状を有している。したがって、右レール部材１９に係合したスライダ６２は、スライド方向（換言すれば右レール部材１９が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００７６】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。端子６４は、右コントローラ４が本体装置２に装着された場合に、本体装置２の右側端子２１（図３）と接触する位置に設けられる。端子６４の具体的な位置は任意である。本実施例においては、図５に示すように、端子６４は、スライダ６２の装着面によって外部に露出しない位置に設けられる。本実施例においては、端子６４は、スライダ６２の装着面における下側の端部付近に設けられる。
【００７７】
また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。これらのボタン６５および６６は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図５に示すように、第２Ｌボタン６５および第２Ｒボタン６６は、スライダ６２の装着面に設けられる。第２Ｌボタン６５は、スライダ６２の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも下側に設けられる。第２Ｒボタン６６は、スライダ６２の装着面において、上下方向に関する中央よりも上側に設けられる。第２Ｌボタン６５および第２Ｒボタン６６は、左コントローラ３の第２Ｌボタン４３および第２Ｒボタン４４と同様、右コントローラ４が本体装置２に装着されている状態では押下することができない位置に配置されており、右コントローラ４を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン６５および第２Ｒボタン６６は、例えば、本体装置２から外された右コントローラ４を把持するユーザの左右の手の人差し指または中指で操作される。
【００７８】
右コントローラ４は、ペアリングボタン６９を備える。ペアリングボタン６９は、左コントローラ３のペアリングボタン４６と同様、右コントローラ４と本体装置２との無線通信に関する設定（ペアリングとも言う）処理を指示するため、および、右コントローラ４のリセット処理を指示するために用いられる。上記設定処理およびリセット処理については、左コントローラ３におけるこれらの処理と同様であるので、詳細な説明を省略する。また、本実施例においては、ペアリングボタン６９は、図５に示すように、スライダ６２の装着面に設けられる。つまり、ペアリングボタン６９は、左コントローラ３のペアリングボタン４６と同様の理由で、右コントローラ４が本体装置２に装着されている状態では見えない位置に配置されている。
【００７９】
また、右コントローラ４においても左コントローラ３と同様、スライダ６２の装着面に設けられるボタン（具体的には、第２Ｌボタン６５、第２Ｒボタン６６、およびペアリングボタン６９）は、当該装着面に対して突出しないように設けられる。これによって、スライダ６２が本体装置２の右レール部材１９に装着された状態において、スライダ６２を右レール部材１９に対してスムーズにスライドさせることができる。
【００８０】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、右コントローラ４の下方向（図５に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図５に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。なお、図５の例では、赤外発光部１２４の赤外光照射範囲を大きくするために、照射方向が異なる複数の赤外発光部１２４が設けられている。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。なお、本実施例においては、カメラが検知する光（本実施例においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施例においては、窓部６８がフィルタの機能を有していてもよい。
【００８１】
また、詳細は後述するが、右コントローラ４は、ＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）の規格に基づく近距離無線通信を行う。ＮＦＣ通信部１２２は、近距離無線通信に用いられるアンテナ１２２ａと、アンテナ１２２ａから送出すべき信号（電波）を生成する回路（例えばＮＦＣチップ）とを有する。例えば、アンテナ１２２ａは、上記近距離無線通信の際にターゲットとなる他の無線通信装置（例えばＮＦＣタグ）がハウジング５１の主面の下方領域と近接または接する位置に配置された場合に、当該無線通信装置と上記近距離無線通信が可能となるハウジング５１の内部の位置に設けられる。なお、近距離無線通信は、ＮＦＣの規格に基づくものに限らず、任意の近接通信（非接触通信とも言う）であってもよい。近接通信には、例えば、一方の装置からの電波によって（例えば電磁誘導によって）他方の装置に起電力を発生させる通信方式が含まれる。
【００８２】
なお、上記左コントローラ３および右コントローラ４において、ハウジング３１または５１に設けられる各構成要素（具体的には、スライダ、スティック、およびボタン等）の形状、数、および、設置位置は任意である。例えば、他の実施例においては、左コントローラ３および右コントローラ４は、アナログスティックとは別の種類の方向入力部を備えていてもよい。また、スライダ４０または６２は、本体装置２に設けられるレール部材１５または１９の位置に応じた位置に配置されてよく、例えば、ハウジング３１または５１の主面または裏面に配置されてもよい。また、他の実施例においては、左コントローラ３および右コントローラ４は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００８３】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９８を備える。これらの構成要素８１〜９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００８４】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１を備える。ＣＰＵ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部である。ＣＰＵ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、各スロット２３および２４に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００８５】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、ＣＰＵ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００８６】
本体装置２は、第１スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。また、本体装置２は、第２スロットＩ／Ｆ９２を備える。第１スロットＩ／Ｆ９１および第２スロットＩ／Ｆ９２は、ＣＰＵ８１に接続される。第１スロットＩ／Ｆ９１は、第１スロット２３に接続され、第１スロット２３に装着された第１の種類の記憶媒体（例えば、ＳＤカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。第２スロットＩ／Ｆ９２は、第２スロット２４に接続され、第２スロット２４に装着された第２の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。
【００８７】
ＣＰＵ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００８８】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、ＣＰＵ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施例においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００８９】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、ＣＰＵ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施例においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００９０】
ＣＰＵ８１は、上述の左側端子１７、右側端子２１、および、下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、ＣＰＵ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施例においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００９１】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ３および複数の右コントローラ４を用いて本体装置２に対する入力を行うことができる。
【００９２】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とＣＰＵ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ８１へ出力する。
【００９３】
また、ディスプレイ１２は、ＣＰＵ８１に接続される。ＣＰＵ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００９４】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、ＣＰＵ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。すなわち、コーデック回路８７は、ＣＰＵ８１から音声データを受け取った場合、当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ８８または音声入出力端子２５へ出力する。これによって、スピーカ８８あるいは音声入出力端子２５に接続された音声出力部（例えば、イヤホン）から音が出力される。また、コーデック回路８７は、音声入出力端子２５から音声信号を受け取った場合、音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをＣＰＵ８１へ出力する。また、音量ボタン２６は、ＣＰＵ８１に接続される。ＣＰＵ８１は、音量ボタン２６に対する入力に基づいて、スピーカ８８または上記音声出力部から出力される音量を制御する。
【００９５】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびＣＰＵ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。また、電力制御部９７は、電源ボタン２８に接続される。電力制御部９７は、電源ボタン２８に対する入力に基づいて、上記各部への電力供給を制御する。すなわち、電力制御部９７は、電源ボタン２８に対して電源をオフする操作が行われた場合、上記各部の全部または一部への電力供給を停止し、電源ボタン２８に対して電源をオンする操作が行われた場合、電力制御部９７は、上記各部の全部または一部への電力供給を開始する。また、電力制御部９７は、電源ボタン２８に対する入力を示す情報（具体的には、電源ボタン２８が押下されているか否かを示す情報）をＣＰＵ８１へ出力する。
【００９６】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００９７】
また、本体装置２は、本体装置２内部の熱を放熱するための冷却ファン９６を備える。冷却ファン９６が動作することによって、ハウジング１１の外部の空気が吸気孔１１ｄから導入されるとともに、ハウジング１１内部の空気が排気孔１１ｃから放出されることで、ハウジング１１内部の熱が放出される。冷却ファン９６は、ＣＰＵ８１に接続され、冷却ファン９６の動作はＣＰＵ８１によって制御される。また、本体装置２は、本体装置２内の温度を検出する温度センサ９５を備える。温度センサ９５は、ＣＰＵ８１に接続され、温度センサ９５の検出結果がＣＰＵ８１へ出力される。ＣＰＵ８１は、温度センサ９５の検出結果に基づいて、冷却ファン９６の動作を制御する。
【００９８】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００９９】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施例においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【０１００】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【０１０１】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４６）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【０１０２】
左コントローラ３は、加速度センサ１０４を備える。本実施例においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。また、左コントローラ３は、角速度センサ１０５を備える。本実施例においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【０１０３】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【０１０４】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【０１０５】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施例においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、増幅器１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号を増幅器１０６へ出力する。増幅器１０６は、通信制御部１０１からの制御信号を増幅して、振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【０１０６】
左コントローラ３は、電力供給部１０８を備える。本実施例において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。電力制御回路は、バッテリから上記各部への電力供給を制御する。また、バッテリは、端子４２に接続される。本実施例においては、左コントローラ３が本体装置２に装着される場合、所定の条件下で、バッテリは、端子４２を介して本体装置２からの給電によって充電される。
【０１０７】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【０１０８】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部（具体的には、各ボタン１１３、アナログスティック５２、加速度センサ１１４、および、角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【０１０９】
また、右コントローラ４は、振動子１１７および増幅器１１６を備える。振動子１１７および増幅器１１６は、左コントローラ３の振動子１０７および増幅器１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、増幅器１１６を用いて振動子１１７を動作させる。
【０１１０】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。すなわち、電力供給部１１８は、バッテリから給電を受ける各部への電力供給を制御する。また、右コントローラ４が本体装置２に装着される場合、所定の条件下で、バッテリは、端子６４を介して本体装置２からの給電によって充電される。
【０１１１】
右コントローラ４は、ＮＦＣの規格に基づく近距離無線通信を行うＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、いわゆるＮＦＣリーダ・ライタの機能を有する。ここで、本明細書において近距離無線通信とは、一方の装置（ここでは、右コントローラ４）からの電波によって（例えば電磁誘導によって）他方の装置（ここでは、アンテナ１２２ａと近接する装置）に起電力を発生させる通信方式が含まれる。他方の装置は、発生した起電力によって動作することが可能であり、電源を有していてもよいし有していなくてもよい。ＮＦＣ通信部１２２は、右コントローラ４（アンテナ１２２ａ）と通信対象とが接近した場合（典型的には、両者の距離が十数センチ以下となった場合）に当該通信対象との間で通信可能となる。通信対象は、ＮＦＣ通信部１２２との間で近距離無線通信が可能な任意の装置であり、例えばＮＦＣタグやＮＦＣタグの機能を有する記憶媒体である。ただし、通信対象は、ＮＦＣのカードエミュレーション機能を有する他の装置であってもよい。
【０１１２】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。本実施例においては、赤外撮像部１２３は、ユーザの身体の一部（例えば、ユーザの顔や口）を撮像するために用いられる。本体装置２および／または右コントローラ４は、撮像されたユーザの情報（例えば、ユーザが撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、ユーザの変化を判別する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、本実施例においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象（すなわち、ユーザ）によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、本実施例においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、なお、他の実施例においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【０１１３】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続されるとともに、ＮＦＣ通信部１２２に接続される。処理部１２１は、本体装置２からの指令に応じて、ＮＦＣ通信部１２２に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じてＮＦＣ通信部１２２の動作を制御する。また、処理部１２１は、ＮＦＣ通信部１２２の起動を制御したり、通信対象（例えば、ＮＦＣタグ）に対するＮＦＣ通信部１２２の動作（具体的には、読み出しおよび書き込み等）を制御したりする。また、処理部１２１は、通信制御部１１１を介して通信対象に送信されるべき情報を本体装置２から受信してＮＦＣ通信部１２２へ渡したり、通信対象から受信された情報をＮＦＣ通信部１２２から取得して通信制御部１１１を介して本体装置２へ送信したりする。
【０１１４】
また、処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリやハードディスク等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【０１１５】
次に、図８を参照して、ユーザが右コントローラ４を操作してゲームをプレイする様子の一例を示す図である。図８に示すように、本ゲーム例では、ユーザが右コントローラ４を食べるように取り扱って、早食いを競うゲームの画像が本体装置２（ディスプレイ１２）に表示される。そして、右コントローラ４を操作するユーザは、右コントローラ４の後端（すなわち、赤外撮像部１２３が設けられている端部）に向けて口を何度も開閉することによって、食べ物を早食いするゲーム（早食いゲーム）をプレイすることができる。
【０１１６】
例えば、上記早食いゲームを開始するにあたって、早食いゲームを開始する準備をするための操作指示「コントローラを口に近づけて構えましょう」が本体装置２に表示されるとともに、本体装置２から当該操作指示を示す音声が出力される。これに応じて、ユーザは、把持している右コントローラ４の後端面（図５におけるｙ軸負方向の端面であり、赤外撮像部１２３および赤外発光部１２４が配置されている窓部６８が設けられている面）をユーザ自身の口に向けて近づける（すなわち、赤外撮像部１２３の撮像方向がユーザ自身の口に向いて近づいた状態）ことによって、早食いゲームを開始するための準備が整う。具体的には、本実施例では、赤外撮像部１２３が撮像した撮像画像等が複数の条件を満たしていることを判定する口付近判定処理において肯定判定された場合に、早食いゲームを開始するための準備が整ったと判定される。
【０１１７】
次に、上記早食いゲームを開始する旨を報知するための操作指示が本体装置２に表示されるとともに、本体装置２から当該操作指示を示す音声が出力される。これに応じて、把持している右コントローラ４をユーザ自身の口に向けた状態でユーザが口を開閉することによって、食べる速さを競うゲームが行われる。具体的には、本実施例では、ユーザが開いた口を閉じるタイミングで食べ物を一口食べたと判定され、当該食べたと判定された操作に応じて食べ物が食べ進められる。そして、ユーザが所定時間内に食べ物を食べた量に基づいて、早食いゲームの結果が判定される。
【０１１８】
例えば、図８に示すように、上記早食いゲームにおいて食べ物が食べられている状況が本体装置２に表示されるとともに、ユーザが食べている音が本体装置２から出力され、ユーザが食べていることに合わせた振動が右コントローラ４に与えられる。図８に示した一例では、ホットドッグを４本半食べたことを示すホットドッグ画像が本体装置２に表示されており、ユーザが口を開閉させる毎にホットドッグ画像の量が増えていくことによって、上記早食いゲームにおいて食べ物が食べられた量が表示される。なお、本実施例では、赤外撮像部１２３が撮像した撮像画像が複数の条件を満たしていることを判定する口開閉判定処理において肯定判定された場合に、上記早食いゲームにおいてユーザが口を開けた、または口を閉じたことが判定される。
【０１１９】
次に、図９および図１０を参照して、上記早食いゲームにおける口開閉判定方法についての詳細を説明する。なお、図９は、ユーザが口を閉じている状態を示す撮像画像の一例およびユーザが口を開いている状態を示す撮像画像の一例を示す図である。図１０は、ユーザが口を閉じている状態を示す撮像画像における輝度の一例およびユーザが口を開いている状態を示す撮像画像における輝度の一例を示す図である。
【０１２０】
図９に示すように、赤外撮像部１２３の撮像方向がユーザ自身の口に向いた状態で右コントローラ４の後端面をユーザの口に近づけた場合、赤外撮像部１２３は、ユーザの顔を被写体として撮像可能となる。また、上記状態では、赤外発光部１２４は、ユーザの顔に赤外光を照射可能である。したがって、赤外発光部１２４によってユーザの顔に照射された赤外光がユーザの顔で反射し、当該反射赤外光が赤外撮像部１２３によって撮像される。ここで、赤外撮像部１２３の撮像方向がユーザの口に向いているため、赤外撮像部１２３が撮像する撮像画像の中央部付近に被写体であるユーザの口付近が撮像される。例えば、図９の上段図に示すように、ユーザが口を閉じた状態で赤外撮像部１２３によって撮像された場合、その撮像画像の中央部付近に閉じた口が撮像されたユーザの顔画像が得られることになる。また、図９の下段図に示すように、ユーザが口を開いた状態で赤外撮像部１２３によって撮像された場合、その撮像画像の中央部付近に開いた口が撮像されたユーザの顔画像が得られることになる。そして、ユーザが口を開閉した場合、ユーザが口を開いた撮像画像とユーザが口を閉じた撮像画像とが交互に得られることになる。
【０１２１】
赤外撮像部１２３が撮像する撮像画像は、赤外光を撮像したものとなる。例えば、図１０に示すように、赤外撮像部１２３が撮像した撮像画像では、撮像された赤外光の輝度が相対的に高い領域（図１０において白色領域で示す部分）と、撮像された赤外光の輝度が相対的に低い領域（図１０において格子網掛領域で示す部分と右下がり射線領域で示す部分）とが生じる。ここで、赤外撮像部１２３が撮像する撮像画像は、赤外発光部１２４によって照射されてユーザの顔で反射した反射赤外光が主に撮像されるため、ユーザの顔を示す撮像領域（図１０において白色領域で示す部分）の反射赤外光の輝度が高くなり、ユーザの顔の周辺空間を示す撮像領域（図１０において格子網掛領域で示す部分）の反射赤外光の輝度が非常に低くなる。このように、赤外撮像部１２３が撮像する撮像画像における反射赤外光の輝度を分析することによって、ユーザの顔部分とユーザの顔以外の部分との区別が可能となる。
【０１２２】
また、被写体であるユーザが口を開いた場合、赤外発光部１２４によってユーザの顔に照射された赤外光が口内では口内以外に対して遠い位置で反射する。したがって、赤外撮像部１２３が撮像する撮像画像において、ユーザが開いている口の口内で反射した赤外光が撮像される領域（図１０の下段図において右下がり射線領域で示す部分）の輝度は、当該口内以外のユーザの顔で反射した赤外光が撮像される領域の輝度より低くなる。一方、図１０の上段図に示すように、ユーザが口を閉じている場合、赤外撮像部１２３が撮像する撮像画像において、上述した口内反射によって反射赤外光の輝度が低下することは生じない。また、上述したように、赤外撮像部１２３の撮像方向がユーザの口に向いているため、赤外撮像部１２３が撮像する撮像画像の中央部付近にユーザの口付近が撮像されていることを想定することができる。したがって、赤外撮像部１２３が撮像する撮像画像の中央部付近における反射赤外光の輝度に注目することによって、撮像されているユーザが口を開けているのか口を閉じているのか区別することが可能となる。
【０１２３】
本実施例では、赤外撮像部１２３が撮像する撮像画像をマトリクス状の複数のブロック（小領域）に分割し、当該ブロック毎の情報に基づいて、口開閉判定および口付近判定が行われる。例えば、図１０に示した撮像画像では、縦６個（第１行〜第６行）×横８個（第Ａ列〜第Ｈ列）の合計４８個のブロックに分割される例が示されている。そして、上記ユーザの口の開閉を判定する口開閉判定では、赤外撮像部１２３が撮像した撮像画像が複数の条件を全て満たしている場合に、ユーザの口の開閉状態が判定される。
【０１２４】
上記口開閉判定の第１の条件は、撮像画像における角に配置されている４つのブロックの輝度（例えば、ブロック内の平均輝度）がそれぞれ所定の閾値より高いか否かが判定される。例えば、撮像画像における角に配置されている４つのブロック（図１０に示す第１行第Ａ列ブロック、第１行第Ｈ列ブロック、第６行第Ａ列ブロック、第６行第Ｈ列ブロック）のうち、２つ以上のブロックの輝度が所定の閾値より高い場合に上記第１の条件による判定が否定判定され、それ以外の場合に上記第１の条件による判定が肯定判定される。撮像画像における角に配置されている４つのブロックのうち、３つ以上のブロックにおける輝度が上記閾値より低い場合、当該ブロックにおいて撮像されている反射赤外光が少なく、赤外光を反射する被写体が撮像画像における角部分に存在しないと考えられるため、赤外撮像部１２３が丸い形状の被写体（例えば、ユーザの顔）を撮像していると推測することができる。
【０１２５】
上記口開閉判定の第２の条件は、撮像画像全体の輝度重心座標が当該撮像画像の中央付近の所定範囲内であるか否かが判定される。そして、撮像画像全体の輝度重心座標が上記所定範囲内にある場合に上記第２の条件による判定が肯定判定され、撮像画像全体の輝度重心座標が上記所定範囲外にある場合に上記第２の条件による判定が否定判定される。赤外撮像部１２３の撮像方向をユーザの口に向けるとともに、右コントローラ４の後端部をユーザの顔に向けて真っ直ぐ把持している場合、輝度重心座標が撮像画像の中央付近となるため、上記第２の条件を用いた判定によってユーザが右コントローラ４を把持している推測を判断することができる。
【０１２６】
上記口開閉判定の第３の条件は、撮像画像全体の輝度重心座標の変化量（例えば、前回の処理で算出された輝度重心座標との距離）が所定の閾値以下であるか否かが判定される。そして、撮像画像全体の輝度重心座標の変化量が上記閾値以下にある場合に上記第３の条件による判定が肯定判定され、撮像画像全体の輝度重心座標の変化量が上記閾値より大きい場合に上記第３の条件による判定が否定判定される。ここで、ユーザの口の開閉によって撮像画像の輝度が変化する場合、当該輝度の変化が撮像画像の中央部付近で生じるため、当該撮像画像全体の輝度重心座標の変化量自体は小さいものとなることが考えられる。このように、撮像画像全体の輝度重心座標の変化量を判定することによって、ユーザの口の開閉によって撮像画像の輝度が変化しているか否かを推測することができる。
【０１２７】
上記口開閉判定の第４の条件は、撮像画像における中央に配置されているブロックの輝度変化（例えば、ブロック内の平均輝度の変化）が所定の閾値より高いか否かが判定される。例えば、撮像画像における中央に配置されている４つのブロック（図１０に示す第３行第Ｄ列ブロック、第３行第Ｅ列ブロック、第４行第Ｄ列ブロック、第４行第Ｅ列ブロック）の平均輝度変化が所定の閾値以上の場合に上記第４の条件による判定が肯定判定され、平均輝度変化が所定の閾値未満の場合に上記第４の条件による判定が否定判定される。ここで、ユーザの口の開閉によって撮像画像の輝度が変化する場合、当該輝度の変化が撮像画像の中央部付近で生じるため、撮像画像における中央に配置されているブロックの輝度変化は大きいものとなることが考えられる。このように、撮像画像における中央に配置されているブロックの輝度変化を判定することによって、ユーザの口の開閉によって撮像画像の輝度が変化しているか否かを推測することができる。
【０１２８】
上記口開閉判定では、上記第１の条件〜上記第４の条件が全て肯定判定された場合に、撮像画像全体の平均輝度の変化に基づいて、ユーザの口の開閉が判定される。例えば、撮像画像全体の平均輝度（全ブロックの平均輝度）の変化が増加傾向にある場合（例えば、直前の複数回（例えば、連続する過去３回）算出された平均輝度の何れに対しても高い場合）、撮像されているユーザが口を閉じる動作（口閉じ動作）をしている判定する。また、撮像画像全体の平均輝度の変化が減少傾向にある場合（例えば、連続する過去３回）算出された平均輝度の何れに対しても低い場合）、撮像されているユーザが口を開く動作（口開き動作）をしている判定する。
【０１２９】
なお、撮像画像全体の平均輝度の変化が増加傾向にあるか減少傾向あるかを判定する方法については、他の方法でもよい。例えば、連続する過去４回以上において算出された平均輝度と現時点の平均輝度との比較に基づいて、上記増加傾向にあるか上記減少傾向あるかを判定してもよい。また、所定回数連続して平均輝度が増加している場合に上記増加傾向にあると判定し、所定回数連続して平均輝度が減少している場合に上記減少傾向にあると判定してもよい。また、前回算出された平均輝度との変化量に基づいて、当該変化量が所定量以上ある場合、または所定回数連続して当該変化量が所定量以上ある場合に、上記増加傾向にあるか上記減少傾向あるかを判定してもよい。なお、上述した連続する過去複数回における平均輝度の算出結果は、上記第１の条件〜上記第４の条件の何れかが否定判定されることによって途切れるものであってもよいし、当該否定判定された処理機会を除いた算出機会を対象として累積されるものであってもよい。
【０１３０】
本実施例では、上記口開閉判定に先立って、ユーザが右コントローラ４を口に向けて静止させて、ユーザ自身の口付近を撮像しているか否かを判定する口付近判定が行われる。そして、上記口付近判定が肯定判定されたことを条件として、上述した口開閉判定が行われる。口付近判定においても、赤外撮像部１２３が撮像した撮像画像が複数の条件を全て満たしているか否かが判定され、当該複数の条件を全て満たしている場合にユーザが右コントローラ４を口に向けて静止させて、ユーザ自身の口付近を撮像していると判定されるが、上記口開閉判定より厳しい条件が加えられている。
【０１３１】
上記口付近判定の第１の条件は、上記口開閉判定の第１の条件と同じであり、撮像画像における角に配置されている４つのブロックの輝度（例えば、ブロック内の平均輝度）がそれぞれ所定の閾値より高いか否かが判定される。例えば、撮像画像における角に配置されている４つのブロック（図１０に示す第１行第Ａ列ブロック、第１行第Ｈ列ブロック、第６行第Ａ列ブロック、第６行第Ｈ列ブロック）のうち、２つ以上のブロックの輝度が所定の閾値より高い場合に上記第１の条件による判定が否定判定され、それ以外の場合に上記第１の条件による判定が肯定判定される。
【０１３２】
上記口付近判定の第２の条件は、撮像画像全体の輝度重心座標が当該撮像画像の中央付近の所定範囲内であるか否かが判定されるが、上記口開閉判定の第２の条件で用いられる所定範囲より相対的に小さな範囲が用いられる。そして、撮像画像全体の輝度重心座標が上記所定範囲内にある場合に上記第２の条件による判定が肯定判定され、撮像画像全体の輝度重心座標が上記所定範囲外にある場合に上記第２の条件による判定が否定判定される。
【０１３３】
上記口付近判定の第３の条件は、撮像画像全体の輝度重心座標の変化量（例えば、前回の処理で算出された輝度重心座標との距離）が所定の閾値以下であるか否かが判定されるが、上記口開閉判定の第３の条件で用いられる所定の閾値より相対的に小さな値が用いられる。そして、撮像画像全体の輝度重心座標の変化量が上記閾値以下にある場合に上記第３の条件による判定が肯定判定され、撮像画像全体の輝度重心座標の変化量が上記閾値より大きい場合に上記第３の条件による判定が否定判定される。
【０１３４】
上記口付近判定の第４の条件は、撮像画像全体の平均輝度が所定の範囲内にあるか否かが判定される。そして、撮像画像全体の平均輝度が所定の範囲内にある場合に上記第４の条件による判定が肯定判定され、撮像画像全体の平均輝度が所定の範囲外にある場合に上記第４の条件による判定が否定判定される。ここで、ユーザが右コントローラ４を顔に近付け過ぎている場合、赤外撮像部１２３が撮像する反射赤外光が多くなり、撮像画像全体の平均輝度が増加する。一方、ユーザが右コントローラ４を顔から離し過ぎている場合、赤外撮像部１２３が撮像する反射赤外光が少なくなり、撮像画像全体の平均輝度が減少する。上記口付近判定の第４の条件では、このような右コントローラ４とユーザの顔との距離が近すぎるまたは遠すぎる状態を検出するために行われており、当該距離が適切な範囲にある場合に肯定判定されるように上記所定の範囲が設定される。
【０１３５】
上記口付近判定の第５の条件は、右コントローラ４が静止しているか否かが判定される。例えば、上記口付近判定の第５の条件による判定では、右コントローラ４に設けられている角速度センサ１１５によって検出される角速度が用いられ、所定時間において当該角速度の変化量が所定の範囲内にある場合に右コントローラ４が静止しているとして肯定判定され、所定時間において当該角速度の変化量が所定の範囲外に逸脱した場合に右コントローラ４が静止していないとして否定判定される。
【０１３６】
上記口付近判定では、上記第１の条件〜上記第５の条件が全て肯定判定された場合に、ユーザが右コントローラ４を口に向けて静止させて、ユーザ自身の口付近を撮像していると判定され、上記早食いゲームを開始することが許可される。そして、上記早食いゲーム開始後は、上記口開閉判定に基づいて、食べ物を食べたか否かが逐次判定される。このように、上記早食いゲーム開始前に対してゲーム開始後の判定条件をラフにすることによって、ゲーム開始前の不正な操作を防止しながら、ゲーム開始後に誤判定によるゲームの中断が多発するような状態を避けることができる。
【０１３７】
なお、上述した実施例では、赤外撮像部１２３が撮像する撮像画像をマトリクス状の複数のブロックに分割し、当該ブロック毎の情報に基づいて、口開閉判定および口付近判定が行われているが、当該撮像画像を他の形状の小領域に分割してもよい。例えば、上記複数のブロックは、矩形（長方形、正方形）でもいいし、菱形でもいいし、他の多角形でもよい。また、赤外撮像部１２３が撮像する撮像画像をクロス格子状の複数の小領域（矩形または菱形）に分割してもよい。さらに、赤外撮像部１２３が撮像する撮像画像をサイズおよび／または形状の異なる複数の小領域に分割してもよく、一例として、当該撮像画像の外縁付近に位置する小領域を相対的に大きく設定し、当該撮像画像の中央付近に位置する小領域を相対的に小さく設定することが考えられる。
【０１３８】
また、上記口開閉判定および上記口付近判定を行う対象とする画像は、赤外撮像部１２３が撮像した撮像画像全体でもいいし、当該撮像画像から情報を算出する撮像画像の一部領域（後述する解析ウインドウ）であってもよい。本実施例においては、赤外撮像部１２３が撮像した撮像画像における少なくとも一部の領域に所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定するとともに、当該座標軸が設定された画像を所定のブロック（例えば、８×６の４８ブロック）に分割して、上記口開閉判定および上記口付近判定が行われる。
【０１３９】
次に、本体装置２が上記口開閉判定および上記口付近判定を行うために、右コントローラ４が本体装置２に送信する撮像画像に関する情報（撮像対象に関する情報）について説明する。例えば、右コントローラ４は、複数のモード（モーメントモード、クラスタリングモード等）によって、赤外撮像部１２３が撮像した撮像画像に撮像されている撮像対象に関する情報を算出して本体装置２に送信することが可能である。なお、図１１は、クラスタリングモードにおいて算出する撮像対象に関する情報の一例を説明するための図である。
【０１４０】
モーメントモードでは、上述したように、赤外撮像部１２３が撮像した撮像画像を複数のブロックに分割し、ブロック毎の平均輝度や重心位置を算出する。例えば、赤外撮像部１２３が撮像した撮像画像全体または当該撮像画像から情報を算出する撮像画像の一部領域（後述する解析ウインドウ）に所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定するとともに、当該座標軸が設定された画像を所定のブロック（例えば、８×６の４８ブロック）に分割する。そして、各ブロックにおいて所定の閾値以上の輝度を有する画素を処理対象として、各ブロックの輝度の総和、各ブロックの横方向の一次モーメント、および各ブロックの縦方向の一次モーメントが算出され、これらの算出結果が撮像対象の情報として算出される。例えば、各ブロックの輝度の総和は、各ブロック内の画素が有する輝度を全画素について合計した値であり、当該総和を当該ブロックの画素数で除算することによって当該ブロックの平均輝度が得られるパラメータである。そして、各ブロックの平均輝度を全ブロック分総和した値をブロック数で除算することによって、全体（処理対象としている撮像画像全体や撮像画像の一部領域）の平均輝度を得ることができる。また、各ブロックの横方向の一次モーメントは、各ブロック内の画素が有する輝度に当該画素のＸ軸方向位置を乗算した値を全画素について合計した値であり、当該ブロックの横方向の一次モーメントを当該ブロックの輝度の総和で除算することによって当該ブロックにおける輝度の横方向重心位置が得られるパラメータである。そして、各ブロックにおける輝度の横方向重心位置を全ブロック分総和した値をブロック数で除算することによって、全体（処理対象としている撮像画像全体や撮像画像の一部領域）輝度の横方向重心位置を得ることができる。また、各ブロックの縦方向の一次モーメントは、各ブロック内の画素が有する輝度に当該画素のＹ軸方向位置を乗算した値を全画素について合計した値であり、当該ブロックの縦方向の一次モーメントを当該ブロックの輝度の総和で除算することによって当該ブロックにおける輝度の縦方向重心位置が得られるパラメータである。そして、各ブロックにおける輝度の縦方向重心位置を全ブロック分総和した値をブロック数で除算することによって、全体（処理対象としている撮像画像全体や撮像画像の一部領域）輝度の縦方向重心位置を得ることができる。
【０１４１】
図１１において、クラスタリングモードでは、赤外撮像部１２３が撮像した撮像画像の中から高輝度画素の塊（クラスタ）を検出し、当該撮像画像における当該クラスタの位置やサイズを算出する。例えば、図１１に示すように、赤外撮像部１２３が撮像した撮像画像全体または当該撮像画像から情報を算出する撮像画像の一部領域（後述する解析ウインドウ）に対して、所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定する。そして、上記座標軸が設定された画像から、所定の閾値以上の輝度を有する画素が隣接している画素群を抽出し、当該画素群が所定の範囲内のサイズであればクラスタであると判定する。例えば、ユーザの顔が撮像された撮像画像の場合、赤外発光部１２４から照射された赤外光をより多く反射するユーザの顔が高輝度画素として抽出されるため、ユーザの顔が撮像されている画像がクラスタとして判定されることになる。そして、上記クラスタリングモードでは、このように抽出されたクラスタの総数が算出されるとともに、各クラスタの平均輝度、面積（画素数）、重心座標、および外接長方形が算出され、これらの算出結果が撮像対象の情報として算出される。
【０１４２】
なお、モーメントモードおよび／またはクラスタリングモードにおいて算出された撮像対象の情報は、右コントローラ４内で算出されて本体装置２へ送信される。したがって、赤外撮像部１２３が撮像した撮像画像そのものを示すデータを送信する場合と比較すると、本体装置２へ送信するデータ量を削減することができるとともに、本体装置２側における処理負荷も低減することができる。また、撮像対象の情報のデータ量が小さいため、右コントローラ４から送信する他の操作データに含ませて当該撮像対象の情報を本体装置２へ送信することも可能であり、右コントローラ４と本体装置２との間の通信処理自体も簡素に構成することができる。
【０１４３】
なお、上記クラスタリングモードにおいて、各クラスタの位置（重心座標や外接長方形の位置）を算出する際、撮像画像において設定された基準位置を基準として算出してもよい。一例として、上記基準位置は、撮像画像に撮像されている所定の被撮像物の位置に設定してもよい。そして、赤外撮像部１２３の撮像画像を解析する際に、当該撮像画像に対してパターンマッチングを用いた画像処理等を行うことによって、当該撮像画像内から基準の被撮像物が撮像されている位置を算出する。このような基準の被撮像物の撮像位置を基準として各クラスタの位置を算出することによって、各クラスタの位置、向き、形状等を精度よく検出することができる。また、撮像画像内に撮像されている基準の被撮像物と他の撮像対象との位置関係や基準の被撮像物が撮像されている形状を用いることによって、撮像対象の種類を特定することが容易になる。
【０１４４】
次に、図１２および図１３を参照して、本実施例において右コントローラ４で実行される具体的な処理の一例について説明する。図１２は、右コントローラ４のメモリ（例えば、処理部１２１に含まれるメモリ）において設定されるデータ領域の一例を示す図である。なお、上記右コントローラ４のメモリには、図１２に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。また、後述する右コントローラ４で実行される情報算出処理では、モーメントモードによって撮像対象の情報を算出する例を用いる。
【０１４５】
右コントローラ４のメモリのプログラム記憶領域には、処理部１２１で実行される各種プログラムＰｓが記憶される。本実施例においては、各種プログラムＰｓは、上述した撮像画像の撮像結果に基づく情報を取得して算出するための情報算出プログラムや算出した情報を本体装置２へ送信するためのプログラム等が記憶される。なお、各種プログラムＰｓは、右コントローラ４内に予め記憶されていてもよいし、本体装置２に着脱可能な記憶媒体（例えば、第１スロット２３に装着された第１の種類の記憶媒体、第２スロット２４に装着された第２の種類の記憶媒体）から取得されて右コントローラ４のメモリに記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されて右コントローラ４のメモリに記憶されてもよい。処理部１２１は、右コントローラ４のメモリに記憶された各種プログラムＰｓを実行する。
【０１４６】
また、右コントローラ４のメモリのデータ記憶領域には、処理部１２１において実行される処理において用いられる各種のデータが記憶される。本実施例においては、右コントローラ４のメモリには、撮像画像データＤｓａ、解析ウインドウデータＤｓｂ、およびブロックデータＤｓｃ等が記憶される。
【０１４７】
撮像画像データＤｓａは、赤外撮像部１２３が撮像した撮像画像を示すデータである。本実施例では、処理部１２１の指示に基づいた周期で赤外撮像部１２３が撮像処理を行っており、当該撮像された撮像画像を用いて撮像画像データＤｓａが適宜更新される。なお、撮像画像データＤｓａの更新周期は、後述する処理部１２３において実行される処理および／またはＣＰＵ８１において実行される処理の周期毎に更新されてもよいし、上記撮像画像が撮像される周期毎に更新されてもよい。
【０１４８】
解析ウインドウデータＤｓｂは、撮像画像データＤｓａに格納されている撮像画像のうち、撮像結果に基づく情報を算出するために解析する範囲（解析ウインドウ）の画像を示すデータである。
【０１４９】
ブロックデータＤｓｃは、上記解析ウインドウを分割することによって設定されたブロック毎の輝度に関する情報を示すデータである。ブロックデータＤｓｃは、上記ブロック毎に輝度総和データＤｓｃ１、横方向モーメントデータＤｓｃ２、および縦方向モーメントデータＤｓｃ３等を含んでいる。輝度総和データＤｓｃ１は、ブロック内の画素がそれぞれ有する輝度を全画素について合計した値を示すデータである。横方向モーメントデータＤｓｃ２は、ブロック内の画素がそれぞれ有する輝度に当該画素の横方向座標値（Ｘ軸方向位置）を乗算した値（横方向の一次モーメント）を全画素について合計した値を示すデータである。縦方向モーメントデータＤｓｃ３は、ブロック内の画素がそれぞれ有する輝度に当該画素の縦方向座標値（Ｙ軸方向位置）を乗算した値（縦方向の一次モーメント）を全画素について合計した値を示すデータである。
【０１５０】
次に、本実施例における撮像画像の撮像結果に基づく情報を算出する処理（以下、単に情報算出処理と記載する）の詳細な一例を説明する。図１３は、処理部１２１のＣＰＵで実行される情報算出処理の一例を示すフローチャートである。本実施例においては、図１３に示す一連の処理は、処理部１２１のＣＰＵが各種プログラムＰｓに含まれる情報算出プログラム等を実行することによって行われる。また、図１３に示す情報算出処理が開始されるタイミングは任意である。
【０１５１】
なお、図１３に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を処理部１２１のＣＰＵが実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、処理部１２１のＣＰＵ以外のプロセッサや専用回路が実行するようにしてもよい。また、右コントローラ４において実行される処理の一部は、右コントローラ４と通信可能な他の情報処理装置（例えば、本体装置２や本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図１３に示す各処理は、右コントローラ４を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１５２】
図１３において、処理部１２１のＣＰＵは、情報算出処理における初期設定を行い（ステップＳ１４１）、次のステップに処理を進める。例えば、上記初期設定において、処理部１２１のＣＰＵは、以下に説明する処理を行うためのパラメータを初期化する。また、上記初期設定において、処理部１２１のＣＰＵは、撮像画像のうち、撮像結果に基づく情報を算出するために解析する範囲（解析ウインドウ）を初期設定する。また、上記初期設定において、処理部１２１のＣＰＵは、上記解析ウインドウに所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定するとともに、当該座標軸が設定された画像を所定のブロック（例えば、８×６の４８ブロック）に分割して設定する。なお、解析ウインドウの範囲は、本体装置２からの指示に基づいて設定されてもよいし、予め定められていてもよい。また、解析ウインドウの範囲は複数設定されてもよく、この場合、時系列的に順次異なる解析ウインドウ毎に撮像結果に基づく情報が算出されることになる。
【０１５３】
次に、処理部１２１のＣＰＵは、赤外撮像部１２３が撮像した撮像画像を取得し（ステップＳ１４２）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、赤外撮像部１２３から撮像画像を取得して撮像画像データＤｓａを更新する。
【０１５４】
次に、処理部１２１のＣＰＵは、解析ウインドウを設定し（ステップＳ１４３）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、上記初期設定されている解析ウインドウの範囲に基づいて、撮像画像データＤｓａに格納されている撮像画像から解析ウインドウ内の画像を切り出し、当該切り出した画像を用いて解析ウインドウデータＤｓｂを更新する。
【０１５５】
次に、処理部１２１のＣＰＵは、上記解析ウインドウ内の画像を分割することによって複数のブロックを設定し（ステップＳ１４４）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、解析ウインドウデータＤｓｂに格納されている画像に対して、所定の座標軸（例えば、横方向をＸ軸、縦方向をＹ軸とする座標軸）を設定するとともに、当該座標軸が設定された画像を所定のブロック（例えば、８×６の４８ブロック）に分割する。
【０１５６】
次に、処理部１２１のＣＰＵは、上記ステップＳ１４４において設定されたブロックから、以降の処理において処理対象とするブロックを選出し（ステップＳ１４５）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、上記ステップＳ１４４において設定されたブロックに対して、左上のブロック（図１０に示す第１行第Ａ列のブロック）から右下のブロック（図１０に示す第６行第Ｈ列のブロック）の順で処理対象とするブロックを選出する。
【０１５７】
次に、処理部１２１のＣＰＵは、上記ステップＳ１４５において選出された処理対象のブロックにおいて、輝度の総和を算出し（ステップＳ１４６）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、処理対象のブロック内の画素が有する輝度を全画素について合計することによって輝度の総和を算出し、当該総和を示す値を用いて処理対象のブロックに対応する輝度総和データＤｓｃ１を更新する。
【０１５８】
次に、処理部１２１のＣＰＵは、上記ステップＳ１４５において選出された処理対象のブロックにおいて、横方向モーメントを算出し（ステップＳ１４７）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、処理対象のブロック内の画素が有する輝度に当該画素のＸ軸方向位置を乗算した値を全画素について合計することによって横方向の一次モーメントを算出し、当該モーメントを示す値を用いて処理対象のブロックに対応する横方向モーメントデータＤｓｃ２を更新する。
【０１５９】
次に、処理部１２１のＣＰＵは、上記ステップＳ１４５において選出された処理対象のブロックにおいて、縦方向モーメントを算出し（ステップＳ１４８）、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、処理対象のブロック内の画素が有する輝度に当該画素のＹ軸方向位置を乗算した値を全画素について合計することによって縦方向の一次モーメントを算出し、当該モーメントを示す値を用いて処理対象のブロックに対応する縦方向モーメントデータＤｓｃ３を更新する。
【０１６０】
次に、処理部１２１のＣＰＵは、上記解析ウインドウ内の画像内に、上記ステップＳ１４５〜ステップＳ１４８の処理が行われていないブロックが残っているか否かを判定する（ステップＳ１４９）。そして、処理部１２１のＣＰＵは、未処理のブロックが残っている場合、上記ステップＳ１４５に戻って処理を繰り返す。一方、処理部１２１のＣＰＵは、未処理のブロックが残っていない場合、ステップＳ１５０に処理を進める。
【０１６１】
ステップＳ１５０において、処理部１２１のＣＰＵは、撮像画像の撮像結果に基づく情報を示すデータを本体装置２へ送信する処理を行い、次のステップに処理を進める。例えば、処理部１２１のＣＰＵは、ブロックデータＤｓｃを用いて、本体装置２へ送信するためのデータを生成し、通信制御部１１１へ当該データを出力する。これによって、通信制御部１１１は、他の操作データ（ボタン操作データ、加速度データ、角速度データ等）とともに撮像画像の撮像結果に基づく情報を操作データとして生成し、当該操作データを所定の送信周期毎に本体装置２へ送信する。
【０１６２】
次に、処理部１２１のＣＰＵは、情報算出処理を終了するか否かを判定する(ステップＳ１５１)。上記ステップＳ１５１において情報算出処理を終了する条件としては、例えば、本体装置２から情報算出処理を終了する指示を受領したことや、ユーザが情報算出処理を終了する操作を行ったこと等がある。処理部１２１のＣＰＵは、情報算出処理を終了しない場合に上記ステップＳ１４２に戻って処理を繰り返し、情報算出処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ１４２〜ステップＳ１５１の一連の処理は、ステップＳ１５１で情報算出処理を終了すると判定されるまで繰り返し実行される。
【０１６３】
なお、上述した情報算出処理では、各ブロックの輝度の総和、各ブロックの横方向の一次モーメント、および各ブロックの縦方向の一次モーメントが撮像対象の情報として算出される例を用いたが、他の態様の情報を撮像情報の情報として算出して、右コントローラ４から本体装置２へ送信してもよい。本実施例では、各ブロックの輝度の総和が送信されるため、本体装置２側において各ブロックの輝度の総和を全ブロックにおいて合計して全画素数で除算することによって、分割された複数のブロック全てによって構成される領域全体の平均輝度を得ることができる。他の実施例では、分割された複数のブロックの少なくとも一部の輝度と、当該分割された複数のブロック全てによって構成される領域全体の輝度とが、少なくとも算出可能な情報を右コントローラ４から本体装置２へ送信すればよい。例えば、上記分割された複数のブロック全てによって構成される領域全体における平均輝度や輝度の総和が算出されて、右コントローラ４から本体装置２へ送信されてもよいし、各ブロックの平均輝度が算出されて、右コントローラ４から本体装置２へ送信されてもよい。また、上述した情報算出処理では、各ブロックの横方向の一次モーメント、および各ブロックの縦方向の一次モーメントが算出されて右コントローラ４から本体装置２へ送信されているが、各ブロックにおける輝度の重心座標を得ることが可能な情報であれば、他の態様の情報が右コントローラ４から本体装置２へ送信されてもよい。例えば、各ブロックにおける輝度の重心座標そのものが算出されて、右コントローラ４から本体装置２へ送信されてもよい。他の例として、上記分割された複数のブロック全てによって構成される領域全体における輝度の重心座標が算出されて、右コントローラ４から本体装置２へ送信されてもよい。
【０１６４】
次に、図１４〜図１７を参照して、本実施例において本体装置２で実行される具体的な処理の一例について説明する。図１４は、本体装置２のＤＲＡＭ８５に設定されるデータ領域の一例を示す図である。なお、ＤＲＡＭ８５には、図１４に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。また、後述する本体装置２で実行される情報処理では、モーメントモードによって算出された撮像対象の情報を取得する例を用いる。
【０１６５】
ＤＲＡＭ８５のプログラム記憶領域には、本体装置２で実行される各種プログラムＰａが記憶される。本実施例においては、各種プログラムＰａは、上述した左コントローラ３および／または右コントローラ４との間で無線通信するための通信プログラムや、左コントローラ３および／または右コントローラ４から取得したデータに基づいた情報処理（例えば、ゲーム処理）を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムＰａは、フラッシュメモリ８４に予め記憶されていてもよいし、本体装置２に着脱可能な記憶媒体（例えば、第１スロット２３に装着された第１の種類の記憶媒体、第２スロット２４に装着された第２の種類の記憶媒体）から取得されてＤＲＡＭ８５に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてＤＲＡＭ８５に記憶されてもよい。ＣＰＵ８１は、ＤＲＡＭ８５に記憶された各種プログラムＰａを実行する。
【０１６６】
また、ＤＲＡＭ８５のデータ記憶領域には、本体装置２において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、ＤＲＡＭ８５には、操作データＤａ、ブロック輝度データＤｂ、平均輝度データＤｃ、中心輝度データＤｄ、輝度重心座標データＤｅ、口開きフラグデータＤｆ、姿勢変化データＤｇ、オブジェクトデータＤｈ、および画像データＤｉ等が記憶される。
【０１６７】
操作データＤａは、右コントローラ４からそれぞれ適宜取得した操作データである。上述したように、右コントローラ４から送信される操作データには、各入力部（具体的には、各ボタン、アナログスティック、各センサ）からの入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）と、赤外撮像部１２３の撮像画像の撮像結果に基づく情報が含まれている。本実施例では、無線通信によって右コントローラ４から所定周期で操作データが送信されており、当該受信した操作データを用いて操作データＤａが適宜更新される。なお、操作データＤａの更新周期は、後述する本体装置２で実行される処理の周期である１フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。操作データＤａは、ボタン操作データＤａ１、ブロックデータＤａ２、および角速度データＤａ３等を含んでいる。ボタン操作データＤａ１は、右コントローラ４の各ボタンやアナログスティックからの入力に関する情報を示すデータである。ブロックデータＤａ２は、右コントローラ４の処理部１２１において算出されたブロック毎の情報を示すデータである。角速度データＤａ３は、右コントローラ４の角速度センサ１１５によって検出された右コントローラ４に生じている角速度に関する情報を示すデータである。例えば、角速度データＤａ３は、右コントローラ４に生じているｘｙｚ軸周りの角速度を示すデータ等を含んでいる。
【０１６８】
ブロック輝度データＤｂは、各ブロックの平均輝度を示すデータである。平均輝度データＤｃは、ブロック全体の平均輝度を示すデータである。中心輝度データＤｄは、ブロック全体において中央付近に配置されたブロックにおける平均輝度を示すデータである。輝度重心座標データＤｅは、ブロック全体の輝度重心座標を示すデータである。
【０１６９】
口開きフラグデータＤｆは、撮像されているユーザが口を開く動作をしていると判定された場合にオンに設定され、口を閉じる動作をしていると判定された場合にオフに設定される口開きフラグを示すデータである。
【０１７０】
姿勢変化データＤｇは、実空間における右コントローラ４の姿勢変化量を示すデータである。例えば、姿勢変化データＤｇは、右コントローラ４のｘｙｚ軸方向周りに対する姿勢変化を示すデータ等を含んでいる。
【０１７１】
オブジェクトデータＤｈは、表示装置（例えば、ディスプレイ１２）に表示される仮想オブジェクトに関するデータ（例えば、仮想オブジェクトの種類、量等を示すデータ）である。画像データＤｉは、ゲームの際に表示装置に画像（例えば、仮想オブジェクトの画像、他のオブジェクトの画像、背景画像等）を表示するためのデータである。
【０１７２】
次に、本実施例における情報処理（例えば、ゲーム処理）の詳細な一例を説明する。図１５は、本体装置２で実行される情報処理の一例を示すフローチャートである。図１６は、図１５におけるステップＳ１６７で実行される口開閉判定処理の詳細な一例を示すサブルーチンである。図１７は、図１５におけるステップＳ１６４で実行される口付近判定処理の詳細な一例を示すサブルーチンである。なお、本実施例においては、図１５〜図１７に示す一連の処理は、ＣＰＵ８１が各種プログラムＰａに含まれる通信プログラムや所定のアプリケーションプログラム（例えば、ゲームプログラム）を実行することによって行われる。また、図１５〜図１７に示す情報処理が開始されるタイミングは任意である。
【０１７３】
なお、図１５〜図１７に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて（または代えて）別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理をＣＰＵ８１が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ８１以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置２において実行される処理の一部は、本体装置２と通信可能な他の情報処理装置（例えば、本体装置２とネットワークを介して通信可能なサーバ）によって実行されてもよい。すなわち、図１５〜図１７に示す各処理は、本体装置２を含む複数の情報処理装置が協働することによって実行されてもよい。
【０１７４】
図１５において、ＣＰＵ８１は、ゲーム処理における初期設定を行い（ステップＳ１６１）、次のステップに処理を進める。例えば、上記初期設定では、ＣＰＵ８１は、以下に説明する処理を行うためのパラメータを初期化する。また、上記初期設定において、ＣＰＵ８１は、赤外撮像部１２３の撮像画像のうち、撮像結果に基づく情報を算出するために解析する範囲（解析ウインドウ）および複数のブロックを初期設定して、右コントローラ４へ当該設定内容を指示してもよい。
【０１７５】
次に、ＣＰＵ８１は、ゲームを開始する際に右コントローラ４を構える初期姿勢をユーザに指示し（ステップＳ１６２）、次のステップに処理を進める。例えば、ＣＰＵ８１は、早食いゲームを開始する準備をするための操作指示「コントローラを口に近づけて構えましょう」を本体装置２のディスプレイ１２に表示する表示制御処理を行うとともに、本体装置２のスピーカ８８から当該操作指示を示す音声を出力する音声出力制御処理を行う。
【０１７６】
次に、ＣＰＵ８１は、右コントローラ４から操作データを取得して操作データＤａを更新し（ステップＳ１６３）、次のステップに処理を進める。例えば、ＣＰＵ８１は、右コントローラ４から取得した操作データに応じて、ボタン操作データＤａ１、ブロックデータＤａ２、および角速度データＤａ３等を更新する。
【０１７７】
次に、ＣＰＵ８１は、ユーザが右コントローラ４を口に向けて静止させて、ユーザ自身の口付近を撮像しているか否かを判定する口付近判定処理を行って（ステップＳ１６４）、次のステップに処理を進める。なお、上記ステップＳ１６４で行う口付近判定処理の詳細な説明については、後述する。
【０１７８】
次に、ＣＰＵ８１は、ユーザが上記初期姿勢で右コントローラ４を操作しているか否かを判定する（ステップＳ１６４）。例えば、ＣＰＵ８１は、上記ステップＳ１６４における口付近判定処理において初期姿勢ＯＫが設定された場合、上記ステップＳ１６４において肯定判定する。そして、ＣＰＵ８１は、ユーザが上記初期姿勢で右コントローラ４を操作していると判定された場合、ステップＳ１６６に処理を進める。一方、ＣＰＵ８１は、ユーザが上記初期姿勢で右コントローラ４を操作していないと判定された場合、ステップＳ１６２に戻って処理を繰り返す。
【０１７９】
ステップＳ１６６において、ＣＰＵ８１は、右コントローラ４から操作データを取得して操作データＤａを更新し、次のステップに処理を進める。なお、上記ステップＳ１６６の処理は、上述したステップＳ１６３の処理と同様であるため、詳細な説明を省略する。
【０１８０】
次に、ＣＰＵ８１は、ユーザが口を開く動作をしているか、口を閉じる動作をしているかを判定する口開閉判定処理を行って（ステップＳ１６７）、次のステップに処理を進める。以下、図１６を参照して、上記ステップＳ１６７で行う口開閉判定処理について説明する。
【０１８１】
図１６において、ＣＰＵ８１は、口開閉判定処理において用いる一時変数ｎが０であるか否かを判定する（ステップＳ１８１）。そして、ＣＰＵ８１は、一時変数ｎが０である場合、ステップＳ１８２に処理を進める。一方、ＣＰＵ８１は、一時変数ｎが０でない場合、現在の一時変数ｎから１を減算して新たな一時変数ｎに更新し（ステップＳ１９６）、当該サブルーチンによる処理を終了する。
【０１８２】
ステップＳ１８２において、ＣＰＵ８１は、各ブロックの平均輝度を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、ブロックデータＤａ２が示す各ブロックの輝度の総和を用いて、当該総和をブロックの画素数で除算することによって各ブロックの平均輝度を算出し、当該各ブロックの平均輝度を示す今回算出したデータを前回算出したデータに追加してブロック輝度データＤｂを更新する。
【０１８３】
次に、ＣＰＵ８１は、口開閉判定処理を行うための角条件を満たしているか否かを判定する（ステップＳ１８３）。上記ステップＳ１８３で行う判定は、上述した口開閉判定の第１の条件に相当するものである。すなわち、ＣＰＵ８１は、上記ステップＳ１８２で算出された各ブロックの平均輝度のうち、処理対象画像の角に配置されている４つのブロック（例えば、図１０に示す第１行第Ａ列ブロック、第１行第Ｈ列ブロック、第６行第Ａ列ブロック、第６行第Ｈ列ブロック）それぞれの平均輝度が所定の閾値より高いか否かを判定し、２つ以上のブロックの平均輝度が当該閾値より高い場合、上記ステップＳ１８３において否定判定する。そして、ＣＰＵ８１は、口開閉判定処理を行うための角条件を満たしている場合、ステップＳ１８４に処理を進める。一方、ＣＰＵ８１は、口開閉判定処理を行うための角条件を満たしていない場合、当該サブルーチンによる処理を終了する。
【０１８４】
ステップＳ１８４において、ＣＰＵ８１は、口開閉判定処理を行うための中央条件を満たしているか否かを判定する。上記ステップＳ１８４で行う判定は、上述した口開閉判定の第４の条件に相当するものである。すなわち、ＣＰＵ８１は、上記ステップＳ１８２で算出された各ブロックの平均輝度のうち、処理対象画像の中央付近に配置されている４つのブロック（例えば、図１０に示す第３行第Ｄ列ブロック、第３行第Ｅ列ブロック、第４行第Ｄ列ブロック、第４行第Ｅ列ブロック）全体の平均輝度を算出し、当該中央付近のブロック全体の平均輝度を示す今回算出したデータを前回算出したデータに追加して中心輝度データＤｄを更新する。次に、ＣＰＵ８１は、前回算出された中央付近のブロック全体の平均輝度に対する平均輝度の変化量を算出して、当該変化量が所定の閾値より高いか否かを判定し、当該閾値より高い場合に上記ステップＳ１８４において肯定判定する。そして、ＣＰＵ８１は、口開閉判定処理を行うための中央条件を満たしている場合、ステップＳ１８５に処理を進める。一方、ＣＰＵ８１は、口開閉判定処理を行うための中央条件を満たしていない場合、当該サブルーチンによる処理を終了する。
【０１８５】
ステップＳ１８５において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の輝度重心座標を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、ブロックデータＤａ２が示す各ブロックの横方向モーメントを当該ブロックの輝度の総和でそれぞれ除算することによって各ブロックにおける輝度の横方向重心位置を算出する。そして、ＣＰＵ８１は、各ブロックにおける輝度の横方向重心位置を全ブロック分総和した値をブロック数で除算することによって、処理対象画像全体（ブロック全体）の輝度の横方向重心位置を算出する。また、ＣＰＵ８１は、ブロックデータＤａ２が示す各ブロックの縦方向モーメントを当該ブロックの輝度の総和でそれぞれ除算することによって各ブロックにおける輝度の縦方向重心位置を算出する。そして、ＣＰＵ８１は、各ブロックにおける輝度の縦方向重心位置を全ブロック分総和した値をブロック数で除算することによって、処理対象画像全体（ブロック全体）の輝度の縦方向重心位置を算出する。そして、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の輝度の横方向重心位置および縦方向重心位置を示す今回算出したデータを前回算出したデータに追加して輝度重心座標データＤｅを更新する。
【０１８６】
次に、ＣＰＵ８１は、輝度重心座標が第１中央範囲内にあるか否かを判定する（ステップＳ１８６）。上記ステップＳ１８６で行う判定は、上述した口開閉判定の第２の条件に相当するものである。例えば、ＣＰＵ８１は、上記ステップＳ１８５で算出された処理対象画像全体（ブロック全体）の輝度重心座標が当該処理対象画像全体（ブロック全体）の中央付近に設定された第１中央範囲内（例えば、中央付近に配置されている４つのブロック（例えば、図１０に示す第３行第Ｄ列ブロック、第３行第Ｅ列ブロック、第４行第Ｄ列ブロック、第４行第Ｅ列ブロック）内）にある場合、上記ステップＳ１８６において肯定判定する。そして、ＣＰＵ８１は、輝度重心座標が第１中央範囲内にある場合、ステップＳ１８７に処理を進める。一方、ＣＰＵ８１は、輝度重心座標が第１中央範囲内にない場合、当該サブルーチンによる処理を終了する。
【０１８７】
ステップＳ１８７において、ＣＰＵ８１は、輝度重心変化量を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、輝度重心座標データＤｅを参照して前回算出された輝度重心座標と今回算出された輝度重心座標との距離を、輝度重心変化量として算出する。
【０１８８】
次に、ＣＰＵ８１は、上記ステップＳ１８７で算出された輝度重心変化量が第１値以下であるか否かを判定する（ステップＳ１８８）。上記ステップＳ１８８で行う判定は、上述した口開閉判定の第３の条件に相当するものである。そして、ＣＰＵ８１は、上記ステップＳ１８７で算出された輝度重心変化量が第１値以下である場合、上記第３の条件を満たしているとしてステップＳ１８９に処理を進める。一方、ＣＰＵ８１は、上記ステップＳ１８７で算出された輝度重心変化量が第１値より大きい場合、上記第３の条件を満たしていないとして当該サブルーチンによる処理を終了する。
【０１８９】
ステップＳ１８９において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、上記ステップＳ１８２で算出した各ブロックの平均輝度を全ブロック分総和した値をブロック数で除算することによって処理対象画像全体（ブロック全体）の平均輝度を算出し、処理対象画像全体（ブロック全体）の平均輝度を示す今回算出したデータを前回算出したデータに追加して平均輝度データＤｃを更新する。
【０１９０】
次に、ＣＰＵ８１は、口開きフラグデータＤｆを参照して、口開きフラグがオンに設定されているか否かを判定する（ステップＳ１９０）。そして、ＣＰＵ８１は、口開きフラグがオフに設定されている場合、ステップＳ１９１に処理を進める。一方、ＣＰＵ８１は、口開きフラグがオンに設定されている場合、ステップＳ１９３に処理を進める。
【０１９１】
ステップＳ１９１において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が下降傾向にあるか否かを判定する。例えば、ＣＰＵ８１は、平均輝度データＤｃを参照して、今回算出された平均輝度と直前の連続する３回において算出された過去の平均輝度とを取得し、今回算出された平均輝度が当該過去の平均輝度の何れに対しても低い場合、処理対象画像全体（ブロック全体）の平均輝度が下降傾向にあると判定する。そして、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が下降傾向にある場合、撮像されているユーザが口を開く動作をしていると判定して、口開きフラグをオンに設定して口開きフラグデータＤｆを更新し（ステップＳ１９２）、当該サブルーチンによる処理を終了する。一方、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が下降傾向にない場合、そのまま当該サブルーチンによる処理を終了する。
【０１９２】
一方、ステップＳ１９３において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が上昇傾向にあるか否かを判定する。例えば、ＣＰＵ８１は、平均輝度データＤｃを参照して、今回算出された平均輝度と直前の連続する３回において算出された過去の平均輝度とを取得し、今回算出された平均輝度が当該過去の平均輝度の何れに対しても高い場合、処理対象画像全体（ブロック全体）の平均輝度が上昇傾向にあると判定する。そして、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が上昇傾向にある場合、撮像されているユーザが口を閉じる動作をしていると判定して、口開きフラグをオフに設定して口開きフラグデータＤｆを更新し（ステップＳ１９４）、ステップＳ１９５に処理を進める。一方、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度が上昇傾向にない場合、そのまま当該サブルーチンによる処理を終了する。
【０１９３】
ステップＳ１９５において、ＣＰＵ８１は、口開閉判定処理において用いる一時変数ｎを所定の自然数（例えば、５）に設定して、当該サブルーチンによる処理を終了する。ここで、上記ステップＳ１８１の処理により、一時変数ｎが０とならない限り上記ステップＳ１８２〜ステップＳ１９５における口開閉判定処理が行われることがなく、上記ステップＳ１９５において設定される自然数に応じて口開閉判定処理がスキップされる回数（時間）が設定されることになる。そして、一時変数ｎは、口開きフラグがオンからオフに変更された時点、すなわちユーザが口を閉じる動作を開始した時点で０より大きな数に設定されるため、ユーザが口を閉じる動作を開始した後の所定時間においては口開閉判定処理（具体的には、ユーザが口を開く動作を開始したことを判定する処理）が行われないことになる。
【０１９４】
図１５に戻り、ＣＰＵ８１は、上記ステップＳ１６７における口開閉判定処理の後、撮像されているユーザが口を閉じる動作を開始したか否かを判定する（ステップＳ１６８）。例えば、ＣＰＵ８１は、直前の口開閉判定処理において口開きフラグがオンからオフに変更された場合、すなわち上記ステップＳ１９４が実行されている場合、撮像されているユーザが口を閉じる動作を開始したと判定する。そして、ＣＰＵ８１は、撮像されているユーザが口を閉じる動作を開始した場合、ステップＳ１６９に処理を進める。一方、ＣＰＵ８１は、撮像されているユーザが口を閉じる動作を開始していない場合、ステップＳ１７１に処理を進める。
【０１９５】
ステップＳ１６９において、ＣＰＵ８１は、表示装置（例えば、ディスプレイ１２）に表示する仮想オブジェクトに関する設定を更新し、次のステップに処理を進める。例えば、ＣＰＵ８１は、表示装置に表示される仮想オブジェクトの数や量を所定量増やし、増量後の設定値を用いてオブジェクトデータＤｈを更新する。
【０１９６】
次に、ＣＰＵ８１は、ユーザが食べる音や食べる振動を生成する処理を行い（ステップＳ１７０）、ステップＳ１７１に処理を進める。例えば、ＣＰＵ８１は、ユーザが食べる音として想定される音声を本体装置２のスピーカ８８から出力する音声出力制御を行う。また、ＣＰＵ８１は、ユーザが食べる振動として想定される振動を右コントローラ４の振動子１１７から出力する振動出力制御を行うための送信データを、コントローラ通信部８３を介して、右コントローラ４へ送信する。
【０１９７】
ステップＳ１７１において、ＣＰＵ８１は、表示装置に仮想オブジェクトが配置された画像を表示する処理を行い、次のステップに処理を進める。例えば、ＣＰＵ８１は、オブジェクトデータＤｈに基づいてユーザによって食べられた仮想オブジェクトの数や量を設定し、当該設定に基づいて仮想オブジェクトが配置された仮想世界画像を生成する。そして、ＣＰＵ８１は、生成された仮想世界画像を表示装置（例えば、本体装置１１のディスプレイ１２）に表示する処理を行う。
【０１９８】
次に、ＣＰＵ８１は、ゲームを終了するか否かを判定する（ステップＳ１７２）。上記ステップＳ１７２においてゲームを終了する条件としては、例えば、上記ゲームを終了する条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。ＣＰＵ８１は、ゲームを終了しない場合に上記ステップＳ１６６に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップＳ１６６〜ステップＳ１７２の一連の処理は、ステップＳ１７２でゲームを終了すると判定されるまで繰り返し実行される。
【０１９９】
次に、図１７を参照して、上記ステップＳ１６４で行う口付近判定処理について説明する。図１５のフローチャートから明らかなように、上記ステップＳ１６４で行う口付近判定処理は、上記ステップＳ１６７で行う口開閉判定処理に先だって行われる処理であり、当該口付近判定処理において初期姿勢がＯＫであると判定されるまで上記口開閉判定処理が行われないものとなっている。
【０２００】
図１７において、ＣＰＵ８１は、各ブロックの平均輝度を算出し（ステップＳ２０１）、次のステップに処理を進める。なお、上記ステップＳ２０１の処理は、上述したステップＳ１８２の処理と同様であるため、ここでは詳細な説明を省略する。
【０２０１】
次に、ＣＰＵ８１は、口付近判定処理を行うための角条件を満たしているか否かを判定する（ステップＳ２０２）。そして、ＣＰＵ８１は、口付近処理を行うための角条件を満たしている場合、ステップＳ２０３に処理を進める。一方、ＣＰＵ８１は、口付近判定処理を行うための角条件を満たしていない場合、当該サブルーチンによる処理を終了する。なお、上記ステップＳ２０２の処理は、上述した口付近判定の第１の条件に相当するものであるが、上述したステップＳ１８３の処理と同様であるため、ここでは詳細な説明を省略する。
【０２０２】
ステップＳ２０３において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の輝度重心座標を算出し、次のステップに処理を進める。なお、上記ステップＳ２０３の処理は、上述したステップＳ１８５の処理と同様であるため、ここでは詳細な説明を省略する。
【０２０３】
次に、ＣＰＵ８１は、輝度重心座標が第２中央範囲内にあるか否かを判定する（ステップＳ２０４）。上記ステップＳ２０４で行う判定は、上述した口付近判定の第２の条件に相当するものである。例えば、ＣＰＵ８１は、上記ステップＳ２０３で算出された処理対象画像全体（ブロック全体）の輝度重心座標が当該処理対象画像全体（ブロック全体）の中央付近に設定された第２中央範囲内にある場合、上記ステップＳ２０４において肯定判定する。ここで、上記第２中央範囲は、上述したステップＳ１８６で用いた第１中央範囲内に含まれ、かつ、当該第１中央範囲より小さな範囲に設定することが好ましく、これによって口付近判定の第２の条件が口開閉判定における第２の条件より厳しい条件となる。そして、ＣＰＵ８１は、輝度重心座標が第２中央範囲内にある場合、ステップＳ２０５に処理を進める。一方、ＣＰＵ８１は、輝度重心座標が第２中央範囲内にない場合、当該サブルーチンによる処理を終了する。
【０２０４】
ステップＳ２０５において、ＣＰＵ８１は、輝度重心変化量を算出し、次のステップに処理を進める。なお、上記ステップＳ２０５の処理は、上述したステップＳ１８７の処理と同様であるため、ここでは詳細な説明を省略する。
【０２０５】
次に、ＣＰＵ８１は、上記ステップＳ２０５で算出された輝度重心変化量が第２値以下であるか否かを判定する（ステップＳ２０６）。上記ステップＳ２０６で行う判定は、上述した口付近判定の第３の条件に相当するものである。ここで、上記第２値は、上述したステップＳ１８８で用いた第１値より小さな値に設定することが好ましく、これによって口付近判定の第３の条件が口開閉判定の第３の条件より厳しい条件となる。そして、ＣＰＵ８１は、上記ステップＳ２０５で算出された輝度重心変化量が第２値以下である場合、ステップＳ２０７に処理を進める。一方、ＣＰＵ８１は、上記ステップＳ２０５で算出された輝度重心変化量が第２値より大きい場合、当該サブルーチンによる処理を終了する。
【０２０６】
ステップＳ２０７において、ＣＰＵ８１は、処理対象画像全体（ブロック全体）の平均輝度を算出し、次のステップに処理を進める。なお、上記ステップＳ２０７の処理は、上述したステップＳ１８９の処理と同様であるため、ここでは詳細な説明を省略する。
【０２０７】
次に、ＣＰＵ８１は、上記ステップＳ２０７で算出された処理対象画像全体（ブロック全体）の平均輝度が所定範囲内にあるか否かを判定する（ステップＳ２０８）。ここで、上記ステップＳ２０８で行う判定は、上述した口付近判定の第４の条件に相当するものであり、上記口開閉判定では判定条件として設定されていないものである。すなわち、上記ステップＳ２０７で用いる所定範囲は、ユーザが右コントローラ４を顔に近付け過ぎている場合や顔から離し過ぎている場合に否定判定するための閾値であり、ユーザが右コントローラ４を顔に適切な距離で近づけている場合に想定される平均輝度の範囲に設定される。そして、ＣＰＵ８１は、上記ステップＳ２０７で算出された処理対象画像全体（ブロック全体）の平均輝度が所定範囲内にある場合、ステップＳ２０９に処理を進める。一方、ＣＰＵ８１は、上記ステップＳ２０７で算出された処理対象画像全体（ブロック全体）の平均輝度が所定範囲内にない場合、当該サブルーチンによる処理を終了する。
【０２０８】
ステップＳ２０９において、ＣＰＵ８１は、右コントローラ４の姿勢変化を算出し、次のステップに処理を進める。例えば、ＣＰＵ８１は、右コントローラ４に生じている角速度を示すデータを角速度データＤａ３から取得し、右コントローラ４のｘｙｚ軸周りの姿勢変化を算出して、姿勢変化データＤｇを更新する。なお、上記ステップＳ２０９において算出する姿勢変化の値は、前回の処理において得られた右コントローラ４の角速度センサ１１５から出力された値から今回の処理において得られた右コントローラ４の角速度センサ１１５から出力された値の変化量でもよい。また、上記ステップＳ２０９において算出する姿勢変化の値は、今回の処理において得られた右コントローラ４に生じている角速度の値でもよい。
【０２０９】
次に、ＣＰＵ８１は、右コントローラ４の姿勢が安定しているか否かを判定する（ステップＳ２１０）。ここで、上記ステップＳ２１０で行う判定は、上述した口付近判定の第５の条件に相当するものであり、上記口開閉判定では判定条件として設定されていないものである。例えば、ＣＰＵ８１は、上記ステップＳ２０９において算出された右コントローラ４の姿勢変化が所定の範囲内である場合、右コントローラ４の姿勢が安定していると判定する。そして、ＣＰＵ８１は、右コントローラ４の姿勢が安定している場合、ステップＳ２１１に処理を進める。一方、ＣＰＵ８１は、右コントローラ４の姿勢が安定していない場合、当該サブルーチンによる処理を終了する。
【０２１０】
ステップＳ２１１において、ＣＰＵ８１は、上記ステップＳ１６２において指示している初期姿勢でユーザが右コントローラ４を操作しているとして初期姿勢ＯＫに設定し、当該サブルーチンによる処理を終了する。
【０２１１】
このように、本実施例においては、ユーザが口を開閉することによる操作内容は、赤外撮像部１２３によって撮像された撮像画像に基づいて検出される。ここで、ユーザの口の開閉は、ユーザの顔における一部分のみ開閉して当該開閉した部位の撮像部からの距離が変化する状況となるが、このような物体の凹凸形状変化の検出が本体装置２および右コントローラ４、すなわち情報処理システムのみによって行うことも可能であるため、簡易なシステム構成で実現することができる。また、本実施例における情報処理システムは、他の被写体の凹凸変化、すなわち他の被写体の一部分だけ赤外撮像部１２３からの距離が変化していることを判定してもよい。本実施例では、赤外撮像部１２３の撮像方向に対する被写体の形状および／または赤外撮像部１２３の撮像方向への被写体の位置を、赤外光反射を利用した撮像画像を用いて判定する、今までにない物体形状判定や物体位置判定を実現することができる。
【０２１２】
なお、上述した実施例では、撮像画像によってユーザが口を開閉する変化、すなわち被写体の凹凸変化を判定する例を用いたが、赤外撮像部１２３の撮像方向に対する他の被写体の形状および／または赤外撮像部１２３の撮像方向への他の被写体の位置を撮像画像によって判定することもできる。一例として、右コントローラ４の赤外撮像部１２３に向かってその一部が突き出る物体や赤外撮像部１２３に対してその一部が後退する物体や一部分が開閉する物体等の形状および／または位置を、赤外光反射を利用した撮像画像を用いて判定することができる。他の例として、凹凸形状を有する物体を赤外撮像部１２３によって撮像した場合、当該物体の凹凸形状を模様として認識するのではなく、当該凹凸形状の深さを含めた物体の形状を、赤外光反射を利用した撮像画像を用いて判定することができる。
【０２１３】
また、上述した実施例では、本体装置２と当該本体装置２から外された右コントローラ４とを用いて、被写体の凹凸変化を判定する例を用いたが、単一装置によって当該判定を行ってもかまわない。例えば、本実施例における情報処理システム１でも本体装置２に右コントローラ４を取り付けた状態で赤外撮像部１２３によってユーザの顔を撮像して、当該ユーザの口の開閉を判定することが可能であり、当該判定に基づいたゲーム処理を行うことも可能である。
【０２１４】
また、上述した実施例において、右コントローラ４から本体装置２へ送信する撮像画像に基づいたデータは、赤外撮像部１２３が撮像した撮像画像そのものを示すデータでもよい。この場合、右コントローラ４から本体装置２へ送信されるデータ量が増加することが考えられるが、本体装置２側において、上記撮像画像に関する様々な解析処理を行うことが可能となる。
【０２１５】
また、上述した実施例において、右コントローラ４の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて右コントローラ４の動きや姿勢を検出してもよい。例えば、右コントローラ４の姿勢を、当該右コントローラ４に生じる角速度のみで算出しているが、当該右コントローラ４に生じる角速度と加速度とを組み合わせて算出してもよいし、当該右コントローラ４に生じる加速度のみで姿勢を算出してもかまわない。右コントローラ４に生じる加速度のみ検出する場合であっても、右コントローラ４に生じる重力加速度が生じている方向を算出可能であり、当該重力加速度を基準としたｘｙｚ軸方向を逐次算出すれば上述した実施例と同様の処理が可能であることは言うまでもない。また、上述した実施例では、右コントローラ４を用いた操作に応じたゲーム画像を本体装置２のディスプレイ１２に表示しているが、クレードルを介して据置型モニタに表示してもよい。
【０２１６】
また、本体装置２と左コントローラ３および右コントローラ４とは、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器（ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ、タブレット等）等であってもよい。
【０２１７】
また、上述した説明では情報処理（ゲーム処理）を本体装置２でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、本体装置２がさらに他の装置（例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末）と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理（ゲーム処理）は、少なくとも１つの情報処理装置により構成される情報処理システム１に含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、本体装置２のＣＰＵ８１が所定のプログラムを実行することによって情報処理を行うことが可能であるが、本体装置２が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０２１８】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置（据置型のゲーム装置）と携帯型の情報処理装置（携帯型のゲーム装置）との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【０２１９】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【０２２０】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じて本体装置２や右コントローラ４に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０２２１】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０２２２】
以上のように、本発明は、より簡易な構成で実現することができる情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法等として利用することができる。
【符号の説明】
【０２２３】
１…情報処理システム
２…本体装置
３…左コントローラ
４…右コントローラ
１１…ハウジング
１２…ディスプレイ
８１…ＣＰＵ
８３…コントローラ通信部
８５…ＤＲＡＭ
１１１…通信制御部
１２１…処理部
１２３…赤外撮像部
１２４…赤外発光部
【図１】
2018032295.tif 000003
【図２】
2018032295.tif 000004
【図３】
2018032295.tif 000005
【図４】
2018032295.tif 000006
【図５】
2018032295.tif 000007
【図６】
2018032295.tif 000008
【図７】
2018032295.tif 000009
【図８】
2018032295.tif 000010
【図９】
2018032295.tif 000011
【図１０】
2018032295.tif 000012
【図１１】
2018032295.tif 000013
【図１２】
2018032295.tif 000014
【図１３】
2018032295.tif 000015
【図１４】
2018032295.tif 000016
【図１５】
2018032295.tif 000017
【図１６】
2018032295.tif 000018
【図１７】
2018032295.tif 000019