(57)【特許請求の範囲】
【請求項１】
反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置と、当該ハンドヘルド型情報処理装置と通信可能な情報処理装置とを少なくとも備える情報処理システムであって、
前記反射部材は、再帰性反射材であり、
前記ハンドヘルド型情報処理装置は、
画像を撮影する撮像手段と、
所定の光を発光する発光手段と、
前記撮像手段によって撮像された画像において、前記再帰性反射材によって反射された前記発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する光源検出手段と、
前記検出された光源の撮像画像内における位置を算出する算出手段と、
前記算出された位置を示す位置情報を出力する出力手段と、を備え、
前記情報処理装置は、
前記出力手段から出力された位置情報に基づき、前記ハンドヘルド型情報処理装置の姿勢又は位置を推測し、当該推測結果に基づいて所定の画像を生成する画像生成手段を備え、
前記情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を複数の種類有しており、
前記複数の撮像対象部材それぞれにおける前記再帰性反射材の配置位置は、それぞれ異なっている位置であり、
前記算出手段は、前記検出した光源画像の間の距離に基づいて、前記撮像対象部材の種類を判別する、情報処理システム。
【請求項２】
前記情報処理システムは、前記算出手段によって算出された前記光源の位置情報に基づき、前記撮像画像内における前記再帰性反射材画像を特定する特定手段を更に備える、請求項１に記載の情報処理システム。
【請求項３】
前記特定手段は、光源画像の位置情報に基づいて光源画像間の間隔を算出し、当該光源画像の間隔に基づいて、前記再帰性反射材画像を特定する、請求項１に記載の情報処理システム。
【請求項４】
前記特定手段は、前記光源画像の位置関係に基づき、前記再帰性反射材画像を特定する、請求項１に記載の情報処理システム。
【請求項５】
前記特定手段は、前記位置関係が、前記光源画像が所定の直線上に並ぶような位置関係であるか否かに基づき、前記再帰性反射材画像を特定する、請求項４のいずれかに記載の情報処理システム。
【請求項６】
前記情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を有しており、当該撮像対象部材において、当該複数の再帰性反射材は、その配置間隔が同じ間隔となるように配置されている、請求項１〜５のいずれかに記載の情報処理システム。
【請求項７】
前記情報処理システムは、前記算出手段が算出した光源画像の撮像画像内における位置情報に基づき、２つの光源画像の間隔が同じである複数の光源画像を、前記撮像対象画像が有する複数の再帰性反射材に対応する再帰性反射材画像として特定する、請求項６に記載の情報処理システム。
【請求項８】
前記算出手段は、前記検出した光源画像の明るさまたは撮像画像内における大きさを更に更に算出する、請求項１〜７のいずれかに記載の情報処理システム。
【請求項９】
前記情報処理システムは、前記光源画像の明るさまたは撮像画像内における大きさのいずれかに基づいて、前記撮像画像内における前記再帰性反射材画像を特定する特定手段を更に備える、請求項８に記載の情報処理システム。
【請求項１０】
前記画像生成手段は、少なくとも、画面上の所定の位置を指示していることを示すための指示オブジェクトを含む画像を生成する、請求項１に記載の情報処理システム。
【請求項１１】
前記発光手段は、前記所定の光として赤外光を発光する、請求項１〜１０のいずれかに記載の情報処理システム。
【請求項１２】
前記情報処理システムは、前記再帰性反射材を複数有しており、かつ、当該複数の再帰性反射材は少なくとも３カ所に分けて配置されている、請求項１に記載の情報処理システム。
【請求項１３】
前記少なくとも３カ所に配置されている再帰性反射材は、その並びが所定の直線上に並ぶように配置されている、請求項１２に記載の情報処理システム。
【請求項１４】
前記少なくとも３カ所に配置されている再帰性反射材は、その配置間隔が実質的に等しくなるように配置されている、請求項１２に記載の情報処理システム。
【請求項１５】
前記ハンドヘルド型情報処理装置は、前記撮像画像内における前記光源画像の位置情報を前記情報処理装置に送信するための無線通信手段を更に備える、請求項１〜１４のいずれかに記載の情報処理システム。
【請求項１６】
前記情報処理システムは、複数のフレームにおける撮像画像内の光源画像の明るさの変化に基づき、光源画像のちらつきの有無を判定するちらつき判定手段を備え、
前記算出手段は、前記ちらつき判定手段により、ちらついていると判定された光源画像は処理対象から除外する、請求項１〜１５のいずれかに記載の情報処理システム。
【請求項１７】
前記発光手段は、前記撮像手段の近傍となる位置に設けられる、請求項１〜１６のいずれかに記載の情報処理システム。
【請求項１８】
前記情報処理装置は、据え置き型ゲーム機である、請求項１〜１７のいずれかに記載の情報処理システム。
【請求項１９】
反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置とを少なくとも備える情報処理システムであって、
前記反射部材は、再帰性反射材であり、
前記ハンドヘルド型情報処理装置は、
画像を撮影する撮像手段と、
所定の光を発光する発光手段と、を備え、
前記情報処理システムは、さらに、
前記撮像手段によって撮像された画像において、前記再帰性反射材によって反射された前記発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する光源検出手段と、
前記検出された光源の撮像画像内における位置を算出する算出手段と、
前記算出された位置を示す位置情報に基づき、前記ハンドヘルド型装置の姿勢又は位
置を推測し、当該推測結果に基づいて画像を生成する画像生成手段と、を備え、
前記情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を複数の種類有しており、
前記複数の撮像対象部材それぞれにおける前記再帰性反射材の配置位置は、それぞれ異なっている位置であり、
前記算出手段は、前記検出した光源画像の間の距離に基づいて、前記撮像対象部材の種類を判別する、情報処理システム。
【請求項２０】
反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置と、当該ハンドヘルド型情報処理装置と通信可能な情報処理装置とを少なくとも備える情報処理システムを制御するための情報処理方法であって、
前記反射部材は、再帰性反射材であり、
前記ハンドヘルド型情報処理装置は、
画像を撮影する撮像ステップと、
所定の光を発光する発光ステップと、
前記撮像ステップで撮像された画像において、前記再帰性反射材によって反射された前記発光ステップで発光された光の反射光を示す再帰性反射材画像を含む複数の光源画像を検出する光源検出ステップと、
前記検出された光源の撮像画像内における位置を算出する算出ステップと、
前記算出された位置を示す位置情報を出力する出力ステップとを実行し、
前記情報処理装置は、
前記出力ステップにおいて出力された位置情報に基づき、前記ハンドヘルド型装置の姿勢又は位置を推測し、当該推測結果に基づいて所定の画像を生成する画像生成ステップを実行し、
前記情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を複数の種類有しており、
前記複数の撮像対象部材それぞれにおける前記再帰性反射材の配置位置は、それぞれ異なっている位置であり、
前記算出ステップでは、前記検出した光源画像の間の距離に基づいて、前記撮像対象部材の種類を判別する、情報処理方法。
【請求項２１】
反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置と、当該ハンドヘルド型情報処理装置と通信可能な情報処理装置とを少なくとも備える情報処理システムのコンピュータに実行させる情報処理プログラムであって、
前記反射部材は、再帰性反射材であり、
前記ハンドヘルド型情報処理装置のコンピュータを、
画像を撮影する撮像手段と、
所定の光を発光する発光手段と、
前記撮像手段によって撮像された画像において、前記再帰性反射材によって反射された前記発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する光源検出手段と、
前記検出された光源の撮像画像内における位置を算出する算出手段と、
前記算出された位置を示す位置情報を出力する出力手段として機能させ、
前記情報処理装置のコンピュータを、
前記出力手段から出力された位置情報に基づき、前記ハンドヘルド型装置の姿勢又は位置を推測し、当該推測結果に基づいて所定の画像を生成する画像生成手段として機能させ、
前記情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を複数の種類有しており、
前記複数の撮像対象部材それぞれにおける前記再帰性反射材の配置位置は、それぞれ異なっている位置であり、
前記算出手段は、前記検出した光源画像の間の距離に基づいて、前記撮像対象部材の種類を判別する、情報処理プログラム。
【請求項２２】
所定の画像処理が可能なハンドヘルド型情報処理装置であって、
画像を撮影する撮像手段と、
所定の光を発光する発光手段と、
前記撮像手段によって撮像された画像において、所定の再帰性反射材によって反射された前記発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する光源検出手段と、
前記検出された光源の撮像画像内における位置を算出する算出手段と、
前記算出された位置を示す位置情報を出力する出力手段とを備え、
前記算出手段は、前記検出した光源画像の間の距離に基づいて、再帰性反射材を複数有する複数種類の撮像対象部材の種類を判別する、ハンドヘルド型情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置とを少なくとも備える情報処理システムに関する。
【背景技術】
【０００２】
従来から、長手のハウジングを含み、ハウジングに手のひらで包まれるように把持される把持部が形成されているゲーム用操作装置や、これを用いたゲームシステムが知られている（例えば、特許文献１）。この操作装置には、ハウジングの長手方向前方端に撮像部が設けられている。また、このゲームシステムでは、ディスプレイの画面の近傍に、赤外光（赤外線）を発光するＬＥＤモジュールが配置される。そして、例えば当該ＬＥＤモジュールから出力される赤外光を上記撮像部で撮像し、その撮像画像内における赤外光の位置を解析することで、ゲーム用操作装置の操作状況を推定することが可能であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０５４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなゲームシステムでは、操作装置の操作状況を推定するために、ディスプレイ側の近傍に赤外光を発するためのＬＥＤモジュールを配置するという構成を採っていた。この点について、発明者は、同様のことを実現するために、より簡易な構成とする余地があることに気付いた。
【０００５】
それ故に、本発明の目的は、簡易な構成で、操作装置の位置・姿勢を検知することが可能な情報処理システムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【０００７】
構成例の一例は、反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置と、当該ハンドヘルド型情報処理装置と通信可能な据置型情報処理装置とを少なくとも備える情報処理システムであって、反射部材は、再帰性反射材である。ハンドヘルド型情報処理装置は、撮像手段と、発光手段と、光源検出手段と、算出手段と、出力手段とを備える。撮像手段は、画像を撮影する。発光手段は、所定の光を発光する。光源検出手段は、撮像手段によって撮像された画像において、再帰性反射材によって反射された発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する。算出手段は、検出された光源の撮像画像内における位置を算出する。出力手段は、算出された位置を示す位置情報を出力する。また、情報処理装置は、出力手段から出力された位置情報に基づき、ハンドヘルド型情報処理装置の姿勢又は位置を推測し、当該推測結果に基づいて所定の画像を生成する画像生成手段を備える。なお、光源画像とは、上記撮像画像内における、各種の反射光に対応するピクセル群に係る画像部分のことである。また、再帰性反射材画像とは、上記撮像画像内における、上記再帰性反射材による反射光に対応するピクセル群に係る画像部分のことである。
【０００８】
上記構成例によれば、簡易な構成で、ハンドヘルド型情報処理装置が向いている方向やその姿勢、位置等を把握することができる情報処理システムを提供することができる。
【０００９】
他の構成例の一例は、情報処理システムは、算出手段によって算出された光源の位置情報に基づき、撮像画像内における反射部材画像を特定する特定手段を更に備えていてもよい。更に、特定手段は、光源画像の位置情報に基づいて光源画像間の間隔を算出し、当該光源画像の間隔に基づいて、再帰性反射材画像を特定してもよいし、光源画像の位置関係に基づき、再帰性反射材画像を特定してもよい。更には、特定手段は、位置関係が、光源画像が所定の直線上に並ぶような位置関係であるか否かに基づいて、再帰性反射材画像を特定してもよい。
【００１０】
上記構成例によれば、負荷が軽い処理で反射部材からの反射光を検出することが可能となる。
【００１１】
他の構成例の一例は、情報処理システムは、前記再帰性反射材を複数有する撮像対象部材を有しており、当該撮像対象部材において、当該複数の再帰性反射材は、その配置間隔が同じ間隔となるように配置されていてもよい。そして、情報処理システムは、算出手段が算出した光源画像の撮像画像内における位置情報に基づき、２つの光源画像の間隔が同じである複数の光源画像を、撮像対象画像が有する複数の再帰性反射材に対応する再帰性反射材画像として特定してもよい。
【００１２】
上記構成例によれば、システムを簡易な構成としつつ、負荷が軽い処理によって、ハンドヘルド型情報処理装置が向いている方向やその姿勢を検出できる。
【００１３】
他の構成例の一例は、算出手段は、検出した光源画像の明るさまたは撮像画像内における大きさを更に算出してもよい。更に、情報処理システムは、再帰性反射材を複数有する撮像対象部材を複数の種類有していてもよく、複数の撮像対象部材それぞれにおける再帰性反射材の配置位置はそれぞれ異なっている位置であってもよい。更に、算出手段は、検出した光源画像の間の距離に基づいて、撮像対象部材の種類を特定するようにしてもよい。更には、情報処理システムは、光源画像の明るさまたは大きさのいずれかに基づいて、撮像画像内における再帰性反射材画像を特定する特定手段を更に備えていてもよい。
【００１４】
上記構成例によれば、複数の撮像対処部材を使い分ける情報処理を実行することが可能となる。また、光源の特性を利用して再帰性反射材からの反射光を検出することも可能となり、処理負荷を軽減できる。
【００１５】
他の構成例として、画像生成手段は、少なくとも、画面上の所定の位置を指示していることを示すための指示オブジェクトを含む画像を生成してもよい。
【００１６】
上記構成例によれば、例えば、ユーザがハンドヘルド型情報処理装置の操作を行っている際に、その操作に対応する画面上の位置をユーザに直観的に把握させることができる。
【００１７】
他の構成例として、発光手段は、所定の光として赤外光を発光してもよい。
【００１８】
上記構成例によれば、ユーザの視認行動の邪魔とならないようにすることができ、また、例えば部屋が暗い状況であっても、ハンドヘルド型情報処理装置が向いている方向やその姿勢を把握することができる。
【００１９】
他の構成例として、情報処理システムは、再帰性反射材を複数有しており、かつ、当該複数の再帰性反射材は３カ所に分けて配置されていてもよい。更に、当該３カ所に配置されている再帰性反射材は、その並びが所定の直線上に並ぶように配置されていてもよく、また、当該３カ所に配置されている再帰性反射材は、その配置間隔が実質的に等しくなるように配置されていてもよい。
【００２０】
上記構成例によれば、システムを簡易な構成としつつ、ハンドヘルド型情報処理装置が向いている方向やその姿勢の検出精度を高めることができる。
【００２１】
他の構成例として、ハンドヘルド型情報処理装置は、撮像画像内における光源画像の位置情報を情報処理装置に送信するための無線通信手段を更に備えていてもよい。
【００２２】
上記構成例によれば、ユーザにとって使い勝手の良い情報処理システムを提供できる。
【００２３】
他の構成例の一例は、情報処理システムは、複数のフレームにおける撮像画像内の光源画像の明るさの変化に基づき、光源画像のちらつきの有無を判定するちらつき判定手段を備え、算出手段は、ちらつき判定手段により、ちらついていると判定された光源画像は処理対象から除外してもよい。
【００２４】
上記構成例によれば、検出処理にかかる処理負荷を軽減することができ、また、再帰性反射材画像の検出精度を高めることが可能となる。
【００２５】
他の構成例として、発光手段は、撮像手段の近傍となる位置に設けられてもよい。
【００２６】
上記構成例によれば、発光手段から発光された光を撮像手段でより確実に撮像しやすくすることができる。
【００２７】
他の構成例として、情報処理装置は、据え置き型ゲーム機であってもよい。
【００２８】
上記構成例によれば、例えばハンドヘルド型情報処理装置を操作装置として用いることで、当該操作装置自体の動きを利用したゲーム処理が実行可能なゲームシステムを、より簡易な構成で提供することができる。
【００２９】
他の構成例として、反射部材と、所定の画像処理が可能なハンドヘルド型情報処理装置とを少なくとも備える情報処理システムであって、反射部材は、再帰性反射材である。ハンドヘルド型情報処理装置は、撮像手段と、発光手段とを備える。撮像手段は、画像を撮影する。発光手段は、所定の光を発光する。また、情報処理システムは、光源検出手段と、算出手段と、画像生成手段とをさらに備える。光源検出手段は、撮像手段によって撮像された画像において、再帰性反射材によって反射された発光手段からの反射光を示す再帰性反射材画像を含む複数の光源画像を検出する。算出手段は、検出された光源の撮像画像内における位置を算出する。画像生成手段は、算出された位置を示す位置情報に基づき、ハンドヘルド型装置の姿勢又は位置を推測し、当該推測結果に基づいて画像を生成する。
【００３０】
上記構成例によれば、簡易な構成で、ハンドヘルド型情報処理装置の位置や姿勢を把握することができる情報処理システムを提供することができる。
【発明の効果】
【００３１】
本実施形態によれば、簡易な構成で、例えば操作装置であるハンドヘルド型情報処理装置の位置・姿勢を検知可能な情報処理システムを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本実施形態の一例であるゲームシステムの全体像を示す模式図
【図２】撮像対象部材８を正面から見たときの模式図
【図３】ゲーム装置３のブロック図
【図４】コントローラ５の外観構成を示す斜視図
【図５】ハウジング５１の前面を示す模式図
【図６】コントローラ５の内部構成を示すブロック図
【図７】本実施形態にかかる制御処理の一例を示すフローチャート
【図８】撮像画像の解析処理の詳細を示すフローチャート
【図９】撮像画像の一例
【図１０】光源点の検出手法を説明するための図
【図１１】光源点の検出手法を説明するための図
【図１２】撮像画像における光源点の一例
【図１３】光源点データの構成の一例
【図１４】撮像画像内の光源点の一例
【図１５】距離テーブルの一例
【図１６】フィルタリング後の距離テーブルの一例
【図１７】フィルタリング後における撮像画像内の光源点の一例
【図１８】第２のコントローラの一例を示す模式図
【図１９】第２の撮像対象部材８のサイズを示す模式図
【発明を実施するための形態】
【００３３】
以下、本発明の一実施形態について説明する。
【００３４】
図１は、情報処理システムの一例であるゲームシステム１の外観図である。図１において、ゲームシステム１は、テレビジョン受像器等に代表される据置型のディスプレイ装置（以下、「テレビ」と記載する）２、ゲーム装置３、ハンドヘルド型の入力装置の一例であるコントローラ５、および、再帰性反射材付き撮像対象部材８（以下、単に撮像対象部材と呼ぶ）を含む。ゲームシステム１は、コントローラ５を用いたゲーム操作に基づいてゲーム装置３においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ２に表示するものである。
【００３５】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク（図示せず）が脱着可能に挿入される。
【００３６】
ゲーム装置３には、テレビ２が接続コードを介して接続される。テレビ２は、ゲーム装置３において実行されるゲーム処理によって得られるゲーム画像を表示する。なお、他の実施形態においては、ゲーム装置３と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置３とテレビ２との通信は無線通信であってもよい。
【００３７】
テレビ２の画面の周辺（図１では画面の上側）には、撮像対象部材８が設置される。ユーザ（プレイヤ）はコントローラ５を動かすゲーム操作を行うことができ、撮像対象部材８は、コントローラ５の姿勢等をゲーム装置３が算出するために用いられる。撮像対象部材８は、コントローラ５と対向することになる表面上に、３つの再帰性反射材８１Ａ〜８１Ｃ（以下では総称して再帰性反射材８１と呼ぶこともある）を有している。当該再帰性反射材８１は、入射した方向に光を返す素材である（入射角と出射角が等しくなる）。
【００３８】
ここで、図２に、撮像対象部材８のサイズと、再帰性反射材８１の配置の一例を示す。図２は、撮像対象部材８を正面から見た場合の模式図である。図２の例では、撮像対象部材８は、３０ｃｍの横幅（ｘ軸方向の長さ）を有している。また、高さ（ｙ軸方向長さ）が１ｃｍである。なお、図示は省略しているが、奥行き（ｚ軸方向長さ）は、テレビ２の画面の上側における程度の長さを有しているものとする。撮像対象部材８の左端に再帰性反射材８１Ａが配置され、撮像対象部材８の中央に再帰性反射材８１Ｂが配置され、撮像対象部材８の右端に再帰性反射材８１Ｃが配置されている。再帰性反射材８１はそれぞれ、３ｃｍの横幅を有している。また、再帰性反射材８１同士は、１０．５ｃｍの間隔を空けて配置されている。つまり、再帰性反射材８１は等間隔で配置されている。また、３つの再帰性反射材８１の大きさは同じであるともいえる。
【００３９】
なお、図２に示す配置間隔やサイズはあくまで一例であり、これに限定されるものではなく、他のサイズや配置間隔を利用しても良い。
【００４０】
コントローラ５は、自機に対して行われた操作の内容を表す操作データをゲーム装置３に与えるものである。コントローラ５とゲーム装置３とは無線通信によって通信可能である。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。また、ゲーム装置３は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。また、本実施形態では、コントローラ５はバッテリーを電源として動作するものとする。
【００４１】
ここで、本実施形態では、コントローラ５の前面（先端側）に赤外光発光部（本実施例ではＩＲ−ＬＥＤ）および赤外カメラが設けられている。そのため、コントローラ５の前面を撮像対象部材８に向けることで、撮像対象部材８に赤外光を照射することになる。その結果、上記赤外光発光部から発光された赤外光は上記再帰性反射材８１によって反射される。そのため、上記赤外カメラで撮像して得られた画像には、当該再帰性反射材８１からの反射光が写っていることになる（例えば、輝度が高い３つの光点として写っている）。従って、当該撮像画像を解析し、撮像画像内における上記再帰性反射材からの反射光を特定（検出）し、撮像画像内における位置等を算出することで、コントローラ５の前面が向いている方向（指示方向）や、更にはコントローラ５の姿勢等を（再帰性反射材８１に対する相対的な方向や姿勢等として）把握することが可能となっている。
【００４２】
ところで、本実施例では、上記撮像対象部材８に配置される再帰性反射材８１の数を３つとしている。これは、当該再帰性反射材８１からの反射光を特定するための解析処理における解析精度と処理負荷とのバランスを考慮したものとなっている。すなわち、この数が少ないと、例えば後述のノイズ光が多い場合等に、再帰性反射材８１からの反射光の検出精度の低下が懸念され、多すぎると、解析処理にかかる処理負荷の増大が懸念される。そのため、両者のバランスを取るという観点から、本実施形態では再帰性反射材８１の数を３としている。しかしながら、他の実施例では、撮像対象部材８が有する再帰性反射材８１は、（十分な検出精度が確保できる等の条件が整えば）１つや２つであってもよい。また、十分な演算処理能力が見込めるのであれば、再帰性反射材８１を４つ以上有する構成としても良い。
【００４３】
次に、ゲーム装置３の内部構成について説明する。図３は、ゲーム装置３のブロック図である。図３において、ゲーム装置３は、プロセッサ１３、内部記憶装置１４、メインメモリ１５、およびコントローラ通信部１６を備えている。プロセッサ１３は、ゲーム装置３の各種制御を行う。また、コントローラ通信部１６を介して、コントローラ５から送信された各種データを受信し、これに基づいた情報処理を実行する。コントローラ通信部１６は、例えばＢｌｕｅｔｏｏｔｈチップ等である。内部記憶装置１４には、プロセッサ１３によって実行されるコンピュータプログラムが格納されている。内部記憶装置１４は、典型的には、フラッシュＥＥＰＲＯＭである。メインメモリ１５は、コンピュータプログラムや情報を一時的に記憶する。
【００４４】
なお、上記ゲーム装置３のプロセッサ１３に関しては、単一のプロセッサで処理を行う構成でも良いし、単一のゲーム装置３に複数のプロセッサ１３を搭載し、これら複数のプロセッサ１３を併用して処理されてもよい。
【００４５】
次に、コントローラ５について説明する。図４は、コントローラ５の外観構成を示す斜視図である。図４において、コントローラ５は、例えばプラスチック成型によって形成されたハウジング５１を有している。ハウジング５１は、その前後方向（図４に示すｚ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。コントローラ５は、操作部として、十字キー５２や複数の操作ボタン５３等を備える。また、コントローラ５はモーションセンサも備える。ユーザは、コントローラ５に設けられたボタンを押下すること、および、コントローラ５自体を動かしてその位置や姿勢（傾き）を変えることによってゲーム操作を行うことができる。
【００４６】
また、ハウジング５１の前面には、赤外カメラおよび４つの赤外光発光部が設けられる。図５は、ハウジング５１の前面を示す模式図である。図５において、ハウジング５１の前面のほぼ中央となる位置に赤外カメラ６１（より正確には、その光入射面）が配置されている。ここで、本実施形態では、赤外カメラの画角は１２０°であるものとする。（本実施形態において「画角」は、「対角の画角」意味で用いることとする。）
【００４７】
更に、図５において、赤外カメラ６１の左側の領域には、第１の赤外光発光部６２および第２の赤外光発光部６３が配置されている。また、図５における赤外カメラ６１の右側の領域には、第３の赤外光発光部６４および第４の赤外光発光部６５が配置されている。つまり、赤外カメラ６１を中心として、その左右の近傍となる位置に４つの赤外光発光部が設けられている（この例では左右に２つずつ）。ここで、第１の赤外光発光部６２および第２の赤外光発光部６３と、第３の赤外光発光部６４および第４の赤外光発光部６５とは、放出する光量は同じであるが、その半減角（正面へ照射した時に比べて、光量が半分になる角度、照射角とも呼ばれる）は異なるものとなっている。具体的には、第１の赤外光発光部６２および第２の赤外光発光部６３については、その半減角は１３０°となっている。一方、第３の赤外光発光部６４および第４の赤外光発光部６５は、その半減角は７５°となっている。上記のように、赤外カメラの画角は１２０°であるため、第１の赤外光発光部６２および第２の赤外光発光部６３については、その半減角が赤外カメラ６１の画角以上の角度のものが用いられている。また、第３の赤外光発光部６４および第４の赤外光発光部６５は、その半減角が赤外カメラの画角未満の角度であるものが用いられている。
【００４８】
なお、以下の説明では、第１の赤外光発光部６２および第２の赤外光発光部６３については、まとめて「１３０°発光部」と呼び、第３の赤外光発光部６４および第４の赤外光発光部６５については、まとめて「７５°発光部」と呼ぶこともある。
【００４９】
また、上記赤外カメラ６１と赤外光発光部との位置関係については、図５で示したような位置関係に限るものではない。上記撮像対象部材８（再帰性反射材８１）に赤外光を照射しつつ、その反射光を捉える（撮像する）ことができるような位置関係であれば、上記赤外カメラ６１および赤外光発光部はいずれも任意の位置に配置されてもよい。例えば、赤外カメラ６１の上下となる位置に赤外光発光部が配置されてもよい。
【００５０】
次に、コントローラ５の内部構成について説明する。図６は、コントローラ５の内部構成を示すブロック図である。コントローラ５は、赤外カメラ６１、第１赤外光発光部６２、第２赤外光発光部６３、第３赤外光発光部６４、第４赤外光発光部６５、制御部６６、操作部６７（各操作ボタン）、および、無線通信部６８を備えている。コントローラ５は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置３へ送信するものである。
【００５１】
制御部６６は、コントローラ５における動作を制御する。具体的には、制御部６６は、各入力部（操作部６７、赤外カメラ６１）からの出力データを受け取り、操作データとして無線通信部６８を介してゲーム装置３へ送信する。また、制御部６６は、ゲーム装置３から所定の制御指示を含むデータを受信し、これに基づいて第１赤外光発光部６２、第２赤外光発光部６３、第３赤外光発光部６４、第４赤外光発光部６５のオン／オフ制御も行う。その他、制御部６６は、コントローラ５の動作制御を行う（例えば電源制御等）。換言すれば、制御部６６はコントローラ５を制御する機能を有しており、その意味では、コントローラ５はハンドヘルド型の情報処理装置の一種ともいえる。
【００５２】
また、本実施形態においては、コントローラ５とゲーム装置３との間では無線通信が行われるが、他の実施形態においては有線で通信が行われてもよい。
【００５３】
第１の赤外光発光部６２、第２の赤外光発光部６３、第３の赤外光発光部６４、第４の赤外光発光部６５はそれぞれ、制御部６６による制御に基づき赤外光を発光する。上記のように、第１の赤外光発光部６２、第２の赤外光発光部６３は、その半減角は１３０°であり、第３の赤外光発光部６４、第４の赤外光発光部６５は、その半減角は７５°である。
【００５４】
赤外カメラ６１は、赤外線フィルタ６１ａ、レンズ６１ｂ、撮像素子６１ｃ、および画像処理回路６１ｄ（ハードウェアエンジン）を含んでいる。赤外線フィルタ６１ａは、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ６１ｂは、赤外線フィルタ６１ａを透過した赤外線を集光して撮像素子６１ｃへ入射させる。撮像素子６１ｃは、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ６１ｂが集光した赤外線を受光して画像信号を出力する。
【００５５】
ここで、撮像対象となる撮像対象部材８には、上記のように再帰性反射材８１が設けられている。そのため、第１の赤外光発光部６２〜第４の赤外光発光部６５から発光された赤外光は、再帰性反射材８１で反射され、反射光として赤外カメラ６１に入射されることになる。また、赤外線フィルタ６１ａが設けられているため、撮像素子６１ｃは、赤外線フィルタ６１ａを通過した赤外光だけを受光して画像データを生成することになる。以下では、撮像素子６１ｃによって撮像された画像を撮像画像と呼ぶ。また、この撮像画像に写っている上記赤外光に対応する部分（赤外光の画像、光源の画像）を光源点と呼ぶ。
【００５６】
撮像素子６１ｃによって生成された画像データは、画像処理回路６１ｄで処理される。画像処理回路６１ｄは、撮像画像内における光源点の位置、大きさ、輝度を算出する。ここで、上記撮像画像に写っている光源点には、上記再帰性反射材８１からの反射光以外の赤外光も含まれ得る。以下では、再帰性反射材８１からの反射光以外の光源点に係る画像のことを「ノイズ光」と呼ぶ。また、再帰性反射材８１Ａ、８１Ｂ、８１Ｃからの反射光に対応する３つの光源点に係る画像のことを「撮像対象部材反射光」と呼ぶ。そして、画像処理回路６１ｄは、このようなノイズ光を除去する処理等を行い、撮像対象部材反射光を特定する処理を行う。そして、画像処理回路６１ｄは、特定された撮像対象部材反射光の位置を示す座標、当該撮像対象部材反射光の大きさを示す情報、当該撮像対象部材反射光の輝度を示す情報を制御部６６へ出力する。これらのデータは、制御部６６によって操作データの一部としてゲーム装置３に送信される。以下では、上記データを「撮像対象部材情報」と呼ぶ。
【００５７】
次に、本実施形態における処理概要を説明する。上記のように、コントローラ５の前面を撮像対象部材８に向けることで、コントローラ５から発光された赤外光が上記再帰性反射材８１で反射される。そして、上記赤外カメラで撮像して得られた画像が解析され、撮像画像内における上記再帰性反射材からの反射光が検出されることで、撮像画像内における撮像対象部材８のある位置が推測できる。そして、上記撮像対象部材反射光についての上記撮像対象部材情報がゲーム装置３に送信される。これに基づき、ゲーム装置３では、コントローラ５の指示方向や、コントローラ５の姿勢等を把握する処理が行われる。更に、例えばその指示方向に基づき、画面内の位置を示すためのカーソルやポインタの動きを制御する等の処理が行われる。
【００５８】
次に、上記のような制御処理の詳細について説明する。図７は、本実施形態にかかる制御処理の一例を示すフローチャートである。なお、図７では、左側にコントローラ側の処理のフローチャートを示し、右側にゲーム装置側の処理のフローチャートを示している。また、このフローの処理が所定の周期（例えば、１／６０秒毎）で繰り返し実行されるものとする。
【００５９】
まず、ステップＳ１で、コントローラ５の制御部６６からの指示に基づき、赤外カメラ６１で撮像処理が行われる。すなわち、撮像素子６１ｃを用いて撮像画像を生成する処理が実行される。
【００６０】
次に、ステップＳ２で、赤外カメラ６１内の画像処理回路６１ｄにおいて上記撮像画像の解析処理が実行される。この処理では、主に、次のような処理が実行される。まず、撮像画像から上記光源点を検出する処理が実行される。次に、検出された光源点のうちから、上記ノイズ光を除外し、上記撮像対象部材反射光を特定する処理が実行される（撮像対象部材反射光は、直進的に並んだ３つの光源点として写っている）。更に、当該撮像対象部材反射光の撮像画像内における位置（座標）、大きさ、輝度を算出し、上記撮像対象部材情報を生成する処理が実行される。そして、当該撮像対象部材情報が画像処理回路６１ｄから制御部６６へ出力される。
【００６１】
図８は、上記撮像画像の解析処理（以下、画像解析処理）の詳細を示すフローチャートである。まず、ステップＳ２１で、クラスタリング処理が実行される、この処理は、撮像画像内に写っている光源点を検出する (光源点の位置座標を算出する）ための処理である。具体的には、次のような処理が実行される。まず、図９に、撮像画像の一部を示す模式図を示す。この図では、１マスが１ピクセルに対応する。また、この図では、ベース（背景）を白色で示し、入射光（光源点の候補）を黒色や灰色で示している。画像処理回路６１ｄは、図９で示すような撮像画像をピクセル単位でスキャンしていき、光源点を見つける（なお、本実施形態では、撮像画像の左上を始点として水平方向にスキャンしていくものとする）。まず、画像処理回路６１ｄは、所定の閾値（以下、輝度閾値）以上の輝度値を有するピクセルを検出する。図９では、黒色のピクセルが該当し、灰色のピクセルは、輝度閾値未満であるとする。続いて、画像処理回路６１ｄは、輝度閾値以上の輝度を有するピクセルであって、互いに隣接するピクセル群を特定する。そして、当該ピクセル群のうち、その大きさが所定の閾値の範囲内に収まるピクセル群を特定する。本実施形態では、例えば、ピクセル群の大きさが２×２の大きさ（以下、大きさ下限閾値）〜４×４の大きさ（以下、大きさ上限閾値）の範囲内に収まるピクセル群を特定する。その結果、図９でいうと、ピクセル群２０１、２０２、２０３、２０４がこのようなピクセル群として特定される。ピクセル２０５については、その輝度は輝度閾値以上ではあるものの、大きさが足りないため、このようなピクセル群としては特定されない。なお、上記の各閾値は、例えば、画像処理回路６１ｄのレジスタ（図示せず）に設定されている。また、上記閾値の具体的な値は一例であり、他の実施形態では、利用状況に応じた適切な値として他の値が適宜設定されていてもよい。
【００６２】
更に、画像処理回路６１ｄは、上記特定したピクセル群のうち、互いにある程度近い位置にあるものをひとまとめにする処理も行う。図１０を用いて、このような処理の概要を示す。図１０では、縦３ピクセル×横３ピクセルの大きさを有する２つのピクセル群を示す。また、この図では、第１ピクセル群２０６Ａの右下にあるピクセルの右側であって、かつ、第２ピクセル群２０６Ｂの左下にあるピクセルの左側（つまり、両ピクセルの間）に、輝度閾値以上の輝度を有する単一のピクセル２０６Ｃがある状態を示している。換言すれば、第１ピクセル群２０６Ａと第２ピクセル群２０６Ｂとがピクセル２０６Ｃの存在によって１つに繋がっている状態を構成している。このような、上記輝度閾値以上のピクセルの連なりが完全に途切れておらず、いわば、２つ（以上）のピクセル群が、その一部において繋がっているような状態として検出されるときは、この２つのピクセル群をひとまとめとして、１つの「光源点」として検出することもできる。なお、図１０の例では、縦３ピクセル×横７ピクセルの大きさを有する光源点として扱われる。また、本実施形態では、このような一部が繋がっている、という状態については、例えば図１１に示すような状態も含める。図１１では、第１ピクセル群２０６Ａの右下にあるピクセルの更に右下の位置であって、かつ、第２ピクセル群２０６Ｂの左下の更に左下の位置に、ピクセル２０６Ｃが存在している状態である。このように、第１ピクセル群２０６Ａの周囲１ピクセル分と、第２ピクセル群２０６Ｂの周囲１ピクセル分とが重複する位置に上記ピクセル２０６Ｃが存在するような状態であれば、当該１つのピクセル群については１つの「光源点」として検出する。つまり、第１ピクセル群２０６Ａの周囲１ピクセル分に含まれる位置であって、かつ、第２ピクセル群２０６Ｂの周囲１ピクセル分に含まれる位置に、所定の輝度閾値以上のピクセルの存在が認められる場合は、この２つのピクセル群を１つの「光源点」として扱うものである。なお、図１１のような場合は、縦３ピクセル×横７ピクセルの大きさを有する光源点として扱われる、または、縦４ピクセル×横７ピクセルの大きさを有する光源点として扱われる（いずれの扱いとするかは、当該光源点を用いる処理の具体的内容等に応じて適宜選択すればよい）。
【００６３】
図１２に、上記のような処理の結果として検出される光源点を示す。図１２では、円または楕円で囲ったピクセル群が、それぞれ１つの光源点であることを示す。つまり、図１２では、合計４つの光源点が検出されたことが示される。図１２における左上の２つの光源点は、それぞれ、例えば縦２ピクセル・横２ピクセルの大きさを有する光源点として、以下の処理において扱われる。また、右上の光源点オブジェクトは縦２ピクセル、横２ピクセルの大きさを有する光源点として、扱われる。左下の光源点は、縦３ピクセル、横３ピクセルの大きさを有する光源点として扱われる。
【００６４】
そして、上記のように検出された光源点それぞれの撮像画像内における位置と、その大きさと、その輝度とを示すデータが、光源点データとして、例えば画像処理回路６１ｄ内のレジスタに一時的に記憶される。図１３に、上記光源点データの構成の一例を示す。図１３では、光源点データは、「識別番号」、「位置座標」、「大きさ」、「輝度」という項目を有するテーブル構造のデータとなっている。なお、位置座標は、例えば光源点の右上を示す撮像画像内の座標であってもよいし、光源点の中点を示す座標であってもよい。本実施例では位置座標は中点座標であるとする。また、撮像画像内の位置を示すためのデータであれば、どのような形式で示しても良い。大きさについても、その光源点の大きさを示すデータであれば、どのような形式でも良い。
【００６５】
図８に戻り、次に、ステップＳ２２において、画像処理回路６１ｄは、前回検出フラグがオンに設定されているか否かを判定する。前回検出フラグとは、画像処理回路６１ｄ内のレジスタに記憶されるフラグである。そして、前回検出フラグは、直前のフレームにおける処理（前回の処理ループ）において、撮像対象部材８が検出されている状態であったか否かを示すためのフラグである。直前のフレームで撮像対象部材８が検出されていたときは、前回検出フラグはオンに設定され、検出されていない場合はオフに設定される（初期値はオフに設定される）。当該判定の結果、前回検出フラグがオフのときは（ステップＳ２２でＮＯ）、ステップＳ２３で、画像処理回路６１ｄは、デフリッカー処理を実行する。この処理は、ちらつきによるノイズ（ちらついている光源点）を処理対象から除去するための処理である。具体的には、次のような処理が実行される。上記検出された各光源点について、それぞれ数フレーム分（最低２フレーム分）の画像を比較する。そして、その輝度が大きく異なっているようであれば、ちらついていると判断して、その光源点については、処理対象から除去するという処理が実行される。例えば、ある光源点について２フレーム分の画像を比較して、一方は上記輝度閾値を越える輝度であるが、他方は輝度が０であるような場合は、ちらついているものとして、その光源点は上記光源点データから削除されることで、処理対象から除去されることになる。
【００６６】
なお、デフリッカー処理については、上記のような例に限らず、ちらつきが認められる光源点を除去するための処理であれば、どのような処理であってもよい。
【００６７】
一方、前回検出フラグがオンのときは（ステップＳ２２でＹＥＳ）、上記ステップＳ２３の処理はスキップされて、次のステップＳ２４の処理が行われる。
【００６８】
次に、ステップＳ２４で、画像処理回路６１ｄは、距離テーブルを生成する処理を実行する。当該距離テーブルとは、上記クラスタリング処理、デフリッカー処理を経て検出された光源点について、全ての光源点の２点間距離を示すデータであり、例えば画像処理回路６１ｄ内のレジスタに一時的に記憶される。図１４に、上記クラスタリング処理、デフリッカー処理を経て検出された光源点（撮像画像）の一例を示す。また、図１５に、当該図１４で示される光源点に基づいて生成された距離テーブルの一例を示す。当該距離テーブルは、「組み合わせ」と「２点間距離」の２つの項目を有するテーブル構造のデータである。「組み合わせ」は、２つの光源点の組を示す。「２点間距離」は、当該２つの光源点の間の距離である。本実施例では、当該距離は、一方の光源点の中点から他方の光源点の中点までの直線距離であるとする。図１３で「１−２」を示しているのは、１つ目の光源点と２つめの光源点の組み合わせであることを示す。
【００６９】
図１４では、撮像画像３００において、７つの光源点が検出されていることを示している。そのため、図１５の距離テーブルの例では、「１−２」の組み合わせから「６−７」の組み合わせまでの、７つの光源点から導出される２つの光源点の組み合わせの全てが網羅されている。そして、それぞれの組み合わせにかかる２点間距離が算出され、記憶されている。
【００７０】
図８に戻り、次に、ステップＳ２５で、画像処理回路６１ｄは、２点間距離に基づくフィルタリング処理を実行する。この処理は、２点間距離が所定の閾値を越えている組み合わせのデータを上記距離テーブルから削除するという処理である。つまり、２点間距離が遠すぎるものについては、処理対象外とするための処理である。なお、本実施例では、この２点間距離に関する閾値としては、上記撮像対象部材８の再帰性反射材８１同士の間隔を想定した値が予め設定されるものとする。ここでは、距離が「２００」を越えている組み合わせにかかるデータは上記距離テーブルから削除されるものとする。その結果、フィルタリング後の距離テーブルは、図１６に示すような内容に変更されたものとする。図１６では、４つの組み合わせが残っている状態となっている。ここで、図１６の例では、結果として、図１４における７番目の光源点が除外された形ともなっている。そのため、当該フィルタリング後における撮像画像内の光源点は、図１７に示すようなイメージとなる。
【００７１】
図８に戻り、次に、ステップＳ２６で、画像処理回路６１ｄは、上記距離テーブルに基づき、撮像対象部材反射光に対応する３つの光源点を検出（特定）するための処理を実行する。具体的には、画像処理回路６１ｄは、上記撮像対象部材反射光の候補となる３つの光源点を選択し、当該３つの光源点間の距離が後述のような距離関係を満たすか否かを判定する。そして、当該３つの光源点の並びが直線的な並びであるか否かを判定する、というような処理が実行される。より具体的に説明すると、まず、上記２点間距離が所定値以下である組み合わせが抽出される。次に、抽出された組み合わせのうち任意の１つが選択される（以下、これを第１の組み合わせと呼ぶ）。次に、当該選択された第１の組み合わせを構成する光源点のうちの一方の光源点が含まれている他の組み合わせであって、上記２点間距離が所定値以下である組み合わせ（第２の組み合わせ）が選択される（複数あれば、任意の１つ）。これにより、上記撮像対象部材反射光の候補となる３つの光源点が得られる（第１の組み合わせおよび第２の組み合わせで示される３つの光源点）。次に、当該候補となった３つの光源点に対して、以下の処理が行われる。まず、３つの光源点間のそれぞれの距離が算出される。例えば、第１光源点と第２光源点間の距離Ｌ１、第２光源点と第３光源点間の距離Ｌ２、第１光源点と第３光源点間の距離Ｌ３が算出される。次に、距離Ｌ１、Ｌ２、Ｌ３の関係が所定の条件を満たすか否かが判定される。例えば、Ｌ１、Ｌ２、Ｌ３のうちいずれか２つの距離が等しい、または実質的に等しい関係にあり、残る１つの距離は他の２つの距離を加算した距離と等しいまたは実質的に等しい、という条件を満たすか否かが判定される。つまり、３つの光源点が等間隔に配置されているか否かが判定される（なお、他の実施形態では、距離Ｌ３は用いずに、距離Ｌ１とＬ２が等しいまたは実質的に等しいかを判定するだけとしてもよい）。この条件を満たしていれば、更に、第１光源点と第２光源点とを結ぶ直線と、第２光源点と第３光源点とを結ぶ直線との２つの直線が算出され、この２つの直線に基づいて、当該候補となっている３つの光源点の並びが直線的な並びであるか否かが判定される。例えば、２つの直線から成る角度が０度または実質的に０度であるか否か、等で判定される。その結果、直線的な並びである場合は、当該３つの光源点の組み合わせが、上記撮像対象部材反射光として特定される。
【００７２】
そして、上記のような処理が、距離テーブルに含まれる光源点の全てに対して行われる。なお、もし撮像対象部材反射光としての条件を満たす光源点のセットが複数検出された場合は、最初に検出されたものを採用する。本実施形態では、テレビ２の上方に撮像対象部材８を配置しているためである。そのため、他の実施形態で、例えば撮像対象部材８をテレビ２の下方に配置しているような場合は、最後に検出された３つの光源点のセットを採用するようにしてもよい。また、撮像対象部材８をテレビ２の上方に配置しているか下方に配置しているかについては、例えばゲーム機本体の設定画面で設定しておき、ゲーム機本体に設定データとして保存しておけばよい。そして、検出処理の際に、このデータを利用して、最初に見つかった撮像対象部材反射光を採用する検出モードと、最後に見つかった撮像対象部材反射光を採用する検出モードとを切換えるようにすればよい。
【００７３】
なお、撮像対象部材反射光を検出するための上記の処理は一例であり、３つの光源点の配置の直進性、および、３つの光源点の間隔が等しいか実質的に等しいことを判定できれば、上記に限らず、どのような処理を用いても良い。例えば、次のような処理でも良い。まず、画像処理回路６１ｄは、上記距離テーブルに残っている２点の組み合わせから１つを選択する。次に、画像処理回路６１ｄは、当該組み合わせにかかる２つの光源点、すなわち、第１の光源点と第２の光源点の中点を結ぶ第１の直線を算出する。次に、画像処理回路６１ｄは、当該第１の直線の延長線上に他の光源点が存在するか否かを判定する。このときは、順方向の延長線と逆方向の延長線のいずれかにおいて存在が確認できればよい。当該判定の結果、延長線上に光源点があった場合は、画像処理回路６１ｄは、当該光源点を第３の光源点として、第２の光源点と第３の光源点との中点を結ぶ第２の直線を算出する。そして、第１の直線の長さと第２の直線の長さが等しいか、あるいは、厳密には等しくなくとも、その長さの差が、両者は実質的に等しいと言える程度の範囲に収まるものか否かを判定する。当該判定の結果、第１の直線と第２の直線の長さが等しい、あるいは実質的に等しいと判定された場合は、画像処理回路６１ｄは、この３つの光源点の組み合わせを上記撮像対象部材反射光として特定する、というような処理を行っても良い。
【００７４】
次に、ステップＳ２７で、画像処理回路６１ｄは、上記ステップＳ２６の処理の結果、撮像対象部材反射光が検出できたか否かを判定する。その結果、検出できていない場合は（ステップＳ２７でＮＯ）、ステップＳ３１で、画像処理回路６１ｄは、上記前回検出フラグにオフを設定し、その後、画像分析処理は終了する。一方、撮像対象部材反射光が検出できていたときは（ステップＳ２７でＹＥＳ）、次に、ステップＳ２８で、画像処理回路６１ｄは、上記前回検出フラグがオンであるか否かを判定する。その結果、オンではない場合は（ステップＳ２８でＮＯ）、ステップＳ２９で、画像処理回路は当該前回検出フラグにオンを設定する。その後、ステップＳ３０に処理が進む。一方、前回検出フラグが既にオンであれば（ステップＳ２８でＹＥＳ）、ステップＳ２９の処理はスキップされる。
【００７５】
次に、ステップＳ３０で、画像処理回路６１ｄは、上記検出した撮像対象部材反射光にかかる情報、すなわち、上記撮像対象部材情報を制御部６６に出力する。具体的には、画像処理回路６１ｄは、上記検出した撮像対象部材反射光を構成する３つの光源点それぞれの位置、それぞれの大きさ、それぞれの輝度を示す情報を撮像対象部材情報として制御部６６に出力する。以上で、画像解析処理は終了する。
【００７６】
図７に戻り、次に、ステップＳ３で、制御部６６は、上記撮像対象部材情報を含む操作データを生成する処理を実行する。続くステップＳ４で、制御部６６は、当該操作データをゲーム装置３に送信する処理を実行する。
【００７７】
ここで、一旦、ゲーム装置３側の処理を説明する。ステップＳ１１で、ゲーム装置３のプロセッサ１３は、上記コントローラ５から送信された操作データを受信する処理を実行する。
【００７８】
次に、ステップＳ１２で、プロセッサ１３は、当該撮像対象部材情報に基づいた所定の処理を実行する。例えば、撮像対象部材情報に基づいて、コントローラ５の方向を推定し、推定結果に基づいて画面上のカーソルを制御する処置を実行する。また、例えば、撮像対象部材情報に基づいて、コントローラ５の傾き（姿勢）を算出し、その傾きに応じてゲームオブジェクトを動作させる処理を実行しても良い。また、本実施形態では、プロセッサ１３は、当該撮像対象部材情報に基づき、コントローラ５と撮像対象部材８間の距離を算出する処理を実行する。例えば、撮像対象部材反射光の３つの光源点の間隔や、各光源点の大きさに基づき、当該距離が算出される。
【００７９】
次に、ステップＳ１３で、プロセッサ１３は、コントローラに送信するための制御データを作成する処理を実行する。この制御データには、上記算出された距離に基づき、コントローラ５の赤外光発光部６２〜６５のオン／オフの切替を指示する指示情報が含まれている。そして、プロセッサ１３は、当該制御データをコントローラ５に送信する。ゲーム装置側処理は、これで終了する。
【００８０】
コントローラ５側の処理に戻り、次に、ステップＳ５で、制御部６６は、ゲーム装置３からの制御データを受信する処理を実行する。
【００８１】
次に、ステップＳ６で、制御部６６は、上記制御データに基づき、赤外光発光部６２〜６５のオン／オフ制御を実行する。この処理では、以下のような制御が行われる。上記のように、コントローラ５の前面には、半減角が異なる２種類の赤外光発光部（１３０°発光部および７５°発光部）が設けられている。また、４つの赤外光発光部６２〜６５の光量は全て同じであるため、１３０°発光部よりも、７５°発光部のほうが、より遠くに赤外光が届くことになる。このことを利用し、本実施形態では、状況に応じて、２種類の赤外光発光部のオン／オフを切換える制御を行う。具体的には、コントローラ５から見て一定の距離以上離れた位置からの赤外光（反射光含む）を認識したい場合（以下、遠距離認識と呼ぶ）は、４つの赤外光発光部の全てをオンにする。一方、コントローラ５から見て一定の距離未満、すなわち、比較的近い位置からの赤外光が認識できればよい場合（以下、近距離認識と呼ぶ）であれば、上記１３０°発光部のみをオンにし、７５°発光部はオフにする制御を行う。例えば、撮像対象部材８とコントローラ５との間の距離が所定距離以上離れているような状況であれば、４つの赤外光発光部６２〜６５の全てをオンにする。一方、撮像対象部材８とコントローラ５間の距離が所定距離未満という状況であれば、１３０°発光部のみをオンにする、という制御を行う（なお、上記のように、１３０°発光部の半減角は赤外カメラの画角よりも広いため、赤外カメラの光を取りこぼすことはない。）。また、他の例として、例えば、ゲーム処理の進行過程で、所定距離以上離れた位置にある撮像対象部材８を認識させたい（遠距離認識させたい）という状況と、撮像対象部材８を認識させる必要はないが、撮像対象部材８とは別のものを近距離認識させたいという状況とをゲームの進行に応じて使い分ける場合を想定する（例えば、赤外カメラ６１を用いてユーザの手のひらを認識させたい等）。このような場合にも、上記と同様に２種の赤外光発光部のオン／オフの制御を行ってもよい。このように、ユースケースに応じて２種の赤外光発光部のオン／オフを切換える制御を行うことで、赤外光発光部にかかる消費電力を軽減することが可能となる。
【００８２】
以上で、コントローラ側処理は終了する。そして、コントローラ側およびゲーム装置側で、上記のような処理が所定の周期で繰り返し行われることで、撮像対象部材８の反射光に基づいたコントローラ５の指示方向や姿勢を算出する処理が実行される。
【００８３】
このように、本実施形態では、再帰性反射材を有する撮像対象部材８と、赤外光発光部および撮像部を有するコントローラ（ハンドヘルド型情報処理装置）とを用いる構成を採っている。これにより、簡易なシステム構成でコントローラ５の指示方向や姿勢を算出できる。
【００８４】
また、本実施形態では、不可視光である赤外光を用いているため、ユーザの視認行動の邪魔にならないようにすることができ、また、例えば部屋が暗い状況であっても、例えば上記のようなカーソルやポインタ等を制御するための処理等を実行することが可能である。
【００８５】
なお、本実施形態では、赤外光を例としたが、これに限らず、他の種類の不可視光を用いる構成としても構わない。
【００８６】
なお、上述の実施例では、撮像対象部材８を１つだけ用いるシステムについて例示した。他の実施例では、長さが異なる複数種類の撮像対象部材を用いるようにしても良い。例えば、第２のコントローラとして、図１８のようなコントローラ７を用いるとする。図１８に示されるように、第２のコントローラ７は、大略的には横長の長方形の板状形状であるハウジング７１を備える。ハウジング７１は、ユーザが把持することができる程度の大きさである。また、第２のコントローラ７０の表面の中央付近にＬＣＤ７２が設けられている。更に、操作手段として、２つのアナログスティック７３Ｌおよび７３Ｒと、十字ボタン７４と、複数の操作ボタン７５とが備えられている。また、ＬＣＤ７２の上側には、撮像対象部材９０が設けられている。以下の説明では、両者の区別のため、上記撮像対象部材８のことを第１の撮像対象部材８と呼び、第２のコントローラ７０側の撮像対象部材９０については第２の撮像対象部材９０と呼ぶ。この第２の撮像対象部材９０は、上記第１の撮像対象部材８とは、再帰性反射材が配置される間隔が異なっている。図１９は、第２の撮像対象部材８のサイズを示す模式図である。図１９で示すように、第２の撮像対象部材９０も３つの再帰性反射材９１Ａ、９１Ｂ、９１Ｃを有するが、真ん中に配置される再起戦反射材９１のサイズは、他の２つよりも大きなサイズとなっている。図１９の例で言うと、撮像対象部材９０の左右端に配置される再帰性反射材９１、および９１Ｃは、その横幅が３ｃｍであるが、真ん中に配置される再帰性反射材９１Ｂは、その横幅が８ｃｍとなっている。また、再帰性反射材９１Ａと９１Ｂとの間隔は、再帰性反射材９１Ｂと９１Ｃとの間隔と同じ間隔となっている。つまり、再帰性反射材の配置間隔が、第１の撮像対象部材８と第２の撮像対象部材８とは異なっていることになる。プレイヤは、上記コントローラ５を、当該第２の撮像対象部材９０に向けて所定の操作を行うことも可能となっている。例えば、ＬＣＤ７２に表示されるカーソルやポインタ等の操作や、ＬＣＤ７２に表示されるゲームオブジェクトを操作する等である。
【００８７】
上記のような２種類の撮像対象部材を用いて、次のような処理を行うようにしてもよい。すなわち、コントローラ５がこの２種類の撮像対象部材のうち、いずれのほうに向けられているかを判定し、その結果に応じた処理が行われても良い。まず、上述したステップＳ２６の撮像対象部材反射光の検出処理において、検出できた撮像対象部材反射光を構成する３つの光源点の間隔に基づき、その撮像対象部材反射光がいずれの撮像対象部材によるものであるかを判定する。あるいは、当該３つの光源点それぞれの大きさに基づいてこれを判定するようにしても良い。当該判定の結果、現在コントローラ５が向けられていると推測されたセンサバーを示す識別情報が上記撮像対象部材情報に含められる。そして、当該撮像対象部材情報が、画像処理回路６１ｄから制御部６６へと出力される。その後、撮像対象部材情報を含む操作データがコントローラ５からゲーム装置３に送信される。ゲーム装置３では、操作データに含まれる上記識別情報に基づき、コントローラ５が現在向けられている撮像対象部材を判別する。そして、その判別結果に応じた処理を適宜実行する。例えば、テレビ２の画面、または、ＬＣＤ７２の画面のいずれか一方に、コントローラ５の方向や姿勢に応じてカーソルやポインタ等の動きを制御する、等である。
【００８８】
なお、ここで示した第２の撮像対象部材８のサイズは一例であり、第１の撮像対象部材８との区別が可能なものであれば、再帰性反射材のサイズや配置間隔は上記とは異なる値であってもよい。
【００８９】
また、他の実形態施では上記ステップＳ２３のデフリッカー処理については省略する構成としても良い。あるいは、上記ノイズ光が多い場合にのみ実行するような構成としてもよい。例えば、上記クラスタリング処理の結果、検出された光源点の数が所定の数以上である場合にのみ、デフリッカー処理を実行するような構成としてもよい。
なお、デフリッカー処理を実行することで、撮像対象部材反射光の検出精度を高めることが可能となる。
【００９０】
また、上記ステップＳ２５のフィルタリング処理についても、他の実施形態では省略する構成でもよい。当該フィルタリング処理を実行することで、ステップＳ２６での撮像対象部材反射光を検出する処理にかかる負荷を軽減することが可能となるが、画像処理回路６１ｄの処理能力が十分な余裕が見込めるある場合等は、このフィルタリング処理は実行しない構成としてもよい。
【００９１】
また、上記のような処理を実行するプロセッサに関して、上記の例ではゲーム装置３にプロセッサが搭載されている場合を例に説明したが、他の実施形態では、コントローラ５に単数または複数のプロセッサを搭載するようにしても良い。そして、上記実施例ではゲーム装置３で行っていた処理の全て、あるいはその一部について、コントローラ５のプロセッサで実行するように構成しても良い。また、上記実施例ではコントローラ５で行っていた処理の一部について、ゲーム装置３のプロセッサで実行するように構成しても良い。
【符号の説明】
【００９２】
２    テレビ
３    ゲーム装置
５    コントローラ
８    再帰性反射材付き撮像対象部材
１３    プロセッサ
１４    内部記憶装置
１５    メインメモリ
１６    コントローラ通信部
６１    赤外カメラ
６２    第１の赤外光発光部
６３    第２の赤外光発光部
６４    第３の赤外光発光部
６５    第４の赤外光発光部
６６    制御部
６７    操作部
６８    無線通信部
【図１】
0006654019.tif 000002
【図２】
0006654019.tif 000003
【図３】
0006654019.tif 000004
【図４】
0006654019.tif 000005
【図５】
0006654019.tif 000006
【図６】
0006654019.tif 000007
【図７】
0006654019.tif 000008
【図８】
0006654019.tif 000009
【図９】
0006654019.tif 000010
【図１０】
0006654019.tif 000011
【図１１】
0006654019.tif 000012
【図１２】
0006654019.tif 000013
【図１３】
0006654019.tif 000014
【図１４】
0006654019.tif 000015
【図１５】
0006654019.tif 000016
【図１６】
0006654019.tif 000017
【図１７】
0006654019.tif 000018
【図１８】
0006654019.tif 000019
【図１９】
0006654019.tif 000020