説明

制御プログラム、入力端末装置、制御システムおよび制御方法

【構成】 入力端末装置7は、CPU(97)を含み、CPUは、ユーザの操作に応じて、ゲーム処理を実行するゲーム装置3に操作データを送信する。また、入力端末装置に設けられるTVリモコンボタン(71)が操作されると、CPUによって、テレビ2を操作可能なTV制御モードが設定され、入力端末装置のLCD51にTVリモコン画像(300)が表示される。これを用いて、ユーザは、テレビの操作データを入力する。
【効果】 入力端末装置のみによって、ゲーム装置の処理を中断することなく、テレビも操作可能である。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は制御プログラム、入力端末装置、制御システムおよび制御方法に関し、特にたとえば、アプリケーションを実行する情報処理装置に対して入力を行う、制御プログラム、入力端末装置、制御システムおよび制御方法に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1には、異なる製造業者により製造された異なるタイプの機器をそれぞれ遠隔より制御できる遠隔制御送信器が開示されている。この遠隔制御送信器は、異なる製造業者により製造された異なるタイプの機器のデータを複数蓄積するメモリから、該当する機器を制御する為のデータを読み出すことにより、それぞれの機器を遠隔より制御する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平2−198299号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の遠隔制御送信器は、異なる製造業者により製造された異なるタイプの機器をそれぞれ遠隔制御する為だけの機能しか有していない。したがって、遠隔制御する際にデータを送信するための手段を別の用途で用いるような情報処理装置では用いることができなかった。そのため、情報処理装置によって所定の情報処理が行われている際に、遠隔より制御できる機器を制御したい場合には、情報処理装置の入力装置から当該機器を制御可能な遠隔制御送信器に持ち替えて操作を行う必要があり、非常に効率が悪かった。
【0005】
それゆえに、この発明の主たる目的は、新規な、制御プログラム、入力端末装置、制御システムおよび制御方法を提供することである。
【0006】
また、この発明の他の目的は、情報処理装置の情報処理を中断することなく、他の機器の遠隔制御を行うことができる、制御プログラム、入力端末装置、制御システムおよび制御方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、入力端末装置からの入力に基づいてアプリケーションを実行する情報処理装置における当該入力端末装置の制御プログラムであって、入力端末装置のコンピュータを、入力判断部と、モード設定部として機能させる。入力判断部は、所定の入力が有るかどうかを判断する。モード設定部は、入力判断部によって所定の入力があると判断されたとき、アプリケーションを実行する情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替える。つまり、モード設定部は、アプリケーションモードが設定されている場合に、所定の入力があると、機器制御モードに切り替え、逆に、機器制御モードが設定されている場合に、所定の入力があると、アプリケーションモードに切り替える。
【0008】
第1の発明によれば、所定の入力が有ると、情報処理装置への入力可能なアプリケーションモードと、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるので、入力端末装置を制御対象機器の制御装置としても使用することができる。したがって、たとえば、情報処理装置において情報処理の実行中であっても、その情報処理を中断することなく、他の機器の遠隔制御を行うことができる。
【0009】
第2の発明は、第1の発明に従属し、入力端末装置は、操作情報を入力するため操作手段を備える。制御プログラムは、アプリケーション操作データ生成部と、アプリケーション操作データ送信部と、機器操作データ生成部と、機器操作データ送信部としてコンピュータをさらに機能させる。アプリケーション操作データ生成部は、アプリケーションモードのとき、操作情報に対応するアプリケーション操作データを生成する。アプリケーション操作データ送信部は、アプリケーション操作データを、情報処理装置に送信する。たとえば、これに応じて、情報処理装置は、アプリケーション操作データに基づいてアプリケーションの処理を実行する。
【0010】
機器操作データ生成部は、機器制御モードであるとき、操作情報に基づき制御対象機器に対応した機器操作データを生成する。機器操作データ送信部は、機器操作データを、制御対象機器に送信する。たとえば、これに応じて、制御対象機器は、機器操作データに基づく処理を実行する。
【0011】
第2の発明によれば、入力端末装置のみを用いて、情報処理装置と制御対象機器を制御することができる。
【0012】
第3の発明は、第2の発明に従属し、制御プログラムは、ダミー操作データ生成部と、ダミー操作データ送信部としてコンピュータをさらに機能させる。ダミー操作データ生成部は、モード設定部において機器制御モードを設定したとき、アプリケーション操作データに対応し、操作情報に基づかない所定のダミー操作データを生成する。ダミー操作データ送信部は、ダミー操作データを、情報処理装置に送信する。
【0013】
第3の発明によれば、機器制御モードが設定されている場合には、操作情報に基づかないダミー操作データを生成して情報処理装置に送信するので、情報処理装置における処理を何ら変更する必要がない。また、ダミーの操作データなので、情報処理装置のアプリケーションの処理に何ら影響を及ぼさない。
【0014】
第4の発明は、第2または第3の発明に従属し、アプリケーション操作データ生成部において生成するアプリケーション操作データと、機器操作データ生成部において生成する機器操作データとは異なる形式のデータである。
【0015】
第4の発明によれば、第1操作データと第2操作データとは異なる形式のデータであるため、情報処理装置と制御対象機器が誤って制御されることがない。
【0016】
第5の発明は、第2ないし第4の発明のいずれかに従属し、アプリケーション操作データ送信部は、アプリケーション操作データを、第1送信手段を用いて情報処理装置に送信する。また、機器操作データ送信部は、機器操作データを、第1送信手段とは異なる第2送信手段を用いて制御対象機器に送信する。
【0017】
第5の発明によれば、アプリケーション操作データと機器操作データとは異なる送信手段を用いて送信するので、第4の発明と同様に、情報処理装置と制御対象機器が誤って制御されることがない。
【0018】
第6の発明は、第2ないし第5の発明のいずれかに従属し、制御プログラムは、機器選択部としてコンピュータをさらに機能させる。機器選択部は、たとえば、ユーザの操作に応じて、制御対象機器の種類を選択する。機器操作データ生成部は、機器選択部において選択された制御対象機器の種類に応じて機器操作データを生成する。
【0019】
第6の発明によれば、制御対象機器の種類に応じて適切な操作データを生成することができる。
【0020】
第7の発明は、第1ないし第6の発明のいずれかに従属し、入力端末装置は、所定の入力をさせるための所定入力手段を備える。所定入力手段が操作されることに応じて、入力判断部は所定の入力が有ると判断する。また、モード設定部は、入力判断部によって所定の入力が有ると判断されたときに機器制御モードを設定し、当該機器制御モードが設定されているときに、所定の入力が有ると判断されたときに当該機器制御モードを終了する。
【0021】
第7の発明によれば、機器制御モードを設定したり、終了したりする所定入力手段を備えているので、操作が簡単である。
【0022】
第8の発明は、第1ないし第7の発明のいずれかに従属し、制御プログラムは、受信画像表示部と、操作画像表示部としてコンピュータをさらに機能させる。受信画像表示部は、情報処理装置からの画像データを受信して、当該画像データに対応する画像を表示手段に表示する。操作画像表示部は、モード設定部において機器制御モードを設定したとき、表示手段に表示される画像の前面に、制御対象機器の操作画像を表示する。
【0023】
第8の発明によれば、制御対象機器の操作画像を、情報処理装置から受信した画像データに対応する画像の前面に表示するので、制御対象機器の操作(制御)が容易である。
【0024】
第9の発明は、第1ないし第8の発明のいずれかに従属し、制御プログラムは、音声出力部としてコンピュータをさらに機能させる。音声出力部は、情報処理装置からの音声データを受信して、当該音声データに対応する音声をスピーカから出力する。モード設定部において機器制御モードが設定されたとき、音声出力部は、情報処理装置からの音声データに対応する音声の音量を低減させる。
【0025】
第9の発明によれば、機器制御モードが設定されているとき、情報処理装置からの音声データに対応する音声の音量を低減させるので、たとえば、制御対象機器の操作するときの操作音を出力する場合に、その操作音を聞き取り易い。
【0026】
第10の発明は、第1ないし第9の発明のいずれかに従属し、アプリケーションは、ゲームアプリケーションを含む。
【0027】
第10の発明によれば、情報処理装置におけるゲーム操作と制御対象機器における操作とが可能である。
【0028】
第11の発明は、第1ないし第10の発明のいずれに従属し、入力端末装置は、情報処理装置の電源を制御するための電源制御情報を入力するための電源操作手段をさらに備える。制御プログラムは、電源制御データ生成部と電源制御データ送信部としてさらにコンピュータを機能させる。電源制御データ生成部は、電源操作手段によって電源制御情報が入力されたとき、機器制御モードを設定しているか否かに拘わらず、電源制御情報についての電源制御データを生成する。電源制御データ送信部は、電源制御データ生成部において生成された電源制御データを、情報処理装置に送信する。
【0029】
第11の発明によれば、機器制御モードが設定されているか否かに拘わらず、情報処理装置の電源制御を行うことができる。
【0030】
第12の発明は、アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御プログラムであって、入力端末装置は、情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンを備え、入力端末装置のコンピュータを、専用ボタンが操作されたかどうかを判断する入力判断部と、入力判断部において専用ボタンが操作されたことが判断されたとき、情報処理装置の起動の有無に拘わらず、機器制御モードを設定するモード設定部として機能させる、制御プログラムである。
【0031】
第12の発明によれば、第1の発明と同様の効果を有するとともに、機器制御モードを設定する専用ボタンを備えているので、操作が簡単である。
【0032】
第13の発明は、アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置であって、所定の入力が有るかどうかを判断する入力判断部と、入力判断部において所定の入力があると判断されたとき、アプリケーションを実行する情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるモード設定部を備える、入力端末装置である。
【0033】
第13の発明においても、第1の発明と同様に、情報処理を中断することなく、他の機器の遠隔制御を行うことができる。
【0034】
第14の発明は、アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置であって、情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンと、専用ボタンが操作されたかどうかを判断する入力判断部と、入力判断部において専用ボタンが操作されたことが判断されたとき、情報処理装置の起動の有無に拘わらず、機器制御モードを設定するモード設定部を備える、入力端末装置である。
【0035】
第14の発明においても、第12の発明と同様に、第1の発明と同様の効果を有するとともに、機器制御モードを設定する専用ボタンを備えているので、操作が簡単である。
【0036】
第15の発明は、アプリケーションを実行する情報処理装置に対して入力を行う制御システムであって、所定の入力が有るかどうかを判断する入力判断部と、入力判断部において所定の入力があると判断されたとき、アプリケーションを実行する情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるモード設定部を備える、制御システムである。
【0037】
第15の発明においても、第1の発明と同様に、情報処理を中断することなく、他の機器の遠隔制御を行うことができる。
【0038】
第16の発明は、アプリケーションを実行する情報処理装置に対して入力を行う制御システムであって、情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンと、専用ボタンが操作されたかどうかを判断する入力判断部と、入力判断部において専用ボタンが操作されたことが判断されたとき、情報処理装置の起動の有無に拘わらず、機器制御モードを設定するモード設定部を備える、制御システムである。
【0039】
第16の発明においても、第12の発明と同様に、第1の発明と同様の効果を有するとともに、機器制御モードを設定する専用ボタンを備えているので、操作が簡単である。
【0040】
第17の発明は、アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御方法であって、入力端末装置のコンピュータは、(a)所定の入力が有るかどうかを判断し、そして(b)ステップ(a)において所定の入力があると判断されたとき、アプリケーションを実行する情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替える、制御方法である。
【0041】
第17の発明においても、第1の発明と同様に、情報処理を中断することなく、他の機器の遠隔制御を行うことができる。
【0042】
第18の発明は、アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御方法であって、入力端末装置は、情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンを備え、入力端末装置のコンピュータは、(a)専用ボタンが操作されたかどうかを判断し、(b)ステップ(a)において専用ボタンが操作されたことが判断されたとき、情報処理装置の起動の有無に拘わらず、機器制御モードを設定する、制御方法である。
【0043】
第18の発明においても、第12の発明と同様に、第1の発明と同様の効果を有するとともに、機器制御モードを設定する専用ボタンを備えているので、操作が簡単である。
【発明の効果】
【0044】
この発明によれば、所定の入力が有ると、情報処理装置への入力可能なアプリケーションモードと、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるので、入力端末装置を制御対象機器の制御装置としても使用することができる。したがって、たとえば、情報処理装置において情報処理の実行中であっても、その情報処理を中断することなく、他の機器の遠隔制御を行うことができる。
【0045】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施形態の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0046】
【図1】図1はゲームシステムの外観図である。
【図2】図2はゲーム装置の電気的な構成を示すブロック図である。
【図3】図3は入力端末装置の外観構成を示す図である。
【図4】図4は入力端末装置の電気的な構成を示すブロック図である。
【図5】図5はテレビのゲーム画像の例と入力端末装置のゲーム画像の例とを示す図である。
【図6】図6は入力端末装置のTVリモコン画像の例を示す図である。
【図7】図7は図2に示すゲーム装置のメインメモリのメモリマップの一例を示す図である。
【図8】図8は図4に示す入力端末装置の内部メモリのメモリマップの一例を示す図である。
【図9】図9は図2に示すゲーム装置のCPUのゲーム全体処理を示すフロー図である。
【図10】図10は図2に示すゲーム装置のCPUのゲーム制御処理を示すフロー図である。
【図11】図11は図4に示す入力端末装置のCPUの制御処理の第1の一部を示すフロー図である。
【図12】図12は図4に示す入力端末装置のCPUの制御処理の第2の一部を示すフロー図である。
【図13】図13は図4に示す入力端末装置のCPUの制御処理の第3の一部を示すフロー図である。
【図14】図14は図4に示す入力端末装置のCPUの制御処理の第4の一部を示すフロー図である。
【図15】図15は図4に示す入力端末装置のCPUの制御処理の第5の一部を示すフロー図である。
【図16】図16は図4に示す入力端末装置のCPUの制御処理の第6の一部を示すフロー図である。
【発明を実施するための形態】
【0047】
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。図1に示すゲームシステム1は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)2、据置型のゲーム装置3、光ディスク4、コントローラ5、および入力端末装置7を含む。このゲームシステム1は、入力端末装置7を用いたゲーム操作に基づいて、ゲーム装置3においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ2および/または入力端末装置7に表示するものである。
【0048】
なお、ゲームシステム1では、入力端末装置7とともに、または、場合によっては入力端末装置7を用いずに、コントローラ5を用いたゲーム操作に基づいて、ゲーム装置3においてゲーム処理が実行される場合がある。
【0049】
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるための情報処理プログラム(典型的にはゲームプログラムのようなアプリケーションプログラム)が記憶されている。ゲーム装置3は、その前面に設けられた挿入口に挿入された光ディスク4に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【0050】
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ2はスピーカ2a(図2)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。
【0051】
なお、他の実施形態においては、ゲーム装置3と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置3とテレビ2との通信は無線通信であってもよい。
【0052】
また、コントローラ5とゲーム装置3とは、たとえばBluetooth(ブルートゥース)(登録商標)の技術を用いた無線通信によって通信可能である。ただし、コントローラ5とゲーム装置3とは有線で接続されてもよい。
【0053】
入力端末装置7は、少なくとも、ゲーム装置3との間でデータを送受信する。ユーザ(プレイヤ)は、入力端末装置7を手に持って動かしたり、入力端末装置7を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、入力端末装置7は、表示手段であるLCD51、および、入力手段(後述するタッチパネル52やジャイロセンサ84等)を備える。入力端末装置7とゲーム装置3とは無線(有線であってもよい)によって通信可能である。入力端末装置7は、ゲーム装置3で生成された画像(たとえばゲーム画像)のデータをゲーム装置3から受信し、画像をLCD51に表示する。また、入力端末装置7は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に送信する。
【0054】
なお、本実施形態では表示装置としてLCDを用いているが、入力端末装置7は、たとえばEL(Electro Luminescence)を利用した表示装置等、他の任意の表示装置を有していてもよい。
【0055】
また、図1では、ゲームシステム1に含まれる入力端末装置7は1つであるが、ゲーム装置3は複数の入力端末装置7と通信可能であり、所定台数の入力端末装置7を同時に使用することによって複数人でゲームをプレイすることが可能である。
【0056】
図2は、ゲーム装置3の電気的な構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
【0057】
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。
【0058】
揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に、読み出したデータを書き込む。
【0059】
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU11b、DSP11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0060】
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像データを生成する。ただし、VRAM11dに、ポリゴンデータやテクスチャデータ等のデータが記憶され、GPU11bは、そのデータを用いて画像データを生成する。本実施形態においては、ゲーム装置3は、テレビ2に表示するゲーム画像と、入力端末装置7に表示するゲーム画像との両方を生成する。以下では、テレビ2に表示されるゲーム画像を「テレビ用ゲーム画像」と呼び、入力端末装置7に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【0061】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、テレビ2のスピーカから出力するゲーム音声と、入力端末装置7のスピーカから出力するゲーム音声との両方が生成される。以下では、テレビ2から出力されるゲーム音声を「テレビ用ゲーム音声」と呼び、入力端末装置7から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【0062】
上記のように、ゲーム装置3において生成される画像および音声のうちで、テレビ2において出力される画像および音声(効果音や音楽なども含む。以下、同じ。)のデータは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データを、AVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、テレビ2に画像が表示されるとともにスピーカ2aから音声が出力される。
【0063】
また、ゲーム装置3において生成される画像および音声のうちで、入力端末装置7において出力される画像および音声のデータは、入出力プロセッサ11a等によって入力端末装置7へ送信される。入出力プロセッサ11a等による入力端末装置7へのデータの送信については後述する。
【0064】
なお、ゲーム装置3において生成される音声のうちで、コントローラ5において出力される音声のデータは、入出力プロセッサ11a等によってコントローラ5に送信される。
【0065】
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。また、入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。また、ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。コーデックLSI27は端末通信モジュール28に接続され、端末通信モジュール28にはアンテナ29が接続される。
【0066】
入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置(たとえば他のゲーム装置や、各種サーバ等)と通信することができる。
【0067】
入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。
【0068】
また、入出力プロセッサ11aは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。
【0069】
CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と外部情報処理装置との間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17にはゲームプログラムが記憶されてもよい。
【0070】
また、ゲーム装置3は、コントローラ5からの操作データを受信したり、必要に応じて制御データや音データをコントローラ5に送信したりすることが可能である。すなわち、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。一方、入出力プロセッサ11aは、CPU10の指示に応じた制御データやDSP11cが生成した音声データをコントローラ通信モジュール19へ出力し、コントローラ通信モジュール19は、制御データや音声データをアンテナ23を介してコントローラ5へ送信する。
【0071】
また、ゲーム装置3は、入力端末装置7との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ11aは、入力端末装置7へゲーム画像(端末用ゲーム画像)を送信する場合、GPU11bが生成したゲーム画像のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、入力端末装置7との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して入力端末装置7へ送信される。本実施形態では、コーデックLSI27は、たとえばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。
【0072】
なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。
【0073】
また、端末通信モジュール28は、たとえばWi−Fiの認証を受けた通信モジュールであり、たとえばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて、入力端末装置7との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【0074】
また、ゲーム装置3は、画像データの他、音声データを入力端末装置7へ送信する。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して入力端末装置7へ送信する。
【0075】
さらに、ゲーム装置3は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを入力端末装置7へ送信する。制御データは、入力端末装置7が備える構成要素に対する制御指示を表すデータであり、たとえばカメラ(図3に示すカメラ56)の撮像を制御する指示等を表す。入出力プロセッサ11aは、CPU10の指示に応じて制御データを入力端末装置7へ送信する。
【0076】
なお、この制御データに関して、本実施形態ではコーデックLSI27はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。また、ゲーム装置3から入力端末装置7へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
【0077】
また、ゲーム装置3は、入力端末装置7から各種データを受信可能である。詳細は後述するが、本実施形態では、入力端末装置7は、操作データ、画像データ、および音声データを送信する。入力端末装置7から送信される各データはアンテナ29を介して端末通信モジュール28によって受信される。ここで、入力端末装置7からの画像データおよび音声データは、ゲーム装置3から入力端末装置7への画像データおよび音声データと同様の圧縮処理が施されている。
【0078】
したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ11aに出力される。
【0079】
一方、入力端末装置7からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ11aに出力される。入出力プロセッサ11aは、入力端末装置7から受信したデータを、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0080】
また、ゲーム装置3は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。
【0081】
メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。たとえば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【0082】
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタによって外部の電源からゲーム装置3の各構成要素に対して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0083】
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、たとえば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。
【0084】
次に、図3を参照して、入力端末装置7の構成について説明する。図3は、入力端末装置7の外観構成を示す平面図である。図3(a)は入力端末装置7の正面図であり、図3(b)は上面図であり、図3(c)は右側面図である。
【0085】
図3(a)に示されるように、入力端末装置7は、大略的には横長の長方形の板状形状であるハウジング50を備える。ハウジング50は、ユーザが両手もしくは片手で把持することができる程度の大きさである。したがって、ユーザは、入力端末装置7を持って動かしたり、入力端末装置7の配置位置を変更したりすることができる。
【0086】
入力端末装置7は、ハウジング50の表面(表側)であり、その中央付近にLCD51を有する。したがって、図示は省略するが、ユーザは、LCD51の両側部分のハウジング50を持つことによって、LCD51の画面を見ながら入力端末装置7を動かすことができる。ただし、入力端末装置7は横持ちでも(横に長い向きにして持つことも)、縦持ちでも(縦に長い向きにして持つことも)可能である。
【0087】
図3(a)に示すように、入力端末装置7は、操作手段として、LCD51の画面上にタッチパネル52を有する。たとえば、タッチパネル52としては、抵抗膜方式や静電容量方式等の任意の方式のタッチパネルを用いることができる。また、タッチパネル52はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。
【0088】
このように、入力端末装置7はタッチパネル52を備えるので、ユーザは、入力端末装置7を動かしながらタッチパネル52を操作することができる。つまりユーザは、LCD51の画面を動かしつつ、その画面に対して直接(タッチパネル52によって)入力を行うことができる。
【0089】
図3(a)に示すように、入力端末装置7は、所定の入力を行うための操作手段(操作部)として、2つのアナログスティック53Aおよび53Bと、複数のボタン(キー)54A〜54L、71および72とを備えている。各アナログスティック53Aおよび53Bは、方向を指示することが可能なデバイスである。各アナログスティック53Aおよび53Bは、ユーザの指で操作される可動部材(スティック部)がハウジング50の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドすることができるように構成されている。すなわち、スライドパッドと呼ばれることもある方向入力デバイスである。
【0090】
なお、各アナログスティック53Aおよび53Bの可動部材は、ハウジング50の表面に対して任意の方向に傾倒する種類のものでもよい。
【0091】
図示は省略するが、各ボタン54A〜54Lは、ユーザが入力端末装置7の左右部分を把持した状態(横持ちした状態)で操作可能な位置に設けられる。したがって、ユーザは、入力端末装置7を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【0092】
図3(a)に示すように、ハウジング50の表面には、各操作ボタン54A〜54Lのうち、十字ボタン(方向入力ボタン)54A、ボタン54B〜54H、テレビリモコンボタン(以下、「TVリモコンボタン」という。)71および電源ボタン72が設けられる。
【0093】
TVリモコンボタン71は、当該入力端末装置7を、テレビ2を操作(制御)するリモコン装置として機能するモード(TV制御モード)を設定したり、TV制御モードを終了したりするためのボタンである。また、電源ボタン72は、ゲーム装置3の電源をオン/オフするためのボタンである。電源ボタン72の操作により、ゲーム装置3の電源を遠隔でオン/オフすることも可能である。
【0094】
また、図3(b)に示すように、ハウジング50の上面には、各操作ボタン54A〜54Lのうち、第1Lボタン54Iおよび第2Rボタン54Jが設けられる。
【0095】
さらに、図3(b)および図3(c)に示すように、ハウジング50の裏面には、庇部59の上面側に、第2Lボタン54Kおよび第2Rボタン54Lが設けられる。
【0096】
また、図3(a)に示すように、ハウジング50の表面には、マイクロフォン用孔50a、カメラ56および2つのスピーカ孔57が設けられる。さらに、図3(b)に示すように、ハウジング50の上面には、タッチペン60を収納する収納穴60a、イヤホン等の音声出力手段を接続するための音声出力端子(イヤホンジャック)61、後述する赤外線モジュール92および赤外LED101からの赤外線信号を入力端末装置7の外部に出力するための窓62、および後述するスピーカ87から出力される音量を調整するためのつまみ63が設けられる。
【0097】
次に、図4を参照して、入力端末装置7の電気的な構成について説明する。図4は、入力端末装置7の電気的な構成を示すブロック図である。図4に示すように、入力端末装置7は、図3(a)−図3(c)に示した構成の他、タッチパネルコントローラ81、磁気センサ82、加速度センサ83、ジャイロセンサ84、ユーザインタフェースコントローラ(UIコントローラ)85、コーデックLSI86、スピーカ87、サウンドIC88、マイク89、無線モジュール90、アンテナ91、赤外線通信モジュール92、フラッシュメモリ93、リモコンIC100および赤外LED101を備える。これらの電子部品は、電子回路基板上に実装されてハウジング50内に収納される。
【0098】
なお、図示は省略するが、入力端末装置7には、内蔵の電池または外部電源からの電力が供給される。
【0099】
UIコントローラ85は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ85は、タッチパネルコントローラ81、アナログスティック53(アナログスティック53Aおよび53B)、操作ボタン54(各操作ボタン54A〜54L)、TVリモコンボタン71、電源ボタン72、磁気センサ82、加速度センサ83、およびジャイロセンサ84に接続される。
【0100】
また、UIコントローラ85は、コーデックLSI86に接続される。タッチパネルコントローラ81は、タッチパネル52に接続され、タッチパネル52の制御を行う回路である。タッチパネルコントローラ81は、タッチパネル52からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ85へ出力する。タッチ位置データは、タッチパネル52の入力面において入力が行われた位置(タッチ位置)の座標を表す。
【0101】
なお、タッチパネルコントローラ81は、タッチパネル52からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ85からタッチパネルコントローラ81へは、タッチパネル52に対する各種の制御指示が出力される。
【0102】
アナログスティック53は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ85へ出力する。また、操作ボタン54は、各操作ボタン54A〜54Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ85へ出力する。
【0103】
磁気センサ82は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ85へ出力される。また、UIコントローラ85から磁気センサ82へは、磁気センサ82に対する制御指示が出力される。
【0104】
加速度センサ83は、ハウジング50の内部に設けられ、3軸(図3(a)に示すxyz軸)方向に沿った直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ85へ出力される。また、UIコントローラ85から加速度センサ83へは、加速度センサ83に対する制御指示が出力される。
【0105】
ジャイロセンサ84は、ハウジング50の内部に設けられ、上記x軸、y軸およびz軸の3軸周りの角速度を検出する。検出された角速度を表す角速度データは、UIコントローラ85へ出力される。また、UIコントローラ85からジャイロセンサ84へは、ジャイロセンサ84に対する制御指示が出力される。
【0106】
UIコントローラ85は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックLSI86に出力する。
【0107】
コーデックLSI86は、ゲーム装置3へ送信するデータに対する圧縮処理、および、ゲーム装置3から送信されたデータに対する伸張処理を行う回路である。コーデックLSI86には、LCD51、カメラ56、サウンドIC88、無線モジュール90、フラッシュメモリ93、赤外線通信モジュール92およびリモコンIC100が接続される。また、コーデックLSI86はCPU97と内部メモリ98を含む。
【0108】
入力端末装置7はゲーム処理自体を行なわない構成であるが、入力端末装置7の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ93に格納されたプログラムを内部メモリ98に読み出してCPU97が実行することで、入力端末装置7が起動する。ただし、入力端末装置7は、ゲーム装置3からの動作データに基づいて起動または停止したり、TVリモコンボタン71や電源ボタン72の操作に基づいて起動または停止したりする。ただし、この実施形態では、入力端末装置7の停止は、一部の回路コンポーネント(UIコントローラ85、コーデックLSI86および無線モジュール90)に電源が供給されているスリープの状態を意味する。したがって、上記のように、電源投入(電源オン)される場合には、入力端末装置7は、スリープの状態から起動されるのである。また、内部メモリ98の一部の領域はLCD51のためのVRAMとして使用される。さらに、入力端末装置7がテレビ2を操作(制御)可能なリモコン装置として機能する場合には、CPU97は、タッチ位置データに基づいて、操作(タッチ)されたボタン(後述するボタン画像302a−302f)を特定する。
【0109】
カメラ56は、ゲーム装置3からの指示に従って画像を撮像し、撮像した画像に対応する画像データをコーデックLSI86へ出力する。また、コーデックLSI86からカメラ56へは、画像の撮像指示等、カメラ56に対する制御指示が出力される。
【0110】
サウンドIC88は、スピーカ87およびマイク89に接続され、スピーカ87およびマイク89への音声データの入出力を制御する回路である。すなわち、コーデックLSI86から音声データを受け取った場合、サウンドIC88は当該音声データに対してD/A変換を行って得られる音声信号をスピーカ87へ出力し、スピーカ87から音を出力させる。また、マイク89は、入力端末装置7に伝わる音(ユーザの音声や手拍子等)を検知して、当該音を示す音声信号をサウンドIC88へ出力する。サウンドIC88は、マイク89からの音声信号に対してA/D変換を行い、所定の形式の音声データをコーデックLSI86へ出力する。
【0111】
コーデックLSI86は、カメラ56からの画像データ、マイク89からの音声データ、および、UIコントローラ85からの操作データ(端末操作データ)を、無線モジュール90を介してゲーム装置3へ送信する。本実施形態では、コーデックLSI86は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール90に出力される。無線モジュール90にはアンテナ91が接続されており、無線モジュール90はアンテナ91を介してゲーム装置3へ上記送信データを送信する。無線モジュール90は、ゲーム装置3の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール90は、たとえばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【0112】
以上のように、入力端末装置7からゲーム装置3へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含まれる。
【0113】
また、赤外線通信モジュール92は、他の装置との間でたとえばIrDAの規格に従った赤外線通信を行う。コーデックLSI86は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置3へ送信してもよい。
【0114】
リモコンIC100は、テレビ2に送信するための操作データ(以下、「リモコン操作データ」という。)を所定の送信フォーマットデータに従って生成する。ただし、所定の送信フォーマットデータは、テレビ2の種類(メーカ、機種など)によって決定される。後述するように、所定の送信フォーマットデータは、ゲーム装置3から取得され、フラッシュメモリ93に記憶されており、入力端末装置7が、テレビ2のリモコン装置として機能する場合に、内部メモリ98に読み込まれる。そして、リモコンIC100は、所定のフォーマットデータに従って生成したリモコン操作データを、赤外LED101から出力(送信)する。
【0115】
このように、リモコン操作データを出力するための赤外LED101を設けるのは、赤外線通信モジュール92に設けられる赤外LED(図示せず)とは出力レベルが異なるためである。
【0116】
また、ゲーム装置3から受信されるデータに制御データが含まれる場合、入力端末装置7のコーデックLSI86およびUIコントローラ85は、制御データに従った制御指示を各部に行う。上述のように、制御データは、入力端末装置7が備える各構成要素(本実施形態では、カメラ56、タッチパネルコントローラ81、各センサ82〜84および赤外線通信モジュール92)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、入力端末装置7からゲーム装置3へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。
【0117】
なお、制御データとは別に、ゲーム装置3の電源ボタン24の操作に応じて、ゲーム装置3から入力端末装置7に、入力端末装置7自体の起動および停止(スリープ)を指示するデータ(動作指示データ)も送信される。
【0118】
以上のように、入力端末装置7は、タッチパネル52、アナログスティック53、および操作ボタン54といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【0119】
また、入力端末装置7は、入力端末装置7の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ82、加速度センサ83、およびジャイロセンサ84を備えるが、他の実施形態においては、これらのセンサのうち1つまたは2つを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【0120】
また、入力端末装置7は、カメラ56およびマイク89を備える構成であるが、他の実施形態においては、カメラ56およびマイク89を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【0121】
このようなゲームシステム1において実行されるゲームの例について説明する。ここでは、野球ゲームの一例について説明する。たとえば、第1プレイヤはコンピュータプレイヤであり、コンピュータ(ゲーム装置3のCPU10)によって打者が操作される。第2プレイヤは入力端末装置7を用いて投手を操作する。
【0122】
図5(A)は、このゲームにおいて、テレビ2に表示されるテレビ用ゲーム画像200の一例を示す。このテレビ用ゲーム画像200は、第1プレイヤの操作対象である打者(打者オブジェクト)202の側から、第2プレイヤの操作対象である投手(投手オブジェクト)204の方を見たゲーム空間を表す。テレビ用ゲーム画像200を生成するための第1仮想カメラは、打者オブジェクト202の後方の位置に、打者オブジェクト202から投手オブジェクト204の方を向くように配置される。
【0123】
一方、図5(B)は、このゲームにおいて、入力端末装置7に表示される端末用ゲーム画像250の一例を示す。この端末用ゲーム画像250は、第2プレイヤの操作対象である投手オブジェクト204の側から、第1プレイヤの操作対象である打者オブジェクト202の方を見たゲーム空間を表す。また、端末用ゲーム画像250には、投手オブジェクト204がボールオブジェクトを投げる方向を示すためのカーソル260が表示される。
【0124】
上述したように、端末用ゲーム画像250の画像データは、ゲーム装置3で生成される。つまり、CPU10は、端末用ゲーム画像250の画像データを生成するために用いる第2仮想カメラを入力端末装置7の姿勢に基づいて制御する。ただし、CPU10は、慣性センサ(加速度センサ83およびジャイロセンサ84)ならびに磁気センサ82の出力に基づいて入力端末装置7の姿勢を算出し、算出した姿勢に基づいて、端末用ゲーム画像250の画像データを生成するための第2仮想カメラの姿勢を制御する。たとえば、この第2仮想カメラの位置は、予め定められた所定位置に固定される。
【0125】
また、第2プレイヤによる投手オブジェクト204の操作方法は、どのような方法であってもよい。たとえば、CPU10は、入力端末装置7のアナログスティック53に対する操作に従ってカーソル260を移動させ、操作ボタン54のうちの所定のボタンが押下された場合、カーソル260が指示する位置に向かってボールオブジェクトを投げる動作を投手オブジェクト204に行わせてもよい。また、カーソル260は、アナログスティック53に対する操作に代えて、入力端末装置7の姿勢に応じて移動されてもよいし、タッチ操作によって移動されてもよい。
【0126】
なお、打者オブジェクト202は、コンピュータプレイヤ以外の第1プレイヤによって操作されてもよい。かかる場合には、入力端末装置7(またはコントローラ5)を用いて、打者オブジェクト202が操作される。打者オブジェクト202の操作方法は、どのような方法であってもよい。たとえば、CPU10は、入力端末装置7(またはコントローラ5)自体を振ったり(動かしたり)、入力端末装置7(またはコントローラ5)の所定のボタンを押したりしたことに応じて、打者オブジェクト202にバット(オブジェクト)をスイングする動作を行わせてよい。
【0127】
このように、ゲーム(ゲームアプリケーション)を実行することができる。たとえば、ゲームの実行中に、入力端末装置7のTVリモコンボタン71が押されると、TV制御モードが設定され、図6(A)に示すようなTVリモコン画像300が入力端末装置7のLCD51に表示される。この実施形態では、TVリモコン画像300は、端末用ゲーム画像250に重畳して、その前面に表示される。
【0128】
図6(A)に示すように、TVリモコン画像300には、ボタン画像302a、ボタン画像302b、ボタン画像302c、ボタン画像302d、ボタン画像302eおよびボタン画像302fが表示される。
【0129】
ボタン画像302aは、数字キー(テンキー)であり、チャネル番号を直接的に入力するために用いられる。ボタン画像302bは、テレビ2の電源をオン/オフするために用いられる。ボタン画像302cは、テレビ2の入力切替を指示するために用いられる。ボタン画像302dは、チャネル番号を一段階ずつ上昇または下降させるために用いられる。ボタン画像302eは、テレビ2のスピーカ2aから出力される音の音量を、大きくされたり、小さくさせたりするために用いられる。ボタン画像302fは、TVリモコン画像300を閉じる(消去する)ために用いられる。ただし、TVリモコン画像300が閉じられると、TV制御モードが終了される。
【0130】
TV制御モードは、入力端末装置7において設定されるだけであり、ゲームなどのアプリケーションの実行には影響を及ぼさない。つまり、TV制御モードが実行されることによって、アプリケーションの処理が中断されたり、終了されたりすることはない。
【0131】
したがって、ゲームの実行中では、ゲーム装置3からの画像データおよび音声データを受信すると、入力端末装置7は、端末用ゲーム画像250を更新するとともに、音声データに対応する端末用ゲーム音声を出力する。ただし、TV制御モードでは、端末用ゲーム画像250は、常に、TVリモコン画像300の背面に表示される。また、ゲーム装置3からの音声データに対応する端末用ゲーム音声の音量を少し低減するようにしてある。これは、TVリモコン画像300を用いた操作による操作音を、ユーザないしプレイヤが聞き取り易くするためである。
【0132】
なお、TVリモコン画像300を用いた操作に応じて操作音を出力するのは、タッチパネル52をタッチ操作する場合には、押しボタンのような感覚が無く、入力端末装置7によって操作が受け付けられたかどうかが分かり難いためである。
【0133】
TV制御モードでは、ボタン画像302a−302eがオンされると、それに応じたリモコン操作データがテレビ2に送信される。具体的には、CPU97は、タッチパネル52のタッチ位置から操作(オン)されたボタン画像302a−302fを特定する。たとえば、タッチパネル52の解像度(検出精度)は、LCD51の解像度と同じであるため、双方の座標系を同じにしておければ、タッチ位置の座標(タッチ座標)から、LCD51の画面上の座標を容易に知ることができる。したがって、CPU97は、タッチ座標に対応するLCD51の座標の位置に表示されているボタン画像(302a−302f)を、タッチされたボタン画像(302a−302f)として特定する。
【0134】
そして、リモコンIC100は、CPU97の指示の下、CPU97で特定されたボタン画像(302a−302e)に割り当てられた操作内容に応じたリモコン操作データを生成し、赤外LED101から出力する。ただし、ボタン画像302fがタッチ(オン)された場合には、TVリモコン画像300が消去(非表示)され、TV制御モードは終了される。また、TV制御モードが設定されている場合に、TVリモコンボタン71が押されたときも、同様にTV制御モードは終了される。
【0135】
上述したように、リモコン操作データは、テレビ2に応じた送信フォーマットに従って操作内容についてのデータ(操作内容データ)がコード化されることにより、生成される。
【0136】
たとえば、ゲーム装置3のフラッシュメモリ17には、複数の種類(メーカおよび機種)に応じた送信フォーマットのデータ(送信フォーマットデータ)が記憶されている。したがって、たとえば、メニュー機能において、リモコン装置として機能させるための初期設定(リモコン設定)を行う場合に、入力端末装置7を用いてテレビ2の種類が設定(選択)されると、ゲーム装置3から選択されたテレビ2の種類に応じた送信フォーマットデータが入力端末装置7にダウンロードされる。したがって、入力端末装置7は、その送信フォーマットデータをゲーム装置3から取得し、フラッシュメモリ93に記憶する。そして、入力端末装置7では、TV制御モードが設定されたときに、フラッシュメモリ93から送信フォーマットデータが読み込まれ、これに従って、リモコン送信データが生成される。
【0137】
なお、この実施形態では、各種の送信フォーマットデータをゲーム装置3のフラッシュメモリ17に記憶しておくようにしたが、入力端末装置7のフラッシュメモリ93に記憶しておくようにしてもよい。かかる場合には、選択されたテレビ2の種類を記憶しておき、TV制御モードが設定されたときに、当該種類に応じて使用する送信フォーマットデータが読み込まれる。
【0138】
また、TV制御モードでは、入力端末装置7の操作に応じて、ゲーム装置3に端末操作データも送信される。この実施形態では、TV制御モードにおいては、ゲーム装置3に対してはその電源をオン/オフする操作(指示)のみを可能とするため、電源ボタン72以外の操作があったとしても、何ら操作情報を含んでいない端末操作データ(以下、「ダミー操作データ」という)が生成および送信される。つまり、操作情報に基づかないダミー操作データが生成および送信される。たとえば、ダミー操作データは、各種の操作情報(操作ボタンデータ、スティックデータ、タッチ位置データ、加速度データ、角速度データ、および方位データ)としてnullが記述される。ただし、何ら操作情報を記述しないようにしてもよい。
【0139】
このように、ダミー操作データを生成するのは、端末操作データの内容を変更するだけで良く、入力端末装置7で端末操作データを送信する処理やゲーム装置3における処理を変更する必要がないからである。また、入力端末装置7において、操作情報をそのまま用いて、テレビ2へのリモコン送信データを生成および送信することができるからである。
【0140】
ただし、TV制御モードでは、電源ボタン72以外の操作があった場合には、端末操作データを生成しないようにしてもよい。
【0141】
また、この実施形態では、TV制御モードでは、ゲーム装置3の電源のオン/オフ以外の操作(以下、「他のゲーム操作」ということがある。)をしないことを前提としてあるが、他のゲーム操作を可能にしてもよい。かかる場合には、TV制御モードでない場合と同様に、ユーザの操作に応じて端末操作データが生成および送信される。
【0142】
なお、上述したように、TV制御モードでは、電源ボタン72の操作のみが有効である。したがって、TVリモコン画像300を用いた操作と同様の操作をさせるために、TVリモコン画像300とともに、ゲーム装置3の電源をオン/オフするためのボタン画像を表示するようにしてもよい。
【0143】
また、図6(A)および図6(B)に示したTVリモコン画像300は単なる一例であり、限定されるべきでない。ボタン画像の数、配置などのデザインは適宜変更することができる。たとえば、テンキーについてのボタン画像302aは無くてもよい。
【0144】
ここでは、ゲームの実行中に、TV制御モードが設定された場合について説明したが、入力端末装置7において、ゲーム以外のアプリケーションやメニュー機能が実行されている場合も同様である。
【0145】
詳細な説明は省略するが、入力端末装置7がTV制御モードであっても、ゲーム装置3の処理は中断等されないため、TV制御モードが設定されていない他の入力端末装置7やコントローラ5からの操作データに基づいてゲーム処理が実行されることは言うまでもない。
【0146】
また、図示は省略するが、入力端末装置7は、ゲーム装置3の電源がオフの場合にも、TV制御モードを設定して、テレビ2の操作をすることが可能である。ゲーム装置3の電源がオフの場合には、上述したように、入力端末装置7はスリープの状態(スリープ中)である。スリープ中においては、UIコントローラ85、コーデックLSI86および無線通信モジュール90にのみ、電源が付与される。そして、入力端末装置7では、TVリモコンボタン71または電源ボタン72の操作信号を受け付け、ゲーム装置3からの起動を示す動作データを受信可能としてある。
【0147】
したがって、スリープ状態において、入力端末装置7の電源ボタン72が押されると、上述したように、CPU97によって、入力端末装置7は起動され、電源ボタン72が押された操作情報を含む端末操作データが生成および送信される。これに応じて、ゲーム装置3が起動される。
【0148】
また、スリープ状態において、入力端末装置7のTVリモコンボタン71が押されると、同様に、CPU97によって、入力端末装置7は起動され、TV制御モードが設定され、図6(B)に示すように、TVリモコン画像300がLCD51に表示される。
【0149】
ただし、スリープ状態において、TVリモコンボタン71が押された場合には、ゲーム装置3は起動されないため、入力端末装置7には、ゲーム装置3から制御データ、画像データおよび音声データは送信されない。このため、LCD51には、TVリモコン画像300のみが表示され、その背面側には何ら画像は表示されない。
【0150】
なお、図6(B)では、TVリモコン画像300の背面側に何ら画像が表示されていないことを灰色で塗りつぶすことにより示してある。
【0151】
また、テレビ2への操作データおよびゲーム装置3へのダミー操作データが生成および送信される点は、ゲーム装置3の電源がオンである場合と同じであるため、重複した説明は省略する。
【0152】
このように、ゲーム装置3の状態に拘わらず、TVリモコンボタン71の操作に応じて、TV制御モードが設定され、テレビ2の操作が可能である。ただし、ゲーム装置3の状態とは、ゲーム装置3の電源がオン(起動している)またはオフ(起動していない)の状態、およびゲーム装置3でアプリケーションが実行されているまたは実行されていない状態を意味する。
【0153】
なお、リモコン設定を行って(完了)していない場合には、入力端末装置7をリモコン装置として機能させることができない。したがって、この実施形態では、リモコン設定を完了していない場合には、TVリモコンボタン71が押されると、リモコン設定を実行することを促す画像(設定催促画像)をLCD51に表示するようにしてある。
【0154】
図7は、図2に示したゲーム装置3のメインメモリ(11e,12)のメモリマップ400の一例を示す。図7に示すように、メインメモリ(11e,12)は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、ゲームプログラム410などの情報処理プログラム(アプリケーションプログラム)が記憶される。たとえば、ゲームプログラム410は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。
【0155】
なお、ゲームプログラム410は、光ディスク4に代えて、フラッシュメモリ17やゲーム装置3の外部装置から(たとえばインターネットを介して)取得されてもよい。また、ゲームプログラム410に含まれる一部のプログラムについては、ゲーム装置3内に予め記憶されていてもよい。
【0156】
データ記憶領域404には、受信データ412および送信データ414などが記憶される。
【0157】
受信データ412は、入力端末装置7から受信される各種のデータである。受信データ412は、端末操作データ412a、カメラ画像データ412b、およびマイク音データ412cを含む。入力端末装置7が複数接続される場合には、各入力端末装置7に対応して、端末操作データ412a、カメラ画像データ412bおよびマイク音データ412cも複数記憶される。
【0158】
なお、図示は省略するが、コントローラ5が用いられる場合には、当該コントローラ5から受信されるデータ(コントローラ操作データ)も受信データ412に含まれる。
【0159】
端末操作データ412aは、入力端末装置7に対するユーザの操作を表すデータである。端末操作データ412aは、入力端末装置7から送信されてゲーム装置3において取得され、メインメモリ(11e,12)に記憶される。端末操作データ412aは、上述したように、操作ボタンデータ、スティックデータ、タッチ位置データ、加速度データ、角速度データ、および方位データを含む。
【0160】
なお、メインメモリ(11e,12)には、最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。
【0161】
また、端末操作データ412aは、入力端末装置7を操作するユーザの操作を表すものであればよく、上記各データのいずれか1つのみを含むものであってもよい。
【0162】
カメラ画像データ412bは、入力端末装置7のカメラ56によって撮像された画像(カメラ画像)を表すデータである。カメラ画像データ412cは、入力端末装置7からの圧縮された画像データがコーデックLSI27によって伸張された画像データであり、入出力プロセッサ11aによってメインメモリ(11e,12)に記憶される。
【0163】
なお、メインメモリ(11e,12)には、最新の(最後に取得された)ものから順に所定個数のカメラ画像データが記憶されてもよい。
【0164】
マイク音データ412cは、入力端末装置7のマイク89によって検出された音声(マイク音)を表すデータである。マイク音データ412cは、入力端末装置7から送信されてくる圧縮された音声データがコーデックLSI27によって伸張された音声データであり、入出力プロセッサ11aによってメインメモリ(11e,12)に記憶される。
【0165】
なお、メインメモリ(11e,12)には、最新の(最後に取得された)ものから順に所定個数のマイク音データが記憶されてもよい。
【0166】
送信データ414は、制御データ414a、画像データ414bおよび音声データ414cなどを含む。制御データ414aは、入力端末装置7が備える構成要素に対する制御指示を表すデータである。制御データ414aは、たとえば、カメラ56の撮像を制御する指示等を表す。制御データ414aは、適宜のタイミングで入力端末装置7へ送信される。
【0167】
なお、コントローラ5が用いられる場合には、当該コントローラ5が備える構成要素(図示せず)に対する制御指示を表す制御データが、送信データ414にさらに含まれ、適宜のタイミングで当該コントローラ5へ送信される。
【0168】
画像データ414bは、ゲーム処理によって生成され、入力端末装置7で出力される端末用ゲーム画像の画像データやメニュー機能によって入力端末装置7で出力されるメニュー画像の画像データなどである。音声データ414cは、ゲーム処理によって生成され、入力端末装置7で出力される端末用ゲーム音声の音声データやBGMや効果音についての音声データである。
【0169】
なお、コントローラ5が用いられる場合には、音声データ414cは、当該コントローラ5にも送信される。ただし、入力端末装置7とコントローラ5とで異なる音声データを出力する場合には、コントローラ5で出力される音声データは別途生成される。
【0170】
図示は省略するが、データ記憶領域404には、後述するゲーム全体処理(図9)において用いられるデータが記憶される。たとえば、端末姿勢データ、画像認識データ、および音声認識データなどが記憶される。また、データ記憶領域404には、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。
【0171】
なお、端末姿勢データは、入力端末装置7の姿勢を表すデータである。画像認識データは、上記カメラ画像に対する所定の画像認識処理の結果を表すデータである。音声認識データは、上記マイク音声に対する所定の音声認識処理の結果を表すデータである。
【0172】
図8は、図4に示した入力端末装置7の内部メモリ98のメモリマップ500の一例を示す。図8に示すように、内部メモリ98は、プログラム記憶領域502およびデータ記憶領域504を含む。
【0173】
プログラム記憶領域502には、制御プログラム510などのプログラムが記憶される。制御プログラム510は、入力端末装置7の全体処理を実行するためのプログラムである。
【0174】
データ記憶領域504には、送信データ512、受信データ514およびTVリモコンデータ516が記憶される。また、データ記憶領域504には、TVリモコンフラグ518が設けられる。
【0175】
送信データ512は、端末操作データ512a、カメラ画像データ512bおよびマイク音データ512cを含む。これらは、上述した受信データ412に含まれる端末操作データ412a、カメラ画像データ412bおよびマイク音データ412cと同じ内容であるため、重複した説明は省略する。
【0176】
同様に、受信データ514は、制御データ514a、画像データ514bおよび音声データ514cなどを含む。これらは、上述した送信データ414に含まれる制御データ414a、画像データ414bおよび音声データ414cと同じ内容であるため、重複した説明は省略する。
【0177】
TVリモコンデータ516は、操作内容データ516a、リモコン画像データ516b、送信フォーマットデータ516cおよび操作音データ516dを含む。
【0178】
操作内容データ516aは、図6(A)および図6(B)に示したTVリモコン画像300においてタッチ操作されたボタン画像302a−302fに対応する操作内容(操作情報)についてのデータである。
【0179】
リモコン画像データ516bは、図6(A)および図6(B)に示したTVリモコン画像300についての画像データである。
【0180】
送信フォーマットデータ516cは、入力端末装置7に設定されたテレビ2の種類に対応してゲーム装置3から取得した送信フォーマットについてのデータである。
【0181】
操作音データ516dは、図6(A)および図6(B)に示したTVリモコン画像300に表示されたボタン画像302a−302fを操作した場合に出力される操作音についての音(効果音)データである。詳細な説明は省略するが、操作音は、ボタン画像302a−302fのすべてについて同じ音でよいし、ボタン画像302a−302fの各々で異なる音にしてもよい。
【0182】
ただし、この実施形態では、リモコン画像データ516b、送信フォーマットデータ516cおよび操作音データ516dは、TV制御モードが設定されたときに、フラッシュメモリ93から読み込まれる。
【0183】
TVリモコンフラグ518は、TV制御モードが設定されているかどうかを判断するためのフラグである。このTVリモコンフラグ518は、1ビットのレジスタで構成される。TV制御モードが設定されている場合には、TVリモコンフラグ518はオンされ、レジスタにデータ値「1」が設定される。一方、TV制御モードが設定されていない場合には、TVリモコンフラグ518はオフされ、レジスタにデータ値「0」が設定される。
【0184】
図示は省略するが、データ記憶領域504には、制御プログラム510の実行に必要な他のデータが記憶されたり、他のフラグやカウンタ(タイマ)が設けられたりする。
【0185】
図9は、図2に示したゲーム装置3に設けられるCPU10のゲーム全体処理についてのフロー図である。なお、図9に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、図9に示すフロー図の各ステップの処理をCPU10が実行するものとして説明するが、CPU10以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【0186】
ゲーム装置3の電源が投入されると、ゲーム全体処理の実行に先だって、CPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ(11e,12)等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラム410がメインメモリ(11e、12)に読み込まれ、CPU10によって当該ゲームプログラム410の実行が開始される。
【0187】
CPU10は、ゲーム全体処理を開始すると、ステップS1において、初期処理を実行する。初期処理は、たとえば、仮想のゲーム空間を構築し、ゲーム空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。
【0188】
ステップS3では、CPU10は、入力端末装置7から送信されてくる各種のデータを取得する。
【0189】
なお、コントローラ5が用いられる場合には、CPU10は、ステップS3において、コントローラ5から送信されてくるコントローラ操作データも取得する。ただし、コントローラ5のみが用いられる場合には、コントローラ操作データのみを取得する。
【0190】
次のステップS5において、CPU10はゲーム制御処理を実行する。ゲーム制御処理は、ユーザによるゲーム操作に従ってゲーム空間内のオブジェクトを動作させる処理等を実行し、ゲームを進行させる処理である。本実施形態においては、ユーザは、主として、入力端末装置7を用いて種々のゲームを行うことが可能である。以下、図10を参照して、ゲーム制御処理について説明する。
【0191】
図10は、図2に示すCPU10のゲーム制御処理を示すフロー図である。なお、図10に示す一連の処理は、入力端末装置7を操作装置として用いる場合において実行され得る種々の処理であるが、各処理の必ずしも全てが実行される必要はなく、ゲームの種類や内容によっては一部の処理のみが実行されてもよい。
【0192】
ゲーム制御処理においては、まずステップS31において、CPU10は、入力端末装置7の姿勢を算出する。ただし、入力端末装置7からダミー操作データを受信した場合には、CPU10は、ステップS31の処理(ゲーム処理)を実行しない。後述するステップS33、S35、S37においても同じである。このように、ゲーム装置3では、入力端末装置7からのダミー操作データを受信した場合には、つまり入力端末装置7でTV制御モードが設定されている場合には、ダミー操作データに基づいてゲーム処理を実行しないだけであり、ゲーム処理自体が中断されたり、終了されたりすることはない。
【0193】
なお、コントローラ5が用いられる場合には、CPU10は、ステップS31において、コントローラ5の姿勢も算出する。ただし、コントローラ5のみが用いられる場合には、コントローラ5の姿勢のみが算出される。
【0194】
続いて、ステップS33において、CPU10は、カメラ画像の認識処理を実行する。すなわち、CPU10は、カメラ画像データ104に対して所定の認識処理を行い、認識結果を表すデータを、画像認識データとしてメインメモリ(11e、12)に記憶する。
【0195】
続くステップS35において、CPU10は、マイク音声の認識処理を実行する。すなわち、CPU10は、マイク音データ412dに対して所定の認識処理を行い、認識処理の結果を表すデータは、音声認識データとしてメインメモリ(11e,12)に記憶する。
【0196】
次に、ステップS37において、CPU10は、ゲーム入力に応じたゲーム処理を実行して、図9に示したゲーム全体処理にリターンする。ここで、ゲーム入力とは、入力端末装置7から送信されてくるデータ、あるいは、当該データから得られるデータであればどのようなものであってもよい。具体的には、ゲーム入力は、端末操作データ412aに含まれる各データの他、当該各データから得られるデータ(端末姿勢データ、画像認識データおよび音声認識データ)であってもよい。
【0197】
なお、ゲーム入力には、コントローラ5から送信されてくるコントローラ操作データやそのデータから得られるコントローラ姿勢データが含まれる場合もある。
【0198】
また、ステップS37におけるゲーム処理の内容はどのようなものであってもよく、たとえば、ゲームに登場するオブジェクト(キャラクタ)を動作させる処理、仮想カメラを制御する処理、または、画面に表示されるカーソルを移動する処理であってもよい。また、カメラ画像(またはその一部)をゲーム画像として用いる処理、または、マイク音声をゲーム音声として用いる処理等であってもよい。
【0199】
図9に戻って、ステップS7においては、CPU10およびGPU11bは、テレビ2に表示するためのテレビ用ゲーム画像を生成する。すなわち、CPU10およびGPU11bは、ステップS5のゲーム制御処理の結果を表すデータをメインメモリ(11e,12)から読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、テレビ用ゲーム画像を生成する。
【0200】
次のステップS9において、CPU10およびGPU11bは、入力端末装置7に表示するための端末用ゲーム画像を生成する。端末用ゲーム画像もまた、上記テレビ用ゲーム画像と同様に、ステップS5のゲーム制御処理の結果を表すものであればよく、どのような方法で生成されてもよい。
【0201】
続いて、ステップS11においては、CPU10は、テレビ2のスピーカ2aに出力するためのテレビ用ゲーム音声を生成する。すなわち、CPU10は、ステップS5のゲーム制御処理の結果に応じたゲーム音声をDSP11cに生成させる。
【0202】
次に、ステップS13においては、CPU10は、入力端末装置7のスピーカ87に出力するための端末用ゲーム音声を生成する。すなわち、CPU10は、ステップS5のゲーム制御処理の結果に応じたゲーム音声をDSP11cに生成させる。
【0203】
ただし、テレビ用ゲーム音声と端末用ゲーム音声とが同一である場合には、ステップS13の処理は実行されなくてよい。
【0204】
また、コントローラ5が用いられる場合には、ステップS13においては、CPU10は、コントローラ5に出力するためのゲーム音声を生成する。
【0205】
続いて、ステップS15において、CPU10は、テレビ2へゲーム画像およびゲーム音声を出力する。具体的には、CPU10は、VRAM11dに記憶されたテレビ用ゲーム画像の画像データと、ステップS11でDSP11cによって生成されたテレビ用ゲーム音声の音声データとをAV−IC15へ送る。
【0206】
次に、ステップS17において、CPU10は、入力端末装置7へゲーム画像およびゲーム音声を送信する。具体的には、VRAM11dに記憶された端末用ゲーム画像の画像データ、および、ステップS13でDSP11cによって生成された音声データは、CPU10によってコーデックLSI86に送られ、コーデックLSI86によって所定の圧縮処理が行われる。さらに、圧縮処理が施された画像および音声のデータは、端末通信モジュール28によってアンテナ29を介して入力端末装置7へ送信される。入力端末装置7は、ゲーム装置3から送信されてくる画像および音声のデータを無線モジュール90によって受信し、コーデックLSI86によって所定の伸張処理が行われる。伸張処理が行われた画像データはLCD51に出力され、伸張処理が行われた音声データはサウンドIC88に出力される。
【0207】
なお、コントローラ5が用いられる場合には、ステップS17においては、ステップS13において生成した音声データを、当該コントローラ5に送信する。
【0208】
そして、ステップS19において、CPU10は、ゲームを終了するかどうかを判断する。ステップS19の判断は、たとえば、ゲームオーバーになったか否か、あるいは、ユーザがゲームを中止する指示を行ったか否か等によって行われる。
【0209】
ステップS19で“NO”であれば、つまりゲームを終了しない場合には、ステップS3に戻る。一方、ステップS19で“YES”であれば、つまりゲームを終了する場合には、ゲーム全体処理を終了する。
【0210】
図11−図16は、図4に示した入力端末装置7のCPU97の制御処理を示すフロー図である。図11に示すように、CPU97は、制御処理を開始すると、ステップS71において、スリープ中かどうかを判断する。ステップS71で“YES”であれば、つまりスリープ中であれば、図16に示すステップS143に進む。
【0211】
一方、ステップS71で“NO”であれば、つまりスリープ中でなければ、ステップS73において、受信データ514があるかどうかを判断する。CPU97は、制御処理とは別のタスクで受信処理を実行しており、ゲーム装置3から送信されたデータを受信データ514として内部メモリ98に記憶する。したがって、ステップS73においては、CPU97は、データ記憶領域504に受信データ514が記憶されているかどうかを判断するのである。
【0212】
ステップS73で“NO”であれば、つまり受信データ54が無ければ、そのまま図12に示すステップS89に進む。一方、ステップS73で“YES”であれば、つまり受信データ514があれば、ステップS75で、制御データ514aであるかどうかを判断する。ステップS75で“YES”であれば、つまり制御データ514aであれば、ステップS77で、制御データに応じた処理を実行して、図12に示すステップS89に進む。たとえば、ステップS77では、CPU97は、カメラ56、タッチパネルコントローラ81、各センサ82〜84および赤外線通信モジュール92の各構成要素を動作させたり、動作を休止(停止)させたりする。
【0213】
また、ステップS75で“NO”であれば、画像データおよび音声データと判断して、ステップS79で、TVリモコンフラグ518がオンであるかどうかを判断する。ステップS79で“NO”であれば、つまりTVリモコンフラグ518がオフであれば、TV制御モードが設定されていないと判断して、ステップS81で、端末用ゲーム音声をそのまま出力し、ステップS83で、端末用ゲーム画像250をそのまま表示(更新)して、図12に示すステップS89に進む。
【0214】
一方、ステップS79で“YES”であれば、つまりTVリモコンフラグがオンであれば、TV制御モードが設定されていると判断して、ステップS85で、端末用ゲーム音声を、音量を低減して出力し、端末用ゲーム画像250をリモコン画像300の背面に表示(更新)して、図12に示すステップS89に進む。
【0215】
なお、ステップS81−S87では、画像データ514bおよび音声データ514cが受信データ514に含まれていることを前提として説明したが、いずれか一方のみしか含まれていない場合には、ステップS81−S85の処理は適宜省略される。
【0216】
図12に示すように、ステップS89においては、TVリモコンボタン71が操作(オン)されたかどうかを判断する。ステップS89で“YES”であれば、つまりTVリモコンボタン71が操作されれば、図13に示すステップS101に進む。一方、ステップS89で“NO”であれば、つまりTVリモコンボタン71が操作されていなければ、ステップS91において、電源ボタン72が操作されたかどうかを判断する。
【0217】
ステップS91で“YES”であれば、つまり電源ボタン72が操作されれば、図14に示すステップS117に進む。一方、ステップS91で“NO”であれば、つまり電源ボタン72が操作されなければ、ステップS93において、他のボタン(操作ボタン54)が操作されたかどうかを判断する。
【0218】
ステップS93で“NO”であれば、つまり他のボタンが操作されていなければ、図15に示すステップS123に進む。一方、ステップS93で“YES”であれば、つまり他のボタンが操作されれば、ステップS95で、TVリモコンフラグ518がオンかどうかを判断する。つまり、CPU97は、TV制御モードが設定されているかどうかを判断する。
【0219】
ステップS95で“NO”であれば、つまりTVリモコンフラグ518がオフであれば、TV制御モードが設定されていないと判断して、ステップS97で、他のボタンの操作に応じた端末操作データを生成および送信して、ステップS73に戻る。つまり、ステップS97では、CPU97は、IEEE802.11n規格に従う端末操作データを生成し、無線モジュール90からアンテナ91を介して送信する。したがって、ゲーム装置3にユーザの操作内容が入力される。これに応じて、ゲーム装置3では、上述したように、ゲーム処理などが実行される。
【0220】
以下、端末操作データを生成および送信する場合について同様であるが、ダミー操作データを生成および送信した場合には、上述したように、ゲーム装置3では、ダミー操作データに基づいてゲーム処理が実行されることはない。
【0221】
一方、ステップS95で“YES”であれば、つまりTVリモコンフラグ518がオンであれば、TV制御モードが設定されていると判断して、ステップS99において、ダミー操作データを生成および送信して、ステップS73に戻る。
【0222】
上述したように、スリープ中でない場合に、TVリモコンボタン71が操作されると、ステップS89で“YES”となり、図13に示すステップS101において、TVリモコンフラグ518がオンであるかどうかを判断する。
【0223】
ステップS101で“YES”であれば、つまりTVリモコンフラグ518がオンであれば、ステップS103で、TVリモコン画像300を閉じ、ステップS105で、TVリモコンフラグ518をオフして、図11に示したステップS73に戻る。つまり、CPU97は、TV制御モードを終了する。
【0224】
一方、ステップS101で“NO”であれば、つまりTVリモコンフラグ518がオフであれば、ステップS107で、リモコン設定を完了しているかどうかを判断する。ここでは、CPU97は、フラッシュメモリ93に、送信フォーマットデータ516cが記憶されているかどうかを判断する。
【0225】
ステップS107で“NO”であれば、つまりリモコン設定を完了していなければ、ステップS109で、設定催促画像をLCD51に表示して、ステップS73に戻る。図示は省略するが、上述したように、設定催促画像は数秒間表示された後に消去される。
【0226】
一方、ステップS107で“YES”であれば、つまりリモコン設定を完了していれば、ステップS111で、TVリモコン用のデータをフラッシュメモリ93から読み込む。具体的には、CPU97は、リモコン画像データ516b、送信フォーマットデータ516cおよび操作音データ525dをフラッシュメモリ93から読み出して、内部メモリ98のデータ記領域504に記憶する。
【0227】
続いて、ステップS113においては、ステップS113で、TVリモコン画像300をLCD51に表示する。このとき、図6(A)に示したように、端末用ゲーム画像250の前面に、TVリモコン画像300が表示される。そして、ステップS115において、TVリモコンフラグ518をオンして、ステップS73に戻る。
【0228】
また、上述したように、スリープ中でない場合に、電源ボタン72が操作されると、ステップS91で“YES”となり、図14に示すステップS117において、電源ボタン72の操作に応じた端末操作データを生成および送信する。次に、ステップS119においては、TVリモコンフラグ518がオンであるかどうかを判断する。
【0229】
ステップS119で“YES”であれば、つまりTVリモコンフラグ518がオンであれば、テレビ2の操作中である、またはテレビ2を操作する可能性があるため、そのまま図11に示したステップS73に戻る。一方、ステップS119で“NO”であれば、つまりTVリモコンフラグ518がオフであれば、TV制御モードが設定されていないと判断し、ステップS121で、入力端末装置7をスリープさせて、図11に示したステップS71に戻る。ただし、ステップS121においては、CPU97の指示によって、UIコントローラ85、コーデックLSI86および無線モジュール90への電源供給は継続され、他の回路コンポーネントへの電源供給は停止される。
【0230】
上述したように、スリープ中でない場合に、操作ボタン54、TVリモコンボタン71および電源ボタン72が操作されなければ、ステップS93で“NO”となり、図15に示すステップS123において、タッチ入力があるかどうかを判断する。
【0231】
ステップS123で“NO”であれば、つまりタッチ入力が無ければ、そのままステップS73に戻る。ただし、図示は省略するが、入力端末装置7において、カメラ画像が撮像されたり、音声が検出されたりしている場合には、ステップS123で“NO”である場合には、カメラ画像データや音声データをゲーム装置3に送信した後に、ステップS73に戻る。一方、ステップS123で“YES”であれば、つまりタッチ入力があれば、ステップS125において、TVリモコンフラグ518がオンであるかどうかを判断する。
【0232】
ステップS125で“NO”であれば、つまりTVリモコンフラグ518がオフであれば、タッチ操作に応じた端末操作データを生成および送信して、図11に示したステップS73に戻る。一方、ステップS125で“YES”であれば、つまりTVリモコンフラグ518がオンであれば、ステップS129で、操作内容を特定する。ここでは、CPU97は、タッチ位置データに基づいて、タッチ操作されたボタン画像(302a−302f)を特定し、特定したボタン画像(302a−302f)に割り当てられた操作内容を特定する。したがって、操作内容に対応する操作内容データ516aがデータ記憶領域504に記憶される。
【0233】
続くステップS131においては、ボタン画像(302a−302f)の操作に応じた操作音を出力する。つまり、CPU97は、ボタン画像(302a−302f)の操作に応じて、操作音データ516dを出力する。
【0234】
次のステップS133においては、TVリモコンの終了かどうかを判断する。ここでは、CPU97は、ステップS129で特定された操作内容が、TVリモコン画像300を閉じることであるかどうかを判断するのである。
【0235】
ステップS133で“NO”であれば、つまりTVリモコンの終了でなければ、ステップS135で、タッチ操作に応じたリモコン操作データを、送信フォーマットデータ516cに従って生成および送信し、ステップS137においては、ダミー操作データを生成および送信して、図11に示したステップS73に戻る。
【0236】
ただし、ステップS135では、リモコンIC100は、CPU97の指示の下、送信フォーマットデータ516cに従って、操作内容データ516aをコード化したリモコン操作データを生成し、赤外LED101から出力する。したがって、赤外線によるリモコン操作データが送信される。
【0237】
一方、ステップS133で“YES”であれば、TVリモコンの終了であれば、ステップS139で、TVリモコン画像300を閉じて、ステップS141で、TVリモコンフラグ518をオフして、図11に示したステップS73に戻る。ステップS139の処理によって、入力端末装置7は、ゲーム装置3に端末操作データを送信(入力)可能なモードに設定(移行)される。つまり、ゲーム装置3で実行されるゲーム(アプリケーション)に対して入力可能なモード(アプリケーションモード)に設定される。
【0238】
また、上述したように、スリープ中である場合には、ステップS71で“YES”となり、図16に示すステップS143において、電源オンの制御データ514aを受信したかどうかを判断する。
【0239】
なお、これ以降では、ステップS71−S141までに説明した処理と同じ処理については、簡単に説明することにする。
【0240】
ステップS143で“YES”であれば、つまり起動(電源オン)の動作データを受信すれば、ステップS145で、入力端末装置7を起動して、図11に示したステップS73に戻る。一方、ステップS143で“NO”であれば、つまり起動の動作データを受信していなければ、ステップS147で、TVリモコンボタン71が操作されたかどうかを判断する。ステップS147で“YES”であれば、ステップS149で、入力端末装置7を起動する。
【0241】
次のステップS151では、リモコン設定を完了しているかどうかを判断する。ステップS151で“NO”であれば、ステップS153で、設定催促画像をLCD51に表示して、図11に示したステップS73に戻る。一方、ステップS151で“YES”であれば、ステップS155で、TVリモコン用のデータを読み込む。そして、ステップS157において、TVリモコン画像300をLCD51に表示し、ステップS159において、TVリモコンフラグ518をオンして、図11に示したステップS73に戻る。
【0242】
また、ステップS147で“NO”であれば、ステップS161において、電源ボタン72が操作されたかどうかを判断する。ステップS161で“NO”であれば、図11に示したステップS71に戻る。一方、ステップS161で“YES”であれば、ステップS163で、入力端末装置7を起動し、ステップS165で、電源ボタン72の操作に応じた端末操作データを生成および送信して、ステップS73に戻る。
【0243】
なお、図示は省略したが、入力端末装置7は、ゲーム装置3から停止の動作データを受信すると、TV制御モードが設定されていない場合には、スリープの状態となる。一方、TV制御モードが設定されている場合には、入力端末装置7は、スリープの状態にならず、TV制御モードが継続される。
【0244】
この実施形態によれば、所定の入力がある場合に、ゲーム装置に対して入力可能なモードと、テレビを制御可能なモードとを切り替えるので、当該テレビに付属のリモコンに持ち替える必要がない。
【0245】
また、この実施形態によれば、入力端末装置がテレビのリモコン装置としても機能する場合であっても、ゲーム装置はアプリケーションの処理を中断または停止する必要がないため、アプリケーションの処理を継続したままで、テレビを操作することができる。
【0246】
さらに、この実施形態によれば、ゲーム装置の操作データと、テレビの操作データとは異なる通信形式であるため、ゲーム装置やテレビを誤って操作することがない。
【0247】
なお、上述の実施形態においては、ゲーム装置とは異なる制御対象機器としてテレビを制御する場合について説明したが、これに限定される必要はない。たとえば、エアコン、オーディオ、シーリングライトなどの遠隔操作可能な機器を制御対象機器することができる。ただし、各機器に応じた送信フォーマットデータを端末装置に登録(記憶)する必要がある。
【0248】
また、この実施形態では、制御対象機器への操作データを赤外線信号で送信する場合について説明したが、これに限定される必要はない。Wi−FiやBluetooth(ブルートゥース)(登録商標)などの他の形式で操作データを制御対象機器に送信するようにしてもよい。ただし、ゲーム装置への操作データと同一の形式となる場合には、使用する周波数帯を互いに異なるように設定する必要がある。
【0249】
さらに、上述の実施形態においては、TVリモコン画像を表示して、タッチ操作によってテレビを操作(制御)するようにしたが、これに代えて、または、これとともに、操作ボタン54を用いてテレビを操作するようにしてもよい。
【0250】
さらに、上述の実施形態においては、TVリモコンボタンのような専用のボタンを端末装置に設けて、このボタンがオンされた場合にTV制御モードを設定するようにしたが、これに限定される必要はない。専用のボタンがオンされる場合と同様に、所定の入力を検知した場合に、TV制御モードを設定するようにしてもよい。
【0251】
たとえば、入力端末装置は、マイク、カメラ、加速度センサ、ジャイロセンサ等のような種々のセンサを備えるため、音を検出したり、画像認識したり、明るさ(輝度)を検出したり、加速度を検出したり、角速度を検出したりして、所定の入力があるかどうかを判断することができる。そして、所定の音量以上の音(音声)を検出したり、所定の顔画像を検出(認識)したり、所定の輝度以上の光を検出したり、加速度や角速度の変化で入力端末装置の姿勢や移動ないし振動を検出したり、専用のボタン以外の他のボタンの複合的な操作などを検出したりした場合に、所定の入力があると判断することができる。
【0252】
また、上述の実施形態は、図11−図16に示した制御処理が複数のコンピュータ等によって分散処理されるような制御システムにも適用可能である。
【0253】
さらに、上述の実施形態においては、据置型のゲーム装置と共に用いられる入力端末装置を例として説明したが、本明細書に記載の操作装置の構成は、ユーザが把持して使用する任意の装置に適用することが可能である。たとえば、操作装置は、携帯ゲーム機、フィーチャーフォン(フューチャーフォン)、スマートフォン、および電子書籍端末等の情報端末として実現されてもよい。
【符号の説明】
【0254】
1 …ゲームシステム
2 …テレビ
3 …ゲーム装置
4 …光ディスク
5 …コントローラ
7 …入力端末装置
10 …CPU
11e …内部メインメモリ
12 …外部メインメモリ
51 …LCD
52 …タッチパネル
53 …アナログスティック
54 …操作ボタン
56 …カメラ
59 …庇部
71 …TVリモコンボタン
72 …電源ボタン
82 …磁気センサ
83 …加速度センサ
84 …ジャイロセンサ

