(57)【特許請求の範囲】
【請求項１】
オブジェクトを撮像する複数の撮像装置に関する撮像情報を取得する取得手段と、
前記複数の撮像装置により撮像された複数の映像データのアクセス情報を含むプレイリストに、前記取得手段により取得された撮像情報を記述する生成手段と、
前記生成手段により生成されたプレイリストを他の通信装置へ送信する送信手段と、を備え、
前記生成手段は、
前記撮像装置の物理的な位置に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも一方を、所定の平面領域内または空間領域内における座標により記述することを特徴とする通信装置。
【請求項２】
前記撮像情報は、前記撮像装置の物理的な配置に関する情報、前記撮像装置の画角に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも１つを含むことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記プレイリストは、前記映像データが任意の撮像時間で区切られた区間映像に関する情報を含み、
前記生成手段は、前記区間映像ごとに前記撮像情報を記述することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記プレイリストは、映像表現に関する情報を含み、
前記生成手段は、前記映像表現に関する情報に前記撮像情報を含めて記述することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記プレイリストは、前記映像データが任意の撮像時間で区切られた区間映像に関する情報を含み、
前記生成手段は、前記区間映像に関する情報の記述とは独立して、前記撮像情報を記述することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項６】
前記取得手段は、前記撮像情報に変化が生じた場合に、当該撮像情報を取得することを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記プレイリストは、ＭＰＥＧ−ＤＡＳＨ（Dynamic Adaptive Streaming over Http）により規定されたフォーマットで記述されていることを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
オブジェクトを撮像する複数の撮像装置により撮像された複数の映像データのアクセス情報と、前記複数の撮像装置に関する撮像情報であって、前記撮像装置の物理的な位置に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも一方が、所定の平面領域内または空間領域内における座標により記述された撮像情報とが記述されたプレイリストを受信する受信手段と、
前記受信手段により受信されたプレイリストに含まれる前記撮像情報に基づいて、前記複数の映像データのうち少なくとも１つを選択する選択手段と、
前記受信手段により受信されたプレイリストに含まれる前記アクセス情報に基づいて、前記選択手段により選択された映像データの配信要求を他の通信装置へ送信する送信手段と、を備えることを特徴とする通信装置。
【請求項９】
請求項１から７のいずれか１項に記載の通信装置と、請求項８に記載の通信装置とが通信可能に接続された通信システム。
【請求項１０】
オブジェクトを撮像する複数の撮像装置に関する撮像情報を取得するステップと、
前記複数の撮像装置により撮像された複数の映像データのアクセス情報を含むプレイリストに、前記撮像情報を記述するステップと、
前記撮像情報が記述された前記プレイリストを他の通信装置へ送信するステップと、を含み、
前記撮像情報を記述するステップでは、
前記撮像装置の物理的な位置に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも一方を、所定の平面領域内または空間領域内における座標により記述することを特徴とする通信制御方法。
【請求項１１】
オブジェクトを撮像する複数の撮像装置により撮像された複数の映像データのアクセス情報と、前記複数の撮像装置に関する撮像情報であって、前記撮像装置の物理的な位置に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも一方が、所定の平面領域内または空間領域内における座標により記述された撮像情報とが記述されたプレイリストを受信するステップと、
前記プレイリストに含まれる前記撮像情報に基づいて、前記複数の映像データのうち少なくとも１つを選択するステップと、
選択された前記映像データの配信要求を、前記プレイリストに含まれる前記アクセス情報に基づいて他の通信装置へ送信するステップと、を含むことを特徴とする通信制御方法。
【請求項１２】
コンピュータを、請求項１から８のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信制御方法および通信システムに関する。
【背景技術】
【０００２】
近年、仮想視点映像技術（自由視点映像技術）の利用が増えている。仮想視点映像は、対象となるオブジェクトを仮想的な視点から見た映像であり、オブジェクトの周囲に配置された複数のカメラによって撮像された映像に基づいて得られる。また、複数のカメラによって撮像された映像データをネットワーク配信することで、ネットワーク接続された複数の視聴者はそれぞれ自由な視点でオブジェクトを視聴することができる。
特許文献１には、多視点映像のコンテンツを自由な視点から視聴するためのシステムが開示されている。特許文献１のシステムにおいて、ストリーミングサーバは、多視点映像のコンテンツをストリーミング配信する。そして、クライアントＰＣは、ストリーミング配信された多視点映像のコンテンツをもとに、視聴者が選択した視点に対応する映像を表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１８３２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来のシステムは、視聴者側で予めカメラ配置などの撮像構成を認識していることを前提としたシステムである。しかしながら、例えば、ネットワーク接続された不特定多数の視聴者がそれぞれ多様なクライアント機器を用いて仮想視点映像を視聴するような場合、必ずしも視聴者側で撮像構成を認識しているとは限らない。そのため、上記従来のシステムでは、視聴者側で適切な映像選択ができない場合がある。
そこで、本発明は、複数の撮像装置による撮像映像に基づく映像を受信する通信装置において、当該受信する映像の指定を容易にすることを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る通信装置の一態様は、オブジェクトを撮像する複数の撮像装置に関する撮像情報を取得する取得手段と、前記複数の撮像装置により撮像された複数の映像データのアクセス情報を含むプレイリストに、前記取得手段により取得された撮像情報を記述する生成手段と、前記生成手段により生成されたプレイリストを他の通信装置へ送信する送信手段と、を備え、前記生成手段は、前記撮像装置の物理的な位置に関する情報、および前記撮像装置と前記オブジェクトとの間の物理的な配置関係に関する情報の少なくとも一方を、所定の平面領域内または空間領域内における座標により記述する。
【発明の効果】
【０００６】
本発明によれば、複数の撮像装置による撮像映像に基づく映像を受信する通信装置において、当該受信する映像の指定が容易にできるようになる。
【図面の簡単な説明】
【０００７】
【図１】通信システムの一例を示す概略構成図である。
【図２】カメラの機能構成を示すブロック図である。
【図３】サーバ装置の機能構成を示すブロック図である。
【図４】サーバ装置の動作を示すフローチャートである。
【図５】ＭＰＤの一例を示す図である。
【図６】クライアント装置の動作を示すフローチャートである。
【図７】ＭＰＤの別の例を示す図である。
【図８】通信装置のハードウェア構成の一例である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
本実施形態における通信システムは、複数の通信装置間において双方向に通信が可能なシステムである。本実施形態では、通信プロトコルとして、映像データをインターネット等のネットワークを介してストリーム伝送する通信プロトコルであるＭＰＥＧ−ＤＡＳＨ（Dynamic Adaptive Streaming over Http）を使用する。なお、以降の説明では、簡単のため、ＭＰＥＧ−ＤＡＳＨをＤＡＳＨと呼ぶ。また、本実施形態では、通信システムが動画像を扱う場合の例を中心に説明するが、静止画を扱うことも可能である。すなわち本実施形態の映像データは、動画像データと静止画データのどちらにも適用可能であるものとする。
【０００９】
ＤＡＳＨの特徴は、受信端末の処理能力や通信状況などに応じた適切な映像データを動的に選択し伝送することを可能とすることにある。具体的には、ＤＡＳＨの特徴として、帯域に応じたビットレートの切り替えが挙げられる。例えば、ネットワークが混雑して帯域が狭い場合には、再生が途切れないようにビットレートを変動させるようにする。
ＤＡＳＨの配信サーバは、映像データが任意の撮像時間で区切られた区間映像を用意する。ここで、区間映像は、数秒程度の単独再生可能な、セグメント化された映像データ（セグメント）である。上記のビットレートの切り替えを行うために、配信サーバは、予め複数のビットレートに対応したセグメントを用意しておいてもよい。さらに、配信サーバは、予め複数の解像度に対応したセグメントを用意しておいてもよい。
【００１０】
また、ＤＡＳＨの管理サーバは、映像データのプレイリストであるＭＰＤ（Media Presentation Description）を生成する。ＭＰＤは、映像データの取得リストであり、ＭＰＤには、配信サーバが用意した各セグメントへのアクセス情報（ＵＲＬ：Uniform Resource Locator）や各セグメントの特徴情報といった、映像データを表現する情報が記述される。ここで、特徴情報は、セグメントの種類（圧縮方式）やビットレート、解像度などに関する情報を含む。なお、ＤＡＳＨの配信サーバと管理サーバとは、同一サーバであってもよいし異なるサーバであってもよい。
一方、ＤＡＳＨの再生クライアントは、まずＭＰＤを配信サーバから取得し、取得したＭＰＤを解析する。これにより再生クライアントは、ＭＰＤに記述された各セグメントのアクセス情報および特徴情報を得る。次に再生クライアントは、ＭＰＤに記述されたセグメントリストから、通信状況やユーザ指示などに応じて再生するセグメント選択する。そして、再生クライアントは、選択したセグメントのアクセス情報を使用して配信サーバからセグメントを取得し、映像を再生する。
【００１１】
したがって、上記のような通信システムでは、サーバ側は、各セグメントの特徴情報を適切にＭＰＤに記述することで、クライアント側の適切なセグメントの選択を促すことが重要である。また、クライアント側は、ＭＰＤに記述された特徴情報を基に、目的に合致した適切なセグメントを選択することが重要である。
本実施形態の通信システムにおいては、サーバ側の通信装置は、補足情報として、ＭＰＤに撮像情報を記述する。ここで、撮像情報は、映像を撮像したカメラの物理的な配置に関する情報、画角に関する情報、およびカメラと撮像対象のオブジェクトとの物理的な配置関係を示す情報を含む。クライアント側の通信装置は、サーバ側の通信装置から送信されたＭＰＤを受信し、受信したＭＰＤを解析する。そして、クライアント側の通信装置は、ＭＰＤに記述された撮像情報を含む情報に基づいてセグメントを選択する。
【００１２】
なお、本実施形態では、通信プロトコルとしてＭＰＥＧ−ＤＡＳＨを使用する場合について説明するが、ＭＰＥＧ−ＤＡＳＨに限定されるものではない。通信プロトコルとしては、ＨＬＳ（Http Live Streaming）や、その他同等の通信プロトコルを使用することもできる。また、プレイリストのフォーマットは、ＭＰＥＧ−ＤＡＳＨにより規定されたＭＰＤのフォーマットに限定されるものではなく、ＨＬＳにより規定されているプレイリストのフォーマットや、その他同等のプレイリストのフォーマットであってよい。
【００１３】
図１は、本実施形態における通信システム１０の一例を示す概略構成図である。本実施形態では、通信システム１０を、被写体を異なる位置から撮像する複数の撮像装置によって撮像された映像データをネットワーク配信し、ネットワーク接続された１台以上のクライアント装置において仮想視点映像を視聴するシステムに適用する。
通信システム１０は、被写体となるオブジェクト１００を撮像する複数（図１では４台）のカメラ２００Ａ〜２００Ｄと、サーバ装置３００と、クライアント装置４００とを備える。カメラ２００Ａ〜２００Ｄ、サーバ装置３００およびクライアント装置４００は、ネットワーク５００を介して通信可能に接続されている。本実施形態における仮想視点映像とは、クライアント装置４００により指定された仮想的な視点から被写体を撮像することで得られる撮像映像を模擬した映像である。なお、クライアント装置４００が指定可能な視点の範囲には一定の制限があってもよいし、クライアント装置４００のタイプによって、指定可能な視点の範囲が異なるようになっていてもよい。
【００１４】
オブジェクト１００は、仮想視点映像の撮像対象である。図１において、オブジェクト１００は人物であるが、人物以外の物体であってもよい。
カメラ２００Ａ〜２００Ｄは、オブジェクト１００を撮像する撮像装置である。カメラ２００Ａ〜２００Ｄの具体的な例としては、ビデオカメラ、スマートフォン、タブレット端末などが挙げられる。ただし、カメラ２００Ａ〜２００Ｄは、後述の機能構成を満たすものであればよく、上記の機器に限定されない。また、通信システム１０において、撮像装置であるカメラは複数台で構成されていればよく、台数は限定されない。
【００１５】
カメラ２００Ａ〜２００Ｄは、撮像した映像を圧縮符号化し、ＤＡＳＨのセグメント形式で映像データ（セグメント）を生成する機能を有する。また、カメラ２００Ａ〜２００Ｄは、クライアント装置４００からセグメントの配信要求を受けた場合に、そのクライアント装置４００に対してセグメントデータをネットワーク配信する機能を有する。つまり、カメラ２００Ａ〜２００Ｄは、上述した配信サーバとして機能する。なお、カメラ２００Ａ〜２００Ｄによって生成されたセグメントを格納するストレージ装置を設け、ストレージ装置を配信サーバとして機能させてもよい。
【００１６】
サーバ装置３００は、カメラ２００Ａ〜２００Ｄが生成するセグメントに関するＭＰＤを生成する機能と、ＭＰＤをクライアント装置４００へネットワーク配信する機能とを有するサーバ側の通信装置である。サーバ装置３００は、パーソナルコンピュータ（ＰＣ）によって構成することができる。本実施形態では、サーバ装置３００は、カメラ２００Ａ〜２００Ｄからセグメントに関する情報であるセグメント情報（アクセス情報、特徴情報）と、上述した撮像情報とを受信し、ＭＰＤを生成する。ＭＰＤの生成方法については後で詳述する。
このサーバ装置３００は、上述した管理サーバとして機能する。なお、複数のカメラ２００Ａ〜２００Ｄのうちの１台がサーバ装置３００の各部の機能を実現する通信装置として機能してもよい。
【００１７】
クライアント装置４００は、仮想視点映像の視聴者が操作可能な端末装置である。クライアント装置４００は、サーバ装置３００が送信するＭＰＤを受信し、解析する機能と、解析結果をもとにセグメントを少なくとも１つ選択し、対応するカメラに対してセグメントの配信を要求する機能とを有するクライアント側の通信装置である。
クライアント装置４００は、ＭＰＤの解析によって得られるセグメントリストの中から、通信状況やユーザ指示などに応じたセグメントを選択する。具体的には、クライアント装置４００は、ネットワーク帯域の状態やＣＰＵの使用率、映像を表示するモニタの画面サイズに応じて、適切なビットレートや解像度のセグメントを選択する。
また、クライアント装置４００は、視聴者による仮想視点映像に関する視点の指示に応じて、ＭＰＤに含まれる撮像情報をもとに、視聴者が必要とする映像に対応するセグメントを少なくとも１つ選択する。そして、クライアント装置４００は、ＭＰＤに記述されたセグメントのアクセス情報（ＵＲＬ）を確認し、対応するカメラに対して上記の選択したセグメントの配信を要求する。
【００１８】
さらに、クライアント装置４００は、セグメントの配信を要求したカメラが送信するセグメントを受信し、表示する機能も有する。具体的には、クライアント装置４００は、受信したセグメントを復号化し、復号化したセグメントを表示部に表示させる。
このクライアント装置４００は、上述した再生クライアントとして機能する。クライアント装置４００の具体的な例としては、スマートフォン、タブレット端末、ＰＣなどが挙げられる。ただし、クライアント装置４００は、後述の機能構成を満たすものであればよく、上記の機器に限定されない。また、通信システム１０において、クライアント装置は複数台存在してもよいが、本実施形態では簡単のため、１台のみで説明する。
【００１９】
ネットワーク５００は、ＬＡＮ（Local Area Network）やインターネット、ＬＴＥ（Long Term Evolution）や３ＧなどのＷＡＮ（Wide Area Network）、若しくはこれらの複合により実現できる。ネットワーク５００への接続形態は、有線であっても無線であってもよい。
なお、本実施形態においては、カメラ２００Ａ〜２００Ｄの物理的な配置の計測方法について限定されるものではなく、任意の計測方法を用いることができる。また、本実施形態においては、サーバ装置３００がネットワーク５００上のカメラ２００Ａ〜２００Ｄを発見する方法、およびクライアント装置４００がサーバ装置３００のアドレスを取得する方法についても、任意の方法を用いることができる。
【００２０】
次に、カメラ２００Ａ〜２００Ｄの構成について具体的に説明する。なお、カメラ２００Ａ〜２００Ｄはそれぞれ同一構成を有するため、以下、カメラ２００Ａの構成を例に説明する。
図２は、カメラ２００Ａの機能構成を示すブロック図である。カメラ２００Ａは、撮像部２０１と、映像符号化部２０２と、セグメントバッファ２０３と、セグメント管理部２０４と、撮像情報管理部２０５と、通信部２０６と、を備える。撮像部２０１は、オブジェクト１００を撮像し、映像データを出力する。このとき、撮像部２０１は、撮像した映像データをフレームごとに映像符号化部２０２に出力する。
映像符号化部２０２は、撮像部２０１から出力される映像データをＨ．２６４等の形式で圧縮符号化する。また、映像符号化部２０２は、圧縮符号化された映像データを、さらにＤＡＳＨがサポートするメディア形式によりセグメント化する。ここで、ＤＡＳＨがサポートするメディア形式は、ＭＰ４形式などのＩＳＯＢＭＦＦ（Base Media File Format）や、ＭＰＥＧ−２ＴＳ（MPEG-2 Transport Stream）フォーマットである。そして、映像符号化部２０２は、セグメント化された映像データ（セグメント）をセグメントバッファ２０３に格納する。
セグメントバッファ２０３は、セグメントの書き込みおよび読み出しが可能に構成されている。
【００２１】
セグメント管理部２０４は、映像符号化部２０２からセグメントバッファ２０３にセグメントが格納されると、そのセグメントに関する情報（セグメント情報）を生成する。そして、セグメント管理部２０４は、生成したセグメント情報を、通信部２０６およびネットワーク５００を介してサーバ装置３００へ送信する。セグメント情報をサーバ装置３００へ送信するタイミングは、サーバ装置３００からセグメント情報の配信要求を受信したタイミングであってもよいし、任意のタイミングであってもよい。
また、セグメント管理部２０４は、セグメントバッファ２０３に格納されたセグメントの配信をクライアント装置４００から要求されると、通信部２０６およびネットワーク５００を介してクライアント装置４００へ対応するセグメントを送信する。
【００２２】
撮像情報管理部２０５は、カメラ２００Ａの配置に関する情報、画角に関する情報、撮像対象であるオブジェクトとの配置関係に関する情報といった撮像情報を保持する。撮像情報管理部２０５は、必要に応じて、通信部２０６およびネットワーク５００を介してサーバ装置３００へ撮像情報を送信する。撮像情報管理部２０５は、定期的に撮像情報を送信してもよいし、撮像情報に変化が生じた場合に新たな撮像情報を送信するようにしてもよい。
通信部２０６は、ネットワーク５００を介してサーバ装置３００やクライアント装置４００と通信するための通信インタフェースである。通信部２０６は、サーバ装置３００に対するセグメント情報および撮像情報の送信、クライアント装置４００から送信されるセグメントの配信要求の受信、およびそのクライアント装置４００に対するセグメントの送信といった通信制御を実現する。
【００２３】
次に、サーバ装置３００の構成について具体的に説明する。
図３は、サーバ装置３００の機能構成を示すブロック図である。サーバ装置３００は、通信部３０１と、セグメント情報格納部３０２と、ＭＰＤ生成部３０３と、撮像情報格納部３０４と、を備える。通信部３０１は、ネットワーク５００を介してカメラ２００Ａ〜２００Ｄやクライアント装置４００と通信するための通信インタフェースである。通信部３０１は、カメラ２００Ａ〜２００Ｄから送信されるセグメント情報および撮像情報の受信、後述するクライアント装置４００から送信されるＭＰＤの配信要求、およびそのクライアント装置に対するＭＰＤの送信といった通信制御を実現する。
【００２４】
通信部３０１は、カメラ２００Ａ〜２００Ｄから送信されるセグメント情報を受信すると、受信したセグメント情報をセグメント情報格納部３０２に格納する。同様に、通信部３０１は、カメラ２００Ａ〜２００Ｄから送信される撮像情報を受信すると、受信した撮像情報を撮像情報格納部３０４に格納する。セグメント情報格納部３０２は、セグメント情報の書き込みおよび読み出しが可能に構成されており、撮像情報格納部３０４は、撮像情報の書き込みおよび読み出しが可能に構成されている。
【００２５】
ＭＰＤ生成部３０３は、通信部３０１がクライアント装置４００からＭＰＤの配信要求を受信すると、セグメント情報格納部３０２からＭＰＤに記述するセグメントに関するセグメント情報を取得する。このとき、ＭＰＤ生成部３０３は、さらに撮像情報格納部３０４からＭＰＤに記述するセグメントに関する撮像情報を取得する。そして、ＭＰＤ生成部３０３は、これらの取得した情報に基づいてＭＰＤを生成し、ＭＰＤの配信要求を送信したクライアント装置４００へネットワーク配信する。本実施形態では、ＭＰＤ生成部３０３は、セグメント情報が記述されたＭＰＤを生成し、そのＭＰＤに撮像情報を記述する。
【００２６】
以下、ＭＰＤ生成部３０３がＭＰＤを生成する手順について、図４を参照しながら説明する。なお、以降のアルファベットＳは、フローチャートにおけるステップを意味するものとする。
まずＳ１において、ＭＰＤ生成部３０３は、セグメント情報格納部３０２からセグメント情報群を取得する。セグメント情報群は、複数のカメラ２００Ａ〜２００Ｄによって生成された複数のセグメントに関するセグメント情報を含む。次にＳ２では、ＭＰＤ生成部３０３は、撮像情報格納部３０４から複数のカメラ２００Ａ〜２００Ｄの撮像情報を取得する。Ｓ３では、ＭＰＤ生成部３０３は、Ｓ１において取得されたセグメント情報群に対応するセグメント群からセグメントを１つ選択し、Ｓ４に移行して、Ｓ３において選択されたセグメントのＭＰＤを生成する。
【００２７】
ここで、ＭＰＤの構成について説明する。
ＭＰＤは、例えばＸＭＬ等のマークアップ言語による階層構造により記述される。具体的には、図５（ａ）に示すように、ＭＰＤは、Period、AdaptationSet、Representationといった複数の構造体による階層構造により記述することができる。Periodは、番組等のコンテンツを構成する１つの単位である。図５（ａ）に示すように、ＭＰＤは１つ以上のPeriodにより構成され、Periodには、図５（ｂ）に示すようにstart時刻とduration時間とがそれぞれ定義される。また、１つのPeriodは、１つ以上のAdaptationSet により構成される。AdaptationSetは、コンテンツを構成する、映像、音声、字幕などの単位を表現する。
Representationは、映像の解像度やビットレート、音声のビットレートなどの特徴情報を記述することができる。また、Representationは、図５（ｂ）に示すように、SegmentListによって、各セグメントのアクセス情報（ＵＲＬ）を記述することができる。なお、AdaptationSetは、異なるビットレートや解像度に対応して、複数のRepresentationにより構成することができる。
【００２８】
図４のＳ４では、ＭＰＤ生成部３０３は、Ｓ１において取得されたセグメント情報群のうち、Ｓ３において選択されたセグメントに対するセグメント情報をもとに、アクセス情報や特徴情報が記述されたＭＰＤを生成する。
Ｓ５では、ＭＰＤ生成部３０３は、Ｓ２において取得された複数のカメラ２００Ａ〜２００Ｄの撮像情報から、Ｓ３において選択されたセグメントの撮像情報を検索する。Ｓ６では、ＭＰＤ生成部３０３は、Ｓ５における検索結果をもとに、検索対象であるセグメントの撮像情報があるか否かを判定する。そして、ＭＰＤ生成部３０３は、撮像情報があると判定した場合にはＳ７に移行し、Ｓ４において生成されたＭＰＤに該セグメントの撮像情報を記述（追記）してからＳ８に移行する。一方、ＭＰＤ生成部３０３は、Ｓ６において撮像情報がないと判定した場合には、そのままＳ８に移行する。
【００２９】
ＭＰＤへの撮像情報の記述方法としては、図５（ａ）に示すように、映像表現に関する情報を記述するAdaptationSet内に、Geometry情報６０１〜６０３として撮像情報を記述する方法を用いることができる。ＭＰＤにおいて、AdaptationSet内には、新たな要素を定義することができるSupplementalProperty要素を記述することができる。そこで、本実施形態では、図５（ｂ）の符号６０４に示すように、SupplementalPropertyタグで囲まれたGeometryタグにより撮像情報を記述する。
例えば、Geometryタグのsquare属性により、カメラの配置を明示する上での平面領域の大きさ（サイズ）を示すことができる。また、Geometryタグ内にあるSubjectタグにより、カメラの位置（pos）と画角（angle）とを示すことができる。さらに、Geometryタグ内にあるObjectタグにより、撮像対象であるオブジェクトの位置(pos)を示すことができる。ここで、カメラの位置およびオブジェクトの位置は、平面領域内の座標により記述することができる。
【００３０】
このように、カメラの配置に関する情報、画角に関する情報、およびカメラとオブジェクトとの配置関係に関する情報を、AdaptationSetタグの属性としてＭＰＤに記述することができる。したがって、これらの撮像情報を適切にクライアント装置４００に伝送することができる。なお、ＭＰＤへの撮像情報の記述方法は一例にすぎず、図５に示すフォーマットに限定されるものではない。例えば、オブジェクトの位置に加えて、オブジェクトのサイズが記述されるようにしてもよい。また、カメラの位置と画角の情報に加えて、カメラの撮像方向に関する方向情報が記述されるようにしてもよい。また、オブジェクトの位置に関する座標情報は、オブジェクトの中心を示す座標情報としても良いし、オブジェクト領域の左上を示す座標情報としてもよい。さらに、複数のオブジェクトの情報が記述されるようにしてもよい。
【００３１】
図４のＳ８では、ＭＰＤ生成部３０３は、Ｓ１において取得されたセグメント情報群に対応するセグメント群の中に、ＭＰＤを生成していないセグメントが存在するか否かを判定する。そして、ＭＰＤ生成部３０３は、ＭＰＤを生成していないセグメントが存在すると判定した場合にはＳ３に戻り、次のセグメントを選択してＳ４〜Ｓ７の処理を繰り返す。一方、ＭＰＤ生成部３０３は、Ｓ８において全てのセグメントについてＭＰＤを生成したと判定した場合には、ＭＰＤの生成を終了する。
【００３２】
以上のように、サーバ装置３００は、ＭＰＤに複数のカメラ２００Ａ〜２００Ｄに関する撮像情報を記述することができる。つまり、サーバ装置３００は、ＭＰＤに複数のカメラ２００Ａ〜２００Ｄ間の配置関係や、複数のカメラ２００Ａ〜２００Ｄ間の撮像画角の相互関係を記述することができる。
そのため、クライアント装置４００は、サーバ装置３００から送信されたＭＰＤを解析することで、複数のカメラ２００Ａ〜２００Ｄがどのように配置されており、どのカメラが隣り合って配置されているかを把握することができる。このように、クライアント装置４００は、隣り合うカメラの映像の組み合わせといったセグメント間の関係性を容易に把握することができる。つまり、ＭＰＤに記述された撮像情報は、映像の繋がりを示す情報であるといえる。その結果、クライアント装置４００は、適切に目的に合致したセグメントを選択し、対応するカメラに対してセグメントの配信要求を送信することができる。
【００３３】
以下、クライアント装置４００がＭＰＤの解析結果をもとに目的に合致したセグメントを選択する手順について、図６のフローチャートを参照しながら説明する。
まずＳ１１において、クライアント装置４００は、サーバ装置３００に対してＭＰＤの配信要求を送信し、その応答としてサーバ装置３００が送信したＭＰＤを取得する。次にＳ１２では、クライアント装置４００は、Ｓ１１において取得したＭＰＤから、選択肢となり得るセグメントのリスト（SegmentList）が記述されたPeriod情報を取得する。
【００３４】
Ｓ１３では、クライアント装置４００は、Ｓ１２において取得したPeriod情報内のAdaptationSet要素を１つ選択する。次にＳ１４では、クライアント装置４００は、Ｓ１３において選択したAdaptationSet内に記述され得る撮像情報の有無を確認する。そして、クライアント装置４００は、Ｓ１５において、AdaptationSet内に撮像情報が記述されているか否かを判定する。このときクライアント装置４００は、図５（ｂ）のように撮像情報が記述されていると判定した場合にはＳ１６に移行し、撮像情報が記述されていないと判定した場合にはＳ１９に移行する。
【００３５】
Ｓ１６では、クライアント装置４００は、AdaptationSet内に記述された撮像情報を解析し、複数のカメラの配置、画角、およびカメラとオブジェクトとの配置関係を確認する。
次にＳ１７では、クライアント装置４００は、Ｓ１６における撮像情報の解析結果をもとに、カメラの撮像情報の観点により受信すべきセグメントか否かを判定する。例えば、クライアント装置４００は、カメラの位置が、視聴者が指示した視点の位置に合致すると判定した場合、もしくは視聴者が指示した視点の位置の近傍にあると判定した場合に、受信すべきセグメントであると判定する。そして、クライアント装置４００は、受信すべきセグメントであると判定するとＳ１８に移行し、当該セグメントの情報を受信リストに登録してＳ１９に移行する。
【００３６】
Ｓ１９では、クライアント装置４００は、未解析であるAdaptationSetの有無を判定する。そして、クライアント装置４００は、未解析であるAdaptationSetが存在すると判定した場合にはＳ１３に戻り、次のAdaptationSetを選択してＳ１４〜Ｓ１８の処理を繰り返す。一方、クライアント装置４００は、すべてのAdaptationSetについて解析が終了していると判定した場合には、図６の処理を終了する。
その後は、クライアント装置４００は、セグメントの特徴情報の観点により、上記の受信リストに登録されたセグメントから最終的に受信すべきセグメントを少なくとも１つ選択し、対応するカメラへセグメントの配信要求を送信する。そして、クライアント装置４００は、セグメントの配信要求の応答としてカメラが送信したセグメントを取得し、復号化して表示部に表示させる表示制御を行う。
【００３７】
以上のように、本実施形態における通信装置であるサーバ装置３００は、被写体となるオブジェクト１００を撮像する複数の撮像装置であるカメラ２００Ａ〜２００Ｄに関する撮像情報を取得する。ここで、撮像情報は、撮像装置の物理的な配置に関する情報、撮像装置の画角に関する情報、および撮像装置とオブジェクトとの間の物理的な配置関係に関する情報の少なくとも１つを含む。また、サーバ装置３００は、複数のカメラ２００Ａ〜２００Ｄにより撮像された複数の映像データのアクセス情報が記述されるプレイリストに、撮像情報を記述する。ここで、プレイリストのフォーマットは、ＭＰＥＧ−ＤＡＳＨにより規定されたＭＰＤのフォーマットとすることができる。そして、サーバ装置３００は、生成したプレイリストを他の通信装置としてのクライアント装置４００へ送信する。
【００３８】
このとき、クライアント装置４００は、サーバ装置３００から送信された、アクセス情報と撮像情報とが記述されたプレイリストを受信し、解析する。これにより、クライアント装置４００は、複数のカメラ２００Ａ〜２００Ｄの物理的な配置、画角、およびオブジェクト１００との間の物理的な配置関係を把握することができる。したがって、クライアント装置４００は、プレイリストに含まれる撮像情報に基づいて、複数のセグメントの選択肢の中から目的に合致したセグメントを選択し、選択したセグメントの配信要求を対応するカメラへ送信することができる。
【００３９】
近年、様々な仮想視点映像の研究や実装が行われており、使用場所や被写体となるオブジェクトも様々である。また、複数のカメラによって撮像された映像データをネットワーク配信し、ネットワーク接続された視聴者が仮想な視点でオブジェクトを視聴するシステムの場合、視聴者は不特定多数であったり、視聴者が操作するクライアント機器も多様であったりする。したがって、必ずしも視聴者側でカメラの配置などの撮像構成を認識しているとは限らず、視聴者の視聴目的に合った再生映像をクライアント機器が適切に選択することが困難である場合がある。
【００４０】
これに対して本実施形態では、サーバ装置３００は、上述したように、複数のカメラ２００Ａ〜２００Ｄに関する撮像情報を記述したＭＰＤを生成し、これをクライアント装置４００へ送信する。そのため、クライアント装置４００は、撮像情報が記述されたＭＰＤを解析することで、適切にカメラの配置などの撮像構成を把握することができる。したがって、クライアント装置４００は、視聴者の視聴目的に合った再生映像を適切に選択することができる。
このように、サーバ装置３００は、撮像情報をクライアント装置４００へ伝送する手法として、コンテンツのストリーミング配信に用いられるプレイリスト（ＭＰＤ）に撮像情報を記述するといった統一的な方法をとる。したがって、様々な使用場所やオブジェクトを、ネットワーク接続した複数の視聴者が仮想にカメラ映像を切り替えて視聴するようなユースケースにおいても、視聴者側の多様なクライアント機器が適切な映像選択を実施することができる。
【００４１】
また、サーバ装置３００は、プレイリストに撮像情報を記述するに際し、映像データが任意の撮像時間で区切られた区間映像ごとに撮像情報を記述することができる。また、サーバ装置３００は、プレイリストに含まれる映像表現に関する情報に撮像情報を含めて記述することができる。
具体的には、サーバ装置３００は、図５（ａ）に示すように、AdaptationSet内に撮像情報を記述することができる。このように、区間映像ごとに撮像情報を記述することで、時間的な撮像情報の遷移を表現することができる。また、映像表現に関する情報（AdaptationSet）に撮像情報を含めて記述することで、映像表現の撮像状況に応じた適切な撮像情報を記述することができる。
【００４２】
さらに、サーバ装置３００は、図５（ｂ）に示すように、プレイリストに、所定の平面領域内におけるカメラの座標の情報と、所定の平面領域内におけるオブジェクトの座標の情報とを記述する。したがって、カメラの物理的な配置に関する情報と、カメラとオブジェクトとの物理的な配置関係に関する情報とを、適切にプレイリストに含めることができる。
なお、カメラの物理的な配置に関する情報やカメラとオブジェクトとの間の物理的な配置関係に関する情報は、所定の空間領域内における座標により記述してもよい。この場合、Geometryタグのsquare属性に替えて、上記の空間領域を指定する属性情報を記述し、カメラやオブジェクトの空間領域内における座標を記述すればよい。
【００４３】
（変形例）
上記実施形態においては、ＭＰＤへの撮像情報の記述方法として、図５（ｂ）に示すように、AdaptationSet内にSupplementalProperty要素を用いて撮像情報を記述する方法を用いる場合について説明した。しかしながら、ＭＰＤへの撮像情報の記述方法は上記に限定されない。
ＭＰＤでは、AdaptationSet要素と同様に、Representation要素にSupplementalProperty要素を記述することもできる。したがって、Representation内にSupplementalProperty要素を用いて撮像情報を記述するようにしてもよい。つまり、Representationタグで、AdaptationSetのひとつの表示方法として撮像情報を記述してもよい。また、SupplementalProperty要素と同様にＭＰＤで規定されているEssentialProperty要素などの別の要素を用いて撮像情報を記述してもよい。
【００４４】
さらに、図７に示すように、Period要素の記述と独立して、DevGeometry情報６０５として撮像情報を記述してもよい。この場合、DevGeometry情報６０５には、カメラのＩＤ（ｄｅｖ  ＃１，＃２，…）を用いるなどして、カメラ単位で撮像情報を記述することができる。
このように、区間映像に関する情報の記述とは独立して撮像情報を記述することで、撮像情報を静的な構成として記述することができる。また、共通のタグを用いて撮像情報を記述することができるので、ＭＰＤへの記述が容易である。なお、上記のように共通のタグを用いて撮像情報を記述する場合、Representation要素のＩＤを参照用に用いることで、セグメントごとに撮像情報を記述することもできる。
【００４５】
（ハードウェア構成例）
図８は、本実施形態における通信装置を構成することができるコンピュータ７００のハードウェア構成例である。
コンピュータ７００は、ＣＰＵ７０１と、ＲＯＭ７０２と、ＲＡＭ７０３と、外部メモリ７０４と、通信Ｉ／Ｆ７０５と、を備える。ＣＰＵ７０１は、ＲＯＭ７０２、ＲＡＭ７０３、外部メモリ７０４等に格納されたプログラムを実行することで、上記実施形態の各部の機能を実現することができる。本実施形態における通信装置は、ＣＰＵ７０１が必要なプログラムを読み出して実行することにより、図４に示す各処理や図６に示す各処理を実現することができる。
通信Ｉ／Ｆ７０５は、外部装置と通信を行うインタフェースである。通信Ｉ／Ｆ７０５は、図２の通信部２０６や図３の通信部３０１を構成することができる。
【００４６】
また、コンピュータ７００は、撮像部７０６と、表示部７０７と、入力部７０８とを備えていてもよい。撮像部７０６は、撮像素子を含んで構成され、被写体の撮像を行う。撮像部７０６は、図２の撮像部２０１を構成することができる。なお、通信装置が撮像機能を有していない場合には、撮像部７０６は不要である。
表示部７０７は、各種ディスプレイにより構成することができる。表示部７０７は、クライアント装置４００において映像セグメント等の表示を行う表示部を構成することができる。なお、通信装置が表示機能を有していない場合には、表示部７０７は不要である。
入力部７０８は、キーボードやマウス等のポインティングデバイス、タッチパネル、各種スイッチにより構成することができる。入力部７０８は、クライアント装置４００において視聴者が操作可能であり、視聴者は、入力部７０８を介して仮想視点映像に関する視点の位置等を入力することができる。なお、通信装置が入力機能を有していない場合には、入力部７０７は不要である。
【００４７】
（その他の実施形態）
上記実施形態においては、本発明を、仮想視点映像を視聴するためのシステムに適用する場合について説明した。しかしながら、物理的に隣り合うカメラの映像を連続して再生するシステムや、物理的に隣り合うカメラの映像を合成して連続した映像を生成するシステム、３次元映像再生を行うシステムにも本発明を適用することができる。
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４８】
１０…通信システム、２００Ａ〜２００Ｄ…カメラ、３００…サーバ装置、３０１…通信部、３０２…セグメント情報格納部、３０３…ＭＰＤ生成部、３０４…撮像情報格納部、４００…クライアント装置、５００…ネットワーク
【図１】
0006669403.tif 000002
【図２】
0006669403.tif 000003
【図３】
0006669403.tif 000004
【図４】
0006669403.tif 000005
【図５】
0006669403.tif 000006
【図６】
0006669403.tif 000007
【図７】
0006669403.tif 000008
【図８】
0006669403.tif 000009