(57)【要約】【課題】  表示画像の描画が間に合わないようなケースであっても、該表示画像を観察する観察者の映像酔いを軽減させるための技術を提供すること。【解決手段】  フレーム画像と、該フレーム画像の１フレーム過去のフレーム画像である直前フレーム画像と、の類似度が規定値以上であるか否かを判断する。判断結果に応じてフレーム画像を補正した補正フレーム画像を生成する。フレーム画像、補正フレーム画像のうち判断結果に応じた一方を表示画像として表示画面に表示させる。【選択図】  図１
2019184830.tif 000002
【特許請求の範囲】
【請求項１】
画像表示装置であって、
フレーム画像と、該フレーム画像の１フレーム過去のフレーム画像である直前フレーム画像と、の類似度が規定値以上であるか否かを判断する判断手段と、
前記判断手段による判断結果に応じて前記フレーム画像を補正した補正フレーム画像を生成する生成手段と、
前記フレーム画像、前記補正フレーム画像、のうち前記判断手段の判断結果に応じた一方を表示画像として前記画像表示装置の表示画面に表示させる表示制御手段と
を備えることを特徴とする画像表示装置。
【請求項２】
前記判断手段は、
前記フレーム画像と前記直前フレーム画像との類似度が規定値以上であればカウント値を１つインクリメントし、
前記フレーム画像と前記直前フレーム画像との類似度が規定値未満であれば、前記カウント値に、前記直前フレーム画像まで連続して類似度が規定値以上であると判断された連続回数を設定し、
前記カウント値が０ではない場合には、前記生成手段は、前記フレーム画像の各画素を前記カウント値に応じたシフト量だけシフトした補正フレーム画像を生成し、前記表示制御手段は、該補正フレーム画像を表示画像として前記表示画面に表示し、
前記カウント値が０である場合には、前記表示制御手段は、前記フレーム画像を表示画像として前記表示画面に表示する
ことを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記生成手段は、前記カウント値が０ではない場合には、前記画像表示装置の姿勢変化量の履歴において、最近の姿勢変化量から前記カウント値に応じた数の過去の姿勢変化量を積分した積分値を求め、該積分値に基づいて前記シフト量を求めることを特徴とする請求項２に記載の画像表示装置。
【請求項４】
前記画像表示装置は更に、前記画像表示装置の移動に応じて拡大／縮小率を求め、該求めた拡大／縮小率に応じて前記表示画像の拡大／縮小を行う手段を備えることを特徴とする請求項１乃至３の何れか１項に記載の画像表示装置。
【請求項５】
前記画像表示装置は更に、現実空間を撮像する撮像手段を備え、
前記フレーム画像は、前記画像表示装置の位置姿勢に基づいて生成された仮想空間画像と前記撮像手段による撮像画像との合成画像であることを特徴とする請求項１乃至４の何れか１項に記載の画像表示装置。
【請求項６】
前記フレーム画像は、前記画像表示装置の位置姿勢に基づいて生成された仮想空間画像であることを特徴とする請求項１乃至４の何れか１項に記載の画像表示装置。
【請求項７】
前記生成手段は、撮像画像の撮像時と、該撮像画像に基づいて生成される前記フレーム画像の受信時と、の間の前記画像表示装置の姿勢変化量に基づいて前記フレーム画像の各画素をシフトすることを特徴とする請求項１乃至６の何れか１項に記載の画像表示装置。
【請求項８】
画像表示装置であって、
外部装置から送信されるフレーム画像のうち補正対象のフレーム画像を、該外部装置におけるフレーム画像の描画レートに基づいて決定する決定手段と、
前記描画レートに応じて前記補正対象のフレーム画像を補正した補正フレーム画像を生成する生成手段と、
前記外部装置から送信されるフレーム画像のうち前記補正対象ではないフレーム画像、前記補正フレーム画像、を表示画像として前記画像表示装置の表示画面に表示させる表示制御手段と
を備えることを特徴とする画像表示装置。
【請求項９】
前記表示制御手段は、前記表示画像における一部を表示することを特徴とする請求項１乃至８の何れか１項に記載の画像表示装置。
【請求項１０】
前記画像表示装置は、頭部装着型表示装置であることを特徴とする請求項１乃至９の何れか１項に記載の画像表示装置。
【請求項１１】
画像表示装置が行う画像表示方法であって、
前記画像表示装置の判断手段が、フレーム画像と、該フレーム画像の１フレーム過去のフレーム画像である直前フレーム画像と、の類似度が規定値以上であるか否かを判断する判断工程と、
前記画像表示装置の生成手段が、前記判断工程による判断結果に応じて前記フレーム画像を補正した補正フレーム画像を生成する生成工程と、
前記画像表示装置の表示制御手段が、前記フレーム画像、前記補正フレーム画像、のうち前記判断工程の判断結果に応じた一方を表示画像として前記画像表示装置の表示画面に表示させる表示制御工程と
を備えることを特徴とする画像表示方法。
【請求項１２】
画像表示装置が行う画像表示方法であって、
前記画像表示装置の決定手段が、外部装置から送信されるフレーム画像のうち補正対象のフレーム画像を、該外部装置におけるフレーム画像の描画レートに基づいて決定する決定工程と、
前記画像表示装置の生成手段が、前記描画レートに応じて前記補正対象のフレーム画像を補正した補正フレーム画像を生成する生成工程と、
前記画像表示装置の表示制御手段が、前記外部装置から送信されるフレーム画像のうち前記補正対象ではないフレーム画像、前記補正フレーム画像、を表示画像として前記画像表示装置の表示画面に表示させる表示制御工程と
を備えることを特徴とする画像表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像表示技術に関するものである。
【背景技術】
【０００２】
近年、現実世界と仮想世界とをリアルタイム且つシームレスに融合させる技術として複合現実感、いわゆるＭＲ（Ｍｉｘｅｄ Ｒｅａｌｉｔｙ）技術が知られている。ＭＲ技術の１つに、次のような技術が知られている。ビデオシースルー型ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）を利用して、ＨＭＤ使用者の瞳位置から観察される被写体と略一致する被写体をビデオカメラ等で撮像する。そして、該撮像により得られる撮像画像にＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像を重畳した画像をＨＭＤ使用者に提供する。
【０００３】
ビデオシースルー型ＨＭＤは、ＣＣＤ等の電荷結合素子により被写体を撮像して該被写体の撮像画像を取得し、該撮像画像にＣＧ画像を重畳したＭＲ画像（複合現実画像）を液晶や有機ＥＬ等の表示デバイスを介してＨＭＤ使用者に提示する構成になっている。
【０００４】
また、ＨＭＤの他に外部装置があり、ＨＭＤで撮像した撮像画像をＨＭＤから外部装置に送信する。外部装置では、ＨＭＤから受信した撮像画像からＨＭＤの位置姿勢を計算し、この計算結果を元に撮像画像に対してＣＧ画像を重畳した重畳画像を生成し、該重畳画像をＨＭＤへ送信する。ＨＭＤでは、外部装置から受信した重畳画像を表示する。ＨＭＤ使用者はＨＭＤを自身の頭部に装着することでＭＲ空間を体験することが可能となる。特許文献１には、ＨＭＤ使用者の頭部の位置姿勢により表示する画像を補正して表示する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２３１１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１には、ＨＭＤ使用者の頭部の位置姿勢により表示する画像を補正して表示することで、システムの遅延量を低減させ、映像酔いを低減できると記載されている。しかしこの技術では、表示画像の描画処理が間に合わないことによって表示画像の更新レートが変動するような場合は、映像酔いを感じることがあった。本発明では、表示画像の描画が間に合わないようなケースであっても、該表示画像を観察する観察者の映像酔いを軽減させるための技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、画像表示装置であって、フレーム画像と、該フレーム画像の１フレーム過去のフレーム画像である直前フレーム画像と、の類似度が規定値以上であるか否かを判断する判断手段と、前記判断手段による判断結果に応じて前記フレーム画像を補正した補正フレーム画像を生成する生成手段と、前記フレーム画像、前記補正フレーム画像、のうち前記判断手段の判断結果に応じた一方を表示画像として前記画像表示装置の表示画面に表示させる表示制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明の構成によれば、表示画像の描画が間に合わないようなケースであっても、該表示画像を観察する観察者の映像酔いを軽減させることができる。
【図面の簡単な説明】
【０００９】
【図１】システムの構成例を示す図。
【図２】ＨＭＤ１１０１、画像処理装置１１０３の機能構成例を示すブロック図。
【図３】画像処理部１２０５の機能構成例を示すブロック図。
【図４】第１の実施形態を説明する図。
【図５】画像処理部１２０５の動作を説明する図。
【図６】図５とは異なる他のケースについて説明する図。
【図７】合成画像同士の類似度を求める方法を説明する図。
【図８】積分値からシフト量を求めるための方法を説明する図。
【図９】ＨＭＤ１１０１が行う処理のフローチャート。
【図１０】ステップＳ１９０６における処理の詳細を示すフローチャート。
【図１１】ＨＭＤ１１０１、画像処理装置１１０３の機能構成例を示すブロック図。
【図１２】画像処理部１２０５の機能構成例を示すブロック図。
【図１３】計算部１３０３の動作例を示す図。
【図１４】ＨＭＤ１１０１が行う処理のフローチャート。
【図１５】画像処理装置１１０３、ＨＭＤ１１０１の機能構成例を示すブロック図。
【図１６】フレームレート「６０Ｈｚ」に対応するテーブルの構成例を示す図。
【図１７】計算後描画更新レートを決定するための通信シーケンスを示す図。
【図１８】合成画像の補正処理を示す図。
【図１９】ＨＭＤ１１０１が行う処理のフローチャート。
【図２０】画像処理部１２０５の機能構成例を示すブロック図。
【図２１】画像処理部１２０５の動作を説明する図。
【図２２】ＨＭＤ１１０１が行う処理のフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１１】
［第１の実施形態］
本実施形態では、現実空間の画像と仮想空間の画像との合成画像（複合現実空間の画像）を頭部装着型表示装置に提示するシステムについて説明する。本実施形態に係るシステムは、合成画像の生成や該合成画像の頭部装着型表示装置への送信の遅延に起因する頭部装着型表示装置における合成画像の表示の更新レートの変動を軽減させるものである。
【００１２】
先ず、本実施形態に係るシステムの構成例について、図１を用いて説明する。図１に示す如く、本実施形態に係るシステムは、ＨＭＤ１１０１、表示装置１１０２、画像処理装置１１０３、操作装置１１０４、を有する。そしてＨＭＤ１１０１と画像処理装置１１０３とは、無線及び／又は有線のネットワークを介して互いにデータ通信が可能なように構成されている。ＨＭＤ１１０１と画像処理装置１１０３との間の無線ネットワークには、例えば、ＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＰＡＮ（Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を適用することができる。なお、ＨＭＤ１１０１及び画像処理装置１１０３は、１つ以上の通信機器を介して互いにデータ通信を行うようにしても良い。また画像処理装置１１０３には、表示装置１１０２及び操作装置１１０４が接続されている。
【００１３】
本実施形態では、ＨＭＤ１１０１を頭部装着型表示装置の一例として使用したケースについて説明するが、ＨＭＤ１１０１以外の頭部装着型表示装置を用いても構わない。また、頭部装着型表示装置に限らず、ハンドヘルド型の表示装置など、他の種類の画像表示装置を用いても良い。
【００１４】
次に、ＨＭＤ１１０１及び画像処理装置１１０３のそれぞれの機能構成例について、図２のブロック図を用いて説明する。先ずＨＭＤ１１０１について説明する。撮像部１２０２は、現実空間の動画像を撮像し、撮像した動画像の各フレームの画像（現実空間の撮像画像）を順次、通信部１２０４を介して外部装置である画像処理装置１１０３に対して送信すると共に、算出部１２０８にも出力する。撮像部１２０２は、例えば、ＨＭＤ１１０１を頭部に装着したユーザ（以下、ＨＭＤユーザと称する場合がある）の眼の近傍に位置するようにＨＭＤ１１０１に取り付けられる。
【００１５】
姿勢センサ部１２０３は、ジャイロセンサ等のセンサである。姿勢センサ部１２０３は、「自身の姿勢を表す姿勢情報（例えばクオータ二オン）」、「自身の位置姿勢を基準とするローカル座標系を構成する各軸（Ｘ軸、Ｙ軸、Ｚ軸）周りの自身の角速度」、を測定する。以下では姿勢センサ部１２０３が測定した姿勢情報、角速度をそれぞれ、ＨＭＤ１１０１の姿勢情報、角速度と称する場合がある。
【００１６】
なお、姿勢センサ部１２０３が測定するものは自身の姿勢情報、角速度の全てに限らず、このうち１つ以上であっても良いし、これらに代えて若しくは加えて自身の位置など自身に係る他の情報を測定するようにしても良い。
【００１７】
算出部１２０８は、撮像部１２０２による撮像画像及び姿勢センサ部１２０３による姿勢情報を取得する。そして算出部１２０８は、該取得した撮像画像から該撮像画像を撮像したときの撮像部１２０２の位置を算出する。撮像画像から該撮像画像を撮像した撮像装置の位置を算出するための技術は周知であり、本実施形態では如何なる技術を採用してもよい。例えば、現実空間において位置が既知の特徴（現実物体のエッジや角など）の現実空間における３次元位置と、撮像画像中の該特徴の画像座標（２次元座標）と、に基づいて、該撮像画像を撮像した撮像装置の位置を算出する技術を採用してもよい。また、撮像装置の位置を、該撮像装置若しくは該撮像装置を有する頭部装着型表示装置に取り付けられている位置センサによる計測値に基づいて取得するようにしてもよいし、ＧＰＳを用いて撮像装置の位置を取得してもよい。つまり、算出部１２０８は、撮像画像を撮像したときの撮像部１２０２の位置を取得することができるのであれば、如何なる技術を適用してもよい。また算出部１２０８は、該取得した姿勢情報が表す姿勢センサ部１２０３の姿勢を、撮像部１２０２と姿勢センサ部１２０３との間の相対的な姿勢関係を用いて変換する。なお、撮像部１２０２と姿勢センサ部１２０３との間の相対的な姿勢関係は、既知の情報であり、ＨＭＤ１１０１内のメモリ（例えば制御部１２０７が有するメモリ）に予め登録されている。この変換により、撮像部１２０２の姿勢を求めることができる。なお、撮像部１２０２の姿勢を取得するための構成についても特定の構成に限らず、例えば、撮像画像から該撮像画像を撮像したときの撮像部１２０２の姿勢を上記の既知の方法でもって求めるようにしても良い。そして算出部１２０８は、求めた撮像部１２０２の位置及び姿勢（位置姿勢）を通信部１２０４を介して画像処理装置１１０３に対して送信する。表示部１２０６は、ＨＭＤユーザの眼前に位置するようにＨＭＤ１１０１に取り付けられており、画像処理部１２０５から出力された画像や文字を表示する。
【００１８】
画像処理部１２０５は、通信部１２０４を介して画像処理装置１１０３から受信した合成画像（フレーム画像）と、該合成画像の直前に画像処理装置１１０３から受信した合成画像（直前フレーム画像）と、の類似度が規定値以上であるか否かを判断する。そして画像処理部１２０５は、画像処理装置１１０３から受信した合成画像、該合成画像の各画素をシフトしたシフト済み合成画像（シフトフレーム画像）、のうち上記の判断結果に応じた一方を表示画像として表示部１２０６に対して出力する。これにより表示部１２０６の表示画面には、該表示画像が表示されることになる。画像処理部１２０５の詳細については後述する。
【００１９】
制御部１２０７は、ＣＰＵ等のプロセッサと、該プロセッサが実行するコンピュータプログラムやデータが格納されているメモリと、を有する。プロセッサがメモリ内のコンピュータプログラムやデータを用いて処理を実行することで、ＨＭＤ１１０１全体の動作制御を行うと共に、ＨＭＤ１１０１が行うものとして後述する各処理を実行若しくは制御する。通信部１２０４は、画像処理装置１１０３との間のデータ通信を行うためのインターフェースとして機能する。
【００２０】
次に、画像処理装置１１０３について説明する。画像処理装置１１０３は、ＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）、タブレット端末装置やスマートフォン等のコンピュータ装置である。通信部１２１１は、ＨＭＤ１１０１との間のデータ通信を行うためのインターフェースとして機能する。
【００２１】
ＣＧ描画部１２１２は、コンテンツＤＢ１２１３に登録されている仮想物体データを用いて仮想物体を構築し、該構築した仮想物体を該仮想物体データが規定する位置姿勢でもって仮想空間中に配置する。仮想物体データは、仮想物体の幾何形状、色、質感、テクスチャ等の該仮想物体の外観を規定するモデルデータ、仮想物体を配置する位置姿勢を示すデータ、仮想空間を照射する光源に係るデータ、等を含む。
【００２２】
そしてＣＧ描画部１２１２は、視点（視点の位置は撮像部１２０２の位置、視点の姿勢は撮像部１２０２の姿勢）から見える仮想物体の画像を仮想空間画像として生成する。撮像部１２０２の位置、姿勢は何れも、通信部１２１１を介してＨＭＤ１１０１（算出部１２０８）から受信したものである。そしてＣＧ描画部１２１２は、通信部１２１１を介してＨＭＤ１１０１（撮像部１２０２）から受信した撮像画像と、該生成した仮想空間画像とを合成した合成画像（複合現実空間画像）を生成する。そしてＣＧ描画部１２１２は、該生成した合成画像を通信部１２１１を介してＨＭＤ１１０１に対して送信する。
【００２３】
制御部１２１９は、ＣＰＵ等のプロセッサと、該プロセッサが実行するコンピュータプログラムやデータが格納されているメモリと、を有する。プロセッサがメモリ内のコンピュータプログラムやデータを用いて処理を実行することで、画像処理装置１１０３全体の動作制御を行うと共に、画像処理装置１１０３が行うものとして後述する各処理を実行若しくは制御する。通信部１２１４は、操作装置１１０４及び表示装置１１０２を画像処理装置１１０３に接続するためのインターフェースとして機能するものである。
【００２４】
次に、操作装置１１０４について説明する。操作装置１１０４は、キーボードなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示を入力することができる。ユーザインターフェースはキーボードに限らず、マウスやタッチパネルなどの他の種類のユーザインターフェースであってもよい。ユーザによる操作によって入力された指示は、通信部１２１４を介して画像処理装置１１０３に入力され、制御部１２１９は、該指示に応じた処理を実行する。
【００２５】
次に、表示装置１１０２について説明する。表示装置１１０２は、ＣＲＴや液晶画面などにより構成されており、画像処理装置１１０３による処理結果を画像や文字などでもって表示することができる。例えば表示装置１１０２には、画像処理装置１１０３がＨＭＤ１１０１に出力する画像を表示することができる。また、表示装置１１０２には、ＨＭＤ１１０１が表示画像とするものを表示しても良い。なお、表示装置１１０２は、タッチパネル画面であっても良い。
【００２６】
画像処理装置１１０３の上記の各機能部は何れもハードウェアで実装しても良いが、ＣＧ描画部１２１２をソフトウェア（コンピュータプログラム）で実装しても良い。後者の場合、このコンピュータプログラムはコンテンツＤＢ１２１３等のメモリに格納され、制御部１２１９がこのコンピュータプログラムを用いて処理を実行することで、ＣＧ描画部１２１２の機能を実現することができる。
【００２７】
次に、画像処理部１２０５の機能構成例について、図３のブロック図を用いて説明する。判定部１３０２は、画像処理装置１１０３から受信した合成画像と、該合成画像の直前に画像処理装置１１０３から受信した（該合成画像の１フレーム過去の）合成画像と、の類似度が規定値以上であるか否かを判断する。合成画像同士の類似度を求める方法には様々な方法がある。
【００２８】
例えば、図７（ａ）に示す如く、合成画像１２３３（比較する２つの合成画像）の全体領域（斜線で示した領域）を比較対象領域とし、一方の合成画像における比較対象領域と他方の合成画像における比較対象領域との類似度を求める。領域同士の類似度は、例えば、それぞれの領域で対応する画素位置における画素値の差分（差の絶対値、差の二乗など）の合計値（差分合計値）としても良い。画素値は、Ｒ，Ｇ，Ｂの各色成分の画素値を用いても良いし、特定の色成分の画素値を用いても良い。Ｒ，Ｇ，Ｂの各色成分の画素値を用いる場合、Ｒ，Ｇ，Ｂの各色成分の差分合計値を合計したものを類似度としても良い。
【００２９】
なお、合成画像におけるどの領域を比較対象領域とするのかについては様々な変形例が考えられる。例えば図７（ｂ）に示す如く、合成画像１２３３（比較する２つの合成画像）の左上隅の領域（斜線で示した領域）を比較対象領域としても良い。また、例えば図７（ｃ）に示す如く、合成画像１２３３（比較する２つの合成画像）の四隅の領域（斜線で示した領域）を比較対象領域としても良い。また、例えば図７（ｄ）に示す如く、合成画像１２３３（比較する２つの合成画像）の中央の領域（斜線で示した領域）を比較対象領域としても良い。
【００３０】
そして判定部１３０２は、合成画像間の類似度が規定値以上であれば、それぞれの合成画像は類似している（若しくは同じ）と判断し、合成画像間の類似度が規定値未満であれば、それぞれの合成画像は類似していない（若しくは異なる）と判断する。
【００３１】
なお、判定部１３０２は、画像処理装置１１０３から受信した合成画像と、該合成画像の直前に画像処理装置１１０３から受信した合成画像と、が類似している（「同じである」を含む）か否かを判断できれば良く、そのための手法は特定の手法に限らない。例えば、ＣＧ描画部１２１２が合成画像を生成すると、該生成した合成画像に該合成画像に固有のフレーム番号を付加してＨＭＤ１１０１に送信するように構成したとする。このとき、判定部１３０２は、画像処理装置１１０３から受信した合成画像のフレーム番号と、該合成画像の直前に画像処理装置１１０３から受信した合成画像のフレーム番号と、が同じであるか否かを判断する。そして判定部１３０２は、画像処理装置１１０３から受信した合成画像のフレーム番号と、該合成画像の直前に画像処理装置１１０３から受信した合成画像のフレーム番号と、が同じであれば、それぞれの合成画像は同じであると判断する。一方、判定部１３０２は、画像処理装置１１０３から受信した合成画像のフレーム番号と、該合成画像の直前に画像処理装置１１０３から受信した合成画像のフレーム番号と、が同じでなければ、それぞれの合成画像は同じではないと判断する。
【００３２】
計算部１３０３は、撮像部１２０２が撮像画像を撮像する度に姿勢センサ部１２０３から出力される角速度を取得して保持する。つまり計算部１３０３は、過去の角速度の履歴を保持する。着目撮像画像に対応する角速度は、該着目撮像画像を用いて生成された合成画像に対応する角速度でもある。そして計算部１３０３は、保持している角速度のうち判定部１３０２による判断結果に応じた数の角速度に基づいて、「画像処理装置１１０３から受信した合成画像における各画素」のシフト量を求める。
【００３３】
画像補正部１３０１は合成画像の補正が必要であると判断した場合、該合成画像の各画素を、該合成画像について計算部１３０３が求めたシフト量だけシフトしたシフト済み合成画像を生成し、該シフト済み合成画像を表示画像として表示部１２０６に出力する。一方、画像補正部１３０１は、合成画像の補正が必要ではないと判断した場合には、該合成画像を表示画像として表示部１２０６に出力する。判定部１３０２、計算部１３０３、画像補正部１３０１の各機能部の動作の詳細については後述する。
【００３４】
次に、ＨＭＤ１１０１の姿勢が変化している最中に画像処理装置１１０３からＨＭＤ１１０１に対して送信される各合成画像と、表示部１２０６に表示される合成画像と、について、図４を用いて説明する。
【００３５】
図４（ａ）は、ＨＭＤユーザの頭部１４０１に装着されたＨＭＤ１１０１の向き（方位）が変化している様子（等速運動）を示している。ＨＭＤ１１０１の向きは図４（ａ）の左端に示した状態から時計回りに回転し、図４（ａ）の右端に示した状態に変化している。
【００３６】
図４（ｂ）は、図４（ａ）に示したＨＭＤ１１０１の各向きに対応する合成画像を示している。つまり、合成画像１４１０〜１４１６はそれぞれ、図４（ａ）の左端から右端に向けて図示したＨＭＤ１１０１の各向きに対応する合成画像である。例えば、ＨＭＤ１１０１の向きが図４（ａ）の左端に示したＨＭＤ１１０１の向きである場合に、該向きに応じた合成画像としてＨＭＤ１１０１に表示すべき合成画像は合成画像１４１０である。また例えば、ＨＭＤ１１０１の向きが図４（ａ）の左端から２番目に示したＨＭＤ１１０１の向きである場合に、該向きに応じた合成画像としてＨＭＤ１１０１に表示すべき合成画像は合成画像１４１１である。また例えば、ＨＭＤ１１０１の向きが図４（ａ）の右端に示したＨＭＤ１１０１の向きである場合に、該向きに応じた合成画像としてＨＭＤ１１０１に表示すべき合成画像は合成画像１４１６である。１４０３，１４０４は何れも合成画像に含まれているオブジェクト（現実物体若しくは仮想物体）である。
【００３７】
図４（ｃ）は、図４（ｂ）の合成画像１４１０〜１４１７のそれぞれの描画期間（ＣＧ描画部１２１２が該合成画像の生成を開始してからＨＭＤ１１０１に出力するまでの期間）、図４（ｂ）の合成画像１４１０〜１４１６のそれぞれのＨＭＤ１１０１における表示期間、を示している。Ｔ１〜Ｔ７はそれぞれ、合成画像１４１０〜１４１６の表示期間を表しており、例えば、Ｔ１は、図４（ａ）の合成画像１４１０の表示期間を表している。なお、図４を含む以降の図面では、各種の図示のため、表示期間は図中Ｔ１〜Ｔ７が示す各期間長よりも短く図示している。上記の如く、ＣＧ描画部１２１２は、合成画像の生成が完了すると、該生成した合成画像をＨＭＤ１１０１に対して送信する。図４（ｃ）に示す如く、ＣＧ描画部１２１２は、合成画像１４１０〜１４１６の各合成画像の生成を該合成画像の表示タイミングまでに完了させているため、合成画像１４１０〜１４１６が欠落も冗長もなく順次表示される。例えば図４（ｂ）、（ｃ）に示す如く、表示期間Ｔ２までに生成が完了した合成画像１４１１は表示期間Ｔ２にて表示部１２０６に表示され、表示期間Ｔ３までに生成が完了した合成画像１４１２は表示期間Ｔ３にて表示部１２０６に表示される。
【００３８】
このように図４（ｂ）、（ｃ）の例では合成画像１４１０〜１４１６のそれぞれの生成には遅延がない（合成画像の表示タイミングまでに該合成画像の生成が完了している）ので、合成画像１４１０〜１４１６は欠落や冗長無くＨＭＤ１１０１に表示されている。よってＨＭＤユーザは、例えばＨＭＤ１１０１の向きが図４（ａ）の左端に示す向きである場合には、それに応じた合成画像１４１０を観察することができる。また例えば、ＨＭＤ１１０１の向きが図４（ａ）の右端に示す向きである場合には、ＨＭＤユーザは、それに応じた合成画像１４１６を観察することができる。
【００３９】
図４（ｄ）は、合成画像１４１０〜１４１６のうち合成画像１４１２，１４１４については「該合成画像の表示タイミングまでに該合成画像の生成が完了していない」場合にＨＭＤ１１０１に表示される各合成画像を示している。
【００４０】
図４（ｅ）は、図４（ｄ）の合成画像１４１０，１４１１，１４１２，１４１４，１４１６のそれぞれの描画期間、図４（ｄ）の合成画像１４１０，１４１１，１４１２，１４１４，１４１６のそれぞれのＨＭＤ１１０１における表示期間、を示している。図４（ｄ）、（ｅ）に示す如く、図４（ｂ）と同様に、合成画像１４１０、１４１１の各合成画像については表示タイミングまでに生成が完了している。そのため、合成画像１４１０は、図４（ａ）の左端に対応するＨＭＤ１１０１の向きに対応する合成画像として表示期間Ｔ１にて表示部１２０６に表示される。また、合成画像１４１１は、図４（ａ）の左端から２番目に対応するＨＭＤ１１０１の向きに対応する合成画像として表示期間Ｔ２にて表示部１２０６に表示される。しかし、図４（ｅ）に示す如く、合成画像１４１２の生成には遅延が発生しており、該生成は表示期間Ｔ３の開始までには完了せず、表示期間Ｔ３の途中で完了している。そのため、ＣＧ描画部１２１２は、表示期間Ｔ３の開始までに合成画像１４１２をＨＭＤ１１０１に対して送信することができず、その代わりに、前回生成した合成画像１４１１をＨＭＤ１１０１に対して送信することになる。その結果、表示期間Ｔ２，Ｔ３の両方で合成画像１４１１が続けて表示されることになる。この時に合成画像の表示の更新レートが低下することになり、この更新レート低下はＨＭＤユーザによっては違和感を感じ、映像酔いを感じることがある。そして合成画像１４１２の生成が完了すると、合成画像１４１２がＨＭＤ１１０１に送信され、表示期間Ｔ４にて表示部１２０６に表示されると共に、上記の遅延により表示期間が被ってしまった合成画像１４１３ではなく、合成画像１４１４の生成が開始される。また、図４（ｅ）に示す如く、合成画像１４１４の生成には遅延が発生しており、該生成は表示期間Ｔ５の開始までには完了せず、表示期間Ｔ５の途中で完了している。そのため、ＣＧ描画部１２１２は、表示期間Ｔ５の開始までに合成画像１４１４をＨＭＤ１１０１に対して送信することができず、その代わりに、前回生成した合成画像１４１２をＨＭＤ１１０１に対して送信することになる。その結果、表示期間Ｔ４，Ｔ５の両方で合成画像１４１２が続けて表示されることになる。そして合成画像１４１４の生成が完了すると、合成画像１４１４がＨＭＤ１１０１に送信され、表示期間Ｔ６にて表示部１２０６に表示されると共に、上記の遅延により表示期間が被ってしまった合成画像１４１５ではなく、合成画像１４１６の生成が開始される。
【００４１】
本実施形態では、ある合成画像の生成が遅延しても、該遅延による影響を軽減させた合成画像の表示制御を行う。そのための画像処理部１２０５の動作について、図５の例を用いて説明する。
【００４２】
図５（ａ）は、ＨＭＤユーザの頭部１４０１に装着されたＨＭＤ１１０１の向き（方位）が変化している様子を示しており、図４（ａ）と同様である。図５（ｂ）は、合成画像１４１０〜１４１６のうち合成画像１４１２，１４１４については「該合成画像の表示タイミングまでに該合成画像の生成が完了していない」場合における合成画像１４１０，１４１１，１４１２，１４１４，１４１６のそれぞれの描画期間、合成画像１４１０，１４１１，１４１２，１４１４，１４１６のそれぞれのＨＭＤ１１０１における表示期間、を示しており、図４（ｄ）と同様である。
【００４３】
図５（ｃ）は、合成画像１４１０〜１４１６のうち合成画像１４１２，１４１４については「該合成画像の表示タイミングまでに該合成画像の生成が完了していない」場合にＨＭＤ１１０１に表示される各合成画像を示しており、図４（ｄ）と同様である。
【００４４】
本実施形態では、図５（ｃ）に示すような合成画像１４１０，１４１１，１４１２，１４１４，１４１６をこの順で受信した場合には、次のような処理により表示画像を取得して表示部１２０６に表示させる。なお、合成画像１４１０を受信する時点で既に以下で使用するカウント値は０に初期化されているものとする。
【００４５】
判定部１３０２は、画像処理装置１１０３から合成画像１４１１を受信すると、該合成画像１４１１の直前に画像処理装置１１０３から受信した合成画像１４１０との類似度が規定値以上であるか否かを判断する。合成画像１４１０と合成画像１４１１とは異なる合成画像であるため、類似度は規定値未満となり、その場合、画像補正部１３０１は、合成画像１４１１を表示画像として表示期間Ｔ２にて表示部１２０６に表示する。
【００４６】
次に判定部１３０２は、画像処理装置１１０３から合成画像１４１１を受信する。このとき判定部１３０２は、該合成画像１４１１の直前に画像処理装置１１０３から受信した合成画像１４１１との類似度が規定値以上であるか否かを判断する。合成画像１４１１と合成画像１４１１とは同じ合成画像であるため、類似度は規定値以上となり、その場合、判定部１３０２は、カウント値Ｃを１つインクリメントする。この時点で、カウント値Ｃ＝１となる。計算部１３０３は、保持する角速度群のうち最近のＣ個の角速度を取得し、該Ｃ個の角速度の積分値を求める。Ｃ＝１の場合は、最近の角速度＝積分値とする。そして計算部１３０３は、合成画像１４１１の各画素のシフト量を積分値に基づいて求める。積分値からシフト量を求めるための方法について、図８を用いて説明する。
【００４７】
図８は、首を横方向（水平方向）に振った場合（ＨＭＤ１１０１の水平方向の向きが変化した場合）に、合成画像における各画素のシフト量を求めるための仕組みを示している。表示部１２０６の表示画面１８０１の水平方向の画素数（ピクセル数）をＮ［ｐｉｘｅｌ］、ＨＭＤユーザが表示画面１８０１を観察する時の水平方向の画角をθ［ｒａｄｉａｎ］とする。積分値をΔθ［ｒａｄｉａｎ］とする。Δθは、方位角の角速度の積分値であり、方位角の角速度は、一方の方位角方向の角速度を正の値、他方の方位角方向の角速度を負の値としている。本実施形態では図８に示す如く、ＨＭＤユーザの位置１８９０と、表示画面１８０１の中心位置と、を通る直線１８８０（表示画面１８０１と直交する直線）を基準線としている。そして、該基準線と角度Δθをなす直線１８７０が表示画面１８０１と交差する位置と、表示画面１８０１の中心位置と、の間の水平方向の距離Δｘを、合成画像における各画素の水平方向のシフト量として求める。このとき、Δｘは、例えば以下の式１を計算することで求めることができる。
【００４８】
Δｘ＝（Ｎ／２）×（ｔａｎΔθ／ｔａｎ（θ／２））    （式１）
なお、図８では、首を横方向（水平方向）に振った場合（ＨＭＤ１１０１の水平方向の向きが変化した場合）におけるシフト量を求める方法を示した。しかし、首を縦方向（垂直方向）に振った場合（ＨＭＤ１１０１の垂直方向の向きが変化した場合）であっても、同様の方法により垂直方向におけるシフト量を求めることができる。また、首を斜め方向に振った場合には、該斜め方向を横方向と縦方向とに分解し、該分解したそれぞれの方向について上記の方法によりシフト量を求めればよい。
【００４９】
そして画像補正部１３０１は、合成画像１４１１における各画素を、上記のようにして求めたシフト量だけシフトしたシフト済み合成画像１５０１を生成し（シフト処理を行い）、該シフト済み合成画像１５０１を表示画像として表示部１２０６に表示する。図５（ｄ）の場合、カウント値Ｃ＝１であるから、最近の１つの角速度をΔθとしてシフト量を求めている。
【００５０】
次に判定部１３０２は、画像処理装置１１０３から合成画像１４１２を受信する。このとき判定部１３０２は、該合成画像１４１２の直前に画像処理装置１１０３から受信した合成画像１４１１との類似度が規定値以上であるか否かを判断する。合成画像１４１１と合成画像１４１２とは異なる合成画像であるため、類似度は規定値未満となる。その場合、判定部１３０２は、合成画像１４１２の１フレーム前の合成画像である合成画像１４１１までに連続して「類似度が規定値以上である」と判断した連続回数が０であるか否かを判断する。図５（ｃ）の場合、合成画像１４１１を２回連続して受信しているため、連続回数＝１となり、その場合、判定部１３０２は、カウント値Ｃに該連続回数＝１を設定する。カウント値Ｃに基づいてシフト量を求める方法は上記の通りである。ここで、カウント値Ｃ＝１であるから、最近の１つの角速度をΔθとしてシフト量を求めている。
【００５１】
そして画像補正部１３０１は、合成画像１４１２における各画素を、求めたシフト量だけシフトしたシフト済み合成画像１５０２を生成し、該生成したシフト済み合成画像１５０２を表示画像として表示部１２０６に表示する。つまり、合成画像１５０２は、図５（ｄ）に示す如く、合成画像１４１２内における各画素を１フレーム分の頭部の動き量だけ左にシフトした画像となっている。なお、画素のシフトにより画像がない領域は黒画像で表示されるものとするが、これに限らない。例えば、表示画像より大きい領域サイズを有する合成画像を画像処理装置１１０３から受信するように構成した場合、合成画像における表示画像の切り出し領域の位置をシフト量だけ移動させるようにすれば、黒画像の発生を軽減させることができる。
【００５２】
次に判定部１３０２は、画像処理装置１１０３から合成画像１４１２を受信する。このとき判定部１３０２は、該合成画像１４１２の直前に画像処理装置１１０３から受信した合成画像１４１２との類似度が規定値以上であるか否かを判断する。合成画像１４１２と合成画像１４１２とは同じ合成画像であるため、類似度は規定値以上となり、その場合、判定部１３０２は、カウント値Ｃを１つインクリメントする。この時点で、カウント値Ｃ＝２となる。カウント値Ｃに基づいてシフト量を求める方法は上記の通りである。ここで、カウント値Ｃ＝２であるから、最近の２つの角速度の積分値をΔθとしてシフト量を求めている。そして画像補正部１３０１は、合成画像１４１２における各画素を、求めたシフト量だけシフトしたシフト済み合成画像１５０３を生成し、該生成したシフト済み合成画像１５０３を表示画像として表示部１２０６に表示する。
【００５３】
次に判定部１３０２は、画像処理装置１１０３から合成画像１４１４を受信する。このとき判定部１３０２は、該合成画像１４１４の直前に画像処理装置１１０３から受信した合成画像１４１２との類似度が規定値以上であるか否かを判断する。合成画像１４１２と合成画像１４１４とは異なる合成画像であるため、類似度は規定値未満となる。その場合、判定部１３０２は、合成画像１４１４の１フレーム前の合成画像である合成画像１４１２までに連続して「類似度が規定値以上である」と判断した連続回数が０であるか否かを判断する。図５（ｃ）の場合、合成画像１４１２を２回連続して受信しているため、連続回数＝１となり、その場合、判定部１３０２は、カウント値Ｃに該連続回数＝１を設定する。カウント値Ｃに基づいてシフト量を求める方法は上記の通りである。ここでは、最近の１つの角速度をΔθとしてシフト量を求めている。そして画像補正部１３０１は、合成画像１４１４における各画素を、求めたシフト量だけシフトしたシフト済み合成画像１５０４を生成し、該生成したシフト済み合成画像１５０４を表示画像として表示部１２０６に表示する。
【００５４】
図５（ｅ）は、図４（ｂ）と同じものを示している。図５（ｄ）と図５（ｅ）とを比べると、本実施形態によって生成されたシフト済み合成画像１５０１〜１５０４内のオブジェクトの位置は、合成画像１４１２〜１４１５内におけるオブジェクトの位置と同様である。然るに、本実施形態によって生成されたシフト済み合成画像を表示画像としてＨＭＤユーザに提示しても、該ＨＭＤユーザは違和感を感じることは少ない。
【００５５】
合成画像の生成の遅延状況が図５とは異なる他のケースについて、図６を用いて説明する。図６（ａ）、（ｃ）はそれぞれ、図５（ａ）、（ｃ）と同様であるため、説明を省略する。
【００５６】
図６（ｂ）に示す如く、合成画像１４１２の生成は表示期間Ｔ４の途中で完了している。表示期間Ｔ２では、画像処理装置１１０３から受信した合成画像１４１１は、その直前に受信した合成画像１４１０と異なるため、該合成画像１４１１を表示画像として表示部１２０６に表示する。
【００５７】
次に受信した合成画像１４１１は、その直前に受信した合成画像１４１１と同じであるから、図５の場合と同様、最近の１つの角速度をΔθとして求めたシフト量を用いて合成画像１４１１内の各画素をシフトしたシフト済み合成画像１６０１を生成する。そして該生成したシフト済み合成画像１６０１を表示部１２０６に表示する。
【００５８】
次に受信した合成画像１４１１は、その直前に受信した合成画像１４１１と同じであるから、カウント値Ｃを１つインクリメントしてＣ＝２とし、最近の２つの角速度の積分値をΔθとしてシフト量を求める。そして該求めたシフト量用いて合成画像１４１１内の各画素をシフトしたシフト済み合成画像１６０２を生成する。そして該生成したシフト済み合成画像１６０２を表示部１２０６に表示する。
【００５９】
次に受信した合成画像１４１２は、その直前に受信した合成画像１４１１とは異なり、合成画像１４１１までに連続して「類似度が規定値以上である」と判断した連続回数が２であるから、Ｃ＝２とする。そして、最近の２つの角速度の積分値をΔθとしてシフト量を求め、該求めたシフト量用いて合成画像１４１２内の各画素をシフトしたシフト済み合成画像１６０３を生成する。そして該生成したシフト済み合成画像１６０３を表示部１２０６に表示する。
【００６０】
次に受信した合成画像１４１５は、その直前に受信した合成画像１４１２とは異なり、合成画像１４１５の１フレーム前の合成画像１４１２までに連続して「類似度が規定値以上である」と判断した連続回数が０であるから、Ｃ＝０とする。然るに、合成画像１４１５と同じ合成画像１６０４を表示部１２０６に表示する。
【００６１】
次に、ＨＭＤ１１０１が１フレーム分の合成画像を表示部１２０６に表示するために行う処理について、該処理のフローチャートを示す図９を用いて説明する。なお、図９のフローチャートに従った処理を繰り返し行うことで、複数フレームの合成画像を表示部１２０６に表示させることができる。
【００６２】
ステップＳ１９０１では、撮像部１２０２は、現実空間を撮像した撮像画像を取得し、該取得した撮像画像を、算出部１２０８に対して送出すると共に、通信部１２０４を介して画像処理装置１１０３に対して送信する。
【００６３】
ステップＳ１９０２では、姿勢センサ部１２０３は、姿勢情報、角速度、を測定し、該角速度を計算部１３０３に対して送出すると共に、該姿勢情報を算出部１２０８に対して送出する。
【００６４】
ステップＳ１９０３では、算出部１２０８は、撮像部１２０２による撮像画像及び姿勢センサ部１２０３による姿勢情報を取得する。そして算出部１２０８は、該取得した撮像画像から該撮像画像を撮像したときの撮像部１２０２の位置を算出する。また算出部１２０８は、該取得した姿勢情報が表す姿勢センサ部１２０３の姿勢を、撮像部１２０２と姿勢センサ部１２０３との間の相対的な姿勢関係を用いて変換して、撮像部１２０２の姿勢を求める。
【００６５】
ステップＳ１９０４では、算出部１２０８は、ステップＳ１９０３において求めた撮像部１２０２の位置及び姿勢を通信部１２０４を介して画像処理装置１１０３に対して送信する。
【００６６】
ステップＳ１９０５では、画像処理部１２０５（判定部１３０２）は、画像処理装置１１０３から送信された合成画像を通信部１２０４を介して受信する。ステップＳ１９０６では、画像処理部１２０５（判定部１３０２）は、上記の如くカウント値を求める。ステップＳ１９０６における処理の詳細について、図１０のフローチャートに従って説明する。
【００６７】
ステップＳ２００１では、判定部１３０２は、ステップＳ１９０５で画像処理装置１１０３から受信した合成画像と、該合成画像の直前に画像処理装置１１０３から受信した合成画像と、の類似度が規定値以上であるか否かを判断する。そして類似度が規定値以上であれば、それぞれの合成画像は同じものであると判断して、処理はステップＳ２００２に進む。一方、類似度が規定値未満である場合には、それぞれの合成画像は互いに異なるものであると判断し、処理はステップＳ２００３に進む。
【００６８】
ステップＳ２００２では、判定部１３０２は、カウント値Ｃを１つインクリメントする。一方、ステップＳ２００３では、判定部１３０２は、ステップＳ１９０５で受信した合成画像の１フレーム前の合成画像までに連続して「類似度が規定値以上である」と判断した連続回数が０であるか否かを判断する。この判断の結果、連続回数が０ではない場合には、処理はステップＳ２００４に進み、連続回数が０である場合には、処理はステップＳ２００５に進む。ステップＳ２００４では、判定部１３０２は、カウント値Ｃに連続回数を設定する。一方、ステップＳ２００５では、判定部１３０２は、カウント値Ｃに０を設定する。
【００６９】
図９に戻って、次に、ステップＳ１９０７では、画像補正部１３０１は、合成画像の補整（シフト）が必要であるか否か（カウント値Ｃが０であるか否か）を判断する。合成画像の補正が必要（カウント値Ｃ≠０）である場合には、処理はステップＳ１９０８に進み、合成画像の補正は必要ない（カウント値Ｃ＝０）と判断した場合には、処理はステップＳ１９１０に進む。
【００７０】
ステップＳ１９０８では、計算部１３０３は、カウント値Ｃに基づいて上記の如く計算処理を行ってシフト量を求める。そしてステップＳ１９０９では、画像補正部１３０１は、ステップＳ１９０５で受信した合成画像を、ステップＳ１９０８で求めたシフト量に基づいてシフトしたシフト済み合成画像（補正フレーム画像）を生成する。
【００７１】
ステップＳ１９０７からステップＳ１９１０に処理が進んだ場合、ステップＳ１９１０では、画像補正部１３０１は、ステップＳ１９０５で受信した合成画像を表示画像として表示部１２０６に表示させる。一方、ステップＳ１９０９からステップＳ１９１０に処理進んだ場合、ステップＳ１９１０では、画像補正部１３０１は、ステップＳ１９０９において生成したシフト済み合成画像を表示画像として表示部１２０６に表示させる。
【００７２】
このように、本実施形態によれば、合成画像の生成処理の負荷が高くなることで該合成画像の表示の更新レートが低下した場合であっても、合成画像に対するＨＭＤユーザの違和感を低下させ、合成画像を閲覧するＨＭＤユーザの酔いを低減させることができる。
【００７３】
＜変形例１＞
第１の実施形態では、画像処理装置１１０３とＨＭＤ１１０１とを別個の装置としているが、それぞれの装置を一体化させても良い。即ち、画像処理装置１１０３の機能として説明した上記の機能の一部若しくは全部をＨＭＤ１１０１が有するようにしても構わない。
【００７４】
＜変形例２＞
第１の実施形態では、積分値として角速度の積分値を用いた。しかし、積分値は角速度の積分値に限らず、例えば、クォータニオンの積分値を使用しても構わない。
【００７５】
＜変形例３＞
第１の実施形態では、ＨＭＤ１１０１から画像処理装置１１０３に撮像画像とＨＭＤ１１０１の位置姿勢とを送信し、画像処理装置１１０３が該撮像画像と該位置姿勢とを用いて合成画像を生成し、該生成した合成画像をＨＭＤ１１０１に送信していた。しかし、合成画像を生成するための処理の分担形態はこれに限らない。
【００７６】
例えば、ＨＭＤ１１０１は画像処理装置１１０３に対してＨＭＤ１１０１の位置姿勢を送信し、画像処理装置１１０３は該位置姿勢に基づいて仮想空間画像を生成し、該生成した仮想空間画像をＨＭＤ１１０１に対して送信する。ＨＭＤ１１０１は画像処理装置１１０３から受信した仮想空間画像を、撮像部１２０２が撮像した撮像画像と合成した合成画像を生成する。
【００７７】
また例えば、ＨＭＤ１１０１から画像処理装置１１０３に撮像画像を送信し、画像処理装置１１０３は、該撮像画像に基づいてＨＭＤ１１０１の位置姿勢を求め、該位置姿勢に基づいて仮想空間画像を生成し、該仮想空間画像をＨＭＤ１１０１に送信する。ＨＭＤ１１０１は画像処理装置１１０３から受信した仮想空間画像を、撮像部１２０２が撮像した撮像画像と合成した合成画像を生成する。
【００７８】
このように、ＨＭＤ１１０１側で合成画像を生成する場合、上記の説明において「今回受信した合成画像」は「今回生成した合成画像」、「前回受信した合成画像」は「前回生成した合成画像」、つまり、１フレーム過去の合成画像、と読み替える必要がある。
【００７９】
＜変形例４＞
第１の実施形態では、姿勢センサ部１２０３による測定は、撮像部１２０２による撮像タイミングに同期していたが、これに限らず、例えば、画像処理部１２０５が画像処理装置１１０３から画像を受信するタイミングに同期しても構わない。また、姿勢センサ部１２０３による測定は、画像処理部１２０５が画像処理装置１１０３から画像を受信する頻度よりも高い頻度で行うようにしても良い。
【００８０】
＜変形例５＞
第１の実施形態では、ＨＭＤ１１０１はビデオシースルー方式のＨＭＤであるものとして説明した。しかし、ＨＭＤ１１０１は光学シースルー方式のＨＭＤであっても良い。この場合、ＨＭＤ１１０１では、位置姿勢センサなどでもって視点（ＨＭＤユーザの眼の近傍）の位置姿勢を取得して画像処理装置１１０３に対して送信する。画像処理装置１１０３は、上記と同様にして該位置姿勢から仮想空間画像を生成し、該生成した仮想空間画像をＨＭＤ１１０１に対して送信する。ＨＭＤ１１０１は、上記の図９のフローチャートに従った処理を合成画像ではなく仮想空間画像を対象にして実行する。
【００８１】
［第２の実施形態］
本実施形態では、角速度に応じて合成画像のシフトを行うだけでなく、ＨＭＤ１１０１の位置の変化に応じて合成画像の拡大／縮小を行う。本実施形態を含む以下の各実施形態や各変形例では、第１の実施形態との差分について説明し、以下で特に触れない限りは第１の実施形態と同様であるものとする。
【００８２】
先ず、本実施形態に係るＨＭＤ１１０１及び画像処理装置１１０３のそれぞれの機能構成例について、図１１のブロック図を用いて説明する。第１の実施形態では図２に示す如く、姿勢センサ部１２０３からの出力が画像処理部１２０５に入力されていたが、本実施形態では図１１に示す如く、算出部１２０８からの出力が画像処理部１２０５に入力されている。次に、本実施形態に係る画像処理部１２０５の機能構成例について、図１２のブロック図を用いて説明する。
【００８３】
計算部１３０３は、第１の実施形態と同様にシフト量を求めると共に、算出部１２０８から取得する位置の変化に基づいて、合成画像の拡大／縮小率を求める。本実施形態に係る計算部１３０３の動作について、図１３に示す具体例を挙げて説明する。
【００８４】
図１３（ａ）には、ＨＭＤユーザ２３０１が前方に移動する様子を示している。図１３（ａ）の左側には、時刻ｔにおけるＨＭＤユーザ２３０１（移動前のＨＭＤユーザ２３０１）、図１３（ａ）の右側には、時刻（ｔ＋１）におけるＨＭＤユーザ２３０１（移動後のＨＭＤユーザ２３０１）、を示している。
【００８５】
図１３（ｂ）の左側には時刻ｔに対応する合成画像としてＨＭＤユーザ２３０１に提供された合成画像２３０２を示しており、図１３（ｂ）の右側には時刻（ｔ＋１）に対応する合成画像としてＨＭＤユーザ２３０１に提供された合成画像２３０３を示している。図１３（ｂ）では、合成画像２３０２と合成画像２３０３とは同じ合成画像であり、これは即ち、合成画像２３０２，２３０３の次のフレームとして表示すべき合成画像が未だ画像処理装置１１０３から得られていないことを意味している。
【００８６】
ここで、合成画像２３０２，２３０３の何れにもオブジェクト（仮想物体若しくは現実物体）２３１１が同じサイズで表示されている。しかし、時刻（ｔ＋１）におけるＨＭＤユーザ２３０１は時刻ｔにおけるＨＭＤユーザ２３０１よりも前進しているので、合成画像２３０３におけるオブジェクト２３１１は合成画像２３０２におけるオブジェクト２３１１よりも大きく表示されるべきである。本実施形態では、この点を考慮し、ＨＭＤ１１０１の姿勢変化に応じた合成画像のシフトだけでなく、ＨＭＤ１１０１の位置変化に応じた合成画像の拡大／縮小をも行う。
【００８７】
つまり、図１３（ｃ）に示す如く、時刻（ｔ＋１）におけるＨＭＤユーザ２３０１に対しては、合成画像２３０３を拡大することで該合成画像２３０３内のオブジェクト２３１１が拡大された合成画像２３０５を提示する。合成画像２３０５は、合成画像２３０３を拡大した後、合成画像２３０３と同サイズの領域を切り出すことで得られる画像である。合成画像２３０５内におけるオブジェクト２３１１’は、合成画像２３０３内のオブジェクト２３１１が拡大されたものである。なお、画像を拡大した後に画素補間を行うが、この技術については周知であるため、これについての説明は省略する。
【００８８】
次に、ＨＭＤ１１０１が１フレーム分の合成画像を表示部１２０６に表示するために行う処理について、該処理のフローチャートを示す図１４を用いて説明する。なお、図１４のフローチャートに従った処理を繰り返し行うことで、複数フレームの合成画像を表示部１２０６に表示させることができる。また、図１４において図９に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【００８９】
ステップＳ１９０７において、合成画像の補正が必要（カウント値Ｃ≠０）と判断された場合には、処理はステップＳ１９０８に進み、合成画像の補正は必要ない（カウント値Ｃ＝０）と判断された場合には、処理はステップＳ２４０１に進む。
【００９０】
ステップＳ２４０１では、計算部１３０３は、算出部１２０８が今回算出した位置と前回算出した位置との差分をＨＭＤ１１０１の移動距離ＤＡとして求める。このとき、ＨＭＤ１１０１の移動方向成分において正面方向への移動成分を有する場合には、移動距離の符号を正、移動方向成分において正面方向とは１８０度逆の方向への移動成分を有する場合には、移動距離の符号を負、とする。
【００９１】
また計算部１３０３は、合成画像の中央付近におけるオブジェクトまでの距離を求める。合成画像の中央付近におけるオブジェクトまでの距離ＤＢを求める方法には様々な方法がある。例えば、合成画像の中央付近に現実物体が写っている場合には、例えばＨＭＤ１１０１に取り付けられた距離センサが測定した該現実物体までの距離を上記の距離ＤＢとして取得しても良いし、該合成画像に対応する撮像画像から距離ＤＢを求めても良い。また、合成画像の中央付近に仮想物体が写っている場合には、仮想空間画像を生成する際に用いた視点の位置と該仮想物体の位置との間の距離を距離ＤＢとして画像処理装置１１０３から取得しても良い。そして計算部１３０３は、ＤＢ／（ＤＢ−ＤＡ）の値を合成画像の拡大／縮小率として求める。なお、合成画像の拡大／縮小率を求める方法は特定の方法に限らず、例えば、拡大／縮小率＝ｋ×ＤＡ＋１（ｋは正規化定数）としても良い。このとき、ＤＡ≦−１／ｋの場合には、拡大／縮小率として規定の小さい値（例えば０．０００１）を与え、ＤＡ≧（Ｌ−１）／ｋの場合（Ｌは規定の大きい値）には、拡大／縮小率として規定の大きい値（例えば１００）を与えても良い。
【００９２】
ステップＳ２４０２では、画像補正部１３０１は、ステップＳ１９０７からステップＳ２４０１に処理が進んだ場合には、ステップＳ１９０５で受信した合成画像に対して、ステップＳ２４０１で求めた拡大／縮小率に応じた拡大／縮小を行う。一方、画像補正部１３０１は、ステップＳ１９０９からステップＳ２４０１に処理が進んだ場合には、シフト済み合成画像に対して、ステップＳ２４０１で求めた拡大／縮小率に応じた拡大／縮小を行う。なお、拡大／縮小率＝１の場合には、拡大／縮小処理を省いても良い。
【００９３】
そしてステップＳ１９１０では、画像補正部１３０１は、ステップＳ２４０２を経て得られる合成画像（拡大／縮小された画像、若しくは拡大／縮小されていない画像）を表示部１２０６に表示させる。
【００９４】
なお、図１４のフローチャートでは、合成画像に対してシフト処理を行った後に拡大／縮小処理を行っているが、順番を逆にして、拡大／縮小処理を行ってからシフト処理を行うようにしても良い。
【００９５】
このように、本実施形態によれば、第１の実施形態よりも多くのユーザ動作について合成画像を補正することができ、これにより、合成画像を閲覧するＨＭＤユーザの酔いを軽減することができる。なお、シフト量の計算には角速度を用いても良いし、算出部１２０８が算出した姿勢を用いても良い。
【００９６】
［第３の実施形態］
本実施形態では、ＨＭＤ１１０１は、画像処理装置１１０３から受信した合成画像のうちどの合成画像をどれだけシフトするのかを、画像処理装置１１０３における合成画像の描画レートに応じて決定する。ここで、合成画像の描画レートとは、１秒間当たりの合成画像の生成フレーム数を表す。
【００９７】
本実施形態に係る画像処理装置１１０３及びＨＭＤ１１０１の機能構成例について、図１５のブロック図を用いて説明する。本実施形態では、ＨＭＤ１１０１の表示部１２０６におけるフレームレートは６０Ｈｚ（表示部１２０６の表示画面を１秒間に６０回更新するレートであり、６０フレーム／秒）であるものとして説明する。しかし、表示部１２０６のフレームレートは６０Ｈｚに限らない。ＨＭＤ１１０１の保持部２５０１には、表示部１２０６のフレームレートである「６０Ｈｚ」を示す情報が、フレームレート情報として格納されている。このフレームレート情報は、通信部１２０４を介して画像処理装置１１０３に対して送信される。
【００９８】
計算部２５０２は、ＨＭＤ１１０１から送信されたフレームレート情報を通信部１２１１を介して受信する。そして計算部２５０２は、該受信したフレームレート情報と、ＣＧ描画部１２１２がこれから生成しようとする合成画像に対する推定描画レートと、に基づいて、ＣＧ描画部１２１２がこれから生成しようとする合成画像に対する実際の描画レートを決定する。
【００９９】
例えば計算部２５０２はＨＭＤ１１０１から「６０Ｈｚ」を示すフレームレート情報を受信すると、画像処理装置１１０３の制御部１２１９のメモリに予め登録されている各フレームレートに対応するテーブルのうち「６０Ｈｚ」に対応するテーブルを取得する。フレームレート「６０Ｈｚ」に対応するテーブルの構成例を図１６に示す。
【０１００】
「ＨＭＤ表示部更新レート」は、ＨＭＤ１１０１から受信したフレームレート情報が示すフレームレート「６０Ｈｚ」に対応している。「最低描画更新レート」（フレーム）は、ＣＧ描画部１２１２がこれから生成しようとする合成画像に対する推定描画レートである。図１６では、最低描画更新レートは、「６０以上」、「３０以上５９以下」、「２０以上２９以下」、「１５以上１９以下」、「１０以上１４以下」の５つが登録されている。「計算後描画更新レート（フレーム）」は、「最低描画更新レート」（フレーム）のそれぞれに対応する、実際の描画レートである。
【０１０１】
例えば、計算部２５０２は、ＣＧ描画部１２１２がこれから描画しようとするシーンのデータ量から最大負荷時の描画レートを推定し、図１６の上記の５つの最低描画更新レートのうち該推定した描画レートが属する最低描画更新レートを特定する。そして計算部２５０２は、該特定した最低描画更新レートに対応する「計算後描画更新レート」を、ＣＧ描画部１２１２がこれから生成しようとする合成画像に対する実際の描画レート、として決定する。
【０１０２】
図１６の場合、最低描画更新レートが６０フレーム以上の場合、計算後描画更新レートを６０とする。また、最低描画更新レートが「３０以上５９以下」の場合、計算後描画更新レートを３０とする。図１６に示す如く、計算後描画更新レートは何れも、６０×１／Ｚ（Ｚは整数）となっている。これは、表示部１２０６で表示される画像の更新レートが変動することで、人によっては違和感を感じ、酔いを感じることがあるためである。そして計算部２５０２は、このようにして求めた計算後描画更新レートを、通信部１２１１を介してＨＭＤ１１０１に対して送信する。
【０１０３】
画像処理装置１１０３とＨＭＤ１１０１との間で計算後描画更新レートを決定するための通信シーケンスについて、図１７を用いて説明する。画像処理装置１１０３からＨＭＤ１１０１に対してフレームレート情報の要求を行うと、ＨＭＤ１１０１は該要求に応じてフレームレート情報を画像処理装置１１０３に対して送信する。なお、画像処理装置１１０３はＨＭＤ１１０１のフレームレート情報が取得できれば良く、そのための構成は特定の構成に限らない。例えば、ＨＭＤ１１０１の識別情報を画像処理装置１１０３に対して送信し、画像処理装置１１０３は識別情報ごとに管理しているフレームレート情報のうち、ＨＭＤ１１０１から受信した識別情報に対応するフレーム情報を特定するようにしても良い。
【０１０４】
画像処理装置１１０３は、ＨＭＤ１１０１から受信したフレームレート情報を用いて計算後描画更新レートを上記のようにして特定し、該特定した計算後描画更新レートをＨＭＤ１１０１に対して送信する。
【０１０５】
図１７に示した通信シーケンスは、本実施形態に係るシステムの起動時に行っても良い。また、コンテンツ切替時や、ＨＭＤユーザの切替時等にユーザが操作装置１１０４を用いて指示を入力した場合に行っても良い。
【０１０６】
また、本実施形態では、フレームレート情報と、ＣＧ描画部１２１２がこれから生成しようとする合成画像に対する推定描画レートと、に基づいて計算後描画更新レートを求めている。しかし、計算後描画更新レートを求める方法はこれに限らず、フレームレート情報及び推定した描画レートに加えて位置姿勢の算出レートを参酌し、これらの組み合わせに対応付けられている計算後描画更新レートを決定するようにしても良い。
【０１０７】
本実施形態に係る合成画像の補正処理について、図１８を例にとり説明する。図１８（ａ）は図４（ａ）と同様である。図１８（ｂ）における合成画像２８０１〜２８０７は、フレームレート情報が示すフレームレートと、計算後描画更新レートが示すフレームレートと、が同じである場合に表示部１２０６に表示される合成画像を示している。
【０１０８】
図１８（ｃ）は、計算後描画更新レートがフレームレート情報が示すフレームレートの半分であるケースにおいて表示部１２０６に表示される合成画像を示している。この場合、画像処理装置１１０３から送信される合成画像は図１８（ｃ）に示す如く、図１８（ｂ）の合成画像のうち１フレームおきの合成画像であり、受信した合成画像を２回表示してから次に受信した合成画像をまた２回表示する、ことを繰り返している。つまり、図１８（ｃ）のケースでは、合成画像２８０１，２８０３，２８０５，…の各合成画像が２回ずつ表示されている。
【０１０９】
このようなケースの場合、画像処理部１２０５は補正対象の合成画像や補正量を、第１の実施形態のように合成画像の比較結果に応じて決定するのではなく、画像処理装置１１０３から通知された計算後描画更新レートに基づいて決定する。図１８（ｂ）のケースの場合、フレームレートは（計算後描画更新レート／フレームレート情報）の値、すなわち１／２（フレームレート比）である。然るに、図１８（ｄ）に示す如く、１フレームおきの合成画像を補正対象とし、該補正対象の合成画像についてはカウント値Ｃ＝１に対応するシフト処理を行えばよい。なお、フレームレート比＝１／３の場合、２フレームおきの合成画像Ａに対してカウント値Ｃ＝１に対応するシフト処理を行い、合成画像Ａの次のフレームの合成画像Ｂに対してカウント値Ｃ＝２に対応するシフト処理を行う。そして、合成画像Ｂの次のフレームの合成画像Ｃに対してはシフト処理は行わない。このように、フレームレート比＝１／Ｚ（Ｚは３以上の整数）の場合、（Ｚ−１）フレームおきの合成画像Ａに対してカウント値Ｃ＝１に対応するシフト処理を行う。合成画像Ａからｆ（ｆは１以上の整数）フレーム後の合成画像に対してはカウント値Ｃ＝（ｆ＋１）に対応するシフト処理を行う。そして、合成画像Ａから（Ｚ−１）フレーム後の合成画像に対してはシフト処理は行わない。
【０１１０】
次に、ＨＭＤ１１０１が１フレーム分の合成画像を表示部１２０６に表示するために行う処理について、該処理のフローチャートを示す図１９を用いて説明する。なお、図１９のフローチャートに従った処理を繰り返し行うことで、複数フレームの合成画像を表示部１２０６に表示させることができる。また、図１９において図９に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【０１１１】
ステップＳ２９０１では、画像処理部１２０５は、現フレームの合成画像がシフト対象の合成画像であるのか否かを、フレームレート比に応じて判断する。この判断の結果、現フレームの合成画像がシフト対象の合成画像である場合には、処理はステップＳ２９０２に進み、現フレームの合成画像がシフト対象の合成画像ではない場合には、処理はステップＳ１９１０に進む。
【０１１２】
ステップＳ２９０２では、画像処理部１２０５は、現フレームの合成画像に対応するシフト量を、上記の如く求める。そしてステップＳ１９０９では、画像処理部１２０５は、ステップＳ２９０２で求めたシフト量に基づいて現フレームの合成画像における各画素をシフトしたシフト済み合成画像を生成する。
【０１１３】
このように、本実施形態によれば、予め画像処理装置１１０３とＨＭＤ１１０１との間で描画レートを決定しておくことで、合成画像の比較を行うことなく、補正対象の合成画像の特定や補正量の決定を行うことができる。
【０１１４】
［第４の実施形態］
本実施形態では、第１の実施形態の構成に加え、撮像画像の撮像時におけるＨＭＤ１１０１の姿勢と、合成画像の表示時におけるＨＭＤ１１０１の姿勢と、の差異に基づくシフト量だけ合成画像をシフトさせる。これにより、上記の差異の影響を軽減した合成画像、つまり、ＨＭＤユーザの頭部の現在の姿勢に応じた合成画像を該ＨＭＤユーザに提供することができる。本実施形態では、画像処理部１２０５の構成が第１の実施形態と異なる。本実施形態に係る画像処理部１２０５の機能構成例を図２０のブロック図に示す。
【０１１５】
保持部３００１は、撮像部１２０２による撮像ごとの姿勢情報を姿勢センサ部１２０３から取得して保持する。保持部３００２は、判定部１３０２による合成画像の受信ごとの姿勢情報を姿勢センサ部１２０３から取得して保持する。
【０１１６】
計算部１３０３は、第１の実施形態と同様に、カウント値Ｃに対応するシフト量を求める。また計算部１３０３は、判定部１３０２が合成画像を受信したときの姿勢情報を保持部３００２から取得すると共に、該合成画像の生成に用いた撮像画像を撮像部１２０２が撮像したときの姿勢情報を保持部３００１から取得する。そして計算部１３０３は、保持部３００１から取得した姿勢情報と、保持部３００２から取得した姿勢情報と、の差分、つまり、合成画像の受信時と該合成画像の生成に用いた撮像画像の撮像時との間におけるＨＭＤ１１０１の姿勢変化量を求める。そして計算部１３０３は、該求めた姿勢変化量に応じた合成画像のシフト量を求める。つまり計算部１３０３は、カウント値Ｃに対応するシフト量と、撮像時と合成画像受信時との間のＨＭＤ１１０１の姿勢変化量に応じたシフト量と、を求める。
【０１１７】
画像補正部１３０１は、判定部１３０２からの合成画像に対して、計算部１３０３が求めたシフト量に応じたシフト処理を行ってシフト済み合成画像を生成し、該生成したシフト済み合成画像を表示画像として表示部１２０６に表示させる。
【０１１８】
本実施形態に係る画像処理部１２０５の動作について、図２１を用いて説明する。図２１（ａ）は図４（ａ）と同様である。図２１（ｂ）の合成画像３１０１〜３１０７はそれぞれ、図２１（ａ）の左端に示したＨＭＤ１１０１の向き〜右端に示したＨＭＤ１１０１の向き、のそれぞれの向きに対応する合成画像である。図２１（ｂ）に示した各合成画像３１０１〜３１０７は何れも、対応するＨＭＤ１１０１の向きに応じて遅延無しに表示される理想的な合成画像である。
【０１１９】
図２１（ｃ）は、システムの動作遅延により、図２１（ｂ）に示した合成画像が１フレームずれて表示された場合における表示例を示している（このときの動作遅延は１フレームとする）。例えば、合成画像３１０３が表示されるべきタイミングで合成画像３１０２が表示されている。
【０１２０】
図２１（ｄ）は、図２１（ｃ）に示した各合成画像が「該合成画像の表示タイミングまでに該合成画像の生成が完了していない」場合にＨＭＤ１１０１に表示される各合成画像を示している。図２１（ｄ）に示す如く、図２１（ｃ）の合成画像３１０２が２フレーム続けて表示された後、生成が完了した合成画像３１０３が２フレーム続けて表示されている。
【０１２１】
このような場合、本実施形態では、フレームの遅延に起因する合成画像のずれを補正する。図２１の場合、合成画像３１０１以降は１フレーム分のずれがあるので、このずれを軽減する補正処理を合成画像３１０１以降の各合成画像に対して行う。図２１の場合、ＨＭＤ１１０１の姿勢変化量は時計回り方向の量であるため、図２１（ｅ）に示す如く、合成画像３１０１〜３１０５における各画素を左方向にシフトしたシフト済み合成画像３１０１〜３１０５を求める。シフト量は、ＨＭＤ１１０１の姿勢変化量を上記のΔθとして上記の式１を計算したΔｘを用いる。
【０１２２】
また本実施形態では、図２１（ｆ）に示す如く、第１の実施形態と同様にしてカウント値Ｃに対応するシフト量だけ図２１（ｅ）のシフト済み合成画像３１０１〜３１０５をシフトした合成画像３１０１〜３１０５を生成する。上記の補正により得られる図２１（ｆ）の合成画像３１０１〜３１０５は、黒画像を除けば、図２１（ｂ）の合成画像３１０１〜３１０５と同様となる。なお本実施形態においても、表示画像より大きい領域サイズの合成画像を画像処理装置１１０３から受信するように構成した場合、合成画像における表示画像の切り出し領域の位置をシフト量だけ移動させるようにすれば、黒画像の発生を軽減させることができる。
【０１２３】
次に、ＨＭＤ１１０１が１フレーム分の合成画像を表示部１２０６に表示するために行う処理について、該処理のフローチャートを示す図２２を用いて説明する。なお、図２２のフローチャートに従った処理を繰り返し行うことで、複数フレームの合成画像を表示部１２０６に表示させることができる。また、図２２において図９に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【０１２４】
ステップＳ３２００では、上記のステップＳ１９０２の処理に加えて、保持部３００１は、該処理で姿勢センサ部１２０３が測定した姿勢情報を取得して保持する。ステップＳ３２０１では、保持部３００２は、ステップＳ１９０５における合成画像の受信時における姿勢情報を姿勢センサ部１２０３から取得して保持する。ステップＳ３２０２では、計算部１３０３は、合成画像の受信時と該合成画像の生成に用いた撮像画像の撮像時との間におけるＨＭＤ１１０１の姿勢変化量を求める。
【０１２５】
ステップＳ３２０３では、計算部１３０３は、ステップＳ３２０２で求めた姿勢変化量に応じた合成画像のシフト量を求める。ステップＳ３２０４では、画像補正部１３０１は、ステップＳ１９０５で受信した合成画像に対し、ステップＳ３２０３で求めたシフト量に応じたシフト処理を行ってシフト済み合成画像を生成する。なお、ステップＳ１９０９においてシフト処理を行う場合には、ステップＳ３２０４でシフト処理を行った合成画像が対象となる。
【０１２６】
＜変形例１＞
本実施形態では、姿勢センサ部１２０３による姿勢情報を用いて姿勢変化量を求めたが、算出部１２０８が求めた姿勢を用いて姿勢変化量を求めても良い。つまり、合成画像の受信時において算出部１２０８が求めた姿勢と、該合成画像の生成に用いた撮像画像から算出部１２０８が求めた姿勢と、の間におけるＨＭＤ１１０１の姿勢変化量を求めても良い。
【０１２７】
また、第３の実施形態のように、画像処理装置１１０３から受信した合成画像のうちどの合成画像をどれだけシフトするのかを、画像処理装置１１０３における合成画像の描画レートに応じて決定しても良い。
【０１２８】
また、本実施形態では、システムの動作遅延がどの程度であるのかは既知であるものとしたが、システムの動作遅延の取得形態は特定の取得形態に限らない。例えば、ＨＭＤ１１０１から画像処理装置１１０３に対して撮像画像を送信してから、該撮像画像に基づく合成画像をＨＭＤ１１０１が画像処理装置１１０３から受信するまでの時間Ｔを計測し、該時間Ｔに基づいて動作遅延を求めても良い。例えば、画像処理装置１１０３における合成画像の描画レートをＢとすると、（Ｔ／Ｂ）を動作遅延としても良い。また、ユーザが操作装置１１０４を用いて動作遅延を入力するようにしても良い。何れのケースにおいても、動作遅延を示す情報はＨＭＤ１１０１に対して送出され、シフト量の計算に用いられる。
【０１２９】
このように、本実施形態によれば、第１〜３の実施形態に係る構成に加えてシステムの遅延をも軽減する構成を提供することができ、酔いを軽減することが可能となる。なお、以上説明した各実施形態や各変形例の一部若しくは全部を適宜組み合わせても構わない。また、以上説明した各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
【０１３０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３１】
１３０２：判定部  １３０３：計算部  １３０４：画像補正部  １２０６：表示部
【図１】
2019184830.tif 000003
【図２】
2019184830.tif 000004
【図３】
2019184830.tif 000005
【図４】
2019184830.tif 000006
【図５】
2019184830.tif 000007
【図６】
2019184830.tif 000008
【図７】
2019184830.tif 000009
【図８】
2019184830.tif 000010
【図９】
2019184830.tif 000011
【図１０】
2019184830.tif 000012
【図１１】
2019184830.tif 000013
【図１２】
2019184830.tif 000014
【図１３】
2019184830.tif 000015
【図１４】
2019184830.tif 000016
【図１５】
2019184830.tif 000017
【図１６】
2019184830.tif 000018
【図１７】
2019184830.tif 000019
【図１８】
2019184830.tif 000020
【図１９】
2019184830.tif 000021
【図２０】
2019184830.tif 000022
【図２１】
2019184830.tif 000023
【図２２】
2019184830.tif 000024