(57)【要約】【課題】推定されるオブジェクトの姿勢の誤差を低減できる姿勢推定システム、姿勢推定装置、誤差補正方法及び誤差補正プログラムを提供する。【解決手段】姿勢推定システム（画像表示システム１）は、オブジェクト（ユーザーＵＳ）に取り付けられるマーカー５と、オブジェクトを撮像するカメラ６と、カメラによる撮像画像に含まれるマーカーの位置に基づいてオブジェクトの姿勢を解析する解析部７１と、オブジェクトに設けられ、オブジェクトの動きを検出する慣性計測部（慣性計測装置３）と、慣性計測部による検出結果を示す検出情報に基づいて、オブジェクトの姿勢を示す算出姿勢情報を算出する算出部８８１と、解析部によって解析されたオブジェクトの姿勢を示す解析姿勢情報と算出姿勢情報とに基づいてオブジェクトの姿勢を推定する推定部８８２と、解析姿勢情報に基づいて、算出姿勢情報に含まれる誤差を補正する補正部８８４とを備える。【選択図】図２
2020187623.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトに取り付けられるマーカーと、
前記オブジェクトを撮像するカメラと、
前記カメラが撮像した撮像画像に含まれる前記マーカーの位置に基づいて前記オブジェクトの姿勢を解析する解析部と、
前記オブジェクトに設けられ、前記オブジェクトの動きを検出する慣性計測部と、
前記慣性計測部による検出結果を示す検出情報に基づいて、前記オブジェクトの姿勢を示す算出姿勢情報を算出する算出部と、
前記解析部によって解析された前記オブジェクトの姿勢を示す解析姿勢情報と前記算出姿勢情報とに基づいて、前記オブジェクトの姿勢を推定する推定部と、
前記解析姿勢情報に基づいて、前記算出姿勢情報に含まれる誤差を補正する補正部と、を備えることを特徴とする姿勢推定システム。
【請求項２】
請求項１に記載の姿勢推定システムにおいて、
前記解析姿勢情報は、前記解析姿勢情報が解析された前記撮像画像の撮像タイミングを示すタイムスタンプを含み、
前記検出情報は、前記慣性計測部によって前記オブジェクトの動きが検出されたタイミングを示すタイムスタンプを含み、
前記補正部は、前記解析姿勢情報と、前記解析姿勢情報に含まれるタイムスタンプと略同じタイムスタンプが含まれる前記検出情報に基づいて算出された前記算出姿勢情報との差分に基づいて、現在の前記算出姿勢情報を補正することを特徴とする姿勢推定システム。
【請求項３】
請求項２に記載の姿勢推定システムにおいて、
前記補正部は、
前記差分の絶対値が所定の閾値より大きい場合には、前記算出姿勢情報を補正せず、
前記差分の絶対値が前記閾値以下である場合には、前記算出姿勢情報を補正することを特徴とする姿勢推定システム。
【請求項４】
請求項２又は請求項３に記載の姿勢推定システムにおいて、
前記差分をｄ１とし、
０より大きく１以下の値であり、前記算出姿勢情報に前記差分を反映させる度合である反映度をα１とし、
想定される受信タイミングから実際に前記解析姿勢情報が受信されるまでの間に入力された前記検出情報の数をβとし、
前記検出情報の入力レートをＲ１とし、
前記解析姿勢情報の受信レートをｒ１とする場合、
前記補正部は、以下の式（１）によって示される補正値Ｃ１を、前記解析姿勢情報の受信時から次の前記解析姿勢情報の受信タイミングまでの間に入力された前記検出情報の数に応じて、前記算出部によって算出される前記算出姿勢情報から繰り返し減算することによって、前記算出姿勢情報を補正することを特徴とする姿勢推定システム。
［数１］
補正値Ｃ１＝（ｄ１×α１）／（Ｒ１／ｒ１−β）      …（１）
但し、Ｒ１／ｒ１＜βである場合には、（Ｒ１／ｒ１−β）を１とする。
【請求項５】
請求項１から請求項４のいずれか一項に記載の姿勢推定システムにおいて、
前記オブジェクトに装着され、入力される画像を表示する表示部と、
仮想空間において、前記推定部によって推定された前記オブジェクトの姿勢に応じて設定された視点からの画像を描画する描画部と、
前記描画部によって描画された画像を前記表示部に出力する出力部と、を備えることを特徴とする姿勢推定システム。
【請求項６】
請求項１から請求項５のいずれか一項に記載の姿勢推定システムにおいて、
前記カメラが撮像した前記撮像画像を取得する解析装置と、
前記オブジェクトに設けられ、前記慣性計測部から前記検出情報を取得する端末装置と、を備え、
前記解析装置は、前記解析部を有し、
前記端末装置は、前記算出部、前記推定部及び前記補正部を有することを特徴とする姿勢推定システム。
【請求項７】
請求項６に記載の姿勢推定システムにおいて、
前記端末装置は、前記解析装置と無線にて通信し、
前記端末装置は、前記慣性計測部と有線にて通信することを特徴とする姿勢推定システム。
【請求項８】
オブジェクトの姿勢を示す第１姿勢情報を外部から受信する通信部と、
前記オブジェクトに設けられた慣性計測装置による検出結果を示す検出情報が入力される入力部と、
前記検出情報に基づいて、前記オブジェクトの姿勢を示す第２姿勢情報を算出する算出部と、
前記第１姿勢情報及び前記第２姿勢情報に基づいて、前記オブジェクトの姿勢を推定する推定部と、
前記第１姿勢情報に基づいて、前記第２姿勢情報に含まれる誤差を補正する補正部と、を備えることを特徴とする姿勢推定装置。
【請求項９】
オブジェクトの姿勢を示す情報に含まれる誤差を補正する誤差補正方法であって、
前記オブジェクトの姿勢を示す情報であり、外部から受信された第１姿勢情報に基づいて、前記オブジェクトに設けられた慣性計測装置による検出結果に基づいて算出された前記オブジェクトの姿勢を示す第２姿勢情報に含まれる誤差を補正することを特徴とする誤差補正方法。
【請求項１０】
情報処理装置によって実行され、オブジェクトの姿勢を示す情報に含まれる誤差を補正する誤差補正プログラムであって、
前記情報処理装置に、
前記オブジェクトの姿勢を示す情報であり、外部から受信された第１姿勢情報に基づいて、前記オブジェクトに設けられた慣性計測装置による検出結果に基づいて算出された前記オブジェクトの姿勢を示す第２姿勢情報に含まれる誤差を補正する補正ステップを実行させることを特徴とする誤差補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢推定システム、姿勢推定装置、誤差補正方法及び誤差補正プログラムに関する。
【背景技術】
【０００２】
従来、被検体の動作を抽出するモーションキャプチャーシステムが知られている（例えば、特許文献１参照）。
特許文献１に記載のモーションキャプチャーシステムは、被検体の特徴点に装着されるマーカーと、複数のカメラと、情報処理装置と、表示装置と、を備えて構成されている。
複数のカメラは、被検体の可動範囲を囲むように複数設けられ、マーカーを時系列的に撮影する。画像処理装置は、複数のカメラから時系列的に受信される撮影画像を処理し、マーカーの三次元空間内の座標、すなわち、三次元情報を算出する。表示装置は、特徴情報抽出部を有し、画像処理装置からの情報が入力される。特徴情報抽出部は、マーカーの三次元時系列位置情報から、マーカーの時系列上の各位置における特定の物理量を算出して、被検体の動作の特徴情報である被検体の歩幅、歩行速度及び着地時間を算出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−５３７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、上記のようなモーションキャプチャーシステムによって計測される被検体の位置及び姿勢と、被検体に取り付けられて加速度及び角速度を検出する慣性計測装置（ＩＭＵ：Inertial Measurement Unit）による検出結果に基づいて算出される被検体の位置及び姿勢とに基づいて、被検体の位置及び姿勢を推定することが提案されている。
しかしながら、慣性計測装置に含まれる加速度センサー及びジャイロセンサーのうち、ジャイロセンサーによる検出結果には、ジャイロセンサーの特性上、時間とともに誤差が累積することから、実際の被検体の姿勢と推定された姿勢とがずれるおそれがある。
【０００５】
本発明は、上記課題の少なくとも一部を解決することを目的の１つとするものであり、推定されるオブジェクトの姿勢の誤差を低減できる姿勢推定システム、姿勢推定装置、誤差補正方法及び誤差補正プログラムを提供することを目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点によれば、オブジェクトに取り付けられるマーカーと、前記オブジェクトを撮像するカメラと、前記カメラが撮像した撮像画像に含まれる前記マーカーの位置に基づいて前記オブジェクトの姿勢を解析する解析部と、前記オブジェクトに設けられ、前記オブジェクトの動きを検出する慣性計測部と、前記慣性計測部による検出結果を示す検出情報に基づいて、前記オブジェクトの姿勢を示す算出姿勢情報を算出する算出部と、前記解析部によって解析された前記オブジェクトの姿勢を示す解析姿勢情報と前記算出姿勢情報とに基づいて、前記オブジェクトの姿勢を推定する推定部と、前記解析姿勢情報に基づいて、前記算出姿勢情報に含まれる誤差を補正する補正部と、を備える姿勢推定システムが提供される。
【０００７】
本発明の別の観点によれば、オブジェクトの姿勢を示す第１姿勢情報を外部から受信する通信部と、前記オブジェクトに設けられた慣性計測装置による検出結果を示す検出情報が入力される入力部と、前記検出情報に基づいて、前記オブジェクトの姿勢を示す第２姿勢情報を算出する算出部と、前記第１姿勢情報及び前記第２姿勢情報に基づいて、前記オブジェクトの姿勢を推定する推定部と、前記第１姿勢情報に基づいて、前記第２姿勢情報に含まれる誤差を補正する補正部と、を備える姿勢推定装置が提供される。
【０００８】
本発明の更に別の観点によれば、オブジェクトの姿勢を示す情報に含まれる誤差を補正する誤差補正方法であって、前記オブジェクトの姿勢を示す情報であり、外部から受信された第１姿勢情報に基づいて、前記オブジェクトに設けられた慣性計測装置による検出結果に基づいて算出された前記オブジェクトの姿勢を示す第２姿勢情報に含まれる誤差を補正する誤差補正方法が提供される。
【０００９】
本発明の更に別の観点によれば、情報処理装置によって実行され、オブジェクトの姿勢を示す情報に含まれる誤差を補正する誤差補正プログラムであって、前記情報処理装置に、前記オブジェクトの姿勢を示す情報であり、外部から受信された第１姿勢情報に基づいて、前記オブジェクトに設けられた慣性計測装置による検出結果に基づいて算出された前記オブジェクトの姿勢を示す第２姿勢情報に含まれる誤差を補正する補正ステップを実行させる誤差補正プログラムが提供される。
【発明の効果】
【００１０】
上記の構成によれば、慣性計測装置による検出結果に含まれる誤差によって、当該検出結果に基づいて算出されるオブジェクトの姿勢と、オブジェクトの実際の姿勢とのずれを小さくできる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像表示システムの構成を示す模式図。
【図２】上記一実施形態における画像表示システムの構成を示すブロック図。
【図３】上記一実施形態における複数のカメラの配置の一例を示す平面図。
【図４】上記一実施形態における端末装置の構成を示すブロック図。
【図５】上記一実施形態におけるＣＰＵの機能的構成を示すブロック図。
【図６】上記一実施形態における検出情報の入力タイミングと解析情報の受信タイミングとを説明する図。
【図７】上記一実施形態における誤差補正処理を示すフローチャート。
【図８】上記一実施形態における誤差修正処理を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面に基づいて説明する。
［画像表示システムの概略構成］
図１は、本実施形態に係る画像表示システム１の構成を示す模式図であり、図２は、画像表示システム１の構成を示すブロック図である。なお、図１においては、三次元空間ＳＰ内に２人のユーザーＵＳが居るが、図２においては、三次元空間ＳＰ内に１人のユーザーＵＳが居るものとして、構成を図示している。
本実施形態に係る画像表示システム１は、姿勢推定システムを含むものであり、三次元空間に位置するオブジェクトであるユーザーの位置及び姿勢に応じた画像をユーザーに提示する。詳述すると、画像表示システム１は、三次元空間におけるユーザーの位置及び姿勢に応じて仮想空間内に視点を設定し、設定された視点に基づいて描画される仮想空間の画像をユーザーに表示するＶＲ（Virtual Reality：仮想現実）システム、又は、ＡＲ（Augmented Reality：拡張現実）システムである。このような画像表示システム１は、図１に示すように、例えば複数のユーザーＵＳ（ＵＳ１，ＵＳ２）が格闘する対戦型格闘ゲームに適用可能である。
画像表示システム１は、図１及び図２に示すように、表示装置２、慣性計測装置３、カメラシステム４及び端末装置８を備えて構成されている。
【００１３】
［表示装置の構成］
表示装置２は、オブジェクトであるユーザーＵＳに装着され、入力される画像を表示する表示部に相当する。すなわち、表示装置２は、端末装置８から入力される画像をユーザーＵＳが視認可能に表示する。本実施形態では、表示装置２は、ユーザーＵＳの頭部ＨＤに装着される頭部装着型表示装置（ＨＭＤ：Head Mounted Display）によって構成されている。詳述すると、表示装置２は、画像を表示する表示部がユーザーＵＳの眼前に設けられ、外界を観察できないように構成された非透過型の頭部装着型表示装置である。すなわち、本実施形態に係る画像表示システム１は、ＶＲシステムである。しかしながら、表示装置２は、非透過型の頭部装着型表示装置に限らず、透過型の頭部装着型表示装置でもよい。この場合には、画像表示システム１を、ＡＲシステムとして構成できる。この他、表示装置２は、ユーザーＵＳが携帯可能な表示装置、例えばスマートフォン等の表示装置でもよい。
【００１４】
［慣性計測装置の構成］
慣性計測装置３は、慣性計測部に相当する。慣性計測装置３は、ユーザーＵＳの頭部ＨＤに設けられ、ユーザーＵＳの動きを検出する。本実施形態では、慣性計測装置３は、頭部ＨＤに装着される表示装置２に設けられており、特にユーザーＵＳの頭部ＨＤの動きを検出する。
慣性計測装置３は、３軸の加速度及び３軸の角速度を所定のサンプリングレートで検出する。すなわち、慣性計測装置３は、３軸の加速度センサーと、３軸のジャイロセンサーとを有する。本実施形態では、慣性計測装置３による加速度及び角速度のサンプリングレートは、１０００ｆｐｓである。
慣性計測装置３は、端末装置８と有線にて接続されており、検出した加速度及び角速度を含む検出情報を端末装置８に出力する。この際、慣性計測装置３は、加速度及び角速度が検出された時点でのタイムスタンプを検出情報に含めて出力する。なお、タイムスタンプは、検出時刻でもよく、画像表示システム１の起動時からの経過時間を示す情報であってもよい。
【００１５】
［カメラシステムの構成］
カメラシステム４は、三次元空間に位置するユーザーＵＳを撮像した撮像画像を処理し、ユーザーＵＳの位置及び姿勢を解析するモーションキャプチャーシステムである。カメラシステム４は、図１及び図２に示すように、複数のマーカー５及び複数のカメラ６を備える他、図２に示すように、解析装置としてのサーバー７を備える。
【００１６】
［マーカーの構成］
複数のマーカー５は、ユーザーＵＳの身体における複数箇所に設けられ、複数のカメラ６によって撮像される。複数のマーカー５は、ユーザーＵＳが動作した際に、当該ユーザーＵＳの動きを検出可能な位置に設けられている。マーカー５が設けられるユーザーＵＳの身体の部位としては、頭部、左右の手の甲、左右の足の甲及び胴部を例示できる。
このようなマーカー５の形状は、例えば半球を含む球形状やシート状が挙げられる。
【００１７】
［カメラの構成］
図３は、複数のカメラ６の配置の一例を示す平面図である。
複数のカメラ６は、図３に示すように、ユーザーＵＳの移動可能範囲として設定された三次元空間ＳＰを囲むように等間隔に設けられている。本実施形態では、複数のカメラ６は、それぞれの撮像方向が三次元空間ＳＰ内を向くように、三次元空間ＳＰの周囲に８つ設けられている。なお、カメラ６の数は、適宜変更可能である。
複数のカメラ６は、撮像した画像をサーバー７に送信する。本実施形態では、各カメラ６の撮像レートは２００ｆｐｓである。
【００１８】
［サーバーの構成］
サーバー７は、複数のカメラ６から送信された撮像画像に基づいて、三次元空間ＳＰにおけるユーザーＵＳ毎に、ユーザーＵＳの動きを解析する解析部７１を有する。
具体的に、解析部７１は、撮像画像を時系列で処理して得られるマーカー５の位置の変化に基づいて、三次元空間ＳＰにおけるユーザーＵＳの位置及び姿勢を解析する。解析部７１は、解析されたユーザーＵＳの位置を示す解析位置情報と、解析されたユーザーＵＳの姿勢を示す解析姿勢情報とを含む解析情報を取得する。そして、サーバー７は、解析対象のユーザーＵＳに設けられた端末装置８に、解析情報を無線にて送信する。この際、サーバー７は、解析部７１が位置及び姿勢を解析した撮像画像が撮像されたタイミングを示すタイムスタンプを解析情報に含めて送信する。すなわち、解析姿勢情報は、タイムスタンプが含まれる。なお、解析姿勢情報は、第１姿勢情報に相当し、解析位置情報は、第１位置情報に相当する。
【００１９】
なお、タイムスタンプは、解析部７１による位置及び姿勢の解析に用いられた撮像画像の撮像時刻であってもよく、例えば画像表示システム１の起動時からの経過時間を示す情報であってもよい。サーバー７のタイムスタンプと、慣性計測装置３のタイムスタンプとは、例えば画像表示システム１の起動時に揃えられる。
また、サーバー７から端末装置８への情報送信は、Bluetooth（登録商標）等の近距離無線通信規格に準拠した通信方式で行われてもよく、無線ＬＡＮ（Local Area Network）等の無線通信規格に準拠した通信方式で行われてもよい。
このように、サーバー７と端末装置８との通信を無線で行う理由は、サーバー７と端末装置８とがケーブルによって接続されている場合に、端末装置８を装着したユーザーＵＳの動きがケーブルによって妨げられないようにするためである。
【００２０】
［端末装置の構成］
図４は、端末装置８の構成を示すブロック図である。
端末装置８は、それぞれのユーザーＵＳに応じて設けられ、表示装置２及び慣性計測装置３と有線にて接続されている他、サーバー７と無線にて通信する。端末装置８は、ＰＣ（Personal Computer）等によって構成でき、ゲーム等のアプリケーションを実行する。例えば、端末装置８は、慣性計測装置３及びサーバー７から取得される情報に基づいて、ユーザーＵＳの位置及び姿勢を推定し、推定した位置及び姿勢に応じた画像を表示装置２に出力する。すなわち、端末装置８は、情報処理装置の１種であり、姿勢推定装置に相当する。
このような端末装置８は、図４に示すように、端子部８１、入力部８２、出力部８３、通信部８４、記憶部８５、メモリー８６、ＧＰＵ（Graphics Processing Unit）８７及びＣＰＵ（Central Processing Unit）８８を有し、これらはバスラインＢＬによって接続されている。
【００２１】
端子部８１は、外部機器と接続されるケーブルが接続される複数の端子を有する。端子部８１が有する端子としては、例えばＵＳＢ（Universal Serial Bus）端子等の汎用接続端子や、ＨＤＭＩ（登録商標）等の映像端子が挙げられる。本実施形態では、端子部８１は、表示装置２と接続される端子８１１と、慣性計測装置３と接続される端子８１２と、を有する。
【００２２】
入力部８２は、端子部８１を介して外部機器から入力される情報を取得する取得部である。入力部８２は、取得した情報を、バスラインＢＬを介してＣＰＵ８８に出力する。例えば、入力部８２は、端子８１２を介して接続される慣性計測装置３から検出情報を取得し、取得した検出情報をＣＰＵ８８に出力する。
出力部８３は、ＣＰＵ８８による制御の下、バスラインＢＬを介してＣＰＵ８８から入力する情報を、端子部８１に接続された外部機器のうち、出力先の外部機器に出力する。例えば、出力部８３は、ＧＰＵ８７によって描画された画像を、端子８１１に接続された表示装置２に出力する。
【００２３】
通信部８４は、ＣＰＵ８８による制御の下、外部機器と無線にて通信し、外部機器との間で情報を送受信する。例えば、通信部８４は、サーバー７と通信して、サーバー７から解析情報を受信し、受信した解析情報をＣＰＵ８８に出力する。すなわち、通信部８４は、入力部８２とともに取得部を構成する。
このような通信部８４による通信は、上記した通信方式にて行われる。
【００２４】
記憶部８５は、端末装置８の動作に必要なプログラム及びデータを記憶している。例えば、記憶部８５は、ＯＳ（Operating System）やゲームアプリケーションを記憶している他、後述する誤差補正プログラムを記憶している。
メモリー８６は、ＧＰＵ８７及びＣＰＵ８８の作業領域を構成する。例えばメモリー８６は、記憶部８５に記憶されたプログラムの一部及びデータの一部を一時的に記憶する。
【００２５】
ＧＰＵ８７は、ＣＰＵ８８による制御の下、表示装置２に出力する画像を描画するものであり、描画部に相当する。具体的に、ＧＰＵ８７は、ＣＰＵ８８がゲームアプリケーションを実行することによって展開される仮想空間に、ＣＰＵ８８によって特定されたユーザーＵＳの位置及び姿勢に応じた視点を設定し、設定された視点と予め設定された光源とに基づいて、ユーザーＵＳの視点から見た仮想空間の画像をメモリー８６に描画する。このように描画された画像は、メモリー８６から読み出されて、出力部８３によって表示装置２に出力される。
【００２６】
図５は、ＣＰＵ８８の機能的構成を示すブロック図である。
ＣＰＵ８８は、記憶部８５に記憶されたプログラムを実行することによって、端末装置８を動作させる。例えば、ＣＰＵ８８は、記憶部８５に記憶されたＯＳを実行することによって端末装置８を動作させ、記憶部８５に記憶されたゲームアプリケーションを実行することによってゲームを進行させる。
この他、ＣＰＵ８８は、慣性計測装置３から入力された検出情報、及び、サーバー７から受信された解析情報に基づいて、三次元空間ＳＰにおけるユーザーＵＳの位置及び姿勢を推定し、ユーザーＵＳの位置及び姿勢に応じた視点と光源とを仮想空間に設定する。また、ＣＰＵ８８は、慣性計測装置３からの検出情報に基づいて算出されるユーザーＵＳの位置及び姿勢を、サーバー７から受信される解析情報に基づいて補正する。
このようなＣＰＵ８８は、図５に示すように、算出部８８１、推定部８８２、設定部８８３及び補正部８８４を有する。
【００２７】
算出部８８１は、慣性計測装置３から入力される検出情報を初期値に順次加算して、検出情報に基づくユーザーＵＳの位置及び姿勢を算出する。以下の説明では、算出部８８１によって算出されるユーザーＵＳの位置を示す情報を算出位置情報とし、ユーザーＵＳの姿勢を示す情報を算出姿勢情報とし、算出位置情報及び算出姿勢情報を含む情報を算出情報とする。なお、算出姿勢情報は、第２姿勢情報に相当し、算出位置情報は、第２位置情報に相当する。
具体的に、初期値は、三次元空間ＳＰにおける所定位置にユーザーＵＳが位置し、ユーザーＵＳの姿勢が所定の姿勢であるときに慣性計測装置３によって検出された検出情報である。そして、算出部８８１は、慣性計測装置３から入力される検出情報を初期値に順次加算することによって、算出姿勢情報及び算出位置情報を算出する。
すなわち、算出部８８１は、直前の算出姿勢情報に、新たに取得された検出情報（特に角速度成分）を加算することによって、最新の算出位置情報を算出する。また、算出部８８１は、直前の算出位置情報に、新たに取得された検出情報（特に加速度成分）を加算することによって、最新の算出位置情報を算出する。
【００２８】
なお、慣性計測装置３による検出情報には誤差が含まれることから、算出部８８１によって算出された算出姿勢情報及び算出位置情報には、誤差が含まれる。特に、ユーザーＵＳの姿勢の算出に用いられる角速度は、慣性計測装置３に含まれるジャイロセンサーによって検出されるが、ジャイロセンサーの特性上、検出された角速度を加算していくと、誤差が累積されてしまい、算出姿勢情報により示される姿勢と実際のユーザーＵＳの姿勢とのずれが、時間とともに大きくなる。
このため、後述する補正部８８４が、算出姿勢情報及び算出位置情報を補正する。補正部８８４による誤差補正処理については、後に詳述する。
【００２９】
推定部８８２は、算出姿勢情報及び算出位置情報と、サーバー７から受信された解析情報に含まれる解析姿勢情報及び解析位置情報とに基づいて、三次元空間ＳＰにおけるユーザーＵＳの現在位置及び現在姿勢を推定する。
具体的に、推定部８８２は、サーバー７から解析情報が受信されたときに、受信された解析姿勢情報と、算出された算出姿勢情報とを合成することによって、ユーザーＵＳの現在姿勢を推定する。同様に、推定部８８２は、サーバー７から解析情報が受信されたときに、受信された解析位置情報と、算出された算出位置情報とを合成することによって、ユーザーＵＳの現在位置を推定する。
なお、推定部８８２が現在位置及び現在姿勢の推定に用いる算出姿勢情報及び算出位置情報は、補正部８８４によって補正された算出姿勢情報及び算出位置情報である。
【００３０】
図６は、慣性計測装置３からの検出情報の入力タイミングと、サーバー７からの解析情報の受信タイミングとを説明する図である。なお、検出情報の入力タイミングは、図６における上段に示され、解析情報の受信タイミングは、図６における下段に示されている。
ここで、慣性計測装置３と端末装置８とは有線にて接続されていることから、慣性計測装置３からの検出情報は、図６における上段に縦線にて示すように、端末装置８に定期的に入力される。なお、検出情報の入力レートは、慣性計測装置３による加速度及び角速度のサンプリングレートである１０００ｆｐｓである。
【００３１】
一方、サーバー７と端末装置８とは無線にて通信接続される。このため、通常であれば、図６の下段に黒丸で示すように、サーバー７からの解析情報は、端末装置８にて定期的に受信される。解析情報の受信レートは、カメラシステム４による解析情報のサンプリングレートである２００ｆｐｓである。
しかしながら、無線環境等の要因によって、解析情報が、通常の受信タイミングから遅延して端末装置８に受信されることがある。例えば、図６の下段において、通常であれば、白丸により示される受信タイミングにて解析情報が受信されるところ、白丸のタイミングより後の黒丸のタイミングにて解析情報が受信される場合がある。
このような場合でも、推定部８８２は、新たに受信された解析情報と、算出部８８１によって算出されて、補正部８８４によって補正された算出情報とに基づいて、現在位置及び現在姿勢を推定する。
【００３２】
図５に示す設定部８８３は、推定部８８２によって推定されたユーザーＵＳの現在位置及び現在姿勢に基づいて、仮想空間内に視点を設定する。これにより、ＧＰＵ８７が、設定された視点と、予め設定された光源とに基づいて、仮想空間におけるユーザーＵＳの視点に応じた画像を描画する。なお、設定部８８３は、ユーザーＵＳの操作等に応じて、仮想空間における光源の位置を設定してもよい。
この他、設定部８８３は、慣性計測装置３から入力される検出情報の入力レートを設定する他、サーバー７から受信される解析情報の受信レートを設定する。なお、検出情報の入力レート及び解析情報の受信レートは、予め設定されていてもよく、慣性計測装置３及びサーバー７から取得されて設定されてもよい。
【００３３】
図７は、補正部８８４によって実行される誤差補正処理を示すフローチャートである。
補正部８８４は、算出部８８１によって検出情報に基づいて算出される算出姿勢情報及び算出位置情報を、解析情報に含まれる解析姿勢情報及び解析位置情報に基づいて補正する。具体的に、補正部８８４は、図７に示す誤差補正処理を実施することによって、算出姿勢情報及び算出位置情報を補正する。誤差補正処理は、記憶部８５に記憶された誤差補正プログラムを補正部８８４が実行することによって実施される。
【００３４】
誤差補正処理では、まず、補正部８８４が、入力された検出情報を計数するカウンターをリセットする（ステップＳＡ１）。
次に、補正部８８４は、解析情報の受信タイミングとなったか否かを判定する（ステップＳＡ２）。具体的に、ステップＳＡ２では、補正部８８４が、設定された受信レートと過去に受信された解析情報の受信タイミングとに基づいて、次の解析情報の受信タイミングを特定し、特定された受信タイミングになったか否かを判定する。
ステップＳＡ２の判定処理にて、受信タイミングになっていないと判定した場合（ステップＳＡ２：ＮＯ）、補正部８８４は、受信タイミングとなるまで、ステップＳＡ２を繰り返し実行する。
【００３５】
ステップＳＡ２の判定処理にて、受信タイミングになったと判定した場合（ステップＳＡ２：ＹＥＳ）、補正部８８４は、解析情報が受信されたか否かを判定する（ステップＳＡ３）。この処理は、解析情報が遅延して受信される可能性を考慮した処理である。
ステップＳＡ３の判定処理にて、解析情報は受信されていないと判定した場合（ステップＳＡ３：ＮＯ）、補正部８８４は、受信される予定の解析情報が受信される前に入力した検出情報の数βを計数し（ステップＳＡ４）、処理をステップＳＡ３に戻す。
【００３６】
ステップＳＡ３の判定処理にて、解析情報が受信されたと判定した場合（ステップＳＡ３：ＹＥＳ）、補正部８８４は、受信された解析情報に含まれるタイムスタンプと略同じタイムスタンプを含む検出情報に基づいて算出部８８１によって算出された算出情報を取得する（ステップＳＡ５）。なお、受信された解析情報に含まれるタイムスタンプと同じタイムスタンプを含む検出情報がない場合には、解析情報に含まれるタイムスタンプに最も近いタイムスタンプを含む検出情報に基づく算出情報が取得される。
そして、補正部８８４は、それぞれ取得された解析情報と算出情報との誤差を算出する（ステップＳＡ６）。詳述すると、補正部８８４は、解析姿勢情報と算出姿勢情報との差分ｄ１を算出し、更に、解析位置情報と算出位置情報との差分ｄ２を算出する。具体的に、補正部８８４は、算出姿勢情報から解析姿勢情報を減算して得られる値を差分ｄ１として取得し、算出位置情報から解析位置情報を減算して得られる値を差分ｄ２として取得する。
【００３７】
この後、補正部８８４は、姿勢についての差分ｄ１の絶対値が、予め設定された閾値ｔｈ１より小さいか否かを判定する（ステップＳＡ７）。
ステップＳＡ７の判定処理にて、差分ｄ１の絶対値が閾値ｔｈ１以上である場合（ステップＳＡ７：ＮＯ）、補正部８８４は、処理をステップＳＡ９に移行する。誤計測等の理由によってサーバー７から誤った解析姿勢情報が受信された場合、差分ｄ１の絶対値は比較的大きな値となる。このため、差分ｄ１の絶対値が閾値ｔｈ１以上である場合には、誤った解析姿勢情報が受信されたと判断して、補正部８８４は、解析姿勢情報に基づく算出姿勢情報の補正を行わない。
一方、ステップＳＡ７の判定処理にて、差分ｄ１の絶対値が閾値ｔｈ１より小さい場合（ステップＳＡ７：ＹＥＳ）、補正部８８４は、誤差修正対象に「姿勢」を設定する（ステップＳＡ８）する。そして、補正部８８４は、処理をステップＳＡ９に移行する。
【００３８】
ステップＳＡ９では、補正部８８４が、位置についての差分ｄ２の絶対値が予め設定された閾値ｔｈ２より小さいか否かを判定する（ステップＳＡ９）。
ステップＳＡ９の判定処理にて、差分ｄ２の絶対値が閾値ｔｈ２以上である場合（ステップＳＡ９：ＮＯ）、補正部８８４は、処理をステップＳＡ１１に移行する。上記のように、差分ｄ２の絶対値が閾値ｔｈ２以上である場合には、誤った解析位置情報が受信されたと判断して、補正部８８４は、解析位置情報に基づく算出位置情報の補正を行わない。
ステップＳＡ９の判定処理にて、差分ｄ２の絶対値が閾値ｔｈ２より小さい場合（ステップＳＡ９：ＹＥＳ）、補正部８８４は、誤差修正対象に「位置」を設定する（ステップＳＡ１０）する。そして、補正部８８４は、処理をステップＳＡ１１に移行する。
なお、ユーザーＵＳの位置は、ユーザーＵＳの姿勢に対して比較的精度よく推定可能である。このことから、位置について誤差修正処理ＳＢが頻繁に実行されないように、閾値ｔｈ２は、閾値ｔｈ１より小さな値に設定されている。
【００３９】
ステップＳＡ１１では、補正部８８４が、設定された誤差修正対象が有るか否かを判定する（ステップＳＡ１１）。すなわち、ステップＳＡ１１では、補正部８８４は、ステップＳＡ８，ＳＡ１０にて、誤差修正対象に「姿勢」又は「位置」が設定されたか否かを判定する。
ステップＳＡ１１の判定処理にて、誤差修正対象が無いと判定すると、補正部８８４は、処理をステップＳＡ１に戻す。
ステップＳＡ１１の判定処理にて、誤差修正対象が有ると判定すると、補正部８８４は、設定された誤差修正対象に対して、誤差修正処理ＳＢを実行する。
【００４０】
図８は、誤差修正処理ＳＢを示すフローチャートである。
誤差修正処理ＳＢでは、補正部８８４は、図８に示すように、まずループ回数を算出する（ステップＳＢ１）。具体的に、補正部８８４は、検出情報の入力レートを解析情報の受信レートで除算した値から、上記ステップＳＡ４にて計数された検出情報の数βを減算した値の整数値をループ回数として算出する。この処理は、解析情報の受信タイミングから次の解析情報の受信タイミングまでの期間に入力された検出情報の数だけ、ステップＳＢ３を実行するための処理である。なお、解析情報が通常の受信タイミングにて受信された場合には、ステップＳＡ４は実行されないので、検出情報の数βは０となる。
次に、補正部８８４は、ループカウンターｎを１に設定する（ステップＳＢ２）。
【００４１】
この後、補正部８８４は、算出姿勢情報及び算出位置情報のうち、誤差修正対象に設定された情報に含まれる誤差を補正する（ステップＳＢ３）。
具体的に、補正部８８４は、誤差修正対象に姿勢が設定されている場合には、ステップＳＢ３において、以下の式（１）によって示される補正値Ｃ１を、最新の算出姿勢情報から減算することによって、最新の算出姿勢情報を補正する。なお、式（１）において、ｄ１は、上記差分ｄ１であり、βは、ステップＳＡ４にて計数された検出情報の数βである。Ｒ１は、検出情報の入力レートであり、ｒ１は、解析情報の受信レートである。α１は、算出姿勢情報に差分ｄ１を反映させる度合である反映度、すなわち、解析姿勢情報に対して算出姿勢情報を近付ける度合いを示す値であり、０より大きく１以下の値である。但し、Ｒ１／ｒ１＜βが成立する場合には、式（１）の右辺の分母である（Ｒ１／ｒ１−β）を１として扱う。
【００４２】
［数１］
補正値Ｃ１＝（ｄ１×α１）／（Ｒ１／ｒ１−β）      …（１）
【００４３】
また、補正部８８４は、誤差修正対象に位置が設定されている場合には、ステップＳＢ３において、ステップＳＢ３において、以下の式（２）によって示される補正値Ｃ２を、最新の算出位置情報から減算する。なお、式（２）において、ｄ２は、上記差分ｄ２である。β、Ｒ１及びｒ１は、上記式（１）におけるβ、Ｒ１及びｒ１と同じであり、α２は、算出位置情報に差分ｄ２を反映させる度合である反映度、すなわち、解析位置情報に対して算出位置情報を近付ける度合いを示す値であり、０より大きく１以下の値である。なお、α２は、α１と同じ値でも、異なる値でもよい。但し、式（２）においても、Ｒ１／ｒ１＜βが成立する場合には、式（２）の右辺の分母である（Ｒ１／ｒ１−β）を１として扱う。
【００４４】
［数２］
補正値Ｃ２＝（ｄ２×α２）／（Ｒ１／ｒ１−β）      …（２）
【００４５】
例えば、ループ回数が５である場合、ステップＳＢ３の実行回数は５となる。この場合、ステップＳＢ３が実行される毎に、算出姿勢情報に含まれる誤差が（ｄ１×α１）／５ずつ補正され、算出位置情報に含まれる誤差が（ｄ２×α２）／５ずつ補正される。
【００４６】
ここで、上記のように、検出情報の入力毎に算出部８８１が最新の算出情報を算出し、算出された最新の算出情報及び解析情報に基づいて、推定部８８２が、ユーザーＵＳの位置及び姿勢を推定する。しかしながら、次の検出情報の入力タイミングまでの間に、ステップＳＢ３が複数回実行される等して算出情報が大きく補正されると、算出情報が大きく変動し、ひいては、推定されるユーザーＵＳの位置及び姿勢も大きく変動してしまう。この場合、推定されたユーザーＵＳの位置及び姿勢に応じて描画される画像が、直前の画像と大きく変動してしまうことから、表示装置２によって表示された画像を視認したユーザーが違和感を抱く要因となる。
【００４７】
このため、ステップＳＢ３は、検出情報の入力レートに応じた周期で実行されることが好ましい。すなわち、ステップＳＢ３は、ある検出情報の入力タイミングと、次の検出情報の入力タイミングとの間に１回実行されることが好ましい。
このようにステップＳＢ３が実行されることにより、次の検出情報の入力タイミングまでの間に、算出情報が大きく変動してしまうことが抑制され、ひいては、ユーザーが違和感を抱くことを抑制できる。
また、ＧＰＵ８７による画像の描画レート、表示装置２に対する画像の出力レート、及び、表示装置２による画像の更新レートが比較的高いレートであったとしても、上記のように、算出情報の誤差が徐々に補正されることによって、直前に描画、出力及び表示された画像と、次に描画、出力及び表示される画像との差異を小さくすることができる。従って、この点においても、ユーザーが違和感を抱くことを抑制できる。
【００４８】
次に、補正部８８４は、現在のループカウンターｎが、ループ回数に達したか否かを判定する（ステップＳＢ４）。
ステップＳＢ４の判定処理にて、補正部８８４が、ループカウンターｎはループ回数に達していないと判定すると（ステップＳＢ４：ＮＯ）、補正部８８４は、ループカウンターｎを１繰り上げる（ステップＳＢ５）。この後、補正部８８４は、処理をステップＳＢ３に戻す。
ステップＳＢ４の判定処理にて、補正部８８４が、ループカウンターｎがループ回数に達したと判定すると（ステップＳＢ４：ＹＥＳ）、補正部８８４は、誤差修正処理ＳＢを終了させる。このような誤差修正処理ＳＢが実行されて算出情報が補正される補正期間は、図６に示すように、解析情報が受信されてから、次の解析情報が受信されると想定される受信タイミングまでの期間である。
【００４９】
誤差修正処理ＳＢが終了すると、図７に示すように、補正部８８４は、処理をステップＳＡ１に戻す。すなわち、補正部８８４による算出情報の補正は、繰り返し実行される。
なお、差分ｄ１が閾値ｔｈ１以下であり、差分ｄ２が閾値ｔｈ２以下であって、算出姿勢情報に対する誤差修正処理ＳＢと、算出位置情報に対する誤差修正処理ＳＢとのそれぞれを実行する場合には、算出姿勢情報に対する誤差修正処理ＳＢと、算出位置情報に対する誤差修正処理ＳＢとを、それぞれ別に実行してもよい。また、算出姿勢情報に対する誤差修正処理ＳＢと、算出位置情報に対する誤差修正処理ＳＢとのうち、一方の誤差修正処理ＳＢを実行した後、他方の誤差修正処理ＳＢを実行してもよい。
【００５０】
［実施形態の効果］
以上説明した本実施形態に係る画像表示システム１によれば、以下の効果を奏することができる。
姿勢推定システムを含む画像表示システム１は、慣性計測装置３、マーカー５、カメラ６、サーバー７、及び、端末装置８を備える。マーカー５は、オブジェクトであるユーザーＵＳに取り付けられている。カメラ６は、ユーザーＵＳを撮像する。サーバー７の解析部７１は、カメラ６が撮像した撮像画像に含まれるマーカー５の位置に基づいてユーザーＵＳの姿勢を解析する。慣性計測部としての慣性計測装置３は、ユーザーＵＳに設けられて、ユーザーＵＳの動きを検出する。
端末装置８は、算出部８８１、推定部８８２及び補正部８８４を備える。算出部８８１は、慣性計測装置３による検出結果を示す検出情報に基づいて、ユーザーＵＳの姿勢を示す算出姿勢情報を算出する。推定部８８２は、解析部７１によって解析されたユーザーＵＳの姿勢を示す解析姿勢情報と算出姿勢情報とに基づいて、ユーザーＵＳの実際の姿勢を推定する。補正部８８４は、解析姿勢情報に基づいて、算出姿勢情報に含まれる誤差を補正する。
このような構成によれば、慣性計測装置３から入力される検出情報に基づいて算出される算出姿勢情報に累積する誤差を補正できる。これにより、算出姿勢情報及び解析姿勢情報に基づいて、ユーザーＵＳの姿勢を精度よく推定できる。
【００５１】
解析姿勢情報は、解析姿勢情報が解析された撮像画像の撮像タイミングを示すタイムスタンプを含む。検出情報は、慣性計測装置３によってユーザーＵＳの動きが検出されたタイミングを示すタイムスタンプを含む。補正部８８４は、解析姿勢情報と、解析情報に含まれるタイムスタンプと略同じタイムスタンプが含まれる検出情報に基づいて算出された算出姿勢情報との差分に基づいて、現在の算出姿勢情報を補正する。
これによれば、現在の算出姿勢情報は、それぞれ略同じユーザーＵＳの姿勢に応じた解析姿勢情報及び算出姿勢情報の差分に基づいて補正されるので、誤差が累積するおそれのある算出姿勢情報を適切に補正できる。算出位置情報についても同様である。
【００５２】
補正部８８４は、姿勢についての差分ｄ１の絶対値が閾値ｔｈ１より大きい場合には、第２姿勢情報としての算出姿勢情報を補正せず、差分ｄ１の絶対値が閾値ｔｈ１以下である場合には、算出姿勢情報を補正する。
これによれば、サーバー７から受信された解析姿勢情報が異常な値を示す場合に、当該解析姿勢情報に基づいて算出姿勢情報が補正されることを抑制できる。
なお、補正部８８４は、位置についての差分ｄ２の絶対値が閾値ｔｈ２より大きい場合には、算出位置情報を補正しないので、上記と同様の効果を奏することができる。
【００５３】
補正部８８４は、上記式（１）によって示される補正値Ｃ１を、解析姿勢情報を含む解析情報の受信時から次の解析情報が受信されると想定されるタイミングまでの間に入力される検出情報の数に応じて、第２姿勢情報である算出姿勢情報から繰り返し減算することによって、算出姿勢情報を補正する。
これによれば、検出情報の入力状態及び解析情報の受信状態に依らずに、算出姿勢情報を精度よく補正できる。更に、算出姿勢情報に微小な変化を随時反映させることによって、推定部８８２によって推定されるユーザーＵＳの姿勢に急峻な変化が表れることが抑制される。推定部８８２によって推定されるユーザーＵＳの位置についても同様である。そして、これにより、推定されたユーザーＵＳの姿勢及び位置に基づく画像が表示される表示装置２が、ユーザーＵＳの姿勢及び位置の自然な変化に応じた画像を表示できるので、表示内容が急激に変化してユーザーＵＳが違和感を抱くことを抑制できる。
【００５４】
姿勢推定システムを含む画像表示システム１は、ユーザーＵＳに装着され、入力される画像を表示する表示部としての表示装置２を備える。端末装置８は、仮想空間において、推定部８８２によって推定されたユーザーＵＳの姿勢及び位置に応じて設定された視点からの画像を描画する描画部としてのＧＰＵ８７と、ＧＰＵ８７によって描画された画像を表示装置２に出力する出力部８３と、を備える。
このような構成によれば、ユーザーＵＳの姿勢及び位置を精度よく推定できるので、仮想空間においてユーザーＵＳの視方向に応じた画像をユーザーＵＳに提示可能なＶＲシステムを構築できる。
【００５５】
姿勢推定システムとしての画像表示システム１は、カメラ６が撮像した撮像画像を取得する解析装置としてのサーバー７と、オブジェクトであるユーザーＵＳに設けられ、慣性計測部としての慣性計測装置３から検出情報を取得する端末装置８と、を備える。そして、サーバー７は、解析部７１を有し、端末装置８は、算出部８８１、推定部８８２及び補正部８８４を有する。
このような構成によれば、カメラ６に接続されるサーバー７と、慣性計測装置３に接続される端末装置８とで、機能を分けることができる。従って、１つの装置が、解析部７１、算出部８８１、推定部８８２及び補正部８８４を有する場合に比べて、処理負担を軽減できる。そして、これにより、ユーザーＵＳに設けられる端末装置８に、小型な端末装置を採用できる。
【００５６】
端末装置８は、サーバー７と無線にて通信する。また、端末装置８は、慣性計測装置３と有線にて通信する。
このような構成によれば、比較的高いサンプリングレートでユーザーＵＳの動きを検出し、検出情報を出力する慣性計測装置３が、端末装置８と有線にて通信するので、端末装置８が慣性計測装置３から遅延なく検出情報を取得できる。また、サーバー７と端末装置８とが無線にて通信するので、三次元空間ＳＰに位置するユーザーＵＳの動きがケーブルによって妨げられることを防止できる。
【００５７】
姿勢推定装置としての端末装置８は、入力部８２、通信部８４、算出部８８１、推定部８８２及び補正部８８４を備える。通信部８４は、解析されたユーザーＵＳの姿勢を示す解析姿勢情報（第１姿勢情報）を外部のサーバー７から受信する。入力部８２には、ユーザーＵＳに設けられた慣性計測装置３による検出結果を示す検出情報が入力される。算出部８８１は、検出情報に基づいて、ユーザーＵＳの姿勢を示す算出姿勢情報（第２姿勢情報）を算出する。推定部８８２は、解析姿勢情報及び算出姿勢情報に基づいて、ユーザーＵＳの姿勢を推定する。補正部８８４は、解析姿勢情報に基づいて、算出姿勢情報に含まれる誤差を補正する。
また、情報処理装置である端末装置８のＣＰＵ８８は、外部のサーバー７から受信される解析姿勢情報（第１姿勢情報）に基づいて、ユーザーＵＳに設けられた慣性計測装置３による検出結果に基づいて算出されたユーザーＵＳの姿勢を示す算出姿勢情報（第２姿勢情報）に含まれる誤差を補正する誤差補正方法を含む誤差補正処理を実施する。
また、端末装置８のＣＰＵ８８は、外部のサーバー７から受信される解析姿勢情報（第１姿勢情報）に基づいて、ユーザーＵＳに設けられた慣性計測装置３による検出結果に基づいて算出されたユーザーＵＳの姿勢を示す算出姿勢情報（第２姿勢情報）に含まれる誤差を補正する補正ステップである誤差修正処理ＳＢを実行させる誤差補正プログラムを実行する。
これによれば、上記した姿勢推定システムとしての画像表示システム１と同様の効果を奏することができる。
【００５８】
［実施形態の変形］
本発明は、上記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
上記実施形態では、姿勢推定システムを含む画像表示システム１は、オブジェクトであるユーザーＵＳの姿勢だけでなく、ユーザーＵＳの位置も検出、解析及び推定するとした。しかしながら、これに限らず、ユーザーＵＳの姿勢及び位置のいずれかを推定する構成としてもよい。なお、ユーザーＵＳの姿勢のみ推定する場合には、慣性計測装置３に代えてジャイロセンサーを採用してもよい。
【００５９】
上記実施形態では、端末装置８は、解析装置であるサーバー７と無線にて通信するとした。しかしながら、これに限らず、サーバー７と端末装置８とは、有線にて通信する構成としてもよい。同様に、慣性計測装置３と端末装置８とは、無線にて通信する構成としてもよい。
【００６０】
上記実施形態では、解析情報には、ユーザーＵＳの位置及び姿勢を解析したタイミングのタイムスタンプが含まれ、検出情報には、ユーザーＵＳの動きを検出したタイミングのタイムスタンプが含まれるとした。しかしながら、これに限らず、例えばサーバー７と端末装置８とが有線にて接続されている場合等、解析情報が遅延なく端末装置８に受信される場合には、解析情報及び検出情報にタイムスタンプは含まれなくてもよい。なお、サーバー７にて解析情報を算出するには、若干の時間が必要であり、サーバー７から解析情報が送信されるタイミングは、ユーザーＵＳの位置及び姿勢を撮像及び解析したタイミングと異なることが想定される。このため、同じタイミングにて解析及び検出された解析情報及び検出情報を比較するのであれば、解析情報及び検出情報にタイムスタンプが含まれることが好ましい。
【００６１】
上記実施形態では、姿勢についての差分ｄ１が閾値ｔｈ１より大きい場合には、算出姿勢情報は補正されず、位置についての差分ｄ２が閾値ｔｈ２より大きい場合には、算出位置情報は補正されないとした。しかしながら、これに限らず、差分ｄ１，ｄ２がどのような値であっても、補正部８８４が算出姿勢情報及び算出位置情報を補正する構成としてもよい。
【００６２】
上記実施形態では、算出姿勢情報は、上記式（１）によって示される補正値Ｃ１が順次減算されることによって補正されるとした。同様に、算出位置情報は、上記式（２）によって示される補正値Ｃ２が順次減算されることによって補正されるとした。しかしながら、これに限らず、解析姿勢情報に基づいて算出姿勢情報が補正され、また、解析位置情報に基づいて算出位置情報が補正されれば、算出姿勢情報及び算出位置情報の補正方法は、適宜変更してもよい。例えば、差分ｄ１が閾値ｔｈ１より小さい場合に、差分ｄ１に反映度α１を乗算した値を算出姿勢情報から減算した値を、補正後の算出姿勢情報としてもよい。同様に、差分ｄ２が閾値ｔｈ２より小さい場合に、差分ｄ２に反映度α２を乗算した値を算出位置情報から減算した値を、補正後の算出位置情報としてもよい。
また例えば、補正部８８４は、解析姿勢情報から算出姿勢情報を減算した値を差分ｄ１とし、差分ｄ１に基づく補正値Ｃ１を算出姿勢情報に加算することによって、算出姿勢情報を補正してもよい。算出位置情報の補正についても同様である。
【００６３】
上記実施形態では、画像表示システム１は、表示装置２を備え、端末装置８は、描画部としてのＧＰＵ８７と、描画された画像を出力する出力部８３とを備えるとした。しかしながら、これに限らず、表示装置２、ＧＰＵ８７及び出力部８３は、無くてもよい。この場合でも、三次元空間ＳＰにおけるユーザーＵＳの位置及び姿勢を精度よく推定可能なシステムを構成できる。
【００６４】
上記実施形態では、オブジェクトとしてユーザーＵＳを例示した。しかしながら、これに限らず、人間以外の生物であってもよく、ロボット等の可動体であってもよい。
【００６５】
上記実施形態では、誤差補正処理は、ＣＰＵ８８が記憶部８５に記憶された補正プログラムを読み取って実行することにより実施されるとした。しかしながら、これに限らず、補正プログラムは、コンピューター読取可能に記録媒体に記録され、誤差補正処理の実行時に、ＣＰＵ８８が、記録媒体から補正プログラムを読み取って実行する構成としてもよい。記録媒体としては、光ディスク等のディスク型記録媒体が挙げられる他、ハードディスク装置や半導体メモリーを採用できる。この他、補正プログラムは、ネットワーク上の機器から取得されてもよい。このように取得された補正プログラムを情報処理装置が実行することにより、端末装置８と同様の効果を奏することが可能となる。
【００６６】
上記実施形態では、端末装置８のＣＰＵ８８は、ゲームアプリケーションを実行することによってゲームを進行させるとした。すなわち、画像表示システム１は、ＶＲゲームシステム又はＡＲゲームシステムであるとした。しかしながら、画像表示システム１の用途はゲームに限らない。例えば、画像表示システム１は、体験型等のアトラクションの用途に用いられてもよく、美術館やモデルルーム等の空間内の画像や説明をユーザーに提供するシステムであってもよい。
【００６７】
上記実施形態では、サーバー７が解析部７１を有し、慣性計測装置３に接続され、サーバー７と無線にて通信する端末装置８が、算出部８８１、推定部８８２及び補正部８８４を有するとした。しかしながら、解析部７１は、必ずしもサーバー７が備えていなくてもよく、算出部８８１、推定部８８２及び補正部８８４のうち少なくとも１つは、端末装置８が備えていなくてもよい。
【００６８】
例えば、サーバー７が、解析部７１、算出部８８１、推定部８８２及び補正部８８４を備えていてもよい。
この場合、サーバー７は、慣性計測装置３から検出情報を無線又は有線にて受信してもよい。サーバー７が無線にて検出情報を受信する場合には、慣性計測装置３から入力される検出情報を、端末装置８がサーバー７に無線にて送信してもよい。
上記の場合、サーバー７は、推定部８８２によって推定されたユーザーＵＳの位置及び姿勢を示す推定情報を端末装置８に送信し、端末装置８が、推定情報に基づく画像を描画して、表示装置２に出力してもよい。
一方、上記の場合、サーバー７が、設定部８８３や、描画部としてのＧＰＵ８７を有し、推定部８８２によって推定されたユーザーＵＳの位置及び姿勢に基づく画像をＧＰＵ８７によって描画し、描画された画像を表示装置２に無線又は有線にて送信する構成としてもよい。
【００６９】
また例えば、端末装置８が、解析部７１、算出部８８１、推定部８８２及び補正部８８４を備えていてもよい。この場合、複数のカメラ６のそれぞれが、撮像画像を端末装置８に無線又は有線にて送信してもよい。また、複数のカメラ６と接続される中継装置が、各カメラ６から取得される撮像画像を端末装置８に無線又は有線にて送信してもよい。
また例えば、慣性計測装置３が、検出情報に基づいてユーザーＵＳの位置及び姿勢を算出する算出部８８１を備え、慣性計測装置３から端末装置８又はサーバー７に、算出位置情報及び算出姿勢情報を含む算出情報が送信されてもよい。
【符号の説明】
【００７０】
１…画像表示システム（姿勢推定システム）、２…表示装置（表示部）、３…慣性計測装置（慣性計測部）、４…カメラシステム、５…マーカー、６…カメラ、７…サーバー（解析装置）、７１…解析部、８…端末装置（情報処理装置）、８２…入力部、８３…出力部、８４…通信部、８７…ＧＰＵ（描画部）、８８…ＣＰＵ、８８１…算出部、８８２…推定部、８８４…補正部、ＵＳ…ユーザー（オブジェクト）。
【図１】
2020187623.tif 000003
【図２】
2020187623.tif 000004
【図３】
2020187623.tif 000005
【図４】
2020187623.tif 000006
【図５】
2020187623.tif 000007
【図６】
2020187623.tif 000008
【図７】
2020187623.tif 000009
【図８】
2020187623.tif 000010