(57)【特許請求の範囲】
【請求項１】
複数の番組情報を表形式で表示する番組情報表示装置のコンピュータにおいて実行される番組情報表示プログラムであって、前記コンピュータに、
複数のユーザ情報のそれぞれの優先度を設定する優先度設定ステップと、
任意のユーザによって前記複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別ステップと、
前記選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録ステップと、
各番組情報を当該番組情報に登録された前記ユーザ情報の前記優先度に基づいて描画する描画ステップとを実行させる、番組情報表示プログラム。
【請求項２】
前記複数のユーザ情報をそれぞれ対応する複数のアイコンとして表示するユーザ情報表示ステップを前記コンピュータにさらに実行させ、
前記優先度設定ステップは、
前記複数のアイコンのいずれかが指示されたか否かを判別する判別ステップと、
前記判別ステップによっていずれかのアイコンが指示されたことが判別されたとき、当該指示されたアイコンに対応するユーザ情報の優先度が最も高くなるように前記優先度を変更する優先度変更ステップとを含む、請求項１記載の番組情報表示プログラム。
【請求項３】
前記複数のユーザ情報には、それぞれ異なる表示態様が設定されており、
前記描画ステップは、前記番組情報を、前記ユーザ情報の前記優先度に基づいて定められる表示態様で描画する、請求項１または２記載の番組情報表示プログラム。
【請求項４】
前記表示態様は、色または模様である、請求項３記載の番組情報表示プログラム。
【請求項５】
前記描画ステップは、前記番組情報に登録されているユーザ情報のうち、前記優先度が最も高いユーザ情報に設定された表示態様で当該番組情報を描画する、請求項３または４記載の番組情報表示プログラム。
【請求項６】
前記描画ステップは、前記番組情報に登録されているユーザ情報の優先度が高い方から順に、前記ユーザ情報に設定された表示態様が積層されるように、当該番組情報を描画する、請求項４記載の番組情報表示プログラム。
【請求項７】
前記番組情報の描画方法を選択する描画方法選択ステップを前記コンピュータにさらに実行させ、
前記描画ステップは、前記描画方法選択ステップによって第１描画方法が選択されたとき、前記番組情報に登録されているユーザ情報のうち、前記優先度が最も高いユーザ情報に設定された表示態様で当該番組情報を描画し、前記描画方法選択ステップによって第２描画方法が選択されたとき、前記番組情報に登録されているユーザ情報の優先度が高い方から順に、前記ユーザ情報に設定された表示態様が積層されるように、当該番組情報を描画する、請求項４記載の番組情報表示プログラム。
【請求項８】
前記描画ステップは、前記第１描画方法が選択されたとき、前記ユーザ情報の登録された前記番組情報として、前記優先度の最も高い前記ユーザ情報に設定された表示態様を有するかつ他の前記番組情報と同じ高さに揃えられるオブジェクトを形成し、前記第２描画方法が選択されたとき、前記ユーザ情報の登録された前記番組情報として、前記ユーザ情報に設定された表示態様を有するオブジェクトが前記ユーザ情報の優先度の高い方から順に上側から積層された積層体を形成する、請求項７記載の番組情報表示プログラム。
【請求項９】
複数の番組情報を表形式で表示する番組情報表示装置であって、
複数のユーザ情報のそれぞれの優先度を設定する優先度設定手段、
任意のユーザによって前記複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別手段、
前記選択判別手段において選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録手段、および
前記ユーザ情報の登録された前記各番組情報を、当該番組情報に登録された前記ユーザ情報の前記優先度に基づいて描画する描画手段を備える、番組情報表示装置。
【請求項１０】
複数の番組情報を表形式で表示する番組情報表示システムであって、
複数のユーザ情報のそれぞれの優先度を設定する優先度設定手段、
任意のユーザによって前記複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別手段、
前記選択判別手段において選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録手段、および
前記ユーザ情報の登録された前記各番組情報を、当該番組情報に登録された前記ユーザ情報の前記優先度に基づいて描画する描画手段を備える、番組情報表示システム。
【請求項１１】
複数の番組情報を表形式で表示する番組情報表示装置における番組情報表示方法であって、
複数のユーザ情報のそれぞれの優先度を設定する優先度設定ステップ、
任意のユーザによって前記複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別ステップ、
前記選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録ステップ、および
各番組情報を当該番組情報に登録された前記ユーザ情報の前記優先度に基づいて描画する描画ステップを含む、番組情報表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は番組情報表示プログラムおよび番組情報表示装置に関し、特にたとえば、複数の番組情報を表形式で表示する番組情報表示プログラムおよび番組情報表示装置に関する。
【背景技術】
【０００２】
従来、テレビ等の番組予定表を表示する番組情報表示装置において、ユーザの興味のある番組を容易に認識できるようにしたものが知られている。
【０００３】
例えば、特許文献１には、番組の料金やジャンル、居住地、対象性別、対象年齢等の条件に従って、番組情報を探索し、探索の結果をユーザ独自のチャネル（マイチャネル）として番組表内に表示することが開示されている。同一時間帯の複数の番組情報が探索条件を満足する場合、複数のマイチャネルが表示される。また、探索の結果選択された番組を色やフォントを変えて、選択されなかった番組と区別ができるようにしてもよいことが開示されている。
【０００４】
また、特許文献２には、番組表を閲覧した際にユーザが関心のある番組に対して特定のチェックをすると、番組表の特定領域（「ＭＹ番組」表示領域）に、チェックした番組が表示されることが開示されている。
【特許文献１】特開平１１−１８７３２４号公報[H04N 5/44, H04H 7/00, H04N 5/262]
【特許文献２】特開２００１−１１９６３９号公報[H04N 5/445,7/173]
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上述の特許文献１および２では、ユーザが探索またはチェックした番組が番組表とは異なる領域に表示されるため、余分な表示スペースが必要になり、番組表の表示範囲が狭められてしまうという問題があった。また、ユーザが探索またはチェックした番組が番組表のどこに位置するかといった対応関係を直感的に把握することが難しいという欠点もあった。なお、特許文献１には、ユーザが探索した番組を色やフォントを変えて他の番組と区別できるように表示してもよいことが開示されているが、複数のユーザがそれぞれ探索またはチェックを行った場合にそれをどのように表示するかについては何ら開示されていない。
【０００６】
それゆえに、この発明の主たる目的は、新規な、番組情報表示プログラムおよび番組情報表示装置を提供することである。
【０００７】
この発明の他の目的は、各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて当該番組情報に描画することのできる、番組情報表示プログラムおよび番組情報表示装置を提供することである。
【０００８】
この発明の他の目的は、番組情報に登録されたユーザ情報を分かり易く表示できる、番組情報表示プログラムおよび番組情報表示装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１０】
第１の発明は、複数の番組情報を表形式で表示する番組情報表示装置のコンピュータにおいて実行される番組情報表示プログラムである。番組情報表示プログラムは、優先度設定ステップと選択判別ステップとユーザ情報登録ステップと描画ステップとをコンピュータに実行させる。優先度設定ステップは、複数のユーザ情報のそれぞれの優先度を設定する。選択判別ステップは、ユーザによって前記複数の番組情報から任意の番組情報が選択されたか否かを判別する。ユーザ情報登録ステップは、選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行う。描画ステップは、各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて描画する。
【００１１】
第１の発明では、番組情報表示プログラムは、番組情報表示装置（１０、１２）のコンピュータ（４０、４２ｂ）において実行され、複数の番組情報が表形式で、つまり、番組表として表示される。番組表として表示された複数の番組情報は、複数のユーザによって共用されるものであり、たとえば、各ユーザのアカウントのようなユーザ情報が登録されて記憶されている。優先度設定ステップ（Ｓ１、Ｓ７−Ｓ１１）では、複数のユーザ情報のそれぞれの優先度が設定され、たとえば各ユーザ情報の優先度を示す優先順位テーブルが生成される。選択判別ステップ（Ｓ１３）は、ユーザによって複数の番組情報から任意の番組情報が選択されたか否かを判別する。ユーザ情報登録ステップ（Ｓ１３−Ｓ１５）では、選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行う。たとえば、ユーザの操作によって興味のある番組情報に対してユーザ情報が登録され、当該番組情報と登録したユーザ情報とが関連付けられた番組登録データが生成される。描画ステップ（Ｓ１９）では、各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて描画する。各番組情報に登録されているユーザ情報の優先度は、たとえば登録番組データと優先順位テーブルに基づいて把握される。この描画により、登録されたユーザ情報が優先度に基づいて表現された番組情報が表示される。
【００１２】
第１の発明によれば、選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行い、そのようなユーザ情報の登録された番組情報が当該番組情報に登録されたユーザ情報の優先度に基づいて描画されるので、各番組情報に登録されたユーザ情報を優先度に基づいて当該番組情報に描画することができる。また、表形式で表示された複数の番組情報において、各番組情報が、当該番組情報に登録されたユーザ情報の優先度に基づいて描画されるので、番組情報に登録されたユーザ情報を分かり易く表示できる。
【００１３】
第２の発明は、第１の発明に従属する番組情報表示プログラムであって、複数のユーザ情報をそれぞれ対応する複数のアイコンとして表示するユーザ情報表示ステップをコンピュータにさらに実行させる。優先度設定ステップは、複数のアイコンのいずれかが指示されたか否かを判別する判別ステップと、判別ステップによっていずれかのアイコンが指示されたことが判別されたとき、当該指示されたアイコンに対応するユーザ情報の優先度が最も高くなるように優先度を変更する優先度変更ステップとを含む。
【００１４】
第２の発明では、ユーザ情報表示ステップ（Ｓ３、Ｓ８３）で、複数のユーザ情報のそれぞれに対応する複数のアイコン（８００）が表示される。判別ステップ（Ｓ７）では、複数のアイコンのいずれかが指示されたか否かが判別される。たとえば、アイコンの表示位置データとユーザによる入力データとに基づいてこの判別が行われ、ユーザによって指示されたアイコンが特定される。優先度変更ステップ（Ｓ９−Ｓ１１）では、指示されたアイコンに対応するユーザ情報の優先度が最も高くなるように、優先度が変更される。したがって、描画ステップでは、変更された優先度に基づいて番組情報が描画される。
【００１５】
第２の発明によれば、ユーザ情報の優先度を変更することができる。特に、ユーザ情報に対応するアイコンを指示することによりそのユーザ情報の優先度が最も高くなるように変更するので、所望のユーザ情報の優先度が最も高くなるように変更することができる。したがって、アイコンの指示によってユーザ情報の優先度を変化させることにより、当該ユーザ情報の登録されている番組情報の表示に変化を与えることができ、たとえば、所望のユーザ情報がどの番組情報に登録されているのかを容易に知ることができる。
【００１６】
第３の発明は、第１または第２の発明に従属する番組情報表示プログラムであって、複数のユーザ情報には、それぞれ異なる表示態様が設定されており、描画ステップは、番組情報を、ユーザ情報の優先度に基づいて定められる表示態様で描画する。
【００１７】
第３の発明では、各ユーザ情報には、異なる表示態様が設定される。描画ステップ（Ｓ６７、Ｓ７５−Ｓ７７）では、番組情報がユーザ情報の優先度に基づいて定められる表示態様で描画される。したがって、登録されたユーザ情報の優先度に基づく表示態様を有する番組情報が表示される。
【００１８】
第３の発明によれば、番組情報の表示態様によって、登録されたユーザ情報を表現することができるとともに、当該登録されたユーザ情報の優先度に従った表示をすることができる。
【００１９】
第４の発明は、第３の発明に従属する番組情報表示プログラムであって、表示態様は、色または模様である。
【００２０】
第４の発明では、各ユーザ情報には、異なる色または模様が設定される。したがって、番組情報がユーザ情報の優先度に基づく色または模様で描画される。第４の発明によれば、番組情報の色または模様によって、登録されたユーザ情報を優先度に基づいて分り易く表示できる。
【００２１】
第５の発明は、第３または第４の発明に従属する番組情報表示プログラムであって、描画ステップは、番組情報に登録されているユーザ情報のうち、優先度が最も高いユーザ情報に設定された表示態様で当該番組情報を描画する。
【００２２】
第５の発明では、描画ステップ（Ｓ６７）では、ユーザ情報の登録された番組情報が、優先度の最も高いユーザ情報に設定された表示態様で描画される。したがって、番組情報のたとえば色、模様、フォントなどの表示態様によって、優先度が最も高いユーザ情報の登録状況を容易に確認することができる。さらに、第２の発明との組み合わせにおいては、指示されたアイコンに対応するユーザ情報の優先度が最も高くなるように変更されるので、所望のアイコンを指示すると、当該アイコンに対応するユーザ情報の登録されている番組情報が、当該ユーザ情報に設定された表示態様で描画される。したがって、指示するユーザ情報を変えることにより優先度が最も高いユーザ情報の登録状況を切り替えて表示することができ、所望のユーザ情報の登録状況を容易に知ることができる。
【００２３】
第６の発明は、第４の発明に従属する番組情報表示プログラムであって、描画ステップは、番組情報に登録されているユーザ情報の優先度が高い方から順に、ユーザ情報に設定された表示態様が積層されるように、当該番組情報を描画する。
【００２４】
第６の発明では、描画ステップ（Ｓ７５−Ｓ７７）では、ユーザ情報の登録された番組情報が、優先度が高い方から順に、ユーザ情報に設定された表示態様が積層されるように描画される。したがって、番組情報において表示態様として積層された色または模様によって、当該番組情報に何人のユーザ情報が登録されているかを容易に確認できるとともに、色または模様の積層の順番によって、各ユーザ情報の優先度も容易に確認することができる。
【００２５】
第７の発明は、第４の発明に従属する番組情報表示プログラムであって、番組情報の描画方法を選択する描画方法選択ステップをコンピュータにさらに実行させる。描画ステップは、描画方法選択ステップによって第１描画方法が選択されたとき、番組情報に登録されているユーザ情報のうち、優先度が最も高いユーザ情報に設定された表示態様で当該番組情報を描画し、描画方法選択ステップによって第２描画方法が選択されたとき、番組情報に登録されているユーザ情報の優先度が高い方から順に、ユーザ情報に設定された表示態様が積層されるように、当該番組情報を描画する。
【００２６】
第７の発明では、描画方法選択ステップ（Ｓ１７）では、番組情報の描画方法が選択される。たとえば、ユーザの操作に応じて描画方法が選択される。第１描画方法の場合、ユーザ情報の登録された番組情報が、優先度の最も高いユーザ情報に設定された表示態様で描画される。第２描画方法の場合、ユーザ情報の登録された番組情報が、優先度の高い方から順に、ユーザ情報に設定された表示態様が積層されるように描画される。
【００２７】
第７の発明によれば、各番組情報に登録されているユーザ情報のうち、最も優先度の高いユーザ情報のみを表示するか、全てのユーザ情報を優先度順に表示するかを好みに応じて選択することができる。
【００２８】
第８の発明は、第７の発明に従属する番組情報表示プログラムであって、描画ステップは、第１描画方法が選択されたとき、ユーザ情報の登録された番組情報として、優先度の最も高いユーザ情報に設定された表示態様を有するかつ他の番組情報と同じ高さに揃えられるオブジェクトを形成し、第２描画方法が選択されたとき、ユーザ情報の登録された番組情報として、ユーザ情報に設定された表示態様を有するオブジェクトがユーザ情報の優先度の高い方から順に上側から積層された積層体を形成する。
【００２９】
第８の発明では、第１描画方法の場合、各番組情報が高さの揃えられたオブジェクトで形成されるとともに、ユーザ情報の登録された番組情報として、優先度の最も高いユーザ情報に設定された表示態様を有するオブジェクトが形成される。また、第２描画方法の場合、ユーザ情報の登録された番組情報として、ユーザ情報に設定された表示態様を有するオブジェクトがユーザ情報の優先度の高い順に上側から積層された積層体が形成される。したがって、第１描画方法および第２描画方法による番組情報の描画を簡単に実行することができる。
【００３０】
第９の発明は、複数の番組情報を表形式で表示する番組情報表示装置であって、複数のユーザ情報のそれぞれの優先度を設定する優先度設定手段、任意のユーザによって複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別手段、選択判別手段において選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録手段、およびユーザ情報の登録された各番組情報を、当該番組情報に登録されたユーザ情報の優先度に基づいて描画する描画手段を備える、番組情報表示装置である。
第１０の発明は、複数の番組情報を表形式で表示する番組情報表示システムであって、複数のユーザ情報のそれぞれの優先度を設定する優先度設定手段、任意のユーザによって複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別手段、選択判別手段において選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録手段、およびユーザ情報の登録された各番組情報を、当該番組情報に登録されたユーザ情報の優先度に基づいて描画する描画手段を備える、番組情報表示システムである。
第１１の発明は、複数の番組情報を表形式で表示する番組情報表示装置における番組情報表示方法であって、複数のユーザ情報のそれぞれの優先度を設定する優先度設定ステップ、任意のユーザによって複数の番組情報から任意の番組情報が選択されたか否かを判別する選択判別ステップ、選択判別ステップにおいて選択されたと判別されたとき、当該番組情報に対して当該ユーザ情報の登録を行うユーザ情報登録ステップ、および各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて描画する描画ステップを含む、番組情報表示方法である。
【００３１】
第９の発明、第１０の発明、第１１の発明は、第１の発明の番組情報表示プログラムに対応する番組情報表示装置、番組情報表示システム、番組情報表示方法であり、上述の第１の発明と同様の効果を奏する。
【発明の効果】
【００３２】
この発明によれば、各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて当該番組情報に描画することができる。番組情報に複数のユーザ情報が登録された場合、優先度に基づいて番組情報に登録されたユーザ情報が描画されるので、番組情報に登録されたユーザ情報を分かり易く表示でき、当該番組情報に対するユーザ情報の登録状況を容易に把握することができる。
【００３３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３４】
図１を参照して、この発明の一実施例であるゲームシステム１０は、ビデオゲーム装置（以下、単に「ゲーム装置」という。）１２およびコントローラ２２を含む。なお、図示は省略するが、この実施例のゲーム装置１２は、最大４つのコントローラ２２と通信可能に設計されている。また、ゲーム装置１２と各コントローラ２２とは、無線によって接続される。たとえば、無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格に従って実行されるが、赤外線や無線ＬＡＮなど他の規格に従って実行されてもよい。さらには、有線で接続されても良い。
【００３５】
なお、この実施例では、図１に示すように家庭で使用される据え置き型のゲーム装置１２を用いて、この発明の情報処理装置１０を構成した場合を説明するが、他の実施例では、パーソナルコンピュータ、携帯電話機、携帯情報端末など他のコンピュータが用いられてもよい。
【００３６】
ゲーム装置１２は、略直方体のハウジング１４を含み、ハウジング１４の前面にはディスクスロット１６が設けられる。ディスクスロット１６から、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク１８が挿入されて、ハウジング１４内のディスクドライブ５４（図２参照）に装着される。ディスクスロット１６の周囲には、ＬＥＤと導光板が配置され、さまざまな処理に応答させて点灯させることが可能である。
【００３７】
また、ゲーム装置１２のハウジング１４の前面であり、その上部には、電源ボタン２０ａおよびリセットボタン２０ｂが設けられ、その下部には、イジェクトボタン２０ｃが設けられる。さらに、リセットボタン２０ｂとイジェクトボタン２０ｃとの間であり、ディスクスロット１６の近傍には、外部メモリカード用コネクタカバー２８が設けられる。この外部メモリカード用コネクタカバー２８の内側には、外部メモリカード用コネクタ６２（図２参照）が設けられ、図示しない外部メモリカード（以下、単に「メモリカード」という。）が挿入される。メモリカードは、光ディスク１８から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム１０を利用してプレイしたゲームのゲームデータ（ゲームの結果データまたは途中データ）を保存（セーブ）しておいたりするために利用される。ただし、上記のゲームデータの保存は、メモリカードに対して行うことに代えて、たとえばゲーム装置１２の内部に設けられるフラッシュメモリ４４（図２参照）のような内部メモリに対して行うようにしてもよい。また、メモリカードは、内部メモリのバックアップメモリとして用いるようにしてもよい。
【００３８】
なお、メモリカードとしては、汎用のＳＤカードを用いることができるが、メモリスティックやマルチメディアカード（登録商標）のような他の汎用のメモリカードを用いることもできる。
【００３９】
ゲーム装置１２のハウジング１４の後面には、ＡＶケーブルコネクタ５８（図２参照）が設けられ、そのＡＶコネクタ５８を用いて、ＡＶケーブル３２ａを通してゲーム装置１２にモニタ３４およびスピーカ３４ａを接続する。このモニタ３４およびスピーカ３４ａは典型的にはカラーテレビジョン受像機であり、ＡＶケーブル３２ａは、ゲーム装置１２からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ（モニタ）３４の画面上にたとえば３次元（３Ｄ）ビデオゲームのゲーム画像が表示され、左右のスピーカ３４ａからゲーム音楽や効果音などのステレオゲーム音声が出力される。また、モニタ３４の周辺（この実施例では、モニタ３４の上側）には、２つの赤外ＬＥＤ（マーカ）３４０ｍ，３４０ｎを備えるマーカ部３４ｂが設けられる。このマーカ部３４ｂは、電源ケーブル３２ｂを通してゲーム装置１２に接続される。したがって、マーカ部３４ｂには、ゲーム装置１２から電源が供給される。これによって、マーカ３４０ｍ，３４０ｎは発光し、それぞれモニタ３４の前方に向けて赤外光を出力する。
【００４０】
なお、ゲーム装置１２の電源は、一般的なＡＣアダプタ（図示せず）によって与えられる。ＡＣアダプタは家庭用の標準的な壁ソケットに差し込まれ、ゲーム装置１２は、家庭用電源（商用電源）を、駆動に適した低いＤＣ電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【００４１】
このゲームシステム１０において、ユーザまたはプレイヤがゲーム（またはゲームに限らず、他のアプリケーション）をプレイするために、ユーザはまずゲーム装置１２の電源をオンし、次いで、ユーザはビデオゲーム（もしくはプレイしたいと思う他のアプリケーション）のプログラムを記録している適宜の光ディスク１８を選択し、その光ディスク１８をゲーム装置１２のディスクドライブ５４にローディングする。応じて、ゲーム装置１２がその光ディスク１８に記録されているプログラムに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置１２に入力を与えるためにコントローラ２２を操作する。たとえば、入力手段２６のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。また、入力手段２６に対する操作以外にも、コントローラ２２自体を動かすことによって、動画オブジェクト（プレイヤオブジェクト）を異なる方向に移動させ、または３Ｄのゲーム世界におけるユーザの視点（カメラ位置）を変化させることができる。
【００４２】
なお、ゲームまたは他のアプリケーションのプログラムおよびデータは、予めゲーム装置１２のフラッシュメモリ４４（図２）のような内部メモリに記憶されていてもよいし、ネットワーク上のダウンロードサーバからダウンロードして内部メモリに追加的に記憶されてもよい。
【００４３】
図２は図１実施例のビデオゲームシステム１０の電気的な構成を示すブロック図である。図示は省略するが、ハウジング１４内の各コンポーネントは、プリント基板に実装される。図２に示すように、ゲーム装置１２には、ＣＰＵ４０が設けられる。このＣＰＵ４０は、ゲームプロセッサとして機能する。このＣＰＵ４０には、システムＬＳＩ４２が接続される。このシステムＬＳＩ４２には、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８、ディスクドライブ５４およびＡＶ  ＩＣ５６が接続される。
【００４４】
外部メインメモリ４６は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりし、ＣＰＵ４０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ４８は、いわゆるブートＲＯＭであり、ゲーム装置１２の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ５４は、光ディスク１８からプログラムデータやテクスチャデータ等を読み出し、ＣＰＵ４０の制御の下で、後述する内部メインメモリ４２ｅまたは外部メインメモリ４６に書き込む。
【００４５】
システムＬＳＩ４２には、入出力プロセッサ４２ａ、ＧＰＵ(Graphics Processor Unit)４２ｂ，ＤＳＰ(Digital Signal Processor)４２ｃ，ＶＲＡＭ４２ｄおよび内部メインメモリ４２ｅが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【００４６】
入出力プロセッサ（Ｉ／Ｏプロセッサ）４２ａは、データの送受信を実行したり、データのダウンロードを実行したりする。
【００４７】
ＧＰＵ４２ｂは、描画手段の一部を形成し、ＣＰＵ４０からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、ＣＰＵ４０は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをＧＰＵ４２ｂに与える。
【００４８】
図示は省略するが、上述したように、ＧＰＵ４２ｂにはＶＲＡＭ４２ｄが接続される。ＧＰＵ４２ｂが作画コマンドを実行するにあたって必要なデータ（画像データ：ポリゴンデータやテクスチャデータなどのデータ）は、ＧＰＵ４２ｂがＶＲＡＭ４２ｄにアクセスして取得する。なお、ＣＰＵ４０は、描画に必要な画像データを、ＧＰＵ４２ｂを介してＶＲＡＭ４２ｄに書き込む。ＧＰＵ４２ｂは、ＶＲＡＭ４２ｄにアクセスして描画のためのゲーム画像データを作成する。
【００４９】
なお、この実施例では、ＧＰＵ４２ｂがゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、ＧＰＵ４２ｂは当該任意のアプリケーションについての画像データを生成する。
【００５０】
また、ＤＳＰ４２ｃは、オーディオプロセッサとして機能し、内部メインメモリ４２ｅや外部メインメモリ４６に記憶されるサウンドデータや音波形（音色）データを用いて、スピーカ３４ａから出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【００５１】
上述のように生成されたゲーム画像データおよびオーディオデータは、ＡＶ  ＩＣ５６によって読み出され、ＡＶコネクタ５８を介してモニタ３４およびスピーカ３４ａに出力される。したがって、ゲーム画面がモニタ３４に表示され、ゲームに必要な音（音楽）がスピーカ３４ａから出力される。
【００５２】
また、入出力プロセッサ４２ａには、フラッシュメモリ４４、無線通信モジュール５０および無線コントローラモジュール５２が接続されるとともに、拡張コネクタ６０およびメモリカード用コネクタ６２が接続される。また、無線通信モジュール５０にはアンテナ５０ａが接続され、無線コントローラモジュール５２にはアンテナ５２ａが接続される。
【００５３】
入出力プロセッサ４２ａは、無線通信モジュール５０を介して、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ４２ａは、定期的にフラッシュメモリ４４にアクセスし、ネットワークへ送信する必要があるデータ（送信データとする）の有無を検出し、当該送信データが有る場合には、無線通信モジュール５０およびアンテナ５０ａを介してネットワークに送信する。また、入出力プロセッサ４２ａは、他のゲーム装置から送信されるデータ（受信データとする）を、ネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、受信データをフラッシュメモリ４４に記憶する。ただし、一定の場合には、受信データをそのまま破棄する。さらに、入出力プロセッサ４２ａは、ダウンロードサーバからダウンロードしたデータ（ダウンロードデータとする）をネットワーク、アンテナ５０ａおよび無線通信モジュール５０を介して受信し、そのダウンロードデータをフラッシュメモリ４４に記憶する。
【００５４】
また、入出力プロセッサ４２ａは、コントローラ２２から送信される入力データをアンテナ５２ａおよび無線コントローラモジュール５２を介して受信し、内部メインメモリ４２ｅまたは外部メインメモリ４６のバッファ領域に記憶（一時記憶）する。入力データは、ＣＰＵ４０のゲーム処理によって利用された後、バッファ領域から消去される。
【００５５】
なお、この実施例では、上述したように、無線コントローラモジュール５２は、Ｂｌｕｅｔｏｏｔｈ規格にしたがってコントローラ２２との間で通信を行う。
【００５６】
さらに、入出力プロセッサ４２ａには、拡張コネクタ６０および外部メモリカード用コネクタ６２が接続される。拡張コネクタ６０は、ＵＳＢやＳＣＳＩのようなインターフェイスのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ６０に有線ＬＡＮアダプタを接続し、無線通信モジュール５０に代えて当該有線ＬＡＮを利用することもできる。外部メモリカード用コネクタ６２には、メモリカードのような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ４２ａは、拡張コネクタ６０や外部メモリカード用コネクタ６２を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００５７】
詳細な説明は省略するが、図１にも示したように、ゲーム装置１２（ハウジング１４）には、電源ボタン２０ａ，リセットボタン２０ｂおよびイジェクトボタン２０ｃが設けられる。電源ボタン２０ａは、システムＬＳＩ４２に接続される。この電源ボタン２０ａがオンされると、ゲーム装置１２の各コンポーネントに図示しないＡＣアダプタを経て電源が供給され、システムＬＳＩ４２は、通常の通電状態となるモード（通常モードと呼ぶこととする）を設定する。一方、電源ボタン２０ａがオフされると、ゲーム装置１２の一部のコンポーネントのみに電源が供給され、システムＬＳＩ４２は、消費電力を必要最低限に抑えるモード（以下、「スタンバイモード」という。）を設定する。この実施例では、スタンバイモードが設定された場合には、システムＬＳＩ４２は、入出力プロセッサ４２ａ、フラッシュメモリ４４、外部メインメモリ４６、ＲＯＭ／ＲＴＣ４８および無線通信モジュール５０、無線コントローラモジュール５２以外のコンポーネントに対して、電源供給を停止する指示を行う。したがって、このスタンバイモードは、ＣＰＵ４０によってアプリケーションの実行が行われないモードである。
【００５８】
なお、システムＬＳＩ４２には、スタンバイモードにおいても電源が供給されるが、ＧＰＵ４２ｂ、ＤＳＰ４２ｃおよびＶＲＡＭ４２ｄへのクロックの供給を停止することにより、これらを駆動させないようにして、消費電力を低減するようにしてある。
【００５９】
また、図示は省略するが、ゲーム装置１２のハウジング１４内部には、ＣＰＵ４０やシステムＬＳＩ４２などのＩＣの熱を外部に排出するためのファンが設けられる。スタンバイモードでは、このファンも停止される。
【００６０】
ただし、スタンバイモードを利用したくない場合には、スタンバイモードを利用しない設定にしておくことにより、電源ボタン２０ａがオフされたときに、すべての回路コンポーネントへの電源供給が完全に停止される。
【００６１】
また、通常モードとスタンバイモードの切り替えは、コントローラ２２の電源スイッチ２６ｈのオン／オフの切り替えによっても遠隔操作によって行うことが可能である。当該遠隔操作を行わない場合には、スタンバイモードにおいて無線コントローラモジュール５２ａへの電源供給を行わない設定にしてもよい。
【００６２】
リセットボタン２０ｂもまた、システムＬＳＩ４２に接続される。リセットボタン２０ｂが押されると、システムＬＳＩ４２は、ゲーム装置１２の起動プログラムを再起動する。イジェクトボタン２０ｃは、ディスクドライブ５４に接続される。イジェクトボタン２０ｃが押されると、ディスクドライブ５４から光ディスク１８が排出される。
【００６３】
図３（Ａ）ないし図３（Ｅ）は、コントローラ２２の外観の一例を示す。図３（Ａ）はコントローラ２２の先端面を示し、図３（Ｂ）はコントローラ２２の上面を示し、図３（Ｃ）はコントローラ２２の右側面を示し、図３（Ｄ）はコントローラ２２の下面を示し、そして、図３（Ｅ）はコントローラ２２の後端面を示す。
【００６４】
図３（Ａ）ないし図３（Ｅ）を参照して、コントローラ２２は、たとえばプラスチック成型によって形成されたハウジング２２ａを有している。ハウジング２２ａは、略直方体形状であり、ユーザが片手で把持可能な大きさである。ハウジング２２ａ（コントローラ２２）には、入力手段（複数のボタンないしスイッチ）２６が設けられる。具体的には、図３（Ｂ）に示すように、ハウジング２２ａの上面には、十字キー２６ａ，１ボタン２６ｂ，２ボタン２６ｃ，Ａボタン２６ｄ，−ボタン２６ｅ，ＨＯＭＥボタン２６ｆ，＋ボタン２６ｇおよび電源スイッチ２６ｈが設けられる。また、図３（Ｃ）および図３（Ｄ）に示すように、ハウジング２２ａの下面に傾斜面が形成されており、この傾斜面に、Ｂトリガースイッチ２６ｉが設けられる。
【００６５】
十字キー２６ａは、４方向プッシュスイッチであり、矢印で示す４つの方向、前（または上）、後ろ（または下）、右および左の操作部を含む。この操作部のいずれか１つを操作することによって、プレイヤによって操作可能なキャラクタまたはオブジェクト（プレイヤキャラクタまたはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００６６】
１ボタン２６ｂおよび２ボタン２６ｃは、それぞれ、押しボタンスイッチである。たとえば３次元ゲーム画像を表示する際の視点位置や視点方向、すなわち仮想カメラの位置や画角を調整する等のゲームの操作に使用される。または、１ボタン２６ｂおよび２ボタン２６ｃは、Ａボタン２６ｄおよびＢトリガースイッチ２６ｉと同じ操作或いは補助的な操作をする場合に用いるようにしてもよい。
【００６７】
Ａボタンスイッチ２６ｄは、押しボタンスイッチであり、プレイヤキャラクタまたはプレイヤオブジェクトに、方向指示以外の動作、すなわち、打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせるために使用される。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かすなどを指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。
【００６８】
−ボタン２６ｅ、ＨＯＭＥボタン２６ｆ、＋ボタン２６ｇおよび電源スイッチ２６ｈもまた、押しボタンスイッチである。−ボタン２６ｅは、ゲームモードを選択するために使用される。ＨＯＭＥボタン２６ｆは、ゲームメニュー（メニュー画面）を表示するために使用される。＋ボタン２６ｇは、ゲームを開始（再開）したり、一時停止したりするなどのために使用される。電源スイッチ２６ｈは、ゲーム装置１２の電源を遠隔操作によってオン／オフするために使用される。
【００６９】
なお、この実施例では、コントローラ２２自体をオン／オフするための電源スイッチは設けておらず、コントローラ２２の入力手段２６のいずれかを操作することによってコントローラ２２はオンとなり、一定時間（たとえば、３０秒）以上操作しなければ自動的にオフとなるようにしてある。
【００７０】
Ｂトリガースイッチ２６ｉもまた、押しボタンスイッチであり、主として、弾を撃つなどのトリガを模した入力を行ったり、コントローラ２２で選択した位置を指定したりするために使用される。また、Ｂトリガースイッチ２６ｉを押し続けると、プレイヤオブジェクトの動作やパラメータを一定の状態に維持することもできる。また、一定の場合には、Ｂトリガースイッチ２６ｉは、通常のＢボタンと同様に機能し、Ａボタン２６ｄによって決定したアクションを取り消すなどのために使用される。
【００７１】
また、図３（Ｅ）に示すように、ハウジング２２ａの後端面に外部拡張コネクタ２２ｂが設けられ、また、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、後端面側にはインジケータ２２ｃが設けられる。外部拡張コネクタ２２ｂは、図示しない別の拡張コントローラを接続するためなどに使用される。インジケータ２２ｃは、たとえば、４つのＬＥＤで構成され、４つのうちのいずれか１つを点灯することにより、点灯ＬＥＤに対応するコントローラ２２の識別情報（コントローラ番号）を示したり、点灯させるＬＥＤの個数によってコントローラ２２の電源残量を示したりすることができる。
【００７２】
さらに、コントローラ２２は、撮像情報演算部８０（図４参照）を有しており、図３（Ａ）に示すように、ハウジング２２ａの先端面には撮像情報演算部８０の光入射口２２ｄが設けられる。また、コントローラ２２は、スピーカ８６（図４参照）を有しており、このスピーカ８６は、図３（Ｂ）に示すように、ハウジング２２ａの上面であり、１ボタン２６ｂとＨＯＭＥボタン２６ｆとの間に設けられる音抜き孔２２ｅに対応して、ハウジング２２ａ内部に設けられる。
【００７３】
なお、図３（Ａ）ないし図３（Ｅ）に示したコントローラ２２の形状や、各入力手段２６の形状、数および設置位置等は単なる一例に過ぎず、それらが適宜改変された場合であっても、本発明を実現できることは言うまでもない。
【００７４】
図４はコントローラ２２の電気的な構成を示すブロック図である。この図４を参照して、コントローラ２２はプロセッサ７０を含み、このプロセッサ７０には、内部バス（図示せず）によって、外部拡張コネクタ２２ｂ、入力手段２６、メモリ７２、加速度センサ７４、無線モジュール７６、撮像情報演算部８０、ＬＥＤ８２（インジケータ２２ｃ）、バイブレータ８４、スピーカ８６および電源回路８８が接続される。また、無線モジュール７６には、アンテナ７８が接続される。
【００７５】
プロセッサ７０は、コントローラ２２の全体制御を司り、入力手段２６、加速度センサ７４および撮像情報演算部８０によって入力された情報（入力情報）を、入力データとして無線モジュール７６およびアンテナ７８を介してゲーム装置１２に送信（入力）する。このとき、プロセッサ７０は、メモリ７２を作業領域ないしバッファ領域として用いる。
【００７６】
上述した入力手段２６（２６ａ−２６ｉ）からの操作信号（操作データ）は、プロセッサ７０に入力され、プロセッサ７０は操作データを一旦メモリ７２に記憶する。
【００７７】
また、加速度センサ７４は、コントローラ２２の縦方向（ｙ軸方向）、横方向（ｘ軸方向）および前後方向（ｚ軸方向）の３軸で各々の加速度を検出する。この加速度センサ７４は、典型的には、静電容量式の加速度センサであるが、他の方式のものを用いるようにしてもよい。
【００７８】
たとえば、加速度センサ７４は、第１所定時間毎に、ｘ軸，ｙ軸，ｚ軸の各々についての加速度（ａｘ，ａｙ，ａｚ）を検出し、検出した加速度のデータ（加速度データ）をプロセッサ７０に入力する。たとえば、加速度センサ７４は、各軸方向の加速度を、−２．０ｇ〜２．０ｇ（ｇは重力加速度である。以下、同じ。）の範囲で検出する。プロセッサ７０は、加速度センサ７４から与えられる加速度データを、第２所定時間毎に検出し、一旦メモリ７２に記憶する。プロセッサ７０は、操作データ、加速度データおよび後述するマーカ座標データの少なくとも１つを含む入力データを作成し、作成した入力データを、第３所定時間（たとえば、５ｍｓｅｃ）毎にゲーム装置１２に送信する。
【００７９】
なお、図３（Ａ）−図３（Ｅ）では省略したが、この実施例では、加速度センサ７４は、ハウジング２２ａ内部の基板上の十字キー２６ａが配置される付近に設けられる。
【００８０】
ここで、加速度センサ７４から出力される加速度データに基づいて、ゲーム装置１２のプロセッサ（たとえば、ＣＰＵ４０）またはコントローラ２２のプロセッサ（たとえば、プロセッサ７０）などのコンピュータが処理を行うことによって、コントローラ２２に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。
【００８１】
たとえば、１軸の加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合、すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合、コントローラ２２が現実に静的な状態であれば、検出された加速度データに基づいてコントローラ２２の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向である状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることができる。
【００８２】
また、多軸の加速度センサの場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサの出力に基づいて、プロセッサ７０がコントローラ２２の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータの算出処理を行うことなく、加速度センサからの出力に基づいて、おおよその傾きを推定できるような処理としてもよい。このように、加速度センサをプロセッサと組み合わせることによって、コントローラ２２の傾き、姿勢または位置を判定することができる。
【００８３】
一方、加速度センサが動的な状態を前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動きの方向などを知ることができる。具体的には、加速度センサを備えるコントローラ２２がユーザの手で動的に加速されて動かされている場合に、加速度センサによって生成される加速度データを処理することによって、コントローラ２２の様々な動きおよび／または位置を算出することができる。
【００８４】
なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。他の実施例では、加速度センサは、加速度データをプロセッサ７０に出力する前に、内蔵の加速度検出手段から出力される加速度信号（加速度データ）に対して所望の処理を行うための、組込み式の信号処理装置また他の種類の専用の処理装置を備えてもよい。たとえば、組込み式または専用の処理装置は、加速度センサが静的な加速度（たとえば、重力加速度）を検出するためのものである場合、検知された加速度データをそれに相当する傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８５】
無線モジュール７６は、たとえばＢｌｕｅｔｏｏｔｈの技術を用いて、所定周波数の搬送波を入力データで変調し、その微弱電波信号をアンテナ７８から放射する。つまり、入力データは、無線モジュール７６によって微弱電波信号に変調されてアンテナ７８（コントローラ２２）から送信される。この微弱電波信号が上述したゲーム装置１２に設けられた無線コントローラモジュール５２によって受信される。受信された微弱電波は、復調および復号の処理を施され、したがって、ゲーム装置１２（ＣＰＵ４０）は、コントローラ２２からの入力データを取得することができる。そして、ＣＰＵ４０は、取得した入力データとプログラム（ゲームプログラムまたはアプリケーションプログラム）とに従ってゲーム処理を行う。
【００８６】
さらに、上述したように、コントローラ２２には、撮像情報演算部８０が設けられる。この撮像情報演算部８０は、赤外線フィルタ８０ａ、レンズ８０ｂ、撮像素子８０ｃおよび画像処理回路８０ｄによって構成される。赤外線フィルタ８０ａは、コントローラ２２の前方から入射する光から赤外線のみを通過させる。上述したように、モニタ３４の表示画面近傍（周辺）に配置されるマーカ３４０ｍおよび３４０ｎは、モニタ３４の前方に向かって赤外光を出力する赤外ＬＥＤである。したがって、赤外線フィルタ８０ａを設けることによってマーカ３４０ｍおよび３４０ｎの画像をより正確に撮像することができる。レンズ８０ｂは、赤外線フィルタ８０ａを透過した赤外線を集光して撮像素子８０ｃへ出射する。撮像素子８０ｃは、たとえばＣＭＯＳセンサあるいはＣＣＤのような固体撮像素子であり、レンズ８０ｂによって集光された赤外線を撮像する。したがって、撮像素子８０ｃは、赤外線フィルタ８０ａを通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子８０ｃによって撮像された画像を撮像画像と呼ぶ。撮像素子８０ｃによって生成された画像データは、画像処理回路８０ｄで処理される。画像処理回路８０ｄは、撮像画像内における撮像対象（マーカ３４０ｍおよび３４０ｎ）の位置を算出し、第４所定時間毎に、当該位置を示す各座標値を撮像データとしてプロセッサ７０に出力する。なお、画像処理回路８０ｄにおける処理については後述する。
【００８７】
図５は、コントローラ２２を用いてゲームプレイするときの状態を概説する図解図である。図５に示すように、ビデオゲームシステム１０でコントローラ２２を用いてゲームをプレイする際、プレイヤは、一方の手でコントローラ２２を把持する。厳密に言うと、プレイヤは、コントローラ２２の先端面（撮像情報演算部８０が撮像する光の入射口２２ｄ側）がマーカ３４０ｍおよび３４０ｎの方を向く状態でコントローラ２２を把持する。ただし、図１からも分かるように、マーカ３４０ｍおよび３４０ｎは、モニタ３４の画面の横方向と平行に配置されている。この状態で、プレイヤは、コントローラ２２が指示する画面上の位置を変更したり、コントローラ２２と各マーカ３４０ｍおよび３４０ｎとの距離を変更したりすることによってゲーム操作を行う。
【００８８】
図６は、マーカ３４０ｍおよび３４０ｎと、コントローラ２２との視野角を説明するための図である。図６に示すように、マーカ３４０ｍおよび３４０ｎは、それぞれ、視野角θ１の範囲で赤外光を放射する。また、撮像情報演算部８０の撮像素子８０ｃは、コントローラ２２の視線方向を中心とした視野角θ２の範囲で入射する光を受光することができる。たとえば、マーカ３４０ｍおよび３４０ｎの視野角θ１は、共に３４°（半値角）であり、一方、撮像素子８０ｃの視野角θ２は４１°である。プレイヤは、撮像素子８０ｃが２つのマーカ３４０ｍおよび３４０ｎからの赤外光を受光することが可能な位置および向きとなるように、コントローラ２２を把持する。具体的には、撮像素子８０ｃの視野角θ２の中に少なくとも一方のマーカ３４０ｍおよび３４０ｎが存在し、かつ、マーカ３４０ｍまたは３４０ｎの少なくとも一方の視野角θ１の中にコントローラ２２が存在する状態となるように、プレイヤはコントローラ２２を把持する。この状態にあるとき、コントローラ２２は、マーカ３４０ｍおよび３４０ｎの少なくとも一方を検知することができる。プレイヤは、この状態を満たす範囲でコントローラ２２の位置および向きを変化させることによってゲーム操作を行うことができる。
【００８９】
なお、コントローラ２２の位置および向きがこの範囲外となった場合、コントローラ２２の位置および向きに基づいたゲーム操作を行うことができなくなる。以下では、上記範囲を「操作可能範囲」と呼ぶ。
【００９０】
操作可能範囲内でコントローラ２２が把持される場合、撮像情報演算部８０によって各マーカ３４０ｍおよび３４０ｎの画像が撮像される。すなわち、撮像素子８０ｃによって得られる撮像画像には、撮像対象である各マーカ３４０ｍおよび３４０ｎの画像（対象画像）が含まれる。図７は、対象画像を含む撮像画像の一例を示す図である。対象画像を含む撮像画像の画像データを用いて、画像処理回路８０ｄは、各マーカ３４０ｍおよび３４０ｎの撮像画像における位置を表す座標（マーカ座標）を算出する。
【００９１】
撮像画像の画像データにおいて対象画像は高輝度部分として現れるため、画像処理回路８０ｄは、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路８０ｄは、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、対象画像である２つのマーカ３４０ｍおよび３４０ｎの画像３４０ｍ’および３４０ｎ’のみならず、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、対象画像であるマーカ３４０ｍおよび３４０ｎの画像３４０ｍ’および３４０ｎ’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【００９２】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路８０ｄは当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子８０ｃの解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子８０ｃによって撮像された撮像画像の解像度が１２６×９６であるとし、重心位置は１０２４×７６８のスケールで算出されるものとする。つまり、マーカ座標は、（０，０）から（１０２４，７６８）までの整数値で表現される。
【００９３】
なお、撮像画像における位置は、撮像画像の左上を原点とし、下向きをＹ軸正方向とし、右向きをＸ軸正方向とする座標系（ＸＹ座標系）で表現されるものとする。
【００９４】
また、対象画像が正しく検出される場合には、判定処理によって２つの高輝度部分が対象画像として判定されるので、２箇所のマーカ座標が算出される。画像処理回路８０ｄは、算出された２箇所のマーカ座標を示すデータを出力する。出力されたマーカ座標のデータ（マーカ座標データ）は、上述したように、プロセッサ７０によって入力データに含まれ、ゲーム装置１２に送信される。
【００９５】
ゲーム装置１２（ＣＰＵ４０）は、受信した入力データからマーカ座標データを検出すると、このマーカ座標データに基づいて、モニタ３４の画面上におけるコントローラ２２の指示位置（指示座標）と、コントローラ２２からマーカ３４０ｍおよび３４０ｎまでの各距離とを算出することができる。具体的には、２つのマーカ座標の中点の位置から、コントローラ２２の向いている位置すなわち指示位置が算出される。また、撮像画像における対象画像間の距離が、コントローラ２２と、マーカ３４０ｍおよび３４０ｎとの距離に応じて変化するので、２つのマーカ座標間の距離を算出することによって、ゲーム装置１２はコントローラ２２とマーカ３４０ｍおよび３４０ｎとの間の距離を把握できる。このように、コントローラ２２は表示画面上の任意の位置を指示するポインティングデバイスとしての機能を有している。
【００９６】
このゲームシステム１０は、複数の番組情報が表形式で表示される番組情報表示装置１０である。つまり、番組表アプリケーションが実行され、モニタ３４には複数の番組情報を含む番組表が表示される。この番組表は、家族などの複数のユーザによって共用され得る。各ユーザは、コントローラ２２を用いて、見たい番組情報のような興味のある番組情報にユーザ情報を登録することができる。このとき、同一番組情報に対して複数のユーザ情報を登録することが可能になっている。したがって、複数のユーザ情報が同一番組情報に登録された場合に、当該複数のユーザ情報をどのように表示するのかを工夫する必要がある。この番組情報表示装置１０では、複数のユーザ情報のそれぞれに対して優先順位を設定し、各番組情報を、当該番組情報に登録されたユーザ情報の優先順位に基づいて描画するようにした。これにより、番組情報に登録されたユーザ情報を、優先順位に基づいて当該番組情報に示すことができる。したがって、番組情報に登録されたユーザ情報を分かり易く表示することができ、ユーザは、番組情報に対する各ユーザ情報の登録状況を容易に把握することができる。
【００９７】
図８はゲーム装置１２のメモリマップの一例を示す。メモリマップはプログラム記憶領域４００およびデータ記憶領域５００を含む。番組情報表示プログラムとデータは、光ディスク１８から一度に全部または必要に応じて部分的にかつ順次的に読み出され、外部メインメモリ４６または内部メインメモリ４２ｅに記憶される。また、データ記憶領域５００には、処理によって生成または取得されたデータも記憶される。
【００９８】
なお、図８にはメモリマップの一部のみが示されており、処理に必要な他のプログラムおよびデータも記憶されている。たとえば、音声、効果音、音楽などの音を出力するためのサウンドデータ、画面を生成するための画像データ、音出力プログラム、画像生成表示プログラムなどが、光ディスク１８から読み出されてデータ記憶領域５００またはプログラム記憶領域４００に記憶される。なお、本実施例においては、プログラムとデータは光ディスク１８から読み出されるが、別の実施例においては、たとえばゲーム装置１２に内蔵されるフラッシュメモリ４４等の不揮発的な記憶媒体に予め記憶したまたはネットワーク経由でダウンロードしたプログラムおよびデータを読み出して、外部メインメモリ４６または内部メインメモリ４２ｅに記憶するようにしてもよい。
【００９９】
プログラム記憶領域４００の記憶領域４０２には、番組表表示プログラムが記憶される。このプログラムは、番組表を含む画面を生成してモニタ３４に表示するためのものである。この実施例では、番組表の画面を生成する際には、仮想３次元空間に配置された番組表を仮想カメラで描画する。図９は、仮想３次元空間における番組表（参照符号「７００」で包括的に示す。）と仮想カメラとを示している。番組表７００は複数枚の板（直方体）を含む。この実施例では、番組表データの複数の番組情報を日付ごとに分類し、日付ごとの番組表を表示するので、１日分の番組表が１枚の板として構成されている。また、所定日数分（この実施例では８日分）の番組表７００を表示するので、所定枚数（この実施例では８枚）の板が所定の間隔で平行に配列されている。
【０１００】
仮想カメラから見て一番手前の板が、コンテンツとしての番組情報を表示するための番組表であり、奥側の他の板は、番組情報を表示するためのものではなく、見出しとしての日付タブ（参照符号「７０２」で包括的に示す。）を表示するための番組表である。任意に選択された日付の番組情報によって一番手前の板が構成され、当該日付の番組情報が画面上に表示されることになる。たとえば、現在日時などの所定のデータに対応する日付が選択されたり、予め決められた日付（たとえば番組表データのうち最も古い日付）が選択されたり、ユーザによって選択または設定された日付が選択されたりしてよい。一方、番組表７００の他の板の一方端（この実施例では左端）の所定位置には、日付タブ７０２がそれぞれ設けられ、日付タブ７０２により、選択されていない日付が示される。
【０１０１】
複数の番組情報を表形式で表示するために、一番手前の板は、選択された日付の各番組情報を所定の配列で組み合わせることによって構成されている。具体的には、この実施例では、一方の軸を時間軸とし他方の軸を放送局軸として複数の番組情報をマトリックス状に配置した番組表を形成する。各番組情報は、直方体によって構成されており、複数の直方体を組み合わせることによって一番手前の板が形成される。なお、直方体は、ポリゴンで形成されたオブジェクトである。
【０１０２】
番組表では、たとえば縦軸が放送局軸に、横軸が時間軸に設定される（図１０参照）。縦方向には複数の放送局が並べられ、横方向には各放送局の複数の番組情報が放送開始時刻の順に並べられる。各番組情報を示す欄の幅、すなわち、直方体の横方向長さは、当該番組の放送時間に応じた長さに設定される。なお、各直方体の縦の長さは所定値に設定される。また、直方体の高さ（奥行き方向の厚み）は、後述されるように番組情報の描画方法に応じて異なる所定の値に設定される。板の全体的なサイズとしては、縦の長さは、縦軸に表示する放送局の数に応じた長さとなり、横の長さは、２４時間に相当する所定の長さとなる。他の板の縦横の長さは、最前の板の全体的なサイズと同様に設定され、厚みは所定値に設定される。
【０１０３】
また、図９に示すように、番組表７００を複数の視点で表示するために複数のカメラ位置が予め決められている。ユーザの操作に応じたカメラ位置の切替によって、番組表の表示が２次元形態と３次元形態との間で切替えられる。なお、カメラ位置は、仮想カメラがどこを見ているのかを示すパラメータを意味し、この実施例では、視点の位置の座標および注視点の位置の座標（または視線方向）を含む。
【０１０４】
番組表７００の正面に配置されている第１位置は、番組表７００を２次元表示形態で表示するためのカメラ位置である。２次元表示形態は、オブジェクトないし画像を２次元で表現するものである。この第１位置は、番組表７００のうち最前の板を正面から捕らえて、画面上で２次元平面として、つまり、たとえば図１０に示すように２次元の表として表示できるように、適宜に設定される。ただし、第１位置の視点と注視点を結ぶ方向すなわち視線方向は、板の正面に直交する方向に設定される。また、この第１位置は、主として番組情報を示す文字をユーザに明確に見せるために設けられているので、第１位置の視点と最前の板との間の距離は比較的近くなるように適宜に設定される。ただし、番組情報を示す文字が明確に見える状態で１日分のすべての番組情報を一度に表示することは困難なので、デフォルトでは、所定の時刻または現在時刻等に対応する時間帯が含まれる表示範囲になるように視点および注視点が所定位置に設定される。また、第１位置は、ユーザの操作に応じて可変であり、具体的には、ユーザのスクロール操作に応じて視点および注視点が板の正面に対して平行移動されて表示範囲が変更される。スクロール操作により、当初表示範囲外にあった時間帯や放送局の番組情報を画面上に表示することができる。
【０１０５】
また、番組表７００の斜め方向に配置されている第２位置および第３位置は、番組表７００を３次元表示形態で表示するためのカメラ位置である。３次元表示形態は、オブジェクトを３次元で表現するものである。第２位置は、番組表７００の全体を捕らえて立体的に表示できるように適宜に設定されている。この実施例では、第２位置として、番組表７００を斜め左方向の比較的遠距離から捕らえるように視点および注視点（または視線方向）が予め決められる。日付タブ７０２が板の左端に設けられるので、斜め左方向が選ばれる。このように、番組表７００を斜め方向から捕らえるようにすることで、番組表７００の板が３次元で表現される３次元画像を生成することができる。この第２位置は固定されている。第２位置で描画した場合、たとえば図１６に示すように番組表７００の全体が立体的に表示される。
【０１０６】
また、第３位置は、日付タブ７０２をクローズアップして日付タブ７０２に注目するように適宜に設定されている。第３位置は、日付タブ７０２の選択による番組表の日付の切替のために設けられている。この実施例では、第３位置として、番組表７００を斜め左方向の比較的近距離から捕らえるように視点および注視点（または視線方向）が予め決められている。この第３位置も固定されている。第３位置で描画した場合、たとえば図１７に示すように番組表７００の全体が立体的に表示されつつ日付タブ７０２がクローズアップされる。
【０１０７】
この実施例では、３つの表示方法によって番組表を表示する。ここでは、３つの表示方法を、第１拡大表示方法、第２拡大表示方法、および縮小表示方法と呼ぶものとする。
【０１０８】
第１拡大表示方法は、番組表７００を正面から描画して番組表を２次元で表示するとともに、アカウント登録された番組情報も２次元で平面的に表示するためのものである。第１拡大表示方法では、仮想カメラは第１位置に設定され、かつ、番組情報は、後述する登録番組描画プログラムに従って第１の描画方法で描画される。第１の描画方法では、アカウント登録された番組情報は、優先順位が最も高いアカウントの表示態様で描画される。この第１拡大表示方法では、たとえば図１１に示すような画面が表示される。
【０１０９】
第２拡大表示方法は、番組表７００を正面から描画して番組表を２次元で表示するとともに、アカウント登録された番組情報を３次元で立体的に表示するためのものである。第２拡大表示方法では、仮想カメラは第１位置に設定され、かつ、番組情報は、後述する登録番組描画プログラムに従って第２の描画方法で描画される。第２の描画方法では、アカウント登録された番組情報は、優先順位の高い方から順にアカウントに設定された表示態様が積層されるように描画される。この第２拡大表示方法では、たとえば図１３に示すような画面が表示される。
【０１１０】
縮小表示方法は、番組表７００を斜め方向から描画して全体を３次元で表示するとともに、アカウント登録された番組情報を３次元で立体的に表示するためのものである。縮小表示方法では、仮想カメラは第２位置（または第３位置）に設定され、かつ、アカウント登録された番組情報は、後述する登録番組描画プログラムに従って第２の描画方法により描画される。この縮小表示方法では、図１６または図１７に示すような画面が表示される。
【０１１１】
表示方法は、後述の表示フラグ１，２および３によって管理されており、ユーザの所定の操作に応じて切替えられる。たとえば、デフォルトでは、第１拡大表示方法が選択されている。第１拡大表示方法が選択されている場合に、たとえばＢトリガースイッチ２６ｉを押し続ける操作が行われると、第２拡大表示方法に切替られる。一方、第２拡大表示方法が選択されている場合に、Ｂトリガースイッチ２６ｉが離されると、第１拡大表示方法に切替えられる。
【０１１２】
また、第１拡大表示方法では、たとえば＋ボタン２６ｇおよび−ボタン２６ｅにより、番組情報を段階的に拡大・縮小して表示することが可能になっている。この縮小の最終段階が、図１６に示すような第２位置の仮想カメラによる縮小表示方法となっている。したがって、第１拡大表示方法が選択されている場合に、−ボタン２６ｅが押されて縮小の最終段階になったときには、縮小表示方法に切替られる。また、第１拡大表示方法が選択されている場合に、ボタン８０６（図１０）が選択されたときにも、縮小表示方法に切替えられる。一方、縮小表示方法が選択されている場合に、＋ボタン２６ｇが押されて縮小の最終段階が解除されたときには、第１拡大表示方法に切替えられる。
【０１１３】
第１拡大表示方法では、各番組情報の番組名等を明確に表示するために、仮想カメラは比較的近い第１位置に設定されており、表示範囲内に入る放送局および時間が限られるので、所定のスクロール操作によって表示範囲の番組情報をスクロールすることができるようになっている。この実施例では、第１拡大表示方法と第２拡大表示方法の切替のための所定の操作を、スクロール操作と同一にしている。第１拡大表示方法では、各番組情報が平面的に描画されるので、各番組情報の番組名等が明示されるが、第２拡大表示方法では、各番組情報が立体的に描画されるので、他の番組情報の番組名等を隠す恐れがある。しかし、スクロール操作が行われているときに、第２拡大表示方法で番組表を表示すれば、表示範囲が移動しているので、立体的に描画された番組情報に隠れていた他の番組情報の番組名等も表示されることになる。このように、第２拡大表示方法への切替のための操作をスクロール操作と同じにすることによって、番組情報に対する複数のアカウントの登録状況を明確に表示するとともに、他の番組情報の番組名等も明確に表示することができる。
【０１１４】
記憶領域４０４には優先順位設定プログラムが記憶される。このプログラムは、複数のユーザ情報のそれぞれの優先順位（優先度）を設定するためのものである。この番組表アプリケーションの各ユーザは最初にアカウント（ユーザ情報）の登録を行う。登録された各アカウントに対して優先順位が設定される。たとえば登録順に各アカウントに優先順位が与えられ、つまり、登録が早いアカウントほど高い順位が与えられる。登録によって設定された各アカウントの優先順位が優先順位テーブルの初期値として記憶される。
【０１１５】
また、優先順位は変更可能である。この実施例では、ユーザの操作に応じて各アカウントの優先順位が変更される。具体的には、たとえば図１０に示すように、画面上には、各アカウントに対応するアイコンの一例としてスタンプ（参照符号「８００」で包括的に示す。）が表示される。図１０は、６人のアカウントが登録された場合を示しており、６個のスタンプ８００ａ，８００ｂ，８００ｃ，８００ｄ，８００ｅおよび８００ｆが表示されている。スタンプ８００のいずれかがコントローラ２２の指示位置を示すポインタ８０２によって指示されたとき、当該スタンプ８００に対応するアカウントの優先順位が最高位になるように、各アカウントの優先順位が変更される。
【０１１６】
記憶領域４０６には、番組登録プログラムが記憶される。このプログラムは、任意の番組情報に対して任意のユーザ情報を登録するためのものである。各ユーザは、見たい番組など興味のある番組情報に対してアカウントを登録することができる。たとえば、スタンプ８００を押す操作によって、番組情報へのアカウントの登録が行われる。具体的には、スタンプ８００をポインタ８０２で選択し、その後、所望の番組情報を選択することによって、当該選択したスタンプ８００に対応するアカウントを当該番組情報に登録することができる。あるいは、所望の番組情報をポインタ８０２で選択して当該番組情報の詳細情報を示す詳細画面を番組表上に開き、当該詳細画面の所定領域にスタンプ８００を押す操作を行うことによって、当該スタンプ８００に対応するアカウントを当該番組情報に登録することができる。番組情報に対してアカウントの登録が行われると、番組登録データが生成される。
【０１１７】
記憶領域４０８には登録番組描画プログラムが記憶される。このプログラムは、各番組情報を当該番組情報に登録されたユーザ情報の優先度に基づいて描画するためのものである。具体的には、複数のアカウントにそれぞれ異なる表示態様を設定する。そして、登録されたアカウントの優先順位に基づいて定められる表示態様で各番組情報を描画する。なお、各アカウントに設定される表示態様は、アカウントの登録されていない番組情報の通常の表示態様とも当然に異なる。
【０１１８】
この実施例では、番組情報の描画に関して、２つの描画方法が採用されている。第１の描画方法と第２の描画方法は、ユーザによって選択可能にされており、つまり、ユーザの操作に応じて番組情報の描画方法が切替えられる。具体的には、第１拡大表示方法が選択された場合、第１の描画方法が採用され、第２拡大表示方法または縮小表示方法が選択された場合、第２の描画方法が採用される。
【０１１９】
第１の描画方法では、アカウントの登録された番組情報を優先順位に基づいて平面的に描画する。具体的には、アカウント登録された番組情報は、他の番組情報と同一の高さに揃えられて、登録されたアカウントのうち優先順位の最も高いアカウントに設定された表示態様で描画される（図１１参照）。この実施例では、表示態様として色が採用される。つまり、各番組情報は、優先順位の最も高いアカウントに設定された色で描画される。
【０１２０】
第２の描画方法では、アカウントの登録された番組情報を優先順位に基づいて立体的に描画する。具体的には、登録されたアカウントの優先順位が高い方から順に、アカウントに設定された表示態様が積層されるように、番組情報を描画する（図１３参照）。この実施例では、表示態様として色が採用されるので、各番組情報は、優先順位の高い方から順に、アカウントに設定された色が積層されるように描画される。
【０１２１】
なお、各アカウントに設定される色の違いは、色の濃淡や階調等の違いであってよい。また、他の実施例では、表示態様として、アカウントごとに異なる模様（テクスチャ）を設定するようにしてもよい。または、第１の描画方法に限った表示態様として、アカウントごとに異なるフォントを設定するようにしてもよく、その場合、番組情報に表示する番組名等の文字のフォントがアカウントごとに異なる。または、他の表示態様として、アカウントごとに異なるマーク等を設定するようにしてもよい。
【０１２２】
データ記憶領域５００の記憶領域５０２には番組表データが記憶される。番組表データは、ネットワーク上の配信サーバ等から取得したＥＰＧ（Electronic Program Guide）データまたは当該ＥＰＧデータに基づいて生成されたデータである。なお、ＥＰＧデータは、所定日数分の番組情報を含んでおり、所定のタイミングで（たとえばアプリケーションの起動時）または定期的に（たとえば２４時間ごとに）配信サーバ等から取得されてフラッシュメモリ４４に記憶されている。番組表データは、たとえば放送局ごとの番組情報を記憶しており、つまり、放送局ＩＤ（放送局の識別情報）に対応付けて複数の番組情報が記憶されている。さらに、各番組情報ごとに当該番組に関する情報が記憶されており、つまり、番組ＩＤ（番組の識別情報）に対応付けて、日付、開始時刻、終了時刻、放送時間、番組名、ジャンル、詳細情報などが記憶されている。詳細情報は、当該番組の概要や出演者等の情報を含む。なお、番組表の主な目的は放送予定の番組情報を確認することであるから、既に過去となった日のデータは削除されまたは使用されないようにしてよい。
【０１２３】
記憶領域５０４は入力データバッファであり、コントローラ２２から所定時間ごとに受信された入力データが記憶される。入力データは、入力手段２６の操作データ、加速度センサ７４によって検出された加速度データ、および撮像情報演算部８０によって検出されたマーカ座標データ（指示位置データ）等を含む。
【０１２４】
記憶領域５０６には番組登録データが記憶される。番組登録データは上述の番組登録プログラムによって生成される。番組ＩＤに対応付けて、当該番組情報に登録したユーザ情報としてのアカウントが記憶される。この実施例では、スタンプ８００を用いて番組情報に対するユーザ情報の登録が行われるので、登録に使用されたスタンプ８００を特定し、後述のアカウントデータに基づいて、当該スタンプ８００に対応付けられたアカウントを特定する。
【０１２５】
記憶領域５０８にはアカウントデータが記憶される。この番組表アプリケーションのユーザとして登録されたアカウントに関する情報が記憶される。番組表アプリケーションでは、所定数（たとえば６）のアカウントが登録可能である。アカウントに対応付けて、当該アカウントに対応するスタンプ８００のスタンプＩＤ、および当該アカウントに設定される表示態様を示す情報等が記憶される。各アカウントの使用するスタンプ８００は、アカウントの登録の際に設定される。各スタンプ８００にはスタンプＩＤが割り振られているので、当該スタンプＩＤを記憶する。表示態様は、番組情報の表示態様として使用されるので、基本的には、アカウントごとに異なる表示態様が設定されるが、他のアカウントと同じ表示態様の設定も許容されてよい。また、表示態様がたとえば色または模様である場合、アカウントに設定される表示態様は、スタンプ８００の表示態様と同一であってよい。
【０１２６】
記憶領域５１０には優先順位テーブルが記憶される。優先順位テーブルは、各ユーザ情報の優先順位を示すデータであり、上述の優先順位設定プログラムによって生成される。具体的には、登録されたアカウントごとの優先順位が記憶される。優先順位はアカウントごとに異なるものであり、２以上のアカウントが同じ優先順位に設定されることはない。
【０１２７】
記憶領域５１２には、表示方法を設定するための表示フラグ１、２および３が記憶される。表示フラグ１は第１拡大表示方法に対応し、表示フラグ２は第２拡大表示方法に対応し、表示フラグ３は縮小表示方法に対応する。上述のように、各表示方法は、番組情報の描画方法と仮想カメラによって分類される。３つの表示フラグのうちのいずれか１つの表示フラグのみがオンにされ、これによって、表示方法が指定される。
【０１２８】
記憶領域５１４には番組表制御データが記憶される。番組表制御データは、番組表の表示を制御するためのデータである。たとえば、番組表７００の最前の板を構成する日付の各番組情報について、直方体の数、サイズ、位置、表示態様（色または模様等）および表示する文字等に関する情報が記憶される。各直方体のデータは当該番組ＩＤに対応付けられている。また、他の日付について、板の位置およびサイズ等に関する情報や、日付タブ７０２のサイズ、位置および表示する文字等に関する情報も記憶される。
【０１２９】
この番組表アプリケーションは、たとえばゲーム装置１２のメニュー画面から当該アプリケーションを示すボタンないしアイコン等を選択することによって起動される。起動されると、たとえばＲＯＭ／ＲＴＣ４８から取得された現在の日時に対応する日付および時間帯の番組表が表示される。
【０１３０】
図１０は番組表の画面の一例を示す。この画面中央に配置された番組表は、第１位置の仮想カメラ（図９参照）によって描画されている。したがって、番組表７００の一番手前の板を構成する複数の番組情報が２次元の表形式で表示されている。番組表の縦軸は放送局軸、横軸は時間軸となっており、番組表の左側に放送局とチャンネルを示す放送局欄が表示され、上側に時間欄が表示されている。各番組情報欄には、番組名等を示す文字が表示されている。各番組情報は、上述のように直方体で形成されており、当該直方体の正面（仮想カメラ側の主面すなわち上面）に文字が貼り付けられる。なお、放送局欄は、画面の左端部の所定位置に配置されており、この放送局欄に続けて、第１位置の仮想カメラで描画した番組表が表示されている。つまり、この番組表の画面は、仮想カメラで描画した番組表７００と他の画像とを合成することによって生成されている。
【０１３１】
また、画面上には、ポインティングデバイスとしてのコントローラ２２の指示位置を示すポインタ８０２が表示される。このポインタ８０２の表示位置は、コントローラ２２の指示位置に応じて移動される。
【０１３２】
さらに、画面上端部には、各種のボタン８０４、８０６、８０８、８１０および８１２が設けられている。たとえばポインタ８０２を各ボタン８０４−８１２の表示位置に合わせてＡボタン２６ｄを押すことによって、各ボタンを選択することができる。なお、他のボタンや項目、スタンプ８００、番組情報等も同様の操作で選択することができる。
【０１３３】
ボタン８０４は、ゲーム装置１２のメニュー画面に戻るためのボタンである。このボタン８０４が選択されると、この番組表アプリケーションが終了されて、ゲーム装置１２のメニュー画面が表示される。
【０１３４】
ボタン８０６は、表示する番組表の日付を変更するためのボタンである。このボタン８０６上には、現在表示されている番組表の日付が表示される。図１０では、「あした」と表示されており、日付が明日に変更されていることが分かる。このボタン８０６が選択されると、縮小表示方法に切替えられて、図１６に示すような番組表７００の全体を示す画面が表示され、日付タブ７０２の選択によって日付を変更することが可能になる。
【０１３５】
ボタン８０８は、番組表の表示状態ないしモードを選択するためのボタンである。図１０ではボタン８０８に「スタンプ」と表示されており、スタンプ８００を用いた番組情報に対するアカウントの登録の状況を表示するモードであることが示される。
【０１３６】
ボタン８１０は、番組情報の検索を行うためのボタンである。ボタン８１０が選択されると、検索画面が表示され、キーワードやジャンルなどの検索条件を指定して番組情報を検索することができる。
【０１３７】
また、ボタン８１２は、各種の設定を行うためのボタンである。ボタン８１２が選択されると、設定画面が表示されて各種の設定を行うことができる。この番組表アプリケーションのユーザのアカウントの登録は、このボタン８１２による設定で行うことができる。各ユーザは、使用するスタンプ８００と表示態様とを、たとえばリストから選択することができ、これによりアカウントデータが生成されて記憶領域５０８に記憶される。また、アカウントの登録が行われた順に順位が高くなるように各アカウントの初期の優先順位が設定され、この設定により優先順位テーブルが生成されて記憶領域５１０に記憶される。
【０１３８】
また、画面下端部には、各アカウントのスタンプ８００が表示される。図１０は６つのアカウントが登録された例を示しており、したがって、６個のスタンプ８００ａ−８００ｆが表示されている。各スタンプ８００は、対応するアカウントに設定された表示態様（この実施例では色）で描画されている。また、各スタンプ８００は、画面左側から初期優先順位の順に並べられている。さらに、画面右下隅部には現在時刻を示す時計８１４が表示されている。
【０１３９】
この番組表において、ユーザは、興味のある番組情報にスタンプ８００を押すことによって、当該番組情報にアカウントを登録することができる。具体的には、スタンプ８００を押す操作を行う際には、ユーザは、まず、自分のスタンプ８００をポインタ８０２で指示して所定のボタン（たとえばＡボタン２６ｄ）を押すことによって、当該スタンプ８００を選択する。スタンプ８００が選択されると、たとえば、選択状態を示す画像のスタンプがポインタ８０２に代えてコントローラ２２の指示位置に表示される。そして、ユーザは、選択状態を示すスタンプを移動させて所望の番組情報を指示し、所定のボタン（たとえばＡボタン２６ｄ）を押すことによって、当該番組情報に当該スタンプ８００を押すことができ、つまり、当該番組情報に当該スタンプ８００に対応するアカウントを登録することができる。このような番組登録操作が行われると、選択されたスタンプ８００に対応するアカウントが特定され、当該アカウントが当該番組情報の番組ＩＤに対応付けて番組登録データ記憶領域５０６に記憶される。
【０１４０】
なお、番組情報に対するアカウントの登録は、当該番組情報の詳細情報を表示する詳細画面でも行うことができる。詳細画面は、当該番組情報がポインタ８０２で選択されることによって表示される。詳細画面の所定領域にスタンプ８００を押すことによって、当該番組情報にアカウントを登録することができる。
【０１４１】
番組情報に対するアカウントの登録が行われると、当該番組情報を示す直方体の表示態様が当該アカウントに設定された表示態様に変更され、画面上では、当該番組情報が、当該登録を行ったアカウントに設定された表示態様で表示される。
【０１４２】
番組情報にアカウントが登録されたときの番組表の画面の一例を図１１に示す。この図１１では、右端のスタンプ８００ｆを用いて、参照符号「９００」で示す番組情報（「映画スペシャル」）に登録が行われた場合が示されており、したがって、当該番組情報９００が右端のスタンプ８００ｆに対応するアカウントに設定された表示態様で描画されている。
【０１４３】
また、その後、たとえば、右から２番目のスタンプ８００ｅから左端のスタンプ８００ａまで順番に同番組情報９００に対して登録操作が行われた場合には、各スタンプ８００が押されるたびに、当該スタンプ８００に対応するアカウントに設定された表示態様で当該番組情報９００が描画されることになる。したがって、最後に左端のスタンプ８００ａが押されると、画面上には、当該左端のスタンプ８００ａに対応するアカウントに設定された表示態様を有する番組情報９００が表示される。
【０１４４】
この実施例における番組情報の描画は、アカウントの優先順位に基づいて行われている。図１１の番組表は、第１拡大表示方法で表示されており、番組情報は、第１の描画方法で描画されている。つまり、番組情報に登録されているアカウントのうち、優先順位の最も高いアカウントに設定された表示態様で当該番組情報が描画されている。スタンプ８００による番組登録によって当該番組情報の表示態様が当該スタンプ８００に対応するアカウントの表示態様に変更されるのは、スタンプ８００による番組登録の際に優先順位の変更が行われているからである。
【０１４５】
具体的には、この実施例では、スタンプ８００がポインタ８０２で指示されたと判別されるとき、当該指示されたスタンプ８００に対応するアカウントの優先順位が最も高くなるように優先順位が変更される。また、他のアカウントの優先順位は必要に応じて繰り下げられる。上述のように、スタンプ８００を選択する際には、スタンプ８００をポインタ８０２で指示してＡボタン２６ｄを押す必要がある。したがって、スタンプ８００を押す操作を行うと、スタンプ８００が指示されたと判断されることとなり、この優先順位の変更が行われる。このように、選択されたスタンプ８００に対応するアカウントの優先順位が最高位になるように優先順位の変更が行われるので、番組情報にアカウントが登録されたときには、当該番組情報が当該アカウントに設定された表示態様で描画されることとなる。
【０１４６】
上述のように、図１１の番組表は、第１拡大表示方法で表示されており、番組情報は、第１の描画方法で描画されている。この第１の描画方法では、アカウントの登録された番組情報は優先順位の最も高いアカウントに設定された表示態様で描画される。番組表の表示方法は、ユーザ操作に応じて切替えることができる。たとえばＢトリガースイッチ２６ｉが押されているときには、第２拡大表示方法に切替えられ、番組情報は第２の描画方法で描画される。第２の描画方法では、番組情報に登録されているアカウントの優先順位が高い方から順にアカウントに設定された表示態様が積層されるように、当該番組情報が描画される。
【０１４７】
具体的には、アカウントの登録された各番組情報を、登録アカウント数個の直方体によって構成する。登録アカウント数が２以上である場合には、２以上の直方体が積み上げられて、直方体の積層体が形成される。そして、各直方体の表示態様が、上側（仮想カメラ側）から、登録アカウントの優先順位の順番の表示態様に設定される。つまり、各アカウントに設定された表示態様を有する直方体（オブジェクト）が、登録された複数のアカウントの優先順位の高い方から順に上側から層状に配列される。
【０１４８】
図１２には、第２拡大表示方法が選択された場合の番組表７００と仮想カメラの一例が示される。なお、図１２では、番組表７００の最前の板のみを示している。番組情報９００には６つのアカウントが登録されており、したがって、当該番組情報９００は６個の直方体の積層体として形成されている。なお、各直方体の高さは、アカウントの登録されていない番組情報の直方体の高さ（第１の描画方法の場合の直方体の高さ）よりも高い所定値に設定されている。また、番組情報９００への登録は、スタンプ８００ｆ，８００ｅ，８００ｄ，８００ｃ，８００ｂ，８００ａの順に行われており、したがって、優先順位は、スタンプ８００ａ，８００ｂ，８００ｃ，８００ｄ，８００ｅ，８００ｆのアカウントの順となっている。そして、６個の直方体のそれぞれに、上側（仮想カメラ側）から優先順位の順に表示態様が設定され、つまり、上側から順にスタンプ８００ａ，８００ｂ，８００ｃ，８００ｄ，８００ｅ，８００ｆに対応する表示態様が設定されている。
【０１４９】
この図１２の積層体を含む番組表７００が第１位置の仮想カメラで描画されて、図１３に示すような画面が表示される。図１３に示すように、登録されているアカウントの優先順位の高い方から順に、アカウントに設定された表示態様が積層されるようにして、番組情報９００が描画される。最も目立つ一番上の直方体の表示態様が優先順位の最も高いアカウントの表示態様となる。また、一番上の直方体の上面に番組名（「映画スペシャル」）が表示される。また、直方体の高さが他の番組情報の直方体の高さよりも高くされるので、一番下の直方体の表示態様も見ることができる。このように、登録されたアカウントの表示態様が優先順位に従って積層されるように番組情報を立体的に表示することができ、番組情報にどのアカウントが登録しているのかを容易に把握することができる。
【０１５０】
また、この実施例では、上述のように、スタンプ８００がポインタ８０２で指示されたとき、アカウントの優先順位が変更され、指示されたスタンプ８００に対応するアカウントの優先順位が最も高くされる。したがって、第１拡大表示方法で表示された番組表の画面で、いずれかのスタンプ８００がポインタ８０２で指示されたときには、当該スタンプ８００に対応するアカウントの登録されている番組情報は、当該アカウントに設定された表示態様で描画される。
【０１５１】
図１４はスタンプ８００が指示されたときの画面の一例を示す。図１４では、右から３番目のスタンプ８００ｄがポインタ８０２で指示されており、当該スタンプ８００ｄに対応するアカウントの登録されている番組情報９００が、当該アカウントに設定された表示態様で描画されている。このように、ポインタ８０２でスタンプ８００を指示することによって、当該スタンプ８００に対応するアカウントの優先順位が最高位に変更され、当該アカウントが登録されている番組情報の表示態様が当該アカウントの表示態様に変更される。したがって、スタンプ８００を指示するという簡単な操作で、各アカウントがどの番組情報に登録をしているのかを容易に確認することができる。つまり、自分の登録状況も他のユーザの登録状況も容易に知ることができる。
【０１５２】
その後、たとえばＢトリガースイッチ２６ｉを押すことによって第２の描画方法を選択すると、図１５に示すように第２の描画方法で描画された番組表の画面が表示される。この画面では、指示したスタンプ８００に対応するアカウントの表示態様が最も上に積層されるように立体的に描画された番組情報が表示される。したがって、指示したスタンプ８００に対応するアカウントの登録状況を容易に確認することができるとともに、当該指示したアカウントの登録された番組情報に対する他のアカウントの登録状況も知ることができる。
【０１５３】
縮小表示方法が選択されたときにも、番組情報は第２の描画方法で描画される。たとえば、＋ボタン２６ｇおよび−ボタン２６ｅを番組表の拡大および縮小を指示するためのボタンとして機能させることができるので、第１拡大表示方法が選択されている場合に、−ボタン２６ｅが押されて縮小の最終段階に至ったときには、仮想カメラが第２位置に切替えられるとともに、第２の描画方法に切替えられる。したがって、複数のアカウントの登録された番組情報は、登録アカウント数個の直方体の積層体として形成される。第２位置の仮想カメラで番組表７００を描画すると、たとえば、図１６に示すように、全体の捉えられた番組表７００において、アカウントの登録された番組情報９００が、登録されたアカウントの優先順位の順番に表示態様が積層されるようにして、手前側に突出して表示される。
【０１５４】
また、この縮小表示方法では、さらに、仮想カメラを第２位置から第３位置に切替えることができる。この番組表７００の左端には日付タブ７０２が表示されており、ポインタ８０２によって日付タブ７０２を含む所定の表示領域内が指示されたときには、仮想カメラが第２位置から第３位置に切替えられ、たとえば、図１７に示すように、日付タブ７０２がクローズアップされた番組表７００が表示される。この番組表７００においても、アカウントの登録された番組情報が、登録されたアカウントの優先順位の順番に表示態様が積層されるようにして、手前側に突出して表示される。したがって、番組表７００を全体的に３次元で表示する画面においても、番組情報に対する各アカウントの登録状況を容易に知ることができる。
【０１５５】
なお、縮小表示方法による図１６および図１７の番組表の画面では、各番組情報には、番組名等の文字を表示していないが、第１拡大表示方法および第２拡大表示方法の場合と同様に、番組名等の文字を表示するようにしてもよい。
【０１５６】
図１８にはゲーム装置１２の動作の一例が示される。まず、ステップＳ１で、ＣＰＵ４０は初期設定を実行する。たとえば各種の変数やフラグに初期値を設定する。また、番組表アプリケーションの過去の実行において生成された番組登録データ、アカウントデータおよび優先順位テーブルがフラッシュメモリ４４に記憶されている場合、番組登録データ、アカウントデータおよび優先順位テーブルをデータ記憶領域５００の記憶領域５０６、５０８および５１０にそれぞれ読み出す。
【０１５７】
なお、図１８のフロー図では省略されるが、番組表アプリケーションの最初の起動時には、アカウントの登録を行う。各アカウントの使用するスタンプ８００および表示態様等の設定を行い、アカウントデータを記憶領域５０６に生成する。また、生成したアカウントデータは、フラッシュメモリ４４の所定領域にも記憶すなわち保存する。さらに、優先順位設定プログラムに従って、たとえばアカウントの登録の順番に基づいて各アカウントの初期優先順位を設定し、優先順位テーブルを記憶領域５１０に生成する。また、生成した優先順位テーブルを、フラッシュメモリ４４の所定領域にも記憶すなわち保存する。
【０１５８】
次に、ステップＳ３で、ＣＰＵ４０は番組表を表示する。具体的には、ＣＰＵ４０は、ＧＰＵ４２ｂ等を用いて、番組表表示プログラムに従って番組表データに基づいて図９に示したような仮想３次元空間の番組表７００を表示するための番組表制御データを記憶領域５１４に生成し、仮想カメラによって描画した当該番組表を含む画面を生成してモニタ３４に表示する。なお、番組表アプリケーションの起動時には、ＲＯＭ／ＲＴＣ４８から取得した現在の日付の番組情報によって番組表７００の一番手前の板を構成する。また、各表示フラグの初期値については、表示フラグ１がオン、他の表示フラグがオフに設定されるので、第１拡大表示方法が選択される。また、番組表の表示範囲は現在の時刻に基づいて設定される。この表示処理によって、たとえば図１０のような２次元の番組表を含む画面が表示される。画面下端部には、登録されたアカウントのスタンプ８００が初期優先順位の順番で表示される。
【０１５９】
表示された番組表の画面に対してユーザによって入力が与えられて、興味のある番組情報に対してアカウントが登録されたり、表示方法が切替えられて各番組情報に対するアカウントの登録状況が表示されたりする。以下のステップＳ５からステップＳ２１までの処理を、ＣＰＵ４０は一定時間（たとえば１フレーム＝１／６０秒）ごとに繰り返し実行する。
【０１６０】
ステップＳ５では、ＣＰＵ４０は、コントローラ２２からの入力データを取得する。コントローラ２２から一定周期で送信される入力データは、無線コントローラモジュール５２によって受信されて、外部メインメモリ４６または内部メインメモリ４２ｅに設けられた入力データバッファ５０４に記憶されており、当該記憶領域５０４からＣＰＵ４０は入力データを読み出す。
【０１６１】
そして、ステップＳ７で、ＣＰＵ４０はいずれかのスタンプ８００がポイントされたか否か、つまり、優先順位を変更する操作が行われたか否かを判断する。具体的には、ポインタ８０２の表示位置データとスタンプ８００の表示位置データに基づいて、ポインタ８０２の表示位置がいずれかのスタンプ８００の表示位置（表示領域または当たり判定領域）内であるか否かを判別する。ポインタ８０２の表示位置がスタンプ８００の表示位置内である場合、当該指示されたスタンプ８００のスタンプＩＤを特定する。なお、コントローラ２２による指示位置すなわちポインタ８０２の表示位置は、入力データに含まれるマーカ座標データから算出される。また、スタンプ８００の表示位置データは優先順位に応じて予め決められており、データ記憶領域５００に記憶されている。
【０１６２】
ステップＳ７で“ＹＥＳ”の場合には、ＣＰＵ４０は、ステップＳ９で、ポイントされたスタンプ８００に対応するアカウントの優先順位を最高位に設定する。具体的には、ポイントされたスタンプ８００のスタンプＩＤに対応付けられたアカウントをアカウントデータに基づいて特定し、優先順位テーブルにおいて当該アカウントの優先順位を最高位（すなわち１）に変更する。また、ステップＳ１１で、ＣＰＵ４０は、他のアカウントの優先順位を繰り下げる。具体的には、優先順位テーブルにおいて、ポイントされたアカウントよりも上位の優先順位を有していた各アカウントの優先順位を１だけ繰り下げる。ステップＳ１１を終了すると、処理はステップＳ１９に進む。
【０１６３】
一方、ステップＳ７で“ＮＯ”の場合には、ＣＰＵ４０は、ステップＳ１３でいずれかの番組欄にスタンプ８００が押されたか否か、つまり、番組情報に対してアカウントの登録があったか否かを判断する。たとえば、いずれかのスタンプ８００が選択された状態で、いずれかの番組情報が選択されたか否かを判別する。具体的には、スタンプ８００の表示位置データと入力データに基づいて、スタンプ８００をポインタ８０２で指示した状態でＡボタン２６ｄが押されたと判断されるとき、当該スタンプ８００が選択された状態に設定される。その後、各番組情報の表示位置データと入力データに基づいて、いずれかの番組情報の欄を指示した状態でＡボタン２６ｄが押されたと判断されるとき、当該番組情報が選択されたと判断される。あるいは、番組情報の詳細画面に対してスタンプ８００が押されたか否かを判断するようにしてもよい。なお、詳細画面は、ポインタ８０２で番組情報を選択することによって表示され、スタンプ８００を押すための領域を有している。
【０１６４】
ステップＳ１３で“ＹＥＳ”の場合には、ＣＰＵ４０は、ステップＳ１５で、当該スタンプ８００に対応するアカウントを当該番組ＩＤに関連付けて登録する。具体的には、入力データとスタンプ８００の表示位置データに基づいて、選択されたスタンプ８００のスタンプＩＤを特定し、アカウントデータに基づいて当該スタンプＩＤに対応するアカウントを特定する。また、入力データと番組情報の表示位置データに基づいて、選択された番組情報の番組ＩＤを特定する。そして、番組登録データ記憶領域５０６に、当該番組ＩＤに対応付けて当該アカウントを記憶する。当該番組ＩＤに関するデータが既に番組登録データ記憶領域５０６に記憶されている場合には、今回のアカウントを追加する。なお、生成された番組登録データは、フラッシュメモリ４４の所定領域にも記憶すなわち保存する。ステップＳ１５を終了すると、処理はステップＳ１９に進む。
【０１６５】
一方、ステップＳ１３で“ＮＯ”の場合、ＣＰＵ４０はステップＳ１７で表示方法変更処理を実行する。表示方法変更処理は、ユーザの操作に応じて番組情報を示す直方体の構成と仮想カメラを切替えるための処理であり、この表示方法変更処理の動作の一例が図１９に示される。
【０１６６】
図１９のステップＳ３１で、ＣＰＵ４０は、第１拡大表示方法が選択されたか否かを判断する。具体的には、入力データに基づいて第１拡大表示方法を指示する操作が行われたか否かを判断する。たとえば、Ｂトリガースイッチ２６ｉが離されたか否かが判断される。または、縮小の最終段階（縮小表示方法）で＋ボタン２６ｇが押されたか否かが判断される。
【０１６７】
ステップＳ３１で“ＹＥＳ”の場合には、ＣＰＵ４０は、ステップＳ３３で、記憶領域５１２に記憶される表示フラグ１をオンにするとともに、他の表示フラグをオフにする。
【０１６８】
一方、ステップＳ３１で“ＮＯ”の場合、ＣＰＵ４０は、ステップＳ３５で第２拡大表示方法が選択されたか否かを判断する。具体的には、入力データに基づいて第２拡大表示方法を指示する操作が行われたか否かが判断される。たとえば、Ｂトリガースイッチ２６ｉが押されているか否かが判断される。
【０１６９】
ステップＳ３５で“ＹＥＳ”の場合、ＣＰＵ４０は、ステップＳ３７で記憶領域５１２に記憶される表示フラグ２をオンにするとともに、他の表示フラグをオフにする。
【０１７０】
一方、ステップＳ３５で“ＮＯ”の場合、ＣＰＵ４０は、ステップＳ３９で縮小表示方法が選択されたか否かを判断する。具体的には、入力データに基づいて縮小表示方法を指示する操作が行われたか否かが判断される。たとえば、−ボタン２６ｅが押されて縮小表示の段階が最終段階になったか否かが判断される。または、ボタン８０６が選択されたか否かが判断される。
【０１７１】
ステップＳ３９で“ＹＥＳ”の場合には、ＣＰＵ４０は、ステップＳ４１で記憶領域５１２に記憶される表示フラグ３をオンにするとともに、他の表示フラグをオフにする。
【０１７２】
一方、ステップＳ３９で“ＮＯ”の場合には、つまり、表示方法を変更する操作が行われていないと判断される場合には、そのまま表示方法変更処理を終了し、処理は図１８のステップＳ１９へ戻る。
【０１７３】
図１８のステップＳ１９では、ＣＰＵ４０は、優先順位に基づく番組表表示処理を実行する。この処理の動作の一例が図２０に示される。図２０のステップＳ６１では、ＣＰＵ４０は、記憶領域５１２の表示フラグ１がオンであるか否かを判断する。
【０１７４】
ステップＳ６１で“ＹＥＳ”の場合、つまり、第１拡大表示方法が選択されている場合には、ＣＰＵ４０は、ステップＳ６３で、第１拡大表示方法の仮想カメラを設定する。この仮想カメラは第１位置に設定される。ただし、視点および注視点は、たとえば第１拡大表示方法が選択されたときの座標にそれぞれ固定される。
【０１７５】
そして、第１の描画方法で各番組情報を描画する。具体的には、ステップＳ６５で、ＣＰＵ４０は、各番組情報として、初期高さに揃えた直方体を形成する。具体的には、記憶領域５１４に記憶された番組表制御データにおいて、各番組情報の直方体の高さを初期値に設定する。なお、第１の描画方法では、各番組情報は１個の直方体で構成される。また、直方体の横の長さは、当該番組情報の放送時間に基づいて設定され、縦の長さは所定値に設定されている。
【０１７６】
続くステップＳ６７で、ＣＰＵ４０は、アカウント登録された各番組情報について、直方体の色を、登録アカウントのうち優先順位が最高位のアカウントの色に設定する。具体的には、記憶領域５０６の番組登録データに記憶されている各番組ＩＤについて、登録アカウントのうち最高順位のアカウントを優先順位テーブルに基づいて特定する。さらに、記憶領域５０８のアカウントデータに基づいて当該アカウントに対応付けられた色を特定する。そして、記憶領域５１４の番組表制御データにおいて、当該番組ＩＤの直方体の色を当該アカウントに対応付けられた色に設定する。このステップＳ６７を終了すると、処理はステップＳ８１に進む。
【０１７７】
一方、ステップＳ６１で“ＮＯ”の場合、ＣＰＵ４０は、ステップＳ６９で記憶領域５１２の表示フラグ２がオンであるか否かを判断する。ステップＳ６１で“ＹＥＳ”の場合、つまり、第２拡大表示方法が選択されている場合には、ＣＰＵ４０は、ステップＳ７１で、第２拡大表示方法の仮想カメラを設定する。この仮想カメラは第１位置に設定される。ただし、この実施例では、番組表のスクロールのための操作と第２拡大表示方法を選択する操作とが同じ操作（たとえばＢトリガースイッチ２６ｉを押す）に設定されているので、視点および注視点は、スクロール操作に応じて移動される。具体的には、第２拡大表示方法を選択する操作が行われたときの指示位置の座標から現在の指示位置の座標までを結ぶベクトルに基づいて、視点および注視点の座標をそれぞれ番組表７００の正面に対して平行移動させる。
【０１７８】
一方、ステップＳ６９で“ＮＯ”の場合、つまり、表示フラグ３がオンにされている場合には、ＣＰＵ４０は、ステップＳ７９で、縮小表示方法の仮想カメラを設定する。この仮想カメラは、第２位置または第３位置に設定される。具体的には、縮小表示方法に切替えられたときには、第２位置が選択される。その後、仮想カメラが第２位置である場合において、指示位置の座標が日付タブ７０２を含む所定の表示領域内であると判断されるときには、第３位置に切替えられる。仮想カメラが第３位置である場合において、指示位置の座標が日付タブ７０２を含む所定の表示領域外であると判断されるときには、第２位置に切替えられる。
【０１７９】
そして、第２の描画方法で各番組情報を描画する。具体的には、ステップＳ７３で、ＣＰＵ４０は、番組登録データに基づいて、アカウント登録された各番組情報について、登録アカウント数Ｎを検出する。
【０１８０】
続くステップＳ７５では、ＣＰＵ４０は、アカウント登録された各番組情報として、所定の高さを有するＮ個の直方体の積層体を形成する。具体的には、記憶領域５１４に記憶された番組表制御データにおいて、アカウント登録された各番組情報の直方体の数を、検出された数Ｎに設定するとともに、各直方体の高さを所定値に設定する。高さの所定値はこの実施例では初期値よりも大きい値に予め決められている。なお、登録アカウント数が１である場合には、直方体の数は１個であるが、便宜上、積層体と呼ぶものとする。
【０１８１】
そして、ステップＳ７７で、ＣＰＵ４０は、アカウント登録された各番組情報について、各直方体の色を、上側から優先順位の順番でアカウントの色に設定する。具体的には、記憶領域５１４に記憶された番組表制御データにおいて、アカウント登録された各番組情報の番組ＩＤに対応付けられたＮ個の直方体の色を、上側から優先順位の順番で、登録アカウントの色に設定する。なお、登録アカウント数が１である場合、１個の直方体の色が当該アカウントの色に設定される。
【０１８２】
続いて、ステップＳ８１で、ＣＰＵ４０はＧＰＵ４２ｂ等を用いて番組表制御データ等に基づいて番組表を描画する。これによって、表示フラグ１がオンの場合には、第１位置の仮想カメラによって２次元の番組表が描画される。そして、当該番組表において、アカウント登録されている各番組情報は、優先順位の最も高いアカウントの色で描画される。また、表示フラグ２がオンの場合には、第１位置の仮想カメラによって２次元の番組表が描画される。そして、当該番組表において、アカウント登録されている各番組情報は、登録アカウントの優先順位の高い方から順に色が積層されるように描画される。また、表示フラグ３がオンの場合には、第２位置または第３位置の仮想カメラによって３次元の番組表が描画される。そして、当該番組表において、アカウント登録されている各番組情報は、登録アカウントの優先順位の高い方から順に色が積層されるように描画される。
【０１８３】
そして、ステップＳ８３で、ＣＰＵ４０は、ＧＰＵ４２ｂ等を用いて、描画した番組表、スタンプ８００、ポインタ８０２、時計８１４、および各種ボタン８０４、８０６、８０８、８１０および８１２等を合成した画面の画像データをＶＲＡＭ４２ｄに生成し、当該画面をモニタ３４に表示する。ステップＳ８３を終了すると、この優先順位に基づく番組表表示処理を終了し、処理は図１８のステップＳ２１に戻る。
【０１８４】
図１８のステップＳ２１では、ＣＰＵ４０は、番組表アプリケーションを終了するか否かを判断する。たとえば、入力データとボタン８０４の表示位置データに基づいて、ボタン８０４が選択されたか否かを判断する。ステップＳ２１で“ＮＯ”の場合、処理はステップＳ５に戻る。一方、ステップＳ２１で“ＹＥＳ”の場合には、この番組表アプリケーションを終了する。
【０１８５】
この実施例によれば、複数のアカウントのそれぞれに対して優先順位を設定して、各番組情報を、当該番組情報に登録されたアカウントの優先順位に基づいて描画するようにした。これにより、番組情報に登録されたアカウントを、優先順位に基づいて当該番組情報に描画することができる。また、番組表において、各番組情報が当該番組情報に登録されたアカウントの優先順位に基づいて描画されるので、番組情報に登録されたアカウントを分かり易く表示することができる。したがって、番組情報に対するアカウントの登録状況を容易に把握することができる。また、複数のアカウントが同一番組情報に対して登録されても、登録されたアカウントを番組表において当該番組情報に表示することができるので、番組表の表示範囲が狭められるような問題もないし、また、番組表における位置を直感的に把握することが難しいという欠点もない。
【０１８６】
なお、上述の実施例では、第１の描画方法では、優先順位の最も高いアカウントに設定された表示態様で番組情報を描画するようにしていた。しかし、他の実施例では、番組情報に複数のアカウントが登録されている場合、当該番組情報の表示領域を登録アカウント数で分割し、各分割領域を優先順位に基づいた順序で各アカウントの表示態様で描画するようにしてもよい。たとえば、番組情報の表示領域を横方向に分割して、左から右に優先順位が低くなるようにして各分割領域を各アカウントの色で描画してよいし、または、番組情報の表示領域を縦方向に分割して、上から下に優先順位が低くなるようにして各分割領域を各アカウントの色で描画してよい。
【０１８７】
また、上述の各実施例では、番組情報を示すオブジェクトを直方体で構成したが、当該オブジェクトは適宜な形状の立体であってよい。したがって、第２描画方法の場合に形成される積層体も、当該立体を積み重ねて形成されてよい。また、第１の描画方法の場合には、当該オブジェクトは平面で形成されてもよい。
【０１８８】
また、上述の各実施例では、縮小表示方法の場合、図１６および図１７に示したように、画面にスタンプ８００を表示していなかったが、他の実施例では、第１および第２拡大表示方法の場合と同様に、スタンプ８００を表示し、スタンプ８００の指示によって優先順位を変更できるようにしてもよく、その場合、１日分の番組表の全体的な表示において、各アカウントの登録状況を把握することができる。
【０１８９】
また、上述の各実施例では、縮小表示方法の場合、第２の描画方法のみが行われるようにしていたが、他の実施例では、第１の描画方法も行われるようにしてもよい。たとえば、−ボタン２６ｅ等の所定の操作によって第１拡大表示方法から縮小表示方法に切替える際には、仮想カメラを第２位置に変更し、かつ、番組情報を第１の描画方法で描画する。その後、Ｂトリガースイッチ２６ｉ等の所定の操作によって、番組情報を第２の描画方法で描画するようにしてもよい。
【０１９０】
また、上述の各実施例では、ゲーム装置１２に登録されたユーザのみを対象として、各番組情報をアカウントの優先順位に基づいて描画するようにしていた。しかし、他の実施例では、別のゲーム装置１２のユーザによる番組登録の結果も表示されるようにしてよい。具体的には、別のゲーム装置１２を第２ゲーム装置１２と呼ぶものとすると、ゲーム装置１２は、ネットワークを介して第２ゲーム装置１２と通信し、第２ゲーム装置１２で登録された番組ＩＤを含む番組登録データを受信する。また、ゲーム装置１２は、第２ゲーム装置１２に対してアカウントを設定するとともに、当該アカウントに対応するアイコンおよび表示態様を設定して、当該アカウントに関するデータをアカウントデータ記憶領域５０８に追加する。画面上には、たとえば右端のスタンプ８００の右側に、第２ゲーム装置１２のアイコンを表示する。ただし、このアイコンは、スタンプ８００とは異なり、番組情報に対して登録を行えないようにする。さらに、ゲーム装置１２は、第２ゲーム装置１２に対して設定されたアカウントにも優先順位を設定し、当該アカウントの優先順位データを優先順位テーブル記憶領域５１０に追加する。たとえば、初期の優先順位として最低位を付与する。さらに、ゲーム装置１２は、第２ゲーム装置１２の番組登録データを番組登録データ記憶領域５０６に追加する。このようにすれば、ゲーム装置１２では、当該ゲーム装置１２のアカウントによる番組登録結果と別のゲーム装置１２における番組登録結果とを同じように扱って、番組情報を描画することができる。
【図面の簡単な説明】
【０１９１】
【図１】図１はこの発明の一実施例のゲームシステムを示す図解図である。
【図２】図２は図１に示すゲームシステムの電気的な構成を示すブロック図である。
【図３】図３は図１に示すコントローラの外観を説明するための図解図である。
【図４】図４は図３に示すコントローラの電気的な構成を示すブロック図である。
【図５】図５は図１に示すコントローラを用いてゲームプレイするときの状態を概説するための図解図である。
【図６】図６は図１に示すマーカおよびコントローラの視野角を説明するための図解図である。
【図７】図７は対象画像を含む撮像画像の一例を示す図解図である。
【図８】図８は図１に示すゲーム装置のメモリマップの一例を示す図解図である。
【図９】図９は仮想３次元空間における番組表と仮想カメラの位置関係を説明するための図解図である。
【図１０】図１０は２次元の番組表の画面の一例を示す図解図である。
【図１１】図１１は第１の描画方法で描画された番組情報を含む番組表の画面の一例を示す図解図である。
【図１２】図１２は第２の描画方法で描画された番組情報の一例を示す図解図である。
【図１３】図１３は第２の描画方法で描画された番組情報を含む番組表の画面の一例を示す図解図である。
【図１４】図１４はスタンプの指示による優先順位の変更を説明するための図解図である。
【図１５】図１５は図１４で優先順位を変更した後に第２の描画方法で描画された番組情報を含む番組表の画面を示す図解図である。
【図１６】図１６は縮小表示方法で表示された番組表の画面の一例を示す図解図である。
【図１７】図１７は縮小表示方法で表示された画面の他の例を示す図解図である。
【図１８】図１８はゲーム装置の動作の一例を示すフロー図である。
【図１９】図１９は図１８に示す表示方法変更処理の動作の一例を示すフロー図である。
【図２０】図２０は図１８に示す優先順位に基づく番組表表示処理の動作の一例を示すフロー図である。
【符号の説明】
【０１９２】
１０  …ゲームシステム（番組情報表示装置）
１２  …ゲーム装置
１８  …光ディスク
２２  …コントローラ
２６  …入力手段
３４  …モニタ
４０  …ＣＰＵ
４２  …システムＬＳＩ
４２ａ  …入出力プロセッサ
４２ｂ  …ＧＰＵ
４２ｄ  …ＶＲＡＭ
４２ｅ  …内部メインメモリ
４４  …フラッシュメモリ
４６  …外部メインメモリ
４８  …ＲＯＭ／ＲＴＣ
５０  …無線通信モジュール
５２  …無線コントローラモジュール
５４  …ディスクドライブ
５６  …ＡＶ  ＩＣ
５８  …ＡＶコネクタ
７０  …プロセッサ
７４  …加速度センサ
８０  …撮像情報演算部
７００  …番組表
８００  …スタンプ
８０２  …ポインタ
９００  …番組情報
【図１】
0005379385.tif 000002
【図２】
0005379385.tif 000003
【図３】
0005379385.tif 000004
【図４】
0005379385.tif 000005
【図５】
0005379385.tif 000006
【図６】
0005379385.tif 000007
【図７】
0005379385.tif 000008
【図８】
0005379385.tif 000009
【図９】
0005379385.tif 000010
【図１０】
0005379385.tif 000011
【図１１】
0005379385.tif 000012
【図１２】
0005379385.tif 000013
【図１３】
0005379385.tif 000014
【図１４】
0005379385.tif 000015
【図１５】
0005379385.tif 000016
【図１６】
0005379385.tif 000017
【図１７】
0005379385.tif 000018
【図１８】
0005379385.tif 000019
【図１９】
0005379385.tif 000020
【図２０】
0005379385.tif 000021