(57)【特許請求の範囲】
【請求項１】
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置であって、
前記第１の映像と前記第２の映像との送信レート比が変化するように前記第１の映像の送信レートと前記第２の映像の送信レートとを制御する制御手段と、
前記制御された送信レートに従って前記第１の映像及び前記第２の映像を前記受信装置へと送信する送信手段と、
を備えることを特徴とする送信装置。
【請求項２】
前記制御手段は、前記送信装置と前記受信装置との間の通信帯域の変化に応じて前記第１の映像と前記第２の映像との送信レート比が変化するように、前記第１の映像及び前記第２の映像の送信レートを制御することを特徴とする、請求項１に記載の送信装置。
【請求項３】
前記制御手段は、
前記通信帯域が第１の設定値と第２の設定値との合計を下回る場合、前記第１の設定値を下回るように前記第１の映像の送信レートを制御し、かつ前記第２の設定値と一致するように前記第２の映像の送信レートを制御し、
前記通信帯域が前記第１の設定値と前記第２の設定値との合計を上回る場合、前記第１の設定値と一致するように前記第１の映像の送信レートを制御し、かつ前記第２の設定値を上回るように前記第２の映像の送信レートを制御する
ことを特徴とする、請求項２に記載の送信装置。
【請求項４】
前記送信装置から前記受信装置へのデータ送信における通信エラー率及び遅延情報と、前記送信装置から前記受信装置へのデータ送信に利用可能な帯域情報と、のうちの少なくとも一方を含む、前記受信装置から受信した状態情報に従って、前記通信帯域を判定する帯域判定手段をさらに備えることを特徴とする、請求項２又は３に記載の送信装置。
【請求項５】
前記制御手段は、前記受信装置から送信された、前記第２の映像を用いた前記撮像装置の位置姿勢の推定精度を示す情報に応じて、前記第１の映像と前記第２の映像との送信レート比が変化するように、前記第１の映像及び前記第２の映像の送信レートを制御することを特徴とする、請求項１に記載の送信装置。
【請求項６】
前記撮像装置の位置姿勢の推定精度を示す情報は、前記第２の映像から検出された、前記撮像装置の位置姿勢を検出するために現実空間中に配置された指標の数を含むことを特徴とする、請求項５に記載の送信装置。
【請求項７】
前記撮像装置の位置姿勢の推定精度を示す情報は、現在の前記第２の映像から検出された指標の数と、所定時間前の前記第２の映像から検出された指標の数と、の差分を含むことを特徴とする、請求項５又は６に記載の送信装置。
【請求項８】
前記制御手段は、前記撮像装置の移動量に応じて前記第１の映像と前記第２の映像との送信レート比が変化するように、前記第１の映像及び前記第２の映像の送信レートを制御することを特徴とする、請求項１に記載の送信装置。
【請求項９】
前記受信装置は、前記第２の映像を用いて検出された前記撮像装置の位置姿勢に応じて生成された重畳画像と、前記第１の映像と、を合成することにより合成映像を生成し、
前記制御手段は、前記合成映像に占める前記重畳画像の大きさに応じて前記第１の映像と前記第２の映像との送信レート比が変化するように、前記第１の映像及び前記第２の映像の送信レートを制御することを特徴とする、請求項１に記載の送信装置。
【請求項１０】
前記受信装置は、前記第２の映像を用いて検出された前記撮像装置の位置姿勢に応じて生成された重畳画像と、前記第１の映像と、を合成することにより合成映像を生成し、
前記制御手段は、
前記受信装置から送信された情報に従って得られる、前記第２の映像を用いた前記撮像装置の位置姿勢の推定精度が閾値よりも低い場合に、前記第２の映像の重みを大きくする処理、
前記撮像装置の移動量が閾値よりも大きい場合に、前記第２の映像の重みを大きくする処理、
前記合成映像に占める前記重畳画像の大きさが閾値よりも大きい場合に、前記第２の映像の重みを大きくする処理、
のうちの少なくとも１つの処理を用いて、前記第２の映像の重みを決定し、前記決定された第２の映像の重みに従って前記第１の映像及び前記第２の映像の送信レートを制御することを特徴とする、請求項１に記載の送信装置。
【請求項１１】
前記制御手段は、
ユーザにより指定された場合に前記第２の映像の重みを大きくする処理、及び
前記第１の映像の送信レートが目標に達している場合に、前記第２の映像の重みを大きくする処理、
のうちの少なくとも１つの処理をさらに用いて、前記第２の映像の重みを決定することを特徴とする、請求項１０に記載の送信装置。
【請求項１２】
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置であって、
前記送信装置と前記受信装置との間の通信帯域を判定する帯域判定手段と、
前記受信装置から受け取った状態情報を用いて、前記第２の映像を用いた前記撮像装置の位置姿勢の推定精度を判定する精度判定手段と、
前記通信帯域が小さくなったと判定された際に、前記推定精度が閾値を上回っている場合には前記第２の映像の送信レートを下げ、前記推定精度が閾値を下回っている場合には前記第１の映像の送信レートを下げるように、前記第１の映像及び前記第２の映像の送信レートを決定する制御手段と、
前記決定された送信レートに従って前記第１の映像を圧縮する第１の圧縮手段と、
前記決定された送信レートに従って前記第２の映像を圧縮する第２の圧縮手段と、
前記圧縮された第１の映像及び第２の映像を前記受信装置へと送信する送信手段と、
を備えることを特徴とする送信装置。
【請求項１３】
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置であって、
前記送信装置と前記受信装置との間の通信帯域を判定する帯域判定手段と、
前記通信帯域が小さくなったと判定された際に、前記第２の映像の現在の送信レートが閾値を上回っている場合には前記第２の映像の送信レートを下げ、前記第２の映像の現在の送信レートが閾値以下である場合には前記第１の映像の送信レートを下げるように、前記第１の映像及び前記第２の映像の送信レートを決定する制御手段と、
前記決定された送信レートに従って前記第１の映像を圧縮する第１の圧縮手段と、
前記決定された送信レートに従って前記第２の映像を圧縮する第２の圧縮手段と、
前記圧縮された第１の映像及び第２の映像を前記受信装置へと送信する送信手段と、
を備えることを特徴とする送信装置。
【請求項１４】
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置であって、
前記送信装置と前記受信装置との間の通信帯域を判定する帯域判定手段と、
前記第１の映像と前記第２の映像との少なくとも一方に重みを設定する設定手段と、
前記通信帯域と前記設定された重みとに従って前記第１の映像及び前記第２の映像の送信レートを決定する制御手段と、
前記決定された送信レートに従って前記第１の映像を圧縮する第１の圧縮手段と、
前記決定された送信レートに従って前記第２の映像を圧縮する第２の圧縮手段と、
前記圧縮された第１の映像及び第２の映像を前記受信装置へと送信する送信手段と、
を備えることを特徴とする送信装置。
【請求項１５】
前記送信装置はヘッドマウントディスプレイであって、
前記第１の映像を撮像する第１のカメラと、前記第２の映像を撮像する第２のカメラと、を備える撮像装置と、
前記第２の映像を用いて検出された前記撮像装置の位置姿勢に応じて生成された重畳画像と、前記第１の映像と、を合成することにより生成された合成映像を受信する受信手段と、
前記合成映像をユーザに提示する提示手段と、
をさらに備えることを特徴とする、請求項１乃至１４の何れか１項に記載の送信装置。
【請求項１６】
請求項１５に記載の送信装置と、
第１の映像及び第２の映像を受信し、前記第２の映像を用いて検出された前記撮像装置の位置姿勢に応じて生成された重畳画像と、前記第１の映像と、を合成することにより合成映像を生成し、前記合成映像を前記送信装置へと送信する外部装置と、
を備えることを特徴とする複合現実システム。
【請求項１７】
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置が行う送信制御方法であって、
前記第１の映像と前記第２の映像との送信レート比が変化するように前記第１の映像の送信レートと前記第２の映像の送信レートとを制御する制御工程と、
前記制御された送信レートに従って前記第１の映像及び前記第２の映像を前記受信装置へと送信する送信工程と、
を備えることを特徴とする送信制御方法。
【請求項１８】
請求項１乃至１５のいずれか１項に記載の送信装置が有する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、複合現実システム、送信制御方法、及びプログラムに関する。
【背景技術】
【０００２】
現在、現実世界と仮想空間をリアルタイムかつシームレスに融合する複合現実（ＭＲ：Mixed Reality）システムが利用されてきている。ＭＲシステムを実現する方法の一つとして、ビデオシースルー方式がある。ビデオシースルー方式においては、例えば、ヘッドマウントディスプレイ（ＨＭＤ：Head Mounted Display）に付属しているビデオカメラでＨＭＤユーザの視界領域が撮像される。次に、得られた撮像映像にＣＧ（Computer Graphics）が重畳される。最後に、ＣＧが重畳された撮像映像が、ＨＭＤに付属しているディスプレイを介してユーザに提示される。
【０００３】
特許文献１では、ビデオシースルー方式ＭＲシステムにおいて、ＨＭＤユーザの視界領域を撮像する第１のカメラと、ＨＭＤの位置姿勢を検出するための映像を撮像する第２のカメラと、を備えたＨＭＤを用いることが開示されている。
【０００４】
また、送信データ量を削減する技術として、映像符号化技術によりデータを圧縮する方法、例えばＪＰＥＧ（Joint Photographic Expert Group）又はＨ．２６４／ＡＶＣ（ISO/IEC 14496-10 MPEG-4 Part10 Advanced Video Coding）等が知られている。さらに、特許文献２には、受信装置で測定された通信エラー率及び遅延情報から有効通信帯域を算出し、有効通信帯域に応じて映像符号化ビットレートを制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２０５７１１号公報
【特許文献２】特開２００６−１２８９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
撮像映像からＨＭＤの位置姿勢を検出する処理、及び撮像映像にＣＧを重畳する処理は大きな計算量を必要とする。このため、撮像映像をＰＣ等の外部装置に送信し、外部装置において撮像映像にＣＧを重畳し、得られた画像をＨＭＤに送り返すことが考えられる。このような場合、ＨＭＤユーザは自由に動きながらＭＲ空間を体験することを可能とするために、ＨＭＤと外部装置とを無線で通信させることができる。しかし、通信帯域の制限のために、通信データ量をできるだけ削減する必要がある。
【０００７】
しかしながら、例えば撮像映像から指標を抽出する方法等を用いて撮像映像からＨＭＤの位置姿勢を検出するためには、高精細な撮像映像が要求される。このため、特許文献１の方法において第２のカメラからの映像を大幅に圧縮してしまうと、ＨＭＤの位置姿勢検出精度が低下してしまうという課題がある。また、特許文献１の方法において第１のカメラからの映像を大幅に圧縮してしまうと、ユーザに提示される、第１のカメラからの映像にＣＧを重畳して得られた映像の品質が低下し、ユーザに提示されるリアリティが低下してしまうという課題がある。
【０００８】
本発明は、ＭＲシステムがユーザに提示するリアリティの低下を抑えることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の送信装置は以下の構成を備える。すなわち、
撮像装置により撮像された第１の映像と、前記第１の映像を撮像した際の前記撮像装置の位置姿勢を検出するために撮像された第２の映像と、を受信装置へと送信する送信装置であって、
前記第１の映像と前記第２の映像との送信レート比が変化するように前記第１の映像の送信レートと前記第２の映像の送信レートとを制御する制御手段と、
前記制御された送信レートに従って前記第１の映像及び前記第２の映像を前記受信装置へと送信する送信手段と、
を備えることを特徴とする。
【発明の効果】
【００１０】
ＭＲシステムがユーザに提示するリアリティの低下を抑えることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１〜４に係るＭＲシステムの構成図。
【図２】実施例１〜３に係るＨＭＤのハードウェア構成を示すブロック図。
【図３】実施例１〜３に係るＨＭＤのモジュール構成を示すブロック図。
【図４】実施例１〜３に係る外部ＰＣのモジュール構成を示すブロック図。
【図５】実施例１における符号量制御処理の流れを示すフローチャート。
【図６】実施例３における符号量制御例を示すグラフ。
【図７】実施例１における符号量制御例を示すグラフ。
【図８】実施例３における符号量制御処理の流れを示すフローチャート。
【図９】実施例４に係るＨＭＤのモジュール構成を示すブロック図。
【図１０】実施例４における符号量制御処理の流れを示すフローチャート。
【図１１】実施例４における重み調整処理を示すフローチャート。
【図１２】実施例４における重み調整処理を示すフローチャート。
【図１３】実施例４における重み調整処理を示すフローチャート。
【図１４】実施例４における重み調整処理を示すフローチャート。
【図１５】実施例４における重みの初期値及び増減量を示す図。
【図１６】実施例４における符号量制御例を示すグラフ。
【図１７】実施例２における符号量制御処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
［実施例１］
実施例１に係る送信装置は、撮像装置により撮像された視野画像（第１の映像）と、第１の映像を撮像した際の撮像装置の位置姿勢を検出するために撮像された測定画像（第２の映像）と、を受信装置へと送信する。以下では、実施例１に係る送信装置の一実施形態であるヘッドマウントディスプレイ（ＨＭＤ）と、ＨＭＤが用いられる複合現実システム（ＭＲシステム）について説明する。
【００１４】
本実施例に係るＭＲシステムにおいて、ＨＭＤは、搭載された撮像装置で撮像した映像のデータを外部ＰＣに送信する。この映像は、例えばＨＭＤを装着するユーザの視野領域の映像であり、以下では視野映像と呼ぶ。外部ＰＣは、送信された視野映像と重畳画像（例えばＣＧ）とを合成することにより合成映像を生成する。そして、外部ＰＣは、生成された合成映像をＨＭＤへと送り返す。ＨＭＤは、搭載されたディスプレイで送信された合成映像を表示する。
【００１５】
本実施例に係るＭＲシステムにおいては、ＨＭＤに搭載された撮像装置の位置姿勢、すなわちＨＭＤの位置姿勢に基づいて、合成画像の生成が行われる。例えば、ある位置姿勢にあるＨＭＤから見える視野映像と、仮想空間中のこの位置姿勢に対応する位置から見える仮想映像と、を合成することにより、現実世界と仮想空間との融合を実現することができる。このために、ＨＭＤは、搭載された撮像装置で撮像した映像のデータを外部ＰＣに送信する。この映像は、視野映像とは異なるものであり、以下では測定映像と呼ぶ。外部ＰＣは、この測定映像を用いてＨＭＤの位置姿勢を検出し、検出されたＨＭＤの位置姿勢に応じて生成された重畳画像（例えばＣＧ）と、視野映像と、を合成することにより、合成画像を生成する。もっとも、外部ＰＣは、視野映像と測定映像との双方を用いてＨＭＤの位置姿勢を検出してもよい。ＨＭＤの位置姿勢の検出方法については後述する。
【００１６】
測定映像の撮像範囲は、視野映像の撮像範囲とは異なっている。一実施形態において、ＨＭＤは撮像装置として２つ以上のカメラを有しており、少なくとも１つは視野映像を撮像し、少なくとも１つは測定映像を撮像する。また、測定映像から指標を検出しやすくなるように、視野映像と測定映像との間で撮像条件は異なっていてもよい。例えば、視野映像と測定映像との間で焦点距離が異なっていてもよいし、被写界深度が異なっていてもよい。
【００１７】
もっとも、別の実施形態において、ＨＭＤが撮像装置として１つのカメラを有しており、カメラによって撮像された映像の一部領域が視野映像として用いられ、カメラによって撮像された映像の他の領域又は全領域が測定映像として用いられてもよい。一般に、外部ＰＣへと送信される視野映像の品質が高いほど、得られる合成画像の品質は向上する。一方で、外部ＰＣへと送信される測定映像の品質は、ＨＭＤの位置姿勢を測定できるのであれば十分であり、測定映像の品質が十分に高ければ測定映像の品質をさらに向上させても得られる合成画像の品質はそれほど向上しない。しかしながら、外部ＰＣへと送信される測定映像の品質が低くなりＨＭＤの位置姿勢を測定できなくなると、合成画像を生成することが不可能となり、現実空間と仮想空間との融合が実現できなくなる。
【００１８】
以下で、本実施例に係るＭＲシステムの一例について、図１を参照しながら説明する。図１は、本実施例に係るＭＲシステムの構成図である。ＭＲシステムのユーザ１０１はＨＭＤ２００を装着している。ＨＭＤ２００の詳細なハードウェア構成については、図２を参照しながら後述する。
【００１９】
アクセスポイント１０２はＨＭＤ２００と無線通信で接続される。無線通信方式としては例えばＩＥＥＥ８０２．１１ｎ又はＩＥＥＥ８０２．１１ａｃ等の方式が挙げられるが、これらには限定されない。また、アクセスポイント１０２はＨＭＤ２００と有線通信で接続されてもよく、この場合には例えばＧｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）又はＩＥＥＥ１３９４等の有線通信方式を用いることができる。
【００２０】
視野映像データ群１０３は、ＨＭＤ２００が有する右メインカメラ２０１及び左メインカメラ２０２で撮像された視野映像データのパケット群である。測定映像データ群１０４は、ＨＭＤ２００が有する上サブカメラ２０３及び下サブカメラ２０４で撮像された測定映像データのパケット群である。本実施例では、撮像範囲を広げてマーカの撮像可能性を高めるために、左右２つのメインカメラに加えて上下２つのサブカメラが用いられる。ＨＭＤ２００は、撮像装置として、これらの右メインカメラ２０１、左メインカメラ２０２、上サブカメラ２０３及び下サブカメラ２０４を有する。もっとも、メインカメラ及びサブカメラの数は１つでもよいし、３つ以上でもよい。
【００２１】
本実施例において、右メインカメラ２０１、左メインカメラ２０２、上サブカメラ２０３及び下サブカメラ２０４による撮像は同時に行われる。しかしながら、撮像装置の位置を推定することが可能であれば、これらのカメラによる撮像が同時に行われる必要はない。また、上サブカメラ２０３及び下サブカメラ２０４がＨＭＤ２００に設けられていることは必須ではなく、右メインカメラ２０１及び左メインカメラ２０２の位置を推定することが可能であれば、これらのカメラはＨＭＤ２００から分離していてもよい。
【００２２】
外部ＰＣ４００は、ＨＭＤ２００から受信した測定映像データ群１０４を用いて、測定映像に対して画像解析を行うことにより、現実空間中の位置指標として用いられるマーカを検出する。そして、外部ＰＣ４００は、検出されたマーカを用いて撮像装置すなわちＨＭＤ２００の位置姿勢を推定する。より詳細には、外部ＰＣ４００は測定映像中からマーカを検出し、マーカの大きさ、形、又は塗りつぶしパターン等の情報を取得する。この情報を用いて、外部ＰＣ４００は、マーカとＨＭＤ２００との相対的位置関係、及びユーザ１０１（又はＨＭＤ２００）がマーカを観察する方向、を含むＨＭＤ２００の三次元位置姿勢情報を算出することができる。
【００２３】
例えば、複数のマーカを使用する場合、各マーカの位置関係を示す指標配置情報を予め定義しておき、ＨＭＤ２００で撮像された映像中のマーカの位置関係と照合することにより、ＨＭＤ２００の位置姿勢を推定することが可能となる。ＨＭＤ２００の位置姿勢は、ＨＭＤがマーカを観察している方向及びマーカとの距離に基づいて推定できる。マーカは、予め作製した上で現実空間中の所定の位置に配置することができる。このような方法を用いる場合、マーカの観察方向を識別可能とするために内部に塗りつぶしパターンを有するマーカを使用する必要はない。例えば、カラーマーカ、又はＬＥＤ等の発光素子のような、方向を示す情報を持たず一次元の情報を持つマーカを利用することもできる。
【００２４】
また、指標としては、例えばドア、テーブル、又は窓の輪郭線のような映像中の自然特徴点を用いることもできるし、映像中の特定の色等の特徴を用いることもできる。さらには、同一種類のマーカを複数用いたり、数種類のマーカを同時に用いたり、予め作製されたマーカと映像中の自然特徴点とを組み合わせて用いたりすることによって、より高い精度でＨＭＤ２００の位置姿勢を推定することができる。複数の指標の位置関係を予め定義しておくことにより、全ての指標が画像内に表示されていなくても、それぞれの指標に基づいてＨＭＤ２００の位置姿勢を推定することができる。
【００２５】
外部ＰＣ４００は、ＨＭＤ２００の位置姿勢を検出すると、検出した位置姿勢に基づいて生成したＣＧを視野映像上に重畳することにより、合成映像を生成する。本実施例において、外部ＰＣ４００は、右目用の合成映像と左目用の合成映像を生成する。以下では、右目用の合成映像と左目用の合成映像を合わせて合成映像と呼ぶ。外部ＰＣ４００は生成した合成映像データ群１０５をＨＭＤ２００に送信し、ＨＭＤ２００は受信した合成映像を右ディスプレイ２０５及び左ディスプレイ２０６に出力して表示させる。
【００２６】
図２は、ＨＭＤ２００のハードウェア構成を示すブロック図である。右メインカメラ２０１は、ユーザ１０１の右目で見えている視野映像を撮像するカメラである。左メインカメラ２０２は、ユーザ１０１の左目で見えている視野映像を撮像するカメラである。
【００２７】
上サブカメラ２０３は、測定映像を撮像するカメラであり、上サブカメラ２０３はユーザ１０１の視線方向より上方向にある撮像範囲を有する。下サブカメラ２０４は、測定映像を撮像するカメラであり、下サブカメラ２０４はユーザ１０１の視線方向より下方向にある撮像範囲を有する。
【００２８】
右ディスプレイ２０５は、右目用の合成映像を出力するディスプレイであり、ユーザ１０１の右目に合成映像を提示するように配置されている。左ディスプレイ２０６は、左目用の合成映像を出力するディスプレイであり、ユーザ１０１の左目に合成映像を提示するように配置されている。
【００２９】
ネットワークインタフェース２０７は、ネットワークとのインタフェースである。ネットワークインタフェース２０７を介して、ＨＭＤ２００はインターネット又はＬＡＮ等のネットワークと接続することができ、これらのネットワークを介して外部ＰＣ４００と通信することができる。ＨＭＤ２００は、ネットワークインタフェース２０７を介して、外部ＰＣ４００と直接通信できてもよい。
【００３０】
ＣＰＵ（Central Processing Unit）２０８は、プログラムに従って動作することにより、各ハードウェア構成部を統括的に制御する。ＲＯＭ（Read Only Memory）２０９は、ＣＰＵ２０８で実行される制御プログラム等を格納している。ＲＡＭ（Random Access Memory）２１０は、ＣＰＵ２０８の主メモリ又はワークエリア等として機能する。
【００３１】
エンコーダ２１１は、右メインカメラ２０１、左メインカメラ２０２、上サブカメラ２０３、及び下サブカメラ２０４で撮像された映像を圧縮する。圧縮に用いられる符号化方式としては、例えばＪＰＥＧ、Ｈ．２６４／ＡＶＣ又はＨ．２６４／ＭＶＣ等が挙げられるが、これらには限定されない。ネットワークインタフェース２０７は、エンコーダ２１１が右メインカメラ２０１及び左メインカメラ２０２からの視野映像を圧縮することにより得られたデータを、視野映像データ群１０３として外部ＰＣ４００に送信する。また、ネットワークインタフェース２０７は、エンコーダ２１１が上サブカメラ２０３及び下サブカメラ２０４からの測定映像を圧縮することにより得られたデータを、測定映像データ群１０４として外部ＰＣ４００に送信する。視野映像データ群１０３及び測定映像データ群１０４の送信が同時に行われる必要はなく、例えば時分割方式でこれらのデータが送信されてもよい。
【００３２】
デコーダ２１２は、外部ＰＣ４００から受信した合成映像データ群１０５を伸長する。伸長の際に用いられる復号化方式は、外部ＰＣ４００が圧縮に用いる符号化方式に依存するが、特に限定されない。また、合成映像データ群１０５は圧縮されていないＲＡＷデータであってもよく、この場合ＨＭＤ２００がデコーダ２１２を有する必要はない。デコーダ２１２によって伸長された合成映像は、右ディスプレイ２０５及び左ディスプレイ２０６により表示される。エンコーダ２１１及びデコーダ２１２は、ハードウェアにより実装されてもよいし、ソフトウェアにより実装されてもよい。後者の場合、エンコーダ２１１及びデコーダ２１２の機能は、ＣＰＵ２０８がプログラムに従って動作することにより実現される。バス２１３は、ＨＭＤ２００が有する各構成要素を接続しており、各種データの転送経路として用いられる。
【００３３】
図３は、ＨＭＤ２００の機能構成を示すブロック図である。本実施例においては測定精度判定部３１１は用いられず、この機能は省略することができる。
【００３４】
視野映像撮像部３０１は、右メインカメラ２０１及び左メインカメラ２０２を制御して視野映像を撮像する。測定映像撮像部３０２は、上サブカメラ２０３及び下サブカメラ２０４を制御して測定映像を撮像する。本実施例において、視野映像は、右メインカメラ２０１で撮像された映像と、左メインカメラ２０２で撮像された映像と、を含んでいる。また、測定映像は、上サブカメラ２０３で撮像された映像と、下サブカメラ２０４で撮像された映像と、を含んでいる。視野映像圧縮部３０３（第１の圧縮部）は、エンコーダ２１１を制御して、視野映像撮像部３０１から取得した視野映像を圧縮する。測定映像圧縮部３０４（第２の圧縮部）は、エンコーダ２１１を制御して、測定映像撮像部３０２から取得した測定映像を圧縮する。視野映像圧縮部３０３及び測定映像圧縮部３０４は、それぞれ、符号量制御部３１２により制御された符号量に従って、圧縮された視野映像及び測定映像が符号量制御部３１２により制御された符号量を有するように、視野映像又は測定映像を圧縮する。
【００３５】
映像送信部３０５は、視野映像圧縮部３０３及び測定映像圧縮部３０４から取得した圧縮映像データを通信プロトコルに応じてパケット化し、ネットワークインタフェース２０７経由で外部ＰＣ４００に送信する。ＭＲシステムは高いリアルタイム性を要求するため、ＲＴＰ（A Transport Protocol for Real-Time Applications, RFC3550, IETF）／ＵＤＰ（User Datagram Protocol）のような通信プロトコルを用いることができる。もっとも、これ以外の通信プロトコルを用いることもできるし、独自プロトコルを用いることもできる。映像送信部３０５は圧縮映像データを直接外部ＰＣ４００に送信する必要はなく、他の装置を介して圧縮映像データを外部ＰＣ４００に送信してもよい。
【００３６】
映像受信部３０６は、外部ＰＣ４００からネットワークインタフェース２０７経由で受信した合成映像データ群を、通信プロトコルに応じてデパケット化する。映像伸長部３０７は、デコーダ２１２を制御することにより、映像受信部３０６から取得したデータを伸長して合成映像を得る。映像表示部３０８は、映像伸長部３０７により得られた合成映像を、右ディスプレイ２０５及び左ディスプレイ２０６にそれぞれ出力する。
【００３７】
状態情報受信部３０９は、ＨＭＤ２００の状態を示す状態情報を受信する。本実施例において状態情報は、ＨＭＤ２００から外部ＰＣ４００へのデータ送信における通信状態を示す。例えば、状態情報は、ＨＭＤ２００と外部ＰＣ４００との間の通信状況レポートを含みうる。通信状況レポートは、例えば、ＲＴＣＰ（Real-time Transport Control Protocol）のＲｅｃｅｉｖｅｒ  Ｒｅｐｏｒｔ又はＳｅｎｄｅｒ  Ｒｅｐｏｒｔのように、通信エラー率（例えばパケットロス率）又は遅延情報（例えば通信遅延時間）等を把握できる情報でありうる。また、通信状況レポートは独自のフォーマットを有していてもよい。このような通信状況レポートを用いることにより、ＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域を判定することができる。もっとも、外部ＰＣ４００がＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域を計算してもよい。この場合、通信状況レポートが外部ＰＣ４００により算出された通信帯域を示す帯域情報を含んでいてもよい。
【００３８】
一実施形態において外部ＰＣ４００は、状態情報をパケット化してＨＭＤ２００に送信する。状態情報受信部３０９は、外部ＰＣ４００からネットワークインタフェース２０７経由で受信したデータを、通信プロトコルに応じてデパケット化することにより、状態情報を得ることができる。映像受信部３０６及び状態情報受信部３０９は、合成映像データ及び状態情報を直接外部ＰＣ４００から受信する必要はなく、他の装置を介してこれらの情報を外部ＰＣ４００から受信してもよい。
【００３９】
帯域判定部３１０は、状態情報受信部３０９から取得した通信状況レポートに基づいて、ＨＭＤ２００と外部ＰＣ４００との間の通信帯域、より具体的にはＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域を判定する。通信帯域を判定する方法としては、例えば、ＴＦＲＣ（TCP Friendly Rate Control, RFC5348, IETF）が挙げられる。ＴＦＲＣを用いることにより、通信エラー率と遅延情報とから利用可能な通信帯域を算出することができる。しかしながら、通信帯域を判定する方法はＴＦＲＣには限定されず、他の任意の方法を用いることができる。
【００４０】
符号量制御部３１２は、帯域判定部３１０により判定された、ＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域に基づいて、視野映像圧縮部３０３及び測定映像圧縮部３０４により圧縮された視野映像及び測定映像の符号量を制御する。映像送信部３０５により圧縮された視野映像及び測定映像が外部ＰＣ４００へと送信されるため、この処理は、外部ＰＣ４００へ送信される視野映像及び測定映像の送信レートを制御する処理に相当する。符号量制御部３１２は、視野映像と測定映像との送信レート比が変化するように、視野映像の送信レート（符号量）と測定映像の送信レート（符号量）とを制御する。具体的な制御方法については、図５及び図６を参照して後に説明する。映像送信部３０５は、符号量制御部３１２によって制御された符号量に従って圧縮された視野映像及び測定映像を、符号量制御部３１２によって制御された送信レートで外部ＰＣ４００へと送信する。
【００４１】
図４は、外部ＰＣ４００のモジュール構成を示すブロック図である。外部ＰＣ４００は一般的なコンピュータであり、ＣＰＵ及びメモリを有している。図４に示す各部の機能は、メモリ上のプログラムに従ってＣＰＵが動作することにより実現される。
【００４２】
映像受信部４０１は、ＨＭＤ２００から視野映像データ群及び測定映像データ群を受信する。測定映像伸長部４０２は、映像受信部４０１が受信したデータを伸長することにより測定映像を得る。指標検出部４０３は、測定映像伸長部４０２により得られた測定映像に対して画像解析処理を行うことにより、マーカ等の指標を検出する。例えば、指標検出部４０３は、指標についての情報として、測定映像上の指標の位置及び指標の識別情報等を判定することができる。位置姿勢推定部４０４は、指標検出部４０３により検出された指標についての情報と、予め指標の位置等が定義されている指標配置情報４０５と、を用いてＨＭＤ２００の３次元位置姿勢を推定する。
【００４３】
ＣＧ生成部４０６は、位置姿勢推定部４０４で推定されたＨＭＤ２００の位置姿勢に基づいてＣＧを生成する。このＣＧは、例えば、仮想空間中において、ＨＭＤ２００の位置姿勢に対応する仮想空間中の位置姿勢から見える仮想映像でありうる。視野映像伸長部４０７は、映像受信部４０１が受信したデータを伸長することにより視野映像を得る。ＣＧ重畳部４０８は、視野映像伸長部４０７から取得した視野映像にＣＧ生成部４０６で生成したＣＧを重畳することにより合成映像を生成する。
【００４４】
合成映像圧縮部４０９は、ＣＧ重畳部４０８から取得した合成映像を圧縮符号化する。しかしながら、合成映像を圧縮することは必須ではなく、合成映像を圧縮しない場合には合成映像圧縮部４０９は外部ＰＣ４００には含まれない、又は使用されない。また、合成映像圧縮部４０９は、外部ＰＣ４００からＨＭＤ２００へのデータ送信に利用できる通信帯域に基づいて、圧縮された合成映像の符号量を動的に制御してもよい。一方で、圧縮された合成映像の符号量は一定であってもよい。合成映像送信部４１０は、合成映像圧縮部４０９により圧縮された合成映像を通信プロトコルに応じてパケット化し、合成映像データ群としてＨＭＤ２００に送信する。
【００４５】
状態情報生成部４１１は、ＨＭＤ２００からの映像データの受信状況を示す情報を映像受信部４０１から取得し、状態情報を生成する。上述のように、この状態情報は、通信エラー率又は遅延情報等を含む通信状況レポートでありうる。状態情報送信部４１２は、状態情報生成部４１１から通信状況レポートを取得し、通信プロトコルに応じてパケット化し、ＨＭＤ２００に送信する。
【００４６】
図５は、符号量制御部３１２による、圧縮された視野映像及び測定映像の符号量の制御方法を示すフローチャートである。図５の処理は、所定の時間間隔で繰り返し行われる。図５の処理により制御された符号量を用いて、ＨＭＤ２００から外部ＰＣ４００へのデータの送信制御が行われる。
【００４７】
本実施例において符号量制御部３１２は、ＨＭＤ２００と外部ＰＣ４００との間の通信帯域に基づいて、視野映像及び測定映像の符号量（送信レート）を制御する。より具体的には、符号量制御部３１２は、ＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域の変化に基づいて、視野映像と測定映像との符号量（送信レート）比が変化するように、視野映像及び測定映像の符号量（送信レート）を制御する。本実施例においては、外部ＰＣ４００によるＨＭＤ２００の位置姿勢の測定処理が十分な精度で行えるように、測定映像の符号量が予め設定された最低符号量以上となるように、視野映像及び測定映像の符号量が制御される。
【００４８】
ステップＳ５０１において状態情報受信部３０９は、外部ＰＣ４００から状態情報を受信する。ステップＳ５０２において帯域判定部３１０は、上述のように、ステップＳ５０１で受信した状態情報を参照して通信帯域を判定する。
【００４９】
ステップＳ５０５において符号量制御部３１２は、ステップＳ５０２で算出された通信帯域が不足しているか否かを判定する。具体的には、現在の視野映像の符号量と現在の測定映像の符号量との合計が、ステップＳ５０２で算出された通信帯域を上回っている場合に、通信帯域が不足していると判定することができる。通信帯域が不足している場合、処理はステップＳ５１０に進む。通信帯域が不足していない場合、処理はステップＳ５０６に進む。
【００５０】
ステップＳ５０６において符号量制御部３１２は、ステップＳ５０２で算出された通信帯域に余剰があるか否かを判定する。具体的には、現在の視野映像の符号量と現在の測定映像の符号量との合計が、ステップＳ５０２で算出された通信帯域を下回っている場合に、通信帯域に余剰があると判定することができる。通信帯域に余剰がある場合、処理はステップＳ５１３に進む。通信帯域に余剰がない場合、処理は終了する。
【００５１】
ステップＳ５１０において符号量制御部３１２は、現在の測定映像の符号量に余剰があるか否かを判定する。具体的には、現在の測定映像の符号量が予め設定された最低符号量値よりも多い場合に、測定映像の符号量に余剰があると判定することができる。現在の測定映像の符号量に余剰がある場合、処理はステップＳ５１１に進む。現在の測定映像の符号量に余剰がある場合、処理はステップＳ５１２に進む。
【００５２】
ステップＳ５１１において符号量制御部３１２は、現在の測定映像の符号量を下げる。例えば、符号量制御部３１２は、現在の視野映像と測定映像との合計符号量と、ステップＳ５０２で算出された通信帯域と、の差だけ、測定映像の符号量を減らすことができる。一方で、ステップＳ５０２で算出された通信帯域と現在の視野映像の符号量との差が予め設定された最低符号量を下回る場合には、予め設定された最低符号量を測定映像の符号量として設定することができる。この場合、ステップＳ５０２で算出された通信帯域と予め設定された最低符号量との差を、視野映像の符号量として設定することができる。
【００５３】
ステップＳ５１２において符号量制御部３１２は、現在の視野映像の符号量を下げる。例えば、符号量制御部３１２は、現在の視野映像と測定映像との合計符号量と、ステップＳ５０２で算出された通信帯域と、の差だけ、視野映像の符号量を減らすことができる。
【００５４】
ステップＳ５１３において符号量制御部３１２は、現在の視野映像の符号量が予め設定された目標符号量に達しているか否かを判定する。現在の視野映像の符号量が目標符号量に達している場合、処理はステップＳ５１５に進む。現在の視野映像の符号量が目標符号量に達していない場合、処理はステップＳ５１４に進む。
【００５５】
ステップＳ５１４において符号量制御部３１２は、視野映像の符号量を上げる。例えば符号量制御部３１２は、視野映像の符号量を固定値だけ増加させることができる。別の方法として、符号量制御部３１２は、ステップＳ５０２で算出された通信帯域と、現在の視野映像と測定映像との合計符号量と、の差だけ、視野映像の符号量を増やすことができる。
【００５６】
ステップＳ５１５において符号量制御部３１２は、測定映像の符号量を上げる。例えば符号量制御部３１２は、測定映像の符号量を固定値だけ増加させることができる。別の方法として、符号量制御部３１２は、ステップＳ５０２で算出された通信帯域と、現在の視野映像と測定映像との合計符号量と、の差だけ、測定映像の符号量を増やすことができる。
【００５７】
このように、ステップＳ５０５において通信帯域が小さくなったと判定され、ステップＳ５１０において測定映像の符号量が閾値を上回ると判定された場合、ステップＳ５１１において符号量制御部３１２は測定映像の符号量を低下させる。また、ステップＳ５０５において通信帯域が小さくなったと判定され、ステップＳ５１０において測定映像の符号量が閾値以下であると判定された場合、ステップＳ５１２において符号量制御部３１２は視野映像の符号量を低下させる。
【００５８】
図７は、本実施例における符号量制御の一例を示すグラフである。図７において横軸は時間を示し、縦軸は通信帯域／符号量を示す。利用可能な通信帯域６０１は、帯域判定部３１０によって判定された、ＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用可能な通信帯域の変動を示す。視野映像の符号量６０２は、圧縮された視野映像の符号量として決定された値の変動を示す。測定映像の符号量６０３は、圧縮された測定映像の符号量として決定された値の変動を示す。目標符号量６０４は、予め設定されている測定映像の目標符号量を示す。
【００５９】
時刻Ｔ０においてＨＭＤ２００は、動作開始後初めて外部ＰＣ４００から状態情報を受信し、利用可能な通信帯域を把握したものとする。時刻Ｔ０においては、視野映像及び測定映像の符号量としては予め設定された初期値が用いられており、現在の通信帯域には余剰がある。また、視野映像の符号量６０２は目標符号量６０４に到達していない。このため、ステップＳ５１５において符号量制御部３１２は、視野映像の符号量６０２を固定値だけ増加させる。時刻Ｔ１まではこの処理が繰り返される。
【００６０】
時刻Ｔ１においては、視野映像と測定映像との合計符号量が利用可能帯域に到達したため、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。時刻Ｔ２まではこの処理が繰り返される。
【００６１】
時刻Ｔ２からＴ４までは、利用可能な通信帯域が減少していく。時刻Ｔ２からＴ３までの区間では、符号量制御部３１２は、ステップＳ５１１において通信帯域の減少に応じて測定映像の符号量６０３を下げる。時刻Ｔ３では、測定映像の符号量６０３が最低符号量に到達する。このため、ステップＳ５１０において測定映像の符号量６０３に余剰がないと判定される。したがって、時刻Ｔ３からＴ４までの区間では、符号量制御部３１２は、ステップＳ５１２において通信帯域の減少に応じて視野映像の符号量６０２を下げる。
【００６２】
時刻Ｔ４からＴ５までは、利用可能な通信帯域が変動しない。時刻Ｔ４からＴ５までの区間では、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。
【００６３】
時刻Ｔ５からＴ７までは、利用可能な通信帯域が拡大していく。時刻Ｔ５からＴ６までの区間では、符号量制御部３１２は、ステップＳ５１４において通信帯域の増加に応じて視野映像の符号量６０２を上げる。時刻Ｔ６では、ステップＳ５１３において視野映像の符号量６０２が目標符号量６０４に達したと判定される。したがって、時刻Ｔ６からＴ７までの区間では、符号量制御部３１２は、ステップＳ５１５において通信帯域の増加に応じて測定映像の符号量６０３を上げる。
【００６４】
時刻Ｔ７以降は、利用可能な通信帯域が変動しない。したがって、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。
【００６５】
以上のように、本実施例においては、利用可能な通信帯域６０１に応じて視野映像の符号量６０２と測定映像の符号量６０３との比が変化するように、視野映像の符号量６０２と測定映像の符号量６０３とが制御される。具体的には、測定映像の符号量６０３が最低符号量７０１以上となるように、この制御が行われる。このように、測定映像の符号量６０３がＨＭＤ２００の位置姿勢を推定するのに十分となるように符号量を制御することにより、外部ＰＣ４００がＨＭＤ２００の位置姿勢を推定することに失敗し、合成画像が破綻する可能性を減らすことができる。
【００６６】
一方で、利用可能な通信帯域６０１が、測定映像の最低符号量７０１（第２の設定値）と視野映像の目標符号量６０４（第１の設定値）との合計を超えるまでは、測定映像の符号量６０３は最低符号量７０１と一致するように制御される。また、視野映像の符号量６０２は目標符号量６０４を下回るように制御される。このような構成によれば、ＨＭＤ２００の位置姿勢の推定に失敗する可能性を抑えながら、合成画像の生成に用いられる視野映像の符号量をできる限り大きくすることができるため、合成画像の品質を高めることができる。このように、本実施例においては、利用可能な通信帯域６０１が、測定映像の最低符号量７０１と視野映像の目標符号量６０４との合計を超えるまでは、利用可能な通信帯域６０１が小さくなるほど測定映像の符号量６０３の比率が大きくなる。
【００６７】
また、本実施例においては、視野映像の符号量６０２の上限は目標符号量６０４とされる。このように、本実施例においては、利用可能な通信帯域６０１が、測定映像の最低符号量７０１（第２の設定値）と視野映像の目標符号量６０４（第１の設定値）との合計を超えると、視野映像の符号量６０２は目標符号量６０４と一致するように制御される。一方で、測定映像の符号量６０３は最低符号量７０１を上回るように制御される。このような構成によれば、余剰の通信帯域が存在する場合に、ＨＭＤ２００の表示性能を超えて測定映像の品質を高める代わりに、余剰の通信帯域を位置姿勢の推定精度の向上のために用いることができる。このように、本実施例においては、利用可能な通信帯域６０１が、測定映像の最低符号量７０１と視野映像の目標符号量６０４との合計を超えると、利用可能な通信帯域６０１が大きくなるほど測定映像の符号量６０３の比率が大きくなる。もっとも、視野映像の符号量６０２に上限を定めることは必須ではない。
【００６８】
また、測定映像の最低符号量７０１及び視野映像の目標符号量６０４として固定値を設定する必要はない。例えば、符号量制御部３１２は、利用可能な通信帯域６０１に応じて視野映像の符号量６０２と測定映像の符号量６０３との比を設定してもよい。例えば、利用可能な通信帯域６０１が閾値より大きい場合と比べて、利用可能な通信帯域６０１が閾値より小さい場合には、測定映像の符号量６０３の比率を増やすことができる。
【００６９】
［実施例２］
実施例２において符号量制御部３１２は、外部ＰＣ４００による、測定映像を用いたＨＭＤ２００の位置姿勢推定精度に従って、視野映像と測定映像との送信レート比が変化するように、視野映像及び測定映像の符号量（送信レート）を制御する。以下では一例として、外部ＰＣ４００によるＨＭＤ２００の位置姿勢の測定処理が十分な精度で行うために、測定映像からの指標の検出が可能となるように、視野映像及び測定映像の符号量が制御される。本実施例においては、利用可能な通信帯域は固定されているものとする。
【００７０】
ＨＭＤ２００及び外部ＰＣ４００の構成は、ＨＭＤ２００が帯域判定部３１０の代わりに測定精度判定部３１１を有することを除き実施例１と同様であり、詳しい説明は省略する。本実施例において状態情報は、外部ＰＣ４００におけるＨＭＤ２００の位置姿勢推定精度を示す情報を含む。具体的には、状態情報は検出結果レポートを含んでいる。本実施例においてこの検出結果レポートは、現在の測定映像から検出された、ＨＭＤ２００の位置姿勢を検出するために現実空間中に配置された指標の数を含む。また、本実施例においてこの検出結果レポートは、現在の測定映像から検出された指標の数と、所定時間前の測定映像から検出された指標の数と、の差分を含む。
【００７１】
測定精度判定部３１１は、状態情報受信部３０９から取得した検出結果レポートを用いて、外部ＰＣ４００によるＨＭＤ２００の位置姿勢推定精度を判定する。具体的には、測定精度判定部３１１は、ＨＭＤ２００の位置姿勢推定精度が不十分であるか否かを判定する。具体的には、現在の指標検出数が閾値Ａ１を下回っている場合には、現在の指標検出結果は不十分であり、ＨＭＤ２００の位置姿勢推定精度は不十分であると判定することができる。また、所定時間前の指標検出数と比較して現在の指標検出数が大きく低下している場合にも、ＨＭＤ２００の位置姿勢推定精度は不十分であると判定することができる。例えば、現在の指標検出数から所定時間前の指標検出数を引いて得られる値が閾値Ｂ１を下回っている場合に、現在の指標検出数が大きく低下していると判定することができる。
【００７２】
また、測定精度判定部３１１は、ＨＭＤ２００の位置姿勢推定精度が過剰であるか否かを判定する。具体的には、測定精度判定部３１１は、指標検出数が継続して閾値Ａ２を上回っている場合に、ＨＭＤ２００の位置姿勢推定精度が過剰であると判定することができる。例えば、現在の指標検出数が閾値Ａ２を上回りかつ現在の指標検出数から所定時間前の指標検出数を引いて得られる値が閾値Ｂ２を上回っている場合に、測定精度判定部３１１はＨＭＤ２００の位置姿勢推定精度が過剰であると判定することができる。また、測定精度判定部３１１は、現在の測定映像の符号量が閾値を上回っている場合にも、位置姿勢推定精度が過剰であると判定することができる。ただし、位置姿勢推定精度の判定方法はこの方法に限定されるわけではない。
【００７３】
以下に、図１７のフローチャートを参照して、符号量制御部３１２による、圧縮された視野映像及び測定映像の符号量の制御方法について説明する。ステップＳ５０１は実施例１と同様であるが、本実施例において受信される状態情報には、外部ＰＣ４００におけるＨＭＤ２００の位置姿勢推定精度を示す情報が含まれている。ステップＳ５０３において測定精度判定部３１１は、上述のように、外部ＰＣ４００によるＨＭＤ２００の位置姿勢推定精度を判定する。
【００７４】
ステップＳ５０４において符号量制御部３１２は、測定映像の符号量が不足しているか否かを判定する。具体的には、位置姿勢推定精度が不十分であると測定精度判定部３１１により判定された場合、符号量制御部３１２は、測定映像の符号量が不足していると判定する。測定映像の符号量が不足している場合、処理はステップＳ５０７に進む。測定映像の符号量が不足していない場合、処理はステップＳ５１６に進む。
【００７５】
ステップＳ５０７において符号量制御部３１２は、測定映像の符号量を増加させる。例えば符号量制御部３１２は、測定映像の符号量を固定値だけ増加させることができる。一方で、符号量制御部３１２は、不足する符号量又は指標検出数に応じて符号量の増加量を制御してもよい。例えば、現在の指標検出数が少ないほど増加量が大きくなるように、増加量を制御することができる。ステップＳ５０９において符号量制御部３１２は、視野映像の符号量を減少させる。例えば符号量制御部３１２は、視野映像の符号量を固定値だけ減少させることができる。
【００７６】
ステップＳ５１６において符号量制御部３１２は、測定映像の符号量が過剰であるか否かを判定する。具体的には、位置姿勢推定精度が過剰であると測定精度判定部３１１により判定された場合、符号量制御部３１２は、測定映像の符号量が過剰であると判定する。測定映像の符号量が過剰である場合、処理はステップＳ５１７に進む。測定映像の符号量が過剰ではない場合、処理は終了する。
【００７７】
ステップＳ５１７において符号量制御部３１２は、測定映像の符号量を減少させる。例えば符号量制御部３１２は、測定映像の符号量を固定値だけ減少させることができる。ステップＳ５１８において符号量制御部３１２は、視野映像の符号量を増加させる。例えば符号量制御部３１２は、視野映像の符号量を固定値だけ増加させることができる。
【００７８】
以上のように、本実施例においては、測定映像を用いたＨＭＤ２００の位置姿勢推定精度に応じて視野映像の符号量と測定映像の符号量との比が変化するように、視野映像の符号量と測定映像の符号量とが制御される。具体的には、位置姿勢推定精度が低い場合には測定映像の符号量が相対的に大きくなるように、符号量の制御が行われる。このように、測定映像の符号量６０３がＨＭＤ２００の位置姿勢を推定するのに十分となるように符号量を制御することにより、ＨＭＤ２００の位置姿勢の推定に失敗する可能性を抑えることができる。一方で、合成画像の生成に用いられる視野映像の符号量をできる限り大きくすることもできるため、合成画像の品質を高めることができる。
【００７９】
本実施例においては、利用可能な通信帯域は固定されているものとしたが、別の実施形態においては、利用可能な通信帯域は変動してもよい。この場合、ステップＳ５０９，Ｓ５１８において符号量制御部３１２は、利用可能な通信帯域に応じて視野映像の符号量を設定することができる。
【００８０】
［実施例３］
実施例３では、実施例１，２を組み合わせて、ＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用できる通信帯域と、測定映像を用いたＨＭＤ２００の位置姿勢推定精度との双方に基づいて、視野映像及び測定映像の符号量（送信レート）を制御する。ＨＭＤ２００及び外部ＰＣ４００の構成は、ＨＭＤ２００が帯域判定部３１０と測定精度判定部３１１との双方を有することを除き実施例１と同様であり、詳しい説明は省略する。
【００８１】
図８は、符号量制御部３１２による、圧縮された視野映像及び測定映像の符号量の制御方法を示すフローチャートである。ステップＳ５０１において状態情報受信部３０９は、外部ＰＣ４００から状態情報を受信する。状態情報には、実施例１で説明した通信状況レポートと、実施例２で説明した検出結果レポートとが含まれる。ステップＳ５０２は実施例１と同様に行われる。ステップＳ５０３は実施例２と同様に行われる。
【００８２】
ステップＳ５０４は実施例２と同様に行われる。測定映像の符号量が不足している場合、処理はステップＳ５０７に進む。測定映像の符号量が不足していない場合、処理はステップＳ５０５に進む。ステップＳ５０７は実施例２と同様に行われる。ステップＳ５０８において符号量制御部３１２は、通信帯域が不足しているか否かを判定する。この処理は、実施例１のステップＳ５０５と同様に行うことができる。通信帯域が不足している場合、処理はステップＳ５０９に進む。通信帯域が不足していない場合、処理は終了する。
【００８３】
ステップＳ５０９において符号量制御部３１２は、視野映像の符号量を減少させる。例えば符号量制御部３１２は、測定映像の符号量を固定値だけ減少させることができる。また、符号量制御部３１２は、現在の視野映像と測定映像との合計符号量と、ステップＳ５０２で算出された通信帯域と、の差だけ、視野映像の符号量を減らすこともできる。
【００８４】
ステップＳ５０５，Ｓ５０６は実施例１と同様に行われる。ステップＳ５１０において符号量制御部３１２は、現在の測定映像の符号量に余剰があるか否かを判定する。例えば、ＨＭＤ２００の位置姿勢推定精度が十分に高い場合には、現在の測定映像の符号量に余剰があると判定することができる。具体例としては、現在の指標検出数と閾値Ａ１との差が所定値以上である場合に、現在の測定映像の符号量に余剰があると判定することができる。しかしながら、余剰があるか否かの判定方法はこの方法に限定されるわけではない。例えば、測定精度判定部３１１がＨＭＤ２００の位置姿勢推定精度は過剰であると判定した場合に、符号量制御部３１２は現在の測定映像の符号量に余剰があると判定してもよい。現在の測定映像の符号量に余剰がある場合、処理はステップＳ５１１に進む。現在の測定映像の符号量に余剰がない場合、処理はステップＳ５１２に進む。ステップＳ５１１〜Ｓ５１３は実施例１と同様に行われる。
【００８５】
このように、ステップＳ５０４において位置姿勢推定精度が閾値を下回ると判定され、ステップＳ５０８において通信帯域が小さくなったと判定された場合、ステップＳ５０９において符号量制御部３１２は視野映像の符号量を低下させる。また、ステップＳ５０５において通信帯域が小さくなったと判定され、ステップＳ５１０において位置姿勢推定精度が閾値を上回ると判定されると、ステップＳ５１１において符号量制御部３１２は測定映像の符号量を低下させる。
【００８６】
図６は、時刻Ｔ０からＴ８までの、本実施例における符号量制御の一例を示すグラフである。図６において横軸は時間を示し、縦軸は通信帯域／符号量を示す。利用可能な通信帯域６０１、視野映像の符号量６０２、測定映像の符号量６０３及び目標符号量６０４は、図７と同様である。
【００８７】
時刻Ｔ０においてＨＭＤ２００は、動作開始後初めて外部ＰＣ４００から状態情報を受信し、利用可能な通信帯域を把握したものとする。時刻Ｔ０においては、視野映像及び測定映像の符号量としては予め設定された初期値が用いられており、現在の通信帯域には余剰がある。また、測定映像の符号量６０３は不足しておらず、視野映像の符号量６０２は目標符号量６０４に到達していない。このため、ステップＳ５１４において符号量制御部３１２は、視野映像の符号量６０２を固定値だけ増加させる。時刻Ｔ１まではこの処理が繰り返される。
【００８８】
時刻Ｔ１においては、視野映像と測定映像との合計符号量が利用可能帯域に到達したため、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。時刻Ｔ２まではこの処理が繰り返される。
【００８９】
時刻Ｔ２からＴ４までは、利用可能な通信帯域が減少していく。時刻Ｔ２からＴ３までの区間では、符号量制御部３１２は、ステップＳ５１１において通信帯域の減少に応じて測定映像の符号量６０３を下げる。時刻Ｔ３では、測定映像の符号量６０３に余剰はないと判定される。したがって、時刻Ｔ３からＴ４までの区間では、符号量制御部３１２は、ステップＳ５１２において通信帯域の減少に応じて視野映像の符号量６０２を下げる。
【００９０】
時刻Ｔ４からＴ６までは、利用可能な通信帯域が変動しない。時刻Ｔ４からＴ５までの区間では、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。時刻Ｔ５においては、測定映像の符号量６０３が不足していると判定される。このため、符号量制御部３１２は、ステップＳ５０７において測定映像の符号量６０３を上げ、その分ステップＳ５０９において視野映像の符号量６０２を下げる。例えば、ＨＭＤ２００を装着したユーザ１０１が移動し、ＨＭＤ２００と指標との距離が遠くなったり、ＨＭＤ２００の撮像範囲内の指標が少なくなったりすると、ＨＭＤ２００の位置姿勢推定精度が低くなる。この場合、位置姿勢推定精度を保つためには、測定映像からより正確に指標を検出することが必要となる。したがって、このことは、位置姿勢推定精度を保つために必要な、圧縮された測定映像の符号量が増加したことを意味する。位置姿勢推定精度を保つために必要な測定映像の符号量は、時刻Ｔ３においては符号量６０５であるが、時刻Ｔ５においては符号量６０６に上がっている。時刻Ｔ５からＴ６までの区間では、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。
【００９１】
時刻Ｔ６からＴ８までは、利用可能な通信帯域が拡大していく。時刻Ｔ６からＴ７までの区間では、符号量制御部３１２は、ステップＳ５１４において通信帯域の増加に応じて視野映像の符号量６０２を上げる。時刻Ｔ７では、ステップＳ５１３において視野映像の符号量６０２が目標符号量６０４に達したと判定される。したがって、時刻Ｔ７からＴ８までの区間では、符号量制御部３１２は、ステップＳ５１５において通信帯域の増加に応じて測定映像の符号量６０３を上げる。時刻Ｔ８では、視野映像及び測定映像の合計符号量が利用可能通信帯域に達する。時刻Ｔ８以降は、利用可能な通信帯域が変動しない。したがって、ステップＳ５０６において通信帯域に余剰はないと判定され、視野映像及び測定映像の符号量は維持される。
【００９２】
［実施例４］
実施例１，２では、通信帯域又は位置姿勢推定精度に応じて視野映像及び測定映像の符号量を制御した。しかしながら、他の情報に基づいて符号量を制御することもできる。実施例４では、ＨＭＤ２００の移動量、合成映像に占めるＣＧ領域のサイズ、又はユーザ設定に基づいて、視野映像の符号量と測定映像の符号量との比が変化するように、視野映像及び測定映像の符号量を制御する。より具体的には、位置姿勢推定精度又はＨＭＤ２００の移動量を考慮して、ＨＭＤ２００の位置姿勢をより正確に推定するために測定映像の符号量を増加させる必要がある場合に、測定映像の符号量が相対的に増加させられる。こうして、測定映像の符号量６０３がＨＭＤ２００の位置姿勢を推定するのに十分となるように符号量を制御することができる。また、ＨＭＤ２００の移動量、合成映像に占めるＣＧ領域のサイズ又はユーザ設定を考慮して、視野映像の品質を下げても許容される場合に、測定映像の符号量が相対的に増加させられる。
【００９３】
本実施例に係るＭＲシステムの構成は実施例１と同様であるから説明を省略する。また、本実施例に係るＨＭＤ２００のハードウェア構成は、慣性センサを備える点を除き実施例１と同様である。慣性センサ８０１は、ＨＭＤ２００の移動量を所定のサンプリング周波数で定期的に測定する。移動量は、並進移動量と回転移動量のうちの少なくとも一方が含まれる。慣性センサ８０１は、ジャイロセンサ若しくは加速度センサ、又はその両方でありうる。もっとも、ＨＭＤ２００の移動量は、測定映像を用いて外部ＰＣ４００によって推定されてもよい。この場合、ＨＭＤ２００は、ＨＭＤ２００の移動量を示す情報を状態情報として取得することができる。
【００９４】
図９は、本実施例に係るＨＭＤ２００のモジュール構成図である。実施例１に係るＨＭＤ２００のモジュールと同様のモジュールについては、図３と同じ参照符号を付し、重複する説明は省略する。
【００９５】
状態情報受信部３０９は、実施例１で説明した通信状況レポートと、実施例２で説明した検出結果レポートに加え、ＣＧ領域レポートを、状態情報として受信する。ＣＧ領域レポートには、合成映像のうちＣＧ映像が重畳されている領域のサイズ又は比率を示す情報が含まれている。ＣＧサイズ取得部９０１は、状態情報受信部３０９が受信したＣＧ領域レポートから、合成映像のうちＣＧ映像が重畳されている領域のサイズ又は比率を示す情報を取得する。
【００９６】
移動量取得部９０２は、慣性センサ８０１を制御してＨＭＤ２００の移動量情報を取得する。ユーザ選択取得部９０３は、ＨＭＤ２００を装着したユーザが選択した優先モードを示す情報を取得する。本実施例において優先モードには、視野映像を優先する画質優先モードと、測定映像を優先する動き優先モードとが含まれる。
【００９７】
重み設定部９０４は、視野映像及び測定映像のそれぞれの重みを設定する。重みの具体的な設定方法については後述する。別の実施例においては、視野映像と測定映像との一方の重みが設定される。例えば、測定映像のみに重みを設定する場合、視野映像の重みを上げる代わりに測定映像の重みを下げればよく、視野映像の重みを下げる代わりに測定映像の重みを上げればよい。このように、重みは視野映像と測定映像との少なくとも一方に設定することができる。
【００９８】
符号量制御部３１２は、帯域判定部３１０により判定された利用可能な通信帯域と、重み設定部９０４により設定された視野映像及び測定映像の重みを参照して、視野映像と測定映像とのそれぞれの符号量を決定する。具体的な決定方法については後述する。
【００９９】
図１０は、符号量制御部３１２による、圧縮された視野映像及び測定映像の符号量の制御方法を示すフローチャートである。図１０の処理の開始時において視野映像及び測定映像の重みとしては、例えば図１５に示すような適当な初期値が設定されている。ステップＳ１００１において状態情報受信部３０９は、外部ＰＣ４００から状態情報を受信する。
【０１００】
ステップＳ１１００において重み設定部９０４は、状態情報から得られるＨＭＤ２００の位置姿勢推定精度、より具体的には指標検出結果に応じて、視野映像及び測定映像の重みを調整する。重み調整の結果、位置姿勢推定精度に応じて視野映像と測定映像との送信レート比が変化するように、視野映像及び測定映像の符号量（送信レート）が制御される。より具体的には、位置姿勢推定精度が閾値よりも低い場合に、重み設定部９０４は測定映像の重みを増加させ、測定映像の符号量を相対的に増加させる。具体的な処理については、図１１を参照して後述する。
【０１０１】
ステップＳ１２００において重み設定部９０４は、移動量取得部９０２から得られたＨＭＤ２００の移動量に応じて、視野映像及び測定映像の重みを調整する。重み調整の結果、ＨＭＤ２００の移動量に応じて視野映像と測定映像との送信レート比が変化するように、視野映像及び測定映像の符号量（送信レート）が制御される。より具体的には、ＨＭＤ２００の移動量が閾値よりも大きい場合に、重み設定部９０４は測定映像の重みを増加させ、測定映像の符号量を相対的に増加させる。具体的な処理については、図１２を参照して後述する。
【０１０２】
ステップＳ１３００において重み設定部９０４は、状態情報から得られる、合成映像に占めるＣＧ領域のサイズに応じて、視野映像及び測定映像の重みを調整する。重み調整の結果、ＣＧ領域のサイズに応じて視野映像と測定映像との送信レート比が変化するように、視野映像及び測定映像の符号量（送信レート）が制御される。より具体的には、ＣＧ領域のサイズが閾値よりも大きい場合に、重み設定部９０４は視野画像の重みを減少され（測定映像の重みを増加させ）、測定映像の符号量を相対的に増加させる。具体的な処理については、図１３を参照して後述する。
【０１０３】
ステップＳ１４００において重み設定部９０４は、ユーザ選択取得部９０３から得られた優先モードを示す情報に応じて、視野映像及び測定映像の重みを調整する。すなわち、ユーザにより指定された場合に視野映像と測定映像との送信レート比が変化するように、視野映像及び測定映像の符号量（送信レート）が制御される。具体的な処理については、図１４を参照して後述する。
【０１０４】
ステップＳ１００２において帯域判定部３１０は、ステップＳ５０２と同様に、状態情報を参照してＨＭＤ２００から外部ＰＣ４００へのデータ送信に利用可能な通信帯域を算出する。
【０１０５】
ステップＳ１００３，Ｓ１００４において符号量制御部３１２は、ステップＳ１１００〜Ｓ１４００で調整された視野映像及び測定映像の重みに従って、視野映像及び測定映像の符号量を設定する。具体的な一例として、ステップＳ１００３において符号量制御部３１２は、以下の式に従って視野映像の符号量を決定する。
視野映像の符号量＝通信帯域×（視野映像重み／（視野映像重み＋測定映像重み））
また、Ｓ１００４において符号量制御部３１２は、以下の式に従って測定映像の符号量を決定する。
測定映像の符号量＝通信帯域−視野映像の符号量
【０１０６】
ステップＳ１００３，Ｓ１００４では、利用可能な通信帯域の全てを使うように符号量を決定している。しかしながら、通信帯域の全てを使うことは必須ではなく、通信帯域の一部、例えば９０％を使うように符号量を決定することもできる。上記の符号量の決定方法は一例に過ぎず、この方法に限定されるわけではない。例えば、ステップＳ１００３において、視野映像の符号量が目標符号量を超える場合、符号量制御部３１２は、目標符号量と一致するように視野映像の符号量を設定してもよい。
【０１０７】
ステップＳ１１００のより詳しい処理について、図１１のフローチャートを参照して説明する。ステップＳ１１０１において測定精度判定部３１１は、ステップＳ５０３と同様に、外部ＰＣ４００によるＨＭＤ２００の位置姿勢推定精度を判定する。ステップＳ１１０２において重み設定部９０４は、ステップＳ５０４と同様に、測定映像の符号量が不足しているか否かを判定する。測定映像の符号量が不足している場合、処理はステップＳ１１０３に進む。測定映像の符号量が不足していない場合、処理はステップＳ１１０４に進む。
【０１０８】
ステップＳ１１０３において重み設定部９０４は、測定映像の重みを上げる。重み設定部９０４は、測定映像の重みを固定値だけ増加させてもよいし、測定映像の符号量が不足しているほど大きくなるように定められた値だけ測定映像の重みを増加させてもよい。そして、図１１の処理は終了する。
【０１０９】
ステップＳ１１０４において重み設定部９０４は、測定映像の符号量が過剰であるか否かを判定する。測定映像の符号量が過剰であるか否かの判定は、ステップＳ５１６と同様に行うことができる。本実施例においては、比（測定映像の重み／視野映像の重み）が閾値を超えている場合にも、測定映像の符号量が過剰であると判定することができる。測定映像の符号量が過剰である場合、処理はステップＳ１１０５に進む。測定映像の符号量が過剰ではない場合、図１１の処理は終了する。
【０１１０】
ステップＳ１１０５において重み設定部９０４は、測定映像の重みを下げる。重み設定部９０４は、測定映像の重みを固定値だけ減少させてもよいし、測定映像の符号量が過剰であるほど大きくなるように定められた値だけ測定映像の重みを減少させてもよい。そして、図１１の処理は終了する。
【０１１１】
ステップＳ１２００のより詳しい処理について、図１２のフローチャートを参照して説明する。ステップＳ１２０１において移動量取得部９０２は、ＨＭＤ２００の移動量情報を取得する。本実施例において移動量情報は、現在のＨＭＤ２００の単位時間あたりの並進移動量と回転移動量とを重み付け加算して得られた数値である。しかしながら、移動量情報は、その他のＨＭＤ２００の現在の移動量又は移動速度を表す情報でありうる。
【０１１２】
ステップＳ１２０２において重み設定部９０４は、ステップＳ１２０１で取得した移動量が閾値を超えている否かを判定する。閾値を超えている場合、処理はステップＳ１２０３に移行する。閾値を超えていない場合、処理はステップＳ１２０７に移行する。
【０１１３】
ステップＳ１２０３において重み設定部９０４は、移動フラグがＯＮになっているか否かを判定する。移動フラグは、ＨＭＤ２００が現在大きく移動しており、そのために測定映像の重みが上げられていることを示すフラグであり、ＨＭＤ２００の内部で管理される。移動フラグがＯＮになっている場合、処理は終了する。移動フラグがＯＮになっていない場合、処理はステップＳ１２０４に移行する。
【０１１４】
ステップＳ１２０４において重み設定部９０４は、測定映像の重みを上げる。ＨＭＤ２００が大きく移動している場合、ＨＭＤ２００が静止している場合と比較して、ＨＭＤ２００によって撮像された映像の画質を維持するためには大きな符号量が必要となる。測定映像の重みを上げることにより、測定映像の符号量が相対的に大きくなるため、外部ＰＣ４００へと送信される測定映像の画質を維持することが可能となる。
【０１１５】
ステップＳ１２０５において重み設定部９０４は、視野映像の重みを下げる。ＨＭＤ２００が大きく移動している場合、ＨＭＤ２００が静止している場合と比較して、ＨＭＤ２００で出力される合成映像の画質の低下はＨＭＤ２００を装着しているユーザに知覚されにくくなる。このため、視野映像の画質を低下させても、ＭＲシステムのユーザ体験を損ないにくい。
【０１１６】
ステップＳ１２０４，Ｓ１２０５における重みの増加量及び減少量は、固定値であってもよいし、ステップＳ１２０１で取得された移動量に応じて定まる値であってもよい。例えば、重み設定部９０４は、重みの増加量及び減少量を、ステップＳ１２０２で用いられる閾値と移動量との差分値に応じて、例えば差分値が大きいほど増加量及び減少量が大きくなるように、動的に変えることができる。ステップＳ１２０６において重み設定部９０４は、移動回転フラグをＯＮにする。その後、処理は終了する。
【０１１７】
ステップＳ１２０７において重み設定部９０４は、移動フラグがＯＮになっているか否かを判定する。移動フラグがＯＮになっている場合、処理はステップＳ１２０８に移行する。移動フラグがＯＮになっていない場合、処理は終了する。
【０１１８】
ステップＳ１２０８において重み設定部９０４は、測定映像の重みを下げる。重みの減少量は、例えば、直近のステップＳ１２０４における重みの増加量と同じでありうる。ステップＳ１２０９において重み設定部９０４は、視野映像の重みを上げる。重みの増加量は、例えば、直近のステップＳ１２０５における重みの減少量と同じでありうる。ステップＳ１２１０において重み設定部９０４は、移動回転フラグをＯＦＦにする。その後、処理は終了する。
【０１１９】
ステップＳ１３００のより詳しい処理について、図１３のフローチャートを参照して説明する。ステップＳ１３０１においてＣＧサイズ取得部９０１は、合成映像のうちＣＧ映像が重畳されている領域のサイズ（以下、ＣＧサイズと呼ぶ）を取得する。ステップＳ１３０２において重み設定部９０４は、ＣＧサイズが閾値を超えているか否かを判定する。ＣＧサイズが閾値を超えている場合、処理はステップＳ１３０３に移行する。ＣＧサイズが閾値を超えていない場合、処理はステップＳ１３０６に移行する。
【０１２０】
ステップＳ１３０３において重み設定部９０４は、ＣＧフラグがＯＮになっているか否かを判定する。ＣＧフラグは、ＣＧサイズが大きく、そのために視野映像の重みが下げられていることを示すフラグであり、ＨＭＤ２００の内部で管理される。ＣＧフラグがＯＮになっている場合、処理は終了する。ＣＧフラグがＯＮになっていない場合、処理はステップＳ１３０４に移行する。
【０１２１】
ステップＳ１３０４において重み設定部９０４は、視野映像の重みを下げる。ＣＧサイズが大きい場合、合成映像において視野映像が占める領域は小さくなるため、視野映像の画質が低下してもＭＲシステムのユーザ体験を損ないにくい。重みの減少量は、固定値であってもよいし、ステップＳ１３０１で取得されたＣＧサイズに応じて定まる値であってもよい。例えば、重み設定部９０４は、重みの減少量を、ＣＧ領域が合成映像全体に占める割合に応じて、例えばＣＧ領域の割合が大きいほど減少量が大きくなるように、動的に変えることができる。ステップＳ１３０５において重み設定部９０４は、ＣＧフラグをＯＮにする。その後、処理は終了する。
【０１２２】
ステップＳ１３０６において重み設定部９０４は、ＣＧフラグがＯＮになっているか否かを判定する。ＣＧフラグがＯＮになっている場合、処理はステップＳ１３０７に移行する。ＣＧフラグがＯＮになっていない場合、処理は終了する。
【０１２３】
ステップＳ１３０７において重み設定部９０４は、視野映像の重みを上げる。重みの増加量は、例えば、直近のステップＳ１３０４における重みの減少量と同じでありうる。ステップＳ１３０８において重み設定部９０４は、ＣＧフラグをＯＦＦにする。その後、処理は終了する。
【０１２４】
ステップＳ１４００のより詳しい処理について、図１４のフローチャートを参照して説明する。ステップＳ１４０１においてユーザ選択取得部９０３は、ユーザが選択した優先モードを示す情報を取得する。ステップＳ１４０２において重み設定部９０４は、優先モードが画質優先モードであるか否かを判定する。画質優先モードをユーザが選択した場合、処理はステップＳ１４０３に移行する。画質優先モードをユーザが選択していない場合、処理はステップＳ１４０９に移行する。
【０１２５】
ステップＳ１４０３において重み設定部９０４は、画質優先フラグがＯＮになっているか否かを判定する。画質優先フラグは、画質優先モードが選択されており、そのために視野映像の重みが上げられていることを示すフラグであり、ＨＭＤ２００の内部で管理される。画質優先フラグがＯＮになっている場合、処理は終了する。画質優先フラグがＯＮになっていない場合、処理はステップＳ１４０４に移行する。
【０１２６】
ステップＳ１４０４において重み設定部９０４は、測定映像の重みを上げる。ステップＳ１４０５において重み設定部９０４は、画質優先フラグをＯＮにする。ステップＳ１４０６において重み設定部９０４は、動き優先フラグがＯＮになっているか否かを判定する。動き優先フラグは、動き優先モードが選択されており、そのために測定映像の重みが上げられていることを示すフラグであり、ＨＭＤ２００の内部で管理される。動き優先フラグがＯＮになっている場合、処理はステップＳ１４０７に移行する。動き優先フラグがＯＮになっていない場合、処理は終了する。ステップＳ１４０７において重み設定部９０４は、測定映像の重みを下げる。ステップＳ１４０８において重み設定部９０４は、動き優先フラグをＯＦＦにする。その後、処理は終了する。
【０１２７】
ステップＳ１４０９において重み設定部９０４は、優先モードが動き優先モードであるか否かを判定する。動き優先モードをユーザが選択した場合、処理はステップＳ１４１０に移行する。動き優先モードをユーザが選択していない場合、処理は終了する。ステップＳ１４１０において重み設定部９０４は、動き優先フラグがＯＮになっているか否かを判定する。動き優先フラグがＯＮになっている場合、処理は終了する。動き優先フラグがＯＮになっていない場合、処理はステップＳ１４１１に移行する。
【０１２８】
ステップＳ１４１１において重み設定部９０４は、測定映像の重みを上げる。ステップＳ１４１２において重み設定部９０４は、動き優先フラグをＯＮにする。ステップＳ１４１３において重み設定部９０４は、画質優先フラグがＯＮになっているか否かを判定する。画質優先フラグがＯＮになっている場合、処理はステップＳ１４１４に移行する。画質優先フラグがＯＮになっていない場合、処理は終了する。ステップＳ１４１４において重み設定部９０４は、視野映像の重みを下げる。ステップＳ１４１５において重み設定部９０４は、画質優先フラグをＯＦＦにする。その後、処理は終了する。
【０１２９】
ステップＳ１４０４，Ｓ１４１１における重みの増加量は、固定値であってもよい。また、ユーザが画質又は動きの優先度を設定できてもよく、この場合重み設定部９０４は優先度に応じた値を重みの増加量として用いることができる。ステップＳ１４０７，Ｓ１４０４における重みの減少量は、直近のステップＳＳ１４０４，Ｓ１４１１における重みの増加量と同じでありうる。
【０１３０】
図１５は、視野映像及び測定映像の重みの初期値、並びに視野映像及び測定映像の重みの増加量及び減少量を固定値とする場合に用いられる増加量及び減少量の例を示す。図１５に示す値は一例にすぎず、これらの値に限定されるわけではない。
【０１３１】
図１６は、時刻Ｔ０からＴ１２までの、本実施例における符号量制御の具体例を示すグラフである。横軸は時間を示し、縦軸は帯域／符号量を示す。利用可能通信帯域１６０１、視野映像の符号量１６０２及び測定映像の符号量１６０３は、図６の６０１〜６０３と同様である。最大符号量１６０４は、予め設定されている測定映像の最大符号量を示す。ステップＳ１１０４においては、測定映像の符号量１６０３が最大符号量１６０４を超えた場合に、符号量が過剰であると判定され、ステップＳ１１０５において測定映像の符号量１６０３が下げられるものとする。
【０１３２】
時刻Ｔ０においてＨＭＤ２００は、動作開始後初めて外部ＰＣ４００から状態情報を受信し、利用可能な通信帯域を把握したものとする。時刻Ｔ０においては、視野映像の符号量としては初期値１００が、測定映像の符号量としては初期値５０が用いられている。
【０１３３】
時刻Ｔ１からＴ２までの区間では、ＨＭＤ２００を装着したユーザ１０１が移動しており、ＨＭＤ２００の移動量が閾値を超えている。このため、重み設定部９０４は、ステップＳ１２００において重みを調整する。具体的には、ステップＳ１２０４において測定映像の重みは１０増加して６０となり、ステップＳ１２０５において視野映像の重みは１０減少して９０となる。時刻Ｔ２においては、ＨＭＤ２００を装着したユーザ１０１が停止し、ＨＭＤ２００の移動量が閾値を下回る。このため、ステップＳ１２０８において測定映像の重みは１０減少して５０となり、ステップＳ１２０９において視野映像の重みは１０増加して１００となる。
【０１３４】
時刻Ｔ３からＴ５までの区間では、利用可能な通信帯域が減少していく。時刻Ｔ４では、ＨＭＤ２００の位置姿勢推定精度が不十分であると判定される。このため、重み設定部９０４は、ステップＳ１１００において重みを調整する。具体的には、ステップＳ１１０３において測定映像の重みは２０増加して７０となる。時刻Ｔ５からＴ７までの区間では、利用可能な通信帯域は変動しない。
【０１３５】
時刻Ｔ６からＴ８までの区間では、ＣＧサイズが閾値より大きくなる。このため、重み設定部９０４は、ステップＳ１３００において重みを調整する。具体的には、ステップＳ１３０４において視野映像の重みは２０減少して８０となる。測定映像の重みは変化せず７０のままである。
【０１３６】
時刻Ｔ７からＴ１１までの区間では、利用可能通信帯域が拡大していく。時刻Ｔ８では、ＣＧサイズが閾値をより小さくなる。このため、重み設定部９０４は、ステップＳ１３００において重みを調整する。具体的には、ステップＳ１３０７において視野映像の重みは２０増加して１００となる。測定映像の重みは変化せず７０のままである。
【０１３７】
時刻Ｔ９では、測定映像の符号量が最大符号量１６０４に達する。このため、重み設定部９０４は、ステップＳ１１００において重みを調整する。具体的には、ステップＳ１１０５において測定映像の重みは１０減少して６０となる。視野映像の重みは変化せず１００のままである。時刻Ｔ１０では、測定映像の符号量が再度最大符号量１６０４に達する。このため、重み設定部９０４は、ステップＳ１１００において重みを調整する。具体的には、ステップＳ１１０５において測定映像の重みは１０減少して５０となる。視野映像の重みは変化せず１００のままである。
【０１３８】
時刻Ｔ１１以降は、利用可能通信帯域が変動しない。時刻Ｔ１２では、ユーザ１０１が画質優先モードを選択する。このため、重み設定部９０４は、ステップＳ１４００において重みを調整する。具体的には、ステップＳ１４０４において視野映像の重みは３０増加して１３０となる。測定映像の重みは変化せず５０のままである。
【０１３９】
以上のように、本実施例においては、位置姿勢推定精度（Ｓ１１００）、ＨＭＤ２００の移動量（Ｓ１２００）、合成映像に含まれるＣＧ領域のサイズ（Ｓ１３００）、及びユーザ設定（Ｓ１４００）を考慮して、視野映像及び測定映像の符号量を制御した。具体的には、これらの情報のそれぞれを参照して、視野映像及び測定映像のそれぞれに対する重みを決定した。そして、決定された重みに基づいて、視野映像の符号量と測定映像の符号量との比を決定した。しかしながら、これらの情報の全てを考慮する必要はなく、任意の１以上の情報を組み合わせて符号量を制御することが可能である。すなわち、ステップＳ１１００〜Ｓ１４００のうち、考慮しない情報を用いた処理は省略することができる。また、図３及び図９に示した構成のうち、考慮しない情報を取得するための構成は省略することができる。
【０１４０】
さらに、これらの情報に加えて、又はこれらの情報に代えて、他の情報を考慮して符号量を制御することもできる。例えば、視野映像の符号量が目標符号量に達している場合に、重み設定部９０４は、視野映像の重みを小さく（測定映像の重みを大きく）してもよい。
【０１４１】
また、これらの情報に応じて視野映像及び測定映像の重みを制御することは必須ではない。例えば、実施例１〜３と同様に、所定の条件を満たした場合に視野映像又は測定映像の符号量を増加又は減少させてもよい。具体的な一例としては、ＨＭＤ２００の移動量が閾値より大きい場合に、測定映像の符号量を増加させることができる。
【０１４２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４３】
２００：ＨＭＤ、２０１：右メインカメラ、２０２：左メインカメラ、２０３：上サブカメラ、２０４：下サブカメラ、３０５：映像送信部、３１２：符号量決定部、４００：外部ＰＣ
【図１】
0006546439.tif 000002
【図２】
0006546439.tif 000003
【図３】
0006546439.tif 000004
【図４】
0006546439.tif 000005
【図５】
0006546439.tif 000006
【図６】
0006546439.tif 000007
【図７】
0006546439.tif 000008
【図８】
0006546439.tif 000009
【図９】
0006546439.tif 000010
【図１０】
0006546439.tif 000011
【図１１】
0006546439.tif 000012
【図１２】
0006546439.tif 000013
【図１３】
0006546439.tif 000014
【図１４】
0006546439.tif 000015
【図１５】
0006546439.tif 000016
【図１６】
0006546439.tif 000017
【図１７】
0006546439.tif 000018