JP6826368B2 - Encoding device and its control method - Google Patents

Encoding device and its control method Download PDF

Info

Publication number
JP6826368B2
JP6826368B2 JP2016005380A JP2016005380A JP6826368B2 JP 6826368 B2 JP6826368 B2 JP 6826368B2 JP 2016005380 A JP2016005380 A JP 2016005380A JP 2016005380 A JP2016005380 A JP 2016005380A JP 6826368 B2 JP6826368 B2 JP 6826368B2
Authority
JP
Japan
Prior art keywords
block
tree structure
data
coding
interest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016005380A
Other languages
Japanese (ja)
Other versions
JP2017126890A (en
Inventor
秀往 松井
秀往 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016005380A priority Critical patent/JP6826368B2/en
Publication of JP2017126890A publication Critical patent/JP2017126890A/en
Application granted granted Critical
Publication of JP6826368B2 publication Critical patent/JP6826368B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明はN次元空間の点群の符号化技術に関するものである。 The present invention relates to a technique for coding a point cloud in N-dimensional space.

従来から、八分木を利用した3D点群の符号化技術が知られている。まず非特許文献1で開示されている3D点群の位置情報(各点のxyz座標)を符号化する方法について説明する。非特許文献1では3D点群を八分木データとブロック内点群データにより符号化する。八分木データの生成ではまず、3D点群を内包する直方体(以下、ブロック)を定義し、そのブロックのx、y、z軸の3辺をそれぞれ2分割して、8つのブロックに分割する。そして、分割後の1つのブロックに着目したとき、その着目ブロック内に点が存在する場合は再帰的に、その着目ブロックをブロック分割を繰り返す。この再帰的なブロック分割は事前に定めた階層で停止する。各ブロックに点があるか無いかを示す八分木データは、バイナリのフラグとして出力する。八分木データにより、点がある領域は最低位(細かい)の階層までブロック分割されており、また、最低位階層の各ブロックに点が存在するか否かの情報が判断できる。そして、ブロック内の点群データとして、各ブロック内の点の数と、ブロック内の各点がブロック内のどこにあるかを示すブロック内座標データを出力する。これにより3D点群の座標を符号化する。 Conventionally, a 3D point cloud coding technique using an ocree has been known. First, a method of encoding the position information (xyz coordinates of each point) of the 3D point cloud disclosed in Non-Patent Document 1 will be described. In Non-Patent Document 1, the 3D point cloud is encoded by the octree data and the point cloud data in the block. In the generation of ocree data, first, a rectangular parallelepiped (hereinafter referred to as a block) containing a 3D point cloud is defined, and the three sides of the x, y, and z axes of the block are each divided into two and divided into eight blocks. .. Then, when focusing on one block after division, if a point exists in the block of interest, the block of interest is recursively divided into blocks. This recursive block division stops at a predetermined hierarchy. Octree data indicating whether or not each block has a point is output as a binary flag. From the ocree tree data, the area with points is divided into blocks up to the lowest (fine) hierarchy, and information on whether or not points exist in each block of the lowest hierarchy can be determined. Then, as the point cloud data in the block, the number of points in each block and the coordinate data in the block indicating where each point in the block is in the block are output. This encodes the coordinates of the 3D point cloud.

非特許文献1の方法ではブロック分割は、全てブロック分割を固定階層で打ち切る。これに対し、3次元体積データの符号化において適応的にブロック分割を打ち切る技術を開示している文献として、特許文献1があげられる。この特許文献1では、ブロック分割の打ち切りを適応階層にすることで3次元体積データの圧縮率の向上を達成している。 In the method of Non-Patent Document 1, all block divisions are terminated at a fixed hierarchy. On the other hand, Patent Document 1 is a document that discloses a technique for adaptively interrupting block division in coding three-dimensional volume data. In Patent Document 1, the compression rate of three-dimensional volume data is improved by setting the censoring of block division to an adaptive layer.

特許第4759291号公報Japanese Patent No. 4759291

Real-time Compression of Point Cloud Streams, 2012 IEEE International Conference on Robotics and Automation RiverCentre, Saint Paul, Minnesota, USA, May 14-18, 2012Real-time Compression of Point Cloud Streams, 2012 IEEE International Conference on Robotics and Automation RiverCentre, Saint Paul, Minnesota, USA, May 14-18, 2012

非特許文献1に記載の固定階層ブロック分割は、特許文献1に記載の適応階層ブロック分割に比べて、圧縮率が低いという課題がある。その理由を以下に示す。八分木データとブロック内点群データによる3D点群の符号化では、ブロック内の点数が多い時はブロック分割を行うと1点当たりのブロック内座標データが小さくなるため、データ量を削減できる。しかし、ブロック内の点数が少ない時はブロック分割の有無を示す八分木データのデータ量の方が大きくなる。従って、圧縮率の観点でみると最適な打ち切り階層はブロック毎に異なるため、固定階層分割では圧縮率が低くなってしまう。 The fixed hierarchical block division described in Non-Patent Document 1 has a problem that the compression rate is lower than that of the adaptive hierarchical block division described in Patent Document 1. The reason is shown below. In the coding of the 3D point cloud using the ocree tree data and the point cloud data in the block, when the number of points in the block is large, the coordinate data in the block per point becomes smaller when the block is divided, so that the amount of data can be reduced. .. However, when the number of points in the block is small, the amount of ocree data indicating the presence or absence of block division becomes larger. Therefore, from the viewpoint of the compression rate, the optimum censoring layer differs for each block, so that the compression rate becomes low in the fixed layer division.

一方、適応階層ブロック分割で出力した3D点群の場合は、八分木データの上位階層のデータを復号するプログレッシブ復号の際の点の粗密が領域毎に異なってしまうという問題がある。固定階層ブロック分割の八分木データでは、固定階層以上の階層での点が存在するブロックについてはどれも同じ階層のデータを復号できる。従ってプログレッシブ復号時に、点を含むブロックについては1つの代表点(ブロックの中心など)を表示するようなレンダリングを行った場合には、点を等間隔にレンダリングすることができる。一方で、適応階層ブロック分割のプログレッシブ復号では、ブロックサイズが異なるため、大きなブロックでは広い領域に対して1つの代表点が表示され、領域に応じて点の粗密が異なってしまう。 On the other hand, in the case of the 3D point cloud output by the adaptive layer block division, there is a problem that the density of points at the time of progressive decoding for decoding the data in the upper layer of the ocree data differs for each area. In the octree data of the fixed hierarchy block division, the data of the same hierarchy can be decoded for any block having points in the hierarchy of the fixed hierarchy or higher. Therefore, at the time of progressive decoding, if rendering is performed so as to display one representative point (center of the block, etc.) for the block containing the points, the points can be rendered at equal intervals. On the other hand, in the progressive decoding of adaptive hierarchical block division, since the block size is different, one representative point is displayed for a wide area in a large block, and the density of points differs depending on the area.

本発明は従来技術がもつ上記の課題を解決することを目的とするものである。そして、本発明は、N次元空間の点群を、木構造による符号化を用いながら高い圧縮率で符号化を行う技術を提供する。 An object of the present invention is to solve the above-mentioned problems of the prior art. Then, the present invention provides a technique for coding a point cloud in N-dimensional space with a high compression rate while using coding by a tree structure.

この課題を解決するため、例えば本発明の符号化装置は以下の構成を備える。すなわち、
N次元座標空間における点群の座標情報を符号化する符号化装置であって、
基準階層の深さを設定する設定手段と、
N次元空間を分割する木構造のブロックを生成する木構造生成手段と、
前記木構造のデータを符号化する木構造符号化手段と、
前記木構造の着目ブロック内の点の位置を、当該着目ブロック内の空間を単位に符号化するブロック内符号化手段と、
前記木構造符号化手段、及び、前記ブロック内符号化手段で生成された符号化データを含む情報を、前記点群の座標情報の符号化データとして出力する出力手段とを有し、
前記木構造生成手段で生成される木構造が
(1)基準階層より上のブロックは、そのブロック内に点が含まれる限り必ず分割されている、
(2)基準階層以下のブロックについては分割するか否かが当該ブロック内の点の数に応じて適応的に切り替わっており、
前記木構造生成手段は、
N次元座標空間における符号化対象の点群を内包する初期ブロックを生成する初期ブロック生成手段と、
前記初期ブロックを複数のブロックに分割し、分割して得られた分割ブロックそれぞれに対して再帰的に分割を繰り返すことで、前記初期ブロックを最上位層とする木構造のデータを生成する分割手段とを有し、
前記分割手段は、
(1)着目ブロックが、予め設定された基準階層より上の階層に位置する場合には、前記着目ブロック内に少なくとも1つの点が存在する限り当該着目ブロックの分割を行い、
(2)着目ブロックが予め設定された基準階層以下の階層に位置する場合には、当該着目ブロック内に点が存在しない、あるいは、点が存在しても所定の条件を満たさない場合に、当該着目ブロックの分割を停止し、
(3)着目ブロックが予め設定された基準階層以下の階層に位置する場合で、当該着目ブロックが前記所定の条件を満たす場合に、当該着目ブロックの分割を行い、
前記所定の条件は、
着目ブロック内に存在する点の数が予め設定された閾値以上であることを特徴とする。
In order to solve this problem, for example, the coding apparatus of the present invention has the following configuration. That is,
A coding device that encodes the coordinate information of a point cloud in the N-dimensional coordinate space.
Setting means for setting the depth of the reference hierarchy,
A tree structure generation means that generates a tree structure block that divides an N-dimensional space,
A tree structure coding means for encoding the tree structure data,
An in-block coding means that encodes the position of a point in the block of interest of the tree structure in units of space in the block of interest.
It has a tree structure coding means and an output means for outputting information including coding data generated by the in-block coding means as coded data of coordinate information of the point cloud.
The tree structure generated by the tree structure generation means is (1) blocks above the reference hierarchy are always divided as long as points are included in the blocks.
(2) For blocks below the reference hierarchy, whether or not to divide is adaptively switched according to the number of points in the block .
The tree structure generating means
An initial block generation means for generating an initial block containing a point cloud to be encoded in the N-dimensional coordinate space, and an initial block generation means.
A dividing means for generating tree-structured data with the initial block as the uppermost layer by dividing the initial block into a plurality of blocks and recursively repeating the division for each of the divided blocks obtained by the division. And have
The dividing means
(1) When the focus block is located in a hierarchy higher than the preset reference hierarchy, the focus block is divided as long as at least one point exists in the focus block.
(2) When the block of interest is located in a hierarchy below the preset reference hierarchy, the point does not exist in the block of interest, or even if the point exists, the predetermined condition is not satisfied. Stop dividing the block of interest and
(3) When the focus block is located in a hierarchy below a preset reference hierarchy and the focus block satisfies the predetermined condition, the focus block is divided.
The predetermined conditions are
The feature is that the number of points existing in the block of interest is equal to or greater than a preset threshold value .

本発明によれば、N次元空間の点群を高い圧縮率で符号化することが可能になる。 According to the present invention, it is possible to encode a point cloud in N-dimensional space with a high compression rate.

第1の実施形態の符号データを出力する符号化装置のブロック図。The block diagram of the coding apparatus which outputs the code data of 1st Embodiment. 第1の実施形態の符号データを出力する符号化装置のフローチャート。The flowchart of the coding apparatus which outputs the code data of 1st Embodiment. 第1の実施形態の処理過程を説明する図。The figure explaining the processing process of 1st Embodiment. 第1の実施形態で出力する符号データの構成を示す図。The figure which shows the structure of the code data which is output in 1st Embodiment. 第1の実施形態で生成する木構造の例を説明する図。The figure explaining the example of the tree structure generated in 1st Embodiment. 第1の実施形態の符号データを復号する復号装置のブロック構成図。The block block diagram of the decoding apparatus which decodes the code data of 1st Embodiment. 第1の実施形態の符号データを復号する復号装置のフローチャート。The flowchart of the decoding apparatus which decodes the code data of 1st Embodiment. 第2の実施形態で出力する符号データの構成を示す図。The figure which shows the structure of the code data output in 2nd Embodiment. 第2の実施形態の符号データを出力する符号化装置のフローチャート。The flowchart of the coding apparatus which outputs the code data of 2nd Embodiment. 第2の実施形態の符号データを復号する復号装置のブロック構成図。The block block diagram of the decoding apparatus which decodes the code data of 2nd Embodiment. 第2の実施形態の符号データを復号する復号装置のフローチャート。The flowchart of the decoding apparatus which decodes the code data of 2nd Embodiment. 第3の実施形態の符号データを出力する符号化装置のフローチャート。The flowchart of the coding apparatus which outputs the code data of 3rd Embodiment. 第3の実施形態の過分割木構造を説明する図。The figure explaining the superdivided tree structure of 3rd Embodiment. コンピュータのブロック構成図。Computer block block diagram.

以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下で説明する各実施形態は、本発明を具体的に実施した例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の1つである。 Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It should be noted that each embodiment described below shows an example in which the present invention is specifically implemented, and is one of the specific embodiments of the configuration described in the claims.

[第1の実施形態]
第1の実施形態では以下の条件1、条件2を満たす木構造データを生成し、その木構造データを利用した3D点群の符号化装置を説明する。
条件1:基準階層より上のブロックは、そのブロック内に3D点が含まれる限り必ず分割されている。
条件2:基準階層以下のブロックについては分割するか否かが適応的に切り替わっている。
[First Embodiment]
In the first embodiment, a tree structure data satisfying the following conditions 1 and 2 is generated, and a 3D point cloud coding device using the tree structure data will be described.
Condition 1: Blocks above the reference hierarchy are always divided as long as the blocks include 3D points.
Condition 2: Whether or not to divide the blocks below the reference hierarchy is adaptively switched.

上記条件を満たす木構造データを生成する為に、本実施形態では、初期ブロックとして、符号化対象の全ての3D点群を含む初期ブロックを生成する。次に、着目ブロックに点が含まれる限り、基準階層まで必ずブロック分割を行う。そして、基準階層より下の階層では、ブロック分割を行うか否かを適応的に切り替える。上記処理により、条件1、条件2を満たす、木構造(3D空間の場合は八分木構造)を生成する。 In order to generate the tree structure data satisfying the above conditions, in the present embodiment, an initial block including all 3D point clouds to be encoded is generated as the initial block. Next, as long as the block of interest contains points, block division is always performed up to the reference hierarchy. Then, in the hierarchy below the reference hierarchy, whether or not to perform block division is adaptively switched. By the above processing, a tree structure (octree structure in the case of 3D space) that satisfies the conditions 1 and 2 is generated.

図1は実施形態における符号化装置のブロック構成図である。以下、同図に従って、本実施形態における装置を構成する各部の処理内容を説明する。符号化装置には3D点群データを入力する。ここで言う、3D点群データは、各点がx、y、zの3座標を持った点の羅列である。各座標は浮動小数点や固定小数点の実数で表現される。また、各点はx、y、z座標値以外にも、色情報(RGB)や法線ベクトルの情報を付加情報として持っても良い。本実施形態では、説明を単純化するため、各点はx、y、zの座標値であって、それらは固定小数点で表現されるものとし、尚且つ、座標以外の付加情報は持たないものとして説明する。 FIG. 1 is a block configuration diagram of a coding device according to an embodiment. Hereinafter, the processing contents of each part constituting the apparatus in the present embodiment will be described with reference to the figure. 3D point cloud data is input to the encoding device. The 3D point cloud data referred to here is a list of points in which each point has three coordinates of x, y, and z. Each coordinate is represented by a floating point or fixed point real number. Further, each point may have color information (RGB) and normal vector information as additional information in addition to the x, y, and z coordinate values. In the present embodiment, for the sake of simplification of the description, each point is a coordinate value of x, y, z, and they are represented by a fixed point number, and have no additional information other than the coordinates. It is explained as.

設定部101は、パラメータとして基準階層を設定する。基準階層は、ユーザが設定しても良いし、一旦設定した場合には特に変更しない限り次回のデフォルト値として利用するために不揮発性メモリ(HDD等)に保持するようにしても良い。初期ブロック生成部102は、入力された3D点群の全ての点を内包する立方体を初期ブロック(最上位層のブロック)として生成する。なお、実施形態では、立方体を初期ブロックとする例を説明するが、初期ブロックは直方体であっても構わない。 The setting unit 101 sets the reference hierarchy as a parameter. The reference layer may be set by the user, or once set, it may be held in a non-volatile memory (HDD or the like) for use as the next default value unless otherwise changed. The initial block generation unit 102 generates a cube containing all the points of the input 3D point cloud as an initial block (block of the uppermost layer). In the embodiment, an example in which a cube is used as an initial block will be described, but the initial block may be a rectangular parallelepiped.

切替部103は、処理対象の着目ブロックについて分割する/しないを判定する。本実施形態では、切替部103が、着目ブロック内に少なくとも1つの3D点が含まれ、かつ、着目ブロックが基準階層より上のブロックである場合には、着目ブロックを必ず分割する。そして、切替部103は、着目ブロック内に少なくとも1つの3D点が含まれ、かつ、着目ブロックが基準階層以下の層に位置する場合には、分割する/しないを適応的に決定していく。なお、切替部103は、着目ブロック内に3D点が含まれない場合には、着目ブロックがどの層に位置しても、その分割は行わない。切替部103で着目ブロックについてブロック分割を行うと判定した場合は、分割部104は着目ブロックを8分割する。切替部103でブロック分割を行わないと判定した場合は、ブロック内座標符号化部105により、着目ブロック内にある全ての点に対して、ブロック内の代表座標からの差分座標を計算し、符号化する。 The switching unit 103 determines whether or not to divide the block of interest to be processed. In the present embodiment, when the switching unit 103 includes at least one 3D point in the block of interest and the block of interest is a block above the reference hierarchy, the block of interest is always divided. Then, when the switching unit 103 includes at least one 3D point in the block of interest and the block of interest is located in a layer below the reference layer, the switching unit 103 adaptively determines whether to divide or not. If the 3D point is not included in the block of interest, the switching unit 103 does not divide the block of interest in any layer. When the switching unit 103 determines that the block of interest is to be divided into blocks, the division unit 104 divides the block of interest into eight. When the switching unit 103 determines that the block division is not performed, the in-block coordinate coding unit 105 calculates the difference coordinates from the representative coordinates in the block for all the points in the block of interest, and the code is used. To become.

木構造符号化部106は、各ブロックの属性を示す木構造のデータを符号化する。各ブロックの属性は、以下の3つのいずれかである。
(1)着目ブロックは3D点を1つも含まず、分割は行われない(点無し)。
(2)着目ブロックは3D点を少なくとも1つ含み、分割は行われない(点有り分割無し)
(3)着目ブロックは3D点を少なくとも1つ含み、分割は行われる(点有り分割有り)。
なお、着目ブロックの属性が「点有り分割無し」の場合、ブロック内座標符号化部105によるブロック内符号化が行われることになる。
The tree structure coding unit 106 encodes the tree structure data indicating the attributes of each block. The attribute of each block is one of the following three.
(1) The block of interest does not include any 3D points and is not divided (no points).
(2) The block of interest contains at least one 3D point and is not divided (with points and without division).
(3) The block of interest contains at least one 3D point, and division is performed (with point division).
When the attribute of the block of interest is "with points and without division", the in-block coordinate coding unit 105 performs in-block coding.

符号データ出力部107では、基準階層の深さ、木構造、ブロック内差分座標を符号化したデータを出力する。ここで、初期ブロック生成部102、切替部103、分割部104は木構造生成部108としてまとめることができる。木構造生成部108の役割は、設定部101で設定した基準階層に基づき、基準階層より上のブロック内に3D点が1つで含まれる場合、そのブロックを分割し、基準階層以下のブロックについては分割する/しないを適応的に切り替えることである。従って木構造生成部108の詳細なブロック構成は、上述の処理ブロック102、103、104以外の構成を取っても構わない。以上で図1の符号化装置の各部の説明を終える。 The code data output unit 107 outputs data in which the depth of the reference layer, the tree structure, and the difference coordinates in the block are encoded. Here, the initial block generation unit 102, the switching unit 103, and the division unit 104 can be combined as a tree structure generation unit 108. The role of the tree structure generation unit 108 is based on the reference hierarchy set by the setting unit 101, and when one 3D point is included in the block above the reference hierarchy, the block is divided and the blocks below the reference hierarchy are divided. Is to adaptively switch between splitting and not splitting. Therefore, the detailed block configuration of the tree structure generation unit 108 may have a configuration other than the above-mentioned processing blocks 102, 103, 104. This concludes the description of each part of the coding device of FIG.

次に、図2のフローチャートに従って、図1の装置が有する各部の処理の詳細を説明する。なお、以降の「S」はフローチャートにおけるステップを意味する。まず、符号化装置は、図3(a)に示すような、x、y、z座標を持った、符号化対象の点群データを入力する。なお、入力源の種類は問わない。S201にて、設定部101は基準階層を設定する。基準階層の設定はパラメータとしてのユーザによる入力に応じて行うものとする。なお、基準階層の設定はそれ以外のどのような方法でも良く、事前にプログラムに固定のパラメータが入っていても良いし、入力された点群の総数を元に基準階層を決めても良い。次いで、S202にて、初期ブロック生成部102は、初期ブロックの生成を行う。初期ブロックは図3(b)の例に図示するように、入力された3D点群を全て内包する立方体のブロックを生成する。符号化効率の観点から、ここで生成する立方体は、全3D点を内包する最小体積となることが望ましい。 Next, the details of the processing of each part of the apparatus of FIG. 1 will be described with reference to the flowchart of FIG. The subsequent "S" means a step in the flowchart. First, the encoding device inputs point cloud data to be encoded, which has x, y, and z coordinates as shown in FIG. 3A. The type of input source does not matter. In S201, the setting unit 101 sets the reference layer. The reference hierarchy shall be set according to the input by the user as a parameter. The reference layer may be set by any other method, and a fixed parameter may be included in the program in advance, or the reference layer may be determined based on the total number of input point clouds. Next, in S202, the initial block generation unit 102 generates an initial block. As illustrated in the example of FIG. 3B, the initial block generates a cubic block containing all the input 3D point clouds. From the viewpoint of coding efficiency, it is desirable that the cube generated here has the minimum volume including all 3D points.

S203にて、切替部103は、着目ブロックが基準階層より上の層に位置するか判定し、基準階層より上の階層に位置する場合には、ブロック分割処理を行うものとして決定する。ブロック分割を行うとして決定されると、分割部104は着目ブロックの分割処理を行う。なお、着目ブロックが3D点を1つも含まない場合には、分割部104はその分割処理をスキップする。つまり、分割部104は、着目ブロックが少なくとも1つの3D点を含む場合に分割処理を行う。図3(c)に、図3(b)のブロックを八分割した例を示す。ここで示すように、ブロック分割は着目ブロックのx、y、z軸の各辺の長さを2分割するように分ける。S203、S204を繰り返すことで、3D点を内包するブロックは、基準階層まで分割される。この後、処理はS205へ進む。なお、以降の説明の分割は、基準階層以下の階層についてのものであることに注意されたい。 In S203, the switching unit 103 determines whether the block of interest is located in a layer above the reference layer, and if it is located in a layer above the reference layer, determines that the block division process is performed. If it is determined to perform block division, the division unit 104 performs division processing of the block of interest. If the block of interest does not include any 3D points, the division unit 104 skips the division process. That is, the division unit 104 performs the division process when the block of interest includes at least one 3D point. FIG. 3 (c) shows an example in which the block of FIG. 3 (b) is divided into eight. As shown here, the block division divides the length of each side of the x, y, and z axes of the block of interest into two. By repeating S203 and S204, the block containing the 3D point is divided up to the reference layer. After this, the process proceeds to S205. It should be noted that the division of the following description is for the hierarchy below the reference hierarchy.

S205にて、切替部103は、着目ブロックを分割するか否かを判定する。切替部103は、点群を高圧縮にするという観点に従ってブロック分割をするか否かを判定することが望ましい。既に述べたように、ブロック内の点の数が多い場合は、分割をした方が符号量が小さくなり、点の数が少ない場合は分割をしない方が符号量が小さくなるという特徴がある。そこで、本実施形態では、予め所定の閾値nを設定しておき、着目ブロックに含まれる3D点の数がn以上である場合に分割するものとして決定し、n未満の場合には分割しないと判定することとした。 In S205, the switching unit 103 determines whether or not to divide the block of interest. It is desirable that the switching unit 103 determines whether or not to divide the blocks from the viewpoint of making the point cloud highly compressed. As already described, when the number of points in the block is large, the code amount is smaller when the block is divided, and when the number of points is small, the code amount is smaller when the block is not divided. Therefore, in the present embodiment, a predetermined threshold value n is set in advance, and it is determined that the division is performed when the number of 3D points included in the block of interest is n or more, and the division is not performed when the number is less than n. It was decided to judge.

なお、分割する/しないの判定基準は上記に限らない。例えば、着目ブロックを分割した場合としない場合の符号量を推定し、より符号量が小さくなる方を選ぶなどでも構わない。この場合は、3D点の数で決める場合より高圧縮になることが期待できるが、一方で符号量推定のための演算量が増えることになり、符号化が完了するまでに要する時間が増えてしまうことになる。よって、場合によっては、符号量を優先するか、速度を優先するかをユーザに選択させて、そのいずれかの判定基準に従って分割する/しないを決定しても良い。ここでは、先に説明したように、3D点の数と閾値との比較で分割判定を行うものとして説明を続ける。 The criteria for determining whether to divide or not are not limited to the above. For example, the code amount when the block of interest is divided and when it is not divided may be estimated, and the one with the smaller code amount may be selected. In this case, it can be expected that the compression will be higher than when determining by the number of 3D points, but on the other hand, the amount of calculation for estimating the code amount will increase, and the time required to complete the coding will increase. It will end up. Therefore, depending on the case, the user may be allowed to select whether to prioritize the code amount or the speed, and decide whether to divide or not according to either of the determination criteria. Here, as described above, the description will be continued assuming that the division determination is performed by comparing the number of 3D points with the threshold value.

切替部103が、S205にて、着目ブロックを分割すると判定した場合は処理をS206に進め、着目ブロックを分割部104に渡し、着目ブロックを8分割させる。ここで行う分割処理はS204と同様である。つまり、着目ブロックが少なくとも1つの3D点を含むことを条件に、着目ブロックの分割処理を行う。 When the switching unit 103 determines in S205 that the block of interest is to be divided, the process proceeds to S206, the block of interest is passed to the division unit 104, and the block of interest is divided into eight. The division process performed here is the same as in S204. That is, the division process of the block of interest is performed on the condition that the block of interest includes at least one 3D point.

また、S205にて、切替部103が、着目ブロックを分割しないと判定した場合には、処理をS207に進め、ブロック内座標符号化部105に着目ブロックのブロック内座標符号化を実行させる。ここで、ブロック内座標符号化を説明する。図3(d)は、ブロック内座標符号化を行う対象となった着目ブロックと、その中に含まれる3D点を示している。実施形態では、着目ブロックの代表座標から各3D点の座標の差分を符号化する。換言すれば、着目ブロック内の3D点は、着目ブロックの代表座標を基準とした相対座標として符号化される。本実施形態では、着目ブロックの代表座標は、着目ブロックのx、y、zの座標が最小となる角の座標とする。よって、着目ブロック内の3D点の1つである図示の点P1については、図示の矢印で示されるベクトルがエントロピー符号化されることになる。他の3D点も同様に符号化する。なお、着目ブロック内の全3D点の1つを代表座標からのベクトルとして符号化し、残りの3D点は既に符号化した3D点の座標との差分ベクトルとして符号化しても構わない。S205からS207の処理を、S208が全ブロックの分割を終えたと判定するまで繰り返す。そして、全ブロックのブロック内座標符号化を終えると、処理はS209に進み、木構造符号化部106がこれまでの分割処理によって生成された八分木データを符号化する。そして、S210にて、符号化データ出力部107は、八分木データの符号化データ、並びに、ブロック内座標符号化データとを予め設定されたデータ構造に配列し、出力する。 Further, in S205, when the switching unit 103 determines that the block of interest is not divided, the process proceeds to S207, and the coordinate coding unit 105 in the block executes the coordinate coding in the block of the block of interest. Here, the coordinate coding in the block will be described. FIG. 3D shows the block of interest that is the target of the coordinate coding in the block and the 3D points contained therein. In the embodiment, the difference between the coordinates of each 3D point is encoded from the representative coordinates of the block of interest. In other words, the 3D points in the block of interest are encoded as relative coordinates with respect to the representative coordinates of the block of interest. In the present embodiment, the representative coordinates of the block of interest are the coordinates of the angle at which the coordinates of x, y, and z of the block of interest are the smallest. Therefore, with respect to the illustrated point P1 which is one of the 3D points in the block of interest, the vector indicated by the illustrated arrow is entropy-encoded. Other 3D points are encoded in the same way. Note that one of all 3D points in the block of interest may be encoded as a vector from the representative coordinates, and the remaining 3D points may be encoded as a difference vector from the coordinates of the already encoded 3D points. The processing of S205 to S207 is repeated until S208 determines that the division of all blocks has been completed. Then, when the in-block coordinate coding of all the blocks is completed, the process proceeds to S209, and the tree structure coding unit 106 encodes the octave tree data generated by the division process so far. Then, in S210, the coded data output unit 107 arranges and outputs the coded data of the octave data and the coordinate coded data in the block in a preset data structure.

このS210にて出力される符号化データのデータ構造(ファイル構造)の例を示すのが図4である。以下で詳しく説明する。まず先頭のヘッダには、次の情報が含まれる。
(1)初期ブロック(最上位ブロック)の立方体を規定するための情報
(2)八分木データの要素数
(3)基準階層の深さ
ここで、上記(1)の情報は、典型的には、立方体を規定するx、y、z軸の各成分の最小の値と、それぞれの最大の値でよい。そして、ヘッダに後続して、基準階層以上の八分木データ、基準階層より下の八分木データ、そしてブロック内点群データが続く。
FIG. 4 shows an example of the data structure (file structure) of the coded data output in S210. This will be described in detail below. First, the first header contains the following information.
(1) Information for defining the cube of the initial block (top block) (2) Number of elements of ocree data (3) Depth of reference hierarchy Here, the information in (1) above is typically May be the minimum value of each component of the x, y, and z axes that defines the cube, and the maximum value of each. Then, following the header, the octree data above the reference hierarchy, the ocree data below the reference hierarchy, and the point cloud data in the block follow.

ここで、八分木データについて図5(a)を用いて補足する。図5(a)は図2の処理フローにて得た、各ブロックの属性を八分木構造で表したものである。図の凡例にある通り、白丸が「点無し」ブロック、黒丸が「点有り分割有り」ブロック、Dと書かれた丸が「点有り分割無し」ブロックである。最上位ブロック(ノード)は、初期ブロックに対応する。そして、最上位ブロックの直下にある8個のブロックは、最上位ブロックを8分割して得られる分割ブロックに相当する。8分割したブロックの並び順は、符号化装置と復号装置との間で共通になっていればよい。 Here, the ocree tree data is supplemented with reference to FIG. 5 (a). FIG. 5A shows the attributes of each block obtained in the processing flow of FIG. 2 in an octree structure. As shown in the legend of the figure, the white circle is the "no dot" block, the black circle is the "dotted and divided" block, and the circle marked D is the "dotted and undivided" block. The highest block (node) corresponds to the initial block. The eight blocks directly below the uppermost block correspond to the divided blocks obtained by dividing the uppermost block into eight blocks. The order of the blocks divided into eight may be the same between the encoding device and the decoding device.

図5(a)から、基準階層に達するまでは、点有りのブロックは全て分割されていることが分かる。八分木データは、この各ノードの属性を或る順番に従って羅列したものである。プログレッシブ符号化の観点からは、幅優先順に属性を羅列するのが望ましい。また、各属性には識別可能なコードを割り当てて数値データとして羅列すれば良い。本実施形態では八分木データを可逆のエントロピー符号化して出力する。 From FIG. 5A, it can be seen that all the blocks with dots are divided until the reference hierarchy is reached. The ocree tree data is a list of the attributes of each node in a certain order. From the viewpoint of progressive coding, it is desirable to list the attributes in breadth-first order. In addition, an identifiable code may be assigned to each attribute and listed as numerical data. In the present embodiment, the ocree tree data is output with reversible entropy encoding.

八分木データの符号化の一例を図5(b)に基づき説明する。同図は、図5(a)の「点無し」ブロックに二進の符号語“0(1ビット)”、「点有り分割有り」ブロックに二進の符号語“10(2ビット)”、「点有り分割無し」ブロックに二進の符号語“11(2ビット)”を割り当てた状態を示している。この符号語を、図示の破線で示す幅優先順に並べたデータが、八分木データの符号化データとなる。なお、図示の符号語に、更にバイナリのランレングス符号化や算術符号化を行っても構わない。 An example of encoding the octave data will be described with reference to FIG. 5 (b). In the figure, the "no point" block in FIG. 5 (a) has a binary codeword "0 (1 bit)", and the "with point division" block has a binary codeword "10 (2 bits)". It shows a state in which the binary codeword "11 (2 bits)" is assigned to the "pointed and undivided" block. The data in which the codewords are arranged in the breadth-first order indicated by the broken line in the figure is the coded data of the octree data. In addition, binary run-length coding or arithmetic coding may be further performed on the illustrated code words.

最後に、前記八分木データで点有り分割無しになっているブロックに対する、ブロック内の点群データの符号化データが付加される。1つのブロック内の点群データとは、ブロック内にある点の数、及び、S207で符号化したブロック内座標である。ここで、S205で述べた、分割をするか否かを定める閾値nについて補足する。本実施形態では高圧縮を達成するためにn=2N/Nで定めるものとする。これは、N次元の空間を分割した場合に増えるデータ量が2N個の子ブロック毎に1ビット(もしくは2ビット)であり、また、分割によって減るデータ量は1点当たりブロック内座標がNビット減るためである。本実施形態ではN=3であるため、n=3、つまり、ブロック内に3点以上ある場合は分割するものとする。なお、適切なnの値は各データを圧縮するエントロピー符号化の性能等にも依存するため、上記以外の値をnに用いても良い。以上で、S210で出力する符号データの説明、及び図2のフローチャートの説明を終える。 Finally, the coded data of the point cloud data in the block is added to the block having points and no division in the octave data. The point cloud data in one block is the number of points in the block and the coordinates in the block encoded by S207. Here, the threshold value n that determines whether or not to divide is supplemented as described in S205. In this embodiment, n = 2 N / N is defined in order to achieve high compression. This is because the amount of data that increases when an N-dimensional space is divided is 1 bit (or 2 bits) for every 2 N child blocks, and the amount of data that is reduced by division is N in the block coordinates per point. This is to reduce the number of bits. Since N = 3 in this embodiment, n = 3, that is, when there are three or more points in the block, it is divided. Since an appropriate value of n depends on the performance of entropy coding for compressing each data, a value other than the above may be used for n. This completes the description of the code data output in S210 and the description of the flowchart of FIG.

次に、図1の符号化装置に対応する復号装置の構成を図6のブロック図を用いて説明する。ここでは図4に示した符号データをプログレッシブ復号可能な復号装置について説明する。ヘッダ解析部601では、符号化データファイルのヘッダを解析し、基準階層の深さを含む、ヘッダ情報を読み込む。木構造復号部602は、基準階層以上の八分木データ及び、基準階層より下の8分木データの符号化データを読み込む。そして、8分木データをもとに木構造を持つ立方体のブロックを再構築する。ブロック内点群データ復号部603は、各ブロック内の点数とブロック内に存在する点の座標を復号し、再構築されたブロックの代表座標に加算することで点群データを復号する。また、点群変換部604はプログレッシブ復号する際に用いるブロックであり、木構造復号部602で再構築した各ブロックの代表座標を持つ点群に変換する。ここで得られる点群はブロック内点群データ復号部603で復号される点群より解像度が低く、点群の大まかな分布を把握するのに使う事が出来る。処理部601乃至604から構成される復号装置605は、低解像度の点群データ、もしくは、点群データが出力され、表示部606で表示される。以上で図6の各部の説明を終える。 Next, the configuration of the decoding device corresponding to the coding device of FIG. 1 will be described with reference to the block diagram of FIG. Here, a decoding device capable of progressively decoding the code data shown in FIG. 4 will be described. The header analysis unit 601 analyzes the header of the coded data file and reads the header information including the depth of the reference layer. The tree structure decoding unit 602 reads the octree data above the reference layer and the encoded data of the ocree data below the reference layer. Then, a cube block having a tree structure is reconstructed based on the octane tree data. The point cloud data decoding unit 603 in the block decodes the points in each block and the coordinates of the points existing in the block, and adds them to the representative coordinates of the reconstructed block to decode the point cloud data. Further, the point cloud conversion unit 604 is a block used for progressive decoding, and converts it into a point cloud having representative coordinates of each block reconstructed by the tree structure decoding unit 602. The point cloud obtained here has a lower resolution than the point cloud decoded by the point cloud data decoding unit 603 in the block, and can be used to grasp the rough distribution of the point cloud. The decoding device 605 composed of the processing units 601 to 604 outputs low-resolution point cloud data or point cloud data, and displays the point cloud data on the display unit 606. This concludes the description of each part of FIG.

次に図7を参照して、図6に示した復号装置におけるプログレッシブ復号の処理を説明する。S701にてヘッダ解析部601は、符号化データ内のヘッダを解析する。S702では、木構造復号部602は、基準階層以上の八分木データの符号化データを読み込んで復号することで、基準階層以上のブロックを再構築する。S703にて、点群変換部604は、S702にて得た基準階層かつ、点有りという条件を満たすブロックの代表座標からなる点群を生成する。代表座標は、符号化装置にてブロック内座標を求めるときと同じく、ブロックの中でxyzの各成分が全て最小となる角の座標とする。なお、ブロックの中心座標等の別の点を用いても良い。S704にて、点群変換部604は、S703にて生成した低解像度の点群データを表示部606に送り、表示する。 Next, with reference to FIG. 7, the progressive decoding process in the decoding apparatus shown in FIG. 6 will be described. In S701, the header analysis unit 601 analyzes the header in the encoded data. In S702, the tree structure decoding unit 602 reconstructs the block above the reference layer by reading and decoding the encoded data of the octave data above the reference layer. In S703, the point cloud conversion unit 604 generates a point cloud consisting of the representative coordinates of the block that satisfies the condition of the reference hierarchy and the presence of points obtained in S702. The representative coordinates are the coordinates of the angle at which each component of xyz is minimized in the block, as in the case of obtaining the coordinates in the block by the coding device. In addition, another point such as the center coordinates of the block may be used. In S704, the point cloud conversion unit 604 sends the low-resolution point cloud data generated in S703 to the display unit 606 and displays it.

S705にて、木構造復号部602は、基準階層より下の八分木データの符号化データを復号し、基準階層より下のブロックを構築する。そして、S706にて、ブロック内点群データ復号部603は、ブロック内の点数と各点のブロック内座標を復号する。そして、ブロック内点群データ復号部603は、S705で復号したブロックの代表座標に、復号して得た各点のブロック内座標を加算することで、点群データを復号する。そして、ブロック内点群データ復号部603は、S707にて、その点群を表示部606に表示させる。上記フローによりプログレッシブ復号が実現できる。 In S705, the tree structure decoding unit 602 decodes the encoded data of the ocree tree data below the reference layer, and constructs a block below the reference layer. Then, in S706, the point cloud data decoding unit 603 in the block decodes the points in the block and the coordinates in the block of each point. Then, the point cloud group data decoding unit 603 decodes the point cloud data by adding the in-block coordinates of each point obtained by decoding to the representative coordinates of the block decoded in S705. Then, the point cloud data decoding unit 603 in the block causes the point cloud to be displayed on the display unit 606 in S707. Progressive decoding can be realized by the above flow.

上記プログレッシブ復号の特徴は、符号化の際に基準階層までブロック分割した符号データを出力することで、プログレッシブ復号で表示する低解像度の点群データの疎密が領域によらず一定になり、見た目が自然な表示が出来る点である。なお、本実施形態では3D点群を八分木構造を利用して符号化する例を説明したが、図1及び図6で示した符号化装置及び復号装置と同様の構成で、N次元の点群の2N分木の符号化/復号にも適用できる。例えば、2D点群は四分木構造を利用して符号化することも、同様のブロック構成の装置で可能である。 The feature of the above progressive decoding is that by outputting the code data divided into blocks up to the reference layer at the time of coding, the density of the low resolution point group data displayed by the progressive decoding becomes constant regardless of the area, and the appearance is The point is that it can be displayed naturally. In the present embodiment, an example of coding the 3D point cloud using the octree structure has been described, but it has the same configuration as the coding device and decoding device shown in FIGS. 1 and 6, and is N-dimensional. It can also be applied to the coding / decoding of 2 N branch trees of point clouds. For example, the 2D point cloud can be encoded using a quadtree structure with a device having a similar block configuration.

以上で、本実施形態の説明を終える。本実施形態で説明した符号化装置により、プログレッシブ復号時の点の疎密を一定にすることで見た目が自然な表示が可能で、かつ、適応階層で八分木を分割することで高圧縮を達成することができる。以上説明したように本第1の実施形態によれば、プログレッシブ復号時の点の疎密を一定にすることで自然な見た目を保ちながら、3D点群の座標情報を高い圧縮率で符号化することが可能となる。そして、より一般には、N次元座標空間の点群を内包するブロックを2N個のブロックに分割する木構造による符号化において、プログレッシブ復号時の点の疎密を一定にすることで自然な見た目を保ちながら、高い圧縮率で圧縮を行うことが可能になる。 This is the end of the description of this embodiment. With the coding device described in this embodiment, it is possible to display a natural appearance by keeping the density of points at the time of progressive decoding constant, and high compression is achieved by dividing the ocree in the adaptive hierarchy. can do. As described above, according to the first embodiment, the coordinate information of the 3D point cloud is encoded with a high compression rate while maintaining a natural appearance by making the sparse and dense points at the time of progressive decoding constant. Is possible. And, more generally, in the coding by the tree structure that divides the block containing the point cloud of the N-dimensional coordinate space into 2 N blocks, the sparseness of the points at the time of progressive decoding is made constant to give a natural appearance. It is possible to perform compression at a high compression rate while maintaining it.

[第1の実施形態の変形例]
図1に示した各部はハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)として実装しても良い。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の符号化装置の機能を実現することになる。即ち、このコンピュータは、上述の符号化装置に適用することができる。第1の実施形態に係る符号化装置に適用可能なコンピュータのハードウェア構成例について、図14のブロック図を用いて説明する。
[Modified example of the first embodiment]
Each part shown in FIG. 1 may be configured by hardware, but may be implemented as software (computer program). In this case, this software will be installed in the memory of a general computer such as a PC (personal computer). Then, when the CPU of this computer executes the installed software, this computer realizes the functions of the above-mentioned encoding device. That is, this computer can be applied to the above-mentioned coding device. An example of a computer hardware configuration applicable to the coding apparatus according to the first embodiment will be described with reference to the block diagram of FIG.

