JP7829505B2 - Point cloud decoding device, point cloud decoding method, and program - Google Patents
Point cloud decoding device, point cloud decoding method, and programInfo
- Publication number
- JP7829505B2 JP7829505B2 JP2023001331A JP2023001331A JP7829505B2 JP 7829505 B2 JP7829505 B2 JP 7829505B2 JP 2023001331 A JP2023001331 A JP 2023001331A JP 2023001331 A JP2023001331 A JP 2023001331A JP 7829505 B2 JP7829505 B2 JP 7829505B2
- Authority
- JP
- Japan
- Prior art keywords
- predictor
- synthesis unit
- point cloud
- tree synthesis
- decoded
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、点群復号装置、点群復号方法及びプログラムに関する。 This invention relates to a point cloud decoding device, a point cloud decoding method, and a program.
非特許文献2では、Predictive geometry codingのAngularモード且つ適応的方位角量子化モードにおいて、親ノードや既に復号済ノードの情報を利用することで、位置情報を予測する方法が開示されている。 Non-patent document 2 discloses a method for predicting location information using information from parent nodes and already decoded nodes in the Angular mode and adaptive azimuth quantization mode of predictive geometry coding.
しかしながら、非特許文献2の方法では、親ノードを含む複数の復号済ノードの座標値を使った予測を行っていないという問題点があった。 However, the method described in Non-Patent Document 2 had the problem of not performing predictions using the coordinate values of multiple decoded nodes, including the parent node.
そこで、本発明は、上述の課題に鑑みてなされたものであり、Predictive geometry codingを使用する場合、Angularモード且つ適応的方位角量子化モードにおいて、親ノードの座標値及び親ノードの親ノードの座標値を用いた予測器を計算することで、予測性能を向上させ、符号化効率を改善することができる点群復号装置、点群復号方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above-mentioned problems, and aims to provide a point cloud decoding device, a point cloud decoding method, and a program that can improve prediction performance and coding efficiency by calculating a predictor using the coordinate values of the parent node and the coordinate values of the parent node's parent node when using predictive geometry coding in Angular mode and adaptive azimuth quantization mode.
本発明の第1の特徴は、点群復号装置であって、Angularモード且つ適応的方位角量子化モードにおいて、複数の復号済みのノードの座標値を用いて線形予測を行うツリー合成部を備えることを要旨とする。 The first feature of this invention is a point cloud decoding device that includes a tree synthesis unit that performs linear prediction using the coordinate values of multiple decoded nodes in Angular mode and adaptive azimuth quantization mode.
本発明の第2の特徴は、点群復号装置であって、ツリー合成部を備え、前記ツリー合成部は、方位角ステップ数の予測器を選択し、前記選択した予測器に基づいて方位角ステップ数の予測値を算出し、前記方位角ステップ数の残差を復号し、前記予測値に前記残差を加算することで前記方位角ステップ数を再構成することを要旨とする。 The second feature of the present invention is a point cloud decoding device comprising a tree synthesis unit, wherein the tree synthesis unit selects an azimuth step number predictor, calculates a predicted value for the azimuth step number based on the selected predictor, decodes the residual of the azimuth step number, and reconstructs the azimuth step number by adding the residual to the predicted value.
本発明の第3の特徴は、点群復号方法であって、Angularモード且つ適応的方位角量子化モードにおいて、複数の復号済みのノードの座標値を用いて線形予測を行う工程とを有することを要旨とする。 The third feature of the present invention is a point cloud decoding method comprising the step of performing linear prediction using the coordinate values of a plurality of decoded nodes in Angular mode and adaptive azimuth quantization mode.
本発明の第4の特徴は、コンピュータを、点群復号装置として機能させるプログラムであって、前記点群復号装置は、Angularモード且つ適応的方位角量子化モードにおいて、複数の復号済みのノードの座標値を用いて線形予測を行うツリー合成部を備えることを要旨とする。 The fourth feature of the present invention is a program that causes a computer to function as a point cloud decoder, wherein the point cloud decoder includes a tree synthesis unit that performs linear prediction using the coordinate values of multiple decoded nodes in Angular mode and adaptive azimuth quantization mode.
本発明によれば、Predictive geometry codingを使用する場合、Angularモード且つ適応的方位角量子化モードにおいて、親ノードの座標値及び親ノードの親ノードの座標値を用いた予測器を計算することで、予測性能を向上させ、符号化効率を改善することができる点群復号装置、点群復号方法及びプログラムを提供することができる。 According to the present invention, when using predictive geometry coding, a point cloud decoding device, point cloud decoding method, and program can be provided that improve prediction performance and coding efficiency by calculating a predictor using the coordinate values of the parent node and the parent node of the parent node in Angular mode and adaptive azimuth quantization mode.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。 The embodiments of the present invention will be described below with reference to the drawings. Note that the components in the following embodiments can be replaced with existing components as appropriate, and various variations are possible, including combinations with other existing components. Therefore, the description of the following embodiments does not limit the content of the invention as described in the claims.
(第1実施形態)
以下、図1~図16を参照して、本発明の第1実施形態に係る点群処理システム10について説明する。図1は、本実施形態に係る実施形態に係る点群処理システム10を示す図である。
(First Embodiment)
The point cloud processing system 10 according to the first embodiment of the present invention will be described below with reference to Figures 1 to 16. Figure 1 is a diagram showing the point cloud processing system 10 according to the present embodiment.
図1に示すように、点群処理システム10は、点群符号化装置100及び点群復号装置200を有する。 As shown in Figure 1, the point cloud processing system 10 includes a point cloud encoding device 100 and a point cloud decoding device 200.
点群符号化装置100は、入力点群信号を符号化することによって符号化データ(ビットストリーム)を生成するように構成されている。点群復号装置200は、ビットストリームを復号することによって出力点群信号を生成するように構成されている。 The point cloud encoding device 100 is configured to generate encoded data (bitstream) by encoding the input point cloud signal. The point cloud decoding device 200 is configured to generate an output point cloud signal by decoding the bitstream.
なお、入力点群信号及び出力点群信号は、点群内の各点の位置情報と属性情報とから構成される。属性情報は、例えば、各点の色情報や反射率である。 The input and output point cloud signals consist of positional and attribute information for each point within the point cloud. Attribute information includes, for example, the color and reflectivity of each point.
ここで、かかるビットストリームは、点群符号化装置100から点群復号装置200に対して伝送路を介して送信されてもよい。また、ビットストリームは、記憶媒体に格納された上で、点群符号化装置100から点群復号装置200に提供されてもよい。 Here, such a bitstream may be transmitted from the point cloud encoding device 100 to the point cloud decoding device 200 via a transmission line. Alternatively, the bitstream may be stored in a storage medium and then provided from the point cloud encoding device 100 to the point cloud decoding device 200.
(点群復号装置200)
以下、図2を参照して、本実施形態に係る点群復号装置200について説明する。図2は、本実施形態に係る点群復号装置200の機能ブロックの一例について示す図である。
(Point cloud decoder 200)
The point cloud decoding device 200 according to this embodiment will be described below with reference to Figure 2. Figure 2 is a diagram showing an example of the functional blocks of the point cloud decoding device 200 according to this embodiment.
図2に示すように、点群復号装置200は、幾何情報復号部2010と、ツリー合成部2020と、近似表面合成部2030と、幾何情報再構成部2040と、逆座標変換部2050と、属性情報復号部2060と、逆量子化部2070と、RAHT部2080と、LoD算出部2090と、逆リフティング部2100と、逆色変換部2110と、フレームバッファ2120とを有する。 As shown in Figure 2, the point cloud decoding device 200 includes a geometric information decoding unit 2010, a tree synthesis unit 2020, an approximate surface synthesis unit 2030, a geometric information reconstruction unit 2040, an inverse coordinate transformation unit 2050, an attribute information decoding unit 2060, an inverse quantization unit 2070, a RAHT unit 2080, an LoD calculation unit 2090, an inverse lifting unit 2100, an inverse color transformation unit 2110, and a frame buffer 2120.
幾何情報復号部2010は、点群符号化装置100から出力されるビットストリームのうち、幾何情報に関するビットストリーム(幾何情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The geometric information decoding unit 2010 is configured to receive the bitstream related to geometric information (geometric information bitstream) from the bitstream output from the point cloud encoding device 100 as input and decode the syntax.
復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The decoding process is, for example, a context-adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) to control the decoding process of the location information.
ツリー合成部2020は、幾何情報復号部2010によって復号された制御データ及び後述するツリー内のどのノードに点群が存在するかを示すoccupancy codeを入力として、復号対象空間内のどの領域に点が存在するかというツリー情報を生成するように構成されている。 The tree synthesis unit 2020 is configured to generate tree information indicating which regions within the decoding target space contain points, using the control data decoded by the geometric information decoding unit 2010 and the occupancy code (described later) indicating which nodes in the tree contain the points as input.
なお、occupancy codeの復号処理をツリー合成部2020内部で行うよう構成されていてもよい。 Furthermore, the occupancy code decoding process may be configured to be performed internally within the tree synthesis unit 2020.
本処理は、復号対象空間を直方体で区切り、occupancy codeを参照して各直方体内に点が存在するかを判断し、点が存在する直方体を複数の直方体に分割し、occupancy codeを参照するという処理を再帰的に繰り返すことで、ツリー情報を生成することができる。 This process recursively divides the data space to be decoded into rectangular prisms, determines whether a point exists within each prism by referring to the occupancy code, divides the prism containing a point into multiple prisms, and then refers to the occupancy code again. This process is repeated to generate tree information.
ここで、かかるoccupancy codeの復号に際して、後述するインター予測を用いてもよい。 Here, when decoding such an occupancy code, the interpretation method described later may be used.
本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。QtBt」を使用するか否かは、制御データとして点群符号化装置100側から伝送される。 In this embodiment, two methods can be used: one called "Octree," which recursively performs octree partitioning by always treating the aforementioned rectangular prism as a cube; and another called "QtBt," which performs quadtree partitioning and binary partitioning in addition to octree partitioning. Whether or not to use "QtBt" is transmitted as control data from the point cloud encoding device 100.
或いは、制御データによってPredictive geometry codingを使用するように指定された場合、ツリー合成部2020は、点群符号化装置100において決定した任意のツリー構成に基づいて各点の座標を復号するように構成されている。 Alternatively, if the control data specifies the use of predictive geometry coding, the tree synthesis unit 2020 is configured to decode the coordinates of each point based on an arbitrary tree configuration determined by the point cloud encoding device 100.
近似表面合成部2030は、ツリー合成部2020によって生成されたツリー情報を用いて近似表面情報を生成し、かかる近似表面情報に基づいて点群を復号するように構成されている。 The approximate surface synthesis unit 2030 is configured to generate approximate surface information using the tree information generated by the tree synthesis unit 2020, and to decode the point cloud based on this approximate surface information.
近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 Approximate surface information is used, for example, when decoding 3D point cloud data of an object. In cases where the point cloud is densely distributed on the object's surface, instead of decoding each individual point cloud, the region where the point cloud exists is approximated and represented by a small plane.
具体的には、近似表面合成部2030は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成し、点群を復号することができる。「Trisoup」の具体的な処理例については後述する。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface synthesis unit 2030 can generate approximate surface information and decode point clouds using a method called "Trisoup," for example. A specific example of the "Trisoup" process will be described later. Furthermore, this process can be omitted when decoding sparse point clouds acquired by Lidar or similar systems.
幾何情報再構成部2040は、ツリー合成部2020によって生成されたツリー情報及び近似表面合成部2030によって生成された近似表面情報を元に、復号対象の点群データの各点の幾何情報(復号処理が仮定している座標系における位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 2040 is configured to reconstruct the geometric information (position information in the coordinate system assumed by the decoding process) of each point in the point cloud data to be decoded, based on the tree information generated by the tree synthesis unit 2020 and the approximate surface information generated by the approximate surface synthesis unit 2030.
逆座標変換部2050は、幾何情報再構成部2040によって再構成された幾何情報を入力として、復号処理が仮定している座標系から、出力点群信号の座標系に変換を行い、位置情報を出力するように構成されている。 The inverse coordinate transformation unit 2050 is configured to take the geometric information reconstructed by the geometric information reconstruction unit 2040 as input, transform it from the coordinate system assumed by the decoding process to the coordinate system of the output point cloud signal, and output position information.
フレームバッファ2120は、幾何情報再構成部2040によって再構成された幾何情報を入力として、参照フレームとして保存するように構成されている。保存した参照フレームは、ツリー合成部2020において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ2130から読み出されて参照フレームとして使用される。 The frame buffer 2120 is configured to receive geometric information reconstructed by the geometric information reconstruction unit 2040 as input and store it as a reference frame. The stored reference frame is read from the frame buffer 2130 and used as a reference frame when the tree synthesis unit 2020 performs inter-frame prediction for frames that are different in time.
ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかは、例えば、点群符号化装置100からビットストリームとして伝送されてくる制御データに基づいて決定されてもよい。 Here, the choice of which timestamp reference frame to use for each frame may be determined, for example, based on the control data transmitted as a bitstream from the point cloud encoding device 100.
属性情報復号部2060は、点群符号化装置100から出力されるビットストリームのうち、属性情報に関するビットストリーム(属性情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。 The attribute information decoding unit 2060 is configured to receive the bitstream related to attribute information (attribute information bitstream) from the bitstream output from the point cloud encoding device 100 as input and decode the syntax.
復号処理は、例えば、コンテクスト適応二値算術復号処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The decoding process is, for example, a context-adaptive binary arithmetic decoding process. Here, for example, the syntax includes control data (flags and parameters) to control the decoding process of attribute information.
また、属性情報復号部2060は、復号したシンタックスから、量子化済み残差情報を復号するように構成されている。 Furthermore, the attribute information decoding unit 2060 is configured to decode the quantized residual information from the decoded syntax.
逆量子化部2070は、属性情報復号部2060によって復号された量子化済み残差情報と、属性情報復号部2060によって復号された制御データの一つである量子化パラメータとを元に、逆量子化処理を行い、逆量子化済み残差情報を生成するように構成されている。 The inverse quantization unit 2070 is configured to perform inverse quantization processing based on the quantized residual information decoded by the attribute information decoding unit 2060 and the quantization parameter, which is one of the control data decoded by the attribute information decoding unit 2060, in order to generate inverse quantized residual information.
逆量子化済み残差情報は、復号対象の点群の特徴に応じて、RAHT部2080及びLoD算出部2090のいずれかに出力される。いずれに出力されるかは、属性情報復号部2060によって復号される制御データによって指定される。 The inversely quantized residual information is output to either the RAHT unit 2080 or the LoD calculation unit 2090, depending on the characteristics of the point cloud to be decoded. Which unit it is output to is specified by the control data decoded by the attribute information decoding unit 2060.
RAHT部2080は、逆量子化部2070によって生成された逆量子化済み残差情報及び幾何情報再構成部2040によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換(復号処理においては、逆Haar変換)の一種を用いて、各点の属性情報を復号するように構成されている。RAHTの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。 The RAHT unit 2080 takes the inversely quantized residual information generated by the inverse quantization unit 2070 and the geometric information reconstruction unit 2040 as input, and is configured to decode the attribute information of each point using a type of Haar transform called RAHT (Region Adaptive Hierarchical Transform) (inverse Haar transform in the decoding process). For example, the method described in Non-Patent Document 1 can be used as a specific example of the RAHT process.
LoD算出部2090は、幾何情報再構成部2040によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 2090 is configured to receive geometric information generated by the geometric information reconstruction unit 2040 as input and generate the LoD (Level of Detail).
LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 The Line of Data (LoD) is information used to define reference relationships (referring points and referenced points) for implementing predictive coding, which involves predicting the attribute information of one point from the attribute information of another point, and then encoding or decoding the predicted residual.
言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD (Line of Data) is information that defines a hierarchical structure in which each point included in geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using the attribute information of points belonging to higher levels.
LoDの具体的な決定方法としては、例えば、上述の非特許文献1に記載の方法を用いてもよい。 As a specific method for determining the Line of Disorder (LoD), for example, the method described in Non-Patent Document 1 above may be used.
逆リフティング部2100は、LoD算出部2090によって生成されたLoD及び逆量子化部2070によって生成された逆量子化済み残差情報を用いて、LoDで規定した階層構造に基づいて各点の属性情報を復号するように構成されている。逆リフティングの具体的な処理としては、例えば、上述の非特許文献1に記載の方法を用いることができる。 The inverse lifting unit 2100 is configured to decode the attribute information of each point based on the hierarchical structure defined by the LoD, using the LoD generated by the LoD calculation unit 2090 and the inversely quantized residual information generated by the inverse quantization unit 2070. For example, the method described in Non-Patent Document 1 above can be used as a specific processing method for inverse lifting.
逆色変換部2110は、復号対象の属性情報が色情報であり且つ点群符号化装置100側で色変換が行われていた場合に、RAHT部2080又は逆リフティング部2100から出力される属性情報に逆色変換処理を行うように構成されている。かかる逆色変換処理の実行の有無については、属性情報復号部2060によって復号された制御データによって決定される。 The reverse color conversion unit 2110 is configured to perform reverse color conversion on the attribute information output from the RAHT unit 2080 or the reverse lifting unit 2100, if the attribute information to be decoded is color information and color conversion has been performed on the point cloud encoding device 100 side. Whether or not to perform such reverse color conversion is determined by the control data decoded by the attribute information decoding unit 2060.
点群復号装置200は、以上の処理により、点群内の各点の属性情報を復号して出力するように構成されている。 The point cloud decoder 200 is configured to decode and output attribute information for each point in the point cloud through the above processing.
(幾何情報復号部2010)
以下、図3~図4を用いて幾何情報復号部2010で復号される制御データについて説明する。
(Geometric information decoding unit 2010)
The control data decoded by the geometric information decoding unit 2010 will be explained below using Figures 3 and 4.
図3は、幾何情報復号部2010で受信する符号化データ(ビットストリーム)の構成の一例である。 Figure 3 shows an example of the configuration of encoded data (bitstream) received by the geometric information decoding unit 2010.
第1に、ビットストリームは、GPS2011を含んでいてもよい。GPS2011は、ジオメトリパラメータセットとも呼ばれ、幾何情報の復号に関する制御データの集合である。具体例については後述する。各GPS2011は、複数のGPS2011が存在する場合に個々を識別するためのGPS id情報を少なくとも含む。 Firstly, the bitstream may include GPS2011. GPS2011, also known as the geometry parameter set, is a set of control data related to the decoding of geometric information. Specific examples will be described later. Each GPS2011 includes at least GPS ID information to identify each individual GPS2011 when multiple GPS2011s exist.
第2に、ビットストリームは、GSH2012A/2012Bを含んでいてもよい。GSH2012A/2012Bは、ジオメトリスライスヘッダ或いはジオメトリデータユニットヘッダとも呼ばれ、後述するスライスに対応する制御データの集合である。以降では、スライスという呼称を用いて説明するが、スライスをデータユニットと読み替えることもできる。具体例については後述する。GSH2012A/2012Bは、各GSH2012A/2012Bに対応するGPS2011を指定するためのGPS id情報を少なくとも含む。 Secondly, the bitstream may include GSH2012A/2012B. GSH2012A/2012B, also known as geometry slice headers or geometry data unit headers, are sets of control data corresponding to slices, which will be described later. Hereafter, the term "slice" will be used, but "slice" can also be read as "data unit." Specific examples will be described later. Each GSH2012A/2012B includes at least GPS ID information for specifying the GPS2011 corresponding to each GSH2012A/2012B.
第3に、ビットストリームは、GSH2012A/2012Bの次に、スライスデータ2013A/2013Bを含んでいてもよい。スライスデータ2013A/2013Bには、幾何情報を符号化したデータが含まれている。 Thirdly, the bitstream may include slice data 2013A/2013B after GSH2012A/2012B. Slice data 2013A/2013B contains data with encoded geometric information.
以上のように、ビットストリームは、各スライスデータ2013A/2013Bに、1つずつGSH2012A/2012B及びGPS2011が対応する構成となる。 As described above, the bitstream is configured so that each slice data 2013A/2013B corresponds to one GSH2012A/2012B and one GPS2011.
上述のように、GSH2012A/2012Bにて、どのGPS2011を参照するかをGPS id情報で指定するため、複数のスライスデータ2013A/2013Bに対して共通のGPS2011を用いることができる。 As described above, GSH2012A/2012B allows specifying which GPS2011 to refer to using GPS ID information, thus enabling the use of a common GPS2011 for multiple slice data 2013A/2013B.
言い換えると、GPS2011は、スライスごとに必ずしも伝送する必要がない。例えば、図3のように、GSH2012B及びスライスデータ2013Bの直前では、GPS2011を符号化しないようなビットストリームの構成とすることもできる。 In other words, GPS2011 does not necessarily need to be transmitted for each slice. For example, as shown in Figure 3, the bitstream can be configured so that GPS2011 is not encoded immediately before GSH2012B and slice data 2013B.
なお、図3の構成は、あくまで一例である。各スライスデータ2013A/2013Bに、GSH2012A/2012B及びGPS2011が対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。 Note that the configuration shown in Figure 3 is merely an example. As long as the GSH2012A/2012B and GPS2011 correspond to each slice data 2013A/2013B, other elements besides those mentioned above may be added to the bitstream components.
例えば、図3に示すように、ビットストリームは、シーケンスパラメータセット(SPS)2001を含んでいてもよい。また、同様に、伝送に際して、図3と異なる構成に整形されてもよい。更に、後述する属性情報復号部2060で復号されるビットストリームと合成して単一のビットストリームとして伝送されてもよい。 For example, as shown in Figure 3, the bitstream may include a sequence parameter set (SPS) 2001. Similarly, it may be formatted to a different configuration than that shown in Figure 3 during transmission. Furthermore, it may be combined with the bitstream decoded by the attribute information decoding unit 2060 (described later) and transmitted as a single bitstream.
図4は、GPS2011のシンタックス構成の一例である。 Figure 4 shows an example of the GPS2011 syntax configuration.
なお、以下で説明するシンタックス名は、あくまで一例である。以下で説明したシンタックスの機能が同様であれば、シンタックス名は異なっていても差し支えない。 Please note that the syntax names described below are merely examples. If the functionality of the syntax described below is the same, the syntax names may differ.
GPS2011は、各GPS2011を識別するためのGPS id情報(gps_geom_parameter_set_id)を含んでもよい。 Each GPS2011 may include GPS ID information (gps_geom_parameter_set_id) to identify each GPS2011.
なお、図4のDescriptor欄は、各シンタックスが、どのように符号化されているかを意味している。ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(1)は、1ビットのフラグであることを意味する。 Note that the Descriptor column in Figure 4 indicates how each syntax is encoded. ue(v) means it is an unsigned zero-order exponential Golomb code, and u(1) means it is a 1-bit flag.
GPS2011は、ツリー合成部2020でツリータイプを制御するためのフラグ(geom_tree_type)を含んでもよい。 GPS2011 may include a flag (geom_tree_type) for controlling the tree type in the tree synthesis unit 2020.
例えば、geom_tree_typeの値が「1」の場合は、Predictive geometry codingを使用すると定義し、geom_tree_typeの値が「0」の場合は、Octreeを使用するように定義されていてもよい。 For example, it might be defined that if the value of `geom_tree_type` is "1", Predictive geometry coding should be used, and if the value of `geom_tree_type` is "0", Octree should be used.
GPS2011は、ツリー合成部2020で、Angularモードとして処理を行うかどうかを制御するためのフラグ(geom_angular_enabled)を含んでもよい。 The GPS 2011 may include a flag (geom_angular_enabled) to control whether the tree synthesis unit 2020 processes the data in Angular mode.
例えば、geom_angular_enabledの値が「1」の場合は、AngularモードとしてPredictive geometry codingの処理を行うと定義し、geom_angular_enabledの値が「0」の場合は、AngularモードとしてPredictive geometry codingの処理を行わないように定義されていてもよい。 For example, it might be defined that if the value of geom_angular_enabled is "1", predictive geometry coding is performed in Angular mode, and if the value of geom_angular_enabled is "0", predictive geometry coding is not performed in Angular mode.
GPS2011は、ツリー合成部2020で、Angularモードにおいて、半径に応じた適応的な方位角の量子化を行うかどうか(すなわち、適応的方位角量子化モードで処理を行うかどうか)を制御するためのフラグ(ptree_ang_azimuth_scaling_enabled)を含んでもよい。 The GPS 2011 may include a flag (ptree_ang_azimuth_scaling_enabled) in the tree synthesis unit 2020 to control whether adaptive azimuth quantization is performed according to the radius in Angular mode (i.e., whether processing is performed in adaptive azimuth quantization mode).
例えば、ptree_ang_azimuth_scaling_enabledの値が「1」の場合は、半径に応じた適応的な方位角の量子化を行うと定義し、ptree_ang_azimuth_scaling_enabledの値が「0」の場合は、半径に応じた適応的な方位角の量子化を行わないと定義されていてもよい。 For example, a value of "1" for `ptree_ang_azimuth_scaling_enabled` could be defined as performing adaptive azimuth angle quantization based on the radius, while a value of "0" for `ptree_ang_azimuth_scaling_enabled` could be defined as not performing adaptive azimuth angle quantization based on the radius.
また、Angularモードにおける予測器の計算(選択)において、予測器リストを使うかどうか制御するためのフラグとして用いてもよい。本実施形態では、予測器は、線形予測器を含む概念であるものとする。 Furthermore, it may be used as a flag to control whether or not to use the predictor list in the calculation (selection) of the predictor in Angular mode. In this embodiment, the predictor is assumed to be a concept that includes linear predictors.
例えば、ptree_azimuth_scaling_enabledの値が「1」の場合は、かかる予測器の計算において、予測器リストを使うと定義し、ptree_ang_azimuth_scaling_enabledの値が「0」の場合は、かかる予測器の計算において、予測器リストを使わないと定義されていてもよい。 For example, if the value of `ptree_azimuth_scaling_enabled` is "1", it may be defined that the predictor list is used in the calculation of such a predictor, and if the value of `ptree_ang_azimuth_scaling_enabled` is "0", it may be defined that the predictor list is not used in the calculation of such a predictor.
GPS2011は、ツリー合成部2020で、Angularモードにおいて、方位角の予測値の計算するために利用するためのレーザーの回転速度に関する値(ptree_ang_azimuth_step_minus1)を含んでもよい。 The GPS2011 may include a value (ptree_ang_azimuth_step_minus1) related to the laser rotation speed used in the tree synthesis unit 2020 for calculating the predicted azimuth angle in Angular mode.
GPS2011は、ツリー合成部2020で、上述の予測器の計算に予測器リストを使う場合の予測器リストを動的に更新する処理で利用する閾値(ptree_ang_pred_list_radius_resid_threshold)を含んでもよい。 GPS2011 may include a threshold (ptree_ang_pred_list_radius_resid_threshold) used in the process of dynamically updating the predictor list when the predictor list is used in the calculation of the predictor described above in the tree synthesis unit 2020.
例えば、ptree_ang_pred_list_radius_resid_thresholdの値よりも復号した半径残差の絶対値が大きい場合は、新たな予測器として、復号した位置情報を予測器リストに加えてもよいし、ptree_ang_pred_list_radius_resid_thresholdの値よりも復号した半径残差の絶対値が小さい場合は、新たな予測器として、復号した位置情報を予測器リストに加えなくてもよい。 For example, if the absolute value of the decoded radius residual is greater than the value of `ptree_ang_pred_list_radius_resid_threhold`, the decoded location information may be added to the predictor list as a new predictor. Conversely, if the absolute value of the decoded radius residual is less than the value of `ptree_ang_pred_list_radius_resid_threhold`, the decoded location information may not be added to the predictor list as a new predictor.
GPS2011は、ツリー合成部2020で、Angularモードにおいて、処理対象ノードの親ノードの座標値及び当該親ノードの親ノードの座標値に基づく予測器を用いるかどうかを制御するためのフラグ(ptree_ang_linear_predictor_enabled_flag)を含んでもよい。 The GPS 2011 may include a flag (pttree_ang_linear_predictor_enabled_flag) in the tree synthesis unit 2020 to control whether to use a predictor based on the coordinate values of the parent node of the target node and the coordinate values of the parent node's parent node in Angular mode.
例えば、ptree_ang_linear_predictor_enabled_flagの値が「1」の場合は、処理対象ノードの親ノードの座標値及び当該親ノードの親ノードの座標値に基づく予測器を用いると定義し、ptree_ang_linear_predictor_enabled_flagの値が「0」の場合は、処理対象ノードの親ノードの座標値及び当該親ノードの親ノードの座標値に基づく予測器を用いないように定義されていてもよい。 For example, if the value of `ptree_ang_linear_predictor_enabled_flag` is "1", it may be defined that a predictor based on the coordinates of the parent node of the target node and the parent node of that parent node is used. If the value of `ptree_ang_linear_predictor_enabled_flag` is "0", it may be defined that a predictor based on the coordinates of the parent node of the target node and the parent node of that parent node is not used.
GPS2011は、ツリー合成部2020で、Angularモードにおいて、方位角ステップ数予測値テーブルにて保持する方位角ステップ数のパターン数(ptree_ang_max_qphi_table_pattern)を保持してもよい。 The GPS 2011 may, in its tree synthesis unit 2020, maintain the number of patterns for the azimuth step count (ptree_ang_max_qph_table_pattern) in the azimuth step count prediction value table in Angular mode.
(ツリー合成部2020)
以下、図5~図9を用いてツリー合成部2020の動作の一例について説明する。
(Tree composition section 2020)
Below, an example of the operation of the tree synthesis unit 2020 will be explained using Figures 5 to 9.
図5は、ツリー合成部2020における処理の一例を示すフローチャートである。なお、以下では「Predictive geometry coding」を使用してツリーを合成する場合の例について説明する。 Figure 5 is a flowchart illustrating an example of processing in the tree synthesis unit 2020. The following section describes an example of tree synthesis using "Predictive geometry coding."
Predictive geometry codingは、Predictive Treeとも呼ばれている。Predictive geometry codingは、点群符号化装置100側で決めた任意の木構造に基づいて予測した位置情報及び当該点群データの位置情報の残差を復号し、両者を加算することで当該点群データの位置情報を復号する手段である。 Predictive geometry coding is also known as Predictive Tree. Predictive geometry coding is a method for decoding the position information of point cloud data by decoding the residuals of the predicted position information and the position information of the point cloud data, based on an arbitrary tree structure determined by the point cloud coding device 100, and then adding the two together.
図5に示すように、ステップS501において、ツリー合成部2020は、当該スライス内に含まれる全ての点群データの位置情報の復号が完了したかどうかを判定する。 As shown in Figure 5, in step S501, the tree synthesis unit 2020 determines whether the decoding of the positional information of all point cloud data contained within the slice has been completed.
この処理は、例えば、GSHに当該スライスに含まれる点群データ数を示す情報を伝送しておき、この点群データ数と既に処理したデータ数とを比較することで、全ての点の処理が完了したか否かを判定することができる。 This process, for example, involves transmitting information indicating the number of point cloud data points included in the slice to the GSH (Global Strategy Software), and then comparing this number with the number of data points already processed to determine whether processing of all points has been completed.
全ての点群データの位置情報の復号が完了した場合は、本動作は、ステップS513へ進み、処理を終了する。全ての点群データの位置情報の復号が完了していない場合は、本動作は、ステップS502へ進む。 If the decoding of the positional information of all point cloud data is complete, this operation proceeds to step S513 and terminates. If the decoding of the positional information of all point cloud data is not complete, this operation proceeds to step S502.
ステップS502において、ツリー合成部2020は、点群データの復号対象ノード(処理対象ノード)の親ノードを設定する。 In step S502, the tree synthesis unit 2020 sets the parent node of the node to be decoded (processing node) of the point cloud data.
例えば、ツリー合成部2020は、各ノードの子ノードの数を復号し、各ノードにおいて当該子ノード数の分だけノードのインデックスを格納しておく。 For example, the tree synthesis unit 2020 decodes the number of child nodes of each node and stores the node index for each node, corresponding to the number of child nodes.
そして、ツリー合成部2020は、あるノードの後に復号対象ノードの処理を行う場合、当該ノードのインデックスの配列を参照し、かかる配列の末尾に格納されているインデックスを1つ取得し、取得したインデックスのノードを、かかる復号対象ノードの親ノードに設定してもよい。 Furthermore, when the tree synthesis unit 2020 processes a node to be decrypted after a certain node, it may refer to an array of indices for that node, retrieve one index stored at the end of the array, and set the node with the retrieved index as the parent node of the node to be decrypted.
かかる親ノードの設定が完了した後、本動作は、ステップS503へ進む。 After the parent node configuration is complete, this operation proceeds to step S503.
ステップS503において、ツリー合成部2020は、Angularモードで処理を行うかを判定する。 In step S503, the tree synthesis unit 2020 determines whether to process in Angular mode.
例えば、ツリー合成部2020は、上述のgeom_angular_enabledの値を参照して、Angularモードで処理を行うかを判定することができる。 For example, the tree synthesis unit 2020 can determine whether to process in Angular mode by referring to the value of geom_angular_enabled described above.
Angularモードで処理を行う場合は、本動作は、ステップS504へ進み、Angularモードで処理を行わない場合は、本動作は、ステップS510へ進む。 If processing is performed in Angular mode, this operation proceeds to step S504. If processing is not performed in Angular mode, this operation proceeds to step S510.
ステップS504において、ツリー合成部2020は、球面座標残差の復号を行う。かかる復号が完了したら、本動作は、ステップS505へ進む。 In step S504, the tree synthesis unit 2020 decodes the spherical coordinate residual. Once this decoding is complete, the process proceeds to step S505.
ステップS505において、ツリー合成部2020は、位置情報の予測を行う。ツリー合成部2020は、かかる処理では、最初に、予測に用いる予測器の種類を決定する。 In step S505, the tree synthesis unit 2020 performs location information prediction. In this process, the tree synthesis unit 2020 first determines the type of predictor to be used for the prediction.
例えば、ツリー合成部2020は、ptree_ang_azimuth_scaling_enabledの値に基づいて、適応的方位角量子化モードで処理を行うか否かを判定し、かかる判定結果に基づいて、利用する予測器の種類を決定してもよい。 For example, the tree synthesis unit 2020 may determine whether to process in adaptive azimuth quantization mode based on the value of `ptree_ang_azimuth_scaling_enabled`, and then determine the type of predictor to use based on this determination.
ツリー合成部2020は、例えば、適応的方位角量子化モードでよりを行う場合、復号した予測器モードに基づいて、木構造を用いて計算される複数の予測器の中から、利用する予測器の種類を選択してもよい。 The tree synthesis unit 2020 may, for example, when performing the calculation in adaptive azimuth quantization mode, select the type of predictor to use from among multiple predictors calculated using a tree structure based on the decoded predictor mode.
或いは、ツリー合成部2020は、適応的方位角量子化モードで処理を行う場合、復号済みノードの位置情報を予測器としてリストに保持しておき、復号した予測器インデックスに割り当てられている予測器を当該リストから参照し、利用する予測器の種類として選択してもよい。 Alternatively, when processing in adaptive azimuth quantization mode, the tree synthesis unit 2020 may retain the position information of the decoded nodes as a predictor in a list, refer to the predictor assigned to the decoded predictor index in that list, and select it as the type of predictor to use.
ツリー合成部2020は、予測器の種類が決定したら、かかる予測器を位置情報の予測値とする。具体的な処理の例については、後述する。 The tree synthesis unit 2020, once the type of predictor is determined, uses that predictor as the predicted value for the location information. A specific example of this process will be described later.
かかる位置情報の予測が完了した後、本動作は、ステップS506へと進む。 After the prediction of the location information is complete, this operation proceeds to step S506.
ステップS506において、ツリー合成部2020は、球面座標の再構成を行う。ツリー合成部2020は、かかる処理では、復号した球面座標残差と予測器とを加算することで、球面座標を再構成する。 In step S506, the tree synthesis unit 2020 reconstructs the spherical coordinates. In this process, the tree synthesis unit 2020 reconstructs the spherical coordinates by adding the decoded spherical coordinate residuals to the predictor.
かかる再構成が完了した後、本動作は、ステップS507へと進む。 After this reconstruction is complete, the process proceeds to step S507.
ステップS507において、ツリー合成部2020は、直交整数座標の再構成を行う。ツリー合成部2020は、かかる処理では、再構成した球面座標に基づいて、球面座標の直交整数座標への変換を行うことができる。具体的な方法としては、例えば、非特許文献1に記載の手法で実現できる。 In step S507, the tree synthesis unit 2020 reconstructs the orthogonal integer coordinates. In this process, the tree synthesis unit 2020 can convert the spherical coordinates to orthogonal integer coordinates based on the reconstructed spherical coordinates. A specific method for this can be achieved, for example, by the method described in Non-Patent Document 1.
かかる直交整数座標の再構成が完了した後、本動作は、ステップS508へ進む。 After the reconstruction of the orthogonal integer coordinates is complete, the process proceeds to step S508.
ステップS508において、ツリー合成部2020は、直交整数座標残差の復号を行う。 In step S508, the tree synthesis unit 2020 performs decoding of the orthogonal integer coordinate residuals.
直交整数座標残差の復号が完了した後、本動作は、ステップS509へと進む。 After the decoding of the orthogonal integer coordinate residuals is complete, the process proceeds to step S509.
ステップS509において、ツリー合成部2020は、元座標の再構成を行う。ツリー合成部2020は、かかる処理では、復号した直交整数座標残差と再構成した直交整数座標とを加算することで、元座標の再構成を行う。 In step S509, the tree synthesis unit 2020 reconstructs the original coordinates. In this process, the tree synthesis unit 2020 reconstructs the original coordinates by adding the decoded orthogonal integer coordinate residuals to the reconstructed orthogonal integer coordinates.
かかる元座標の再構成が完了した後、本動作は、ステップS501へと戻る。 After the reconstruction of the original coordinates is complete, this operation returns to step S501.
ステップS510において、ツリー合成部2020は、位置情報の予測を行う。具体的には、ツリー合成部2020は、予測器を選択し、かかる予測器を位置情報の予測値とする。 In step S510, the tree synthesis unit 2020 predicts location information. Specifically, the tree synthesis unit 2020 selects a predictor and uses this predictor as the predicted value of the location information.
例えば、ツリー合成部2020は、木構造に基づき計算される複数の予測器の中から、復号した予測器モードに基づき予測器を選択してもよい。 For example, the tree synthesis unit 2020 may select a predictor from among multiple predictors calculated based on the tree structure, based on the decoded predictor mode.
かかる位置情報の予測が完了した後、本動作は、ステップS511へと進む。 After the prediction of the location information is complete, this operation proceeds to step S511.
ステップS511において、ツリー合成部2020は、直交整数座標残差の復号を行う。 In step S511, the tree synthesis unit 2020 performs decoding of the orthogonal integer coordinate residuals.
直交整数座標残差の復号が完了した後、本動作は、ステップS512へと進む。 After the decoding of the orthogonal integer coordinate residuals is complete, the process proceeds to step S512.
ステップS512において、ツリー合成部2020は、元座標の再構成を行う。ツリー合成部2020は、かかる処理では、ステップS511で復号した直交整数座標の残差とステップS510で予測した位置情報とを加算することで、元座標を再構成する。 In step S512, the tree synthesis unit 2020 reconstructs the original coordinates. In this process, the tree synthesis unit 2020 reconstructs the original coordinates by adding the residuals of the orthogonal integer coordinates decoded in step S511 to the position information predicted in step S510.
かかる元座標の再構成が完了した後、本動作は、ステップS501へと戻る。 After the reconstruction of the original coordinates is complete, this operation returns to step S501.
図6は、ステップS506における位置情報の予測処理の一例を示すフローチャートである。 Figure 6 is a flowchart showing an example of the location information prediction process in step S506.
図6に示すように、ステップS601において、ツリー合成部2020は、予測器の計算に予測器リストを使うかどうかを判定する。 As shown in Figure 6, in step S601, the tree synthesis unit 2020 determines whether to use the predictor list for predictor calculation.
例えば、ツリー合成部2020は、ptree_ang_azimuth_scaling_enabledの値を参照して、予測器の計算に予測器リストを使うかどうかを判定することができる。 For example, the tree synthesis unit 2020 can refer to the value of `ptree_ang_azimuth_scaling_enabled` to determine whether to use a predictor list in the predictor calculation.
予測器リストを使うと判定された場合、本処理は、ステップS602へ進み、予測器リストを使わないと判定された場合は、本処理は、ステップS603へ進む。 If it is determined that the predictor list should be used, this process proceeds to step S602. If it is determined that the predictor list should not be used, this process proceeds to step S603.
ステップS602において、ツリー合成部2020は、予測器リストを用いて予測器を計算し、位置情報の予測を行う。 In step S602, the tree synthesis unit 2020 calculates a predictor using the predictor list and predicts the location information.
ツリー合成部2020は、かかる処理では、予測器リストとして保持している復号済ノードの位置情報の中から、復号した予測器インデックスに割り当てられている位置情報を予測器リストから取得してもよい。 In this process, the tree synthesis unit 2020 may obtain the position information assigned to the decoded predictor index from the predictor list of decoded nodes.
或いは、ツリー合成部2020は、復号した予測器インデックスに基づき、復号対象ノードの親ノードの位置情報を予測器として利用してもよい。 Alternatively, the tree synthesis unit 2020 may use the position information of the parent node of the node to be decoded as a predictor, based on the decoded predictor index.
ツリー合成部2020は、予測器を計算した後、かかる予測器を用いて位置情報の予測値を計算する。かかる予測値の計算の具体的な処理の例は、後述する。 The tree synthesis unit 2020 calculates a predictor and then uses that predictor to calculate predicted location information. A specific example of the calculation process for these predicted values will be described later.
かかる位置情報の予測が完了したら、本処理は、ステップS604へ進み、処理を終了する。 Once the location information prediction is complete, the process proceeds to step S604 and terminates.
ステップS603において、ツリー合成部2020は、木構造を用いて計算される複数の予測器の中から、復号した予測器モードに基づき、利用する予測器を選択し、かかる予測器を位置情報の予測値とする。 In step S603, the tree synthesis unit 2020 selects a predictor to be used from among multiple predictors calculated using the tree structure, based on the decoded predictor mode, and uses that predictor as the predicted value of the location information.
例えば、ツリー合成部2020は、予測しないモード、処理対象ノードの親ノードのみに基づき予測するモード、当該親ノードと当該親ノードの親ノードとに基づき予測するモード、当該親ノードの親ノードと当該親ノードの親ノードの親ノードとに基づき予測するモードの中から、復号した予測器モードに基づき、利用するモードを選択してもよい。具体的には、例えば、ツリー合成部2020は、非特許文献1に記載の手法用いて、かかる処理を実現できる。 For example, the tree synthesis unit 2020 may select a mode to use from among a no-prediction mode, a mode that predicts based only on the parent node of the target node, a mode that predicts based on the parent node and its parent node, and a mode that predicts based on the parent node and its parent node's parent node, based on the decoded predictor mode. Specifically, for example, the tree synthesis unit 2020 can implement such processing using the method described in Non-Patent Document 1.
かかる位置情報の予測が完了した後、本処理は、ステップS604へ進み、処理を終了する。 After the location information prediction is complete, the process proceeds to step S604 and terminates.
図7は、ステップS602における予約器リストを使った位置情報の予測処理の一例を示すフローチャートである。 Figure 7 is a flowchart showing an example of the location information prediction process using the reservation list in step S602.
図7に示すように、ステップS701において、ツリー合成部2020は、予測器インデックスの復号を行う。予測器インデックスは、後述の予測器の選択にて利用する。 As shown in Figure 7, in step S701, the tree synthesis unit 2020 decodes the predictor index. The predictor index will be used in the predictor selection process described later.
かかる予測器インデックスの復号が完了した後、本動作は、ステップS702へ進む。 After the decoding of the predictor index is complete, this operation proceeds to step S702.
ステップS702において、ツリー合成部2020は、復号対象ノードの親ノードの座標値と当該親ノードの親ノードの座標値に基づく予測器を使うかどうかを判定する。 In step S702, the tree synthesis unit 2020 determines whether to use a predictor based on the coordinate values of the parent node of the node to be decoded and the coordinate values of the parent node's parent node.
例えば、ツリー合成部2020は、上述のptree_ang_linear_predictor_enabled_flagを参照して、かかる予測器を使うかどうかを判定することができる。 For example, the tree synthesis unit 2020 can determine whether to use such a predictor by referring to the `ptre_ang_linear_predictor_enabled_flag` mentioned above.
また、ツリー合成部2020は、復号した予測器インデックスが特定の予測器インデックスであるか否かに基づいて、かかる予測器を用いるか否かについて判定してもよい。 Furthermore, the tree synthesis unit 2020 may determine whether or not to use a particular predictor based on whether or not the decoded predictor index is a specific predictor index.
例えば、ツリー合成部2020は、復号した予測器インデックスが「0」である場合は、かかる予測器を使用し、復号した予測器インデックスが「0」以外である場合は、かかる予測器を使用しないと判定してもよい。 For example, the tree synthesis unit 2020 may determine that it will use a predictor if the decoded predictor index is "0," and will not use a predictor if the decoded predictor index is anything other than "0."
かかる予測器を使うと判定された場合は、本動作は、ステップS703へ進み、かかる予測器を使わないと判定された場合は、本動作は、ステップS704へ進む。 If it is determined that such a predictor should be used, this operation proceeds to step S703. If it is determined that such a predictor should not be used, this operation proceeds to step S704.
ステップS703において、ツリー合成部2020は、予測モードの復号を行う。かかる予測モードは、後述の予測器の選択にて利用される。かかる予測モードの復号が完了した後、本動作は、ステップS704へ進む。 In step S703, the tree synthesis unit 2020 decodes the prediction mode. This prediction mode is used in the predictor selection described later. After the decoding of this prediction mode is complete, the operation proceeds to step S704.
ステップS704において、ツリー合成部2020は、予測器を選択する。 In step S704, the tree synthesis unit 2020 selects a predictor.
ここで、ツリー合成部2020は、ステップS702で復号した予測器インデックス及びステップS703で復号した予測モードを用いて、かかる予測器の選択を行う。 Here, the tree synthesis unit 2020 selects a predictor using the predictor index decoded in step S702 and the prediction mode decoded in step S703.
例えば、ツリー合成部2020は、後述のステップS902で説明する方法で、かかる予測器を選択してもよい。 For example, the tree synthesis unit 2020 may select such predictors using the method described in step S902 below.
ツリー合成部2020は、かかる予測器インデックスや予測モードに、別のインデックス番号を割り当ててもよく、例えば、予測器インデックス「1」を、かかる予測器としてもよい。 The tree synthesis unit 2020 may assign a different index number to such predictor index or prediction mode; for example, predictor index "1" may be used as such predictor.
例えば、ツリー合成部2020は、線形予測器以外の予測器として、予測器リストとして保持している復号済ノードの位置情報の中から、上述の復号した予測器インデックスに該当する予測器を取得してもよい。 For example, the tree synthesis unit 2020 may, as a predictor other than a linear predictor, obtain a predictor corresponding to the decoded predictor index mentioned above from the position information of the decoded nodes held as a predictor list.
また、ツリー合成部2020は、復号した予測器インデックスに基づき、線形予測器以外の予測器として、処理対象ノードの親ノードの位置情報を利用してもよい。 Furthermore, the tree synthesis unit 2020 may use the position information of the parent node of the target node as a predictor other than the linear predictor, based on the decoded predictor index.
かかる予測器の選択が完了した後、本動作は、ステップS705へ進む。 After the selection of the predictor is complete, this operation proceeds to step S705.
ステップS705において、ツリー合成部2020は、予測値の計算を行う。 In step S705, the tree synthesis unit 2020 calculates the predicted values.
具体的には、ツリー合成部2020は、復号した予測器インデックスに該当する予測器を、予測器リストから取得し、取得した予測器を元に、かかる予測値を計算する。かかる予測器には、既に復号済みのノードの方位角及び半径が含まれる。 Specifically, the tree synthesis unit 2020 retrieves the predictor corresponding to the decoded predictor index from the predictor list, and calculates the predicted value based on the retrieved predictor. This predictor includes the azimuth and radius of the already decoded node.
ツリー合成部2020は、既に復号済みのノードの方位角及び半径に対して処理対象ノードの親ノードの復号済みのレーザーIDを加えた情報に基づいて、例えば、非特許文献2に記載の手法で、かかる予測器の計算を実現することができる。 The tree synthesis unit 2020 can perform calculations for such a predictor, for example, using the method described in Non-Patent Document 2, based on information obtained by adding the decoded laser ID of the parent node of the node to be processed to the azimuth angle and radius of already decoded nodes.
かかる予測器の再計算が完了した後、本動作は、ステップS706へ進む。 After the recalculation of the predictor is complete, this operation proceeds to step S706.
ステップS706において、ツリー合成部2020は、予測器リストの更新を行う。かかる予測器リストには、復号済みの半径及び方位角が、予測器として格納されている。 In step S706, the tree synthesis unit 2020 updates the predictor list. This predictor list stores the decoded radius and azimuth angle as predictors.
ツリー合成部2020は、具体的には、今回復号した半径及び方位角を、予測器リストのインデックス0番目に格納することで、かかる予測器リストの更新を行う。 Specifically, the tree synthesis unit 2020 updates the predictor list by storing the decoded radius and azimuth angle at index 0 of the predictor list.
或いは、ツリー合成部2020は、復号した予測モードが予測器であった場合、予測に用いた予測器を、予測器リストのインデックスの0番目に格納してもよい。 Alternatively, if the decoded prediction mode was a predictor, the tree synthesis unit 2020 may store the predictor used for the prediction at index 0 of the predictor list.
ここで、ツリー合成部2020は、インデックスの1番目以降の更新については、例えば、非特許文献2に記載の手法で実現できる。 Here, the tree synthesis unit 2020 can perform updates to the index from the first element onward using, for example, the method described in Non-Patent Document 2.
かかる予測器リストの更新が完了した後、本動作は、ステップS707へ進み、処理を終了する。 After the update of the predictor list is complete, this operation proceeds to step S707 and terminates.
以上のように、ツリー合成部2020は、予測器インデックス及び予測器モードを復号し、復号した予測器インデックス及び予測モードを用いて予測器を選択し、予測に利用する構成としてもよい。 As described above, the tree synthesis unit 2020 may be configured to decode the predictor index and predictor mode, select a predictor using the decoded predictor index and prediction mode, and use it for prediction.
このような構成とすることで、予測性能を向上させることができ、結果として半径残差が小さくなり、符号化効率を改善することができる。 This configuration improves prediction performance, resulting in smaller radius residuals and thus improved coding efficiency.
図8は、ステップS602の予測器リストを使った位置情報の予測処理の一例を示すフローチャートである。 Figure 8 is a flowchart showing an example of the location information prediction process using the predictor list in step S602.
図8に示すように、ステップS801において、ツリー合成部2020は、予測器インデックスの復号を行う。かかる予測器インデックスは、後述の予測器の選択にて利用される。 As shown in Figure 8, in step S801, the tree synthesis unit 2020 decodes the predictor index. This predictor index is used in the predictor selection process described later.
かかる予測器インデックスの復号が完了した後、本動作は、ステップS802へ進む。 After the decoding of the predictor index is complete, this operation proceeds to step S802.
ステップS802において、ツリー合成部2020は、処理対象ノードの親ノードの座標値及び当該親ノードの親ノードの座標値に基づく予測器を使うかどうかについて判定する。 In step S802, the tree synthesis unit 2020 determines whether to use a predictor based on the coordinate values of the parent node of the node to be processed and the coordinate values of the parent node's parent node.
例えば、ツリー合成部2020は、ptree_ang_linear_predictor_enabled_flagを参照して、かかる予測器を使うかどうかについて判定することができる。 For example, the tree synthesis unit 2020 can determine whether to use such a predictor by referring to the `ptre_ang_linear_predictor_enabled_flag`.
かかる予測器を使うと判定された場合は、本動作は、ステップS803へ進み、かかる予測器を使わないと判定された場合は、本動作は、ステップS804へ進む。 If it is determined that such a predictor should be used, this operation proceeds to step S803. If it is determined that such a predictor should not be used, this operation proceeds to step S804.
ステップS803において、ツリー合成部2020は、かかる予測器の選択を行う。 In step S803, the tree synthesis unit 2020 selects such predictors.
ツリー合成部2020は、かかる処理では、復号した予測器インデックスに基づき、かかる線形予測器或いは線形予測器以外の予測器を選択する。具体的には後述する。 In this process, the tree synthesis unit 2020 selects a linear predictor or a non-linear predictor based on the decoded predictor index. The specifics will be described later.
かかる予測器の選択が完了したら、本動作は、ステップS805へ進む。 Once the selection of the predictor is complete, this operation proceeds to step S805.
ステップS804において、ツリー合成部2020は、線形予測器以外の予測器の選択を行う。 In step S804, the tree synthesis unit 2020 selects a predictor other than a linear predictor.
具体的には、ツリー合成部2020は、予測器リストとして保持している復号済みのノードの位置情報の中から、復号した予測器インデックスに該当するものを取得してもよい。 Specifically, the tree synthesis unit 2020 may retrieve the location information of the decoded nodes, which is held as a predictor list, that corresponds to the decoded predictor index.
或いは、ツリー合成部2020は、復号した予測器インデックスに基づき、処理対象ノードの親ノードの位置情報を予測器として利用してもよい。 Alternatively, the tree synthesis unit 2020 may use the position information of the parent node of the target node as a predictor, based on the decoded predictor index.
かかる予測器の選択が完了した後、本動作は、ステップS805へ進む。 After the selection of the predictor is complete, this operation proceeds to step S805.
ステップS805において、ツリー合成部2020は、予測値の計算を行う。 In step S805, the tree synthesis unit 2020 calculates the predicted values.
具体的には、ツリー合成部2020は、復号した予測器インデックスに該当する予測器を、予測器リストから取得し、取得した予測器に基づいて、予測値計算する。かかる予測器には、既に復号済みのノードの方位角及び半径が含まれる。 Specifically, the tree synthesis unit 2020 retrieves the predictor corresponding to the decoded predictor index from the predictor list and calculates the predicted value based on the retrieved predictor. This predictor includes the azimuth and radius of the already decoded node.
ツリー合成部2020は、既に復号済みのノードの方位角及び半径に対して処理対象ノードの親ノードの復号済レーザーIDを加えた情報に基づいて、例えば、非特許文献2に記載の手法で、予測器の計算を実現できる。 The tree synthesis unit 2020 can perform predictor calculations, for example, using the method described in Non-Patent Document 2, based on information obtained by adding the decoded laser ID of the parent node of the node to be processed to the azimuth angle and radius of already decoded nodes.
かかる予測器の再計算が完了した後、本動作は、ステップS806へ進む。 After the recalculation of the predictor is complete, this operation proceeds to step S806.
ステップS806において、ツリー合成部2020は、予測器リストの更新を行う。かかる予測器リストには、復号済みの半径及び方位角が、予測器として格納されている。 In step S806, the tree synthesis unit 2020 updates the predictor list. This predictor list stores the decoded radius and azimuth angle as predictors.
ツリー合成部2020は、半径残差が閾値以上であるか否かを判定し、かかる判定結果に応じて、かかる予測器リストの更新を行う。具体的には後述する。 The tree synthesis unit 2020 determines whether the radius residual is greater than or equal to a threshold, and updates the predictor list accordingly. The specifics will be described later.
かかる予測器リストの更新が完了した後、本動作は、ステップS807へ進み、処理を終了する。 After the update of the predictor list is complete, this operation proceeds to step S807 and terminates.
以上のように、ツリー合成部2020は、予測器インデックスを復号し、復号した予測器インデックスに基づき、予測器を選択し、予測に利用する構成としてもよい。 As described above, the tree synthesis unit 2020 may be configured to decode the predictor index, select a predictor based on the decoded predictor index, and use it for prediction.
このような構成とすることで、予測性能を向上させることができ、結果として半径残差が小さくなり、符号化効率を改善することができる。 This configuration improves prediction performance, resulting in smaller radius residuals and thus improved coding efficiency.
図9は、ステップS803の線形予測器を含む予測器の選択処理の一例を示すフローチャートである。 Figure 9 is a flowchart showing an example of the predictor selection process, including the linear predictor, in step S803.
図9に示すように、ステップS901において、ツリー合成部2020は、復号した予測器インデックスが、線形予測器のインデックスであるかどうかを判定する。 As shown in Figure 9, in step S901, the tree synthesis unit 2020 determines whether the decoded predictor index is the index of the linear predictor.
例えば、線形予測器のインデックスを「1」として定義する場合、復号した予測器のインデックスが「1」である場合、ツリー合成部2020は、復号した予測器のインデックスが線形予測器のインデックスであると判定する。 For example, if the index of a linear predictor is defined as "1," and the index of the decoded predictor is also "1," the tree synthesis unit 2020 determines that the index of the decoded predictor is the index of the linear predictor.
かかる線形予測器のインデックスには、「1」以外の他の番号が割り当てられていてもよい。 The index of such a linear predictor may be assigned a number other than "1".
復号した予測器のインデックスが線形予測器のインデックスであると判定された場合、本動作は、ステップS902へ進み、それ以外の場合、本動作は、ステップS903へ進む。 If the decoded predictor index is determined to be the index of a linear predictor, this operation proceeds to step S902; otherwise, this operation proceeds to step S903.
ステップS902において、ツリー合成部2020は、線形予測器の選択を行う。 In step S902, the tree synthesis unit 2020 selects a linear predictor.
ツリー合成部2020は、線形予測器P_(pred_linear)=(r_(pred_linear),φ_(pred_linear))を、処理対象ノードの親ノードの位置情報P_0=(r_0,φ_0)及び当該親ノードの親ノードの位置情報P_1=(r_0,φ_1)を用いて、P_(pred_linear)=P_0+(P_0-P_1)としてもよい。ここで、rは、半径を示し、φは、方位角を示す。 The tree synthesis unit 2020 may use the linear predictor P_(pred_linear) = (r_(pred_linear), φ_(pred_linear)) to obtain P_(pred_linear) = P_0 + (P_0 - P_1) using the position information P_0 = (r_0, φ_0) of the parent node of the target node and the position information P_1 = (r_0, φ_1) of the parent node of that parent node. Here, r represents the radius and φ represents the azimuth angle.
或いは、ツリー合成部2020は、線形予測器P_(pred_linear)=(r_(pred_linear),φ_(pred_linear))のうち、半径r_(pred_linear)のみについて、r_(pred_linear)=r_0―r_1と計算し、方位角φ_(pred_linear)については、φ_(pred_linear)=φ_0としてもよい。 Alternatively, the tree synthesis unit 2020 may calculate only the radius r_(pred_linear) of the linear predictor P_(pred_linear) = (r_(pred_linear), φ_(pred_linear)) as r_(pred_linear) = r_0 - r_1, and for the azimuth angle φ_(pred_linear), it may set φ_(pred_linear) = φ_0.
かかる線形予測器の選択が完了した後、本動作は、処理を終了する。 After the selection of the linear predictor is complete, this operation terminates.
ステップS903において、ツリー合成部2020は、線形予測器以外の予測器の選択を行う。 In step S903, the tree synthesis unit 2020 selects a predictor other than a linear predictor.
例えば、ツリー合成部2020は、予測器リストとして保持している復号済みのノードの位置情報の中から、復号した予測器インデックスに該当するものを取得してもよい。 For example, the tree synthesis unit 2020 may retrieve the node location information corresponding to the decoded predictor index from the decoded node location information held as the predictor list.
或いは、ツリー合成部2020は、復号した予測器インデックスに基づき、処理対象ノードの親ノードの位置情報を予測器として利用してもよい。 Alternatively, the tree synthesis unit 2020 may use the position information of the parent node of the target node as a predictor, based on the decoded predictor index.
かかる線形予測器以外の予測器の選択が完了した後、本動作は、ステップS904へ進み、処理を終了する。 After the selection of predictors other than the linear predictor is complete, this operation proceeds to step S904 and terminates.
以上のように、ツリー合成部2020は、予測器インデックスを復号し、復号した予測器インデックスが線形予測器に割り当てたインデックスである場合、線形予測器を選択し、予測に利用する構成としてもよい。 As described above, the tree synthesis unit 2020 may be configured to decode the predictor index, and if the decoded predictor index is an index assigned to a linear predictor, select the linear predictor and use it for prediction.
このような構成とすることで、予測性能を向上させることができ、結果として半径残差が小さくなり、符号化効率を改善することができる。 This configuration improves prediction performance, resulting in smaller radius residuals and thus improved coding efficiency.
図10は、ステップS803の線形予測器を含む予測器の選択処理の一例を示すフローチャートである。 Figure 10 is a flowchart showing an example of the predictor selection process, including a linear predictor, in step S803.
図10に示すように、ステップS1001において、ツリー合成部2020は、線形予測器を予測器インデックスの0番とするか否かについて判定する。 As shown in Figure 10, in step S1001, the tree synthesis unit 2020 determines whether or not to assign the linear predictor to predictor index 0.
具体的には、ツリー合成部2020は、線形予測器使用フラグリストを参照し、復号済みのノードの線形予測器の使用履歴に基づいて、かかる判定を行う。 Specifically, the tree synthesis unit 2020 refers to the linear predictor usage flag list and makes such a determination based on the linear predictor usage history of the decoded nodes.
例えば、ツリー合成部2020は、処理対象ノードの親ノードで線形予測器が使用されていた場合は、線形予測器を予測器インデックスの0番としてもよい 。 For example, if a linear predictor is used in the parent node of the node to be processed, the tree synthesis unit 2020 may set the linear predictor to predictor index 0.
上述の線形予測器使用フラグリストは、後述の処理にて更新される。かかる線形予測器使用フラグリストは、各復号済みのノードにおいて、線形予測器を使用したかどうかのフラグを保持するリストである。 The linear predictor usage flag list mentioned above will be updated in the process described later. This linear predictor usage flag list is a list that holds a flag indicating whether or not a linear predictor was used for each decoded node.
上述の親ノードが線形予測器を使用したと判定された場合、本動作は、ステップS1002へ進み、それ以外の場合、本動作は、ステップS1003へ進む。 If it is determined that the parent node used a linear predictor, this operation proceeds to step S1002; otherwise, this operation proceeds to step S1003.
ステップS1002において、ツリー合成部2020は、予測器インデックスが0か否かを判定する。ツリー合成部2020は、復号した予測器インデックスを用いて、かかる判定を行う。 In step S1002, the tree synthesis unit 2020 determines whether the predictor index is 0 or not. The tree synthesis unit 2020 performs this determination using the decoded predictor index.
予測器インデックスが0である場合、本動作は、線形予測器を選択するためにステップS1004へ進み、予測器インデックスが0以外である場合、本動作は、線形予測器以外の予測器を選択するためにステップS1005へ進む。 If the predictor index is 0, the process proceeds to step S1004 to select a linear predictor. If the predictor index is not 0, the process proceeds to step S1005 to select a predictor other than a linear predictor.
ステップS1003において、ツリー合成部2020は、予測器インデックスが1か否かを判定する。ツリー合成部2020は、復号した予測器インデックスを用いて、かかる判定を行う。 In step S1003, the tree synthesis unit 2020 determines whether the predictor index is 1 or not. The tree synthesis unit 2020 performs this determination using the decoded predictor index.
予測器インデックスが1である場合、本動作は、線形予測器を選択するためにステップS1004へ進み、予測器インデックスが0以外である場合、本動作は、線形予測器以外の予測器を選択するためにステップS1005へ進む。 If the predictor index is 1, the process proceeds to step S1004 to select a linear predictor. If the predictor index is not 0, the process proceeds to step S1005 to select a predictor other than a linear predictor.
ステップS1004において、ツリー合成部2020は、線形予測器を選択する。 In step S1004, the tree synthesis unit 2020 selects a linear predictor.
ツリー合成部2020は、線形予測器P_(pred_linear)=(r_(pred_linear),φ_(pred_linear))を、処理対象ノードの親ノードの位置情報P_0=(r_0,φ_0)及び当該親ノードの親ノードの位置情報P_1=(r_0,φ_1)を用いて、P_(pred_linear)=P_0+(P_0-P_1)としてもよい。ここで、rは、半径を示し、φは、方位角を示す。 The tree synthesis unit 2020 may use the linear predictor P_(pred_linear) = (r_(pred_linear), φ_(pred_linear)) to obtain P_(pred_linear) = P_0 + (P_0 - P_1) using the position information P_0 = (r_0, φ_0) of the parent node of the target node and the position information P_1 = (r_0, φ_1) of the parent node of that parent node. Here, r represents the radius and φ represents the azimuth angle.
或いは、ツリー合成部2020は、線形予測器P_(pred_linear)=(r_(pred_linear),φ_(pred_linear))のうち、半径r_(pred_linear)のみについて、r_(pred_linear)=r_0―r_1と計算し、方位角φ_(pred_linear)については、φ_(pred_linear)=φ_0としてもよい。 Alternatively, the tree synthesis unit 2020 may calculate only the radius r_(pred_linear) of the linear predictor P_(pred_linear) = (r_(pred_linear), φ_(pred_linear)) as r_(pred_linear) = r_0 - r_1, and for the azimuth angle φ_(pred_linear), it may set φ_(pred_linear) = φ_0.
かかる線形予測器の選択が完了した後、本動作は、ステップS1006へ進む。 After the selection of the linear predictor is complete, this operation proceeds to step S1006.
ステップS1005において、ツリー合成部2020は、線形予測器以外の予測器の選択を行う。 In step S1005, the tree synthesis unit 2020 selects a predictor other than a linear predictor.
例えば、ツリー合成部2020は、予測器リストとして保持している復号済みのノードの位置情報の中から、復号した予測器インデックスに該当するものを取得してもよい。 For example, the tree synthesis unit 2020 may retrieve the location information of the decoded nodes, which it holds as a predictor list, that corresponds to the decoded predictor index.
或いは、ツリー合成部2020は、復号した予測器インデックスに基づき、処理対象ノードの親ノードの位置情報を予測器として利用してもよい。 Alternatively, the tree synthesis unit 2020 may use the position information of the parent node of the target node as a predictor, based on the decoded predictor index.
かかる予測器の選択が完了した後、本動作は、ステップS1006へ進む。 After the selection of the predictor is complete, this operation proceeds to step S1006.
ステップS1006において、ツリー合成部2020は、線形予測器使用フラグリストの更新を行う。 In step S1006, the tree synthesis unit 2020 updates the linear predictor usage flag list.
ツリー合成部2020は、かかる処理では、今回の復号対象のノードのインデックス及び線形予測器を使用したかどうかのフラグを、線形予測器使用フラグリストに更新する。 In this process, the tree synthesis unit 2020 updates the linear predictor usage flag list with the index of the node to be decoded and a flag indicating whether a linear predictor was used.
かかる線形予測器使用フラグリストの更新の処理では、ツリー合成部2020は、今回復号したノードにおいて、線形予測器を使用したかどうかをフラグとして更新する。 In the process of updating the linear predictor usage flag list, the tree synthesis unit 2020 updates the flag for the node that was decoded, indicating whether or not a linear predictor was used.
かかる線形予測器使用フラグリストは、ステップS1001で線形予測器を予約インデックスの0番とするか否かについて判定するために利用される。 This linear predictor usage flag list is used in step S1001 to determine whether or not to assign the linear predictor to reserved index 0.
かかる線形予測器使用フラグリストの更新が完了した後、本動作は、ステップS1007へ進み、処理を終了する。 After the update of the linear predictor usage flag list is complete, this operation proceeds to step S1007 and terminates.
以上のように、ツリー合成部2020は、予測器インデックスを復号し、線形予測器使用フラグリストを用いて線形予測器のインデックスを決定し、決定した線形予測器のインデックスと復号した予測器インデックスとに基づいて、線形予測器を選択し、予測に利用する構成としてもよい。 As described above, the tree synthesis unit 2020 may be configured to decode the predictor index, determine the index of the linear predictor using the linear predictor usage flag list, and then select a linear predictor based on the determined linear predictor index and the decoded predictor index for use in prediction.
このような構成とすることで、予測性能を向上させることができ、結果として半径残差が小さくなり、かつ線形予測器の予測器インデックスを状況に応じた番号に割り当てることができ、符号化効率を改善することができる。 This configuration improves prediction performance, resulting in smaller radius residuals and allowing the linear predictor's predictor index to be assigned to a situation-appropriate number, thereby improving coding efficiency.
図11は、ステップS806の予測器リストの更新処理の一例を示すフローチャートである。 Figure 11 is a flowchart showing an example of the predictor list update process in step S806.
図11に示すように、ステップS1101において、ツリー合成部2020は、ステップS504で復号した球面座標残差の絶対値が閾値よりも大きいか否かについて判定する。 As shown in Figure 11, in step S1101, the tree synthesis unit 2020 determines whether the absolute value of the spherical coordinate residual decoded in step S504 is greater than a threshold.
ツリー合成部2020は、かかる閾値として、例えば、ptree_ang_pred_list_radius_resid_thresholdに設定されている値を用いてもよい。 The tree synthesis unit 2020 may use, for example, the value set in `ptree_ang_pred_list_radius_resid_threshold` as such a threshold.
球面座標残差の絶対値が閾値よりも小さいと判定された場合、本動作は、ステップS1102へ進み、球面座標残差の絶対値が閾値よりも大きいと判定された場合、本動作は、ステップ1103へ進む。 If the absolute value of the spherical coordinate residual is determined to be less than the threshold, the process proceeds to step S1102. If the absolute value of the spherical coordinate residual is determined to be greater than the threshold, the process proceeds to step 1103.
ステップS1102において、ツリー合成部2020は、予測器リストを部分的に更新する。 In step S1102, the tree synthesis unit 2020 partially updates the predictor list.
具体的には、ツリー合成部2020は、利用した予測器インデックスの番号をjとして、予約器リストに存在している予測器インデックスの番号1~jー1を、1ずつプラスして予測器リストに格納する。 Specifically, the tree synthesis unit 2020 uses the number of the predictor index used as j, and stores the predictor index numbers 1 to j-1 existing in the reserved list, incrementing them by 1 each time, in the predictor list.
かかる格納が完了した後、本動作は、ステップS1104へ進む。 After this storage is complete, the operation proceeds to step S1104.
ステップS1103において、ツリー合成部2020は、予測器リストを全て更新する。 In step S1103, the tree synthesis unit 2020 updates the entire predictor list.
具体的には、ツリー合成部2020は、全ての予測器インデックス番号を、1ずつプラスして予測器リストに格納する。 Specifically, the tree synthesis unit 2020 increments each predictor index number by one and stores them in the predictor list.
かかる格納が完了した後、本動作は、ステップS1104へ進む。 After this storage is complete, the operation proceeds to step S1104.
ステップS1104において、ツリー合成部2020は、予測器リストに、今回の復号対象ノードの位置情報を格納する。 In step S1104, the tree synthesis unit 2020 stores the location information of the node to be decoded in the predictor list.
具体的には、例えば、ツリー合成部2020は、ステップS506で再構成した位置情報のうち、半径及び方位角を、予測器リストのインデックスの0番目及び1番目に格納してもよい。 Specifically, for example, the tree synthesis unit 2020 may store the radius and azimuth angle from the position information reconstructed in step S506 as the 0th and 1st indices of the predictor list.
或いは、ツリー合成部2020は、ステップS803で線形予測器を選択した場合、予測器リストの1番目には、選択した線形予測器を格納してもよい。 Alternatively, if the tree synthesis unit 2020 selects a linear predictor in step S803, it may store the selected linear predictor as the first element in the predictor list.
かかる格納が完了した後、本動作は、ステップS1105へ進み、処理を終了する。 After this storage is complete, the process proceeds to step S1105 and terminates.
図12は、ステップS504の球面残差復号処理の一例を示すフローチャートである。 Figure 12 is a flowchart showing an example of the spherical residual decoding process in step S504.
図12に示すように、ステップS1201において、ツリー合成部2020は、半径、方位角及びレーザーIDの残差を復号する。 As shown in Figure 12, in step S1201, the tree synthesis unit 2020 decodes the residuals of the radius, azimuth angle, and laser ID.
かかる復号が完了した後、本動作は、ステップS1202へ進む。 After the decoding is complete, the process proceeds to step S1202.
ステップS1202において、ツリー合成部2020は、方位角ステップ数の残差を復号する。 In step S1202, the tree synthesis unit 2020 decodes the residual of the azimuth step count.
ここで、方位角ステップ数は、Angularモードにおいて選択される予測器の方位角と実際の方位角との差分から、レーザーの回転速度を除算した値である。 Here, the azimuth step number is the value obtained by dividing the difference between the azimuth angle of the predictor selected in Angular mode and the actual azimuth angle by the laser rotation speed.
レーザーの回転速度は、ptree_ang_azimuth_step_minus1の値を参照して、非特許文献1に記載の方法で計算されてもよい。 The laser rotation speed may be calculated by referring to the value of ptree_ang_azimuth_step_minus1 and using the method described in Non-Patent Document 1.
方位角ステップ数は、点群符号化装置100側で計算される値であり、点群復号装置200は、上述の予測値との残差を復号してもよく、後述する処理で計算される方位角ステップ数の予測値に加算することで、方位角ステップ数を再構成してもよい。 The azimuth step count is a value calculated by the point cloud coding device 100. The point cloud decoding device 200 may decode the residual with the predicted value described above, or it may reconstruct the azimuth step count by adding it to the predicted value of the azimuth step count calculated in the process described later.
かかる復号が完了した後、本動作は、ステップS1203へ進み、処理を終了する。 After the decoding is complete, the process proceeds to step S1203 and terminates.
図13は、ステップS505の位置情報の予測処理の一例を示すフローチャートである。 Figure 13 is a flowchart showing an example of the location information prediction process in step S505.
図13に示すように、ステップS1301において、ツリー合成部2020は、予測器の計算に予測器リストを使うかどうかを判定する。 As shown in Figure 13, in step S1301, the tree synthesis unit 2020 determines whether to use the predictor list for predictor calculation.
例えば、ツリー合成部2020は、ptree_ang_azimuth_scaling_enabledの値を参照して、予測器の計算に予測器リストを使うかどうかを判定することができる。 For example, the tree synthesis unit 2020 can refer to the value of `ptree_ang_azimuth_scaling_enabled` to determine whether to use a predictor list in the predictor calculation.
予測器リストを使うと判定された場合は、本動作は、ステップS1302へ進み、予測器リストを使わないと判定された場合は、本動作は、ステップS1303へ進む。 If it is determined that the predictor list should be used, this operation proceeds to step S1302. If it is determined that the predictor list should not be used, this operation proceeds to step S1303.
ステップS1302において、ツリー合成部2020は、予測器リストを使って予測器を選択する。 In step S1302, the tree synthesis unit 2020 selects a predictor using the predictor list.
ツリー合成部2020は、かかる処理では、予測器リストとして保持している復号済ノードの位置情報の中から、前記復号した予測器インデックスに該当するものをリストから取得してもよい。 In this process, the tree synthesis unit 2020 may retrieve from the list of decoded node position information held as a predictor list the node corresponding to the decoded predictor index.
或いは、ツリー合成部2020は、復号した予測器インデックスに基づき、処理対象ノードの親ノードの位置情報を予測器として利用してもよい。 Alternatively, the tree synthesis unit 2020 may use the position information of the parent node of the target node as a predictor, based on the decoded predictor index.
かかる予測器の選択が完了したら、本動作は、ステップS1304へ進む。 Once the selection of the predictor is complete, this operation proceeds to step S1304.
ステップS1303において、ツリー合成部2020は、木構造を用いて計算される複数の予測器の中から、復号した予測器モードに基づき、利用する予測器を選択し、かかる予測器を位置情報の予測値とする。 In step S1303, the tree synthesis unit 2020 selects a predictor to be used from among multiple predictors calculated using the tree structure, based on the decoded predictor mode, and uses that predictor as the predicted value of the location information.
例えば、ツリー合成部2020は、予測しないモード、処理対象ノードの親ノードのみに基づき予測するモード、当該親ノードと当該親ノードの親ノードに基づき予測するモード、当該親ノードの親ノードと当該親ノードの親ノードの親ノードに基づき予測するモードの中から、復号した予測器モードに基づき、利用するモードを選択してもよい。 For example, the tree synthesis unit 2020 may select a mode to use from among a no-prediction mode, a mode that predicts based only on the parent node of the target node, a mode that predicts based on the said parent node and its parent node, and a mode that predicts based on the said parent node and its parent node's parent node, based on the decoded predictor mode.
具体的には、例えば、ツリー合成部2020は、非特許文献1に記載の手法で、かかる処理を実現できる。 Specifically, for example, the tree synthesis unit 2020 can achieve this processing using the method described in Non-Patent Document 1.
かかる予測器の選択が完了した後、本動作は、ステップS1304へ進む。 After the selection of the predictor is complete, this operation proceeds to step S1304.
ステップS1304において、ツリー合成部2020は、方位角ステップ数の予測値を計算する。 In step S1304, the tree synthesis unit 2020 calculates a predicted value for the azimuth step number.
ツリー合成部2020は、例えば、レーザーIDを用いて、方位角ステップ数の予測値を計算してもよい。 The tree synthesis unit 2020 may, for example, use a laser ID to calculate a predicted value for the azimuth step count.
具体的には、ツリー合成部2020は、レーザーIDに応じて与えられる値を用いて、方位角ステップ数の予測値を計算してもよい。或いは、ツリー合成部2020は、レーザーIDごとに方位角ステップ数を記録しておき、かかる方位角ステップ数の平均値や中央値を用いて、方位角ステップ数の予測値を計算してもよい。或いは、ツリー合成部2020は、直近に復号した方位角ステップ数のパターンを用いて、方位角ステップ数の予測値を計算してもよい。具体的には後述する。 Specifically, the tree synthesis unit 2020 may calculate a predicted value for the azimuth step count using a value given according to the laser ID. Alternatively, the tree synthesis unit 2020 may record the azimuth step count for each laser ID and calculate a predicted value for the azimuth step count using the average or median of these azimuth step counts. Alternatively, the tree synthesis unit 2020 may calculate a predicted value for the azimuth step count using the most recently decoded azimuth step count pattern. Specific details will be described later.
また、上述のような複数の予測値の計算方法をそれぞれ予測器として定義しておき、ツリー合成部2020は、点ごと或いはレーザーIDごとに予測器を選択し、選択した予測器で定義されている方法に基づいて予測値を算出してもよい。 Furthermore, the tree synthesis unit 2020 may define multiple methods for calculating predicted values as separate predictors, and then select a predictor for each point or laser ID, calculating the predicted values based on the method defined by the selected predictor.
かかる方位角ステップ数の予測値の計算が完了した後、本動作は、ステップS1305へ進む。 After the calculation of the predicted azimuth step count is complete, this operation proceeds to step S1305.
ステップS1305において、ツリー合成部2020は、方位角ステップ数の再構成を行う。 In step S1305, the tree synthesis unit 2020 reconstructs the azimuth step count.
具体的には、ツリー合成部2020は、復号した方位角ステップ数の残差と、予測した方位角ステップ数の予測値とを加算することで、方位角ステップ数の再構成を行う。 Specifically, the tree synthesis unit 2020 reconstructs the azimuth step count by adding the residual of the decoded azimuth step count to the predicted value of the predicted azimuth step count.
かかる再構成が完了した後、本動作は、ステップS1306へ進む。 After this reconstruction is complete, the process proceeds to step S1306.
ステップS1306において、ツリー合成部2020は、予測値の計算を行う。 In step S1306, the tree synthesis unit 2020 calculates the predicted values.
具体的には、ツリー合成部2020は、復号した予測器インデックスに該当する予測器を予測器リストから取得し、取得した予測器に基づいて、かかる予測値を計算する。かかる予測器には、既に復号済みのノードの方位角及び半径が含まれる。 Specifically, the tree synthesis unit 2020 retrieves the predictor corresponding to the decoded predictor index from the predictor list, and calculates the predicted value based on the retrieved predictor. This predictor includes the azimuth and radius of the already decoded node.
ツリー合成部2020は、既に復号済みのノードの方位角及び半径に対して処理対象ノードの親ノードの復号済みのレーザーIDを加えた情報に基づいて、例えば、非特許文献2に記載の手法で、予測器の計算を実現できる。 The tree synthesis unit 2020 can perform predictor calculations, for example, using the method described in Non-Patent Document 2, based on information obtained by adding the decoded laser ID of the parent node of the node to be processed to the azimuth angle and radius of already decoded nodes.
かかる予測器の計算が完了した後、本動作は、ステップS1307へ進み、処理を終了する。 After the predictor's calculations are complete, this operation proceeds to step S1307 and terminates.
以上のように、ツリー合成部2020は、方位角ステップ数の予測値を計算し、方位角ステップ数の予測を行い、方位角ステップ数の残差を復号し、予測値に残差を加算することで方位角ステップ数を再構成する構成としてもよい。 As described above, the tree synthesis unit 2020 may be configured to calculate a predicted value for the number of azimuth steps, predict the number of azimuth steps, decode the residual for the number of azimuth steps, and reconstruct the number of azimuth steps by adding the residual to the predicted value.
このような構成とすることで、方位角ステップ数の残差のみを復号することができ、符号化効率を改善することができる。 This configuration allows for decoding only the residual of the azimuth step count, thereby improving encoding efficiency.
図14は、ステップS1304の方位角ステップ数の予測値の計算の処理の一例を示すフローチャートである。 Figure 14 is a flowchart showing an example of the process for calculating the predicted azimuth step number in step S1304.
図14に示すように、ステップS1401において、ツリー合成部2020は、復号済みのノード数がN+1個よりも大きいか否かについて判定する。 As shown in Figure 14, in step S1401, the tree synthesis unit 2020 determines whether the number of decoded nodes is greater than or equal to N+1.
N+1個未満であると判定された場合、本動作は、ステップS1402へ進み、N+1個以上であると判定された場合、本動作は、ステップS1403へ進む。 If it is determined that there are fewer than N+1 items, this operation proceeds to step S1402. If it is determined that there are N+1 or more items, this operation proceeds to step S1403.
ステップS1402において、ツリー合成部2020は、方位角ステップ数の予測値を取得する。 In step S1402, the tree synthesis unit 2020 obtains a predicted value for the azimuth step number.
具体的には、ツリー合成部2020は、復号済方位角ステップ数リストから、直近で復号されたノードをN個分さかのぼり、1組の方位角ステップ数のパターンとして取得し、方位角ステップ数予測値テーブルから、取得した方位角ステップ数のパターンに対応する予測値を取得する。 Specifically, the tree synthesis unit 2020 retrieves N recently decoded nodes from the decoded azimuth step count list, obtains them as a pattern of azimuth step counts, and retrieves predicted values corresponding to the obtained azimuth step count pattern from the azimuth step count prediction value table.
復号済方位角ステップ数リストは、各復号済みのノードにおいて、復号した方位角ステップ数を保持するリストである。 The decoded azimuth step count list is a list that holds the number of decoded azimuth steps for each decoded node.
方位角ステップ数予測値テーブルは、N個分の方位角ステップ数のパターンと、かかるパターンに対応する方位角ステップ数の予測値を対として、複数保持する。 The azimuth step count prediction table stores multiple pairs of N azimuth step count patterns and their corresponding predicted azimuth step counts.
なお、ツリー合成部2020は、個数Nとして、ptree_ang_max_qphi_table_patternの値を用いてもよい。 Furthermore, the tree synthesis unit 2020 may use the value of `ptree_ang_max_qphi_table_pattern` as the number N.
ツリー合成部2020は、復号済方位角ステップ数リスト及び方位角ステップ数予測値テーブルについて、後述の処理で更新する。 The tree synthesis unit 2020 updates the decoded azimuth step count list and the azimuth step count prediction value table in the processing described below.
かかる予測値の取得が完了した後、本動作は、ステップS1405へ進む。 After the acquisition of these predicted values is complete, this operation proceeds to step S1405.
ステップS1403において、ツリー合成部2020は、復号済方位角ステップ数リストから予測値を取得する。 In step S1403, the tree synthesis unit 2020 obtains the predicted value from the decoded azimuth angle step count list.
復号済みのノード数がN+1個未満である場合、方位角ステップ数予測値テーブルには、未だN以上のパターンが存在していないため、ツリー合成部2020は、復号済方位角ステップ数リストから予測値を取得する。 If the number of decoded nodes is less than N+1, the tree synthesis unit 2020 retrieves the predicted values from the decoded azimuth step count list, because there are no patterns greater than or equal to N in the azimuth step count prediction table yet.
例えば、ツリー合成部2020は、直近に復号されたノードの方位角ステップ数を取得し、上述の予測値としてもよい。 For example, the tree synthesis unit 2020 may obtain the azimuth step number of the most recently decoded node and use it as the predicted value described above.
かかる予測値の取得が完了した後、本動作は、ステップS1404へ進む。 After obtaining the predicted values, the process proceeds to step S1404.
ステップS1404において、ツリー合成部2020は、復号済みのノード数がNより大きいか否かについて判定する。 In step S1404, the tree synthesis unit 2020 determines whether the number of decoded nodes is greater than N.
Nより大きいと判定された場合、本動作は、ステップS1405へ進み、N未満であると判定された場合、本動作は、ステップS1406へ進む。 If it is determined to be greater than N, this operation proceeds to step S1405. If it is determined to be less than N, this operation proceeds to step S1406.
ステップS1405において、ツリー合成部2020は、方位角ステップ数予測値テーブルの更新を行う。 In step S1405, the tree synthesis unit 2020 updates the azimuth step number prediction value table.
ツリー合成部2020は、かかる処理では、直近N個の復号済方位角ステップ数のパターンが、方位角ステップ数予測値テーブル上に存在していない場合は、かかるパターン及び復号対象ノードの方位角ステップ数を予測値として更新する。一方、ツリー合成部2020は、直近N個の復号済方位角ステップ数のパターンが、方位角ステップ数予測値テーブル上に存在する場合は、かかるパターンに対応する予測値を更新する。具体的には後述する。 In this process, the tree synthesis unit 2020 updates the predicted values for the azimuth step counts of the most recent N decoded azimuth step count patterns and the azimuth step counts of the nodes to be decoded if such patterns do not exist in the azimuth step count prediction value table. Conversely, if the tree synthesis unit 2020 does exist in the azimuth step count prediction value table for the most recent N decoded azimuth step count patterns, it updates the predicted values corresponding to such patterns. This will be explained in detail later.
方位角ステップ数予測値テーブルの更新が完了した後、本動作は、ステップS1406へ進む。 After the azimuth step number prediction value table has been updated, this operation proceeds to step S1406.
ステップS1406において、ツリー合成部2020は、復号済方位角ステップ数リストの更新を行う。 In step S1406, the tree synthesis unit 2020 updates the decoded azimuth step count list.
具体的には、ツリー合成部2020は、各復号済みのノードにおいて復号した方位角ステップ数を保持しておくため、今回復号したノードのインデックス及び方位角ステップ数を更新する。 Specifically, the tree synthesis unit 2020 updates the index and azimuth step count of the decoded node in order to maintain the decoded azimuth step count for each decoded node.
かかる復号済方位角ステップ数リストの更新が完了した後、本動作は、ステップS1407へ進み、処理を終了する。 After the update of the decoded azimuth step count list is complete, this operation proceeds to step S1407 and terminates.
図15は、ステップS1405の方位角ステップ数予測値テーブルの更新処理の一例を示すフローチャートである。 Figure 15 is a flowchart showing an example of the process for updating the azimuth step number prediction table in step S1405.
図15に示すように、ステップS1501において、ツリー合成部2020は、復号済方位角ステップ数リストから、直近N個の復号済方位角ステップ数を取得する。 As shown in Figure 15, in step S1501, the tree synthesis unit 2020 obtains the most recent N decoded azimuth step counts from the decoded azimuth step count list.
ツリー合成部2020は、取得したN個の方位角ステップ数を1組のパターンとして、後述の処理で利用する。 The tree synthesis unit 2020 uses the acquired N azimuth step counts as a set of patterns in the processing described later.
かかる取得が完了した後、本動作は、ステップS1502へ進む。 After this acquisition is complete, the operation proceeds to step S1502.
ステップS1502において、ツリー合成部2020は、ステップS1501で取得した直近の復号済方位角ステップ数のパターンが、方位角予測器テーブルに存在するかについて判定する。 In step S1502, the tree synthesis unit 2020 determines whether the pattern of the most recent decoded azimuth step number obtained in step S1501 exists in the azimuth predictor table.
存在しないと判定された場合、本動作は、ステップS1503へ進み、存在すると判定された場合、本動作は、ステップS1504へ進む。 If it is determined that the item does not exist, this operation proceeds to step S1503. If it is determined that the item exists, this operation proceeds to step S1504.
ステップS1503において、ツリー合成部2020は、方位角予測器テーブルに、上述のパターン及び予測値を追加する。 In step S1503, the tree synthesis unit 2020 adds the above-mentioned pattern and predicted values to the azimuth angle predictor table.
具体的には、ツリー合成部2020は、ステップS1502で取得した方位角ステップ数のパターン及び今回の復号対象ノードにおいて復号した方位角ステップ数を予測値とし、かかるパターン及びと予測値を対として追加する。 Specifically, the tree synthesis unit 2020 uses the pattern of azimuth step numbers obtained in step S1502 and the predicted azimuth step numbers decoded at the node to be decoded in this step as predicted values, and adds these patterns and predicted values as pairs.
かかる追加が完了した後、本動作は、ステップS1505へ進み、処理を終了する。 After the addition is complete, the process proceeds to step S1505 and terminates.
ステップ1504において、ツリー合成部2020は、方位角予測器テーブルの予測値を更新する。 In step 1504, the tree synthesis unit 2020 updates the predicted values in the azimuth angle predictor table.
具体的には、ツリー合成部2020は、方位角予測器テーブル上に存在するステップS1502で取得した方位角ステップ数のパターンに対応する予測値を更新する。 Specifically, the tree synthesis unit 2020 updates the predicted values corresponding to the patterns of azimuth step numbers obtained in step S1502, which are present on the azimuth predictor table.
ツリー合成部2020は、例えば、今回の復号対象ノードにおいて復号した方位角ステップ数を予測値として更新してもよいし、方位角ステップ数のパターンに対するこれまでの予測値を履歴として保持しておき、かかる予測値の平均値や中央値を予測値として更新してもよい。 The tree synthesis unit 2020 may, for example, update the number of azimuth steps decoded in the node to be decoded in the current decoded node as a predicted value, or it may maintain a history of previous predicted values for patterns of azimuth step numbers and update the predicted value using the average or median of these predicted values.
また、ツリー合成部2020は、方位角予測器テーブルについて、レーザーIDごとに独立して作成・更新してもよい。 Furthermore, the tree synthesis unit 2020 may create and update the azimuth angle predictor table independently for each laser ID.
かかる更新が完了した後、本動作は、ステップS1505へ進み、処理を終了する。 After the update is complete, this operation proceeds to step S1505 and terminates.
(点群符号化装置100)
以下、図16を参照して、本実施形態に係る点群符号化装置100について説明する。図16は、本実施形態に係る点群符号化装置100の機能ブロックの一例について示す図である。
(Point cloud encoding device 100)
The point cloud coding device 100 according to this embodiment will be described below with reference to Figure 16. Figure 16 is a diagram showing an example of the functional blocks of the point cloud coding device 100 according to this embodiment.
図16に示すように、点群符号化装置100は、座標変換部1010と、幾何情報量子化部1020と、ツリー解析部1030と、近似表面解析部1040と、幾何情報符号化部1050と、幾何情報再構成部1060と、色変換部1070と、属性転移部1080と、RAHT部1090と、LoD算出部1100と、リフティング部1110と、属性情報量子化部1120と、属性情報符号化部1130と、フレームバッファ1140とを有する。 As shown in Figure 16, the point cloud coding device 100 includes a coordinate transformation unit 1010, a geometric information quantization unit 1020, a tree analysis unit 1030, an approximate surface analysis unit 1040, a geometric information coding unit 1050, a geometric information reconstruction unit 1060, a color conversion unit 1070, an attribute transfer unit 1080, a RAHT unit 1090, an LoD calculation unit 1100, a lifting unit 1110, an attribute information quantization unit 1120, an attribute information coding unit 1130, and a frame buffer 1140.
座標変換部1010は、入力点群の3次元座標系から、任意の異なる座標系への変換処理を行うよう構成されている。座標変換は、例えば、入力点群を回転することにより、入力点群のx、y、z座標を任意のs、t、u座標に変換してもよい。また、変換のバリエーションの1つとして、入力点群の座標系をそのまま使用してもよい。 The coordinate transformation unit 1010 is configured to perform a transformation process from the three-dimensional coordinate system of the input point cloud to an arbitrary different coordinate system. The coordinate transformation may, for example, be performed by rotating the input point cloud to transform the x, y, and z coordinates of the input point cloud into arbitrary s, t, and u coordinates. Alternatively, as one variation of the transformation, the coordinate system of the input point cloud may be used as is.
幾何情報量子化部1020は、座標変換後の入力点群の位置情報の量子化及び座標が重複する点の除去を行うように構成されている。なお、量子化ステップサイズが1の場合は、入力点群の位置情報と量子化後の位置情報とが一致する。すなわち、量子化ステップサイズが1の場合は、量子化を行わない場合と等価になる。 The geometric information quantization unit 1020 is configured to quantize the positional information of the input point cloud after coordinate transformation and to remove points with overlapping coordinates. When the quantization step size is 1, the positional information of the input point cloud and the positional information after quantization match. In other words, when the quantization step size is 1, it is equivalent to not performing quantization.
ツリー解析部1030は、量子化後の点群の位置情報を入力として、後述のツリー構造に基づいて、符号化対象空間のどのノードに点が存在するかについて示すoccupancy codeを生成するように構成されている。 The tree analysis unit 1030 is configured to take the positional information of the quantized point cloud as input and generate an occupancy code indicating which node in the encoding target space the point resides at, based on the tree structure described later.
ツリー解析部1030は、本処理において、符号化対象空間を再帰的に直方体で区切ることにより、ツリー構造を生成するように構成されている。 The tree analysis unit 1030 is configured to generate a tree structure in this process by recursively dividing the encoding target space into rectangular parallelepipeds.
ここで、ある直方体内に点が存在する場合、かかる直方体を複数の直方体に分割する処理を、直方体が所定のサイズになるまで再帰的に実行することでツリー構造を生成することができる。なお、かかる各直方体をノードと呼ぶ。また、ノードを分割して生成される各直方体を子ノードと呼び、子ノード内に点が含まれるか否かについて0又は1で表現したものがoccupancy codeである。 Here, if a point exists within a given rectangular prism, a tree structure can be generated by recursively dividing that prism into multiple smaller prisms until the prism reaches a predetermined size. Each of these prisms is called a node. Furthermore, each prism generated by dividing a node is called a child node, and the occupancy code represents whether or not a child node contains a point, expressed as 0 or 1.
以上のように、ツリー解析部1030は、所定のサイズになるまでノードを再帰的に分割しながら、occupancy codeを生成するように構成されている。 As described above, the tree analysis unit 1030 is configured to generate an occupancy code by recursively dividing the nodes until they reach a predetermined size.
本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。 In this embodiment, a method called "Octree," which recursively performs octree partitioning by always treating the aforementioned rectangular prism as a cube, and a method called "QtBt," which performs quadtree partitioning and binary tree partitioning in addition to octree partitioning, can be used.
ここで、「QtBt」を使用するか否かについては、制御データとして点群復号装置200に伝送される。 The decision of whether or not to use "QtBt" is transmitted to the point cloud decoder 200 as control data.
或いは、任意のツリー構成を用いるPredictive geometry codingを使用するように指定されてもよい。かかる場合、ツリー解析部1030が、ツリー構造を決定し、決定されたツリー構造は、制御データとして点群復号装置200へ伝送される。 Alternatively, the system may be specified to use predictive geometry coding with an arbitrary tree configuration. In this case, the tree analysis unit 1030 determines the tree structure, and the determined tree structure is transmitted to the point cloud decoder 200 as control data.
例えば、ツリー構造の制御データは、図7及び図8で説明した手順で復号できるよう構成されていてもよい。 For example, the control data in a tree structure may be configured to be decoded using the procedure described in Figures 7 and 8.
近似表面解析部1040は、ツリー解析部1030によって生成されたツリー情報を用いて、近似表面情報を生成するように構成されている。 The approximate surface analysis unit 1040 is configured to generate approximate surface information using the tree information generated by the tree analysis unit 1030.
近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。 Approximate surface information is used, for example, when decoding 3D point cloud data of an object. In cases where the point cloud is densely distributed on the object's surface, instead of decoding each individual point cloud, the region where the point cloud exists is approximated and represented by a small plane.
具体的には、近似表面解析部1040は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成するように構成されていてもよい。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。 Specifically, the approximate surface analysis unit 1040 may be configured to generate approximate surface information using a method such as "Trisoup." Furthermore, this process can be omitted when decoding sparse point clouds acquired by a Lidar or the like.
幾何情報符号化部1050は、ツリー解析部1030によって生成されたoccupancy code及び近似表面解析部1040によって生成された近似表面情報等のシンタックスを符号化してビットストリーム(幾何情報ビットストリーム)を生成するように構成されている。ここで、ビットストリームには、例えば、図4で説明したシンタックスを含まれていてもよい。 The geometric information encoding unit 1050 is configured to encode the syntax of the occupancy code generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040, thereby generating a bitstream (geometric information bitstream). Here, the bitstream may include, for example, the syntax described in Figure 4.
符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。 The encoding process is, for example, context-adaptive binary arithmetic encoding. Here, for example, the syntax includes control data (flags and parameters) to control the decoding process of the location information.
幾何情報再構成部1060は、ツリー解析部1030によって生成されたツリー情報及び近似表面解析部1040によって生成された近似表面情報に基づいて、符号化対象の点群データの各点の幾何情報(符号化処理が仮定している座標系、すなわち、座標変換部1010における座標変換後の位置情報)を再構成するように構成されている。 The geometric information reconstruction unit 1060 is configured to reconstruct the geometric information of each point in the point cloud data to be encoded (the coordinate system assumed by the encoding process, i.e., the position information after coordinate transformation in the coordinate transformation unit 1010) based on the tree information generated by the tree analysis unit 1030 and the approximate surface information generated by the approximate surface analysis unit 1040.
フレームバッファ1140は、幾何情報再構成部1060によって再構成された幾何情報を入力とし、参照フレームとして保存するように構成されている。 The frame buffer 1140 is configured to receive geometric information reconstructed by the geometric information reconstruction unit 1060 as input and store it as a reference frame.
保存された参照フレームは、ツリー解析部1030において時間的に異なるフレームのインター予測を行う場合に、フレームバッファ1140から読み出されて参照フレームとして使用される。 The saved reference frames are read from the frame buffer 1140 and used as reference frames when the tree analysis unit 1030 performs interval prediction of frames that are different in time.
ここで、各フレームに対してどの時刻の参照フレームを用いるかどうかが、例えば、符号化効率を表すコスト関数の値に基づいて決定され、使用する参照フレームの情報が制御データとして点群復号装置200へ伝送されてもよい。 Here, the choice of which timestamp reference frame to use for each frame may be determined, for example, based on the value of a cost function representing encoding efficiency, and information about the reference frame to be used may be transmitted to the point cloud decoder 200 as control data.
色変換部1070は、入力の属性情報が色情報であった場合に、色変換を行うように構成されている。色変換は、必ずしも実行する必要は無く、色変換処理の実行の有無については、制御データの一部として符号化され、点群復号装置200へ伝送される。 The color conversion unit 1070 is configured to perform color conversion when the input attribute information is color information. Color conversion is not always necessary; whether or not the color conversion process is performed is encoded as part of the control data and transmitted to the point cloud decoder 200.
属性転移部1080は、入力点群の位置情報、幾何情報再構成部1060における再構成後の点群の位置情報及び色変換部1070での色変化後の属性情報に基づいて、属性情報の歪みが最小となるように属性値を補正するように構成されている。具体的な補正方法は、例えば、非特許文献1に記載の方法を適用できる。 The attribute transfer unit 1080 is configured to correct attribute values to minimize distortion of attribute information based on the position information of the input point cloud, the position information of the point cloud after reconstruction by the geometric information reconstruction unit 1060, and the attribute information after color change by the color conversion unit 1070. A specific correction method can be applied, for example, the method described in Non-Patent Document 1.
RAHT部1090は、属性転移部1080による転移後の属性情報及び幾何情報再構成部1060によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換の一種を用いて、各点の残差情報を生成するように構成されている。RAHTの具体的な処理としては、例えば、上述の非特許文献1に記載の方法を用いることができる。 The RAHT unit 1090 takes the attribute information after the attribute transfer by the attribute transfer unit 1080 and the geometric information generated by the geometric information reconstruction unit 1060 as input, and is configured to generate residual information for each point using a type of Haar transform called RAHT (Region Adaptive Hierarchical Transform). For example, the method described in Non-Patent Document 1 above can be used for the specific processing of RAHT.
LoD算出部1100は、幾何情報再構成部1060によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。 The LoD calculation unit 1100 is configured to receive geometric information generated by the geometric information reconstruction unit 1060 as input and generate the LoD (Level of Detail).
LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。 The Line of Data (LoD) is information used to define reference relationships (referring points and referenced points) for implementing predictive coding, which involves predicting the attribute information of one point from the attribute information of another point, and then encoding or decoding the predicted residual.
言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。 In other words, LoD (Line of Data) is information that defines a hierarchical structure in which each point included in geometric information is classified into multiple levels, and the attributes of points belonging to lower levels are encoded or decoded using the attribute information of points belonging to higher levels.
LoDの具体的な決定方法としては、例えば、上述の非特許文献1に記載の方法を用いてもよい。 As a specific method for determining the Line of Disorder (LoD), for example, the method described in Non-Patent Document 1 above may be used.
リフティング部1110は、LoD算出部1100によって生成されたLoD及び属性転移部1080での属性転移後の属性情報を用いて、リフティング処理により残差情報を生成するように構成されている。 The lifting unit 1110 is configured to generate residual information through a lifting process using the LoD calculated by the LoD calculation unit 1100 and the attribute information after attribute transfer in the attribute transfer unit 1080.
リフティングの具体的な処理としては、例えば、上述の非特許文献1に記載の方法を用いてもよい。 As for the specific lifting process, for example, the method described in Non-Patent Document 1 above may be used.
属性情報量子化部1120は、RAHT部1090又はリフティング部1110から出力される残差情報を量子化するように構成されている。ここで、量子化ステップサイズが1の場合は、量子化を行わない場合と等価である。 The attribute information quantization unit 1120 is configured to quantize the residual information output from the RAHT unit 1090 or the lifting unit 1110. Here, a quantization step size of 1 is equivalent to not performing quantization.
属性情報符号化部1130は、属性情報量子化部1120から出力される量子化後の残差情報等をシンタックスとして符号化処理を行い、属性情報に関するビットストリーム(属性情報ビットストリーム)を生成するように構成されている。 The attribute information encoding unit 1130 is configured to encode the quantized residual information output from the attribute information quantization unit 1120 using the syntax, thereby generating a bitstream related to attribute information (attribute information bitstream).
符号化処理は、例えば、コンテクスト適応二値算術符号化処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。 The encoding process is, for example, context-adaptive binary arithmetic encoding. Here, for example, the syntax includes control data (flags and parameters) to control the decoding process of attribute information.
点群符号化装置100は、以上の処理により、点群内の各点の位置情報及び属性情報を入力として符号化処理を行い、幾何情報ビットストリーム及び属性情報ビットストリームを出力するように構成されている。 The point cloud encoding device 100 is configured to perform encoding processing on the positional and attribute information of each point within the point cloud, and to output a geometric information bitstream and an attribute information bitstream, based on the above processing.
また、上述の点群符号化装置100及び点群復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。 Furthermore, the point cloud encoding device 100 and point cloud decoding device 200 described above may be implemented as programs that cause a computer to execute each function (each process).
なお、上記の各実施形態では、本発明を点群符号化装置100及び点群復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、点群符号化装置100及び点群復号装置200の各機能を備えた点群符号化/復号システムにも同様に適用できる。 In the above embodiments, the present invention was described using the application to a point cloud coding device 100 and a point cloud decoding device 200 as examples. However, the present invention is not limited to such examples and can also be similarly applied to a point cloud coding/decoding system equipped with the functions of the point cloud coding device 100 and the point cloud decoding device 200.
なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 Furthermore, according to this embodiment, for example, it is possible to achieve an overall improvement in service quality in video communication, thereby contributing to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs): "Build resilient infrastructure, promote sustainable industrialization and foster innovation."
10…点群処理システム
100…点群符号化装置
1010…座標変換部
1020…幾何情報量子化部
1030…ツリー解析部
1040…近似表面解析部
1050…幾何情報符号化部
1060…幾何情報再構成部
1070…色変換部
1080…属性転移部
1090…RAHT部
1100…LoD算出部
1110…リフティング部
1120…属性情報量子化部
1130…属性情報符号化部
1140…フレームバッファ
200…点群復号装置
2010…幾何情報復号部
2020…ツリー合成部
2030…近似表面合成部
2040…幾何情報再構成部
2050…逆座標変換部
2060…属性情報復号部
2070…逆量子化部
2080…RAHT部
2090…LoD算出部
2100…逆リフティング部
2110…逆色変換部
2120…フレームバッファ
10...Point cloud processing system 100...Point cloud coding device 1010...Coordinate transformation unit 1020...Geometric information quantization unit 1030...Tree analysis unit 1040...Approximate surface analysis unit 1050...Geometric information coding unit 1060...Geometric information reconstruction unit 1070...Color conversion unit 1080...Attribute transfer unit 1090...RAHT unit 1100...LoD calculation unit 1110...Lifting unit 1120...Attribute information quantization unit 1130...Attribute Information encoding unit 1140... Frame buffer 200... Point cloud decoding device 2010... Geometric information decoding unit 2020... Tree synthesis unit 2030... Approximate surface synthesis unit 2040... Geometric information reconstruction unit 2050... Inverse coordinate transformation unit 2060... Attribute information decoding unit 2070... Inverse quantization unit 2080... RAHT unit 2090... LoD calculation unit 2100... Inverse lifting unit 2110... Inverse color transformation unit 2120... Frame buffer
Claims (10)
Angularモード且つ適応的方位角量子化モードにおいて、復号済みのノードの半径及び方位角が格納された予測器リストから取得した予測器を用いて線形予測を行うツリー合成部を備えることを特徴とする点群復号装置。 A point cloud decoder,
A point cloud decoder characterized by comprising a tree synthesis unit that performs linear prediction using a predictor obtained from a predictor list storing the radius and azimuth of decoded nodes in Angular mode and adaptive azimuth quantization mode.
線形予測器使用フラグリストを用いて前記予測器のインデックスを決定し、
決定した前記予測器のインデックス及び前記予測器インデックスに基づいて、前記予測器を選択することを特徴とする請求項4に記載の点群復号装置。 The aforementioned tree synthesis unit,
The index of the predictor is determined using the linear predictor usage flag list.
The point cloud decoding device according to claim 4, characterized in that the predictor is selected based on the determined predictor index and the predictor index.
前記親ノードが前記予測器を使用したか否かを判定し、
前記判定結果及び前記予測器インデックスに基づいて、前記予測器を選択することを特徴とする請求項6に記載の点群復号装置。 The aforementioned tree synthesis unit,
Determine whether the parent node used the predictor,
The point cloud decoding device according to claim 6, characterized in that it selects the predictor based on the determination result and the predictor index.
Angularモード且つ適応的方位角量子化モードにおいて、復号済みのノードの半径及び方位角が格納された予測器リストから取得した予測器を用いて線形予測を行う工程とを有することを特徴とする点群復号方法。 A point cloud decoding method,
A point cloud decoding method characterized by comprising the steps of performing linear prediction using a predictor obtained from a list of predictors storing the radius and azimuth of a decoded node , in Angular mode and adaptive azimuth quantization mode.
前記点群復号装置は、
Angularモード且つ適応的方位角量子化モードにおいて、復号済みのノードの半径及び方位角が格納された予測器リストから取得した予測器を用いて線形予測を行うツリー合成部を備えることを特徴とするプログラム。 A program that makes a computer function as a point cloud decoder,
The point cloud decoding device is,
A program characterized by comprising a tree synthesis unit that performs linear prediction using a predictor obtained from a predictor list that stores the radius and azimuth of decoded nodes , in Angular mode and adaptive azimuth quantization mode.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023001331A JP7829505B2 (en) | 2023-01-06 | 2023-01-06 | Point cloud decoding device, point cloud decoding method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023001331A JP7829505B2 (en) | 2023-01-06 | 2023-01-06 | Point cloud decoding device, point cloud decoding method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024097688A JP2024097688A (en) | 2024-07-19 |
| JP7829505B2 true JP7829505B2 (en) | 2026-03-13 |
Family
ID=91899298
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023001331A Active JP7829505B2 (en) | 2023-01-06 | 2023-01-06 | Point cloud decoding device, point cloud decoding method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7829505B2 (en) |
-
2023
- 2023-01-06 JP JP2023001331A patent/JP7829505B2/en active Active
Non-Patent Citations (1)
| Title |
|---|
| G-PCC 2nd Edition codec description,ISO/IEC JTC 1/SC 29/WG 7, N00314,2022年06月21日,pp.3-4,12-15,https://isotc.iso.org/livelink/livelink/open/jtc1sc29wg7 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024097688A (en) | 2024-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7651760B2 (en) | Point group decoding device, point group decoding method and program | |
| US20260039849A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| WO2023132331A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP7829505B2 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP7680398B2 (en) | Point group decoding device, point group decoding method and program | |
| JP7573555B2 (en) | Point group decoding device, point group decoding method and program | |
| JP7773961B2 (en) | Point group decoding device, point group decoding method and program | |
| WO2024008968A1 (en) | Method and apparatus for compression and encoding of 3d dynamic point cloud | |
| JP7851868B2 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP7812781B2 (en) | Point group decoding device, point group decoding method and program | |
| JP7773959B2 (en) | Point group decoding device, point group decoding method and program | |
| JP7773960B2 (en) | Point group decoding device, point group decoding method and program | |
| JP7842682B2 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| US20260105645A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP7573553B2 (en) | Point group decoding device, point group decoding method and program | |
| WO2024079985A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP2025009524A (en) | Point group decoding device, point group decoding method and program | |
| JP2024152169A (en) | Point group decoding device, point group decoding method and program | |
| JP2024152417A (en) | Point group decoding device, point group decoding method and program | |
| JP2025009525A (en) | Point group decoding device, point group decoding method and program | |
| JP2025009505A (en) | Point group decoding device, point group decoding method and program | |
| WO2025150285A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| WO2025150284A1 (en) | Point cloud decoding device, point cloud decoding method, and program | |
| JP2024152411A (en) | Point group decoding device, point group decoding method and program | |
| WO2024009561A1 (en) | Point cloud decoding device, point cloud decoding method, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241223 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251020 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20251111 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20251226 |
|
| 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: 20260224 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260303 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7829505 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |