(57)【要約】【課題】簡素な構成を維持しつつ、ゲームコントローラ等と共に用いることで、多様なゲーム操作を実現することのできる、アタッチメントおよび当該アタッチメントを含むゲームシステムが提供される。【解決手段】カメラを有するゲームコントローラと共に用いられるアタッチメントが提供される。アタッチメントは、筐体と、筐体に設けられた操作部とを含む。筐体は、カメラの撮影方向が筐体の内部へ向くようにゲームコントローラを支持する支持部を含む。操作部は、当該操作部に対する押下操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じてカメラから見た形状および模様の少なくとも一方が変化する、筐体内部に配置された可動部を有する。【選択図】図６
2018023487.tif 000002
【特許請求の範囲】
【請求項１】
カメラを有するゲームコントローラと共に用いられるアタッチメントであって、
筐体と、
前記筐体に設けられた操作部とを備え、
前記筐体は、前記カメラの撮影方向が前記筐体の内部へ向くように前記ゲームコントローラを支持する支持部を含み、
前記操作部は、当該操作部に対する押下操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じて前記カメラから見た形状および模様の少なくとも一方が変化する、前記筐体内部に配置された可動部を有する、アタッチメント。
【請求項２】
前記可動部は、反射材で構成される、請求項１に記載のアタッチメント。
【請求項３】
前記可動部は、前記操作部に対する押下操作の方向と実質的に平行な方向に沿った回転によって、前記カメラから見た形状および模様の少なくとも一方が徐々に変化する、請求項１または２に記載のアタッチメント。
【請求項４】
前記可動部は、前記カメラから見た幅が変化する、請求項３に記載のアタッチメント。
【請求項５】
前記可動部は、テーパ形状で形成される、請求項４に記載のアタッチメント。
【請求項６】
前記可動部は、前記操作部に対するスライド操作に応じて、前記カメラから見た位置が変化する、請求項３に記載のアタッチメント。
【請求項７】
前記操作部は、前記カメラの撮影方向と実質的に平行な方向にスライドする第１スライド機構を有する、請求項４または５に記載のアタッチメント。
【請求項８】
前記操作部は、前記カメラの撮影方向と実質的に垂直な方向にスライドする第２スライド機構を有する、請求項４または５に記載のアタッチメント。
【請求項９】
前記カメラは赤外線カメラである、請求項１〜８のいずれか１項に記載のアタッチメント。
【請求項１０】
前記操作部は、付勢機構をさらに含む、請求項１〜９のいずれか１項に記載のアタッチメント。
【請求項１１】
ゲームシステムであって、
赤外線カメラを有するゲームコントローラと、
前記ゲームコントローラを支持可能なアタッチメントと、
前記ゲームコントローラと通信可能な本体装置とを備え、
前記アタッチメントは、
筐体と、
前記筐体に設けられた操作部とを備え、
前記筐体は、前記赤外線カメラの撮影方向が前記筐体の内部へ向くように前記ゲームコントローラを支持する支持部を含み、
前記操作部は、当該操作部に対する押下操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じて前記赤外線カメラから見た形状および模様の少なくとも一方が変化する、前記筐体内部に配置された可動部を有し、
前記ゲームコントローラは、
前記赤外線カメラの撮影により取得される赤外線画像に関する画像データを前記本体装置に送信する送信手段を含み、
前記本体装置は、
前記画像データに基づいて、前記操作部に対する操作を検出する操作検出手段と、
前記操作検出手段によって検出された操作に基づいて、所定のゲーム処理を実行するゲーム処理実行手段とを有する、ゲームシステム。
【請求項１２】
カメラを有するゲームコントローラと共に用いられるアタッチメントであって、
筐体と、
前記筐体に設けられた操作部とを備え、
前記筐体は、前記カメラの撮影方向が前記筐体の内部へ向くように前記ゲームコントローラを支持する支持部を含み、
前記操作部は、当該筐体の表面に沿った当該操作部に対するスライド操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じて前記カメラから見た形状および模様の少なくとも一方が変化する、前記筐体内部に配置された可動部を有する、アタッチメント。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アタッチメントおよび当該アタッチメントを含むゲームシステムに関する。
【背景技術】
【０００２】
従来、携帯装置に接続されることによって携帯装置に機能を付加する付属機器がある。例えば、特開２０１０−０１７３８７号公報（特許文献１）は、ゲーム装置のコントローラに設けられたコネクタに、付属機器として他のコントローラを接続する技術を開示する。この技術によれば、２つのコントローラを用いることによってより多様なゲーム操作が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０１７３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したような先行技術に開示される付属機器は、携帯装置と通信を行なうための回路構成や、携帯装置に送信する情報を生成する情報処理のための回路構成が必要であり、これらの構成に対する改善の余地があった。
【０００５】
本開示は、簡素な構成を維持しつつ、ゲームコントローラ等と共に用いることで、多様なゲーム操作を実現することのできる、アタッチメントおよび当該アタッチメントを含むゲームシステムを提供する。
【課題を解決するための手段】
【０００６】
上記の課題は、例えば、以下のような構成により達成される。
ある実施の形態に従えば、カメラを有するゲームコントローラと共に用いられるアタッチメントが提供される。アタッチメントは、筐体と、筐体に設けられた操作部とを含む。筐体は、カメラの撮影方向が筐体の内部へ向くようにゲームコントローラを支持する支持部を含む。操作部は、当該操作部に対する押下操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じてカメラから見た形状および模様の少なくとも一方が変化する、筐体内部に配置された可動部を有する。
【０００７】
可動部は、反射材で構成されてもよい。
可動部は、操作部に対する押下操作の方向と実質的に平行な方向に沿った回転によって、カメラから見た形状および模様の少なくとも一方が徐々に変化してもよい。
【０００８】
可動部は、カメラから見た幅が変化してもよい。
可動部は、テーパ形状で形成されてもよい。
【０００９】
可動部は、操作部に対するスライド操作に応じて、前記カメラから見た位置が変化してもよい。
【００１０】
操作部は、カメラの撮影方向と実質的に平行な方向にスライドする第１スライド機構を有していてもよい。
【００１１】
操作部は、カメラの撮影方向と実質的に垂直な方向にスライドする第２スライド機構を有してもよい。
【００１２】
カメラは赤外線カメラであってもよい。
操作部は、付勢機構をさらに含んでいてもよい。
【００１３】
ある実施の形態に従うゲームシステムは、赤外線カメラを有するゲームコントローラと、ゲームコントローラを支持可能なアタッチメントと、ゲームコントローラと通信可能な本体装置とを含む。アタッチメントは、筐体と、筐体に設けられた操作部とを含む。筐体は、赤外線カメラの撮影方向が筐体の内部へ向くようにゲームコントローラを支持する支持部を含む。操作部は、当該操作部に対する押下操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じて赤外線カメラから見た形状および模様の少なくとも一方が変化する、筐体内部に配置された可動部を有している。ゲームコントローラは、赤外線カメラの撮影により取得される赤外線画像に関する画像データを本体装置に送信する送信手段を含む。本体装置は、画像データに基づいて、操作部に対する操作を検出する操作検出手段と、操作検出手段によって検出された操作に基づいて、所定のゲーム処理を実行するゲーム処理実行手段とを有する。
【００１４】
ある実施の形態に従えば、カメラを有するゲームコントローラと共に用いられるアタッチメントが提供される。アタッチメントは、筐体と、筐体に設けられた操作部とを含む。筐体は、カメラの撮影方向が筐体の内部へ向くようにゲームコントローラを支持する支持部を含む。操作部は、当該筐体の表面に沿った当該操作部に対するスライド操作に応じて位置が変化するとともに、当該操作部に対する回転操作に応じてカメラから見た形状および模様の少なくとも一方が変化する、筐体内部に配置された可動部を有する。
【発明の効果】
【００１５】
本開示によれば、簡素な構成を維持しつつ、ゲームコントローラ等と共に用いることで、多様なゲーム操作を実現できる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態に従うゲームシステムの外観構成の一例を示す模式図である。
【図２】図１に示すゲームコントローラのハードウェア構成の一例を示す模式図である。
【図３】図１に示す本体装置のハードウェア構成の一例を示す模式図である。
【図４】本実施の形態に従うゲームシステムにおける処理の概要を説明するための模式図である。
【図５】実施の形態１に従うアタッチメントの外観構成を示す模式図である。
【図６】図５に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図７】図６に示すアタッチメントに対するユーザ操作の検出方法を説明するための模式図である。
【図８】実施の形態１に従うアタッチメントに対するユーザ操作を検出する処理手順を示すフローチャートである。
【図９】実施の形態１に従うアタッチメントの操作部の可動部に付与されるマーカのいくつかの変形例を示す図である。
【図１０】実施の形態１に従うアタッチメントに対する押下操作の検出精度を高める構造の一例を示す模式図である。
【図１１】実施の形態１の変形例１に従うアタッチメントの外観構成を示す模式図である。
【図１２】図１１に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図１３】実施の形態１の変形例２に従うアタッチメントの外観構成を示す模式図である。
【図１４】実施の形態２に従うアタッチメントの外観構成を示す模式図である。
【図１５】図１４に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図１６】図１５に示すアタッチメントに対するユーザ操作の検出方法を説明するための模式図である。
【図１７】実施の形態２に従うアタッチメントに対するユーザ操作を検出する処理手順を示すフローチャートである。
【図１８】実施の形態２の変形例１に従うアタッチメントの外観構成を示す模式図である。
【図１９】図１８に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図２０】実施の形態２の変形例２に従うアタッチメントの外観構成を示す模式図である。
【図２１】図２０に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図２２】実施の形態３に従うアタッチメントの外観構成を示す模式図である。
【図２３】図２２に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図２４】実施の形態３に従うアタッチメントに対するユーザ操作を検出する処理手順を示すフローチャートである。
【図２５】実施の形態４に従うアタッチメントの外観構成を示す模式図である。
【図２６】図２５に示すアタッチメントに対するユーザ操作を検出するための構造を説明するための模式図である。
【図２７】図２６に示すアタッチメントを用いたアプリケーションの一例を説明するための模式図である。
【図２８】図２７に示すアプリケーションに係る処理手順を示すフローチャートである。
【図２９】実施の形態５に従うアタッチメントの外観構成を示す模式図である。
【図３０】図２９に示すアタッチメントに対するユーザ操作を検出するための処理を説明するための模式図である。
【発明を実施するための形態】
【００１７】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１８】
＜Ａ．ゲームシステムの構成＞
まず、本実施の形態に従うゲームシステム１の構成について説明する。
【００１９】
（ａ１：システム全体構成）
図１は、本実施の形態に従うゲームシステム１の外観構成の一例を示す模式図である。図１を参照して、ゲームシステム１は、１または複数のゲームコントローラ１００（以下、単に「コントローラ１００」とも記す。）と、１または複数のコントローラ１００と通信可能な本体装置２００とを含む。本体装置２００には、テレビジョン装置などの表示装置２０４が接続されており、表示装置２０４からは、本体装置２００から出力された映像信号および／または音声信号に従って、映像および／または音声が出力される。
【００２０】
図１には、コントローラ１００と本体装置２００との間で、無線通信により互いに情報を遣り取りする構成例を示すが、有線通信で互いに情報を遣り取りするようにしてもよい。
【００２１】
本実施の形態に従うゲームシステム１を構成するコントローラ１００は、その一端に撮像部１２０を有している。コントローラ１００の撮像部１２０には、アタッチメント３００を装着することができる。アタッチメント３００の詳細については後述する。
【００２２】
以下の説明においては、図１に示すような、本体装置２００と通信するコントローラ１００をゲームコントローラの典型例として説明するが、これに限らず、撮像部１２０に相当する機能を有する任意の装置をゲームコントローラとして用いることができる。例えば、ディスプレイおよび操作部を含む携帯型ゲーム装置自体をゲームコントローラとして用いてもよいし、携帯電話、スマートフォン、タブレットなどの汎用的な携帯型端末をゲームコントローラとして用いてもよい。
【００２３】
（ａ２：ゲームコントローラ）
図２は、図１に示すゲームコントローラ１００のハードウェア構成の一例を示す模式図である。図２を参照して、ゲームコントローラ１００は、制御部１１０と、操作部１０２と、インジケータ１０４と、音声出力部１０６と、無線通信部１０８と、加速度センサ１３０と、ジャイロセンサ１３２と、撮像部１２０とを含む。
【００２４】
制御部１１０は、コントローラ１００における処理全体を制御する主体であり、その主要なコンポーネントとして、ＣＰＵ（Central Processing Unit）１１２と、メインメモリ１１４と、制御プログラム１１８を格納したフラッシュメモリ１１６とを含む。プロセッサの一例であるＣＰＵ１１２は、フラッシュメモリ１１６に格納された制御プログラム１１８をメインメモリ１１４に読み出して実行することで、後述するような各種制御を実現する。
【００２５】
制御部１１０は、上述したコンポーネントを含むシステムＬＳＩ（Large Scale Integration）として実装してもよい。
【００２６】
操作部１０２は、ユーザ操作を受付け、そのユーザ操作の内容を示す情報を制御部１１０へ出力する。典型的には、操作部１０２は、押ボタン、操作レバー、タッチパネル、マウスなどを含む。あるいは、操作部１０２としては、コントローラ１００とは別体の、有線または無線で接続されるコントローラを含むようにしてもよい。
【００２７】
インジケータ１０４は、コントローラ１００の表面に露出して配置され、制御部１１０からの指令に従って、ユーザに対して視覚的な態様で通知を行なう。典型的には、インジケータ１０４は、ＬＥＤ（Light Emitting Diode）などを含む。
【００２８】
音声出力部１０６は、コントローラ１００の表面に部分的に露出して配置され、制御部１１０からの指令に従って、ユーザに対して聴覚的な態様で通知を行なう。典型的には、音声出力部１０６は、１または複数のスピーカなどを含む。
【００２９】
無線通信部１０８は、制御部１１０からの指令に従って他の装置との間で無線信号を遣り取りするとともに、他の装置から受信したデータを制御部１１０へ出力する。無線通信部１０８は、図示しない、周波発生回路、変調回路、復調回路、符号化回路などを含む。無線通信部１０８は、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１５規格に従うＢｌｕｅｔｏｏｔｈ（登録商標）や、ＩＥＥＥ８０２．１１規格に従う無線ＬＡＮ（Local Area Network）などに従った通信方式を採用してもよい。
【００３０】
加速度センサ１３０は、コントローラ１００に生じる加速度を検出し、その検出結果を制御部１１０へ出力する。ジャイロセンサ１３２は、コントローラ１００の傾きなどを検出し、その検出結果を制御部１１０へ出力する。加速度センサ１３０およびジャイロセンサ１３２の少なくとも一方もしくは両方を用いて、コントローラ１００の姿勢および動きの少なくとも一方を検出することができる。
【００３１】
撮像部１２０は、コントローラ１００の周囲に存在する光を受けて画像データを生成する部位であり、カメラ１２２および発光部１２４からなる。
【００３２】
カメラ１２２は、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ、フォトダイオードアレイといった、任意の撮像デバイスを含んで構成される。カメラ１２２の受光感度は被写体が発する光の波長に応じて適宜設定すればよいが、本実施の形態においては、一例として、赤外領域に受光感度を有する撮像デバイスが用いられる。この場合、カメラ１２２は、入射した赤外線の強度分布に対応する画像データを出力することができる。すなわち、カメラ１２２としては、赤外線カメラを採用してもよい。
【００３３】
発光部１２４は、カメラ１２２により被写体を撮影するために、被写体に光を照射するための光源である。一例として、発光部１２４は、ＬＥＤ（light emitting diode）やレーザダイオードといった任意の発光デバイスを用いることができる。上述したように、カメラ１２２が赤外領域での画像を取得する場合には、発光部１２４は、赤外線を照射するように構成されることが好ましい。すなわち、発光部１２４は、被写体に光に対して赤外光（ＩＲ（Infrared）光）を照射することができる。発光部１２４は、従来のカメラに装着されているフラッシュのような機能を兼用するようにしてもよい。
【００３４】
（ａ３：本体装置）
図３は、図１に示す本体装置２００のハードウェア構成の一例を示す模式図である。図３を参照して、本体装置２００はコンピュータの一種であり、主要なコンポーネントとして、制御部２１０と、無線通信部２２０と、ネットワーク通信モジュール２３０と、フラッシュメモリ２３２と、外部メインメモリ２３４と、映像音声出力ドライバ２３６と、ディスクドライブ２３８とを含む。
【００３５】
制御部２１０は、本体装置２００における処理全体を制御する主体であり、その主要なコンポーネントとして、ＣＰＵ２１２と、メインメモリ２１４と、ＧＰＵ（Graphical Processing Unit）２１６と、ＶＲＡＭ（Video Random Access Memory）２１８とを含む。ＣＰＵ２１２は、基本システムプログラムやアプリケーションなどを実行する。メインメモリ２１４は、ＣＰＵ２１２でのプログラム実行に必要な一時データを保持するワーキングメモリとして機能する。ＧＰＵ２１６は、主として表示に係る処理を実行する。ＶＲＡＭ２１８は、ＧＰＵ２１６での処理によって生成された画像を表示するためのワーキングメモリとして機能する。
【００３６】
制御部２１０は、上述したコンポーネントを含むシステムＬＳＩ（Large Scale Integration）として実装してもよい。
【００３７】
無線通信部２２０は、制御部２１０からの指令に従って他の装置との間で無線信号を遣り取りするとともに、他の装置から受信したデータを制御部２１０へ出力する。典型的には、無線通信部２２０は、コントローラ１００との間で情報を遣り取りする。無線通信部２２０のより具体的な構成については、図２に示すコントローラ１００の無線通信部１０８と同様である。
【００３８】
ネットワーク通信モジュール２３０は、アクセスポイントなどの装置と無線通信するための各種回路を含む。ネットワーク通信モジュール２３０は、例えば、ＩＥＥＥ８０２．１１規格に従う無線ＬＡＮ（Local Area Network）、赤外線通信、ＬＴＥ（Long Term Evolution）などに従うモバイル通信、などを用いて実装されてもよい。
【００３９】
無線通信部２２０およびネットワーク通信モジュール２３０については、いずれも無線通信するための回路を含むため、これらを同一のチップ内に実装するようにしてもよい。
【００４０】
フラッシュメモリ２３２は、制御部２１０からアクセス可能になっており、基本システムプログラムやアプリケーションなどを不揮発的に保持する。例えば、フラッシュメモリ２３２は、各種のアプリケーション２３３を格納していてもよい。アプリケーション２３３は、ディスクドライブ２３８によって光学記録媒体２０８から読み出されて、インストールされる。
【００４１】
外部メインメモリ２３４は、制御部２１０内のメインメモリ２１４と連携してワーキングメモリとして機能してもよい。
【００４２】
映像音声出力ドライバ２３６は、制御部２１０から出力される映像信号および音声信号を表示装置２０４（図１参照）へ出力する。
【００４３】
＜Ｂ．アタッチメントの概要＞
次に、本実施の形態に従うゲームシステム１において用いることのできるアタッチメント３００の概要について説明する。アタッチメント３００は、様々なゲーム操作が可能に構成された部材であり、基本的には、筐体と、筐体に設けられた操作部とからなる。操作部は、ユーザ操作に応じて位置、速度、加速度、向き、角度、姿勢などを変化させる。
【００４４】
図１に示すように、アタッチメント３００にはコントローラ１００が装着され、コントローラ１００の撮像部１２０（カメラ１２２）の撮影により取得された画像（以下、「カメラ画像」とも称す。）に基づいて、操作部に生じた変化が検出され、その検出された変化に基づいて操作データが生成される。操作部は、筐体内部に配置され、当該操作部に対するユーザ操作に応じて、外形上の変化を生じる可動部を有しており、この可動部を撮影することで、その外径上の変化を検出し、その検出した変化に基づいてユーザ操作の内容を検出する。外径上の変化としては、例えば、位置、形状、模様などが挙げられる。また、筐体の内部には、コントローラ１００を支持する支持部が設けられている。
【００４５】
アタッチメント３００は、その内部にある程度の空間が形成されればよい。そのため、筐体としては、鉄やアルミなどの金属材料や、プラスチックなどの樹脂材料に加えて、段ボールなどの紙材料などを用いてもよい。
【００４６】
本実施の形態に従うゲームシステム１は、コントローラ１００および本体装置２００の各々において処理が実行可能である。カメラ１２２の撮影によるカメラ画像の生成、および、カメラ画像から操作データの生成といった一連の処理は、コントローラ１００および本体装置２００の間で、分散処理させることもできるし、一方の装置ですべての処理を実行させることもできる。すなわち、典型的には、以下のような態様が想定される。
【００４７】
（ａ）コントローラ１００のみで実行される態様。
（ｂ）コントローラ１００で撮像されたカメラ画像が本体装置２００に送信されて、本体装置２００において実行される態様。
【００４８】
（ｃ）コントローラ１００と本体装置２００とが協働して実行される態様。
以下、典型例として、コントローラ１００と本体装置２００とが協働して実行される一態様について説明する。但し、以下に示す処理手順に限定されることなく、ゲームシステムの構成、処理能力、要求性能などに応じて、任意の実装形態を採用できる。
【００４９】
図４は、本実施の形態に従うゲームシステム１における処理の概要を説明するための模式図である。図４を参照して、コントローラ１００のカメラ１２２の撮影によりカメラ画像４００が取得される。コントローラ１００は、カメラ１２２の撮影により取得される画像データを本体装置２００に送信する機能を有しており、コントローラ１００において取得されたカメラ画像４００が本体装置２００に送信される。つまり、コントローラ１００は、カメラ１２２の撮影により取得される赤外線画像に関する画像データを本体装置２００に送信する送信機能を有している。このカメラ画像４００の撮影および本体装置２００への送信は所定周期で繰返されてもよい。
【００５０】
本体装置２００は、画像データに基づいて、操作部に対する操作を検出する操作検出機能を有している。より具体的には、本体装置２００は、コントローラ１００からのカメラ画像４００に対して、カメラ画像４００内に生じる可動部の外形上の変化を検出する処理を行なって、アタッチメント３００の操作部に対するユーザ操作を検出する（操作検出処理）。
【００５１】
本体装置２００は、操作検出機能によって検出された操作に基づいて、所定のゲーム処理を実行するゲーム処理実行機能を有している。より具体的には、本体装置２００は、検出されたユーザ操作の内容を示す操作データを生成し、その生成した操作データに基づいてゲーム処理を進行する。
【００５２】
なお、本体装置２００においては、装着されているアタッチメント３００の種別に応じて異なるゲーム処理が実行される。具体的には、特定されたアタッチメント３００の種別に応じて異なる操作データが生成されるようにしてもよいし、同一の操作データに対して、特定されたアタッチメント３００の種別に応じて異なるゲーム処理が実行されるようにしてもよい。
【００５３】
このように、本実施の形態に従うアタッチメント３００は、カメラ１２２を有するコントローラ１００と共に用いられることで、任意のユーザ操作を検出する、一種のゲームコントローラあるいは入力デバイスとして機能する。
【００５４】
以下、本実施の形態に従うゲームシステム１において用いることのできるアタッチメントのいくつかの具体例について説明する。
【００５５】
＜Ｃ．実施の形態１に従うアタッチメント＞
まず、実施の形態１として、押下操作および回転操作が可能なアタッチメント３００Ａについて説明する。
【００５６】
図５は、実施の形態１に従うアタッチメント３００Ａの外観構成を示す模式図である。図５を参照して、アタッチメント３００Ａは、コントローラ１００と接続可能な筐体３１０Ａを有している。鳥を模式化した球状の操作部３２０Ａの一部が筐体３１０Ａの開口部と回転可能に係合されている。ユーザは、操作部３２０Ａを押下する操作（押下操作）、および、操作部３２０Ａを回転させる操作（回転操作）を行なうことができる。すなわち、アタッチメント３００Ａは、ボタン機構、および、回転機構を含む。なお、押下機構または回転機構のいずれか一方のみが設けられた構成を採用してもよい。
【００５７】
図６は、図５に示すアタッチメント３００Ａに対するユーザ操作を検出するための構造を説明するための模式図である。図６（Ａ）は、図５に示すアタッチメント３００Ａの断面構造の一例を示す。図６（Ａ）には、コントローラ１００が装着された状態を例示している。
【００５８】
図６（Ａ）を参照して、アタッチメント３００Ａの一端には開口部が設けてあり、この開口部にコントローラ１００が装着される。コントローラ１００とアタッチメント３００Ａとの間の結合は密結合であってもよいし、疎結合であってもよい。装着時には、アタッチメント３００Ａの筐体３１０Ａの一部に形成される支持部３１２Ａがコントローラ１００を支持する。支持部３１２Ａは、コントローラ１００のカメラ１２２の撮影方向が筐体３１０Ａの内部へ向くようにコントローラ１００を支持できる構造であれば、どのような構造を採用してもよい。支持部３１２Ａは、アタッチメント３００の筐体３１０の形状などに適合する形状に構成することが好ましい。
【００５９】
コントローラ１００が筐体３１０Ａの支持部３１２Ａにより位置決めされることで、コントローラ１００のカメラ１２２の撮影視野には、筐体３１０Ａの内部に存在する部材が被写体として含まれることになる。操作部３２０Ａは、筐体３１０Ａ内の位置に配置され、操作部３２０Ａに対する操作に応じて位置が変化する可動部としての円筒部３３０Ａを有している。円筒部３３０Ａは、その少なくとも一部がコントローラ１００のカメラ１２２の撮影視野内に存在するように配置される。ユーザが操作部３２０Ａを操作すると、操作部３２０Ａと一体的に形成されている円筒部３３０Ａも連動して移動するため、カメラ１２２から見ると、円筒部３３０Ａの外周面に外形上の変化が生じる。
【００６０】
これにより、カメラ１２２の撮影により取得されるカメラ画像４００Ａには、円筒部３３０Ａが被写体として写ることになり、カメラ画像４００Ａ内の円筒部３３０Ａに相当する領域を検出することで、操作部３２０Ａに対するユーザ操作を検出できる。すなわち、コントローラ１００のカメラ１２２の撮影により取得されたカメラ画像から、ユーザが操作部３２０Ａに対して行なう、回転操作および／または押下操作をそれぞれ独立に検出することができる。
【００６１】
図６（Ａ）に示すように、ユーザが操作部３２０Ａを回転させる操作（回転操作）に対して抗力を発生するためのラッチ機構３２２などの付勢機構、および／または、ユーザが操作部３２０を押下する操作（押下操作）に対して抗力を発生するためのバネ３２４などの付勢機構を採用してもよい。
【００６２】
ラッチ機構３２２を採用することで、ユーザが操作部３２０Ａを回転させる際に、いわゆる「クリック」感を得ることができる。バネ３２４を採用することで、ユーザが押下しているときだけ操作部３２０Ａが下側に移動するといったボタンの動きを実現できる。このように、操作部３２０Ａに対する操作に抗する付勢機構をアタッチメント３００Ａに付加することによって、直感的で物理的なフィードバックをユーザに与えることのできる、コントローラを実現できる。
【００６３】
図６に示す構成例においては、円筒部３３０Ａの外周面には、操作部３２０Ａに対するユーザ操作に応じて外形上の変化を生じるための領域（以下、「マーカ」とも称す。）３３２Ａが形成されている。図６に示すマーカ３３２Ａとしては、幅が周方向の位置に沿って変化する、くさび形状のものが採用されている。典型的には、マーカ３３２Ａは、円筒部３３０Ａの他の領域とは異なる反射率を有する材料で構成される。コントローラ１００のカメラ１２２は、ＩＲ光の反射光の反射強度に対応したカメラ画像を生成するので、円筒部３３０Ａにおけるマーカ３３２Ａとそれ以外の領域とは、ＩＲ光に対する反射率が互いに異なるように構成される。マーカ３３２Ａとそれ以外の領域との反射率は、互いに異なる値に設定されていればどのような値に設定してもよい。
【００６４】
一例として、マーカ３３２Ａの反射率を高く設定し、それ以外の領域の反射率を低く設定してもよい。言い換えれば、マーカ３３２Ａを「白色」の素材で構成し、それ以外の領域を「白色」の素材または円筒部３３０Ａを構成する素材そのもので構成してもよい。「白色」の素材としては、任意の反射材を用いることができる。この反射材としては、再帰性反射材がより好ましい。再帰性反射材は、一般的に市販されている材料を用いることができ、あるいは、蛍光ペンの素材などを利用するようにしてもよい。
【００６５】
図６（Ｂ）に示すように、コントローラ１００のカメラ１２２の撮影により取得されるカメラ画像４００Ａは、筐体３００Ａ内に存在する円筒部３３０Ａに対応する被写体画像４３０Ａを含む。被写体画像４３０Ａの外形上の変化を検出した結果に基づいて、ユーザ操作が検出される。
【００６６】
図７は、図６に示すアタッチメント３００Ａに対するユーザ操作の検出方法を説明するための模式図である。図７（Ａ）には、操作部３２０Ａに対して何らのユーザ操作も行なわれていない初期状態で撮影されたカメラ画像４００Ａの一例を示す。このカメラ画像４００Ａに対して、マーカ３３２Ａに相当するパターンを探索する処理が実行される。このパターンの探索処理においては、典型的には、カメラ画像４００Ａに含まれる他の領域とは異なる色などを有する部分（画素の集合であり、「クラスタ」とも称される。）を特定する処理が用いられる。このクラスタを探索する処理においては、入力されたカメラ画像４００Ａから、クラスタの重心位置、クラスタの大きさ、クラスタを包含する領域（典型的には、領域の左上座標および右下座標）が検出される。
【００６７】
図７（Ａ）には、マーカ３３２Ａに相当するパターンを包含する矩形領域の左上座標Ｐ１および右下座標Ｐ２が検出された例を示す。その上で、例えば、マーカ３３２Ａに相当するパターンの、カメラ画像４００Ａの左右中心部での幅（縦方向の厚み）を検出する処理が実行される。図７（Ａ）には、マーカ３３２Ａに相当するパターンの幅Ｄ１が検出された例を示す。
【００６８】
図７（Ｂ）には、操作部３２０Ａに対して押下操作がなされた状態で撮影されたカメラ画像４００Ａ’の一例を示す。図７（Ａ）に示すカメラ画像４００Ａに対するのと同様の処理が、カメラ画像４００Ａ’に対しても実行されて、マーカ３３２Ａに相当するパターンを包含する矩形領域の左上座標Ｐ１’および右下座標Ｐ２’が検出されたとする。このような、左上座標Ｐ１から左上座標Ｐ１’への変化、および／または、右下座標Ｐ２から右下座標Ｐ２’への変化に基づいて、操作部３２０Ａに対する押下操作を検出することができる。
【００６９】
図７（Ｃ）には、操作部３２０Ａに対して回転操作がなされた状態で撮影されたカメラ画像４００Ａ’’の一例を示す。図７（Ａ）に示すカメラ画像４００Ａに対するのと同様の処理が、カメラ画像４００Ａ’’に対しても実行されて、マーカ３３２Ａに相当するパターンの幅Ｄ１’が検出されたとする。このような、幅Ｄ１から幅Ｄ１’への変化に基づいて、操作部３２０Ａに対する回転操作を検出することができる。
【００７０】
図７（Ａ）および図７（Ｂ）に示すように、可動部としての円筒部３３０Ａは、操作部３２０Ａに対する押下操作に応じて位置が変化する。また、図７（Ａ）および図７（Ｃ）に示すように、可動部としての円筒部３３０Ａは、操作部３２０Ａに対する回転操作に応じてカメラ１２２から見た形状および模様の少なくとも一方が変化する。このとき、可動部として円筒部３３０Ａは、操作部３２０Ａに対する押下操作の方向と実質的に平行な方向に沿った回転によって、形状および模様の少なくとも一方が徐々に変化する。このとき、図７に示すように、可動部としての円筒部３３０Ａは、回転操作に伴って幅が変化してもよい。
【００７１】
但し、操作部３２０Ａに対する押下操作の方向と実質的に垂直な方向に沿った回転によって、円筒部３３０Ａが形状および模様の少なくとも一方を徐々に変化させるようにしてもよい。この場合には、円筒部３３０Ａの構造などについても、押下操作の方向と実質的に垂直な方向に沿った回転に応じたものとなる。
【００７２】
なお、回転操作の検出については、マーカ３３２Ａに相当するパターンの幅に基づくものに限らず、マーカ３３２Ａに相当するパターンの輝度（例えば、パターンを構成する画素についての輝度値の総和または平均値）、マーカ３３２Ａに相当するパターンの位置、などを利用してもよい。
【００７３】
図８は、実施の形態１に従うアタッチメント３００Ａに対するユーザ操作を検出する処理手順を示すフローチャートである。図８に示す各ステップは、コントローラ１００の制御部１１０のＣＰＵ１１２が制御プログラム１１８（いずれも図２参照）を実行すること、または、本体装置２００の制御部２１０のＣＰＵ２１２がアプリケーション２３３（いずれも図２参照）を実行することで実現される。
【００７４】
図８を参照して、コントローラ１００のカメラ１２２がアタッチメント３００Ａの内部を撮影することでカメラ画像４００Ａを取得する（ステップＳ１００）。取得されたカメラ画像４００Ａに対してクラスタを探索する処理が実行される（ステップＳ１０２）。クラスタの探索に成功したか否かが判断され（ステップＳ１０４）、クラスタの探索が失敗すれば（ステップＳ１０４においてＮＯの場合）、ステップＳ１００以下の処理が繰返される。
【００７５】
一方、クラスタの探索が成功すれば（ステップＳ１０４においてＹＥＳの場合）、探索されたクラスタを包含する領域の座標に基づいて、押下操作の有無を判断する（ステップＳ１０６）。すなわち、検出された領域の座標が基準位置より下側にあれば、押下操作がなされていると判断し、そうでなければ、押下操作がなされていないと判断する。
【００７６】
続いて、探索されたクラスタの左右中心部での幅（縦方向の厚み）を算出し（ステップＳ１０８）、その算出された幅の大きさに基づいて、回転操作の有無または回転操作の度合いを判断する（ステップＳ１１０）。すなわち、前回の処理において算出された幅の大きさと今回の処理において算出された幅との差分に基づいて、前回からの回転量の変位が算出され、あるいは、算出された幅と予め定められた基準の幅との比率に基づいて、回転位置が決定される。
【００７７】
そして、ステップＳ１０６において検知された押下操作の有無、および、ステップＳ１１０において決定された回転操作の有無あるいは回転操作の度合い、を含む操作データが生成される（ステップＳ１１２）。そして、ステップＳ１００以下の処理が繰返される。
【００７８】
図９は、実施の形態１に従うアタッチメント３００Ａの操作部の可動部に付与されるマーカのいくつかの変形例を示す図である。
【００７９】
図９（Ａ）に示すマーカ３３２Ａ’は、円筒部３３０Ａの円周面に沿って、白抜き部分の位置が段階的に変化するようなパターンを示す。マーカ３３２Ａ’については、白抜き部分の位置を逐次検出することで、押下操作および回転操作をそれぞれ独立に検出できる。
【００８０】
図９（Ｂ）に示すマーカ３３２Ａ’’は、円筒部３３０Ａの円周面に沿って、それぞれ異なる長さを有する複数の線が伸びており、円周面の各位置（各角度）での、円筒部３３０Ａの軸方向に延びる線と交差する線の数が異なるようになっている。マーカ３３２Ａ’については、円筒部３３０Ａの円周面の各位置において何本の線が視認できるかに基づいて、押下操作および回転操作をそれぞれ独立に検出できる。
【００８１】
図９（Ｃ）に示すマーカ３３２Ａ’’’は、円筒部３３０Ａの円周面に沿って、白抜き部分と黒部分とが交互に配置されているパターンを示す。マーカ３３２Ａ’については、円筒部３３０Ａの円周面を監視することで、白色と黒色との領域のうちどの程度の高さ（上下方向の幅）が視認できるかに応じて押下操作を検出することができ、白色と黒色とが変化する回数に応じて回転操作を検出することができる。
【００８２】
図１０は、実施の形態１に従うアタッチメント３００Ａに対する押下操作の検出精度を高める構造の一例を示す模式図である。図１０（Ａ）には、遮蔽部材を用いる構成例を示し、図１０（Ｂ）には、反射部材を用いる構成例を示す。
【００８３】
図１０（Ａ）を参照して、カメラ１２２の撮影方向において、可動部である円筒部３３０Ａの手前側であって、円筒部３３０Ａの押下側に、遮蔽部材３４２がさらに配置されている。操作部３２０Ａに対して押下操作がなされると、円筒部３３０Ａの側面に配置されたマーカ３３２Ａが遮蔽部材３４２により遮蔽されることになり、押下操作をより確実に検出できる。
【００８４】
また、図１０（Ｂ）を参照して、カメラ１２２の撮影方向において、可動部である円筒部３３０Ａの後側であって、円筒部３３０Ａの押下側に、反射部材３４４がさらに配置されている。操作部３２０Ａに対して押下操作がなされると、円筒部３３０Ａにより反射部材３４４が遮蔽されることになり、押下操作をより確実に検出できる。
【００８５】
上述したように、実施の形態１においては、円筒部３３０Ａに配置されたマーカをカメラ１２２で検出することにより、操作部３２０Ａに対するユーザ操作（押下操作および回転操作）をそれぞれ独立に検出できる。
【００８６】
＜Ｄ．実施の形態１の変形例１に従うアタッチメント＞
上述した実施の形態１に従うアタッチメント３００Ａにおいては、押下操作および回転操作が可能であったが、さらにスライド操作を可能にしてもよい。
【００８７】
図１１は、実施の形態１の変形例１に従うアタッチメント３００Ｂの外観構成を示す模式図である。図１１を参照して、アタッチメント３００Ｂは、図５に示すアタッチメント３００Ａに対してスライド操作を行なうための機構が付加されたものに相当する。
【００８８】
具体的には、アタッチメント３００Ｂは、コントローラ１００と接続可能な筐体３１０Ｂを有している。鳥を模式化した球状の操作部３２０Ｂの一部が筐体３１０Ｂの開口部と回転可能に係合されている。ユーザは、操作部３２０Ｂを押下する操作（押下操作）、および、操作部３２０Ｂを回転させる操作（回転操作）を行なうことができる。さらに、アタッチメント３００Ｂにおいては、操作部３４０Ｂが筐体３１０Ｂに対してスライド可能に取り付けられている。ユーザは、操作部３４０Ｂを紙面上下方向に移動させるスライド操作を行なうことができる。操作部３４０Ｂは、カメラ１２２の撮影方向と実質的に垂直な方向にスライドするスライド機構に相当する。
【００８９】
図１２は、図１１に示すアタッチメント３００Ｂに対するユーザ操作を検出するための構造を説明するための模式図である。図１２（Ａ）は、図１１に示すアタッチメント３００Ｂの断面構造の一例を示す。図１２（Ａ）を参照して、アタッチメント３００Ｂの一端には開口部が設けてあり、装着時には、アタッチメント３００Ｂの筐体３１０Ｂの一部に形成される支持部３１２Ｂがコントローラ１００を支持する。
【００９０】
操作部３２０Ｂは、筐体３１０Ｂ内の位置に配置され、操作部３２０Ｂに対する操作に応じて位置が変化する可動部としての円筒部３３０Ｂを有している。ユーザが操作部３２０Ｂを操作すると、操作部３２０Ｂと一体的に形成されている円筒部３３０Ｂも連動して移動するため、カメラ１２２から見ると、円筒部３３０Ｂの外周面に外形上の変化が生じる。
【００９１】
操作部３４０Ｂは、筐体３１０Ｂ内の位置に配置され、操作部３４０Ｂに対する操作に応じて位置が変化する可動部３５０Ｂを有している。ユーザが操作部３４０Ｂを操作すると、操作部３４０Ｂと一体的に形成されている可動部３５０Ｂも連動して移動するため、カメラ１２２から見ると、可動部３５０Ｂの位置が変化する。
【００９２】
図１２（Ｂ）に示すように、コントローラ１００のカメラ１２２の撮影により取得されるカメラ画像４００Ｂは、筐体３００Ｂ内に存在する円筒部３３０Ｂに対応する被写体画像４３０Ｂを含む。被写体画像４３０Ｂの外形上の変化を検出した結果に基づいて、押下操作および回転操作が検出される。この押下操作および回転操作の検出方法については、上述した実施の形態１と同様であるので、詳細な説明は繰返さない。
【００９３】
カメラ画像４００Ｂは、また、筐体３００Ｂ内に存在する可動部３５０Ｂに対応する被写体画像４５０Ｂを含む。被写体画像４５０Ｂの位置の変化を検出した結果に基づいて、スライド操作が検出される。すなわち、ユーザが操作部３４０Ｂに対してスライド操作を行なうと、カメラ画像４００Ｂに含まれる被写体画像４５０Ｂの位置も変化するため、この被写体画像４５０Ｂの位置変化に基づいて、操作部３４０Ｂに対するスライド量を検出することができる。すなわち、図１２（Ｂ）に示すように、可動部３５０Ｂは、操作部３４０Ｂに対するスライド操作に応じて位置が変化する。
【００９４】
カメラ画像４００Ｂに含まれる被写体画像４５０Ｂがより明瞭に現れるように、可動部３５０Ｂの表面には、反射材を配置することが好ましい。反射材としては、再帰性反射材がより好ましい。
【００９５】
操作部３４０Ｂに対するスライド操作のそれぞれの端を検出するために、レファレンスマーカを筐体３１０Ｂ内部のしかるべき位置に予め配置しておくことが好ましい。このようなレファレンスマーカを用いることで、カメラ画像４００Ｂには、レファレンスマーカを示すレファレンス画像４６０Ｂが含まれることになり、このレファレンス画像４６０Ｂを基準位置として、スライド量を算出できる。
【００９６】
なお、スライド操作の検出については、被写体画像４５０Ｂの位置の変化に基づくものに限らず、被写体画像４５０Ｂの大きさの変化などを利用してもよい。
【００９７】
上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態１の変形例１においては、アタッチメント３００Ｂの筐体３１０Ｂの内部をカメラ１２２で撮影することにより、操作部３２０Ｂに対するユーザ操作（押下操作および回転操作）ならびに操作部３４０Ｂに対するユーザ操作（スライド操作）をそれぞれ独立に検出できる。
【００９８】
＜Ｅ．実施の形態１の変形例２に従うアタッチメント＞
上述した実施の形態１に従うアタッチメント３００Ａにおいては、押下操作および回転操作が可能であったが、回転操作のみを有する構成を採用してもよい。
【００９９】
図１３は、実施の形態１の変形例２に従うアタッチメント３００Ｃの外観構成を示す模式図である。図１３を参照して、アタッチメント３００Ｃは、釣り用のリールをモチーフとした外観形状を有している。具体的には、アタッチメント３００Ｃは、コントローラ１００と接続可能な筐体３１０Ｃを有している。釣り用のリールのハンドルを模した操作部３２０Ｃが筐体３１０Ｃに対して回転可能に配置されている。ユーザは、操作部３２０Ｃを回転させる操作（回転操作）を行なうことができる。
【０１００】
ユーザが操作部３２０Ｃに対して行なう回転操作については、上述した実施の形態１またはその変形例１と同様の方法で検出することができる。上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態１の変形例２においては、ユーザは、リールを模擬したアタッチメント３００Ｃを操作することで、釣りなどに関するゲームをプレイすることができ、ユーザに対してリアリティを与えることができる。
【０１０１】
＜Ｆ．実施の形態２に従うアタッチメント＞
次に、実施の形態２として、回転操作およびスライド操作が可能なアタッチメント３００Ｄについて説明する。
【０１０２】
図１４は、実施の形態２に従うアタッチメント３００Ｄの外観構成を示す模式図である。図１４を参照して、アタッチメント３００Ｄは、コントローラ１００と接続可能な筐体３１０Ｄを有している。異なる軸径をそれぞれ有する２つの円筒を重ねたような構造を有する操作部３２０Ｄが筐体３１０Ｄに対してスライド可能に配置されている。また、操作部３２０Ｄについては、その軸を中心に回転させることも可能である。このような構成を採用することで、ユーザは、操作部３２０Ｄを回転させる操作（回転操作）、および、操作部３２０Ｄをスライドさせる操作（スライド操作）を行なうことができる。操作部３２０Ｄは、カメラ１２２の撮影方向と実質的に平行な方向にスライドするスライド機構に相当する。このように、アタッチメント３００Ｄは、回転機構、および、スライド機構を含む。なお、回転機構またはスライド機構のいずれか一方のみが設けられた構成を採用してもよい。
【０１０３】
図１５は、図１４に示すアタッチメント３００Ｄに対するユーザ操作を検出するための構造を説明するための模式図である。図１５（Ａ）は、図１４に示すアタッチメント３００Ｄの断面構造の一例を示す。図１５（Ａ）を参照して、アタッチメント３００Ｄの一端には開口部が設けてあり、装着時には、アタッチメント３００Ｄの筐体３１０Ｄの一部に形成される支持部３１２Ｄがコントローラ１００を支持する。
【０１０４】
操作部３２０Ｄは、筐体３１０Ｄ内の位置に配置され、操作部３２０Ｄに対する操作に応じて位置が変化する可動部としての円筒部３３０Ｄを有している。ユーザが操作部３２０Ｄを操作すると、操作部３２０Ｄと一体的に形成されている円筒部３３０Ｄも連動して移動するため、カメラ１２２から見ると、円筒部３３０Ｄの外周面に外形上の変化が生じる。
【０１０５】
図１５（Ａ）に示すように、ユーザが操作部３２０Ｄをスライドさせる操作（スライド作）に対して抗力を発生するためのバネ３２６などの付勢機構を採用してもよい。バネ３２６を採用することで、ユーザがスライド操作しているときだけ操作部３２０Ｄが紙面左側に移動するといったスライド機構の動きを実現できる。このように、操作部３２０Ｄに対する操作に抗する付勢機構をアタッチメント３００Ｆに付加することによって、直感的で物理的なフィードバックをユーザに与えることのできる、コントローラを実現できる。
【０１０６】
図１５に示す構成例においては、円筒部３３０Ｄの外周面には、操作部３２０Ｄに対するユーザ操作に応じて外形上の変化を生じるための領域（マーカ）３３２Ａが形成されている。図１５に示すマーカ３３２Ｄとしては、幅が周方向のいずれの位置においても一定である部分と、幅が周方向の位置に沿って変化するテーパ形状の部分とを組み合わせたものが採用されている。マーカ３３２Ｄは、円筒部３３０Ｄの他の領域とは異なる反射率を有する材料で構成される。典型的には、マーカ３３２Ｄは、反射材を用いてそのパターンが形成される。反射材としては、再帰性反射材がより好ましい。マーカ３３２Ｄについては、実施の形態１に従うアタッチメント３００Ａのマーカ３３２Ａと同様に構成すればよく、同様の説明はここでは繰返さない。
【０１０７】
図１５（Ｂ）に示すように、コントローラ１００のカメラ１２２の撮影により取得されるカメラ画像４００Ｄは、筐体３００Ｄ内に存在する円筒部３３０Ｄに対応する被写体画像４３０Ｄを含む。被写体画像４３０Ｄの外形上の変化を検出した結果に基づいて、ユーザ操作が検出される。
【０１０８】
図１６は、図１５に示すアタッチメント３００Ｄに対するユーザ操作の検出方法を説明するための模式図である。図１６（Ａ）には、操作部３２０Ｄに対して何らのユーザ操作も行なわれていない初期状態で撮影されたカメラ画像４００Ｄの一例を示す。このカメラ画像４００Ｄに対して、マーカ３３２Ｄに相当するパターンを探索する処理が実行される。このパターンの探索処理においては、上述したようなクラスタを探索する処理が用いられる。
【０１０９】
図１６（Ａ）には、マーカ３３２Ｄに相当するパターンを包含する矩形領域の横幅Ｗおよび縦幅Ｈが検出された例を示す。その上で、例えば、マーカ３３２Ｄのテーパ形状に相当するパターンの、カメラ画像４００Ｄの左右中心部での幅（縦方向の厚み）を検出する処理が実行される。図１６（Ａ）には、マーカ３３２Ｄに相当するパターンの幅Ｄ２が検出された例を示す。
【０１１０】
図１６（Ｂ）には、操作部３２０Ｄに対して回転操作がなされた状態で撮影されたカメラ画像４００Ｄ’の一例を示す。図１６（Ａ）に示すカメラ画像４００Ｄに対するのと同様の処理が、カメラ画像４００Ｄ’に対しても実行されて、マーカ３３２Ｄに相当するパターンを包含する矩形領域の横幅Ｗおよび縦幅Ｈが検出されるとともに、マーカ３３２Ｄに相当するパターンの幅Ｄ２’が検出されたとする。このような、幅Ｄ２から幅Ｄ２’への変化に基づいて、操作部３２０Ｄに対する回転操作を検出することができる。
【０１１１】
なお、回転操作の検出については、マーカ３３２Ｄに相当するパターンを包含する矩形領域の大きさに基づくものに限らず、マーカ３３２Ｄに相当するパターンの輝度（例えば、パターンを構成する画素についての輝度値の総和または平均値）、マーカ３３２Ｄに相当するパターンの位置、などを利用してもよい。
【０１１２】
図１６（Ｃ）には、操作部３２０Ｄに対してスライド操作がなされた状態で撮影されたカメラ画像４００Ｄ’’の一例を示す。図１６（Ａ）に示すカメラ画像４００Ｄに対するのと同様の処理が、カメラ画像４００Ｄ’’に対しても実行されて、マーカ３３２Ｄに相当するパターンを包含する矩形領域の横幅Ｗ’および縦幅Ｈ’が検出されるとともに、マーカ３３２Ｄに相当するパターンの幅Ｄ２’’が検出されたとする。このような検出された矩形領域の面積の変化（横幅Ｗ×縦幅Ｈから横幅Ｗ’×縦幅Ｈ’への変化）に基づいて、操作部３２０Ｄに対するスライド操作を検出することができる。すなわち、操作部３２０Ｄに対してスライド操作が行なわれることで、コントローラ１００のカメラ１２２と円筒部３３０Ｄとの距離が変化するため、撮影されるカメラ画像内のパターンの大きさを用いて距離変化を検出することができる。
【０１１３】
なお、スライド操作の検出については、マーカ３３２Ｄに相当するパターンの大きさに基づくものに限らず、マーカ３３２Ｄに相当するパターンの位置の変化などを利用してもよい。
【０１１４】
一方、幅Ｄ２から幅Ｄ２’’への変化については、矩形領域の面積の変化が考慮されて、操作部３２０Ｄに対する回転操作がなされたか否かが判断される。すなわち、検出された矩形領域の面積の変化に応じて、幅Ｄ２から幅Ｄ２’’への変化が補正される。
【０１１５】
なお、操作部３２０Ｄに対するスライド操作については、検出された矩形領域の面積の変化ではなく、横幅方向の変化（横幅Ｗから横幅Ｗ’への変化）、縦幅方向の変化（縦幅Ｈから縦幅Ｈ’への変化）、カメラ全体の明るさ（例えば、全画素についての輝度値の総和または平均値）などを利用してもよい。
【０１１６】
図１６（Ａ）および図１６（Ｂ）に示すように、可動部としての円筒部３３０Ｄは、操作部３２０Ｄに対する回転操作に応じてカメラ１２２から見た形状および模様の少なくとも一方が変化する。また、図１６（Ａ）および図１６（Ｃ）に示すように、可動部としての円筒部３３０Ｄは、操作部３２０Ｄに対するスライド操作に応じて位置が変化する。
【０１１７】
図１６においては、テーパ形状のパターンと一定幅のパターンとを組み合わせたマーカ３３２Ｄを用いることで、回転操作およびスライド操作をそれぞれ独立に検出できる構成について例示したが、これに限られない。例えば、テーパ形状のパターンのみを有するマーカ３３２Ｄを用いるとともに、当該テーパ形状のパターンの横幅の変化に基づいて、スライド操作を検出するようにしてもよい。あるいは、回転操作を検出するためのテーパ形状のパターンに加えて、スライド操作を検出するための大きさの基準となるマーカ（例えば、円状のパターンを有するマーカ）を別途配置して、その別途配置されたマーカに基づいてスライド操作の度合いを検出するようにしてもよい。
【０１１８】
図１７は、実施の形態２に従うアタッチメント３００Ｄに対するユーザ操作を検出する処理手順を示すフローチャートである。図１７に示す各ステップは、コントローラ１００の制御部１１０のＣＰＵ１１２が制御プログラム１１８（いずれも図２参照）を実行すること、または、本体装置２００の制御部２１０のＣＰＵ２１２がアプリケーション２３３（いずれも図２参照）を実行することで実現される。
【０１１９】
図１７を参照して、コントローラ１００のカメラ１２２がアタッチメント３００Ｄの内部を撮影することでカメラ画像４００Ｄを取得する（ステップＳ２００）。取得されたカメラ画像４００Ｄに対してクラスタを探索する処理が実行される（ステップＳ２０２）。クラスタの探索に成功したか否かが判断され（ステップＳ２０４）、クラスタの探索が失敗すれば（ステップＳ２０４においてＮＯの場合）、ステップＳ２００以下の処理が繰返される。
【０１２０】
一方、クラスタの探索が成功すれば（ステップＳ２０４においてＹＥＳの場合）、探索されたクラスタを包含する矩形領域の横幅および縦幅に基づいて、スライド操作の有無およびスライド操作の度合いを判断する（ステップＳ２０６）。すなわち、検出された矩形領域の横幅および縦幅から算出される面積の大きさと基準の面積の大きさとの比率が１より大きければ、スライド操作がなされていると判断し、併せて、その比率に基づいてスライド操作の大きさが算出される。
【０１２１】
続いて、探索されたクラスタの下側部分（テーパ形状に相当するパターン）の左右中心部での幅（縦方向の厚み）を算出し（ステップＳ２０８）、その算出された幅の大きさおよびステップＳ２０６において算出した面積に基づいて、回転操作の有無または回転操作の度合いを判断する（ステップＳ２１０）。すなわち、ステップＳ２０６において算出した面積に基づいて算出された幅の大きさを補正した上で、前回の処理において算出された幅の大きさと補正後の幅との差分に基づいて、前回からの回転量の変位が算出され、あるいは、補正後の幅と予め定められた基準の幅との比率に基づいて、回転位置が決定される。
【０１２２】
そして、ステップＳ２０６において検知されたスライド操作の有無あるいはスライド操作の度合い、および、ステップＳ２１０において決定された回転操作の有無あるいは回転操作の度合い、を含む操作データが生成される（ステップＳ２１２）。そして、ステップＳ２００以下の処理が繰返される。
【０１２３】
上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態２においては、アタッチメント３００Ｄの筐体３１０Ｄの内部をカメラ１２２で撮影することにより、操作部３２０Ｄに対するユーザ操作（回転操作およびスライド操作）をそれぞれ独立に検出できる。
【０１２４】
＜Ｇ．実施の形態２の変形例１に従うアタッチメント＞
上述した実施の形態２に従うアタッチメント３００Ｄにおいては、回転操作およびスライド操作が可能であったが、スライド操作に代えて、スライド操作に関連した引張操作を可能にしてもよい。引張操作は、ピンボールのプッシャのような動作を含み、ユーザが操作部を引き出した後、操作部から手を離すと元の位置に戻るような機構が想定される。
【０１２５】
図１８は、実施の形態２の変形例１に従うアタッチメント３００Ｅの外観構成を示す模式図である。図１８を参照して、アタッチメント３００Ｅは、コントローラ１００と接続可能な筐体３１０Ｅを有している。筐体３１０Ｅのコントローラ１００と接続される側とは反対側の端には、円筒状の操作部３２０Ｅが配置されている。操作部３２０Ｅは、筐体３１０Ｅから引き出すことが可能になっている。また、操作部３２０Ｅについては、その軸を中心に回転させることも可能である。このような構成を採用することで、ユーザは、操作部３２０Ｅを回転させる操作（回転操作）、および、操作部３２０Ｅを引き出す操作（引張操作）を行なうことができる。すなわち、アタッチメント３００Ｅは、回転機構、および、引張機構を含む。なお、回転機構または引張機構のいずれか一方のみが設けられた構成を採用してもよい。
【０１２６】
図１９は、図１８に示すアタッチメント３００Ｅに対するユーザ操作を検出するための構造を説明するための模式図である。図１９（Ａ）は、図１８に示すアタッチメント３００Ｅの断面構造の一例を示す。図１９（Ａ）を参照して、アタッチメント３００Ｅの一端には開口部が設けてあり、装着時には、アタッチメント３００Ｅの筐体３１０Ｅの一部に形成される支持部３１２Ｅがコントローラ１００を支持する。
【０１２７】
操作部３２０Ｅは、筐体３１０Ｅ内の位置に配置され、操作部３２０Ｅに対する操作に応じて位置が変化する可動部としての円筒部３３０Ｅを有している。操作部３２０Ｅは、円筒部３３０Ｅにつながるプランジャー３２９、および、プランジャー３２９の外周側に配置されたコイル３２８を含む。コイル３２８は、円筒部３３０Ｅと筐体３１０Ｅとの間に抗力を発生させる付勢機構であり、ユーザが操作部３２０Ｅを引き出したときに、元の位置に戻ろうとする抗力を発生させる。
【０１２８】
コントローラ１００のカメラ１２２側に面した円筒部３３０Ｅの端円面には、操作部３２０Ｅに対するユーザ操作に応じて外形上の変化を生じるための領域（マーカ）３３２Ｅが形成されている。また、円筒部３３０Ｅの端円面の回転中心には、基準マーカ３３４Ｅが形成されている。基準マーカ３３４Ｅとマーカ３３２Ｅとの位置関係により回転操作が検出される。
【０１２９】
マーカ３３２Ｅとしては、円筒部３３０Ｅの端円面上の中心からずれた位置に所定領域をもつものが採用される。マーカ３３２Ｅの形状は任意でよいが、検出精度の観点から、正方形または真円が好ましい。マーカ３３２Ｅは、円筒部３３０Ｅの円端面の他の領域とは異なる反射率を有する材料で構成される。典型的には、マーカ３３２Ｅは、反射材を用いてそのパターンが形成される。反射材としては、再帰性反射材がより好ましい。マーカ３３２Ｅについては、実施の形態１に従うアタッチメント３００Ａのマーカ３３２Ａと同様に構成すればよく、同様の説明はここでは繰返さない。
【０１３０】
図１９（Ｂ）に示すように、コントローラ１００のカメラ１２２の撮影により取得されるカメラ画像４００Ｅは、筐体３００Ｅ内に存在する円筒部３３０Ｅに対応する被写体画像４３０Ｅを含む。被写体画像４３０Ｅの外形上の変化を検出した結果に基づいて、ユーザ操作が検出される。
【０１３１】
より具体的には、カメラ画像４００Ｅにおいて、基準マーカ３３４Ｅに対応する領域を基準としてマーカ３３２Ｅに対応する領域がいずれの位置（角度）にあるのかに基づいて、操作部３２０Ｅに対してなされた回転操作が検出される。また、カメラ画像４００Ｅにおいて、マーカ３３２Ｅに対応する領域の大きさに基づいて、操作部３２０Ｅに対してなされた引張操作が検出される。このように、可動部としての円筒部３３０Ｅは、操作部３２０Ｅに対する回転操作に応じてカメラ１２２から見た形状および模様の少なくとも一方が変化する。また、可動部としての円筒部３３０Ｅは、操作部３２０Ｅに対する引張操作に応じて位置が変化する。これらのユーザ操作の検出方法は、上述した実施の形態２における回転操作およびスライド操作の検出方法と同様であるので、詳細な説明は繰返さない。
【０１３２】
上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態２の変形例１においては、アタッチメント３００Ｅの筐体３１０Ｅの内部をカメラ１２２で撮影することにより、操作部３２０Ｅに対するユーザ操作（回転操作および引張操作）をそれぞれ独立に検出できる。
【０１３３】
＜Ｈ．実施の形態２の変形例２に従うアタッチメント＞
上述した実施の形態２の変形例１に従うアタッチメント３００Ｅにおいては、操作部に対する引張操作に抗する付勢機構として、プランジャーの周囲に配置されたコイルを用いる構成について例示したが、他の付勢機構を採用してもよい。以下、実施の形態２の変形例２に従うアタッチメント３００Ｆにおいては、バックテンションを付与する巻取機構を付勢機構として採用した例を示す。
【０１３４】
図２０は、実施の形態２の変形例２に従うアタッチメント３００Ｆの外観構成を示す模式図である。図２０（Ａ）を参照して、アタッチメント３００Ｆは、コントローラ１００と接続可能な筐体３１０Ｆを有している。筐体３１０Ｆのコントローラ１００と接続される側とは反対側の端には、円筒状の操作部３２０Ｆが配置されている。図２０（Ｂ）に示すように、操作部３２０Ｆは、筐体３１０Ｆから引き出すことが可能になっている。このような構成を採用することで、ユーザは、操作部３２０Ｆを引き出す操作（引張操作）を行なうことができる。すなわち、アタッチメント３００Ｆは、引張機構を含む。
【０１３５】
図２１は、図２０に示すアタッチメント３００Ｆに対するユーザ操作を検出するための構造を説明するための模式図である。図２１には、図２０に示すアタッチメント３００Ｆの要部の斜視図を示す。
【０１３６】
図２１を参照して、アタッチメント３００Ｆは、操作部３２０Ｆにつながるワイヤ３２１Ｆを収納するリール３２３Ｆと、リール３２３Ｆと係合してリール３２３Ｆの回転に従動する歯車３２５Ｆとを含む。リール３２３Ｆの回転軸周辺には、ぜんまいバネなどが配置されており、ワイヤ３２１Ｆを巻き取る方向にバックテンションを発生させる。このとき、リール３２３Ｆから引き出されるワイヤ３２１Ｆが長くなるほど、大きなバックテンションが発生するようになっている。
【０１３７】
コントローラ１００のカメラ１２２側に面した歯車３２５Ｆの側面には、操作部３２０Ｆに対するユーザ操作に応じて外形上の変化を生じるための領域（マーカ）３３２Ｆが形成されている。マーカ３３２Ｆは、リール３２３Ｆおよび歯車３２５Ｆの回転を検出するためのものである。図２１に示す例においては、軸方向に沿って３つの領域に区切られており、２つの領域は、それぞれ白色および黒色のレファレンスマーカとして用いられる。残りの領域は、回転量（回転位相）を検出するためのマーカとして用いられる。すなわち、白色のレファレンスマーカおよび黒色のレファレンスマーカをそれぞれ輝度値の上限値および下限値として設定し、その設定された輝度範囲において、検出されたマーカの輝度値がいずれのレベルに位置しているのかに基づいて、回転量（回転位相）を検出できる。なお、回転量（回転位相）の検出方法については、上述した他の方法を採用してもよい。このように、可動部としてのリール３２３Ｆは、操作部３２０Ｆに対する回転操作に応じてカメラ１２２から見た形状および模様の少なくとも一方が変化する。回転量（回転位相）の検出方法については、種々説明したので、ここでは同様の説明は繰返さない。
【０１３８】
上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態２の変形例２においては、アタッチメント３００Ｆの筐体３１０Ｆの内部をカメラ１２２で撮影することにより、操作部３２０Ｆに対するユーザ操作（回転操作および引張操作）をそれぞれ独立に検出できる。
【０１３９】
＜Ｉ．実施の形態３に従うアタッチメント＞
次に、実施の形態３として、複数種類の押下操作が可能なアタッチメント３００Ｇについて説明する。
【０１４０】
図２２は、実施の形態３に従うアタッチメント３００Ｇの外観構成を示す模式図である。図２２を参照して、アタッチメント３００Ｇは、大型のゲームコントローラを模したものであり、ゲームコントローラの方向操作ボタンに相当する第１操作部３２０Ｇ１と、ゲームコントローラのＡボタンおよびＢボタンにそれぞれ相当する第２操作部３２０Ｇ２および第３操作部３２０Ｇ３とを含む。図２２に示すように、アタッチメント３００Ｇは比較的大型であるため、複数のユーザが操作して楽しむことができる。
【０１４１】
アタッチメント３００Ｇの筐体３１０Ｇには、コントローラ１００と接続可能な開口部および開口部周辺に形成された支持部３１２Ｇが設けられている。コントローラ１００の装着時には、コントローラ１００は支持部３１２Ｇによって支持される。
【０１４２】
図２２に示すような構成を採用することで、ユーザは、第１操作部３２０Ｇ１、第２操作部３２０Ｇ２、および第３操作部３２０Ｇ３をそれぞれ押下することができる。
【０１４３】
図２３は、図２２に示すアタッチメント３００Ｇに対するユーザ操作を検出するための構造を説明するための模式図である。図２３を参照して、第１操作部３２０Ｇ１、第２操作部３２０Ｇ２、および第３操作部３２０Ｇ３の可動部として機能するように配置されており、この可動部の表面には、コントローラ１００のカメラ１２２の撮影視野に含まれるように、第１マーカ３３２Ｇ１、第２マーカ３３２Ｇ２および第３マーカ３３２Ｇ３が配置されている。これらのマーカは、筐体３１０Ｆ内部の他の領域とは異なる反射率を有する材料で構成される。典型的には、第１マーカ３３２Ｇ１、第２マーカ３３２Ｇ２および第３マーカ３３２Ｇ３は、反射材を用いてそのパターンが形成される。反射材としては、再帰性反射材がより好ましい。これらのマーカの構成などについては、実施の形態１において説明したので、同様の説明はここでは繰返さない。
【０１４４】
コントローラ１００のカメラ１２２が筐体３１０Ｇの内部を撮影することで生成されるカメラ画像に対して各マーカの位置などを探索する処理を行なって、アタッチメント３００Ｇの操作部に対するユーザ操作を検出する（操作検出処理）。
【０１４５】
具体的には、第１マーカ３３２Ｇ１は、多面立方体である第１操作部３２０Ｇ１の側面のうち、少なくとも２つの側面にパターンが形成されるように配置される。第１操作部３２０Ｇ１は、少なくとも４方向のうち任意の方向に押下されることができるため、いずれかの方向に押下されたのかを検出する必要がある。そこで、第１操作部３２０Ｇ１が有する複数の側面のそれぞれに配置された第１マーカ３３２Ｇ１の位置、位置間隔、向き、向きの差などに基づいて、いずれかの方向が押下されたのかを判断する。第１マーカ３３２Ｇ１のパターンが形成される側面の数は多い方が好ましい。このように、方向操作ボタンとして機能する第１操作部３２０Ｇ１については、複数の側面にそれぞれ配置されたマーカに対応する領域の挙動に基づいて、いずれの方向が押下されたのかを検出する。
【０１４６】
第２マーカ３３２Ｇ２および第３マーカ３３２Ｇ３に対する押下操作については、上述の実施の形態１において説明したのと同様の方法で検出することができる。
【０１４７】
図２３を参照して説明したように、第１操作部３２０Ｇ１、第２操作部３２０Ｇ２、および第３操作部３２０Ｇ３の可動部は、これらの操作部に対する押下操作に応じて、位置が変化する。
【０１４８】
図２４は、実施の形態３に従うアタッチメント３００Ｇに対するユーザ操作を検出する処理手順を示すフローチャートである。図２４に示す各ステップは、コントローラ１００の制御部１１０のＣＰＵ１１２が制御プログラム１１８（いずれも図２参照）を実行すること、または、本体装置２００の制御部２１０のＣＰＵ２１２がアプリケーション２３３（いずれも図２参照）を実行することで実現される。
【０１４９】
図２４を参照して、コントローラ１００のカメラ１２２がアタッチメント３００Ｇの内部を撮影することでカメラ画像４００Ｇを取得する（ステップＳ３００）。取得されたカメラ画像４００Ｇに対してクラスタを探索する処理が実行される（ステップＳ３０２）。クラスタの探索に成功したか否かが判断され（ステップＳ３０４）、クラスタの探索が失敗すれば（ステップＳ３０４においてＮＯの場合）、ステップＳ３００以下の処理が繰返される。
【０１５０】
一方、クラスタの探索が成功すれば（ステップＳ３０４においてＹＥＳの場合）、カメラ画像４００Ｇ内の第１マーカ３３２Ｇ１に相当する領域の位置、位置間隔、向き、向きの差などに基づいて、第１操作部３２０Ｇ１のいずれの方向が押下されたのかを判断する（ステップＳ３０６）。
【０１５１】
続いて、カメラ画像４００Ｇ内の第２マーカ３３２Ｇ２に相当する領域の位置などに基づいて、第２操作部３２０Ｇ２に対する押下操作の有無を判断する（ステップＳ３０８）。検出された領域の座標が基準位置より下側にあれば、押下操作がなされていると判断し、そうでなければ、押下操作がなされていないと判断する。
【０１５２】
同様に、カメラ画像４００Ｇ内の第３マーカ３３２Ｇ３に相当する領域の位置などに基づいて、第３操作部３２０Ｇ３に対する押下操作の有無を判断する（ステップＳ３１０）。検出された領域の座標が基準位置より下側にあれば、押下操作がなされていると判断し、そうでなければ、押下操作がなされていないと判断する。
【０１５３】
そして、ステップＳ３０６〜Ｓ３１０において判断された結果に基づいて操作データが生成される（ステップＳ３１２）。そして、ステップＳ３００以下の処理が繰返される。
【０１５４】
上述した内容以外については、実施の形態１と同様であるので、詳細な説明は繰返さない。実施の形態３においては、アタッチメント３００Ｇの筐体３１０Ｇの内部をカメラ１２２で撮影することにより、第１操作部３２０Ｇ１、第２操作部３２０Ｇ２および第３操作部３２０Ｇ３に対するユーザ操作（押下操作）をそれぞれ独立に検出できる。
【０１５５】
＜Ｊ．実施の形態４に従うアタッチメント＞
次に、実施の形態４として、スライド操作が可能なアタッチメント３００Ｈについて説明する。
【０１５６】
図２５は、実施の形態４に従うアタッチメント３００Ｈの外観構成を示す模式図である。図２５を参照して、アタッチメント３００Ｈは、望遠鏡を模したものであり、筒状の筐体３１０Ｈに対して操作部である外筒部３２０Ｈがスライド可能に構成されている。筐体３１０Ｈの下側から鉛直方向にコントローラ１００が装着可能になっており、このコントローラ１００は支持部３１２Ｈによって支持される。筐体３１０Ｈおよび外筒部３２０Ｈはいずれも中空になっており、ユーザが筐体３１０Ｈの一端から覗くと、他端側を見通すことができる。すなわち、ユーザは、アタッチメント３００Ｈを望遠鏡のように把持するとともに、外筒部３２０Ｈに対してスライド操作することで、望遠鏡を覗きながらズームするような使い方が可能である。
【０１５７】
図２６は、図２５に示すアタッチメント３００Ｈに対するユーザ操作を検出するための構造を説明するための模式図である。図２６を参照して、アタッチメント３００Ｈに装着された状態において、コントローラ１００のカメラ１２２の撮影視野には、外筒部３２０Ｈの内面側に配置されたマーカ３３２Ｈと、ユーザが覗く筐体３１０Ｈの開口部が含まれる。
【０１５８】
マーカ３３２Ｈは、反射材を用いてそのパターンが形成される。反射材としては、再帰性反射材がより好ましい。マーカ３３２Ｈについては、実施の形態１に従うアタッチメント３００Ａのマーカ３３２Ａと同様に構成すればよく、同様の説明はここでは繰返さない。
【０１５９】
コントローラ１００のカメラ１２２の撮影視野に含まれるマーカ３３２Ｈの位置を監視することで、外筒部３２０Ｈに対するスライド操作の有無およびその量を検出することができる。すなわち、ユーザが外筒部３２０Ｈを動かすことで、マーカ３３２Ｈの位置も連動して変化するので、カメラ１２２の撮影による取得されたカメラ画像からマーカ３３２Ｈの位置を検出することで、外筒部３２０Ｈに対するスライド操作を検出できる。このように、筐体３１０Ｈの表面に沿った外筒部３２０Ｈに対するスライド操作に応じて可動部の位置が変化する。
【０１６０】
また、コントローラ１００のカメラ１２２の撮影視野に含まれる筐体３１０Ｈの開口部からの光量の大きさなどに基づいて、ユーザが筐体３１０Ｈを覗いているか否かを判断できる。つまり、ユーザが筐体３１０Ｈを覗いていない場合、開口部が塞がっていないので、発光部１２４からのＩＲ光に対する反射が少なく、カメラ１２２で受光される光量は減る一方で、ユーザが筐体３１０Ｈを覗いている場合、発光部１２４からのＩＲ光はユーザの顔の表面で多く反射されるようになり、カメラ１２２で受光される光量は増える。このような光量の増加減度合いに基づいて、ユーザが筐体３１０Ｈに近付いているか否かを判断できる。
【０１６１】
このように、実施の形態４に従うアタッチメント３００Ｈにおいては、外筒部３２０Ｈに対するスライド操作、および、ユーザの筐体３１０Ｈへの接近の両方を検出することができる。この２種類の検出される情報に基づいて、以下のようなアプリケーションを提供することができる。
【０１６２】
図２７は、図２６に示すアタッチメント３００Ｈを用いたアプリケーションの一例を説明するための模式図である。図２７に示すアプリケーションは、ユーザがアタッチメント３００Ｈを操作することで、表示装置２０４（図１参照）に表示される内容が変化する。
【０１６３】
図２７を参照して、まず、ユーザがアタッチメント３００Ｈを覗いていない状態（図中左側）においては、表示装置２０４には、対象のゲームオブジェクト（図２７に示す例では、マンションの画像）が引いた状態で表示される（アプリケーション画像５００）。すなわち、ユーザがアタッチメント３００Ｈから目を離した状態においては、表示装置２０４にはアプリケーション画像５００が表示される。
【０１６４】
なお、コントローラ１００のジャイロセンサ１３２（図２参照）にて検出される姿勢情報に基づいて、アタッチメント３００Ｈが向いている方向を特定して、対応する位置にポインティングオブジェクト５１０を表示してもよい。
【０１６５】
次に、ユーザがアタッチメント３００Ｈを覗く操作を行なうと、表示装置２０４に表示されるアプリケーション画像の内容がよりズームされたものとなる。すなわち、アタッチメント３００Ｈが示す望遠鏡で対象物を覗いた場合が表示装置２０４上に再現される。
【０１６６】
このとき、ユーザの外筒部３２０Ｈに対するスライド操作に対する操作の度合いに応じて、疑似的に提供される「ズーム」の度合いも変化する。外筒部３２０Ｈのスライド量が相対的に小さい状態（図中中央）においては、対象のゲームオブジェクトに対するズームの度合いが相対的に小さく、一方、外筒部３２０Ｈのスライド量が相対的に大きい状態（図中右側）においては、対象のゲームオブジェクトに対するズームの度合いが相対的に大きくなっている。
【０１６７】
このようなゲームオブジェクトに対するズーム処理は、ユーザがアタッチメント３００Ｈを覗いている状態において継続され、覗いている状態が解除されると、元のアプリケーション画像の表示に戻る。
【０１６８】
図２８は、図２７に示すアプリケーションに係る処理手順を示すフローチャートである。図２８に示す各ステップは、コントローラ１００の制御部１１０のＣＰＵ１１２が制御プログラム１１８（いずれも図２参照）を実行すること、または、本体装置２００の制御部２１０のＣＰＵ２１２がアプリケーション２３３（いずれも図２参照）を実行することで実現される。図２８を参照して、コントローラ１００のカメラ１２２がアタッチメント３００Ｈの内部を撮影することでカメラ画像４００Ｈを取得する（ステップＳ４００）。取得されたカメラ画像４００Ｈに対してクラスタを探索する処理が実行される（ステップＳ４０２）。クラスタの探索に成功したか否かが判断され（ステップＳ４０４）、クラスタの探索が失敗すれば（ステップＳ４０４においてＮＯの場合）、ステップＳ４００以下の処理が繰返される。
【０１６９】
一方、クラスタの探索が成功すれば（ステップＳ４０４においてＹＥＳの場合）、探索されたクラスタを包含する領域の座標に基づいて、スライド操作の度合いを判断する（ステップＳ４０６）。続いて、カメラ画像４００Ｈに含まれる各画素の輝度値の大きさに基づいて、ユーザがアタッチメント３００Ｈを覗いている状態であるか否かを判断する（ステップＳ４０８）。すなわち、カメラ画像４００Ｈに含まれる画素の輝度値の全体または局所的な平均値が相対的に小さければ、ユーザがアタッチメント３００Ｈを覗いている状態ではなく、逆に、カメラ画像４００Ｈに含まれる画素の輝度値の全体または局所的な平均値が相対的に大きければ、ユーザがアタッチメント３００Ｈを覗いている状態であると判断する。
【０１７０】
そして、ステップＳ４０６において検知されたスライド操作の度合い、および、ステップＳ４０８において決定されたユーザがアタッチメント３００Ｈを覗いている状態であるか否か、を含む操作データが生成される（ステップＳ４１０）。
【０１７１】
生成された操作データの内容に基づいてアプリケーション画像を生成し、表示装置２０４（図１参照）へ出力する（ステップＳ４１２）。そして、ステップＳ４００以下の処理が繰返される。
【０１７２】
図２７に示すように、実施の形態４に従うアタッチメント３００Ｈを用いることで、ユーザに対して、ズームするという機能を直感的に実現できる。
【０１７３】
＜Ｋ．実施の形態５に従うアタッチメント＞
次に、実施の形態５として、ユーザの操作を直接的に検出できるアタッチメント３００Ｊについて説明する。
【０１７４】
図２９は、実施の形態５に従うアタッチメント３００Ｊの外観構成を示す模式図である。図２９を参照して、アタッチメント３００Ｊは、いわゆる「もぐらたたき」を提供可能な構成に向けられており、筐体３１０Ｊの上面には複数の孔３１４Ｊが設けられている。ユーザは、この孔３１４Ｊを操作部に相当するスティック３２０Ｊで塞ぐというユーザ操作を行なう。このスティック３２０Ｊの先端は、孔３１４Ｊの大きさに適合するように広げられており、少なくとも一方面には、マーカ３３２Ｊが配置されている。マーカ３３２Ｊは、反射材を用いてそのパターンが形成される。反射材としては、再帰性反射材がより好ましい。また、筐体３１０Ｊの下面側にコントローラ１００が装着される。
【０１７５】
図３０は、図２９に示すアタッチメント３００Ｊに対するユーザ操作を検出するための処理を説明するための模式図である。図３０（Ａ）には、ユーザが孔３１４Ｊを塞ぐユーザ操作を行なっていない状態において撮影されたカメラ画像４００Ｊの一例を示し、図３０（Ｂ）には、ユーザが左上の孔３１４Ｊをスティック３２０Ｊで塞ぐユーザ操作を行なっている状態において撮影されたカメラ画像４００Ｊの一例を示す。
【０１７６】
図３０（Ａ）に示すように、ユーザが孔３１４Ｊを塞ぐ操作を行なっていなければ、複数の孔３１４Ｊに対応する部分が相対的に輝度の低い状態になっている。つまり、孔３１４Ｊが塞がっていない場合には、発光部１２４からのＩＲ光に対する反射が少ない。一方、図３０（Ｂ）に示すように、ユーザがいずれかの孔３１４Ｊを塞ぐ操作を行なうと、その塞がれた孔３１４Ｊに対応する部分は全体としては相対的に輝度の高い状態になるとともに、マーカ３３２Ｊに相当する小領域については特に輝度の高い状態になる。このようなマーカ３３２Ｊに相当する小領域が検出されることをもって、対応する位置にある孔３１４Ｊを塞ぐ操作を行なったと検出できる。
【０１７７】
実施の形態５に従うアタッチメント３００Ｊを用いることで、簡易な構成を維持しつつ、「もぐらたたき」またはそれに類似したゲームをユーザに提供できる。
【０１７８】
＜Ｌ．利点＞
本実施の形態によれば、簡素な構成を維持しつつ、ゲームコントローラ等と共に用いることで、多様なゲーム操作を実現することのできる、アタッチメントを提供できる。典型的には、本実施の形態に従うアタッチメントは、押下操作、回転操作、スライド操作、引張操作などのうち１または複数を、単一のカメラ１２２を用いてそれぞれ独立に検出することができる。
【０１７９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１８０】
１  ゲームシステム、１００  ゲームコントローラ（コントローラ）、１０２，３２０，３２０Ａ，３２０Ｂ，３２０Ｃ，３２０Ｄ，３２０Ｅ，３２０Ｆ，３４０Ｂ  操作部、１０４  インジケータ、１０６  音声出力部、１０８，２２０  無線通信部、１１０，２１０  制御部、１１２，２１２  ＣＰＵ、１１４，２１４  メインメモリ、１１６，２３２  フラッシュメモリ、１１８  制御プログラム、１２０  撮像部、１２２  カメラ、１２４  発光部、１３０  加速度センサ、１３２  ジャイロセンサ、２００  本体装置、２０４  表示装置、２０８  光学記録媒体、２１６  ＧＰＵ、２１８  ＶＲＡＭ、２３０  ネットワーク通信モジュール、２３３  アプリケーション、２３４  外部メインメモリ、２３６  映像音声出力ドライバ、２３８  ディスクドライブ、３００，３００Ａ，３００Ｂ，３００Ｃ，３００Ｄ，３００Ｅ，３００Ｆ，３００Ｇ，３００Ｈ，３００Ｊ  アタッチメント、３１０，３１０Ａ，３１０Ｂ，３１０Ｃ，３１０Ｄ，３１０Ｅ，３１０Ｆ，３１０Ｇ，３１０Ｈ，３１０Ｊ  筐体、３１２Ａ，３１２Ｂ，３１２Ｄ，３１２Ｅ，３１２Ｇ，３１２Ｈ  支持部、３１４Ｊ  孔、３２０Ｇ１  第１操作部、３２０Ｇ２  第２操作部、３２０Ｇ３  第３操作部、３２０Ｈ  外筒部、３２０Ｊ  スティック、３２１Ｆ  ワイヤ、３２２  ラッチ機構、３２３Ｆ  リール、３２４，３２６  バネ、３２５Ｆ  歯車、３２８  コイル、３２９  プランジャー、３３０Ａ，３３０Ｂ，３３０Ｄ，３３０Ｅ  円筒部、３３２Ａ，３３２Ｄ，３３２Ｅ，３３２Ｆ，３３２Ｈ，３３２Ｊ  マーカ、３３２Ｇ１  第１マーカ、３３２Ｇ２  第２マーカ、３３２Ｇ３  第３マーカ、３４２  遮蔽部材、３４４  反射部材、３５０Ｂ  可動部、４００，４００Ａ，４００Ｂ，４００Ｄ，４００Ｅ，４００Ｇ，４００Ｈ，４００Ｊ  カメラ画像、４３０Ａ，４３０Ｂ，４３０Ｄ，４３０Ｅ，４５０Ｂ  被写体画像、４６０Ｂ  レファレンス画像、５００  アプリケーション画像、５１０  ポインティングオブジェクト。
【図１】
2018023487.tif 000003
【図２】
2018023487.tif 000004
【図３】
2018023487.tif 000005
【図４】
2018023487.tif 000006
【図５】
2018023487.tif 000007
【図６】
2018023487.tif 000008
【図７】
2018023487.tif 000009
【図８】
2018023487.tif 000010
【図９】
2018023487.tif 000011
【図１０】
2018023487.tif 000012
【図１１】
2018023487.tif 000013
【図１２】
2018023487.tif 000014
【図１３】
2018023487.tif 000015
【図１４】
2018023487.tif 000016
【図１５】
2018023487.tif 000017
【図１６】
2018023487.tif 000018
【図１７】
2018023487.tif 000019
【図１８】
2018023487.tif 000020
【図１９】
2018023487.tif 000021
【図２０】
2018023487.tif 000022
【図２１】
2018023487.tif 000023
【図２２】
2018023487.tif 000024
【図２３】
2018023487.tif 000025
【図２４】
2018023487.tif 000026
【図２５】
2018023487.tif 000027
【図２６】
2018023487.tif 000028
【図２７】
2018023487.tif 000029
【図２８】
2018023487.tif 000030
【図２９】
2018023487.tif 000031
【図３０】
2018023487.tif 000032