JP2023132157A - 画像表示装置、画像表示方法、及びプログラム - Google Patents
画像表示装置、画像表示方法、及びプログラム Download PDFInfo
- Publication number
- JP2023132157A JP2023132157A JP2022037325A JP2022037325A JP2023132157A JP 2023132157 A JP2023132157 A JP 2023132157A JP 2022037325 A JP2022037325 A JP 2022037325A JP 2022037325 A JP2022037325 A JP 2022037325A JP 2023132157 A JP2023132157 A JP 2023132157A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image display
- display device
- correction
- delay time
- 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
- 238000000034 method Methods 0.000 title claims description 59
- 238000012545 processing Methods 0.000 claims abstract description 138
- 238000012937 correction Methods 0.000 claims abstract description 82
- 238000003384 imaging method Methods 0.000 claims description 97
- 238000005259 measurement Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 45
- 239000002131 composite material Substances 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000003786 synthesis reaction Methods 0.000 claims description 2
- 238000003702 image correction Methods 0.000 abstract description 53
- 210000003128 head Anatomy 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000004886 head movement Effects 0.000 description 6
- 210000001747 pupil Anatomy 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 210000001525 retina Anatomy 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Landscapes
- Transforming Electric Information Into Light Information (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】高精度な画像補正を実現可能にする。【解決手段】画像表示装置は、現実空間における画像表示装置の動きを検出し、画像表示の第1の遅延時間を計測し、画像に対して補正処理を行う。ここで、画像表示装置は、計測された第1の遅延時間と画像表示装置の動作に関連する設定値とを基に第2の遅延時間を推定し、その推定した第2の遅延時間と、検出された動きとを基に、補正処理を制御する。【選択図】図2
Description
本発明は、画像を処理して提示する技術に関する。
近年、現実世界と仮想世界をリアルタイムにシームレスに融合させる技術として、いわゆるMR(Mixed Reality:複合現実感)技術が知られている。MR技術を実現する装置の1つとして、ビデオシースルー型HMD(Head Mounted Display)が知られている。ビデオシースルー型HMDは、使用者の瞳位置から観察される被写体と略一致する被写体をビデオカメラなどで撮像し、その撮像画像にCG(Computer Graphics)画像を重畳したMR画像を、液晶や有機EL等の表示デバイスに表示する。
撮像画像にCG画像を重畳したMR画像を生成する処理は、HMDと通信可能になされた外部の画像処理装置によって行われることが多い。すなわちHMDのカメラで撮像された撮像画像は画像処理装置に送信され、画像処理装置ではHMDから受信した撮像画像を基に当該HMDの位置姿勢を計算し、その計算結果を基に撮像画像に対してCG画像を重畳したMR画像を生成してHMDへ送信する。
ここで、HMDではCG画像を生成するが、そのCG画像の生成にはある程度時間がかかり、HMD使用者の頭部の動きに対して画像遅延が生じることがあり、その画像遅延がHMD使用者にとって違和感となっていた。これに対し、特許文献1では、表示の更新レートの低下を検知した場合には、頭部の位置姿勢を基に表示する画像を補正することでHMD使用者の違和感を低減する技術が開示されている。また、特許文献2では、実物体が表示されるまでの遅延情報に基づいて、遅延による位置ずれを補正するような画像補正技術が開示されている。
しかしながら、画像の遅延は一定ではなく動的に変化することがあり、この場合、上述した特許文献に開示された技術では、高精度な画像補正を行うことができず、HMD使用者にとって違和感が残ってしまう。
そこで本発明は、高精度な画像補正を実現可能にすることを目的とする。
本発明の画像表示装置は、現実空間における画像表示装置の動きを検出する検出手段と、画像表示の第1の遅延時間を計測する計測手段と、画像に対して補正処理を行う補正手段と、前記計測された第1の遅延時間と前記画像表示装置の動作に関連する設定値とを基に第2の遅延時間を推定し、前記推定した第2の遅延時間と、前記検出手段にて検出された前記動きとを基に、前記補正手段を制御する制御手段と、を有することを特徴とする。
本発明によれば、高精度な画像補正を実現可能となる。
以下、本発明に係る実施形態を、図面を参照しながら説明する。以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。実施形態の構成は、本発明が適用される装置の仕様や各種条件(使用条件、使用環境等)によって適宜修正又は変更され得る。また、後述する各実施形態の一部を適宜組み合わせて構成してもよい。以下の各実施形態において、同一の構成には同じ参照符号を付して説明する。
<第1の実施形態>
図1は、第1の実施形態に係る画像表示装置および画像処理装置を含む画像表示システムの概略的な構成例を示す図である。
図1において、画像表示システムは、一例として、頭部装着型の画像表示装置であるHMD(Head Mounted Display)101と、表示装置102および操作部104を有する画像処理装置103と、を有して構成されている。
図1は、第1の実施形態に係る画像表示装置および画像処理装置を含む画像表示システムの概略的な構成例を示す図である。
図1において、画像表示システムは、一例として、頭部装着型の画像表示装置であるHMD(Head Mounted Display)101と、表示装置102および操作部104を有する画像処理装置103と、を有して構成されている。
HMD101は、ビデオシースルー型HMDであり、使用者の頭部に装着される。HMD101は、使用者の瞳位置から観察される被写体と略一致する被写体をビデオカメラ等の撮像装置にて撮像し、その撮像画像にCG画像(コンピュータグラフィックス画像)を重畳したMR(Mixed Reality:複合現実感)画像を表示する。本実施形態の画像処理装置103は、CG画像の生成処理とそのCG画像を撮像画像に重畳する合成処理とを含む所定の画像処理を行い、その合成処理により得られた合成画像を、使用者に提示するMR画像としてHMD101に送信する。
HMD101は、WLAN(Wireless Local Area Network)やWPAN(Wireless Personal Area Network)のような小規模ネットワークを構成する無線接続を介して画像処理装置103と通信する。なお、HMD101と画像処理装置103との間の通信は、無線による通信に限らず、有線による通信であってもよい。また図1の例では、画像処理装置103とHMD101を別々のハードウェア構成としているが、画像処理装置103の持つ機能のすべてをHMD101内に実装して、一体化することも可能である。
[画像表示システムの各装置の機能構成]
図2は、図1に示した画像表示装置(HMD101)および画像処理装置103の機能構成を示した機能ブロック図である。
HMD101は、例えば、撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、遅延計測部206、および補正部210を有して構成されている。
図2は、図1に示した画像表示装置(HMD101)および画像処理装置103の機能構成を示した機能ブロック図である。
HMD101は、例えば、撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、遅延計測部206、および補正部210を有して構成されている。
HMD101の撮像部201は、当該HMD101が存在している現実空間(外界)を撮像する撮像装置であり、例えば動画撮像を行うビデオカメラであるとする。撮像部201は、制御部205により撮像パラメータ等が設定され、その撮像パラメータ等の設定値に応じた撮像動作を行って、外界(現実空間)を撮像し、時系列に連続するフレームごとの撮像画像を出力する。撮像部201の設定値としては、例えば、フレームレート、解像度、シャッタースピード、およびゲイン等が挙げられる。第1の実施形態の場合、撮像部201が外界を撮像して取得したフレームごとの撮像画像は、画像処理装置103へと送られる。
表示部202は、HMD101を頭部に装着した状態の使用者が観る画像を表示する液晶や有機EL等の画像形成素子と、HMD101を頭部に装着した使用者の両眼に対応した接眼光学系とを有して構成された表示装置である。
空間情報取得部204は、このHMD101が存在している現実空間(外界)に関する空間情報を取得する。空間情報取得部204としては、例えば、Depthセンサ、ステレオカメラ、光学式センサなどがある。すなわち、空間情報取得部204は、Depthセンサ、ステレオカメラ、光学式センサなどの出力情報を基に、現実空間におけるHMD101の位置関係などを表す空間情報を取得する。空間情報取得部204にて取得された空間情報は画像処理装置103に送られる。なお、空間情報取得部204は、Depthセンサ等に限定されず、現実空間内におけるHMD101の空間情報を取得することができるのであれば他の構成が用いられてもよい。
センシング部203は、現実空間におけるHMD101の動きを検出するセンサを有する。HMD101の動きを検出するセンサとしては、IMU(Inertial Measurement Unit)や加速度センサ、角速度センサなどを挙げることができる。本実施形態においては、センシング部203のセンサはIMUであるする。センシング部203は、現実空間に対するHMD101の動きの検出結果の情報であるセンシングデータを、制御部205に送る。
遅延計測部206は、撮像部201で画像が撮像されてから、後述する画像処理装置103での画像処理により生成された画像が当該HMD101に出力されてくるまでの、第1の遅延時間(以下適宜、計測遅延時間と呼ぶ)を計測する。この遅延時間は、画像処理による遅延だけでなく、通信などによる遅延も含まれている。遅延計測部206における遅延時間計測処理の詳細は後述する。
制御部205は、HMD101内の各機能部の動作制御を行う。また本実施形態に係る制御部205は、動画のフレームごとに、HMD101の各機能部の動作を設定するための設定値(パラメータ)を変更するような制御も可能となされている。また制御部205は、センシング部203からのセンシングデータを基に、HMD101の移動、傾き、回転等を算出する。すなわちHMD101の移動、傾き、回転等は、HMD使用者が頭部を動かした時の移動、傾き、回転等に相当し、これにより制御部205は、HMD使用者がどの現実空間のどの方向を向いている(見ている)のかを認識することができる。また詳細は後述するが、制御部205は、HMD101の動作に関連する設定値と計測遅延時間とを基に第2の遅延時間としての高精度な遅延時間を推定し、その高精度遅延時間とHMD101の移動、傾き、回転等とを基に補正部210を制御する。すなわち制御部205は、高精度遅延時間とHMD101の移動、傾き、回転等を基に、画像補正に用いられる補正値を生成し、その補正値を補正部210に設定することによって、補正部210における画像補正処理を制御する。制御部205が高精度遅延時間を推定する際に用いる設定値と計測遅延時間、画像補正に用いる補正値の生成等の詳細は後述する。
補正部210は、画像処理装置103から送られてきた画像、つまり使用者に提示するために生成された画像に対して、制御部205からの補正値に基づいた画像補正処理を行う。そして、補正部210からの出力画像が表示部202に送られて表示される。補正部210における画像補正処理の詳細は後述する。
画像処理装置103は、例えば、画像処理部207、コンテンツDB(データベース)208、および出力制御部209を有して構成されている。
コンテンツDB208は、CG画像の生成に用いるコンピュータグラフィックスデータ(CGデータ)を格納している。
コンテンツDB208は、CG画像の生成に用いるコンピュータグラフィックスデータ(CGデータ)を格納している。
第1の実施形態に係る画像処理部207は、コンテンツDB208のCGデータから描画用のGG画像を生成し、そのCG画像を、HMD101の撮像部201にて撮像された現実空間の撮像画像に対して重畳して合成画像を生成するような画像処理を行う。すなわち画像処理部207は、HMD101から撮像画像及び空間情報が入力されると、それらを基に、撮像画像のどの位置にCG画像を重畳すればよいかを計算する。そして、画像処理部207は、コンテンツDB208からCGデータを読み出し、撮像画像に対して、先に計算した重畳位置にCG画像を重畳するようにして合成画像を生成する。
出力制御部209は、画像処理部207にて現実空間の撮像画像にCG画像が重畳された合成画像をHMD101に出力する画像出力制御を行う。すなわち出力制御部209は、画像処理部207によって生成された合成画像をHMD101に出力するタイミングを制御する。ここで、合成画像は、HMD101の表示部202へ表示される画像であるため、出力制御部209による出力タイミング制御とは、HMD101の表示部202への表示画像の出力タイミング制御に相当する。
前述したように、HMD101の制御部205は、HMD101の各機能部の動作に関連する設定値を制御可能となされている。例えば、制御部205は、撮像部201の設定値の一つであるシャッタースピードを、フレームごとに動的に変化させるような制御を行うことができる。このため、制御部205が撮像部201のシャッタースピードをフレームごとに動的に変化させた場合、撮像部201においてシャッターが開放されている時間(つまり露光時間)は変化することになる。一方、撮像部201が画像を出力する撮像フレームレートが一定である場合に、シャッタースピードを動的に変化させると、撮像部201の露光終了から撮像画像の出力開始までの遅延時間はフレームごとに動的に変化する。
また、画像処理装置103の画像処理部207にて行われる画像処理は、コンテンツDB208から読み出すCGデータによって処理負荷が大きく変動する。このように、画像処理部207の処理負荷が大きく変動すると、当該画像処理部207から出力制御部209へ画像が送出される時間間隔が変化することになる。一方、出力制御部209の出力フレームレートが一定である場合に、画像処理部207から画像が送出される時間間隔が変化すると、画像処理部207の画像送出終了から出力制御部209の画像出力開始までの遅延時間がフレームごとに動的に変化する。
さらに撮像部201の撮像フレームレートと、出力制御部209からHMD101への出力フレームレートつまり表示部202における表示フレームレートとは一致しない場合がある。例えば、撮像部201が60fps(フレーム/秒)のフレームレートで撮像画像を出力し、表示部202が60fpsのフレームレートで画像を表示する場合、出力制御部209の出力フレームレートも60fpsとなされる。一方、撮像部201が60fpsのフレームレートであるのに対し、例えば表示部202のフレームレートが59fpsであり、出力制御部209の出力フレームレートが59fpsになっている場合がある。すなわちこの場合、撮像画像と表示画像の更新レートに偏差がある状態となる。そして、撮像画像と表示画像の更新レートの偏差がある状態では、それら更新レートの偏差が動的に変動することがあり、表示部202に画像を表示する際の遅延時間が一定ではなくなる。
このように、画像表示システムにおいては、撮像部201や表示部202などの各種の設定値、画像処理部207における画像処理の負荷などによって、フレームごとに遅延時間が動的に変化することがある。
そこで、本実施形態において、制御部205は、撮像部201や表示部202等の設定値と計測遅延時間とを基に高精度遅延時間を推定し、その推定した高精度遅延時間とセンシングデータとを基に、補正部210の画像補正に用いる補正値を算出する。補正部210は、出力制御部209から送られてきた画像を、制御部205にて算出された補正値を用いて補正する。そして、その補正後の画像を表示部202に表示する。これにより、HMD利用者にとって違和感が少ない画像を提供可能とする。
[補正部の詳細]
制御部205における高精度遅延時間の推定および画像の補正値の算出処理の説明を行う前に、補正部210における画像補正処理について説明する。
本実施形態の補正部210における画像補正処理は、例えば、画像の水平移動、垂直移動、拡大・縮小、回転、台形補正、射影変換等の、いずれか若しくはそれらの組み合わせの処理となされている。すなわち補正部210は、画像処理装置103にて使用者への提示用として生成された画像に対して、水平移動、垂直移動、拡大・縮小、回転、台形補正、射影変換等の処理を行うことで、HMD101の移動、傾き、回転等の動作に追従するような画像補正を行う。なお、画像に遅延がある場合でもHMD101の動作に追従するように画像補正を行う手段であれば、方法は特に限定されない。
制御部205における高精度遅延時間の推定および画像の補正値の算出処理の説明を行う前に、補正部210における画像補正処理について説明する。
本実施形態の補正部210における画像補正処理は、例えば、画像の水平移動、垂直移動、拡大・縮小、回転、台形補正、射影変換等の、いずれか若しくはそれらの組み合わせの処理となされている。すなわち補正部210は、画像処理装置103にて使用者への提示用として生成された画像に対して、水平移動、垂直移動、拡大・縮小、回転、台形補正、射影変換等の処理を行うことで、HMD101の移動、傾き、回転等の動作に追従するような画像補正を行う。なお、画像に遅延がある場合でもHMD101の動作に追従するように画像補正を行う手段であれば、方法は特に限定されない。
補正部210の詳細な動作について、図3および図4を用いて説明する。
ここではまず、本実施形態に係る高精度遅延時間推定に基づく画像補正処理との比較のために、高精度遅延時間推定を行わずに画像補正処理を実行した場合の例を説明する。以下、本実施形態に係る高精度遅延時間の推定処理を「高精度推定」と呼び、本実施形態に係る高精度推定を行わない場合を「非高精度推定」と呼ぶことにする。なお、非高精度推定時の画像補正処理の説明では、フレームごとの遅延時間に変動はなく一定でありかつ、撮像画像と表示画像の更新レートに偏差はないものとする。フレームごとの一定な遅延時間は、例えば予め算出した遅延時間の平均値(一例として46ms)とし、非高精度推定時の画像補正処理の際には当該一定の遅延時間に対応するような補正値が用いられるとする。
ここではまず、本実施形態に係る高精度遅延時間推定に基づく画像補正処理との比較のために、高精度遅延時間推定を行わずに画像補正処理を実行した場合の例を説明する。以下、本実施形態に係る高精度遅延時間の推定処理を「高精度推定」と呼び、本実施形態に係る高精度推定を行わない場合を「非高精度推定」と呼ぶことにする。なお、非高精度推定時の画像補正処理の説明では、フレームごとの遅延時間に変動はなく一定でありかつ、撮像画像と表示画像の更新レートに偏差はないものとする。フレームごとの一定な遅延時間は、例えば予め算出した遅延時間の平均値(一例として46ms)とし、非高精度推定時の画像補正処理の際には当該一定の遅延時間に対応するような補正値が用いられるとする。
図3(a)はHMDを装着した使用者の頭部の動き(頭部の向き)を示している。図3(b)は図3(a)に示した各頭部1401の向きの時にHMD101に表示される画像例を示している。図3(c)は図3(b)に示した各画像における描画と表示のタイミングを表した図である。
図3(a)には使用者の頭部1401と、その頭部1401に装着されたHMD101とを示しており、頭部1401を上から見た図である。図3(a)の例の場合、使用者は、頭部1401を右回りに回転させることで、頭部1401の向きを左から右を徐々に変化させている状態を表している。なお、時間は図3の左から右に従って進んでいるとする。また、説明を分かりやすくするために、頭部1401の動きは等速運動であるとする。
図3(b)に示されている各太枠内は、図3(a)に示した頭部1401の各向きの際に、HMD101に表示されている画像例を示しており、それら画像内にはCG画像1403、1404などが表示されている。なお、図3(b)において括弧が付けられた番号(1410)~(1416)はそれぞれ各画像を示した番号である。図3(c)は図3(b)に例示した各画像における描画と表示のタイミングを表した図である。図3(c)中に記載した各番号(1410)~(1416)は、図3(b)で各画像に付与した番号と対応している。これら図3(b)と図3(c)は、頭部1401の向きの変化に対して表示される画像に遅延が生じておらず、正常に画像が描画されている場合の例を示している。
一方、図3(d)は、図3(b)同様に図3(a)に示した各頭部1401の向きの時にHMD101に表示されている画像例を示している。ただし、図3(d)の例では、頭部1401の向きの変化に対して表示される画像に遅延が生じている。すなわち図3(d)の例では、使用者の頭部1401の動きに対して描画が間に合わず、頭部の向きが変わっているのにHMD101には同じ画像が表示されてしまっている状態の例を示している。図3(e)は図3(d)に例示した各画像における描画と表示のタイミングを表した図である。図3(d)において括弧が付けられた番号(1410)~(1416)、図3(c)中に記載した各番号(1410)~(1416)は、図3(b)、図3(c)と同様に付与された番号である。
図3(d)および図3(e)に示した例の場合、CG画像1403と1404の描画に時間がかかり、フレームレートで決まる規定時間内に描画が終了しなかったため、番号(1411)と番号(1412)の画像がそれぞれ2回連続で表示されている。すなわち図3(d)と図3(e)の例の場合、CG画像1403,1404を表示するための描画処理が規定時間内に終了しないため、画像の更新レートが低下している。この更新レート低下はHMD101の使用者にとって違和感として感じられることが多く、使用者は映像酔いになってしまうことがある。
図4は、非高精度推定時において画像補正処理が行われた場合の例を示した図である。図4(a)~図4(d)は、図3(a)~図3(d)と同様の図であるためその説明を省略する。図4(f)は画像の更新レートが低下していない場合の理想画像(図3(b)の画像)を示している。図4(f)のように理想画像の表示がなされている場合、HMD101の使用者は違和感をもつことはない。
図4(e)は、非高精度推定時の画像補正処理による各画像の例を示している。画像補正処理では、頭部の動きがあるのに同じ画像を受け取った場合に、1フレーム分の頭部の動き量だけ、画像を移動(シフト)させるような補正が行われる。例えば図4(d)に示すように同じ画像を2回受け取った場合、画像補正処理では、1フレーム分の頭部の動き量だけ左に画像を移動(シフト)する。これにより、図4(e)の画像1501~1504に示すように、図4(f)の理想画像に対応した画像を表示することができる。ただし、画像をシフトしたことで画像が無くなった領域には、図4(e)の画像1501~1504に示したように黒画像が配置される。なおここでは、黒画像を配置する例を挙げているが、表示画像よりも領域の大きい画像を画像処理装置から受信するような構成にし、その画像から表示する画像を切り出すことで、黒画像を表示しないようにすることも可能である。またこの例では、頭部の動きが左右である例を挙げているため、画像を左右に移動する例を説明したが、頭部の動きが上下や斜めである場合にはそれら上下や斜めの動きに応じて画像を上下や斜めに移動させる。
このように、非高精度推定時の画像補正処理であっても、画像の遅延時間が例えば一定であれば、使用者にとって違和感のない画像表示を行うことができる。
このように、非高精度推定時の画像補正処理であっても、画像の遅延時間が例えば一定であれば、使用者にとって違和感のない画像表示を行うことができる。
[遅延時間が動的に変化する例の説明]
前述したように、撮像部201のシャッタースピードがフレームごとに変化する場合や、画像処理部207の処理負荷が変動する場合、あるいは撮像画像と表示画像のフレームレートが一致していない場合などでは、画像の遅延時間が動的に変化することになる。
前述したように、撮像部201のシャッタースピードがフレームごとに変化する場合や、画像処理部207の処理負荷が変動する場合、あるいは撮像画像と表示画像のフレームレートが一致していない場合などでは、画像の遅延時間が動的に変化することになる。
以下、それらシャッタースピード、処理負荷、フレームレートなどの要因によって画像の遅延時間が一定ではなく動的に変化することについて、図5を用いて説明する。図5は、撮像部201で撮像した画像に対し、画像処理部207がCG画像を重畳した後、出力制御部209から合成画像の出力がなされる時のタイミングチャートを示している。
図5(a)は、撮像部201において撮像フレームごとにシャッタースピードを変化させたときの露光時間を示している。図中に記号で示すC1,C2,・・・は、連続する撮像フレームを特定する番号を示している。例えば露光時間3101は、撮像フレーム番号C1のフレームの画像を取得するために、1/60秒のシャッタースピードで撮像が行われたことを示している。シャッタースピードの1/60秒は16msであるため、撮像フレーム番号C1のフレームの撮像画像を取得した時の露光時間3101は16msである。同様に、露光時間3102は、撮像フレーム番号C2のフレームの画像を取得するために、1/120秒のシャッタースピードで撮像が行われたことを示している。シャッタースピードの1/120秒は8msであるため、撮像フレーム番号C2のフレームの撮像画像を取得した時の露光時間3102は8msである。
図5(b)は、撮像部201から撮像フレーム番号C1,C2,・・・の各フレームの撮像画像が出力される様子を示している。本実施形態の場合、撮像部201のフレームレートが60fpsであり撮像更新周期は16msであるため、当該撮像部201からは、16msの更新周期ごとに、次の撮像フレーム番号の撮像画像が出力される。例えば、フレーム3201として撮像フレーム番号C1の撮像画像の出力が開始されると、その出力開始タイミングから16ms経過後に、次のフレーム3202として撮像フレーム番号C2の撮像画像の出力が開始される。
図5(a)と図5(b)に示すように、1/60秒のシャッタースピードで撮像フレーム番号C1のフレームの露光時間3101が終了すると、直ぐに1/120秒のシャッタースピードで撮像フレーム番号C2の露光時間3102が開始されている。また、撮像部201からは、撮像フレーム番号C1の露光時間3101が終了すると直ぐに、当該撮像フレーム番号C1のフレーム3201の撮像画像の出力が開始される。一方、撮像フレーム番号C2のフレーム3202の撮像画像の出力は、撮像フレーム番号C2の露光時間3102が終了してから8ms経過後に開始されている。また、撮像フレーム番号C2の露光時間3102が終了してから8ms経過後には、1/180秒のシャッタースピードで撮像フレーム番号C3のフレームの露光が開始されている。この撮像フレーム番号C3のフレームの撮像画像の出力は、撮像フレーム番号C3のフレームの露光が終了してから11ms経過後に開始される。すなわち、シャッタースピード1/60秒(露光時間16ms)に設定されたフレームに対して、シャッタースピード1/120秒(露光時間8ms)に設定されたフレームでは8ms分の時間遅延が発生することになる。同様に、例えばシャッタースピード1/180秒(露光時間5ms)に設定されたフレームの場合は、シャッタースピード1/60秒(露光時間16ms)に設定されたフレームに対して11ms分の時間遅延が発生することになる。
図5(c)は、画像処理部207による画像処理に要する処理時間を示している。例えば撮像フレーム番号C1に対応した画像処理3301の場合、画像処理部207は、撮像部201から撮像フレーム番号C1のフレーム3201の撮像画像を受信したことをトリガとして処理を開始してから画像処理終了までに8msの時間を費やしたとする。また撮像フレーム番号C2に対応した画像処理3302の場合、画像処理部207は、撮像フレーム番号C2のフレーム3202の撮像画像を受信したことをトリガとして処理を開始してから画像処理終了までに16msの時間を費やしたとする。同様に、撮像フレーム番号C3の撮像画像の画像処理には8msの時間が費やされたとする。
図5(d)は、出力制御部209からフレームの画像を出力する際の出力タイミング、つまり出力制御部209から出力される表示フレームのタイミングを示している。図中に記号で示すP1,P2,・・・は、連続する表示フレームを特定する番号(表示フレーム番号とする)を示している。図5(d)と図5(b)からわかるように、撮像部201からの撮像フレームレートと、出力制御部209からの表示フレームレートは同じではなく、表示フレームレートは59fps(つまり更新周期は17ms)であるとする。すなわち、出力制御部209は、17msごとに、次の表示フレーム番号の画像を出力する。
また図5(d)において、フレーム3401は表示フレーム番号P1の画像である。出力制御部209は、フレーム3401の出力開始タイミングの時、画像処理部207で画像処理3301が完了しているフレームを、表示フレームとして出力する。すなわち、表示フレーム番号P1の画像としては、撮像フレーム番号C1の画像に対して画像処理が行われた後の画像となる。
また図5(d)において、フレーム3402の画像は表示フレーム番号P2の画像である。ここで、フレーム3402の出力開始タイミングの際、画像処理部207で画像処理3301が完了しているのは、撮像フレーム番号C1のフレームである。この時、表示フレーム番号P2の画像としては、撮像フレーム番号C1の画像処理後の画像となる。すなわちフレーム3402の出力開始タイミングでは、画像処理部207による撮像フレーム番号C2の画像に対する画像処理3302は未だ完了していない。このため、出力制御部209は、画像処理部207で完了している画像処理3301の撮像フレーム番号C1のフレームを表示フレームとして再度出力し、HMD101の表示部202には同じ画像が表示されることになる。
このように、同じ画像が再度表示される場合、それは画像の遅延時間が動的に変化していることによって生じていると考えられる。例えば、表示フレーム番号P1として表示されている画像の場合、撮像から表示までの遅延時間は、露光時間3101の終了時点からフレーム3401の終了時点までを基準として考えると、47ms経過していることがわかる。また、表示フレーム番号P2として表示されている画像の場合、撮像から表示までの遅延時間は、露光時間3101の終了時点からフレーム3402の終了時点までを基準として考えると、64ms経過していることがわかる。
[遅延計測部の説明]
次に、遅延計測部206における遅延時間の計測処理の詳細を説明する。遅延計測部206は、画像処理部207の画像処理によって発生する遅延時間を計測する。
図6は、遅延計測部206における遅延時間計測処理の流れを示すフローチャートである。なお、これ以降の各フローチャートにおいて、符号のSは処理ステップを表しているとする。
次に、遅延計測部206における遅延時間の計測処理の詳細を説明する。遅延計測部206は、画像処理部207の画像処理によって発生する遅延時間を計測する。
図6は、遅延計測部206における遅延時間計測処理の流れを示すフローチャートである。なお、これ以降の各フローチャートにおいて、符号のSは処理ステップを表しているとする。
まずS701において、遅延計測部206は、撮像部201から時系列のフレーム単位で撮像画像が入力されるのを待つ。
撮像部201から撮像画像がフレーム単位で入力されると、遅延計測部206は、S702の処理として、それら撮像フレームごとにユニークに付与されている撮像フレーム番号CAを取得する。なお撮像フレーム番号CAは前述した撮像フレーム番号C1,C2,・・・に対応する。撮像フレーム番号CAは、撮像画像に埋め込まれていてもよいし、メタデータとして撮像フレームに紐付けられていてもよい。
撮像部201から撮像画像がフレーム単位で入力されると、遅延計測部206は、S702の処理として、それら撮像フレームごとにユニークに付与されている撮像フレーム番号CAを取得する。なお撮像フレーム番号CAは前述した撮像フレーム番号C1,C2,・・・に対応する。撮像フレーム番号CAは、撮像画像に埋め込まれていてもよいし、メタデータとして撮像フレームに紐付けられていてもよい。
S702において撮像フレーム番号を取得すると、遅延計測部206は、S703の処理として、時間計測を開始する。計測時間の計測単位は、遅延時間に基づく画像補正が行われた場合に違和感が生じない計測単位で行えばよい。
S703で時間計測を開始した後、遅延計測部206は、S704の処理として、出力制御部209から表示フレームの画像が入力されるのを待つ。
S703で時間計測を開始した後、遅延計測部206は、S704の処理として、出力制御部209から表示フレームの画像が入力されるのを待つ。
S704において表示フレームの画像が入力されると、遅延計測部206は、S705の処理として、その表示フレームに対応した撮像フレーム番号CMを取得する。なお、撮像フレーム番号CMは前述した撮像フレーム番号C1,C2,・・・に対応する。表示画像に撮像フレーム番号を埋め込む手法は前述同様に画像に埋め込む手法でもよいし、メタデータとして紐付ける手法でもよい。
次にS706の処理として、遅延計測部206は、S702で取得した撮像フレーム番号CAとS704で取得した撮像フレーム番号CMとが一致するか否かを判定する。そして、遅延計測部206は、それら撮像フレーム番号CAとCMとが一致しない場合、遅延計測部206は、それらは時間計測の対象フレームではないと判断し、S704に処理を戻して、再度表示フレームが入力されるのを待つ。一方、撮像フレーム番号CAとCMとが一致する場合、遅延計測部206は、それらは時間計測の対象フレームであると判断し、次のS707の処理に進む。
S707に進むと、遅延計測部206は、表示フレーム番号PNを表示フレームの画像から取得する。なお、表示フレーム番号PMは前述した表示フレーム番号P1,P2,・・・に対応する。表示フレーム番号は、撮像フレーム番号と同様の方法で表示画像に紐付けられていてもよいし、別の方法で紐付けられていてもよい。
S707の処理後、遅延計測部206は、S708の処理として、撮像フレーム番号CAのフレームを画像処理装置103に出力した時刻と、表示フレームPMが画像処理装置103からHMD101に入力した時刻との時間差を、時間の計測値として取得する。そして、遅延計測部206は、その時間の計測値を表示フレーム番号PNにおける計測遅延時間DNとして保持する。
S708の処理後、遅延計測部206は、S709の処理として、計測値が、予め時間閾値として決められている一定時間以上経過したか否かを判定する。遅延計測部206は、計測値が一定時間以上経過していないと判断した場合にはS04に処理を戻し、再度表示フレームが入力されるのを待つ。ここで、再度表示フレームが入力されるのを待つのは、画像処理部207での画像処理及び出力制御部209からの画像出力が遅延し、別の表示フレーム番号のフレームに対して同じ撮像フレーム番号が付与される場合があるためである。すなわち、遅延計測部206は、同じ撮像フレーム番号が連続する可能性がある間は時間計測を継続する。
そして、S709において計測値が一定時間以上経過したと判断した場合、遅延計測部206は、次のS710の処理として、遅延時間の計測処理を終了する。
そして、S709において計測値が一定時間以上経過したと判断した場合、遅延計測部206は、次のS710の処理として、遅延時間の計測処理を終了する。
続けて、図7を参照しながら、遅延計測部206で計測される遅延時間について具体的に説明する。図7は、図5と同様に撮像部201で撮像した画像を画像処理部207で処理した後、出力制御部209から画像が出力されるまでのタイミングチャートを示している。図7(a)~図7(d)は、それぞれ図5(a)~図5(d)と同様であるため説明を省略する。
図7において、遅延時間T6101は、撮像フレーム番号C1の撮像フレームが画像処理部207に入力され、表示フレーム番号P1の表示フレームとして出力制御部209から出力された時に、遅延計測部206で計測された遅延時間を示している。前述したように、遅延計測部206では、画像処理部207への撮像フレーム入力をトリガとして時間計測が開始され、出力制御部209からの表示フレーム出力をトリガとしてその計測値を保持する。図7に示しているように、遅延時間T6101は14msとなっている。
同様に、遅延時間T6102は、撮像フレーム番号C1の撮像フレームが画像処理部207に入力され、出力制御部209から表示フレーム番号P2の表示フレームの出力が開始される時に、遅延計測部206で計測された計測遅延時間を示している。すなわち表示フレーム番号P2の表示フレームでは、撮像フレーム番号C1が表示フレーム換算で2フレーム分連続出力されるため、その分の遅延時間が加算され、計測遅延時間の値は31msとなっている。
このように、遅延計測部206は、画像処理装置103への撮像画像の入力をトリガとして時間計測を開始し、画像処理装置103から表示画像が出力されたタイミングで時間計測を停止することで、画像の遅延時間を計測している。
[制御部の説明]
以下、制御部205における高精度な遅延時間の推定および画像の補正値の算出処理について説明する。
前述したように、制御部205は、センシング部203よりHMD101の動きを検出し、その動きの検出結果(センシングデータ)と遅延時間とを基に、その遅延時間分に相当する画像補正処理のための補正値を生成して補正部210に設定する。したがって、遅延時間が正確であればあるほど、補正部210での画像補正も正確に行われることになり、HMD101の使用者に対して違和感のない画像を提供可能となる。本実施形態の場合、制御部205において、HMD101の各機能部の設定値と、遅延計測部206による計測遅延時間とを基に、動的に変化する遅延時間を高精度に推定し、当該高精度推定した遅延時間を補正値の生成に用いる。
以下、制御部205における高精度な遅延時間の推定および画像の補正値の算出処理について説明する。
前述したように、制御部205は、センシング部203よりHMD101の動きを検出し、その動きの検出結果(センシングデータ)と遅延時間とを基に、その遅延時間分に相当する画像補正処理のための補正値を生成して補正部210に設定する。したがって、遅延時間が正確であればあるほど、補正部210での画像補正も正確に行われることになり、HMD101の使用者に対して違和感のない画像を提供可能となる。本実施形態の場合、制御部205において、HMD101の各機能部の設定値と、遅延計測部206による計測遅延時間とを基に、動的に変化する遅延時間を高精度に推定し、当該高精度推定した遅延時間を補正値の生成に用いる。
図8は、制御部205における高精度な遅延時間推定処理とそれを用いた補正値の生成処理の流れを示すフローチャートである。
まずS801において、制御部205は、表示フレーム番号の更新を待つ。表示フレーム番号の更新とは、出力制御部209から表示フレームが出力された時が該当する。制御部205は、表示フレーム番号の更新がなされたかどうかを、例えば、遅延計測部206から割り込み信号を受信すること、あるいは、制御部205に接続されたバスを経由して表示フレーム番号が更新されているかをポーリングすることなどにより判断する。
そして、表示フレーム番号が更新されると、制御部205は、S802の処理として、更新された表示フレーム番号PNを取得する。
まずS801において、制御部205は、表示フレーム番号の更新を待つ。表示フレーム番号の更新とは、出力制御部209から表示フレームが出力された時が該当する。制御部205は、表示フレーム番号の更新がなされたかどうかを、例えば、遅延計測部206から割り込み信号を受信すること、あるいは、制御部205に接続されたバスを経由して表示フレーム番号が更新されているかをポーリングすることなどにより判断する。
そして、表示フレーム番号が更新されると、制御部205は、S802の処理として、更新された表示フレーム番号PNを取得する。
表示フレーム番号PNを取得した後、制御部205は、S803の処理として、表示フレームの画像の基になっている撮像画像の撮像フレーム番号CMを取得する。
次いで制御部205は、S804の処理として、撮像フレーム番号CMの撮像画像が撮像された時の撮像部201の設定値として、シャッタースピードSMを取得する。なお、シャッタースピードSMの「M」は撮像フレーム番号C1,C2,・・・における数字の1,2,・・・に対応する。このとき、取得したいシャッタースピードSMの値は、過去に設定した値である。そのため、撮像フレーム番号CMにおけるシャッタースピードSMの値を取得する方法としては、撮像フレーム番号ごとに設定したシャッタースピードの値を履歴として保存しておき、その履歴からシャッタースピードSMの値を読み出す方法が考えられる。
次いで制御部205は、S804の処理として、撮像フレーム番号CMの撮像画像が撮像された時の撮像部201の設定値として、シャッタースピードSMを取得する。なお、シャッタースピードSMの「M」は撮像フレーム番号C1,C2,・・・における数字の1,2,・・・に対応する。このとき、取得したいシャッタースピードSMの値は、過去に設定した値である。そのため、撮像フレーム番号CMにおけるシャッタースピードSMの値を取得する方法としては、撮像フレーム番号ごとに設定したシャッタースピードの値を履歴として保存しておき、その履歴からシャッタースピードSMの値を読み出す方法が考えられる。
次に制御部205は、S805の処理として、S804で取得したシャッタースピードSMから、シャッタースピードの動的な変化によって生じる遅延時間TMを計算する。なお、遅延時間TMの「M」は、前述同様に撮像フレーム番号C1,C2,・・・における数字の1,2,・・・に対応する。遅延時間TMは、シャッタースピードSMと撮像時のフレームレートより求めることができる。例えば、図5の露光時間3102~フレーム3202の間に生じる遅延時間T1は、フレームレート60fps(更新周期16mss)、シャッタースピード1/120秒(露光時間8ms)であるため、T1=16-8=8msとなる。
次に制御部205は、S806の処理として、当該画像表示システムにおける固定遅延時間Fを求める。本実施形態の場合、撮像画像の更新周期は16ms、表示画像の更新周期は17msであるため、システムの固定遅延時間Fは、F=16+17=33msとなる。
次に制御部205は、S807の処理として、遅延計測部206が計測した、表示フレーム番号PNにおける計測遅延時間DNを読み出す。
次に制御部205は、S807の処理として、遅延計測部206が計測した、表示フレーム番号PNにおける計測遅延時間DNを読み出す。
次に制御部205は、S808の処理として、それら遅延時間TM、固定遅延時間F、および計測遅延時間DNの値を基に、遅延時間ZNを取得する。すなわち遅延時間ZNは、制御部205における高精度推定による遅延時間である。なおここでは設定値としてシャッタースピードを例に挙げているが、他の設定値を用いてもよい。すなわち制御部205は、当該HMD101の各設定値の少なくとも一つと遅延計測部206の計測遅延時間とを基に高精度推定による遅延時間ZNを算出してもよい。
また制御部205は、S809の処理として、センシング部203によるセンシングデータとして、HMD101の動作情報Vを取得する。
そして制御部205は、S810の処理として、その動作情報Vと高精度推定による遅延時間ZNとを用いて、画像補正に用いられる補正値Uを算出する。
その後、制御部205は、S811の処理として、S810で算出した画像補正値Uを、補正部210へと設定する。
そして制御部205は、S810の処理として、その動作情報Vと高精度推定による遅延時間ZNとを用いて、画像補正に用いられる補正値Uを算出する。
その後、制御部205は、S811の処理として、S810で算出した画像補正値Uを、補正部210へと設定する。
この図8のフローチャートに示したような流れにより、制御部205は、画像の遅延時間が動的に変化するような場合においても正確で高精度な遅延時間を推定することができ、これによって補正部210では正確な画像補正を実行することが可能となる。
[第1の実施形態における効果の説明]
第1の実施形態における遅延時間の高精度推定と画像補正処理による効果について図9を参照して説明する。図9は、図5のタイミングチャートで説明した表示フレーム番号P1~P7までの各表示フレームの画像を表示部202に表示する場合に、本実施形態に係る高精度推定による遅延時間を用いた画像補正と、前述した非高精度推定時の画像補正とを表した図である。
第1の実施形態における遅延時間の高精度推定と画像補正処理による効果について図9を参照して説明する。図9は、図5のタイミングチャートで説明した表示フレーム番号P1~P7までの各表示フレームの画像を表示部202に表示する場合に、本実施形態に係る高精度推定による遅延時間を用いた画像補正と、前述した非高精度推定時の画像補正とを表した図である。
図9において、項目(a)は、画像処理装置103より出力される表示画像の表示フレーム番号を示している。例えば表示フレーム番号P1は、図5のフレーム3401のフレームを示している。
項目(b)は、表示画像に用いられた撮像画像の撮像フレーム番号を示している。項目(a)の表示フレーム番号P2と項目(b)の撮像フレーム番号C1とで示される列は、図5のフレーム3402の場合を示している。
項目(c)は、実際に発生している遅延時間を示している。前述したように、撮像画像を画像処理して表示するような画像表示システムにおいては、画像の遅延時間が動的に変化しており、項目(c)は各表示フレーム番号にそれぞれ対応した実際の遅延時間を示している。
項目(b)は、表示画像に用いられた撮像画像の撮像フレーム番号を示している。項目(a)の表示フレーム番号P2と項目(b)の撮像フレーム番号C1とで示される列は、図5のフレーム3402の場合を示している。
項目(c)は、実際に発生している遅延時間を示している。前述したように、撮像画像を画像処理して表示するような画像表示システムにおいては、画像の遅延時間が動的に変化しており、項目(c)は各表示フレーム番号にそれぞれ対応した実際の遅延時間を示している。
項目(d)は、撮像部201に設定されたシャッタースピードによる遅延時間TMを示している。遅延時間TMの算出については、本実施形態では図8のS805の処理が行われるものとすると、図5より、撮像フレーム番号C1はシャッタースピードが1/60秒であるため、遅延時間T1=0msとなる。また、撮像フレーム番号C3はシャッタースピードが1/180秒であるため、遅延時間T3=11msとなる。
項目(e)は、遅延計測部206による計測遅延時間DNを示している。図7を用いて説明した通り、表示フレーム番号P1の場合は計測遅延時間D1=14msとなり、表示フレーム番号P2の場合は計測遅延時間D2=31msとなっている。
項目(f)は、画像表示システムにおける固定遅延時間を示しており、本実施形態の場合、撮像画像の更新周期が16ms、表示画像の更新周期が17msであるため、システムの固定遅延時間Fは、F=16+17=33msとなる。撮像画像や表示画像のフレームレートが異なる場合は固定遅延時間Fやシャッタースピードによる遅延時間TMの計算値も変化するということは言うまでもない。
項目(f)は、画像表示システムにおける固定遅延時間を示しており、本実施形態の場合、撮像画像の更新周期が16ms、表示画像の更新周期が17msであるため、システムの固定遅延時間Fは、F=16+17=33msとなる。撮像画像や表示画像のフレームレートが異なる場合は固定遅延時間Fやシャッタースピードによる遅延時間TMの計算値も変化するということは言うまでもない。
項目(g)は、本実施形態における高精度推定による遅延時間を示している。画像補正のための補正値は当該高精度推定による遅延時間と前述した動作情報Vとを基に算出され、補正部210では当該補正値を基に画像補正が行われる。本実施形態した例の場合、高精度推定による遅延時間は、シャッタースピードによる遅延時間TMと遅延計測部206による計測遅延時間DNとシステムの固定遅延時間Fとの合計値である。
項目(h)は、本実施形態における高精度推定による遅延時間を用いて算出された補正値を基に画像補正を行った場合の補正誤差を示している。補正誤差は、項目(c)の実際の遅延時間と項目(g)の遅延時間との差であり、この項目(c)の各値から判るように補正誤差は0msであり、補正誤差は生じていない。
項目(h)は、本実施形態における高精度推定による遅延時間を用いて算出された補正値を基に画像補正を行った場合の補正誤差を示している。補正誤差は、項目(c)の実際の遅延時間と項目(g)の遅延時間との差であり、この項目(c)の各値から判るように補正誤差は0msであり、補正誤差は生じていない。
項目(i)は、前述した非高精度推定時に算出された補正値を基に換算した遅延時間を示している。すなわち非高精度推定時の補正値を算出する際には、前述した項目(d)のシャッタースピードによる遅延時間TMや項目(e)の遅延計測部による計測遅延時間DNについては考慮されていない。非高精度推定時の補正値を算出する際には、遅延時間の例えば平均値(図9の例では46ms)に対応するような補正値が取得されており、その補正値に基づく画像補正処理が行われる。なおそれに加えて、撮像フレーム番号が同一で表示フレーム番号が異なる場合は、さらに表示画像の更新周期17msを加えた値を基に補正値が求められる。
項目(j)は、前述した非高精度推定時の補正値を基に画像補正が行われた場合の補正誤差を示している。この項目(j)に示すように、補正誤差は、項目(c)に示した実際の遅延時間と項目(i)に示した遅延時間との差分となる。例えば、表示フレーム番号P1やP2では補正誤差は1msであるが、表示フレーム番号P3では補正誤差が14msのように大きくなってしまっている。
項目(j)は、前述した非高精度推定時の補正値を基に画像補正が行われた場合の補正誤差を示している。この項目(j)に示すように、補正誤差は、項目(c)に示した実際の遅延時間と項目(i)に示した遅延時間との差分となる。例えば、表示フレーム番号P1やP2では補正誤差は1msであるが、表示フレーム番号P3では補正誤差が14msのように大きくなってしまっている。
このように、前述した非高精度推定では、本実施形態の高精度推定のような正確な遅延時間の推定がなされていないため、項目(j)に示すように、補正誤差が大きくなることがあり、画像補正を適切に行うことができなくなることがある。
これに対し、本実施形態に係る高精度推定を行った場合、正確な遅延時間を取得することが可能となり、項目(h)に示す通り、補正誤差は小さくなり、画像補正を適切に行うことができる。
これに対し、本実施形態に係る高精度推定を行った場合、正確な遅延時間を取得することが可能となり、項目(h)に示す通り、補正誤差は小さくなり、画像補正を適切に行うことができる。
<第2の実施形態>
次に、第2の実施形態について説明する。
前述した第1の実施形態では、HMD101から画像処理装置103へ撮像画像を送信し、画像処理装置103では撮像画像にCG画像を重畳した合成画像を使用者への提示用の画像として生成してHMD101へ送信する構成を説明した。第2の実施形態では、HMD101から画像処理装置103へ撮像画像を送信せず、画像処理装置103は描画用のCG画像のみを生成する画像処理を行い、HMD101側において表示する直前に撮像画像とCG画像とを合成する構成について説明する。第2の実施形態の場合、撮像部201にて撮像された撮像画像と画像処理装置103で生成されたCG画像とに対してそれぞれ画像補正処理が行われる。そして、それら画像補正処理後の撮像画像とCG画像とを合成し、その合成画像を表示部202に表示する。
次に、第2の実施形態について説明する。
前述した第1の実施形態では、HMD101から画像処理装置103へ撮像画像を送信し、画像処理装置103では撮像画像にCG画像を重畳した合成画像を使用者への提示用の画像として生成してHMD101へ送信する構成を説明した。第2の実施形態では、HMD101から画像処理装置103へ撮像画像を送信せず、画像処理装置103は描画用のCG画像のみを生成する画像処理を行い、HMD101側において表示する直前に撮像画像とCG画像とを合成する構成について説明する。第2の実施形態の場合、撮像部201にて撮像された撮像画像と画像処理装置103で生成されたCG画像とに対してそれぞれ画像補正処理が行われる。そして、それら画像補正処理後の撮像画像とCG画像とを合成し、その合成画像を表示部202に表示する。
図10は、第2の実施形態の画像表示システムにおける各機能構成を示した機能ブロック図である。
HMD101は、図2と同様に、撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、および遅延計測部206を有している。これら撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、および遅延計測部206は第1の実施形態同様に動作するためその説明は省略する。
HMD101は、図2と同様に、撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、および遅延計測部206を有している。これら撮像部201、表示部202、空間情報取得部204、センシング部203、制御部205、および遅延計測部206は第1の実施形態同様に動作するためその説明は省略する。
画像処理装置103は、画像処理部207、コンテンツDB208、および出力制御部209を有して構成されている。第2の実施形態の場合、画像処理部207はHMD101からの空間情報を基に、コンテンツDB208のCGデータからCG画像を生成し、出力制御部209は画像処理部207にて生成されたCG画像をHMD101に出力する際の出力制御を行う。
すなわち第2の実施形態の場合、画像処理装置103では画像処理部207によってCG画像を生成する画像処理のみを行い、HMD101では画像処理装置103からのCG画像を撮像部201からの撮像画像に合成して表示部202に表示する。したがって、合成される前の撮像画像とCG画像とでは遅延時間が異なる。
このため、第2の実施形態の場合、HMD101は、撮像画像補正部1011、CG画像補正部1012、および合成部1013を有している。撮像画像補正部1011は、前述同様にして制御部205が高精度推定した遅延時間を基に算出した補正値を用いて、撮像部201からの撮像画像に対して時間遅延分を補正する画像補正処理を行う。CG画像補正部1012は、同様に補正値を用いて、画像処理装置103からのCG画像に対して遅延時間分を補正する画像補正処理を行う。合成部1013はそれら画像補正処理後の撮像画像とCG画像とを合成し、表示部202はその合成画像を表示する。なお、撮像画像とCG画像の合成手法としては、例えばクロマキー合成やCG画像以外を透明としたαブレンディングなどの手法を用いることができる。合成手法は、それらの手法に限定されず、画像を合成することができれば他の手法が用いられてもよい。
第2の実施形態によれば、撮像画像とCG画像とでそれぞれ遅延時間が異なる場合においても、適切な画像補正が可能となり、HMD101の使用者に対して違和感のない画像を提供することができる。
前述した実施形態では、画像形成素子として液晶や有機EL等を用い、その画像形成素子にて形成(表示)された画像の光を接眼光学系に入射し、虚像として拡大投影して観察者の眼に導く例を挙げた。この他に、例えばいわゆるマックスウェル視の原理を利用し、観察者に提示するために形成された画像に応じた光を、当該観察者の眼の瞳孔中心で収束させてから網膜上に投影するような光学系を有する構成にも、本実施形態は適用可能である。つまり本実施形態における表示とは、マックスウェル視の原理を利用して、観察者に提示するために形成された画像に応じた光を、当該観察者の眼の瞳孔中心で収束させてから網膜上に投影する場合をも含む。この例としては、観察者に提示するために形成された画像の画像信号に応じて強度変調した光束をラスタ走査しつつ、観察者の眼の瞳孔中心で収束させてから網膜上に投影する光学系を備えた、いわゆる網膜走査型を挙げることができる。更に他の例として、点光源光を平行光線とし、その平行光線を観察者に提示する画像を基に空間光変調した後、レンズとピンホールで構成された再回析光学系に通し、さらにその平行光線を集光して観察者の瞳孔中心に導く光学系を有する構成にも適用可能である。これらのマックスウェル視の原理を利用する光学系はあくまで一例であり、本実施形態はそれら以外の各種光学系を有する画像表示装置であってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、上述の実施形態では、MRを表示する画像表示装置を示したが、ARを表示する画像表示装置やVRを表示する画像表示装置に対して本発明を適用することができる。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、上述の実施形態では、MRを表示する画像表示装置を示したが、ARを表示する画像表示装置やVRを表示する画像表示装置に対して本発明を適用することができる。
101:HMD、103:画像処理装置、201:撮像部、202:表示部、205:制御部、206:遅延計測部、210:補正部、1011:撮像画像補正部、1012:CG画像補正部、1013:合成部
Claims (15)
- 現実空間における画像表示装置の動きを検出する検出手段と、
画像表示の第1の遅延時間を計測する計測手段と、
画像に対して補正処理を行う補正手段と、
前記計測された第1の遅延時間と前記画像表示装置の動作に関連する設定値とを基に第2の遅延時間を推定し、前記推定した第2の遅延時間と、前記検出手段にて検出された前記動きとを基に、前記補正手段を制御する制御手段と、
を有することを特徴とする画像表示装置。 - 前記制御手段は、前記推定した第2の遅延時間と前記検出された動きとを基に、前記補正手段が前記補正処理に用いる補正値を生成することを特徴とする請求項1に記載の画像表示装置。
- 前記画像表示装置が存在している現実空間を撮像した撮像画像を取得する取得手段と、
前記画像表示装置が存在している現実空間に関する空間情報を取得する情報取得手段と、を有し、
前記画像表示までには、前記空間情報に応じた画像を生成する処理と、前記生成した画像を前記撮像画像に重畳する合成処理とが行われ、
前記補正手段は、前記合成処理による合成画像に対して前記補正値に応じた前記補正処理を行い、
前記補正手段からの出力画像を表示することを特徴とする請求項2に記載の画像表示装置。 - 前記画像表示装置が存在している現実空間を撮像した撮像画像を取得する取得手段と、
前記画像表示装置が存在している現実空間に関する空間情報を取得する情報取得手段と、を有し、
前記画像表示までには、前記空間情報に応じた画像を生成する処理が行われ、
前記補正手段は、前記生成された画像と前記撮像画像とに対して前記補正値に応じた前記補正処理を行い、
前記補正処理がなされた後の、前記撮像画像と前記生成された画像とを合成した合成画像を表示することを特徴とする請求項2に記載の画像表示装置。 - 前記補正手段は、前記補正処理として、前記補正値に応じて、画像の水平移動、垂直移動、拡大、縮小、回転、台形補正、射影変換の、少なくともいずれかを行うことを特徴とする請求項3または4に記載の画像表示装置。
- 前記画像表示装置の動作に関連する設定値は、前記撮像に関する設定値と、前記表示に関する設定値と、前記画像表示装置の動きの検出に関する設定値と、前記空間情報の取得に関する設定値との、少なくともいずれかを含むことを特徴とする請求項3乃至5のいずれか1項に記載の画像表示装置。
- 前記撮像に関する設定値はシャッタースピードとフレームレートとの少なくともいずれかを含み、
前記表示に関する設定値はフレームごとに表示する際の更新レートであり、
前記画像表示装置の動きの検出に関する設定値は前記動きを検出する際の更新レートであり、
前記空間情報の取得に関する設定値は前記空間情報を取得する際の更新レートであることを特徴とする請求項6に記載の画像表示装置。 - 前記表示する際の更新レートと、前記画像表示装置の動きを検出する際の更新レートと、前記空間情報を取得する際の更新レートとの、少なくともいずれかは、他の更新レートとは異なることを特徴とする請求項7に記載の画像表示装置。
- 前記制御手段は、前記設定値の制御および保持を行うことを特徴とする請求項5乃至8のいずれか1項に記載の画像表示装置。
- 前記空間情報に応じて画像を生成する処理は、コンピュータグラフィックスデータを用いてコンピュータグラフィックス画像を生成する処理であることを特徴とする請求項3乃至9のいずれか1項に記載の画像表示装置。
- 前記検出手段は、IMU(Inertial Measurement Unit)により画像表示装置の動きを検出することを特徴とする請求項1乃至10のいずれか1項に記載の画像表示装置。
- 前記計測手段は、所定の画像処理の開始をトリガとして前記第1の遅延時間の計測を開始し、前記画像処理が行われた後の画像の出力をトリガとして、前記第1の遅延時間の計測を終了することを特徴とする請求項1乃至11のいずれか1項に記載の画像表示装置。
- 頭部装着型の画像表示装置であることを特徴とする請求項1乃至12のいずれか1項に記載の画像表示装置。
- 現実空間における画像表示装置の動きを検出する検出工程と、
画像表示の第1の遅延時間を計測する計測工程と、
画像に対して補正処理を行う補正工程と、
前記計測された第1の遅延時間と前記画像表示装置の動作に関連する設定値とを基に第2の遅延時間を推定し、前記推定した第2の遅延時間と、前記検出手段にて検出された前記動きとを基に、前記補正工程における前記補正処理を制御する制御工程と、
を有することを特徴とする画像表示方法。 - コンピュータを請求項1乃至13のいずれか1項に記載の画像表示装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022037325A JP2023132157A (ja) | 2022-03-10 | 2022-03-10 | 画像表示装置、画像表示方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022037325A JP2023132157A (ja) | 2022-03-10 | 2022-03-10 | 画像表示装置、画像表示方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023132157A true JP2023132157A (ja) | 2023-09-22 |
Family
ID=88065626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022037325A Pending JP2023132157A (ja) | 2022-03-10 | 2022-03-10 | 画像表示装置、画像表示方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023132157A (ja) |
-
2022
- 2022-03-10 JP JP2022037325A patent/JP2023132157A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8233011B2 (en) | Head mounted display and control method therefor | |
JP5113426B2 (ja) | 頭部装着型表示装置、及びその制御方法 | |
RU2638776C1 (ru) | Устройство генерирования изображения и способ | |
JP4725595B2 (ja) | 映像処理装置、映像処理方法、プログラム及び記録媒体 | |
JP4857885B2 (ja) | 表示装置 | |
JP2015231106A (ja) | ヘッドマウントディスプレイ装置及びヘッドマウントディスプレイシステム | |
JP2007052304A (ja) | 映像表示システム | |
JP2011064894A (ja) | 立体画像表示装置 | |
JP6349660B2 (ja) | 画像表示装置、画像表示方法、および画像表示プログラム | |
WO2020071029A1 (ja) | 情報処理装置、情報処理方法、及び記録媒体 | |
JP4580678B2 (ja) | 注視点位置表示装置 | |
JP7134060B2 (ja) | 画像生成装置および画像生成方法 | |
JP2011010126A (ja) | 画像処理装置、画像処理方法 | |
JP2020003898A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6949475B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP6963399B2 (ja) | プログラム、記録媒体、画像生成装置、画像生成方法 | |
US11443719B2 (en) | Information processing apparatus and information processing method | |
JP2019095916A (ja) | 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム | |
KR101947372B1 (ko) | Hmd에 위치 보정 영상을 제공하는 방법 및 hmd에 위치 보정 영상을 표시하는 방법, 그리고 이를 이용한 위치 보정 영상을 표시하는 hmd | |
JP2020136857A (ja) | 同期制御装置、同期制御方法、及びプログラム | |
JP2023132157A (ja) | 画像表示装置、画像表示方法、及びプログラム | |
JP2024013947A (ja) | 撮像装置、撮像装置の撮像方法およびプログラム | |
JP2006287813A (ja) | 3次元画像表示装置 | |
JP2009006968A (ja) | 車両用表示装置 | |
WO2019073925A1 (ja) | 画像生成装置および画像生成方法 |