IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

特許7581047三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
(51)【国際特許分類】
   G06T 9/40 20060101AFI20241105BHJP
【FI】
G06T9/40
【請求項の数】 12
(21)【出願番号】P 2020535779
(86)(22)【出願日】2019-08-06
(86)【国際出願番号】 JP2019030842
(87)【国際公開番号】W WO2020032004
(87)【国際公開日】2020-02-13
【審査請求日】2022-08-03
(31)【優先権主張番号】62/714,973
(32)【優先日】2018-08-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】井口 賀敬
(72)【発明者】
【氏名】杉尾 敏康
【審査官】鉢呂 健
(56)【参考文献】
【文献】国際公開第2018/123801(WO,A1)
【文献】国際公開第2013/018296(WO,A1)
【文献】国際公開第2020/027317(WO,A1)
【文献】国際公開第2018/038131(WO,A1)
【文献】特開2011-228862(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00- 9/40
H04N 19/00-19/98
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、
前記1以上のユニットをファイルに格納し、
前記格納では、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を前記ファイルの制御情報に格納し、
前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、
前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され
前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
三次元データ格納方法。
【請求項2】
前記第1符号化方法の前記位置情報は、点群データの位置をN(Nは2以上の整数)分木で表
請求項1記載の三次元データ格納方法。
【請求項3】
前記格納では、さらに、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの前記制御情報に格納する
請求項1記載の三次元データ格納方法。
【請求項4】
前記第1ユニット及び前記第2ユニットの各々は、ヘッダとペイロードとを含み、
前記ペイロードは符号化データ又はメタデータを含み、
前記ヘッダは、前記ペイロードに含まれるデータの種別を示す情報を含む
請求項3記載の三次元データ格納方法。
【請求項5】
前記ファイルは、ISOBMFF(ISO based media file format)に準拠する
請求項1~4のいずれか1項に記載の三次元データ格納方法。
【請求項6】
点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、
前記ファイルから、前記1以上のユニットを取得し、
前記ファイルは、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を含み、
前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、
前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され
前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
三次元データ取得方法。
【請求項7】
前記第1符号化方法の前記位置情報は、点群データの位置をN(Nは2以上の整数)分木で表
請求項6記載の三次元データ取得方法。
【請求項8】
前記ファイルは、さらに、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む
請求項6記載の三次元データ取得方法。
【請求項9】
前記第1ユニット及び前記第2ユニットの各々は、ヘッダとペイロードとを含み、
前記ペイロードは符号化データ又はメタデータを含み、
前記ヘッダは、前記ペイロードに含まれるデータの種別を示す情報を含む
請求項8記載の三次元データ取得方法。
【請求項10】
前記ファイルは、ISOBMFF(ISO based media file format)に準拠する
請求項6~9のいずれか1項に記載の三次元データ取得方法。
【請求項11】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、
前記1以上のユニットをファイルに格納し、
前記格納では、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を前記ファイルの制御情報に格納し、
前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、
前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され
前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
三次元データ格納装置。
【請求項12】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、
前記ファイルから、前記1以上のユニットを取得し、
前記ファイルは、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を含み、
前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、
前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され
前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
三次元データ取得装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置に関する。
【背景技術】
【0002】
自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
【0003】
三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
【0004】
また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
【0005】
また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【文献】国際公開第2014/020663号
【発明の概要】
【発明が解決しようとする課題】
【0007】
三次元データを処理する装置において、処理量の低減又は処理の高速化が望まれている。
【0008】
本開示は、三次元データを処理する装置において、処理量の低減又は処理の高速化を実現できる三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、又は三次元データ取得装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様に係る三次元データ格納方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を前記ファイルの制御情報に格納し、前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され、前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
【0010】
本開示の一態様に係る三次元データ取得方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルは、第1符号化方法と第2符号化方法を含む複数の符号化方式のうち、前記点群データの符号化に用いられた符号化方法を示す情報を含み、前記点群データが第1符号化方法で符号化された場合、符号化された前記点群データは第1フォーマットを有する第1ユニットに格納され、前記点群データが第2符号化方法で符号化された場合、符号化された前記点群データは前記第1フォーマットとは異なる第2フォーマットを有する第2ユニットに格納され、前記第1符号化方法は、点群データの位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
【発明の効果】
【0011】
本開示は、三次元データを処理する装置において、処理量の低減又は処理の高速化を実現できる三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、又は三次元データ取得装置を提供できる。
【図面の簡単な説明】
【0012】
図1図1は、実施の形態1に係る三次元データ符号化復号システムの構成を示す図である。
図2図2は、実施の形態1に係る点群データの構成例を示す図である。
図3図3は、実施の形態1に係る点群データ情報が記述されたデータファイルの構成例を示す図である。
図4図4は、実施の形態1に係る点群データの種類を示す図である。
図5図5は、実施の形態1に係る第1の符号化部の構成を示す図である。
図6図6は、実施の形態1に係る第1の符号化部のブロック図である。
図7図7は、実施の形態1に係る第1の復号部の構成を示す図である。
図8図8は、実施の形態1に係る第1の復号部のブロック図である。
図9図9は、実施の形態1に係る第2の符号化部の構成を示す図である。
図10図10は、実施の形態1に係る第2の符号化部のブロック図である。
図11図11は、実施の形態1に係る第2の復号部の構成を示す図である。
図12図12は、実施の形態1に係る第2の復号部のブロック図である。
図13図13は、実施の形態1に係るPCC符号化データに関わるプロトコルスタックを示す図である。
図14図14は、実施の形態1に係るプロトコルスタックを示す図である。
図15図15は、実施の形態1に係るNALユニットのシンタックス例を示す図である。
図16図16は、実施の形態1に係るNALユニットヘッダのシンタックス例を示す図である。
図17図17は、実施の形態1に係るpcc_codec_typeのセマンティクス例を示す図である。
図18図18は、実施の形態1に係るpcc_nal_unit_typeのセマンティクス例を示す図である。
図19図19は、実施の形態1に係る符号化処理のフローチャートである。
図20図20は、実施の形態1に係る第2の復号部による復号処理のフローチャートである。
図21図21は、実施の形態1に係る第1の復号部による復号処理のフローチャートである。
図22図22は、実施の形態2に係るプロトコルスタックを示す図である。
図23図23は、実施の形態2に係るコーデック2用のNALユニットのシンタックス例を示す図である。
図24図24は、実施の形態2に係るコーデック2用のNALユニットヘッダのシンタックス例を示す図である。
図25図25は、実施の形態2に係るcodec2_nal_unit_typeのセマンティクス例を示す図である。
図26図26は、実施の形態2に係るコーデック1用のNALユニットのシンタックス例を示す図である。
図27図27は、実施の形態2に係るコーデック1用のNALユニットヘッダのシンタックス例を示す図である。
図28図28は、実施の形態2に係るcodec1_nal_unit_typeのセマンティクス例を示す図である。
図29図29は、実施の形態2に係る符号化処理のフローチャートである。
図30図30は、実施の形態2に係る復号処理のフローチャートである。
図31図31は、実施の形態3に係るプロトコルスタックを示す図である。
図32図32は、実施の形態3に係るNALユニットのシンタックス例を示す図である。
図33図33は、実施の形態3に係るNALユニットヘッダのシンタックス例を示す図である。
図34図34は、実施の形態3に係るpcc_nal_unit_typeのセマンティクス例を示す図である。
図35図35は、実施の形態3に係る符号化処理のフローチャートである。
図36図36は、実施の形態3に係る復号処理のフローチャートである。
図37図37は、実施の形態の変形例に係る符号化処理のフローチャートである。
図38図38は、実施の形態の変形例に係る復号処理のフローチャートである。
図39図39は、実施の形態4に係る符号化部のブロック図である。
図40図40は、実施の形態4に係る復号部のブロック図である。
図41図41は、実施の形態4に係る符号化処理のフローチャートである。
図42図42は、実施の形態4に係る復号処理のフローチャートである。
図43図43は、実施の形態5に係るISOBMFFの基本構造を示す図である。
図44図44は、実施の形態5に係るプロトコルスタックを示す図である。
図45図45は、実施の形態5に係るNALユニットをコーデック1用のファイルに格納する例を示す図である。
図46図46は、実施の形態5に係るNALユニットをコーデック2用のファイルに格納する例を示す図である。
図47図47は、実施の形態5に係る第1の多重化部の構成を示す図である。
図48図48は、実施の形態5に係る第1の逆多重化部の構成を示す図である。
図49図49は、実施の形態5に係る第2の多重化部の構成を示す図である。
図50図50は、実施の形態5に係る第2の逆多重化部の構成を示す図である。
図51図51は、実施の形態5に係る第1の多重化部による処理のフローチャートである。
図52図52は、実施の形態5に係る第2の多重化部による処理のフローチャートである。
図53図53は、実施の形態5に係る第1の逆多重化部及び第1の復号部による処理のフローチャートである。
図54図54は、実施の形態5に係る第2の逆多重化部及び第2の復号部による処理のフローチャートである。
図55図55は、実施の形態6に係る符号化部及び第3の多重化部の構成を示す図である。
図56図56は、実施の形態6に係る第3の逆多重化部及び復号部の構成を示す図である。
図57図57は、実施の形態6に係る第3の多重化部による処理のフローチャートである。
図58図58は、実施の形態6に係る第3の逆多重化部及び復号部による処理のフローチャートである。
図59図59は、実施の形態6に係る三次元データ格納装置による処理のフローチャートである。
図60図60は、実施の形態6に係る三次元データ取得装置による処理のフローチャートである。
【発明を実施するための形態】
【0013】
本開示の一態様に係る三次元データ格納方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する。
【0014】
これによれば、当該三次元データ格納方法で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
【0015】
例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記点群データの符号化に用いられた符号化方法を示してもよい。
【0016】
これによれば、当該三次元データ格納方法で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
【0017】
例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式であってもよい。
【0018】
例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠してもよい。
【0019】
本開示の一態様に係る三次元データ取得方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む。
【0020】
これによれば、当該三次元データ取得方法は、ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得方法を行う装置又はその後段の装置の処理量の低減又は処理の高速化を実現できる。
【0021】
例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示してもよい。
【0022】
これによれば、当該三次元データ取得方法は、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該三次元データ取得方法を行う装置又はその後段の装置の処理量の低減又は処理の高速化を実現できる。
【0023】
例えば、前記情報に基づき、前記第1符号化方法で符号化された前記データと前記第2符号化方法で符号化された前記データとを含む符号化された前記点群データから、いずれか一方の符号化方法で符号化された前記データを取得してもよい。
【0024】
例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式であってもよい。
【0025】
例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠してもよい。
【0026】
また、本開示の一態様に係る三次元データ格納装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する。
【0027】
これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
【0028】
また、本開示の一態様に係る三次元データ取得装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む。
【0029】
これによれば、当該三次元データ取得装置は、ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
【0030】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0031】
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0032】
(実施の形態1)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
【0033】
本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報を送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元データ復号方法及び三次元データ復号装置、並びに、当該符号化データを多重化する三次元データ多重化方法、並びに、当該符号化データを伝送する三次元データ伝送方法について説明する。
【0034】
特に、現在、点群データの符号化方法(符号化方式)として第1の符号化方法、及び第2の符号化方法が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、又は、伝送或いは蓄積ができないという課題がある。
【0035】
また、PCC(Point Cloud Compression)のように、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するフォーマットをサポートする方法はこれまで存在しない。
【0036】
本実施の形態では、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するPCC符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法について説明する。
【0037】
まず、本実施の形態に係る三次元データ(点群データ)符号化復号システムの構成を説明する。図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム4601と、三次元データ復号システム4602と、センサ端末4603と、外部接続部4604とを含む。
【0038】
三次元データ符号化システム4601は、三次元データである点群データを符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム4601は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム4601に含まれる複数の処理部のうち一部を含んでもよい。
【0039】
三次元データ符号化システム4601は、点群データ生成システム4611と、提示部4612と、符号化部4613と、多重化部4614と、入出力部4615と、制御部4616とを含む。点群データ生成システム4611は、センサ情報取得部4617と、点群データ生成部4618とを含む。
【0040】
センサ情報取得部4617は、センサ端末4603からセンサ情報を取得し、センサ情報を点群データ生成部4618に出力する。点群データ生成部4618は、センサ情報から点群データを生成し、点群データを符号化部4613へ出力する。
【0041】
提示部4612は、センサ情報又は点群データをユーザに提示する。例えば、提示部4612は、センサ情報又は点群データに基づく情報又は画像を表示する。
【0042】
符号化部4613は、点群データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部4614へ出力する。付加情報は、例えば、センサ情報を含む。
【0043】
多重化部4614は、符号化部4613から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。
【0044】
入出力部4615(例えば、通信部又はインタフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部4616(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4616は、符号化及び多重化等の制御を行う。
【0045】
なお、センサ情報が符号化部4613又は多重化部4614へ入力されてもよい。また、入出力部4615は、点群データ又は符号化データをそのまま外部へ出力してもよい。
【0046】
三次元データ符号化システム4601から出力された伝送信号(多重化データ)は、外部接続部4604を介して、三次元データ復号システム4602に入力される。
【0047】
三次元データ復号システム4602は、符号化データ又は多重化データを復号することで三次元データである点群データを生成する。なお、三次元データ復号システム4602は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム4602に含まれる複数の処理部のうち一部を含んでもよい。
【0048】
三次元データ復号システム4602は、センサ情報取得部4621と、入出力部4622と、逆多重化部4623と、復号部4624と、提示部4625と、ユーザインタフェース4626と、制御部4627とを含む。
【0049】
センサ情報取得部4621は、センサ端末4603からセンサ情報を取得する。
【0050】
入出力部4622は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部4623へ出力する。
【0051】
逆多重化部4623は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部4624へ出力する。
【0052】
復号部4624は、符号化データを復号することで点群データを再構成する。
【0053】
提示部4625は、点群データをユーザに提示する。例えば、提示部4625は、点群データに基づく情報又は画像を表示する。ユーザインタフェース4626は、ユーザの操作に基づく指示を取得する。制御部4627(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4627は、逆多重化、復号及び提示等の制御を行う。
【0054】
なお、入出力部4622は、点群データ又は符号化データをそのまま外部から取得してもよい。また、提示部4625は、センサ情報などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部4625は、ユーザインタフェース4626で取得されたユーザの指示に基づき、提示を行ってもよい。
【0055】
センサ端末4603は、センサで得られた情報であるセンサ情報を生成する。センサ端末4603は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。
【0056】
センサ端末4603で取得可能なセンサ情報は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末4603と対象物との距離、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離又は対象物の反射率等である。また、センサ情報は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、又は加速度等を含んでもよい。また、センサ情報は、気温、気圧、湿度、又は磁気等を含んでもよい。
【0057】
外部接続部4604は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。
【0058】
次に、点群データについて説明する。図2は、点群データの構成を示す図である。図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。
【0059】
点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報とを含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。
【0060】
三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。
【0061】
1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。
【0062】
図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。
【0063】
位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。
【0064】
次に、点群データの種類について説明する。図4は、点群データの種類を示す図である。図4に示すように、点群データには、静的オブジェクトと、動的オブジェクトとがある。
【0065】
静的オブジェクトは、任意の時間(ある時刻)の三次元点群データである。動的オブジェクトは、時間的に変化する三次元点群データである。以降、ある時刻の三次元点群データをPCCフレーム、又はフレームと呼ぶ。
【0066】
オブジェクトは、通常の映像データのように、ある程度領域が制限されている点群であってもよいし、地図情報のように領域が制限されていない大規模点群であってもよい。
【0067】
また、様々な密度の点群データがあり、疎な点群データと、密な点群データとが存在してもよい。
【0068】
以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。点群データ生成部4618は、センサ情報取得部4617で得られたセンサ情報に基づき点群データを生成する。点群データ生成部4618は、点群データとして、位置情報を生成し、位置情報に、当該位置情報に対する属性情報を付加する。
【0069】
点群データ生成部4618は、位置情報の生成又は属性情報の付加の際に、点群データを加工してもよい。例えば、点群データ生成部4618は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、点群データ生成部4618は、位置情報を変換(位置シフト、回転又は正規化など)してもよいし、属性情報をレンダリングしてもよい。
【0070】
なお、図1では、点群データ生成システム4611は、三次元データ符号化システム4601に含まれるが、三次元データ符号化システム4601の外部に独立して設けられてもよい。
【0071】
符号化部4613は、点群データを予め規定された符号化方法に基づき符号化することで符号化データを生成する。符号化方法には大きく以下の2種類がある。一つ目は、位置情報を用いた符号化方法であり、この符号化方法を、以降、第1の符号化方法と記載する。二つ目は、ビデオコーデックを用いた符号化方法であり、この符号化方法を、以降、第2の符号化方法と記載する。
【0072】
復号部4624は、符号化データを予め規定された符号化方法に基づき復号することで点群データを復号する。
【0073】
多重化部4614は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部4614は、PCC符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部4614は、さらに、センサ情報又は点群データに関連する属性情報を多重してもよい。
【0074】
多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RMPなどがある。
【0075】
逆多重化部4623は、多重化データからPCC符号化データ、その他のメディア、及び時刻情報などを抽出する。
【0076】
入出力部4615は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部4615は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。
【0077】
通信プロトコルとしては、http、ftp、TCP又はUDPなどが用いられる。PULL型の通信方式が用いられてもよいし、PUSH型の通信方式が用いられてもよい。
【0078】
有線伝送及び無線伝送のいずれが用いられてもよい。有線伝送としては、Ethernet(登録商標)、USB、RS-232C、HDMI(登録商標)、又は同軸ケーブルなどが用いられる。無線伝送としては、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)又はミリ波などが用いられる。
【0079】
また、放送方式としては、例えばDVB-T2、DVB-S2、DVB-C2、ATSC3.0、又はISDB-S3などが用いられる。
【0080】
図5は、第1の符号化方法の符号化を行う符号化部4613の例である第1の符号化部4630の構成を示す図である。図6は、第1の符号化部4630のブロック図である。第1の符号化部4630は、点群データを第1の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部4630は、位置情報符号化部4631と、属性情報符号化部4632と、付加情報符号化部4633と、多重化部4634とを含む。
【0081】
第1の符号化部4630は、三次元構造を意識して符号化を行うという特徴を有する。また、第1の符号化部4630は、属性情報符号化部4632が、位置情報符号化部4631から得られる情報を用いて符号を行うという特徴を有する。第1の符号化方法は、GPCC(Geometry based PCC)とも呼ばれる。
【0082】
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報(MetaData)を含む。位置情報は位置情報符号化部4631に入力され、属性情報は属性情報符号化部4632に入力され、付加情報は付加情報符号化部4633に入力される。
【0083】
位置情報符号化部4631は、位置情報を符号化することで符号化データである符号化位置情報(Compressed Geometry)を生成する。例えば、位置情報符号化部4631は、8分木等のN分木構造を用いて位置情報を符号化する。具体的には、8分木では、対象空間が8個のノード(サブ空間)に分割され、各ノードに点群が含まれるか否かを示す8ビットの情報(オキュパンシー符号)が生成される。また、点群が含まれるノードは、さらに、8個のノードに分割され、当該8個のノードの各々に点群が含まれるか否かを示す8ビットの情報が生成される。この処理が、予め定められた階層又はノードに含まれる点群の数の閾値以下になるまで繰り返される。
【0084】
属性情報符号化部4632は、位置情報符号化部4631で生成された構成情報を用いて符号化することで符号化データである符号化属性情報(Compressed Attribute)を生成する。例えば、属性情報符号化部4632は、位置情報符号化部4631で生成された8分木構造に基づき、処理対象の対象点(対象ノード)の符号化において参照する参照点(参照ノード)を決定する。例えば、属性情報符号化部4632は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
【0085】
また、属性情報の符号化処理は、量子化処理、予測処理、及び算術符号化処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、符号化のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、符号化のパラメータとは、量子化処理における量子化パラメータ、又は算術符号化におけるコンテキスト等である。
【0086】
付加情報符号化部4633は、付加情報のうち、圧縮可能なデータを符号化することで符号化データである符号化付加情報(Compressed MetaData)を生成する。
【0087】
多重化部4634は、符号化位置情報、符号化属性情報、符号化付加情報及びその他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
【0088】
次に、第1の符号化方法の復号を行う復号部4624の例である第1の復号部4640について説明する。図7は、第1の復号部4640の構成を示す図である。図8は、第1の復号部4640のブロック図である。第1の復号部4640は、第1の符号化方法で符号化された符号化データ(符号化ストリーム)を、第1の符号化方法で復号することで点群データを生成する。この第1の復号部4640は、逆多重化部4641と、位置情報復号部4642と、属性情報復号部4643と、付加情報復号部4644とを含む。
【0089】
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第1の復号部4640に入力される。
【0090】
逆多重化部4641は、符号化データから、符号化位置情報(Compressed Geometry)、符号化属性情報(Compressed Attribute)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
【0091】
位置情報復号部4642は、符号化位置情報を復号することで位置情報を生成する。例えば、位置情報復号部4642は、8分木等のN分木構造で表される符号化位置情報から三次元座標で表される点群の位置情報を復元する。
【0092】
属性情報復号部4643は、位置情報復号部4642で生成された構成情報に基づき、符号化属性情報を復号する。例えば、属性情報復号部4643は、位置情報復号部4642で得られた8分木構造に基づき、処理対象の対象点(対象ノード)の復号において参照する参照点(参照ノード)を決定する。例えば、属性情報復号部4643は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
【0093】
また、属性情報の復号処理は、逆量子化処理、予測処理、及び算術復号処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、復号のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、復号のパラメータとは、逆量子化処理における量子化パラメータ、又は算術復号におけるコンテキスト等である。
【0094】
付加情報復号部4644は、符号化付加情報を復号することで付加情報を生成する。また、第1の復号部4640は、位置情報及び属性情報の復号処理に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
【0095】
次に、第2の符号化方法の符号化を行う符号化部4613の例である第2の符号化部4650について説明する。図9は、第2の符号化部4650の構成を示す図である。図10は、第2の符号化部4650のブロック図である。
【0096】
第2の符号化部4650は、点群データを第2の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第2の符号化部4650は、付加情報生成部4651と、位置画像生成部4652と、属性画像生成部4653と、映像符号化部4654と、付加情報符号化部4655と、多重化部4656とを含む。
【0097】
第2の符号化部4650は、三次元構造を二次元画像に投影することで位置画像及び属性画像を生成し、生成した位置画像及び属性画像を既存の映像符号化方式を用いて符号化するという特徴を有する。第2の符号化方法は、VPCC(Video based PCC)とも呼ばれる。
【0098】
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報MetaData)を含む。
【0099】
付加情報生成部4651は、三次元構造を二次元画像に投影することで、複数の二次元画像のマップ情報を生成する。
【0100】
位置画像生成部4652は、位置情報と、付加情報生成部4651で生成されたマップ情報とに基づき、位置画像(Geometry Image)を生成する。この位置画像は、例えば、画素値として距離(Depth)が示される距離画像である。なお、この距離画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
【0101】
属性画像生成部4653は、属性情報と、付加情報生成部4651で生成されたマップ情報とに基づき、属性画像を生成する。この属性画像は、例えば、画素値として属性情報(例えば色(RGB))が示される画像である。なお、この画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
【0102】
映像符号化部4654は、位置画像及び属性画像を、映像符号化方式を用いて符号化することで、符号化データである符号化位置画像(Compressed Geometry Image)及び符号化属性画像(Compressed Attribute Image)を生成する。なお、映像符号化方式として、公知の任意の符号化方法が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
【0103】
付加情報符号化部4655は、点群データに含まれる付加情報、及びマップ情報等を符号化することで符号化付加情報(Compressed MetaData)を生成する。
【0104】
多重化部4656は、符号化位置画像、符号化属性画像、符号化付加情報、及び、その他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
【0105】
次に、第2の符号化方法の復号を行う復号部4624の例である第2の復号部4660について説明する。図11は、第2の復号部4660の構成を示す図である。図12は、第2の復号部4660のブロック図である。第2の復号部4660は、第2の符号化方法で符号化された符号化データ(符号化ストリーム)を、第2の符号化方法で復号することで点群データを生成する。この第2の復号部4660は、逆多重化部4661と、映像復号部4662と、付加情報復号部4663と、位置情報生成部4664と、属性情報生成部4665とを含む。
【0106】
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第2の復号部4660に入力される。
【0107】
逆多重化部4661は、符号化データから、符号化位置画像(Compressed Geometry Image)、符号化属性画像(Compressed Attribute Image)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
【0108】
映像復号部4662は、符号化位置画像及び符号化属性画像を、映像符号化方式を用いて復号することで、位置画像及び属性画像を生成する。なお、映像符号化方式として、公知の任意の符号化方式が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
【0109】
付加情報復号部4663は、符号化付加情報を復号することで、マップ情報等を含む付加情報を生成する。
【0110】
位置情報生成部4664は、位置画像とマップ情報とを用いて位置情報を生成する。属性情報生成部4665は、属性画像とマップ情報とを用いて属性情報を生成する。
【0111】
第2の復号部4660は、復号に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
【0112】
以下、PCC符号化方式における課題を説明する。図13は、PCC符号化データに関わるプロトコルスタックを示す図である。図13には、PCC符号化データに、映像(例えばHEVC)又は音声などの他のメディアのデータを多重し、伝送又は蓄積する例を示す。
【0113】
多重化方式及びファイルフォーマットは、様々な符号化データを多重し、伝送又は蓄積するための機能を有している。符号化データを伝送又は蓄積するためには、符号化データを多重化方式のフォーマットに変換しなければならない。例えば、HEVCでは、NALユニットと呼ばれるデータ構造に符号化データを格納し、NALユニットをISOBMFFに格納する技術が規定されている。
【0114】
一方、現在、点群データの符号化方法として第1の符号化方法(Codec1)、及び第2の符号化方法(Codec2)が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、伝送及び蓄積ができないという課題がある。
【0115】
なお、以降において、特定の符号化方法の記載がなければ、第1の符号化方法、及び第2の符号化方法のいずれかを示すものとする。
【0116】
以下、本実施の形態に係るNALユニットの定義方法について説明する。例えば、HEVCなどの、これまでのコーデックでは、1つのコーデックに対して、1つのフォーマットのNALユニットが定義されている。しかし、PCCのように、第1の符号化方法と第2の符号化方法との2つのコーデック(以降、PCCコーデックと称する)が混在するフォーマットをサポートする方法はこれまで存在しない。
【0117】
本実施の形態では、NALユニットとしてPCCコーデック共通のフォーマットを定義し、さらに、PCCコーデックに依存するNALユニットの識別子を定義する。図14は、この場合のプロトコルスタックを示す図である。図15図17は、コーデック共通のNALユニットフォーマットの例を示す図である。図15は、共通PCC NALユニット(Common PCC NAL Unit)のシンタックス例を示す図である。図16は、共通PCC NALユニットヘッダ(Common PCC NAL Unit Header)のシンタックス例を示す図である。図17は、pcc_codec_typeのセマンティクス例を示す図である。図18は、コーデック依存のNALユニットタイプ定義の例を示す図であり、pcc_nal_unit_typeのセマンティクス例を示す図である。
【0118】
NALユニットフォーマットとして、PCCコーデック共通のNALユニットフォーマットが定義される。NALユニット(pcc_nal_unit)は、ヘッダ(pcc_nal_unit_header)、ペイロード(pcc_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法及び第2の符号化方法のいずれのコーデックのデータが格納される場合にも、同じフォーマットが使用される。
【0119】
NALユニットヘッダ(pcc_nal_unit_header)には、コーデックタイプ(pcc_codec_tye)、及びNALユニットタイプ(pcc_nal_unit_type)が格納される。コーデックタイプは、NALユニットに格納される符号化データのPCCコーデックが、第1の符号化方法であるか、第2の符号化方法であるかを示す。
【0120】
NALユニットタイプは、コーデックに依存するNALユニットのタイプを示し、コーデック毎にタイプが定義される。コーデックタイプが第1の符号化方法である場合には、NALユニットタイプは、第1の符号化方法用に定義されたNALユニットタイプを示す。コーデックタイプが第2の符号化方法である場合には、NALユニットタイプは、第2の符号化方法用に定義されたNALユニットタイプを示す。つまり、第1の符号化方法用に定義されたNALユニットタイプと、第2の符号化方法用に定義されたNALユニットタイプとには、同一の値に対して異なる意味が対応づけられる。
【0121】
なお、ヘッダにおいて、コーデックタイプの機能をNALユニットタイプにマージしてもよい。例えば、NALユニットタイプの一部の情報を用いてコーデックタイプを示してもよい。
【0122】
次に、本実施の形態に係る符号化処理について説明する。図19は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記の定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。なお、以下では第1の符号化部4630又は第2の符号化部4650を区別せずに符号化部4613とも記す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
【0123】
なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
【0124】
まず、符号化部4613は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれかのコーデックを用いて符号化する(S4601)。
【0125】
使用したコーデックが第2の符号化方法である場合(S4602で第2の符号化方法)、符号化部4613は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであることを示す値に設定する(S4603)。また、符号化部4613は、NALユニットヘッダのpcc_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4604)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4605)。
【0126】
一方、使用したコーデックが第1の符号化方法である場合(S4602で第1の符号化方法)、符号化部4613は、NALユニットヘッダのpcc_codec_typeをNALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであることを示す値に設定する(S4606)。また、符号化部4613は、NALユニットヘッダのpcc_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4607)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4605)。
【0127】
なお、符号化部4613は、ステップS4603及びS4606において、pcc_code_typeの機能がpcc_nal_unit_typeに含まれる場合、pcc_nal_unit_typeに、NALユニットが第1の符号化方法であるか第2の符号化方法であるかを示してもよい。
【0128】
次に、本実施の形態に係る第1の復号部4640及び第2の復号部4660による復号処理について説明する。図20は、第2の復号部4660による復号処理を示すフローチャートである。また、同図の処理は、主に、図12に示す逆多重化部4661により行われる。
【0129】
なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示している。また、この方式では、第2の復号部4660に含まれる逆多重化部4661は、NALユニットヘッダに含まれる情報を参照して、NALユニットのコーデックタイプを識別できる。よって、逆多重化部4661は、コーデックタイプに応じて必要な情報を映像復号部4662に出力できる。
【0130】
まず、第2の復号部4660は、NALユニットを受信する(S4611)。例えば、このNALユニットは、上述した符号化部4613における処理で生成されたものである。つまり、このNALユニットのヘッダは、pcc_codec_type及びpcc_nal_unit_typeを含む。
【0131】
次に、第2の復号部4660は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4612)。
【0132】
pcc_codec_typeが第2の符号化方法を示す場合(S4612で第2の符号化方法)、第2の復号部4660は、NALユニットのペイロードに含まれるデータが、第2の符号化方法を用いて符号化されたデータであると判断する(S4613)。そして、第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4614)。そして、第2の復号部4660は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4615)。
【0133】
一方、pcc_codec_typeが第1の符号化方法を示す場合(S4612で第1の符号化方法)、第2の復号部4660は、NALユニットのペイロードに含まれるデータが、第1の符号化方法で符号化されたデータであると判断する(S4616)。この場合、第2の復号部4660は、当該NALユニットを処理しない(S4617)。
【0134】
なお、ステップS4612において、pcc_code_typeの機能がpcc_nal_unit_typeに含まれる場合、第2の復号部4660は、pcc_nal_unit_typeを参照して、NALユニットに含まれるデータに使用されているコーデックが第1の符号化方法であるか第2の符号化方法であるかを判定してもよい。
【0135】
図21は、第1の復号部4640による復号処理を示すフローチャートである。また、同図の処理は、主に、図8に示す逆多重化部4641により行われる。
【0136】
なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示している。また、この方式では、第1の復号部4640に含まれる逆多重化部4641は、NALユニットヘッダに含まれる情報を参照して、NALユニットのコーデックタイプを識別できる。よって、逆多重化部4641は、コーデックタイプに応じて必要な情報を位置情報復号部4642及び属性情報復号部4643に出力できる。
【0137】
まず、第1の復号部4640は、NALユニットを受信する(S4621)。例えば、このNALユニットは、上述した符号化部4613における処理で生成されたものである。つまり、このNALユニットのヘッダは、pcc_codec_type及びpcc_nal_unit_typeを含む。
【0138】
次に、第1の復号部4640は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4622)。
【0139】
pcc_codec_typeが第2の符号化方法を示す場合(S4622で第2の符号化方法)、第1の復号部4640は、NALユニットのペイロードに含まれるデータが、第2の符号化方法を用いて符号化されたデータであると判断する(S4623)。この場合、第1の復号部4640は、当該NALユニットは処理しない(S4624)。
【0140】
一方、pcc_codec_typeが第1の符号化方法を示す場合(S4622で第1の符号化方法)、第1の復号部4640は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4625)。そして、第1の復号部4640は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4626)。そして、第1の復号部4640は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4627)。
【0141】
(実施の形態2)
本実施の形態では、NALユニットの定義の別の手法について説明する。本実施の形態では、NALユニットとしてPCCコーデック毎に異なるフォーマットを定義する。さらに、PCCコーデック毎に独立にNALユニットの識別子を定義する。
【0142】
図22は、この場合のプロトコルスタックを示す図である。図23は、コーデック2用のNALユニット(codec2_nal_unit)のシンタックス例を示す図である。図24は、コーデック2用のNALユニットヘッダ(codec2_nal_unit_header)のシンタックス例を示す図である。図25は、codec2_nal_unit_typeのセマンティクス例を示す図である。
【0143】
図26は、コーデック1用のNALユニット(codec1_nal_unit)のシンタックス例を示す図である。図27は、コーデック1用のNALユニットヘッダ(codec1_nal_unit_header)のシンタックス例を示す図である。図28は、codec1_nal_unit_typeのセマンティクス例を示す図である。
【0144】
NALユニットフォーマットとして、PCCコーデック毎に独立にNALユニットフォーマットが定義される。NALユニット(codec1_nal_unit、codec2_nal_unit)は、ヘッダ(codec1_nal_unit_header、codec2_nal_unit_header)、ペイロード(codec1_nal_unit_payload、codec2_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法用のNALユニット(codec1_nal_unit)と第2の符号化方法用のNALユニット(codec2_nal_unit)は、同じ構成でもよいし、異なる構成でもよい。第1の符号化方法用のNALユニットと第2の符号化方法用のNALユニットとのサイズが異なってもよい。
【0145】
第1の符号化方法で符号化されたデータは第1の符号化方法用のNALユニットに格納される。第2の符号化方法で符号化されたデータは第2の符号化方法用のNALユニットに格納される。
【0146】
NALユニットヘッダ(codec1_nal_unit_header、codec2_nal_unit_header)には、NALユニットタイプ(codec1_nal_unit_type、codec2_nal_unit_type)が格納される。NALユニットタイプは、コーデック毎に独立であり、コーデック毎にタイプが定義される。つまり、第1の符号化方法用のNALユニットには、第1の符号化方法用に定義されたNALユニットタイプが記載される。第2の符号化方法用のNALユニットには、第2の符号化方法用に定義されたNALユニットタイプが記載される。
【0147】
本方式を用いることで、第1の符号化方法と第2の符号化方法とを、異なるコーデックとして扱うことができる。
【0148】
次に、本実施の形態に係る符号化処理について説明する。図29は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
【0149】
なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
【0150】
まず、符号化部4613は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれかのコーデックを用いて符号化する(S4631)。
【0151】
使用したコーデックが第2の符号化方法である場合(S4632で第2の符号化方法)、符号化部4613は、第2の符号化方法用のNALユニットフォーマットでNALユニットを生成する(S4633)。次に、符号化部4613は、NALユニットヘッダに含まれるcodec2_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4634)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4635)。
【0152】
一方、使用したコーデックが第1の符号化方法である場合(S4632で第1の符号化方法)、符号化部4613は、第1の符号化方法用のNALユニットフォーマットでNALユニットを生成する(S4636)。次に、符号化部4613は、NALユニットヘッダのcodec1_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4637)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4635)。
【0153】
次に、本実施の形態に係る復号処理について説明する。図30は、本実施の形態に係る復号処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の復号部4640又は第2の復号部4660の処理を示す。なお、以下では第1の復号部4640又は第2の復号部4660を区別せずに復号部4624とも記す。また、同図の処理は、主に、図8に示す逆多重化部4641又は図12に示す逆多重化部4661により行われる。
【0154】
なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化されているかは既知であるものとする。例えば、使用されているコーデックを示す情報が伝送信号、多重化データ、又は符号化データに含まれており、復号部4624は、当該情報を参照して使用されているコーデックを判定する。なお、復号部4624は、これらの信号とは別に取得した信号に基づき、使用されているコーデックを判定してもよい。
【0155】
使用されているコーデックが第2の符号化方法である場合(S4641で第2の符号化方法)、復号部4624は、第2の符号化方法用フォーマットのNALユニットを受信する(S4642)。次に、復号部4624は、NALユニットが第2の符号化方法用であるとして、第2の符号化方法用のNALユニットフォーマット及び第2の符号化方法用のcodec2_nal_unit_typeを用いてデータを識別する(S4643)。次に、復号部4624は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4644)。
【0156】
一方、使用されているコーデックが第1の符号化方法である場合(S4641で第1の符号化方法)、復号部4624は、第1の符号化方法用フォーマットのNALユニットを受信する(S4645)。次に、復号部4624は、NALユニットが第1の符号化方法用であるとして、第1の符号化方法用のNALユニットフォーマット及び第1の符号化方法用のcodec1_nal_unit_typeを用いてデータを識別する(S4646)。次に、復号部4624は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4747)。
【0157】
(実施の形態3)
本実施の形態では、NALユニットの定義の別の手法について説明する。本実施の形態では、NALユニットとしてPCCコーデック共通のフォーマットを定義する。また、PCCコーデック共通のNALユニットの識別子を定義する。
【0158】
図31は、この場合のプロトコルスタックを示す図である。図32図34は、コーデック共通のNALユニットフォーマットの例を示す図である。図32は、共通PCC NALユニット(Common PCC NAL Unit)のシンタックス例を示す図である。図33は、共通PCC NALユニットヘッダ(Common PCC NAL Unit Header)のシンタックス例を示す図である。図34は、pcc_codec_typeのセマンティクス例を示す図である。
【0159】
NALユニットフォーマットとして、PCCコーデック共通のNALユニットフォーマットが定義される。NALユニット(pcc_nal_unit)は、ヘッダ(pcc_nal_unit_header)、ペイロード(pcc_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法と第2の符号化方法のいずれのコーデックのデータが格納される場合にも、同じフォーマットが使用される。
【0160】
NALユニットヘッダ(pcc_nal_unit_header)には、NALユニットタイプ(pcc_nal_unit_type)が格納される。NALユニットタイプは、コーデック共通であり、コーデック共通のタイプが定義される。つまり、第1の符号化方法用のNALユニット、第2の符号化方法用のNALユニットともに、共通に定義されたNALユニットタイプが記載される。図34に示す例において、例えば、PCC DataAは、コーデック1の符号化データであり、PCC DataBは、コーデック2の符号化データであり、PCC MetaDataAは、コーデック1の付加情報であり、PCC MetaDataBは、コーデック2の付加情報である。
【0161】
本方式を用いることで、第1の符号化方法と第2の符号化方法とを、同じコーデックとして扱うことができる。
【0162】
次に、本実施の形態に係る符号化処理について説明する。図35は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記の定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
【0163】
なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
【0164】
まず、符号化部4613は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれかのコーデックを用いて符号化する(S4651)。次に、符号化部4613は、PCC共通のNALユニットフォーマットでNALユニットを生成する(S4652)。
【0165】
次に、符号化部4613は、NALユニットヘッダに含まれるpcc_nal_unit_typeにPCC共通のNALユニットの識別子を設定する(S4653)。次に、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを送信する(S4654)。
【0166】
次に、本実施の形態に係る復号処理について説明する。図36は、本実施の形態に係る復号処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の復号部4640又は第2の復号部4660の処理を示す。また、同図の処理は、主に、図8に示す逆多重化部4641又は図12に示す逆多重化部4661により行われる。
【0167】
なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示している。
【0168】
まず、復号部4624は、NALユニットに含まれるデータの符号化に使用されているコーデックを判定する(S4661)。例えば、復号部4624は、NALユニットヘッダに含まれるpcc_nal_unit_typeを参照することで、使用されているコーデックを判定する。
【0169】
使用されているコーデックが第2の符号化方法である場合(S4661で第2の符号化方法)、復号部4624は、PCC共通のフォーマットのNALユニットを受信する(S4662)。次に、復号部4624は、NALユニットは共通であるとして、共通のNALユニットフォーマット及び共通のpcc_nal_unit_typeを用いてデータを識別する(S4663)。次に、復号部4624は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4664)。
【0170】
一方、使用されているコーデックが第1の符号化方法である場合(S4661で第1の符号化方法)、復号部4624は、PCC共通のフォーマットのNALユニットを受信する(S4665)。次に、復号部4624は、NALユニットは共通であるとして、共通のNALユニットフォーマット及び共通のpcc_nal_unit_typeを用いてデータを識別する(S4666)。次に、復号部4624は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4667)。
【0171】
以下、上記の実施の形態1~実施の形態3の変形例について説明する。PCCコーデックタイプを示すその他の方法として以下の方法を用いてもよい。
【0172】
実施の形態1、実施の形態2、及び実施の形態3では、第1の符号化方法と第2の符号化方法との2つのコーデックが混在する場合を説明したが、PCCコーデックが3つ以上である場合も上記の手法を適用可能である。
【0173】
また、実施の形態1及び実施の形態3では、NALユニットヘッダ内でPCCコーデックの識別情報(実施の形態1におけるpcc_codec_type、及び、実施の形態3bにおけるpcc_nal_unit_type)を記載したが、コーデックの識別情報を他の場所に格納してもよい。
【0174】
また、第1の符号化方法及び第2の符号化方法は、上記の例に限定されず、任意のコーデックであってもよい。例えば、第1の符号化方法及び第2の符号化方法は、GPCCを細分化した複数のコーデックであってもよいし、VPCCを細分化した複数のコーデックであってもよい。例えば、第1の符号化方法及び第2の符号化方法は、共にVPCCであり、用いられる映像符号化方式が異なってもよい。映像符号化方式は、例えば、AVC又はHEVCであってもよい。また、第1の符号化方法及び第2の符号化方法のいずれか一方またはその両方は、映像、音声、テキストアプリケーションなど、その他の符号化方式を含む符号化方法であってもよい。
【0175】
例えば、コーデックの識別情報は、PCC符号化ストリームに含まれる制御情報に含まれてもよい。ここで制御情報とは、例えば、パラメータセット、又はSEI(Supplemental Enhancement Information)などのメタデータ等である。
【0176】
図37は、この場合における符号化部4613による符号化処理のフローチャートである。まず、符号化部4613は、PCCデータを符号化し(S4671)、符号化データ内の所定の位置(例えばパラメータセット)にPCCコーデックの識別情報を記載する(S4672)。次に、符号化部4613は、符号化データを含むNALユニットを生成し、生成したNALユニットを送信する(S4673)。
【0177】
また、PCCコーデックの識別情報がprofileと定義しされ、PCCコーデックの識別情報がメタデータに示されてもよい。また、シーケンス全体に同一のコーデックが用いられている場合、シーケンスパラメータセットに、PCCコーデックの識別情報が含まれてもよい。また、PCCフレーム毎に異なるコーデックで符号化されている場合、フレーム毎の情報を記載するパラメータセットに、PCCコーデックの識別情報が含まれてもよい。例えば、位置情報と属性情報とでコーデックが違う場合のようにPCCのデータ毎に異なるコーデックが用いられる場合、データ毎の情報を記載するパラメータセットに、PCCコーデックの識別情報が含まれてもよい。つまり、位置情報のコーデックを示す情報が位置情報の制御情報(パラメータセット等)に含まれ、属性情報のコーデックを示す情報が属性情報の制御情報(パラメータセット等)に含まれてもよい。
【0178】
なお、コーデックの識別情報は、上記のいずれかに格納されてもよいし、複数の位置に格納されてもよい。例えば、コーデックの識別情報は、符号化ストリーム内と、NALユニットヘッダとの両方に格納されてもよい。また、複数の位置にコーデックの識別情報が格納される場合、複数の位置に、同一の情報が格納されてもよいし、異なる情報が格納されてもよい。異なる情報とは、例えば、GPCC又はVPCCを示す情報と、GPCC又はVPCCを細分化した複数のコーデックのいずれかを示す情報とである。
【0179】
復号部4624に含まれる逆多重化部4641又は4661は、NALユニットにパラメータセットが含まれる場合には、パラメータセットの中の記載を解析することにより、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであるか第2の符号化方法で符号化されたデータであるかを判断できる。これにより、復号部4624は、復号に必要のないNALユニットを早くフィルタリングできる。
【0180】
図38は、この場合の復号部4624による復号処理のフローチャートである。まず、復号部4624は、NALユニットを受信し(S4675)、NALユニットヘッダに含まれるpcc_nal_unit_typeを用いてPCCコーデックの識別情報が記載される所定のデータ(例えば上記パラメータセット)を識別する(S4676)。次に、復号部4624は、所定のデータ(例えばパラメータセット)を解析することで所定のデータ内に示されるPCCコーデックを識別する(S4677)。次に、復号部4624は、識別したPCCコーデックを用いて符号化データを復号する(S4678)。
【0181】
また、上記では、符号化ストリームがNALユニットに格納される例を示したが、NALユニットの代わりに予め定められた方式の単位(ユニット)が用いられてもよい。
【0182】
(実施の形態4)
本実施の形態では、上述した第1の符号化部4630及び第2の符号化部4650の両方の機能を持つ符号化部4670、並びに、第1の復号部4640及び第2の復号部4660の両方の機能を持つ復号部4680について説明する。
【0183】
図39は、本実施の形態に係る符号化部4670のブロック図である。この符号化部4670は、上述した第1の符号化部4630及び第2の符号化部4650と、多重化部4671とを含む。多重化部4671は、第1の符号化部4630で生成された符号化データと第2の符号化部4650で生成された符号化データとを多重化し、得られた符号化データを出力する。
【0184】
図40は、本実施の形態に係る復号部4680のブロック図である。この復号部4680は、上述した第1の復号部4640及び第2の復号部4660と、逆多重化部4681とを含む。逆多重化部4681は、入力された符号化データから、第1の符号化方法が用いられている符号化データと、第2の符号化方法が用いられている符号化データとを抽出する。逆多重化部4681は、第1の符号化方法が用いられている符号化データを第1の復号部4640に出力し、第2の符号化方法が用いられている符号化データを第2の復号部4660に出力する。
【0185】
上記の構成により、符号化部4670は、第1の符号化方法及び第2の符号化方法を選択的に用いて点群データを符号化することができる。また、復号部4680は、第1の符号化方法を用いて符号化された符号化データ、第2の符号化方法を用いて符号化された符号化データ、及び、第1の符号化方法と第2の符号化方法との両方を用いて符号化された符号化データを復号できる。
【0186】
例えば、符号化部4670は、点群データ単位、又はフレーム単位で符号化方法(第1の符号化方法及び第2の符号化方法)を切り替えてもよい。また、符号化部4670は、符号化可能な単位で符号化方法を切り替えてもよい。
【0187】
符号化部4670は、例えば、上記実施の形態1又は実施の形態3で説明した、PCCコーデックの識別情報を含む符号化データ(符号化ストリーム)を生成する。
【0188】
復号部4680に含まれる逆多重化部4681は、例えば、実施の形態1又は実施の形態3で説明した、PCCコーデックの識別情報を用いて、データを識別する。逆多重化部4681は、当該データが第1の符号化方法で符号化されたデータである場合には、第1の復号部4640に当該データを出力し、当該データが第2の符号化方法で符号化されたデータである場合には、当該データを第2の復号部4660に出力する。
【0189】
なお、符号化部4670は、PCCコーデックの識別情報以外にも、両方の符号化方法を用いたか、いずれか一方の符号化方法を用いたかを示す情報を制御情報として送出してもよい。
【0190】
次に、本実施の形態に係る符号化処理について説明する。図41は、本実施の形態に係る符号化処理のフローチャートである。実施の形態1、実施の形態2、実施の形態3、及び変形例で説明した、PCCコーデックの識別情報を用いることにより、複数コーデックに対応した符号化処理が可能となる。なお、図41は、実施の形態1の手法を用いた場合の例を示すが、他の手法に対しても同様の処理が適用できる。
【0191】
まず、符号化部4670は、PCCデータを第1の符号化方法、第2の符号化方法のいずれか一方又は両方のコーデックで符号化する(S4681)。
【0192】
使用したコーデックが第2の符号化方法である場合(S4682で第2の符号化方法)、符号化部4670は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであることを示す値に設定する(S4683)。次に、符号化部4670は、NALユニットヘッダのpcc_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4684)。そして、符号化部4670は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4670は、生成したNALユニットを送信する(S4685)。
【0193】
一方、使用したコーデックが第1の符号化方法である場合(S4682で第1の符号化方法)、符号化部4670は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであることを示す値に設定する(S4686)。次に、符号化部4670は、NALユニットヘッダに含まれるpcc_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4687)。次に、符号化部4670は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4670は、生成したNALユニットを送信する(S4685)。
【0194】
次に、本実施の形態に係る復号処理について説明する。図42は、本実施の形態に係る復号処理のフローチャートである。実施の形態1、実施の形態2、実施の形態3、及び変形例で説明した、PCCコーデックの識別情報を用いることにより、複数コーデックに対応した復号処理が可能となる。なお、図42は、実施の形態1の手法を用いた場合の例を示すが、他の手法に対しても同様の処理が適用できる。
【0195】
まず、復号部4680は、NALユニットを受信する(S4691)。例えば、このNALユニットは、上述した符号化部4670における処理で生成されたものである。
【0196】
次に、復号部4680は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4692)。
【0197】
pcc_codec_typeが第2の符号化方法を示す場合(S4692で第2の符号化方法)、復号部4680は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4693)。そして、第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4694)。そして、復号部4680は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4695)。
【0198】
一方、pcc_codec_typeが第1の符号化方法を示す場合(S4692で第1の符号化方法)、復号部4680は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4696)。そして、復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4697)。そして、復号部4680は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4698)。
【0199】
以上のように、本開示の一態様に係る三次元データ符号化装置は、三次元データ(例えば点群データ)を符号化することで符号化ストリームを生成し(例えば、図37のS4671)、前記符号化ストリームの制御情報(例えば、パラメータセット)に、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示す情報(例えば、コーデックの識別情報)を格納する(例えば、図37のS4672)。
【0200】
これによれば、三次元データ復号装置は、当該三次元データ符号化装置で生成された符号化ストリームを復号する際に、制御情報に格納された情報を用いて符号化に用いられた符号化方法を判定できる。よって、三次元データ復号装置は、複数の符号化方法が用いられる場合においても正しく符号化ストリームを復号できる。
【0201】
例えば、前記三次元データは、位置情報を含む。三次元データ符号化装置は、前記符号化では、前記位置情報を符号化する。三次元データ符号化装置は、前記格納では、前記位置情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いた符号化方法を示す情報を格納する。
【0202】
例えば、前記三次元データは、位置情報と属性情報とを含む。三次元データ符号化装置は、前記符号化では、前記位置情報と前記属性情報とを符号化する。三次元データ符号化装置は、前記格納では、前記位置情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いた符号化方法を示す情報を格納し、前記属性情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記属性情報の符号化に用いた符号化方法を示す情報を格納する。
【0203】
これによれば、位置情報と属性情報とに異なる符号化方法を用いることができるので、符号化効率を向上できる。
【0204】
例えば、前記三次元データ符号化方法は、さらに、前記符号化ストリームを1以上のユニット(例えば、NALユニット)に格納する(例えば、図37のS4673)。
【0205】
例えば、実施の形態1の図15図18で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
【0206】
例えば、実施の形態2の図23図28で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで独立したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、codec1_nal_unit_type又はcodec2_nal_unit_type)を含む。
【0207】
例えば、実施の形態3の図32図34で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで共通した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
【0208】
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0209】
また、本実施の形態に係る三次元データ復号装置は、三次元データを符号化することで生成された符号化ストリームの制御情報(例えば、パラメータセット)に含まれる、第1符号化方法と第2符号化方法のうち、前記三次元データの符号化に用いられた符号化方法を示す情報(例えば、コーデックの識別情報)に基づき、符号化ストリームの符号化に用いられた符号化方法を判定し(例えば、図38のS4677)、判定した前記符号化方法を用いて前記符号化ストリームを復号する(例えば、図38のS4678)。
【0210】
これによれば、三次元データ復号装置は、符号化ストリームを復号する際に、制御情報に格納された情報を用いて符号化に用いられた符号化方法を判定できる。よって、三次元データ復号装置は、複数の符号化方法が用いられる場合においても正しく符号化ストリームを復号できる。
【0211】
例えば、前記三次元データは、位置情報を含み、前記符号化ストリームは、前記位置情報の符号化データを含む。三次元データ復号装置は、前記判定では、前記符号化ストリームに含まれる前記位置情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いられた符号化方法を示す情報に基づき、前記位置情報の符号化に用いられた符号化方法を判定する。三次元データ復号装置は、前記復号では、判定した前記位置情報の符号化に用いられた符号化方法を用いて前記位置情報の符号化データを復号する。
【0212】
例えば、前記三次元データは、位置情報と属性情報とを含み、前記符号化ストリームは、前記位置情報の符号化データと前記属性情報の符号化データとを含む。三次元データ復号装置は、前記判定では、前記符号化ストリームに含まれる前記位置情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いられた符号化方法を示す情報に基づき、前記位置情報の符号化に用いられた符号化方法を判定し、前記符号化ストリームに含まれる前記属性情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記属性情報の符号化に用いられた符号化方法を示す情報に基づき、前記属性情報の符号化に用いられた符号化方法を判定する。三次元データ復号装置は、前記復号では、判定した前記位置情報の符号化に用いられた符号化方法を用いて前記位置情報の符号化データを復号し、判定した前記属性情報の符号化に用いられた符号化方法を用いて前記属性情報の符号化データを復号する。
【0213】
これによれば、位置情報と属性情報とに異なる符号化方法を用いることができるので、符号化効率を向上できる。
【0214】
例えば、前記符号化ストリームは1以上のユニット(例えば、NALユニット)に格納されており、三次元データ復号装置は、さらに、前記1以上のユニットから前記符号化ストリームを取得する。
【0215】
例えば、実施の形態1の図15図18で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
【0216】
例えば、実施の形態2の図23図28で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで独立したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、codec1_nal_unit_type又はcodec2_nal_unit_type)を含む。
【0217】
例えば、実施の形態3の図32図34で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで共通した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
【0218】
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0219】
(実施の形態5)
本実施の形態では、実施の形態1で説明したNALユニットをISOBMFFのファイルに格納する方法について説明する。
【0220】
ISOBMFF(ISO based media file format)は、ISO/IEC14496-12に規定されるファイルフォーマット規格である。ISOBMFFは、ビデオ、オーディオ、及びテキストなど様々なメディアを多重して格納できるフォーマットを規定しており、メディアに依存しない規格である。
【0221】
ISOBMFFの基本構造(ファイル)について説明する。ISOBMFFにおける基本単位はボックスである。ボックスはtype、length、dataで構成され、様々なtypeのボックスを組み合わせた集合がファイルである。
【0222】
図43は、ISOBMFFの基本構造(ファイル)を示す図である。ISOBMFFのファイルは、主に、ファイルのブランドを4CC(4文字コード)で示すftyp、制御情報などのメタデータを格納するmoov、及び、データを格納するmdatなどのボックスを含む。
【0223】
ISOBMFFのファイルへのメディア毎の格納方法は別途規定されており、例えば、AVCビデオ及びHEVCビデオの格納方法は、ISO/IEC14496-15に規定される。ここで、PCC符号化データを蓄積又は伝送するために、ISOBMFFの機能を拡張して使用することが考えられるが、PCC符号化データをISOBMFFのファイルに格納する規定はまだない。そこで、本実施の形態では、PCC符号化データをISOBMFFのファイルに格納する方法について説明する。
【0224】
図44は、PCCコーデック共通のNALユニットをISOBMFFのファイルに格納する場合のプロトコルスタックを示す図である。ここでは、実施の形態1で説明したPCCコーデック共通のNALユニットがISOBMFFのファイルに格納される。NALユニットはPCCコーデック共通であるが、NALユニットには複数のPCCコーデックが格納されるため、それぞれのコーデックに応じた格納方法(Carriage of Codec1、Carriage of Codec2)を規定することが望ましい。
【0225】
次に、複数のPCCコーデックをサポートする共通のPCC NALユニットをISOBMFFのファイルへ格納する方法について説明する。図45は、共通のPCC NALユニットをコーデック1の格納方法(Carriage of Codec1)のISOBMFFのファイルに格納する例を示す図である。図46は、共通のPCC NALユニットをコーデック2の格納方法(Carriage of Codec2)のISOBMFFのファイルに格納する例を示す図である。
【0226】
ここで、ftypは、ファイルフォーマットを識別するための重要な情報であり、ftyp用に、コーデック毎に異なる識別子が定義される。第1の符号化方法(符号化方式)で符号化されたPCC符号化データがファイルに格納される場合は、ftyp=pcc1に設定される。第2の符号化方法で符号化されたPCC符号化データがファイルに格納される場合は、ftyp=pcc2に設定される。
【0227】
ここで、pcc1は、PCCのコーデック1(第1の符号化方法)が用いられることを示す。pcc2は、PCCのコーデック2(第2の符号化方法)が用いられることを示す。つまり、pcc1及びpcc2は、データがPCC(三次元データ(点群データ)の符号データ)であることを示し、かつ、PCCコーデック(第1の符号化方法及び第2の符号化方法)を示す。
【0228】
以下、NALユニットをISOBMFFのファイルへ格納する方法について説明する。多重化部は、NALユニットヘッダを解析し、pcc_codec_type=Codec1である場合にはISOBMFFのftypにpcc1を記載する。
【0229】
また、多重化部は、NALユニットヘッダを解析し、pcc_codec_type=Codec2である場合にはISOBMFFのftypにpcc2を記載する。
【0230】
また、多重化部は、pcc_nal_unit_typeがメタデータである場合は、NALユニットを所定の方法で、例えばmoov又はmdatに格納する。多重化部は、pcc_nal_unit_typeがデータである場合は、NALユニットを所定の方法で、例えばmoov又はmdatに格納する。
【0231】
例えば、多重化部は、HEVCと同様にNALユニットにNALユニットサイズを格納してもよい。
【0232】
本格納方法により、逆多重化部(システムレイヤ)においてファイルに含まれるftypを解析することで、PCC符号化データが第1の符号化方法で符号化されたか、第2の符号化方法で符号化されたかを判定することが可能となる。さらに、上記の通り、PCC符号化データが第1の符号化方法で符号化されたか、第2の符号化方法で符号化されたかを判定することで、両方の符号化方法で符号化された符号化データが混在するデータからいずれか一方の符号化方法で符号化された符号化データを抽出することができる。これにより、符号化データを伝送する際に、伝送されるデータ量を抑制することができる。また、本格納方法により、第1の符号化方法と第2の符号化方法とで、異なるデータ(ファイル)フォーマットを設定することなく、共通のデータフォーマットを用いることができる。
【0233】
なお、ISOBMFFにおけるftypなど、システムレイヤのメタデータにコーデックの識別情報が示される場合は、多重化部は、pcc_nal_unit_typeを削除したNALユニットをISOBMFFのファイルに格納してもよい。
【0234】
次に、本実施の形態に係る三次元データ符号化システム(三次元データ符号化装置)が備える多重化部、及び、本実施の形態に係る三次元データ復号システム(三次元データ復号装置)が備える逆多重化部の構成及び動作について説明する。
【0235】
図47は、第1の多重化部4710の構成を示す図である。第1の多重化部4710は、第1の符号化部4630で生成された符号化データ及び制御情報(NALユニット)をISOBMFFのファイルに格納することで多重化データ(ファイル)を生成するファイル変換部4711を備える。この第1の多重化部4710は、例えば、図1に示す多重化部4614に含まれる。
【0236】
図48は、第1の逆多重化部4720の構成を示す図である。第1の逆多重化部4720は、多重化データ(ファイル)から符号化データ及び制御情報(NALユニット)を取得し、取得した符号化データ及び制御情報を第1の復号部4640に出力するファイル逆変換部4721を備える。この第1の逆多重化部4720は、例えば、図1に示す逆多重化部4623に含まれる。
【0237】
図49は、第2の多重化部4730の構成を示す図である。第2の多重化部4730は、第2の符号化部4650で生成された符号化データ及び制御情報(NALユニット)をISOBMFFのファイルに格納することで多重化データ(ファイル)を生成するファイル変換部4731を備える。この第2の多重化部4730は、例えば、図1に示す多重化部4614に含まれる。
【0238】
図50は、第2の逆多重化部4740の構成を示す図である。第2の逆多重化部4740は、多重化データ(ファイル)から符号化データ及び制御情報(NALユニット)を取得し、取得した符号化データ及び制御情報を第2の復号部4660に出力するファイル逆変換部4741を備える。この第2の逆多重化部4740は、例えば、図1に示す逆多重化部4623に含まれる。
【0239】
図51は、第1の多重化部4710による多重化処理のフローチャートである。まず、第1の多重化部4710は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるかを判定する(S4701)。
【0240】
pcc_codec_typeが第2の符号化方法を示す場合(S4702で第2の符号化方法)、第1の多重化部4710は、当該NALユニットを処理しない(S4703)。
【0241】
一方、pcc_codec_typeが第2の符号化方法を示す場合(S4702で第1の符号化方法)、第1の多重化部4710は、ftypにpcc1を記載する(S4704)。つまり、第1の多重化部4710は、第1の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
【0242】
次に、第1の多重化部4710は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_nal_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4705)。そして、第1の多重化部4710は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4706)。
【0243】
図52は、第2の多重化部4730による多重化処理のフローチャートである。まず、第2の多重化部4730は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるかを判定する(S4711)。
【0244】
pcc_unit_typeが第2の符号化方法を示す場合(S4712で第2の符号化方法)、第2の多重化部4730は、ftypにpcc2を記載する(S4713)。つまり、第2の多重化部4730は、第2の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
【0245】
次に、第2の多重化部4730は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_nal_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4714)。そして、第2の多重化部4730は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4715)。
【0246】
一方、pcc_unit_typeが第1の符号化方法を示す場合(S4712で第1の符号化方法)、第2の多重化部4730は、当該NALユニットを処理しない(S4716)。
【0247】
なお、上記処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示している。第1の多重化部4710及び第2の多重化部4730は、NALユニットのコーデックタイプを識別することにより、所望のNALユニットをファイルに格納する。なお、NALユニットヘッダ以外に、PCCコーデックの識別情報が含まれる場合には、第1の多重化部4710及び第2の多重化部4730は、ステップS4701及びS4711において、NALユニットヘッダ以外に含まれるPCCコーデックの識別情報を用いて、コーデックタイプ(第1の符号化方法又は第2の符号化方法)を識別してもよい。
【0248】
また、第1の多重化部4710及び第2の多重化部4730は、ステップS4706及びS4714において、データをファイルに格納する際に、NALユニットヘッダからpcc_nal_unit_typeを削除したうえでファイルに格納してもよい。
【0249】
図53は、第1の逆多重化部4720及び第1の復号部4640による処理を示すフローチャートである。まず、第1の逆多重化部4720は、ISOBMFFのファイルに含まれるftypを解析する(S4721)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4722で第2の符号化方法)、第1の逆多重化部4720は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4723)。また、第1の逆多重化部4720は、判断の結果を第1の復号部4640に伝達する。第1の復号部4640は、当該NALユニットを処理しない(S4724)。
【0250】
一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4722で第1の符号化方法)、第1の逆多重化部4720は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4725)。また、第1の逆多重化部4720は、判断の結果を第1の復号部4640に伝達する。
【0251】
第1の復号部4640は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4726)。そして、第1の復号部4640は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4727)。
【0252】
図54は、第2の逆多重化部4740及び第2の復号部4660による処理を示すフローチャートである。まず、第2の逆多重化部4740は、ISOBMFFのファイルに含まれるftypを解析する(S4731)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4732で第2の符号化方法)、第2の逆多重化部4740は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4733)。また、第2の逆多重化部4740は、判断の結果を第2の復号部4660に伝達する。
【0253】
第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4734)。そして、第2の復号部4660は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4735)。
【0254】
一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4732で第1の符号化方法)、第2の逆多重化部4740は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4736)。また、第2の逆多重化部4740は、判断の結果を第2の復号部4660に伝達する。第2の復号部4660は、当該NALユニットを処理しない(S4737)。
【0255】
このように、例えば、第1の逆多重化部4720又は第2の逆多重化部4740において、NALユニットのコーデックタイプを識別することにより、早い段階でコーデックタイプを識別できる。さらに、所望のNALユニットを第1の復号部4640又は第2の復号部4660に入力し、不要なNALユニットを取り除くことができる。この場合、第1の復号部4640又は第2の復号部4660において、コーデックの識別情報を解析する処理は不要になる可能性がある。なお、第1の復号部4640又は第2の復号部4660で再度NALユニットタイプを参照してコーデックの識別情報を解析する処理を実施してもよい。
【0256】
また、第1の多重化部4710又は第2の多重化部4730においてNALユニットヘッダからpcc_nal_unit_typeを削除されている場合には、第1の逆多重化部4720又は第2の逆多重化部4740は、NALユニットにpcc_nal_unit_typeを付与したうえで第1の復号部4640又は第2の復号部4660へ出力してもよい。
【0257】
(実施の形態6)
本実施の形態では、実施の形態4で説明した、複数のコーデックに対応した符号化部4670及び復号部4680に対応する、多重化部および逆多重化部について説明する。図55は、本実施の形態に係る符号化部4670及び第3の多重化部4750の構成を示す図である。
【0258】
符号化部4670は、点群データを、第1の符号化方法、及び第2の符号化方法のいずれか一方又は両方の方式を用いて符号化する。符号化部4670は、点群データ単位、又はフレーム単位で符号化方法(第1の符号化方法及び第2の符号化方法)を切り替えてもよい。また、符号化部4670は、符号化可能な単位で符号化方法を切り替えてもよい。
【0259】
符号化部4670は、実施の形態1~4で説明した、PCCコーデックの識別情報を含む符号化データ(符号化ストリーム)を生成する。
【0260】
第3の多重化部4750は、ファイル変換部4751を備える。ファイル変換部4751は、符号化部4670から出力されたNALユニットをPCCデータのファイルに変換する。ファイル変換部4751は、NALユニットヘッダに含まれるコーデック識別情報を解析し、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるか、両方の方式で符号化されたデータであるかを判定する。ファイル変換部4751は、ftypにコーデックを識別可能なブランド名を記載する。例えば、両方の方式で符号化されたことを示す場合、ftypにpcc3が記載される。
【0261】
なお、符号化部4670が、NALユニット以外にPCCコーデックの識別情報を記載している場合、ファイル変換部4751は、当該識別情報を用いて、PCCコーデック(符号化方法)を判定してもよい。
【0262】
図56は、本実施の形態に係る第3の逆多重化部4760及び復号部4680の構成を示す図である。
【0263】
第3の逆多重化部4760は、ファイル逆変換部4761を備える。ファイル逆変換部4761は、ファイルに含まれるftypを解析し、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるか、両方の方式で符号化されたデータであるかを判定する。
【0264】
PCC符号化データがいずれか一方の符号化方法で符号化されている場合、第1の復号部4640及び第2の復号部4660のうち、対応する復号部にデータが入力され、もう一方の復号部にはデータが入力されない。PCC符号化データが両方の符号化方法で符号化されている場合、両方式に対応する復号部4680にデータが入力される。
【0265】
復号部4680は、PCC符号化データを、第1の符号化方法及び第2の符号化方法のいずれか一方又は両方の方式を用いて復号する。
【0266】
図57は、本実施の形態に係る第3の多重化部4750による処理を示すフローチャートである。
【0267】
まず、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるか、第1の符号化方法及び第2の符号化方法の両方であるかを判定する(S4741)。
【0268】
第2の符号化方法が使用されている場合(S4742でYes、かつ、S4743で第2の符号化方法)、第3の多重化部4750は、ftypにpcc2を記載する(S4744)。つまり、第3の多重化部4750は、第2の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
【0269】
次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4745)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
【0270】
一方、第1の符号化方法が使用されている場合(S4742でYes、かつ、S4743で第1の符号化方法)、第3の多重化部4750は、ftypにpcc1を記載する(S4747)。つまり、第3の多重化部4750は、第1の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
【0271】
次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4748)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
【0272】
一方、第1の符号化方法と第2の符号化方法との両方の符号化方法が使用されている場合(S4742でNo)、第3の多重化部4750は、ftypにpcc3を記載する(S4749)。つまり、第3の多重化部4750は、両方の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
【0273】
次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4750)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
【0274】
図58は、第3の逆多重化部4760及び復号部4680による処理を示すフローチャートである。まず、第3の逆多重化部4760は、ISOBMFFのファイルに含まれるftypを解析する(S4761)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4762でYes、かつS4763で第2の符号化方法)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4764)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
【0275】
復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4765)。そして、復号部4680は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4766)。
【0276】
一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4762でYes、かつS4763で第1の符号化方法)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4767)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
【0277】
復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4768)。そして、復号部4680は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4769)。
【0278】
一方、ftypで両方の符号化方法が用いられていること(pcc3)が示される場合(S4762でNo)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが、第1の符号化方法と第2符号化方法との両方の符号化方法で符号化されたデータであると判断する(S4770)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
【0279】
復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、pcc_codec_typeに記載されるコーデック用のNALユニットの識別子であるとしてデータを識別する(S4771)。そして、復号部4680は、両方の符号化方法の復号処理を用いてPCCデータを復号する(S4772)。つまり、復号部4680は、第1の符号化方法で符号化されたデータを、第1の符号化方法の復号処理を用いて復号し、第2の符号化方法で符号化されたデータを、第2の符号化方法の復号処理を用いて復号する。
【0280】
以下、本実施の形態の変形例を説明する。ftypに示されるブランドの種類として、以下の種類が識別情報で示されてもよい。また、以下に示す複数の種類の組み合わせが識別情報で示されてもよい。
【0281】
識別情報は、PCC符号化前の元データのオブジェクトが、領域が制限されている点群であるか、地図情報のように領域が制限されていない大規模点群であるかを示してもよい。
【0282】
識別情報は、PCC符号化前の元データが、静的オブジェクトであるか、動的オブジェクトであるかを示してもよい。
【0283】
上述のように、識別情報は、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるかを示してもよい。
【0284】
識別情報は、PCC符号化において用いたアルゴリズムを示してもよい。ここで、アルゴリズムとは、例えば、第1の符号化方法又は第2の符号化方法において使用可能な符号化方法である。
【0285】
識別情報は、PCC符号化データのISOBMFFのファイルへの格納方法の違いを示してもよい。例えば、識別情報は、使用された格納方法が、蓄積用の格納方法であるか、ダイナミックストリーミングのようなリアルタイム送出用の格納方法であるかを示してもよい。
【0286】
なお、実施の形態5では、実施の形態1で説明したNALユニットの格納方法について説明し、実施の形態6では、実施の形態4で説明したNALユニット格納方法について説明したが、実施の形態2及び実施の形態3で説明したNALユニットに対しても同様の格納方法を適用することで、PCCコーデックの識別情報をISOBMFFのファイルに格納してもよい。
【0287】
また、実施の形態5及び実施の形態6では、ファイルフォーマットとしてISOBMFFが用いられる例に説明したが、その他の方式が用いられてもよい。例えば、MPEG-2 TS Systems、MPEG-DASH、MMT、又はRMPにPCC符号化データを格納する際にも本実施の形態と同様の方法を用いてもよい。
【0288】
また、上記では、ftypに識別情報等のメタデータを格納する例を示したが、ftyp以外にこれらのメタデータが格納されてもよい。例えば、これらのメタデータがmoovに格納されてもよい。
【0289】
以上のように、三次元データ格納装置(又は三次元データ多重化装置、又は三次元データ符号化装置)は、図59に示す処理を行う。
【0290】
まず、三次元データ格納装置(例えば、第1の多重化部4710、第2の多重化部4730又は第3の多重化部4750を含む)は、点群データが符号化された符号化ストリームが格納された1以上のユニット(例えばNALユニット)を取得する(S4781)。次に、三次元データ格納装置は、1以上のユニットをファイル(例えばISOBMFFのファイル)に格納する(S4782)。また、三次元データ格納装置は、前記格納(S4782)では、ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報(例えばpcc1、pcc2又はpcc3)を、前記ファイルの制御情報(例えばftyp)に格納する。
【0291】
これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
【0292】
例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記点群データの符号化に用いられた符号化方法を示す。なお、ファイルに格納されているデータが、点群データが符号化されたデータであることと、第1符号化方法と第2符号化方法のうち、点群データの符号化に用いられた符号化方法とは、単一の情報で示されてもよいし、異なる情報で示されてもよい。
【0293】
これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
【0294】
例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式(GPCC)であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式(VPCC)である。
【0295】
例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠する。
【0296】
例えば、三次元データ格納装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0297】
また、以上のように、三次元データ取得装置(又は三次元データ逆多重化装置、又は三次元データ復号装置)は、図60に示す処理を行う。
【0298】
三次元データ取得装置(例えば、第1の逆多重化部4720、第2の逆多重化部4740又は第3の逆多重化部4760を含む)は、点群データが符号化された符号化ストリームが格納された1以上のユニット(例えばNALユニット)が格納されたファイル(例えばISOBMFFのファイル)を取得する(S4791)。次に、三次元データ取得装置は、ファイルから、1以上のユニットを取得する(S4792)。また、ファイルの制御情報(例えばftyp)は、ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報(例えばpcc1、pcc2又はpcc3)を含む。
【0299】
例えば、三次元データ取得装置は、前記情報を参照して、ファイルに格納されているデータが、点群データが符号化されたデータであるか否かを判定する。また、三次元データ取得装置は、ファイルに格納されているデータが、点群データが符号化されたデータであると判定した場合、1以上のユニットに含まれる点群データが符号化されたデータを復号することで点群データを生成する。または、三次元データ取得装置は、ファイルに格納されているデータが、点群データが符号化されたデータであると判定した場合、1以上のユニットに含まれるデータが、点群データが符号化されたデータであることを示す情報を、後段の処理部(例えば、第1の復号部4640、第2の復号部4660又は復号部4680)に出力(通知)する。
【0300】
これによれば、当該三次元データ取得装置は、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
【0301】
例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示す。なお、ファイルに格納されているデータが、点群データが符号化されたデータであることと、第1符号化方法と第2符号化方法のうち、点群データの符号化に用いられた符号化方法とは、単一の情報で示されてもよいし、異なる情報で示されてもよい。
【0302】
これによれば、当該三次元データ取得装置は、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
【0303】
例えば、三次元データ取得装置は、前記情報に基づき、第1符号化方法で符号化されたデータと第2符号化方法で符号化されたデータとを含む符号化された点群データから、いずれか一方の符号化方法で符号化されたデータを取得する。
【0304】
例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式(GPCC)であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式(VPCC)である。
【0305】
例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠する。
【0306】
例えば、三次元データ取得装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0307】
以上、本開示の実施の形態に係る三次元データ格納装置及び三次元データ取得装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
【0308】
また、上記実施の形態に係る三次元データ格納装置及び三次元データ取得装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【0309】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0310】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0311】
また、本開示は、三次元データ格納装置及び三次元データ取得装置等により実行される三次元データ格納方法又は三次元データ取得方法等として実現されてもよい。
【0312】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0313】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【0314】
以上、一つまたは複数の態様に係る三次元データ格納装置及び三次元データ取得装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0315】
本開示は、三次元データ格納装置及び三次元データ取得装置に適用できる。
【符号の説明】
【0316】
4601 三次元データ符号化システム
4602 三次元データ復号システム
4603 センサ端末
4604 外部接続部
4611 点群データ生成システム
4612 提示部
4613 符号化部
4614 多重化部
4615 入出力部
4616 制御部
4617 センサ情報取得部
4618 点群データ生成部
4621 センサ情報取得部
4622 入出力部
4623 逆多重化部
4624 復号部
4625 提示部
4626 ユーザインタフェース
4627 制御部
4630 第1の符号化部
4631 位置情報符号化部
4632 属性情報符号化部
4633 付加情報符号化部
4634 多重化部
4640 第1の復号部
4641 逆多重化部
4642 位置情報復号部
4643 属性情報復号部
4644 付加情報復号部
4650 第2の符号化部
4651 付加情報生成部
4652 位置画像生成部
4653 属性画像生成部
4654 映像符号化部
4655 付加情報符号化部
4656 多重化部
4660 第2の復号部
4661 逆多重化部
4662 映像復号部
4663 付加情報復号部
4664 位置情報生成部
4665 属性情報生成部
4670 符号化部
4671 多重化部
4680 復号部
4681 逆多重化部
4710 第1の多重化部
4711 ファイル変換部
4720 第1の逆多重化部
4721 ファイル逆変換部
4730 第2の多重化部
4731 ファイル変換部
4740 第2の逆多重化部
4741 ファイル逆変換部
4750 第3の多重化部
4751 ファイル変換部
4760 第3の逆多重化部
4761 ファイル逆変換部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
図51
図52
図53
図54
図55
図56
図57
図58
図59
図60