(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-14
(45)【発行日】2025-04-22
(54)【発明の名称】三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
(51)【国際特許分類】
G06T 9/40 20060101AFI20250415BHJP
【FI】
G06T9/40
(21)【出願番号】P 2021526157
(86)(22)【出願日】2020-06-12
(86)【国際出願番号】 JP2020023205
(87)【国際公開番号】W WO2020251019
(87)【国際公開日】2020-12-17
【審査請求日】2023-06-09
(32)【優先日】2019-06-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】井口 賀敬
(72)【発明者】
【氏名】杉尾 敏康
【審査官】佐田 宏史
(56)【参考文献】
【文献】国際公開第2019/103009(WO,A1)
【文献】特表2014-529950(JP,A)
【文献】特開2017-126890(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00-9/40,19/00
H04N 13/161,13/194,19/96,21/854
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つをプロセッサにより取得し、
各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、取得したサブ符号化データに対応する第1情報を前記プロセッサにより取得し、
前記第1情報に基づいて、前記取得したサブ符号化データを前記プロセッサにより復号し、
前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、
前記第1情報は、前記取得したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む
三次元データ復号方法。
【請求項2】
前記複数の階層を有する前記階層構造を用いて前記複数の三次元点の属性情報が符号された符号化データを構成する複数のサブ符号化属性データの少なくとも1つを前記プロセッサにより取得し、
前記複数のサブ符号化データに用いられる前記階層構造と、前記複数のサブ符号化属性データに用いられる前記階層構造は同一である
請求項1記載の三次元データ復号方法。
【請求項3】
前記複数のサブ符号化データは、単独復号可能な第1サブ符号化データ及び単独復号不可な第2サブ符号化データを含む
請求項1記載の三次元データ復号方法。
【請求項4】
前記第1サブ符号化データを復号後に前記第2サブ符号化データを前記プロセッサにより復号する
請求項3記載の三次元データ復号方法。
【請求項5】
前記取得したサブ符号化データのヘッダから第2情報を前記プロセッサにより取得し、
前記第2情報は、前記取得したサブ符号化データの識別情報を含む
請求項1記載の三次元データ復号方法。
【請求項6】
複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つをプロセッサにより生成し、
各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、生成したサブ符号化データに対応する第1情報を前記プロセッサにより生成し、
前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、
前記第1情報は、前記生成したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む
三次元データ符号化方法。
【請求項7】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つを取得し、
各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、取得したサブ符号化データに対応する第1情報を取得し、
前記第1情報に基づいて、前記取得したサブ符号化データを復号し、
前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、
前記第1情報は、前記取得したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む
三次元データ復号装置。
【請求項8】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つを生成し、
各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、生成したサブ符号化データに対応する第1情報を生成し、
前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、
前記第1情報は、前記生成したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む
三次元データ符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置に関する。
【背景技術】
【0002】
自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
【0003】
三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
【0004】
また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
【0005】
また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
三次元データの符号化処理及び三次元データ復号処理では、処理量を低減できることが望まれている。
【0008】
本開示は、処理量を低減できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、又は三次元データ復号装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様に係る三次元データ符号化方法は、複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つをプロセッサにより生成し、各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、生成したサブ符号化データに対応する第1情報を前記プロセッサにより生成し、前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、前記第1情報は、前記生成したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む。
【0010】
本開示の一態様に係る三次元データ復号方法は、複数の階層を有する階層構造を用いて複数の三次元点がオキュパンシー符号化された符号化データを構成する複数のサブ符号化データの少なくとも1つをプロセッサにより取得し、各々が前記複数のサブ符号化データに対応する複数の第1情報のうち、取得したサブ符号化データに対応する第1情報を前記プロセッサにより取得し、前記第1情報に基づいて、前記取得したサブ符号化データを前記プロセッサにより復号し、前記複数のサブ符号化データは、それぞれ、前記複数の階層の中から1以上の階層がグループ化されたグループ階層に対応し、前記第1情報は、前記取得したサブ符号化データに対応する前記グループ階層に含まれる階層の数を示す情報を含む。
【発明の効果】
【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に係る三次元データ符号化装置のブロック図である。
【
図10】
図10は、実施の形態1に係る位置情報の例を示す図である。
【
図11】
図11は、実施の形態1に係る位置情報の8分木表現の例を示す図である。
【
図12】
図12は、実施の形態1に係る三次元データ復号装置のブロック図である。
【
図13】
図13は、実施の形態1に係る属性情報符号化部のブロック図である。
【
図14】
図14は、実施の形態1に係る属性情報復号部のブロック図である。
【
図15】
図15は、実施の形態1に係る属性情報符号化部の構成を示すブロック図である。
【
図16】
図16は、実施の形態1に係る属性情報符号化部のブロック図である。
【
図17】
図17は、実施の形態1に係る属性情報復号部の構成を示すブロック図である。
【
図18】
図18は、実施の形態1に係る属性情報復号部のブロック図である。
【
図19】
図19は、実施の形態1に係る第2の符号化部の構成を示す図である。
【
図20】
図20は、実施の形態1に係る第2の符号化部のブロック図である。
【
図21】
図21は、実施の形態1に係る第2の復号部の構成を示す図である。
【
図22】
図22は、実施の形態1に係る第2の復号部のブロック図である。
【
図23】
図23は、実施の形態1に係るPCC符号化データに関わるプロトコルスタックを示す図である。
【
図24】
図24は、実施の形態2に係る符号化部及び多重化部の構成を示す図である。
【
図25】
図25は、実施の形態2に係る符号化データの構成例を示す図である。
【
図26】
図26は、実施の形態2に係る符号化データ及びNALユニットの構成例を示す図である。
【
図27】
図27は、実施の形態2に係るpcc_nal_unit_typeのセマンティクス例を示す図である。
【
図28】
図28は、実施の形態4に係るNALユニットの送出順序の例を示す図である。
【
図29】
図29は、実施の形態3に係る第1の符号化部のブロック図である。
【
図30】
図30は、実施の形態3に係る第1の復号部のブロック図である。
【
図31】
図31は、実施の形態3に係る分割部のブロック図である。
【
図32】
図32は、実施の形態3に係るスライス及びタイルの分割例を示す図である。
【
図33】
図33は、実施の形態3に係るスライス及びタイルの分割パターンの例を示す図である。
【
図34】
図34は、実施の形態3に係る依存関係の例を示す図である。
【
図35】
図35は、実施の形態3に係るデータの復号順の例を示す図である。
【
図36】
図36は、実施の形態3に係る符号化処理のフローチャートである。
【
図37】
図37は、実施の形態3に係る結合部のブロック図である。
【
図38】
図38は、実施の形態3に係る符号化データ及びNALユニットの構成例を示す図である。
【
図39】
図39は、実施の形態3に係る符号化処理のフローチャートである。
【
図40】
図40は、実施の形態3に係る復号処理のフローチャートである。
【
図41】
図41は、実施の形態4に係るタイル付加情報のシンタックス例を示す図である。
【
図42】
図42は、実施の形態4に係る符号化復号システムのブロック図である。
【
図43】
図43は、実施の形態4に係るスライス付加情報のシンタックス例を示す図である。
【
図44】
図44は、実施の形態4に係る符号化処理のフローチャートである。
【
図45】
図45は、実施の形態4に係る復号処理のフローチャートである。
【
図46】
図46は、実施の形態5に係る木構造の例を示す図である。
【
図47】
図47は、実施の形態5に係る8分木構造の符号化データのデータ構造の例を示す図である。
【
図48】
図48は、実施の形態5に係るペイロードのシンタックス例を示す図である。
【
図49】
図49は、実施の形態5に係る復号処理のフローチャートである。
【
図50】
図50は、実施の形態5に係るレベルと復号されるデータのとの関係を示す図である。
【
図51】
図51は、実施の形態5に係るレベルを示す模式図である。
【
図52】
図52は、実施の形態5に係るヘッダのシンタックス例を示す図である。
【
図53】
図53は、実施の形態5に係るペイロードのシンタックス例を示す図である。
【
図54】
図54は、実施の形態5に係る全体符号化データの構成を示す図である。
【
図55】
図55は、実施の形態5に係る全体符号化データの構成を示す図である。
【
図56】
図56は、実施の形態5に係る深さ情報のシンタックス例を示す図である。
【
図57】
図57は、実施の形態5に係る階層構造メタデータのシンタックス例を示す図である。
【
図58】
図58は、実施の形態5に係るヘッダのシンタックス例を示す図である。
【
図59】
図59は、実施の形態5に係る全体符号化データの構成を示す図である。
【
図60】
図60は、実施の形態5に係る階層情報のシンタックス例を示す図である。
【
図61】
図61は、実施の形態5に係る階層構造メタデータのシンタックス例を示す図である。
【
図62】
図62は、実施の形態5に係る全体符号化データのヘッダのシンタックス例を示す図である。
【
図63】
図63は、実施の形態5に係るビットストリームの構成例を示す図である。
【
図64】
図64は、実施の形態5に係る階層構造メタデータのシンタックス例を示す図である。
【
図65】
図65は、実施の形態5に係る位置情報及び属性情報の参照関係を示す図である。
【
図66】
図66は、実施の形態5に係る位置情報及び属性情報の参照関係を示す図である。
【
図67】
図67は、実施の形態5に係る位置情報及び属性情報の参照関係を示す図である。
【
図68】
図68は、実施の形態5に係るビットストリームの構成例を示す図である。
【
図69】
図69は、実施の形態5に係る三次元データ符号化装置の構成例を示す図である。
【
図70】
図70は、実施の形態5に係る三次元データ復号装置の構成例を示す図である。
【
図71】
図71は、実施の形態5に係るISOBMFFの基本構造を示す図である。
【
図72】
図72は、実施の形態5に係るPCCコーデック共通のNALユニットをISOBMFFに格納する場合のプロトコルスタック図である。
【
図73】
図73は、実施の形態5に係るビットストリームからファイルフォーマットへの変換処理を示す図である。
【
図74】
図74は、実施の形態5に係るフォーマット変換処理のフローチャートである。
【
図75】
図75は、実施の形態5に係る復号処理のフローチャートである。
【
図76】
図76は、実施の形態5に係るビットストリームからファイルフォーマットへの変換処理を示す図である。
【
図77】
図77は、実施の形態5に係る階層構造メタデータのシンタックス例を示す図である。
【
図78】
図78は、実施の形態5に係る分割処理を模式的に示す図である。
【
図79】
図79は、実施の形態5に係る階層情報を用いた変換処理のフローチャートである。
【
図80】
図80は、実施の形態5に係る階層情報を用いない変換処理のフローチャートである。
【
図81】
図81は、実施の形態5に係る階層データサンプルデータの復号処理のフローチャートである。
【
図82】
図82は、実施の形態5に係る全体符号化データの構成例を示す図である。
【
図83】
図83は、実施の形態5に係る全体符号化データの構成例を示す図である。
【
図84】
図84は、実施の形態5に係るビットストリームからファイルフォーマットへの変換処理を示す図である。
【
図85】
図85は、実施の形態5に係るフォーマット変換処理のフローチャートである。
【
図86】
図86は、実施の形態5に係る復号処理のフローチャートである。
【
図87】
図87は、実施の形態5に係る深さ情報のシンタックス例を示す図である。
【
図88】
図88は、実施の形態5に係るサンプルサイズボックスのシンタックス例を示す図である。
【
図89】
図89は、実施の形態5に係る階層情報のシンタックス例を示す図である。
【
図90】
図90は、実施の形態5に係るPCCLayerStructureBoxのシンタックス例を示す図である。
【
図91】
図91は、実施の形態5に係る抽出動作を模式的に示す図である。
【
図92】
図92は、実施の形態5に係るファイルフォーマットの例を示す図である。
【
図93】
図93は、実施の形態5に係る抽出されたビットストリームの例を示す図である。
【
図94】
図94は、実施の形態5に係る抽出されたビットストリームの例を示す図である。
【
図95】
図95は、実施の形態5に係る抽出されたビットストリームの例を示す図である。
【
図96】
図96は、実施の形態5に係るダイレクトモードの例を示す図である。
【
図97】
図97は、実施の形態5に係る三次元データ符号化処理のフローチャートである。
【
図98】
図98は、実施の形態5に係る三次元データ復号処理のフローチャートである。
【
図99】
図99は、実施の形態6に係る三次元データ作成装置のブロック図である。
【
図100】
図100は、実施の形態6に係る三次元データ作成方法のフローチャートである。
【
図104】
図104は、実施の形態6に係るクライアント装置による三次元データ作成処理のフローチャートである。
【
図105】
図105は、実施の形態6に係るクライアント装置によるセンサ情報送信処理のフローチャートである。
【
図106】
図106は、実施の形態6に係るサーバによる三次元データ作成処理のフローチャートである。
【
図107】
図107は、実施の形態6に係るサーバによる三次元マップ送信処理のフローチャートである。
【
図108】
図108は、実施の形態6に係るシステムの変形例の構成を示す図である。
【
図109】
図109は、実施の形態6に係るサーバ及びクライアント装置の構成を示す図である。
【
図110】
図110は、実施の形態6に係るサーバ及びクライアント装置の構成を示す図である。
【
図111】
図111は、実施の形態6に係るクライアント装置による処理のフローチャートである。
【
図112】
図112は、実施の形態6に係るセンサ情報収集システムの構成を示す図である。
【
図115】
図115は、実施の形態6に係るアプリケーション処理の例を示すフローチャートである。
【
図116】
図116は、実施の形態6に係る各種センサのセンサ範囲を示す図である。
【
図117】
図117は、実施の形態6に係る自動運転システムの構成例を示す図である。
【
図118】
図118は、実施の形態6に係るビットストリームの構成例を示す図である。
【発明を実施するための形態】
【0013】
本開示の一態様に係る三次元データ符号化方法は、点群データに含まれる複数の三次元点の複数の位置情報に、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造を設定し、深さ毎に前記複数の位置情報を符号化することで深さ毎の複数の第1符号化データを生成し、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第1符号化データを含む複数の第2符号化データを含むビットストリームを生成し、前記ビットストリームは、前記複数の第2符号化データの各々のデータ長を示す第1情報を含む。
【0014】
これによれば、ビットストリームを復号する三次元データ復号装置は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ符号化方法は、三次元データ復号装置の処理量を低減できる。
【0015】
例えば、前記第1情報は、前記複数の階層の各々に含まれる深さの数を示す第2情報と、前記複数の第1符号化データの各々のデータ長を示す第3情報とを含んでもよい。
【0016】
例えば、前記ビットストリームは、前記複数の第2符号化データに共通の第1ヘッダを含み、前記第1ヘッダは、前記第1情報を含んでもよい。
【0017】
例えば、前記ビットストリームは、第2符号化データ毎の複数の第2ヘッダを含み、前記第1情報は、前記複数の第2符号化データのいずれかに対応し、対応する第2符号化データのデータ長を示す複数の第4情報を含み、前記複数の第2ヘッダの各々は、当該第2ヘッダに対応する第2符号化データのデータ長を示す第4情報を含んでもよい。
【0018】
例えば、前記ビットストリームは、前記複数の第1符号化データ毎の複数の第3ヘッダを含み、前記第1情報は、前記複数の階層の各々に含まれる深さの数を示す第2情報と、前記複数の第1符号化データの各々に対応し、対応する第1符号化データのデータ長を示す第5情報とを含み、前記複数の第3ヘッダの各々は、当該第3ヘッダに対応する第1符号化データのデータ長を示す第5情報を含んでもよい。
【0019】
例えば、前記三次元データ符号化方法は、さらに、前記複数の三次元点が有する複数の属性情報を深さ毎に符号化することで深さ毎の複数の第3符号化データを生成し、前記ビットストリームは、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第3符号化データを含む複数の第4符号化データを含み、前記ビットストリームは、前記複数の第4符号化データの各々のデータ長を示す第6情報を含んでもよい。
【0020】
本開示の一態様に係る三次元データ復号方法は、複数の第2符号化データと、前記複数の第2符号化データの各々のデータ長を示す第1情報を含むビットストリームから、前記第1情報を取得し、前記第1情報を用いて、前記複数の第2符号化データのうちの少なくとも一つの第2符号化データを取得し、取得した前記少なくとも一つの第2符号化データを復号し、前記ビットストリームは、点群データに含まれる複数の三次元点の複数の位置情報であって、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造が設定された複数の位置情報が深さ毎に符号化されることで生成された深さ毎の複数の第1符号化データを含み、前記複数の第2符号化データの各々は、前記複数の階層のいずれかに対応し、前記複数の第1符号化データのうち、当該第2符号化データに対応する階層に含まれる1以上の第1符号化データを含む。
【0021】
これによれば、三次元データ復号方法は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ復号方法は、処理量を低減できる。
【0022】
例えば、前記第1情報は、前記複数の階層の各々に含まれる深さの数を示す第2情報と、前記複数の第1符号化データの各々のデータ長を示す第3情報とを含んでもよい。
【0023】
例えば、前記ビットストリームは、前記複数の第2符号化データに共通の第1ヘッダを含み、前記第1ヘッダは、前記第1情報を含んでもよい。
【0024】
例えば、前記ビットストリームは、第2符号化データ毎の複数の第2ヘッダを含み、前記第1情報は、前記複数の第2符号化データのいずれかに対応し、対応する第2符号化データのデータ長を示す複数の第4情報を含み、前記複数の第2ヘッダの各々は、当該第2ヘッダに対応する第2符号化データのデータ長を示す第4情報を含んでもよい。
【0025】
例えば、前記ビットストリームは、前記複数の第1符号化データ毎の複数の第3ヘッダを含み、前記第1情報は、前記複数の階層の各々に含まれる深さの数を示す第2情報と、前記複数の第1符号化データの各々に対応し、対応する第1符号化データのデータ長を示す第5情報とを含み、前記複数の第3ヘッダの各々は、当該第3ヘッダに対応する第1符号化データのデータ長を示す第5情報を含んでもよい。
【0026】
例えば、前記ビットストリームは、前記複数の三次元点が有する複数の属性情報が深さ毎に符号化されることで生成された深さ毎の複数の第3符号化データを含み、前記ビットストリームは、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第3符号化データを含む複数の第4符号化データを含み、前記ビットストリームは、前記複数の第4符号化データの各々のデータ長を示す第6情報を含み、前記三次元データ復号方法は、さらに、前記ビットストリームから、前記第6情報を取得し、前記第6情報を用いて、前記複数の第4符号化データのうちの少なくとも一つの第4符号化データを取得し、取得した前記少なくとも一つの第4符号化データを復号してもよい。
【0027】
また、本開示の一態様に係る三次元データ符号化装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データに含まれる複数の三次元点の複数の位置情報に、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造を設定し、深さ毎に前記複数の位置情報を符号化することで深さ毎の複数の第1符号化データを生成し、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第1符号化データを含む複数の第2符号化データを含むビットストリームを生成し、前記ビットストリームは、前記複数の第2符号化データの各々のデータ長を示す第1情報を含む。
【0028】
これによれば、ビットストリームを復号する三次元データ復号装置は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ符号化装置は、三次元データ復号装置の処理量を低減できる。
【0029】
また、本開示の一態様に係る三次元データ復号装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、複数の第2符号化データと、前記複数の第2符号化データの各々のデータ長を示す第1情報を含むビットストリームから、前記第1情報を取得し、前記第1情報を用いて、前記複数の第2符号化データのうちの少なくとも一つの第2符号化データを取得し、取得した前記少なくとも一つの第2符号化データを復号し、前記ビットストリームは、点群データに含まれる複数の三次元点の複数の位置情報であって、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造が設定された複数の位置情報が深さ毎に符号化されることで生成された深さ毎の複数の第1符号化データを含み、前記複数の第2符号化データの各々は、前記複数の階層のいずれかに対応し、前記複数の第1符号化データのうち、当該第2符号化データに対応する階層に含まれる1以上の第1符号化データを含む。
【0030】
これによれば、三次元データ復号装置は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ復号装置は、処理量を低減できる。
【0031】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0032】
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0033】
(実施の形態1)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
【0034】
本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報を送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元データ復号方法及び三次元データ復号装置、並びに、当該符号化データを多重化する三次元データ多重化方法、並びに、当該符号化データを伝送する三次元データ伝送方法について説明する。
【0035】
特に、現在、点群データの符号化方法(符号化方式)として第1の符号化方法、及び第2の符号化方法が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、又は、伝送或いは蓄積ができないという課題がある。
【0036】
また、PCC(Point Cloud Compression)のように、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するフォーマットをサポートする方法はこれまで存在しない。
【0037】
本実施の形態では、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するPCC符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法について説明する。
【0038】
まず、本実施の形態に係る三次元データ(点群データ)符号化復号システムの構成を説明する。
図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。
図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム4601と、三次元データ復号システム4602と、センサ端末4603と、外部接続部4604とを含む。
【0039】
三次元データ符号化システム4601は、三次元データである点群データを符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム4601は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム4601に含まれる複数の処理部のうち一部を含んでもよい。
【0040】
三次元データ符号化システム4601は、点群データ生成システム4611と、提示部4612と、符号化部4613と、多重化部4614と、入出力部4615と、制御部4616とを含む。点群データ生成システム4611は、センサ情報取得部4617と、点群データ生成部4618とを含む。
【0041】
センサ情報取得部4617は、センサ端末4603からセンサ情報を取得し、センサ情報を点群データ生成部4618に出力する。点群データ生成部4618は、センサ情報から点群データを生成し、点群データを符号化部4613へ出力する。
【0042】
提示部4612は、センサ情報又は点群データをユーザに提示する。例えば、提示部4612は、センサ情報又は点群データに基づく情報又は画像を表示する。
【0043】
符号化部4613は、点群データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部4614へ出力する。付加情報は、例えば、センサ情報を含む。
【0044】
多重化部4614は、符号化部4613から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。
【0045】
入出力部4615(例えば、通信部又はインタフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部4616(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4616は、符号化及び多重化等の制御を行う。
【0046】
なお、センサ情報が符号化部4613又は多重化部4614へ入力されてもよい。また、入出力部4615は、点群データ又は符号化データをそのまま外部へ出力してもよい。
【0047】
三次元データ符号化システム4601から出力された伝送信号(多重化データ)は、外部接続部4604を介して、三次元データ復号システム4602に入力される。
【0048】
三次元データ復号システム4602は、符号化データ又は多重化データを復号することで三次元データである点群データを生成する。なお、三次元データ復号システム4602は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム4602に含まれる複数の処理部のうち一部を含んでもよい。
【0049】
三次元データ復号システム4602は、センサ情報取得部4621と、入出力部4622と、逆多重化部4623と、復号部4624と、提示部4625と、ユーザインタフェース4626と、制御部4627とを含む。
【0050】
センサ情報取得部4621は、センサ端末4603からセンサ情報を取得する。
【0051】
入出力部4622は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部4623へ出力する。
【0052】
逆多重化部4623は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部4624へ出力する。
【0053】
復号部4624は、符号化データを復号することで点群データを再構成する。
【0054】
提示部4625は、点群データをユーザに提示する。例えば、提示部4625は、点群データに基づく情報又は画像を表示する。ユーザインタフェース4626は、ユーザの操作に基づく指示を取得する。制御部4627(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4627は、逆多重化、復号及び提示等の制御を行う。
【0055】
なお、入出力部4622は、点群データ又は符号化データをそのまま外部から取得してもよい。また、提示部4625は、センサ情報などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部4625は、ユーザインタフェース4626で取得されたユーザの指示に基づき、提示を行ってもよい。
【0056】
センサ端末4603は、センサで得られた情報であるセンサ情報を生成する。センサ端末4603は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。
【0057】
センサ端末4603で取得可能なセンサ情報は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末4603と対象物との距離、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離又は対象物の反射率等である。また、センサ情報は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、又は加速度等を含んでもよい。また、センサ情報は、気温、気圧、湿度、又は磁気等を含んでもよい。
【0058】
外部接続部4604は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。
【0059】
次に、点群データについて説明する。
図2は、点群データの構成を示す図である。
図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。
【0060】
点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報とを含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。
【0061】
三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。
【0062】
1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。
【0063】
図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。
【0064】
位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。
【0065】
次に、点群データの種類について説明する。
図4は、点群データの種類を示す図である。
図4に示すように、点群データには、静的オブジェクトと、動的オブジェクトとがある。
【0066】
静的オブジェクトは、任意の時間(ある時刻)の三次元点群データである。動的オブジェクトは、時間的に変化する三次元点群データである。以降、ある時刻の三次元点群データをPCCフレーム、又はフレームと呼ぶ。
【0067】
オブジェクトは、通常の映像データのように、ある程度領域が制限されている点群であってもよいし、地図情報のように領域が制限されていない大規模点群であってもよい。
【0068】
また、様々な密度の点群データがあり、疎な点群データと、密な点群データとが存在してもよい。
【0069】
以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。点群データ生成部4618は、センサ情報取得部4617で得られたセンサ情報に基づき点群データを生成する。点群データ生成部4618は、点群データとして、位置情報を生成し、位置情報に、当該位置情報に対する属性情報を付加する。
【0070】
点群データ生成部4618は、位置情報の生成又は属性情報の付加の際に、点群データを加工してもよい。例えば、点群データ生成部4618は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、点群データ生成部4618は、位置情報を変換(位置シフト、回転又は正規化など)してもよいし、属性情報をレンダリングしてもよい。
【0071】
なお、
図1では、点群データ生成システム4611は、三次元データ符号化システム4601に含まれるが、三次元データ符号化システム4601の外部に独立して設けられてもよい。
【0072】
符号化部4613は、点群データを予め規定された符号化方法に基づき符号化することで符号化データを生成する。符号化方法には大きく以下の2種類がある。一つ目は、位置情報を用いた符号化方法であり、この符号化方法を、以降、第1の符号化方法と記載する。二つ目は、ビデオコーデックを用いた符号化方法であり、この符号化方法を、以降、第2の符号化方法と記載する。
【0073】
復号部4624は、符号化データを予め規定された符号化方法に基づき復号することで点群データを復号する。
【0074】
多重化部4614は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部4614は、PCC符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部4614は、さらに、センサ情報又は点群データに関連する属性情報を多重してもよい。
【0075】
多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RMPなどがある。
【0076】
逆多重化部4623は、多重化データからPCC符号化データ、その他のメディア、及び時刻情報などを抽出する。
【0077】
入出力部4615は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部4615は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。
【0078】
通信プロトコルとしては、http、ftp、TCP又はUDPなどが用いられる。PULL型の通信方式が用いられてもよいし、PUSH型の通信方式が用いられてもよい。
【0079】
有線伝送及び無線伝送のいずれが用いられてもよい。有線伝送としては、Ethernet(登録商標)、USB、RS-232C、HDMI(登録商標)、又は同軸ケーブルなどが用いられる。無線伝送としては、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)又はミリ波などが用いられる。
【0080】
また、放送方式としては、例えばDVB-T2、DVB-S2、DVB-C2、ATSC3.0、又はISDB-S3などが用いられる。
【0081】
図5は、第1の符号化方法の符号化を行う符号化部4613の例である第1の符号化部4630の構成を示す図である。
図6は、第1の符号化部4630のブロック図である。第1の符号化部4630は、点群データを第1の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部4630は、位置情報符号化部4631と、属性情報符号化部4632と、付加情報符号化部4633と、多重化部4634とを含む。
【0082】
第1の符号化部4630は、三次元構造を意識して符号化を行うという特徴を有する。また、第1の符号化部4630は、属性情報符号化部4632が、位置情報符号化部4631から得られる情報を用いて符号を行うという特徴を有する。第1の符号化方法は、GPCC(Geometry based PCC)とも呼ばれる。
【0083】
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報(MetaData)を含む。位置情報は位置情報符号化部4631に入力され、属性情報は属性情報符号化部4632に入力され、付加情報は付加情報符号化部4633に入力される。
【0084】
位置情報符号化部4631は、位置情報を符号化することで符号化データである符号化位置情報(Compressed Geometry)を生成する。例えば、位置情報符号化部4631は、8分木等のN分木構造を用いて位置情報を符号化する。具体的には、8分木では、対象空間が8個のノード(サブ空間)に分割され、各ノードに点群が含まれるか否かを示す8ビットの情報(オキュパンシー符号)が生成される。また、点群が含まれるノードは、さらに、8個のノードに分割され、当該8個のノードの各々に点群が含まれるか否かを示す8ビットの情報が生成される。この処理が、予め定められた階層又はノードに含まれる点群の数の閾値以下になるまで繰り返される。
【0085】
属性情報符号化部4632は、位置情報符号化部4631で生成された構成情報を用いて符号化することで符号化データである符号化属性情報(Compressed Attribute)を生成する。例えば、属性情報符号化部4632は、位置情報符号化部4631で生成された8分木構造に基づき、処理対象の対象点(対象ノード)の符号化において参照する参照点(参照ノード)を決定する。例えば、属性情報符号化部4632は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
【0086】
また、属性情報の符号化処理は、量子化処理、予測処理、及び算術符号化処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、符号化のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、符号化のパラメータとは、量子化処理における量子化パラメータ、又は算術符号化におけるコンテキスト等である。
【0087】
付加情報符号化部4633は、付加情報のうち、圧縮可能なデータを符号化することで符号化データである符号化付加情報(Compressed MetaData)を生成する。
【0088】
多重化部4634は、符号化位置情報、符号化属性情報、符号化付加情報及びその他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
【0089】
次に、第1の符号化方法の復号を行う復号部4624の例である第1の復号部4640について説明する。
図7は、第1の復号部4640の構成を示す図である。
図8は、第1の復号部4640のブロック図である。第1の復号部4640は、第1の符号化方法で符号化された符号化データ(符号化ストリーム)を、第1の符号化方法で復号することで点群データを生成する。この第1の復号部4640は、逆多重化部4641と、位置情報復号部4642と、属性情報復号部4643と、付加情報復号部4644とを含む。
【0090】
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第1の復号部4640に入力される。
【0091】
逆多重化部4641は、符号化データから、符号化位置情報(Compressed Geometry)、符号化属性情報(Compressed Attribute)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
【0092】
位置情報復号部4642は、符号化位置情報を復号することで位置情報を生成する。例えば、位置情報復号部4642は、8分木等のN分木構造で表される符号化位置情報から三次元座標で表される点群の位置情報を復元する。
【0093】
属性情報復号部4643は、位置情報復号部4642で生成された構成情報に基づき、符号化属性情報を復号する。例えば、属性情報復号部4643は、位置情報復号部4642で得られた8分木構造に基づき、処理対象の対象点(対象ノード)の復号において参照する参照点(参照ノード)を決定する。例えば、属性情報復号部4643は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
【0094】
また、属性情報の復号処理は、逆量子化処理、予測処理、及び算術復号処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、復号のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、復号のパラメータとは、逆量子化処理における量子化パラメータ、又は算術復号におけるコンテキスト等である。
【0095】
付加情報復号部4644は、符号化付加情報を復号することで付加情報を生成する。また、第1の復号部4640は、位置情報及び属性情報の復号処理に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
【0096】
次に、位置情報符号化部の構成例を説明する。
図9は、本実施の形態に係る位置情報符号化部2700のブロック図である。位置情報符号化部2700は、8分木生成部2701と、幾何情報算出部2702と、符号化テーブル選択部2703と、エントロピー符号化部2704とを備える。
【0097】
8分木生成部2701は、入力された位置情報から、例えば8分木を生成し、8分木の各ノードのオキュパンシー符号を生成する。幾何情報算出部2702は、対象ノードの隣接ノードが占有ノードか否かを示す情報を取得する。例えば、幾何情報算出部2702は、対象ノードが所属する親ノードのオキュパンシー符号から隣接ノードの占有情報(隣接ノードが占有ノードであるか否かを示す情報)を算出する。また、幾何情報算出部2702は、符号化済みのノードをリストに保存しておき、そのリスト内から隣接ノードを探索してもよい。なお、幾何情報算出部2702は、対象ノードの親ノード内の位置に応じて隣接ノードを切替えてもよい。
【0098】
符号化テーブル選択部2703は、幾何情報算出部2702で算出された隣接ノードの占有情報を用いて対象ノードのエントロピー符号化に用いる符号化テーブルを選択する。例えば、符号化テーブル選択部2703は、隣接ノードの占有情報を用いてビット列を生成し、そのビット列から生成されるインデックス番号の符号化テーブルを選択してもよい。
【0099】
エントロピー符号化部2704は、選択されたインデックス番号の符号化テーブルを用いて対象ノードのオキュパンシー符号にエントロピー符号化を行うことで符号化位置情報及びメタデータを生成する。エントロピー符号化部2704は、選択された符号化テーブルを示す情報を符号化位置情報に付加してもよい。
【0100】
以下、8分木表現と位置情報のスキャン順について説明する。位置情報(位置データ)は8分木構造に変換(8分木化)された後、符号化される。8分木構造はノードとリーフとで構成される。各ノードは8つのノード又はリーフを持ち、各リーフはボクセル(VXL)情報を持つ。
図10は、複数のボクセルを含む位置情報の構造例を示す図である。
図11は、
図10に示す位置情報を8分木構造に変換した例を示す図である。ここで、
図11に示すリーフのうち、リーフ1、2、3はそれぞれ
図10に示すボクセルVXL1、VXL2、VXL3を表し、点群を含むVXL(以下、有効VXL)を表現している。
【0101】
具体的には、ノード1は、
図10の位置情報を包含する全体空間に対応する。ノード1に対応する全体空間は8つのノードに分割され、8つのノードのうち、有効VXLを含むノードが、さらに8つのノードまたはリーフに分割され、この処理が木構造の階層分繰り返される。ここで、各ノードはサブ空間に対応し、ノード情報として分割後のどの位置に次のノードまたはリーフを持つかを示す情報(オキュパンシー符号)を持つ。また、最下層のブロックはリーフに設定され、リーフ情報としてリーフ内に含まれる点群数などが保持される。
【0102】
次に、位置情報復号部の構成例を説明する。
図12は、本実施の形態に係る位置情報復号部2710のブロック図である。位置情報復号部2710は、8分木生成部2711と、幾何情報算出部2712と、符号化テーブル選択部2713と、エントロピー復号部2714とを備える。
【0103】
8分木生成部2711は、ビットストリームのヘッダ情報又はメタデータ等を用いて、ある空間(ノード)の8分木を生成する。例えば、8分木生成部2711は、ヘッダ情報に付加されたある空間のx軸、y軸、z軸方向の大きさを用いて大空間(ルートノード)を生成し、その空間をx軸、y軸、z軸方向にそれぞれ2分割することで8個の小空間A(ノードA0~A7)を生成することで8分木を生成する。また、対象ノードとしてノードA0~A7が順に設定される。
【0104】
幾何情報算出部2712は、対象ノードの隣接ノードが占有ノードであるか否かを示す占有情報を取得する。例えば、幾何情報算出部2712は、対象ノードが所属する親ノードのオキュパンシー符号から隣接ノードの占有情報を算出する。また、幾何情報算出部2712は、復号済みのノードをリストに保存しておき、そのリスト内から隣接ノードを探索してもよい。なお、幾何情報算出部2712は、対象ノードの親ノード内の位置に応じて隣接ノードを切替えてもよい。
【0105】
符号化テーブル選択部2713は、幾何情報算出部2712で算出された隣接ノードの占有情報を用いて対象ノードのエントロピー復号に用いる符号化テーブル(復号テーブル)を選択する。例えば、符号化テーブル選択部2713は、隣接ノードの占有情報を用いてビット列を生成し、そのビット列から生成されるインデックス番号の符号化テーブルを選択してもよい。
【0106】
エントロピー復号部2714は、選択された符号化テーブルを用いて対象ノードのオキュパンシー符号をエントロピー復号することで、位置情報を生成する。なお、エントロピー復号部2714は、選択された符号化テーブルの情報をビットストリームから復号して取得し、当該情報で示される符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー復号してもよい。
【0107】
以下、属性情報符号化部及び属性情報復号部の構成を説明する。
図13は属性情報符号化部A100の構成例を示すブロック図である。属性情報符号化部は異なる符号化方法を実行する複数の符号化部を含んでもよい。例えば、属性情報符号化部は、下記の2方式をユースケースに応じて切替えて用いてもよい。
【0108】
属性情報符号化部A100は、LoD属性情報符号化部A101と、変換属性情報符号化部A102とを含む。LoD属性情報符号化部A101は、三次元点の位置情報を用いて各三次元点を複数階層に分類し、各階層に属する三次元点の属性情報を予測して、その予測残差を符号化する。ここで、分類した各階層をLoD(Level of Detail)と呼ぶ。
【0109】
変換属性情報符号化部A102は、RAHT(Region Adaptive Hierarchical Transform)を用いて属性情報を符号化する。具体的には、変換属性情報符号化部A102は、三次元点の位置情報を元に各属性情報に対してRAHTまたはHaar変換を適用することで、各階層の高周波成分および低周波数成分を生成し、それらの値を量子化及びエントロピー符号化等を用いて符号化する。
【0110】
図14は属性情報復号部A110の構成例を示すブロック図である。属性情報復号部は異なる復号方法を実行する複数の復号部を含んでもよい。例えば、属性情報復号部は、下記の2方式をヘッダやメタデータに含まれる情報を元に切替えて復号してもよい。
【0111】
属性情報復号部A110は、LoD属性情報復号部A111と、変換属性情報復号部A112とを含む。LoD属性情報復号部A111は、三次元点の位置情報を用いて各三次元点を複数階層に分類し、各階層に属する三次元点の属性情報を予測しながら属性値を復号する。
【0112】
変換属性情報復号部A112は、RAHT(Region Adaptive Hierarchical Transform)を用いて属性情報を復号する。具体的には、変換属性情報復号部A112は、三次元点の位置情報を元に各属性値の高周波成分および低周波成分に対して、inverse RAHTまたはinverse Haar変換を適用することで属性値を復号する。
【0113】
図15は、LoD属性情報符号化部A101の一例である属性情報符号化部3140の構成を示すブロック図である。
【0114】
属性情報符号化部3140は、LoD生成部3141と、周囲探索部3142と、予測部3143と、予測残差算出部3144と、量子化部3145と、算術符号化部3146と、逆量子化部3147と、復号値生成部3148と、メモリ3149と、を含む。
【0115】
LoD生成部3141は、三次元点の位置情報を用いてLoDを生成する。
【0116】
周囲探索部3142は、LoD生成部3141によるLoDの生成結果と各三次元点間の距離を示す距離情報とを用いて、各三次元点に隣接する近隣三次元点を探索する。
【0117】
予測部3143は、符号化対象の対象三次元点の属性情報の予測値を生成する。
【0118】
予測残差算出部3144は、予測部3143により生成された属性情報の予測値の予測残差を算出(生成)する。
【0119】
量子化部3145は、予測残差算出部3144により算出された属性情報の予測残差を量子化する。
【0120】
算術符号化部3146は、量子化部3145により量子化された後の予測残差を算術符号化する。算術符号化部3146は、算術符号化した予測残差を含むビットストリームを、例えば、三次元データ復号装置に出力する。
【0121】
なお、予測残差は、算術符号化部3146によって算術符号化される前に、例えば量子化部3145によって二値化されてもよい。
【0122】
また、例えば、算術符号化部3146は、算術符号化に用いる符号化テーブルを算術符号化前に初期化してもよい。算術符号化部3146は、算術符号化に用いる符号化テーブルを、層毎に初期化してもよい。また、算術符号化部3146は、符号化テーブルを初期化した層の位置を示す情報をビットストリームに含めて出力してもよい。
【0123】
逆量子化部3147は、量子化部3145によって量子化された後の予測残差を逆量子化する。
【0124】
復号値生成部3148は、予測部3143により生成された属性情報の予測値と、逆量子化部3147により逆量子化された後の予測残差とを加算することで復号値を生成する。
【0125】
メモリ3149は、復号値生成部3148により復号された各三次元点の属性情報の復号値を記憶するメモリである。例えば、予測部3143は、まだ符号化していない三次元点の予測値を生成する場合に、メモリ3149に記憶されている各三次元点の属性情報の復号値を利用して予測値を生成する。
【0126】
図16は、変換属性情報符号化部A102の一例である属性情報符号化部6600のブロック図である。属性情報符号化部6600は、ソート部6601と、Haar変換部6602と、量子化部6603と、逆量子化部6604と、逆Haar変換部6605と、メモリ6606と、算術符号化部6607とを備える。
【0127】
ソート部6601は、三次元点の位置情報を用いてモートン符号を生成し、複数の三次元点をモートン符号順にソートする。Haar変換部6602は、属性情報にHaar変換を適用することで符号化係数を生成する。量子化部6603は、属性情報の符号化係数を量子化する。
【0128】
逆量子化部6604は、量子化後の符号化係数を逆量子化する。逆Haar変換部6605は、符号化係数に逆Haar変換を適用する。メモリ6606は、復号済みの複数の三次元点の属性情報の値を記憶する。例えば、メモリ6606に記憶される復号済みの三次元点の属性情報は、符号化されていない三次元点の予測等に利用されてもよい。
【0129】
算術符号化部6607は、量子化後の符号化係数からZeroCntを算出し、ZeroCntを算術符号化する。また、算術符号化部6607は、量子化後の非ゼロの符号化係数を算術符号化する。算術符号化部6607は、符号化係数を算術符号化前に二値化してもよい。また、算術符号化部6607は、各種ヘッダ情報を生成及び符号化してもよい。
【0130】
図17は、LoD属性情報復号部A111の一例である属性情報復号部3150の構成を示すブロック図である。
【0131】
属性情報復号部3150は、LoD生成部3151と、周囲探索部3152と、予測部3153と、算術復号部3154と、逆量子化部3155と、復号値生成部3156と、メモリ3157と、を含む。
【0132】
LoD生成部3151は、位置情報復号部(
図17には不図示)により復号された三次元点の位置情報を用いてLoDを生成する。
【0133】
周囲探索部3152は、LoD生成部3151によるLoDの生成結果と各三次元点間の距離を示す距離情報とを用いて、各三次元点に隣接する近隣三次元点を探索する。
【0134】
予測部3153は、復号対象の対象三次元点の属性情報の予測値を生成する。
【0135】
算術復号部3154は、
図15に示す属性情報符号化部3140より取得したビットストリーム内の予測残差を算術復号する。なお、算術復号部3154は、算術復号に用いる復号テーブルを初期化してもよい。算術復号部3154は、
図15に示す算術符号化部3146が符号化処理を行った層について、算術復号に用いる復号テーブルを初期化する。算術復号部3154は、算術復号に用いる復号テーブルを層毎に初期化してもよい。また、算術復号部3154は、ビットストリームに含まれる、符号化テーブルを初期化した層の位置を示す情報に基づいて、復号テーブルを初期化してもよい。
【0136】
逆量子化部3155は、算術復号部3154が算術復号した予測残差を逆量子化する。
【0137】
復号値生成部3156は、予測部3153により生成された予測値と逆量子化部3155により逆量子化された後の予測残差とを加算して復号値を生成する。復号値生成部3156は、復号された属性情報データを他の装置へ出力する。
【0138】
メモリ3157は、復号値生成部3156により復号された各三次元点の属性情報の復号値を記憶するメモリである。例えば、予測部3153は、まだ復号していない三次元点の予測値を生成する場合に、メモリ3157に記憶されている各三次元点の属性情報の復号値を利用して予測値を生成する。
【0139】
図18は、変換属性情報復号部A112の一例である属性情報復号部6610のブロック図である。属性情報復号部6610は、算術復号部6611と、逆量子化部6612と、逆Haar変換部6613と、メモリ6614とを備える。
【0140】
算術復号部6611は、ビットストリームに含まれるZeroCntと符号化係数を算術復号する。なお、算術復号部6611は、各種ヘッダ情報を復号してもよい。
【0141】
逆量子化部6612は、算術復号した符号化係数を逆量子化する。逆Haar変換部6613は、逆量子化後の符号化係数に逆Haar変換を適用する。メモリ6614は、復号済みの複数の三次元点の属性情報の値を記憶する。例えば、メモリ6614に記憶される復号済みの三次元点の属性情報は、復号されていない三次元点の予測に利用されてもよい。
【0142】
次に、第2の符号化方法の符号化を行う符号化部4613の例である第2の符号化部4650について説明する。
図19は、第2の符号化部4650の構成を示す図である。
図20は、第2の符号化部4650のブロック図である。
【0143】
第2の符号化部4650は、点群データを第2の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第2の符号化部4650は、付加情報生成部4651と、位置画像生成部4652と、属性画像生成部4653と、映像符号化部4654と、付加情報符号化部4655と、多重化部4656とを含む。
【0144】
第2の符号化部4650は、三次元構造を二次元画像に投影することで位置画像及び属性画像を生成し、生成した位置画像及び属性画像を既存の映像符号化方式を用いて符号化するという特徴を有する。第2の符号化方法は、VPCC(Video based PCC)とも呼ばれる。
【0145】
点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報MetaData)を含む。
【0146】
付加情報生成部4651は、三次元構造を二次元画像に投影することで、複数の二次元画像のマップ情報を生成する。
【0147】
位置画像生成部4652は、位置情報と、付加情報生成部4651で生成されたマップ情報とに基づき、位置画像(Geometry Image)を生成する。この位置画像は、例えば、画素値として距離(Depth)が示される距離画像である。なお、この距離画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
【0148】
属性画像生成部4653は、属性情報と、付加情報生成部4651で生成されたマップ情報とに基づき、属性画像を生成する。この属性画像は、例えば、画素値として属性情報(例えば色(RGB))が示される画像である。なお、この画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
【0149】
映像符号化部4654は、位置画像及び属性画像を、映像符号化方式を用いて符号化することで、符号化データである符号化位置画像(Compressed Geometry Image)及び符号化属性画像(Compressed Attribute Image)を生成する。なお、映像符号化方式として、公知の任意の符号化方法が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
【0150】
付加情報符号化部4655は、点群データに含まれる付加情報、及びマップ情報等を符号化することで符号化付加情報(Compressed MetaData)を生成する。
【0151】
多重化部4656は、符号化位置画像、符号化属性画像、符号化付加情報、及び、その他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
【0152】
次に、第2の符号化方法の復号を行う復号部4624の例である第2の復号部4660について説明する。
図21は、第2の復号部4660の構成を示す図である。
図22は、第2の復号部4660のブロック図である。第2の復号部4660は、第2の符号化方法で符号化された符号化データ(符号化ストリーム)を、第2の符号化方法で復号することで点群データを生成する。この第2の復号部4660は、逆多重化部4661と、映像復号部4662と、付加情報復号部4663と、位置情報生成部4664と、属性情報生成部4665とを含む。
【0153】
図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第2の復号部4660に入力される。
【0154】
逆多重化部4661は、符号化データから、符号化位置画像(Compressed Geometry Image)、符号化属性画像(Compressed Attribute Image)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
【0155】
映像復号部4662は、符号化位置画像及び符号化属性画像を、映像符号化方式を用いて復号することで、位置画像及び属性画像を生成する。なお、映像符号化方式として、公知の任意の符号化方式が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
【0156】
付加情報復号部4663は、符号化付加情報を復号することで、マップ情報等を含む付加情報を生成する。
【0157】
位置情報生成部4664は、位置画像とマップ情報とを用いて位置情報を生成する。属性情報生成部4665は、属性画像とマップ情報とを用いて属性情報を生成する。
【0158】
第2の復号部4660は、復号に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
【0159】
以下、PCC符号化方式における課題を説明する。
図23は、PCC符号化データに関わるプロトコルスタックを示す図である。
図23には、PCC符号化データに、映像(例えばHEVC)又は音声などの他のメディアのデータを多重し、伝送又は蓄積する例を示す。
【0160】
多重化方式及びファイルフォーマットは、様々な符号化データを多重し、伝送又は蓄積するための機能を有している。符号化データを伝送又は蓄積するためには、符号化データを多重化方式のフォーマットに変換しなければならない。例えば、HEVCでは、NALユニットと呼ばれるデータ構造に符号化データを格納し、NALユニットをISOBMFFに格納する技術が規定されている。
【0161】
一方、現在、点群データの符号化方法として第1の符号化方法(Codec1)、及び第2の符号化方法(Codec2)が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、伝送及び蓄積ができないという課題がある。
【0162】
なお、以降において、特定の符号化方法の記載がなければ、第1の符号化方法、及び第2の符号化方法のいずれかを示すものとする。
【0163】
(実施の形態2)
本実施の形態では、上述した第1の符号化部4630、又は第2の符号化部4650で生成される符号化データ(位置情報(Geometry)、属性情報(Attribute)、付加情報(Metadata))の種別、及び付加情報(メタデータ)の生成方法、及び多重化部における多重処理について説明する。なお、付加情報(メタデータ)は、パラメータセット、又は制御情報と表記することもある。
【0164】
本実施の形態では、
図4で説明した動的オブジェクト(時間的に変化する三次元点群データ)を例に説明するが、静的オブジェクト(任意の時刻の三次元点群データ)の場合でも同様の方法を用いてもよい。
【0165】
図24は、本実施の形態に係る三次元データ符号化装置に含まれる符号化部4801及び多重化部4802の構成を示す図である。符号化部4801は、例えば、上述した第1の符号化部4630又は第2の符号化部4650に対応する。多重化部4802は、上述した多重化部4634又は4656に対応する。
【0166】
符号化部4801は、複数のPCC(Point Cloud Compression)フレームの点群データを符号化し、複数の位置情報、属性情報及び付加情報の符号化データ(Multiple Compressed Data)を生成する。
【0167】
多重化部4802は、複数のデータ種別(位置情報、属性情報及び付加情報)のデータをNALユニット化することで、データを復号装置におけるデータアクセスを考慮したデータ構成に変換する。
【0168】
図25は、符号化部4801で生成される符号化データの構成例を示す図である。図中の矢印は符号化データの復号に係る依存関係を示しており、矢印の元は矢印の先のデータに依存している。つまり、復号装置は、矢印の先のデータを復号し、その復号したデータを用いて矢印の元のデータを復号する。言い換えると、依存するとは、依存元のデータの処理(符号化又は復号等)において依存先のデータが参照(使用)されることを意味する。
【0169】
まず、位置情報の符号化データの生成処理について説明する。符号化部4801は、各フレームの位置情報を符号化することで、フレーム毎の符号化位置データ(Compressed Geometry Data)を生成する。また、符号化位置データをG(i)で表す。iはフレーム番号、又はフレームの時刻等を示す。
【0170】
また、符号化部4801は、各フレームに対応する位置パラメータセット(GPS(i))を生成する。位置パラメータセットは、符号化位置データの復号に使用することが可能なパラメータを含む。また、フレーム毎の符号化位置データは、対応する位置パラメータセットに依存する。
【0171】
また、複数フレームから成る符号化位置データを位置シーケンス(Geometry Sequence)と定義する。符号化部4801は、位置シーケンス内の複数のフレームに対する復号処理に共通に使用するパラメータを格納する位置シーケンスパラメータセット(Geometry Sequence PS:位置SPSとも記す)を生成する。位置シーケンスは、位置SPSに依存する。
【0172】
次に、属性情報の符号化データの生成処理について説明する。符号化部4801は、各フレームの属性情報を符号化することで、フレーム毎の符号化属性データ(Compressed Attribute Data)を生成する。また、符号化属性データをA(i)で表す。また、
図25では、属性Xと属性Yとが存在する例を示しており、属性Xの符号化属性データをAX(i)で表し、属性Yの符号化属性データをAY(i)で表す。
【0173】
また、符号化部4801は、各フレームに対応する属性パラメータセット(APS(i))を生成する。また、属性Xの属性パラメータセットをAXPS(i)で表し、属性Yの属性パラメータセットをAYPS(i)で表す。属性パラメータセットは、符号化属性情報の復号に使用することが可能なパラメータを含む。符号化属性データは、対応する属性パラメータセットに依存する。
【0174】
また、複数フレームから成る符号化属性データを属性シーケンス(Attribute Sequence)と定義する。符号化部4801は、属性シーケンス内の複数のフレームに対する復号処理に共通に使用するパラメータを格納する属性シーケンスパラメータセット(Attribute Sequence PS:属性SPSとも記す)を生成する。属性シーケンスは、属性SPSに依存する。
【0175】
また、第1の符号化方法では、符号化属性データは符号化位置データに依存する。
【0176】
また、
図25では2種類の属性情報(属性Xと属性Y)が存在する場合の例を示している。2種類の属性情報がある場合は、例えば、2つの符号化部により、それぞれのデータ及びメタデータが生成される。また、例えば、属性情報の種類毎に属性シーケンスが定義され、属性情報の種類毎に属性SPSが生成される。
【0177】
なお、
図25では、位置情報が1種類、属性情報が2種類である例を示しているが、これに限らず、属性情報は1種類であってもよいし、3種類以上であってもよい。この場合も、同様の方法で符号化データを生成できる。また、属性情報を持たない点群データの場合は、属性情報はなくてもよい。その場合は、符号化部4801は、属性情報に関連するパラメータセットを生成しなくてもよい。
【0178】
次に、付加情報(メタデータ)の生成処理について説明する。符号化部4801は、PCCストリーム全体のパラメータセットであるPCCストリームPS(PCC Stream PS:ストリームPSとも記す)を生成する。符号化部4801は、ストリームPSに、1又は複数の位置シーケンス及び1又は複数の属性シーケンスに対する復号処理に共通に使用することができるパラメータを格納する。例えば、ストリームPSには、点群データのコーデックを示す識別情報、及び符号化に使用されたアルゴリズムを示す情報等が含まれる。位置シーケンス及び属性シーケンスはストリームPSに依存する。
【0179】
次に、アクセスユニット及びGOFについて説明する。本実施の形態では、新たにアクセスユニット(Access Unit:AU)、及びGOF(Group of Frame)の考え方を導入する。
【0180】
アクセスユニットは、復号時にデータにアクセスするため基本単位であり、1つ以上のデータ及び1つ以上のメタデータで構成される。例えば、アクセスユニットは、同一時刻の位置情報と1又は複数の属性情報とで構成される。GOFは、ランダムアクセス単位であり、1つ以上のアクセスユニットで構成される。
【0181】
符号化部4801は、アクセスユニットの先頭を示す識別情報として、アクセスユニットヘッダ(AU Header)を生成する。符号化部4801は、アクセスユニットヘッダに、アクセスユニットに係るパラメータを格納する。例えば、アクセスユニットヘッダは、アクセスユニットに含まれる符号化データの構成又は情報を含む。また、アクセスユニットヘッダは、アクセスユニットに含まれるデータに共通に用いられるパラメータ、例えば、符号化データの復号に係るパラメータなどを含む。
【0182】
なお、符号化部4801は、アクセスユニットヘッダの代わりに、アクセスユニットに係るパラメータを含まないアクセスユニットデリミタを生成してもよい。このアクセスユニットデリミタは、アクセスユニットの先頭を示す識別情報として用いられる。復号装置は、アクセスユニットヘッダ又はアクセスユニットデリミタを検出することにより、アクセスユニットの先頭を識別する。
【0183】
次に、GOF先頭の識別情報の生成について説明する。符号化部4801は、GOFの先頭を示す識別情報として、GOFヘッダ(GOF Header)を生成する。符号化部4801は、GOFヘッダに、GOFに係るパラメータを格納する。例えば、GOFヘッダは、GOFに含まれる符号化データの構成又は情報を含む。また、GOFヘッダは、GOFに含まれるデータに共通に用いられるパラメータ、例えば、符号化データの復号に係るパラメータなどを含む。
【0184】
なお、符号化部4801は、GOFヘッダの代わりに、GOFに係るパラメータを含まないGOFデリミタを生成してもよい。このGOFデリミタは、GOFの先頭を示す識別情報として用いられる。復号装置は、GOFヘッダ又はGOFデリミタを検出することにより、GOFの先頭を識別する。
【0185】
PCC符号化データにおいて、例えば、アクセスユニットはPCCフレーム単位であると定義される。復号装置は、アクセスユニット先頭の識別情報に基づき、PCCフレームにアクセスする。
【0186】
また、例えば、GOFは1つのランダムアクセス単位であると定義される。復号装置は、GOF先頭の識別情報に基づき、ランダムアクセス単位にアクセスする。例えば、PCCフレームが互いに依存関係がなく、単独で復号可能であれば、PCCフレームをランダムアクセス単位と定義してもよい。
【0187】
なお、1つのアクセスユニットに2つ以上のPCCフレームが割り当てられてもよいし、1つのGOFに複数のランダムアクセス単位が割り当てられてもよい。
【0188】
また、符号化部4801は、上記以外のパラメータセット又はメタデータを定義し、生成してもよい。例えば、符号化部4801は、復号時に必ずしも用いない可能性のあるパラメータ(オプションのパラメータ)を格納するSEI(Supplemental Enhancement Information)を生成してもよい。
【0189】
次に、符号化データの構成、及び符号化データのNALユニットへの格納方法を説明する。
【0190】
例えば、符号化データの種類毎にデータフォーマットが規定される。
図26は、符号化データ及びNALユニットの例を示す図である。
【0191】
例えば、
図26に示すように符号化データは、ヘッダとペイロードとを含む。なお、符号化データは、符号化データ、ヘッダ又はペイロードの長さ(データ量)を示す長さ情報を含んでもよい。また、符号化データは、ヘッダを含まなくてもよい。
【0192】
ヘッダは、例えば、データを特定するための識別情報を含む。この識別情報は、例えば、データ種別又はフレーム番号を示す。
【0193】
ヘッダは、例えば、参照関係を示す識別情報を含む。この識別情報は、例えば、データ間に依存関係がある場合にヘッダに格納され、参照元から参照先を参照するための情報である。例えば、参照先のヘッダには、当該データを特定するための識別情報が含まれる。参照元のヘッダには、参照先を示す識別情報が含まれる。
【0194】
なお、他の情報から参照先又は参照元を識別可能又は導出可能である場合は、データを特定するための識別情報、又は参照関係を示す識別情報を省略してもよい。
【0195】
多重化部4802は、符号化データを、NALユニットのペイロードに格納する。NALユニットヘッダには、符号化データの識別情報であるpcc_nal_unit_typeが含まれる。
図27は、pcc_nal_unit_typeのセマンティクスの例を示す図である。
【0196】
図27に示すように、pcc_codec_typeがコーデック1(Codec1:第1の符号化方法)である場合、pcc_nal_unit_typeの値0~10は、コーデック1における、符号化位置データ(Geometry)、符号化属性Xデータ(AttributeX)、符号化属性Yデータ(AttributeY)、位置PS(Geom.PS)、属性XPS(AttrX.PS)、属性YPS(AttrX.PS)、位置SPS(Geometry Sequence PS)、属性XSPS(AttributeX Sequence PS)、属性YSPS(AttributeY Sequence PS)、AUヘッダ(AU Header)、GOFヘッダ(GOF Header)に割り当てられる。また、値11以降は、コーデック1の予備に割り当てられる。
【0197】
pcc_codec_typeがコーデック2(Codec2:第2の符号化方法)である場合、pcc_nal_unit_typeの値0~2は、コーデックのデータA(DataA)、メタデータA(MetaDataA)、メタデータB(MetaDataB)に割り当てられる。また、値3以降は、コーデック2の予備に割り当てられる。
【0198】
次に、データの送出順序について説明する。以下、NALユニットの送出順序の制約について説明する。
【0199】
多重化部4802は、NALユニットをGOF又はAU単位でまとめて送出する。多重化部4802は、GOFの先頭にGOFヘッダを配置し、AUの先頭にAUヘッダを配置する。
【0200】
パケットロスなどでデータが失われた場合でも、復号装置が次のAUから復号できるように、多重化部4802は、シーケンスパラメータセット(SPS)を、AU毎に配置してもよい。
【0201】
符号化データに復号に係る依存関係がある場合には、復号装置は、参照先のデータを復号した後に、参照元のデータを復号する。復号装置において、データを並び替ることなく、受信した順番に復号できるようにするために、多重化部4802は、参照先のデータを先に送出する。
【0202】
図28は、NALユニットの送出順の例を示す図である。
図28は、位置情報優先と、パラメータ優先と、データ統合との3つの例を示す。
【0203】
位置情報優先の送出順序は、位置情報に関する情報と、属性情報に関する情報との各々をまとめて送出する例である。この送出順序の場合、位置情報に関する情報の送出が属性情報に関する情報の送出よりも早く完了する。
【0204】
例えば、この送出順序を用いることで、属性情報を復号しない復号装置は、属性情報の復号を無視することで、処理しない時間を設けることができる可能性がある。また、例えば、位置情報を早く復号したい復号装置の場合、位置情報の符号化データを早く得ることにより、より早く位置情報を復号することができる可能性がある。
【0205】
なお、
図28では、属性XSPSと属性YSPSを統合し、属性SPSと記載しているが、属性XSPSと属性YSPSとを個別に配置してもよい。
【0206】
パラメータセット優先の送出順序では、パラメータセットが先に送出され、データが後で送出される。
【0207】
以上のようにNALユニット送出順序の制約に従えば、多重化部4802は、NALユニットをどのような順序で送出してもよい。例えば、順序識別情報が定義され、多重化部4802は、複数パターンの順序でNALユニットを送出する機能を有してもよい。例えばストリームPSにNALユニットの順序識別情報が格納される。
【0208】
三次元データ復号装置は、順序識別情報に基づき復号を行ってもよい。三次元データ復号装置から三次元データ符号化装置に所望の送出順序が指示され、三次元データ符号化装置(多重化部4802)は、指示された送出順序に従って送出順序を制御してもよい。
【0209】
なお、多重化部4802は、データ統合の送出順序のように、送出順序の制約に従う範囲であれば、複数の機能をマージした符号化データを生成してもよい。例えば、
図28に示すように、GOFヘッダとAUヘッダとを統合してもよいし、AXPSとAYPSとを統合してもよい。この場合、pcc_nal_unit_typeには、複数の機能を有するデータであることを示す識別子が定義される。
【0210】
以下、本実施の形態の変形例について説明する。フレームレベルのPS、シーケンスレベルのPS、PCCシーケンスレベルのPSのように、PSにはレベルがあり、PCCシーケンスレベルを上位のレベルとし、フレームレベルを下位のレベルとすると、パラメータの格納方法には下記の方法を用いてもよい。
【0211】
デフォルトのPSの値をより上位のPSで示す。また、下位のPSの値が上位のPSの値と異なる場合には、下位のPSでPSの値が示される。または、上位ではPSの値を記載せず、下位のPSにPSの値を記載する。または、PSの値を、下位のPSで示すか、上位のPSで示すか、両方で示すかの情報を、下位のPSと上位のPSのいずれか一方又は両方に示す。または、下位のPSを上位のPSにマージしてもよい。または、下位のPSと上位のPSとが重複する場合には、多重化部4802は、いずれか一方の送出を省略してもよい。
【0212】
なお、符号化部4801又は多重化部4802は、データをスライス又はタイルなどに分割し、分割したデータを送出してもよい。分割したデータには、分割したデータを識別するための情報が含まれ、分割データの復号に使用するパラメータがパラメータセットに含まれる。この場合、pcc_nal_unit_typeには、タイル又はスライスに係るデータ又はパラメータを格納するデータであることを示す識別子が定義される。
【0213】
(実施の形態3)
HEVC符号化では復号装置における並列処理を可能とするために、スライス又はタイルといったデータ分割のツールがあるが、PCC(Point Cloud Compression)符号化ではまだない。
【0214】
PCCでは、並列処理、圧縮効率、及び圧縮アルゴリズムによって、様々なデータ分割方法が考えられる。ここでは、スライス及びタイルの定義、データ構造及び送受信方法について説明する。
【0215】
図29は、本実施の形態に係る三次元データ符号化装置に含まれる第1の符号化部4910の構成を示すブロック図である。第1の符号化部4910は、点群データを第1の符号化方法(GPCC(Geometry based PCC))で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部4910は、分割部4911と、複数の位置情報符号化部4912と、複数の属性情報符号化部4913と、付加情報符号化部4914と、多重化部4915とを含む。
【0216】
分割部4911は、点群データを分割することで複数の分割データを生成する。具体的には、分割部4911は、点群データの空間を複数のサブ空間に分割することで複数の分割データを生成する。ここでサブ空間とは、タイル及びスライスの一方、又はタイル及びスライスの組み合わせである。より具体的には、点群データは、位置情報、属性情報、及び付加情報を含む。分割部4911は、位置情報を複数の分割位置情報に分割し、属性情報を複数の分割属性情報に分割する。また、分割部4911は、分割に関する付加情報を生成する。
【0217】
複数の位置情報符号化部4912は、複数の分割位置情報を符号化することで複数の符号化位置情報を生成する。例えば、複数の位置情報符号化部4912は、複数の分割位置情報を並列処理する。
【0218】
複数の属性情報符号化部4913は、複数の分割属性情報を符号化することで複数の符号化属性情報を生成する。例えば、複数の属性情報符号化部4913は、複数の分割属性情報を並列処理する。
【0219】
付加情報符号化部4914は、点群データに含まれる付加情報と、分割部4911で分割時に生成された、データ分割に関する付加情報とを符号化することで符号化付加情報を生成する。
【0220】
多重化部4915は、複数の符号化位置情報、複数の符号化属性情報及び符号化付加情報を多重化することで符号化データ(符号化ストリーム)を生成し、生成した符号化データを送出する。また、符号化付加情報は復号時に使用される。
【0221】
なお、
図29では、位置情報符号化部4912及び属性情報符号化部4913の数がそれぞれ2つの例を示しているが、位置情報符号化部4912及び属性情報符号化部4913の数は、それぞれ1つであってもよいし、3つ以上であってもよい。また、複数の分割データは、CPU内の複数コアのように同一チップ内で並列処理されてもよいし、複数のチップのコアで並列処理されてもよいし、複数チップの複数コアで並列処理されてもよい。
【0222】
図30は、第1の復号部4920の構成を示すブロック図である。第1の復号部4920は、点群データが第1の符号化方法(GPCC)で符号化されることで生成された符号化データ(符号化ストリーム)を復号することで点群データを復元する。この第1の復号部4920は、逆多重化部4921と、複数の位置情報復号部4922と、複数の属性情報復号部4923と、付加情報復号部4924と、結合部4925とを含む。
【0223】
逆多重化部4921は、符号化データ(符号化ストリーム)を逆多重化することで複数の符号化位置情報、複数の符号化属性情報及び符号化付加情報を生成する。
【0224】
複数の位置情報復号部4922は、複数の符号化位置情報を復号することで複数の分割位置情報を生成する。例えば、複数の位置情報復号部4922は、複数の符号化位置情報を並列処理する。
【0225】
複数の属性情報復号部4923は、複数の符号化属性情報を復号することで複数の分割属性情報を生成する。例えば、複数の属性情報復号部4923は、複数の符号化属性情報を並列処理する。
【0226】
複数の付加情報復号部4924は、符号化付加情報を復号することで付加情報を生成する。
【0227】
結合部4925は、付加情報を用いて複数の分割位置情報を結合することで位置情報を生成する。結合部4925は、付加情報を用いて複数の分割属性情報を結合することで属性情報を生成する。
【0228】
なお、
図30では、位置情報復号部4922及び属性情報復号部4923の数がそれぞれ2つの例を示しているが、位置情報復号部4922及び属性情報復号部4923の数は、それぞれ1つであってもよし、3つ以上であってもよい。また、複数の分割データは、CPU内の複数コアのように同一チップ内で並列処理されてもよいし、複数のチップのコアで並列処理されてもよい、複数チップの複数コアで並列処理されてもよい。
【0229】
次に、分割部4911の構成を説明する。
図31は、分割部4911のブロック図である。分割部4911は、スライス分割部4931(Slice Divider)と、位置情報タイル分割部4932(Geometry Tile Divider)と、属性情報タイル分割部4933(Attribute Tile Divider)とを含む。
【0230】
スライス分割部4931は、位置情報(Position(Geometry))をスライスに分割することで複数のスライス位置情報を生成する。また、スライス分割部4931は、属性情報(Attribute)をスライスに分割することで複数のスライス属性情報を生成する。また、スライス分割部4931は、スライス分割に係る情報、及びスライス分割において生成された情報を含むスライス付加情報(SliceMetaData)を出力する。
【0231】
位置情報タイル分割部4932は、複数のスライス位置情報をタイルに分割することで複数の分割位置情報(複数のタイル位置情報)を生成する。また、位置情報タイル分割部4932は、位置情報のタイル分割に係る情報、及び位置情報のタイル分割において生成された情報を含む位置タイル付加情報(Geometry Tile MetaData)を出力する。
【0232】
属性情報タイル分割部4933は、複数のスライス属性情報をタイルに分割することで複数の分割属性情報(複数のタイル属性情報)を生成する。また、属性情報タイル分割部4933は、属性情報のタイル分割に係る情報、及び属性情報のタイル分割において生成された情報を含む属性タイル付加情報(Attribute Tile MetaData)を出力する。
【0233】
なお、分割されるスライス又はタイルの数は1以上である。つまり、スライス又はタイルの分割を行わなくてもよい。
【0234】
また、ここでは、スライス分割後にタイル分割が行われる例を示したが、タイル分割後にスライス分割が行われてもよい。また、スライス及びタイルに加え新たな分割種別を定義し、3つ以上の分割種別で分割が行われてもよい。
【0235】
以下、点群データの分割方法について説明する。
図32は、スライス及びタイル分割の例を示す図である。
【0236】
まず、スライス分割の方法について説明する。分割部4911は、三次元点群データを、スライス単位で、任意の点群に分割する。分割部4911は、スライス分割において、点を構成する位置情報と属性情報とを分割せず、位置情報と属性情報とを一括で分割する。すなわち、分割部4911は、任意の点における位置情報と属性情報とが同じスライスに属するようにスライス分割を行う。なお、これらに従えば、分割数、及び分割方法はどのような方法でもよい。また、分割の最小単位は点である。例えば、位置情報と属性情報との分割数は同一である。例えば、スライス分割後の位置情報に対応する三次元点と、属性情報に対応する三次元点とは同一のスライスに含まれる。
【0237】
また、分割部4911は、スライス分割時に分割数及び分割方法に係る付加情報であるスライス付加情報を生成する。スライス付加情報は、位置情報と属性情報とで同一である。例えば、スライス付加情報は、分割後のバウンディングボックスの基準座標位置、大きさ、又は辺の長さを示す情報を含む。また、スライス付加情報は、分割数、及び分割タイプなどを示す情報を含む。
【0238】
次に、タイル分割の方法について説明する。分割部4911は、スライス分割されたデータを、スライス位置情報(Gスライス)とスライス属性情報(Aスライス)とに分割し、スライス位置情報とスライス属性情報をそれぞれタイル単位に分割する。
【0239】
なお、
図32では8分木構造で分割する例を示しているが、分割数及び分割方法はどのような方法でもよい。
【0240】
また、分割部4911は、位置情報と属性情報とを異なる分割方法で分割してもよいし、同一の分割方法で分割してもよい。また、分割部4911は、複数のスライスを異なる分割方法でタイルに分割してもよいし、同一の分割方法でタイルに分割してもよい。
【0241】
また、分割部4911は、タイル分割時に分割数及び分割方法に係るタイル付加情報を生成する。タイル付加情報(位置タイル付加情報及び属性タイル付加情報)は、位置情報と属性情報とで独立している。例えば、タイル付加情報は、分割後のバウンディングボックスの基準座標位置、大きさ、又は辺の長さを示す情報を含む。また、タイル付加情報は、分割数、及び分割タイプなど示す情報を含む。
【0242】
次に、点群データをスライス又はタイルに分割する方法の例を説明する。分割部4911は、スライス又はタイル分割の方法として、予め定められた方法を用いてもよいし、点群データに応じて使用する方法を適応的に切り替えてもよい。
【0243】
スライス分割時には、分割部4911は、位置情報と属性情報とに対して一括で三次元空間を分割する。例えば、分割部4911は、オブジェクトの形状を判定し、オブジェクトの形状に応じて三次元空間をスライスに分割する。例えば、分割部4911は、木又は建物などのオブジェクトを抽出し、オブジェクト単位で分割を行う。例えば、分割部4911は、1又は複数のオブジェクトの全体が1つのスライスに含まれるようにスライス分割を行う。または、分割部4911は、一つのオブジェクトを複数のスライスに分割する。
【0244】
この場合、符号化装置は、例えば、スライス毎に符号化方法を変えてもよい。例えば、符号化装置は、特定のオブジェクト、又はオブジェクトの特定の一部に対して、高品質な圧縮方法を用いてもよい。この場合、符号化装置は、スライス毎の符号化方法を示す情報を付加情報(メタデータ)に格納してもよい。
【0245】
また、分割部4911は、地図情報又は位置情報に基づき、各スライスが予め定められた座標空間に対応するようにスライス分割を行ってもよい。
【0246】
タイル分割時には、分割部4911は、位置情報と属性情報とを独立に分割する。例えば、分割部4911は、データ量又は処理量に応じてスライスをタイルに分割する。例えば、分割部4911は、スライスのデータ量(例えばスライスに含まれる三次元点の数)が予め定められた閾値より多いかを判定する。分割部4911は、スライスのデータ量が閾値より多い場合にはスライスをタイルに分割する。分割部4911は、スライスのデータ量が閾値より少ないときにはスライスをタイルに分割しない。
【0247】
例えば、分割部4911は、復号装置での処理量又は処理時間が一定の範囲(予め定められた値以下)となるよう、スライスをタイルに分割する。これにより、復号装置におけるタイル当たりの処理量が一定となり、復号装置における分散処理が容易となる。
【0248】
また、分割部4911は、位置情報と属性情報とで処理量が異なる場合、例えば、位置情報の処理量が属性情報の処理量より多い場合、位置情報の分割数を、属性情報の分割数より多くする。
【0249】
また、例えば、コンテンツによって、復号装置で、位置情報を早く復号して表示し、属性情報を後でゆっくり復号して表示してもよい場合に、分割部4911は、位置情報の分割数を、属性情報の分割数より多くしてもよい。これにより、復号装置は、位置情報の並列数を多くできるので、位置情報の処理を属性情報の処理より高速化できる。
【0250】
なお、復号装置は、スライス化又はタイル化されているデータを必ずしも並列処理する必要はなく、復号処理部の数又は能力に応じて、これらを並列処理するかどうかを判定してもよい。
【0251】
以上のような方法で分割することにより、コンテンツ又はオブジェクトに応じた、適応的な符号化を実現できる。また、復号処理における並列処理を実現できる。これにより、点群符号化システム又は点群復号システムの柔軟性が向上する。
【0252】
図33は、スライス及びタイルの分割のパターンの例を示す図である。図中のDUはデータ単位(DataUnit)であり、タイル又はスライスのデータを示す。また、各DUは、スライスインデックス(SliceIndex)とタイルインデックス(TileIndex)を含む。図中のDUの右上の数値がスライスインデックスを示し、DUの左下の数値がタイルインデックスを示す。
【0253】
パターン1では、スライス分割において、GスライスとAスライスとで分割数及び分割方法は同じである。タイル分割において、Gスライスに対する分割数及び分割方法とAスライスに対する分割数及び分割方法とは異なる。また、複数のGスライス間では同一の分割数及び分割方法が用いられる。複数のAスライス間では同一の分割数及び分割方法が用いられる。
【0254】
パターン2では、スライス分割において、GスライスとAスライスとで分割数及び分割方法は同じである。タイル分割において、Gスライスに対する分割数及び分割方法とAスライスに対する分割数及び分割方法とは異なる。また、複数のGスライス間で分割数及び分割方法が異なる。複数のAスライス間で分割数及び分割方法が異なる。
【0255】
次に、分割データの符号化方法について説明する。三次元データ符号化装置(第1の符号化部4910)は、分割されたデータを、それぞれ符号化する。三次元データ符号化装置は、属性情報を符号化する際に、どの構成情報(位置情報、付加情報又は他の属性情報)に基づき符号化を行ったかを示す依存関係情報を付加情報として生成する。つまり、依存関係情報は、例えば、参照先(依存先)の構成情報を示す。この場合、三次元データ符号化装置は、属性情報の分割形状に対応する構成情報に基づき依存関係情報を生成する。なお、三次元データ符号化装置は、複数の分割形状に対応する構成情報に基づき依存関係情報を生成してもよい。
【0256】
依存関係情報は三次元データ符号化装置で生成され、生成された依存関係情報が三次元データ復号装置に送出されてもよい。または、三次元データ復号装置が依存関係情報を生成し、三次元データ符号化装置は依存関係情報を送出しなくてもよい。また、三次元データ符号化装置が使用する依存関係を、予め定めておき、三次元データ符号化装置は、依存関係情報を送出しなくてもよい。
【0257】
図34は、各データの依存関係の一例を示す図である。図中の矢印の先は依存先を示し、矢印の元は依存元を示している。三次元データ復号装置は、依存先から依存元の順でデータを復号する。また、図中に実線で示すデータは実際に送出されるデータであり、点線で示すデータは送出されないデータである。
【0258】
また、同図において、Gは位置情報を示し、Aは属性情報を示す。Gs1は、スライス番号1の位置情報を示し、Gs2は、スライス番号2の位置情報を示す。Gs1t1は、スライス番号1かつタイル番号1の位置情報を示し、Gs1t2は、スライス番号1かつタイル番号2の位置情報を示し、Gs2t1は、スライス番号2かつタイル番号1の位置情報を示し、Gs2t2は、スライス番号2かつタイル番号2の位置情報を示す。同様に、As1は、スライス番号1の属性情報を示し、As2は、スライス番号2の属性情報を示す。As1t1は、スライス番号1かつタイル番号1の属性情報を示し、As1t2は、スライス番号1かつタイル番号2の属性情報を示し、As2t1は、スライス番号2かつタイル番号1の属性情報を示し、As2t2は、スライス番号2かつタイル番号2の属性情報を示す。
【0259】
Msliceは、スライス付加情報を示し、MGtileは、位置タイル付加情報を示し、MAtileは、属性タイル付加情報を示す。Ds1t1は属性情報As1t1の依存関係情報を示し、Ds2t1は属性情報As2t1の依存関係情報を示す。
【0260】
また、三次元データ符号化装置は、三次元データ復号装置においてデータを並び替える必要がないように、データを復号順に並び替えてもよい。なお、三次元データ復号装置においてデータを並び替えてもよいし、三次元データ符号化装置と三次元データ復号装置との両方でデータを並び替えてもよい。
【0261】
図35は、データの復号順の例を示す図である。
図35の例では、左のデータから順に復号が行われる。三次元データ復号装置は、依存関係にあるデータ間では、依存先のデータから先に復号する。例えば、三次元データ符号化装置は、この順序となるようにデータを予め並び替えて送出する。なお、依存先のデータが先になる順序であれば、どのような順序でもよい。また、三次元データ符号化装置は、付加情報及び依存関係情報をデータより先に送出してもよい。
【0262】
図36は、三次元データ符号装置による処理の流れを示すフローチャートである。まず、三次元データ符号化装置は、上記のように複数のスライス又はタイルのデータを符号化する(S4901)。次に、三次元データ符号化装置は、
図35に示すように、依存先のデータが先になるようにデータを並び替える(S4902)。次に、三次元データ符号化装置は、並び替え後のデータを多重化(NALユニット化)する(S4903)。
【0263】
次に、第1の復号部4920に含まれる結合部4925の構成を説明する。
図37は、結合部4925の構成を示すブロック図である。結合部4925は、位置情報タイル結合部4941(Geometry Tile Combiner)と、属性情報タイル結合部4942(Attribute Tile Combiner)と、スライス結合部(Slice Combiner)とを含む。
【0264】
位置情報タイル結合部4941は、位置タイル付加情報を用いて複数の分割位置情報を結合することで複数のスライス位置情報を生成する。属性情報タイル結合部4942は、属性タイル付加情報を用いて複数の分割属性情報を結合することで複数のスライス属性情報を生成する。
【0265】
スライス結合部4943は、スライス付加情報を用いて複数のスライス位置情報を結合することで位置情報を生成する。また、スライス結合部4943は、スライス付加情報を用いて複数のスライス属性情報を結合することで属性情報を生成する。
【0266】
なお、分割されるスライス又はタイルの数は1以上である。つまり、スライス又はタイルの分割が行われていなくてもよい。
【0267】
また、ここでは、スライス分割後にタイル分割が行われる例を示したが、タイル分割後にスライス分割が行われてもよい。また、スライス及びタイルに加え新たな分割種別を定義し、3つ以上の分割種別で分割が行われてもよい。
【0268】
次に、スライス分割又はタイル分割された符号化データの構成、及び符号化データのNALユニットへの格納方法(多重化方法)を説明する。
図38は、符号化データの構成及び符号化データのNALユニットへの格納方法を示す図である。
【0269】
符号化データ(分割位置情報及び分割属性情報)は、NALユニットのペイロードに格納される。
【0270】
符号化データは、ヘッダとペイロードとを含む。ヘッダは、ペイロードに含まれるデータを特定するための識別情報を含む。この識別情報は、例えば、スライス分割或いはタイル分割の種別(slice_type、tile_type)、スライス或いはタイルを特定するためのインデックス情報(slice_idx、tile_idx)、データ(スライス或いはタイル)の位置情報、又はデータのアドレス(address)などを含む。スライスを特定するためのインデックス情報は、スライスインデックス(SliceIndex)とも記す。タイルを特定するためのインデックス情報は、タイルインデックス(TileIndex)とも記す。また、分割の種別とは、例えば、上述したようなオブジェクト形状に基づく手法、地図情報或いは位置情報に基づく手法、又は、データ量或いは処理量に基づく手法等である。
【0271】
なお、上記の情報の全て又は一部は、分割位置情報のヘッダ及び分割属性情報のヘッダの一方に格納され、他方に格納されてなくてもよい。例えば、位置情報と属性情報とで同一の分割方法が用いられる場合には、位置情報と属性情報とで分割の種別(slice_type、tile_type)及びインデックス情報(slice_idx、tile_idx)は同一である。よって、位置情報と属性情報の一方のヘッダにこれらの情報が含まれてもよい。例えば、位置情報に属性情報が依存する場合には、位置情報が先に処理される。よって、位置情報のヘッダにこれらの情報が含まれ、属性情報のヘッダにはこれらの情報が含まれなくてもよい。この場合、三次元データ復号装置は、例えば、依存先の位置情報のスライス又はタイルと同一のスライス又はタイルに依存元の属性情報が属すると判断する。
【0272】
また、スライス分割又はタイル分割に係る付加情報(スライス付加情報、位置タイル付加情報又は属性タイル付加情報)、及び依存関係を示す依存関係情報等は、既存のパラメータセット(GPS、APS、位置SPS又は属性SPSなど)に格納されて送出されてもよい。分割方法がフレーム毎に変化する場合は、フレーム毎のパラメータセット(GPS又はAPS等)に分割方法を示す情報が格納されてもよい。シーケンス内で分割方法が変化しない場合は、シーケンス毎のパラメータセット(位置SPS又は属性SPS)に分割方法を示す情報が格納されてもよい。さらに、位置情報と属性情報とで同じ分割方法が用いられる場合は、PCCストリームのパラメータセット(ストリームPS)に分割方法を示す情報が格納されてもよい。
【0273】
また、上記の情報は、上記のいずれかのパラメータセットに格納されてもよいし、複数のパラメータセットに格納されてもよい。また、タイル分割又はスライス分割用のパラメータセットを定義し、当該パラメータセットに上記の情報を格納してもよい。また、これらの情報は、符号化データのヘッダに格納されてもよい。
【0274】
また、符号化データのヘッダは、依存関係を示す識別情報を含む。つまり、当該ヘッダは、データ間に依存関係がある場合は、依存元から依存先を参照するための識別情報を含む。例えば、依存先のデータのヘッダには、当該データを特定するための識別情報が含まれる。依存元のデータのヘッダには、依存先を示す識別情報が含まれる。なお、データを特定するための識別情報、スライス分割又はタイル分割に係る付加情報、及び依存関係を示す識別情報を、他の情報から識別可能又は導出可能である場合は、これらの情報を省略してもよい。
【0275】
次に、本実施の形態に係る点群データの符号化処理及び復号処理の流れについて説明する。
図39は、本実施の形態に係る点群データの符号化処理のフローチャートである。
【0276】
まず、三次元データ符号化装置は、使用する分割方法を決定する(S4911)。この分割方法は、スライス分割を行うか否か、タイル分割を行うか否かを含む。また、分割方法は、スライス分割又はタイル分割を行う場合の分割数、及び、分割の種別等を含んでもよい。分割の種別とは、上述したようなオブジェクト形状に基づく手法、地図情報或いは位置情報に基づく手法、又は、データ量或いは処理量に基づく手法等である。なお、分割方法は、予め定められていてもよい。
【0277】
スライス分割が行われる場合(S4912でYes)、三次元データ符号化装置は、位置情報と属性情報とを一括で分割することで複数のスライス位置情報及び複数のスライス属性情報を生成する(S4913)。また、三次元データ符号化装置は、スライス分割に係るスライス付加情報を生成する。なお、三次元データ符号化装置は、位置情報と属性情報とを独立に分割してもよい。
【0278】
タイル分割が行われる場合(S4914でYes)、三次元データ符号化装置は、複数のスライス位置情報及び複数のスライス属性情報(又は位置情報及び属性情報)を独立に分割することで複数の分割位置情報及び複数の分割属性情報を生成する(S4915)。また、三次元データ符号化装置は、タイル分割に係る位置タイル付加情報及び属性タイル付加情報を生成する。なお、三次元データ符号化装置は、スライス位置情報とスライス属性情報とを一括で分割してもよい。
【0279】
次に、三次元データ符号化装置は、複数の分割位置情報及び複数の分割属性情報の各々を符号化することで、複数の符号化位置情報及び複数の符号化属性情報を生成する(S4916)。また、三次元データ符号化装置は、依存関係情報を生成する。
【0280】
次に、三次元データ符号化装置は、複数の符号化位置情報、複数の符号化属性情報及び付加情報をNALユニット化(多重化)することで符号化データ(符号化ストリーム)を生成する(S4917)。また、三次元データ符号化装置は、生成した符号化データを送出する。
【0281】
図40は、本実施の形態に係る点群データの復号処理のフローチャートである。まず、三次元データ復号装置は、符号化データ(符号化ストリーム)に含まれる、分割方法に係る付加情報(スライス付加情報、位置タイル付加情報及び属性タイル付加情報)を解析することで、分割方法を判定する(S4921)。この分割方法は、スライス分割を行うか否か、タイル分割を行うか否かを含む。また、分割方法は、スライス分割又はタイル分割を行う場合の分割数、及び、分割の種別等を含んでもよい。
【0282】
次に、三次元データ復号装置は、符号化データに含まれる複数の符号化位置情報及び複数の符号化属性情報を、符号化データに含まれる依存関係情報を用いて復号することで分割位置情報及び分割属性情報を生成する(S4922)。
【0283】
付加情報によりタイル分割が行われていることが示される場合(S4923でYes)、三次元データ復号装置は、位置タイル付加情報及び属性タイル付加情報に基づき、複数の分割位置情報と、複数の分割属性情報とを、それぞれの方法で結合することで、複数のスライス位置情報及び複数のスライス属性情報を生成する(S4924)。なお、三次元データ復号装置は、複数の分割位置情報と、複数の分割属性情報とを同一の方法で結合してもよい。
【0284】
付加情報によりスライス分割が行われていることが示される場合(S4925でYes)、三次元データ復号装置は、スライス付加情報に基づき、複数のスライス位置情報及び複数のスライス属性情報(複数の分割位置情報及び複数の分割属性情報)を同一の方法で結合することで位置情報及び属性情報を生成する(S4926)。なお、三次元データ復号装置は、複数のスライス位置情報と複数のスライス属性情報とを、それぞれ異なる方法で結合してもよい。
【0285】
なお、タイル又はスライスの属性情報(識別子、領域情報、アドレス情報及び位置情報等)は、SEIに限らず、その他の制御情報に格納されてもよい。例えば、属性情報は、PCCデータ全体の構成を示す制御情報に格納されてもよいし、タイル又はスライス毎の制御情報に格納されてもよい。
【0286】
また、三次元データ符号化装置(三次元データ送信装置)は、PCCデータを他のデバイスに伝送する際には、SEI等の制御情報を、そのシステムのプロトコルに特有の制御情報に変換して示してもよい。
【0287】
例えば、三次元データ符号化装置は、属性情報を含むPCCデータを、ISOBMFF(ISO Base Media File Format)に変換する際に、SEIをPCCデータとともに「mdat box」に格納してもよいし、ストリームに関する制御情報を記載する「track box」に格納してもよい。つまり、三次元データ符号化装置は、制御情報を、ランダムアクセスのためのテーブルに格納してもよい。また、三次元データ符号化装置は、PCCデータをパケット化して伝送する場合には、SEIをパケットヘッダに格納してもよい。このように、属性情報をシステムのレイヤで取得可能にすることにより、属性情報、及びタイルデータ又はスライスデータへのアクセスが容易となり、アクセスの速度を向上できる。
【0288】
なお、三次元データ復号装置の構成において、メモリ管理部は、復号処理に必要な情報がメモリにあるか否かを予め判定し、復号処理に必要な情報がなければ、当該情報をストレージ又はネットワークから取得してもよい。
【0289】
三次元データ復号装置が、ストレージ又はネットワークからPCCデータをMPEG-DASHなどのプロトコルにおけるPullを用いて取得する場合は、メモリ管理部は、ローカライズ部などからの情報に基づき、復号処理に必要なデータの属性情報を特定し、特定した属性情報を含むタイル又はスライスを要求し、必要なデータ(PCCストリーム)を取得してもよい。属性情報を含むタイル又はスライスの特定は、ストレージ又はネットワーク側で行われてもよいし、メモリ管理部が行ってもよい。例えば、メモリ管理部は、予め全てのPCCデータのSEIを取得しておき、その情報に基づき、タイル又はスライスを特定してもよい。
【0290】
ストレージ又はネットワークから全てのPCCデータがUDPプロトコルなどにおいてPushを用いて送信されている場合は、メモリ管理部は、ローカライズ部などからの情報に基づき、復号処理に必要なデータの属性情報、及びタイル又はスライスを特定し、送出されるPCCデータから所望のタイル又はスライスをフィルタリングすることで、所望のデータを取得してもよい。
【0291】
また、三次元データ符号化装置は、データの取得の際に、所望のデータがあるか否か、又はデータサイズ等に基づき実時間での処理が可能か否か、又は通信状態等を判定してもよい。三次元データ符号化装置は、この判定結果に基づき、データ取得が困難であると判断した場合は、優先度又はデータ量の異なる別のスライス又はタイルを選択して取得してもよい。
【0292】
また、三次元データ復号装置は、ローカライズ部などからの情報をクラウドサーバへ送信し、クラウドサーバが、その情報に基づき必要な情報を判定してもよい。
【0293】
(実施の形態4)
次に、タイル付加情報について説明する。三次元データ符号化装置は、タイルの分割方法に関するメタデータであるタイル付加情報を生成し、生成したタイル付加情報を三次元データ復号装置に送信する。
【0294】
図41は、タイル付加情報(TileMetaData)のシンタックス例を示す図である。
図41に示すように、例えば、タイル付加情報は、分割方法情報(type_of_divide)と、形状情報(topview_shape)と、重複フラグ(tile_overlap_flag)と、重複情報(type_of_overlap)と、高さ情報(tile_height)と、タイル数(tile_number)と、タイル位置情報(global_position、relative_position)と、を含む。
【0295】
分割方法情報(type_of_divide)は、タイルの分割方法を示す。例えば、分割方法情報は、タイルの分割方法が、地図の情報に基づいた分割であるか、つまり上面視に基づく分割(top_view)であるか、それ以外(other)であるかを示す。
【0296】
形状情報(topview_shape)は、例えば、タイルの分割方法が上面視に基づく分割である場合に、タイル付加情報に含まれる。形状情報は、タイルを上面視した形状を示す。例えば、この形状は、正方形及び円を含む。なお、この形状は、楕円、矩形又は四角形以外の多角形を含んでもよいし、それ以外の形状を含んでもよい。なお、形状情報は、タイルを上面視した形状に限らず、タイルの三次元形状(例えば、立方体及び円柱等)を示してもよい。
【0297】
重複フラグ(tile_overlap_flag)は、タイルが重複するか否かを示す。例えば、重複フラグは、タイルの分割方法が上面視に基づく分割である場合に、タイル付加情報に含まれる。この場合、重複フラグは、上面視において、タイルが重複するか否かを示す。なお、重複フラグは、三次元空間においてタイルが重複するか否かを示してもよい。
【0298】
重複情報(type_of_overlap)は、例えば、タイルが重複する場合に、タイル付加情報に含まれる。重複情報は、タイルの重複のしかた等を示す。例えば、重複情報は、重複する領域の大きさ等を示す。
【0299】
高さ情報(tile_height)は、タイルの高さを示す。なお、高さ情報は、タイルの形状を示す情報を含んでもよい。例えば、当該情報は、タイルの上面視における形状が矩形の場合には、当該の矩形の辺の長さ(縦の長さ及び横の長さ)を示してもよい。また、当該情報は、タイルの上面視における形状が円の場合には、当該円の直径又は半径を示してもよい。
【0300】
また、高さ情報は、各タイルの高さを示してもよし、複数のタイルで共通の高さを示してもよい。また、予め道路及び立体交差部分等の複数の高さタイプが設定され、高さ情報により、各高さタイプの高さと、各タイルの高さタイプとが示されてもよい。または、各高さタイプの高さは予め定義されており、高さ情報により、各タイルの高さタイプが示されてもよい。つまり、各高さタイプの高さは、高さ情報で示されなくてもよい。
【0301】
タイル数(tile_number)は、タイルの数を示す。なお、タイル付加情報は、タイルの間隔を示す情報を含んでもよい。
【0302】
タイル位置情報(global_position、relative_position)は、各タイルの位置を特定するための情報である。例えば、タイル位置情報は、各タイルの絶対座標又は相対座標を示す。
【0303】
なお、上記の情報の一部又は全ては、タイル毎に設けられてもよいし、複数のタイル毎(例えばフレーム毎又は複数フレーム毎)に設けられてもよい。
【0304】
三次元データ符号化装置は、タイル付加情報を、SEI(Supplemental Enhancement Information)に含めて送出してもよい。または、三次元データ符号化装置は、タイル付加情報を、既存のパラメータセット(PPS、GPS、又はAPS等)に格納して送出してもよい。
【0305】
例えば、タイル付加情報がフレーム毎に変化する場合は、フレーム毎のパラメータセット(GPS又はAPS等)にタイル付加情報が格納されてもよい。シーケンス内でタイル付加情報が変化しない場合は、シーケンス毎のパラメータセット(位置SPS又は属性SPS)にタイル付加情報が格納されてもよい。さらに、位置情報と属性情報とで同じタイル分割情報が用いられる場合は、PCCストリームのパラメータセット(ストリームPS)にタイル付加情報が格納されてもよい。
【0306】
また、タイル付加情報は、上記のいずれかのパラメータセットに格納されてもよいし、複数のパラメータセットに格納されてもよい。また、タイル付加情報は、符号化データのヘッダに格納されてもよい。また、タイル付加情報は、NALユニットのヘッダに格納されてもよい。
【0307】
また、タイル付加情報の全て又は一部は、分割位置情報のヘッダ及び分割属性情報のヘッダの一方に格納され、他方に格納されてなくてもよい。例えば、位置情報と属性情報とで同一のタイル付加情報が用いられる場合には、位置情報と属性情報の一方のヘッダにタイル付加情報が含まれてもよい。例えば、位置情報に属性情報が依存する場合には、位置情報が先に処理される。よって、位置情報のヘッダにこれらのタイル付加情報が含まれ、属性情報のヘッダにはタイル付加情報が含まれなくてもよい。この場合、三次元データ復号装置は、例えば、依存先の位置情報のタイルと同一のタイルに依存元の属性情報が属すると判断する。
【0308】
三次元データ復号装置は、タイル付加情報に基づき、タイル分割された点群データを再構成する。三次元データ復号装置は、重複する点群データがある場合は、重複する複数の点群データを特定し、いずれかを選択、又は複数の点群データをマージする。
【0309】
また、三次元データ復号装置は、タイル付加情報を用いて復号を行ってもよい。例えば、三次元データ復号装置は、複数のタイルが重複する場合は、タイル毎に復号を行い、復号された複数のデータを用いた処理(例えば平滑化、又はフィルタリング等)を行い、点群データを生成してもよい。これにより精度の高い復号が可能となる可能性がある。
【0310】
図42は、三次元データ符号化装置及び三次元データ復号装置を含むシステムの構成例を示す図である。タイル分割部5051は、位置情報及び属性情報を含む点群データを第1タイルと第2タイルとに分割する。また、タイル分割部5051は、タイル分割に係るタイル付加情報を復号部5053及びタイル結合部5054に送る。
【0311】
符号化部5052は、第1タイル及び第2タイルを符号化することで符号化データを生成する。
【0312】
復号部5053は、符号化部5052で生成された符号化データを復号することで第1タイル及び第2タイルを復元する。タイル結合部5054は、タイル付加情報を用いて、第1タイル及び第2タイルを結合することで点群データ(位置情報及び属性情報)を復元する。
【0313】
次に、スライス付加情報について説明する。三次元データ符号化装置は、スライスの分割方法に関するメタデータであるスライス付加情報を生成し、生成したスライス付加情報を三次元データ復号装置に送信する。
【0314】
図43は、スライス付加情報(SliceMetaData)のシンタックス例を示す図である。
図43に示すように、例えば、スライス付加情報は、分割方法情報(type_of_divide)と、重複フラグ(slice_overlap_flag)と、重複情報(type_of_overlap)と、スライス数(slice_number)と、スライス位置情報(global_position、relative_position)と、スライスサイズ情報(slice_bounding_box_size)とを含む。
【0315】
分割方法情報(type_of_divide)は、スライスの分割方法を示す。例えば、分割方法情報は、スライスの分割方法が、
図60で示すようなオブジェクトの情報に基づいた分割である(object)か否かを示す。なお、スライス付加情報は、オブジェクト分割の方法を示す情報を含んでもよい。例えば、この情報は、1つのオブジェクトを複数のスライスに分割するか、1つのスライスに割り当てるかを示す。また、この情報は、1つのオブジェクトを複数のスライスに分割する場合の分割数等を示してもよい。
【0316】
重複フラグ(slice_overlap_flag)は、スライスが重複するか否かを示す。重複情報(type_of_overlap)は、例えば、スライスが重複する場合に、スライス付加情報に含まれる。重複情報は、スライスの重複のしかた等を示す。例えば、重複情報は、重複する領域の大きさ等を示す。
【0317】
スライス数(slice_number)は、スライスの数を示す。
【0318】
スライス位置情報(global_position、relative_position)、及びスライスサイズ情報(slice_bounding_box_size)は、スライスの領域に関する情報である。スライス位置情報は、各スライスの位置を特定するための情報である。例えば、スライス位置情報は、各スライスの絶対座標又は相対座標を示す。スライスサイズ情報(slice_bounding_box_size)は、各スライスのサイズを示す。例えば、スライスサイズ情報は、各スライスのバウンディングボックスのサイズを示す。
【0319】
三次元データ符号化装置は、スライス付加情報をSEIに含めて送出してもよい。または、三次元データ符号化装置は、スライス付加情報を、既存のパラメータセット(PPS、GPS、又はAPS等)に格納して送出してもよい。
【0320】
例えば、スライス付加情報がフレーム毎に変化する場合は、フレーム毎のパラメータセット(GPS又はAPS等)にスライス付加情報が格納されてもよい。シーケンス内でスライス付加情報が変化しない場合は、シーケンス毎のパラメータセット(位置SPS又は属性SPS)にスライス付加情報が格納されてもよい。さらに、位置情報と属性情報とで同じスライス分割情報が用いられる場合は、PCCストリームのパラメータセット(ストリームPS)にスライス付加情報が格納されてもよい。
【0321】
また、スライス付加情報は、上記のいずれかのパラメータセットに格納されてもよいし、複数のパラメータセットに格納されてもよい。また、スライス付加情報は、符号化データのヘッダに格納されてもよい。また、スライス付加情報は、NALユニットのヘッダに格納されてもよい。
【0322】
また、スライス付加情報の全て又は一部は、分割位置情報のヘッダ及び分割属性情報のヘッダの一方に格納され、他方に格納されてなくてもよい。例えば、位置情報と属性情報とで同一のスライス付加情報が用いられる場合には、位置情報と属性情報の一方のヘッダにスライス付加情報が含まれてもよい。例えば、位置情報に属性情報が依存する場合には、位置情報が先に処理される。よって、位置情報のヘッダにこれらのスライス付加情報が含まれ、属性情報のヘッダにはスライス付加情報が含まれなくてもよい。この場合、三次元データ復号装置は、例えば、依存先の位置情報のスライスと同一のスライスに依存元の属性情報が属すると判断する。
【0323】
三次元データ復号装置は、スライス付加情報に基づき、スライス分割された点群データを再構成する。三次元データ復号装置は、重複する点群データがある場合は、重複する複数の点群データを特定し、いずれかを選択、又は複数の点群データをマージする。
【0324】
また、三次元データ復号装置は、スライス付加情報を用いて復号を行ってもよい。例えば、三次元データ復号装置は、複数のスライスが重複する場合は、スライス毎に復号を行い、復号された複数のデータを用いた処理(例えば平滑化、又はフィルタリング)を行い、点群データを生成してもよい。これにより精度の高い復号が可能となる可能性がある。
【0325】
図44は、本実施の形態に係る三次元データ符号化装置による、タイル付加情報の生成処理を含む三次元データ符号化処理のフローチャートである。
【0326】
まず、三次元データ符号化装置は、タイルの分割方法を決定する(S5031)。具体的には、三次元データ符号化装置は、タイルの分割方法として、上面視に基づく分割方法(top_view)を用いるか、それ以外(other)を用いるかを決定する。また、三次元データ符号化装置は、上面視に基づく分割方法を用いる場合のタイルの形状を決定する。また、三次元データ符号化装置は、タイルが他のタイルと重複するか否かを決定する。
【0327】
ステップS5031で決定したタイルの分割方法が上面視に基づく分割方法である場合(S5032でYes)、三次元データ符号化装置は、タイルの分割方法が上面視に基づく分割方法(top_view)であることをタイル付加情報に記載する(S5033)。
【0328】
一方、ステップS5031で決定したタイルの分割方法が上面視に基づく分割方法以外である場合(S5032でNo)、三次元データ符号化装置は、タイルの分割方法が上面視に基づく分割方法(top_view)以外の方法であることをタイル付加情報に記載する(S5034)。
【0329】
また、ステップS5031で決定した、タイルを上面視した形状が正方形である場合(S5035で正方形)、三次元データ符号化装置は、タイルを上面視した形状が正方形であることをタイル付加情報に記載する(S5036)。一方、ステップS5031で決定した、タイルを上面視した形状が円である場合(S5035で円)、三次元データ符号化装置は、タイルを上面視した形状が円であることをタイル付加情報に記載する(S5037)。
【0330】
次に、三次元データ符号化装置は、タイルが他のタイルと重複するかを判定する(S5038)。タイルが他のタイルと重複している場合(S5038でYes)、三次元データ符号化装置は、タイルが重複していることをタイル付加情報に記載する(S5039)。一方、タイルが他のタイルと重複していない場合(S5038でNo)、三次元データ符号化装置は、タイルが重複していないことをタイル付加情報に記載する(S5040)。
【0331】
次に、三次元データ符号化装置は、ステップS5031で決定したタイルの分割方法に基づきタイルを分割し、各タイルを符号化し、生成された符号化データ及びタイル付加情報を送出する(S5041)。
【0332】
図45は、本実施の形態に係る三次元データ復号装置による、タイル付加情報を用いた三次元データ復号処理のフローチャートである。
【0333】
まず、三次元データ復号装置は、ビットストリームに含まれるタイル付加情報を解析する(S5051)。
【0334】
タイル付加情報によりタイルが他のタイルと重複していないことが示される場合(S5052でNo)、三次元データ復号装置は、各タイルを復号することで各タイルの点群データを生成する(S5053)。次に、三次元データ復号装置は、タイル付加情報で示されるタイルの分割方法及びタイルの形状に基づき、各タイルの点群データから点群データを再構成する(S5054)。
【0335】
一方、タイル付加情報によりタイルが他のタイルと重複していることが示される場合(S5052でYes)、三次元データ復号装置は、各タイルを復号することで各タイルの点群データを生成する。また、三次元データ復号装置は、タイル付加情報に基づき、タイルの重複部分を特定する(S5055)。なお、三次元データ復号装置は、重複部分については重複する複数の情報を用いて復号処理を行ってもよい。次に、三次元データ復号装置は、タイル付加情報で示されるタイルの分割方法、タイルの形状、及び重複情報に基づき、各タイルの点群データから点群データを再構成する(S5056)。
【0336】
以下、スライスに関する変形例等を説明する。三次元データ符号化装置は、オブジェクトの種類(道、建物、木等)又は属性(動的情報、静的情報等)を示す情報を付加情報として送信してもよい。または、オブジェクトに応じて符号化のパラメータが予め規定され、三次元データ符号化装置は、オブジェクトの種類又は属性を送出することにより符号化パラメータを三次元データ復号装置へ通知してもよい。
【0337】
スライスデータの符号化順及び送出順について以下の方法を用いてもよい。例えば、三次元データ符号化装置は、オブジェクトの認識又はクラスタリングが容易なデータから順にスライスデータを符号化してもよい。または、三次元データ符号化装置は、早くクラスタリングが終わったスライスデータから順に符号化を行ってもよい。また、三次元データ符号化装置は、符号化されたスライスデータから順に送出してもよい。または、三次元データ符号化装置は、アプリケーションにおいて復号の優先度の高い順にスライスデータを送出してもよい。例えば、動的情報の復号の優先度が高い場合には、三次元データ符号化装置は、動的情報でグループ化されたスライスから順にスライスデータを送出してもよい。
【0338】
また、三次元データ符号化装置は、符号化データの順番と、復号の優先度の順番とが異なる場合には、符号化データを並び替えた後に送出してもよい。また、三次元データ符号化装置は、符号化データを蓄積する際には、符号化データを並び替えた後に蓄積してもよい。
【0339】
アプリケーション(三次元データ復号装置)は、所望のデータを含むスライスの送出をサーバ(三次元データ符号化装置)に要求する。サーバはアプリケーションが必要とするスライスデータを送出し、不要なスライスデータは送出しなくてもよい。
【0340】
アプリケーションは、所望のデータを含むタイルの送出をサーバに要求する。サーバはアプリケーションが必要とするタイルデータを送出し、不要なタイルデータは送出しなくてもよい。
【0341】
(実施の形態5)
位置情報(ジオメトリ)の符号化について説明する。三次元データ符号化装置は、位置情報の符号化において、点群データを含む領域を8分木を用いて分割し、ノード毎の点の占有情報の集合に変換する。占有情報は、子ノードの各々に点があるかないかを示す8bitの情報であり、各子ノードに点が含まれるか否かが0、1により示される。
【0342】
8分木に分割する順番としては、幅優先探索法を用いて、深さ(depthの値)の小さいノードから順に分割する方法と、深さ優先探索法を用いて、点を最下層の深さまで探索した後に、また上の深さに戻って再度探索する方法などがある。符号化では、占有情報を上記順番に並べて符号化する。
【0343】
図46は、depth=6の深さまで持つ点群を8分木で分割する際の木構造を示す図である。
図47は、幅優先探索法を用いた8分木構造の符号化データのデータ構造の例を示す図である。点群の符号化データは、ヘッダ(header)とペイロード(payload)とを含む。ペイロードには、深さ(depth)毎の情報(depth#0~#6)が順に配置される。
図48は、ペイロードのシンタックス例を示す図である。ペイロードは、深さ毎のオキュパンシー符号を含む。
【0344】
次に、階層構造について説明する。例えば、
図46に示すように、複数のレベル(階層レベルとも呼ぶ)を定義する。レベル2は、depth=0から最終の深さ(depth=6)まで8分木分割が行われた点群データを用いて表現された点群であり、レベル1は、depth=0からdepth=5まで8分木分割が行われた点群データを用いて表現された点群であり、レベル0は、depth=0からdepth=4まで8分木分割が行われた点群データを用いて表現された点群である。つまり、レベル0、レベル1、レベル2の順に点群の解像度が高くなる。逆にレベル2、レベル1、レベル0の順に点群の解像度が低くなる。これは、レベルが下がるごとに1/2で量子化されているともいうことができる。このように、レベルを用いることで、最下位層までの全てのデータを用いて点群全体を表現したり、depth=0から一部の上位の階層までのデータを用いることで低解像度の点群データを表現したりできる。なお、データの取り扱う解像度、又はデータ量に応じて、必要に応じて適応的に様々な組み合わせでレベルを設定することができる。
【0345】
図49は、位置情報が符号化された符号化データを目的の解像度で復号する復号処理のフローチャートである。まず、三次元データ復号装置は、復号したいレベル(解像度)及びそのレベルに対応する深さを決定する(S8801)。
【0346】
次に、三次元データ復号装置は、決定された深さの符号化データを復号する。具体的には、三次元データ復号装置は、最初の深さ(深さ0(depth=0))を復号する(S8802)。三次元データ復号装置は、復号対象の全ての深さの復号が完了していない場合(S8803でNo)、次の深さを復号する(S8804)。なお、三次元データ復号装置は、復号対象の深さを前のレベル(又は深さ)のデータを用いて復号してもよい。三次元データ復号装置は、復号対象の全ての深さの復号が完了した場合(S8803でYes)、得られた点群を表示する(S8805)。
【0347】
また、三次元データ復号装置は、決定された深さの符号化データを復号し、残りの深さの符号化データは復号しなくてもよい。
図50は、レベルと復号されるデータのとの関係を示す図である。
図51は、レベルを示す模式図である。例えば、
図50において、レベル0の点群を復号するためには、depth#0~depth#4の復号が必要である。よって、三次元データ復号装置は、Aの符号化データまでを復号する。
【0348】
また、レベル1の点群を復号するためには、depth#0~depth#5の復号が必要である。よって、三次元データ復号装置は、Bの符号化データまでを復号する。また、レベル2(全て)の点群を復号するためには、depth#0~depth#6の復号が必要である。よって、三次元データ復号装置は、Cの符号化データまでを復号する。
【0349】
以上の処理により、三次元データ復号装置は、低解像度のデータを復号できる。よって、三次元データ復号装置は、高解像度の点群を必要としない場合にデータ量を削減したり、復号処理をスキップすることにより処理量を削減できる。
【0350】
あるいは、三次元データ復号装置は、低解像度のデータを復号後に、残りのデータの復号を待たずに低解像度データを表示し、高解像度の復号データを復号後に残りのデータを表示できる。これにより、復号及び表示の初期遅延を短くできる。
【0351】
ここで、三次元データ復号装置は、途中のデータまで復号するためには、A又はBの時点までデータを取得したこと、つまり、符号化データにおける深さ間の境界、又は深さの情報を判定する必要がある。
図52は、ヘッダのシンタックス例を示す図である。
図53は、ペイロードのシンタックス例を示す図である。
【0352】
例えば、三次元データ復号装置は、ヘッダに示される点群のポイント数(numPoint)、深さの数(depth)、及び、ペイロードに示される深さ毎に格納されるノード毎又はリーフ毎の符号化データ(occupancy_code)を用い、符号化データを先頭から順に復号し、復号されたオキュパンシー符号の情報を解析することで、深さ間の境界又は深さ情報を判定してもよい。
【0353】
本実施の形態では、このような深さデータの部分復号、並びに、データの分割及び結合が容易となるようなデータ構成について説明する。ここでは、新たに階層化構造を意識したデータ構造を定義する。本データ構造を用いることにより、階層データ単位のデータ分割及び結合が可能となる。三次元データ符号化装置又は三次元データ復号装置は、特定の必要な階層データを抽出することにより、伝送に必要なデータ量を削減できる。また、三次元データ符号化装置又は三次元データ復号装置は、符号化データの復号を行うことなしにデータ分割又は結合を行うことが可能となることで、機能性が向上する。
【0354】
図54は、深さ0から深さ6までの全ての位置情報(depth#0~depth#6)を持つ符号化データの構成を示す図である。なお、この符号化データを全体符号化データ又はビットストリーム(符号化ビットストリーム)とも呼ぶ。この例では、全体符号化データには、深さ間のデータに明示的な境界を示す情報は含まれていない。三次元データ復号装置は、オキュパンシー符号(occupancy_code)を解析することにより深さ間の境界、又は深さ情報を得ることができる。ここで、ヘッダに含まれるポイント数(numPoint)は全体符号化データに含まれる全ての点の数を示す。また、深さの数を示す深さ数depthはこの例では「7」である。
【0355】
図55は、全体符号化データの構成を示す図である。
図55に示す全体符号化データは、
図54に示す構成に加え、さらに階層構造を示すメタデータである階層構造メタデータを含む。
図56は、深さ情報(depth_info)のシンタックス例を示す図である。
図57は、深さ情報が階層構造メタデータ(layer_metadata)に格納される例を示す図である。
【0356】
深さ情報は、深さ数(depth)と、深さ(depth)毎のデータの長さを示す長さ情報(length)を含む。長さ情報は、例えば、対応する深さの符号化データ(深さデータとも記す)の先頭の位置と最終の位置との差をバイト数又はビット数などで示す。
【0357】
長さ情報を含む階層構造メタデータは、符号化データの前に送出されてもよいし、後に送出されてもよい。また、長さ情報は、全体符号化データのヘッダに格納されてもよい。
図58は、この場合のヘッダのシンタックス例を示す図である。ヘッダは、ポイント数(numPoint)、及び深さ情報(depth_info)を含む。
【0358】
このように、例えば、階層構造メタデータ又はヘッダに深さ間のデータ境界が明示される。なお、三次元データ復号装置は、階層構造メタデータを、復号に用いなくてもよい。この場合、三次元データ復号装置は、階層構造メタデータを、階層データを分割又は再構成する際に用いる。
【0359】
なお、
図54及び
図55に示す構成の場合、全ての深さデータは連続しており、エントロピー符号化に用いるコンテキスト情報も初期化されず連続している。
【0360】
本構造を用いることにより、三次元データ復号装置は、全体符号化データを深さ毎のデータに容易に分割できるので、処理量を削減できる。また、分割データの伝送が可能となることで伝送量を削減できる。
【0361】
次に、階層(レイヤ)の概念を導入した場合について説明する。
図59が、この場合の全体符号化データの構成例を示す図である。同図では、深さ0~深さ4(depth#0~depth#4)がレイヤ0と定義され、深さ5(depth#5)がレイヤ1と定義され、深さ6(depth#6)がレイヤ2と定義される。つまり、上述したレベル(階層レベル)と比較した場合、レベルは深さ0から所望の深さまでの複数の深さで定義されるのに対して、複数の階層は互いに重複しない深さで定義される。例えば、レイヤ0はレベル0と同一の深さを含み、レイヤ1は、レベル1とレベル0との差分の深さに対応し、レイヤ2は、レベル2とレベル1との差分に対応する。
【0362】
この場合、階層情報(layer_info)が全体符号化データに付加される。
図60は、階層情報のシンタックス例を示す図である。階層情報は、レイヤの数を示すレイヤ数(layer)、及び各レイヤに含まれる深さの数を示すレイヤ深さ数(num_depth)を含む。
図61は、階層構造メタデータのシンタックス例を示す図である。例えば、階層構造メタデータは、階層情報(layer_info)を含む。
図62は、全体符号化データのヘッダのシンタックス例を示す図である。例えば、
図62に示すように、ヘッダは、深さ情報(depth_info)を含む。なお、階層情報及び深さ情報は、両方ともヘッダ又は階層構造メタデータに含まれてもよい。なお、ここで示すシンタックス構造は一例であり、これに限らない。全体符号化データに含まれる情報は、三次元データ復号装置が、深さ数、レイヤ数、レイヤ深さ数、及び長さ情報を取得できる情報であればよい。例えば、全体符号化データは、各レイヤの長さを示す情報を含んでもよい。
【0363】
また、レイヤ構造が複数の処理単位(例えばフレーム等)で共通であれば、シーケンスレベルのパラメータセット(例えばSPS)などの、より上位のメタデータに、これらの情報の一部又は全てが含まれてもよい。
【0364】
なお、全体符号化データが、階層情報(layer_info)及び深さ情報(depth_info)を含むか否かを示すフラグが全体符号化データに含まれてもよい。フラグがオン(例えば値1)の場合に、階層情報及び深さ情報が全体符号化データに含まれてもよい。なお、フラグは、階層情報と深さ情報とで個別に設けられてもよい。
【0365】
本構造を用いることにより、本データから深さ毎のデータへの分割、又は本データから階層ごとのデータへの分割が容易となるので、処理量を削減できる。また、分割データの伝送が可能となることで、伝送量を削減できる。
【0366】
次に、点群データ全体の構成について説明する。点群データは、位置情報(geometry)に加え、例えば、色又は反射率などの属性情報(Attribute)を1以上持つ場合がある。属性情報も、位置情報と同様に階層構造を有してもよい。
【0367】
属性情報が位置情報と同様の階層構造を持つ場合、三次元データ符号化装置は、位置情報と同様に階層構造の情報を階層構造メタデータ又はデータヘッダに格納する。例えば、三次元データ符号化装置は、属性情報ヘッダと位置情報ヘッダとのそれぞれに階層構造の情報を格納する。三次元データ符号化装置は、階層構造メタデータに階層構造の情報を格納する際には、階層構造メタデータを、GPS又はAPSなどの位置情報と属性情報とで個別のパラメータセットに格納してもよいし、SPSなどの共通のパラメータセットに格納してもよい。また、三次元データ符号化装置は、SEI、又はその他のメタデータに階層構造メタデータを格納してもよい。
【0368】
図63は、位置情報と属性情報とがそれぞれ階層構造を持ち、階層構造の情報が階層構造メタデータに格納される場合のビットストリームの構成例を示す図である。本構造を用いることにより、本データから階層毎のデータへの分割が容易となるので、処理量を削減できる。また、分割データの伝送が可能となることで、伝送量を削減できる。また、位置情報と属性情報とを同様に階層毎に分割することが可能となる。
【0369】
図64は、階層構造メタデータのシンタックス例を示す図である。同図は、位置情報と属性情報とに共通の階層構造メタデータを適用する場合の例を示す。
【0370】
階層構造メタデータは、階層情報(layer_info)と、コンポーネント数(component)と、各コンポーネントの深さ情報(depth_info)とを含む。コンポーネント数は、位置情報、及び属性情報などのコンポーネント数を示す。例えば、点群データが位置情報に加え、色及び反射率を持つ場合、コンポーネント数は3である。なお、位置情報は必ず存在すると仮定して、属性情報のコンポーネント数が示されてもよい。また、SPSに属性情報のコンポーネント数が示されている場合には、この情報は省略されてもよい。これにより、データ量が削減される。
【0371】
階層情報(layer_info)は、レイヤ数及び各レイヤに含まれる深さの数を示す。例えば、階層情報は、全てのコンポーネントで共通である。
【0372】
深さ情報(depth_info)は、深さ数及び各深さデータのデータ長(長さ情報)を示す。深さ情報は、例えば、コンポーネント毎に設定される。なお、深さ情報の一部又は全てが、全てのコンポーネントで共通であってもよい。
【0373】
また、階層構造をコンポーネントごとに独立させる場合は、階層情報がコンポーネント毎に生成されてもよい。
【0374】
なお、ここでは、深さを基準に階層化を行う方法を説明したが、時間情報又は空間情報に基づき階層化が行われてもよい。階層化される場合には、階層構造メタデータを上記の方法で示す。また、階層構造を持たない構成が生成される場合があってもよい。符号化データが階層構造を持つか否かを示す情報が、ヘッダ又はメタデータに含まれてもよい。これにより、階層構造を持つデータと階層構造を持たないデータとを混在させることができる。例えば、位置情報は階層構造を持ち、属性情報は階層構造を持たなくてもよい。また、このことを示す情報がヘッダ等に示されてもよい。
【0375】
次に、位置情報と属性情報とのデータ参照関係、及び依存関係について説明する。
図65、
図66及び
図67は、位置情報及び属性情報の参照関係を示す図である。
【0376】
符号化データが階層構造を持つ場合、レイヤ0はベースレイヤであり単独で復号可能なデータである。一方、レイヤ1は単独では復号できず、レイヤ0のデータと統合して復号される。また、レイヤ2は単独では復号できず、レイヤ0及びレイヤ1のデータと統合して復号される。また、8分木ベースの符号化方式を用いる場合は、
図65に示すように、属性情報のレイヤ0は位置情報のレイヤ0を参照して復号される。例えば、
図66に示すように、属性情報のレイヤ1は、属性情報のレイヤ0と、位置情報のレイヤ0及びレイヤ1とを参照して復号される。復号に参照関係又は依存関係がある場合、参照先のデータが先に送出される。参照先のデータを先に伝送することで、三次元データ復号装置においてデータを取得した順番に復号することが可能となり、受信バッファの容量を削減できるなど効率の良い復号が可能となる。
【0377】
以下、符号化データを、例えばISOBMFFなどのファイルフォーマットに格納する方法について説明する。
図68は、ビットストリームの構成例を示す図である。
図69は、三次元データ符号化装置の構成例を示す図である。三次元データ符号化装置は、符号化部8801と、ファイル変換部8802とを含む。符号化部8801は、点群データを符号化することで符号化データと制御情報とを含むビットストリームを生成する。ファイル変換部8802は、ビットストリームをファイルフォーマットに変換する。
【0378】
図70は、三次元データ復号装置の構成例を示す図である。三次元データ復号装置は、ファイル逆変換部8811と、復号部8812とを含む。ファイル逆変換部8811は、ファイルフォーマットを、符号化データ及び制御情報を含むビットストリームに変換する。復号部8812は、ビットストリームを復号することで点群データを生成する。
【0379】
図71は、ISOBMFFの基本構造を示す図である。
図72は、PCCコーデック共通のNALユニットをISOBMFFに格納する場合のプロトコルスタック図である。ここで、ISOBMFFに格納されるのは、PCCコーデックのNALユニットである。
【0380】
NALユニットには、データ用のNALユニット、メタデータ用のNALユニットがある。データ用のNALユニットには、位置情報スライスデータ(Geometry Slice Data)、及び属性情報スライスデータ(Attribute Slice Data)などがある。メタデータ用のNALユニットには、SPS、GPS、APS、及びSEIなどがある。
【0381】
ISOBMFF(ISO based media file format)は、ISO/IEC14496-12に規定されるファイルフォーマット規格であり、ビデオ、オーディオ、及びテキストなど様々なメディアを多重して格納できるフォーマットを規定しており、メディアに依存しない規格である。
【0382】
ISOBMFFにおける基本単位はボックスである。ボックスはtype、length及びdataで構成され、様々なtypeのボックスを組み合わせた集合がファイルである。主に、ファイルは、ファイルのブランドを4CCで示すftyp、制御情報などのメタデータを格納するmoov、及びデータを格納するmdatなどのボックスで構成される。
【0383】
ISOBMFFへのメディア毎の格納方法は別途規定されており、例えば、AVCビデオ及びHEVCビデオの格納方法としては、ISO/IEC14496-15に規定される。また、PCC符号化データを、蓄積及び伝送するために、ISOBMFFの機能を拡張して使用することが考えられる。
【0384】
メタデータ用のNALユニットをISOBMFFに格納する際には、SEIをPCCデータとともに「mdat box」に格納してもよいし、ストリームに関する制御情報を記載する「track box」に格納してもよい。また、データをパケット化して伝送する場合には、パケットヘッダにSEIを格納してもよい。SEIをシステムのレイヤに示すことにより、属性情報、タイル及びスライスデータへのアクセスが容易となるので、アクセスの速度が向上する。
【0385】
次に、PCC階層データのフォーマット変換の第1の例について説明する。符号化方式はデータを圧縮する技術である。一方で、付加的な機能はシステムフォーマットで提供され、符号化方式とは役割が異なる。このような付加機能は、符号化方式とは異なる規格で規定される。付加機能を提供ために最適なフォーマットとするため、三次元データ符号化装置は、データを変換する。その際、三次元データ符号化装置は、変換が容易となる情報を予め符号化データに格納する。これにより変換に関わる処理量を削減できる。
【0386】
以下、階層毎のデータと、階層情報を含む階層構造メタデータとをファイルフォーマットに変換する方法を説明する。位置情報及び属性情報などのスライスデータは、それぞれファイルフォーマットのサンプルに格納される。サンプルはmdatに格納される。また、サンプルデータへのアクセスのために、ランダムアクセステーブルなどのメタデータに、データ構成を示す情報と、データの位置を示すオフセット情報と、データの長さ情報とが格納される。なお、これらの情報は、ランダムアクセステーブルとは異なるテーブルに格納されてもよい。
【0387】
以下、スライスデータをサンプルに格納する場合について説明する。
図73は、ビットストリームからファイルフォーマットへの変換処理を示す図である。三次元データ符号化装置は、位置情報スライス及び属性情報スライスを、サンプル(sample)へ1対1に対応させて格納する。ここで、スライスは全てのレイヤの情報(階層データ)を含む。
【0388】
位置情報サンプルは、位置情報トラック(Geometry Track)に属し、属性情報サンプルは、属性情報トラック(Attribute Track)に属する。階層情報は、メタデータトラック(Meta Data Track)に属するフレーム毎のメタデータに格納される。また、位置情報サンプルと属性情報サンプルとが同じフレームに属することを示す情報と、8分木ベースの符号化方式の場合には属性情報サンプルが位置情報サンプルを参照するか否かを示す情報と、位置情報サンプル及び属性情報サンプルに共通のタイムスタンプ情報となどが、メタデータサンプルに格納されてもよい。
【0389】
共通のタイムスタンプで動作するフレーム単位をアクセスユニットと呼んでもよい。なお、階層情報(layer_information)は、moovに格納されてもよい。ここで階層情報は、例えば、上述した階層の情報(layer_info)を含む。なお、階層情報は、深さ情報(depth_info)等の、上述した階層構造メタデータ又はヘッダに含まれるその他の情報の少なくとも一部を含んでもよい。
【0390】
本方法を用いる場合、スライスをそのままサンプルとして格納できるので、処理が容易である。
【0391】
図74は、フォーマット変換処理のフローチャートである。まず、三次元データ符号化装置は、符号化データのフォーマット変換を開始する(S8811)。次に、三次元データ符号化装置は、複数のレイヤを含む1つのスライスを1サンプルに格納する(S8812)。また、三次元データ符号化装置は、階層情報をメタデータに格納する(S8813)。三次元データ符号化装置は、フレーム(AU:アクセスユニット)を構成する(S8814)。
【0392】
次に、ファイルフォーマットを用いた部分復号方法について説明する。
図75は、この復号処理のフローチャートである。まず、三次元データ復号装置は、ランダムアクセスにより所望のサンプルを抽出する(S8821)。具体的には、三次元データ復号装置は、moovに含まれるメタデータ、及びランダムアクセステーブルなどを用いて、所望のサンプルの位置を特定し、当該サンプルのデータを抽出する。
【0393】
三次元データ復号装置は、階層情報メタデータを解析し(S8822)、サンプル内のレイヤ境界情報を抽出する(S8823)。具体的には、三次元データ復号装置は、階層情報メタデータからサンプル内の各レイヤに含まれる深さの数及び各深さのデータ長からレイヤの境界情報を取得する。例えば、三次元データ復号装置は、各レイヤに含まれる深さの数及び各深さのデータ長から各レイヤのデータ長を算出し、算出した各レイヤのデータ長に基づきレイヤのデータ境界を判定する。
【0394】
次に、三次元データ復号装置は、レイヤの境界情報を用いてレイヤを分割し、所望のデータを復号する(S8824)。例えば、三次元データ復号装置は、サンプルから特定のレイヤ成分を抽出する。
【0395】
このように、階層情報をメタデータに含めることにより、三次元データ復号装置において、階層情報を用いて、符号化データを復号することなく特定の情報を抽出できる。
【0396】
以下、PCC階層データのフォーマット変換の第2の例について説明する。三次元データ符号化装置は、階層データをサンプルに格納する際に、1つの階層データを1サンプルとして格納してもよいし、1つのサブサンプルとして格納してもよい。
【0397】
図76は、ビットストリームからファイルフォーマットへの変換処理を示す図である。三次元データ符号化装置は、位置情報スライス及び属性情報スライスのうち、レイヤ毎のデータをサンプルに1対1に対応させて格納する。
【0398】
位置情報サンプルは、位置情報トラック(Geometry Track)に属し、属性情報サンプルは、属性情報トラック(Attribute Track)に属する。階層情報は、メタデータトラック(Meta Data Track)に属するフレーム毎のメタデータに格納される。また、レイヤ毎にトラックが存在し、それぞれのトラックに属するサンプルが存在する。レイヤ毎にトラックが設けられることで、レイヤ毎にデータを扱うことが容易となる。
【0399】
また、符号化データのビットストリームにおいて、スライスデータは階層データを全て含むため、三次元データ符号化装置は、データを分割しながらサンプルへの格納を行う。階層情報がビットストリームに示されている場合には、三次元データ符号化装置は、各階層データのデータ長を示す情報などを用いて、スライスデータを分割する。階層情報がビットストリームに示されない場合は、三次元データ符号化装置は、符号化データを復号しながら階層情報を算出する。三次元データ符号化装置は、得られた階層情報に基づきデータを再符号化し分割する。
【0400】
本処理により、レイヤ毎のトラック及びサンプルにレイヤ毎の情報を格納できる。よって、三次元データ復号装置においてレイヤ毎にデータを抽出できるので、レイヤ毎のデータの取り扱いが容易となる。
【0401】
図77は、階層構造メタデータのシンタックス例を示す図である。階層構造メタデータは、階層情報(layer_info)と、コンポーネント数(component)と、各コンポーネントの深さ情報(depth_info)とを含む。
【0402】
なお、三次元データ符号化装置は、スライスを階層データに分割する際、サンプルにヘッダ情報を含める場合は、スライスヘッダを、全ての分割データにコピーして付加してもよい。
図78は、この分割処理を模式的に示す図である。なお、三次元データ符号化装置は、スライスヘッダをサンプルに含めずメタデータに格納してもよい。ヘッダ情報をコピーすることによりヘッダ作成の処理を軽減できる。
【0403】
また、三次元データ符号化装置は、サンプルに格納するデータが階層化されているか否かを示す識別子をファイルフォーマットに付加してもよい。また、三次元データ符号化装置は、データが階層化されている場合には、データが全ての階層データを含むか否か、又はサンプルに格納するデータが階層化された階層データであるか否かを示す識別子をファイルフォーマットに付加してもよい。また、三次元データ符号化装置は、これらの情報を、メディアタイプ又は4CCなどのboxのタイプ(type)で示してもよい。これによりメディアの識別が容易となる。
【0404】
図79は、階層情報を用いた変換処理のフローチャートである。まず、三次元データ符号化装置は、符号化データのフォーマット変換を開始する(S8831)。次に、三次元データ符号化装置は、階層情報メタデータを用いて、スライスをレイヤ毎の情報に分割する(S8832)。次に、三次元データ符号化装置は、分割した複数の階層データの各々を1サンプルに格納する(S8833)。次に、三次元データ符号化装置は、階層情報をメタデータに格納する(S8834)。次に、三次元データ符号化装置は、フレーム(AU)を構成する(S8835)。
【0405】
図80は、階層情報を用いない変換処理のフローチャートである。まず、三次元データ符号化装置は、符号化データのフォーマット変換を開始する(S8841)。次に、三次元データ符号化装置は、データを復号し、階層データの境界を判定する(S8842)。次に、三次元データ符号化装置は、データを再符号化して分割する(S8843)。次に、三次元データ符号化装置は、分割した複数の階層データの各々を1サンプルに格納する(S8844)。次に、三次元データ符号化装置は、階層情報をメタデータに格納する(S8845)。次に、三次元データ符号化装置は、フレーム(AU)を構成する(S8846)。
【0406】
図81は、階層データサンプルデータの復号処理のフローチャートである。まず、三次元データ復号装置は、ランダムアクセスにより所望のサンプルを抽出する(S8851)。次に、三次元データ復号装置は、抽出したサンプルに含まれるデータを復号する(S8852)。
【0407】
次に、階層データ構造の別の例について説明する。
図82及び
図83は、全体符号化データ(PCCデータ)の構成例を示す図である。
図82及び
図83に示す例における階層構造は、
図59と同様である。
【0408】
図82は、1つの深さデータが1つのスライスデータとして用いられる場合を示しており、深さデータ毎にスライスヘッダが付与される。スライスヘッダは、深さデータの階層を識別するdepthIdと、深さの属する階層を示すlayerIdと、深さデータの長さを示すlengthとを含む。また、スライスヘッダは、当該データが同一フレームに属することを示すgroupIdを含んでもよい。つまり、groupIdは、当該データが属するフレーム(時刻)を示す。
【0409】
これらの情報が、スライスヘッダに含まれる場合は、全体符号化データは階層構造メタデータを持たなくてもよい。また、三次元データ符号化装置は、全ての深さに共通のパラメータを、初めの深さを伝送するスライスのヘッダに格納してもよいし、共通ヘッダに格納し、depth#0のデータの前に配置してもよい。なお、三次元データ符号化装置は、スライスヘッダにdepthId及びgroupIdを格納し、階層構造メタデータ又は共通ヘッダに深さの数、並びに、深さ毎のlayerId及びlengthを格納してもよい。
【0410】
また、depth#0は単独で復号することが可能であり、depth#0以外は単独での復号ができず、他のデータに依存する。三次元データ復号装置は、depth#0以外のデータは単独で復号できないと判断し、復号対象の深さデータを、復号対象の深さデータと同一groupIdを持ち、かつ、復号対象の深さデータのdepthIdより小さいdepthIdを持つ深さデータとともに復号する。
【0411】
図83は、1つの階層データが1つのスライスデータとして用いられる場合を示しており、階層データ毎にスライスヘッダが付与される。スライスヘッダは、layerIdと、当該階層に含まれる深さの数(num_depth)と、深さデータの長さ(length)とを含む。また、スライスヘッダは、当該階層データが同一フレームに属することを示すgroupIdを含んでもよい。なお、スライスヘッダは、layerId及びgroupIdを含み、階層の数と、各階層に含まれる深さの数と、深さの長さ情報(length)は階層構造メタデータに含まれてもよい。
【0412】
本構造を用いることにより、本データから階層毎のデータへの分割が容易となるので、分割する際の処理量を削減できる。また、分割データの伝送が可能となることで、伝送量を削減できる。また位置情報と属性情報とを同様に階層毎に分割することが可能となる。
【0413】
次に、PCC階層データのフォーマット変換の第3の例について説明する。三次元データ符号化装置は、階層データをサンプルに格納する際に、1つの深さデータを1サンプルとして格納してもよいし、1つの深さデータを1つのサブサンプルとして格納してもよい。
【0414】
図84は、ビットストリームからファイルフォーマットへの変換処理を示す図である。三次元データ符号化装置は、位置情報スライス及び属性情報スライスのうち、レイヤ毎のデータをサンプルに1対1に対応させて格納する。
【0415】
位置情報サンプルは、位置情報トラック(Geometry Track)に属し、属性情報サンプルは、属性情報トラック(Attribute Track)に属する。階層情報は、メタデータトラック(Meta Data Track)に属するフレーム毎のメタデータに格納される。レイヤ毎にトラックが存在し、それぞれのトラックに属するサンプルが存在する。レイヤ毎にトラックが設けられることで、レイヤ毎にデータを扱うことが容易となる。
【0416】
また、符号化データのビットストリームにおいて、階層データ毎にスライスデータが構成されているため、三次元データ符号化装置は、データをそのまま直接サンプルに格納することが可能である。よって、階層データ毎にスライスデータが構成されていない場合と比較して処理量を低減できる。また、階層情報は、メタデータに格納される。
【0417】
図85は、フォーマット変換処理のフローチャートである。まず、三次元データ符号化装置は、符号化データのフォーマット変換を開始する(S8861)。次に、三次元データ符号化装置は、階層毎のスライスデータを1サンプルに格納する(S8862)。次に、三次元データ符号化装置は、階層情報をメタデータに格納する(S8863)。次に、三次元データ符号化装置は、フレーム(AU)を構成する(S8864)。
【0418】
図86は、復号処理のフローチャートである。まず、三次元データ復号装置は、特定の階層データにアクセスするために、メタデータを解析し、レイヤに属する深さ数を取得する(S8871)。次に、三次元データ復号装置は、取得した情報を用いて、階層データ先頭の深さデータの開始位置及びレイヤ全体サイズを算出する(S8872)。次に、三次元データ復号装置は、階層データを復号する(S8873)。
【0419】
図87は、深さ情報のシンタックス例を示す図である。
図88は、サンプルサイズボックス(sample_size_box:stsz)のシンタックス例を示す図である。三次元データ符号化装置は、サンプル毎のサイズ情報を格納するサイプルサイズボックスにそれぞれの階層データのサイズ(entry_size)を格納してもよい。
【0420】
図89は、階層情報(layer_info)のシンタックス例を示す図である。
図90は、PCCLayerStructureBoxのシンタックス例を示す図である。例えば、
図89及び
図90に示すように、三次元データ符号化装置は、階層数(layer)及び階層に含まれる深さの数(num_depth)を、PCCLayerStructureBoxに格納する。なお、三次元データ符号化装置は、これらの情報を同一のboxに格納してもよいし、別々のboxに格納してもよい。
【0421】
次に、ファイルフォーマットから部分データを抽出する処理について説明する。三次元データ復号装置は、本実施の形態で説明した、データ構造及び階層構造メタデータを用いて、ファイルから部分的に復号データにランダムアクセスし、データを抽出する。三次元データ復号装置は、メタデータに含まれる位置情報及び属性情報の、フレーム、階層、それぞれのデータ長の情報、及び階層に含まれる深さ数などに基づき、データにアクセスし、所望のデータを抽出できる。
【0422】
図91は、この抽出動作を模式的に示す図である。送出部8821は、レイヤ0、レイヤ1を持つ完全データのファイル(ファイルフォーマット)を有しており、受信部8823は、レイヤ0のデータファイルを有している。この状態で、受信部8823がレイヤ1のデータを取得したい場合、送出部8821にレイヤ1のファイルを送出することを要求する。送出部8821に含まれる抽出部8822は、完全データのファイル(ファイルフォーマット)からレイヤ1のファイルを抽出し、レイヤ1のファイル(ビットストリーム)を受信部8823に提供する。受信部8823は、レイヤ0のファイルとレイヤ1のファイルとを統合し、完全データのファイルを生成する。
【0423】
図92は、完全データのファイル(ファイルフォーマット)の例を示す図である。
図93、
図94及び
図95は、抽出部8822で抽出されたビットストリームの例を示す図である。例えば、
図93に示すように、抽出部8822は、ファイルフォーマットから、全てのデータを抽出してもよい。または、抽出部8822は、
図94に示すように、位置情報を抽出し属性情報は抽出しなくてもよい。または、抽出部8822は、
図95に示すように、レイヤ0を抽出し、レイヤ1を抽出しなくてもよい。または、抽出部8822は、例えば、図示しないが、データを並び替えた状態で伝送してもよい。
【0424】
本実施の形態で説明したデータ構造、及び階層構造メタデータを用いることにより、階層データの分割が容易となるので、必要なデータを取得し、不要なデータを取得しない機能を実現することが可能となる。これにより、伝送帯域及び伝送遅延を削減することができ、データ伝送の機能性が向上する。
【0425】
次に、ダイレクトモードデータの部分復号処理について説明する。ダイレクトモードとは、8分木を用いた符号化の際に、あるノードに対し、8分木(Octree)符号化を止め、リーフノードの点の座標を直接符号化する手法である。例えば、ノードに属する点が疎である場合に、ダイレクトモードが用いられる。ダイレクトモードを用いることで、データ量を削減できる。
【0426】
図96は、ダイレクトモードの例を示す図である。
図96の点線で囲った部分におけるリーフの点は2つ(疎)である。例えば、depth=1におけるAノードにおいて、点が疎であると判断した場合には、この2点の座標は、直接depth1のデータ領域に記載される。2点の座標とは、Aノードからの座標であり、これはdepth=4の分解能を持つ座標である。つまり、depth=1のデータは、depth=1のオキュパンシー符号(occpancy_code)と、点線で囲ったdepth=4のダイレクトモードにおける座標(B領域)データとを含む。
【0427】
次に、このようなデータの復号方法について説明する。三次元データ復号装置は、depth0~depth4まで復号する場合は、通常の復号方法を用いて復号処理を行う。一方、三次元データ復号装置は、部分的にdepth0~depth1を抽出して復号する場合において、復号データを全て同じ解像度にする必要がある場合は、depth1に含まれるdepth4の座標は用いず、復号を行ってもよい。また、高い解像度が混在してもよい場合は、三次元データ復号装置は、depth1に含まれるdepth4の座標を用いて復号を行ってもよい。
【0428】
次に、ダイレクトモードが用いられている場合におけるデータ分割について説明する。送信装置は、depth0~depth1のデータを抽出して伝送する場合、depth1にダイレクトモード(depth4)の情報を含めてもよいし含めなくてもよい。
【0429】
また、送信装置は、ダイレクトモードの情報を含めるか否かを、受信装置で当該情報が必要か否かに応じて判定し、受信装置で当該情報が必要である場合には当該情報をビットストリームに含め、必要でない場合には当該情報をビットストリームに含めなくてもよい。これにより、データ量を削減できる。例えば、送信装置は、depth2~depth4の解像度のデータをdepth0~depth1とともに復号することがある場合は、ダイレクトモードの情報が必要であると判断し、depth2~depth4の復号はしない場合は、ダイレクトモードの情報が不要であると判断してもよい。
【0430】
以上のように、本実施の形態に係る三次元データ符号化装置は、
図97に示す処理を行う。三次元データ符号化装置は、点群データに含まれる複数の三次元点の複数の位置情報に、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造を設定する(S8881)。三次元データ符号化装置は、深さ毎に複数の位置情報を符号化することで深さ毎の複数の第1符号化データ(例えば深さデータ)を生成する(S8882)。三次元データ符号化装置は、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第1符号化データを含む複数の第2符号化データを含むビットストリームを生成する(S8883)。ビットストリームは、複数の第2符号化データの各々のデータ長を示す第1情報を含む。
【0431】
これによれば、ビットストリームを復号する三次元データ復号装置は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ符号化装置は、三次元データ復号装置の処理量を低減できる。
【0432】
例えば、第1情報は、複数の階層の各々に含まれる深さの数を示す第2情報(例えばnum_depth)と、複数の第1符号化データの各々のデータ長を示す第3情報(例えばlength)とを含む。
【0433】
例えば、ビットストリームは、複数の第2符号化データに共通の第1ヘッダ(例えば
図59に示す階層構造メタデータ又はヘッダ)を含み、第1ヘッダは、第1情報を含む。
【0434】
例えば、ビットストリームは、第2符号化データ毎の複数の第2ヘッダ(例えば
図83に示すスライスヘッダ)を含み、第1情報は、複数の第2符号化データのいずれかに対応し、対応する第2符号化データのデータ長を示す複数の第4情報を含み、複数の第2ヘッダの各々は、当該第2ヘッダに対応する第2符号化データのデータ長を示す第4情報を含む。
【0435】
例えば、ビットストリームは、複数の第1符号化データ毎の複数の第3ヘッダ(例えば
図82に示すスライスヘッダ)を含み、第1情報は、複数の階層の各々に含まれる深さの数を示す第2情報(例えばnum_depth)と、複数の第1符号化データの各々に対応し、対応する第1符号化データのデータ長を示す第5情報(例えばlength)とを含み、複数の第3ヘッダの各々は、当該第3ヘッダに対応する第1符号化データのデータ長を示す第5情報を含む。
【0436】
例えば、三次元データ符号化装置は、さらに、複数の三次元点が有する複数の属性情報を深さ毎に符号化することで深さ毎の複数の第3符号化データを生成し、ビットストリームは、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第3符号化データを含む複数の第4符号化データを含み、ビットストリームは、複数の第4符号化データの各々のデータ長を示す第6情報を含む。
【0437】
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0438】
また、本実施の形態に係る三次元データ復号装置は、
図98に示す処理を行う。三次元データ復号装置は、複数の第2符号化データと、複数の第2符号化データの各々のデータ長を示す第1情報を含むビットストリームから、第1情報を取得する(S8886)。三次元データ復号装置は、第1情報を用いて、複数の第2符号化データのうちの少なくとも一つの第2符号化データを取得する(S8887)。三次元データ復号装置は、取得した少なくとも一つの第2符号化データを復号する(S8888)。ビットストリームは、点群データに含まれる複数の三次元点の複数の位置情報であって、複数の深さと、各々が1以上の深さを含む複数の階層とを有する階層構造が設定された複数の位置情報が深さ毎に符号化されることで生成された深さ毎の複数の第1符号化データを含む。複数の第2符号化データの各々は、複数の階層のいずれかに対応し、複数の第1符号化データのうち、当該第2符号化データに対応する階層に含まれる1以上の第1符号化データを含む。
【0439】
これによれば、三次元データ復号装置は、第1情報を用いて、任意の階層のデータに容易にアクセスできる。よって、当該三次元データ復号装置は、処理量を低減できる。
【0440】
例えば、第1情報は、複数の階層の各々に含まれる深さの数を示す第2情報(例えばnum_depth)と、複数の第1符号化データの各々のデータ長を示す第3情報(例えばlength)とを含む。例えば、三次元データ復号装置は、第2情報及び第3情報を用いて、第2符号化データのデータ長を算出する。
【0441】
例えば、ビットストリームは、複数の第2符号化データに共通の第1ヘッダ(例えば
図59に示す階層構造メタデータ又はヘッダ)を含み、第1ヘッダは、第1情報を含む。
【0442】
例えば、ビットストリームは、第2符号化データ毎の複数の第2ヘッダ(例えば
図83に示すスライスヘッダ)を含み、第1情報は、複数の第2符号化データのいずれかに対応し、対応する第2符号化データのデータ長を示す複数の第4情報を含み、複数の第2ヘッダの各々は、当該第2ヘッダに対応する第2符号化データのデータ長を示す第4情報を含む。
【0443】
例えば、ビットストリームは、複数の第1符号化データ毎の複数の第3ヘッダ(例えば
図82に示すスライスヘッダ)を含み、第1情報は、複数の階層の各々に含まれる深さの数を示す第2情報(例えばnum_depth)と、複数の第1符号化データの各々に対応し、対応する第1符号化データのデータ長を示す第5情報(例えばlength)とを含み、複数の第3ヘッダの各々は、当該第3ヘッダに対応する第1符号化データのデータ長を示す第5情報を含む。
【0444】
例えば、ビットストリームは、複数の三次元点が有する複数の属性情報が深さ毎に符号化されることで生成された深さ毎の複数の第3符号化データを含む。ビットストリームは、階層毎の符号化データであって、対応する階層に含まれる1以上の深さの1以上の第3符号化データを含む複数の第4符号化データを含む。ビットストリームは、複数の第4符号化データの各々のデータ長を示す第6情報を含む。三次元データ復号装置は、さらに、ビットストリームから、第6情報を取得し、第6情報を用いて、複数の第4符号化データのうちの少なくとも一つの第4符号化データを取得し、取得した少なくとも一つの第4符号化データを復号する。
【0445】
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0446】
(実施の形態6)
次に、本実施の形態に係る三次元データ作成装置810の構成を説明する。
図99は、本実施の形態に係る三次元データ作成装置810の構成例を示すブロック図である。この三次元データ作成装置810は、例えば、車両に搭載される。三次元データ作成装置810は、外部の交通監視クラウド、前走車両又は後続車両と三次元データの送受信を行うとともに、三次元データを作成及び蓄積する。
【0447】
三次元データ作成装置810は、データ受信部811と、通信部812と、受信制御部813と、フォーマット変換部814と、複数のセンサ815と、三次元データ作成部816と、三次元データ合成部817と、三次元データ蓄積部818と、通信部819と、送信制御部820と、フォーマット変換部821と、データ送信部822とを備える。
【0448】
データ受信部811は、交通監視クラウド又は前走車両から三次元データ831を受信する。三次元データ831は、例えば、自車両のセンサ815で検知不能な領域を含む、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
【0449】
通信部812は、交通監視クラウド又は前走車両と通信し、データ送信要求などを交通監視クラウド又は前走車両に送信する。
【0450】
受信制御部813は、通信部812を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
【0451】
フォーマット変換部814は、データ受信部811が受信した三次元データ831にフォーマット変換等を行うことで三次元データ832を生成する。また、フォーマット変換部814は、三次元データ831が圧縮又は符号化されている場合には、伸張又は復号処理を行う。
【0452】
複数のセンサ815は、LiDAR、可視光カメラ又は赤外線カメラなどの、車両の外部の情報を取得するセンサ群であり、センサ情報833を生成する。例えば、センサ情報833は、センサ815がLiDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ815は複数でなくてもよい。
【0453】
三次元データ作成部816は、センサ情報833から三次元データ834を生成する。三次元データ834は、例えば、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
【0454】
三次元データ合成部817は、自車両のセンサ情報833に基づいて作成された三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ832を合成することで、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
【0455】
三次元データ蓄積部818は、生成された三次元データ835等を蓄積する。
【0456】
通信部819は、交通監視クラウド又は後続車両と通信し、データ送信要求などを交通監視クラウド又は後続車両に送信する。
【0457】
送信制御部820は、通信部819を介して、対応フォーマット等の情報を通信先と交換し、通信先と通信を確立する。また、送信制御部820は、三次元データ合成部817で生成された三次元データ832の三次元データ構築情報と、通信先からのデータ送信要求とに基づき、送信対象の三次元データの空間である送信領域を決定する。
【0458】
具体的には、送信制御部820は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む送信領域を決定する。また、送信制御部820は、三次元データ構築情報に基づいて送信可能な空間又は送信済み空間の更新有無等を判断することで送信領域を決定する。例えば、送信制御部820は、データ送信要求で指定された領域であり、かつ、対応する三次元データ835が存在する領域を送信領域に決定する。そして、送信制御部820は、通信先が対応するフォーマット、及び送信領域をフォーマット変換部821に通知する。
【0459】
フォーマット変換部821は、三次元データ蓄積部818に蓄積されている三次元データ835のうち、送信領域の三次元データ836を、受信側が対応しているフォーマットへ変換することで三次元データ837を生成する。なお、フォーマット変換部821は、三次元データ837を圧縮又は符号化することでデータ量を削減してもよい。
【0460】
データ送信部822は、三次元データ837を交通監視クラウド又は後続車両に送信する。この三次元データ837は、例えば、後続車両の死角になる領域を含む、自車両の前方のポイントクラウド、可視光映像、奥行き情報、又はセンサ位置情報などの情報を含む。
【0461】
なお、ここでは、フォーマット変換部814及び821にてフォーマット変換等が行われる例を述べたが、フォーマット変換は行われなくてもよい。
【0462】
このような構成により、三次元データ作成装置810は、自車両のセンサ815では検知できない領域の三次元データ831を外部から取得し、三次元データ831と自車両のセンサ815で検知したセンサ情報833に基づく三次元データ834とを合成することで三次元データ835を生成する。これにより、三次元データ作成装置810は、自車両のセンサ815で検知できない範囲の三次元データを生成できる。
【0463】
また、三次元データ作成装置810は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む三次元データを、交通監視クラウド又は後続車両等へ送信できる。
【0464】
次に、三次元データ作成装置810における後続車両への三次元データの送信手順について説明する。
図100は、三次元データ作成装置810による交通監視クラウド又は後続車両へ三次元データを送信する手順の一例を示すフローチャートである。
【0465】
まず、三次元データ作成装置810は、自車両の前方道路上の空間を含む空間の三次元データ835を生成及び更新する(S801)。具体的には、三次元データ作成装置810は、自車両のセンサ情報833に基づいて作成した三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ831を合成するなどして、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
【0466】
次に、三次元データ作成装置810は、送信済みの空間に含まれる三次元データ835が変化したかを判定する(S802)。
【0467】
送信済みの空間に外部から車両又は人が進入するなどして、当該空間に含まれる三次元データ835に変化が生じた場合には(S802でYes)、三次元データ作成装置810は、変化が生じた空間の三次元データ835を含む三次元データを交通監視クラウド又は後続車両に送信する(S803)。
【0468】
なお、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データの送信タイミングに合わせて送信してもよいが、変化を検知した後すぐに送信してもよい。つまり、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データよりも優先して送信してもよい。
【0469】
また、三次元データ作成装置810は、変化が生じた空間の三次元データとして、変化が生じた空間の三次元データの全てを送信してもよいし、三次元データの差分(例えば出現又は消失した三次元点の情報、又は三次元点の変位情報など)のみを送信してもよい。
【0470】
また、三次元データ作成装置810は、変化が生じた空間の三次元データに先行して、急制動警報など自車両の危険回避動作に関するメタデータを後続車両へ送信してもよい。これによれば、後続車両は前走車両の急制動などを早期に認知でき、より早期に減速などの危険回避動作を開始できる。
【0471】
送信済みの空間に含まれる三次元データ835に変化が生じていない場合(S802でNo)、又は、ステップS803の後、三次元データ作成装置810は、自車両の前方距離Lにある所定の形状の空間に含まれる三次元データを、交通監視クラウド又は後続車両へ送信する(S804)。
【0472】
また、例えば、ステップS801~S804の処理は、所定の時間間隔で繰り返し行われる。
【0473】
また、三次元データ作成装置810は、現在の送信対象の空間の三次元データ835と、三次元地図とに差がない場合には、空間の三次元データ837を送信しなくてもよい。
【0474】
本実施の形態では、クライアント装置は、サーバ又は他のクライアント装置にセンサで得られたセンサ情報を送信する。
【0475】
まず、本実施の形態に係るシステムの構成を説明する。
図101は、本実施の形態に係る三次元マップ及びセンサ情報の送受信システムの構成を示す図である。このシステムは、サーバ901と、クライアント装置902A及び902Bを含む。なお、クライアント装置902A及び902Bを特に区別しない場合には、クライアント装置902とも記す。
【0476】
クライアント装置902は、例えば、車両等の移動体に搭載される車載機器である。サーバ901は、例えば、交通監視クラウド等であり、複数のクライアント装置902と通信可能である。
【0477】
サーバ901は、クライアント装置902に、ポイントクラウドから構成される三次元マップを送信する。なお、三次元マップの構成はポイントクラウドに限定されず、メッシュ構造等、他の三次元データを表すものであってもよい。
【0478】
クライアント装置902は、サーバ901に、クライアント装置902が取得したセンサ情報を送信する。センサ情報は、例えば、LiDAR取得情報、可視光画像、赤外画像、デプス画像、センサ位置情報及び速度情報のうち少なくとも一つを含む。
【0479】
サーバ901とクライアント装置902との間で送受信されるデータは、データ削減のために圧縮されてもよいし、データの精度を維持するために非圧縮のままでも構わない。データを圧縮する場合、ポイントクラウドには例えば8分木構造に基づく三次元圧縮方式を用いることができる。また、可視光画像、赤外画像、及びデプス画像には二次元の画像圧縮方式を用いることできる。二次元の画像圧縮方式とは、例えば、MPEGで規格化されたMPEG-4 AVC又はHEVC等である。
【0480】
また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じてサーバ901で管理する三次元マップをクライアント装置902に送信する。なお、サーバ901はクライアント装置902からの三次元マップの送信要求を待たずに三次元マップを送信してもよい。例えば、サーバ901は、予め定められた空間にいる1つ以上のクライアント装置902に三次元マップをブロードキャストしても構わない。また、サーバ901は、一度送信要求を受けたクライアント装置902に、一定時間毎にクライアント装置902の位置に適した三次元マップを送信してもよい。また、サーバ901は、サーバ901が管理する三次元マップが更新される度にクライアント装置902に三次元マップを送信してもよい。
【0481】
クライアント装置902は、サーバ901に三次元マップの送信要求を出す。例えば、クライアント装置902が、走行時に自己位置推定を行いたい場合に、クライアント装置902は、三次元マップの送信要求をサーバ901に送信する。
【0482】
なお、次のような場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。クライアント装置902の保持する三次元マップが古い場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が三次元マップを取得してから一定期間が経過した場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
【0483】
クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る一定時刻前に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が、クライアント装置902が保持する三次元マップで示される空間の境界から予め定められた距離以内に存在する場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。また、クライアント装置902の移動経路及び移動速度が把握できている場合には、これらに基づき、クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る時刻を予測してもよい。
【0484】
クライアント装置902がセンサ情報から作成した三次元データと三次元マップとの位置合せ時の誤差が一定以上の場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
【0485】
クライアント装置902は、サーバ901から送信されたセンサ情報の送信要求に応じて、サーバ901にセンサ情報を送信する。なお、クライアント装置902はサーバ901からのセンサ情報の送信要求を待たずにセンサ情報をサーバ901に送ってもよい。例えば、クライアント装置902は、一度サーバ901からセンサ情報の送信要求を得た場合、一定期間の間、定期的にセンサ情報をサーバ901に送信してもよい。また、クライアント装置902は、クライアント装置902がセンサ情報を元に作成した三次元データと、サーバ901から得た三次元マップとの位置合せ時の誤差が一定以上の場合、クライアント装置902の周辺の三次元マップに変化が生じた可能性があると判断し、その旨とセンサ情報とをサーバ901に送信してもよい。
【0486】
サーバ901は、クライアント装置902にセンサ情報の送信要求を出す。例えば、サーバ901は、クライアント装置902から、GPS等のクライアント装置902の位置情報を受信する。サーバ901は、クライアント装置902の位置情報に基づき、サーバ901が管理する三次元マップにおいて情報が少ない空間にクライアント装置902が近づいていると判断した場合、新たな三次元マップを生成するためにクライアント装置902にセンサ情報の送信要求を出す。また、サーバ901は、三次元マップを更新したい場合、積雪時或いは災害時などの道路状況を確認したい場合、渋滞状況、或いは事件事故状況等を確認したい場合に、センサ情報の送信要求を出してもよい。
【0487】
また、クライアント装置902は、サーバ901から受け取るセンサ情報の送信要求の受信時における通信状態又は帯域に応じて、サーバ901に送信するセンサ情報のデータ量を設定してもよい。サーバ901に送信するセンサ情報のデータ量を設定するというのは、例えば、当該データそのものを増減させること、又は圧縮方式を適宜選択することである。
【0488】
図102は、クライアント装置902の構成例を示すブロック図である。クライアント装置902は、サーバ901からポイントクラウド等で構成される三次元マップを受信し、クライアント装置902のセンサ情報に基づいて作成した三次元データからクライアント装置902の自己位置を推定する。また、クライアント装置902は、取得したセンサ情報をサーバ901に送信する。
【0489】
クライアント装置902は、データ受信部1011と、通信部1012と、受信制御部1013と、フォーマット変換部1014と、複数のセンサ1015と、三次元データ作成部1016と、三次元画像処理部1017と、三次元データ蓄積部1018と、フォーマット変換部1019と、通信部1020と、送信制御部1021と、データ送信部1022とを備える。
【0490】
データ受信部1011は、サーバ901から三次元マップ1031を受信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
【0491】
通信部1012は、サーバ901と通信し、データ送信要求(例えば、三次元マップの送信要求)などをサーバ901に送信する。
【0492】
受信制御部1013は、通信部1012を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
【0493】
フォーマット変換部1014は、データ受信部1011が受信した三次元マップ1031にフォーマット変換等を行うことで三次元マップ1032を生成する。また、フォーマット変換部1014は、三次元マップ1031が圧縮又は符号化されている場合には、伸張又は復号処理を行う。なお、フォーマット変換部1014は、三次元マップ1031が非圧縮データであれば、伸張又は復号処理を行わない。
【0494】
複数のセンサ1015は、LiDAR、可視光カメラ、赤外線カメラ、又はデプスセンサなど、クライアント装置902が搭載されている車両の外部の情報を取得するセンサ群であり、センサ情報1033を生成する。例えば、センサ情報1033は、センサ1015がLiDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ1015は複数でなくてもよい。
【0495】
三次元データ作成部1016は、センサ情報1033に基づいて自車両の周辺の三次元データ1034を作成する。例えば、三次元データ作成部1016は、LiDARで取得した情報と、可視光カメラで得られた可視光映像とを用いて自車両の周辺の色情報付きのポイントクラウドデータを作成する。
【0496】
三次元画像処理部1017は、受信したポイントクラウド等の三次元マップ1032と、センサ情報1033から生成した自車両の周辺の三次元データ1034とを用いて、自車両の自己位置推定処理等を行う。なお、三次元画像処理部1017は、三次元マップ1032と三次元データ1034とを合成することで自車両の周辺の三次元データ1035を作成し、作成した三次元データ1035を用いて自己位置推定処理を行ってもよい。
【0497】
三次元データ蓄積部1018は、三次元マップ1032、三次元データ1034及び三次元データ1035等を蓄積する。
【0498】
フォーマット変換部1019は、センサ情報1033を、受信側が対応しているフォーマットへ変換することでセンサ情報1037を生成する。なお、フォーマット変換部1019は、センサ情報1037を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1019は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1019は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
【0499】
通信部1020は、サーバ901と通信し、データ送信要求(センサ情報の送信要求)などをサーバ901から受信する。
【0500】
送信制御部1021は、通信部1020を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0501】
データ送信部1022は、センサ情報1037をサーバ901に送信する。センサ情報1037は、例えば、LiDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報など、複数のセンサ1015によって取得した情報を含む。
【0502】
次に、サーバ901の構成を説明する。
図103は、サーバ901の構成例を示すブロック図である。サーバ901は、クライアント装置902から送信されたセンサ情報を受信し、受信したセンサ情報に基づいて三次元データを作成する。サーバ901は、作成した三次元データを用いて、サーバ901が管理する三次元マップを更新する。また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じて、更新した三次元マップをクライアント装置902に送信する。
【0503】
サーバ901は、データ受信部1111と、通信部1112と、受信制御部1113と、フォーマット変換部1114と、三次元データ作成部1116と、三次元データ合成部1117と、三次元データ蓄積部1118と、フォーマット変換部1119と、通信部1120と、送信制御部1121と、データ送信部1122とを備える。
【0504】
データ受信部1111は、クライアント装置902からセンサ情報1037を受信する。センサ情報1037は、例えば、LiDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報などを含む。
【0505】
通信部1112は、クライアント装置902と通信し、データ送信要求(例えば、センサ情報の送信要求)などをクライアント装置902に送信する。
【0506】
受信制御部1113は、通信部1112を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0507】
フォーマット変換部1114は、受信したセンサ情報1037が圧縮又は符号化されている場合には、伸張又は復号処理を行うことでセンサ情報1132を生成する。なお、フォーマット変換部1114は、センサ情報1037が非圧縮データであれば、伸張又は復号処理を行わない。
【0508】
三次元データ作成部1116は、センサ情報1132に基づいてクライアント装置902の周辺の三次元データ1134を作成する。例えば、三次元データ作成部1116は、LiDARで取得した情報と、可視光カメラで得られた可視光映像とを用いてクライアント装置902の周辺の色情報付ポイントクラウドデータを作成する。
【0509】
三次元データ合成部1117は、センサ情報1132を元に作成した三次元データ1134を、サーバ901が管理する三次元マップ1135に合成することで三次元マップ1135を更新する。
【0510】
三次元データ蓄積部1118は、三次元マップ1135等を蓄積する。
【0511】
フォーマット変換部1119は、三次元マップ1135を、受信側が対応しているフォーマットへ変換することで三次元マップ1031を生成する。なお、フォーマット変換部1119は、三次元マップ1135を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1119は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1119は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
【0512】
通信部1120は、クライアント装置902と通信し、データ送信要求(三次元マップの送信要求)などをクライアント装置902から受信する。
【0513】
送信制御部1121は、通信部1120を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0514】
データ送信部1122は、三次元マップ1031をクライアント装置902に送信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
【0515】
次に、クライアント装置902の動作フローについて説明する。
図104は、クライアント装置902による三次元マップ取得時の動作を示すフローチャートである。
【0516】
まず、クライアント装置902は、サーバ901へ三次元マップ(ポイントクラウド等)の送信を要求する(S1001)。このとき、クライアント装置902は、GPS等で得られたクライアント装置902の位置情報を合わせて送信することで、その位置情報に関連する三次元マップの送信をサーバ901に要求してもよい。
【0517】
次に、クライアント装置902は、サーバ901から三次元マップを受信する(S1002)。受信した三次元マップが圧縮データであれば、クライアント装置902は、受信した三次元マップを復号して非圧縮の三次元マップを生成する(S1003)。
【0518】
次に、クライアント装置902は、複数のセンサ1015で得られたセンサ情報1033からクライアント装置902の周辺の三次元データ1034を作成する(S1004)。次に、クライアント装置902は、サーバ901から受信した三次元マップ1032と、センサ情報1033から作成した三次元データ1034とを用いてクライアント装置902の自己位置を推定する(S1005)。
【0519】
図105は、クライアント装置902によるセンサ情報の送信時の動作を示すフローチャートである。まず、クライアント装置902は、サーバ901からセンサ情報の送信要求を受信する(S1011)。送信要求を受信したクライアント装置902は、センサ情報1037をサーバ901に送信する(S1012)。なお、クライアント装置902は、センサ情報1033が複数のセンサ1015で得られた複数の情報を含む場合、各情報を、各情報に適した圧縮方式で圧縮することでセンサ情報1037を生成してもよい。
【0520】
次に、サーバ901の動作フローについて説明する。
図106は、サーバ901によるセンサ情報の取得時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902へセンサ情報の送信を要求する(S1021)。次に、サーバ901は、当該要求に応じてクライアント装置902から送信されたセンサ情報1037を受信する(S1022)。次に、サーバ901は、受信したセンサ情報1037を用いて三次元データ1134を作成する(S1023)。次に、サーバ901は、作成した三次元データ1134を三次元マップ1135に反映する(S1024)。
【0521】
図107は、サーバ901による三次元マップの送信時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902から三次元マップの送信要求を受信する(S1031)。三次元マップの送信要求を受信したサーバ901は、クライアント装置902へ三次元マップ1031を送信する(S1032)。このとき、サーバ901は、クライアント装置902の位置情報に合わせてその付近の三次元マップを抽出し、抽出した三次元マップを送信してもよい。また、サーバ901は、ポイントクラウドで構成される三次元マップを、例えば8分木構造による圧縮方式等を用いて圧縮し、圧縮後の三次元マップを送信してもよい。
【0522】
以下、本実施の形態の変形例について説明する。
【0523】
サーバ901は、クライアント装置902から受信したセンサ情報1037を用いてクライアント装置902の位置付近の三次元データ1134を作成する。次に、サーバ901は、作成した三次元データ1134と、サーバ901が管理する同エリアの三次元マップ1135とのマッチングを行うことによって、三次元データ1134と三次元マップ1135との差分を算出する。サーバ901は、差分が予め定められた閾値以上の場合は、クライアント装置902の周辺で何らかの異常が発生したと判断する。例えば、地震等の自然災害によって地盤沈下等が発生した際などに、サーバ901が管理する三次元マップ1135と、センサ情報1037を基に作成した三次元データ1134との間に大きな差が発生することが考えられる。
【0524】
センサ情報1037は、センサの種類、センサの性能、及びセンサの型番のうち少なくとも一つを示す情報を含んでもよい。また、センサ情報1037に、センサの性能に応じたクラスID等が付加されてもよい。例えば、センサ情報1037がLiDARで取得された情報である場合、数mm単位の精度で情報を取得できるセンサをクラス1、数cm単位の精度で情報を取得できるセンサをクラス2、数m単位の精度で情報を取得できるセンサをクラス3のように、センサの性能に識別子を割り当てることが考えられる。また、サーバ901は、センサの性能情報等を、クライアント装置902の型番から推定してもよい。例えば、クライアント装置902が車両に搭載されている場合、サーバ901は、当該車両の車種からセンサのスペック情報を判断してもよい。この場合、サーバ901は、車両の車種の情報を事前に取得していてもよいし、センサ情報に、当該情報が含まれてもよい。また、サーバ901は取得したセンサ情報1037を用いて、センサ情報1037を用いて作成した三次元データ1134に対する補正の度合いを切り替えてもよい。例えば、センサ性能が高精度(クラス1)である場合、サーバ901は、三次元データ1134に対する補正を行わない。センサ性能が低精度(クラス3)である場合、サーバ901は、三次元データ1134に、センサの精度に応じた補正を適用する。例えば、サーバ901は、センサの精度が低いほど補正の度合い(強度)を強くする。
【0525】
サーバ901は、ある空間にいる複数のクライアント装置902に同時にセンサ情報の送信要求を出してもよい。サーバ901は、複数のクライアント装置902から複数のセンサ情報を受信した場合に、全てのセンサ情報を三次元データ1134の作成に利用する必要はなく、例えば、センサの性能に応じて、利用するセンサ情報を選択してもよい。例えば、サーバ901は、三次元マップ1135を更新する場合、受信した複数のセンサ情報の中から高精度なセンサ情報(クラス1)を選別し、選別したセンサ情報を用いて三次元データ1134を作成してもよい。
【0526】
サーバ901は、交通監視クラウド等のサーバのみに限定されず、他のクライアント装置(車載)であってもよい。
図108は、この場合のシステム構成を示す図である。
【0527】
例えば、クライアント装置902Cが近くにいるクライアント装置902Aにセンサ情報の送信要求を出し、クライアント装置902Aからセンサ情報を取得する。そして、クライアント装置902Cは、取得したクライアント装置902Aのセンサ情報を用いて三次元データを作成し、クライアント装置902Cの三次元マップを更新する。これにより、クライアント装置902Cは、クライアント装置902Aから取得可能な空間の三次元マップを、クライアント装置902Cの性能を活かして生成できる。例えば、クライアント装置902Cの性能が高い場合に、このようなケースが発生すると考えられる。
【0528】
また、この場合、センサ情報を提供したクライアント装置902Aは、クライアント装置902Cが生成した高精度な三次元マップを取得する権利が与えられる。クライアント装置902Aは、その権利に従ってクライアント装置902Cから高精度な三次元マップを受信する。
【0529】
また、クライアント装置902Cは近くにいる複数のクライアント装置902(クライアント装置902A及びクライアント装置902B)にセンサ情報の送信要求を出してもよい。クライアント装置902A又はクライアント装置902Bのセンサが高性能である場合には、クライアント装置902Cは、この高性能なセンサで得られたセンサ情報を用いて三次元データを作成できる。
【0530】
図109は、サーバ901及びクライアント装置902の機能構成を示すブロック図である。サーバ901は、例えば、三次元マップを圧縮及び復号する三次元マップ圧縮/復号処理部1201と、センサ情報を圧縮及び復号するセンサ情報圧縮/復号処理部1202とを備える。
【0531】
クライアント装置902は、三次元マップ復号処理部1211と、センサ情報圧縮処理部1212とを備える。三次元マップ復号処理部1211は、圧縮された三次元マップの符号化データを受信し、符号化データを復号して三次元マップを取得する。センサ情報圧縮処理部1212は、取得したセンサ情報から作成した三次元データの代わりに、センサ情報そのものを圧縮し、圧縮したセンサ情報の符号化データをサーバ901へ送信する。この構成により、クライアント装置902は、三次元マップ(ポイントクラウド等)を復号する処理を行う処理部(装置又はLSI)を内部に保持すればよく、三次元マップ(ポイントクラウド等)の三次元データを圧縮する処理を行う処理部を内部に保持する必要がない。これにより、クライアント装置902のコスト及び消費電力等を抑えることができる。
【0532】
以上のように、本実施の形態に係るクライアント装置902は、移動体に搭載され、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1033から、移動体の周辺の三次元データ1034を作成する。クライアント装置902は、作成された三次元データ1034を用いて移動体の自己位置を推定する。クライアント装置902は、取得したセンサ情報1033をサーバ901又は他のクライアント装置902に送信する。
【0533】
これによれば、クライアント装置902は、センサ情報1033をサーバ901等に送信する。これにより、三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、クライアント装置902は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
【0534】
また、クライアント装置902は、さらに、サーバ901に三次元マップの送信要求を送信し、サーバ901から三次元マップ1031を受信する。クライアント装置902は、自己位置の推定では、三次元データ1034と三次元マップ1032とを用いて、自己位置を推定する。
【0535】
また、センサ情報1033は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
【0536】
また、センサ情報1033は、センサの性能を示す情報を含む。
【0537】
また、クライアント装置902は、センサ情報1033を符号化又は圧縮し、センサ情報の送信では、符号化又は圧縮後のセンサ情報1037を、サーバ901又は他のクライアント装置902に送信する。これによれば、クライアント装置902は、伝送されるデータ量を削減できる。
【0538】
例えば、クライアント装置902は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0539】
また、本実施の形態に係るサーバ901は、移動体に搭載されるクライアント装置902と通信可能であり、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1037をクライアント装置902から受信する。サーバ901は、受信したセンサ情報1037から、移動体の周辺の三次元データ1134を作成する。
【0540】
これによれば、サーバ901は、クライアント装置902から送信されたセンサ情報1037を用いて三次元データ1134を作成する。これにより、クライアント装置902が三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、サーバ901は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
【0541】
また、サーバ901は、さらに、クライアント装置902にセンサ情報の送信要求を送信する。
【0542】
また、サーバ901は、さらに、作成された三次元データ1134を用いて三次元マップ1135を更新し、クライアント装置902からの三次元マップ1135の送信要求に応じて三次元マップ1135をクライアント装置902に送信する。
【0543】
また、センサ情報1037は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
【0544】
また、センサ情報1037は、センサの性能を示す情報を含む。
【0545】
また、サーバ901は、さらに、センサの性能に応じて、三次元データを補正する。これによれば、当該三次元データ作成方法は、三次元データの品質を向上できる。
【0546】
また、サーバ901は、センサ情報の受信では、複数のクライアント装置902から複数のセンサ情報1037を受信し、複数のセンサ情報1037に含まれるセンサの性能を示す複数の情報に基づき、三次元データ1134の作成に用いるセンサ情報1037を選択する。これによれば、サーバ901は、三次元データ1134の品質を向上できる。
【0547】
また、サーバ901は、受信したセンサ情報1037を復号又は伸張し、復号又は伸張後のセンサ情報1132から、三次元データ1134を作成する。これによれば、サーバ901は、伝送されるデータ量を削減できる。
【0548】
例えば、サーバ901は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0549】
以下、変形例について説明する。
図110は、本実施の形態に係るシステムの構成を示す図である。
図110に示すシステムは、サーバ2001と、クライアント装置2002Aと、クライアント装置2002Bとを含む。
【0550】
クライアント装置2002A及びクライアント装置2002Bは、車両等の移動体に搭載され、センサ情報をサーバ2001に送信する。サーバ2001は、三次元マップ(ポイントクラウド)をクライアント装置2002A及びクライアント装置2002Bに送信する。
【0551】
クライアント装置2002Aは、センサ情報取得部2011と、記憶部2012と、データ送信可否判定部2013とを備える。なお、クライアント装置2002Bの構成も同様である。また、以下ではクライアント装置2002Aとクライアント装置2002Bとを特に区別しない場合には、クライアント装置2002とも記載する。
【0552】
図111は、本実施の形態に係るクライアント装置2002の動作を示すフローチャートである。
【0553】
センサ情報取得部2011は、移動体に搭載されたセンサ(センサ群)を用いて各種センサ情報を取得する。つまり、センサ情報取得部2011は、移動体に搭載されたセンサ(センサ群)により得られた、移動体の周辺状況を示すセンサ情報を取得する。また、センサ情報取得部2011は、取得したセンサ情報を記憶部2012に記憶する。このセンサ情報は、LiDAR取得情報、可視光画像、赤外画像及びデプス画像の少なくとも一つを含む。また、センサ情報は、センサ位置情報、速度情報、取得時刻情報、及び取得場所情報の少なくとも一つを含んでもよい。センサ位置情報は、センサ情報を取得したセンサの位置を示す。速度情報は、センサがセンサ情報を取得した際の移動体の速度を示す。取得時刻情報は、センサ情報がセンサにより取得された時刻を示す。取得場所情報は、センサ情報がセンサにより取得された際の移動体又はセンサの位置を示す。
【0554】
次に、データ送信可否判定部2013は、移動体(クライアント装置2002)がサーバ2001へセンサ情報を送信可能な環境に存在するかを判定する(S2002)。例えば、データ送信可否判定部2013は、GPS等の情報を用いて、クライアント装置2002がいる場所及び時刻を特定し、データを送信可能かどうかを判定してもよい。また、データ送信可否判定部2013は、特定のアクセスポイントに接続できるかどうかで、データを送信可能かどうかを判定してもよい。
【0555】
クライアント装置2002は、移動体がサーバ2001へセンサ情報を送信可能な環境に存在すると判定した場合(S2002でYes)、センサ情報をサーバ2001に送信する(S2003)。つまり、クライアント装置2002がセンサ情報をサーバ2001に送信できるような状況になった時点で、クライアント装置2002は、保持しているセンサ情報をサーバ2001に送信する。例えば、交差点等に高速通信が可能なミリ波のアクセスポイントが設置される。クライアント装置2002は、交差点内に入った時点で、ミリ波通信を用いてクライアント装置2002が保持するセンサ情報を高速にサーバ2001に送信する。
【0556】
次に、クライアント装置2002は、サーバ2001に送信済みのセンサ情報を記憶部2012から削除する(S2004)。なお、クライアント装置2002は、サーバ2001に送信していないセンサ情報が所定の条件を満たした場合に、当該センサ情報を削除してもよい。例えば、クライアント装置2002は、保持するセンサ情報の取得時刻が現在時刻から一定時刻前より古くなった時点でそのセンサ情報を記憶部2012から削除してもよい。つまり、クライアント装置2002は、センサ情報がセンサにより取得された時刻と、現在の時刻との差が、予め定められた時間を超えた場合にセンサ情報を記憶部2012から削除してもよい。また、クライアント装置2002は、保持するセンサ情報の取得場所が現在地点から一定距離より離れた時点でそのセンサ情報を記憶部2012から削除してもよい。つまり、クライアント装置2002は、センサ情報がセンサにより取得された際の移動体又はセンサの位置と、現在の移動体又はセンサの位置との差が、予め定められた距離を超えた場合にセンサ情報を記憶部2012から削除してもよい。これにより、クライアント装置2002の記憶部2012の容量を抑制することができる。
【0557】
クライアント装置2002によるセンサ情報の取得が終了していない場合(S2005でNo)、クライアント装置2002は、ステップS2001以降の処理を再度行う。また、クライアント装置2002によるセンサ情報の取得が終了した場合(S2005でYes)、クライアント装置2002は処理を終了する。
【0558】
また、クライアント装置2002はサーバ2001に送信するセンサ情報を通信状況に合わせて選択してもよい。例えば、クライアント装置2002は、高速通信が可能な場合は、記憶部2012に保持されるサイズが大きいセンサ情報(例えばLiDAR取得情報等)を優先して送信する。また、クライアント装置2002は、高速通信が難しい場合は、記憶部2012に保持されるサイズが小さく優先度の高いセンサ情報(例えば可視光画像)を送信する。これにより、クライアント装置2002は記憶部2012に保持したセンサ情報をネットワークの状況に応じて効率的にサーバ2001に送信できる。
【0559】
また、クライアント装置2002は、上記現在時刻を示す時刻情報、及び、現在地点を示す場所情報をサーバ2001から取得してもよい。また、クライアント装置2002は、取得した時刻情報及び場所情報に基づきセンサ情報の取得時刻及び取得場所を決定してもよい。つまり、クライアント装置2002は、サーバ2001から時刻情報を取得し、取得した時刻情報を用いて取得時刻情報を生成してもよい。また、クライアント装置2002は、サーバ2001から場所情報を取得し、取得した場所情報を用いて取得場所情報を生成してもよい。
【0560】
例えば時刻情報については、サーバ2001とクライアント装置2002とはNTP(Network Time Protocol)、又はPTP(Precision Time Protocol)等の仕組みを用いて時刻同期を行う。これにより、クライアント装置2002は正確な時刻情報を取得できる。また、サーバ2001と複数のクライアント装置との間で時刻を同期できるので、別々のクライアント装置2002が取得したセンサ情報内の時刻を同期できる。よって、サーバ2001は、同期された時刻を示すセンサ情報を取り扱える。なお、時刻同期の仕組みはNTP又はPTP以外のどのような方法でも構わない。また、上記時刻情報及び場所情報としてGPSの情報が用いられてもよい。
【0561】
サーバ2001は、時刻又は場所を指定して複数のクライアント装置2002からセンサ情報を取得しても構わない。例えば何らかの事故が発生した場合に、その付近にいたクライアントを探すため、サーバ2001は、事故発生時刻と場所を指定して複数のクライアント装置2002にセンサ情報送信要求をブロードキャスト送信する。そして、該当する時刻と場所のセンサ情報を持つクライアント装置2002は、サーバ2001にセンサ情報を送信する。つまり、クライアント装置2002は、サーバ2001から場所及び時刻を指定する指定情報を含むセンサ情報送信要求を受信する。クライアント装置2002は、記憶部2012に、指定情報で示される場所及び時刻において得られたセンサ情報が記憶されており、かつ、移動体がサーバ2001へセンサ情報を送信可能な環境に存在すると判定した場合、指定情報で示される場所及び時刻において得られたセンサ情報をサーバ2001に送信する。これにより、サーバ2001は、事故の発生に関連するセンサ情報を複数のクライアント装置2002から取得し、事故解析等に利用できる。
【0562】
なお、クライアント装置2002は、サーバ2001からのセンサ情報送信要求を受信した場合に、センサ情報の送信を拒否してもよい。また、複数のセンサ情報のうち、どのセンサ情報を送信可能かどうかを事前にクライアント装置2002が設定してもよい。または、サーバ2001は、センサ情報の送信の可否を都度クライアント装置2002に問い合わせてもよい。
【0563】
また、サーバ2001にセンサ情報を送信したクライアント装置2002にはポイントが付与されてもよい。このポイントは、例えば、ガソリン購入費、EV(Electric Vehicle)の充電費、高速道路の通行料、又はレンタカー費用などの支払いに使用できる。また、サーバ2001は、センサ情報を取得した後、センサ情報の送信元のクライアント装置2002を特定するための情報を削除してもよい。例えば、この情報は、クライアント装置2002のネットワークアドレスなどの情報である。これによりセンサ情報を匿名化することができるので、クライアント装置2002のユーザは安心して、クライアント装置2002からセンサ情報をサーバ2001に送信できる。また、サーバ2001は、複数のサーバから構成されてもよい。例えば複数のサーバでセンサ情報が共有化されることで、あるサーバが故障しても他のサーバがクライアント装置2002と通信できる。これにより、サーバ故障によるサービスの停止を回避できる。
【0564】
また、センサ情報送信要求で指定される指定場所は事故の発生位置などを示すものであり、センサ情報送信要求で指定される指定時刻におけるクライアント装置2002の位置とは異なることがある。よって、サーバ2001は、例えば、指定場所として周辺XXm以内などの範囲を指定することで、当該範囲内に存在するクライアント装置2002に対して情報取得を要求できる。指定時刻についても同様に、サーバ2001は、ある時刻から前後N秒以内など範囲を指定してもよい。これにより、サーバ2001は、「時刻:t-Nからt+Nにおいて、場所:絶対位置SからXXm以内」に存在していたクライアント装置2002からセンサ情報が取得できる。クライアント装置2002は、LiDARなどの三次元データを送信する際に、時刻tの直後に生成したデータを送信してもよい。
【0565】
また、サーバ2001は、指定場所として、センサ情報取得対象となるクライアント装置2002の場所を示す情報と、センサ情報が欲しい場所とをそれぞれ別に指定してもよい。例えば、サーバ2001は、絶対位置SからYYmの範囲を少なくとも含むセンサ情報を、絶対位置SからXXm以内に存在したクライアント装置2002から取得することを指定する。クライアント装置2002は、送信する三次元データを選択する際には、指定された範囲のセンサ情報を少なくとも含むように、1つ以上のランダムアクセス可能な単位の三次元データを選択する。また、クライアント装置2002は、可視光画像を送信する際は、少なくとも時刻tの直前又は直後のフレームを含む、時間的に連続した複数の画像データを送信してもよい。
【0566】
クライアント装置2002が5G或いはWiFi、又は、5Gにおける複数モードなど、複数の物理ネットワークをセンサ情報の送信に利用できる場合には、クライアント装置2002は、サーバ2001から通知された優先順位に従って利用するネットワークを選択してもよい。または、クライアント装置2002自身が送信データのサイズに基づいて適切な帯域を確保できるネットワークを選択してもよい。または、クライアント装置2002は、データ送信にかかる費用等に基づいて利用するネットワークを選択してもよい。また、サーバ2001からの送信要求には、クライアント装置2002が時刻Tまでに送信を開始可能な場合に送信を行う、など、送信期限を示す情報が含まれてもよい。サーバ2001は、期限内に十分なセンサ情報が取得できなければ再度送信要求を発行してもよい。
【0567】
センサ情報は、圧縮又は非圧縮のセンサデータと共に、センサデータの特性を示すヘッダ情報を含んでもよい。クライアント装置2002は、ヘッダ情報を、センサデータとは異なる物理ネットワーク又は通信プロトコルを介してサーバ2001に送信してもよい。例えば、クライアント装置2002は、センサデータの送信に先立ってヘッダ情報をサーバ2001に送信する。サーバ2001は、ヘッダ情報の解析結果に基づいてクライアント装置2002のセンサデータを取得するかどうかを判断する。例えば、ヘッダ情報は、LiDARの点群取得密度、仰角、或いはフレームレート、又は、可視光画像の解像度、SN比、或いはフレームレートなどを示す情報を含んでもよい。これにより、サーバ2001は、決定した品質のセンサデータを有するクライアント装置2002からセンサ情報を取得できる。
【0568】
以上のように、クライアント装置2002は、移動体に搭載され、移動体に搭載されたセンサにより得られた、移動体の周辺状況を示すセンサ情報を取得し、センサ情報を記憶部2012に記憶する。クライアント装置2002は、移動体がサーバ2001へセンサ情報を送信可能な環境に存在するかを判定し、移動体がサーバへセンサ情報を送信可能な環境に存在すると判定した場合、センサ情報をサーバ2001に送信する。
【0569】
また、クライアント装置2002は、さらに、センサ情報から、移動体の周辺の三次元データを作成し、作成された三次元データを用いて移動体の自己位置を推定する。
【0570】
また、クライアント装置2002は、さらに、サーバ2001に三次元マップの送信要求を送信し、サーバ2001から三次元マップを受信する。クライアント装置2002は、自己位置の推定では、三次元データと三次元マップとを用いて、自己位置を推定する。
【0571】
なお、上記クライアント装置2002による処理は、クライアント装置2002における情報送信方法として実現されてもよい。
【0572】
また、クライアント装置2002は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行ってもよい。
【0573】
次に、本実施の形態に係るセンサ情報収集システムについて説明する。
図112は、本実施の形態に係るセンサ情報収集システムの構成を示す図である。
図112に示すように本実施の形態に係るセンサ情報収集システムは、端末2021Aと、端末2021Bと、通信装置2022Aと、通信装置2022Bと、ネットワーク2023と、データ収集サーバ2024と、地図サーバ2025と、クライアント装置2026とを含む。なお、端末2021A及び端末2021Bを特に区別しない場合には端末2021とも記載する。通信装置2022A及び通信装置2022Bを特に区別しない場合には通信装置2022とも記載する。
【0574】
データ収集サーバ2024は、端末2021が備えるセンサで得られたセンサデータなどのデータを三次元空間中の位置と対応付けられた位置関連データとして収集する。
【0575】
センサデータとは、例えば、端末2021の周囲の状態または端末2021の内部の状態などを、端末2021が備えるセンサを用いて取得したデータである。端末2021は、端末2021と直接通信可能、又は同一の通信方式で一或いは複数の中継装置を中継して通信可能な位置にある一又は複数のセンサ機器から収集したセンサデータをデータ収集サーバ2024に送信する。
【0576】
位置関連データに含まれるデータは、例えば、端末自身又は端末が備える機器の動作状態、動作ログ、サービスの利用状況などを示す情報を含んでいてもよい。また、位置関連データに含まれるデータは、端末2021の識別子と端末2021の位置又は移動経路などとを対応付けた情報などを含んでもよい。
【0577】
位置関連データに含まれる、位置を示す情報は、例えば三次元地図データなどの三次元データにおける位置を示す情報と対応付けられている。位置を示す情報の詳細については後述する。
【0578】
位置関連データは、位置を示す情報である位置情報に加えて、前述した時刻情報と、位置関連データに含まれるデータの属性、又は当該データを生成したセンサの種類(例えば型番など)を示す情報とのうち少なくとも一つを含んでいてもよい。位置情報及び時刻情報は、位置関連データのヘッダ領域又は位置関連データを格納するフレームのヘッダ領域に格納されていてもよい。また、位置情報及び時刻情報は、位置関連データと対応付けられたメタデータとして位置関連データとは別に送信及び/又は格納されてもよい。
【0579】
地図サーバ2025は、例えば、ネットワーク2023に接続されており、端末2021などの他の装置からの要求に応じて三次元地図データなどの三次元データを送信する。また、前述した各実施の形態で説明したように、地図サーバ2025は、端末2021から送信されたセンサ情報を用いて、三次元データを更新する機能などを備えていてもよい。
【0580】
データ収集サーバ2024は、例えば、ネットワーク2023に接続されており、端末2021などの他の装置から位置関連データを収集し、収集した位置関連データを内部又は他のサーバ内の記憶装置に格納する。また、データ収集サーバ2024は、収集した位置関連データ又は位置関連データに基づいて生成した三次元地図データのメタデータなどを、端末2021からの要求に応じて端末2021に対して送信する。
【0581】
ネットワーク2023は、例えばインターネットなどの通信ネットワークである。端末2021は、通信装置2022を介してネットワーク2023に接続されている。通信装置2022は、一つの通信方式、又は複数の通信方式を切り替えながら端末2021と通信を行う。通信装置2022は、例えば、(1)LTE(Long Term Evolution)などの基地局、(2)WiFi或いはミリ波通信などのアクセスポイント(AP)、(3)SIGFOX、LoRaWAN或いはWi-SUNなどのLPWA(Low Power Wide Area) Networkのゲートウェイ、又は、(4)DVB-S2などの衛星通信方式を用いて通信を行う通信衛星である。
【0582】
なお、基地局は、NB-IoT(Narrow Band-IoT)又はLTE-MなどのLPWAに分類される方式で端末2021との通信を行っていてもよいし、これらの方式を切り替えながら端末2021との通信を行っていてもよい。
【0583】
ここでは、端末2021が2種類の通信方式を用いる通信装置2022と通信する機能を備え、これらの通信方式のいずれかを用いて、またはこれらの複数の通信方式及び直接の通信相手となる通信装置2022を切り替えながら地図サーバ2025又はデータ収集サーバ2024と通信を行う場合を例に挙げるが、センサ情報収集システム及び端末2021の構成はこれに限らない。例えば、端末2021は、複数の通信方式での通信機能を有さず、いずれか一つの通信方式で通信を行う機能を備えてもよい。また、端末2021は、3つ以上の通信方式に対応していてもよい。また、端末2021ごとに対応する通信方式が異なっていてもよい。
【0584】
端末2021は、例えば
図102に示したクライアント装置902の構成を備える。端末2021は、受信した三次元データを用いて自己位置などの位置推定を行う。また、端末2021は、センサから取得したセンサデータと位置推定の処理により得られた位置情報とを対応付けて位置関連データを生成する。
【0585】
位置関連データに付加される位置情報は、例えば、三次元データで用いられている座標系における位置を示す。例えば、位置情報は、緯度及び経度の値で表される座標値である。このとき、端末2021は、座標値と共に当該座標値の基準となる座標系、及び位置推定に用いた三次元データを示す情報を位置情報に含めてもよい。また、座標値は高度の情報を含んでいてもよい。
【0586】
また、位置情報は、前述した三次元データの符号化に用いることができるデータの単位又は空間の単位に対応付けられていてもよい。この単位とは、例えば、WLD、GOS、SPC、VLM、又はVXLなどである。このとき、位置情報は、例えば位置関連データに対応するSPCなどのデータ単位を特定するための識別子で表現される。なお、位置情報は、SPCなどのデータ単位を特定するための識別子に加えて、当該SPCなどのデータ単位を含む三次元空間を符号化した三次元データを示す情報、又は当該SPC内での詳細な位置を示す情報などを含んでいてもよい。三次元データを示す情報とは、例えば、当該三次元データのファイル名である。
【0587】
このように、当該システムは、三次元データを用いた位置推定に基づく位置情報と対応付けた位置関連データを生成することにより、GPSを用いて取得されたクライアント装置(端末2021)の自己位置に基づく位置情報をセンサ情報に付加する場合よりも精度の高い位置情報をセンサ情報に付与することができる。その結果、位置関連データを他の装置が他のサービスにおいて利用する場合においても、同じ三次元データに基づいて位置推定を行うことで、位置関連データに対応する位置を実空間でより正確に特定できる可能性がある。
【0588】
なお、本実施の形態では、端末2021から送信されるデータが位置関連データの場合を例に挙げて説明したが、端末2021から送信されるデータは位置情報と関連付けられていないデータであってもよい。すなわち、他の実施の形態で説明した三次元データ又はセンサデータの送受信が本実施の形態で説明したネットワーク2023を介して行われてもよい。
【0589】
次に、三次元又は二次元の実空間又は地図空間における位置を示す位置情報の異なる例について説明する。位置関連データに付加される位置情報は、三次元データ中の特徴点に対する相対位置を示す情報であってもよい。ここで、位置情報の基準となる特徴点は、例えばSWLDとして符号化され、三次元データとして端末2021に通知された特徴点である。
【0590】
特徴点に対する相対位置を示す情報は、例えば、特徴点から位置情報が示す点までのベクトルで表され、特徴点から位置情報が示す点までの方向と距離を示す情報であってもよい。または、特徴点に対する相対位置を示す情報は、特徴点から位置情報が示す点までのX軸、Y軸、Z軸のそれぞれの変位量を示す情報であってもよい。また、特徴点に対する相対位置を示す情報は、3以上の特徴点のそれぞれから位置情報が示す点までの距離を示す情報であってもよい。なお、相対位置は、各特徴点を基準として表現された位置情報が示す点の相対位置ではなく、位置情報が示す点を基準として表現された各特徴点の相対位置であってもよい。特徴点に対する相対位置に基づく位置情報の一例は、基準となる特徴点を特定するための情報と、当該特徴点に対する位置情報が示す点の相対位置を示す情報とを含む。また、特徴点に対する相対位置を示す情報が三次元データとは別に提供される場合、特徴点に対する相対位置を示す情報は、相対位置の導出に用いた座標軸、三次元データの種類を示す情報、又は/及び相対位置を示す情報の値の単位量あたりの大きさ(縮尺など)を示す情報などを含んでいてもよい。
【0591】
また、位置情報は、複数の特徴点について、各特徴点に対する相対位置を示す情報を含んでいてもよい。位置情報を複数の特徴点に対する相対位置で表した場合、実空間において当該位置情報が示す位置を特定しようとする端末2021は、特徴点ごとにセンサデータから推定した当該特徴点の位置から位置情報が示す位置の候補点を算出し、算出された複数の候補点を平均して求めた点を位置情報が示す点であると判定してもよい。この構成によると、センサデータから特徴点の位置を推定する際の誤差の影響を軽減できるため、実空間における位置情報が示す点の推定精度を向上できる。また、位置情報が複数の特徴点に対する相対位置を示す情報を含む場合、端末2021が備えるセンサの種類又は性能などの制約で検出できない特徴点がある場合であっても、複数の特徴点のいずれか一つでも検出することができれば位置情報が示す点の値を推定することが可能となる。
【0592】
特徴点として、センサデータから特定可能な点を用いことができる。センサデータから特定可能な点とは、例えば、前述した三次元特徴量又は可視光データの特徴量が閾値以上であるなど特徴点検出用の所定の条件を満たす点又は領域内の点である。
【0593】
また、実空間に設置されたマーカなどを特徴点として用いてもよい。この場合、マーカは、LiDER又はカメラなどのセンサを用いて取得されたデータから検出及び位置の特定が可能であればよい。例えば、マーカは、色或いは輝度値(反射率)の変化、又は、三次元形状(凹凸など)で表現される。また、当該マーカの位置を示す座標値、又は当該マーカの識別子から生成された二次元コード又はバーコードなどが用いられてもよい。
【0594】
また、光信号を送信する光源をマーカとして用いてもよい。光信号の光源をマーカとして用いる場合、座標値又は識別子などの位置を取得するための情報だけでなく、その他のデータが光信号により送信されてもよい。例えば、光信号は、当該マーカの位置に応じたサービスのコンテンツ、コンテンツを取得するためのurlなどのアドレス、又はサービスの提供を受けるための無線通信装置の識別子と、当該無線通信装置と接続するための無線通信方式などを示す情報を含んでもよい。光通信装置(光源)をマーカとして用いることで、位置を示す情報以外のデータの送信が容易になると共に、当該データを動的に切り替えることが可能となる。
【0595】
端末2021は、互いに異なるデータ間での特徴点の対応関係を、例えば、データ間で共通に用いられる識別子、又は、データ間の特徴点の対応関係を示す情報或いはテーブルを用いて把握する。また、特徴点間の対応関係を示す情報がない場合、端末2021は、一方の三次元データにおける特徴点の座標を他方の三次元データ空間上の位置に変換した場合に最も近い距離にある特徴点を対応する特徴点であると判定してもよい。
【0596】
以上で説明した相対位置に基づく位置情報を用いた場合、互いに異なる三次元データを用いる端末2021又はサービス間であっても、各三次元データに含まれる、又は各三次元データと対応付けられた共通の特徴点を基準に位置情報が示す位置を特定、又は推定することができる。その結果、互いに異なる三次元データを用いる端末2021又はサービス間で、同じ位置をより高い精度で特定又は推定することが可能となる。
【0597】
また、互いに異なる座標系を用いて表現された地図データ又は三次元データを用いる場合であっても、座標系の変換に伴う誤差の影響を低減できるため、より高精度な位置情報に基づくサービスの連携が可能となる。
【0598】
以下、データ収集サーバ2024が提供する機能の例について説明する。データ収集サーバ2024は、受信した位置関連データを他のデータサーバに転送してもよい。データサーバが複数ある場合、データ収集サーバ2024は、受信した位置関連データをどのデータサーバに転送するかを判定して、転送先として判定されたデータサーバ宛に位置関連データを転送する。
【0599】
データ収集サーバ2024は、転送先の判定を、例えば、データ収集サーバ2024に事前に設定された転送先サーバの判定ルールに基づいて行う。転送先サーバの判定ルールとは、例えば、各端末2021に対応付けられた識別子と転送先のデータサーバとを対応付けた転送先テーブルなどで設定される。
【0600】
端末2021は、送信する位置関連データに対して当該端末2021に対応付けられた識別子を付加してデータ収集サーバ2024に送信する。データ収集サーバ2024は、位置関連データに付加された識別子に対応する転送先のデータサーバを転送先テーブルなどを用いた転送先サーバの判定ルールに基づいて特定し、当該位置関連データを特定されたデータサーバに送信する。また、転送先サーバの判定ルールは、位置関連データが取得された時間又は場所などを用いた判定条件で指定されてもよい。ここで、上述した送信元の端末2021に対応付けられた識別子とは、例えば各端末2021に固有の識別子、又は端末2021が属するグループを示す識別子などである。
【0601】
また、転送先テーブルは、送信元の端末に対応付けられた識別子と転送先のデータサーバとを直接対応付けたものでなくてもよい。例えば、データ収集サーバ2024は、端末2021に固有の識別子毎に付与されたタグ情報を格納した管理テーブルと、当該タグ情報と転送先のデータサーバを対応付けた転送先テーブルとを保持する。データ収集サーバ2024は、管理テーブルと転送先テーブルとを用いてタグ情報に基づく転送先のデータサーバを判定してもよい。ここで、タグ情報は、例えば当該識別子に対応する端末2021の種類、型番、所有者、所属するグループ又はその他の識別子に付与された管理用の制御情報又はサービス提供用の制御情報である。また、転送先テーブルに、送信元の端末2021に対応付けられた識別子の代わりに、センサ毎に固有の識別子が用いられてもよい。また、転送先サーバの判定ルールは、クライアント装置2026から設定できてもよい。
【0602】
データ収集サーバ2024は、複数のデータサーバを転送先として判定し、受信した位置関連データを当該複数のデータサーバに転送してもよい。この構成によると、例えば、位置関連データを自動的にバックアップする場合、又は位置関連データを異なるサービスで共通に利用するために、各サービスを提供するためのデータサーバに対して位置関連データを送信する必要がある場合に、データ収集サーバ2024に対する設定を変更ことで意図通りのデータの転送を実現できる。その結果、個別の端末2021に位置関連データの送信先を設定する場合と比較して、システムの構築及び変更に要する工数を削減することができる。
【0603】
データ収集サーバ2024は、データサーバから受信した転送要求信号に応じて、転送要求信号で指定されたデータサーバを新たな転送先として登録し、以降に受信した位置関連データを当該データサーバに転送してもよい。
【0604】
データ収集サーバ2024は、端末2021から受信した位置関連データを記録装置に保存し、端末2021又はデータサーバから受信した送信要求信号に応じて、送信要求信号で指定された位置関連データを、要求元の端末2021又はデータサーバに送信してもよい。
【0605】
データ収集サーバ2024は、要求元のデータサーバ又は端末2021に対する位置関連データの提供の可否を判断し、提供可能と判断された場合に要求元のデータサーバ又は端末2021に位置関連データの転送又は送信を行ってもよい。
【0606】
クライアント装置2026から現在の位置関連データの要求を受け付けた場合、端末2021による位置関連データの送信タイミングでなくても、データ収集サーバ2024が端末2021に対して位置関連データの送信要求を行い、端末2021が当該送信要求に応じて位置関連データを送信してもよい。
【0607】
上記の説明では、端末2021がデータ収集サーバ2024に対して位置情報データを送信するとしたが、データ収集サーバ2024は、例えば、端末2021を管理する機能など、端末2021から位置関連データを収集するために必要な機能又は端末2021から位置関連データを収集する際に用いられる機能などを備えてもよい。
【0608】
データ収集サーバ2024は、端末2021に対して位置情報データの送信を要求するデータ要求信号を送信し、位置関連データを収集する機能を備えてもよい。
【0609】
データ収集サーバ2024には、データ収集の対象となる端末2021と通信を行うためのアドレス又は端末2021固有の識別子などの管理情報が事前に登録されている。データ収集サーバ2024は、登録されている管理情報に基づいて端末2021から位置関連データを収集する。管理情報は、端末2021が備えるセンサの種類、端末2021が備えるセンサの数、及び端末2021が対応する通信方式などの情報を含んでいてもよい。
【0610】
データ収集サーバ2024は、端末2021の稼働状態又は現在位置などの情報を端末2021から収集してもよい。
【0611】
管理情報の登録は、クライアント装置2026から行われてもよいし、端末2021が登録要求をデータ収集サーバ2024に送信することで、登録のための処理が開始されてもよい。データ収集サーバ2024は、端末2021との間の通信を制御する機能を備えてもよい。
【0612】
データ収集サーバ2024と端末2021とを結ぶ通信は、MNO(Mobile Network Operator)、或いはMVNO(Mobile Virtual Network Operator)などのサービス事業者が提供する専用回線、又は、VPN(Virtual Private Network)で構成された仮想の専用回線などであってもよい。この構成によると、端末2021とデータ収集サーバ2024との間の通信を安全に行うことができる。
【0613】
データ収集サーバ2024は、端末2021を認証する機能、又は端末2021との間で送受信されるデータを暗号化する機能を備えてもよい。ここで、端末2021の認証の処理又はデータの暗号化の処理は、データ収集サーバ2024と端末2021との間で事前に共有された、端末2021に固有の識別子又は複数の端末2021を含む端末グループに固有の識別子などを用いて行われる。この識別子とは、例えば、SIM(Subscriber Identity Module)カードに格納された固有の番号であるIMSI(International Mobile Subscriber Identity)などである。認証処理に用いられる識別子とデータの暗号化処理に用いる識別子とは、同じであってもよいし、異なっていてもよい。
【0614】
データ収集サーバ2024と端末2021との間の認証又はデータの暗号化の処理は、データ収集サーバ2024と端末2021との両方が当該処理を実施する機能を備えていれば提供可能であり、中継を行う通信装置2022が用いる通信方式に依存しない。よって、端末2021が通信方式を用いるかを考慮することなく、共通の認証又は暗号化の処理を用いることができるので、ユーザのシステム構築の利便性が向上する。ただし、中継を行う通信装置2022が用いる通信方式に依存しないとは、通信方式に応じて変更することが必須ではないことを意味している。つまり、伝送効率の向上又は安全性の確保の目的で、中継装置が用いる通信方式に応じてデータ収集サーバ2024と端末2021との間の認証又はデータの暗号化の処理が切り替えられてもよい。
【0615】
データ収集サーバ2024は、端末2021から収集する位置関連データの種類及びデータ収集のスケジュールなどのデータ収集ルールを管理するUIをクライアント装置2026に提供してもよい。これにより、ユーザはクライアント装置2026を用いてデータを収集する端末2021、並びに、データの収集時間及び頻度などを指定できる。また、データ収集サーバ2024は、データを収集したい地図上の領域などを指定し、当該領域に含まれる端末2021から位置関連データを収集してもよい。
【0616】
データ収集ルールを端末2021単位で管理する場合、クライアント装置2026は、例えば、管理対象となる端末2021又はセンサのリストを画面に提示する。ユーザはリストの項目毎にデータの収集の要否又は収集スケジュールなどを設定する。
【0617】
データを収集したい地図上の領域などを指定する場合、クライアント装置2026は、例えば、管理対象となる地域の二次元又は三次元の地図を画面に提示する。ユーザは、表示された地図上でデータを収集する領域を選択する。地図上で選択される領域は、地図上で指定された点を中心とする円形又は矩形の領域であってもよいし、ドラッグ動作で特定可能な円形又は矩形の領域であってもよい。また、クライアント装置2026は、都市、都市内のエリア、ブロック、又は主要な道路など予め設定された単位で領域を選択してもよい。また、地図を用いて領域を指定するのではなく、緯度及び経度の数値を入力して領域が設定されてもよいし、入力されたテキスト情報に基づいて導出した候補領域のリストから領域が選択されてもよい。テキスト情報は、例えば、地域、都市、又はランドマークの名前などである。
【0618】
また、ユーザが一又は複数の端末2021を指定して、当該端末2021の周囲100メートルの範囲内などの条件を設定することで、指定領域を動的に変更しながらデータの収集が行われてもよい。
【0619】
また、クライアント装置2026がカメラなどのセンサを備える場合、センサデータから得られたクライアント装置2026の実空間での位置に基づいて地図上の領域が指定されてもよい。例えば、クライアント装置2026は、センサデータを用いて自己位置を推定し、推定された位置に対応する地図上の点から予め定められた距離、又はユーザが指定した距離の範囲内の領域を、データを収集する領域として指定してもよい。また、クライアント装置2026は、センサのセンシング領域、すなわち取得されたセンサデータに対応する領域を、データを収集する領域として指定してもよい。または、クライアント装置2026は、ユーザの指定したセンサデータに対応する位置に基づく領域を、データを収集する領域として指定してもよい。センサデータに対応する地図上の領域、又は位置の推定は、クライアント装置2026が行ってもよいし、データ収集サーバ2024が行ってもよい。
【0620】
地図上の領域で指定を行う場合、データ収集サーバ2024は、各端末2021の現在位置情報を収集することで、指定された領域内の端末2021を特定し、特定された端末2021に対して位置関連データの送信を要求してもよい。また、データ収集サーバ2024が領域内の端末2021を特定するのではなく、データ収集サーバ2024が指定された領域を示す情報を端末2021に送信し、端末2021が自身が指定された領域内にあるか否かを判定して、指定された領域内にあると判断された場合に位置関連データを送信してもよい。
【0621】
データ収集サーバ2024は、クライアント装置2026が実行するアプリケーションにおいて上述したUI(User Interface)を提供するためのリスト又は地図などのデータをクライアント装置2026に送信する。データ収集サーバ2024は、リスト又は地図などのデータだけでなく、アプリケーションのプログラムをクライアント装置2026に送信してもよい。また、上述したUIは、ブラウザで表示可能なHTMLなどで作成されたコンテンツとして提供されてもよい。なお、地図データなど一部のデータは地図サーバ2025などのデータ収集サーバ2024以外のサーバから提供されてもよい。
【0622】
クライアント装置2026は、ユーザによる設定ボタンの押下など、入力が完了したことを通知する入力が行われると、入力された情報を設定情報としてデータ収集サーバ2024に送信する。データ収集サーバ2024は、クライアント装置2026から受信した設定情報に基づいて各端末2021に対して、位置関連データの要求又は位置関連データの収集ルールを通知する信号を送信し、位置関連データの収集を行う。
【0623】
次に、三次元又は二次元の地図データに付加された付加情報に基づいて端末2021の動作を制御する例について説明する。
【0624】
本構成では、道路又は駐車場に埋設された無線給電の給電アンテナ又は給電コイルなどの給電部の位置を示すオブジェクト情報が、三次元データに含まれて、又は三次元データに対応付けられて、車又はドローンなどである端末2021に提供される。
【0625】
充電を行うために当該オブジェクト情報を取得した車両又はドローンは、車両が備える充電アンテナ又は充電コイルなどの充電部の位置が、当該オブジェクト情報が示す領域と対向する位置になるよう自動運転で車両自身の位置を移動させ、充電を開始する。なお、自動運転機能を備えていない車両又はドローンの場合は、画面上に表示された画像又は音声などを利用して、移動すべき方向又は行うべき操作を運転手又は操縦者に対して提示される。そして、推定された自己位置に基づいて算出した充電部の位置が、オブジェクト情報で示された領域又は当該領域から所定の距離の範囲内に入った判断されると、運転又は操縦を中止させる内容へと提示する画像又は音声が切り替えられ、充電が開始される。
【0626】
また、オブジェクト情報は給電部の位置を示す情報ではなく、当該領域内に充電部を配置すると所定の閾値以上の充電効率が得られる領域を示す情報であってもよい。オブジェクト情報の位置は、オブジェクト情報が示す領域の中心の点で表されてもよいし、二次元平面内の領域或いは線、又は、三次元空間内の領域、線或いは平面などで表されてもよい。
【0627】
この構成によると、LiDERのセンシングデータ又はカメラで撮影した映像では把握できない給電アンテナの位置を把握することができるので、車などの端末2021が備える無線充電用のアンテナと道路などに埋設された無線給電アンテナとの位置合わせをより高精度に行うことができる。その結果、無線充電時の充電速度を短くしたり、充電効率を向上させることができる。
【0628】
オブジェクト情報は、給電アンテナの以外の対象物であってもよい。例えば、三次元データは、ミリ波無線通信のAPの位置などをオブジェクト情報として含む。これにより、端末2021は、APの位置を事前に把握することができるので、当該オブジェクト情報の方向にビームの指向性を向けて通信を開始することができる。その結果、伝送速度の向上、通信開始までの時間の短縮、及び通信可能な期間を延ばすなどの通信品質の向上を実現できる。
【0629】
オブジェクト情報は、当該オブジェクト情報に対応する対象物のタイプを示す情報を含んでもよい。また、オブジェクト情報は、当該オブジェクト情報の三次元データ上の位置に対応する実空間上の領域内、又は領域から所定の距離の範囲内に端末2021が含まれる場合に、端末2021が実施すべき処理を示す情報を含んでもよい。
【0630】
オブジェクト情報は、三次元データを提供するサーバとは異なるサーバから提供されてもよい。オブジェクト情報を三次元データとは別に提供する場合、同一のサービスで使用されるオブジェクト情報が格納されたオブジェクトグループが、対象サービス又は対象機器の種類に応じてそれぞれ別のデータとして提供されてもよい。
【0631】
オブジェクト情報と組み合わせて用いられる三次元データは、WLDの点群データであってもよいし、SWLDの特徴点データであってもよい。
【0632】
三次元データ符号化装置において、符号化対象の三次元点である対象三次元点の属性情報をLoD(Level of Detail)を用いて階層符号化した場合、三次元データ復号装置は、当該三次元データ復号装置で必要なLoDの階層まで属性情報を復号し、必要でない階層の属性情報を復号しなくてもよい。例えば、三次元データ符号化装置が符号化したビットストリーム内の属性情報のLoDの総数がN個の場合、三次元データ復号装置は、最上位層のLoD0からLoD(M-1)までのM個(M<N)のLoDを復号し、残りのLoD(N-1)までのLoDを復号しなくてもよい。これにより、三次元データ復号装置は、処理負荷を抑制しつつ、三次元データ復号装置で必要なLoD0からLoD(M-1)までの属性情報を復号できる。
【0633】
図113は、上記のユースケースを示す図である。
図113に例では、サーバは、三次元位置情報と属性情報とを符号化することで得られた三次元地図を保持する。サーバ(三次元データ符号化装置)は、サーバが管理する領域のクライアント装置(三次元データ復号装置:例えば車両又はドローン等)に対し、三次元地図をブロードキャスト送信し、クライアント装置はサーバから受信した三次元地図を用いてクライアント装置の自己位置を特定する処理、又は、クライアント装置を操作するユーザ等に地図情報を表示する処理を行う。
【0634】
以下、この例における動作例を説明する。まず、サーバは、三次元地図の位置情報を8分木構成などを用いて符号化する。そして、サーバは、位置情報をベースに構築されたN個のLoDを用いて三次元地図の属性情報を階層符号化する。サーバは、階層符号化により得られた三次元地図のビットストリームを保存する。
【0635】
次にサーバは、サーバが管理する領域のクライアント装置から送信された地図情報の送信要求に応じて、符号化された三次元地図のビットストリームをクライアント装置に送信する。
【0636】
クライアント装置は、サーバから送信された三次元地図のビットストリームを受信し、クライアント装置の用途に応じて三次元地図の位置情報と属性情報とを復号する。例えば、クライアント装置が位置情報とN個のLoDの属性情報とを用いて高精度な自己位置推定を行う場合は、クライアント装置は、属性情報として密な三次元点までの復号結果が必要と判断し、ビットストリーム内の全ての情報を復号する。
【0637】
また、クライアント装置が三次元地図の情報をユーザ等に表示する場合は、クライアント装置は、属性情報として疎な三次元点までの復号結果までが必要と判断し、位置情報とLoDの上位層であるLoD0からM個(M<N)までのLoDの属性情報とを復号する。
【0638】
このようにクライアント装置の用途に応じて復号する属性情報のLoDを切替えることによって、クライアント装置の処理負荷を削減できる。
【0639】
図113に示す例では、例えば、三次元点地図は、位置情報と属性情報とを含む。位置情報は、8分木で符号化される。属性情報は、N個のLoDで符号化される。
【0640】
クライアント装置Aは、高精度な自己位置推定を行う。この場合、クライアント装置Aは、全ての位置情報と属性情報とが必要と判断し、ビットストリーム内の位置情報とN個のLoDで構成される属性情報とを全て復号する。
【0641】
クライアント装置Bは、三次元地図をユーザへ表示する。この場合、クライアント装置Bは、位置情報とM個(M<N)のLoDの属性情報とが必要と判断し、ビットストリーム内の位置情報とM個のLoDで構成される属性情報とを復号する。
【0642】
なお、サーバは、三次元地図をクライアント装置にブロードキャスト送信してもよいし、マルチキャスト送信、又はユニキャスト送信してもよい。
【0643】
以下、本実施の形態に係るシステムの変形例について説明する。三次元データ符号化装置において、符号化対象の三次元点である対象三次元点の属性情報をLoDを用いて階層符号化する場合、三次元データ符号化装置は、当該三次元データ復号装置で必要なLoDの階層まで属性情報を符号化し、必要でない階層の属性情報を符号化しなくてもよい。例えば、LoDの総数がN個の場合に、三次元データ符号化装置は、最上位層LoD0からLoD(M-1)までのM個(M<N)のLoDを符号化し、残りLoD(N-1)までのLoDを符号化しないことによりビットストリームを生成してもよい。これにより、三次元データ符号化装置は、三次元データ復号装置からの要望に応じて、三次元データ復号装置で必要なLoD0からLoD(M-1)までの属性情報を符号化したビットストリームを提供できる。
【0644】
図114は、上記ユースケースを示す図である。
図114に示す例では、サーバは、三次元位置情報と属性情報とを符号化することで得られた三次元地図を保持する。サーバ(三次元データ符号化装置)は、サーバが管理する領域のクライアント装置(三次元データ復号装置:例えば車両又はドローン等)に対し、クライアント装置の要望に応じて三次元地図をユニキャスト送信し、クライアント装置はサーバから受信した三次元地図を用いてクライアント装置の自己位置を特定する処理、又は地図情報をクライアント装置を操作するユーザ等に表示する処理を行う。
【0645】
以下、この例における動作例を説明する。まず、サーバは、三次元地図の位置情報を8分木構成などを用いて符号化する。そして、サーバは、三次元地図の属性情報を、位置情報をベースに構築されたN個のLoDを用いて階層符号化することで三次元地
図Aのビットストリームを生成し、生成したビットストリームを当該サーバに保存する。また、サーバは、三次元地図の属性情報を、位置情報をベースに構築されたM個(M<N)のLoDを用いて階層符号化することで三次元地
図Bのビットストリームを生成し、生成したビットストリームを当該サーバに保存する。
【0646】
次にクライアント装置は、クライアント装置の用途に応じて三次元地図の送信をサーバに要求する。例えば、クライアント装置は、位置情報とN個のLoDの属性情報とを用いて高精度な自己位置推定を行う場合は、属性情報として密な三次元点までの復号結果が必要と判断し、三次元地
図Aのビットストリームの送信をサーバへ要求する。また、クライアント装置は、三次元地図の情報をユーザ等に表示する場合は、属性情報として疎な三次元点までの復号結果までが必要と判断し、位置情報とLoDの上位層LoD0からM個(M<N)までのLoDの属性情報とを含む三次元地
図Bのビットストリームの送信をサーバへ要求する。そしてサーバは、クライアント装置からの地図情報の送信要求に応じて、符号化された三次元地
図A又は三次元地
図Bのビットストリームをクライアント装置に送信する。
【0647】
クライアント装置は、クライアント装置の用途に応じてサーバから送信された三次元地
図A又は三次元地
図Bのビットストリームを受信し、当該ビットストリームを復号する。このようにサーバは、クライアント装置の用途に応じて送信するビットストリームを切替える。これにより、クライアント装置の処理負荷を削減できる。
【0648】
図114に示す例では、サーバは、三次元地
図A及び三次元地
図Bを保持する。サーバは、三次元地図の位置情報を、例えば8分木で符号化し、三次元地図の属性情報をN個のLoDで符号化することで三次元地
図Aを生成する。つまり、三次元地
図Aのビットストリームに含まれるNumLoDはNを示す。
【0649】
また、サーバは、三次元地図の位置情報を、例えば8分木で符号化し、三次元地図の属性情報をM個のLoDで符号化することで三次元地
図Bを生成する。つまり、三次元地
図Bのビットストリームに含まれるNumLoDはMを示す。
【0650】
クライアント装置Aは、高精度な自己位置推定を行う。この場合クライアント装置Aは、全ての位置情報と属性情報とが必要と判断し、全ての位置情報とN個のLoDで構成される属性情報とを含む三次元地
図Aの送信要求をサーバに送る。クライアント装置Aは、三次元地
図Aを受信し、全ての位置情報とN個のLoDで構成される属性情報とを復号する。
【0651】
クライアント装置Bは、三次元地図をユーザへ表示する。この場合、クライアント装置Bは、位置情報とM個(M<N)のLoDの属性情報とが必要と判断し、全ての位置情報とM個のLoDで構成される属性情報とを含む三次元地
図Bの送信要求をサーバに送る。クライアント装置Bは、三次元地
図Bを受信して、全ての位置情報とM個のLoDで構成される属性情報とを復号する。
【0652】
なお、サーバ(三次元データ符号化装置)は、三次元地
図Bに加え、残りのN-M個のLoDの属性情報を符号化した三次元地
図Cを符号化しておき、クライアント装置Bの要望に応じて三次元地
図Cをクライアント装置Bに送信してもよい。また、クライアント装置Bは、三次元地
図Bと三次元地
図Cとのビットストリームを用いて、N個のLoDの復号結果を得てもよい。
【0653】
以下、アプリケーション処理の例を説明する。
図115は、アプリケーション処理の例を示すフローチャートである。アプリ操作が開始されると、三次元データ逆多重化装置は、点群データ及び複数の符号化データを含むISOBMFFファイルを取得する(S7301)。例えば、三次元データ逆多重化装置は、ISOBMFFファイルを、通信により取得してもよいし、蓄積しているデータから読み込んでもよい。
【0654】
次に、三次元データ逆多重化装置は、ISOBMFFファイルにおける全体構成情報を解析し、アプリケーションに使用するデータを特定する(S7302)。例えば、三次元データ逆多重化装置は、処理に用いるデータを取得し、処理に用いないデータは取得しない。
【0655】
次に、三次元データ逆多重化装置は、アプリケーションに使用する1以上のデータを抽出し、当該データの構成情報を解析する(S7303)。
【0656】
データの種別が符号化データである場合(S7304で符号化データ)、三次元データ逆多重化装置は、ISOBMFFを符号化ストリームに変換し、タイムスタンプを抽出する(S7305)。また、三次元データ逆多重化装置は、データ間の同期がそろっているか否かを、例えば、データ間の同期がそろっているか否かを示すフラグを参照して判定し、揃っていなければ同期処理を行ってもよい。
【0657】
次に、三次元データ逆多重化装置は、タイムスタンプ及びその他の指示に従い、所定の方法でデータを復号し、復号したデータを処理する(S7306)。
【0658】
一方、データの種別が符号化データである場合(S7304でRAWデータ)、三次元データ逆多重化装置は、データ及びタイムスタンプを抽出する(S7307)。また、三次元データ逆多重化装置は、データ間の同期がそろっているか否かを、例えば、データ間の同期がそろっているか否かを示すフラグを参照して判定し、揃っていなければ同期処理を行ってもよい。次に、三次元データ逆多重化装置は、タイムスタンプ及びその他の指示に従い、データを処理する(S7308)。
【0659】
例えば、ビームLiDAR、FLASH LiDAR、及びカメラで取得されたセンサ信号が、それぞれ異なる符号化方式で符号化及び多重化されている場合の例を説明する。
図116は、ビームLiDAR、FLASH LiDAR及びカメラのセンサ範囲の例を示す図である。例えば、ビームLiDARは、車両(センサ)の周囲の全方向を検知し、FLASH LiDAR及びカメラは、車両の一方向(例えば前方)の範囲を検知する。
【0660】
LiDAR点群を統合的に扱うアプリケーションの場合、三次元データ逆多重化装置は、全体構成情報を参照して、ビームLiDARとFLASH LiDARの符号化データを抽出して復号する。また、三次元データ逆多重化装置は、カメラ映像は抽出しない。
【0661】
三次元データ逆多重化装置は、LiDARとFLASH LiDARのタイムスタンプに従い、同一のタイムスタンプの時刻のそれぞれの符号化データを同時に処理する。
【0662】
例えば、三次元データ逆多重化装置は、処理したデータを提示装置で提示したり、ビームLiDARとFLASH LiDARの点群データを合成したり、レンダリングなどの処理を行ってもよい。
【0663】
また、データ間でキャリブレーションをするアプリケーションの場合には、三次元データ逆多重化装置は、センサ位置情報を抽出してアプリケーションで用いてもよい。
【0664】
例えば、三次元データ逆多重化装置は、アプリケーションにおいて、ビームLiDAR情報を使用するか、FLASH LiDARを使用するかを選択し、選択結果に応じて処理を切り替えてもよい。
【0665】
このように、アプリケーションの処理に応じて適応的にデータの取得及び符号処理を変えることができるので、処理量及び消費電力を削減できる。
【0666】
以下、自動運転におけるユースケースについて説明する。
図117は、自動運転システムの構成例を示す図である。この自動運転システムは、クラウドサーバ7350と、車載装置又はモバイル装置等のエッジ7360とを含む。クラウドサーバ7350は、逆多重化部7351と、復号部7352A、7352B及び7355と、点群データ合成部7353と、大規模データ蓄積部7354と、比較部7356と、符号化部7357とを備える。エッジ7360は、センサ7361A及び7361Bと、点群データ生成部7362A及び7362Bと、同期部7363と、符号化部7364A及び7364Bと、多重化部7365と、更新データ蓄積部7366と、逆多重化部7367と、復号部7368と、フィルタ7369と、自己位置推定部7370と、運転制御部7371とを備える。
【0667】
このシステムでは、エッジ7360は、クラウドサーバ7350に蓄積されている大規模点群地図データである大規模データをダウンロードする。エッジ7360は、大規模データとエッジ7360で得られたセンサ情報とをマッチングすることで、エッジ7360(車両又は端末)の自己位置推定処理を行う。また、エッジ7360は、取得したセンサ情報をクラウドサーバ7350へアップロードし、大規模データを最新の地図データに更新する。
【0668】
また、システム内における点群データを扱う様々なアプリケーションにおいて、符号化方法の異なる点群データが扱われる。
【0669】
クラウドサーバ7350は、大規模データを符号化及び多重化する。具体的には、符号化部7357は、大規模点群を符号化するために適した第3の符号化方法を用いて符号化を行う。また、符号化部7357は、符号化データを多重化する。大規模データ蓄積部7354は、符号化部7357で符号化及び多重化されたデータを蓄積する。
【0670】
エッジ7360は、センシングを行う。具体的には、点群データ生成部7362Aは、センサ7361Aで取得されるセンシング情報を用いて、第1の点群データ(位置情報(ジオメトリ)及び属性情報)を生成する。点群データ生成部7362Bは、センサ7361Bで取得されるセンシング情報を用いて、第2の点群データ(位置情報及び属性情報)を生成する。生成された第1の点群データ及び第2の点群データは、自動運転の自己位置推定或いは車両制御、又は地図更新に用いられる。それぞれの処理において、第1の点群データ及び第2の点群データのうちの一部の情報が用いられてもよい。
【0671】
エッジ7360は、自己位置推定を行う。具体的には、エッジ7360は、大規模データをクラウドサーバ7350からダウンロードする。逆多重化部7367は、ファイルフォーマットの大規模データを逆多重化することで符号化データを取得する。復号部7368は、取得された符号化データを復号することで大規模点群地図データである大規模データを取得する。
【0672】
自己位置推定部7370は、取得された大規模データと、点群データ生成部7362A及び7362Bで生成された第1の点群データ及び第2の点群データとをマッチングすることで、車両の地図における自己位置を推定する。また、運転制御部7371は、当該マッチング結果又は自己位置推定結果を運転制御に用いる。
【0673】
なお、自己位置推定部7370及び運転制御部7371は、大規模データのうち、位置情報などの特定の情報を抽出し、抽出した情報を用いて処理を行ってもよい。また、フィルタ7369は、第1の点群データ及び第2の点群データに補正又は間引き等の処理を行う。自己位置推定部7370及び運転制御部7371は、当該処理が行われた後の第1の点群データ及び第2の点群データを用いてもよい。また、自己位置推定部7370及び運転制御部7371は、センサ7361A及び7361Bで得られたセンサ信号を用いてもよい。
【0674】
同期部7363は、複数のセンサ信号又は複数の点群データのデータ間の時間同期及び位置補正を行う。また、同期部7363は、自己位置推定処理によって生成された、大規模データとセンサデータとの位置補正情報に基づき、センサ信号又は点群データの位置情報を大規模データに合わせるように補正してもよい。
【0675】
なお、同期及び位置補正はエッジ7360でなく、クラウドサーバ7350で行われてもよい。この場合、エッジ7360は、同期情報及び位置情報を多重化してクラウドサーバ7350へ送信してもよい。
【0676】
エッジ7360は.センサ信号又は点群データを符号化及び多重化する。具体的には、センサ信号又は点群データは、それぞれの信号を符号化するために適した第1の符号化方法又は第2の符号化方法を用いて符号化される。例えば、符号化部7364Aは、第1の符号化方法を用いて第1の点群データを符号化することで第1の符号化データを生成する。符号化部7364Bは、第2の符号化方法を用いて第2の点群データを符号化することで第2の符号化データを生成する。
【0677】
多重化部7365は、第1の符号化データ、第2の符号化データ、及び同期情報などを多重化することで多重化信号を生成する。更新データ蓄積部7366は、生成された多重化信号を蓄積する。また、更新データ蓄積部7366は、多重化信号をクラウドサーバ7350へアップロードする。
【0678】
クラウドサーバ7350は、点群データを合成する。具体的には、逆多重化部7351は、クラウドサーバ7350にアップロードされた多重化信号を逆多重化することで第1の符号化データ及び第2の符号化データを取得する。復号部7352Aは、第1の符号化データを復号することで第1の点群データ(又はセンサ信号)を取得する。復号部7352Bは、第2の符号化データを復号することで第2の点群データ(又はセンサ信号)を取得する。
【0679】
点群データ合成部7353は、第1の点群データと第2の点群データとを所定の方法で合成する。多重化信号に同期情報及び位置補正情報が多重化されている場合には、点群データ合成部7353は、それらの情報を用いて合成を行ってもよい。
【0680】
復号部7355は、大規模データ蓄積部7354に蓄積されている大規模データを逆多重化及び復号する。比較部7356は、エッジ7360で得られたセンサ信号に基づき生成された点群データとクラウドサーバ7350が有する大規模データとを比較し、更新が必要な点群データを判断する。比較部7356は、大規模データのうち、更新が必要と判断された点群データを、エッジ7360から得られた点群データに更新する。
【0681】
符号化部7357は、更新された大規模データを符号化及び多重化し、得られたデータを大規模データ蓄積部7354に蓄積する。
【0682】
以上のように、使用する用途又はアプリケーションに応じて、取り扱う信号が異なり、多重化する信号又は符号化方法が異なる場合がある。このような場合であっても、本実施の形態を用いて様々な符号化方式のデータを多重化することで、柔軟な復号及びアプリケーション処理が可能となる。また、信号の符号化方式が異なる場合であっても、逆多重化、復号、データ変換、符号化、多重の処理により適した符号化方式を変換することで、様々なアプリケーションやシステムを構築し、柔軟なサービスの提供が可能となる。
【0683】
以下、分割データの復号及びアプリケーションの例を説明する。まず、分割データの情報について説明する。
図118は、ビットストリームの構成例を示す図である。分割データの全体情報は、分割データ毎に、当該分割データのセンサID(sensor_id)とデータID(data_id)とを示す。なお、データIDは各符号化データのヘッダにも示される。
【0684】
なお、
図118に示す分割データの全体情報は、
図41と同様に、センサIDに加え、センサ情報(Sensor)と、センサのバージョン(Version)と、センサのメーカー名(Maker)と、センサの設置情報(Mount Info.)と、センサの位置座標(World Coordinate)とのうち少なく一つを含んでもよい。これにより、三次元データ復号装置は、構成情報から各種センサの情報を取得できる。
【0685】
分割データの全体情報は、メタデータであるSPS、GPS又はAPSに格納されてもよいし、符号化に必須でないメタデータであるSEIに格納されてもよい。また、三次元データ符号化装置は、多重化の際に、当該SEIをISOBMFFのファイルに格納する。三次元データ復号装置は、当該メタデータに基づき、所望の分割データを取得できる。
【0686】
図118において、SPSは符号化データ全体のメタデータであり、GPSは位置情報のメタデータであり、APSは属性情報毎のメタデータであり、Gは分割データ毎の位置情報の符号化データであり、A1等は分割データ毎の属性情報の符号化データである。
【0687】
次に、分割データのアプリケーション例を説明する。点群データから、任意の点群を選択し、選択した点群を提示するアプリケーションの例を説明する。
図119は、このアプリケーションにより実行される点群選択処理のフローチャートである。
図120~
図122は、点群選択処理の画面例を示す図である。
【0688】
図120に示すように、アプリケーションを実行する三次元データ復号装置は、例えば、任意の点群を選択するための入力UI(ユーザインタフェース)8661を表示するUI部を有する。入力UI8661は、選択された点群を提示する提示部8662と、ユーザの操作を受け付ける操作部(ボタン8663及び8664)を有する。三次元データ復号装置は、UI8661で点群が選択された後、蓄積部8665から所望のデータを取得する。
【0689】
まず、ユーザの入力UI8661に対する操作に基づき、ユーザが表示したい点群情報が選択される(S8631)。具体的には、ボタン8663が選択されることで、センサ1に基づく点群が選択される。ボタン8664が選択されることで、センサ2に基づく点群が選択される。または、ボタン8663及びボタン8664の両方が選択されることで、センサ1に基づく点群とセンサ2に基づく点群の両方が選択される。なお、点群の選択方法は一例であり、これに限らない。
【0690】
次に、三次元データ復号装置は、多重化信号(ビットストリーム)又は符号化データに含まれる分割データの全体情報を解析し、選択されたセンサのセンサID(sensor_id)から、選択された点群を構成する分割データのデータID(data_id)を特定する(S8632)。次に、三次元データ復号装置は、多重化信号から、特定された所望のデータIDを含む符号化データを抽出し、抽出した符号化データを復号することで、選択されたセンサに基づく点群を復号する(S8633)。なお、三次元データ復号装置は、その他の符号化データは復号しない。
【0691】
最後に、三次元データ復号装置は、復号された点群を提示(例えば表示)する(S8634)。
図121は、センサ1のボタン8663が押下された場合の例を示し、センサ1の点群が提示される。
図122は、センサ1のボタン8663とセンサ2のボタン8664の両方が押下された場合の例を示し、センサ1及びセンサ2の点群が提示される。
【0692】
以上、本開示の実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
【0693】
また、上記実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【0694】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0695】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0696】
また、本開示は、三次元データ符号化装置及び三次元データ復号装置等により実行される三次元データ符号化方法又は三次元データ復号方法等として実現されてもよい。
【0697】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0698】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【0699】
以上、一つまたは複数の態様に係る三次元データ符号化装置及び三次元データ復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【0700】
本開示は、三次元データ符号化装置及び三次元データ復号装置に適用できる。
【符号の説明】
【0701】
810 三次元データ作成装置
811 データ受信部
812、819 通信部
813 受信制御部
814、821 フォーマット変換部
815 センサ
816 三次元データ作成部
817 三次元データ合成部
818 三次元データ蓄積部
820 送信制御部
822 データ送信部
831、832、834、835、836、837 三次元データ
833 センサ情報
901 サーバ
902、902A、902B、902C クライアント装置
1011、1111 データ受信部
1012、1020、1112、1120 通信部
1013、1113 受信制御部
1014、1019、1114、1119 フォーマット変換部
1015 センサ
1016、1116 三次元データ作成部
1017 三次元画像処理部
1018、1118 三次元データ蓄積部
1021、1121 送信制御部
1022、1122 データ送信部
1031、1032、1135 三次元マップ
1033、1037、1132 センサ情報
1034、1035、1134 三次元データ
1117 三次元データ合成部
1201 三次元マップ圧縮/復号処理部
1202 センサ情報圧縮/復号処理部
1211 三次元マップ復号処理部
1212 センサ情報圧縮処理部
2001 サーバ
2002、2002A、2002B クライアント装置
2011 センサ情報取得部
2012 記憶部
2013 データ送信可否判定部
2021、2021A、2021B 端末
2022、2022A、2022B 通信装置
2023 ネットワーク
2024 データ収集サーバ
2025 地図サーバ
2026 クライアント装置
2700 位置情報符号化部
2701、2711 8分木生成部
2702、2712 幾何情報算出部
2703、2713 符号化テーブル選択部
2704 エントロピー符号化部
2710 位置情報復号部
2714 エントロピー復号部
3140 属性情報符号化部
3141、3151 LoD生成部
3142、3152 周囲探索部
3143、3153 予測部
3144 予測残差算出部
3145 量子化部
3146 算術符号化部
3147、3155 逆量子化部
3148、3156 復号値生成部
3149、3157 メモリ
3150 属性情報復号部
3154 算術復号部
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 属性情報生成部
4801 符号化部
4802 多重化部
4910 第1の符号化部
4911 分割部
4912 位置情報符号化部
4913 属性情報符号化部
4914 付加情報符号化部
4915 多重化部
4920 第1の復号部
4921 逆多重化部
4922 位置情報復号部
4923 属性情報復号部
4924 付加情報復号部
4925 結合部
4931 スライス分割部
4932 位置情報タイル分割部
4933 属性情報タイル分割部
4941 位置情報タイル結合部
4942 属性情報タイル結合部
4943 スライス結合部
5051 タイル分割部
5052 符号化部
5053 復号部
5054 タイル結合部
6600 属性情報符号化部
6601 ソート部
6602 Haar変換部
6603 量子化部
6604、6612 逆量子化部
6605、6613 逆Haar変換部
6606、6614 メモリ
6607 算術符号化部
6610 属性情報復号部
6611 算術復号部
7350 クラウドサーバ
7351 逆多重化部
7352A、7352B 復号部
7353 点群データ合成部
7354 大規模データ蓄積部
7355 復号部
7356 比較部
7357 符号化部
7360 エッジ
7361A、7361B センサ
7362A、7362B 点群データ生成部
7363 同期部
7364A、7364B 符号化部
7365 多重化部
7366 更新データ蓄積部
7367 逆多重化部
7368 復号部
7369 フィルタ
7370 自己位置推定部
7371 運転制御部
8661 入力UI
8662 提示部
8663、8664 ボタン
8665 蓄積部
8801 符号化部
8802 ファイル変換部
8811 ファイル逆変換部
8812 復号部
8821 送出部
8822 抽出部
8823 受信部
A100 属性情報符号化部
A101 LoD属性情報符号化部
A102 変換属性情報符号化部
A110 属性情報復号部
A111 LoD属性情報復号部
A112 変換属性情報復号部