JP4567805B2 - Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data - Google Patents

Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data Download PDF

Info

Publication number
JP4567805B2
JP4567805B2 JP2009509745A JP2009509745A JP4567805B2 JP 4567805 B2 JP4567805 B2 JP 4567805B2 JP 2009509745 A JP2009509745 A JP 2009509745A JP 2009509745 A JP2009509745 A JP 2009509745A JP 4567805 B2 JP4567805 B2 JP 4567805B2
Authority
JP
Japan
Prior art keywords
gearing
input
action
user
computer program
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
JP2009509745A
Other languages
Japanese (ja)
Other versions
JP2009535167A (en
Inventor
エム. ザルースキ ゲイリー
マオ シャドン
マークス リチャード
Original Assignee
ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー
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
Priority to US11/381,727 priority Critical patent/US7697700B2/en
Priority to US11/381,725 priority patent/US7783061B2/en
Priority to US11/381,729 priority patent/US7809145B2/en
Priority to US11/381,721 priority patent/US8947347B2/en
Priority to US11/381,728 priority patent/US7545926B2/en
Priority to US11/381,724 priority patent/US8073157B2/en
Priority to US11/382,038 priority patent/US7352358B2/en
Priority to US11/382,036 priority patent/US9474968B2/en
Priority to US11/382,041 priority patent/US7352359B2/en
Priority to US11/382,040 priority patent/US7391409B2/en
Priority to PCT/US2007/010852 priority patent/WO2007130582A2/en
Application filed by ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー filed Critical ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー
Publication of JP2009535167A publication Critical patent/JP2009535167A/en
Application granted granted Critical
Publication of JP4567805B2 publication Critical patent/JP4567805B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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
    • A63F13/428Processing 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 involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • 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/105Features 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 using inertial sensors, e.g. accelerometers, gyroscopes
    • 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/1081Input via voice recognition
    • 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/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
    • A63F2300/1093Features 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 using visible 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
    • 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/6072Methods for processing data by generating or executing the game program for sound processing of an input signal, e.g. pitch and rhythm extraction, voice recognition

Description

ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきている。   The video game industry has experienced many changes over the years. As computing power expands, video game developers have created game software that takes advantage of this increased computing power as well.
このために、ビデオゲーム開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
ゲームプラットフォームの例に、ソニープレイステーションまたはソニープレイステーション2(PS2)があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ(通常はテレビ)と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、CPU、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル装置などの特化した処理ハードウェアと、その他の繋ぎとなるハードウェア即ちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。
また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒にインタラクティブにプレイすることができるオンラインゲームも可能である。
To this end, video game developers have been coding games that employ advanced arithmetic and mathematics to create extremely realistic gaming experiences.
Examples of game platforms are Sony PlayStation or Sony PlayStation 2 (PS2), each sold in the form of a game console. As is well known, game consoles are designed to be connected to a monitor (usually a television) and allow user interaction with a handheld controller. The game console is a specialized processing hardware such as a CPU, a graphic synthesizer for graphic operations with a large amount of processing, a vector device for performing geometry conversion, and other connecting hardware, that is, glue hardware, firmware And designed with software etc.
In addition, the game console is designed with an optical disc tray for receiving a game compact disc for local play by the game console. Also possible is an online game where the user can play against other users on the Internet or interactively play with other users.
ゲームが複合的なものであることがプレーヤの興味を引き続けていることから、ゲームのソフトウェアおよびハードウェアのメーカは更なるインタラクティブ機能を実現するために革新を続けてきている。しかし、実際は、ユーザがゲームとインタラクトする手法は、長年にわたって劇的には変わることはなかった。一般に、ユーザは、未だに、手持ち式のコントローラを使用してコンピュータゲームをプレイしたり、マウスポインティングデバイスを使用してプログラムとのインタラクションを行っている。前述を鑑みて、ゲームプレイにおいてより高度なユーザインタラクティビティを可能にする方法およびシステムが求められている。   Game software and hardware manufacturers have continued to innovate to enable more interactive features as the game continues to attract players' interest. In practice, however, the way users interact with games has not changed dramatically over the years. In general, the user still plays a computer game using a handheld controller or interacts with a program using a mouse pointing device. In view of the foregoing, there is a need for a method and system that enables more advanced user interactivity in game play.
概して、本発明は、コンピューティングシステムとのダイナミックなユーザインタラクティビティを可能にする方法、システムおよび装置を提供することによって、このニーズを満たす。一実施形態では、コンピューティングシステムはプログラムを実行しており、プログラムがインタラクティブなものとなっている。プログラムは、例えば、インタラクティブなオブジェクトやフィーチャを定義するビデオゲームであってもよい。インタラクティビティには、処理が実行される際の程度の調整を行うギアリング要素を調整する能力をユーザに与えることが含まれる。一実施形態では、ギアリングは、入力デバイスの移動量対コンピュータプログラムのオブジェクトやフィーチャが行う移動量間の相対移動に設定することができる。   In general, the present invention meets this need by providing a method, system and apparatus that enables dynamic user interactivity with a computing system. In one embodiment, the computing system is executing a program and the program is interactive. The program may be, for example, a video game that defines interactive objects and features. Interactivity includes providing the user with the ability to adjust gearing elements that adjust the degree to which processing is performed. In one embodiment, the gearing may be set to a relative movement between the amount of movement of the input device versus the amount of movement performed by the object or feature of the computer program.
別の実施形態では、ギアリングは、コンピュータプログラムのフィーチャに対して設定することができ、入力デバイスからの検出は、慣性アナライザの処理に基づくものであってもよい。この慣性アナライザは、慣性アクティビティに対する入力デバイスを追跡し、その情報をプログラムに伝達する。次に、プログラムは、慣性アナライザからの出力を処理して、出力にギアリング量をかけることができるようにする。ギアリング量は、プログラムがオペレーションを計算する際の程度または比率を決定する。オペレーションは任意の数の形態をとることができ、オペレーションの一例としては、ノイズ、可変ノイズ、オブジェクトが行う移動、または変数の生成、を挙げることができる。出力が変数であれば、この変数(例えば、乗数など)を使用してプロセスを完了するようにしてもよい。これにより、プロセスはギアリング量を考慮するようになる。ギアリング量は、ユーザが事前に設定しても動的に設定してもよく、または要求に応じて調整することができる。   In another embodiment, gearing can be set for computer program features, and detection from the input device may be based on inertial analyzer processing. The inertial analyzer tracks input devices for inertial activity and communicates that information to the program. The program then processes the output from the inertial analyzer so that the output can be multiplied by a gearing amount. The amount of gearing determines the degree or ratio at which the program calculates operations. An operation can take any number of forms, and examples of operations can include noise, variable noise, movement performed by an object, or generation of a variable. If the output is a variable, the variable (eg, multiplier, etc.) may be used to complete the process. This allows the process to consider the amount of gearing. The amount of gearing may be preset by the user, set dynamically, or can be adjusted as required.
一実施形態では、追跡は音響アナライザによって行うことができる。音響アナライザは入力デバイスから音響信号を受信するように構成され、実行されているコマンドやインタラクションにかけられるギアリング量を伝達することができる。音響アナライザは、コンピュータプログラムのセグメントの形態であってもよく、または、音響信号情報を処理するように設計された回路に特別に形成されたものであってもよい。したがって、音響信号情報は、プログラムによって動的に設定されるか、要求に応じて、(コントローラ上のボタン、音声コマンドなどを選択することによって)入力デバイスを介してユーザにより設定されるギアリングデータを含むことができる。   In one embodiment, tracking can be performed by an acoustic analyzer. The acoustic analyzer is configured to receive an acoustic signal from the input device and can convey the amount of gearing that is being applied to the command or interaction being performed. The acoustic analyzer may be in the form of a computer program segment or may be specially formed in a circuit designed to process acoustic signal information. Therefore, the acoustic signal information is set dynamically by the program or gearing data set by the user via the input device (by selecting buttons, voice commands, etc. on the controller) upon request. Can be included.
一実施形態では、入力デバイスの追跡は、画像アナライザを介してなされてもよい。以下に説明しているように、画像アナライザは、ユーザならびに入力デバイスが位置する空間の画像をキャプチャするカメラを備え得る。この例では、画像アナライザは、処理プログラムのフィーチャにそれぞれのアクションを行わせるように、コントローラの位置を決定している。プログラムはゲームであり、フィーチャは入力デバイスによって制御されているオブジェクトであってもよい。さらに、画像アナライザは、位置データを入力ギアリング値とミックスするように構成される。ギアリング値は、ユーザにより、実行において動的に与えられてもよく、あるいは、実行セッションのアクティビティに応じてプログラムにより設定されてもよい。ギアリング入力は、ユーザによる入力ジェスチャやアクションに基づいて、コンピュータプログラムによる幾分かの処理に相対的インパクトを設定する。一実施形態では、ギアリングは、ユーザやユーザ入力デバイスからのコマンドやアクションをプログラムのフィーチャに変換する。プログラムのフィーチャは可視オブジェクトでなくてもよいが、音声、振動または画像の移動のいずれかのパラメータ、予測、あるいは変換を幾分か計算するように使用される変数の調整を含むことができる。したがって、ギアリングは、プログラムとプログラムのフィーチャ間に与えられるインタラクティビティを制御するための更なる意味を付加することになる。さらに別の実施形態では、ミキサアナライザが提供される。このミキサアナライザは、ゲームのフィーチャにハイブリッド効果をもたらすように設計される。例えば、ミキサアナライザは、画像アナライザ、音響アナライザ、慣性アナライザなどの組合せからの入力を扱う。したがって、一実施形態では、このミキサアナライザはいくつかのギアリング変数を受信する。これらの変数は混合ならびに合成されて、プログラムのフィーチャとのハイブリッドな結果、コマンド、あるいはインタラクションをもたらす。同様に、プログラムのフィーチャは視覚オブジェクトならびに非視覚オブジェクト、移動の処理に使用する変数、可聴反応に対する調節などを含むものと広く理解されるべきである。   In one embodiment, input device tracking may be done via an image analyzer. As described below, the image analyzer may comprise a camera that captures an image of the space in which the user as well as the input device is located. In this example, the image analyzer determines the position of the controller so that the processing program features perform their respective actions. The program may be a game and the feature may be an object that is controlled by an input device. Further, the image analyzer is configured to mix the position data with the input gearing value. The gearing value may be given dynamically by the user during execution or may be set by the program depending on the activity of the execution session. The gearing input sets a relative impact on some processing by the computer program based on input gestures and actions by the user. In one embodiment, gearing translates commands and actions from users and user input devices into program features. Program features may not be visible objects, but may include adjustment of variables used to calculate some parameters, predictions, or transformations of either speech, vibration or image movement. Thus, gearing adds an additional meaning for controlling the interactivity provided between programs and program features. In yet another embodiment, a mixer analyzer is provided. This mixer analyzer is designed to provide a hybrid effect on game features. For example, a mixer analyzer handles input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like. Thus, in one embodiment, the mixer analyzer receives several gearing variables. These variables can be mixed and synthesized to produce hybrid results, commands, or interactions with program features. Similarly, program features should be broadly understood to include visual and non-visual objects, variables used to process movement, adjustments to audible responses, and the like.
1つの特定の例では、ユーザのコントローラによる移動をゲームのフィーチャ上の移動またはアクションに変換する量の少なくとも一部は設定された、あるいは決定されたギアリングに関係する。ギアリングは、ゲームに対して動的に設定もしくは事前に設定されてもよく、あるいはゲームのプレイ中にユーザによって調整されてもよい。さらに、この反応は、ビデオゲームのオブジェクトもしくはフィーチャに対応づけられ、別のレベルのユーザインタラクティビティと強化した体験とを与えることができる。   In one particular example, at least a portion of the amount that translates movement by the user's controller into movement or action on a game feature relates to the set or determined gearing. Gearing may be set dynamically or pre-set for the game, or may be adjusted by the user during game play. In addition, this response can be associated with video game objects or features to provide another level of user interactivity and an enhanced experience.
本発明は、プロセス、装置、システム、デバイスまたは方法など、多くの方法で実装することができる点を理解されたい。以下に本発明のいくつかの発明の実施形態を記載する。   It should be appreciated that the present invention can be implemented in many ways, including as a process, apparatus, system, device or method. Several inventive embodiments of the present invention are described below.
一実施形態では、コンピュータゲームシステムとインタラクティブにインターフェースする方法が提供される。このコンピュータゲームシステムは、画像データをキャプチャするビデオキャプチャ装置を含む。上記方法において、入力デバイスがビデオキャプチャ装置に表示され、入力デバイスは、変調される複数の光源を有しており、この入力デバイスの位置と、キャプチャしたデータ分析ならびに複数の光源の状態に基づくコンピュータゲームシステムにより解釈される通信データとが伝達される。さらに上記方法において、コンピュータゲームシステムにより実行されるコンピュータゲームのオブジェクトの移動つまりムーブメントや動き、動作が定義される。これにより、オブジェクトの移動は、キャプチャした画像データで検出した入力デバイスの位置における移動あるいは移動や動作に対応づけられる。次に、上記方法において、コンピュータゲームのオブジェクトの移動と、入力デバイスの位置における移動あるいは移動と、の間のギアリングが定められる。ギアリングは、入力デバイスの移動とオブジェクトの移動との間の比率を定める。ギアリングは、ゲームやユーザにより動的に設定されてもよいし、ソフトウェアまたはギアリングアルゴリズムに従って配置されたユーザにより事前に設定されてもよい。   In one embodiment, a method for interactively interfacing with a computer game system is provided. The computer game system includes a video capture device that captures image data. In the above method, an input device is displayed on a video capture device, the input device having a plurality of light sources to be modulated, and a computer based on the position of the input device, the captured data analysis and the state of the plurality of light sources Communication data interpreted by the game system is transmitted. Further, in the above method, the movement, that is, movement, movement, and movement of the object of the computer game executed by the computer game system is defined. As a result, the movement of the object is associated with the movement, movement or movement at the position of the input device detected from the captured image data. Next, in the above method, gearing between the movement of the object of the computer game and the movement or movement at the position of the input device is determined. Gearing defines the ratio between input device movement and object movement. The gearing may be set dynamically by the game or the user, or may be set in advance by a user arranged according to software or a gearing algorithm.
別の実施形態では、コンピュータゲームシステムとインタラクティブにインターフェースする方法が開示されている。コンピュータゲームシステムは、画像データをキャプチャするビデオキャプチャ装置を含む。上記方法にいおいて、入力デバイスがビデオキャプチャ装置に表示される。これにより、入力デバイスの位置と、キャプチャした画像データ分析に基づくコンピュータゲームシステムにより解釈される通信データとが伝達される。次に、上記方法において、コンピュータゲームシステムにより実行されるコンピュータゲームのオブジェクトの移動が定義され、さらに、このオブジェクトの移動がキャプチャした画像データで検出した入力デバイスの移動に対応づけられる。次に、上記方法において、コンピュータゲームのオブジェクトの移動対入力デバイスの移動間のギアリングが定められる。ギアリングは、入力デバイスの移動とオブジェクトの移動との間における、ユーザにより調節可能な比率を定める。   In another embodiment, a method for interactively interfacing with a computer game system is disclosed. The computer game system includes a video capture device that captures image data. In the above method, an input device is displayed on the video capture device. Thereby, the position of the input device and the communication data interpreted by the computer game system based on the captured image data analysis are transmitted. Next, in the above method, the movement of the object of the computer game executed by the computer game system is defined, and further, the movement of the object is associated with the movement of the input device detected from the captured image data. Next, in the above method, the gearing between the movement of the computer game object versus the movement of the input device is defined. Gearing defines a user adjustable ratio between input device movement and object movement.
さらに別の実施形態では、コンピュータゲームシステムとインタラクティブにインターフェースするプログラム命令を含む、コンピュータ可読媒体が提供される。コンピュータゲームシステムは、画像データをキャプチャするビデオキャプチャ装置を含む。コンピュータ可読媒体は、入力デバイスの表示をビデオキャプチャ装置に検出するプログラム命令を含む。入力デバイスは、入力デバイスの位置とキャプチャした画像データ分析に基づくコンピュータゲームシステムによって解釈される通信データを伝達する。さらに、コンピュータ可読媒体は、コンピュータゲームシステムにより実行されるコンピュータゲームのオブジェクトの移動を定義するプログラム命令を含み、オブジェクトの移動は、キャプチャした画像データで検出した入力デバイスの移動に対応づけられる。さらに、コンピュータ可読媒体は、コンピュータゲームのオブジェクトの移動と入力デバイスの移動との間のギアリングを定めるプログラム命令を含み、ギアリングは入力デバイスの移動とオブジェクトの移動との間のユーザにより調節可能な比率を定める。ユーザにより調節可能な比率は、ゲームのプレイ中、ゲームプレイセッション前、あるいはゲーム中のある特定のアクションイベント中に動的に変更することができる。   In yet another embodiment, a computer readable medium is provided that includes program instructions for interactively interfacing with a computer game system. The computer game system includes a video capture device that captures image data. The computer readable medium includes program instructions for detecting a display of the input device to the video capture device. The input device communicates communication data that is interpreted by the computer game system based on the location of the input device and the captured image data analysis. Further, the computer readable medium includes program instructions that define the movement of an object of a computer game executed by the computer game system, and the movement of the object is associated with the movement of the input device detected from the captured image data. Further, the computer readable medium includes program instructions that define a gearing between the movement of the computer game object and the movement of the input device, the gearing being adjustable by the user between the movement of the input device and the movement of the object. The right ratio. The ratio adjustable by the user can be changed dynamically during game play, before a game play session, or during certain action events during the game.
さらに別の実施形態では、ユーザのアクションと、コンピュータプログラムのオブジェクトにより実施されるアクションとの間に動的なユーザインタラクティビティを可能にするシステムが提供される。上記システムは、コンピューティングシステム、コンピューティングシステムに結合されたビデオキャプチャ装置、コンピューティングシステムから入力を受信するディスプレイを備える。さらに、上記システムは、コンピューティングシステムにより実行されるコンピュータプログラムとインターフェースする入力デバイスを備える。入力デバイスは、対応付けられた入力デバイスと制御されるオブジェクトの移動との間の比率を定めるギアリングコントロールを有する。オブジェクトは、コンピュータプログラムにより定義されており、コンピューティングシステムにより実行される。入力デバイスの移動はビデオキャプチャ装置により識別される。また、ディスプレイに表示されたオブジェクトの移動は、入力デバイスのギアリングコントロールにより設定された、設定されたギアリング値を有する。この実施形態では、入力デバイスと対応づけられたギアリングを一般のアプリケーションに適用してもよく、ゲームに対して適用することが必須であるわけではない。   In yet another embodiment, a system is provided that allows dynamic user interactivity between user actions and actions performed by objects of a computer program. The system includes a computing system, a video capture device coupled to the computing system, and a display that receives input from the computing system. In addition, the system includes an input device that interfaces with a computer program executed by the computing system. The input device has a gearing control that defines a ratio between the associated input device and the movement of the controlled object. An object is defined by a computer program and executed by a computing system. The movement of the input device is identified by the video capture device. Further, the movement of the object displayed on the display has a set gearing value set by the gearing control of the input device. In this embodiment, the gearing associated with the input device may be applied to a general application, and is not necessarily applied to a game.
さらに別の実施形態では、ユーザのアクションと、コンピュータプログラムのオブジェクトにより実施されるアクション間に動的なユーザインタラクティビティを可能にする装置が提供されている。この装置には、コンピューティングシステムにより実行されるコンピュータプログラムとインターフェースする入力デバイスを含む。入力デバイスは、制御されるオブジェクトの移動に対応づけられた入力デバイスの移動間の比率を定めるギアリングコントロールを有する。オブジェクトはコンピュータプログラムにより定義されており、コンピューティングシステムにより実行され、入力デバイスの移動は、ビデオキャプチャ装置により識別され、オブジェクトの移動は、入力デバイスのギアリングコントロールによって設定された、設定されたギアリング値を有するものとしてディスプレイに表示される。   In yet another embodiment, an apparatus is provided that enables dynamic user interactivity between a user action and an action performed by a computer program object. The apparatus includes an input device that interfaces with a computer program executed by the computing system. The input device has a gearing control that defines a ratio between the movement of the input device associated with the movement of the controlled object. The object is defined by a computer program, executed by the computing system, the movement of the input device is identified by the video capture device, and the movement of the object is set by the gearing control of the input device. It is displayed on the display as having a ring value.
別の実施形態では、コンピュータプログラムのフィーチャにギアリングをかけることができ、入力デバイスからの検出は慣性アナライザの処理に基づくものであってもよい。慣性アナライザは、慣性アクティビティに対する入力デバイスを追跡し、その情報をプログラムに伝達する。次に、プログラムは、慣性アナライザからの出力を扱い、出力にギアリング量をかけることができるようにする。ギアリング量は、プログラムがオペレーションを計算する際の程度または比率を決定する。オペレーションは任意の数の形態をとることができ、その一例としては、ノイズ、可変ノイズ、オブジェクトが行う移動、または変数の生成を挙げることができる。   In another embodiment, computer program features can be geared and detection from an input device can be based on inertial analyzer processing. The inertial analyzer tracks input devices for inertial activity and communicates that information to the program. The program then handles the output from the inertial analyzer so that the output can be geared. The amount of gearing determines the degree or ratio at which the program calculates operations. An operation can take any number of forms, examples of which can include noise, variable noise, movement performed by an object, or generation of a variable.
出力が変数であれば、この変数(例えば、乗数など)を使用してプロセスを完了するようにしてもよい。これにより、プロセスはギアリング量を考慮するようになる。ギアリング量は、ユーザが事前に設定しても動的に設定してもよく、または要求に応じて調整することができる。一実施形態では、追跡は音響アナライザによって行うことができる。音響アナライザは入力デバイスから音響信号を受信するように構成され、実行されているコマンドやインタラクションにかけられるギアリング量を伝達することができる。音響アナライザは、コンピュータプログラムのセグメントの形態であってもよく、または、音響信号情報を処理するように設計された回路に特別に形成されたものであってもよい。したがって、音響信号情報は、プログラムによって動的に設定されるか、要求に応じて、(コントローラ上のボタン、音声コマンドなどを選択することによって)入力デバイスを介してユーザにより設定されるギアリングデータを含むことができる。さらに別の実施形態では、ミキサアナライザが提供される。   If the output is a variable, the variable (eg, multiplier, etc.) may be used to complete the process. This allows the process to consider the amount of gearing. The amount of gearing may be preset by the user, set dynamically, or can be adjusted as required. In one embodiment, tracking can be performed by an acoustic analyzer. The acoustic analyzer is configured to receive an acoustic signal from the input device and can convey the amount of gearing that is being applied to the command or interaction being performed. The acoustic analyzer may be in the form of a computer program segment or may be specially formed in a circuit designed to process acoustic signal information. Therefore, the acoustic signal information is set dynamically by the program or gearing data set by the user via the input device (by selecting buttons, voice commands, etc. on the controller) upon request. Can be included. In yet another embodiment, a mixer analyzer is provided.
このミキサアナライザは、ゲームのフィーチャにハイブリッド効果をもたらすように設計される。例えば、ミキサアナライザは、画像アナライザ、音響アナライザ、慣性アナライザなどの組合せからの入力を扱う。
したがって、一実施形態では、このミキサアナライザはいくつかのギアリング変数を受信する。これらの変数は混合ならびに合成されて、プログラムのフィーチャとのハイブリッドな結果、コマンド、あるいはインタラクションをもたらす。同様に、プログラムのフィーチャは視覚オブジェクトならびに非視覚オブジェクト、オペレーションの処理に使用する変数、可聴反応に対する調節などを含むものと広く理解されるべきである。本発明の利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
This mixer analyzer is designed to provide a hybrid effect on game features. For example, a mixer analyzer handles input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like.
Thus, in one embodiment, the mixer analyzer receives several gearing variables. These variables can be mixed and synthesized to produce hybrid results, commands, or interactions with program features. Similarly, program features should be broadly understood to include visual and non-visual objects, variables used to process operations, adjustments to audible responses, and the like. The advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
本発明は添付の図面と併せて以下の詳細な説明を読めば容易に理解できるであろう。図面においては、同じ構造要素には同じ参照符号を付した。以下の説明では、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、これらの詳細な内容の一部または全てを用いなくとも本発明を実施し得ることは当業者にとって自明である。場合によっては、本発明を不必要にわかりにくくしないように、公知のプロセス操作については詳しく記載しない。   The present invention will be readily understood by reading the following detailed description in conjunction with the accompanying drawings, in which: In the drawings, the same reference numerals are assigned to the same structural elements. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without some or all of these details. In some instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
本明細書に記載する技術は、コンピュータプログラムとのインタラクションを行うために、アクティブにギアリング(gearing)がかけられた入力を与えるように使用することができる。ギアリングをかえることは、一般に広い意味では、大きさおよび/あるいは時間において程度を様々に異なるものとすることができる入力であるとして定義できる。ギアリングの程度がコンピューティングシステムに伝達される。ギアリングの程度がコンピューティングシステムにより実施されるプロセスにかけられる。例えるならば、プロセスは、入出力を備えた流体のバケツとイメージすることができる。この流体のバケツは、システム上で実行中のプロセスである。よって、ギアリングは、コンピューティングシステムによって実行される処理の形態を制御する。一例では、ギアリングは、バケツに入っていく流体の滴と考えられる入力量に対して、流体のバケツから出ていく速度を制御することができる。したがって、充てんならびに排水速度は動的であり、この排水速度はギアリングによる影響を受ける。よって、ゲームプログラムなどのプログラムに流れている変化値を調整するように、ギアリングを調整または時間設定することができる。   The techniques described herein can be used to provide actively geared input for interaction with a computer program. Changing gearing can generally be defined as an input that can vary in magnitude and / or time in a broad sense. The degree of gearing is communicated to the computing system. The degree of gearing is subjected to the process performed by the computing system. For example, a process can be imaged as a bucket of fluid with input and output. This fluid bucket is a process running on the system. Thus, gearing controls the form of processing performed by the computing system. In one example, the gearing can control the rate of exiting the fluid bucket for an input quantity that can be thought of as a drop of fluid entering the bucket. Thus, the filling and drainage rate is dynamic and this drainage rate is affected by gearing. Therefore, the gearing can be adjusted or timed so as to adjust the change value flowing in the program such as the game program.
さらに、ギアリングは、移動データカウンタなどのカウンタに影響を及ぼし、プロセッサによるアクション、つまりは、ゲーム素子、オブジェクト、プレーヤ、キャラクタなどが行うアクションを制御する。この例をより具体的な計算例にしてみると、流体が出ていく速度は、コンピュータプログラムのフィーチャによって、いくらかの入力とギアリングに応じて制御がなされる速度、または制御が行われる速度である。このコンピュータプログラムのフィーチャは、オブジェクト、プロセス、変数、あるいは所定の/カスタムアルゴリズム、キャラクタ、ゲームプレーヤ、マウス(二次元もしくは三次元)などであってもよい。ギアリングによって変更され得た処理結果は、任意の数の方法でオブザーバに伝達することができる。   In addition, gearing affects counters such as movement data counters and controls actions by the processor, i.e. actions performed by game elements, objects, players, characters, and the like. Taking this example as a more specific calculation example, the speed at which the fluid exits is the speed at which the control is performed in response to some input and gearing, depending on the features of the computer program. is there. The computer program features may be objects, processes, variables, or predetermined / custom algorithms, characters, game players, mice (two-dimensional or three-dimensional), and the like. The processing result that can be changed by gearing can be transmitted to the observer in any number of ways.
このような方法としては、ディスプレイ画面上で視覚的に伝達する方法、音声を介して可聴的に伝達する方法、手触りによる振動音響によって伝達する方法、これらの組合せによって伝達する方法、または、単にゲームやプログラムのインタラクティブエレメントに対する処理の反応を修正することで伝達する方法が挙げられる。入力は、(1)画像分析(2)慣性分析(3)音響分析あるいは、(1)(2)(3)のハイブリッドミックス分析を介して実行される追跡により取得することができる。画像分析ならびに適用されるギアリングに関しては様々な例が挙げられているが、追跡はビデオによる方法に限らず、様々な方法によって、具体的には、慣性分析、音響分析、これらをミックスしたものにより、および適切なアナライザによって行うことができることを理解されたい。   Such methods include a method of visually transmitting on a display screen, a method of transmitting audibly via sound, a method of transmitting by vibrate sound by touch, a method of transmitting by a combination of these, or simply a game And the method of communicating by modifying the reaction of the process to interactive elements of the program. Input can be obtained by tracking performed through (1) image analysis, (2) inertial analysis, (3) acoustic analysis, or hybrid mix analysis of (1), (2), and (3). Various examples have been given for image analysis and applied gearing, but tracking is not limited to video methods, and various methods, specifically inertial analysis, acoustic analysis, and a mix of these. And that it can be done by a suitable analyzer.
各種実施形態においては、ビデオカメラ(例えば、画像分析)を有するコンピュータあるいはゲームシステムは、画像データを処理し、焦点ゾーンあるいは所定の場所(ビデオカメラの前であってもよい)で行われている様々なアクションを識別する。一般的に、そのようなアクションとして、三次元空間でのオブジェクトの移動や回転、または、ボタン、ダイアル、ジョイスティックなどの様々なコントロールのアクチュエーションを挙げることができる。これらの技術に加えて、本発明の技術はさらに、本明細書ではギアリングと呼ばれるスケーリング因子を調整するさらなる機能を与え、ディスプレイ画面の1つ以上の対応するアクションやプログラムのフィーチャに対する入力に対して感度を調整するようにする。例えば、ディスプレイ画面のアクションは、ビデオゲームの焦点となり得るオブジェクトであってもよい。さらに、オブジェクトは、変数、乗数、または計算などのプログラムのフィーチャとすることもでき、音声、振動、ディスプレイ画面の画像、またはこれらとの組合せで表現され、さらに、ギアリングがかけられた出力の他の表現と組合せて表現される。   In various embodiments, a computer or game system having a video camera (eg, image analysis) processes the image data and is performed in a focal zone or a predetermined location (which may be in front of the video camera). Identify various actions. In general, such actions can include moving or rotating an object in a three-dimensional space, or actuating various controls such as buttons, dials, and joysticks. In addition to these techniques, the technique of the present invention further provides additional functionality to adjust a scaling factor, referred to herein as gearing, for input to one or more corresponding actions or program features of the display screen. Adjust the sensitivity. For example, the action on the display screen may be an object that can be the focus of a video game. In addition, an object can be a program feature, such as a variable, multiplier, or calculation, represented as audio, vibration, an image on a display screen, or a combination of these, and the output of a geared output. Expressed in combination with other expressions.
別の実施形態では、コンピュータプログラムのフィーチャにギアリングをかけることができ、入力デバイスの検出は慣性アナライザによる処理に基づくものであってもよい。慣性アナライザは、慣性アクティビティに対する入力デバイスを追跡し、その情報をプログラムに伝達する。
次に、プログラムは、慣性アナライザからの出力を扱い、出力にギアリング量をかけることができるようにする。ギアリング量は、プログラムがオペレーションを計算する際の程度または比率を決定する。オペレーションは任意の数の形態をとることができ、オペレーションの一例としては、ノイズ、可変ノイズ、オブジェクトの移動、または変数の生成、視覚および/あるいは可聴結果を出力するプログラムによる計算、を挙げることができる。出力が変数であれば、この変数を使用してプロセスを完了するようにしてもよい。これにより、プロセスはギアリング量を考慮するようになる。ギアリング量は、ユーザが事前に設定しても動的に設定してもよく、または要求に応じて調整することができる。
In another embodiment, computer program features can be geared and input device detection may be based on processing by an inertial analyzer. The inertial analyzer tracks input devices for inertial activity and communicates that information to the program.
The program then handles the output from the inertial analyzer so that the output can be geared. The amount of gearing determines the degree or ratio at which the program calculates operations. An operation can take any number of forms, examples of which include noise, variable noise, object movement, or variable generation, calculation by a program that outputs visual and / or audible results. it can. If the output is a variable, this variable may be used to complete the process. This allows the process to consider the amount of gearing. The amount of gearing may be set in advance by the user, dynamically set, or can be adjusted as required.
様々なタイプの慣性センサを使用して、6つの自由度(例えば、X、YおよびZ軸方向の変換(例えば、加速度)およびX、YおよびZ軸を中心とした回転)についての情報を提供することができる。6自由度についての情報を提供する適切な慣性センサーの例としては、加速度計、1つ以上の1軸加速度計、機械的ジャイロスコープ、リングレーザジャイロスコープ、あるいはこれらの2つ以上の組合せを挙げることができる。   Uses various types of inertial sensors to provide information about six degrees of freedom (eg, transformations in the X, Y, and Z directions (eg, acceleration) and rotation about the X, Y, and Z axes) can do. Examples of suitable inertial sensors that provide information about six degrees of freedom include accelerometers, one or more single axis accelerometers, mechanical gyroscopes, ring laser gyroscopes, or combinations of two or more thereof. be able to.
センサーからの信号が分析されて、発明の方法に従うビデオゲームのプレイ中に、コントローラの動きおよび/あるいは方向が決定される。そのような方法は、プロセッサ読み取り可能媒体に記憶され、デジタルプロセッサ上で実行されるプログラムコード命令を実行可能な一連のプロセッサとして実装されてもよい。例えば、ビデオゲームシステムは1つ以上のプロセッサを備えることができる。各プロセッサは、例えばビデオゲームコンソールやカスタム設計のマルチプロセッサコアに通常使用されるマイクロプロセッサのような、デジタルプロセッサ装置であってもよい。一実施形態では、プロセッサは、プロセッサ読み取り可能命令の実行を通じて、慣性アナライザを実装してもよい。命令の一部はメモリに記憶されてもよい。   Signals from the sensors are analyzed to determine controller movement and / or direction during video game play in accordance with the inventive method. Such a method may be implemented as a series of processors capable of executing program code instructions stored on a processor readable medium and executed on a digital processor. For example, a video game system can include one or more processors. Each processor may be a digital processor device, such as a microprocessor typically used in video game consoles or custom designed multiprocessor cores. In one embodiment, the processor may implement an inertial analyzer through execution of processor readable instructions. Some of the instructions may be stored in memory.
他の形態では、慣性アナライザは、例えば特定用途向け集積回路(ASIC)として、またはデジタルシグナルプロセッサ(DSP)としてハードウェアに実装されてもよい。そのようなアナライザハードウェアは、コントローラまたはコンソール上に設けられるか、または遠隔の場所に設けられてもよい。ハードウェアでの実装では、アナライザは、例えばプロセッサからの外部信号、または、例えばUSBケーブル、イーサネットにより、ネットワーク、インターネット、短距離無線接続、広帯域無線、ブルートゥース、またはローカルネットワークを介して接続される他の遠隔にあるソースからの外部信号に応じて、プログラム可能であってもよい。   In other forms, the inertial analyzer may be implemented in hardware, for example, as an application specific integrated circuit (ASIC) or as a digital signal processor (DSP). Such analyzer hardware may be provided on the controller or console, or may be provided at a remote location. In a hardware implementation, the analyzer can be connected via an external signal, eg from a processor, or via a network, the Internet, a short-range radio connection, a broadband radio, Bluetooth, or a local network, eg via USB cable, Ethernet May be programmable in response to external signals from remote sources.
慣性アナライザは、慣性センサにより生成される信号を分析する命令を備えるか実装し、コントローラの位置および/または方向に関する情報を利用してもよい。慣性センサ信号が分析されて、コントローラの位置および/または方向に関する情報を決定してもよい。この位置および/あるいは方向情報は、ビデオゲームのプレイ中にシステムとともに利用されてもよい。   The inertial analyzer may comprise or implement instructions to analyze the signal generated by the inertial sensor and utilize information regarding the position and / or orientation of the controller. The inertial sensor signal may be analyzed to determine information regarding the position and / or orientation of the controller. This position and / or orientation information may be utilized with the system during video game play.
一実施形態では、ゲームコントローラは、慣性信号を介して位置情報および/または方向情報をプロセッサに提供できる1つ以上の慣性センサを備えてもよい。方向情報には、コントローラの傾き、ロールあるいはヨーなどの角度情報が含まれてもよい。上述のように、また、一例として、慣性センサには、任意の数の加速度計、ジャイロスコープまたは傾斜センサ、またはこれらの任意の組合せが含まれていてもよい。一実施形態では、慣性センサには、傾斜およびロール軸に対するジョイスティックコントローラの方向を検知するように構成された傾斜センサと、ヨー軸沿いの加速度を検知するように構成された第1の加速度計、およびヨー軸に対する角加速度を検知するように構成された第2の加速度計を備える。加速度計は、例えば、1つ以上のばねで取り付けられた質量と1つ以上の方向に対する質量の変位を検知するセンサとを備えるMEMS装置として実装されてもよい。質量の変位に依存するセンサからの信号は、ジョイスティックコントローラの加速度決定に用いられてもよい。そのような技術は、メモリに記憶されプロセッサによって実行されるゲームプログラムや一般のプログラムからの命令によって実現される。   In one embodiment, the game controller may include one or more inertial sensors that can provide position and / or direction information to the processor via inertial signals. The direction information may include angle information such as controller tilt, roll or yaw. As described above, and by way of example, the inertial sensor may include any number of accelerometers, gyroscopes or tilt sensors, or any combination thereof. In one embodiment, the inertial sensor includes a tilt sensor configured to detect the direction of the joystick controller relative to the tilt and roll axis, and a first accelerometer configured to detect acceleration along the yaw axis, And a second accelerometer configured to detect angular acceleration relative to the yaw axis. The accelerometer may be implemented, for example, as a MEMS device that includes a mass attached by one or more springs and a sensor that detects the displacement of the mass in one or more directions. A signal from the sensor that depends on the displacement of the mass may be used to determine the acceleration of the joystick controller. Such a technique is realized by a game program stored in a memory and executed by a processor or an instruction from a general program.
一例では、慣性センサーとして適切な加速度計は、例えばばねなどでフレームに3〜4点で伸縮自在に接続された単一の質量であってもよい。ピッチ軸とロール軸は、ジョイスティックコントローラに設けられたフレームと交差する面に存在する。フレーム(およびジョイスティックコントローラ)がピッチ軸、ロール軸の回りを回転するにつれて、質量が重力の影響下で変位し、ばねがピッチ角および/あるいはロール角に依存した態様で伸縮する。質量の変位が検知され、ピッチ量および/あるいはロール量に依存した信号に変換される。ヨー軸回りの角加速度またはヨー軸沿いの線形加速度は、ばねの伸縮または質量の動きの特徴的なパターンを生成し、それらのパターンは検知されて角加速度量または線形加速度の量に応じた信号に変換される。このような加速度装置は、質量の動きおよびばねの伸縮力を追跡することによって傾斜、ヨー軸回りのロール角加速度とおよびヨー軸沿いの線形加速度を計測できる。質量の位置および/あるいはそれに働く力を追跡する方法には多くの違った方法があり、それらには、抵抗ひずみゲージ材料、光センサ、磁気センサ、ホール効果素子、圧電素子、容量センサなどが含まれる。   In one example, an accelerometer suitable as an inertial sensor may be a single mass that is telescopically connected to the frame at 3 to 4 points, such as with a spring. The pitch axis and the roll axis exist on a plane that intersects the frame provided in the joystick controller. As the frame (and joystick controller) rotates about the pitch and roll axes, the mass is displaced under the influence of gravity and the springs expand and contract in a manner that depends on the pitch and / or roll angle. The displacement of the mass is detected and converted into a signal depending on the pitch amount and / or the roll amount. Angular acceleration around the yaw axis or linear acceleration along the yaw axis generates characteristic patterns of spring expansion and contraction or mass movement, which are detected and signaled according to the amount of angular acceleration or linear acceleration. Is converted to Such an acceleration device can measure tilt, roll angular acceleration about the yaw axis, and linear acceleration along the yaw axis by tracking the movement of the mass and the stretching force of the spring. There are many different ways to track the position of the mass and / or the forces acting on it, including resistive strain gauge materials, optical sensors, magnetic sensors, Hall effect elements, piezoelectric elements, capacitive sensors, etc. It is.
さらに、光源は、例えば、パルスコード、振幅変調または周波数変調フォーマットでテレメトリ信号をプロセッサに提供してもよい。そのようなテレメトリ信号は、いずれのジョイスティックボタンが押されているか、および/またはどれ位強くボタンが押されているかを表してもよい。テレメトリ信号は、例えばパルス符号化、パルス幅変調、周波数変調または光強度(振幅)変調などによって、光信号に符号化されてもよい。プロセッサは、光信号からテレメトリ信号を復号化し、復号化されたテレメトリ信号に応じてゲームコマンドを実行してもよい。テレメトリ信号は、画像キャプチャ装置で得られたジョイスティックの画像の分析から復号化されてもよい。他の形態では、装置は、光源からのテレメトリ信号受信専用の、独立した光学センサを備えることができる。   Further, the light source may provide a telemetry signal to the processor, for example, in a pulse code, amplitude modulation or frequency modulation format. Such a telemetry signal may represent which joystick button is pressed and / or how hard the button is pressed. The telemetry signal may be encoded into an optical signal by, for example, pulse encoding, pulse width modulation, frequency modulation, or light intensity (amplitude) modulation. The processor may decode the telemetry signal from the optical signal and execute a game command in accordance with the decoded telemetry signal. The telemetry signal may be decoded from analysis of a joystick image obtained with an image capture device. In other forms, the apparatus may comprise an independent optical sensor dedicated to receiving telemetry signals from the light source.
プロセッサは、画像キャプチャ装置で検出された光源からの光信号、および/あるいは、マイクロホン配列によって検出された音響信号からの音源場所と音源特性情報とともに、慣性センサからの慣性信号を用いて、コントローラおよび/あるいはそのユーザの場所および/あるいは方向に関する情報を推測してもよい。例えば、「音響レーダ」の音源場所およびその特性は、マイクロフォン配列と共に用いられて、ジョイスティックコントローラの動きが(慣性センサおよび/または光源を通じて)独立に追跡されている間、移動音源を追跡する。音響レーダでは、較正済み聴取領域が実行時間において選択され、較正済み聴取領域以外の音源から生じる音声が除去される。較正済み聴取領域は、画像キャプチャ装置の焦点または視野にある音量に対応した聴取領域を含んでいてもよい。   The processor uses the inertial signal from the inertial sensor together with the light signal from the light source detected by the image capture device and / or the sound source location and sound source characteristic information from the acoustic signal detected by the microphone array, Information on the location and / or direction of the user may be inferred. For example, the source location of an “acoustic radar” and its characteristics can be used with a microphone array to track a moving sound source while the movement of the joystick controller is tracked independently (through inertial sensors and / or light sources). In acoustic radar, a calibrated listening area is selected at run time, and sound originating from sound sources other than the calibrated listening area is removed. The calibrated listening area may include a listening area corresponding to the volume at the focus or field of view of the image capture device.
一実施形態では、音響アナライザによって追跡を行ってもよい。音響アナライザは入力デバイスからの音響信号を受信するように構成され、実行されるコマンドやインタラクションにかけられるギアリング量を伝達することができる。音響アナライザは、コンピュータプログラムセグメントの形態であってもよく、または、音響信号情報を処理するように設計された回路上に特別に形成されたものであってもよい。したがって、音響信号情報は、プログラムによって動的に設定されるか、要求に応じて、(コントローラ上のボタン、音声コマンドなどを選択することによって)入力デバイスを介してユーザにより設定されるギアリングデータを含むことができる。例えば、音声アナライザは、その開示内容が参照により本明細書に援用される、2006年5月4日に出願された米国特許出願"SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING"(発明者:Xiadong Mao, Richard L. Marks and Gary, M. Zalewski、代理人整理番号:SCEA04005JUMBOUS)に記載されている。これらアナライザはマッピングチェーンを用いて構成することができる。マッピングチェーンは、アナライザやミキサに対する設定ができるように、ゲームプレイ中にゲームによって交換することができる。   In one embodiment, tracking may be performed by an acoustic analyzer. The acoustic analyzer is configured to receive an acoustic signal from an input device, and can transmit a command to be executed and a gearing amount applied to an interaction. The acoustic analyzer may be in the form of a computer program segment or may be specially formed on a circuit designed to process acoustic signal information. Therefore, the acoustic signal information is set dynamically by the program or gearing data set by the user via the input device (by selecting buttons, voice commands, etc. on the controller) upon request. Can be included. For example, a speech analyzer is a US patent application “SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING” filed May 4, 2006, the disclosure of which is incorporated herein by reference (inventor: Xiadong Mao, Richard L. Marks and Gary, M. Zalewski, agent reference number: SCEA04005JUMBOUS). These analyzers can be configured using a mapping chain. The mapping chain can be exchanged by the game during game play so that settings for the analyzer and mixer can be made.
一実施形態では、入力デバイスの追跡は画像アナライザによるものであってもよい。以下に説明しているように、画像アナライザは、ユーザならびに入力デバイスが位置する空間の画像をキャプチャするカメラを備え得る。この例では、画像アナライザは、処理プログラムのフィーチャにそれぞれのアクションを行わせるように、コントローラの位置を決定している。プログラムはゲームであり、フィーチャは入力デバイスによって制御されているオブジェクトであってもよい。さらに、画像アナライザは、位置データを入力ギアリング値とミックスするように構成される。ギアリング値は、ユーザにより、実行中に動的に与えられてもよく、または、実行セッションのアクティビティに応じてプログラムにより設定されてもよい。ギアリング入力は、ユーザによる入力ジェスチャやアクションに基づいて、コンピュータプログラムによる幾分かの処理に相対的インパクトを設定する。一実施形態では、ギアリングは、ユーザやユーザ入力デバイスからのコマンドやアクションをプログラムのフィーチャに変換する。プログラムのフィーチャは可視オブジェクトでなくてもよいが、音声、振動または画像の移動のいずれかのパラメータ、予測、あるいは変換を幾分か計算するように使用される変数の調整を含むことができる。 したがって、ギアリングは、プログラムとプログラムのフィーチャ間に与えられるインタラクティビティを制御するための更なる意味を付加することになる。   In one embodiment, the tracking of the input device may be by an image analyzer. As described below, the image analyzer may comprise a camera that captures an image of the space in which the user as well as the input device is located. In this example, the image analyzer determines the position of the controller so that the processing program features perform their respective actions. The program may be a game and the feature may be an object that is controlled by an input device. Further, the image analyzer is configured to mix the position data with the input gearing value. The gearing value may be provided dynamically by the user during execution or may be set by the program depending on the activity of the execution session. The gearing input sets a relative impact on some processing by the computer program based on input gestures and actions by the user. In one embodiment, gearing translates commands and actions from users and user input devices into program features. Program features may not be visible objects, but may include adjustment of variables used to calculate some parameters, predictions, or transformations of either speech, vibration or image movement. Thus, gearing adds an additional meaning for controlling the interactivity provided between programs and program features.
さらに別の実施形態では、ミキサアナライザが提供される。このミキサアナライザはゲームのフィーチャにハイブリッド効果をもたらすように設計される。例えば、ミキサアナライザは、画像アナライザ、音響アナライザ、慣性アナライザなどの組合せからの入力を扱う。したがって、一実施形態では、このミキサアナライザは、いくつかのギアリング変数を受信する。次に、これらの変数は混合ならびに合成されて、プログラムのフィーチャとのハイブリッドな結果、コマンド、あるいはインタラクションをもたらす。同様に、プログラムのフィーチャは視覚オブジェクトならびに非視覚オブジェクト、オペレーションの処理に使用する変数、可聴反応に対する調節などを含むものと広く理解されるべきである。   In yet another embodiment, a mixer analyzer is provided. This mixer analyzer is designed to provide a hybrid effect on game features. For example, a mixer analyzer handles input from a combination of an image analyzer, an acoustic analyzer, an inertial analyzer, and the like. Thus, in one embodiment, the mixer analyzer receives a number of gearing variables. These variables are then mixed and synthesized to provide a hybrid result, command, or interaction with the program's features. Similarly, program features should be broadly understood to include visual and non-visual objects, variables used to process operations, adjustments to audible responses, and the like.
図1は、本発明の一実施形態によるインタラクティブ(対話型)ゲーム構成100を示す。インタラクティブゲーム構成100は、コンピュータ102(本明細書では「コンソール」とも呼ぶ)を有し、これは、ディスプレイ画面110と接続されうる。ディスプレイ画面110の上には画像キャプチャ装置105が置かれ、コンピュータ102と接続されうる。コンピュータ102は、一実施形態では、ユーザが、コントローラ108によってゲームをプレイしたり、ビデオゲームとインタフェースすることができるゲームシステムのコンソールであってもよい。コンピュータ102は、インタラクティブなオンラインゲームをすることができるように、インターネットにも接続されうる。画像キャプチャ装置105は、ディスプレイ画面110の上に置かれて示されているが、画像キャプチャ装置105が、ディスプレイ画面110のほぼ前方にある画像をキャプチャできれば、ほかの近くの位置に置かれていてもよいことが理解されよう。これらの移動およびインタラクションをキャプチャするための技術は変更し得るが、例示的な技術は、それぞれ2003年2月21日に出願された英国特許出願公開第0304024.3号明細書(国際公開第GB2004/000693号パンフレット)および英国特許出願公開第0304022.7明細書(国際公開第GB2004/000703号パンフレット)号に記載されており、これらの各々は参照によりここに援用される。   FIG. 1 illustrates an interactive game configuration 100 according to one embodiment of the present invention. The interactive game configuration 100 includes a computer 102 (also referred to herein as a “console”) that can be connected to a display screen 110. An image capture device 105 is placed on the display screen 110 and can be connected to the computer 102. The computer 102 may in one embodiment be a gaming system console that allows a user to play games with the controller 108 and interface with video games. The computer 102 can also be connected to the Internet so that it can play interactive online games. The image capture device 105 is shown placed on the display screen 110, but if the image capture device 105 can capture an image that is approximately in front of the display screen 110, it is placed in another nearby location. It will be appreciated that While the techniques for capturing these movements and interactions may vary, exemplary techniques are described in UK Patent Application Publication No. 0304024.3 (WO 20042004) filed on February 21, 2003, respectively. / 000693 pamphlet) and British Patent Application Publication No. 0304022.7 (International Publication GB 2004/000703), each of which is incorporated herein by reference.
一実施形態では、画像キャプチャ装置105は、標準的なウェブカムのように単純なものであっても、あるいは高度な技術を備えたものであってもよい。画像キャプチャ装置105は、画像をキャプチャし、この画像をデジタル化して、画像データをコンピュータ102に送信することができる。一部の実施形態では、デジタル化を実行するための論理回路が、画像キャプチャ装置の内部に組み込まれていてもよく、別の実施形態では、画像キャプチャ装置105が、デジタル化のために、アナログビデオ信号をコンピュータ102に送信してもよい。いずれの場合も、画像キャプチャ装置105は、画像キャプチャ装置105の前方にある任意のオブジェクトの、カラー画像または白黒画像をキャプチャすることができる。   In one embodiment, the image capture device 105 may be as simple as a standard webcam or equipped with advanced technology. The image capture device 105 can capture an image, digitize the image, and send the image data to the computer 102. In some embodiments, logic circuitry for performing digitization may be incorporated within the image capture device, and in other embodiments, the image capture device 105 may be analog for digitization. A video signal may be transmitted to the computer 102. In any case, the image capture device 105 can capture a color image or a black and white image of any object in front of the image capture device 105.
図2は、画像キャプチャおよび処理システムを使用した例示的なコンピュータインタラクション処理を示している。コンピュータ102は、視野202から画像を生成する画像キャプチャ装置105から画像データを受信する。視野202には、おもちゃの飛行機のオブジェクト215を操作するユーザ210が含まれる。オブジェクト215は、画像キャプチャ装置105から視覚的に認識可能な複数のLED212を含む。LED212は、オブジェクト215の位置情報および姿勢情報を提供する。さらに、オブジェクト215は、コンピュータの入力を生成するために、ボタン、トリガ、ダイアルなどの1つ以上の操作素子を含む。さらに、音声コマンドが使用されうる。一実施形態では、オブジェクト215は、画像キャプチャ装置105を介してデータをコンピュータ102に送信するために、LED212を変調する論理を含む回路220を含む。データは、操作手段の変調に応えて生成される符号化されたコマンドを含む。   FIG. 2 illustrates an exemplary computer interaction process using an image capture and processing system. The computer 102 receives image data from an image capture device 105 that generates an image from the field of view 202. The field of view 202 includes a user 210 who operates a toy airplane object 215. The object 215 includes a plurality of LEDs 212 that are visually recognizable from the image capture device 105. The LED 212 provides position information and posture information of the object 215. In addition, the object 215 includes one or more operating elements such as buttons, triggers, dials, etc. to generate computer input. In addition, voice commands can be used. In one embodiment, the object 215 includes circuitry 220 that includes logic that modulates the LED 212 to transmit data to the computer 102 via the image capture device 105. The data includes encoded commands that are generated in response to the modulation of the operating means.
オブジェクト215が画像キャプチャ装置105により、視覚的に認識可能な3次元空間で移動ならびに回転されると、画像データ中に表されるLEDの位置は、以下の図3〜6に関して説明しているように、3次元空間内の座標に変換される。この座標は、α、β、およびγ値に関する姿勢情報に加えて、x、y、およびz座標に関する位置情報を説明したものである。この座標はコンピュータのアプリケーションに送信される。このアプリケーションは、おもちゃの飛行機がディスプレイ110に、現実の、あるいは動画の飛行機215’として表示される飛行機ゲームであってもよく、飛行機215’はおもちゃの飛行機215の変調に応えて様々なスタントを行うことができる。他の形態では、ユーザ210は、おもちゃの飛行機215ではなくコントローラ108(図1に示す)を扱うこともでき、コントローラ108の移動は追跡可能であり、ディスプレイ画面でオブジェクトを移動させるようにコマンドがキャプチャされる。   When the object 215 is moved and rotated by the image capture device 105 in a visually recognizable three-dimensional space, the position of the LED represented in the image data is as described with respect to FIGS. 3-6 below. To the coordinates in the three-dimensional space. These coordinates describe position information regarding x, y, and z coordinates in addition to attitude information regarding α, β, and γ values. This coordinate is sent to the computer application. This application may be a plane game where a toy plane is displayed on the display 110 as a real or animated plane 215 ′, and the plane 215 ′ will perform various stunts in response to the modulation of the toy plane 215. It can be carried out. In another form, the user 210 can handle the controller 108 (shown in FIG. 1) instead of the toy plane 215, and the movement of the controller 108 can be tracked and a command to move the object on the display screen. Captured.
一実施形態では、ユーザ210はさらに、動画の飛行機215’とのインタラクティビティの程度を変更あるいは修正するように選択することができる。インタラクティビティの程度は、ユーザ215が「ギアリング」構成要素を調整できるようにすることで変更することができる。このギアリング構成要素は、ユーザのコントローラ108(あるいは、おもちゃの飛行機215)による移動が動画の飛行機215’による移動に対応づけられる量を調整するものである。ゲームに対して動的に設定もしくは事前に設定され、あるいは、ユーザ210によるゲームのプレイ中に調整されるギアリングに応じて、動画の飛行機215’(例えば、ビデオゲームオブジェクト)に対応づけられる反応が変化し、別のレベルのユーザインタラクティビティと強化した体験とを与えることができる。ギアリングに関する詳細は、以下に図7〜20に関連して説明する。   In one embodiment, the user 210 may further select to change or modify the degree of interactivity with the animated airplane 215 '. The degree of interactivity can be changed by allowing the user 215 to adjust the “gearing” component. This gearing component adjusts the amount by which movement by the user's controller 108 (or toy airplane 215) is associated with movement by the animated airplane 215 '. Reactions associated with animated airplanes 215 '(eg, video game objects) in response to gearing that is dynamically set or pre-set for the game or adjusted during game play by the user 210 Can change to give another level of user interactivity and an enhanced experience. Details regarding gearing are described below in connection with FIGS.
図3は、本発明の実施形態を実装するために使用できる、グラフィックディスプレイ上のオブジェクトとのインタラクト処理を行うための例示的なユーザ入力システムのブロック図である。図3に示すように、ユーザ入力システムは、ビデオキャプチャ装置300、入力画像プロセッサ302、出力画像プロセッサ304、およびビデオ表示装置306から構成される。ビデオキャプチャ装置300は、ビデオ画像のシーケンスをキャプチャすることができる装置であればどのようなものでもよく、一実施形態では、デジタルビデオカメラ(ウェブカメラなど)や同様の画像キャプチャ装置などである。   FIG. 3 is a block diagram of an exemplary user input system for interacting with objects on a graphic display that can be used to implement embodiments of the present invention. As shown in FIG. 3, the user input system includes a video capture device 300, an input image processor 302, an output image processor 304, and a video display device 306. Video capture device 300 may be any device capable of capturing a sequence of video images, and in one embodiment is a digital video camera (such as a webcam) or similar image capture device.
ビデオキャプチャ装置300は、深度画像を提供するように構成されうる。本明細書では、「深度カメラ」および「三次元カメラ」との文言は、二次元のピクセル情報のほか、距離情報すなわち深度情報を取得することができる任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して、距離情報を取得することができる。他の例示的な深度カメラに、立体カメラ対があり、これは2台の基準カメラを使用して距離情報を三角測量によって求める。同様に、「深度検知装置」との文言は、二次元のピクセル情報のほかに、距離情報を取得することができる任意のタイプの装置を指す。   Video capture device 300 may be configured to provide a depth image. In this specification, the terms “depth camera” and “three-dimensional camera” refer to any camera that can acquire distance information, that is, depth information, in addition to two-dimensional pixel information. For example, the depth camera can acquire distance information using controlled infrared illumination. Another exemplary depth camera is a stereo camera pair, which uses two reference cameras to determine distance information by triangulation. Similarly, the term “depth sensing device” refers to any type of device capable of obtaining distance information in addition to two-dimensional pixel information.
このため、カメラ300は、通常の二次元のビデオ像に加えて、3番目の次元をキャプチャおよびマップする能力を提供することができる。通常のカメラと同様に、深度カメラは、ビデオ画像を構成している複数のピクセルの二次元のデータをキャプチャする。これらの値は、ピクセルの色の値であり、通常は、各ピクセルの赤、緑、青(RGB)の値である。このようにして、カメラによってキャプチャされたオブジェクトが、モニタに二次元オブジェクトとして表示される。しかし、従来のカメラとは異なり、深度カメラは、シーンの深度値を表すシーンのz成分もキャプチャする。通常、深度値はz軸に割り当てられるため、深度値は、「z値」と呼ばれることも多い。   Thus, the camera 300 can provide the ability to capture and map the third dimension in addition to the normal two-dimensional video image. Similar to a normal camera, a depth camera captures two-dimensional data of a plurality of pixels that make up a video image. These values are pixel color values and are typically the red, green, and blue (RGB) values of each pixel. In this way, the object captured by the camera is displayed on the monitor as a two-dimensional object. However, unlike conventional cameras, depth cameras also capture the z component of the scene, which represents the depth value of the scene. Since the depth value is normally assigned to the z-axis, the depth value is often referred to as the “z value”.
オペレーションにおいては、シーンの各ピクセルについてz値がキャプチャされる。各z値は、カメラから、シーン内の関連するピクセルに対応するオブジェクトまでの距離を表している。また、最大検出範囲が、深度値が検出されなくなる境界を定義しうる。本発明の各種実施形態では、この最大範囲の面を使用して、ユーザ定義のオブジェクトのトラッキングを提供することができる。このため、深度カメラを使用することで、それぞれのオブジェクトを三次元でトラッキングすることができる。この結果、本発明の実施形態のコンピュータシステムは、二次元のピクセルデータと合わせてz値を利用して、強化された三次元のインタラクティブ環境をユーザのために作成することができる。深度分析の詳細については、2003年5月29日出願の米国特許出願第10/448,614号明細書「リアルタイムの三次元インタラクティブ環境を提供するためのシステムおよび方法(System and Method for Providing a Real-time three dimensional interactive environment)」を参照されたい。同文献を参照によりここに援用する。   In operation, a z value is captured for each pixel in the scene. Each z value represents the distance from the camera to the object corresponding to the associated pixel in the scene. In addition, the maximum detection range may define a boundary where the depth value is not detected. In various embodiments of the present invention, this maximum range of surfaces can be used to provide user-defined object tracking. For this reason, each object can be tracked in three dimensions by using a depth camera. As a result, the computer system of the embodiment of the present invention can create an enhanced three-dimensional interactive environment for the user using the z-value together with the two-dimensional pixel data. For details of depth analysis, see US patent application Ser. No. 10 / 448,614 filed May 29, 2003, “System and Method for Providing a Real”. -time three dimensional interactive environment) ”. This document is incorporated herein by reference.
深度カメラは、一実施形態に従って使用され得るが、三次元空間におけるオブジェクトの位置ならびに座標の場所を識別するために必要とされるものと解釈されてはならない。例えば、図2に描いたシナリオでは、オブジェクト215とカメラ105間の距離は、最左LED212と最右LED212の距離を測定することにより、推測することができる。画像キャプチャ装置105によって生成される画像において、LED212それぞれの距離が近いほど、オブジェクト215はカメラ105から離れている。したがって、一般のデジタルカメラによって生成される二次元画像から、z軸座標をかなり正確に推測することができる。   A depth camera may be used according to one embodiment, but should not be construed as needed to identify the position of an object as well as the location of coordinates in three-dimensional space. For example, in the scenario depicted in FIG. 2, the distance between the object 215 and the camera 105 can be estimated by measuring the distance between the leftmost LED 212 and the rightmost LED 212. In the image generated by the image capture device 105, the closer the distance between the LEDs 212 is, the farther the object 215 is from the camera 105. Therefore, the z-axis coordinate can be estimated fairly accurately from a two-dimensional image generated by a general digital camera.
図3に戻ると、入力画像プロセッサ302は、キャプチャされた制御オブジェクトのビデオ画像(深度画像など)を信号に変換し、この信号が出力画像プロセッサに送られる。一実施形態では、入力画像プロセッサ302は、キャプチャされたビデオ画像の背景から、深度情報によって制御オブジェクトを分離し、制御オブジェクトの位置および/または移動に応じた出力信号を発生させるようにプログラムされる。出力画像プロセッサ304は、入力画像プロセッサ302から受け取った信号に応じて、ビデオ表示装置306に表示したオブジェクトの並進移動および/または回転移動を変更するようにプログラムされうる。本発明のこれらの態様やその他の態様は、ソフトウェア命令を実行する1つ以上のプロセッサによって実装され得る。本発明の一実施形態によれば、1つのプロセッサが入力画像処理と出力画像処理の両方を実行する。しかし、図に示すように、説明を容易にするために、オペレーション処理が、入力画像プロセッサ302と出力画像プロセッサ304に分けられるものとして説明する。本発明が、特定のプロセッサの構成(複数プロセッサなど)に限定されると解釈すべきではないことを留意すべきである。図3の複数の処理ブロックは、説明の便宜上、示したに過ぎない。   Returning to FIG. 3, the input image processor 302 converts the captured video image of the control object (such as a depth image) into a signal that is sent to the output image processor. In one embodiment, the input image processor 302 is programmed to separate the control object with depth information from the background of the captured video image and generate an output signal that depends on the position and / or movement of the control object. . The output image processor 304 can be programmed to change the translational and / or rotational movement of objects displayed on the video display device 306 in response to signals received from the input image processor 302. These and other aspects of the invention may be implemented by one or more processors that execute software instructions. According to one embodiment of the present invention, one processor performs both input image processing and output image processing. However, as shown in the figure, for ease of explanation, the operation processing is described as being divided into an input image processor 302 and an output image processor 304. It should be noted that the present invention should not be construed as limited to a particular processor configuration (such as multiple processors). The plurality of processing blocks in FIG. 3 are only shown for convenience of explanation.
図4は、本明細書に記載した本発明の各種実施形態を実装するように構成されたコンピュータ処理システムの簡略ブロック図である。この処理システムは、メインメモリ420とグラフィック処理ユニット(GPU)426に結合された中央処理装置(CPU)424を備えた、コンピュータベースのエンターテイメントシステムの実施形態であってもよい。CPU424は、入出力プロセッサ(Input/Output Processor:IOP)バス428にも結合される。一実施形態では、GPU426は、ピクセルベースのグラフィックデータを高速に処理するために内部バッファを備える。更に、GPU426は、エンターテイメントシステムまたはその構成要素の外部に接続された表示装置427に送信するために、画像データを処理して、例えばNTSCやPALなどの標準のテレビジョン信号に変換する出力処理部またはその機能を備えうる。別の実施形態では、データ出力信号が、コンピュータモニタ、LCD(液晶ディスプレイ)装置やその他のタイプの表示装置などのテレビジョンモニタ以外の表示装置に供給されてもよい。   FIG. 4 is a simplified block diagram of a computer processing system configured to implement the various embodiments of the invention described herein. The processing system may be an embodiment of a computer-based entertainment system that includes a central processing unit (CPU) 424 coupled to a main memory 420 and a graphics processing unit (GPU) 426. CPU 424 is also coupled to an input / output processor (IOP) bus 428. In one embodiment, the GPU 426 includes an internal buffer for high speed processing of pixel based graphics data. Furthermore, the GPU 426 processes the image data and transmits it to a standard television signal such as NTSC or PAL for transmission to the display device 427 connected to the outside of the entertainment system or its components. Alternatively, the function can be provided. In another embodiment, the data output signal may be provided to a display device other than a television monitor, such as a computer monitor, LCD (Liquid Crystal Display) device or other type of display device.
IOPバス428は、CPU424を、各種の入出力装置、または他のバスやデバイスに接続している。IOPバス428は、入出力プロセッサメモリ430、コントローラ432、メモリカード434、ユニバーサルシリアルバス(USB)ポート436、IEEE1394(Firewireインタフェースとも呼ばれる)ポート438、およびバス450に接続される。バス450は、システムの他のいくつかの構成要素をCPU424に接続しており、このような構成要素には、オペレーティングシステム(OS)ROM440、フラッシュメモリ442、音声処理ユニット(SPU)444、光ディスク制御4、ハードディスクドライブ(HDD)448がある。この実施形態の一態様では、ビデオキャプチャ装置は、IOPバス428に直結されていてもよく、これを介してCPU424に送信を行っており、CPU424では、ビデオキャプチャ装置からのデータを使用して、GPU426でグラフィック画像の生成に使用される値が変更または更新される。   The IOP bus 428 connects the CPU 424 to various input / output devices or other buses and devices. IOP bus 428 is connected to input / output processor memory 430, controller 432, memory card 434, universal serial bus (USB) port 436, IEEE 1394 (also called Firewire interface) port 438, and bus 450. The bus 450 connects several other components of the system to the CPU 424, such as operating system (OS) ROM 440, flash memory 442, sound processing unit (SPU) 444, optical disc control. 4 and a hard disk drive (HDD) 448. In one aspect of this embodiment, the video capture device may be directly connected to the IOP bus 428 and transmits to it via the CPU 424, which uses data from the video capture device, The value used by the GPU 426 to generate the graphic image is changed or updated.
更に、本発明の各種実施形態は、画像処理のさまざまな構成および技術を使用することができ、これには、2003年2月11日出願の米国特許出願第10/365,120号明細書「リアルタイムのモーションキャプチャのための方法および装置(METHOD AND APPARATUS FOR REAL TIME MOTION CAPTURE)」に記載されたものなどがある。同文献を参照によりその全体をここに援用する。コンピュータ処理システムは、CELL(登録商標)プロセッサで実行されうる。図5は、本発明の一実施形態に係る代替入力デバイスとして機能する操作用オブジェクトとの併用に適合されたビデオゲームコンソールの各種構成要素の構成を示すブロック図である。例示的なゲームコンソール510は、コンソール510全体を制御するためのマルチプロセッサユニット(MPU)512、プログラムの各種オペレーションおよびデータ保存に使用されうるメインメモリ514、幾何学処理に必要な浮動小数点のベクトル演算を実行するベクトル演算ユニット516、MPU512からの制御に基づいてデータを生成すると共に、ビデオ信号をモニタ110(CRTなど)に出力する画像プロセッサ520、MPU512またはベクトル演算ユニット516と画像プロセッサ520との間の伝送バス上で調停等を実行するグラフィックインタフェース(GIF)522、周辺機器との間でデータを送受信できるようにする入出力ポート524、カーネル等の制御を実行するための、フラッシュメモリ等で構成された内部OSD機能ROM(OSDROM)526、ならびにカレンダ機能およびタイマ機能を備えたリアルタイムクロック528を備える。   Further, various embodiments of the present invention may use various image processing configurations and techniques, including US patent application Ser. No. 10 / 365,120 filed Feb. 11, 2003, “ There are those described in “METHOD AND APPARATUS FOR REAL TIME MOTION CAPTURE”. This document is incorporated herein by reference in its entirety. The computer processing system can be implemented with a CELL® processor. FIG. 5 is a block diagram showing the configuration of various components of a video game console adapted for use with an operation object that functions as an alternative input device according to an embodiment of the present invention. The exemplary game console 510 includes a multiprocessor unit (MPU) 512 for controlling the entire console 510, a main memory 514 that can be used to store various program operations and data, and floating-point vector operations required for geometric processing. Between the image processor 520, the MPU 512 or the vector arithmetic unit 516, which generates data based on the control from the vector arithmetic unit 516 and the MPU 512, and outputs a video signal to the monitor 110 (CRT or the like). A graphic interface (GIF) 522 that performs arbitration on the transmission bus, an input / output port 524 that enables transmission and reception of data to and from peripheral devices, a flash memory that executes control of the kernel, and the like. It has been provided with an internal OSD functional ROM (OSDROM) 526 and real time clock 528 having a calendar function, and timer functions.
メインメモリ514、ベクトル演算ユニット516、GIF522、OSDROM526、リアルタイムクロック(RTC)528および入出力ポート524は、データバス530を介してMPU512に接続されている。バス530には、圧縮済みの動画およびテクスチャ画像を伸張して、これにより画像データを展開するプロセッサである画像処理ユニット538も接続されている。例えば、画像処理ユニット538は、MPEG2またはMPEG4の標準フォーマットに従って、ビットストリームをデコードおよび展開したり、マイクロブロックをデコードしたり、逆離散コサイン変換、色空間変換、ベクトル量子化などを実行する機能を担う。   The main memory 514, vector arithmetic unit 516, GIF 522, OSDROM 526, real time clock (RTC) 528, and input / output port 524 are connected to the MPU 512 via the data bus 530. Also connected to the bus 530 is an image processing unit 538 which is a processor that decompresses compressed moving images and texture images and thereby expands image data. For example, the image processing unit 538 has a function of decoding and expanding a bit stream, decoding a microblock, performing inverse discrete cosine transform, color space transform, vector quantization, etc. according to the MPEG2 or MPEG4 standard format. .
音声システムは、MPU512からの命令に基づいて音楽やその他の音響効果を生成する音声処理ユニット(SPU)571、SPU571が波形データを記録するための音声バッファ573、およびSPU571が生成した音楽やその他の音響効果を出力するスピーカ575で構成されうる。なお、スピーカ575はモニタ110の一部として組み込まれていても、あるいは、外部スピーカ575を取り付けるための別個のオーディオライン出力端子として提供されてもよい。   The audio system includes an audio processing unit (SPU) 571 that generates music and other acoustic effects based on instructions from the MPU 512, an audio buffer 573 for recording waveform data by the SPU 571, and music generated by the SPU 571 and other The speaker 575 may output a sound effect. The speaker 575 may be incorporated as a part of the monitor 110 or may be provided as a separate audio line output terminal for attaching the external speaker 575.
バス530に接続されており、本発明に従ってデジタルデータの入出力を行うと共にデジタルコンテンツを入力する機能を備えたインタフェースである通信インタフェース540も提供される。例えば、オンラインビデオゲームアプリケーションを実現するために、この通信インタフェース540を介して、ネットワーク上のサーバ端末との間でユーザ入力データを送信したり、状態データを受信することができる。コンソール510に対してデータ(キー入力データまたは座標データなど)を入力する入力デバイス532(コントローラとも呼ばれる)と、各種プログラムおよびデータ(すなわちオブジェクトに関するデータ、テクスチャデータなど)を有するCD―ROMなどの光学ディスク569の内容を再生するディスク装置536とが入出力ポート524に接続されている。   There is also provided a communication interface 540 that is connected to the bus 530 and is an interface having functions of inputting / outputting digital data and inputting digital contents according to the present invention. For example, in order to implement an online video game application, user input data can be transmitted to or received from a server terminal on the network via the communication interface 540. An optical device such as a CD-ROM having an input device 532 (also referred to as a controller) for inputting data (key input data or coordinate data) to the console 510 and various programs and data (that is, data relating to objects, texture data, etc.) A disk device 536 for reproducing the contents of the disk 569 is connected to the input / output port 524.
更に、本発明は、デジタルビデオカメラ105を備え、これは入出力ポート524に接続される。入出力ポート524は、シリアルインタフェースやUSBインタフェースなどの1つ以上の入力インタフェースによって実装され得、デジタルビデオカメラ190は、USB入力や、カメラ105との併用に適したその他の任意の従来のインタフェースを有利に利用し得る。   The present invention further includes a digital video camera 105 that is connected to an input / output port 524. The input / output port 524 may be implemented by one or more input interfaces, such as a serial interface or a USB interface, and the digital video camera 190 may have a USB input or any other conventional interface suitable for use with the camera 105. It can be used advantageously.
上記の画像プロセッサ520は、レンダリングエンジン570、インタフェース572、画像メモリ574、およびディスプレイ制御装置576(プログラム可能なCRTコントローラなど)を備える。レンダリングエンジン570は、メモリインタフェース572を介して、かつMPU512から送られるレンダリングコマンドによって、所定の画像データを画像メモリにレンダリングする処理を実行する。レンダリングエンジン570は、NTSC方式またはPAL方式に準拠し、より詳細には、例えば、1/60秒〜1/30秒の間隔で10〜数十回を越えるレートで、320×240ピクセルまたは640×480ピクセルの画像データをリアルタイムに描画できる機能を備える。   The image processor 520 includes a rendering engine 570, an interface 572, an image memory 574, and a display controller 576 (such as a programmable CRT controller). The rendering engine 570 executes processing for rendering predetermined image data in the image memory via a memory interface 572 and a rendering command sent from the MPU 512. The rendering engine 570 conforms to the NTSC system or the PAL system, and more specifically, for example, at a rate exceeding 10 to several tens of times at intervals of 1/60 seconds to 1/30 seconds, 320 × 240 pixels or 640 × A function capable of drawing 480-pixel image data in real time is provided.
メモリインタフェース572とレンダリングエンジン570との間にバス578が接続され、メモリインタフェース572と画像メモリ574との間に第2バス580が接続され得る。第1バス578と第2バス580のビット幅は、例えばそれぞれ128ビットであり、レンダリングエンジン570は、画像メモリに対して高速レンダリング処理を実行することができる。画像メモリ574は、一元化された記憶構造を採用しており、この構造では、例えば、テクスチャレンダリング領域と表示レンダリング領域とを同じ領域に設定することができる。   A bus 578 may be connected between the memory interface 572 and the rendering engine 570, and a second bus 580 may be connected between the memory interface 572 and the image memory 574. The bit widths of the first bus 578 and the second bus 580 are each 128 bits, for example, and the rendering engine 570 can execute high-speed rendering processing on the image memory. The image memory 574 employs a unified storage structure, and in this structure, for example, the texture rendering area and the display rendering area can be set to the same area.
ディスプレイコントローラ576は、光ディスク装置536によって光ディスク569から取得したテクスチャデータ、またはメインメモリ514に作成されたテクスチャデータを、メモリインタフェース572を介して画像メモリ574のテクスチャレンダリング領域に書き込むように構成される。画像メモリ174の表示レンダリング領域にレンダリングされた画像データは、メモリインタフェース572を介して読み出されて、モニタ110に出力され、その画面に表示されうる。   The display controller 576 is configured to write the texture data acquired from the optical disk 569 by the optical disk device 536 or the texture data created in the main memory 514 into the texture rendering area of the image memory 574 via the memory interface 572. The image data rendered in the display rendering area of the image memory 174 can be read out via the memory interface 572, output to the monitor 110, and displayed on the screen.
図6は、本発明の一実施形態による、ユーザによるユーザ入力デバイスの操作中に、ユーザ入力デバイスに対応するピクセル群をトラッキングして判別するための機能ブロックを示すブロック図である。ブロックが表している諸機能は、図5のゲームコンソール510のMPU512によって実行されるソフトウェアによって実装される点を理解されたい。更に、図6のブロックが表している機能の全てが、各実施形態で使用されるとは限らない。最初に、カメラから入力されたピクセルデータが、入出力ポートインタフェース524を介してゲームコンソール510に送られ、これにより、以下に記載するプロセスがゲームコンソール510で実行される。まず、画像の各ピクセルが、例えばラスタベースでサンプリングされると、色分離処理ステップS201が実行される。これにより、各ピクセルの色が決定されて、画像が、色の異なるさまざまな二次元部分に分割される。次に、実施形態によっては、色遷移定位ステップS203が実行される。これにより、色の異なる部分が隣接している領域がより詳細に決定されて、はっきりした色の遷移が発生する画像の位置が特定される。次に、幾何学処理S205のステップが実行される。このステップでは、実施形態に応じて、エッジ検出プロセスまたは面積の統計値(area statistics:AS)の計算の実行が行われて、対象のオブジェクトのエッジに相当する線、曲線および/または多角形が代数的または幾何学的に定義される。   FIG. 6 is a block diagram illustrating functional blocks for tracking and determining a pixel group corresponding to a user input device while the user operates the user input device according to an embodiment of the present invention. It should be understood that the functions represented by the blocks are implemented by software executed by the MPU 512 of the game console 510 of FIG. Furthermore, not all of the functions represented by the blocks in FIG. 6 are used in each embodiment. Initially, pixel data input from the camera is sent to the game console 510 via the input / output port interface 524, whereby the process described below is executed on the game console 510. First, when each pixel of the image is sampled on a raster basis, for example, a color separation processing step S201 is executed. Thus, the color of each pixel is determined, and the image is divided into various two-dimensional parts having different colors. Next, depending on the embodiment, the color transition localization step S203 is executed. As a result, a region where different color portions are adjacent to each other is determined in more detail, and the position of an image where a clear color transition occurs is specified. Next, the step of geometric processing S205 is executed. In this step, depending on the embodiment, an edge detection process or area statistics (AS) calculation is performed to determine the lines, curves and / or polygons corresponding to the edges of the object of interest. Defined algebraically or geometrically.
ステップS207で、アルゴリズムを用いてオブジェクトの三次元の位置および姿勢が計算される。このアルゴリズムについては、本発明の好ましい実施形態に関して後述する。質の向上のため、三次元の位置および姿勢のデータに対して、カルマンフィルタリング処理ステップS209が実行される。この処理を実行するのは、所定の時点においてオブジェクトが存在する位置を概算することで、発生することがあり得ないであろうことから正しいデータ群から外れていると考えられる、誤った測定値を除去するためである。カルマンフィルタリングを実行するもう1つの理由は、カメラ105は画像を30Hzで生成するが、一般的なディスプレイは60Hzで動作するため、カルマンフィルタリングによって、ゲームプログラムの動作の制御に使用するデータの不足分を埋めるためである。カルマンフィルタリングによる離散データのスムージングは、コンピュータビジョンの分野では公知であり、ここで詳述しない。図7は、オブジェクト705の移動を画像キャプチャ装置105によってとらえられる空間体積702に対応づける例示的画像処理システム700の概略的ブロック図を示す。この例では、オブジェクト705が三次元空間702で、xの距離を移動すると、画像処理システム700は、オブジェクト705のキャプチャしたビデオ画像を解釈し、オブジェクト705の移動を識別し、その後、対応するアクションをディスプレイ画面110に生成する。 In step S207, the three-dimensional position and orientation of the object are calculated using an algorithm. This algorithm is described below with respect to the preferred embodiment of the present invention. In order to improve the quality, Kalman filtering processing step S209 is performed on the three-dimensional position and orientation data. This process is performed by approximating the position where the object exists at a given point in time, and it is unlikely that it will occur. It is for removing. Another reason for performing Kalman filtering is that the camera 105 generates an image at 30 Hz, but a typical display operates at 60 Hz, so Kalman filtering can cause a lack of data to control the operation of the game program. To fill up. The smoothing of discrete data by Kalman filtering is well known in the field of computer vision and will not be described in detail here. FIG. 7 shows a schematic block diagram of an exemplary image processing system 700 that maps movement of an object 705 to a spatial volume 702 captured by the image capture device 105. In this example, the object 705 is a three-dimensional space 702, moving the distance x 1, the image processing system 700 interprets the video images captured of the object 705 to identify the movement of the object 705, then the corresponding An action is generated on the display screen 110.
具体的には、画像キャプチャ装置105は、当技術分野では周知のように、レンズを通過した後にセンサに入射する、画像を形成した光を表す画像データを生成するデジタル画像センサを含む。さらに、画像キャプチャ装置105は、光によって形成される画像を表すアナログ信号を生成するアナログビデオカメラを備えるようにしてもよい。後者の場合、アナログ信号は、画像をデジタル表現に変換し、その後、認識装置710による処理が行われる。三次元空間702の連続する二次元画像を表す画像データは、認識装置710に送られる。一実施形態では、認識装置710は、図6に関連して上述したように、オブジェクト705の識別のために様々な処理ステップを実行する。オブジェクト705の位置は、マッパ712に送られる。例えば、三次元空間702でのオブジェクト705の絶対座標が計算され、マッパ712に送信される。x軸方向の座標及びy軸方向の座標は、各画像に表示されたオブジェクトの位置から決定することができる。オブジェクトのz軸方向の座標は、オブジェクトの寸法から推測できる。つまり、オブジェクト705が画像キャプチャ装置105に近いほど、オブジェクトが画像に大きく表示される。したがって、オブジェクトが画像に表示されると、オブジェクトの直径などの寸法は、画像キャプチャ装置105からの距離、即ちz軸座標、を求めるように使用される。   Specifically, the image capture device 105 includes a digital image sensor that generates image data representing light that has formed an image that is incident on the sensor after passing through a lens, as is well known in the art. Furthermore, the image capture device 105 may include an analog video camera that generates an analog signal representing an image formed by light. In the latter case, the analog signal converts the image into a digital representation, which is then processed by the recognition device 710. Image data representing a continuous two-dimensional image in the three-dimensional space 702 is sent to the recognition device 710. In one embodiment, the recognizer 710 performs various processing steps for identification of the object 705, as described above in connection with FIG. The position of the object 705 is sent to the mapper 712. For example, the absolute coordinates of the object 705 in the three-dimensional space 702 are calculated and transmitted to the mapper 712. The coordinate in the x-axis direction and the coordinate in the y-axis direction can be determined from the position of the object displayed in each image. The coordinates of the object in the z-axis direction can be estimated from the dimensions of the object. That is, the closer the object 705 is to the image capture device 105, the larger the object is displayed on the image. Thus, when an object is displayed in an image, dimensions such as the diameter of the object are used to determine the distance from the image capture device 105, i.e., z-axis coordinates.
位置情報に加えて、認識装置710は、オブジェクト705から受信したコマンドを識別する。コマンドは、オブジェクト705の伝送/変形、音声ならびに発光などから解釈される。オブジェクト705から受信したコマンドは、認識装置によって解釈され、受信したコマンドに対応するデータは、アプリケーション714に伝達される。アプリケーション714はゲームアプリケーションあるいはリクエストされたその他のコンピュータアプリケーションであってもよい。あるいは、そうでなければ、画像キャプチャ装置105からユーザの入力を受け入れることができるものである。一実施形態では、マッパ712は、認識装置710から絶対座標を入力し、これらの座標をギアリング量によってスケーリングされている出力座標に対応づける。   In addition to the position information, the recognition device 710 identifies the command received from the object 705. The command is interpreted from transmission / deformation of the object 705, sound, light emission, and the like. The command received from the object 705 is interpreted by the recognition device, and data corresponding to the received command is transmitted to the application 714. Application 714 may be a game application or other requested computer application. Otherwise, it can accept user input from the image capture device 105. In one embodiment, the mapper 712 inputs absolute coordinates from the recognizer 710 and associates these coordinates with output coordinates that are scaled by the amount of gearing.
別の実施形態では、マッパ712は連続する座標情報を認識装置710から受信し、座標情報の変更をオブジェクト705のベクトル移動に変換する。例えば、オブジェクト705が、時間t1から時間tの間にxの距離を移動した場合、ベクトルx,0,0が生成され、アプリケーション714に送信される。時間tからtは、画像キャプチャ装置105により生成されるビデオの連続フレーム間の時間間隔であってもよい。マッパ712は、スケーリングアルゴリズムに従い、例えば、ベクトルにギアリング量を乗算することでベクトルをスケーリングしてもよい。別の実施形態では、各座標には、G、GならびにGなどの対応するギアリング因子(gearing factor)を乗算する。したがって、ディスプレイ110に表示されるように、仮想オブジェクト705’の対応する移動は距離xであり、xではない。 In another embodiment, the mapper 712 receives continuous coordinate information from the recognizer 710 and converts the change in coordinate information into a vector movement of the object 705. For example, if the object 705 moves a distance x 1 between time t 1 and time t 2 , a vector x 1 , 0,0 is generated and sent to the application 714. Times t 1 to t 2 may be time intervals between successive frames of video generated by the image capture device 105. The mapper 712 may scale the vector according to a scaling algorithm, for example, by multiplying the vector by a gearing amount. In another embodiment, each coordinate is multiplied by a corresponding gearing factor such as G x , G y and G z . Thus, as displayed on the display 110, the mobile is the distance x 2 corresponding to the virtual object 705 ', not the x 1.
アプリケーション714は、認識装置710から受信したコマンド713に従ってギアリング量を変更するか、マッパ712にギアリングデータを送信し、ギアリング量を変更させるソフトウェアの通常のオペレーションに従ってギアリング量を変更する。ギアリングデータは、ユーザコマンド、各種イベント、またはアプリケーション714のオペレーションモードに応じてマッパ712に送信される。したがって、ギアリング量は、ユーザコマンドに応じてリアルタイムで変更されるか、ソフトウェアによって制御されてもよい。これにより、マッパ712は、オブジェクト705の動きの出力ベクトルをアプリケーション714に送信する。この出力は、空間702中のオブジェクト705の位置の変化ならびにギアリング量に対して変更される。一実施形態では、アプリケーション714はビデオゲームであり、出力ベクトルを対応するアクションに変換し、変換されたアクションがディスプレイ110に表示される。   The application 714 changes the gearing amount according to the command 713 received from the recognition device 710 or changes the gearing amount according to the normal operation of the software that transmits the gearing data to the mapper 712 and changes the gearing amount. The gearing data is transmitted to the mapper 712 according to a user command, various events, or an operation mode of the application 714. Therefore, the gearing amount may be changed in real time according to a user command or may be controlled by software. As a result, the mapper 712 transmits the output vector of the motion of the object 705 to the application 714. This output is changed with respect to the change in the position of the object 705 in the space 702 and the gearing amount. In one embodiment, the application 714 is a video game, converts the output vector into a corresponding action, and the converted action is displayed on the display 110.
図8は図7の画像処理システム700の例示的アプリケーションを示す。コンピュータシステム102は、シーン810をとらえる画像キャプチャ装置105を備える。シーン810は、認識装置(図7)によって認識されるオブジェクト804を把持したユーザ802を含む。このアプリケーションプログラムは、この例ではチェッカーゲームであり、オブジェクト804からのコマンドを認識し、チェッカーボード801にチェッカー808を拾い上げるか落す。ユーザがオブジェクト805を画像キャプチャ装置105の前に移動させると、コンピュータ102はオブジェクト804の移動を識別するように画像を処理し、その移動をディスプレイ110の仮想オブジェクト805’の移動に変換する。仮想オブジェクト805’が現実のオブジェクト805に対して移動する距離は、ギアリング量806によって決まる。この例では、ギアリング量はディスプレイ110「3」と表示される。一実施形態では、ギアリング量ユーザにより選択可能である。ギアリング量が大きければ、チェッカー805’がディスプレイ110で特定の距離を移動する、現実のオブジェクト805の移動は小さくてもよい。   FIG. 8 shows an exemplary application of the image processing system 700 of FIG. The computer system 102 includes an image capture device 105 that captures the scene 810. The scene 810 includes a user 802 holding an object 804 recognized by a recognition device (FIG. 7). This application program is a checker game in this example, recognizes a command from the object 804, and picks up or drops the checker 808 on the checker board 801. When the user moves the object 805 in front of the image capture device 105, the computer 102 processes the image to identify the movement of the object 804 and converts the movement into a movement of the virtual object 805 ′ on the display 110. The distance that the virtual object 805 ′ moves relative to the real object 805 is determined by the gearing amount 806. In this example, the gearing amount is displayed as display 110 “3”. In one embodiment, the gearing amount is selectable by the user. If the gearing amount is large, the movement of the actual object 805 that the checker 805 ′ moves a specific distance on the display 110 may be small.
図9、10は、画像キャプチャ装置105(図1)とのインタラクションを行う例示的コントローラ900を示す。コントローラ900は、各種のボタンおよびジョイスティックを含む複数のインターフェース装置を有するインターフェース902を備える。ここに記載するコントローラは、有線であっても無線であってもよい。WiFi、ブルートゥース(登録商標)、赤外線、音声、光などの技術が、ゲームコンソールなどのコンピュータとインタフェースするために使用され得る。一実施形態では、コントローラ900は、LEDアレイ905を有する。LEDアレイは、さまざまなレイアウトで構成することができ、このようなレイアウトには、例えば、各LEDが、想像上の矩形または正方形の結合ボックスの頂点に配置されている2×2のスタックがある。画像キャプチャ装置が作成する画像平面に投射されたときの、結合ボックスの位置および変形を追跡することによって、変化および変形がビデオアナライザで分析され、コントローラの位置および姿勢の情報が解読され得る。   9 and 10 illustrate an example controller 900 that interacts with the image capture device 105 (FIG. 1). The controller 900 includes an interface 902 having a plurality of interface devices including various buttons and joysticks. The controller described here may be wired or wireless. Technologies such as WiFi, Bluetooth, infrared, voice, light, etc. can be used to interface with a computer such as a game console. In one embodiment, the controller 900 has an LED array 905. The LED array can be configured in various layouts, such as a 2 × 2 stack in which each LED is placed at the apex of an imaginary rectangular or square binding box. . By tracking the position and deformation of the binding box as it is projected onto the image plane created by the image capture device, the change and deformation can be analyzed with a video analyzer and the position and orientation information of the controller can be decoded.
LEDアレイ905は、赤外光または可視光を発し得る。画像キャプチャ装置105(図1)は、本発明のさまざまな実施形態に関して説明したように、LEDアレイ905を識別することができる。例えば、各コントローラに対して、スイッチ910を使用して、例えば、プレーヤ1〜プレーヤ4と割り振られ、これによって、ユーザが、プレーヤ番号1〜4から選択できるようになる。プレーヤ番号のそれぞれの選択は、LEDアレイ905が発光している一意的なLEDのパターンまたは変調に対応している。例えば、プレーヤ1の場合は、1番目、3番目および5番目のLEDが点灯する。このようなプレーヤ情報は符号化されて、複数のビデオフレーム間で、所定の期間にわたり、繰り返し伝送され得る。コントローラまたは装置のLEDが、トラッキングモードと伝送モードを切り替えるように、インタリーブ方式が使用されることが望ましいことがある。トラッキングモードでは、サイクルの第1の部分の間、全てのLEDが点灯しうる。   The LED array 905 can emit infrared light or visible light. Image capture device 105 (FIG. 1) can identify LED array 905 as described in connection with various embodiments of the present invention. For example, for each controller, for example, the players 1 to 4 are allocated using the switch 910, so that the user can select from the player numbers 1 to 4. Each selection of player number corresponds to a unique LED pattern or modulation from which the LED array 905 is emitting light. For example, in the case of player 1, the first, third and fifth LEDs are lit. Such player information may be encoded and repeatedly transmitted over a predetermined period between a plurality of video frames. It may be desirable to use an interleaving scheme so that the controller or device LEDs switch between tracking and transmission modes. In tracking mode, all LEDs can be lit during the first part of the cycle.
伝送モードでは、サイクルの第2の部分の間、LEDによって情報の変調が行われうる。所定の期間、LEDは、信号を受け取ることができるビデオアナライザまたは適切な装置に、トラッキング情報と通信情報を伝送する。伝送モードでは、LEDは、プレーヤのIDを表す情報を符号化しうる。期間と動作周期は、トラッキングの速度、点灯条件、コントローラの台数などに対応するように選択され得る。通信とトラッキング情報をインタリーブすることによって、ビデオキャプチャ装置は、適切な情報が与えられて、各コントローラのトラッキングパラメータを計算し、コントローラ同士を区別することができる。このような区別は、位置および姿勢や、コントローラの移動の他の評価基準をモニタおよびトラッキングする際に、各物理コントローラを分離するために、ビデオアナライザで使用され得る。伝送モードでは、コマンドまたは状態情報などの他の情報が、コントローラまたは装置のLEDによって、公知の符号化および変調の方式に従って伝送され得る。受信側では、ビデオキャプチャ装置に結合されたビデオアナライザが、LEDの状態と同期して、これをトラッキングし、情報とコントローラの移動を復号化し得る。伝送モードサイクルでは、フレーム間でデータを変調させることによって、高帯域が得られることが知られている。   In the transmission mode, information can be modulated by the LED during the second part of the cycle. For a predetermined period of time, the LED transmits tracking information and communication information to a video analyzer or appropriate device that can receive the signal. In the transmission mode, the LED may encode information representing the player's ID. The period and operation cycle may be selected to correspond to the tracking speed, lighting conditions, number of controllers, and the like. By interleaving the communication and tracking information, the video capture device can be given the appropriate information, calculate the tracking parameters of each controller, and distinguish between controllers. Such a distinction can be used in a video analyzer to isolate each physical controller in monitoring and tracking position and orientation and other metrics of controller movement. In transmission mode, other information such as command or status information may be transmitted by the controller or device LED according to known encoding and modulation schemes. On the receiving side, a video analyzer coupled to the video capture device may track and synchronize with the state of the LEDs and decode information and controller movement. In the transmission mode cycle, it is known that a high bandwidth can be obtained by modulating data between frames.
ユーザがインタフェース902とのインタラクションを行うと、LEDアレイ905の1つ以上のLEDが変調および/または変色し得る。例えば、ユーザがジョイスティックを動かすと、LEDが明るさを変えるか、または情報を伝送しうる。強度または色の変化が、コンピュータシステムによってモニタされて、強度値としてゲームプログラムに提供される。更に、各ボタンが、LEDアレイ905の1つ以上のLEDの色または強度の変化にマッピングされうる。コントローラ900が三次元空間内で移動され、ロール、ヨーまたはピッチの方向のいずれかに回転されると、画像キャプチャ装置105は、コンピュータシステム102と共に、この変化を識別して、画像平面での移動を記述するために二次元ベクトルを、あるいは、三次元の空間での移動を記述するために三次元のベクトルを生成することができる。ベクトルは、画像キャプチャ装置105に対する相対移動および/または絶対位置を記述している一連の座標として提供されうる。当業者にとって明らかなように、画像キャプチャ装置105の見通線に垂直な面(画像平面)での移動は、画像キャプチャゾーン内の絶対位置によって特定することができる。これに対して、画像キャプチャ装置105にコントローラが近づくという移動は、LEDアレイによって、拡大するように見えることによって識別できる。   As the user interacts with the interface 902, one or more LEDs of the LED array 905 may be modulated and / or discolored. For example, when the user moves the joystick, the LEDs may change brightness or transmit information. Intensity or color changes are monitored by the computer system and provided to the game program as intensity values. In addition, each button can be mapped to a change in color or intensity of one or more LEDs in LED array 905. When the controller 900 is moved in three-dimensional space and rotated in either roll, yaw or pitch direction, the image capture device 105, along with the computer system 102, identifies this change and moves in the image plane. A two-dimensional vector can be generated to describe or a three-dimensional vector to describe movement in a three-dimensional space. The vector may be provided as a series of coordinates describing relative movement and / or absolute position relative to the image capture device 105. As will be apparent to those skilled in the art, movement of the image capture device 105 in a plane (image plane) perpendicular to the line of sight can be identified by an absolute position within the image capture zone. In contrast, the movement of the controller approaching the image capture device 105 can be identified by the LED array appearing to expand.
これらLED905が矩形に構成されていることから、3つの軸上でのコントローラ900の移動と、各軸を中心とした回転とが検出可能になる。図示しているのは4つのLEDだけであるが、これは例示のみを目的としており、いずれの構成においてもLEDは任意の個数とすることが可能である。コントローラ900が前後にピッチ運動すると、上下のLEDの距離が近づくが、左右のLED間の距離は変わらない。同様に、コントローラが左右にヨー運動すると、左右のLEDが接近して見えるが、上下のLED間の距離は変わらない。
コントローラのロール運動は、画像平面におけるLEDの向きを特定することによって検出することができる。コントローラが、画像キャプチャ装置105の見通線に沿って画像キャプチャ装置105に近づくと、全てのLEDが接近して見える。最後に、画像平面に沿ったコントローラの移動は、画像平面上のLEDの位置を特定することによってトラッキングすることができ、これにより、x軸およびy軸のそれぞれに沿った移動が特定できる。
Since these LEDs 905 are formed in a rectangular shape, the movement of the controller 900 on three axes and the rotation around each axis can be detected. Although only four LEDs are shown, this is for illustrative purposes only, and any number of LEDs can be used in any configuration. When the controller 900 pitches back and forth, the distance between the upper and lower LEDs approaches, but the distance between the left and right LEDs does not change. Similarly, when the controller yaws left and right, the left and right LEDs appear to approach, but the distance between the upper and lower LEDs does not change.
Controller roll motion can be detected by specifying the orientation of the LED in the image plane. As the controller approaches the image capture device 105 along the line of sight of the image capture device 105, all LEDs appear to approach. Finally, controller movement along the image plane can be tracked by identifying the position of the LED on the image plane, thereby identifying movement along each of the x and y axes.
さらに、コントローラ900は、可聴音または超音波を発生させるスピーカ915を含む。スピーカ915は、インタラクティビティを強化する音響効果を生成するか、インターフェース902からのコマンドを、マイクロフォンあるいは伝達を受け入れる他の素子を有するコンピュータシステムに伝達する。   In addition, the controller 900 includes a speaker 915 that generates audible or ultrasonic sound. The speaker 915 generates sound effects that enhance interactivity or communicates commands from the interface 902 to a computer system having a microphone or other element that accepts transmissions.
図11は、図9、10のコントローラ900の例示的アプリケーションを示す。このアプリケーションでは、ドライビングシミュレーションはコントローラ900の回転を仮想自動車のハンドルの回転と解釈する。ユーザ(図示せず)が矢印1105に示すようにコントローラ900を回転させると、仮想ハンドル900’はディスプレイ110で矢印1105’に示すように回転する。一実施形態では、コントローラ900の回転のそれぞれの程度に対してハンドル900’の回転量を決定するギアリング量は、図8に関連して上述したように、ユーザが選択できる。別の実施形態では、ギアリング量は、図12の例示的グラフ1200に示すように、ソフトウェアにより制御される。この例では、ギアリング量はコントローラ900の中心部、つまり、垂直方向からの距離に対して変更される。これにより、コントローラ900を90度回転させるだけで、仮想ハンドル900’を最大540度回転させることができる。0度(中心部)に近い位置でギアリング量を低くしておくことで、通常は著しいハンドル回転を必要としない高速ドライビングに対して、高い制御性を保つことができる。コントローラ900が中心部から離れて回転されると、グラフ1200に示しているようにギアリング量は増加し、通常、低速時に求められる急カーブに対応できるようになる。   FIG. 11 illustrates an exemplary application of the controller 900 of FIGS. In this application, the driving simulation interprets the rotation of the controller 900 as the rotation of the steering wheel of the virtual vehicle. When a user (not shown) rotates the controller 900 as indicated by arrow 1105, the virtual handle 900 ′ rotates on the display 110 as indicated by arrow 1105 ′. In one embodiment, the amount of gearing that determines the amount of rotation of the handle 900 'for each degree of rotation of the controller 900 can be selected by the user, as described above in connection with FIG. In another embodiment, the amount of gearing is controlled by software, as shown in the exemplary graph 1200 of FIG. In this example, the gearing amount is changed with respect to the distance from the central portion of the controller 900, that is, the vertical direction. As a result, the virtual handle 900 ′ can be rotated up to 540 degrees simply by rotating the controller 900 by 90 degrees. By keeping the gearing amount low at a position close to 0 degrees (center portion), high controllability can be maintained for high-speed driving that normally does not require significant steering wheel rotation. When the controller 900 is rotated away from the center portion, the gearing amount increases as shown in the graph 1200, and it is possible to cope with a sharp curve that is usually required at a low speed.
図13は、ユーザにより操作されるハンドル1305を有する別の例示的コントローラ1300を示す。この場合、ハンドル1305の回転ならびにインターフェース1302のボタン操作は、LED1310を介してデータの伝達を行うコントローラ1300により解釈される。   FIG. 13 shows another exemplary controller 1300 having a handle 1305 operated by a user. In this case, the rotation of the handle 1305 and the button operation of the interface 1302 are interpreted by the controller 1300 that transmits data via the LED 1310.
図14は、コントローラ1300の例示的なアプリケーションを示す。この例では、アプリケーションはドライビングシミュレーションであり、ハンドル1305の回転に応じて発行されるコマンドを受信し、このコマンドをディスプレイ110の仮想ハンドル1305に対応する回転として解釈する。ハンドル1305の回転を仮想ハンドル1305’の対応の回転にスケーリングするギアリング量は、インターフェース1302(図13)とのユーザインタラクションに応じて、あるいはソフトウェアによる制御に応じて変更することができる。   FIG. 14 shows an exemplary application of the controller 1300. In this example, the application is a driving simulation, which receives a command issued in response to the rotation of the handle 1305 and interprets this command as a rotation corresponding to the virtual handle 1305 of the display 110. The amount of gearing that scales the rotation of the handle 1305 to the corresponding rotation of the virtual handle 1305 ′ can be changed according to user interaction with the interface 1302 (FIG. 13) or under control by software.
図15は、所定の期間におけるギアリング量の例示的な変化を描いた例示的グラフ1500を示す。一例では、ギアリングにおける変化は、ユーザにより、ゲームのプレイ中に動的に設定される。さらに、グラフ1500に示しているように、ギアリングは、長時間ステップ、短時間ステップ、あるいはこの組合せいおいて、滑らかに、または急激に遷移する。したがって、ギアリングは、ゲームセッション中の所定の期間、ゲームによって設定あるいは変更され、これにより、よりリアルなインタラクティブ体験を提供することができる。さらに、ユーザにギアリングを制御をさせることで、従来のゲームに見られる所定の制御を超えた、別次元の制御が可能となる。   FIG. 15 shows an example graph 1500 depicting an example change in gearing amount over a predetermined time period. In one example, the change in gearing is set dynamically by the user during game play. Further, as shown in graph 1500, the gearing transitions smoothly or abruptly over a long time step, a short time step, or a combination thereof. Thus, gearing is set or changed by the game for a predetermined period during the game session, thereby providing a more realistic interactive experience. Further, by allowing the user to control the gearing, it is possible to perform another dimension control that exceeds the predetermined control found in the conventional game.
図16は、ユーザインタラクションに応える画像処理システムの別の例示的アプリケーションを示す。この例では、ユーザ1602は、画像処理システムが入力オブジェクトと認識し得るおもちゃの野球バット1605をスイングすることにより、野球のシミュレーションとインタラクトする。このおもちゃの野球バットがスイングされると、ユーザおよび/またはソフトウェアはギアリング量を制御し、仮想野球バット1605’の速度や距離を操作する。一実施形態では、バットは、ゲームのプレイ中に押すことのできる多数のボタンを備えており、このボタンを押すことでギアリングを変更することができる。別の実施形態では、ユーザは、ギアリングレベルと組み合わせて事前に設定できるか、プログラムでき、バットのスイング時に適用されるようにする。   FIG. 16 illustrates another exemplary application of an image processing system that responds to user interaction. In this example, the user 1602 interacts with a baseball simulation by swinging a toy baseball bat 1605 that the image processing system can recognize as an input object. When the toy baseball bat is swung, the user and / or software controls the amount of gearing and manipulates the speed and distance of the virtual baseball bat 1605 '. In one embodiment, the bat includes a number of buttons that can be pressed during game play, which can be changed to change the gearing. In another embodiment, the user can be preset or programmed in combination with the gearing level to be applied during the bat swing.
図17はそれぞれ別の時間t〜tにおいて、スイングの長さに沿った例示的なギアリング量を描いたグラフ1700を示す。このギアリング量は、バットをスイングする前にユーザにより設定されたものであるか、カメラ105がとらえたバットの位置に応じて、ゲームによって動的に設定されたものである。同様に、図17には、ギアリングが所定の期間においてどのように変化し、特定の時間間隔において一定に保たれ、または漸進的に増加される様子が示されている。グラフ1700においては、ギアリングは時間t〜t間にて高く設定されている。よって、バットのスイングは、ボールと接触したときによりパワフルなものになる。さらに、バットがボールと接触した後の時間t〜tにおいては、ギアリングは緩和される。一実施形態では、それぞれの時間は、ユーザによって予測されるか、コンピュータによって決定される。 FIG. 17 shows a graph 1700 depicting exemplary gearing amounts along the length of the swing, each at different times t 1 -t 5 . This gearing amount is set by the user before swinging the bat, or dynamically set by the game according to the position of the bat captured by the camera 105. Similarly, FIG. 17 shows how the gearing changes over a given period and is kept constant or gradually increased over a specific time interval. In the graph 1700, gearing is set to be higher at between time t 1 ~t 3. Thus, the bat swing is more powerful when it comes into contact with the ball. Further, the gearing is relaxed during the time t 3 to t 4 after the bat contacts the ball. In one embodiment, each time is predicted by a user or determined by a computer.
一例では、ユーザは何度かスイングをし、コンピュータがユーザの実際のスイング能力に対応するいくつものタイムスロット例を定める。次に、ユーザは、どの程度ゲームインタラクティビティに影響を及ぼしたいかに応じて、それぞれの時間間隔に対して特定のギアリングを独自に割当てることができる。ギアリングが設定されると、ユーザによるバット1605の移動がバット1605’(例えば、ゲームオブジェクト)の移動に対応付けられる。同様に、ギアリングは、別のアクション中にゲームによって事前に設定され、ユーザによってゲーム中に設定され、さらに、ゲームのプレイ中にリアルタイムで調整される。   In one example, the user swings several times and the computer defines a number of example time slots that correspond to the user's actual swing ability. The user can then uniquely assign specific gearing for each time interval, depending on how much he / she wants to influence game interactivity. When gearing is set, the movement of the bat 1605 by the user is associated with the movement of the bat 1605 '(for example, a game object). Similarly, gearing is preset by the game during another action, set by the user during the game, and further adjusted in real time during game play.
図18は、ユーザインタラクションに反応する画像処理システムの別の例示的なアプリケーションを示す。この例では、ユーザ(図示せず)は、おもちゃのフットボール用ボールを使って投球動作をし、作動装置(アクチュエータ)を押してボールを放すようにすることで、フットボールのシミュレーションとインタラクトする。当然、おもちゃのフットボール用ボールではなくて、コントローラを使用してもよい。仮想プレーヤー1802は、ユーザインタラクションに反応して仮想のフットボール用ボールを操作する。一実施形態では、作動装置は、フットボールシミュレーションアプリケーションに送信されるコマンドとして、LEDに、画像処理システムによって認識される色を明るくするか変化させるようにする。ユーザは、ボールを放した後に、選択した受信側の動作などの、フィールド上でのある特定のアクションを制御することができる。一実施形態では、ボールを放すことで、アプリケーションがマッパ(図7)にギアリングデータを送り、ギアリング量を変更して、例えば、入力オブジェクトのより細かな移動や動作を区別することができる。   FIG. 18 illustrates another exemplary application of an image processing system that is responsive to user interaction. In this example, a user (not shown) interacts with a football simulation by throwing with a toy football ball and pressing the actuator (actuator) to release the ball. Of course, a controller may be used instead of a toy football ball. The virtual player 1802 operates a virtual football ball in response to user interaction. In one embodiment, the actuator causes the LED to lighten or change the color recognized by the image processing system as a command sent to the football simulation application. The user can control certain actions on the field, such as selected recipient actions, after releasing the ball. In one embodiment, releasing the ball allows the application to send gearing data to the mapper (FIG. 7) and change the amount of gearing to distinguish, for example, finer movements and movements of the input object. .
図19は、ボールの“放した”後のギアリング量の変化を示した例示的グラフ1900を示す。グラフ1900は単純なグラフとして図示されているが、ギアリングはゲームのオブジェクトに応じてどのようなプロファイルにもなり得ることを理解されたい。   FIG. 19 shows an exemplary graph 1900 showing the change in the amount of gearing after the ball is “released”. Although graph 1900 is illustrated as a simple graph, it should be understood that gearing can be any profile depending on the object of the game.
図20は、コンピュータプログラムに対するユーザ入力を受信する例示的な手順を示すフローチャート200を示す。この手順は開始ブロック2002に示すように開始し、操作2004に進み、コントロール入力の位置が特定される。コントロール入力は、図7に関して上述したような三次元空間における入力オブジェクトの位置か、図14に関して上述したようなユーザインターフェース装置の位置であってもよい。この位置は、1つの代表値、あるいはベクトルなどの複数の値として表される。この手順は、コントロール入力の位置を特定後に、操作2006に進む。   FIG. 20 shows a flowchart 200 illustrating an exemplary procedure for receiving user input to a computer program. The procedure begins as shown in start block 2002 and proceeds to operation 2004 where the position of the control input is identified. The control input may be the position of the input object in the three-dimensional space as described above with reference to FIG. 7 or the position of the user interface device as described above with reference to FIG. This position is represented as a single representative value or a plurality of values such as a vector. This procedure proceeds to operation 2006 after the position of the control input is specified.
操作2006では、位置が変更したかどうかが判断される。位置に変更がなければ、手順は操作2004に戻る。一実施形態では、操作2004は、画像キャプチャ装置から新たな画像データのフレームを受信するまで遅延される。操作2006において、位置変更があったと判断されれば、手順は操作2008に進む。   In operation 2006, it is determined whether the position has changed. If there is no change in position, the procedure returns to operation 2004. In one embodiment, operation 2004 is delayed until a new frame of image data is received from the image capture device. If it is determined in operation 2006 that the position has been changed, the procedure proceeds to operation 2008.
操作2008では、移動ベクトルが計算される。この移動ベクトルは、いずれの次元数であってもよい。例えば、移動が三次元空間における入力オブジェクトであれば、移動ベクトルは三次元ベクトルとしての動作を説明する。しかし、移動がハンドルなどの、一次元のコントロール入力であれば、移動ベクトルは、ハンドルの回転量を説明する一次元ベクトルである。移動ベクトルを決定後に、手順は操作2010に進む。   In operation 2008, a movement vector is calculated. This movement vector may have any number of dimensions. For example, if the movement is an input object in a three-dimensional space, the movement vector explains the operation as a three-dimensional vector. However, if the movement is a one-dimensional control input such as a handle, the movement vector is a one-dimensional vector that describes the amount of rotation of the handle. After determining the movement vector, the procedure proceeds to operation 2010.
操作2010では、移動ベクトルは現在のギアリング量に掛けられ、入力ベクトルが決定される。現在のギアリング量は、スカラ量または多次元値である。ギアリング量がスカラ量であれば、移動ベクトルの全次元が同じ量だけ掛けられる。ギアリング量が多次元値であれば、移動ベクトルの各次元は、対応する、ギアリング量の次元に掛けられる。ギアリング量はユーザ入力に応じて変化し、さらに、ギアリング量はソフトウェアの制御下にある。従って、現在のギアリング量はその都度変化する。移動ベクトルに現在のギアリング量を掛け合わせた後に、手順は操作2012に進む。   In operation 2010, the movement vector is multiplied by the current gearing amount to determine the input vector. The current gearing amount is a scalar amount or a multidimensional value. If the gearing amount is a scalar amount, all dimensions of the movement vector are multiplied by the same amount. If the gearing amount is a multidimensional value, each dimension of the movement vector is multiplied by the corresponding gearing amount dimension. The gearing amount changes in response to user input, and the gearing amount is under software control. Therefore, the current gearing amount changes each time. After multiplying the movement vector by the current gearing amount, the procedure proceeds to operation 2012.
操作2012では、操作2010で求めた入力ベクトルを使って、仮想オブジェクトの新たな位置が計算される。この新たな位置は、カメラ位置や、仮想ハンドルなどのオブジェクトの位置であってもよい。仮想オブジェクトはディスプレイ画面には表示されない。仮想オブジェクトの新たな位置が計算されると、手順は操作2014に進み、新たな位置を表すデータがアプリケーションプログラムに送られる。手順は、終了ブロック2016に示すように終了する。しかし、このフローは事実上は例示的なものに過ぎず、他の形態が可能であることに留意されたい。   In operation 2012, a new position of the virtual object is calculated using the input vector obtained in operation 2010. This new position may be a camera position or a position of an object such as a virtual handle. Virtual objects are not displayed on the display screen. When the new position of the virtual object is calculated, the procedure proceeds to operation 2014 and data representing the new position is sent to the application program. The procedure ends as indicated by end block 2016. However, it should be noted that this flow is merely exemplary in nature and other forms are possible.
一実施形態では、操作において、入力デバイスならびに入力デバイスの移動が検出される。入力デバイスの移動は、入力デバイスをとらえているカメラによって決定される。ユーザによる制御や事前の設定あるいは事前にプログラムされた設定により、ギアリング値がかけられる。ギアリング値がユーザにより設定されたものであれば、ギアリング値は、例えば、ユーザに入力デバイス(例えば、コントローラ)のボタンを押させるようにすることで選択される。ギアリング量に応じて、移動制御がコンピュータゲームのオブジェクトに対応づけられる。ユーザがゲームのアクションフィギュアを制御するように入力デバイスを使用している場合、設定されたギアリングもしくは設定されるように制御されたギアリングは、入力デバイスの移動がコンピュータゲームのアクションフィギュアの移動にどのように対応づけられるかに対して影響を及ぼす。したがって、ギアリングとギアリングの変更により、コンピュータゲームの一部であり得るオブジェクトによって対応づけられた反応を動的に適用することが可能になる。   In one embodiment, in operation, the input device as well as movement of the input device is detected. The movement of the input device is determined by the camera that is capturing the input device. The gearing value is applied by user control, pre-setting or pre-programmed setting. If the gearing value is set by the user, the gearing value is selected, for example, by causing the user to press a button on an input device (eg, a controller). Depending on the amount of gearing, movement control is associated with a computer game object. If the user is using an input device to control a game action figure, the gearing that is set or controlled to be set is that the movement of the input device will move the action figure of the computer game. It has an influence on how it is mapped. Thus, gearing and gearing changes can dynamically apply reactions associated with objects that can be part of a computer game.
各種の実施形態では、強度値、コントローラのプレーヤー番号、コントローラを含む1つ以上の入力オブジェクトの姿勢および/または位置を決定するための上記の画像処理機能は、コンピュータシステムで実行中のプロセスで実行されてもよい。コンピューティングシステムは、本明細書では、アプリケーションプログラムと呼ばれ、ゲームアプリケーションであり得るメインプロセスを実行していてもよく、画像または音声処理から得られるデータを要求するか、このデータを受け取る。このようなデータには、コントローラのプレーヤ番号、コントローラを含む1つ以上の入力オブジェクトの姿勢および/または位置、コントローラの操作などが含まれる。   In various embodiments, the image processing functions described above for determining the intensity value, the controller player number, and the posture and / or position of one or more input objects including the controller are performed in a process running on the computer system. May be. A computing system, referred to herein as an application program, may be executing a main process, which may be a game application, requesting or receiving data obtained from image or sound processing. Such data includes the player number of the controller, the posture and / or position of one or more input objects including the controller, the operation of the controller, and the like.
各種実施形態では、画像および/または音声処理機能を実行しているプロセスは、ビデオカメラまたはビデオ/音声監視装置のドライバであってもよく、このドライバは、一般に知られているように実装に特有であり、当業界で知られ、理解されているように、任意のタイプのプロセス間通信を介して、メインプロセスにデータを提供する。画像または音声処理を実行するプロセスは、ゲームソフトウェアや他のアプリケーションプログラムを実行しているものと同じプロセッサで実行されても、別のプロセッサで実行されてもよい。さらに、画像または音声処理とゲーム機能に対して、例えば、プロシージャコールを使用して、同じプロセス内で共通のプロセスとしてもよい。このため、本明細書において、入力ベクトルやほかの情報が「『プログラムに』提供される」と言及することがあるが、本発明には、1つのプロセスが、画像処理機能とゲーム機能の両方を実行することができるように、プロシージャコールやその他のソフトウェア機能を使用して、このようなデータをプロセスのルーチンに提供することも含まれていることを理解すべきである。   In various embodiments, the process performing image and / or audio processing functions may be a video camera or video / audio surveillance device driver, which is implementation specific as is generally known. And providing data to the main process via any type of interprocess communication, as is known and understood in the art. The process of performing image or sound processing may be executed on the same processor that is executing the game software or other application program, or may be executed on a different processor. Further, for image or sound processing and game functions, for example, a procedure call may be used to make a common process within the same process. For this reason, in this specification, input vectors and other information may be referred to as “provided to the program”. However, in the present invention, one process includes both an image processing function and a game function. It should be understood that providing such data to process routines using procedure calls or other software functions is also included.
また、これら機能を異なるプロセスに分割して、共通のプロセッサコアまたは複数のプロセッサコアで実行される1つ以上のプロセスが、本明細書に記載したような画像および/または音声処理を実行して、別のプロセスがゲーム機能を実行してもよい。本発明は、ここに記載したように使用されても、ほかのユーザ入力機構、音の角度方向をトラッキングする他の機構、および/またはオブジェクトの位置を能動的または受動的にトラッキングする機構、機械的視野を使用する機構、これらの組み合わせと共に使用されてもよい。トラッキングされるオブジェクトは、システムへのフィードバックを操作する補助的制御部またはボタンを備えていてもよい。このようなフィードバックには、光源からの発光、音歪み手段または他の適切な送信器および変調器のほかに、ボタン、圧力パッドなどがあるが、これらに限定されない。これらは、その伝達または変調、符号化状態および/またはトラッキング対象の装置との間でやり取りされるコマンドに影響しうる。本発明は、ゲームコンソール、ゲームコンピュータまたはコンピューティング装置、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースのプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステムの構成によって実施されてもよい。   In addition, these functions may be divided into different processes so that one or more processes executed on a common processor core or multiple processor cores perform image and / or audio processing as described herein. Another process may perform the game function. The present invention may be used as described herein to provide other user input mechanisms, other mechanisms for tracking the angular direction of sound, and / or mechanisms, machines for actively or passively tracking the position of objects. It may be used with a mechanism that uses a visual field, or a combination of these. The tracked object may have auxiliary controls or buttons that manipulate feedback to the system. Such feedback includes, but is not limited to, light emission from the light source, sound distortion means or other suitable transmitters and modulators, as well as buttons, pressure pads, and the like. These can affect its transmission or modulation, coding state and / or commands exchanged with the device being tracked. The invention is implemented by the configuration of other computer systems, such as game consoles, game computers or computing devices, portable devices, microprocessor systems, microprocessor-based programmable consumer electronics, minicomputers, mainframe computers, etc. May be.
また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される。例えば、オンラインのゲームシステムおよびソフトウェアが使用されてもよい。上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作は、物理量の物理的操作を必要とする。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、特定、決定または比較などと呼ばれることが多い。本発明の一部を構成している、本明細書に記載した操作はいずれも、有用な機械的操作である。本発明は、これらの操作を実行するデバイスまたは装置にも関する。この装置は、上記に記載したキャリアネットワークなどの所望の目的のために特別に作製されたものであっても、あるいは汎用コンピュータであり、そのコンピュータに記憶されているコンピュータプログラムによって選択的に作動もしくは構成されてもよい。特に、各種の汎用の機械を、本明細書の教示に従って記述したコンピュータプログラムと併用してもよく、あるいは所望の操作を実行するために特化した機械を作製するほうが利便性が高いこともある。   The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a network. For example, online game systems and software may be used. In view of the above embodiments, it should be understood that the present invention may use various computer-implemented operations that use data stored in a computer system. These operations require physical manipulation of physical quantities. This physical quantity usually takes the form of an electrical or magnetic signal that can be manipulated, stored, transferred, combined, compared, etc., but is not necessarily limited thereto. Furthermore, the operations performed are often referred to as generation, identification, determination or comparison. Any of the operations described herein that form part of the present invention are useful mechanical operations. The present invention also relates to a device or apparatus for performing these operations. This device may be specially made for a desired purpose, such as the carrier network described above, or a general-purpose computer, selectively operated by a computer program stored in the computer, or It may be configured. In particular, various general-purpose machines may be used in combination with a computer program described in accordance with the teachings of this specification, or it may be more convenient to create a specialized machine for performing a desired operation. .
本発明は、また、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であれば、どのようなものであってもよい。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続記憶装置(NAS)、リードオンリーメモリ、ランダムアクセスメモリ、FLASHベースメモリ、CD−ROM、CD−R、CD−RW、DVD、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。   The invention may also be embodied as computer readable code on a computer readable medium. The computer readable medium may be any data storage device that can store data which can be thereafter read by a computer system. Examples of computer readable media include hard disk, network attached storage (NAS), read only memory, random access memory, FLASH base memory, CD-ROM, CD-R, CD-RW, DVD, magnetic tape and other optical Type data storage devices and non-optical data storage devices. The computer readable medium may also be distributed over a computer system coupled to a network so that the computer readable code is stored and executed in a distributed fashion.
さらに、ビデオゲームに関連してギアリングについて述べてきたが、コンピュータによって制御された環境であればどのような環境にもギアリングをかけることができることを理解すべきである。一例では、ギアリングは、情報のインタラクション、選択あるいは入力を可能にするコンピュータの入力デバイスに関連づけられる。様々な入力操作やインタラクティブ操作において、様々に異なるギアリングをかけることで、設定済みの制御設定を有する環境では通常みられない操作のさらなる程度が可能となる。したがって、本明細書に定義しているように、ギアリングの実施形態には広範囲にわたっての用途が与えられるべきである。   Furthermore, while gearing has been described in the context of video games, it should be understood that gearing can be applied to any environment controlled by a computer. In one example, the gearing is associated with a computer input device that allows information to be interacted, selected or entered. By applying different gearing in various input operations and interactive operations, a further degree of operation that is not normally seen in an environment with a set control setting is possible. Therefore, as defined herein, the gearing embodiments should be given a wide range of applications.
ギアリングが決定されると、このギアリングをジェスチャにかけることができ、これがコンピュータプログラムに伝達される。上述のように、ジェスチャや入力デバイスのトラッキングは、画像分析、慣性分析あるいは可聴音分析によって実現することができる。ジェスチャの例としては、ボールなどのオブジェクトを投げる、バットやゴルフクラブなどを振る、手押しポンプを押す、ドアまたは窓を開閉する、ハンドルまたは他の車両コントロールを回す、格闘家がパンチなどを出す、研磨動作、ワックス掛けとワックスふき取り、家のペンキ塗り、振動、おしゃべり、ロール、フットボール投げ、野球の投球、ノブを回す動き、3D/2Dマウスの動き、スクロール、周知のプロファイルを持った動き、記録可能なあらゆる動き、あらゆるベクトルに沿った前後の動き、すなわち、空間内の任意の方向に沿ったタイヤの空気入れ、経路に沿った移動、正確な停止時間と開始時間を持った動き、ノイズフロア内やスプライン内などで記録、追跡および繰返し可能なユーザ操作に基づく任意の時刻、などがあるがこれらに限定されない。   Once the gear ring is determined, this gear ring can be applied to a gesture, which is communicated to the computer program. As described above, tracking of gestures and input devices can be realized by image analysis, inertia analysis, or audible sound analysis. Examples of gestures include throwing an object such as a ball, swinging a bat or golf club, pushing a hand pump, opening or closing a door or window, turning a handle or other vehicle control, a fighter giving a punch, Polishing movement, waxing and wiping, painting of house, vibration, chatting, roll, football throwing, baseball throwing, turning knob movement, 3D / 2D mouse movement, scrolling, movement with known profile, recording All possible movements, back and forth movements along any vector, i.e. tire inflation along any direction in space, movement along the path, movement with exact stop and start times, noise floor Any time based on user operations that can be recorded, tracked, and repeated within a spline, etc. There, but are not limited to these.
これらのジェスチャはそれぞれ、経路データから事前に記録し、時間基準のモデルとして記憶できる。このため、ギアリングは、ユーザまたはプログラムにより設定されたギアリングの程度に応じて、これらのジェスチャのうちのいずれか1つにかけることができる。上記に、本発明を明確に理解できるように多少詳細に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。   Each of these gestures can be pre-recorded from route data and stored as a time-based model. Thus, gearing can be applied to any one of these gestures depending on the degree of gearing set by the user or program. Although the invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, the embodiments are illustrative and not limiting and the invention is not limited to the details described herein, but the appended claims and their equivalents. May be changed within.
画像キャプチャ装置を有するインタラクティブゲーム構成の説明図。Explanatory drawing of the interactive game structure which has an image capture device. 画像処理システムを用いた例示的コンピュータインタラクションの説明図。FIG. 3 is an illustration of exemplary computer interaction using an image processing system. グラフディスプレイ上のオブジェクトとインタラクトする例示的ユーザ入力システムのブロック図。1 is a block diagram of an example user input system that interacts with objects on a graph display. 本文に記載された発明の実施形態を実装するように構成されたコンピュータプロセスシステムの簡略ブロック図。1 is a simplified block diagram of a computer process system configured to implement an embodiment of the invention described herein. 代替入力デバイスとして機能する操作用オブジェクトとの併用に適合されたビデオゲームコンソールの各種構成要素の構成を示すブロック図。The block diagram which shows the structure of the various components of the video game console adapted to use together with the operation object which functions as an alternative input device. ユーザによる操作中に、ユーザ入力デバイスに対応するピクセル群をトラッキングして判別するための機能ブロックを示すブロック図。The block diagram which shows the functional block for tracking and discriminating the pixel group corresponding to a user input device during operation by a user. 例示的画像処理システムの概略ブロック図。1 is a schematic block diagram of an exemplary image processing system. 図7の画像処理システムの例示的アプリケーションの説明図。FIG. 8 is an explanatory diagram of an exemplary application of the image processing system of FIG. 7. 画像キャプチャ装置とのインタラクションを行うための例示的なコントローラの平面図ならびに上面図。FIG. 2 is a plan view and top view of an exemplary controller for interacting with an image capture device. 画像キャプチャ装置とのインタラクションを行うための例示的なコントローラの平面図ならびに上面図。FIG. 2 is a plan view and top view of an exemplary controller for interacting with an image capture device. 図9および図10のコントローラに対する例示的アプリケーションの説明図。FIG. 11 is an illustration of an exemplary application for the controller of FIGS. 9 and 10. 図11に示したアプリケーションの例示的なソフトウェアの制御されたギアリング量を示した説明図。FIG. 12 is an explanatory diagram showing controlled gearing amounts of exemplary software of the application shown in FIG. 11. ハンドルを有する例示的コントローラの説明図。FIG. 3 is an illustration of an exemplary controller having a handle. 図13のコントローラの例示的アプリケーションの説明図。FIG. 14 is an illustration of an exemplary application of the controller of FIG. 所定の期間のギアリング量の例示的な変化を示した例示的グラフの説明図。FIG. 4 is an explanatory diagram of an exemplary graph showing an exemplary change in the gearing amount in a predetermined period. ユーザインタラクションに反応する画像処理システムの別の例示的アプリケーションの説明図。FIG. 6 is an illustration of another example application of an image processing system that is responsive to user interaction. 図16に示したアプリケーションの野球バットのスイングの長さに沿った、異なる時間における例示的なギアリング量を示したグラフの説明図。FIG. 17 is an explanatory diagram of a graph showing exemplary gearing amounts at different times along the length of the baseball bat swing of the application shown in FIG. 16. ユーザインタラクションに反応する画像処理システムの別の例示的アプリケーションの説明図。FIG. 6 is an illustration of another example application of an image processing system that is responsive to user interaction. 図18に示したアプリケーションのフットボールを”放した”後のギアリング量の例示的変化を示したグラフの説明図。FIG. 19 is an explanatory diagram of a graph showing an exemplary change in the amount of gearing after “releasing” the football of the application shown in FIG. 18; ユーザ入力をコンピュータプログラムに受信する例示的手順を示したフローチャート。6 is a flowchart illustrating an exemplary procedure for receiving user input into a computer program.

