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

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

Info

Publication number
JP2009146284A
JP2009146284A JP2007324785A JP2007324785A JP2009146284A JP 2009146284 A JP2009146284 A JP 2009146284A JP 2007324785 A JP2007324785 A JP 2007324785A JP 2007324785 A JP2007324785 A JP 2007324785A JP 2009146284 A JP2009146284 A JP 2009146284A
Authority
JP
Japan
Prior art keywords
character
drawing area
character size
characters
size
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
JP2007324785A
Other languages
English (en)
Other versions
JP5144242B2 (ja
Inventor
Daiji Imai
大二 今井
Ryoichiro Atono
遼一郎 後野
Bunko Narita
文紘 成田
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.)
HARU KENKYUSHO KK
Nintendo Co Ltd
HAL Laboratory Inc
Original Assignee
HARU KENKYUSHO KK
Nintendo Co Ltd
HAL Laboratory Inc
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 HARU KENKYUSHO KK, Nintendo Co Ltd, HAL Laboratory Inc filed Critical HARU KENKYUSHO KK
Priority to JP2007324785A priority Critical patent/JP5144242B2/ja
Priority to US12/071,149 priority patent/US8081189B2/en
Priority to EP08002965.5A priority patent/EP2073168B1/en
Publication of JP2009146284A publication Critical patent/JP2009146284A/ja
Priority to US13/173,411 priority patent/US20110316886A1/en
Application granted granted Critical
Publication of JP5144242B2 publication Critical patent/JP5144242B2/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
    • G06T3/00Geometric image transformations in the plane of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】表示情報の視認性を高め、表示情報の視認性を高めるための操作性を向上させることができる表示制御プログラムおよび表示制御装置を提供する。
【解決手段】描画領域の大きさおよび文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。そして、算出された文字数に基づいて、取得した文字サイズで描画領域内に文字列を配置するか、当該取得した文字サイズとは異なる文字サイズで描画領域内に文字列を配置するかを選択して、選択した文字サイズで当該描画領域内に文字列を配置する。そして、配置した文字列を表示装置に表示する。
【選択図】図10

Description

