この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<用語>
本明細書において「利用可能な」とは、入力部、表示部、記憶部、音声出力部などのデバイスが情報処理装置であるコンピュータ(典型的には、ゲーム装置12)と有線または無線で接続されており、データ通信が可能であることを意味する。このとき、入力部、表示部、記憶部、音声出力部などのデバイスは、コンピュータと一体構成されてもよいし、別体であってもよい。
<全体構成>
まず、本発明に係る情報処理システムの典型例として、配信システム100について説明する。図1を参照して、この発明の実施の形態に従う配信システム100は、後述する動画などのコンテンツの配信などを行なう配信サーバ104と、ユーザあるいはプレイヤ(以下、単に「ユーザ」とも総称する。)の間でメッセージを送受信するためのメールサーバ102とを含む。これらのサーバ102および104は、インターネットやLANなどを含むネットワーク106を介して、1または複数のビデオゲーム装置(以下、単に「ゲーム装置」とも称す。)12とデータ通信可能に接続される。なお、動画などのコンテンツの配信には比較的多くのネットワーク帯域が必要であるので、分散型のシステムを採用してもよい。この分散型のシステムは、少なくとも1つのメインサーバと、このメインサーバと同期して同じデータやコンテンツを配信するための少なくとも1つのキャッシュサーバとを設けることで提供される。典型的には、ネットワーク106上に1つのメインサーバと複数のキャッシュサーバとを設けるとともに、メインサーバに対するデータの更新を反映するように複数のキャッシュサーバを構成することで、ネットワーク106のさまざまな位置からアクセスするゲーム装置12に対して、最も近いキャッシュサーバがコンテンツや各種データを配信することができる。これにより、ゲーム装置12に対するレスポンスを高めることができる。
ゲーム装置12の詳細については後述するが、ユーザは、ゲーム装置12を操作して、おもしろいと感じたコンテンツの配信サーバ104からのダウンロードを要求したり、配信して視聴したコンテンツのうち、おもしろいと感じたものを家族や友人などに電子メールで連絡したりする。
なお、図1には、ネットワーク106に複数のゲーム装置12が接続されている構成について例示するが、ゲーム装置12は、1台のみでもあってもよい。また、配信サーバ104は、ダウンロードデータ(コンテンツ)の種類や負荷などに応じて複数台設けられてもよい。さらに、ネットワーク106には、パーソナルコンピュータ(PC)や携帯電話機などが接続されてもよい。それ以外にも、様々な電子機器をネットワーク106に接続して、メールサーバ102を介してゲーム装置12との間でメッセージの送受信を行なうようにしてもよい。
さらに、図1に示す、いわゆるサーバ−クライエント構成に代えて、配信サーバ104を介することなくゲーム装置12の間で直接的にデータ交換を行なうP2P(Peer to Peer)構成を採用してもよい。さらには、ネットワークを介した方法に代えて、可搬性の半導体メモリや光ディスクなどの記憶媒体を介して、コンテンツ、紹介キャラクタ情報、および動画情報などを取得するようにしてもよい。
ゲーム装置12同士についても、ネットワーク106を介して通信可能である。ユーザが入力したメッセージやゲーム装置12で生成されたメッセージは、電子メールの形式に変換され、ネットワーク106およびメールサーバ102を介して、ゲーム装置12同士で送受信(遣り取り)される。このため、メールサーバ102は、汎用的なメールサーバを用いることができる。したがって、ゲーム装置12は、PCや携帯電話機のような携帯端末(他のゲーム装置12以外の端末)との間でメッセージすなわち電子メールを遣り取りすることも可能である。このようなゲーム装置12におけるメッセージの送受信の処理は、ユーザが送受信指示を行なわなくとも所定のスケジュールで自動的に実行されるので、ユーザは定期的なチェック作業を自ら行なわなくとも、メッセージを受け取った状態でゲームや他のアプリケーションをプレイすることができる。また、ゲーム装置12は、アドレス帳(後述するフレンドリスト44d)に宛先を登録したゲーム装置12またはゲーム装置12以外の他の端末(以下、単に「他の端末」とも称すことがある。)との間でのみメッセージの送受信を行なうようにすることもできる。この場合には、汎用的なメールシステムを用いてもスパムメールのような不要なメッセージをユーザが受け取らないようにすることが可能である。
また、ゲーム装置12は、受信したメッセージをモニタ34に表示するためのアプリケーションである伝言板機能を実行することができる。ただし、その他のアプリケーション(ゲーム等)に依存する固有のメッセージであって、当該アプリケーションによってのみ利用されるデータについては、当該アプリケーションでのみ読み取り可能とすることができる。したがって、特定のユーザのみにメッセージを送りたい場合には、個々のアプリケーションに依存するデータをメッセージに含めて送信すれば、伝言板機能では読めない形式にすることができる。ただし、アプリケーションの種類に拘わらず参照可能なメッセージは、伝言板機能によってモニタ34に表示して誰でも参照する(読む)ことができる。
伝言板機能は、受信したメッセージをモニタ34に表示する機能を有するアプリケーションであり、ネットワーク106から取得したメッセージを表示する。ただし、他のゲーム装置12や他の端末から受信したメッセージのみならず、自身宛に作成したメッセージを同様に表示することもできる。したがって、ゲーム装置12がネットワーク106に接続されていない場合であっても、家庭内の伝言板ないし個人用のメモ帳として、この伝言板機能を利用することができるし、ゲーム等のアプリケーションによって生成された記録を後から伝言板機能によって閲覧できるようにしておくこともできる。このとき、ゲーム装置12において生成されたメッセージを、ネットワーク106から取得したメッセージと同様の形式(本実施の形態においては電子メール形式)で同じ領域に記憶しておくようにすれば、表示のための処理を個別に用意する必要がなくなる。たとえば、メモまたは伝言を生成する際に電子メール形式のデータに変換を行ったり、ゲームプログラムの処理において電子メール形式のデータを生成したりすればよい。
<ゲーム装置の構成>
図2を参照して、この発明の実施の形態に従うビデオゲームシステム10は、ゲーム装置12およびコントローラ22を含む。ゲーム装置12には、コンテンツ配信アプリケーションが組み込まれ、ビデオゲームシステム10はコンテンツ配信端末として機能する。
本実施の形態に従うゲーム装置12は、最大4つのコントローラ22と通信可能に設計されている。また、ゲーム装置12と各コントローラ22とは、無線によって接続される。たとえば、無線通信は、Bluetooth(登録商標)規格に従って実行されるが、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。
ゲーム装置12は、略直方体のハウジング14を含み、ハウジング14の前面にはディスクスロット16が設けられる。ディスクスロット16から、ゲームプログラム等を記憶した記憶媒体の典型例である光ディスク18が挿入されて、ハウジング14内のディスクドライブ54(図3参照)に装着される。ディスクスロット16の周囲には、LEDと導光板が配置され、さまざまな処理に応答させて点灯させることが可能である。
また、ゲーム装置12のハウジング14の前面において、その上部には、電源ボタン20aおよびリセットボタン20bが設けられ、その下部には、イジェクトボタン20cが設けられる。さらに、リセットボタン20bとイジェクトボタン20cとの間であり、ディスクスロット16の近傍には、外部メモリカード用コネクタカバー28が設けられる。この外部メモリカード用コネクタカバー28の内側には、外部メモリカード用コネクタ62(図3参照)が設けられ、図示しない外部メモリカード(以下、単に「メモリカード」とも称す。)が挿入される。メモリカードは、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このビデオゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行なうことに代えて、たとえばゲーム装置12の内部に設けられるフラッシュメモリ44(図3参照)のような内部メモリに対して行なうようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。また、ゲームプログラム等は、ネットワーク接続されたサーバなどから、有線または無線の通信回線を通じて、ゲーム装置12に供給(ダウンロード)されてもよい。このようにダウンロードされたゲームプログラム等については、ゲーム装置12の内部に設けられるフラッシュメモリ44(図3参照)やメモリカードに記憶される。
なお、メモリカードとしては、汎用のSD(Secured Digital)カードを用いることができるが、メモリスティックやマルチメディアカード(登録商標)のような他の汎用のメモリカードを用いることもできる。
ゲーム装置12のハウジング14の後面には、AVケーブルコネクタ58(図3参照)が設けられる。そのAVコネクタ58には、AVケーブル32aを通してゲーム装置12にモニタ34(表示部)およびスピーカ34a(音声出力部)が接続される。このモニタ34およびスピーカ34aは、典型的には、カラーテレビジョン受像機である。AVケーブル32aは、ゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上には、たとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからは、ゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ34の周辺(図2に示す例では、モニタ34の上側)には、2つの赤外LED(マーカ)340m,340nを有するマーカ部34bが設けられる。このマーカ部34bは、電源ケーブル32bを通してゲーム装置12に接続される。したがって、マーカ部34bには、ゲーム装置12から電源が供給される。これによって、マーカ340m,340nは発光し、それぞれモニタ34の前方に向けて赤外光を出力する。
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって供給される。ACアダプタは、家庭用の標準的な壁ソケットに差し込まれ、家庭用電源(商用電源)を、ゲーム装置12の駆動に適した低いDC電圧信号に変換する。他の実現例では、電源としてバッテリが用いられてもよい。
このビデオゲームシステム10において、ユーザがゲーム(または、ゲームに限らず、他のアプリケーション)をプレイする場合には、ユーザは、まずゲーム装置12の電源をオンし、次いで、ビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)のプログラムを記録している適宜の光ディスク18を選択し、その光ディスク18をゲーム装置12のディスクドライブ54にローディングする。すると、ゲーム装置12は、その光ディスク18に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。あるいは、ゲーム装置12は、予めサーバからダウンロードされフラッシュメモリ44(図3参照)などに格納されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めることもできる。
ユーザは、コントローラ22を操作して、ゲーム装置12に入力を与える。たとえば、入力部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力部26に対する操作以外にも、コントローラ22自体を動かすことによって、動画オブジェクト(ユーザオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
図3は、図1に示すビデオゲームシステム10の電気的な構成を示すブロック図である。ハウジング14内の各コンポーネントは、プリント基板に実装される。図3に示すように、ゲーム装置12には、CPU40が設けられる。このCPU40は、ゲームプロセッサとして機能する。このCPU40には、システムLSI42が接続される。このシステムLSI42には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV_IC56が接続される。
外部メインメモリ46は、各種アプリケーションのプログラムを記憶したり、各種データを記憶したりし、CPU40のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする計時回路が設けられる。すなわち、CPU40は、ROM/RTC48を参照することで、現在の日時(年月日および時刻)を取得する。ディスクドライブ54は、光ディスク18からプログラムデータやテクスチャデータ等を読み出し、CPU40の制御の下で、後述する内部メインメモリ42eまたは外部メインメモリ46に書込む。
システムLSI42には、入出力プロセッサ42a、GPU(Graphics Processor Unit)42b、DSP(Digital Signal Processor)42c、VRAM42d、および内部メインメモリ42eが設けられ、これらは内部バスによって互いに接続される。
入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。データの送受信やダウンロードについては後で詳細に説明する。
GPU42bは、描画手段の一部を形成し、CPU40からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU42bに与える。
上述したように、GPU42bにはVRAM42dが接続される。GPU42bが作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU42bがVRAM42dにアクセスして取得する。なお、CPU40は、描画に必要な画像データを、GPU42bを介してVRAM42dに書込む。GPU42bは、VRAM42dにアクセスして描画のためのゲーム画像データを作成する。
なお、この本実施の形態では、GPU42bがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外のなんらかのアプリケーションを実行する場合には、GPU42bは当該アプリケーションについての画像データを生成する。
また、DSP42cは、オーディオプロセッサとして機能し、内部メインメモリ42eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ34aから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
上述のように生成されたゲーム画像データおよびオーディオデータは、AV_IC56によって読み出され、AVコネクタ58を介してモニタ34およびスピーカ34aに出力される。したがって、ゲーム画面がモニタ34に表示され、ゲームに必要な音(音楽)がスピーカ34aから出力される。
また、入出力プロセッサ42aには、フラッシュメモリ44、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60および外部メモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
入出力プロセッサ42aは、無線通信モジュール50を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ42aは、定期的にフラッシュメモリ44にアクセスし、ネットワークへ送信する必要があるデータ(送信データとする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワークに送信する。また、入出力プロセッサ42aは、他のゲーム装置から送信されるデータ(受信データとする)を、ネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、受信データをフラッシュメモリ44に記憶する。ただし、一定の場合には、受信データをそのまま破棄する。さらに、入出力プロセッサ42aは、ダウンロードサーバからダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ44に記憶する。
また、入出力プロセッサ42aは、コントローラ22から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ42eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU40のゲーム処理によって利用された後、バッファ領域から消去される。
なお、この本実施の形態では、上述したように、無線コントローラモジュール52は、Bluetooth(登録商標)規格にしたがってコントローラ22との間で通信を行なう。
さらに、入出力プロセッサ42aには、拡張コネクタ60および外部メモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。外部メモリカード用コネクタ62には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ42aは、拡張コネクタ60や外部メモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
図1にも示したように、ゲーム装置12(ハウジング14)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI42に接続される。この電源ボタン20aがオンされると、システムLSI42は、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通常の通電状態となるモード(通常モードと呼ぶこととする)を設定する。一方、電源ボタン20aがオフされると、システムLSI42は、ゲーム装置12の一部のコンポーネントのみに電源が供給され、消費電力を必要最低限に抑えるモード(以下、「スタンバイモード」とも称す。)を設定する。この本実施の形態では、スタンバイモードが設定された場合には、システムLSI42は、入出力プロセッサ42a、フラッシュメモリ44、外部メインメモリ46、ROM/RTC48および無線通信モジュール50、無線コントローラモジュール52以外のコンポーネントに対して、電源供給を停止する指示を行なう。したがって、このスタンバイモードは、CPU40によってアプリケーションの実行が行なわれないモードである。
なお、システムLSI42には、スタンバイモードにおいても電源が供給されるが、GPU42b、DSP42cおよびVRAM42dへのクロックの供給を停止することにより、これらを駆動させないようにして、消費電力を低減するようにしてある。
また、ゲーム装置12のハウジング14内部には、CPU40やシステムLSI42などのICの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン20aがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
また、通常モードとスタンバイモードの切り替えは、コントローラ22の電源スイッチ26hのオン/オフの切り替えによっても遠隔操作によって行なうことが可能である。当該遠隔操作を行なわない場合には、スタンバイモードにおいて無線コントローラモジュール52への電源供給を行なわない設定にしてもよい。
リセットボタン20bもまた、システムLSI42に接続される。リセットボタン20bが押されると、システムLSI42は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク18が排出される。
<コントローラの構成>
図4(A)〜図4(E)は、コントローラ22の外観の一例を示す。図4(A)はコントローラ22の先端面を示し、図4(B)はコントローラ22の上面を示し、図4(C)はコントローラ22の右側面を示し、図4(D)はコントローラ22の下面を示し、そして、図4(E)はコントローラ22の後端面を示す。
図4(A)〜図4(E)を参照して、コントローラ22は、たとえばプラスチック成型によって形成されたハウジング22aを有している。ハウジング22aは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング22a(コントローラ22)には、入力手段(複数のボタンないしスイッチ)26が設けられる。具体的には、図4(B)に示すように、ハウジング22aの上面には、十字キー26a,1ボタン26b,2ボタン26c,Aボタン26d,−ボタン26e,HOMEボタン26f,+ボタン26gおよび電源スイッチ26hが設けられる。また、図4(C)および図4(D)に示すように、ハウジング22aの下面に傾斜面が形成されており、この傾斜面に、Bトリガースイッチ26iが設けられる。
十字キー26aは、4方向プッシュスイッチであり、矢印で示す4つの方向、前(または上)、後ろ(または下)、右および左の操作部を含む。この操作部のいずれか1つを操作することによって、ユーザによって操作可能なキャラクタまたはオブジェクト(ユーザキャラクタまたはユーザオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
1ボタン26bおよび2ボタン26cは、それぞれ、押しボタンスイッチである。たとえば3次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、1ボタン26bおよび2ボタン26cは、Aボタン26dおよびBトリガースイッチ26iと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
Aボタン26dは、押しボタンスイッチであり、ユーザキャラクタまたはユーザオブジェクトに、方向指示以外の動作、すなわち、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。
−ボタン26e、HOMEボタン26f、+ボタン26gおよび電源スイッチ26hもまた、押しボタンスイッチである。−ボタン26eは、ゲームモードを選択するために使用される。HOMEボタン26fは、ゲームメニュー(メニュー画面)を表示するために使用される。+ボタン26gは、ゲームを開始(再開)したり、一時停止したりするなどのために使用される。電源スイッチ26hは、ゲーム装置12の電源を遠隔操作によってオン/オフするために使用される。
なお、この本実施の形態では、コントローラ22自体をオン/オフするための電源スイッチは設けておらず、コントローラ22の入力部26のいずれかを操作することによってコントローラ22はオンとなり、一定時間(たとえば、30秒)以上操作しなければ自動的にオフとなるようにしてある。
Bトリガースイッチ26iもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ22で選択した位置を指定したりするために使用される。また、Bトリガースイッチ26iを押し続けると、ユーザオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Bトリガースイッチ26iは、通常のBボタンと同様に機能し、Aボタン26dによって決定したアクションを取り消すなどのために使用される。
また、図4(E)に示すように、ハウジング22aの後端面に外部拡張コネクタ22bが設けられ、また、図4(B)に示すように、ハウジング22aの上面であり、後端面側にはインジケータ22cが設けられる。外部拡張コネクタ22bは、図示しない別の拡張コントローラを接続するためなどに使用される。インジケータ22cは、たとえば、4つのLEDで構成され、4つのうちのいずれか1つを点灯することにより、点灯LEDに対応するコントローラ22の識別情報(コントローラ番号)を示したり、点灯させるLEDの個数によってコントローラ22の電源残量を示したりすることができる。
さらに、コントローラ22は、撮像情報演算部80(図4参照)を有しており、図4(A)に示すように、ハウジング22aの先端面には撮像情報演算部80の光入射口22dが設けられる。また、コントローラ22は、スピーカ86(図4参照)を有しており、このスピーカ86は、図4(B)に示すように、ハウジング22aの上面であり、1ボタン26bとHOMEボタン26fとの間に設けられる音抜き孔22eに対応して、ハウジング22a内部に設けられる。
なお、図4(A)〜図4(E)に示したコントローラ22の形状や、各入力部26の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明の本質に包含される。
図5はコントローラ22の電気的な構成を示すブロック図である。この図5を参照して、コントローラ22はプロセッサ70を含み、このプロセッサ70には、内部バス(図示せず)によって、外部拡張コネクタ22b、入力部26、メモリ72、加速度センサ74、無線モジュール76、撮像情報演算部80、LED82(インジケータ22c)、バイブレータ84、スピーカ86および電源回路88が接続される。また、無線モジュール76には、アンテナ78が接続される。
プロセッサ70は、コントローラ22の全体制御を司り、入力部26、加速度センサ74および撮像情報演算部80によって入力された情報(入力情報)を、入力データとして無線モジュール76およびアンテナ78を介してゲーム装置12に送信(入力)する。このとき、プロセッサ70は、メモリ72を作業領域ないしバッファ領域として用いる。
上述した入力部26(26a−26i)からの操作信号(操作データ)は、プロセッサ70に入力され、プロセッサ70は操作データを一旦メモリ72に記憶する。
また、加速度センサ74は、コントローラ22の縦方向(y軸方向)、横方向(x軸方向)および前後方向(z軸方向)の3軸で各々の加速度を検出する。この加速度センサ74は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
たとえば、加速度センサ74は、第1所定時間毎に、x軸,y軸,z軸の各々についての加速度(ax,ay,az)を検出し、検出した加速度のデータ(加速度データ)をプロセッサ70に入力する。たとえば、加速度センサ74は、各軸方向の加速度を、−2.0G〜2.0G(Gは重力加速度である。以下、同じ。)の範囲で検出する。プロセッサ70は、加速度センサ74から与えられる加速度データを、第2所定時間毎に検出し、一旦メモリ72に記憶する。プロセッサ70は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも1つを含む入力データを作成し、作成した入力データを、第3所定時間(たとえば、5msec)毎にゲーム装置12に送信する。
なお、図4(A)〜図4(E)には表れていないが、本実施形態では、加速度センサ74は、ハウジング22a内部の基板上の十字キー26aが配置される付近に設けられる。
ここで、加速度センサ74から出力される加速度データに基づいて、ゲーム装置12のプロセッサ(たとえば、CPU40)またはコントローラ22のプロセッサ(たとえば、プロセッサ70)などのコンピュータが処理を行なうことによって、コントローラ22に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
たとえば、1軸の加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ22が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ22の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向である状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることができる。
また、多軸の加速度センサの場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサの出力に基づいて、プロセッサ70がコントローラ22の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行なうことなく、加速度センサからの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサをプロセッサと組み合わせることによって、コントローラ22の傾き、姿勢または位置を判定することができる。
一方、加速度センサが動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサを有するコントローラ22がユーザの手で動的に加速されて動かされている場合に、加速度センサによって生成される加速度データを処理することによって、コントローラ22の様々な動きおよび/または位置を算出することができる。
なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施の形態では、加速度センサは、加速度データをプロセッサ70に出力する前に、内蔵の加速度検出手段から出力される加速度信号(加速度データ)に対して所望の処理を行なうための、組込み式の信号処理装置また他の種類の専用の処理装置を搭載してもよい。たとえば、組込み式または専用の処理装置は、加速度センサが静的な加速度(たとえば、重力加速度)を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
無線モジュール76は、たとえばBluetooth(登録商標)の技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ78から放射する。つまり、入力データは、無線モジュール76によって微弱電波信号に変調されてアンテナ78(コントローラ22)から送信される。この微弱電波信号が上述したゲーム装置12に設けられた無線コントローラモジュール52によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置12(CPU40)は、コントローラ22からの入力データを取得することができる。そして、CPU40は、取得した入力データとプログラム(ゲームプログラム)とに従ってゲーム処理を行なう。
さらに、上述したように、コントローラ22には、撮像情報演算部80が設けられる。この撮像情報演算部80は、赤外線フィルタ80a、レンズ80b、撮像素子80cおよび画像処理回路80dによって構成される。赤外線フィルタ80aは、コントローラ22の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ34の表示画面近傍(周辺)に配置されるマーカ340mおよび340nは、モニタ34の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ80aを設けることによってマーカ340mおよび340nの画像をより正確に撮像することができる。レンズ80bは、赤外線フィルタ80aを透過した赤外線を集光して撮像素子80cへ出射する。撮像素子80cは、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ80bによって集光された赤外線を撮像する。したがって、撮像素子80cは、赤外線フィルタ80aを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子80cによって撮像された画像を撮像画像と呼ぶ。撮像素子80cによって生成された画像データは、画像処理回路80dで処理される。画像処理回路80dは、撮像画像内における撮像対象(マーカ340mおよび340n)の位置を算出し、第4所定時間毎に、当該位置を示す各座標値を撮像データとしてプロセッサ70に出力する。なお、画像処理回路80dにおける処理については後述する。
図6は、コントローラ22を用いてゲームプレイする状態の一例を示す図である。図6に示すように、ビデオゲームシステム10でコントローラ22を用いてゲームをプレイする際、ユーザは、一方の手でコントローラ22を把持する。厳密に言うと、ユーザは、コントローラ22の先端面(撮像情報演算部80が撮像する光の入射口22d側)がマーカ340mおよび340nの方を向く状態でコントローラ22を把持する。ただし、図1からも分かるように、マーカ340mおよび340nは、モニタ34の画面の横方向と平行に配置されている。この状態で、ユーザは、コントローラ22が指示する画面上の位置を変更したり、コントローラ22と各マーカ340mおよび340nとの距離を変更したりすることによってゲーム操作を行なう。
図7は、マーカ340mおよび340nと、コントローラ22との視野角を説明するための図である。図7に示すように、マーカ340mおよび340nは、それぞれ、視野角θ1の範囲で赤外光を放射する。また、撮像情報演算部80の撮像素子80cは、コントローラ22の視線方向を中心とした視野角θ2の範囲で入射する光を受光することができる。たとえば、マーカ340mおよび340nの視野角θ1は、共に34°(半値角)であり、一方、撮像素子80cの視野角θ2は41°である。ユーザは、撮像素子80cが2つのマーカ340mおよび340nからの赤外光を受光することが可能な位置および向きとなるように、コントローラ22を把持する。具体的には、撮像素子80cの視野角θ2の中に少なくとも一方のマーカ340mおよび340nが存在し、かつ、マーカ340mまたは340nの少なくとも一方の視野角θ1の中にコントローラ22が存在する状態となるように、ユーザはコントローラ22を把持する。この状態にあるとき、コントローラ22は、マーカ340mおよび340nの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲でコントローラ22の位置および向きを変化させることによってゲーム操作を行なうことができる。
なお、コントローラ22の位置および向きがこの範囲外となった場合、コントローラ22の位置および向きに基づいたゲーム操作を行なうことができなくなる。以下では、上記範囲を「操作可能範囲」と呼ぶ。
操作可能範囲内でコントローラ22が把持される場合、撮像情報演算部80によって各マーカ340mおよび340nの画像が撮像される。すなわち、撮像素子80cによって得られる撮像画像には、撮像対象である各マーカ340mおよび340nの画像(対象画像)が含まれる。図8は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路80dは、各マーカ340mおよび340nの撮像画像における位置を表す座標(マーカ座標)を算出する。
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路80dは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路80dは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である2つのマーカ340mおよび340nの画像340m’および340n’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像であるマーカ340mおよび340nの画像340m’および340n’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路80dは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子80cの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子80cによって撮像された撮像画像の解像度が126ドット×96ドットであるとし、重心位置は1024ドット×768ドットのスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(XY座標系)で表現されるものとする。
また、対象画像が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路80dは、算出された2箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ(マーカ座標データ)は、上述したように、プロセッサ70によって入力データに含まれ、ゲーム装置12に送信される。
ゲーム装置12(CPU40)は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ34の画面上におけるコントローラ22の指示位置(指示座標)と、コントローラ22からマーカ340mおよび340nまでの各距離とを算出することができる。具体的には、2つのマーカ座標の中点の位置から、コントローラ22の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ22と、マーカ340mおよび340nとの距離に応じて変化するので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12はコントローラ22とマーカ340mおよび340nとの間の距離を把握できる。
<データ構成>
次に、図9を参照して、ゲーム装置12に内蔵されるフラッシュメモリ44に記憶されるデータの構成について説明する。
ゲーム装置12は、メールサーバ102とメッセージの送受信を行ない、配信サーバ104からデータのダウンロードを行ない、2種類の通信処理を行なう。メッセージの送受信およびダウンロードの処理は、入出力プロセッサ42aによって実行される。フラッシュメモリ44は記憶領域として、送信メッセージボックス44a、受信メッセージボックス44b、管理用ファイル44c、フレンドリスト44d、タスクリスト44e、セーブ領域44f、データベース44gおよび本体アプリ領域44hを含む。
送信メッセージボックス44aは、ゲーム装置12から他のゲーム装置12や他の端末に送信する電子メール形式のメッセージ(送信データとする)を記憶する領域である。図9からも分かるように、送信データは、メールサーバ102に送信される。したがって、ゲーム装置12は、メールサーバ102およびネットワーク106を介して、他のゲーム装置12にメッセージを送信することができる。入出力プロセッサ42aは、所定のスケジュールに基づいて(たとえば、10分毎に)送信メッセージボックス44aを参照し、送信データが記憶されている場合には、記憶されている送信データをネットワーク106に送信する。送信データがネットワーク106に送信されると、当該送信データは送信メッセージボックス44aから削除される。また、上記の処理は、ユーザの操作に基づいて行なわれてもよい。
したがって、電子メールの送信を入出力プロセッサ42aがアプリケーションとは独立に行なうので、伝言板機能やゲーム等、CPU40で実行されるアプリケーションでは、メッセージの作成後、当該メッセージを電子メール形式で送信メッセージボックス44aに記録しておく処理を行なうだけで、メッセージをネットワークに対して送信することができる。
なお、本実施の形態においては、より汎用的な電子メール形式のデータをメールサーバと送受信するが、データの形式は電子メールに限られず、さまざまなフォーマットにて転用可能である。特にゲーム装置12同士の通信に限られる場合は、汎用的なフォーマットでなくともよいし、他の端末とも通信する場合であっても、当該端末で処理可能な汎用フォーマットであれば適用できる。また、サーバの種類も、端末からのアクセスまで送信されたデータを保持する性質のものであれば、メールサーバ以外の種類のサーバでもよい。
また、何らかの理由で送信機能が停止されていたり、通信障害が発生したりしている場合には、送信データの送信が行なわれないため、送信メッセージボックス44aのデータ量が一杯になる可能性がある。かかる場合には、送信メッセージの送信メッセージボックス44aへの登録を受付けないようにする。
受信メッセージボックス44bは、他のゲーム装置12、他の端末や配信サーバ104から受信される電子メール形式のメッセージ(この本実施の形態では、上記の「送信データ」に対して「受信データ」とも称すことがある。)を記憶する領域である。図9からも分かるように、受信データは、メールサーバ102や配信サーバ104から送信される。入出力プロセッサ42aは、所定のスケジュールに基づいて(たとえば、10分毎に)メールサーバ102にアクセスして、サーバに新着メールがあるかどうかを確認し、新着メールがある場合に、当該新着メールを受信して受信データとして受信メッセージボックス44bに記憶する。受信メッセージボックス44bでは、受信データは、アプリケーションによって開かれ(使用され)削除されるか、当該受信メッセージボックス44bが一杯になるまで保持される。ただし、受信メッセージボックス44bが一杯になると、新たな受信データを受信する毎に、最も古い受信データから順に削除される。また、ゲーム装置12が通常モードである場合に、受信メッセージボックス44bに保持された受信データは、ゲームデータのようなアプリケーションに依存するデータが添付されたものを除いて、ヘッダ情報に従ってデータベース44gに移動され、伝言板機能によって読み出し可能な状態となる。
なお、メールサーバ102からの受信データは、他のゲーム装置12や他の端末からのメッセージである。また、配信サーバ104からの受信データは、配信サーバ104の管理者等からの複数ユーザに対するお知らせのようなメッセージである。たとえば、配信サーバ104の管理者等からは、新作のゲームアプリケーション(ゲームソフト)の情報やゲーム内におけるイベントの情報などのメッセージが送信(通知)される。配信サーバ104から受信したデータを受信メッセージボックス44bに記憶する処理の詳細については後述する。
管理用ファイル44cは、ゲーム装置12についての管理情報であり、ゲーム装置12の識別情報、ユーザのプロフィールなど、ゲーム装置12固有の情報が記憶され、必要に応じて読み出される。フレンドリスト44dは、いわゆる電子メールのアドレス帳に相当し、登録した他のゲーム装置12の識別情報(またはメールアドレス)および他の端末のメールアドレスが記述される。このフレンドリスト44dは、伝言板機能を実行する場合に参照可能であるのみならず、各種アプリケーションからも参照可能である。ただし、フレンドリスト44dに記述された他のゲーム装置12の識別情報および他の端末のメールアドレスのうち、フレンド登録(アドレス登録)が実行された他のゲーム装置12の識別情報または他の端末のメールアドレスから送信された電子メール(受信データ)以外は削除される。つまり、送信元が不明である場合には、受信データがフィルタリングされる。これによって、スパムメールのような所望でない電子メールを自動的に削除することができる。
タスクリスト44eは、配信サーバ104からデータをダウンロードするスケジュールを表すタスクのリストであって、ゲーム装置12の必要のために予め登録されたタスクやユーザによって任意に登録されたタスクをそれぞれ記憶する。それぞれのタスクが実行されることによって、ダウンロード処理が行なわれることになる。
セーブ領域44fは、アプリケーションのデータを保存(セーブ)する領域であり、領域内にダウンロードボックス440を含む。ダウンロードボックス440は、上述したように、タスクに従って配信サーバ104からダウンロードされたダウンロードデータが記憶される領域である。また、セーブ領域44fは、アプリケーション毎に領域が確保されている。したがって、他の実施の形態では、ダウンロードデータに対応したアプリケーションのデータを記憶する領域内にアプリケーション毎のダウンロードボックスを設けるようにしてもよい。
データベース44gは、上述の伝言板機能によって利用される、日付毎のメッセージを保存しておく領域であり、他のアプリケーションからも参照可能である。上述したように、受信データは受信メッセージボックス44bに記憶されるが、受信メッセージボックス44bの容量は有限であり、一杯になると、受信データは古いものから順に削除する。したがってメッセージの長期間保存や共用化のために、データベース44gを設け、受信データ(メッセージ)は、たとえばゲームデータが添付されたもののような、個々のアプリケーションでしか利用しないものを除いて、受信メッセージボックス44bからデータベース44gに移動される。このとき、メッセージのヘッダ情報が参照され、日付毎に管理されるデータベース44gの各領域に記憶される。たとえば、伝言板日時指定の情報として年月日および時間が記述されている場合には、当該受信データは指定された年月日に対応する領域に記憶される。ただし、メッセージのヘッダ情報に日時等の指定が無ければ、当該メッセージを受信した日に対応する領域に、当該メッセージは記憶される。日付毎の領域の管理方法としては、たとえば日付毎にフォルダを設定し、メッセージを対応するフォルダ内に保存するようにすればよい。また、保存する際のファイル名を、時刻を表すファイル名にしてもよい。
なお、メモリカードが外部メモリカード用コネクタ62に装着されている場合には、データベース44gの内容はメモリカードに自動的またはユーザの指示によりバックアップすることができるようにしてもよい。
本体アプリ領域44hは、本体機能として組み込まれたアプリケーションのプログラム(ソフト)を記憶する領域である。たとえば、ゲーム装置12を起動した際のメニュープログラムや、伝言板機能、フレンド登録機能のようなゲーム装置12自体の機能(本体機能)のアプリケーションは、本体アプリ領域44hに記憶(インストール)されている。つまり、ゲーム装置12は、光ディスク18に記憶されているゲーム等のプログラムを読み出してアプリケーションを実行することも、フラッシュメモリ44に記憶されているプログラムを読み出してアプリケーションを実行することも可能なゲーム装置である。また、本体アプリ領域44hに記憶されるプログラムは上述のソフト以外にも追加することが可能である。
<サーバの構成>
メールサーバ102および配信サーバ104は、典型的には、汎用的なサーバコンピュータによって実現される。このようなサーバコンピュータは、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのプロセッサ、ダイナミックメモリやハードディスクなどの記憶装置、およびキーボード、マウス、およびモニタなどの入出力装置を含む。サーバコンピュータの構成については、公知であるので、これ以上の説明を行なわない。なお、メールサーバ102および配信サーバ104は、いわゆるクラスタコンピュータのような、複数のプロセッサが協働することで、それぞれのサーバ機能を提供するような構成であってもよい。
<アプリケーションの概要>
本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供されるアプリケーションの概要について説明する。本実施の形態に従うコンテンツ配信アプリケーションが起動されると、まず、図10に示すような初期画面が表示される。
なお、本実施の形態に従うゲーム装置12では、電源ボタン20a(図2)がオンされると、本実施の形態に従うコンテンツ配信アプリケーションを含む、予めインストールされている複数のアプリケーションを示すアイコンが一覧配置されたメインメニュー画面が表示される。ユーザは、コントローラ22を操作して、このメインメニュー画面上の所望するアプリケーションを示すアイコンを選択する。すると、選択されたアイコンに対応するプログラムが実行される。
図10を参照して、本実施の形態に従うコンテンツ配信アプリケーションの初期画面には、後述する本アプリケーションの起動直後のスクリーンショットを下地にして、アイコンやバナーなどが表示される。
ユーザがコントローラ22を操作して、「はじめる」アイコン504を選択すると、ゲーム装置12のCPU40は、初期化処理が実行した上で、図11に示すメイン画面を表示する。一方、ユーザがコントローラ22を操作して、「メニューへ」アイコン502を選択すると、メインメニューに戻る。
図11を参照して、メイン画面では、予め登録した、1または複数のキャラクタ510a〜510eが居間に集合しているような、3Dのゲーム画像が表示される。ユーザがコントローラ22を操作することで、この3Dのゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。すなわち、ゲーム装置12のCPU40は、ユーザによるコントローラ22の操作に応じて、視点を異ならせたゲーム画像を表示する。
ここで、図11に示すキャラクタ510a〜510eは、後述するように、ユーザが予め登録することができるので、他のキャラクタと区別するために「ユーザキャラクタ510」とも総称する。
また、図11に示すメイン画面には、各種のオブジェクトが表示されており、典型的には、テレビオブジェクト512と、コルクボードオブジェクト514と、カレンダオブジェクト516と、観葉植物オブジェクト518と、ポスタオブジェクト(図示しない)とを含む。これらのオブジェクトは、いずれも選択可能に表示されており、選択されるとそれぞれ対応する機能が開始される。これらの機能については、後述する。
(1.配信サーバからの紹介キャラクタ)
図11に示すメイン画面の表示が開始されてから、予め定められたタイミング、もしくは全くのランダムなタイミングで、図12に示すような、新たなキャラクタの登場を知らせるテロップのオブジェクト506が表示される。より具体的には、このオブジェクト506には、「誰か来ました!」といったメッセージが表示される。このオブジェクト506の表示に続いて、図13に示すように、予め設定された挙動パターンに従って、メイン画面に新たな紹介キャラクタ520が現れる。言い換えれば、自装置に登録されているユーザキャラクタ510と、紹介キャラクタ520とが同じ画面内に表示される。なお、図13には、テレビオブジェクト512の中から紹介キャラクタ520が現れる演出がなされる場合を示す。この他にも、ドアオブジェクト519が開いて紹介キャラクタ520が居間に入室するような演出がなされてもよい。
この紹介キャラクタ520は、配信サーバ104(図1)に登録されている動画などのコンテンツを、ゲーム装置12のユーザに対して紹介するためのキャラクタである。上述のユーザキャラクタと区別するために、以下では「紹介キャラクタ520」とも称す。この紹介キャラクタ520は、配信サーバ104側で予め設定されたキャラクタ設定に基づいた態様で表示される。そして、紹介キャラクタ520は、まず、吹き出しオブジェクト522や音声などによって、自身の名前などの自己紹介を行なう。図13では、吹き出しオブジェクト522に「こんにちはスズキです」といった初登場メッセージが表示されている。さらに、紹介キャラクタ520は、吹き出しオブジェクト523や音声などによって、自身のプロフィールを提示する。図14では、吹き出しオブジェクト523に「私は、スズキと言いまして・・・」といったプロフィールが表示されている。すなわち、CPU40は、紹介キャラクタに関連付けて、当該紹介キャラクタ自身を紹介する情報を出力する。
自己紹介が済むと、紹介キャラクタ520は、吹き出しオブジェクト524や音声などによって、ゲーム装置12のユーザに対して、配信サーバ104に登録されているコンテンツを紹介することを告げる。図15では、吹き出しオブジェクト524に「今日は皆さんにオススメの動画を紹介しに来ました。」といった映像導入メッセージが表示されている。
続いて、図16に示すように、メイン画面には、コンテンツの紹介情報(タイトルやコメントなど)がテロップのオブジェクト526として表示されるとともに、ユーザに、紹介されているコンテンツの視聴の要否を問うボタン527および528が選択可能に表示される。すなわち、CPU40は、紹介された特定のコンテンツの再生についての諾否の選択入力を受付ける選択画面をモニタ34に表示する。このように、コンテンツを紹介する情報として、当該コンテンツの内容を示す画像、および当該コンテンツの内容を示す音声の少なくとも一方が出力される。
ユーザがコントローラ22を操作して、「観る」ボタン527を選択すると、後述する配信サーバ104からゲーム装置12に対するダウンロード(典型的には、ストリーミング)が開始され、ゲーム装置12に接続されたモニタ34では、そのコンテンツが再生される。このコンテンツの再生処理の詳細については、後述する。
一方、ユーザがコントローラ22を操作して、「観ない」ボタン528を選択すると、配信サーバ104からのダウンロードは開始されない。そして、紹介キャラクタ520によるコンテンツの紹介もそこで終了する。
その後、紹介キャラクタ520は、所定のタイミングとなるまで、メイン画面に継続して存在する。たとえば、図17に示すように、ユーザキャラクタ510とともに、紹介キャラクタ520が居間に居残ることになる。なお、このとき、ユーザがコントローラ22を操作して紹介キャラクタ520を選択すると、図14に示すような紹介キャラクタ520のプロフィールが再表示される。
さらにその後、所定のタイミングが到来すると、図18に示すように、紹介キャラクタ520は、いなくなることを告げる吹き出しオブジェクト529を表示して、メイン画面から消える。図18では、吹き出しオブジェクト529に「お邪魔しました。帰ります・・・」といった退去メッセージが表示されている。
このように、本実施の形態に従うコンテンツ配信アプリケーションが実行されると、配信サーバ104で設定されているキャラクタ情報に基づいて、紹介キャラクタ520が、配信サーバ104に登録されているコンテンツを紹介する。すなわち、キャラクタ情報は、配信サーバ104に格納されている特定のコンテンツに対応付けられている。また、配信サーバ104には、各コンテンツの紹介情報を記述したコンテンツ情報(動画情報)も格納されており、ゲーム装置12へ送信されたキャラクタ情報に基づいて、対応付けられている特定のコンテンツを紹介する情報が出力される。本実施の形態において、コンテンツ情報は、コンテンツの中身(動画や静止画などの実体)とは独立して存在する情報であり、対応するコンテンツの動画IDおよびタイトルやコメントといったコンテンツ情報を含む。すなわち、コンテンツ情報は、コンテンツ自体を含まない。
なお、配信サーバ104には、複数のキャラクタ情報を設定することが可能であり、それぞれのゲーム装置12のCPU40は、それぞれの紹介キャラクタ520がほぼ同じ回数だけ登場するように、これらの設定されたキャラクタ情報を適宜選択する。すなわち、それぞれのゲーム装置12においては、同一の紹介キャラクタ520が複数回登場することもある。このような場合には、図13や図15に示す吹き出しオブジェクト250および524の内容が変更されてもよい。典型的には、ある紹介キャラクタ520が初めてゲーム装置12で提供されるゲーム空間に登場したときのメッセージの内容と、同じ紹介キャラクタ520が2回目以降に当該ゲーム装置12で提供されるゲーム空間に登場したときのメッセージの内容とを異ならせることが好ましい。
たとえば、紹介キャラクタ520が2回目以降に登場する場合には、図13に示す吹き出しオブジェクト522の内容として、「また来ちゃいました・・・」といった再登場メッセージを表示してもよく、さらに、図15に示す吹き出しオブジェクト524の内容として、「皆さんに、もう一度、オススメの動画を紹介しに来ました。」といった映像導入メッセージを表示してもよい。
(2.他のゲーム装置からの紹介キャラクタ)
上述の説明では、配信サーバ104に登録された情報に基づいて紹介キャラクタ520がコンテンツを紹介する処理について例示したが、他のゲーム装置12のユーザが視聴したコンテンツのうち、おもしろいと感じたものを家族や友人などに紹介することもできる。なお、このコンテンツの視聴後に家族や友人などにその内容を薦めるための処理については後述する。以下では、他のゲーム装置12のユーザがコンテンツを紹介するメッセージを受信したゲーム装置12における処理について説明する。
他のゲーム装置12からコンテンツを紹介するためのメッセージを受信した場合にも、上述と同様に、紹介キャラクタが登場し、内容を紹介する。より具体的には、他のゲーム装置12からのメッセージを受信すると、ゲーム装置12のCPU40は、上述の図12と同様に、新たなキャラクタの登場を知らせるテロップのオブジェクト506を表示する。続いて、このオブジェクト506の表示に続いて、予め設定された挙動パターンに従って、メイン画面に紹介キャラクタが現れる。このとき、メイン画面に現れる紹介キャラクタは、他のゲーム装置12において登録されているユーザキャラクタのうち、メッセージを送信するように選択されたユーザキャラクタと同じである。すなわち、あるゲーム装置12に登場するユーザキャラクタと実質的に同一のキャラクタが別のゲーム装置12のメイン画面に紹介キャラクタとして表示されるような演出がなされる。
また、他のゲーム装置12からメッセージの送信を指示する場合に、当該他のゲーム装置12のユーザは、メッセージを届ける際の挙動パターン(後述するように、一例としては、おだやか、こうふん、かなしい、あやまる、お祝い、お誕生日のいずれか)を指定する。登場する他のゲーム装置12のユーザキャラクタに対応する、紹介キャラクタは、この指定された挙動パターンに従って動作を行なう。すなわち、CPU40は、挙動を指定する情報である挙動パターンに基づいて、表示する紹介キャラクタのアニメーション表示を変更する。
メイン画面に現れた他のゲーム装置12からの紹介キャラクタは、一例として、ユーザキャラクタ510とともに、居間のテーブルに着席し、他のゲーム装置12のユーザがメッセージとして入力した内容を再生する。すなわち、上述の図15と同様に、紹介キャラクタに近接して表示される吹き出しオブジェクト524に、他のゲーム装置12のユーザが入力したメッセージが表示される。言い換えれば、自装置に登録されているユーザキャラクタと、他のゲーム装置12から受信したキャラクタ情報に基づく紹介キャラクタ(他のゲーム装置12のユーザキャラクタ)が同じ画面内に表示される。
さらに、このメッセージにお勧めのコンテンツの情報が付加されている場合には、図16に示すような、紹介するコンテンツの内容(タイトルやコメントなど)がテロップのオブジェクト526として表示されるとともに、ユーザに、紹介されているコンテンツの視聴の要否を問うボタン527および528が選択可能に表示される。
ユーザがコントローラ22を操作して、「観る」ボタン527を選択すると、後述する配信サーバ104からゲーム装置12に対するダウンロード(典型的には、ストリーミング)が開始され、ゲーム装置12に接続されたモニタ34では、そのコンテンツが再生される。一方、ユーザがコントローラ22を操作して、「観ない」ボタン528を選択すると、配信サーバ104からのダウンロードは開始されない。
その後、他のゲーム装置12からの紹介キャラクタはメイン画面から消える。
なお、上述した内容に加えて、本実施の形態に従う「紹介情報」は、他のゲーム装置12のユーザが入力したコンテンツを紹介するためのメッセージ、コンテンツのタイトルや動画の長さといったコンテンツ情報の全部もしくは一部、キャラクタ情報に含まれるせりふ、といった情報を含んでもよい。
<起動時の処理手順>
図19は、この発明の実施の形態に従うゲーム装置12における起動時の処理手順を示すフローチャートである。図19に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図19を参照して、メインメニュー画面上で、本実施の形態に従うコンテンツ配信アプリケーションを示すアイコンに対する選択を受付けると、ゲーム装置12のCPU40は、対応のプログラムを内部メインメモリ42eなどに展開して、コンテンツ配信アプリケーションを開始する。まず、ゲーム装置12のCPU40は、初期化処理を実行する(ステップS1)。より具体的には、CPU40は、メモリチェック、内部フラグの初期化、ネットワーク接続確立などの処理を実行する。続いて、CPU40は、本アプリケーションを初めて起動するか否かを判断する(ステップS2)。本アプリケーションの起動が初めてではない場合(ステップS2においてNOの場合)、すなわち、過去に本アプリケーションが実行されている場合には、CPU40は、フラッシュメモリ44などに保存されているユーザデータをロードする(ステップS3)。そして、処理はステップS6へ進む。
一方、本アプリケーションを初めて起動する場合(ステップS2においてYESの場合)、すなわち、過去に本アプリケーションが実行されていない場合には、CPU40は、本アプリケーションに係るユーザデータを新たに生成する(ステップS4)。続くステップS5において、CPU40は、ユーザキャラクタを設定するための画面を表示するとともに、当該画面に対するユーザ操作に従って、ユーザキャラクタを生成する。CPU40は、この生成したユーザキャラクタに関する情報をフラッシュメモリ44などに保存する。そして、処理はステップS7へ進む。なお、このようなユーザキャラクタの登録処理については、後述する。
なお、ステップS6において、CPU40は、ユーザがユーザキャラクタの新規作成・変更を要求したか否かを判断する。そして、ユーザがユーザキャラクタの新規作成・変更を要求した場合(ステップS6においてYESの場合)には、CPU40は、ステップS5の処理を実行する。ユーザがユーザキャラクタの新規作成・変更を要求していない場合(ステップS6においてNOの場合)には、処理はステップS7へ進む。
ステップS7において、CPU40は、接続先の配信サーバ104から、必要な情報を内部メインメモリ42eなどにダウンロードする。より具体的には、CPU40は、配信サーバ104へアクセスして、配信サーバ104に登録されている最新のイベントデータを検索して取得する。なお、このイベントデータには、上述した紹介キャラクタ520を登場させてコンテンツの紹介を行なうための情報、メイン画面のオブジェクトに表示される情報や画像、後述するカレンダー機能を提供するための情報などが含まれる。
続いて、CPU40は、メイン画面サブルーチンを実行する(ステップS10)。このメイン画面サブルーチンの処理内容については、後述する。
<キャラクタ登録機能>
次に、図20および図21を参照して、キャラクタ登録機能について説明する。本実施の形態に従うコンテンツ配信アプリケーションでは、ユーザの好みに応じて、予め様々なユーザキャラクタを生成して登録することが可能である。なお、このようなキャラクタは、ゲーム装置12をプレイするユーザが自身の分身として作成することが予定されている。そのため、本実施の形態に従うゲーム装置12には、本コンテンツ配信アプリケーションとは独立したアプリケーションとして、キャラクタの顔を作成するプログラム(キャラクタ顔作成アプリケーション)がインストールされているものとする。
図20は、本実施の形態に従うキャラクタ顔作成アプリケーションにより提供される画面の一例を示す図である。図20(A)を参照して、キャラクタ顔作成アプリケーションでは、まず、キャラクタの輪郭および髪型をユーザに選択させるための画面が表示される。ユーザは、この図20(A)に示す画面上で所望する輪郭および髪型を選択する。続いて、ユーザは、図20(B)に示す画面上で所望する顔の各パーツを選択する。さらに、ユーザは、図20(C)に示す画面上で所望するキャラクタの体格および身長を選択する。すると、図20(A)〜図20(C)に示すそれぞれの画面上で選択された内容に応じて、図20(D)に示すようなキャラクタが生成される。
本実施の形態に従うゲーム装置12においては、このようなキャラクタを所定数(たとえば、10体)だけ登録することができる。なお、これらの登録情報は、フラッシュメモリ44などに保存される。このように、CPU40は、モニタ34にユーザキャラクタオブジェクトを表示するためのユーザキャラクタ情報をフラッシュメモリ44などに格納する。
典型的には、ゲーム装置12を購入した家族の人数分だけキャラクタを登録するような使用形態が想定されている。そして、このように登録されたキャラクタについては、本実施の形態に従うコンテンツ配信アプリケーションだけでなく、他のゲーム装置12にインストールされているアプリケーションにおいても利用することが可能である。このように、多くのアプリケーションで共有的に使用される情報であるので、図20に示すキャラクタ顔作成アプリケーションでは、キャラクタの顔や体格などの基本的な情報のみが登録される。すなわち、図19に示すフローチャートの実行前に、これらのキャラクタが登録されているものとする。
図19に示すステップS5に示す「ユーザキャラクタの生成」においては、図21に示すような画面が表示される。なお、図21に示すユーザキャラクタの設定項目は、典型的には、後述するコンテンツ視聴後の評価の属性として用いられる。
図21(A)を参照して、図19に示すステップS5に示す「ユーザキャラクタの設定」では、まず、既に登録済のユーザキャラクタをユーザに選択させるための画面が表示される。ユーザは、この図21(A)に示す画面上で設定対象のユーザキャラクタを選択する。続いて、ユーザは、図21(B)に示す画面上で、選択したユーザキャラクタについて登録済の情報を確認する。この登録済の内容を確認して「はい」ボタンを選択すると、図21(C)に示す画面が表示される。ユーザは、この図21(C)に示す画面上で、設定対象のユーザキャラクタの生年月日を入力する。生年月日の入力後、ユーザが「はい」ボタンを選択すると、図21(D)に示す画面が表示される。ユーザは、この図21(D)に示す画面上で、設定対象のユーザキャラクタの血液型を入力する。血液型の入力後、ユーザが「はい」ボタンを選択すると、図21(E)に示す画面が表示される。この図21(E)に示す画面には、ユーザの設定した内容(ユーザキャラクタのプロフィール)が表示される。ユーザがこの登録済の内容を確認して「はい」ボタンを選択すると、図21(E)に示すように、ユーザキャラクタのプロフィールの内容とともに、登録されたことを示す星がキラキラする演出を含む画面が表示される。
<メイン画面の処理手順>
次に、図22および図23を参照して、上述の図11〜図18に示すメイン画面を提供するメイン画面サブルーチン(図19のステップS10の内容)について説明する。図22および図23に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。なお、図22および図23において、第1タイマは、紹介キャラクタがメイン画面に登場する条件が満たされたか否かを判断する要素であり、第2タイマは、紹介キャラクタがメイン画面から退去する条件が満たされたか否かを判断する要素である。
図22および図23を参照して、ゲーム装置12のCPU40は、第1タイマのカウントを開始する(ステップS100)。すなわち、CPU40は、メイン画面に紹介キャラクタが現れていない状況から、紹介キャラクタの登場するタイミングを決定するためのタイマ値のカウントを開始する。続いて、CPU40は、登録済のユーザオブジェクトおよび各種オブジェクトをフラッシュメモリ44などから読出して、メイン画面を表示する(ステップS102)。
その後、CPU40は、第2タイマが予め設定された第2しきい時間までカウントアップしているか否かを判断する(ステップS104)。すなわち、CPU40は、紹介キャラクタの登場後にカウントを開始される第2タイマのカウント値が予め定められた時間に到達しているか否かを判断する。すなわち、CPU40は、紹介キャラクタを消去するための所定条件が満たされたか否かを判断する。言い換えれば、CPU40は、ROM/RTC48を参照して現在の日時を取得し、現時点が紹介キャラクタの退去タイミングであるか否かを判断する。第2タイマが第2しきい時間までカウントアップしている場合(ステップS104においてYESの場合)には、処理はステップS132へ進む。これに対して、第2タイマが第2しきい時間までカウントアップしていない場合(ステップS104においてNOの場合)には、処理はステップS106へ進む。
ステップS106において、CPU40は、第1タイマが予め定められた第1しきい時間までカウントアップしているか否かを判断する。すなわち、CPU40は、紹介キャラクタを表示させるための所定条件が満たされたか否かを判断する。言い換えれば、CPU40は、新たな紹介キャラクタを登場させる必要があるか否かを判断する。第1タイマが第1しきい時間までカウントアップしている場合(ステップS106においてYESの場合)には、処理はステップS108へ進む。これに対して、第1タイマが第1しきい時間までカウントアップしていない場合(ステップS106においてNOの場合)には、処理はステップS140へ進む。
ステップS108において、CPU40は、起動時にダウンロードした(図19のステップS7)イベントデータに含まれる紹介キャラクタ520の登録情報に基づいて、登録されているすべての紹介キャラクタがメイン画面に登場済であるか否かを判断する。すなわち、上述したように、配信サーバ104には、複数の紹介キャラクタを登録することができる。これらの紹介キャラクタを同じような頻度でメイン画面に複数回ずつ登場させて、コンテンツを紹介するために、ステップS108において、ゲーム装置12のCPU40は、未だ登場していない紹介キャラクタが存在するか否かを判断する。そして、登録されているすべての紹介キャラクタがメイン画面に登場済である場合(ステップS108においてYESの場合)には、処理はステップS112へ進む。一方、登録されているすべての紹介キャラクタがメイン画面に登場済ではない場合(ステップS108においてNOの場合)には、処理はステップS110へ進む。
ステップS110において、CPU40は、イベントデータに含まれる未登場の紹介キャラクタ520の登録情報に基づいて特定されるアクセス先(配信サーバ104)から、紹介キャラクタ情報をダウンロードする。このように、CPU40は、特定のコンテンツに対応付けられたキャラクタ情報を配信サーバ104から取得する。なお、このステップS110の処理の変形例として、本実施の形態に従うコンテンツ配信アプリケーションの起動直後の初期化処理において取得されるイベントデータ(図19に示すステップS7)に、未登場の紹介キャラクタ520の紹介キャラクタ情報を含ませるようにしてもよい。あるいは、ステップS108およびS110の処理を、イベントデータの受信(図19に示すステップS7)の直後に行なうようにしてもよい。これらの場合には、初期化処理において取得した紹介キャラクタ情報が内部メインメモリ42e、外部メインメモリ46、またはフラッシュメモリ44に予め格納されるので、CPU40は、ステップS110において、格納先のメモリを参照して、必要な紹介キャラクタ情報を読出す。
一方、ステップS112において、CPU40は、フラッシュメモリ44の受信メッセージボックス44bに、他のゲーム装置12からメールサーバ102を通じて受信したメッセージの中に、紹介キャラクタ情報が添付されたものが存在するか否かを判断する。すなわち、CPU40は、他のゲーム装置12のユーザから何らかのコンテンツを紹介するためのメッセージを受信しているか否かを判断する。
なお、スパムメールのような不要なメッセージの受信を抑制するために、メッセージを受信する送信元を特定のゲーム装置12に限定してもよい。この場合には、CPU40は、メールサーバ102に到着している新着メッセージ(新着メール)についての送信元を取得し、その取得した送信元がフレンドリスト44d(図9)に登録されている宛先に含まれるか否かを判断する。そして、CPU40は、フレンドリスト44dに宛先が登録されている送信元からの新着メッセージのみを受信メッセージボックス44bに保存するとともに、その他の新着メッセージについてはメールサーバ102から削除する。あるいは、CPU40は、メールサーバ102に到着している新着メッセージ(新着メール)のすべてを受信メッセージボックス44bに保存した後、保存した新着メッセージの各々について、その送信元がフレンドリスト44dに登録されているか否かを判断し、フレンドリスト44dに宛先が登録されているものだけを残して、残りのメッセージを削除するようにしてもよい。すなわち、フレンドリスト44dの登録内容に基づいて、受信したメッセージをフィルタリングしてもよい。このように、CPU40は、メッセージの送信元が予め通信先として登録されているゲーム装置12である場合に限って、当該メッセージを有効に受信する。さらに、代替の方法として、ゲーム装置40のフレンドリスト44dの登録内容を定期的にメールサーバ102に転送しておき、メールサーバ102自体がその送信元が対応するゲーム装置40のフレンドリスト44dに登録されているか否かを判断して、宛先が登録されている送信元からのメッセージのみを受信するようにしてもよい。
紹介キャラクタ情報が添付されたメッセージが存在する場合(ステップS112においてYESの場合)には、処理はステップS114へ進む。一方、紹介キャラクタ情報が添付されたメッセージが存在しない場合(ステップS112においてNOの場合)には、処理はステップS140へ進む。
ステップS114において、CPU40は、フラッシュメモリ44の受信メッセージボックス44bから、対象のメッセージおよび当該メッセージに添付されている紹介キャラクタ情報を読出す。そして、処理はステップS116へ進む。
ステップS116において、CPU40は、ダウンロードした紹介キャラクタ情報、あるいは受信メッセージボックス44bから読み出した紹介キャラクタ情報、に含まれる動画IDに対応した、コンテンツの動画情報を配信サーバ104からダウンロードする。なお、動画情報には、タイトル、動画の長さ、コンテンツに対応したスポンサー識別情報などが含まれる。これについては、後述する。このように、CPU40は、キャラクタ情報に対応付けられている特定のコンテンツのコンテンツ情報を配信サーバ104から取得する。そして、処理はステップS118へ進む。なお、メッセージに、紹介キャラクタ情報に加えて、タイトル、動画の長さ、コンテンツに対応したスポンサー識別情報などの動画情報を予め添付しておいてもよい。この場合には、ステップS116において、配信サーバ104からコンテンツの動画情報をダウンロードする必要がなくなる。すなわち、送信元のゲーム装置40において、メッセージ作成時に対象のコンテンツに係る動画情報を予めメッセージに付加してもよい。
ステップS118において、CPU40は、紹介キャラクタを登場させるアニメーションを表示する。より具体的には、CPU40は、紹介キャラクタ情報に含まれる挙動パターンに従って、その表情および動作など決定した上で、アニメーションを表示する。典型的には、CPU40は、紹介キャラクタを図13に示すようにテレビから登場したり、ドアオブジェクト519から入室させたりする演出を行なう。このように、CPU40は、紹介キャラクタを表示させるための第1タイマについての条件が満たされた場合に、キャラクタオブジェクトを表示する。
また、自ゲーム装置12内でメッセージを送信することもでき、この場合にも、当該メッセージはフラッシュメモリ44の受信メッセージボックス44bに保存される。このような自ゲーム装置12内のメッセージを表示する場合には、CPU40は、当該メッセージを送信するように設定されたユーザキャラクタに手を挙げる演出をさせる。そして、この手を挙げたユーザキャラクタが選択されると、そのメッセージの内容が表示される。
続くステップS120において、CPU40は、図14に示すように、紹介キャラクタのプロフィールを表示する。より具体的には、CPU40は、紹介キャラクタ情報に含まれるプロフィール情報に基づいて、その内容を表示する。さらに続くステップS122において、CPU40は、図15に示すように、紹介メッセージを表示する。より具体的には、CPU40は、紹介キャラクタ情報に含まれるせりふ、または、他のゲーム装置12によって入力し送信された紹介メッセージに基づいて、その内容を表示する。
その後のステップS124において、CPU40は、図16に示すような、動画情報を表示する。より具体的には、CPU40は、配信サーバ104からダウンロードした動画情報に含まれるタイトルなどに基づいて、その内容を表示する。すなわち、CPU40は、取得したキャラクタ情報に基づく紹介キャラクタ(キャラクタオブジェクト)をモニタ34に表示するとともに、取得したコンテンツ情報に基づいて、紹介キャラクタ(キャラクタオブジェクト)に関連付けて特定のコンテンツを紹介する情報を出力する。
同時に、CPU40は、動画情報に基づいて特定される動画の視聴の有無をユーザに問合せるボタンを表示する。続くステップS126において、CPU40は、「観る」ボタンおよび「観ない」ボタンのいずれが選択されたのかを判断する。ユーザによって「観る」ボタンが選択された場合(ステップS126において「観る」の場合)には、処理はステップS128へ進む。ステップS128において、CPU40は、動画再生サブルーチンを実行する。すなわち、CPU40は、ユーザ操作に応じて、特定のコンテンツを配信サーバ104から取得して、モニタ34上で再生する。この動画再生サブルーチンの処理内容については、後述する。この動画再生サブルーチンの実行後、処理はステップS130へ進む。
一方、ユーザによって「観ない」ボタンが選択された場合(ステップS126において「観ない」の場合)には、処理はステップS130へ進む。
ステップS130において、CPU40は、第2タイマのカウントを開始する。すなわち、CPU40は、メイン画面に登場させた紹介キャラクタの退去するタイミングを決定するためのタイマ値のカウントを開始する。言い換えれば、CPU40は、紹介キャラクタの表示を継続するとともに、第2タイマについての条件が満たされた場合に、表示中の紹介キャラクタオブジェクトを消去する。そして、処理はステップS102へ戻る。
これに対して、ステップS132において、CPU40は、紹介キャラクタを退去させるアニメーションを表示する。より具体的には、CPU40は、紹介キャラクタ情報に含まれる挙動パターンに従って、アニメーションを退去させる。続くステップS134において、CPU40は、第2カウンタのカウント値をリセットした上で、第2カウンタのカウントを停止する。さらに続くステップS136において、CPU40は、第1カウンタのカウント値をリセットした上で、第1カウンタのカウントを停止する。そして、処理はステップS100へ戻る。
また、ステップS140において、CPU40は、メイン画面上のポスタオブジェクトが選択されたか否かを判断する。メイン画面上のポスタオブジェクトが選択された場合(ステップS140においてYESの場合)には、CPU40は、第2タイマ値をリセットし(ステップS142)、続いて、ポスターの内容を拡大表示する(ステップS144)。CPU40は、起動時にダウンロードした(図19のステップS7)イベントデータに含まれるポスターデータに基づいて、配信サーバ104におすすめとして登録されている内容を表示する。さらに続くステップS146において、CPU40は、拡大表示されたポスターが選択されたか否かを判断する。拡大表示されたポスターが選択された場合(ステップS146においてYESの場合)には、CPU40は、表示されたポスターに対応付けられた動画を再生するために、動画再生サブルーチンを実行する(ステップS148)。この動画再生サブルーチンの処理内容については、後述する。この動画再生サブルーチンの実行後、処理はステップS102へ戻る。
一方、拡大表示されたポスターが選択されていない場合(ステップS146においてNOの場合)には、CPU40は、「メインへもどる」ボタンが選択されたか否かを判断する(ステップS150)。「メインへもどる」ボタンが選択された場合(ステップS150においてYESの場合)には、処理はステップS102へ戻る。これに対して、「メインへもどる」ボタンが選択されていない場合(ステップS150においてNOの場合)には、ステップS144以下の処理が繰返される。
一方、メイン画面上のポスタオブジェクトが選択されていない場合(ステップS140においてNOの場合)には、CPU40は、メイン画面上のコルクボードオブジェクト514が選択されたか否かを判断する(ステップS152)。メイン画面上のコルクボードオブジェクト514が選択された場合(ステップS152においてYESの場合)には、CPU40は、第2タイマ値をリセットし(ステップS154)、続いて、受信メッセージボックスを表示する(ステップS156)。さらに、CPU40は、ユーザによるメッセージの選択などに応答して、指定されたメッセージをフラッシュメモリ44の受信メッセージボックス44bから読出して表示する。その後、処理はステップS102へ戻る。
一方、コルクボードオブジェクト514が選択されていない場合(ステップS152においてNOの場合)には、CPU40は、メイン画面上の観葉植物オブジェクト518が選択されたか否かを判断する(ステップS158)。メイン画面上の観葉植物オブジェクト518が選択された場合(ステップS158においてYESの場合)には、CPU40は、第2タイマ値をリセットし(ステップS160)、続いて、スポンサー選択画面サブルーチンを実行する(ステップS162)。このスポンサー選択画面サブルーチンは、後述するスポンサーによって提供されている各種コンテンツを、スポンサー別に選択可能に提供する画面を表示する処理である。このスポンサー選択画面サブルーチンの実行後、処理はステップS102へ戻る。
一方、観葉植物オブジェクト518が選択されていない場合(ステップS158においてNOの場合)には、CPU40は、メイン画面上のカレンダオブジェクト516が選択されたか否かを判断する(ステップS164)。メイン画面上のカレンダオブジェクト516が選択された場合(ステップS164においてYESの場合)には、CPU40は、カレンダーサブルーチンを実行する(ステップS166)。このカレンダーサブルーチンは、カレンダー態様で配信中または配信予定のコンテンツを表示したり、各日付に対応付けて、歳時記などを表示したりする。このカレンダーサブルーチンの実行後、処理はステップS102へ戻る。
一方、メイン画面上のカレンダオブジェクト516が選択されていない場合(ステップS164においてNOの場合)には、CPU40は、メイン画面上のテレビオブジェクト512が選択されたか否かを判断する(ステップS168)。メイン画面上のテレビオブジェクト512が選択された場合(ステップS168においてYESの場合)には、CPU40は、コンテンツ検索サブルーチンを実行する(ステップS170)。このコンテンツ検索サブルーチンは、後述する検索機能を実行したり、「新着」、「高満足度」、「おすすめ」、「お気に入り」といったコンテンツの一覧が選択可能に表示されたりする。また、コンテンツ検索サブルーチンから、後述するスポンサー選択画面サブルーチンを実行することも可能である。このコンテンツ検索サブルーチンの実行後、処理はステップS102へ戻る。
一方、メイン画面上のテレビオブジェクト512が選択されていない場合(ステップS168においてNOの場合)には、CPU40は、「終了」ボタンが選択されたか否かを判断する(ステップS172)。「終了」ボタンが選択されていない場合(ステップS172においてNOの場合)には、処理はステップS102へ戻る。これに対して、「終了」ボタンが選択された場合(ステップS172においてYESの場合)には、メイン画面サブルーチンの実行が終了され、元の処理へリターンする。
なお、上述のフローチャートでは、紹介キャラクタを登場させるタイミングを第1タイマで判断し、紹介キャラクタを退去させるタイミングを第2タイマで判断する処理について例示したが、紹介キャラクタの登場/退去を他のさまざまな条件に基づいて決定してもよい。たとえば、ユーザが何らかの操作を行なったことを登場の条件としてもよい。この場合には、ユーザがモニタ34に前に確実に存在していると判断できるので、ユーザに対して、コンテンツを確実に紹介することができる。あるいは、特定の地域に属するゲーム装置12であることを登場の条件としてもよい。この場合には、特定の地域に向けられたコンテンツをスポット的に紹介することができる。
<ゲーム装置およびサーバ間でのデータの遣り取り>
次に、本実施の形態に従う配信システム100におけるデータの遣り取りについて説明する。
図24を参照して、本実施の形態に従う配信システム100におけるデータの遣り取りの一例として、2台のゲーム装置12−1および12−2において、コンテンツ配信アプリケーションが実行され、さらに、一方のゲーム装置12−2からゲーム装置12−1にコンテンツを紹介するメッセージが送信される場合の処理を説明する。
まず、ゲーム装置12−2のCPU40は、ユーザ操作に応答して、コンテンツ配信アプリケーションに係るプログラムを起動する(シーケンスSQ2)。続いて、ゲーム装置12−2のCPU40は、配信サーバ104に対して問合せを行なう(シーケンスSQ4)。この問合せに応答して、配信サーバ104は、ゲーム装置12−2に対してイベントデータなどを送信する(シーケンスSQ6)。
一方、ゲーム装置12−1のCPU40も、ユーザ操作に応答して、コンテンツ配信アプリケーションに係るプログラムを起動する(シーケンスSQ12)。続いて、ゲーム装置12−1のCPU40は、配信サーバ104に対して問合せを行なう(シーケンスSQ14)。この問合せに応答して、配信サーバ104は、ゲーム装置12−1に対してイベントデータなどを送信する(シーケンスSQ16)。
ゲーム装置12−2のCPU40は、所定タイミング(図22および図23に示す第1タイマが第1しきい時間までカウントアップしたタイミング)において、配信サーバ104に対して、紹介キャラクタ情報要求を送信する(シーケンスSQ20)。この紹介キャラクタ情報要求に応答して、配信サーバ104は、紹介キャラクタ情報をゲーム装置12−2へ送信する(シーケンスSQ22)。さらに、ゲーム装置12−2のCPU40は、配信サーバ104に対して、動画情報要求を送信する(シーケンスSQ24)。この動画情報要求に応答して、配信サーバ104は、動画情報をゲーム装置12−2へ送信する(シーケンスSQ26)。
紹介キャラクタ情報および動画情報を受信すると、ゲーム装置12−2のCPU40は、メイン画面に紹介キャラクタを登場させて、配信サーバ104に用意されているコンテンツの紹介を行なう(シーケンスSQ28)。
同様に、ゲーム装置12−1のCPU40は、所定タイミング(図22および図23に示す第1タイマが第1しきい時間までカウントアップしたタイミング)において、配信サーバ104に対して、紹介キャラクタ情報要求を送信する(シーケンスSQ50)。この紹介キャラクタ情報要求に応答して、配信サーバ104は、紹介キャラクタ情報をゲーム装置12−1へ送信する(シーケンスSQ52)。さらに、ゲーム装置12−1のCPU40は、配信サーバ104に対して、動画情報要求を送信する(シーケンスSQ54)。この動画情報要求に応答して、配信サーバ104は、動画情報をゲーム装置12−1へ送信する(シーケンスSQ56)。
紹介キャラクタ情報および動画情報を受信すると、ゲーム装置12−1のCPU40は、メイン画面に紹介キャラクタを登場させて、配信サーバ104に用意されているコンテンツの紹介を行なう(シーケンスSQ58)。
ゲーム装置12−2において、コンテンツの紹介を観たユーザが、「観る」アイコンを選択すると、ゲーム装置12−2のCPU40は、配信サーバ104に対して動画IDを含む配信要求を送信する(シーケンスSQ30)。この配信要求に応答して、配信サーバ104は、自サーバに格納されている指定された動画などのコンテンツのゲーム装置12−2に対する配信(典型的には、ストリーミング再生)を開始する(シーケンスSQ32)。ゲーム装置12−2のCPU40は、この配信される動画を生成する(シーケンスSQ34)。
この動画の再生の終了後、ゲーム装置12−2のCPU40は、ユーザからの動画に対する評価を受付ける(シーケンスSQ36)。後述するように、本実施の形態に従うコンテンツ配信アプリケーションでは、配信サーバ104から配信された動画の再生後、必ずユーザからの評価を受付けるように構成されている。すなわち、動画再生の後、ユーザが何らかの評価を入力しない限り、ゲーム装置12−2のCPU40は、後続の処理を実行しない。
ユーザが動画に対する評価を入力すると、ゲーム装置12−2のCPU40は、入力された評価を配信サーバ104へ送信する(シーケンスSQ38)。
続いて、ゲーム装置12−2のユーザが操作を行なって、メッセージ画面を選択し、ゲーム装置12−2のCPU40がゲーム装置12−1を宛先としたメッセージを作成したとする(シーケンスSQ40)。その後、ゲーム装置12−2のCPU40は、作成したメッセージをメールサーバ102へ送信する(シーケンスSQ42)。メールサーバ102は、ゲーム装置12−2から受信したメッセージを宛先のゲーム装置12−1へ送信する(シーケンスSQ44)。
ゲーム装置12−1のCPU40は、所定タイミングにおいて、メールサーバ102から受信したメッセージに紹介キャラクタ情報が添付されていることを見出すと、添付されている紹介キャラクタ情報に基づいて、配信サーバ104に対して、動画情報要求を送信する(シーケンスSQ60)。この動画情報要求に応答して、配信サーバ104は、動画情報をゲーム装置12−1へ送信する(シーケンスSQ62)。
動画情報を受信すると、メッセージに添付されていた紹介キャラクタ情報および受信した動画情報に基づいて、ゲーム装置12−1のCPU40は、メイン画面に紹介キャラクタを登場させて、ゲーム装置12−2のユーザが一度視聴しておもしろいと感じたコンテンツを紹介する(シーケンスSQ64)。
なお、上述のシーケンス図においては、配信サーバ104から紹介キャラクタ情報および動画情報をダウンロードする構成について例示したが、各種コンテンツの供給元(たとえば、スポンサー)がそれぞれのゲーム装置12に対して、電子メールやメッセージなどを直接的に配信するようにしてもよい。
また、上述のシーケンス図においては、あるゲーム装置12から他のゲーム装置12へ送信されるメッセージがメールサーバ102を介して送信される構成について例示したが、送信元のゲーム装置12が配信サーバ104に紹介キャラクタ情報や動画情報などをアップロードし、受信先のゲーム装置12が配信サーバ104からそれらのメッセージをダウンロードするようにしてもよい。さらには、ネットワークを介した方法に代えて、可搬性の半導体メモリや光ディスクなどの記憶媒体を介して、ゲーム装置12の間もしくはゲーム装置12とサーバとの間で、紹介キャラクタ情報や動画情報などを交換してもよい。
また、紹介キャラクタ情報や動画情報などは、メッセージ(電子メール)に添付形式で送信されてもよいし、メッセージの本体内に直接記述されてもよい。さらに、コンテンツを識別するための動画情報に代えて、コンテンツのデータそのものを直接送信するようにしてもよい。
<紹介キャラクタのデータ構造>
次に、上述の図24に示すシーケンス図において遣り取りされるデータの構造の一例について、図25を参照して説明する。図25(A)は、イベントデータに含まれる項目の一例を示し、図25(B)は、紹介キャラクタ情報に含まれる項目の一例を示し、図25(C)は、動画情報に含まれる項目の一例を示す。なお、これらの情報は、典型的には、XML(extensible markup language)などのマークアップ言語で記述される。これは、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することでシステムの拡張性を高めることができるためである。
図25(A)を参照して、イベントデータは、典型的には、(A1)対象年月日、(A2)ポスターID、(A3)テーマカラー、(A4)紹介キャラクタ情報、を含む。(A1)対象年月日は、メイン画面のポスターに表示する内容を日替わりにするために、それぞれのイベントデータに対して、それを表示すべき日付を示す対象年月日を示す。(A2)ポスターIDは、ポスターに表示する内容を配信サーバ104の中で一意に特定するための識別情報である。(A3)テーマカラーは、ポスターなどの背景に用いられる、その日のテーマカラーを示す。(A4)紹介キャラクタ情報は、メイン画面に登場する紹介キャラクタを示す。より具体的には、(A4)紹介キャラクタ情報は、その日に登場する、(通常は、複数の)紹介キャラクタの各々について、(A4−1)表示順番、および(A4−2)紹介キャラクタIDを含む。(A4−1)表示順番には、典型的には、最も新たしく登録された紹介キャラクタほどより先に表示されるように番号付けがなされる。また、(A4−2)紹介キャラクタIDは、紹介キャラクタを配信サーバ104の中で一意に特定するための識別情報である。
図25(B)を参照して、紹介キャラクタ情報は、典型的には、(B1)紹介キャラクタID、(B2)服装属性、(B3)上着の色属性、(B4)ズボンの色属性、(B5)挙動パターン、(B6)プロフィール、(B7)せりふリスト、(B8)動画ID、を含む。
(B1)紹介キャラクタIDは、その紹介キャラクタ情報を特定するための識別情報であり、図25(A)に示すイベントデータの(A4−2)紹介キャラクタIDと対応付けられている。(B2)服装属性は、紹介キャラクタの服装を定義する属性情報である。(B3)上着の色属性および(B4)ズボンの色属性は、それぞれ紹介キャラクタの上着およびズボンの色を定義する属性情報である。(B5)挙動パターンは、紹介キャラクタの登場時や退出時などの表情や動作などを示す。(B6)プロフィールには、紹介キャラクタのプロフィールとして、図14の吹き出しオブジェクト523内に表示されるコメントなどが格納される。(B7)せりふリストには、紹介キャラクタの吹き出しとして表示されるコメントなどが格納される。すなわち、図15に示す吹き出しオブジェクト524内に表示されるコメントなどが格納される。より具体的には、(B7)せりふリストは、せりふの数だけ、(B7−1)順序、(B7−2)せりふ、(B7−3)表情を含む。(B7−1)順序には、当該紹介キャラクタに対応付けて表示するせりふの順序が割当てられる。(B7−2)せりふには、それぞれ表示させるべき内容が格納され、(B7−3)表情には、対応するせりふを表示する際の紹介キャラクタの表情が格納される。(B8)動画IDは、配信サーバ104内で対象のコンテンツ(動画)を一意に特定するための識別情報である。なお、コンテンツの紹介を音声で行なう場合には、(B7−2)せりふに格納された文字列を音声合成処理などに入力することで、合成音声が出力される。
図25(C)を参照して、動画情報は、典型的には、(C1)動画ID、(C2)タイトル、(C3)動画の長さ、(C4)選択可能開始日時、(C5)選択可能終了日時、(C6)スポンサーID、(C7)携帯端末配信フラグ、(C8)携帯端末用動画ID、(C9)スタッフリストID、を含む。
(C1)動画IDは、紹介キャラクタ情報の(B8)動画IDと対応付けられる。(C2)タイトルには、対象の動画のタイトルが格納され、(C3)動画の長さには、対象の動画の長さが格納される。(C4)選択可能開始日時および(C5)選択可能終了日時は、それぞれ対象の動画の視聴が開始される日付・時間および動画の視聴が終了される日付・時間が格納される。
また、後述するように、配信サーバ104から配信されるコンテンツ(動画)は、基本的には、いずれかのスポンサーにより提供されており、(C6)スポンサーIDには、対象の動画を提供するスポンサーを特定するための識別情報が格納される。
さらに、後述するように、配信サーバ104からゲーム装置12に配信されるコンテンツの一部は、後述する携帯端末への転送が可能である。そのため、(C7)携帯端末配信フラグには、このような携帯端末への転送の許否を示すフラグが格納される。また、(C8)携帯端末用動画IDには、対象の動画に対応した、携帯端末に最適な画質の動画を示す識別情報が格納される。
また、(C9)スタッフリストIDには、対象のコンテンツ(動画)の製作スタッフを特定する識別情報が格納される。この(C9)スタッフリストIDに格納された識別情報に基づいて、後述するように、スタッフクレジットが表示される。
なお、紹介キャラクタの顔などを表現する方法として、当該紹介キャラクタの顔を構成している目や鼻などのパーツが予め用意されたパターンのうちいずれであるかという情報を送信する方法を採用することができる。あるいは、このような方法に代えて、紹介キャラクタの顔を表現するビットマップデータなどを送信するようにしてもよい。
また、上述の図25(A)に示す紹介キャラクタ情報には、紹介キャラクタのアニメーションを表現する方法として、予め用意された挙動パターンのうち、いずれの挙動パターンを用いるかを指定する方法を示す。このような方法に代えて、紹介キャラクタの動作を時系列的に特定した情報(たとえば、時間毎のキャラクタの座標位置など)を指定するようにしてもよい。
<動画再生サブルーチンの概要>
次に、図22のステップS128および図23のステップS148に示す動画再生サブルーチンの概要について説明する。
まず、動画再生サブルーチンが開始されると、配信サーバ104からのコンテンツ(動画)のダウンロードと並行してその内容が再生され、映像がモニタ34に表示される。典型的には、上述したように、ダウンロードと再生とが並列的に実行されるストリーミング再生が好ましいが、ネットワーク環境などによっては、コンテンツのデータの全部もしくは一部を一旦ゲーム装置12にダウンロードした後に、当該コンテンツの再生を行なうようにしてもよい。図26には、コンテンツ(動画)が再生されている画面例を示す。
図26に示すように、コンテンツの再生中には、その再生をコントロールするためのアイコンなどが表示される。具体的には、再生/停止アイコン503s、一時停止アイコン503p、早送り/巻戻しアイコン530rなどが画面左下に表示される。ユーザがコントローラ22を操作して、再生/停止アイコン503sを選択すると、コンテンツの再生が開始され、またはコンテンツの再生が停止される。なお、再生/停止アイコン503sは、コンテンツの再生中には、コンテンツの再生の停止を受付け、コンテンツの停止中には、コンテンツの再生の開始を受付ける。また、一時停止アイコン503pが選択されると、コンテンツの再生が一時的に中断される。さらに、早送り/巻戻しアイコン530rが選択されると、その選択位置に応じて、再生中のコンテンツの早送り、もしくは再生中のコンテンツの巻戻しが実行される。
その後、コンテンツの再生が終了すると、基本的には、自動的にユーザの評価を入力するための画面に遷移する。なお、コンテンツの終了には、コンテンツすべての再生が完了した場合に加えて、ユーザが任意のタイミングで再生を中断もしくは中止した場合を含む。
図27を参照して、ユーザの評価を入力する画面例について説明する。このユーザ評価入力画面には、図21に示す操作によって予め登録済のユーザキャラクタ510a〜510cがそれぞれ表示されるとともに、ゲスト用のユーザキャラクタ512a,512bも同時に表示される。そして、このユーザ評価画面には、一例として、評価項目として3段階で評価を入力するために、評価項目領域の一例である「よかった」エリア532と、「ふつう」エリア534と、「いまいち」エリア536とが設けられている。それぞれのユーザは、コントローラ22を操作して、コンテンツを視聴して思った評価の位置に、自身を示すユーザキャラクタを移動させる。これにより、ユーザの評価が投票される。図27に示す例では、指類似のカーソル538によって、ユーザキャラクタ510aが「よかった」エリア532に移動された状態を示す。なお、カーソル538には、既に投票済のユーザの数(図27の例では「1」)が表示されてもよい。
評価入力のより具体的な処理としては以下のようになる。すなわち、ゲーム装置12のCPU40は、画面上に表示されるそれぞれのエリア532,534,536に対応付けて、互いに重複しないように判定領域を設定する。そして、CPU40は、それぞれの判定領域内にユーザキャラクタが存在しているか否か、および判定領域内にユーザキャラクタが存在している場合にはいずれのユーザキャラクタであるか、を所定周期で判断する。すなわち、CPU40は、判定領域(エリア)のそれぞれについて、どのユーザキャラクタが配置されているのかを周期的に判断する。そのため、同一のエリアに複数のユーザキャラクタが配置された場合、および異なる複数のエリアにそれぞれユーザキャラクタが配置された場合のいずれであっても、CPU40は、同時に評価入力を受付けることができる。したがって、複数のユーザが、コンテンツを同時に視聴した後、各ユーザに対応するユーザキャラクタを、それぞれ自身の評価に対応するエリアに移動させるような操作をした場合であっても、CPU40は、それぞれのユーザの評価を同時に受付けることができる。すなわち、CPU40は、複数のユーザキャラクタの移動位置が複数の評価にそれぞれ対応するエリア内の位置である場合に、再生されたコンテンツに対して複数人の評価の入力がなされたと判別する。
所定数のユーザキャラクタについての評価入力が完了すると、「これで決定」ボタン540がアクティブ化されて、選択可能となる。なお、典型的には、少なくとも1つのユーザキャラクタについての評価入力が完了した時点で、「これで決定」ボタン540をアクティブにしてもよいが、より多くのユーザキャラクタ、もしくは登録済のすべてのユーザキャラクタについての評価入力が完了するまで、「これで決定」ボタン540をアクティブにしないようにしてもよい。
なお、本実施の形態に従うコンテンツ配信アプリケーションでは、一旦、ユーザキャラクタについての評価を入力した後には、所定期間が経過するまで(典型的には、評価を入力した月の翌月になるまで)、評価を変更することはできない。
なお、本例においては、ユーザ評価画面において、ユーザキャラクタを評価項目領域に移動させて、その位置によりすなわち、評価項目領域内にユーザキャラクタが存在するか否かに基づいてユーザの評価があったかどうかが判断されるが、特にこの方式に限られず、例えば、評価項目にそれぞれラジオボタンを設けて、当該ラジオボタンをオン/オフにすることにより評価させることも可能である。また、評価として、コントローラ22を操作して数値を入力する数値入力式あるいは、文字を入力する記述式とすることも可能である。また、各評価項目について、評価した人数の数値を指定するようにすることも可能である。
また、ゲスト用のユーザキャラクタは、評価結果の悪用などを防止する観点から、評価を入力できる数の最大値を予め設定しておくことが好ましい(たとえば、最大10まで)。
その後、「これで決定」ボタン540が選択されると、選択されたタイミングにおけるユーザキャラクタの評価入力の状態がフラッシュメモリ44などに保存される。そして、モニタ34には、図28に示すような画面が表示される。
図28に示すサブメニュー画面には、もう一度観るアイコン544と、メッセージ作成アイコン546と、携帯端末転送アイコン548と、お気に入りアイコン550と、クレジットアイコン552と、「次へすすむ」ボタン542とが選択可能に表示される。
ユーザがコントローラ22を操作して、「次へすすむ」ボタン542とを選択すると、ゲーム装置12のCPU40は、図27に示す評価内容とともに、ユーザキャラクタに設定されたユーザ情報(年齢、性別、血液型など)を配信サーバ104へ送信する。続いて、CPU40は、配信サーバ104へ送信した投票履歴をフラッシュメモリ44などに保存する。このフラッシュメモリ44に保存された投票履歴は、ユーザが過去に視聴したことのあるコンテンツを再度視聴した場合に、重複して評価が入力されることなどを回避するために用いられる。詳細な処理については後述する。
これらの評価入力および評価送信の処理後、視聴されたコンテンツにいずれかのスポンサーが対応付けられている場合には、後述するスポンサー選択画面サブルーチンが実行される。
一方、ユーザがコントローラ22を操作して、もう一度観るアイコン544を選択すると、ゲーム装置12のCPU40は、図26に示す画面を再表示し、コンテンツの再生を再び受付ける。
一方、ユーザがコントローラ22を操作して、メッセージ作成アイコン546を選択すると、ゲーム装置12のCPU40は、後述するメッセージ作成サブルーチンを実行する。
また、ユーザがコントローラ22を操作して、携帯端末転送アイコン548を選択すると、ゲーム装置12のCPU40は、後述する携帯端末転送サブルーチンを実行する。なお、視聴されたコンテンツが携帯端末への転送を許可されていない場合には、携帯端末転送アイコン548をグレイアウトするなどして選択不能に表示、もしくは携帯端末転送アイコン548の非表示にしてもよい。
また、ユーザがコントローラ22を操作して、お気に入りアイコン550を選択すると、ゲーム装置12のCPU40は、視聴されたコンテンツを識別する動画IDをお気に入りフォルダ(図示しない)などに追加する。このお気に入りフォルダには、ユーザが選択したコンテンツなどのリンク情報が保存されており、ユーザが過去に視聴したことあるコテンツを再度視聴したい場合に、簡単な選択操作で、当該コンテンツを迅速に再生することができる。
また、ユーザがコントローラ22を操作して、クレジットアイコン552を選択すると、ゲーム装置12のCPU40は、視聴されたコンテンツに対応する動画情報に含まれるスタッフリストID(図25(C)参照)に基づいて、配信サーバ104から対応する動画スタッフリストデータをダウンロードする。そして、CPU40は、このダウンロードしたデータに基づいて、製作スタッフなどが明記されたクレジットリストを表示する。
<動画再生の処理手順>
次に、図29を参照して、上述の図26〜図28に示す動画再生に係る画面を提供する動画再生サブルーチン(図22のステップS128および図23のステップS148の内容)について説明する。図29に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図29を参照して、まず、ゲーム装置12のCPU40は、配信サーバ104にアップロードされているコンテンツのうち、指定された動画情報に含まれる動画IDに対応するものにアクセスする(ステップS200)。すなわち、CPU40は、動画IDに基づいて指定されたコンテンツの送信を要求する。続いて、CPU40は、配信サーバ104からのコンテンツの配信が開始されると、受信したコンテンツをストリーミング再生する(ステップS202)。
コンテンツの再生が終了すると、CPU40は、対応する動画IDに対応付けられた投票履歴がフラッシュメモリ44に保存されているか否かを判断する(ステップS204)。すなわち、CPU40は、先に同じコンテンツに対する評価が入力済であるか否かを判断する。対応する動画IDに対応付けられた投票履歴がフラッシュメモリ44に保存されていない場合(ステップS204においてNOの場合)には、処理はステップS212へ進む。
一方、対応する動画IDに対応付けられた投票履歴がフラッシュメモリ44に保存されている場合(ステップS204においてYESの場合)には、CPU40は、今回のコンテンツの再生が、もう一度観るアイコン544(図28)が選択された上で実行されたものか否かを判断する(ステップS206)。今回のコンテンツの再生が、もう一度観るアイコン544が選択された上で実行されたものである場合(ステップS206においてYESの場合)には、処理はステップS216へ進む。この場合には、最初のコンテンツの視聴後に、当該コンテンツに対する評価が既に入力されているはずであるので、CPU40は、今回のコンテンツの再生終了時には、評価の入力を要求しない。
これに対して、今回のコンテンツの再生が、もう一度観るアイコン544が選択された上で実行されたものではない場合(ステップS206においてNOの場合)には、CPU40は、登録済のユーザキャラクタのすべてについての評価が入力済であるか否かを判断する(ステップS208)。登録済のユーザキャラクタのすべてについての評価が入力済ではない場合(ステップS208においてNOの場合)には、処理はステップS212へ進む。この場合(ステップS208においてNOの場合)には、未だ評価を入力していないユーザキャラクタが存在するので、そのユーザキャラクタに評価をさせるために、評価の入力を要求する。そのため、たとえば複数のユーザキャラクタが登録されている場合において、一部のユーザキャラクタについての評価が入力されている一方で、残りのユーザキャラクタについての評価が未入力であるときには、同じコンテンツの2回目以降の再生後にもユーザ評価入力画面(図27)が再表示される。このユーザ評価入力画面においては、既に評価を入力済のユーザキャラクタについても評価を再入力することを可能としてもよいが、より正確な統計情報を収集する観点からは、同じユーザキャラクタの2回目以降に入力された評価については無効なデータとして取扱うことが好ましい。
これに対して、登録済のユーザキャラクタのすべてについての評価が入力済である場合(ステップS208においてYESの場合)には、処理はステップS210へ進む。
ステップS210において、CPU40は、保存されている投票履歴の保存日が先月以前のものであるか否かを判断する。すなわち、CPU40は、同一のコンテンツに対してなされた評価の投票日から月をまたいでいるか否かを判断する。保存されている投票履歴の投票日付が先月より前のものである場合(ステップS210においてYESの場合)には、CPU40は、新たな評価の入力を受付けることが可能であると判断する。そして、処理はステップS212へ進む。
これに対して、保存されている投票履歴の投票日付が先月より前のものでない場合(ステップS210においてNOの場合)には、CPU40は、新たな評価の入力を受付けることが不可能であると判断する。そして、処理はステップS216へ進む。
本例においては、上記において、すなわち、ステップS206,S208,S210における処理について、投票履歴が保存済みである場合においても、ユーザ評価入力画面を表示する場合の条件について説明したが、投票履歴が保存済みである場合には、すなわち、ステップS204において投票履歴が保存済み(ステップS204においてYES)であれば、ステップS216に進むように処理することも可能である。
また、投票履歴が保存済みである場合においても、ユーザ評価入力画面を表示する場合の条件について、ステップS206,S208,S210のいずれか1つの条件が判断されるようにしても良いし、本例の如く組み合わせても良い。
また、上述のステップS208に示す、登録済のユーザキャラクタのすべてについての評価が入力済であるか否かの条件に代えて、登録済のユーザキャラクタのうち、所定数のキャラクタの評価が入力済であることを条件にしてもよい。
ステップS212において、CPU40は、ユーザ評価入力画面(図27)をモニタ34に表示するとともに、コンテンツに対する評価を受付ける。CPU40は、少なくとも1つ以上のユーザキャラクタについて評価が入力されると、「これで決定」ボタン540(図27)を指示可能な状態に設定する、すなわちアクティブ化する。一方、CPU40は、ユーザキャラクタについて評価の入力が無い場合には、「これで決定」ボタン540(図27)を指示不可能な状態に設定する。
続くステップS214において、CPU40は、「これで決定」ボタン540が選択されたか否かを判断する。「これで決定」ボタン540が選択された場合(ステップS214においてYESの場合)には、処理はステップS216へ進む。一方、「これで決定」ボタン540が選択されていない場合(ステップS214においてNOの場合)には、ステップS212以下の処理が繰返される。
ステップS216において、CPU40は、動画再生に係るサブメニュー画面(図28)を表示する。続くステップS218において、CPU40は、「次へすすむ」ボタン542(図28)が選択されたか否かを判断する。「次へすすむ」ボタン542(図28)が選択された場合(ステップS218においてYESの場合)には、処理はステップS220へ進む。一方、「次へすすむ」ボタン542(図28)が選択されていない場合(ステップS218においてNOの場合)には、処理はステップS228へ進む。
ステップS220において、CPU40は、入力された評価内容およびユーザキャラクタに設定されたユーザ情報(年齢、性別、血液型など)などを含む評価データを配信サーバ104へ送信する。続くステップS222において、CPU40は、配信サーバ104へ送信した投票履歴をフラッシュメモリ44に保存する。このとき、CPU40は、評価データを送信した日付を投票履歴の投票日として保存する。この投票日は、上述のステップS206などの判断処理に用いられる。
さらに続くステップS224において、CPU40は、再生されたコンテンツにスポンサーが対応付けられているか否かを判断する。より具体的には、CPU40は、再生されたコンテンツに対応する動画情報に含まれるスポンサーID(図25(C))のフラグ値に基づいて判断する。再生されたコンテンツにスポンサーが対応付けられている場合(ステップS224においてYESの場合)には、処理はステップS226へ進む。一方、再生されたコンテンツにスポンサーが対応付けられていない場合(ステップS224においてNOの場合)には、図22および図23に示すメイン画面サブルーチンにリターンする。但し、再生されたコンテンツが、後述するスポンサーコンテンツ一覧画面(図33(C)参照)において選択されたものである場合には、図34に示すスポンサー選択画面サブルーチンにリターンする。
ステップS226において、CPU40は、スポンサー選択画面サブルーチンを実行する。このスポンサー選択画面サブルーチンの実行後、処理は、図22および図23に示すメイン画面サブルーチンにリターンする。
これに対して、ステップS228において、CPU40は、もう一度観るアイコン544(図28)が選択されたか否かを判断する。もう一度観るアイコン544が選択された場合(ステップS228においてYESの場合)には、ステップS200の処理が繰返される。これに対して、もう一度観るアイコン544が選択されていない場合(ステップS228においてNOの場合)には、処理はステップS230へ進む。
ステップS230において、CPU40は、メッセージ作成アイコン546(図28)が選択されたか否かを判断する。メッセージ作成アイコン546が選択された場合(ステップS230においてYESの場合)には、CPU40は、メッセージ作成サブルーチンを実行する(ステップS232)。その後、処理はステップS216へ戻る。これに対して、メッセージ作成アイコン546が選択されていない場合(ステップS230においてNOの場合)には、処理はステップS234へ進む。
ステップS234において、CPU40は、携帯端末転送アイコン548(図28)が選択されたか否かを判断する。携帯端末転送アイコン548が選択された場合(ステップS230においてYESの場合)には、CPU40は、携帯端末転送サブルーチンを実行する(ステップS236)。その後、処理はステップS216へ戻る。これに対して、携帯端末転送アイコン548が選択されていない場合(ステップS234においてNOの場合)には、処理はステップS238へ進む。
ステップS238において、CPU40は、お気に入りアイコン550(図28)が選択されたか否かを判断する。お気に入りアイコン550が選択された場合(ステップS238においてYESの場合)には、CPU40は、再生されたコンテンツを識別する動画IDをお気に入りフォルダに追加する(ステップS240)。その後、処理はステップS216へ戻る。これに対して、お気に入りアイコン550が選択されていない場合(ステップS238においてNOの場合)には、処理はステップS242へ進む。
ステップS242において、CPU40は、クレジットアイコン552(図28)が選択されたか否かを判断する。クレジットアイコン552が選択された場合(ステップS242においてYESの場合)には、CPU40は、配信サーバ104から対応する動画スタッフリストデータをダウンロードし、製作スタッフなどが明記されたクレジットリストを表示する(ステップS244)。その後、処理はステップS216へ戻る。一方、クレジットアイコン552が選択されていない場合(ステップS242においてNOの場合)には、処理はステップS216へ戻る。
<評価データの構造>
次に、上述の図29に示すフローチャートにおいて遣り取りされるデータの構造の一例について、図30を参照して説明する。図30(A)は、評価データに含まれる項目の一例を示し、図30(B)は、投票履歴に含まれる項目の一例を示す。なお、これらの情報は、典型的には、XMLなどのマークアップ言語で記述される。
図30(A)を参照して、評価データは、典型的には、(D1)動画ID、(D2)視聴時間、(D3)視聴開始日時、(D4)視聴終了日時、(D5)選択画質、(D6)リンク元ID、(D7)リンク元補助情報、(D8)ゲーム装置端末番号、(D9)機器アドレス、(D10)地域情報、(D11)転送利用回数、(D12)視聴繰り返し回数、(D13)おすすめ回数、(D14)スポンサーID、(D15)評価結果を含む。
(D1)動画IDは、配信サーバ104内で対象のコンテンツ(動画)を一意に特定するための識別情報である。(D2)視聴時間は、ゲーム装置12においてコンテンツ(動画)が視聴された時間である。(D3)視聴開始日時および(D4)視聴終了日時は、それぞれゲーム装置12においてコンテンツ(動画)の視聴が開始されたタイムスタンプ値および視聴が終了したタイムスタンプ値が格納される。(D5)選択画質には、ゲーム装置12において視聴されたコンテンツ(動画)の画質が格納される。
(D6)リンク元IDには、コンテンツ(動画)にアクセスする前に存在していたリンクアドレス(リンク元)が格納され、(D7)リンク元補助情報には、リンク元に関するアドレス以外の情報が格納される。
(D8)ゲーム装置端末番号には、ゲーム装置12を識別するための固有情報が格納され、(D9)機器アドレスには、ゲーム装置12のネットワークアドレスもしくはMACアドレスなどが格納される。
(D10)地域情報には、ゲーム装置12が位置している地域情報(たとえば、都道府県名など)が格納される。なお、この地域情報は、ユーザ操作などによって、予めゲーム装置12に対して設定されているものとする。
(D11)転送利用回数には、後述する携帯端末への当該コンテンツの転送が何回行なわれたかを示す回数が格納される。(D12)視聴繰り返し回数には、当該コンテンツを繰り返し視聴した回数が格納される。(D13)おすすめ回数には、当該コンテンツを薦めるメッセージを送信した回数が格納される。なお、家族や友人などにコンテンツを勧めるメッセージを送信した具体的な回数を送信する構成に代えて、家族や友人などにコンテンツを勧めるメッセージを送信したか否かを示す情報(典型的には、フラグ)を用いてもよい。
(D14)スポンサーIDには、当該コンテンツにスポンサーが対応付けられている場合に、当該スポンサーを特定するための識別情報が格納される。
(D15)評価結果には、ユーザキャラクタ毎に入力された評価内容およびユーザキャラクタに設定されたユーザ情報(年齢、性別、血液型など)などが格納される。具体的には、(D15)評価結果は、ユーザキャラクタ毎に、(D15−1)ユーザキャラクタID、(D15−2)年齢、(D15−3)性別、(D15−4)血液型、(D15−5)評価を含む。(D15−1)ユーザキャラクタIDには、ゲーム装置12に登録されているユーザキャラクタを特定するための識別情報が格納され、(D15−2)年齢、(D15−3)性別、(D15−4)血液型には、それぞれ上述の図21に示す設定画面上で設定された内容が格納される。そして、(D15−5)評価には、図27に示すユーザ評価入力画面上で設定された評価が格納される。
図30(B)を参照して、投票履歴は、少なくとも、(E1)動画ID、(E2)保存日時、(E3)スポンサーID、(E4)評価結果を含む。また、(E4)評価結果は、(E4−1)ユーザキャラクタID、および(E4−2)評価を含む。投票履歴に含まれる各項目の値は、図30(A)に示す評価データに含まれる対応する項目の値と実質的に同一である。そのため、その詳細な説明は繰返さない。
<配信サーバにおける集計処理>
次に、図31を参照して、ゲーム装置12から評価データが送信された配信サーバ104における集計処理の一例について説明する。
本実施の形態に従う配信サーバ104は、その集計処理の一例として、直近のX日の評価データに基づいて、コンテンツ(動画)がどの程度人気があるのかを示す人気度をそれぞれ算出し、配信サーバ104で提供中のコンテンツ群における人気順を算出する。なお、このように算出された人気度および人気順は、原則として、コンテンツを提供したスポンサーへ伝えられる。また、算出された人気度および人気順に応じて、提供されるコンテンツの表示態様を変更してもよい。
人気度の算出方法の一例としては、評価の度合い(「よかった」、「ふつう」、「いまいち」のいずれであるか)にそれぞれ投票した人数に対応する係数を掛けた値、および家族や友人などにコンテンツを勧めるメッセージを送信した回数(おすすめ回数)に基づいて算出される。
図31は、配信サーバ104における集計処理を提供するための概略構成を示すブロック図である。図31に示す配信サーバ104には、その制御構造として、振分部140と、評価データ格納部142と、抽出部144と、係数乗算部146a〜146gと、総和部148と、計時部149とを含む。
振分部140は、ゲーム装置12から送信された評価データ130を動画IDに基づいて振り分ける。すなわち、提供されるコンテンツに割当てられた動画IDに対応付けて、複数の評価データ格納部142が用意されている。そして、ゲーム装置12から評価データ130を受信した振分部140は、受信した評価データに含まれる動画IDを参照して、当該評価データ130を対応する評価データ格納部142に格納する。
抽出部144は、それぞれの評価データ格納部142に含まれる評価データ130を参照して、それぞれの条件に合致するものの数を統計情報として出力する。すなわち、抽出部144は、動画IDの別に統計情報を出力する。より具体的には、抽出部144は、ある評価データ格納部142に格納されている評価データのうち、「よかった」評価が入力されているユーザキャラクタの数を係数乗算部146aへ出力する。すなわち、抽出部144は、図30(A)に示す評価データの(D15)評価結果の(D15−5)評価の値を参照して、「よかった」を示す値が格納されているユーザキャラクタの数を積算する。同様に、抽出部144は、ある評価データ格納部142に格納されている評価データのうち、「ふつう」評価が入力されているユーザキャラクタの数を係数乗算部146bへ出力し、「いまいち」評価が入力されているユーザキャラクタの数を係数乗算部146cへ出力する。
また、抽出部144は、ある評価データ格納部142に格納されている評価データのうち、「よかった」評価が入力されているゲストキャラクタの数を係数乗算部146dへ出力する。同様に、抽出部144は、ある評価データ格納部142に格納されている評価データのうち、「ふつう」評価が入力されているゲストキャラクタの数を係数乗算部146eへ出力し、評価データのうち、「いまいち」評価が入力されているユーザキャラクタの数を係数乗算部146fへ出力する。
さらに、抽出部144は、ある評価データ格納部142に格納されているそれぞれの評価データの格納されている「おすすめ回数」の累積値を係数乗算部146gへ出力する。
係数乗算部146a〜146gは、抽出部144から受けた値にそれぞれ対応する係数A〜Gを乗じた値を総和部148へ出力する。
総和部148は、係数乗算部146a〜146gから受けた値の総和を算出し、人気度として出力する。すなわち、総和部148から出力される人気度は、以下のような数式で示される値となる。
人気度=(「よかった」評価のユーザキャラクタ数×係数A)+(「ふつう」評価のユーザキャラクタ数×係数B)+(「いまいち」評価のユーザキャラクタ数×係数C)+(「よかった」評価のゲストキャラクタ数×係数D)+(「ふつう」評価のゲストキャラクタ数×係数E)+(「いまいち」評価のゲストキャラクタ数×係数F)+(おすすめ回数(総数)×係数G)
(1.集計処理の変形例1)
上述の集計処理においては、評価したユーザキャラクタ数などに基づいてコンテンツ毎の人気度を算出する構成について例示したが、それぞれのユーザキャラクタが投票した評価の平均を算出するようにしてもよい。
より具体的な処理として、たとえば、「よかった」、「ふつう」、「いまいち」の3段階評価を採用した場合には、それぞれの評価に「5」点、「3」点、「1」点を割当てる。そして、それぞれの評価を入力したユーザキャラクタの数に対応する点数を乗じて総得点を算出した上で、評価を入力したユーザキャラクタの総数で当該総得点を除算することで、各コンテンツのユーザキャラクタ全体についての平均点を算出できる。すなわち、あるコンテンツのユーザキャラクタ全体の平均点は、以下のような式に従って算出できる。
平均点={(「よかった」評価のユーザキャラクタ数×5点)+(「ふつう」評価のユーザキャラクタ数×3点)+(「いまいち」評価のユーザキャラクタ数×1点)}/(「よかった」評価のユーザキャラクタ数+「ふつう」評価のユーザキャラクタ数+「いまいち」評価のユーザキャラクタ数)
(2.集計処理の変形例2)
上述の集計処理においては、評価したユーザキャラクタ数などに基づいて、直近のX日の期間におけるコンテンツ毎の人気度を算出する構成について例示したが、それぞれの期間における人気度をさらに平均するようにしてもよい。すなわち、X日毎の各コンテンツの人気度を算出することに加えて、それより長い期間(たとえば、1ヶ月間や1年間など)にわたる人気度の平均を算出するようにしてもよい。
さらに、上述の変形例1と変形例2とを組み合わせてもよい。
なお、上述した処理は集計処理の一例に過ぎず、ゲーム装置12から送信される評価データに含まれる各項目の値を利用して、多種多様な統計処理を行なうことが可能であることは言うまでもない。
<配信サーバのディレクトリ構造>
次に、図32を参照して、配信サーバ104におけるコンテンツなどが配置されるディレクトリ構造について説明する。
図32を参照して、本実施の形態に従う配信サーバ104の記憶領域には、ゲーム装置12の起動時にダウンロードされるイベントデータ120に加えて、コンテンツ本体122a,122b,…が格納される。さらに、それぞれのコンテンツ本体122a,122b,…に対応付けられ、各コンテンツの内容を記述した動画情報123a,123b,…が格納される。なお、コンテンツ本体122a,122b,…には、ゲーム装置12においてそれらを選択するためのアイコンの表示用にサムネイル画像が用意されてもよい。あるいは、選択するためのアイコンの表示用のサムネイル画像の代わりに単なる文字のみのリストが用意されていてもよいし、選択するための予め設けられたアイコン画像が用意されていてもよい。
上述したように、本実施の形態に従う配信システム100において配信されるコンテンツの一部もしくは全部は、(基本的には1社の)スポンサーに対応付けられる。すなわち、配信されるコンテンツの一部もしくは全部は、いずれかのスポンサーによって提供される。このコンテンツにいずれのスポンサーが対応付けられているのかについては、当該コンテンツの動画情報123a,123b,…にそのスポンサーIDが格納されることによって記述される。
本実施の形態に従う配信システム100では、(典型的には)複数のスポンサーがそれぞれ独自に製作もしくは提供するコンテンツをゲーム装置12のユーザに配信するとともに、そのようなスポンサーに対応付けられたコンテンツを視聴したユーザは、当該コンテンツに対応付けられたスポンサーが管理するページへ誘導される。すなわち、配信サーバ104の記憶領域には、各スポンサーが独自に管理する領域(典型的には、ディレクトリ)124a,124b,124c…が設けられている。これらの領域124a,124b,124c…においては、原則的に、コンテンツの追加・変更・削除などは、管理するスポンサーのみが可能である。なお、スポンサー自身がこれらの領域124a,124b,124c…を管理する形態に代えて、各スポンサーから委任を受けた運営者がスポンサーに代理して管理を行なうこともある。
このような各スポンサーが独自に管理する領域124a,124b,124c…に存在するコンテンツの視聴などを提供する処理が、上述のスポンサー選択画面サブルーチン(図23のステップS162および図29のステップS226など)である。なお、後述するように、ユーザがスポンサーに対応付けられたコンテンツを視聴した後以外にも、ユーザが任意に選択することで、これらのスポンサーが独自に管理する領域124a,124b,124c…へアクセスすることも可能である。
領域124a,124b,124c…の各々には、各スポンサーが用意している1または複数のコンテンツ127(以下、スポンサーコンテンツ127とも称す)が格納されるとともに、どのようなスポンサーコンテンツが格納されているかを記述するコンテンツ記述情報126が格納される。このコンテンツ記述情報126は、各コンテンツのタイトルや内容を含む一種のメタデータを格納する。コンテンツ記述情報126は、典型的には、XMLなどのマークアップ言語で記述される。そのため、各スポンサーは、新たなコンテンツを領域124a,124b,124c…に追加する場合には、追加したコンテンツの内容をコンテンツ記述情報126に追加する必要がある。
本実施の形態に従う配信システム100におけるビジネスメソッドとしては、スポンサー側から見れば、ユーザの興味を引くコンテンツを供給することにより、当該コンテンツを視聴した多くのユーザを自身の管理するページへ誘導することができる。また、このスポンサーが管理するページでは、動画の他に、スポンサー独自のアンケートの実施、割引クーポンの提供、試供品の申込受付や商品の通信販売(以下、宅配サービスとも総称する)などを提供することもできる。また、ユーザ側から見れば、複数のスポンサーからそれぞれ提供される多種多様なコンテンツの中から、自身の興味のあるものを任意に選んで視聴することができる。また、提供されるコンテンツが短い周期で追加・更新されることで、新たな情報を求めて、配信サーバ104へアクセスしようという動機付けも生じる。
<スポンサー選択画面>
次に、図23のステップS162および図29のステップS226に示すスポンサー選択画面サブルーチンの概要について説明する。なお、スポンサー選択画面サブルーチンは、コンテンツを視聴しなくとも、ユーザが任意に選択して実行させることができる。
まず、ユーザがコンテンツを視聴しないでスポンサー選択画面サブルーチンを選択実行した場合には、ゲーム装置12のCPU40は、図33(A)に示すようなスポンサー一覧画面を表示する。この図33(A)に示すスポンサー一覧画面に表示されるスポンサーは、図32に示す、それぞれのスポンサーが独自に管理する領域124a,124b,124c…に対応する。この図33(A)に示すスポンサー一覧画面においては、各スポンサーを代表するスポンサーキャラクタ580a〜580fが表示される。各スポンサーキャラクタ580a〜580fは、典型的には、そのスポンサーのロゴなどを抱えた態様で表現される。
この図33(A)にしめすスポンサー一覧画面において、いずれかのスポンサーキャラクタが選択されると、ゲーム装置12のCPU40は、選択されたスポンサーに対応するページを表示する。
たとえば、図33(A)に示すスポンサー一覧画面において、スポンサー「AAA」のスポンサーキャラクタ580aが選択されると、ゲーム装置12のCPU40は、図33(B)に示す個別ロゴ画面を表示した上で、図33(C)に示すような、スポンサーコンテンツ一覧画面を表示する。
なお、図23のステップS162および図29のステップS226において、スポンサー選択画面サブルーチンが実行された場合には、視聴したコンテンツに対応付けられたスポンサーについての図33(B)に示すような個別ロゴ画面が直接表示される。
図33(C)に示すスポンサーコンテンツ一覧画面では、最初に、スポンサーキャラクタ582aおよび/または582bが、吹き出しオブジェクト(図示しない)や音声などによって、当該スポンサーのページへ来たことに対する挨拶を行なう。また、その際に、スポンサー企業の紹介をすることも可能である。また、ゲーム装置12のCPU40は、スポンサーコンテンツ一覧画面において、各スポンサーが独自に管理する領域に格納されているスポンサーコンテンツの内容を示すサムネイル画像584a〜584eを選択可能に表示する。さらに、ユーザがコントローラ22を操作して、いずれかのサムネイル画像584a〜584eをカーソルなどでポイントすると、スポンサーキャラクタ582aおよび/または582bが、吹き出しオブジェクト(図示しない)や音声などによって、ポイントされたスポンサーコンテンツの内容を説明する。なお、スポンサーキャラクタ582aおよび582bの一方として、ゲーム装置12に登録されているいずれかのユーザキャラクタを登場させてもよい。この場合には、自装置に登録されているユーザキャラクタ510と、紹介キャラクタ520とが同じ画面内に表示されることになる。
さらに、ユーザがコントローラ22を操作して、いずれかのサムネイル画像584a〜584eを選択すると、ゲーム装置12のCPU40は、選択されたスポンサーコンテンツの内容に応じた処理を実行する。より具体的には、ゲーム装置12のCPU40は、選択されたスポンサーコンテンツが動画である場合には、選択されたスポンサーコンテンツ(動画)の再生を開始する。
あるいは、選択されたスポンサーコンテンツがアンケートである場合には、ゲーム装置12のCPU40は、アンケートの質問を表示するとともに、回答の入力を受付ける画面を表示する。そして、ゲーム装置12のCPU40は、回答の入力が完了すると、その入力された回答を配信サーバ104もしくはその他のサーバ装置へ送信する。
また、選択されたスポンサーコンテンツが割引クーポンである場合には、ゲーム装置12のCPU40は、店頭で提示できるような形態の画像を表示する。より具体的には、たとえば、ハンバーガーの割引クーポンなどの場合には、最終フレームに、図33(D)に示すような、ハンバーガーの画像および有効期限などが示された画像が組込まれた動画が配信サーバ104からダウンロードされる。さらに、ゲーム装置12のCPU40は、後述するように、携帯端末へダウンロードした割引クーポンを転送する。これにより、携帯端末上に割引クーポンを表示させることができ、ユーザは、店頭でそれを提示して、割引サービスを受けることができる。
また、選択されたスポンサーコンテンツが、試供品の申込受付や商品の通信販売などの宅配サービスである場合には、ゲーム装置12のCPU40は、ユーザの配達先の住所や名前の入力を受付ける画面を表示する。そして、ゲーム装置12のCPU40は、住所などの入力が完了すると、その内容を配信サーバ104もしくはその他のサーバ装置へ送信する。
<スポンサー選択画面の処理手順>
次に、図34を参照して、上述の図33に示すスポンサー選択画面を提供するスポンサー選択画面サブルーチン(図23のステップS162および図29のステップS226の内容)について説明する。図34に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図34を参照して、まず、ゲーム装置12のCPU40は、今回の処理がコンテンツの再生後に実行されたものであるか否かを判断する(ステップS300)。すなわち、CPU40は、ユーザがコンテンツを視聴した後に、当該コンテンツに対応付けられたスポンサーIDに基づいて、本サブルーチンが実行されたのか否かを判断する。今回の処理がコンテンツの再生後に実行されたものではない場合(ステップS300においてNOの場合)には、処理はステップS302へ進む。たとえば、図11に示すメイン画面上の観葉植物オブジェクト518が選択された場合である。一方、今回の処理がコンテンツの再生後に実行されたものである場合(ステップS300においてYESの場合)には、処理はステップS310へ進む。
ステップS302において、CPU40は、配信サーバ104からスポンサーリストをダウンロードする。すなわち、CPU40は、配信サーバ104に生成されているスポンサーが独自に管理する領域124a,124b,124c…を示すリストを取得する。このとき、CPU40は、スポンサーキャラクタを表現するための情報についても取得する。続くステップS304において、CPU40は、取得したスポンサーリストに基づいて、図33(A)に示すようなスポンサー一覧画面を表示する。さらに続くステップS306において、CPU40は、一覧表示されたスポンサーキャラクタのいずれかが選択されたか否かを判断する。一覧表示されたスポンサーキャラクタのいずれかが選択された場合(ステップS306においてYESの場合)には、処理はステップS310へ進む。一方、一覧表示されたスポンサーキャラクタのいずれも選択されていない場合(ステップS306においてNOの場合)には、処理はステップS308へ進む。
ステップS308において、CPU40は、「メインへもどる」ボタンが選択されたか否かを判断する。「メインへもどる」ボタンが選択された場合(ステップS308においてYESの場合)には、図22および図23に示すメイン画面サブルーチンにリターンする。これに対して、「メインへもどる」ボタンが選択されていない場合(ステップS308においてNOの場合)には、ステップS304以下の処理が繰返される。
ステップS310において、CPU40は、指定されているスポンサーもしくは選択されたスポンサーの個別ロゴ画面(図33(B)参照)を表示する。続くステップS312において、CPU40は、配信サーバ104からスポンサーコンテンツリストをダウンロードする。すなわち、CPU40は、対象のスポンサーが独自に管理する領域124a,124b,124c…に格納されているスポンサーコンテンツの一覧を取得する。このとき、CPU40は、各スポンサーコンテンツのサムネイル画像についても取得する。続くステップS314において、CPU40は、図33(C)に示すような、スポンサーコンテンツ一覧画面を表示する。さらに続くステップS316において、CPU40は、スポンサーキャラクタが挨拶をするアニメーションを表示する。
続くステップS318において、一覧表示されたスポンサーコンテンツのいずれかがカーソルなどでポイントされたか否かを判断する。一覧表示されたスポンサーコンテンツのいずれかがポイントされた場合(ステップS318においてYESの場合)には、処理はステップS320へ進む。一方、一覧表示されたスポンサーコンテンツのいずれもポイントされていない場合(ステップS318においてNOの場合)には、処理はステップS322へ進む。
ステップS320において、CPU40は、スポンサーキャラクタが、ポイントされたスポンサーコンテンツの内容を説明するアニメーションを表示する。その後、処理はステップS322へ進む。
ステップS322において、一覧表示されたスポンサーコンテンツのいずれかが選択(典型的には、Aボタン26dの押下)されたか否かを判断する。一覧表示されたスポンサーコンテンツのいずれかが選択された場合(ステップS322においてYESの場合)には、処理はステップS324へ進む。一方、一覧表示されたスポンサーコンテンツのいずれもポイントされていない場合(ステップS322においてNOの場合)には、処理はステップS344へ進む。
ステップS324において、CPU40は、選択されたスポンサーコンテンツが動画であるか否かを判断する。選択されたスポンサーコンテンツが動画である場合(ステップS324においてYESの場合)には、処理はステップS326へ進む。一方、選択されたスポンサーコンテンツが動画ではない場合(ステップS324においてNOの場合)には、処理はステップS328へ進む。
ステップS326において、CPU40は、動画再生サブルーチンを実行することで、選択されたスポンサーコンテンツを再生する。この動画再生サブルーチンの実行後、処理はステップS314へ戻る。
ステップS328において、CPU40は、選択されたスポンサーコンテンツがアンケートであるか否かを判断する。選択されたスポンサーコンテンツがアンケートである場合(ステップS328においてYESの場合)には、処理はステップS330へ進む。一方、選択されたスポンサーコンテンツがアンケートではない場合(ステップS328においてNOの場合)には、処理はステップS334へ進む。
ステップS330において、CPU40は、アンケートの質問を表示するとともに、回答の入力を受付ける画面を表示する。続くステップS332において、CPU40は、入力された回答を配信サーバ104もしくはその他のサーバ装置へ送信する。その後、処理はステップS314へ戻る。
ステップS334において、CPU40は、選択されたスポンサーコンテンツが割引クーポンであるか否かを判断する。選択されたスポンサーコンテンツが割引クーポンである場合(ステップS334においてYESの場合)には、処理はステップS336へ進む。一方、選択されたスポンサーコンテンツが割引クーポンではない場合(ステップS334においてNOの場合)には、処理はステップS340へ進む。
ステップS336において、CPU40は、配信サーバ104から指定された割引クーポンの画像を含む動画をダウンロードする。続くステップS338において、CPU40は、携帯端末転送サブルーチンを実行する。この携帯端末転送サブルーチンの実行後、処理はステップS314へ戻る。
ステップS340において、CPU40は、選択されたスポンサーコンテンツが宅配サービスあるか否かを判断する。選択されたスポンサーコンテンツが宅配サービスである場合(ステップS340においてYESの場合)には、処理はステップS342へ進む。一方、選択されたスポンサーコンテンツが宅配サービスではない場合(ステップS340においてNOの場合)には、処理はステップS314へ戻る。
ステップS342において、CPU40は、ユーザの配達先の住所や名前の入力を受付ける画面を表示する。続くステップS343において、ゲーム装置12のCPU40は、入力された住所などの内容を配信サーバ104もしくはその他のサーバ装置へ送信する。その後、処理はステップS314へ戻る。
ステップS344において、CPU40は、「メインへもどる」ボタンが選択されたか否かを判断する。「メインへもどる」ボタンが選択された場合(ステップS344においてYESの場合)には、図22および図23に示すメイン画面サブルーチンにリターンする。これに対して、「メインもどる」ボタンが選択されていない場合(ステップS344においてNOの場合)には、処理はステップS314へ戻る。
<メッセージ送信機能>
次に、図29のステップS232に示すメッセージ作成サブルーチンの概要について説明する。なお、メッセージ作成サブルーチンは、コンテンツを視聴しなくとも、ユーザが任意に選択して実行させることできる。
図35を参照して、メッセージ作成サブルーチンが実行されると、ゲーム装置12のCPU40は、まず、図35(A)に示すようなメッセージ選択画面を表示する。この図35(A)に示すメッセージ選択画面には、自ゲーム装置12内に向けたメッセージ送信を選択するための「家族に送る」ボタン553、および他のゲーム装置12のユーザに向けたメッセージ送信を選択するための「フレンドに送る」ボタン554が選択可能に表示される。
ユーザがコントローラ22を操作して、「家族に送る」ボタン553を選択すると、ゲーム装置12のCPU40は、図35(B)に示すようなユーザキャラクタ選択画面を表示する。すなわち、図35(B)に示すユーザキャラクタ選択画面は、メッセージの送信元のユーザキャラクタ510を選択する画面であり、予めゲーム装置12に登録されているユーザキャラクタ510が選択可能に一覧表示される。
一方、ユーザがコントローラ22を操作して、「フレンドに送る」ボタン554を選択すると、ゲーム装置12のCPU40は、図35(C)に示すような送り先選択画面を表示する。この送り先選択画面は、メッセージの送信先のゲーム装置12を選択するための画面であり、送り先のゲーム装置12を特定するためのアドレスとして、ゲーム装置端末番号を含むフレンドリスト44dが登録されているものとする。なお、フレンドリスト44dの内容が何ら登録されていない場合には、フレンドリスト44dを登録するように促す警告画面を表示してもよい。その後、図35(C)に示す送り先選択画面において、ユーザがコントローラ22を操作して、いずれかの送り先を選択すると、ゲーム装置12のCPU40は、図35(B)に示すようなユーザキャラクタ選択画面を表示する。
図35(B)に示すユーザキャラクタ選択画面において、ユーザがコントローラ22を操作して、いずれかのユーザキャラクタ510を選択すると、ゲーム装置12のCPU40は、図35(D)に示すような挙動パターン選択画面を表示する。すなわち、図35(D)に示す挙動パターン選択画面は、選択したユーザキャラクタ510がメッセージを届ける際の挙動の選択を受付ける。具体的には、図35(D)に示す挙動パターン選択画面には、おだやかアイコン560a、こうふんアイコン560b、かなしいアイコン560c、あやまるアイコン560d、お祝いアイコン560e、お誕生日アイコン560fの計6個のアイコンが選択可能に表示される。ユーザキャラクタ510は、これらのアイコンのうち、選択されたアイコンに沿った表情や動作を伴って、メッセージを届ける。
図35(D)において、いずれかの挙動パターンが選択されると、ユーザが家族や友人などにいずれかのコンテンツを薦めるメッセージを作成する場合には、図35(E)に示すようなメッセージ入力画面が表示され、そうでない場合には、図35(F)に示すようなメッセージ入力画面が表示される。すなわち、ゲーム装置12のCPU40は、本メッセージ作成サブルーチンが、いずれかのコンテンツを視聴等した後に実行されたものであるか否かを判断し、そうである場合には、当該コンテンツのサムネイル画像などを取得した上で、吹き出しオブジェクト588とともに表示する。
図35(E)に示すメッセージ入力画面では、ユーザが薦めるコンテンツのサムネイル画像562とともに、メッセージを受付ける吹き出しオブジェクト558が表示される。なお、確認のため、選択済のユーザキャラクタも併せて表示される。ユーザが吹き出しオブジェクト558を選択すると、ゲーム装置12のCPU40は、たとえばキーボードライクな文字入力画面を表示する。ユーザは、この文字入力画面に表示されるキーボードのキーに対応するアイコンを順次選択することで、吹き出しオブジェクト558には文字が入力される。そして、ユーザが「OK」ボタン564を選択すると、ゲーム装置12のCPU40は、入力されたメッセージをメールサーバ102などへ送信する。なお、吹き出しオブジェクト558に何らかの文字が入力されない限り、「OK」ボタン564をアクティブにしないようにしてもよい。
一方、図35(F)に示すメッセージ入力画面では、サムネイル画像562が表示されることなく、メッセージを受付ける吹き出しオブジェクト558が表示される。この吹き出しオブジェクト558への文字入力についても、たとえばキーボードライクな文字入力画面によって行なわれる。そして、ユーザがOKボタン566を選択すると、ゲーム装置12のCPU40は、入力されたメッセージをメールサーバ102などへ送信する。
なお、送り先のゲーム装置12へのアプリケーションのインストール状況をメールサーバ102などに問い合わせを行なって、本コンテンツ配信アプリケーションが送り先のゲーム装置12にインストールされていない場合には、通常のメール形式、あるいは上述の伝言板機能で読める形式に変換して、メッセージを送信してもよい。
このように、CPU40は、ユーザ操作に応じて再生されたコンテンツに対応付けられ、かつ選択されたユーザキャラクタオブジェクトを表示するための情報を含む紹介キャラクタ情報を生成する。そして、CPU40は、生成された紹介キャラクタ情報を他のゲーム装置12(情報処理装置)へ送信する。
また、このようなメッセージの送信先であるゲーム装置12のCPU40は、他のゲーム装置12からの紹介キャラクタ情報の受信に応答して、紹介キャラクタ情報に対応付けられている再生済のコンテンツのコンテンツ情報(動画情報)を配信サーバ104から取得する。さらに、CPU40は、紹介キャラクタ情報に基づく紹介キャラクタオブジェクトをモニタ34に表示するとともに、取得したコンテンツ情報(動画情報)に基づいて、紹介キャラクタオブジェクトに関連付けて再生済のコンテンツを紹介する情報を出力する。
<メッセージ送信機能の処理手順>
次に、図36を参照して、上述の図35に示すメッセージを作成する画面を提供するメッセージ作成サブルーチン(図29のステップS232の内容)について説明する。図36に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図36を参照して、まず、ゲーム装置12のCPU40は、図35(A)に示すようなメッセージ選択画面を表示する(ステップS400)。続くステップS402において、CPU40は、メッセージ選択画面に表示されるいずれのボタンが選択されたかを判断する。メッセージ選択画面上の「家族に送る」ボタン553が選択された場合(ステップS402において「家族」の場合)には、処理はステップS414へ進む。一方、メッセージ選択画面上の「フレンドに送る」ボタン554が選択された場合(ステップS402において「フレンド」の場合)には、処理はステップS404へ進む。
ステップS404において、CPU40は、フレンドリスト44dの登録内容が存在するか否かを判断する。フレンドリスト44dにエントリが存在しない場合(ステップS404においてNOの場合)には、処理はステップS406へ進む。フレンドリスト44dにエントリが存在する場合(ステップS404においてYESの場合)には、処理はステップS408へ進む。
ステップS406において、CPU40は、フレンドリスト44dを登録するように促す警告画面を表示する。そして、処理はステップS400へ戻る。
ステップS408において、CPU40は、フレンドリスト44dの登録内容に基づいて、図35(C)に示すような送り先選択画面を表示する。続くステップS410において、CPU40は、送り先選択画面に表示される送り先が選択されたか否かを判断する。送り先選択画面に表示される送り先が選択されていない場合(ステップS410においてNOの場合)には、ステップS410の処理が繰返される。一方、送り先選択画面に表示される送り先が選択された場合(ステップS410においてYESの場合)には、CPU40は、選択された送り先のゲーム装置端末番号を送り先のアドレスにセットする(ステップS412)。その後、処理はステップS414へ進む。
ステップS414において、CPU40は、図35(B)に示すユーザキャラクタ選択画面を表示する。続くステップS416において、CPU40は、ユーザキャラクタ選択画面に表示されるユーザキャラクタが選択されたか否かを判断する。ユーザキャラクタ選択画面に表示されるユーザキャラクタが選択されていない場合(ステップS416においてNOの場合)には、ステップS416の処理が繰返される。一方、ユーザキャラクタ選択画面に表示されるユーザキャラクタが選択された場合(ステップS416においてYESの場合)には、CPU40は、選択されたユーザキャラクタを送り元のユーザキャラクタとしてセットする(ステップS418)。その後、処理はステップS420へ進む。
ステップS420において、CPU40は、図35(D)に示す挙動パターン選択画面を表示する。続くステップS422において、CPU40は、挙動パターン選択画面に表示されるいずれかのアイコンが選択されたか否かを判断する。挙動パターン選択画面に表示されるいずれのアイコンも選択されていない場合(ステップS422においてNOの場合)には、ステップS422の処理が繰返される。一方、挙動パターン選択画面に表示されるいずれかのアイコンが選択された場合(ステップS422においてYESの場合)には、CPU40は、選択されたアイコンに対応する挙動パターンをセットする(ステップS424)。その後、処理はステップS426へ進む。
ステップS426において、CPU40は、メッセージにコンテンツの内容を添付する必要があるか否かを判断する。より具体的には、CPU40は、本メッセージ作成サブルーチンが、いずれかのコンテンツを視聴等した後に実行されたものであるか否かを判断する。メッセージにコンテンツの内容を添付する必要がある場合(ステップS426においてYESの場合)には、処理はステップS428へ進む。一方、メッセージにコンテンツの内容を添付する必要がない場合(ステップS426においてNOの場合)には、処理はステップS432へ進む。
ステップS428において、CPU40は、先に視聴されたコンテンツの動画IDを取得した上、配信サーバ104から、取得した動画IDに対応するコンテンツのサムネイル画像をダウンロードする。続くステップS430において、CPU40は、ダウンロードしたサムネイル画像を含むメッセージ入力画面を表示する(図35(E)参照)。その後、処理はステップS434へ進む。
一方、ステップS432において、CPU40は、コンテンツのサムネイル画像を含まないメッセージ入力画面を表示する(図35(F)参照)。その後、処理はステップS434へ進む。
ステップS434において、CPU40は、メッセージ入力画面上の吹き出しオブジェクトが選択されたか否かを判断する。吹き出しオブジェクトが選択された場合(ステップS434においてYESの場合)には、処理はステップS436へ進む。一方、吹き出しオブジェクトが選択されていない場合(ステップS434においてNOの場合)には、処理はステップS440へ進む。
ステップS436において、CPU40は、文字入力画面を表示し、ユーザによる文字入力を受付ける。続くステップS438において、CPU40は、入力された文字列をバッファにセットする。そして、処理はステップS440へ進む。
ステップS440において、CPU40は、「OK」ボタン564が選択されたか否かを判断する。「OK」ボタン564が選択された場合(ステップS440においてYESの場合)には、処理はステップS442へ進む。一方、「OK」ボタン564が選択されていない場合(ステップS440においてNOの場合)には、ステップS434以下の処理が繰返される。
ステップS442において、CPU40は、「家族に送る」が選択されたメッセージであるか否かを判断する。「家族に送る」が選択されたメッセージである場合(ステップS442においてYESの場合)には、処理はステップS444へ進む。一方、「家族に送る」が選択されたメッセージではない場合(ステップS442においてNOの場合)には、処理はステップS446へ進む。すなわち、「フレンドに送る」が選択された場合に相当する。
ステップS444において、CPU40は、送り元のユーザキャラクタを示す情報、挙動パターン、入力されたメッセージ、(必要に応じて)コンテンツのサムネイル画像および動画ID、種別コード、対象日を含むメッセージを、自ゲーム装置12の受信メッセージボックス44bに保存する。その後、元の処理にリターンする。
これに対して、ステップS446において、CPU40は、メールサーバ102に問い合わせを行なって、本コンテンツ配信アプリケーションが送り先のゲーム装置12にインストールされているか否かを判断する。本コンテンツ配信アプリケーションが送り先のゲーム装置12にインストールされている場合(ステップS446においてYESの場合)には、処理はステップS448へ進む。一方、本コンテンツ配信アプリケーションが送り先のゲーム装置12にインストールされていない場合(ステップS446においてNOの場合)には、処理はステップS450へ進む。
ステップS448において、CPU40は、送り元のユーザキャラクタを示す情報、挙動パターン、入力されたメッセージ、(必要に応じて)コンテンツのサムネイル画像および動画ID、種別コード、対象日を含むメッセージを、送り先のアドレス(ゲーム装置端末番号)を指定した上で、メールサーバ102へ送信する。その後、元の処理にリターンする。
これに対して、ステップS450において、CPU40は、入力されたメッセージ、(必要に応じて)コンテンツのサムネイル画像および動画ID、種別コード、対象日を含む、伝言板機能で読める形式のメッセージを生成する。続くステップS452において、CPU40は、送り先のアドレス(ゲーム装置端末番号)を指定した上で、生成したメッセージをメールサーバ102へ送信する。その後、元の処理にリターンする。
<携帯端末の構成>
次に、図37および図38を参照して、本実施の形態に従う携帯端末の典型例として、携帯ゲーム装置210について説明する。なお、本実施の形態に従う配信システム100においては、携帯電話機やPDA(Personal Digital Assistant)などの汎用的な携帯端末にも適用できる。
図37を参照して、本実施の形態に従う携帯ゲーム装置210は、折り畳み型の携帯ゲーム装置である。図37には、開いた状態(開状態)の携帯ゲーム装置210を示す。携帯ゲーム装置210は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
携帯ゲーム装置210は、第1ハウジング211および第2ハウジング221を有する。第1ハウジング211と第2ハウジング221とは、開閉可能(折り畳み可能)に連結されている。図37に示す例では、第1ハウジング211および第2ハウジング221は、それぞれ長方形の板状に形成され、互いの長辺部分でヒンジによって回転可能に連結されている。
第1ハウジング211には、表示部(表示手段)として、第1LCD(Liquid Crystal Display:液晶表示装置)212が設けられる。第1LCD212は長方形状であり、その長辺方向が第1ハウジング211の長辺方向に一致するように配置される。なお、本実施の形態では、表示部(表示手段)としてLCDを採用した場合を示すが、たとえばEL(Electro Luminescence:電界発光)を利用した表示装置といった、他の適切な表示装置を採用してもよい。また、表示部(表示手段)の解像度は、実行されるアプリケーションなどに応じて適切に設計することができる。
第1ハウジング211には、入力部(入力手段)として、携帯ゲーム装置210に対する各種操作を行なうためのボタン214A〜214Kが設けられる。ボタン214A〜214Kのうち、方向入力ボタン214A、操作ボタン214B、操作ボタン214C、操作ボタン214D、操作ボタン214E、電源ボタン214F、スタートボタン214G、およびセレクトボタン214Hは、第1ハウジング211と第2ハウジング221とを折り畳んだときに内側となる、第1ハウジング211の内側主面上に設けられる。
Lボタン214Iは、第1ハウジング211の紙面上側面の左端部に設けられ、Rボタン214Jは、第1ハウジング211の紙面上側面の右端部に設けられる。また、音量ボタン214Kは、第1ハウジング211の左側面に設けられる。
方向入力ボタン214A、Lボタン214I、およびRボタン214Jは、たとえば選択操作等に用いられる。ボタン214B〜214Eは、たとえば決定操作やキャンセル操作等に用いられる。電源ボタン214Fは、携帯ゲーム装置210の電源をオン/オフするために用いられる。音量ボタン214Kは、携帯ゲーム装置210に搭載されるスピーカの音量を調整するために用いられる。
携帯ゲーム装置210は、ボタン214A〜214Kとは別の入力部(入力手段)として、タッチパネル213をさらに有している。タッチパネル213は、第1LCD212の画面上を覆うように装着され、ユーザによる入力操作が行なわれた場合に、その座標を検出する。すなわち、タッチパネル213は、第1LCD212の表示面と対応付けて配置される。
タッチパネル213としては、たとえば抵抗膜方式のタッチパネルを採用することができるが、抵抗膜方式に限らず、各種の押圧式のタッチパネルを採用することができる。また、タッチパネル213の解像度(検出精度)は、第1LCD212の解像度(表示精度)と同程度であることが好ましい。ただし、必ずしもタッチパネル213の解像度と第1LCD212の解像度とが一致している必要はない。
第1ハウジング211の紙面右側の側面には、タッチペン227の挿入口(図37では、破線で示している)が設けられている。この挿入口には、タッチパネル213に対する入力操作を行なうために用いられるタッチペン227を収納することができる。なお、タッチパネル213に対する入力操作は、通常、タッチペン227を用いて行なわれるが、タッチペン227に代えて、ユーザの指などでタッチパネル213に対する入力操作を行なうことも可能である。
第1ハウジング211の紙面右側の側面には、さらに、メモリカード228を収納するための挿入口(図37では、二点鎖線で示している)が設けられている。この挿入口の内側には、携帯ゲーム装置210とメモリカード228とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード228は、このコネクタに着脱自在に装着される。メモリカード228は、他の情報処理装置やゲーム装置から取得されたゲームプログラムや画像データの読出し、ならびに、携帯ゲーム装置210によって撮影および/または画像処理された画像データの記憶(保存)などに用いられる。メモリカード228は、たとえばSD(Secure Digital)カードなどの不揮発性記憶媒体からなる。
第1ハウジング211の紙面上側の側面には、メモリカード229を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側には、携帯ゲーム装置210とメモリカード229とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード229は、このコネクタに着脱自在に装着される。メモリカード229は、ゲームプログラムなどを記憶する。
第1ハウジング211と第2ハウジング221との連結部の紙面左側には、3つのLED215A〜215Cが取り付けられる。携帯ゲーム装置210は、後述するように、他の機器との間で無線通信を行なうことが可能であり、第1LED215Aは、携帯ゲーム装置210の電源がオンである場合に点灯する。第2LED215Bは、携帯ゲーム装置210の電池の状態(充電中や残量低下など)に応じて点灯する。第3LED215Cは、無線通信の状態に応じて点灯する。したがって、3つのLED215A〜215Cによって、携帯ゲーム装置210の電源のオン/オフ状況、電池状況、無線通信状況をユーザに通知することができる。
第2ハウジング221には、表示部(表示手段)として、第2LCD222が設けられる。第2LCD222は長方形状であり、その長辺方向が第2ハウジング221の長辺方向に一致するように配置される。なお、第1LCD212と同様、LCDに代えて、他の適切な表示装置を採用してもよい。携帯ゲーム装置210では、入力手段(入力部)としてのタッチパネルが第1LCD212の画面上を覆うように装着されている構成を採用しているが、さらに別のタッチパネルを第2LCD222の画面上に装着してもよい。
第2ハウジング221には、さらに、撮像手段(撮像装置)として、2つのカメラ(内側カメラ223および外側カメラ225)が設けられる。図37に示されるように、内側カメラ223は、第2ハウジング221の連結部付近の内側主面に取り付けられる。一方、外側カメラ225は、内側カメラ223が取り付けられる内側主面とは反対側の面、すなわち第2ハウジング221の外側主面(携帯ゲーム装置210が閉状態となった場合に外側となる面に相当する)に取り付けられる。なお、図37においては、外側カメラ225を破線で示している。
携帯ゲーム装置210の連結部の内部には、音声入力装置として、マイク(図38に示すマイク243)が収納されている。そして、携帯ゲーム装置210の連結部付近の内側主面には、マイク243が携帯ゲーム装置210の周囲の音を検知するためのマイク用孔216が設けられる。
第2ハウジング221の外側主面には、外側カメラ225と近接した位置に、第4LED226が設けられる。第4LED226は、外側カメラ225による撮像状態に応じて点灯する。
第2ハウジング221の内側主面の中央付近に設けられる第2LCD222に対して、左右両側の主面に音抜き孔224がそれぞれ設けられる。音抜き孔224と連通する第2ハウジング221内部には、音声出力装置として、スピーカ(図38に示すスピーカ245)が収納されている。
図38を参照して、携帯ゲーム装置210は、CPU231と、メインメモリ232と、メモリ制御回路233と、保存用データメモリ234と、プリセットデータ用メモリ235と、メモリカードインターフェース(メモリカードI/F)236および237と、無線通信モジュール238と、ローカル通信モジュール239と、リアルタイムクロック(RTC)240と、電源回路241と、インターフェイス回路(I/F回路)242等との電子部品を有している。これらの電子部品は、電子回路基板上に実装されて、第1ハウジング211(あるいは、第2ハウジング221)内に収納される。
CPU231は、各種プログラムを実行する演算処理部である。CPU231は、携帯ゲーム装置210内部のメモリ(典型的には、保存用データメモリ234)、メモリカード228、メモリカード229のいずれかに格納されているゲームプログラムをメインメモリ232に展開して実行する。CPU231のプログラムの実行により、後述する本実施の形態に従う各種処理が提供される。後述するように、本実施の形態に従うゲームプログラムは、典型的に、ネットワーク接続された配信サーバなどから、有線または無線の通信回線を通じて、携帯ゲーム装置210に供給される。この携帯ゲーム装置210に供給されたゲームプログラムは、保存用データメモリ234に格納される。
また、CPU231は、もっぱら第1LCD212および第2LCD222での表示を制御するための不図示のVRAM(Video Random Access Memory)を有する。このVRAMには、後述する各種画像を表示するための画像データなどが一時的に記憶される。なお、このVRAMには、メインメモリ232に記憶されているデータが転送され、もしくは保存用データメモリ234に格納されているファイル(データ)などが直接的に読出されて、その内容が書込まれる。
CPU231には、メインメモリ232、メモリ制御回路233、およびプリセットデータ用メモリ235が接続される。また、メモリ制御回路233には、保存用データメモリ234が接続される。
メインメモリ232は、CPU231のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ232は、各種処理に用いられるデータを一時的に記憶したり、保存用データメモリ234、メモリカード228、メモリカード229などから読出したゲームプログラムを展開して一時的に記憶したりする。本実施の形態では、メインメモリ232として、たとえばPSRAM(Pseudo-SRAM)を用いる。
保存用データメモリ234は、CPU231によって実行されるゲームプログラムや内側カメラ223および外側カメラ225によって撮像される画像データなどを記憶する記憶手段である。保存用データメモリ234は、たとえば、NAND型フラッシュメモリなどの不揮発性記憶媒体からなる。メモリ制御回路233は、CPU231から指示に従って、保存用データメモリ234からのデータ読出し、および保存用データメモリ234へのデータ書込みを制御する回路である。
プリセットデータ用メモリ235は、携帯ゲーム装置210において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶する記憶手段である。プリセットデータ用メモリ235としては、SPI(Serial Peripheral Interface)バスによってCPU231と接続されるフラッシュメモリを採用することができる。
メモリカードI/F236および237は、それぞれCPU231に接続される。メモリカードI/F236は、コネクタに装着されたメモリカード228に対するデータの読出しおよび書込みを、CPU231の指示に応じて行なう。また、メモリカードI/F237は、コネクタに装着されたメモリカード229に対するデータの読出しおよび書込みを、CPU231の指示に応じて行なう。
無線通信モジュール238は、たとえば、Bluetooth(登録商標)規格にしたがってゲーム装置12などとの間で通信を行なう。なお、無線通信モジュール238による通信は、赤外線や無線LANなど他の規格に従って実行されてもよい。さらには、有線で接続されてもよい。また、ローカル通信モジュール239は、所定の通信方式により同種のゲーム装置との間で無線通信を行なう機能を有する。無線通信モジュール238およびローカル通信モジュール239は、CPU231に接続される。CPU231は、無線通信モジュール238を用いてインターネットなどのネットワーク回線を介して他の機器との間でデータを送受信したり、ローカル通信モジュール239を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
さらに、CPU231には、RTC240および電源回路241が接続される。RTC40は、時間をカウントしてCPU231に出力する。たとえば、CPU231は、RTC240によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路241は、携帯ゲーム装置210が有する電源(典型的には電池であり、第1ハウジング211に収納される)から供給される電力を制御し、携帯ゲーム装置210の各部品に電力を供給する。
携帯ゲーム装置210は、さらに、CPU231に接続されたI/F回路242を有している。I/F回路242には、マイク243、アンプ244、タッチパネル213が接続される。
マイク243は、携帯ゲーム装置210に向かって発声されたユーザの音声などを検知して、検知した音声を示す音声信号をI/F回路242に出力する。アンプ244は、I/F回路242からの音声信号を増幅してスピーカ245から出力させる。
また、I/F回路242に含まれるタッチパネル制御回路は、タッチパネル213からの検出信号に応じて、タッチ位置データを生成してCPU231に出力する。たとえば、タッチ位置データは、タッチパネル213の入力面に対して入力が行なわれた位置を示す座標値を含む。なお、タッチパネル制御回路は、タッチパネル213からの信号の読出し、および、タッチ位置データの生成を所定周期でサイクリックに実行する。CPU231は、I/F回路242(タッチパネル制御回路)を介して、タッチ位置データを取得することにより、ユーザによるタッチパネル213に対する入力操作が行なわれた入力座標を検出することができる。
また、第1LCD212および第2LCD222は、いずれもCPU231に接続される。第1LCD212および第2LCD222は、CPU231からの指示に従ってそれぞれ画像を表示する。
<携帯端末への転送処理>
次に、図39〜図41を用いて、図29のステップS236および図34のステップS338に示す携帯端末転送サブルーチンの概要について説明する。なお、図39には、ゲーム装置12のモニタ34に表示される画面例を示し、図40および図41には、携帯端末の典型例である携帯ゲーム装置210の第1LCD212および第2LCD222に表示される画面例を示す。また、携帯ゲーム装置210には、本実施の形態に従うコンテンツ配信アプリケーションと通信可能な、携帯端末用配信アプリケーションがインストールされているものとする。
図39を参照して、携帯端末転送サブルーチンが実行されると、ゲーム装置12のCPU40は、まず、図39(A)に示すような通知画面を表示する。この図39(A)に示す通知画面には、携帯端末への転送対象のコンテンツのタイトル、およびゲーム装置12と携帯ゲーム装置210との間の通信ステータス(図39(A)に示す例では「準備中です…」)が表示される。さらに、この図39(A)に示す通知画面には、携帯端末で携帯端末用配信アプリケーションを起動させることをユーザに通知するメッセージ、および携帯端末に携帯端末用配信アプリケーションがインストールされていなければコンテンツを転送できないことを通知するメッセージが表示される。
その後、ゲーム装置12と携帯ゲーム装置210との間で通信が確立し、ゲーム装置12から携帯ゲーム装置210に向けてコンテンツの転送が開始されると、図39(B)に示すように、「配信中です!」というステータスが表示される。
一方、携帯ゲーム装置210において、ユーザが携帯端末用配信アプリケーションを起動すると、図40(A)に示すようなメニュー画面が表示される。なお、図40および図41においては、説明の便宜上、第1LCD212および第2LCD222にそれぞれ表示される画像全体(スクリーンショット)を一体的に並べて描いている。
図40(A)に示すメニュー画面においては、ゲーム装置12からコンテンツを受信するための「本体側から映像を受信」ボタン602と、携帯ゲーム装置210に保存したコンテンツを再生するための「受信した映像を見る」ボタン604とが表示される。
ユーザがタッチペン227などを用いて、ボタン602をタッチすると、携帯ゲーム装置210のCPU231は、図40(B)〜図40(D)に示す、ゲーム装置12からコンテンツの受信処理を実行する。一方、ユーザがタッチペン227などを用いて、ボタン604をタッチすると、携帯ゲーム装置210のCPU231は、図41に示す保存済のコンテンツを再生する処理を実行する。
まず、図40(B)を参照して、図40(A)に示すメニュー画面においてボタン602がタッチされると、携帯ゲーム装置210のCPU231は、ゲーム装置12から受信したコンテンツの保存先の選択を受付ける画面を表示する。より具体的には、携帯ゲーム装置210の保存用データメモリ234を保存先に設定するための「携帯端末本体」ボタン612、および携帯ゲーム装置210に装着されたメモリカード228を保存先に設定するための「メモリカード」ボタン614とが表示される。続いて、ユーザがタッチペン227などを用いて、いずれかのボタン612または614をタッチすると、携帯ゲーム装置210のCPU231は、接続先となるゲーム装置12の探索処理を開始するとともに、図40(C)に示すような、ゲーム装置12を探索中であることを示す画面を表示する。
その後、携帯ゲーム装置210とゲーム装置12との間で通信が確立すると、コンテンツのゲーム装置12から携帯ゲーム装置210への転送が開始される。この転送処理に伴って、携帯ゲーム装置210のCPU231は、図40(D)に示すような、ゲーム装置12からコンテンツを受信中であることを示す画面を表示する。このとき、コンテンツ全体のデータ量のうち、どの程度の量を受信済であるかを示すステータスが表示される。
このような操作によって、ゲーム装置12から携帯ゲーム装置210に対して、コンテンツを転送することができる。
一方、図40(A)に示すメニュー画面においてボタン604がタッチされると、携帯ゲーム装置210のCPU231は、図41(A)に示すような、いずれの記憶媒体に保存されているコンテンツを再生するかの選択を受付ける画面を表示する。より具体的には、携帯ゲーム装置210の保存用データメモリ234に保存されているコンテンツを再生するための「携帯端末本体」ボタン622、および携帯ゲーム装置210に装着されたメモリカード228に保存されているコンテンツを再生するための「メモリカード」ボタン624とが表示される。
続いて、ユーザがタッチペン227などを用いて、いずれかのボタン622または624をタッチすると、携帯ゲーム装置210のCPU231は、図41(B)に示すような、再生するコンテンツの種類の選択を受付ける画面を表示する。より具体的には、動画などの映像コンテンツを再生するための「映像」ボタン632、および上述の図33(D)に示すような割引クーポンを再生するための「クーポン」ボタン634とが表示される。
図41(B)に示す画面において、ユーザがタッチペン227などを用いてボタン632をタッチすると、携帯ゲーム装置210のCPU231は、図41(C)に示すような、再生する映像コンテンツの選択を受付ける画面を表示する。より具体的には、携帯ゲーム装置210のCPU231は、図41(A)に示す画面において選択された記憶媒体に保存されている映像コンテンツを検索し、そのサムネイル画像およびタイトルの一覧626を表示する。
さらに、図41(C)に示す画面において、ユーザがタッチペン227などを用いて、いずれかのコンテンツをタッチすると、携帯ゲーム装置210のCPU231は、図41(D)に示すような、タッチされたコンテンツの再生を開始する。
また、図示しないが、図41(B)に示す画面において、ユーザがタッチペン227などを用いてボタン634をタッチすると、携帯ゲーム装置210のCPU231は、図41(A)に示す画面において選択された記憶媒体に保存されているクーポンの画像を検索し、そのサムネイル画像などを一覧表示する。そして、いずれかのクーポンがタッチされると、携帯ゲーム装置210のCPU231は、その選択されたクーポンの動画を再生する。
<携帯端末への転送処理手順>
次に、図42を参照して、ゲーム装置12と携帯ゲーム装置210との間のコンテンツの転送処理について説明する。
ゲーム装置12のCPU40は、携帯端末転送サブルーチンが実行されると、図39(A)に示すような通知画面をモニタ34に表示する(シーケンスSQ100)。続いて、ゲーム装置12のCPU40は、対象のコンテンツを配信サーバ104からのダウンロードする(シーケンスSQ102)。その後、ゲーム装置12のCPU40は、探索メッセージを含む無線信号の送信を開始する(シーケンスSQ104)。
一方、携帯ゲーム装置210のCPU231は、携帯端末用配信アプリケーションが実行されると、図40(A)に示すような保存先選択画面を表示する(シーケンスSQ200)。続いて、携帯ゲーム装置210のCPU231は、ユーザ操作に応答して保存先を決定した後、探索メッセージを含む無線信号の送信を開始する(シーケンスSQ204)。
ゲーム装置12と携帯ゲーム装置210との間で、探索メッセージおよびハンドシェイク手続きが完了し、両装置の間で通信が確立する(シーケンスSQ106)と、ゲーム装置12のCPU40は、配信サーバ104から取得したコンテンツを携帯ゲーム装置210へ送信する(シーケンスSQ108)。携帯ゲーム装置210のCPU231は、ゲーム装置12から受信したコンテンツを保存する(シーケンスSQ206)。その後、携帯ゲーム装置210のCPU231は、完了ビーコンをゲーム装置12に向けて送信する(シーケンスSQ210)。その後、携帯ゲーム装置210のCPU231は、完了画面を表示し(シーケンスSQ210)、処理を終了する。
一方、完了ビーコンを受信したゲーム装置12についても、完了画面を表示し(シーケンスSQ110)、処理を終了する。
次に、図43を参照して、上述の図40および図41に示す、携帯用配信アプリケーションの処理手順について説明する。図43に示す各ステップは、携帯ゲーム装置210のCPU231が本実施の形態に従う携帯用配信アプリケーションを実行することで提供される。
図43を参照して、まず、携帯ゲーム装置210のCPU231は、図40(A)に示すようなメニュー画面を表示する(ステップS500)。続くステップS502において、CPU231は、メニュー画面において、「本体側から映像を受信」ボタン602が選択されたか否かを判断する。「本体側から映像を受信」ボタン602が選択された場合(ステップS502においてYESの場合)には、処理はステップS504へ進む。一方、「本体側から映像を受信」ボタン602が選択されていない場合(ステップS502においてNOの場合)には、処理はステップS522へ進む。
ステップS504において、CPU231は、図40(B)に示すようなコンテンツの保存先選択画面を表示する。続くステップS506において、CPU231は、保存先としていずれの記憶媒体が選択されたかを判断する。保存先として携帯ゲーム装置210の保存用データメモリ234が選択された場合(ステップS506において「本体」の場合)には、CPU231は、保存先を保存用データメモリ234にセットする。そして、処理はステップS510へ進む。一方、保存先として携帯ゲーム装置210に装着されたメモリカード228が選択された場合(ステップS506において「メモリカード」の場合)には、CPU231は、保存先をメモリカード228にセットする。続くステップS508において、CPU231は、携帯ゲーム装置210に装着されているメモリカード228が健全であるか否かを判断する。携帯ゲーム装置210に装着されているメモリカード228が健全である場合(ステップS508においてYESの場合)には、処理はステップS510へ進む。一方、携帯ゲーム装置210に装着されているメモリカード228が健全でない場合(ステップS508においてNOの場合)には、処理はステップS504へ戻る。
ステップS510において、CPU231は、通信先のゲーム装置12を探索するために、探索メッセージを含む無線信号を送信する。このとき、CPU231は、図40(C)に示すような、ゲーム装置12を探索中であることを示す画面を表示する。続くステップS512において、CPU231は、通信先のゲーム装置12から探索メッセージを受信したか否かを判断する。通信先のゲーム装置12から探索メッセージを受信していない場合(ステップS512においてNOの場合)には、ステップS512の処理が繰返される。一方、通信先のゲーム装置12から探索メッセージを受信した場合(ステップS512においてYESの場合)には、処理はステップS514へ進む。
ステップS514において、CPU231は、通信先のゲーム装置12からコンテンツをダウンロードする。このとき、CPU231は、図40(D)に示すような、ゲーム装置12からコンテンツを受信中であることを示す画面を表示する。続くステップS516において、CPU231は、コンテンツのダウンロードが完了すると、当該コンテンツを保存先としてセットされている、保存用データメモリ234またはメモリカード228に保存する。さらに続くステップS518において、CPU231は、完了ビーコンをゲーム装置12へ送信する。その後のステップS520において、CPU231は、完了画面を表示する。そして、処理はステップS500へ戻る。
これに対して、ステップS522において、CPU231は、メニュー画面において、「受信した映像を見る」ボタン604が選択されたか否かを判断する。「受信した映像を見る」ボタン604が選択された場合(ステップS522においてYESの場合)には、処理はステップS524へ進む。一方、「受信した映像を見る」ボタン604が選択されていない場合(ステップS522においてNOの場合)には、処理はステップS500へ戻る。
ステップS524において、CPU231は、図41(A)に示すような、いずれの記憶媒体に保存されているコンテンツを再生するかの選択を受付ける画面を表示する。続くステップS526において、CPU231は、いずれの記憶媒体に保存されているコンテンツの再生が選択されたかを判断する。携帯ゲーム装置210の保存用データメモリ234に保存されているコンテンツの再生が選択された場合(ステップS526において「本体」の場合)には、CPU231は、コンテンツの読出先を保存用データメモリ234にセットする。そして、処理はステップS530へ進む。一方、携帯ゲーム装置210に装着されたメモリカード228に保存されているコンテンツの再生が選択された場合(ステップS526において「メモリカード」の場合)には、CPU231は、コンテンツの読出先をメモリカード228にセットする。続くステップS528において、CPU231は、携帯ゲーム装置210に装着されているメモリカード228が健全であるか否かを判断する。携帯ゲーム装置210に装着されているメモリカード228が健全である場合(ステップS528においてYESの場合)には、処理はステップS530へ進む。一方、携帯ゲーム装置210に装着されているメモリカード228が健全でない場合(ステップS528においてNOの場合)には、処理はステップS524へ戻る。
ステップS530において、CPU231は、読出先にコンテンツが存在するか否かを判断する。読出先にコンテンツが存在しない場合(ステップS530においてNOの場合)には、処理はステップS524へ戻る。一方、読出先にコンテンツが存在する場合(ステップS530においてYESの場合)には、処理はステップS532へ進む。
ステップS532において、CPU231は、図41(B)に示すような、再生するコンテンツの種類の選択を受付ける画面を表示する。続くステップS534において、CPU231は、いずれの種類のコンテンツが再生対象として選択されたかを判断する。映像コンテンツが再生対象として選択された場合(ステップS534において「映像」の場合)には、処理はステップS536へ進む。一方、クーポンが再生対象として選択された場合(ステップS534において「クーポン」の場合)には、処理はステップS542へ進む。
ステップS536において、CPU231は、読出先から読出した再生対象の映像コンテンツを読出し、図41(C)に示すような、再生する映像コンテンツの選択を受付ける画面を表示する。続くステップS538において、CPU231は、いずれかのコンテンツが選択されたか否かを判断する。いずれかのコンテンツが選択された場合(ステップS538においてYESの場合)には、処理はステップS540へ進む。一方、いずれかのコンテンツも選択されていない場合(ステップS538においてNOの場合)には、ステップS538の処理が繰返される。
ステップS540において、CPU231は、選択された映像コンテンツを再生する。その後、処理はステップS536へ戻る。
ステップS542において、CPU231は、読出先から読出した再生対象のクーポン動画を読出し、再生するクーポン動画の選択を受付ける画面を表示する。続くステップS544において、CPU231は、いずれかのコンテンツが選択されたか否かを判断する。いずれかのコンテンツが選択された場合(ステップS544においてYESの場合)には、処理はステップS546へ進む。一方、いずれかのコンテンツも選択されていない場合(ステップS544においてNOの場合)には、ステップS544の処理が繰返される。
ステップS546において、CPU231は、選択されたクーポン動画を再生する。このとき、典型的には、クーポン動画の最終フレームにクーポンの内容を示す画像が組込まれているので、この最終フレームの画像が静止表示される。その後、処理はステップS542へ戻る。
なお、映像コンテンツおよび割引クーポンを、いずれも動画コンテンツの形式で配信することで、コンテンツの検索をより容易化することができる。ただし、割引クーポンについては、店頭で提示できる画像が表示されればよいので、動画に代えて、静止画を用いてもよい。静止画を用いることで、ネットワーク負荷を低減することができる。
<カレンダー機能>
次に、図44および図45を用いて、図23のステップS166に示すカレンダーサブルーチンの概要について説明する。
カレンダーサブルーチンが実行されると、ゲーム装置12のCPU40は、まず、図44に示すような週別のカレンダー画面700を表示する。このカレンダー画面700では、1週間分の日付(図44の例では、14日〜20日)が区分して表示される。そして、各日の欄においては、日付702およびその日の予報天気704が表示される。また、各日の欄には、何らかの記念日といった歳時記見出し740が付加される。これらの欄のうち、現時点の日時に対応する欄には、その他の日の欄とは異なる態様で表示される。図44の例では、太枠708が現時点の日時に対応する欄に付加される。
また、各日の欄には、当該日付を対象年月日とされたメッセージが届いている場合には、メッセージが存在していることを通知するアイコン710が表示される。なお、アイコン710には、届いているメッセージの数を示す数字も合わせて表示される。
さらに、カレンダー画面700には、コンテンツ表示欄706が設けられており、各日に対応付けられたコンテンツのサムネイル画像などが表示される。より具体的には、動画などのコンテンツの各々には、選択可能開始日時および選択可能終了日時が定められており、この選択可能開始日時から選択可能終了日時までの間では、ユーザによる当該コンテンツのダウンロードが許可される。なお、各コンテンツの選択可能開始日時が、当該コンテンツの対応付けられる日付となる。このように、それぞれのコンテンツをいずれかの日付に対応付けるとともに、視聴可能な期間を設定することで、その内容に応じた種々の形態でコンテンツの配信を行なうことができる。たとえば、ハロウィンで用いられるジャックランタンの製作方法などを収めたコンテンツを配信する場合には、ハロウィンより前の日から配信を開始するような形態が好ましい。一方、コンテンツの視聴可能な期間を限定することで、ユーザの視聴意欲を高めることもできる。
典型的には、カレンダー画面700では、現時点が選択可能開始日時から選択可能終了日時までの間にある選択可能なコンテンツと、それ以外の選択不能なコンテンツとの間で、対応するサムネイル画像の表示態様を異ならせてもよい。図44に示す例では、コンテンツ表示欄706には、選択可能なコンテンツを示す太枠付のサムネイル画像720、および選択不可能なコンテンツを示す通常のサムネイル画像730を含む。
また、カレンダー画面700の下部には、「前の週」ボタン714および「次の週」ボタン716が表示されており、ユーザがいずれかのボタン714または716を選択すると、カレンダー画面700に表示される日付が1週間単位で変更される。
また、カレンダー画面700の下部には、もどるアイコン718が表示されており、ユーザがこのアイコン718を選択するとメイン画面に戻る。
さらに、ユーザが、カレンダー画面700に表示されるいずれかの日付を選択すると、図45に示すような日別のカレンダー画面750が表示される。このカレンダー画面750では、選択された日付についての歳時記などや、その日に対応付けられたコンテンツなどが表示される。
より具体的には、カレンダー画面750には、日付702およびその日の予報天気704とともに、その日が対象年月日となっているメッセージが存在していれば、そのことを通知するアイコン710が表示される。また、カレンダー画面750には、その日の歳時記の歳時記見出し740が選択可能に表示される。
また、カレンダー画面750には、現時点の日付またはそれ以降の日付が選択されている場合に、「この日にメッセージを送る」ボタン724が選択可能に表示される。このボタン724が選択されると、カレンダー画面750に表示中の日付を対象年月日とするメッセージを作成するための画面が表示される。この機能によれば、たとえば、家族や友人の誕生日などにあわせて、予め発信日(もしくは、受取日)を定めたメッセージを作成および送信しておくことができる。そのため、「この日にメッセージを送る」ボタン724は、現時点の日付より前の日付が選択されている場合には、表示されない。
また、カレンダー画面750には、コンテンツ表示欄756が設けられており、各日に対応付けられたコンテンツのサムネイル画像が表示される。なお、対応付けられたコンテンツの数が所定数より多い場合には、表示切替ボタン752および754が表示される。そして、これらのボタン752または754が選択されると、表示されるコンテンツのサムネイル画像が変更される。
また、カレンダー画面750の下部には、「前の日」ボタン762および「次の日」ボタン764が表示されており、ユーザがいずれかのボタン762または764を選択すると、カレンダー画面750に表示される日付が1日単位で変更される。
また、カレンダー画面750の下部には、もどるアイコン768が表示されており、ユーザがこのアイコン768を選択すると、カレンダー画面700に戻る。
さらに、カレンダー画面750に表示されるいずれかの歳時記見出し740が選択されると、選択された歳時記の詳細な内容を表示する画面(図示しない)に切換わる。なお、この歳時記の詳細な内容を表示する画面には、文章だけではなく、予め設定された画像を表示させることもできる。あるいは、歳時記の詳細な説明は、動画だけであってもよい。
<カレンダー機能におけるデータの遣り取り>
次に、カレンダー機能の実行時における配信システム100でのデータの遣り取りについて説明する。
図46を参照して、カレンダー機能の実行を指示するユーザ操作がなされると(シーケンスSQ300)、ゲーム装置12のCPU40は、カレンダー機能の実行を開始する(シーケンスSQ302)。続いて、ゲーム装置12のCPU40は、配信サーバ104に対して、週別カレンダーデータ要求を送信する(シーケンスSQ304)。この週別カレンダーデータ要求に応答して、配信サーバ104は、週別カレンダーデータをゲーム装置12へ送信する(シーケンスSQ306)。さらに、ゲーム装置12のCPU40は、配信サーバ104に対して、サムネイル画像要求を送信する(シーケンスSQ308)。このサムネイル画像要求に応答して、配信サーバ104は、サムネイル画像をゲーム装置12へ送信する(シーケンスSQ310)。また、ゲーム装置12のCPU40は、メールサーバ102に対して、メールの有無の問合せを行なう(シーケンスSQ312)。この問合せに応答して、メールサーバ102は、メールが存在していれば、当該メールをゲーム装置12に対して送信する(シーケンスSQ314)。
ゲーム装置12のCPU40は、配信サーバ104およびメールサーバ102からのデータダウンロードが完了すると、週別カレンダーデータ、サムネイル画像、およびメッセージに基づいて、週別表示のカレンダーを表示する(シーケンスSQ316)。
その後、ユーザが、週別表示のカレンダーに表示されるいずれかの日付を選択するユーザ操作がなされると(シーケンスSQ318)、ゲーム装置12のCPU40は、配信サーバ104に対して、日別カレンダーデータ要求を送信する(シーケンスSQ320)。この日別カレンダーデータ要求に応答して、配信サーバ104は、日別カレンダーデータをゲーム装置12へ送信する(シーケンスSQ322)。さらに、ゲーム装置12のCPU40は、配信サーバ104に対して、サムネイル画像要求を送信する(シーケンスSQ324)。このサムネイル画像要求に応答して、配信サーバ104は、サムネイル画像をゲーム装置12へ送信する(シーケンスSQ326)。
ゲーム装置12のCPU40は、配信サーバ104からのデータダウンロードが完了すると、日別カレンダーデータおよびサムネイル画像に基づいて、日別表示のカレンダーを表示する(シーケンスSQ328)。
その後、いずれかの歳時記見出しの選択を指示するユーザ操作がなされると(シーケンスSQ330)、ゲーム装置12のCPU40は、選択された歳時記の詳細な内容を画面に表示する(シーケンスSQ332)。
さらに、いずれかの動画のコンテンツの選択を指示するユーザ操作がなされると(シーケンスSQ334)、ゲーム装置12のCPU40は、配信サーバ104に対して、選択されたコンテンツに対応する動画IDを含む配信要求を送信する(シーケンスSQ336)。この配信要求に応答して、配信サーバ104は、自サーバに格納されている指定されたコンテンツのゲーム装置12に対する配信(典型的には、ストリーミング再生)を開始する(シーケンスSQ338)。ゲーム装置12のCPU40は、この配信される動画を生成する(シーケンスSQ340)。
<カレンダーデータのデータ構造>
次に、上述の図46に示すシーケンス図において遣り取りされるカレンダーデータの構造の一例について、図47を参照して説明する。図47(A)は、週別カレンダーデータに含まれる項目の一例を示し、図47(B)は、日別カレンダーデータに含まれる項目の一例を示す。なお、これらの情報は、典型的には、XMLなどのマークアップ言語で記述される。
図47(A)を参照して、週別カレンダーデータは、典型的には、(F1)対象年月日、(F2)曜日、(F3)祝日フラグ、(F4)歳時記見出し、(F5)動画情報、を含む。なお、(F1)〜(F5)の項目は1日分ずつ設定されるため、週別カレンダーデータは、(F1)〜(F5)の項目を7日分含む。
(F1)対象年月日は、格納されている内容を反映する対象となる年月日を示す。(F2)曜日は、対応する(F1)対象年月日の曜日を示す。(F3)祝日フラグは、対応する(F1)対象年月日が祝日であるか否かを示す。(F4)歳時記見出しには、図44に示すカレンダー画面700に表示される歳時記見出し740の内容が格納される。
(F5)動画情報には、図44に示すカレンダー画面700に表示されるコンテンツの情報が格納される。より具体的には、(F5)動画情報は、(F5−1)順番、(F5−2)動画ID、(F5−3)選択可能開始日時、(F5−4)選択可能終了日時、(F5−5)タイトル、を含む。(F5−1)順番には、各日の欄において表示される順番が割当てられる。(F5−2)動画IDは、配信サーバ104内で対象のコンテンツ(動画)を一意に特定するための識別情報である。(F5−3)選択可能開始日時は、対象のコンテンツの視聴(ダウンロード)が許可される始期を示す。(F5−4)選択可能終了日時は、対象のコンテンツの視聴(ダウンロード)が許可される終期を示す。(F5−5)タイトルには、対象の動画のタイトルが格納される。なお、(F5)動画情報は、対象の日に対応付けられるコンテンツの数だけ記述される。
図47(B)を参照して、日別カレンダーデータは、典型的には、(G1)対象年月日、(G2)曜日、(G3)祝日フラグ、(G4)歳時記情報、(G5)動画情報、を含む。(G4)歳時記情報は、対象の日に対応付けられる歳時記の数だけ記述される。同様に、(G5)動画情報についても、対象の日に対応付けられるコンテンツの数だけ記述される。
(G1)対象年月日、(G2)曜日、(G3)祝日フラグについては、図47(A)に示す週別カレンダーデータに含まれる、(F1)対象年月日、(F2)曜日、(F3)祝日フラグとそれぞれ実質的に同一の内容が格納される。
(G4)歳時記情報は、図45に示すカレンダー画面750、およびより詳細な歳時記の内容を示す画面(図示しない)を表示するための情報が格納される。より具体的には、(G4)歳時記情報は、(G4−1)歳時記インデックス、(G4−2)歳時記見出し、(G4−3)歳時記本文、(G4−4)歳時記画像種別、(G4−5)歳時記BGM、を含む。(G4−1)歳時記インデックスは、対象の日における歳時記を特定するための識別番号である。(G4−2)歳時記見出しには、図45に示すカレンダー画面750に表示される歳時記見出し740の内容が格納される。(G4−3)歳時記本文には、より詳細な歳時記の内容を示す文章が格納される。(G4−4)歳時記画像種別には、歳時記の内容とともに表示する画像の有無および表示する際の画像の大きさなどが格納される。(G4−5)歳時記BGMには、歳時記の内容を表示する際のBGMを特定するための識別情報が格納される。
また、(G5)動画情報は、図47(A)に示す週別カレンダーデータに含まれる、(F5)動画情報と実質的に同一の内容が格納される。
<カレンダー機能の処理手順>
次に、図48および図49を参照して、上述の図44および図45に示すカレンダー機能を提供するカレンダーサブルーチン(図23のステップS166の内容)について説明する。図48および図49に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図48および図49を参照して、まず、ゲーム装置12のCPU40は、配信サーバ104から週別カレンダーデータをダウンロードする(ステップS600)。続くステップS602において、CPU40は、ダウンロードした週別カレンダーデータに含まれる動画IDに基づいて、それぞれの動画IDに対応するコンテンツのサムネイル画像をダウンロードする。さらに続くステップS604において、CPU40は、メールサーバ102に問い合わせを行なって、ダウンロードした週別カレンダーデータに含まれる週のいずれかの日が対象年月日に指定されているメッセージをダウンロードする。なお、CPU40は、ダウンロードしてメッセージをフラッシュメモリ44の受信メッセージボックス44bに保存する。
その後、ステップS606において、CPU40は、ダウンロードした、週別カレンダーデータおよびメッセージに基づいて、図44に示すような、週別表示のカレンダーを表示する。続くステップS608において、CPU40は、ROM/RTC48を参照して現在の日時を取得し、ダウンロードした週別カレンダーデータに含まれる(F5)動画情報について、現時点が配信可能期間(選択可能開始日時から選択可能終了日時までの期間)内であるか否かを判断する。現時点が配信可能期間内である場合(ステップS608においてYESの場合)には、処理はステップS610へ進む。一方、現時点が配信可能期間内でない場合(ステップS608においてNOの場合)には、処理はステップS612へ進む。
ステップS610において、CPU40は、対象の(F5)動画情報に対応するサムネイル画像を選択可能なコンテンツであることを示す太枠付で表示する。その後、処理はステップS613へ進む。
ステップS612において、CPU40は、対象の(F5)動画情報に対応するサムネイル画像を選択可能なコンテンツではないことを示す通常形態で表示する。その後、処理はステップS613へ進む。
ステップS613において、CPU40は、ダウンロードした週別カレンダーデータに含まれるすべての(F5)動画情報について、処理が完了したか否かを判断する。ダウンロードした週別カレンダーデータに含まれるすべての(F5)動画情報についての処理が完了していない場合(ステップS613においてNOの場合)には、処理はステップS608以下の処理が繰返される。一方、ダウンロードした週別カレンダーデータに含まれるすべての(F5)動画情報についての処理が完了した場合(ステップS613においてYESの場合)には、処理はステップS614へ進む。なお、この時点で、図44に示すような週別のカレンダー画面700の表示が完了する。
ステップS614において、CPU40は、現在表示中より次の週もしくは前の週が選択されたか否かを判断する。現在表示中より次の週もしくは前の週が選択された場合(ステップS614においてYESの場合)には、ステップS600以下の処理が繰返される。現在表示中より次の週もしくは前の週が選択されていない場合(ステップS614においてNOの場合)には、処理はステップS616へ進む。
ステップS616において、CPU40は、メッセージアイコンが選択されたか否かを判断する。メッセージアイコンが選択された場合(ステップS616においてYESの場合)には、処理はステップS617へ進む。一方、メッセージアイコンが選択されていない場合(ステップS616においてNOの場合)には、処理はステップS620へ進む。
ステップS617において、CPU40は、ROM/RTC48を参照して現在の日時を取得し、現時点が選択されたメッセージアイコンが対応付けられた日付と一致、もしくは当該日付を経過しているか否かを判断する。現時点が選択されたメッセージアイコンが対応付けられた日付と一致、もしくは当該日付を経過している場合(ステップS617においてYESの場合)には、処理はステップS618へ進む。一方、現時点が選択されたメッセージアイコンが対応付けられた日付と一致せず、かつ当該日付を経過していない場合(ステップS617においてNOの場合)には、ステップS618の処理をスキップして、処理はステップS620へ進む。
ステップS618において、CPU40は、フラッシュメモリ44の受信メッセージボックス44bに保存されている内容を選択可能に表示する。すなわち、メールサーバ102を介して、他のゲーム装置12などから送信されたメッセージには、開封指定日として対象年月日が付加されているものがあり、このように開封指定日が指定されているメッセージについては、指定された日付に対応付けて送信メッセージボックス44aに保存される。また、カレンダー画面700においても、指定された日付に対応付けて表示される。このような開封指定日が付加されたメッセージは、典型的には、誕生日や何らかの記念日などの特定の日にメッセージを読んでもらうことを意図したものである。そのため、ゲーム装置12のCPU40は、このように開封指定日が付加されたメッセージについては、その開封指定日が到来するまで、ユーザへの公開を禁止する。すなわち、CPU40は、受信したメッセージに付加されている開封指定日と現時点が一致もしくは現時点が開封指定日を経過している場合に限って、当該メッセージを出力する。そして、処理はステップS620へ進む。
ステップS620において、CPU40は、週別表示のカレンダーに表示されるいずれかのサムネイル画像が選択されたか否かを判断する。いずれかのサムネイル画像が選択された場合(ステップS620においてYESの場合)には、処理はステップS622へ進む。一方、いずれのサムネイル画像も選択されていない場合(ステップS620においてNOの場合)には、処理はステップS626へ進む。
ステップS622において、CPU40は、ROM/RTC48を参照して現在の日時を取得し、選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間(選択可能開始日時から選択可能終了日時までの期間)内であるか否かを判断する。より具体的には、CPU40は、選択されたサムネイル画像に対応付けられている動画IDを特定し、ダウンロードした週別カレンダーデータに記述された当該動画IDに対応する(F5−3)選択可能開始日時および(F5−4)選択可能終了日を取得する。そして、CPU40は、この取得した選択可能開始日時および選択可能終了日時と、現時点(現在の日時)とを比較する。
そして、選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間内である場合(ステップS622においてYESの場合)には、動画再生サブルーチンを実行する(ステップS624)。この動画再生サブルーチンの実行後、処理はステップS614へ戻る。一方、選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間内でない場合(ステップS622においてNOの場合)には、CPU40は、選択されたコンテンツ(動画)の再生を禁止する。そして、処理はステップS626へ進む。
ステップS626において、CPU40は、週別表示のカレンダーに表示されるいずれかの日付が選択されたか否かを判断する。いずれかの日付が選択された場合(ステップS626においてYESの場合)には、処理はステップS628へ進む。一方、いずれの日付も選択されていない場合(ステップS626においてNOの場合)には、処理はステップS662へ進む。
ステップS628において、選択された日付についての日別カレンダーデータをダウンロードする。続くステップS630において、CPU40は、ダウンロードした日別カレンダーデータに含まれる動画IDに基づいて、それぞれの動画IDに対応するコンテンツのサムネイル画像をダウンロードする。
その後、ステップS632において、CPU40は、ダウンロードした、日別カレンダーデータおよびメッセージに基づいて、図45に示すような、日別表示のカレンダーを表示する。続くステップS634においてCPU40は、ROM/RTC48を参照して現在の日時を取得し、ダウンロードした日別カレンダーデータに含まれる(G5)動画情報について、現時点が配信可能期間(選択可能開始日時から選択可能終了日時までの期間)内であるか否かを判断する。現時点が配信可能期間内である場合(ステップS634においてYESの場合)には、処理はステップS636へ進む。一方、現時点が配信可能期間内でない場合(ステップS634においてNOの場合)には、処理はステップS638へ進む。
ステップS636において、CPU40は、対象の(G5)動画情報に対応するサムネイル画像を選択可能なコンテンツであることを示す太枠付で表示する。その後、処理はステップS639へ進む。
ステップS638において、CPU40は、対象の(G5)動画情報に対応するサムネイル画像を選択可能なコンテンツではないことを示す通常形態で表示する。その後、処理はステップS639へ進む。
ステップS639において、CPU40は、CPU40は、ダウンロードした日別カレンダーデータに含まれるすべての(G5)動画情報について、処理が完了したか否かを判断する。ダウンロードした日別カレンダーデータに含まれるすべての(G5)動画情報についての処理が完了していない場合(ステップS639においてNOの場合)には、処理はステップS634以下の処理が繰返される。一方、ダウンロードした日別カレンダーデータに含まれるすべての(G5)動画情報についての処理が完了した場合(ステップS639においてYESの場合)には、処理はステップS640へ進む。なお、この時点で、図45に示すような日別のカレンダー画面750の表示が完了する。
ステップS640において、CPU40は、現在表示中より次の日もしくは前の日が選択されたか否かを判断する。現在表示中より次の日もしくは前の日が選択された場合(ステップS640においてYESの場合)には、ステップS628以下の処理が繰返される。現在表示中より次の日もしくは前の日が選択されていない場合(ステップS640においてNOの場合)には、処理はステップS642へ進む。
ステップS642において、CPU40は、「この日にメッセージを送る」ボタン724が選択されたか否かを判断する。「この日にメッセージを送る」ボタン724が選択された場合(ステップS642においてYESの場合)には、処理はステップS644へ進む。一方、「この日にメッセージを送る」ボタン724が選択されていない場合(ステップS642においてNOの場合)には、処理はステップS646へ進む。
ステップS644において、CPU40は、選択中のカレンダーの日付を対象年月日として、メッセージ作成サブルーチンを実行する。この対象年月日は、作成されるメッセージの開封指定日を示す情報として付加される。このメッセージ作成サブルーチンの実行後、処理はステップS640へ戻る。
ステップS646において、CPU40は、メッセージアイコンが選択されたか否かを判断する。メッセージアイコンが選択された場合(ステップS646においてYESの場合)には、処理はステップS648へ進む。一方、メッセージアイコンが選択されていない場合(ステップS646においてNOの場合)には、処理はステップS652へ進む。
ステップS648において、CPU40は、ROM/RTC48を参照して現在の日時を取得し、現時点が選択されたメッセージアイコンが対応付けられた日付と一致、もしくは当該日付を経過しているか否かを判断する。現時点が選択されたメッセージアイコンが対応付けられた日付と一致、もしくは当該日付を経過している場合(ステップS648においてYESの場合)には、処理はステップS650へ進む。一方、現時点が選択されたメッセージアイコンが対応付けられた日付と一致せず、かつ当該日付を経過していない場合(ステップS648においてNOの場合)には、ステップS650の処理をスキップして、処理はステップS652へ進む。
ステップS650において、CPU40は、フラッシュメモリ44の受信メッセージボックス44bに保存されている内容を選択可能に表示する。そして、処理はステップS652へ進む。
ステップS652において、CPU40は、日別表示のカレンダーに表示されるいずれかのサムネイル画像が選択されたか否かを判断する。いずれかのサムネイル画像が選択された場合(ステップS652においてYESの場合)には、処理はステップS654へ進む。一方、いずれのサムネイル画像も選択されていない場合(ステップS652においてNOの場合)には、処理はステップS658へ進む。
ステップS654において、CPU40は、ROM/RTC48を参照して現在の日時を取得し、選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間(選択可能開始日時から選択可能終了日時までの期間)内であるか否かを判断する。より具体的には、CPU40は、選択されたサムネイル画像に対応付けられている動画IDを特定し、ダウンロードした日別カレンダーデータに記述された当該動画IDに対応する(G5−3)選択可能開始日時および(G5−4)選択可能終了日を取得する。そして、CPU40は、この取得した選択可能開始日時および選択可能終了日時と、現時点(現在の日時)とを比較する。
そして、選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間内である場合(ステップS654においてYESの場合)には、動画再生サブルーチンを実行する(ステップS656)。この動画再生サブルーチンの実行後、処理はステップS658へ進む。選択されたサムネイル画像に対応するコンテンツ(動画)について、現時点がその配信可能期間内でない場合(ステップS654においてNOの場合)には、CPU40は、選択されたコンテンツ(動画)の再生を禁止する。そして、処理はステップS658へ進む。
ステップS658において、CPU40は、日別表示のカレンダーに表示されるいずれかの歳時記見出しが選択されたか否かを判断する。いずれかの歳時記見出しが選択された場合(ステップS658においてYESの場合)には、処理はステップS660へ進む。一方、いずれの歳時記見出しも選択されていない場合(ステップS658においてNOの場合)には、処理はステップS640へ戻る。
ステップS660において、CPU40は、選択された歳時記に対応付けられている画像および/または歳時記本文などに基づいて、より詳細な歳時記を表示する。その後、処理はステップS640へ戻る。
ステップS662において、CPU40は、「もどる」ボタンが選択されたか否かを判断する。「もどる」ボタンが選択された場合(ステップS662においてYESの場合)には、処理はリターンする。一方、「もどる」ボタンが選択されていない場合(ステップS662においてNOの場合)には、処理はステップS614へ戻る。
<カレンダーデータの変形例>
図47(A)に示す週別カレンダーデータでは、(F5−3)選択可能開始日時、および(F5−4)選択可能終了日時に定義される日時に基づいて、ユーザによるコンテンツの配信が許可されるか否かを判断する構成について例示した。
このような構成に代えて、コンテンツの配信が開始される原則の日時と、その日時より前にコンテンツの配信を許可するか否かを示す情報とを用いる構成を採用することもできる。図50には、この発明の実施の形態の変形例に従う週間カレンダーデータのデータ構造の一例を示す。図50に示す週間カレンダーデータは、図47(A)に示す週間カレンダーデータにおいて、(F5−3)選択可能開始日時および(F5−4)選択可能終了日時に代えて、(F5−3’)選択許可フラグを含めるようにしたものである。(F5−3’)選択許可フラグは、(F1)対象年月日である公開開始日より前に対象のコンテンツの配信を許可するか否かのフラグ値を格納する。
より具体的には、いずれかのコンテンツ(もしくは、それを示すサムネイル画像)が選択されると、ゲーム装置12のCPU40は、CPU40は、ROM/RTC48を参照して現在の日時を取得するとともに、対応する週間カレンダーデータを参照する。そして、CPU40は、現時点が(F1)対象年月日より後であるか否かを判断する。現時点が(F1)対象年月日より後である場合には、選択されたコンテンツのダウンロードおよび再生を開始する。一方、現時点が(F1)対象年月日より後でない場合には、ゲーム装置12のCPU40は、(F5−3’)選択許可フラグを参照し、このフラグ値が公開開始日前の配信を許可しているときには、選択されたコンテンツのダウンロードおよび再生を開始する。これに対して、(F5−3’)選択許可フラグに格納されているフラグ値が公開開始日前の配信を許可していないときには、選択されたコンテンツのダウンロードを行なわない。
<検索機能>
次に、図51を参照して、ユーザがコントローラ22を操作して、メイン画面に表示されるテレビオブジェクト512を選択した場合の処理について説明する。図11に示すメイン画面においてテレビオブジェクト512が選択されると、ゲーム装置12のCPU40は、コンテンツ検索サブルーチンを実行することで、図51(A)に示すようなコンテンツ選択画面を表示する。
図51(A)に示すコンテンツ選択画面では、複数のキャラクタが予め定められた挙動をするようなアニメーション表示がなされる。より具体的には、キャラクタ802,804,806,808には、それぞれ「新着コンテンツ表示」、「高満足度コンテンツ表示」、「おすすめコンテンツ表示」、「お気に入りコンテンツ表示」の機能が割当てられており、ユーザがコントローラ22を操作して、いずれかのキャラクタをカーソルなどでポイントすると、その説明が吹き出しオブジェクトとして表示される。さらに、ユーザがコントローラ22を操作して、いずれかのキャラクタを選択すると、対応する機能に応じたコンテンツの一覧が表示される。そして、いずれかのコンテンツが選択されると、図29に示すような動画再生サブルーチンが実行される。
また、図51(A)に示すコンテンツ選択画面では、観葉植物オブジェクト812が選択可能に表示されており、ユーザがコントローラ22を操作して、この観葉植物オブジェクト812を選択すると、図34に示すようなスポンサー選択画面サブルーチンが実行される。
さらに、キャラクタ810には、「コンテンツの検索」の機能が割当てられており、ユーザがコントローラ22を操作して、キャラクタ810を選択すると、図51(B)〜図51(D)に示すようなコンテンツ検索機能を提供する画面が表示される。
すなわち、キャラクタ810が選択されると、ゲーム装置12のCPU40は、図51(B)に示すような、検索キーワード入力画面を表示する。この図51(B)に示す検索キーワード入力画面には、キーワードを入力するための入力ボックス820と、「入力しなおす」ボタン824と、「これで探す」ボタン826とが表示される。さらに、キャラクタに近接した吹き出しオブジェクト822には、「さがす映像のキーワードはこれでいい?」といったメッセージが表示される。
ユーザが入力ボックス820を選択すると、ゲーム装置12のCPU40は、たとえばキーボードライクな文字入力画面を表示する。ユーザは、この文字入力画面に表示されるキーボードのキーに対応するアイコンを順次選択することで、入力ボックス820には文字が入力される。その後、ユーザが「これで探す」ボタン826を選択すると、ゲーム装置12のCPU40は、入力されたメッセージを配信サーバ104へ送信する。一方、ユーザが「入力しなおす」ボタン824が選択すると、ゲーム装置12のCPU40は、入力ボックス820に入力されている文字列をリセットする。
配信サーバ104では、基本的に、自サーバに存在するすべてのコンテンツを検索対象とする。すなわち、配信サーバ104は、いずれかのゲーム装置12からキーワードを受信すると、自サーバに格納されているすべてのコンテンツに対応付けられている動画情報のうち、当該受信したキーワードの全部もしくは一部を含むものを抽出する。さらに、配信サーバ104は、抽出した動画情報に対応する代表的なコンテンツのサムネイル画像および抽出数を示す情報をゲーム装置12へ返答する。この情報を受信したゲーム装置12は、図51(C)に示すような検索結果画面を表示する。
なお、配信サーバ104に対して検索対象のキーワードを送信した後、配信サーバ104から検索結果を受信するまでの間、ゲーム装置12のCPU40は、検索中であることをユーザに通知するために、キャラクタに近接した吹き出しオブジェクトに、「映像を探しているよ。ちょっと待ってね。」といったメッセージを表示してもよい。
図51(C)に示す検索結果画面では、キャラクタに近接した吹き出しオブジェクト830には、「映像が102本見つかったよ」といった、検索の結果ヒットしたコンテンツの数が表示される。同時に、図51(C)に示す検索結果画面では、検索されたコンテンツのうち、ヒット率が相対的に高い動画情報を有するコンテンツのサムネイル画像834(図51(C)の例では、5つのコンテンツ)を表示する。なお、図51(C)に示す検索結果画面には「もっと」ボタン832が表示されており、ユーザがこの「もっと」ボタン832を選択すると、検索されたより多くのコンテンツについてのサムネイル画像が表示される。
なお、配信サーバ104から受信した検索結果がゼロ、すなわち検索対象のキーワードにヒットするコンテンツが見つからなかった場合には、キーワードの再入力を促すメッセージを表示してもよい。たとえば、ゲーム装置12のCPU40は、キャラクタに近接した吹き出しオブジェクトに、「そのキーワードの映像は見つからなかったよ。別のキーワードを試してみてね。」といったメッセージを表示する。
図51(C)に示す検索結果画面において、ユーザがいずれかのサムネイル画像を選択すると、ゲーム装置12のCPU40は、図51(D)に示す再生確認画面を表示する。この図51(D)に示す再生確認画面では、選択されたサムネイル画像840が拡大表示されるとともに、そのコメントが吹き出しオブジェクト842として表示される(図51(D)に示す例では、「AAAの秘密!」)。また、図51(D)に示す再生確認画面では、「これを観る」ボタン844も表示されており、ユーザがこの「これを観る」ボタン844を選択すると、選択中のコンテンツの再生が開始される。
<検索機能におけるデータの遣り取り>
次に、図52を参照して、上述の図51に示す検索機能におけるデータの遣り取りについて説明する。
図52を参照して、検索機能の実行を指示するユーザ操作がなされると(シーケンスSQ400)、ゲーム装置12のCPU40は、検索機能の実行を開始する(シーケンスSQ402)。続いて、検索対象のキーワードを入力するユーザ操作がなされると(シーケンスSQ404)、ゲーム装置12のCPU40は、入力されたキーワードを受付ける(シーケンスSQ406)。さらに、検索開始を指示するユーザ操作がなされると(シーケンスSQ408)、ゲーム装置12のCPU40は、配信サーバ104に対して、入力されたキーワードを送信する(シーケンスSQ410)。
この送信されたキーワードに応答して、配信サーバ104は、自サーバに格納されているそれぞれのコンテンツに対応付けられた動画情報に対して、キーワードに基づく検索処理を実行する(シーケンスSQ412)。そして、配信サーバ104は、検索処理によって抽出された検索結果および当該検索結果に含まれるサムネイル画像をゲーム装置12へ送信する(シーケンスSQ414)。
ゲーム装置12のCPU40は、配信サーバ104から受信した検索結果およびサムネイル画像に基づいて、図51(C)に示すような検索結果を表示する(シーケンスSQ416)。その後、検索されたより多くのコンテンツを要求するユーザ操作がなされると(シーケンスSQ418)、ゲーム装置12のCPU40は、配信サーバ104に対して、更新要求を送信する(シーケンスSQ420)。この更新要求に応答して、配信サーバ104は、抽出した検索結果のうち、未だ送信していないサムネイル画像をゲーム装置12へ送信する(シーケンスSQ422)。ゲーム装置12のCPU40は、配信サーバ104から受信した新たなサムネイル画像に基づいて、検索結果の表示を更新する(シーケンスSQ424)。
さらに、いずれかの動画のコンテンツの選択を指示するユーザ操作がなされると(シーケンスSQ426)、ゲーム装置12のCPU40は、配信サーバ104に対して、選択されたコンテンツに対応する動画IDを含む配信要求を送信する(シーケンスSQ428)。この配信要求に応答して、配信サーバ104は、自サーバに格納されている指定されたコンテンツのゲーム装置12に対する配信(典型的には、ストリーミング再生)を開始する(シーケンスSQ430)。ゲーム装置12のCPU40は、この配信される動画を生成する(シーケンスSQ432)。
<検索機能の処理手順>
次に、図53および図54を参照して、上述の図51に示す検索機能を提供するコンテンツ検索カレンダーサブルーチン(図23のステップS170の内容)について説明する。図53および図54に示す各ステップは、ゲーム装置12のCPU40が本実施の形態に従うコンテンツ配信アプリケーションを実行することで提供される。
図53および図54を参照して、まず、ゲーム装置12のCPU40は、図51(A)に示すコンテンツ選択画面にキャラクタを表示するためのデータを配信サーバ104からダウンロードする(ステップS700)。続くステップS702において、CPU40は、ダウンロードした各キャラクタに関連付けて表示するサムネイル画像を配信サーバ104からダウンロードする。すなわち、CPU40は、図51(A)に示すコンテンツ選択画面に表示される、「新着コンテンツ」、「高満足度コンテンツ」、「おすすめコンテンツ」、「お気に入りコンテンツ」をそれぞれ代表するサムネイル画像を取得する。その後、ステップS704において、CPU40は、図51(A)に示すコンテンツ選択画面をモニタ34に表示する。そして、処理はステップS706へ進む。
ステップS706において、CPU40は、図51(A)に示すコンテンツ選択画面上のいずれかのキャラクタがポイントされたか否かを判断する。コンテンツ選択画面上のいずれかのキャラクタがポイントされた場合(ステップS706においてYESの場合)には、処理はステップS708へ進む。一方、コンテンツ選択画面上のいずれかのキャラクタもポイントされていない場合(ステップS706においてNOの場合)には、処理はステップS710へ進む。
ステップS708において、CPU40は、ポイントされたキャラクタに対応する説明を含む吹き出しオブジェクトをモニタ34に表示する。その後、処理はステップS710へ進む。
ステップS710において、CPU40は、「新着コンテンツ」に関連付けられているキャラクタ802が選択されたか否かを判断する。「新着コンテンツ」に関連付けられているキャラクタ802が選択された場合(ステップS710においてYESの場合)には、CPU40は、「新着コンテンツ」として登録されているコンテンツを一覧表示する(ステップS712)。なお、この「新着コンテンツ」として登録されているコンテンツの情報は、適宜のタイミングで配信サーバ104からダウンロードされる。そして、処理は、ステップS726へ進む。
一方、「新着コンテンツ」に関連付けられているキャラクタ802が選択されていない場合(ステップS710においてNOの場合)には、CPU40は、「高満足度コンテンツ」に関連付けられているキャラクタ802が選択されたか否かを判断する(ステップS714)。「高満足度コンテンツ」に関連付けられているキャラクタ802が選択された場合(ステップS714においてYESの場合)には、CPU40は、「高満足度コンテンツ」として登録されているコンテンツを一覧表示する(ステップS716)。そして、処理は、ステップS726へ進む。
一方、「高満足度コンテンツ」に関連付けられているキャラクタ802が選択されていない場合(ステップS714においてNOの場合)には、CPU40は、「おすすめコンテンツ」に関連付けられているキャラクタ802が選択されたか否かを判断する(ステップS718)。「おすすめコンテンツ」に関連付けられているキャラクタ802が選択された場合(ステップS718においてYESの場合)には、CPU40は、「おすすめコンテンツ」として登録されているコンテンツを一覧表示する(ステップS720)。そして、処理は、ステップS726へ進む。
一方、「おすすめコンテンツ」に関連付けられているキャラクタ802が選択されていない場合(ステップS718においてNOの場合)には、CPU40は、「お気に入りコンテンツ」に関連付けられているキャラクタ802が選択されたか否かを判断する(ステップS722)。「お気に入りコンテンツ」に関連付けられているキャラクタ802が選択された場合(ステップS722においてYESの場合)には、CPU40は、「お気に入りコンテンツ」として登録されているコンテンツを一覧表示する(ステップS724)。そして、処理は、ステップS726へ進む。
一方、「お気に入りコンテンツ」に関連付けられているキャラクタ802が選択されていない場合(ステップS722においてNOの場合)には、処理はステップS730へ進む。
ステップS726において、CPU40は、表示されているコンテンツの一覧のうち、いずれかのコンテンツが選択されたか否かを判断する。表示されているコンテンツの一覧のうち、いずれかのコンテンツも選択されていない場合(ステップS726においてNOの場合)には、ステップS726以下の処理が繰返される。
一方、表示されているコンテンツの一覧のうち、いずれかのコンテンツが選択された場合(ステップS726においてYESの場合)には、CPU40は、選択されたコンテンツを再生するために、動画再生サブルーチンを実行する(ステップS728)。この動画再生サブルーチンの実行後、処理はステップS706へ戻る。
これに対して、ステップS730において、CPU40は、観葉植物オブジェクト812が選択されたか否かを判断する。観葉植物オブジェクト812が選択された場合(ステップS730においてYESの場合)には、CPU40は、スポンサー選択画面サブルーチンを実行する(ステップS732)。スポンサー選択画面サブルーチンの実行後、処理はステップS706へ戻る。
一方、観葉植物オブジェクト812が選択されていない場合(ステップS730においてNOの場合)には、CPU40は、「コンテンツの検索」に関連付けられているキャラクタ810が選択されたか否かを判断する(ステップS734)。「コンテンツの検索」に関連付けられているキャラクタ810が選択されていない場合(ステップS734においてNOの場合)には、処理はステップS706へ戻る。
一方、「コンテンツの検索」に関連付けられているキャラクタ810が選択された場合(ステップS734においてYESの場合)には、CPU40は、図51(B)に示すような検索キーワード入力画面を表示する(ステップS736)。続くステップS738において、CPU40は、検索キーワード入力画面に対して何らかのキーワードが入力されたか否かを判断する。検索キーワード入力画面に対して何らかのキーワードが入力されていない場合(ステップS738においてNOの場合)には、ステップS738の処理が繰返される。
一方、検索キーワード入力画面に対して何らかのキーワードが入力された場合(ステップS738においてYESの場合)には、CPU40は、入力されたキーワードをバッファに格納する(ステップS740)。続くステップS742において、CPU40は、図51(B)に示すような検索キーワード入力画面の「入力しなおす」ボタン824が選択されたか否かを判断する。「入力しなおす」ボタン824が選択された場合(ステップS742においてYESの場合)には、CPU40は、バッファに格納されているキーワードをリセットする(ステップS744)。その後、処理はステップS738へ戻る。
一方、「入力しなおす」ボタン824が選択されていない場合(ステップS742においてNOの場合)には、CPU40は、図51(B)に示す検索キーワード入力画面の「これで探す」ボタン826が選択されたか否かを判断する(ステップS746)。「これで探す」ボタン826が選択されていない場合(ステップS746においてNOの場合)には、処理はステップS738へ戻る。
これに対して、「これで探す」ボタン826が選択された場合(ステップS746においてYESの場合)には、CPU40は、バッファに格納されているキーワードを配信サーバ104へ送信する(ステップS747)。続くステップS748において、CPU40は、配信サーバ104から検索結果およびサムネイル画像を受信したか否かを判断する。配信サーバ104から検索結果およびサムネイル画像を受信していない場合(ステップS748においてNOの場合)には、ステップS748の処理が繰返される。
一方、配信サーバ104から検索結果およびサムネイル画像を受信した場合(ステップS748においてYESの場合)には、CPU40は、配信サーバ104から受信した検索結果およびサムネイル画像に基づいて、図51(C)に示すような検索結果を表示する(ステップS750)。続くステップS752において、CPU40は、図51(C)に示すような検索結果画面の「もっと」ボタン832が選択されたか否かを判断する(ステップS752)。「もっと」ボタン832が選択されていない場合(ステップS752においてNOの場合)には、処理はステップS760へ戻る。
これに対して、「もっと」ボタン832が選択された場合(ステップS752においてYESの場合)には、CPU40は、検索結果を更新するための更新要求を配信サーバ104へ送信する(ステップS754)。続くステップS756において、CPU40は、配信サーバ104から新たなサムネイル画像を受信したか否かを判断する。配信サーバ104から新たなサムネイル画像を受信していない場合(ステップS756においてNOの場合)には、ステップS756の処理が繰返される。
一方、配信サーバ104から新たなサムネイル画像を受信した場合(ステップS756においてYESの場合)には、CPU40は、配信サーバ104から受信した新たなサムネイル画像に基づいて、図51(C)に示すような検索結果を更新する(ステップS758)。その後、処理はステップS760へ戻る。
ステップS760において、CPU40は、検索結果として表示されているコンテンツの一覧のうち、いずれかのコンテンツが選択されたか否かを判断する。いずれかのコンテンツも選択されていない場合(ステップS760においてNOの場合)には、ステップS760以下の処理が繰返される。
一方、いずれかのコンテンツが選択された場合(ステップS760においてYESの場合)には、CPU40は、選択されたコンテンツについて、図51(D)に示すような再生確認画面を表示する(ステップS762)。続くステップS764において、CPU40は、51(D)に示すような再生確認画面の「これを観る」ボタン844が選択されたか否かを判断する。「これを観る」ボタン844が選択されていない場合(ステップS764においてNOの場合)には、処理はステップS764へ戻る。
一方、「これを観る」ボタン844が選択された場合(ステップS764においてYESの場合)には、CPU40は、選択されたコンテンツを再生するために、動画再生サブルーチンを実行する(ステップS766)。この動画再生サブルーチンの実行後、処理はステップS706へ戻る。
<その他の形態>
上述の実施の形態においては、本発明に係る情報処理装置の代表例として、ゲーム装置12および携帯ゲーム装置210について例示したが、これに限定されることはない。すなわち、本発明に係るプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。