Claims (21)

  1. コンピュータゲームシステムとインタラクティブにインターフェースする方法であって、
    前記コンピュータゲームシステムにより解釈される慣性データを伝達する入力デバイスを提供するステップと、
    前記コンピュータゲームシステムによって実行される、前記入力デバイスによって提供された前記慣性データに対応づけられているアクションを識別するステップと、
    前記コンピュータゲームシステムによって実行される前記アクションと、前記入力デバイスから受信した前記慣性データ間にギアリングをかけるステップと、を含み、
    前記ギアリングは、前記コンピュータゲームシステムによって実行される前記アクションに影響を与えるように調節をスケーリングし、さらに、前記ギアリングは前記入力デバイスの位置に応じて時間に対して動的に調整可能なものであり、
    前記ギアリングの対象となるアクションの間に、前記ギアリングによるスケーリングが行われる、方法。
    A method of interactively interfacing with a computer game system,
    Providing an input device for transmitting inertial data interpreted by the computer game system;
    Identifying an action associated with the inertial data provided by the input device performed by the computer game system;
    Including gearing between the action performed by the computer game system and the inertial data received from the input device;
    The gearing scales adjustments to affect the action performed by the computer gaming system, and the gearing is dynamically adjustable over time depending on the position of the input device Monodea is,
    A method wherein scaling by the gearing is performed during an action subject to the gearing .
  2. 前記アクションは、(a)前記コンピュータゲームシステムにより実行されたコンピュータゲームのオブジェクトにより、移動量を設定する(b)処理を実行する変数を設定する(c)音声または振動に影響を及ぼす処理に対して変化率を設定する、または(d)グラフィカルオブジェクトの移動の変化率を設定する、のうちの1つを含む、請求項1記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  The action includes (a) setting a movement amount according to an object of a computer game executed by the computer game system, (b) setting a variable for executing the process, and (c) processing that affects sound or vibration. A method of interactively interfacing with a computer game system as recited in claim 1, including one of: setting a rate of change; or (d) setting a rate of change of movement of a graphical object.
  3. 少なくとも周期的に前記慣性データを分析するステップと、
    前記ギアリングによりアップデートされた変更を用いて、少なくとも周期的に前記アクションを再度適用するステップと、をさらに含む、請求項1記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。
    Analyzing the inertial data at least periodically;
    The method of interactively interfacing with a computer game system according to claim 1, further comprising: reapplying the action at least periodically using changes updated by the gearing.
  4. 前記ギアリングがアップデート済みであると判断された場合に、前記アップデートされたギアリングを、次のアクションの前に、または所定の期間において段階的に、前記アクションの処理を続行しながら適用する、請求項3記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  If it is determined that the gearing has been updated, apply the updated gearing before the next action or stepwise for a predetermined period of time while continuing to process the action; A method for interactively interfacing with a computer game system according to claim 3.
  5. 前記ギアリングが調整済みの場合、前記調整済みのギアリングは(a)段階的に、(b)漸進的に、または(c)スムーズにかけられ、前記アクションに影響を与えるようにする、請求項3記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  The adjusted gear ring is (a) phased, (b) incrementally, or (c) smoothly applied when the gear ring is adjusted to affect the action. A method of interactively interfacing with the computer game system of claim 3.
  6. 前記慣性データは、前記入力デバイスの座標情報を識別するために分析され、前記座標情報は、前記対応付けによってベクトルデータに変換されて前記アクションに適用される、請求項1記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  The computer game system according to claim 1, wherein the inertial data is analyzed to identify coordinate information of the input device, and the coordinate information is converted into vector data by the association and applied to the action. How to interface interactively.
  7. 前記ベクトルデータは、前記ギアリングの調整に応じてスケーリングされる、請求項6記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  The method of interactively interfacing with a computer game system according to claim 6, wherein the vector data is scaled in response to adjustment of the gearing.
  8. 前記ベクトルデータは、前記ベクトルデータを前記ギアリングにより定義されるギアリング量で掛けることによりスケーリングされる、請求項6記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  7. The method of interactively interfacing with a computer game system according to claim 6, wherein the vector data is scaled by multiplying the vector data by a gearing amount defined by the gearing.
  9. 前記入力デバイスは、前記入力デバイスの位置と通信データとを検出するように使用される複数の光源を含む、請求項6記載のコンピュータゲームシステムとインタラクティブにインターフェースする方法。  The method of interactively interfacing with a computer game system according to claim 6, wherein the input device includes a plurality of light sources used to detect the position of the input device and communication data.
  10. ユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステムであって、
    コンピューティングシステムと、
    前記コンピューティングシステムに結合されているか、または前記コンピューティングシステムにより実行される慣性検出アナライザと、
    前記コンピューティングシステムにより実行される前記コンピュータプログラムとインターフェースする入力デバイスとを含み、前記入力デバイスは、前記入力デバイスで生成された慣性データと、前記慣性アナライザにより分析された前記コンピュータプログラムに適用されるアクションとの間にスケーリングを定めるギアリングコントロールを有し、前記スケーリングは、前記入力デバイスの位置に応じて時間に対して動的に調整可能なものであって、
    前記ギアリングコントロールの変更は、前記コンピュータプログラムのオブジェクトとのインタラクティビティの前、インタラクティビティの間、またはインタラクティビティの後に設定されるものであって、前記変更は、前記コンピュータプログラムに適用される前記アクションを実行する間に、その都度前記オブジェクトによる異なる反応を伝える役割を果たし、
    前記ギアリングの対象となるアクションの間に、前記ギアリングによるスケーリングが行われる、システム。
    A system that enables dynamic user interactivity between user actions and actions performed by a computer program,
    A computing system;
    An inertial detection analyzer coupled to or executed by the computing system;
    An input device that interfaces with the computer program executed by the computing system, the input device being applied to inertial data generated by the input device and the computer program analyzed by the inertial analyzer. A gearing control that defines scaling between actions, the scaling being dynamically adjustable with respect to time depending on the position of the input device,
    The change of the gearing control is set before the interactivity with the computer program object, during the interactivity, or after the interactivity, and the change is applied to the computer program. while executing the action, to each time a role of transmitting the different reaction by the object was fruit,
    A system in which scaling by the gearing is performed during the action to be geared .
  11. 前記コンピュータプログラムは、インタラクティブアプリケーションである、請求項10記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  11. A system that enables dynamic user interactivity between a user action and an action performed by the computer program of claim 10, wherein the computer program is an interactive application.
  12. 前記インタラクティブアプリケーションは、ビデオゲームである、請求項11記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  12. The system that enables dynamic user interactivity between a user action and an action performed by a computer program according to claim 11, wherein the interactive application is a video game.
  13. 前記入力デバイスは、コントローラまたは手持ち式のオブジェクトである、請求項11記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  12. The system for enabling dynamic user interactivity between a user action and an action performed by a computer program according to claim 11, wherein the input device is a controller or a handheld object.
  14. 前記コントローラまたは手持ち式のオブジェクトは、位置検出のための発光ダイオードを含む、請求項13記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  14. The system for enabling dynamic user interactivity between a user action and an action performed by a computer program according to claim 13, wherein the controller or handheld object includes a light emitting diode for position detection.
  15. 前記コントローラまたは手持ち式のオブジェクトは、前記コンピューティングシステムに前記アクションを行わせるようにする音声または超音波信号を伝達するためのスピーカを含む、請求項13記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  14. The user action and computer program of claim 13, wherein the controller or handheld object includes a speaker for transmitting audio or ultrasonic signals that cause the computing system to perform the action. A system that enables dynamic user interactivity between actions.
  16. 前記コントローラまたは手持ち式のオブジェクトは前記コンピュータプログラムによるアクションを引き起こすように、前記コンピューティングシステムと通信するためのユーザからの入力を受信するマイクロフォンを含む、請求項13記載のユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にするシステム。  14. The user action and computer program of claim 13, wherein the controller or handheld object includes a microphone that receives input from a user to communicate with the computing system to cause an action by the computer program. A system that allows dynamic user interactivity between executed actions.
  17. ユーザのアクションとコンピュータプログラムにより実行されるアクション間に動的なユーザインタラクティビティを可能にする装置であって、
    コンピューティングシステムにより実行される前記コンピュータプログラムとインターフェースする入力デバイスを含み、前記入力デバイスは前記コンピューティングシステムにより適用されるアクションに対応づけられた前記入力デバイスの慣性データ間にスケーリング値を定めるギアリングコントロールを有するもので、前記スケーリングは、前記入力デバイスの位置に応じて時間に対して動的に調整可能なものであり、前記ギアリングコントロールは、ボタンから引き起こされる変更に応じて、あるいは、前記コンピュータプログラムとのインタラクティビティの前、インタラクティビティの間、またはインタラクティビティの後に前記コンピュータプログラムにより引き起こされる変更に応じてその都度動的に変更することができ
    前記ギアリングの対象となるアクションの間に、前記ギアリングによるスケーリングが行われる、装置。
    A device that enables dynamic user interactivity between user actions and actions performed by a computer program,
    Gearing that includes an input device that interfaces with the computer program executed by a computing system, the input device defining a scaling value between inertial data of the input device associated with an action applied by the computing system And wherein the scaling is dynamically adjustable with respect to time depending on the position of the input device, and the gearing control is dependent on a change caused by a button, or Can change dynamically each time in response to changes caused by the computer program before, during or after the interactivity with the computer program ,
    An apparatus wherein scaling by the gearing is performed during an action subject to the gearing .
  18. 前記入力デバイスは、位置検出のための発光ダイオードを含むコントローラまたは手持ち式のオブジェクトである、請求項17記載のユーザのアクションとコンピュータプログラムのオブジェクトにより実行されるアクション間に動的なユーザインタラクティビティを可能にする装置。  The user input according to claim 17, wherein the input device is a controller or a hand-held object that includes a light emitting diode for position detection, and provides dynamic user interactivity between actions performed by a computer program object. A device that enables.
  19. 前記コントローラまたは手持ち式のオブジェクトは、前記コンピューティングシステムに前記アクションを行わせるようにする音声または超音波信号を伝達するためのスピーカを含む、請求項18記載のユーザのアクションとコンピュータプログラムのオブジェクトにより実行されるアクション間に動的なユーザインタラクティビティを可能にする装置。  19. The user action and computer program object of claim 18, wherein the controller or handheld object includes a speaker for transmitting audio or ultrasonic signals that cause the computing system to perform the action. A device that allows dynamic user interactivity between actions performed.
  20. 前記コントローラまたは手持ち式のオブジェクトは、前記コンピュータプログラムによるアクションを引き起こすように、前記コンピューティングシステムと通信するためのユーザからの入力を受信するマイクロフォンを含む、請求項19記載のユーザのアクションとコンピュータプログラムのオブジェクトにより実行されるアクション間に動的なユーザインタラクティビティを可能にする装置。  The user action and computer program of claim 19, wherein the controller or handheld object includes a microphone that receives input from a user to communicate with the computing system to cause an action by the computer program. A device that allows dynamic user interactivity between actions performed by different objects.
  21. 前記ギアリングの動的な調整は、少なくともその一部はユーザ設定に基づくものである、請求項1記載の方法。  The method of claim 1, wherein the dynamic adjustment of the gearing is based at least in part on user settings.
