(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022051967
(43)【公開日】2022-04-04
(54)【発明の名称】情報処理装置および情報処理方法
(51)【国際特許分類】
G06T 1/00 20060101AFI20220328BHJP
G06T 19/00 20110101ALI20220328BHJP
【FI】
G06T1/00 200D
G06T19/00 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2019001376
(22)【出願日】2019-01-08
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】勝股 充
(72)【発明者】
【氏名】高橋 遼平
(72)【発明者】
【氏名】平林 光浩
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA02
5B050BA08
5B050BA09
5B050BA10
5B050BA17
5B050DA01
5B050DA04
5B050EA10
5B050EA24
5B050EA26
5B050FA02
5B050GA08
(57)【要約】
【課題】3Dオブジェクト静止画コンテンツにおいてサムネイルを利用する。
【解決手段】3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが元データに基づくサムネイルであることを示す情報である役割情報を生成する。そして、役割情報、および、3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納する。本技術は、例えば、時間情報を持たないPoint Cloudの符号化データと、そのサムネイルを格納するファイルを生成するデータ生成装置に適用できる。
【選択図】
図25
【特許請求の範囲】
【請求項1】
3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成する前処理部と、
前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納するファイル生成部と
を備える情報処理装置。
【請求項2】
前記役割情報は、前記符号化データにおける再生の起点となる情報を含む
請求項1に記載の情報処理装置。
【請求項3】
前記再生の起点となる情報は、前記符号化データにおける再生すべきストリームを識別するグループ識別情報でもある
請求項2に記載の情報処理装置。
【請求項4】
前記前処理部は、前記サムネイルとして、特定の視点位置、視点方向、および画角で、前記3Dオブジェクトを表示した2次元の静止画データを示す前記役割情報を生成する
請求項3に記載の情報処理装置。
【請求項5】
前記前処理部は、前記サムネイルとして、複数の視点位置、視点方向、および画角で、前記3Dオブジェクトを表示した画像から構成される動画像データであるビデオサムネイルを示す前記役割情報を生成する
請求項3に記載の情報処理装置。
【請求項6】
前記ファイル生成部は、前記ビデオサムネイルを示す前記役割情報を、ItemReferenceBoxに格納する
請求項5に記載の情報処理装置。
【請求項7】
前記ファイル生成部は、前記ビデオサムネイルを示す前記役割情報を、EntityToGroupBoxに格納する
請求項5に記載の情報処理装置。
【請求項8】
前記前処理部は、前記サムネイルとして、低解像度でエンコードされた前記3Dオブジェクトである3Dオブジェクトサムネイルを示す前記役割情報を生成する
請求項2に記載の情報処理装置。
【請求項9】
前記ファイル生成部は、前記3Dオブジェクトサムネイルを示す前記役割情報を、ItemReferenceBoxに格納する
請求項8に記載の情報処理装置。
【請求項10】
前記ファイル生成部は、前記3Dオブジェクトサムネイルを示す前記役割情報を、EntityToGroupBoxに格納する
請求項8に記載の情報処理装置。
【請求項11】
前記前処理部は、前記3Dオブジェクトサムネイルの表示ルールを生成する
請求項8に記載の情報処理装置。
【請求項12】
前記3Dオブジェクトサムネイルの表示ルールは、前記3Dオブジェクトサムネイルを表示する際の回転で示される
請求項11に記載の情報処理装置。
【請求項13】
前記3Dオブジェクトサムネイルの表示ルールは、前記3Dオブジェクトサムネイルを表示する際の視点位置、視線方向、および画角で示される
請求項11に記載の情報処理装置。
【請求項14】
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示の初期位置を前記ファイルに格納する
請求項11に記載の情報処理装置。
【請求項15】
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、ItemPropertyに格納する
請求項11に記載の情報処理装置。
【請求項16】
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、Itemに格納する
請求項11に記載の情報処理装置。
【請求項17】
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、meta trackに格納する
請求項11に記載の情報処理装置。
【請求項18】
前記前処理部は、前記3DオブジェクトサムネイルでG-PCC(Geometry based Point Cloud Coding)を用いている場合に、Geometryのデコードを限定したデータを前記サムネイルとするための前記役割情報を生成する
請求項8に記載の情報処理装置。
【請求項19】
前記前処理部は、ItemPropertyでGeometryのデコードを限定することを示す前記役割情報を生成する
請求項18に記載の情報処理装置。
【請求項20】
情報処理装置が、
3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成することと、
前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納することと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置および情報処理方法に関し、特に、時間情報を持たない3Dオブジェクトにおいてサムネイルを利用することができるようにした情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
従来、3Dオブジェクトの表現方法として、3次元空間上に位置情報および属性情報(特に色情報)を同時に持った点の集合で表すPoint Cloudがある。そして、非特許文献1および2に開示されているように、Point Cloudの圧縮方法が規定されている。
【0003】
例えば、Point Cloudの圧縮方法の一つとして、Point Cloudを複数の領域に分割(以下、セグメンテーションと称する)し、領域毎に平面投影してtexture画像およびgeometry画像を生成した後、それらを動画コーデックにより符号化する方法がある。ここで、geometry画像は、Point Cloudを構成する点群のdepth情報から構成される画像である。この方法はV-PCC(Video-based Point Cloud Coding)と称されており、その詳細は非特許文献1に記載されている。
【0004】
また、もう一つの圧縮方法として、Point Cloudを、3次元形状を示すgeometryと、属性情報として色や反射情報などを示すattributeとに分離して、それらを符号化する方法がある。この方法は、G-PCC(Geometry based Point Cloud Coding)と称されている。
【0005】
そして、これらの符号化によって生成されたV-PCCおよびG-PCCのストリームを、ダウンロード再生したり、over IP(Internet Protocol)networkで配信したりするユースケースが期待されている。
【0006】
そこで、非特許文献3で開示されているように、既存の配信プラットフォームへのインパクトを抑制し、早期のサービス実現を目指すべく、MPEG(Moving Picture Experts Group)において、既存の枠組みであるISOBMFF/DASH(ISO Base Media File Format / Dynamic Adaptive St reaming over HTTP)による配信技術についての検討が開始された。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】m45183 second working draft for Video-based Point Cloud Coding (V-PCC).
【非特許文献2】m45183 working draft for Geometry-based Point Cloud Coding (G-PCC).
【非特許文献3】w17675, First idea on Systems technologies for Point Cloud Coding, April 2018, San Diego, US
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、従来、動画像のように、所定の時間間隔の複数のフレームからなるPoint CloudをV-PCCまたはG-PCCで符号化することによって生成されたV-PCC streamまたはG-PCC streamを、ISOBMFFの技術を利用したファイル構造のファイルに格納するようなユースケースで用いられていた。これに対し、例えば、地図データのように、時間情報を持たないPoint Cloud(即ち、1フレーム分のPoint Cloud)をV-PCCまたはG-PCCで符号化したものを、ISOBMFFの技術を利用したファイル構造のファイルに格納するようなユースケースも想定される。
【0009】
また、一般的に、2次元の静止画コンテンツにはサムネイルが付属しており、元画像(この場合は2次元の静止画像)を識別するための見本やインデックスとしてサムネイルが利用されている。例えば、ユーザが、複数の2次元の静止画コンテンツから、所望の2次元の静止画コンテンツを選択する用途として、それらのサムネイルの一覧が表示される。このため、サムネイルにはデコード処理や表示処理などにおける負荷を少なくすることが要求され、2次元の静止画コンテンツの場合には、解像度の低い2次元の静止画像データが用いられている。
【0010】
そこで、上述した地図データのように、時間情報を有しない3次元の3Dオブジェクト(以下、3Dオブジェクト静止画コンテンツと称する)においてサムネイルの利用を可能とすることが求められている。
【0011】
本開示は、このような状況に鑑みてなされたものであり、時間情報を持たない3Dオブジェクトにおいてサムネイルを利用することができるようにするものである。
【課題を解決するための手段】
【0012】
本開示の一側面の情報処理装置は、3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成する前処理部と、前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納するファイル生成部とを備える。
【0013】
本開示の一側面の情報処理方法は、情報処理装置が、3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成することと、前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納することとを含む。
【0014】
本開示の一側面においては、3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが元データに基づくサムネイルであることを示す情報である役割情報が生成され、役割情報、および、3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データが、所定のファイル構造のファイルに格納される。
【図面の簡単な説明】
【0015】
【
図1】HEIFにおけるサムネイルのシグナリングの一例を示す図である。
【
図2】octree符号化について説明する図である。
【
図3】ピクチャーサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の一例を示す図である。
【
図4】ピクチャーサムネイルを示す役割情報が格納されるItemReferenceBoxを拡張する変形例を示す図である。
【
図5】ビデオサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の一例を示す図である。
【
図6】ビデオサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の変形例を示す図である。
【
図7】ビデオサムネイルをシグナリングするためのEntityToGroupBox(thmb)の定義の一例を示す図である。
【
図8】3Dオブジェクトサムネイルを特定の軸で回転させるシグナリングの一例を示す図である。
【
図10】様々な回転を複数組み合わせるシグナリングの一例を示す図である。
【
図11】初期位置のシグナリングの一例を示す図である。
【
図12】3Dオブジェクトサムネイルの視点位置、視線方向、および画角のシグナリングの一例を示す図である。
【
図13】ItemPropertyでシグナリングする一例を示す図である。
【
図14】ItemPropertyで初期位置をシグナリングする一例を示す図である。
【
図15】3Dオブジェクトサムネイルを派生画像としてシグナリングする一例を示す図である。
【
図16】表示ルールのmetadata trackの第1の例を示す図である。
【
図17】表示ルールのmetadata trackの第1の例を示す図である。
【
図18】表示ルールのmetadata trackの第2の例を示す図である。
【
図19】表示ルールとサムネイルとの紐づけの一例を示す図である。
【
図20】GPCCConfigurationBoxを拡張して3Dオブジェクトサムネイルをシグナリングする一例を示す図である。
【
図21】拡張したGPCCConfigurationBoxを利用したファイル構造の一例を示す図である。
【
図22】GPCCLimitedInfoPropertyで3Dオブジェクトサムネイルシグナリングする一例を示す図である。
【
図23】GPCCLimitedInfoPropertyを利用したファイル構造の一例を示す図である。
【
図24】Sequence Parameter Setでgeometryデータを特定の深さまでデコードすることを示す一例を示す図である。
【
図25】データ生成装置の一例を示すブロック図である。
【
図26】データ再生装置の一例を示すブロック図である。
【
図27】サムネイルが格納されたファイルを生成するファイル生成処理を説明するフローチャートである。
【
図28】サムネイルが格納されたファイルを生成するファイル生成処理を説明するフローチャートである。
【
図29】サムネイルを再生するサムネイル再生処理を説明するフローチャートである。
【
図30】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0017】
<HEIFでのサムネイルのシグナリング>
まず、
図1を参照して、HEIFにおけるサムネイルのシグナリングについて説明する。
【0018】
例えば、3Dオブジェクト静止画コンテンツを構成するPoint Cloudは、上述したようなV-PCCまたはG-PCCを用いて符号化されることが想定される。以下、3Dオブジェクト静止画コンテンツを構成するPoint Cloudを、V-PCCで符号化した符号化データをV-PCC静止画データと称し、V-PCCで符号化した符号化データをV-PCC静止画データと称する。
【0019】
また、3Dオブジェクト静止画コンテンツをISOBMFFの技術を利用したファイル構造のファイルに格納する規格として、HEIF(ISO/IEC 23008-12 MPEG-H Image File Format)を用いることができる。一方、2次元画像を、例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)などの動画像コーデックで符号化し、時間情報を持たない2次元画像データとしてISOBMFFを利用したファイル構造のファイルに格納することも可能である。
【0020】
従って、V-PCC静止画データおよびG-PCC静止画データを、動画像コーデックを用いて圧縮した時間情報を持たない2次元画像データと同様に見なしてISOBMFFの技術を利用したファイル構造のファイルに格納することは、例えば、HEIFを拡張することにより実現する可能性が高い。
【0021】
ここで、HEIFにおいてサムネイルは、「元画像の低解像度表現」と定義されている。そして、
図1に示すように、ItemReferenceBox(‘iref’)にサムネイルを示す役割情報が格納される。例えば、referenceTypeが’thmb’であるBoxで、サムネイルitemを示すitem_idをfrom_item_idで示し、サムネイルの元画像のitem_idをto_item_idで示す。このように、役割情報は、サムネイルであることと、どの元画像に基づいたサムネイルであるかを示す情報である。
【0022】
即ち、
図1では、item_id=2がサムネイルであることが、ItemReferenceBoxのreferenceTypeが’thmb’であるBoxにより示されている。
【0023】
また、3Dオブジェクト静止画コンテンツを、ISOBMFFの技術を利用したファイル構造のファイルに格納する場合、3Dオブジェクトサムネイルデータを1streamとして1itemに格納するか、複数のstreamに分割してmulti itemで格納される。例えば、1itemの場合は、そのitemを再生の起点とする。一方、multi itemの場合は、再生の起点は、itemで示されるか、EntityToGroupBoxのgroupで示される。
【0024】
ところが、既存のItemReferenceBoxは、item間の参照関係しかシグナリングすることができないため、groupが再生の起点となる場合には、元画像としてシグナリングすることができないことが懸念される。また、既存の規格では、サムネイルデータは2次元の静止画を想定しており、高機能なサムネイルである、動画データや解像度を落とした3Dオブジェクトは想定していないため、シグナリングすることができないことが懸念される。
【0025】
さらに、3Dオブジェクトをサムネイルとする場合に、サムネイルとして表示する際に表示方法(例えば、3Dオブジェクトを見る視点位置や、視線方向、画角、表示時間など)がクライアントに依存している。そのため、コンテンツオーサの意図とは異なるような表示となったり、クライアント毎に表示が異なったりしてしまう。
【0026】
<G-PCC静止画データの元画像およびサムネイルとしての利用>
【0027】
ここで、G-PCC静止画データのgeometryデータの圧縮方法として、
図2に示すようなoctree符号化が用いられる。
【0028】
例えば、octree符号化は、Point cloudデータの各Pointを、一定のブロックに区切った空間の中に配置するVoxel表現されたデータにおいて、各ブロック内のPointの有無を、八分木によって表現する手法である。この手法では、
図2に示すように、ポイントが存在するブロックは1、存在しないブロックは0で表現される。また、このブロックの細かさを、LoD(Level of Detail)といい、LoDが大きいほどブロックが細かくなる。
【0029】
そして、octree符号化で圧縮されたGeometryデータは、八分木の途中の深さまでをデコードすることにより、低解像度のGeometryとしてPoint Cloudを再構成することができる。ただし、この場合、テクスチャなどのattributeデータは別途、デコードした深さでのデータが必要になる。つまり、Geometryデータを元画像とサムネイルとで共用することができる。
【0030】
そこで、以下では、このように元画像と共通のGeometryデータで構成される低解像度のデータを、サムネイルとしてシグナリングすることを提案する。
【0031】
<サムネイルデータ形式について>
次に、3Dオブジェクト静止画コンテンツを構成するPoint Cloudのサムネイルのサムネイルデータ形式について説明する。
【0032】
本実施の形態では、サムネイルデータ形式として、ピクチャーサムネイル、ビデオサムネイル、および3Dオブジェクトサムネイルを用いる3つの手法を提案する。
【0033】
ピクチャーサムネイルは、特定の視点位置、視点方向、および画角で、3Dオブジェクトを表示した2次元の静止画データである。
【0034】
ビデオサムネイルは、複数の視点位置、視点方向、および画角で、3Dオブジェクトを表示した画像から構成される動画像データである。
【0035】
3Dオブジェクトサムネイルは、低解像度でエンコードされたPoint Cloudデータである。
【0036】
例えば、元画像がV-PCCでエンコードされたデータである場合に、低解像度でエンコードされたV-PCCデータを、3Dオブジェクトサムネイルとして用いることができる。なお、元画像と3Dオブジェクトサムネイルとで同一の方式でエンコードされたデータに限定されることはない。即ち、元画像がV-PCCでエンコードされたデータである場合に、G-PCCでエンコードされたデータや、Meshデータおよびテクスチャデータから構成されるデータなどを、3Dオブジェクトサムネイルとして用いてもよい。
【0037】
同様に、元画像がG-PCCでエンコードされたデータである場合に、低解像度でエンコードされたG-PCCデータの他、V-PCCでエンコードされたデータやMeshデータおよびテクスチャデータから構成されるデータなどを、3Dオブジェクトサムネイルに用いることができる。
【0038】
ところで、既存のサムネイルの定義を、3Dオブジェクト静止画コンテンツを構成するPoint Cloudに対応させると、上述したようなサムネイルデータ形式のうち、3Dオブジェクトサムネイルに該当すると考えられる。また、3Dオブジェクトサムネイルを2DディスプレイやHMD(Head Mounted Display)で表示する場合には、2D画像としてレンダリングされた低解像度なピクチャーサムネイルやビデオサムネイルなどを、サムネイルとして用いても同等の効果が得られる。
【0039】
なお、上記のサムネイルと、元画像であるPoint Cloudの3Dオブジェクト静止画コンテンツとの関係を示すには、以下の条件を満たす場合に、上述の
図1に示したようなHEIFのサムネイルを利用することができる。即ち、元画像は、Point Cloudの3Dオブジェクト静止画コンテンツであり1itemで格納されていることと、サムネイルは、ピクチャーサムネイルであるか、または、3Dオブジェクトサムネイルが1itemで格納されているかのいずれかであることとの両方を満たすことが条件となる。そこで、以下では、この条件を満たさない場合であっても、3Dオブジェクト静止画コンテンツにおけるサムネイルをシグナリングすることができるようにする第1乃至第3の手法について説明する。
【0040】
<3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第1の手法>
図3および
図4を参照して、3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第1の手法として、ピクチャーサムネイルを用いる手法について説明する。
【0041】
例えば、3Dオブジェクト静止画コンテンツにおいてサムネイルとしてピクチャーサムネイルを用いるためには、3Dオブジェクト静止画コンテンツを構成するPoint Cloudを元画像とするような拡張が必要となる。
【0042】
ここで、3Dオブジェクト静止画コンテンツが、ISOBMFFの技術を利用したファイル構造のファイルにmulti itemで格納される際に、元画像の再生の起点が、EntityToGroupBoxのgroupで示される場合がある。この場合、EntityToGroupBoxのgroup_idが再生の起点を示すidとなるが、ItemReferenceBoxではitemしか示せないため、ItemReferenceBoxでは、元画像をシグナリングすることができないことも想定される。このように、元画像をシグナリングすることができないことは、ピクチャーサムネイルだけでなく、ビデオサムネイルや3Dオブジェクトサムネイルにおいても同様のことが想定される。そこで、groupも示せるようにItemReferenceBoxを拡張する。
【0043】
図3には、ピクチャーサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の一例が示されている。
図3において、太字で記載されている個所において、multi itemに分割して格納された3Dオブジェクト静止画コンテンツを元画像としてシグナルされている。
【0044】
即ち、
図3に示すように、ItemReferenceBoxでシグナリングされる、SingleItemTypeReferenceBoxおよびSingleItemTypeReferenceBoxLargeにおけるto_item_IDフィールドをto_entity_IDとし、このto_entity_IDによりitem_idおよびgroup_idのどちらもシグナリングできるようにする。そして、ItemReferenceBoxのflags&1が1である場合には、to_entity_IDによりitem_idおよびgroup_idがシグナルされていることを示す。一方、ItemReferenceBoxのflags&1が0である場合には、to_entity_IDによりitem_idのみがシグナルされていることを示す。
【0045】
図4には、ピクチャーサムネイルを示す役割情報が格納されるItemReferenceBoxを拡張する変形例が示されている。
図4において、太字で記載されている個所において、multi itemに分割して格納された3Dオブジェクト静止画コンテンツを元画像としてシグナルされている。
【0046】
例えば、
図4に示すように、ItemReferenceBoxにversion=2を追加し、その場合に、元画像を示すシグナリングで、item_idおよびgroup_idをシグナリングできるようにしてもよい。そして、SingleReferenceBoxのto_ID_typeが0である場合には、item_idがシグナリングされていることを示し、SingleReferenceBoxのto_ID_typeが1である場合には、group_idがシグナリングされていることを示す。
【0047】
なお、第1の手法では、サムネイル以外の用途で、ItemReferenceBoxにおいて、groupやtrackなどの紐づけにも利用することができる。
【0048】
<3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第2の手法>
図5乃至
図7を参照して、3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第2の手法として、ビデオサムネイルを実現する手法について説明する。
【0049】
まず、第2の手法における第1例として、元画像とビデオサムネイルとの紐づけるシグナリングについて説明する。
【0050】
ビデオサムネイルデータは、HEVCやAVCなどで符号化されたVideoデータ、または、HEIF規格に規定されている複数のImageデータに時間情報を持たせたImage sequenceである。そして、VideoデータまたはImage sequenceをISOBMFFのtrackに格納する手法は、既にISO/IEC規格で規定されている。
【0051】
そこで、trackに格納しているビデオサムネイルデータが、Point Cloudの3Dオブジェクト静止画コンテンツのサムネイルデータであることを示すシグナリングとして、以下のような第2の手法における第1例および第2の例を説明する。
【0052】
第2の手法における第1例では、既存のItemReferenceBoxを拡張し、ビデオサムネイルをシグナリングできるようにする。
【0053】
例えば、既存のItemReferenceBoxは、ビデオサムネイルをシグナリングすることができない。それは、ItemReferenceBoxはビデオサムネイルを示すtrackをシグナリングできないからである。従って、ビデオサムネイルを紐づけるためには、ビデオサムネイルのtrackのtrack_idを示せばよい。そこで、ItemReferenceBoxで、track_idを示すことができるように拡張する。
【0054】
図5には、ビデオサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の一例が示されている。
図5において、太字で記載されている個所に、ビデオサムネイルがシグナルされている。
【0055】
即ち、上述の
図3に示したItemReferenceBoxを拡張してシグナリングされる、SingleItemTypeReferenceBoxおよび、SingleItemTypeReferenceBoxLargeのfrom_item_IDフィールドをfrom_entity_IDとし、このfrom_entity_IDによりitem_idおよびtrack_idのどちらもシグナリングできるようにする。そして、ItemReferenceBoxのflags&1が1である場合には、from_entity_IDまたはto_entity_IDにより、item_id、track_id、およびgroup_idのいずれかがシグナルされていることを示す。一方、ItemReferenceBoxのflags&1が0である場合には、item_idのみがシグナルされていることを示す。このような拡張によって、ItemReferenceBoxでビデオサムネイルをシグナリングすることができる。
【0056】
図6には、ビデオサムネイルを示す役割情報が格納されるItemReferenceBoxの拡張の変形例が示されている。
図6において、太字で記載されている個所に、ビデオサムネイルがシグナルされている。
【0057】
例えば、上述の
図4で示したように拡張されたSingleReferenceBoxを拡張してもよい。即ち、
図6に示すように、from_ID_typeで、シグナリングするIDを指定する。例えば、from_ID_typeが0である場合にはitem_idがシグナリングされていることを示し、from_ID_typeが1である場合にはgroup_idがシグナリングされていることを示し、from_ID_typeが2である場合にはtrack_idがシグナリングされていることを示す。そして、ビデオサムネイルの場合、from_ID_typeは2として、from_IDで、ビデオサムネイルの格納されるtrack_idを指定する。
【0058】
なお、from_ID_typeでgroup_idが指定できるようになっているのは、後述する第3の手法における第1例の1での利用を想定している。
【0059】
なお、第2の手法における第1例では、既存のreferenceTypeである’thmb’を利用することを想定しているが、ビデオサムネイルであることを明示的に示すために、referenceTypeで’vthm’を指定してもよい。
【0060】
また、第2の手法における第1例は、サムネイル以外の用途で、ItemReferenceBoxで、groupやtrackなどの紐づけにも利用することができる。
【0061】
次に、第2の手法における第2例では、EntityToGroupBox(‘thmb’)を定義し、元画像とビデオサムネイルをグルーピングできるようにする。
【0062】
即ち、第2の手法における第2例は、EntityToGroupBoxでビデオサムネイルをシグナリングできるようにする手法である。例えば、EntityToGroupBoxは、entity_idフィールドでitem_idまたはtrack_idをシグナリングすることができる。しかしながら、元画像とサムネイルとをグルーピングするシグナリングは定義されていないとともに、group_idをシグナルすることはできなかった。そこで、元画像とサムネイルとの一覧を示すことができるグループを定義し、group_idをシグナルできるようにする。
【0063】
図7には、ビデオサムネイルをシグナリングするためのEntityToGroupBox(thmb)の定義の一例が示されている。
【0064】
図7に示すように、EntityToGroupBoxのgrouping_typeを’thmb’として、サムネイルが示すグルーピングであることを示す。そして、EntityToGroupBoxに含まれるentity_idは、1つ目がビデオサムネイルのtrack_id、2つ目以降が元画像となるitem_idを示す。
【0065】
さらに、元画像の再生の起点がgroup_idである場合を考慮して、entity_idフィールドでgroup_idをシグナリングできるようにする。この場合に、EntityToGroupBoxのflags&1が1である場合には、entity_idが、item_idおよびtrack_idがシグナルされていることに加えて、group_idがシグナルされていることを明示的に示すようにしてもよい。一方、EntityToGroupBoxのflags&1が0である場合には、item_idおよびtrack_idのいずれかがシグナルされていることを示す。
【0066】
なお、ビデオサムネイルを明示的に示すために、ビデオサムネイル専用のgrouping_typeを’vthm’としてもよい。
【0067】
また、第2の手法における第2例は、サムネイル以外の用途で、EntityToGroupBoxで、groupの紐づけにも利用可能である。
【0068】
<3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第3の手法>
図8乃至
図24を参照して、3Dオブジェクト静止画コンテンツにおいてサムネイルをシグナリングする第3の手法として、3Dオブジェクトサムネイルを用いる手法について説明する。
【0069】
まず、第3の手法の第1例では、元画像から3Dオブジェクトサムネイルを紐づけるようにする。
【0070】
例えば、3Dオブジェクトサムネイルデータは、V-PCCまたはG-PCCで符号化されたPoint Cloudデータである。これらは、ISOBMFFの技術を利用したファイル構造のファイルに格納される場合、3Dオブジェクトサムネイルデータを1streamとして1itemに格納するか、複数のstreamに分割してmulti itemで格納される。上述したように、multi itemの場合は、再生の起点は、itemで示されるか、EntityToGroupBoxのgroupで示される。
【0071】
そこで、第3の手法の第1例の1として、既存のItemReferenceBoxを拡張し、3Dオブジェクトサムネイルをシグナリングできるようにする手法について説明する。
【0072】
例えば、既存のItemReferenceBoxは、3Dオブジェクトサムネイルをシグナリングできない場合がある。それは、3Dオブジェクトサムネイルの再生の起点がgroup_idで示される場合にシグナリングができないからである。
【0073】
第3の手法の第1例の1では、ItemReferenceBoxを拡張し、3Dオブジェクトサムネイルの再生の起点がgroupで示される場合にも対応できるように拡張する。
【0074】
即ち、
図5を参照して上述したItemReferenceBox(第2の手法における第1例)と同様に、3Dオブジェクトサムネイルを示す役割情報を格納する手法を用いる。そして、第3の手法の第1例の1では、from_entity_IDとし、item_idまたはgroup_idをシグナリングすればよい。
【0075】
さらに、第3の手法の第1例の1の変形例として、
図6を参照して上述したようにSingleReferenceBoxの拡張と同様に、from_ID_typeは1として、from_IDで3Dオブジェクトサムネイルの再生の起点を示すgroup_idを指定することができる。
【0076】
なお、第3の手法の第1例の1では、3Dオブジェクトサムネイルであることを明示的に示すために、referenceTypeで’3dst’を指定してもよい。
【0077】
第3の手法の第1例の2では、上述した第2の手法における第2例と同様に、EntityToGroupBox(‘thmb’)を定義し、元画像と3Dオブジェクトサムネイルとをグルーピングできるようにする。
【0078】
例えば、EntityToGroupBoxは、entity_idフィールドでitem_idまたはtrack_idをシグナリングすることができる。しかしながら、元画像とサムネイルとをグルーピングするシグナリングは定義されていないとともに、group_idをシグナルすることはできなかった。そこで、元画像とサムネイルとの一覧が示すことができるグループを定義し、group_idをシグナルできるようにする。
【0079】
具体的な拡張の一例としては、上述の
図7を参照して説明した第2の手法における第2例と同様に、EntityToGroupBoxに含まれるentity_idは、1つ目が3Dオブジェクトサムネイルのtrack_idまたはgroup_id、2つ目以降が元画像となるitem_idまたはgroup_idを示す。
【0080】
なお、3Dオブジェクトサムネイルを明示的に示すために、3Dオブジェクトサムネイル専用のgrouping_typeを’3dst’としてもよい。
【0081】
次に、第3の手法の第2例では、3Dオブジェクトサムネイルの表示ルールのシグナリングできるようにする。
【0082】
例えば、3Dオブジェクトサムネイルを表示する場合、どのような表示をするかは、クライアントの実装に依存する。具体的には、ある1視点位置のみを2D画像として表示することもできるし、複数の視点位置を連続で表示することもできる。このため、3Dオブジェクトサムネイルを適切に表示させたいコンテンツオーサの意図が実現されないことがある。
【0083】
そこで、第3の手法の第2例では、コンテンツオーサが、3Dオブジェクトサムネイルの表示の仕方をシグナリングできるようにする。まず、表示ルールのシグナリング手法について説明し、さらに表示ルールをISOBMFFへ格納方法する方法について説明する。
【0084】
なお、第3の手法の第2例は、3Dオブジェクトサムネイルの表示ルールを示すための手法であるが、元画像を自動で表示する際に利用することもできる。さらに、ピクチャーサムネイルまたはビデオサムネイルにおいて、元画像のどこを表示したのかを示すためにも利用することができる。
【0085】
第3の手法の第2例の1として、表示ルールのシグナリングについて説明する。
【0086】
第3の手法の第2例の1-1では、3Dオブジェクトサムネイルを回転させる表示ルールをシグナリングする。即ち、第3の手法の第2例の1-1は、視点位置、視線方向、および画角は固定し、3Dオブジェクトサムネイルの座標系の回転を示すことで、3Dオブジェクトサムネイルの表示を切り替える手法である。
【0087】
例えば、
図8には、3Dオブジェクトサムネイルを特定の軸で回転させるシグナリングの一例が示されている。ここでは、
図9に示すような座標軸が用いられ、各軸に対する白抜きの矢印の方向を正回転の方向とする。
【0088】
例えば、loopは、3Dオブジェクトサムネイルの回転をループするか否かを示す。即ち、loopが1である場合には、3Dオブジェクトサムネイルが表示されている間は回転し続けることを示す。また、loopが0である場合には、3Dオブジェクトサムネイルが1回転のみしかしないことを示し、3Dオブジェクトサムネイルが1回転した後は初期位置を表示し続けることとする。
【0089】
また、rotation_typeは、3Dオブジェクトサムネイルが回転する座標軸を示す。即ち、rotation_typeが0である場合には、yaw軸を中心に回転することを示し、rotation_typeが1である場合には、pitch軸を中心に回転することを示し、rotation_typeが2である場合には、roll軸を中心に回転することを示す。
【0090】
また、negative_rotationは、3Dオブジェクトサムネイルが反回転か否かを示す。即ち、negative_rotationが0である場合には、3Dオブジェクトサムネイルが反回転しない(即ち、正回転する)ことを示し、negative_rotationが1である場合には、3Dオブジェクトサムネイルが反回転することを示す。
【0091】
さらに、timescaleおよびdurationは、3Dオブジェクトサムネイルが1回転する時間を示す。
【0092】
なお、第3の手法の第2例の1-1の変形例として、
図8の様々な回転を複数組み合わせることができるようにしてもよい。例えば、
図10のような構造でシグナリングする。
【0093】
図10に示すシグナリングは、複数の回転を連続で記述している点で
図8のシグナリングとは異なる。なお、
図10に示すシグナリングで、
図8と同じ名前のパラメータは同様のsemanticsである。
【0094】
また、
図10に示すシグナリングでは、新しく、angleパラメータで1回転以内の回転も可能とする。即ち、angle_durationは、angleで示されている角度を動かす時間を示している。
【0095】
ここで、第3の手法の第2例の1-1においては、最初の視点位置、視線方向、および画角(以下、初期位置と称する)に関する情報がない。そのため、クライアント毎に初期位置が変わる可能性があり、コンテンツオーサの意図が正しく実現することができない。そのため、初期位置をシグナリングしてもよい。
【0096】
そこで、
図11に示すようなViewingPointStructにより初期位置をシグナリングしてもよい。
【0097】
図11では、viewing_point_x,viewing_point_y,viewing_point_zによって、初期位置の視点位置が座標で示される。また、azimuth,elevation、およびtiltによって、初期位置の視線方向が角度で示される。そして、表示する画角情報が、azimuth_rangeおよびelevation_rangeで示される。
【0098】
このような初期位置のシグナリングは、3Dオブジェクトサムネイルを表示する際に利用するだけでなく、例えば、元画像の3Dオブジェクトを表示する際にも利用することができる。
【0099】
第3の手法の第2例の1-2では、3Dオブジェクトサムネイルの視点位置、視線方向、および画角をシグナリングする。即ち、第3の手法の第2例の1-2は、3Dオブジェクトサムネイルの視点位置、視線方向、および画角をシグナリングすることで、3Dオブジェクトサムネイルの表示を切り替える手法である。
【0100】
例えば、
図12に示すように、3Dオブジェクトサムネイルの視点位置、視線方向、および画角を複数シグナリングするため、
図11で定義したViewingPointStructを用いる。
【0101】
例えば、loopは、3Dオブジェクトサムネイルの表示をループするか否かを示す。即ち、loopが0である場合には、ViewingPointStructを全て表示したら終了することを示す。一方、loopが1である場合には、ViewingPointStructを全て表示したらすると、最初に戻りループして表示し続けることを示す。
【0102】
また、timescaleおよびdurationは、ViewingPointStructの表示時間を指定する。
【0103】
さらに、interpolateは、3Dオブジェクトサムネイルの表示を補完するか否かを示す。即ち、interpolateが1である場合には、前のViewingPointStructで示される視点位置、視線方向、および画角との間を、durationの時間内に補完して表示することを示す。一方、interpolateが0である場合には、そのような補完処理を行わないことを示す。
【0104】
なお、第3の手法の第2例の1-2の変形例として、視線方向に関しては、azimuth,elevation、およびtiltを用いているが、特定の座標軸上の点(x1,y1,z1)を指定し、常にその点が中心になるように表示するようにしてもよい。
【0105】
第3の手法の第2例の2として、表示ルールのISOBMFFへの格納方法について説明する。
【0106】
第3の手法の第2例の2-1では、3DオブジェクトサムネイルをItemPropertyとしてシグナリングする。即ち、第3の手法の第2例の2-1は、上述した第3の手法の第2例の1の表示ルールを、ItemPropertyに格納して3DオブジェクトサムネイルのItemに紐づけてシグナリングする手法である。
【0107】
図13には、ItemPropertyでシグナリングする一例が示されている。
【0108】
図13に示すようなシグナリングを、3DオブジェクトサムネイルのItemPropertyとして追加し、クライアントは、このItemPropertyがある場合は、表示ルールに従って表示を行う。
【0109】
また、初期位置に関しても同様に、ItemPropertyに格納して3DオブジェクトサムネイルのItemに紐づけてシグナリングする。
【0110】
図14には、ItemPropertyで初期位置をシグナリングする一例が示されている。
【0111】
第3の手法の第2例の2-2では、3Dオブジェクトサムネイルを派生画像としてシグナリングする。即ち、第3の手法の第2例の2-2は、上述した第3の手法の第2例の1の表示ルールを、HEIFの派生画像として新しく表示ルールのあるItemとして定義しシグナリングする手法である。
【0112】
図15には、3Dオブジェクトサムネイルを派生画像としてシグナリングする一例が示されている。
【0113】
例えば、
図15に示すように、表示ルールが規定されている3Dオブジェクト静止画コンテンツであることを示すitem_typeとして‘3dvw’を定義する。そのItem Dataとして、3DobjectDisplayStructを格納する。
【0114】
また、第3の手法の第2例の2-2において、初期位置は、ItemDataに一緒に格納してもよいし、第3の手法の第2例の1-2と同様にItemPropertyでシグナリングしてもよい。
【0115】
なお、ItemReferenceではなく、EntityToGroupBoxで3Dオブジェクト静止画コンテンツとともにシグナリングしてもよい。
【0116】
第3の手法の第2例の2-3では、3Dオブジェクトサムネイルをmetadata trackとしてシグナリングする。即ち、第3の手法の第2例の2-3は、表示ルールをmetadata trackとして格納し、サムネイルと紐づける手法である。
【0117】
まず、表示ルールをmetadata trackに格納する手法について説明する。
【0118】
図16および
図17は、上述した第3の手法の第2例の1-1の表示ルールとして示した
図10および
図11を、metadata trackで表した一例である。
【0119】
例えば、3DObjectDisplayMetaDataSampleEntry(‘3ddm’)には、時間ごとで変わらない情報を格納する。また、初期位置をシグナリングInitialDisplayBox(‘intD’)を格納する。また、時間ごとに変わる情報は、sampleとしてMediaDataBox(‘mdat’)に格納する。そして、sampleの構造は、3DObjectDisplayMetaDataSampleに示す。
【0120】
また、3DObjectDisplayMetaDataSampleでシグナリングされていない時間に関する情報(上述の
図10参照)は、既存のISOBMFFの機能にマッピングする。また、上述の
図10に示したtimescaleは、media header box(‘mdhd’)のtimescaleを用いる。同様に、
図10に示したangle_durationは、time to sample box(‘stts’)を用い、
図10に示したloopは、edit list box(‘edts’)のloop機能を用いる。
【0121】
さらに、上述した第3の手法の第2例の1-2の表示ルール(
図12参照)を用いる場合は、
図18に示すように、3DObjectDisplayMetaDataSampleEntry(‘3ddm’)と3DObjectDisplayMetaDataSampleを定義すればよい。
【0122】
例えば、3DObjectDisplayMetaDataSampleにシグナリングされていない時間関連の情報(上述の
図12参照)は、既存のISOBMFFの機能にマッピングする。また、
図12に示したtimescaleは、media header box(‘mdhd’)のtimescaleを用いる。同様に、
図12に示したdurationは、time to sample box(‘stts’)を用い、
図12に示したloopは、edit list box(‘edts’)のloop機能を用いる。
【0123】
図19には、metadata trackでシグナリングされた表示ルールと、サムネイルとを紐づける方法が示されている。
【0124】
図19に示すように、ItemReference(‘cdsc’)によって、表示ルールのtrackからサムネイルへの紐づけを行うことができる。ここで、ItemReference(‘cdsc’)は、既に規定済みのreferenceTypeでcontent descriptionを示すものである。ただし、ItemReferenceでは、track_idはシグナリングできないため、上述した第2の手法の第1例で拡張したItemReferenceを用いることで紐づけを可能にする。
【0125】
なお、第3の手法の第2例の変形例として、3Dオブジェクトサムネイルのitemおよびmetadata trackを、EntityToGroupBoxでシグナリングしてもよい。
【0126】
次に、第3の手法の第3例では、G-PCC静止画のGeometryデータの深さを限定して3Dオブジェクトサムネイルとする。
【0127】
例えば、G-PCC静止画データの、geometryデータを特定の深さまでデコードしてPoint Cloudを再構成すると、geometryデータを全てデコードしたPoint Cloudより低解像度なPoint Cloudを構成することができ、処理量を削減することできる。ただし、Attributeデータ(例えばテクスチャ)は、Geometryの特定の深さまでデコードした情報にあわせたものが必要となる。
【0128】
この特性を利用して、Geometryデータは元画像のデータとどこまでデコードするかの情報をシグナルし、専用のAttributeデータを、3Dオブジェクトサムネイルとする。しかし、そのように元データのGeometryデータを共用することはできない。そこで、共用を可能にするためのメタデータをシグナリングする。
【0129】
なお、第3の手法の第3例は、3Dオブジェクトサムネイルとして利用することを想定しているが、代替画像として利用してもよい。
【0130】
第3の手法の第3例の1では、geometryの深さ情報をGPCCConfigurationBoxでシグナリングする。即ち、第3の手法の第3例の1は、ItemPropertyのGPCCConfigurationBoxを拡張し、geometryデータを特定の深さまでデコードすることを示す手法である。
【0131】
図20には、GPCCConfigurationBoxを拡張して3Dオブジェクトサムネイルをシグナリングする一例が示されている。
図20において、太字で記載されている個所において、3Dオブジェクトサムネイルがシグナルされている。
【0132】
図20に示すように、geometry_decode_limited_flagは、geometryデータを特定の深さまでしかデコードするか否かを示す。例えば、geometry_decode_limited_flagが1である場合、geometryデータを特定の深さまでしかデコードしないことを示す。一方、geometry_decode_limited_flagが0である場合は、geometryデータは全てデコードすることを示す。また、geometry_decode_depthはデコードする深さ情報を示す。
【0133】
図21には、第3の手法の第3例の1におけるシグナリングを用いて、元画像とサムネイルとがそれぞれ1つずつ存在するファイル構成の一例が示されている。
図21に示す例では、元画像のgeometryは最大10の深さがあるとする。また、元画像がitem_id=1となっており、サムネイルがitem_id=2となっている。
【0134】
元画像のItemPropertyのGPCCConfigurationBox(ItemProperty(‘gpcC’))は、geometry_decode_limited_flag=0がシグナリングされる。これにより、geometryは全てを(深さ10まで)デコードすることを示している。また、格納されているParameterSetは、SPS、GPS、APS(1)となっている。ItemLocationBox(‘iloc’)から参照されるデータは、GeomとAttr(1)をまとめたoffsetとlengthを示す。
【0135】
また、サムネイルのItemProperty(‘gpcC’)は、geometry_decode_limited_flag=1およびgeometry_decode_depth=8がシグナリングされている。これにより、geometryは深さ8までデコードすることを示している。また、格納されているParameterSetは、SPS、GPS、APS(2)となっており、APSは元画像と異なるものとなる。そして、ItemLocationBox(‘iloc’)から参照されるデータは、GeomおよびAttr(2)のデータを、それぞれ指し示している。
【0136】
また、
図21に示すファイル構造では、ItemReferenceBox(‘iref’)において、item_id=2がitem_id=1のサムネイルであることを示している。
【0137】
第3の手法の第3例の2では、新しくItemPropertyを定義して、geometryの深さ情報をシグナリングする。即ち、第3の手法の第3例の2は、GPCCLimitedInfoPropertyを定義し、geometryデータを特定の深さまでデコードすることを示す手法である。
【0138】
図22には、GPCCLimitedInfoPropertyで3Dオブジェクトサムネイルシグナリングする一例が示されている。
【0139】
図23には、
図22に示したシグナリングを用いて、元画像とサムネイルとがそれぞれ1つ存在するファイル構成の一例が示されている。
【0140】
図22に示すファイル構成は、基本的には
図21に示したファイルの構成と同様となっていが、サムネイルのGPCCLimitedInfoProperty(ItemProperty(’gpcL’))によって、geometryデータの深さを制限する。
【0141】
第3の手法の第3例の3では、G-PCCのbitstreamでシグナリングする。即ち、第3の手法の第3例の3は、G-PCCのbitstreamに、geometryデータを特定の深さまでデコードすることを示すパラメータを入れる手法である。
【0142】
図24には、Sequence Parameter Setでgeometryデータを特定の深さまでデコードすることを示す一例が示されている。なお、フィールドの詳細は、
図20を参照して説明した第3の手法の第3例の1と同様である。
【0143】
なお、第3の手法の第3例の3では、Sequence Parameter Setで格納する例を挙げたが、Geometry Parameter SetやGeometry bitstreamなど別の場所で、
図24と同様にシグナリングしてもよい。
【0144】
<システム構成>
図25および
図26を参照して、本技術を適用したデータ生成装置およびデータ再生装置のシステム構成について説明する。
【0145】
図25には、データ生成装置の構成例を示すブロック図が示されている。
【0146】
図25に示すように、データ生成装置11は、制御部21、メモリ22、およびファイル生成部23を備えて構成される。例えば、メモリ22には、制御部21がファイル生成部23を制御するのに必要な各種のデータが記憶されており、制御部21は、そのデータを参照して、ファイル生成部23におけるファイルの生成を制御する。
【0147】
ファイル生成部23は、データ入力部31、データ符号化・生成部32、記録部33、および出力部34を備えて構成される。例えば、データ入力部31に入力されたデータは、データ符号化・生成部32に供給される。そして、データ符号化・生成部32で生成されたファイルが、記録部33を介して出力部34から出力され、例えば、記録メディアなどに記録される。
【0148】
データ符号化・生成部32は、前処理部35、符号化部36、およびファイル生成部37を有している。
【0149】
前処理部35は、データ入力部31から入力されるPoint Cloudから、geometry画像やtexture画像、各種のメタデータなどを生成する処理を実行する。さらに、前処理部35は、そのPoint Cloudを元画像として、サムネイルとして用いる画像データ(2次元の静止画データまたは動画像データ)または低解像度のPoint Cloudデータを生成する。そして、前処理部35は、生成した画像データまたは低解像度のPoint Cloudデータが、元画像に基づくサムネイルであることと、その元画像であるPoint Cloudとを示す役割情報を生成する。
【0150】
符号化部36は、V-PCCまたはG-PCCを用いてPoint Cloudを符号化する処理を実行する。さらに、符号化部36は、サムネイルとして用いる画像データまたは低解像度のPoint Cloudデータを符号化する。
【0151】
ファイル生成部37は、V-PCC静止画データまたはG-PCC静止画データとともに、前処理部35において生成されたメタデータを、ISOBMFFの技術を利用したファイル構造のファイルに格納し、そのファイルを生成する処理を実行する。さらに、ファイル生成部37は、符号化部36が符号化したサムネイルとして用いるデータと、前処理部35が生成した役割情報とをファイルに格納する。
【0152】
図26には、データ再生装置の構成例を示すブロック図が示されている。
【0153】
図26に示すように、データ再生装置12は、制御部41、メモリ42、および再生処理部43を備えて構成される。例えば、メモリ42には、制御部41が再生処理部43を制御するのに必要な各種のデータが記憶されており、制御部41は、そのデータを参照して、再生処理部43におけるPoint Cloudの再生を制御する。
【0154】
再生処理部43は、取得部51、表示制御部52、データ解析・復号部53、および表示部54を備えて構成される。例えば、取得部51により取得された、例えば、記録メディアなどから読み出されたファイルは、データ解析・復号部53に供給される。そして、表示制御部52による表示制御に従ってデータ解析・復号部53において生成された表示画面が、表示部54において表示される。
【0155】
データ解析・復号部53は、ファイル解析部55、復号部56、および表示情報生成部57を有している。
【0156】
ファイル解析部55は、ISOBMFFの技術を利用したファイル構造のファイルからV-PCC静止画データまたはG-PCC静止画データを抽出するとともに、メタデータを解析する処理を実行する。さらに、ファイル解析部55は、ファイルからサムネイルデータ(例えば、符号化部36において符号化されたサムネイルとして用いる画像データまたは低解像度のPoint Cloudデータ)を抽出するとともに、役割情報を取得する。
【0157】
また、復号部56は、ファイル解析部55において取得されたメタデータに従い、V-PCC静止画データまたはG-PCC静止画データを、V-PCCまたはG-PCCを用いて復号する処理を実行する。さらに、復号部56は、サムネイルとして用いる画像データまたは低解像度のPoint Cloudデータを復号する。
【0158】
また、表示情報生成部57は、Point Cloudを構築しPoint Cloudをレンダリングして表示画面を生成する。さらに、表示情報生成部57は、サムネイルとして用いる画像データまたは低解像度のPoint Cloudデータから、役割情報に従って元画像に対応するようにサムネイル(ピクチャーサムネイル、ビデオサムネイル、または3Dオブジェクトサムネイル)が表示される表示画面をレンダリングする。
【0159】
<ファイル生成処理>
【0160】
図27は、データ生成装置11のデータ符号化・生成部32が、サムネイルが格納されたファイルを生成するファイル生成処理を説明するフローチャートである。ここで、
図27で説明するファイル生成処理は、上述した第3の手法の第3例の3以外の各手法に適用される。
【0161】
ステップS11において、データ符号化・生成部32は、サムネイルデータ形式として、ピクチャーサムネイル、ビデオサムネイル、および3Dオブジェクトサムネイルのうちの、いずれを生成するのかを判定する。
【0162】
ステップS11において、データ符号化・生成部32が、ピクチャーサムネイルまたはビデオサムネイルを生成すると判定した場合、処理はステップS12に進む。
【0163】
ステップS12において、前処理部35は、サムネイルとして用いる画像データを生成して、符号化部36に供給する。例えば、ピクチャーサムネイルを生成する場合には、前処理部35は、Point Cloudデータから1つの視点位置、視点方向、および画角で2次元の静止画データを生成する。また、ビデオサムネイルを生成する場合には、前処理部35は、Point Cloudデータから複数の視点位置、視点方向、および画角で動画像データ(即ち、複数の静止画データ)を生成する。さらに、前処理部35は、静止画データまたは動画像データがサムネイルであることと、そのサムネイルを生成する元となった元画像であるPoint Cloudとを示す役割情報を生成する。
【0164】
ステップS13において、符号化部36は、ステップS12で生成した画像データを符号化して、ファイル生成部37に供給する。即ち、符号化部36は、ステップS12で前処理部35が生成した2次元の静止画データまたは動画像データを符号化する。
【0165】
一方、S11において、データ符号化・生成部32が、3Dオブジェクトサムネイルを生成すると判定した場合、処理はステップS14に進む。
【0166】
ステップS14において、前処理部35は、Point Cloudデータの解像度を落とすことにより、低解像度のPoint Cloudデータを生成して、符号化部36に供給する。さらに、前処理部35は、低解像度のPoint Cloudデータがサムネイルであることと、そのサムネイルを生成する元となった元画像であるPoint Cloudとを示す役割情報を生成する。
【0167】
ステップS15において、符号化部36は、ステップS14で前処理部35が生成した低解像度のPoint Cloudデータを、例えば、V-PCCまたはG-PCCを用いて符号化して、ファイル生成部37に供給する。
【0168】
ステップS16において、ファイル生成部37は、ステップS13またはS15で符号化部36が符号化したデータと、メタデータである役割情報とを含むように、ISOBMFFの技術を利用したファイルに格納し、処理は終了される。
【0169】
図28は、データ生成装置11のデータ符号化・生成部32が、サムネイルが格納されたファイルを生成するファイル生成処理を説明するフローチャートである。ここで、
図28で説明するファイル生成処理は、上述した第3の手法の第3例の3に適用される。
【0170】
ステップS21において、前処理部35は、Point CloudデータをG-PCCでエンコードする際のGeometryを特定の深さまでにエンコードすることを想定したAttributeデータを生成して、符号化部36に供給する。さらに、前処理部35は、生成したAttributeデータがサムネイルに対応するものであることと、そのAttributeデータに従った深さまでエンコードする対象となる元画像であるPoint Cloudとを示す役割情報を生成する。
【0171】
ステップS22において、符号化部36は、ステップS21で前処理部35が生成したAttributeデータを符号化して、ファイル生成部37に供給する。
【0172】
ステップS23において、ファイル生成部37は、ステップS23で符号化部36が符号化したデータ(Attributeデータ)と、メタデータである役割情報とを含むように、ISOBMFFの技術を利用したファイルに格納し、処理は終了される。
【0173】
なお、
図27および
図28のフローチャートでは、元画像をファイルに格納する処理についての説明は省略されているが、符号化部36において通常の解像度のPoint Cloudデータ(即ち、元画像)がV-PCCまたはG-PCCを用いて符号化されたデータが、ファイル生成部37によってISOBMFFの技術を利用したファイルに格納される。
【0174】
図29は、データ再生装置12のデータ解析・復号部53が、サムネイルを再生するサムネイル再生処理を説明するフローチャートである。
【0175】
ステップS31において、ファイル解析部55は、取得部51から供給されるファイルからサムネイルデータ(例えば、
図27のステップS13またはS15で符号化されたデータ)を抽出して、復号部56に供給する。また、ファイル解析部55は、サムネイルデータとともに格納されている役割情報も抽出して、表示情報生成部57に供給する。
【0176】
ステップS32において、復号部56は、ステップS31でファイル解析部55から供給されたサムネイルデータを復号し、復号により取得したデータを表示情報生成部57に供給する。
【0177】
ステップS33において、表示情報生成部57は、ステップS32で復号部56が復号したデータ、および、ステップS31でファイル解析部55から供給されたメタデータである役割情報から、元画像に対応するようにサムネイル(ピクチャーサムネイル、ビデオサムネイル、または3Dオブジェクトサムネイル)が表示される表示画面をレンダリングする。
【0178】
そして、ステップS33の処理後、表示情報生成部57によりレンダリングされた表示画面が、
図26の表示部54に表示される。
【0179】
以上のように、本技術は、3Dオブジェクト静止画コンテンツを元画像とする場合に、2次元の静止画データ、動画像データ、および低解像度でエンコードされたPoint Cloudデータのいずれかを、サムネイルデータとしてアクセスすることができる。このように、動画像データや、低解像度でエンコードされたPoint Cloudデータをサムネイルとして利用することにより、コンテンツオーサは、より高機能なサムネイルをユーザに提供することができる。従って、ユーザは、コンテンツの内容をサムネイルから多く得ることが可能になる。また、元画像のエンコード形式によらず、サムネイルデータのエンコード形式は自由に設定が可能である。
【0180】
また、3Dオブジェクト静止画コンテンツをサムネイルデータとする場合は、コンテンツオーサの意図をクライアントに伝えることができ、クライアントはコンテンツオーサの意図に合わせた表示をすることができる。このように表示することで、複数のクライアント間の表示を揃えることも可能である。
【0181】
例えば、表示ルールおよび初期位置情報は、サムネイルだけでなく、元画像にも利用ができる。このように元画像で利用する際は、ユーザが操作することなく様々な位置からコンテンツを見ることが可能になる。また、クライアントによっては、表示時には初期位置のみを表示し、フォーカスが当たったときに表示ルールに従って表示することで、処理量を減らしたサムネイル表示も可能である。
【0182】
また、ユーザは、サムネイルデータ自身を変更することなく、メタデータの編集のみでサムネイルの表示を変更することが可能になる。
【0183】
さらに、G-PCCを元画像およびサムネイルとして用いる場合に、geometry bitstreamのデコードする深さを限定することで、同じbitstreamデータを3Dオブジェクト静止画コンテンツとサムネイルデータで共用することが可能になる。そのため、サムネイルデータ用のgeometry bitstreamを含む必要がなくなる分だけデータ量の削減を図ることができる。この手法は、サムネイルだけでなく、低解像度の代替画像とする場合にも利用できる手法である。
【0184】
<コンピュータの構成例>
次に、上述した一連の処理(情報処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0185】
図30は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0186】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0187】
あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0188】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0189】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0190】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0191】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0192】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0193】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0194】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0195】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0196】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0197】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0198】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0199】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0200】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0201】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0202】
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成する前処理部と、
前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納するファイル生成部と
を備える情報処理装置。
(2)
前記役割情報は、前記符号化データにおける再生の起点となる情報を含む
上記(1)に記載の情報処理装置。
(3)
前記再生の起点となる情報は、前記符号化データにおける再生すべきストリームを識別するグループ識別情報でもある
上記(2)に記載の情報処理装置。
(4)
前記前処理部は、前記サムネイルとして、特定の視点位置、視点方向、および画角で、前記3Dオブジェクトを表示した2次元の静止画データを示す前記役割情報を生成する
上記(1)から(3)までのいずれかに記載の情報処理装置。
(5)
前記前処理部は、前記サムネイルとして、複数の視点位置、視点方向、および画角で、前記3Dオブジェクトを表示した画像から構成される動画像データであるビデオサムネイルを示す前記役割情報を生成する
上記(1)から(3)までのいずれかに記載の情報処理装置。
(6)
前記ファイル生成部は、前記ビデオサムネイルを示す前記役割情報を、ItemReferenceBoxに格納する
上記(5)に記載の情報処理装置。
(7)
前記ファイル生成部は、前記ビデオサムネイルを示す前記役割情報を、EntityToGroupBoxに格納する
上記(5)に記載の情報処理装置。
(8)
前記前処理部は、前記サムネイルとして、低解像度でエンコードされた前記3Dオブジェクトである3Dオブジェクトサムネイルを示す前記役割情報を生成する
上記(1)から(3)までのいずれかに記載の情報処理装置。
(9)
前記ファイル生成部は、前記3Dオブジェクトサムネイルを示す前記役割情報を、ItemReferenceBoxに格納する
上記(8)に記載の情報処理装置。
(10)
前記ファイル生成部は、前記3Dオブジェクトサムネイルを示す前記役割情報を、EntityToGroupBoxに格納する
上記(8)に記載の情報処理装置。
(11)
前記前処理部は、前記3Dオブジェクトサムネイルの表示ルールを生成する
上記(8)に記載の情報処理装置。
(12)
前記3Dオブジェクトサムネイルの表示ルールは、前記3Dオブジェクトサムネイルを表示する際の回転で示されるメタデータである
上記(11)に記載の情報処理装置。
(13)
前記3Dオブジェクトサムネイルの表示ルールは、前記3Dオブジェクトサムネイルを表示する際の視点位置、視線方向、および画角で示されるメタデータである
上記(11)に記載の情報処理装置。
(14)
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示の初期位置を前記ファイルに格納する
上記(11)に記載の情報処理装置。
(15)
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、ItemPropertyに格納する
上記(11)から(14)までのいずれかに記載の情報処理装置。
(16)
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、Itemに格納する
上記(11)から(14)までのいずれかに記載の情報処理装置。
(17)
前記ファイル生成部は、前記3Dオブジェクトサムネイルの表示ルールを、meta trackに格納する
上記(11)から(14)までのいずれかに記載の情報処理装置。
(18)
前記前処理部は、前記3DオブジェクトサムネイルでG-PCC(Geometry based Point Cloud Coding)を用いている場合に、Geometryのデコードを限定したデータを前記サムネイルとするための前記役割情報を生成する
上記(8)に記載の情報処理装置。
(19)
前記前処理部は、ItemPropertyでGeometryのデコードを限定することを示す前記役割情報を生成する
上記(18)に記載の情報処理装置。
(20)
情報処理装置が、
3Dオブジェクトを元データとして、その元データから生成されたサムネイルデータが前記元データに基づくサムネイルであることを示す情報である役割情報を生成することと、
前記役割情報、および、前記3Dオブジェクトの1フレーム分が所定の符号化方法で符号化された符号化データを、所定のファイル構造のファイルに格納することと
を含む情報処理方法。
【0203】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0204】
11 データ生成装置, 12 データ再生装置, 21 制御部, 22 メモリ, 23 ファイル生成部, 31 データ入力部, 32 データ符号化・生成部, 33 記録部, 34 出力部, 35 前処理部, 36 符号化部, 37 ファイル生成部, 41 制御部, 42 メモリ, 43 再生処理部, 51 取得部, 52 表示制御部, 53 データ解析・復号部, 54 表示部, 55 ファイル解析部, 56 復号部, 57 表示情報生成部