(57)【要約】【課題】ユーザの足や手の近接度を追跡する技術を提供する。【解決手段】カメラから取得した、面上に形成された構造的に符号化されたパターンの少なくとも一部の画像を解析してカメラの位置を決定する。前記構造的に符号化されたパターンは複数の要素を含む。各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている。コンピュータプログラムが、前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する。【選択図】図３
2011253539.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置のための入力装置であって、コンピュータが実行可能な命令を実行するコンピュータプロセッサを含み、
前記命令は、
ａ）面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラから獲得する機能であって、前記構造的に符号化されたパターンは複数の要素を含み、各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている機能と、
ｂ）前記画像中の一またはそれ以上の要素の少なくとも一部を特定する機能と、
ｃ）前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する機能と、
を前記コンピュータ装置に実現させることを特徴とする入力装置。
【請求項２】
前記構造的に符号化されたパターンは複数のセルを含み、
各セルは、前記パターンに存在する他の全てのセル中の他の全ての要素と異なる一意的な要素を含むことを特徴とする請求項１に記載の装置。
【請求項３】
各要素は、前記面に垂直な軸に関して回転対称ではないことを特徴とする請求項１に記載の装置。
【請求項４】
前記コンピュータプロセッサは、前記パターンに対する前記カメラの位置の座標を決定することを特徴とする請求項１に記載の装置。
【請求項５】
前記コンピュータプロセッサは、前記パターンに対する前記カメラの角度方向を決定することを特徴とする請求項１に記載の装置。
【請求項６】
前記コンピュータプロセッサは、前記画像を前記パターンに表現されている参照データと比較することを特徴とする請求項１に記載の装置。
【請求項７】
前記コンピュータプロセッサは、前記カメラの位置をコンピュータプログラムへの入力として用いることを特徴とする請求項１に記載の装置。
【請求項８】
前記コンピュータプロセッサに接続するカメラをさらに含むことを特徴とする請求項１に記載の装置。
【請求項９】
前記カメラは、ユーザの足に取り付けるのに適合していることを特徴とする請求項８に記載の装置。
【請求項１０】
前記カメラは、ユーザの手に取り付けるのに適合していることを特徴とする請求項８に記載の装置。
【請求項１１】
前記コンピュータプロセッサは、前記カメラの位置をコンピュータプログラムへの入力として用いることを特徴とする請求項１に記載の装置。
【請求項１２】
前記コンピュータプログラムはゲームプログラムであることを特徴とする請求項１１に記載の装置。
【請求項１３】
マットをさらに含み、
前記構造的に符号化されたパターンは前記マット上に形成されていることを特徴とする請求項１に記載の装置。
【請求項１４】
面上に形成された構造的に符号化されたパターンであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているパターンと、
前記パターンの少なくとも一部の画像を獲得するよう動作するカメラと、
前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定する前記カメラと接続するプロセッサユニットとを含むことを特徴とするコンピュータ装置のための入力装置。
【請求項１５】
面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、
前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、
前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、
を含むことを特徴とするコンピュータプログラムへの入力を受信する方法。
【請求項１６】
前記構造的に符号化されたパターンは複数のセルを含み、
各セルは、前記パターンに存在する他の全てのセル中の他の全ての要素と異なる一意的な要素であることを特徴とする請求項１５に記載の方法。
【請求項１７】
各要素は、前記面に垂直な軸に関して回転対称ではないことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記構造的に符号化されたパターンは、マット上に形成されていることを特徴とする請求項１５に記載の方法。
【請求項１９】
前記プロセッサは、前記パターンに対する前記カメラの位置の座標を決定することを特徴とする請求項１５に記載の方法。
【請求項２０】
前記プロセッサは、前記パターンに対する前記カメラの角度方向を決定することを特徴とする請求項１５に記載の方法。
【請求項２１】
前記プロセッサは、前記画像を前記パターンに表現されている参照データと比較することを特徴とする請求項１５に記載の方法。
【請求項２２】
前記カメラは、ユーザの足に取り付けるのに適合していることを特徴とする請求項１５に記載の方法。
【請求項２３】
前記カメラは、ユーザの手に取り付けるのに適合していることを特徴とする請求項１５に記載の方法。
【請求項２４】
前記カメラの位置をコンピュータプログラムへの入力として用いるステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項２５】
前記コンピュータプログラムはゲームプログラムであることを特徴とする請求項２４に記載の方法。
【請求項２６】
コンピュータが実行可能な命令であって実行時に、コンピュータプログラムへの入力を受信する方法をコンピュータに実現させる命令を格納するコンピュータが読み込み可能な記録媒体であって、前記方法は、
面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、
前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、
前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、
を含むことを特徴とするコンピュータが読み込み可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、「ＣＡＰＡＣＩＴＩＶＥ  ＩＮＰＵＴ  ＦＯＲ  ＣＯＭＰＵＴＥＲ  ＰＲＯＧＲＡＭ」と題する、譲受人を同じくする米国の同時係属出願第１２／７９２，５６７号（代理人の整理番号はＳＣＥＡ０９０７１ＵＳ００であり本出願と同日に出願された）と関連し、開示内容全体を参照によりここに完全に組み入れる。
【０００２】
本出願は、「ＭＡＧＮＥＴＩＣ  ＩＮＰＵＴ  ＦＯＲ  ＣＯＭＰＵＴＥＲ  ＤＥＶＩＣＥ」と題する、譲受人を同じくする米国の同時係属出願第１２／７９２，５８６号（代理人の整理番号はＳＣＥＡ０９０７２ＵＳ００であり本出願と同日に出願された）と関連し、開示内容全体を参照によりここに完全に組み入れる。
【０００３】
本出願は、一般にコンピュータエンタテインメント装置に関し、より具体的にはパターンに基づくコンピュータビジョンを用いるコンピュータエンタテインメント装置に関する。
【背景技術】
【０００４】
ビデオゲームは娯楽としてとても人気のある形態となっている。典型的なビデオゲームは、ユーザからの入力を受け取るためにインタフェースないしコントローラを利用する。よく見られるタイプのコントローラは、押しボタンやジョイスティックで入力する手でもって操作するコントローラである。別のタイプのコントローラであって、一般に「ダンスパッド」と呼ばれるものは、ダンスに基づくゲームに使用される。典型的なダンスに基づくゲームにおいては、ユーザは、ビデオスクリーンに表示されるある種の可視的表示器への応答として、ダンスパッド上の選択されたボタンを特定の時間に押すように促される。ダンスパッドの内部において、コントロールボタンは一般的に、プラスティックのマットの中に統合されている。マットの異なる領域上でステップしたりダンスしたりすることによって、ユーザは対応するコントロールボタンを押すことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ダンスパッドは基本的に、手ではなくて足で操作される押しボタンコントローラとして動作する。しかしながら、ダンスパッドはユーザの足の近接度は追跡しない。
【０００６】
本発明はこのような文脈から生まれた。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様は、コンピュータ装置のための入力装置である。この装置は、コンピュータが実行可能な命令を実行するコンピュータプロセッサを含む。ここで前記命令は、ａ）面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラから獲得する機能であって、前記構造的に符号化されたパターンは複数の要素を含み、各要素には前記面に関する前記要素の位置および向きを特定する情報が符号化されている機能と、ｂ）前記画像中の一またはそれ以上の要素の少なくとも一部を特定する機能と、ｃ）前記画像中の前記一またはそれ以上のパターン要素に符号化されている前記情報から、前記面に対する前記カメラの位置を決定する機能と、を前記コンピュータ装置に実現させる。
【０００８】
上記課題を解決するために、本発明の別の態様も、コンピュータ装置のための入力装置である。この装置は、面上に形成された構造的に符号化されたパターンであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているパターンと、前記パターンの少なくとも一部の画像を獲得するよう動作するカメラと、前記画像中の一またはそれ以上の要素の少なくとも一部を特定し、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定する前記カメラと接続するプロセッサユニットとを含む。
【０００９】
上記課題を解決するために、本発明の別の態様は、コンピュータプログラムへの入力を受信する方法である。この方法は、面上に形成された構造的に符号化されたパターンの少なくとも一部の画像をカメラを用いて獲得するステップであって、前記構造的に符号化されたパターンは複数の要素を含み、各要素は前記面に関する前記要素の位置および向きを特定する情報が符号化されているステップと、前記カメラと接続するプロセッサを用いて、前記画像中の一またはそれ以上の要素の少なくとも一部を特定するステップと、前記プロセッサを用いて、前記画像中の前記一またはそれ以上のパターンに符号化されている前記情報から、前記面に対する前記カメラの位置を決定するステップと、を含む。
【図面の簡単な説明】
【００１０】
本発明の実施の形態は、添付の図面と併せて、以下の詳細な説明を考慮することによって容易に理解される。
【図１】本発明の実施の形態に係るコンピュータシステムのための入力装置を示す概略図である。
【図２Ａ】図２Ａは、図１のインタフェースで利用可能な構造的に符号化されたパターンの一例を示す概略図である。
【図２Ｂ】図２Ｂは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図２Ｃ】図２Ｃは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図２Ｄ】図２Ｄは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図２Ｅ】図２Ｅは、構造的に符号化されたパターンの要素の画像からカメラの位置と向きとを決定することの一例を示す概略図である。
【図３】図３Ａは、本発明の別の実施の形態に係るコンピュータシステムのための入力装置を用いるシステムの一例を示す概略図である。
【図４】本発明の別の実施の形態に係る、コンピュータシステム用の入力装置を用いるシステムの一例を示す概略図である。
【図５】本発明の実施の形態に係るコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明には、説明のための多くの具体的な詳細事項が含まれるが、それらに対する多くの変更や修正も本発明の技術範囲に含まれることは、当業者であれば誰でも理解するであろう。したがって、以下に説明する本発明の例示的な実施の形態は、請求項に記載された発明の一般性をなんら損なうことなく、また限定も行うことなく記載されている。
【００１２】
［前提技術］
本発明の実施の形態は、本明細書においてパターンに基づくコンピュータビジョンと称される概念を利用する。
【００１３】
本発明の実施の形態によれば、入力装置は、パターンに基づくコンピュータビジョンを利用する面に対するカメラの位置および／または動きを追跡することができる。構造的に符号化されたパターンは、ある面の上にプリントされている。その面に対するカメラの相対的な位置（ｘ，ｙ，ｚ）および向き（垂直角，回転角，および水平角）を決定するために、カメラはパターンの一部を含むその面の画像を解析する。コンピュータビジョンシステムは、面に関するパターンの要素の位置を調整して画像内のパターンの要素を参照するために、リアルタイムで撮像した画像内にあるパターンの一部を解析することによって、カメラの位置および向きを追跡することができる。
【００１４】
本発明の実施の形態によれば、構造的に符号化されたパターン（サイバーコード（ｃｙｂｅｒ−ｃｏｄｅ）と呼ばれることもある。）をマットやその他の面上にプリントすることができる。カメラは、ユーザの各足の後ろやユーザの手のひらに装着することができる。
【００１５】
［実施の形態］
第１の実施形態によれば、コンピュータ装置用の入力装置１０１は、コンピュータに実行可能な命令１０８を実行するコンピュータプロセッサ１０６を含んでもよい。命令１０８は、面上に形成されている構造的に符号化されたパターンの少なくとも一部の画像を取得することをコンピュータ装置に実現させる。カメラ１０４は、カメラ１０４の視野ＦＯＶ内に位置するパターン１０２の部分の画像を取得することができる。画像１０３は、プロセッサ１０６に接続しているメモリ１０５内にアナログまたはデジタルの形式で格納することができる。カメラ１０４は、適切なデータリンクによって、プロセッサ１０６および／またはメモリ１０５に接続してもよい。データリンクは、電気または光ファイバケーブル、あるいは高周波（ｒａｄｉｏｆｒｅｑｕｅｎｃｙ；ＲＦ）、赤外または光無線通信（ｆｒｅｅ  ｓｐａｃｅ  ｏｐｔｉｃａｌ  ｌｉｎｋ）のような無線通信手段によって実装してもよい。あるいは、メモリ１０５とプロセッサ１０６とは、カメラ１０４の部品である集積回路によって実装してもよい。
【００１６】
構造的に符号化されたパターン１０２は、複数の要素を含んでいる。各要素は、面に関する要素の位置および方向を特定する情報が符号化されている。命令１０８は、画像１０３内の一またはそれ以上の要素の少なくとも一部を、プロセッサ１０６に特定させる。命令はさらに、画像１０３内の一またはそれ以上のパターンに符号化されている情報から、面に対するカメラの位置をプロセッサ１０６に決定させるように構成してもよい。
【００１７】
プロセッサ１０６は、コンピュータプログラム１１０への入力としてカメラの位置を利用することができる。限定するわけではないが、一例として、プログラム１１０は、ビデオゲームプログラムのようなゲームプログラムとすることができる。
【００１８】
限定するわけではないが、例として、図２Ａは構造的に符号化されたパターン２０２の一例を示す。構造的に符号化されたパターン２０２は、例えばプリントの形でマット上に形成してもよい。あるいは、パターン２０２は、床や壁、あるいは他の適切な面上に直接プリントや別の方法で形成してもよい。構造的に符号化されたパターンは、複数のセル２０１を含むことができる。各セルは、パターン中における他の全てのセル内の他の全ての要素とは異なる一意的な要素を含む。格子線２０３は、他のセルからあるセルを区別することを容易にする。図２Ａに示す例では、セル２０１それぞれの中のパターンは、３×３の正方形の格子に基づく。格子内の正方形は白または黒のいずれかである。各要素内の白および黒の正方形のパターンは、ふたつとして類似する要素がないように選ばれる。このように、プロセッサ１０６は、セル内の白および黒の正方形のパターンによって、画像中の所与のセルを特定することができる。
【００１９】
ある実施の形態では、プロセッサ１０６は、画像１０３をパターン２０２を表す参照データと比較することによってカメラの位置を決定するように構成することができる。参照データからの画像から、カメラの位置を決定する方法は多数ある。例えば、画像の中心Ｃは、３次元におけるカメラの位置の、パターン２０２の平面への投影と関連づけることができる。各セルは、パターン２０２内の既知の位置と関連づけることができる。図２Ｂに示すように、命令１０８は、画像１０３の中心Ｃに最も近いセル２０１を特定することができる。画像の中心Ｃと最も近いセルの位置は、粗い位置を提供することができる。セル２０１の中心Ｃ’に関して画像の中心Ｃの位置を決定することによって、粗い位置の精度を向上することができる。
【００２０】
パターン２０２の平面に対して垂直な方向におけるカメラ１０４の距離Ｄを決定するために、プロセッサ１０６は画像１０３を解析することができる。本明細書において、「垂直な方向の距離」とは、パターンの平面に垂直な軸に沿った距離のことを意味する。例として図２Ｃに示すように、画像１０３内のセル２０２の特徴的なサイズｗは、セル２０２の参照サイズＷと比較される。参照サイズＷは、カメラ１０４がパターン２０２から垂直な方向に既知の距離Ｄｒｅｆの位置となったときに決定される。垂直方向の距離Ｄは、既知の垂直方向の距離Ｄｒｅｆ、およびＷとｗとの比Ｗ／ｗから下記の式を用いて決定することができる。
Ｄ＝Ｄｒｅｆ（Ｗ／ｗ）
【００２１】
図２Ｄおよび図２Ｅに示すように、命令１０８は、パターン２０２に対するカメラ１０４の角度方向を決定するように構成されてもよい。例えば、各要素２０１内の白の正方形と黒い正方形とのパターンは、各要素が、平面に垂直な軸に関して回転対称とはならないように選ばれる。パターンが回転対称でない場合、プロセッサ１０６は、平面に垂直な軸に対するカメラの回転配向角φを決定することができる。の回転配向角φの決定は、図２Ｄに示すように、画像１０３内のセル２０１の方向を参照セル２０１’の方向と比較することによって行われる。
【００２２】
あるいは、命令１０８は、パターン２０２に関するカメラの垂直角や回転角を決定するために、プロセッサ１０６に画像１０３内のセル２０１の歪みを解析させることができる。例えば図２Ｅに示すように、命令１０８は、画像１０３中のセル内あるいはセル間の格子線の輻輳角θを解析することができる。輻輳角θは、パターン２０２に関するカメラの垂直角と関連づけることができる。
【００２３】
図３に示される装置の多数のバリエーションは、本発明の実施の形態の範囲内である。例えば、上述したように、構造的に符号化されたパターンがマット上に形成されてもよい。保管のために丸めたり折りたたんだりすることができるように、マットは柔軟性を持った材料で作ることができる。限定するわけではないが、例として、マットは、ポリマー、ゴム、布または網、あるいはそれらの層を持つ複合材料から作ることができる。
【００２４】
本発明の実施の形態によれば、図１および図２Ａ−図２Ｅに関して上述した形式の装置は、ユーザの足の動きを感知するように構成されてもよい。構造的に符号化されたパターンは、例えばマット上にパターンをプリントしてそのマットを床の上に置く等により、床の上に置くことができる。ユーザの足の動きを感知するために、ユーザは両端にカメラを装着してもよい。
【００２５】
限定しない例として、図３に示す本発明の別の実施の形態によれば、コンピュータ装置（例えばコンピュータ娯楽装置）用の入力装置３００は、ユーザＵの足Ｆに装着するように構成された一またはそれ以上のカメラ３０４と、複数の要素を含んでいる構造的に符号化されたパターン３０２を持つマット３０３とを含んでもよい。ここで複数の要素は、各要素の位置および向きを特定する情報が符号化されている。パターン３０２は、図２Ａ−Ｅに関して上述したように構成してもよい。
【００２６】
複数のカメラ３０４はプロセッサ３０６と接続可能である。プロセッサは、カメラ３０４のそれぞれの視野内に存在するパターン３０２の一部の画像の解析から各カメラの位置を決定するためのコード命令３０８を実行することができる。例として、カメラ３０４は送信機３１０と受信機３１２とを介してプロセッサ３０６と無線で接続することができる。限定するわけではないが、例として、送信機３１０と受信機３１２とは、Ｂｌｕｅｔｏｏｔｈ（登録商標）のような高周波リンクを通して、ワイヤレスパーソナルエリアネットワーク（ｗｉｒｅｌｅｓｓ  ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ；  ＷＰＡＮ）接続を実装することができる。
【００２７】
限定するわけではないが例として、プロセッサ３０６は、カメラ３０４からのパターン３０２の少なくとも一部の画像を取得し、画像中の一またはそれ以上のパターンの要素の少なくとも一部を識別し、さらに画像中のパターンの要素内に符号化されている情報からカメラの位置を決定することによって、各カメラ３０４の位置を決定するように構成することができる。
【００２８】
ある実施の形態では、プロセッサ３０６は、カメラ３０４の位置をコンピュータプログラム３１４への入力として生成するように構成することができる。このような実施の形態では、プログラム３１４はゲームプログラムまたはゲームプログラムの一部とすることができる。
【００２９】
図４に示す本発明の別の実施の形態では、コンピュータ装置（例えばコンピュータ娯楽装置）のための入力装置４００は、ユーザの手Ｈに装着されるように構成されている一またはそれ以上のカメラ４０４と、複数の要素を含む構造的に符号化されたパターン４０２を持つマット４０３とを含んでもよい。ここで複数の要素それぞれは、各要素の位置および方向を特定する情報が符号化されている。パターン４０２は、図２Ａ−図２Ｅに関して上述したように構成されてもよい。
【００３０】
カメラ４０４は、例えば無線送信機４１０と受信機４１２とを通して、プロセッサ４０６と接続することができる。プロセッサ４０６は、パターン４０２の部分画像の解析から、各カメラの位置を決定するためのコード命令４０８を実行することができる。プロセッサ４０６は、カメラ４０４からの少なくともパターン４０２の部分画像から、例えば上述した方法によってカメラ４０４それぞれの位置を決定するように構成することができる。
【００３１】
本発明の実施の形態に係るパターンに基づくコンピュータビジョン装置は、多数ある方法の内のどの方法によっても、コンピュータ娯楽装置と組み合わせることができる。例として、図５は本発明の実施の形態に係るパターンに基づくコンピュータビジョン装置を利用する、コンピュータ娯楽装置５００を示す。例として、一般性を失うことなく、装置５００は、パーソナルコンピュータ、ビデオゲームコンソール、ＰＤＡ（personal digital assistant）、携帯電話または携帯ゲーム機、携帯型インターネット装置、または他のデジタルデバイスのようなコンピュータシステムの一部として実装されてもよい。好ましい実施の形態では、装置はビデオゲームコンソールの一部として実装される。
【００３２】
装置５００は、一般に一またはそれ以上のプロセッシングユニットを含む。限定するわけではないが例として、一またはそれ以上のプロセッシングユニットは、少なくともひとつのメインプロセッシングユニット５０１と、一またはそれ以上のコプロセッサ要素５０２Ａ、５０２Ｂを含んでもよい。各コプロセッサ要素はプロセッサユニットと関連するローカルメモリを所持してもよい。装置はプロセッシングユニット５０１から分離しているメモリユニット５０３やコプロセッサ要素５０２Ａ、５０２Ｂを含むことができる。
【００３３】
プロセッシングユニット５０１は一またはそれ以上のプロセッシングコアを含んでもよい。限定することなく一例として、メインプロセッシングユニット５０１とコプロセッサ要素５０２Ａ、５０２Ｂとは、セルプロセッサのような並列プロセッサモジュールの部分としてもよい。プロセッサアーキテクチャの一例はＣｅｌｌプロセッサである。セルプロセッサアーキテクチャの例は、「セルブロードバンドエンジンアーキテクチャ」に詳細が記述されている。これは、ＩＢＭ、ソニー・コンピュータエンタテインメント、東芝の２００５年８月８日付けの著作権で保護されており、コピーはｈｔｔｐ：／／ｃｅｌｌ．ｓｃｅｉ．ｃｏ．ｊｐ／からダウンロード可能であり、その内容全体を参照によってここに組み入れる。
【００３４】
セルプロセッサアーキテクチャにおいては、プロセッシングユニット５０１に対応する計算ユニットはＰＰＥ（Power Processing Element）と呼ばれ、コプロセッサ要素５０２Ａ、５０２Ｂに対応する計算ユニットはＳＰＥ（Synergistic Processing Element）と呼ばれる。セルプロセッサアーキテクチャは、本発明の実施の形態で利用しうる数ある適切なプロセッサアーキテクチャの中の一例にすぎないことに注意する。本発明の実施の形態は、他のマルチプロセッサアーキテクチャを用いて実装してもよい。
【００３５】
メモリユニット５０３は、コンピュータに読み取り可能な形式の情報を格納する任意の適切な媒体であってもよい。限定するわけではないが一例として、メモリユニット５０３はＲＡＭ（random access memory）またはＲＯＭ（read only memory）、固定ディスクドライブとしてハードディスクドライブのようなコンピュータに読み取り可能な格納ディスク、あるいは取り外し可能なディスクドライブを含んでもよい。
【００３６】
装置５００はまた、入出力（Ｉ／Ｏ）要素５１２、電源（Ｐ／Ｓ）５１３、クロック（ＣＬＫ）５１４およびキャッシュ５１５などの公知のサポート機能５１１を備えてもよい。装置６００は、ソフトウェアプログラム命令６１７およびデータ６１８用の不揮発性ストレージを提供するストレージデバイス６１６をさらに含んでもよい。例として、ストレージデバイス２１５は固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、テープドライブ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−Ｒａｙ（登録商標）、ＨＤ−ＤＶＤ、ＵＭＤ、または他の光学ストレージデバイスであってもよい。
【００３７】
パターンに基づくコンピュータビジョンインタフェース５１０は、例えば入出力要素５１２を介して、プロセッシングユニット５０１と接続してもよい。一般に、インタフェース５１０は、一またはそれ以上のカメラを含んでもよい。カメラはユーザの足または手に装着されるように構成されてもよい。カメラは適切な面上に設置されている、構造的に符号化されたパターンから画像を取得することができる。構造的に符号化されたパターンは、複数の要素を含むことができる。複数の要素それぞれは、要素の位置および向きを特定する情報が符号化されている。パターンは、図２Ａ−図２Ｅ、図３、および図４に関して上述したように構成することができる。
【００３８】
メインプロセッシングユニット５０１とコプロセッサ５０２Ａ、５０２Ｂは、ソフトウェアアプリケーションとオプションとしてオペレーティングシステムとを実行するように構成されてもよい。そのようなソフトウェアアプリケーションの一部はメモリユニット５０３内に格納されてもよい。命令およびデータは、実行のため、メインプロセッサ５０１のレジスタまたはコプロセッサ要素５０２Ａ、５０２Ｂのローカルストア内に読み込まれてもよい。ソフトウェアアプリケーションは、ビデオゲームアプリケーションのようなメインアプリケーション５０４を含んでもよい。メインアプリケーション５０４は、パターンに基づくカメラ位置ルーチン５０５とともに動作してもよい。この位置ルーチン５０５は、構造的に符号化されたパターン５０７の少なくとも一部の画像を取得し、画像内の一またはそれ以上の要素の少なくとも一部を特定し、画像中の一またはそれ以上のパターン要素内に符号化されている情報から、パターン５０７に対するカメラ５０６の位置を決定する。位置ルーチン５０５は、メモリ５０３内に格納されているパターンデータ５０９を利用してもよい。パターンデータ５０９は、各パターン要素内の構造的に符号化されたパターンを、パターン内の位置に関連づけることができる。位置ルーチン５０５は、パターンに対するカメラ５０６の位置および／または向きを決定するために、カメラ５０６を用いて取得したパターン５０７の画像から得られたデータを、パターンデータと比較することができる。
【００３９】
位置ルーチン５０５は、インタフェース５１０の一部であり、かつメインプロセッサ５０１やコプロセッサ５０２Ａ、５０２Ｂとは分離しているプロセッサ上に実装されてもよい。さらに、位置ルーチンの少なくとも一部分は、カメラ５０６の一部であるプロセッサによって実装されてもよい。
【００４０】
カメラ位置ルーチン５０５は、一またはそれ以上のカメラが特定の位置内にあると判断されたとき、装置５００の状態を変更するためのアプリケーション５０４を動作してもよい。ここで「状態の変更」とは、装置の動作内の変更のことをいう。例えば、状態の変更は、アプリケーション５０４によって扱われる別の処理によるコマンドの実行や、別の処理に用いられる特定のデータの選択を含んでもよい。装置に関してコマンドの実行における限定されない例としては、カメラの位置と予め定められた特定の時間におけるカメラの所定の位置とを比較する処理を開始することである。計算された位置が所定の位置に対してどの程度近接するかに基づいてスコアが計算されてもよい。所定の位置の配列が、プログラム５０４とともに演奏される音楽の断片内の時間基準のような、特定の時間基準に関して規定されてもよい。カメラはユーザの手または足に装着されてもよい。計算された位置を、関連する時刻における所定の位置と連続的に比較することによって、装置５００は、ユーザがマット上でダンスするときのユーザの足および／または手の位置を連続的に追跡してもよい。プログラムは、所与の音楽の断片用に選択されたダンスステップの所定の並びを、ユーザがどの程度しっかりと追跡したかに基づいて、ユーザを採点することができる。
【００４１】
装置５００は、電子通信ネットワーク５２７を介してコミュニケーションを促進するためのネットワークインタフェース５２５を含む。ネットワークインタフェース５２５はローカルエリアネットワークおよびインターネットのようなワイドエリアネットワーク上の有線または無線通信を実装するように構成されてもよい。装置５００は、ネットワーク５２７を介して１以上のメッセージパケット５２６によって、データの送受信および／またはファイルのリクエストをしてもよい。
【００４２】
装置５００は、グラフィックスプロセッシングユニット（ＧＰＵ）５３５とグラフィックスメモリ５３７とを有するグラフィックスプロセッシングユニット５３０を更に含む。グラフィックスメモリ５３７は、出力イメージの各画素に対する画素データを格納するために使われるディスプレイメモリ（例えばフレームバッファ）を含む。グラフィックスメモリ５３７は、ＧＰＵ５３５と同じデバイス内に統合されてもよく、別のデバイスとしてＧＰＵ５３５に結合されてもよく、メモリユニット５０３内に実装されてもよい。画素データは、プロセッシングユニット５０１および／またはコプロセッサ５０２Ａ、５０２Ｂから直接グラフィックスメモリ５３７に提供される。ある実施の形態では、グラフィックスユニットは、デコーダ（図示せず）からのデジタル放送信号から抽出されたビデオ信号データを受信してもよい。あるいは、プロセッシングユニット５０１は、所望の出力イメージを定めるデータやインストラクションをＧＰＵ５３５に提供する。ＧＰＵ５３５はそれを用いて１以上の出力イメージの画素データを生成する。所望出力イメージを定めるデータやインストラクションは、メモリ５０２やグラフィックスメモリ５３７に格納される。ある実施の形態では、ＧＰＵ５３５は、例えば、適当なプログラミングまたはハードウェア・コンフィギュレーションによって構成され、シーンのためにジオメトリ、ライティング（照明）、シェーディング、テクスチャリング、モーション、および／またはカメラパラメータを定めるインストラクションとデータから出力イメージに対する画素データを生成するための３Ｄレンダリング機能をもつ。ＧＰＵ５３５は、シェーダプログラムを実行することができるプログラム可能な実行ユニットを更に含む。
【００４３】
グラフィックプロセッシングユニット５３０は、ディスプレイ５４０で表示されるべきグラフィックスメモリ５３７からのイメージに対する画素データを周期的に出力する。ディスプレイ５４０は、装置５００からの信号に応じてビジュアル情報を表示することができる任意のデバイスであり、テキスト、数字、グラフィカルシンボルまたは画像を表示できるＣＲＴ、ＬＣＤ、プラズマ、およびＯＬＥＤディスプレイを含む。装置５００は、表示装置のタイプに応じてアナログまたはデジタルの形態でディスプレイ駆動信号をディスプレイ５４０に提供する。さらに、ディスプレイ５４０は、可聴もしくは検知可能な音を出すオーディオスピーカーを含んでもよい。
【００４４】
そのような音の生成を容易にするために、装置５００は、プロセッシングユニット５０１、メモリユニット５０２、および／またはストレージデバイス６５６によって提供されたインストラクションおよび／またはデータからアナログまたはデジタル音声出力を生成するために適したオーディオプロセッサ５５０を更に含む。音声出力は、例えばスピーカ６５５によって可聴音に変換される。
【００４５】
メインプロセッシングユニット５０１、コプロセッサ要素５０２Ａ、５０２Ｂ、インタフェース５１０、サポート機能５１１、データストレージ５１６、ゲームコントローラ、キーボード、あるいはマウスのような従来型のユーザ入力デバイス５２０、ネットワークインタフェース５２５、グラフィックスユニット５３０、オーディオプロセッサ５５０、を含む装置５００の構成要素は、データバス５６０を介して互いに機能的に接続されている。これらの構成要素は、ハードウェア、ソフトウェアまたはファームウェア、あるいはこれらのうちの２つ以上の組合せで実装される。
【００４６】
本発明の実施の形態は、マイクロフォン５２２やインタフェース５１０で用いるカメラ５０６に加えてカメラ５２４を利用するアプリケーションやシステムとともに用いることができる。カメラ５２４は、デプスカメラ（depth camera）や、時には３次元カメラまたはＺカメラとしても知られるカメラであってもよい。マイクロフォン５２２とカメラ５２４は、入出力（Ｉ／Ｏ）機能を経由してデータバスと接続されてもよい。メインアプリケーション５０４は、カメラ５２４の視野ＦＯＶ内の人物や物体の位置に関する情報を決定するために、カメラを用いて得られた画像を解析してもよい。位置情報は人物や物体の深さＺを含めることができる。メインアプリケーション５０４は、ユーザの位置に関する情報およびユーザの体の向きに関する情報を得るために、上述した静電容量インタフェースから得られた情報とともに位置情報を使ってもよい。この情報はアプリケーション５０４への追加的な入力を生成するために用いられてもよい。
【００４７】
本発明の実施の形態によれば、従来の先行技術におけるダンスマットよりも、高い分解能でユーザの足および／または手の位置の追跡が可能となる。その上さらに、本発明の実施の形態によれば、ユーザの手および／またはカメラが設置されているユーザの体の他の部分を追跡することができる。
【００４８】
さらに加えて、本発明の実施の形態によれば、足の相対的な位置に関して一次および二次の時間微分が可能となる。このような微分値は、足の速度および加速度を測定するために用いることができる。関節でつながっている開鎖の体であるため、このような速度および加速度の情報は、逆運動学や軌道計画を用いて足を超えて体全体の動きをさらに推測するのに有用である。
【００４９】
さらに、本発明の実施の形態は、ゲームの域を超えたアプリケーションにも役立つ。例えば、ロボット技術のアプリケーションにおいて、ロボットはカメラを含むことができ、構造的なパターンを認識するルーチンを、ロボットを制御するプロセッサ内にコード化してもよい。部屋全体、あるいは他の領域を適切な構造的に符号化されたパターンで覆ってもよい。ロボットは、部屋内を人工知能に基づいて動くとき、カメラおよび本明細書に記載されている構造的なパターンに基づく位置決定技術を移動に利用することができる。
【００５０】
本発明の実施の形態における別の可能なアプリケーションは、限定されるわけではないが、おもちゃ産業である。例として、一群の小さな電動ロボットのおもちゃは、カメラを取り付けることができる。各カメラは、構造的に符号化されたパターンとともに用いられる、カメラに基づく位置検出を実装するコンピュータシステムと接続することができる。ここで構造的に符号化されたパターンは、上述したようなマットの上に配置することができる。各ロボットのおもちゃは、サッカーチームのようなスポーツチームのプレイヤとして行動してもよい。各ロボットのおもちゃは、上述した方法で構造的に符号化されたパターンを参照として用いて、「競技場」における地震の位置を決定することができる。コンピュータシステムは、ユーザによってリアルタイムに制御可能な人工知能（Ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ；ＡＩ）戦略ゲームを実装することができる。
【００５１】
読者の注意は、本明細書とともに提出され、本明細書とともに公開された全ての論文や文書に向けられており、そのような論文や文書の内容は参照によりここに組み入れる。
【００５２】
本明細書に開示された全ての特徴（添付のいずれの請求項、要約書、および図面を含む）は、特に断らない限り、同一の、等価な、あるいは類似の目的を達成する代替する特徴で置き換えられてもよい。したがって、特に断らない限り、開示された各特徴は等価または類似の一般的なシリーズのひとつの単なる例示である。
【００５３】
本発明の好ましい実施の形態を完全な形で説明してきたが、いろいろな代替物、変形、等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決められるものではなく、請求項により決められるべきであり、均等物の全範囲も含まれる。ここで述べた特徴はいずれも、好ましいかどうかを問わず、他の特徴と組み合わせてもよい。請求項において、明示的に断らない限り、各項目は１またはそれ以上の数量である。請求項において「〜のための手段」のような語句を用いて明示的に記載する場合を除いて、請求項がミーンズ・プラス・ファンクションの限定を含むものと解してはならない。
【符号の説明】
【００５４】
１０１  入力装置、  １０２  パターン、  １０３  画像、  １０４  カメラ、  １０５  メモリ、  １０６  コンピュータプロセッサ、  １０８  命令、  １１０  コンピュータプログラム、  ２０１  セル、  ２０２  パターン、  ２０３  格子線、  ２１５  ストレージデバイス、  ３００  入力装置、  ３０２  パターン、  ３０３  マット、  ３０４  カメラ、  ３０６  プロセッサ、  ３０８  コード命令、  ３１０  送信機、  ３１２  受信機、  ３１４  コンピュータプログラム、  ４００  入力装置、  ４０２  パターン、  ４０３  マット、  ４０４  カメラ、  ４０６  プロセッサ、  ４０８  コード命令、  ４１０  無線送信機、  ４１２  受信機、  ５００  コンピュータ娯楽装置。
【図１】
2011253539.tif 000003
【図２Ａ】
2011253539.tif 000004
【図２Ｂ】
2011253539.tif 000005
【図２Ｃ】
2011253539.tif 000006
【図２Ｄ】
2011253539.tif 000007
【図２Ｅ】
2011253539.tif 000008
【図３】
2011253539.tif 000009
【図４】
2011253539.tif 000010
【図５】
2011253539.tif 000011