CPU1501は、RAM1502やROM1503に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、画像処理装置が行うものとして説明した上述の各処理を実行する。RAM1502は、コンピュータ読み取り可能な記憶媒体の一例である。RAM1502は、外部記憶装置1507や記憶媒体ドライブ1505、更にはネットワークインタフェース1510からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを、有する。更に、RAM1502は、CPU1501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1502は、各種のエリアを適宜提供することができる。ROM1503は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。 The CPU 1501 controls the entire computer by using the computer programs and data stored in the RAM 1502 and the ROM 1503, and also executes each of the above-described processes described as those performed by the image processing apparatus. The RAM 1502 is an example of a computer-readable storage medium. The RAM 1502 has an area for temporarily storing computer programs and data loaded from an external storage device 1507, a storage medium drive 1505, and a network interface 1510. Further, the RAM 1502 has a work area used by the CPU 1501 to execute various processes. That is, the RAM 1502 can appropriately provide various areas. The ROM 1503 is an example of a computer-readable storage medium, and stores computer setting data, a boot program, and the like.

キーボード1504、マウス1505は、コンピュータの操作者が操作することで、各種の指示をCPU1501に対して入力することができる。表示装置1506は、CRTや液晶画面などにより構成されており、CPU1501による処理結果を画像や文字などでもって表示することができる。 The keyboard 1504 and the mouse 1505 can be operated by a computer operator to input various instructions to the CPU 1501. The display device 1506 is composed of a CRT, a liquid crystal screen, or the like, and can display the processing result by the CPU 1501 with an image, characters, or the like.

