(57)【要約】【課題】処理負荷を小さく抑えながらメディアデータを配信する技術を確立すること。【解決手段】情報処理装置は、映像データに関する情報が記述される第１のデータを取得し、視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値が第１のデータに記述されているかを判定し、判定の結果と第１のデータとに基づいて、映像データを含んだ第２のデータを取得し、その第２のデータに含まれる映像データの再生制御を行う。【選択図】図６
2019062390.tif 000002
【特許請求の範囲】
【請求項１】
映像データに関する情報が記述される第１のデータと、映像データを含んだ第２のデータと、を取得する取得手段と、
視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値が前記第１のデータに記述されているかを判定する判定手段と、
前記第２のデータに含まれる映像データの再生制御を行う制御手段と、
を有し、
前記取得手段は、前記判定手段における判定の結果と前記第１のデータとに基づいて、前記第２のデータを取得する、
ことを特徴とする情報処理装置。
【請求項２】
前記取得手段は、前記情報処理装置が前記仮想視点映像の再生に対応しており、かつ、前記所定の値が前記第１のデータに記述されている場合に、当該第１のデータに含まれる情報に対応する仮想視点映像データを含んだ前記第２のデータを取得する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１のデータは、前記所定の値と共に、さらに、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかに関する範囲の情報を含み、
前記制御手段は、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかが前記範囲に含まれない値に設定されないように前記再生制御を行う、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１のデータは、前記所定の値と共に、さらに、前記仮想視点映像の分割された部分空間のそれぞれについての、当該部分空間を特定する視点位置と視線方向と焦点位置との少なくともいずれかに関する範囲についての情報を含み、
前記取得手段は、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかの設定に対応する部分空間についての前記情報に基づいて、当該部分空間に関する仮想視点映像データを含んだ前記第２のデータを取得する、
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記第１のデータは、前記所定の値と共に、さらに、時刻ごとの視点位置と視線方向と焦点位置との少なくともいずれかを示す指定情報を含み、
前記制御手段は、前記指定情報に基づいて、前記仮想視点映像を再生する際の時刻ごとの視点位置と視線方向と焦点位置との少なくともいずれかを設定するように前記再生制御を行う、
ことを特徴とする請求項２から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記指定情報を用いるか否かを選択する選択手段をさらに有し、
前記制御手段は、前記選択手段が前記指定情報を用いると選択した場合には前記指定情報に基づいて、前記仮想視点映像を再生する際の時刻ごとの視点位置と視線方向と焦点位置との少なくともいずれかを設定する制御を行い、前記選択手段が前記指定情報を用いないと選択した場合にはユーザ操作に基づいて、前記仮想視点映像を再生する際の視点位置と視線方向と焦点位置との少なくともいずれかを設定するように前記再生制御を行う、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第１のデータは、前記所定の値と共に、さらに、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかの設定が制限される制限範囲の情報を含み、
前記制御手段は、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかが前記制限範囲に含まれる値に設定されないような前記再生制御を行う、
ことを特徴とする請求項２から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記仮想視点映像は、背景データとオブジェクトデータとに基づいて生成され、
前記所定の値は、前記背景データと前記オブジェクトデータとの少なくともいずれかに関する情報が含まれていることを示す、
ことを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１のデータは、ＭＰＥＧ−ＤＡＳＨのＭｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎとして提供される、
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
映像データに関する情報が記述される第１のデータに基づいて映像データを含んだ第２のデータを取得する情報処理装置に、前記第１のデータを提供する情報提供装置であって、
視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値を含んだ前記第１のデータを生成する生成手段と、
前記第１のデータを前記情報処理装置へ提供する提供手段と、
を有することを特徴とする情報提供装置。
【請求項１１】
前記生成手段は、前記所定の値と共に、さらに、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかに関する範囲の情報を含んだ前記第１のデータを生成する、
ことを特徴とする請求項１０に記載の情報提供装置。
【請求項１２】
前記生成手段は、前記所定の値と共に、さらに、前記仮想視点映像の分割された部分空間のそれぞれについての、当該部分空間を特定する視点位置と視線方向と焦点位置との少なくともいずれかに関する範囲についての情報を含んだ前記第１のデータを生成する、
ことを特徴とする請求項１０又は１１に記載の情報提供装置。
【請求項１３】
前記仮想視点映像は、背景データとオブジェクトデータとに基づいて生成され、
前記生成手段は、前記所定の値として、前記背景データと前記オブジェクトデータとの少なくともいずれかに関する情報が含まれていることを示す値を含んだ前記第１のデータを生成する、
ことを特徴とする請求項１０から１２のいずれか１項に記載の情報提供装置。
【請求項１４】
前記生成手段は、前記所定の値と共に、さらに、時刻ごとの視点位置と視線方向と焦点位置との少なくともいずれかを示す指定情報を含んだ前記第１のデータを生成する、
ことを特徴とする請求項１０から１３のいずれか１項に記載の情報提供装置。
【請求項１５】
前記生成手段は、前記所定の値と共に、さらに、前記仮想視点映像における視点位置と視線方向と焦点位置との少なくともいずれかの設定が制限される制限範囲の情報を含んだ前記第１のデータを生成する、
ことを特徴とする請求項１０から１４のいずれか１項に記載の情報提供装置。
【請求項１６】
前記生成手段は、前記第１のデータとして、ＭＰＥＧ−ＤＡＳＨのＭｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎを生成する、
ことを特徴とする請求項１０から１５のいずれか１項に記載の情報提供装置。
【請求項１７】
情報処理装置の制御方法であって、
映像データに関する情報が記述される第１のデータを取得する工程と、
視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値が前記第１のデータに記述されているかを判定する工程と、
前記判定する工程における判定の結果と前記第１のデータに基づいて映像データを含んだ第２のデータを取得する工程と、
前記第２のデータに含まれる映像データの再生制御を行う工程と、
を有することを特徴とする制御方法。
【請求項１８】
映像データに関する情報が記述される第１のデータに基づいて映像データを含んだ第２のデータを取得する情報処理装置に、前記第１のデータを提供する情報提供装置の制御方法であって、
視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値を含んだ前記第１のデータを生成する生成工程と、
前記第１のデータを前記情報処理装置へ提供する提供工程と、
を有することを特徴とする制御方法。
【請求項１９】
コンピュータに、請求項１７又は１８に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディアデータの配信技術に関する。
【背景技術】
【０００２】
近年、仮想的な視点からコンテンツを視聴することを可能とする仮想視点映像（自由視点映像）技術の検討が進展している。特許文献１には、このような仮想視点映像を生成する手法が記載されている。また、特許文献２には、１つのクライアントＰＣへの多視点映像のストリーミングのために、複数のカメラのそれぞれで撮像された互いに相異なる解像度の複数の映像のいずれを送信するかを選択する処理装置を設けたシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１８７７９７号公報
【特許文献２】特開２０１３−１８３２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献２の技術は、映像配信の際に、複数の視点のそれぞれに対応する複数の処理装置を設けることによって処理負荷が増大しうる点が考慮されていなかった。
【０００５】
本発明は上記課題に鑑みてなされたものであり、処理負荷を小さく抑えながらメディアデータを配信する技術を確立することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る情報処理装置は、映像データに関する情報が記述される第１のデータと、映像データを含んだ第２のデータと、を取得する取得手段と、視点位置と視線方向と焦点位置との少なくともいずれかを設定して視聴可能な仮想視点映像に関する情報が含まれていることを示す所定の値が前記第１のデータに記述されているかを判定する判定手段と、前記第２のデータに含まれる映像データの再生制御を行う制御手段と、を有し、前記取得手段は、前記判定手段における判定の結果と前記第１のデータとに基づいて、前記第２のデータを取得する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、処理負荷を小さく抑えながらメディアデータの配信を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】システムの構成例を示す図である。
【図２】配信される仮想視点映像の構成を説明するための図である。
【図３】仮想視点映像の配信を説明するための図である。
【図４】クライアント及びサーバのハードウェア構成例を示すブロック図である。
【図５】クライアントの機能構成例を示すブロック図である。
【図６】クライアントの処理の流れの第１の例を示すフローチャートである。
【図７】クライアントの処理の流れの第２の例を示すフローチャートである。
【図８】クライアントの処理の流れの第３の例を示すフローチャートである。
【図９】クライアントの処理の流れの第４の例を示すフローチャートである。
【図１０】クライアントの処理の流れの第５の例を示すフローチャートである。
【図１１】サーバの機能構成例を示すブロック図である。
【図１２】サーバの処理の流れの第１の例を示すフローチャートである。
【図１３】サーバの処理の流れの第２の例を示すフローチャートである。
【図１４】サーバの処理の流れの第３の例を示すフローチャートである。
【図１５】サーバの処理の流れの第４の例を示すフローチャートである。
【図１６】サーバの処理の流れの第５の例を示すフローチャートである。
【図１７】ＭＰＤファイルの記述内容の第１の例を示す図である。
【図１８】ＭＰＤファイルの記述内容の第２の例を示す図である。
【図１９】ＭＰＤファイルの記述内容の第３の例を示す図である。
【図２０】ＭＰＤファイルの記述内容の第４の例を示す図である。
【図２１】ＭＰＤファイルの記述内容の第５の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態は、本発明を限定するものではなく、例えば、以下の実施形態の少なくとも一部又は場合によってはその全部の構成や方法のステップが含まれていない場合であっても、本発明の範囲内に属しうる。
【００１０】
（システム構成）
図１に、本実施形態に係る通信システムの構成例を示す。通信システムは、一例において、クライアント１０１及びサーバ１０２を含み、クライアント１０１とサーバ１０２は、ネットワーク１０３を介して接続される。クライアント１０１は、例えば、ＤＴＶ（Ｄｉｇｉｔａｌ  ＴＶ）、ＨＭＤ（ＨｅａｄＭｏｕｎｔ  Ｄｉｓｐｌａｙ）、マルチビューテレビジョン、スマートフォン、タブレット等の表示機能を有する情報処理装置でありうる。クライアント１０１は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等にインストールされたＷｅｂブラウザや、その他のアプリケーションを表す概念であってもよく、すなわち、クライアント１０１は必ずしも装置として実現されなくてもよい。また、クライアント１０１は、例えば投影装置を有するプロジェクタであってもよく、また、複数の投影装置を含んだマルチプロジェクタであってもよい。サーバ１０２は、一例において、デジタルカメラ、デジタルビデオカメラ、ネットワークカメラ、プロジェクタ、携帯電話、スマートフォン、ＰＣ、及びサーバ装置等であり、映像データの送信元のサーバ装置として機能する情報提供装置である。本実施形態では、一例として、サーバ１０２が１台のＰＣであるものとするが、例えばクラウド上で分散して配置された１つ以上の装置によって、サーバ１０２の機能が分散的に実現されてもよい。ネットワーク１０３は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）等の公衆移動体通信網、又はそれらの組み合わせでありうる。ＬＡＮは、例えばＥｔｈｅｒｎｅｔ（登録商標）等の有線ＬＡＮや、ＩＥＥＥ８０２．１１規格シリーズ等の無線ＬＡＮを含んで構成される。ＷＡＮは、例えばインターネットでありうる。なお、クライアント１０１とサーバ１０２は、ネットワーク１０３を介さずに直接接続されてもよい。例えば、クライアント１０１とサーバ１０２は、無線アドホックネットワークを用いて直接通信してもよい。
【００１１】
本実施形態では、サーバ１０２は、視点位置と視線方向と焦点位置との少なくともいずれかを空間上で自由に設定（移動）して視聴可能な仮想視点映像データを符号化した映像データを他の装置へ提供することができる。クライアント１０１は、状況に応じて、その映像データを取得して再生する。ここで、本実施形態では、クライアント１０１の能力や通信状況に応じて、動的に取得するストリームを変更する技術（ＭＰＥＧ−ＤＡＳＨやＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇなど）が用いられるものとする。なお、ＭＰＥＧ−ＤＡＳＨは、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰの頭字語である。これらの技術では、映像データが細かい時間単位のセグメントに分割され、セグメントを取得するためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）がプレイリストと呼ばれるファイルに記述される。サーバ１０２は、このプレイリストファイルを用意してクライアント１０１に提供し、クライアント１０１は、このファイルを受信すると、初めにこのプレイリストを取得し、プレイリストに記述されている情報を用いて所望の映像データを取得する。プレイリスト中に複数のバージョンの映像データセグメントに対するＵＲＬが記載されることによって、クライアント１０１は、自身の能力や通信環境に応じて、最適なバージョンの映像データセグメントを取得することができる。この場合、サーバ１０２は、プレイリストに関するファイルをクライアント１０１に提供するが、映像データを直接的にクライアント１０１に提供しなくてもよい。すなわち、クライアント１０１は、サーバ１０２から提供された情報に基づいて記述されたＵＲＬにアクセスして、外部の装置から映像データセグメントを取得しうる。なお、以下では、ＭＰＥＧ−ＤＡＳＨで規定されているＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）がプレイリストのファイルとして利用されるものとして説明を行う。なお、ＭＰＥＧ−ＤＡＳＨに代えて、ＨＴＴＰ  ＬｉｖｅｓｔｒｅａｍｉｎｇやＳｍｏｏｔｈ  Ｓｔｒｅａｍｉｎｇなどの、プレイリスト記述を使用する他のプロトコルが用いられてもよい。すなわち、少なくとも、クライアント１０１が映像データに関するプレイリスト等の情報を取得してその情報に基づいて映像データを取得するようなシステムに、以下の議論を適用することができる。
【００１２】
以下では、まず、伝送される仮想視点映像（自由視点映像）データに関する概略的な説明を行い、その後に、装置の構成及び処理の流れの例について説明する。
【００１３】
（伝送される仮想視点映像データの概要）
以下では、本実施形態において伝送される仮想視点映像データについての説明を行う。なお、仮想視点映像の生成自体は従来技術のようにして行われるものとし、以下では、主として、本実施形態において伝送対象となる、仮想視点映像に関するパラメータについて説明を行う。
【００１４】
図２（ａ）に、仮想視点映像における、ユーザの視線方向の移動範囲の一例を示す。ユーザ１１１は、Ｙａｗを示す軸１１２、Ｐｉｔｃｈを示す軸１１３、Ｒｏｌｌを示す軸１１４を中心に、視線を回転させることができる。なお、以下では、ユーザは３つの軸のそれぞれにおいて自由に視線を変更できるものとして説明するが、例えば、映像データの内容や所定の設定等に応じた範囲の限定など、視線の設定可能範囲に制限がかけられてもよい。例えば、Ｒｏｌｌ軸を中心とする視線の回転が許容されないような制限や、ユーザの視点の設定可能範囲を半天球とするような制限が用いられうる。また、３つの軸に対する視点の設定可能範囲が、個別に、又は相互に関連して制限されていてもよい。また、視線の設定可能範囲を示す値は、相対座標によって表現されてもよいし、絶対座標によって表現されてもよい。相対座標が用いられる場合、例えば０．０〜１．０といった値が視線の設定可能範囲として用いられうる。絶対座標が用いられる場合、０〜３６０、または、−１８０〜１８０といった値が視線の設定可能範囲として用いられうる。また、視線方向の移動単位は、固定値であってもよいし、可変値であってもよい。また、視線方向の移動可能な値の一覧が提供されてもよい。
【００１５】
続いて、図２（ｂ）に、仮想視点映像における、ユーザの視点位置の移動範囲の一例を示す。ユーザ１１１は、ｚ軸１２２の方向、ｘ軸１２３の方向、及びｙ軸１２４の方向のそれぞれに、視点位置を移動させることができる。ここで、範囲１２０は、仮想視点映像において、ユーザの視点を移動させることができる範囲を示している。なお、以下の説明では、ユーザの視点を３つの軸のそれぞれに沿って自由に移動させることができるものとして説明するが、例えば映像データの内容や所定の設定に応じて、この移動に制限がかけられてもよい。例えば、ｚ軸方向等の所定の方向に視点の移動ができないようにする制限が行われてもよいし、ｘ、ｙ、ｚのそれぞれの軸に対して移動可能範囲が設定されてもよい。なお、複数の軸に対する移動可能範囲は、例えば、相互に関連して設定されてもよいし、それぞれ個別に設定されてもよい。また、移動可能範囲は、相対座標と絶対座標とのいずれによって表現されてもよい。相対座標が用いられる場合は、例えば０．０〜１．０といった値が移動可能範囲として用いられうる。また、絶対座標が用いられる場合は、例えば所定距離を単位とした数値によって、移動可能範囲が規定されうる。なお、移動可能範囲の値は、例えば、仮想視点映像データに基づいて、ｘ、ｙ、ｚ軸それぞれの方向において独立に又は一定の関係を持って設定されてもよいし、所定の値が用いられてもよい。なお、視点位置の移動単位は、固定値であってもよいし、可変値であってもよい。また、視点位置の移動可能な値の一覧が提供されてもよい。
【００１６】
仮想視点映像では、さらに、焦点位置の範囲が指定されうる。図２（ｃ）は、仮想視点映像における、焦点位置の例を示す図である。ユーザ１１１は、軸１３０のＤｅｐｔｈ方向に対して、焦点位置を移動させることができる。なお、仮想視点映像に対する焦点位置の移動は、ユーザによる自由な焦点の移動を許容してもよいし、位置１３２〜１３４に示されるような位置が、焦点位置を合わせることができる位置として事前に定義されていてもよい。ユーザは、視点位置と視線方向に加えて焦点位置に関する情報の提供を受けることにより、さらに柔軟な仮想視点映像を視聴することができるようになる。このため、焦点位置に関する情報の利用によって、ユーザエクスペリエンスを向上させることができる。
【００１７】
なお、仮想視点映像は、分割された空間領域ごとに符号化されうる。図２（ｄ）に、仮想視点映像の空間２００をユーザの移動範囲の３軸に基づいて複数の領域に分割した例を示す。図２（ｄ）の例では、空間２００が、３×３×３に分割された例を示している。このような分割が行われる場合、ユーザは、自身が必要とする空間領域の映像データだけを取得し、復号と再生とを行うことができる。例えば、ユーザ１１１は、現在視聴中の仮想視点映像における視点位置から、自身が属している領域２０１の映像データのみを取得する。その後、ユーザの視点位置がｘ軸方向に移動して領域２０２に入った場合は、ユーザ１１１は、領域２０２の映像データを取得する。一方、ユーザの視点位置がｚ軸方向に移動して領域２０３に入った場合は、ユーザ１１１は、領域２０３の映像データを取得する。これによれば、仮想視点映像の視聴のために要求されるネットワークの通信帯域が増大することを防ぐことと、復号処理の負荷を軽減することとの少なくともいずれかを達成することができる。
【００１８】
なお、仮想視点映像の空間領域の分割は、図２（ｄ）のように３×３×３の直方体で示される空間への分割に限定されるものではない。例えば、１×２×３や、２×３×２のように、移動方向ごとに異なる数の領域分割が行われてもよい。また、図２（ｄ）の例では３軸それぞれで分割を行っているが、例えば、ｚ軸に沿ったｘｙ平面での分割、ｘ軸に沿ったｙｚ平面での分割、ｙ軸に沿ったｘｚ平面での分割等の１平面のみでの分割等、一部の軸においてのみ分割を行ってもよい。また、図２（ｄ）では、移動方向に対する分割を行っているが、視点方向や焦点位置での分割が、代替的に又は追加的に実行されてもよい。
【００１９】
また、ユーザが視聴したいオブジェクトと背景データのみを取得することによって、仮想視点映像の視聴のために要求されるネットワークの通信帯域の増大の防止や、復号処理の軽減をさらに行うおことができる。図２（ｅ）は、このような処理のために、映像データを背景とオブジェクトとを分離し、それぞれについて符号化を行う場合の例を示している。背景データは、背景２１０と背景に含まれる背景オブジェクト２１１を含み、仮想視点映像の空間内に含まれる１つ以上のオブジェクト２１２及び２１３に関するオブジェクトデータと別個に取り扱われる。クライアント１０１は、オブジェクトデータと背景データとを別個に取得して仮想視点映像を生成する。また、クライアント１０１は、背景映像と、表示したいオブジェクト（例えば着目しているオブジェクト）のみを取得して表示することができる。例えば、背景とオブジェクトを分離して符号化する点群符号化のような技術を適用することができる。
【００２０】
なお、仮想視点映像を提供するシステムでは、ユーザの視点位置の移動範囲を制限することによって、仮想視点映像を生成したコンテンツ作成者の意図通りにコンテンツを視聴させること又はその確率を高め、ユーザエクスペリエンスを向上させることができる。図３（ａ）に、このような移動範囲に制限を付した仮想視点映像（ウィンドウ仮想視点映像。Ｗｉｎｄｏｗｅｄ  ６  Ｄｅｇｒｅｅｓ  ｏｆ  Ｆｒｅｅｄｏｍとも呼ばれる。）の一例を示す。図３（ａ）において、進入禁止範囲３００は、ウィンドウ仮想視点映像において視点位置が進入することを禁止される範囲である。ユーザ１１１の視点位置は、この進入禁止範囲３００へと進入することはできない。オブジェクト３０１は、仮想視点映像において表示対象となるオブジェクトである。領域３０２は、ウィンドウによって切り出される部分を示す。このようなウィンドウ仮想視点映像は、例えば、スマートフォンやタブレット等の表示装置３０３を通じて視聴されうる。表示装置３０３は、領域３０２で切り出された仮想視点映像を、表示領域３０４に表示させることができる。ユーザ１１１は、視点位置を進入禁止範囲３００内に移動させることはできないが、オブジェクト３０１を、進入禁止範囲３００外の自由な方向から視聴することができる。なお、図３（ａ）の例では、進入禁止範囲３００を円柱によって示しているが、これは一例に過ぎず、例えば、直方体や三角柱等の任意の領域指定によって、移動禁止範囲が示されてもよい。なお、ウィンドウ仮想視点映像では、ユーザの視線方向も制限されていてもよい。例えば、図３（ａ）の例において、ユーザの視線方向が常に円錐の中央部へ向くような制限が行われてもよい。
【００２１】
また、ユーザの視点位置や視線方向は、ＴｉｍｅｄＭｅｔａｄａｔａを用いて制御されてもよい。ＴｉｍｅｄＭｅｔａｄａｔａは、例えばクライアント１０１に対してユーザエクスペリエンス向上に有効なメタデータを提供する、ＩＳＯＢａｓｅＭｅｄｉａＦｉｌｅＦｏｒｍａｔで規定されている仕組みである。図３（ｂ）に、サーバ１０２が、視点位置及び視線方向と時刻との関係を示す情報を、ＴｉｍｅｄＭｅｔａｄａｔａで提供した場合の一例を示す。例えば、仮想視点映像において、時刻ｔ０１において地点３１４に存在するオブジェクトが、時刻ｔ０２では、位置３１５に移動しているとする。この場合、ＴｉｍｅｄＭｅｔａｄａｔａによれば、例えば、ユーザが仮想視点映像を推奨視点位置・推奨視線方向で視聴すること可能とさせるようなメタデータが提供される。例えば、時刻ｔ１１では視点位置・視線方向３１０、時刻ｔ１２では視点位置・視線方向３１１、時刻ｔ１３では視点位置・視線方向、時刻ｔ１４では視点位置・視線方向３１３が、推奨視点位置・推奨視線方向の情報として提供される。クライアント１０１は、メタデータに記述のない時刻についてカメラの視点位置及び視線方向を、メタデータに記述された視点位置及び視線方向に基づいて、線形補完やその他の補完方法で求めてもよい。なお、ＴｉｍｅｄＭｅｔａｄａｔａ以外の仕組みによって、推奨視点位置・推奨視線方向が指定されてもよい。また、ＴｉｍｅｄＭｅｔａｄａｔａ等の仕組みによって、視点や視線の移動を禁止するようにすることができる。これにより、時刻ごとにユーザが移動できない範囲等を動的に変更することが可能となる。このように、ＴｉｍｅｄＭｅｔａｄａｔａ等の時刻と視点位置・視線方向との関係を定義するデータにより、ユーザが仮想視点映像において着目すべきオブジェクトを推奨される視点から視聴することができる確率を高めることができる。そして、これにより、ユーザエクスペリエンスを向上させることができる。
【００２２】
なお、ＴｉｍｅｄＭｅｔａｄａｔａによって、視点位置・視線方向に加えて、またはこれらに代えて、焦点情報が提供されてもよい。ＴｉｍｅｄＭｅｔａｄａｔａは、例えば、視点位置、視線方向、焦点位置等のパラメータのうちの１つ以上を指定する指定情報として使用されうる。また、複数のＴｉｍｅｄＭｅｔａｄａｔａが定義されてもよい。例えば、仮想視点映像データ内に、複数の着目すべきオブジェクト（例えば人物等）が存在する場合は、それぞれの人物ごとにＴｉｍｅｄＭｅｔａｄａｔａが定義されうる。
【００２３】
（装置のハードウェア構成）
続いて、クライアント１０１及びサーバ１０２のハードウェア構成例について、図４（ａ）及び図４（ｂ）を用いて説明する。
【００２４】
図４（ａ）は、クライアント１０１のハードウェア構成例を示す図である。クライアント１０１は、例えば、制御部４０１、記憶部４０２、表示部４０３、操作部４０４、復号部４０５、通信部４０６、通信インタフェース４０７、及びシステムバス４０８を有する。
【００２５】
制御部４０１は、例えばシステムバス４０８を通じて他の構成部を制御することによって、クライアント１０１における動作を統括的に制御する。制御部４０１は、例えば、ＣＰＵ（中央処理装置）、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＤＳＰ（デジタルシグナルプロセッサ）等の１つ以上のプロセッサでありうる。記憶部４０２は、各種データを記憶し管理する。記憶部４０２は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）等のメモリや、ハードディスクドライブ等の大容量記憶装置でありうる。表示部４０３は、制御部４０１の制御下で各種表示を行うように構成された、例えば液晶パネルである。操作部４０４は、ユーザからの操作を受け付ける、例えばキーやボタン等のユーザインタフェースである。なお、表示部４０３及び操作部４０４は、例えばタッチパネルによって、１つの装置として構成されてもよい。復号部４０５は、映像データの復号処理を行う。なお、復号部４０５は、専用の回路等によって構成されてもよいが、例えば、制御部４０１が記憶部４０２に記憶されたプログラムを実行することによって、取得されたビデオの復号を行う。通信部４０６は、例えば通信インタフェース４０７を介して、各種通信処理を実行する。通信部４０６は、例えば、変復調回路等の通信用回路を含んで構成される。通信インタフェース４０７は、例えば、Ｅｔｈｅｒｎｅｔ等による有線通信又は無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）や公衆無線通信網等による無線通信のためのインタフェースである。例えば、通信インタフェース４０７が無線通信インタフェースである場合、ＲＦフロントエンドやアンテナを含んで構成され、通信部４０６が生成した信号を無線信号に変換してアンテナを介して送出する。また通信インタフェース４０７が有線通信インタフェースである場合、ケーブル接続のためのコネクタや、例えば光電変換ユニット等を含んで構成されうる。通信部４０６及び通信インタフェース４０７については、サーバ１０２等の他装置と通信可能な形態である限りにおいて、どのようなものが用いられてもよい。また、クライアント１０１は、複数の通信インタフェースを有してもよい。
【００２６】
なお、本実施形態では、表示部４０３がクライアント１０１の１つの構成要素として示されているが、例えば、ＨＤＭＩ（登録商標）などで接続された、ディスプレイやテレビ等の外部の表示装置が用いられてもよい。その場合、クライアント１０１は、例えば表示制御部を有しうる。また、操作部４０４は、ＨＭＤなどのユーザの視点・視線・焦点の操作を検出する装置であってもよいし、外部のジョイスティック、キーボードやマウスなどと接続されユーザ操作の受付を行う操作受付部として機能してもよい。このように、例えば表示部４０３又は操作部４０４は、クライアント１０１の外部機器として提供されてもよく、その場合、クライアント１０１の表示部４０３は表示制御部に、操作部４０４は操作受付部に、それぞれ置き換えられうる。また、クライアント１０１は、内蔵の表示部４０３と操作部４０４に加えて、外部機器による情報表示と操作受付のための表示制御部及び操作受付部を有してもよい。また、上述の他の機能部についても、同様にクライアント１０１の外部装置として設けられてもよく、その場合、クライアント１０１は、それらの外部装置と通信可能に接続され、情報の入力及び出力を行う機能部を有しうる。
【００２７】
図４（ｂ）は、サーバ１０２のハードウェア構成例を示すブロック図である。サーバ１０２は、例えば、制御部４２１、記憶部４２２、表示部４２３、操作部４２４、撮像部４２５、符号化部４２６、通信部４２７、通信インタフェース４２８、及びシステムバス４２９を有する。
【００２８】
制御部４２１は、例えばシステムバス４２９を通じて他の構成部を制御することによって、サーバ１０２における動作を統括的に制御する。制御部４２１は、例えば、ＣＰＵ（中央処理装置）、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＤＳＰ（デジタルシグナルプロセッサ）等の１つ以上のプロセッサでありうる。記憶部４２２は、各種データを記憶し管理する。記憶部４２２は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）等のメモリや、ハードディスクドライブ等の大容量記憶装置でありうる。表示部４２３は、制御部４２１の制御下で各種表示を行うように構成された、例えば液晶パネルである。操作部４２４は、ユーザからの操作を受け付ける、例えばキーやボタンである。なお、表示部４２３及び操作部４２４は、例えばタッチパネルによって、１つの装置として構成されてもよい。撮像部４２５は、映像の撮像を行う。撮像部４２５は、例えばレンズやセンサを含んで構成される。なお、サーバ１０２は、映像の撮像を行わずに、映像データを１つ以上の他の装置から取得してもよい。また、サーバ１０２は、１つ以上の他の装置から取得したデータに基づいて映像データを生成してもよい。また、サーバ１０２は、第１の他の装置が１つ以上の第２の他の装置から取得したデータに基づいて生成した映像データを、第１の他の装置から取得してもよい。符号化部４２６は、映像データの符号化処理を行う。なお、符号化部４２６は、専用の回路等によって構成されてもよいが、例えば、制御部４２１が記憶部４２２に記憶されたプログラムを実行することによって、撮像部４２５で撮像したビデオを符号化するようにしてもよい。なお、サーバ１０２は、符号化部４２６を有さず、他の装置から符号化済みの映像データを取得するように構成されてもよい。また、サーバ１０２は、映像データを取得せず、映像データの所在のみを把握して、その所在に関する情報をクライアント１０１へ通知してもよい。通信部４２７は、通信インタフェース４２８を介して、各種通信処理を実行する。通信部４２７は、例えば、変復調回路等の通信用回路を含んで構成される。通信インタフェース４２８は、有線通信インタフェースまたは無線通信インタフェースであり、例えば通信インタフェース４０７と同様の構成を有する。サーバ１０２は、複数の通信インタフェースを有してもよい。
【００２９】
（クライアント１０１の機能構成）
続いて、クライアント１０１の機能構成について説明する。図５は、クライアント１０１の機能構成例を示すブロック図である。クライアント１０１は、例えば、ＭＰＤ解析部５０１、視点制御部５０２、視線制御部５０３、焦点制御部５０４、符号化方式判定部５０５、復号制御部５０６、表示制御部５０７、ＭＰＤ取得部５０９、及びＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８を有する。また、クライアント１０１は、通信制御部５１０、操作制御部５１１、セグメント取得部５１２、及びセグメント解析部５１３を有する。なお、これらの各機能ブロックは、制御部４０１のＣＰＵ（不図示）がメモリ（不図示）に格納されているソフトウェアプログラムを実行することによって実現されうる。なお、これらの機能ブロックの一部または全部がハードウェアによって実現されてもよい。
【００３０】
ＭＰＤ解析部５０１は、サーバ１０２から取得したＭＰＥＧ−ＤＡＳＨのプレイリストファイルであるＭＰＤ（Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ）ファイルを解析する。このプレイリストには、特定のタイミングで特定のセグメントにアクセスするためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が記述される。また、ＭＰＤ解析部５０１は、ＭＰＤファイルに記載の仮想視点映像データの取得・再生に使用されるメタデータを解析する。
【００３１】
視点制御部５０２は、仮想視点映像の空間内での視点移動に関する制御を実行する。視点制御部５０２は、現在の視点位置と仮想視点映像において視点の移動が可能な範囲を示す情報を保持し、視点位置が仮想視点映像の範囲外や進入禁止範囲に移動しないように制御する。また、視点制御部５０２は、空間領域が分割されている場合、それぞれの空間において視点を移動することが可能な範囲の情報を保持する。
【００３２】
視線制御部５０３は、仮想視点映像の空間内での視線方向、および、視線範囲を制御する。視線制御部５０３は、現在の視線方向と視線範囲及び仮想視点映像における視線範囲の情報を保持し、視線方向や視線範囲が、仮想視点映像の範囲外とならないような制御を実行する。
【００３３】
焦点制御部５０４は、仮想視点映像の空間内での焦点位置を制御する。焦点制御部５０４は、現在の焦点位置と仮想視点映像の焦点位置を移動させることが可能な範囲の情報を保持し、焦点位置が仮想視点映像の範囲外に移動しないような制御を実行する。
【００３４】
符号化方式判定部５０５は、ＭＰＤに記述されている映像データがどのような符号化方式で符号化されているかを判定し、それによってクライアント１０１がその映像データを復号できるかの判定を行う。例えば、符号化方式判定部５０５は、クライアント１０１が取得したＭＰＤに含まれるｃｏｄｅｃｓの値から、そのｃｏｄｅｃｓに対応するＡｄａｐｔａｔｉｏｎＳｅｔ又はＲｅｐｒｅｓｅｎｔａｔｉｏｎに含まれる映像データを復号可能であるかを判定する。
【００３５】
復号制御部５０６は、復号部４０５を制御して、仮想視点映像データの復号を行う。また、復号制御部５０６は、仮想視点映像データに限らず、その他の符号化された映像データを復号しうる。
【００３６】
表示制御部５０７は、視点制御部５０２、視線制御部５０３、および、焦点制御部５０４の制御と、復号制御部５０６による復号後の映像データに基づいて、表示部４０３での仮想視点映像の表示制御を実行する。また、表示制御部５０７は、仮想視点映像の拡大や縮小を含んだズーム処理を実行しうる。
【００３７】
ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、ＭＰＤに含まれるＡｄａｐｔａｔｉｏｎＳｅｔと、各ＡｄａｐｔａｔｉｏｎＳｅｔに含まれるメタデータとを管理する。また、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、再生中のＡｄａｐｔａｔｉｏｎＳｅｔを管理する。
【００３８】
ＭＰＤ取得部５０９は、通信制御部５１０を介して、サーバ１０２から、プレイリストとしてのＭＰＤファイルを取得する。通信制御部５１０は、通信部４０６を制御して、他の装置との通信を実行させる。例えば、通信制御部５１０は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ／ＩＰ等の各種通信プロトコルによる通信の制御を行う。操作制御部５１１は、操作部４０４を制御してユーザからの操作を受け付ける。セグメント取得部５１２は、通信制御部５１０を介して、サーバ１０２からセグメント（映像データ）を取得する。セグメント解析部５１３は、セグメント取得部５１２を介して取得したセグメントを解析する。
【００３９】
（クライアント１０１が実行する処理の流れ）
続いて、クライアント１０１が実行する処理の流れのいくつかの例について説明する。本実施形態では、ＭＰＥＧ−ＤＡＳＨのＭＰＤファイルに含まれる映像データに関する情報が含められ、クライアント１０１は、その情報に基づいて映像再生処理を実行する。例えば、クライアント１０１は、自装置が仮想視点映像の再生に対応しており、かつ、仮想視点映像に関する情報がＭＰＤファイルに含まれている場合には、その情報に基づいて仮想視点映像を再生する。また、クライアント１０１は、自装置が仮想視点映像の再生に対応しておらず、かつ、仮想視点映像に関する情報がＭＰＤファイルに含まれている場合には、その仮想視点映像を取得しない。これによれば、クライアント１０１は、再生ができない映像を取得することがなくなる。このとき、ＭＰＤファイルに、クライアント１０１が再生可能な仮想視点映像データではない映像データの情報が含めることにより、クライアント１０１は、仮想視点映像の再生に対応していない場合であっても、映像の視聴を可能とすることができる。また、ＭＰＤファイルに様々な表示制御用の記述を含めることにより、表示させるべき仮想視点映像の詳細な制御を行うことができる。
【００４０】
＜処理例１−１＞
まず、本処理で用いられるＭＰＤについて図１７を用いて説明した後に、図６を用いてクライアント１０１が実行する処理の流れの例について説明する。
【００４１】
図１７は、仮想視点映像データに対応する記述を含むＭＰＤ１７００を示しており、ＭＰＤ１７００は、一例としてＡｄａｐｔａｔｉｏｎＳｅｔ１７０１、１７０６及び１７０７を含む。ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１は、仮想視点映像データを表すＡｄａｐｔａｔｉｏｎＳｅｔの例であり、その符号化方式を示す情報としてｃｏｄｅｃｓを含む。一例において、このｃｏｄｅｃｓが「６ｄｏｆ＿ｖ＿ｃｏｄｅｃ」である場合、このＡｄａｐｔａｔｉｏｎＳｅｔが仮想視点映像データに関するものであることが特定される。ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６は、ｃｏｄｅｃｓが「ａｖｃ」を含んだ文字列であり、Ｈ．２６４／ＡＶＣで符号化された映像データに対応する。ＡｄａｐｔａｔｉｏｎＳｅｔ１７０７は、ｃｏｄｅｃｓが「ｈｖｃ」を含んだ文字列であり、Ｈ．２６５／ＨＥＶＣで符号化された映像データに対応する。ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６又は１７０７に対応する映像データは、映像を生成する生成者が事前に定めた視点、視線、焦点によって生成された映像が符号化されたデータである。なお、本実施形態では、ＭＰＤは、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１を含み、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６やＡｄａｐｔａｔｉｏｎＳｅｔ１７０７については必ずしも含まなくてもよい。
【００４２】
ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２は、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１に関する補足情報を示す。ここでは、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２は、一例として、ＳｃｈｅｍｅＩｄＵｒｉによって、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が仮想視点映像データを含むＡｄａｐｔａｔｉｏｎＳｅｔであることを記述している。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２のｖａｌｕｅの値によって、仮想視点映像データのメタデータが記述される。ここで、ｓｏｕｒｃｅは、仮想視点映像データの符号化前の映像データを識別するための識別子であり、この値が同じＡｄａｐｔａｔｉｏｎＳｅｔは、同じ映像データを符号化して生成されたデータであることが特定される。ｘ、ｙ、ｚと「＊＿ｏｆｆｓｅｔ」（＊はｘ、ｙ、又は、ｚ）は、仮想視点映像の視点についての範囲を規定する。例えば、ｘ方向における範囲はｘ〜ｘ＋ｘ＿ｏｆｆｓｅｔによって規定される。ｙ方向及びｚ方向についての範囲も、同様にして規定される。同様に、ｙａｗ、ｒｏｌｌ、ｐｉｔｃｈとそれらに対応する「＊＿ｏｆｆｓｅｔ」は、仮想視点映像の視線についての範囲を規定し、ｄｅｐｔｈとｄｅｐｔｈ＿ｏｆｆｓｅｔは、仮想視点映像の焦点についての範囲を規定する。なお、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２のｖａｌｕｅに記述できるメタデータは、これらに限定されない。また、上述の情報の一部が記述されなくてもよい。例えば、ｄｅｐｔｈとｄｅｐｔｈ＿ｏｆｆｓｅｔの値が、ｖａｌｕｅにおいて規定されなくてもよい。また、視点や視線に関する情報が記述されなくてもよい。例えば、視点、視線、焦点のうちの１つ以上が固定されている場合や、制限が設けられない場合に、このような形式でメタデータを記述することができる。また、例えばｖａｌｕｅの値は、ｖａｌｕｅ＝“ｓｏｕｒｃｅ，ｘ，ｙ，ｚ”のように記述されてもよい。この場合、仮想視点映像の視点位置が移動可能な範囲は、ｘｙｚのそれぞれの軸に沿って０〜ｘ、０〜ｙ、０〜ｚのように定義される。また、ｖａｌｕｅの値は、ｖａｌｕｅ＝“ｓｏｕｒｃｅ，６ｄｏｆ＿ｉｄｃ”と記述されてもよい。６ｄｏｆ＿ｉｄｃは、このＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が、仮想視点映像に対応するか否かを表す識別子である。例えば、この値が０の場合は、このＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が仮想視点映像データを含み、この値が１の場合は、このＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が仮想視点映像データを含まないことを意味しうる。このような識別子が用いられる場合、この識別子は、複数のＡｄａｐｔａｔｉｏｎＳｅｔ１７０１、１７０６、及び１７０７のそれぞれに定義される。この場合、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１における６ｄｏｆ＿ｉｄｃの値は１にセットされ、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６及び１７０７における６ｄｏｆ＿ｉｄｃの値は０にセットされる。例えば、同一のｓｏｕｒｃｅとこのような識別子の組み合わせによって、１つの映像データについての仮想視点映像に関するＡｄａｐｔａｔｉｏｎＳｅｔと、仮想視点映像に関しないＡｄａｐｔａｔｉｏｎＳｅｔとを定義することができる。これにより、仮想視点映像形式の符号化に対応していないクライアントであっても、映像を再生することができる機会を増やすことができる。
【００４３】
ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０３は、仮想視点映像データの視点、視線、焦点のそれぞれの単位移動量をベクトルで表している。クライアント１０１は、ｓｃｈｅｍｅＩｄＵｒｉの値によって、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０３が仮想視点映像の単位移動量のベクトルを表していると判定し、ｖａｌｕｅの値によって、各軸での単位移動量の大きさを特定することができる。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０４は、仮想視点映像の初期視点位置、初期視線方向、初期焦点を表している。クライアント１０１は、ｓｃｈｅｍｅＩｄＵｒｉの値によって、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０４が仮想視点映像の初期視点位置、初期視線方向、初期焦点を表していると判定し、ｖａｌｕｅの値によって、その設定値を特定することができる。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０５は、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１の仮想視点映像が、平面視映像（Ｍｏｎｏｓｃｏｐｉｃ）か、立体視映像（Ｓｔｅｒｅｏｓｃｏｐｉｃ）かを表している。クライアント１０１は、ｓｃｈｅｍｅＩｄＵｒｉの値によってＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０５が平面視映像か立体視映像かを示している情報要素であると判定する。そして、クライアント１０１は、ｖａｌｕｅの値によって、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１の仮想視点映像が平面視映像であるか立体視映像であるかを特定する。なお、図１７の例では、立体視映像であることを記述するために「ｓｔｅｒｅｏ」が指定されているが、平面視映像であることを記述するためには「ｍｏｎｏ」という値が指定されうる。なお、「ｓｔｅｒｅｏ」や「ｍｏｎｏ」は値の記述方法の一例であり、例えば０（Ｍｏｎｏｓｏｃｐｉｃ）や１（Ｓｔｅｒｅｏｓｃｏｐｉｃ）等のその他の値が用いられてもよい。
【００４４】
また、上述の各値に対して、説明したものと異なる値や文字列が用いられてもよく、説明したものと異なる解釈が定義されてもよい。例えば、視点のｘ軸における範囲が、「ｘ」と「ｘ＿ｏｆｆｓｅｔ」を用いて、ｘ−ｘ＿ｏｆｆｓｅｔ〜ｘ＋ｘ＿ｏｆｆｓｅｔやｘ−ｘ＿ｏｆｆｓｅｔ〜ｘと特定されるように解釈が規定されてもよい。また、「ｘ０」と「ｘ１」を用いて、ｘ０〜ｘ１の範囲が特定されるような規定がなされてもよい。すなわち、本実施形態で言及するような値がＭＰＤのような記述ファイルにおいて規定される限りにおいて、説明したものと異なる値や解釈が用いられうる。また、記述の順序は、図１７に示す順序に限られない。例えば、視点位置の範囲が「ｘ，ｘ＿ｏｆｆｓｅｔ，ｙ，ｙ＿ｏｆｆｓｅｔ，ｚ，ｚ＿ｏｆｆｓｅｔ」のような順で記述されているが、「ｘ，ｙ，ｚ，ｘ＿ｏｆｆｓｅｔ，ｙ＿ｏｆｆｓｅｔ，ｚ＿ｏｆｆｓｅｔ」のような順など、他の順序で記述されてもよい。
【００４５】
なお、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６やＡｄａｐｔａｔｉｏｎＳｅｔ１７０７にも、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙが定義されうるが、説明を簡単にするため、ここでの説明については省略する。
【００４６】
図６の処理において、まず、ＭＰＤ取得部５０９が、通信制御部５１０を介して、サーバ１０２からＭＰＤファイルを取得する（Ｓ６０１）。そして、ＭＰＤ解析部５０１は、サーバ１０２から取得したＭＰＤファイルを解析する（Ｓ６０２）。Ｓ６０２では、例えば、ＭＰＤ解析部５０１は、ＡｄａｐｔａｔｉｏｎＳｅｔやＲｅｐｒｅｓｅｎｔａｔｉｏｎに含まれるｃｏｄｅｃｓの値を符号化方式判定部５０５へと通知し、符号化方式判定部５０５がこれらの値から符号化方式を判定する。また、ＭＰＤ解析部５０１は、ＡｄａｐｔａｔｉｏｎＳｅｔに含まれるＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙの情報を解析して符号化方式を判断してもよい。そして、符号化方式判定部５０５が、ＭＰＤファイル内に記述されているサーバ１０２により配信される映像データの中に、仮想視点映像データが含まれているか否かを判定する。
【００４７】
図１７の例では、例えば、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１、１７０６及び１７０７に含まれるｃｏｄｅｃｓの値が解析される。この場合、このＡｄａｐｔａｔｉｏｎＳｅｔ１７０１に含まれるｃｏｄｅｃｓの値が「６ｄｏｆ＿ｖ＿ｃｏｄｅｃ」であるため、このＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が仮想視点映像形式で符号化された映像データに関すると判定される。なお、値「６ｄｏｆ＿ｖ＿ｃｏｄｅｃ」は、ＡｄａｐｔａｔｉｏｎＳｅｔが仮想視点映像形式で符号化された映像データに関することを示す値の一例であって、同義の他の値が定義されてもよい。一方、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０６及び１７０７に含まれるｃｏｄｅｃｓの値は、仮想視点映像形式ではない形式（すなわち、ＡＶＣやＨＥＶＣ）で符号化されたことを示している。このため、符号化方式判定部５０５は、これらのＡｄａｐｔａｔｉｏｎＳｅｔについては仮想視点映像に関するものではないと判定する。なお、図１７の例では、例えば、ＡｄａｐｔａｔｉｏｎＳｅｔ内のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙの情報が解析されてもよい。この場合、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１が仮想視点映像形式で符号化された映像データに関するか否かは、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２に含まれるｓｃｈｅｍｅＩｄＵｒｉの値に基づいて判定される。例えば、ｓｃｈｅｍｅＩｄＵｒｉの値が「ｕｒｎ：ｍｐｅｇ：ｄａｓｈ：６ｄｏｆ」である場合に、対応するＡｄａｐｔａｔｉｏｎＳｅｔが仮想視点映像形式で符号化された映像データに関すると判定される。すなわち、図１７の例では、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１は、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２のｓｃｈｅｍｅＩｄＵｒｉの値に基づいて、仮想視点映像形式で符号化された映像データに関すると判定されうる。なお、値「ｕｒｎ：ｍｐｅｇ：ｄａｓｈ：６ｄｏｆ」は、仮想視点映像形式で符号化されていることを示す値の一例であり、同義のｓｃｈｅｍｅＩｄＵｒｉの他の値が定義されてもよい。
【００４８】
ＭＰＤ解析部５０１は、ＭＰＤに付随するその他のメタデータも解析する。例えば、ＭＰＤ解析部５０１は、解像度、ビットレート、フレームレート、仮想視点映像データのメタデータを解析し、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８に保存する。図１７の例では、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１に関するＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２〜１７０５のｖａｌｕｅの値が、仮想視点映像データに係るメタデータとなる。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２は、仮想視点映像データで、視点位置の移動可能範囲、視線方向の移動可能範囲、および、焦点位置の移動可能範囲を表すメタデータである。視点位置の移動可能範囲、視線方向の移動可能範囲、および、焦点位置の移動可能範囲は、それぞれ別個に設定されうる。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０３は、仮想視点映像データを視聴する際の、視点位置の移動ベクトル値、視線方向の移動ベクトル値、焦点位置のベクトル値を表すメタデータである。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０４は、仮想視点映像データを視聴する際の推奨される初期視点位置、初期視点方向、初期焦点位置を表すメタデータである。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０５は、仮想視点映像データが立体視差（ｓｔｅｒｅｏｓｃｏｐｉｃ）可能な映像データであることを表すメタデータである。ＭＰＤ解析部５０１は、ＡｄａｐｔａｔｉｏｎＳｅｔ１７０１に含まれる符号化方式、解像度、ビットレート、フレームレート等のメタデータと、仮想視点映像のメタデータをＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８に保存する。ＭＰＤ解析部５０１は、さらに、ＭＰＤを解析し、仮想視点映像形式以外の形式で符号化された映像データに関する情報をＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８に保存する。例えば、ＡＶＣ、ＨＥＶＣやその他異種の符号化方式で符号化された映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔ１７０６及び１７０７と、そのＡｄａｐｔａｔｉｏｎＳｅｔに含まれているメタデータとが保存される。
【００４９】
符号化方式判定部５０５は、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が管理中のＡｄａｐｔａｔｉｏｎＳｅｔの中に、クライアント１０１が復号可能な形式の仮想視点映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔが含まれているかを判定する（Ｓ６０３）。クライアント１０１は、自装置が復号可能な形式の仮想視点映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔが含まれている場合（Ｓ６０３でＹＥＳ）、取得する仮想視点映像データを決定し、そのメディアデータの取得を開始する（Ｓ６０４）。例えば、クライアント１０１は、仮想視点映像データに対応したＡｄａｐｔａｔｉｏｎＳｅｔに含まれるＲｅｐｒｅｓｅｎｔａｔｉｏｎに記載されたＵＲＬにアクセスして、映像データのセグメントの取得を開始する。また、このとき、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、現在再生中のＡｄａｐｔａｔｉｏｎＳｅｔを管理する。ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、例えば、初期視点位置、初期視線方向、初期焦点情報等の情報がＭＰＤに含まれている場合、それらの情報を視点制御部５０２、視線制御部５０３、焦点制御部５０４のそれぞれに通知しうる。この場合、視点制御部５０２、視線制御部５０３、焦点制御部５０４は、通知された情報に基づいて、例えば初期視点位置、初期視線方向、初期焦点情報をそれぞれ設定することができる。
【００５０】
メディアデータの取得の開始後、操作制御部５１１は、視点位置、視線方向、焦点位置のうちの少なくともいずれかを移動させる操作が行われたか否かの監視を開始する（Ｓ６０５）。操作制御部５１１がこの移動操作を検出しなかった場合（Ｓ６０５でＮＯ）は、クライアント１０１は、処理をＳ６０９に遷移させる。一方、操作制御部５１１は、この移動操作が行われたことを検出した場合（Ｓ６０５でＹＥＳ）、移動後の視点位置又は視線方向又は焦点位置が、仮想視点映像の範囲内に含まれるか否かを判定する（Ｓ６０６）。Ｓ６０６の判定は、視点位置又は視線方向又は焦点位置の移動後の値と、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が管理している仮想視点映像データの範囲を示す情報との比較によって行われる。
【００５１】
操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が仮想視点映像の範囲内に含まれると判定した場合（Ｓ６０６でＹＥＳ）、表示制御部５０７を介して表示部４０３に表示する映像に対して検出された移動操作を反映させる（Ｓ６０７）。例えば、操作制御部５１１は、視点位置の移動操作が検出されていた場合、視点制御部５０２を介して、新しい視点位置を反映させた映像データを表示部４０３に表示させる。また、操作制御部５１１は、視線方向の移動操作が検出されていた場合、視線制御部５０３を介して、新しい視線方向を反映させた映像データを表示部４０３に表示させる。また、操作制御部５１１は、焦点位置の移動操作が検出されていた場合、焦点制御部５０４を介して、新しい焦点位置を反映させた映像データを表示部４０３に表示させる。
【００５２】
一方、操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が仮想視点映像の範囲内に含まれないと判定した場合（Ｓ６０６でＮＯ）、検出された視点位置又は視線方向又は焦点位置の移動に対して制限を課す（Ｓ６０８）。例えば、操作制御部５１１は、検出された移動操作に従って、仮想視点映像の範囲を規定する境界まで視点位置又は視線方向又は焦点位置を移動させるが、それ以上の移動はさせないような制御を行いうる。また、操作制御部５１１は、仮想視点映像の範囲を超えた移動操作については無視してもよい。また、操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が複数の軸方向に跨る場合であって、そのうちいずれかの軸において規定された範囲を超える場合、その軸についての移動のみを制限し、他の軸についての制限を行わなくてもよい。操作制御部５１１がこのような制限を課すことによって、仮想視点映像の視聴可能範囲外の映像がユーザによって視聴されることを防ぐことができる。これにより、想定外の映像データをユーザに提示することがなくなり又は少なくともそのような提示が行われる確率が減少し、ユーザエクスペリエンスの低下を防ぐことができる。さらに、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が管理している情報に基づいて、復号制御部５０６が対応していない仮想視点映像の範囲への移動を復号制御部５０６における復号処理の前に制限することができる。これにより、復号制御部５０６の予期せぬ動作やエラーの発生を防ぐことや、処理負荷を低減することができる。
【００５３】
Ｓ６０７又はＳ６０８の処理の実行後には、処理はＳ６０９へ移行する。
【００５４】
Ｓ６０９では、セグメント取得部５１２が、通信制御部５１０を介して、サーバ１０２から、映像データのセグメントを取得する。セグメント取得部５１２は、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８の管理する情報から、取得すべき映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔを判定し、そのＡｄａｐｔａｔｉｏｎＳｅｔに記述されているＵＲＬにアクセスしてセグメントを取得する。復号制御部５０６は、仮想視点映像データを復号し、操作制御部５１１が有するユーザの視点位置・視線方向・焦点情報に基づいて、復号した映像データを、表示制御部５０７を介して表示部４０３に表示させる（Ｓ６１０）。その後、クライアント１０１は、仮想視点映像の再生を終了するか否かを判定する（Ｓ６１１）。そして、クライアント１０１は、仮想視点映像の再生を終了すると判定した場合（Ｓ６１１でＹＥＳ）は処理を終了し、仮想視点映像の再生を終了しないと判定した場合（Ｓ６１１でＮＯ）は処理をＳ６０５に戻す。
【００５５】
Ｓ６０３において、クライアント１０１は、自装置が復号可能な形式の仮想視点映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔが含まれていない場合（Ｓ６０３でＮＯ）、処理をＳ６１２に遷移させる。Ｓ６１２では、復号制御部５０６は、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８で管理されているＡｄａｐｔａｔｉｏｎＳｅｔの中に、仮想視点映像符号化方式以外の復号可能な映像データがあるか否かを判定する。例えば、復号制御部５０６は、ＡＶＣやＨＥＶＣ等のクライアント１０１において再生可能な符号化方式の映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔが、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８において管理されているかを判定する。クライアント１０１は、自装置が再生可能な符号化方式の映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔが管理されていないと判定した場合（Ｓ６１２でＮＯ）、例えば表示部４０３にエラーを表示させて（Ｓ６１４）、処理を終了する。エラー表示により、例えば、再生しようとしたＭＰＤには再生可能な符号化方式のデータが含まれていないことがユーザに通知される。
【００５６】
一方、クライアント１０１は、自装置が再生可能な符号化方式の映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔが管理されていると判定した場合（Ｓ６１２でＹＥＳ）、そのＡｄａｐｔａｔｉｏｎＳｅｔに対応する映像データを取得する（Ｓ６１３）。例えば、クライアント１０１は、自装置がＨＥＶＣに対応している場合、ＨＥＶＣで符号化された映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔ１７０７に記述されているＵＲＬにアクセスして、対応するセグメントを取得する。また、クライアント１０１は、自装置がＨＥＶＣに対応しておらずＡＶＣに対応している場合、ＡＶＣで符号化された映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔ１７０６に記述されているＵＲＬにアクセスして、セグメントを取得する。これによれば、クライアント１０１は、自装置が仮想視点映像符号化方式に対応していない場合であっても、対応可能な符号化方式で符号化された映像データを取得して再生することにより、ユーザに映像を提供することができる。これにより、映像データが再生されないことによるユーザエクスペリエンスの低下を防ぐことができる。
【００５７】
以上のように、クライアント１０１は、ＭＰＤに従って、自装置が再生可能な映像データ（メディアデータ）を取得する。すなわち、クライアント１０１は、自装置が仮想視点映像の再生に対応しており、ＭＰＤに仮想視点映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔが含まれている場合は、その仮想視点映像データを取得して、仮想視点映像の再生を行う。これにより、クライアント１０１は、仮想視点映像を再生可能な場合に仮想視点映像データを取得することによって、高臨場感の映像をユーザに視聴させることが可能となる。なお、クライアント１０１は、例えばユーザによる設定を受け付けて、仮想視点映像を再生可能であっても、例えばＨＥＶＣで符号化された映像を再生しうる。この場合、クライアント１０１は、再生すべきと設定された映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔがＭＰＤに含まれている場合は、その設定に従って映像データを再生することができる。なお、クライアント１０１は、再生すべきと設定された映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔがＭＰＤに含まれていない場合は、自装置が再生可能な映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔに基づいて、その映像データを取得しうる。これにより、何らかの映像が再生されることとなり、ユーザに映像を提示できない事態が発生することを防ぐこともできる。以上のように、クライアント１０１は、ＭＰＤを確認することで、自装置が確実に再生可能な映像データを取得することができる。
【００５８】
＜処理例１−２＞
図７に、クライアント１０１が実行する処理の流れの第２の例を示す。本処理例では、図２（ｄ）に関して説明したように、仮想視点映像の空間領域が複数に分割される場合の例について説明する。本処理で用いられるＭＰＤの記述例を図１８に示す。以下では、まず、図１８のＭＰＤについて説明した後に、図７の処理の流れについて説明する。なお、図７の処理において、処理例１−１と同様の処理を実行するステップには、図６と共通の参照番号を付してその説明を省略する。
【００５９】
図１８のＭＰＤ１８００は、図２（ｄ）に記載のような空間領域を分割した仮想視点映像に関する情報を記述するＭＰＤである。ＡｄａｐｔａｔｉｏｎＳｅｔ１８０１とＡｄａｐｔａｔｉｏｎＳｅｔ１８０２は、共に仮想視点映像の分割後の部分空間に対応する情報を記述しており、それぞれが相異なる部分空間に対応する。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８０３及び１８０４は、それぞれ、ＡｄａｐｔａｔｉｏｎＳｅｔ１８０１とＡｄａｐｔａｔｉｏｎＳｅｔ１８０２が対応する仮想視点映像の分割後の部分空間に関する情報を記述する。ここで、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８０３は、図１７のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２のｖａｌｕｅの値に所定の値が追加されていることを除き同様であるため、共通する事項については説明を省略する。追加された情報は、「ｔｏｔａｌ＿＊」及び「ｔｏｔａｌ＿＊＿ｏｆｆｓｅｔ」であり、これらの情報は、仮想視点映像の全体の範囲を示している。なお、「＊」は、視点位置を示すｘ、ｙ、ｚ、視線方向を示すｙａｗ、ｒｏｌｌ、ｐｉｔｃｈ、焦点を示すｄｅｐｔｈの各値が挿入される。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８０３は、「ｘ」と「ｘ＿ｏｆｆｓｅｔ」により１つの部分空間の視点位置のｘ軸に関する範囲を示し、「ｔｏｔａｌ＿ｘ」と「ｔｏｔａｌ＿ｘ＿ｏｆｆｓｅｔ」により空間全体の視点位置のｘ軸に関する範囲を示す。この情報によれば、例えば、ｔｏｔａｌ＿ｘ〜ｔｏｔａｌ＿ｘ＋ｔｏｔａｌ＿ｘ＿ｏｆｆｓｅｔが、空間全体のｘ軸の範囲として特定される。ｙ、ｚ、ｙａｗ、ｒｏｌｌ、ｐｉｔｃｈについても同様に範囲が規定される。なお、図１８の例では、移動方向、視線方向、焦点方向のすべてが記述される例を示しているが、これに限られず、移動方向のみ、移動方向と視線方向、移動方向と焦点方向等の一部の情報やそれらの任意の組み合わせのみが記述されてもよい。
【００６０】
なお、ここでのＭＰＤは、ＭＰＤ１８１０のように記述されてもよい。ＭＰＤ１８００では、部分空間と空間全体の範囲を１つのＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８０３によって記述していたが、ＭＰＤ１８１０では、これらを分離して記述している。すなわち、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８１１が部分空間の範囲を記述し、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８１２が空間全体の範囲を記述している。なお、この場合、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１８１１は、図１７のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２と同様となる。以下では、ＭＰＤ１８００が用いられる場合について説明するが、クライアント１０１は、ＭＰＤ１８１０が用いられても、同様の処理を実行することができる。
【００６１】
図７では、Ｓ７０１において、ＭＰＤ解析部５０１が、サーバ１０２から取得したＭＰＤファイルを解析する。ＭＰＤ解析部５０１は、ＭＰＤにおいて記述されている、仮想視点映像データ全体の空間領域情報と、個別のＡｄａｐｔａｔｉｏｎＳｅｔに含まれている仮想視点映像データの領域とを解析する。クライアント１０１は、部分空間に対応するＡｄａｐｔａｔｉｏｎＳｅｔの中から１つを選択して、その選択されたＡｄａｐｔａｔｉｏｎＳｅｔに対応するメディアデータの取得を開始する（Ｓ７０２）。このとき、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、現在再生中の映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔを管理する。これにより、現在再生中の映像データにおける部分空間が管理される。なお、クライアント１０１は、最初に取得するＡｄａｐｔａｔｉｏｎＳｅｔを、例えばＭＰＤに記述された初期視点位置、初期視線方向、初期焦点等を特定する情報に基づいて決定してもよい。初期視点位置、初期視線方向、初期焦点は、例えば図１７のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０４のようにして規定される。
【００６２】
操作制御部５１１は、視点位置又は視線方向又は焦点位置の移動操作が行われたことを検出した場合（Ｓ６０５でＹＥＳ）、その移動後の値が、ＡｄａｐｔａｔｉｏｎＳｅｔで規定された現在再生中の部分空間の範囲内に含まれるかを判定する（Ｓ７０３）。この判定では、視点位置、視線方向、焦点位置それぞれの移動後の値と、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が管理している現在再生中の部分空間に対応するＡｄａｐｔａｔｉｏｎＳｅｔで規定されている移動可能範囲の値とが比較される。操作制御部５１１は、移動後の値が現在再生中の部分空間の範囲内に含まれないと判定した場合（Ｓ７０３でＮＯ）、処理をＳ７０４へ進める。Ｓ７０４では、操作制御部５１１が、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８において管理されている他のＡｄａｐｔａｔｉｏｎＳｅｔで規定される現在再生中の部分空間と異なる他の部分空間の範囲内に、移動後の値が含まれるか否かを判定する。そして、操作制御部５１１は、他の部分空間の範囲内に移動後の値が含まれると判定した場合（Ｓ７０４でＹＥＳ）、再生対象のＡｄａｐｔａｔｉｏｎＳｅｔを、移動後の値を含む部分空間に関するＡｄａｐｔａｔｉｏｎＳｅｔに切り替える（Ｓ７０５）。また、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、再生中として管理するＡｄａｐｔａｔｉｏｎＳｅｔを変更する。
【００６３】
このように、仮想視点映像が複数の部分空間に分割されている状況において、複数のＡｄａｐｔａｔｉｏｎＳｅｔを跨って再生を行うことにより、ユーザによる移動操作に応じて適切な仮想視点映像を行うことが可能となる。また、仮想視点映像が空間的に分割されていることにより、映像データのサイズが小さくなり、また、復号処理の処理負荷を低減することができる。
【００６４】
＜処理例１−３＞
次に、クライアント１０１が実行する処理の第３の例について、図８を用いて説明する。本処理は、図２（ｅ）に関して説明したように、オブジェクトと背景の映像データとが別個に提供される場合の処理に関する。本処理で用いられるＭＰＤの記述例を図１９に示す。以下では、まず、図１９のＭＰＤについて説明した後に、図８の処理の流れについて説明する。なお、図８の処理において、処理例１−１と同様の処理を実行するステップには、図６と共通の参照番号を付してその説明を省略する。
【００６５】
図１９のＭＰＤ１９００は、仮想視点映像を生成するのに用いられる背景データとオブジェクトデータとに関する情報を記述するＭＰＤである。ＡｄａｐｔａｔｉｏｎＳｅｔ１９０１は、背景を符号化した映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔであり、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３は、オブジェクトを符号化した映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔである。ＥｓｓｅｎｔｉａｌＰｒｏｐｅｒｔｙ１９０４は、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０１の背景データに関して、視点、視線、及び焦点についての範囲を示している。背景データは、背景とオブジェクトとを組み合わせて仮想視点映像を生成する場合には必須であるため、ＥｓｓｅｎｔｉａｌＰｒｏｐｅｒｔｙに含まれている。しかしながら、これに限られず、同様の情報がＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙに記述されてもよい。クライアント１０１は、ＥｓｓｅｎｔｉａｌＰｒｏｐｅｒｔｙ１９０４のｓｃｈｅｍｅＩｄＵｒｉの値における「ｂａｃｋｇｒｏｕｎｄ」の文字列から、このＡｄａｐｔａｔｉｏｎＳｅｔ１９０１が背景データに対応すると判定することができる。また、ｖａｌｕｅの値によって、背景データに係るメタデータの値を取得することができる。なお、ここでのｖａｌｕｅの値は、図１７のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２と同様の意義を有する。なお、クライアント１０１は、ｃｏｄｅｃｓの値に「ｂａｃｋｇｒｏｕｎｄ」の文字列が含まれていることによって、このＡｄａｐｔａｔｉｏｎＳｅｔ１９０１が背景データに対応すると判定してもよい。
【００６６】
ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２は、必須のオブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔであり、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０３は、オプションのオブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔである。ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３に含まれるａｓｓｏｃｉａｔｉｏｎＴｙｐｅと、ａｓｓｏｃｉａｔｉｏｎＩＤには、依存先のＡｄａｐｔａｔｉｏｎＳｅｔと依存関係の種類とが定義される。例えば、ａｓｓｏｃｉａｔｉｏｎＴｙｐｅの値が「ｐｃｂｇ」に規定されることにより、背景に依存するオブジェクトであるという依存関係が表される。これによれば、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３は、ａｓｓｏｃｉａｔｉｏｎＴｙｐｅの値が「ｐｃｂｇ」であることから、背景に依存するオブジェクトであることが示される。なお、「ｐｃｂｇ」は、ａｓｓｏｃｉａｔｉｏｎＴｙｐｅを表す一例であり、別の文字列が用いられてもよい。また、ａｓｓｏｃｉａｔｉｏｎＩＤは、依存先のＡｄａｐｔａｔｉｏｎＳｅｔのＡｄａｐｔａｔｉｏｎＳｅｔ  ＩＤを示す。すなわち、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３は、ａｓｓｏｃｉａｔｉｏｎＩＤが「１」であるため、ＡｄａｐｔａｔｉｏｎＳｅｔ  ＩＤが「１」のＡｄａｐｔａｔｉｏｎＳｅｔ１９０１に依存することが特定される。
【００６７】
ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１９０５及び１９０６は、それぞれ、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３に対応するオブジェクトデータに関する情報を記述する。クライアント１０１は、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１９０５及び１９０６に含まれるｓｃｈｅｍｅＩｄＵｒｉによって、ＡｄａｐｔａｔｉｏｎＳｅｔ１９０２及び１９０３が、それぞれ、オブジェクトデータに対応すると判定することができる。また、クライアント１０１は、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１９０５及び１９０６に含まれるｖａｌｕｅの値によって、対応するオブジェクトデータが必須であるか否かを判定しうる。すなわち、クライアント１０１は、ｖａｌｕｅの値に「Ｍａｎｄａｔｏｒｙ」が含まれるＡｄａｐｔａｔｉｏｎＳｅｔ１９０２については、対応するオブジェクトデータが必須であることを特定することができる。一方、クライアント１０１は、ｖａｌｕｅの値に「Ｏｐｔｉｏｎａｌ」が含まれるＡｄａｐｔａｔｉｏｎＳｅｔ１９０３については、対応するオブジェクトデータがオプションであることを特定することができる。なお、ｖａｌｕｅの値のうち、ｘ、ｙ、ｚはオブジェクトの位置を記述する情報であり、ｙａｗ、ｒｏｌｌ、ｐｉｔｃｈはオブジェクトの回転方向を記述する情報である。
【００６８】
図８では、Ｓ８０１において、ＭＰＤ解析部５０１は、サーバ１０２から取得したＭＰＤファイルを解析する。本処理では、ＭＰＤ解析部５０１は、背景データに対応するＡｄａｐｔａｔｉｏｎＳｅｔと、オブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔとを解析する。このとき、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、背景データに対応するＡｄａｐｔａｔｉｏｎＳｅｔの視点位置、視線方向、及び、焦点位置の移動可能範囲を保持する。また、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、このＡｄａｐｔａｔｉｏｎＳｅｔが、背景データに関する情報であることも管理する。ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、さらに、オブジェクトデータに対応するＡｄａｐｔａｔｉｏｎＳｅｔの必須・オプションのフラグ、表示位置、表示方向などのメタデータを管理する。
【００６９】
符号化方式判定部５０５は、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が管理しているＡｄａｐｔａｔｉｏｎＳｅｔに基づいて、復号可能な形式の仮想視点映像データが存在するか否かを判定する（Ｓ８０２）。符号化方式判定部５０５は、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８が復号可能な背景データとオブジェクトデータの両方に関するＡｄａｐｔａｔｉｏｎＳｅｔを管理している場合に、復号可能な形式の仮想視点映像データが存在すると判定する。なお、符号化方式判定部５０５は、背景データのＡｄａｐｔａｔｉｏｎＳｅｔが管理されていなくても、オブジェクトデータのＡｄａｐｔａｔｉｏｎＳｅｔが管理されている場合には、復号可能な形式の仮想視点映像データが存在すると判定してもよい。クライアント１０１は、復号可能な形式の仮想視点映像データが存在すると判定した場合（Ｓ８０２でＹＥＳ）、取得するＡｄａｐｔａｔｉｏｎＳｅｔを特定し、メディアデータ（背景データ及びオブジェクトデータ）の取得を開始する（Ｓ８０３）。なお、クライアント１０１は、オブジェクトデータについては、必須フラグが設定されているＡｄａｐｔａｔｉｏｎＳｅｔに対応するオブジェクトデータのみを取得してもよいし、オプションのオブジェクトデータをも取得してもよい。このとき、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、クライアント１０１が選択したＡｄａｐｔａｔｉｏｎＳｅｔを、すなわち、再生中の背景データ及びオブジェクトデータにそれぞれ対応するＡｄａｐｔａｔｉｏｎＳｅｔを管理する。
【００７０】
メディアデータの取得が開始されると、操作制御部５１１は、ユーザの視点位置、視線方向、焦点位置の変更、または、表示（取得）する背景・オブジェクトの変更等に関するユーザ入力があったか否かの監視を継続的に行う（Ｓ８０４）。そして、操作制御部５１１は、ユーザ入力があったと判定した場合（Ｓ８０４でＹＥＳ）、そのユーザ入力が、表示する背景又はオブジェクトの変更に関するものであるか否かを判定する（Ｓ８０５）。操作制御部５１１は、ユーザ入力が背景又はオブジェクトの変更に関すると判定した場合（Ｓ８０５でＹＥＳ）、再生対象のＡｄａｐｔａｔｉｏｎＳｅｔを、変更後の背景又はオブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔに切り替える（Ｓ８０６）。また、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、再生中として管理するＡｄａｐｔａｔｉｏｎＳｅｔを変更する。また、ユーザ入力によって取得を終了する背景またはオブジェクトがある場合、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、その背景またはオブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔを、再生中としての管理対象から外す。また、ユーザ入力によって、新しく取得する背景またはオブジェクトがある場合、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、その背景またはオブジェクトに対応するＡｄａｐｔａｔｉｏｎＳｅｔを再生中として管理対象とする。
【００７１】
なお、本処理では、復号制御部５０６は、操作制御部５１１が有するユーザの位置・視線方向・焦点情報に基づいて、背景データおよびオブジェクトデータを復号して、仮想視点映像を生成する。そして、復号制御部５０６は、その生成した仮想視点映像を、表示制御部５０７を介して表示部４０３に表示させる（Ｓ８０７）。
【００７２】
このように、背景データとオブジェクトデータとから仮想視点映像を生成して表示させるシステムにおいて、ＡｄａｐｔａｔｉｏｎＳｅｔの記述を用いて仮想視点映像の生成に使用されるデータを特定することができる。これによって、仮想視点映像の生成が可能なクライアント１０１は、仮想視点映像を生成するための背景データとオブジェクトデータを取得して適切な仮想視点映像を表示させることができる。
【００７３】
＜処理例１−４＞
図９に、クライアント１０１が実行する処理の流れの第４の例を示す。本処理は、図３（ａ）に関して説明したような、ユーザの移動範囲に制限のあるＷｉｎｄｏｗｅｄ６ＤｏＦが用いられる場合の処理に関する。本処理で用いられるＭＰＤの記述例を図２０に示す。以下では、まず、図２０のＭＰＤについて説明した後に、図９の処理の流れについて説明する。なお、図９の処理において、処理例１−１と同様の処理を実行するステップには、図６と共通の参照番号を付してその説明を省略する。
【００７４】
図２０のＭＰＤ２０００は、ｗｉｎｄｏｗｅｄ６ＤｏＦに関する情報を記述するＭＰＤである。なお、ＭＰＤ２０００は、視点位置、視線方向、焦点位置の移動制限範囲が静的であり変化しない場合のＭＰＤの例を示している。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２００３は、ＡｄａｐｔａｔｉｏｎＳｅｔ２００１に含まれる、仮想視点映像において移動が制限される範囲（移動制限範囲）を記述している。クライアント１０１は、例えば、ｓｃｈｅｍｅＩｄＵｒｉの値に「ｗｉｎｄｏｗｅｄ＿ａｒｅａ」という文字列が含まれているか否かにより、このＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙが移動制限範囲を記述するか否かを判定することができる。すなわち、クライアント１０１は、ｓｃｈｅｍｅＩｄＵｒｉに「ｗｉｎｄｏｗｅｄ＿ａｒｅａ」という文字列が含まれているＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２００３が移動制限範囲を記述していると判定することができる。なお、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２００３のｖａｌｕｅの記述内容は図１７のＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ１７０２の記述と同様の意義を有する。すなわち、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２００３のｖａｌｕｅは、例えばｘ軸のｘ〜ｘ＋ｘ＿ｏｆｆｓｅｔかつｙ軸のｙ〜ｙ＋ｙ＿ｏｆｆｓｅｔかつｚ軸のｚ〜ｚ＋ｚ＿ｏｆｆｓｅｔで定まる範囲への視点の移動が制限されることを示す。クライアント１０１は、ここで指定される範囲内に視点位置、視線方向、焦点位置を移動させることができない。
【００７５】
ＭＰＤ２０１０は、視点位置、視線方向、焦点位置の移動制限範囲が動的に変化する場合のＭＰＤの例である。ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２０１３は、ＡｄａｐｔａｔｉｏｎＳｅｔ２０１１が移動可能な範囲を含むＴｉｍｅｄＭｅｔａｄａｔａのＡｄａｐｔａｔｉｏｎＳｅｔであることを記述する。クライアント１０１は、ｓｃｈｅｍｅＩｄＵｒｉに文字列「ｌｉｍｉｔｅｄ＿６ｄｏｆ」の文字列が含まれているか否かに応じて、ＡｄａｐｔａｔｉｏｎＳｅｔ２０１１が動的に変化する移動制限範囲を含むか否かを判定することができる。また、ｖａｌｕｅの値によって、移動可能な範囲を記述するＴｉｍｅｄＭｅｔａｄａｔａがＲｅｐｒｅｓｅｎｔａｔｉｏｎ  ｉｄ＝４のＲｅｐｒｅｓｅｎｔａｔｉｏｎ２０１４であることが規定される。ＡｄａｐｔａｔｉｏｎＳｅｔ２０１２は、移動可能な範囲を含むＴｉｍｅｄＭｅｔａｄａｔａを含んだＡｄａｐｔａｔｉｏｎＳｅｔである。ＡｄａｐｔａｔｉｏｎＳｅｔ２０１２は、Ｒｅｐｒｅｓｅｔａｔｉｏｎ２０１４におけるｃｏｄｅｃｓの値により、移動可能な範囲を定義するメタデータを含むと判定することができる。
【００７６】
図９では、Ｓ９０１において、ＭＰＤ解析部５０１は、サーバ１０２から取得したＭＰＤファイルを解析する。ＭＰＤ解析部５０１は、仮想視点映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔから、仮想視点映像の移動可能範囲と移動制限範囲とを特定する。例えば、ＭＰＤ解析部５０１は、ＡｄａｐｔａｔｉｏｎＳｅｔにおいて規定される視点位置、視線方向、焦点位置の移動可能範囲を解析する。また、ＭＰＤ解析部５０１は、ＡｄａｐｔａｔｉｏｎＳｅｔにおいて規定される視点位置、視線方向、焦点位置の移動制限範囲を解析する。ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、解析したメタデータを、ＡｄａｐｔａｔｉｏｎＳｅｔと共に保持して管理する。なお、本処理例では、移動制限範囲が静的な値であるものとするが、これに限られず、動的な移動制限範囲が特定されてもよい。例えば、ＭＰＤ２０１０に記載のＡｄａｐｔａｔｉｏｎＳｅｔ２０１１に関連付けられたＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔ２０１２を解析する。クライアント１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔ２０１２に記載されているセグメントを解析し、移動制限範囲を取得しうる。
【００７７】
そして、操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が、仮想視点映像の範囲内にあるか否かの判定（Ｓ６０６）に加えて、移動制限範囲に含まれるか否かの判定をも実行する（Ｓ９０２）。例えば、操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が、現在再生中の映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔで規定された移動制限範囲に含まれるか否かを判定する。そして、操作制御部５１１は、移動後の視点位置又は視線方向又は焦点位置が、仮想視点映像の範囲外である場合（Ｓ６０６でＮＯ）又は移動制限範囲内である場合（Ｓ９０２でＹＥＳ）に、移動（ユーザの動作）を制限する（Ｓ６０８）。移動後の視点位置又は視線方向又は焦点位置が移動制限範囲内である場合の具体的な移動の制限方法は、移動後の視点位置又は視線方向又は焦点位置が仮想視点映像の範囲外の場合の移動の制限方法と同様である。
【００７８】
このように、クライアント１０１は、ＭＰＤから、仮想視点映像の移動制限範囲を特定することができ、これに応じた表示制御を行うことができる。これによれば、適切な視点位置、視線方向、及び焦点位置を用いて仮想視点映像を表示させることができ、ユーザエクスペリエンスを向上させることができる。
【００７９】
＜処理例１−５＞
図１０に、クライアント１０１が実行する処理の流れの第５の例を示す。本処理は、図３（ｂ）に関して説明したような、サーバ１０２がユーザの視線方向及び移動方向の情報をＴｉｍｅｄＭｅｔａｄａｔａで提供した場合の処理に関する。本処理で用いられるＭＰＤの記述例を図２１に示す。以下では、まず、図２１のＭＰＤについて説明した後に、図１０の処理の流れについて説明する。なお、図１０の処理において、処理例１−１と同様の処理を実行するステップには、図６と共通の参照番号を付してその説明を省略する。
【００８０】
図２１のＭＰＤ２１００は、仮想視点映像のメタデータを含んだＴｉｍｅｄＭｅｔａｄａｔａを含むＭＰＤの一例である。ＡｄａｐｔａｔｉｏｎＳｅｔ２１０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔであり、ＡｄａｐｔａｔｉｏｎＳｅｔ２１０２は、視点位置、視線方向、焦点位置を定義するＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔである。
【００８１】
ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２１０４は、参照するＴｉｍｅｄＭｅｔａｄａｔａのＲｅｐｒｅｓｅｎｔａｔｉｏｎを識別する情報を記述する。クライアント１０１は、例えば、ｓｃｈｅｍｅＩｄＵｒｉの値に文字列「ｄｙｎａｍｉｃ＿６ｄｏｆ」が含まれているか否かを判定する。そして、クライアント１０１は、この判定結果によって、このＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙが、動的に変化する視点位置、視線方向、焦点位置を定義するＴｉｍｅｄＭｅｔａｄａｔａトラックを指示しているかを特定することができる。図２１の例において、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２１０４は、動的に変化する視点位置、視線方向、焦点位置を定義するＴｉｍｅｄＭｅｔａｄａｔａトラックを指示していることが特定される。そして、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙ２１０４のｖａｌｕｅの値が「４，５」であるため、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｉｄが４と５のＲｅｐｒｅｓｅｎｔａｔｉｏｎが参照される。
【００８２】
Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ２１０５は、ＴｉｍｅｄＭｅｔａｄａｔａを含むＲｅｐｒｅｓｅｎｔａｔｉｏｎである。また、このＲｅｐｒｅｓｅｎｔａｔｉｏｎ２０１５のｃｏｄｅｃｓの値は、６ｄｃｃ（６  Ｄｅｇｒｅｅｓ  Ｃａｒｔｅｓｉａｎ  Ｃｏｏｒｄｉｎａｔｅ）である。これにより、このＲｅｐｒｅｓｅｎｔａｔｉｏｎ２１０５に含まれるメディアデータが、仮想視点映像に係るＴｉｍｅｄＭｅｔａｄａｔａであることを特定される。なお、ＴｉｍｅｄＭｅｔａｄａｔａは、視点位置、視線方向、焦点位置を含む。クライアント１０１は、このＴｉｍｅｄＭｅｔａｄａｔａを用いて、視点位置、視線方向、焦点位置を決定しうる。また、クライアント１０１は、ＴｉｍｅｄＭｅｔａｄａｔａで規定される視点位置、視線方向、焦点位置のうちのいずれか１つまたは複数を使用してもよい。これにより、クライアント１０１は、サーバ１０２のコンテンツ作成者が意図した視点位置、視線方向、焦点位置において、仮想視点映像をユーザに視聴させるような再生制御を行うことが可能となる。なお、図２１のＭＰＤにおけるｓｃｈｅｍｅＩｄＵｒｉの値は一例であり、別の識別子が用いられてもよい。また、上述のメタデータと同義のメタデータである限りにおいて、ＳｕｐｐｌｅｍｅｎｔａｌＰｒｏｐｅｒｔｙやＥｓｓｅｎｔｉａｌＰｒｏｐｅｒｔｙ等の仕組み以外の方法でＭＰＤ内部にメタデータを定義してもよい。
【００８３】
図１０では、Ｓ１００１において、ＭＰＤ解析部５０１は、サーバ１０２から取得したＭＰＤファイルを解析する。ここでは、ＭＰＤ解析部５０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔと、ＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔとを解析する。また、ＭＰＤ解析部５０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔと、ＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔとの関連付けの解析も実行する。例えば、ＭＰＤ解析部５０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔに含まれる、視点位置、視線方向、焦点位置の移動可能な範囲を解析する。また、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、解析結果を管理する。また、ＭＰＤ解析部５０１は、仮想視点映像データに関連付けられるべきＴｉｍｅｄＭｅｔａｄａｔａが存在するかを解析する。そして、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、そのようなＴｉｍｅｄＭｅｔａｄａｔａが存在する場合、仮想視点映像データとそのＴｉｍｅｄＭｅｔａｄａｔａとの関係を管理する。さらに、ＭＰＤ解析部５０１は、ＴｉｍｅｄＭｅｔａｄａｔａを含んだＡｄａｐｔａｔｉｏｎＳｅｔ内の、ＴｉｍｅｄＭｅｔａｄａｔａの符号化情報を解析する。ＭＰＤ解析部５０１は、解析した結果をＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８に管理させる。
【００８４】
操作制御部５１１は、メディアデータの取得を開始する（Ｓ６０４）と、ＴｉｍｅｄＭｅｔａｄａｔａの値を使用するかを判定する（Ｓ１００２）。操作制御部５１１は、例えばＴｉｍｅｄＭｅｔａｄａｔａに従うか否かを示すユーザ操作に基づいて、ＴｉｍｅｄＭｅｔａｄａｔａを使用するか否かを判定しうる。なお、操作制御部５１１は、例えば視点位置に応じて、ＴｉｍｅｄＭｅｔａｄａｔａを使用するか否かを判定してもよい。この場合、例えば、視点位置が所定範囲に入っている間はＴｉｍｅｄＭｅｔａｄａｔａを使用すると決定されうる。また、操作制御部５１１は、例えばユーザとの契約に応じて、ＴｉｍｅｄＭｅｔａｄａｔａを使用するか否かを判定してもよい。例えば、ユーザが無料で仮想視点映像を視聴する場合には、ＴｉｍｅｄＭｅｔａｄａｔａを使用し、ユーザが有料で仮想視点映像を視聴する場合には、ＴｉｍｅｄＭｅｔａｄａｔａを使用するか否かのユーザの選択を受け付けるようにしてもよい。
【００８５】
操作制御部５１１がＴｉｍｅｄＭｅｔａｄａｔａの値を使用すると判定した場合（Ｓ１００２でＹＥＳ）、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、取得対象のＴｉｍｅｄＭｅｔａｄａｔａを選択する（Ｓ１００３）。ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、例えば、ユーザが着目するオブジェクトに基づいて、取得対象のＴｉｍｅｄＭｅｔａｄａｔａを決定しうる。ここで、ＡｄａｐｔａｔｉｏｎＳｅｔ管理部５０８は、例えば、その時点における視点位置と視線方向に基づいて着目するオブジェクトを特定してもよいし、例えばオブジェクトの選択等の所定のユーザ操作に基づいて着目するオブジェクトを特定してもよい。そして、セグメント取得部５１２は、取得対象として特定されたＴｉｍｅｄＭｅｔａｄａｔａを取得する（Ｓ１００４）。操作制御部５１１は、取得したＴｉｍｅｄＭｅｔａｄａｔａに基づき、視点位置、視線方向、焦点位置の１つまたは全てを、ＴｉｍｅｄＭｅｔａｄａｔａに指定される値に設定する（Ｓ１００５）。
【００８６】
なお、操作制御部５１１がＴｉｍｅｄＭｅｔａｄａｔａの値を使用しないと判定した場合（Ｓ１００２でＮＯ）、ユーザ操作に従って視点位置、視線方向、焦点位置の制御を行う（Ｓ１００６）。例えば、操作制御部５１１は、図６のＳ６０５〜Ｓ６０８の処理を実行しうる。
【００８７】
このように、例えば仮想視点映像の作成者が所定の視点位置、視線方向、焦点位置に従って仮想視点映像をユーザに視聴させたい場合に、ＴｉｍｅｄＭｅｔａｄａｔａを用いてその設定が記述されうる。この結果、クライアント１０１は、その作成者の意図に従って仮想視点映像を表示させることができる。また、例えば、一部の制限されたユーザに対しては特定の視点位置、視線方向、焦点位置による仮想視点映像を視聴させ、制限の付されていないユーザに対しては、自由な視点位置、視線方向、焦点位置により仮想視点映像を視聴させることが可能となる。また、いずれのユーザに対しても、推奨される視点位置、視線方向、焦点位置により仮想視点映像を視聴させることができる。なお、例えば現在の視点位置、視線方向、焦点位置が所定の条件を満たす場合に、図１０の処理を実行するようにしてもよい。すなわち、クライアント１０１は、現在の視点位置、視線方向、焦点位置が所定の条件を満たしていない場合には、図６〜図９のような処理を実行するようにしてもよい。
【００８８】
以上の各処理例のようにして、クライアント１０１は、映像データを取得する前に、ＭＰＤを解析し、自装置で復号できる映像データを取得する。また、映像データが仮想視点映像データである場合、その仮想視点映像をクライアント１０１において再生する際の視点位置、視線方向、焦点位置を、ＭＰＤ内の記述によって制限することができる。これによれば、クライアント１０１が復号できない映像データの復号を試行することや、設定すべきでない視点位置、視線方向、焦点位置を用いることによるエラー等の不都合の発生を防ぐことができる。
【００８９】
（サーバ１０２の機能構成）
続いて、サーバ１０２の機能構成について説明する。図１１は、サーバ１０２の機能構成例を示すブロック図である。サーバ１０２は、例えば、ＭＰＤ生成部１１０１、視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４、符号化方式判定部１１０５、通信制御部１１０６、及びセグメント管理部１１０７を有する。
【００９０】
ＭＰＤ生成部１１０１は、上述の図１７〜図２１に示すようなＭＰＤを生成する。視点移動範囲生成部１１０２は、仮想視点映像における視点位置の移動可能範囲の情報を生成する。視点移動範囲生成部１１０２は、例えば、仮想視点映像データまたは仮想視点映像データのコンテナを解析することにより、視点が移動可能な範囲を取得する。視線移動範囲生成部１１０３は、仮想視点映像における視線方向の移動可能範囲の情報を生成する。視線移動範囲生成部１１０３は、仮想視点映像データまたは仮想視点映像データのコンテナを解析することにより、視線が移動可能な範囲を取得する。焦点移動範囲生成部１１０４は、仮想視点映像における焦点方向の移動可能範囲の情報を生成する。焦点移動範囲生成部１１０４は、仮想視点映像データまたは仮想視点映像データのコンテナを解析することにより、焦点が移動可能な範囲を取得する。視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４によって生成された情報は、ＭＰＤ生成部１１０１によってＭＰＤに記述される。符号化方式判定部１１０５は、映像データの符号化方式を判定する。符号化方式判定部１１０５は、符号化データまたは符号化データのコンテナを解析することにより、例えば、そのデータが仮想視点映像形式で符号化されたデータであるかその他の符号化方式で符号化されたデータであるかを特定する。なお、符号化方式判定部１１０５は、仮想視点映像形式ではない符号化方式で符号化されたデータについて、その符号化方式を詳細に特定しうる。特定した符号化方式の情報は、ＭＰＤ生成部１１０１によってＭＰＤに記述される。
【００９１】
通信制御部１１０６は、通信部４２７を介して通信を制御する。例えば、通信制御部１１０６は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ／ＩＰ等の各種通信プロトコルによる通信の制御を行う。セグメント管理部１１０７は、仮想視点映像形式で符号化された映像データのセグメント、仮想視点映像形式以外の形式で符号化された映像データのセグメント、および、ＴｉｍｅｄＭｅｔａｄａｔａのセグメントを管理する。セグメント管理部１１０７は、セグメントを生成してもよいし、他の装置からセグメントを取得してもよい。
【００９２】
（サーバ１０２が実行する処理の流れ）
続いて、サーバ１０２が実行する処理の流れのいくつかの例について説明する。本実施形態では、サーバ１０２は、映像データに関する情報をＭＰＥＧ−ＤＡＳＨのＭＰＤファイルに含めてクライアント１０１へ送信する。以下では、特に、ＭＰＤファイルの生成に関する処理について説明する。
【００９３】
＜処理例２−１＞
本処理例は、処理例１−１に対応する処理の流れの例であり、図１７のＭＰＤ１７００のようなＭＰＤを生成する際の処理に関する。本処理の流れの例を図１２に示す。
【００９４】
本処理では、まず、セグメント管理部１１０７は、配信に使うセグメントを用意する（Ｓ１２０１）。サーバ１０２は、初期化セグメントとメディアセグメントとを用意する。なお、配信されるセグメントは、サーバ１０２が符号化したデータをセグメント化したものであってもよいし、サーバ１０２以外の装置が生成したものであってもよい。また、サーバ１０２は、必ずしもセグメントを保持する必要はなく、他の装置が保持しているセグメントの所在（例えばＵＲＬ）の情報を用意してもよい。そして、ＭＰＤ生成部１１０１は、ＭＰＤの生成を開始する（Ｓ１２０２）。
【００９５】
ＭＰＤ生成部１１０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔを生成する（Ｓ１２０３）。そして、ＭＰＤ生成部１１０１は、Ｓ１２０３で生成したＡｄａｐｔａｔｉｏｎＳｅｔに対して、対応する仮想視点映像データの符号化方式の情報を記述する（Ｓ１２０４）。例えば、ＭＰＤ生成部１１０１は、符号化方式判定部１１０５がセグメントファイルを解析することによって判定した符号化方式や、外部から入力された符号化方式の情報を、ＡｄａｐｔａｔｉｏｎＳｅｔに記述する。符号化方式の情報は、例えば、ＡｄａｐｔａｔｉｏｎＳｅｔ内のｃｏｄｅｃｓに記述される。
【００９６】
ＭＰＤ生成部１１０１は、Ｓ１２０３で生成したＡｄａｐｔａｔｉｏｎＳｅｔに対して、対応する仮想視点映像における視点位置の移動可能範囲の情報を記述する（Ｓ１２０５）。例えば、ＭＰＤ生成部１１０１は、視点移動範囲生成部１１０２がセグメントファイルを解析することによって判定した視点位置の移動可能範囲や、外部から入力された視点位置の移動可能範囲の情報を、ＡｄａｐｔａｔｉｏｎＳｅｔに記述する。
【００９７】
また、ＭＰＤ生成部１１０１は、Ｓ１２０３で生成したＡｄａｐｔａｔｉｏｎＳｅｔに対して、対応する仮想視点映像における視線方向の移動可能範囲の情報を記述する（Ｓ１２０６）。例えば、ＭＰＤ生成部１１０１は、視線移動範囲生成部１１０３がセグメントファイルを解析することによって判定した視線方向の移動可能範囲や、外部から入力された視線方向の移動可能範囲の情報を、ＡｄａｐｔａｔｉｏｎＳｅｔに記述する。
【００９８】
また、ＭＰＤ生成部１１０１は、Ｓ１２０３で生成したＡｄａｐｔａｔｉｏｎＳｅｔに対して、対応する仮想視点映像における焦点位置の移動可能範囲の情報を記述する（Ｓ１２０７）。例えば、ＭＰＤ生成部１１０１は、焦点移動範囲生成部１１０４がセグメントファイルを解析することによって判定した焦点位置の移動可能範囲や、外部から入力された焦点位置の移動可能範囲の情報を、ＡｄａｐｔａｔｉｏｎＳｅｔに記述する。
【００９９】
なお、Ｓ１２０４〜Ｓ１２０７の処理は、必ずしも図１２に記載の順序で実行されなければならないわけではなく、任意の順序で各処理が実行されうる。また、Ｓ１２０４〜Ｓ１２０７のようにして、符号化方式、視点位置の移動可能範囲、視線方向の移動可能範囲、焦点位置の移動可能範囲が特定された後に、それらを含むようなＡｄａｐｔａｔｉｏｎＳｅｔの生成が行われてもよい。
【０１００】
ＭＰＤ生成部１１０１は、仮想視点映像に対応するＡｄａｐｔａｔｉｏｎＳｅｔの生成を完了した後に、ＭＰＤに仮想視点映像符号化方式と異なる方式で符号化された映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔを含めるか否かを判定する（Ｓ１２０８）。ＭＰＤ生成部１１０１は、仮想視点映像以外の映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔをＭＰＤに含めると判定した場合（Ｓ１２０８でＹＥＳ）、その映像データに関するＡｄａｐｔａｔｉｏｎＳｅｔをＭＰＤに記述する（Ｓ１２０９）。例えば、ＭＰＤ生成部１１０１は、ＡＶＣ、ＨＥＶＣ、又はその他の符号化方式で符号化された映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔをＭＰＤに含めてもよい。このように仮想視点映像符号化方式以外の方式で符号化された映像データに関する情報をＭＰＤに含めることによって、仮想視点映像符号化方式に対応していないＭＰＤの受信者が、そのＭＰＤに従ってコンテンツを再生することができる確率が高くなる。
【０１０１】
その後、ＭＰＤ生成部１１０１は、その他の必要なメタデータをＭＰＤに記述して、ＭＰＤの生成を完了する（Ｓ１２１０）。なお、ここで記述されるＭＰＤについては、本実施形態と直接関係しないため、説明を省略する。
【０１０２】
以上のようにして生成したＭＰＤが送信されることにより、このＭＰＤを受信した装置は、自装置が復号できる映像データを選択して取得することができる。例えば、ＭＰＤを受信した装置は、自装置が仮想視点映像データを復号することができる場合、仮想視点映像データに対応するＡｄａｐｔａｔｉｏｎＳｅｔに含まれるＵＲＬに基づいて、仮想視点映像データを取得することができる。これにより、ＭＰＤを受信した装置において、ＭＰＤによって復号可能と判定された映像データが取得されるため、取得された映像データの復号に失敗する確率を低減することができる。
【０１０３】
＜処理例２−２＞
本処理例は、処理例１−２に対応する処理の流れの例であり、図１８のＭＰＤ１８００やＭＰＤ１８１０のようなＭＰＤを生成する際の処理に関する。本処理の流れの例を図１３に示す。なお、図１３の処理において、処理例２−１と同様の処理を実行するステップには、図１２と共通の参照番号を付してその説明を省略する。
【０１０４】
Ｓ１３０１において、ＭＰＤ生成部１１０１は、複数に分割された領域にそれぞれに対応するＡｄａｐｔａｔｉｏｎＳｅｔを生成する。そして、ＭＰＤ生成部１１０１は、Ｓ１３０１で生成したそれぞれのＡｄａｐｔａｔｉｏｎＳｅｔに対して、仮想視点映像データの符号化方式の情報を記述する（Ｓ１３０２）。Ｓ１３０２の処理は、仮想視点映像における部分空間に対する処理である点でＳ１２０４と異なるが、具体的な処理はＳ１２０４と同様である。
【０１０５】
その後、ＭＰＤ生成部１１０１は、仮想視点映像の全体（分割前の仮想視点映像）における、視点位置、視線方向、焦点位置の移動可能範囲の情報をＳ１３０１で生成したＡｄａｐｔａｔｉｏｎＳｅｔのそれぞれに記述する（Ｓ１３０３〜Ｓ１３０５）。なお、仮想視点映像の全体についての視点位置、視線方向、焦点位置の移動可能範囲の情報は、ＭＰＤに対して１つのみ記述されてもよい。この場合、例えば、仮想視点映像の全体についての視点位置、視線方向、焦点位置の移動可能範囲の情報を記述するＡｄａｐｔａｔｉｏｎＳｅｔが生成されうる。そして、Ｓ１３０１で生成したＡｄａｐｔａｔｉｏｎＳｅｔの中に、仮想視点映像の全体についての視点位置、視線方向、焦点位置の情報を記述するＡｄａｐｔａｔｉｏｎＳｅｔへのポインタが含められうる。なお、視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４は、仮想視点映像の全部分空間に関するセグメントを解析して仮想視点映像の全体についての視点位置、視線方向、焦点位置の移動可能範囲を特定しうる。また、視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４は、仮想視点映像の全体についての視点位置、視線方向、焦点位置の移動可能範囲の情報を外部の装置から取得してもよい。
【０１０６】
さらに、ＭＰＤ生成部１１０１は、Ｓ１３０１で生成した各ＡｄａｐｔａｔｉｏｎＳｅｔに、対応する仮想視点映像の部分空間についての視点位置、視線方向、焦点位置の移動可能範囲の情報を記述する（Ｓ１３０６〜Ｓ１３０８）。なお、視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４は、仮想視点映像の各部分空間に関するセグメントを解析して、その部分空間についての視点位置、視線方向、焦点位置の移動可能範囲を特定しうる。視点移動範囲生成部１１０２、視線移動範囲生成部１１０３、焦点移動範囲生成部１１０４は、各部分空間についての視点位置、視線方向、焦点位置の移動可能範囲を外部の装置から取得してもよい。
【０１０７】
なお、Ｓ１３０２〜Ｓ１３０８の処理は、必ずしも図１３に記載の順序で実行されなければならないわけではなく、任意の順序で各処理が実行されうる。また、Ｓ１３０２〜Ｓ１３０８のようにして、符号化方式、視点位置の移動可能範囲、視線方向の移動可能範囲、焦点位置の移動可能範囲が特定された後に、それらを含むようなＡｄａｐｔａｔｉｏｎＳｅｔの生成が行われてもよい。
【０１０８】
このように、仮想視点映像が複数の部分空間に分割されている状況において、複数のＡｄａｐｔａｔｉｏｎＳｅｔによって各部分空間の情報を記述することにより、ＭＰＤを受信した装置に、全空間についての仮想視点映像を一度に取得させる必要がなくなる。これによれば、仮想視点映像が空間的に分割されていることにより、映像データのサイズが小さくなるため、ＭＰＤを受信した装置における復号処理の処理負荷を低減することができる。
【０１０９】
＜処理例２−３＞
本処理例は、処理例１−３に対応する処理の流れの例であり、図１９のＭＰＤ１９００のようなＭＰＤを生成する際の処理に関する。本処理の流れの例を図１４に示す。なお、図１４の処理において、処理例２−１と同様の処理を実行するステップには、図１２と共通の参照番号を付してその説明を省略する。
【０１１０】
Ｓ１４０１において、ＭＰＤ生成部１１０１は、仮想視点映像の背景データに対応するＡｄａｐｔａｔｉｏｎＳｅｔを生成する。そして、ＭＰＤ生成部１１０１は、Ｓ１４０１で生成したＡｄａｐｔａｔｉｏｎＳｅｔに対して、対応する背景データの符号化方式の情報を記述する（Ｓ１４０２）。Ｓ１４０２の処理は、仮想視点映像における背景データに対する処理である点でＳ１２０４と異なるが、具体的な処理はＳ１２０４と同様である。
【０１１１】
その後、ＭＰＤ生成部１１０１は、背景データにおける、視点位置及び視線方向の移動可能範囲の情報をＳ１４０１で生成したＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１４０３〜Ｓ１４０４）。Ｓ１４０３〜Ｓ１４０４の処理は、仮想視点映像における背景データに対する処理である点でＳ１２０５〜Ｓ１２０６と異なるが、具体的な処理はＳ１２０５〜Ｓ１２０６と同様である。
【０１１２】
そして、ＭＰＤ生成部１１０１は、仮想視点映像の各オブジェクトデータにそれぞれ対応するＡｄａｐｔａｔｉｏｎＳｅｔを生成する（Ｓ１４０５）。そして、ＭＰＤ生成部１１０１は、各オブジェクトデータについて、仮想視点映像空間におけるオブジェクトの位置を示す情報を、Ｓ１４０５で生成したＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１４０６）。ＭＰＤ生成部１１０１は、オブジェクトの位置を、例えば、セグメントファイルを解析することにより、又は、外部からの入力によって取得しうる。また、ＭＰＤ生成部１１０１は、各オブジェクトデータについて、仮想視点映像空間におけるオブジェクトの向きを示す情報を、Ｓ１４０５で生成したＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１４０７）。ＭＰＤ生成部１１０１は、オブジェクトの向きを、例えば、セグメントファイルを解析することにより、又は、外部からの入力によって取得しうる。また、ＭＰＤ生成部１１０１は、仮想視点映像を生成する際に各オブジェクトが必須であるかオプションであるかをＭＰＤの受信者に判定させるための情報を、各オブジェクトデータに対応するＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１４０８）。さらに、ＭＰＤ生成部１１０１は、各オブジェクトデータについて、背景データに対応するＡｄａｐｔａｔｉｏｎＳｅｔへ依存する関係があることを示す情報を、Ｓ１４０５で生成したＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１４０９）。
【０１１３】
なお、Ｓ１４０１〜Ｓ１４０９の処理は、必ずしも図１４に記載の順序で実行されなければならないわけではなく、任意の順序で各処理が実行されうる。例えば、オブジェクトデータに関するＡｄａｐｔａｔｉｏｎＳｅｔが、背景データに関するＡｄａｐｔａｔｉｏｎＳｅｔより先に生成開始されてもよい。なお、オブジェクトデータに関するＡｄａｐｔａｔｉｏｎＳｅｔには、背景データに関するＡｄａｐｔａｔｉｏｎＳｅｔが生成され次第、その識別情報が依存関係に関する情報として含められうる。
【０１１４】
このように、背景データとオブジェクトデータとから仮想視点映像が生成されるシステムにおいて、仮想視点映像の生成に使用されるデータを特定することを可能とするＭＰＤを生成することができる。これによって、仮想視点映像の生成が可能で、かつ、ＭＰＤを受信した装置は、仮想視点映像を生成するための背景データとオブジェクトデータを取得して適切な仮想視点映像を表示させることができる。
【０１１５】
＜処理例２−４＞
本処理例は、処理例１−４に対応する処理の流れの例であり、図２０のＭＰＤ２０００のようなＭＰＤを生成する際の処理に関する。本処理の流れの例を図１５に示す。なお、図１５の処理において、処理例２−１と同様の処理を実行するステップには、図１２と共通の参照番号を付してその説明を省略する。
【０１１６】
Ｓ１５０１では、ＭＰＤ生成部１１０１は、仮想視点映像における視点位置の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する。ＭＰＤ生成部１１０１は、視点移動範囲生成部１１０２がセグメントファイルを解析することによって又は外部からの入力によって取得した視点位置の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する。また、ＭＰＤ生成部１１０１は、仮想視点映像における視線方向の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１５０２）。ＭＰＤ生成部１１０１は、視線移動範囲生成部１１０３がセグメントファイルを解析することによって又は外部からの入力によって取得した視線方向の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する。さらに、ＭＰＤ生成部１１０１は、仮想視点映像における焦点位置の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する（Ｓ１５０３）。ＭＰＤ生成部１１０１は、焦点移動範囲生成部１１０４がセグメントファイルを解析することによって又は外部からの入力によって取得した視線方向の移動制限範囲の情報をＡｄａｐｔａｔｉｏｎＳｅｔに記述する。
【０１１７】
なお、Ｓ１５０１〜Ｓ１５０３の処理は、必ずしも図１５に記載の順序で実行されなければならないわけではなく、任意の順序で各処理が実行されうる。
【０１１８】
上述のようにして、仮想視点映像の移動制限範囲を特定するＭＰＤが生成されることにより、このＭＰＤを受信した装置が、この記述に応じた仮想視点映像の表示制御を行うことができる。これによれば、適切な視点位置、視線方向、及び焦点位置を用いて仮想視点映像を表示させることができ、ユーザエクスペリエンスを向上させることができる。
【０１１９】
＜処理例２−５＞
本処理例は、処理例１−５に対応する処理の流れの例であり、図２１のＭＰＤ２１００のようなＭＰＤを生成する際の処理に関する。本処理の流れの例を図１６に示す。なお、図１６の処理において、処理例２−１と同様の処理を実行するステップには、図１２と共通の参照番号を付してその説明を省略する。
【０１２０】
Ｓ１６０１において、ＭＰＤ生成部１１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔを生成する。ＴｉｍｅｄＭｅｔａｄａｔａは、Ｓ１２０３で生成されたＡｄａｐｔａｔｉｏｎＳｅｔと異なるＡｄａｐｔａｔｉｏｎＳｅｔに格納されてもよい。また、１つのＡｄａｐｔａｔｉｏｎＳｅｔに、複数のＴｉｍｅｄＭｅｔａｄａｔａが含められてもよい。なお、１つのＡｄａｐｔａｔｉｏｎＳｅｔに、複数のＴｉｍｅｄＭｅｔａｄａｔａが含まれる場合、それぞれのＴｉｍｅｄＭｅｔａｄａｔａは、相異なるＲｅｐｒｅｓｅｎｔａｔｉｏｎに含められる。
【０１２１】
そして、ＭＰＤ生成部１１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを含んだＡｄａｐｔａｔｉｏｎＳｅｔに対して、ＴｉｍｅｄＭｅｔａｄａｔａの形式を特定させるための値を符号化方式として記述する（Ｓ１６０２）。なお、ここでは、対象のＴｉｍｅｄＭｅｔａｄａｔａが仮想視点映像に係るＴｉｍｅｄＭｅｔａｄａｔａであることを示す値が記述される。ＭＰＤ生成部１１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを解析することにより又は外部の入力により、この形式を判定しうる。なお、ＴｉｍｅｄＭｅｔａｄａｔａの符号化方式の値は、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎにおいて記述されてもよい。
【０１２２】
さらに、ＭＰＤ生成部１１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを含むＡｄａｐｔａｔｉｏｎＳｅｔが依存する先のＡｄａｐｔａｔｉｏｎＳｅｔを依存先として記述する（Ｓ１６１０）。ＭＰＤ生成部１１０１は、ＴｉｍｅｄＭｅｔａｄａｔａを解析することにより又は外部からの入力により、依存先のＡｄａｐｔａｔｉｏｎＳｅｔを判定しうる。
【０１２３】
このように、サーバ１０２は、例えば仮想視点映像の作成者が所定の視点位置、視線方向、焦点位置に従って仮想視点映像をユーザに視聴させたい場合に、ＴｉｍｅｄＭｅｔａｄａｔａを用いてその設定を記述することができる。この結果、このＭＰＤを受信した装置は、その作成者の意図に従って仮想視点映像を表示させることができる。また、例えば、一部の制限されたユーザに対しては特定の視点位置、視線方向、焦点位置による仮想視点映像を視聴させ、制限の付されていないユーザに対しては、自由な視点位置、視線方向、焦点位置により仮想視点映像を視聴させることが可能となる。また、いずれのユーザに対しても、推奨される視点位置、視線方向、焦点位置により仮想視点映像を視聴させることができる。
【０１２４】
以上の各処理例のようにして、サーバ１０２は、映像データとは別に、その映像データに関するＭＰＤを生成して送信する。これにより、このＭＰＤの受信者は、自装置が復号できる映像データを取得し、復号できない映像データについては取得しないことにより、不必要な映像データの取得を行わないようにすることができる。また、ＭＰＤの受信者が、仮想視点映像が存在する場合に、それを確実に認識させることで、仮想視点映像の視聴機会を増やすことができる。映像データが仮想視点映像データである場合、その仮想視点映像を視聴する際の視点位置、視線方向、焦点位置を、ＭＰＤ内の記述によって制限することができる。これによれば、ＭＰＤの受信者が復号できない映像データの復号を試行することや、設定すべきでない視点位置、視線方向、焦点位置を用いることによるエラー等の不都合の発生を防ぐことができる。
【０１２５】
本実施形態では、仮想視点映像に関する情報を含むＭＰＤに、視点位置、視線方向、焦点位置といったメタデータを含めているが、これらの全てが必須ではなく、例えば視点位置のみがメタデータとしてＭＰＤに含められてもよい。また、視点位置、視線方向、焦点位置の１つ以上に加え、別の設定要素がメタデータとして含められてもよい。このように、任意の1つ以上の設定情報をメタデータとして用いることにより、映像データの柔軟な再生制御を行うことが可能となる。
【０１２６】
また、本実施形態では、ＭＰＥＧ−ＤＡＳＨを例に説明をしたが、これに限定されない。例えば、他のプレイリストを有するＨＴＴＰ  Ｌｉｖｅ  ＳｔｒｅａｍｉｎｇやＭｉｃｒｏｓｏｆｔ  Ｓｍｏｏｔｈ  Ｓｔｒｅａｍｉｎｇなどの規格においても上述の議論を適用することができる。すなわち、プレイリスト等の映像データとは異なるデータに仮想視点映像に係るメタデータを記述することによって、上述の処理と同様の処理を行うことができる。
【０１２７】
なお、本実施形態では、プレイリストに仮想視点映像データに関連するメタデータを記述する処理について説明したが、これに限られず、他の方法によって仮想視点映像データに関連するメタデータが提供してもよい。例えば、Ｊａｖａｓｃｒｉｐｔファイル等に仮想視点映像データに関連するメタデータが含められてもよいし、異種のプロトコルを使ってサーバから仮想視点映像データに関連するメタデータが提供されてもよい。これらの方法により、仮想視点映像データの取得に必要となるメタデータが、プレイリストによらずにクライアントに提供されうる。
【０１２８】
また、本実施形態では、サーバが仮想視点映像を符号化して配信する例について説明したが、仮想視点映像データのみならず、その他の符号化方式で符号化された映像データも並行して配信されてもよい。例えば、仮想視点映像データに基づいて、視点・視線の移動を制御して生成した映像が、ＨＥＶＣ、ＡＶＣ、ＶＰ８、ＶＰ９、又は、その他の符号化方式で符号化された映像データが配信されてもよい。これにより、仮想視点映像の符号化に対応していないクライアントであっても、仮想視点映像に対応する動画を再生することが可能となりうる。
【０１２９】
なお、仮想視点映像データの符号化方式は、どのようなものが用いられてもよい。例えば、焦点情報を有する符号化方式であるＬｉｇｈｔＦｉｅｄＣｏｍｐｒｅｓｓｉｏｎやＰｌｅｎｏｐｔｉｃ  Ｉｍａｇｅ  Ｃｏｍｐｒｅｓｓｉｏｎが用いられてもよいし、これらと異なる符号化方式が用いられてもよい。例えば、焦点情報を有しない符号化方式が用いられてもよい。また、本実施形態では、符号化処理が行われた仮想視点映像データは、動画コンテナに格納される。動画コンテナは、例えば、ＩＳＯＢＭＦＦ（ＩＳＯ  Ｂａｓｅ  Ｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ）、ＭＰＥＧ２−ＴＳ、ＷｅｂＭ、又はその他の動画コンテナフォーマットでありうる。また、映像データは、動画コンテナフォーマットに格納される際に、セグメント化によって複数の動画ファイルに分割されうるが、これに限られず、分割されなくてもよい。なお、映像データが分割されない場合、クライアントは、単一の映像データファイルをすべて取得するか、特定の範囲（バイトレンジ）を指定してセグメントを取得する。
【０１３０】
以上のように、サーバ１０２は、ＭＰＤファイルに、仮想視点映像データを識別するためのメタデータを記述する。また、クライアント１０１は、ＭＰＤファイルに記載されている仮想視点映像データに係るメタデータを解析し、解析した結果を管理して、その管理内容に基づいて映像の再生を行う。これにより、クライアント１０１は、自装置が復号できる映像データを取得し、その映像データについての動作の制御を、映像データの解析を行うことなく実行することができる。このため、クライアント１０１は、処理負荷を軽減しながら、サーバ１０２から仮想視点映像データを取得することができる。
【０１３１】
なお、上述の手法は、クライアントに対して映像データに関するが映像データそのものではない第１のデータを提供し、クライアントがその第１のデータに基づいて映像データを含んだ第２のデータを取得するシステムにおいて適用可能である。すなわち、ＭＰＤファイルやその他の任意の形式のファイルが第１のデータとして用いられる場合に、その第１のデータについて上述のような記述手法を用いることができる。なお、映像データに代えて又はこれに追加して、音声データに関しても上述の処理と同様の処理が実行されうる。すなわち、仮想聴点音響等の他のメディアデータにも、上述の手法を適用することができる。
【０１３２】
＜＜その他の実施形態＞＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３３】
１０１：クライアント、１０２：サーバ、５０１：ＭＰＤ解析部、５０２：視点制御部、５０３：視線制御部、５０４：焦点制御部、５０５：符号化方式判定部、５０８：ＡｄａｐｔａｔｉｏｎＳｅｔ管理部、１１０１：ＭＰＤ生成部、１１０２：視点移動範囲生成部、１１０３：視線移動範囲生成部、１１０４：焦点移動範囲生成部
【図１】
2019062390.tif 000003
【図２】
2019062390.tif 000004
【図３】
2019062390.tif 000005
【図４】
2019062390.tif 000006
【図５】
2019062390.tif 000007
【図６】
2019062390.tif 000008
【図７】
2019062390.tif 000009
【図８】
2019062390.tif 000010
【図９】
2019062390.tif 000011
【図１０】
2019062390.tif 000012
【図１１】
2019062390.tif 000013
【図１２】
2019062390.tif 000014
【図１３】
2019062390.tif 000015
【図１４】
2019062390.tif 000016
【図１５】
2019062390.tif 000017
【図１６】
2019062390.tif 000018
【図１７】
2019062390.tif 000019
【図１８】
2019062390.tif 000020
【図１９】
2019062390.tif 000021
【図２０】
2019062390.tif 000022
【図２１】
2019062390.tif 000023