(57)【要約】      （修正有）【課題】システム全体における伝送データ量を抑制し、遅延を低減する映像符号化データ送信装置、管理装置及びプログラムを提供する。【解決手段】ネットワークを介して他の映像符号化データ送信装置と接続される映像符号化データ送信装置であって、映像データを符号化する符号化手段と、イントラフレーム送信タイミングを制御する情報を他の映像符号化データ送信装置に通知するタイミング通知手段と、他の映像符号化データ送信装置から他の映像符号化データ送信装置におけるイントラフレーム送信タイミングに関する情報を受信するタイミング情報受信手段と、映像符号化データを外部のデータ受信装置に送信する送信手段と、を備える。タイミング制御手段は、他の映像符号化データ送信装置と異なるタイミングでイントラフレームを送信する。【選択図】図２
2016096440.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の映像符号化データ送信装置と接続される映像符号化データ送信装置であって、
映像データを符号化する符号化手段と、
前記符号化手段における符号化において生成されるイントラフレームの送信タイミングである、イントラフレーム送信タイミングを制御するタイミング制御手段と、
前記タイミング制御手段によって制御された送信タイミングに関する情報を前記他の映像符号化データ送信装置に通知するタイミング通知手段と、
前記他の映像符号化データ送信装置から前記他の映像符号化データ送信装置におけるイントラフレーム送信タイミングに関する情報を受信するタイミング情報受信手段と、
前記符号化手段によって符号化された映像符号化データを外部のデータ受信装置に送信する送信手段と、を備え、
前記タイミング制御手段は、前記タイミング情報受信手段が受信した前記イントラフレーム送信タイミングに関する情報に基づき、前記他の映像符号化データ送信装置と異なるタイミングで前記イントラフレームを送信するように制御することを特徴とする映像符号化データ送信装置。
【請求項２】
前記タイミング制御手段は、
前記タイミング情報受信手段が受信した前記他の映像符号化データ送信装置の前記イントラフレーム送信タイミングから、イントラフレームの送信周期である、イントラフレーム送信周期の中における各イントラフレーム送信タイミングの間隔の最大値を求め、
前記イントラフレーム送信タイミングの間隔の最大値の中間で自装置のイントラフレームを送信するように制御する
ことを特徴とする請求項１に記載の映像符号化データ送信装置。
【請求項３】
前記他の映像符号化データ送信装置の前記イントラフレーム送信タイミング及び自装置の前記イントラフレーム送信タイミングを動的に変更するタイミング再制御手段と、をさらに備え、
前記タイミング再制御手段は、イントラフレームの送信周期である、イントラフレーム送信周期を、自装置を含めたタイミング再制御の対象である前記映像符号化データ送信装置の数で割って得られた値が、各映像符号化データ送信装置の前記イントラフレーム送信タイミングの間隔となるように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを再制御することを特徴とする請求項１に記載の映像符号化データ送信装置。
【請求項４】
前記送信手段による映像符号化データの送信を停止する停止手段と、
前記停止手段が前記映像符号化データの送信を停止する際に前記他の映像符号化データ送信装置に前記映像符号化データの送信停止を通知する停止通知手段と、
前記他の映像符号化データ送信装置から前記映像符号化データの送信停止の通知である、送信停止通知を受信する停止通知受信手段と、をさらに備え、
前記タイミング再制御手段は、前記他の映像符号化データ送信装置から前記送信停止通知を受信する毎に前記イントラフレーム送信タイミングを再制御することを特徴とする請求項３に記載の映像符号化データ送信装置。
【請求項５】
前記タイミング通知手段は、前記タイミング制御手段、又は前記タイミング再制御手段が制御したタイミングと異なるタイミングでイントラフレームを送信する毎に前記イントラフレーム送信タイミングに関する情報を前記映像符号化データ送信装置に通知することを特徴とする請求項３又は４に記載の映像符号化データ送信装置。
【請求項６】
前記タイミング再制御手段は、前記映像符号化データ送信装置から前記タイミング情報受信手段が前記イントラフレーム送信タイミングに関する情報を受信する毎に前記イントラフレーム送信タイミングを再制御することを特徴とする請求項３乃至５のいずれか１項に記載の映像符号化データ送信装置。
【請求項７】
ネットワークを介して一つ以上の映像符号化データ送信装置と接続される管理装置であって、
前記映像符号化データ送信装置から映像符号化データの送信開始の要求である、送信開始要求を受信する送信開始要求受信手段と、
前記映像符号化データ送信装置から映像符号化データの送信終了の要求である、送信終了要求を受信する送信終了要求受信手段と、
前記映像符号化データ送信装置による符号化時に生成されるイントラフレームの送信タイミングである、イントラフレーム送信タイミングを管理するタイミング管理手段と、
前記映像符号化データ送信装置の前記イントラフレーム送信タイミングを算出するタイミング算出手段と、
前記映像符号化データ送信装置に前記イントラフレーム送信タイミングを送信するタイミング送信手段と、を備え、
前記タイミング算出手段は、
前記送信開始要求受信手段が送信開始要求を受信した際に、
前記送信開始要求を送信した前記映像符号化データ送信装置の前記イントラフレーム送信タイミングと、前記タイミング管理手段が既に管理している前記映像符号化データ送信装置の前記イントラフレーム送信タイミングとが重ならないように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを新たに算出し、
前記送信終了要求受信手段が送信終了要求を受信した際に、
前記タイミング管理手段が既に管理している前記映像符号化データ送信装置であって、前記送信終了要求を送信した前記映像符号化データ送信装置を除いた残りの映像符号化データ送信装置の前記イントラフレーム送信タイミングの間隔が広がるように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを新たに算出する、
ことを特徴とする管理装置。
【請求項８】
前記タイミング管理手段は、前記送信開始要求受信手段が映像符号化データ送信装置から映像符号化データの送信開始要求を受信した際に、前記タイミング算出手段が新たに算出した前記イントラフレーム送信タイミングを新たに管理することを特徴とする請求項７に記載の管理装置。
【請求項９】
前記タイミング管理手段は、前記送信終了要求受信手段が映像符号化データ送信装置から映像符号化データの送信終了要求を受信した際に、当該映像符号化データ送信装置の前記イントラフレーム送信タイミングを管理の対象から外すことを特徴とする請求項７又は８に記載の管理装置。
【請求項１０】
前記タイミング算出手段は、前記タイミング管理手段が管理している複数の前記映像符号化データ送信装置の前記イントラフレーム送信タイミングの間隔の最大値の中間でイントラフレームを送信するように算出することを特徴とする請求項７乃至９のいずれか１項に記載の管理装置。
【請求項１１】
前記映像符号化データ送信装置の前記イントラフレーム送信タイミングを動的に変更するタイミング再算出手段と、を備え、
前記タイミング再算出手段は、イントラフレームの送信周期である、イントラフレーム送信周期を、前記タイミング管理手段が管理している前記映像符号化データ送信装置の数で割って得られた値が、各映像符号化データ送信装置の前記イントラフレーム送信タイミングの間隔となるように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを再算出することを特徴とする請求項７乃至９のいずれか１項に記載の管理装置。
【請求項１２】
前記タイミング再算出手段は、前記送信終了要求受信手段により送信終了要求を受信する毎に前記映像符号化データ送信装置の前記イントラフレーム送信タイミングを再算出することを特徴とする請求項１１に記載の管理装置。
【請求項１３】
前記タイミング算出手段、又は前記タイミング再算出手段が算出したタイミングと異なるタイミングでのイントラフレームの挿入要求を受信するイントラフレーム挿入要求受信手段と、を備え、
前記タイミング再算出手段は、前記イントラフレーム挿入要求受信手段がイントラフレーム挿入要求を受信する毎に各映像符号化データ送信装置の前記イントラフレーム送信タイミングを再算出することを特徴とする請求項１１又は１２に記載の管理装置。
【請求項１４】
請求項１乃至６のいずれか１項に記載の映像符号化データ送信装置が有する各手段としてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項７乃至１３のいずれか１項に記載の管理装置が有する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化データ送信装置、管理装置及びプログラムに関する。
【背景技術】
【０００２】
現在、現実世界と仮想空間をリアルタイム且つシームレスに融合するＭＲ（Mixed Reality: 複合現実）システムが利用されてきている。ＭＲシステムを実現する方法の一つとして、ビデオシースルー方式がある。ビデオシースルー方式の一例として、ＨＭＤに付属しているビデオカメラでＨＭＤユーザの視界領域を撮像し、その撮像画像にＣＧを重畳した画像をＨＭＤに付属しているディスプレイにより観察する技術がある。ここで、ＨＭＤはHead Mounted Displayを意味し、ＣＧはComputer Graphicsを意味する。
【０００３】
撮像画像にＣＧを重畳する処理は計算処理コストが大きいため、ＰＣなどの外部装置と接続し、一旦撮像画像を外部装置に送信し、外部装置上でＣＧを重畳し、それをＨＭＤに送り返してから表示したりする。このような場合に、ＨＭＤユーザは自由に動きながらＭＲ空間を体験するために、ＨＭＤとＣＧを重畳する外部装置とは無線伝送で通信することが望ましい。
【０００４】
しかし、一般的に、無線通信は有線通信に比較して通信帯域が狭く、無線伝送上でのパケットロスによる遅延も発生しやすい。また、複数のＨＭＤユーザが同時にＭＲシステムを利用する場合、無線通信の帯域は更に逼迫することになる。ＭＲ空間をリアルタイム且つ安定的に体験するための方法として、撮像画像データを映像符号化技術により圧縮し、通信データ量を削減する方法がある。
【０００５】
映像符号化方式としては、Ｈ．２６４（ISO/IEC 14496-10 MPEG-4 Part10 Advanced Video Coding）やＨ．２６５（ISO/IEC 23008-2 HEVC）等の映像符号化規格がある。これらの映像符号化規格では、圧縮効率を高めるために、異なる時刻のフレームの予測画像と入力画像との差分画像を符号化するフレーム間予測という技術が用いられている。一般的に、フレーム間予測により符号化されたインターフレームはフレーム間予測を用いずに符号化されたイントラフレームに対し、データサイズが小さい。一方で、インターフレームが参照しているフレームデータにエラーが発生すると、エラーが伝播してしまうため、定期的にフレーム間予測を用いないイントラフレームを挿入する方法が通常用いられる。
【０００６】
特許文献１には、複数のＨＭＤユーザが同時にＭＲシステムを使う環境と同様の環境として、複数の端末から映像データを受信するシステムにおいて、通信帯域と許容遅延時間から映像ビットストリームの符号量を制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３３６２６０号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＭＲシステムにおいては、ＨＭＤユーザがリアルなＭＲ空間を体験するために高いリアルタイム性が求められるため、許容遅延時間は非常に短い。従って、特許文献１の方法では、複数のＨＭＤユーザのイントラフレームを送信するタイミングが重なった場合にはシステム全体における瞬間的な伝送データ量が大きくなることで遅延が発生してしまうという課題があった。
【０００９】
本発明では、システム全体における伝送データ量を抑制し、遅延を低減することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の映像符号化データ送信装置は以下の構成を備える。
すなわち、ネットワークを介して他の映像符号化データ送信装置と接続される映像符号化データ送信装置であって、  映像データを符号化する符号化手段と、
前記符号化手段における符号化において生成されるイントラフレームの送信タイミングである、イントラフレーム送信タイミングを制御するタイミング制御手段と、
前記タイミング制御手段によって制御された送信タイミングに関する情報を前記他の映像符号化データ送信装置に通知するタイミング通知手段と、
前記他の映像符号化データ送信装置から前記他の映像符号化データ送信装置におけるイントラフレーム送信タイミングに関する情報を受信するタイミング情報受信手段と、
前記符号化手段によって符号化された映像符号化データを外部のデータ受信装置に送信する送信手段と、を備え、
前記タイミング制御手段は、前記タイミング情報受信手段が受信した前記イントラフレーム送信タイミングに関する情報に基づき、前記他の映像符号化データ送信装置と異なるタイミングで前記イントラフレームを送信するように制御することを特徴とする。
【００１１】
また、本発明の管理装置は以下の構成を備える。
ネットワークを介して一つ以上の映像符号化データ送信装置と接続される管理装置であって、
前記映像符号化データ送信装置から映像符号化データの送信開始の要求である、送信開始要求を受信する送信開始要求受信手段と、
前記映像符号化データ送信装置から映像符号化データの送信終了の要求である、送信終了要求を受信する送信終了要求受信手段と、
前記映像符号化データ送信装置による符号化時に生成されるイントラフレームの送信タイミングである、イントラフレーム送信タイミングを管理するタイミング管理手段と、
前記映像符号化データ送信装置の前記イントラフレーム送信タイミングを算出するタイミング算出手段と、
前記映像符号化データ送信装置に前記イントラフレーム送信タイミングを送信するタイミング送信手段と、を備え、
前記タイミング算出手段は、
前記送信開始要求受信手段が送信開始要求を受信した際に、
前記送信開始要求を送信した前記映像符号化データ送信装置の前記イントラフレーム送信タイミングと、前記タイミング管理手段が既に管理している前記映像符号化データ送信装置の前記イントラフレーム送信タイミングとが重ならないように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを新たに算出し、
前記送信終了要求受信手段が送信終了要求を受信した際に、
前記タイミング管理手段が既に管理している前記映像符号化データ送信装置であって、前記送信終了要求を送信した前記映像符号化データ送信装置を除いた残りの映像符号化データ送信装置の前記イントラフレーム送信タイミングの間隔が広がるように、各映像符号化データ送信装置の前記イントラフレーム送信タイミングを新たに算出する、
ことを特徴とする。
【発明の効果】
【００１２】
以上の構成からなる本発明によれば、システム全体におけるデータ量を抑制すし、遅延を低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に関わるＭＲシステム構成図である。
【図２】本発明の実施例１に関わるＨＭＤの機能ブロック図である。
【図３】ＨＭＤ間で送受信する同期メッセージの流れを示すシーケンス図である。
【図４】イントラフレーム送信タイミング算出方法を示すフローチャートである。
【図５】イントラフレーム送信タイミング配列を示すリングバッファである。
【図６】本発明の実施例２に関わるＣＧ重畳用ＰＣの機能ブロック図である。
【図７】本発明の実施例３に関わるＭＲシステム構成図である。
【図８】本発明の実施例３に関わるＭＲシステム管理用ＰＣの機能ブロック図である。
【図９】イントラフレーム送信タイミング算出方法を示すフローチャートである。
【図１０】本発明の実施例４に関わるＭＲシステム管理用ＰＣの機能ブロック図である。
【図１１】イントラフレーム送信タイミング再算出方法を示すフローチャートである。
【図１２】イントラフレーム送信タイミング配列を示すリングバッファである。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
［実施例１］
図１は、本発明の実施の形態に関わるＭＲシステムの構成例を示す図である。
図１において、３人のユーザＡ、ユーザＢ、ユーザＣがそれぞれＨＭＤ１０１、ＨＭＤ１０２、ＨＭＤ１０３を装着し、ＭＲシステムを利用している。尚、ユーザ数は３人でなくてもよい。各ＨＭＤはＡＰ（Access Point）１０４と無線ネットワークを介して接続されており、映像データや各ＨＭＤ間での同期メッセージ等のパケットを送受信する。各ＨＭＤとＡＰ１０４との無線伝送方式として、例えばＩＥＥＥ８０２．１１ｎやＩＥＥＥ８０２．１１ａｃ等が挙げられるが、これらに限定されない。
【００１６】
ＡＰ１０４はルータ１０５と有線接続されており、ＬＡＮ（Local Area Network）を構築している。ＡＰ１０４とルータ１０５は一体型でもよい。ＡＰ１０４とルータ１０５との有線伝送方式として、例えばギガビット・イーサネット（登録商標）やＩＥＥＥ１３９４等が挙げられるが、これらに限定されない。各ＨＭＤと一対一で対応するＰＣ１０６、ＰＣ１０７、ＰＣ１０８はルータ１０５と同ＬＡＮ内で有線接続されており、映像データパケットの送受信を行う。
【００１７】
映像データ１０９、映像データ１１０、映像データ１１１は各ＨＭＤに付属しているカメラで撮像された現実空間映像データである。各ＰＣでは、受信した各現実空間映像データにＣＧを重畳する。ＣＧ重畳映像データ１１２、ＣＧ重畳映像データ１１３、ＣＧ重畳映像データ１１４は、各ＰＣからルータ１０５、ＡＰ１０４を経由し、各ＨＭＤに送信される。各ＣＧ重畳映像データは、各ＨＭＤに付属しているディスプレイに表示される。尚、各ＰＣは、各ＨＭＤと一対一で対応しなくてもよいし、一つのＰＣで共用してもよい。
【００１８】
図２は、図１に示したＭＲシステムにおける本発明の実施の形態を実現するために必要なＨＭＤ１０１、ＨＭＤ１０２、ＨＭＤ１０３の機能を示す機能ブロック図である。ここに示す構成はハードウェアとソフトウェアの組み合わせによって実現できるものであって、一つの機能ブロックが一つのハードウェアに対応するものではない。以下の機能ブロック図についても同様である。
【００１９】
同期メッセージ送信部２０１は、各ＨＭＤ間で同期を取るためのメッセージを送信する。送信するメッセージは二種類ある。同期メッセージ送信部２０１は、タイミング通知手段に相当する。
一つは各ユーザのＨＭＤがＭＲシステムの利用を開始する際に他のユーザのＨＭＤに利用開始の旨を通知するためのメッセージである。
もう一つは他のユーザのＨＭＤから利用開始の旨を通知するためのメッセージを受信した際に同期用情報を通知するためのメッセージである。
【００２０】
一つ目の他のユーザに利用開始の旨を通知するためのメッセージは、ブロードキャスト送信により、同ＬＡＮ内で利用している他の全てのユーザに対して送信される。
二つ目の他のユーザに同期用情報を通知するためのメッセージは、ユニキャスト送信により、利用開始通知メッセージを送信してきたユーザに対して送信される。
無線インタフェース２０２は、ＡＰ１０４と無線接続するための通信インタフェースである。
同期メッセージ受信部２０３は、他のユーザから同期メッセージを受信する。同期メッセージには、他の映像符号化データ送信装置のイントラフレーム送信タイミングに関する情報が含まれる。同期メッセージ受信部２０３は、タイミング情報受信手段に相当する。
【００２１】
同期処理部２０４は、受信した同期メッセージから同期処理を行う。具体的な同期処理方法は後述する。
イントラフレーム送信タイミング算出部２０５は、他のユーザとイントラフレーム送信タイミングが重ならないようにタイミングを算出する。算出の具体的な実施例は後述する。
撮像部２０６は、ＨＭＤに付属するカメラであり、現実空間映像を撮像する。撮像画像エンコード部２０７は、撮像された現実空間映像をイントラフレーム送信タイミング算出部２０５で算出されたイントラフレーム送信タイミングに従い、任意の符号化方式にてエンコードする。ここで、任意の符号化方式とは、例えば、Ｈ．２６４（ISO/IEC 14496-10 MPEG-4 Part10 Advanced Video Coding）やＨ．２６５Ｈ．２６５（ISO/IEC 23008-2 HEVC）等が挙げられるが、これら以外の方式でもよい。
【００２２】
撮像画像送信部２０８は、エンコードされた現実空間映像データを通信プロトコルに適合するようにパケット化し、無線インタフェース２０２を介してＣＧを重畳するＰＣ１０６に送信する。「エンコードされた現実空間映像データ」は「映像符号化データ」に相当し、「無線インタフェース２０２を介してＣＧを重畳するＰＣ１０６」は「外部のデータ受信装置」に相当する。
ＣＧ重畳画像受信部２０９は、ＰＣ１０６においてＣＧを重畳されたＣＧ重畳映像データを、無線インタフェース２０２を介して受信する。ＣＧ重畳画像デコード部２１０は、受信したＣＧ重畳映像データを任意の符号化方式にてデコードする。表示部２１１は、ＨＭＤに付属するディスプレイであり、デコードされたＣＧ重畳映像を表示する。
【００２３】
図３は、各ＨＭＤ間で送受信する同期メッセージの流れを示すシーケンス図である。
利用開始ユーザが装着するＨＭＤは、利用開始の旨を通知するためのメッセージを他のユーザにブロードキャスト送信する時刻Ｔ１を保持しておく。
既存利用ユーザが装着するＨＭＤは、利用開始ユーザが装着するＨＭＤから利用開始メッセージを受信した時刻ｔ１を保持しておく。
また、既存利用ユーザが装着するＨＭＤは、同期用情報メッセージを利用開始ユーザが装着するＨＭＤに送信する。
同期用情報メッセージは、
同期用情報メッセージを送信する時刻ｔ２（時刻ｔ２は既存利用ユーザが装着するＨＭＤの時計で測った時刻である）と、
ｔ２−ｔ１の絶対時間Δｔと、
既存利用ユーザが装着するＨＭＤのイントラフレーム送信タイミング情報と、
ＭＲシステム内でユニークなユーザＩＤと、を含む。
【００２４】
利用開始ユーザが装着するＨＭＤは、「利用開始メッセージ送信を送信した時刻Ｔ１」から「同期用情報メッセージを受信した時刻Ｔ２」までの絶対時間ΔＴ（＝Ｔ２−Ｔ１）を取得する。時刻Ｔ１及び時刻Ｔ２はいずれも利用開始ユーザが装着するＨＭＤの時計で測った時刻である。
ΔＴから同期用情報メッセージ内のΔｔを引いた時間（ΔＴ−Δｔ）をＲＴＴ（Round Trip Time）として算出し、Ｔ２−（ＲＴＴ／２）＝ｔ２となるように利用開始ユーザが装着するＨＭＤのタイマーを同期する。
尚、既存利用ユーザが複数存在する場合、一つの代表ユーザ、例えば、複数の同期時刻内で中間の時刻のユーザと同期してもよいし、複数の同期時刻の平均をとってもよいし、これら以外の方法でもよい。
【００２５】
ここに記載した同期方法は本発明の実施の形態を実現するための方法の一例に過ぎない。本発明に適用可能な同期方法はここに記載した同期方法に限定されない。
利用開始ユーザが装着するＨＭＤは、既存利用ユーザが装着するＨＭＤと同期を取ると、既存利用ユーザのユーザＩＤと重複しないユニークなユーザＩＤを設定し、内部保持しておく。また、利用開始ユーザが装着するＨＭＤは、利用開始ユーザが装着するＨＭＤのイントラフレーム送信タイミングを算出する。利用開始ユーザが装着するＨＭＤのイントラフレーム送信タイミングは、既存利用ユーザが装着するＨＭＤのイントラフレーム送信タイミングと重ならないタイミングとなるように算出される。
【００２６】
図４は、イントラフレーム送信タイミングの算出方法を示すフローチャートである。
Ｓ４０１では、利用開始メッセージを他ユーザに対してブロードキャスト送信した後に、既存利用ユーザから同期用情報メッセージが返答されたかどうかを判定する。判定方法は、予め定めたタイムアウト時間を経過してもメッセージが返答されなかったら未受信と判定する。未受信と判定された場合、Ｓ４０２に移行する。
【００２７】
Ｓ４０２では、０をイントラフレーム送信タイミングとし、処理を終了する。
この一人目のユーザのＨＭＤ内部タイマーをＭＲシステムの共通タイマーとし、以降、新規利用ユーザは、この共通タイマーと同期するようにタイマーを設定される。一人以上の既存利用ユーザから同期用情報メッセージを受信すると、Ｓ４０３に移行する。
【００２８】
Ｓ４０３では、同期用情報メッセージを受信した全てのユーザのイントラフレーム送信タイミングをソートする。ここでのタイミングとは、イントラフレームが挿入される周期（イントラフレーム挿入周期）をスロット数とするリングバッファのスロット番号で表現される。各ＨＭＤのイントラフレーム挿入周期は、ＭＲシステム内で統一した周期を予め設定しておく。「イントラフレーム挿入周期」は「イントラフレーム送信周期」に相当する。
【００２９】
図５は、３０フレーム毎に１フレームのイントラフレームを挿入する周期とした場合のリングバッファの例である。
例えば、既存利用ユーザＡと既存利用ユーザＢがおり、それぞれから返答された同期用情報メッセージ内のイントラフレーム送信タイミングが０、１２だったとする。
ここで、新規利用ユーザＣのために新たなイントラフレーム送信タイミングを算出する場合を想定する。
既存利用ユーザから返答されたイントラフレーム送信タイミングを、降順にソートし、既存利用ユーザの数と同じ数の配列Ｔ［０］、Ｔ［１］の要素として格納すると、
Ｔ［０］にユーザＢのイントラフレーム送信タイミング「１２」が格納され、
Ｔ［１］にユーザＡのイントラフレーム送信タイミング「０」が格納される。
【００３０】
＜イントラフレーム送信周期の中における各イントラフレーム送信タイミングの間隔の最大値を求める＞
Ｓ４０４では、ソートされた各イントラフレーム送信タイミングの隣り合う配列の要素間での差分が最大値となる配列の組合せＴ［ｍ］，Ｔ［ｎ］を取得する。差分が負数となった場合は、イントラフレーム挿入周期、本実施例では３０を足した値を差分とする。
隣り合う配列、Ｔ［０］とＴ［１］の要素の差分は、Ｔ［０］−Ｔ［１］＝１２−０＝１２となる。
隣り合う配列、Ｔ［１］とＴ［０］の要素の差分は、Ｔ［１］−Ｔ［０］＝０−１２＝−１２となる。差分が負数となったため、イントラフレーム挿入周期３０を足した値、−１２＋３０＝１８を差分とする。
よって、差分の最大値は、Ｍａｘ（１８，１２）＝１８となる。
【００３１】
＜イントラフレーム送信タイミングの間隔の最大値の中間を新たなイントラフレーム送信タイミングとする＞
Ｓ４０５では、イントラフレーム送信タイミングの間隔の最大値の中間を求める。具体的には、差分が最大値となる２つのタイミングの内の小さい方のタイミングに、差分の最大値の２分の１を加えて得られる値
Ｍｉｎ（Ｔ［ｍ］，Ｔ［ｎ］）＋ΔＴ／２
をイントラフレーム送信タイミングとする。
【００３２】
ただし、差分が負数となったために、差分にイントラフレーム挿入周期３０を足した場合は、差分の最大値Ｍａｘ（Ｔ［ｍ］−Ｔ［ｎ］）を算出した際のＴ［ｍ］にイントラフレーム挿入周期３０を足す。
よって、図５に示す例では、Ｔ［１］＝３０となり、
Ｍｉｎ（Ｔ［０］，Ｔ［１］）＋ΔＴ／２
＝Ｍｉｎ（１２，３０）＋ΔＴ／２
をイントラフレーム送信タイミングとする。
ここで、ΔＴは、Ｓ４０４で取得した最大差分１８である。
また、Ｍｉｎ（Ｔ［０］，Ｔ［１］）＝Ｍｉｎ（１２，３０）＝１２である。
よって、Ｍｉｎ（Ｔ［ｍ］，Ｔ［ｎ］）＋ΔＴ／２＝１２＋１８／２＝１２＋９＝２１となり、新規利用ユーザＣのイントラフレーム送信タイミングは２１となる。
尚、ここで算出したイントラフレーム送信タイミングが周期を超えた場合は、（算出値−周期）をイントラフレーム送信タイミングとする。また、ΔＴ／２は小数点以下切捨の整数とする。
【００３３】
イントラフレーム送信タイミング算出部２０５で算出されたタイミングを利用して、撮像画像のエンコードタイミングを制御する。例えば、フレームレートが３０ｆｐｓで、算出タイミングが２１であった場合、同期された内部タイマーにおいて、０．０００秒をタイミング０とし、タイミング２１は０．０３３×２１＝０．６９３とする。
イントラフレーム送信タイミングまでイントラフレームの生成を待機し、イントラフレーム送信タイミングになったら、イントラフレームの生成とイントラフレームの送信をほぼ同時にするとしてもよい。又は即座にイントラフレームを生成し、しかしイントラフレームの送信を待ち、算出したイントラフレーム送信タイミングの経過時に生成済みイントラフレームを挿入し、以降は周期毎にイントラフレームを生成し送信するようにしてもよい。
【００３４】
本実施形態では、複数のＨＭＤユーザ間で同期を取り、イントラフレーム送信タイミングを意図的にずらすことでシステム全体における瞬間的な最大伝送データ量を抑制する。これにより、通信帯域を有効に活用するとともにＭＲシステムにおける映像品質を最大限に高めることが可能となる。本実施例では、ビデオシースルー型のＭＲシステムを用いて説明したが、ＭＲシステムの方式に限定されるものではなく、例えば光学シースルー方式のＭＲシステムでも適用できる。また、本実施例では、ＭＲシステムを例に説明したが、同様のトポロジー構成となる監視カメラシステムやテレビ電話システム等にも適用できる。また、本実施例では、同ＬＡＮ内での構成で説明したが、異なるＬＡＮ間やＷＡＮ経由でも適用できる。
【００３５】
［実施例２］
実施例１では、複数のＨＭＤユーザ間で同期を取り、イントラフレーム送信タイミングをずらす形態で説明した。本実施例では、ＨＭＤユーザ間ではなく、ＨＭＤとＣＧを重畳するＰＣとの間でイントラフレーム送信タイミングをずらす形態について説明する。
本発明の実施の形態に関わるＭＲシステムの構成例については、実施例１で説明した図１と同様のため説明を省略するが、本実施例ではユーザ数が一人でも適用できる。
図１に示したＭＲシステムにおける本発明の実施の形態を実現するために必要なＨＭＤ１０１、ＨＭＤ１０２、ＨＭＤ１０３の機能を示す機能ブロック図については、実施例１で説明した図２と同様のため説明を省略する。
【００３６】
図６は、図１に示したＭＲシステムにおける本発明の実施の形態を実現するために必要なユーザＡ用ＰＣ１０６の機能を示す機能ブロック図である。
同期メッセージ受信部６１０は、ＨＭＤ１０１から利用開始の旨を通知する利用開始メッセージを、有線インタフェース６０１を介して受信する。利用開始メッセージを受信すると、同期用情報メッセージ作成部６１１は、イントラフレーム送信タイミングを任意のタイミングで決定し、決定したイントラフレーム送信タイミングと同期用時間情報を含めたメッセージを作成する。シーケンス及び同期用時間情報については、実施例１で説明した図３と同様のため記載は省略する。
【００３７】
同期メッセージ送信部６１２は、作成された同期用情報メッセージを、有線インタフェース６０１を介してＨＭＤ１０１に送信する。撮像画像受信部６０２は、有線インタフェース６０１を介してＨＭＤ１０１から現実空間映像データを受信する。撮像画像デコード部６０３は、受信された現実空間映像を、デコードする。特徴点抽出部６０４は、デコードされた現実空間映像を画像解析し、特徴点を抽出する。抽出方法については、本発明の本質的要素ではないため説明は省略する。
【００３８】
位置・姿勢算出部６０５は、抽出された特徴点を利用してＨＭＤ１０１の位置・姿勢を算出する。ＣＧ画像重畳部６０６は、算出されたＨＭＤ１０１の位置・姿勢からＣＧを重畳する場所、方向等を決定し、コンテンツＤＢ６０７から取得したＣＧデータを使用して、現実空間映像にＣＧを重畳する。ＣＧ重畳画像エンコード部６０８は、ＣＧ重畳映像を任意の符号化方式にてエンコードする。イントラフレームの送信は、同期用情報メッセージ作成部６１１で決定されたタイミングで行われる。
【００３９】
ＣＧ重畳画像送信部６０９は、エンコードされたＣＧ重畳映像データを通信プロトコルに適合するようにパケット化し、有線インタフェース６０１を介してＨＭＤ１０１に送信する。ＨＭＤ１０１におけるイントラフレーム送信タイミングの決定方法は、実施例１で説明した図４と同様のため説明を省略する。
【００４０】
本実施形態では、ＨＭＤユーザとＣＧ重畳用ＰＣ間で同期を取り、イントラフレーム送信タイミングを意図的にずらすことでＨＭＤとＡＰ間の無線通信区間における上りと下りを含めた瞬間的な最大伝送データ量を抑制する。これにより、通信帯域を有効に活用するとともにＭＲシステムにおける映像品質を最大限に高めることが可能となる。また、本実施例では、ＰＣ側でイントラフレーム送信タイミングを先に決定したが、ＨＭＤ側でイントラフレーム送信タイミングを先に決定し、ＰＣ側で同期処理を行う形態にしてもよい。また、実施例１で説明した複数ＨＭＤ間でのイントラフレーム送信タイミング制御と本実施例で説明したＨＭＤとＰＣ間でのイントラフレーム送信タイミング制御を併用してもよい。
【００４１】
［実施例３］
実施例１では、複数のＨＭＤユーザ間で同期を取り、イントラフレーム送信タイミングをずらす形態で説明した。本実施例では、ＭＲシステム全体を管理するＰＣが複数ＨＭＤのイントラフレーム送信タイミングを制御する形態について説明する。
図７は、本発明の実施の形態に関わるＭＲシステムの構成例を示す図である。
図７において、実施例１との共通部分に関する説明は省略する。ＭＲシステム管理用ＰＣ７０１は、各ＨＭＤのイントラフレーム送信タイミングを管理、制御するＰＣである。ＭＲシステム管理用ＰＣ７０１は、ルータ１０５と同ＬＡＮ内で有線接続されている。
【００４２】
図８は、図７に示したＭＲシステムにおける本発明の実施の形態を実現するために必要なＭＲシステム管理用ＰＣ７０１の機能を示す機能ブロック図である。
利用開始メッセージ受信部８０２は、有線インタフェース８０１を介して各ＨＭＤから利用開始メッセージを受信する。利用開始メッセージを受信すると、イントラフレーム送信タイミング算出部８０３にてイントラフレーム送信タイミングを算出する。算出方法については、後述する。管理ＤＢ８０４で、全ての既存利用ユーザのイントラフレーム送信タイミングを管理する。管理ＤＢ８０４は、タイミング管理手段に相当する。
【００４３】
同期用情報メッセージ送信部８０５は、イントラフレーム送信タイミング算出部８０３で算出されたイントラフレーム送信タイミングと、同期用時間情報を含めた同期用情報メッセージを通信プロトコルに適合するようにパケット化する。同期用情報メッセージ送信部８０５は、タイミング送信手段に相当する。
パケット化したメッセージは、有線インタフェース８０１を介してＨＭＤに送信される。
利用終了メッセージ受信部８０６では、各ＨＭＤから利用終了メッセージを受信する。利用終了メッセージ受信部８０６は、「停止通知受信手段」に相当する。利用終了メッセージを受信すると、管理ＤＢ８０４で管理している既存利用ユーザのイントラフレーム送信タイミングを更新する。
【００４４】
図９は、図８におけるイントラフレーム送信タイミング算出部８０３におけるイントラフレーム送信タイミング算出方法を示すフローチャートである。
Ｓ９０１にて、新規利用ＨＭＤから利用開始メッセージを受信すると、Ｓ９０２に移行する。Ｓ９０２にて、管理ＤＢ８０４にアクセスし、既存利用ユーザがいるかどうかを判定する。既存利用ユーザがいない場合は、Ｓ９０３に移行し、イントラフレーム送信タイミングを０に設定する。既存利用ユーザがいる場合は、Ｓ９０４に移行する。Ｓ９０４及びＳ９０５は、実施例１における図４のＳ４０４及びＳ４０５と同様の処理であるため、説明は省略する。
【００４５】
イントラフレーム送信タイミング管理用の配列は管理ＤＢ８０４から取得する。Ｓ９０３又はＳ９０５にて、イントラフレーム送信タイミングが設定されると、Ｓ９０６にて管理ＤＢが更新される。Ｓ９０７にて、設定したイントラフレーム送信タイミングと同期用時間情報をＨＭＤに送信する。同期用時間情報は実施例１で示した図３のシーケンス図で説明した情報と同様であるため説明は省略する。
【００４６】
本実施形態では、ＭＲシステム管理用ＰＣにおいて、複数のＨＭＤユーザのイントラフレーム送信タイミングを管理・制御し、複数ＨＭＤのイントラフレーム送信タイミングを意図的にずらすことで、システム全体における瞬間的な最大伝送データ量を抑制する。これにより、通信帯域を有効に活用するとともにＭＲシステムにおける映像品質を最大限に高めることが可能となる。
【００４７】
［実施例４］
実施例１から３では、各ＨＭＤ又は各ＣＧ重畳用ＰＣのイントラフレーム送信タイミングを利用開始時のみに決定していたが、本実施例では、イントラフレーム送信タイミングを動的に変更する形態について説明する。
本発明の実施の形態に関わるＭＲシステムの構成例については、実施例３で説明した図７と同様のため説明を省略する。
【００４８】
図１０は、図７に示したＭＲシステムにおける本発明の実施の形態を実現するために必要なＭＲシステム管理用ＰＣ７０１の機能を示す機能ブロック図である。
図１０において、実施例３で示した図８との共通部分については説明を省略する。
図１０と図８との相違点は、図１０には全ＨＭＤイントラフレーム送信タイミング再算出部１００１とイントラフレーム挿入要求受信部１００２とが存在するという点である。
全ＨＭＤイントラフレーム送信タイミング再算出部１００１は、既存利用ユーザの全ＨＭＤのイントラフレーム送信タイミングを再算出する。全ＨＭＤイントラフレーム送信タイミング再算出部１００１は、タイミング再制御手段に相当する。再算出方法及び再算出条件については後述する。
【００４９】
イントラフレーム挿入要求受信部１００２は、ＨＭＤ又はＣＧ重畳用ＰＣから、対応するＣＧ重畳用ＰＣ又はＨＭＤに対して周期タイミング外で強制的なイントラフレーム挿入を要求するメッセージを受信する。本メッセージは、例えば、伝送中の映像データパケットが通信エラーにより損失してしまい、インターフレームのデコードにおいて、エラーが伝播してしまい、映像フレームをリフレッシュする必要がある場合に送受信される。
【００５０】
図１１は、既存利用ユーザの全ＨＭＤのイントラフレーム送信タイミングを再算出する方法を示すフローチャートである。
Ｓ１１０１で、再算出条件を満たすかどうかを判定する。再算出条件として、例えば、以下の様な条件が挙げられる。
（１）イントラフレーム挿入要求受信部１００２においてイントラフレーム挿入要求メッセージを受信した場合
（２）利用開始メッセージ受信部８０２において利用開始メッセージを受信した場合
（利用開始メッセージ受信部８０２は、送信開始要求受信手段に相当する。利用開始メッセージは、映像符号化データの送信開始要求に相当する。）
（３）利用終了メッセージ受信部８０６において利用終了メッセージを受信した場合
（利用終了メッセージ受信部８０６は、停止通知受信手段又は送信終了要求受信手段に相当する。利用終了メッセージは、映像符号化データの送信停止通知又は送信終了要求に相当する。）
（４）利用者数が閾値を超えた場合
（５）各ＨＭＤ間のイントラフレーム送信タイミングの最小差分と最大差分の差が閾値を超えた場合
（６）一定時間が経過した場合
【００５１】
上記に示した条件の一つを使ってもよいし、組み合わせてもよい。また、別の条件を加えてもよい。Ｓ１１０１で、再算出条件を満たすと判定された場合、Ｓ１１０２に移行する。Ｓ１１０２では、管理ＤＢ８０４から利用ユーザ数を取得する。Ｓ１１０３では、ＭＲシステム内で予め定めたイントラフレーム挿入周期をタイミング再制御の対象となる利用ユーザ数（＝映像符号化データ送信装置の数）で割った値（＝周期／ユーザ数）の小数点以下を切捨てて整数として取得する。Ｓ１１０４では、各利用ユーザのイントラフレーム送信タイミングを再設定する。
【００５２】
図１２に示す具体例を用いて、再設定方法を説明する。図１２（Ａ）は、５人の既存利用ユーザ（Ａ〜Ｅ）がいて、それぞれのイントラフレーム送信タイミングが、ユーザＡ：０、ユーザＢ：１５、ユーザＣ：２７、ユーザＤ：１０、ユーザＥ：４であることを示している。また、それぞれのイントラフレーム送信タイミングの間隔は、Ａ−Ｅ間が４、Ｅ−Ｄ間が６、Ｄ−Ｂ間が５、Ｂ−Ｃ間が１２、Ｃ−Ａ間が３となっている。本実施例でのイントラフレーム挿入周期は３０で、利用ユーザ数が５人なので、（周期／ユーザ数）は３０／５＝６となる。ここで、各利用ユーザ間のイントラフレーム送信タイミングの間隔を６として再設定する。
【００５３】
再設定後の状態を図１２（Ｂ）に示す。ユーザＡ：０、ユーザＢ：１８、ユーザＣ：２４、ユーザＤ：１２、ユーザＥ：６となる。尚、ユーザのソート順序については、イントラフレーム送信タイミング再設定による影響、例えば、一時的なイントラフレーム送信間隔の長期化、短期化による映像品質低下や送信データ量増加等の影響を考慮し、再設定前の順序を維持することが望ましい。Ｓ１１０４にて、各利用ユーザのイントラフレーム送信タイミングを再設定した後、Ｓ１１０５で管理ＤＢ８０４を更新する。管理ＤＢ８０４の更新後、Ｓ１１０６で各利用ユーザに再設定したイントラフレーム送信タイミングを通知するメッセージを送信する。
【００５４】
本実施形態では、ＭＲシステム管理用ＰＣにおいて、複数のＨＭＤユーザのイントラフレーム送信タイミングを管理・制御し、状況に応じてイントラフレーム送信タイミングを動的に再設定することでシステム全体における瞬間的な最大伝送データ量を抑制する。これにより、通信帯域を有効に活用するとともにＭＲシステムにおける映像品質を最大限に高めることが可能となる。本実施例では、実施例３で説明したＭＲシステム管理用ＰＣを用いた形態で説明したが、実施例１で説明した各ＨＭＤ間でイントラフレーム送信タイミングを管理・制御する形態にも適用できる。
【００５５】
［その他の実施例］
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５６】
本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、コンピュータ読取可能であり、実施形態において図に示したフローチャートに対応したプログラムである。
【００５７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００５８】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００５９】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの（又は圧縮され自動インストール機能を含むファイル）をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【００６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことが可能である。
【符号の説明】
【００６２】
１０１  ユーザＡが装着するＨＭＤ
１０２  ユーザＢが装着するＨＭＤ
１０３  ユーザＣが装着するＨＭＤ
１０９  ユーザＡが装着するＨＭＤで撮像された現実空間映像データ
１１０  ユーザＢが装着するＨＭＤで撮像された現実空間映像データ
１１１  ユーザＣが装着するＨＭＤで撮像された現実空間映像データ
１１２  ユーザＡ用ＰＣでＣＧが重畳されたＣＧ映像データ
１１３  ユーザＢ用ＰＣでＣＧが重畳されたＣＧ映像データ
１１４  ユーザＣ用ＰＣでＣＧが重畳されたＣＧ映像データ
【図１】
2016096440.tif 000003
【図２】
2016096440.tif 000004
【図３】
2016096440.tif 000005
【図４】
2016096440.tif 000006
【図５】
2016096440.tif 000007
【図６】
2016096440.tif 000008
【図７】
2016096440.tif 000009
【図８】
2016096440.tif 000010
【図９】
2016096440.tif 000011
【図１０】
2016096440.tif 000012
【図１１】
2016096440.tif 000013
【図１２】
2016096440.tif 000014