外部記憶装置1507は、コンピュータ読み取り/書き込みを行う記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1507には、OS(オペレーティングシステム)や、図1に示した各処理をCPU1501に実現させるためのコンピュータプログラムやデータ等が保存されている。外部記憶装置1507に保存されているコンピュータプログラムやデータは、CPU1501による制御に従って適宜RAM1502にロードされ、CPU1501による処理対象となる。 The external storage device 1507 is an example of a storage medium for reading / writing by a computer, and is a large-capacity information storage device typified by a hard disk drive device. The external storage device 1507 stores an OS (operating system), computer programs, data, and the like for realizing each process shown in FIG. 1 in the CPU 1501. The computer programs and data stored in the external storage device 1507 are appropriately loaded into the RAM 1502 according to the control by the CPU 1501, and are processed by the CPU 1501.

記憶媒体ドライブ1508は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置1507やRAM1502に出力する。なお、外部記憶装置1507に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ1508に読み取らせても良い。I/F1509は、木構造の基準階層等のパラメータ等を入力するインタフェースであり、一例として示すのであればUSB(Universal Serial Bus)である。1510は、上述の各部を繋ぐバスである。 The storage medium drive 1508 reads computer programs and data recorded on a storage medium such as a CD-ROM or DVD-ROM, and outputs the read computer programs and data to an external storage device 1507 or RAM 1502. It should be noted that a part or all of the information described as being stored in the external storage device 1507 may be recorded in this storage medium and read by the storage medium drive 1508. The I / F 1509 is an interface for inputting parameters such as a reference hierarchy of a tree structure, and is a USB (Universal Serial Bus) as an example. Reference numeral 1510 is a bus connecting the above-mentioned parts.

