JP2020106655A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2020106655A JP2020106655A JP2018244818A JP2018244818A JP2020106655A JP 2020106655 A JP2020106655 A JP 2020106655A JP 2018244818 A JP2018244818 A JP 2018244818A JP 2018244818 A JP2018244818 A JP 2018244818A JP 2020106655 A JP2020106655 A JP 2020106655A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- unit
- information processing
- correction table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 画像をシフトさせた際に発生する黒帯領域を抑制する。【解決手段】 情報処理装置に、現実空間の画像を撮像する撮像手段と、前記画像に基づいて生成された表示画像を表示する表示手段と、画像表示装置の姿勢を計測する計測手段を有する該画像表示装置に接続された情報処理装置であって、前記画像表示装置の姿勢の変位に基づいて前記表示画像の表示位置をシフトさせる制御情報を決定する決定手段と、前記制御情報に基づいて、前記画像表示装置が有する表示光学系に対応して設定される補正テーブルの少なくとも一部を更新する更新手段と、前記補正テーブルに基づいて、シフトさせた前記表示画像のシフトさせた領域を補完して表示させる表示制御手段とを備える。【選択図】 図6
Description
本発明は、複合現実感の画像表示に関する。
近年、現実世界と仮想世界をリアルタイムにシームレスに融合させる技術として複合現実感、いわゆるMR(Mixed Reality)技術が知られている。MR技術では、ビデオシースルー方式のヘッドマウントディスプレイ(Head Mounted Display、以下HMDと省略する)を利用するものがある。ビデオシースルー方式のHMDでは、HMDを装着するユーザの瞳位置から観察される被写体と略一致する被写体をビデオカメラなどで撮像する。その撮像映像にCG(Computer Graphics)を重畳表示した画像をユーザがHMD内部パネルを通して観察する。
上述したビデオシースルー方式のHMDを用いたMR技術においては、ビデオカメラで撮影した撮像映像に対し描画するCGをレンダリングし、生成されたCGを撮像映像に重畳した表示映像をHMD内部パネルに表示するシステムが一般的である。このようなシステムは上記一連の処理を行う演算時間が必ず発生するため撮影した映像の時間と表示される映像の時間との間に遅延(レイテンシ)が生じることとなる。このため、ユーザが頭を動かした場合、映像の遅延だけ時間が経過したのち視野の方向が頭の向きに応じて動き出すことになる。このような映像の遅延は、体験者が想定する映像とは異なる映像が表示されるためユーザにとっては違和感となる。この問題に対して、特許文献1では、遅延時間の姿勢変化量に対応した量だけ、表示画像を画面内シフトすることが開示されている。
しかしながら、特許文献1では、表示画像を画面内シフトすることによって、HMDの画面に画像が表示されない領域(これを黒帯領域と呼ぶ)が生じる。黒帯領域が生じることによって、表示される画像は、ユーザにとって違和感があった。本発明は上記課題に鑑みてなされたものであり、画像をシフトさせた際に発生する黒帯領域を抑制する。
上記課題を解決する本発明にかかる情報処理装置は、現実空間の画像を撮像する撮像手段と、前記画像に基づいて生成された表示画像を表示する表示手段と、画像表示装置の姿勢を計測する計測手段を有する該画像表示装置に接続された情報処理装置であって、前記画像表示装置の姿勢の変位に基づいて前記表示画像の表示位置をシフトさせる制御情報を決定する決定手段と、前記制御情報に基づいて、前記画像表示装置が有する表示光学系に対応して設定される補正テーブルの少なくとも一部を更新する更新手段と、前記補正テーブルに基づいて、シフトさせた前記表示画像のシフトさせた領域を補完して表示させる表示制御手段を有することを特徴とする。
本発明によれば、画像をシフトさせた際に発生する黒帯領域を抑制できる。
以下、添付図面を参照して、本発明をその好適な実施形態に基づき詳細に説明する。
<実施形態1>
ここで、本実施形態の情報処理について概念を説明する。現実世界を撮像した画像に仮想現実としてCGを重畳して表示する情報処理システムでは、撮影した映像の時間と表示される映像を生成する時間との差である遅延時間が生じ、観測者に違和感を与えてしまう。この遅延時間による違和感を軽減するために、遅延時間に相当する観測者の頭部の移動距離を計測し、その移動距離に基づいて画像をシフトすることを考える。図1の(a)は現実世界を撮像した画像の一例を示す。この画像を表示するときに観測者が左を向いた場合、図1の(b)のように遅延時間と頭部の変位に応じた幅Sピクセルだけシフトした表示画像を横幅Wピクセル高さHピクセルの表示パネルに画面表示させる。しかし、ただシフトしただけでは図1の(b)のように幅Sピクセルの黒帯領域が発生してしまう。
ここで、本実施形態の情報処理について概念を説明する。現実世界を撮像した画像に仮想現実としてCGを重畳して表示する情報処理システムでは、撮影した映像の時間と表示される映像を生成する時間との差である遅延時間が生じ、観測者に違和感を与えてしまう。この遅延時間による違和感を軽減するために、遅延時間に相当する観測者の頭部の移動距離を計測し、その移動距離に基づいて画像をシフトすることを考える。図1の(a)は現実世界を撮像した画像の一例を示す。この画像を表示するときに観測者が左を向いた場合、図1の(b)のように遅延時間と頭部の変位に応じた幅Sピクセルだけシフトした表示画像を横幅Wピクセル高さHピクセルの表示パネルに画面表示させる。しかし、ただシフトしただけでは図1の(b)のように幅Sピクセルの黒帯領域が発生してしまう。
そのため本実施形態では、表示系画像処理部124で表示系に歪み補正を行い、図1の(c)のような画像を観測者に観測されるように、補正テーブルを動的に変更する。補正テーブルは、HMDの表示光学系に基づいて設定されるパラメータであって、画像の部分領域毎に表示光学系に対応する歪み補正を行う前後の座標変換を行う。入力画像の各画素、もしくはNピクセル毎に座標変換のパラメータが設定される。なお、後者の場合、Nピクセルの間にある画素については線形補完を行う。画像全体について関数を設定してもよいし、一部の領域について設定してもよい。図1の(c)は、図1の(b)で生じていた黒帯を軽減するために、シフト量Sピクセルに対応した幅S’ピクセルの領域の画像情報を用いて幅Sピクセルの欠損領域を補完するように黒帯領域及び隣接領域に対応する補正テーブルを変更する。このような処理によって黒帯領域を軽減する。
なお、シフト量Sピクセルの黒帯領域の補完に利用する隣接領域の幅S‘ピクセルは、Sの量に応じて設定され、例えばS<S’≦2Sの範囲で定義する。例えば、Sが大きくなるほどS’の大きさを大きく設定する。また、Sの大きさがある程度の大きさ(Wの半分等)を超える場合は、S’の大きさの最大値を予め設定する。このように設定することで違和感の少ない画像が生成できる。図1(c)の幅S’’の領域は、ユーザの注目領域であるので補正テーブルを変更せずに表示する。なお、幅S’の隣接領域より左側の領域(幅S’’の領域)に対応する補正テーブルは変更しても良い。例えば、幅Sピクセルの領域に隣接する幅S‘の領域に含まれる画素情報を用いて補完を行うとき、幅S’に含まれる画素200の情報を隣接する画素にも適用することによって、引き伸ばしたような部分画像を表示する。そのため、幅S’ピクセルの領域内にある画素200は図1の(b)では図1の(a)と同じ大きさであるが、図1の(c)では図1の(a)より大きくなる。なお、S’の決め方として次のような方法も考えられる。HMD装着者は表示画像の中央から頭部の動く方向に該当する注目領域を注視する。例えば、図1(b)(c)の太枠で囲まれた領域を注目領域とする。このとき、S‘は注目領域を含まないように設定するとよい。つまり、注目領域に対応する補正テーブルは更新を抑制する。このようにすることで、ユーザが注視する注目領域を高画質で表示し、ユーザが注目しない領域のみを補完するため、違和感がより少ない画像を表示できる。
一方、幅S’の領域外である画素201は、図1の(a),(b),(c)ともに同じ大きさである。図1の(c)の画像を観測者に見せることで、遅延による違和感を軽減することが出来る。図1の(d)は図1の(c)を観測者に見せるために表示系歪み補正を行った後の画像である。つまり表示制御部1107は、図1の(a)の入力画像を、図1の(d)ののような表示画像に補正させる制御を行う。これによって、黒帯領域を抑制した、見栄えのいい表示をユーザに提示することが出来る。
図2から図4を用いて本実施形態の概要について説明する。図2にHMDを装着した観察者の頭部の空間座標系の一例を示す図である。本実施形態では、HMD100を装着した観察者の視線方向をRoll軸(R)、視線方向に対して水平方向をPitch軸(P)、視線方向に対して垂直方向をYaw(Y)と定義する。それぞれの軸に対して回転した場合をそれぞれRoll、Pitch、Yaw(ロール、ピッチ、ヨー)と定義する。すなわち、Rollは観察者が頭部を傾ける場合、Pitchは観察者がうなずく場合、Yawは観察者が首を横に振る場合となる。
図3は、HMD100を装着した観察者が、(a):頭部動作なしの場合、(b):頭部をYaw動作した場合、(c):頭部をPitch動作した場合、(d):頭部をRoll動作した場合、(e):頭部を前後移動した場合について説明している。それぞれについて、上から順に、画像シフトのみ実施する場合の状態、体験中の観察者を頭上から見た現実世界の様子、MR体験中の観察者を横から見た様子、MR映像を体験中の観察者を正面から見た様子である。頭部動作なしの場合、解像度H×Vの範囲内に表示される。ここで、頭部動作情報は、加速度センサ、角速度センサなどのセンサを用いて計測されるセンサデータであり、頭部の動き(首ふりや移動)を数値化したデータであるとする。
(b)のように頭部をYaw動作した場合、画像の水平シフト量Hdを求める。水平シフト量Hdは、頭部動作情報に含まれるYawの角速度Yωと遅延時間から求められるYaw角Yθと、距離Lとの関係から計算することが出来る。(c)のように、頭部をPitch動作した場合もYaw動作と同様に、画像の垂直シフト量Vdを計算することが出来る。(d)のように、頭部をRoll動作した場合、頭部動作情報に含まれるRollの角速度Rωと遅延時間からRoll角Rθが求められる。Roll角Rθから画像の回転角θdを求めることが出来る。(e)のように頭部を前後移動した場合、頭部動作情報に含まれるRoll軸方向の加速度Raと遅延時間からRoll軸方向の移動量Rmが求められる。Roll軸方向の移動量Rmと撮像画角Aθの関係から画像の拡大率Edが求められる。
図4は、図3と同様に、HMD100を装着した観察者が、(a):頭部動作なしの場合、(b):頭部をYaw動作した場合、(c):頭部をPitch動作した場合、(d):頭部をRoll動作した場合、(e):頭部を前後移動した場合を示している。本来黒帯が発生する箇所について、黒帯を軽減するよう引き伸ばし処理が実施された映像となる。
図5は、本実施形態に係る情報処理システムのハードウェア構成例を示す図である。情報処理システムは、情報処理装置110と、HMD100とを有している。情報処理装置110は、CPU501と、ROM502と、RAM503と、記憶装置504と、入力部505と、通信インターフェース(I/F)506とを有している。これら各部はバス509を介して接続している。CPU501は、ROM502やRAM503に格納されているプログラムやデータを用いて、情報処理装置110全体の制御を行う。ROM502には、コンピュータの設定データやブートプログラム等が格納されている。RAM503は、記憶装置504からロードされたプログラムやデータを一時的に記憶するための領域を有する。RAM503は、さらに、通信I/F506を介して外部から受信したデータを一時的に記憶するためのエリアを有する。RAM503はまた、CPU501が各処理を実行する際に用いるワークエリアも有する。即ち、RAM503は、各種エリアを適宜提供することができる。記憶装置504は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。記憶装置504には、OS(オペレーティングシステム)や、各処理をCPU501に実行させるためのプログラムやデータが格納されている。記憶装置504に保存されているプログラムやデータは、CPU501による制御に従って適宜RAM5023ロードされる。後述する情報処理装置110の機能や処理は、CPU501がROM502又は記憶装置504に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。入力部505は、キーボードやマウスである。ユーザは入力部505を操作することで、各種の指示をCPU501に対して入力することができる。通信I/F506は、HMD100の撮像部508を接続するためのアナログビデオポート又はIEEE1394等のデジタル入出力ポート、HMD100の表示部507に合成画像を出力するためのDVIポート等を有している。情報処理装置110がIF108を介して受信したデータは、RAM502や記憶装置504に入力される。なお、本実施形態においては、情報処理装置110とHMD100は、アナログビデオポート等を介してデータの送受信を行うものとするが、両装置の通信方式は実施形態に限定されるものではない。他の例としては、情報処理装置110とHMD100は、無線LAN等のネットワークを介してデータの送受信を行ってもよい。HMD100は、撮像部508と、表示部507とを有している。撮像部508は、画像の撮影を行う。表示部507は、各種情報を表示する。撮像部508により得られた撮影画像は、情報処理装置110に送信される。そして、情報処理装置110は、撮像部508の位置や姿勢に応じて生成した画像(仮想モデル等)を撮影画像上に重畳した合成画像を生成する。そして、表示部507は、この合成画像を表示する。これにより、現実空間の画像上に仮想モデルが重畳された複合現実空間が実現される。
図6は本実施形態における情報処理システムの機能構成例を示すブロック図である。係るシステムは観測者に対して複合現実(MR)を提供する複合現実システムであり、ビデオシースルーHMD(以下、HMD)100と、PCである情報処理装置110とで構成されている。HMD100は、現実空間の画像を撮像する撮像部508と、撮像された画像に基づいて生成された表示画像を表示する表示部507と、HMDの少なくとも姿勢を計測する姿勢計測装置510を有する。
画像表示装置であるヘッドマウントディスプレイ(以下、HMD)は、両目用のディスプレイおよび両耳用のヘッドホンを内蔵する。ユーザはHMDを頭部に装着することにより、ディスプレイに表示される静止画や動画などを鑑賞し、ヘッドホンから出力される音声や音楽などを聴くことができる。本実施形態では特に複合現実システム(MRシステム)に用いられるHMDの例を説明する。このとき、HMDはHMD内の撮像部から取り込んだ現実空間の画像と仮想空間の画像とを合成し、複合現実感を体験できる映像としてHMD内の表示部に出力する。HMD100は、ユーザの頭部に装着される。撮像部508は、少なくとも撮像光学系5080と撮像センサ5081から構成され、現実空間を撮像する。撮像部508で撮像された撮像画像は情報処理装置110に取得される。姿勢計測装置510は、HMDに内蔵または外付けされたジャイロセンサーや加速度センサなどである。姿勢計測装置510は、HMDを装着したユーザの頭部の位置情報と頭部の回転角や傾きなどの姿勢情報を計測することができる。なお、姿勢情報とは、ジャイロセンサー等の姿勢センサによってHMDの相対的な動きを計測した結果である。表示部507は、少なくとも表示パネル5071と表示光学系5070から構成され、表示系補正部1106で補正された表示画像を提示する。
情報処理装置110は、画像取得部1100、動作情報取得部1101、撮像系画像補正部1102、位置姿勢推定部1103、決定部1104、表示画像生成部1105、表示系画像補正部1106、表示制御部1107を有する。さらに、決定部1104は制御情報取得部11040と遅延時間保持部11041から構成される。また、表示系補正部1106は、補正テーブル更新部11060と補正テーブル保持部11061から構成される。
画像取得部1100は、HMD100の撮像部507で撮像された画像と撮像時刻を取得する。動作情報取得部1101は、頭部動作情報として、姿勢計測装置510からHMD100の姿勢の変位を取得する。頭部動作情報は、加速度センサ、角速度センサなどのセンサを用いて計測されるセンサデータであり、頭部の動き(首ふりや移動)を数値化したデータである。
撮像系画像補正部1102は、撮像された画像を撮像系補正情報に基づいて補正する。撮像系補正情報は、撮像光学系5080に対応したレンズ歪み補正処理を行うためのパラメータである。撮像された画像を、HMD100と情報処理装置110間の通信エラー検出や画素欠陥補正、撮像系歪み補正などの画像処理を行い、処理結果の画像を位置姿勢推定部1103に出力する。
位置姿勢推定部1103は、CG画像を現実空間と対応させて重畳する為に用いるHMD100の位置姿勢を撮像画像から推定する。位置及び姿勢を推定する手段は、現実空間におけるHMDの絶対位置と姿勢が観測可能な方法を用いる。例えば、計測対象に複数のマーカーを付けて、天井などに設置された複数のカメラからマーカーの情報を統合することで位置姿勢を計測する光学センサなどを用いればよい。また、Simultaneous Localization And Mapping (SLAM)を用いた位置及び姿勢の推定手法が利用可能である。SLAMは、撮像画像に映った角点のような自然物の特徴を毎フレーム追跡することで現実空間における撮像装置の3次元位置姿勢情報を推定する技術である。光学センサ以外にも、HMDの撮像部508の撮像画像に写るマーカーや画像特徴などを用いてHMDの位置姿勢を計測してもよい。ここで計測した位置及び姿勢を用いて、所定のCGモデルを所定の位置及び姿勢に描写したCG画像を生成する。なお、複合現実感の映像を作る場合に必要な構成である。なお、位置姿勢推定部1103は撮像画像に限らず磁気センサや姿勢センサなど外部センサからの計測値を使用してもよい。
決定部1104は、HMD100の姿勢の変位に基づいて、生成された表示画像の表示位置をシフトさせる制御情報を決定する。撮像から表示までの処理における少なくとも一部の処理時間に起因する遅延時間、およびHMD100の姿勢の変化に基づいて、表示画像をシフトさせる制御値を制御情報とする。表示画像に用いられる現実世界の画像は、CG画像を生成する前の画像であるため、そのまま体験者に提示すると遅延を体感させてしまう。この体感遅延を軽減するために、表示画像生成部1105は、画像合成が終了する時刻に近いタイミングでHMDの姿勢を計測し、撮像画像とCG画像を合成した表示画像を姿勢情報に基づいて画像シフトする。姿勢センサなどHMD100の姿勢を検知する動作情報取得部1101から頭部動作情報を受け取り、頭部動作情報から後述するシフト量を計算し表示制御部1107へ出力する。詳細な処理は図8を用いた説明を後述する。
表示画像生成部1105は、位置姿勢推定部1103で計測された位置姿勢情報をもとにCGデータを撮像画像に重畳し表示画像を生成する。撮像画像に仮想画像(CGデータ)を重畳した表示映像を生成する。CGデータは、例えばCADソフトなどを用いて作成された3DCADデータや、グラフィックデザインソフトなどを用いて作成された3DCGデータなどが該当する。表示画像生成部1105では、CG重畳位置情報に基づき、予め用意してあるCGデータをレンダリングして撮像画像に重畳する。これにより、現実空間には存在しないCGデータが映像内に描画された映像(合成画像)を作り出すことができる。
表示系画像補正部1106は、決定部1104の制御情報に応じた補正テーブルを取得する。補正テーブル変更部11060は、制御情報取得部11040からの制御情報を受け、合成画像に対して画像シフト処理と補正処理を同時に実施する補正テーブルを更新する。補正テーブル保持部11061は、表示光学系5070に対応した補正テーブルを少なくとも1つ以上保持する。
表示制御部1107は、少なくとも制御情報に基づいて、シフトさせる表示画像の部分領域を補正して表示させる。表示制御部1107は、表示画像生成部1105で生成された表示画像を、補正テーブル更新部1106の補正テーブルを用いて補正して表示する。表示制御部1107で表示制御を行った表示画像を表示部507に出力することで、表示光学系5070を通し観測者に図5の(a)に相当する画像を表示することが出来る。表示系画像補正部1106で更新された補正テーブルを適用して補正された表示画像を、HMD100の表示部507が表示光学系5070を通して投影することで、ユーザは複合現実感を体験することが出来る。なお、情報処理装置110の各機能の一部または全部をHMD100が備えるようにしてもよい。
決定部1104は、動作情報取得部1101からHMDの動きを示す頭部動作情報を取得し、制御情報取得部11040に入力する。頭部動作情報は、図1で示したように姿勢センサなど動作情報取得部1101の計測値である。あるいは、図1のシステムでは位置姿勢推定部1103でもHMDの動きを計測しているため、頭部動作情報を位置姿勢推定部1103から入力してもよい。制御情報取得部11040は、遅延時間保持部11041から撮像してから表示するまでの遅延時間を取得する。本実施形態では、簡略化のため遅延時間保持部11041は映像によらず常に一定の遅延時間を出力する事としているが、フレームごとに遅延時間が大きく異なる場合は、フレームごとに遅延時間を計算し制御情報取得部11040に出力してもよい。フレームごとに遅延時間が異なる主な原因は、位置姿勢推定部1103と表示画像生成部1105であるため、例えば撮像時と表示画像生成部1105の処理直後にタイムスタンプをつけることでフレームごとの遅延時間を得ることが出来る。制御情報取得部11040は、頭部動作情報と遅延時間から、遅延分の移動量に相当する水平シフト量Hd、垂直シフト量Vd、回転角θd、拡大率Edを求め、制御情報として表示系画像補正部1106へ出力する。この補正の方法は、補正テーブル(座標変換テーブル)を持つ歪み補正手法を用いる。なお、多項式の近似式を用いて補正してもよい。
図7の情報処理システム10が実行する動作の一例を示すフローチャートを用いて本実施形態で行う情報処理について説明する。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。以下、フローチャートは、コンピュータである図5のCPU501が記憶装置504で格納されているコンピュータプログラムを実行することにより実現されるものとする。
S710では、HMD100の撮像部508が、ユーザの視界に対応する現実世界の画像を撮像する。撮像された画像と撮像時刻は情報処理装置110に画像情報として出力される。
S720では、HMD100の姿勢計測装置が、撮像時のHMDの少なくとも姿勢を計測する。計測された姿勢は情報処理装置110に撮像時刻における姿勢情報として出力される。この姿勢情報を用いて、画像が撮像されてから、表示画像を生成するまでの所要時間(遅延時間)におけるHMD100の姿勢の変位を計測できる。なお、変位の大きさが大きくなるほど表示制御時の画像シフト量は大きくする。
S730では、画像取得部1100が、撮像された画像と撮像時刻を取得する。この画像を用いて、HMD100に表示する画像を生成する。また、位置推定部において、HMD100の位置姿勢を推定する。なお、撮影時刻から表示画像が生成される時刻までの遅延時間は、前の処理に取得した遅延時間を遅延時間保持部11041が保持する。
S740では、撮像系画像補正部1102が、撮像された画像を撮像系補正情報に基づいて補正する。
S750では、位置姿勢推定部1103が、撮像された画像に基づいて、撮像時刻におけるHMDの絶対的な位置と姿勢を推定する。
S760では、表示画像生成部1105が、撮像された画像と、CGデータとに基づいて、HMD100に表示させる表示画像を生成する。CGデータとは、仮想現実における物体(CGモデル)が、現実世界の所定の位置に存在するように描写するためのデータである。具体的にはCADデータ等である。
S770では、決定部1104が、HMD100の姿勢の変位に基づいて、生成された表示画像の表示位置をシフトさせる制御情報を決定する。詳細は図8を用いて後述する。
S780では、表示系画像補正部1106が、制御情報に基づいて、表示光学系5070に対応した補正テーブルを補正する。本実施形態では、制御情報に基づいて、HMDが有する表示光学系に対応して設定される補正テーブルを更新することによって、画面表示時に黒帯になってしまう領域を、表示画像の一部を用いて補正する。詳細は図9を用いて後述する。
S790では、表示制御部1107が、少なくとも制御情報に基づいて、シフトさせた表示画像の部分領域を補正して表示させる。具体的には、補正テーブルと、制御情報とに基づいて、表示画像の一部を拡大するようにして表示画像を表示部507に表示させる。図4、5に示すように、HMD100の姿勢が変化した向きに対応した表示画像の部分領域に対して、該部分領域の周辺画素を拡大するようにして表示する。表示画像のシフト処理と、シフトの際に発生する黒帯領域を補正する処理とを同時に行うため、効率的に黒帯領域を抑制できる。
図8の決定部1104が実行する動作の一例を示すフローチャートを用いて、S770について更に詳細に説明する。S771では、制御情報取得部11040が、動作情報取得部1101より頭部動作情報を取得する。前述のとおり、この頭部動作情報は加速度センサ、角速度センサなどのセンサを用いて計測されるセンサデータであり、頭部の動き(首ふりや移動)を数値化したデータとなっている。次に、S772では、制御情報取得部11040が、遅延時間保持部11041より遅延時間を取得する。この後、S773では、制御情報取得部11040は頭部動作情報から頭部の縦ふりもしくは横ふりを判定する。例えば頭部の縦ふりもしくは横ふりを判定するために、Yawの角速度とPitchの角速度から判定する方法がある。Yawの角速度Yωが閾値以上の場合は頭部の横ふり、Pitchの角速度Pωが一定値以上の場合は頭部の縦ふりと判定する。頭部の縦ふりもしくは横ふりと判定された場合は、S7741に進み、制御情報取得部11040は、画像の水平シフト量(Hd)と垂直シフト量(Vd)を取得する。また、頭部の縦ふり、横ふりではない(閾値以下)と判定された場合、S7742に進み、制御情報取得部11040は、画像の水平シフト量(Hd)と垂直シフト量(Vd)をそれぞれ0とする。
次に、S775では、制御情報取得部11040は頭部動作情報から頭部の傾きを判定する。例えば頭部の傾きを判定するために、Rollの角速度から判定する方法がある。Rollの角速度Rωが閾値以上の場合は頭部を傾きがあったと判定する。頭部の傾きがあったと判定された場合は、S7861に進み、制御情報取得部11040は、画像の回転角(θd)を取得する。また、頭部の傾きはなかったと判定された場合、S7862に進み、制御情報取得部11040は、画像の回転角(θd)を0にする。
次に、S777では、制御情報取得部11040は頭部動作情報から頭部の前後移動を判定する。例えば頭部の前後移動を判定するために、Roll軸方向の加速度情報から判定する方法がある。Roll軸方向の加速度Raが閾値以上の場合は頭部が前後移動をしたと判定する。頭部の前後移動と判定された場合は、S7781に進み、制御情報取得部11040は、画像の拡大率(Ed)を取得する。また、頭部の前後移動ではないと判定された場合、S7782に進み、制御情報取得部11040は、画像の拡大率(Ed)を0にする。S779では、制御情報取得部11040は、制御情報として、画像の水平シフト量Hd、垂直シフト量Vd、回転角θd、拡大率Edを表示系補正部1106に出力する。
このようにして、決定部1104は、動作情報取得部1101より入力される頭部動作情報と、遅延時間保持部11041に保存されている遅延時間とに基づいて撮像画像の移動量と変形量を決定する。また、移動量と変形量の計算の順番については特に限定はない。先に頭部の前後移動による倍率を計算したのちに頭部の縦ふり/横ふりによるシフト量を計算するといった構成としてもよい。また、移動量や変形量の計算手段についても、頭部動作情報と、遅延時間より予測可能な範囲で観察者に違和感のないように画像変換すれば本発明の効果を享受できることは言うまでもない。
図9のフローチャートを用いて表示系補正部1106の補正テーブルを更新する例について説明する。図9の(a)は、制御情報に応じてリアルタイムに補正テーブルを更新する場合である。ユーザのとりうる多様な動きに対応可能であるため、精度良く黒帯領域を抑制することが期待できる。まず、S781では、補正テーブル更新部11060は、決定部1104から表示位置のシフト量を取得し、シフト量が閾値以内であるか判定する。シフト量が閾値以内であれば、S782に進み、シフト量に応じて補正テーブルを更新する。シフト量が閾値外である場合は、S783に進み、最大補正値で補正する。最大補正値は、予めユーザが設定しておく。
図9の(b)はシフト量に応じて複数の補正テーブルを切り替えて、パラメータを更新する場合である。図9(a)の場合は、1つの補正テーブルを用いるのに対し、図9(b)の場合は、複数のパラメータからシフト量に対応したパラメータを用いる。シフト量を段階的に分類し、その範囲に対応した補正テーブルを予め用意しておく。これらの複数の補正テーブルは、補正テーブル保持部11061が保持する。ルールベースで補正テーブルを更新できるため、処理効率が良い。まず、S784では、補正テーブル更新部11060は、決定部1104から表示位置のシフト量を取得し、シフト量に対応する補正テーブルがあるか判定する。対応する補正テーブルがあれば、S785に進み、対応した補正テーブルに切り替えることで補正テーブルを更新する。対応する補正テーブルがない場合は、S786に進み、最大補正値で補正する。また、表示系補正部1106の処理は、ニューラルネットワークを用いた学習済みモデルに基づいて補正テーブルを更新してもよい。この場合、ニューラルネットワークに、制御情報に対して理想的な補正テーブル(または補正された表示画像)を教師データとして与える。学習済みモデルを用いることによって、リアルタイムに効率的な処理が実行できる。
以上の処理により表示光学系を含んだHMDにおいて画像をシフトさせた際に発生する黒帯領域を抑制できる。
なお、本発明の本質は画素欠損が起きた領域に対して動的に歪み補正テーブルを変更することで画素欠損を緩和する画像処理を行うことにある。そのため、本実施形態の撮像系補正部1102でも同様の処理を行うことが出来る。具体的には前述したように、撮像系補正部1102では、HMD100と情報処理装置110間の通信エラー検出や画素欠陥補正、撮像系歪み補正を実施する。特に通信エラーは、フレームごとに違う位置の画素が欠けてしまう恐れがある。フレームごとに画素欠陥検出処理を実施し、画素欠陥を補正するよう動的に歪み補正テーブルを変更することで画素欠陥を緩和することも出来る。
<変形例>
実施形態1では、補正テーブル全体を更新する必要があった。そのため、補正テーブル全体を更新するための高速メモリや、補正テーブル全体を切り替えるための大容量メモリが必要となってしまう。本変形例では歪み補正テーブル全域を変更するのではなく、シフト量に応じて補正テーブルの一部のみを変更する方法について説明する。
実施形態1では、補正テーブル全体を更新する必要があった。そのため、補正テーブル全体を更新するための高速メモリや、補正テーブル全体を切り替えるための大容量メモリが必要となってしまう。本変形例では歪み補正テーブル全域を変更するのではなく、シフト量に応じて補正テーブルの一部のみを変更する方法について説明する。
まず、概要について図1を用いて説明する。実施形態1では、図1の(a)から図1の(d)に変換するために画面全域の補正テーブルを更新した。本変形例では、補正で画像全体を補正するのではなく、図1の(b)に相当する画像を作る表示シフト処理を行ったのちに、補正処理を実施する。表示シフト処理を歪み補正前に実施することで、図1の(c)のs’に相当する領域のみ補正テーブルを変更する。s’’に相当する領域の補正テーブルは、通常の光学歪みを補正する補正テーブルのままで使用することが出来るので、s’’領域の補正テーブルを更新する必要がなくなる。よって、表示シフト処理を実施後に補正処理を行う構成にすることで、より安価に本発明を実施することが出来るようになる。
図10は情報処理システムの機能構成例を示すブロック図である。実施形態1の表示系画像補正部1106に比べ、シフト処理部11062が追加されている。またパラメータ更新部11061についても一部動作が異なる。シフト処理部11062は、決定部1104からの制御情報に基づいて、表示画像に対してシフト処理(前述した図1の(b)相当の処理)を行う。補正テーブル更新部11062は決定部1104からの制御情報に基づいて、デフォルトの補正テーブルから、制御情報のシフト量に応じた領域(図1(c)のs’領域に相当)のみ補正テーブルを更新する。
以上の構成により高速メモリや大容量メモリを必要とせず、安価な構成で画像をシフトさせた際に発生する黒帯領域を抑制できる。
(その他の変形例)
なお、上述した各処理部のうち、撮像系補正部1102等については、その代わりとして、機械学習された学習済みモデルを代わりに用いて処理しても良い。その場合には、例えば、その処理部への入力データと出力データとの組合せを学習データとして複数個準備し、それらから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。学習済みモデルは、例えばニューラルネットワークモデルで構成可能である。そして、その学習済みモデルは、前記処理部と同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、前記処理部の処理を行う。なお、上記学習済みモデルは、必要に応じて一定の処理後に更新しても良い。
なお、上述した各処理部のうち、撮像系補正部1102等については、その代わりとして、機械学習された学習済みモデルを代わりに用いて処理しても良い。その場合には、例えば、その処理部への入力データと出力データとの組合せを学習データとして複数個準備し、それらから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。学習済みモデルは、例えばニューラルネットワークモデルで構成可能である。そして、その学習済みモデルは、前記処理部と同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、前記処理部の処理を行う。なお、上記学習済みモデルは、必要に応じて一定の処理後に更新しても良い。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
100 HMD
508 撮像部
507 表示部
510 姿勢計測装置
110 情報処理装置
508 撮像部
507 表示部
510 姿勢計測装置
110 情報処理装置
Claims (13)
- 現実空間の画像を撮像する撮像手段と、前記画像に基づいて生成された表示画像を表示する表示手段と、画像表示装置の姿勢を計測する計測手段とを有する該画像表示装置に接続された情報処理装置であって、
前記画像表示装置の姿勢の変位に基づいて前記表示画像の表示位置をシフトさせる制御情報を決定する決定手段と、
前記制御情報に基づいて、前記画像表示装置が有する表示光学系に対応して設定される補正テーブルの少なくとも一部を更新する更新手段と、
前記制御情報に基づいて前記表示画像の表示位置をシフトさせ、該シフトさせた領域を前記補正テーブルに基づいて補完して表示させる表示制御手段を有することを特徴とする情報処理装置。 - 前記補正テーブルは、前記画像の部分領域毎に前記表示光学系に対応する歪み補正を行う前後の座標変換を行うパラメータであることを特徴とする請求項1に記載の情報処理装置。
- 前記更新手段は、前記画像から決定される前記制御情報に応じて前記補正テーブルを更新することを特徴とする請求項1または2に記載の情報処理装置。
- 前記表示画像をシフトさせる量に応じた複数の前記補正テーブルを保持する保持手段を更に有し、
前記更新手段は、前記制御情報に基づいて前記表示画像をシフトさせる量に応じて、前記補正テーブルを更新することを特徴とする請求項1または2に記載の情報処理装置。 - 前記更新手段は、前記制御情報を入力として前記補正テーブルを出力する学習済みモデルに基づいて前記補正テーブルを更新することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記撮像手段によって画像が撮像されてから、前記表示画像を生成するまでの所要時間における前記計測手段で計測された姿勢に基づいて、前記画像表示装置の姿勢の変位を取得する取得手段を更に有し、
前記決定手段は、前記取得手段によって取得された前記画像表示装置の姿勢の変位に基づいて前記制御情報を決定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 - 前記表示制御手段は、前記画像表示装置の姿勢が変化した向きに対応した前記表示画像の部分領域に対して、該部分領域の周辺画素を拡大するようにして表示することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 前記決定手段は、前記画像表示装置の姿勢の変位が大きいほど、前記表示画像の表示位置をシフトさせるシフト量を大きくするように前記制御情報を決定し、
前記表示制御手段は、前記シフト量に応じて拡大する画素の範囲を制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 - 前記表示画像は、前記撮像手段によって現実世界を撮像した画像に対して、所定の位置に仮想現実の物体を描写することによって生成された画像であることを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
- 前記画像表示装置は、ユーザの頭部に装着されて使用されることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
- 前記計測手段は、前記画像表示装置のロール、ピッチ、ヨーそれぞれにおける前記姿勢を計測することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
- コンピュータを、請求項1乃至11のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
- 現実空間の画像を撮像する撮像手段と、前記画像に基づいて生成された表示画像を表示する表示手段と、画像表示装置の姿勢を計測する計測手段とを有する該画像表示装置に接続された情報処理装置であって、
前記画像表示装置の姿勢の変位に基づいて前記表示画像の表示位置をシフトさせる制御情報を決定する決定手段と、
前記制御情報に基づいて、前記画像表示装置が有する表示光学系に対応して設定される補正テーブルの少なくとも一部を更新する更新手段と、
前記制御情報に基づいて前記表示画像の表示位置をシフトさせ、該シフトさせた領域を前記補正テーブルに基づいて補完して表示させる表示制御工程を有することを情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018244818A JP2020106655A (ja) | 2018-12-27 | 2018-12-27 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018244818A JP2020106655A (ja) | 2018-12-27 | 2018-12-27 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020106655A true JP2020106655A (ja) | 2020-07-09 |
Family
ID=71450728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018244818A Pending JP2020106655A (ja) | 2018-12-27 | 2018-12-27 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020106655A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023100468A1 (ja) * | 2021-12-01 | 2023-06-08 | ソニーセミコンダクタソリューションズ株式会社 | 表示装置、表示システム、および表示方法 |
-
2018
- 2018-12-27 JP JP2018244818A patent/JP2020106655A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023100468A1 (ja) * | 2021-12-01 | 2023-06-08 | ソニーセミコンダクタソリューションズ株式会社 | 表示装置、表示システム、および表示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6681467B2 (ja) | 画像生成装置および画像生成方法 | |
US20190096137A1 (en) | Live augmented reality using tracking | |
RU2638776C1 (ru) | Устройство генерирования изображения и способ | |
JP4857196B2 (ja) | 頭部装着型表示装置、及びその制御方法 | |
JP4473754B2 (ja) | 仮想試着装置 | |
US10853918B2 (en) | Foveal adaptation of temporal anti-aliasing | |
US8456485B2 (en) | Image processing apparatus and method, head mounted display, program, and recording medium | |
EP3572916B1 (en) | Apparatus, system, and method for accelerating positional tracking of head-mounted displays | |
JP2009123018A (ja) | 画像処理装置、画像処理方法 | |
US11960086B2 (en) | Image generation device, head-mounted display, and image generation method | |
US20210368152A1 (en) | Information processing apparatus, information processing method, and program | |
JP2006285609A (ja) | 画像処理方法、画像処理装置 | |
US20220113543A1 (en) | Head-mounted display and image display method | |
JP4144888B2 (ja) | 画像処理方法、画像処理装置 | |
JP2001128195A (ja) | 立体画像補正装置、立体画像表示装置および立体画像補正処理プログラムを記録した記録媒体 | |
US20220300120A1 (en) | Information processing apparatus, and control method | |
JP2020106655A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11050993B2 (en) | Image generating apparatus and image generating method | |
US20220113794A1 (en) | Display device and image display method | |
WO2020084312A1 (en) | Method and system for providing at least a portion of content having six degrees of freedom motion | |
JP7377014B2 (ja) | 画像表示装置、画像表示システムおよび画像表示方法 | |
JP6560421B1 (ja) | 情報処理システム、情報処理方法及び情報処理プログラム | |
WO2020152754A1 (ja) | 画像生成装置および画像生成方法 | |
JP7066414B2 (ja) | 画像処理装置、表示システム、画像処理方法及びプログラム | |
TWI817335B (zh) | 立體影像播放裝置及其立體影像產生方法 |