本発明は、表示制御プログラムおよび表示制御装置に関し、より特定的には、複数の描画領域内にそれぞれ文字列を表示する表示制御プログラムおよび表示制御装置に関する。
近年、画像や文字等の情報を画面に表示する際の視認性を高めることが求められるようになってきている。例えば、画面に表示される情報を拡大表示することによって、当該情報を見やすくする方法が用いられることがある。
このような技術として、ポインタを用いて画面上に表示された縮小画像上の任意の位置を指定することにより、その縮小画像に対応する拡大画像を表示する情報処理装置が開示されている(例えば、特許文献1参照)。また、表示領域に併せて文字データ等の拡大率を調整し、表示領域内に表示させるデータ表示装置が開示されている(例えば、特許文献2参照)。
特開2007−47324号公報 特開2007−47942号公報
しかしながら、上記特許文献1の情報処理装置では、拡大表示されるのはポインタで指示した縮小画像のみであり、表示されている全ての縮小画像を同時に拡大表示することができない。そのため、ユーザが複数の縮小画像を拡大して見たい場合には、縮小画像の1つ1つを順次選択して拡大表示させる必要があり、操作性が悪いという欠点があった。
また、上記特許文献2のデータ表示装置では、ユーザの操作に関わらず、表示領域に応じて文字の拡大率を自動的に設定してしまうので、ユーザの好みに応じて文字の拡大を行うことができないという欠点があった。また、当該データ表示装置は、文字が表示領域に収まるように文字の拡大率を自動的に調整するので、当該表示領域内に表示する文字数が多い場合には、文字の拡大率が小さくなり、視認性が悪くなってしまうという問題もある。
それ故に、本発明の目的は、上述した課題の少なくとも1つを解決するものであり、表示情報の視認性を高め、表示情報の視認性を高めるための操作性を向上させることができる表示制御プログラムおよび表示制御装置を提供することである。
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号、ステップ番号(ステップをSと略称しステップ番号のみを記載する)、図面番号等は、本発明の理解を助けるために後述する最良の形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、複数の描画領域内にそれぞれ所定の文字列を配置して表示(図9〜図11)する装置(5)のコンピュータ(10)で実行される表示制御プログラムである。表示制御プログラムは、操作データ取得手段(ステップ53を実行するCPU10;以下、単にステップ番号のみ記載する)、文字サイズ取得手段(S61)、文字数算出手段(S98)、文字列配置手段(S103、S104)、および表示制御手段(S103、S104)として、コンピュータを機能させる。操作データ取得手段は、ユーザの操作データ(Da)を取得する。文字サイズ取得手段は、操作データが示す操作内容に基づいて、表示する文字サイズ(「大」、「中」、「小」)を取得する。文字数算出手段は、描画領域の大きさ(dw、dh)および文字サイズ取得手段が取得した文字サイズに基づいて、描画領域内に配置可能な文字数(Db2j)をそれぞれ算出する。文字列配置手段は、文字数算出手段によって算出された文字数に基づいて、文字サイズ取得手段が取得した文字サイズで描画領域内に文字列を配置するか、当該取得した文字サイズとは異なる文字サイズで描画領域内に文字列を配置するかを選択して、選択した文字サイズで当該描画領域内に文字列を配置する。表示制御手段は、文字列配置手段が配置した文字列を表示装置(2)に表示する。
第2の発明は、上記第1の発明において、文字数判定手段(S100)として、さらにコンピュータを機能させる。文字数判定手段は、文字数算出手段によって算出された文字数が所定数以上(3文字以上)であるか否かを判定する。文字列配置手段は、文字数判定手段によって文字数が所定数以上であると判定された描画領域について文字サイズ取得手段が取得した文字サイズで当該描画領域内に文字列を配置し、文字数判定手段によって文字数が所定数未満であると判定された描画領域について文字サイズ取得手段が取得した文字サイズを相対的に小さくした文字サイズで当該描画領域内に文字列を配置する。
第3の発明は、上記第2の発明において、文字数算出手段は、文字サイズ取得手段が取得した文字サイズが変更された場合、描画領域の大きさおよび文字サイズ取得手段が取得した変更後の文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。文字数判定手段は、文字サイズ取得手段が取得した文字サイズが変更されたことに応じて、文字数算出手段が算出した文字数が所定数以上であるか否かを判定する。文字列配置手段は、文字数判定手段によって文字数が所定数以上であると判定された描画領域についてのみ、当該描画領域内に描画する文字列の文字サイズを変更して配置する。
第4の発明は、上記第1または第2の発明において、文字数算出手段は、行数算出手段(S113)および行単位文字数算出手段(S56、S117〜S120)を含む。行数算出手段は、描画領域の一辺の長さ(dh)および文字サイズ取得手段が取得した文字サイズに応じた文字の当該一辺方向の長さに基づいて、当該描画領域内に配置可能な文字行数を算出する。行単位文字数算出手段は、描画領域の他辺の長さ(dw)および文字サイズ取得手段が取得した文字サイズに応じた文字の当該他辺方向の長さに基づいて、当該描画領域内の1行あたりに配置可能な行単位文字数を算出する。文字数算出手段は、文字行数および行単位文字数を用いて描画領域内に配置可能な文字数を算出する。
第5の発明は、上記第1または第2の発明において、描画領域サイズ変更手段(S55、S58、S59)および描画領域サイズ算出手段(S56)として、さらにコンピュータを機能させる。描画領域サイズ変更手段は、操作データが示す操作内容に基づいて、描画領域の大きさ(dw)を変更する。描画領域サイズ算出手段は、描画領域サイズ変更手段によって描画領域の大きさが変更された場合、変更後の当該描画領域の大きさを算出する。文字数算出手段は、変更後の描画領域の大きさおよび文字サイズ取得手段が取得した文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。
第6の発明は、上記第5の発明において、複数の描画領域は、マトリックス状に配列されて表示される。描画領域サイズ変更手段は、操作データが示す操作内容に基づいてマトリックス状の配列に対する一方方向(時間軸方向)のスケールを変更することによって、配列された複数の描画領域の当該一方方向の長さ(dw)をそれぞれ変更する。
第7の発明は、上記第5の発明において、複数の描画領域は、マトリックス状に配列されて表示される。描画領域サイズ変更手段は、操作データが示す操作内容に基づいて表示装置に表示する表示領域を移動させる(S55)ことによって、配列された複数の描画領域のうち、当該表示領域から一部分が外れる描画領域を当該表示領域内となる範囲に限定して、当該描画領域の大きさを変更する(図20)。
第8の発明は、上記第3の発明において、文字サイズ縮小手段(S102)として、さらにコンピュータを機能させる。文字サイズ縮小手段は、文字数判定手段によって文字数が所定数未満であると判定された描画領域について、当該描画領域に配置する文字サイズを1段階小さくする。文字数算出手段は、文字サイズ縮小手段が文字サイズを縮小した場合、当該文字サイズを縮小した対象の描画領域の大きさおよび当該縮小後の文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。文字数判定手段は、文字サイズ縮小手段が文字サイズを縮小したことに応じて、文字数算出手段が算出した文字数が所定数以上であるか否かを判定する。
第9の発明は、上記第8の発明において、文字列配置手段は、文字サイズ縮小手段が最小の文字サイズまで縮小した状態で描画領域内に配置可能な文字数が所定数未満であると文字数判定手段が判定した場合(S101でYes)、当該描画領域を空白にする。
第10の発明は、上記第1または第2の発明において、複数の描画領域は、一方の軸が時間軸および他方の軸が放送局軸に定義されたマトリックス状に配列されて番組表として表示される。文字列配置手段は、少なくとも番組名を示す文字列を当該番組の放送局および放送時刻に応じた描画領域内に配置する。
第11の発明は、複数の描画領域内にそれぞれ所定の文字列を配置して表示する表示制御装置である。表示制御装置は、操作データ取得手段、文字サイズ取得手段、文字数算出手段、文字列配置手段、および表示制御手段を備える。操作データ取得手段は、ユーザの操作データを取得する。文字サイズ取得手段は、操作データが示す操作内容に基づいて、表示する文字サイズを取得する。文字数算出手段は、描画領域の大きさおよび文字サイズ取得手段が取得した文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。文字列配置手段は、文字数算出手段によって算出された文字数に基づいて、文字サイズ取得手段が取得した文字サイズで描画領域内に文字列を配置するか、当該取得した文字サイズとは異なる文字サイズで描画領域内に文字列を配置するかを選択して、選択した文字サイズで当該描画領域内に文字列を配置する。表示制御手段は、文字列配置手段が配置した文字列を表示装置に表示する。
第12の発明は、上記第11の発明において、文字数判定手段を、さらに備える。文字数判定手段は、文字数算出手段によって算出された文字数が所定数以上であるか否かを判定する。文字列配置手段は、文字数判定手段によって文字数が所定数以上であると判定された描画領域について文字サイズ取得手段が取得した文字サイズで当該描画領域内に文字列を配置し、文字数判定手段によって文字数が所定数未満であると判定された描画領域について文字サイズ取得手段が取得した文字サイズを相対的に小さくした文字サイズで当該描画領域内に文字列を配置する。
第13の発明は、上記第12の発明において、文字数算出手段は、文字サイズ取得手段が取得した文字サイズが変更された場合、描画領域の大きさおよび文字サイズ取得手段が取得した変更後の文字サイズに基づいて、描画領域内に配置可能な文字数をそれぞれ算出する。文字数判定手段は、文字サイズ取得手段が取得した文字サイズが変更されたことに応じて、文字数算出手段が算出した文字数が所定数以上であるか否かを判定する。文字列配置手段は、文字数判定手段によって文字数が所定数以上であると判定された描画領域についてのみ、当該描画領域内に描画する文字列の文字サイズを変更して配置する。
上記第1および第2の発明によれば、ユーザの文字サイズ設定に応じて表示情報の視認性を高め、表示情報の視認性を高めるための操作性を向上させることができる。例えば、各描画領域の大きさと指示された文字サイズとに基づいて、当該描画領域内に描画可能な文字数を算出し、描画可能文字数に応じて、各描画領域内にそれぞれ描画される文字サイズを決定するため、表示情報の視認性を高めることができる。
上記第3の発明によれば、各描画領域の大きさと変更後の文字サイズとに基づいて描画可能な文字数を算出し、描画可能文字数に応じて、各描画領域内にそれぞれ描画されている文字サイズを変更するか否かを判別して文字サイズが変更されるので、各描画領域内の視認性を高めることができる。また、ユーザの操作に応じて、描画領域毎に文字サイズを変更するか否かを判別して処理するので、視認性を高めるための操作性を向上させることができる。
上記第4の発明によれば、簡単な処理で描画領域毎に描画可能な文字数を効率よく算出することができる。
上記第5の発明によれば、ユーザの操作に応じて描画領域の大きさを変化させることができる。また、変化後の描画領域の大きさに基づいて描画可能な文字数を算出するので、描画領域の変化に応じて文字サイズを変更するか否かを判別して処理することができ、視認性を高めるための操作性をさらに向上させることができる。
上記第6の発明によれば、ユーザの操作に応じて、マトリックス状に配列された複数の描画領域に対する一方方向のスケールを変化させて、各描画領域の当該一方方向の長さを変化させることができる。また、変化後の各描画領域の大きさに基づいて描画可能な文字数を算出するので、各描画領域の一方方向の変化に応じてそれぞれ文字サイズを変更するか否かを判別して処理することができ、視認性を高めるための操作性をさらに向上させることができる。
上記第7の発明によれば、ユーザの操作に応じて、表示装置に表示する表示範囲を移動させることができる。また、上記表示範囲からその一部分が外れる描画領域については、その描画領域範囲が表示領域範囲内に限定されて変更された大きさに基づいて描画可能な文字数を算出するので、表示領域の移動に応じて表示領域外縁に位置する描画領域それぞれの文字サイズを変更するか否かを判別して処理することができ、視認性を高めるための操作性をさらに向上させることができる。
上記第8の発明によれば、描画領域内に配置する文字数が所定数以上に到達するまで文字サイズが縮小されるため、描画領域内に所定数以上の文字数の情報をそれぞれ確保することができる。
上記第9の発明によれば、最小の文字サイズでも描画領域内に配置する文字数が所定数未満の場合、当該描画領域が空白で表示されるため、不充分な情報を描画領域内に表示することによる乱雑な表示や視認性の低下を防止することができる。
上記第10の発明によれば、ユーザの文字サイズ設定に応じて番組表に記述される番組情報の視認性を高め、番組情報の視認性を高めるための操作性を向上させることができる。
本発明の表示制御装置によれば、上述した表示制御プログラムと同様の効果を得ることができる。
図1を参照して、本発明の一実施形態に係る表示制御プログラムを実行する表示制御装置について説明する。以下、説明を具体的にするために、当該表示制御装置の一例の据置型のゲーム装置本体5を含むゲームシステムについて説明する。なお、図1は据置型のゲーム装置3を含むゲームシステム1の外観図であり、図2はゲーム装置本体5のブロック図である。以下、当該ゲームシステム1について説明する。
図1において、ゲームシステム1は、表示手段の一例の家庭用テレビジョン受像機(以下、モニタと記載する)2と、当該モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、ゲーム装置本体5から出力された音声信号を音声出力するためのスピーカ2aを備える。また、ゲーム装置3は、ゲームプログラムを記録した光ディスク4と、当該光ディスク4のゲームプログラムを実行してゲーム画面をモニタ2に表示出力させるためのコンピュータを搭載したゲーム装置本体5と、ゲーム画面に表示されたキャラクタ等を操作するゲームに必要な操作情報をゲーム装置本体5に与えるためのコントローラ7とを備えている。
また、ゲーム装置本体5は、無線コントローラモジュール19(図2参照)を内蔵する。無線コントローラモジュール19は、コントローラ7から無線送信されるデータを受信し、ゲーム装置本体5からコントローラ7へデータを送信して、コントローラ7とゲーム装置本体5とを無線通信によって接続する。さらに、ゲーム装置本体5には、当該ゲーム装置本体5に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。
また、ゲーム装置本体5には、後述する各種データやゲームソフト処理におけるセーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ17(図2参照)が搭載される。ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ2に表示する。また、ゲームプログラム等は、光ディスク4に限らず、フラッシュメモリ17に予め記録されたものを実行するようにしてもよい。さらに、ゲーム装置本体5は、フラッシュメモリ17に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置本体5のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
本願発明の表示制御プログラムは、第1の例としてゲーム装置本体5内の不揮発性記憶装置(例えば、フラッシュメモリ17)に予め記録されている。また、本願発明の表示制御プログラムは、第2の例として光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給される。また、本願発明の表示制御プログラムは、第3の例として有線または無線の通信回線を通じてゲーム装置本体5に供給される。そして、当該表示制御プログラムを実行するゲーム装置本体5は、有線または無線の通信回線を通じてゲーム装置本体5に供給される番組表データを用いて、当該番組表データが示す番組表をモニタ2に表示する。
コントローラ7は、無線コントローラモジュール19を内蔵するゲーム装置本体5へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて操作情報等の送信データを無線送信する。コントローラ7は、主にモニタ2の表示画面に表示されるオブジェクト等を操作するための操作手段である。コントローラ7は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン(十字キーやスティック等を含む)とが設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって例えば赤外光を出力する。また、コントローラ7は、ゲーム装置本体5の無線コントローラモジュール19から無線送信された送信データを通信部75で受信して、当該送信データに応じた音や振動を発生させることもできる。
次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、AV−IC(Audio Video−Integrated Circuit)15、およびフラッシュメモリ17等を有する。
CPU10は、フラッシュメモリ17等に記録された表示制御プログラムを実行することによって表示制御処理を実行するものであり、表示制御プロセッサとして機能する。また、CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については、後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出された表示制御プログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。
また、システムLSI11には、入出力プロセッサ31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。図示は省略するが、これらの構成要素31〜35は、内部バスによって互いに接続される。
GPU32は、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM34は、GPU32がグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU32は、VRAM34に記憶されたデータを用いて画像データを作成する。
DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。そして、スピーカ2aから音を出力させる場合、DSP33は、上記サウンドデータを読み出し、AV−IC15およびAVコネクタ16を介して、モニタ2に備えるスピーカ2aに出力させる。また、コントローラ7に搭載されたスピーカ706(図7参照)から音を出力させる場合、DSP33は、上記サウンドデータを読み出し、無線コントローラモジュール19およびアンテナ23を介して、音声データをコントローラ7に送信する。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、画像がモニタ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ(I/Oプロセッサ)31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、および外部メモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ31は、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ31は、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介して当該データをネットワークに送信する。また、入出力プロセッサ31は、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータ(例えば、電子番組表データ)を、ネットワーク、アンテナ22、および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10は、ゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムや表示制御プログラムの実行動作で利用する。フラッシュメモリ17には、ゲーム装置本体5と他のゲーム装置や各種サーバとの間で送受信されるデータの他、上述したようにゲーム装置本体5を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ31は、アンテナ23および無線コントローラモジュール19を介して、コントローラ7から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。なお、内部メインメモリ35には、外部メインメモリ12と同様に、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりしてもよく、CPU10のワーク領域やバッファ領域として用いられてもかまわない。
さらに、入出力プロセッサ31には、拡張コネクタ20および外部メモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ31は、拡張コネクタ20や外部メモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
また、ゲーム装置本体5(例えば、前部主面)には、当該ゲーム装置本体5の電源ボタン24、ゲーム処理のリセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、ゲーム装置本体5の各構成要素に対して、図示しないACアダプタを経て電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置本体5の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面前方から見た斜視図である。
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。ユーザが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばユーザが十字キー72aを操作することによって、番組表をスクロールさせて表示したり、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、複数の選択肢から選択指示したりすることができる。
なお、十字キー72aは、上述したユーザの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、十字方向に4つのプッシュスイッチを配設し、ユーザによって押下されたプッシュスイッチに応じて操作信号を出力する操作部を設けてもかまわない。さらに、上記4つのプッシュスイッチとは別に、上記十字方向が交わる位置にセンタスイッチを配設し、4つのプッシュスイッチとセンタスイッチとを複合した操作部を設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティック(いわゆる、ジョイスティック)を倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、ユーザがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、1番ボタン、2番ボタン、およびAボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、マイナスボタン、ホームボタン、およびプラスボタン等としての機能が割り当てられる。これら操作ボタン72a〜72gは、ゲーム装置本体5が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。例えば、操作ボタン72b(1番ボタン)または操作ボタン72c(2番ボタン)を押下することによって、番組表で表示される各番組の文字サイズを変更することができる。また、操作ボタン72e(マイナスボタン)または操作ボタン72g(プラスボタン)を押下することによって、表示された番組表の時間軸を変更することができる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置本体5の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、ユーザが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をユーザに通知するために用いられる。具体的には、無線コントローラモジュール19からコントローラ7へ、複数のLED702のうち、上記コントローラ種別に対応するLEDを点灯させるための信号が送信される。
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5に示すスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
一方、ハウジング71下面には、凹部が形成されている。ハウジング71下面の凹部は、ユーザがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該ユーザの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。例えば、ユーザが操作ボタン72iを押下しながらコントローラ7で指し示す位置を移動させることによって、番組表をスクロール表示することができる。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
次に、図5および図6を参照して、コントローラ7の内部構造について説明する。なお、図5は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を後面側から見た斜視図である。図6は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を前面側から見た斜視図である。ここで、図6に示す基板700は、図5に示す基板700の裏面から見た斜視図となっている。
図5において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751等(図6、図7参照)に接続される。また、無線モジュール753(図7参照)およびアンテナ754によって、コントローラ7がワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。
また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分が含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の動きを良好な感度でゲーム装置本体5等が判定することができる。例えば、コントローラ7は、3軸の加速度センサ701を備えている。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。そして、加速度センサ701でそれぞれ検知された加速度を示すデータは、通信部75に出力される。
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置本体5から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置本体5から送信された振動データに応じてその作動をオン/オフする。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているユーザの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。ここで、バイブレータ704は、ハウジング71のやや前方寄りに配置されるため、ユーザが把持している状態において、ハウジング71が大きく振動することになり、振動を感じやすくなる。
次に、図7を参照して、コントローラ7の内部構成について説明する。なお、図7は、コントローラ7の構成を示すブロック図である。
図7において、コントローラ7は、上述した操作部72、撮像情報演算部74、加速度センサ701、バイブレータ704、スピーカ706、サウンドIC707、およびアンプ708の他に、その内部に通信部75を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置本体5からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置本体5から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置本体5から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの3軸方向の加速度信号(加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を無線コントローラモジュール19へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から無線コントローラモジュール19への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、無線コントローラモジュール19への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術を用いて、操作情報を示す電波信号を所定周波数の搬送波を用いてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置本体5の無線コントローラモジュール19でその電波信号を受信し、ゲーム装置本体5で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置本体5のCPU10は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
ゲームシステム1でコントローラ7を用いてゲームをプレイするためには、ユーザは、一方の手(例えば右手)でコントローラ7を把持する。そして、ユーザは、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がモニタ2に向くようにコントローラ7を把持する。一方、モニタ2の表示画面近傍には、2つのマーカ8Lおよび8Rが設置される(図1参照)。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力し、撮像情報演算部74の撮像対象となる。
図8に示すように、マーカ8Lおよび8Rは、それぞれ視野角θ1を有している。また、撮像素子743は、視野角θ2を有している。例えば、マーカ8Lおよび8Rの視野角θ1は共に34°(半値角)であり、撮像素子743の視野角θ2は41°である。そして、撮像素子743の視野角θ2の中にマーカ8Lおよび8Rが共に存在し、マーカ8Lの視野角θ1の中でかつマーカ8Rの視野角θ1の中に撮像素子743が存在するとき、ゲーム装置本体5は、2つのマーカ8Lおよび8Rによる高輝度点に関する位置データを用いてコントローラ7が指し示す位置を算出する。
ユーザがその前面がモニタ2に向くようにコントローラ7を把持することによって、撮像情報演算部74には2つのマーカ8Lおよび8Rが出力した赤外光が入射する。そして、赤外線フィルタ741およびレンズ742を介して、入射した赤外光を撮像素子743が撮像し、当該撮像画像を画像処理回路744が処理する。ここで、撮像情報演算部74では、マーカ8Lおよび8Rから出力される赤外線成分を検出することで、上記撮像画像における当該マーカ8Lおよび8Rの位置情報(対象画像の位置)等を取得する。具体的には、画像処理回路744は、撮像素子743が撮像した画像データを解析して、まず面積情報からマーカ8Lおよび8Rからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をマーカ8Lおよび8Rそれぞれの位置として判別する。そして、撮像情報演算部74は、判別されたそれらの輝点の重心位置等の位置情報を取得し、上記処理結果データとして出力する。ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点(例えば、撮像画像の中央や左上隅)を原点とした座標値として出力するものでもよく、所定のタイミングにおける輝点位置を基準点として、当該基準位置からの現在の輝点位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子743が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。このような位置情報をゲーム装置本体5へ送信することによって、ゲーム装置本体5では、基準からの上記位置情報の差に基づいて、マーカ8Lおよび8Rに対する撮像情報演算部74、すなわちコントローラ7の動き、姿勢、位置等に応じた信号の変化量を得ることができる。具体的には、コントローラ7が動かされることによって、通信部75から送信される画像内の高輝度点の位置が変化するため、高輝度点の位置の変化に対応させた方向入力や座標入力を行うことで、コントローラ7が指し示している位置を操作入力としたり、コントローラ7の移動方向に沿った方向入力や座標入力を行ったりすることができる。なお、後述する表示制御処理動作例では、撮像情報演算部74が撮像画像におけるマーカ8Lおよび8Rの対象画像それぞれの重心位置の座標を少なくとも取得し、上記処理結果データとして出力する例を用いる。
このように、コントローラ7の撮像情報演算部74によって、固定的に設置されたマーカ(実施例では、2つのマーカ8Lおよび8Rからの赤外光)を撮像することによって、ゲーム装置本体5におけるゲーム処理において、コントローラ7から出力されるデータを処理してコントローラ7の動き、姿勢、位置等に対応した操作が可能となり、ボタンを押下するような操作ボタンや操作キーとは異なった直感的な操作入力となる。また、上述したように上記マーカは、モニタ2の表示画面近傍に設置されているため、マーカに対する位置をモニタ2の表示画面に対するコントローラ7の動き、姿勢、位置等に換算することも容易に行うことができる。つまり、コントローラ7の動き、姿勢、位置等による処理結果データは、モニタ2の表示画面に直接作用する操作入力(例えば、コントローラ7が指し示す位置を入力)として用いることができる。
次に、図9〜図11を参照して、ユーザの操作に応じてモニタ2に表示される画面例について説明する。なお、図9は、モニタ2に表示される番組表の第1の例を示す画面例である。図10は、モニタ2に表示される番組表の第2の例を示す画面例である。図11は、モニタ2に表示される番組表の第3の例を示す画面例である。
図9〜図11において、モニタ2には横軸を時間軸、縦軸を放送局軸としたマトリックス状の番組表が表示される。具体的には、各テレビ局が放送する時間帯に応じた番組セルがそれぞれ設定され、各番組セル内に番組名が文字で記述される。ここで、ユーザは、コントローラ7の所定ボタンを押下したり、コントローラ7で指し示す位置を変更したりすることによって、番組名の文字サイズを変更したり、番組表をスクロールしたり、時間軸の長さを伸縮したりすることができる。例えば、ユーザは、操作ボタン72b(1番ボタン)または操作ボタン72c(2番ボタン)を押下することによって、番組名の文字サイズを変更する。また、ユーザは、操作ボタン72e(マイナスボタン)または操作ボタン72g(プラスボタン)を押下することによって、表示された番組表の時間軸の長さを伸縮させる。さらに、ユーザは、操作ボタン72iを押下しながらコントローラ7で指し示す位置を移動させたり、操作ボタン72a(十字キー)を押下したりすることによって、番組表をスクロール表示することができる。
例えば、図9において、時間軸が19時台〜21時台までの3時間分で、放送局軸がテレビ局A〜Eまでの5局分の番組表が表示されている。また、図9の表示態様は、表示される文字サイズをユーザが「小」に設定している状態を示している。これによって、各テレビ局の番組セル内に記述されている番組名の大半が、当該番組名の先頭から文字サイズ「小」で記述される。例えば、テレビ局Aの19時台に放送される番組セルには、番組名「ABCDEFGHIJKLMN」が文字サイズ「小」で記述されている。なお、本実施形態でユーザが選択可能な文字サイズは、「大」、「中」、および「小」の3つの文字サイズである。また、ユーザは選択不可能であるが表示される文字サイズとして、文字サイズ「小」よりさらに小さな文字サイズ「極小」も設定されている。
ここで、図9に示す番組セルC2およびC3に注目する。番組セルC2には、番組名「ABC」が他の文字サイズ「小」より小さい文字サイズ「極小」で記述されている。これは、モニタ2に表示する番組名を少なくとも3文字記述することをルールとしていることに起因している。具体的には、番組セルC2が文字サイズ「小」では3文字記述できないサイズであり、文字サイズ「極小」では縦書きで3文字記述できるサイズとなっている。このような場合、ユーザが文字サイズ「小」を設定していても、番組セルC2には文字サイズ「極小」で番組名が記述される。また、番組セルC3には、番組名が記述されていない。これは、番組セルC3が文字サイズ「極小」でも3文字記述できないサイズとなっている。このような場合、ユーザが文字サイズ「小」を設定していても、番組セルC3には番組名が記述されない。
また、図10においても、時間軸が19時台〜21時台までの3時間分で、放送局軸がテレビ局A〜Eまでの5局分の番組表が表示されている。なお、図10の表示態様は、表示される文字サイズをユーザが「大」に設定している状態を示している。これによって、各テレビ局の番組セル内に記述されている番組名の大半が、当該番組名の先頭から文字サイズ「大」で記述される。例えば、テレビ局Aの19時台に放送される番組セルには、番組名「ABCDEFGHIJKLMN」の先頭から6文字分に相当する番組名「ABCDEF」が、文字サイズ「大」で記述されている。このように、本実施形態における番組表では、ユーザが選択した文字サイズに応じて、番組名の先頭から番組セル内に記述可能な文字数だけ記述される。
ここで、図9および図10に示す番組セルC1〜C3に注目する。ユーザが文字サイズ「小」を選択している場合、番組セルC1には4文字の番組名「abcd」が文字サイズ「小」で記述されている(図9)。一方、ユーザが文字サイズ「大」を選択している場合であっても、番組セルC1には4文字の番組名「abcd」が文字サイズ「小」で記述されている(図10)。これも、モニタ2に表示する番組名を少なくとも3文字記述することをルールとしていることに起因している。具体的には、番組セルC1が文字サイズ「大」や文字サイズ「中」では3文字記述できないサイズであり、文字サイズ「小」では4文字記述できるサイズとなっている。このような場合、ユーザが文字サイズ「中」や文字サイズ「大」を設定していても、番組セルC1には文字サイズ「小」で番組名が記述される。また、ユーザが文字サイズ「大」を選択している場合であっても、番組セルC2には番組名「ABC」が文字サイズ「極小」で記述されている(図10)。また、ユーザが文字サイズ「大」を選択している場合であっても、番組セルC3には番組名が記述されない(図10)。
また、図11においては、図9および図10に対して、時間軸の時間間隔を短縮、すなわち表示される番組表の時間帯を長くした番組表が表示されている。具体的には、時間軸が19時台〜22時台までの約4時間分で、放送局軸がテレビ局A〜Eまでの5局分の番組表が表示されている。なお、図11の表示態様は、表示される文字サイズを図10と同様にユーザが「大」に設定している状態を示している。これによって、各テレビ局の番組セルが横方向に短縮されて、当該番組セル内に記述されている番組名の大半が当該番組名の先頭から文字サイズ「大」で記述される。例えば、テレビ局Aの19時台に放送される番組セルには、番組名「ABCDEFGHIJKLMN」の先頭から4文字分に相当する番組名「ABCD」が、文字サイズ「大」で記述されている。このように、本実施形態における番組表では、ユーザが選択した文字サイズや時間軸スケールに応じて、番組名の先頭から番組セル内に記述可能な文字数だけ記述される。
ここで、図9および図10に示す番組セルC1〜C4に注目する。図9および図10に示すように、時間軸の時間間隔を短縮する前においては、番組セルC1には4文字の番組名「abcd」が文字サイズ「小」で記述されている。一方、図11に示すように、ユーザが時間軸の時間間隔を短縮した後においては、番組セルC1には3文字の番組名「abc」が文字サイズ「極小」で記述されている。これも、モニタ2に表示する番組名を少なくとも3文字記述することをルールとしていることに起因している。具体的には、時間軸の時間間隔を短縮した後は、番組セルC1が文字サイズ「大」〜「小」では3文字記述できないサイズになり、文字サイズ「極小」では縦書きで3文字記述できるサイズとなっている。このような場合、ユーザがどのような文字サイズを設定していても、番組セルC1には文字サイズ「極小」で番組名が記述される。また、図11に示すように、ユーザが時間軸の時間間隔を短縮した後においては、番組セルC2およびC3には番組名が記述されていない。これは、時間軸の時間間隔を短縮した後は、番組セルC2およびC3が文字サイズ「極小」でも3文字記述できないサイズとなっている。このような場合、ユーザがどのような文字サイズを設定していても、番組セルC2およびC3には番組名が記述されない。さらに、図9および図10に示すように、時間軸の時間間隔を短縮する前においては、番組セルC4に文字サイズ「小」の5文字の番組名「12345」、または文字サイズ「大」の4文字の番組名「1234」が記述されている。一方、図11に示すように、ユーザが時間軸の時間間隔を短縮した後においては、番組セルC4には4文字の番組名「1234」が文字サイズ「小」で記述されている。これは、時間軸の時間間隔を短縮した後は、番組セルC4が文字サイズ「大」または「中」では3文字記述できないサイズになり、文字サイズ「小」では4文字記述できるサイズとなっている。このような場合、ユーザが文字サイズを「大」や「中」に設定していても、番組セルC4には文字サイズ「小」で番組名が記述される。
次に、ゲームシステム1において行われるゲーム処理の詳細を説明する。まず、図12および図13を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図12は、ゲーム装置本体5の外部メインメモリ12および/または内部メインメモリ35(以下、2つのメインメモリを総称して、単にメインメモリと記載する)に記憶される主なデータの一例を示す図である。図13は、図12に示す番組セルデータDb2の詳細な内容の一例を示す図である。
図12に示すように、メインメモリには、操作情報Daおよび番組表データDb等が記憶される。なお、メインメモリには、図12に示す情報に含まれるデータの他、情報処理や表示制御処理に必要なデータが適宜記憶される。
操作情報Daは、コントローラ7から送信データとして送信されてくる一連の操作情報(キーデータ、加速度データ、および処理結果データ)が格納され、最新の操作情報に更新される。操作情報Daには、上述の処理結果データの位置情報に相当する第1座標データDa1および第2座標データDa2が含まれる。第1座標データDa1は、撮像素子743が撮像した撮像画像に対して、2つのマーカ8Lおよび8Rのうちの一方の画像の位置(撮像画像内における位置)を示すデータである。第2座標データDa2は、他方のマーカの画像の位置(撮像画像内における位置)を示すデータである。例えば、撮像画像におけるマーカの画像の位置は、撮像画像におけるxy座標系によって表される。
また、操作情報Daには、撮像画像から得られる処理結果データの一例の座標データ(第1座標データDa1および第2座標データDa2)の他、操作部72から得られるキーデータDa3等が含まれる。なお、ゲーム装置本体5に備える無線コントローラモジュール19は、コントローラ7から所定間隔例えば5msごとに送信される一連の操作情報を受信し、無線コントローラモジュール19に備える図示しないバッファに蓄えられる。その後、上記バッファに蓄えられた最新の操作情報がゲーム処理間隔である1フレーム毎(例えば1/60秒毎)に読み出されて、メインメモリの操作情報Daが更新される。
番組表データDbは、モニタ2に番組表を表示するための情報が格納される。番組表データDbは、表示領域座標データDb1、番組セルデータDb2、スクロール量データDb3、時間軸設定データDb4、ユーザ設定文字サイズデータDb5、および画像データDb6等を含む。
表示領域座標データDb1は、番組表に対してモニタ2に表示する表示領域の位置(例えば、表示領域の左上端の位置と右下端の位置)を示す座標データが格納される。番組セルデータDb2は、番組表に含まれる各番組セルの情報を示すデータが格納され、詳細は後述する。スクロール量データDb3は、ユーザの操作入力によって設定される番組表のスクロール量および方向を示すデータが格納される。時間軸設定データDb4は、ユーザの操作入力によって設定される番組表の時間軸スケールを示すデータが格納される。ユーザ設定文字サイズデータDb5は、ユーザの操作入力によって設定される番組表の文字サイズを示すデータが格納される。画像データDb6は、番組表をモニタ2に表示するための各種画像を示すデータが格納される。
図13において、番組セルデータDb2は、無線通信モジュール18およびアンテナ22を介してネットワークに接続される各種サーバと通信することによって得られる電子番組表データを用いて、適宜その情報が更新される。番組セルデータDb2は、番組表に設定されている番組セル毎にそれぞれ設定される。番組セルデータDb2は、番組セル毎に、番組セル番号Db2a、番組文字列データDb2b、番組文字数データDb2c、テレビ局データDb2d、番組セル座標データDb2e、描画領域幅データDb2f、描画領域高さデータDb2g、描画文字サイズデータDb2h、描画可能行数データDb2i、および描画可能文字数データDb2j等を含んでいる。
番組セル番号Db2aは、番組セル毎に設定される連番(例えば、図13では番組セル番号「1」)を示すデータが格納される。番組文字列データDb2bは、番組セル毎に記述される番組名(例えば、図13では番組文字列「ABCDEFGH」)を示す文字列データが格納される。番組文字数データDb2cは、番組セル毎の番組名の文字数(例えば、図13では番組文字数「8」)を示すデータが格納される。テレビ局データDb2dは、番組セルが配置されるテレビ局(例えば、図13ではテレビ局「A」)を示すデータが格納される。番組セル座標データDb2eは、番組表における番組セル毎の位置(例えば、図13では左上端座標(xsa,ysa)、右下端座標(xsb,ysb))を示すデータが格納される。描画領域幅データDb2fは、番組セル毎に番組名を当該番組セル内に記述可能な描画領域幅(例えば、図13では描画領域幅「dw」)を示すデータが格納される。描画領域高さデータDb2gは、番組セル毎に番組名を当該番組セル内に記述可能な描画領域高さ(例えば、図13では描画領域高さ「dh」)を示すデータが格納される。描画文字サイズデータDb2hは、番組セル毎に番組名を当該番組セル内に記述する文字サイズ(例えば、図13では文字サイズ「中」)を示すデータが格納される。描画可能行数データDb2iは、番組セル毎に番組名を当該番組セル内に記述可能な描画行数(例えば、図13では描画可能行数「2」)を示すデータが格納される。描画可能文字数データDb2jは、番組セル毎に番組名を当該番組セル内に記述可能な描画文字数(例えば、図13では描画可能文字数「4」)を示すデータが格納される。
次に、図14〜図20を参照して、ゲーム装置本体5において行われる表示制御処理の詳細を説明する。なお、図14は、ゲーム装置本体5において実行される表示制御処理の流れを示すフローチャートである。図15は、図14のステップ56における描画領域幅算出処理の詳細な動作を示すサブルーチンである。図16は、図14のステップ63における番組表表示更新処理の詳細な動作を示すサブルーチンである。図17は、図16のステップ98における描画可能文字数算出処理の詳細な動作を示すサブルーチンである。図18は、番組表に対する表示領域の設定例を説明するための図である。図19は、番組セルに設定される描画領域幅dwおよび描画領域高さdhの設定例を説明するための図である。図20は、番組セルの一部分が表示領域内となった場合に設定される描画領域幅dwおよび描画領域高さdhの設定例を説明するための図である。なお、図14〜図17に示すフローチャートにおいては、表示制御処理のうち、主に番組セル内の文字をモニタ2に表示する処理について説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図14〜図17では、CPU10が実行する各ステップを「S」と略称する。
ゲーム装置本体5の電源ボタン24がオンされると、ゲーム装置本体5のCPU10は、ROM/RTC13に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4や他の記録媒体に記憶された表示制御プログラムがメインメモリに読み込まれ、CPU10によって当該表示制御プログラムの実行が可能となる状態となる。図14に示すフローチャートは、以上の処理が完了した後に行われる表示制御処理を示すフローチャートである。
図14において、CPU10は、初期設定を行い(ステップ51)、処理を次のステップに進める。例えば、上記ステップ51における初期設定では、無線通信モジュール18およびアンテナ22を介してネットワークに接続される各種サーバと通信することによって得られる電子番組表データを用いて、番組セルデータDb2に記述される各情報を適宜最新の情報に更新し、番組表の初期設定を行う。また、上記ステップ51における初期設定では、番組表を表示するための各パラメータを初期化する。例えば、CPU10は、上述したメインメモリに格納される各データが示すパラメータをそれぞれデフォルトの値に設定する。
次に、CPU10は、番組表の表示処理を行い(ステップ52)、処理を次のステップに進める。具体的には、CPU10は、上記ステップ51で設定されたデフォルトの設定状態に基づいて、番組表を作成してモニタ2に表示する。
次に、CPU10は、コントローラ7から受信した操作情報を取得し(ステップ53)、処理を次のステップに進める。そして、CPU10は、取得した最新の操作情報を用いて操作情報Daを更新する。ここで、ステップ53で取得される操作情報には、マーカ8Lおよび8Rの撮像画像内における位置を示す処理結果データの他、コントローラ7の操作部72がどのように操作されたか示すキーデータが含まれている。ここでは、通信部75は、所定の時間間隔(例えば5ms間隔)で操作情報をゲーム装置本体5へ送信する。そして、CPU10は、送信された最新の操作情報を1フレーム毎に利用して、第1座標データDa1、第2座標データDa2、およびキーデータDa3を更新する。
次に、CPU10は、ユーザが番組表のスクロール操作を行ったか否か(ステップ54)、ユーザが番組表の時間軸を変更する操作を行ったか否か(ステップ57)、およびユーザが番組表の文字サイズを変更する操作を行ったか否かを判断する(ステップ60)。具体的には、CPU10は、操作情報Daの第1座標データDa1、第2座標データDa2、およびキーデータDa3を参照して、ユーザの操作内容を決定する。そして、CPU10は、ユーザが番組表のスクロール操作を行った場合(ステップ54でYes)、次のステップ55に処理を進める。また、CPU10は、ユーザが番組表の時間軸を変更する操作を行った場合(ステップ57でYes)、次のステップ58に処理を進める。また、CPU10は、ユーザが番組表の文字サイズを変更する操作を行った場合(ステップ60でYes)、次のステップ61に処理を進める。一方、ユーザが番組表のスクロール操作、時間軸を変更する操作、および文字サイズを変更する操作とは異なる操作を行った場合(ステップ54、ステップ57、ステップ60が何れもNo)、次のステップ62に処理を進める。
ステップ55において、CPU10は、ユーザの操作に応じたスクロール量に応じて表示領域の座標を更新して、処理を次のステップ56に進める。具体的には、CPU10は、コントローラ7で指し示す位置や操作ボタン72aの押下方向に応じて、番組表のスクロール量および方向を算出してスクロール量データDb3を更新する。そして、CPU10は、算出されたスクロール量および方向に応じて、表示領域の左上端の位置と右下端の位置とを示す座標を算出して表示領域座標データDb1を更新する。以下、コントローラ7で指し示す位置の算出例および表示領域の設定例について説明する。
例えば、CPU10は、第1座標データDa1が示す位置から第2座標データDa2が示す位置への方向と、第1座標データDa1が示す位置と第2座標データDa2が示す位置との中点を算出する。ここで、上記中点は、撮像画像内における対象画像(マーカ8Lおよび8R)を1つの画像とみなした場合、その1つの画像の位置を示すことになる。そして、上記中点と所定の基準位置との差によって、モニタ2に対するコントローラ7の位置の変化による画像位置の変化を算出することができる。
ここで、マーカ8Lおよび8Rと、モニタ2の表示画面と、コントローラ7との位置関係について考える。例えば、モニタ2の上面に2つのマーカ8Lおよび8Rを設置し(図1参照)、上面が上方向を向いたコントローラ7を用いてプレイヤがモニタ2の表示画面の中央を指し示した場合(すなわち、撮像情報演算部74の撮像画像の中央に表示画面中央が撮像されている状態)を考える。このとき、撮像情報演算部74の撮像画像において、対象画像の中点(マーカ8Lおよび8Rの中点)位置と撮像画像の中央とは一致しない。具体的には、上記撮像画像における対象画像の位置は、撮像画像の中心から上方の位置となる。このような位置に対象画像が位置する場合に、表示画面中央を指し示しているという基準位置の設定を行う。一方、コントローラ7で指し示す位置を移動させると、撮像画像中の対象画像の位置も移動する(コントローラ7の移動方向は逆方向となる)ので、撮像画像中の対象画像の位置の移動に対応させて表示画面を指し示す位置を移動させる処理を行うことによって、コントローラ7で指し示された表示画面基準の位置を算出することができる。
ここで、基準位置の設定は、予めプレイヤが表示画面の所定位置を指し示し、そのときの対象画像の位置を当該所定位置と対応させて記憶しておくようにしてもよいし、対象画像と表示画面との位置関係が固定的であれば、予め設定されていても良い。このような表示画面に対する指し示し位置は、上記中点からモニタ2の表示画面基準の座標を算出する関数を用いた線形変換で算出される。この関数は、ある撮像画像から算出される中点座標の値を、当該撮像画像が撮像される時のコントローラ7によって指し示される表示画面上の位置に変換するものである。この関数によって、中点座標から表示画面を基準とした指し示し位置を算出することができる。なお、上面が上方向以外(例えば、右方向)を向いたコントローラ7を用いてプレイヤがモニタ2の表示画面を指し示した場合、方向データDb1に格納された方向を用いて中点座標を補正して、補正された中点を用いて上述したように表示画面を基準とした指し示し位置を算出する。
そして、CPU10は、算出した表示画面を基準とした指し示し位置を、対応する番組表における位置にさらに変換する。例えば、指し示し位置に対応する番組表の位置は、モニタ2の表示画面上における位置に表示される番組表の位置に透視投影される位置となる。
また、図18に示すように、番組表に設定されている座標系を基準として配置される位置が表示領域の位置として設定される。例えば、縦軸を放送局軸、横軸を時間軸とした番組表が設定されており、当該番組表の左上端の位置を座標(x0,y0)とし、当該番組表の右下端の位置を座標(xmax,ymax)とする座標系(以下、番組表座標と記載する)が番組表に設定されている。そして、表示領域は、番組表内の一部分に配置される。例えば、表示領域の左上端の位置(座標(xa,ya))と右下端の位置(座標(xb,yb))とを番組表座標で設定することによって、表示領域の配置位置と表示領域のサイズとを設定している。上記ステップ55においては、ユーザの操作に応じて設定されたスクロール量およびスクロール方向に応じて、表示領域の左上端の位置(座標(xa,ya))と右下端の位置(座標(xb,yb))とを番組表座標で設定することによって、表示領域の座標を更新している。
図14に戻り、ユーザが番組表の時間軸を変更する操作を行った場合(ステップ57でYes)、CPU10は、ユーザの操作に応じた時間軸に応じて描画領域幅を更新する(ステップ58)。そして、CPU10は、ユーザの操作に応じた時間軸に応じて各番組セルの座標を更新して(ステップ59)、処理を次のステップ56に処理を進める。具体的には、CPU10は、ユーザによって変更された時間軸の時間間隔に応じて、各番組セルの描画領域幅dwおよび位置(左上端座標(xsa,ysa)、右下端座標(xsb,ysb))を変化させて描画領域幅データDb2fおよび番組セル座標データDb2eを更新する。
例えば、図19に示すように、番組セル内には矩形の描画領域が設定されている。描画領域のサイズは、描画領域幅dwおよび描画領域サイズdhで定義される。そして、番組セルの位置は、描画領域の左上端の位置(座標(xsa,ysa))と右下端の位置(座標(xsb,ysb))とが番組表座標によって設定される。上記ステップ58においては、各番組セルの描画領域幅dwを変更された時間軸の時間間隔に応じてそれぞれ変化させて、それぞれの描画領域幅データDb2fを更新する。また、上記ステップ59においては、各番組セルの位置(左上端座標(xsa,ysa)、右下端座標(xsb,ysb))を変更された時間軸の時間間隔に応じてそれぞれ変化させて、それぞれの番組セル座標データDb2eを更新する。各番組セルの位置の変更については、表示領域の所定位置(例えば、表示領域の中心や左端)を中心に左右に伸縮した各番組セルの位置を番組表座標によって指定してもいいし、コントローラ7で指し示された番組表の位置を中心に左右に伸縮した各番組セルの位置を番組表座標によって指定してもいい。
図14に戻り、ユーザが番組表の文字サイズを変更する操作を行った場合(ステップ60でYes)、CPU10は、ユーザの操作に応じたユーザ設定文字サイズを設定して(ステップ61)、次のステップ63に処理を進める。具体的には、CPU10は、ユーザによって変更された文字サイズに応じて、ユーザ設定文字サイズデータDb5を更新する。一方、ユーザが番組表のスクロール操作、時間軸を変更する操作、および文字サイズを変更する操作とは異なる操作を行った場合(ステップ54、ステップ57、ステップ60が何れもNo)、CPU10は、ユーザの操作に応じたその他の処理を行って(ステップ62)、次のステップ64に処理を進める。
上記ステップ55またはステップ59の処理の後、CPU10は、描画領域算出処理を行って(ステップ56)、次のステップ63に処理を進める。以下、図15を参照して、ステップ56で行う描画領域算出処理について説明する。
図15において、CPU10は、処理対象とする番組セル番号を示す変数Nを1に設定し(ステップ81)、処理を次のステップに進める。
次に、CPU10は、番組セル番号Nの番組セル座標と表示領域座標とを比較して(ステップ82)、番組セルが表示領域内か否か(ステップ83)、および番組セルの一部分が表示領域外か否か(ステップ84)を判断する。具体的には、CPU10は、番組セル番号Nの番組セル座標データDb2eと表示領域座標データDb1とを参照して、番組セル番号Nの番組セルの左上端座標(xsa,ysa)および右下端座標(xsb,ysb)と表示領域の左上端座標(xa,ya)および右下端座標(xb,yb)とを所得する。そして、これらの座標を用いて、番組セル番号Nの番組セルと表示領域との位置関係を分析する。そして、CPU10は、番組セル番号Nの番組セルの一部分が表示領域外(すなわち、番組セルの一部分が表示領域内)である場合(ステップ83でYes、ステップ84でYes)、次のステップ85に処理を進める。また、CPU10は、番組セル番号Nの番組セルの全部分が表示領域内である場合(ステップ83でYes、ステップ84でNo)、次のステップ86に処理を進める。また、CPU10は、番組セル番号Nの番組セルの全部分が表示領域外である場合(ステップ83でNo)、次のステップ88に処理を進める。
ステップ85において、CPU10は、番組セル番号Nの番組セルにおいて表示領域内となる描画領域幅dwを算出して、次のステップ87に処理を進める。例えば、図20に示すように、番組セルの左部分が表示領域外となった場合、表示領域の左端から当該番組セルの描画領域の右端までの幅が描画領域幅dwとして算出される。
ステップ86において、CPU10は、現在設定されている時間軸に応じた描画領域幅dwを用いて番組セル番号Nの番組セルの描画領域幅dwを設定して、次のステップ87に処理を進める。例えば、CPU10は、現在設定されている時間軸に応じて、上記ステップ51で設定されたデフォルトの値または上記ステップ58で設定された時間軸変更後の値を用いて番組セル番号Nの番組セルの描画領域幅dwを設定する。なお、上記ステップ86においては、番組セル番号Nの番組セルにおける描画領域の一部分が表示領域外に表示される状態から、描画領域の全部分が表示領域内に配置される状態に変化したときに描画領域幅dwを変更することが必要となり、他の状態においては描画領域幅dwが不変となる。したがって、描画領域幅dwが不変となる状態においては、上記ステップ86による処理を省略してもかまわない。この場合、番組セル番号Nの番組セルにおける描画領域の一部分が表示領域外に表示される状態から、描画領域の全部分が表示領域内に配置される状態に変化したときにのみ、ステップ86の処理を行うことになる。
ステップ87において、CPU10は、上記ステップ85で算出された描画領域幅dwまたは上記ステップ86で設定された描画領域幅dwを用いて、番組セル番号Nの描画領域幅データDb2fを更新して、次にステップ88に処理を進める。
ステップ88において、CPU10は、現在の変数Nが番組セルデータDb2に記述されている番組セル毎の連番の最後(Nmax)であるか否かを判断する。そして、CPU10は、N<Nmaxの場合、現在の変数Nに1を加算して(ステップ89)、上記ステップ82に戻って処理を繰り返す。一方、CPU10は、N=Nmaxの場合、当該サブルーチンによる処理を終了する。
図14に戻り、上記ステップ56またはステップ61の処理の後、CPU10は、番組表表示更新処理を行って(ステップ63)、次のステップ64に処理を進める。以下、図16を参照して、ステップ63で行う番組表表示更新処理について説明する。
図16において、CPU10は、番組表の時間軸に沿ってそれぞれ並列されて表示されるテレビ局(図18参照)の何れか1つを選択する(ステップ91)。そして、CPU10は、選択したテレビ局の表示範囲上端が表示領域より下か否か(ステップ92)、および選択したテレビ局の表示範囲下端が表示領域より上か否か(ステップ93)を判断する。そして、CPU10は、選択したテレビ局の表示範囲の少なくとも一部分が表示領域内にある場合(ステップ92およびステップ93が何れもNo)、次のステップ94に処理を進める。一方、選択したテレビ局の表示範囲が全て表示領域外にある場合(ステップ92またはステップ93がYes)、次のステップ106に処理を進める。例えば、図18に示すテレビ局B〜テレビ局Fは、それらテレビ局の表示範囲の少なくとも一部分が表示領域内にあるとそれぞれ判断される。一方、テレビ局Aやテレビ局Gは、それらのテレビ局の表示範囲が全て表示領域外にあるとそれぞれ判断される。
ステップ94において、CPU10は、現在選択されているテレビ局に含まれる番組セルの何れか1つを選択する。そして、そして、CPU10は、選択した番組セルの描画範囲右端が表示領域より左か否か(ステップ95)、および選択した番組セルの描画範囲左端が表示領域より右か否か(ステップ96)を判断する。そして、CPU10は、選択した番組セルの描画範囲の少なくとも一部分が表示領域内にある場合(ステップ95およびステップ96が何れもNo)、次のステップ97に処理を進める。一方、選択した番組セルの描画範囲が全て表示領域外にある場合(ステップ95またはステップ96がYes)、次のステップ105に処理を進める。例えば、図18に示すテレビ局Cが選択されている場合、番組C1〜番組C4は、それら番組セルの描画範囲の少なくとも一部分が表示領域内にあるとそれぞれ判断される。一方、番組C5は、その番組セルの描画範囲が全て表示領域外にあると判断される。
ステップ97において、CPU10は、ユーザが設定している文字サイズを用いて現在選択している番組セルの描画文字サイズを変更して、処理を次のステップに進める。具体的には、CPU10は、ユーザ設定文字サイズデータDb5を参照してユーザ設定文字サイズを取得し、当該ユーザ設定文字サイズを用いて現在選択している番組セルの描画文字サイズデータDb2hを更新する。
次に、CPU10は、描画可能文字数算出処理を行い(ステップ98)、処理を次のステップに進める。以下、図17を参照して、描画可能文字数算出処理の詳細な動作について説明する。
図17において、CPU10は、現在の文字数を0に設定し(ステップ111)、描画可能文字数を0に設定する(ステップ112)。次に、CPU10は、現在選択されている番組セルの描画領域に描画可能な文字行数を算出する(ステップ113)。そして、CPU10は、現在の行数を1に設定し(ステップ114)、処理を次のステップに進める。例えば、上記ステップ113において、CPU10は、現在選択している番組セルの描画領域高さデータDb2gを参照して、描画領域高さdhを取得する。また、CPU10は、現在選択している番組セルの描画文字サイズデータDb2hを参照して、描画文字サイズを取得する。そして、CPU10は、取得した描画領域高さdhを、取得した描画文字サイズに予め設定されている行高さで除算することによって描画可能な文字行数を算出して、現在選択している番組セルの描画可能行数データDb2iを更新する。
次に、CPU10は、現在の行数が現在選択している番組セルに描画可能な文字行数を超えたか否かを判断する(ステップ115)。例えば、CPU10は、現在選択している番組セルの描画可能行数データDb2iを参照して描画可能な文字行数を取得し、現在の行数が当該描画可能な文字行数を超えているか否かを判断する。そして、CPU10は、現在の行数が現在選択している番組セルに描画可能な文字行数を超えていない場合、次のステップ116に処理を進める。一方、CPU10は、現在の行数が現在選択している番組セルに描画可能な文字行数を超えている場合、次のステップ122に処理を進める。
ステップ116において、CPU10は、現在の幅を0に設定する。そして、CPU10は、現在の文字数が現在選択している番組セルの番組文字数に達したか否かを判断する(ステップ117)。例えば、CPU10は、現在選択している番組セルの番組文字数データDb2cを参照して番組文字数を取得し、現在の文字数が当該番組文字数に到達しているか否かを判断する。そして、CPU10は、現在の文字数が現在選択している番組セルの番組文字数に達していない場合、次のステップ118に処理を進める。一方、CPU10は、現在の文字数が現在選択している番組セルの番組文字数に達した場合、次のステップ122に処理を進める。
ステップ118において、CPU10は、現在の幅に次の文字幅を加算する。そして、CPU10は、現在の幅が描画領域の幅を超えたか否かを判断する(ステップ119)。例えば、CPU10は、現在選択している番組セルの描画領域幅データDb2fを参照して描画領域幅dwを取得する。そして、CPU10は、取得した描画領域幅dwと現在の幅とを比較して、現在の幅が描画領域の幅を超えたか否かを判断する。そして、CPU10は、現在の幅が描画領域の幅を超えていない場合、現在の文字数に1を加算して(ステップ120)、上記ステップ117に戻って処理を繰り返す。一方、CPU10は、現在の幅が描画領域の幅を超えている場合、現在の行数に1を加算して(ステップ121)、上記ステップ115に戻って処理を繰り返す。
ここで、上記ステップ118で用いる次の文字幅とは、現在選択している番組セルに記述する番組文字において、現在の文字数としてカウントされている文字の次に記述される文字の文字幅を示している。例えば、図13に示す番組セルデータDb2の例において現在の文字数が「2」の場合、次に記述される文字「C」の文字幅が次の文字幅として採用される。ここで、一般的に文字幅は、文字サイズやフォントが同じであっても異なることが多い。例えば、上記ステップ118においては、予めゲーム装置本体5内に設定されているフォントデータ等を参照して、文字種毎の文字幅を取得する。
上記ステップ115でYesと判断された場合、または上記ステップ117でYesと判断された場合、CPU10は、現在の文字数を用いて現在選択している番組セルの描画可能文字数を設定して(ステップ122)、当該サブルーチンによる処理を終了する。例えば、CPU10は、現在の文字数を用いて現在選択している番組セルの描画可能文字数データDb2iを更新する。ここで、上記ステップ115でYesと判断される場合は、現在の行数が現在選択している番組セルに描画可能な文字行数を超えている場合であり、すなわち、現在選択している番組セルの描画領域に、現在の文字数より多い文字が描画できない場合である。一方、上記ステップ117でYesと判断される場合は、現在の文字数が現在選択している番組セルの番組文字数に達した場合であり、すなわち、現在選択している番組セルの描画領域に、現在の文字数より多く描画する文字がない場合である。このように、描画可能文字数算出処理においては、番組セルに設定されている描画文字サイズを基準として、当該番組セルに記述する文字数が当該番組セル描画可能な文字数制限に達した場合、または記述するべき番組名称の文字数に到達した場合、それらの文字数を描画可能文字数として算出する。
図16に戻り、上記ステップ98の描画可能文字数算出処理の後、CPU10は、選択されている番組セルの描画可能文字数が番組文字数と同じか否かを判断する(ステップ99)。例えば、CPU10は、選択されている番組セルの番組文字数データDb2cおよび描画可能文字数データDb2jを参照して番組文字数および描画可能文字数を取得し、取得した描画可能文字数が番組文字数と同じか否かを判断する。そして、CPU10は、描画可能文字数が番組文字数と異なる場合、次のステップ100に処理を進める。一方、CPU10は、描画可能文字数が番組文字数と同じである場合、次のステップ103に処理を進める。
ステップ100において、CPU10は、選択されている番組セルの描画可能文字数が3文字以上であるか否かを判断する。例えば、CPU10は、選択されている番組セルの描画可能文字数データDb2jを参照して描画可能文字数を取得し、取得した描画可能文字数が3以上か否かを判断する。そして、CPU10は、描画可能文字数が2文字以下である場合、次のステップ101に処理を進める。一方、CPU10は、描画可能文字数が3文字以上である場合、次のステップ103に処理を進める。
ステップ101において、CPU10は、選択されている番組セルの描画文字サイズが最小であるか否かを判断する。例えば、CPU10は、選択されている番組セルの描画文字サイズデータDb2hを参照して描画文字サイズを取得し、取得した描画文字サイズが最小の文字サイズ(例えば、文字サイズ「極小」)であるか否かを判断する。そして、CPU10は、描画文字サイズが最小でない場合、描画文字サイズを1段階小さく設定して選択されている番組セルの描画文字サイズデータDb2hを更新し(ステップ102)、上記ステップ98に戻って処理を繰り返す。一方、CPU10は、描画文字サイズが最小である場合、次のステップ104に処理を進める。
ステップ103において、CPU10は、選択されている番組セルの描画領域内に、設定された描画文字サイズで描画可能文字数の文字を配置して描画し、処理を次のステップ105に進める。例えば、CPU10は、選択されている番組セルの番組セルデータDb2を参照して、設定された描画文字サイズで描画可能文字数の番組名の文字列を、表示領域内に属している当該番組セルの描画領域内の左端から横書きで配置して記述する。このとき、描画領域の一部が表示領域外にある場合、当該表示領域内に制限した描画領域を用いて番組名の文字列を配置して描画する。また、番組セルの描画領域内における複数行を使って描画可能文字数が確保されている場合、当該描画領域内には当該複数行を用いて記述された番組名の文字列が配置されて描画される(図9〜図11参照)。
ステップ104において、CPU10は、選択されている番組セルの描画領域内に文字を描画せずに(つまり、空白)、処理を次のステップ105に進める。つまり、描画文字サイズが最小であっても3文字以上描画領域内に記述できない番組セルの場合、当該番組セルは空白にして描画される(図9〜図11の番組セルC3等参照)。
ステップ105において、CPU10は、現在選択されているテレビ局において処理されていない番組セルがあるか否かを判断する。そして、CPU10は、現在選択されているテレビ局において未処理の番組セルが残っている場合、上記ステップ94に戻って処理を繰り返す。一方、CPU10は、現在選択されているテレビ局において未処理の番組セルがない場合、次のステップ106に処理を進める。
ステップ106において、CPU10は、番組表において処理されていないテレビ局があるか否かを判断する。そして、CPU10は、番組表において未処理のテレビ局が残っている場合、上記ステップ91に戻って処理を繰り返す。一方、CPU10は、番組表における全てのテレビ局が処理された場合、当該サブルーチンによる処理を終了する。
図14に戻り、上記ステップ63またはステップ62の処理の後、CPU10は、番組表の表示を終了するか否かを判断する(ステップ64)。表示を終了する条件としては、例えば、番組表が表示終了となる条件が満たされたことや、ユーザが番組の表示を終了する操作を行ったこと等がある。CPU10は、表示を終了しない場合に上記ステップ53に戻って処理を繰り返し、表示を終了する場合に当該フローチャートによる処理を終了する。
このように、本実施形態に係る表示制御プログラムを実行するゲーム装置本体5では、ユーザの文字サイズ設定に応じて表示情報の視認性を高め、表示情報の視認性を高めるための操作性を向上させることができる。例えば、各番組セルの描画領域の大きさと指示された文字サイズとに基づいて、当該描画領域内に描画可能な文字数を算出し、描画可能文字数に応じて、各描画領域内にそれぞれ描画される文字サイズを決定するため、番組表の視認性を高めることができる。また、ユーザの操作に応じて、描画領域毎に文字サイズを変更するか否かを判別して処理するので、視認性を高めるための操作性を向上させることができる。
なお、上述した説明では、番組名を記述する文字サイズが4段階(「大」、「中」、「小」、「極小」)に設定された例を用いたが、設定する文字サイズは4段階でなくてもかまわない。例えば、2段階や3段階の文字サイズを用いて番組名を記述してもいいし、5段階以上の文字サイズを用いて番組名を記述してもかまわない。
また、上述した説明では、各番組セルに番組名を少なくとも3文字記述することをルールとしたが、他の態様のルールでもかまわない。例えば、番組セルに少なくとも記述する文字数を、ユーザが設定してもかまわない。
また、番組セルの描画領域の描画可能文字数に応じて、当該描画領域に描画する文字サイズを変更してもかまわない。一例として、文字サイズ「小」で描画可能文字数を算出した際、描画可能文字数が3文字以上5文字未満の描画領域については文字サイズ「小」で描画し、描画可能文字数が5文字以上7文字未満の描画領域については文字サイズ「中」で再度描画可能文字数を算出した後に文字サイズ「中」で描画し、描画可能文字数が7文字以上の描画領域については文字サイズ「大」で再度描画可能文字数を算出した後に文字サイズ「大」で描画する。また、他の例として、ユーザの操作によって文字サイズが「中」に設定された場合に、描画可能文字数が3文字未満の描画領域については設定された文字サイズよりも小さい文字サイズ「小」で描画し、描画可能文字数が3文字以上5文字未満の描画領域については、設定された文字サイズである「中」で描画し、描画可能文字数が5文字以上の描画領域については設定された文字サイズよりも大きい文字サイズ「大」で再度描画可能文字数を算出した後に描画可能と判断されれば文字サイズ「大」で描画する。他の例として、描画可能文字数が所定文字数(例えば、3文字)以上を維持できるところまで文字サイズを大きくして、各番組セルの番組名を描画する。これによって、描画領域の描画可能文字数に応じて、当該描画領域内に適切な文字数が表示可能な範囲で、設定された文字サイズより大きな文字サイズに変更することができるため、さらに表示情報の視認性を高めることができる。
また、番組セルに記述する番組文字列データDb2bで示される文字列の文字毎に優先順位を設定しておき、番組名の全ての文字が記述できないときに優先順位の高い文字から順に表示するようにしてもかまわない。例えば、他の番組と重複が多い文字に対する優先順位を相対的に低く設定すれば、少ない文字数で番組名が表示されたとしても他の番組との区別が容易となる。
また、上記ステップ56における描画領域幅算出処理においては、描画領域の一部が表示領域から外れた際、描画領域の幅方向に対して描画領域幅dwの再設定を行っている。この処理において、描画領域の一部が表示領域の左に外れた場合(図20参照)および描画領域の一部が表示領域の右に外れた場合共に、描画領域幅dwの再設定を行ってもかまわない。この場合、上記ステップ103において、描画領域の一部が表示領域外にある場合、当該表示領域内に制限した描画領域を用いて番組名を描画する。また、描画領域幅算出処理において、描画領域の一部が表示領域の左に外れた場合のみ、描画領域幅dwの再設定を行ってもかまわない。この場合、上記ステップ103において、描画領域の左側の一部が表示領域外にある場合、当該表示領域内に制限した描画領域を用いて番組名を描画し、描画領域の右側の一部が表示領域外にある場合、当該表示領域外となった一部を含めた描画領域(すなわち、領域制限なし)を用いて番組名を描画する。
また、上記ステップ56における描画領域幅算出処理において、描画領域の一部が表示領域から外れた際、描画領域の高さ方向に対して描画領域高さdhの再設定を行ってもかまわない。この場合、描画領域の一部が表示領域の上に外れた場合および描画領域の一部が表示領域の下に外れた場合共に、描画領域高さdhの再設定を行う。そして、上記ステップ103において、描画領域の一部が表示領域外にある場合、当該表示領域内に制限した描画領域を用いて番組名を描画する。
また、上述した説明では、横軸を時間軸、縦軸を放送局軸としたマトリックス状の番組表を用いたが、他の態様の番組表でもかまわない。例えば、横軸を放送局軸、縦軸を時間軸としたマトリックス状の番組表でも、本発明を適用することができる。この場合、番組セルの描画領域の一部が表示領域外か否かの判断を、当該描画領域の縦方向(高さ)に対して行えば、同様の表示制御処理が可能となる。
また、上述した説明では、2次元の仮想世界に配置された2次元の番組表例を用いたが、3次元の仮想空間に配置された番組表に対する表示制御も可能であることは言うまでもない。
また、上述した説明では、横軸を放送局軸、縦軸を時間軸としたマトリックス状の番組表における各番組セルに記述する文字列の表示制御を行う例を用いたが、番組表とは異なる他の態様で記述される文字列の表示制御も可能である。例えば、一方の軸をゲーム種類の軸、他方の軸を時間軸としたマトリックス状のゲームスケジュール表における各セルに記述する文字列の表示制御を行ってもかまわない。また、双方の軸が時刻軸、日付軸、曜日軸、ユーザ軸等から選ばれたマトリックス状のスケジュール表における各セルに記述する文字列の表示制御を行ってもかまわない。さらに、複数の行および列を有するマトリックス状の表における各セルに記述する文字列の表示制御を行ってもかまわない。このように、本発明は、番組表以外であっても、表形式の各セルに記述する文字列に対して適用可能であり、上述した番組表で得られる効果と同様の効果が得られることは言うまでもない。
また、撮像素子743で撮像した画像データを解析してマーカ8Lおよび8Rからの赤外光の位置座標やそれらの重心座標等を取得し、それらを処理結果データとしてコントローラ7内で生成してゲーム装置本体5へ送信する態様を説明したが、他の処理段階のデータをコントローラ7からゲーム装置本体5へ送信してもかまわない。例えば、撮像素子743が撮像した画像データをコントローラ7からゲーム装置本体5へ送信し、CPU10において上記解析処理を行って処理結果データを取得してもかまわない。この場合、コントローラ7に設けられた画像処理回路744が不要となる。また、上記画像データの解析途中のデータをコントローラ7からゲーム装置本体5へ送信してもかまわない。例えば、画像データから得られる輝度、位置、および面積等を示すデータをコントローラ7からゲーム装置本体5へ送信し、CPU10において残りの解析処理を行って処理結果データを取得してもかまわない。
また、上述した説明では、2つのマーカ8Lおよび8Rからの赤外光を、コントローラ7の撮像情報演算部74の撮像対象としたが、他のものを撮像対象にしてもかまわない。例えば、1つまたは3つ以上のマーカをモニタ2の近傍に設置し、それらのマーカからの赤外光を撮像情報演算部74の撮像対象としてもかまわない。また、モニタ2の表示画面自体や他の発光体(室内灯等)を撮像情報演算部74の撮像対象としてもかまわない。撮像対象とモニタ2の表示画面との配置関係に基づいて、当該表示画面に対するコントローラ7の指し示し位置を演算すれば、様々な発光体を撮像情報演算部74の撮像対象として用いることができる。
また、上述した説明では、コントローラ7とゲーム装置本体5とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置本体5とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置本体5の接続端子に接続する。
また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等や、表示制御処理で用いる各数式、定数、処理順序等は、単なる一例に過ぎず他の形状、数、設置位置、数式、定数、処理順序であっても、本発明を実現できることは言うまでもない。また、コントローラ7における撮像情報演算部74の位置(撮像情報演算部74の光入射口)は、ハウジング71の前面でなくてもよく、ハウジング71の外部から光を取り入れることができれば他の面に設けられてもかまわない。
また、上述した説明では、コントローラ7に対する操作に応じて処理を行う据置型のゲーム装置本体5に本願発明を適用した例を説明したが、携帯ゲーム装置にも適用することができる。例えば、携帯ゲーム装置の本体に設けられた操作ボタンに対する操作に応じて、上述した表示制御処理を実行する。このように本願発明を適用することで、携帯ゲーム装置等においても、本発明の表示制御処理を実現することができる。
また、上述した説明では、据置型や携帯型のゲーム装置に本願発明を適用した例を説明したが、入力装置によって操作される一般的なパーソナルコンピュータ等の情報処理装置や携帯型の情報処理装置にも適用することができる。携帯型の情報処理装置としては、例えば一般的なパーソナルコンピュータ、携帯電話機、PDA(Personal Digital Assistant)等のデバイスに適用することができる。
また、本発明の表示制御プログラムは、ゲーム装置本体5内部の不揮発性記憶装置に予め記録されるだけでなく、光ディスク4等の外部記憶媒体を通じてゲーム装置本体5に供給されてもよい。なお、表示制御プログラムを記憶する情報記憶媒体としては、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体の他に、不揮発性半導体メモリでもよい。また、当該表示制御プログラムは、有線または無線の通信回線を通じてゲーム装置本体5に供給されてもよい。
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
本発明に係る表示制御プログラムおよび表示制御装置は、表示情報の視認性を高め、表示情報の視認性を高めるための操作性を向上させることができ、複数の描画領域内にそれぞれ所定の文字を表示するためのプログラムや装置等として有用である。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置本体5の機能ブロック図 図1のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面前方から見た斜視図 図3のコントローラ7の上筐体を外した状態を示す斜視図 図4のコントローラ7の下筐体を外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 マーカ8Lおよび8Rと撮像情報演算部74との視野角を説明するための図 モニタ2に表示される番組表の第1の例を示す画面例 モニタ2に表示される番組表の第2の例を示す画面例 モニタ2に表示される番組表の第3の例を示す画面例 ゲーム装置本体5のメインメモリに記憶される主なデータの一例を示す図 図12に示す番組セルデータDb2の詳細な内容の一例を示す図 ゲーム装置本体5において実行される表示制御処理の流れを示すフローチャート 図14のステップ56における描画領域幅算出処理の詳細な動作を示すサブルーチン 図14のステップ63における番組表表示更新処理の詳細な動作を示すサブルーチン 図16のステップ98における描画可能文字数算出処理の詳細な動作を示すサブルーチン 番組表に対する表示領域の設定例を説明するための図 番組セルに設定される描画領域幅dwおよび描画領域高さdhの設定例を説明するための図 番組セルの一部分が表示領域内となった場合に設定される描画領域幅dwおよび描画領域高さdhの設定例を説明するための図
符号の説明
1…ゲームシステム
2…モニタ
2a、706…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
10…CPU
11…システムLSI
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22、23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
31…入出力プロセッサ
32…GPU
33…DSP
34…VRAM
35…内部メインメモリ
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
704…バイブレータ
707…サウンドIC
708…アンプ
8…マーカ

Claims (13)

  1. 複数の描画領域内にそれぞれ所定の文字列を配置して表示する装置のコンピュータで実行される表示制御プログラムであって、
    前記コンピュータを、
    ユーザの操作データを取得する操作データ取得手段と、
    前記操作データが示す操作内容に基づいて、表示する文字サイズを取得する文字サイズ取得手段と、
    前記描画領域の大きさおよび前記文字サイズ取得手段が取得した文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出する文字数算出手段と、
    前記文字数算出手段によって算出された文字数に基づいて、前記文字サイズ取得手段が取得した文字サイズで前記描画領域内に文字列を配置するか、当該取得した文字サイズとは異なる文字サイズで前記描画領域内に文字列を配置するかを選択して、選択した文字サイズで当該描画領域内に文字列を配置する文字列配置手段と、
    前記文字列配置手段が配置した文字列を表示装置に表示する表示制御手段として機能させる、表示制御プログラム。
  2. 前記文字数算出手段によって算出された文字数が所定数以上であるか否かを判定する文字数判定手段として、さらに前記コンピュータを機能させ、
    前記文字列配置手段は、前記文字数判定手段によって前記文字数が前記所定数以上であると判定された描画領域について前記文字サイズ取得手段が取得した文字サイズで当該描画領域内に文字列を配置し、前記文字数判定手段によって前記文字数が前記所定数未満であると判定された描画領域について前記文字サイズ取得手段が取得した文字サイズを相対的に小さくした文字サイズで当該描画領域内に文字列を配置する、請求項1に記載の表示制御プログラム。
  3. 前記文字数算出手段は、前記文字サイズ取得手段が取得した文字サイズが変更された場合、前記描画領域の大きさおよび前記文字サイズ取得手段が取得した変更後の文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出し、
    前記文字数判定手段は、前記文字サイズ取得手段が取得した文字サイズが変更されたことに応じて、前記文字数算出手段が算出した文字数が所定数以上であるか否かを判定し、
    前記文字列配置手段は、前記文字数判定手段によって前記文字数が前記所定数以上であると判定された描画領域についてのみ、当該描画領域内に描画する文字列の文字サイズを変更して配置する、請求項2に記載の表示制御プログラム。
  4. 前記文字数算出手段は、
    前記描画領域の一辺の長さおよび前記文字サイズ取得手段が取得した文字サイズに応じた文字の当該一辺方向の長さに基づいて、当該描画領域内に配置可能な文字行数を算出する行数算出手段と、
    前記描画領域の他辺の長さおよび前記文字サイズ取得手段が取得した文字サイズに応じた文字の当該他辺方向の長さに基づいて、当該描画領域内の1行あたりに配置可能な行単位文字数を算出する行単位文字数算出手段とを含み、
    前記文字数算出手段は、前記文字行数および前記行単位文字数を用いて前記描画領域内に配置可能な文字数を算出する、請求項1または2に記載の表示制御プログラム。
  5. 前記操作データが示す操作内容に基づいて、前記描画領域の大きさを変更する描画領域サイズ変更手段と、
    前記描画領域サイズ変更手段によって前記描画領域の大きさが変更された場合、変更後の当該描画領域の大きさを算出する描画領域サイズ算出手段として、さらに前記コンピュータを機能させ、
    前記文字数算出手段は、前記変更後の描画領域の大きさおよび前記文字サイズ取得手段が取得した文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出する、請求項1または2に記載の表示制御プログラム。
  6. 前記複数の描画領域は、マトリックス状に配列されて表示され、
    前記描画領域サイズ変更手段は、前記操作データが示す操作内容に基づいて前記マトリックス状の配列に対する一方方向のスケールを変更することによって、配列された前記複数の描画領域の当該一方方向の長さをそれぞれ変更する、請求項5に記載の表示制御プログラム。
  7. 前記複数の描画領域は、マトリックス状に配列されて表示され、
    前記描画領域サイズ変更手段は、前記操作データが示す操作内容に基づいて前記表示装置に表示する表示領域を移動させることによって、前記配列された前記複数の描画領域のうち、当該表示領域から一部分が外れる描画領域を当該表示領域内となる範囲に限定して、当該描画領域の大きさを変更する、請求項5に記載の表示制御プログラム。
  8. 前記文字数判定手段によって前記文字数が前記所定数未満であると判定された描画領域について、当該描画領域に配置する文字サイズを1段階小さくする文字サイズ縮小手段として、さらに前記コンピュータを機能させ、
    前記文字数算出手段は、前記文字サイズ縮小手段が文字サイズを縮小した場合、当該文字サイズを縮小した対象の描画領域の大きさおよび当該縮小後の文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出し、
    前記文字数判定手段は、前記文字サイズ縮小手段が文字サイズを縮小したことに応じて、前記文字数算出手段が算出した文字数が所定数以上であるか否かを判定する、請求項3に記載の表示制御プログラム。
  9. 前記文字列配置手段は、前記文字サイズ縮小手段が最小の文字サイズまで縮小した状態で前記描画領域内に配置可能な文字数が前記所定数未満であると前記文字数判定手段が判定した場合、当該描画領域を空白にする、請求項8に記載の表示制御プログラム。
  10. 前記複数の描画領域は、一方の軸が時間軸および他方の軸が放送局軸に定義されたマトリックス状に配列されて番組表として表示され、
    前記文字列配置手段は、少なくとも番組名を示す文字列を当該番組の放送局および放送時刻に応じた前記描画領域内に配置する、請求項1または2に記載の表示制御プログラム。
  11. 複数の描画領域内にそれぞれ所定の文字列を配置して表示する表示制御装置であって、
    ユーザの操作データを取得する操作データ取得手段と、
    前記操作データが示す操作内容に基づいて、表示する文字サイズを取得する文字サイズ取得手段と、
    前記描画領域の大きさおよび前記文字サイズ取得手段が取得した文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出する文字数算出手段と、
    前記文字数算出手段によって算出された文字数に基づいて、前記文字サイズ取得手段が取得した文字サイズで前記描画領域内に文字列を配置するか、当該取得した文字サイズとは異なる文字サイズで前記描画領域内に文字列を配置するかを選択して、選択した文字サイズで当該描画領域内に文字列を配置する文字列配置手段と、
    前記文字列配置手段が配置した文字列を表示装置に表示する表示制御手段とを備える、表示制御装置。
  12. 前記文字数算出手段によって算出された文字数が所定数以上であるか否かを判定する文字数判定手段を、さらに備え、
    前記文字列配置手段は、前記文字数判定手段によって前記文字数が前記所定数以上であると判定された描画領域について前記文字サイズ取得手段が取得した文字サイズで当該描画領域内に文字列を配置し、前記文字数判定手段によって前記文字数が前記所定数未満であると判定された描画領域について前記文字サイズ取得手段が取得した文字サイズを相対的に小さくした文字サイズで当該描画領域内に文字列を配置する、請求項11に記載の表示制御装置。
  13. 前記文字数算出手段は、前記文字サイズ取得手段が取得した文字サイズが変更された場合、前記描画領域の大きさおよび前記文字サイズ取得手段が取得した変更後の文字サイズに基づいて、前記描画領域内に配置可能な文字数をそれぞれ算出し、
    前記文字数判定手段は、前記文字サイズ取得手段が取得した文字サイズが変更されたことに応じて、前記文字数算出手段が算出した文字数が所定数以上であるか否かを判定し、
    前記文字列配置手段は、前記文字数判定手段によって前記文字数が前記所定数以上であると判定された描画領域についてのみ、当該描画領域内に描画する文字列の文字サイズを変更して配置する、請求項12に記載の表示制御装置。
JP2007324785A 2007-12-17 2007-12-17 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法 Active JP5144242B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007324785A JP5144242B2 (ja) 2007-12-17 2007-12-17 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法
US12/071,149 US8081189B2 (en) 2007-12-17 2008-02-15 Storage medium having stored thereon display control program and display control apparatus
EP08002965.5A EP2073168B1 (en) 2007-12-17 2008-02-18 Storage medium having stored thereon display control program and display control apparatus
US13/173,411 US20110316886A1 (en) 2007-12-17 2011-06-30 Storage medium having stored thereon display control program and display control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007324785A JP5144242B2 (ja) 2007-12-17 2007-12-17 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法

Publications (2)

Publication Number Publication Date
JP2009146284A true JP2009146284A (ja) 2009-07-02
JP5144242B2 JP5144242B2 (ja) 2013-02-13

Family

ID=40457000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324785A Active JP5144242B2 (ja) 2007-12-17 2007-12-17 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法

Country Status (3)

Country Link
US (2) US8081189B2 (ja)
EP (1) EP2073168B1 (ja)
JP (1) JP5144242B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013080357A (ja) * 2011-10-03 2013-05-02 Zenrin Datacom Co Ltd 複数の語句の表示制御方法および電子機器並びに複数の語句の表示制御用プログラム
US10417311B2 (en) 2017-04-25 2019-09-17 Seiko Epson Corporation Electronic apparatus, program, and method for controlling electronic apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5144242B2 (ja) * 2007-12-17 2013-02-13 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452866A (ja) * 1990-06-15 1992-02-20 Hitachi Ltd 業務プログラム自動生成方式
JP2006174503A (ja) * 2006-01-27 2006-06-29 Mitsubishi Electric Corp 番組情報処理装置及び番組情報処理方法
JP2007122331A (ja) * 2005-10-27 2007-05-17 Nec Infrontia Corp Pos端末、商品名称表示方法およびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212477A (en) * 1991-11-01 1993-05-18 Motorola, Inc. Method for sizing message characters for a display
US5592551A (en) * 1992-12-01 1997-01-07 Scientific-Atlanta, Inc. Method and apparatus for providing interactive electronic programming guide
US6954897B1 (en) * 1997-10-17 2005-10-11 Sony Corporation Method and apparatus for adjusting font size in an electronic program guide display
JPH11313291A (ja) * 1998-04-28 1999-11-09 Toshiba Corp 番組案内表示装置及び方法
US6577350B1 (en) * 1998-12-21 2003-06-10 Sony Corporation Method and apparatus for displaying an electronic program guide
US6421067B1 (en) * 2000-01-16 2002-07-16 Isurftv Electronic programming guide
JP4235340B2 (ja) * 2000-04-04 2009-03-11 キヤノン株式会社 情報処理装置及び情報処理方法
JP3909683B2 (ja) * 2002-05-23 2007-04-25 ソニー株式会社 番組表示制御装置および番組表示制御方法
US7076733B2 (en) * 2002-07-12 2006-07-11 Pace Micro Technology Plc Electronic program guide and method for programming and editing items therein
JP2005203955A (ja) * 2004-01-14 2005-07-28 Pioneer Electronic Corp 電子番組表処理装置及び方法並びにコンピュータプログラム
TWI278233B (en) * 2005-03-08 2007-04-01 Teco Elec & Machinery Co Ltd Method for presenting electronic program guide
JP5103384B2 (ja) * 2005-05-17 2012-12-19 トムソン ライセンシング 番組ガイドを提供する方法及び装置
JP4916145B2 (ja) 2005-08-08 2012-04-11 キヤノン株式会社 情報処理装置及び情報処理方法並びにプログラム
JP4812077B2 (ja) 2005-08-08 2011-11-09 キヤノン株式会社 データ表示方法及びデータ表示装置並びにプログラム
US8095954B2 (en) * 2005-09-13 2012-01-10 At&T Intellectual Property, L.P. System and method for providing custom channel arrangements in a programming guide
JP4573806B2 (ja) 2006-05-31 2010-11-04 シャープ株式会社 映像表示装置
US20070300256A1 (en) * 2006-06-26 2007-12-27 Microsoft Corporation Techniques to manage an electronic program guide
US10230917B2 (en) * 2006-08-07 2019-03-12 Verizon Patent And Licensing Inc. Program guide graphical user interface systems and methods
JP4998101B2 (ja) * 2006-09-15 2012-08-15 株式会社Jvcケンウッド デジタル放送受信装置および番組表における画像情報表示方法
US20080301735A1 (en) * 2007-05-31 2008-12-04 Christian Thomas Chicles User interface screen magnifying glass effect
JP5144242B2 (ja) * 2007-12-17 2013-02-13 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法
JP5379382B2 (ja) * 2008-01-25 2013-12-25 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0452866A (ja) * 1990-06-15 1992-02-20 Hitachi Ltd 業務プログラム自動生成方式
JP2007122331A (ja) * 2005-10-27 2007-05-17 Nec Infrontia Corp Pos端末、商品名称表示方法およびプログラム
JP2006174503A (ja) * 2006-01-27 2006-06-29 Mitsubishi Electric Corp 番組情報処理装置及び番組情報処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013080357A (ja) * 2011-10-03 2013-05-02 Zenrin Datacom Co Ltd 複数の語句の表示制御方法および電子機器並びに複数の語句の表示制御用プログラム
US10417311B2 (en) 2017-04-25 2019-09-17 Seiko Epson Corporation Electronic apparatus, program, and method for controlling electronic apparatus

Also Published As

Publication number Publication date
US20090153564A1 (en) 2009-06-18
US20110316886A1 (en) 2011-12-29
JP5144242B2 (ja) 2013-02-13
EP2073168A2 (en) 2009-06-24
US8081189B2 (en) 2011-12-20
EP2073168A3 (en) 2015-03-18
EP2073168B1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
US9310894B2 (en) Processing operation signals from a pointing device and/or an input device
JP4895352B2 (ja) 対象選択プログラム、対象選択装置、対象選択システム、および対象選択方法
JP4964729B2 (ja) 画像処理プログラムおよび画像処理装置
JP4794957B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
US9058790B2 (en) Image processing system, storage medium storing image processing program, image processing apparatus and image processing method
JP5522902B2 (ja) 情報処理プログラムおよび情報処理装置
JP5379382B2 (ja) 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法
JP4471910B2 (ja) 仮想位置決定プログラム
JP4919887B2 (ja) 画像処理プログラムおよび画像処理装置
US20080222571A1 (en) Information selecting apparatus, storage medium storing information selecting program, game apparatus, and storage medium storing game program
JP2007236697A (ja) 画像処理装置および画像処理プログラム
EP2541958B1 (en) Information processing system, information processing apparatus, information processing program, and content playback control method
JP5988549B2 (ja) 位置算出システム、位置算出装置、位置算出プログラム、および位置算出方法
JP2008067875A (ja) プログラム、情報記憶媒体及びゲーム装置
JP5144242B2 (ja) 表示制御プログラム、表示制御装置、表示制御システムおよび表示制御方法
JP5350612B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
JP6045777B2 (ja) 方向制御システム、方向制御装置、方向制御プログラム、および方向制御方法
JP4964688B2 (ja) 画像処理プログラムおよび画像処理装置
JP5352692B2 (ja) 画像処理プログラムおよび画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101124

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120418

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120720

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: 20121106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121122

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5144242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151130

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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