上述構成において、本コンピュータの電源がONになると、CPU1501はROM1503に格納されているブートプログラムに従って、外部記憶装置1507からOSをRAM1502にロードする。この結果、キーボード1504、マウス1505を介した情報入力操作が可能となり、表示装置1506にGUIを表示することが可能となる。ユーザが、キーボード1504やマウス1505を操作し、外部記憶装置1507に格納された、例えばグレー画像量子化用のアプリケーションプログラムの起動指示を入力すると、CPU1501はこのプログラムをRAM1502にロードし、実行する。これにより、本コンピュータが符号化装置、あるいは復号装置として機能することになる。 In the above configuration, when the power of the computer is turned on, the CPU 1501 loads the OS from the external storage device 1507 into the RAM 1502 according to the boot program stored in the ROM 1503. As a result, the information input operation via the keyboard 1504 and the mouse 1505 becomes possible, and the GUI can be displayed on the display device 1506. When the user operates the keyboard 1504 or the mouse 1505 and inputs a start instruction of an application program for example gray image quantization stored in the external storage device 1507, the CPU 1501 loads the program into the RAM 1502 and executes it. As a result, the computer functions as a coding device or a decoding device.

なお、CPU1501が実行する符号化プログラムは、基本的に図1に示す各部に相当する関数を備えることになる。ここで、画像処理結果は外部記憶装置1507に保存することになる。また、復号プログラムは図6に示す各部に相当する関数を備えることになる。また、このコンピュータは、以下に説明ずる実施形態に係る符号化装置及び復号装置にも同様に適用可能であることは明らかである。 The coding program executed by the CPU 1501 basically includes functions corresponding to each part shown in FIG. Here, the image processing result is stored in the external storage device 1507. Further, the decoding program will include functions corresponding to each part shown in FIG. It is also clear that this computer is similarly applicable to the coding and decoding devices according to the embodiments described below.

