(57)【要約】  本開示は、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。領域情報は、球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する。または、領域情報は、球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する。本技術は、例えば、MPEG-DASHにより全天球映像のネットワーク配信を行う配信システムに適用できる。
2018173875.tif 000002
【特許請求の範囲】
【請求項１】
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
【請求項２】
前記領域情報には、複数の前記頂点を結ぶ規則が導入される
請求項１に記載の情報処理装置。
【請求項３】
前記領域情報には、複数の頂点でカバーされる領域に含まれる代表点がシグナルされる
請求項１に記載の情報処理装置。
【請求項４】
前記領域情報は、拡張されたISOBMFFによりシグナルされる
請求項１に記載の情報処理装置。
【請求項５】
前記領域情報は、tcovによりシグナルされる
請求項１に記載の情報処理装置。
【請求項６】
前記領域情報は、拡張されたDASH MPDによりシグナルされる
請求項１に記載の情報処理装置。
【請求項７】
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理方法。
【請求項８】
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【請求項９】
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
【請求項１０】
前記領域情報には、複数の前記頂点を結ぶ規則が導入され、前記面の数に従ってループを回すことで前記面領域がシグナルされる
請求項９に記載の情報処理装置。
【請求項１１】
前記領域情報には、シグナルされた領域をカバーするか、シグナルされた領域以外をカバーするかを示すフラグが含まれる
請求項９に記載の情報処理装置。
【請求項１２】
前記領域情報は、拡張されたISOBMFFによりシグナルされる
請求項９に記載の情報処理装置。
【請求項１３】
前記領域情報は、tcovによりシグナルされる
請求項９に記載の情報処理装置。
【請求項１４】
前記領域情報は、拡張されたDASH MPDによりシグナルされる
請求項９に記載の情報処理装置。
【請求項１５】
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理方法。
【請求項１６】
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
IPTV（Internet Protocol Television）等のインターネットストリーミングにおける標準化の流れとして、HTTP（Hypertext Transfer Protocol）ストリーミングによるVOD（Video On Demand）ストリーミングや、ライブストリーミングに適用される方式の標準化が行われている。【０００３】
特に、ISO/IEC/MPEGで標準化が行われているMPEG-DASH（Moving Picture Experts Group Dynamic Adaptive Streaming over HTTP)が注目されている（例えば、非特許文献１参照）。【０００４】
また、MPEGでは、VR標準化（MPEG-I: Coded Representation of Immersive media）が進行中している。例えば、全天球映像の視聴に一般的に使用されるHMD（Head Mounted Display）では、一度に表示される映像は360°全てではなく、一部の領域の映像のみとなる。そのため、VRで使用される全天球映像では、表示される一部の領域を表す領域情報をシグナリングする必要がある。また、MPEG-DASHにより全天球映像のネットワーク配信を行う場合、帯域幅に制限があるため、その有効活用を目的としたviewport dependent processingが検討中である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ISO/IEC 23009-1:2012 Information technology Dynamic adaptive streaming over HTTP (DASH)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来、OMAF CD（Omnidirectional Media Application Format Committee Draft）では、CoverageInformationBoxとして球面上領域カバレッジをシグナルしている。しかしながら、従来のOMAF CDでは対応することができないプロジェクションフォーマットがあり、より多様なプロジェクションフォーマットへの対応が求められていた。【０００７】
本開示は、このような状況に鑑みてなされたものであり、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができるようにするものである。
【課題を解決するための手段】
【０００８】
本開示の第１の側面の情報処理装置は、球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する生成部を備える。【０００９】
本開示の第１の側面の情報処理方法またはプログラムは、球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成するステップを含む。【００１０】
本開示の第１の側面においては、球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報が生成される。【００１１】
本開示の第２の側面の情報処理装置は、球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部を備える。【００１２】
本開示の第２の側面の情報処理方法またはプログラムは、球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成するステップを含む。【００１３】
本開示の第２の側面においては、球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報が生成される。
【発明の効果】
【００１４】
本開示の第１および第２の側面によれば、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができる。
【図面の簡単な説明】
【００１５】
【図１】viewport dependent processingについて説明する図である。
【図２】viewport情報を取り扱う球座標系を示す図である。
【図３】MPEGで規定されている領域情報の一例を示す図である。
【図４】shape_typeによる二種類の球面上領域表現を示す図である。
【図５】コンテンツのカバレッジ情報であるcoviの格納場所を示す図である。
【図６】従来のシンタックスでは正確に表現できない例を説明する図である。
【図７】三角形面で構成されるプロジェクションフォーマットの例を示す図である。
【図８】第１の実施の形態による球面上領域のシグナルの第１の例を示す図である。
【図９】第１の実施の形態による球面上領域のシグナルの第２の例を示す図である。
【図１０】立方体の２つの面をシグナルすることの応用例について説明する図である。
【図１１】第１の実施の形態における拡張されたISOBMFFの一例を示す図である。
【図１２】point_yaw/pitchによる表現だけでは、カバレッジが一意に決まらない例を説明する図である。
【図１３】第１の実施の形態におけるパラメータの定義を示す図である。
【図１４】立方体の３面をシグナルする例を示す図である。
【図１５】立方体の３面をシグナルする場合のパラメータを示す図である。
【図１６】八面体の２面をシグナルする例を示す図である。
【図１７】八面体の２面をシグナルする場合のパラメータを示す図である。
【図１８】第２の実施の形態による球面上領域のシグナルの一例を示す図である。
【図１９】第２の実施の形態における拡張されたISOBMFFの一例を示す図である。
【図２０】exclude_flagについて説明する図である。
【図２１】第２の実施の形態におけるパラメータの定義を示す図である。
【図２２】立方体の３面をシグナルする第１の例を示す図である。
【図２３】立方体の３面をシグナルする第２の例を示す図である。
【図２４】八面体の２面をシグナルする例を示す図である。
【図２５】三角形領域表現に限定してシグナルする例を説明する図である。
【図２６】図２５の例におけるRegionOnSphereStructの一例を示す図である。
【図２７】図２５の例におけるパラメータの定義を示す図である。
【図２８】第３の実施の形態における拡張されたISOBMFFでのtcovの第１の記述例を示す図である。
【図２９】図２８の例におけるパラメータの定義を示す図である。
【図３０】第３の実施の形態における拡張されたISOBMFFでのtcovの第２の記述例を示す図である。
【図３１】図３０の例におけるパラメータの定義を示す図である。
【図３２】第３の実施の形態における拡張されたISOBMFFでのtcovの第３の記述例を示す図である。
【図３３】図３２の例におけるパラメータの定義を示す図である。
【図３４】第３の実施の形態における拡張されたISOBMFFでのtcovの第４の記述例を示す図である。
【図３５】図３４の例におけるパラメータの定義を示す図である。
【図３６】第３の実施の形態において、main fraction trackにのみtcovを持つケースについて説明する図である。
【図３７】第３の実施の形態において、すべてのfraction trackにtcovを持つケースについて説明する図である。
【図３８】立方体の６面をシグナルする例を示す図である。
【図３９】第４の実施の形態における拡張されたDASH MPDの第１の例を示す図である。
【図４０】パラメータの定義を示す図である。
【図４１】パラメータの定義を示す図である。
【図４２】第１の実施の形態のシンタックスを使用する際の変形例を説明する図である。
【図４３】パラメータの定義を示す図である。
【図４４】第４の実施の形態における拡張されたDASH MPDの第２の例を示す図である。
【図４５】パラメータの定義を示す図である。
【図４６】パラメータの定義を示す図である。
【図４７】第２の実施の形態のシンタックスを使用する際の変形例を説明する図である。
【図４８】八面体の８面をシグナルする例を示す図である。
【図４９】図４８のシグナルが記述されたMPDの記述例を示す図である。
【図５０】第４の実施の形態の変形例を説明する図である。
【図５１】本技術を適用した配信システムの構成例を示すブロック図である。
【図５２】生成装置の構成例を示すブロック図である。
【図５３】再生装置の構成例を示すブロック図である。
【図５４】ファイル生成処理を説明するフローチャートである。
【図５５】ファイル取得処理を説明するフローチャートである。
【図５６】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１７】
＜従来の全天球映像の領域情報＞
まず、図１乃至図７を参照して、従来の全天球映像の領域情報について説明する。
【００１８】
従来、複数の領域に分割された全天球映像について、クライアントの視点および視野に応じて適切な領域の映像を取得して表示するviewport dependent processingという技術が利用されている。また、viewport dependent processingでは、表示されない領域は取得する必要がない。
【００１９】
例えば、図１には、全天球映像が正距円筒図法により平面的に展開された状態が示されており、その全体が１８の領域に分割され、それぞれの領域が個別のビデオストリームとされている。そして、クライアントの視点および視野に応じた領域が二重線の矩形で示されており、その領域に応じてビデオストリームが取得される。図１の例では、３番、４番、９番、および１０番の領域のビデオストリームが取得され、クライアントの視点および視野に応じた領域の表示に使用される。
【００２０】
また、viewport dependent processingを実現するためには、全天球映像の各領域の位置情報およびサイズ情報をシグナルする必要がある。そして、クライアントは、それらの情報をもとに、viewportに応じたビデオ領域を取得して表示することができる。なお、全天球映像の各領域情報は、球面上の領域情報（球座標系）としてシグナルされる。
【００２１】
例えば、クライアントは、HMDであることが想定される。HMDの内部では、図２に示すような球座標系（yaw，pitch，roll)で、viewport情報が取り扱われるのが一般的であり、座標系を揃えることで処理の簡易化が可能となる。
【００２２】
図３には、MPEGで規定されている領域情報の一例が示されている。
【００２３】
このような領域情報において、例えば、CoverageInformationBoxは、trackに格納される全天球映像が表示される球面上領域の情報をシグナルする。そして、center_yawにより領域中心のyaw角が示され、center_pitchにより領域中心のpitch角が示され、hor_rangeにより水平方向の角度レンジが示され、ver_rangeにより垂直方向の角度レンジが示される。
【００２４】
さらに、図４に示すように、shape_typeにより二種類の球面上の領域表現を行うことができる。
【００２５】
例えば、図４の左側に示すshape_type=0は、four great circlesで囲まれる領域形状により球面上の領域表現を行う。また、図４の右側に示すshape_type=1は、two small two grate circlesで囲まれる領域形状により球面上の領域表現を行う。ここで、great circleは、球の中心と一致する中心を持つ断面の円を表しており、small circleは、それ以外の円を表している。なお、現時点におけるカバレッジ表現としては、shape_type=1のみが運用されている。
【００２６】
図５には、コンテンツのカバレッジ情報であるcoviの格納場所が示されている。
【００２７】
ところで、shape_type＝0は、キューブプロジェクションマッピング（Cube Projection Mapping；CMP）の面領域を１面ずつシグナルすることができ、正距円筒プロジェクション（Equirectangular projection；ERP）の矩形領域をシグナルすることができる。しかしながら、従来、キューブプロジェクションマッピングの２面以上の領域や、これら以外のプロジェクションフォーマットには対応することができていなかった。
【００２８】
例えば、図６の上側において、グレーのハッチングが施されている立方体の２面のカバレッジを表現する場合、現在のシンタックスでは正確に表現することができなかった。例えば、（center_yaw，center_pitch，hor_range，ver_range）＝（45，0，180，90）とシグナルすると、図６の下側において太線で囲われる半球領域となってしまう。そのため、立方体の２面でカバーできる球面上領域が狭くなる。つまり、図６の上側において太線で囲うように、球面の１／３の領域がカバーされるのに対し、図６の下側において太線で囲うように、球面の１／４の領域しかカバーされなくなってしまう。
【００２９】
さらに、従来、図７に示すような三角形面で構成されるプロジェクションフォーマット（OHP：オクタへドロンプロジェクション、ISP：イコサへドロンプロジェクション）の領域表現には対応していなかった。
【００３０】
そこで、従来技術で対応できない、CMPの2面以上の領域や、ERPまたはCMP以外で一般的に使用されており、将来OMAFに採用される可能性のあるプロジェクションフォーマット（OHPまたはISP）の領域表現に対応することが求められていた。さらに、OHPおよびISPのみでなく、多面体を用いるあらゆるプロジェクションフォーマットに対応することも求められていた。
【００３１】
＜ISOBMFFにおけるトラックの領域シグナル方法＞
図８乃至図１７を参照して、本技術の第１の実施の形態として、ISOBMFFにおけるトラックの領域シグナル方法の第１の例について説明する。
【００３２】
第１の実施の形態では、ISOBMFF trackに格納されるコンテンツのカバレッジについて、複数の頂点をyawおよびpitchでシグナルし、頂点どうしを球面上の最短距離で結ぶことで形成される領域で表現する。
【００３３】
例えば、図８には、３つの頂点をシグナルし、その３つの頂点どうしを球面上の最短距離で結ぶことで球面上の領域表現を行う第１の例が示されている。同様に、図９には、６つの頂点をシグナルし、その６つの頂点どうしを球面上の最短距離で結ぶことで球面上の領域表現を行う第２の例が示されている。
【００３４】
このとき、それぞれの頂点を結ぶ球面上の線分はgreat circleの一部となる。また、このようなシグナルにより、図７に示したようなOHPおよびISPだけでなく、その他の多面体に対応するプロジェクションフォーマットが可能となる。
【００３５】
また、図９に示したように、立方体の２つの面をシグナルすることができるため、例えば、クライアントの視点および視野に応じた領域が、立方体の２つの面に跨るような場合でも、効率良くストリーミングすることができる。
【００３６】
ここで、図１０を参照して、立方体の２つの面をシグナルすることの応用例について説明する。
【００３７】
例えば、キューブプロジェクションマッピングにおいて、立方体は、図示するような６つの面Ａ、面Ｂ、面Ｃ、面Ｄ、面Ｅ、および面Ｆにより構成される。
【００３８】
そして、それらの６つの面を２面ごとに３つに分割してファイル化する。即ち、面Ｂおよび面Ｃの２面からなるファイルと、面Ａおよび面Ｃの２面からなるファイルと、面Ｅおよび面Ｆの２面からなるファイルとにファイル化される。このとき、それぞれのファイルでは、上述の図９に示したように、それぞれ２つの面ごとに、coviによる球面上領域にシグナルされる。
【００３９】
ここで、例えば、クライアントの視点および視野に応じた領域が面Ｂおよび面Ｃに跨っている場合、即ち、図１０においてグレーでハッチングされている領域をユーザが見ようとした場合、coviの情報をもとに、面Ｂおよび面Ｃの２面からなるファイルが取得される。
【００４０】
即ち、従来、キューブプロジェクションマッピングの２面以上の領域をシグナルすることができないため、クライアントの視点および視野に応じた領域が面Ｂおよび面Ｃに跨っている場合には、効率良くストリーミングすることができなかった。これに対し、複数の面をシグナルすることができることにより、クライアントの視点および視野に応じた領域が複数の面に跨っていても、それらの面からなるファイルをストリーミングすることで、ストリーミングを効率良く行うことができるようになる。
【００４１】
ところで、複数の頂点をyawおよびpitchでシグナルし、頂点どうしを球面上の最短距離で結ぶことで領域表現を行う場合には、従来よりISOBMFFを拡張する必要がある。
【００４２】
図１１には、拡張されたISOBMFF（CoverageInformationBox）およびArbitraryRegionOnSphereStructの一例が示されている。
【００４３】
図１１に示すISOBMFFでは、shape_type=2が導入されている。例えば、shape_type=2では、各頂点は、i=0とi=1，i=1とi=2，・・・，i=n-1とi＝n，i=nとi=0の規則で、それぞれが球面上の最短距離で結ばれるように定義される。
【００４４】
また、図１１に示すISOBMFF において、covered_yaw，covered_pitchは、カバレッジに含まれる代表点のyaw，pitch（例えば、領域の中心点）を示すように定義される。即ち、covered_yaw/pitchは、point_yaw/pitchで表現される領域の内側の点をシグナルしなければならない。例えば、立方体の３面をカバレッジする場合、point_yaw/pitchによる表現だけでは、カバレッジが一意に決まらないため、covered_yaw/pitchによるシグナルが必要となる。
【００４５】
図１２を参照して、point_yaw/pitchによる表現だけでは、カバレッジが一意に決まらない例について説明する。
【００４６】
図１２に示すように、立方体を３面ごとに分割する場合、手前側の３面からなる形状と奥側の３面からなる形状とに分割される。この場合、それぞれの形状カバレッジをシグナルすると、シグナルされる点は同一になる。従って、これらの２つの形状を区別するためには、covered_yaw/pitchにより方向（手前側の３面、または、奥側の３面）をシグナルする必要ある。
【００４７】
図１３には、このような拡張されたISOBMFFにおけるトラックの領域シグナル方法において使用されるパラメータの定義が示されている。
【００４８】
次に、第１の実施の形態による実際のシグナル例について説明する。
【００４９】
例えば、図１４の下側に示すような座標系に従って、図１４の上側に示すような立方体の手前側の３面をシグナルする場合、図１５に示すようにパラメータが設定される。また、この座標系において、yaw角は、−180°以上、かつ、180°より小さく、pitch角は、−90°以上、かつ、90°以下であり、roll角は、−180°以上、かつ、180°以下とされる。
【００５０】
同様に、図１６に示すような八面体の手前側の２面をシグナルする場合、図１７に示すようにパラメータが設定される。
【００５１】
このように、第１の実施の形態では、拡張されたISOBMFFを用いて、球面上の点をyawおよびpitchでシグナルすることより、実装上扱いやすいというメリットがある。例えば、クライアント側は、自身のviewport情報を方向とfield of view（FoV）とで持つため、そのviewport範囲内に、シグナルされた点で囲まれた領域が含まれるか否かを判別するのは容易である。ところで、第１の実施の形態では、非連続領域のシグナルには対応していない。
【００５２】
なお、第１の実施の形態の変形例として、例えば、shape_typeに替えてflagsを用いてもよい。また、ArbitraryRegionOnSphereStructの中身を、RegionOnSphereStructの中でシグナルし、それらをshape_typeで切り替えてもよい。
【００５３】
＜ISOBMFFにおけるトラックの領域シグナル方法＞
図１８乃至図２７を参照して、本技術の第２の実施の形態として、ISOBMFFにおけるトラックの領域シグナル方法の第２の例について説明する。
【００５４】
第２の実施の形態では、ISOBMFF trackに格納されるコンテンツのカバレッジについて、面ごとにその頂点をyawおよびpitchでシグナルし、頂点どうしを球面上の最短距離で結ぶことで形成される面領域を面の数だけ複数シグナルして表現する。
【００５５】
例えば、図１８には、２つの面ごとに、それらの面の頂点をシグナルし、頂点どうしを球面上の最短距離で結ぶことで形成される面領域となる２つの面をシグナルすることで領域表現を行う例が示されている。
【００５６】
このとき、それぞれの頂点を結ぶ球面上の線分はgreat circleの一部となる。また、このようなシグナルにより、図７に示したようなOHPおよびISPだけでなく、その他の多面体に対応するプロジェクションフォーマットが可能となる。
【００５７】
図１９には、拡張されたISOBMFF（CoverageInformationBox）およびArbitraryRegionOnSphereStructの一例が示されている。
【００５８】
図１１に示すISOBMFFでは、shape_type=2が導入されている。例えば、shape_type=2では、各頂点は、i=0とi=1，i=1とi=2，・・・，i=n-1とi＝n，i=nとi=0の規則で、それぞれが球面上の最短距離で結ばれるように定義される。そして、ISOBMFFに示すように、面の数でfor loopを回すことにより、複数の面からなる領域をシグナルすることができる。
【００５９】
また、図１１に示すISOBMFFでは、exclude_flagが導入されている。exclude_flagが１の場合、シグナルされた領域以外がcoverageとなる。
【００６０】
図２０を参照して、exclude_flagについて説明する。図２０では、立方体の５面分(グレーのハッチングが施されている面以外)のカバレッジシグナルの例が示されている。
【００６１】
例えば、図２０の上側に示すように、exclude_flag＝0の場合には、カバレッジとして５面分の面に応じた２０点のシグナルが必要になる。これに対して、図２０の下側に示すように、exclude_flag=1の場合には、カバレッジから除く１面分の面に応じた４点のシグナルでよい。このように、exclude_flagを使用することで、カバレッジシグナルに必要なビット数の最適化を図ること、即ち、より少ないビット数でカバレッジすることができる。
【００６２】
図２１には、このような拡張されたISOBMFFにおけるトラックの領域シグナル方法において使用されるパラメータの定義が示されている。
【００６３】
次に、第２の実施の形態による実際のシグナル例について説明する。
【００６４】
例えば、図２２には、shape_type=0の場合、即ち、上述の図４の左側に示したような方法で、立方体の３面をシグナルする例が示されている。この場合、図２２の下側に示すようにパラメータが設定される。
【００６５】
図２３には、shape_type=２の場合、即ち、第２の実施の形態で説明した方法で、立方体の３面をシグナルする例が示されている。この場合、図２３の下側に示すようにパラメータが設定される。
【００６６】
図２４には、shape_type=２の場合、即ち、第２の実施の形態で説明した方法で、八面体の手前側の２面をシグナルする例が示されている。この場合、図２４の下側に示すようにパラメータが設定される。
【００６７】
このように、第２の実施の形態では、拡張されたISOBMFFを用いて、球面上の点をyawおよびpitchでシグナルすることより、実装上扱いやすいというメリットがある。例えば、クライアント側は、自身のviewport情報を方向とfield of view（FoV）とで持つため、そのviewport範囲内に、シグナルされた点で囲まれた領域が含まれるか否かを判別するのは容易である。
【００６８】
さらに、第２の実施の形態では、領域を面単位で複数シグナルできるので、非連続領域のシグナルが可能である。また、上述したようにexclude_flagを利用することで、シグナルする頂点数を最適化することができる。ところで、第２の実施の形態では、上述した第１の実施の形態と比較して、頂点情報に重複が生じることがあり、Boxのサイズが増加することがある。
【００６９】
なお、第２の実施の形態の変形例として、shape_typeに替えてflagsを用いてもよい。例えば、ArbitraryRegionOnSphereStrcutの中身を、RegionOnSphereStructの中でシグナルし、shape_typeで切り替えてもよい。また、領域ごとにshape_typeが変わってもよい。
【００７０】
さらに、num_pointsを３に限定することで、shape_type=2を三角形領域の表現のみに用いるようにしてもよい。例えば、第２の実施の形態を、三角形領域の表現に限定した場合、球面上の三角形領域は、図２５に示すように表現することもできる。このとき、classTriangleRegionOnSphereStructは、図２６に示す通りであり、パラメータは、図２７に示すように定義される。
【００７１】
＜ISOBMFFにおけるファイル単位の領域シグナル方法＞
図２８乃至図３８を参照して、本技術の第３の実施の形態として、ISOBMFFにおけるファイル単位の領域シグナル方法について説明する。
【００７２】
第３の実施の形態では、ISOBMFFファイルが格納するコンテンツのトータルカバレッジについて、上述した第１および第２の実施の形態のシグナル方法を用いて表現する。即ち、領域のシグナルは、上述した第１および第２の実施の形態と同様のシンタックス・セマンティクスを用いる。
【００７３】
例えば、従来技術ではtrack単位のカバレッジ情報のみ規定しており、ISOBMFFファイルが複数trackから構成される場合における、全trackをまとめたカバレッジ (=ファイル単位のトータルカバレッジ)はシグナルできなかった。
【００７４】
これに対し、第３の実施の形態では、複数trackから構成されるISOBMFFについて、ファイル単位でのviewport dependent processingが可能となる。
【００７５】
また、第３の実施の形態において、ファイル単位でのトータルカバレッジ情報をシグナルすることで、クライアントはそのファイル再生時に表示可能な領域を容易に取得できる。例えば、全天球すべてをカバーしていない場合に、あらかじめ映像表示できない部分をクライアント独自の映像、もしくはISOBMFFで指定されたデータで埋めておくことができる。
【００７６】
例えば、第３の実施の形態では、tcov（Total Coverage Information Box）は、povd（ProjectedOmnidirectionalVideoBox）の下に配置される。
【００７７】
ここで、以下の説明において、main fraction trackにのみtcovを持つ方式をケース１とする。そして、ケース１において、tcovが、total coverage情報のみ持つ方式をケース１−１とし、tcovが、total coverage情報に加え、全てのfraction track（main含む）のcoverage情報を持つ方式をケース１−２とする。
【００７８】
また、すべてのfraction trackにtcovを持つ方式をケース２とする。そして、ケース２において、tcovが、total coverage情報のみ持つ方式をケース２−１とし、tcovが、total coverage情報に加え、全てのfraction track（main含む）のcoverage情報を持つ方式をケース２−２とする。
【００７９】
このように、それぞれのケースに基づいて、tcovのシンタックスのバリエーションは4種類となる。
【００８０】
例えば、tcovのシンタックスの第１のバリエーションでは、tcovでシグナルされる情報は、total coverage情報のみ持ち、領域シグナル方法は、上述した第１の実施の形態と同一の方法とされる。
【００８１】
従って、tcovのシンタックスの第１のバリエーションでは、図２８に示すようにISOBMFF（CoverageInformationBox）は記述され、ArbitraryRegionOnSphereStructは、上述の図１１（第１の実施の形態）と同一とされる。また、パラメータは図２９に示すように定義される。なお、上述した第１の実施の形態の変形例も含むことができる。
【００８２】
また、tcovのシンタックスの第２のバリエーションでは、tcovでシグナルされる情報は、total coverage情報のみ持ち、領域シグナル方法は、上述した第２の実施の形態と同一の方法とされる。
【００８３】
従って、tcovのシンタックスの第２のバリエーションでは、図３０に示すようにISOBMFF（CoverageInformationBox）は記述され、ArbitraryRegionOnSphereStructは、上述の図１９（第２の実施の形態）と同一とされる。また、パラメータは図３１に示すように定義される。なお、上述した第２の実施の形態の変形例も含むことができる。
【００８４】
また、tcovのシンタックスの第３のバリエーションでは、tcovでシグナルされる情報は、total coverage情報に加え、全てのfraction track（main含む）のcoverage情報を持ち、領域シグナル方法は、上述した第１の実施の形態と同一の方法とされる。
【００８５】
従って、tcovのシンタックスの第３のバリエーションでは、図３２に示すようにISOBMFF（CoverageInformationBox）は記述され、ArbitraryRegionOnSphereStructは、上述の図１１（第１の実施の形態）と同一とされる。また、パラメータは図３３に示すように定義される。なお、上述した第１の実施の形態の変形例も含むことができる。
【００８６】
なお、tcovのシンタックスの第３のバリエーションの変形例として、num_track_partitionは、TotalCoverageInformationBoxを持つ自trackを除いた数を設定し、tp_idで自trackのtrack_idをシグナルしなくてもよい。
【００８７】
また、tcovのシンタックスの第４のバリエーションでは、tcovでシグナルされる情報は、total coverage情報に加え、全てのfraction track（main含む）のcoverage情報を持ち、領域シグナル方法は、上述した第２の実施の形態と同一の方法とされる。
【００８８】
従って、tcovのシンタックスの第４のバリエーションでは、図３４に示すようにISOBMFF（CoverageInformationBox）は記述され、ArbitraryRegionOnSphereStructは、上述の図１９（第２の実施の形態）と同一とされる。また、パラメータは図３５に示すように定義される。なお、上述した第２の実施の形態の変形例も含むことができる。
【００８９】
なお、tcovのシンタックスの第４のバリエーションの変形例として、num_track_partitionは、TotalCoverageInformationBoxを持つ自trackを除いた数を設定し、tp_idで自trackのtrack_idをシグナルしなくてもよい。
【００９０】
図３６を参照して、第３の実施の形態において、main fraction trackにのみtcovを持つケース１について説明する。
【００９１】
例えば、ケース１では、tcovを持つのがmain fraction trackとし、tcovを持たないのがfraction trackとする。そして、main fraction trackはTrack Reference(‘ofrc’)でfraction trackを参照することができ、fraction trackはTrack Reference(‘omfr’)でmain fraction trackを参照することができる。また、main fraction trackにのみTotalCoverageInformationBoxを持つ。
【００９２】
ここで、例えば、tcovがtotal coverage情報のみ持つケース１−１の場合、カバレッジに関して重複する情報がない、シンプルな表現が可能となる。但し、total coverageを取得するために、main fraction trackを参照する必要があり、他のfraction trackのcoverageは、各fraction trackを参照しないと取得できない。
【００９３】
また、例えば、tcovがtotal coverage情報に加え、全てのfraction track（main含む）のcoverage情報を持つケース１−２の場合、fraction trackのcoverageをmain fraction track内で取得できる。但し、total coverageを取得するために、main fraction trackを参照する必要がある。なお、ケース１の変形例として、prfrをmain fraction trackのみに持つようにしてもよい。また、ケース１−２の場合、tref (‘ofrc’)はなくてもよい。
【００９４】
図３７を参照して、第３の実施の形態において、すべてのfraction trackにtcovを持つケース２について説明する。
【００９５】
例えば、ケース２では、main fraction track, fraction trackの区別はない。また、各fraction trackが相互にtrack reference‘omfr’で参照することができる。
【００９６】
ここで、例えば、tcovがtotal coverage情報のみ持つケース２−１の場合、いずれのfraction trackもtotal coverageを有するため、total coverage情報を取得するのが容易である。但し、重複情報を持つためファイルサイズはケース１−１と比較して大きくなり、他のfraction trackのcoverageは、各fraction trackを参照しないと取得できない。
【００９７】
また、例えば、tcovがtotal coverage情報に加え、fraction track（main含む）のcoverage情報を持つケース２−２の場合、total coverage, 各fraction trackのcoverageを一つのfraction track内で取得できる。但し、重複情報を持つためファイルサイズは、ケース１−１、ケース１−２、およびケース２−１のいずれと比較しても大きくなる。なお、ケース２−２の場合、tref (‘omfr’)はなくてもよい。
【００９８】
次に、第３の実施の形態による実際のシグナル例について説明する。
【００９９】
図３８では、ケース２−２で、tcovのシンタックスの第４のバリエーションを用い、各面をregionとして一つずつtrackに格納する。例えば、Region[0]はtrack_id:1とし、Region[1]はtrack_id:2とし、以下同様に、Region[5]はtrack_id:6とする。また、tcovのシグナルは、図３８の下側に示すように記述される。
【０１００】
なお、第３の実施の形態の変形例として、total_full_sphereの代わりに、flagsを用いてもよい。
【０１０１】
＜DASH MPDにおける領域シグナル方法＞
図３９乃至図５０を参照して、本技術の第４の実施の形態として、DASH MPDにおける領域シグナル方法について説明する。
【０１０２】
例えば、DASH MPDにおいて、各Representationがカバーする領域をシグナルすることができる。
【０１０３】
シグナル方法としては、EssentialPropertyまたはSupplementalPropertyを用いることができ、EssentialPropertyはAdaptationSetの下に格納され、SupplementalPropertyはRepresentationの下に格納される。
【０１０４】
例えば、SupplementalPropertyは、このPropertyを理解できないPlayerは、このProperty値を無視して、そのAdaptationSet（もしくはRepresentation, Sub-Representation）を利用してもよい。また、EssentialPropertyは、このPropertyを理解できないPlayerは、このPropertyの書かれているAdaptationSet（もしくはRepresentation, Sub-Representation）を無視しなければならない。
【０１０５】
図３９には、拡張されたDASH MPDの第１の例が示されており、ここでは、上述した第１の実施の形態のシンタックスが使用されている。
【０１０６】
このようなシンタックスにおいて、coverage:arbitrary, totalcoverage:arbitraryの場合、０〜２はmandatoryとなり、３以降はnum_pointsに応じる。また、coverageがシグナルされない場合、カバレッジは360degreeフルを示す。一方、coverageのspatial_set_idがシグナルされる場合で、トータルカバレッジが360degreeフルでなければ、同じspatial_set_idを持つtotal coverageが必須となる。また、CoverageとTotalCoverageを一つのEssentialPropertyまたはSupplementalPropertyにまとめてもよい。
【０１０７】
図４０および図４１には、図３９に示すような拡張されたDASH MPDにおいて使用されるパラメータの定義が示されている。
【０１０８】
なお、上述した第１の実施の形態のシンタックスを使用する際の変形例として、Coverage, TotalCoverageのshape_type=2の場合について、点の数だけ図４２に示すEssentialProperty(coverage:arbitrary, totalcoverage:arbitrary)をシグナルする。このとき、点を結ぶ順番は、EssentialPropertyまたはSupplementalPropertyの記載の順番でもよいし、EssentialPropertyまたはSupplementalProperty内に順番を示すパラメータを持ってもよい。
【０１０９】
また、図４３には、図４２に示すシンタックスで使用されるパラメータの定義が記載されている。
【０１１０】
図４４には、拡張されたDASH MPDの第２の例が示されており、ここでは、上述した第２の実施の形態のシンタックスが使用されている。
【０１１１】
このようなシンタックスにおいて、coverage:arbitrary, totalcoverage:arbitraryの場合、kは2以上であり、２からnum_points-1までとされ、lは、0からnum_regions-1までとされる。
【０１１２】
また、coverageがシグナルされない場合、カバレッジは360degreeフルを示す。一方、coverageのspatial_set_idがシグナルされる場合で、トータルカバレッジが360degreeフルでなければ、同じspatial_set_idを持つtotal coverageが必須となる。また、CoverageとTotalCoverageを一つのEssentialPropertyまたはSupplementalPropertyにまとめてもよい。
【０１１３】
図４５および図４６には、図４４に示すような拡張されたDASH MPDにおいて使用されるパラメータの定義が示されている。
【０１１４】
なお、上述した第２の実施の形態のシンタックスを使用する際の変形例として、領域の数だけ、図４７に示すEssentialPropertyまたはSupplementalPropertyをシグナルする。そして、シグナルされた領域の合計がCoverageまたはTotal Coverageとなる。
【０１１５】
次に、第４の実施の形態による実際のシグナル例について説明する。
【０１１６】
図４８では、上述したように拡張されたDASH MPDにおいて、第２の実施の形態のシンタックスを使用する例が示されている。つまり、図４８の上側に示すように、八面体の８つの面が一つずつregionに分割されている。また、図４８の下側には、各regionのpointのシグナルが示されており、図４９には、そのシグナルが記述されたMPDの記述例が示されている。
【０１１７】
なお、第４の実施の形態の変形例として、shape_type=2の場合のcoverage, total coverageについても、shape_type=0, 1と同じsyntaxを用いて表現してもよい。また、パラメータは、図４６に示したパラメータが用いられる。
【０１１８】
このとき、center_pitch, center_yaw, hor_range, ver_rangeでシグナルされる領域は、実際のコンテンツのカバレッジと一致しなくてよい。ただし、実際のコンテンツカバレッジに包含され、かつ最大の領域がシグナルされる。例えば、図５０に示すように、略三角形の実際のコンテンツカバレッジに包含され、かつ最大の領域となる略矩形の領域がシグナルされる。
【０１１９】
＜システムの構成例および処理例＞
図５１乃至図５５を参照して、上述したように球面上の領域をシグナルして全天球画像を配信するシステムについて説明する。
【０１２０】
図５１は、本技術を適用した配信システムの構成例を示すブロック図である。
【０１２１】
図５１の配信システム１１は、撮影装置１２、生成装置１３、配信サーバ１４、再生装置１５、およびヘッドマウントディスプレイ１６により構成される。配信システム１１は、撮影装置１２により撮影された撮影画像から全天球画像を生成し、全天球画像を用いて視聴者の視野範囲の表示画像を表示する。
【０１２２】
具体的には、配信システム１１の撮影装置１２は、６個のカメラ１２Ａ−１乃至１２Ａ−６およびマイクロフォン１２Ｂにより構成される。なお、以下では、カメラ１２Ａ−１乃至１２Ａ−６を特に区別する必要がない場合、それらをまとめてカメラ１２Ａという。
【０１２３】
各カメラ１２Ａは動画像を撮影し、マイクロフォン１２Ｂは周囲の音声を取得する。配信システム１１は、各カメラ１２Ａにより撮影された６方向の動画像である撮影画像とマイクロフォン１２Ｂにより取得された音声を、動画コンテンツとして生成装置１３に供給する。なお、撮影装置１２が備えるカメラの数は、複数であれば、６個以外であってもよい。
【０１２４】
生成装置１３は、正距円筒図法を用いた方法により、撮影装置１２から供給される撮影画像から全天球画像を生成し、１以上のビットレートで符号化して、各ビットレートの正距円筒ストリームを生成する。また、生成装置１３は、キューブマッピングにより、撮影画像から全天球画像を生成し、１以上のビットレートで符号化して、各ビットレートのキューブストリームを生成する。また、生成装置１３は、撮影装置１２から供給される音声を符号化し、オーディオストリームを生成する。
【０１２５】
生成装置１３は、各ビットレートの正距円筒ストリーム、各ビットレートのキューブストリーム、およびオーディオストリームを、ISOBMFFファイル化する。生成装置１３は、その結果生成されたISOBMFFファイルを配信サーバ１４にアップロードする。
【０１２６】
なお、ここでは、正距円筒ストリームとキューブストリームのビットレートが１以上であるようにするが、ビットレート以外の条件（例えば、画像のサイズ等）が１以上であるようにしてもよい。
【０１２７】
また、生成装置１３は、動画コンテンツのセグメントファイルを管理するMPDファイルを生成し、配信サーバ１４にアップロードする。セグメントとは、ビデオストリーム、オーディオストリームを数秒から１０秒程度の時間単位でファイル化したものである。例えば、RegionMappingBoxを含むISOBMFFがセグメントファイルとして配信される。
【０１２８】
例えばMEPG-DASH (ISO/IEC 23009-1)を用いた配信を行う配信サーバ１４は、生成装置１３からアップロードされたセグメントファイルとMPDファイルを格納する。配信サーバ１４は、クライアントとしての再生装置１５からの要求に応じて、格納しているセグメントファイルを再生装置１５に送信する。
【０１２９】
再生装置１５は、配信サーバ１４にISOBMFF ファイルを要求し、その要求に応じて送信されてくるISOBMFFファイルを受け取る。また、再生装置１５は、ISOBMFFファイルに基づいて、再生装置１５で行うことが可能なマッピングに対応する全天球画像の生成方法で生成された全天球画像のセグメントファイルを要求し、その要求に応じて送信されてくるセグメントファイルを受け取る。再生装置１５は、受け取ったセグメントファイルに含まれるキューブストリーム(または正距円筒ストリームであってもよい)を復号する。再生装置１５は、復号の結果得られる全天球画像を３Ｄモデルにマッピングすることにより、３Ｄモデル画像を生成する。
【０１３０】
また、再生装置１５は、カメラ１５Ａを内蔵し、ヘッドマウントディスプレイ１６に付されたマーカ１６Ａを撮影する。そして、再生装置１５は、マーカ１６Ａの撮影画像に基づいて、３Ｄモデルの座標系における視聴位置を検出する。さらに、再生装置１５は、ヘッドマウントディスプレイ１６のジャイロセンサ１６Ｂの検出結果を、ヘッドマウントディスプレイ１６から受け取る。再生装置１５は、ジャイロセンサ１６Ｂの検出結果に基づいて、３Ｄモデルの座標系における視聴者の視線方向を決定する。再生装置１５は、視聴位置と視線方向に基づいて、３Ｄモデルの内部に位置する視聴者の視野範囲を決定する。
【０１３１】
再生装置１５は、視聴位置を焦点として、３Ｄモデル画像を視聴者の視野範囲に透視投影することにより、視聴者の視野範囲の画像を表示画像として生成する。再生装置１５は、表示画像をヘッドマウントディスプレイ１６に供給する。
【０１３２】
ヘッドマウントディスプレイ１６は、視聴者の頭部に装着され、再生装置１５から供給される表示画像を表示する。ヘッドマウントディスプレイ１６には、カメラ１５Ａにより撮影されるマーカ１６Ａが付されている。従って、視聴者は、ヘッドマウントディスプレイ１６を頭部に装着した状態で、移動することにより視聴位置を指定することができる。また、ヘッドマウントディスプレイ１６には、ジャイロセンサ１６Ｂが内蔵され、そのジャイロセンサ１６Ｂによる角速度の検出結果は再生装置１５に伝送される。従って、視聴者は、ヘッドマウントディスプレイ１６を装着した頭部を回転させることにより、視線方向を指定することができる。
【０１３３】
図５２は、生成装置の構成例を示すブロック図である。
【０１３４】
図５２の生成装置１３は、スティッチング処理部２１、マッピング処理部２２、region-wise packing処理部２３、エンコーダ２４、音声処理部２５、エンコーダ２６、ファイル生成部２７、およびアップロード部２８により構成される。
【０１３５】
スティッチング処理部２１は、フレームごとに、図５１のカメラ１２Ａから供給される６方向の撮影画像の色や明るさを同一にし、重なりを除去して接続するスティッチング処理を行う。スティッチング処理部２１は、スティッチング処理後のフレーム単位の撮影画像をマッピング処理部２２に供給する。
【０１３６】
マッピング処理部２２は、この例ではキューブマッピングにより、スティッチング処理部２１から供給される撮影画像から全天球画像を生成する。具体的には、マッピング処理部２２は、スティッチング処理後の撮影画像をテクスチャとして立方体にマッピングし、その立方体の展開図の画像を全天球画像として生成する。マッピング処理部２２は、全天球画像をregion-wise packing処理部２３に供給する。なお、スティッチング処理部２１とマッピング処理部２２は、一体化されていてもよい。
【０１３７】
region-wise packing処理部２３はregion-wise packing処理を行う。すなわち、projected frameを領域ごとに位置とサイズを変更して２次元面上に配置してパッキング（packing）し、packed frameを生成する。region-wise packing処理部２３はまた、margin_flag, region_margin_typeを含むRegionMappingBoxを生成する。
【０１３８】
エンコーダ２４は、region-wise packing処理部２３から供給される全天球画像を１以上のビットレートで符号化し、キューブストリームを生成する。エンコーダ２４は、各ビットレートのキューブストリームをファイル生成部２７に供給する。
【０１３９】
音声処理部２５は、図５１のマイクロフォン１２Ｂから供給される音声を取得し、エンコーダ２６に供給する。エンコーダ２６は、音声処理部２５から供給される音声を符号化し、オーディオストリームを生成する。エンコーダ２６は、オーディオストリームをファイル生成部２７に供給する。
【０１４０】
ファイル生成部２７は、各ビットレートのキューブストリーム、およびオーディオストリームを、セグメント単位でファイル化する。ファイル生成部２７は、その結果生成されたセグメントファイルをアップロード部２８に供給する。ファイル生成部２７はまた、ISOBMFFファイルを生成し、アップロード部２８に供給する。
【０１４１】
このとき、ファイル生成部２７は、上述したように拡張されたISOBMFFを生成することができ、そのISOBMFFには、領域情報がシグナルされている。即ち、ファイル生成部２７は、球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報（第１の実施の形態）を生成してISOBMFFに記述する。また、ファイル生成部２７は、球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報（第２の実施の形態）を生成してISOBMFFに記述する。または、ファイル生成部２７は、MPDを生成する際に、同様に、拡張されたMPDに領域情報がシグナル（第４の実施の形態）されるようにしてもよい。
【０１４２】
アップロード部２８は、ファイル生成部２７から供給されるセグメントファイルとISOBMFFファイルとを、図５１の配信サーバ１４にアップロードする。
【０１４３】
次に、画像を処理する場合を例として、再生装置１５の構成例について説明する。
【０１４４】
図５３は、再生装置の構成例を示すブロック図である。
【０１４５】
図５３の再生装置１５は、ファイル取得部３１、ストリーム抽出部３２、デコーダ３３、projected frame生成部３４，マッピング処理部３５、描画部３６、受け取り部３７、視線検出部３８、およびカメラ１５Ａを有している。
【０１４６】
ファイル取得部３１は、図５１の配信サーバ１４から再生対象のファイルを取得する。ストリーム抽出部３２は、ファイル取得部３１により取得されたファイルから、ビデオストリームを抽出する。デコーダ３３は、ストリーム抽出部３２により抽出されたビデオストリームをデコードする。projected frame生成部３４は、デコーダ３３によりデコードされた画像データからprojected frameを生成する。
【０１４７】
マッピング処理部３５は、projected frame生成部３４から供給される全天球画像を立方体の６面のそれぞれにテクスチャとしてマッピングする。
【０１４８】
描画部３６は、マッピング処理部３５から供給される３Ｄモデル画像を、視線検出部３８から供給される視聴位置を焦点として、視聴者の視野範囲に透視投影することにより、視聴者の視野範囲の画像を表示画像として生成する。描画部３６は、表示画像をヘッドマウントディスプレイ１６に供給する。
【０１４９】
受け取り部３７は、図５１のジャイロセンサ１６Ｂの検出結果を、ヘッドマウントディスプレイ１６から受け取り、視線検出部３８に供給する。
【０１５０】
視線検出部３８は、受け取り部３７から供給されるジャイロセンサ１６Ｂの検出結果に基づいて、３Ｄモデルの座標系における視聴者の視線方向を決定する。また、視線検出部３８は、カメラ１５Ａからマーカ１６Ａの撮影画像を取得し、その撮影画像に基づいて、３Ｄモデルの座標系における視聴位置を検出する。視線検出部３８は、３Ｄモデルの座標系における視聴位置と視線方向に基づいて、３Ｄモデルの座標系における視聴者の視野範囲を決定する。視線検出部３８は、視聴者の視野範囲と視聴位置を描画部３６に供給する。
【０１５１】
図５４のフローチャートを参照して、図５２のファイル生成部２７が実行するファイル生成処理について説明する。
【０１５２】
ステップＳ１１において、ファイル生成部２７は、全天球ビデオは複数に分割されているか否かを判定する。
【０１５３】
ステップＳ１１において、全天球ビデオは複数に分割されていると判定された場合、処理はステップＳ１２に進み、ファイル生成部２７は、全ての全天球ビデオの領域情報をもとに、tcovおよびEssentialProperty (totalcoverage) 情報を決定する。
【０１５４】
ステップＳ１３において、ファイル生成部２７は、個々の全天球ビデオの領域情報をもとに、それぞれのcoviおよびEssentialProperty(coverage)を決定する。
【０１５５】
一方、ステップＳ１１において、全天球ビデオは複数に分割されていないと判定された場合、処理はステップＳ１４に進み、ファイル生成部２７は、全天球ビデオの領域情報をもとに、coviとEssentialProperty(coverage)情報を決定する。
【０１５６】
ステップＳ１３またはＳ１４の処理後、処理はステップＳ１５に進み、ファイル生成部２７は、MPDとISOBMFFを生成した後、処理は終了される。
【０１５７】
図５５のフローチャートを参照して、図５３のファイル取得部３１が実行するファイル取得処理について説明する。
【０１５８】
ステップＳ２１において、ファイル取得部３１は、MPDのAdaptationSetのEssentialProperty（totalcoverage）を参照し、所望のtotal coverageとなるspatial_set_idを取得する。
【０１５９】
ステップＳ２２において、ファイル取得部３１は、MPDのAdaptationSetのEssentialProperty（coverage）を参照し、ステップＳ２１で取得したspatial_set_idを持ち、かつ視聴方向に適合するAdaptationSetを選択する。
【０１６０】
ステップＳ２３において、ファイル取得部３１は、選択したAdaptationSetの中で、帯域幅に応じてRepresentationを選択して、参照されているファイルを取得して、処理は終了される。
【０１６１】
以上のように、ファイル生成部２７は、MPDおよびISOBMFFを生成することができ、ファイル取得部３１は、生成対象のファイルを取得することができる。
【０１６２】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【０１６３】
また、上述した一連の処理（情報処理方法）は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【０１６４】
図５６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１６５】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１６６】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロフォンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１６７】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１６８】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１６９】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１７０】
＜構成の組み合わせ例＞
なお、本技術は以下のような構成も取ることができる。
（１）
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
（２）
前記領域情報には、複数の前記頂点を結ぶ規則が導入される
上記（１）に記載の情報処理装置。
（３）
前記領域情報には、複数の頂点でカバーされる領域に含まれる代表点がシグナルされる
上記（１）または（２）に記載の情報処理装置。
（４）
前記領域情報は、拡張されたISOBMFFによりシグナルされる
上記（１）から（３）までのいずれかに記載の情報処理装置。
（５）
前記領域情報は、tcovによりシグナルされる
上記（１）から（３）までのいずれかに記載の情報処理装置。
（６）
前記領域情報は、拡張されたDASH MPDによりシグナルされる
上記（１）から（３）までのいずれかに記載の情報処理装置。
（７）
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理方法。
（８）
球面上の複数の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理をコンピュータに実行させるプログラム。
（９）
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
（１０）
前記領域情報には、複数の前記頂点を結ぶ規則が導入され、前記面の数に従ってループを回すことで前記面領域がシグナルされる
上記（９）に記載の情報処理装置。
（１１）
前記領域情報には、シグナルされた領域をカバーするか、シグナルされた領域以外をカバーするかを示すフラグが含まれる
上記（９）または（１０）に記載の情報処理装置。
（１２）
前記領域情報は、拡張されたISOBMFFによりシグナルされる
上記（９）から（１１）までのいずれかに記載の情報処理装置。
（１３）
前記領域情報は、tcovによりシグナルされる
上記（９）から（１１）までのいずれかに記載の情報処理装置。
（１４）
前記領域情報は、拡張されたDASH MPDによりシグナルされる
上記（９）から（１１）までのいずれかに記載の情報処理装置。
（１５）
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理方法。
（１６）
球面上の面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【０１７１】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１７２】
１１  配信システム，  １２  撮影装置，  １２Ａ  カメラ，  １２Ｂ  マイクロフォン，  １３  生成装置，  １４  配信サーバ，  １５  再生装置，  １５Ａ  カメラ，  １６  ヘッドマウントディスプレイ，  １６Ａ  マーカ，  １６Ｂ  ジャイロセンサ，  ２１  スティッチング処理部，  ２２  マッピング処理部，  ２３  region-wise packing処理部，  ２４  エンコーダ，  ２５  音声処理部，  ２６  エンコーダ，  ２７  ファイル生成部，  ２８  アップロード部，  ３１  ファイル取得部，  ３２  ストリーム抽出部，  ３３  デコーダ，  ３４  projected frame生成部，  ３５  マッピング処理部，  ３６  描画部，  ３７  受け取り部，  ３８  視線検出部
【図１】
2018173875.tif 000003
【図２】
2018173875.tif 000004
【図３】
2018173875.tif 000005
【図４】
2018173875.tif 000006
【図５】
2018173875.tif 000007
【図６】
2018173875.tif 000008
【図７】
2018173875.tif 000009
【図８】
2018173875.tif 000010
【図９】
2018173875.tif 000011
【図１０】
2018173875.tif 000012
【図１１】
2018173875.tif 000013
【図１２】
2018173875.tif 000014
【図１３】
2018173875.tif 000015
【図１４】
2018173875.tif 000016
【図１５】
2018173875.tif 000017
【図１６】
2018173875.tif 000018
【図１７】
2018173875.tif 000019
【図１８】
2018173875.tif 000020
【図１９】
2018173875.tif 000021
【図２０】
2018173875.tif 000022
【図２１】
2018173875.tif 000023
【図２２】
2018173875.tif 000024
【図２３】
2018173875.tif 000025
【図２４】
2018173875.tif 000026
【図２５】
2018173875.tif 000027
【図２６】
2018173875.tif 000028
【図２７】
2018173875.tif 000029
【図２８】
2018173875.tif 000030
【図２９】
2018173875.tif 000031
【図３０】
2018173875.tif 000032
【図３１】
2018173875.tif 000033
【図３２】
2018173875.tif 000034
【図３３】
2018173875.tif 000035
【図３４】
2018173875.tif 000036
【図３５】
2018173875.tif 000037
【図３６】
2018173875.tif 000038
【図３７】
2018173875.tif 000039
【図３８】
2018173875.tif 000040
【図３９】
2018173875.tif 000041
【図４０】
2018173875.tif 000042
【図４１】
2018173875.tif 000043
【図４２】
2018173875.tif 000044
【図４３】
2018173875.tif 000045
【図４４】
2018173875.tif 000046
【図４５】
2018173875.tif 000047
【図４６】
2018173875.tif 000048
【図４７】
2018173875.tif 000049
【図４８】
2018173875.tif 000050
【図４９】
2018173875.tif 000051
【図５０】
2018173875.tif 000052
【図５１】
2018173875.tif 000053
【図５２】
2018173875.tif 000054
【図５３】
2018173875.tif 000055
【図５４】
2018173875.tif 000056
【図５５】
2018173875.tif 000057
【図５６】
2018173875.tif 000058
【手続補正書】
【提出日】平成30年9月4日(2018.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、前記シグナルを用いて球面上に形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
【請求項２】
コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部
を備える情報処理装置。
【請求項３】
前記頂点どうしを球面上の最短距離で結ぶ線分はｇｒｅａｔ  ｃｉｒｃｌｅの一部である
請求項２に記載の情報処理装置。
【請求項４】
前記領域情報は、非連続な複数の前記面領域を形成する
請求項３に記載の情報処理装置。
【請求項５】
前記領域情報には、複数の頂点でカバーされる領域に含まれる代表点がシグナルされる
請求項１に記載の情報処理装置。
【請求項６】
前記領域情報は、非連続な複数の前記面領域を形成する
請求項１に記載の情報処理装置。
【請求項７】
前記領域情報は、拡張されたＩＳＯＢＭＦＦによりシグナルされる
請求項１に記載の情報処理装置。
【請求項８】
前記領域情報は、拡張されたＤＡＳＨ  ＭＰＤによりシグナルされる
請求項１に記載の情報処理装置。
【請求項９】
前記領域情報は、前記面の数に従ってループを回すことで前記面領域がシグナルされる
請求項１に記載の情報処理装置。
【請求項１０】
前記領域情報には、シグナルされた領域をカバーするか、シグナルされた領域以外をカバーするかを示すフラグが含まれる
請求項１に記載の情報処理装置。
【請求項１１】
コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、前記シグナルを用いて球面上に形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理方法。
【請求項１２】
コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、前記シグナルを用いて球面上に形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
ｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）
発明の概要
発明が解決しようとする課題
［０００６］
ところで、従来、ＯＭＡＦ  ＣＤ（Ｏｍｎｉｄｉｒｅｃｔｉｏｎａｌ  Ｍｅｄｉａ  Ａｐｐｌｉｃａｔｉｏｎ  Ｆｏｒｍａｔ  Ｃｏｍｍｉｔｔｅｅ  Ｄｒａｆｔ）では、ＣｏｖｅｒａｇｅＩｎｆｏｒｍａｔｉｏｎＢｏｘとして球面上領域カバレッジをシグナルしている。しかしながら、従来のＯＭＡＦ  ＣＤでは対応することができないプロジェクションフォーマットがあり、より多様なプロジェクションフォーマットへの対応が求められていた。
［０００７］
本開示は、このような状況に鑑みてなされたものであり、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができるようにするものである。
課題を解決するための手段
［０００８］
本開示の第１の側面の情報処理装置は、コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、前記シグナルを用いて球面上に形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部を備える。
［０００９］
本開示の第１の側面の情報処理方法またはプログラムは、コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、前記シグナルを用いて球面上に形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成するステップを含む。
［００１０］
本開示の第１の側面においては、コンテンツのカバレッジ情報に基づいて、多面体のカバレッジ情報に対応する面ごとに各面の中心方向と水平方向および垂直方向の角度幅をシグナルし、そのシグナルを用いて球面上に形成される面領域を、カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報が生成される。
［００１１］
本開示の第２の側面の情報処理装置は、コンテンツのカバレッジ情報に基づいて、多面体の前記カバレッジ情報に対応する面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、前記カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報を生成する生成部を備える。
［００１２］
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
［００１３］
本開示の第２の側面においては、コンテンツのカバレッジ情報に基づいて、多面体のカバレッジ情報に対応する面ごとに各面の頂点をシグナルし、それらの頂点どうしを球面上の最短距離で結ぶことで形成される面領域を、カバレッジ情報に対応する面の数に応じてシグナルすることで球面上の領域を表現する領域情報が生成される。
発明の効果
［００１４］
本開示の第１および第２の側面によれば、より多様なプロジェクションフォーマットで全天球映像の領域情報をシグナリングすることができる。
図面の簡単な説明
［００１５］
［図１］ｖｉｅｗｐｏｒｔ  ｄｅｐｅｎｄｅｎｔ  ｐｒｏｃｅｓｓｉｎｇについて説明する図である。
［図２］ｖｉｅｗｐｏｒｔ情報を取り扱う球座標系を示す図である。
［図３］ＭＰＥＧで規定されている領域情報の一例を示す図である。
［図４］ｓｈａｐｅ＿ｔｙｐｅによる二種類の球面上領域表現を示す図である。
［図５］コンテンツのカバレッジ情報であるｃｏｖｉの格納場所を示す図である。
［図６］従来のシンタックスでは正確に表現できない例を説明する図である。
［図７］三角形面で構成されるプロジェクションフォーマットの例を示す図である。
［図８］第１の実施の形態による球面上領域のシグナルの第１の例を示す図である。
［図９］第１の実施の形態による球面上領域のシグナルの第２の例を示す図である。
［図１０］立方体の２つの面をシグナルすることの応用例について説明する図である。
［図１１］第１の実施の形態における拡張されたＩＳＯＢＭＦＦの一例を示す図である。
［図１２］ｐｏｉｎｔ＿ｙａｗ／ｐｉｔｃｈによる表現だけでは、カバレッジが一意に決まらない例を説明する図である。
［図１３］第１の実施の形態におけるパラメータの定義を示す図である。
［図１４］立方体の３面をシグナルする例を示す図である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
ｇｓを用いてもよい。また、ＡｒｂｉｔｒａｒｙＲｅｇｉｏｎＯｎＳｐｈｅｒｅＳｔｒｕｃｔの中身を、ＲｅｇｉｏｎＯｎＳｐｈｅｒｅＳｔｒｕｃｔの中でシグナルし、それらをｓｈａｐｅ＿ｔｙｐｅで切り替えてもよい。
［００５３］
＜ＩＳＯＢＭＦＦにおけるトラックの領域シグナル方法＞
図１８乃至図２７を参照して、本技術の第２の実施の形態として、ＩＳＯＢＭＦＦにおけるトラックの領域シグナル方法の第２の例について説明する。
［００５４］
第２の実施の形態では、ＩＳＯＢＭＦＦ  ｔｒａｃｋに格納されるコンテンツのカバレッジについて、多面体ごとにその多面体の頂点をｙａｗおよびｐｉｔｃｈでシグナルし、頂点どうしを球面上の最短距離で結ぶことで形成される面領域を面の数だけ複数シグナルして表現する。
［００５５］
例えば、図１８には、２つの面ごとに、それらの面の頂点をシグナルし、頂点どうしを球面上の最短距離で結ぶことで形成される面領域となる２つの面をシグナルすることで領域表現を行う例が示されている。
［００５６］
このとき、それぞれの頂点を結ぶ球面上の線分はｇｒｅａｔ  ｃｉｒｃｌｅの一部となる。また、このようなシグナルにより、図７に示したようなＯＨＰおよびＩＳＰだけでなく、その他の多面体に対応するプロジェクションフォーマットが可能となる。
［００５７］
図１９には、拡張されたＩＳＯＢＭＦＦ（ＣｏｖｅｒａｇｅＩｎｆｏｒｍａｔｉｏｎＢｏｘ）およびＡｒｂｉｔｒａｒｙＲｅｇｉｏｎＯｎＳｐｈｅｒｅＳｔｒｕｃｔの一例が示されている。
［００５８］
図１９に示すＩＳＯＢＭＦＦでは、ｓｈａｐｅ＿ｔｙｐｅ＝２が導入されている。例えば、ｓｈａｐｅ＿ｔｙｐｅ＝２では、各頂点は、ｉ＝０とｉ＝１，ｉ＝１とｉ＝２，・・・，ｉ＝ｎ−１とｉ＝ｎ，ｉ＝ｎとｉ＝０の規則で、それぞれが球面上の最短距離で結ばれるように定義される。そして、ＩＳＯＢＭＦＦに示すように、面の数でｆｏｒ  ｌｏｏｐを回すことにより、複数の面からなる領域をシグナルすることができる。
［００５９］
また、図１９に示すＩＳＯＢＭＦＦでは、ｅｘｃｌｕｄｅ＿ｆｌａｇが導入されている。ｅｘｃｌｕｄｅ＿ｆｌａｇが１の場合、シグナルされた領域以外がｃｏｖｅｒａｇｅとなる
［００６０］
図２０を参照して、ｅｘｃｌｕｄｅ＿ｆｌａｇについて説明する。図２０では、立方体の５面分（グレーのハッチングが施されている面以外）のカバレッジシグナル
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2018173875.tif 000059
【国際調査報告】
2018173875.tif 000060
2018173875.tif 000061
2018173875.tif 000062
2018173875.tif 000063
2018173875.tif 000064