JP2009509745A 2002-07-27 2007-05-04 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data Active JP4567805B2 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US11/381,729 US7809145B2 (en) 2006-05-04 2006-05-04 Ultra small microphone array
US11/381,721 US8947347B2 (en) 2003-08-27 2006-05-04 Controlling actions in a video game unit
US11/381,728 US7545926B2 (en) 2006-05-04 2006-05-04 Echo and noise cancellation
US11/381,724 US8073157B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for targeted sound detection and characterization
US11/381,727 US7697700B2 (en) 2006-05-04 2006-05-04 Noise removal for electronic device with far field microphone on console
US11/381,725 US7783061B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for the targeted sound detection
US11/382,038 US7352358B2 (en) 2002-07-27 2006-05-06 Method and system for applying gearing effects to acoustical tracking
US11/382,036 US9474968B2 (en) 2002-07-27 2006-05-06 Method and system for applying gearing effects to visual tracking
US11/382,040 US7391409B2 (en) 2002-07-27 2006-05-07 Method and system for applying gearing effects to multi-channel mixed input
US11/382,041 US7352359B2 (en) 2002-07-27 2006-05-07 Method and system for applying gearing effects to inertial tracking
PCT/US2007/010852 WO2007130582A2 (en) 2006-05-04 2007-05-04 Computer imput device having gearing effects