【特許請求の範囲】
【請求項1】
入力端末装置からの入力に基づいてアプリケーションを実行する情報処理装置における当該入力端末装置の制御プログラムであって、
前記入力端末装置のコンピュータを、
所定の入力が有るかどうかを判断する入力判断部と、
前記入力判断部によって所定の入力があると判断されたとき、前記アプリケーションを実行する前記情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるモード設定部として機能させる、制御プログラム。
【請求項2】
前記入力端末装置は、操作情報を入力するため操作手段を備え、
前記アプリケーションモードのとき、前記操作情報に対応するアプリケーション操作データを生成するアプリケーション操作データ生成部と、
前記アプリケーション操作データを、前記情報処理装置に送信するアプリケーション操作データ送信部と、
前記機器制御モードであるとき、前記操作情報に基づき前記制御対象機器に対応した機器操作データを生成する機器操作データ生成部と、
前記機器操作データを、前記制御対象機器に送信する機器操作データ送信部として前記コンピュータをさらに機能させる、請求項1記載の制御プログラム。
【請求項3】
前記モード設定部において前記機器制御モードを設定したとき、前記アプリケーション操作データに対応し、前記操作情報に基づかない所定のダミー操作データを生成するダミー操作データ生成部と、
前記ダミー操作データを、前記情報処理装置に送信するダミー操作データ送信部として前記コンピュータをさらに機能させる、請求項2記載の制御プログラム。
【請求項4】
前記アプリケーション操作データ生成部において生成するアプリケーション操作データと、前記機器操作データ生成部において生成する機器操作データとは異なる形式のデータである、請求項2または3記載の制御プログラム。
【請求項5】
前記アプリケーション操作データ送信部は、前記アプリケーション操作データを、第1送信手段を用いて前記情報処理装置に送信し、
前記機器操作データ送信部は、前記機器操作データを、前記第1送信手段とは異なる第2送信手段を用いて前記制御対象機器に送信する、請求項2ないし4のいずれかに記載の制御プログラム。
【請求項6】
前記制御対象機器の種類を選択する機器選択部として前記コンピュータをさらに機能させ、
前記機器操作データ生成部は、前記機器選択部において選択された前記制御対象機器の種類に応じて前記機器操作データを生成する、請求項2ないし5のいずれかに記載の制御プログラム。
【請求項7】
前記入力端末装置は、前記所定の入力をさせるための所定入力手段を備え、
前記所定入力手段が操作されることに応じて、前記入力判断部は前記所定の入力が有ると判断し、
前記モード設定部は、前記入力判断部によって所定の入力が有ると判断されたときに前記機器制御モードを設定し、当該機器制御モードが設定されているときに、前記所定の入力が有ると判断されたときに当該機器制御モードを終了する、請求項1ないし6のいずれかに記載の制御プログラム。
【請求項8】
前記情報処理装置から画像データを受信して、当該画像データに対応する画像を表示手段に表示する受信画像表示部と、
前記モード設定部において前記機器制御モードを設定したとき、前記表示手段に表示される画像の前面に、前記制御対象機器の操作画像を表示する操作画像表示部として前記コンピュータを機能させる、請求項1ないし7のいずれかに記載の制御プログラム。
【請求項9】
前記情報処理装置からの音声データを受信して、当該音声データに対応する音声をスピーカから出力する音声出力部として前記コンピュータをさらに機能させ、
前記モード設定部において機器制御モードを設定したとき、前記音声出力部は、前記情報処理装置からの音声データに対応する音声の音量を低減させる、請求項1ないし8のいずれかに記載の制御プログラム。
【請求項10】
前記アプリケーションは、ゲームアプリケーションを含む、請求項1ないし9のいずれかに記載の制御プログラム。
【請求項11】
前記入力端末装置は、前記情報処理装置の電源を制御するための電源制御情報を入力するための電源操作手段をさらに備え、
前記電源操作手段によって電源制御情報が入力されたとき、前記機器制御モードを設定しているか否かに拘わらず、電源制御情報についての電源制御データを生成する電源制御データ生成部と、
前記電源制御データ生成部において生成された電源制御データを、前記情報処理装置に送信する電源制御データ送信部として前記コンピュータをさらに機能させる、請求項1ないし10のいずれかに記載の制御プログラム。
【請求項12】
アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御プログラムであって、
前記入力端末装置は、前記情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンを備え、
前記入力端末装置のコンピュータを、
前記専用ボタンが操作されたかどうかを判断する入力判断部と、
前記入力判断部において前記専用ボタンが操作されたことが判断されたとき、前記情報処理装置の起動の有無に拘わらず、前記機器制御モードを設定するモード設定部として機能させる、制御プログラム。
【請求項13】
アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置であって、
所定の入力が有るかどうかを判断する入力判断部と、
前記入力判断部において所定の入力があると判断されたとき、前記アプリケーションを実行する前記情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるモード設定部を備える、入力端末装置。
【請求項14】
アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置であって、
前記情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンと、
前記専用ボタンが操作されたかどうかを判断する入力判断部と、
前記入力判断部において前記専用ボタンが操作されたことが判断されたとき、前記情報処理装置の起動の有無に拘わらず、前記機器制御モードを設定するモード設定部を備える、入力端末装置。
【請求項15】
アプリケーションを実行する情報処理装置に対して入力を行う制御システムであって、
所定の入力が有るかどうかを判断する入力判断部と、
前記入力判断部において所定の入力があると判断されたとき、前記アプリケーションを実行する前記情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替えるモード設定部を備える、制御システム。
【請求項16】
アプリケーションを実行する情報処理装置に対して入力を行う制御システムであって、
前記情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンと、
前記専用ボタンが操作されたかどうかを判断する入力判断部と、
前記入力判断部において前記専用ボタンが操作されたことが判断されたとき、前記情報処理装置の起動の有無に拘わらず、前記機器制御モードを設定するモード設定部を備える、制御システム。
【請求項17】
アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御方法であって、
前記入力端末装置のコンピュータは、
(a)所定の入力が有るかどうかを判断し、そして
(b)前記ステップ(a)において所定の入力があると判断されたとき、前記アプリケーションを実行する前記情報処理装置に対して入力可能なアプリケーションモードと、少なくとも、当該情報処理装置とは異なる制御対象機器を制御可能な機器制御モードとを切り替える、制御方法。
【請求項18】
アプリケーションを実行する情報処理装置に対して入力を行う入力端末装置の制御方法であって
前記入力端末装置は、前記情報処理装置とは異なる制御対象機器を制御可能な機器制御モードを設定するための専用ボタンを備え、
前記入力端末装置のコンピュータは、
(a)前記専用ボタンが操作されたかどうかを判断し、
(b)前記ステップ(a)において前記専用ボタンが操作されたことが判断されたとき、前記情報処理装置の起動の有無に拘わらず、前記機器制御モードを設定する、制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2013−102359(P2013−102359A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−245095(P2011−245095)
【出願日】平成23年11月9日(2011.11.9)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】