[1.ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。図1において、ゲームシステム1は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)2、据置型のゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、端末装置7を含む。ゲームシステム1は、コントローラ5および/または端末装置7を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ2および/または端末装置7に表示するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ2はスピーカ2a(図2)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置3と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置3とテレビ2との通信は無線通信であってもよい。
テレビ2の画面の周辺(図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザ(プレイヤ)はコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、コントローラ5の動きや位置や姿勢等をゲーム装置3が算出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、テレビ2の前方に向かって赤外光を出力する。マーカ装置6はゲーム装置3に接続されており、ゲーム装置3はマーカ装置6が備える各赤外LEDの点灯を制御することが可能である。なお、マーカ装置6は可搬型であり、ユーザはマーカ装置6を自由な位置に設置することができる。図1ではマーカ装置6がテレビ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。
コントローラ5は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に与えるものである。コントローラ5とゲーム装置3とは無線通信によって通信可能である。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。また、本実施形態では、ゲームシステム1に含まれるコントローラ5は1つとするが、ゲーム装置3は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ5の詳細な構成については後述する。
端末装置7は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置7を手に持って動かしたり、あるいは、端末装置7を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置7は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)51、および、入力手段(後述するタッチパネル52やジャイロセンサ64等)を備える。端末装置7とゲーム装置3とは無線(有線であってもよい)によって通信可能である。端末装置7は、ゲーム装置3で生成された画像(例えばゲーム画像)のデータをゲーム装置3から受信し、画像をLCD51に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置7は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置7は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に送信する。
[2.ゲーム装置3の内部構成]
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の内部構成を示すブロック図である。ゲーム装置3は、CPU(Central Processing Unit)10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM(Video RAM)11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。なお、ゲーム装置3は、テレビ2に表示する画像と、端末装置7に表示する画像との両方を生成する。以下では、テレビ2に表示される画像を「テレビ用画像」と呼び、端末装置7に表示される画像を「端末用画像」と呼ぶことがある。
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、テレビ2のスピーカから出力するゲーム音声と、端末装置7のスピーカから出力するゲーム音声との両方が生成される。以下では、テレビ2から出力される音声を「テレビ用音声」と呼び、端末装置7から出力される音声を「端末用音声」と呼ぶことがある。
上記のようにゲーム装置3において生成される画像および音声のうちで、テレビ2において出力される画像および音声のデータは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、テレビ2に画像が表示されるとともにスピーカ2aから音が出力される。なお、ゲーム装置3とテレビ2との接続は、どのような方式で行われてもよいが、ゲーム装置3は、テレビ2を制御する制御指令を有線または無線でテレビ2へ送信するようにしてもよい。例えばHDMI(High−Definition Multimedia Interface)規格に則ったHDMIケーブルが用いられてもよい。HDMI規格では、CEC(Consumer Electronics Control)と呼ばれる機能によって、接続相手の機器を制御することが可能である。したがって、HDMIケーブルが用いられる場合のように、ゲーム装置3がテレビ2に対する制御が可能である場合には、ゲーム装置3は、適宜のタイミングでテレビ2の電源をオンにしたり、テレビ2の入力を切り替えたりすることができる。
また、ゲーム装置3において生成される画像および音声のうちで、端末装置7において出力される画像および音声のデータは、入出力プロセッサ11a等によって端末装置7へ送信される。入出力プロセッサ11a等による端末装置7へのデータの送信については後述する。
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。また、ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。コーデックLSI27は端末通信モジュール28に接続され、端末通信モジュール28にはアンテナ29が接続される。
ゲーム装置3は、インターネット等のネットワークに接続して外部の情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続可能であり、ネットワークに接続される他の装置と通信を行うことができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と外部情報処理装置との間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17にはゲームプログラムが記憶されてもよい。
また、ゲーム装置3は、コントローラ5からの操作データを受信することが可能である。すなわち、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
また、ゲーム装置3は、端末装置7との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ11aは、端末装置7へゲーム画像(端末用ゲーム画像)を送信する場合、GPU11bが生成したゲーム画像のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置7との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。なお、本実施形態では、ゲーム装置3から端末装置7へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置3から端末装置7への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置7との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
また、ゲーム装置3は、画像データの他、音声データを端末装置7へ送信する。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置7へ送信する。
さらに、ゲーム装置3は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置7へ送信する。制御データは、端末装置7が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(図10に示すマーカ部55)の点灯を制御する指示や、カメラ(図10に示すカメラ56)の撮像を制御する指示等を表す。入出力プロセッサ11aは、CPU10の指示に応じて制御データを端末装置7へ送信する。なお、この制御データに関して、本実施形態ではコーデックLSI27はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置3から端末装置7へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
また、ゲーム装置3は、端末装置7から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置7は、操作データ、画像データ、および音声データを送信する。端末装置7から送信される各データはアンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置7からの画像データおよび音声データは、ゲーム装置3から端末装置7への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ11aに出力される。一方、端末装置7からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ11aに出力される。入出力プロセッサ11aは、端末装置7から受信したデータを、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
また、ゲーム装置3は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタによって外部の電源からゲーム装置3の各構成要素に対して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックLSI27、端末通信モジュール28およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置7と通信可能な構成とすることができる。
[3.コントローラ5の構成]
次に、図3〜図7を参照して、コントローラ5について説明する。図3は、コントローラ5の外観構成を示す斜視図である。図4は、コントローラ5の外観構成を示す斜視図である。図3は、コントローラ5の上側後方から見た斜視図であり、図4は、コントローラ5を下側前方から見た斜視図である。
図3および図4において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、コントローラ5に設けられたボタンを押下すること、および、コントローラ5自体を動かしてその位置や姿勢(傾き)を変えることによってゲーム操作を行うことができる。
ハウジング31には、複数の操作ボタンが設けられる。図3に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。本明細書では、これらのボタン32a〜32hが設けられるハウジング31の上面を「ボタン面」と呼ぶことがある。一方、図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、ユーザがホームボタン32fまたは電源ボタン32hを誤って押下することを防止することができる。
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器(例えば、他のセンサユニットやコントローラ)を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。
ハウジング31上面の後方には複数(図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
また、コントローラ5は撮像情報演算部35(図6)を有しており、図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ47(図5)からの音を外部に放出するための音抜き孔31aが形成されている。
次に、図5および図6を参照して、コントローラ5の内部構造について説明する。図5および図6は、コントローラ5の内部構造を示す図である。なお、図5は、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6は、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6に示す斜視図は、図5に示す基板30を裏面から見た斜視図となっている。
図5において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ47等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図6参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してコントローラ5の中心よりも前方に配置されている。また、無線モジュール44(図6)およびアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。
一方、図6において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ46が設けられている。バイブレータ46は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ46が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ46は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ46がコントローラ5の中心よりも端側に配置することによって、バイブレータ46の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図5および図6に示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ47に音声信号を出力するアンプ等を備えている。
なお、図3〜図6に示したコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
図7は、コントローラ5の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、撮像情報演算部35、通信部36、加速度センサ37、およびジャイロセンサ48を備えている。コントローラ5は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置3へ送信するものである。なお、以下では、コントローラ5が送信する操作データを「コントローラ操作データ」と呼び、端末装置7が送信する操作データを「端末操作データ」と呼ぶことがある。
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を表す操作ボタンデータを通信部36のマイコン42へ出力する。
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置7のマーカ部55およびマーカ装置6は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、撮像対象(マーカ部55および/またはマーカ装置6)の画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ37は、例えば静電容量式のMEMS(Micro Electro Mechanical System)型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトルとして表される。
加速度センサ37が検出した加速度を表すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や動きに対応して変化するので、ゲーム装置3は取得された加速度データを用いてコントローラ5の向きや動きを算出することができる。本実施形態では、ゲーム装置3は、取得された加速度データに基づいてコントローラ5の姿勢や傾斜角度等を算出する。
なお、加速度センサ37(後述する加速度センサ63についても同様)から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)またはコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度または姿勢を判定することができる。
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の動き方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
ジャイロセンサ48は、3軸(本実施形態では、XYZ軸)回りの角速度を検出する。本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、X軸回りの回転方向をピッチ方向、Y軸回りの回転方向をヨー方向、Z軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ48は、3軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ48は、3軸ジャイロセンサであってもよいし、2軸ジャイロセンサと1軸ジャイロセンサとを組み合わせて3軸周りの角速度を検出するものであってもよい。ジャイロセンサ48で検出された角速度を表すデータは、通信部36へ出力される。また、ジャイロセンサ48は1軸または2軸回りの角速度を検出するものであってもよい。
通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。
操作部32、撮像情報演算部35、加速度センサ37、およびジャイロセンサ48からマイコン42へ出力されたデータは、一時的にメモリ43に格納される。これらのデータは、操作データ(コントローラ操作データ)としてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3のコントローラ通信モジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側のコントローラ通信モジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、コントローラ5から取得した操作データを用いてゲーム処理を行う。なお、通信部36からコントローラ通信モジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で操作データをゲーム装置3のコントローラ通信モジュール19へ出力する。
以上のように、コントローラ5は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。また、ゲーム装置3は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ5を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5自体を動かすゲーム操作を行うことができる。例えば、コントローラ5を任意の姿勢に傾ける操作、コントローラ5によって画面上の任意の位置を指示する操作、および、コントローラ5自体を動かす操作等を行うことが可能となる。
また、本実施形態において、コントローラ5は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。
[4.端末装置7の構成]
次に、図8〜図10を参照して、端末装置7の構成について説明する。図8は、端末装置7の外観構成を示す図である。図8における(a)図は端末装置7の正面図であり、(b)図は上面図であり、(c)図は右側面図であり、(d)図は下面図である。また、図9は、ユーザが端末装置7を把持した様子を示す図である。
図8に示されるように、端末装置7は、大略的には横長の長方形の板状形状であるハウジング50を備える。ハウジング50は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置7を持って動かしたり、端末装置7の配置位置を変更したりすることができる。
端末装置7は、ハウジング50の表面にLCD51を有する。LCD51は、ハウジング50の表面の中央付近に設けられる。したがって、ユーザは、図9に示すようにLCD51の両側部分のハウジング50を持つことによって、LCD51の画面を見ながら端末装置を持って動かすことができる。なお、図9ではユーザがLCD51の左右両側の部分のハウジング50を持つことで端末装置7を横持ちで(横に長い向きにして)持つ例を示しているが、端末装置7を縦持ちで(縦に長い向きにして)持つことも可能である。
図8の(a)図に示すように、端末装置7は、操作手段として、LCD51の画面上にタッチパネル52を有する。本実施形態では、タッチパネル52は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル52はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル52として、LCD51の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル52の解像度とLCD51の解像度が一致している必要はない。タッチパネル52に対する入力は通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル52に対する入力をすることも可能である。なお、ハウジング50には、タッチパネル52に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、端末装置7はタッチパネル52を備えるので、ユーザは、端末装置7を動かしながらタッチパネル52を操作することができる。つまりユーザは、LCD51の画面を動かしつつ、その画面に対して直接(タッチパネル52によって)入力を行うことができる。
図8に示すように、端末装置7は、操作手段として、2つのアナログスティック53Aおよび53Bと、複数のボタン54A〜54Lとを備えている。各アナログスティック53Aおよび53Bは、方向を指示するデバイスである。各アナログスティック53Aおよび53Bは、ユーザの指で操作されるスティック部がハウジング50の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライド(または傾倒)することができるように構成されている。また、左アナログスティック53AはLCD51の画面の左側に、右アナログスティック53BはLCD51の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、図9に示すように、各アナログスティック53Aおよび53Bは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置7を持って動かす場合においても各アナログスティック53Aおよび53Bを容易に操作することができる。
各ボタン54A〜54Lは、所定の入力を行うための操作手段である。以下に示すように、各ボタン54A〜54Lは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられる(図9参照)。したがって、ユーザは、端末装置7を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
図8の(a)図に示すように、ハウジング50の表面には、各操作ボタン54A〜54Lのうち、十字ボタン(方向入力ボタン)54Aと、ボタン54B〜54Hとが設けられる。つまり、これらのボタン54A〜54Gは、ユーザの親指で操作可能な位置に配置されている(図9参照)。
十字ボタン54Aは、LCD51の左側であって、左アナログスティック53Aの下側に設けられる。つまり、十字ボタン54Aはユーザの左手で操作可能な位置に配置されている。十字ボタン54Aは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、ボタン54B〜54Dは、LCD51の下側に設けられる。これら3つのボタン54B〜54Dは、左右両方の手で操作可能な位置に配置されている。また、4つのボタン54E〜54Hは、LCD51の右側であって、右アナログスティック53Bの下側に設けられる。つまり、4つのボタン54E〜54Hはユーザの右手で操作可能な位置に配置されている。さらに、4つのボタン54E〜54Hは、(4つのボタン54E〜54Hの中心位置に対して)上下左右の位置関係となるように配置されている。したがって、端末装置7は、ユーザに上下左右の方向を指示させるためのボタンとして4つのボタン54E〜54Hを機能させることも可能である。
また、図8の(a)図、(b)図、および(c)図に示すように、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の斜め上部分(左上部分および右上部分)に設けられる。具体的には、第1Lボタン54Iは、板状のハウジング50における上側の側面の左端に設けられ、上側および左側の側面から露出している。また、第1Rボタン54Jは、ハウジング50における上側の側面の右端に設けられ、上側および右側の側面から露出している。このように、第1Lボタン54Iは、ユーザの左手人差し指で操作可能な位置に配置され、第1Rボタン54Jは、ユーザの右手人差し指で操作可能な位置に配置される(図9参照)。
また、図8の(b)図および(c)図に示すように、第2Lボタン54Kおよび第2Rボタン54Lは、板状のハウジング50の裏面(すなわちLCD51が設けられる表面の反対側の面)に突起して設けられる足部59Aおよび59Bに配置される。具体的には、第2Lボタン54Kは、ハウジング50の裏面の左側(表面側から見たときの左側)のやや上方に設けられ、第2Rボタン54Lは、ハウジング50の裏面の右側(表面側から見たときの右側)のやや上方に設けられる。換言すれば、第2Lボタン54Kは、表面に設けられる左アナログスティック53Aの概ね反対側の位置に設けられ、第2Rボタン54Lは、表面に設けられる右アナログスティック53Bの概ね反対側の位置に設けられる。このように、第2Lボタン54Kは、ユーザの左手中指で操作可能な位置に配置され、第2Rボタン54Lは、ユーザの右手中指で操作可能な位置に配置される(図9参照)。また、第2Lボタン54Kおよび第2Rボタン54Lは、図8の(c)図に示すように、上記足部59Aおよび59Bの斜め上方を向く面に設けられ、斜め上方を向くボタン面を有する。ユーザが端末装置7を把持した場合には中指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第2Lボタン54Kおよび第2Rボタン54Lを押下しやすくなる。また、ハウジング50の裏面に足部が設けられることにより、ユーザはハウジング50を把持しやすくなり、かつ、足部にボタンが設けられることで、ハウジング50を把持したまま操作しやすくなる。
なお、図8に示す端末装置7に関しては、第2Lボタン54Kおよび第2Rボタン54Lが裏面に設けられるので、LCD51の画面(ハウジング50の表面)が上を向いた状態で端末装置7を載置させる場合、画面が完全に水平にはならない場合がある。そのため、他の実施形態においては、ハウジング50の裏面に3つ以上の足部が形成されてもよい。これによれば、LCD51の画面が上を向いた状態では足部が床面に接することで床面に載置できるので、画面が水平になるように端末装置7を載置することができる。また、着脱可能な足部を追加することで端末装置7を水平に載置するようにしてもよい。
各ボタン54A〜54Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン54Aおよびボタン54E〜54Hは方向指示操作や選択操作等に用いられてもよいし、各ボタン54B〜54Eは決定操作やキャンセル操作等に用いられてもよい。
なお、図示しないが、端末装置7は、端末装置7の電源をオン/オフするための電源ボタンを有している。また、端末装置7は、LCD51の画面表示をオン/オフするためのボタンや、ゲーム装置3との接続設定(ペアリング)を行うためのボタンや、スピーカ(図10に示すスピーカ67)の音量を調節するためのボタンを有していてもよい。
図8の(a)図に示すように、端末装置7は、マーカ55Aおよびマーカ55Bからなるマーカ部(図10に示すマーカ部55)をハウジング50の表面に備えている。マーカ部55は、LCD51の上側に設けられる。各マーカ55Aおよびマーカ55Bは、マーカ装置6の各マーカ6Rおよび6Lと同様、1以上の赤外LEDで構成される。マーカ部55は、上述のマーカ装置6と同様、コントローラ5の動き等をゲーム装置3が算出するために用いられる。また、ゲーム装置3はマーカ部55が備える各赤外LEDの点灯を制御することが可能である。
端末装置7は、撮像手段であるカメラ56を備えている。カメラ56は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。図8に示すように、本実施形態では、カメラ56はハウジング50の表面に設けられる。したがって、カメラ56は、端末装置7を持っているユーザの顔を撮像することができ、例えばLCD51を見ながらゲームを行っている時のユーザを撮像することができる。
なお、端末装置7は、音声入力手段であるマイク(図10に示すマイク69)を備えている。ハウジング50の表面には、マイクロフォン用孔60が設けられる。マイク69はこのマイクロフォン用孔60の奥のハウジング50内部に設けられる。マイクは、ユーザの音声等、端末装置7の周囲の音を検出する。
端末装置7は、音声出力手段であるスピーカ(図10に示すスピーカ67)を備えている。図8の(d)図に示すように、ハウジング50の下側側面にはスピーカ孔57が設けられる。スピーカ67の出力音はこのスピーカ孔57から出力される。本実施形態では、端末装置7は2つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔57が設けられる。
また、端末装置7は、他の装置を端末装置7に接続するための拡張コネクタ58を備えている。本実施形態においては、図8の(d)図に示すように、拡張コネクタ58は、ハウジング50の下側側面に設けられる。なお、拡張コネクタ58に接続される他の装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ(銃型のコントローラ等)やキーボード等の入力装置であってもよい。他の装置を接続する必要がなければ、拡張コネクタ58は設けられていなくともよい。
なお、図8に示した端末装置7に関して、各操作ボタンやハウジング50の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
次に、図10を参照して、端末装置7の内部構成について説明する。図10は、端末装置7の内部構成を示すブロック図である。図10に示すように、端末装置7は、図8に示した構成の他、タッチパネルコントローラ61、磁気センサ62、加速度センサ63、ジャイロセンサ64、ユーザインタフェースコントローラ(UIコントローラ)65、コーデックLSI66、スピーカ67、サウンドIC68、マイク69、無線モジュール70、アンテナ71、赤外線通信モジュール72、フラッシュメモリ73、電源IC74、電池75、および、バイブレータ79を備える。これらの電子部品は、電子回路基板上に実装されてハウジング50内に収納される。
UIコントローラ65は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ65は、タッチパネルコントローラ61、アナログスティック53(アナログスティック53Aおよび53B)、操作ボタン54(各操作ボタン54A〜54L)、マーカ部55、磁気センサ62、加速度センサ63、ジャイロセンサ64、およびバイブレータ79に接続される。また、UIコントローラ65は、コーデックLSI66と拡張コネクタ58に接続される。また、UIコントローラ65には電源IC74が接続され、UIコントローラ65を介して各部に電力が供給される。電源IC74には内蔵の電池75が接続され、電力が供給される。また、電源IC74には、コネクタ等を介して外部電源から電力を取得可能な充電器76またはケーブルを接続することが可能であり、端末装置7は、当該充電器76またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置7は、図示しない充電機能を有するクレイドルに端末装置7を装着することで充電を行うようにしてもよい。
タッチパネルコントローラ61は、タッチパネル52に接続され、タッチパネル52の制御を行う回路である。タッチパネルコントローラ61は、タッチパネル52からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ65へ出力する。タッチ位置データは、タッチパネル52の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ61は、タッチパネル52からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ65からタッチパネルコントローラ61へは、タッチパネル52に対する各種の制御指示が出力される。
アナログスティック53は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ65へ出力する。また、操作ボタン54は、各操作ボタン54A〜54Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ65へ出力する。
磁気センサ62は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ65へ出力される。また、UIコントローラ65から磁気センサ62へは、磁気センサ62に対する制御指示が出力される。磁気センサ62に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置7が動いた場合には方位データが変化するため、端末装置7の姿勢の変化を算出することができる。
加速度センサ63は、ハウジング50の内部に設けられ、3軸(図8の(a)図に示すxyz軸)方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ63は、ハウジング50の長辺方向をx軸、ハウジング50の短辺方向をy軸、ハウジング50の表面に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ65へ出力される。また、UIコントローラ65から加速度センサ63へは、加速度センサ63に対する制御指示が出力される。加速度センサ63は、本実施形態では例えば静電容量式のMEMS型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ63は1軸または2軸方向を検出する加速度センサであってもよい。
ジャイロセンサ64は、ハウジング50の内部に設けられ、上記x軸、y軸およびz軸の3軸周りの角速度を検出する。検出された角速度を表す角速度データは、UIコントローラ65へ出力される。また、UIコントローラ65からジャイロセンサ64へは、ジャイロセンサ64に対する制御指示が出力される。なお、3軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ64はジャイロセンサ48と同様、2軸ジャイロセンサと1軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ64は1軸または2軸方向を検出するジャイロセンサであってもよい。
バイブレータ79は、例えば振動モータやソレノイドであり、UIコントローラ65に接続される。UIコントローラ65の指示によりバイブレータ79が作動することによって端末装置7に振動が発生する。これによって、端末装置7を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。
UIコントローラ65は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックLSI66に出力する。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
コーデックLSI66は、ゲーム装置3へ送信するデータに対する圧縮処理、および、ゲーム装置3から送信されたデータに対する伸張処理を行う回路である。コーデックLSI66には、LCD51、カメラ56、サウンドIC68、無線モジュール70、フラッシュメモリ73、および赤外線通信モジュール72が接続される。また、コーデックLSI66はCPU77と内部メモリ78を含む。端末装置7はゲーム処理自体を行なわない構成であるが、端末装置7の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ73に格納されたプログラムを内部メモリ78に読み出してCPU77が実行することで、端末装置7が起動する。また、内部メモリ78の一部の領域はLCD51のためのVRAMとして使用される。
カメラ56は、ゲーム装置3からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI66へ出力する。また、コーデックLSI66からカメラ56へは、画像の撮像指示等、カメラ56に対する制御指示が出力される。なお、カメラ56は動画の撮影も可能である。すなわち、カメラ56は、繰り返し撮像を行って画像データをコーデックLSI66へ繰り返し出力することも可能である。
サウンドIC68は、スピーカ67およびマイク69に接続され、スピーカ67およびマイク69への音声データの入出力を制御する回路である。すなわち、コーデックLSI66から音声データを受け取った場合、サウンドIC68は当該音声データに対してD/A変換を行って得られる音声信号をスピーカ67へ出力し、スピーカ67から音を出力させる。また、マイク69は、端末装置7に伝わる音(ユーザの音声等)を検知して、当該音を示す音声信号をサウンドIC68へ出力する。サウンドIC68は、マイク69からの音声信号に対してA/D変換を行い、所定の形式の音声データをコーデックLSI66へ出力する。
赤外線通信モジュール72は、赤外線信号を発光し、他の装置との間で赤外線通信を行う。ここでは、赤外線通信モジュール72は、例えばIrDAの規格に従った赤外線通信を行う機能と、テレビ2を制御するための赤外線信号を出力する機能とを備える。
コーデックLSI66は、カメラ56からの画像データと、マイク69からの音声データと、UIコントローラ65からの端末操作データとを無線モジュール70を介してゲーム装置3へ送信する。本実施形態では、コーデックLSI66は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール70に出力される。無線モジュール70にはアンテナ71が接続されており、無線モジュール70はアンテナ71を介してゲーム装置3へ上記送信データを送信する。無線モジュール70は、ゲーム装置3の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール70は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
以上のように、端末装置7からゲーム装置3へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含まれる。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。コーデックLSI66は、赤外線通信モジュール72による赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置3へ送信してもよい。
また、上述のように、ゲーム装置3から端末装置7へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ71および無線モジュール70を介してコーデックLSI66に受信される。コーデックLSI66は、受信した画像データおよび音声データを伸張する。伸張された画像データはLCD51へ出力され、画像がLCD51に表示される。また、伸張された音声データはサウンドIC68へ出力され、サウンドIC68はスピーカ67から音を出力させる。
また、ゲーム装置3から受信されるデータに制御データが含まれる場合、コーデックLSI66およびUIコントローラ65は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置7が備える各構成要素(本実施形態では、カメラ56、タッチパネルコントローラ61、マーカ部55、各センサ62〜64、赤外線通信モジュール72、およびバイブレータ79)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置7からゲーム装置3へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部55は赤外LEDであるので、制御は単に電力の供給のON/OFFでよい。
また、ゲーム装置3は、上記赤外線通信モジュール72の出力を制御することによって、テレビ2の動作を制御することが可能である。すなわち、ゲーム装置3は、テレビ2を制御するための制御指令に対応する赤外線信号を赤外線通信モジュール72に出力させるための指示(上記制御データ)を端末装置7に出力する。この指示に応じて、コーデックLSI66は、上記制御指令に対応する赤外線信号を赤外線通信モジュール72に出力させる。ここで、テレビ2は赤外線信号を受光可能な赤外線受光部を備えている。赤外線通信モジュール72から出力された赤外線信号が赤外線受光部によって受光されることで、テレビ2は当該赤外線信号に応じた動作を行う。なお、ゲーム装置3からの上記指示は、赤外線信号のパターンを示すものであってもよいし、端末装置7が赤外線信号のパターンを記憶している場合には、当該パターンを示す指示であってもよい。
以上のように、端末装置7は、タッチパネル52、アナログスティック53、および操作ボタン54といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
また、端末装置7は、端末装置7の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ62、加速度センサ63、およびジャイロセンサ64を備えるが、他の実施形態においては、これらのセンサのうち1つまたは2つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
また、端末装置7は、カメラ56およびマイク69を備える構成であるが、他の実施形態においては、カメラ56およびマイク69を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
また、端末装置7は、端末装置7とコントローラ5との位置関係(コントローラ5から見た端末装置7の位置および/または姿勢等)を算出するための構成としてマーカ部55を備える構成であるが、他の実施形態ではマーカ部55を備えていない構成としてもよい。また、他の実施形態では、端末装置7は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、コントローラ5がマーカ部を備え、端末装置7が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置6は赤外LEDに代えて、撮像素子を備える構成としてもよい。
[5.ゲームシステム1における基本処理]
次に、ゲームシステム1において実行される基本的な処理動作について説明する。ゲームシステム1は、テレビ2と端末装置7という2つの表示装置を用いることによって、インターネット等のネットワークから取得される画像等を、見やすく、操作しやすいようにユーザに提供するものである。
図11は、ゲームシステム1と外部装置との接続関係と示すブロック図である。図11に示すように、ゲームシステム1におけるゲーム装置3は、ネットワーク90を介して外部装置91と通信可能である。ネットワーク90は、インターネット等の任意の通信ネットワークである。外部装置91は、Webサーバや、ゲーム装置3と通信を行う他の端末装置(例えば、ゲームシステム1をテレビ電話として用いる場合における相手先のパソコン)等である。なお、外部装置91は1つである必要はなく、ゲーム装置3は、複数の外部装置と通信を行ってもよい。ゲーム装置3は、ネットワーク90を介して外部装置91からウェブページや画像(動画あるいは静止画)等の情報を取得し、取得した情報や、当該情報に基づいて生成される画像等をテレビ2および端末装置7に出力する。テレビ2には、外部装置91から取得された動画や静止画といった画像が表示される。端末装置7には、テレビ2に表示される画像に関する操作を行うための画像(「操作画像」と呼ぶ)が表示される。したがって、ユーザは、テレビ2の大きな画面に表示される画像を見ながら、操作画像が表示される手元の端末装置7を用いて、各種の操作を行うことができる。
図12は、ゲーム装置3の基本的な処理動作を示すフローチャートである。なお、後述する各動作例に示すように、ゲーム装置3は、図12に示す処理以外にも各種の情報処理を実行してもよい。
まず、ステップS1において、ゲーム装置3は、ネットワーク90を介して所定の外部装置91と通信を行う。これによって、ゲーム装置3は、外部装置91から各種のデータを取得したり、データを送信したりすることができる。なお、外部装置91から取得するデータとしては、外部装置91がWebサーバである場合におけるウェブページあるいはそれに含まれる動画のデータや、外部装置91がテレビ電話の端末である場合における画像(カメラによって撮像された画像)のデータ等が考えられる。なお、必要なデータが全てダウンロード済みの場合等、通信を行う必要が無い場合には、特に通信は行われずに次の処理が行われるようにしてもよい。
ステップS2において、ゲーム装置3は、ステップS1の処理によって受信された受信データに含まれる画像をテレビ2へ出力する。テレビ2に表示される画像(テレビ用画像)は、動画であってもよいし静止画であってもよい。テレビ2に表示される画像としては、例えば、動画検索サイトで取得される動画、テレビ電話の端末装置から送信されてくる動画、ショッピングサイトで取得される(商品の)静止画等が考えられる。
ステップS3において、ゲーム装置3は、テレビ2に表示される画像に関する操作を行うための操作画像を端末装置7へ出力する。操作画像は、それを見てユーザがテレビ2に表示される画像に関する操作を行うことができるものであればどのような画像であってもよい。例えば、操作画像は、画像検索サイトやショッピングサイトにおける検索結果のウェブページのような、テレビ2に表示され得る画像を含むウェブページであってもよい。このとき、ユーザは、例えば操作画像内に含まれる画像を指定する操作によって、指定された画像をテレビ2に表示させることができる。また、操作画像は、動画の再生、一時停止、早送り、巻き戻し、および停止等の操作を行うためのボタン画像を含むものであってもよい。
ステップS4において、ゲーム装置3は、上記操作画像に対する操作を表す操作データを端末装置7から取得する。本実施形態では、上述の端末操作データが端末装置7から取得されるが、端末操作データのうちで操作に用いられるデータはどれであってもよい。例えば、タッチパネル52に対する入力データ(タッチ位置データ)が上記操作に用いられてもよいし、各アナログスティック53Aおよび53Bや各操作ボタン54A〜54Lに対する入力データが上記操作に用いられてもよい。
ステップS5において、ゲーム装置3は、テレビ2に表示される画像に関する情報処理を操作データに基づいて実行する。上記情報処理とは、例えば、画像をテレビ2に表示させる処理、動画を再生あるいは停止等する処理、テレビ2に表示する画像を他の画像に切り替える処理等が考えられる。ステップS4およびS5の処理によって、ユーザは、テレビ2に表示される画像に対して、端末装置7を用いて各種の操作を行うことができる。なお、後述する各実施例に示すように、ゲーム装置3は、上記S1〜S5の一連の処理を必要に応じて繰り返し実行してもよい。
以上のように、ゲームシステム1によれば、テレビ2に画像(動画または静止画)が表示されるとともに、当該画像に関する操作画像が端末装置7に表示される。したがって、ユーザは、端末装置7よりも画面が大きいテレビ2に見たい画像を表示させることができるので、より見やすく、複数人での視聴に適した形で画像を見ることができる。操作に関する画像は端末装置7に表示されるので、テレビ2に表示される画像に対する没入感を損ねることなく、ユーザに画像を提供することができる。また、テレビ2に表示される画像に関する操作は端末装置7によって行われるので、ユーザは、手元の端末装置7を用いて容易に操作を行うことができる。
[6.実施例]
以下、ゲームシステム1を用いた実施例について説明する。なお、以下に示す第1〜第4実施例は、ゲームシステム1によって動作可能な処理の一例であり、ゲームシステム1は、第1〜第4実施例の動作のうちの複数の動作が可能であってもよいし、第1〜第4実施例以外の動作が可能であってもよい。
(第1実施例)
まず、ゲームシステム1を用いて、動画検索(閲覧)サイトで提供される動画を視聴する第1実施例について説明する。第1実施例においては、ゲーム装置3がウェブブラウザの機能を有しており、インターネット(ネットワーク90)を介して動画検索サイトのサーバ(外部装置91)と通信を行う。ゲーム装置3は、上記サーバに記憶されている動画を検索したり、サーバから動画を取得したりする。以下、図13〜図16を参照して、第1実施例におけるゲームシステム1の動作概要を説明する。
図13は、第1実施例において端末装置7に表示される、動画検索サイトから取得されるウェブページの一例を示す図である。図13に示す画像は、動画検索サイトにおいて動画の検索を実行する前に表示される画像であり、例えば動画検索サイトのトップページである。図13に示す検索実行前の画像には、検索入力欄101、検索ボタン102、および、おすすめ領域103が含まれる。検索入力欄101は、検索に用いられるキーワードを入力するための領域である。検索ボタン102は、検索入力欄101に入力されたキーワードで検索を実行する指示を行うためのボタンを示す画像である。おすすめ領域103は、おすすめの動画(例えば、閲覧回数が多い動画等)が表示される領域である。図13に示すように、おすすめ領域103には、おすすめの動画のサムネイル画像やタイトルが表示される。なお、サムネイル画像は、動画検索サイトによって提供される動画を表す画像であり、サムネイル画像自体は動画であっても静止画であってもよい。なお、図13に示す他に、端末装置7には、ブラウザを終了するためのボタンや、画面をスクロールさせるためのスクロールバーや、一般的なブラウザにおける各種の操作を行うためのメニューバー等が表示されてもよい。
ユーザは、端末装置7に表示される検索実行前の画像を見ながら、動画の検索操作を行うことができる。すなわち、検索実行前の画像が表示される場合において、ユーザは、検索に用いるキーワードを検索入力欄101に入力し、検索ボタン102を指定する。これによって、入力されたキーワードの情報等がゲーム装置3から動画検索サイトのサーバへ送信され、検索結果を表すウェブページがサーバからゲーム装置3へ送信される。なお、詳細は後述するが、ユーザが文字を入力する際には、所定の文字入力画像(図21)が表示される。また、端末装置7に表示される画像に対する操作は、タッチパネル52や各アナログスティック53Aおよび53B等を用いて行われる。
図14は、端末装置7に表示される、検索結果を表す画像の一例を示す図である。上記のように、検索結果を表すウェブページがゲーム装置3において取得されると、例えば図14に示す画像が端末装置7に表示される。図14に示す検索結果の画像においては、図13に示す検索実行前の画像に比べて、おすすめ領域103に代えて検索結果領域106が含まれる。検索結果領域106には、検索された動画を表すサムネイル画像や動画のタイトルが含まれる。また、検索結果領域106には、検索結果領域106を右にスクロールさせるための右スクロールボタン104と、検索結果領域106を左にスクロールさせるための左スクロールボタン105とが含まれる。
検索結果の画像が表示された場合、ユーザは、検索結果領域106内に表示される画像から、閲覧(再生)したい動画を選択する。例えば、ユーザが検索結果領域106内やおすすめ領域103内のサムネイル画像を指定する(例えばタッチする)ことによってサムネイル画像が選択される。ゲーム装置3は、選択されたサムネイル画像が表す動画の取得要求をサーバに対して行う。サーバは、この取得要求に応じて当該動画をゲーム装置3へ送信する。これによって、ゲーム装置3に動画が取得される。
図15は、動画が再生される場合において端末装置7に表示される画像の一例を示す図である。図15に示す動画再生時の画像においては、図14に示す検索結果の画像に比べて、検索結果領域106が小さくなり、動画再生領域111がさらに含まれている。動画再生領域111には、動画112、バー113、停止ボタン114、再生ボタン115、および一時停止ボタン116が含まれる。動画112は、テレビ2において再生される動画である。バー113は、動画112における再生位置(再生時点)を示す。また、停止ボタン114は、動画112の再生を停止する指示を行うためのボタンを示す画像である。再生ボタン115は、動画112の再生する指示を行うためのボタンを示す画像である。一時停止ボタン116は、動画112の再生を一時停止する指示を行うためのボタンを示す画像である。なお、動画再生領域111には、再生中の動画をお気に入りとして登録する指示を行うためのボタンや、再生中の動画に関連する動画を検索する指示を行うためのボタンが含まれてもよい。なお、他の実施形態においては、検索結果領域106のサイズを変えずに、検索結果の画像に含まれるサムネイルを動画に変え、バー113、停止ボタン114、再生ボタン115、および一時停止ボタン116を配置するようにしてもよい。
一方、図16は、動画が再生される場合においてテレビ2に表示される画像の一例を示す図である。図16に示すように、テレビ2には、再生される動画112が表示される。テレビ2には、端末装置7とは異なり、検索入力欄101および検索ボタン102や検索結果領域106は表示されず、動画112がテレビ2の全面に表示される。なお、他の実施形態においては、テレビ2には動画112以外の画像(例えばバー113)が含まれていてもよい。このように、テレビ2のほぼ全面に動画を表示することによって、端末装置7や一般的なパソコンのモニタで動画を見る場合に比べて、複数人でも動画が見やすくなる。また、ゲームシステム1によれば、大きなテレビの画面によって迫力ある動画を再生することができ、ユーザは動画に対する没入感を得ることができるので、例えば映画やスポーツやドラマ等のコンテンツを視聴する場合に特に好適である。
なお、図13〜図15に示す端末用画像は、サーバから取得されたウェブページの画像であってもよいし、ウェブページのデータに基づいてゲーム装置3において生成されたものであってもよい。例えば、端末装置7のタッチパネル52を用いて操作が行われる場合には、タッチパネル52による操作が行いやすいように、各種のボタンが大きくなるように変更されてもよい。例えば、検索ボタン102や、停止ボタン114、再生ボタン115、および一時停止ボタン116が、ウェブページのそれよりも大きくなった画像をゲーム装置3が生成してもよい。また、第1実施例では、テレビ2に動画112が大きく表示されることを考慮し、端末装置7においては、動画再生領域111がウェブページのそれよりも小さくなるように(検索結果領域106が大きくなるように)変更されてもよいし、動画112が表示されなくてもよい。
なお、図14に示す検索結果の画像は、サムネイル画像を指定する操作によって動画を再生することができるので、上述の操作画像に該当する。また、図15に示す動画再生時の画像は、動画の再生、停止、および一時停止といった操作を行うことができるので、上述の操作画像に該当する。また、図13に示す検索実行前の画像においては、ユーザは、検索結果の画像と同様に、おすすめ動画を選択する操作によって、選択した動画を再生することが可能である。したがって、検索実行前の画像も上述の操作画像に該当する。
以上のように、第1実施例によれば、動画検索サイトにおいて動画を検索したり再生したりする操作に関する操作画像が端末装置7に表示される(図13〜図16)とともに、再生すべき動画がテレビ2に表示される(図16)。これによって、動画検索サイトで提供される動画を、より見やすく、複数人での視聴に適した形でユーザに提供することができる。また、ユーザは、テレビ2に表示される画像に関する操作を手元の端末装置7を用いて容易に行うことができる。
また、第1実施例においては、テレビ2には動画112以外は表示されず、動画112が再生される間以外はテレビ2は使用されない。つまり、動画112を再生するまでの間は、テレビ番組を見たり、DVDを見たりする等、他の用途でテレビ2を使用することも可能である。例えば、あるユーザが動画を検索し、面白そうな動画を見つけた場合には、テレビ2でテレビ番組を見ていた他のユーザと一緒に当該動画をテレビ2で見る、といったことも可能である。なお、このとき、ゲーム装置3は、テレビ2の入力を切り替える(テレビ番組を表示するモードからゲーム装置3からの画像を表示するモードへ切り替える)等、テレビ2を制御するようにしてもよい。
次に、図17〜図21を参照して、第1実施例におけるゲーム装置3の処理の詳細について説明する。まず、ゲーム装置3の処理において用いられる各種データについて説明する。図17は、ゲーム装置3の処理において用いられる各種データを示す図である。図17は、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図17に示すように、ゲーム装置3のメインメモリには、ブラウザプログラム120、端末操作データ121、および処理用データ127が記憶される。なお、メインメモリには、図17に示すデータの他、ブラウザプログラム120において用いられる画像データや音声データ等、必要なデータが記憶される。
ブラウザプログラム120は、いわゆるブラウザの機能をゲーム装置3のCPU10に実行させるためのプログラムである。第1実施例では、CPU10がブラウザプログラム120を実行することによって、図18に示すフローチャートの各ステップが実行される。ブラウザプログラム120は、ゲーム装置3に電源が投入された後の適宜のタイミングでフラッシュメモリ17からその一部または全部が読み込まれてメインメモリに記憶される。なお、ブラウザプログラム120は、フラッシュメモリ17に代えて、光ディスク4やゲーム装置3の外部の他の装置から(例えばインターネットを介して)取得されてもよい。
端末操作データ121は、端末装置7に対するプレイヤの操作を表すデータである。端末操作データ121は、端末装置7から送信されてゲーム装置3において取得され、メインメモリに記憶される。端末操作データ121は、角速度データ122、加速度データ123、タッチ位置データ124、操作ボタンデータ125、および、スティックデータ126を含む。なお、メインメモリには、最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。
角速度データ122は、ジャイロセンサ64によって検出された角速度を表すデータである。本実施形態では、角速度データ122は、図8に示すxyzの3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回りの角速度を表すものであればよい。
加速度データ123は、加速度センサ63によって検出された加速度(加速度ベクトル)を表すデータである。本実施形態では、加速度データ123は、図8に示すxyzの3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであればよい。
タッチ位置データ124は、タッチパネル52の入力面において入力が行われた位置(タッチ位置)を表すデータである。本実施形態では、タッチ位置データ124は、上記入力面上の位置を示すための2次元座標系の座標値を表す。なお、タッチパネル52がマルチタッチ方式である場合には、タッチ位置データ124は複数のタッチ位置を表すこともある。
操作ボタンデータ125は、端末装置7に設けられる、押圧可能なキー操作部(各操作ボタン54A〜54L)に対する入力状態を表すデータである。具体的には、操作ボタンデータ125は、各操作ボタン54A〜54Lが押下されているか否かを表す。
スティックデータ126は、各アナログスティック53Aおよび53Bのスティック部がスライドした(または傾倒した)方向および量を表すデータである。アナログスティック53は、2次元の任意の方向に移動可能な操作部材(スティック部)を移動することによる入力操作が可能な入力装置であり、スティックデータ126は、当該操作部材が操作された方向(操作方向)および量(操作量)を表すものである。本実施形態においては、アナログスティック53に対する操作量および操作方向は、左右方向に関する操作量をx成分とし、上下方向に関する操作量をy成分とする2次元座標によって表されるものとする。
なお、端末操作データ121には、上記データ92〜95の他、磁気センサ62によって検出された方位を表す方位データが含まれていてもよい。また、本実施形態においては、端末操作データ121の他、カメラ画像データおよび/またはマイク音データが端末装置7からゲーム装置3へ送信されてもよい。カメラ画像データは、端末装置7のカメラ56によって撮像された画像(カメラ画像)を表すデータである。マイク音データは、端末装置7のマイク69によって検出された音声(マイク音)を表すデータである。なお、これらカメラ画像データおよびマイク音データは、コーデックLSI66によって圧縮されてゲーム装置3へ送信され、ゲーム装置3においてコーデックLSI27によって伸張されてメインメモリに記憶されてもよい。
また、端末装置7が他の入力手段(例えば、タッチパッドや、コントローラ5の撮像手段等)を有する場合には、端末操作データ121は、当該他の入力手段から出力されるデータを含んでいてもよい。
また、本実施形態ではコントローラ5が操作装置として用いられないので図示しないが、メインメモリには、コントローラ5に対するユーザ(プレイヤ)の操作を表すコントローラ操作データが記憶されてもよい。
処理用データ127は、後述するブラウザ処理(図18)において用いられるデータである。処理用データ127は、動画管理データ128、ページ画像データ129、入力文字データ130、取得要求データ131、および制御指令データ132を含む。なお、図17に示すデータの他、処理用データ127は、ブラウザプログラム120において用いられる各種のデータを含む。
動画管理データ128は、テレビ2で再生(表示)すべき動画を管理するためのデータである。テレビ2で再生される動画のデータは、外部装置91(動画検索サイトのサーバ)からネットワーク90を介してゲーム装置3に受信され、フラッシュメモリ17に記憶される。動画管理データ128は、フラッシュメモリ17に記憶された動画を識別する情報、動画の受信状況情報、および、再生状況情報等を表す。なお、動画の受信状況情報とは、受信中または受信済を示し、再生状況情報とは、未再生、再生中、または再生済を示す。
ページ画像データ129は、外部装置91から取得されるウェブページの画像、あるいは、ウェブページの画像に所定の変更を加えた画像を表す。ページ画像データ129が表す画像のうちで、画面に表示すべき部分の画像が端末用画像として端末装置7に表示される。なお、ページ画像データ129は、VRAM11dに記憶されてもよい。
入力文字データ130は、端末装置7を用いて入力された文字(文字列)を表すデータである。詳細は後述するが、ユーザが文字入力を行う際には文字入力画像(図21)が端末装置7に表示され、当該文字入力画像に対して文字入力操作を行うことで文字が入力される。
取得要求データ131は、外部装置91に対してウェブページや動画の取得要求を表すデータである。具体的には、取得要求データ131は、取得するウェブページのURLや動画の識別情報を表す。メインメモリに記憶された取得要求データ131は、適宜のタイミングでフラッシュメモリ17に送られて記憶され、入出力プロセッサ11aによって外部装置91へ送信される。なお、複数の取得要求が生成された場合、メインメモリには取得要求データ131が取得要求毎に記憶される。
制御指令データ132は、テレビ2を制御するための制御指令を表すデータである。第1実施例では、テレビ2に対して各種の動作を行わせるための各種の制御指令を表すデータが、ゲーム装置3内の記憶装置(フラッシュメモリ17あるいはメインメモリ)に予め記憶されている。制御指令データ132は、上記各種の制御指令のうち、テレビ2へ送信すべき制御指令を表す。
次に、第1実施例においてゲーム装置3で実行される処理の詳細を、図18〜図21を用いて説明する。図18は、第1実施例においてゲーム装置3で実行される処理の流れを示すメインフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。その後、フラッシュメモリ17に記憶されたブラウザプログラム120がメインメモリに読み込まれ、CPU10によって当該ブラウザプログラム120の実行が開始される。図18に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、ゲーム装置3においては、電源投入後にブラウザプログラム120がすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後例えばユーザによるメニュー画面に対する選択操作によってブラウザプログラム120の起動が指示されたことに応じてブラウザプログラム120が実行される構成であってもよい。
なお、図面に示す各フローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値が採用されてもよい。また、本明細書では、各フローチャートの各ステップの処理をCPU10が実行するものとして説明するが、各フローチャートにおける一部のステップの処理を、CPU10以外のプロセッサや専用回路が実行するようにしてもよい。
なお、ゲーム装置3は、ブラウザプログラム120によって任意のウェブサーバにアクセスしてウェブページを取得することが可能であるが、第1実施例では、ユーザがゲーム装置3から上記動画検索サイトのサーバにアクセスし、動画検索サイト内のウェブページがゲーム装置3に取得される場合を想定して処理の流れを説明する。
まずステップS11において、CPU10は、外部装置91からネットワーク90を介してデータを受信する。すなわち、外部装置91から受信したデータはフラッシュメモリ17に記憶されるので、CPU10は、受信されたデータの有無、および、受信されたデータの種類(ウェブページのデータであるか動画のデータであるか等)を確認する。なお、図18に示すフローチャートの処理が開始される場合の初めに、ゲーム装置3は予め登録された所定のウェブサーバ(ホームページ)にアクセスし、当該ウェブサーバからウェブページのデータを受信する。ステップS11の次にステップS12の処理が実行される。なお、第1実施例においては、ステップS11〜S19の処理ループは、所定時間(1フレーム時間。例えば1/60秒)に1回の割合で繰り返し実行される。
なお、第1実施例においては、上記ステップS11において取得要求に応じた動画のデータが受信された場合、受信した動画に関する情報(識別情報および状態情報を含む)を表すデータが動画管理データ128としてメインメモリに記憶される。
ステップS12において、CPU10は、端末操作データを取得する。端末装置7は、端末操作データをゲーム装置3へ繰り返し送信するので、ゲーム装置3は端末操作データを逐次受信する。ゲーム装置3においては、端末通信モジュール28が端末操作データを逐次受信し、入出力プロセッサ11aが端末操作データをメインメモリに逐次記憶する。ステップS1においては、CPU10は、最新の端末操作データ121をメインメモリから読み出す。なお、端末操作データ121は、端末装置7に表示される操作画像に対する操作を表す。ステップS12の次にステップS13の処理が実行される。
ステップS13において、CPU10は、ウェブページに関する操作が行われたか否かを判定する。ウェブページに関する操作とは、ウェブページを取得する操作や、ウェブページに対する操作である。ウェブページに関する操作は、ウェブページに依存するものもあり、どのような操作であってもよいが、第1実施例では、少なくとも以下の(a)〜(c)操作が可能であるものとする。
(a)端末装置7に表示中のウェブページ上のリンク先を指定する操作
(b)端末装置7に表示中のウェブページ上の各種のボタン(例えば、上記検索ボタン102や再生ボタン115等)を指定する操作
(c)端末装置7に表示中のウェブページに含まれるサムネイル画像を指定する操作
上記の他、ウェブページに関する操作としては、1つ前に表示されていたウェブページに戻る操作や、予め登録されたウェブページ(例えばお気に入りに登録されたウェブページ)を指定して表示させる操作等、一般的なブラウザプログラムにおいて可能な操作が含まれてもよい。
また、上記ウェブページに関する操作は、端末装置7を用いて行われればどのような方法で行われてもよい。例えば、上記操作は、タッチパネル52を用いて行われてもよいし、アナログスティック53や各ボタン54A〜54Lを用いて行われてもよいし、各センサ62〜64の少なくとも1つの検知結果から算出される端末装置7の姿勢を用いて行われてもよい。より具体的には、上記操作は、端末装置7に表示されているウェブページ上のリンク先、ボタン、またはサムネイル画像をタッチする操作でもよいし、端末装置7に表示されるカーソルをアナログスティック53によって所望の位置に合わせて、所定のボタンを押下する操作でもよい。また、タッチパネル52と、アナログスティック53および各ボタン54A〜54Lとの両方が操作に用いられてもよい。例えば、ウェブページ上の位置の指定をタッチパネル52に対する操作で行い、ウェブページのスクロールをアナログスティック53あるいは十字ボタン54Aで行うようにすれば、タッチパネル52を用いる場合に比べて操作性を向上することができる。
また、上記ステップS13の判定は、ステップS12で取得した操作データに基づいて行われる。ステップS13の判定結果が肯定である場合、ステップS14の処理が実行される。一方、ステップS13の判定結果が否定である場合、ステップS14の処理がスキップされてステップS15の処理が実行される。
ステップS14において、CPU10は、上記ウェブページに関する操作に応じた処理を実行する。例えば、上記(a)の操作が行われた場合には、リンク先のウェブページの取得要求が生成される。上記(b)の操作が行われた場合には、指定されたボタンに割り当てられた処理が実行される。例えば検索ボタンが指定された場合には、入力されたキーワードに基づく検索結果の取得要求が生成される。また、動画の再生に関するボタン(再生ボタン、停止ボタン、一時停止ボタン等)が指定された場合には、指定されたボタンに応じた再生処理が実行される。上記(c)の操作が行われた場合には、指定されたサムネイル画像に対応する動画の取得要求が生成される。
ステップS14の具体的な処理としては、上記取得要求が生成される場合、生成される取得要求を表すデータが取得要求データ131として生成される。なお、ここでは、すでに取得要求データ131がメインメモリに記憶されている場合には、新たに生成された取得要求を表す取得要求データ131がメインメモリに追加して記憶される。また、検索結果の取得要求が生成される場合には、CPU10は、入力文字データをメインメモリから読み出し、入力文字データが表す文字(文字列)を含む取得要求データ131を生成する。一方、動画の再生に関するボタンが指定された場合には、指定されたボタンが表す状態(再生、停止、または一時停止)を表すデータがメインメモリに記憶される。上記ステップS14の次にステップS15の処理が実行される。
ステップS15において、CPU10は、文字入力操作が行われたか否かを判定する。文字入力操作は、端末装置7を用いたどのような操作であってもよいが、ここでは、文字入力画像(図21)に含まれる各キー画像に対する入力操作である。すなわち、CPU10は、文字入力画像が表示されている場合において、各キー画像にタッチする操作が行われたか否かを、ステップS12で取得した端末操作データ121に基づいて判定する。ステップS15の判定結果が肯定である場合、ステップS16の処理が実行される。一方、ステップS15の判定結果が否定である場合、ステップS16の処理がスキップされてステップS17の処理が実行される。
ステップS16において、CPU10は、文字入力処理を実行する。文字入力処理は、ユーザの操作に応じて文字を入力する処理であればどのような処理であってもよい。第1実施例では、CPU10は、入力が行われたキー画像が示す文字あるいは記号を、すでに入力された文字列に加えた新たな文字列を生成したり、入力が行われたキー画像が示す処理(文字の削除処理や、文字列の変換処理等)によって新たな文字列を生成したりする。具体的には、CPU10は、入力済の文字列を表す入力文字データ130をメインメモリから読み出し、当該入力文字データ130と、ステップS12で取得した端末操作データ121とに基づいて新たな文字列を生成する。生成された文字列を表すデータが、新たな入力文字データ130としてメインメモリに記憶される。ステップS16の次にステップS17の処理が実行される。
ステップS17において、CPU10は送信処理を実行する。送信処理は、ウェブページ等を取得するための取得要求を外部装置(動画検索サイトのサーバ)91に送信するための処理である。以下、図19を参照して、送信処理の詳細について説明する。
図19は、図18に示す送信処理(ステップS17)の詳細な流れを示すフローチャートである。送信処理においてはまずステップS21において、CPU10は、動画の取得要求があるか否かを判定する。すなわち、CPU10は、取得要求データ131をメインメモリから読み出し、動画の取得要求を表す取得要求データ131が記憶されているか否かを判定する。ステップS21の判定結果が肯定である場合、ステップS22の処理が実行される。一方、ステップS21の判定結果が否定である場合、ステップS22およびS23の処理がスキップされて後述するステップS24の処理が実行される。
ステップS22において、CPU10は、受信中の動画があるか否かを判定する。すなわち、CPU10は、動画管理データ128をメインメモリから読み出し、上記受信状況情報が受信中を示す動画があるか否かを判定する。ステップS22の判定結果が否定である場合、ステップS23の処理が実行される。一方、ステップS22の判定結果が肯定である場合、ステップS23の処理がスキップされて後述するステップS24の処理が実行される。
なお、第1実施例では、サーバから動画を1つずつ取得する目的でステップS22の判定処理を行った。ここで、他の実施例においては、CPU10は、サーバから複数の動画を同時に(並行して)取得するようにしてもよい。このとき、ステップS22の判定処理は実行されなくてもよく、CPU10は、動画の取得要求が生成された場合、データを受信中の他の動画があっても待機せずに当該取得要求を送信するようにしてもよい。
ステップS23において、CPU10は、動画の取得要求を外部装置91へ送信する。すなわち、CPU10は、メインメモリに記憶されている取得要求データ131のうちで、動画の取得要求を表すものの1つ(例えば、最も古い取得要求を表す取得要求データ131)を選択する。そして、選択された取得要求データ131を、ネットワーク90へ送信すべきデータとしてフラッシュメモリ17の所定領域に記憶する。なお、選択された取得要求データ131はメインメモリからは削除される。入出力プロセッサ11aは、フラッシュメモリ17に記憶された取得要求データを所定のタイミングでネットワーク90へ送信する。これによって、当該取得要求データが外部装置91へ送信される。ステップS23の処理の次にステップS24の処理が実行される。
ステップS24において、CPU10は、動画の取得要求以外の他の取得要求があるか否かを判定する。すなわち、CPU10は、取得要求データ131をメインメモリから読み出し、上記他の取得要求を表す取得要求データ131が記憶されているか否かを判定する。ステップS24の判定結果が肯定である場合、ステップS25の処理が実行される。一方、ステップS24の判定結果が否定である場合、ステップS25の処理がスキップされ、CPU10は送信処理を終了する。
ステップS25において、CPU10は、上記他の取得要求を外部装置91へ送信する。すなわち、CPU10は、メインメモリに記憶されている取得要求データ131のうちで、上記他の取得要求を表す取得要求データ131を、ネットワーク90へ送信すべきデータとしてフラッシュメモリ17の所定領域に記憶する。なお、この取得要求データ131はメインメモリからは削除される。入出力プロセッサ11aは、フラッシュメモリ17に記憶された取得要求データを所定のタイミングでネットワーク90へ送信する。これによって、当該取得要求データが外部装置91へ送信される。ステップS25の処理の後、CPU10は送信処理を終了する。
図18の説明に戻り、ステップS17の送信処理の次にステップS18の処理が実行される。ステップS18において、CPU10は表示処理を実行する。表示処理は、端末装置7およびテレビ2に表示すべき画像を生成し、生成した画像を各表示装置に表示させる処理である。以下、図20を参照して、表示処理の詳細について説明する。
図20は、図18に示す表示処理(ステップS18)の詳細な流れを示すフローチャートである。表示処理においてはまずステップS31において、CPU10は、上記ステップS11でウェブページのデータが受信されたか否かを判定する。なお、ステップS31の判定は、1ページ分全部のデータが受信されたか否かによって行われてもよいし、一部のデータが受信されたか否かによって行われてもよい。後者の場合には、後述するステップS33またはS34の処理においては、受信されたデータに基づいて画像が順次生成される。ステップS31の判定結果が肯定である場合、ステップS32の処理が実行される。一方、ステップS31の判定結果が否定である場合、後述するステップS35の処理が実行される。
ステップS32において、CPU10は、ステップS11で受信されたデータが、動画再生時のウェブページであるか否かを判定する。動画再生時のウェブページとは、再生される動画のため表示領域を含むウェブページであり、例えば図15に示すような動画再生領域111を含むウェブページである。ステップS32の判定結果が否定である場合、ステップS33の処理が実行される。一方、ステップS32の判定結果が肯定である場合、ステップS34の処理が実行される。
ステップS33において、CPU10(およびGPU11b)は、ステップS11で受信されたウェブページの画像を生成する。ここで、第1実施例においては、上記動画再生時のウェブページ以外の他のウェブページについては、ウェブページに含まれるテキストや画像等がそのままの配置で表示される。すなわち、ステップS33においては、ステップS11で受信されたウェブページのデータに従ってウェブページの画像が生成される。なお、他の実施形態においては、上記他のウェブページについて、例えば各種のボタンが大きくなるように変更される等、サーバから提供されるウェブページに対して変更が加えられた画像が生成されてもよい。
ステップS33における具体的な処理としては、CPU10は、フラッシュメモリ17に記憶されているウェブページのデータを読み出し、当該データに基づいてウェブページの画像を生成する。生成された画像のデータは、ページ画像データ129としてメインメモリに記憶される。ステップS33の次にステップS35の処理が実行される。
一方、ステップS34において、CPU10(およびGPU11b)は、ウェブページのデータに基づいて動画再生時の画像を生成する。ここで、第1実施例では、再生される動画はテレビ2に表示される。また、第1実施例では、テレビ2において動画が再生されている間に、ユーザは、端末装置7を用いて別の動画の検索を行ったり、次に再生すべき動画を選択したりする操作が可能である。そのため、ここでは、CPU10は、ウェブページで定められる大きさよりも動画再生領域111が小さくなるように(検索結果領域106が大きくなるように)、動画再生時の画像を生成する。これによって、動画再生中における上記の操作がより行いやすくなる。
ステップS34における具体的な処理としては、CPU10は、フラッシュメモリ17に記憶されている(動画再生時の)ウェブページのデータを読み出し、当該データに基づいて動画再生時の画像を生成する。生成された画像のデータは、ページ画像データ129としてメインメモリに記憶される。ステップS34の次にステップS35の処理が実行される。
なお、第1実施例では、CPU10は、動画再生時の画像については、サーバから取得されるウェブページに対して変更を行い、検索実行前の画像や検索結果の画像といった他のウェブページについてはそのまま(変更を行わずに)端末装置7に表示した。ここで、他の実施例においては、CPU10は、上記他のウェブページについても変更を行い、変更が加えられた画像を端末装置7に表示させてもよい。なお、サーバから取得されるウェブページに変更を加える必要があるか否かは、ウェブページ毎、あるいは、サーバ毎に異なる。そのため、CPU10は、ウェブページを変更するか否かを当該ウェブページが提供されるサーバに応じて変化させるようにしてもよいし、ウェブページを変更するか否かを当該ウェブページの内容に応じて変化させるようにしてもよい。例えば、所定のサーバから取得されるウェブページについてのみ変更が行われてもよいし、所定の大きさよりも小さい画像(例えば各種ボタンの画像)がウェブページに含まれる場合には、当該画像を拡大する変更が行われてもよい。
ステップS35において、CPU10(およびGPU11b)は、端末装置7に表示される端末用画像を生成する。具体的には、CPU10は、ページ画像データ129をメインメモリから読み出し、ページ画像データ129が表す画像から、端末装置7に表示すべき1画面分の領域の画像を端末用画像として抽出する。抽出した端末用画像のデータは、VRAM11dに記憶される。なお、端末用画像として抽出される領域は、画面をスクロールさせる操作に基づいて変化する。ステップS35の次にステップS36の処理が実行される。
ステップS36において、CPU10は、文字入力画像を表示するか否かを判定する。具体的には、CPU10は、ステップS12で取得した端末操作データに基づいて、文字入力画像を表示するための所定の操作が行われたか否かを判定する。所定の操作は、どのような操作であってもよく、例えば、端末装置7の所定のボタンを押下する操作であってもよいし、端末装置7に表示される検索入力欄101を指定する操作であってもよい。ステップS36の判定結果が肯定である場合、ステップS37の処理が実行される。一方、ステップS36の判定結果が否定である場合、ステップS37の処理がスキップされてステップS38の処理が実行される。
ステップS37において、CPU10は、端末用画像に文字入力画像を追加する。図21は、文字入力画像が追加された端末用画像の一例を示す図である。図21に示すように、CPU10は、ウェブページの画像117に文字入力画像118が追加された画像を生成する。文字入力画像118は、文字入力を行うための画像であり、文字あるいは記号を表すキーの画像を含む。図21では、文字入力画像118は、いわゆるソフトウェアキーボードの画像である。文字入力画像118は、ブラウザプログラム120とともに予め用意されており、適宜のタイミングでVRAM11d(またはメインメモリ)に記憶される。なお、第1実施例においては、CPU10は、ウェブページの画像117に文字入力画像118が追加された画像を生成するが、他の実施形態においては、文字入力画像のみを端末用画像として生成してもよい。ステップS36の具体的な処理としては、CPU10は、ステップS36で記憶された端末用画像のデータと文字入力画像のデータとをVRAM11dから読み出し、ページ画像データ129に記憶されているウェブページの画像に文字入力画像を追加した画像を生成する。生成された画像のデータは、新たな端末用画像のデータとしてVRAM11dに記憶される。ステップS37の次にステップS38の処理が実行される。
以上のように、第1実施例では、CPU10は、ユーザによって所定の操作が行われたことに応じて(ステップS36でYes)、文字を入力可能なキー画像を含む文字入力画像(図21)を端末装置7へ出力する(ステップS37)。これによって、ユーザは、端末装置7を用いて文字入力を容易に行うことができる。第1実施例のように検索キーワードを入力する場合や、後述する第2実施例において商品の購入に必要となる所定の情報を入力する場合等には、文字入力画像を表示することが特に有用である。
ステップS38において、CPU10は、端末用画像を端末装置7へ出力(送信)する。具体的には、VRAM11dに記憶された端末用画像のデータは、CPU10によってコーデックLSI27に送られ、コーデックLSI27によって所定の圧縮処理が行われる。圧縮処理が施された画像のデータは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。端末装置7は、ゲーム装置3から送信されてくる画像データを無線モジュール70によって受信し、受信された画像データに対してコーデックLSI66によって所定の伸張処理が行われる。伸張処理が行われた画像データはLCD51に出力される。これによって、端末用画像がLCD51に表示される。また、ステップS7においては、画像のデータと共に音声のデータが端末装置7へ送信され、端末装置7のスピーカ67から音声が出力されてもよい。ステップS38の次にステップS39の処理が実行される。
ステップS39において、CPU10は、テレビ2で再生される動画の受信が開始されたか否かを判定する。すなわち、上記ステップS23によって送信された取得要求に応じて外部装置91から送信されてくる動画が受信されたか否かを判定する。ステップS39の判定結果が肯定である場合、ステップS40の処理が実行される。一方、ステップS40の判定結果が否定である場合、後述するステップS41の処理が実行される。
ステップS40において、CPU10は、テレビ2の入力を切り替える制御を行う。具体的には、CPU10は、ゲーム装置3から出力される画像を表示可能な状態とする制御指令をテレビ2へ出力する。ここでは、テレビ2の入力をゲーム装置3に切り替える(ゲーム装置3から出力される画像が画面に表示されるモードに切り替える)所定の制御指令が出力される。なお、第1実施例においては、テレビ2に対して各種の動作を行わせるための各種の制御指令を表すデータがフラッシュメモリ17あるいはメインメモリに記憶されている。CPU10は、上記各種の制御指令のうちから、上記所定の制御指令を表すデータを選出し、制御指令データ132としてメインメモリに記憶する。なお、他の実施形態においては、CPU10は、テレビ2の電源をオンにする制御指令を出力した後、上記所定の制御指令を出力するようにしてもよい。
上記ステップS40の処理によって、テレビ2は、画像(動画)がテレビ2に出力される前に、当該画像が表示可能な状態となるように制御される。これによって、ユーザは、テレビ2に対する操作を行わなくても画像をテレビ2に表示させることができ、操作がより容易になる。
ここで、ゲーム装置3で生成された上記制御指令によってテレビ2を制御する方法はどのような方法であってもよい。ゲームシステム1においては、端末装置7の赤外線通信モジュール72から制御指令に対応する赤外線信号を出力する第1の方法、および/または、ゲーム装置3のAVコネクタ16を介して制御指令を出力する第2の方法でテレビ2を制御することが可能である。第1の方法においては、CPU10は、制御指令データ132が表す制御指令に対応する赤外線信号を赤外線通信モジュール72に出力させるための指示を端末装置7に送信する。この指示に応じて、端末装置7のコーデックLSI66は、上記制御指令に対応する赤外線信号を赤外線通信モジュール72に出力させる。この赤外線信号がテレビ2の赤外線受光部によって受光されることで、テレビ2の電源がオンにされるとともに、テレビ2の入力がゲーム装置3に切り替えられる。一方、第2の方法においては、CPU10は、制御指令データ132が表す制御指令をAVコネクタ16を介してテレビ2に出力する。以上のステップS40の次にステップS41の処理が実行される。
なお、テレビ2を制御するための上記赤外線信号や制御指令の形式は、テレビ2の機種によって異なる場合がある。したがって、ゲーム装置3は、複数の機種に対応する各形式の赤外線信号あるいは制御指令を予め記憶しておくようにしてもよい。このとき、ゲーム装置3は、所定のタイミングで(例えば初期設定時に)テレビ2に応じた形式を選択し、以降は、選択された形式の赤外線信号あるいは制御指令を用いるようにしてもよい。これによって、ゲーム装置3は、複数種類の機種のテレビに対応することができる。
ステップS41において、CPU10は、テレビ2で再生すべき動画があるか否かを判定する。すなわち、CPU10は、動画管理データ128をメインメモリから読み出し、再生状況情報が「再生中」を示す動画のデータがフラッシュメモリ17に記憶されているか否かを判定する。ステップS41の判定結果が肯定である場合、ステップS42の処理が実行される。一方、ステップS41の判定結果が否定である場合、ステップS42の処理がスキップされ、CPU10は表示処理を終了する。
ステップS42において、CPU10はテレビ2に動画を出力する。まず、CPU10は、フラッシュメモリ17に記憶されている動画のデータを読み出し、動画を構成する1つの画像をVRAM11dに記憶する。このとき、CPU10およびGPU11bは、必要に応じて、フラッシュメモリ17に記憶されているデータから画像を生成する処理を行う。例えば、フラッシュメモリ17に記憶されている動画のデータが所定の方式で圧縮されている場合には、動画のデータに対して伸張処理が行われて画像が生成される。また、上記動画のデータがパケット単位で記憶されている場合には、パケット単位のデータから画像が生成される。VRAM11dに記憶された上記画像はAV−IC15へ送られ、AV−IC15は画像を、AVコネクタ16を介してテレビ2へ出力する。これによって、動画を構成する画像がテレビ2に表示される。また、他の実施形態においては、動画データと共に音声データが外部装置91から取得され、ステップS42においては、動画データと共に音声データがテレビ2へ出力され、テレビ2のスピーカ2aから音声が出力されてもよい。
なお、上記ステップS42においてテレビ2に出力される動画は、動画管理データ128が表す再生状況情報が「再生中」を示す動画である。なお、動画の再生が終了した場合、CPU10は、動画管理データ128をメインメモリから読み出し、再生が終了した動画に関する再生状況情報を「再生中」から「再生済」に変更する。さらに、再生状況情報が「未再生」を示す動画のうちで、次に再生すべき動画に関する再生状況情報を「再生中」に変更する。これによって、次回に実行されるステップS42によって当該動画の再生が開始される。なお、上記「次に再生すべき動画」は、最も早く取得要求が行われた動画であってもよいし、受信されたデータ量が最も大きい動画であってもよい。また、再生を開始することが可能なデータ量が受信されている動画がない場合には、CPU10は、十分な量のデータが受信されるまで待機した後、動画の再生を開始するようにしてもよい。第1実施例では、いわゆるストリーミング方式やプログレッシブダウンロード方式のように、動画のデータの受信中に再生を開始するが、他の実施例においては、動画の全てのデータがサーバから受信されたことを条件にして、再生を開始するようにしてもよい。また、状態情報が「再生済」である動画のデータは、フラッシュメモリ17から削除されてもよい。
また、上記ステップS14において動画の再生に関するボタンが指定された場合には、ステップS42の処理においては、指定されたボタンに応じた再生処理が実行される。すなわち、再生ボタンが指定された場合には、動画を構成する画像が、ステップS42の処理が実行される度に順次生成されてVRAM11dに記憶される。一方、一時停止ボタンが指定された場合には、VRAM11dに記憶される画像が変更されず、その結果、前回に出力した画像と同じ画像が出力される。また、停止ボタンが指定された場合には、VRAM11dに記憶された画像が消去され、テレビ2への画像の出力が停止される。以上のステップS42の後、CPU10は表示処理を終了する。
図18の説明に戻り、ステップS18の表示処理の次にステップS19の処理が実行される。ステップS19において、CPU10は、ブラウザプログラム120の実行を終了する旨の指示があったか否かを判定する。ステップS19の判定結果が否定の場合、ステップS11の処理が再度実行される。一方、ステップS19の判定結果が肯定の場合、CPU10は図18に示す処理を終了する。以降、ステップS11〜S19の一連の処理は、ステップS19で上記指示があったと判定されるまで繰り返し実行される。
以上のように、第1実施例においては、ゲーム装置3において受信された受信データに含まれる画像(動画)がテレビ2に出力され(ステップS42)、当該画像に関する操作を行うための操作画像(図13〜図15)が端末装置7へ出力される(ステップS38)。また、ゲーム装置3は、操作画像に対する操作を表す操作データを端末装置7から取得し(ステップS12)、テレビ2に表示される画像に関する情報処理を操作データに基づいて実行する(ステップS14)。
より具体的には、第1実施例における処理によれば、ゲーム装置3は、例えば次のような動作を行うことが可能である。すなわち、ゲーム装置3はまず、動画検索サイトのサーバにアクセスしてウェブページのデータを受信して(ステップS11)、当該ウェブページを端末装置7へ出力する(ステップS33,S35,S38)。これによって、上述した検索実行前の画像(図13)が端末装置7に表示される。次に、ユーザの所定の操作に応じて文字入力画像(図21)が表示され(ステップS37)、文字入力画像に対してユーザが文字入力操作を行うことによって、検索キーワードの文字列が入力される(ステップS16)。さらに、ユーザが検索ボタン102を指定することによって、入力された文字列を検索キーワードとした検索結果の取得要求がサーバへ送信される(ステップS25)。これに応じて、複数種類の動画を表すデータとして、検索結果のウェブページのデータがサーバから取得される(ステップS11)。このデータが取得された場合、CPU10は、検索結果を表すウェブページを端末装置7へ出力する(ステップS33)。これによって、複数種類の動画を表す操作画像(図14)が端末装置7に表示される。
上記検索結果のウェブページに含まれるサムネイル画像をユーザが指定した場合(ステップS14)、動画の取得要求がサーバへ送信される(ステップS23)。これに応じてサーバから動画がゲーム装置3へ送信され、ゲーム装置3において動画が受信される。つまり、ゲーム装置3は、ステップS14の処理によって選択された動画を取得する要求をサーバに対して行うとともに、当該動画のデータをサーバから受信する。受信された動画はテレビ2へ出力される(ステップS42。図16)。一方、端末装置7には動画再生時の画像(図15)が出力される(ステップS34)。このように、受信された動画がテレビ2に出力される場合、当該動画の再生に関する操作を少なくとも表す操作画像が端末装置7へ出力される。したがって、第1実施例によれば、動画検索サイトで取得された動画をテレビ2によってより見やすくユーザに提供することができるとともに、ユーザは当該動画に関する操作を端末装置7によって容易に行うことができる。
また、第1実施例においては、テレビ2において動画が再生される間においても再生されていない場合と同様、端末装置7を用いて別のウェブページを取得・表示することができる。そのため、動画の再生中においても、ユーザは新たな検索を行って検索結果を表示させることができる。このように、第1実施例によれば、ユーザは動画の視聴中においても端末装置7を用いて別のウェブページを見ることができ、ウェブページをよりスムーズに閲覧することができる。
また、第1実施例においては、テレビ2において動画が再生される間において、ユーザは、端末装置7を用いて当該動画の次に再生したい動画を取得することが可能である。
すなわち、CPU10は、動画がテレビ2へ出力されているか否かにかかわらず、テレビ2に表示すべき動画を選択する処理(ステップS14)を実行する。これに応じて、選択された動画の取得要求がサーバへ送信され(ステップS23)、当該取得要求に応じてサーバから当該動画のデータが受信される(ステップS11)。ここで、CPU10は、テレビ2への動画の出力中に他の動画のデータが受信された場合、出力中の動画(の再生)が終了した後で、当該他の動画の出力を開始する(ステップS42)。このように、第1実施例においては、動画の再生中において新たな動画の取得要求が生成され、当該新たな動画のデータが受信され、当該新たな動画は、現在再生中の動画が終了した後で再生される。したがって、第1実施例によれば、動画を再生中である場合には、次に再生する動画を端末装置7を用いて予約することも可能である。
なお、第1実施例においては、ゲーム装置3が動画検索サイトのサーバから動画を受信する場合を例として説明したが、ゲーム装置3は、動画検索サイトの他、映画やテレビ番組の動画を配信するサーバ等、動画を配信する任意のサーバから動画を受信する場合も第1実施例と同様に動作を行うことができる。なお、テレビ番組を配信するサーバから動画を受信する場合には、ゲーム装置3は、後述する第4実施形態におけるEPG(電子番組表)の画像を当該サーバから受信し、EPGの画像を操作画像として端末装置7に出力・表示するようにしてもよい。例えば、端末装置7に表示されるEPGの画像からユーザが所望の番組を選択することによって、当該所望の番組の動画データがサーバから送信されてテレビ2に表示されてもよい。
(第2実施例)
以下、ゲームシステム1を用いて、ショッピングサイトで提供される商品の画像をテレビ2に表示する第2実施例について説明する。第2実施例においても第1実施例と同様、ゲーム装置3がウェブブラウザの機能を有しており、インターネット(ネットワーク90)を介してショッピングサイトのサーバ(外部装置91)と通信を行う。ゲーム装置3は、商品を紹介するウェブページを上記サイトから取得したり、商品の画像を取得したりする。以下、第2実施例におけるゲームシステム1の動作を説明する。
図22は、第2実施例において端末装置7に表示される、ショッピングサイトから取得されるウェブページの一例を示す図である。図22に示す画像は、ショッピングサイトにおいて商品を紹介する画像であり、商品画像141および購入ボタン142を含む。商品画像141は商品を表す画像である。第2実施例においては、商品画像141は静止画であるとするが、他の実施例においては動画であってもよい。購入ボタン142は、ユーザが商品を購入するためのボタンである。また、図22では、画面を上下にスクロールさせるためのスクロールバー143およびつまみ144が表示される。なお、第1実施例と同様、端末装置7には、一般的なブラウザにおける各種の操作を行うためのボタンやメニューバー等が表示されてもよい。
第2実施例においては、ゲーム装置3は、端末装置7に表示される商品画像141のうちから、ユーザによって選択されたものをテレビ2に表示させる。すなわち、端末装置7に1以上の商品画像141が表示されている場合において、ユーザが商品画像141を選択する操作(例えば、商品画像141をタッチする操作や、カーソルを商品画像141の位置に合わせて所定のボタンを押下する操作)を行うと、ゲーム装置3は、商品画像141をテレビ2に出力する。画面の大きなテレビ2に商品画像141を表示させることによって、複数人のユーザに商品画像を見やすく提示することができる。また、テレビ2に表示される商品画像に関する操作は端末装置7によって行われるので、ユーザは、手元の端末装置7を用いて容易に操作を行うことができる。例えば、第2実施例によれば、端末装置7を用いてショッピングサイトでの商品の購入を行うユーザが、購入を検討する商品の画像をテレビ2に表示させることで他のユーザ(家族や友人)に商品を見せ、商品の感想や意見を聞く、といった利用方法が可能である。
以下、第2実施例におけるゲーム装置3の処理の詳細を説明する。第2実施例においても第1実施例と同様、CPU10がブラウザプログラムを実行することによって処理が行われる。以下、第1実施例との相違点を中心に、第2実施例における処理を説明する。
第2実施例においても第1実施例と同様、図18に示すフローチャートに沿って処理が実行される。なお、ステップS13およびS14の処理に関しては、第2実施例においても第1実施例と同様、上述の(a)〜(c)の操作に応じて、当該操作に応じた処理が実行される他、次の処理も実行される。すなわち、ステップS13において購入ボタン142を指定する操作が行われた場合には、ステップS14の処理において、商品購入用の入力ページの取得要求が生成される。商品購入用の入力ページとは、商品の購入に必要となる所定の情報(購入者のID、パスワード、カード番号等)を入力するためのウェブページである。また、ステップS13において、端末装置7に表示中のウェブページに含まれる商品画像141を指定する操作が行われた場合には、テレビ2に表示すべき商品画像を取得するための取得要求が生成される。
また、ステップS17の送信処理に関しては、第2実施例においてはショッピングサイトのサーバから動画は取得されないので、ステップS21〜S23の処理は実行されなくてもよい。なお、ステップS14の処理において、商品画像を取得するための取得要求が生成された場合には、ステップS25の処理によって当該取得要求がサーバへ送信される。
また、第2実施例においては、ステップS18の表示処理が第1実施例とは異なる。図23は、第2実施例における表示処理(ステップS18)の詳細な流れを示すフローチャートである。第2実施例における表示処理においてはまず、ステップS50において、CPU10は、ステップS11の処理でウェブページのデータが受信されたか否かを判定する。ステップS50の処理は、第1実施例におけるステップS31の処理と同じである。ステップS50の判定結果が肯定である場合、ステップS51の処理が実行される。一方、ステップS50の判定結果が否定である場合、ステップS51の処理がスキップされてステップS52の処理が実行される。
ステップS51において、CPU10は、CPU10(およびGPU11b)は、ステップS11で受信されたウェブページの画像を生成する。ステップS51の処理は、第1実施例におけるステップS32の処理と同じである。なお、第2実施例では、サーバから取得されるウェブページに含まれるテキストや画像等がそのままの配置で表示されるが、第1実施例のステップS34の処理のように、ウェブページに対して変更が加えられた画像が生成されてもよい。ステップS51の次にステップS52の処理が実行される。
ステップS52において、CPU10(およびGPU11b)は、端末装置7に表示される端末用画像を生成する。ステップS52の処理は、第1実施例におけるステップS35の処理と同じである。ステップS52の次にステップS53の処理が実行される。
ステップS53において、CPU10は、文字入力画像を表示するか否かを判定する。ステップS53の判定結果が肯定である場合、ステップS54の処理が実行される。一方、ステップS53の判定結果が否定である場合、ステップS54の処理がスキップされてステップS55の処理が実行される。上記ステップS53およびS54の処理は、第1実施例におけるステップS36およびS37の処理と同じである。なお、第2実施例においては、例えば商品を検索する際の検索キーワードを入力する場合や、上記の商品購入用の入力ページが端末装置7に表示されて、商品の購入に必要となる情報(購入者のID、パスワード、カード番号等)を入力する場合等に、文字入力画像が表示される。
ステップS55において、CPU10は、端末用画像を端末装置7へ出力(送信)する。ステップS55の処理は、第1実施例におけるステップS38の処理と同じである。ステップS55の次にステップS57の処理が実行される。
ステップS56において、CPU10は、テレビ2に表示すべき商品画像のデータがステップS11の処理で受信されたか否かを判定する。なお、第2実施例においては、テレビ2で再生(表示)すべき画像を管理するための画像管理データがメインメモリに記憶される。また、ステップS11の処理において、商品画像のデータが受信された場合には、商品画像を識別する情報と、商品画像の受信状況情報とを表す画像管理データがメインメモリに記憶される。したがって、ステップS56の判定は、メインメモリから画像管理データを読み出して参照することによって行うことができる。ステップS56の判定結果が肯定である場合、ステップS57の処理が実行される。一方、ステップS56の判定結果が否定である場合、ステップS57およびS58の処理がスキップされ、CPU10は表示処理を終了する。
ステップS57において、CPU10は、テレビ2の入力を切り替える制御を行う。ステップS57の処理は、第1実施例におけるステップS40の処理と同じである。ステップS57の処理によって、テレビ2は、商品画像が表示可能な状態(ゲーム装置3から出力される画像を表示する状態)となるように制御される。ステップS57の次にステップS58の処理が実行される。
ステップS58において、CPU10はテレビ2に商品画像を出力する。まず、CPU10は、フラッシュメモリ17に記憶されている商品画像のデータを読み出し、VRAM11dに記憶する。このとき、第1実施例におけるステップS42の処理と同様、CPU10およびGPU11bは、必要に応じて、フラッシュメモリ17に記憶されているデータから画像を生成する処理を行ってもよい。VRAM11dに記憶された上記画像はAV−IC15へ送られ、AV−IC15は画像を、AVコネクタ16を介してテレビ2へ出力する。これによって、商品画像がテレビ2に表示される。なお、この後、ユーザが端末装置7を用いて新たな商品画像を選択する操作を行った場合、新たな商品画像のデータが取得されたことに応じて、テレビ2に表示される画像が新たな商品画像に切り替わる。また、CPU10は、ユーザが端末装置7を用いて所定の表示停止指示を行うことに応じて、テレビ2への画像の出力を停止してもよい。ステップS58の後、CPU10は表示処理を終了する。以上で、第2実施例におけるゲーム装置3の処理の説明を終了する。
なお、上記第2実施例では、商品画像をテレビ2に表示する場合、表示すべき商品画像のデータをサーバから新たに取得するものとした。ここで、他の実施例においては、CPU10は、テレビ2に表示する商品画像として、既に取得されているウェブページ(端末装置に表示される操作画像)に含まれる商品画像を用いてもよい。すなわち、CPU10は、ステップS13において、端末装置7に表示中のウェブページに含まれる商品画像を指定する操作が行われた場合には、当該商品画像をテレビ2に出力するようにしてもよい。
以上のように、第2実施例においては、ゲーム装置3において受信された受信データに含まれる画像(商品画像)がテレビ2に出力され(ステップS58)、当該画像に関する操作を行うための操作画像(図22)が端末装置7へ出力される(ステップS55)。また、ゲーム装置3は、操作画像に対する操作を表す操作データを端末装置7から取得し(ステップS12)、テレビ2に表示される画像に関する情報処理を操作データに基づいて実行する(ステップS14)。
より具体的には、第2実施例における処理によれば、ゲーム装置3は、例えば次のような動作を行うことが可能である。すなわち、ゲーム装置3はまず、ショッピングサイトのサーバにアクセスして商品を紹介するウェブページのデータを受信して(ステップS11)、当該ウェブページを端末装置7へ出力する(ステップS55)。つまり、ゲーム装置3は、複数の商品に関する情報を記憶するサーバから、複数種類の商品の画像を示すデータを受信し、当該複数種類の商品の画像を表す操作画像を端末装置7へ出力する。また、上記ウェブページに含まれる商品画像をユーザが指定した場合(ステップS14)、商品画像の取得要求がサーバへ送信される(ステップS25)。これに応じてサーバから商品画像がゲーム装置3へ送信され、ゲーム装置3において受信された商品画像はテレビ2へ出力される(ステップS59)。つまり、CPU10は、複数種類の商品の画像からテレビ2に表示すべき商品の画像を選択し、選択された商品の画像をテレビ2へ出力する。したがって、第2実施例によれば、ショッピングサイトで取得された商品の画像をテレビ2によってより見やすくユーザに提供することができるとともに、ユーザは当該画像に関する操作を端末装置7によって容易に行うことができる。
また、第2実施例においては、CPU10は、商品を購入するための所定の情報の入力を受け付け(ステップS16)、入力された情報を含む画像を端末装置7へ出力する(ステップS55)。ここで、第2実施例においては、上記所定の情報はテレビ2ではなく端末装置7に表示されるので、端末装置7を使用する購入者のユーザ以外のユーザは当該所定の情報をみることができない。したがって、第2実施例においては、購入者は例えばID、パスワード、カード番号等、他人に知られてはいけない情報である上記所定の情報を、他人に見られることなく、ショッピングサイトで買い物を行うことができる。
以上のように、上記第1および第2実施例によれば、ゲーム装置3は、複数種類の画像を表すデータを受信し(ステップS11)、当該複数種類の画像を表す操作画像(図13〜図15,図22)を端末装置7へ出力する(ステップS38,S55)。また、CPU10は、複数種類の画像からテレビ2に表示すべき画像を端末操作データに基づいて選択する処理を実行する(ステップS14)。ゲーム装置3は、選択された画像を取得する要求をサーバへ送信するとともに(ステップS23)、当該要求に応じてサーバから送信されてくる当該画像のデータを受信する(ステップS11)。そして、選択された画像がテレビ2へ出力される。したがって、上記第1および第2実施例によれば、ユーザは、端末装置7に表示される操作画像によって表される複数種類の画像から、画像を選択する操作によって、テレビ2に表示される画像を指定することができる。これによって、テレビ2に表示すべき画像を端末装置7によって容易に選択することができる。
また、上記第1および第2実施例によれば、CPU10は、端末操作データに基づいて、ユーザによって入力された検索キーワードを取得する(ステップS16)。これに応じて、ゲーム装置3は、取得された検索キーワードをサーバへ送信する(ステップS25)とともに、当該検索キーワードによる検索結果データとして、複数種類の画像を表すデータをサーバから受信する(ステップS11)。また、検索結果データが受信された場合、CPU10は、検索結果を表す画像として、複数種類の画像を表す操作画像(図14)を端末装置7へ出力する(ステップS38,S55)。したがって、上記第1および第2実施例によれば、テレビ2に表示する画像に関する検索を端末装置7によって行うことができ、検索結果を端末装置7によって確認することができる。さらに、検索結果に含まれる画像を選択することによって、選択された画像をテレビ2に表示させることができる。
(第3実施例)
以下、ゲームシステム1を用いて、テレビ電話における通話相手の画像をテレビ2に表示する第3実施例について説明する。第3実施例においては、ゲーム装置3はテレビ電話の機能を有しており、所定のネットワークを介して通話先の装置との間で映像および音声を送受信する。第3実施例においては、図11に示す外部装置91は通話先の装置(相手装置)である。相手装置は、ゲーム装置3と通信可能なテレビ電話の機能を有していればよく、ゲームシステム1と同様の構成であってもよいし、異なる構成であってもよい。また、ゲーム装置3と外部装置91とを接続するネットワークは、インターネットでもよいし、他の専用のネットワークでもよい。
図24は、第3実施例においてテレビ2に表示される画像の一例を示す図である。図24に示すように、テレビ2には、テレビ電話における通話相手の画像(動画)が表示される。なお、テレビ2には、通話相手の画像の他に、通話相手の名前等が表示されてもよい。また、ネットワーク経由で複数の相手と通話を行う場合は、画面を分割して、それぞれの通話相手の画像を表示するようにしてもよい。
図25は、第3実施例において端末装置7に表示される画像の一例を示す図である。端末装置7に表示される画像は、テレビ2に表示される画像に関する操作を行うための操作画像である。図25に示すように、端末装置7に表示される操作画像は、通話先リスト151、通話ボタン152、録画ボタン153、終了ボタン154、メッセージボタン155、通話時間画像156、およびユーザ画像157を含む。通話先リスト151は、通話可能なユーザを示すリストである。ここでは、通話先リスト151により示される名前から、通話したい相手の名前を選択する操作によって通話先の端末が指定される。通話ボタン152は、通話を開始したり、終了したりするためのボタンである。録画ボタン153は、テレビ2に表示される動画の録画を開始したり、終了したりするためのボタンである。終了ボタン154は、テレビ電話のアプリケーションを終了するためのボタンである。メッセージボタン155は、相手装置にメッセージを送信するためのボタンである。通話時間画像156は、通話時間を示す画像である。ユーザ画像157は、端末装置7のカメラ56で撮像されたユーザ自身の画像である。図25に示す他、端末装置7には、音量を調整するためのボタンや、相手装置からのメッセージを表示する領域等が表示されてもよい。
第3実施例においては、ゲーム装置3は、相手装置との間で画像および音声の送受信を行う。すなわち、端末装置7のカメラ56で撮像された画像およびマイク69で検出された音声は、ゲーム装置3から相手装置へ送信される。また、相手装置から送信されてくる、通話相手の画像および音声がゲーム装置3によって受信され、テレビ2に出力される。ここで、第3実施例においては、通話相手の画像はテレビ2に表示され、端末装置7にはテレビ2に表示される画像を操作するための操作画像が表示される。これによって、テレビ電話における画像を、より見やすく、複数人での視聴に適した形でユーザに提供することができる。また、ユーザは、テレビ2に表示される画像に関する操作を手元の端末装置7を用いて容易に行うことができる。
以下、第3実施例におけるゲーム装置3の処理の詳細を説明する。まず、ゲーム装置3の処理において用いられる各種データについて説明する。図26は、第3実施例におけるゲーム装置3の処理において用いられる各種データを示す図である。図26は、ゲーム装置3のメインメモリに記憶される主なデータを示す図である。図26に示すように、ゲーム装置3のメインメモリには、テレビ電話プログラム161、端末操作データ121、カメラ画像データ162、マイク音声データ163、および処理用データ164が記憶される。なお、図26において、図17と同じデータには図17と同じ番号を付し、詳細な説明を省略する。また、メインメモリには、図26に示すデータの他、テレビ電話プログラム161において用いられる画像データ等、必要なデータが記憶される。
テレビ電話プログラム161は、テレビ電話の機能をゲーム装置3のCPU10に実行させるためのプログラムである。第3実施例では、CPU10がテレビ電話プログラム161を実行することによって、図27に示すフローチャートの各ステップが実行される。テレビ電話プログラム161は、ゲーム装置3に電源が投入された後の適宜のタイミングでフラッシュメモリ17からその一部または全部が読み込まれてメインメモリに記憶される。なお、テレビ電話プログラム161は、フラッシュメモリ17に代えて、光ディスク4やゲーム装置3の外部の他の装置から(例えばインターネットを介して)取得されてもよい。
カメラ画像データ162は、端末装置7のカメラ56によって撮像された画像(カメラ画像)を表すデータである。カメラ画像データ162は、端末装置7から送信されてくる圧縮された画像データがコーデックLSI27によって伸張された画像データであり、入出力プロセッサ11aによってメインメモリに記憶される。なお、メインメモリには、最新の(最後に取得された)ものから順に所定個数のカメラ画像データが記憶されてもよい。
マイク音データ163は、端末装置7のマイク69によって検出された音声(マイク音)を表すデータである。マイク音データ163は、端末装置7から送信されてくる圧縮された音声データがコーデックLSI27によって伸張された音声データであり、入出力プロセッサ11aによってメインメモリに記憶される。
処理用データ164は、後述するテレビ電話処理(図27)において用いられるデータである。第3実施例では、処理用データ164は、図27に示すテレビ電話処理において生成される各種のデータを含む。処理用データ164としてメインメモリに記憶されるデータの詳細については後述する。
次に、第3実施例においてゲーム装置3で実行される処理の詳細を、図27を用いて説明する。図27は、第3実施例においてゲーム装置3で実行される処理の流れを示すフローチャートである。なお、ゲーム装置3は、第1実施例におけるブラウザプログラム120と同様の方法で、テレビ電話プログラム161の実行を開始する。図27に示すフローチャートは、テレビ電話プログラム161の実行開始に応じて実行される処理の流れを示すフローチャートである。
まずステップS60において、CPU10は相手装置との接続処理を行う。具体的には、CPU10は、例えば図25に示すような操作画像を端末装置7に出力し、ユーザによる接続操作を受け付ける。接続操作は、ここでは、端末装置7に表示される通話先リスト151から、通話相手を選択する操作と、通話相手が選択された状態で通話ボタン152を指定する操作とによって行われる。接続操作が行われた場合、CPU10は、選択された通話相手に対応する相手装置との通信を確立する処理を行う。装置間の通信を確立する処理は、どのような方法で行われてもよく、例えば装置間の接続を管理する装置(サーバ)を介して通信が確立されてもよいし、ゲーム装置3が相手装置に対して直接通信を行うことによって確立されてもよい。ゲーム装置3と相手装置との通信が可能な状態になると、ステップS60の次にステップS61の処理が実行される。
ステップS61において、CPU10は、テレビ2の入力を切り替える制御を行う。ステップS61の処理は、第1実施例におけるステップS40の処理と同じである。また、他の実施例においては、CPU10は、テレビ2の電源をオンにする制御指令を出力した後、テレビ2の入力をゲーム装置3に切り替える制御指令を出力するようにしてもよい。ステップS61の次にステップS62の処理が実行される。
ステップS62において、CPU10は、相手装置から送信されてくるデータを受信する。第3実施例においては、このデータには、相手装置側に設けられるカメラで撮像された画像(通話相手の画像)と、相手装置側に設けられるマイクで検出された音声(通話相手の音声)とのデータが含まれる。相手装置から送信されてくるデータは、ゲーム装置3で受信されるとフラッシュメモリ17に記憶される。CPU10は、受信されたデータの有無、および、受信されたデータの内容を確認する。ステップS62の次にステップS63の処理が実行される。
ステップS63において、CPU10は、相手装置から送信された画像および音声をテレビ2に出力する。すなわち、CPU10は、フラッシュメモリ17に記憶されている画像(動画)のデータを読み出し、画像をVRAM11dに記憶する。VRAM11dに記憶された上記画像はAV−IC15へ送られる。また、CPU10は、フラッシュメモリ17に記憶されている音声のデータを読み出し、音声をAV−IC15へ送る。AV−IC15は上記の画像および音声を、AVコネクタ16を介してテレビ2へ出力する。これによって、画像がテレビ2に表示されるとともに、音声がテレビ2のスピーカ2aから出力される。ステップS63の次にステップS64の処理が実行される。
ステップS64において、CPU10は、端末装置7からデータを取得する。第3実施例においては、端末操作データ、カメラ画像データ、およびマイク音声データが取得される。端末装置7は、上記各データ(端末操作データ、カメラ画像データ、およびマイク音声データ)をゲーム装置3へ繰り返し送信するので、ゲーム装置3は各データを逐次受信する。ゲーム装置3においては、端末通信モジュール28が各データを逐次受信し、カメラ画像データおよびマイク音データについてはコーデックLSI27によって伸張処理が逐次施される。そして、入出力プロセッサ11aが端末操作データとカメラ画像データとマイク音データとをメインメモリに逐次記憶する。CPU10は、最新の端末操作データ121をメインメモリから読み出す。ステップS64の次にステップS65の処理が実行される。
ステップS65において、CPU10は、端末装置7から取得されたカメラ画像およびマイク音声を相手装置へ送信する。すなわち、CPU10は、ステップS64でメインメモリに記憶されたカメラ画像データおよびマイク音データを読み出し、ネットワーク90へ送信すべきデータとしてフラッシュメモリ17の所定領域に記憶する。なお、他の実施例においては、端末装置7から取得されたカメラ画像データおよびマイク音データがフラッシュメモリ17に直接記憶されてもよい。また、これら各データ(カメラ画像データおよびマイク音データ)をフラッシュメモリ17に記憶する際、CPU10は、相手装置との通信に適した形式となるように各データを必要に応じて修正してもよい。入出力プロセッサ11aは、フラッシュメモリ17に記憶された上記各データを所定のタイミングでネットワーク90へ送信する。これによって、当該各データが相手装置へ送信される。ステップS65の処理の次にステップS66の処理が実行される。
ステップS66において、CPU10は、端末装置7を用いたユーザの操作に応じた処理を実行する。この処理はどのような処理であってもよく、従来のテレビ電話アプリケーションにおいて実行される処理であってもよい。なお、ユーザの操作は、ステップS64で取得した端末操作データ121に基づいて判断される。第3実施例では、例えば、図25に示す録画ボタン153またはメッセージボタン155が指定されたことに応じて、各ボタン153または155に関連付けられた処理が実行される。すなわち、上記録画ボタン153が指定された場合には、テレビ2に表示される動画をメインメモリ等に記憶する処理が実行される。また、上記メッセージボタン155が指定された場合には、CPU10は、ユーザから文字入力を受け付け、入力された文字を相手装置へ送信する。なお、文字入力を受け付ける場合には、CPU10は、第1実施例における文字入力画像(図21)を端末装置7に表示させるようにしてもよい。なお、通話ボタン152が指定された場合には、CPU10は、現在接続されている相手装置との通信を終了する。このとき、図示しないが、ステップS60の処理が再度実行される。ステップS66の次にステップS67の処理が実行される。
ステップS67において、CPU10は端末用画像を生成する。第3実施例においては、図25に示すような操作画像が生成される。ここで、第3実施例では、操作画像の生成方法が上記第1および第2実施例とは異なる。すなわち、操作画像は、外部装置91から取得されるデータ(ウェブページのデータ)に基づいて生成されるのではなく、ゲーム装置3において予め用意されたデータや、カメラ画像データに基づいて生成される。CPU10およびGPU11bは、テレビ電話プログラム161とともに用意される画像データとカメラ画像データを用いて操作画像を生成し、生成した操作画像のデータをVRAM11dに記憶する。ステップS67の次にステップS68の処理が実行される。
ステップS68において、端末用画像を端末装置7へ出力(送信)する。ステップS68の処理は第1実施例におけるステップS35の処理と同様である。この処理によって、端末用画像がLCD51に表示される。なお、ステップS68においてもステップS35と同様、画像のデータと共に音声のデータが端末装置7へ送信され、端末装置7のスピーカ67から音声が出力されてもよい。例えば、テレビ2のスピーカ2aから出力する音声と同じ音声が端末装置7から出力されてもよい。ステップS68の次にステップS69の処理が実行される。
ステップS69において、CPU10は、テレビ電話プログラムを終了するか否かを判定する。具体的には、ステップS64で取得した端末操作データ121に基づいて、終了ボタン154が指定されたか否かを判定する。ステップS69の判定結果が否定の場合、ステップS62の処理が再度実行される。一方、ステップS69の判定結果が肯定の場合、CPU10は図27に示すテレビ電話処理を終了する。以降、ステップS62〜S69の一連の処理は、ステップS69で上記指示があったと判定されるまで繰り返し実行される。
なお、上述のように、ゲーム装置3は、複数の相手装置との間で通信を行うようにしてもよい。このとき、ステップS62においては、ネットワークを介して複数の相手装置と通信を行い、それぞれの相手装置から動画および音声のデータを受信する。ステップS63においては、CPU10(およびGPU11b)は、上記複数の相手装置から受信されるそれぞれの動画を含むテレビ用画像を生成して、テレビ2へ出力する。例えば、テレビ用画像は、画面を相手装置の数に分割した各領域に各相手装置からの画像がそれぞれ表示されるように生成される。また、各相手装置から送信されてくる各音声については、各音声がテレビ2のスピーカ2aへそれぞれ出力されてもよいし、各音声のうちいずれか1つの音声のみがスピーカ2aへ出力されてもよい。また、ステップS65においては、端末装置7から取得されたカメラ画像およびマイク音声が、各相手装置へそれぞれ送信される。
以上のように、第3実施例においても第1および第2実施例と同様、ゲーム装置3において受信された受信データに含まれる画像(通話相手の画像)がテレビ2に出力され(ステップS63)、当該画像に関する操作を行うための操作画像(図25)が端末装置7へ出力される(ステップS68)。また、ゲーム装置3は、操作画像に対する操作を表す操作データを端末装置7から取得し(ステップS64)、テレビ2に表示される画像に関する情報処理を操作データに基づいて実行する(ステップS66)。
また、第3実施例においては、ゲーム装置3は、カメラを備える外部装置(相手装置)から当該カメラによって撮像された動画を受信するとともに、端末装置7のカメラ56によって撮像された動画を当該外部装置へ送信する。このように、ゲームシステム1は、外部装置91と画像を送受信するシステムに対して適用することも可能であり、第3実施例のように、テレビ電話システムに対して適用することも可能である。第3実施例によれば、通話相手の画像がテレビ2に表示されるので、端末装置7を用いて通話を行うユーザ以外の者も通話相手の顔を見ることができ、テレビ電話の画像がより見やすくなる。
また、上記第1および第3実施例によれば、ゲーム装置3は、外部装置から動画のデータを受信し(ステップS11,S62)、受信された動画の再生に関する操作を少なくとも表す操作画像(図15、図25)を端末装置7へ出力する。したがって、上記第1および第3実施例によれば、テレビ2を用いて動画を見やすく表示することができるとともに、端末装置7の操作画像によって動画に関する操作を容易に行うことができる。
(他の実施例)
上記第1〜第3実施例の他、ゲームシステム1は、ネットワークを介して画像を取得して表示する任意のシステムに適用することが可能である。他の実施例においては、テレビ2に表示する画像と、端末装置7に表示する画像とを外部装置91に用意しておき、ゲーム装置3がこれらの画像を外部装置91から取得し、取得した各画像をテレビ2および端末装置7にそれぞれ表示するようにしてもよい。例えば紙芝居のコンテンツとして、紙芝居の絵をテレビ用画像として用意するとともに、紙芝居の文章を端末用画像として用意することが考えられる。このとき、ゲーム装置3は、各画像を外部装置91から取得すると、テレビ2に紙芝居の絵を表示させ、端末装置7に紙芝居の文章を表示させる。また、端末装置7には、端末用画像およびテレビ用画像のページを変更する(次のページの各画像を取得する)指示を行うためのボタン等の画像が表示されてもよい。これによって、端末用画像を用いて各画像に対する操作を行うことが可能となる。上記によれば、親が端末装置7を用いて紙芝居の話を読み、テレビ2によって子供に紙芝居の絵を見せることができ、ゲームシステム1を用いて紙芝居を子供に読み聞かせることができる。
上記紙芝居のコンテンツを各表示装置に表示させる例の他、例えば、会議やプレゼン用の資料を表示する用途にゲームシステム1を用いることも可能である。すなわち、会議やプレゼンの参加者に見せるための資料の画像をテレビ用画像とし、テレビ2に表示される資料について説明(発表)を行うユーザが見るための資料を端末用画像として各表示装置に画像を表示するようにしてもよい。
以上のように、ゲーム装置3は、所定の画像および当該所定の画像に関連付けられる文字情報のデータを受信してもよく、このとき、CPU10は、所定の画像をテレビ2へ出力し、文字情報を含む操作画像を端末装置7へ出力してもよい。これによれば、ユーザは、端末装置7を用いることで、テレビ2に表示される画像に関する説明や話をスムーズに行うことができる。また、テレビ2に表示される所定の画像(および端末装置7に表示される文字情報)に関する操作を、端末装置7によって容易に行うことができる。
(第4実施例)
上記第1〜第3実施例においては、ゲームシステム1は、外部装置91から取得される画像をテレビ2に表示するものであった。ここで、ゲームシステム1は、テレビ2によって受信されるテレビ放送の番組が表示される場合において、外部装置91から取得されるEPG(電子番組表)を用いてテレビ2の選局を制御することも可能である。以下、第4実施例として、ゲーム装置3がテレビ2の選局を制御する処理動作を説明する。
図28は、第4実施例におけるゲーム装置3の処理において用いられる各種データを示す図である。図28は、ゲーム装置3のメインメモリに記憶される主なデータを示す図である。図28に示すように、ゲーム装置3のメインメモリには、テレビ制御プログラム171、端末操作データ121、および処理用データ172が記憶される。なお、図28において、図17と同じデータには図17と同じ番号を付し、詳細な説明を省略する。また、メインメモリには、図28に示すデータの他、テレビ制御プログラム171において用いられる画像データ等、必要なデータが記憶される。
テレビ制御プログラム171は、外部装置91から取得されるEPGを用いてテレビ2を制御する処理をゲーム装置3のCPU10に実行させるためのプログラムである。第4実施例では、CPU10がテレビ制御プログラム171を実行することによって、図29に示すフローチャートの各ステップが実行される。テレビ制御プログラム171は、ゲーム装置3に電源が投入された後の適宜のタイミングでフラッシュメモリ17からその一部または全部が読み込まれてメインメモリに記憶される。なお、テレビ制御プログラム171は、フラッシュメモリ17に代えて、光ディスク4やゲーム装置3の外部の他の装置から(例えばインターネットを介して)取得されてもよい。
処理用データ172は、後述するテレビ制御処理(図29)において用いられるデータである。第4実施例では、処理用データ172は、番組情報データ173、番組予約データ174、および制御指令データ132を含む。番組情報データ173は、外部装置91から取得されるEPGに含まれる番組に関する情報を表す。具体的には、番組情報データ173は、番組を識別する識別情報(番組のタイトル等)と、番組の放送時刻と、番組のチャンネルとを少なくとも表す。番組予約データ174は、ユーザによって視聴が予約された番組を表すデータである。具体的には、番組予約データ174は、当該番組の開始時刻とチャンネルとを少なくとも表す。制御指令データ132は、上記実施例と同様のデータである。図28に示す他、処理用データ172は、テレビ制御処理において生成される各種のデータを含む。
図29は、第4実施例においてゲーム装置3が実行する処理の流れを示すフローチャートである。なお、ゲーム装置3は、第1実施例におけるブラウザプログラム120と同様の方法で、テレビ制御プログラム171の実行を開始する。図29に示すフローチャートは、テレビ制御プログラム171の実行開始に応じて実行される処理の流れを示すフローチャートである。
まずステップS71において、CPU10は、外部装置91からEPGのデータを受信する。すなわち、CPU10はまず、EPGの取得要求を生成し、ネットワーク90を介して所定の外部装置91へ取得要求を送信する。所定の外部装置91は、EPGのデータを記憶するウェブサーバ等、EPGのデータを提供することが可能なものであればどのようなものであってもよい。上記取得要求に応じて、外部装置91はネットワーク90を介してEPGのデータをゲーム装置3へ送信する。外部装置91から送信されてくるEPGのデータはフラッシュメモリ17に記憶される。CPU10は、受信されたデータをフラッシュメモリ17から読み出し、読み出したデータに基づいて番組情報データ173を生成してメインメモリに記憶する。ステップS71の次にステップS72の処理が実行される。
ステップS72において、CPU10は、テレビ2の電源をオンにする制御を行う。すなわち、CPU10は、テレビ2の電源をオンにする制御指令を表す制御指令データ132を生成してメインメモリに記憶する。そして、上記第1実施例と同様の方法で、上記制御指令によってテレビ2の電源をオンにする制御が行われる。ステップS72の次にステップS73の処理が実行される。なお、第4実施例においては、ステップS72の処理が終了した以降、ステップS73〜S81の処理ループは所定時間に1回の割合で繰り返し実行される。
上記ステップS72の処理によって、第4実施例では、テレビ2の電源がオフにされている場合であっても、ユーザが操作を行うことなく自動的にテレビ2の電源をオンにすることができる。なお、他の実施形態において、テレビ制御プログラム171の実行開始時にテレビ2の電源がすでにオンになっていることを想定する場合や、ユーザに操作を行わせる場合には、ステップS72の処理は実行されなくてもよい。
ステップS73において、CPU10は、端末用画像を生成し、端末装置7へ出力する。すなわち、CPU10は、フラッシュメモリ17に記憶されているEPGのデータを読み出し、当該データに基づいてEPGの画像を生成する。生成された画像のデータはVRAM11dに記憶される。VRAM11dに記憶された端末用画像のデータは、第1実施例と同様の方法で端末装置7へ出力される。これによって、EPGの画像が端末装置7に表示される。ステップS73の次にステップS74の処理が実行される。
図30は、端末装置7に表示されるEPGの画像の一例を示す図である。図30のように、端末装置7には、外部装置91から取得されたEPGの一部(全部でもよい)が表示される。なお、EPGの一部のみが端末装置7に表示される場合には、端末装置7に対する操作によって画面をスクロールすることができるようにしてもよい。図30に示すようなEPGの画像が端末装置7に表示されることによって、ユーザは、端末装置7を用いて(例えば見たい番組の欄をタッチすることによって)見たい番組を選択することができる。また、端末用画像は、EPGの画像の他、番組を選択するためのカーソルの画像や、画面をスクロールさせたり、テレビ制御プログラム171を終了させたりする等の各種指示を行うためのボタンあるいはメニューバーの画像等を含むものであってもよい。
ステップS74において、CPU10は端末操作データを取得する。ステップS74の処理は上記第1実施例のステップS12と同じである。ステップS74の次にステップS75の処理が実行される。
ステップS75において、CPU10は、番組を選択する操作が行われたか否かを判定する。ここで、番組の選択操作は、端末装置7を用いたどのような操作であってもよいが、例えば、端末装置7に表示されるEPGのうちで見たい番組の欄をタッチする操作であってもよいし、見たい番組の欄にカーソルを合わせて所定のボタンを押下する操作であってもよい。CPU10は、ステップS73で取得された端末操作データに基づいて、上記の操作が行われたか否かを判定する。また、上記の操作が行われた場合には、選択された番組に関する情報(識別情報、放送時刻、および、チャンネル等)を表すデータ(選択番組データ)をメインメモリに記憶する。ステップS75の判定結果が肯定である場合、ステップS76の処理が実行される。一方、ステップS75の判定結果が否定である場合、後述するステップS79の処理が実行される。
ステップS76において、CPU10は、ユーザによって選択された番組が放送中であるか否かを判定する。すなわち、CPU10はまず、上記ステップS75で記憶された選択番組データをメインメモリから読み出し、上記番組の放送時刻を特定することで、当該番組が現在放送中であるか否かを判定する。ステップS76の判定結果が肯定である場合、ステップS77の処理が実行される。一方、ステップS76の判定結果が否定である場合、ステップS78の処理が実行される。
ステップS77において、CPU10は、ユーザによって選択された番組のチャンネルを選局するようにテレビ2に制御する。すなわち、CPU10はまず、上記選択番組データをメインメモリから読み出し、上記番組のチャンネルを特定する。次に、CPU10は、特定されたチャンネルを選局する制御指令を表す制御指令データ132を生成してメインメモリに記憶する。制御指令データ132がメインメモリに記憶された後は、上記第1実施例と同様の方法で、上記制御指令に応じてテレビ2の動作が制御される。これによって、テレビ2のチャンネルが、上記選択された番組のチャンネルへと切り替えられる。ステップS77の次にステップS79の処理が実行される。
一方、ステップS78において、CPU10は、ユーザによって選択された番組の予約を行う。具体的には、CPU10は、ステップS75で選択された番組を表すデータと、番組情報データ173とをメインメモリから読み出し、当該番組の開始時刻とチャンネルとを特定する。特定された開始時刻およびチャンネルを表すデータは、番組予約データ174としてメインメモリに記憶される。なお、CPU10は、開始時刻が互いに同一のものでなければ、複数の番組予約データ174をメインメモリに記憶し、また、開始時刻が互いに同一のものについては、いずれか一方(例えば、後で予約された方)の番組予約データ174のみをメインメモリに記憶するようにしてもよい。ステップS78の次にステップS79の処理が実行される。
ステップS79において、CPU10は、予約された番組が開始されるか否かを判定する。この判定は、ステップS78で予約された番組の開始時刻が到来したか否かによって行われる。具体的には、CPU10は、番組予約データ174を読み出し、開始時刻が到来した番組があるか否かを判定する。ステップS79の判定結果が肯定である場合、ステップS80の処理が実行される。一方、ステップS79の判定結果が否定である場合、ステップS80の処理がスキップされてステップS81の処理が実行される。
ステップS80において、CPU10は、開始時刻が到来した予約番組のチャンネルを選局するようにテレビ2に制御する。具体的には、CPU10はまず、上記ステップS79において開始時刻が到来したと判定された予約番組の番組予約データ174に基づいて、当該予約番組のチャンネルを特定する。次に、CPU10は、特定されたチャンネルを選局する制御指令を表す制御指令データ132を生成してメインメモリに記憶する。制御指令データ132がメインメモリに記憶された後は、上記第1実施例と同様の方法で、上記制御指令に応じてテレビ2の動作が制御される。これによって、テレビ2のチャンネルが、上記予約番組のチャンネルへと切り替えられる。ステップS80の次にステップS81の処理が実行される。
ステップS81において、CPU10は、テレビ制御プログラムを終了するか否かを判定する。具体的には、ステップS74で取得した端末操作データ121に基づいて、所定の終了操作が行われたか否かを判定する。ステップS81の判定結果が否定の場合、上記ステップS73の処理が再度実行される。一方、ステップS81の判定結果が肯定の場合、CPU10は図29に示すテレビ制御処理を終了する。以降、ステップS73〜S81の一連の処理は、ステップS81で上記終了操作が行われたと判定されるまで繰り返し実行される。
以上のように、上記第4実施例によれば、ゲーム装置3は、所定の外部装置からネットワークを介してテレビ放送の番組表のデータを受信する(ステップS71)。そして、番組表を含む操作画像(図30)が端末装置7へ出力される(ステップS73)。CPU10は、操作画像に対する操作を表す操作データを端末装置7から取得する(ステップS74)。さらに、CPU10は、操作画像に含まれる番組表のうちから上記操作データに基づいて番組を選択し(ステップS75)、選択された番組のチャンネルを選局するようにテレビ2に対する制御を行う(ステップS77,S80)。このように、上記第4実施例によれば、外部装置から取得されるEPGの画像を端末装置7に表示させ、端末装置7を用いてテレビ2の選局等を制御することができる。したがって、ユーザは、EPGの画像が表示される端末装置7を用いてテレビ2の選局操作を行うことができる。
ここで、従来のテレビにおいてEPGを画面に表示する場合には、テレビ番組の画像が画面に表示されないので、ユーザは、番組を見ながらEPGを確認することができなかった。そのため、従来のテレビでは、EPGを見る場合には番組の画像が見にくくなってしまうとともに、番組の選局操作が行いにくいという課題があった。これに対して、上記第4実施例によれば、ユーザは、番組の画像をテレビ2に表示させたまま、端末装置7によってEPGを見ることができ、さらに、端末装置7を用いてテレビ2の選局を制御することができる。したがって、上記第4実施例によれば、番組の画像を見やすく提供することができるとともに、EPGを用いた選局操作を容易に行うことができる。
また、上記第4実施例では、現在放送中でない番組を選択することも可能であり、現在放送中でない番組が選択された場合には、当該番組の視聴が予約され(ステップS78)、当該番組の開始時刻になると当該番組のチャンネルとなるように選局動作が行われる(ステップS80)。したがって、ユーザは、テレビ2の番組を見ながら、後で見る別の番組を端末装置7によって選択して予約しておくことも可能である。
なお、上記第4実施例においては、ユーザによって番組が選択された場合、CPU10は、当該番組のチャンネルを選局する動作をテレビに2行わせた。ここで、他の実施形態において、テレビ2が番組の画像を記録する機能を有する場合、あるいはテレビ2が当該機能を有する録画装置に接続されている場合には、CPU10は、選局動作に代えて(または、選局動作と共に)選択された番組を録画するようにテレビ2を制御してもよい。これによれば、EPGの画像が表示される端末装置7を用いてテレビ番組の録画操作を行うことができる。
また、上記第4実施例において、放送済みの番組を放送局等がネットワーク経由で再度配信するサービスを行っているような場合には、番組表において放送済みの番組が指定されたときに、ゲーム装置3はネットワーク経由で番組を取得して、テレビ2のチャンネル(入力)を自動的に切り替え、番組の画像(動画)および音声をテレビ2に出力するようにしてもよい。そのようにすることで、時間帯を気にせずに好きな番組を視聴することが可能となる。具体的には、番組表から選択された番組が所定の条件を満たす場合、ゲーム装置3は、当該番組を取得する取得要求を所定の外部装置(番組表を配信する外部装置と同じであってもよいし、別であってもよい)へ行う。なお、所定の条件とは、例えば放送済(または放送が開始された後)の番組であること等である。また、番組表のデータには、番組の動画および音声の取得先を示すリンク情報を当該番組に関連付けた情報が含まれていてもよい。上記の取得要求に応じて、上記外部装置は、番組の画像および音声のデータをネットワークを介してゲーム装置3へ送信する。ゲーム装置3は、ネットワーク経由で当該番組のデータを取得する。選択された番組がネットワークを介してゲーム装置3で取得された場合、CPU10は、当該番組の画像および音声をテレビ2へ出力する。なお、動画の取得要求を外部装置に対して送信して動画を取得し、動画をテレビ2に出力する方法は、上記第1実施例と同様であってもよい。また、番組の画像および音声をテレビ2へ出力する前に、CPU10は、ゲーム装置3からの画像および音声を表示・出力するようにテレビ2の入力を切り替えてもよい。
[7.変形例]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
(操作装置に関する変形例)
上記実施形態においては、端末装置7が操作装置として用いられ、コントローラ5は用いられない。したがって、ゲームシステム1はコントローラ5を含まない構成であってもよい。ただし、他の実施形態においては、端末装置7とともにコントローラ5が操作装置として用いられてもよい。すなわち、CPU10は、コントローラ5に対する操作を表す操作データ(コントローラ操作データ)を取得し、当該操作データに基づいて、テレビ2に表示される動画に関する情報処理を実行してもよい。例えば、テレビ2に動画が表示される場合において、コントローラ5を用いて動画の再生や一時停止の操作を行うことができるようにしてもよい。これによれば、端末装置7を把持するユーザだけでなく、他のユーザもコントローラ5を用いて、テレビ2に表示される動画に関する操作を行うことができ、操作性を向上することができる。
(複数の端末装置を有する変形例)
上記実施形態においては、ゲームシステム1は端末装置7を1つのみ有する構成であったが、ゲームシステム1は複数の端末装置を有する構成であってもよい。すなわち、ゲーム装置3は、複数の端末装置とそれぞれ無線通信可能であり、画像のデータを各端末装置へ送信し、操作データとカメラ画像データとマイク音データとを各端末装置から受信するものであってもよい。また、各端末装置に表示される操作画像はそれぞれ異なっていてもよく、テレビ2に画像を表示させる操作も各端末装置で個別に行われてもよい。なお、ゲーム装置3は、複数の端末装置のそれぞれと無線通信を行うが、このとき、ゲーム装置3は、各端末装置との無線通信を時分割で行ってもよいし、周波数帯域を分割して行ってもよい。
また、端末装置は、操作データをゲーム装置へ出力し、ゲーム装置からの画像を受信して表示する機能を有していればよい。つまり、他の実施形態においては、端末装置は、例えば携帯ゲーム機のように、所定のプログラム(ゲームプログラム)によって所定の情報処理(ゲーム処理)を実行する機能を有する装置であってもよい。
(音声をテレビ2に出力する変形例)
上記実施形態においては、テレビ2に画像(動画および/または静止画)を出力する実施例を説明したが、ゲームシステム1は、画像に代えて、テレビ2(テレビ2のスピーカ2a)に音声を出力するために用いることも可能である。すなわち、ゲーム装置3は、外部装置91からネットワーク90を介して音声(音楽等)のデータを受信し、当該音声をスピーカ2aに出力してもよい。このとき、端末装置7には、上記音声に関する操作を行うための操作画像が表示される。また、CPU10は、上記音声に関する情報処理を端末操作データに基づいて実行する。なお、一般的には、可搬型である端末装置7よりも大きいテレビ2の方がより高音質の音声を出力することができるので、上記によれば、ユーザは、外部装置91から取得した音声を、テレビ2によってより良い音質で聴くことができる。
(処理を実行する情報処理装置に関する変形例)
上記実施形態においては、ゲームシステム1において実行される一連の情報処理をゲーム装置3が実行したが、当該情報処理の一部は他の装置によって実行されてもよい。例えば、他の実施形態においては、情報処理の一部(例えば、端末用画像の生成処理)を端末装置7が実行するようにしてもよい。また、他の実施形態では、互いに通信可能な複数の情報処理装置を有するゲームシステムにおいて、当該複数の情報処理装置が情報処理を分担して実行するようにしてもよい。なお、複数の情報処理装置において情報処理が実行される場合には、各情報処理装置で実行される処理を同期させる必要があり、処理が複雑になってしまう。これに対して、上記実施形態のように、情報処理が1つのゲーム装置3によって実行され、端末装置7が画像を受信して表示する場合(つまり、端末装置7がシンクライアント端末である場合)には、複数の情報処理装置間で処理の同期をとる必要がなく、処理を簡易化することができる。
また、上記実施形態においては、ゲーム処理を実行することが可能なゲーム装置3を含むゲームシステム1を例として説明したが、上記実施形態で記載した各処理動作は、ゲームシステムおよびゲーム装置に限らず、任意の情報処理システムおよび情報処理装置によって実行可能である。情報処理システムは、情報処理装置と、ユーザによる操作入力が可能な可搬型の表示装置(例えば端末装置7)とを含むものであればよく、情報処理装置は、可搬型の表示装置と、当該可搬型の表示装置とは異なる表示装置(例えばテレビ2)とにそれぞれ画像を出力して表示させることができるものであればよい。
上記のように、本明細書で説明した種々のシステム、方法、および技術は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはこれら要素の組み合わせによって提供されてもよい。上記の技術を実現するための装置は、プログラム可能なプロセッサによる実行のためのコンピュータ読み取り可能な非一時的な記憶装置において実体的に具体化されるコンピュータプログラムプロダクト、入出力装置、およびコンピュータプロセッサを含んでもよい。上記技術を実現するための処理は、入力データを処理して所望の出力を生成することによって、要求される機能を実行するためのプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。上記の技術は、入力装置、出力装置、および情報記憶装置といったハードウェア資源との間でデータや指示のやり取りを行うプログラム可能なプロセッサを含むコンピュータシステム上で実行可能な1以上のコンピュータプログラムによって実現されてもよい。また、各コンピュータプログラムは、手続型やオブジェクト指向型の高水準プログラミング言語、アセンブリ言語、または、機械語によって実現されてもよく、必要に応じてコンパイルまたはインタプリタされて実行されてもよい。また、上記のプロセッサは、汎用または専用のマイクロプロセッサであってもよい。プロセッサは、一般的に、ROMまたはRAMからデータおよび指示を受け取る。また、上記の記憶装置は、(a)EPROM、EEPROM、フラッシュメモリのような半導体メモリ装置を含む不揮発性のメモリ、(b)内部ハードディスクあるいは着脱可能な外部ディスクのような磁気ディスク、(c)光磁気ディスク、(d)CDROM、に限定されず、あらゆる種類のコンピュータメモリを含む。上記のプロセッサや記憶装置は、ASIC(Application Specific Integrated Circuit)によって補充される、あるいは、ASICに組み込まれる形で実現されてもよい。
また、本明細書に記載の処理システム(回路)は、本明細書において記載された内容に応じたゲーム処理のような制御処理のためにプログラムされる。上記の内容に応じた指示を実行する少なくとも1つのCPUを含む処理システムが、上記の内容によって定義される処理動作を実行するための「プログラムされた論理回路」として作用するものであってもよい。