[第2の実施形態]
本第2の実施形態では、第1の実施形態における、符号データ出力部で出力する符号データの構成を変更し、部分復号可能な符号データを出力する符号化装置を説明する。また、その符号データを部分復号する復号装置についても述べる。
[Second Embodiment]
In the second embodiment, a coding device for changing the configuration of the code data output by the code data output unit and outputting the partially decodable code data in the first embodiment will be described. A decoding device that partially decodes the code data will also be described.

本第2の実施形態における符号化装置は図1に記載の符号化装置と同様の構成を取る。ただし、符号データ出力部107が出力するデータの構成が第1の実施形態と異なる。図8を用いて本第2の実施形態で出力する符号データの構成を説明する。図8は第1の実施形態と同じく、図5に示した木構造に分割した3D点群の符号データのデータ構造(ファイル構造)である。このうち、ヘッダおよび基準階層以上の八分木データは第1の実施形態と同様である。そして、基準階層以上の八分木データに後続するデータ構造が本第2の実施形態の特徴であり、図8に示す様に基準階層にあるブロックを、それぞれ部分ブロックとし、部分ブロック毎に部分復号可能なデータ構成をとる。そのために、各ブロック内のデータを復号するために必要なデータをそれぞれ一か所にまとめ、それらの符号データ内でのアドレスを記述する。これにより、復号時に各部分ブロックの復号に必要なデータのみを読み出して部分復号できるようになる。各部分ブロックを復号するために必要なデータとは、部分ブロック以下の領域の八分木データと、その領域内にある点有り分割無しのブロック対する、ブロック内の点群データ(点の数及びブロック内座標)である。この詳細は既に第1の実施形態にて説明した。 The coding device according to the second embodiment has the same configuration as the coding device shown in FIG. However, the configuration of the data output by the code data output unit 107 is different from that of the first embodiment. The configuration of the code data output in the second embodiment will be described with reference to FIG. FIG. 8 is a data structure (file structure) of the code data of the 3D point cloud divided into the tree structure shown in FIG. 5, as in the first embodiment. Of these, the header and the ocree data above the reference layer are the same as in the first embodiment. The data structure following the octave data above the reference hierarchy is a feature of the second embodiment. As shown in FIG. 8, each block in the reference hierarchy is designated as a partial block, and each partial block is partially divided. It has a decodable data structure. Therefore, the data necessary for decoding the data in each block is put together in one place, and the addresses in those code data are described. As a result, at the time of decoding, only the data necessary for decoding each partial block can be read and partially decoded. The data required to decode each partial block is the octree data in the area below the partial block and the point cloud data (number of points and the number of points) in the block for the blocks with and without division in that area. (Coordinates in the block). This detail has already been described in the first embodiment.

図8に示した符号データを出力するために、本実施形態における符号データ出力部107が行う処理手順を図9に示すフローチャートに従って説明する。S901にて、符号データ出力部107はヘッダを生成し、出力する。そして、S902にて、符号データ出力部107は、基準階層以上の階層の八分木データを出力する。これらの処理はS210で説明したのと同様である。次にS903〜S906の処理は部分ブロック毎に行う。まず、S903にて、符号データ出力部107は、部分ブロックの先頭アドレスを計算する。図8から分かる様に、最初に符号化する部分ブロックの先頭アドレスは、ヘッダ、基準階層以上の八分木データ、各部分ブロックの符号データ先頭アドレスの羅列の後ろに続くため、それらのデータ量を加算すれば求めることが出来る。ヘッダ、基準階層以上の八分木データのデータ量はS901、S902で出力済みのため容易に計算できる。各部分ブロックの符号データ先頭アドレスは例えば32bitの自然数で出力すれば良い為、それに部分ブロックの数を掛ければよい。S904にて、符号データ出力部107は、部分ブロックデータの所在位置である先頭アドレスを出力する。次のS905、S906にて、符号データ出力部107は、処理対象の部分ブロックを復号する為に必要なデータを出力する。このデータは既に図8の説明で述べた。2つ目の以降の部分ブロックも同様に図8のデータ構成になる様に符号データを出力すれば良い。以上で、図9の説明を終える。ここまでで図8に示す部分復号可能な符号データを出力する符号化装置についての説明を終えた。 The processing procedure performed by the code data output unit 107 in the present embodiment in order to output the code data shown in FIG. 8 will be described with reference to the flowchart shown in FIG. In S901, the code data output unit 107 generates a header and outputs it. Then, in S902, the code data output unit 107 outputs the octree data of the hierarchy above the reference hierarchy. These processes are the same as those described in S210. Next, the processes of S903 to S906 are performed for each partial block. First, in S903, the code data output unit 107 calculates the start address of the partial block. As can be seen from FIG. 8, since the start address of the partial block to be encoded first follows the list of the header, the ocree data above the reference hierarchy, and the code data start address of each partial block, the amount of those data. Can be calculated by adding. Since the data amount of the header and the ocree data above the reference layer has already been output in S901 and S902, it can be easily calculated. Since the code data start address of each subblock may be output as a natural number of 32 bits, for example, it may be multiplied by the number of subblocks. In S904, the code data output unit 107 outputs the start address which is the location position of the partial block data. In the next S905 and S906, the code data output unit 107 outputs the data necessary for decoding the partial block to be processed. This data has already been described in the description of FIG. Similarly, the second and subsequent partial blocks may output code data so as to have the data structure shown in FIG. This is the end of the description of FIG. Up to this point, the description of the coding device that outputs the partially decodable code data shown in FIG. 8 has been completed.

