(57)【特許請求の範囲】
【請求項１】
外部の表示装置に表示するための表示画像データの伝送を制御する制御装置であって、    伝送対象の表示画像データをライン単位に伝送パケットで伝送する場合に、前記表示画像データの伝送されるべきラインと伝送されなくてもよいラインとを、予め定められた設定値に基づいて判定する判定手段と、
前記表示画像データのライン単位の伝送パケットを生成するパケット生成手段であって、前記判定手段において伝送されなくてもよいと判定された前記表示画像データのラインについて、少なくとも該表示画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記表示画像データを除いた前記伝送パケットを生成するパケット生成手段と、
前記パケット生成手段により生成された前記伝送パケットを外部の表示装置へ送信する送信手段と
を備えることを特徴とする制御装置。
【請求項２】
前記設定値は、前記外部の表示装置の表示領域において前記表示画像データが表示されない範囲、及び、前記表示画像データにおいて前記表示領域から外れる範囲の少なくともいずれかを規定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記表示領域において前記表示画像データが表示されない範囲は、前記外部の表示装置の光学歪みをキャンセルするための補正処理の結果、または、前記表示画像データと前記表示領域との表示サイズの相違、に基づいて決定されることを特徴とする請求項２に記載の制御装置。
【請求項４】
前記表示画像データにおいて前記表示領域から外れる範囲は、前記外部の表示装置における表示のズレ量に基づいて決定されることを特徴とする請求項２または３に記載の制御装置。
【請求項５】
前記パケット生成手段は、前記判定手段において伝送されるべきと判定された前記表示画像データのラインについて、
前記ズレ量に基づく水平方向のオフセット値が存在する場合に、前記オフセット値と前記ラインの同期信号とをヘッダ内に含み、前記オフセット値に対応する表示画像データを含む伝送パケットを生成することを特徴とする請求項４に記載の制御装置。
【請求項６】
表示装置であって、
請求項１乃至５のいずれか１項に記載の制御装置の前記送信手段から、前記伝送パケットを受信する受信手段と、
受信した前記伝送パケットに含まれる表示画像データを表示する表示手段と
を備え、
前記表示手段は、受信した前記伝送パケットに表示画像データの伝送を行わない旨を示すフラグが含まれる場合に、該伝送パケットに対応する表示領域においてＮｕｌｌデータを表示することを特徴とする表示装置。
【請求項７】
現実空間を撮像して撮像画像データを生成する撮像手段と、
前記表示装置の位置姿勢を計測する位置姿勢センサと、
前記位置姿勢センサにおける計測結果に基づいて、前記表示装置の位置姿勢を予測する予測手段と、
前記予測手段の予測結果に基づいて、前記撮像画像データの切り出し位置を決定する決定手段と、
前記撮像画像データをライン単位に伝送パケットで伝送する場合に、前記撮像画像データにおいて、伝送されるべきラインと伝送されなくてもよいラインとを、前記切り出し位置に基づいて判定し、伝送されなくてもよいと判定された前記撮像画像データのラインにつき、少なくとも該撮像画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記撮像画像データを除いた伝送パケットを生成するパケット生成手段と、
前記伝送パケットを、前記制御装置へ送信する送信手段と
を更に備えることを特徴とする請求項６に記載の表示装置。
【請求項８】
請求項１に記載の制御装置と、請求項６又は７に記載の表示装置であって、前記受信手段が請求項１に記載の制御装置の前記送信手段から前記伝送パケットを受信する表示装置とを含み、前記表示装置に、現実空間画像と仮想画像とを合成した前記表示画像データを表示させる複合現実システム。
【請求項９】
外部の表示装置に表示するための表示画像データの伝送を制御する制御装置の制御方法であって、
前記制御装置の判定手段が、伝送対象の表示画像データをライン単位に伝送パケットで伝送する場合に、前記表示画像データの伝送されるべきラインと伝送されなくてもよいラインとを、予め定められた設定値に基づいて判定する判定行程と、
前記制御装置のパケット生成手段が、前記判定工程において伝送されなくてもよいと判定された前記表示画像データのラインについて、少なくとも該表示画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記表示画像データを除いた前記伝送パケットを生成するパケット生成工程と、
前記制御装置の送信手段が、前記パケット生成工程により生成された前記伝送パケットを外部の表示装置へ送信する送信工程と
を備えることを特徴とする制御装置の制御方法。
【請求項１０】
表示装置の制御方法であって、
前記表示装置の受信手段が、請求項１乃至５のいずれか１項に記載の制御装置の前記送信手段から、前記伝送パケットを受信する受信工程と、
前記表示装置の表示手段が、受信した前記伝送パケットに含まれる表示画像データを表示手段に表示する表示工程と
を備え、
前記表示工程では、受信した前記伝送パケットに該表示画像データの伝送を行わない旨を示すフラグが含まれる場合に、該伝送パケットに対応する表示領域においてＮｕｌｌデータを表示することを特徴とする表示装置の制御方法。
【請求項１１】
前記表示装置は、
現実空間を撮像して撮像画像データを生成する撮像手段と、
表示装置の位置姿勢を計測する位置姿勢センサとを備え、
前記制御方法は、
前記表示装置の予測手段が、前記位置姿勢センサにおける計測結果に基づいて、前記表示装置の位置姿勢を予測する予測工程と、
前記表示装置の決定手段が、前記予測工程における予測結果に基づいて、前記撮像画像データの切り出し位置を決定する決定工程と
前記表示装置のパケット生成手段が、前記撮像画像データをライン単位に伝送パケットで伝送する場合に、前記撮像画像データにおいて、伝送されるべきラインと伝送されなくてもよいラインとを、前記切り出し位置に基づいて判定し、伝送されなくてもよいと判定された前記撮像画像データのラインにつき、少なくとも該撮像画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記撮像画像データを除いた伝送パケットを生成するパケット生成工程と、
前記表示装置の送信手段が、前記伝送パケットを、前記制御装置へ送信する送信工程と
を更に備えることを特徴とする請求項１０に記載の表示装置の制御方法。
【請求項１２】
コンピュータを、請求項１乃至５のいずれか１項に記載の制御装置として機能させるための、コンピュータプログラム。
【請求項１３】
コンピュータを、請求項６または７に記載の表示装置として機能させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオシースルー型のＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）を用いた複合現実技術に利用可能な制御装置、表示装置及びそれらの制御方法、複合現実システム、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、現実世界と仮想世界をリアルタイムかつシームレスに融合させる技術として複合現実感、いわゆるＭＲ（Ｍｉｘｅｄ Ｒｅａｌｉｔｙ）技術が知られている。ＭＲ技術の１つに、ビデオシースルー型ＨＭＤ（Ｈｅａｄ Ｍｏｕｎｔｅｄ Ｄｉｓｐｌａｙ）を利用して、ＨＭＤ使用者の瞳位置から観察される被写体と略一致する被写体をビデオカメラなどで撮像し、その撮像画像にＣＧ（Ｃｏｍｐｕｔｅｒ Ｇｒａｐｈｉｃｓ）を重畳表示した複合現実画像をＨＭＤ使用者が観察できる技術が知られている。
【０００３】
図１３は、一般的なビデオシースルー型複合現実システムの機能ブロック図である。この図を使用して概要を説明する。ビデオシースルー型複合現実システムは、大きく分けて表示装置としてのＨＭＤ１３０１、制御装置１３０２及び画像処理装置１３０３で構成される。
【０００４】
まず、ＨＭＤ１３０１は、ビデオシースルー型のＨＭＤである。ＨＭＤ１３０１は、外界を撮像する撮像ユニット１３０４、ＣＧが重畳されたＭＲ画像を表示する表示ユニット１３０６、制御装置１３０２とのデータ送受信を行う通信Ｉ／Ｆ１３０５から構成される。
【０００５】
より具体的に撮像ユニット１３０４は、ＨＭＤ使用者の視線位置と略一致する外界の観察画像を撮像する撮像ユニットである。ステレオ画像を生成するための右目用、左目用の二組の撮像素子と光学系および後段の画像処理を行うための信号処理回路から構成される。また、インタフェース（ＩＦ）１３０５は、撮像ユニット１３０４で撮像された画像を制御装置１３０２へ伝送し、また合成されたＭＲ画像を受信するための通信インタフェースである。ここでは、リアルタイム性が求められかつ大容量の伝送が可能な光ファイバやＬＶＤＳを想定している。表示ユニット１３０６は、合成されたＭＲ画像を表示し、右目用、左目用の二組の表示デバイスと光学系から構成される。表示デバイスは小型の液晶ディスプレイやＭＥＭＳによるスキャンタイプのデバイスが使用される。
【０００６】
次に、制御装置１３０２は、ＨＭＤ１３０１を制御するための制御装置である。通信Ｉ／Ｆ１３０７、Ｉ／Ｆ変換部１３０８、画像処理装置１３０３とのデータ送受信を行う通信Ｉ／Ｆ１３０９、１３１０、および光学歪補正部１３１１から構成される。
【０００７】
より具体的に、インタフェース（Ｉ／Ｆ）１３０７は、ＨＭＤ１３０１とのデータ送受信を行うための、制御装置１３０２側の通信Ｉ／Ｆである。こちらのＩ／ＦはＨＭＤ１３０１側と同じものが使用される。Ｉ／Ｆ変換部１３０８は、受信した撮像画像データを画像処理装置１３０３へ伝送する際、画像処理装置が備えるＩ／Ｆで扱うデータフォーマットに変換する。インタフェース（Ｉ／Ｆ）１３０９は、フォーマット変換、場合によってはプロトコール変換された撮像画像データを画像処理装置１３０３へ送信するための通信Ｉ／Ｆである。こちらもリアルタイム性が求められかつ大容量の伝送が可能な、ＵＳＢやＩＥＥＥ１３９４のメタル線、ＧｉｇａｂｉｔＥｔｈｅｒｎｅｔ（登録商標）等の光ファイバが使用される。インタフェース（Ｉ／Ｆ）１３１０は、表示画像を受信するためのＩ／Ｆであり、ＤＶＩやＨＤＭＩ等の表示画像伝送用のＩ／Ｆが使用される。光学歪補正部１３１１は、ＨＭＤ１３０１内の表示ユニットのレンズ等が持つ光学的な歪みを電子的に補正する補正処理部である。ここでの補正処理の内容については後述する。
【０００８】
更に、画像処理装置１３０３は、制御装置１３０２を介してＨＭＤ１３０１から受け取った撮像画像に基づいてＣＧ描画のための位置姿勢を計測し、コンテンツＤＢを基にＣＧを描画し、撮像画像と合成処理を行う。画像処理装置１３０３は、通信Ｉ／Ｆ１３１２、１３１７、位置姿勢情報生成部１３１３、コンテンツＤＢ１３１４、ＣＧ描画部１３１５、画像合成部１３１６から構成される。また、画像処理装置１３０３は、パソコンやワークステーション等の高性能な演算処理機能やグラフィック表示機能を有する装置を用いて構成することができる。
【０００９】
より具体的に、インタフェース（Ｉ／Ｆ）１３１２は、撮像画像を受信するための画像処理装置１３０３側の通信Ｉ／Ｆであり、制御装置１３０２側と同じものが使用される。位置姿勢情報生成部１３１３は、受け取った撮像画像から、ＨＭＤ１３０１装着者の位置姿勢情報を生成する位置姿勢情報生成部である。ここでは示していないが、ＨＭＤ１３０１に付けられた三次元位置姿勢センサの出力信号を補助的に用いても構わない。また、同じく不図示の客観視点カメラによる撮像画像からマーカー等の識別子を抽出して補正情報として使用する形態もある。
【００１０】
コンテンツＤＢ１３１４は、ＣＧを描画するための仮想画像のコンテンツを格納するデータベースである。ＣＧ描画部１３１５は、位置姿勢情報とコンテンツＤＢ１３１４のコンテンツによりＣＧを描画する。画像合成部１３１６は、受け取った撮像画像とＣＧ描画部１３１５で生成した仮想画像を合成する。インタフェース（Ｉ／Ｆ）１３１７は、画像合成部１３１６で生成された合成画像であるＭＲ画像（複合画像）を制御装置１３０２へ送信する。制御装置１３０２は、その後Ｉ／Ｆ１３０７を介してＨＭＤ１３０１へＭＲ画像を送り、表示ユニット１３０６で表示する。
【００１１】
以上の構成および処理のプロセスにより、ビデオシースルーＨＭＤを装着することで、現実世界と仮想世界とがリアルタイムかつシームレスに融合した複合現実世界を体験することができる。一般的なＭＲ技術およびシステムの構成については特許文献１に開示されている。
【００１２】
また、ＭＲシステムでは、ＭＲ空間の現実感をより増すために、撮像画像およびＣＧ画像（仮想画像）の解像度や階調性の向上や、動画表示における滑らかさをフレームレートの向上によって実現することが求められている。この要求に対して、撮像画像およびＭＲ画像のデータ量は飛躍的に増大し、データを送受信するための伝送帯域も非常に広いものが求められるようになってきた。ＤＶＩによる表示画像データの光伝送化はそのための解の一つである。
【００１３】
ユーザーが装着して使用するＨＭＤでは制御装置とのケーブルには、軽く細く取り回しがしやすいものが要求されるのは必然である。ＤＶＩのＲＧＢの各色信号と同期信号および制御信号を束ねたパラレル信号を時分割多重でシリアル化し、かつ同期信号を明示するフラグをパケット内のフィールドに設けてシリアル伝送する技術が特許文献２に開示されている。
【特許文献１】特開平１１−８８９１３号公報（図７、段落［００３５］）
【特許文献２】特開２００５−２５８５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら上述した従来の技術においては、以下のような問題があった。
【００１５】
まず、上記の複合現実システムでは、表示系の光学歪みを補正するため、光学歪補正部１３１１で図１４に示されるような逆補正をかけることで劣化のない表示画像を生成する。その際、表示画像の上下は実際には使用できない領域となるため、その部分のデータ伝送は不要となるが、ＤＶＩから入力されるパラレル信号の画像表示データを単にシリアル化し、伝送するだけでは不要な部分の伝送も行われてしまう。
【００１６】
また、撮像系と表示系の画像サイズが異なる場合、特にアスペクト比が異なる場合には所望の解像度変換を行うか、すべての画像データを伝送後、表示する直前で不要部分をマスクして合わせる処理が必要となり、帯域を有効に活用することが困難である。
【００１７】
さらには、データ伝送を無線通信によって行う場合には、有線系と比べて伝送の帯域が限られている。よって、解像度と階調性と動画表示時のフレームレートおよびそれらをリアルタイムに遅延時間を少なくして表示することを並び立たせることは大変困難となっている。
【００１８】
本発明はかかる問題に鑑みなされたものであり、表示装置と制御装置との間でのデータ伝送におけるトータルのデータ伝送量を削減し、帯域を有効に活用することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するための本発明は、外部の表示装置に表示するための表示画像データの伝送を制御する制御装置であって、
伝送対象の表示画像データをライン単位に伝送パケットで伝送する場合に、前記表示画像データの伝送されるべきラインと伝送されなくてもよいラインとを、予め定められた設定値に基づいて判定する判定手段と、
前記表示画像データのライン単位の伝送パケットを生成するパケット生成手段であって、前記判定手段において伝送されなくてもよいと判定された前記表示画像データのラインについて、少なくとも該表示画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記表示画像データを除いた前記伝送パケットを生成するパケット生成手段と、
前記パケット生成手段により生成された前記伝送パケットを外部の表示装置へ送信する送信手段とを備える。
【００２０】
上記課題を解決するための本発明は、上記制御装置と接続される、表示装置であって、
前記制御装置から、伝送パケットを受信する受信手段と、
受信した前記伝送パケットに含まれる表示画像データを表示する表示手段と
を備え、
前記表示手段は、受信した前記伝送パケットに該表示画像データの伝送を行わない旨を示すフラグが含まれる場合に、該伝送パケットに対応する表示領域においてＮｕｌｌデータを表示する。
【００２１】
また、該表示装置は、
現実空間を撮像して撮像画像データを生成する撮像手段と、
表示装置の位置姿勢を計測する位置姿勢センサと、
前記位置姿勢センサにおける計測結果に基づいて、前記表示装置の位置姿勢を予測する予測手段と、
前記予測手段の予測結果に基づいて、前記撮像画像データの切り出し位置を決定する決定手段と、
前記撮像画像データをライン単位に伝送パケットで伝送する場合に該伝送パケットを生成するパケット生成手段であって、前記切り出し位置に基づき前記伝送がなされない前記撮像画像データのラインにつき、少なくとも該撮像画像データの伝送を行わない旨を示すフラグと該ラインの同期信号とをヘッダ内に含み、前記撮像画像データを除いた伝送パケットを生成するパケット生成手段と、
前記伝送パケットを、前記制御装置へ送信する送信手段と
を更に備えることができる。
【００２２】
上記課題を解決するための本発明は、上記制御装置と、上記表示装置とを含み、表示装置に、現実空間画像と仮想画像とを合成した前記表示画像データを表示させる複合現実システムとしても、実現できる。
【発明の効果】
【００２３】
本発明によれば、表示装置と制御装置との間でのデータ伝送におけるトータルのデータ伝送量を削減し、帯域を有効に活用することができる。
【発明を実施するための最良の形態】
【００２４】
以下、発明の実施形態について図面を参照して説明する。
【００２５】
［第１の実施形態］
まず、発明の第１の実施形態を図を参照して説明する。図１は、本実施形態に対応する画像形成システムの一構成例を示す機能ブロック図である。画像形成システムは、表示装置１０１、制御装置１０２、画像処理装置１０３を含む。
【００２６】
表示装置１０１は、表示機能も備えたビデオシースルー型のＨＭＤを想定しており、以下では、表示装置１０１をＨＭＤ１０１という。ＨＭＤ１０１は、撮像ユニット１０４、パケット化処理部１０５、光伝送の通信Ｉ／Ｆ１０６、表示画像調整部１０７、および表示ユニット１０８から構成される。
【００２７】
制御装置１０２は、外部のＨＭＤ１０１と接続して該ＨＭＤ１０１を制御する。また、ＨＭＤ１０１とのデータ送受信を行う光伝送の通信Ｉ／Ｆ１０９、Ｉ／Ｆ変換部１１０、画像処理装置１０３とのデータ送受信を行う通信Ｉ／Ｆ１１１、１１１２を備える。さらに、光学歪補正部１１３、および本実施例の特徴となるパケット化マスク処理部１１４を備える。
【００２８】
画像処理装置１０３は、制御装置１０２を介してＨＭＤ１０１から受け取った撮像画像に基づいてＣＧ描画のための位置姿勢を計測し、コンテンツＤＢを基にＣＧを描画し、現実空間画像である撮像画像との合成処理を行う。画像処理装置１０３は、通信Ｉ／Ｆ１１５、１２０、位置姿勢情報生成部１１６、コンテンツＤＢ１１７、ＣＧ描画部１１８、画像合成部１１９から構成される。画像処理装置１０３は、パソコンやワークステーション等の高性能な演算処理機能やグラフィック表示機能を有する装置を用いて構成することができる。
【００２９】
以下、各装置を構成するコンポーネントについて説明する。
【００３０】
まず、ＨＭＤ１０１において、撮像ユニット１０４は、ＨＭＤ装着者の視線位置と略一致する現実空間の観察画像を撮像する。撮像ユニット１０４は、ステレオ画像を生成するための右目用、左目用の二組の撮像素子と光学系、及び、後段の画像処理を行うための信号処理回路から構成される。
【００３１】
パケット化処理部１０５は、撮像ユニット１０４から出力される撮像画像を、光ファイバによるシリアル伝送が可能なパケット構成へ変換する。パラレルで出力される撮像画像データをシリアル化するとともに、所定の伝送プロトコールに従ってパケット化を行う。
【００３２】
光伝送インタフェース（Ｉ／Ｆ）１０６は、撮像ユニット１０４で撮像された画像を制御装置１０２へ伝送し、また合成されたＭＲ画像を受信するための通信インタフェースである。ここではリアルタイム性が求められかつ大容量の伝送が可能な光ファイバを使用した光伝送を想定している。本実施形態では光伝送による有線系のデータ伝送を例にとって説明しているが、ＵＷＢ等の広帯域の無線技術を用いても構わない。また、ＲＧＢおよび同期信号それぞれの伝送のための伝送ケーブルを用意して伝送する方式ではなく、各色を時系列にシリアル化するとともに、同期信号をもパケット化し、伝送に必要となるケーブルの本数を少なくする構成を想定している。データ非伝送時のマスク処理については後述する。
【００３３】
表示画像調整部１０７は、制御装置１０２から受信した表示画像データを、表示ユニット１０８の表示形式に合わせて調整する。光伝送のためにシリアル化された表示画像データをパラレルデータに変換するとともに、表示ユニットの表示サイズに合わせて表示すべきデータのないエリアのデータを生成する。詳細については後述する。
【００３４】
表示ユニット１０８は、合成されたＭＲ画像を表示する。この表示ユニット１０８も、撮像ユニット１０４同様に右目用、左目用の二組の表示デバイスと光学系から構成される。表示デバイスは小型の液晶ディスプレイやＭＥＭＳによるスキャンタイプのデバイスが使用される。
【００３５】
次に、制御装置１０２において、光伝送インタフェース（Ｉ／Ｆ）１０９は、制御装置１０２側の通信インタフェースである。光伝送Ｉ／Ｆ１０９は、ＨＭＤ１０１側の光伝送Ｉ／Ｆ１０６と同一の構成を有することができる。
【００３６】
インタフェース（Ｉ／Ｆ）変換部１１０は、受信した撮像画像データを画像処理装置１０３へ伝送する際、画像処理装置１０３が備えるインタフェースで扱うデータフォーマットに変換する。
【００３７】
インタフェース（Ｉ／Ｆ）１１１は、フォーマット変換、場合によってはプロトコール変換された撮像画像データを画像処理装置１０３へ送信するための通信インタフェースである。リアルタイム性が求められかつ大容量の伝送が可能な、ＵＳＢやＩＥＥＥ１３９４のメタル線、ＧｉｇａｂｉｔＥｔｈｅｒｎｅｔ（登録商標）等の光ファイバが使用される。
【００３８】
インタフェース（Ｉ／Ｆ）１１２は、表示画像を受信するための通信インタフェースである。ＤＶＩやＨＤＭＩ等の表示画像伝送用のＩ／Ｆが使用される。光学歪補正部１１３は、ＨＭＤ１０１内の表示ユニットのレンズ等が持つ光学的な歪みを電子的に補正する。
【００３９】
パケット化マスク処理部１１４は、光学歪補正処理で光学系で生じる歪みを打ち消すような逆歪みがかけられた表示画像を光ファイバによるシリアル伝送が可能なパケット構成へと変換するパケット生成部として機能する。また、光学歪補正処理の結果表示されなくなった領域のデータをライン単位でマスクするマスク処理部として機能する。マスク処理によってデータの伝送を行わない場合は、マスク処理されたことを明示するフラグをパケットのヘッダ内のフラグで表示し、同じく同期信号（水平同期信号）を明示するフラグを立てたパケットを伝送する。詳細については後述する。
【００４０】
次に、画像処理装置１０３において、インタフェース（Ｉ／Ｆ）１１５は、撮像画像を受信するための画像処理装置１０３側の通信インタフェースである。Ｉ／Ｆ１１５は、制御装置１０２側のＩ／Ｆ１１１と同一の構成を有することができる。位置姿勢情報生成部１１６は、制御装置１０２からＩ／Ｆ１１５を介して受信した撮像画像から、ＨＭＤ１０１装着者の位置姿勢情報を生成する。コンテンツＤＢ１１７は、仮想画像のコンテンツとして保存するデータベースである。ＣＧ描画部１１８は、位置姿勢情報とコンテンツによりＣＧを描画する。画像合成部１１９は、受信した現実空間画像である撮像画像とＣＧ描画部１１８で生成した仮想画像とを合成して、合成画像を生成する。
【００４１】
以上の構成を有する画像形成システムは、以下のように動作する。
【００４２】
まず、ＨＭＤ１０１の撮像ユニット１０４で生成された撮像画像データは、パケット化処理部１０５でシリアルデータに変換され、かつ、所定のプロトコールに従ったパケット構成に変換される。変換後の撮像画像データは、光伝送Ｉ／Ｆ１０６を介して制御装置１０２へ送信される。
【００４３】
制御装置１０２では、ＨＭＤ１０１から受信した撮像画像データに対し、画像処理装置１０３に送信するためにプロトコール変換やフォーマット変換をＩ／Ｆ変換部１１０で施した後、画像処理装置１０３へ送信する。
【００４４】
画像処理装置１０３は、受信した撮像画像データからＨＭＤ１０１装着者の位置姿勢情報を生成し、ＣＧ画像を生成する。撮像画像データとの合成処理後、制御装置１０２へ合成されたＭＲ画像を送信する。
【００４５】
制御装置１０２では、表示画像に対して光学歪の影響をキャンセルするために光学歪補正部１１３で逆歪みを適用し、ＨＭＤ１０１に対して光伝送Ｉ／Ｆ１０９を介して送信する。その際、データのパケット化と同時に、マスク処理によって非伝送のデータが存在する場合には、その旨をパケット内のヘッダに明示する。
【００４６】
ＨＭＤ１０１では、受信した表示画像を表示画像調整部１０７において適切なフォーマットに変換する。その際、マスクされたデータが存在する領域は、ＨＭＤ１０１側でＮｕｌｌデータを埋めて、表示ユニット１０８へ送り、使用者に表示する。
【００４７】
このように、本実施形態の画像形成システムでは、光学歪補正による非表示領域の発生や、撮像系と表示系の解像度やアスペクト比の調整のため、データのマスク処理を行っている。そして、マスク処理を行う場合は、マスクされたデータをＨＭＤ１０１には送信せず、同期信号とともにマスクのフラグをパケットとして送信している。これにより、伝送データ量を削減し、帯域を有効に活用することが可能になる。
【００４８】
次に、本実施形態に対応する伝送パケットの構成について、図２を参照して説明する。図２は、発明の実施形態に対応する伝送パケットのフィールドコンポーネントの一例を示す図である。
【００４９】
図２に示す伝送パケットは、撮像系や表示系のストリームデータの伝送に用いるパケットの構成の例を示している。伝送パケット２００は、複数のコンポーネントフィールドによって構成されている。以下、各コンポーネントフィールドについて説明する。
【００５０】
ｐｃｏｄｅフィールド２０１は、パケットの種別を示すコードである。撮像系の画像データ、表示系の画像データ、制御データ等の種類が存在する。本実施形態では、後述するように垂直や水平の同期信号が画像データを伝送するパケットのヘッダ内にフラグとして明示される構成であるが、同期信号のみをパケットとして送信し、受信側で同期信号を生成する構成としてもよい。
【００５１】
ｍａｓｋ（マスク）フィールド２０２は、本実施形態の特徴となるフィールドで、送信すべきデータが存在しないことを明示するためのフラグの役割をもつ。表示ユニット１０８の表示デバイスで表示できる画像サイズの最大値は予め決められており、撮像系とのサイズやアスペクト比のミスマッチ、および歪み補正等で表示すべきデータが存在しない場合もある。このような場合には、表示されないデータは敢えて送信せず、データが存在しないことを伝え、受信側でデータを生成する構成を取る方が効率的である。実際には、表示すべきデータが存在しないのでＮｕｌｌデータで埋める。そこで、該当ラインのデータを送信しない場合にはこのマスクフィールド２０２を「ＯＮ」とする。一方、該当ラインのデータを送信する場合には、このマスクフィールド２０２を「ＯＦＦ」とする。これにより、マスクフィールドのフラグによって受信側に、データの伝送の有無を伝えることができる。
【００５２】
また、同期信号を別パケット構成としない場合には、このフィールド内に、垂直同期および水平同期信号の立ち上がりを明示するフラグを設けてもよい。さらに、第２の実施形態で説明するような、水平方向のオフセットが存在する場合には、オフセット値を含めることができる。
【００５３】
ｒｌフィールド２０３は、該当パケットのデータが右目用か左目用かを明示するためのフィールドである。ＨＭＤ１０１では右目用、左目用と撮像系も表示系も二系統の画像データを取り扱うため、これらの区別のために使用する。ｒｅｓｅｒｖｅｄ２０４は、予約のためのフィールドである。
【００５４】
ｉｎｄｅｘ（インデックス）フィールド２０５は、１フレームの画像データを複数のパケットに分割した際のインデックス番号である。この例では、水平同期信号ごと、すなわち１ラインごとに一つのパケットとして構成しているため、インデックス番号は水平同期信号の番号もしくはライン数と同義である。
【００５５】
ｄａｔａ＿ｌｅｎｇｔｈ（データ長）フィールド２０６は、以後に続くデータフィールドのデータ長を示すフィールドである。この例では１ビットで１バイトのデータ長を示している。ｄａｔａ＿ｆｉｅｌｄ（データフィールド）２０７は、伝送対象となる表示画像データを格納するためのフィールドである。仮にＳＸＧＡ（１２８０×１０２４）の画像サイズの表示画像データを伝送することを想定した場合、１ラインのデータサイズは１２８０（画素）×３バイト（ＲＧＢ各８ビット）で計３８４０バイトとなる。
【００５６】
次に、図３ａを参照して、伝送前後の表示画像の関係を説明する。図３ａは、発明の第１の実施形態に対応する、伝送前後の表示画像の関係を説明するための図である。
【００５７】
図３ａでは、縦Ｌ１、横Ｎの画素数を持つ表示画像のエリア３００を一例として示している。たとえば、制御装置１０２がＤＶＩ経由で受信した表示画像サイズが、このＬ１×Ｎの画像サイズであったとする。しかし、設計条件によっては光学歪補正処理の結果、画像サイズが図の斜線部で示される上下のエリア３０１及び３０２を除いた領域３０３となってしまう。この場合、エリア３０１及び３０２は無効な領域であって、表示ユニット１０８の表示領域において表示画像が表示されない範囲である。なお、このときの縦方向のサイズをＬ２（＜Ｌ１）とする。
【００５８】
制御装置１０２からＨＭＤ１０１に対して表示画像３００を伝送する場合、斜線のエリアを除いた有効データ３０３を送信することが効率的である。その一方で、ＨＭＤ１０１の表示ユニット１０８の表示サイズは、無効なエリアを含めたＬ１×Ｎである。よって、表示ユニット１０８で表示する際には、伝送されない領域をＮｕｌｌデータで埋めることとなる。
【００５９】
具体的な数値を挙げると、Ｌ１＝１０２４、Ｎ＝１２８０、Ｌ２＝９６０であり、上下の斜線のエリアの幅が等しいとすると、矢印で示されるａの位置は３２とすることができる。この場合、０から３１ライン目までがマスクされることになる。このようなマスク処理するライン数は、マスク処理のための設定値として、パケット化マスク処理部１１４が保持する。
【００６０】
次に、図３ｂを参照して、ＨＭＤ１０１と制御装置１０２との間のデータフローについて説明する。図３ｂは、発明の第１の実施形態に対応するＨＭＤ１０１と制御装置１０２との間のデータフローの一例を示すシーケンス図である。図３ｂのデータフローでは、一例として、制御装置１０２から図３ａに示した表示画像がＨＭＤ１０１に送信される場合を想定している。
【００６１】
まず、フレームの先頭を示す垂直同期信号を表すＶパケットを制御装置１０２からＨＭＤ１０１に対して送信する。この例ではわかりやすくするために、垂直および水平の同期信号はストリームデータを送信するパケットとは別パケットとしているが、同期信号を明示するフィールドを設けたストリームデータパケットとして送付しても構わない。
【００６２】
垂直同期信号Ｖを送信したあと、続けて水平同期信号を表すＨパケットを送信する。この例では別パケット構成としているのは垂直同期信号と同様である。
【００６３】
次に表示系のストリームパケットを送信する。その際、上から３２ラインは非伝送となるため、ストリームパケット自体は送信するものの、先に説明したヘッダ内のマスクフィールドのフラグを立て、データ長フィールド２０６の値は０、そのあとに続くデータフィールド２０７もなしとなる。このパケットを受信したＨＭＤ１０１側ではマスクビットがＯＮになっていることから、データが存在しないことを把握する。データがマスクされる間はしばらく同じシーケンスが続けられる。
【００６４】
そして、３３ライン目（図３ａのａライン目）からストリームデータが存在するため、通常のパケットの送信となる。制御装置１０２側の処理およびＨＭＤ１０１側の処理の内容やフローについては別途図を用いて後述する。
【００６５】
まず、図４を参照して、制御装置１０２側の処理を説明する。図４は、発明の第１の実施形態に対応する制御装置１０２の処理の一例を示すフローチャートである。当該フローチャートに対応する処理は、制御装置１０２の各機能ブロックが、対応する処理プログラムを実行することにより実現される。
【００６６】
図４において、まず、ステップＳ４０１では、パケット化マスク処理部１１４がシステム稼働時の初期設定として、マスク設定が為されているか否かを判定する。もし、マスク設定がされている場合には（ステップＳ４０１において「ＹＥＳ」）、ステップＳ４０２へ移行する。一方、マスク設定がされていない場合は（ステップＳ４０１において「ＮＯ」）、すべてのデータを伝送すべく、ステップＳ４０２の処理を飛ばしステップＳ４０３へ進む。
【００６７】
ステップＳ４０２では、パケット化マスク処理部１１４は、マスク設定があることを受けて設定値の読み出しを行う。具体的には上下、それぞれ何ラインをマスク処理するのかを把握し、設定する。ステップＳ４０３では、制御装置１０２は、画像処理装置１０３からＤＶＩ経由で表示画像の入力を受ける。ステップＳ４０４では、光学歪補正部１１３が、表示ユニット１０８の光学系を介した結果正常な表示が行われるよう逆歪みをかける光学歪補正処理を行う。
【００６８】
ステップＳ４０５では、パケット化マスク処理部１１４は、補正処理の結果をライン単位で処理するため、ライン単位で読み出しを行う。ステップＳ４０６では、パケット化マスク処理部１１４は、処理対象のラインがマスク処理を行うラインであるかどうかを設定値に照らし合わせて判定する。マスク処理に該当するライン番号である場合には（ステップＳ４０６において「ＹＥＳ」）、ステップＳ４０７へ移行する。ラインがマスク処理に該当しない場合には（ステップＳ４０６において「ＮＯ」）、ステップＳ４０８へ移行する。
【００６９】
ステップＳ４０７では、マスク処理を行うラインであることを受けて、パケット化マスク処理部１１４がパケットヘッダのマスクフィールドのマスクビット（フラグ）をＯＮにセットする。この場合はデータは非伝送となるため、データフィールド２０７には伝送対象のデータ本体が付加されず、データ長２０６も０に設定されることとなる。ステップＳ４０８では、マスク処理を行わない通常の処理を行うラインであることを受けて、マスクフィールド２０２のマスクビット（フラグ）をＯＦＦする。
【００７０】
ステップＳ４０９では、パケット化マスク処理部１１４が、それぞれのマスクフィールド２０２の値を反映させ、パケットを構成する。同期信号を別パケット構成にしていない場合は、同期信号のフラグを同じくマスクフィールド２０２内に立てる。ステップＳ４１０では、生成されたパケットを、光伝送Ｉ／Ｆ１０９を介してＨＭＤ１０１へ伝送する。
【００７１】
次に、図５を参照して、ＨＭＤ１０１側の処理を説明する。図５は、発明の第１の実施形態に対応するＨＭＤ１０１の処理の一例を示すフローチャートである。当該フローチャートに対応する処理は、ＨＭＤ１０１の各機能ブロックが、対応する処理プログラムを実行することにより実現される。
【００７２】
まず、ステップＳ５０１では、制御装置１０２からパケットを、光伝送Ｉ／Ｆ１０６を介して受信する。受信したパケットはストリームデータパケットで、同期信号もヘッダ内に含まれる構成であるとする。ステップＳ５０２では、表示画像調整部１０７が、パケットヘッダ内のマスクフィールドにある同期信号のフラグを確認する。ステップＳ５０３では、表示画像調整部１０７が同期信号の種類の確認を受けて、表示ユニット１０８で使用する同期信号を生成する。
【００７３】
ステップＳ５０４では、表示画像調整部１０７がヘッダ内のマスクフィールドにあるマスクビットがＯＮになっているかどうかを判定する。マスクビットがＯＮ、すなわちマスク処理によってデータが非伝送である場合には（ステップＳ５０４において「ＹＥＳ」）、ステップＳ５０５へ移行する。一方、マスクビットがＯＦＦ、すなわち通常のデータ伝送が行われている場合には（ステップＳ５０４において「ＮＯ」）、ステップＳ５０６へ移行する。
【００７４】
ステップＳ５０５では、表示画像調整部１０７がマスク処理が行われていることを受けて、該当するエリアにＮｕｌｌデータを、表示ユニット１０８が使用するメモリに書き込む。その後、ステップＳ５０８に移行する。ステップＳ５０６では、マスク処理が行われていないことを受けて、表示画像調整部１０７がパケットのデータフィールド内にある表示画像データを取得する。続くステップＳ５０７では、表示画像調整部１０７が取得した表示画像データをメモリに書き込む。
【００７５】
ステップＳ５０８では、表示ユニット１０８が１フレーム分の画像の格納が終わったタイミングで表示を行う。
【００７６】
以上のように、本実施形態では表示画像のシリアル化および水平、垂直同期信号のパケット化と合わせてデータの非伝送を明示するフラグを用意し、受け側で画像の再構成を行う。これによりトータルのデータ伝送量を削減し、帯域を有効に活用することが可能となる。
【００７７】
［第２の実施形態］
次に、発明を実現する第２の実施形態について説明する。上述の第１の実施形態では、マスク領域を、光学歪補正処理の結果や、撮像系と表示系のサイズやアスペクト比に基づいて決定した。これ対して、本第２の実施形態に対応する画像形成システムでは、工場出荷時の調整工程の結果を反映させる点で相違する。具体的には、左右の目に表示する表示画像が、上下、左右に微小の調整を必要とする場合、組立時の精度をある程度に抑え、電子的に補正することで同等の機能を実現する。この特徴に関して、以下ではより詳細に説明する。
【００７８】
まず、図６を参照して、発明の第２の実施形態に対応するシステム構成を説明する。図６は、本実施形態に対応するシステム構成の一例を示す機能ブロック図である。図６に示すように、本実施形態に対応するシステムは、ＨＭＤ６０１、制御装置６０２、パーソナルコンピュータ（ＰＣ）６０３、検査用カメラ６０４とで構成される。
【００７９】
ＨＭＤ６０１は、ＭＲ画像を表示する。ＨＭＤ６０１が有する撮像、表示及び画像伝送の機能については第１の実施形態と同様のため、ここでの説明を省略する。なお、以下の説明においてＨＭＤ６０１の構成ブロックに言及する場合は、図１における参照番号を利用して言及する。たとえば、ＨＭＤ６０１内の表示ユニットについては、表示ユニット１０８と呼ぶことにする。
【００８０】
制御装置６０２は、ＨＭＤ６０１を制御する。制御装置６０２の機能も、第１の実施形態で説明した制御装置１０２と同様であるが、調整時の値を格納する調整値格納部６１０を更に有する点で相違する。なお、以下の説明において制御装置６０２の構成ブロックに言及する場合は、ＨＭＤ６０１の場合と同様に図１における参照番号を利用して言及する。
【００８１】
ＰＣ６０３は、調整用の画像を出力し、調整値を把握するための機能を持つ処理装置である。ＰＣ６０３は、画像生成部６０５、画像出力部６０６、画像入力部６０７、比較・調整機能部６０８及び調整値設定部６０９を備えて構成される。
【００８２】
検査用カメラ６０４は、ＨＭＤの表示出力を確認する検査用のカメラである。カメラで撮像した表示画像はＰＣ６０３へ取り込まれ、調整に使用される。
【００８３】
画像生成部６０５は、ＨＭＤ６０１で表示させる調整用の画像を生成する。画像出力部６０６は、ＤＶＩ等の出力を持つグラフィックスボードから画像生成部６０５で生成された表示用画像を出力する。画像入力部６０７は、検査用カメラ６０４で撮像されたカメラ画像を、ＵＳＢやＩＥＥＥ１３９４等のＩ／Ｆを介してＰＣ６０３へ入力する。
【００８４】
比較・調整機能部６０８は、表示用画像として出力した画像と、検査用カメラ６０４で撮像された画像とを比較する。また、比較の結果、表示位置がずれている場合には、そのズレ量を算出して再度画像を生成し、画像を出力する。この作業を繰り返し所望の公差範囲に収まったら処理を終え、最終的にどの程度ずれているかという調整値を調整値設定部６０９に送る。比較・調整機能部６０８における処理の詳細については後述する。
【００８５】
調整値設定部６０９は、制御装置６０２に対して調整値を設定する。比較・調整機能部６０８で算出されたズレ量の設定値を制御装置６０２に送信する。ＲＳ−２３２ＣやＵＳＢ等のシリアルＩ／Ｆまたは、制御装置のデバッグ用Ｉ／Ｆ（例えばＪ−ＴＡＧ等）を使用する。
【００８６】
上記の構成によって、本実施形態では、工場やユーザーサイドで表示位置の自動調整を行うための調整値を算出し、制御装置６０２に対して設定する。
【００８７】
次に、図７を参照して調整前後の画像位置について説明する。図７は、発明の第２の実施形態に対応する、調整前後の画像位置の関係を説明するための図である。
【００８８】
図７は、左目画像７００Ｌと右目画像７００Ｒの両表示画像の模式図を示している。左目画像７００Ｌと右目画像７００Ｒとにおいて、最も外側の枠７０１Ｌと７０１Ｒとは、検査用カメラの撮影範囲を示している。内側の実線で示された矩形７０２Ｌと７０２Ｒとは、理想的な状態における表示画像の位置を示す。一方、点線部７０３Ｌと７０３Ｒとは、実際に観察されている表示位置を示している。
【００８９】
左目画像７００Ｌは、点線部７０３Ｌが右斜め下方にずれていることがわかる。また、右目画像７００Ｒは、点線部７０３Ｒが下方にずれていることがわかる。ここではあくまで模式的に示しているが、コントラストが高く表示位置の確認がしやすい検査用の画像を表示して、理想的な位置との比較を行う。
【００９０】
次に、図８を参照して、本実施形態に対応するＰＣ６０３における処理を説明する。図８は、発明の第２の実施形態に対応する処理の一例を示すフローチャートである。図８において、ステップＳ８０１からＳ８０９まではＰＣ６０３側で行う処理の内容であり、ステップＳ８１０だけが制御装置６０２で行う処理内容である。よって、当該フローチャートに対応する処理は、制御装置６０２とＰＣ６０３との各機能ブロックが、対応する処理プログラムを実行することにより実現される。
【００９１】
まず、ステップＳ８０１では、画像生成部６０５で標準画像を基準位置に表示されるように画像を生成し、画像出力部６０６から出力する。ステップＳ８０２では、ＨＭＤ６０１の表示ユニット１０８に表示されている画像を検査用カメラ６０４によって撮影し、そのカメラ画像をＰＣ６０３に取り込む。
【００９２】
ステップＳ８０３では、比較・調整機能部６０８が、出力した標準画像と検査用カメラ６０４から取り込まれた入力画像との位置関係を比較する。ステップＳ８０４では、比較の結果、表示位置のずれが許容範囲に入っているかどうかを判断する。この許容範囲は、たとえば、「垂直方向にＮ画素、水平方向にＭ画素」のように設定することができる。具体的な値は、設計的事項であるので、ここでは特に限定しない。許容範囲に入っていない場合にはステップＳ８０５へ、許容範囲に収まっている場合にはステップＳ８０９へそれぞれ進む。
【００９３】
ステップＳ８０５では、比較・調整機能部６０８が、位置ずれが許容値以上あることを受けて、さらに電気的には補正しきれない規定値を超えたズレ量であるかどうかを判定する。ズレ量が規定値を超えている場合にはステップＳ８０６へ、規定値以内に収まっている場合にはステップＳ８０７へそれぞれ進む。ステップＳ８０６では、ズレ量が規定値以上であることを受けて、メカ的な調整が必要であると判断し、電子的な調整工程を終了する。
【００９４】
ステップＳ８０７では、画像生成部６０５が、比較・調整機能部６０８からズレ量の情報を取得し、ズレ量が許容範囲に収まるように表示させる画像を改めて生成する。実際には比較結果で得られたズレ量を相殺するようにずらした表示画像を生成する。ステップＳ８０８では、画像出力部６０６が、ステップＳ８０７で生成した調整確認要の表示画像を、制御装置６０２に出力する。
【００９５】
以後、検査用カメラ６０４で表示画像を取り込み、許容値の範囲に収まるまで処理を繰り返す。ステップＳ８０９では、位置ずれが許容値の範囲内に収まったことを受けて、最終的な調整値を決定する。この場合の調整値は図７で示したように、上下のライン方向だけではなく、左右の画素単位でも調整が可能である。
【００９６】
ステップＳ８１０では、決定された調整値を制御装置６０２の調整値格納部６１０が保存する。保存した後、実際にシステムを動作させた場合の処理については別の図を用いて説明する。
【００９７】
次に、図９を参照して制御装置６０２における処理を説明する。図９は、発明の第２の実施形態に対応する制御装置６０２の処理の一例を示すフローチャートである。当該フローチャートに対応する処理は、制御装置６０２の各機能ブロックが、対応する処理プログラムを実行することにより実現される。
【００９８】
図９において、ステップＳ９０１では、システムの起動時に表示位置の補正を行うための調整値を、調整値格納部６１０から読み出す。ステップＳ９０２では、Ｉ／Ｆ１１２において、合成されたＭＲ画像を、ＨＭＤ６０１への表示画像として画像処理装置１０３から受信する。
【００９９】
ステップＳ９０３では、光学歪補正部１１３が、入力された表示画像に対し光学歪補正を施す。ステップＳ９０４では、歪補正後の表示画像をパケット化マスク処理部１１４が、ライン単位で読み出す。ステップＳ９０５では、処理対象のラインがマスク処理の該当ラインであるかどうかを判定する。
【０１００】
なお、ここでは特に説明していないが、第１の実施形態で説明した光学歪補正処理やアスペクト比変換等に伴うマスク処理についても含めて処理を行う。すなわち、マスク処理を行う該当ラインの判定は、ズレ量がない前提での設定値と、調整時に決定された調整値とを合成した設定値に基づいて行う。ズレ量の調整値は実際にはライン番号の変更、付け替えとして作用し、ずらしたことによってデータが存在しなくなるラインについてマスク処理を適用する。
【０１０１】
例えば、ズレ量の調整値が「下方に２ライン」の場合には、上部の２ラインがマスクされ、下部の２ラインは不採用となる。該２ライン分は、表示画像において表示ユニット１０８の表示領域から外れることとなる。マスク処理の該当ラインである場合にはステップＳ９０６へ、非該当のラインである場合にはステップＳ９０７へそれぞれ進む。
【０１０２】
ステップＳ９０６では、パケット化マスク処理部１１４が、マスク処理の該当ラインであることを受けて、マスク処理を行う。マスク処理の内容については第１の実施形態と同様のため説明は省略する。ステップＳ９０７では、パケット化マスク処理部１１４が、水平方向の調整値が設定されているかどうかを判定する。調整が必要な場合は（ステップＳ９０７において「ＹＥＳ」）ステップＳ９０８へ移行する。一方、調整が不要の場合は（ステップＳ９０７において「ＮＯ」）、ステップＳ９０９へ移行する。
【０１０３】
ステップＳ９０８では、パケット化マスク処理部１１４が、水平ラインにおける表示用画素として採用する先頭画素のオフセット値を決定する。これにより、ＨＭＤ６０１側で読み出し位置をオフセット位置によって調整することで、表示する画像の位置を調整することが可能になる。
【０１０４】
ステップＳ９０９では、それぞれのマスクフィールドの値を反映させ、パケットを構成する。このとき、オフセット値が設定されているラインについては、該オフセット値をマスクフィールド２０２に含める。併せて、データフィールド２０７には、オフセットによりＨＭＤ６０１の表示ユニット１０８の表示領域から外れる画素のデータを含めないこととする。同期信号を別パケット構成にしていない場合は、同期信号のフラグを同じくマスクフィールド内に立てる。ステップＳ９１０では、生成されたパケットを伝送する。
【０１０５】
以上のように、工場出荷時やユーザーによる調整時に表示位置のズレ量を把握し、表示画像伝送時に表示位置をずらすよう調整した場合でも、表示のために必要なデータのみを伝送することができる。その結果、伝送の帯域を有効活用することが可能となる。
【０１０６】
［第３の実施形態］
次に、発明を実現する第３の実施形態について説明する。上述の第１の実施形態では、画像合成を画像処理装置１０３で行っていた。これに対し本実施形態では、画像合成を制御装置もしくはＨＭＤ側で行い、最新の撮像画像と合成することで背景画像である実写画像の遅延を抑える点に特徴を有する。また、合成に使用する撮像画像の非伝送時の対応も含めている。
【０１０７】
まず、図１０を参照して、発明の第３の実施形態に対応するシステム構成を説明する。図１０は、本実施形態に対応するシステム構成の一例を示す機能ブロック図である。図１０に示すように、本実施形態に対応するシステムは、表示装置１００１、制御装置１００２、画像処理装置１００３とで構成される。
【０１０８】
表示装置１００１は、表示機能も備えたビデオシースルー型のＨＭＤを想定している。以下、表示装置１００１は、ＨＭＤ１００１という。ＨＭＤ１００１は、撮像ユニット１００４、三次元位置姿勢センサ１００５、位置姿勢情報生成部１００６，パケット化マスク処理部１００７、光伝送の通信Ｉ／Ｆ１００８、表示画像調整部１００９、表示ユニット１０１０から構成される。
【０１０９】
撮像ユニット１００４、光伝送の通信Ｉ／Ｆ１００８、表示画像調整部１００９、、表示ユニット１０１０の機能は、図１に示した対応するブロックと同様であるため、ここでの説明は省略する。
【０１１０】
制御装置１００２は、ＨＭＤ１００１を制御する。制御装置１００２は、ＨＭＤ１００１とのデータ送受信を行う光伝送の通信Ｉ／Ｆ１０１１、データ変換部１０１２、撮像画像変換部１０１３、Ｉ／Ｆ変換部１０１４、画像処理装置１００３とのデータ送受信を行う通信Ｉ／Ｆ１０１５、１０１６を備える。また、画像合成部１０１７、光学歪補正部１０１８、およびパケット化マスク処理部１０１９を更に備える。光伝送の通信Ｉ／Ｆ１０１１、Ｉ／Ｆ変換部１０１４、通信Ｉ／Ｆ１０１５、１０１６、光学歪補正部１０１８、およびパケット化マスク処理部１０１９は、図１における対応するブロックと同様の機能を有するので説明は省略する。
【０１１１】
画像処理装置１００３は、制御装置１００２を介してＨＭＤ１００１から受け取った撮像画像や位置姿勢情報生成部１００６における計測結果として生成される位置姿勢情報に基づきＣＧ描画のための位置姿勢を補正し、コンテンツＤＢを基にＣＧを描画する。図１とは、画像合成機能が省かれた他は、位置姿勢補正部１０２１以外の機能が同じであるため、ここでの説明は省略する。
【０１１２】
三次元位置姿勢センサ１００５は、ＨＭＤ１００１装着者の位置姿勢計測の補助を行うセンサであって、磁気センサやジャイロセンサ（加速度、角速度）を想定している。位置姿勢情報生成部１００６は、三次元位置姿勢センサ１００５出力および画像処理によって撮像画像から抽出した識別マーカーを利用して、ＨＭＤ１００１装着者の位置姿勢情報を生成する。
【０１１３】
本実施形態では、計測補助用に三次元位置姿勢センサ１００５を使用する構成であるが、センサの使用および実装は必須ではなく、撮像画像に含まれるマーカーの識別のみによって計測する構成でも構わない。
【０１１４】
パケット化マスク処理部１００７は、表示領域より大きなサイズの撮像画像を取得して、撮像画像取得時の位置姿勢情報に基づいて、表示のタイミングにおける位置を予測し、予測結果に基づいて切り出すサイズを決定する。また、表示に不要な領域のデータをライン単位でマスクする。これにより、ＣＧとの合成の背景となる撮像画像の遅延を最小限に抑えることができる。
【０１１５】
マスク処理によってデータの伝送を行わない場合は、マスク処理されたことを明示するフラグをパケットのヘッダ内のフラグで示し、同じく同期信号（水平同期信号）を明示するフラグを立てたパケットを伝送する。なお、第２の実施形態と同様に、水平方向のオフセット値も設定し、水平ライン上の必要なデータを選択してパケット化を行う。
【０１１６】
データ変換部１０１２は、画像処理装置１００３において、ＨＭＤ１００１で撮像した画像中から識別子を抽出して位置姿勢計測を実施するのに撮像画像が必要な場合、位置姿勢計測に必要な画像サイズにまで画像を縮小処理する。また、ＨＭＤ１００１側で既に算出された値を補正処理するのに撮像画像が必要な場合、補正に必要な画像サイズにまで画像を縮小処理する。
【０１１７】
撮像画像変換部１０１３は、ＨＭＤ１００１から受信した撮像画像データを画像合成時のデータ形式に合わせて変換する。光伝送のためにシリアル化された撮像画像データをパラレルデータに変換する。
【０１１８】
画像合成部１０１７は、それぞれ入力された撮像画像と画像処理装置１００３のＣＧ描画部１０２３で生成された仮想画像を合成する。画像の合成方法にはいくつかの手法が存在するが、ここではクロマキー処理とαチャネルによる画像合成を想定している。
【０１１９】
位置姿勢補正部１０２１は、画像処理装置１００３側に配置し、ＨＭＤ１００１側で持つ機能と同等か、またはＨＭＤ１００１で生成した位置姿勢情報を画像合成時のタイミングに合わせて補正処理する機能を持たせても構わない。補正では、時系列的に把握した過去の位置姿勢情報から画像合成時の位置姿勢情報を算出する処理を行う。この処理は一般的な予測手法で構わず、良く知られた手法ではカルマンフィルタを用いたものがある。ここでは画像合成時のタイミングと合わせたが、合成画像表示時のタイミングに合わせる構成でも構わない。その場合、撮像画像に関しては、取得から表示まで若干のタイムラグが生じるが、ＣＧ画像に関しては予測が大幅にずれない限りリアルタイム性を保証しているように見せることができる。
【０１２０】
次に、図１１を参照して調整前後の画像位置について説明する。図１１は、発明の第３の実施形態に対応する、撮像画像から表示領域を切り出す処理を説明するための概念図である。
【０１２１】
図１１において、外枠１１０１は撮像ユニット１００４によって撮影された撮像画像の画像サイズである。内側の実線で示された矩形１１０２は、撮像時と画像表示時もしくは画像合成時の空間的な位置ずれがない理想的な状態における撮像画像の位置を示す。点線部で囲まれる斜線領域１１０３は、位置姿勢情報によって画像表示時もしくは画像合成時のタイミングに合わせて切り出しが行われる撮像画像の切り出し位置を示している。この例では、右上方に頭部が運動していることを予測している。
【０１２２】
次に、図１２を参照してＨＭＤ１００１における処理を説明する。図１２は、発明の第３の実施形態に対応するＨＭＤ１００１の処理の一例を示すフローチャートである。当該フローチャートに対応する処理は、ＨＭＤ１００１の各機能ブロックが、対応する処理プログラムを実行することにより実現される。
【０１２３】
図１２において、ステップＳ１２０１では、撮像ユニット１００４によって撮像された撮像画像を出力する。この撮像画像は、画像合成サイズよりも大きな画像である。ステップＳ１２０２では、位置姿勢情報生成部１００６が三次元位置姿勢センサ１００５の出力値を取得する。位置姿勢情報生成部１００６は、過去のセンサ出力値を保持しており、ステップＳ１２０３では、撮像されたタイミングのセンサ出力値と該過去のセンサ出力値から画像合成時もしくは画像表示時のタイミングの撮像位置を予測する。なお、過去のセンサ出力値は、新しいセンサ出力値により更新される。
【０１２４】
ステップＳ１２０４では、パケット化マスク処理部１００７が、画像合成時もしくは画像表示時の予測された撮像位置に基づき、撮像画像の切り出し位置を設定する。ステップＳ１２０５では、処理対象ラインがマスク処理を行うラインであるかどうかを設定値に照らし合わせて判定する。もし、マスク処理に該当するライン番号である場合には（ステップＳ１２０５において「ＹＥＳ」）、ステップＳ１２０６へ移行する。マスク処理に該当しない場合には（ステップＳ１２０５において「ＮＯ」）、ステップＳ１２０７へ移行する。
【０１２５】
ステップＳ１２０６では、パケット化マスク処理部１００７が、マスク処理に該当するラインである場合に、パケットヘッダのマスクフィールド２０２のマスクビット（フラグ）をＯＮする。その際、データは非伝送のためデータは付加しない構成となる。ステップＳ１２０７では、パケット化マスク処理部１００７が、マスク処理を行わない通常の処理を行うラインであることを受けて、マスクフィールド２０２のマスクビット（フラグ）をＯＦＦする。
【０１２６】
ステップＳ１２０８では、パケット化マスク処理部１００７が、マスクフィールド２０２の値に基づいて、伝送パケットを構成する。同期信号を別パケット構成にしていない場合は、同期信号のフラグを同じくマスクフィールド内に立てる。ステップＳ１２０９では、生成されたパケットを伝送する。
【０１２７】
以上説明してきたように、表示画像のみならず撮像画像の伝送時にもデータの非伝送を明示することで、帯域を有効活用することが可能となる。またこうした構成をとることで、撮像から表示までの遅延時間が体感的には短く感じられる複合現実感システムを提供することができる。
【０１２８】
以上のように、本発明によれば表示系と撮像系の画像データのシリアル化および水平、垂直同期信号のパケット化とデータの非伝送を明示するフラグを用意し、受け側で画像の再構成を行う。これにより、解像度変換や受信側でのマスク処理を行うことなくトータルのデータ伝送量を削減し、帯域を有効に活用することができる。伝送の帯域が有線系に比べて限られる無線通信時には、更に効果がある。
【０１２９】
また、調整工程にこの制御システムを組み入れることによって、工場組立時の調整の精度を落とすことができ、調整にかかる時間、コストを削減する効果もある。また、ユーザーサイドで調整を可能にするため、本来であればメカ的な調整が必要な表示画像のズレに対しても一定の補正の効果を挙げることができる。
【０１３０】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１３１】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１３２】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１３３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【０１３４】
【図１】発明の第１の実施形態に対応する画像形成システムの一構成例を示す機能ブロック図である。
【図２】発明の第１の実施形態に対応する伝送パケットのフィールドコンポーネントの一例を示す図である。
【図３ａ】発明の第１の実施形態に対応する、伝送前後の表示画像の関係を説明するための図である。
【図３ｂ】発明の第１の実施形態に対応するＨＭＤ１０１と制御装置１０２との間のデータフローの一例を示すシーケンス図である。
【図４】発明の第１の実施形態に対応する制御装置１０２の処理の一例を示すフローチャートである。
【図５】発明の第１の実施形態に対応する、ＨＭＤ１０１の処理の一例を示すフローチャートである。
【図６】発明の第２の実施形態に対応するシステム構成の一例を示す機能ブロック図である。
【図７】発明の第２の実施形態に対応する、調整前後の画像位置の関係を説明するための図である。
【図８】発明の第２の実施形態に対応する処理の一例を示すフローチャートである。
【図９】発明の第２の実施形態に対応する制御装置６０２の処理の一例を示すフローチャートである。
【図１０】発明の第３の実施形態に対応するシステム構成の一例を示す機能ブロック図である。
【図１１】発明の第３の実施形態に対応する、撮像画像から表示領域を切り出す処理を説明するための概念図である。
【図１２】発明の第３の実施形態に対応するＨＭＤ１００１の処理の一例を示すフローチャートである。
【図１３】従来例におけるビデオシースルー型複合現実システムの機能ブロック図。
【図１４】従来例における光学歪みを補正するための逆補正をかけた画像の模式図。
【符号の説明】
【０１３５】
１０１・・・  ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｌａｙ）
１０２・・・  制御装置
１０３・・・  画像処理装置
１０４・・・  撮像ユニット
１０５・・・  パケット化処理部
１０６・・・  光伝送Ｉ／Ｆ（ＨＭＤ装置）
１０７・・・  表示画像調整部
１０８・・・  表示ユニット
１０９・・・  光伝送Ｉ／Ｆ（制御装置）
１１０・・・  Ｉ／Ｆ変換部
１１１・・・  通信Ｉ／Ｆ部（撮像画像伝送用）
１１２・・・  通信Ｉ／Ｆ部（表示画像伝送用）
１１３・・・  光学歪み補正処理部
１１４・・・  パケット化マスク処理部
１１５・・・  通信Ｉ／Ｆ部（撮像画像伝送用）
１１６・・・  位置姿勢情報生成部
１１７・・・  コンテンツＤＢ
１１８・・・  ＣＧ描画部
１１９・・・  画像合成部
１２０・・・  通信Ｉ／Ｆ部（表示画像伝送用）
【図１】
0005231799.tif 000002
【図２】
0005231799.tif 000003
【図３ａ】
0005231799.tif 000004
【図３ｂ】
0005231799.tif 000005
【図４】
0005231799.tif 000006
【図５】
0005231799.tif 000007
【図６】
0005231799.tif 000008
【図７】
0005231799.tif 000009
【図８】
0005231799.tif 000010
【図９】
0005231799.tif 000011
【図１０】
0005231799.tif 000012
【図１１】
0005231799.tif 000013
【図１２】
0005231799.tif 000014
【図１３】
0005231799.tif 000015
【図１４】
0005231799.tif 000016