(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024019472
(43)【公開日】2024-02-09
(54)【発明の名称】複数のマーカを備えたデバイス
(51)【国際特許分類】
G06F 3/01 20060101AFI20240201BHJP
A63F 13/213 20140101ALI20240201BHJP
A63F 13/428 20140101ALI20240201BHJP
A63F 13/24 20140101ALI20240201BHJP
【FI】
G06F3/01 510
A63F13/213
A63F13/428
A63F13/24
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023208267
(22)【出願日】2023-12-11
(62)【分割の表示】P 2019077220の分割
【原出願日】2019-04-15
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】西川 憲三
(72)【発明者】
【氏名】南野 孝範
(57)【要約】
【課題】複数のマーカを備えたデバイスにおいて光源の個数をマーカの個数よりも少なくする。
【解決手段】入力デバイス16は、ケース体と、当該ケース体の外部に光を出射する複数のマーカ30とを備える。第1光源32は、1つのマーカ30を点灯するための専用光源であり、第2光源34は、複数のマーカ30を点灯するための共用光源である。第2光源34は、複数のマーカ30と導光管36により接続されて、導光管36を通じて複数のマーカ30に光を供給する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ケース体と、当該ケース体の外部に光を出射する複数のマーカと、を備えたデバイスであって、
1つのマーカを点灯するための第1光源と、
複数のマーカを点灯するための第2光源と、
1つ以上の前記第1光源を、所定の発光パターンで発光させる制御部と、を備え、
前記所定の発光パターンは、第1輝度での点灯期間と第2輝度での点灯期間を定める、
ことを特徴とするデバイス。
【請求項2】
前記制御部は、前記第2光源を、前記所定の発光パターンで発光させない、
ことを特徴とする請求項1に記載のデバイス。
【請求項3】
前記第1光源の前記所定の発光パターンでの発光は、撮像装置による撮影タイミングを特定するために実施される、
ことを特徴とする請求項1に記載のデバイス。
【請求項4】
前記制御部は、撮像装置の方向を向いているマーカの前記第1光源を、前記所定の発光パターンで発光させる、
ことを特徴とする請求項1に記載のデバイス。
【請求項5】
前記制御部は、2つのマーカの前記第1光源を、前記所定の発光パターンで発光させる、
ことを特徴とする請求項4に記載のデバイス。
【請求項6】
前記第2光源は、複数のマーカと導光管により接続される、
ことを特徴とする請求項1に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマーカを備えたデバイスに関する。
【背景技術】
【0002】
特許文献1は、ゲーム装置の前方を撮影したフレーム画像を取得して、フレーム画像におけるゲームコントローラのLED像の位置から実空間におけるゲームコントローラの位置情報および姿勢情報を推定し、推定した位置情報および/または姿勢情報をゲームアプリケーションの処理に反映するゲーム装置を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ヘッドマウントディスプレイ(HMD)はユーザの頭部に装着されて、仮想現実(VR)の映像空間をユーザに提供する。HMDを装着したユーザは入力デバイスの操作ボタンを操作して、映像空間に対して様々な入力を行える。
【0005】
近年、デバイスの位置や姿勢をトラッキングし、VR空間の3Dモデルに反映させる技術が普及している。ゲーム空間のプレイヤキャラクタやゲームオブジェクトの動きを、トラッキング対象となるデバイスの位置や姿勢の変化に連動させることで、ユーザによる直観的な操作が実現される。デバイスのトラッキングには点灯する複数のマーカが利用され、複数のマーカを撮影した画像を解析して画像内の各マーカ像の位置を特定することで、実空間におけるデバイスの位置および姿勢が推定される。
【0006】
デバイスの位置および姿勢を高精度に推定するためには、デバイスを撮影した画像内で各マーカ像の位置が正確に特定される必要がある。撮影されるマーカ像の数が多いほどデバイスの位置および姿勢の推定精度は向上するが、マーカは発光素子などの光源により点灯されるため、光源の個数が増えると、製造コストが上がるという問題がある。
【0007】
そこで本発明は、複数のマーカを備えたデバイスにおいて光源の個数をマーカの個数よりも少なくすることを目的とする。なおデバイスは操作ボタンを有する入力デバイスであってよいが、操作部材を有しない単にトラッキングの対象となるデバイスであってよい。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様のデバイスは、ケース体と、当該ケース体の外部に光を出射する複数のマーカとを備える。当該デバイスは、1つのマーカを点灯するための第1光源と、複数のマーカを点灯するための第2光源とを備える。
【図面の簡単な説明】
【0009】
【
図1】実施例における情報処理システムの構成例を示す図である。
【
図5】撮影タイミングを特定する同期処理用の発光パターンの例を示す図である。
【
図6】入力デバイスの機能ブロックを示す図である。
【
図7】入力デバイスを撮影した画像の一部の例を示す図である。
【
図8】撮像装置による露光期間内に設定されたマーカの点灯期間を示す図である。
【発明を実施するための形態】
【0010】
図1は、実施例における情報処理システム1の構成例を示す。情報処理システム1は情報処理装置10と、記録装置11と、ヘッドマウントディスプレイ(HMD)100と、ユーザが手指で操作する入力デバイス16と、画像および音声を出力する出力装置15とを備える。出力装置15はテレビであってよい。情報処理装置10は、アクセスポイント(AP)17を介して、インターネットなどの外部のネットワーク2に接続される。AP17は無線アクセスポイントおよびルータの機能を有し、情報処理装置10はAP17とケーブルで接続してもよく、既知の無線通信プロトコルで接続してもよい。
【0011】
記録装置11は、システムソフトウェアや、ゲームソフトウェアなどのアプリケーションを記録する。情報処理装置10は、コンテンツサーバからネットワーク2経由で、ゲームソフトウェアを記録装置11にダウンロードしてよい。情報処理装置10はゲームソフトウェアを実行して、ゲームの画像データおよび音声データをHMD100に供給する。情報処理装置10とHMD100とは既知の無線通信プロトコルで接続されてもよく、またケーブルで接続されてもよい。
【0012】
HMD100は、ユーザが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。HMD100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。ユーザは光学レンズを通して表示パネルを見るため、情報処理装置10は、レンズによる光学歪みを補正した視差画像データをHMD100に供給する。
【0013】
HMD100を装着したユーザにとって出力装置15は必要ないが、出力装置15を用意することで、別のユーザが出力装置15の表示画像を見ることができる。情報処理装置10は、HMD100を装着したユーザが見ている画像と同じ画像を出力装置15に表示させてもよいが、別の画像を表示させてもよい。たとえばHMDを装着したユーザと、別のユーザとが一緒にゲームをプレイするような場合、出力装置15からは、当該別のユーザのキャラクタ視点からのゲーム画像が表示されてもよい。
【0014】
情報処理装置10と入力デバイス16とは既知の無線通信プロトコルで接続されてよく、またケーブルで接続されてもよい。入力デバイス16は操作ボタンなどの複数の操作部材を備え、ユーザは入力デバイス16を把持しながら、手指で操作部材を操作する。情報処理装置10がゲームを実行する際、入力デバイス16はゲームコントローラとして利用される。入力デバイス16は、3軸の加速度センサおよび3軸のジャイロセンサを含む姿勢センサを備え、所定の周期(たとえば1600Hz)でセンサデータを情報処理装置10に送信する。
【0015】
実施例のゲームは、入力デバイス16の操作部材の操作情報だけでなく、入力デバイス16の位置、姿勢、動きなどを操作情報として取り扱って、仮想3次元空間内におけるプレイヤキャラクタの動きに反映する。たとえば操作部材の操作情報は、プレイヤキャラクタを移動させるための情報として利用され、入力デバイス16の位置、姿勢、動きなどの操作情報は、プレイヤキャラクタの腕を動かすための情報として利用されてよい。ゲーム内の戦闘シーンにおいて、入力デバイス16の動きが、武器をもつプレイヤキャラクタの動きに反映されることで、ユーザの直観的な操作が実現され、ゲームへの没入感が高められる。
【0016】
入力デバイス16の位置および姿勢をトラッキングするために、入力デバイス16には、HMD100に搭載された撮像装置14によって撮影可能な複数のマーカ(光出射部)が設けられる。情報処理装置10は、入力デバイス16を撮影した画像を解析して、実空間における入力デバイス16の位置情報および姿勢情報を推定し、推定した位置情報および姿勢情報をゲームに提供する。
【0017】
HMD100には、複数の撮像装置14が搭載される。複数の撮像装置14は、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含むように、HMD100の前面の異なる位置に異なる姿勢で取り付けられる。撮像装置14は、入力デバイス16の複数のマーカの像を取得できる画像センサであればよい。たとえばマーカが可視光を出射する場合、撮像装置14はCCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなど、一般的なデジタルビデオカメラで利用されている可視光センサを有する。マーカが非可視光を出射する場合、撮像装置14は非可視光センサを有する。複数の撮像装置14は同期したタイミングで、ユーザの前方を所定の周期(たとえば60フレーム/秒)で撮影し、入力デバイス16を撮影した画像データを情報処理装置10に送信する。
【0018】
情報処理装置10は、撮影画像に含まれる入力デバイス16の複数のマーカ像の位置を特定する。なお1つの入力デバイス16が同じタイミングで複数の撮像装置14に撮影されることもあるが、撮像装置14の取付位置および取付姿勢は既知であるため、情報処理装置10は複数の撮影画像を合成して、マーカ像の位置を特定する。
【0019】
入力デバイス16の3次元形状と、その表面に配置された複数のマーカの位置座標は既知であり、情報処理装置10は、撮影画像内のマーカ像の分布にもとづいて、入力デバイス16の位置座標および姿勢を推定する。入力デバイス16の位置座標は、基準位置を原点とした3次元空間における位置座標であってよく、基準位置はゲーム開始前に設定した位置座標(緯度、経度)であってよい。
【0020】
なお情報処理装置10は、入力デバイス16の姿勢センサが検出したセンサデータを用いることでも、入力デバイス16の位置座標および姿勢を推定できる。そこで実施例の情報処理装置10は、撮像装置14で撮影した撮影画像にもとづく推定結果と、センサデータにもとづく推定結果を用いて、高精度に入力デバイス16のトラッキング処理を実施する。
【0021】
図2は、HMD100の外観形状の例を示す。HMD100は、出力機構部102および装着機構部104から構成される。装着機構部104は、ユーザが被ることにより頭部を一周してHMD100を頭部に固定する装着バンド106を含む。装着バンド106はユーザの頭囲に合わせて長さの調節が可能な素材または構造をもつ。
【0022】
出力機構部102は、HMD100をユーザが装着した状態において左右の目を覆う形状の筐体108を含み、内部には装着時に目に正対する表示パネルを備える。表示パネルは液晶パネルや有機ELパネルなどであってよい。筐体108内部にはさらに、表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。HMD100はさらに、ユーザの耳に対応する位置にスピーカーやイヤホンを備えてよく、外付けのヘッドホンが接続されるように構成されてもよい。
【0023】
筐体108の前方側外面には、複数の撮像装置14a、14b、14c、14dが備えられる。ユーザの視線方向を基準として、撮像装置14aは、カメラ光軸が右斜め上を向くように前方側外面の右上隅に取り付けられ、撮像装置14bは、カメラ光軸が左斜め上を向くように前方側外面の左上隅に取り付けられ、撮像装置14cは、カメラ光軸が右斜め下を向くように前方側外面の右下隅に取り付けられ、撮像装置14dは、カメラ光軸が左斜め下を向くように前方側外面の左下隅に取り付けられる。このように複数の撮像装置14が設置されることで、それぞれの撮影範囲を足し合わせた全体の撮影範囲がユーザの視野の全てを含む。このユーザの視野は、3次元仮想空間におけるユーザの視野であってよい。
【0024】
HMD100は、姿勢センサが検出したセンサデータおよび撮像装置14が撮影した画像データを情報処理装置10に送信し、また情報処理装置10で生成されたゲーム画像データおよびゲーム音声データを受信する。
【0025】
図3は、HMD100の機能ブロックを示す。制御部120は、画像データ、音声データ、センサデータなどの各種データや、命令を処理して出力するメインプロセッサである。記憶部122は、制御部120が処理するデータや命令などを一時的に記憶する。姿勢センサ124は、HMD100の動きに関するセンサデータを取得する。姿勢センサ124は、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。
【0026】
通信制御部128は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部120から出力されるデータを外部の情報処理装置10に送信する。また通信制御部128は、情報処理装置10からデータを受信し、制御部120に出力する。
【0027】
制御部120は、ゲーム画像データやゲーム音声データを情報処理装置10から受け取ると、表示パネル130に供給して表示させ、また音声出力部132に供給して音声出力させる。表示パネル130は、左目用表示パネル130aと右目用表示パネル130bから構成され、各表示パネルに一対の視差画像が表示される。また制御部120は、姿勢センサ124からのセンサデータ、マイク126からの音声データ、撮像装置14からの撮影画像データを、通信制御部128から情報処理装置10に送信させる。
【0028】
図4は、入力デバイス16の外観形状を示す。
図4(a)は、入力デバイス16の正面形状を示し、
図4(b)は、入力デバイス16の背面形状を示す。入力デバイス16は、ケース体20と、ユーザが操作する複数の操作部材22a、22b、22c、22d(以下、特に区別しない場合は「操作部材22」と呼ぶ)と、ケース体20の外部に光を出射する複数のマーカ30a~30t(以下、特に区別しない場合には「マーカ30」と呼ぶ)とを備える。操作部材22は、ケース体20の頭部に配置され、傾動操作するアナログスティック、押下式ボタン、引き量を入力するトリガーボタンなどを含む。
【0029】
ケース体20は、把持部21と、ケース体頭部とケース体底部とを連結する湾曲部23を有し、ユーザは人差し指から小指までの指を把持部21と湾曲部23の間に通し、把持部21を把持する。ユーザは把持部21を把持した状態で、操作部材22a、22b、22cを親指で操作し、操作部材22dを人差し指で操作する。マーカ30h、30i、30jは把持部21に設けられるが、ユーザが把持部21を把持した状態であっても、手によって隠れない位置に配置される。1以上のマーカ30を把持部21に設けることで、トラッキング精度を高められる。
【0030】
マーカ30は、ケース体20の外部に光を出射する光出射部であり、ケース体20の表面において、LED(Light Emitting Diode)素子などの光源からの光を外部に拡散出射する樹脂部を含む。マーカ30は撮像装置14により撮影されて、入力デバイス16の位置情報および姿勢情報の推定処理に利用される。撮像装置14は所定の周期(たとえば60フレーム/秒)で入力デバイス16を撮影するため、マーカ30は、撮像装置14の周期的な撮影タイミングに同期して光を出射し、撮像装置14による非露光期間には消灯して無用な電力消費を抑えることが好ましい。撮像装置14と入力デバイス16は、それぞれのクロックにもとづいて動作しており、実施例では、撮像装置14による露光期間とマーカ30の点灯期間の同期処理を以下のように実施する。
【0031】
図5は、撮像装置14の撮影タイミングを特定する同期処理用の発光パターンの例を示す。横方向の長さは1フレーム分の撮影周期(16.7m秒)を表現し、この撮影周期を分割したタイムグリッドの単位でマーカ30の点灯制御を実施する。この例では撮影周期を32分割し、1つのタイムグリッドは521μ秒である。
図5において色づけされたタイムグリッドは第1輝度での点灯期間を示し、色づけされていないタイムグリッドは第2輝度での点灯期間を示す。なお第1輝度は第2輝度と異なり、第1輝度は第2輝度より高くてよい。第1輝度での発光時にマーカ30が撮影されると、撮影画像には高輝度のマーカ像が含まれ、第2輝度での発光時にマーカ30が撮影されると、撮影画像には低輝度のマーカ像が含まれる。発光パターンは、1フレーム分の撮影周期で連続して6枚を撮影したときに、第1輝度での発光と第2輝度での発光との順番が、タイムグリッドごとに異なるように定められる。
【0032】
同期処理では、撮像装置14により撮影される1つ以上のマーカ30が、
図5に示す発光パターンで点灯制御される。同期処理を開始してから1枚目の撮影画像(Frame 0)で「第1輝度」、2枚目の撮影画像(Frame 1)で「第2輝度」、3枚目の撮影画像(Frame 2)で「第1輝度」、4枚目の撮影画像(Frame 3)で「第2輝度」、5枚目の撮影画像(Frame 4)で「第2輝度」、6枚目の撮影画像(Frame 5)で「第1輝度」で、点灯制御されたマーカ30が撮影されたとする。連続する6枚の撮影画像における第1輝度と第2輝度の組合せで該当するのは、グリッド番号14のタイムグリッドである。そこで入力デバイス16は、以後、グリッド番号14のタイミングで周期的にマーカ30を点灯することで、撮像装置14の露光期間に、マーカ30の点灯期間を同期させ、撮像装置14の非露光期間にマーカ30を点灯させないように制御できる。
【0033】
図6は、入力デバイス16の機能ブロックを示す。制御部50は、操作部材22に入力された操作情報を受け付け、また姿勢センサ52により取得されたセンサデータを受け付ける。姿勢センサ52は、入力デバイス16の動きに関するセンサデータを取得し、少なくとも3軸の加速度センサおよび3軸のジャイロセンサを含む。制御部50は、受け付けた操作情報およびセンサデータを通信制御部54に供給する。通信制御部54は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部50から出力される操作情報およびセンサデータを情報処理装置10に送信する。また通信制御部54は、情報処理装置10から同期処理用の発光パターンおよび/または発光指示を取得する。
【0034】
入力デバイス16は、1つのマーカ30を点灯するための第1光源32と、複数のマーカ30を点灯するための第2光源34とを備える。第1光源32および第2光源34ともにLED素子であってよい。
【0035】
第1光源32は、1つのマーカ30のみを点灯するための専用光源であり、1つのマーカ30を独立点灯する。マーカ30は、ケース体20の表面において光を外部に拡散出射する樹脂部を含むが、第1光源32により点灯されるマーカ30の樹脂部は、LED素子の封止樹脂であってもよい。このときマーカ30および第1光源32は、1つのLEDデバイスの形態を有してよい。
【0036】
一方、第2光源34は、2以上のマーカ30を点灯するための共用光源であり、2以上のマーカ30を同時に点灯する。1つの第2光源34が複数のマーカ30を点灯できるようにしたことで、入力デバイス16における光源の個数を、マーカ30の個数よりも少なくでき、製造コストの削減に寄与する。
【0037】
第2光源34は、複数のマーカ30と導光管36により接続される。導光管36は、第2光源34の出力光を複数の管路に分岐して、複数のマーカ30の樹脂部に光を伝送する。これにより1つの第2光源34が複数のマーカ30を点灯でき、光源の個数をマーカ30の個数よりも少なくできる。
【0038】
図7は、入力デバイス16を撮影した画像の一部の例を示す。図示されるように撮影画像には、光を出射するマーカ30の像が含まれる。HMD100において、通信制御部128は、撮像装置14が撮影した画像データを情報処理装置10に送信し、情報処理装置10は、画像データからマーカ30の像を抽出する。同期処理において、情報処理装置10は、マーカ30が第1輝度で発光しているのか、または第2輝度で発光しているのかを区別できる。
【0039】
撮像装置14による露光期間とマーカ30の点灯期間の同期処理は、ゲーム開始前に実施されるが、ゲーム実行中にも実施されてよい。同期が外れると、撮像装置14は、マーカ30の像を撮影できなくなるため、同期が外れた場合は、ただちに同期処理が実施される必要がある。
【0040】
同期処理において、制御部50は、1つ以上の独立点灯可能な第1光源32を、情報処理装置10から提供される同期処理用の発光パターン(
図5参照)で発光させる。なお全ての光源を同期処理用の発光パターンで発光させてもよいが、第1輝度よりも低い第2輝度で発光させたとき、環境によっては位置および姿勢の推定処理の精度が下がることも考えられる。そのため同期処理用に用いる光源はできるだけ少ない方が好ましく、制御部50は、たとえば撮像装置14の方向を向いている2つのマーカ30の第1光源32を動的に選択して、同期処理用の発光パターンで発光させてもよい。なお第2光源34は複数のマーカ30を同じ輝度で点灯させるため、制御部50が2つのマーカ30を動的に選択して点灯させる際に第2光源34を利用することは好ましくなく、そのため実施例では制御部50が第1光源32を同期処理用の発光パターンで発光させるようにしている。
【0041】
図5に示したように、発光パターンは、複数フレーム期間における第1輝度での点灯期間と第2輝度での点灯期間を定めたものである。情報処理装置10は、連続する複数の撮影画像に含まれるマーカ30の輝度値の変化のパターンを特定することで、撮像装置14による露光期間に含まれるタイムグリッド番号を特定する。露光期間は、たとえばタイムグリッドの2倍程度の長さに設定されていてよい。
【0042】
図8は、撮像装置14による露光期間内に設定されたマーカ30の点灯期間を示す。情報処理装置10は、タイムグリッド番号を特定すると、そのタイムグリッド番号のタイミングでの発光指示を生成し、入力デバイス16に送信する。入力デバイス16において、制御部50は、発光指示にもとづいて、グリッド番号14の時間位置で、全てのマーカ30を周期的に発光する。同期確立後、制御部50は、1フレーム期間に1つのタイムグリッド(521μ秒)の長さだけ光源をオンし、それ以外の期間は光源をオフにするため、無駄な電力消費を抑えることができる。
【0043】
HMD100において、通信制御部128が、撮像装置14が撮影した画像データを情報処理装置10に送信すると、情報処理装置10は、画像データからマーカ30の像を抽出する。入力デバイス16の3次元形状と、その表面に配置された複数のマーカ30の位置座標は既知であるため、情報処理装置10は、撮影画像内のマーカ30の像の分布から、PnP(Perspective n-Point)問題を解くことで、撮像装置14に対する入力デバイス16の位置と姿勢を推定する。
【0044】
以上、本発明を実施例をもとに説明した。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0045】
実施例では、操作部材22を備えた入力デバイス16における複数マーカ30の配置について説明したが、トラッキングの対象となるデバイスは、必ずしも操作部材22を備えていなくてよい。また実施例では撮像装置14がHMD100に取り付けられているが、撮像装置14は、マーカ像を撮影できればよく、HMD100以外の別の位置に取り付けられてもよい。
【符号の説明】
【0046】
1・・・情報処理システム、10・・・情報処理装置、14・・・撮像装置、16・・・入力デバイス、20・・・ケース体、32・・・第1光源、34・・・第2光源、36・・・導光管、50・・・制御部。