Publications (2)

Publication Number Publication Date
JP2009535167A JP2009535167A (en) 2009-10-01
JP4567805B2 true JP4567805B2 (en) 2010-10-20

Family

ID=38668336

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2009509745A Active JP4567805B2 (en) 2002-07-27 2007-05-04 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data
JP2008333907A Active JP4598117B2 (en) 2002-07-27 2008-12-26 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data
JP2009141043A Active JP5277081B2 (en) 2002-07-27 2009-06-12 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2008333907A Active JP4598117B2 (en) 2002-07-27 2008-12-26 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data
JP2009141043A Active JP5277081B2 (en) 2002-07-27 2009-06-12 Method and apparatus for providing a gearing effect to an input based on one or more visual, acoustic, inertial and mixed data

Country Status (4)

Country Link
EP (1) EP2013865A4 (en)
JP (3) JP4567805B2 (en)
KR (1) KR101060779B1 (en)
WO (1) WO2007130582A2 (en)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8888593B2 (en) * 2005-10-26 2014-11-18 Sony Computer Entertainment Inc. Directional input for a video game
CN103272385B (en) * 2008-10-27 2016-09-28 索尼电脑娱乐公司 Game input device with configurable operator scheme
US20090088249A1 (en) 2007-06-14 2009-04-02 Robert Kay Systems and methods for altering a video game experience based on a controller type
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
WO2010006054A1 (en) 2008-07-08 2010-01-14 Harmonix Music Systems, Inc. Systems and methods for simulating a rock and band experience
US9898675B2 (en) * 2009-05-01 2018-02-20 Microsoft Technology Licensing, Llc User movement tracking feedback to improve tracking
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
KR20100138725A (en) * 2009-06-25 2010-12-31 삼성전자주식회사 Method and apparatus for processing virtual world
WO2011056657A2 (en) 2009-10-27 2011-05-12 Harmonix Music Systems, Inc. Gesture-based user interface
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
WO2011070596A1 (en) * 2009-12-09 2011-06-16 Danilo Pasquariello Control device for console-based videogames
US8568234B2 (en) 2010-03-16 2013-10-29 Harmonix Music Systems, Inc. Simulating musical instruments
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
WO2011155958A1 (en) 2010-06-11 2011-12-15 Harmonix Music Systems, Inc. Dance game and tutorial
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
KR101441289B1 (en) * 2010-08-27 2014-09-29 에스케이플래닛 주식회사 Method and apparatus for creating digital contents considering input sensitivity of mobile device
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
US20120218395A1 (en) * 2011-02-25 2012-08-30 Microsoft Corporation User interface presentation and interactions
JP6041466B2 (en) * 2011-06-01 2016-12-07 任天堂株式会社 Information processing program, information processing apparatus, information processing system, and information processing method
US8884949B1 (en) 2011-06-06 2014-11-11 Thibault Lambert Method and system for real time rendering of objects from a low resolution depth camera
US20130080976A1 (en) * 2011-09-28 2013-03-28 Microsoft Corporation Motion controlled list scrolling
JP6177145B2 (en) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus and information processing method
JP6177147B2 (en) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus and information processing method
JP6027554B2 (en) 2014-01-21 2016-11-16 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus, information processing system, block system, and information processing method
JP6177146B2 (en) * 2014-01-21 2017-08-09 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus and information processing method
JP6193135B2 (en) 2014-01-21 2017-09-06 株式会社ソニー・インタラクティブエンタテインメント Information processing apparatus, information processing system, and information processing method
EP3098782A4 (en) * 2014-01-21 2017-08-09 Sony Interactive Entertainment Inc. Information processing device and information processing method
EP3392748B1 (en) * 2017-04-21 2020-08-12 HTC Corporation System and method for position tracking in a virtual reality system
EP3650988A1 (en) * 2018-11-09 2020-05-13 iXperienz GmbH & Co. KG Input device and method for inputting information, as well as a method for generating a virtual pointer
US10893127B1 (en) * 2019-07-26 2021-01-12 Arkade, Inc. System and method for communicating interactive data between heterogeneous devices
US10946272B2 (en) 2019-07-26 2021-03-16 Arkade, Inc. PC blaster game console
US10773157B1 (en) 2019-07-26 2020-09-15 Arkade, Inc. Interactive computing devices and accessories

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07284166A (en) * 1993-03-12 1995-10-27 Mitsubishi Electric Corp Remote controller
SE504846C2 (en) * 1994-09-28 1997-05-12 Jan G Faeger Control equipment with a movable control means
US6400374B2 (en) * 1996-09-18 2002-06-04 Eyematic Interfaces, Inc. Video superposition system and method
JPH10177451A (en) * 1996-12-16 1998-06-30 Fujitsu Ltd Device for inputting instruction
US6720949B1 (en) * 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
JP3847058B2 (en) * 1999-10-04 2006-11-15 任天堂株式会社 GAME SYSTEM AND GAME INFORMATION STORAGE MEDIUM USED FOR THE SAME
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
JP3611807B2 (en) * 2001-07-19 2005-01-19 コナミ株式会社 Video game apparatus, pseudo camera viewpoint movement control method and program in video game
JP4123878B2 (en) * 2001-09-17 2008-07-23 富士ゼロックス株式会社 Photoelectric conversion unit, position direction measuring apparatus, and position direction measuring method
JP4028708B2 (en) * 2001-10-19 2007-12-26 株式会社コナミデジタルエンタテインメント GAME DEVICE AND GAME SYSTEM
JP5109221B2 (en) * 2002-06-27 2012-12-26 新世代株式会社 Information processing device equipped with an input system using a stroboscope
US20040212589A1 (en) * 2003-04-24 2004-10-28 Hall Deirdre M. System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources
WO2005003945A1 (en) * 2003-07-02 2005-01-13 Ssd Company Limited Information processing device, information processing system, operating article, information processing method, information processing program, and game system
JP2005046422A (en) * 2003-07-30 2005-02-24 Samii Kk Game machine controller
TW200609024A (en) * 2004-05-11 2006-03-16 Ssd Co Ltd Entertainment apparatus and operating method thereof

