JP5230120B2 - 情報処理システム、情報処理プログラム - Google Patents

情報処理システム、情報処理プログラム Download PDF

Info

Publication number
JP5230120B2
JP5230120B2 JP2007122668A JP2007122668A JP5230120B2 JP 5230120 B2 JP5230120 B2 JP 5230120B2 JP 2007122668 A JP2007122668 A JP 2007122668A JP 2007122668 A JP2007122668 A JP 2007122668A JP 5230120 B2 JP5230120 B2 JP 5230120B2
Authority
JP
Japan
Prior art keywords
data
voice
information processing
input device
controller
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.)
Active
Application number
JP2007122668A
Other languages
English (en)
Other versions
JP2008276701A (ja
Inventor
利明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2007122668A priority Critical patent/JP5230120B2/ja
Priority to US11/819,402 priority patent/US8352267B2/en
Publication of JP2008276701A publication Critical patent/JP2008276701A/ja
Application granted granted Critical
Publication of JP5230120B2 publication Critical patent/JP5230120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/219Input arrangements for video game devices characterised by their sensors, purposes or types for aiming at specific areas on the display, e.g. light-guns
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/843Special adaptations for executing a specific game genre or game mode involving concurrently two or more players on the same game device, e.g. requiring the use of a plurality of controllers or of a specific view of game data for each player
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/302Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device specially adapted for receiving control signals not targeted to a display device or game input means, e.g. vibrating driver's seat, scent dispenser
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/307Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying an additional window with a view from the top of the game field, e.g. radar screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • A63F2300/6081Methods for processing data by generating or executing the game program for sound processing generating an output signal, e.g. under timing constraints, for spatialization
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8088Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game involving concurrently several players in a non-networked game, e.g. on the same game console
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Optics & Photonics (AREA)
  • Acoustics & Sound (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、複数の入力装置と、当該入力装置に対してユーザが行った操作に基づいて所定の情報処理を行う情報処理装置とからなる情報処理システム、および、情報処理プログラムに関し、より特定的には、画面に表示された文字を読み上げる情報処理システム、および、情報処理プログラムに関する。
従来、画面に表示されるテキストを読み上げる文章読み上げ装置が存在していた(例えば、特許文献1)。このような文章読み上げ装置は、表示制御部を複数設け、1つのディスプレイ上に複数の文章を同時に表示する、読み上げ部は1つのみ設け、読み上げ部が文章の読み上げ中でないときは表示制御部からの読み上げ対象の作品の変更要求を受け付け、文章の読み上げ中は変更要求を拒否する。
特開平9−282137号公報
しかしながら、上述したような特許文献1に開示された読み上げ装置においては、2以上の文章が同時に読み上げられることがない。そのため、複数の文章を同時に表示可能であるにも関わらず、それらを同時に利用することができないという問題があった。例えば、複数のユーザが同時に利用すること等ができない。
それ故に、本発明の目的は、複数のユーザが同時に、それぞれが所望する箇所の文字読み上げを行うことが可能な情報処理システムを提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係の一例を示したものであって、本発明を何ら限定するものではない。
第1の発明は、複数の入力装置(7)と、当該入力装置に対してユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置(2)の表示領域に画像を表示させる情報処理装置(3)とからなる情報処理システムである。入力装置は、スピーカ(706)と、操作データ送信手段(75)と、音声データ受信手段(75)と、音声制御手段(707)とをそれぞれ備える。操作データ送信手段は、所定の操作入力に基づいて表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する。音声データ受信手段は、スピーカから音声を出力させるための音声データを情報処理装置から受信する。音声制御手段は、受信された音声データに基づいて、スピーカから音声を出力させる。また、情報処理装置は、音声記憶手段(12)と、オブジェクト表示手段(10)と、操作データ取得手段(10)と、指示位置決定手段(10)と、オブジェクト特定手段(10)と、音声読み出し手段(10)と、音声データ送信手段(19)とを備える。音声記憶手段には、所定の音声データが記憶される。オブジェクト表示手段は、所定の音声データと関連づけたオブジェクトを少なくとも1つ以上、表示領域内に表示する。操作データ取得手段は、操作データを入力装置毎に取得する。指示位置決定手段は、取得された操作データに含まれる指示データに基づいて、入力装置毎に表示領域内の指示位置を決定する。オブジェクト特定手段は、指示位置に表示されているオブジェクトを入力装置毎に特定する。音声読み出し手段は、特定されたオブジェクトに関連づけられている音声データを音声記憶手段から当該オブジェクト毎に読み出す。音声データ送信手段は、特定されたオブジェクト毎に、音声読出し手段が読み出した音声データを当該オブジェクトを指示している入力装置に送信する。
第1の発明によれば、複数のプレイヤがスピーカ付の入力装置で同じ画面内を操作する際に、各自が画面上の所定のオブジェクトを指示すれば、そのオブジェクトに対応した音声が各自の入力装置のスピーカから出力される。これにより、複数のプレイヤが同時に、それぞれが所望する箇所のオブジェクトに対応する音声出力、例えば、文章の読み上げを行うことができる。また、各自の入力装置から音声出力するため、読み上げの音声が混同して聞き取りにくくなることを防ぐことができる。
第2の発明は、第1の発明において、音声読出し手段は、特定されたオブジェクト毎に、音声記憶手段から読み出された音声データに基づいた音声合成によって合成音声データを生成する音声合成手段を含む。また、音声データ送信手段は、音声合成手段が生成した合成音声データを、特定されたオブジェクトを指示している入力装置に送信する。
第2の発明によれば、音声合成によって音声データを生成するため、予め人間の音声等を録音して記憶しておく場合に比べ、データ容量を少なくすることができる。
第3の発明は、第2の発明において、オブジェクトは前記表示領域に表示される文字を示す文字データを含む。また、音声記憶手段には、文字データで示される文字を読み上げる音声が記憶される。また、音声合成手段は、特定されたオブジェクトに含まれる文字データで示される文字の読みの音声を音声記憶手段から取得し、当該読みの音声に基づいて音声合成を行うことで、複数の文字で構成される所定の文字列を読み上げる合成音声を合成音声データとして生成する。
第3の発明によれば、画面に表示される文字や文章を、音声合成によって読み上げることが可能となる。
第4の発明は、第1の発明において、入力装置は、所定の撮像対象を撮像するための撮像手段(74)を更に備える。操作データ送信手段は、撮像手段が撮像した画像内において前記撮像対象が写されている位置を示すデータを指示データとして送信する。
第4の発明によれば、画面上の所望の位置を指示する操作について、直感的な操作が可能となる。
第5の発明は、第1の発明において、操作データ送信手段は、所定のキー入力操作が行われたことを示すキーデータを操作データに含めて送信する。また、情報処理装置は、検知手段と、選択手段とを更に備える。検知手段は、キーデータに基づいて所定のキー入力操作が行われたことを検知する。選択手段は、所定の操作が行われたとき、当該操作が行われた入力装置によって特定されているオブジェクトを当該入力装置に関連づけて選択する処理を行う。
第5の発明によれば、画面に表示されている選択肢のうち、ユーザが所望する選択肢を読み上げることが可能となる。更に、所定の操作によって、所望の選択肢を選択を決定することができる。これにより、ユーザは、選択肢の内容の読み上げによる確認を行ってから、選択の決定を行うことができる。
第6の発明は、第1の発明において、情報処理装置は、音声データ送信手段による音声データの送信が行われた後、当該音声データの送信先となった入力装置の指示位置が、特定されたオブジェクトの表示領域の外を示したときに、当該入力装置から出力されている音声の出力を停止させるための音声出力停止信号を当該入力装置に送信する音声出力停止信号送信手段を更に備える。
第6の発明によれば、所定のオブジェクトを指示した結果、入力装置から音声が出力されている最中に、当該オブジェクトの指示を外せば、音声出力を停止することが可能となる。
第7の発明は、第3の発明において、特定されたオブジェクトに含まれる文字列の読みを表示するための画像を生成する読み画像生成手段と、特定されたオブジェクトの表示位置の近傍に読み画像を表示する読み画像表示手段とを更に備える。
第7の発明によれば、所定の単語などの音声による出力に加え、読み仮名を表示できる。これにより、ユーザに、単語等の読みをよりわかりやすく提示することができる。
第8の発明は、スピーカと、表示装置の表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する操作データ送信手段と、スピーカから音声を出力させるための音声データを当該情報処理装置から受信する音声データ受信手段と、受信された音声データに基づいて、スピーカから音声を出力させる音声制御手段とを備える複数の入力装置に対してそれぞれユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置のコンピュータに実行させる情報処理プログラムである。情報処理プログラムは、オブジェクト表示ステップ(S2)と、操作データ取得ステップ(S31)と、指示位置決定ステップ(S31)と、オブジェクト特定ステップ(S32)と、音声読み出しステップ(S53)と、音声合成ステップ(S53)と、音声データ送信ステップ(S54)とを実行させる。オブジェクト表示ステップは、所定の記憶手段に記憶されている所定の音声データと関連づけたオブジェクトを少なくとも1つ以上、表示領域内に表示する。操作データ取得ステップは、操作データを入力装置毎に取得する。指示位置決定ステップは、取得された操作データに含まれる指示データに基づいて、入力装置毎に表示領域内の指示位置を決定する。オブジェクト特定ステップは、指示位置に表示されているオブジェクトを入力装置毎に特定する。音声読み出しステップは、特定されたオブジェクトに関連づけられている音声データを音声記憶手段から当該オブジェクト毎に読み出す。音声合成ステップは、読み出した音声データに基づいて音声合成を行うことによって特定されたオブジェクト毎に合成音声データを生成する。音声データ送信ステップは、特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に合成音声データを送信する。
第8の発明によれば、第1の発明と同様の効果を得ることができる。
第9の発明は、スピーカと、表示装置の表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する操作データ送信手段と、所定の音声データを記憶する音声記憶手段と、スピーカから音声を出力させるための音声指定データを当該情報処理装置から受信する音声指定データ受信手段と、受信された音声指定データに基づいて、音声記憶手段から対応する音声データを読み出してスピーカから音声を出力させる音声制御手段とを備える複数の入力装置に対してそれぞれユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置のコンピュータに実行させるプログラムである。当該プログラムは、オブジェクト表示ステップ(S2)と、操作データ取得ステップ(S31)と、指示位置決定ステップ(S31)と、オブジェクト特定ステップ(S32)と、音声データ送信ステップ(S54)とを実行させる。オブジェクト表示ステップは、音声データと関連づけたオブジェクトを少なくとも1つ以上、表示領域内に表示する。操作データ取得ステップは、操作データを入力装置毎に取得する。指示位置決定ステップは、取得された操作データに含まれる指示データに基づいて、入力装置毎に表示領域内の指示位置を決定する。オブジェクト特定ステップは、指示位置に表示されているオブジェクトを入力装置毎に特定する。音声データ送信ステップは、特定されたオブジェクトに関連づけられている音声データを示す音声指示データを、特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に送信する。
第9の発明によれば、第8の発明と同様の効果が得られる。更に、音声指示データを入力装置に送信するようにしているため、比較的データサイズが大きな音声データを送信する場合に比べ、情報処理装置と入力装置間の通信負荷を軽減することができる。
第10の発明は、複数の入力装置(7)と、当該入力装置に対してユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置(2)の表示領域に画像を表示させる情報処理装置(3)とからなる情報処理システムである。入力装置は、スピーカ(706)と、操作データ送信手段(75)と、音声記憶手段(752)と、音声指定データ受信手段(75)と、音声制御手段(707)とをそれぞれ備える。操作データ送信手段は、所定の操作入力に基づいて表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する。音声記憶手段は、所定の音声データを記憶する。音声指定データ受信手段は、スピーカから音声を出力させるための音声指定データを情報処理装置から受信する。音声制御手段は、受信された音声指定データに基づいて、音声記憶手段から対応する音声データを読み出してスピーカから音声を出力させる。また、情報処理装置は、オブジェクト表示手段(10)と、操作データ取得手段(10)と、指示位置決定手段(10)と、オブジェクト特定手段(10)と、音声データ送信手段(19)とを備える。オブジェクト表示手段は、音声データと関連づけたオブジェクトを少なくとも1つ以上、表示領域内に表示する。操作データ取得手段は、操作データを入力装置毎に取得する。指示位置決定手段は、取得された操作データに含まれる指示データに基づいて、入力装置毎に表示領域内の指示位置を決定する。オブジェクト特定手段は、指示位置に表示されているオブジェクトを入力装置毎に特定する。音声データ送信手段は、特定されたオブジェクトに関連づけられている音声データを示す音声指示データを、特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に送信する。
第10の発明によれば、第9の発明と同様の効果を得ることができる。
本発明によれば、1つの画面内において、複数のプレイヤがそれぞれが所望するオブジェクトを指示した際、当該オブジェクトに対応する音声出力、例えば、文章の読み上げを個別に行うことができる。また、各自の入力装置から音声出力するため、読み上げの音声が混同して聞き取りにくくなることを防ぐことができる。
以下、本発明の実施の形態について、図面を参照して説明する。
(第1の実施形態)
(ゲームシステムの全体構成)
図1を参照して、本発明の実施形態に係るゲーム装置を含むゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図1において、ゲームシステム1は、テレビジョン受像器(以下、単に「テレビ」と記載する)2、ゲーム装置3、光ディスク4、コントローラ7、およびマーカ部8を含む。本システムは、コントローラ7を用いたゲーム操作に基づいてゲーム装置3でゲーム処理を実行するものである。
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるためのゲームプログラムが記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
ゲーム装置3には、表示装置の一例であるテレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ2の画面の周辺(図1では画面の上側)には、マーカ部8が設置される。マーカ部8は、その両端に2つのマーカ8Rおよび8Lを備えている。マーカ8R(マーカ8Lも同様)は、具体的には1以上の赤外LEDであり、テレビ2の前方に向かって赤外光を出力する。マーカ部8はゲーム装置3に接続されており、ゲーム装置3はマーカ部8が備える各赤外LEDの点灯を制御することが可能である。
コントローラ7は、自機に対して行われた操作の内容を示す操作データをゲーム装置3に与える入力装置である。コントローラ7とゲーム装置3とは無線通信によって接続される。本実施形態では、コントローラ7とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ7とゲーム装置3とは有線で接続されてもよい。
(ゲーム装置3の内部構成)
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の構成を示すブロック図である。ゲーム装置3は、CPU10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。システムLSIの内部構成について後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
また、システムLSI11には、入出力プロセッサ11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。より具体的には、GPU11bは、当該グラフィクスコマンドに従って3Dグラフィックスの表示に必要な計算処理、例えば、レンダリングの前処理にあたる3D座標から2D座標への座標変換などの処理や、テクスチャの張り込みなどの最終的なレンダリング処理を行うことで、ゲーム画像データを生成する。ここで、CPU10は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU11bに与える。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。また、内部メインメモリ11eは、外部メインメモリ12と同様に、プログラムや各種データを記憶したり、CPU10のワーク領域やバッファ領域としても用いられる。
上述のように生成された画像データおよび音声データは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、画像がテレビ2に表示されるとともに音がスピーカ2aから出力される。
入出力プロセッサ(I/Oプロセッサ)11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、無線通信モジュール18、無線コントローラモジュール19、拡張コネクタ20、および外部メモリカード用コネクタ21に接続される。無線通信モジュール18にはアンテナ22が接続され、無線コントローラモジュール19にはアンテナ23が接続される。
入出力プロセッサ11aは、無線通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される他のゲーム装置や各種サーバと通信することができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、無線通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、他のゲーム装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22および無線通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と他のゲーム装置や各種サーバとの間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
また、入出力プロセッサ11aは、コントローラ7から送信される操作データをアンテナ23および無線コントローラモジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
さらに、入出力プロセッサ11aには、拡張コネクタ20および外部メモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによって無線通信モジュール18に替えてネットワークとの通信を行ったりすることができる。外部メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20や外部メモリカード用コネクタ21を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンにされると、ゲーム装置3の各構成要素に対して、図示しないACアダプタを経て電源が供給される。また、一旦電源がオンにされた状態で、再度電源ボタン24を押すと、低電力スタンバイモードへの移行が行われる。この状態でも、ゲーム装置3への通電は行われているため、インターネット等のネットワークに常時接続しておくことができる。なお、一旦電源がオンにされた状態で、電源をオフにしたいときは、電源ボタン24を所定時間以上長押しすることで、電源をオフとすることが可能である。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン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は、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの操作機能が割り当てられる。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7から通信ユニット6へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
また、ハウジング71上面には、操作ボタン72bおよび操作ボタン72e〜72gの間に後述するスピーカ(図5のスピーカ706)からの音を外部に放出するための音抜き孔が形成されている。
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7の前面をマーカ8Lおよび8Rに向けて片手で把持したときに、当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばBボタンとして機能する操作部である。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング70の後面には、コネクタ73が設けられている。コネクタ73は、例えばエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
ここで、以下の説明を具体的にするために、コントローラ7に対して設定する座標系について定義する。図3および図4に示すように、互いに直交するxyz軸をコントローラ7に対して定義する。具体的には、コントローラ7の前後方向となるハウジング71の長手方向をz軸とし、コントローラ7の前面(撮像情報演算部74が設けられている面)方向をz軸正方向とする。また、コントローラ7の上下方向をy軸とし、ハウジング71の上面(操作ボタン72a等が設けられた面)方向をy軸正方向とする。さらに、コントローラ7の左右方向をx軸とし、ハウジング71の左側面(図3では表されずに図4で表されている側面)方向をx軸正方向とする。
次に、図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参照)に接続される。マイコン751は本願発明のボタンデータ発生手段の一例として、操作ボタン72a等の種類に応じた操作ボタンデータを発生させるように機能する。この仕組みは公知技術であるが、例えばキートップ下側に配置されたタクトスイッチなどのスイッチ機構による配線の接触/切断をマイコン751が検出することによって実現されている。より具体的には、操作ボタンが例えば押されると配線が接触して通電するので、この通電がどの操作ボタンにつながっている配線で発生したかをマイコン751が検出し、操作ボタンの種類に応じた信号を発生させている。
また、コントローラ7は、図示しない無線モジュール753(図7参照)およびアンテナ754によって、ワイヤレスコントローラとして機能する。なお、ハウジング71内部には図示しない水晶振動子が設けられており、後述するマイコン751の基本クロックを生成する。また、基板700の上主面上に、スピーカ706およびアンプ708が設けられる。また、加速度センサ701は、操作ボタン72dの左側の基板700上(つまり、基板700の中央部ではなく周辺部)に設けられる。したがって、加速度センサ701は、コントローラ7の長手方向を軸とした回転に応じて、重力加速度の方向変化に加え、遠心力による成分の含まれる加速度を検出することができるので、所定の演算により、検出される加速度データからコントローラ7の回転を良好な感度でゲーム装置3等が判定することができる。
一方、図6において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。さらに、基板700の下主面上にサウンドIC707およびマイコン751が設けられている。サウンドIC707は、基板700等に形成された配線によってマイコン751およびアンプ708と接続され、ゲーム装置3から送信されたサウンドデータに応じてアンプ708を介してスピーカ706に音声信号を出力する。
そして、基板700の下主面上には、バイブレータ704が取り付けられる。バイブレータ704は、例えば振動モータやソレノイドである。バイブレータ704は、基板700等に形成された配線によってマイコン751と接続され、ゲーム装置3から送信された振動データに応じてその作動をオン/オフする。バイブレータ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の前方から入射する光から赤外線のみを通過させる。ここで、テレビ2の表示画面近傍に配置されるマーカ8Lおよび8Rは、テレビ2の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ741を設けることによってマーカ8Lおよび8Rの画像をより正確に撮像することができる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ入射させる。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子743によって撮像された画像を撮像画像と呼ぶ。撮像素子743によって生成された画像データは、画像処理回路744で処理される。画像処理回路744は、撮像画像内における撮像対象(マーカ8Lおよび8R)の位置を算出する。以下、図8を用いて撮像対象の位置の算出方法を説明する。
図8は、撮像画像の一例を示す図である。図8に示す撮像画像においては、マーカ8Lの画像8L’およびマーカ8Rの画像8R’が左右に並んでいる。撮像画像が入力されると、まず、画像処理回路744は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。ここで、所定条件とは、撮像対象の画像(対象画像)を特定するための条件であり、所定条件の具体的な内容は、輝度が所定値以上の領域(高輝度領域)であり、かつ、領域の大きさが所定範囲内の大きさであることである。なお、所定条件は撮像対象を特定するための条件であればよく、他の実施形態においては、画像の色に関する条件を含んでいてもよい。
対象画像の位置を算出する際、まず、画像処理回路744は、撮像画像の領域から上記高輝度領域を対象画像の候補として特定する。撮像画像の画像データにおいて対象画像は高輝度領域として現れるからである。次に、画像処理回路744は、特定された高輝度領域の大きさに基づいて、その高輝度領域が対象画像であるか否かを判定する判定処理を行う。撮像画像には、対象画像である2つのマーカ8Lおよび8Rの画像8L’および8R’の他、窓からの太陽光や部屋の蛍光灯の光によって対象画像以外の画像が含まれている場合がある。この場合、マーカ8Lおよび8Rの画像8L’および8R’以外の画像も高輝度領域として現れてしまう。上記の判定処理は、対象画像であるマーカ8Lおよび8Rの画像8L’および8R’とそれ以外の画像とを区別し、対象画像を正確に特定するための処理である。具体的には、当該判定処理においては、特定された高輝度領域が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度領域が所定範囲内の大きさである場合、当該高輝度領域は対象画像を表すと判定され、高輝度領域が所定範囲内の大きさでない場合、当該高輝度領域は対象画像以外の画像を表すと判定される。
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度領域について、画像処理回路744は当該高輝度領域の位置を算出する。具体的には、当該高輝度領域の重心位置を算出する。なお、重心位置は撮像素子743の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子743によって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、重心位置の座標は、(0,0)から(1024,768)までの整数値で表現される。なお、撮像画像における位置は、図9に示すように、撮像画像の左上を原点とし、下向きをy軸正方向とし、右向きをx軸正方向とする座標系(xy座標系)で表現されるものとする。
以上のようにして、画像処理回路744は、撮像画像内において所定条件に合致する領域の位置を示す座標を当該領域毎に算出する。なお、以下では、画像処理回路744によって算出される座標をマーカ座標と呼ぶ。マーカ座標は、撮像画像に対応する平面上の位置を表すための座標系において撮像対象の位置を示す座標である。画像処理回路744は、マーカ座標を通信部75のマイコン751へ出力する。マーカ座標のデータは、マイコン751によって操作データとしてゲーム装置3に送信される。マーカ座標はコントローラ7自体の向き(姿勢)や位置によって変化するので、ゲーム装置3は当該座標値を用いてコントローラ7の向きや位置に応じた指示位置を適宜算出することができる。なお、本実施形態では、撮像画像からマーカ座標を算出する処理までをコントローラ7の画像処理回路41および/またはマイコン751で行ったが、例えば撮像画像をゲーム装置3に送り、以降の処理と同等の処理をゲーム装置3のCPU10等で行わせることもできる。
図7の説明に戻り、コントローラ7は、3軸(x、y、z軸)の加速度センサ701を備えていることが好ましい。この3軸の加速度センサ701は、3方向、すなわち、上下方向、左右方向、および前後方向で直線加速度を検知する。また、他の実施形態においては、ゲーム処理に用いる制御信号の種類によっては、上下および左右方向(または他の対になった方向)のそれぞれに沿った直線加速度のみを検知する2軸の加速度検出手段を使用してもよい。例えば、この3軸または2軸の加速度センサ701は、アナログ・デバイセズ株式会社(Analog Devices, Inc.)またはSTマイクロエレクトロニクス社(STMicroelectronics N.V.)から入手可能であるタイプのものでもよい。加速度センサ701は、シリコン微細加工されたMEMS(Micro Electro Mechanical Systems:微小電子機械システム)の技術に基づいた静電容量式(静電容量結合式)であってもよい。しかしながら、既存の加速度検出手段の技術(例えば、圧電方式や圧電抵抗方式)あるいは将来開発される他の適切な技術を用いて3軸または2軸の加速度センサ701が提供されてもよい。
当業者には公知であるように、加速度センサ701に用いられるような加速度検出手段は、加速度センサの持つ各軸に対応する直線に沿った加速度(直線加速度)のみを検知することができる。つまり、加速度センサ701からの直接の出力は、その2軸または3軸のそれぞれに沿った直線加速度(静的または動的)を示す信号である。このため、加速度センサ701は、非直線状(例えば、円弧状)の経路に沿った動き、回転、回転運動、角変位、傾斜、位置、または姿勢等の物理特性を直接検知することはできない。
しかしながら、加速度センサ701から出力される加速度の信号に基づいて、ゲーム装置のプロセッサ(例えばCPU30)またはコントローラのプロセッサ(例えばマイコン751)などのコンピュータが処理を行うことによって、コントローラ7に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサを搭載するコントローラが静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理する場合)、コントローラが現実に静的な状態であれば、検出された加速度に基づいてコントローラの姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸の加速度センサの場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、、加速度センサ701からの出力に基づいて、プロセッサがコントローラ7の傾き角度のデータを算出する処理をおこなってもよいが、当該傾き角度のデータを算出する処理をおこなうことなく、加速度センサ701からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ701をプロセッサと組み合わせて用いることによって、コントローラ7の傾き、姿勢または位置を判定することができる。一方、加速度センサが動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサの動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、、加速度センサ701を備えるコントローラ7がユーザの手で動的に加速されて動かされる場合に、加速度センサ701によって生成される加速度信号を処理することによって、コントローラ7のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサが動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向対する傾きを知ることが可能である。他の実施例では、加速度センサ701は、信号をマイコン751に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサが静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
他の実施形態の例では、コントローラ7の動きを検出する動きセンサとして、回転素子または振動素子などを内蔵したジャイロセンサを用いてもよい。この実施形態で使用されるMEMSジャイロセンサの一例として、アナログ・デバイセズ株式会社から入手可能なものがある。加速度センサ701と異なり、ジャイロセンサは、それが内蔵する少なくとも一つのジャイロ素子の軸を中心とした回転(または角速度)を直接検知することができる。このように、ジャイロセンサと加速度センサとは基本的に異なるので、個々の用途のためにいずれの装置が選択されるかによって、これらの装置からの出力信号に対して行う処理を適宜変更する必要がある。
具体的には、加速度センサの代わりにジャイロセンサを用いて傾きや姿勢を算出する場合には、大幅な変更を行う。すなわち、ジャイロセンサを用いる場合、検出開始の状態において傾きの値を初期化する。そして、当該ジャイロセンサから出力される角速度データを積分する。次に、初期化された傾きの値からの傾きの変化量を算出する。この場合、算出される傾きは、角度に対応する値が算出されることになる。一方、加速度センサによって傾きを算出する場合には、重力加速度のそれぞれの軸に関する成分の値を、所定の基準と比較することによって傾きを算出するので、算出される傾きはベクトルで表すことが可能であり、初期化を行わずとも、加速度検出手段を用いて検出される絶対的な方向を検出することが可能である。また、傾きとして算出される値の性質は、ジャイロセンサが用いられる場合には角度であるのに対して、加速度センサが用いられる場合にはベクトルであるという違いがある。したがって、加速度センサに代えてジャイロセンサが用いられる場合、当該傾きのデータに対して、2つのデバイスの違いを考慮した所定の変換を行う必要がある。加速度検出手段とジャイロセンサとの基本的な差異と同様にジャイロセンサの特性は当業者に公知であるので、本明細書ではさらなる詳細を省略する。ジャイロセンサは、回転を直接検知できることによる利点を有する一方、一般的には、加速度センサは、本実施形態で用いるようなコントローラに適用される場合、ジャイロセンサに比べて費用効率が良いという利点を有する。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。また、マイコン751は、アンテナ754を介して無線モジュール753が受信したゲーム装置3からのデータに応じて、サウンドIC707およびバイブレータ704の動作を制御する。サウンドIC707は、通信部75を介してゲーム装置3から送信されたサウンドデータ等を処理する。また、マイコン751は、通信部75を介してゲーム装置3から送信された振動データ(例えば、バイブレータ704をONまたはOFFする信号)等に応じて、バイブレータ704を作動させる。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(x、y、およびz軸方向加速度データ;以下、単に加速度データと記載する)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を通信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から通信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(Bluetooth;登録商標)で構成される通信部75の送信間隔は例えば5msである。マイコン751は、通信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばブルートゥース(登録商標)の技術に基づいて、所定周波数の搬送波を用いて操作情報で変調し、その電波信号をアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データが無線モジュール753で電波信号に変調されてコントローラ7から送信される。そして、ゲーム装置3の通信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、ブルートゥース(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
次に、図9〜図12を用いて、本実施形態で想定するゲーム処理の概要について説明する。図9は、本実施形態で想定するゲームの画面の一例である。図9において、テレビ2の画面には、テキストオブジェクト101、1プレイヤ用カーソル102a(以下、1Pカーソルと呼ぶ)、2プレイヤ用カーソル102b(以下、2Pカーソルと呼ぶ)、「次へ」ボタン104が表示されている。また、テキストオブジェクト101には、所定の文字列(単語や文章など文字の連なったもの。本実施形態では、説明の便宜上、当該文字列は文章であるものとする)が表示されている。なお、これらのオブジェクトは、CPU10が外部メインメモリ12内に生成する3次元仮想ゲーム空間内に配置されており、この空間を仮想カメラで撮像した画像がゲームの画面として表示されている(図9に示す画面では、テキストオブジェクト101等を正面から撮影した画像が表示されている)。また、テキストオブジェクト101等のオブジェクトも、3次元ポリゴンから構成された3次元ポリゴンモデルから構成されている。また、テキストオブジェクト101に表示されている文章の実体は、上記ポリゴンモデルに貼付けられたテクスチャである。この画面は、所定のクイズゲームにおいて出題された問題の正解に関して解説するための画面である。
ここで、コントローラ7を用いたゲーム操作について説明する。ゲームシステム1でコントローラ7を用いてゲームをプレイする際、プレイヤは、一方の手でコントローラ7を把持する。プレイヤは、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がマーカ8aおよび8bの方向を向く状態でコントローラ7を把持する。この状態で、プレイヤは、コントローラ7の傾きを変化させたり、コントローラ7が指し示す画面上の位置(指示位置)を変更したり、コントローラ7と各マーカ8aおよび8bとの距離を変更したりすることによってゲーム操作を行う。
また、本実施形態では、2人のプレイヤが同時に操作を行うことを想定する。そして、一人目のプレイヤ(以下、プレイヤ1と呼ぶ)は、上述のように前面がマーカ8aおよび8bの方向(つまり、画面方向)に向けられたコントローラ7aを操作することで、1Pカーソル102を画面内で移動させることが可能である。同様に、二人目のプレイヤ(以下、プレイヤ2と呼ぶ)は、コントローラ7bを操作することで、2Pカーソル103を画面内で移動させることが可能である。ここで、1Pカーソル102、2Pカーソル103は、それぞれコントローラ7a、7bの指示位置を示すオブジェクトである。当該指示位置の算出方法は後述するが、図8を用いて上述した、コントローラ7から送信された操作データに含まれるマーカ画像8L’および8R’の中点に対応する画面上の座標が当該指示位置となる。つまり、コントローラ7aの指示位置にカーソル102aが、コントローラ7bの指示位置にカーソル102bが表示される。
本実施形態のゲームでは、各プレイヤが各自のコントローラ7を操作して、各自のカーソルを動かし、画面内の文章の所定の位置、具体的には漢字を含む単語が表示されている位置を指示する。一例として、一人目のプレイヤは「実力」という単語の表示位置に1Pカーソル102を移動したとする。また、二人目のプレイヤは「隠す」という単語の表示位置に2Pカーソル103を移動したとする。すると、図10に示すように、それぞれのコントローラ7のスピーカ706から、各自のカーソルの指示位置に表示されている漢字の読み仮名が、音声で出力される。具体的には、コントローラ7aのスピーカ706からは、「じつりょく」という音声が出力される。一方、コントローラ7bのスピーカ706からは、「かくす」という音声が出力される。このように、複数のプレイヤが、各自のコントローラ7を操作して画面上の所定の位置を指示すると、その指示位置に表示されている単語の読み仮名が、それぞれのカーソルに対応する各自のコントローラ7のスピーカ706から出力される。また、このとき、各単語の読み仮名も吹き出し表示される。図10では、「じつりょく」という文字が、吹き出しオブジェクト105aに、「かくす」という文字が、吹き出しオブジェクト105bに表示されている。
次に、上述のような音声出力にかかる処理の概要を説明する。まず、上記テキストオブジェクト101に表示されている文章には、当該表示される文章の元となる、テキストデータがある。このテキストデータには、上記のような漢字を含む単語の読み仮名ついての情報も含まれている。より具体的には、読み仮名を音声出力する単語には、所定のタグが設定されている。図11は、このようなタグ付のテキストデータの一例である。図11では、読み仮名を音声出力する単語が、<ruby></ruby>というタグで囲まれている。更に、このタグの中で、画面に表示される単語と、その読み仮名とが、</>というタグで区切られている。上記文章の一文字目の「能」という単語を例に取ると、画面に表示される文字は「能」であり、その読み仮名は「のう」となる。そのため、「能」と「のう」の間に</>という区切りのタグが設定され、「能</>のう」と表現される。そして、当該「能</>のう」が、更に、<ruby>と</ruby>で囲まれ、最終的に、「<ruby>能</>のう</ruby>」と表現される。このように、テキストオブジェクト101に表示される文章を示すテキストデータは、読み仮名を音声出力する単語を、<ruby>〜</ruby>で囲んで表現することで構成されている。以下、このようなテキストデータを「タグ付テキスト」と呼ぶ。また、読み仮名を音声出力する単語を「ルビ付単語」と呼ぶ。
上記のようなタグ付テキストに基づいてテキストオブジェクト101が生成され、画面に表示される。このとき、更に、各カーソルが、ルビ付単語を指示していることを判定するためのオブジェクトを生成し、ルビ付単語の表示位置に配置する。以下、当該オブジェクトのことを、「当たり判定オブジェクト」と呼ぶ。図12は、当たり判定オブジェクトが配置された画面を説明するための図である。図12では、各ルビ付単語に重ねるようにして、当たり判定オブジェクト111が配置されている。なお、図12では、当たり判定オブジェクトをわかりやすくするために点線で囲んで示しているが、実際は、この当たり判定オブジェクトは、透明色のオブジェクトである。そのため、プレイヤからは、当たり判定オブジェクトの存在は視認することができない。
本実施形態の処理では、上記のように、当たり判定オブジェクトをルビ付単語に重ねるように配置し、各プレイヤのカーソルが、各当たり判定オブジェクトと接触しているか否かを判定する。その結果、当たり判定オブジェクトにカーソルが接触していれば、その当たり判定オブジェクトが重ねられているルビ付単語の読み仮名に基づいて、音声合成によって音声データを生成する。そして、この音声データを、当該カーソルに対応するコントローラ7へと送信し、スピーカ706から出力させる。このようにして、カーソルがルビ付単語の表示位置に重なったときに、その読み仮名が手元のコントローラ7から音声出力されるようにしている。そのため、各プレイヤのカーソルがそれぞれ別の単語を指示しているときでも、各自のコントローラ7のスピーカ706から音声出力を個別に出力することができる。
このように、複数のプレイヤがスピーカ付のコントローラで同じ画面内を操作する際に、各自がルビ付単語を指示すれば、その単語の読みが各自のコントローラのスピーカーから音声出力される。これにより、複数の文章が画面に表示されているときでも、各自のコントローラのスピーカを介して、別々の単語や文章等の読み上げが可能となる。換言すれば、複数のプレイヤが同時に、それぞれが所望する箇所の文字の読み上げを行うことができる。また、各自のコントローラ7から音声出力するため、読み上げの音声が混同して聞き取りにくくなることを防ぐことができる。
次に、ゲーム装置3によって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理の際に外部メインメモリ12に記憶されるデータについて説明する。図13は、ゲーム装置3の外部メインメモリ12のメモリマップを示す図である。図13において、外部メインメモリ12は、プログラム記憶領域120、データ記憶領域123、および作業領域127を含む。プログラム記憶領域120およびデータ記憶領域123のデータは、光ディスク4に記憶され、ゲームプログラム実行時には外部メインメモリ12に転送されて記憶される。
プログラム記憶領域120は、CPU10によって実行されるゲームプログラムを記憶し、このゲームプログラムは、ゲームメイン処理プログラム121や音声合成プログラム122などによって構成される。ゲームメイン処理プログラム121は、後述する図15〜図21のフローチャートの処理をCPU10によって実現するためのプログラムである。音声合成プログラム122は、上述したようなタグ付のテキスト内で示される読み仮名に基づいて、音声合成処理を行って音声データを生成するためのプログラムである。
データ記憶領域123には、オブジェクトデータ124、タグ付テキストデータ125、音声合成用データ126が記憶される。オブジェクトデータ124は、図9を用いて説明したテキストオブジェクト101等の、仮想ゲーム空間内に配置されるオブジェクトの元となるデータである。タグ付テキストデータ125は、上記図11に示したような、画面に表示される文章と、音声出力される読み仮名とを含んだデータである。音声合成用データ126は、上記音声合成プログラム122でコントローラ7に送信する音声データを生成する際に用いられるデータである。例えば、日本語を例にすると、「あ」「い」や、「か」「き」等の発声をしたデータが格納されている。
作業領域127には、ゲーム処理中に用いられる、コントローラデータ128などの一時的なデータが記憶される領域である。図14は、コントローラデータ128のデータ構造の一例である。コントローラデータ128は、ゲーム装置3に接続されるコントローラ毎に設けられるデータであり、コントローラID1281、ポインティング座標1282、送信済みフラグ1283、および、音声データ1284の集合からなる。
コントローラID1281は、各コントローラを識別するためのIDである。コントローラ7がゲーム装置3に接続された際に、所定の番号が割りふられる。本実施形態では、接続された順番に、1,2,3・・の順でIDが割り振られるものとする。例えば、プレイヤが二人の場合は、プレイヤ1のコントローラID1281は、「1」になり、プレイヤ2のコントローラID1281は「2」となる。
ポインティング座標1282は、コントローラ7から送信される操作データに基づいて算出されるデータである。コントローラ7が指示している画面上の座標である。
送信済みフラグ1283は、あるルビ付単語が指示された際に、当該単語の読み仮名の音声データがコントローラ7に送信されたか否かを示すフラグである。当該フラグがオンのときは、音声データが送信されたことを示す。オフであれば、まだ音声データが送信されていないことを示す。
音声データ1284は、上記音声合成プログラム122によって生成された音声データが格納される。
次に、図15〜図21を参照して、ゲーム装置3によって実行されるゲーム処理について説明する。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、ROM/RTC13に記憶されている起動プログラムを実行し、これによって外部メインメモリ12等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムが外部メインメモリ12に読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。このとき、接続されているコントローラ7の数に応じて、適宜コントローラID1281が割り振られたコントローラデータ128が作業領域127に生成される。なお、ここでは、図9〜図12を用いて上述したような、本発明の音声出力処理についてのみ説明し、その他のゲーム処理については、説明は省略する。また、図15に示すステップS1〜ステップS9の処理ループは、1フレーム(1/60秒)毎に繰り返し実行される。
図15において、まず、CPU10は、ゲーム装置3に接続されているコントローラ7の数を検出する。そして、検出した数を変数mに設定する(ステップS1)。
次に、CPU10は、表示設定処理を実行する(ステップS2)。この処理は、上記タグ付テキストデータ125に基づいて、画面に表示するテキストオブジェクト101を生成し、その上に上記当たり判定オブジェクト111を配置するための処理である。
図16は、上記ステップS2で示した表示設定処理の詳細を示すフローチャートである。図16において、まず、CPU10は、送信済みフラグ1283をオフに設定することで、当該フラグの初期化を行う(ステップS21)。次に、CPU10は、外部メインメモリ12からタグ付テキストデータ125を読み出す(ステップS22)。
次に、CPU10は、読み出したタグ付テキストデータ125のタグの解析を行って、ルビ付単語(<ruby>〜</ruby>で囲まれる単語)を検出する(ステップS23)。そして、その検出結果を、ルビ単語一覧として、作業領域に保存する。図17は、当該ルビ単語一覧の一例である。図17では、検出された各ルビ付単語に、ルビ番号201が振られている。そして、それぞれの読み仮名(図11の</>〜</ruby>で囲まれている部分)が、読み仮名202として記憶されている。
次に、CPU10は、テキストオブジェクト101等の生成、及び、生成したオブジェクトの3次元仮想ゲーム空間内への配置を行う(ステップS24)。例えば、CPU10は、以下のような処理を行う。まず、CPU10は、オブジェクトデータ124を外部メインメモリ12から読み出し、モデリングを行う(その結果、本実施形態では、四角形のパネル状のオブジェクトが生成される)。次に、タグ付テキストデータ125に基づいて、所定の文章が表示されるようなテクスチャ(画像)を生成する。この際、ルビ付単語が当該テクスチャ上のどの位置に表示されるかについて、その位置情報(座標等)を作業領域127に記憶しておく。次に、CPU10は、当該テクスチャをモデリングしたオブジェクトに貼付ける。これによって、上記図9等で示したようなテキストオブジェクト101が生成される。この際、CPU10は、作業領域127に記憶した位置情報に基づき、当該テキストオブジェクト101に貼付けられた各ルビ付単語が、当該テキストオブジェクト101上のどの位置に表示されるかを示すためのテーブルを生成し、作業領域127に記憶する。以下、このデータを、ルビ単語位置テーブルと呼ぶ。図18は、ルビ単語位置テーブルの構成の一例である。図18では、テキストオブジェクト101上の座標データ203(ここではワールド座標系で示す。もちろん、ローカル座標系で示しても良い)とルビ番号204とが対応付けられて記憶される。ルビ番号204は、上記ステップS23で生成されたルビ単語一覧のルビ番号201(図17参照)と対応している。また、1つのルビ付単語が2行にわたって表示される場合は、1行ごとに分けて記憶される(例えば、ルビ番号204の8番)。次に、CPU10は、当該テキストオブジェクト101を仮想ゲーム空間内に配置する。次に、CPU10は、その他のオブジェクト、例えば「次へ」ボタン12等を生成し、適宜仮想ゲーム空間内に配置する。
次に、CPU10は、上記ルビ付単語が表示される位置に、当たり判定オブジェクト111を配置する(ステップS25)。当該配置処理は、例えば、次のようにして行われる。まず、CPU10は、上記作業領域127に記憶されたルビ単語位置テーブルに基づき、ルビ付単語毎に、テキストオブジェクト101上でそれぞれが占める領域の大きさを算出する。次に、CPU10は、ルビ付単語毎に、それぞれの領域の大きさに合わせたオブジェクトを生成する。次に、CPU10は、当該オブジェクトに透明色を設定することで、当たり判定オブジェクト111を生成する。そして、当該当たり判定オブジェクト111を上記テキストオブジェクト101上の、ルビ付単語の位置に配置する。これによって、ルビ付単語が表示される位置に当たり判定オブジェクト111が配置されることになる。このとき、CPU10は、各当たり判定オブジェクト111とルビ付単語とを関連づけたテーブルを生成し、作業領域127に記憶する。以下、このテーブルを、当たり判定テーブルと呼ぶ。図19は、当該当たり判定テーブルの一例である。図19では、各当たり判定オブジェクト111にオブジェクトID205を割り振り、ルビ番号206と対応づけたテーブルとなっている。また、ルビ番号206は、上記ステップS23で生成されたルビ単語一覧のルビ番号201と対応している。以上で、表示設定処理が終了する。
なお、上記の当たり判定オブジェクト111の配置方法はあくまで一例であり、これらに限らず、ルビ付単語の表示される位置に当たり判定オブジェクト111を設定できれば、どのような処理方法を用いても良い。
図15に戻り、ステップS2の表示設定処理が終われば、CPU10は、変数nに1を設定する(ステップS3)。当該変数nは、次に実行される当たり判定処理において、処理対象となるコントローラを区別するために用いられる。
次に、CPU10は、当たり判定処理を行う(ステップS4)。この処理では、各コントローラ毎に、ルビ付単語を指示しているか否かの判定と、指示しているときに、ルビ付単語の読み仮名の音声データをコントローラ7に送信するための処理が行われる。
図20は、上記ステップS4で示した当たり判定処理の詳細を示すフローチャートである。図20において、まず、CPU10は、コントローラIDがnのコントローラ7(以下、単にコントローラnと呼ぶ。例えば、nが1の場合は、コントローラIDが「1」、すなわち、プレイヤ1のコントローラ7aを示す。)から送信されてくる操作データを取得する。そして、当該操作データに基づいて、当該コントローラnの指示位置、すなわち、ポインティング座標を算出する(ステップS31)。ここで、当該ポインティング座標の算出方法はどのようなものであってもよいが、例えば次に示す方法が考えられる。
以下、ポインティング座標の算出方法の一例を説明する。コントローラnから取得される操作データには、上記マーカ座標を示すデータが含まれる。当該データは、マーカ8Lおよび8Rに対応する2つのマーカ座標(図8参照)を示すので、まずCPU10は、2つのマーカ座標の中点を算出する。この中点の位置は、撮像画像に対応する平面上の位置を表すための上記xy座標系によって表現される。次に、CPU10は、当該中点の位置を示す座標を、テレビ2の画面上の位置を表すための座標系(x’y’座標系とする)の座標に変換する。この変換は、ある撮像画像から算出される中点の座標を、当該撮像画像が撮像される時のコントローラnの実際の指示位置に対応する画面上の座標に変換する関数を用いて行うことができる。その際、コントローラnの指示位置と、撮像画像内でのマーカ座標の位置とは逆方向に移動することになるので、上下左右が反転するような変換を行う。以上のようにして算出されたx’y’座標値により示される値がコントローラnのポインティング座標となる。
次に、CPU10は、コントローラデータ128にアクセスする。そして、算出したポインティング座標を、コントローラnのポインティング座標1282に格納する。更に、CPU10は、当該ポインティング座標1282で示される画面上の位置に、コントローラn用のカーソルオブジェクト(図9のカーソル102a、102bに相当)を配置する。
次に、CPU10は、ポインティング座標1282で示される画面上の位置が、いずれかの当たり判定オブジェクト111の表示されている領域(但し、当たり判定オブジェクト111は透明色であるため、プレイヤは視認できない)内に含まれているか否かを判定する(ステップS32)。つまり、プレイヤがルビ付単語を指示しているか否かの判定を行う。当該判定は、例えば、当たり判定オブジェクト111の座標をスクリーン座標へ変換した値で示される画面上の領域内に、当該ポインティング座標1282が含まれているか否かで判定する。つまり、2次元座標系で、ポインティング座標1282と当たり判定オブジェクト111との当たり判定が行われる。上述した図10の画面を例にとると、プレイヤ1のポインティング座標は、「実力」という単語の表示領域に重ねられている当たり判定オブジェクト111に含まれている。また、プレイヤ2のポインティング座標は、「隠す」という単語の表示領域に重ねられている当たり判定オブジェクト111に含まれている。
当該判定の結果、コントローラnの指示位置が、いずれかの当たり判定オブジェクト111の表示領域内に含まれているときは(ステップS32でYES)、CPU10は、直前の処理ループ(1フレーム前における処理ループ)において指示されていた当たり判定オブジェクトとは異なる当たり判定オブジェクトが指示されているか否かを判定する(ステップS33)。これは、異なる読みの単語(複数の当たり判定オブジェクト111)が密接して表示されているような場合に、直前のフレームと今回のフレームとで、読みが異なる単語を指示したか否かを判定するためである。つまり、コントローラnの指示位置が、いずれかの当たり判定オブジェクト111の領域内に含まれている状態を維持しつつ、別の単語が指示されたか否かを判定するものである。この判定の結果、異なる単語が指示されていなければ(ステップS33でNO)、CPU10は、コントローラデータ128にアクセスし、当該コントローラnの送信済みフラグ1283がオンであるか否かを判定する(ステップS34)。例えば、n=1の場合は、コントローラ7a(コントローラIDは「1」)から送信された操作データに基づくポインティング座標1282、つまり、プレイヤ1のポインティング座標1282が当たり判定オブジェクト111の表示領域内に含まれていれば、CPU10は、コントローラデータ128からコントローラIDが「1」のデータを検索する。そして、検索したデータの送信済みフラグ1283がオンであるか否かを判定する。
上記ステップS34の判定の結果、送信済みフラグ1283がオンのときは(ステップS34でYES)、CPU10は、当たり判定処理を終了する、一方、送信済みフラグ1283がオンではないときは(ステップS34でNO)、まだ音声データの生成および送信が行われていないことになる。そのため、CPU10は、次に、読み仮名の音声データを生成してコントローラnに送信するための音声データ送信処理を行う(ステップS39)。
一方、上記ステップS33の判定で、別の当たり判定オブジェクト111が指示されたときは(ステップS33でYES)、送信済みフラグをオフに設定したうえで(ステップS40)、ステップS34の処理に進む。その結果、ステップS34においてNOと判定され、新たに指示された単語の読み仮名についての音声データ送信処理が行われることになる。
図21は、上記ステップS39で示した音声データ送信処理の詳細を示すフローチャートである。図21において、まず、上記当たり判定テーブル(図19参照)等を用いて、コントローラnが指示している当たり判定オブジェクト111に対応する読み仮名を取得する(ステップS51)。例えば、プレイヤ1についての処理を例に取ると、CPU10は、まず、コントローラ7aの指示位置に存在する当たり判定オブジェクト111のID205を検出する。次に、上記当たり判定テーブルを参照し、当該ID205に基づいて、ルビ番号206を取得する。更に、上記ステップS23で作業領域に記憶されたルビ単語一覧(図17参照)を参照し、ルビ番号206に基づいて読み仮名202を取得する。上述の図10の画面を例に取ると、プレイヤ1のコントローラについての処理(つまり、n=1のとき)では、CPU10は、「じつりょく」という読み仮名を取得することになる。
次に、CPU10は、取得した読み仮名202に基づいて、吹き出しオブジェクト105(図10参照)を生成する(ステップS52)。そして、当該吹き出しオブジェクト105を当たり判定オブジェクト111の近傍に配置する。このとき、当該吹き出しオブジェクト105とコントローラnのコントローラID1281とを関連づけておく。なお、吹き出しオブジェクト105が重なる場合は、後から配置する方が手前に表示されるように配置する。また、このとき、コントローラnの指示しているルビ付単語がどれであるかをよりわかりやすくするために、当該ルビ付単語の表示領域の背景色のみを変化させてもよい。
次に、CPU10は、取得した読み仮名202に基づき、所定の音声合成技術を用いて音声データを生成する(ステップS53)。例えば、録音された音声の断片を連結して合成する方法である、連結的合成等の手法を用いる。この場合は「録音された音声の断片」が上記音声合成用データ126として、予め記憶される。すなわち、「あ」「い」や、「か」「き」等の音声を録音したデータが、「録音された音声の断片」に相当する。次に、CPU10は、当該生成した音声データを、コントローラnの音声データ1284としてコントローラデータ128に格納する。なお、上記の音声合成の方法はあくまで一例であり、これらに限らず、読み仮名を発声する音声データが作成できれば、どのような処理方法を用いても良い。たとえば、文字ごとに「録音された音声の断片」でなく、単語ごとに録音されたデータを用いるようにし、単語の読みの場合には当該単語に対応するデータを読み出してそのまま出力するようにしてもよい。特に英語の場合等には、そのような出力方法が適している。
次に、CPU10は、上記音声データ1284を、コントローラnに送信する(ステップS54)。その結果、図10の場合を例にすると、プレイヤ1のコントローラ7aに対しては、CPU10は、「じつりょく」と発声する音声データを送信することになる(n=1の場合に該当)。また、プレイヤ2のコントローラ7bに対しては、「かくす」と発声する音声データを送信することになる(n=2の場合に該当)。
次に、CPU10は、コントローラnの送信済みフラグ1283をオンに設定する(ステップS55)。以上で、音声データ送信処理は終了する。
図20に戻り、上記ステップS32の判定において、ポインティング座標1282が当たり判定オブジェクト111の表示領域外のとき(ステップS32でNO)の処理を説明する。ステップS32の判定の結果、コントローラnのポインティング座標1282が、いすれの当たり判定オブジェクト111の表示領域にも含まれていないときは、次に、CPU10は、コントローラデータ128を参照し、コントローラnの送信済みフラグ1283がオンに設定されているか否かを判定する(ステップS35)。
当該判定の結果、送信済みフラグ1283がオンでなければ(ステップS35でNO)、CPU10は、当たり判定処理を終了する。一方、送信済みフラグ1283いずれかがオンのときは(ステップS35でYES)、CPU10は、当該送信済みフラグ1283をオフに設定する(ステップS36)。
次に、CPU10は、コントローラnに対して、音声出力停止信号を送信する(ステップS37)。これを受けたコントローラnでは、スピーカ706からの音声出力を停止する処理が行われる。これは、長い単語(文字数の多い単語)を音声出力している途中で、その単語からカーソルが離された場合に、音声出力もその時点で停止させるためである。
更に、コントローラnに対応する吹き出しオブジェクト105も消去する(ステップS38)。つまり、ルビ付単語からカーソルを離せば、吹き出しオブジェクト105も消えることになる。以上で、当たり判定処理が終了する。
図15に戻り、ステップS4の当たり判定処理の次に、CPU10は、変数n=変数mであるか否かの判定を行う(ステップS5)。これはつまり、ゲーム装置に接続されている全てのコントローラ7について、上記当たり判定処理を行ったか否かを判定している。当該判定の結果、n=mでないときは(ステップS5でNO)、CPU10は、nに1を加算し(ステップS6)、ステップS4の当たり判定処理を繰り返す。この繰り返しにより、ゲーム装置に接続されている全てのコントローラ7について、当たり判定処理が行われていくことになる。その結果、各コントローラ毎にルビ付単語の指示の有無が判定され、その判定結果に応じて音声データが生成され、各コントローラ7に送信されることになる。
一方、n=mのときは(ステップS5でYES)、全てのコントローラについて上記当たり判定処理が終了したことになるため、CPU10は、表示処理を行う(ステップS7)。すなわち、仮想カメラで3次元仮想ゲーム空間を撮影した画像をゲーム画像としてテレビ2に表示する処理を行う。
次に、CPU10は、ゲーム終了か否かを判定する(ステップS8)。YESの場合、ゲーム処理を終了する。一方、NOの場合、CPU10は、上記ステップS31で取得した操作データ(どのコントローラ7の操作データでもよい)に基づいて、画面の表示状態の変更が行われたか否かを判定する(ステップS9)。例えば、画面に表示されている、「次へ」ボタン104(図9参照)を押す操作が行われた結果、表示される文章内容が全く変わる場合等がこれに該当する。また、スクロール操作が行われた結果、文章内容は同じだが、その表示位置が変わるような場合も該当する。
ステップS9の判定の結果、表示状態に変更がないときは(ステップS9でNO)、上記ステップS3に戻って処理を繰り返す。一方、表示状態に変更が生じたときは(ステップS9でYES)、上記ステップS2に戻って、処理を繰り返す。その結果、表示設定処理が再度実行されることになり、例えば画面のスクロール、拡大縮小、変形等によるルビ単語の表示位置の変化があったときでも、当該表示位置の変化と連動して、当たり判定オブジェクトの表示位置も移動することができる。
このように、本実施形態では、複数のプレイヤがスピーカ付のコントローラ7で同じ画面内を操作する際に、各自が画面上の所定の単語を指示すれば、その単語の読みが各自のコントローラ7のスピーカから音声出力される。これにより、複数の文章が画面に表示されているときでも、各自のコントローラ7のスピーカを介して、別々の単語や文章等の読み上げが可能となる。換言すれば、複数のプレイヤが同時に、それぞれが所望する箇所の文字の読み上げを行うことができる。また、各自のコントローラ7のスピーカから音声出力するため、読み上げの音声が混同して聞き取りにくくなることを防ぐことができる。
また、例えば、上述のような吹き出し表示が重なって表示された場合、いずれか一方のプレイヤは、自分の指示している漢字の読みを視認することが困難となる。このような場合でも、手元のコントローラ7から読み仮名が音声出力されるため、自分が指示している漢字の読みを認識することが可能となる。
なお、音声データの生成に関して、プレイヤの性別に応じて男女の声を使い分けるようにしてもよい。例えば、ゲームの開始時に、プレイヤ情報として各プレイヤに各自の性別を入力させ、その情報をコントローラ7のIDと関連づけて外部メインメモリ12等に記憶しておくようにする。そして、当該性別に基づき、例えば男性のプレイヤが所持するコントローラ7に対しては、女性の声で音声データを生成し、女性のプレイヤの所持するコントローラ7に対しては、男性の声で音声データを生成するようにしてもよい。また、例えば、予め男女を示すキャラクタを、ゲームデータの一部として光ディスク4に記憶、あるいはゲーム装置3のフラッシュメモリ17に記憶しておく。そして、ゲーム開始時に各プレイヤに当該キャラクタを選択させ、各コントローラ7のIDと関連づけるようにしてもよい。そして、上記同様に、各プレイヤの性別に応じて男性あるいは女性の音声データを生成し、送信するようにしてもよい。
また、上述のような音声合成による音声データの作成に限らず、「読み」を録音した音声データを使うようにしても良い。例えば、「読み」を発声する人間の声を録音したデータ(例えば、WAVEファイル等)を予めゲームデータの一部として、光ディスク4に記憶しておく。これをゲーム開始時に外部メインメモリ12に読み込み、記憶しておく。そして、上記図22のステップS53の処理で、音声合成による音声データを作成する代わりに、当該人間の声を録音したデータを適宜読み出して、コントローラ7に送信するようにしてもよい。これにより、音声合成によって作成された音声よりも、滑らかな発音による音声出力を行うことができ、「読み仮名」をプレイヤに、より聞き取りやすくすることが可能となる。
また、例えば、ゲーム内容がクイズゲームであり、クイズの回答が複数の選択肢として画面に表示されている場合を想定する。このような場合に、カーソルが各選択肢の表示位置を指示した際に、その選択肢の内容を音声出力するようにしてもよい。そして、所定の操作、例えば操作ボタン72dをプレイヤが押せば、その選択肢が、当該プレイヤの回答として選ばれるようにしてもよい。
また、例えば、他国語で表示されたテキストの訳を各自のプレイヤの所持するコントローラ7から音声出力するようにしてもよい。例えば、英語で表示されているテキストに対して、日本語で音声出力することが考えられる。更に、仮想ゲーム世界内における仮想言語として、プレイヤには読めないような文字(フォント)を表示し、プレイヤが当該文字の表示領域をカーソルで指示したときに、その表示内容を各自のコントローラ7から音声出力するようにしてもよい。例えば、仮想ゲーム世界内の言語が表示されている看板をカーソルで指示すると、「武器屋」という音声を、この看板を指示したプレイヤのコントローラ7から出力するようにしてもよい。また看板以外にも、所定のオブジェクトに対応する判定領域を設定し、当該判定領域が指示されたときに、当該オブジェクトに対応する音声を出力する様態に適用することができ、特に複数のプレイヤが操作を行う場合に、所望のオブジェクトに関する読み・解説等の音声をそれぞれ独立に聞くことができる。
また、文字が表示されているか否かに関わらず、ゲーム画面上の所定の領域が指示されたときに、そのゲームを進行させるうえでヒントとなるような情報を、当該指示したコントローラ7から音声出力するようにしてもよい。そして、このようなヒントをたくさん探し出したプレイヤが有利にゲームを進めることができるようにする。これにより、特に多人数で対戦するようなゲームにおいて、ゲームの興趣をより高めることが可能となる。
(第2の実施形態)
次に、図22から図23を参照して、本発明の第2の実施形態について説明する。上述の第1の実施形態では、3次元仮想ゲーム空間を前提とした処理を行っていた。これに対して、第2の実施形態では、2次元座標系のゲーム空間を前提とする処理を行う。なお、当該実施形態に係るゲーム装置は、上述した第1の実施形態と同様であるため、同一の参照符号を付して詳細な説明を省略する。また、外部メインメモリ12に記憶されるデータについても、その構成は同様であるため、詳細な説明を省略する。但し、データの内容に関しては、3次元空間を前提としたデータ(ポリゴンデータなど)の代わりに、2次元空間を前提としたデータが格納される。
第2の実施形態にかかる処理概要を説明する。第2の実施形態では、第1の実施形態で説明したようなタグ付テキストデータ125に基づいて、画面にテキストを表示する。そして、ポインティング座標にルビ付単語が表示されていれば、当該タグ付テキストデータ125から読み仮名を取得する。そして、当該読み仮名に基づいて、音声合成で音声データを生成する。そして、第1の実施形態と同様に、対応するコントローラ7に音声データを送信し、各プレイヤのコントローラ7のスピーカ706から出力させる。
以下、図22〜図23を用いて、本発明の第2の実施形態にかかるゲーム処理を説明する。図22は、第2の実施形態にかかるゲーム装置で行われるゲーム処理を示すフローチャートである。まず、CPU10は、ゲーム装置に接続されているコントローラ7の数を検出する。そして、検出した数を変数mに設定する(ステップS61)。
次に、CPU10は、タグ付テキストデータ125をメモリから読み出す。次に、当該タグ付テキストデータ125に基づいて、画面に表示するテキストを生成する(ステップS62)。このとき、各ルビ付単語と、各ルビ付単語の表示位置との対応関係を示すためのマッピングデータを生成し、作業領域127に記憶しておく。次に、CPU10は、変数nに1を設定し(ステップS63)、音声送信判定処理を実行する(ステップS64)。
図23は、上記ステップS64で示した音声送信判定処理の詳細を示すフローチャートである。図23において、まず、CPU10は、コントローラnのポインティング座標を算出する(ステップS71)。この処理は、第1の実施形態と同様に、コントローラnから送信された操作データに基づいて行われる。
次に、CPU10は、上記マッピングデータに基づき、算出されたポインティング座標で示される画面上の指示位置に、上記ルビ付単語が表示されているか否かを判定する(ステップS72)。つまり、ルビ付単語がポインティングされているか否かを判定する。当該判定の結果、指示位置にルビ付単語が表示されている、すなわち、ルビ付単語がポインティングされているときは(ステップS72でYES)、CPU10は、直前のフレーム(直前の処理ループ)において指示されていたルビ付単語とは異なるルビ付単語がポインティングされているか否かを判定する(ステップS73)。その結果、異なるルビ付単語がポインティングされているときは(ステップS73でYES)、CPU10は、送信済みフラグ1283をオフに設定し(ステップS74)、ステップS75の処理に進む。一方、直前の処理ループと同じルビ付単語が指示されているときは(ステップS73でYES)、ステップS74の処理を行わずにステップS75の処理に進む。
次に、CPU10は、送信済みフラグ1283がオンであるか否かを判定する(ステップS75)。当該判定の結果、送信済みフラグ1283がオンのときは(ステップS75でYES)、CPU10は、音声送信判定処理を終了する。
一方、送信済みフラグ1283がオンでないときは(ステップS75でNO)、次に、CPU10は、上記タグ付テキストデータ125を参照し、当該ルビ付単語のタグ内の</>〜</ruby>で囲まれている文字列、つまり読み仮名を取得する(ステップS76)。
次に、CPU10は、取得した読み仮名に基づいて、音声合成による音声データを生成する(ステップS77)。続いて、CPU10は、生成した音声データをコントローラnに送信する(ステップS78)。次に、CPU10は、送信済みフラグ1283にオンを設定し(ステップS79)、音声送信判定処理を終了する。
一方、上記ステップS72の判定で、ポインティング位置にルビ付単語が表示されていない、つまり、ルビ付単語をポインティングしていないと判定されたとき(ステップS72でNO)、CPU10は、コントローラnの送信済みフラグ1283がオンであるか否かを判定する(ステップS80)。当該判定の結果、送信済みフラグ1283がオンではないときは(ステップS80でNO)、CPU10は、音声送信判定処理を終了する。一方、送信済みフラグ1283がオンのときは(ステップS80でYES)、次に、CPU10は、当該送信済みフラグ1283をオフに設定する(ステップS81)。次に、CPU10は、コントローラnに対して、音声出力停止信号を送信する(ステップS82)。これを受けたコントローラnでは、スピーカ706からの音声出力を停止する処理が行われる。以上で、音声送信判定処理は終了する。
図22に戻り、音声送信判定処理の次に、CPU10は、変数n=変数mであるかを判定することで、全てのコントローラについて音声送信判定処理を行ったか否かを判定する(ステップS65)。その結果、n=mでなければ(ステップS65でNO)、nに1を加算した後(ステップS66)、ステップS63に戻って処理を繰り返す。全てのコントローラについて音声送信判定処理を行えば(ステップS65でYES)、CPU10は、ゲーム画像を表示するための表示処理を行う(ステップS67)。そして、CPU10は、ゲーム終了についての判定を行い(ステップS68)、YESの場合、ゲーム処理を終了する。一方、NOの場合、CPU10は、ステップS63に戻って処理を繰り返す。以上で、第2の実施形態に係るゲーム処理は終了する。
このように、2次元座標系のゲーム空間にかかる処理であっても、第1の実施形態と同様に、各プレイヤが画面上の所定の単語を指示すれば、その単語の「読み」が各自のコントローラのスピーカから音声出力される。これにより、複数の文章が画面に表示されているときでも、各自のコントローラのスピーカを介して、別々の単語や文章等の読み上げが可能となる。
なお、音声送信判定処理の内容について、上述のようなマッピングテーブルは用いずに、所定の単語辞書を用いるようにしても良い。この単語辞書には、少なくとも、単語およびその「読み」が記録されている。そして、この場合は、CPU10は、ポインティング座標を算出後、当該ポインティング座標を中心に左右方向への走査を行うことで、ポインティング座標を中心とした文字列を検出する。次に、CPU10は、当該検出した文字列と上記単語辞書とを照合する。照合の結果、検出した文字列が単語辞書に登録されたいずれかの単語に一致すれば、当該単語辞書から、その単語の「読み」を取得する。そして、CPU10は、当該取得した読みから音声合成による音声データを生成して送信するようにすればよい。このようにすれば、必ずしも上述のような所定のタグを用いなくとも、上記のような「読み」の音声データを生成、送信することが可能となる。また、音声データは、コントローラ7に記憶手段を設け、当該記憶手段に記憶しておくようにしてもよい。その場合、どの音声を読み出すかを指定するためのデータのみが送信され、音声合成をコントローラ7側で行うことになる。また、予め言語を選択して記憶しておき、読み上げの際には当該言語に対応した読みを生成するようにしてもよい。具体的には、たとえばフラッシュメモリ17に、本体設定またはゲームのセーブデータとしてどの言語が選択されたかを示す言語フラグを記憶しておき、ユーザの選択により変更可能としておく。そして、タグ付テキストデータの読みや、音声合成用データについては、言語ごとに複数種類記憶しておき、上述の言語フラグに基づいて選択されている言語にあった読みを抽出し、音声データを生成するようにすればよい。このようにすることで、複数の言語に対応することが可能となり、ユーザが外国語の意味がわからない場合等に利用することができる。さらに、当該言語設定をプレイヤごとに記憶してそれぞれ処理するようにすれば、それぞれのコントローラからそれぞれの言語で読み上げが行われるので、さまざまな言語を用いるユーザが同時にゲームをプレイすることができる。
また、ゲーム装置については、上記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。また、コントローラ7は、上記実施形態に限らず、音声を発する手段を備えていれば、他の方式でポインティングを行うものであってもよい。たとえば、画面上の表示を直接検出すること指示位置を決定するものであってもよいし、コントローラ側にマーカを設け、コントローラとは別に設置されたカメラでコントローラを撮影するようにしてもよい。また、加速度センサやジャイロ等を用いて、コントローラの動きに応じてポインティング位置を移動させるような入力デバイスでもよいし、マウスや、スティックまたは十字キーによって座標入力を行うものであってもよい。さらに、タッチパネル用のペンにスピーカを備えたような装置を用いてもよい。
また、本発明は、上述のようなゲーム処理に限らずに、テキストを読み上げるような情報処理全般に適用可能である。
本発明にかかる情報処理システムおよび情報処理プログラムは、複数のユーザが、スピーカ付の入力装置を用いて、それぞれ画面内の所定の位置を指示したときに、その指示位置に対応する音声を各ユーザの入力装置から出力することができ、ゲーム装置やパーソナルコンピュータ等で、画面に表示される文章等を読み上げる情報処理等に有用である。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置3の機能ブロック図 図1のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面前方から見た斜視図 図3のコントローラ7の上ハウジングを外した状態を示す斜視図 図3のコントローラ7の下ハウジングを外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 撮像画像の一例 本実施形態で想定するゲームの画面の一例 本実施形態で想定するゲームの画面の一例 タグ付テキストデータの一例 当たり判定オブジェクトを説明するための図 ゲーム装置3の外部メインメモリ12のメモリマップを示す図 コントローラデータ128のデータ構造の一例 本発明の第1の実施形態に係るゲーム処理を示すフローチャート 図15のステップS2で示した表示設定処理の詳細を示したフローチャート 作業領域127に生成されるルビ単語一覧の一例 作業領域127に生成されるルビ単語位置テーブルの一例 作業領域127に生成される当たり判定テーブルの一例 図15のステップS4で示した当たり判定処理の詳細を示すフローチャート 図20のステップS34で示した音声データ送信処理の詳細を示すフローチャート 本発明の第2の実施形態に係るゲーム処理を示すフローチャート 図22のステップS64で示した音声送信判定処理の詳細を示したフローチャート
符号の説明
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
4…光ディスク
7…コントローラ
10…CPU
11…システムLSI
11a…入出力プロセッサ
11b…GPU
11c…DSP
11d…VRAM
11e…内部メインメモリ
12…外部メインメモリ
13…ROM/RTC
14…ディスクドライブ
15…AV−IC
16…AVコネクタ
17…フラッシュメモリ
18…無線通信モジュール
19…無線コントローラモジュール
20…拡張コネクタ
21…外部メモリカード用コネクタ
22…アンテナ
23…アンテナ
24…電源ボタン
25…リセットボタン
26…イジェクトボタン
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
706…スピーカ
707…サウンドIC
708…アンプ

Claims (8)

  1. 複数の入力装置と、当該入力装置に対してユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置とからなる情報処理システムであって、
    前記入力装置は、
    スピーカと、
    所定の操作入力に基づいて前記表示領域内の任意の位置を指定するための指示データを含む操作データを前記情報処理装置に送信する操作データ送信手段と、
    前記スピーカから音声を出力させるための音声データを前記情報処理装置から受信する音声データ受信手段と、
    受信された前記音声データに基づいて、前記スピーカから音声を出力させる音声制御手段とをそれぞれ備え、
    前記情報処理装置は、
    所定の音声データを記憶する音声記憶手段と、
    前記所定の音声データと関連づけたオブジェクトを少なくとも1つ以上、前記表示領域内に表示するオブジェクト表示手段と、
    前記操作データを前記入力装置毎に取得する操作データ取得手段と、
    前記取得された操作データに含まれる前記指示データに基づいて、前記入力装置毎に前記表示領域内の指示位置を決定する指示位置決定手段と、
    前記指示位置に表示されているオブジェクトを前記入力装置毎に特定するオブジェクト特定手段と、
    前記特定されたオブジェクトに関連づけられている音声データを前記音声記憶手段から当該オブジェクト毎に読み出す音声読み出し手段と、
    前記特定されたオブジェクト毎に、前記音声読出し手段が読み出した音声データを当該オブジェクトを指示している入力装置に送信する音声データ送信手段とを備え
    前記音声読出し手段は、前記特定されたオブジェクト毎に、前記音声記憶手段から読み出された音声データに基づいた音声合成によって合成音声データを生成する音声合成手段を含み、
    前記音声データ送信手段は、前記音声合成手段が生成した合成音声データを、前記特定されたオブジェクトを指示している入力装置に送信し、
    前記オブジェクトは前記表示領域に表示される文字を示す文字データを含み、
    前記音声記憶手段は、前記文字データで示される文字を読み上げる音声を記憶し、
    前記音声合成手段は、前記特定されたオブジェクトに含まれる前記文字データで示される文字の読みの音声を前記音声記憶手段から取得し、当該読みの音声に基づいて音声合成を行うことで、複数の文字で構成される所定の文字列を読み上げる合成音声を前記合成音声データとして生成する、情報処理システム。
  2. 前記入力装置は、所定の撮像対象を撮像するための撮像手段を更に備え、
    前記操作データ送信手段は、前記撮像手段が撮像した画像内において前記撮像対象が写されている位置を示すデータを前記指示データとして送信する、請求項1に記載の情報処理システム。
  3. 前記操作データ送信手段は、所定のキー入力操作が行われたことを示すキーデータを操作データに含めて送信し、
    前記情報処理装置は、
    前記キーデータに基づいて所定のキー入力操作が行われたことを検知する検知手段と、
    前記所定の操作が行われたとき、当該操作が行われた入力装置によって特定されているオブジェクトを当該入力装置に関連づけて選択する処理を行う選択手段とを更に備える、請求項1に記載の情報処理システム。
  4. 前記情報処理装置は、前記音声データ送信手段による音声データの送信が行われた後、当該音声データの送信先となった入力装置の前記指示位置が、前記特定されたオブジェクトの表示領域の外を示したときに、当該入力装置から出力されている音声の出力を停止させるための音声出力停止信号を当該入力装置に送信する音声出力停止信号送信手段を更に備える、請求項1に記載の情報処理システム。
  5. 前記特定されたオブジェクトに含まれる文字列の読みを表示するための画像を生成する読み画像生成手段と、
    前記読み画像を前記特定されたオブジェクトの表示位置の近傍に表示する読み画像表示手段とを更に備える、請求項3に記載の情報処理システム。
  6. スピーカと、表示装置の表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する操作データ送信手段と、スピーカから音声を出力させるための音声データを当該情報処理装置から受信する音声データ受信手段と、受信された音声データに基づいて、スピーカから音声を出力させる音声制御手段とを備える複数の入力装置に対してそれぞれユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置のコンピュータに実行させるプログラムであって、
    所定の記憶手段に記憶されている所定の音声データと関連づけたオブジェクトを少なくとも1つ以上、前記表示領域内に表示するオブジェクト表示ステップと、
    前記操作データを前記入力装置毎に取得する操作データ取得ステップと、
    前記取得された操作データに含まれる前記指示データに基づいて、前記入力装置毎に前記表示領域内の指示位置を決定する指示位置決定ステップと、
    前記指示位置に表示されているオブジェクトを前記入力装置毎に特定するオブジェクト特定ステップと、
    前記特定されたオブジェクトに関連づけられている音声データを前記音声記憶手段から当該オブジェクト毎に読み出す音声読み出しステップと、
    前記読み出した音声データに基づいて音声合成を行うことによって前記特定されたオブジェクト毎に合成音声データを生成する音声合成ステップと、
    前記特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に前記合成音声データを送信する音声データ送信ステップとを前記コンピュータに実行させ
    前記音声読出しステップは、前記特定されたオブジェクト毎に、前記所定の記憶手段から読み出された音声データに基づいた音声合成によって合成音声データを生成する音声合成ステップを含み、
    前記音声データ送信ステップでは、前記音声合成ステップで生成された合成音声データを、前記特定されたオブジェクトを指示している入力装置に送信し、
    前記オブジェクトは前記表示領域に表示される文字を示す文字データを含み、
    前記所定の記憶手段に記憶されている音声データは、前記文字データで示される文字を読み上げる音声のデータであり、
    前記音声合成ステップでは、前記特定されたオブジェクトに含まれる前記文字データで示される文字の読みの音声を前記所定の記憶手段から取得し、当該読みの音声に基づいて音声合成を行うことで、複数の文字で構成される所定の文字列を読み上げる合成音声を前記合成音声データとして生成する、情報処理プログラム。
  7. スピーカと、表示装置の表示領域内の任意の位置を指定するための指示データを含む操作データを情報処理装置に送信する操作データ送信手段と、所定の音声データを記憶する音声記憶手段と、スピーカから音声を出力させるための音声指定データを当該情報処理装置から受信する音声指定データ受信手段と、受信された音声指定データに基づいて、前記音声記憶手段から対応する前記音声データを読み出してスピーカから音声を出力させる音声制御手段とを備える複数の入力装置に対してそれぞれユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置のコンピュータに実行させるプログラムであって、
    前記音声データと関連づけたオブジェクトを少なくとも1つ以上、前記表示領域内に表示するオブジェクト表示ステップと、
    前記操作データを前記入力装置毎に取得する操作データ取得ステップと、
    前記取得された操作データに含まれる前記指示データに基づいて、前記入力装置毎に前記表示領域内の指示位置を決定する指示位置決定ステップと、
    前記指示位置に表示されているオブジェクトを前記入力装置毎に特定するオブジェクト特定ステップと、
    前記特定されたオブジェクトに関連づけられている音声データを示す前記音声指示データを、前記特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に送信する音声データ送信ステップと
    前記特定されたオブジェクト毎に、前記音声記憶手段から読み出された音声データに基づいた音声合成による合成音声データを前記音声制御手段に生成させる音声合成ステップと、を前記コンピュータに実行させ
    前記オブジェクトは前記表示領域に表示される文字を示す文字データを含み、
    前記音声記憶手段に記憶されている音声データは、前記文字データで示される文字を読み上げる音声のデータであり、
    前記音声データ送信ステップは、前記特定されたオブジェクトに含まれる前記文字データで示される文字の読みの音声を示すデータを前記音声指示データとして送信し、
    前記音声合成ステップでは、前記音声指示データで示される前記文字の読みの音声を前記音声記憶手段から取得し、当該読みの音声に基づいて音声合成を行うことで、複数の文字で構成される所定の文字列を読み上げる合成音声を前記合成音声データとして生成する、情報処理プログラム。
  8. 複数の入力装置と、当該入力装置に対してユーザが行った操作に基づいて所定の情報処理を行い、当該情報処理に基づいて表示装置の表示領域に画像を表示させる情報処理装置とからなる情報処理システムであって、
    前記入力装置は、
    スピーカと、
    所定の操作入力に基づいて前記表示領域内の任意の位置を指定するための指示データを含む操作データを前記情報処理装置に送信する操作データ送信手段と、
    所定の音声データを記憶する音声記憶手段と、
    前記スピーカから音声を出力させるための音声指定データを前記情報処理装置から受信する音声指定データ受信手段と
    受信された前記音声指定データに基づいて、前記音声記憶手段から対応する前記音声データを読み出してスピーカから音声を出力させる音声制御手段とをそれぞれ備え、
    前記情報処理装置は、
    前記音声データと関連づけたオブジェクトを少なくとも1つ以上、前記表示領域内に表示するオブジェクト表示手段と、
    前記操作データを前記入力装置毎に取得する操作データ取得手段と、
    前記取得された操作データに含まれる前記指示データに基づいて、前記入力装置毎に前記表示領域内の指示位置を決定する指示位置決定手段と、
    前記指示位置に表示されているオブジェクトを前記入力装置毎に特定するオブジェクト特定手段と、
    前記特定されたオブジェクトに関連づけられている音声データを示す前記音声指示データを、前記特定されたオブジェクト毎に、当該オブジェクトを指示している入力装置に送信する音声データ送信手段とを備え
    前記音声制御手段は、前記音声指示データに基づき、前記音声記憶手段から読み出された音声データに基づいた音声合成によって合成音声データを生成する音声合成手段を含み、
    前記オブジェクトは前記表示領域に表示される文字を示す文字データを含み、
    前記音声記憶手段は、前記文字データで示される文字を読み上げる音声を記憶し、
    前記音声合成手段は、前記音声指示データにおいて示される前記特定されたオブジェクトに含まれる文字の読みの音声を前記音声記憶手段から取得し、当該読みの音声に基づいて音声合成を行うことで、複数の文字で構成される所定の文字列を読み上げる合成音声を前記合成音声データとして生成する、情報処理システム。
JP2007122668A 2007-05-07 2007-05-07 情報処理システム、情報処理プログラム Active JP5230120B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007122668A JP5230120B2 (ja) 2007-05-07 2007-05-07 情報処理システム、情報処理プログラム
US11/819,402 US8352267B2 (en) 2007-05-07 2007-06-27 Information processing system and method for reading characters aloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007122668A JP5230120B2 (ja) 2007-05-07 2007-05-07 情報処理システム、情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2008276701A JP2008276701A (ja) 2008-11-13
JP5230120B2 true JP5230120B2 (ja) 2013-07-10

Family

ID=39970329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007122668A Active JP5230120B2 (ja) 2007-05-07 2007-05-07 情報処理システム、情報処理プログラム

Country Status (2)

Country Link
US (1) US8352267B2 (ja)
JP (1) JP5230120B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010084524A1 (ja) * 2009-01-20 2010-07-29 Yamamoto Emi 情報処理システム及びプログラム
US20110112822A1 (en) * 2009-11-10 2011-05-12 Charles Caraher Talking Pen and Paper Translator
JP5531750B2 (ja) * 2010-04-16 2014-06-25 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び情報処理システム
US8485899B1 (en) * 2012-03-06 2013-07-16 Steelseries Aps Method and apparatus for presenting performances of gamers
US20140002352A1 (en) * 2012-05-09 2014-01-02 Michal Jacob Eye tracking based selective accentuation of portions of a display
US9583105B2 (en) * 2014-06-06 2017-02-28 Microsoft Technology Licensing, Llc Modification of visual content to facilitate improved speech recognition
US10359858B2 (en) * 2016-09-07 2019-07-23 Disney Enterprises, Inc. Systems and methods for simulating sounds of a virtual object using procedural audio
JP7097161B2 (ja) * 2017-09-01 2022-07-07 シャープ株式会社 ネットワークシステム、情報処理方法、サーバ、および装置
US10572586B2 (en) * 2018-02-27 2020-02-25 International Business Machines Corporation Technique for automatically splitting words

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02253369A (ja) * 1989-03-28 1990-10-12 Canon Inc 電子辞書
US7181692B2 (en) * 1994-07-22 2007-02-20 Siegel Steven H Method for the auditory navigation of text
JP3036430B2 (ja) 1996-04-12 2000-04-24 日本電気株式会社 文章読み上げ装置
US6226614B1 (en) * 1997-05-21 2001-05-01 Nippon Telegraph And Telephone Corporation Method and apparatus for editing/creating synthetic speech message and recording medium with the method recorded thereon
JPH11338633A (ja) * 1998-05-21 1999-12-10 Toshiba Fa Syst Eng Corp ポインティングデバイス、コンピュータ装置及びコンピュータシステム
US20010041328A1 (en) * 2000-05-11 2001-11-15 Fisher Samuel Heyward Foreign language immersion simulation process and apparatus
US8947347B2 (en) * 2003-08-27 2015-02-03 Sony Computer Entertainment Inc. Controlling actions in a video game unit
US8073157B2 (en) * 2003-08-27 2011-12-06 Sony Computer Entertainment Inc. Methods and apparatus for targeted sound detection and characterization
US9474968B2 (en) * 2002-07-27 2016-10-25 Sony Interactive Entertainment America Llc Method and system for applying gearing effects to visual tracking
US20060166172A1 (en) * 2002-10-01 2006-07-27 May Allegra A Speaking words language instruction system and methods
US6845338B1 (en) * 2003-02-25 2005-01-18 Symbol Technologies, Inc. Telemetric contextually based spatial audio system integrated into a mobile terminal wireless system
US6881147B2 (en) * 2003-06-06 2005-04-19 Nyko Technologies, Inc. Video game controller with integrated microphone and speaker
US20050137872A1 (en) * 2003-12-23 2005-06-23 Brady Corey E. System and method for voice synthesis using an annotation system
US8016667B2 (en) * 2004-07-22 2011-09-13 Igt Remote gaming eligibility system and method using RFID tags
US7351148B1 (en) * 2004-09-15 2008-04-01 Hasbro, Inc. Electronic sequence matching game and method of game play using same
JP2006201912A (ja) * 2005-01-19 2006-08-03 Nippon Telegr & Teleph Corp <Ntt> 3次元仮想オブジェクト情報提供サービス処理方法と3次元仮想オブジェクト提供システムおよびプログラム
US7775885B2 (en) * 2005-10-14 2010-08-17 Leviathan Entertainment, Llc Event-driven alteration of avatars
US20070211071A1 (en) * 2005-12-20 2007-09-13 Benjamin Slotznick Method and apparatus for interacting with a visually displayed document on a screen reader
US7818164B2 (en) * 2006-08-21 2010-10-19 K12 Inc. Method and system for teaching a foreign language
US20080180283A1 (en) * 2007-01-31 2008-07-31 Sony Ericsson Mobile Communications Ab System and method of cross media input for chinese character input in electronic equipment
US10504317B2 (en) * 2007-04-30 2019-12-10 Cfph, Llc Game with player actuated control structure
US9317110B2 (en) * 2007-05-29 2016-04-19 Cfph, Llc Game with hand motion control

Also Published As

Publication number Publication date
US8352267B2 (en) 2013-01-08
US20080281597A1 (en) 2008-11-13
JP2008276701A (ja) 2008-11-13

Similar Documents

Publication Publication Date Title
JP5230120B2 (ja) 情報処理システム、情報処理プログラム
JP4986279B2 (ja) ゲームプログラムおよびゲーム装置
US7934995B2 (en) Game system and information processing system
JP5376874B2 (ja) 画像処理プログラムおよび画像処理装置
JP5522902B2 (ja) 情報処理プログラムおよび情報処理装置
JP5390093B2 (ja) ゲームプログラムおよびゲーム装置
JP5004518B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP5116424B2 (ja) ゲームプログラムおよびゲーム装置
US9389751B2 (en) Storage medium storing subject selecting program and subject selecting apparatus
US20090143140A1 (en) Game system
JP4919887B2 (ja) 画像処理プログラムおよび画像処理装置
JP5429918B2 (ja) 情報処理プログラムおよび情報処理装置
JP2008217543A (ja) 情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラム
JP2010097429A (ja) 情報処理装置および情報処理プログラム
JP2010142404A (ja) ゲームプログラムおよびゲーム装置
JP2008229188A (ja) 情報処理プログラム、および、情報処理装置
JP5013511B2 (ja) ゲームプログラムおよびゲーム装置
JP5702585B2 (ja) 入力判定プログラム、情報処理装置、システム及び情報処理方法
JP5274298B2 (ja) 描画処理装置、および、描画処理プログラム
JP5945297B2 (ja) ゲームプログラムおよびゲーム装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100419

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130319

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5230120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250