JP2008176728A - 表示制御装置および表示制御プログラム - Google Patents

表示制御装置および表示制御プログラム Download PDF

Info

Publication number
JP2008176728A
JP2008176728A JP2007011782A JP2007011782A JP2008176728A JP 2008176728 A JP2008176728 A JP 2008176728A JP 2007011782 A JP2007011782 A JP 2007011782A JP 2007011782 A JP2007011782 A JP 2007011782A JP 2008176728 A JP2008176728 A JP 2008176728A
Authority
JP
Japan
Prior art keywords
display
group
area
news
display control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007011782A
Other languages
English (en)
Other versions
JP5183071B2 (ja
Inventor
Koichi Kawamoto
浩一 河本
Satoru Takahata
悟 高畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2007011782A priority Critical patent/JP5183071B2/ja
Priority to US11/723,971 priority patent/US9092894B2/en
Priority to EP07006039A priority patent/EP1947553A1/en
Publication of JP2008176728A publication Critical patent/JP2008176728A/ja
Application granted granted Critical
Publication of JP5183071B2 publication Critical patent/JP5183071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行う。
【解決手段】ゲーム装置は、地図上のニュース地点に関連付けられたニュース情報のデータを複数のニュース地点について記憶している。ゲーム装置は、各ニュース地点をグループに区分し、グループ毎に判定領域を設定する。さらに、ゲーム装置は、ユーザから表示領域上における位置を指定する入力を受け付ける。指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる1以上のニュース地点に関連付けられたニュース情報が表示装置に表示される。
【選択図】図12

Description

本発明は、表示制御プログラムおよび表示制御装置に関し、より特定的には、地図等の仮想空間と、当該仮想空間における所定地点に関連付けられた情報(例えばニュース)とを表示装置に表示させる表示制御プログラムおよび表示制御装置に関する。
特許文献1には、映像・文字ニュースをユーザに提供するためのシステムが記載されている。このシステムにおけるニュースデータベースサーバには、映像データベース部、ニュースデータベース部、地図データベース部を備えるデータベース記憶部が設けられる。地図データベース部には、地図画像データ、地図座標データおよび固有の地点記号が関連付けられて記憶されている。映像データベース部には、ニュース地点の座標に対応する地点記号と関連付けられて映像情報が記憶されている。ニュースデータベース部には、ニュース情報や宣伝用に作成した文書による情報が、地点記号と関連付けられて記憶されている。
ユーザは、端末において地図画像上の所望の地点をクリックしてその地点に係る固有の地点記号を入力することによって、データベースサーバへアクセスする。このアクセスに応じて、検索画面および地図画像情報がサーバから端末へ送信され表示される。データベースサーバは、地点記号に基づいて映像データベース部およびニュースデータベース部を検索して、映像情報、文字情報を呼び出し、端末に対して表示可能とする。このように、上記システムにおいては、地図画像から地点を選択することによって、その地点における映像・文字ニュースにアクセスすることができる。
特開2002−117034号公報
特許文献1に記載のシステムでは、ユーザは、情報(映像情報および文字情報)を取得する場合、その情報が関連付けられている地点を地図画像上において選択(クリック)しなければならない。このような選択方法では、地図表示の縮尺の変化に対応することが難しいという問題がある。すなわち、例えば縮尺の大きい地図が表示される場合には各地点が表示される距離が短くなるので、複数の地点が近接して表示されることになり、その結果、所望の地点を選択することが難しくなる。このように、特許文献1に記載されている地点の選択方法では、地図表示の縮尺を変化させた場合に地点の選択がユーザにとって難しくなるという問題がある。
それ故、本発明の目的は、地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行うことができるインターフェースを実現する表示制御プログラムおよび表示制御装置を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、仮想空間(地図51)と表示情報(ニュース情報)とを表示装置(テレビ2)に表示させる表示制御装置(ゲーム装置3)のコンピュータ(CPU10等)で実行される表示制御プログラムである。表示制御装置は、複数の表示情報を仮想空間内の地点(ニュース地点)に関連付けて記憶する記憶手段(メインメモリ13)を備えている。表示制御プログラムは、表示位置比較ステップ(S37)と、グループ設定ステップ(S35,S39)と、領域設定ステップ(S24)と、第1表示制御ステップ(S59およびS13)と、第1入力受付ステップ(S3およびS4)と、第2表示制御ステップ(S67およびS13、または、S10およびS13)とをコンピュータに実行させる。表示位置比較ステップにおいて、コンピュータは、複数の表示情報が関連付けられた地点の表示装置の表示領域上での位置を比較する。グループ設定ステップにおいて、コンピュータは、表示位置比較ステップにおける比較結果に基づいて、地点同士の間隔が所定の第1の基準より近い表示情報同士によるグループを設定し、複数の表示情報を複数のグループにグループ化する。領域設定ステップにおいて、コンピュータは、表示領域上でグループそれぞれに対応する領域である判定領域を設定する。第1表示制御ステップにおいて、コンピュータは、仮想空間の画像を表示装置に表示させる。第1入力受付ステップにおいて、コンピュータは、ユーザから表示領域上における位置を指定する入力を受け付ける。第2表示制御ステップにおいて、コンピュータは、当該指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報を、記憶手段に記憶されているデータを用いて表示装置に表示させる。
第2の発明においては、グループ設定ステップにおいて、コンピュータは、グループが設定されていない所定の表示情報に関して1つのグループを新規に設定し、表示領域上において、当該表示情報に関連付けられた地点からの距離が所定距離(r2)よりも短い地点に関連付けられた表示情報を当該グループにさらに含める処理を、グループが設定されていない表示情報が存在しなくなるまで繰り返すことによってグループ化を行ってもよい。
第3の発明においては、記憶手段には、それぞれの地点の表示領域上の位置に対して判定領域を設定するための所定の第2の基準がさらに記憶されていてもよい。このとき、グループ設定ステップにおいて、コンピュータは、第2の基準に基づいて所定距離を設定する。領域設定ステップにおいて、コンピュータは、グループに含まれる所定の1つの表示情報が関連付けられた地点に対する判定領域を第2の基準に基づいて設定して、当該グループに対応する判定領域とする。
第4の発明においては、判定領域は、その半径が第1の長さ(r1)の円形領域であってもよい。このとき、記憶手段は、当該第1の長さを所定の第2の基準として記憶する。グループ設定ステップにおいて、コンピュータは、所定距離を、第1の長さの2倍の長さとする。
第5の発明において、判定領域は、地点の表示領域上における位置を中心とする円形領域であってもよい。
第6の発明においては、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点をすべて含む領域を、当該グループに対応する判定領域として設定してもよい。
第7の発明においては、記憶手段には、それぞれの地点の表示領域上の位置に対して領域を設定するための所定の第2の基準がさらに記憶されていてもよい。このとき、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点のそれぞれに関して領域を第2の基準に基づいて設定し、当該設定された各領域を全て含む領域を当該グループに対応する判定領域として設定する。
第8の発明においては、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点の表示位置に基づいて表示領域上の位置を算出し、算出された位置を含む領域を、当該グループに対応する判定領域として設定してもよい。
第9の発明においては、第1表示制御ステップにおいて、コンピュータは、グループを表す画像を、当該グループに対応する判定領域の位置に関連付けて仮想空間の画像とともに表示させてもよい。
第10の発明においては、第2表示制御ステップにおいて、コンピュータは、指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報の一覧を表示させてもよい。
第11の発明においては、表示制御ステップは、第2入力受付ステップ(S3およびS4)と、第3表示制御ステップ(S10およびS13)とをコンピュータにさらに実行させてもよい。第2入力受付ステップにおいて、コンピュータは、第2表示制御ステップにおいて表示される表示情報の一覧(71)から所定の表示情報を選択する入力を受け付ける。第3表示制御ステップにおいて、コンピュータは、第2入力受付ステップにおいて表示情報が選択された場合、当該選択された表示情報をさらに表示装置に表示させる。
第12の発明においては、仮想空間は3次元空間であってもよい。このとき、表示制御プログラムは、カメラ設定ステップ(S21)と、表示位置算出ステップ(S36)とをコンピュータにさらに実行させる。カメラ設定ステップにおいて、コンピュータは、3次元空間内に配置される仮想カメラの位置、姿勢、および視野角の少なくとも1つを変更可能に設定する。表示位置算出ステップにおいて、コンピュータは、仮想カメラの設定に基づいて地点の表示位置を算出する。このとき、グループ設定ステップにおいて、コンピュータは、表示位置算出ステップにおいて算出された表示位置に基づいてグループを設定する。第1表示制御ステップにおいて、コンピュータは、仮想カメラの設定に基づいて3次元空間の画像を生成して表示装置に表示させる。
第13の発明においては、仮想空間は2次元空間であってもよい。このとき、表示制御プログラムは、2次元空間のうちで表示すべき領域の大きさを変更可能に設定する表示設定ステップをコンピュータにさらに実行させる。第1表示制御ステップにおいて、コンピュータは、表示設定ステップにおいて設定された領域内の画像を表示装置に表示させる。
なお、本発明は、上記各ステップを実行する表示制御装置と同等の機能を有する表示制御装置の形態で提供されてもよい。さらに、本発明は、表示制御装置(ゲーム装置3)と、当該表示制御装置と通信可能なサーバとを含むデータ配信システムの形態で提供されてもよい。このとき、サーバは、複数の表示情報を仮想空間内の地点に関連付けた配信データを表示制御装置へ送信する。また、表示制御装置は、サーバから送信されてくる配信データを記憶する記憶手段を有する。
第1の発明によれば、近接して表示される複数の地点に関連付けられた表示情報は1つのグループに区分され、グループ毎に判定領域が設定される。さらに、ユーザが判定領域内の位置を指定する入力を行った場合、当該判定領域に対応するグループに含まれる表示情報が表示される。これによれば、ユーザが位置の指定を行って1つのグループを選択した場合には、近接して表示される複数の地点のすべてが指定されたこととなる。その結果、当該複数の地点に関連付けられる表示情報はすべて表示される。したがって、第1の発明によれば、意図しない地点を指定してしまったために、所望でない表示情報のみが表示されてしまうことがなく、地点に関連付けられた表示情報の選択を容易に行うことができる。
第2の発明によれば、所定の表示情報に関してグループが設定され、当該所定の表示情報に近い地点に関連付けられた表示情報が同じグループに含められることになる。これによって、当該所定の表示情報が関連付けられた地点から所定距離以内の地点に関連付けられた表示情報が1つのグループに区分される。したがって、グループに含まれる表示情報が関連付けれる地点の範囲が必要以上に大きくなることがなく、グループを適切に設定することができる。
第3の発明によれば、各グループについて同じ第2の基準に基づいて判定領域が設定されるので、各判定領域の形状や大きさが同じになる。これによって、ユーザにとっては判定領域を指定しやすく、操作性の良い入力操作を提供することができる。
第4の発明によれば、別々のグループに対して設定される判定領域同士が重複することはないので、判定領域を適切に設定することができる。
第5の発明によれば、判定領域の形状を円形とすることで、ある位置が領域内に含まれるか否かの判定を容易に行うことができる。
第6の発明によれば、グループに含まれる各表示情報に関連付けられた各所定地点が判定領域に含まれるので、各地点を指定すれば確実にそれに対応する判定領域が指定できることになる。したがって、ユーザにとっては判定領域を指定しやすく、操作性の良い入力操作を提供することができる。
第7の発明によれば、表示情報毎に領域が設定され、判定領域は、グループに含まれる各表示情報に設定された領域を全て含むように設定される。したがって、ユーザは、グループに含まれる表示情報に設定された領域を指定すれば確実に判定領域を指定できるので、判定領域を容易かつ確実に指定することができ、ユーザにとって操作性の良い入力操作を提供することができる。
第8の発明によれば、グループに含まれる全ての表示情報に対応する各地点の位置を考慮して判定領域が決められるので、適切な位置に判定領域を設定することができる。
第9の発明によれば、グループを表す画像が当該グループに対応する判定領域の位置に関連付けて表示されるので、ユーザは、設定されたグループを容易に把握することができる。
第10の発明によれば、ユーザによってグループが選択された場合、当該グループに含まれる表示情報の一覧が表示される。したがって、ユーザは、選択したグループ内の表示情報を一目で把握することができる。
第11の発明によれば、ユーザは、表示情報の一覧が表示された段階でさらに表示情報を選択することができ、表示情報を選択することによってさらなる情報(例えば、より詳細な情報)を見ることができる。このように、段階的に表示情報を提示することによって、ユーザにとっては所望の表示情報をより探しやすくなる。
第12の発明によれば、3次元の地図画像に対して拡大・縮小が行われたり俯角が変化したりすることによって、地図上の所定地点間の距離が変更された場合でも、リアルタイムに適切なグループを設定することができる。
第13の発明によれば、2次元の地図画像に対して拡大・縮小が行われることによって、地図上の所定値点間の距離が変更された場合でも、リアルタイムに適切なグループを設定することができる。
(ゲームシステムの全体構成)
図1を参照して、本発明の一実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、コントローラ5、およびセンサバー6を含む。本システムは、コントローラ5を用いたゲーム操作に基づいてゲーム装置3でゲーム処理を実行するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、家庭用テレビジョン受像機等の表示装置である。テレビ2は、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ2の画面の周辺(図1では画面の上側)には、センサバー6が設置される。センサバー6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6Rおよび6Lは、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。センサバー6はゲーム装置3に接続されており、ゲーム装置3はセンサバー6が備える各赤外LEDの点灯を制御することが可能である。
コントローラ5は、自機に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。コントローラ5とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。
(ゲーム装置3の内部構成)
次に、図2を参照して、ゲーム装置3の構成について説明する。なお、図2は、ゲーム装置3の機能ブロック図である。
図2において、ゲーム装置3は、各種プログラムを実行する、例えばCPU(セントラルプロセッシングユニット)10を備える。CPU10は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ13等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU10には、メモリコントローラ11を介して、GPU(Graphics Processing Unit)12、メインメモリ13、DSP(Digital Signal Processor)14、およびARAM(Audio RAM)15が接続される。また、メモリコントローラ11には、所定のバスを介して、通信ユニット16、ビデオI/F(インターフェース)17、フラッシュメモリ18、LED制御部19、オーディオI/F20、およびディスクI/F21が接続されている。ビデオI/F(インターフェース)17はテレビ2に、LED制御部19はセンサバー6に、オーディオI/F20はテレビ2に搭載されるスピーカ2aおよびディスクドライブ22に、ディスクI/F21はディスクドライブ22に、それぞれ接続されている。
GPU12は、CPU10の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU12は、図示しない画像処理専用のメモリやメインメモリ13の一部の記憶領域を用いて画像処理を行う。GPU12は、当該画像処理によってテレビ2に表示すべきゲーム画像データやムービー映像を生成し、メモリコントローラ11およびビデオI/F17を介してテレビ2に適宜出力する。
メインメモリ13は、CPU10で使用される記憶領域であって、CPU10の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ13は、CPU10によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ13に記憶されたゲームプログラムがCPU10によって実行される。
DSP14は、ゲームプログラム実行時にCPU10において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM15が接続される。ARAM15は、DSP14が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP14は、ARAM15に記憶されたサウンドデータを読み出し、メモリコントローラ11およびオーディオI/F20を介してスピーカ2aに出力させる。
メモリコントローラ11は、データ転送を統括的に制御するものであり、上述した通信ユニット16、フラッシュメモリ18、LED制御部19、各種I/F17,20および21、ならびにネットワーク通信部23が接続される。
通信ユニット16は、ゲーム装置3とコントローラ5との間のデータの送受信を行う。コントローラ5は、自機に対する操作内容を示す操作データをゲーム装置3へ送信する。通信ユニット16は、コントローラ5から操作データを受信し、受信した操作データをメモリコントローラ11を介してCPU10へ出力する。CPU10は、上記操作データに応じてゲーム処理を実行する。また、コントローラ5の動作を制御するための制御データがコントローラ5へ送信される場合、当該制御データは通信ユニット16へ出力される。通信ユニット16は、入力された制御データをコントローラ5へ送信する。
ビデオI/F17には、テレビ2が接続され、GPU12によって生成された画像データは、ビデオI/F17を介してテレビ2へ出力される。フラッシュメモリ18は、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能する。ゲーム装置3は、フラッシュメモリ18に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をテレビ2に表示することができる。LED制御部19にはセンサバー6が備える赤外LEDが接続される。CPU10は、当該赤外LEDを点灯させる場合、LED制御部19に給電指示を行う。給電指示に従ってLED制御部19が赤外LEDに給電を行うことによって、赤外LEDが点灯する。本実施形態では、少なくともゲームプログラムの実行が開始されている間は赤外LEDが点灯される。オーディオI/F20にはテレビ2に内蔵されるスピーカ2aが接続され、DSP14がARAM15から読み出したサウンドデータや、ディスクドライブ22から直接出力されるサウンドデータがスピーカ2aから出力される。ディスクI/F21には、ディスクドライブ22が接続される。ディスクドライブ22は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ディスクI/F21やオーディオI/F20に出力する。
ネットワーク通信部23は、無線LANに接続する機能を有しており、インターネット等のネットワーク24に接続されている。ゲーム装置3は、ネットワーク通信部23を介して外部から後述するニュースデータやゲームプログラムや種々のデータを取得したり、外部へデータを送信したりすることが可能である。
(コントローラ5の構成)
次に、図3〜図6を参照して、コントローラ5について説明する。図3および図4は、コントローラ5の外観構成を示す斜視図である。図3は、コントローラ5の上側後方から見た斜視図であり、図4は、コントローラ5を下側前方から見た斜視図である。
図3および図4において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザ(プレイヤ)は、コントローラ5を用いることによって、それに設けられたボタンを押下すること、および、コントローラ5自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
ハウジング31には、複数の操作ボタンが設けられる。図3に示すように、ハウジング31の上面には、十字キー32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。一方、図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源32hは、その上面がハウジング31の上面に埋没している。これによって、ユーザがホームボタン32fまたは電源32hを誤って押下することを防止することができる。
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器(例えば、他のコントローラ)を接続するために利用される。
ハウジング31上面の後方には複数(図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
また、コントローラ5は撮像情報演算部35(図5B)を有しており、図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ49(図5A)からの音を外部に放出するための音抜き孔31aが形成されている。
次に、図5Aおよび図5Bを参照して、コントローラ5の内部構造について説明する。図5Aおよび図5Bは、コントローラ5の内部構造を示す図である。なお、図5Aは、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図5Bは、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図5Bに示す斜視図は、図5Aに示す基板30を裏面から見た斜視図となっている。
図5Aにおいて、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ49等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図5B参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、無線モジュール44(図6)およびアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。
一方、図5Bにおいて、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ48が設けられている。バイブレータ48は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ48が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ48は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ48がコントローラ5の中心よりも端側に配置することによって、バイブレータ48の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図5Aおよび図5Bに示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ49に音声信号を出力するアンプ等を備えている。
なお、図3〜図5A、図5Bに示したコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
図6は、コントローラ5の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、コネクタ33、撮像情報演算部35、通信部36、および加速度センサ37を備えている。コントローラ5は、自機の姿勢に応じたデータを操作データとしてゲーム装置3へ送信するものである。
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を示すデータを通信部36のマイコン42へ出力する。
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、3軸または2軸の加速度センサは、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能である種類のものでもよい。
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系における3次元のベクトルとして表される。加速度センサ37が検出した加速度(加速度ベクトル)を示すデータ(加速度データ)は、通信部36へ出力される。
なお、後述する本実施形態における処理では、上記加速度センサ37から出力されるデータは使用しないので、コントローラ5は、加速度センサ37を有しない構成であってもよい。
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、テレビ2の表示画面近傍に配置されるセンサバー6のマーカ6Rおよび6Lは、テレビ2の前方に向かって赤外光を出力する赤外LEDで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、マーカ6Rおよび6Lの画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象(マーカ6Rおよび6L)の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(姿勢)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。なお、他の実施形態では、コントローラ5は、マーカ座標を算出するために必要なデータ(例えば、撮像画像のデータ)をゲーム装置3へ送信し、ゲーム装置3が当該データに基づいてマーカ座標を算出するようにしてもよい。
通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。
操作部32、撮像情報演算部35、および加速度センサ37からマイコン42へ出力されたデータは、一時的にメモリ43に格納される。これらのデータは、上記操作データとしてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3の通信ユニット16への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側の通信ユニット16で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部36から通信ユニット16への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で各操作データをゲーム装置3の通信ユニット16へ出力する。
上記コントローラ5を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5によって画面上の任意の位置を指示する操作を行うことができる。
図7を参照して、上記ゲーム装置に対する操作の例について説明する。図7は、ユーザがコントローラ5を用いて操作を行うときの様子を示す図解図である。本実施形態では、ユーザは、図7に示すように、コントローラ5によってテレビ2の画面上の位置Pを指し示す操作を行う。ここで、位置Pは、コントローラ5によって指し示される画面上の位置であり、理想的には、コントローラ5の前端部から上記長手方向に延ばした直線とテレビ2の画面とが交わる位置である。ただし、厳密に当該位置である必要はなく、その周辺の位置をゲーム装置3によって算出することができればよい。以下では、コントローラ5によって指し示される画面上の位置を「ポインティング位置」と呼ぶ。本実施形態では、ポインティング位置にはカーソルが表示され、ユーザは、カーソルを操作することによって画面上の位置を指定する指示を行う。
なお、本実施形態においては、ゲーム装置3は、上記コントローラ5によって指し示されるポインティング位置に表示されるカーソルを用いて、画面上の位置を指定する指示を行うが、他の実施形態においては、画面上の位置を指定する指示はどのような方法で行われてもよい。ゲーム装置3は、例えば、ボタン、マウス、またはスティック等の入力装置によって画面上の位置を指定する指示入力を受け付けるようにしてもよい。
(ゲーム装置3における処理の概要)
以下、本実施形態においてゲーム装置3で行われる処理の概要について説明する。本実施形態において、ゲーム装置3は、外部のサーバからネットワークを介して世界各地のニュースを取得し、取得したニュースをユーザに提示するものである。ゲーム装置3は、地図のデータと、サーバから取得したニュース情報が地図上の各地点に関連付けられたデータを格納している。ゲーム装置3は、これらのデータを用いて地図を表示し、地図上の地点を選択する操作をユーザに行わせることによって当該地点に関連付けられたニュース情報をユーザに提示する。以下では、地図上の地点のうち、ニュース情報が関連付けられた地点を「ニュース地点」と呼ぶ。
本実施形態では、ユーザにニュース情報を提示する際の処理は、大別して、地図表示モード、一覧表示モード、本文表示モードという3つのモードに分けられる。地図表示モードは、地図と、地図上の各ニュース地点に関連付けられたニュース情報を表すアイコンとを表示し、ユーザにニュース情報のグループを選択させるモードである。一覧表示モードは、地図表示モードにおいてユーザに選択されたグループに含まれるニュース情報の一覧を表示し、一覧のうちから1つのニュース情報をユーザに選択させるモードである。本文表示モードは、一覧表示モードにおいてユーザに選択されたニュース情報の内容(ニュースの本文や画像等)を表示することによってニュースをユーザに提示するモードである。以下、図8〜図15を用いて、これらのモード毎に本実施形態の処理の概要を説明する。
まず、地図表示モードにおける処理の概要を説明する。地図表示モードにおいて、ゲーム装置3は、表示すべき地図の画像を生成する。本実施形態において、表示される地図は地球儀(世界地図)であり、3次元の仮想空間において球体で構築されている(図9参照)。仮想空間には、テレビ2の画面に表示すべき画像を生成するための仮想カメラが設定される。ゲーム装置3は、仮想カメラから見た地図の画像を生成し、生成された画像をテレビ2に表示させる。また、本実施形態では、仮想カメラの移動、またはオブジェクトの移動によって地図を拡大・縮小する(つまり地図の縮尺を変更する)操作、および、仮想カメラの俯角を変更する操作が可能である。
図8は、ある縮尺で生成される地図51の画像を示す図である。また、図9は、図8に示す画像から地図51の縮尺が変更された(縮尺が大きくされた)場合に生成される地図51の画像を示す図である。図8および図9においては、日本付近の地図画像が生成される場合を例とする。また、札幌(ニュース地点52)、東京(ニュース地点53)、および京都(ニュース地点54)の3地点がニュース地点である場合を例として説明する。なお、図9においては、球形の地図51の全体の画像が生成されるので、実際には日本以外の国の画像を含む画像が生成されるが、説明を簡単にするため図9においては地図51上に日本のみを示している。
図8および図9に示すように、地図51上には、上記ニュース地点52〜54が存在し、各ニュース地点52〜54にはニュース情報が関連付けられている。また、各ニュース地点52〜54には基準領域が設定される。基準領域は、画面の表示領域上(地図画像上)において設定される領域であり、ニュース地点の表示位置に基づいて決められる。本実施形態において、基準領域は、ニュース地点の表示位置から所定距離r1内の範囲の領域であって、つまり半径r1の円形領域である。図8および図9においては、ニュース地点52の基準領域55、ニュース地点53の基準領域56、および、ニュース地点54の基準領域57がそれぞれ設定される。
ゲーム装置3は、地図51の画像を生成すると、表示される各ニュース地点52〜54に関連付けられたニュース情報をグループに区分する。本実施形態では、ニュース地点同士の間隔が所定の基準より近いニュース情報同士によるグループが設定される。具体的には、ゲーム装置3は、所定の基準に従って1つのニュース情報が関連付けられたニュース地点を基準地点として選択する。そして、基準地点と、当該基準地点からの表示領域上の距離が所定距離r2以内となるニュース地点に関連付けられたニュース情報とを1つのグループに設定する。ゲーム装置3は、基準地点の選択処理と当該基準地点に関連付けられたニュース情報を含むグループの設定処理とを繰り返すことによって、各ニュース情報をグループに区分する。なお、上記所定距離r2は、上記所定距離r1の2倍の値である。つまり、2つのニュース地点の基準領域が重なる場合、当該2つのニュース地点間の表示領域上の距離は所定距離r2以内となる。
例えば図8に示す画像の場合、互いの基準領域が重なるようなニュース地点の組は存在しないので、3つのニュース地点53a〜55aは、それぞれ別のグループに設定される。つまり、図8では、1つのグループは1つのニュース情報に対応し、ニュース地点52(札幌)に関連付けられたニュース情報からなるグループと、ニュース地点53(東京)に関連付けられたニュース情報からなるグループと、ニュース地点54(京都)に関連付けられたニュース情報からなるグループという、3つのグループが設定される。
一方、図9に示す画像の場合、図8に示す画像に比べて地図51の画像が縮小されている(地図の縮尺が大きくされている)。したがって、各ニュース地点間の表示上の距離は、図8に示す画像に比べて短くなっている。その結果、図9に示す画像においては、3つのニュース地点52〜54の基準領域55〜57は、表示領域上において互いに重なっている。したがって、図9に示す画像の場合、3つのニュース地点52〜54に関連付けられたニュース情報は1つのグループに設定される。以上に説明したように、本実施形態においては、表示上の距離が所定距離r2よりも近い複数のニュース地点のそれぞれに関連付けられた各ニュース情報は、1つのグループに区分される。
グループを設定した後、ゲーム装置3は、グループ毎に判定領域を設定する。判定領域は、画面の表示領域上において設定される領域であり、グループが選択されたか否かを判定するために用いられる領域である。つまり、ゲーム装置3は、カーソルによって指定された位置が判定領域内である場合、当該判定領域が設定されたグループが選択されたと判断する。本実施形態では、ゲーム装置3は、グループに含まれる上記基準地点に設定される基準領域を当該グループの判定領域として設定する。例えば、図8に示す画像については、ニュース地点52に関連付けられたニュース情報からなるグループに対しては基準領域55が判定領域として設定され、ニュース地点53に関連付けられたニュース情報からなるグループに対しては基準領域56が判定領域として設定され、ニュース地点54に関連付けられたニュース情報からなるグループに対しては基準領域57が判定領域として設定される。一方、図9に示す画像については、例えばニュース地点53が上記基準地点であるとすると、ニュース地点52〜54に関連付けられたニュース情報からなるグループに対しては基準領域56が判定領域として設定される(図10参照)。
上述のようにグループが設定されると、ゲーム装置3は、地図51の画像とともに、ニュース情報を表すアイコンをテレビ2に表示させる。図11は、地図表示モードにおいてテレビ2の画面に表示される画像の一例を示す図である。なお、図11は、図8に示す地図画像が生成される場合においてテレビ2の画面に表示される画像を示している。図11に示すように、テレビ2の画面には、地図51、アイコン62a〜62e、カーソル63、および各種ボタン64〜67が表示される。なお、図11において、アイコン62aは、札幌に関連付けられているニュース情報を表し、アイコン62b、62c、および62dは、東京に関連付けられているニュース情報を表し、アイコン62eは、京都に関連付けられているニュース情報を表す。
本実施形態においては、アイコンは、グループ毎にまとめて、基準地点の位置に表示される。つまり、1つのグループに複数のニュース情報が含まれる場合、各ニュース情報のアイコンは、まとめて表示される。また、1つのグループに含まれるニュース地点が1つである場合でも、ニュース地点に複数のニュース情報が関連付けられている場合、各ニュース情報のアイコンは、まとめて表示される。
例えば、図11においては、東京には3つのニュース情報が関連付けられているので、東京には3つのアイコン62b、62c、および62dがまとめて表示されている。図11においては、3つのアイコン62b、62c、および62dは、それぞれ表示位置が所定距離だけずらされて重なって見えるように表示される。一方、図12は、図9に示す地図画像が生成される場合においてテレビ2の画面に表示される画像を示す。図12においては、札幌、東京、および京都の3つのニュース地点は1つのグループに区分されるので、これらのニュース地点に関連付けられているニュース情報を表すアイコン62a〜62eは、1つにまとめて表示される。なお、図12では、基準地点を東京としている。また、図13は、地図表示モードにおいてテレビ2の画面に表示される画像の他の一例を示す図である。図13は、札幌に関連付けられたニュース情報が1つのグループに区分され、東京および京都に関連付けられたニュース情報が1つのグループに区分された場合に表示される画像を示している。図13においては、札幌に関連付けられているニュース情報を表すアイコン62aは単独で表示され、東京または京都に関連付けられているニュース情報を表すアイコン62b〜52eは1つにまとめて表示される。以上のように、本実施形態では、1つのグループに区分されたアイコンはまとめて表示されるので、ユーザは、設定されたグループを容易に把握することができる。
また、本実施形態においては、図11〜図13に示されるように、アイコンが表示される各グループの基準地点の地名(図11〜図13の例では、札幌、東京、京都)が、アイコンに関連付けて(アイコンの付近に)表示される。
カーソル63は、ゲーム装置3によって算出される上記ポインティング位置に表示される。本実施形態では、ユーザは、コントローラ5によってカーソル63を画面上で移動させ、カーソル63によって画面上の位置を指定する。カーソルによる画面上の位置の指定は、カーソル63が当該位置を指示している状態で、例えば所定のボタン(例えばAボタン32d)を押下することによって行われる。本実施形態では、カーソル63によって画面上の位置を指定することによって各種の操作が行われる。例えば、グループを選択する操作は、カーソル63を用いて行われる。また、本実施形態では、地図表示モードにおいて、地図51を移動(スクロール)させる操作が可能である。詳細は後述するが、この操作においてもカーソル63が用いられる。
また、本実施形態では、地図表示モードにおいて、地図51を拡大・縮小する(地図の縮尺を変更する)操作、および仮想カメラの俯角を変更する操作が可能である。詳細は後述するが、図11等に示す各種ボタン64〜67は、これらの操作を行うためのボタンである。拡大ボタン65は、地図51を拡大する指示を表すボタンであり、縮小ボタン64は、地図51を縮小する指示を表すボタンである。また、俯角増加ボタン67は、仮想カメラの俯角を大きくする指示を表すボタンであり、俯角減少ボタン66は、仮想カメラの俯角を小さくする指示を表すボタンである。なお、仮想カメラの俯角とは、仮想カメラの視線と当該視線と交わる部分における地図表面とのなす角度である。ユーザは、カーソル63を用いてこれらのボタン64〜67を選択することによって、各ボタン64〜67に応じた指示を行うことができる。
以上のように、地図表示モードにおいては、ニュース情報を表すアイコンが地図とともに表示される。なお、上述したように、地図表示モードにおいては、地図51を拡大・縮小する操作、および、仮想カメラの俯角を変更する操作が可能である。これらの操作が行われた場合、ニュース地点間の表示上の距離は変化する。したがって、本実施形態では、ゲーム装置3は、1フレーム毎にグループの設定を行い、各ニュース情報のグループ分けをリアルタイムに変化させる。その結果、アイコンがいくつかの他のアイコンとまとめて表示されるか、単独で表示されるかについてもリアルタイムで変化する。
地図表示モードにおいて、ユーザは、地図を移動させたり縮尺を変更したりしながら、所望のグループを選択する。グループの選択は、カーソル63によって行われる。具体的には、カーソル63によって画面上の位置が指定されると、ゲーム装置3は、指定された位置がいずれかのグループの判定領域内であるか否かを判定する。そして、指定された位置がいずれかのグループの判定領域内である場合、当該判定領域が設定されているグループが選択されたと判断する。
グループが選択されると、ゲーム装置3は、選択されたグループに含まれているニュース情報の一覧をユーザに提示する。つまり、当該ニュース情報の一覧を表す画像がテレビ2に表示される。これによって、処理のモードは地図表示モードから一覧表示モードへ移行されたことになる。
図14は、一覧表示モードにおいてテレビ2の画面に表示される画像の一例を示す図である。図14に示す画面には、上記カーソル63、一覧画像71、上スクロールボタン72、および、下スクロールボタン73が表示される。
一覧画像71は、選択されたグループに含まれるニュース情報の一覧を表す。具体的には、一覧画像71には、当該ニュース情報毎のニュースの見出しを表す画像(図14において×××…で示している)が含まれる。なお、本実施形態においては、ニュース一覧に表示すべきニュース情報が複数である場合、各ニュース情報の見出し画像は所定の順序に上下に並べられており、所定個数(図14では9個)の見出し画像が同時に画面に表示される。
上スクロールボタン72および下スクロールボタン73は、一覧画像71をスクロールさせる指示を表すボタンである。すなわち、上スクロールボタン72は、見出し画像の1個分の長さだけ画面の上方向に一覧画像71をスクロールさせる指示を表す。また、下スクロールボタン73は、見出し画像の1個分の長さだけ画面の下方向に一覧画像71をスクロールさせる指示を表す。ユーザは、これらのボタン72および73をカーソル63によって指定することによって、各ボタン72および73に応じた指示を行うことができる。以上のように、一覧画像71を上下にスクロールさせることによって、選択されたグループに含まれるニュース地点に関連付けられている全てのニュース情報を表示させることができる。
一覧表示モードにおいて、ユーザは、その内容を閲覧したいニュース情報を選択する。ニュース情報の選択は、どのような方法であってもよいが、例えば、一覧画像71内の各欄うちで、所望のニュース情報が表示されている欄(見出し画像)をカーソル63を用いて指定することによって行われる。ニュース情報が選択されると、ゲーム装置3は、選択されたニュース情報の内容をユーザに提示する。つまり、当該ニュース情報の本文および画像等がテレビ2に表示される。これによって、処理のモードは一覧表示モードから本文表示モードへ移行されたことになる。
図15は、本文表示モードにおいてテレビ2の画面に表示される画像の一例を示す図である。図15に示す画面には、上記地図51、上記カーソル63、ニュース内容画像75、および、復帰ボタン79が表示される。図15に示すように、本文表示モードにおいては、選択されたニュース情報の本文が表示される。
ニュース内容画像75は、上記選択ニュース情報の内容、すなわち、見出し76、本文77、およびニュース画像78を含む。ニュース内容画像75が表示されることによって、ユーザにニュースが提示されたこととなる。また、本実施形態では、選択されたニュース情報のニュース内容画像75に加えて、地図51が画面に表示される。本文表示モードにおいては、選択されたニュース情報が関連付けられているニュース地点を示すマーク(図15に示す○印)および地名(図15では東京)が地図51上に表示される。この画像によって、ユーザは、閲覧しているニュースがどのニュース地点に関連付けられているかを知ることができる。また、復帰ボタン79は、上記地図表示モードへ復帰する指示を表すボタンである。ユーザは、復帰ボタン79をカーソル63によって選択することによって、地図表示モードの画面(図11)を表示させることができる。
以上のように、本実施形態では、ニュース地点間の表示上の距離に応じて、各ニュース情報(各ニュース地点と言っても良い)はグループに区分される(図12)。例えば、複数のニュース地点が密集して表示される場合、これらのニュース地点に関連付けられたニュース情報が1つのグループに設定される。そして、カーソル63によってまずグループが選択されるようにする。さらに、グループが選択された場合には、選択されたグループに含まれるニュース情報の一覧が表示され(図14)、一覧の中からニュース情報を選択することによってニュースの内容が表示される(図15)。以上の処理によって、本実施形態によれば、複数のニュース地点が密集して表示される場合であっても、ユーザが意図しないニュース地点(ニュース情報)を誤って選択することを防止することができ、ニュース情報の選択操作を容易に行うことができる。
(ゲーム装置3における処理の詳細)
次に、ゲーム装置3において実行される処理の詳細について説明する。まず、ゲーム装置3における処理において用いられる主なデータについて図16〜図18を用いて説明する。図16は、ゲーム装置3の記憶装置(メインメモリ13およびフラッシュメモリ18等)に設けられる記憶領域を示す図である。図16に示すように、ゲーム装置3の記憶装置には、表示制御プログラム領域81および処理用データ領域82等が設けられる。
表示制御プログラム領域81は、本発明に係る表示制御プログラムを記憶する領域である。表示制御プログラムは、地図を表示するとともに、外部のサーバから取得したニュース情報を表示するための処理をゲーム装置3に実行させるためのプログラムである。本実施形態では、表示制御プログラムは予めゲーム装置3の記憶装置に記憶されているものとするが、他の実施形態では、当該プログラムは光ディスク4に記憶されており、ゲーム装置3が適宜のタイミングで当該プログラムを光ディスク4から読み出すようにしてもよい。
処理用データ領域82は、ゲーム装置3において実行される処理(図19等参照)において用いられるデータを記憶するための領域である。処理用データ領域82には、配信データ83、カーソルデータ86、および判定領域データ87が記憶されるとともに、第1ニュースバッファ84および第2ニュースバッファ85が設けられる。なお、処理用データ領域82には、図16に示すデータの他、コントローラ5から取得される操作データや、地図画像のデータおよび各ニュース地点の地図上の位置を示すデータを含む地図データ等、処理に必要なデータが記憶される。
配信データ83は、外部のサーバから配信されて取得されるデータであり、ニュース地点に関連付けられたニュース情報のデータを含んでいる。図17は、配信データの一例を示す図である。図17に示すように、配信データ83には、ヘッダ92およびニュース情報データ93が含まれる。ヘッダ92には、例えば、配信データに含まれるニュース情報の数、および、配信データの配信日時等、処理に必要な情報が含まれている。
ニュース情報データ93は、1個のニュース情報を示すデータである。なお、配信データには通常、複数個のニュース情報データが含まれている。ニュース情報データ93は、ニュースIDデータ94、地名データ95、位置データ96、見出しデータ97、および本文データ98等を含む。ニュースIDデータ94は、ニュース情報を識別するための番号を示す。地名データ95は、ニュース情報が関連付けられるニュース地点の地名を示す。位置データ96は、ニュース情報が関連付けられるニュース地点の地図上における位置を示す。本実施形態では、地図は球体の世界地図であるので、地図上の位置を緯度および経度によって表す。すなわち、位置データ96は、ニュース情報が関連付けられたニュース地点の緯度および経度を示す。他の実施形態においては、位置データ96は、3次元、または2次元の座標であってもよいし、あらかじめ地名と位置の対応がついている場合には、地名データ95を位置データに替える構成であってもよい。見出しデータ97は、ニュース情報の見出しを示す。本文データ98は、ニュース情報の本文を示す。なお、ニュース情報データには、図17に示すデータの他に、日時を示すデータや、ニュース情報に関連する映像や画像のデータが含まれていてもよい。
なお、配信データのデータ構造は上記に限らず、何らかの形で地図上の地点とニュース情報とが関連付けられたデータが含まれていればよい。例えば、他の実施形態においては、地名データとニュース情報データとを別にして、それぞれが配信データに含まれるようなデータ構造としてもよい。このとき、ニュース情報データには、配信データに含まれる地名データを指定するポインタが含まれる。このようなデータ構造とすることによって、ニュース情報データ毎に地名データを有する必要がないので、複数のニュース情報データが同じ地名データを重複して含むことがなく、配信データのデータ量を低減することができる。
図16の説明に戻り、第1ニュースバッファ84は、メインメモリ13に現在記憶されている全てのニュース情報を格納するためのバッファ領域である。第1ニュースバッファ84に格納されるニュース情報は、所定の順番(例えば、ニュースの日時が新しい順)で格納されている。以下、先頭から第n(nは1以上の整数)番目に格納されるニュース情報を「第nのニュース情報」と呼ぶこととする。なお、本実施形態においては、配信データに含まれるニュース情報データと同じデータが第1ニュースバッファ84に格納されているわけではなく、実際には、第1ニュースバッファ84には、配信データとして記憶されているニュース情報データを指定するためのポインタが格納されている。例えば、現在記憶されているニュース情報データにはそれぞれインデックス番号が付されており、ポインタは当該インデックス番号を指定する。本実施形態のようにポインタを用いることによって、第1ニュースバッファ84に必要なメモリ領域を低減することができる。
第2ニュースバッファ85は、画面に表示すべきニュース情報からなるグループを格納するためのバッファ領域である。図18は、第2ニュースバッファ85に格納されるデータのデータ構造を概念的に示す図である。図18に示すように、第2ニュースバッファ85には、1以上のグループに区分されて複数のニュース情報(図18では、第1〜第6ニュース情報)が格納される。以下では、第n(nは1以上の整数)番目に生成されたグループを「第nのグループ」と呼ぶこととする。また、1つのグループ内に含まれるニュース情報は、リンク構造によって順番に接続されている。例えば図18においては、第1グループには、第1、第3および第4ニュース情報が含まれており、第1、第3、第4の順に接続されている。同様に、第2グループには、第2および第5ニュース情報が含まれており、第2、第5の順に接続されている。また、第3グループには、第6ニュース情報のみが含まれる。
なお、詳細は後述するが、第2ニュースバッファ85においては、同じグループに含まれるニュース地点に関連付けられているニュース情報が、同じグループとなるように構成される。したがって、本実施形態において、ニュース情報をグループに区分することは、ニュース地点をグループに区分することを意味している。
図18に示すようなデータ構造は、ポインタを用いて実現することができる。本実施形態では、第2ニュースバッファ85には、ニュース情報データに相当する要素(データ)として、配信データとして記憶されているニュース情報データを指定するためのニュース情報指定ポインタと、自己の次に接続される要素を指定するための次要素指定ポインタとが格納される。なお、上記要素には、リンクの先頭であることを示すデータが含まれていてもよい。当該データにより、第2ニュースバッファ85に格納される複数のニュース情報のうちから、リンクの先頭となるニュース情報を容易に検索することができる。
カーソルデータ86は、カーソルの表示領域上(画面上)における位置を示すデータである。また、判定領域データ87は、上記判定領域の表示領域上における位置を示すデータである。カーソルデータ86および判定領域データ87は、カーソルを用いた操作によって地図上の地点からなるグループが選択されたか否かを判定するために用いられる。
次に、ゲーム装置3において行われる処理の詳細な流れを、図19〜図24を用いて説明する。図19は、ゲーム装置3において実行される処理の流れを示すメインフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ13等の各ユニットが初期化される。そして、CPU10によって当該上記表示制御プログラムの実行が開始される。図19に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
まずステップS1において、CPU10は、サーバからネットワークを介して配信される配信データを受信し、受信した配信データを配信データ83としてメインメモリ13に記憶する。配信データには、1以上のニュース情報データが含まれている。また、配信データは定期的にサーバから取得されてフラッシュメモリ18に記憶され、ステップS1においてフラッシュメモリ18からメインメモリ13に転送される構成であってもよい。そのような構成とすることで、常に最新の情報を取得することができる。
続くステップS2において、CPU10は、第1ニュースバッファを生成する。すなわち、ステップS1で格納された配信データに含まれている各ニュース情報が第1ニュースバッファ84にそれぞれ格納される。なお、上述したように、各ニュース情報は、所定の順番(例えば、ニュースの日時が新しい順)となるようにソートされて第1ニュースバッファ84に格納される。
上記ステップS1およびS2の後、ステップS3〜S14の処理ループが繰り返し実行される。なお、1回の当該処理ループは、1フレーム時間(例えば1/60秒)に1回の割合で実行される。
なお、本実施形態では、1回に受信される1つの配信データに基づいて作成される第1ニュースバッファを用いて、ニュース情報をユーザに提示する処理(後述するステップS3〜S14)が行われる。ここで、他の実施形態においては、複数個の配信データに基づいて作成される第1ニュースバッファを用いて上記処理を行うようにしてもよい。例えば、サーバは、所定時間間隔(例えば1時間間隔)でゲーム装置3へ配信データを送信し、ゲーム装置3は、最新のものから順に所定数の配信データ(例えば、1日分(24個)の配信データ)を記憶しておくようにしてもよい。このとき、古くなった配信データは削除される。
ステップS3において、CPU10は、コントローラ5から操作データを取得する。すなわち、コントローラ5から送信されてくる操作データを通信ユニット16が受信し、受信された操作データがメインメモリ13に記憶される。これによって、現時点における各操作ボタン32a〜32iの操作状況を示すデータ、および、現時点におけるマーカ座標を示すマーカ座標データがメインメモリ13に記憶される。
続くステップS4において、CPU10は、カーソルの表示位置を算出する。上述したように、カーソルはポインティング位置に表示され、ポインティング位置は上記マーカ座標データを用いて算出される。算出されたポインティング位置を示すデータは、カーソルデータ86としてメインメモリ13に記憶される。なお、ポインティング位置を算出するためのアルゴリズムは、撮像画像から画面上のポインティング位置を算出するものであればどのようなものであってもよい。一例として、以下に示すようなアルゴリズムを用いてポインティング位置を算出することが考えられる。
以下、ポインティング位置の算出方法の一例を説明する。まずCPU10は、メインメモリ13に記憶されているマーカ座標データにより示される2つのマーカ座標の中点を算出する。この中点の位置は、撮像画像に対応する平面上の位置を表すためのxy座標系によって表現される。このxy座標系は、撮像画像の左上を原点とし、下向きをy軸正方向とし、右向きをx軸正方向とするものとする。次に、CPU10は、当該中点の位置を示す座標を、テレビ2の画面上の位置を表すための座標系(x’y’座標系)の座標に変換する。なお、x’y’座標系が、画面の左上を原点とし、下向きをy軸正方向とし、右向きをx軸正方向とするものとすれば、上記変換は次のように行うことができる。すなわち、中点座標のx成分の正負を反転させて所定の割合(例えば、撮像画像のx軸方向の長さを、テレビ2の画面のx’軸方向の長さに一致させる割合)でスケーリングすることによって、ポインティング位置のx’成分を得ることができる。また、中点座標のy成分を所定の割合(例えば、撮像画像のy軸方向の長さを、テレビ2の画面のy’軸方向の長さに一致させる割合)でスケーリングすることによって、指示位置のy’成分を得ることができる。以上のようにして算出されたx’y’座標値により示される位置がポインティング位置となる。また、より正確なポインティング位置の算出方法の例としては、上記2つのマーカ座標を結ぶベクトルがy軸に平行になるように撮像画像の中央を中心として2つのマーカ座標の中点を回転する処理を行い、回転後の当該中点に対して上記変換処理を行う。このような回転による補正処理を行うことによって、コントローラ5が傾いている場合等にも、ポインティング位置を正確に算出することができる。
ステップS4の次のステップS5において、CPU10は、3次元の仮想空間内に球体の地図オブジェクトを配置する。なお、地図オブジェクトの配置処理は、1フレーム毎に行わなくてもよく、当該処理が必要な適宜のタイミング(例えば、地図が表示されるタイミングや、地図オブジェクトが変化するタイミング)でのみ行うようにしてもよい。
ステップS6において、CPU10は、現在の処理モードが本文表示モードであるか否かを判定する。本実施形態では、ゲーム装置3における処理モードは、地図表示モード、一覧表示モード、および本文表示モードのいずれかに設定されている。また、図19に示す処理の開始時には、ゲーム装置3における処理モードは地図表示モードに設定されている。ステップS6の判定結果が肯定である場合、後述するステップS10の処理が実行される。一方、ステップS6の判定結果が否定である場合、ステップS7の処理が実行される。
ステップS7において、CPU10は、現在の処理モードが一覧表示モードであるか否かを判定する。ステップS7の判定結果が肯定である場合、後述するステップS9の処理が実行される。一方、ステップS7の判定結果が否定である場合、すなわち、現在の処理モードが地図表示モードである場合、ステップS8の処理が実行される。
ステップS8においては、地図表示モードにおける処理(地図表示モード処理)が実行される。以下、図20を参照して、地図表示モード処理の詳細を説明する。
図20は、図19に示す地図表示モード処理(ステップS8)の流れを示すフローチャートである。地図表示モード処理においては、まずステップS21において、CPU10は、コントローラ5による操作に応じて地図の表示態様を変更する。具体的には、CPU10は、地図が移動したり、拡大・縮小したり、仮想カメラの視線に対する地表面の角度が変化したりするように、仮想カメラの位置、向き、および視野角を変更する。これによって、地図の移動、地図の拡大・縮小、および、仮想カメラの俯角の変更が行われ、場合によってはニュース地点間の表示上の距離が変更される。
地図の移動は、カーソルを用いた操作に従って行われる。具体的には、移動操作は、地図が表示されている領域にカーソルが位置する状態で所定のボタン(例えばAボタン32d)を押下し、当該所定のボタンを押下したままカーソルを移動させることによって行われる。具体的には、CPU10は、カーソルの移動した方向に応じて、仮想カメラを球体の地図の表面に沿って移動させる。これによって、画面に表示されている地図は、カーソルの移動した方向に応じてスクロールされる。例えば、カーソル63を所定のボタンを押下したまま左方向に移動した場合、地図は左方向にスクロールされる。なお、ゲーム装置3は、マーカ座標データを用いてコントローラ5のZ軸周りの回転を算出することが可能である。したがって、他の実施形態においては、コントローラ5のZ軸周りの回転に応じて、地図を回転させるようにしてもよい。
また、地図の拡大・縮小は、図11に示した拡大ボタン65および縮小ボタン64がカーソルによって指定されたことに応じて行われる。すなわち、CPU10は、カーソルによって拡大ボタン65が指定されると、仮想カメラを球体の地図の表面に近づける方向に移動させ、カーソルによって縮小ボタン64が指定されると、仮想カメラを球体の地図の表面から遠ざける方向に移動させる。また、仮想カメラの位置を変更することに代えて、仮想カメラの視野角を変更するようにしてもよい。以上のように、地図は、拡大ボタン65/縮小ボタン64が指定されたことに応じて拡大/縮小して表示される。また、CPU10は、コントローラ5のプラスボタン32gが押下されたことに応じて地図の拡大を行い、コントローラ5のマイナスボタン32eが押下されたことに応じて地図の縮小を行うようにしてもよい。
また、仮想カメラの俯角の変更は、図11に示した俯角増加ボタン67および俯角減少ボタン66がカーソルによって指定されたことに応じて行われる。すなわち、CPU10は、カーソルによって俯角増加ボタン67が指定されると、仮想カメラの俯角が増加するように仮想カメラの向きを変更し、カーソルによって俯角減少ボタン66が指定されると、仮想カメラの俯角が減少するように仮想カメラの向きを変更する。なお、仮想カメラを移動させることによっても俯角を変更することができる。このように、地図は、俯角増加ボタン67/俯角減少ボタン66が指定されたことに応じて俯角が増加/減少して表示される。
ステップS21の次のステップS22において、グループ設定処理が実行される。グループ設定処理は、表示される地図上のニュース地点をグループに区分する処理である。本実施形態では、グループ設定処理においては、CPU10は、画面に表示するニュース情報のうちでグループが設定されていないニュース情報に関して1つのグループを新規に設定し、表示領域上において、当該ニュース情報が関連付けられたニュース地点からの距離が所定距離(r2)よりも短いニュース地点に関連付けられたニュース情報を当該グループにさらに含める処理を、グループが設定されていないニュース情報が存在しなくなるまで繰り返す。以下、図22を参照して、グループ設定処理の詳細を説明する。
図21は、図20に示すグループ設定処理(ステップS22)の流れを示すフローチャートである。グループ設定処理においては、まずステップS31において、CPU10は、第1ニュースバッファ84に格納されている先頭のニュース情報を指定する。具体的には、第1カウンタiの値をi=1とする。第1カウンタiは、第1ニュースバッファ84に格納されている第iのニュース情報を表す。なお、以下、グループ設定処理の説明において、ステップS31または後述するステップS41で指定されているニュース情報を「指定ニュース情報」と呼ぶ。ステップS31の次にステップS32の処理が実行される。
ステップS32において、CPU10は、指定ニュース情報が画面に表示される可能性がないか否かを判定する。ステップS32の判定は、例えば、仮想カメラの視線ベクトルと、球体の地図の中心から指定ニュース情報が関連付けられている地点へのベクトルとを用いて行われる。すなわち、上記2つのベクトルの内積が負となる場合、仮想カメラから(仮想カメラの)視線方向を見たときに上記地点は球体の表側に位置するので、指定ニュース情報は画面に表示される可能性があると判断することができる。一方、上記2つのベクトルの内積が正となる場合、仮想カメラから(仮想カメラの)視線方向を見たときに上記地点は球体の裏側に位置するので、指定ニュース情報は画面に表示される可能性がないと判断することができる。なお、ステップS32の処理は、画面に表示される可能性がない指定ニュース情報を、ステップS33以降で実行されるグループ区分処理の対象から可能な限り除外する目的で行われるものであり、画面に表示される指定ニュース情報を抽出する目的で行われるものではない。つまり、ステップS32の判定処理おいては、実際には画面に表示されない指定ニュース情報に対して判定結果が否定となることもある。ステップS32の判定結果が否定である(指定ニュース情報が画面に表示される可能性がある)場合、ステップS33の処理が実行される。一方、ステップS32の判定結果が肯定である(指定ニュース情報が画面に表示される可能性がない)場合、後述するステップS40の処理が実行される。
ステップS33において、CPU10は、第2ニュースバッファ85に格納されている第1のグループを指定する。具体的には、第2カウンタjの値をj=1とする。第2カウンタjは、第2ニュースバッファ85に格納される第jのグループを表す。なお、以下、グループ設定処理の説明において、ステップS33または後述するステップS38で指定されているグループを「指定グループ」と呼ぶ。ステップS33の次にステップS34の処理が実行される。
ステップS34において、CPU10は、指定グループにニュース情報が含まれているか否か(指定グループが存在するか否か)を判定する。ステップS34の判定は、第2ニュースバッファ85に格納されているグループ(ニュース情報を含むグループ)の数と、上記第2カウンタjの値とを用いて行われる。すなわち、第2カウンタjの値が、ニュース情報を含むグループの数よりも小さい場合、指定グループにニュース情報が含まれていると判定され、第2カウンタjの値が上記数以上である場合、指定グループにニュース情報が含まれていないと判定される。ステップS34の判定結果が否定である場合、ステップS35の処理が実行される。一方、ステップS34の判定結果が肯定である場合、後述するステップS36の処理が実行される。
ステップS35においては、CPU10は、指定ニュース情報を指定グループの先頭に追加する。具体的には、第2ニュースバッファ85に新たなニュース情報として指定ニュース情報を追加し、当該指定ニュース情報を先頭に含むグループを第2ニュースバッファ85に追加する。より具体的には、指定ニュース情報を表す新たな要素が第2ニュースバッファ85に追加して記憶される。この要素においては、ニュース情報データを指定するためのニュース情報指定ポインタは、指定ニュース情報のニュース情報データを指定する。また、次に接続される要素を指定するための次要素指定ポインタは、次に接続される要素がないことを示す。以上のステップS35の処理によって、第jのグループが新たに設定されたこととなる。ステップS35の次に、後述するステップS40の処理が実行される。
一方、ステップS36においては、CPU10は、指定ニュース情報が関連付けられているニュース地点の表示位置と、指定グループの先頭のニュース情報が関連付けられているニュース地点の表示位置との間の表示上の距離を算出する。具体的には、まず、上記2つのニュース地点の表示領域上の表示位置が算出される。ニュース地点の表示位置は、ステップS5で配置された地図と、ステップS21で設定された仮想カメラの位置および向きとに基づいて、3次元空間における地図上のニュース地点を所定の投影平面に投影することによって得られる。次に、算出された上記2つのニュース地点の表示位置の間の距離が算出される。CPU10は、以上の計算によって上記距離を算出する。
続くステップS37において、CPU10は、ステップS36で算出された距離が、所定距離r2未満であるか否かを判定する。ここで、本実施形態では、所定距離r2は、ニュース地点に基準領域を設定するために用いられる基準(具体的には、半径r1)に基づいて設定され、具体的には、上記基準領域の半径r1の2倍の値である。ステップS37の判定処理は、指定ニュース情報が関連付けられているニュース地点の表示位置と、指定グループの先頭の指定ニュース情報が関連付けられているニュース地点の表示位置とが所定距離よりも近いか否かを判定するための処理である。つまり、ステップS37においては、指定ニュース情報が関連付けられているニュース地点を、指定グループに含めるか否かが判定される。ステップS37の判定結果が否定である場合、ステップS38の処理が実行される。一方、ステップS37の判定結果が肯定である場合、後述するステップS39の処理が実行される。
以上のように、本実施形態では、上記ステップS36およびS37の処理において、ステップS35で指定グループの先頭に追加されたニュース情報に関連付けられているニュース地点と、指定ニュース情報に関連付けられているニュース地点との表示位置が比較される。つまり、本実施形態では、グループの先頭のニュース情報が関連付けられているニュース地点が、上記基準地点として用いられる。
ステップS38において、CPU10は、現在の指定グループの次のグループを新たに指定する。具体的には、第2カウンタjの値をインクリメント(1加算)する。ステップS38の後、ステップS34の処理が再度実行される。
一方、ステップS39において、CPU10は、指定ニュース情報を指定グループのリストの最後に追加する。具体的には、指定ニュース情報を表す新たな要素が第2ニュースバッファ85に追加して記憶される。この要素においては、ニュース情報指定ポインタは、指定ニュース情報のニュース情報データを指定する。また、次要素指定ポインタは、次に接続される要素がないことを示す。さらに、上記新たに追加された要素の前に接続される要素において、次要素指定ポインタが当該新たに追加された要素を指定するように変更される。以上のステップS39の処理によって、指定ニュース情報が指定グループのリストの最後に追加されたこととなる。ステップS39の次に、ステップS40の処理が実行される。
ステップS40において、CPU10は、第1ニュースバッファ84に格納されている全てのニュース情報を指定したか否かを判定する。ステップS40の判定処理は、全てのニュース情報をグループに区分したか否かを判定する処理である。ステップS40の判定結果が否定である場合、ステップS41の処理が実行される。一方、ステップS40の判定結果が肯定である場合、CPU10は、グループ設定処理を終了する。
ステップS41において、CPU10は、現在の指定ニュース情報の次のニュース情報を新たに指定する。具体的には、第1カウンタiの値をインクリメントする。ステップS41の後、ステップS32の処理が再度実行される。
以上のグループ設定処理によって、第1ニュースバッファ84に格納されている各ニュース情報がグループに区分される。すなわち、各ニュース情報は、先頭から順に1つずつ指定され、すでに設定されているグループ(他のニュース情報を含むグループ)に含まれるか否かが判定される(ステップS36およびS37)。そして、判定結果が肯定の場合(ステップS37でYes)、当該グループのリストの最後にニュース情報が追加され、判定結果が否定の場合(ステップS37でNo)、次のグループが指定され(ステップS38)、上記と同様の判定が行われる(ステップS36およびS37)。また、すでに設定されているグループにニュース情報が含められない場合(ステップS34でNo)、当該ニュース情報を先頭に含むグループが新たに設定される(ステップS35)。第1ニュースバッファ84に格納されている各ニュース情報について以上の処理を実行することによって、各ニュース情報にグループが設定されたこととなる。
また、上記ステップS36およびS37において、指定ニュース情報に関連付けられているニュース地点と、指定グループの先頭のニュース情報に関連付けられているニュース地点との表示上の距離が近い(所定距離r2内である)場合(ステップS37でYes)、当該指定ニュース情報と当該先頭のニュース情報とは同じグループに設定される(ステップS39)。つまり、指定ニュース情報に関連付けられているニュース地点と、指定グループの先頭のニュース情報に関連付けられているニュース地点とは、同じグループに設定されたこととなる。このように、上記グループ設定処理によって、地図上の各ニュース地点にグループが設定されたこととなる。
以上に説明したグループ設定処理においては、グループの先頭のニュース情報が関連付けられたニュース地点のみが、指定ニュース情報が関連付けられたニュース地点との比較(ステップS37)の対象となる。つまり、グループの先頭のニュース情報が関連付けられたニュース地点が基準地点となる。そのため、基準地点の表示位置は、グループに含まれる他の全てのニュース地点から表示領域上で所定距離r1以内の位置となる。これによれば、表示位置が所定距離r1の2倍よりも離れた位置となる2つのニュース地点が1つのグループに区分されることはない。つまり、1つのグループに区分されるニュース地点の範囲が必要以上に大きくなることはなく、グループを適切に設定することができる。
なお、本実施形態におけるグループ設定処理では、第1ニュースバッファ84に格納される順番が若いニュース情報が先に指定されるので、順番が若いニュース情報が優先して基準地点となる。したがって、第1ニュースバッファ84に格納される順番を所定の基準に従って決定することによって、優先して基準地点となるニュース情報の種類を決定することができる。例えば、ニュースの日時が新しい順にニュース情報を第1ニュースバッファ84に格納することで、新しいニュース情報が優先して基準地点となるようにすることができる。また、ニュース情報に優先度を設定しておき(具体的には、配信データ83に含まれるニュース情報データ93に、優先度を示すデータを含める)、第1ニュースバッファ84における格納順を当該優先度に従って決定するようにしてもよい。
図20の説明に戻り、ステップS22の次のステップS23において、画像生成処理が実行される。画像生成処理は、地図表示モードにおいてテレビ2に表示すべき画像(例えば図11に示す画像)を生成するための処理である。以下、図23を参照して、画像生成処理の詳細を説明する。
図22は、図20に示す画像生成処理(ステップS23)の流れを示すフローチャートである。画像生成処理においては、まずステップS50において、CPU10は、第2ニュースバッファ85に格納されているグループのうちの先頭のグループ(第1グループ)を指定する。具体的には、上記第2カウンタjの値がj=1に設定される。なお、以下、画像生成処理の説明において、ステップS50または後述するステップS58で指定されているグループを「指定グループ」と呼ぶ。ステップS50の次にステップS51の処理が実行される。
ステップS51において、CPU10は、第2ニュースバッファ85に格納されている全てのグループに対してステップS52以降の処理を実行したか否かを判定する。ステップS51の判定は、第2ニュースバッファ85に格納されているグループの数と、上記第2カウンタjの値とを用いて行われる。すなわち、第2カウンタjの値が、ニュース情報を含むグループの数よりも大きい場合、全てのグループに対してステップS52以降の処理を実行したと判定され、第2カウンタjの値が上記数以下である場合、ステップS52以降の処理を実行していないグループが存在すると判定する。ステップS51の判定結果が否定である場合、ステップS52の処理が実行される。一方、ステップS51の判定結果が肯定である場合、後述するステップS59の処理が実行される。
ステップS52において、CPU10は、指定グループの先頭のニュース情報を指定する。具体的には、第3カウンタkの値をk=1とする。第3カウンタkは、指定グループの先頭からk番目のニュース情報を示す。なお、以下、画像生成処理の説明において、ステップS52または後述するステップS56で指定されているニュース情報を「指定ニュース情報」と呼ぶ。
続くステップS53において、CPU10は、指定ニュース情報の3次元空間における位置(すなわち、指定ニュース情報に関連付けられているニュース地点の位置)を読み出す。CPU10は、指定ニュース情報に対応するニュース情報データ93に含まれる位置データ96をメインメモリ13から読み出す。なお、指定ニュース情報に対応するニュース情報データ93は、第2ニュースバッファ85に格納されている指定ニュース情報の要素に含まれているニュース情報指定ポインタにより指定されている。上記ステップS53においては、グループの先頭のニュース情報に関連付けられているニュース地点の位置が読み出される。したがって、ステップS53において読み出される位置は、基準地点の位置である。ステップS53の次にステップS54の処理が実行される。
ステップS54において、CPU10は、指定ニュース情報を表すアイコンのオブジェクトを生成し、当該オブジェクトを3次元仮想空間に配置する。アイコンのオブジェクトは、指定ニュース情報の内容(見出し、本文、および画像等)を用いて生成される。本実施形態では、指定ニュース情報に対応するニュース情報データに画像データが含まれている場合、当該画像データを用いてアイコンのオブジェクトが生成される。また、指定ニュース情報に対応するニュース情報データに画像データが含まれていない場合には、当該ニュース情報データに含まれている見出しデータおよび本文データを用いてアイコンのオブジェクトが生成される。
また、アイコンのオブジェクトの配置位置は、上記ステップS53において読み出された位置データ96に基づいて決定される。具体的には、アイコンのオブジェクトは、上記位置データ96により示される位置(基準地点の位置)から所定の高さだけ上方(球形の地図の表面に対して垂直な方向)の位置に配置される。
ステップS55において、CPU10は、指定グループに含まれる全てのニュース情報のアイコンを仮想空間に配置したか否かを判定する。ステップS55の判定処理は、指定ニュース情報がリンクの最後であるか否かによって行われる。なお、指定ニュース情報がリンクの最後であるか否かは、第2ニュースバッファ85に格納されている指定ニュース情報の要素に含まれている次要素指定ポインタを参照することにより知ることができる。ステップS55の判定結果が否定である場合、ステップS56の処理が実行される。一方、ステップS55の判定結果が肯定である場合、後述するステップS58の処理が実行される。
ステップS56においては、CPU10は、指定グループにおいて現在の指定ニュース情報の次に接続されている指定ニュース情報を新たに指定する。具体的には、第3カウンタkの値がインクリメントされる。
続くステップS57において、CPU10は、指定グループに含まれるニュース情報のアイコンのオブジェクトであって、ステップS54ですでに配置されているアイコンのオブジェクトの配置位置をずらす。具体的には、当該アイコンのオブジェクトは、上記所定の高さだけ上方の位置にずらして配置される。ステップS57の次に、ステップS54の処理が再度実行される。次に実行されるステップS54においては、ステップS56で新たに指定された指定ニュース情報のアイコンが、基準地点の位置から上記所定の高さだけ上方の位置に配置される。したがって、上記ステップS54〜S57の処理が繰り返されることによって、1つのグループに含まれるニュース情報のアイコンが上方に重ねて表示されることになる(図12参照)。また、上記ステップS53においては基準地点の位置が特定されるので、以降のステップS54〜S57の処理においては、1つのグループに含まれる各ニュース情報のアイコンは、上記基準地点の位置に重ねて配置される。
本実施形態では、上記ステップS54〜S57によって、1つのグループに含まれるニュース情報のアイコンは、第1ニュースバッファ84に格納されている順番に上から配置されることになる。したがって、第1ニュースバッファ84に格納される順番を所定の基準に従って決定することによって、1つのグループに含まれるアイコンの配置順を当該所定の基準に従って決定することができる。例えば、ニュース情報に優先度を設定しておき、第1ニュースバッファ84における格納順を当該優先度に従って決定することによって、ニュース情報のアイコンを優先度が高いほど上に配置されるようにすることができる。また、他の実施形態では、上記ステップS59の処理の前にアイコンの配置を変更する処理を実行するようにしてもよい。例えば、ニュース情報データに画像データが含まれているニュース情報が最上部に配置されるように、アイコンの配置を変更するようにしてもよい。
一方、ステップS58において、CPU10は、現在の指定グループの次のグループを新たに指定する。具体的には、第2カウンタjの値をインクリメントする。ステップS58の後、ステップS51の処理が再度実行される。以降、ステップS51の判定結果が肯定となるまで、すなわち、第2ニュースバッファ85に格納されている全てのグループに含まれるニュース情報のアイコンを仮想空間に配置するまで、ステップS51〜S58の処理ループが繰り返し実行される。
一方、ステップS59において、CPU10は、画面に表示すべき画像を生成する。すなわち、まず、当該地図およびオブジェクトを仮想カメラから見た画像が透視変換処理によって生成される。さらに、生成された画像に、カーソルおよび各種ボタン64〜67の画像を重ねることによって、画面に表示すべき画像が生成される(図11および図12)。地図表示モードにおいては、ステップS59で生成された画像がテレビ2の画面に表示される(後述するステップS13)。ステップS59の後、CPU10は画像生成処理を終了する。
以上のように、本実施形態では、地図表示モードにおいては、画面に表示すべき地図の画像が生成される度にグループ設定処理(ステップS22)が実行されるので、グループ分けがリアルタイムに実行されることとなる。ここで、ステップS21で地図の縮尺や仮想カメラの俯角が変更された場合には、複数のニュース地点が近接して表示され、各ニュース地点を画面上で個別に指定することが難しくなる場合がある。これに対して、本実施形態では、グループ分けがリアルタイムに実行されるので、地図の表示状況に応じて適切なグループ分けが行われることとなる。
また、本実施形態では、各グループに設定される判定領域は画面上には表示されないが、他の実施形態においては、判定領域を画面上に表示するようにしてもよい。これによれば、カーソルによって判定領域内の位置を指定する操作がより容易になる。さらにこのとき、判定領域と同じ大きさ・形状のアイコンを判定領域の位置に表示するようにしてもよい。
図20の説明に戻り、ステップS23の次のステップS24において、CPU10は、第2ニュースバッファ85において設定されている各グループに対して上記判定領域を設定する。本実施形態では、グループに対して設定される判定領域は、当該グループに含まれる基準地点に設定される基準領域である(図10参照)。すなわち、判定領域は、グループに含まれる基準地点の表示位置に基づいて設定され、具体的には、基準地点の表示位置を中心とした半径r1の円形領域として設定される。したがって、本実施形態では、各グループに設定される判定領域はすべて同じ大きさおよび形状となるので、グループ毎に大きさまたは形状が異なる場合に比べて、カーソルによるグループの指定操作が容易になる。
上記ステップS24においては、設定された判定領域を示すデータが判定領域データ87としてメインメモリ13に記憶される。ここで、判定領域は、予め定められた半径r1の円形領域であるので、基準地点の表示位置を示すデータによって判定領域を特定することができる。したがって、本実施形態では、CPU10は、基準地点の表示位置を示すデータを判定領域データ87としてメインメモリ13に記憶する。なお、メインメモリ13には、グループ毎に設定された各判定領域を示すデータが判定領域データ87として記憶される。
以上のように、本実施形態では、基準地点に設定される基準領域が判定領域として用いられた。ここで、他の実施形態においては、判定領域は、グループに含まれる各ニュース地点を含む領域として設定されてもよい。具体的には、グループに含まれる各ニュース地点の各基準領域からなる領域を判定領域として設定してもよい。これによれば、グループに含まれるニュース地点の位置は全て判定領域内となるので、カーソルによってニュース地点の位置を指定すれば確実に当該ニュース地点を含むグループを選択することができる。また、他の実施形態においては、グループに含まれる各ニュース地点の表示位置に基づいて算出される位置(例えば、各ニュース地点の表示位置の重心位置)を中心とした半径r1の円形領域を、判定領域として設定するようにしてもよい。これによれば、グループに含まれる各ニュース地点の数および表示位置に応じて位置が変化するように判定領域を設定することができる。
ステップS24の次のステップS25において、CPU10は、ユーザによって操作されるカーソルによってグループが選択されたか否かを判定する。具体的には、まず、ステップS3において取得された操作データを参照して、所定のボタン(例えばAボタン32d)が現在押下されているか否かが判定される。所定のボタンが押下されていない場合、ステップS25の判定結果は否定となる。一方、所定のボタンが押下されている場合、CPU10は、カーソル位置が、ステップS24で設定された判定領域のいずれかの内部に位置するか否かを判定する。なお、カーソル位置を示すデータは、カーソルデータ86としてメインメモリ13に記憶されている。カーソル位置が判定領域のいずれかの内部に位置する場合、ステップS25の判定結果は肯定となる。なお、この場合、CPU10は、カーソル位置がその内部に位置する判定領域が設定されるグループを示すデータをメインメモリ13に記憶しておく。一方、カーソル位置が判定領域のいずれの内部にも位置しない場合、ステップS25の判定結果は否定となる。ステップS25の判定結果が肯定である場合、ステップS26の処理が実行される。一方、ステップS25の判定結果が否定である場合、ステップS26の処理がスキップされて、地図表示モード処理が終了される。
ステップS26においては、CPU10は、処理モードを地図表示モードから一覧表示モードに変更する。これによって、次のフレーム処理(ステップS3〜S14の処理)においては、ステップS7の判定結果が肯定となり、一覧表示モード処理が実行されることになる。ステップS26の後、CPU10は、地図表示モード処理を終了する。なお、地図表示モード処理の次に、図19に示すステップS13の処理が実行される。
図19の説明に戻り、ステップS9においては、一覧表示モード処理が実行される。一覧表示モード処理は、地図表示モードにおいて選択されたグループに含まれるニュース地点に関連付けられているニュース情報の一覧を表示する処理である。以下、図23を参照して、一覧表示モード処理の詳細を説明する。
図23は、図19に示す一覧表示モード処理(ステップS9)の流れを示すフローチャートである。一覧表示モード処理においては、まずステップS61において、CPU10は、直前の地図表示モードにおいて選択されたグループに含まれる先頭のニュース情報を指定する。具体的には、第3カウンタkの値をk=1とする。一覧表示モード処理において、第3カウンタkは、直前の地図表示モードにおいて選択されたグループの先頭からk番目のニュース情報を示す。なお、以下、一覧表示モード処理の説明において、ステップS61または後述するステップS65で指定されているニュース情報を「指定ニュース情報」と呼ぶ。
続くステップS62において、CPU10は、指定ニュース情報の見出しデータをメインメモリ13から読み出す。すなわち、CPU10は、指定ニュース情報に対応するニュース情報データ93に含まれる見出しデータ97をメインメモリ13から読み出す。続くステップS63において、CPU10は、ステップS62で読み出した見出しデータ97を用いて、指定ニュース情報の見出しの画像を生成し、生成した画像を一覧画像(図14に示す一覧画像71)に配置する。なお、見出し画像は、一覧画像の上から順に下に向かって並べて配置される。
続くステップS64において、CPU10は、直前の地図表示モードにおいて選択されたグループに含まれる全てのニュース情報の見出し画像が一覧画像に配置されたか否かを判定する。ステップS64の判定処理は、上記ステップS55と同様、指定ニュース情報がリンクの最後であるか否かによって行われる。ステップS64の判定結果が否定である場合、ステップS65の処理が実行される。一方、ステップS64の判定結果が肯定である場合、後述するステップS66の処理が実行される。
ステップS65において、CPU10は、指定グループにおいて現在の指定ニュース情報の次に接続されている指定ニュース情報を新たに指定する。具体的には、第3カウンタkの値がインクリメントされる。ステップS65の次に、ステップS62の処理が再度実行される。以降、ステップS64において、全てのニュース情報の見出し画像が一覧画像に配置されたと判定されるまで、ステップS62〜S65の処理が繰り返し実行される。これによって、ニュース情報の見出し画像が一覧画像の上から順に下に向かって並べて配置されていく。そして、ステップS64の判定結果が肯定となった場合、一覧画像が生成されたことになる。
上述したように、ニュース情報の見出し画像は下に向かって並べて配置されるので、一覧画像の縦の長さは、画面に表示可能な長さよりも長くなることがある。したがって、ステップS66において、CPU10は、生成された一覧画像のうちで、画面に表示する範囲を決定する。具体的には、一覧表示モードの開始時においては、一覧画像の最上部から所定の長さの範囲が、画面に表示する範囲として決定される。また、上スクロールボタン72が一覧表示モード中にカーソルによって指定された場合、画面に表示する範囲は、見出し画像1つ分だけ上側に移動され、下スクロールボタン73が一覧表示モード中にカーソルによって指定された場合、画面に表示する範囲は、見出し画像1つ分だけ下側に移動される。
続くステップS67において、CPU10は、一覧表示モードにおいて表示すべき画像を生成する。すなわち、まず、ステップS62〜S65の処理によって生成された一覧画像から、ステップS66で決定された表示範囲の画像を抽出する。さらに、抽出された画像に、カーソルの画像および上スクロールボタン72および下スクロールボタン73の画像を重ねることによって、画面に表示すべき画像が生成される(図14)。一覧表示モードにおいては、ステップS67で生成された画像がテレビ2の画面に表示される(後述するステップS13)。
ステップS67の次のステップS68において、CPU10は、ユーザによって操作されるカーソルによってニュース情報が選択されたか否かを判定する。具体的には、まず、ステップS3において取得された操作データを参照して、所定のボタン(例えばAボタン32d)が現在押下されているか否かが判定される。所定のボタンが押下されていない場合、ステップS68の判定結果は否定となる。一方、所定のボタンが押下されている場合、CPU10は、カーソル位置が、表示される一覧画像に含まれる見出し画像のいずれかの内部に位置するか否かを判定する。なお、カーソル位置を示すデータは、カーソルデータ86としてメインメモリ13に記憶されている。カーソル位置が見出し画像のいずれかの内部に位置する場合、ステップS68の判定結果は肯定となる。なお、この場合、CPU10は、カーソル位置がその内部に位置する見出し画像に対応するニュース情報を示すデータをメインメモリ13に記憶しておく。一方、カーソル位置が見出し画像のいずれの内部にも位置しない場合、ステップS68の判定結果は否定となる。ステップS68の判定結果が肯定である場合、ステップS69の処理が実行される。一方、ステップS68の判定結果が否定である場合、ステップS69の処理がスキップされて、一覧表示モード処理が終了される。
ステップS69においては、CPU10は、処理モードを一覧表示モードから本文表示モードに変更する。これによって、次のフレーム処理(ステップS3〜S14の処理)においては、ステップS6の判定結果が肯定となり、本文表示モードにおける処理(ステップS10〜S12)が実行されることになる。ステップS69の後、CPU10は、一覧表示モード処理を終了する。なお、一覧表示モード処理の次に、図19に示すステップS13の処理が実行される。
図19の説明に戻り、ステップS10〜S12においては、本文表示モードにおける処理が実行される。すなわち、ステップS10において、CPU10は、本文表示モードにおいて表示すべき画像を生成する。ステップS10の処理においては、まず、直前の一覧表示モードにおいて選択されたニュース情報の見出しデータおよび本文データが読み出される。すなわち、CPU10は、当該ニュース情報に対応するニュース情報データ93に含まれる見出しデータ97および本文データ98をメインメモリ13から読み出す。なお、当該ニュース情報データ93に画像データが含まれる場合には、見出しデータ97および本文データ98に加えて画像データが読み出される。CPU10は、読み出されたデータを用いてニュース内容画像を生成する。次に、CPU10は、地図表示モードと同様の処理によって地図の画像を生成する。さらに、CPU10は、ニュース内容画像と地図の画像と復帰ボタンの画像とを重ねて、本文表示モードにおいて表示すべき画像を生成する(図15)。本文表示モードにおいては、ステップS10で生成された画像がテレビ2の画面に表示される(後述するステップS13)。
ステップS10の次のステップS11において、CPU10は、本文表示モードから地図表示モードへ復帰するための復帰操作が行われたか否かを判定する。ステップS11の判定は、画面上の復帰ボタンがカーソルによって選択されたか否かによって行われる。ステップS11の判定結果が肯定である場合、ステップS12の処理が実行される。一方、ステップS11の判定結果が否定である場合、ステップS12の処理がスキップされて、ステップS13の処理が実行される。
ステップS12においては、CPU10は、処理モードを本文表示モードから地図表示モードに変更する。これによって、次のフレーム処理(ステップS3〜S14の処理)においては、ステップS7の判定結果が否定となり、地図表示モード処理が実行されることになる。ステップS12の次に、ステップS13の処理が実行される。
ステップS13においては、CPU10は、ステップS10、ステップS23、またはステップS67で生成された画像をテレビ2に表示させる。これによって、図11〜図15に示したような画像が表示されることとなる。続くステップS14において、CPU10は、処理を終了するか否かを判定する。ステップS14の判定は、例えば、処理を終了するための所定の操作がユーザによって行われたか否かによって行われる。ステップS14の判定結果が否定の場合、ステップS3の処理が再度実行される。以降、ステップS14において処理を終了すると判定されるまで、ステップS3〜S14の処理ループが繰り返し実行される。一方、ステップS14の判定結果が肯定の場合、CPU10は、図19に示す処理を終了する。
以上の処理に示したように、本実施形態によれば、ニュース情報が関連付けられてたニュース地点が画面に表示される際、各ニュース地点間の表示上の距離が近いニュース地点については1つのグループに区分されるようにグループが設定される(ステップS22)。そして、グループに対して判定領域が設定される(ステップS24)。ユーザがカーソルによって画面上の位置を指定した場合、当該判定領域を用いてグループが選択されたか否かが判定され(ステップS25)、選択されたグループを単位としてニュース情報の一覧が表示される(ステップS9)。このように、本実施形態では、複数のニュース地点が近接して表示される場合には、当該複数のニュース地点がまとめて選択されるようにする。これによって、複数のニュース地点が近接して表示されるために各ニュース地点を画面上で指定することが難しい場合であっても、ユーザが意図しないニュース地点を誤って選択することを防止することができ、ニュース情報の選択操作を容易に行うことができる。
なお、上記実施形態においては、基準領域および判定領域を円形領域として設定する場合を例として説明したが、領域の形状はこれに限らず、地図上に予め設定される任意の形状の領域を基準領域または判定領域として用いてもよい。例えば、日本については日本全域を都道府県毎に分割し、都道府県毎に分割された領域をニュース地点の基準領域として用いてもよい。すなわち、ニュース地点に対応する基準領域は、当該ニュース地点を含む都道府県の領域として設定されてもよい。このとき、ゲーム装置3は、ニュース地点の表示領域上の位置に対して基準領域を設定するための所定の基準として、都道府県毎に分割された領域の情報を記憶しておけばよい。そして、当該情報に基づいて、ニュース地点に対して基準領域を設定すればよい。また、都道府県毎の領域を基準領域として用いる場合、判定領域は、基準地点から所定距離内の領域としてもよいし、基準地点を含む都道府県の領域として設定されてもよいし、グループに含まれるニュース地点に対応する都道府県の領域を全て含む領域として設定されてもよい。
なお、上記のように基準領域として都道府県毎の領域が用いられる場合、上記ステップS36およびS37において、比較対象となる2つのニュース情報が関連付けられるニュース地点の基準領域が隣接しているか否かを判定するようにしてもよい。すなわち、この判定結果が肯定である場合、当該2つのニュース情報を1つのグループに設定し(ステップS39の処理を実行し)、判定結果が否定である場合、当該2つのニュース情報を別々のグループに設定する(ステップS38の処理を実行する)ようにしてもよい。このように、ステップS37の判定処理は、ニュース地点同士の間隔が所定の基準より近いニュース情報同士によるグループが設定されればよく、当該所定の基準は、距離に関する基準に限られない。
さらに、他の実施形態においては、2つのニュース情報を1つのグループに設定するか否かの判定は、ニュース地点の地名が表示される位置に基づいて行われてもよい。例えば、地名を表示する位置が予め決められている場合、縮尺等の変化によって2つのニュース地点の地名が重なって表示される可能性がある。このような場合に、ニュース情報を1つのグループにするように、グループを設定してもよい。具体的には、ゲーム装置3は、次のような処理を行う。まず、各ニュース地点には、当該ニュース地点の地名を表示する位置(地点)が予め定められているとする(したがって、ニュース情報が関連付けられている地点は、当該地名を表示する地点とみなすことができる。)。ステップS37において、CPU10は、ステップS35で指定グループの先頭に追加されたニュース情報に関連付けられているニュース地点と、指定ニュース情報に関連付けられているニュース地点とについて、ニュース地点の地名を表示する位置(地点)を比較する。そして、比較の結果、2つの地名の表示位置の間の距離が所定距離以下である場合、2つのニュース情報を1つのグループに含めると判定する。逆に、2つの地名の表示位置の間の距離が所定距離よりも遠い場合、2つのニュース情報を1つのグループに含めると判定する。以上のように、ニュース情報が関連付けられる地点は、当該ニュース情報が直接関連付けられる地点の他に、当該ニュース地点に直接関連付けられる地点に関連付けられる地点(ニュース地点に間接的に関連付けられる)地点であってもよい。
また、上記実施形態においては、ゲーム装置3が3次元の仮想空間として地図を構築して画面に表示させる場合を例として説明したが、本発明は、2次元平面として地図が構築される場合にも適用可能である。すなわち、ゲーム装置3は、2次元平面上に地図のうちで表示すべき領域の位置および大きさを決定し、当該領域内の地図の画像をテレビ2に表示させる。なお、上記領域の位置および大きさは、ユーザの操作によって変更可能とする。以上によって地図上のニュース地点の表示位置が決定されるので、上記実施形態のグループ設定処理と同様の方法で、ニュース地点をグループに区分することができる。つまり、グループ設定処理においては、以上のように決定された領域に基づいて決められるニュース地点の表示位置を用いてグループの設定が行われる。
また、他の実施形態においては、表示装置の画面に表示される仮想空間は実際の地図に限らず、仮想世界の地図であってもよいし、地図以外の所定の空間(平面)であってもよい。前者の例としては、例えば、ゲームマップ上の地点に配置されたオブジェクト(例えばアイテムを示す)がゲームマップとともに表示される場合が考えられる。また、後者の例としては、例えば、パーソナルコンピュータにおいて使用されるOSのデスクトップ画面のように、所定の仮想平面に、ファイルやプログラムを表すアイコンが配置される場合が考えられる。
また、上記実施形態においては、仮想空間内の所定位置にニュース情報が関連付けられる場合を例として説明したが、所定位置に関連付けられる情報は、ユーザによって選択されることによって内容が表示される種類のものであれば、どのようなものであってもよい。例えば、仮想空間がゲームマップである場合には、ゲームマップ上の所定位置に関連付けられる情報は、当該所定位置に存在するアイテムや敵の情報であってもよい。
以上のように、本発明は、地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行うこと等を目的として、例えばニュース情報をユーザに提示するための表示制御装置、表示制御プログラムとして利用することができる。
ゲームシステム1の外観図 ゲーム装置3の機能ブロック図 コントローラ5の外観構成を示す斜視図 コントローラ5の外観構成を示す斜視図 コントローラ5の内部構造を示す図 コントローラ5の内部構造を示す図 コントローラ5の構成を示すブロック図 コントローラ5を用いてゲーム操作を行うときの様子を示す図解図 ある縮尺で生成される地図51の画像を示す図 図8に示す画像から地図51の縮尺が変更された場合に生成される地図51の画像を示す図 図8に示す画像から地図51の縮尺が変更された場合に生成される地図51の画像を示す図 地図表示モードにおいてテレビ2の画面に表示される画像の一例を示す図 地図表示モードにおいてテレビ2の画面に表示される画像の一例を示す図 地図表示モードにおいてテレビ2の画面に表示される画像の一例を示す図 一覧表示モードにおいてテレビ2の画面に表示される画像の一例を示す図 本文表示モードにおいてテレビ2の画面に表示される画像の一例を示す図 ゲーム装置3の記憶装置に設けられる記憶領域を示す図 配信データの一例を示す図 第2ニュースバッファ85に格納されるデータのデータ構造を概念的に示す図 ゲーム装置3において実行される処理の流れを示すメインフローチャート 図19に示す地図表示モード処理(ステップS8)の流れを示すフローチャート 図20に示すグループ設定処理(ステップS22)の流れを示すフローチャート 図20に示す画像生成処理(ステップS23)の流れを示すフローチャート 図19に示す一覧表示モード処理(ステップS9)の流れを示すフローチャート
符号の説明
1 ゲームシステム
2 テレビ
3 ゲーム装置
4 光ディスク
5 コントローラ
10 CPU
13 メインメモリ
51 地図
52〜54 ニュース地点
55〜56 基準領域
62a〜62e アイコン

Claims (15)

  1. 仮想空間と表示情報とを表示装置に表示させる表示制御装置のコンピュータで実行される表示制御プログラムであって、
    前記表示制御装置は、複数の前記表示情報を前記仮想空間内の地点に関連付けて記憶する記憶手段を備え、
    前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較ステップと、
    前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第1の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定ステップと、
    前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定ステップと、
    前記仮想空間の画像を前記表示装置に表示させる第1表示制御ステップと、
    ユーザから前記表示領域上における位置を指定する入力を受け付ける第1入力受付ステップと、
    当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第2表示制御ステップとを前記コンピュータに実行させる、表示制御プログラム。
  2. 前記グループ設定ステップにおいて、前記コンピュータは、グループが設定されていない所定の表示情報に関して1つのグループを新規に設定し、前記表示領域上において、当該表示情報が関連付けられた地点からの距離が所定距離よりも短い地点に関連付けられた表示情報を当該グループにさらに含める処理を、グループが設定されていない表示情報が存在しなくなるまで繰り返すことによって前記グループ化を行う、請求項1に記載の表示制御プログラム。
  3. 前記記憶手段には、それぞれの前記地点の表示領域上の位置に対して領域を設定するための所定の第2の基準がさらに記憶され、
    前記グループ設定ステップにおいて、前記コンピュータは、前記第2の基準に基づいて前記所定距離を設定し、
    前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる所定の1つの表示情報が関連付けられた地点に対する領域を前記第2の基準に基づいて設定して、当該グループに対応する判定領域とする、請求項2に記載の表示制御プログラム。
  4. 前記判定領域は、その半径が第1の長さの円形領域であって、前記記憶手段は、当該第1の長さを前記第第2の基準として記憶し、
    前記グループ設定ステップにおいて、前記コンピュータは、前記所定距離を、前記第1の長さの2倍の長さとする、請求項3に記載の表示制御プログラム。
  5. 前記判定領域は、前記地点の前記表示領域上における位置を中心とする円形領域である、請求項4記載の表示制御プログラム。
  6. 前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点をすべて含む領域を、当該グループに対応する判定領域として設定する、請求項1に記載の表示制御プログラム。
  7. 前記記憶手段には、それぞれの前記地点の表示領域上の位置に対して領域を設定するための所定の第2の基準がさらに記憶され、
    前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点のそれぞれに関して領域を前記第2の基準に基づいて設定し、当該設定された各領域を全て含む領域を当該グループに対応する判定領域として設定する、請求項1に記載の表示制御プログラム。
  8. 前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点の表示位置に基づいて前記表示領域上の位置を算出し、算出された位置を含む領域を、当該グループに対応する判定領域として設定する、請求項1に記載の表示制御プログラム。
  9. 前記第1表示制御ステップにおいて、前記コンピュータは、グループを表す画像を、当該グループに対応する判定領域の位置に関連付けて前記仮想空間の画像とともに表示させる、請求項1に記載の表示制御プログラム。
  10. 前記第2表示制御ステップにおいて、前記コンピュータは、前記指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報の一覧を表示させる、請求項1に記載の表示制御プログラム。
  11. 前記第2表示制御ステップにおいて表示される表示情報の一覧から所定の表示情報を選択する入力を受け付ける第2入力受付ステップと、
    前記第2入力受付ステップにおいて表示情報が選択された場合、当該選択された表示情報を前記表示装置に表示させる第3表示制御ステップとを前記コンピュータにさらに実行させる、請求項10に記載の表示制御プログラム。
  12. 前記仮想空間は3次元空間であり、
    前記表示制御プログラムは、
    前記3次元空間内に配置される仮想カメラの位置、姿勢、および視野角の少なくとも1つを変更可能に設定するカメラ設定ステップと、
    前記仮想カメラの設定に基づいて前記地点の表示位置を算出する表示位置算出ステップとを前記コンピュータにさらに実行させ、
    前記グループ設定ステップにおいて、前記コンピュータは、前記表示位置算出ステップにおいて算出された表示位置に基づいてグループを設定し、
    前記第1表示制御ステップにおいて、前記コンピュータは、前記仮想カメラの設定に基づいて前記3次元空間の画像を生成して前記表示装置に表示させる、請求項1から請求項11のいずれかに記載の表示制御プログラム。
  13. 前記仮想空間は2次元空間であり、
    前記表示制御プログラムは、前記2次元空間のうちで表示すべき領域の大きさを変更可能に設定する表示設定ステップを前記コンピュータにさらに実行させ、
    前記第1表示制御ステップにおいて、前記コンピュータは、前記表示設定ステップにおいて設定された領域内の画像を前記表示装置に表示させる、請求項1から請求項11のいずれかに記載の表示制御プログラム。
  14. 仮想空間と表示情報とを表示装置に表示させる表示制御装置であって、
    複数の前記表示情報を前記仮想空間内の地点に関連付けて記憶する記憶手段と、
    前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較手段と、
    前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第1の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定手段と、
    前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定手段と、
    前記仮想空間の画像を前記表示装置に表示させる第1表示制御手段と、
    ユーザから前記表示領域上における位置を指定する入力を受け付ける第1入力受付手段と、
    当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第2表示制御手段とを備える、表示制御装置。
  15. 仮想空間と表示情報とを表示装置に表示させる表示制御装置と、当該表示制御装置と通信可能なサーバとを含むデータ配信システムであって、
    前記サーバは、複数の前記表示情報が前記仮想空間内の地点に関連付けられた配信データを前記表示制御装置へ送信し、
    前記表示制御装置は、
    前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較手段と、
    前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第1の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定手段と、
    前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定手段と、
    前記仮想空間の画像を前記表示装置に表示させる第1表示制御手段と、
    ユーザから前記表示領域上における位置を指定する入力を受け付ける第1入力受付手段と、
    当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第2表示制御手段とを備える、データ配信システム。
JP2007011782A 2007-01-22 2007-01-22 表示制御装置および表示制御プログラム Active JP5183071B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007011782A JP5183071B2 (ja) 2007-01-22 2007-01-22 表示制御装置および表示制御プログラム
US11/723,971 US9092894B2 (en) 2007-01-22 2007-03-22 Display control device and display control program for grouping related items based upon location
EP07006039A EP1947553A1 (en) 2007-01-22 2007-03-23 Display control device and display control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011782A JP5183071B2 (ja) 2007-01-22 2007-01-22 表示制御装置および表示制御プログラム

Publications (2)

Publication Number Publication Date
JP2008176728A true JP2008176728A (ja) 2008-07-31
JP5183071B2 JP5183071B2 (ja) 2013-04-17

Family

ID=38457736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007011782A Active JP5183071B2 (ja) 2007-01-22 2007-01-22 表示制御装置および表示制御プログラム

Country Status (3)

Country Link
US (1) US9092894B2 (ja)
EP (1) EP1947553A1 (ja)
JP (1) JP5183071B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122374A (ja) * 2014-12-25 2016-07-07 株式会社ライブ・アース 情報提示システム、サーバ装置及び情報提示方法
JP2021040231A (ja) * 2019-09-03 2021-03-11 富士ゼロックス株式会社 画像処理装置およびプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4871373B2 (ja) 2009-06-19 2012-02-08 任天堂株式会社 情報処理システムおよび情報処理装置
JP5674296B2 (ja) 2009-09-09 2015-02-25 任天堂株式会社 情報処理システムおよび情報処理装置
JP2011250874A (ja) 2010-05-31 2011-12-15 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP5677811B2 (ja) 2010-06-11 2015-02-25 任天堂株式会社 携帯型情報端末、携帯情報システム、携帯型情報端末制御プログラム
JP2012018657A (ja) 2010-06-11 2012-01-26 Nintendo Co Ltd 情報処理端末、情報処理システム、情報処理プログラム
JP4999213B2 (ja) * 2010-09-17 2012-08-15 任天堂株式会社 情報処理プログラム、携帯端末装置、システム、情報処理方法及び通信システム
JP4882022B1 (ja) 2010-12-28 2012-02-22 任天堂株式会社 通信システム、情報処理プログラム、情報処理方法、情報処理装置、情報処理システム
US9797981B2 (en) * 2012-03-06 2017-10-24 Nissan Motor Co., Ltd. Moving-object position/attitude estimation apparatus and moving-object position/attitude estimation method
CN106066862B (zh) * 2016-05-25 2019-05-31 东软集团股份有限公司 新闻事件显示方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916315A (ja) * 1995-06-30 1997-01-17 Oki Electric Ind Co Ltd 情報検索システム
JP2002340588A (ja) * 2001-03-16 2002-11-27 Alpine Electronics Inc ナビゲーション装置及びpoiアイコン表示方法
JP2002372427A (ja) * 2001-06-15 2002-12-26 Alpine Electronics Inc ナビゲーション装置
JP2003079942A (ja) * 2001-09-17 2003-03-18 Namco Ltd ゲーム情報、情報記憶媒体、及びゲーム装置
JP2003288005A (ja) * 2002-03-28 2003-10-10 Sony Corp 地図表示装置、地図表示方法、地図表示方法のプログラム及び地図表示方法のプログラムを記録した記録媒体
JP2003337041A (ja) * 2002-05-17 2003-11-28 Sony Corp 地図表示システム、地図表示方法、およびプログラム
JP2004069561A (ja) * 2002-08-07 2004-03-04 Denso Corp カーナビゲーション装置
JP2004206338A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp 情報配信システム及びクライアント端末及びサーバ及び情報配信方法及び配信要求プログラム及び配信要求プログラムをコンピュータに読み取り可能に記録した記録媒体及び配信計画プログラム及び配信計画プログラムをコンピュータに読み取り可能に記録した記録媒体及び配信プログラム及び配信プログラムをコンピュータに読み取り可能に記録した記録媒体
JP2005308475A (ja) * 2004-04-20 2005-11-04 Xanavi Informatics Corp 車載情報端末
JP2006208756A (ja) * 2005-01-28 2006-08-10 Mitsubishi Electric Corp 3次元地図配信用データベース構築装置および3次元地図配信サーバ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
US6460036B1 (en) * 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5671342A (en) * 1994-11-30 1997-09-23 Intel Corporation Method and apparatus for displaying information relating to a story and a story indicator in a computer system
US6025843A (en) * 1996-09-06 2000-02-15 Peter Sklar Clustering user interface
JPH1165803A (ja) * 1997-08-22 1999-03-09 Nec Corp 情報視覚化システム
JP4173246B2 (ja) * 1999-04-28 2008-10-29 株式会社リコー 類似画像表示方法及び類似画像表示処理プログラムを格納した記録媒体
JP4437576B2 (ja) * 1999-11-11 2010-03-24 株式会社日立製作所 グラフ表示方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2001236377A (ja) * 1999-12-14 2001-08-31 Mitsubishi Heavy Ind Ltd 図化処理装置及び方法
WO2001063479A1 (en) 2000-02-22 2001-08-30 Metacarta, Inc. Spatially coding and displaying information
GB2366978A (en) 2000-09-15 2002-03-20 Ibm GUI comprising a rotatable 3D desktop
JP2002117034A (ja) 2000-10-06 2002-04-19 Tsukuba Multimedia:Kk 映像・文字ニュースの登録及び提供システム
US6968511B1 (en) * 2002-03-07 2005-11-22 Microsoft Corporation Graphical user interface, data structure and associated method for cluster-based document management
JP2003281187A (ja) * 2002-03-20 2003-10-03 Fujitsu Ltd 仮想三次元情報閲覧方法、コンピュータプログラム及び記録媒体
JP2005010854A (ja) * 2003-06-16 2005-01-13 Sony Computer Entertainment Inc 情報提示方法および装置
US7680858B2 (en) * 2006-07-05 2010-03-16 Yahoo! Inc. Techniques for clustering structurally similar web pages

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916315A (ja) * 1995-06-30 1997-01-17 Oki Electric Ind Co Ltd 情報検索システム
JP2002340588A (ja) * 2001-03-16 2002-11-27 Alpine Electronics Inc ナビゲーション装置及びpoiアイコン表示方法
JP2002372427A (ja) * 2001-06-15 2002-12-26 Alpine Electronics Inc ナビゲーション装置
JP2003079942A (ja) * 2001-09-17 2003-03-18 Namco Ltd ゲーム情報、情報記憶媒体、及びゲーム装置
JP2003288005A (ja) * 2002-03-28 2003-10-10 Sony Corp 地図表示装置、地図表示方法、地図表示方法のプログラム及び地図表示方法のプログラムを記録した記録媒体
JP2003337041A (ja) * 2002-05-17 2003-11-28 Sony Corp 地図表示システム、地図表示方法、およびプログラム
JP2004069561A (ja) * 2002-08-07 2004-03-04 Denso Corp カーナビゲーション装置
JP2004206338A (ja) * 2002-12-25 2004-07-22 Mitsubishi Electric Corp 情報配信システム及びクライアント端末及びサーバ及び情報配信方法及び配信要求プログラム及び配信要求プログラムをコンピュータに読み取り可能に記録した記録媒体及び配信計画プログラム及び配信計画プログラムをコンピュータに読み取り可能に記録した記録媒体及び配信プログラム及び配信プログラムをコンピュータに読み取り可能に記録した記録媒体
JP2005308475A (ja) * 2004-04-20 2005-11-04 Xanavi Informatics Corp 車載情報端末
JP2006208756A (ja) * 2005-01-28 2006-08-10 Mitsubishi Electric Corp 3次元地図配信用データベース構築装置および3次元地図配信サーバ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122374A (ja) * 2014-12-25 2016-07-07 株式会社ライブ・アース 情報提示システム、サーバ装置及び情報提示方法
JP2021040231A (ja) * 2019-09-03 2021-03-11 富士ゼロックス株式会社 画像処理装置およびプログラム
JP7379956B2 (ja) 2019-09-03 2023-11-15 富士フイルムビジネスイノベーション株式会社 画像処理装置およびプログラム

Also Published As

Publication number Publication date
US20080188301A1 (en) 2008-08-07
EP1947553A1 (en) 2008-07-23
US9092894B2 (en) 2015-07-28
JP5183071B2 (ja) 2013-04-17

Similar Documents

Publication Publication Date Title
JP5183071B2 (ja) 表示制御装置および表示制御プログラム
JP5448073B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法
JP5285863B2 (ja) 情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラム
JP5692904B2 (ja) 入力システム、情報処理装置、情報処理プログラム、および指示位置算出方法
US20120238363A1 (en) Information processing system, information processing apparatus, storage medium having information processing program stored therein, and image display method
JP5232478B2 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP5038465B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法および情報処理システム
JP4767200B2 (ja) 情報選択装置および情報選択プログラム
JP2007061489A (ja) 情報処理システムおよびプログラム
JP5607579B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、およびコンテンツ再生制御方法
JP5037842B2 (ja) 情報処理装置およびプログラム
JP6030935B2 (ja) 情報処理プログラム、表示制御装置、表示システム及び表示方法
JP2013110736A (ja) 情報処理システム、サーバシステム、端末システム、情報処理プログラム、および、情報提示方法
EP2587438A1 (en) Video display system; server, information processing device and information processing program which are usable in the video display system; and video display method
JP2013174864A (ja) 表示システム、表示制御装置、情報処理プログラム及び表示方法
JP5620719B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、マップ表示方法
JP5797046B2 (ja) ポインティングシステム、情報処理システム、座標系等の設定方法、情報処理装置、および情報処理プログラム
US20090048930A1 (en) Wireless transmission and reception of information relating to an item advertised on a sign
JP2012252511A (ja) 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
JP5350612B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
JP5807089B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、およびコンテンツ再生制御方法
JP5144242B2 (ja) 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法
JP5827610B2 (ja) 映像表示システム、ならびに、それにおいて用いられるサーバ、情報処理装置、情報処理プログラム、および映像表示方法
JP2011177579A (ja) 情報処理システムおよびプログラム
JP6047197B2 (ja) 表示システム、表示制御装置、情報処理プログラム及び表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091215

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130115

R150 Certificate of patent or registration of utility model

Ref document number: 5183071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250