Also Published As

Publication number Publication date
WO2007130582A2 (en) 2007-11-15
JP5277081B2 (en) 2013-08-28
JP2009112829A (en) 2009-05-28
JP2009535167A (en) 2009-10-01
EP2013865A4 (en) 2010-11-03
KR101060779B1 (en) 2011-08-30
JP4598117B2 (en) 2010-12-15
KR20090025228A (en) 2009-03-10
EP2013865A2 (en) 2009-01-14
JP2009266241A (en) 2009-11-12
WO2007130582A3 (en) 2008-12-04

Similar Documents

Publication Publication Date Title
US10137374B2 (en) Method for an augmented reality character to maintain and exhibit awareness of an observer
US10150032B2 (en) Device for interfacing with a computing program using a projected pattern
JP6616361B2 (en) Gameplay transition on the head-mounted display
US9364748B2 (en) System and method for detecting moment of impact and/or strength of a swing based on accelerometer data
US9545572B2 (en) Systems and methods for determining functionality of a display device based on position, orientation or motion
US10195528B2 (en) Systems for using three-dimensional object as controller in an interactive game
US9933851B2 (en) Systems and methods for interacting with virtual objects using sensory feedback
US9236032B2 (en) Apparatus and method for providing content experience service
US10282882B2 (en) Augmented reality simulation continuum
JP5756198B2 (en) Interactive user-controlled avatar animation
US9197878B2 (en) Methods for interfacing with an interactive application using a controller with an integrated camera
US9152248B1 (en) Method and system for making a selection in 3D virtual environment
JP6158406B2 (en) System for enabling video capture of interactive applications on mobile devices
CN102184009B (en) Hand position post processing refinement in tracking system
US10445884B2 (en) Control device for communicating visual information
US8839279B2 (en) Gesture cataloging and recognition
US10960307B2 (en) Voice command controller for communicating with a gaming system
KR20160018691A (en) Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system
JP5654430B2 (en) Use of a portable game device to record or change a game or application running in a home game system in real time
US8961313B2 (en) Multi-positional three-dimensional controller
KR20180095741A (en) Systems and methods for reducing hops associated with a head mounted system
JP5727134B2 (en) Entertainment system, secondary entertainment apparatus, display method, storage medium, and program
US10421013B2 (en) Gesture-based user interface
US9339724B2 (en) Method and apparatus for using a common pointing input to control 3D viewpoint and object targeting
US8175993B2 (en) Computer-readable storage medium having information processing program stored thereon and information processing apparatus

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090811

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090818

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090924

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091013

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100519

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100608

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4567805

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250