図10は、第2の実施形態における復号装置1005のブロック構成図である。この復号装置1005は、符号データを部分復号することが可能な点は第1の実施形態と異なる。図10におけるヘッダ解析部1001、木構造復号部1002、ブロック内点群データ復号部1003、点群変換部1004の基本的な処理は、図6のヘッダ解析部601、木構造復号部602、ブロック内点群データ復号部603、点群変換部604とほぼ同じである。ただし、本第2の実施形態では、部分復号を可能にするために、復号ブロック設定部1007と先頭アドレス読み込み部1008が加わった点、並びに、それに伴い木構造復号部1002とブロック内点群データ復号部1003が部分復号に適した処理をする点が異なる。 FIG. 10 is a block configuration diagram of the decoding device 1005 according to the second embodiment. The decoding device 1005 is different from the first embodiment in that the code data can be partially decoded. The basic processing of the header analysis unit 1001, the tree structure decoding unit 1002, the point cloud data decoding unit 1003 in the block, and the point cloud conversion unit 1004 in FIG. 10 is the header analysis unit 601, the tree structure decoding unit 602, and the block in FIG. It is almost the same as the internal point cloud data decoding unit 603 and the point cloud conversion unit 604. However, in the second embodiment, the decoding block setting unit 1007 and the start address reading unit 1008 are added in order to enable partial decoding, and the tree structure decoding unit 1002 and the point cloud group data in the block are added accordingly. The difference is that the decoding unit 1003 performs processing suitable for partial decoding.

以下、第2の実施形態の符号化装置の処理手順を、図11のフローチャートに従って説明する。S1101乃至S1104までは図7のフローチャートの同名の処理と同じである。S1104までが終わった段階で、図8の符号データのうち、ヘッダと基準階層以上の8分木データが読み込まれ、表示部1006に低解像度点群が表示される。次にS1105にて、復号ブロック設定部1007が、基準階層にあるどの部分ブロックを復号するかを設定する。復号対象のブロックは、ユーザが不図示の操作部を操作することで指定するものとする。つまり、表示部1006から点群を観察するユーザが見たい注視領域を座標として受け取り(以下、注視座標)、注視座標を含む部分ブロックを設定する。注視座標は、例えば表示部が2次元のディスプレイの場合は、ディスプレイの中心に最も近い位置に表示されている低解像度点群データとすれば良い。この他にも注視座標の設定はディスプレイに表示された低解像度点群を見ながらユーザがマウスでクリック指定するといった方法が考えられる。次にS1106では復号する部分ブロックの符号データの先頭アドレスを受け取り、S1107でその部分ブロックの八分木データを復号し、S1108でその部分ブロックのブロック内点群データの復号をする。そして、S1109では部分ブロックの高解像度の点群データを復号し、S1104で得た低解像度点群と合わせた点群データを表示部に送る。以上で図10及び図11の説明を終える。 Hereinafter, the processing procedure of the coding apparatus of the second embodiment will be described with reference to the flowchart of FIG. S1101 to S1104 are the same as the processes of the same name in the flowchart of FIG. 7. At the stage up to S1104, among the code data of FIG. 8, the header and the octal tree data above the reference layer are read, and the low resolution point cloud is displayed on the display unit 1006. Next, in S1105, the decoding block setting unit 1007 sets which partial block in the reference layer is to be decoded. The block to be decoded is specified by the user operating an operation unit (not shown). That is, the gaze area desired to be seen by the user observing the point cloud from the display unit 1006 is received as coordinates (hereinafter, gaze coordinates), and a partial block including the gaze coordinates is set. For example, when the display unit is a two-dimensional display, the gaze coordinates may be low-resolution point cloud data displayed at a position closest to the center of the display. In addition to this, the gaze coordinate can be set by the user clicking with the mouse while looking at the low resolution point cloud displayed on the display. Next, S1106 receives the start address of the code data of the partial block to be decoded, S1107 decodes the octave data of the partial block, and S1108 decodes the point cloud data of the partial block. Then, in S1109, the high-resolution point cloud data of the partial block is decoded, and the point cloud data combined with the low-resolution point cloud obtained in S1104 is sent to the display unit. This concludes the description of FIGS. 10 and 11.

なお、本第2の実施形態では、図8に示す通り、1つの部分ブロックの復号に必要なデータは、符号データ内の1つの連続した領域にまとめて出力した。しかし、部分ブロックの復号に必要なデータを複数箇所に分けて出力しても良い。ただし、その場合はその部分ブロックの復号に必要なデータの位置を特定可能なアドレスを複数出力する必要がある。 In the second embodiment, as shown in FIG. 8, the data required for decoding one partial block is collectively output in one continuous area in the code data. However, the data required for decoding the partial block may be output in a plurality of locations. However, in that case, it is necessary to output a plurality of addresses that can specify the position of the data required for decoding the partial block.

以上で、本第2の実施形態における符号化装置及び復号装置の説明を終える。本第2の実施形態で説明した符号化装置により、第1の実施形態同様、プログレッシブ復号時の点群の粗密が一定な表示が可能で、かつ、適応階層で八分木を分割することで高圧縮を達成する符号データが出力できる。また第1の実施形態にはなかった特徴として、部分ブロックの復号に必要なデータのアドレスを符号データに含めることで、基準階層にある部分ブロック単位で部分復号が可能な符号データの出力及び復号が可能である。 This is the end of the description of the coding device and the decoding device in the second embodiment. By the coding apparatus described in the second embodiment, as in the first embodiment, it is possible to display a constant density of the point cloud at the time of progressive decoding, and by dividing the octree in the adaptive hierarchy. Code data that achieves high compression can be output. Further, as a feature not found in the first embodiment, by including the address of the data required for decoding the partial block in the code data, the output and decoding of the code data capable of partial decoding in units of the partial blocks in the reference hierarchy Is possible.

[第3の実施形態]
本第3の実施形態では木構造の生成に係る処理が第1の実施形態と異なる例を説明する。本第3の実施形態の装置構成は、図1と同じである。異なる点は、木構造生成部108の処理内容である。
[Third Embodiment]
In the third embodiment, an example in which the process related to the generation of the tree structure is different from that of the first embodiment will be described. The device configuration of the third embodiment is the same as that of FIG. The difference is the processing content of the tree structure generation unit 108.

木構造生成部108の役割が、第1の実施形態で述べた条件1、条件2を満たす木構造データを生成する点は第1の実施形態と同様である
第1の実施形態における木構造生成部108は、再帰的分割によって上記条件1、条件2を満たす木構造を生成する。これに対し、本第3の実施形態の木構造生成部108は、再帰的統合によって上記条件1、条件2を満たす木構造を生成する。具体的には以下のステップA、Bに従って木構造データを生成する。
A:設定部101で設定した基準階層よりも下位に位置する、予め設定された下限層まで木構造データを生成する。
B:同じブロックを上位層に持つ8個のブロックが、基準階層よりも下位層に位置し、かつ、これら8個のブロックに内包される点の総数が予め設定された閾値に満たない場合、これら8個のブロックを上位層の1個のブロックとして統合する。
The role of the tree structure generation unit 108 is the same as that of the first embodiment in that the tree structure data satisfying the conditions 1 and 2 described in the first embodiment is generated. The tree structure generation in the first embodiment. Part 108 generates a tree structure satisfying the above conditions 1 and 2 by recursive division. On the other hand, the tree structure generation unit 108 of the third embodiment generates a tree structure satisfying the above conditions 1 and 2 by recursive integration. Specifically, the tree structure data is generated according to the following steps A and B.
A: Tree structure data is generated up to a preset lower limit layer located below the reference layer set by the setting unit 101.
B: When eight blocks having the same block in the upper layer are located in the lower layer than the reference layer, and the total number of points included in these eight blocks is less than a preset threshold value. These eight blocks are integrated as one block in the upper layer.

本第3の実施形態における木構造生成部108が行う処理手順を図12のフローチャートに従って詳細に説明する。S1201、S1206、S1208、S1209で行う処理は、図2の同名の処理と同様である。S1202にて、木構造生成部108は木構造の初期状態として、過分割木構造を生成する。過分割木構造とは、図13に示すように、内部に点を含む全てのブロックが最低位階層(下限層)まで分割されている木構造である。最低位階層は基準階層より深い階層であればどの階層でも良い。最低位階層と基準階層の深さに差が大きいほど、最終的に生成する木構造の自由度が上がるため圧縮率は向上すると考えられるが、その分処理時間は多くかかる。ここでは基準階層より1階層低い位置を最低位階層として設定するものとする。最低位階層の設定方法としては他にも、入力された3D点群の全点群数に基づき、最低位階層の各ブロックに点が平均して1つ入る様に定める方法などが考えられる。この方法は最低位階層を事前に定めておくのに比べて圧縮対象の3D点群に適した最低位階層を設定できるため、少ない処理時間の割には高圧縮となる可能性が高い。 The processing procedure performed by the tree structure generation unit 108 in the third embodiment will be described in detail with reference to the flowchart of FIG. The processing performed in S1201, S1206, S1208, and S1209 is the same as the processing having the same name in FIG. In S1202, the tree structure generation unit 108 generates an overdivided tree structure as an initial state of the tree structure. As shown in FIG. 13, the over-divided tree structure is a tree structure in which all blocks including points inside are divided up to the lowest layer (lower limit layer). The lowest level may be any level deeper than the reference level. The greater the difference between the depths of the lowest layer and the reference layer, the greater the degree of freedom of the finally generated tree structure, and the higher the compression rate, but the processing time will increase accordingly. Here, it is assumed that the position one layer lower than the reference layer is set as the lowest layer. As another method for setting the lowest layer, a method of setting an average of one point in each block of the lowest layer based on the total number of input 3D point clouds can be considered. In this method, since the lowest layer suitable for the 3D point cloud to be compressed can be set as compared with the case where the lowest layer is determined in advance, there is a high possibility that high compression will be achieved for a small processing time.

