(57)【特許請求の範囲】
【請求項１】
画像処理装置と通信可能な通信装置であって、
現実空間を撮像して映像データを生成する撮像手段と、
前記撮像手段によって生成された前記映像データから、前記通信装置の位置・姿勢を特定するために使われる第１のデータと第２のデータを生成する生成手段と、
前記第１のデータを前記画像処理装置に送信する第１の送信手段と、
前記画像処理装置における前記通信装置の位置・姿勢の特定結果に基づいて、前記第２のデータを前記画像処理装置に送信する必要があるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記第２のデータを前記画像処理装置に送信する第２の送信手段と、
を有する通信装置。
【請求項２】
前記判定手段により前記第２のデータを送信する必要があると決定された場合に、前記第２の送信手段が送信する第２のデータを選択する選択手段を更に有し、
前記第２の送信手段は前記選択手段により選択された第２のデータを前記画像処理装置に送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記生成手段は、前記通信装置の位置・姿勢を特定するための指標を含んだ前記第１のデータを生成し、
前記判定手段は、前記画像処理装置による前記指標の検出状態を解析して、前記第２のデータを送信する必要があるか否かを判定することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記指標の検出状態には、前記指標の形状の検出数と前記指標のパターンの認識数が含まれることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記選択手段は、前記指標の形状の検出数と前記指標のパターンの認識数がそれぞれ所定の閾値より小さい場合に、前記第２のデータの全てを選択することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記選択手段は、前記指標のパターンの認識数が所定の閾値より小さく、前記指標の形状の検出数が閾値以上である場合に、前記映像データの中の、前記指標のパターンの認識が失敗した指標を含むブロックにおける前記第２のデータを選択することを特徴とする請求項４または５に記載の通信装置。
【請求項７】
前記第１のデータは、前記画像処理装置が基本品質の映像を生成するために必要な基本映像データであり、
前記第２のデータは、前記第１のデータと合成されることにより高品質の映像を生成するために必要な拡張映像データであることを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
現実空間を撮像して映像データを生成する撮像手段を有する通信装置と通信可能な画像処理装置であって、
前記撮像手段によって生成された映像データに基づいて前記通信装置において生成された第１のデータを受信する受信手段と、
前記第１のデータに基づいて、前記通信装置の位置・姿勢を特定する第１の特定手段と、
前記第１の特定手段における特定結果を前記通信装置に通知する通知手段と、
前記撮像手段によって生成された映像データに基づいて前記通信装置において生成された第２のデータを、前記通知手段による通知に応じて前記画像処理装置から受信した場合、当該第２のデータに基づいて、前記通信装置の位置・姿勢を特定する第２の特定手段と、
を有することを特徴とする画像処理装置。
【請求項９】
検出手段をさらに有し、
前記第１のデータには、前記通信装置の位置・姿勢を特定するための指標が含まれ、
前記検出手段は、前記第１のデータから前記指標を検出することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記通知には、前記検出手段により検出された前記指標の検出状態が含まれることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記指標の検出状態には、前記指標の形状の検出数と前記指標のパターンの認識数が含まれることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
合成手段を更に有し、
前記通信装置から前記第２のデータを受信した場合に、
前記合成手段は、前記第１のデータと前記第２のデータとを合成して合成データを生成し、
前記第２の特定手段は、前記合成データに基づいて前記通信装置の位置・姿勢を特定することを特徴とする請求項８から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記第１のデータは、基本品質の映像を取得するために必要な基本映像データであり、
前記第２のデータは、前記第１のデータと合成されることにより高品質の映像を生成するために必要な拡張映像データであることを特徴とする請求項８から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
画像処理装置と通信可能な通信装置の制御方法であって、
現実空間を撮像して映像データを生成する撮像工程と、
前記撮像工程において生成された前記映像データから、前記通信装置の位置・姿勢を特定するために使われる第１のデータと第２のデータを生成する生成工程と、
前記第１のデータを前記画像処理装置に送信する第１の送信工程と、
前記画像処理装置における前記通信装置の位置・姿勢の特定結果に基づいて、前記第２のデータを前記画像処理装置に送信する必要があるか否かを判定する判定工程と、
前記判定工程における判定結果に基づいて、前記第２のデータを前記画像処理装置に送信する第２の送信工程と、
を有する通信装置の制御方法。
【請求項１５】
現実空間を撮像して映像データを生成する撮像手段を有する通信装置と通信可能な画像処理装置の制御方法であって、
前記撮像手段によって生成された映像データに基づいて前記通信装置において生成された第１のデータを受信する受信工程と、
前記第１のデータに基づいて、前記通信装置の位置・姿勢を特定する第１の特定工程と、
前記第１の特定工程における特定結果を前記通信装置に通知する通知工程と、
前記撮像手段によって生成された映像データに基づいて前記通信装置において生成された第２のデータを、前記通知工程における通知に応じて前記画像処理装置から受信した場合、当該第２のデータに基づいて、前記通信装置の位置・姿勢を特定する第２の特定工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項１６】
請求項１から７のいずれか１項に記載の通信装置の各手段としてコンピュータを機能させるためのプログラム。
【請求項１７】
請求項８から１３のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合現実システムにおける映像の伝送技術に関する。
【背景技術】
【０００２】
近年、現実世界と仮想空間をリアルタイム且つシームレスに融合するＭＲ（Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ: 複合現実）システムが利用されてきている。ＭＲシステムを実現する方法の一つとして、ビデオシースルー方式がある。ビデオシースルー方式の一例として、ＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）使用者がディスプレイにより観察する映像として、ＨＭＤに付属しているビデオカメラにより撮像されたＨＭＤ使用者の視界領域の撮像映像に、ＣＧ（Ｃｏｍｐｕｔｅｒ Ｇｒａｐｈｉｃｓ）を合成した映像を構築する技術がある。
【０００３】
撮像映像にＣＧを合成する処理は計算処理コストが大きいため、ＨＭＤはＰＣなどの外部の映像処理装置と接続し、一旦撮像映像を映像処理装置に送信し、映像処理装置は撮像映像にＣＧを合成し、ＨＭＤに送り返してもよい。このような場合に、ＨＭＤ使用者は自由に動きながらＭＲ空間を体験するために、ＨＭＤと映像処理装置とは無線伝送で通信することが望ましい。しかし、一般的に、無線通信は有線通信に比較して通信帯域が狭く、無線伝送上でのパケットロスによる遅延も発生しやすい。従って、ＨＭＤ使用者がＭＲ空間をリアルタイム且つ安定的に体験するためには、ＨＭＤは、撮像映像データを映像符号化技術により圧縮し、通信データ量を削減する必要がある。
【０００４】
一方で、撮像映像にＣＧを合成する映像処理装置においては、ＨＭＤの位置・姿勢を取得するためのキャリブレーションを行うために、受信した撮像映像からマーカー若しくは自然特徴により抽出された特徴点によって構成される指標を抽出する必要がある。この指標は、画像解析により抽出され、正確なキャリブレーションを行うためには、高精細な映像データが必要という背景がある。ＨＭＤにおいて実行される撮像映像データに対する映像符号化処理により撮像映像データが大幅に圧縮されてしまうと、映像処理装置は、十分に指標を抽出できず、その結果、必要十分な映像品質が得られないという問題がある。
【０００５】
そこで、利用可能な帯域が限られた環境で、映像処理装置が正確なキャリブレーションを行うことが可能で、ＨＭＤ使用者がＭＲ空間をリアルタイム且つ安定的に体験可能なＭＲシステムを実現することが望まれる。このようなＭＲシステムを実現するための一つの方法として、ＨＭＤが撮像映像データの中の重要度の低い領域と高い領域とを区別し、それぞれ割り当てるデータ量を変更する方法がある。例えば、キャリブレーションを行うための指標領域のように重要度の高い領域に関しては、圧縮率が低く設定される。
【０００６】
映像フレーム内で重要度の高低により符号化の圧縮率を変えることで送信データ量を削減する方法については、一般的に知られた技術である。例えば、特許文献１では、映像データのオブジェクト符号化方式におけるオブジェクト毎の位置関係や優先度に応じて符号化を行うか否か、又は符号化の圧縮率を変えることにより、低レート下での主観画質を向上させている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１８５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
指標を正しく検出するために必要となる映像品質は、撮像画像における指標の大きさ、指標の撮像角度、撮像時のＨＭＤの移動速度等の状況に応じて変わってくる。例えば撮像画像において映っている指標が大きい場合や、ＨＭＤが低速で移動している場合には、映像品質がさほど高くなくても指標検出ができることが考えられる。従って特許文献１の方法のように、重要度の高い指標領域の映像を毎回高品質で送信することは、ＨＭＤのようにバッテリー等で駆動する移動型の通信装置にとって、電力消費と周波数資源の効率的利用の観点から望ましくない。
【０００９】
本発明は、上記課題に鑑みてなされたものであり、ＨＭＤ等の通信装置の電力消費を抑えつつ、当該通信装置の位置・姿勢の取得をより正確に行うことを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための、本発明の一態様による通信装置は、以下の構成を有する。すなわち、画像処理装置と通信可能な通信装置であって、現実空間を撮像して映像データを生成する撮像手段と、前記撮像手段によって生成された前記映像データから、前記通信装置の位置・姿勢を特定するために使われる第１のデータと第２のデータを生成する生成手段と、前記第１のデータを前記画像処理装置に送信する第１の送信手段と、前記画像処理装置における前記通信装置の位置・姿勢の特定結果に基づいて、前記第２のデータを前記画像処理装置に送信する必要があるか否かを判定する判定手段と、前記判定手段による判定結果に基づいて、前記第２のデータを前記画像処理装置に送信する第２の送信手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、通信装置の電力消費を抑えつつ、当該通信装置の位置・姿勢の取得をより正確に行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】ＭＲシステムの構成図。
【図２】ＨＭＤの機能ブロック図（１）。
【図３】ＰＣの機能ブロック図。
【図４】映像ブロック構成と映像品質を示す図。
【図５】基本映像と拡張映像の構成例を示す図。
【図６】全体動作を示すシーケンス図（１）。
【図７】全体動作を示すシーケンス図（２）。
【図８】基本映像のデータ構造の例を示す図。
【図９】拡張映像のデータ構造の例を示す図。
【図１０】指標情報検出結果のデータ構造の例を示す図（１）。
【図１１】ＨＭＤの全体処理のフローチャート。
【図１２】ＨＭＤの拡張映像選択処理のフローチャート（１）。
【図１３】ＰＣの全体処理のフローチャート。
【図１４】ＰＣの指標情報検出処理のフローチャート。
【図１５】通信フレームの構成図。
【図１６】ＨＭＤの機能ブロック図（２）。
【図１７】ＨＭＤの拡張映像選択処理のフローチャート（２）。
【図１８】ＰＣの機能ブロック図（２）。
【図１９】指標情報検出結果のデータ構造の例を示す図（２）。
【図２０】ＰＣの拡指標情報検出処理のフローチャート（２）。
【図２１】ＨＭＤの拡張映像選択処理のフローチャート（３）。
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
［実施形態１］
図１は、実施形態１におけるＭＲシステムの構成例を示す図である。ＭＲシステムは、使用者が装着するビデオシースルー型の頭部装着型の表示装置（以下、ＨＭＤ）１００、指標１１０〜１１５、画像処理装置であるＰＣ１０５から構成される。ＨＭＤ１００とＰＣ１０５は、互いに通信可能である。
【００１５】
指標を含む視界領域は、ＨＭＤ１００に付属する撮像装置により撮像され、撮像された映像は、映像データ１３０としてＰＣ１０５へ伝送される。伝送方式として、例えばＧｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ、ＩＥＥＥ１３９４等の有線方式、ＩＥＥＥ８０２．１１ｎやＩＥＥＥ８０２．１１ａｃ等の無線方式が挙げられるが、これらに限定されない。
【００１６】
ＰＣ１０５は、受信した映像データ１３０に対し、画像解析により指標を検出し、ＨＭＤ１００の位置・姿勢を推定する画像処理装置である。指標は、例えば、それぞれが異なる色を有する円形状のマーカーによって構成されてもよいし、それぞれが異なる特徴を有する自然特徴等の特徴点によって構成されてもよい。また、指標として、ある程度の面積を有する四角形領域によって形成されるような四角形指標を用いることも可能である。指標は、撮像映像上における画像座標が検出可能であって、かついずれの指標であるかを示すパターンが識別可能であるような指標であれば、何れの形態であってもよい。
【００１７】
ＰＣ１０５は、指標を検出するにあたって、まず指標の形状を検出するための画像解析を行う。例えば、指標の外形が正方形であること、平板上の形であること、黒枠と白枠が所定の比率で構成されていること、等が条件として設定された場合、ＰＣ１０５は、当該条件と一致する画像領域を、指標の形状をしていると認識する。次に、ＰＣ１０５は、指標の形状をしていると認識された画像領域に関して、指標の識別パターンについての画像解析を行う。例えば、指標内部の識別パターンが２次元バーコードで構成されていれば、ＰＣ１０５は、パターンを一意に識別することができる。２次元バーコードには誤り検出コードを含めることにより、ＰＣ１０５は、対象となる指標に対して、正しくパターン認識が出来たか否かを判別し、位置・姿勢推定に使用できるかどうかを判定することが可能である。
【００１８】
位置・姿勢推定に用いられる指標は一個でもよいが、図１に示すように、複数の指標が同時に使用されてもよい。複数の指標が同時に使用される場合、各指標の位置関係が予め定義されれば、ＰＣ１０５は、複数の指標の位置関係から、各指標に対する視方向を算出することができる。ＰＣ１０５は、指標を複数使用したり、指標情報と映像中の特徴点の情報を組み合わせて使用したりすることで、より高い精度の位置・姿勢を推定することができる。
【００１９】
ＰＣ１０５は、ＨＭＤ１００の位置・姿勢を推定すると、推定した位置・姿勢に応じて映像データ１３０の上にＣＧ１３５を合成し、ＣＧ合成映像１４０を生成する。ＰＣ１０５は、生成したＣＧ合成映像１４０をＨＭＤ１００に送信し、ＨＭＤ１００は、受信したＣＧ合成映像１４０を表示する。
【００２０】
図２は、本実施形態におけるＨＭＤ１００の機能ブロックの構成を示す図である。撮像部２００は、ＨＭＤ使用者が見ている現実空間映像を撮像する。映像圧縮部２０５は、撮像部２００にて撮像された映像を、所定の符号化方式を用いて圧縮し、符号化データを生成する。本実施形態では、映像圧縮部２０５は、全体映像を複数のピクセルデータの集合である映像ブロック単位に分割し、各映像ブロックに対して符号化を行うことが可能である。映像ブロックの構成については図４を用いて詳述する。
【００２１】
映像圧縮部２０５は、各映像ブロックに対して基本品質の映像を生成するための基本映像データと、基本映像データと合成して高品質の映像を生成するための拡張映像データを生成可能な、スケーラブルな符号化方式を用いる。このような符号化方式として、例えば、Ｍｏｔｉｏｎ−ＪＰＥＧやＨ．２６４／ＡＶＣ等が挙げられるが、これら以外の方式でもよい。映像選択部２１０は、解析部２２０により取得した解析結果に基づいて、通信部２１５を介してＰＣ宛てに送信する映像データを、各映像ブロックの基本映像データや拡張映像データの中から選定する。なお、基本映像データは本実施形態における第１の符号化データの一例であり、拡張映像データは本実施形態における第２の符号化データの一例である。
【００２２】
通信部２１５は、ＰＣ宛てに映像選択部２１０で選択された映像データを送信し、ＰＣから指標情報検出結果と、ＣＧ合成映像を受信する。解析部２２０は、ＰＣから受信した指標情報検出結果に含まれる指標検出状態、すなわち、指標形状検出数やパターン認識結果の成否を、解析する。表示部２２５は、ＰＣから受信したＣＧ合成映像を表示する。
【００２３】
なお、図２に示す各機能ブロックは、それぞれハードウェア又はソフトウェアによって構成される。ソフトウェアとして構成される場合には、各機能を実現するためのコンピュータプログラムが記憶部に記憶され、ＨＭＤ１００が備えるＣＰＵが当該プログラムを実行することによって該機能が実現される。
【００２４】
図３は、ＰＣ１０５の機能ブロックの構成を示す図である。通信部３００は、ＨＭＤから送信される基本映像データや拡張映像データを受信する。また、通信部３００は、検出結果生成部３２０により生成された指標情報検出結果と、ＣＧ合成部３３０により生成されたＣＧ合成映像を、ＨＭＤへ送信する。映像伸長部３０５は、ＨＭＤから受信した各映像ブロックの基本映像データを伸長して基本品質の映像を生成し、受信した拡張映像データを伸長する。映像合成部３１５は、伸長された各映像ブロックの基本映像データと拡張映像データとを合成して、高品質映像を生成する。
【００２５】
指標情報検出部３１０は、映像伸長部３０５により生成された基本品質の映像もしくは映像合成部３１５により生成された高品質映像を画像解析することにより、指標情報の検出を行う。指標情報検出部３１０は、指標形状検出部３１１、指標パターン判別部３１２、指標配置情報取得部３１３から構成される。指標形状検出部３１１は、画像解析処理により、映像内から指標の形状をした画像領域を検出する。指標形状の条件はシステムで予め決められており、例えば外形が正方形であること、平板上の形であること、黒枠と白枠が所定の比率で構成されていること、等である。このような条件に一致する画像領域は、指標の形状をしていると認識される。指標の形状をしていると認識された画像領域に関しては、指標配置情報取得部３１３により、全体映像における指標の配置が取得される。更に指標パターン判別部３１２は、画像解析処理により、指標の形状をしていると認識された画像領域に関して、指標の識別パターンを識別する。
【００２６】
検出結果生成部３２０は、指標情報検出部３１０により検出された内容をＨＭＤに送信するためのデータとしてフォーマットする。位置・姿勢計測部３２５は、指標情報検出部３１０によりパターン検出された指標を用いてＨＭＤの位置・姿勢を推定する。ＣＧ合成部３３０は、位置・姿勢計測部３２５により推定されたＨＭＤの位置姿勢に基づいてＣＧを生成し、受信した映像データ上にＣＧを合成し、通信部３００へＣＧ合成映像データを渡す。
【００２７】
なお、図３に示す各機能ブロックは、それぞれハードウェア又はソフトウェアによって構成される。ソフトウェアとして構成される場合には、各機能を実現するためのコンピュータプログラムが記憶部に記憶され、ＰＣ１０５が備えるＣＰＵが当該プログラムを実行することによって該機能が実現される。
【００２８】
図４は、映像のブロック構成と映像品質を示す図である。像４００は、全体映像を複数のピクセルデータの集合である映像ブロック単位に分割するための分割パターンを示す。本例では、説明を簡単にするため、分割パターンは、縦と横をそれぞれ均等に３分割した映像ブロック構成となっているが、分割単位はこれに限定されるものではない。ＨＭＤは、各映像ブロックに対して、基本映像と拡張映像のデータを生成する。拡張映像データには、基本映像の高品質化に寄与する解像度を高めるための追加データ等が含まれる。
【００２９】
像４０５は、ＨＭＤの圧縮前の撮像映像を像４００で定義した映像ブロックで分割した図である。各指標の配置は、所属する映像ブロックで識別されることが可能である。例えば、指標１１０は映像ブロック２に、指標１１４は映像ブロック４と５に跨って配置される。指標１１０や１１４のようにＨＭＤ使用者の正面を向いている指標であれば、正常な形状認識とパターン認識がされやすいが、指標１１２や１１３のように傾いている場合には、正常に形状認識はされても映像品質によってはパターン認識がされない可能性がある。圧縮前の撮像映像は、映像品質が最も良いので、圧縮前の撮像映像に基づく指標の形状検出と指標のパターン識別は、圧縮後の映像に基づく指標の形状検出と指標のパターン識別と比較して容易である。
【００３０】
像４１０は、圧縮率が低く、情報の消失が少ない映像の例を示している。圧縮による映像の品質劣化により、大部分の指標の形状検出は可能だが、一部の指標のパターン識別ができない状態にある。また、像４１５は、圧縮率が高く、情報の消失が多い映像の例を示している。像４１０と比較して更に映像の品質が劣化しているため、大部分の指標の形状検出ができない状態にある。
【００３１】
図５は、基本映像と拡張映像の構成例を示す図である。非圧縮映像５００は、ＨＭＤで撮像された映像を示している。ＨＭＤは、この非圧縮映像５００を、図４の像４００に示すように映像ブロックごとに分割し圧縮処理を施す。その結果、映像ブロックごとに基本映像５０５と拡張映像のデータ５１０が生成される。拡張映像データには、基本映像の高品質化に寄与する解像度を高めるための追加データ等が含まれる。基本映像を伸長することで、基本品質の映像を取得可能であり、伸長した基本映像と拡張映像を合成することで、高品質の映像を取得可能である。本例では、圧縮した映像は基本映像と拡張映像の２つの層から構成されるが、これに限定されるものではなく、３つ以上の層から構成されるよう、ＨＭＤは圧縮処理を施しても良い。
【００３２】
図６は、本実施形態の全体処理の第一の例を示すＨＭＤとＰＣ間のシーケンス図である。図６のシーケンス図は、ＰＣが基本映像を使用してＨＭＤの位置姿勢を推定するにあたって、十分な数の指標が検出できた場合の映像フレーム一つ分の処理を示している。まず、ＨＭＤはＳ６００にて、撮像した映像フレームを映像ブロック単位に分割し、各映像ブロックに対して基本映像と拡張映像を生成する。次にＳ６０５にて、ＨＭＤは、全映像ブロックの基本映像をＰＣへ送信する。ＰＣはＳ６１０にて基本映像を受信し、伸長処理を行う。次にＳ６１５にて、ＰＣは、伸長した基本品質の映像を用いて画像解析により指標情報検出処理を行う。指標情報検出処理については図１４のフローチャートを用いて詳述する。
【００３３】
次にＳ６２０にて、ＰＣは、指標情報検出結果をＨＭＤへ送信する。ＨＭＤは、Ｓ６２５にて指標情報検出結果を受信し、その内容を解析する。この図の例では、ＨＭＤは、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたと判断している。ＰＣは、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたことを認識した後、Ｓ６３０にて、指標情報を元にＣＧを生成し、受信した映像と合成してＣＧ合成映像を生成する。なお、ＰＣは、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたことを、ＰＣ自身による判定処理や、ＨＭＤからのメッセージや、ＨＭＤから一定時間内に拡張映像を受信しなかったこと等により認識することが可能である。次にＳ６３５にて、ＰＣは、ＣＧ合成映像をＨＭＤへ送信する。ＨＭＤは、Ｓ６４０にて、受信したＣＧ合成映像を表示する。
【００３４】
図７は、本実施形態の全体処理の第二の例を示すＨＭＤとＰＣ間のシーケンス図である。図７のシーケンス図は、ＰＣが基本映像を使用してＨＭＤの位置姿勢を推定するにあたって、十分な数の指標が検出できなかった場合の映像フレーム一つ分の処理を示している。Ｓ７００〜Ｓ７２５までの処理は、図６のＳ６００〜Ｓ６２５までの処理と同内容である。
【００３５】
ＨＭＤはＳ７２５にて指標情報検出結果を受信し、その内容を解析する。この図の例では、ＨＭＤは、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されなかったと判断し、拡張映像の追加伝送が必要であると判断している。そこで次にＳ７３０にて、ＨＭＤは、指標情報検出結果に基づいて追加伝送すべき拡張映像のブロックを選択し、Ｓ７３５にてＰＣへ送信する。拡張映像ブロックの選択処理については図１２のフローチャートを用いて詳述する。ＰＣは、Ｓ７４０にて、受信した拡張映像ブロックを伸長し、伸長した基本映像ブロックと合成して、高品質映像を生成する。次にＳ７４５にて、ＰＣは、この高品質映像を用いて再度指標情報検出処理を行う。この図の例では、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出された場合を示している。続くＳ７５０〜Ｓ７７０までの処理は、図６のＳ６２０〜Ｓ６４０までの処理と同内容である。
【００３６】
図８は、本実施形態においてＨＭＤが送信する基本映像のデータ構造の一例を示している。基本映像データ８００は、映像ブロック１の基本映像データ８０５を含む、分割したブロック数分の基本映像データから構成されている。
【００３７】
図９は、本実施形態においてＨＭＤが送信する拡張映像のデータ構造の一例を示している。本実施形態では、ＨＭＤが、ＰＣにより生成された指標情報検出結果に基づいて送信すべき拡張映像を決定するため、すべての映像ブロックの拡張映像を含む必要はなく、一部の映像ブロックの拡張映像を含んでいても良い。ブロック番号９０５は、映像ブロックを識別する番号を示し、ブロック拡張映像データ９１０は、ブロック番号９０５で示される映像ブロック番号の拡張映像データを含んでいる。ＰＣは、これらのブロック番号を識別することにより、各ブロックの基本映像と拡張映像を合成することができる。
【００３８】
図１０は、ＰＣの画像解析により生成する指標情報検出結果のデータ構造を示している。指標情報検出結果１０００は、指標形状検出数（Ｍ）１００５、指標パターン認識数（Ｐ）１０１０、Ｍ個の指標パターン判別フラグ１０１５、とＭ個の指標配置情報１０２０から構成される。指標形状検出数（Ｍ）１００５は、ＰＣの指標形状検出部により、少なくとも指標の形状をしていると認識された画像領域の数を示している。指標パターン認識数（Ｐ）１０１０は、ＰＣ側の指標パターン判別部３１２により、指標の形状をした画像領域のパターンが判別された結果、正常にパターンが認識できた指標の数を示している。例えば、指標内部の識別パターンが２次元バーコードで構成されていれば、指標パターン判別部３１２は、パターンを一意に識別することができる。２次元バーコードには誤り検出コードを含めることにより、ＰＣは正しくパターン認識が出来たか否かを判別することが可能である。例えば、Ｍ＝５，Ｐ＝２の場合は、ＰＣは５個の指標形状を検出できたが、識別パターンが認識できたのはそのうちの２つであることを示している。
【００３９】
指標パターン判別フラグ１０１５は、形状が検出できた１個目の指標のパターン判別結果を、ＯＫ（成功）／ＮＧ（失敗）の２状態で示している。指標配置情報１０２０は、形状が検出できた１個目の指標の全体映像における配置を示す情報である。例えば、図４のように全体映像を９つの映像ブロックに分割した場合に、９ビットのビットマップを使用して、指標配置情報１０２０は上位ビットから順番に所属映像ブロック番号を示すとする。この場合、指標１１５はブロック１とブロック４に跨っているので、指標配置情報１０２０は、０ｂ１００１０００００と表現できる。ＨＭＤは、これらの情報を使用して、追加映像の伝送が必要な場合に、必要な拡張映像ブロックを決定する。
【００４０】
以下、図１１〜図１５を用いて、本実施形態におけるＨＭＤとＰＣの具体的な処理を説明する。図１１は、ＨＭＤの制御方法の全体処理のフローチャートを示している。まずＳ１１０１にて、映像圧縮部２０５は、撮像した映像フレームを映像ブロック単位に分割し、各映像ブロックに対して基本映像と拡張映像を生成する。次に、Ｓ１１０５にて通信部２１５は、映像選択部２１０により選択された全映像ブロックの基本映像をＰＣへ送信する。次に、Ｓ１１１０にて、通信部２１５は、ＰＣから送信される指標情報検出結果を待ち、受信する。
【００４１】
Ｓ１１１５にて、解析部２２０は、指標情報検出結果を解析し、指標のパターン認識数（Ｐ）が所定の閾値以上であるか、あるいは拡張映像の送信回数が上限に到達したかどうかを判定する。Ｐが所定の閾値以上である場合には、解析部２２０は、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたと判定し、処理はＳ１１３０へ分岐し、そうでない場合には、処理はＳ１１２０へ分岐する。また、ＭＲシステムにおける映像伝送はリアルタイム性が要求されるため、通信帯域の制限から、図８のフレーム構成で示すように拡張映像の追加送信回数は予め決められている。そのため、送信回数が上限に到達した場合には、通信部２１５は、拡張映像の追加送信はこれ以上行わずに、処理はＳ１１３０へ分岐する。
【００４２】
Ｓ１１２０では、通信部２１５が追加の拡張映像を送信するにあたって、映像選択部２１０は、解析部２２０による指標情報検出結果の解析内容に従って、必要な映像ブロックを選択する。Ｓ１１２０の内容については図１３を用いて詳述する。Ｓ１１２５では、通信部２１５は、選択された拡張映像をＰＣへ送信し、処理は再度Ｓ１１１０へ進む。Ｓ１１３０では、通信部２１５は、ＰＣからＣＧ合成映像を受信し、Ｓ１１３５にて、表示部２２５は、表示を行い、その後ＨＭＤの全体処理が終了する。
【００４３】
図１２は、ＨＭＤの拡張映像選択処理（Ｓ１１２０）の詳細を示すフローチャートである。Ｓ１２００にて、解析部２２０は、ＰＣから受信した指標情報検出結果内の指標形状認識数（Ｍ）が所定の閾値を超えているかどうかを判定する。Ｍが所定の閾値を超えている場合には、解析部２２０は、形状検出はできているがパターン認識ができていない指標の所属する映像ブロックを特定可能と判断し、処理はＳ１２１０へ分岐し、そうでない場合は処理はＳ１２０５へ分岐する。Ｓ１２１０では、解析部２２０は、指標情報検出結果内のパターン判別フラグがＮＧ（失敗）である指標の配置情報を取得し、Ｓ１２１５では、映像選択部２１０は、その配置情報で示される映像ブロックの拡張映像を選択する。Ｓ１２０５は、指標のパターン認識数（Ｐ）も指標形状認識数（Ｍ）もそれぞれ所定の閾値より低い状態であり、映像選択部２１０は、全映像ブロックの拡張映像、あるいは全映像ブロックからパターン判別の成功した指標の配置される映像ブロックを除いたすべての映像ブロックを選択する。
【００４４】
図１３は、本実施形態におけるＰＣの制御方法の全体処理のフローチャートを示している。まずＳ１３００にて、通信部３００は、ＨＭＤから送信される全体の映像ブロックの基本映像を受信する。次にＳ１３０５にて、映像伸長部３０５は、受信した基本映像に伸長処理を施して基本品質の映像を生成する。次にＳ１３１０にて、指標情報検出部３１０は、基本品質の映像を用いて画像解析を行い、指標情報の検出処理を行う。続けて、検出結果生成部３２０は、指標情報検出結果を生成する。次に、Ｓ１３１５にて、通信部３００は、Ｓ１３１０で生成された指標情報検出結果をＨＭＤに送信する。
【００４５】
次に、Ｓ１３２０にて、指標情報検出部３１０は、指標情報の検出を行った結果、指標のパターン認識数（Ｐ）が所定の閾値以上であるか、あるいは拡張映像の送信回数が上限に到達したかどうかを判定する。Ｐが所定の閾値以上である場合には、指標情報検出部３１０は、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたと判定し、処理はＳ１３４０へ分岐し、そうでない場合には処理はＳ１３２５へ分岐する。拡張映像の送信回数が上限に到達した場合には、通信部３００は、拡張映像の受信はこれ以上行わずに、処理はＳ１３４０へ分岐する。なお、Ｓ１３２０の判定処理は、このようにＰＣ自身により行われてもよいし、ＨＭＤからのメッセージの有無や、ＨＭＤからの拡張映像の有無により行われてもよい。
【００４６】
Ｓ１３２５では、通信部３００は、ＨＭＤが送信する拡張映像を受信し、Ｓ１３３０にて、映像伸長部３０５は、拡張映像に伸長処理を施す。次にＳ１３３５にて、映像合成部３１５は、Ｓ１３０５で伸長された基本映像と、Ｓ１３３０にて伸長された拡張映像を合成した合成データである高品質映像を生成する。次に、処理はＳ１３１０に戻り、指標情報検出部３１０は、高品質映像を用いて指標情報検出処理を再度実行する。Ｓ１３４０では、ＣＧ合成部３３０は、パターン認識の成功した指標情報を元にＣＧを生成し、ＨＭＤから受信した映像と合成する。最後にＳ１３４５で、通信部３００は、ＣＧ合成映像をＨＭＤに送信してＰＣの全体処理を終了する。
【００４７】
図１４は、本実施形態におけるＰＣの指標情報検出処理（Ｓ１３１０）の詳細を示すフローチャートである。まずＳ１４００にて、指標形状検出部３１１は、伸長された映像に対して画像解析を行い、指標の形状をした画像領域を検出し、指標配置情報取得部３１３は、該画像領域の配置情報を取得する。次にＳ１４０５にて、検出結果生成部３２０は、取得された情報を指標情報検出結果に格納する。より具体的には、形状が検出された指標の合計数は、図１０の指標形状検出数（Ｍ）１００５に、形状が検出された各指標の配置情報は、指標配置情報１０２０等に格納される。
【００４８】
次に、Ｓ１４１０にて、指標パターン判別部３１２は、Ｓ１４００で形状検出された指標を一意に識別するパターン認識処理を行う。最後にＳ１４１５にて、検出結果生成部３２０は、パターン認識処理の結果を指標情報検出結果に格納する。より具体的には、パターン認識が成功した指標の合計数は、図１０の指標パターン認識数（Ｐ）１０１０に、各指標のパターン認識結果は、指標パターン判別フラグ１０１５等に格納される。
【００４９】
図１５は、本実施形態における通信フレームの一例の構成図を示している。撮像された各映像フレームは、ＨＭＤにより通信方式に適した形式にパケット化され、繰り返し周期で伝送される通信フレームを介して、ＰＣへ送信される。ＭＲシステムのように、リアルタイム性の要求されるシステムで遅延時間を保証するには、ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：時分割多元接続）方式のように、予め割り当てられたタイムスロットを用いたアクセス方式が好適である。本例における通信フレームは、４つのタイムスロット（１５００〜１５０３）から構成される。
【００５０】
タイムスロット１５００では、ＨＭＤから所定の映像フレームの基本映像データが送信され、タイムスロット１５０１では、ＰＣから１回目の指標情報検出結果が送信される。また、タイムスロット１５０２では、ＨＭＤから所定の映像フレームの拡張映像データが送信され、タイムスロット１５０３では、ＰＣから２回目の指標情報検出結果が送信される。同様の通信フレームが、映像フレーム毎に送信される。なお、本例では、圧縮した映像は基本映像と拡張映像の２つの層から構成されるため、図１５のような通信フレーム構成となるが、圧縮した映像が３つ以上の層から構成される場合は、全ての層についての映像が送信可能なように、通信フレームが構成される。
【００５１】
通信フレーム１５１０は、ＰＣが基本映像のみを用いて位置姿勢を推定するにあたって十分な数の指標が検出された場合に、各タイムスロットで送信されるデータを示している。ＨＭＤは、タイムスロット１５００で９つの映像ブロックから構成される基本映像を送信し、ＰＣは、タイムスロット１５０１で基本映像を用いた指標検出結果を送信している。続くタイムスロット１５０２では、ＨＭＤは、先の基本映像を用いて十分な数の指標が検出できたため、追加の映像データを送信しない。また、それに伴い、ＰＣもタイムスロット１５０３では指標検出結果のデータを送信しない。
【００５２】
通信フレーム１５２０は、ＰＣが基本映像のみを用いて位置姿勢を推定するにあたって十分な数の指標が検出されず、追加送信すべき映像ブロックが特定できている場合に、各タイムスロットで送信されるデータを示している。ＨＭＤは、タイムスロット１５００で９つの映像ブロックから構成される基本映像を送信し、ＰＣは、タイムスロット１５０１で基本映像を用いた指標検出結果を送信している。続くタイムスロット１５０２では、ＨＭＤは、先の基本映像を用いて十分な数の指標が検出できなかったため、追加の映像ブロックの拡張映像データを送信する。例えば、基本映像が図４の像４１０に示すような映像品質で、ＰＣは指標１１１と１１４の形状は検出できたが、パターン認識に失敗した場合に、指標１１１と１１４の配置される映像ブロックであるブロック４、５、９が選択される。ＰＣは、タイムスロット１５０３で２回目の指標検出結果のデータを送信する。
【００５３】
通信フレーム１５３０は、ＰＣが基本映像のみを用いて位置姿勢を推定するにあたって十分な数の指標が検出されず、追加送信すべき映像ブロックが特定できていない場合に、各タイムスロットで送信されるデータを示している。ＨＭＤは、タイムスロット１５００でＨＭＤは９つの映像ブロックから構成される基本映像を送信し、ＰＣは、タイムスロット１５０１で基本映像を用いた指標検出結果を送信している。続くタイムスロット１５０２では、ＨＭＤは、先の基本映像を用いて十分な数の指標が検出できず、かつ追加送信すべき映像ブロックが特定できないため、全ての映像ブロックの拡張映像を送信している。ＨＭＤが通信フレーム１５３０を送信する場合として、例えば、基本映像が図４の像４１５に示すような映像品質で、映像の品質劣化が激しく、ＰＣが指標の形状さえ認識できないような状況の場合が想定される。図１５の例では、指標検出処理は最大２回行っているが、指標検出処理の試行回数はこれに限定されるものではなく、３回以上行ってもよい。
【００５４】
以上のように本実施形態では、ＨＭＤは、必要な場合にのみ指標検出に必要な高品質の映像データを送信することで、指標検出精度を保ちつつＨＭＤのデータ送信時間を減らし電力消費を抑えることが可能となる。また、複数のＨＭＤ間で通信帯域を共有するような場合には、所定のＨＭＤのデータ送信時間を減らすことで、他のＨＭＤの送信時間に通信帯域を割り当てることができ、周波数資源を効率的に利用することが可能となる。
【００５５】
［実施形態２］
本実施形態では、ＨＭＤに簡易的な画像解析手段を追加することにより、ＰＣ側で指標の形状認識ができなかったときに、追加送信の必要な拡張映像を精度よく特定することのできる構成について記述する。
【００５６】
図１６は、本実施形態におけるＨＭＤ１００の機能ブロックの構成を示す図である。実施形態１における図２の機能ブロック構成と比較して、指標形状検出部２３０と指標配置情報取得部２３１が追加される。指標形状検出部２３０は、画像解析処理により、指標の形状をした画像領域を検出する。指標の形状をしていると認識された画像領域に関しては、指標配置情報取得部２３１により、全体映像における指標の配置が取得される。本実施形態では、これらの機能ブロックを使用することにより、ＨＭＤ側でも圧縮前の高品質の撮像映像を使用して、指標の形状と配置を取得することが可能となる。
【００５７】
以下、図１７を用いて、本実施形態におけるＨＭＤの具体的な処理を説明する。図１７は、本実施形態におけるＨＭＤの全体処理のフローチャートを示している。まずＳ１７００にて、指標形状検出部２３０と指標配置情報取得部２３１はそれぞれ、撮像部２００により撮像された映像から指標の形状検出と配置情報の取得を行う。この処理は、図１４に示した、ＰＣ側の処理Ｓ１４００と同内容である。次に、Ｓ１７０１にて、映像圧縮部２０５は、映像フレームを映像ブロック単位に分割し、各映像ブロックに対して基本映像と拡張映像を生成する。次に、Ｓ１７０５にて、通信部２１５は、全映像ブロックの基本映像をＰＣへ送信する。次に、Ｓ１７１０にて、通信部２１５は、ＰＣから送信される指標情報検出結果を待ち、受信する。
【００５８】
Ｓ１７１５にて、解析部２２０は、指標情報検出結果を解析し、指標のパターン認識数（Ｐ）が所定の閾値以上であるか、あるいは拡張映像の送信回数が上限に到達したかどうかを判定する。Ｐが所定の閾値以上である場合には、解析部２２０は、ＨＭＤの位置姿勢を推定するにあたって十分な数の指標が検出されたと判定し、処理はＳ１７３０へ分岐し、そうでない場合には、処理はＳ１７２０へ分岐する。送信回数が上限に到達した場合には、通信部２１５は、拡張映像の追加送信はこれ以上行わずに、処理はＳ１７３０へ分岐する。
【００５９】
Ｓ１７２０では、追加の拡張映像を送信するにあたって、映像選択部２１０は、Ｓ１７００で取得した指標の形状検出と配置情報とＰＣから取得した指標情報検出結果を比較して、パターン認識ができていない指標が配置される映像ブロックを選択する。Ｓ１７２５では、通信部２１５は、Ｓ１７２０で選択された拡張映像をＰＣへ送信し、再度処理はＳ１７１０へ進む。Ｓ１７３０では、通信部２１５は、ＰＣからＣＧ合成映像を受信し、Ｓ１７３５にて、表示部２２５は、表示を行い、ＨＭＤの全体処理を終了する。
【００６０】
以上のようにして、ＰＣ側でたとえ指標の形状認識ができなかったとしても、ＨＭＤ側で圧縮前の高品質の撮像映像を用いて指標の形状検出と配置情報の取得を行うことによって、形状認識のできなかった指標の位置をＨＭＤ側で特定することができる。その結果、実施形態１と比較して追加送信の必要な拡張映像を精度よく特定することができ、送信データを減らすことによってＨＭＤの電力消費を更に抑えることが可能となる。
【００６１】
［実施形態３］
本実施形態では、複数の指標の位置関係がＭＲシステムで予め定義されていることを利用して、ＰＣが、パターン検出が成功した指標に基づいて、形状認識の成功していない指標の映像フレーム内の配置を予測する構成について記述する。それにより、ＰＣ側で指標の形状認識ができなかったときに、追加送信の必要な拡張映像を精度よく特定することができる。
【００６２】
図１８は、本実施形態におけるＰＣ１０５の機能ブロックの構成を示す図である。実施形態１における図３の機能ブロック構成と比較して、パターン検出が成功した指標から、形状認識の成功していない指標の映像フレーム内の配置を予測する指標配置情報予測部３１４が追加される。
【００６３】
図１９は、本実施形態におけるＰＣの画像解析により生成される指標情報検出結果のデータ構造を示している。実施形態１における図１０の指標情報検出結果と比較し、１９００には指標配置予測情報１０２５が追加される。指標配置予測情報１０２５には、指標の配置が予測される映像ブロック番号を示す情報が含まれる。例えば、図４のように全体映像を９つの映像ブロックに分割した場合に、９ビットのビットマップを使用して上位ビットから順番に所属映像ブロック番号を示したとする。指標配置予測情報１０２５に０ｂ１００１０１０００という値が含まれる場合、映像ブロック１と４と６に指標の配置が予測されることを示す。
【００６４】
以下、図２０〜図２１を用いて、本実施形態におけるＰＣとＨＭＤの具体的な処理を説明する。図２０は本実施形態におけるＰＣの指標情報検出処理の詳細を示すフローチャートである。Ｓ２０００〜Ｓ２０１０は図１４のＳ１４００〜１４１０の処理と同内容である。Ｓ２０１１では、指標配置情報予測部３１４は、パターン検出が成功した指標から、ＭＲシステムで予め定義された複数指標の位置関係から形状認識の成功していない指標の配置を予測する。Ｓ２０１５では、検出結果生成部３２０は、取得された指標配置予測情報を指標情報検出結果に格納している。
【００６５】
図２１は、本実施形態におけるＨＭＤの拡張映像選択処理の詳細を示すフローチャートである。解析部２２０は、Ｓ２１００にてＰＣから受信した指標情報検出結果内の指標形状認識数（Ｍ）が所定の閾値を超えているかどうかを判定する。Ｍが所定の閾値を超えている場合には、解析部２２０は、形状検出はできているがパターン認識ができていない指標の所属する映像ブロックを特定可能と判断し、処理はＳ２１１０へ分岐し、そうでない場合は、処理はＳ２１０５へ分岐する。Ｓ２１１０では、解析部２２０は、指標情報検出結果内のパターン判別フラグがＮＧ（失敗）である指標の配置情報を取得し、Ｓ２１１５では、映像選択部２１０は、その配置情報で示される映像ブロックの拡張映像を選択する。
【００６６】
Ｓ２１０５は、指標のパターン認識数（Ｐ）も指標形状認識数（Ｍ）もそれぞれ所定の閾値より低い状態であり、映像選択部２１０は、指標情報検出結果内に指標配置予測情報が含まれるかどうかを判別する。含まれる場合には、Ｓ２１０６にて、映像選択部２１０は、指標配置予測情報で示される映像ブロックの拡張映像を選択する。指標配置予測情報が含まれない場合には、Ｓ２１０７にて、映像選択部２１０は、全映像ブロックの拡張映像、あるいは全映像ブロックからパターン判別の成功した指標の配置される映像ブロックを除いたすべての映像ブロックを選択する。
【００６７】
以上のようにして、ＰＣ側でたとえ指標の形状認識ができなかったとしても、ＰＣの指標配置予測情報を使用することによって、形状認識のできなかった指標の位置をＨＭＤ側で特定することができる。その結果、実施形態１と比較して追加送信の必要な拡張映像を精度よく特定することができ、送信データを減らすことによってＨＭＤの電力消費を更に抑えることが可能となる。
【００６８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００  ＨＭＤ、  １１０〜１１５  指標、  １０５  ＰＣ、  １３０  映像データ、  １３５  ＣＧ、  １４０  ＣＧ合成映像、２００  撮像部、  ２０５  映像圧縮部、  ２１０  映像選択部、  ２１５  通信部、  ２２０  解析部、  ２２５  表示部、  ３００  通信部、  ３０５  映像伸長部、３１０  指標情報検出部、  ３１１  指標形状検出部、  ３１２  指標パターン判別部、  ３１３  指標配置情報取得部、  ３１５  映像合成部、  ３２０  検出結果生成部、  ３３０  ＣＧ合成部
【図１】
0006429668.tif 000002
【図２】
0006429668.tif 000003
【図３】
0006429668.tif 000004
【図４】
0006429668.tif 000005
【図５】
0006429668.tif 000006
【図６】
0006429668.tif 000007
【図７】
0006429668.tif 000008
【図８】
0006429668.tif 000009
【図９】
0006429668.tif 000010
【図１０】
0006429668.tif 000011
【図１１】
0006429668.tif 000012
【図１２】
0006429668.tif 000013
【図１３】
0006429668.tif 000014
【図１４】
0006429668.tif 000015
【図１５】
0006429668.tif 000016
【図１６】
0006429668.tif 000017
【図１７】
0006429668.tif 000018
【図１８】
0006429668.tif 000019
【図１９】
0006429668.tif 000020
【図２０】
0006429668.tif 000021
【図２１】
0006429668.tif 000022