(57)【要約】  カメラ画像取得部１３５は、ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得する。カメラ姿勢情報取得部１３４は、カメラの撮影時の姿勢情報を取得する。差分計算部１３６は、ヘッドマウントディスプレイの姿勢情報とカメラの撮影時の姿勢情報の差分を算出する。画像補正部１３８は、算出された差分にもとづいてヘッドマウントディスプレイの姿勢に合うように撮影画像を補正する。
2019176035.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得部と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得部と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算部と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正部とを含むことを特徴とする画像生成装置。
【請求項２】
前記カメラ姿勢情報取得部は、前記カメラの撮影時の姿勢情報を前記撮影画像の各フレームの同期信号に挿入されたメタデータから抽出することを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢が前記カメラの可動範囲の限界値に対して所定の閾値まで近づいたか、または前記カメラの可動範囲を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断または継続し、警告を表示する警告部をさらに含むことを特徴とする請求項１または２に記載の画像生成装置。
【請求項４】
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢変化が前記カメラの追従可能速度を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断または継続し、警告を表示する警告部をさらに含むことを特徴とする請求項１または２に記載の画像生成装置。
【請求項５】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得ステップと、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得ステップと、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算ステップと、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正ステップとを含むことを特徴とする画像生成方法。
【請求項６】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得機能と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得機能と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算機能と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正機能とをコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像を生成する装置、システムおよび方法に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（ＨＭＤ）が様々な分野で利用されている。ＨＭＤにヘッドトラッキング機能をもたせ、ユーザの頭部の姿勢と連動して表示画面を更新することで、映像世界への没入感を高められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−９５０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＨＭＤから遠隔地に配置したロボットなどの制御装置にコマンドを送信してロボットを操作し、ロボットに搭載されたカメラから見た映像をロボットから受信してＨＭＤの表示パネルに表示することにより、ＨＭＤを装着したユーザがロボットを遠隔操作するシステムが利用されている。【０００５】
このような遠隔操作システムでは、ＨＭＤを装着したユーザの姿勢に連動してロボットのカメラの姿勢が制御され、ロボットのカメラの撮影画像をユーザがリアルタイムで見ることができるため、ユーザはロボットが配置された場所にいるような臨場感をもって、遠隔操作を行うことができる。しかしながら、ロボットのモータ制御の遅延と誤差、さらには変動するネットワーク遅延によって、カメラの姿勢がＨＭＤの姿勢と一致せず、ＨＭＤの姿勢からずれたカメラ画像をＨＭＤで見ることになり、ユーザは酔ったような感覚に陥ることがある。【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ヘッドマウントディスプレイに表示されるカメラ画像をヘッドマウントディスプレイの姿勢に適合させることのできる画像生成技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の画像生成装置は、ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得部と、前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得部と、前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算部と、算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正部とを含む。【０００８】
本発明の別の態様は、画像生成方法である。この方法は、ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得ステップと、前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得ステップと、前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算ステップと、算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正ステップとを含む。【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、ヘッドマウントディスプレイに表示されるカメラ画像をヘッドマウントディスプレイの姿勢に適合させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係る情報処理システムの構成例を示す図である。
【図２】図１のＨＭＤの機能ブロックを示す図である。
【図３】図１のロボットの外観構成を示す図である。
【図４】図３のロボットにおける筐体の姿勢の例を示す図である。
【図５】図３のロボットにおける筐体の姿勢の例を示す図である。
【図６】図１のロボットの機能ブロックを示す図である。
【図７】図２のリプロジェクション部の機能構成図である。
【図８】従来のリプロジェクション処理を説明する図である。
【図９】図７のリプロジェクション部によるリプロジェクション処理を説明する図である。
【図１０】図７のリプロジェクション部によるリプロジェクション処理の手順を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
図１は、本実施の形態に係る情報処理システム１の構成例を示す。情報処理システム１は、ロボット１０と、ユーザＡが頭部に装着するヘッドマウントディスプレイ装置（ＨＭＤ）１００とを備える。ＨＭＤ１００はアクセスポイント（ＡＰ）２を介して、ネットワーク４に接続される。ＡＰ２は無線アクセスポイントおよびルータの機能を有し、ＨＭＤ１００は、ＡＰ２と既知の無線通信プロトコルで接続するが、ケーブルで接続してもよい。
【００１３】
ロボット１０は、アクチュエータ装置１２と、アクチュエータ装置１２により姿勢を変更可能に駆動される筐体２０とを備える。筐体２０には、右カメラ１４ａおよび左カメラ１４ｂが搭載される。以下、右カメラ１４ａおよび左カメラ１４ｂを特に区別しない場合には「カメラ１４」と呼ぶ。実施例においてカメラ１４は、アクチュエータ装置１２により駆動される筐体２０に設けられる。ロボット１０はアクセスポイント（ＡＰ）３を介して、ネットワーク４に接続される。ロボット１０は、ＡＰ３と既知の無線通信プロトコルで接続するが、ケーブルで接続してもよい。
【００１４】
情報処理システム１において、ＨＭＤ１００とロボット１０はネットワーク４を介して通信可能に接続する。なおＨＭＤ１００とロボット１０とが近くに存在する場合、両者はＡＰを介さずに、直接、無線または有線で通信可能に接続してもよい。情報処理システム１においてロボット１０は、ユーザＡのいわば分身として動作する。ユーザＡが装着しているＨＭＤ１００の動きはロボット１０に伝達され、アクチュエータ装置１２が、ＨＭＤ１００の動きに連動して筐体２０を動かす。たとえばユーザＡが首を前後に振ると、アクチュエータ装置１２が筐体２０を前後に振るように動かし、ユーザＡが首を左右に振ると、アクチュエータ装置１２が筐体２０を左右に振るように動かす。これによりロボット１０の周囲にいる人は、ユーザＡがその場にいるかのような感覚をもって、ユーザＡとコミュニケーションをとることができる。
【００１５】
ＡＰ２の代わりに通信機能をもつゲーム機、パーソナルコンピュータなどの情報処理装置をクライアント装置として設け、ＨＭＤ１００をクライアント装置に無線または有線で接続してもよい。また、ＡＰ３の代わりにゲーム機、パーソナルコンピュータなどの情報処理装置をサーバ装置として設け、ロボット１０をサーバ装置に無線または有線で接続してもよい。
【００１６】
右カメラ１４ａおよび左カメラ１４ｂは、筐体２０の前面にて横方向に所定の間隔を空けて配置される。右カメラ１４ａおよび左カメラ１４ｂはステレオカメラを構成し、右カメラ１４ａは右目用画像を所定の周期で撮影し、左カメラ１４ｂは左目用画像を所定の周期で撮影する。この場合、右カメラ１４ａおよび左カメラ１４ｂは、ＨＭＤ１００の姿勢変化に連動して姿勢変化が可能なように構成されている。撮影された右目用画像および左目用画像は、リアルタイムでユーザＡのＨＭＤ１００に送信される。ＨＭＤ１００は、受信した右目用画像を右目用表示パネルに表示し、受信した左目用画像を左目用表示パネルに表示する。これによりユーザＡは、ロボット１０の筐体２０が向いている方向の映像をリアルタイムで見ることができる。
【００１７】
このように情報処理システム１では、ロボット１０がユーザＡにより遠隔操作されてユーザＡの顔の動きを再現し、またユーザＡがＨＭＤ１００を通じて、ロボット周辺の画像を見ることができる。
【００１８】
ＨＭＤ１００は、両目を完全に覆う没入型（非透過型）のディスプレイ装置に限られず、透過型のディスプレイ装置であってもよい。また形状としては、図示されるような帽子型であってもよいが、眼鏡型であってもよい。なおＨＭＤ１００は専用の頭部装着ディスプレイ装置のみならず、表示パネル、マイク、スピーカを有する端末装置と、端末装置の表示パネルをユーザの目の前の位置に固定する筐体とから構成されてもよい。端末装置は、たとえばスマートフォンやポータブルゲーム機など、比較的小型の表示パネルを有するものであってよい。
【００１９】
図２は、ＨＭＤ１００の機能ブロックを示す。制御部１２０は、画像信号、音声信号、センサ情報などの各種信号およびデータや、命令を処理して出力するメインプロセッサである。記憶部１２２は、制御部１２０が処理するデータや命令などを一時的に記憶する。姿勢センサ１２４は、ＨＭＤ１００の回転角度や傾きなどの姿勢情報を所定の周期で検出する。姿勢センサ１２４は、少なくとも３軸の加速度センサおよび３軸のジャイロセンサを含む。
【００２０】
通信制御部１２６は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、ロボット１０との間で信号やデータを送受信する。通信制御部１２６は、制御部１２０から、姿勢センサ１２４で検出された姿勢情報を受け取り、ロボット１０に送信する。また通信制御部１２６は、ロボット１０から、画像データを受け取り、制御部１２０に供給する。制御部１２０は、画像データをロボット１０から受け取ると、画像データを表示パネル１０２に供給して表示させる。
【００２１】
リプロジェクション部１３０は、ロボット１０から受信された画像データに対してリプロジェクション処理を施す。リプロジェクション部１３０の詳細な構成は後述する。
【００２２】
図３は、ロボット１０の外観構成を示す。筐体２０は、カメラ１４を収容する。カメラ１４は筐体前面に設けられる。カメラ１４は、ハウジング３６内に収容されている電源装置から電力線（図示せず）を介して電力を供給されて動作する。
【００２３】
筐体２０は保護カバー１９を有し、ロボット１０を使用しない状態、つまりロボット１０の電源がオフにされた状態では、保護カバー１９が筐体前面を覆う閉位置に配置されて、カメラ１４を保護する。
【００２４】
筐体２０はアクチュエータ装置１２によって姿勢を変更可能に支持されている。アクチュエータ装置１２は、脚部４０と、脚部４０の上部に支持される半球状のハウジング３６と、筐体２０を駆動するための駆動機構５０とを備える。駆動機構５０は、長尺方向に第１貫通長孔３２ａを形成された第１円弧状アーム３２と、長尺方向に第２貫通長孔３４ａを形成された第２円弧状アーム３４と、第１円弧状アーム３２と第２円弧状アーム３４とを交差させた状態で、第１円弧状アーム３２と第２円弧状アーム３４とを回動可能に支持する台座３０とを備える。台座３０の上側は、カバー３８により覆われており、カバー３８で覆われた空間には、第１円弧状アーム３２および第２円弧状アーム３４をそれぞれ回転させるモータが配置されている。なお台座３０は、ハウジング３６に対して回動可能に支持されており、ハウジング３６内には、台座３０を回転させるモータが配置されている。
【００２５】
第１円弧状アーム３２および第２円弧状アーム３４は半円状に形成され、同じ回転中心を有するように両端部が台座３０に支持される。半円状の第１円弧状アーム３２の径は、半円状の第２円弧状アーム３４の径よりも僅かに大きく、第１円弧状アーム３２は、第２円弧状アーム３４の外周側に配置される。第１円弧状アーム３２と第２円弧状アーム３４は、台座３０において直交するように配置されてよい。実施例では、第１円弧状アーム３２が台座３０に支持された両端部を結ぶラインと、第２円弧状アーム３４が台座３０に支持された両端部を結ぶラインとが直交する。挿通部材４２は、第１貫通長孔３２ａおよび第２貫通長孔３４ａに挿通されて、第１貫通長孔３２ａおよび第２貫通長孔３４ａの交差位置に配置される。挿通部材４２は、第１円弧状アーム３２および第２円弧状アーム３４の回転により、第１貫通長孔３２ａ内および第２貫通長孔３４ａ内を摺動する。
【００２６】
第１モータは、第１円弧状アーム３２を回転させるために設けられ、第２モータは、第２円弧状アーム３４を回転させるために設けられる。第１モータおよび第２モータは、台座３０上に配置されて、台座３０が回転すると、第１モータおよび第２モータも台座３０とともに回転する。第３モータは、台座３０を回転させるために設けられ、ハウジング３６内に配置される。第１モータ、第２モータおよび第３モータは、図示しない電源装置から電力を供給されて回転する。
【００２７】
第１モータが第１円弧状アーム３２を回転し、第２モータが第２円弧状アーム３４を回転し、第３モータが台座３０を回転することで、アクチュエータ装置１２は、挿通部材４２に取り付けられた筐体２０の向きおよび姿勢を変化させられる。
【００２８】
図４および図５は、ロボット１０における筐体２０の姿勢の例を示す図である。
図４（ａ）および（ｂ）は、筐体２０を左右方向に傾けた例を示す。図５（ａ）および（ｂ）は、筐体２０を前後方向に傾けた例を示す。このようにロボット１０の駆動機構５０は、筐体２０に任意の姿勢をとらせることが可能となる。筐体２０の姿勢は、第１モータおよび第２モータの駆動量を調整することで制御され、また筐体２０の向きは、第３モータの駆動量を調整することで制御される。
【００２９】
図６は、ロボット１０の機能ブロックを示す。ロボット１０は、外部からの入力を受け付けて処理する入力系統２２と、外部への出力を処理する出力系統２４とを備える。入力系統２２は、受信部６０、センサ情報取得部６２、動き検出部６４、視線方向決定部６６、およびアクチュエータ制御部６８を備える。また出力系統２４は、画像処理部８０および送信部９０を備える。
【００３０】
図６において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３１】
上記したようにＨＭＤ１００は、姿勢センサ１２４が検出したセンサ情報をロボット１０に送信し、受信部６０は、センサ情報を受信する。
【００３２】
センサ情報取得部６２は、ＨＭＤ１００の姿勢センサ１２４が検出した姿勢情報を取得する。動き検出部６４は、ユーザＡの頭部に装着されたＨＭＤ１００の姿勢を検出する。視線方向決定部６６は、動き検出部６４により検出されたＨＭＤ１００の姿勢に応じて筐体２０のカメラ１４の視線方向を定める。
【００３３】
動き検出部６４は、ＨＭＤ１００を装着したユーザの頭部の姿勢を検出するヘッドトラッキング処理を行う。ヘッドトラッキング処理は、ユーザの頭部の姿勢に、ＨＭＤ１００の表示パネル１０２に表示する視野を連動させるために行われ、実施例のヘッドトラッキング処理では、ＨＭＤ１００の水平基準方向に対する回転角度と、水平面に対する傾き角度とが検出される。水平基準方向は、たとえばＨＭＤ１００の電源がオンされたときに向いている方向として設定されてよい。
【００３４】
視線方向決定部６６は、動き検出部６４により検出されたＨＭＤ１００の姿勢に応じて、視線方向を定める。この視線方向は、ユーザＡの視線方向であり、ひいては分身であるロボット１０のカメラ１４の視線方向（光軸方向）である。
【００３５】
カメラ１４の視線方向（光軸方向）をユーザＡの視線方向に連動させるために、ロボット１０の基準姿勢を事前に設定しておく必要がある。図３には、第１円弧状アーム３２と第２円弧状アーム３４とが台座３０に対して９０度起立した状態を示しているが、この状態を水平方向として設定し、またロボット１０の電源がオンされたときに筐体２０の前面が向いている方向を、水平基準方向として設定してよい。なおロボット１０は、ＨＭＤ１００と同様に姿勢センサを有して、水平方向を自律的に設定できるようにしてもよい。
【００３６】
ＨＭＤ１００およびロボット１０の基準姿勢を設定した状態で、視線方向決定部６６は、動き検出部６４により検出された回転角度および傾き角度を、そのままカメラ１４の視線方向（光軸方向）として決定してよい。動き検出部６４が、ＨＭＤ１００の回転角度および傾き角度を検出すると、視線方向決定部６６は、ＨＭＤ１００の視線方向を３次元座標のベクトル（ｘ，ｙ，ｚ）として決定し、このときロボット１０のカメラ１４の視線方向を同じ（ｘ，ｙ，ｚ）と決定してもよく、また何らかの補正を加えた（ｘ’，ｙ’，ｚ’）として決定してもよい。
【００３７】
アクチュエータ制御部６８は、視線方向決定部６６で決定された視線方向となるようにカメラ１４の向きを制御する。具体的にアクチュエータ制御部６８は、第１モータ５２、第２モータ５４、第３モータ５６に供給する電力を調整して、ＨＭＤ１００の動きに、筐体２０の動きを追従させる。アクチュエータ制御部６８によるモータ駆動制御は、リアルタイムに実施され、したがって筐体２０の向きは、ユーザＡの視線の向きと同じように動かされる。
【００３８】
実施例のアクチュエータ装置１２によれば、筐体２０は、第１円弧状アーム３２および第２円弧状アーム３４の回転中心を基準として駆動されるが、この動きは人の首と同じ動きを示す。アクチュエータ装置１２は、２本の半円アームを交差させた簡易な構造でユーザＡの首の動きを再現する。
【００３９】
次に出力系統２４について説明する。
出力系統２４において、右カメラ１４ａおよび左カメラ１４ｂは、アクチュエータ装置１２により制御された方向に向けられて、それぞれの画角内を撮影する。右カメラ１４ａおよび左カメラ１４ｂは、たとえば大人の平均的な両目の間隔となるように離れて配置されてよい。右カメラ１４ａが撮影した右目用画像データおよび左カメラ１４ｂが撮影した左目用画像データは、送信部９０からＨＭＤ１００に送信されて、それぞれ表示パネル１０２の右半分および左半分に表示される。これらの画像は、右目および左目から見た視差画像を形成し、表示パネル１０２を２分割してなる領域にそれぞれ表示させることで、画像を立体視させることができる。なおユーザＡは光学レンズを通して表示パネル１０２を見るために、画像処理部８０は、予めレンズによる光学歪みを補正した画像データを生成して、ＨＭＤ１００に供給してもよい。
【００４０】
右カメラ１４ａおよび左カメラ１４ｂは、所定の周期（たとえば１／６０秒）で撮影を行い、送信部９０は遅延なく画像データをＨＭＤ１００に送信する。これによりユーザＡはロボット１０の周囲の状況をリアルタイムで見ることができ、また顔の向きを変えることで、見たい方向を見ることができる。
【００４１】
カメラ姿勢情報取得部７０は、カメラ１４の姿勢と向きを含む姿勢情報を取得して送信部９０に供給する。送信部９０はカメラ１４の姿勢情報をＨＭＤ１００に送信する。カメラ１４の姿勢情報は、たとえば、モーションセンサにより検知させる姿勢情報を用いて求めてもよく、あるいは、ロボット１０の筐体２０の姿勢と向きを変化させるアクチュエータ装置１２に搭載されたモータの位置情報から求めてもよい。
【００４２】
図７は、図２のリプロジェクション部１３０の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【００４３】
リプロジェクション部１３０は、ＨＭＤ姿勢情報取得部１３２と、カメラ姿勢情報取得部１３４と、カメラ画像取得部１３５と、差分計算部１３６と、警告部１３７と、画像補正部１３８とを含む。
【００４４】
ＨＭＤ姿勢情報取得部１３２は、姿勢センサ１２４が検出したＨＭＤ１００の姿勢と向きを含む姿勢情報（「ＨＭＤ姿勢情報」と呼ぶ）を取得し、差分計算部１３６に供給する。カメラ姿勢情報取得部１３４は、通信制御部１２６がロボット１０から受信した、カメラ１４の撮影時のカメラ１４の姿勢と向きを含む姿勢情報（「カメラ姿勢情報」と呼ぶ）を取得し、差分計算部１３６に供給する。カメラ画像取得部１３５は、通信制御部１２６がロボット１０から受信した左右のカメラ１４の撮影画像（「カメラ画像」と呼ぶ）を取得し、画像補正部１３８に供給する。
【００４５】
ここで、カメラ姿勢情報はカメラ画像にメタデータとして埋め込まれてもよい。カメラ姿勢情報をカメラ画像にメタデータとして埋め込んで伝送する方法として、ＨＤＭＩ（登録商標）２．１規格を利用してもよい。ＨＤＭＩ２．１規格では各フレームデータのＶＢｌａｎｋ信号に各フレームに適用すべき動的メタデータを挿入して伝送することが検討されている。動的メタデータにカメラ姿勢情報を埋め込めば、ロボット１０のカメラ１４による撮像時のカメラ姿勢情報をカメラ画像のフレームデータに同期させてＨＭＤ１００に伝送することができる。ここではＨＤＭＩ２．１規格のＶＢｌａｎｋ信号に動的メタデータを挿入する例を説明したが、これは一例であり、各フレームに同期する何らかの同期信号に動的メタデータを挿入して伝送すればよい。カメラ姿勢情報取得部１３４は、通信制御部１２６がロボット１０から受信したカメラ画像の各フレームの同期信号に挿入されたメタデータからカメラ姿勢情報を抽出する。
【００４６】
差分計算部１３６は、ＨＭＤ姿勢情報とカメラ姿勢情報の差分を算出し、画像補正部１３８に供給する。画像補正部１３８は、算出された姿勢差分にもとづいてＨＭＤ１００の最新の姿勢に合うようにカメラ画像を補正することによりリプロジェクション処理を実行する。リプロジェクション処理されたカメラ画像は制御部１２０に供給され、表示パネル１０２に表示される。
【００４７】
ＨＭＤ姿勢情報にもとづいて、ロボット１０の可動範囲を越えてＨＭＤ１００が動かされたと判定される場合や、ＨＭＤ１００の姿勢がロボット１０の可動範囲の限界値に対して所定の閾値まで近づいたと判定される場合、差分計算部１３６は画像補正部１３８にリプロジェクション処理を指示することを中断または継続し、警告部１３７に通知する。警告部１３７は、可動範囲を超えるか可動限界に近づいている旨のメッセージを表示パネル１０２に表示する。その際、ＨＭＤ１００を装着したユーザが頭部を戻すべき方向を警告メッセージと合わせて表示してもよい。
【００４８】
具体的には、差分計算部１３６は、ＨＭＤ１００の姿勢がロボット１０の可動範囲内にあるかどうかを判定してもよい。たとえば、ロボット１０のカメラ１４が３６０度回転させることができず、一定の範囲にしか回転させられない場合、あらかじめその範囲を可動範囲としてＨＭＤ１００に設定しておき、ＨＭＤ姿勢情報をカメラ１４の可動範囲と比較する。あらかじめ可動範囲を設定せずに、ＨＭＤ１００の姿勢とカメラ１４の姿勢が大きく乖離している場合に、可動範囲を超えたと判定してもよい。
【００４９】
また、ロボット１０のカメラ１４はモータによって姿勢制御されるため、ＨＭＤ１００を装着したユーザのように姿勢を速く変えることはできない。そこで、ＨＭＤ姿勢情報にもとづいて、ＨＭＤ１００の姿勢変化にカメラ１４が追従可能な速度を超えてＨＭＤ１００が動かされたと判定される場合、差分計算部１３６は画像補正部１３８によるリプロジェクション処理を指示することを中断または継続し、警告部１３７に通知する。警告部１３７は、ＨＭＤ１００を装着するユーザに頭部をゆっくり動かすように促すメッセージを表示パネル１０２に表示する。
【００５０】
具体的には、差分計算部１３６は、ＨＭＤ姿勢情報とカメラ姿勢情報の差分が閾値を超える場合やＨＭＤ姿勢情報の変化速度が閾値を超えた場合、カメラ１４の追従可能速度を超えたと判定する。ＨＭＤ１００の姿勢が所定の閾値よりも速く動いた場合に、ＨＭＤ姿勢情報とカメラ姿勢情報の差分が大きくなることから、カメラ１４の追従可能速度を超えたと判定してもよい。
【００５１】
このように、ＨＭＤ１００の動きがカメラ１４の可動範囲や追従可能速度の限界に近づいたり、限界を超えた場合に、リプロジェクション処理によってカメラ画像を補正して対処すると、ユーザがカメラ１４の可動範囲や追従可能速度を超えても頭部を動かせると勘違いしてしまうことがある。本実施の形態では、このような場合にリプロジェクション処理を中断し、警告部１３７が警告を表示パネル１０２に表示することで、ＨＭＤ１００を装着するユーザの頭部の動きを適切に規制することができる。もっともこのような場合でもリプロジェクション処理を中断せず継続しつつ警告を表示することも可能である。
【００５２】
図７のリプロジェクション部１３０の動作を説明する。比較のため、図８を参照して従来のリプロジェクション処理を説明した後、図９を参照して本実施の形態のリプロジェクション処理を説明する。
【００５３】
図８は、従来のリプロジェクション処理を説明する図である。ここでは、ロボット１０の代わりにレンダリング装置３００がネットワークを介してＨＭＤ１００と接続している。
【００５４】
ＨＭＤ１００にヘッドトラッキング機能をもたせて、ユーザの頭部の動きと連動して視点や視線方向を変えて画像をレンダリングしてＨＭＤ１００に表示する場合、画像のレンダリングから表示までに遅延があるため、レンダリング時に前提としたユーザの頭部の向きと、画像をＨＭＤ１００に表示した時点でのユーザの頭部の向きとの間でずれが発生し、ユーザは酔ったような感覚に陥ることがある。またネットワークを経由する場合、ネットワークによる遅延変動によってもずれが生じる。そこでレンダリング時に使用したＨＭＤ１００の姿勢と最新のＨＭＤ１００の姿勢のずれを補償するための補正処理をレンダリング画像にかけることにより、リプロジェクションを実行し、リプロジェクション後の画像をＨＭＤ１００に表示することでユーザの酔いを低減させる。
【００５５】
ＨＭＤ１００は、現在の姿勢情報にもとづいて動き予測を行い、予測したＨＭＤ姿勢情報２０２をレンダリング装置３００に送信する。レンダリング装置３００は予測されたＨＭＤ姿勢情報２０２を用いてＨＭＤ１００に表示すべき画像をレンダリングする。レンダリング装置３００はレンダリング画像３１０をレンダリングに使用した姿勢情報２０４とともにＨＭＤ１００に送信する。
【００５６】
ここでレンダリングに使用した姿勢情報２０４は、予測したＨＭＤ姿勢情報２０２と同じものであることに留意する。レンダリング装置３００がＨＭＤ１００の動き予測を行い、予測したＨＭＤ姿勢情報２０２を生成してもよい。
【００５７】
差分計算部３０２は、最新のＨＭＤ姿勢情報２００とレンダリングに使用した姿勢情報２０４の差分を算出し、リプロジェクション部３０４は、算出された姿勢差分にもとづいてレンダリング画像３１０にリプロジェクション処理を施し、ＨＭＤ１００に表示する。
【００５８】
図９は、図７のリプロジェクション部１３０によるリプロジェクション処理を説明する図である。
【００５９】
ＨＭＤ１００の現在の姿勢情報にもとづいて動き予測を行い、予測したＨＭＤ姿勢情報２０２をロボット１０に送信する。ロボット１０は予測されたＨＭＤ姿勢情報２０２を用いてカメラ１４の姿勢と向きを制御し、カメラ１４で画像を撮影する。ロボット１０はカメラ画像２１０を撮影時のカメラ姿勢情報２０５とともにＨＭＤ１００に送信する。
【００６０】
ここで撮影時のカメラ姿勢情報２０５は、予測したＨＭＤ姿勢情報２０２とは異なることに留意する。ロボット１０においてモータがカメラ１４の姿勢制御を行うとき、モータの誤差や動作遅延などが発生するため、予測したＨＭＤ１００の姿勢にカメラ１４の姿勢を完全に一致させることはできないからである。
【００６１】
差分計算部１３６は、最新のＨＭＤ姿勢情報２００と撮影時のカメラ姿勢情報２０５の差分を算出する。画像補正部１３８は、算出された姿勢差分にもとづいて最新のＨＭＤ１００の姿勢に合うようにカメラ画像２１０にリプロジェクション処理を施し、ＨＭＤ１００に表示する。ここで、厳密に言えば、最新のＨＭＤ姿勢情報２００は、現時点のＨＭＤ１００の姿勢ではなく、リプロジェクション処理してＨＭＤ１００に表示される画像がユーザの目に入るまでの時間を考慮に入れて予測したＨＭＤ１００の姿勢を用いてもよい。
【００６２】
本実施の形態のリプロジェクション部１３０では、予測したＨＭＤ姿勢情報２０２ではなく、撮影時のカメラ姿勢情報２０５を用いてリプロジェクションを行う点が従来のリプロジェクション処理とは異なる。
【００６３】
撮影時のカメラ姿勢情報２０５を用いたリプロジェクション処理によって、モータの誤差や動作遅延が原因でカメラ１４の姿勢がＨＭＤ１００の姿勢に合わないことにより生じるずれを解消し、ＨＭＤ１００を装着したユーザの違和感を軽減することができる。
【００６４】
人間の頭部の動きに比べてモータによって制御されるカメラ１４の動きは精度が粗いため、カメラ１４によって撮影される動画は滑らかな動きにはならない。リプロジェクション処理を施すことでカメラ１４によって撮影された動画の動きを滑らかにする効果もある。
【００６５】
また、予測したＨＭＤ姿勢情報２０２をロボット１０に送信する際、ネットワークの輻輳状態によってはパケット損失が起き、予測したＨＭＤ姿勢情報２０２がロボット１０に送信されずに欠落することもある。そのような場合でも、カメラ画像２１０とともにＨＭＤ１００に送信される姿勢情報は撮影時のカメラ姿勢情報２０５であるため、予測したＨＭＤ姿勢情報２０２が欠落しても、撮影時のカメラ姿勢情報２０５にもとづいてリプロジェクション処理を確実に行うことができるという利点もある。
【００６６】
なお、撮影時のカメラ姿勢情報２０５をカメラ画像２１０とともに送信せずに、ＳＬＡＭ（Simultaneous Localization and Mapping）などの技術を利用し、カメラ画像２１０から自己位置推定により、撮影時のカメラ１４の姿勢を推定するように構成してもよい。
【００６７】
図１０は、図７のリプロジェクション部１３０によるリプロジェクション処理の手順を説明するフローチャートである。
【００６８】
カメラ画像取得部１３５はロボット１０からカメラ画像を受信し、カメラ姿勢情報取得部１３４はカメラ画像にメタデータとして付加されたカメラ姿勢情報を取得する（Ｓ１０）。
【００６９】
ＨＭＤ姿勢情報取得部１３２は、姿勢センサ１２４が検出した最新のＨＭＤ姿勢情報を取得する（Ｓ１２）。
【００７０】
差分計算部１３６は、最新のＨＭＤ姿勢情報とカメラ姿勢情報の差分を算出する（Ｓ１４）。
【００７１】
差分計算部１３６は、最新のＨＭＤ姿勢情報がロボット１０のカメラ１４の可動範囲内であるかどうかを判定し（Ｓ１６）、可動範囲内であれば（Ｓ１６のＹ）、ステップＳ２０に進む。
【００７２】
最新のＨＭＤ姿勢情報がロボット１０のカメラ１４の可動範囲の限界値に近づいているか、可動範囲を超えている場合（Ｓ１６のＮ）、警告部１３７は、ＨＭＤ１００の動きをロボット１０の可動範囲内に収めるようにユーザを誘導する警告メッセージを表示パネル１０２に表示する（Ｓ１８）。
【００７３】
差分計算部１３６は、ＨＭＤ１００の姿勢変化がロボット１０のカメラ１４の追従可能速度内であるかどうかを判定し（Ｓ２０）、追従可能速度内であれば（Ｓ２０のＹ）、ステップＳ２４に進む。
【００７４】
ＨＭＤ１００の姿勢変化がロボット１０の追従可能速度の限界値に近づいているか、追従可能速度を越えている場合（Ｓ２０のＮ）、警告部１３７は、ＨＭＤ１００の姿勢変化をロボット１０の追従可能速度内に収めるにユーザを誘導する警告メッセージを表示パネル１０２に表示する（Ｓ２２）。
【００７５】
画像補正部１３８は、最新のＨＭＤ姿勢情報とカメラ姿勢情報の差分にもとづいてカメラ画像を補正することにより、リプロジェクション処理を実行する（Ｓ２４）。
【００７６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
【００７７】
上記の実施の形態では、リプロジェクション部１３０はＨＭＤ１００に設けられたが、リプロジェクション部１３０をＨＭＤ１００が接続されたクライアント装置に設けてもよい。
【００７８】
上記の実施の形態では、ＨＭＤ１００とロボット１０がネットワークを経由して接続され、ロボット１０を遠隔操作する場合を説明したが、ネットワークを経由しないでＨＭＤ１００とロボット１０が接続されている場合でも同様のリプロジェクション処理を適用することができる。モータの遅延や誤差があるため、ネットワークによる遅延変動がなくても、カメラ１４の姿勢とＨＭＤ１００の姿勢のずれが発生するため、カメラ画像をＨＭＤ１００の姿勢に合わせて補正するリプロジェクション処理が有効である。また、ロボット１０に限らず、カメラ１４が搭載された制御装置であれば、どのような制御装置に対しても同様のリプロジェクション処理を適用することができる。
【００７９】
上記の実施の形態では、ロボット１０そのものは移動せず、ロボット１０に搭載されたカメラ１４が姿勢を変える場合を説明したが、ロボット１０自体が位置を変える場合であっても同様のリプロジェクション処理を適用することができる。その場合、モーションセンサによるカメラ姿勢だけでなく、サーボ機構の位置情報などからカメラの絶対的な位置情報を取得してカメラ画像とともに送信する。カメラ１４が移動する場合は、ＳＬＡＭのように環境地図上でのカメラ１４の位置と姿勢を推定する自己位置推定技術を利用することもできる。なお、サーボ機構の位置情報やＳＬＡＭなどの自己位置推定技術は、ロボット１０が位置を変えない場合にもカメラ１４の姿勢情報を取得するために利用することができる。
【符号の説明】
【００８０】
１  情報処理システム、  １０  ロボット、  １２  アクチュエータ装置、  １４ａ  右カメラ、  １４ｂ  左カメラ、  ２０  筐体、  ２２  入力系統、  ２４  出力系統、  ３０  台座、  ３２  第１円弧状アーム、  ３４  第２円弧状アーム、  ３６  ハウジング、  ３８  カバー、  ４０  脚部、  ４２  挿通部材、  ５０  駆動機構、  ５２  第１モータ、  ５４  第２モータ、  ５６  第３モータ、  ６０  受信部、  ６２  センサ情報取得部、  ６４  動き検出部、  ６６  視線方向決定部、  ６８  アクチュエータ制御部、  ７０  カメラ姿勢情報取得部、  ８０  画像処理部、  ９０  送信部、  １００  ＨＭＤ、  １０２  表示パネル、  １２０  制御部、  １２２  記憶部、  １２４  姿勢センサ、  １２６  通信制御部、  １３０  リプロジェクション部、  １３２  ＨＭＤ姿勢情報取得部、  １３４  カメラ姿勢情報取得部、  １３５  カメラ画像取得部、  １３６  差分計算部、  １３７  警告部、  １３８  画像補正部。
【産業上の利用可能性】
【００８１】
画像を生成する技術に適用できる。
【図１】
2019176035.tif 000003
【図２】
2019176035.tif 000004
【図３】
2019176035.tif 000005
【図４】
2019176035.tif 000006
【図５】
2019176035.tif 000007
【図６】
2019176035.tif 000008
【図７】
2019176035.tif 000009
【図８】
2019176035.tif 000010
【図９】
2019176035.tif 000011
【図１０】
2019176035.tif 000012
【手続補正書】
【提出日】令和1年6月14日(2019.6.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得部と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得部と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算部と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正部と、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢が前記カメラの可動範囲の限界値に対して所定の閾値まで近づいたか、または前記カメラの可動範囲を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告部とを含むことを特徴とする画像生成装置。
【請求項２】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得部と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得部と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算部と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正部と、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢変化が前記カメラの追従可能速度を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告部とを含むことを特徴とする画像生成装置。
【請求項３】
前記カメラ姿勢情報取得部は、前記カメラの撮影時の姿勢情報を前記撮影画像の各フレームの同期信号に挿入されたメタデータから抽出することを特徴とする請求項１または２に記載の画像生成装置。
【請求項４】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得ステップと、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得ステップと、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算ステップと、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正ステップと、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢が前記カメラの可動範囲の限界値に対して所定の閾値まで近づいたか、または前記カメラの可動範囲を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告ステップとを含むことを特徴とする画像生成方法。
【請求項５】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得ステップと、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得ステップと、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算ステップと、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正ステップと、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢変化が前記カメラの追従可能速度を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告ステップとを含むことを特徴とする画像生成方法。
【請求項６】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得機能と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得機能と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算機能と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正機能と、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢が前記カメラの可動範囲の限界値に対して所定の閾値まで近づいたか、または前記カメラの可動範囲を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項７】
ヘッドマウントディスプレイの姿勢変化に連動して姿勢変化が可能なカメラによる撮影画像を取得するカメラ画像取得機能と、
前記カメラの撮影時の姿勢情報を取得するカメラ姿勢情報取得機能と、
前記ヘッドマウントディスプレイの姿勢情報と前記カメラの撮影時の姿勢情報の差分を算出する差分計算機能と、
算出された前記差分にもとづいて前記ヘッドマウントディスプレイの姿勢に合うように前記撮影画像を補正する画像補正機能と、
前記ヘッドマウントディスプレイの姿勢情報にもとづいて前記ヘッドマウントディスプレイの姿勢変化が前記カメラの追従可能速度を越えたと判定される場合、前記画像補正部による前記撮影画像の補正を中断し、警告を表示する警告機能とをコンピュータに実現させることを特徴とするプログラム。
【国際調査報告】
2019176035.tif 000013
2019176035.tif 000014
2019176035.tif 000015