S1203乃至S1205は、同一の親ブロックを持つ8つのブロックに対する適応的ブロック統合処理である。S1203ではまず処理対象の基準階層まで統合したかを判定し、基準階層に達した場合はS1206に進む。達していない場合はS1204で対象ブロックを統合するかを判定する。判定の基準はブロックを親ブロックに統合した場合に、ブロック内の点数が閾値以下であれば統合するという基準で判定する。第1の実施形態では、注目ブロックに含まれる3D点の数が閾値以上の場合に分割したが、本第3の実施形態では、この逆である。なお、この統合の基準はそれ以外の基準を用いてもよい。例えば統合する場合としない場合の符号量を比較し、より符号量が小さくなる方を選ぶ方法などが考えられる。 S1203 to S1205 are adaptive block integration processes for eight blocks having the same parent block. In S1203, it is first determined whether or not the reference layer to be processed has been integrated, and when the reference layer is reached, the process proceeds to S1206. If it has not been reached, S1204 determines whether to integrate the target blocks. The criterion for judgment is that when the blocks are integrated into the parent block, if the score in the block is equal to or less than the threshold value, the blocks are integrated. In the first embodiment, the number of 3D points included in the block of interest is divided when the number is equal to or greater than the threshold value, but in the third embodiment, the opposite is true. Other criteria may be used as the criteria for this integration. For example, a method of comparing the code amounts in the case of integration and the case of not integrating and selecting the smaller code amount can be considered.

S1205では8つの子ブロックを1つの親ブロックに統合する。S1204で統合しないと判定した場合はS1206に進む。S1206では図2の同名の処理と同じく、統合しないことが決まったブロックに対して各点のブロック内座標を符号化する。S1207で全ブロックの統合を終えたかを判定し、全て終えた場合はS1208へ進む。以降は図2の処理フローと同様である。上記の処理を終えると、第1の実施形態と同様、基準階層より上のブロックは必ず分割され、基準階層以下のブロックについては分割するか否かが適応的に切り替わっている木構造を生成することができる。以上で本第3の実施形態の符号化装置の説明を終える。 In S1205, eight child blocks are integrated into one parent block. If it is determined in S1204 that the integration is not performed, the process proceeds to S1206. In S1206, the coordinates in the block of each point are encoded for the blocks decided not to be integrated, as in the process of the same name in FIG. It is determined in S1207 whether the integration of all blocks is completed, and if all are completed, the process proceeds to S1208. The rest is the same as the processing flow of FIG. When the above processing is completed, as in the first embodiment, the blocks above the reference hierarchy are always divided, and the blocks below the reference hierarchy are adaptively switched whether to divide or not to generate a tree structure. be able to. This concludes the description of the coding device of the third embodiment.

上記符号化装置で出力される符号データは、第1の実施形態と同様、図6に示す復号装置で復号できる。第1の実施形態では大きな初期ブロックを分割して木構造データを生成したのに対し、本第3の実施形態では、予め設定した小さな過分割ブロックの木構造データを生成し、統合処理を行うことで木構造データを生成した。ただし、分割と統合の両方を組み合わせて行うことも容易に可能である。以上で本第3の実施形態の説明を終える。本第3の実施形態で説明した符号化装置により、第1の実施形態同様、プログレッシブ復号時の点群の粗密が一定な表示が可能で、かつ、木構造の階層が適応的に切り替わることで高圧縮な符号データが得られる。 The code data output by the coding device can be decoded by the decoding device shown in FIG. 6, as in the first embodiment. In the first embodiment, a large initial block is divided to generate tree structure data, whereas in the third embodiment, a preset small overdivided block tree structure data is generated and integrated processing is performed. By doing so, the tree structure data was generated. However, it is easily possible to combine both division and integration. This concludes the description of the third embodiment. By the coding apparatus described in the third embodiment, as in the first embodiment, it is possible to display the density of the point cloud at the time of progressive decoding at a constant level, and the hierarchy of the tree structure is adaptively switched. Highly compressed code data can be obtained.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other Examples)
The present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiment is supplied to the system or device via a network or various storage media, and the computer (or CPU, MPU, etc.) of the system or device reads the program. This is the process to be executed.

101…設定部、102…初期ブロック生成部、103…切替部、104…分割部、105…ブロック内座標符号化部、106…木構造符号化部、107…符号データ出力部、108…木構造生成部 101 ... Setting unit, 102 ... Initial block generation unit, 103 ... Switching unit, 104 ... Division unit, 105 ... In-block coordinate coding unit, 106 ... Tree structure coding unit, 107 ... Code data output unit, 108 ... Tree structure Generator

Claims (10)

N次元座標空間における点群の座標情報を符号化する符号化装置であって、
基準階層の深さを設定する設定手段と、
N次元空間を分割する木構造のブロックを生成する木構造生成手段と、
前記木構造のデータを符号化する木構造符号化手段と、
前記木構造の着目ブロック内の点の位置を、当該着目ブロック内の空間を単位に符号化するブロック内符号化手段と、
前記木構造符号化手段、及び、前記ブロック内符号化手段で生成された符号化データを含む情報を、前記点群の座標情報の符号化データとして出力する出力手段とを有し、
前記木構造生成手段で生成される木構造が
(1)基準階層より上のブロックは、そのブロック内に点が含まれる限り必ず分割されている、
(2)基準階層以下のブロックについては分割するか否かが当該ブロック内の点の数に応じて適応的に切り替わっており、
前記木構造生成手段は、
N次元座標空間における符号化対象の点群を内包する初期ブロックを生成する初期ブロック生成手段と、
前記初期ブロックを複数のブロックに分割し、分割して得られた分割ブロックそれぞれに対して再帰的に分割を繰り返すことで、前記初期ブロックを最上位層とする木構造のデータを生成する分割手段とを有し、
前記分割手段は、
(1)着目ブロックが、予め設定された基準階層より上の階層に位置する場合には、前記着目ブロック内に少なくとも1つの点が存在する限り当該着目ブロックの分割を行い、
(2)着目ブロックが予め設定された基準階層以下の階層に位置する場合には、当該着目ブロック内に点が存在しない、あるいは、点が存在しても所定の条件を満たさない場合に、当該着目ブロックの分割を停止し、
(3)着目ブロックが予め設定された基準階層以下の階層に位置する場合で、当該着目ブロックが前記所定の条件を満たす場合に、当該着目ブロックの分割を行い、
前記所定の条件は、
着目ブロック内に存在する点の数が予め設定された閾値以上である
ことを特徴とする符号化装置。
A coding device that encodes the coordinate information of a point cloud in the N-dimensional coordinate space.
Setting means for setting the depth of the reference hierarchy,
A tree structure generation means that generates a tree structure block that divides an N-dimensional space,
A tree structure coding means for encoding the tree structure data,
An in-block coding means that encodes the position of a point in the block of interest of the tree structure in units of space in the block of interest.
It has a tree structure coding means and an output means for outputting information including coding data generated by the in-block coding means as coded data of coordinate information of the point cloud.
The tree structure generated by the tree structure generation means is (1) blocks above the reference hierarchy are always divided as long as points are included in the blocks.
(2) For blocks below the reference hierarchy, whether or not to divide is adaptively switched according to the number of points in the block .
The tree structure generating means
An initial block generation means for generating an initial block containing a point cloud to be encoded in the N-dimensional coordinate space, and an initial block generation means.
A dividing means for generating tree-structured data with the initial block as the uppermost layer by dividing the initial block into a plurality of blocks and recursively repeating the division for each of the divided blocks obtained by the division. And have
The dividing means
(1) When the focus block is located in a hierarchy higher than the preset reference hierarchy, the focus block is divided as long as at least one point exists in the focus block.
(2) When the block of interest is located in a hierarchy below the preset reference hierarchy, the point does not exist in the block of interest, or even if the point exists, the predetermined condition is not satisfied. Stop dividing the block of interest and
(3) When the focus block is located in a hierarchy below a preset reference hierarchy and the focus block satisfies the predetermined condition, the focus block is divided.
The predetermined conditions are
A coding device characterized in that the number of points existing in the block of interest is equal to or greater than a preset threshold value .
前記木構造生成手段は、
着目ブロックの属性として、
(1)点を含まない、
(2)点を含み、分割されない、
(3)点を含み、分割される、
のいずれか1つの属性を割り当てる
ことを特徴とする請求項に記載の符号化装置。
The tree structure generating means
As an attribute of the block of interest
(1) Does not include points,
(2) Including points, not divided,
(3) Includes points and is divided
The coding apparatus according to claim 1 , wherein any one of the attributes is assigned.
前記分割手段は、1つのブロックを、N次元の各軸に沿って2分割することで、2N個のブロックに分割することを特徴とする請求項またはに記載の符号化装置。 The coding apparatus according to claim 1 or 2 , wherein the dividing means divides one block into 2 N blocks by dividing one block into two along each axis of the N dimension. 木構造生成手段は、
前記基準階層よりも下位層であって、予め設定された階層までの木構造を生成する過分割木構造生成手段と、
同じブロックを上位層に持つ複数のブロックが、前記基準階層よりも下位層に位置し、かつ、所定の条件を満たさない場合に、前記複数のブロックを上位層のブロックとして統合する統合手段とを有する
ことを特徴とする請求項1に記載の符号化装置。
The tree structure generation means
An overdivided tree structure generation means that is lower than the reference layer and generates a tree structure up to a preset layer.
An integration means for integrating the plurality of blocks as upper layer blocks when a plurality of blocks having the same block in the upper layer are located in a lower layer than the reference layer and do not satisfy a predetermined condition. The coding apparatus according to claim 1, wherein the coding apparatus has.
前記所定の条件は、
前記複数のブロックに内包される点の総数が予め設定された閾値以上である
ことを特徴とする請求項に記載の符号化装置。
The predetermined conditions are
The coding apparatus according to claim 4 , wherein the total number of points included in the plurality of blocks is equal to or larger than a preset threshold value.
前記ブロック内符号化手段は、
着目ブロック内に存在する点の数と、各点の座標を当該着目ブロックの予め設定された角からの各点に向かうベクトルを示すデータを符号化データとして生成する
ことを特徴とする請求項1乃至のいずれか1項に記載の符号化装置。
The in-block coding means
Claim 1 is characterized in that data indicating the number of points existing in the block of interest and the coordinates of each point toward each point from a preset angle of the block of interest is generated as encoded data. The encoding device according to any one of 5 to 5 .
前記出力手段は、基準階層のブロック毎に、当該ブロックの点群に必要な符号化データの所在位置を示す情報を更に出力する
ことを特徴とする請求項1乃至のいずれか1項に記載の符号化装置。
The output means according to any one of claims 1 to 6 , wherein the output means further outputs information indicating the location position of the coded data required for the point cloud of the block for each block of the reference layer. Encoding device.
コンピュータが読み込み実行することで、前記コンピュータに、請求項1乃至のいずれか1項に記載の装置が有する各手段として機能させるためのプログラム。 A program for causing the computer to function as each means included in the device according to any one of claims 1 to 7 , when the computer reads and executes the program. 請求項に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。 A computer-readable storage medium comprising storing the program according to claim 8 . N次元座標空間における点群の座標情報を符号化する符号化装置の制御方法であって、
設定手段が、基準階層の深さを設定する設定工程と、
木構造生成手段が、N次元空間を分割する木構造のブロックを生成する木構造生成工程と、
木構造符号化手段が、前記木構造のデータを符号化する木構造符号化工程と、
ブロック内符号化手段が、前記木構造の着目ブロック内の点の位置を、当該着目ブロック内の空間を単位に符号化するブロック内符号化工程と、
出力手段が、前記木構造符号化工程、及び、前記ブロック内符号化工程で生成された符号化データを含む情報を、前記点群の座標情報の符号化データとして出力する出力工程とを有し、
前記木構造生成工程で生成される木構造が
(1)基準階層より上のブロックは、そのブロック内に点が含まれる限り必ず分割されている、
(2)基準階層以下のブロックについては分割するか否かが当該ブロック内の点の数に応じて適応的に切り替わっており、
前記木構造生成工程は、
N次元座標空間における符号化対象の点群を内包する初期ブロックを生成する初期ブロック生成工程と、
前記初期ブロックを複数のブロックに分割し、分割して得られた分割ブロックそれぞれに対して再帰的に分割を繰り返すことで、前記初期ブロックを最上位層とする木構造のデータを生成する分割工程とを有し、
前記分割工程は、
(1)着目ブロックが、予め設定された基準階層より上の階層に位置する場合には、前記着目ブロック内に少なくとも1つの点が存在する限り当該着目ブロックの分割を行い、
(2)着目ブロックが予め設定された基準階層以下の階層に位置する場合には、当該着目ブロック内に点が存在しない、あるいは、点が存在しても所定の条件を満たさない場合に、当該着目ブロックの分割を停止し、
(3)着目ブロックが予め設定された基準階層以下の階層に位置する場合で、当該着目ブロックが前記所定の条件を満たす場合に、当該着目ブロックの分割を行い、
前記所定の条件は、
着目ブロック内に存在する点の数が予め設定された閾値以上である
ことを特徴とする符号化装置の制御方法。
It is a control method of a coding device that encodes coordinate information of a point cloud in an N-dimensional coordinate space.
The setting means is the setting process that sets the depth of the reference hierarchy, and
A tree structure generation step in which the tree structure generation means generates a tree structure block that divides an N-dimensional space,
A tree structure coding step in which the tree structure coding means encodes the tree structure data,
An in-block coding step in which the in-block coding means encodes the position of a point in the block of interest of the tree structure in units of space in the block of interest.
The output means includes the tree structure coding step and an output step of outputting information including the coded data generated in the block coding step as coded data of the coordinate information of the point cloud. ,
The blocks whose tree structure is generated in the tree structure generation step (1) above the reference hierarchy are always divided as long as points are included in the blocks.
(2) For blocks below the reference hierarchy, whether or not to divide is adaptively switched according to the number of points in the block .
The tree structure generation step is
An initial block generation step of generating an initial block containing a point cloud to be encoded in the N-dimensional coordinate space, and an initial block generation process.
A division step of dividing the initial block into a plurality of blocks and recursively repeating the division for each of the divided blocks obtained by dividing the initial block to generate data of a tree structure having the initial block as the uppermost layer. And have
The division step is
(1) When the focus block is located in a hierarchy higher than the preset reference hierarchy, the focus block is divided as long as at least one point exists in the focus block.
(2) When the block of interest is located in a hierarchy below the preset reference hierarchy, the point does not exist in the block of interest, or even if the point exists, the predetermined condition is not satisfied. Stop dividing the block of interest and
(3) When the focus block is located in a hierarchy below a preset reference hierarchy and the focus block satisfies the predetermined condition, the focus block is divided.
The predetermined conditions are
A control method for a coding device, characterized in that the number of points existing in the block of interest is equal to or greater than a preset threshold value .
JP2016005380A 2016-01-14 2016-01-14 Encoding device and its control method Active JP6826368B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016005380A JP6826368B2 (en) 2016-01-14 2016-01-14 Encoding device and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016005380A JP6826368B2 (en) 2016-01-14 2016-01-14 Encoding device and its control method

