説明

パターンに基づくコンピュータビジョンを用いるコンピュータ装置のための入力

【課題】ユーザの足や手の近接度を追跡する技術を提供する。
【解決手段】カメラから取得した、面上に形成された構造的に符号化されたパターンの少なくとも一部の画像を解析してカメラの位置を決定する。前記構造的に符号化されたパターンは複数の要素を含む。各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている。コンピュータプログラムが、前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、「CAPACITIVE INPUT FOR COMPUTER PROGRAM」と題する、譲受人を同じくする米国の同時係属出願第12/792,567号(代理人の整理番号はSCEA09071US00であり本出願と同日に出願された)と関連し、開示内容全体を参照によりここに完全に組み入れる。
【0002】
本出願は、「MAGNETIC INPUT FOR COMPUTER DEVICE」と題する、譲受人を同じくする米国の同時係属出願第12/792,586号(代理人の整理番号はSCEA09072US00であり本出願と同日に出願された)と関連し、開示内容全体を参照によりここに完全に組み入れる。
【0003】
本出願は、一般にコンピュータエンタテインメント装置に関し、より具体的にはパターンに基づくコンピュータビジョンを用いるコンピュータエンタテインメント装置に関する。
【背景技術】
【0004】
ビデオゲームは娯楽としてとても人気のある形態となっている。典型的なビデオゲームは、ユーザからの入力を受け取るためにインタフェースないしコントローラを利用する。よく見られるタイプのコントローラは、押しボタンやジョイスティックで入力する手でもって操作するコントローラである。別のタイプのコントローラであって、一般に「ダンスパッド」と呼ばれるものは、ダンスに基づくゲームに使用される。典型的なダンスに基づくゲームにおいては、ユーザは、ビデオスクリーンに表示されるある種の可視的表示器への応答として、ダンスパッド上の選択されたボタンを特定の時間に押すように促される。ダンスパッドの内部において、コントロールボタンは一般的に、プラスティックのマットの中に統合されている。マットの異なる領域上でステップしたりダンスしたりすることによって、ユーザは対応するコントロールボタンを押すことができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ダンスパッドは基本的に、手ではなくて足で操作される押しボタンコントローラとして動作する。しかしながら、ダンスパッドはユーザの足の近接度は追跡しない。
【0006】
本発明はこのような文脈から生まれた。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様は、コンピュータ装置のための入力装置である。この装置は、コンピュータが実行可能な命令を実行するコンピュータプロセッサを含む。ここで前記命令は、a)面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラから獲得する機能であって、前記構造的に符号化されたパターンは複数の要素を含み、各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている機能と、b)前記画像中の一またはそれ以上の要素の少なくとも一部を特定する機能と、c)前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する機能と、を前記コンピュータ装置に実現させる。
【0008】
上記課題を解決するために、本発明の別の態様も、コンピュータ装置のための入力装置である。この装置は、面上に形成された構造的に符号化されたパターンであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているパターンと、前記パターンの少なくとも一部の画像を獲得するよう動作するカメラと、前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定する前記カメラと接続するプロセッサユニットとを含む。
【0009】
上記課題を解決するために、本発明の別の態様は、コンピュータプログラムへの入力を受信する方法である。この方法は、面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、を含む。
【図面の簡単な説明】
【0010】
本発明の実施の形態は、添付の図面と併せて、以下の詳細な説明を考慮することによって容易に理解される。
【図1】本発明の実施の形態に係るコンピュータシステムのための入力装置を示す概略図である。
【図2A】図2Aは、図1のインタフェースで利用可能な構造的に符号化されたパターンの一例を示す概略図である。
【図2B】図2Bは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図2C】図2Cは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図2D】図2Dは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図2E】図2Eは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図3】図3Aは、本発明の別の実施の形態に係るコンピュータシステムのための入力装置を用いるシステムの一例を示す概略図である。
【図4】本発明の別の実施の形態に係る、コンピュータシステム用の入力装置を用いるシステムの一例を示す概略図である。
【図5】本発明の実施の形態に係るコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0011】
以下の詳細な説明には、説明のための多くの具体的な詳細事項が含まれるが、それらに対する多くの変更や修正も本発明の技術範囲に含まれることは、当業者であれば誰でも理解するであろう。したがって、以下に説明する本発明の例示的な実施の形態は、請求項に記載された発明の一般性をなんら損なうことなく、また限定も行うことなく記載されている。
【0012】
[前提技術]
本発明の実施の形態は、本明細書においてパターンに基づくコンピュータビジョンと称される概念を利用する。
【0013】
本発明の実施の形態によれば、入力装置は、パターンに基づくコンピュータビジョンを利用する面に対するカメラの位置および/または動きを追跡することができる。構造的に符号化されたパターンは、ある面の上にプリントされている。その面に対するカメラの相対的な位置(x,y,z)および向き(垂直角,回転角,および水平角)を決定するために、カメラはパターンの一部を含むその面の画像を解析する。コンピュータビジョンシステムは、面に関するパターンの要素の位置を調整して画像内のパターンの要素を参照するために、リアルタイムで撮像した画像内にあるパターンの一部を解析することによって、カメラの位置および向きを追跡することができる。
【0014】
本発明の実施の形態によれば、構造的に符号化されたパターン(サイバーコード(cyber−code)と呼ばれることもある。)をマットやその他の面上にプリントすることができる。カメラは、ユーザの各足の後ろやユーザの手のひらに装着することができる。
【0015】
[実施の形態]
第1の実施形態によれば、コンピュータ装置用の入力装置101は、コンピュータに実行可能な命令108を実行するコンピュータプロセッサ106を含んでもよい。命令108は、面上に形成されている構造的に符号化されたパターンの少なくとも一部の画像を取得することをコンピュータ装置に実現させる。カメラ104は、カメラ104の視野FOV内に位置するパターン102の部分の画像を取得することができる。画像103は、プロセッサ106に接続しているメモリ105内にアナログまたはデジタルの形式で格納することができる。カメラ104は、適切なデータリンクによって、プロセッサ106および/またはメモリ105に接続してもよい。データリンクは、電気または光ファイバケーブル、あるいは高周波(radiofrequency;RF)、赤外または光無線通信(free space optical link)のような無線通信手段によって実装してもよい。あるいは、メモリ105とプロセッサ106とは、カメラ104の部品である集積回路によって実装してもよい。
【0016】
構造的に符号化されたパターン102は、複数の要素を含んでいる。各要素は、面に関する要素の位置および方向を特定する情報が符号化されている。命令108は、画像103内の一またはそれ以上の要素の少なくとも一部を、プロセッサ106に特定させる。命令はさらに、画像103内の一またはそれ以上のパターンに符号化されている情報から、面に対するカメラの位置をプロセッサ106に決定させるように構成してもよい。
【0017】
プロセッサ106は、コンピュータプログラム110への入力としてカメラの位置を利用することができる。限定するわけではないが、一例として、プログラム110は、ビデオゲームプログラムのようなゲームプログラムとすることができる。
【0018】
限定するわけではないが、例として、図2Aは構造的に符号化されたパターン202の一例を示す。構造的に符号化されたパターン202は、例えばプリントの形でマット上に形成してもよい。あるいは、パターン202は、床や壁、あるいは他の適切な面上に直接プリントや別の方法で形成してもよい。構造的に符号化されたパターンは、複数のセル201を含むことができる。各セルは、パターン中における他の全てのセル内の他の全ての要素とは異なる一意的な要素を含む。格子線203は、他のセルからあるセルを区別することを容易にする。図2Aに示す例では、セル201それぞれの中のパターンは、3×3の正方形の格子に基づく。格子内の正方形は白または黒のいずれかである。各要素内の白および黒の正方形のパターンは、ふたつとして類似する要素がないように選ばれる。このように、プロセッサ106は、セル内の白および黒の正方形のパターンによって、画像中の所与のセルを特定することができる。
【0019】
ある実施の形態では、プロセッサ106は、画像103をパターン202を表す参照データと比較することによってカメラの位置を決定するように構成することができる。参照データからの画像から、カメラの位置を決定する方法は多数ある。例えば、画像の中心Cは、3次元におけるカメラの位置の、パターン202の平面への投影と関連づけることができる。各セルは、パターン202内の既知の位置と関連づけることができる。図2Bに示すように、命令108は、画像103の中心Cに最も近いセル201を特定することができる。画像の中心Cと最も近いセルの位置は、粗い位置を提供することができる。セル201の中心C’に関して画像の中心Cの位置を決定することによって、粗い位置の精度を向上することができる。
【0020】
パターン202の平面に対して垂直な方向におけるカメラ104の距離Dを決定するために、プロセッサ106は画像103を解析することができる。本明細書において、「垂直な方向の距離」とは、パターンの平面に垂直な軸に沿った距離のことを意味する。例として図2Cに示すように、画像103内のセル202の特徴的なサイズwは、セル202の参照サイズWと比較される。参照サイズWは、カメラ104がパターン202から垂直な方向に既知の距離Drefの位置となったときに決定される。垂直方向の距離Dは、既知の垂直方向の距離Dref、およびWとwとの比W/wから下記の式を用いて決定することができる。
D=Dref(W/w)
【0021】
図2Dおよび図2Eに示すように、命令108は、パターン202に対するカメラ104の角度方向を決定するように構成されてもよい。例えば、各要素201内の白の正方形と黒い正方形とのパターンは、各要素が、平面に垂直な軸に関して回転対称とはならないように選ばれる。パターンが回転対称でない場合、プロセッサ106は、平面に垂直な軸に対するカメラの回転配向角φを決定することができる。の回転配向角φの決定は、図2Dに示すように、画像103内のセル201の方向を参照セル201’の方向と比較することによって行われる。
【0022】
あるいは、命令108は、パターン202に関するカメラの垂直角や回転角を決定するために、プロセッサ106に画像103内のセル201の歪みを解析させることができる。例えば図2Eに示すように、命令108は、画像103中のセル内あるいはセル間の格子線の輻輳角θを解析することができる。輻輳角θは、パターン202に関するカメラの垂直角と関連づけることができる。
【0023】
図3に示される装置の多数のバリエーションは、本発明の実施の形態の範囲内である。例えば、上述したように、構造的に符号化されたパターンがマット上に形成されてもよい。保管のために丸めたり折りたたんだりすることができるように、マットは柔軟性を持った材料で作ることができる。限定するわけではないが、例として、マットは、ポリマー、ゴム、布または網、あるいはそれらの層を持つ複合材料から作ることができる。
【0024】
本発明の実施の形態によれば、図1および図2A−図2Eに関して上述した形式の装置は、ユーザの足の動きを感知するように構成されてもよい。構造的に符号化されたパターンは、例えばマット上にパターンをプリントしてそのマットを床の上に置く等により、床の上に置くことができる。ユーザの足の動きを感知するために、ユーザは両端にカメラを装着してもよい。
【0025】
限定しない例として、図3に示す本発明の別の実施の形態によれば、コンピュータ装置(例えばコンピュータ娯楽装置)用の入力装置300は、ユーザUの足Fに装着するように構成された一またはそれ以上のカメラ304と、複数の要素を含んでいる構造的に符号化されたパターン302を持つマット303とを含んでもよい。ここで複数の要素は、各要素の位置および向きを特定する情報が符号化されている。パターン302は、図2A−Eに関して上述したように構成してもよい。
【0026】
複数のカメラ304はプロセッサ306と接続可能である。プロセッサは、カメラ304のそれぞれの視野内に存在するパターン302の一部の画像の解析から各カメラの位置を決定するためのコード命令308を実行することができる。例として、カメラ304は送信機310と受信機312とを介してプロセッサ306と無線で接続することができる。限定するわけではないが、例として、送信機310と受信機312とは、Bluetooth(登録商標)のような高周波リンクを通して、ワイヤレスパーソナルエリアネットワーク(wireless personal area network; WPAN)接続を実装することができる。
【0027】
限定するわけではないが例として、プロセッサ306は、カメラ304からのパターン302の少なくとも一部の画像を取得し、画像中の一またはそれ以上のパターンの要素の少なくとも一部を識別し、さらに画像中のパターンの要素内に符号化されている情報からカメラの位置を決定することによって、各カメラ304の位置を決定するように構成することができる。
【0028】
ある実施の形態では、プロセッサ306は、カメラ304の位置をコンピュータプログラム314への入力として生成するように構成することができる。このような実施の形態では、プログラム314はゲームプログラムまたはゲームプログラムの一部とすることができる。
【0029】
図4に示す本発明の別の実施の形態では、コンピュータ装置(例えばコンピュータ娯楽装置)のための入力装置400は、ユーザの手Hに装着されるように構成されている一またはそれ以上のカメラ404と、複数の要素を含む構造的に符号化されたパターン402を持つマット403とを含んでもよい。ここで複数の要素それぞれは、各要素の位置および方向を特定する情報が符号化されている。パターン402は、図2A−図2Eに関して上述したように構成されてもよい。
【0030】
カメラ404は、例えば無線送信機410と受信機412とを通して、プロセッサ406と接続することができる。プロセッサ406は、パターン402の部分画像の解析から、各カメラの位置を決定するためのコード命令408を実行することができる。プロセッサ406は、カメラ404からの少なくともパターン402の部分画像から、例えば上述した方法によってカメラ404それぞれの位置を決定するように構成することができる。
【0031】
本発明の実施の形態に係るパターンに基づくコンピュータビジョン装置は、多数ある方法の内のどの方法によっても、コンピュータ娯楽装置と組み合わせることができる。例として、図5は本発明の実施の形態に係るパターンに基づくコンピュータビジョン装置を利用する、コンピュータ娯楽装置500を示す。例として、一般性を失うことなく、装置500は、パーソナルコンピュータ、ビデオゲームコンソール、PDA(personal digital assistant)、携帯電話または携帯ゲーム機、携帯型インターネット装置、または他のデジタルデバイスのようなコンピュータシステムの一部として実装されてもよい。好ましい実施の形態では、装置はビデオゲームコンソールの一部として実装される。
【0032】
装置500は、一般に一またはそれ以上のプロセッシングユニットを含む。限定するわけではないが例として、一またはそれ以上のプロセッシングユニットは、少なくともひとつのメインプロセッシングユニット501と、一またはそれ以上のコプロセッサ要素502A、502Bを含んでもよい。各コプロセッサ要素はプロセッサユニットと関連するローカルメモリを所持してもよい。装置はプロセッシングユニット501から分離しているメモリユニット503やコプロセッサ要素502A、502Bを含むことができる。
【0033】
プロセッシングユニット501は一またはそれ以上のプロセッシングコアを含んでもよい。限定することなく一例として、メインプロセッシングユニット501とコプロセッサ要素502A、502Bとは、セルプロセッサのような並列プロセッサモジュールの部分としてもよい。プロセッサアーキテクチャの一例はCellプロセッサである。セルプロセッサアーキテクチャの例は、「セルブロードバンドエンジンアーキテクチャ」に詳細が記述されている。これは、IBM、ソニー・コンピュータエンタテインメント、東芝の2005年8月8日付けの著作権で保護されており、コピーはhttp://cell.scei.co.jp/からダウンロード可能であり、その内容全体を参照によってここに組み入れる。
【0034】
セルプロセッサアーキテクチャにおいては、プロセッシングユニット501に対応する計算ユニットはPPE(Power Processing Element)と呼ばれ、コプロセッサ要素502A、502Bに対応する計算ユニットはSPE(Synergistic Processing Element)と呼ばれる。セルプロセッサアーキテクチャは、本発明の実施の形態で利用しうる数ある適切なプロセッサアーキテクチャの中の一例にすぎないことに注意する。本発明の実施の形態は、他のマルチプロセッサアーキテクチャを用いて実装してもよい。
【0035】
メモリユニット503は、コンピュータに読み取り可能な形式の情報を格納する任意の適切な媒体であってもよい。限定するわけではないが一例として、メモリユニット503はRAM(random access memory)またはROM(read only memory)、固定ディスクドライブとしてハードディスクドライブのようなコンピュータに読み取り可能な格納ディスク、あるいは取り外し可能なディスクドライブを含んでもよい。
【0036】
装置500はまた、入出力(I/O)要素512、電源(P/S)513、クロック(CLK)514およびキャッシュ515などの公知のサポート機能511を備えてもよい。装置600は、ソフトウェアプログラム命令617およびデータ618用の不揮発性ストレージを提供するストレージデバイス616をさらに含んでもよい。例として、ストレージデバイス215は固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、テープドライブ、CD−ROM、DVD−ROM、Blu−Ray(登録商標)、HD−DVD、UMD、または他の光学ストレージデバイスであってもよい。
【0037】
パターンに基づくコンピュータビジョンインタフェース510は、例えば入出力要素512を介して、プロセッシングユニット501と接続してもよい。一般に、インタフェース510は、一またはそれ以上のカメラを含んでもよい。カメラはユーザの足または手に装着されるように構成されてもよい。カメラは適切な面上に設置されている、構造的に符号化されたパターンから画像を取得することができる。構造的に符号化されたパターンは、複数の要素を含むことができる。複数の要素それぞれは、要素の位置および向きを特定する情報が符号化されている。パターンは、図2A−図2E、図3、および図4に関して上述したように構成することができる。
【0038】
メインプロセッシングユニット501とコプロセッサ502A、502Bは、ソフトウェアアプリケーションとオプションとしてオペレーティングシステムとを実行するように構成されてもよい。そのようなソフトウェアアプリケーションの一部はメモリユニット503内に格納されてもよい。命令およびデータは、実行のため、メインプロセッサ501のレジスタまたはコプロセッサ要素502A、502Bのローカルストア内に読み込まれてもよい。ソフトウェアアプリケーションは、ビデオゲームアプリケーションのようなメインアプリケーション504を含んでもよい。メインアプリケーション504は、パターンに基づくカメラ位置ルーチン505とともに動作してもよい。この位置ルーチン505は、構造的に符号化されたパターン507の少なくとも一部の画像を取得し、画像内の一またはそれ以上の要素の少なくとも一部を特定し、画像中の一またはそれ以上のパターン要素内に符号化されている情報から、パターン507に対するカメラ506の位置を決定する。位置ルーチン505は、メモリ503内に格納されているパターンデータ509を利用してもよい。パターンデータ509は、各パターン要素内の構造的に符号化されたパターンを、パターン内の位置に関連づけることができる。位置ルーチン505は、パターンに対するカメラ506の位置および/または向きを決定するために、カメラ506を用いて取得したパターン507の画像から得られたデータを、パターンデータと比較することができる。
【0039】
位置ルーチン505は、インタフェース510の一部であり、かつメインプロセッサ501やコプロセッサ502A、502Bとは分離しているプロセッサ上に実装されてもよい。さらに、位置ルーチンの少なくとも一部分は、カメラ506の一部であるプロセッサによって実装されてもよい。
【0040】
カメラ位置ルーチン505は、一またはそれ以上のカメラが特定の位置内にあると判断されたとき、装置500の状態を変更するためのアプリケーション504を動作してもよい。ここで「状態の変更」とは、装置の動作内の変更のことをいう。例えば、状態の変更は、アプリケーション504によって扱われる別の処理によるコマンドの実行や、別の処理に用いられる特定のデータの選択を含んでもよい。装置に関してコマンドの実行における限定されない例としては、カメラの位置と予め定められた特定の時間におけるカメラの所定の位置とを比較する処理を開始することである。計算された位置が所定の位置に対してどの程度近接するかに基づいてスコアが計算されてもよい。所定の位置の配列が、プログラム504とともに演奏される音楽の断片内の時間基準のような、特定の時間基準に関して規定されてもよい。カメラはユーザの手または足に装着されてもよい。計算された位置を、関連する時刻における所定の位置と連続的に比較することによって、装置500は、ユーザがマット上でダンスするときのユーザの足および/または手の位置を連続的に追跡してもよい。プログラムは、所与の音楽の断片用に選択されたダンスステップの所定の並びを、ユーザがどの程度しっかりと追跡したかに基づいて、ユーザを採点することができる。
【0041】
装置500は、電子通信ネットワーク527を介してコミュニケーションを促進するためのネットワークインタフェース525を含む。ネットワークインタフェース525はローカルエリアネットワークおよびインターネットのようなワイドエリアネットワーク上の有線または無線通信を実装するように構成されてもよい。装置500は、ネットワーク527を介して1以上のメッセージパケット526によって、データの送受信および/またはファイルのリクエストをしてもよい。
【0042】
装置500は、グラフィックスプロセッシングユニット(GPU)535とグラフィックスメモリ537とを有するグラフィックスプロセッシングユニット530を更に含む。グラフィックスメモリ537は、出力イメージの各画素に対する画素データを格納するために使われるディスプレイメモリ(例えばフレームバッファ)を含む。グラフィックスメモリ537は、GPU535と同じデバイス内に統合されてもよく、別のデバイスとしてGPU535に結合されてもよく、メモリユニット503内に実装されてもよい。画素データは、プロセッシングユニット501および/またはコプロセッサ502A、502Bから直接グラフィックスメモリ537に提供される。ある実施の形態では、グラフィックスユニットは、デコーダ(図示せず)からのデジタル放送信号から抽出されたビデオ信号データを受信してもよい。あるいは、プロセッシングユニット501は、所望の出力イメージを定めるデータやインストラクションをGPU535に提供する。GPU535はそれを用いて1以上の出力イメージの画素データを生成する。所望出力イメージを定めるデータやインストラクションは、メモリ502やグラフィックスメモリ537に格納される。ある実施の形態では、GPU535は、例えば、適当なプログラミングまたはハードウェア・コンフィギュレーションによって構成され、シーンのためにジオメトリ、ライティング(照明)、シェーディング、テクスチャリング、モーション、および/またはカメラパラメータを定めるインストラクションとデータから出力イメージに対する画素データを生成するための3Dレンダリング機能をもつ。GPU535は、シェーダプログラムを実行することができるプログラム可能な実行ユニットを更に含む。
【0043】
グラフィックプロセッシングユニット530は、ディスプレイ540で表示されるべきグラフィックスメモリ537からのイメージに対する画素データを周期的に出力する。ディスプレイ540は、装置500からの信号に応じてビジュアル情報を表示することができる任意のデバイスであり、テキスト、数字、グラフィカルシンボルまたは画像を表示できるCRT、LCD、プラズマ、およびOLEDディスプレイを含む。装置500は、表示装置のタイプに応じてアナログまたはデジタルの形態でディスプレイ駆動信号をディスプレイ540に提供する。さらに、ディスプレイ540は、可聴もしくは検知可能な音を出すオーディオスピーカーを含んでもよい。
【0044】
そのような音の生成を容易にするために、装置500は、プロセッシングユニット501、メモリユニット502、および/またはストレージデバイス656によって提供されたインストラクションおよび/またはデータからアナログまたはデジタル音声出力を生成するために適したオーディオプロセッサ550を更に含む。音声出力は、例えばスピーカ655によって可聴音に変換される。
【0045】
メインプロセッシングユニット501、コプロセッサ要素502A、502B、インタフェース510、サポート機能511、データストレージ516、ゲームコントローラ、キーボード、あるいはマウスのような従来型のユーザ入力デバイス520、ネットワークインタフェース525、グラフィックスユニット530、オーディオプロセッサ550、を含む装置500の構成要素は、データバス560を介して互いに機能的に接続されている。これらの構成要素は、ハードウェア、ソフトウェアまたはファームウェア、あるいはこれらのうちの2つ以上の組合せで実装される。
【0046】
本発明の実施の形態は、マイクロフォン522やインタフェース510で用いるカメラ506に加えてカメラ524を利用するアプリケーションやシステムとともに用いることができる。カメラ524は、デプスカメラ(depth camera)や、時には3次元カメラまたはZカメラとしても知られるカメラであってもよい。マイクロフォン522とカメラ524は、入出力(I/O)機能を経由してデータバスと接続されてもよい。メインアプリケーション504は、カメラ524の視野FOV内の人物や物体の位置に関する情報を決定するために、カメラを用いて得られた画像を解析してもよい。位置情報は人物や物体の深さZを含めることができる。メインアプリケーション504は、ユーザの位置に関する情報およびユーザの体の向きに関する情報を得るために、上述した静電容量インタフェースから得られた情報とともに位置情報を使ってもよい。この情報はアプリケーション504への追加的な入力を生成するために用いられてもよい。
【0047】
本発明の実施の形態によれば、従来の先行技術におけるダンスマットよりも、高い分解能でユーザの足および/または手の位置の追跡が可能となる。その上さらに、本発明の実施の形態によれば、ユーザの手および/またはカメラが設置されているユーザの体の他の部分を追跡することができる。
【0048】
さらに加えて、本発明の実施の形態によれば、足の相対的な位置に関して一次および二次の時間微分が可能となる。このような微分値は、足の速度および加速度を測定するために用いることができる。関節でつながっている開鎖の体であるため、このような速度および加速度の情報は、逆運動学や軌道計画を用いて足を超えて体全体の動きをさらに推測するのに有用である。
【0049】
さらに、本発明の実施の形態は、ゲームの域を超えたアプリケーションにも役立つ。例えば、ロボット技術のアプリケーションにおいて、ロボットはカメラを含むことができ、構造的なパターンを認識するルーチンを、ロボットを制御するプロセッサ内にコード化してもよい。部屋全体、あるいは他の領域を適切な構造的に符号化されたパターンで覆ってもよい。ロボットは、部屋内を人工知能に基づいて動くとき、カメラおよび本明細書に記載されている構造的なパターンに基づく位置決定技術を移動に利用することができる。
【0050】
本発明の実施の形態における別の可能なアプリケーションは、限定されるわけではないが、おもちゃ産業である。例として、一群の小さな電動ロボットのおもちゃは、カメラを取り付けることができる。各カメラは、構造的に符号化されたパターンとともに用いられる、カメラに基づく位置検出を実装するコンピュータシステムと接続することができる。ここで構造的に符号化されたパターンは、上述したようなマットの上に配置することができる。各ロボットのおもちゃは、サッカーチームのようなスポーツチームのプレイヤとして行動してもよい。各ロボットのおもちゃは、上述した方法で構造的に符号化されたパターンを参照として用いて、「競技場」における地震の位置を決定することができる。コンピュータシステムは、ユーザによってリアルタイムに制御可能な人工知能(Artificial intelligence;AI)戦略ゲームを実装することができる。
【0051】
読者の注意は、本明細書とともに提出され、本明細書とともに公開された全ての論文や文書に向けられており、そのような論文や文書の内容は参照によりここに組み入れる。
【0052】
本明細書に開示された全ての特徴(添付のいずれの請求項、要約書、および図面を含む)は、特に断らない限り、同一の、等価な、あるいは類似の目的を達成する代替する特徴で置き換えられてもよい。したがって、特に断らない限り、開示された各特徴は等価または類似の一般的なシリーズのひとつの単なる例示である。
【0053】
本発明の好ましい実施の形態を完全な形で説明してきたが、いろいろな代替物、変形、等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決められるものではなく、請求項により決められるべきであり、均等物の全範囲も含まれる。ここで述べた特徴はいずれも、好ましいかどうかを問わず、他の特徴と組み合わせてもよい。請求項において、明示的に断らない限り、各項目は1またはそれ以上の数量である。請求項において「〜のための手段」のような語句を用いて明示的に記載する場合を除いて、請求項がミーンズ・プラス・ファンクションの限定を含むものと解してはならない。
【符号の説明】
【0054】
101 入力装置、 102 パターン、 103 画像、 104 カメラ、 105 メモリ、 106 コンピュータプロセッサ、 108 命令、 110 コンピュータプログラム、 201 セル、 202 パターン、 203 格子線、 215 ストレージデバイス、 300 入力装置、 302 パターン、 303 マット、 304 カメラ、 306 プロセッサ、 308 コード命令、 310 送信機、 312 受信機、 314 コンピュータプログラム、 400 入力装置、 402 パターン、 403 マット、 404 カメラ、 406 プロセッサ、 408 コード命令、 410 無線送信機、 412 受信機、 500 コンピュータ娯楽装置。

