(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】復号方法、復号装置及びプログラム
(51)【国際特許分類】
G06T 9/00 20060101AFI20241009BHJP
【FI】
G06T9/00
(21)【出願番号】P 2022570977
(86)(22)【出願日】2020-12-25
(86)【国際出願番号】 JP2020048833
(87)【国際公開番号】W WO2022137537
(87)【国際公開日】2022-06-30
【審査請求日】2023-05-24
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】杉本 志織
(72)【発明者】
【氏名】渡邊 真由子
(72)【発明者】
【氏名】谷田 隆一
(72)【発明者】
【氏名】木全 英明
【審査官】松浦 功
(56)【参考文献】
【文献】国際公開第2020/071116(WO,A1)
【文献】国際公開第2019/078000(WO,A1)
【文献】国際公開第2020/013249(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 9/00 - 9/40
H04N 1/41 - 1/419
H04N 1/64
H04N 13/00 -13/194
H04N 19/00 -19/98
Google Scholar
(57)【特許請求の範囲】
【請求項1】
復号装置が実行する復号方法であって、
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得するステップと、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号するステップと
を含
み、
前記点群は、8分木構造で表現され、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記第1スライスの符号化データと前記第2空間の点群の符号化データに対応付けられた第2スライスの符号化データとは、前記点群の全体の符号化データに定められた複数の階層に属し、
前記所定の位置関係は、互いに隣接する関係又は親空間及び子空間という関係である、
復号方法。
【請求項2】
前記第1空間は、前記3次元空間の部分である
前記第2空間に対して
、互いに隣接する関係を有し、
前記第1スライスの符号化データと前記第2空間の点群の符号化データに対応付けられた
前記第2スライスの符号化データとは、前記点群の全体の符号化データに定められた複数の階層のうちの同じ階層に属し、
前記復号装置は、前記同じ階層に属する符号化データに対応付けられた前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項1に記載の復号方法。
【請求項3】
前記第1空間は、前記3次元空間の部分である
前記第2空間に対して
、親空間及び子空間という関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1スライスの符号化データが属する階層より下位の階層に属する符号化データに対応付けられた
前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項1に記載の復号方法。
【請求項4】
前記第1空間は、前記3次元空間の部分である
前記第2空間に対して
、互いに隣接する関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた
前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項1から請求項3のいずれか一項に記載の復号方法。
【請求項5】
前記第1空間は、前記3次元空間の部分である
前記第2空間に対して
、互いに隣接する関係を有し、
前記復号装置は、前記3次元空間における各位置と前記複数のスライス番号との対応付けを表すデータテーブルから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた
前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項1から請求項3のいずれか一項に記載の復号方法。
【請求項6】
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得する取得部と、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号する復号部と
を備え
、
前記点群は、8分木構造で表現され、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記第1スライスの符号化データと前記第2空間の点群の符号化データに対応付けられた第2スライスの符号化データとは、前記点群の全体の符号化データに定められた複数の階層に属し、
前記所定の位置関係は、互いに隣接する関係又は親空間及び子空間という関係である、
復号装置。
【請求項7】
請求項1から請求項5のいずれか一項に記載の復号方法を実行する復号装置としてコンピュータを機能させるためのプログラム。
【請求項8】
復号装置が実行する復号方法であって、
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得するステップと、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号するステップと、
を含み、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1スライスの符号化データが属する階層より下位の階層に属する符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号方法。
【請求項9】
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項8に記載の復号方法。
【請求項10】
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号装置は、前記3次元空間における各位置と前記複数のスライス番号との対応付けを表すデータテーブルから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項8に記載の復号方法。
【請求項11】
復号装置が実行する復号方法であって、
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得するステップと、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号するステップと、
を含み、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号方法。
【請求項12】
復号装置が実行する復号方法であって、
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得するステップと、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号するステップと、
を含み、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記第1スライスの符号化データと前記第2空間の点群の符号化データに対応付けられた第2スライスの符号化データとは、前記点群の全体の符号化データに定められた複数の階層のうちの同じ階層に属し、
前記復号装置は、前記同じ階層に属する符号化データに対応付けられた前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号し、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号装置は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号方法。
【請求項13】
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得する取得部と、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号する復号部と
を備え、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号部は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1スライスの符号化データが属する階層より下位の階層に属する符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号装置。
【請求項14】
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号部は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項13に記載の復号装置。
【請求項15】
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号部は、前記3次元空間における各位置と前記複数のスライス番号との対応付けを表すデータテーブルから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
請求項13に記載の復号装置。
【請求項16】
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得する取得部と、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号する復号部と
を備え、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号部は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号装置。
【請求項17】
3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得する取得部と、
前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号する復号部と
を備え、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記第1スライスの符号化データと前記第2空間の点群の符号化データに対応付けられた第2スライスの符号化データとは、前記点群の全体の符号化データに定められた複数の階層のうちの同じ階層に属し、
前記復号部は、前記同じ階層に属する符号化データに対応付けられた前記第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号し、
前記第1空間は、前記3次元空間の部分である第2空間に対して所定の位置関係を有し、
前記復号部は、前記第1スライス番号が示す前記第1スライスのオーバーヘッドから、前記第1空間に隣接する前記第2空間の点群の符号化データに対応付けられた第2スライスを示すポインタに基づいて、前記第2空間の点群の符号化データに対応付けられた前記第2スライスを示す第2スライス番号を取得し、前記第2スライス番号に基づいて前記第2空間の点群の符号化データを取得し、前記第2空間の点群データを前記第2空間の点群の符号化データから復号する、
復号装置。
【請求項18】
請求項8から請求項12のいずれか一項に記載の復号方法を実行する復号装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復号方法、復号装置及びプログラムに関する。
【背景技術】
【0002】
LiDAR(Light Detection and Ranging)スキャナ等を用いて生成された点群データの圧縮符号化に関する国際標準規格「G.pcc(Geometry based Point Cloud Compression)」が検討されている。「G.pcc」では、点群の全体の符号化データに対する部分アクセスを実現するためにスライスセグメンテーションの構造を許容するという提案がなされている(非特許文献1参照)。この部分アクセスとは、例えば、8分木構造で表現された点群の一部のみを復号すること、すなわち全体の部分の点群だけを復号することである。非特許文献1では、8分木構造で表現された点群に定められた層の単位で、複数のスライスが8分木構造に対応付けられている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Hyun-Mook Oh, Hyejung Hur, Sejin Oh, "INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC 1/SC 29/WG 7 CODING OF MOVING PICTURES AND AUDIO, " ISO/IEC JTC 1/SC 29/WG 7 m55350, Online - October 2020.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に開示されたスライスは、8分木構造で点群が表現された際に点群の部分がどのような順で表現されたかに応じて、8分木構造に対応付けられている。すなわち、非特許文献1に開示されたスライスは、点群の符号化における点群の走査順に応じて、8分木構造に対応付けられている。
【0005】
このため、点群が分布している3次元空間内の各部分の並び順と、8分木構造に対応付けられたスライスのスライス番号順とは、必ずしも一致してしない。その結果、3次元空間に分布している点群の全体を復号することはできても、その全体の部分の点群だけを復号することはできないという問題がある。
【0006】
上記事情に鑑み、本発明は、3次元空間に分布している点群の全体を復号することなく、その全体の部分の点群を復号することが可能である復号方法、復号装置及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の一態様は、復号装置が実行する復号方法であって、3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得するステップと、前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号するステップとを含む復号方法である。
【0008】
本発明の一態様は、3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライスを示す複数のスライス番号のうちから、前記3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、前記第1スライスを示す第1スライス番号を取得する取得部と、前記第1スライス番号に基づいて前記第1空間の点群の符号化データを取得し、前記第1空間の点群データを前記第1空間の点群の符号化データから復号する復号部とを備える復号装置である。
【0009】
本発明の一態様は、上記の復号装置としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0010】
本発明により、3次元空間に分布している点群の全体を復号することなく、その全体の部分の点群を復号することが可能である。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態における、点群データ処理システムの構成例を示す図である。
【
図2】第1実施形態における、8分木構造及び各スライスの例を示す図である。
【
図3】第1実施形態における、所定の位置関係を有する各空間と各スライスとの例を示す図である。
【
図4】第1実施形態における、スライスフッタのデータ構造の例を示す図である。
【
図5】第1実施形態における、符号化装置の動作例を示すフローチャートである。
【
図6】第1実施形態における、復号装置の動作例を示すフローチャートである。
【
図7】第2実施形態における、所定の位置関係を有する各空間と各スライスとの例を示す図である。
【
図8】第3実施形態における、データテーブルの例を示す図である。
【
図9】第3実施形態の第1変形例における、符号化データに定められたバウンディングボックスの例を示す図である。
【
図10】第3実施形態の第2変形例における、符号化データに定められたバウンディングボックスの例を示す図である。
【
図11】各実施形態における、復号装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
本発明の実施形態について、図面を参照して詳細に説明する。
(概要)
上述のように従来技術では、複数のスライスにまたがる空間領域(部分空間)を表現する点群のみを復号することが困難である。そこで、本発明の実施形態では、空間領域とスライスとを対応付けるための付加情報(以下「ポインタ」という。)を、オーバーヘッド(例えば、スライスヘッダ又はスライスフッタ)に付加する。これによって、所望の空間領域(復号対象の部分空間)に対応付けられたスライスが、ポインタを用いて特定される。以下では、ポインタは、空間領域とスライス番号(スライス識別子)とを対応付けることができる情報であればよく、以下の各実施形態に例示されたポインタに限定されるものではない。
【0013】
(第1実施形態)
図1は、第1実施形態における、点群データ処理システム1の構成例を示す図である。点群データ処理システム1は、符号化装置2と、通信回線3と、復号装置4とを備える。
【0014】
点群データは、LiDARスキャナ等を用いて生成される。符号化装置2は、点群データを取得する。符号化装置2は、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを用いて点群データを符号化(8分木符号化)することによって、符号化データを生成する。
【0015】
ここで、符号化装置2は、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを有する符号化データを生成する。例えば、符号化装置2は、生成された符号化データの全体に、複数のスライスを対応付ける。スライスには、スライスヘッダとスライスフッタとが、オーバーヘッドとして定義されている。符号化装置2は、符号化データをスライス単位で、通信回線3を介して復号装置4に送信する。
【0016】
復号装置4は、符号化データをスライス単位で、符号化装置2から取得する。復号装置4は、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを有する符号化データに対して、復号処理を実行する。
【0017】
図2は、第1実施形態における、8分木構造及び各スライスの例を示す図である。8分木構造の各ノードは、3次元空間に分布する点群の各点を表す。すなわち、ノードは、点群が分布している3次元空間を構成する部分を表す。点が存在する部分(ノード)に対して、例えば符号「1」が割り当てられる。点が存在しない部分に対して、例えば符号「0」が割り当てられる。
【0018】
部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを有する符号化データには、複数の階層が定められる。
図2では、ノード60は、符号化データにおける、最も根元側(親階層)のノードである。すなわち、ノード60の階層は、符号化データにおいて最も上位の階層である。各ノード67は、符号化データにおける、最も葉側(子階層)のノードである。すなわち、各ノード67の階層は、符号化データにおいて最も下位の階層である。
【0019】
図2では、一例として、ノード60を含む第0階層と、1以上のノード61を含む第1階層と、1以上のノード62を含む第2階層と、1以上のノード63を含む第3階層と、1以上のノード64を含む第4階層と、1以上のノード65を含む第5階層と、1以上のノード66を含む第6階層と、1以上のノード67を含む第7階層とが、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを有する符号化データに対応付けられている。
【0020】
図2では、第0階層のノード60と第1階層から第4階層までの各ノードとを含むグループ51の符号化データが、スライス100-1に対応付けられている。すなわち、グループ51の符号化データは、スライス100-1に格納されている。第5階層の各ノード65を含むグループ52の符号化データは、スライス100-2に対応付けられている。
図2に示された対応付けは、一例である。例えば、第5階層のノード65群は、複数のスライス100-2に対応付けられてもよい。
【0021】
図2では、第6階層から第7階層までの各ノードを含むグループ53の符号化データが、スライス100-3とスライス100-4とスライス100-5とに対応付けられている。ここで、グループ53は、一例として、サブグループ530-1と、サブグループ530-2と、サブグループ530-3とに分けられている。
【0022】
これらのサブグループ530は、3次元空間において所定の位置関係を有するノード(部分)が属するグループである。所定の位置関係とは、例えば、空間的に隣接するという関係である。所定の位置関係とは、例えば、互いの位置の距離が所定距離以内であるという関係でもよい。所定の位置関係とは、例えば、一方のノード(部分)が親空間であり他方のノード(部分)が子空間(親空間に包含される空間)であるという関係でもよい。
【0023】
図2では、一例として、ノード66-0とノード66-1とノード67-0とノード67-1とは、グループ53のサブグループ530-1に属している。ノード66-2とノード67-2とは、グループ53のサブグループ530-2に属している。ノード66-3とノード67-3とは、グループ53のサブグループ530-3に属している。
【0024】
図2では、一例として、サブグループ530-1の符号化データが、スライス100-3に対応付けられている。サブグループ530-2の符号化データが、スライス100-4に対応付けられている。サブグループ530-3の符号化データが、スライス100-5に対応付けられている。
【0025】
各スライス100のスライスヘッダ101は、グループ番号とサブグループ番号とを含む。
【0026】
部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを用いて点群データが表現される(点群が符号化される)際にそれらの8分木構造等に対応付けられる各スライス100のスライスフッタ102には、ポインタが付加される。このポインタは、3次元空間内の位置に関して、復号された第1の点群の位置に対して所定の位置関係を有する第2の点群に対応付けられたスライス100を示す。なお、ポインタがエレメントとして定義される位置として、スライスフッタは一例である。例えば、ポインタがエレメントとして定義される位置は、スライスヘッダでもよい。空間領域(部分空間)とスライス番号との対応付けが可能であれば、ポインタがエレメントとして定義される位置は、スライスヘッダ又はスライスフッタ等のオーバーヘッドに限られず、特定の位置に限定されない。
【0027】
図3は、第1実施形態における、所定の位置関係を有する各空間と各スライスとの例を示す図である。
図3では、スライス100-2に対応付けられた第1空間(
図2に示されたグループ52のノード65群)は、スライス100-3に対応付けられた第2空間(ノード66-0とノード66-1から構成された空間)を包含している。さらにノード66-0の空間は、一例として、ノード67-0とノード67-1とから構成された空間を包含している。
【0028】
図3では、所定の位置関係として、ノード66-0とノード66-3とは互いに隣接している。所定の位置関係として、ノード66-2とノード66-3とは互いに隣接している。所定の位置関係として、ノード66-1とノード66-2とは互いに隣接している。また、所定の位置関係として、ノード66-0とノード66-1とノード66-2とノード66-3との互いの位置の距離が、所定距離内である。
【0029】
スライスフッタ102-2は、スライス100-2に対応する階層より下位の階層(子階層)に対応するスライス100-3へのポインタとして、スライス番号「#3」を含む。スライスフッタ102-2は、スライス100-4へのポインタとして、スライス番号「#4」を含む。スライスフッタ102-2は、スライス100-5へのポインタとして、スライス番号「#5」を含む。つまり、8分木構造の根元側のスライスに基づいてそのスライスに属する葉側のスライスのスライス番号を特定できるように、ポインタが構成される。なお、スライスフッタ102-2は、スライス番号だけでなく、3次元空間におけるノード66及びノード67等の並び順を表す情報を含んでもよい。
【0030】
次に、復号装置4について説明する。
復号装置4は、取得部40と、記憶装置41と、制御部42と、復号部43とを備える。取得部40は、点群の全体の符号化データを、符号化装置2から取得する。取得部40は、点群の全体の符号化データを、記憶装置41に記録する。
【0031】
取得部40は、3次元空間に分布する点群の全体の符号化データに対応付けられた複数のスライス100を示す複数のスライス番号のうちから、3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタを、スライス100のスライスヘッダ101又はスライスフッタ102から取得する。
【0032】
ここで、他のスライスに依存することなく復号可能であり、復号対象の点(空間領域)を包含するスライス(根元側のスライス)が、復号対象の最初のスライスとして特定される。復号対象の最初のスライスは、例えば(1)から(4)のいずれかのようにして特定される。
【0033】
(1)8分木構造において8分木が1本である場合、スライス番号「#0」のスライスが特定される。
(2)8分木構造に対して定義されたタイルインベントリ(参考文献1("Information technology - MPEG-I (Coded Representation of Immersive Media) - Part 9: Geometry-based Point Cloud Compression, " ISO/IEC 23090-9:2020(E), ISO/IEC JTC 1/SC 29/WG 11)参照)に基づいて、8分木構造における復号対象の空間領域を含むタイルのタイル番号(識別子)が特定される。このタイルのタイル番号とスライス番号(スライスタグ)とが照合されることによって、復号対象の空間領域に対応付けられた復号対象の最初のスライスが探索される。
(3)スライスヘッダ中の「gsh_entropy_continuation_flag」(参考文献1参照)が偽であり、スライスヘッダ中のバウンディングボックスが復号対象の空間領域を包含しているスライスが探索される。
(4)8分木構造における独立に復号可能な点(ノード)に対応するスライスを示すシンタックス・テーブルが、別途定義される。
【0034】
取得部40は、
図2に示されているようにグループ52のノード65群の符号化データに対応付けられたスライス100-2(第1スライス)を示すポインタを、スライス100-1のオーバーヘッド(スライスヘッダ101又はスライスフッタ102)から取得する。取得部40は、スライス番号「#2」(第1スライス番号)をポインタとして取得する。すなわち、取得部40は、ポインタに基づいてスライス番号「#2」を取得する。
【0035】
また、取得部40は、第1スライスの符号化データが属する階層より下位の階層(子階層)に属する符号化データに対応付けられた第2スライスを示すポインタに基づいて、第2空間の点群の符号化データに対応付けられた第2スライスを示す第2スライス番号を取得する。
【0036】
例えば、取得部40は、スライス100-2(第1スライス)の符号化データが属する階層の子階層に属する符号化データに対応付けられたスライス100-3(第2スライス)を示すポインタに基づいて、ノード66-0及びノード66-1(第2空間)の符号化データに対応付けられたスライス100-3を示すスライス番号「#3」を、スライスヘッダ101-2から取得する。同様に、取得部40は、スライス100-3を示すスライス番号「#3」と、スライス100-5を示すスライス番号「#5」とを、スライスヘッダ101-2から取得する。
【0037】
ここで、ノード66-0とノード66-3とは、3次元空間において互いに隣接する位置関係を有する。ノード66-0とノード66-2とは、3次元空間において互いに近接する位置関係を有する。このように、スライスフッタ102-2には、スライス100-2に対応付けられたノード65に包含されている各ノード(子階層の各ノード)に対応付けられたスライス100-3、スライス100-2及びスライス100-3をそれぞれ示すポインタが付加されている。
【0038】
前述した例のように、復号部43は、根元側のスライスから順に、点群を復号する。取得部40は、復号された根元側のスライスから、そのスライスに属する葉側のスライス番号を取得する。葉側のスライス番号のうち、所望の空間領域に対応するスライスを示すスライス番号がある場合、復号部43は、そのスライス番号が示すスライスの全体を復号する。
【0039】
復号装置4は、このような復号処理を、最下層(最も葉側)まで、スライスごとに実行する。処理対象の順番は問わない。例えば、復号部43は、全ての子スライスを確認及び復号してから、孫階層について処理を進める。または子階層から孫階層の順に処理を進めて、復号対象がなくなった場合、復号部43は、孫階層から子階層又は子階層から親階層に、処理対象を戻してもよい。この場合、スライスフッタに付加される情報は、例えば、根元側のスライスに属する葉側のスライスのスライス番号のみでもよいし、根元側のスライスに直接属する葉側のスライスの個数と根元側のスライスに属する葉側のスライスのスライス番号との両方でもよい。
【0040】
葉側のスライスに含まれるジオメトリ・ツリー構造(Geometry tree structure)(8分木構造)のエントロピー符号化が根元側のスライスに依存して実行される場合、又は、ジオメトリ・ツリー構造(8分木構造)に対応する属性情報の符号化が根元側のスライスに依存している場合、根元側のスライスも復号される必要がある。復号に関して依存性がなく、ジオメトリ・ツリー構造における他の領域を復号する必要がない場合には、根元側のスライスのスライスヘッダ及びスライスフッタ以外の復号処理は、スキップされてもよい。
【0041】
取得部40は、子階層のスライス(以下「子スライス」という。)の全てのスライス番号を、親階層のスライスのスライスフッタから取得する。復号部43は、各子スライスのスライスヘッダ中のバウンディングボックス情報を参照することによって、復号対象の空間領域が子スライスに含まれているか否かを判定する。このスライスヘッダは、符号化データにおけるバウンディングボックスのカバー範囲を特定するためのエレメントを含む。
【0042】
記憶装置41は、点群の全体の符号化データを記憶する。制御部42は、復号装置4の各機能部の動作を制御する。例えば、制御部42は、ユーザによる操作に応じて、最初の復号対象として選択された点群(ノード群)に対応付けられたスライス100のスライス番号を、取得部40に出力する。
【0043】
復号部43は、第1スライス番号に基づいて、第1空間の点群の符号化データを取得する。復号部43は、第1空間の点群データを、第1空間の点群の符号化データから復号する。例えば、復号部43は、スライス番号「#2」(第1スライス番号)に基づいて、グループ52のノード65群の符号化データを取得する。復号部43は、グループ52の各ノード65を、スライス100-1に対応付けられたグループ51の符号化データとスライス100-2に対応付けられたグループ52の符号化データとから復号する。
【0044】
復号部43は、第2スライス番号に基づいて、第2空間の点群の符号化データを取得する。復号部43は、第2空間の点群データを、第2空間の点群の符号化データから復号する。例えば、復号部43は、スライス番号「#3」(第2スライス番号)に基づいて、サブグループ530-1の符号化データを取得する。復号部43は、ノード66-0及びノード66-1を、グループ51の符号化データとグループ52の符号化データとサブグループ530-1の符号化データとから復号する。同様に、復号部43は、ノード66-3を、グループ51の符号化データとグループ52の符号化データとサブグループ530-3の符号化データとから復号してもよい。復号部43は、ノード66-2を、グループ51の符号化データとグループ52の符号化データとサブグループ530-2の符号化データとから復号してもよい。
【0045】
図4は、第1実施形態における、スライスフッタ102のデータ構造の例を示す図である。8分木構造の点群(ノード群)であるジオメトリ・ツリー構造には、複数のスライスが対応付けられている。
【0046】
各スライス100のスライスフッタ102は、一例として、
図4に示されたデータ構造を有する。スライスフッタ102のデータ構造は、例えば、ジオメトリ・データ・ユニット・フッタ(geometry_data_unit_footer())(参考文献1参照)に対してエレメントが追加されたデータ構造である。
【0047】
図4に示されたデータ構造を有するスライスフッタは、変数「num_neighbour_slices_minus1」をエレメントとして有する。変数「num_neighbour_slices_minus1」は、3次元空間において所定の位置関係を有するノード(部分)に対応付けられたスライスの個数から1が減算された結果の値を表す。
【0048】
図4に示されたデータ構造を有するスライスフッタは、ポインタ変数「neigbour_slice_id」をエレメントとして有する。ポインタ変数「neigbour_slice_id」の値は、3次元空間において所定の位置関係を有するノード(部分)に対応付けられたスライスを示すスライス番号である。
【0049】
図4に示されたデータ構造の情報は、スライスフッタに入れられる代わりに、スライスヘッダに入れられてもよい。オーバーヘッドとして情報を持たせることができるのであれば、
図4に示されたデータ構造の情報が入れられる位置は、特定の位置に限定されない。
【0050】
次に、点群データ処理システム1の動作例を説明する。
図5は、第1実施形態における、符号化装置2の動作例を示すフローチャートである。符号化装置2は、3次元空間に分布する点群の座標(点群データ)を、符号化対象として取得する(ステップS101)。符号化装置2は、点群の座標に基づいて、8分木構造(ジオメトリ・ツリー構造)の点群を生成する(ステップS102)。符号化装置2は、8分木構造において点群が属する階層の深さと8分木構造における点群の位置とに応じて、点群にスライス100を対応付ける(ステップS103)。符号化装置2は、各スライス100にスライス番号を割り当てる(ステップS104)。
【0051】
符号化装置2は、符号化対象として選択された各スライス100のスライス番号を符号化する(ステップS105)。符号化装置2は、各スライス番号をスライスヘッダ101に格納する(ステップS106)。符号化装置2は、8分木構造の点群を符号化することによって、符号化データを生成する(ステップS107)。符号化装置2は、3次元空間において所定の位置関係を有する点を含むスライスの個数情報と、それらのスライス100のスライス番号とを符号化する(ステップS108)。符号化装置2は、スライス100の個数情報とスライス番号とを、スライスフッタ102に格納する(ステップS109)。
【0052】
符号化装置2は、選択されたスライス100の全ての点群が符号化されたか否かを判定する(ステップS110)。いずれかの点群が符号化されていないと判定された場合(ステップS110:NO)、符号化装置2は、ステップS105に処理を戻す。
【0053】
選択されたスライス100の全ての点群が符号化されたと判定された場合(ステップS110:NO)、符号化装置2は、スライスフッタ102を有するスライス100ごとに、符号化データを復号装置4に出力する(ステップS111)。
【0054】
図6は、第1実施形態における、復号装置4の動作例を示すフローチャートである。取得部40は、最初の復号対象として選択された点群に対応付けられたスライス100のスライス番号を、制御部42から取得する(ステップS201)。取得部40は、点群の全体の符号化データを、記憶装置41から取得する(ステップS202)。
【0055】
取得部40は、点群の全体の符号化データのうちから、スライス100を選択する。取得部40は、選択されたスライス100を示すスライス番号を取得する。例えば、ステップS206においてスライスフッタ102からスライス番号が取得されていない場合、取得部40は、スライス100のスライスヘッダから取得する。例えば、ステップS206においてスライスフッタ102からスライス番号が取得されている場合、取得部40は、スライス100のスライスフッタ102から取得されたスライス番号を、選択されたスライス100を示すスライス番号として扱う(ステップS203)。
【0056】
取得部40は、取得されたスライス番号と復号対象として選択された点群に対応付けられたスライス100のスライス番号とが同じであるか否かを判定する。すなわち、取得部40は、スライスヘッダ101から取得されたスライス番号のスライス100が復号対象の点群に対応付けられたスライス100であるか否かを判定する(ステップS204)。
【0057】
取得されたスライス番号のスライス100が復号対象の点群に対応付けられたスライス100でないと判定された場合(ステップS204:NO)、取得部40は、ステップS203に処理を戻す。
【0058】
スライスヘッダ101から取得されたスライス番号のスライス100が復号対象の点群に対応付けられたスライス100であると判定された場合(ステップS204:YES)、復号部43は、復号対象のスライス100に対応付けられた点群の符号化データを用いて、8分木構造の点群を復号する(ステップS205)。
【0059】
取得部40は、復号対象のスライス100のスライスフッタ102から、次に復号対象とされるスライス100のスライス番号を取得する(ステップS206)。ここで、復号対象のスライス100に対応付けられた部分と、次に復号対象とされるスライス100に対応付けられた部分とは、3次元空間において所定の位置関係(例えば、互いに隣接する位置関係)を有する。なお、スライスフッタ102に含まれている全てのスライス番号が取得済である場合には、取得部40は、スライス番号を取得する処理を中止して、ステップS207に処理を進める。
【0060】
取得部40は、判定されていないスライス100が存在するか否かを判定する(ステップS207)。判定されていないスライス100が存在すると判定された場合(ステップS207:YES)、取得部40は、ステップS203に処理を戻す。全てのスライス100が判定されたと判定された場合(ステップS207:NO)、復号部43は、点群データを記憶装置41に出力する。
【0061】
以上のように、取得部40は、3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタ(付加情報)に基づいて、第1スライス番号を、所定のオーバーヘッド(例えば、スライスフッタ102)から取得する。例えば、取得部40は、グループ52のノード65群(第1空間)の符号化データに対応付けられたスライス100-2を示すポインタに基づいて、第1スライス番号「#2」を、スライス100-1のオーバーヘッド(例えば、スライスヘッダ101-1又はスライスフッタ102-1)から取得する。復号部43は、第1スライス番号(例えば、「#2」)に基づいて、第1空間の点群の符号化データを取得する。復号部43は、第1空間の点群データを、第1空間の点群の符号化データから復号する。
【0062】
また、取得部40は、第1スライスの符号化データが属する階層の子階層に属する符号化データに対応付けられた第2スライスを示すポインタに基づいて、第2空間の点群の符号化データに対応付けられた第2スライスを示す第2スライス番号を取得してもよい。例えば、取得部40は、スライス100-2(第1スライス)の符号化データが属するグループ52の子階層(サブグループ530-1)に属する符号化データに対応付けられたスライス100-3(第2スライス)を示すポインタに基づいて、ノード66-0とノード66-1とから構成された空間(第2空間)の符号化データに対応付けられたスライス100-3(第1スライス)を示す第2スライス番号「#3」を取得してもよい。復号部43は、第2スライス番号(例えば、「#3」)に基づいて、第2空間の点群の符号化データを取得する。復号部43は、第2空間の点群データを、第2空間の点群の符号化データから復号する。
【0063】
これによって、3次元空間の部分がピンポイントで復号対象とされた場合に復号に必要とされるスライスを特定することが可能となるので、3次元空間に分布している点群の全体を復号することなく、その全体の部分の点群を復号することが可能である。
【0064】
全体の部分の点群が複数のスライスに対応付けられているか否かにかからわず、その部分の点群を復号することが可能である。また、符号化データ一部のスライスが欠損しても、他のスライスに対応する点群を復号可能である。
【0065】
(第1実施形態の変形例)
根元側の階層のスライスに基づいて、葉側の階層のスライスへのポインタが定められる場合(ポインタが、グループを介して間接的に、スライスによって保持される場合)
・根元側の階層のスライスヘッダがグループ番号又はサブグループ番号を保持している場合、グループ及びサブグループの親子関係を示すデータテーブル又はツリーが、別途定義される。
・復号部43は、8分木構造の根元から順に、点群を復号する。復号部43は、グループ及びサブグループの親子関係を示すツリーを参照して、子スライスを特定する。復号部43は、復号対象の空間領域が子スライスに入っているか否かを、子スライスのスライスヘッダに入っているバウンディングボックスに関する情報に基づいて判定する。真である場合(復号対象の空間領域が子スライスに入っている場合)、復号部43は、子スライスを復号する。
・処理対象の順番は問わない。復号部43は、全ての子スライスを確認及び復号してから、孫階層について処理を進める。子階層から孫階層の順に処理を進めて、復号対象がなくなった場合、復号部43は、孫階層から子階層又は子階層から親階層に、処理対象を戻してもよい。
・エレメント(スライスヘッダ又はスライスフッタ)
→グループ番号又はサブグループ番号
・エレメント(全体)
→グループ構造のデータテーブル、又は、グループ構造のツリー
【0066】
このように、グループ番号又はサブグループ番号が、根元側のスライスのスライスヘッダに付加される。さらに、根元側のスライスのスライスヘッダ又は独立したシンタックス・テーブルに、そのスライスが属するグループ及びサブグループの親子関係を示すテーブル若しくはツリーが付加されてもよい。
【0067】
その根元側のスライスを最上位(最も根元)とするグループ及びサブグループのデータテーブル若しくはツリーのみが、スライスヘッダに又は独立したシンタックス・テーブルに付加されてもよい。この場合、復号部43は、根元側のスライスから順に、点群(部分空間)を復号してもよい。復号部43は、前述のデータテーブル若しくはツリーを参照し、復号対象の領域(部分空間)に対応付けられた葉側のスライスと、そのスライスよりも根元側(上位側)のスライスとを復号してもよい。この場合、グループ番号若しくはサブグループ番号とそれらの親子関係とを表す付加情報が、スライスヘッダ又は独立したシンタックス・テーブルに付加されてもよい。
【0068】
上述の変形例では、グループとサブグループとのうちの少なくとも一方の親子関係を示すデータテーブル若しくはツリーが用いられている。上述の変形例において、グループとサブグループとのうちの少なくとも一方に代えて、スライス自体の親子関係を示すデータテーブル又はツリーが用いられてもよい。そして、グループとサブグループとのうちの少なくとも一方又は独立したシンタックステーブル等に、このデータテーブル又はツリーが付加されてもよい。復号部43は、復号対象の空間領域がスライスに含まれているか否かを、例えば根元側のスライスヘッダに付加されたデータテーブルを参照することによって判定する。復号部43は、復号対象の空間領域がスライスに含まれているか否かを、上述の変形例等に示された判定方法と同様の判定方法によって判定してもよい。
【0069】
(第2実施形態)
第1実施形態では、第1空間(第1部分)の点群の符号化データに対応付けられた第1スライスの符号化データと、第2空間(第2部分)の点群の符号化データに対応付けられた第2スライスの符号化データとが、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを用いて表現された符号化データの全体に定められた複数の階層のうちの異なる階層に属する。
【0070】
これに対して、第2実施形態では、第1空間(第1部分)の点群の符号化データに対応付けられた第1スライスの符号化データと、第2空間(第2部分)の点群の符号化データに対応付けられた第2スライスの符号化データとが、部分アクセスのためのスライスセグメンテーションの構造と8分木構造とを用いて表現された符号化データの全体に定められた複数の階層のうちの同じ階層に属する。この点が、第1実施形態との差分である。第2実施形態では、第1実施形態との差分を中心に説明する。
【0071】
図7は、第2実施形態における、所定の位置関係を有する各空間と各スライスとの例を示す図である。
図7では、スライス100-2に対応付けられた第1空間(ノード66-0とノード66-1とノード66-2とノード66-3とから構成された空間)は、スライス100-3に対応付けられた第2空間(ノード66-0とノード66-1とから構成された空間)を包含している。さらにノード66-0の空間は、一例として、ノード67-0とノード67-1とから構成された空間を包含している。
【0072】
図7では、所定の位置関係として、ノード66-0とノード66-3とは互いに隣接している。所定の位置関係として、ノード66-2とノード66-3とは互いに隣接している。所定の位置関係として、ノード66-1とノード66-2とは互いに隣接している。また、所定の位置関係として、ノード66-0とノード66-1とノード66-2とノード66-3との互いの位置の距離が、所定距離内である。
【0073】
スライスフッタ102-3は、スライス100-3に対応する階層と同じ階層に対応するスライス100-5へのポインタとして、スライス番号「#5」を含む。スライスフッタ102-5は、スライス100-5に対応する階層と同じ階層に対応するスライス100-4へのポインタとして、スライス番号「#4」を含む。
【0074】
取得部40は、第1スライスの符号化データが属する階層と同じ階層に属する符号化データに対応付けられた第2スライスを示すポインタに基づいて、第2空間の点群の符号化データに対応付けられた第2スライスを示す第2スライス番号を取得する。
【0075】
例えば、取得部40は、スライス100-3(第1スライス)の符号化データが属する階層と同じ階層に属する符号化データに対応付けられたスライス100-5(第2スライス)を示すポインタに基づいて、ノード66-3の符号化データに対応付けられたスライス100-5を示すスライス番号「#5」(第2スライス番号)を、スライス100-3のスライスフッタ102-3(第1スライスのオーバーヘッド)から取得する。同様に、取得部40は、スライス100-4(第3スライス)を示すスライス番号「#4」を、スライス100-5(第2スライス)のスライスフッタ102-5(第2スライスのオーバーヘッド)から取得する。
【0076】
ここで、ノード66-0とノード66-3とは、3次元空間において所定の位置関係(例えば、互いに隣接する位置関係)を有する。ノード66-0とノード66-2とは、3次元空間において所定の位置関係(例えば、互いに近接する位置関係)を有する。このように、スライスフッタ102-3には、スライス100-3に対応付けられたノード66-0に隣接しているノード66-3に対応付けられたスライス100-5を示すポインタが付加されている。また、スライスフッタ102-5には、スライス100-5に対応付けられたノード66-3に隣接しているノード66-2に対応付けられたスライス100-4を示すポインタが付加されている。
【0077】
所定の階層のスライスに基づいて、その所定の階層と同じ階層の他のスライスへのポインタが定められる場合(ポインタが、スライスによって直接保持される場合)について説明する。ここで、隣接する空間領域のいずれかに復号対象の空間領域が含まれている。また、ポインタが付加されているスライスが示す空間領域と、空間的に隣接する空間領域のスライス番号とが、そのポインタによって示される。
・前提:隣接する空間領域のいずれかに復号対象の空間領域が含まれている。また、隣接するスライス番号のみが、オーバーヘッドとして保持される。
・復号部43は、現スライスを復号する。復号部43は、復号されたスライスのスライスヘッダに示されたポインタを伝って、復号されたスライスに対応する空間領域に隣接する空間領域(部分空間)に対応付けられたスライスを特定する。復号部43は、特定されたスライスに復号対象の空間領域が入っているか否かを、特定されたスライスのスライスヘッダに入っているバウンディングボックスに関する情報に基づいて判定する。真である場合(復号対象の空間領域がスライスに入っている場合)、復号部43は、このスライスを復号する。復号部43は、このような処理を、隣接する空間領域を含むスライスに対して実行する。復号対象の全ての空間領域に対応する全てのスライスが判定された場合、判定された時点で、復号部43は、スライスの判定処理を中断してもよい。さらに、復号部43は、このスライスのスライスヘッダに入っている依存関係にあるスライス(復号に必要なスライス)を示すスライス番号に基づいて、復号に必要な全てのスライスのスライス番号を特定する。復号部43は、復号に必要な全てのスライスのスライス番号の各スライスに基づいて、点群を復号する。
・エレメント
→隣接する空間領域(部分空間)に対応付けられたスライスの個数。
→隣接する空間領域(部分空間)に対応付けられたスライスのスライス番号(スライスごと)。
【0078】
以上のように、取得部40は、3次元空間の部分である第1空間の点群の符号化データに対応付けられた第1スライスを示すポインタに基づいて、第1スライス番号を取得する。例えば、取得部40は、ノード66-0及びノード66-1(第1空間)の符号化データに対応付けられたスライス100-3(第1スライス)を示すポインタに基づいて、第1スライス番号「#3」を取得する。復号部43は、第1スライス番号に基づいて、第1空間の点群の符号化データを取得する。復号部43は、第1空間の点群データを、第1空間の点群の符号化データから復号する。
【0079】
これによって、3次元空間に分布している点群の全体を復号することなく、その全体の部分の点群を復号することが可能である。
【0080】
また、取得部40は、第1スライスの符号化データが属する階層と同じ階層に属する符号化データに対応付けられた第2スライス(例えば、スライス100-5)を示すポインタ(第1スライスのオーバーヘッドに付加されたポインタ)に基づいて、第2空間(例えば、ノード66-3)の点群の符号化データに対応付けられた第2スライスを示す第2スライス番号(例えば、「#5」)を取得してもよい。復号部43は、第2スライス番号に基づいて、第2空間の点群の符号化データを取得する。第2空間の点群データを第2空間の点群の符号化データから復号する。
【0081】
(第2実施形態の変形例)
所定の階層のスライスに基づいて、その所定の階層と同じ階層の他のスライスへのポインタが定められる場合(ポインタが、グループを介して間接的に、スライスによって保持される場合)
・スライスヘッダがグループ番号又はサブグループ番号を保持している場合、グループ若しくはサブグループの空間領域の隣接関係を示すデータテーブル又はグラフが、別途定義される。
・復号部43は、現スライスを復号する。復号部43は、グラフを伝って、隣接する空間領域(部分空間)に対応付けられたスライスを特定する。復号部43は、復号対象の空間領域がスライスに入っているか否かを、隣接する空間領域(部分空間)に対応付けられたスライスのスライスヘッダに入っているバウンディングボックスに関する情報に基づいて判定する。真である場合(復号対象の空間領域がスライスに入っている場合)、復号部43は、このスライスを復号対象とする。さらに、復号部43は、このスライスのスライスヘッダに入っている依存関係にあるスライス(復号に必要なスライス)を示すスライス番号に基づいて、復号に必要な全てのスライスのスライス番号を特定する。復号部43は、復号に必要な全てのスライスに基づいて、点群を復号する。
・エレメント(スライスヘッダ又はスライスフッタ)
→グループ番号又はサブグループ番号
・エレメント(全体)
→グループ構造を表すデータテーブル又はグラフ
【0082】
(第3実施形態)
第3実施形態では、点群が分布している3次元空間における位置と全てのスライス番号との対応付けがデータテーブルに登録されている点が、第1実施形態及び第2実施形態との差分である。第3実施形態では、第1実施形態及び第2実施形態との差分を中心に説明する。
【0083】
図8は、第3実施形態における、データテーブルの例を示す図である。第3実施形態におけるデータテーブルは、点群が分布している3次元空間における各位置と複数のスライス番号との対応付けを表す。
図8に示されたデータテーブルでは、例えば、スライス番号「#5」に対応付けられた位置は、X軸方向に2から3までの範囲、Y軸方向に0から1までの範囲、及び、Z軸方向に0から1までの範囲である。つまり、スライス番号「#5」に対応付けられたノード66-3の位置は、これらの範囲にある。
【0084】
なお、位置(座標)の範囲の表現方法は、境界の値のセットを用いる表現方法に限定されなくてもよい。例えば、位置(座標)の範囲の表現方法は、バウンディングボックスの原点とボックスサイズとが用いられる表現方法でもよい。また、位置(座標)の範囲の表現方法は、モートン番号が用いられる表現方法でもよい。
【0085】
符号化装置2は、このようなデータテーブルを、点群の符号化の際に生成する。符号化装置2は、例えば符号化データのヘッダに、データテーブルを付加する。符号化装置2は、例えば符号化データの「Sequence parameter set」(参考文献1参照)に、データテーブルを付加してもよい。符号化装置2は、例えば符号化データの「Geometry parameter set」(参考文献1参照)に、データテーブルを付加してもよい。
【0086】
取得部40は、符号化データをスライス単位で、符号化装置2から取得する。取得部40は、データテーブルを符号化装置2から取得する。復号部43は、部分アクセスのためのスライスセグメンテーションの構造と8分木構造ととを有する符号化データに対して、復号処理を実行する。
【0087】
復号部43は、データテーブルを参照し、所定の位置関係を有する点群を復号する際に必要とされるスライス100のスライス番号を選択する。
【0088】
例えば、
図7では、ノード66-0のX座標「X1」と、ノード66-3のX座標「X2」とが、隣接している。これに対して、
図8では、スライス番号「#3」に対応するX座標「0≦x≦1」のうちの「1」と、スライス番号「#5」に対応するX座標「2≦x≦3」のうちの「2」とが、隣接している。
【0089】
例えば、
図7では、ノード66-0のY座標「Y0及びY1」と、ノード66-3のY座標「Y0及びY1」とが、共通している。これに対して、
図8では、スライス番号「#3」に対応するY座標「0≦y≦1」と、スライス番号「#5」に対応するY座標「0≦y≦1」とが、共通している。
【0090】
例えば、
図7では、ノード66-0のZ座標「Z0からZ3まで」の一部範囲が、ノード66-3のZ座標「Z0からZ1まで」と共通している。これに対して、
図8では、スライス番号「#3」に対応するZ座標「0≦z≦3」の一部範囲と、スライス番号「#5」に対応するY座標「0≦z≦1」とが、共通している。
【0091】
そこで、復号部43は、スライス番号「#3」が示すスライス100-3に対応付けられたノード66-0及びノード66-1を、スライス100-1の符号化データとスライス100-2の符号化データとスライス100-3の符号化データとから復号する。また、復号部43は、スライス番号「#3」が示すスライス100-3に対応付けられたノード66-0及びノード66-1を、スライス100-1の符号化データとスライス100-2の符号化データとスライス100-3の符号化データとから復号する。このようにして、ノード66-0及びノード66-1と、ノード66-0に隣接するノード66-3とが、復号される。
【0092】
スライス番号に代えて、グループ番号又はサブグループ番号(識別子)が用いられてもよい。また、「Sequence parameter set syntax」又は「Geometry parameter set syntax」(参考文献1参照)に付加情報が付加されるだけでなく、独立したシンタックス・テーブル(例えば、「tile inventory」(参考文献1参照))が定義されてもよい。また、付加情報は、SEI(Supplemental Enhancement Information)メッセージとして作成されてもよい。
【0093】
各スライス又は各グループについて、他のスライス又はグループとの関係が記載されたデータテーブルが定義される場合
・スライス又はグループ同士の接続関係を示すテーブルが定義される。
→各スライス又は各グループにおける、親階層と子階層と同階層とについて、隣接関係にある空間領域を示すスライスのスライス番号又はグループ番号のリストが関連付けられたデータテーブルが保存される。
【0094】
以上のように、第3実施形態におけるデータテーブルは、第1空間(例えば、スライス100-3に対応付けられた空間)と第2空間(例えば、スライス100-5に対応付けられた空間)とが、例えばX座標に関して隣接していることを示す。つまり、第3実施形態におけるデータテーブルは、第1空間に隣接する第2空間の点群の符号化データに対応付けられた第2スライス(例えば、スライス100-5)を示す。取得部40は、第2空間の点群の符号化データに対応付けられた第2スライスを示す第2スライス番号(例えば、「#5」)を、ポインタとしてのデータテーブルから取得する。
【0095】
復号部43は、第1スライス番号に基づいて、第1空間の点群の符号化データを記憶装置41から取得する。復号部43は、第1空間の点群データを、第1空間の点群の符号化データから復号する。
【0096】
復号部43は、第2スライス番号に基づいて、第1空間に隣接する第2空間の点群の符号化データを記憶装置41から取得する。復号部43は、第1空間に隣接する第2空間の点群データを、第2空間の点群の符号化データから復号する。
【0097】
これによって、3次元空間に分布している点群の全体を復号することなく、その全体の部分の点群を復号することが可能である。
【0098】
(第3実施形態の第1変形例)
図9は、第3実施形態の第1変形例における、バウンディングボックス200の例を示す図である。
【0099】
各スライス又は各グループに対応付けられた3次元空間の空間領域が記載されたデータテーブルが定義される場合
・バウンディングボックスを示すデータテーブルが、各スライス番号又は各グループ番号について定義される。
・復号部43は、バウンディングボックスを示すデータテーブルを復号する。復号部43は、各スライス番号又はグループ番号について、復号対象の空間領域がスライスに入っているか否かを、バウンディングボックスに関する情報に基づいて判定する。真である場合(復号対象の空間領域がスライスに入っている場合)、復号部43は、このスライスを復号する。
・エレメント(スライス)
→スライス番号又はグループ番号。
・エレメント(データテーブル)
→スライスの個数、又は、グループの個数。
→スライス番号(スライスごと)、又は、グループ番号(グループごと)。
→バウンディングボックスに関する情報(スライス又はグループごと)。
→バウンディングボックスの原点とバウンディングボックスのサイズとのセット、又は、バウンディングボックスの原点とバウンディングボックスの対角点の座標とのセット等。
【0100】
(第3実施形態の第2変形例)
図10は、第3実施形態の第2変形例における、符号化データに定められたバウンディングボックス201の例を示す図である。
【0101】
従来技術では、部分空間の復号のために、タイルが利用される。上述したように、従来技術では、タイルとスライスとの対応付けに、スライスヘッダに付加されるスライスタグが使用されている。従来技術では、スライスごとに1個のスライスタグが定義されているので、1個のスライスが1個のタイルにしか属することができない。このように従来技術では、複数の木を用いて空間領域が表現され、木ごとにタイルが構成されているので、1本の木を用いて3次元空間の全体が表現される場合における符号化効率と比較して、符号化効率は低下する。
【0102】
従来技術では、1個の8分木構造がタイルに分割される場合、共通する親スライスを持つ2個の子スライスが別々のタイルに割り当てられる必要がある。また、1個のスライスが複数のタイルに属することができないので、親スライスもまた子スライスとは別のタイルに割り当てられる必要がある。したがって、子スライスの復号が親スライスに依存している場合、復号部43は、1個のタイルを復号するために、依存するスライスであるか否かを判定する。復号部43は、この判定結果に基づいて、依存するスライスを特定する。復号部43は、特定されたスライスを用いて、タイルを復号する。このように従来技術では、1個の8分木構造からなる符号化データに対して、タイルごとに部分空間を復号することができない。
【0103】
これに対して、第3実施形態の第2変形例では、属するタイルの個数と属するタイル番号とが、スライスタグとして、スライスに付加される情報に追加される。これによって、1個のスライスが複数のタイルに属することができる。例えば、
図10に示されたバウンディングボックス201において、点線で囲まれた各領域が、各タイルである。
図10に示された8分木構造の各ノードは、自ノードが属する空間領域に重なる全てのタイルに属している。例えば、最も根元側のスライスは、全てのタイルに属している。これによって、第3実施形態の第2変形例では、1個の8分木構造からなる符号化データに対して、タイルごとに部分空間を復号を実現することができる。
【0104】
タイルインベントリを用いるタイル機能が拡張されて使用される場合
・前提:タイルには、タイル番号(タイル識別子)が割り当てられている。各スライスは、自スライスのスライス番号(スライスタグ)に一致するタイル番号のタイルに属している(スライスタグとして、タイル番号が持たれる)。なお、従来技術では、スライスタグとして、そのスライスが属するタイル番号のみが保持されている。すなわち従来技術では、スライスヘッダ中に「slice_tag」が定義されており、タイルインベントリがある場合にはタイル番号(タイル識別子)が「slice_tag」に入れられる。
・単体のスライスが複数のスライスタグを持てるように、最小のサブグループごとにタイルが定義される。
→最も根元のスライスは、全てのタイルに属する。
・復号部43は、タイルインベントリを復号する。復号部43は、各タイルに定められたバウンディングボックスに基づいて、所望の空間領域を含むタイルのタイル番号を特定する。復号部43は、このタイル番号に一致するスライス番号(スライスタグ)を持つスライスを復号する。
・エレメント(スライス)
→データテーブルに属するタイルの個数。
→スライスタグ(タイルごと)。
・エレメント(タイルインベントリ)
→最終国際規格案(Final Draft International Standard : FDIS)(参考文献1参照)に記載のタイルインベントリと同じ。
【0105】
図11は、各実施形態における、復号装置4のハードウェア構成例を示す図である。復号装置4の各機能部のうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサ400が、不揮発性の記録媒体(非一時的な記録媒体)を有するメモリ401に記憶されたプログラムを実行することにより、ソフトウェアとして実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置41などの非一時的な記録媒体である。復号装置4の各機能部のうちの一部又は全部は、例えば、LSI(Large Scale Integrated circuit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等を用いた電子回路(electronic circuit又はcircuitry)を含むハードウェアを用いて実現されてもよい。
【0106】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0107】
例えば、上記の各実施形態は組み合わされてもよい。
【0108】
例えば、アトリビュート・レイヤ構造(Attribute layer structure)の符号化データに対応付けられたスライスのスライスフッタにも、ジオメトリ・ツリー構造の符号化データに対応付けられたスライスを示すポインタと同様のポインタが付与されてもよい。
【産業上の利用可能性】
【0109】
本発明は、点群データに対して所定の処理を実行するシステムに適用可能である。
【符号の説明】
【0110】
1…点群データ処理システム、2…符号化装置、3…通信回線、4…復号装置、40…取得部、41…記憶装置、42…制御部、43…復号部、50…幾何木構造、51…グループ、52…グループ、53…グループ、60…ノード、61…ノード、62…ノード、63…ノード、64…ノード、65…ノード、66…ノード、67…ノード、100…スライス、101…スライスヘッダ、102…スライスフッタ、200…バウンディングボックス、201…バウンディングボックス、400…プロセッサ、401…メモリ、530…サブグループ