Publications (2)

Publication Number Publication Date
JP2017126890A JP2017126890A (en) 2017-07-20
JP6826368B2 true JP6826368B2 (en) 2021-02-03

Family

ID=59364429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016005380A Active JP6826368B2 (en) 2016-01-14 2016-01-14 Encoding device and its control method

Country Status (1)

Country Link
JP (1) JP6826368B2 (en)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
JP6715420B2 (en) 2017-07-31 2020-07-01 株式会社エイシング Data amount compression method, device, program and IC chip
MX2020003704A (en) 2017-10-24 2020-07-22 Panasonic Ip Corp America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device.
CA3082460A1 (en) * 2017-11-22 2019-05-31 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP4213096A1 (en) 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
WO2019142163A1 (en) 2018-01-19 2019-07-25 Interdigital Vc Holdings, Inc. Processing a point cloud
JP7285789B2 (en) * 2018-01-19 2023-06-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN111727460A (en) 2018-01-26 2020-09-29 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2019156141A1 (en) * 2018-02-08 2019-08-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3553745B1 (en) * 2018-04-09 2021-09-01 BlackBerry Limited Methods and devices for binary entropy coding of point clouds
WO2019198636A1 (en) * 2018-04-10 2019-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data coding method, three-dimensional data decoding method, three-dimensional data coding device, and three-dimensional data decoding device
BR112020020109A2 (en) * 2018-04-19 2021-01-26 Panasonic Intellectual Property Corporation Of America three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device and three-dimensional data decoding device
CN112119429A (en) * 2018-05-11 2020-12-22 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP7197575B2 (en) * 2018-06-08 2022-12-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP7389028B2 (en) * 2018-06-12 2023-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN112262412A (en) * 2018-06-13 2021-01-22 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020050343A1 (en) * 2018-09-05 2020-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data coding method, three-dimensional data decoding method, three-dimensional data coding device, and three-dimensional data decoding device
WO2020075780A1 (en) * 2018-10-09 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020075862A1 (en) * 2018-10-12 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN113228107A (en) * 2018-12-28 2021-08-06 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020138463A1 (en) * 2018-12-28 2020-07-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2022051967A (en) * 2019-01-08 2022-04-04 ソニーグループ株式会社 Information processing device and information processing method
WO2020175709A1 (en) * 2019-02-28 2020-09-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020184443A1 (en) * 2019-03-08 2020-09-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020196680A1 (en) 2019-03-25 2020-10-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN113646807A (en) 2019-03-25 2021-11-12 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN113574568A (en) * 2019-03-26 2021-10-29 松下电器(美国)知识产权公司 Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3985613A4 (en) * 2019-06-14 2022-08-10 Panasonic Intellectual Property Corporation of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US11991348B2 (en) * 2019-06-25 2024-05-21 Sony Group Corporation Information processing device and method
KR20210107864A (en) * 2019-06-26 2021-09-01 텐센트 아메리카 엘엘씨 Implicit quaternary or binary tree geometry partitions for point cloud coding
WO2021065535A1 (en) * 2019-10-01 2021-04-08 ソニー株式会社 Information processing device and method
JP7506085B2 (en) 2019-10-03 2024-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2021090701A1 (en) * 2019-11-05 2021-05-14 ソニー株式会社 Information processing device and method
JP2021099689A (en) * 2019-12-23 2021-07-01 ソニーグループ株式会社 Information processor, information processing method, and program
WO2021141117A1 (en) * 2020-01-09 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2021210548A1 (en) * 2020-04-14 2021-10-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2022002382A (en) * 2020-06-22 2022-01-06 Kddi株式会社 Point group decoding device, point group decoding method and program
WO2022019301A1 (en) * 2020-07-22 2022-01-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2022025280A1 (en) * 2020-07-31 2022-02-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN112565794B (en) * 2020-12-03 2022-10-04 西安电子科技大学 Point cloud isolated point encoding and decoding method and device
JPWO2022264938A1 (en) * 2021-06-14 2022-12-22
WO2024009409A1 (en) * 2022-07-05 2024-01-11 日本電信電話株式会社 Point group visualization device, point group visualization program, and point group visualization method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969764B1 (en) * 2008-02-13 2010-07-13 삼성전자주식회사 Method for coding and decoding 3d data implemented as mesh model
CN103918009A (en) * 2011-11-07 2014-07-09 汤姆逊许可公司 Predictive position encoding
TWI534760B (en) * 2011-11-28 2016-05-21 湯姆生特許公司 Terminable spatial tree-based position coding and decoding
EP2947630A1 (en) * 2014-05-23 2015-11-25 My Virtual Reality Software AS Method for compressing coordinate data
KR102238693B1 (en) * 2014-06-20 2021-04-09 삼성전자주식회사 Method and apparatus for extracting feature regions in point cloud

Also Published As

Publication number Publication date
JP2017126890A (en) 2017-07-20

Similar Documents

Publication Publication Date Title
JP6826368B2 (en) Encoding device and its control method
CN113615181B (en) Method and device for point cloud encoding and decoding
US10535162B2 (en) Attribute mapping to encode and decode 3D models
JP7490685B2 (en) Point cloud encoding method, point cloud decoding method, encoder, decoder, and computer storage medium
JP7282532B2 (en) Information processing device, information processing method, data structure, and program
Isenburg et al. Lossless compression of predicted floating-point geometry
KR100695142B1 (en) Adaptive nth power of 2 n-ary tree generating method, and method and apparatus for encoding and decoding 3D volume data using it
TWI466066B (en) Block compressing system, block decompressing system and related methods
JP2005259139A (en) Generating method of adaptive notation system of base-2n tree, and device and method for encoding/decoding three-dimensional volume data utilizing same
JP2022526232A (en) Methods for point cloud compression and their devices and computer programs
JP2011528452A (en) Low-complexity three-dimensional mesh compression apparatus and method using shared vertex information
CN114598891B (en) Point cloud data encoding method, decoding method, point cloud data processing method and device
KR100708180B1 (en) Apparatus and method for compressing color or gray scale documents
WO2021261142A1 (en) Point group decoding device, point group decoding method, and program
WO2021199781A1 (en) Point group decoding device, point group decoding method, and program
KR20090025672A (en) Apparatus and method of encoding 3 dimensional mesh model and recording medium thereof
GB2561824A (en) Encoding and decoding of geometry data in a 3D model based on evaluated regularity of the model
Fan et al. Deep geometry post-processing for decompressed point clouds
CN115088017A (en) Intra-tree geometric quantization of point clouds
Courbet et al. Random accessible hierarchical mesh compression for interactive visualization
CN115396668A (en) Point cloud data decoding method, encoding method, device, storage medium and equipment
CN114730474A (en) Point cloud processing method, encoder, decoder, and storage medium
WO2023127052A1 (en) Decoding device, encoding device, decoding program, encoding program, decoding method, and encoding method
JP6887232B2 (en) Coding device, coding method, decoding device and decoding method
Park et al. Progressive compression of geometry information with smooth intermediate meshes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210115

R151 Written notification of patent or utility model registration

Ref document number: 6826368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151