【特許請求の範囲】
【請求項1】
コンピュータ装置のための入力装置であって、コンピュータが実行可能な命令を実行するコンピュータプロセッサを含み、
前記命令は、
a)面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラから獲得する機能であって、前記構造的に符号化されたパターンは複数の要素を含み、各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている機能と、
b)前記画像中の一またはそれ以上の要素の少なくとも一部を特定する機能と、
c)前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する機能と、
を前記コンピュータ装置に実現させることを特徴とする入力装置。
【請求項2】
前記構造的に符号化されたパターンは複数のセルを含み、
各セルは、前記パターンに存在する他の全てのセル中の他の全ての要素と異なる一意的な要素を含むことを特徴とする請求項1に記載の装置。
【請求項3】
各要素は、前記面に垂直な軸に関して回転対称ではないことを特徴とする請求項1に記載の装置。
【請求項4】
前記コンピュータプロセッサは、前記パターンに対する前記カメラの位置の座標を決定することを特徴とする請求項1に記載の装置。
【請求項5】
前記コンピュータプロセッサは、前記パターンに対する前記カメラの角度方向を決定することを特徴とする請求項1に記載の装置。
【請求項6】
前記コンピュータプロセッサは、前記画像を前記パターンに表現されている参照データと比較することを特徴とする請求項1に記載の装置。
【請求項7】
前記コンピュータプロセッサは、前記カメラの位置をコンピュータプログラムへの入力として用いることを特徴とする請求項1に記載の装置。
【請求項8】
前記コンピュータプロセッサに接続するカメラをさらに含むことを特徴とする請求項1に記載の装置。
【請求項9】
前記カメラは、ユーザの足に取り付けるのに適合していることを特徴とする請求項8に記載の装置。
【請求項10】
前記カメラは、ユーザの手に取り付けるのに適合していることを特徴とする請求項8に記載の装置。
【請求項11】
前記コンピュータプロセッサは、前記カメラの位置をコンピュータプログラムへの入力として用いることを特徴とする請求項1に記載の装置。
【請求項12】
前記コンピュータプログラムはゲームプログラムであることを特徴とする請求項11に記載の装置。
【請求項13】
マットをさらに含み、
前記構造的に符号化されたパターンは前記マット上に形成されていることを特徴とする請求項1に記載の装置。
【請求項14】
面上に形成された構造的に符号化されたパターンであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているパターンと、
前記パターンの少なくとも一部の画像を獲得するよう動作するカメラと、
前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定する前記カメラと接続するプロセッサユニットとを含むことを特徴とするコンピュータ装置のための入力装置。
【請求項15】
面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、
前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、
前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、
を含むことを特徴とするコンピュータプログラムへの入力を受信する方法。
【請求項16】
前記構造的に符号化されたパターンは複数のセルを含み、
各セルは、前記パターンに存在する他の全てのセル中の他の全ての要素と異なる一意的な要素であることを特徴とする請求項15に記載の方法。
【請求項17】
各要素は、前記面に垂直な軸に関して回転対称ではないことを特徴とする請求項15に記載の方法。
【請求項18】
前記構造的に符号化されたパターンは、マット上に形成されていることを特徴とする請求項15に記載の方法。
【請求項19】
前記プロセッサは、前記パターンに対する前記カメラの位置の座標を決定することを特徴とする請求項15に記載の方法。
【請求項20】
前記プロセッサは、前記パターンに対する前記カメラの角度方向を決定することを特徴とする請求項15に記載の方法。
【請求項21】
前記プロセッサは、前記画像を前記パターンに表現されている参照データと比較することを特徴とする請求項15に記載の方法。
【請求項22】
前記カメラは、ユーザの足に取り付けるのに適合していることを特徴とする請求項15に記載の方法。
【請求項23】
前記カメラは、ユーザの手に取り付けるのに適合していることを特徴とする請求項15に記載の方法。
【請求項24】
前記カメラの位置をコンピュータプログラムへの入力として用いるステップをさらに含むことを特徴とする請求項15に記載の方法。
【請求項25】
前記コンピュータプログラムはゲームプログラムであることを特徴とする請求項24に記載の方法。
【請求項26】
コンピュータが実行可能な命令であって実行時に、コンピュータプログラムへの入力を受信する方法をコンピュータに実現させる命令を格納するコンピュータが読み込み可能な記録媒体であって、前記方法は、
面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、
前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、
前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、
を含むことを特徴とするコンピュータが読み込み可能な記録媒体。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図2E】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−253539(P2011−253539A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2011−121661(P2011−121661)
【出願日】平成23年5月31日(2011.5.31)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】