(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127989
(43)【公開日】2024-09-20
(54)【発明の名称】三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
(51)【国際特許分類】
G06T 9/40 20060101AFI20240912BHJP
【FI】
G06T9/40
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2024108038
(22)【出願日】2024-07-04
(62)【分割の表示】P 2020551255の分割
【原出願日】2019-10-11
(31)【優先権主張番号】62/744,973
(32)【優先日】2018-10-12
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】杉尾 敏康
(72)【発明者】
【氏名】井口 賀敬
(72)【発明者】
【氏名】ワン チー
(72)【発明者】
【氏名】ラサン ポンサク
(72)【発明者】
【氏名】ハン チャン ディーン
(57)【要約】
【課題】符号化効率を向上できる三次元データ符号化方法などを提供する。
【解決手段】三次元データ符号化方法は、パラメータを符号化し、複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを符号化し(S5903、S5904)、対象ノードの符号化では、パラメータが第1情報を示す場合、対象ノードに対応する8ビットから無効ビットを設定する。
【選択図】
図126
【特許請求の範囲】
【請求項1】
パラメータを符号化し、
複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを符号化し、
前記対象ノードの符号化では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する
三次元データ符号化方法。
【請求項2】
設定された前記無効ビットの数は8よりも少ない
請求項1に記載の三次元データ符号化方法。
【請求項3】
設定された前記無効ビットの数は(8-N)である
請求項1に記載の三次元データ符号化方法。
【請求項4】
前記パラメータが第1情報を示す場合、Nは2又は4である
請求項1に記載の三次元データ符号化方法。
【請求項5】
前記8ビットの各々は、前記対象ノードの8つの子ノードの各々に対応する
請求項1に記載の三次元データ符号化方法。
【請求項6】
前記対象ノードの符号化では、前記パラメータが第2情報を示す場合、前記対象ノードに対応する前記8ビットから無効ビットを設定しない
請求項1に記載の三次元データ符号化方法。
【請求項7】
前記パラメータが第2情報を示す場合、Nは8である
請求項6に記載の三次元データ符号化方法。
【請求項8】
パラメータを取得し、
複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを復号し、
前記対象ノードの復号では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する
三次元データ復号方法。
【請求項9】
設定された前記無効ビットの数は8よりも少ない
請求項8に記載の三次元データ復号方法。
【請求項10】
設定された前記無効ビットの数は(8-N)である
請求項8に記載の三次元データ復号方法。
【請求項11】
前記パラメータが第1情報を示す場合、Nは2又は4である
請求項8に記載の三次元データ復号方法。
【請求項12】
前記8ビットの各々は、前記対象ノードの8つの子ノードの各々に対応する
請求項8に記載の三次元データ復号方法。
【請求項13】
前記対象ノードの符号化では、前記パラメータが第2情報を示す場合、前記対象ノードに対応する前記8ビットから無効ビットを設定しない
請求項8に記載の三次元データ復号方法。
【請求項14】
前記パラメータが第2情報を示す場合、Nは8である
請求項13に記載の三次元データ復号方法。
【請求項15】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
パラメータを符号化し、
複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを符号化し、
前記対象ノードの符号化では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する
三次元データ符号化装置。
【請求項16】
プロセッサと、
メモリとを備え、
前記プロセッサは、前記メモリを用いて、
パラメータを取得し、
複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを復号し、
前記対象ノードの復号では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する
三次元データ復号装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置に関する。
【背景技術】
【0002】
自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
【0003】
三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
【0004】
また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
【0005】
また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
三次元データの符号化処理では、符号化効率を向上できることが望まれている。
【0008】
本開示は、符号化効率を向上できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、又は三次元データ復号装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様に係る三次元データ符号化方法は、パラメータを符号化し、複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを符号化し、前記対象ノードの符号化では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する。
【0010】
本開示の一態様に係る三次元データ復号方法は、パラメータを取得し、複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードを復号し、前記対象ノードの復号では、前記パラメータが第1情報を示す場合、前記対象ノードに対応する8ビットから無効ビットを設定する。
【0011】
本開示の一態様に係る三次元データ符号化方法は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を符号化し、前記符号化では、前記第1情報を、前記第2情報の符号化で用いる第2符号化パターンと共通の第1符号化パターンを用いて符号化する。
【0012】
本開示の一態様に係る三次元データ復号方法は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を復号し、前記復号では、前記第1情報を、前記第2情報の復号で用いる第2復号パターンと共通の第1復号パターンを用いて復号する。
【発明の効果】
【0013】
本開示は、符号化効率を向上できる三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、又は三次元データ復号装置を提供できる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、実施の形態1に係る符号化三次元データの構成を示す図である。
【
図2】
図2は、実施の形態1に係るGOSの最下層レイヤに属するSPC間の予測構造の一例を示す図である。
【
図3】
図3は、実施の形態1に係るレイヤ間の予測構造の一例を示す図である。
【
図4】
図4は、実施の形態1に係るGOSの符号化順の一例を示す図である。
【
図5】
図5は、実施の形態1に係るGOSの符号化順の一例を示す図である。
【
図6】
図6は、実施の形態1に係る三次元データ符号化装置のブロック図である。
【
図7】
図7は、実施の形態1に係る符号化処理のフローチャートである。
【
図8】
図8は、実施の形態1に係る三次元データ復号装置のブロック図である。
【
図9】
図9は、実施の形態1に係る復号処理のフローチャートである。
【
図10】
図10は、実施の形態1に係るメタ情報の一例を示す図である。
【
図11】
図11は、実施の形態2に係るSWLDの構成例を示す図である。
【
図12】
図12は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図13】
図13は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図14】
図14は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図15】
図15は、実施の形態2に係るサーバ及びクライアントの動作例を示す図である。
【
図16】
図16は、実施の形態2に係る三次元データ符号化装置のブロック図である。
【
図17】
図17は、実施の形態2に係る符号化処理のフローチャートである。
【
図18】
図18は、実施の形態2に係る三次元データ復号装置のブロック図である。
【
図19】
図19は、実施の形態2に係る復号処理のフローチャートである。
【
図20】
図20は、実施の形態2に係るWLDの構成例を示す図である。
【
図21】
図21は、実施の形態2に係るWLDの8分木構造の例を示す図である。
【
図22】
図22は、実施の形態2に係るSWLDの構成例を示す図である。
【
図23】
図23は、実施の形態2に係るSWLDの8分木構造の例を示す図である。
【
図24】
図24は、実施の形態3に係る車両間の三次元データの送受信の様子を示す模式図である。
【
図25】
図25は、実施の形態3に係る車両間で伝送される三次元データの一例を示す図である。
【
図26】
図26は、実施の形態3に係る三次元データ作成装置のブロック図である。
【
図27】
図27は、実施の形態3に係る三次元データ作成処理のフローチャートである。
【
図28】
図28は、実施の形態3に係る三次元データ送信装置のブロック図である。
【
図29】
図29は、実施の形態3に係る三次元データ送信処理のフローチャートである。
【
図30】
図30は、実施の形態3に係る三次元データ作成装置のブロック図である。
【
図31】
図31は、実施の形態3に係る三次元データ作成処理のフローチャートである。
【
図32】
図32は、実施の形態3に係る三次元データ送信装置のブロック図である。
【
図33】
図33は、実施の形態3に係る三次元データ送信処理のフローチャートである。
【
図34】
図34は、実施の形態4に係る三次元情報処理装置のブロック図である。
【
図35】
図35は、実施の形態4に係る三次元情報処理方法のフローチャートである。
【
図36】
図36は、実施の形態4に係る三次元情報処理方法のフローチャートである。
【
図37】
図37は、実施の形態5に係る三次元データの送信処理を説明するための図である。
【
図38】
図38は、実施の形態5に係る三次元データ作成装置のブロック図である。
【
図39】
図39は、実施の形態5に係る三次元データ作成方法のフローチャートである。
【
図40】
図40は、実施の形態5に係る三次元データ作成方法のフローチャートである。
【
図41】
図41は、実施の形態6に係る表示方法のフローチャートである。
【
図42】
図42は、実施の形態6に係るフロントガラス越しに見える周辺環境の例を示す図である。
【
図43】
図43は、実施の形態6に係るヘッドアップディスプレイの表示例を示す図である。
【
図44】
図44は、実施の形態6に係る調整後のヘッドアップディスプレイの表示例を示す図である。
【
図45】
図45は、実施の形態7に係るシステムの構成を示す図である。
【
図46】
図46は、実施の形態7に係るクライアント装置のブロック図である。
【
図47】
図47は、実施の形態7に係るサーバのブロック図である。
【
図48】
図48は、実施の形態7に係るクライアント装置による三次元データ作成処理のフローチャートである。
【
図49】
図49は、実施の形態7に係るクライアント装置によるセンサ情報送信処理のフローチャートである。
【
図50】
図50は、実施の形態7に係るサーバによる三次元データ作成処理のフローチャートである。
【
図51】
図51は、実施の形態7に係るサーバによる三次元マップ送信処理のフローチャートである。
【
図52】
図52は、実施の形態7に係るシステムの変形例の構成を示す図である。
【
図53】
図53は、実施の形態7に係るサーバ及びクライアント装置の構成を示す図である。
【
図54】
図54は、実施の形態8に係る三次元データ符号化装置のブロック図である。
【
図55】
図55は、実施の形態8に係る予測残差の例を示す図である。
【
図56】
図56は、実施の形態8に係るボリュームの例を示す図である。
【
図57】
図57は、実施の形態8に係るボリュームの8分木表現の例を示す図である。
【
図58】
図58は、実施の形態8に係るボリュームのビット列の例を示す図である。
【
図59】
図59は、実施の形態8に係るボリュームの8分木表現の例を示す図である。
【
図60】
図60は、実施の形態8に係るボリュームの例を示す図である。
【
図61】
図61は、実施の形態8に係るイントラ予測処理を説明するための図である。
【
図62】
図62は、実施の形態8に係る回転及び並進処理を説明するための図である。
【
図63】
図63は、実施の形態8に係るRT適用フラグ及びRT情報のシンタックス例を示す図である。
【
図64】
図64は、実施の形態8に係るインター予測処理を説明するための図である。
【
図65】
図65は、実施の形態8に係る三次元データ復号装置のブロック図である。
【
図66】
図66は、実施の形態8に係る三次元データ符号化装置による三次元データ符号化処理のフローチャートである。
【
図67】
図67は、実施の形態8に係る三次元データ復号装置による三次元データ復号処理のフローチャートである。
【
図68】
図68は、実施の形態9に係る木構造の一例を示す図である。
【
図69】
図69は、実施の形態9に係るオキュパンシー符号の一例を示す図である。
【
図70】
図70は、実施の形態9に係る三次元データ符号化装置の動作を模式的に示す図である。
【
図71】
図71は、実施の形態9に係る幾何情報の一例を示す図である。
【
図72】
図72は、実施の形態9に係る幾何情報を用いた符号化テーブルの選択例を示す図である。
【
図73】
図73は、実施の形態9に係る構造情報を用いた符号化テーブルの選択例を示す図である。
【
図74】
図74は、実施の形態9に係る属性情報を用いた符号化テーブルの選択例を示す図である。
【
図75】
図75は、実施の形態9に係る属性情報を用いた符号化テーブルの選択例を示す図である。
【
図76】
図76は、実施の形態9に係るビットストリームの構成例を示す図である。
【
図77】
図77は、実施の形態9に係る符号化テーブルの一例を示す図である。
【
図78】
図78は、実施の形態9に係る符号化テーブルの一例を示す図である。
【
図79】
図79は、実施の形態9に係るビットストリームの構成例を示す図である。
【
図80】
図80は、実施の形態9に係る符号化テーブルの一例を示す図である。
【
図81】
図81は、実施の形態9に係る符号化テーブルの一例を示す図である。
【
図82】
図82は、実施の形態9に係るオキュパンシー符号のビット番号の一例を示す図である。
【
図83】
図83は、実施の形態9に係る幾何情報を用いた符号化処理のフローチャートである。
【
図84】
図84は、実施の形態9に係る幾何情報を用いた復号処理のフローチャートである。
【
図85】
図85は、実施の形態9に係る構造情報を用いた符号化処理のフローチャートである。
【
図86】
図86は、実施の形態9に係る構造情報を用いた復号処理のフローチャートである。
【
図87】
図87は、実施の形態9に係る属性情報を用いた符号化処理のフローチャートである。
【
図88】
図88は、実施の形態9に係る属性情報を用いた復号処理のフローチャートである。
【
図89】
図89は、実施の形態9に係る幾何情報を用いた符号化テーブル選択処理のフローチャートである。
【
図90】
図90は、実施の形態9に係る構造情報を用いた符号化テーブル選択処理のフローチャートである。
【
図91】
図91は、実施の形態9に係る属性情報を用いた符号化テーブル選択処理のフローチャートである。
【
図92】
図92は、実施の形態9に係る三次元データ符号化装置のブロック図である。
【
図93】
図93は、実施の形態9に係る三次元データ復号装置のブロック図である。
【
図94】
図94は、実施の形態10に係る8分木構造における参照関係を示す図である。
【
図95】
図95は、実施の形態10に係る空間領域における参照関係を示す図である。
【
図96】
図96は、実施の形態10に係る隣接参照ノードの例を示す図である。
【
図97】
図97は、実施の形態10に係る親ノードとノードとの関係を示す図である。
【
図98】
図98は、実施の形態10に係る親ノードのオキュパンシー符号の例を示す図である。
【
図99】
図99は、実施の形態10に係る三次元データ符号化装置のブロック図である。
【
図100】
図100は、実施の形態10に係る三次元データ復号装置のブロック図である。
【
図101】
図101は、実施の形態10に係る三次元データ符号化処理のフローチャートである。
【
図102】
図102は、実施の形態10に係る三次元データ復号処理のフローチャートである。
【
図103】
図103は、実施の形態10に係る符号化テーブルの切替え例を示す図である。
【
図104】
図104は、実施の形態10の変形例1に係る空間領域における参照関係を示す図である。
【
図105】
図105は、実施の形態10の変形例1に係るヘッダ情報のシンタックス例を示す図である。
【
図106】
図106は、実施の形態10の変形例1に係るヘッダ情報のシンタックス例を示す図である。
【
図107】
図107は、実施の形態10の変形例2に係る隣接参照ノードの例を示す図である。
【
図108】
図108は、実施の形態10の変形例2に係る対象ノード及び隣接ノードの例を示す図である。
【
図109】
図109は、実施の形態10の変形例3に係る8分木構造における参照関係を示す図である。
【
図110】
図110は、実施の形態10の変形例3に係る空間領域における参照関係を示す図である。
【
図111】
図111は、実施の形態11に係る三次元データ符号化方法の概略を説明するための図である。
【
図112】
図112は、実施の形態11に係る、傾いて検出された平面をX-Y平面に変換する変換方法について説明するための図である。
【
図113】
図113は、実施の形態11に係る、平面と各方法において選択される点群との関係を示す図である。
【
図114】
図114は、実施の形態11に係る、第1の方法における、三次元点群から検出された平面と平面の周囲の点群(平面点群の候補)との間の量子化された距離の度数分布を示す図である。
【
図115】
図115は、実施の形態11に係る、第2の方法における、三次元点群から検出された平面と平面の周囲の点群との間の量子化された距離の度数分布を示す図である。
【
図116】
図116は、実施の形態11に係る、二次元空間を4つのサブ空間に分割する例を示す図である。
【
図117】
図117は、実施の形態11に係る、二次元空間での4つのサブ空間を、三次元空間での8つのサブ空間に適用する例を示す図である。
【
図118】
図118は、実施の形態11に係る、平面上に配置された第1三次元点群の三次元点の隣接関係を示す図である。
【
図119】
図119は、実施の形態11に係る、三次元空間上に配置された三次元点群の三次元点の隣接関係を示す図である。
【
図120】
図120は、実施の形態11に係る三次元データ符号化装置の構成を示すブロック図である。
【
図121】
図121は、実施の形態11に係る、第1の方法を用いる4分木符号化部の詳細な構成を示すブロック図である。
【
図122】
図122は、実施の形態11に係る、第2の方法を用いる4分木符号化部の詳細な構成を示すブロック図である。
【
図123】
図123は、実施の形態11に係る三次元データ復号装置の構成を示すブロック図である。
【
図124】
図124は、実施の形態11に係る、第1の方法を用いる4分木復号部の詳細な構成を示すブロック図である。
【
図125】
図125は、実施の形態11に係る、第2の方法を用いる4分木復号部の詳細な構成を示すブロック図である。
【
図126】
図126は、実施の形態11に係る三次元データ符号化方法のフローチャートである。
【
図127】
図127は、実施の形態11に係る三次元データ復号方法のフローチャートである。
【
図128】
図128は、実施の形態11に係る4分木符号化処理のフローチャートである。
【
図129】
図129は、実施の形態11に係る8分木符号化処理のフローチャートである。
【
図130】
図130は、実施の形態11に係る4分木復号処理のフローチャートである。
【
図131】
図131は、実施の形態11に係る8分木復号処理のフローチャートである。
【発明を実施するための形態】
【0015】
本開示の一態様に係る三次元データ符号化方法は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を符号化し、前記符号化では、前記第1情報を、前記第2情報の符号化で用いる第2符号化パターンと共通の第1符号化パターンを用いて符号化する。
【0016】
これによれば、当該三次元データ符号化方法は、8分木構造の情報の符号化と共通する符号化パターンを用いてN分木構造の情報を符号化することにより、処理負荷を低減することができる。
【0017】
例えば、前記第1符号化パターンは、前記第1情報の符号化に用いる符号化テーブルを選択するための符号化パターンであり、前記第2符号化パターンは、前記第2情報の符号化に用いる符号化テーブルを選択するための符号化パターンであり、前記符号化では、複数の方向において前記第1対象ノードに空間的に隣接する複数の第1隣接ノードの第1隣接情報から前記第1符号化パターンを生成し、前記複数の方向において前記第2対象ノードに空間的に隣接する複数の第2隣接ノードの第2隣接情報から前記第2符号化パターンを生成してもよい。
【0018】
例えば、前記第1符号化パターンの生成では、複数の方向のうちの所定の方向において前記第1対象ノードに空間的に隣接する1以上の第1隣接ノードを示す1以上のビットであって、それぞれが点群により占有されていないことを示す1以上のビットからなる第1ビットパターンと、前記複数の方向のうちの前記所定の方向以外の方向において前記第1対象ノードに空間的に隣接する複数の第2隣接ノードを示す複数のビットからなる第2ビットパターンとにより構成される6ビットの第3ビットパターンを含む前記第1符号化パターンを生成し、前記第2符号化パターンの生成では、前記複数の方向において前記第2対象ノードに空間的に隣接する複数の第3隣接ノードを示す複数のビットからなる6ビットの第4ビットパターンを含む前記第2符号化パターンを生成してもよい。
【0019】
例えば、前記符号化では、前記第1符号化パターンに基づいて第1符号化テーブルを選択し、選択された第1符号化テーブルを用いて、前記第1情報をエントロピー符号化し、前記第2符号化パターンに基づいて第2符号化テーブルを選択し、選択された第2符号化テーブルを用いて、前記第2情報をエントロピー符号化してもよい。
【0020】
例えば、前記符号化では、前記第1対象ノードをN分割して得られたN個の第1サブ空間のそれぞれに前記第1三次元点が含まれるか否かを示す前記第1情報を符号化することで、前記第1情報に対応するNビットからなる第1ビット列と、(8-N)ビットからなる無効な第2ビット列とにより構成される8ビットからなる第3ビット列を含むビットストリームを生成してもよい。
【0021】
例えば、さらに、前記符号化の対象が前記第1情報であるか、前記第2情報であるかを示す識別情報を含むビットストリームを生成してもよい。
【0022】
例えば、前記第1三次元点群は、平面上に配置されている点群であり、前記第2三次元点群は、前記平面の周囲に配置されている点群であってもよい。
【0023】
本開示の一態様に係る三次元データ復号方法は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を復号し、前記復号では、前記第1情報を、前記第2情報の復号で用いる第2復号パターンと共通の第1復号パターンを用いて復号する。
【0024】
これによれば、当該三次元データ復号方法は、8分木構造の情報の復号と共通する復号パターンを用いてN分木構造の情報を復号することにより、処理負荷を低減することができる。
【0025】
例えば、前記第1復号パターンは、前記第1情報の復号に用いる復号テーブルを選択するための復号パターンであり、前記第2復号パターンは、前記第2情報の復号に用いる復号テーブルを選択するための復号パターンであり、前記復号では、複数の方向において前記第1対象ノードに空間的に隣接する複数の第1隣接ノードの第1隣接情報から前記第1復号パターンを生成し、前記複数の方向において前記第2対象ノードに空間的に隣接する複数の第2隣接ノードの第2隣接情報から前記第2復号パターンを生成してもよい。
【0026】
例えば、前記第1復号パターンの生成では、複数の方向のうちの所定の方向において前記第1対象ノードに空間的に隣接する1以上の第1隣接ノードを示す1以上のビットであって、それぞれが点群により占有されていないことを示す1以上のビットからなる第1ビットパターンと、前記複数の方向のうちの前記所定の方向以外の方向において前記第1対象ノードに空間的に隣接する複数の第2隣接ノードを示す複数のビットからなる第2ビットパターンとにより構成される6ビットの第3ビットパターンを含む前記第1復号パターンを生成し、前記第2復号パターンの生成では、前記複数の方向において前記第2対象ノードに空間的に隣接する複数の第3隣接ノードを示す複数のビットからなる6ビットの第4ビットパターンを含む前記第2復号パターンを生成してもよい。
【0027】
例えば、前記復号では、前記第1復号パターンに基づいて第1復号テーブルを選択し、選択された第1復号テーブルを用いて、前記第1情報をエントロピー復号し、前記第2復号パターンに基づいて第2復号テーブルを選択し、選択された第2復号テーブルを用いて、前記第2情報をエントロピー復号してもよい。
【0028】
例えば、前記復号では、Nビットからなる第1ビット列と、(8-N)ビットからなる無効な第2ビット列とにより構成される8ビットからなる第3ビット列を含むビットストリームを取得し、前記ビットストリームの前記第1ビット列から、前記第1対象ノードをN分割して得られたN個の第1サブ空間のそれぞれに前記第1三次元点が含まれるか否かを示す前記第1情報を復号してもよい。
【0029】
例えば、前記ビットストリームは、符号化の対象が前記第1情報であるか、前記第2情報であるかを示す識別情報を含み、前記復号では、前記識別情報が前記第1情報であることを示す場合、前記ビットストリームのうちの前記第1ビット列を復号してもよい。
【0030】
例えば、前記第1三次元点群は、平面上に配置されている点群であり、前記第2三次元点群は、前記平面の周囲に配置されている点群であってもよい。
【0031】
また、本開示の一態様に係る三次元データ符号化装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を符号化し、前記符号化では、前記第1情報を、前記第2情報の符号化で用いる第2符号化パターンと共通の第1符号化パターンを用いて符号化する。
【0032】
これによれば、当該三次元データ符号化方法は、8分木構造の情報の符号化と共通する符号化パターンを用いてN分木構造の情報を符号化することにより、処理負荷を低減することができる。
【0033】
本開示の一態様に係る三次元データ復号装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を復号し、前記復号では、前記第1情報を、前記第2情報の復号で用いる第2復号パターンと共通の第1復号パターンを用いて復号する。
【0034】
これによれば、当該三次元データ復号方法は、8分木構造の情報の復号と共通する復号パターンを用いてN分木構造の情報を復号することにより、処理負荷を低減することができる。
【0035】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【0036】
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0037】
(実施の形態1)
まず、本実施の形態に係る符号化三次元データ(以下、符号化データとも記す)のデータ構造について説明する。
図1は、本実施の形態に係る符号化三次元データの構成を示す図である。
【0038】
本実施の形態では、三次元空間は、動画像の符号化におけるピクチャに相当するスペース(SPC)に分割され、スペースを単位として三次元データが符号化される。スペースは、さらに、動画像符号化におけるマクロブロックなどに相当するボリューム(VLM)に分割され、VLMを単位として予測及び変換が行われる。ボリュームは、位置座標が対応付けられる最小単位である複数のボクセル(VXL)を含む。なお、予測とは、二次元画像で行われる予測と同様に、他の処理単位を参照し、処理対象の処理単位と類似する予測三次元データを生成し、当該予測三次元データと処理対象の処理単位との差分を符号化することである。また、この予測は、同一時刻の他の予測単位を参照する空間予測のみならず、異なる時刻の予測単位を参照する時間予測を含む。
【0039】
例えば、三次元データ符号化装置(以下、符号化装置とも記す)は、ポイントクラウドなどの点群データにより表現される三次元空間を符号化する際には、ボクセルのサイズに応じて、点群の各点、又は、ボクセル内に含まれる複数点をまとめて符号化する。ボクセルを細分化すれば点群の三次元形状を高精度に表現でき、ボクセルのサイズを大きくすれば点群の三次元形状をおおまかに表現できる。
【0040】
なお、以下では、三次元データがポイントクラウドである場合を例に説明を行うが、三次元データはポイントクラウドに限定されず、任意の形式の三次元データでよい。
【0041】
また、階層構造のボクセルを用いてもよい。この場合、n次の階層では、n-1次以下の階層(n次の階層の下層)にサンプル点が存在するかどうかを順に示してもよい。例えば、n次の階層のみを復号する際において、n-1次以下の階層にサンプル点が存在する場合は、n次階層のボクセルの中心にサンプル点が存在するとみなして復号できる。
【0042】
また、符号化装置は、点群データを、距離センサ、ステレオカメラ、単眼カメラ、ジャイロ、又は慣性センサなどを用いて取得する。
【0043】
スペースは、動画像の符号化と同様に、単独で復号可能なイントラ・スペース(I-SPC)、単方向の参照のみ可能なプレディクティブ・スペース(P-SPC)、及び、双方向の参照が可能なバイディレクショナル・スペース(B-SPC)を含む少なくとも3つの予測構造のいずれかに分類される。また、スペースは復号時刻と表示時刻との2種類の時刻情報を有する。
【0044】
また、
図1に示すように、複数のスペースを含む処理単位として、ランダムアクセス単位であるGOS(Group Of Space)が存在する。さらに、複数のGOSを含む処理単位としてワールド(WLD)が存在する。
【0045】
ワールドが占める空間領域は、GPS又は緯度及び経度情報などにより、地球上の絶対位置と対応付けられる。この位置情報はメタ情報として格納される。なお、メタ情報は、符号化データに含まれてもよいし、符号化データとは別に伝送されてもよい。
【0046】
また、GOS内では、全てのSPCが三次元的に隣接してもよいし、他のSPCと三次元的に隣接しないSPCが存在してもよい。
【0047】
なお、以下では、GOS、SPC又はVLM等の処理単位に含まれる三次元データに対する、符号化、復号又は参照等の処理を、単に、処理単位を符号化、復号又は参照する等とも記す。また、処理単位に含まれる三次元データは、例えば、三次元座標等の空間位置と、色情報等の特性値との少なくとも一つの組を含む。
【0048】
次に、GOSにおけるSPCの予測構造について説明する。同一GOS内の複数のSPC、又は、同一SPC内の複数のVLMは、互いに異なる空間を占めるが、同じ時刻情報(復号時刻及び表示時刻)を持つ。
【0049】
また、GOS内で復号順で先頭となるSPCはI-SPCである。また、GOSにはクローズドGOSとオープンGOSとの2種類が存在する。クローズドGOSは、先頭I-SPCから復号開始する際に、GOS内の全てのSPCを復号できるGOSである。オープンGOSでは、GOS内で先頭I-SPCよりも表示時刻が前となる一部のSPCは異なるGOSを参照しており、当該GOSのみで復号を行うことができない。
【0050】
なお、地図情報などの符号化データでは、WLDを符号化順とは逆方向から復号することがあり、GOS間に依存性があると逆方向再生が困難である。よって、このような場合には、基本的にはクローズドGOSが用いられる。
【0051】
また、GOSは、高さ方向にレイヤ構造を有し、下のレイヤのSPCから順に符号化又は復号が行われる。
【0052】
図2はGOSの最下層レイヤに属するSPC間の予測構造の一例を示す図である。
図3はレイヤ間の予測構造の一例を示す図である。
【0053】
GOS内には1つ以上のI-SPCが存在する。三次元空間内には、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などのオブジェクトが存在するが、特にサイズが小さいオブジェクトはI-SPCとして符号化すると有効である。例えば、三次元データ復号装置(以下、復号装置とも記す)は、GOSを低処理量又は高速に復号する際には、GOS内のI-SPCのみを復号する。
【0054】
また、符号化装置は、WLD内のオブジェクトの粗密さに応じてI-SPCの符号化間隔又は出現頻度を切替えてもよい。
【0055】
また、
図3に示す構成において、符号化装置又は復号装置は、複数のレイヤを下層(レイヤ1)から順に符号化又は復号する。これにより、例えば自動走行車などにとってより情報量の多い地面付近のデータの優先度を上げることができる。
【0056】
なお、ドローンなどで用いられる符号化データでは、GOS内において高さ方向で上のレイヤのSPCから順に符号化又は復号してもよい。
【0057】
また、符号化装置又は復号装置は、復号装置が荒くGOSを把握でき、徐々に解像度を上げるようにできるように、複数のレイヤを符号化又は復号してもよい。例えば、符号化装置又は復号装置は、レイヤ3、8、1、9…の順に符号化又は復号してもよい。
【0058】
次に、静的オブジェクト及び動的オブジェクトの扱い方について説明する。
【0059】
三次元空間には、建物又は道路など静的なオブジェクト又はシーン(以降、まとめて静的オブジェクトと呼ぶ)と、車又はヒトなどの動的なオブジェクト(以降、動的オブジェクトと呼ぶ)とが存在する。オブジェクトの検出は、ポイントクラウドのデータ、又は、ステレオカメラなどのカメラ映像などから特徴点を抽出するなどして、別途行われる。ここでは、動的オブジェクトの符号化方法の例について説明する。
【0060】
第1方法は、静的オブジェクトと動的オブジェクトとを区別せずに符号化する方法である。第2方法は、静的オブジェクトと動的オブジェクトとを識別情報により区別する方法である。
【0061】
例えば、GOSが識別単位として用いられる。この場合、静的オブジェクトを構成するSPCを含むGOSと、動的オブジェクトを構成するSPCを含むGOSとが、符号化データ内、又は符号化データとは別途格納される識別情報により区別される。
【0062】
または、SPCが識別単位として用いられてもよい。この場合、静的オブジェクトを構成するVLMを含むSPCと、動的オブジェクトを構成するVLMを含むSPCとが、上記識別情報により区別される。
【0063】
または、VLM或いはVXLが識別単位として用いられてもよい。この場合、静的オブジェクトを含むVLM又はVXLと、動的オブジェクトを含むVLM又はVXLとが上記識別情報により区別される。
【0064】
また、符号化装置は、動的オブジェクトを1以上のVLM又はSPCとして符号化し、静的オブジェクトを含むVLM又はSPCと、動的オブジェクトを含むSPCとを、互いに異なるGOSとして符号化してもよい。また、符号化装置は、動的オブジェクトのサイズに応じてGOSのサイズが可変となる場合には、GOSのサイズをメタ情報として別途格納する。
【0065】
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに独立に符号化し、静的オブジェクトから構成されるワールドに対して、動的オブジェクトを重畳してもよい。このとき、動的オブジェクトは1以上のSPCから構成され、各SPCは、当該SPCが重畳される静的オブジェクトを構成する1以上のSPCに対応付けられる。なお、動的オブジェクトをSPCではなく、1以上のVLM又はVXLにより表現してもよい。
【0066】
また、符号化装置は、静的オブジェクトと動的オブジェクトとを互いに異なるストリームとして符号化してもよい。
【0067】
また、符号化装置は、動的オブジェクトを構成する1以上のSPCを含むGOSを生成してもよい。さらに、符号化装置は、動的オブジェクトを含むGOS(GOS_M)と、GOS_Mの空間領域に対応する静的オブジェクトのGOSとを同一サイズ(同一の空間領域を占める)に設定してもよい。これにより、GOS単位で重畳処理を行うことができる。
【0068】
動的オブジェクトを構成するP-SPC又はB-SPCは、符号化済みの異なるGOSに含まれるSPCを参照してもよい。動的オブジェクトの位置が時間的に変化し、同一の動的オブジェクトが異なる時刻のGOSとして符号化されるケースでは、GOSを跨いだ参照が圧縮率の観点から有効となる。
【0069】
また、符号化データの用途に応じて、上記の第1方法と第2方法とを切替えてもよい。例えば、符号化三次元データを地図として用いる場合は、動的オブジェクトを分離できることが望ましいため、符号化装置は、第2方法を用いる。一方、符号化装置は、コンサート又はスポーツなどのイベントの三次元データを符号化する場合に、動的オブジェクトを分離する必要がなければ、第1方法を用いる。
【0070】
また、GOS又はSPCの復号時刻と表示時刻とは符号化データ内、又はメタ情報として格納できる。また、静的オブジェクトの時刻情報は全て同一としてもよい。このとき、実際の復号時刻と表示時刻は、復号装置が決定するものとしてもよい。あるいは、復号時刻として、GOS、あるいは、SPC毎に異なる値が付与され、表示時刻として全て同一の値が付与されてもよい。さらに、HEVCのHRD(Hypothetical Reference Decoder)など動画像符号化におけるデコーダモデルのように、デコーダが所定のサイズのバッファを有し、復号時刻に従って所定のビットレートでビットストリームを読み込めば破綻なく復号できることを保証するモデルを導入してもよい。
【0071】
次に、ワールド内におけるGOSの配置について説明する。ワールドにおける三次元空間の座標は、互いに直交する3本の座標軸(x軸、y軸、z軸)により表現される。GOSの符号化順に所定のルールを設けることで、空間的に隣接するGOSが符号化データ内で連続するように符号化を行える。例えば、
図4に示す例では、xz平面内のGOSを連続的に符号化する。あるxz平面内の全てのGOSの符号化終了後にy軸の値を更新する。すなわち、符号化が進むにつれて、ワールドはy軸方向に伸びていく。また、GOSのインデックス番号は符号化順に設定される。
【0072】
ここで、ワールドの三次元空間は、GPS、或いは緯度及び経度などの地理的な絶対座標と1対1に対応付けておく。或いは、予め設定した基準位置からの相対位置により三次元空間が表現されてもよい。三次元空間のx軸、y軸、z軸の方向は、緯度及び経度などに基づいて決定される方向ベクトルとして表現され、当該方向ベクトルはメタ情報として符号化データと共に格納される。
【0073】
また、GOSのサイズは固定とし、符号化装置は、当該サイズをメタ情報として格納する。また、GOSのサイズは、例えば、都市部か否か、又は、室内か外かなどに応じて切替えられてもよい。つまり、GOSのサイズは、情報としての価値があるオブジェクトの量又は性質に応じて切替えられてもよい。あるいは、符号化装置は、同一ワールド内において、オブジェクトの密度などに応じて、GOSのサイズ、又は、GOS内のI-SPCの間隔を適応的に切替えてもよい。例えば、符号化装置は、オブジェクトの密度が高いほど、GOSのサイズを小さくし、GOS内のI-SPCの間隔を短くする。
【0074】
図5の例では、3番目から10番目のGOSの領域では、オブジェクトの密度が高いため、細かい粒度でのランダムアクセスを実現するために、GOSが細分化されている。なお、7番目から10番目のGOSは、それぞれ、3番目から6番目のGOSの裏側に存在する。
【0075】
次に、本実施の形態に係る三次元データ符号化装置の構成及び動作の流れを説明する。
図6は、本実施の形態に係る三次元データ符号化装置100のブロック図である。
図7は、三次元データ符号化装置100の動作例を示すフローチャートである。
【0076】
図6に示す三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。この三次元データ符号化装置100は、取得部101と、符号化領域決定部102と、分割部103と、符号化部104とを備える。
【0077】
図7に示すように、まず、取得部101は、点群データである三次元データ111を取得する(S101)。
【0078】
次に、符号化領域決定部102は、取得した点群データに対応する空間領域のうち、符号化対象の領域を決定する(S102)。例えば、符号化領域決定部102は、ユーザ又は車両の位置に応じて、当該位置の周辺の空間領域を符号化対象の領域に決定する。
【0079】
次に、分割部103は、符号化対象の領域に含まれる点群データを、各処理単位に分割する。ここで処理単位とは、上述したGOS及びSPC等である。また、この符号化対象の領域は、例えば、上述したワールドに対応する。具体的には、分割部103は、予め設定したGOSのサイズ、又は、動的オブジェクトの有無或いはサイズに基づいて、点群データを処理単位に分割する(S103)。また、分割部103は、各GOSにおいて符号化順で先頭となるSPCの開始位置を決定する。
【0080】
次に、符号化部104は、各GOS内の複数のSPCを順次符号化することで符号化三次元データ112を生成する(S104)。
【0081】
なお、ここでは、符号化対象の領域をGOS及びSPCに分割した後に、各GOSを符号化する例を示したが、処理の手順は上記に限らない。例えば、一つのGOSの構成を決定した後にそのGOSを符号化し、その後、次のGOSの構成を決定する等の手順を用いてもよい。
【0082】
このように、三次元データ符号化装置100は、三次元データ111を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、三次元データを、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)に分割し、第1処理単位(GOS)を複数の第2処理単位(SPC)に分割し、第2処理単位(SPC)を複数の第3処理単位(VLM)に分割する。また、第3処理単位(VLM)は、位置情報が対応付けられる最小単位である1以上のボクセル(VXL)を含む。
【0083】
次に、三次元データ符号化装置100は、複数の第1処理単位(GOS)の各々を符号化することで符号化三次元データ112を生成する。具体的には、三次元データ符号化装置100は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を符号化する。また、三次元データ符号化装置100は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を符号化する。
【0084】
例えば、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)がクローズドGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)を参照して符号化する。つまり、三次元データ符号化装置100は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照しない。
【0085】
一方、処理対象の第1処理単位(GOS)がオープンGOSである場合には、処理対象の第1処理単位(GOS)に含まれる処理対象の第2処理単位(SPC)を、処理対象の第1処理単位(GOS)に含まれる他の第2処理単位(SPC)、又は、処理対象の第1処理単位(GOS)とは異なる第1処理単位(GOS)に含まれる第2処理単位(SPC)を参照して符号化する。
【0086】
また、三次元データ符号化装置100は、処理対象の第2処理単位(SPC)のタイプとして、他の第2処理単位(SPC)を参照しない第1タイプ(I-SPC)、他の一つの第2処理単位(SPC)を参照する第2タイプ(P-SPC)、及び他の二つの第2処理単位(SPC)を参照する第3タイプのうちいずれかを選択し、選択したタイプに従い処理対象の第2処理単位(SPC)を符号化する。
【0087】
次に、本実施の形態に係る三次元データ復号装置の構成及び動作の流れを説明する。
図8は、本実施の形態に係る三次元データ復号装置200のブロックのブロック図である。
図9は、三次元データ復号装置200の動作例を示すフローチャートである。
【0088】
図8に示す三次元データ復号装置200は、符号化三次元データ211を復号することで復号三次元データ212を生成する。ここで、符号化三次元データ211は、例えば、三次元データ符号化装置100で生成された符号化三次元データ112である。この三次元データ復号装置200は、取得部201と、復号開始GOS決定部202と、復号SPC決定部203と、復号部204とを備える。
【0089】
まず、取得部201は、符号化三次元データ211を取得する(S201)。次に、復号開始GOS決定部202は、復号対象のGOSに決定する(S202)。具体的には、復号開始GOS決定部202は、符号化三次元データ211内、又は符号化三次元データとは別に格納されたメタ情報を参照して、復号を開始する空間位置、オブジェクト、又は、時刻に対応するSPCを含むGOSを復号対象のGOSに決定する。
【0090】
次に、復号SPC決定部203は、GOS内で復号するSPCのタイプ(I、P、B)を決定する(S203)。例えば、復号SPC決定部203は、(1)I-SPCのみを復号するか、(2)I-SPC及びP-SPCを復号するか、(3)全てのタイプを復号するかを決定する。なお、全てのSPCを復号するなど、予め復号するSPCのタイプが決定している場合は、本ステップは行われなくてもよい。
【0091】
次に、復号部204は、GOS内で復号順(符号化順と同一)で先頭となるSPCが符号化三次元データ211内で開始するアドレス位置を取得し、当該アドレス位置から先頭SPCの符号化データを取得し、当該先頭SPCから順に各SPCを順次復号する(S204)。なお、上記アドレス位置は、メタ情報等に格納されている。
【0092】
このように、三次元データ復号装置200は、復号三次元データ212を復号する。具体的には、三次元データ復号装置200は、ランダムアクセス単位であって、各々が三次元座標に対応付けられている第1処理単位(GOS)の符号化三次元データ211の各々を復号することで第1処理単位(GOS)の復号三次元データ212を生成する。より具体的には、三次元データ復号装置200は、各第1処理単位(GOS)において、複数の第2処理単位(SPC)の各々を復号する。また、三次元データ復号装置200は、各第2処理単位(SPC)において、複数の第3処理単位(VLM)の各々を復号する。
【0093】
以下、ランダムアクセス用のメタ情報について説明する。このメタ情報は、三次元データ符号化装置100で生成され、符号化三次元データ112(211)に含まれる。
【0094】
従来の二次元の動画像におけるランダムアクセスでは、指定した時刻の近傍となるランダムアクセス単位の先頭フレームから復号を開始していた。一方、ワールドにおいては、時刻に加えて、空間(座標又はオブジェクトなど)に対するランダムアクセスが想定される。
【0095】
そこで、少なくとも座標、オブジェクト、及び時刻の3つの要素へのランダムアクセスを実現するために、各要素とGOSのインデックス番号とを対応付けるテーブルを用意する。さらに、GOSのインデックス番号とGOSの先頭となるI-SPCのアドレスを対応付ける。
図10は、メタ情報に含まれるテーブルの一例を示す図である。なお、
図10に示す全てのテーブルが用いられる必要はなく、少なくとも一つのテーブルが用いられればよい。
【0096】
以下、一例として、座標を起点とするランダムアクセスについて説明する。座標(x2、y2、z2)にアクセスする際には、まず、座標-GOSテーブルを参照して、座標が(x2、y2、z2)である地点は2番目のGOSに含まれることが分かる。次に、GOSアドレステーブルを参照し、2番目のGOSにおける先頭のI-SPCのアドレスがaddr(2)であることが分かるため、復号部204は、このアドレスからデータを取得して復号を開始する。
【0097】
なお、アドレスは、論理フォーマットにおけるアドレスであっても、HDD又はメモリの物理アドレスであってもよい。また、アドレスの代わりにファイルセグメントを特定する情報が用いられてもよい。例えば、ファイルセグメントは、1つ以上のGOSなどをセグメント化した単位である。
【0098】
また、オブジェクトが複数のGOSに跨る場合には、オブジェクト-GOSテーブルにおいて、オブジェクトが属するGOSを複数示してもよい。当該複数のGOSがクローズドGOSであれば、符号化装置及び復号装置は、並列に符号化又は復号を行うことができる。一方、当該複数のGOSがオープンGOSであれば、複数のGOSが互いに参照しあうことでより圧縮効率を高めることができる。
【0099】
オブジェクトの例としては、ヒト、動物、車、自転車、信号、又はランドマークとなる建物などがある。例えば、三次元データ符号化装置100は、ワールドの符号化時に三次元のポイントクラウドなどからオブジェクトに特有の特徴点を抽出し、当該特徴点に基づきオブジェクトを検出し、検出したオブジェクトをランダムアクセスポイントとして設定できる。
【0100】
このように、三次元データ符号化装置100は、複数の第1処理単位(GOS)と、複数の第1処理単位(GOS)の各々に対応付けられている三次元座標とを示す第1情報を生成する。また、符号化三次元データ112(211)は、この第1情報を含む。また、第1情報は、さらに、複数の第1処理単位(GOS)の各々に対応付けられている、オブジェクト、時刻及びデータ格納先のうち少なくとも一つを示す。
【0101】
三次元データ復号装置200は、符号化三次元データ211から第1情報を取得し、第1情報を用いて、指定された三次元座標、オブジェクト又は時刻に対応する第1処理単位の符号化三次元データ211を特定し、当該符号化三次元データ211を復号する。
【0102】
以下、その他のメタ情報の例について説明する。ランダムアクセス用のメタ情報の他に、三次元データ符号化装置100は、以下のようなメタ情報を生成及び格納してもよい。また、三次元データ復号装置200は、このメタ情報を復号時に利用してもよい。
【0103】
三次元データを地図情報として用いる場合などには、用途に応じてプロファイルが規定され、当該プロファイルを示す情報がメタ情報に含まれてもよい。例えば、市街地或いは郊外向け、又は、飛行物体向けのプロファイルが規定され、それぞれにおいてワールド、SPC又はVLMの最大又は最小サイズなどが定義される。例えば、市街地向けでは、郊外向けよりも詳細な情報が必要なため、VLMの最小サイズが小さく設定される。
【0104】
メタ情報は、オブジェクトの種類を示すタグ値を含んでもよい。このタグ値はオブジェクトを構成するVLM、SPC、又はGOSと対応付けられる。例えば、タグ値「0」は「人」を示し、タグ値「1」は「車」を示し、タグ値「2」は「信号機」を示す、などオブジェクトの種類ごとにタグ値が設定されてもよい。または、オブジェクトの種類が判定しにくい又は判定する必要がない場合はサイズ、又は、動的オブジェクトか静的オブジェクトかなどの性質を示すタグ値が用いられてもよい。
【0105】
また、メタ情報は、ワールドが占める空間領域の範囲を示す情報を含んでもよい。
【0106】
また、メタ情報は、符号化データのストリーム全体、又は、GOS内のSPCなど、複数のSPCに共通のヘッダ情報として、SPC又はVXLのサイズを格納してもよい。
【0107】
また、メタ情報は、ポイントクラウドの生成に用いた距離センサ或いはカメラなどの識別情報、又は、ポイントクラウド内の点群の位置精度を示す情報を含んでもよい。
【0108】
また、メタ情報は、ワールドが静的オブジェクトのみから構成されるか、動的オブジェクトを含むかを示す情報を含んでもよい。
【0109】
以下、本実施の形態の変形例について説明する。
【0110】
符号化装置又は復号装置は、互いに異なる2以上のSPC又はGOSを並列で符号化又は復号してもよい。並列で符号化又は復号するGOSは、GOSの空間位置を示すメタ情報などに基づいて決定できる。
【0111】
三次元データを車又は飛行物体などが移動する際の空間地図として用いる、又はこのような空間地図を生成するケースなどでは、符号化装置又は復号装置は、GPS、経路情報、又はズーム倍率などに基づいて特定される空間に含まれるGOS又はSPCを符号化又は復号してもよい。
【0112】
また、復号装置は、自己位置又は走行経路に近い空間から順に復号を行ってもよい。符号化装置又は復号装置は、自己位置又は走行経路から遠い空間を、近い空間に比べて優先度を落として符号化又は復号してもよい。ここで、優先度を落とすとは、処理順を下げる、解像度を下げる(間引いて処理する)、又は、画質を下げる(符号化効率を上げる。例えば、量子化ステップを大きくする。)等である。
【0113】
また、復号装置は、空間内で階層的に符号化されている符号化データを復号する際は、低階層のみを復号してもよい。
【0114】
また、復号装置は、地図のズーム倍率又は用途に応じて、低階層から優先的に復号してもよい。
【0115】
また、車又はロボットの自律走行時に行う自己位置推定又は物体認識などの用途では、符号化装置又は復号装置は、路面から特定高さ以内の領域(認識を行う領域)以外は解像度を落として符号化又は復号を行ってもよい。
【0116】
また、符号化装置は、室内と室外との空間形状を表現するポイントクラウドをそれぞれ個別に符号化してもよい。例えば、室内を表現するGOS(室内GOS)と室外を表現するGOS(室外GOS)とを分けることで、復号装置は、符号化データを利用する際に、視点位置に応じて復号するGOSを選択できる。
【0117】
また、符号化装置は、座標が近い室内GOSと室外GOSとを、符号化ストリーム内で隣接するように符号化してもよい。例えば、符号化装置は、両者の識別子を対応付け、符号化ストリーム内、又は別途格納されるメタ情報内に対応付けた識別子を示す情報を格納する。これにより、復号装置は、メタ情報内の情報を参照して、座標が近い室内GOSと室外GOSとを識別できる。
【0118】
また、符号化装置は、室内GOSと室外GOSとで、GOS又はSPCのサイズを切替えてもよい。例えば、符号化装置は、室内では室外に比べてGOSのサイズを小さく設定する。また、符号化装置は、室内GOSと室外GOSとで、ポイントクラウドから特徴点を抽出する際の精度、又はオブジェクト検出の精度などを変更してもよい。
【0119】
また、符号化装置は、復号装置が動的オブジェクトを静的オブジェクトと区別して表示するための情報を符号化データに付加してもよい。これにより、復号装置は、動的オブジェクトと赤枠又は説明用の文字などとを合わせて表示できる。なお、復号装置は、動的オブジェクトの代わりに赤枠又は説明用の文字のみを表示してもよい。また、復号装置は、より細かいオブジェクト種別を表示してもよい。例えば、車には赤枠が用いられ、ヒトには黄色枠が用いられてもよい。
【0120】
また、符号化装置又は復号装置は、動的オブジェクトの出現頻度、又は、静的オブジェクトと動的オブジェクトとの割合などに応じて、動的オブジェクトと静的オブジェクトとを異なるSPC又はGOSとして符号化又は復号するかどうかを決定してもよい。例えば、動的オブジェクトの出現頻度又は割合が閾値を超える場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容され、動的オブジェクトの出現頻度又は割合が閾値を超えない場合には、動的オブジェクトと静的オブジェクトとが混在するSPC又はGOSが許容されない。
【0121】
動的オブジェクトをポイントクラウドではなく、カメラの二次元画像情報から検出する際には、符号化装置は、検出結果を識別するための情報(枠又は文字など)とオブジェクト位置とを別途取得し、これらの情報を三次元の符号化データの一部として符号化してもよい。この場合、復号装置は、静的オブジェクトの復号結果に対して、動的オブジェクトを示す補助情報(枠又は文字)を重畳して表示する。
【0122】
また、符号化装置は、静的オブジェクトの形状の複雑さなどに応じて、SPCにおけるVXL又はVLMの粗密さを変更してもよい。例えば、符号化装置は、静的オブジェクトの形状が複雑なぼど、VXL又はVLMを密に設定する。さらに、符号化装置は、空間位置又は色情報を量子化する際の量子化ステップなどをVXL又はVLMの粗密さに応じて決定してもよい。例えば、符号化装置は、VXL又はVLMが密なほど量子化ステップを小さく設定する。
【0123】
以上のように、本実施の形態に係る符号化装置又は復号装置は、座標情報を有するスペース単位で空間の符号化又は復号を行う。
【0124】
また、符号化装置及び復号装置は、スペース内において、ボリューム単位で符号化又は復号を行う。ボリュームは、位置情報が対応付けられる最小単位であるボクセルを含む。
【0125】
また、符号化装置及び復号装置は、座標、オブジェクト、及び時間等を含む空間情報の各要素とGOPとを対応付けたテーブル、又は各要素間を対応付けたテーブルにより任意の要素間を対応付けて符号化又は復号を行う。また、復号装置は、選択された要素の値を用いて座標を判定し、座標からボリューム、ボクセル又はスペースを特定し、当該ボリューム又はボクセルを含むスペース、又は特定されたスペースを復号する。
【0126】
また、符号化装置は、特徴点抽出又はオブジェクト認識により、要素により選択可能なボリューム、ボクセル又はスペースを判定し、ランダムアクセス可能なボリューム、ボクセル又はスペースとして符号化する。
【0127】
スペースは、当該スペース単体で符号化又は復号可能なI-SPCと、任意の1つの処理済みスペースを参照して符号化又は復号されるP-SPCと、任意の二つの処理済みスペースを参照して符号化又は復号されるB-SPCとの3種類のタイプに分類される。
【0128】
1以上のボリュームが、静的オブジェクト又は動的なオブジェクトに対応する。静的オブジェクトを含むスペースと動的オブジェクトを含むスペースとは互いに異なるGOSとして符号化又は復号される。つまり、静的オブジェクトを含むSPCと、動的オブジェクトを含むSPCとが異なるGOSに割り当てられる。
【0129】
動的オブジェクトはオブジェクトごとに符号化又は復号され、静的オブジェクトを含む1以上のスペースに対応付けられる。つまり、複数の動的オブジェクトは個別に符号化され、得られた複数の動的オブジェクトの符号化データは、静的オブジェクトを含むSPCに対応付けられる。
【0130】
符号化装置及び復号装置は、GOS内のI-SPCの優先度を上げて、符号化又は復号を行う。例えば、符号化装置は、I-SPCの劣化が少なくなるように(復号後に元の三次元データがより忠実に再現されるように)符号化を行う。また、復号装置は、例えば、I-SPCのみを復号する。
【0131】
符号化装置は、ワールド内のオブジェクトの疎密さ又は数(量)に応じてI-SPCを用いる頻度を変えて符号化を行ってもよい。つまり、符号化装置は、三次元データに含まれるオブジェクトの数又は粗密さに応じて、I-SPCを選択する頻度を変更する。例えば、符号化装置は、ワールド内のオブジェクトが密であるほどIスペースを用いる頻度を上げる。
【0132】
また、符号化装置は、ランダムアクセスポイントをGOS単位で設定し、GOSに対応する空間領域を示す情報をヘッダ情報に格納する。
【0133】
符号化装置は、GOSの空間サイズとして、例えば、デフォルト値を使用する。なお、符号化装置は、オブジェクト又は動的オブジェクトの数(量)又は粗密さに応じてGOSのサイズを変更してもよい。例えば、符号化装置は、オブジェクト或いは動的オブジェクトが密なぼど、又は数が多いほど、GOSの空間サイズを小さくする。
【0134】
また、スペース又はボリュームは、デプスセンサ、ジャイロ、又はカメラ等のセンサで得られた情報を用いて導出された特徴点群を含む。特徴点の座標はボクセルの中心位置に設定される。また、ボクセルの細分化により位置情報の高精度化を実現できる。
【0135】
特徴点群は、複数のピクチャを用いて導出される。複数のピクチャは、実際の時刻情報と、スペースに対応付けられた複数のピクチャで同一の時刻情報(例えば、レート制御等に用いられる符号化時刻)との少なくとも2種類の時刻情報を有する。
【0136】
また、1以上のスペースを含むGOS単位で符号化又は復号が行われる。
【0137】
符号化装置及び復号装置は、処理済みのGOS内のスペースを参照して、処理対象のGOS内のPスペース又はBスペースの予測を行う。
【0138】
または、符号化装置及び復号装置は、異なるGOSを参照せず、処理対象のGOS内の処理済スペースを用いて処理対象のGOS内のPスペース又はBスペースの予測を行う。
【0139】
また、符号化装置及び復号装置は、1以上のGOSを含むワールド単位で符号化ストリームを送信又は受信する。
【0140】
また、GOSは少なくともワールド内で1方向にレイヤ構造を持ち、符号化装置及び復号装置は、下位レイヤから符号化又は復号を行う。例えば、ランダムアクセス可能なGOSは最下位レイヤに属する。上位レイヤに属するGOSは同一レイヤ以下に属するGOSを参照する。つまり、GOSは、予め定められた方向に空間分割され、各々が1以上のSPCを含む複数のレイヤを含む。符号化装置及び復号装置は、各SPCを、当該SPCと同一レイヤ又は当該SPCより下層のレイヤに含まれるSPCを参照して符号化又は復号する。
【0141】
また、符号化装置及び復号装置は、複数のGOSを含むワールド単位内で、連続してGOSを符号化又は復号する。符号化装置及び復号装置は、符号化又は復号の順序(方向)を示す情報をメタデータとして書き込む又は読み出す。つまり、符号化データは、複数のGOSの符号化順を示す情報を含む。
【0142】
また、符号化装置及び復号装置は、互いに異なる2以上のスペース又はGOSを並列で符号化又は復号する。
【0143】
また、符号化装置及び復号装置は、スペース又はGOSの空間情報(座標、サイズ等)を符号化又は復号する。
【0144】
また、符号化装置及び復号装置は、GPS、経路情報、又は倍率など、自己の位置又は/及び領域サイズに関する外部情報に基づいて特定される特定空間に含まれるスペース又はGOSを符号化又は復号する。
【0145】
符号化装置又は復号装置は、自己の位置から遠い空間は、近い空間に比べて優先度を落として符号化又は復号する。
【0146】
符号化装置は、倍率又は用途に応じて、ワールドのある1方向を設定し、当該方向にレイヤ構造を持つGOSを符号化する。また、復号装置は、倍率又は用途に応じて設定されたワールドのある1方向にレイヤ構造を持つGOSを、下位レイヤから優先的に復号する。
【0147】
符号化装置は、室内と室外とでスペースに含まれる特徴点抽出、オブジェクト認識の精度、又は空間領域サイズなどを変化させる。ただし、符号化装置及び復号装置は、座標が近い室内GOSと室外GOSとをワールド内で隣接して符号化又は復号し、これらの識別子も対応付けて符号化又は復号する。
【0148】
(実施の形態2)
ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
【0149】
本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報のみを送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元復号方法及び三次元データ装置について説明する。
【0150】
特徴量を一定以上持つボクセル(VXL)を特徴ボクセル(FVXL)と定義し、FVXLで構成されるワールド(WLD)をスパースワールド(SWLD)と定義する。
図11は、スパースワールド及びワールドの構成例を示す図である。SWLDには、FVXLで構成されるGOSであるFGOSと、FVXLで構成されるSPCであるFSPCと、FVXLで構成されるVLMであるFVLMと含まれる。FGOS、FSPS及びFVLMのデータ構造及び予測構造はGOS、SPS及びVLMと同様であっても構わない。
【0151】
特徴量とは、VXLの三次元位置情報、又はVXL位置の可視光情報を表現する特徴量であり、特に立体物のコーナー及びエッジ等で多く検出される特徴量である。具体的には、この特徴量は、下記のような三次元特徴量又は可視光の特徴量であるが、その他、VXLの位置、輝度、又は色情報などを表す特徴量であれば、どのようなものでも構わない。
【0152】
三次元特徴量として、SHOT特徴量(Signature of Histograms of OrienTations)、PFH特徴量(Point Feature Histograms)、又はPPF特徴量(Point Pair Feature)が用いられる。
【0153】
SHOT特徴量は、VXL周辺を分割し、基準点と分割された領域の法線ベクトルとの内積を計算してヒストグラム化することで得られる。このSHOT特徴量は、次元数が高く、特徴表現力が高いという特徴を有する。
【0154】
PFH特徴量は、VXL近傍の多数の2点組を選択し、その2点から法線ベクトル等を算出してヒストグラム化することで得られる。このPFH特徴量は、ヒストグラム特徴なので、多少の外乱に対してロバスト性を有し、特徴表現力も高いという特徴を有する。
【0155】
PPF特徴量は、2点のVXL毎に法線ベクトル等を用いて算出される特徴量である。このPPF特徴量には、全VXLが使われるため、オクルージョンに対してロバスト性を有する。
【0156】
また、可視光の特徴量として、画像の輝度勾配情報等の情報を用いたSIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、又はHOG(Histogram of Oriented Gradients)等を用いることができる。
【0157】
SWLDは、WLDの各VXLから上記特徴量を算出し、FVXLを抽出することで生成される。ここで、SWLDはWLDが更新される度に更新しても構わないし、WLDの更新タイミングに関わらず、一定時間経過後に定期的に更新するようにしても構わない。
【0158】
SWLDは特徴量毎に生成しても構わない。例えば、SHOT特徴量に基づくSWLD1とSIFT特徴量に基づくSWLD2とのように、特徴量毎に別々のSWLDが生成され、用途に応じてSWLDを使い分けるようにしても構わない。また、算出した各FVXLの特徴量を特徴量情報として各FVXLに保持するようにしても構わない。
【0159】
次に、スパースワールド(SWLD)の利用方法について説明する。SWLDは特徴ボクセル(FVXL)のみを含むため、全てのVXLを含むWLDと比べて一般的にデータサイズが小さい。
【0160】
特徴量を利用して何らかの目的を果たすアプリケーションにおいては、WLDの代わりにSWLDの情報を利用することで、ハードディスクからの読み出し時間、並びにネットワーク転送時の帯域及び転送時間を抑制することができる。例えば、地図情報として、WDLとSWLDとをサーバに保持しておき、クライアントからの要望に応じて、送信する地図情報をWLD又はSWLDに切り替えることにより、ネットワーク帯域及び転送時間を抑制することができる。以下、具体的な例を示す。
【0161】
図12及び
図13は、SWLD及びWLDの利用例を示す図である。
図12に示すように、車載装置であるクライアント1が自己位置判定用途として地図情報を必要な場合は、クライアント1はサーバに自己位置推定用の地図データの取得要望を送る(S301)。サーバは、当該取得要望に応じてSWLDをクライアント1に送信する(S302)。クライアント1は、受信したSWLDを用いて自己位置判定を行う(S303)。この際、クライアント1はレンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法でクライアント1の周辺のVXL情報を取得し、得られたVXL情報とSWLDとから自己位置情報を推定する。ここで自己位置情報は、クライアント1の三次元位置情報及び向き等を含む。
【0162】
図13に示すように、車載装置であるクライアント2が三次元地図等の地図描画の用途として地図情報が必要な場合は、クライアント2はサーバに地図描画用の地図データの取得要望を送る(S311)。サーバは、当該取得要望に応じてWLDをクライアント2に送信する(S312)。クライアント2は、受信したWLDを用いて地図描画を行う(S313)。この際、クライアント2は、例えば、自己が可視光カメラ等で撮影した画像と、サーバから取得したWLDとを用いてレンダリング画像を作成し、作成した画像をカーナビ等の画面に描画する。
【0163】
上記のように、サーバは、自己位置推定のような各VXLの特徴量を主に必要とする用途ではSWLDをクライアントに送信し、地図描画のように詳細なVXL情報が必要な場合はWLDをクライアントに送信する。これにより、地図データを効率よく送受信することが可能となる。
【0164】
なお、クライアントは、自分でSWLDとWLDのどちらが必要かを判断し、サーバへSWLD又はWLDの送信を要求しても構わない。また、サーバは、クライアント又はネットワークの状況に合わせて、SWLDかWLDのどちらを送信すべきかを判断しても構わない。
【0165】
次に、スパースワールド(SWLD)とワールド(WLD)との送受信を切り替える方法を説明する。
【0166】
ネットワーク帯域に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。
図14は、この場合の動作例を示す図である。例えば、LTE(Long Term Evolution)環境下等の使用できるネットワーク帯域が限られている低速ネットワークが用いられている場合には、クライアントは、低速ネットワーク経由でサーバにアクセスし(S321)、サーバから地図情報としてSWLDを取得する(S322)。一方、Wi‐Fi(登録商標)環境下等のネットワーク帯域に余裕がある高速ネットワークが用いられている場合には、クライアントは、高速ネットワーク経由でサーバにアクセスし(S323)、サーバからWLDを取得する(S324)。これにより、クライアントは、当該クライアントのネットワーク帯域に応じて適切な地図情報を取得することができる。
【0167】
具体的には、クライアントは、屋外ではLTE経由でSWLDを受信し、施設等の屋内に入った場合はWi‐Fi(登録商標)経由でWLDを取得する。これにより、クライアントは、屋内のより詳細な地図情報を取得することが可能となる。
【0168】
このように、クライアントは、自身が用いるネットワークの帯域に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身が用いるネットワークの帯域を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントのネットワーク帯域を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
【0169】
また、移動速度に応じてWLD又はSWLDを受信するかを切替えるようにしてもよい。
図15は、この場合の動作例を示す図である。例えば、クライアントが高速移動をしている場合は(S331)、クライアントはSWLDをサーバから受信する(S332)。一方、クライアントが低速移動をしている場合は(S333)、クライアントはWLDをサーバから受信する(S334)。これにより、クライアントは、ネットワーク帯域を抑制しながら、速度に合った地図情報を取得することができる。具体的には、クライアントは、高速道路を走行中にはデータ量の少ないSWLDを受信することにより、大まかな地図情報を適切な速度で更新することができる。一方、クライアントは、一般道路を走行中にはWLDを受信することにより、より詳細な地図情報を取得することが可能となる。
【0170】
このように、クライアントは、自身の移動速度に応じてサーバにWLD又はSWLDを要求してもよい。または、クライアントは、自身の移動速度を示す情報をサーバに送信し、サーバは当該情報に応じて当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。または、サーバは、クライアントの移動速度を判別し、当該クライアントに適したデータ(WLD又はSWLD)を送信してもよい。
【0171】
また、クライアントは、最初にSWLDをサーバより取得し、その中で重要な領域のWLDを取得しても構わない。例えば、クライアントは、地図データを取得する際に、最初に大まかな地図情報をSWLDで取得し、そこから建物、標識、又は人物等の特徴が多く出現する領域を絞り込み、絞り込んだ領域のWLDを後から取得する。これにより、クライアントは、サーバからの受信データ量を抑制しつつ、必要な領域の詳細な情報を取得することが可能となる。
【0172】
また、サーバは、WLDから物体毎に別々のSWLDを作成し、クライアントは、用途に合わせて、それぞれを受信してもよい。これにより、ネットワーク帯域を抑制できる。例えば、サーバは、WLDから予め人又は車を認識し、人のSWLDと車のSWLDを作成する。クライアントは、周囲の人の情報を取得したい場合には人のSWLDを、車の情報を取得したい場合には車のSWLDを受信する。また、このようなSWLDの種類はヘッダ等に付加された情報(フラグ又はタイプ等)によって区別するようにしても構わない。
【0173】
次に、本実施の形態に係る三次元データ符号化装置(例えばサーバ)の構成及び動作の流れを説明する。
図16は、本実施の形態に係る三次元データ符号化装置400のブロック図である。
図17は、三次元データ符号化装置400による三次元データ符号化処理のフローチャートである。
【0174】
図16に示す三次元データ符号化装置400は、入力三次元データ411を符号化することで符号化ストリームである符号化三次元データ413及び414を生成する。ここで、符号化三次元データ413はWLDに対応する符号化三次元データであり、符号化三次元データ414はSWLDに対応する符号化三次元データである。この三次元データ符号化装置400は、取得部401と、符号化領域決定部402と、SWLD抽出部403と、WLD符号化部404と、SWLD符号化部405とを備える。
【0175】
図17に示すように、まず、取得部401は、三次元空間内の点群データである入力三次元データ411を取得する(S401)。
【0176】
次に、符号化領域決定部402は、点群データが存在する空間領域に基づいて、符号化対象の空間領域を決定する(S402)。
【0177】
次に、SWLD抽出部403は、符号化対象の空間領域をWLDと定義し、WLDに含まれる各VXLから特徴量を算出する。そして、SWLD抽出部403は、特徴量が予め定められた閾値以上のVXLを抽出し、抽出したVXLをFVXLと定義し、当該FVXLをSWLDへ追加することで、抽出三次元データ412を生成する(S403)。つまり、入力三次元データ411から特徴量が閾値以上の抽出三次元データ412が抽出される。
【0178】
次に、WLD符号化部404は、WLDに対応する入力三次元データ411を符号化することでWLDに対応する符号化三次元データ413を生成する(S404)。このとき、WLD符号化部404は、符号化三次元データ413のヘッダに、当該符号化三次元データ413がWLDを含むストリームであることを区別するための情報を付加する。
【0179】
また、SWLD符号化部405は、SWLDに対応する抽出三次元データ412を符号化することでSWLDに対応する符号化三次元データ414を生成する(S405)。このとき、SWLD符号化部405は、符号化三次元データ414のヘッダに、当該符号化三次元データ414がSWLDを含むストリームであることを区別するための情報を付加する。
【0180】
なお、符号化三次元データ413を生成する処理と、符号化三次元データ414を生成する処理との処理順は上記と逆でもよい。また、これらの処理の一部又は全てが並列に行われてもよい。
【0181】
符号化三次元データ413及び414のヘッダに付与される情報として、例えば、「world_type」というパラメータが定義される。world_type=0の場合はストリームがWLDを含むことを表し、world_type=1の場合はストリームがSWLDを含むことを表す。更にその他の多数の種別を定義する場合には、world_type=2のように割り当てる数値を増やすようにしても構わない。また、符号化三次元データ413及び414の一方に特定のフラグが含まれてもよい。例えば、符号化三次元データ414に、当該ストリームがSWLDを含むことを含むフラグが付与されてもよい。この場合、復号装置は、フラグの有無によりWLDを含むストリームか、SWLDを含むストリームかを判別できる。
【0182】
また、WLD符号化部404がWLDを符号化する際に使用する符号化方法と、SWLD符号化部405がSWLDを符号化する際に使用する符号化方法とは異なってもよい。
【0183】
例えば、SWLDではデータが間引かされているため、WLDに比べ、周辺のデータとの相関が低くなる可能性がある。よって、SWLDに用いられる符号化方法では、WLDに用いられる符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0184】
また、SWLDに用いられる符号化方法とWLDに用いられる符号化方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりSVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
【0185】
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより小さくなるように符号化を行う。例えば、上述したようにSWLDは、WLDに比べ、データ間の相関が低くなる可能性がある。これにより、符号化効率が下がり、符号化三次元データ414のデータサイズがWLDの符号化三次元データ413のデータサイズより大きくなる可能性がある。よって、SWLD符号化部405は、得られた符号化三次元データ414のデータサイズが、WLDの符号化三次元データ413のデータサイズより大きい場合には、再符号化を行うことで、データサイズを低減した符号化三次元データ414を再生成する。
【0186】
例えば、SWLD抽出部403は、抽出する特徴点の数を減らした抽出三次元データ412を再生成し、SWLD符号化部405は、当該抽出三次元データ412を符号化する。または、SWLD符号化部405における量子化の程度をより粗くしてもよい。例えば、後述する8分木構造において、最下層のデータを丸め込むことで、量子化の程度を粗くすることができる。
【0187】
また、SWLD符号化部405は、SWLDの符号化三次元データ414のデータサイズをWLDの符号化三次元データ413のデータサイズより小さくできない場合は、SWLDの符号化三次元データ414を生成しなくてもよい。または、WLDの符号化三次元データ413がSWLDの符号化三次元データ414にコピーされてもよい。つまり、SWLDの符号化三次元データ414としてWLDの符号化三次元データ413がそのまま用いられてもよい。
【0188】
次に、本実施の形態に係る三次元データ復号装置(例えばクライアント)の構成及び動作の流れを説明する。
図18は、本実施の形態に係る三次元データ復号装置500のブロック図である。
図19は、三次元データ復号装置500による三次元データ復号処理のフローチャートである。
【0189】
図18に示す三次元データ復号装置500は、符号化三次元データ511を復号することで復号三次元データ512又は513を生成する。ここで、符号化三次元データ511は、例えば、三次元データ符号化装置400で生成された符号化三次元データ413又は414である。
【0190】
この三次元データ復号装置500は、取得部501と、ヘッダ解析部502と、WLD復号部503と、SWLD復号部504とを備える。
【0191】
図19に示すように、まず、取得部501は、符号化三次元データ511を取得する(S501)。次に、ヘッダ解析部502は、符号化三次元データ511のヘッダを解析し、符号化三次元データ511がWLDを含むストリームか、SWLDを含むストリームかを判別する(S502)。例えば、上述したworld_typeのパラメータが参照され、判別が行われる。
【0192】
符号化三次元データ511がWLDを含むストリームである場合(S503でYes)、WLD復号部503は、符号化三次元データ511を復号することでWLDの復号三次元データ512を生成する(S504)。一方、符号化三次元データ511がSWLDを含むストリームである場合(S503でNo)、SWLD復号部504は、符号化三次元データ511を復号することでSWLDの復号三次元データ513を生成する(S505)。
【0193】
また、符号化装置と同様に、WLD復号部503がWLDを復号する際に使用する復号方法と、SWLD復号部504がSWLDを復号する際に使用する復号方法とは異なってもよい。例えば、SWLDに用いられる復号方法では、WLDに用いられる復号方法よりもイントラ予測及びインター予測のうちインター予測が優先されてもよい。
【0194】
また、SWLDに用いられる復号方法とWLDに用いられる復号方法とでは、三次元位置の表現手法が異なってもよい。例えば、SWLDでは、三次元座標によりSVXLの三次元位置を表現し、WLDでは、後述する8分木により三次元位置が表現されてもよいし、その逆でもよい。
【0195】
次に、三次元位置の表現手法である8分木表現について説明する。三次元データに含まれるVXLデータは8分木構造に変換された後、符号化される。
図20は、WLDのVXLの一例を示す図である。
図21は、
図20に示すWLDの8分木構造を示す図である。
図20に示す例では、点群を含むVXL(以下、有効VXL)である3つVXL1~3が存在する。
図21に示すように、8分木構造はノードとリーフで構成される。各ノードは最大で8つのノードまたはリーフを持つ。各リーフはVXL情報を持つ。ここで、
図21に示すリーフのうち、リーフ1、2、3はそれぞれ
図20に示すVXL1、VXL2、VXL3を表す。
【0196】
具体的には、各ノード及びリーフは三次元位置に対応する。ノード1は、
図20に示す全体のブロックに対応する。ノード1に対応するブロックは8つのブロックに分割され、8つのブロックのうち、有効VXLを含むブロックがノードに設定され、それ以外のブロックはリーフに設定される。ノードに対応するブロックは、さらに8つのノードまたはリーフに分割され、この処理が木構造の階層分繰り返される。また、最下層のブロックは、全てリーフに設定される。
【0197】
また、
図22は、
図20に示すWLDから生成したSWLDの例を示す図である。
図20に示すVXL1及びVXL2は特徴量抽出の結果、FVXL1及びFVXL2と判定され、SWLDに加えられている。一方で、VXL3はFVXLと判定されず、SWLDに含まれていない。
図23は、
図22に示すSWLDの8分木構造を示す図である。
図23に示す8分木構造では、
図21に示す、VXL3に相当するリーフ3が削除されている。これにより、
図21に示すノード3が有効VXLを持たなくなり、リーフに変更されている。このように一般的にSWLDのリーフ数はWLDのリーフ数より少なくなり、SWLDの符号化三次元データもWLDの符号化三次元データより小さくなる。
【0198】
以下、本実施の形態の変形例について説明する。
【0199】
例えば、車載装置等のクライアントは、自己位置推定を行う場合に、SWLDをサーバから受信し、SWLDを用いて自己位置推定を行い、障害物検知を行う場合は、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せ等の様々な方法を用いて自分で取得した周辺の三次元情報に基づいて障害物検知を実施してもよい。
【0200】
また、一般的にSWLDには平坦領域のVXLデータが含まれにくい。そのため、サーバは、静的な障害物の検知用に、WLDをサブサンプルしたサブサンプルワールド(subWLD)を保持し、SWLDとsubWLDをクライアントに送信してもよい。これにより、ネットワーク帯域を抑制しつつ、クライアント側で自己位置推定及び障害物検知を行うことができる。
【0201】
また、クライアントが三次元地図データを高速に描画する際には、地図情報がメッシュ構造である方が便利な場合がある。そこで、サーバは、WLDからメッシュを生成し、メッシュワールド(MWLD)として予め保持してもよい。例えばクライアントは、粗い三次元描画を必要としている場合にはMWLDを受信し、詳細な三次元描画を必要としている場合にはWLDを受信する。これにより、ネットワーク帯域を抑制することができる。
【0202】
また、サーバは、各VXLのうち、特徴量が閾値以上であるVXLをFVXLに設定したが、異なる方法にてFVXLを算出しても構わない。例えば、サーバは、信号又は交差点などを構成するVXL、VLM、SPS、又はGOSを、自己位置推定、運転アシスト、又は自動運転等に必要と判断し、FVXL、FVLM、FSPS、FGOSとしてSWLDに含めるようにしても構わない。また、上記判断は手動で行われてもよい。なお、特徴量に基づき設定されたFVXL等に、上記方法で得られたFVXL等を加えてもよい。つまり、SWLD抽出部403は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出してもよい。
【0203】
また、それらの用途に必要な旨を特徴量とは別にラベリングするようにしても構わない。また、サーバは、SWLDの上位レイヤ(例えばレーンワールド)として、信号又は交差点などの自己位置推定、運転アシスト、又は自動運転等に必要なFVXLを別途保持してもよい。
【0204】
また、サーバは、WLD内のVXLにもランダムアクセス単位又は所定の単位毎に属性を付加してもよい。属性は、例えば、自己位置推定に必要或いは不要かを示す情報、又は、信号或いは交差点などの交通情報として重要かどうかなどを示す情報を含む。また、属性は、レーン情報(GDF:Geographic Data Filesなど)におけるFeature(交差点又は道路など)との対応関係を含んでもよい。
【0205】
また、WLD又はSWLDの更新方法として下記のような方法を用いても構わない。
【0206】
人、工事、又は並木(トラック向け)の変化などを示す更新情報が点群又はメタデータとしてサーバにアップロードされる。サーバは、当該アップロードに基づき、WLDを更新し、その後、更新したWLDを用いてSWLDを更新する。
【0207】
また、クライアントは、自己位置推定時に自身で生成した三次元情報とサーバから受信した三次元情報との不整合を検知した場合、自身で生成した三次元情報を更新通知とともにサーバに送信してもよい。この場合、サーバは、WLDを用いてSWLDを更新する。SWLDが更新されない場合、サーバは、WLD自体が古いと判断する。
【0208】
また、符号化ストリームのヘッダ情報として、WLDかSWLDかを区別する情報が付加されるとしたが、例えば、メッシュワールド又はレーンワールド等、多種類のワールドが存在する場合には、それらを区別する情報がヘッダ情報に付加されても構わない。また、特徴量が異なるSWLDが多数存在する場合には、それぞれを区別する情報がヘッダ情報に付加されても構わない。
【0209】
また、SWLDは、FVXLで構成されるとしたが、FVXLと判定されなかったVXLを含んでもよい。例えば、SWLDは、FVXLの特徴量を算出する際に使用する隣接VXLを含んでもよい。これにより、SWLDの各FVXLに特徴量情報が付加されない場合でも、クライアントは、SWLDを受信した際にFVXLの特徴量を算出することができる。なお、その際には、SWLDは各VXLがFVXLかVXLかを区別するための情報を含んでもよい。
【0210】
以上のように、三次元データ符号化装置400は、入力三次元データ411(第1三次元データ)から特徴量が閾値以上の抽出三次元データ412(第2三次元データ)を抽出し、抽出三次元データ412を符号化することで符号化三次元データ414(第1符号化三次元データ)を生成する。
【0211】
これによれば、三次元データ符号化装置400は、特徴量が閾値以上のデータを符号化した符号化三次元データ414を生成する。これにより、入力三次元データ411をそのまま符号化する場合に比べてデータ量を削減できる。よって、三次元データ符号化装置400は、伝送するデータ量を削減できる。
【0212】
また、三次元データ符号化装置400は、さらに、入力三次元データ411を符号化することで符号化三次元データ413(第2符号化三次元データ)を生成する。
【0213】
これによれば、三次元データ符号化装置400は、例えば、使用用途等に応じて、符号化三次元データ413と符号化三次元データ414とを選択的に伝送できる。
【0214】
また、抽出三次元データ412は、第1符号化方法により符号化され、入力三次元データ411は、第1符号化方法とは異なる第2符号化方法により符号化される。
【0215】
これによれば、三次元データ符号化装置400は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した符号化方法を用いることができる。
【0216】
また、第1符号化方法では、第2符号化方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
【0217】
これによれば、三次元データ符号化装置400は、隣接するデータ間の相関が低くなりやすい抽出三次元データ412に対して、インター予測の優先度を上げることができる。
【0218】
また、第1符号化方法と第2符号化方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2符号化方法では、8分木により三次元位置が表現され、第1符号化方法では、三次元座標により三次元位置を表現される。
【0219】
これによれば、三次元データ符号化装置400は、データ数(VXL又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0220】
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。つまり、当該識別子は、符号化三次元データがWLDの符号三次元データ413であるかSWLDの符号化三次元データ414であるかを示す。
【0221】
これによれば、復号装置は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
【0222】
また、三次元データ符号化装置400は、符号化三次元データ414のデータ量が符号化三次元データ413のデータ量より小さくなるように抽出三次元データ412を符号化する。
【0223】
これによれば、三次元データ符号化装置400は、符号化三次元データ414のデータ量を符号化三次元データ413のデータ量より小さくできる。
【0224】
また、三次元データ符号化装置400は、さらに、入力三次元データ411から予め定められた属性を有する物体に対応するデータを抽出三次元データ412として抽出する。例えば、予め定められた属性を有する物体とは、自己位置推定、運転アシスト、又は自動運転等に必要な物体であり、信号又は交差点などである。
【0225】
これによれば、三次元データ符号化装置400は、復号装置で必要となるデータを含む符号化三次元データ414を生成できる。
【0226】
また、三次元データ符号化装置400(サーバ)は、さらに、クライアントの状態に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
【0227】
これによれば、三次元データ符号化装置400は、クライアントの状態に応じて適切なデータを送信できる。
【0228】
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
【0229】
また、三次元データ符号化装置400は、さらに、クライアントの要求に応じて、符号化三次元データ413及び414の一方をクライアントに送信する。
【0230】
これによれば、三次元データ符号化装置400は、クライアントの要求に応じて適切なデータを送信できる。
【0231】
また、本実施の形態に係る三次元データ復号装置500は、上記三次元データ符号化装置400により生成された符号化三次元データ413又は414を復号する。
【0232】
つまり、三次元データ復号装置500は、入力三次元データ411から抽出された特徴量が閾値以上の抽出三次元データ412が符号化されることで得られた符号化三次元データ414を第1復号方法により復号する。また、三次元データ復号装置500は、入力三次元データ411が符号化されることで得られた符号化三次元データ413を、第1復号方法とは異なる第2復号方法により復号する。
【0233】
これによれば、三次元データ復号装置500は、特徴量が閾値以上のデータを符号化した符号化三次元データ414と、符号化三次元データ413とを、例えば、使用用途等に応じて選択的に受信できる。これにより、三次元データ復号装置500は、伝送するデータ量を削減できる。さらに、三次元データ復号装置500は、入力三次元データ411と抽出三次元データ412とにそれぞれ適した復号方法を用いることができる。
【0234】
また、第1復号方法では、第2復号方法よりもイントラ予測及びインター予測のうちインター予測が優先される。
【0235】
これによれば、三次元データ復号装置500は、隣接するデータ間の相関が低くなりやすい抽出三次元データに対して、インター予測の優先度を上げることができる。
【0236】
また、第1復号方法と第2復号方法とでは、三次元位置の表現手法が異なる。例えば、例えば、第2復号方法では、8分木により三次元位置が表現され、第1復号方法では、三次元座標により三次元位置を表現される。
【0237】
これによれば、三次元データ復号装置500は、データ数(VXL又はSVXLの数)が異なる三次元データに対して、より適した三次元位置の表現手法を用いることができる。
【0238】
また、符号化三次元データ413及び414の少なくとも一方は、当該符号化三次元データが入力三次元データ411を符号化することで得られた符号化三次元データであるか、入力三次元データ411のうちの一部を符号化することで得られた符号化三次元データであるかを示す識別子を含む。三次元データ復号装置500は、当該識別子を参照して、符号化三次元データ413及び414を識別する。
【0239】
これによれば、三次元データ復号装置500は、取得した符号化三次元データが符号化三次元データ413であるか符号化三次元データ414であるかを容易に判定できる。
【0240】
また、三次元データ復号装置500は、さらに、クライアント(三次元データ復号装置500)の状態をサーバに通知する。三次元データ復号装置500は、クライアントの状態に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
【0241】
これによれば、三次元データ復号装置500は、クライアントの状態に応じて適切なデータを受信できる。
【0242】
また、クライアントの状態は、クライアントの通信状況(例えばネットワーク帯域)、又はクライアントの移動速度を含む。
【0243】
また、三次元データ復号装置500は、さらに、符号化三次元データ413及び414の一方をサーバに要求し、当該要求に応じて、サーバから送信された符号化三次元データ413及び414の一方を受信する。
【0244】
これによれば、三次元データ復号装置500は、用途に応じた適切なデータを受信できる。
【0245】
(実施の形態3)
本実施の形態では、車両間での三次元データを送受信する方法について説明する。
【0246】
図24は、自車両600と周辺車両601との間での三次元データ607の送受信の様子を示す模式図である。
【0247】
自車両600に搭載されたセンサ(レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組合せなど)により三次元データを取得する場合、周辺車両601などの障害物により自車両600のセンサ検知範囲602内であるものの三次元データを作成できない領域(以降、これをオクルージョン領域604という)が発生する。また、三次元データを取得する空間が大きくなると自律動作の精度が高まるが、自車両600のみのセンサ検知範囲は有限である。
【0248】
自車両600のセンサ検知範囲602は、三次元データを取得可能な領域603とオクルージョン領域604とを含む。自車両600が、三次元データを取得したい範囲は、自車両600のセンサ検知範囲602とそれ以外の領域とを含む。また、周辺車両601のセンサ検知範囲605は、オクルージョン領域604と、自車両600のセンサ検知範囲602に含まれない領域606とを含む。
【0249】
周辺車両601は、周辺車両601が検知した情報を自車両600に伝送する。自車両600は、前走車などの周辺車両601が検知した情報を取得することで、オクルージョン領域604、及び、自車両600のセンサ検知範囲602以外の領域606の三次元データ607を取得することが可能となる。自車両600は、周辺車両601が取得した情報を用いて、オクルージョン領域604及びセンサ検知範囲外の領域606の三次元データを補完する。
【0250】
車両、又はロボットの自律動作における三次元データの用途は、自己位置推定、周辺状況の検知、またはその両方である。例えば、自己位置推定には、自車両600のセンサ情報に基づき自車両600で生成した三次元データが使用される。周辺状況の検知には、自車両600で生成した三次元データに加え、周辺車両601から取得した三次元データも使用される。
【0251】
三次元データ607を自車両600に伝送する周辺車両601は、自車両600の状態に応じて決定されてもよい。例えば、この周辺車両601は、自車両600の直進時には前走車であり、自車両600の右折時には対向車であり、自車両600の後退時には後方車である。また、自車両600のドライバが、三次元データ607を自車両600に伝送する周辺車両601を直接指定してもよい。
【0252】
また、自車両600は、三次元データ607を取得したい空間内に含まれる、自車両600で取得できない領域の三次元データを所有している周辺車両601を探索してもよい。自車両600で取得できない領域とは、オクルージョン領域604又はセンサ検知範囲602外の領域606などである。
【0253】
また、自車両600は、オクルージョン領域604を自車両600のセンサ情報に基づいて特定してもよい。例えば、自車両600は、自車両600のセンサ検知範囲602内に含まれる、三次元データを作成できない領域をオクルージョン領域604であると特定する。
【0254】
以下、三次元データ607を伝送するのが前走車である場合の動作例を説明する。
図25は、この場合の伝送される三次元データの一例を示す図である。
【0255】
図25に示すように、前走車から伝送される三次元データ607は、例えば、ポイントクラウドのスパースワールド(SWLD)である。つまり、前走車は、当該前走車のセンサで検知した情報からWLDの三次元データ(ポイントクラウド)を作成し、WLDの三次元データから特徴量が閾値以上のデータを抽出することでSWLDの三次元データ(ポイントクラウド)を作成する。そして、前走車は、作成したSWLDの三次元データを自車両600に伝送する。
【0256】
自車両600は、SWLDを受け取り、自車両600で作成したポイントクラウドに、受け取ったSWLDをマージする。
【0257】
伝送されるSWLDは絶対座標(三次元マップの座標系におけるSWLDの位置)の情報を持っている。自車両600は、この絶対座標に基づいて、自車両600で生成したポイントクラウドを上書きすることによりマージ処理を実現できる。
【0258】
周辺車両601から伝送されるSWLDは、自車両600のセンサ検知範囲602外かつ周辺車両601のセンサ検知範囲605内の領域606のSWLD、或いは、自車両600にとってのオクルージョン領域604のSWLD、又は、その両方のSWLDでもよい。また、伝送されるSWLDは、上記のSWLDのうち、周辺車両601が周辺状況の検知に使用している領域のSWLDでもよい。
【0259】
また、周辺車両601は、自車両600と周辺車両601との速度差に基づく通信可能時間に応じて、伝送されるポイントクラウドの密度を変化させてもよい。例えば、速度差が大きく通信可能時間が短い場合は、周辺車両601は、SWLDの中から、特徴量の大きな三次元点を抽出することで、ポイントクラウドの密度(データ量)を低くしてもよい。
【0260】
また、周辺状況の検知とは、人、車両、及び道路工事用の機材などの存在の有無を判定し、その種類を特定し、その位置、移動方向、及び移動速度などを検知することである。
【0261】
また、自車両600は、周辺車両601で生成された三次元データ607の代わりに、又は、三次元データ607に加え、周辺車両601の制動情報を取得してもよい。ここで、周辺車両601の制動情報とは、例えば、周辺車両601のアクセル或いはブレーキが踏まれたこと、又はその度合いを示す情報である。
【0262】
また、各車両で生成されるポイントクラウドでは、車両間の低遅延通信を考慮して、ランダムアクセス単位に三次元空間が細分化される。一方で、サーバからダウンロードされる地図データである三次元地図等は、三次元空間が、車両間通信の場合と比べて大きなランダムアクセス単位に分割される。
【0263】
前走車の前方の領域又は後走車の後方の領域などのオクルージョン領域になりやすい領域のデータは低遅延向けデータとして、細かいランダムアクセス単位に分割される。
【0264】
高速走行時には正面の重要性が高まるため、各車両は、高速走行時には、視野角を狭めた範囲のSWLDを細かいランダムアクセス単位で作成する。
【0265】
前走車が伝送用に作成したSWLD内に自車両600でポイントクラウドの取得が可能な領域が含まれる場合、前走車は、その領域のポイントクラウドを取り除くことにより伝送量を削減してもよい。
【0266】
次に、本実施の形態に係る三次元データ受信装置である三次元データ作成装置620の構成及び動作を説明する。
【0267】
図26は、本実施の形態に係る三次元データ作成装置620のブロック図である。この三次元データ作成装置620は、例えば、上述した自車両600に含まれ、三次元データ作成装置620が作成した第1三次元データ632に、受信した第2三次元データ635を合成することで、より密な第3三次元データ636を作成する。
【0268】
この三次元データ作成装置620は、三次元データ作成部621と、要求範囲決定部622と、探索部623と、受信部624と、復号部625と、合成部626とを備える。
図27は、三次元データ作成装置620の動作を示すフローチャートである。
【0269】
まず、三次元データ作成部621は、自車両600が備えるセンサで検知したセンサ情報631を用いて第1三次元データ632を作成する(S621)。次に、要求範囲決定部622は、作成した第1三次元データ632の中でデータが不足している三次元空間範囲である要求範囲を決定する(S622)。
【0270】
次に、探索部623は、要求範囲の三次元データを所有する周辺車両601を探索し、探索により特定した周辺車両601に要求範囲を示す要求範囲情報633を送信する(S623)。次に、受信部624は、周辺車両601から、要求範囲の符号化ストリームである符号化三次元データ634を受信する(S624)。なお、探索部623は、特定範囲に存在する全ての車両に対し、無差別にリクエストを出し、応答があった相手から符号化三次元データ634を受信してもよい。また、探索部623は、車両に限らず、信号機又は標識などの物体にリクエストを出し、当該物体から符号化三次元データ634を受信してもよい。
【0271】
次に、復号部625は、受信した符号化三次元データ634を復号することで第2三次元データ635を取得する(S625)。次に、合成部626は、第1三次元データ632と第2三次元データ635とを合成することで、より密な第3三次元データ636を作成する(S626)。
【0272】
次に、本実施の形態に係る三次元データ送信装置640の構成及び動作を説明する。
図28は、三次元データ送信装置640のブロック図である。
【0273】
三次元データ送信装置640は、例えば、上述した周辺車両601に含まれ、周辺車両601が作成した第5三次元データ652を自車両600が要求する第6三次元データ654に加工し、第6三次元データ654を符号化することで符号化三次元データ634を生成し、符号化三次元データ634を自車両600に送信する。
【0274】
三次元データ送信装置640は、三次元データ作成部641と、受信部642と、抽出部643と、符号化部644と、送信部645とを備える。
図29は、三次元データ送信装置640の動作を示すフローチャートである。
【0275】
まず、三次元データ作成部641は、周辺車両601が備えるセンサで検知したセンサ情報651を用いて第5三次元データ652を作成する(S641)。次に、受信部642は、自車両600から送信された要求範囲情報633を受信する(S642)。
【0276】
次に、抽出部643は、第5三次元データ652から、要求範囲情報633で示される要求範囲の三次元データを抽出することで、第5三次元データ652を第6三次元データ654に加工する(S643)。次に、符号化部644は、第6三次元データ654を符号化することで、符号化ストリームである符号化三次元データ634を生成する(S644)。そして、送信部645は、自車両600へ符号化三次元データ634を送信する(S645)。
【0277】
なお、ここでは、自車両600が三次元データ作成装置620を備え、周辺車両601が三次元データ送信装置640を備える例を説明するが、各車両が、三次元データ作成装置620と三次元データ送信装置640との機能を有してもよい。
【0278】
以下、三次元データ作成装置620が、自車両600の周辺状況の検知処理を実現する周辺状況検知装置である場合の構成及び動作を説明する。
図30は、この場合の三次元データ作成装置620Aの構成を示すブロック図である。
図30に示す三次元データ作成装置620Aは、
図26に示す三次元データ作成装置620の構成に加え、さらに、検知領域決定部627と、周辺状況検知部628と、自律動作制御部629とを備える。また、三次元データ作成装置620Aは、自車両600に含まれる。
【0279】
図31は、三次元データ作成装置620Aによる自車両600の周辺状況検知処理のフローチャートである。
【0280】
まず、三次元データ作成部621は、自車両600が備えるセンサで検知した、自車両600の検知範囲のセンサ情報631を用いてポイントクラウドである第1三次元データ632を作成する(S661)。なお、三次元データ作成装置620Aは、さらに、センサ情報631を用いて自己位置推定を行ってもよい。
【0281】
次に、検知領域決定部627は、周辺状況を検知したい空間領域である検知対象範囲を決定する(S662)。例えば、検知領域決定部627は、自車両600の走行方向及び速度などの自律動作(自動運転)の状況に応じて、自律動作を安全に行うための周辺状況検知に必要な領域を算出し、当該領域を検知対象範囲に決定する。
【0282】
次に、要求範囲決定部622は、オクルージョン領域604と、自車両600のセンサの検知範囲外であるが周辺状況検知に必要な空間領域とを要求範囲をとして決定する(S663)。
【0283】
ステップS663において決定された要求範囲が存在する場合(S664でYes)、探索部623は、要求範囲に関する情報を所有する周辺車両を探索する。例えば、探索部623は、周辺車両に、要求範囲に関する情報を所有しているか問合せてもよいし、要求範囲と周辺車両との位置に基づき、当該周辺車両が要求範囲に関する情報を所有しているかを判断してもよい。次に、探索部623は、探索により特定した周辺車両601に対して、三次元データの伝送を依頼する依頼信号637を送信する。そして、探索部623は、周辺車両601から送信された、依頼信号637の依頼を受ける旨を示す許可信号を受信した後、要求範囲を示す要求範囲情報633を周辺車両601に送信する(S665)。
【0284】
次に、受信部624は、要求範囲に関する情報である送信データ638の伝送通知を検知し、当該送信データ638を受信する(S666)。
【0285】
なお、三次元データ作成装置620Aは、リクエストを送る相手を探索することなく、特定範囲に存在する全ての車両に対し、無差別にリクエストを出し、要求範囲に関する情報を持っていると応答があった相手から送信データ638を受信してもよい。また、探索部623は、車両に限らず、信号機又は標識などの物体にリクエストを出し、当該物体から送信データ638を受信してもよい。
【0286】
また、送信データ638は、周辺車両601で生成された、要求範囲の三次元データが符号化された符号化三次元データ634、及び、要求範囲の周辺状況検知結果639の少なくとも一方を含む。周辺状況検知結果639は、周辺車両601が検知した人及び車両の位置、移動方向及び移動速度等を示す。また、送信データ638は、周辺車両601の位置及び動き等を示す情報を含んでもよい。例えば、送信データ638は、周辺車両601の制動情報を含んでもよい。
【0287】
受信された送信データ638に符号化三次元データ634が含まれる場合(S667でYes)、復号部625は、符号化三次元データ634を復号することでSWLDの第2三次元データ635を取得する(S668)。つまり、第2三次元データ635は、第4三次元データ(WLD)から特徴量が閾値以上のデータが抽出されることで生成された三次元データ(SWLD)である。
【0288】
次に、合成部626は、第1三次元データ632と第2三次元データ635とを合成することで第3三次元データ636を生成する(S669)。
【0289】
次に、周辺状況検知部628は、周辺状況検知に必要な空間領域のポイントクラウドである第3三次元データ636を用いて、自車両600の周辺状況を検知する(S670)。なお、受信された送信データ638に周辺状況検知結果639が含まれる場合には、周辺状況検知部628は、第3三次元データ636に加えて周辺状況検知結果639を用いて、自車両600の周辺状況を検知する。また、受信された送信データ638に周辺車両601の制動情報が含まれる場合には、周辺状況検知部628は、第3三次元データ636に加えて当該制動情報を用いて、自車両600の周辺状況を検知する。
【0290】
次に、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。なお、UI(ユーザインタフェース)などを通して周辺状況検知結果がドライバに提示されてもよい。
【0291】
一方、ステップS663において要求範囲が存在しない場合、(S664でNo)、つまり、周辺状況検知に必要な全ての空間領域の情報を、センサ情報631に基づき作成できた場合、周辺状況検知部628は、周辺状況検知に必要な空間領域のポイントクラウドである第1三次元データ632を用いて、自車両600の周辺状況を検知する(S672)。そして、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。
【0292】
また、受信された送信データ638に符号化三次元データ634が含まれない場合(S667でNo)、つまり、送信データ638に、周辺車両601の周辺状況検知結果639又は制動情報のみが含まれる場合、周辺状況検知部628は、第1三次元データ632と、周辺状況検知結果639又は制動情報を用いて、自車両600の周辺状況を検知する(S673)。そして、自律動作制御部629は、周辺状況検知部628による周辺状況検知結果に基づき自車両600の自律動作(自動運転)を制御する(S671)。
【0293】
次に、上記三次元データ作成装置620Aに送信データ638を送信する三次元データ送信装置640Aについて説明する。
図32は、この三次元データ送信装置640Aのブロック図である。
【0294】
図32に示す三次元データ送信装置640Aは、
図28に示す三次元データ送信装置640の構成に加え、さらに、伝送可否判定部646を備える。また、三次元データ送信装置640Aは、周辺車両601に含まれる。
【0295】
図33は、三次元データ送信装置640Aの動作例を示すフローチャートである。まず、三次元データ作成部641は、周辺車両601が備えるセンサで検知したセンサ情報651を用いて第5三次元データ652を作成する(S681)。
【0296】
次に、受信部642は、自車両600から、三次元データの伝送要求を依頼する依頼信号637を受信する(S682)。次に、伝送可否判定部646は、依頼信号637で示される依頼に応じるかどうかを決定する(S683)。例えば、伝送可否判定部646は、ユーザにより予め設定されている内容に基づき、依頼に応じるかどうかを決定する。なお、受信部642が要求範囲などの相手のリクエストを先に受け取り、伝送可否判定部646は、その内容によって依頼に応じるかどうか決定してもよい。例えば、伝送可否判定部646は、要求範囲の三次元データを所持している場合に、依頼に応じると決定し、要求範囲の三次元データを所持していない場合に、依頼に応じないと決定してもよい。
【0297】
依頼に応じる場合(S683でYes)、三次元データ送信装置640Aは許可信号を自車両600に送信し、受信部642は要求範囲を示す要求範囲情報633を受信する(S684)。次に、抽出部643は、ポイントクラウドである第5三次元データ652から要求範囲のポイントクラウドを切り出し、切り出したポイントクラウドのSWLDである第6三次元データ654を含む送信データ638を作成する(S685)。
【0298】
つまり、三次元データ送信装置640Aは、センサ情報651から第7三次元データ(WLD)を作成し、第7三次元データ(WLD)から特徴量が閾値以上のデータを抽出することで第5三次元データ652(SWLD)を作成する。なお、三次元データ作成部641が予めSWLDの三次元データを作成しておき、抽出部643においてSWLDの三次元データから要求範囲のSWLDの三次元データが抽出されてもよいし、抽出部643が、要求範囲のWLDの三次元データから要求範囲のSWLDの三次元データを生成してもよい。
【0299】
また、送信データ638は、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報を含んでもよい。また、送信データ638は、第6三次元データ654を含まず、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報のうちの少なくとも一方のみを含んでもよい。
【0300】
送信データ638が第6三次元データ654を含む場合(S686でYes)、符号化部644は、第6三次元データ654を符号化することで符号化三次元データ634を生成する(S687)。
【0301】
そして、送信部645は、符号化三次元データ634を含む送信データ638を自車両600に送信する(S688)。
【0302】
一方、送信データ638が第6三次元データ654を含まない場合(S686でNo)、送信部645は、周辺車両601による要求範囲の周辺状況検知結果639、及び、周辺車両601の制動情報の少なくとも一方を含む送信データ638を自車両600に送信する(S688)。
【0303】
以下、本実施の形態の変形例について説明する。
【0304】
例えば、周辺車両601から伝送される情報は、周辺車両が作成した三次元データ又は周辺状況検知結果でなくてもよく、周辺車両601自身の正確な特徴点情報であってもよい。自車両600は、この周辺車両601の特徴点情報を用いて、自車両600で取得したポイントクラウド内の前走車の特徴点情報を補正する。これにより、自車両600は、自己位置推定時のマッチング精度を向上できる。
【0305】
また、前走車の特徴点情報は、例えば、色情報及び座標情報からなる三次元点情報である。これにより、自車両600のセンサがレーザセンサであっても、ステレオカメラであっても、その種類に依存することなく前走車の特徴点情報を使用できる。
【0306】
なお、自車両600は、伝送時に限らず、自己位置推定時の精度を算出する際に、SWLDのポイントクラウドを用いてもよい。例えば、自車両600のセンサがステレオカメラなどの撮像装置である場合、自車両600がカメラで撮影した画像上で二次元点を検出し、その二次元点を用いて自己位置を推定する。また、自車両600は、自己位置と同時に周辺物体のポイントクラウドを作成する。自車両600は、その中のSWLDの三次元点を二次元画像上に再投影し、二次元画像上での検出点と再投影点との誤差に基づき自己位置推定の精度を評価する。
【0307】
また、自車両600のセンサがLIDARなどのレーザセンサである場合、自車両600は、作成したポイントクラウドのSWLDと、三次元地図のSWLDとを用いてIterative Closest Pointにより算出した誤差に基づき自己位置推定の精度を評価する。
【0308】
また、5Gなど基地局又はサーバ経由の通信状態が悪い場合には、自車両600は、周辺車両601から三次元地図を取得してもよい。
【0309】
また、自車両600の周辺の車両から取得できない遠方の情報を車車間通信により取得してもよい。例えば、自車両600は、数百メートル、又は数キロ先の発生直後の交通事故情報などを対向車からのすれ違い通信、又は周辺車両に順次伝えていくリレー方式などにより取得してもよい。この時、伝送されるデータのデータ形式が、動的三次元地図の上位レイヤのメタ情報として伝送される。
【0310】
また、周辺状況の検知結果、及び自車両600が検知した情報が、ユーザインタフェースを通じてユーザに提示されてもよい。例えば、カーナビの画面、又はフロントウィンドウへの重畳によりこれらの情報の提示が実現される。
【0311】
また、自動運転をサポートしておらず、クルーズコントロールを有する車両は、自動運転モードで走行中の周辺車両を発見し、当該周辺車両を追尾してもよい。
【0312】
また、自車両600は、三次元地図を取得できない、又はオクルージョン領域が多過ぎるなどの理由から自己位置推定が不可能な場合に動作モードを、自動運転モードから周辺車両の追尾モードに切り替えてもよい。
【0313】
また、追尾される車両には、追尾されていることをユーザに警告し、追尾を許可するかどうかをユーザが指定できるユーザインタフェースが搭載されてもよい。その際、追尾する車両に広告表示し、追尾される側にインセンティブを支払うなどの仕組みが設けられてもよい。
【0314】
また、伝送される情報は、三次元データであるSWLDを基本とするが、自車両600に設定されている要求設定又は前走車の公開設定に応じた情報であってもよい。例えば、伝送される情報は、密なポイントクラウドであるWLDでもよいし、前走車による周辺状況の検知結果でもよいし、前走車の制動情報でもよい。
【0315】
また、自車両600は、WLDを受信し、WLDの三次元データを視覚化し、視覚化した三次元データをGUIを用いてドライバに提示してもよい。その際、自車両600は、自車両600で作成したポイントクラウドと受信したポイントクラウドとをユーザが区別できるように、情報に色分けなどを施して提示してもよい。
【0316】
また、自車両600は、自車両600で検知した情報と周辺車両601の検知結果とをGUIでドライバに提示する場合、自車両600で検知した情報と受信した検知結果とをユーザが区別できるのうように、情報に色分けなどを施して提示してもよい。
【0317】
以上のように、本実施の形態に係る三次元データ作成装置620では、三次元データ作成部621は、センサで検知したセンサ情報631から第1三次元データ632を作成する。受信部624は、第2三次元データ635が符号化された符号化三次元データ634を受信する。復号部625は、受信した符号化三次元データ634を復号することで第2三次元データ635を取得する。合成部626は、第1三次元データ632と第2三次元データ635とを合成することで第3三次元データ636を作成する。
【0318】
これによれば、三次元データ作成装置620は、作成した第1三次元データ632と、受信した第2三次元データ635とを用いて、詳細な第3三次元データ636を作成できる。
【0319】
また、合成部626は、第1三次元データ632と第2三次元データ635を合成することで、第1三次元データ632及び第2三次元データ635よりも密度が高い第3三次元データ636を作成する。
【0320】
また、第2三次元データ635(例えばSWLD)は、第4三次元データ(例えばWLD)から特徴量が閾値以上のデータが抽出されることで生成された三次元データである。
【0321】
これによれば、三次元データ作成装置620は、伝送される三次元データのデータ量を削減できる。
【0322】
また、三次元データ作成装置620は、さらに、符号化三次元データ634の送信元である送信装置を探索する探索部623を含む。受信部624は、探索された送信装置から符号化三次元データ634を受信する。
【0323】
これによれば、三次元データ作成装置620は、例えば、必要な三次元データを所有する送信装置を探索により特定できる。
【0324】
また、三次元データ作成装置は、さらに、三次元データを要求する三次元空間の範囲である要求範囲を決定する要求範囲決定部622を備える。探索部623は、要求範囲を示す要求範囲情報633を送信装置に送信する。第2三次元データ635は、要求範囲の三次元データを含む。
【0325】
これによれば、三次元データ作成装置620は、必要な三次元データを受信できるとともに、伝送される三次元データのデータ量を削減できる。
【0326】
また、要求範囲決定部622は、センサで検知できないオクルージョン領域604を含む空間範囲を要求範囲に決定する。
【0327】
また、本実施の形態に係る三次元データ送信装置640では、三次元データ作成部641は、センサで検知したセンサ情報651から第5三次元データ652を作成する。抽出部643は、第5三次元データ652の一部を抽出することで第6三次元データ654を作成する。符号化部644は、第6三次元データ654を符号化することで符号化三次元データ634を生成する。送信部645は、符号化三次元データ634を送信する。
【0328】
これによれば、三次元データ送信装置640は、自身が作成した三次元データを他の装置に送信できるとともに、伝送される三次元データのデータ量を削減できる。
【0329】
また、三次元データ作成部641は、センサで検知したセンサ情報651から第7三次元データ(例えばWLD)を作成し、第7三次元データから特徴量が閾値以上のデータを抽出することで第5三次元データ652(例えばSWLD)を作成する。
【0330】
これによれば、三次元データ送信装置640は、伝送される三次元データのデータ量を削減できる。
【0331】
また、三次元データ送信装置640は、さらに、受信装置から、三次元データを要求する三次元空間の範囲である要求範囲を示す要求範囲情報633を受信する受信部642を含む。抽出部643は、第5三次元データ652から、要求範囲の三次元データを抽出することで第6三次元データ654を作成する。送信部645は、受信装置に符号化三次元データ634を送信する。
【0332】
これによれば、三次元データ送信装置640は、伝送される三次元データのデータ量を削減できる。
【0333】
(実施の形態4)
本実施の形態では、三次元マップに基づく自己位置推定における異常系の動作について説明する。
【0334】
車の自動運転、又は、ロボット、或いはドローンなどの飛行体などの移動体を自律的に移動させるなどの用途が今後拡大すると予想される。このような自律的な移動を実現する手段の一例として、移動体が、三次元マップ内における自らの位置を推定(自己位置推定)しながら、マップに従って走行する方法がある。
【0335】
自己位置推定は、三次元マップと、自車に搭載したレンジファインダー(LiDARなど)又はステレオカメラなどのセンサにより取得した自車周辺の三次元情報(以降、自車検知三次元データ)とをマッチングして、三次元マップ内の自車位置を推定することで実現できる。
【0336】
三次元マップは、HERE社が提唱するHDマップなどのように、三次元のポイントクラウドだけでなく、道路及び交差点の形状情報など二次元の地図データ、又は、渋滞及び事故などの実時間で変化する情報を含んでもよい。三次元データ、二次元データ、実時間で変化するメタデータなど複数のレイヤから三次元マップが構成され、装置は、必要なデータのみを取得、又は、参照することも可能である。
【0337】
ポイントクラウドのデータは、上述したSWLDであってもよいし、特徴点ではない点群データを含んでもよい。また、ポイントクラウドのデータの送受信は、1つ、または、複数のランダムアクセス単位を基本として行われる。
【0338】
三次元マップと自車検知三次元データとのマッチング方法として以下の方法を用いることができる。例えば、装置は、互いのポイントクラウドにおける点群の形状を比較し、特徴点間の類似度が高い部位が同一位置であると決定する。また、装置は、三次元マップがSWLDから構成される場合、SWLDを構成する特徴点と、自車検知三次元データから抽出した三次元特徴点とを比較してマッチングを行う。
【0339】
ここで、高精度に自己位置推定を行うためには、(A)三次元マップと自車検知三次元データが取得できており、かつ、(B)それらの精度が予め定められた基準を満たすことが必要となる。しかしながら、以下のような異常ケースでは、(A)又は(B)が満たせない。
【0340】
(1)三次元マップを通信経由で取得できない。
【0341】
(2)三次元マップが存在しない、又は、三次元マップを取得したが破損している。
【0342】
(3)自車のセンサが故障している、又は、悪天候のために、自車検知三次元データの生成精度が十分でない。
【0343】
これらの異常ケースに対処するための動作を、以下で説明する。以下では、車を例に動作を説明するが、以下の手法は、ロボット又はドローンなど、自律的に移動する動物体全般に対して適用できる。
【0344】
以下、三次元マップ又は自車検知三次元データにおける異常ケースに対応するための、本実施の形態に係る三次元情報処理装置の構成及び動作を説明する。
図34は、本実施の形態に係る三次元情報処理装置700の構成例を示すブロック図である。
図35は、三次元情報処理装置700による三次元情報処理方法のフローチャートである。
【0345】
三次元情報処理装置700は、例えば、自動車等の動物体に搭載される。
図34に示すように、三次元情報処理装置700は、三次元マップ取得部701と、自車検知データ取得部702と、異常ケース判定部703と、対処動作決定部704と、動作制御部705とを備える。
【0346】
なお、三次元情報処理装置700は、二次元画像を取得するカメラ、又は、超音波或いはレーザーを用いた一次元データのセンサなど、自車周辺の構造物又は動物体を検知するための図示しない二次元又は一次元のセンサを備えてもよい。また、三次元情報処理装置700は、三次元マップを4G或いは5Gなどの移動体通信網、又は、車車間通信或いは路車間通信により取得するための通信部(図示せず)を備えてもよい。
【0347】
図35に示すように、三次元マップ取得部701は、走行経路近傍の三次元マップ711を取得する(S701)。例えば、三次元マップ取得部701は、移動体通信網、又は、車車間通信或いは路車間通信により三次元マップ711を取得する。
【0348】
次に、自車検知データ取得部702は、センサ情報に基づいて自車検知三次元データ712を取得する(S702)。例えば、自車検知データ取得部702は、自車が備えるセンサにより取得されたセンサ情報に基づき、自車検知三次元データ712を生成する。
【0349】
次に、異常ケース判定部703は、取得した三次元マップ711及び自車検知三次元データ712の少なくとも一方に対して予め定められたチェックを実施することで異常ケースを検出する(S703)。つまり、異常ケース判定部703は、取得した三次元マップ711及び自車検知三次元データ712の少なくとも一方が異常であるかを判定する。
【0350】
ステップS703において、異常ケースが検出された場合(S704でYes)、対処動作決定部704は、異常ケースに対する対処動作を決定する(S705)。次に、動作制御部705は、三次元マップ取得部701など、対処動作の実施に必要となる各処理部の動作を制御する(S706)。
【0351】
一方、ステップS703において、異常ケースが検出されない場合(S704でNo)、三次元情報処理装置700は、処理を終了する。
【0352】
また、三次元情報処理装置700は、三次元マップ711と自車検知三次元データ712とを用いて、三次元情報処理装置700を有する車両の自己位置推定を行う。次に、三次元情報処理装置700は、自己位置推定の結果を用いて、当該車両を自動運転する。
【0353】
このように、三次元情報処理装置700は、第1の三次元位置情報を含むマップデータ(三次元マップ711)を通信路を介して取得する。例えば、第1の三次元位置情報は、三次元の座標情報を有する部分空間を単位として符号化され、各々が1以上の部分空間の集合体であり、各々を独立に復号可能な複数のランダムアクセス単位を含む。例えば、第1の三次元位置情報は、三次元の特徴量が所定の閾値以上となる特徴点が符号化されたデータ(SWLD)である。
【0354】
また、三次元情報処理装置700は、センサで検知した情報から第2の三次元位置情報(自車検知三次元データ712)を生成する。次に、三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報に対して異常判定処理を実施することで、第1の三次元位置情報又は前記第2の三次元位置情報が異常であるかどうかを判定する。
【0355】
三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報が異常であると判定された場合、当該異常に対する対処動作を決定する。次に、三次元情報処理装置700は、対処動作の実施に必要となる制御を実施する。
【0356】
これにより、三次元情報処理装置700は、第1の三次元位置情報又は第2の三次元位置情報の異常を検知し、対処動作を行うことができる。
【0357】
以下、異常ケース1である、三次元マップ711が通信経由で取得できない場合に対する対処動作について説明する。
【0358】
自己位置推定には三次元マップ711が必要であるが、車両は、目的地までの経路に対応する三次元マップ711を予め取得していない場合には、三次元マップ711を通信により取得する必要がある。しかしながら、通信路の輻輳又は電波受信状態の悪化などにより、車両が、走行系路上の三次元マップ711を取得できないことがある。
【0359】
異常ケース判定部703は、目的地までの経路上の全ての区間、又は、現在位置から所定の範囲内の区間における三次元マップ711が取得済みであるかを確認し、取得できていない場合は異常ケース1と判定する。つまり、異常ケース判定部703は、三次元マップ711(第1の三次元位置情報)を通信路を介して取得できるかどうかを判定し、三次元マップ711を通信路を介して取得できない場合、三次元マップ711が異常であると判定する。
【0360】
異常ケース1と判定された場合、対処動作決定部704は、(1)自己位置推定を継続する、及び、(2)自己位置推定を停止する、の2つのタイプの対処動作のうち一方を選択する。
【0361】
まず、(1)自己位置推定を継続する場合の対処動作の具体例について説明する。自己位置推定を継続する場合には、目的地までの経路上の三次元マップ711が必要となる。
【0362】
例えば、車両は、三次元マップ711を取得済みの範囲内で通信路が利用可能な場所を判定し、その場所まで移動して、三次元マップ711を取得する。このとき、車両は、目的地までの全ての三次元マップ711を取得してもよいし、自車のメモリ或いはHDDなどの記録部に保持できる上限サイズ内でランダムアクセス単位毎に三次元マップ711を取得してもよい。
【0363】
なお、車両は、経路上の通信状態を別途取得し、経路上の通信状態が不良となることが予測できる場合には、通信状態が不良である区間に到達する前に当該区間の三次元マップ711を予め取得しておく、又は、取得可能な最大限の範囲の三次元マップ711を取得しておくように動作してもよい。つまり、三次元情報処理装置700は、車両が通信状態が悪い領域に進入するかを予測する。三次元情報処理装置700は、車両が通信状態が悪い領域に進入すると予測された場合、当該車両が当該領域に侵入するまえに、三次元マップ711を取得する。
【0364】
また、車両は、通常時よりも狭い範囲となる、経路上の自己位置推定に必要な最小限の三次元マップ711を構成するランダムアクセス単位を特定し、特定したランダムアクセス単位を受信してもよい。つまり、三次元情報処理装置700は、三次元マップ711(第1の三次元位置情報)を通信路を介して取得できない場合、第1の三次元位置情報より狭い範囲の第3の三次元位置情報を通信路を介して取得してもよい。
【0365】
また、車両は、三次元マップ711の配信サーバへのアクセスができない場合において、自車周辺を走行中の他車など、目的地までの経路上の三次元マップ711を取得済みであり、かつ、自車と通信可能な移動体から、三次元マップ711を取得してもよい。
【0366】
次に、(2)自己位置推定を停止する場合の対処動作の具体例を説明する。この場合、目的地までの経路上の三次元マップ711は不要である。
【0367】
例えば、車両は、自己位置推定に基づく自動運転などの機能が継続できない旨を運転者に通知し、動作モードを、運転者が運転を行うマニュアルモードに移行する。
【0368】
通常、自己位置推定を行う際は、人の介在度に応じたレベルの違いはあるものの、自動運転が行われる。一方で、自己位置推定の結果は、人が運転する際のナビゲーション等としての利用することも可能である。よって、自己位置推定の結果は、必ずしも自動運転に使用されてなくてもよい。
【0369】
また、車両は、4G又は5Gなどの移動体通信網など通常使用する通信路が利用できない場合は、路車間のWi‐Fi(登録商標)或いはミリ波通信、又は、車車間の通信など、別の通信路経由で三次元マップ711を取得できるかどうかを確認し、使用する通信路を、三次元マップ711を取得可能な通信路に切り替えてもよい。
【0370】
また、車両は、三次元マップ711を取得できない場合には、二次元マップを取得し、二次元マップと自車検知三次元データ712を用いて自動運転を継続してもよい。つまり、三次元情報処理装置700は、三次元マップ711を通信路を介して取得できない場合、二次元位置情報を含むマップデータ(二次元マップ)を通信路を介して取得し、二次元位置情報と自車検知三次元データ712とを用いて車両の自己位置推定を行ってもよい。
【0371】
具体的には、車両は、自己位置推定には、二次元マップと自車検知三次元データ712を使用し、周辺の車両、歩行者、及び障害物などの検知には自車検知三次元データ712を用いる。
【0372】
ここで、HDマップなどの地図データには、三次元のポイントクラウドなどから構成される三次元マップ711と共に、二次元の地図データ(二次元マップ)と、二次元の地図データから道路形状或いは交差点などの特徴的な情報を抜き出した簡易版の地図データと、渋滞、事故又は工事などの実時間情報を表すメタデータとを含めることができる。例えば、地図データは、下位レイヤから順に、三次元データ(三次元マップ711)、二次元データ(二次元マップ)、メタデータが配置されたレイヤ構造を有する。
【0373】
ここで、二次元のデータは、三次元のデータに比べてデータサイズが小さい。よって、通信状態が悪くても車両は二次元マップを取得できる場合がある。または、車両は、通信状態が良い区間においてまとめて広い範囲の二次元マップを取得できる。従って、車両は、通信路の状態が悪く、三次元マップ711の取得が困難である場合は、三次元マップ711を受信せずに、二次元マップを含むレイヤを受信してもよい。なお、メタデータはデータサイズが小さいため、例えば、車両は、メタデータを通信状態によらず常に受信する。
【0374】
二次元マップと自車検知三次元データ712を用いた自己位置推定の方法には、例えば、以下の2通りの方法がある。
【0375】
第1の方法は、二次元特量のマッチングを行う方法である。具体的には、車両は、自車検知三次元データ712から二次元の特徴量を抽出し、抽出した二次元の特徴量と二次元マップとのマッチングを行う。
【0376】
例えば、車両は、自車検知三次元データ712を二次元マップと同一の平面に投影し、得られた二次元データと、二次元マップとをマッチングする。マッチングは、両者から抽出された二次元の画像特徴量を用いて行われる。
【0377】
三次元マップ711がSWLDを含む場合は、三次元マップ711は、三次元空間内の特徴点における三次元特徴量とともに、二次元マップと同一平面における二次元の特徴量を格納しておいてもよい。例えば、二次元の特徴量には識別情報が付与される。または、二次元の特徴量は、三次元データ及び二次元マップとは別レイヤに格納され、車両は、二次元マップと共に、二次元の特徴量のデータを取得する。
【0378】
二次元マップが道路内の白線、ガードレール及び建物など、地上からの高さが異なる(同一平面内にない)位置の情報を同一マップ内に示す場合には、車両は、自車検知三次元データ712における複数の高さのデータから特徴量を抽出する。
【0379】
また、二次元マップにおける特徴点と三次元マップ711における特徴点との対応関係を示す情報が、地図データのメタ情報として格納されてもよい。
【0380】
第2の方法は、三次元特徴量のマッチングを行う方法である。具体的には、車両は、二次元マップにおける特徴点に対応する三次元特徴量を取得し、取得した三次元特徴量と、自車検知三次元データ712の三次元特徴量とをマッチングする。
【0381】
具体的には、二次元マップにおける特徴点に対応する三次元特徴量が地図データに格納される。車両は、二次元マップの取得時に、この三次元特徴量を合わせて取得する。なお、三次元マップ711がSWLDを含む場合は、SWLDにおける特徴点のうち、二次元マップの特徴点に対応する特徴点を識別する情報を付与することで、車両は、識別情報に基づいて、二次元マップと合わせて取得する三次元特徴量を決定できる。なお、この場合、二次元位置を表現できればよいので、三次元位置を表現する場合に比べて、データ量を削減できる。
【0382】
また、二次元マップを使用して自己位置推定する際には、三次元マップ711よりも自己位置推定の精度が低下する。従って、車両は、推定精度が低下しても自動運転を継続できるかどうか判定し、継続可と判定された場合にのみ、自動運転を継続してもよい。
【0383】
自動運転が継続できるかは、車両が走行中の道路が市街地、又は、高速道路など他の車両又は歩行者の進入が少ない道路であるか、道幅或いは道路の混雑度(車両又は歩行者の密度)などの走行環境にも影響される。さらに、事業所の敷地、街、又は建物内などには、カメラなどのセンサで認識するためのマーカーを配置することも可能である。これら特定エリアにおいては、二次元のセンサによってマーカーを高精度に認識できるため、例えば、二次元マップ内にマーカーの位置情報を含めることで、自己位置推定を高精度に実施できる。
【0384】
また、マップ内に各エリアが特定エリアであるかどうかを示す識別情報を含めることなどにより、車両は、当該車両が特定エリア内に存在するかを判定できる。車両は、当該車両が特定エリア内に存在する場合には、自動運転を継続すると判定する。このように、車両は、二次元マップ使用時の自己位置推定の精度、又は車両の走行環境に基づいて、自動運転継続の可否を判定してもよい。
【0385】
このように、三次元情報処理装置700は、車両の走行環境(移動体の移動環境)に基づき、二次元マップと自車検知三次元データ712とを用いた車両の自己位置推定の結果を用いた車両の自動運転を行うか否かを判定する。
【0386】
また、車両は、自動運転継続の可否でなはなく、自己位置推定の精度又は車両の走行環境に応じて、自動運転のレベル(モード)を切り替えてもよい。ここで自動運転のレベル(モード)を切り替えるとは、例えば、速度を制限する、ドライバーの操作量を増やす(自動運転の自動レベルを下げる)、前方を走る車の運転情報を得てそれを参考に運転するモードに切り替える、同一の目的地を設定している車の運転情報を得てそれを用いて自動運転するモードに切り替える、などである。
【0387】
また、マップは、位置情報と対応付けられた、二次元マップを用いて自己位置推定する場合の自動運転の推奨レベルを示す情報を含んでもよい。推奨レベルは、交通量などに応じて動的に変化するメタデータであってもよい。これにより、車両は、周辺の環境等に応じて逐次レベルを判定することなく、マップ内の情報を取得するだけでレベルを決定できる。また、複数の車両が同一マップを参照することで、個々の車両の自動運転のレベルを一定に保つことができる。なお、推奨レベルは、推奨ではなく、遵守が必須であるレベルであってもよい。
【0388】
また、車両は、運転者の有無(有人及び無人のいずれであるか)に応じて、自動運転のレベルの切り替えを行ってもよい。例えば、車両は、有人であれば自動運転のレベルを下げ、無人の場合には停止する。車両は、安全に停止できる位置を、周辺の通行者、車両及び交通標識を認識することによって判定する。または、マップは、車両が安全に停止できる位置を示す位置情報を含み、車両は当該位置情報を参照して安全に停止できる位置を判定してもよい。
【0389】
次に、異常ケース2である、三次元マップ711が存在しない、又は、三次元マップ711を取得したが破損している場合に対する対処動作について説明する。
【0390】
異常ケース判定部703は、(1)目的地までの経路上の一部或いは全ての区間における三次元マップ711が、アクセス先となる配信サーバなどに存在せず、取得できない、又は、(2)取得済みの三次元マップ711の一部或いは全てが破損している、のいずれかに当てはまるかを確認し、当てはまる場合には異常ケース2と判定する。つまり、異常ケース判定部703は、三次元マップ711のデータが完全であるかどうかを判定し、三次元マップ711のデータが完全でない場合、三次元マップ711が異常であると判定する。
【0391】
異常ケース2と判定された場合、以下の対処動作が行われる。まず、(1)三次元マップ711を取得できない場合の対処動作の例を説明する。
【0392】
例えば、車両は、三次元マップ711が存在しない区間を通らない経路を設定する。
【0393】
また、車両は、代替の経路が存在しない、又は、代替の経路が存在するが距離が大幅に増加するなどの理由から、代替の経路が設定できない場合は、三次元マップ711が存在しない区間を含む経路を設定する。また、車両は、当該区間では運転者に、運転モードを切り替える旨を通知し、運転モードをマニュアルモードに切り替える。
【0394】
(2)取得済みの三次元マップ711の一部或いは全てが破損している場合には以下の対処動作が行われる。
【0395】
車両は、三次元マップ711における破損部位を特定し、通信により破損部位のデータを要求し、当該破損部位のデータを取得して、取得したデータを用いて三次元マップ711を更新する。このとき、車両は、破損部位を、三次元マップ711における絶対座標又は相対座標などの位置情報により指定してもよいし、破損部位を構成するランダムアクセス単位のインデックス番号などにより指定してもよい。この場合、車両は、破損部位を含むランダムアクセス単位を、取得したランダムアクセス単位で置き換える。
【0396】
次に、異常ケース3である、自車のセンサが故障又は悪天候のために、自車検知三次元データ712が生成できない場合に対する対処動作について説明する。
【0397】
異常ケース判定部703は、自車検知三次元データ712の生成誤差が許容範囲内であるかを確認し、許容範囲でなければ異常ケース3と判定する。つまり、異常ケース判定部703は、自車検知三次元データ712のデータの生成精度が基準値以上であるかどうかを判定し、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、自車検知三次元データ712が異常であると判定する。
【0398】
自車検知三次元データ712の生成誤差が許容範囲内であるかどうかの確認方法としては以下の方法を用いることができる。
【0399】
レンジファインダー又はステレオカメラなど自車の三次元センサにおける奥行き方向及びスキャン方向の分解能、又は、生成可能な点群の密度などに基づいて、正常動作時の自車検知三次元データ712の空間分解能が予め決定される。また、車両は、三次元マップ711の空間分解能を、三次元マップ711に含まれるメタ情報などから取得する。
【0400】
車両は、両者の空間分解能を用いて、自車検知三次元データ712と三次元マップ711とを、三次元特徴量などに基づいてマッチングする際のマッチング誤差の基準値を推定する。マッチング誤差としては、特徴点毎の三次元特徴量の誤差、複数の特徴点間の三次元特徴量の誤差の平均値などの統計量、又は、複数の特徴点間の空間的な距離の誤差などを利用できる。基準値からのズレの許容範囲は予め設定される。
【0401】
車両は、走行開始前又は走行中に生成した自車検知三次元データ712と三次元マップ711とのマッチング誤差が許容範囲内でなければ、異常ケース3と判定する。
【0402】
または、車両は、精度チェック用の既知の三次元形状を有するテストパターンを用いて、走行開始前などにテストパターンに対する自車検知三次元データ712を取得し、形状誤差が許容範囲内であるかに基づいて異常ケース3であるかを判定してもよい。
【0403】
例えば、車両は、走行開始前に毎回、上記判定を行う。または、車両は、走行中に一定の時間間隔などで上記判定を行うことで、マッチング誤差の時系列変化を取得する。車両は、マッチング誤差が増加傾向にある際には、誤差が許容範囲内であっても異常ケース3と判定してもよい。また、車両は、時系列変化に基づいて、異常となることが予測できる場合には、検査又は修理を促す旨のメッセージを表示するなど、ユーザーに異常となることが予測されたことを通知してもよい。また、車両は、悪天候など一過性の要因に基づく異常と、センサの故障に基づく異常とを、時系列変化により判定し、センサの故障に基づく異常のみをユーザーに通知してもよい。
【0404】
また、車両は、異常ケース3と判定された場合、(1)非常用の代替センサを作動させる(レスキューモード)、(2)運転モードを切り替える、(3)三次元センサの動作補正を行う、の3つのタイプの対処動作のいずれか、又はこれらを選択的に行う。
【0405】
まず、(1)非常用の代替センサを作動する場合について説明する。車両は、通常運転時に使用する三次元センサとは異なる、非常用の代替センサを作動させる。つまり、三次元情報処理装置700は、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、通常のセンサとは異なる代替センサで検知した情報から自車検知三次元データ712(第4の三次元位置情報)を生成する。
【0406】
具体的には、車両が、複数のカメラ又はLiDARを併用して自車検知三次元データ712を取得する場合には、車両は、自車検知三次元データ712のマッチング誤差が許容範囲を超える方向などに基づいて、動作不良のセンサを特定する。そして、車両は、動作不良のセンサに対応する代替センサを作動する。
【0407】
代替センサは、三次元センサであってもよいし、二次元画像を取得できるカメラであってもよいし、超音波などの一次元センサなどであってもよい。代替センサが三次元センサ以外のセンサの場合には、自己位置推定の精度が低下する、又は、自己位置推定ができないことがあるため、車両は、代替センサの種類に応じて自動運転のモードを切り替えてもよい。
【0408】
例えば、車両は、代替センサが三次元センサである場合には自動運転モードを継続する。また、車両は、代替センサが二次元センサである場合には、完全自動運転から人の運転操作を前提とする準自動運転モードに運転モードを変更する。また、車両は、代替センサが一次元センサである場合には、自動的な制動制御を行わないマニュアルモードに運転モードを切り替える。
【0409】
また、車両は、走行環境に基づいて自動運転モードを切り替えてもよい。例えば、車両は、代替センサが二次元センサである場合において、高速道路を走行中であれば完全自動運転モードを継続し、市街地を走行中であれば運転モードを準自動運転モードに切り替える。
【0410】
また、車両は、代替センサが存在しない場合であっても、正常に動作しているセンサのみで十分な数の特徴点が取得できれば、自己位置推定を継続してもよい。ただし、特定方向に対する検知が不能になるため、車両は、運転モードを、準自動運転又はマニュアルモードに切り替える。
【0411】
次に、(2)運転モードを切り替える対処動作について説明する。車両は、自動運転モードからマニュアルモードに運転モードを切り替える。または、車両は、路肩などの安全に停止できる場所まで自動運転を継続し、停止してもよい。また、車両は、停止後に運転モードをマニュアルモードに切り替えてもよい。このように、三次元情報処理装置700は、自車検知三次元データ712の生成精度が基準値以上でない場合、自動運転のモードを切り替える。
【0412】
次に(3)三次元センサの動作補正を行う対処動作について説明する。車両は、マッチング誤差が発生する方向などから動作不良の三次元センサを特定し、特定したセンサのキャリブレーションを行う。具体的には、センサとして、複数のLiDAR又はカメラが使用され場合には、各センサにより再構成される三次元空間の一部がオーバーラップする。すなわち、オーバーラップ部分のデータは、複数のセンサにより取得される。正常なセンサと動作不良のセンサとでは、オーバーラップ部分に対して取得される三次元の点群データが異なる。従って、車両は、動作不良のセンサが正常なセンサと同等の三次元の点群データを取得できるように、LiDARの原点補正を行う、又は、カメラの露出或いはフォーカスなど、予め定めた箇所の動作を調整する。
【0413】
車両は、調整後に、マッチング誤差が許容範囲内に収まれば、直前の運転モードを継続する。一方、調整後も、マッチング精度が許容範囲内に収まらなければ、車両は、上記(1)非常用の代替センサを作動する対処動作、又は(2)運転モードを切り替える対処動作を行う。
【0414】
このように、三次元情報処理装置700は、自車検知三次元データ712のデータの生成精度が基準値以上でない場合、センサの動作補正を行う。
【0415】
以下、対処動作の選択方法について説明する。対処動作は、運転者などのユーザーが選択してもよいし、ユーザーを介さずに車両が自動的に選択してもよい。
【0416】
また、車両は、運転者が同乗しているかどうかに応じて制御を切り替えてもよい。例えば、運転者が同乗している場合には、車両は、マニュアルモードへの切り替えを優先する。一方、運転者が同乗しない場合には、車両は、安全な場所に移動して停止するモードを優先する。
【0417】
停止場所を示す情報は、三次元マップ711にメタ情報として含まれてもよい。または、車両は、自動運転者の運行情報を管理するサービスに対して停止場所の回答要求を発行し、停止場所を示す情報を取得してもよい。
【0418】
また、車両が既定の路線を運行する場合などでは、通信路を介してオペレータが車両の運行を管理するモードに車両の運転モードが移行されてもよい。特に、完全自動運転モードで走行中の車両における自己位置推定機能の異常は、危険性が高い。従って、車両は、異常ケースの検出時、又は、検出した異常を修正できない場合には、通信路を介して、運行情報を管理するサービスに対して異常の発生を通知する。当該サービスは、当該車両の周辺を走行中の車両などに、異常発生車両の存在を通知する、又は、近傍の停止場所を空けるように指示してもよい。
【0419】
また、車両は、異常ケースの検出時には、通常時よりも走行速度を落としてもよい。
【0420】
車両が、タクシーなどの配車サービスを行う自動運転車であり、当該車両に異常ケースが発生した場合には、当該車両は、運行管理センターに連絡を行い、安全な場所に停止する。また、配車サービスは、代わりの車両は配車する。または、配車サービスの利用者が車両を運転してもよい。これらのケースでは、料金の割引又は特典ポイントの付与なども併用されてもよい。
【0421】
また、異常ケース1の対処方法において、二次元マップに基づいて自己位置推定を行う方法について述べたが、通常時においても、二次元マップを用いて自己位置推定を行ってもよい。
図36は、この場合の自己位置推定処理のフローチャートである。
【0422】
まず、車両は、走行経路近傍の三次元マップ711を取得する(S711)。次に、車両は、センサ情報に基づいて自車検知三次元データ712を取得する(S712)。
【0423】
次に、車両は、自己位置推定に三次元マップ711が必要かどうかを判定する(S713)。具体的には、車両は、二次元マップ使用時の自己位置推定の精度と、走行環境に基づいて、三次元マップ711の要否を判定する。例えば、上述した異常ケース1の対処方法と同様の方法が用いられる。
【0424】
三次元マップ711が必要でないと判定された場合(S714でNo)、車両は、二次元マップを取得する(S715)。このとき、車両は、異常ケース1の対処方法で述べたような付加情報を合わせて取得してもよい。また、車両は、三次元マップ711から二次元マップを生成してもよい。例えば、車両は、三次元マップ711からに任意の平面を切り出すことで二次元マップを生成してもよい。
【0425】
次に、車両は、自車検知三次元データ712と二次元マップとを用いて自己位置推定を行う(S716)。なお、二次元マップを用いた自己位置推定の方法は、例えば、上述した異常ケース1の対処方法で述べて方法と同様である。
【0426】
一方、三次元マップ711が必要であると判定された場合(S714でYes)、車両は、三次元マップ711を取得する(S717)。次に、車両は、自車検知三次元データ712と三次元マップ711とを用いて自己位置推定を行う(S718)。
【0427】
なお、車両は、自車の通信機器の対応する速度、又は通信路の状況に応じて、二次元マップを基本として用いるか、三次元マップ711を基本として用いるかを切り替えてもよい。例えば、三次元マップ711を受信しながら走行する際に必要となる通信速度が予め設定され、車両は、走行時の通信速度が設定値以下の場合には二次元マップを基本として用い、走行時の通信速度が設定より大きい場合には三次元マップ711を基本として用いてもよい。なお、車両は、二次元マップ、または三次元マップのいずれを採用するか切り替える判定をせずに、二次元マップを基本として用いてもよい。
【0428】
(実施の形態5)
本実施の形態では、後続車両への三次元データ送信方法等について説明する。
図37は、後続車両等に送信する三次元データの対象空間の例を示す図である。
【0429】
車両801は、車両801の前方の車両801から距離Lにある幅W、高さH、深さDの直方体の空間802に含まれるポイントクラウド(点群)等の三次元データを、Δtの時間間隔で、道路状況を監視する交通監視クラウド又は後続車両へ送信する。
【0430】
車両801は、外部から空間802に車両又は人が進入するなどして過去に送信済みの空間802に含まれる三次元データに変化が生じた場合には、変化が生じた空間の三次元データについても送信する。
【0431】
なお、
図37では、空間802の形状が直方体である例を示すが、空間802は、後続車両から死角となっている前方道路上の空間を含んでいればよく、必ずしも直方体でなくてもよい。
【0432】
距離Lは、三次元データを受信した後続車両が安全に停止できる距離に設定されることが望ましい。例えば、距離Lは、後続車両が、三次元データの受信に要する間に移動する距離と、後続車両が、受信したデータに応じて減速を開始するまでに移動する距離と、後続車両が原則を開始してから安全に停止するのに要する距離との和に設定される。これらの距離は速度に応じて変化するので、L=a×V+b(a、bは定数)のように、距離Lが車両の速度Vに応じて変化してもよい。
【0433】
幅Wは、少なくとも車両801が走行している車線の幅よりも大きな値に設定される。更に望ましくは、幅Wは、左右の車線或いは路側帯など、隣接する空間が含まれる大きさに設定される。
【0434】
深さDは固定値でも良いが、D=c×V+d(c、dは定数)のように、車両の速度Vに応じて変化してもよい。また、D>V×ΔtとなるようにDを設定することで、送信する空間を過去に送信済みの空間と重複させることができる。これにより、車両801は、より確実に走路上の空間を漏れなく後続車両等に送信することができる。
【0435】
このように、車両801が送信する三次元データを後続車両にとって有用な空間に限定することで、送信する三次元データの容量を効果的に削減でき、通信の低遅延化及び低コスト化を実現できる。
【0436】
次に、本実施の形態に係る三次元データ作成装置810の構成を説明する。
図38は、本実施の形態に係る三次元データ作成装置810の構成例を示すブロック図である。この三次元データ作成装置810は、例えば、車両801に搭載される。三次元データ作成装置810は、外部の交通監視クラウド、前走車両又は後続車両と三次元データの送受信を行うとともに、三次元データを作成及び蓄積する。
【0437】
三次元データ作成装置810は、データ受信部811と、通信部812と、受信制御部813と、フォーマット変換部814と、複数のセンサ815と、三次元データ作成部816と、三次元データ合成部817と、三次元データ蓄積部818と、通信部819と、送信制御部820と、フォーマット変換部821と、データ送信部822とを備える。
【0438】
データ受信部811は、交通監視クラウド又は前走車両から三次元データ831を受信する。三次元データ831は、例えば、自車両のセンサ815で検知不能な領域を含む、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
【0439】
通信部812は、交通監視クラウド又は前走車両と通信し、データ送信要求などを交通監視クラウド又は前走車両に送信する。
【0440】
受信制御部813は、通信部812を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
【0441】
フォーマット変換部814は、データ受信部811が受信した三次元データ831にフォーマット変換等を行うことで三次元データ832を生成する。また、フォーマット変換部814は、三次元データ831が圧縮又は符号化されている場合には、伸張又は復号処理を行う。
【0442】
複数のセンサ815は、LIDAR、可視光カメラ又は赤外線カメラなどの、車両801の外部の情報を取得するセンサ群であり、センサ情報833を生成する。例えば、センサ情報833は、センサ815がLIDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ815は複数でなくてもよい。
【0443】
三次元データ作成部816は、センサ情報833から三次元データ834を生成する。三次元データ834は、例えば、ポイントクラウド、可視光映像、奥行き情報、センサ位置情報、又は速度情報などの情報を含む。
【0444】
三次元データ合成部817は、自車両のセンサ情報833に基づいて作成された三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ832を合成することで、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
【0445】
三次元データ蓄積部818は、生成された三次元データ835等を蓄積する。
【0446】
通信部819は、交通監視クラウド又は後続車両と通信し、データ送信要求などを交通監視クラウド又は後続車両に送信する。
【0447】
送信制御部820は、通信部819を介して、対応フォーマット等の情報を通信先と交換し、通信先と通信を確立する。また、送信制御部820は、三次元データ合成部817で生成された三次元データ832の三次元データ構築情報と、通信先からのデータ送信要求とに基づき、送信対象の三次元データの空間である送信領域を決定する。
【0448】
具体的には、送信制御部820は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む送信領域を決定する。また、送信制御部820は、三次元データ構築情報に基づいて送信可能な空間又は送信済み空間の更新有無等を判断することで送信領域を決定する。例えば、送信制御部820は、データ送信要求で指定された領域であり、かつ、対応する三次元データ835が存在する領域を送信領域に決定する。そして、送信制御部820は、通信先が対応するフォーマット、及び送信領域をフォーマット変換部821に通知する。
【0449】
フォーマット変換部821は、三次元データ蓄積部818に蓄積されている三次元データ835のうち、送信領域の三次元データ836を、受信側が対応しているフォーマットへ変換することで三次元データ837を生成する。なお、フォーマット変換部821は、三次元データ837を圧縮又は符号化することでデータ量を削減してもよい。
【0450】
データ送信部822は、三次元データ837を交通監視クラウド又は後続車両に送信する。この三次元データ837は、例えば、後続車両の死角になる領域を含む、自車両の前方のポイントクラウド、可視光映像、奥行き情報、又はセンサ位置情報などの情報を含む。
【0451】
なお、ここでは、フォーマット変換部814及び821にてフォーマット変換等が行われる例を述べたが、フォーマット変換は行われなくてもよい。
【0452】
このような構成により、三次元データ作成装置810は、自車両のセンサ815では検知できない領域の三次元データ831を外部から取得し、三次元データ831と自車両のセンサ815で検知したセンサ情報833に基づく三次元データ834とを合成することで三次元データ835を生成する。これにより、三次元データ作成装置810は、自車両のセンサ815で検知できない範囲の三次元データを生成できる。
【0453】
また、三次元データ作成装置810は、交通監視クラウド又は後続車両からのデータ送信要求に応じて、後続車両のセンサでは検知できない自車両の前方の空間を含む三次元データを、交通監視クラウド又は後続車両等へ送信できる。
【0454】
次に、三次元データ作成装置810における後続車両への三次元データの送信手順について説明する。
図39は、三次元データ作成装置810による交通監視クラウド又は後続車両へ三次元データを送信する手順の一例を示すフローチャートである。
【0455】
まず、三次元データ作成装置810は、自車両801の前方道路上の空間802を含む空間の三次元データ835を生成及び更新する(S801)。具体的には、三次元データ作成装置810は、自車両801のセンサ情報833に基づいて作成した三次元データ834に、交通監視クラウド又は前走車両等が作成した三次元データ831を合成するなどして、自車両のセンサ815では検知できない前走車両の前方の空間も含む三次元データ835を構築する。
【0456】
次に、三次元データ作成装置810は、送信済みの空間に含まれる三次元データ835が変化したかを判定する(S802)。
【0457】
送信済みの空間に外部から車両又は人が進入するなどして、当該空間に含まれる三次元データ835に変化が生じた場合には(S802でYes)、三次元データ作成装置810は、変化が生じた空間の三次元データ835を含む三次元データを交通監視クラウド又は後続車両に送信する(S803)。
【0458】
なお、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データの送信タイミングに合わせて送信してもよいが、変化を検知した後すぐに送信してもよい。つまり、三次元データ作成装置810は、変化が生じた空間の三次元データを、所定間隔で送信する三次元データよりも優先して送信してもよい。
【0459】
また、三次元データ作成装置810は、変化が生じた空間の三次元データとして、変化が生じた空間の三次元データの全てを送信してもよいし、三次元データの差分(例えば出現又は消失した三次元点の情報、又は三次元点の変位情報など)のみを送信してもよい。
【0460】
また、三次元データ作成装置810は、変化が生じた空間の三次元データに先行して、急制動警報など自車両の危険回避動作に関するメタデータを後続車両へ送信してもよい。これによれば、後続車両は前走車両の急制動などを早期に認知でき、より早期に減速などの危険回避動作を開始できる。
【0461】
送信済みの空間に含まれる三次元データ835に変化が生じていない場合(S802でNo)、又は、ステップS803の後、三次元データ作成装置810は、自車両801の前方距離Lにある所定の形状の空間に含まれる三次元データを、交通監視クラウド又は後続車両へ送信する(S804)。
【0462】
また、例えば、ステップS801~S804の処理は、所定の時間間隔で繰り返し行われる。
【0463】
また、三次元データ作成装置810は、現在の送信対象の空間802の三次元データ835と、三次元地図とに差がない場合には、空間802の三次元データ837を送信しなくてもよい。
【0464】
図40は、この場合の三次元データ作成装置810の動作を示すフローチャートである。
【0465】
まず、三次元データ作成装置810は、自車両801の前方道路上の空間802を含む空間の三次元データ835を生成及び更新する(S811)。
【0466】
次に、三次元データ作成装置810は、生成した空間802の三次元データ835に、三次元地図からの更新があるかを判定する(S812)。つまり、三次元データ作成装置810は、生成した空間802の三次元データ835と、三次元地図とに差があるかを判定する。ここで、三次元地図とは、交通監視クラウド等のインフラ側の装置で管理されている三次元の地図情報である。例えば、この三次元地図は、三次元データ831として取得される。
【0467】
更新がある場合(S812でYes)、三次元データ作成装置810は、上記と同様に、空間802に含まれる三次元データを、交通監視クラウド又は後続車両へ送信する(S813)。
【0468】
一方、更新がない場合(S812でNo)、三次元データ作成装置810は、空間802に含まれる三次元データを、交通監視クラウド及び後続車両へ送信しない(S814)。なお、三次元データ作成装置810は、空間802の体積をゼロに設定することで、空間802の三次元データが送信されないように制御してもよい。また、三次元データ作成装置810は、空間802に更新がないことを示す情報を、交通監視クラウド又は後続車両へ送信してもよい。
【0469】
以上により、例えば、道路上に障害物が無い場合には、生成された三次元データ835とインフラ側の三次元地図とに差が生じず、データの送信は行われない。このように、不要なデータの送信を抑制できる。
【0470】
なお、上記説明では、三次元データ作成装置810が車両に搭載される例を述べたが、三次元データ作成装置810は車両に限らず、任意の移動体に搭載されてもよい。
【0471】
以上のように、本実施の形態に係る三次元データ作成装置810は、センサ815と、三次元データを外部と送受信する通信部(データ受信部811又はデータ送信部822等)とを備える移動体に搭載される。三次元データ作成装置810は、センサ815で検知されたセンサ情報833と、データ受信部811が受信した三次元データ831(第1三次元データ)とに基づいて三次元データ835(第2三次元データ)を作成する。三次元データ作成装置810は、三次元データ835の一部である三次元データ837を外部に送信する。
【0472】
これにより、三次元データ作成装置810は、自車両で検知できない範囲の三次元データを生成できる。また、三次元データ作成装置810は、他の車両等が検知できない範囲の三次元データを、当該他の車両に送信できる。
【0473】
また、三次元データ作成装置810は、三次元データ835の作成と、三次元データ837の送信とを、所定の間隔で繰り返し行う。三次元データ837は、現在の車両801の位置から、車両801の移動方向前方の所定距離Lに位置する所定サイズの小空間802の三次元データである。
【0474】
これにより、送信される三次元データ837の範囲が制限されるので、送信される三次元データ837のデータ量を削減できる。
【0475】
また、所定距離Lは、車両801の移動速度Vに応じて変化する。例えば、移動速度Vが大きくなるほど、所定距離Lは長くなる。これにより、車両801は、車両801の移動速度Vに応じた適切な小空間802を設定し、当該小空間802の三次元データ837を後続車両等に送信できる。
【0476】
また、所定サイズは、車両801の移動速度Vに応じて変化する。例えば、移動速度Vが大きくなるほど、所定サイズは大きくなる。例えば、移動速度Vが大きくなるほど、小空間802の車両の移動方向の長さである深さDは大きくなる。これにより、車両801は、車両801の移動速度Vに応じた適切な小空間802を設定し、当該小空間802の三次元データ837を後続車両等に送信できる。
【0477】
また、三次元データ作成装置810は、送信済みの三次元データ837に対応する小空間802の三次元データ835に変化があるかを判定する。三次元データ作成装置810は、変化があると判定した場合、変化がある三次元データ835の少なくとも一部である三次元データ837(第4三次元データ)を外部の後続車両等に送信する。
【0478】
これにより、車両801は、変化があった空間の三次元データ837を後続車両等に送信できる。
【0479】
また、三次元データ作成装置810は、変化のあった三次元データ837(第4三次元データ)を、定期的に送信する通常の三次元データ837(第3三次元データ)よりも優先して送信する。具体的には、三次元データ作成装置810は、定期的に送信する通常の三次元データ837(第3三次元データ)の送信よりも前に変化のあった三次元データ837(第4三次元データ)を送信する。つまり、三次元データ作成装置810は、変化のあった三次元データ837(第4三次元データ)を、定期的に送信する通常の三次元データ837の送信を待たずに、非定期に送信する。
【0480】
これにより、車両801は、変化があった空間の三次元データ837を後続車両等に優先的に送信できるので、後続車両等は、三次元データに基づく判断を迅速に行える。
【0481】
また、変化のあった三次元データ837(第4三次元データ)は、送信済みの三次元データ837に対応する小空間802の三次元データ835と、変化後の三次元データ835との差分を示す。これにより、送信される三次元データ837のデータ量を削減できる。
【0482】
また、三次元データ作成装置810は、小空間802の三次元データ837と、小空間802の三次元データ831とに差がない場合、小空間802の三次元データ837を送信しない。さらに、三次元データ作成装置810は、小空間802の三次元データ837と、小空間802の三次元データ831とに差がないことを示す情報を外部に送信してもよい。
【0483】
これにより、不要な三次元データ837が送信されることを抑制できるので、送信される三次元データ837のデータ量を削減できる。
【0484】
(実施の形態6)
本実施の形態では、三次元マップ等から得られた情報を表示する表示装置及び表示方法、並びに、三次元マップ等の保存装置及び保存方法について説明する。
【0485】
車又はロボット等の移動体は、車の自動運転又はロボットの自律移動のために、サーバ又は他車との通信により得られる三次元マップ及び自車に搭載したセンサから得られる二次元映像或いは自車検知三次元データを活用する。これらのデータのうちユーザが視聴又は保存したいデータは状況により異なると考えられる。以下では状況に応じて表示を切り替える表示装置について説明する。
【0486】
図41は、表示装置による表示方法の概要を示すフローチャートである。表示装置は、車又はロボット等の移動体に搭載される。なお、以下では、移動体が車両(自動車)である例を説明する。
【0487】
まず、表示装置は、車両の運転状況に応じて、二次元周辺情報と三次元周辺情報とのいずれを表示するかを決定する(S901)。なお、二次元周辺情報は第1周辺情報に対応し、三次元周辺情報は第2周辺情報に対応する。ここで、周辺情報とは、移動体の周辺を示す情報であり、例えば、車両から所定の方向を見た映像、又は、車両の周辺の地図である。
【0488】
二次元周辺情報とは、二次元データを用いて生成された情報である。ここで二次元データとは、二次元の地図情報又は映像である。例えば、二次元周辺情報は、二次元マップから得られた車両周辺の地図、又は、車両に搭載されたカメラにより得られた映像である。また、二次元周辺情報は、例えば、三次元の情報を含まない。つまり、二次元周辺情報が車両周辺の地図である場合には、当該地図には高さ方向の情報が含まれない。また、二次元周辺情報がカメラにより得られた映像である場合には、当該映像は奥行き方向の情報を含まない。
【0489】
また、三次元周辺情報とは、三次元データを用いて生成された情報である。ここで、三次元データとは、例えば、三次元マップである。なお、三次元データは、他車両又はサーバから取得した、又は、自車両で検知した、車両周辺の対象物の三次元位置又は三次元形状を示す情報等であってもよい。例えば、三次元周辺情報は、三次元マップを用いて生成された、車両周辺の二次元又は三次元の映像又は地図である。また、三次元周辺情報は、例えば、三次元の情報を含む。例えば、三次元周辺情報が車両前方の映像である場合には、当該映像は当該映像内の対象物までの距離を示す情報を含む。または、当該映像において、例えば、前方の車両の奥に存在する歩行者等が表示される。また、三次元周辺情報は、車両に搭載されたセンサから得られる映像に、これらの距離又は歩行者等を示す情報が重畳されたものでもよい。また、三次元周辺情報は、二次元の地図に高さ方向の情報が重畳されたものであってもよい。
【0490】
また、三次元データが三次元表示されてもよいし、三次元データから得られた二次元映像又は二次元地図が二次元のディスプレイ等に表示されてもよい。
【0491】
ステップS901において三次元周辺情報を表示すると決定された場合(S902でYes)、表示装置は、三次元周辺情報を表示する(S903)。一方、ステップS901において二次元周辺情報を表示すると決定された場合(S902でNo)、表示装置は、二次元周辺情報を表示する(S904)。このように表示装置は、ステップS901で表示すると決定された三次元周辺情報又は二次元周辺情報を表示する。
【0492】
以下、具体例を説明する。第1の例では、表示装置は、車両が自動運転されているか、手動運転されているかに応じて、表示する周辺情報を切り替える。具体的には、自動運転時には、運転手は、詳細な周辺の道路情報を詳しく知る必要がないため、表示装置は、二次元周辺情報(例えば二次元マップ)を表示する。一方、手動運転時は安全な運転のために周辺の道路情報の詳細が分かるよう三次元周辺情報(例えば三次元マップ)を表示する。
【0493】
また、自動運転時は、自車がどのような情報に基づき運転を行っているかをユーザに示すため、表示装置は、運転操作に影響をあたえた情報(例えば、自己位置推定に利用したSWLD、車線、道路標識、及び周辺状況検知結果等)を表示してもよい。例えば、表示装置は、これらの情報を二次元マップに加えて表示してもよい。
【0494】
なお、上記自動運転時及び手動運転時に表示する周辺情報はあくまで一例であり、表示装置は、自動運転時に三次元周辺情報を表示し、手動運転時に二次元周辺情報を表示してもよい。また、表示装置は、自動運転時及び手動運転時の少なくとも一方において、二次元又は三次元の地図又は映像に加えて、メタデータ又は周辺状況検知結果を表示してもよいし、二次元又は三次元の地図又は映像の代わりにメタデータ又は周辺状況検知結果を表示してもよい。ここで、メタデータとは、サーバ又は他車両から取得した対象物の三次元位置又は三次元形状を示す情報である。また、周辺状況検知結果は、自車両で検知した対象物の三次元位置又は三次元形状を示す情報である。
【0495】
第2の例では、表示装置は、運転環境に応じて表示する周辺情報を切り替える。例えば、表示装置は、外界の明るさに応じて表示する周辺情報を切り替える。具体的には、表示装置は、自車周辺が明るい場合は、自車に搭載のカメラで得られる二次元映像、又は当該二次元映像を用いて作成された三次元周辺情報を表示する。一方、表示装置は、自車周辺が暗い場合は、自車に搭載のカメラから得られる二次元映像は暗くて視聴しにくいため、ライダー又はミリ波レーダーを用いて作成された三次元周辺情報を表示する。
【0496】
また、表示装置は、現在の自車両が存在する領域である運転領域によって表示する周辺情報を切り替えてもよい。例えば、表示装置は、観光地、都心部、又は目的地付近などでは周辺の建物の情報などをユーザに提供できるよう三次元周辺情報を表示する。一方、表示装置は、山間部、又は郊外などでは周辺の詳細情報が必要ないケースが多いと考えられるため、二次元周辺情報を表示する。
【0497】
また、表示装置は、天候状態に基づき表示する周辺情報を切り替えてもよい。例えば、表示装置は、晴天の場合はカメラ又はライダーを用いて作成した三次元周辺情報を表示する。一方、表示装置は、雨又は濃霧の場合はカメラ又はライダーによる三次元周辺情報にはノイズが含まれやすくなるためミリ波レーダーを用いて作成した三次元周辺情報を表示する。
【0498】
また、これら表示の切り替えはシステムが自動で実施してもよいし、ユーザが手動で実施してもよい。
【0499】
また、三次元周辺情報は、WLDに基づいて生成される密点群データ、MWLDに基づいて生成されるメッシュデータ、SWLDに基づいて生成されるスパースデータ、レーンワールドに基づいて生成されるレーンデータ、道路及び交差点の三次元の形状情報などを含む二次元の地図データ、並びに、実時間で変化する三次元位置又は三次元形状情報を含むメタデータ又は自車両検知結果のいずれか1つ以上のデータから生成される。
【0500】
なお、上述したようにWLDとは、三次元の点群データであり、SWLDは、WLDから特徴量が閾値以上である点群が抽出されることで得られたデータである。また、MWLDは、WLDから生成されたメッシュ構造を有するデータである。レーンワールドは、WLDから、特徴量が閾値以上であり、かつ、自己位置推定、運転アシスト、又は自動運転等に必要な点群が抽出されることで得られたデータである。
【0501】
ここで、MWLD及びSWLDは、WLDに比べデータ量が少ない。よって、より詳細データが必要な場合には、WLDを用い、そうでない場合にはMWLD又はSWLDを用いることで、通信データ量、及び処理量を適切に削減できる。また、レーンワールドは、SWLDに比べデータ量が少ない。よって、レーンワールドを用いることで、通信データ量、及び処理量をさらに削減できる。
【0502】
また、上記では二次元周辺情報と三次元周辺情報とを切り替える例を述べたが、表示装置は、上記の条件に基づき、三次元周辺情報の生成に使用するデータの種別(WLD、SWLD等)を切り替えてもよい。つまり、上記説明において、表示装置は、三次元周辺情報を表示するケースでは、よりデータ量の多い第1データ(例えばWLD又はSWLD)から生成された三次元周辺情報を表示し、二次元周辺情報を表示するケースでは、二次元周辺情報の代わりに上記第1データよりデータ量の少ない第2データ(例えばSWLD又はレーンワールド)から生成された三次元周辺情報を表示してもよい。
【0503】
また、表示装置は、二次元周辺情報又は三次元周辺情報を、例えば、自車に搭載された二次元ディスプレイ、ヘッドアップディスプレイ、又はヘッドマウントディスプレイに表示する。または、表示装置は、無線通信によりスマートフォンのようなモバイル端末に二次元周辺情報又は三次元周辺情報を転送し表示してもよい。つまり、表示装置は、移動体に搭載されるものに限らず、移動体と連携し、動作するものであればよい。例えば、スマートフォン等の表示装置を所持するユーザが移動体に搭乗した場合、又は移動体を運転する場合に、移動体の自己位置推定に基づく移動体の位置などの移動体の情報が表示装置に表示される、又は、これらの情報が周辺情報と共に表示装置に表示される。
【0504】
また、表示装置は、三次元マップを表示する際は、三次元マップをレンダリングし二次元データとして表示しても、三次元ディスプレイ又は三次元ホログラムを利用して三次元データとして表示してもよい。
【0505】
次に、三次元マップの保存方法について説明する。車又はロボット等の移動体は、車の自動運転又はロボットの自律移動のために、サーバ又は他車との通信により得られる三次元マップ、及び自車に搭載したセンサから得られる二次元映像、或いは自車検知三次元データを活用する。これらのデータのうちユーザが視聴又は保存したいデータは状況により異なると考えられる。以下では状況に応じたデータの保存方法について説明する。
【0506】
保存装置は、車又はロボット等の移動体に搭載される。なお、以下では、移動体が車両(自動車)である例を説明する。また、保存装置は、上述した表示装置に含まれてもよい。
【0507】
第1の例では、保存装置は、地域に基づき三次元マップを保存するか否かを決定する。ここで、三次元マップを自車の記憶媒体に保存することにより、保存した空間内ではサーバとの通信なしで自動運転が可能になる。しかし記憶容量に限界があるため限られたデータしか保存できない。そのため、保存装置は、以下に示すように保存する地域を限定する。
【0508】
例えば、保存装置は、通勤経路、又は自宅周辺など頻繁に通過する地域の三次元マップを優先的に保存する。これにより、頻繁に利用する地域のデータをその都度取得する必要がなくなるので、通信データ量を効果的に削減できる。なお、優先的に保存するとは、予め定められた記憶容量内により優先度の高いデータを保存することである。例えば、記憶容量内に新たなデータを保存できない場合には、当該新たなデータより優先度の低いデータが削除される。
【0509】
または、保存装置は、通信環境が悪い地域の三次元マップを優先的に保存する。これにより、通信環境が悪い地域において、通信によりデータを取得する必要がなくなるので、通信不良により三次元マップを取得できないケースの発生を抑制できる。
【0510】
または、保存装置は、交通量の多い地域の三次元マップを優先的に保存する。これにより、事故の発生が多い地域の三次元マップを優先的に保存できる。よって、このような地域において、通信不良により三次元マップが取得できず、自動運転又は運転支援の精度が低下することを抑制できる。
【0511】
または、保存装置は、交通量の少ない地域の三次元マップを優先的に保存する。ここで、交通量の少ない地域では、前走車を自動追従する自動運転モードが使用できない可能性が高くなる。これにより、より詳細な周辺情報が必要になるケースがある。よって、交通量の少ない地域の三次元マップを優先的に保存することで、このような地域における自動運転又は運転支援の精度を向上できる。
【0512】
なお、上記の複数の保存方法を組み合わせてもよい。また、これらの三次元マップを優先的に保存する地域はシステムにより自動的に決定されてもよいし、ユーザにより指定されてもよい。
【0513】
また、保存装置は、保存した後に所定期間が過ぎた三次元マップを削除してもよいし、最新のデータに更新してもよい。これにより、古い地図データが利用されないようにできる。また、保存装置は、地図データを更新する際は、古い地図と新しい地図とを比較することで、差分がある空間領域である差分領域を検出し、古い地図に、新しい地図の差分領域のデータを加える、又は古い地図から差分領域のデータを取り除くことにより、変化があった領域のデータのみを更新してもよい。
【0514】
また、この例では、保存された三次元マップは自動運転に利用される。よって、この三次元マップとしてSWLDを用いることで、通信データ量等を削減できる。なお、三次元マップはSWLDに限らず、WLD等の他の種別のデータであってもよい。
【0515】
第2の例では、保存装置は、イベントに基づき三次元マップを保存する。
【0516】
例えば、保存装置は、走行中に遭遇する特別なイベントを三次元マップとして保存する。これにより、ユーザは、後にイベントの詳細を視聴することなどが可能になる。以下に三次元マップとして保存するイベント例を示す。なお、保存装置は、三次元マップから生成された三次元周辺情報を保存してもよい。
【0517】
例えば、保存装置は、衝突事故の前後、又は危険察知時などに三次元マップを保存する。
【0518】
または、保存装置は、きれいな景色、人だかりの多い場所、又は観光地など、特徴的なシーンの三次元マップを保存する。
【0519】
これら保存するイベントはシステムにより自動的に決定されてもよいし、ユーザが事前に指定してもよい。例えば、これらのイベントを判定する方法として、機械学習が用いられてもよい。
【0520】
また、この例では、保存された三次元マップは視聴に利用される。よって、この三次元マップとしてWLDを用いることで、高画質な映像を提供できる。なお、三次元マップはWLDに限らず、SWLD等の他の種別のデータであってもよい。
【0521】
以下、表示装置が、ユーザに応じて表示を制御する方法について説明する。表示装置が、車車間通信で得られる周辺状況検知結果を地図に重畳し表示する際には、周辺車両をワイヤーフレームで表現する、又は周辺車両に透明度を付与して表現するなどして、周辺車両の奥にある検知物体を見えるようにする。あるいは、表示装置は、上空からの視点の映像表示し、自車、周辺車両及び周辺状況検知結果を俯瞰的に見えるようにしてもよい。
【0522】
図42に示すようなフロントガラス越しに見える周辺環境に、ヘッドアップディスプレイを用いて周辺状況検知結果又は点群データを重畳する場合、ユーザの姿勢、体型又は目の位置の違いにより情報を重畳する位置がずれる可能性がある。
図43は、位置がずれている場合のヘッドアップディスプレイの表示例を示す図である。
【0523】
このようなズレを補正するため、表示装置は、車内カメラ又は座席シートに搭載されたセンサ情報を利用しユーザの姿勢、体型又は目の位置を検出する。表示装置は、検知したユーザの姿勢、体型又は目の位置に応じて情報を重畳する位置を調整する。
図44は、調整後のヘッドアップディスプレイの表示例を示す図である。
【0524】
なお、このような重畳位置の調整を、車に搭載された制御装置を用いてユーザが手動で行ってもよい。
【0525】
また、表示装置は、災害時に安全な場所を地図上に示し、ユーザに提示してもよい。あるいは、車両は、災害内容及び安全な場所へ行く旨をユーザに伝え、安全な場所まで自動運転を行ってもよい。
【0526】
例えば、車両は、地震発生時には津波に巻き込まれないよう海抜高度が高い地域を目的に設定する。この際、車両は、サーバとの通信により地震により通行困難となった道路情報を獲得し、その道路を避けるルートをとるなど災害内容に応じた処理を行ってもよい。
【0527】
また、自動運転には移動モード、及びドライブモードなど複数のモードが含まれてもよい。
【0528】
移動モードでは、車両は、到着時間の早さ、料金の安さ、走行距離の短さ、及び消費エネルギーの低さなどを考慮し、目的地までのルートを決定し、決定したルートに従い自動運転を行う。
【0529】
ドライブモードでは、車両は、ユーザが指定した時間に目的地に着くよう自動的にルートを決定する。例えば、ユーザが目的地と到着時間を設定すると、車両は、周辺観光地をめぐり、設定時間に目的地に到着できるようなルートを決定し、決定したルートに従い自動運転を行う。
【0530】
(実施の形態7)
実施の形態5において、車両等のクライアント装置が、他の車両又は交通監視クラウド等のサーバに三次元データを送信する例を説明した。本実施の形態では、クライアント装置は、サーバ又は他のクライアント装置にセンサで得られたセンサ情報を送信する。
【0531】
まず、本実施の形態に係るシステムの構成を説明する。
図45は、本実施の形態に係る三次元マップ及びセンサ情報の送受信システムの構成を示す図である。このシステムは、サーバ901と、クライアント装置902A及び902Bを含む。なお、クライアント装置902A及び902Bを特に区別しない場合には、クライアント装置902とも記す。
【0532】
クライアント装置902は、例えば、車両等の移動体に搭載される車載機器である。サーバ901は、例えば、交通監視クラウド等であり、複数のクライアント装置902と通信可能である。
【0533】
サーバ901は、クライアント装置902に、ポイントクラウドから構成される三次元マップを送信する。なお、三次元マップの構成はポイントクラウドに限定されず、メッシュ構造等、他の三次元データを表すものであってもよい。
【0534】
クライアント装置902は、サーバ901に、クライアント装置902が取得したセンサ情報を送信する。センサ情報は、例えば、LIDAR取得情報、可視光画像、赤外画像、デプス画像、センサ位置情報及び速度情報のうち少なくとも一つを含む。
【0535】
サーバ901とクライアント装置902との間で送受信されるデータは、データ削減のために圧縮されてもよいし、データの精度を維持するために非圧縮のままでも構わない。データを圧縮する場合、ポイントクラウドには例えば8分木構造に基づく三次元圧縮方式を用いることができる。また、可視光画像、赤外画像、及びデプス画像には二次元の画像圧縮方式を用いることできる。二次元の画像圧縮方式とは、例えば、MPEGで規格化されたMPEG-4 AVC又はHEVC等である。
【0536】
また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じてサーバ901で管理する三次元マップをクライアント装置902に送信する。なお、サーバ901はクライアント装置902からの三次元マップの送信要求を待たずに三次元マップを送信してもよい。例えば、サーバ901は、予め定められた空間にいる1つ以上のクライアント装置902に三次元マップをブロードキャストしても構わない。また、サーバ901は、一度送信要求を受けたクライアント装置902に、一定時間毎にクライアント装置902の位置に適した三次元マップを送信してもよい。また、サーバ901は、サーバ901が管理する三次元マップが更新される度にクライアント装置902に三次元マップを送信してもよい。
【0537】
クライアント装置902は、サーバ901に三次元マップの送信要求を出す。例えば、クライアント装置902が、走行時に自己位置推定を行いたい場合に、クライアント装置902は、三次元マップの送信要求をサーバ901に送信する。
【0538】
なお、次のような場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。クライアント装置902の保持する三次元マップが古い場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が三次元マップを取得してから一定期間が経過した場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
【0539】
クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る一定時刻前に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。例えば、クライアント装置902が、クライアント装置902が保持する三次元マップで示される空間の境界から予め定められた距離以内に存在する場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。また、クライアント装置902の移動経路及び移動速度が把握できている場合には、これらに基づき、クライアント装置902が保持する三次元マップで示される空間から、クライアント装置902が外に出る時刻を予測してもよい。
【0540】
クライアント装置902がセンサ情報から作成した三次元データと三次元マップとの位置合せ時の誤差が一定以上の場合に、クライアント装置902はサーバ901に三次元マップの送信要求を出してもよい。
【0541】
クライアント装置902は、サーバ901から送信されたセンサ情報の送信要求に応じて、サーバ901にセンサ情報を送信する。なお、クライアント装置902はサーバ901からのセンサ情報の送信要求を待たずにセンサ情報をサーバ901に送ってもよい。例えば、クライアント装置902は、一度サーバ901からセンサ情報の送信要求を得た場合、一定期間の間、定期的にセンサ情報をサーバ901に送信してもよい。また、クライアント装置902は、クライアント装置902がセンサ情報を元に作成した三次元データと、サーバ901から得た三次元マップとの位置合せ時の誤差が一定以上の場合、クライアント装置902の周辺の三次元マップに変化が生じた可能性があると判断し、その旨とセンサ情報とをサーバ901に送信してもよい。
【0542】
サーバ901は、クライアント装置902にセンサ情報の送信要求を出す。例えば、サーバ901は、クライアント装置902から、GPS等のクライアント装置902の位置情報を受信する。サーバ901は、クライアント装置902の位置情報に基づき、サーバ901が管理する三次元マップにおいて情報が少ない空間にクライアント装置902が近づいていると判断した場合、新たな三次元マップを生成するためにクライアント装置902にセンサ情報の送信要求を出す。また、サーバ901は、三次元マップを更新したい場合、積雪時或いは災害時などの道路状況を確認したい場合、渋滞状況、或いは事件事故状況等を確認したい場合に、センサ情報の送信要求を出してもよい。
【0543】
また、クライアント装置902は、サーバ901から受け取るセンサ情報の送信要求の受信時における通信状態又は帯域に応じて、サーバ901に送信するセンサ情報のデータ量を設定してもよい。サーバ901に送信するセンサ情報のデータ量を設定するというのは、例えば、当該データそのものを増減させること、又は圧縮方式を適宜選択することである。
【0544】
図46は、クライアント装置902の構成例を示すブロック図である。クライアント装置902は、サーバ901からポイントクラウド等で構成される三次元マップを受信し、クライアント装置902のセンサ情報に基づいて作成した三次元データからクライアント装置902の自己位置を推定する。また、クライアント装置902は、取得したセンサ情報をサーバ901に送信する。
【0545】
クライアント装置902は、データ受信部1011と、通信部1012と、受信制御部1013と、フォーマット変換部1014と、複数のセンサ1015と、三次元データ作成部1016と、三次元画像処理部1017と、三次元データ蓄積部1018と、フォーマット変換部1019と、通信部1020と、送信制御部1021と、データ送信部1022とを備える。
【0546】
データ受信部1011は、サーバ901から三次元マップ1031を受信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
【0547】
通信部1012は、サーバ901と通信し、データ送信要求(例えば、三次元マップの送信要求)などをサーバ901に送信する。
【0548】
受信制御部1013は、通信部1012を介して、対応フォーマット等の情報を通信先と交換し、通信先との通信を確立する。
【0549】
フォーマット変換部1014は、データ受信部1011が受信した三次元マップ1031にフォーマット変換等を行うことで三次元マップ1032を生成する。また、フォーマット変換部1014は、三次元マップ1031が圧縮又は符号化されている場合には、伸張又は復号処理を行う。なお、フォーマット変換部1014は、三次元マップ1031が非圧縮データであれば、伸張又は復号処理を行わない。
【0550】
複数のセンサ1015は、LIDAR、可視光カメラ、赤外線カメラ、又はデプスセンサなど、クライアント装置902が搭載されている車両の外部の情報を取得するセンサ群であり、センサ情報1033を生成する。例えば、センサ情報1033は、センサ1015がLIDARなどのレーザセンサである場合、ポイントクラウド(点群データ)等の三次元データである。なお、センサ1015は複数でなくてもよい。
【0551】
三次元データ作成部1016は、センサ情報1033に基づいて自車両の周辺の三次元データ1034を作成する。例えば、三次元データ作成部1016は、LIDARで取得した情報と、可視光カメラで得られた可視光映像とを用いて自車両の周辺の色情報付きのポイントクラウドデータを作成する。
【0552】
三次元画像処理部1017は、受信したポイントクラウド等の三次元マップ1032と、センサ情報1033から生成した自車両の周辺の三次元データ1034とを用いて、自車両の自己位置推定処理等を行う。なお、三次元画像処理部1017は、三次元マップ1032と三次元データ1034とを合成することで自車両の周辺の三次元データ1035を作成し、作成した三次元データ1035を用いて自己位置推定処理を行ってもよい。
【0553】
三次元データ蓄積部1018は、三次元マップ1032、三次元データ1034及び三次元データ1035等を蓄積する。
【0554】
フォーマット変換部1019は、センサ情報1033を、受信側が対応しているフォーマットへ変換することでセンサ情報1037を生成する。なお、フォーマット変換部1019は、センサ情報1037を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1019は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1019は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
【0555】
通信部1020は、サーバ901と通信し、データ送信要求(センサ情報の送信要求)などをサーバ901から受信する。
【0556】
送信制御部1021は、通信部1020を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0557】
データ送信部1022は、センサ情報1037をサーバ901に送信する。センサ情報1037は、例えば、LIDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報など、複数のセンサ1015によって取得した情報を含む。
【0558】
次に、サーバ901の構成を説明する。
図47は、サーバ901の構成例を示すブロック図である。サーバ901は、クライアント装置902から送信されたセンサ情報を受信し、受信したセンサ情報に基づいて三次元データを作成する。サーバ901は、作成した三次元データを用いて、サーバ901が管理する三次元マップを更新する。また、サーバ901は、クライアント装置902からの三次元マップの送信要求に応じて、更新した三次元マップをクライアント装置902に送信する。
【0559】
サーバ901は、データ受信部1111と、通信部1112と、受信制御部1113と、フォーマット変換部1114と、三次元データ作成部1116と、三次元データ合成部1117と、三次元データ蓄積部1118と、フォーマット変換部1119と、通信部1120と、送信制御部1121と、データ送信部1122とを備える。
【0560】
データ受信部1111は、クライアント装置902からセンサ情報1037を受信する。センサ情報1037は、例えば、LIDARで取得した情報、可視光カメラで取得した輝度画像、赤外線カメラで取得した赤外画像、デプスセンサで取得したデプス画像、センサ位置情報、及び速度情報などを含む。
【0561】
通信部1112は、クライアント装置902と通信し、データ送信要求(例えば、センサ情報の送信要求)などをクライアント装置902に送信する。
【0562】
受信制御部1113は、通信部1112を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0563】
フォーマット変換部1114は、受信したセンサ情報1037が圧縮又は符号化されている場合には、伸張又は復号処理を行うことでセンサ情報1132を生成する。なお、フォーマット変換部1114は、センサ情報1037が非圧縮データであれば、伸張又は復号処理を行わない。
【0564】
三次元データ作成部1116は、センサ情報1132に基づいてクライアント装置902の周辺の三次元データ1134を作成する。例えば、三次元データ作成部1116は、LIDARで取得した情報と、可視光カメラで得られた可視光映像とを用いてクライアント装置902の周辺の色情報付ポイントクラウドデータを作成する。
【0565】
三次元データ合成部1117は、センサ情報1132を元に作成した三次元データ1134を、サーバ901が管理する三次元マップ1135に合成することで三次元マップ1135を更新する。
【0566】
三次元データ蓄積部1118は、三次元マップ1135等を蓄積する。
【0567】
フォーマット変換部1119は、三次元マップ1135を、受信側が対応しているフォーマットへ変換することで三次元マップ1031を生成する。なお、フォーマット変換部1119は、三次元マップ1135を圧縮又は符号化することでデータ量を削減してもよい。また、フォーマット変換部1119は、フォーマット変換をする必要がない場合は処理を省略してもよい。また、フォーマット変換部1119は、送信範囲の指定に応じて送信するデータ量を制御してもよい。
【0568】
通信部1120は、クライアント装置902と通信し、データ送信要求(三次元マップの送信要求)などをクライアント装置902から受信する。
【0569】
送信制御部1121は、通信部1120を介して、対応フォーマット等の情報を通信先と交換し、通信を確立する。
【0570】
データ送信部1122は、三次元マップ1031をクライアント装置902に送信する。三次元マップ1031は、WLD又はSWLD等のポイントクラウドを含むデータである。三次元マップ1031には、圧縮データ、及び非圧縮データのどちらが含まれていてもよい。
【0571】
次に、クライアント装置902の動作フローについて説明する。
図48は、クライアント装置902による三次元マップ取得時の動作を示すフローチャートである。
【0572】
まず、クライアント装置902は、サーバ901へ三次元マップ(ポイントクラウド等)の送信を要求する(S1001)。このとき、クライアント装置902は、GPS等で得られたクライアント装置902の位置情報を合わせて送信することで、その位置情報に関連する三次元マップの送信をサーバ901に要求してもよい。
【0573】
次に、クライアント装置902は、サーバ901から三次元マップを受信する(S1002)。受信した三次元マップが圧縮データであれば、クライアント装置902は、受信した三次元マップを復号して非圧縮の三次元マップを生成する(S1003)。
【0574】
次に、クライアント装置902は、複数のセンサ1015で得られたセンサ情報1033からクライアント装置902の周辺の三次元データ1034を作成する(S1004)。次に、クライアント装置902は、サーバ901から受信した三次元マップ1032と、センサ情報1033から作成した三次元データ1034とを用いてクライアント装置902の自己位置を推定する(S1005)。
【0575】
図49は、クライアント装置902によるセンサ情報の送信時の動作を示すフローチャートである。まず、クライアント装置902は、サーバ901からセンサ情報の送信要求を受信する(S1011)。送信要求を受信したクライアント装置902は、センサ情報1037をサーバ901に送信する(S1012)。なお、クライアント装置902は、センサ情報1033が複数のセンサ1015で得られた複数の情報を含む場合、各情報を、各情報に適した圧縮方式で圧縮することでセンサ情報1037を生成してもよい。
【0576】
次に、サーバ901の動作フローについて説明する。
図50は、サーバ901によるセンサ情報の取得時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902へセンサ情報の送信を要求する(S1021)。次に、サーバ901は、当該要求に応じてクライアント装置902から送信されたセンサ情報1037を受信する(S1022)。次に、サーバ901は、受信したセンサ情報1037を用いて三次元データ1134を作成する(S1023)。次に、サーバ901は、作成した三次元データ1134を三次元マップ1135に反映する(S1024)。
【0577】
図51は、サーバ901による三次元マップの送信時の動作を示すフローチャートである。まず、サーバ901は、クライアント装置902から三次元マップの送信要求を受信する(S1031)。三次元マップの送信要求を受信したサーバ901は、クライアント装置902へ三次元マップ1031を送信する(S1032)。このとき、サーバ901は、クライアント装置902の位置情報に合わせてその付近の三次元マップを抽出し、抽出した三次元マップを送信してもよい。また、サーバ901は、ポイントクラウドで構成される三次元マップを、例えば8分木構造による圧縮方式等を用いて圧縮し、圧縮後の三次元マップを送信してもよい。
【0578】
以下、本実施の形態の変形例について説明する。
【0579】
サーバ901は、クライアント装置902から受信したセンサ情報1037を用いてクライアント装置902の位置付近の三次元データ1134を作成する。次に、サーバ901は、作成した三次元データ1134と、サーバ901が管理する同エリアの三次元マップ1135とのマッチングを行うことによって、三次元データ1134と三次元マップ1135との差分を算出する。サーバ901は、差分が予め定められた閾値以上の場合は、クライアント装置902の周辺で何らかの異常が発生したと判断する。例えば、地震等の自然災害によって地盤沈下等が発生した際などに、サーバ901が管理する三次元マップ1135と、センサ情報1037を基に作成した三次元データ1134との間に大きな差が発生することが考えられる。
【0580】
センサ情報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は、センサの精度が低いほど補正の度合い(強度)を強くする。
【0581】
サーバ901は、ある空間にいる複数のクライアント装置902に同時にセンサ情報の送信要求を出してもよい。サーバ901は、複数のクライアント装置902から複数のセンサ情報を受信した場合に、全てのセンサ情報を三次元データ1134の作成に利用する必要はなく、例えば、センサの性能に応じて、利用するセンサ情報を選択してもよい。例えば、サーバ901は、三次元マップ1135を更新する場合、受信した複数のセンサ情報の中から高精度なセンサ情報(クラス1)を選別し、選別したセンサ情報を用いて三次元データ1134を作成してもよい。
【0582】
サーバ901は、交通監視クラウド等のサーバのみに限定されず、他のクライアント装置(車載)であってもよい。
図52は、この場合のシステム構成を図である。
【0583】
例えば、クライアント装置902Cが近くにいるクライアント装置902Aにセンサ情報の送信要求を出し、クライアント装置902Aからセンサ情報を取得する。そして、クライアント装置902Cは、取得したクライアント装置902Aのセンサ情報を用いて三次元データを作成し、クライアント装置902Cの三次元マップを更新する。これにより、クライアント装置902Cは、クライアント装置902Aから取得可能な空間の三次元マップを、クライアント装置902Cの性能を活かして生成できる。例えば、クライアント装置902Cの性能が高い場合に、このようなケースが発生すると考えられる。
【0584】
また、この場合、センサ情報を提供したクライアント装置902Aは、クライアント装置902Cが生成した高精度な三次元マップを取得する権利が与えられる。クライアント装置902Aは、その権利に従ってクライアント装置902Cから高精度な三次元マップを受信する。
【0585】
また、クライアント装置902Cは近くにいる複数のクライアント装置902(クライアント装置902A及びクライアント装置902B)にセンサ情報の送信要求を出してもよい。クライアント装置902A又はクライアント装置902Bのセンサが高性能である場合には、クライアント装置902Cは、この高性能なセンサで得らえたセンサ情報を用いて三次元データを作成できる。
【0586】
図53は、サーバ901及びクライアント装置902の機能構成を示すブロック図である。サーバ901は、例えば、三次元マップを圧縮及び復号する三次元マップ圧縮/復号処理部1201と、センサ情報を圧縮及び復号するセンサ情報圧縮/復号処理部1202とを備える。
【0587】
クライアント装置902は、三次元マップ復号処理部1211と、センサ情報圧縮処理部1212とを備える。三次元マップ復号処理部1211は、圧縮された三次元マップの符号化データを受信し、符号化データを復号して三次元マップを取得する。センサ情報圧縮処理部1212は、取得したセンサ情報から作成した三次元データの代わりに、センサ情報そのものを圧縮し、圧縮したセンサ情報の符号化データをサーバ901へ送信する。この構成により、クライアント装置902は、三次元マップ(ポイントクラウド等)を復号する処理を行う処理部(装置又はLSI)を内部に保持すればよく、三次元マップ(ポイントクラウド等)の三次元データを圧縮する処理を行う処理部を内部に保持する必要がない。これにより、クライアント装置902のコスト及び消費電力等を抑えることができる。
【0588】
以上のように、本実施の形態に係るクライアント装置902は、移動体に搭載され、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1033から、移動体の周辺の三次元データ1034を作成する。クライアント装置902は、作成された三次元データ1034を用いて移動体の自己位置を推定する。クライアント装置902は、取得したセンサ情報1033をサーバ901又は他の移動体902に送信する。
【0589】
これによれば、クライアント装置902は、センサ情報1033をサーバ901等に送信する。これにより、三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、クライアント装置902は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
【0590】
また、クライアント装置902は、さらに、サーバ901に三次元マップの送信要求を送信し、サーバ901から三次元マップ1031を受信する。クライアント装置902は、自己位置の推定では、三次元データ1034と三次元マップ1032とを用いて、自己位置を推定する。
【0591】
また、センサ情報1033は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
【0592】
また、センサ情報1033は、センサの性能を示す情報を含む。
【0593】
また、クライアント装置902は、センサ情報1033を符号化又は圧縮し、センサ情報の送信では、符号化又は圧縮後のセンサ情報1037を、サーバ901又は他の移動体902に送信する。これによれば、クライアント装置902は、伝送されるデータ量を削減できる。
【0594】
例えば、クライアント装置902は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0595】
また、本実施の形態に係るサーバ901は、移動体に搭載されるクライアント装置902と通信可能であり、移動体に搭載されたセンサ1015により得られた、移動体の周辺状況を示すセンサ情報1037をクライアント装置902から受信する。サーバ901は、受信したセンサ情報1037から、移動体の周辺の三次元データ1134を作成する。
【0596】
これによれば、サーバ901は、クライアント装置902から送信されたセンサ情報1037を用いて三次元データ1134を作成する。これにより、クライアント装置902が三次元データを送信する場合に比べて、送信データのデータ量を削減できる可能性がある。また、三次元データの圧縮又は符号化等の処理をクライアント装置902で行う必要がないので、クライアント装置902の処理量を削減できる。よって、サーバ901は、伝送されるデータ量の削減、又は、装置の構成の簡略化を実現できる。
【0597】
また、サーバ901は、さらに、クライアント装置902にセンサ情報の送信要求を送信する。
【0598】
また、サーバ901は、さらに、作成された三次元データ1134を用いて三次元マップ1135を更新し、クライアント装置902からの三次元マップ1135の送信要求に応じて三次元マップ1135をクライアント装置902に送信する。
【0599】
また、センサ情報1037は、レーザセンサで得られた情報、輝度画像、赤外画像、デプス画像、センサの位置情報、及びセンサの速度情報のうち少なくとも一つを含む。
【0600】
また、センサ情報1037は、センサの性能を示す情報を含む。
【0601】
また、サーバ901は、さらに、センサの性能に応じて、三次元データを補正する。これによれば、当該三次元データ作成方法は、三次元データの品質を向上できる。
【0602】
また、サーバ901は、センサ情報の受信では、複数のクライアント装置902から複数のセンサ情報1037を受信し、複数のセンサ情報1037に含まれるセンサの性能を示す複数の情報に基づき、三次元データ1134の作成に用いるセンサ情報1037を選択する。これによれば、サーバ901は、三次元データ1134の品質を向上できる。
【0603】
また、サーバ901は、受信したセンサ情報1037を復号又は伸張し、復号又は伸張後のセンサ情報1132から、三次元データ1134を作成する。これによれば、サーバ901は、伝送されるデータ量を削減できる。
【0604】
例えば、サーバ901は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0605】
(実施の形態8)
本実施の形態では、インター予測処理を用いた三次元データの符号化方法及び復号方法について説明する。
【0606】
図54は、本実施の形態に係る三次元データ符号化装置1300のブロック図である。この三次元データ符号装置1300は、三次元データを符号化することで符号化信号である符号化ビットストリーム(以下、単にビットストリームとも記す)を生成する。
図54に示すように、三次元データ符号化装置1300は、分割部1301と、減算部1302と、変換部1303と、量子化部1304と、逆量子化部1305と、逆変換部1306と、加算部1307と、参照ボリュームメモリ1308と、イントラ予測部1309と、参照スペースメモリ1310と、インター予測部1311と、予測制御部1312と、エントロピー符号化部1313とを備える。
【0607】
分割部1301は、三次元データに含まれる各スペース(SPC)を符号化単位である複数のボリューム(VLM)に分割する。また、分割部1301は、各ボリューム内のボクセルを8分木表現化(Octree化)する。なお、分割部1301は、スペースとボリュームを同一サイズとし、スペースを8分木表現化してもよい。また、分割部1301は、8分木化に必要な情報(深度情報など)をビットストリームのヘッダ等に付加してもよい。
【0608】
減算部1302は、分割部1301から出力されたボリューム(符号化対象ボリューム)と、後述するイントラ予測又はインター予測によって生成される予測ボリュームとの差分を算出し、算出された差分を予測残差として変換部1303に出力する。
図55は、予測残差の算出例を示す図である。なお、ここで示す符号化対象ボリューム及び予測ボリュームのビット列は、例えば、ボリュームに含まれる三次元点(例えばポイントクラウド)の位置を示す位置情報である。
【0609】
以下、8分木表現とボクセルのスキャン順について説明する。ボリュームは8分木構造に変換(8分木化)された後、符号化される。8分木構造はノードとリーフとで構成される。各ノードは8つのノード又はリーフを持ち、各リーフはボクセル(VXL)情報を持つ。
図56は、複数のボクセルを含むボリュームの構造例を示す図である。
図57は、
図56に示すボリュームを8分木構造に変換した例を示す図である。ここで、
図57に示すリーフのうち、リーフ1、2、3はそれぞれ
図56に示すボクセルVXL1、VXL2、VXL3を表し、点群を含むVXL(以下、有効VXL)を表現している。
【0610】
8分木は、例えば0、1の二値列で表現される。例えば、ノード又は有効VXLを値1、それ以外を値0とすると、各ノード及びリーフには
図57に示す二値列が割当てられる。そして、幅優先又は深さ優先のスキャン順に応じて、この二値列がスキャンされる。例えば幅優先でスキャンされた場合、
図58のAに示す二値列が得られる。深さ優先でスキャンした場合は
図58のBに示す二値列が得られる。このスキャンにより得られた二値列はエントロピー符号化によって符号化され情報量が削減される。
【0611】
次に、8分木表現における深度情報について説明する。8分木表現における深度は、ボリューム内に含まれるポイントクラウド情報を、どの粒度まで保持するかをコントロールするために使用される。深度を大きく設定すると、より細かいレベルまでポイントクラウド情報を再現することができるが、ノード及びリーフを表現するためのデータ量が増える。逆に深度を小さく設定すると、データ量が減少するが、複数の異なる位置及び色の異なるポイントクラウド情報が同一位置かつ同一色であるとみなされるため、本来のポイントクラウド情報が持つ情報を失うことになる。
【0612】
例えば、
図59は、
図57に示す深度=2の8分木を、深度=1の8分木で表現した例を示す図である。
図59に示す8分木は
図57に示す8分木よりデータ量が少なくなる。つまり、
図59に示す8分木は
図59に示す8分木より二値列化後のビット数が少ない。ここで、
図57に示すリーフ1とリーフ2が
図58に示すリーフ1で表現されることになる。つまり、
図57に示すリーフ1とリーフ2とが異なる位置であったという情報が失われる。
【0613】
図60は、
図59に示す8分木に対応するボリュームを示す図である。
図56に示すVXL1とVXL2が
図60に示すVXL12に対応する。この場合、三次元データ符号化装置1300は、
図60に示すVXL12の色情報を、
図56に示すVXL1とVXL2との色情報から生成する。例えば、三次元データ符号化装置1300は、VXL1とVXL2との色情報の平均値、中間値、又は重み平均値などをVXL12の色情報として算出する。このように、三次元データ符号化装置1300は、8分木の深度を変えることで、データ量の削減を制御してもよい。
【0614】
三次元データ符号化装置1300は、8分木の深度情報を、ワールド単位、スペース単位、及びボリューム単位のいずれの単位で設定しても構わない。またその際、三次元データ符号化装置1300は、ワールドのヘッダ情報、スペースのヘッダ情報、又はボリュームのヘッダ情報に深度情報を付加してもよい。また、時間の異なる全てのワールド、スペース、及びボリュームで深度情報して同一の値を使用してもよい。この場合、三次元データ符号化装置1300は、全時間のワールドを管理するヘッダ情報に深度情報を付加してもよい。
【0615】
ボクセルに色情報が含まれる場合には、変換部1303は、ボリューム内のボクセルの色情報の予測残差に対し、直交変換等の周波数変換を適用する。例えば、変換部1303は、あるスキャン順で予測残差をスキャンすることで一次元配列を作成する。その後、変換部1303は、作成した一次元配列に一次元の直交変換を適用することで一次元配列を周波数領域に変換する。これにより、ボリューム内の予測残差の値が近い場合には低域の周波数成分の値が大きくなり、高域の周波数成分の値が小さくなる。よって、量子化部1304においてより効率的に符号量を削減することができる。
【0616】
また、変換部1303は、一次元ではなく、二次元以上の直交変換を用いてもよい。例えば、変換部1303は、あるスキャン順で予測残差を二次元配列にマッピングし、得られた二次元配列に二次元直交変換を適用する。また、変換部1303は、複数の直交変換方式から使用する直交変換方式を選択してもよい。この場合、三次元データ符号化装置1300は、どの直交変換方式を用いたかを示す情報をビットストリームに付加する。また、変換部1303は、次元の異なる複数の直交変換方式から使用する直交変換方式を選択してもよい。この場合、三次元データ符号化装置1300は、どの次元の直交変換方式を用いたかをビットストリームに付加する。
【0617】
例えば、変換部1303は、予測残差のスキャン順を、ボリューム内の8分木におけるスキャン順(幅優先又は深さ優先など)に合わせる。これにより、予測残差のスキャン順を示す情報をビットストリームに付加する必要がないので、オーバーヘッドを削減できる。また、変換部1303は、8分木のスキャン順とは異なるスキャン順を適用してもよい。この場合、三次元データ符号化装置1300は、予測残差のスキャン順を示す情報をビットストリームに付加する。これにより、三次元データ符号化装置1300は、予測残差を効率よく符号化することができる。また、三次元データ符号化装置1300は、8分木のスキャン順を適用するか否かを示す情報(フラグ等)をビットストリームに付加し、8分木のスキャン順を適用しない場合に、予測残差のスキャン順を示す情報をビットストリームに付加してもよい。
【0618】
変換部1303は、色情報の予測残差だけでなく、ボクセルが持つその他の属性情報を変換してもよい。例えば、変換部1303は、ポイントクラウドをLiDAR等で取得した際に得られる反射度等の情報を変換し、符号化してもよい。
【0619】
変換部1303は、スペースが色情報等の属性情報を持たない場合は、処理をスキップしてもよい。また、三次元データ符号化装置1300は、変換部1303の処理をスキップするか否かを示す情報(フラグ)をビットストリームに付加してもよい。
【0620】
量子化部1304は、変換部1303で生成された予測残差の周波数成分に対し、量子化制御パラメータを用いて量子化を行うことで量子化係数を生成する。これにより情報量が削減される。生成された量子化係数はエントロピー符号化部1313に出力される。量子化部1304は、量子化制御パラメータを、ワールド単位、スペース単位、又はボリューム単位で制御してもよい。その際には、三次元データ符号化装置1300は、量子化制御パラメータをそれぞれのヘッダ情報等に付加する。また、量子化部1304は、予測残差の周波数成分毎に、重みを変えて量子化制御を行ってもよい。例えば、量子化部1304は、低周波数成分は細かく量子化し、高周波成分は粗く量子化してもよい。この場合、三次元データ符号化装置1300は、各周波数成分の重みを表すパラメータをヘッダに付加してもよい。
【0621】
量子化部1304は、スペースが色情報等の属性情報を持たない場合は、処理をスキップしてもよい。また、三次元データ符号化装置1300は、量子化部1304の処理をスキップするか否かを示す情報(フラグ)をビットストリームに付加してもよい。
【0622】
逆量子化部1305は、量子化制御パラメータを用いて、量子化部1304で生成された量子化係数に逆量子化を行うことで予測残差の逆量子化係数を生成し、生成した逆量子化係数を逆変換部1306に出力する。
【0623】
逆変換部1306は、逆量子化部1305で生成された逆量子化係数に対し逆変換を適用することで逆変換適用後予測残差を生成する。この逆変換適用後予測残差は、量子化後に生成された予測残差であるため、変換部1303が出力した予測残差とは完全には一致しなくてもよい。
【0624】
加算部1307は、逆変換部1306で生成された逆変換適用後予測残差と、量子化前の予測残差の生成に用いられた、後述するイントラ予測又はインター予測により生成された予測ボリュームとを加算して再構成ボリュームを生成する。この再構成ボリュームは、参照ボリュームメモリ1308、又は、参照スペースメモリ1310に格納される。
【0625】
イントラ予測部1309は、参照ボリュームメモリ1308に格納された隣接ボリュームの属性情報を用いて、符号化対象ボリュームの予測ボリュームを生成する。属性情報とは、ボクセルの色情報又は反射度を含む。イントラ予測部1309は、符号化対象ボリュームの色情報又は反射度の予測値を生成する。
【0626】
図61は、イントラ予測部1309の動作を説明するための図である。例えば、イントラ予測部1309は、
図61に示す、符号化対象ボリューム(ボリュームidx=3)の予測ボリュームを、隣接ボリューム(ボリュームidx=0)から生成する。ここで、ボリュームidxとはスペース内のボリュームに対し付加される識別子情報であり、各ボリュームに異なる値が割当てられる。ボリュームidxの割当ての順番は符号化順と同じ順番であってもよいし、符号化順とは異なる順番であってもよい。例えば、イントラ予測部1309は、
図61に示す符号化対象ボリュームの色情報の予測値として、隣接ボリュームであるボリュームidx=0内に含まれるボクセルの色情報の平均値を用いる。この場合、符号化対象ボリューム内に含まれる各ボクセルの色情報から、色情報の予測値が差し引かれることで予測残差が生成される。この予測残差に対して変換部1303以降の処理が行われる。また、この場合、三次元データ符号化装置1300は、隣接ボリューム情報と、予測モード情報とをビットストリームに付加する。ここで隣接ボリューム情報とは、予測に用いた隣接ボリュームを示す情報であり、例えば、予測に用いた隣接ボリュームのボリュームidxを示す。また、予測モード情報とは、予測ボリュームの生成に使用したモードを示す。モードとは、例えば、隣接ボリューム内のボクセルの平均値から予測値を生成する平均値モード、又は隣接ボリューム内のボクセルの中間値から予測値を生成する中間値モード等である。
【0627】
イントラ予測部1309は、予測ボリュームを、複数の隣接ボリュームから生成してもよい。例えば、
図61に示す構成において、イントラ予測部1309は、ボリュームidx=0のボリュームから予測ボリューム0を生成し、ボリュームidx=1のボリュームから予測ボリューム1を生成する。そして、イントラ予測部1309は、予測ボリューム0と予測ボリューム1の平均を最終的な予測ボリュームとして生成する。この場合、三次元データ符号化装置1300は、予測ボリュームの生成に使用した複数のボリュームの複数のボリュームidxをビットストリームに付加してもよい。
【0628】
図62は、本実施の形態に係るインター予測処理を模式的に示す図である。インター予測部1311は、ある時刻T_Curのスペース(SPC)を、異なる時刻T_LXの符号化済みスペースを用いて符号化(インター予測)する。この場合、インター予測部1311は、異なる時刻T_LXの符号化済みスペースに回転及び並進処理を適用して符号化処理を行う。
【0629】
また、三次元データ符号化装置1300は、異なる時刻T_LXのスペースに適用した回転及び並進処理に関わるRT情報をビットストリームに付加する。異なる時刻T_LXとは、例えば、前記ある時刻T_Curより前の時刻T_L0である。このとき、三次元データ符号化装置1300は、時刻T_L0のスペースに適用した回転及び並進処理に関わるRT情報RT_L0をビットストリームに付加してもよい。
【0630】
または、異なる時刻T_LXとは、例えば、前記ある時刻T_Curより後の時刻T_L1である。このとき、三次元データ符号化装置1300は、時刻T_L1のスペースに適用した回転及び並進処理に関わるRT情報RT_L1をビットストリームに付加してもよい。
【0631】
または、インター予測部1311は、異なる時刻T_L0及び時刻T_L1の両方のスペースを参照して符号化(双予測)を行う。この場合には、三次元データ符号化装置1300は、それぞれのスペースに適用した回転及び並進に関わるRT情報RT_L0及びRT_L1の両方をビットストリームに付加してもよい。
【0632】
なお、上記ではT_L0をT_Curより前の時刻、T_L1をT_Curより後の時刻としたが、必ずしもこれに限らない。例えば、T_L0とT_L1は共にT_Curより前の時刻でもよい。または、T_L0とT_L1は共にT_Curより後の時刻でもよい。
【0633】
また、三次元データ符号化装置1300は、複数の異なる時刻のスペースを参照して符号化を行う場合には、それぞれのスペースに適用した回転及び並進に関わるRT情報をビットストリームに付加してもよい。例えば、三次元データ符号化装置1300は、参照する複数の符号化済みスペースを2つの参照リスト(L0リスト及びL1リスト)で管理する。L0リスト内の第1の参照スペースをL0R0とし、L0リスト内の第2の参照スペースをL0R1とし、L1リスト内の第1の参照スペースをL1R0とし、L1リスト内の第2の参照スペースをL1R1とした場合、三次元データ符号化装置1300は、L0R0のRT情報RT_L0R0と、L0R1のRT情報RT_L0R1と、L1R0のRT情報RT_L1R0と、L1R1のRT情報RT_L1R1とをビットストリームに付加する。例えば、三次元データ符号化装置1300は、これらのRT情報をビットストリームのヘッダ等に付加する。
【0634】
また、三次元データ符号化装置1300は、複数の異なる時刻の参照スペースを参照して符号化を行う場合、参照スペース毎に回転及び並進を適用するか否かを判定する。その際、三次元データ符号化装置1300は、参照スペース毎に回転及び並進を適用したか否かを示す情報(RT適用フラグ等)をビットストリームのヘッダ情報等に付加してもよい。例えば、三次元データ符号化装置1300は、符号化対象スペースから参照する参照スペース毎にICP(Interactive Closest Point)アルゴリズムを用いてRT情報、及びICPエラー値を算出する。三次元データ符号化装置1300は、ICPエラー値が、予め定められた一定値以下の場合は、回転及び並進を行う必要がないと判定してRT適用フラグをオフに設定する。一方、三次元データ符号化装置1300は、ICPエラー値が上記一定値より大きい場合は、RT適用フラグをオンに設定し、RT情報をビットストリームに付加する。
【0635】
図63は、RT情報及びRT適用フラグをヘッダに付加するシンタックス例を示す図である。なお、各シンタックスに割当てるビット数は、そのシンタックスが取りうる範囲で決定してもよい。例えば、参照リストL0内に含まれる参照スペース数が8つの場合、MaxRefSpc_l0には3bitが割当てられてもよい。割当てるビット数を、各シンタックスが取りうる値に応じて可変にしてもよいし、取りうる値に関わらず固定にしてもよい。割り当てるビット数を固定にする場合は、三次元データ符号化装置1300は、その固定ビット数を別のヘッダ情報に付加してもよい。
【0636】
ここで、
図63に示す、MaxRefSpc_l0は、参照リストL0内に含まれる参照スペース数を示す。RT_flag_l0[i]は、参照リストL0内の参照スペースiのRT適用フラグである。RT_flag_l0[i]が1の場合、参照スペースiに回転及び並進が適用される。RT_flag_l0[i]が0の場合、参照スペースiに回転及び並進が適用されない。
【0637】
R_l0[i]及びT_l0[i]は、参照リストL0内の参照スペースiのRT情報である。R_l0[i]は、参照リストL0内の参照スペースiの回転情報である。回転情報は、適用された回転処理の内容を示し、例えば、回転行列、又はクォータニオン等である。T_l0[i]は、参照リストL0内の参照スペースiの並進情報である。並進情報は、適用された並進処理の内容を示し、例えば、並進ベクトル等である。
【0638】
MaxRefSpc_l1は、参照リストL1内に含まれる参照スペース数を示す。RT_flag_l1[i]は、参照リストL1内の参照スペースiのRT適用フラグである。RT_flag_l1[i]が1の場合、参照スペースiに回転及び並進が適用される。RT_flag_l1[i]が0の場合、参照スペースiに回転及び並進が適用されない。
【0639】
R_l1[i]及びT_l1[i]は、参照リストL1内の参照スペースiのRT情報である。R_l1[i]は、参照リストL1内の参照スペースiの回転情報である。回転情報は、適用された回転処理の内容を示し、例えば、回転行列、又はクォータニオン等である。T_l1[i]は、参照リストL1内の参照スペースiの並進情報である。並進情報は、適用された並進処理の内容を示し、例えば、並進ベクトル等である。
【0640】
インター予測部1311は、参照スペースメモリ1310に格納された符号化済みの参照スペースの情報を用いて符号化対象ボリュームの予測ボリュームを生成する。上述したように、インター予測部1311は、符号化対象ボリュームの予測ボリュームを生成する前に、符号化対象スペースと参照スペースの全体的な位置関係を近づけるために、符号化対象スペースと参照スペースでICP(Interactive Closest Point)アルゴリズムを用いてRT情報を求める。そして、インター予測部1311は、求めたRT情報を用いて参照スペースに回転及び並進処理を適用することで参照スペースBを得る。その後、インター予測部1311は、符号化対象スペース内の符号化対象ボリュームの予測ボリュームを参照スペースB内の情報を用いて生成する。ここで、三次元データ符号化装置1300は、参照スペースBを得るために用いられたRT情報を符号化対象スペースのヘッダ情報等に付加する。
【0641】
このように、インター予測部1311は、参照スペースに回転及び並進処理を適用することにより符号化対象スペースと参照スペースとの全体的な位置関係を近づけてから、参照スペースの情報を用いて予測ボリュームを生成することで予測ボリュームの精度を向上できる。また、予測残差を抑制できるので符号量を削減できる。なお、ここでは、符号化対象スペースと参照スペースとを用いてICPを行う例を示したが、必ずしもこれに限らない。例えば、インター予測部1311は、処理量を削減するために、ボクセル又はポイントクラウド数を間引いた符号化対象スペース、及び、ボクセル又はポイントクラウド数を間引いた参照スペースの少なくとも一方を用いてICPを行うことで、RT情報を求めてもよい。
【0642】
また、インター予測部1311は、ICPの結果得られるICPエラー値が、予め定められた第1閾値より小さい場合、つまり、例えば符号化対象スペースと参照スペースの位置関係が近い場合には、回転及び並進処理は必要ないと判断し、回転及び並進を行わなくてもよい。この場合、三次元データ符号化装置1300は、RT情報をビットストリームに付加しないことによりオーバーヘッドを抑制してもよい。
【0643】
また、インター予測部1311は、ICPエラー値が、予め定められた第2閾値より大きい場合には、スペース間の形状変化が大きいと判断し、符号化対象スペースの全てのボリュームにイントラ予測を適用してもよい。以下、イントラ予測を適用するスペースをイントラスペースと呼ぶ。また、第2閾値は上記第1閾値より大きい値である。また、ICPに限定せず、2つのボクセル集合、又は、2つのポイントクラウド集合からRT情報を求める方法であれば、どのような手法を適用してもよい。
【0644】
また、三次元データに形状又は色等の属性情報が含まれる場合には、インター予測部1311は、符号化対象スペース内の符号化対象ボリュームの予測ボリュームとして、例えば参照スペース内で符号化対象ボリュームと最も形状又は色等の属性情報が近いボリュームを探索する。また、この参照スペースは、例えば、上述した回転及び並進処理が行われた後の参照スペースである。インター予測部1311は、探索により得られたボリューム(参照ボリューム)から予測ボリュームを生成する。
図64は、予測ボリュームの生成動作を説明するための図である。インター予測部1311は、
図64に示す符号化対象ボリューム(ボリュームidx=0)を、インター予測を用いて符号化する場合、参照スペース内の参照ボリュームを順にスキャンしながら、符号化対象ボリュームと参照ボリュームとの差分である予測残差が一番小さいボリュームを探索する。インター予測部1311は、予測残差が一番小さいボリュームを予測ボリュームとして選択する。符号化対象ボリュームと予測ボリュームとの予測残差が変換部1303以降の処理により符号化される。ここで、予測残差とは、符号化対象ボリュームの属性情報と予測ボリュームの属性情報との差分である。また、三次元データ符号化装置1300は、予測ボリュームとして参照した参照スペース内の参照ボリュームのボリュームidxをビットストリームのヘッダ等に付加する。
【0645】
図64に示す例では、参照スペースL0R0のボリュームidx=4の参照ボリュームが符号化対象ボリュームの予測ボリュームとして選択される。そして、符号化対象ボリュームと参照ボリュームとの予測残差と、参照ボリュームidx=4とが符号化されてビットストリームに付加される。
【0646】
なお、ここでは属性情報の予測ボリュームを生成する例を説明したが、位置情報の予測ボリュームについても同様の処理が行われてもよい。
【0647】
予測制御部1312は、符号化対象ボリュームをイントラ予測、及びインター予測のいずれを用いて符号化するかを制御する。ここで、イントラ予測、及びインター予測を含むモードを予測モードと呼ぶ。例えば、予測制御部1312は、符号化対象ボリュームをイントラ予測で予測した場合の予測残差と、インター予測で予測した場合の予測残差とを評価値として算出し、評価値が小さい方の予測モードを選択する。なお、予測制御部1312は、イントラ予測の予測残差とインター予測の予測残差とに、それぞれ直交変換、量子化、及び、エントロピー符号化を適用することで実際の符号量を算出し、算出した符号量を評価値として予測モードを選択してもよい。また、評価値に予測残差以外のオーバーヘッド情報(参照ボリュームidx情報など)を加えるようにしてもよい。また、予測制御部1312は、符号化対象スペースをイントラスペースで符号化すると予め決定されている場合には、常にイントラ予測を選択してもよい。
【0648】
エントロピー符号化部1313は、量子化部1304からの入力である量子化係数を可変長符号化することにより符号化信号(符号化ビットストリーム)を生成する。具体的には、エントロピー符号化部1313は、例えば、量子化係数を二値化し、得られた二値信号を算術符号化する。
【0649】
次に、三次元データ符号化装置1300により生成された符号化信号を復号する三次元データ復号装置について説明する。
図65は、本実施の形態に係る三次元データ復号装置1400のブロック図である。この三次元データ復号装置1400は、エントロピー復号部1401と、逆量子化部1402と、逆変換部1403と、加算部1404と、参照ボリュームメモリ1405と、イントラ予測部1406と、参照スペースメモリ1407と、インター予測部1408と、予測制御部1409とを備える。
【0650】
エントロピー復号部1401は、符号化信号(符号化ビットストリーム)を可変長復号する。例えば、エントロピー復号部1401は、符号化信号を算術復号して二値信号を生成し、生成した二値信号から量子化係数を生成する。
【0651】
逆量子化部1402は、エントロピー復号部1401から入力された量子化係数を、ビットストリーム等に付加された量子化パラメータを用いて逆量子化することで逆量子化係数を生成する。
【0652】
逆変換部1403は、逆量子化部1402から入力された逆量子化係数を逆変換することで予測残差を生成する。例えば、逆変換部1403は、逆量子化係数を、ビットストリームに付加された情報に基づいて逆直交変換することで予測残差を生成する。
【0653】
加算部1404は、逆変換部1403で生成された予測残差と、イントラ予測又はインター予測により生成された予測ボリュームとを加算して再構成ボリュームを生成する。この再構成ボリュームは、復号三次元データとして出力されるとともに、参照ボリュームメモリ1405、又は、参照スペースメモリ1407に格納される。
【0654】
イントラ予測部1406は、参照ボリュームメモリ1405内の参照ボリュームとビットストリームに付加された情報とを用いてイントラ予測により予測ボリュームを生成する。具体的には、イントラ予測部1406は、ビットストリームに付加された隣接ボリューム情報(例えばボリュームidx)と、予測モード情報とを取得し、隣接ボリューム情報で示さる隣接ボリュームを用いて、予測モード情報で示されるモードにより予測ボリュームを生成する。なお、これらの処理の詳細は、ビットストリームに付与された情報が用いられる点を除き、上述したイントラ予測部1309による処理と同様である。
【0655】
インター予測部1408は、参照スペースメモリ1407内の参照スペースとビットストリームに付加された情報とを用いてインター予測により予測ボリュームを生成する。具体的には、インター予測部1408は、ビットストリームに付加された参照スペース毎のRT情報を用いて参照スペースに対して回転及び並進処理を適用し、適用後の参照スペースを用いて予測ボリュームを生成する。なお、参照スペース毎のRT適用フラグがビットストリーム内に存在する場合には、インター予測部1408は、RT適用フラグに応じて参照スペースに回転及び並進処理を適用する。なお、これらの処理の詳細は、ビットストリームに付与された情報が用いられる点を除き、上述したインター予測部1311による処理と同様である。
【0656】
予測制御部1409は、復号対象ボリュームをイントラ予測で復号するか、インター予測で復号するかを制御する。例えば、予測制御部1409は、ビットストリームに付加された、使用する予測モードを示す情報に応じてイントラ予測又はインター予測を選択する。なお、予測制御部1409は、復号対象スペースをイントラスペースで復号すると予め決定されている場合は、常にイントラ予測を選択してもよい。
【0657】
以下、本実施の形態の変形例について説明する。本実施の形態ではスペース単位で回転及び並進が適用される例を説明したが、より細かい単位で回転及び並進が適用されてもよい。例えば、三次元データ符号化装置1300は、スペースをサブスペースに分割し、サブスペース単位で回転及び並進を適用してもよい。この場合、三次元データ符号化装置1300は、サブスペース毎にRT情報を生成し、生成したRT情報をビットストリームのヘッダ等に付加する。また、三次元データ符号化装置1300は、符号化単位であるボリューム単位で回転及び並進を適用してもよい。この場合、三次元データ符号化装置1300は、符号化ボリューム単位でRT情報を生成し、生成したRT情報をビットストリームのヘッダ等に付加する。さらに、上記を組み合わせてもよい。つまり、三次元データ符号化装置1300は、大きい単位で回転及び並進を適用し、その後、細かい単位で回転及び並進を適用してもよい。例えば、三次元データ符号化装置1300は、スペース単位で回転及び並進を適用し、得られたスペースに含まれる複数のボリュームの各々に対して、互いに異なる回転及び並進を適用してもよい。
【0658】
また、本実施の形態では参照スペースに回転及び並進を適用する例を説明したが、必ずしもこれに限らない。例えば、三次元データ符号化装置1300は、例えば、スケール処理を適用して三次元データの大きさを変化させてもよい。また、三次元データ符号化装置1300は、回転、並進及びスケールのうち、いずれか1つ又は2つを適用してもよい。また、上記のように多段階で異なる単位で処理を適用する場合には、各単位に適用される処理の種類が異なってもよい。例えば、スペース単位では回転及び並進が適用され、ボリューム単位では並進が適用されてもよい。
【0659】
なお、これらの変形例については、三次元データ復号装置1400に対しても同様に適用できる。
【0660】
以上のように、本実施の形態に係る三次元データ符号化装置1300は、以下の処理を行う。
図65は、三次元データ符号化装置1300によるインター予測処理のフローチャートである。
【0661】
まず、三次元データ符号化装置1300は、対象三次元データ(例えば符号化対象スペース)と異なる時刻の参照三次元データ(例えば参照スペース)に含まれる三次元点の位置情報を用いて予測位置情報(例えば予測ボリューム)を生成する(S1301)。具体的には、三次元データ符号化装置1300は、参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用することで予測位置情報を生成する。
【0662】
なお、三次元データ符号化装置1300は、回転及び並進処理を第1の単位(例えばスペース)で行い、予測位置情報の生成を第1の単位より細かい第2の単位(例えばボリューム)で行ってもよい。例えば、三次元データ符号化装置1300は、回転及び並進処理後の参照スペースに含まれる複数のボリュームのうち、符号化対象スペースに含まれる符号化対象ボリュームと位置情報の差が最小となるボリュームを探索し、得られたボリュームを予測ボリュームとして用いる。なお、三次元データ符号化装置1300は、回転及び並進処理と、予測位置情報の生成とを同一の単位で行ってもよい。
【0663】
また、三次元データ符号化装置1300は、参照三次元データに含まれる三次元点の位置情報に第1の単位(例えばスペース)で第1回転及び並進処理を適用し、第1回転及び並進処理により得られた三次元点の位置情報に、第1の単位より細かい第2の単位(例えばボリューム)で第2回転及び並進処理を適用することで予測位置情報を生成してもよい。
【0664】
ここで、三次元点の位置情報及び予測位置情報は、例えば
図58に示すように、8分木構造で表現される。例えば、三次元点の位置情報及び予測位置情報は、8分木構造における深度と幅とのうち、幅を優先したスキャン順で表される。または、三次元点の位置情報及び予測位置情報は、8分木構造における深度と幅とのうち、深度を優先したスキャン順で表される。
【0665】
また、
図63に示すように、三次元データ符号化装置1300は、参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用するか否かを示すRT適用フラグを符号化する。つまり、三次元データ符号化装置1300は、RT適用フラグを含む符号化信号(符号化ビットストリーム)を生成する。また、三次元データ符号化装置1300は、回転及び並進処理の内容を示すRT情報を符号化する。つまり、三次元データ符号化装置1300は、RT情報を含む符号化信号(符号化ビットストリーム)を生成する。なお、三次元データ符号化装置1300は、RT適用フラグにより回転及び並進処理を適用することが示される場合にRT情報を符号化し、RT適用フラグにより回転及び並進処理を適用しないことが示される場合にRT情報を符号化しなくてもよい。
【0666】
また、三次元データは、例えば、三次元点の位置情報と、各三次元点の属性情報(色情報等)とを含む。三次元データ符号化装置1300は、参照三次元データに含まれる三次元点の属性情報を用いて予測属性情報を生成する(S1302)。
【0667】
次に、三次元データ符号化装置1300は、対象三次元データに含まれる三次元点の位置情報を、予測位置情報を用いて符号化する。例えば、三次元データ符号化装置1300は、
図55に示すように対象三次元データに含まれる三次元点の位置情報と予測位置情報との差分である差分位置情報を算出する(S1303)。
【0668】
また、三次元データ符号化装置1300は、対象三次元データに含まれる三次元点の属性情報を、予測属性情報を用いて符号化する。例えば、三次元データ符号化装置1300は、対象三次元データに含まれる三次元点の属性情報と予測属性情報との差分である差分属性情報を算出する(S1304)。次に、三次元データ符号化装置1300は、算出された差分属性情報に変換及び量子化を行う(S1305)。
【0669】
最後に、三次元データ符号化装置1300は、差分位置情報と、量子化後の差分属性情報とを符号化(例えばエントロピー符号化)する(S1306)。つまり、三次元データ符号化装置1300は、差分位置情報と差分属性情報とを含む符号化信号(符号化ビットストリーム)を生成する。
【0670】
なお、三次元データに属性情報が含まれない場合には、三次元データ符号化装置1300は、ステップS1302、S1304及びS1305を行わなくてもよい。また、三次元データ符号化装置1300は、三次元点の位置情報の符号化と、三次元点の属性情報の符号化とのうち、一方のみを行ってもよい。
【0671】
また、
図66に示す処理の順序は一例であり、これに限定されない。例えば、位置情報に対する処理(S1301、S1303)と、属性情報に対する処理(S1302、S1304、S1305)とは互いに独立しているため、任意の順序で行われてもよいし、一部が並列処理されてもよい。
【0672】
以上により、本実施の形態に三次元データ符号化装置1300は、対象三次元データと異なる時刻の参照三次元データに含まれる三次元点の位置情報を用いて予測位置情報を生成し、対象三次元データに含まれる三次元点の位置情報と予測位置情報との差分である差分位置情報を符号化する。これにより、符号化信号のデータ量を削減できるので符号化効率を向上できる。
【0673】
また、本実施の形態に三次元データ符号化装置1300は、参照三次元データに含まれる三次元点の属性情報を用いて予測属性情報を生成し、対象三次元データに含まれる三次元点の属性情報と予測属性情報との差分である差分属性情報を符号化する。これにより、符号化信号のデータ量を削減できるので符号化効率を向上できる。
【0674】
例えば、三次元データ符号化装置1300は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0675】
図65は、三次元データ復号装置1400によるインター予測処理のフローチャートである。
【0676】
まず、三次元データ復号装置1400は、符号化信号(符号化ビットストリーム)から、差分位置情報と差分属性情報とを復号(例えばエントロピー復号)する(S1401)。
【0677】
また、三次元データ復号装置1400は、符号化信号から、参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用するか否かを示すRT適用フラグを復号する。また、三次元データ復号装置1400は、回転及び並進処理の内容を示すRT情報を復号する。なお、三次元データ復号装置1400は、RT適用フラグにより回転及び並進処理を適用することが示される場合にRT情報を復号し、RT適用フラグにより回転及び並進処理を適用しないことが示される場合にRT情報を復号しなくてもよい。
【0678】
次に、三次元データ復号装置1400は、復号された差分属性情報に逆量子化及び逆変換を行う(S1402)。
【0679】
次に、三次元データ復号装置1400は、対象三次元データ(例えば復号対象スペース)と異なる時刻の参照三次元データ(例えば参照スペース)に含まれる三次元点の位置情報を用いて予測位置情報(例えば予測ボリューム)を生成する(S1403)。具体的には、三次元データ復号装置1400は、参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用することで予測位置情報を生成する。
【0680】
より具体的には、三次元データ復号装置1400は、RT適用フラグにより回転及び並進処理を適用することが示される場合に、RT情報で示される参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用する。一方、RT適用フラグにより回転及び並進処理を適用しないことが示される場合には、三次元データ復号装置1400は、参照三次元データに含まれる三次元点の位置情報に回転及び並進処理を適用しない。
【0681】
なお、三次元データ復号装置1400は、回転及び並進処理を第1の単位(例えばスペース)で行い、予測位置情報の生成を第1の単位より細かい第2の単位(例えばボリューム)で行ってもよい。なお、三次元データ復号装置1400は、回転及び並進処理と、予測位置情報の生成とを同一の単位で行ってもよい。
【0682】
また、三次元データ復号装置1400は、参照三次元データに含まれる三次元点の位置情報に第1の単位(例えばスペース)で第1回転及び並進処理を適用し、第1回転及び並進処理により得られた三次元点の位置情報に、第1の単位より細かい第2の単位(例えばボリューム)で第2回転及び並進処理を適用することで予測位置情報を生成してもよい。
【0683】
ここで、三次元点の位置情報及び予測位置情報は、例えば
図58に示すように、8分木構造で表現される。例えば、三次元点の位置情報及び予測位置情報は、8分木構造における深度と幅とのうち、幅を優先したスキャン順で表される。または、三次元点の位置情報及び予測位置情報は、8分木構造における深度と幅とのうち、深度を優先したスキャン順で表される。
【0684】
三次元データ復号装置1400は、参照三次元データに含まれる三次元点の属性情報を用いて予測属性情報を生成する(S1404)。
【0685】
次に、三次元データ復号装置1400は、符号化信号に含まれる符号化位置情報を予測位置情報を用いて復号することで対象三次元データに含まれる三次元点の位置情報を復元する。ここで、符号化位置情報とは、例えば、差分位置情報であり、三次元データ復号装置1400は、差分位置情報と予測位置情報とを加算することで対象三次元データに含まれる三次元点の位置情報を復元する(S1405)。
【0686】
また、三次元データ復号装置1400は、符号化信号に含まれる符号化属性情報を予測属性情報を用いて復号することで対象三次元データに含まれる三次元点の属性情報を復元する。ここで、符号化属性情報とは、例えば、差分属性情報であり、三次元データ復号装置1400は、差分属性情報と予測属性情報とを加算することで対象三次元データに含まれる三次元点の属性情報を復元する(S1406)。
【0687】
なお、三次元データに属性情報が含まれない場合には、三次元データ復号装置1400は、ステップS1402、S1404及びS1406を行わなくてもよい。また、三次元データ復号装置1400は、三次元点の位置情報の復号と、三次元点の属性情報の復号とのうち、一方のみを行ってもよい。
【0688】
また、
図67に示す処理の順序は一例であり、これに限定されない。例えば、位置情報に対する処理(S1403、S1405)と、属性情報に対する処理(S1402、S1404、S1406)とは互いに独立しているため、任意の順序で行われてもよいし、一部が並列処理されてもよい。
【0689】
(実施の形態9)
本実施の形態では、8分木のオキュパンシー符号に対する適応的なエントロピー符号化(算術符号化)について説明する。
【0690】
図68は、4分木の木構造の一例を示す図である。
図69は、
図68に示す木構造のオキュパンシー符号を示す図である。
図70は、本実施に形態に係る三次元データ符号化装置の動作を模式的に示す図である。
【0691】
本実施の形態に係る三次元データ符号化装置は、8分木における8ビットのオキュパンシー符号化をエントロピー符号化する。また、三次元データ符号化装置は、オキュパンシー符号のエントロピー符号化処理において、符号化テーブルを更新する。また、三次元データ符号化装置は、単一の符号化テーブルを用いるのではなく、三次元点の類似性情報を利用するために適応的な符号化テーブルを用いる。つまり、三次元テータ符号化装置は、複数の符号化テーブルを用いる。
【0692】
また、類似性情報とは、例えば、三次元点の幾何情報、8分木の構造情報、又は、三次元点の属性情報である。
【0693】
なお、
図68~
図70では、4分木を例に示したが、2分木、8分木、16分木等のN分木の場合に同様の手法を適用してもよい。例えば、三次元データ符号化装置は、8分木の場合は8ビットのオキュパンシー符号、4分木の場合は4ビットのオキュパンシー符号、16分木の場合は16ビットのオキュパンシー符号に対して、適応的テーブル(adaptive table:符号化テーブルとも呼ぶ)を用いてエントロピー符号化を行う。
【0694】
以下、三次元点(ポイントクラウド)の幾何情報(geometry information)を用いた適応的なエントロピー符号化処理について説明する。
【0695】
木構造内の2つのノードにおいて、各ノードの周辺の幾何学的な配置が類似する場合、子ノードの占有状態(つまり、三次元点が含まれるか否かの状態)が類似する可能性がある。よって、三次元データ符号化装置は、親ノードの周辺の幾何学的な配置を用いて、グループ化を行う。これにより、三次元データ符号化装置は、子ノードの占有状態をグループ化し、グループ毎に異なる符号化テーブルを用いることができる。よって、エントロピー符号化の符号化効率を向上できる。
【0696】
図71は、幾何情報の一例を示す図である。幾何情報は対象ノードの複数の隣接ノードの各々が占有されているか否か(つまり三次元点を含むか否か)を示す情報を含む。例えば、三次元データ符号化装置は、対象ノードの周辺の幾何学的な配置(Local geometry)を、隣接ノードに三次元点が含まれるか否か(occupied or non-occupied)の情報を用いて算出する。隣接ノードとは、例えば対象ノードの空間的に周囲に存在するノード、または、対象ノードとは異なる時間の同一位置、もしくはその空間的に周囲に存在するノードである。
【0697】
図71において、ハッチングの立方体は符号化対象の対象ノードを示す。白い立方体は隣接ノードであり、かつ三次元点を含むノードを示す。
図71において、(2)に示す幾何パターンは(1)に示す幾何パターンを回転した形を表す。よって、三次元データ符号化装置は、これらの幾何パターンは、幾何類似性(geometry similarity)が高いと判断し、これらの幾何パターンに対しては同一の符号化テーブルを用いてエントロピー符号化を行う。また、三次元データ符号化装置は、(3)及び(4)の幾何パターンに対しては幾何類似性が低いと判断し、別の符号化テーブルを用いてエントロピー符号化を行う。
【0698】
図72は、
図71に示す(1)~(4)の幾何パターンにおける対象ノードのオキュパンシー符号と、エントロピー符号化に用いられる符号化テーブルの例を示す図である。三次元データ符号化装置は、上記のように幾何パターン(1)と(2)については同じ幾何グループに含まれると判断し、同一の符号化テーブルAを用いる。また、三次元データ符号化装置は、幾何パターン(3)及び(4)にはそれぞれ符号化テーブルB及び符号化テーブルCを用いる。
【0699】
また、
図72に示すように、同一の幾何グループに含まれる幾何パターン(1)と(2)の対象ノードのオキュパンシー符号が同一になる場合がある。
【0700】
次に、木構造の構造情報(structure information)を用いた適応的なエントロピー符号化処理について説明する。例えば、構造情報は対象ノードが属する層を示す情報を含む。
【0701】
図73は、木構造の一例を示す図である。一般に局所的な物体の形状は、探索の尺度に依存する。例えば、木構造において、下層は上層よりも疎になる傾向がある。よって、三次元データ符号化装置は、
図73に示すように上層と下層とで異なる符号化テーブルを用いることで、エントロピー符号化の符号化効率を向上できる。
【0702】
つまり、三次元データ符号化装置は、各層のオキュパンシー符号を符号化する際に、層毎に異なる符号化テーブルを用いてもよい。例えば、
図73に示す木構造に対して、三次元データ符号化装置は、層N(N=0~6)のオキュパンシー符号の符号化には層N用の符号化テーブルを用いてエントロピー符号化を行ってもよい。これにより、三次元データ符号化装置は、層毎のオキュパンシー符号の出現パターンに応じて符号化テーブルを切替えることができるので符号化効率を向上できる。
【0703】
また、三次元データ符号化装置は、
図73に示すように、層0から層2までのオキュパンシー符号には符号化テーブルAを用い、層3から層6までのオキュパンシー符号には符号化テーブルBを用いてもよい。これにより、三次元データ符号化装置は、各層群毎のオキュパンシー符号の出現パターンに応じて符号化テーブルを切替えることができるので符号化効率を向上できる。また、三次元データ符号化装置は、各層で用いる符号化テーブルの情報をビットストリームのヘッダに付加してもよい。または、各層で用いる符号化テーブルが規格等で予め定められていてもよい。
【0704】
次に、三次元点の属性情報(property information)を用いた適応的なエントロピー符号化処理について説明する。例えば、属性情報は対象ノードが含まれる物体の情報、又は対象ノードが保持する法線ベクトルの情報を含む。
【0705】
三次元点の属性情報を用いて、類似する幾何学的な配置を有する三次元点をグループ化することができる。例えば、三次元点が有する共通の属性情報として、各三次元点の方向を表す法線ベクトル(normal vector)を用いることができる。法線ベクトルを用いることで、木構造内の類似するオキュパンシー符号に関連する幾何学的な配置を見つけることができる。
【0706】
また、属性情報として、色又は反射率(反射度)が用いられてもよい。例えば、三次元データ符号化装置は、三次元点の色又は反射度を用いて、類似する幾何学的な配置を有する三次元点をグループ化し、グループ毎に符号化テーブルを切替える等の処理を行う。
【0707】
図74は、法線ベクトルに基づく符号化テーブルの切り替えを説明するための図である。
図74に示すように、対象ノードの法線ベクトルが属する法線ベクトル群が異なる場合、異なる符号化テーブルが用いられる。例えば、予め定められた範囲に含まれる法線ベクトルが1つの法線ベクトル群に分類される。
【0708】
また、対象物の分類が異なる場合、オキュパンシー符号も異なる可能性が高い。よって、三次元データ符号化装置は、対象ノードが属する対象物の分類に応じて、符号化テーブルを選択してもよい。
図75は、対象物の分類に基づく符号化テーブルの切り替えを説明するための図である。
図75に示すように、対象物の分類が異なる場合、異なる符号化テーブルが用いられる。
【0709】
以下、本実施の形態に係るビットストリームの構成例について説明する。
図76は、本実施の形態に係る三次元データ符号化装置により生成されるビットストリームの構成例を示す図である。
図76に示すようにビットストリームは、符号化テーブル群と、テーブルインデクスと、符号化オキュパンシーとを含む。符号化テーブル群は、複数の符号化テーブルを含む。
【0710】
テーブルインデックスは、後続の符号化オキュパンシーのエントロピー符号化に用いられた符号化テーブルを示すインデックスである。符号化オキュパンシーは、エントロピー符号化後のオキュパンシー符号である。また、
図76に示すようにビットストリームは、テーブルインデックスと符号化オキュパンシーとの組を複数含む。
【0711】
例えば、
図76に示す例の場合、符号化オキュパンシー0は、テーブルインデックス0で示されるコンテキストモデル(以下コンテキストとも呼ぶ)を用いてエントロピー符号化されたデータである。また、符号化オキュパンシー1は、テーブルインデックス1で示されるコンテキストを用いてエントロピー符号化されたデータである。また、予め規格等で符号化オキュパンシー0を符号化するためのコンテキストを規定しておき、三次元データ復号装置は、符号化オキュパンシー0の復号時にそのコンテキストを使用してもよい。これにより、テーブルインデックスをビットストリームに付加する必要がなくなるので、オーバヘッドを削減できる。
【0712】
また、三次元データ符号化装置は、ヘッダ内に各コンテキストを初期化するための情報を付加してもよい。
【0713】
三次元データ符号化装置は、対象ノードの幾何情報、構造情報又は属性情報を用いて符号化テーブルを決定し、決定した符号化テーブルを用いてオキュパンシー符号を符号化する。三次元データ符号化装置は、符号化結果と符号化に用いた符号化テーブルの情報(テーブルインデクス等)をビットストリームに付加し、当該ビットストリームを三次元データ復号装置に送信する。これにより、三次元データ復号装置は、ヘッダに付加された符号化テーブルの情報を用いてオキュパンシー符号を復号できる。
【0714】
また、三次元データ符号化装置は、符号化に用いた符号化テーブルの情報をビットストリームに付加せず、三次元データ復号装置は、復号後の対象ノードの幾何情報、構造情報又は属性情報を用いて符号化テーブルを三次元データ符号化装置と同じ方法で決定し、決定した符号化テーブルを用いてオキュパンシー符号を復号してもよい。これにより、ビットストリームに符号化テーブルの情報を付加する必要がなくなるので、オーバヘッドを削減できる。
【0715】
図77及び
図78は、符号化テーブルの例を示す図である。
図77及び
図78に示すように、1つの符号化テーブルは、8ビットのオキュパンシー符号の値毎に、当該値に対応するコンテキストモデル及びコンテキストモデルタイプを示す。
【0716】
図77に示す符号化テーブルのように、複数のオキュパンシー符号に同一のコンテキストモデル(コンテキスト)が適用されてもよい。また、各オキュパンシー符号に別々のコンテキストモデルが割り当てられてもよい。これにより、オキュパンシー符号の出現確率に応じてコンテキストモデルを割り当てることができるので、符号化効率を向上することができる。
【0717】
また、コンテキストモデルタイプは、例えば、コンテキストモデルが、オキュパンシー符号の出現頻度に応じて確率テーブルを更新するコンテキストモデルであるか、確率テーブルを固定したコンテキストモデルであるか等を示す。
【0718】
次に、ビットストリーム及び符号化テーブルの別の例を示す。
図79は、ビットストリームの変形例の構成例を示す図である。
図79に示すようにビットストリームは、符号化テーブル群と、符号化オキュパンシーとを含む。符号化テーブル群は、複数の符号化テーブルを含む。
【0719】
図80及び
図81は、符号化テーブルの例を示す図である。
図80及び
図81に示すように、1つの符号化テーブルは、オキュパンシー符号に含まれる1ビット毎に、当該1ビットに対応するコンテキストモデル及びコンテキストモデルタイプを示す。
【0720】
図82は、オキュパンシー符号と、オキュパンシー符号のビット番号との関係の一例を示す図である。
【0721】
このように、三次元データ符号化装置は、オキュパンシー符号をバイナリデータとして扱い、ビット毎に別々のコンテキストモデルを割り当ててオキュパンシー符号をエントロピー符号化してもよい。これにより、オキュパンシー符号の各ビットの出現確率に応じてコンテキストモデルを割り当てることができるので、符号化効率を向上することができる。
【0722】
具体的には、オキュパンシー符号の各ビットは、対象ノードに対応する空間ブロックを分割したサブブロックに対応する。よって、ブロック内の同じ空間位置のサブブロックに同様の傾向がある場合に符号化効率を向上できる。例えば、地面又は道路の表面がブロック内を横断する場合、8分木では、下の4つのブロックには三次元点が含まれ、上の4つのブロックには三次元点が含まれない。また、水平方向に並ぶ複数のブロックにおいて同様のパターンが現れる。よって、上記のようにビット毎にコンテキストを切り替えることで符号化効率を向上できる。
【0723】
また、オキュパンシー符号の各ビットの出現頻度に応じて確率テーブルを更新するコンテキストモデルが用いられてもよい。また、確率テーブルを固定したコンテキストモデルが用いられてもよい。
【0724】
次に、本実施の形態に係る三次元データ符号化処理及び三次元データ復号処理の流れを説明する。
【0725】
図83は、幾何情報を用いた適応的なエントロピー符号化処理を含む三次元データ符号化処理のフローチャートである。
【0726】
分解処理では、三次元点の初期バウンダリングボックスから8分木が生成される。バウンダリングボックス内の三次元点の位置に応じてバウンダリングボックスは分割される。具体的には、空でないサブ空間はさらに分割される。次に、サブ空間に三次元点が含まれるか否かを示す情報がオキュパンシー符号に符号化される。なお、
図85及び
図87に示す処理においても同様の処理が行われる。
【0727】
まず、三次元データ符号化装置は、入力された三次元点を取得する(S1901)。次に、三次元データ符号化装置は、単位長の分解処理が完了したか否かを判定する(S1902)。
【0728】
単位長の分解処理が完了していない場合(S1902でNo)、三次元データ符号化装置は、対象ノードに分解処理を行うことで8分木を生成する(S1903)。
【0729】
次に、三次元データ符号化装置は、幾何情報を取得し(S1904)、取得した幾何情報に基づき符号化テーブルを選択する(S1905)。ここで幾何情報とは、例えば、上述したように、対象ノードの周辺ブロックの占有状態の幾何学的な配置等を示す情報である。
【0730】
次に、三次元データ符号化装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー符号化する(S1906)。
【0731】
上記ステップS1903~S1906の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1902でYes)、三次元データ符号化装置は、生成した情報を含むビットストリームを出力する(S1907)。
【0732】
三次元データ符号化装置は、対象ノードの幾何情報、構造情報又は属性情報を用いて符号化テーブルを決定し、決定した符号化テーブルを用いてオキュパンシー符号のビット列を符号化する。三次元データ符号化装置は、符号化結果と符号化に用いた符号化テーブルの情報(テーブルインデックスなど)をビットストリームに付加し、当該ビットストリームを三次元データ復号装置に送信する。これにより、三次元データ復号装置は、ヘッダに付加された符号化テーブルの情報を用いてオキュパンシー符号を復号できる。
【0733】
また、三次元データ符号化装置は、符号化に用いた符号化テーブルの情報をビットストリームに付加せず、三次元データ復号装置は、復号後の対象ノードの幾何情報、構造情報又は属性情報を用いて符号化テーブルを三次元データ符号化装置と同じ方法で決定し、決定した符号化テーブルを用いてオキュパンシー符号を復号してもよい。これにより、ビットストリームに符号化テーブルの情報を付加する必要がなくなるので、オーバヘッドを削減できる。
【0734】
図84は、幾何情報を用いた適応的なエントロピー復号処理を含む三次元データ復号処理のフローチャートである。
【0735】
復号処理に含まれる分解処理は、上述した符号化処理に含まれる分解処理と同様であるが、以下の点が異なる。三次元データ復号装置は、復号したオキュパンシー符号を用いて、初期バウンダリングボックスを分割する。三次元データ復号装置は、単位長の処理を終了した場合、バウンダリングボックスの位置を三次元点と位置として保存する。なお、
図86及び
図88に示す処理においても同様の処理が行われる。
【0736】
まず、三次元データ復号装置は、入力されたビットストリームを取得する(S1911)。次に、三次元データ復号装置は、単位長の分解処理が完了したか否かを判定する(S1912)。
【0737】
単位長の分解処理が完了していない場合(S1912でNo)、三次元データ復号装置は、対象ノードに分解処理を行うことで8分木を生成する(S1913)。
【0738】
次に、三次元データ復号装置は、幾何情報を取得し(S1914)、取得した幾何情報に基づき符号化テーブルを選択する(S1915)。ここで幾何情報とは、例えば、上述したように、対象ノードの周辺ブロックの占有状態の幾何学的な配置等を示す情報である。
【0739】
次に、三次元データ復号装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー復号する(S1916)。
【0740】
上記ステップS1913~S1916の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1912でYes)、三次元データ復号装置は、三次元点を出力する(S1917)。
【0741】
図85は、構造情報を用いた適応的なエントロピー符号化処理を含む三次元データ符号化処理のフローチャートである。
【0742】
まず、三次元データ符号化装置は、入力された三次元点を取得する(S1921)。次に、三次元データ符号化装置は、単位長の分解処理が完了したか否かを判定する(S1922)。
【0743】
単位長の分解処理が完了していない場合(S1922でNo)、三次元データ符号化装置は、対象ノードに分解処理を行うことで8分木を生成する(S1923)。
【0744】
次に、三次元データ符号化装置は、構造情報を取得し(S1924)、取得した構造情報に基づき符号化テーブルを選択する(S1925)。ここで構造情報とは、例えば、上述したように、対象ノードが属する層等を示す情報である。
【0745】
次に、三次元データ符号化装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー符号化する(S1926)。
【0746】
上記ステップS1923~S1926の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1922でYes)、三次元データ符号化装置は、生成した情報を含むビットストリームを出力する(S1927)。
【0747】
図86は、構造情報を用いた適応的なエントロピー復号処理を含む三次元データ復号処理のフローチャートである。
【0748】
まず、三次元データ復号装置は、入力されたビットストリームを取得する(S1931)。次に、三次元データ復号装置は、単位長の分解処理が完了したか否かを判定する(S1932)。
【0749】
単位長の分解処理が完了していない場合(S1932でNo)、三次元データ復号装置は、対象ノードに分解処理を行うことで8分木を生成する(S1933)。
【0750】
次に、三次元データ復号装置は、構造情報を取得し(S1934)、取得した構造情報に基づき符号化テーブルを選択する(S1935)。ここで構造情報とは、例えば、上述したように、対象ノードが属する層等を示す情報である。
【0751】
次に、三次元データ復号装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー復号する(S1936)。
【0752】
上記ステップS1933~S1936の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1932でYes)、三次元データ復号装置は、三次元点を出力する(S1937)。
【0753】
図87は、属性情報を用いた適応的なエントロピー符号化処理を含む三次元データ符号化処理のフローチャートである。
【0754】
まず、三次元データ符号化装置は、入力された三次元点を取得する(S1941)。次に、三次元データ符号化装置は、単位長の分解処理が完了したか否かを判定する(S1942)。
【0755】
単位長の分解処理が完了していない場合(S1942でNo)、三次元データ符号化装置は、対象ノードに分解処理を行うことで8分木を生成する(S1943)。
【0756】
次に、三次元データ符号化装置は、属性情報を取得し(S1944)、取得した属性情報に基づき符号化テーブルを選択する(S1945)。ここで属性情報とは、例えば、上述したように、対象ノードの法線ベクトル等を示す情報である。
【0757】
次に、三次元データ符号化装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー符号化する(S1946)。
【0758】
上記ステップS1943~S1946の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1942でYes)、三次元データ符号化装置は、生成した情報を含むビットストリームを出力する(S1947)。
【0759】
図88は、属性情報を用いた適応的なエントロピー復号処理を含む三次元データ復号処理のフローチャートである。
【0760】
まず、三次元データ復号装置は、入力されたビットストリームを取得する(S1951)。次に、三次元データ復号装置は、単位長の分解処理が完了したか否かを判定する(S1952)。
【0761】
単位長の分解処理が完了していない場合(S1952でNo)、三次元データ復号装置は、対象ノードに分解処理を行うことで8分木を生成する(S1953)。
【0762】
次に、三次元データ復号装置は、属性情報を取得し(S1954)、取得した属性情報に基づき符号化テーブルを選択する(S1955)。ここで属性情報とは、例えば、上述したように、対象ノードの法線ベクトル等を示す情報である。
【0763】
次に、三次元データ復号装置は、選択された符号化テーブルを用いて、対象ノードのオキュパンシー符号をエントロピー復号する(S1956)。
【0764】
上記ステップS1953~S1956の処理が単位長の分解処理が完了するまで繰り返えされる。単位長の分解処理が完了した場合(S1952でYes)、三次元データ復号装置は、三次元点を出力する(S1957)。
【0765】
図89は、幾何情報を用いた符号化テーブルの選択処理(S1905)のフローチャートである。
【0766】
三次元データ符号化装置は、幾何情報として、例えば木構造の幾何グループの情報を用いてオキュパンシー符号のエントロピー符号化に用いる符号化テーブルを切替えてもよい。ここで幾何グループの情報とは、対象ノードの幾何パターンが含まれる幾何グループを示す情報である。
【0767】
図89に示すように、幾何情報で示される幾何グループが幾何グループ0である場合(S1961でYes)、三次元データ符号化装置は符号化テーブル0を選択する(S1962)。幾何情報で示される幾何グループが幾何グループ1である場合(S1963でYes)、三次元データ符号化装置は符号化テーブル1を選択する(S1964)。それ以外の場合(S1963でNo)、三次元データ符号化装置は符号化テーブル2を選択する(S1965)。
【0768】
なお、符号化テーブルの選択方法は上記に限らない。例えば、三次元データ符号化装置は、幾何情報で示される幾何グループが幾何グループ2である場合には、符号化テーブル2を用いるなど、幾何グループの値に応じて更に符号化テーブルを切り替えてもよい。
【0769】
例えば、幾何グループは、対象ノードに隣接するノードに点群が含まれるか否かを示す占有情報を用いて決定される。また、回転等の変換を適用することで同じ形状になる幾何パターンは、同一の幾何グループに含まれてもよい。また、三次元データ符号化装置は、対象ノードに隣接する、又は対象ノードの周囲に位置する、対象ノードと同一層に属するノードの占有情報を用いて幾何グループを選択してもよい。また、三次元データ符号化装置は、対象ノードとは別の層に属するノードの占有情報を用いて幾何グループを選択してもよい。例えば、三次元データ符号化装置は、親ノード、又は、親ノードに隣接する、或いは親ノードの周囲に位置するノードの占有情報を用いて幾何グループを選択してもよい。
【0770】
なお、三次元データ復号装置における幾何情報を用いた符号化テーブルの選択処理(S1915)も上記と同様である。
【0771】
図90は、構造情報を用いた符号化テーブルの選択処理(S1925)のフローチャートである。
【0772】
三次元データ符号化装置は、構造情報として、例えば木構造の層の情報を用いてオキュパンシー符号のエントロピー符号化に用いる符号化テーブルを切替えてもよい。ここで、層の情報は、例えば、対象ノードが属する層を示す。
【0773】
図90に示すように、対象ノードが層0に属する場合(S1971でYes)、三次元データ符号化装置は符号化テーブル0を選択する(S1972)。対象ノードが層1に属する場合(S1973でYes)、三次元データ符号化装置は符号化テーブル1を選択する(S1974)。それ以外の場合(S1973でNo)、三次元データ符号化装置は符号化テーブル2を選択する(S1975)。
【0774】
なお、符号化テーブルの選択方法は上記に限らない。例えば、三次元データ符号化装置は、対象ノードが層2に属する場合には、符号化テーブル2を用いるなど、対象ノードが属する層に応じて更に符号化テーブルを切り替えてもよい。
【0775】
また、三次元データ復号装置における構造情報を用いた符号化テーブルの選択処理(S1935)も上記と同様である。
【0776】
図91は、属性情報を用いた符号化テーブルの選択処理(S1945)のフローチャートである。
【0777】
三次元データ符号化装置は、属性情報として、例えば対象ノードが属する対象物の情報、又は対象ノードの法線ベクトルの情報を用いてオキュパンシー符号のエントロピー符号化に用いる符号化テーブルを切替えてもよい。
【0778】
図91に示すように、対象ノードの法線ベクトルが法線ベクトル群0に属する場合(S1981でYes)、三次元データ符号化装置は符号化テーブル0を選択する(S1982)。対象ノードの法線ベクトルが法線ベクトル群1に属する場合(S1983でYes)、三次元データ符号化装置は符号化テーブル1を選択する(S1984)。それ以外の場合(S1983でNo)、三次元データ符号化装置は符号化テーブル2を選択する(S1985)。
【0779】
なお、符号化テーブルの選択方法は上記に限らない。例えば、三次元データ符号化装置は、対象ノードの法線ベクトルが法線ベクトル群2に属する場合には、符号化テーブル2を用いるなど、対象ノードの法線ベクトルが属する法線ベクトル群に応じて更に符号化テーブルを切り替えてもよい。
【0780】
例えば、三次元データ符号化装置は、法線ベクトル群を、対象ノードが持つ法線ベクトルの情報を用いて選択する。例えば、三次元データ符号化装置は、法線ベクトル間の距離が予め定められた閾値以下である法線ベクトルを同一の法線ベクトル群と判定する。
【0781】
また、対象ノードが属する対象物の情報とは、例えば人物、車、又は建物等の情報であってもよい。
【0782】
以下、本実施の形態に係る三次元データ符号化装置1900及び三次元データ復号装置1910の構成を説明する。
図92は、本実施の形態に係る三次元データ符号化装置1900のブロック図である。
図92に示す三次元データ符号化装置1900は、8分木生成部1901と、類似性情報算出部1902と、符号化テーブル選択部1903と、エントロピー符号化部1904とを備える。
【0783】
8分木生成部1901は、入力された三次元点からから、例えば8分木を生成し、8分木に含まれる各ノードのオキュパンシー符号を生成する。類似性情報算出部1902は、例えば、対象ノードの幾何情報、構造情報、又は属性情報である類似性情報を取得する。符号化テーブル選択部1903は、対象ノードの類似性情報に応じて、オキュパンシー符号のエントロピー符号化に用いるコンテキストを選択する。エントロピー符号化部1904は、選択されたコンテキストを用いてオキュパンシー符号をエントロピー符号化することでビットストリームを生成する。なお、エントロピー符号化部1904は、選択されたコンテキストを示す情報をビットストリームに付加してもよい。
【0784】
図93は、本実施の形態に係る三次元データ復号装置1910のブロック図である。
図93に示す三次元データ復号装置1910は、8分木生成部1911と、類似性情報算出部1912と、符号化テーブル選択部1913と、エントロピー復号部1914とを備える。
【0785】
8分木生成部1911は、エントロピー復号部1914から得た情報を用いて、例えば下層から上層へと順に8分木を生成する。類似性情報算出部1912は、対象ノードの幾何情報、構造情報、又は属性情報である類似性情報を取得する。符号化テーブル選択部1913は、対象ノードの類似性情報に応じて、オキュパンシー符号のエントロピー復号に用いるコンテキストを選択する。エントロピー復号部1914は、選択されたコンテキストを用いてオキュパンシー符号をエントロピー復号することで、三次元点を生成する。なお、エントロピー復号部1914は、ビットストリームに付加された、選択されたコンテキストの情報を復号して取得し、当該情報で示されるコンテキストを用いてもよい。
【0786】
以上、
図80~
図82に示すように、オキュパンシー符号の各ビットに対して複数のコンテキストが設けられる。つまり、三次元データ符号化装置は、三次元データに含まれる複数の三次元点のN(Nは2以上の整数)分木構造を表すビット列を複数の符号化テーブルから選択された符号化テーブルを用いてエントロピー符号化する。ビット列は、N分木構造におけるノード毎にNビットの情報を含む。Nビットの情報は、対応するノードのN個の子ノードの各々に三次元点が存在するか否かを示す1ビットの情報をN個含む。複数の符号化テーブルの各々において、Nビットの情報の各ビットに対してコンテキストが設けられている。三次元データ符号化装置は、エントロピー符号化では、Nビットの情報の各ビットを、選択された符号化テーブルにおいて当該ビットに対して設けられているコンテキストを用いてエントロピー符号化する。
【0787】
これによれば、三次元データ符号化装置は、ビット毎にコンテキストを切り替えることで符号化効率を向上できる。
【0788】
例えば、三次元データ符号化装置は、エントロピー符号化では、対象のノードに隣接する複数の隣接ノードの各々に三次元点が存在するかに基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ符号化装置は、隣接ノードに三次元点が存在するか否かに基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0789】
例えば、三次元データ符号化装置は、エントロピー符号化では、複数の隣接ノードのうち三次元点が存在する隣接ノードの配置位置を示す配置パターンに基づき符号化テーブルを選択し、配置パターンのうち、回転により同一の配置パターンとなる配置パターンに対しては、同一の符号化テーブルを選択する。これによれば、三次元データ符号化装置は、符号化テーブルの増加を抑制できる。
【0790】
例えば、三次元データ符号化装置は、エントロピー符号化では、対象のノードが属する層に基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ符号化装置は、対象ノードが属する層に基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0791】
例えば、三次元データ符号化装置は、エントロピー符号化では、対象のノードの法線ベクトルに基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ符号化装置は、法線ベクトルに基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0792】
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0793】
また、三次元データ復号装置は、三次元データに含まれる複数の三次元点のN(Nは2以上の整数)分木構造を表すビット列を複数の符号化テーブルから選択された符号化テーブルを用いてエントロピー復号する。ビット列は、N分木構造におけるノード毎にNビットの情報を含む。Nビットの情報は、対応するノードのN個の子ノードの各々に三次元点が存在するか否かを示す1ビットの情報をN個含む。複数の符号化テーブルの各々において、Nビットの情報の各ビットに対してコンテキストが設けられている。三次元データ復号装置は、エントロピー復号では、Nビットの情報の各ビットを、選択された符号化テーブルにおいて当該ビットに対して設けられているコンテキストを用いてエントロピー復号する。
【0794】
これによれば、三次元データ復号装置は、ビット毎にコンテキストを切り替えることで符号化効率を向上できる。
【0795】
例えば、三次元データ復号装置は、エントロピー復号では、対象のノードに隣接する複数の隣接ノードの各々に三次元点が存在するかに基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ復号装置は、隣接ノードに三次元点が存在するか否かに基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0796】
例えば、三次元データ復号装置は、エントロピー復号では、複数の隣接ノードのうち三次元点が存在する隣接ノードの配置位置を示す配置パターンに基づき符号化テーブルを選択し、配置パターンのうち、回転により同一の配置パターンとなる配置パターンに対しては、同一の符号化テーブルを選択する。これによれば、三次元データ復号装置は、符号化テーブルの増加を抑制できる。
【0797】
例えば、三次元データ復号装置は、エントロピー復号では、対象のノードが属する層に基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ復号装置は、対象ノードが属する層に基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0798】
例えば、三次元データ復号装置は、エントロピー復号では、対象のノードの法線ベクトルに基づき、複数の符号化テーブルから使用する符号化テーブルを選択する。これによれば、三次元データ復号装置は、法線ベクトルに基づき符号化テーブルを切り替えることで符号化効率を向上できる。
【0799】
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0800】
(実施の形態10)
本実施の形態では、オキュパンシー符号の符号化時における参照の制御方法について説明する。なお、以下では、主に三次元データ符号化装置の動作を説明するが、三次元データ復号装置においても同様の処理が行われてもよい。
【0801】
図94及び
図95は、本実施の形態に係る参照関係を示す図である。
図94は、参照関係を8分木構造上で示す図であり、
図95は、参照関係を空間領域上で示す図である。
【0802】
本実施の形態では、三次元データ符号化装置は、符号化対象のノード(以下、対象ノードと呼ぶ)の符号化情報を符号化する際に、対象ノードが属する親ノード(parent node)内の各ノードの符号化情報を参照する。ただし、親ノードと同一層の他のノード(以下、親隣接ノード)内の各ノードの符号化情報は参照しない。つまり、三次元データ符号化装置は、親隣接ノードの参照を不可に設定する、又は参照を禁止にする。
【0803】
なお、三次元データ符号化装置は、親ノードが属する親ノード(以下、祖父ノード(grandparent node)と呼ぶ)内の符号化情報の参照を許可してもよい。つまり、三次元データ符号化装置は、対象ノードが属する親ノード及び祖父ノードの符号化情報を参照して対象ノードの符号化情報を符号化してもよい。
【0804】
ここで符号化情報とは、例えばオキュパンシー符号である。三次元データ符号化装置は、対象ノードのオキュパンシー符号を符号化する際に、対象ノードが属する親ノード内の各ノードに点群が含まれるか否かを示す情報(以下、占有情報)を参照する。言い換えると、三次元データ符号化装置は、対象ノードのオキュパンシー符号を符号化する際に、親ノードのオキュパンシー符号を参照する。一方で、三次元データ符号化装置は、親隣接ノード内の各ノードの占有情報は参照しない。つまり、三次元データ符号化装置は、親隣接ノードのオキュパンシー符号を参照しない。また、三次元データ符号化装置は、祖父ノード内の各ノードの占有情報を参照してもよい。つまり、三次元データ符号化装置は、親ノード及び親隣接ノードの占有情報を参照してもよい。
【0805】
例えば、三次元データ符号化装置は、対象ノードのオキュパンシー符号を符号化する際に、対象ノードが属する親ノード又は祖父ノードのオキュパンシー符号を用いて対象ノードのオキュパンシー符号をエントロピー符号化する際に用いる符号化テーブルを切替える。なお、この詳細は後述する。この際、三次元データ符号化装置は、親隣接ノードのオキュパンシー符号を参照しなくてもよい。これにより、三次元データ符号化装置は、対象ノードのオキュパンシー符号を符号化する際に、親ノード又は祖父ノードのオキュパンシー符号の情報に応じて適切に符号化テーブルを切替えることができるので、符号化効率を向上できる。また、三次元データ符号化装置は、親隣接ノードを参照しないことで、親隣接ノードの情報の確認処理、及びそれらを記憶するためのメモリ容量を抑制することができる。また、8分木の各ノードのオキュパンシー符号を深さ優先順にスキャンして符号化することが容易となる。
【0806】
以下、親ノードのオキュパンシー符号を用いた符号化テーブル切替例について説明する。
図96は、対象ノードと隣接参照ノードの例を示す図である。
図97は、親ノードとノードとの関係を示す図である。
図98は、親ノードのオキュパンシー符号の例を示す図である。ここで、隣接参照ノードとは、対象ノードに空間的に隣接するノードのうち、対象ノードの符号化の際に参照されるノードである。
図96に示す例では、隣接ノードは、対象ノードと同一層に属するノードである。また、参照隣接ノードとして対象ブロックのx方向に隣接するノードXと、y方向に隣接するノードYと、z方向に隣接するノードZとが用いられる。つまり、x、y、zの各方向においてそれぞれ1つの隣接ブロックが参照隣接ブロックに設定される。
【0807】
なお、
図97に示すノード番号は一例であり、ノード番号とノードの位置との関係はこれに限らない。また、
図98では、下位ビットにノード0が割り当てられ、上位ビットにノード7が割り当てられているが、逆の順序で割り当てが行われてもよい。また、各ノードは任意のビットに割り当てられてもよい。
【0808】
三次元データ符号化装置は、対象ノードのオキュパンシー符号をエントロピー符号化する際の符号化テーブルを、例えば下記式により決定する。
【0809】
CodingTable=(FlagX<<2)+(FlagY<<1)+(FlagZ)
【0810】
ここで、CodingTableは、対象ノードのオキュパンシー符号用の符号化テーブルを示し、値0~7のいずれかを示す。FlagXは、隣接ノードXの占有情報であり、隣接ノードXが点群を含む(占有)なら1を示し、そうでないなら0を示す。FlagYは、隣接ノードYの占有情報であり、隣接ノードYが点群を含む(占有)なら1を示し、そうでないなら0を示す。FlagZは、隣接ノードZの占有情報であり、隣接ノードZが点群を含む(占有)なら1を示し、そうでないなら0を示す。
【0811】
なお、隣接ノードが占有であるか否かを示す情報は、親ノードのオキュパンシー符号にに含まれているため、三次元データ符号化装置は、親ノードのオキュパンシー符号に示される値を用いて符号化テーブルを選択してもよい。
【0812】
以上により、三次元データ符号化装置は、対象ノードの隣接ノードに点群が含まれるか否かを示す情報を用いて符号化テーブルを切替えることで符号化効率を向上できる。
【0813】
また、三次元データ符号化装置は、
図96に示すように、親ノード内の対象ノードの空間位置に応じて隣接参照ノードを切替えてもよい。つまり、三次元データ符号化装置は、対象ノードの親ノード内の空間位置に応じて、複数の隣接ノードのうち、参照する隣接ノードを切り替えてもよい。
【0814】
次に、三次元データ符号化装置及び三次元データ復号装置の構成例を説明する。
図99は、本実施の形態に係る三次元データ符号化装置2100のブロック図である。
図99に示す三次元データ符号化装置2100は、8分木生成部2101と、幾何情報算出部2102と、符号化テーブル選択部2103と、エントロピー符号化部2104とを備える。
【0815】
8分木生成部2101は、入力された三次元点(ポイントクラウド)から、例えば8分木を生成し、8分木に含まれる各ノードのオキュパンシー符号を生成する。幾何情報算出部2102は、対象ノードの隣接参照ノードが占有であるか否かを示す占有情報を取得する。例えば、幾何情報算出部2102は、対象ノードが所属する親ノードのオキュパンシー符号から隣接参照ノードの占有情報を取得する。なお、幾何情報算出部2102は、
図96に示すように、対象ノードの親ノード内の位置に応じて隣接参照ノードを切替えてもよい。また、幾何情報算出部2102は、親隣接ノード内の各ノードの占有情報は参照しない。
【0816】
符号化テーブル選択部2103は、幾何情報算出部2102で算出された隣接参照ノードの占有情報を用いて対象ノードのオキュパンシー符号のエントロピー符号化に用いる符号化テーブルを選択する。エントロピー符号化部2104は、選択された符号化テーブルを用いてオキュパンシー符号をエントロピー符号化することでビットストリームを生成する。なお、エントロピー符号化部2104は、選択された符号化テーブルを示す情報をビットストリームに付加してもよい。
【0817】
図100は、本実施の形態に係る三次元データ復号装置2110のブロック図である。
図100に示す三次元データ復号装置2110は、8分木生成部2111と、幾何情報算出部2112と、符号化テーブル選択部2113と、エントロピー復号部2114とを備える。
【0818】
8分木生成部2111は、ビットストリームのヘッダ情報等を用いて、ある空間(ノード)の8分木を生成する。8分木生成部2111は、例えば、ヘッダ情報に付加されたある空間のx軸,y軸,z軸方向の大きさを用いて大空間(ルートノード)を生成し、その空間をx軸,y軸,z軸方向にそれぞれ2分割することで8個の小空間A(ノードA0~A7)を生成して8分木を生成する。また、対象ノードとしてノードA0~A7が順に設定される。
【0819】
幾何情報算出部2112は、対象ノードの隣接参照ノードが占有であるか否かを示す占有情報を取得する。例えば、幾何情報算出部2112は、対象ノードが所属する親ノードのオキュパンシー符号から隣接参照ノードの占有情報を取得する。なお、幾何情報算出部2112は、
図96に示すように、対象ノードの親ノード内の位置に応じて隣接参照ノードを切替えてもよい。また、幾何情報算出部2112は、親隣接ノード内の各ノードの占有情報は参照しない。
【0820】
符号化テーブル選択部2113は、幾何情報算出部2112で算出された隣接参照ノードの占有情報を用いて対象ノードのオキュパンシー符号のエントロピー復号に用いる符号化テーブル(復号テーブル)を選択する。エントロピー復号部2114は、選択された符号化テーブルを用いてオキュパンシー符号をエントロピー復号することで、三次元点を生成する。なお、符号化テーブル選択部2113は、ビットストリームに付加された、選択された符号化テーブルの情報を復号して取得し、エントロピー復号部2114は、取得された情報で示される符号化テーブルを用いてもよい。
【0821】
ビットストリームに含まれるオキュパンシー符号(8ビット)の各ビットは、8個の小空間A(ノードA0~ノードA7)にそれぞれ点群が含まれるか否かを示す。また更に、三次元データ復号装置は、小空間ノードA0を8個の小空間B(ノードB0~ノードB7)に分割して8分木を生成し、小空間Bの各ノードに点群が含まれるか否かを示す情報をオキュパンシー符号を復号して取得する。このように、三次元データ復号装置は、大空間から小空間へと8分木を生成しながら各ノードのオキュパンシー符号を復号する。
【0822】
以下、三次元データ符号化装置及び三次元データ復号装置による処理の流れを説明する。
図101は、三次元データ符号化装置における三次元データ符号化処理のフローチャートである。まず、三次元データ符号化装置は、入力された三次元点群の一部又は全てが含まれる空間(対象ノード)を決定(定義)する(S2101)。次に、三次元データ符号化装置は、対象ノードを8分割して8個の小空間(ノード)を生成する(S2102)。次に、三次元データ符号化装置は、各ノードに点群が含まれるか否かに応じて対象ノードのオキュパンシー符号を生成する(S2103)。
【0823】
次に、三次元データ符号化装置は、対象ノードの隣接参照ノードの占有情報を、対象ノードの親ノードのオキュパンシー符号から算出(取得)する(S2104)。次に、三次元データ符号化装置は、決定した対象ノードの隣接参照ノードの占有情報に基づき、エントロピー符号化に用いる符号化テーブルを選択する(S2105)。次に、三次元データ符号化装置は、選択した符号化テーブルを用いて対象ノードのオキュパンシー符号をエントロピー符号化する(S2106)。
【0824】
さらに、三次元データ符号化装置は、各ノードをそれぞれ8分割し、各ノードのオキュパンシー符号を符号化するという処理を、ノードが分割できなくなるまで繰り返す(S2107)。つまり、ステップS2102~S2106までの処理が再帰的に繰り返される。
【0825】
図102は、三次元データ復号装置における三次元データ復号方法のフローチャートである。まず、三次元データ復号装置は、ビットストリームのヘッダ情報を用いて復号する空間(対象ノード)を決定(定義)する(S2111)。次に、三次元データ復号装置は、対象ノードを8分割して8個の小空間(ノード)を生成する(S2112)。次に、三次元データ復号装置は、対象ノードの隣接参照ノードの占有情報を、対象ノードの親ノードのオキュパンシー符号から算出(取得)する(S2113)。
【0826】
次に、三次元データ復号装置は、隣接参照ノードの占有情報に基づきエントロピー復号に用いる符号化テーブルを選択する(S2114)。次に、三次元データ復号装置は、選択した符号化テーブルを用いて対象ノードのオキュパンシー符号をエントロピー復号する(S2115)。
【0827】
さらに、三次元データ復号装置は、各ノードをそれぞれ8分割し、各ノードのオキュパンシー符号を復号するという処理を、ノードが分割できなくなるまで繰り返す(S2116)。つまり、ステップS2112~S2115までの処理が再帰的に繰り返される。
【0828】
次に、符号化テーブルの切替えの例を説明する。
図103は、符号化テーブルの切替え例を示す図である。例えば、
図103に示す符号化テーブル0のように、複数のオキュパンシー符号に同一のコンテキストモデルが適用されてもよい。また、各オキュパンシー符号に別々のコンテキストモデルが割り当てられてもよい。これにより、オキュパンシー符号の出現確率に応じてコンテキストモデルを割り当てることができるので、符号化効率を向上できる。また、オキュパンシー符号の出現頻度に応じて確率テーブルを更新するコンテキストモデルが用いられてもよい。または、確率テーブルを固定したコンテキストモデルが用いられてもよい。
【0829】
【0830】
以下、本実施の形態の変形例1について説明する。
図104は、本変形例における参照関係を示す図である。上記実施の形態では、三次元データ符号化装置は、親隣接ノードのオキュパンシー符号を参照しないとしたが、親隣接ノードのオキュパンシー符号化を参照するか否かを、特定の条件に応じて切り替えてもよい。
【0831】
例えば、三次元データ符号化装置は、8分木を幅優先でスキャンしながら符号化を行うときは、親隣接ノード内のノードの占有情報を参照して、対象ノードのオキュパンシー符号を符号化する。一方、三次元データ符号化装置は、8分木を深さ優先でスキャンしながら符号化するときは、親隣接ノード内のノードの占有情報の参照を禁止する。このように8分木のノードのスキャン順(符号化順)に応じて、適切に参照可能なノードを切替えることにより、符号化効率の向上と処理負荷の抑制を実現できる。
【0832】
なお、三次元データ符号化装置は、8分木を幅優先で符号化したか、深さ優先で符号化したか等の情報をビットストリームのヘッダに付加してもよい。
図105は、この場合のヘッダ情報のシンタックス例を示す図である。
図105に示すoctree_scan_orderは、8分木の符号化順を示す符号化順情報(符号化順フラグ)である。例えば、octree_scan_orderが0の場合、幅優先を示し、1の場合は深さ優先を示す。これにより、三次元データ復号装置は、octree_scan_orderを参照することで、ビットストリームが幅優先及び深さ優先のどちらで符号化されたかを知ることができるので、ビットストリームを適切に復号できる。
【0833】
また、三次元データ符号化装置は、親隣接ノードの参照を禁止するか否かを示す情報をビットストリームのヘッダ情報に付加してもよい。
図106は、この場合のヘッダ情報のシンタックス例を示す図である。limit_refer_flagは、親隣接ノードの参照を禁止するか否かを示す禁止切替情報(禁止切替フラグ)である。例えば、limit_refer_flagが1の場合は親隣接ノードの参照を禁止することを示し、0の場合は参照制限なし(親隣接ノードの参照を許可する)を示す。
【0834】
つまり、三次元データ符号化装置は、親隣接ノードの参照を禁止するか否かを決定し、上記決定の結果に基づき、親隣接ノードの参照を禁止するか、許可するかを切り替える。また、三次元データ符号化装置は、上記決定の結果であって、親隣接ノードの参照を禁止するか否かを示す禁止切替情報を含むビットストリームを生成する。
【0835】
また、三次元データ復号装置は、親隣接ノードの参照を禁止するか否かを示す禁止切替情報をビットストリームから取得し、禁止切替情報に基づき、親隣接ノードの参照を禁止するか、許可するかを切り替える。
【0836】
これにより三次元データ符号化装置は、親隣接ノードの参照を制御してビットストリームを生成できる。また、三次元データ復号装置は、親隣接ノードの参照が禁止されているか否かを示す情報をビットストリームのヘッダから取得できる。
【0837】
また、本実施の形態では、親隣接ノードの参照を禁止する符号化処理の例としてオキュパンシー符号の符号化処理を例として記載したが、必ずしもこれに限らない。例えば、8分木のノードの他の情報を符号化する際にも同様の手法を適用可能である。例えば、ノードに付加された色、法線ベクトル、又は反射率等のその他の属性情報を符号化する際に、本実施の形態の手法を適用してもよい。また、符号化テーブル又は予測値を符号化する際にも同様の手法を適用できる。
【0838】
次に、本実施の形態の変形例2について説明する。上記説明では、
図96に示すように、3つの参照隣接ノードが用いられる例を示したが4つ以上の参照隣接ノードが用いられてもよい。
図107は、対象ノード及び参照隣接ノードの例を示す図である。
【0839】
例えば、三次元データ符号化装置は、
図107に示す対象ノードのオキュパンシー符号をエントロピー符号化する際の符号化テーブルを、例えば下記式により算出する。
【0840】
CodingTable=(FlagX0<<3)+(FlagX1<<2)+(FlagY<<1)+(FlagZ)
【0841】
ここで、CodingTableは、対象ノードのオキュパンシー符号用の符号化テーブルを示し、値0~15のいずれかを示す。FlagXNは、隣接ノードXN(N=0..1)の占有情報であり、隣接ノードXNが点群を含む(占有)なら1を示し、そうでないなら0を示す。FlagYは、隣接ノードYの占有情報であり、隣接ノードYが点群を含む(占有)なら1を示し,そうでないなら0を示す。FlagZは、隣接ノードZの占有情報であり、隣接ノードZが点群を含む(占有)なら1を示し、そうでないなら0を示す。
【0842】
この際、もし隣接ノード、例えば
図107の隣接ノードX0が参照不可(参照禁止)の場合は、三次元データ符号化装置は、代替値として1(占有)、又は、0(非占有)のような固定値を用いてもよい。
【0843】
図108は、対象ノード及び隣接ノードの例を示す図である。
図108に示すように、隣接ノードが参照不可(参照禁止)の場合は、対象ノードの祖父ノードのオキュパンシー符号を参照して、隣接ノードの占有情報を算出してもよい。例えば、三次元データ符号化装置は、
図108に示す隣接ノードX0の代わりに、隣接ノードG0の占有情報を用いて上式のFlagX0を算出し、算出したFlagX0を用いて符号化テーブルの値を決定してもよい。なお、
図108に示す隣接ノードG0は、祖父ノードのオキュパンシー符号で占有か否かが判別できる隣接ノードである。隣接ノードX1は、親ノードのオキュパンシー符号で占有か否かが判別できる隣接ノードである。
【0844】
以下、本実施の形態の変形例3について説明する。
図109及び
図110は、本変形例に係る参照関係を示す図である。
図109は、参照関係を8分木構造上で示す図であり、
図110は、参照関係を空間領域上で示す図である。
【0845】
本変形例では、三次元データ符号化装置は、符号化対象のノード(以下、対象ノード2と呼ぶ)の符号化情報を符号化する際に、対象ノード2が属する親ノード内の各ノードの符号化情報を参照する。つまり、三次元データ符号化装置は、複数の隣接ノードのうち、対象ノードと親ノードが同一である第1ノードの子ノードの情報(例えば占有情報)の参照を許可する。例えば、三次元データ符号化装置は、
図109に示す対象ノード2のオキュパンシー符号を符号化する際に、対象ノード2が属する親ノード内に存在するノード、例えば、
図109に示す対象ノードのオキュパンシー符号を参照する。
図109に示す対象ノードのオキュパンシー符号は、
図110に示すように、例えば、対象ノード2に隣接する対象ノード内の各ノードが占有であるか否かを表している。よって、三次元データ符号化装置は、対象ノードのより細かい形状に応じて対象ノード2のオキュパンシー符号の符号化テーブルを切替えることができるので符号化効率を向上できる。
【0846】
三次元データ符号化装置は、対象ノード2のオキュパンシー符号をエントロピー符号化する際の符号化テーブルを、例えば下記式により算出してもよい。
【0847】
CodingTable=(FlagX1<<5)+(FlagX2<<4)+(FlagX3<<3)+(FlagX4<<2)+(FlagY<<1)+(FlagZ)
【0848】
ここで、CodingTableは、対象ノード2のオキュパンシー符号用の符号化テーブルを示し、値0~63のいずれかを示す。FlagXNは、隣接ノードXN(N=1..4)の占有情報であり、隣接ノードXNが点群を含む(占有)なら1を示し、そうでないなら0を示す。FlagYは、隣接ノードYの占有情報であり、隣接ノードYが点群を含む(占有)なら1を示し、そうでないなら0を示す。FlagZは、隣接ノードYの占有情報であり、隣接ノードZが点群を含む(占有)なら1を示し、そうでないなら0を示す。
【0849】
なお、三次元データ符号化装置は、符号化テーブルの算出方法を親ノード内における対象ノード2のノード位置に応じて変更してもよい。
【0850】
また、三次元データ符号化装置は、親隣接ノードの参照が禁止されていない場合、親隣接ノード内の各ノードの符号化情報を参照してよい。例えば、親隣接ノードの参照が禁止されていない場合、対象ノードと親ノードが異なる第3ノードの子ノードの情報(例えば占有情報)の参照が許可される。例えば、
図108に示す例では、三次元データ符号化装置は、対象ノードと親ノードが異なる隣接ノードX0のオキュパンシー符号を参照して、隣接ノードX0の子ノードの占有情報を取得する。三次元データ符号化装置は、取得した隣接ノードX0の子ノードの占有情報に基づき、対象ノードのオキュパンシー符号のエントロピー符号化に用いる符号化テーブルを切替える。
【0851】
以上のように、本実施の形態に係る三次元データ符号化装置は、三次元データに含まれる複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードの情報(例えばオキュパンシー符号)を符号化する。
図94及び
図95に示すように、三次元データ符号化装置は、上記符号化では、対象ノードと空間的に隣接する複数の隣接ノードのうち、対象ノードと親ノードが同一である第1ノードの情報(例えば占有情報)の参照を許可し、対象ノードと親ノードが異なる第2ノードの情報(例えば占有情報)の参照を禁止する。言い換えると、三次元データ符号化装置は、上記符号化では、親ノードの情報(例えばオキュパンシー符号)の参照を許可し、親ノードと同一層の他のノード(親隣接ノード)の情報(例えばオキュパンシー符号)の参照を禁止する。
【0852】
これによれば、当該三次元データ符号化装置は、対象ノードと空間的に隣接する複数の隣接ノードのうち、対象ノードと親ノードが同一である第1ノードの情報の参照することで符号化効率を向上できる。また、当該三次元データ符号化装置は、複数の隣接ノードのうち、対象ノードと親ノードが異なる第2ノードの情報の参照をしないことにより、処理量を低減できる。このように、当該三次元データ符号化装置は、符号化効率を向上できるとともに、処理量を低減できる。
【0853】
例えば、三次元データ符号化装置は、さらに、第2ノードの情報の参照を禁止するか否かを決定し、上記符号化では、上記決定の結果に基づき、第2ノードの情報の参照を禁止するか、許可するかを切り替える。三次元データ符号化装置は、さらに、上記決定の結果であって、第2ノードの情報の参照を禁止するか否かを示す禁止切替情報(例えば、
図106に示すlimit_refer_flag)を含むビットストリームを生成する。
【0854】
これによれば、当該三次元データ符号化装置は、第2ノードの情報の参照を禁止するか否かを切り替えることができる。また、三次元データ復号装置は、禁止切替情報を用いて適切に復号処理を行うことができる。
【0855】
例えば、対象ノードの情報は、対象ノードに属する子ノードの各々に三次元点が存在するか否かを示す情報(例えオキュパンシー符号)であり、第1ノードの情報は、第1ノードに三次元点が存在するか否かを示す情報(第1ノードの占有情報)であり、第2ノードの情報は、第2ノードに三次元点が存在するか否かを示す情報(第2ノードの占有情報)である。
【0856】
例えば、三次元データ符号化装置は、上記符号化では、第1ノードに三次元点が存在するか否かに基づき、符号化テーブルを選択し、選択された符号化テーブルを用いて、対象ノードの情報(例えばオキュパンシー符号)をエントロピー符号化する。
【0857】
例えば、三次元データ符号化装置は、上記符号化では、
図109及び
図110に示すように、複数の隣接ノードのうち、第1ノードの子ノードの情報(例えば占有情報)の参照を許可する。
【0858】
これによれば、当該三次元データ符号化装置は、隣接ノードのより詳細な情報を参照することができるので符号化効率を向上できる。
【0859】
例えば、三次元データ符号化装置は、
図96に示すように、上記符号化では、対象ノードの親ノード内の空間位置に応じて、複数の隣接ノードのうち、参照する隣接ノードを切り替える。
【0860】
これによれば、当該三次元データ符号化装置は、対象ノードの親ノード内の空間位置に応じて、適切な隣接ノードを参照できる。
【0861】
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0862】
また、本実施の形態に係る三次元データ復号装置は、三次元データに含まれる複数の三次元点のN(Nは2以上の整数)分木構造に含まれる対象ノードの情報(例えばオキュパンシー符号)を復号する。
図94及び
図95に示すように、三次元データ復号装置は、上記復号では、対象ノードと空間的に隣接する複数の隣接ノードのうち、対象ノードと親ノードが同一である第1ノードの情報(例えば占有情報)の参照を許可し、対象ノードと親ノードが異なる第2ノードの情報(例えば占有情報)の参照を禁止する。言い換えると、三次元データ復号装置は、上記復号では、親ノードの情報(例えばオキュパンシー符号)の参照を許可し、親ノードと同一層の他のノード(親隣接ノード)の情報(例えばオキュパンシー符号)の参照を禁止する。
【0863】
これによれば、当該三次元データ復号装置は、対象ノードと空間的に隣接する複数の隣接ノードのうち、対象ノードと親ノードが同一である第1ノードの情報の参照することで符号化効率を向上できる。また、当該三次元データ復号装置は、複数の隣接ノードのうち、対象ノードと親ノードが異なる第2ノードの情報の参照をしないことにより、処理量を低減できる。このように、当該三次元データ復号装置は、符号化効率を向上できるとともに、処理量を低減できる。
【0864】
例えば、三次元データ復号装置は、さらに、第2ノードの情報の参照を禁止するか否かを示す禁止切替情報(例えば、
図106に示すlimit_refer_flag)をビットストリームから取得し、上記復号では、禁止切替情報に基づき、第2ノードの情報の参照を禁止するか、許可するかを切り替える。
【0865】
これによれば、当該三次元データ復号装置は、禁止切替情報を用いて適切に復号処理を行うことができる。
【0866】
例えば、対象ノードの情報は、対象ノードに属する子ノードの各々に三次元点が存在するか否かを示す情報(例えオキュパンシー符号)であり、第1ノードの情報は、第1ノードに三次元点が存在するか否かを示す情報(第1ノードの占有情報)であり、第2ノードの情報は、第2ノードに三次元点が存在するか否かを示す情報(第2ノードの占有情報)である。
【0867】
例えば、三次元データ復号装置は、上記復号では、第1ノードに三次元点が存在するか否かに基づき、符号化テーブルを選択し、選択された符号化テーブルを用いて、対象ノードの情報(例えばオキュパンシー符号)をエントロピー復号する。
【0868】
例えば、三次元データ復号装置は、上記復号では、
図109及び
図110に示すように、複数の隣接ノードのうち、第1ノードの子ノードの情報(例えば占有情報)の参照を許可する。
【0869】
これによれば、当該三次元データ復号装置は、隣接ノードのより詳細な情報を参照することができるので符号化効率を向上できる。
【0870】
例えば、三次元データ復号装置は、
図96に示すように、上記復号では、対象ノードの親ノード内の空間位置に応じて、複数の隣接ノードのうち、参照する隣接ノードを切り替える。
【0871】
これによれば、当該三次元データ復号装置は、対象ノードの親ノード内の空間位置に応じて、適切な隣接ノードを参照できる。
【0872】
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【0873】
(実施の形態11)
図111は、実施の形態11に係る三次元データ符号化方法の概略を説明するための図である。
【0874】
三次元点群の一部の第1三次元点群は、1以上の平面上に配置され、他の一部の第2三次元点群は、1以上の平面の周囲に配置される。実施の形態11では、このような三次元点群を符号化する場合、1以上の平面上に配置される第1三次元点群を4分木で表現し、4分木で表現された4分木構造の第1三次元点群を符号化する。例えば、LiDARにより得られた点群データには、三次元点の半分以上が地面などの平面の周囲に配置される。
【0875】
この方法では、まず、点群データの三次元点群から地面上の第1三次元点群を分離する。
【0876】
次に、地面上の第1三次元点群を4分木で表現し、4分木で表現された4分木構造の第1三次元点群を符号化する。
【0877】
そして、三次元点群のうち第1三次元点群を除く第2三次元点群を8分木で表現し、8分木で表現された第2三次元点群を符号化する。
【0878】
このように、三次元データ符号化装置は、LiDAR等で取得された三次元点群のうち、地面等の平面上、もしくは、地面に近い(高さが閾値以下)位置にある第1三次元点群を4分木で表現し、4分木構造の第1三次元点群を符号化し、それ以外の第2三次元点群を8分木で表現し、8分木構造の第2三次元点群を符号化してもよい。
【0879】
図112は、傾いて検出された平面をX-Y平面に変換する変換方法について説明するための図である。なお、
図112において、例えば、X軸方向は、LiDARを備える車両の前後方向に対応し、Y軸方向は当該車両の左右方向に対応し、Z軸方向は当該車両の上下方向に対応する。X軸方向、Y軸方向およびZ軸方向は、互いに直交する方向である。
【0880】
LiDARにより得られた点群データを用いて検出される平面は、
図112の(a)に示すように、LiDARを備える車両の3軸方向に対して傾いている場合がある。この場合、平面に対応する第1三次元点群に含まれる複数の第1三次元点のそれぞれは、Z軸方向における値を有しており、Z軸方向における値が0ではない。
【0881】
そこで、三次元データ符号化装置は、
図112の(b)に示すように、傾いて検出された平面上にある第1三次元点群を、X-Y平面に合わせるように平面パラメータωを用いて回転させる変換を行う。これにより、変換された第1三次元点群に含まれる複数の第1三次元点のそれぞれは、Z軸方向における値として0を有することになる。これにより、三次元データ符号化装置は、第1三次元点群の符号化に係る処理負荷を低減することができる。この場合、三次元データ符号化装置は、平面パラメータωも符号化する。
【0882】
ヘッダにおいて平面パラメータω(={a、b、c、d})は、以下に示す平面方程式で定義できる。
【0883】
ax+by+cz=d
【0884】
ヘッダは、例えば、平面パラメータ{a、b、c、d}を有する。
【0885】
三次元データ符号化装置は、例えば、RANSAC(Random Sample Consensus)法などにより、三次元点群の位置情報から平面を検出し、平面上の三次元点群である第1三次元点群を検出する。三次元データ符号化装置は、三次元点群から平面を、他のセンサーデータまたは時間的整合性から推測してもよい。
【0886】
平面上の第1三次元点群の符号化方法には、2つの方法が考えられる。なお、検出された平面は、XOY平面にほぼ平行であると仮定する。
【0887】
第1の方法は、平面に近い点を選択する方法である。この方法では、三次元点の位置情報のうち、X座標、Y座標、および、平面までの距離が符号化される。
【0888】
第2の方法は、平面上の三次元点を選択する方法である。この方法では、X座標およびY座標が符号化され、平面までの距離は符号化されない。
【0889】
図113は、平面と各方法において選択される点群との関係を示す図である。
【0890】
例えば、三次元点が量子化されている場合、平面までの距離が1未満となる三次元点が平面上に配置されると判定される。
【0891】
図114は、第1の方法における、三次元点群から検出された平面と平面の周囲の点群(平面点群の候補)との間の量子化された距離の度数分布を示す図である。
図114に示すように、第1の方法では、距離毎にほぼ等しく分散される。
【0892】
図115は、第2の方法における、三次元点群から検出された平面と平面の周囲の点群との間の量子化された距離の度数分布を示す図である。第2の方法では、最も度数が大きい三次元点の平面までの距離は0になり、当該距離よりも近くの距離は負の数となる。
【0893】
なお、三次元点群から得られた分布が、
図114のような分布の場合には、X座標、Y座標、および平面までの距離を符号化する第1の方法を適用してもよい。また、三次元点群から得られた分布が、
図115のような分布の場合には、X座標およびY座標を符号化する第2の方法を適用してもよい。
【0894】
4分木構造の第1三次元点群は、4分木構造で表現された三次元点群を符号化するための専用の方法を用いずに、既存の8分木構造で表現された三次元点群を符号化するための方法を利用して、符号化または復号されてもよい。
【0895】
8分木構造の三次元点群の符号化では、三次元データ符号化装置は、三次元点群を含む三次元空間を8つのサブ空間に分割し、各サブ空間が三次元点を含むか否かを示すオキュパンシー符号を符号化する。この処理は、目標精度に達する、または、サブ空間に含まれる点が最小個数、例えば1個になるまで繰り返し行われる。また、三次元データ復号装置は、符号化データを復号することでオキュパンシー符号を取得し、取得したオキュパンシー符号に対応するサブ空間を再帰的に再構築する。これにより、三次元データ符号化装置が符号化した三次元点群を復号することができる。
【0896】
図116は、二次元空間を4つのサブ空間に分割する例を示す図である。
図117は、二次元空間での4つのサブ空間を、三次元空間での8つのサブ空間に適用する例を示す図である。
【0897】
4分木構造の三次元点群の符号化では、二次元空間の分割結果を、三次元空間の分割結果を用いて表現する。具体的には、三次元データ符号化装置は、三次元空間の分割結果における3番目の次元(Z軸方向)の分割結果を使用しないために、三次元空間の分割における上段の空間にダミーのサブ空間を割り当てる。このように、三次元データ符号化装置は、二次元空間の分割結果を三次元空間の分割結果を用いて表現することで、
図116に示すような二次元空間の占有状態を示す4ビットのオキュパンシー符号を、
図117に示すような三次元空間の占有状態を示す占有状態を示す8ビットのオキュパンシー符号にコードに変換する。なお、8ビットのオキュパンシー符号では、ダミーのサブ空間を示すビットが0ビットで示される。
【0898】
図118は、符号化/復号パターンの一例を示す図である。
図119は、符号化/復号パターンの他の一例を示す図である。
【0899】
8分木構造の三次元点群の符号化において隣接のサブ空間との依存関係を用いて符号化される場合、第1三次元点群を二次元空間での4分木の表現から三次元空間での8分木の表現に変換することにより、変換された8分木構造の三次元点群は、変換されていない三次元空間における8分木構造の三次元点群と同様に、第1三次元点群においても隣接するサブ空間との依存関係を用いて符号化される。4分木構造の三次元点群を8分木の表現に変更した場合、8分木構造に変換された三次元点群は、1つの軸、つまり、Z軸が無効になり、三次元空間における隣接関係の一部は使用されない。具体的には、
図118のZ軸は無効となり、対象の三次元点にZ軸方向で隣接する16および32との関係が使用されない。このため、4分木構造が変換された8分木構造の三次元点群の符号化では、三次元データ符号化装置は、符号化対象ノードにZ軸方向で隣接する隣接ノードが無効化されている、または、当該隣接ノードに点群が含まれないと見なして、符号化テーブルを選択する。
【0900】
次に、三次元データ符号化装置の構成について説明する。
【0901】
図120は、三次元データ符号化装置の構成を示すブロック図である。
【0902】
三次元データ符号化装置5900は、検出部5901と、分割部5902と、4分木符号化部5903と、8分木符号化部5904と、多重化部5905とを備える。
【0903】
検出部5901は、RANSAC(Random Sample Consensus)法などにより、三次元点群の位置情報から平面を検出し、平面上の第1三次元点群を検出する。また、検出部5901は、検出した第1三次元点群がX-Y平面に対して傾いて検出された平面上にある場合、当該第1三次元点群を、X-Y平面に合わせるように平面パラメータωを用いて回転させる変換を行う。
【0904】
なお、検出部5901は、三次元点群の位置情報から複数の平面を検出した場合、検出した複数の平面毎に、各平面状の第1三次元点群を検出する。そして、複数の平面それぞれについて、当該平面上にある第1三次元点群を、X-Y平面に合わせるように平面パラメータωを用いて回転させる変換を行う。
【0905】
分割部5902は、三次元点群を第1三次元点群および第2三次元点群に分割する。
【0906】
4分木符号化部5903は、平面上の第1三次元点群を4分木で表現し、4分木で表現された4分木構造の第1三次元点群を生成し、生成した4分木構造を一部に含む8分木構造の第1三次元点群を符号化する。これにより、4分木符号化部5903は、第1ビットストリームを生成する。なお、4分木構造を一部に含む8分木構造とは、言い換えると、8分木構造と4分木構造とが混在する符号化構造である。
【0907】
このように、4分木符号化部5903は、4分木構造に含まれる第1対象ノードの第1情報を符号化する。ここで、4分木符号化部5903は、第1情報を、8分木構造を符号化するのに用いる第2符号化パターンと共通の第1符号化パターンを用いて符号化する。第1符号化パターンおよび第2符号化パターンは、構造が互いに共通している。第1符号化パターンは、第1情報の符号化に用いる符号化テーブルを選択するための符号化パターンであり、第2符号化パターンは、第2情報の符号化に用いる符号化テーブルを選択するための符号化パターンである。なお、4分木符号化部5903は、複数の方向において第1対象ノードに空間的に隣接する複数の第1隣接ノードの第1隣接情報から第1符号化パターンを生成する。第1隣接情報は、複数の第1隣接ノードのそれぞれにおいて、各第1隣接ノードに点群が含まれるか否かを示す情報である。
【0908】
第1符号化パターンの生成では、4分木符号化部5903は、複数の方向のうちの所定の方向において第1対象ノードに空間的に隣接する1以上の第1隣接ノードを示す1以上のビットであって、それぞれが点群により占有されていないことを示す1以上のビットからなる第1ビットパターンと、複数の方向のうちの所定の方向以外の方向において第1対象ノードに空間的に隣接する複数の第2隣接ノードを示す複数のビットからなる第2ビットパターンとにより構成される6ビットの第3ビットパターンを含む第1符号化パターンを生成する。このようにして、4分木符号化部5903は、第1情報の符号化で用いる第1符号化パターンの算出方法を、後述する8分木構造の三次元点群を符号化するのに用いる第2符号化パターンの算出方法と共通化する。つまり、第1符号化パターンは、第2符号化パターンを利用して生成されており、第2符号化パターンのうちの所定の方向において対象ノードに空間的に隣接する1以上の隣接ノードを示す1以上のビットのそれぞれが、点群に占有されていないことを示すように生成されている。
【0909】
また、4分木符号化部5903は、第1三次元点群を符号化すると共に、平面パラメータωを符号化する。
【0910】
8分木符号化部5904は、第2三次元点群を8分木で表現し、8分木で表現された8分木構造の第2三次元点群を符号化する。これにより、8分木符号化部5904は、第2ビットストリームを生成する。具体的には、8分木符号化部5904は、8分木構造に含まれる第2対象ノードの第2情報を符号化する。8分木符号化部5904は、複数の方向において第2対象ノードに空間的に隣接する複数の第2隣接ノードの第2隣接情報から第2符号化パターンを生成する。なお、第2隣接情報は、複数の第2隣接ノードのそれぞれにおいて、各第2隣接ノードに点群が含まれるか否かを示す情報である。また、第2符号化パターンの生成では、8分木符号化部5904は、複数の方向において第2対象ノードに空間的に隣接する複数の第3隣接ノードを示す複数のビットからなる6ビットの第4ビットパターンを含む第2符号化パターンを生成する。
【0911】
なお、複数の方向は、例えば、X軸正方向、X軸負方向、Y軸正方向、Y軸負方向、Z軸正方向およびZ軸負方向の6方向である。所定の方向は、Z軸正方向およびZ軸負方向である。
【0912】
多重化部5905は、4分木符号化部5903で8分木構造の第1三次元点群が符号化された第1ビットストリームと、8分木符号化部5904で8分木構造の第2三次元点群が符号化された第2ビットストリームとを多重化することで符号化ストリームを生成する。
【0913】
なお、三次元データ符号化装置5900は、4分木符号化部5903の代わりに、8分木符号化部5904を利用して第1三次元点群を符号化してもよい。8分木符号化部5904は、8分木分割後に8個のサブノードのうち、4個のサブノードを無効ノード(占有されていない)と見なして8分木分割をリーフまで継続することで仮想的に4分木として符号化してもよい。この場合、8分木符号化部5904は、オキュパンシー符号を、無効ノードを除いて4ビットとして符号化してもよい。例えば、8分木符号化部5904は、第1対象ノードを4分割して得られた4個の第1サブ空間のそれぞれに第1三次元点が含まれるか否かを示す第1情報を符号化することで、第1情報に対応する4ビットからなる第1ビット列と、4ビットからなる無効な第2ビット列とにより構成される8ビットからなる第3ビット列を含むビットストリームを生成する。無効な第2ビット列は、例えば、各ビットが0で示される。これにより、4分木と8分木とで別々に符号化部を設ける必要がなくなり、回路規模またはソースコード量を抑制することができる。
【0914】
図121は、第1の方法を用いる4分木符号化部の詳細な構成を示すブロック図である。
【0915】
4分木符号化部5903は、4分木分割部5911と、距離算出部5912、距離符号化部5913と、多重化部5914とを有する。
【0916】
4分木分割部5911は、第1三次元点群が含まれる二次元空間を4つのサブ空間に分割し、各サブ空間のオキュパンシー符号を符号化する。4分木分割部5911は、各サブ空間を4分割し、各サブ空間のオキュパンシー符号を符号化するという処理を、サブ空間が分割できなくなるまで繰り返す。
【0917】
距離算出部5912は、第1三次元点群の各第1三次元点の平面までの距離を算出する。
【0918】
距離符号化部5913は、算出された各第1三次元点の平面までの距離を示す距離情報を符号化する。距離符号化部5913は、距離情報を二値化し、二値化した結果を算術符号化してもよい。また、距離符号化部5913は、対象の第1三次元点に隣接する第1三次元点の距離情報を用いて、対象の第1三次元点の距離情報を予測し、予測した結果の予測値と対象の第1三次元点の距離情報との差分値を算術符号化してもよい。
【0919】
多重化部5914は、符号化されたオキュパンシー符号と、符号化された距離情報とを多重化することで、符号化4分木位置情報を生成する。
【0920】
第1の方法における4分木符号化部5903の代わりに、次に説明する第2の方法における4分木符号化部5903Aを用いてもよい。
【0921】
図122は、第2の方法を用いる4分木符号化部の詳細な構成を示すブロック図である。
【0922】
4分木符号化部5903Aは、4分木分割部5911Aを有する。
【0923】
4分木分割部5911Aは、第1三次元点群が含まれる二次元空間を4つのサブ空間に分割し、各サブ空間のオキュパンシー符号を符号化し、符号化されたオキュパンシー符号を、符号化4分木位置情報として出力する。4分木分割部5911Aは、各サブ空間を4分割し、各サブ空間のオキュパンシー符号を符号化するという処理を、サブ空間が分割できなくなるまで繰り返す。
【0924】
次に、三次元データ復号装置の構成について説明する。
【0925】
図123は、三次元データ復号装置の構成を示すブロック図である。
【0926】
三次元データ復号装置5920は、逆多重化部5921と、4分木復号部5922と、8分木復号部5923と、点群結合部5924とを備える。
【0927】
逆多重化部5921は、符号化ストリームを、符号化された8分木構造の第1三次元点群と、符号化された8分木構造の第2三次元点群と、平面パラメータとに逆多重化する。なお、逆多重化部5921は、第1三次元点群が4分木構造で符号化されている場合には、符号化された8分木構造の第1三次元点群に逆多重化する代わりに、符号化された4分木構造の第1三次元点群に逆多重化する。
【0928】
4分木復号部5922は、符号化された8分木構造の第1三次元点群から、当該第1三次元点群に含まれる4分木構造の第1三次元点群を復号し、復号した第1三次元点群を、平面パラメータωを用いて逆回転することで、第1三次元点群を復号する。なお、4分木復号部5922は、8分木構造の第1三次元点群に含まれる4分木構造の第1三次元点群を復号するのではなく、4分木構造の第1三次元点群を復号してもよい。
【0929】
第1復号パターンは、第1情報の復号に用いる復号テーブルを選択するための復号パターンであり、第2復号パターンは、第2情報の復号に用いる復号テーブルを選択するための復号パターンである。なお、4分木復号部5922は、複数の方向において第1対象ノードに空間的に隣接する複数の第1隣接ノードの第1隣接情報から第1復号パターンを生成する。
【0930】
第1復号パターンの生成では、4分木復号部5922は、複数の方向のうちの所定の方向において第1対象ノードに空間的に隣接する1以上の第1隣接ノードを示す1以上のビットであって、それぞれが点群により占有されていないことを示す1以上のビットからなる第1ビットパターンと、複数の方向のうちの所定の方向以外の方向において第1対象ノードに空間的に隣接する複数の第2隣接ノードを示す複数のビットからなる第2ビットパターンとにより構成される6ビットの第3ビットパターンを含む第1復号パターンを生成する。このようにして、4分木復号部5922は、第1情報の符号化で用いる第1復号パターンの算出方法を、後述する8分木構造の三次元点群を復号するのに用いる第2復号パターンの算出方法と共通化する。
【0931】
8分木復号部5923は、8分木構造の第2三次元点群を復号することで、第2三次元点群を復号する。8分木復号部5923は、8分木構造に含まれる第2対象ノードの第2情報を復号する。8分木復号部5923は、複数の方向において第2対象ノードに空間的に隣接する複数の第2隣接ノードの第2隣接情報から第2復号パターンを生成する。第2復号パターンの生成では、8分木復号部5923は、複数の方向において第2対象ノードに空間的に隣接する複数の第3隣接ノードを示す複数のビットからなる6ビットの第4ビットパターンを含む第2復号パターンを生成する。
【0932】
点群結合部5924は、第1三次元点群および第2三次元点群を結合することで、位置情報を示す三次元点群を生成する。
【0933】
なお、三次元データ復号装置5920は、4分木復号部5922の代わりに、8分木復号部5923を利用して第1三次元点群を復号してもよい。8分木復号部5923は、8分木分割後に8個のサブノードのうち、4個のサブノードを無効ノード(占有されていない)と見なして8分木分割をリーフまで継続することで仮想的に4分木として復号してもよい。この場合、8分木復号部5923は、オキュパンシー符号を、無効ノードを除いて4ビットとして復号してもよい。例えば、8分木復号部5923は、4ビットからなる第1ビット列と、(8-N)ビットからなる無効な第2ビット列とにより構成される8ビットからなる第3ビット列を含むビットストリームの第1ビット列から、第1対象ノードを4分割して得られた4個のサブ空間のそれぞれに第1三次元点が含まれるか否かを示す第1情報(オキュパンシー符号)を復号する。これにより、4分木と8分木とで別々に復号部を設ける必要がなくなり、回路規模またはソースコード量を抑制することができる。
【0934】
図124は、第1の方法を用いる4分木復号部の詳細な構成を示すブロック図である。
【0935】
4分木復号部5922は、逆多重化部5931と、4分木分割部5932と、距離復号部5933と、復元部5934とを備える。
【0936】
逆多重化部5931は、符号化4分木位置情報を、符号化されたオキュパンシー符号と、符号化された距離情報とに逆多重化する。
【0937】
4分木分割部5932は、第1三次元点群が含まれる二次元空間を4つのサブ空間に分割し、各サブ空間について符号化されたオキュパンシー符号からオキュパンシー符号を復号する。4分木分割部5932は、二次元空間を4分割し、各サブ空間のオキュパンシー符号を復号するという処理を、サブ空間が分割できなくなるまで繰り返す。
【0938】
距離復号部5933は、符号化された距離情報から距離情報を復号する。距離復号部5933は、三次元点群の各三次元点の平面までの距離を示す距離情報を算術復号してもよい。また、距離復号部5933は、対象の第1三次元点に隣接する第1三次元点の距離情報を用いて、対象の第1三次元点の距離情報を予測し、予測値に算術復号した差分値を加算することで距離情報を復号してもよい。
【0939】
復元部5934は、オキュパンシー符号および距離情報を用いて、Z軸方向の値を算出することで、各三次元点の位置を復元する。
【0940】
図125は、第2の方法を用いる4分木復号部の詳細な構成を示すブロック図である。
【0941】
4分木復号部5922Aは、4分木分割部5932Aと、復元部5934Aとを備える。
【0942】
4分木分割部5932Aは、第1三次元点群が含まれる二次元空間を4つのサブ空間に分割し、各サブ空間のオキュパンシー符号を復号する。4分木分割部5932Aは、各サブ空間を4分割し、各サブ空間のオキュパンシー符号を復号するという処理を、サブ空間が分割できなくなるまで繰り返す。
【0943】
復元部5934Aは、オキュパンシー符号と平面パラメータωとを用いて、Z軸方向の値を算出することで、各三次元点の位置を復元する。
【0944】
図126は、三次元データ符号化方法のフローチャートである。
【0945】
三次元データ符号化装置は、三次元点群の位置情報から平面を検出する(S5901)。
【0946】
次に、三次元データ符号化装置は、三次元点群の各三次元点について平面上の点であるか否かを判定する(S5902)。つまり、三次元データ符号化装置は、三次元点群の各三次元点が平面上の第1三次元点群に属するのか、それ以外の第2三次元点群に属するのかを判定する。
【0947】
三次元データ符号化装置は、平面上の点であると判定された第1三次元点群を用いて、4分木で表現された4分木構造の第1三次元点群を生成し、生成された4分木構造の第1三次元点群を符号化する(S5903)。
【0948】
三次元データ符号化装置は、平面上の点でないと判定された第2三次元点群を用いて、8分木で表現された8分木構造の第2三次元点群を生成し、生成された8分木構造の第2三次元点群を符号化する(S5904)。
【0949】
三次元符号化装置は、符号化された第1三次元点群と、符号化された第2三次元点群と、平面パラメータωとを多重化することで、ビットストリームを生成する(S5905)。
【0950】
図127は、三次元データ復号方法のフローチャートである。
【0951】
三次元データ復号装置は、ビットストリームのメタデータから平面パラメータωを取得する(S5911)。
【0952】
三次元データ復号装置は、ビットストリームを平面のデータである符号化された第1三次元点群と、非平面のデータである符号化された第2三次元点群とに分割する(S5912)。
【0953】
三次元データ復号装置は、符号化された第1三次元点群を第1三次元点群に復号する(S5913)。
【0954】
三次元データ復号装置は、符号化された第2三次元点群を第2三次元点群に復号する(S5914)。
【0955】
三次元データ復号装置は、復号された、第1三次元点群および第2三次元点群を結合することで、位置情報を示す三次元点群を生成する。(S5915)。
【0956】
なお、三次元データ符号化装置は、ビットストリーム内の三次元点群が8分木で符号化された三次元点群であるのか、4分木で符号化された三次元点群であるのかを示す識別情報をヘッダに付加してもよい。つまり、三次元データ符号化装置は、符号化の対象が第1情報であるか、第2情報であるかを示す識別情報を含むビットストリームを生成してもよい。この場合、三次元データ復号装置は、ヘッダに付加された識別情報を用いて8分木として復号するか、4分木として復号するかを判断でき、ビットストリームを正しく復号できる。
【0957】
また、三次元データ符号化装置または三次元データ復号装置は、平面を1つのスライスまたはタイルとみなし、符号化または復号してもよい。この場合、三次元データ符号化装置または三次元データ復号装置は、スライスまたはタイルのヘッダに平面パラメータ、または、4分木で符号化されたか否かを示す識別情報を付加してもよい。
【0958】
三次元データ符号化装置または三次元データ復号装置は、取得した三次元点群を、複数の平面上にある第1三次元点群と、平面以外にある第2三次元点群とに分割する。三次元データ符号化装置または三次元データ復号装置は、第1三次元点群を4分木で符号化/復号し、第2三次元点群を8分木で符号化/復号してもよい。
【0959】
三次元データ符号化装置または三次元データ復号装置は、平面の検出(Plane Detection)においてどのような方法を用いても構わない。例えばz=αの値を持つ三次元点を三次元点群から抽出し、平面として4分木符号化しても構わない。
【0960】
三次元データ符号化装置または三次元データ復号装置は、第1三次元点群および第2三次元天分を、それぞれ4分木表現および8分木表現で並列に符号化、復号してもよい。
【0961】
図128は、4分木符号化処理のフローチャートである。
【0962】
三次元データ符号化装置は、特定した第1三次元点群を含む二次元空間のバウンディングボックスを設定する(S5921)。三次元データ符号化装置は、第1三次元点群を含む三次元空間のバウンディングボックスを設定してもよい。この場合、三次元データ符号化装置は、三次元空間のバウンディングボックスのZ軸方向を無視する。
【0963】
三次元データ符号化装置は、二次元空間のオキュパンシー符号を、選択された符号化テーブルを用いて符号化する(S5922)。
【0964】
三次元データ符号化装置は、対象ノードを4つのサブ空間に分割する(S5923)。
【0965】
三次元データ符号化装置は、二次元空間における対象ノードが隣接する隣接ノードを示す二次元隣接情報を更新する(S5924)。なお、ここで、三次元データ符号化装置が更新する二次元隣接情報は、対象ノードの4つのサブ空間のそれぞれが隣接する隣接ノードを示す情報であってもよい。
【0966】
三次元データ符号化装置は、二次元隣接情報を、三次元隣接情報に変更する(S5925)。具体的には、三次元データ符号化装置は、
図118に示されるような4ビットの二次元隣接情報を、
図119に示されるような6ビットの三次元隣接情報に変換する。変換された三次元隣接情報は、対象ノードにZ軸方向で隣接しているダミーの隣接ノードを示す0ビットが追加された6ビットの情報である。このように、三次元データ符号化装置は、4分木符号化の場合、Z軸方向の隣接ノードを非占有(non occupied)として隣接パターンを示す三次元隣接情報を生成する。三次元隣接情報は、例えば、Z軸方向において対象ノードに空間的に隣接する第1隣接ノードが0を示す。
【0967】
なお、二次元隣接情報は、
図118に示されるような4ビットの情報に限らずに、
図119に示されるようなZ軸方向において対象ノードに空間的に隣接する2つの第1隣接ノードが0を示す6ビットの情報であってもよい。この場合、ステップS5924では、三次元データ符号化装置は、6ビットの二次元隣接情報のうち、2つの第1隣接ノードを除く隣接ノードが示す4ビットの情報を更新する。また、この場合、ステップS5925は行われない。
【0968】
三次元データ符号化装置は、三次元隣接情報を用いて符号化テーブルを選択する(S5926)。
【0969】
このため、三次元データ符号化装置は、対象ノードのZ軸方向の隣接ノードを非占有とみなして
図118に示されるような4隣接の符号化パターンから、
図119に示されるような仮想的な6隣接の第1符号化パターンを生成し、第1符号化パターンを用いてエントロピー符号化の符号化テーブルを切替えてオキュパンシー符号を符号化してもよい。また、三次元データ符号化装置は、4分木符号化時は、4隣接の符号化パターンを用いて4隣接の符号化パターンに対応する符号化テーブルで符号化してもよいし、4隣接の符号化パターンから生成した仮想6隣接の第1符号化パターンを用いて6隣接の第2符号化パターンに対応する符号化テーブルで符号化してもよい。なお、4隣接の符号化パターンに対応する符号化テーブルは、2
4パターン、つまり、16パターンの符号化テーブルで構成される。仮想6隣接または6隣接の第1符号化パターンまたは第2符号化パターンに対応する符号化テーブルは、2
6パターン、つまり、64パターンの符号化テーブルで構成される。各符号化テーブルのパターン数は、上記よりも少ない数であってもよい。
【0970】
このように、三次元データ符号化装置は、第1符号化パターンに基づいて第1符号化テーブルを選択し、選択された第1符号化テーブルを用いて、第1情報をエントロピー符号化する。また、三次元データ符号化装置は、第2符号化パターンに基づいて第2符号化テーブルを選択し、選択された第2符号化テーブルを用いて、第2情報をエントロピー符号化する。ここで、第1符号化テーブルは、仮想6隣接の第1符号化パターンに対応する符号化テーブルに対応し、第2符号化テーブルは、6隣接の第2符号化パターンに対応する符号化テーブルに対応する。このように、三次元データ符号化装置は、第1符号化パターンおよび第2符号化パターンの一部を共通化することができるため、符号化処理の処理負荷を向上させることができる。
【0971】
なお、ステップS5926の後、三次元データ符号化装置は、ステップS5922に戻り、ステップS5923で分割された4つのサブ空間のそれぞれを対象ノードとし、各対象ノードにおける二次元空間のオキュパンシー符号を、ステップS5926で選択された符号化テーブルを用いて符号化する。そして、三次元データ符号化装置は、次のステップS5923において、各対象ノードをさらに4つのサブ空間に分割する。
【0972】
三次元データ符号化装置は、リーフノードに到達したか否かを判定する(S5927)。
【0973】
三次元データ符号化装置は、リーフノードに到達した場合(S5927でYes)、リーフ情報を符号化する(S5928)。
【0974】
三次元データ符号化装置は、全てのノードを分割したか否かを判定する(S5929)。
【0975】
三次元データ符号化装置は、全てのノードを分割した場合(S5929でYes)、処理を終了する。
【0976】
三次元データ符号化装置は、リーフノードに到達していない場合(S5927でNo)、または、全てのノードを分割していない場合(S5929でNo)、ステップS5922の処理に戻る。
【0977】
図129は、8分木符号化処理のフローチャートである。
【0978】
三次元データ符号化装置は、特定した第2三次元点群を含む三次元空間のバウンディングボックスを設定する(S5931)。
【0979】
三次元データ符号化装置は、三次元空間のオキュパンシー符号を、選択された符号化テーブルを用いて符号化する(S5932)。
【0980】
三次元データ符号化装置は、対象ノードを8つのサブ空間に分割する(S5933)。
【0981】
三次元データ符号化装置は、三次元間における対象ノードが隣接する隣接ノードを示す三次元隣接情報を更新する(S5934)。なお、ここで、三次元データ符号化装置が更新する三次元隣接情報は、対象ノードの8つのサブ空間のそれぞれが隣接する隣接ノードを示す情報であってもよい。
【0982】
三次元データ符号化装置は、三次元隣接情報を用いて符号化テーブルを選択する(S5935)。
【0983】
このため、三次元データ符号化装置は、6隣接の隣接情報を生成し、エントロピー符号化の符号化テーブルを切替えてオキュパンシー符号を符号化する。
【0984】
なお、ステップS5935の後、三次元データ符号化装置は、ステップS5932に戻り、ステップS5933で分割された8つのサブ空間のそれぞれを対象ノードとし、各対象ノードにおける三次元空間のオキュパンシー符号を、ステップS5935で選択された符号化テーブルを用いて符号化する。そして、三次元データ符号化装置は、次のステップS5933において、各対象ノードをさらに8つのサブ空間に分割する。
【0985】
三次元データ符号化装置は、リーフノードに到達したか否かを判定する(S5936)。
【0986】
三次元データ符号化装置は、リーフノードに到達した場合(S5936でYes)、リーフ情報を符号化する(S5937)。
【0987】
三次元データ符号化装置は、全てのノードを分割したか否かを判定する(S5938)。
【0988】
三次元データ符号化装置は、全てのノードを分割した場合(S5938でYes)、処理を終了する。
【0989】
三次元データ符号化装置は、リーフノードに到達していない場合(S5936でNo)、または、全てのノードを分割していない場合(S5938でNo)、ステップS5932の処理に戻る。
【0990】
なお、三次元データ符号化装置は、8分木符号化時は子ノードの数を8個とし、4分木符号化時は子ノードの数を4個として符号化してもよい。
【0991】
図130は、4分木復号処理のフローチャートである。
【0992】
三次元データ復号装置は、特定した第1三次元点群を含む二次元空間のバウンディングボックスを設定する(S5941)。三次元データ復号装置は、第1三次元点群を含む三次元空間のバウンディングボックスを設定してもよい。この場合、三次元データ復号装置は、三次元空間のバウンディングボックスのZ軸方向を無視する。
【0993】
三次元データ復号装置は、ビットストリームから二次元空間のオキュパンシー符号を、選択された復号テーブルを用いて復号する(S5942)。
【0994】
三次元データ復号装置は、対象ノードを4つのサブ空間に分割する(S5943)。
【0995】
三次元データ復号装置は、二次元空間における対象ノードが隣接する隣接ノードを示す二次元隣接情報を更新する(S5944)。なお、ここで、三次元データ復号装置が更新する二次元隣接情報は、対象ノードの4つのサブ空間のそれぞれが隣接する隣接ノードを示す情報であってもよい。
【0996】
三次元データ復号装置は、二次元隣接情報を、三次元隣接情報に変更する(S5945)。具体的には、三次元データ復号装置は、
図118に示されるような4ビットの二次元隣接情報を、
図119に示されるような6ビットの三次元隣接情報に変換する。変換された三次元隣接情報は、対象ノードにZ軸方向で隣接しているダミーの隣接ノードを示す0ビットが追加された6ビットの情報である。このように、三次元データ復号装置は、4分木復号の場合、Z軸方向の隣接ノードを非占有(non occupied)として隣接パターンを示す三次元隣接情報を生成する。三次元隣接情報は、例えば、Z軸方向において対象ノードに空間的に隣接する第1隣接ノードが0を示す。
【0997】
なお、二次元隣接情報は、
図118に示されるような4ビットの情報に限らずに、
図119に示されるようなZ軸方向において対象ノードに空間的に隣接する2つの第1隣接ノードが0を示す6ビットの情報であってもよい。この場合、ステップS5944では、三次元データ復号装置は、6ビットの二次元隣接情報のうち、2つの第1隣接ノードを除く隣接ノードが示す4ビットの情報を更新する。また、この場合、ステップS5945は行われない。
【0998】
三次元データ復号装置は、三次元隣接情報を用いて復号テーブルを選択する(S5946)。
【0999】
このため、三次元データ復号装置は、対象ノードのZ軸方向の隣接ノードを非占有とみなして
図118に示されるような4隣接の復号パターンから、
図119に示されるような仮想的な6隣接の第1復号パターンを生成し、第1復号パターンを用いてエントロピー復号の復号テーブルを切替えてオキュパンシー符号を復号してもよい。また、三次元データ復号装置は、4分木復号時は、4隣接の復号パターンを用いて4隣接の復号パターンに対応する復号テーブルで復号してもよいし、4隣接の復号パターンから生成した仮想6隣接の第1復号パターンを用いて6隣接の第2復号パターンに対応する復号テーブルで復号してもよい。なお、4隣接の復号パターンに対応する復号テーブルは、16パターンの復号テーブルで構成される。仮想6隣接または6隣接の第1復号パターンまたは第2復号パターンに対応する復号テーブルは、64パターンの復号テーブルで構成される。各符号かテーブルのパターン数は、上記よりも少ない数であってもよい。
【1000】
このように、三次元データ復号装置は、第1復号パターンに基づいて第1復号テーブルを選択し、選択された第1復号テーブルを用いて、第1情報をエントロピー復号する。また、三次元データ復号装置は、第2復号パターンに基づいて第2復号テーブルを選択し、選択された第2復号テーブルを用いて、第2情報をエントロピー復号する。ここで、第1復号テーブルは、仮想6隣接の第1復号パターンに対応する復号テーブルに対応し、第2復号テーブルは、6隣接の第2復号パターンに対応する復号テーブルに対応する。このように、三次元データ復号装置は、第1復号パターンおよび第2復号パターンの一部を共通化することができるため、復号処理の処理負荷を低減することができる。
【1001】
なお、ステップS5946の後、三次元データ復号装置は、ステップS5942に戻り、ステップS5943で分割された4つのサブ空間のそれぞれを対象ノードとし、各対象ノードにおける二次元空間のオキュパンシー符号を、ステップS5946で選択された復号テーブルを用いて復号する。そして、三次元データ復号装置は、次のステップS5943において、各対象ノードをさらに4つのサブ空間に分割する。
【1002】
三次元データ復号装置は、リーフノードに到達したか否かを判定する(S5947)。
【1003】
三次元データ復号装置は、リーフノードに到達した場合(S5947でYes)、復元した第1三次元点を三次元点群に追加する(S5948)。
【1004】
三次元データ復号装置は、全てのノードを分割したか否かを判定する(S5949)。
【1005】
三次元データ復号装置は、全てのノードを分割した場合(S5949でYes)、処理を終了する。
【1006】
三次元データ復号装置は、リーフノードに到達していない場合(S5947でNo)、または、全てのノードを分割していない場合(S5949でNo)、ステップS5942の処理に戻る。
【1007】
図131は、8分木復号処理のフローチャートである。
【1008】
三次元データ復号装置は、特定した第2三次元点群を含む三次元空間のバウンディングボックスを設定する(S5951)。
【1009】
三次元データ復号装置は、ビットストリームから三次元空間のオキュパンシー符号を、選択された復号テーブルを用いて復号する(S5952)。
【1010】
三次元データ復号装置は、対象ノードを8つのサブ空間に分割する(S5953)。
【1011】
三次元データ復号装置は、三次元間における対象ノードが隣接する隣接ノードを示す三次元隣接情報を更新する(S5954)。なお、ここで、三次元データ復号装置が更新する三次元隣接情報は、対象ノードの4つのサブ空間のそれぞれが隣接する隣接ノードを示す情報であってもよい。
【1012】
三次元データ復号装置は、三次元隣接情報を用いて復号テーブルを選択する(S5955)。
【1013】
このため、三次元データ復号装置は、6隣接の隣接情報を生成し、エントロピー復号の復号テーブルを切替えてオキュパンシー符号を復号する。
【1014】
なお、ステップS5955の後、三次元データ復号装置は、ステップS5952に戻り、ステップS5953で分割された8つのサブ空間のそれぞれを対象ノードとし、各対象ノードにおける三次元空間のオキュパンシー符号を、ステップS5955で選択された復号テーブルを用いて復号する。そして、三次元データ復号装置は、次のステップS5953において、各対象ノードをさらに8つのサブ空間に分割する。
【1015】
三次元データ復号装置は、リーフノードに到達したか否かを判定する(S5956)。
【1016】
三次元データ復号装置は、リーフノードに到達した場合(S5956でYes)、復元した痔2三次元点を三次元点群に追加する(S5957)。
【1017】
三次元データ復号装置は、全てのノードを分割したか否かを判定する(S5958)。
【1018】
三次元データ復号装置は、全てのノードを分割した場合(S5958でYes)、処理を終了する。
【1019】
三次元データ復号装置は、リーフノードに到達していない場合(S5956でNo)、または、全てのノードを分割していない場合(S5958でNo)、ステップS5952の処理に戻る。
【1020】
なお、本実施の形態では、第1三次元点群を4分木構造で表現するとしたが、これに限らずに、2分木構造で表現してもよい。
【1021】
以上のように、本実施の形態に係る三次元データ符号化装置は、次に示す処理を行う。具体的には、三次元データ符号化装置は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を符号化する。符号化では、第1情報を、第2情報の符号化で用いる第2符号化パターンと共通の第1符号化パターンを用いて符号化する。
【1022】
これによれば、当該三次元データ符号化方法は、8分木構造の情報の符号化と共通する符号化パターンを用いてN分木構造の情報を符号化することにより、処理負荷を低減することができる。
【1023】
例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【1024】
また、本実施の形態に係る三次元データ復号装置は、次に示す処理を行う。具体的には、三次元データ復号装置は、第1三次元点群の複数の第1三次元点のN(Nは2または4)分木構造に含まれる第1対象ノードの第1情報、または、第2三次元点群の複数の第2三次元点の8分木構造に含まれる第2対象ノードの第2情報を復号する。復号では、第1情報を、第2情報の復号で用いる第2復号パターンと共通の第1復号パターンを用いて復号する。
【1025】
これによれば、当該三次元データ復号方法は、8分木構造の情報の復号と共通する復号パターンを用いてN分木構造の情報を復号することにより、処理負荷を低減することができる。
【1026】
例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
【1027】
以上、本開示の実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
【1028】
また、上記実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【1029】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【1030】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【1031】
また、本開示は、三次元データ符号化装置及び三次元データ復号装置等により実行される三次元データ符号化方法又は三次元データ復号方法等として実現されてもよい。
【1032】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【1033】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
【1034】
以上、一つまたは複数の態様に係る三次元データ符号化装置及び三次元データ復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【1035】
本開示は、三次元データ符号化装置及び三次元データ復号装置に適用できる。
【符号の説明】
【1036】
100、400 三次元データ符号化装置
101、201、401、501 取得部
102、402 符号化領域決定部
103 分割部
104、644 符号化部
111、607 三次元データ
112、211、413、414、511、634 符号化三次元データ
200、500 三次元データ復号装置
202 復号開始GOS決定部
203 復号SPC決定部
204、625 復号部
212、512、513 復号三次元データ
403 SWLD抽出部
404 WLD符号化部
405 SWLD符号化部
411 入力三次元データ
412 抽出三次元データ
502 ヘッダ解析部
503 WLD復号部
504 SWLD復号部
600 自車両
601 周辺車両
602、605 センサ検知範囲
603、606 領域
604 オクルージョン領域
620、620A 三次元データ作成装置
621、641 三次元データ作成部
622 要求範囲決定部
623 探索部
624、642 受信部
626 合成部
627 検知領域決定部
628 周辺状況検知部
629 自律動作制御部
631、651 センサ情報
632 第1三次元データ
633 要求範囲情報
635 第2三次元データ
636 第3三次元データ
637 依頼信号
638 送信データ
639 周辺状況検知結果
640、640A 三次元データ送信装置
643 抽出部
645 送信部
646 伝送可否判定部
652 第5三次元データ
654 第6三次元データ
700 三次元情報処理装置
701 三次元マップ取得部
702 自車検知データ取得部
703 異常ケース判定部
704 対処動作決定部
705 動作制御部
711 三次元マップ
712 自車検知三次元データ
801 車両
802 空間
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 センサ情報圧縮処理部
1300 三次元データ符号化装置
1301 分割部
1302 減算部
1303 変換部
1304 量子化部
1305、1402 逆量子化部
1306、1403 逆変換部
1307、1404 加算部
1308、1405 参照ボリュームメモリ
1309、1406 イントラ予測部
1310、1407 参照スペースメモリ
1311、1408 インター予測部
1312、1409 予測制御部
1313 エントロピー符号化部
1400 三次元データ復号装置
1401 エントロピー復号部
1900 三次元データ符号化装置
1901、1911 8分木生成部
1902、1912 類似性情報算出部
1903、1913 符号化テーブル選択部
1904 エントロピー符号化部
1910 三次元データ復号装置
1914 エントロピー復号部
2100 三次元データ符号化装置
2101、2111 8分木生成部
2102、2112 幾何情報算出部
2103、2113 符号化テーブル選択部
2104 エントロピー符号化部
2110 三次元データ復号装置
2114 エントロピー復号部
5900 三次元データ符号化装置
5901 検出部
5902 分割部
5903、5903A 4分木符号化部
5904 8分木符号化部
5905 多重化部
5911、5911A 4分木分割部
5912 距離算出部
5913 距離符号化部
5914 多重化部
5920 三次元データ復号装置
5921 逆多重化部
5922、5922A 4分木復号部
5923 8分木復号部
5924 点群結合部
5931 逆多重化部
5932、5932A 4分木分割部
5933 距離復号部
5934、5934A 復元部