WO2022138046A1 - 点群復号装置、点群復号方法及びプログラム - Google Patents

点群復号装置、点群復号方法及びプログラム Download PDF

Info

Publication number
WO2022138046A1
WO2022138046A1 PCT/JP2021/044263 JP2021044263W WO2022138046A1 WO 2022138046 A1 WO2022138046 A1 WO 2022138046A1 JP 2021044263 W JP2021044263 W JP 2021044263W WO 2022138046 A1 WO2022138046 A1 WO 2022138046A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertex
point cloud
approximate surface
plane
index
Prior art date
Application number
PCT/JP2021/044263
Other languages
English (en)
French (fr)
Inventor
恭平 海野
圭 河村
Original Assignee
Kddi株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kddi株式会社 filed Critical Kddi株式会社
Publication of WO2022138046A1 publication Critical patent/WO2022138046A1/ja
Priority to US18/212,184 priority Critical patent/US20230334715A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Definitions

  • the present invention relates to a point cloud decoding device, a point cloud decoding method and a program.
  • Non-Patent Document 1 discloses a technique using an approximate calculation of arctangent as a method of assigning an index (index) to each vertex at the time of Trisoop.
  • Non-Patent Document 1 cannot accurately approximate arctangent, and the magnitude relation of the output (angle) with respect to the input (coordinate value) is the same as the case where the ideal arctangent is used. There was a problem of not doing it.
  • Non-Patent Document 1 there is a problem that the division process is used in the approximate calculation, which is not suitable for hardware implementation.
  • the present invention has been made in view of the above-mentioned problems, and provides a point cloud decoding device, a point cloud decoding method, and a program that can add an index to each vertex by a simple method in Trisoop. The purpose.
  • the first feature of the present invention is a point group decoding device, which utilizes the fact that the coordinates of each vertex exist only on the sides of a rectangle projected on a plane, and is based on the coordinate values of each vertex.
  • the approximate surface synthesis unit is provided with an approximate surface synthesis unit configured to give an index to each of the vertices, and the approximate surface composition unit sets a starting point on the side of the rectangle projected on the plane, and the clock starts from the starting point.
  • the gist is to assign the index to each of the vertices so as to be clockwise or counterclockwise.
  • the second feature of the present invention is a point cloud decoding device, in which a projection plane is formed by using the maximum value and the minimum value of the x-axis direction coordinates, the y-axis direction coordinates, and the z-axis direction coordinates of each vertex.
  • the gist is to have an approximate surface synthesis unit to determine.
  • the third feature of the present invention is a point group decoding method, which utilizes the fact that the coordinates of each vertex exist only on the sides of a rectangle projected on a plane, and is based on the coordinate values of each vertex.
  • Each of the above-mentioned steps has a step of giving an index to each of the vertices, and in the step, a starting point is set on the side of the rectangle projected on the plane, and the starting point is clockwise or counterclockwise from the starting point.
  • the gist is to give the index to the vertices.
  • the fourth feature of the present invention is a program that causes a computer to function as a point group decoding device, and the point group decoding device exists only on the sides of a rectangle in which the coordinates of each vertex are projected on a plane.
  • the approximate surface synthesizing unit is configured to give an index to each of the vertices based on the coordinate values of the vertices, and the approximate surface synthesizing unit is projected onto the plane.
  • the gist is that the starting point is set on the side of the rectangle, and the index is given to each of the vertices so as to be clockwise or counterclockwise from the starting point.
  • a point cloud decoding device it is possible to provide a point cloud decoding device, a point cloud decoding method, and a program that can add an index to each vertex by a simple method in Trisoop.
  • FIG. 1 is a diagram showing an example of the configuration of the point cloud processing system 10 according to the embodiment.
  • FIG. 2 is a diagram showing an example of a functional block of the point cloud decoding device 200 according to the embodiment.
  • FIG. 3 is a flowchart showing an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 4A is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 4B is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 4A is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 4B is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 4C is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 5A is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 5B is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 6 is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 6 is a diagram for explaining an example of processing by the approximate surface synthesis unit 2030 of the point cloud decoding device 200 according to the embodiment.
  • FIG. 1 is a diagram showing a point cloud processing system 10 according to an embodiment according to the present embodiment.
  • the point cloud processing system 10 includes a point cloud coding device 100 and a point cloud decoding device 200.
  • the point group coding device 100 is configured to generate coded data (bit stream) by encoding an input point group signal.
  • the point cloud decoding device 200 is configured to generate an output point cloud signal by decoding a bit stream.
  • the input point cloud signal and the output point cloud signal are composed of position information and attribute information of each point in the point cloud.
  • the attribute information is, for example, color information or reflectance of each point.
  • the bit stream may be transmitted from the point cloud coding device 100 to the point cloud decoding device 200 via a transmission path. Further, the bit stream may be stored in the storage medium and then provided from the point cloud coding device 100 to the point cloud decoding device 200.
  • FIG. 2 is a diagram showing an example of a functional block of the point cloud decoding device 200 according to the present embodiment.
  • the point group decoding device 200 includes a geometric information decoding unit 2010, a tree composition unit 2020, an approximate surface composition unit 2030, a geometric information reconstruction unit 2040, an inverse coordinate conversion unit 2050, and attributes. It has an information decoding unit 2060, an inverse quantization unit 2070, a RAHT unit 2080, a LoD calculation unit 2090, an inverse lifting unit 2100, and an inverse color conversion unit 2110.
  • the geometric information decoding unit 2010 is configured to input a bit stream (geometric information bit stream) related to geometric information among the bit streams output from the point group coding device 100 and decode the syntax.
  • the decoding process is, for example, a context-adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the position information.
  • the tree synthesizing unit 2020 inputs the control data decoded by the geometric information decoding unit 2010 and the occupation code indicating which node in the tree described later has the point group, and the point is located in which area in the decoding target space. It is configured to generate tree information as to whether it exists.
  • the decoding target space is divided by a rectangular parallelepiped
  • the occurrence code is referred to to determine whether a point exists in each rectangular parallelepiped
  • the rectangular parallelepiped in which the point exists is divided into a plurality of rectangular parallelepipeds
  • the occurrence code is referred to.
  • Tree information can be generated by repeating the process recursively.
  • a method called "Octree” that recursively divides an ocree using the above-mentioned cube as a cube, and "QtBt” that divides a quadtree and a binary in addition to the ocree.
  • a technique called “" can be used. Whether or not to use "QtBt” is transmitted from the point cloud coding device 100 side as control data.
  • the tree synthesizer 2020 is configured to decode the coordinates of each point based on any tree configuration determined by the point cloud coding device 100. ing.
  • 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 the approximate surface information.
  • the approximate surface information is not to decode the individual point cloud but to decode the point cloud when the point cloud is densely distributed on the object surface, for example, when decoding the three-dimensional point cloud data of the object. It is a representation of the existing area of a group by approximating it with a small plane.
  • the approximate surface synthesis unit 2030 can generate approximate surface information and decode a point cloud by, for example, a method called "Trisoop". A specific processing example of "Trisoop" will be described later. Further, when decoding a sparse point cloud acquired by Lidar or the like, this process can be omitted.
  • the geometric information reconstruction unit 2040 is 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, and the geometric information (decoding process) of each point of the point group data to be decoded is used. It is configured to reconstruct the position information in the coordinate system assumed by.
  • the inverse coordinate conversion unit 2050 uses the geometric information reconstructed by the geometric information reconstruction unit 2040 as an input, converts the coordinate system assumed by the decoding process into the coordinate system of the output point cloud signal, and converts the position information into the coordinate system. It is configured to output.
  • the attribute information decoding unit 2060 is configured to input a bit stream (attribute information bit stream) related to attribute information among the bit streams output from the point group coding device 100 and decode the syntax.
  • the decoding process is, for example, a context-adaptive binary arithmetic decoding process.
  • the syntax includes control data (flags and parameters) for controlling the decoding process of the attribute information.
  • attribute information decoding unit 2060 is configured to decode the quantized residual information from the decoded syntax.
  • the inverse quantization unit 2070 is 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. It is configured to perform dequantization processing and generate dequantized residual information.
  • the dequantized residual information is output to either the RAHT unit 2080 or the LoD calculation unit 2090 according to the characteristics of the point cloud to be decoded. Which is output is specified by the control data decoded by the attribute information decoding unit 2060.
  • the RAHT unit 2080 receives the dequantized residual information generated by the dequantization unit 2070 and the geometric information generated by the geometric information reconstruction unit 2040 as inputs, and has a Har conversion (Haar transformation) called RAHT (Region Adaptive Thermal Transition). In the decoding process, it is configured to decode the attribute information of each point by using a kind of inverse Har conversion).
  • RAHT Har conversion
  • RAHT Registered Adaptive Thermal Transition
  • the LoD calculation unit 2090 is configured to generate LoD (Level of Detail) by inputting the geometric information generated by the geometric information reconstruction unit 2040.
  • LoD predicts the attribute information of another point from the attribute information of one point, and encodes or decodes the predicted residual. ) Is the information for defining.
  • LoD classifies each point contained in the geometric information into multiple levels, and for points belonging to the lower level, the attributes are encoded or decoded using the attribute information of the points belonging to the upper level. Information that defines the structure.
  • Non-Patent Document 1 As a specific method for determining LoD, for example, the method described in Non-Patent Document 1 may be used.
  • the inverse lifting unit 2100 uses the LoD generated by the LoD calculation unit 2090 and the inverse quantized residual information generated by the inverse quantization unit 2070, and the attribute information of each point is based on the hierarchical structure defined by LoD. Is configured to decrypt. As a specific process of reverse lifting, for example, the method described in Non-Patent Document 1 can be used.
  • the reverse color conversion unit 2110 outputs the attribute information output from the RAHT unit 2080 or the reverse lifting unit 2100 when the attribute information to be decoded is color information and the color conversion is performed on the point group coding device 100 side. It is configured to perform reverse color conversion processing. Whether or not the reverse color conversion process is executed is determined by the control data decoded by the attribute information decoding unit 2060.
  • the point cloud decoding device 200 is configured to decode and output the attribute information of each point in the point cloud by the above processing.
  • the tree composition unit 2020 Prior to the processing of the approximate surface synthesis unit 2030, the tree composition unit 2020 is configured to divide the rectangular parallelepiped until it reaches a predetermined size. This rectangular parallelepiped is hereinafter referred to as a node.
  • the predetermined size is determined, for example, on the point cloud coding device 100 side, and can be transmitted to the point cloud decoding device 200 side as control information.
  • the point cloud decoding device 200 side performs processing by the tree synthesizing unit 2020 until each node has a predetermined size, and then executes, for example, the processing described below for each node.
  • step S301 the approximate surface synthesis unit 2030 decodes the vertex positions at each node.
  • vertex positions A to E exist only on the sides of a rectangular parallelepiped (including a cube).
  • the number of vertices that can exist for each side is one point. That is, a maximum of 12 vertices are decoded for each node.
  • FIG. 4A shows an example when five vertices are decoded.
  • the method for decoding the vertex position for example, the method described in Non-Patent Document 1 can be applied.
  • step S302 the approximate surface synthesis unit 2030 determines the projection plane.
  • the approximate surface synthesis unit 2030 determines the projection plane using the maximum value and the minimum value of the x-axis direction coordinates, the y-axis direction coordinates, and the z-axis direction coordinates of each vertex.
  • the approximate surface synthesis unit 2030 calculates the variances of the coordinates of each vertex in the x-axis direction, the y-axis direction, and the z-axis direction, and the variance is the smallest in the axial direction.
  • Such projection planes may be determined so as to retract.
  • the approximate surface synthesis unit 2030 may degenerate in the z-axis direction and determine the xy plane as the projection plane.
  • the approximate surface synthesis unit 2030 may degenerate the y-axis direction and determine the xz plane as the projection plane.
  • the approximate surface synthesis unit 2030 may degenerate in the x-axis direction and determine the yz plane as the projection plane.
  • the approximate surface synthesis unit 2030 calculates the difference value between the maximum value and the minimum value in the x-axis direction, the y-axis direction, and the z direction of the coordinates of each vertex, and degenerates the axial direction in which the difference value is the smallest.
  • the plane composed of the remaining two axial directions may be determined as the projection plane.
  • FIG. 4B shows a case where the vertices A to E of FIG. 4A are projected onto the xy plane
  • FIG. 4C shows a case where the vertices A to E of FIG. 4A are projected onto the xy plane.
  • the minimum and maximum values of the coordinates in the x-axis direction correspond to xmin and xmax in FIG. 4B, respectively
  • the minimum and maximum values of the coordinates in the y-axis direction correspond to ymin and ymax in FIG. 4B, respectively
  • the minimum and maximum values of the coordinates in the z-axis direction correspond to zmin and zmax in FIG. 4C.
  • the approximate surface synthesis unit 2030 calculates the difference value between the above-mentioned maximum value and the minimum value (for example, xmax-xmin in the case of the x-axis direction) for each axial direction, and determines the axial direction in which the difference value is the smallest. Degenerate.
  • the approximate surface synthesis unit 2030 degenerates the z-axis direction and determines the projection plane to the xy plane. be able to.
  • the approximate surface synthesis unit 2030 degenerates the axial direction in which the difference between the maximum value and the minimum value is the smallest among the x-axis direction, y-axis direction, and z-axis direction coordinates of each vertex, and the remaining two. It is configured to determine a plane configured in the axial direction as a projection plane. With the above configuration, the amount of calculation can be reduced as compared with the case where the projection plane is determined by using the dispersion. When implemented by software, the processing time can be reduced, and when implemented by hardware, the circuit scale and power consumption can be reduced.
  • step S303 the approximate surface synthesis unit 2030 sorts each vertex and assigns an index (index) to each vertex.
  • index index
  • FIG. 5A is an example of the vertex position shown in FIG. 4 in which the approximate surface synthesis unit 2030 degenerates in the z-axis direction and projects the vertices on the xy plane.
  • the x-axis will be the a-axis and the y-axis will be the b-axis.
  • the x-axis is the a-axis and the z-axis is the b-axis
  • the y-axis is the a-axis and the z-axis is the b-axis.
  • the coordinates of the vertices A to E are expressed as the coordinates when the center of the rectangle projected on the ab plane is the origin O.
  • a case where a square is used as a projection plane as a kind of rectangle will be described as an example, but by appropriately considering the length of the side, it is possible to deal with the rectangle by the same method as described below.
  • FIG. 6 is a flowchart showing an example of a procedure for sorting and indexing each vertex in step S303.
  • step S303 the approximate surface synthesis unit 2030 determines whether or not the scores described later have been calculated for all the vertices of the corresponding node.
  • step S609 If it is determined that the scores have been calculated for all the vertices, this procedure proceeds to step S609, and if not, this procedure proceeds to step S602.
  • step S602 the approximate surface synthesis unit 2030 determines whether or not the vertex currently being processed exists on the side pq in FIG. 5B. Whether or not it exists on the side pq can be determined, for example, by whether or not the a coordinate of the vertex is half the node size (hereinafter referred to as NS), that is, whether or not it is NS / 2.
  • NS half the node size
  • the node size is the length of one side of the square in FIGS. 5A and 5B.
  • step S603 If it is determined that the vertex exists on the side pq, this procedure proceeds to step S603, and if not, this procedure proceeds to step S604.
  • step S603 the approximate surface synthesis unit 2030 calculates the score of the apex. For example, when the vertex is on the side pq, the approximate surface synthesis unit 2030 uses the b coordinate of the vertex as it is as a score.
  • step S603 After the score is calculated in step S603, this procedure proceeds to step S601, and the approximate surface synthesis unit 2030 processes the next vertex.
  • step S604 the approximate surface synthesis unit 2030 determines whether or not the vertex currently being processed exists on the side qr in FIG. 5B. Whether or not it exists on the side qr can be determined, for example, by whether or not the b coordinate of the vertex is half of NS, that is, whether or not it is NS / 2.
  • step S605 If it is determined that the vertex exists on the side qr, this procedure proceeds to step S605, and if not, this procedure proceeds to step S606.
  • step S605 After the score is calculated in step S605, this procedure proceeds to step S601, and the approximate surface synthesis unit 2030 processes the next vertex.
  • step S606 the approximate surface synthesis unit 2030 determines whether or not the vertex currently being processed exists on the side rs in FIG. 5B. Whether or not it exists on the side rs can be determined by, for example, whether or not the a coordinate of the vertex is half of NS, that is, whether or not it is NS / 2.
  • step S607 If it is determined that the vertex exists on the side rs, this procedure proceeds to step S607, and if not, this procedure proceeds to step S608.
  • step S607 After the score is calculated in step SS607, this procedure proceeds to step S601, and the approximate surface synthesis unit 2030 processes the next vertex.
  • step S608 After the score is calculated in step SS608, this procedure proceeds to step S601, and the approximate surface synthesis unit 2030 processes the next vertex.
  • step S609 the approximate surface synthesis unit 2030 sorts each vertex in ascending order of the score of each vertex (in the above example, the value of ⁇ NS / 2 to NS * 7/2), and each vertex is sorted in ascending order. Add an index to the vertices.
  • a negative value can be taken as the score value of each vertex, but for example, NS / 2 is added to the whole so that it always becomes a non-negative value (for example, 0 to 4 * NS). It may be defined in.
  • the approximate surface synthesis unit 2030 determines whether or not a point exists on the side in consideration of the quantization error when performing an integer calculation, and for the side rq and the side pq, the coordinates of the point are the node size. Judgment is made using whether or not it is more than half (NS / 2 or more), and for side rs, it is judged by using whether or not the coordinates of the point concerned are less than half the node size (NS / 2 or less). May be good.
  • the approximate surface synthesizing unit 2030 may determine by another method as long as it can be correctly determined that a point exists on the side based on the coordinate values.
  • indexes are assigned to each vertex in the order of counterclockwise from the lower right vertex of the projected rectangle as shown in FIG. 5A.
  • “B: 0" in FIG. 5A means that the index of the vertex B is "0", and the same applies to the other vertices.
  • indexes are assigned to each vertex in the order of counterclockwise starting from the lower right corner of the rectangle in FIG. 5A, but the starting point may be clearly determined other than the lower right corner. That is, the starting point may be anywhere as long as it exists on the side of the rectangle.
  • the starting point may be determined at one place prior to the decoding process in the geometric information decoding unit, or the position of the starting point may be adaptively changed for each node. For example, the starting point may be determined so that the edge with the most vertices is finally indexed.
  • the starting point can be determined as the position of the vertex p.
  • the approximate surface synthesis unit 2030 may assign an index to each vertex in the order of clockwise from the starting point instead of counterclockwise.
  • the approximate surface composition unit 2030 has a feature that the vertices always exist on the sides of the rectangle when the starting point is set on the sides of the projected rectangle and the order of indexing each vertex is determined.
  • a method other than the above may be used as long as it is configured to index each vertex so as to be clockwise or counterclockwise from the coordinate value.
  • the approximate surface synthesis unit 2030 may be configured to support the index using the coordinate values of the vertical axis with respect to the vertices on the vertical side.
  • the approximate surface synthesis unit 2030 may be configured to add an index to the vertices on the horizontal side using the coordinate values of the horizontal axis.
  • the approximate surface synthesis unit 2030 is configured to set a starting point on the side of a rectangle projected on a plane and to give an index to each vertex so as to be clockwise or counterclockwise from the starting point. You may.
  • Non-Patent Document 1 division is performed in the approximate calculation of arctangent, but the processing of the present embodiment can be basically realized only by addition / subtraction (offset values such as NS / 2 are Trisoop). By calculating in advance according to the NS of, it can be treated as a constant). Therefore, according to the present embodiment, the number of processing cycles can be shortened, in particular, when implemented by hardware, as compared with the method of Non-Patent Document 1.
  • step S304 the approximate surface synthesis unit 2030 generates a triangle based on the index of each vertex assigned in step S303.
  • the approximate surface synthesis unit 2030 can generate three triangles as shown in FIG. 7.
  • the generation of such a triangle can be realized, for example, by defining in advance the combination of the indexes of the vertices for forming the triangle, as described in Non-Patent Document 1.
  • step S305 the approximate surface synthesis unit 2030 generates points based on the triangle generated in step S304.
  • a method for generating points from a triangle for example, the method described in Non-Patent Document 1 can be applied.
  • step S306 After generating points for all the nodes by the above procedure, the process proceeds to step S306 to end the process.
  • point cloud coding device 100 and the point cloud decoding device 200 described above may be realized by a program that causes a computer to execute each function (each process).
  • the present invention has been described by using the application to the point cloud coding device 100 and the point cloud decoding device 200 as an example, but the present invention is not limited to such examples. The same can be applied to a point cloud coding / decoding system having each function of the point cloud coding device 100 and the point cloud decoding device 200.
  • the United Nations-led Sustainable Development Goals (SDGs) Goal 9 “Develop a resilient infrastructure, It will be possible to contribute to "promoting sustainable industrialization and expanding innovation.”

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本発明に係る点群復号装置200は、各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、各頂点の座標値を基に各頂点にインデックスを付与するように構成されている近似表面合成部2030を備え、近似表面合成部2030は、平面上に投影された長方形の辺上に起点を設定し、起点から時計回り又は反時計回りとなるように各頂点にインデックスを付与する。

Description

点群復号装置、点群復号方法及びプログラム
 本発明は、点群復号装置、点群復号方法及びプログラムに関する。
 非特許文献1には、Trisoup時の各頂点にインデックス(index)を付与する手法として、アークタンジェントの近似計算を用いる技術が開示されている。
G-PCC Future Enhancement、ISO/IEC/ JTC1/SC29/WG11 N19328
 しかしながら、非特許文献1におけるアークタンジェントの近似計算は、アークタンジェントを正しく近似できておらず、入力(座標値)に対する出力(角度)の大小関係が、理想的なアークタンジェントを使用した場合と一致しないという問題点があった。
 さらに、非特許文献1では、近似計算内に除算処理が使用されており、ハードウェア実装に不適であるという問題点があった。
 そこで、本発明は、上述の課題に鑑みてなされたものであり、Trisoupにおいて簡易な方法で各頂点にインデックスを付与することができる点群復号装置、点群復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、点群復号装置であって、各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与するように構成されている近似表面合成部を備え、前記近似表面合成部は、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与することを要旨とする。
 本発明の第2の特徴は、点群復号装置であって、各頂点のx軸方向座標、y軸方向座標及びz軸方向座標のうち、それぞれ最大値と最小値とを用いて投影面を決定する近似表面合成部を備えることを要旨とする。
 本発明の第3の特徴は、点群復号方法であって、各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与する工程を有し、前記工程において、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与することを要旨とする。
 本発明の第4の特徴は、コンピュータを、点群復号装置として機能させるプログラムであって、前記点群復号装置は、各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与するように構成されている近似表面合成部を備え、前記近似表面合成部は、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与することを要旨とする。
 本発明によれば、Trisoupにおいて簡易な方法で各頂点にインデックスを付与することができる点群復号装置、点群復号方法及びプログラムを提供することができる。
図1は、一実施形態に係る点群処理システム10の構成の一例を示す図である。 図2は、一実施形態に係る点群復号装置200の機能ブロックの一例を示す図である。 図3は、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を示すフローチャートである。 図4Aは、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図4Bは、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図4Cは、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図5Aは、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図5Bは、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図6は、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。 図6は、一実施形態に係る点群復号装置200の近似表面合成部2030による処理の一例を説明するための図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
(第1実施形態)
 以下、図1~図7を参照して、本発明の第1実施形態に係る点群処理システム10について説明する。図1は、本実施形態に係る実施形態に係る点群処理システム10を示す図である。
 図1に示すように、点群処理システム10は、点群符号化装置100及び点群復号装置200を有する。
 点群符号化装置100は、入力点群信号を符号化することによって符号化データ(ビットストリーム)を生成するように構成されている。点群復号装置200は、ビットストリームを復号することによって出力点群信号を生成するように構成されている。
 なお、入力点群信号及び出力点群信号は、点群内の各点の位置情報と属性情報とから構成される。属性情報は、例えば、各点の色情報や反射率である。
 ここで、かかるビットストリームは、点群符号化装置100から点群復号装置200に対して伝送路を介して送信されてもよい。また、ビットストリームは、記憶媒体に格納された上で、点群符号化装置100から点群復号装置200に提供されてもよい。
(点群復号装置200)
 以下、図2を参照して、本実施形態に係る点群復号装置200について説明する。図2は、本実施形態に係る点群復号装置200の機能ブロックの一例について示す図である。
 図2に示すように、点群復号装置200は、幾何情報復号部2010と、ツリー合成部2020と、近似表面合成部2030と、幾何情報再構成部2040と、逆座標変換部2050と、属性情報復号部2060と、逆量子化部2070と、RAHT部2080と、LoD算出部2090と、逆リフティング部2100と、逆色変換部2110とを有する。
 幾何情報復号部2010は、点群符号化装置100から出力されるビットストリームのうち、幾何情報に関するビットストリーム(幾何情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。
 復号処理は、例えば、コンテキスト適応二値算術復号処理である。ここで、例えば、シンタックスは、位置情報の復号処理を制御するための制御データ(フラグやパラメータ)を含む。
 ツリー合成部2020は、幾何情報復号部2010によって復号された制御データ及び後述するツリー内のどのノードに点群が存在するかを示すoccupancy codeを入力として、復号対象空間内のどの領域に点が存在するかというツリー情報を生成するように構成されている。
 本処理は、復号対象空間を直方体で区切り、occupancy codeを参照して各直方体内に点が存在するかを判断し、点が存在する直方体を複数の直方体に分割し、occupancy codeを参照するという処理を再帰的に繰り返すことで、ツリー情報を生成することができる。
 本実施形態では、上述の直方体を常に立方体として8分木分割を再帰的に行う「Octree」と呼ばれる手法、及び、8分木分割に加え、4分木分割及び2分木分割を行う「QtBt」と呼ばれる手法を使用することができる。「QtBt」を使用するか否かは、制御データとして点群符号化装置100側から伝送される。
 或いは、制御データによってPredicitive codingを使用するように指定された場合、ツリー合成部2020は、点群符号化装置100において決定した任意のツリー構成に基づいて各点の座標を復号するように構成されている。
 近似表面合成部2030は、ツリー合成部2020によって生成されたツリー情報を用いて近似表面情報を生成し、近似表面情報を基に点群を復号するように構成されている。
 近似表面情報は、例えば、物体の3次元点群データを復号する際等において、点群が物体表面に密に分布しているような場合に、個々の点群を復号するのではなく、点群の存在領域を小さな平面で近似して表現したものである。
 具体的には、近似表面合成部2030は、例えば、「Trisoup」と呼ばれる手法で、近似表面情報を生成し、点群を復号することができる。「Trisoup」の具体的な処理例については後述する。また、Lidar等で取得した疎な点群を復号する場合は、本処理を省略することができる。
 幾何情報再構成部2040は、ツリー合成部2020によって生成されたツリー情報及び近似表面合成部2030によって生成された近似表面情報を元に、復号対象の点群データの各点の幾何情報(復号処理が仮定している座標系における位置情報)を再構成するように構成されている。
 逆座標変換部2050は、幾何情報再構成部2040によって再構成された幾何情報を入力として、復号処理が仮定している座標系から、出力点群信号の座標系に変換を行い、位置情報を出力するように構成されている。
 属性情報復号部2060は、点群符号化装置100から出力されるビットストリームのうち、属性情報に関するビットストリーム(属性情報ビットストリーム)を入力とし、シンタックスを復号するように構成されている。
 復号処理は、例えば、コンテキスト適応二値算術復号処理である。ここで、例えば、シンタックスは、属性情報の復号処理を制御するための制御データ(フラグ及びパラメータ)を含む。
 また、属性情報復号部2060は、復号したシンタックスから、量子化済み残差情報を復号するように構成されている。
 逆量子化部2070は、属性情報復号部2060によって復号された量子化済み残差情報と、属性情報復号部2060によって復号された制御データの一つである量子化パラメータとを元に、逆量子化処理を行い、逆量子化済み残差情報を生成するように構成されている。
 逆量子化済み残差情報は、復号対象の点群の特徴に応じて、RAHT部2080及びLoD算出部2090のいずれかに出力される。いずれに出力されるかは、属性情報復号部2060によって復号される制御データによって指定される。
 RAHT部2080は、逆量子化部2070によって生成された逆量子化済み残差情報及び幾何情報再構成部2040によって生成された幾何情報を入力とし、RAHT(Region Adaptive Hierarchical Transform)と呼ばれるHaar変換(復号処理においては、逆Haar変換)の一種を用いて、各点の属性情報を復号するように構成されている。RAHTの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。
 LoD算出部2090は、幾何情報再構成部2040によって生成された幾何情報を入力とし、LoD(Level of Detail)を生成するように構成されている。
 LoDは、ある点の属性情報から、他のある点の属性情報を予測し、予測残差を符号化或いは復号するといった予測符号化を実現するための参照関係(参照する点及び参照される点)を定義するための情報である。
 言い換えると、LoDは、幾何情報に含まれる各点を複数のレベルに分類し、下位のレベルに属する点については上位のレベルに属する点の属性情報を用いて属性を符号化或いは復号するといった階層構造を定義した情報である。
 LoDの具体的な決定方法としては、例えば、非特許文献1に記載の方法を用いてもよい。
 逆リフティング部2100は、LoD算出部2090によって生成されたLoD及び逆量子化部2070によって生成された逆量子化済み残差情報を用いて、LoDで規定した階層構造に基づいて各点の属性情報を復号するように構成されている。逆リフティングの具体的な処理としては、例えば、非特許文献1に記載の方法を用いることができる。
 逆色変換部2110は、復号対象の属性情報が色情報であり且つ点群符号化装置100側で色変換が行われていた場合に、RAHT部2080又は逆リフティング部2100から出力される属性情報に逆色変換処理を行うように構成されている。かかる逆色変換処理の実行の有無については、属性情報復号部2060によって復号された制御データによって決定される。
 点群復号装置200は、以上の処理により、点群内の各点の属性情報を復号して出力するように構成されている。
(近似表面合成部2030)
 以下、図3~図5を用いて、本実施形態における近似表面合成部2030の処理の一例を説明する。
 近似表面合成部2030の処理に先立って、ツリー合成部2020は、所定のサイズになるまで直方体を分割するように構成されている。この直方体を、以下、ノードと呼ぶ。
 かかる所定のサイズは、例えば、点群符号化装置100側で決定され、制御情報として点群復号装置200側に伝送されることができる。点群復号装置200側は、各ノードが所定のサイズになるまで、ツリー合成部2020による処理を行った後、ノード毎に、例えば、以下に説明する処理を実行する。
 以下、図3を参照して、近似表面合成部2030による処理の一例について説明する。
 図3に示すように、ステップS301において、近似表面合成部2030は、各ノードにおける頂点位置を復号する。
 図4Aに示すように、かかる頂点位置A~Eは、直方体(立方体の場合も含む)の辺上にのみ存在する。
 ここで、各辺に対して存在できる頂点は、1点ずつである。すなわち、ノード毎に最大で12点の頂点が復号される。
 図4Aは、頂点が5点復号された場合の例を示している。頂点位置の復号方法は、例えば、非特許文献1に記載の方法を適用することができる。
 ステップS302において、近似表面合成部2030は、投影面を決定する。
 ここで、近似表面合成部2030は、各頂点のx軸方向座標、y軸方向座標及びz軸方向座標のうち、それぞれ最大値と最小値とを用いて投影面を決定する。
 例えば、非特許文献1に記載されているように、近似表面合成部2030は、各頂点の座標のx軸方向、y軸方向及びz軸方向の分散を計算し、かかる分散が最も小さい軸方向を縮退するように、かかる投影面を決定してもよい。
 すなわち、近似表面合成部2030は、z軸方向の分散が最も小さい場合には、z軸方向を縮退して、x-y平面を投影面として決定してもよい。
 また、近似表面合成部2030は、y軸方向の分散が最も小さい場合には、y軸方向を縮退して、x-z平面を投影面として決定してもよい。
 さらに、近似表面合成部2030は、x軸方向の分散が最も小さい場合には、x軸方向を縮退して、y-z平面を投影面として決定してもよい。
 或いは、近似表面合成部2030は、各頂点の座標のx軸方向、y軸方向及びz方向の最大値と最小値との差分値を算出し、かかる差分値が最も小さい軸方向を縮退し、残りの2つの軸方向で構成される面を投影面と決定してもよい。
 図4Bは、図4Aの頂点A~Eをx-y平面に投影したケースについて示し、図4Cは、図4Aの頂点A~Eをx-z平面に投影したケースについて示す。
 ここで、x軸方向の座標の最小値及び最大値は、それぞれ図4Bのxmin及びxmaxに相当し、y軸方向の座標の最小値及び最大値は、図4Bのymin及びとymaxに相当し、z軸方向の座標の最小値及び最大値は、図4Cのzmin及びzmaxに相当する。
 近似表面合成部2030は、上述の最大値と最小値との差分値(例えば、x軸方向であれば、xmax-xmin)をそれぞれ各軸方向について計算し、かかる差分値が最も小さい軸方向を縮退する。
 例えば、図4の例では、z軸方向の差分値(zmax-zmin)が最も小さくなるため、近似表面合成部2030は、z軸方向を縮退して、投影面をx-y平面に決定することができる。
 以上のように、近似表面合成部2030は、各頂点のx軸方向、y軸方向及びz軸方向座標のうち、最大値と最小値の差が最も小さい軸方向を縮退し、残りの2つの軸方向で構成される面を投影面と決定するように構成されている。
以上のような構成とすることで、分散を用いて投影面を決定する場合と比較して、演算量を削減することができる。ソフトウェアで実装する場合は、処理時間を削減することができ、ハードウェアで実装する場合は、回路規模及び消費電力を削減することができる。
 ステップS303において、近似表面合成部2030は、各頂点をソートして、各頂点にインデックス(index)を付与する。図5~図6を用いて、ステップS303における処理の一例を説明する。
 図5Aは、図4に示す頂点位置の例において、近似表面合成部2030がz軸方向を縮退してx-y平面上に頂点を投影した場合の例である。ここで、以下では、x軸をa軸としy軸をb軸として説明する。
 なお、y軸方向が縮退された場合にはx軸をa軸としz軸をb軸として、また、x軸方向が縮退された場合にはy軸をa軸としz軸をb軸として、それぞれ以下の処理を適用することができる。
 また、以下の説明では、図5Aに示すように、各頂点A~Eの座標をa-b平面に投影した長方形の中心を原点Oとした場合の座標として表現することとする。なお、以下では、長方形の一種として正方形が投影面とされた場合を例に説明するが、辺の長さを適切に考慮することで、下記と同様な方法で長方形にも対応可能である。
 図6は、ステップS303において、各頂点をソートしインデックスを付与する手順の一例を示すフローチャートである。
 図6に示すように、ステップS303において、近似表面合成部2030は、該当するノードの全ての頂点について、後述するスコアを算出したかどうかを判定する。
 全ての頂点についてスコアが算出済みであると判定された場合、本手順は、ステップS609へ進み、そうでない場合、本手順は、ステップS602へ進む。
 ステップS602において、近似表面合成部2030は、現在処理している頂点が、図5Bにおける辺pq上に存在しているか否かを判定する。辺pq上に存在するかどうかは、例えば、当該頂点のa座標が、ノードサイズ(以下、NSとする)の半分であるか否か、すなわち、NS/2であるか否かによって判定できる。ここで、ノードサイズとは、図5A及び図5Bにおける正方形の一辺の長さである。
 当該頂点が辺pq上に存在していると判定された場合は、本手順は、ステップS603へ進み、そうでない場合は、本手順は、ステップS604へ進む。
 ステップS603において、近似表面合成部2030は、当該頂点のスコアを算出する。例えば、当該頂点が辺pq上にある場合は、近似表面合成部2030は、当該頂点のb座標をそのままスコアとして用いる。
 ステップS603においてスコアが算出された後、本手順は、ステップS601へ進み、近似表面合成部2030は、次の頂点について処理を行う。
 ステップS604において、近似表面合成部2030は、現在処理している頂点が、図5Bにおける辺qr上に存在しているか否かを判定する。辺qr上に存在するかどうかは、例えば、当該頂点のb座標が、NSの半分であるか否か、すなわち、NS/2であるか否かによって判定できる。
 当該頂点が辺qr上に存在していると判定された場合は、本手順は、ステップS605へ進み、そうでない場合は、本手順は、ステップS606へ進む。
 ステップS605において、近似表面合成部2030は、当該頂点のスコアを算出する。例えば、当該頂点が辺qr上にある場合は、近似表面合成部2030は、当該頂点のa座標を用いて、スコア=-a+NSとする。
 ステップS605においてスコアが算出された後、本手順は、ステップS601へ進み、近似表面合成部2030は、次の頂点について処理を行う。
 ステップS606において、近似表面合成部2030は、現在処理している頂点が、図5Bにおける辺rs上に存在しているか否かを判定する。辺rs上に存在するかどうかは、例えば、当該頂点のa座標が、NSの半分であるか否か、すなわち、NS/2であるか否かによって判定できる。
 当該頂点が辺rs上に存在すると判定された場合は、本手順は、ステップS607へ進み、そうでない場合は、本手順は、ステップS608へ進む。
 ステップS607において、近似表面合成部2030は、当該頂点のスコアを算出する。例えば、当該頂点が辺rs上にある場合は、近似表面合成部2030は、当該頂点のb座標を用いて、スコア=-b+NS*2とする(ここで、*は、乗算を示す)。
 ステップSS607においてスコアが算出された後、本手順は、ステップS601へ進み、近似表面合成部2030は、次の頂点について処理を行う。
 ステップS608において、近似表面合成部2030は、当該頂点のスコアを算出する。例えば、当該頂点が図5Bにおける辺sp上にある場合は、近似表面合成部2030は、当該頂点のa座標を用いて、スコア=a+NS*3とする(ここで、*は、乗算を示す)。
 ステップSS608においてスコアが算出された後、本手順は、ステップS601へ進み、近似表面合成部2030は、次の頂点について処理を行う。
 ステップS609において、近似表面合成部2030は、各頂点のスコア(上述の例では、-NS/2~NS*7/2の値を取る)が小さい順に各頂点をソートし、スコアが小さい順に各頂点にインデックスを付与する。
 その後、本手順は、ステップS610へ進み、処理を終了する。
 なお、上述の例では、各頂点のスコア値として、負の値を取れるようにしたが、例えば、全体にNS/2を加えて必ず非負の値(例えば、0~4*NS)となるように定義してもよい。
 また、上述の例では、座標値を実数精度で表現するケースを例に挙げて説明したが、本発明は、かかるケースに限定されることなく、座標値を整数値で表現する場合、適宜除算による誤差を補正するためのオフセット(+1又は-1)を加えることで、上述の実数精度の例と等価な処理を実現できる。
 また、近似表面合成部2030は、整数演算を行った場合の量子化誤差を考慮して、辺上に点が存在するかどうかを、辺rq及び辺pqについては当該の点の座標がノードサイズ半分以上(NS/2以上)であるか否かを用いて判定し、辺rsについては当該の点の座標がノードサイズ半分以下(NS/2以下)であるか否かを用いて判定してもよい。なお、近似表面合成部2030は、座標値を基に、当該辺上に点が存在していることが正しく判断できれば、他の方法でも判定してもよい。
 上述の手順では、図5Aに示すように投影した長方形の右下の頂点から反時計回りとなる順番で各頂点にインデックスが付与される。なお、図5Aにおける「B:0」とは、頂点Bのインデックスが「0」であることを意味しており、その他の頂点についても同様である。
 上述の例では、図5Aにおける長方形の右下を起点として反時計回りになる順で各頂点にインデックスが付与されているが、起点は、右下以外でも明確に決まっていればよい。すなわち、起点は、長方形の辺上に存在していればどこでもよい。
 また、起点は、幾何情報復号部における復号処理に先立って1か所に決定されてもよいし、ノード毎に適応的に起点の位置が変更されてもよい。例えば、起点は、頂点が最も多い辺に最後にインデックスが付与されるように決定されてもよい。
 図5A及び図5Bの例では、辺sp上に最も頂点が多いため、各頂点にインデックスを反時計回りの順で付与する場合は、起点を頂点pの位置と決定できる。
 また、近似表面合成部2030は、反時計回りではなく、起点から時計回りとなる順で各頂点にインデックスを付与してもよい。
 いずれにせよ、近似表面合成部2030は、投影した長方形の辺上に起点を設定し、各頂点にインデックスを付与する順序を決定する際に、頂点が必ず長方形の辺上に存在するという特徴を利用して、座標値から時計回り又は反時計回りとなるように各頂点にインデックスを付与するように構成されていれば、上述以外の手法を用いてもよい。
 以上のように、近似表面合成部2030は、垂直方向の辺上にある頂点に対して、垂直方向軸の座標値を用いてインデックスを扶養するように構成されていてもよい。
 同様に、近似表面合成部2030は、水平方向の辺上にある頂点に対して、水平方向軸の座標値を用いてインデックスを付与するように構成されていてもよい。
 また、近似表面合成部2030は、平面上に投影された長方形の辺上に起点を設定し、かかる起点から時計回り又は反時計回りとなるように各頂点にインデックスを付与するように構成されていてもよい。
 以上のような構成とすることで、後段のステップS304の処理と組み合わせて、三角形で定義される面で適切に点の分布を生成できる。これに対して、非特許文献1の方法では、アークタンジェントの近似が正しくなく、各頂点のインデックスが時計回り又は反時計回りの順にはならないため、適切に点の分布を生成できない。
 更に、非特許文献1の方法では、アークタンジェントの近似計算において除算が行われているが、本実施形態の処理は、基本的に加減算のみで実現できる(NS/2等のオフセット値は、TrisoupのNSに応じて予め算出しておくことで、定数として扱える)。よって、本実施形態によれば、非特許文献1の方法と比較して、特に、ハードウェアで実装した際に処理サイクル数を短縮することができる。
 以上のように、各頂点をソートしてインデックスが付与された後、本処理は、図3のステップS304へ進む。
 ステップS304において、近似表面合成部2030は、ステップS303で付与した各頂点のインデックスを基に、三角形を生成する。
 例えば、図5Aに示すように、頂点が5点の場合、近似表面合成部2030は、図7に示すように、3つの三角形を生成することができる。
 かかる三角形の生成は、例えば、非特許文献1に記載のように、三角形を構成するための頂点のインデックスの組み合わせを予め定義しておくことで実現できる。
 図7は、例えば、頂点が5点の場合は、三角形を構成するための頂点のインデックスの組み合わせが{0、1、2}、{0、2、4}、{2、3、4}となる3点で、それぞれ三角形を生成するように予め定義されていた場合の例である。
 以上のように三角形が生成された後、本処理は、ステップS305へ進む。
 ステップS305において、近似表面合成部2030は、ステップS304で生成した三角形を基に、点を生成する。三角形から点を生成する方法としては、例えば、非特許文献1に記載の方法を適用することができる。
 以上のような手順で、全てのノードについて点を生成した後、ステップS306へ進んで処理を終了する。
 また、上述の点群符号化装置100及び点群復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、上記の各実施形態では、本発明を点群符号化装置100及び点群復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、点群符号化装置100及び点群復号装置200の各機能を備えた点群符号化/復号システムにも同様に適用できる。
 なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
10…点群処理システム
100…点群符号化装置
200…点群復号装置
2010…幾何情報復号部
2020…ツリー合成部
2030…近似表面合成部
2040…幾何情報再構成部
2050…逆座標変換部
2060…属性情報復号部
2070…逆量子化部
2080…RAHT部
2090…LoD算出部
2100…逆リフティング部
2110…逆色変換部
 

Claims (7)

  1.  点群復号装置であって、
     各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与するように構成されている近似表面合成部を備え、
     前記近似表面合成部は、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与する、点群復号装置。
  2.  前記近似表面合成部は、
      前記長方形における垂直方向の辺上にある頂点に対して、垂直方向軸の座標値を用いて前記インデックスを付与し、
      前記長方形における水平方向の辺上にある頂点に対して、水平方向軸の座標値を用いて前記インデックスを付与する、請求項1に記載の点群復号装置。
  3.  前記近似表面合成部は、幾何情報復号部における復号処理に先立って、前記起点を設定する、請求項1又は2に記載の点群復号装置。
  4.  点群復号装置であって、
     各頂点のx軸方向座標、y軸方向座標及びz軸方向座標のうち、それぞれ最大値と最小値とを用いて投影面を決定する近似表面合成部を備える、点群復号装置。
  5.  前記近似表面合成部は、前記各頂点のx軸方向座標、y軸方向座標及びz軸方向座標のうち、最大値と最小値との差が最も小さい軸方向を縮退し、残りの2つの軸方向で構成される面を投影面と決定する、請求項4に記載の点群復号装置。
  6.  各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与する工程を有し、
     前記工程において、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与する、点群復号方法。
  7.  コンピュータを、点群復号装置として機能させるプログラムであって、
     前記点群復号装置は、各頂点の座標が平面上に投影された長方形の辺上のみに存在することを利用し、前記各頂点の座標値を基に前記各頂点にインデックスを付与するように構成されている近似表面合成部を備え、
     前記近似表面合成部は、前記平面上に投影された前記長方形の辺上に起点を設定し、前記起点から時計回り又は反時計回りとなるように前記各頂点に前記インデックスを付与する、プログラム。
PCT/JP2021/044263 2020-12-25 2021-12-02 点群復号装置、点群復号方法及びプログラム WO2022138046A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/212,184 US20230334715A1 (en) 2020-12-25 2023-06-21 Point cloud decoding device, point cloud decoding method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020217770A JP7495185B2 (ja) 2020-12-25 2020-12-25 点群復号装置、点群復号方法及びプログラム
JP2020-217770 2020-12-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/212,184 Continuation US20230334715A1 (en) 2020-12-25 2023-06-21 Point cloud decoding device, point cloud decoding method, and program

Publications (1)

Publication Number Publication Date
WO2022138046A1 true WO2022138046A1 (ja) 2022-06-30

Family

ID=82159479

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/044263 WO2022138046A1 (ja) 2020-12-25 2021-12-02 点群復号装置、点群復号方法及びプログラム

Country Status (3)

Country Link
US (1) US20230334715A1 (ja)
JP (1) JP7495185B2 (ja)
WO (1) WO2022138046A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009562A1 (ja) * 2022-07-08 2024-01-11 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2024009561A1 (ja) * 2022-07-08 2024-01-11 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2024093215A1 (en) * 2022-11-04 2024-05-10 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding point cloud geometry data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053454A1 (ja) * 2022-09-09 2024-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号方法、符号化方法、復号装置及び符号化装置
WO2024062938A1 (ja) * 2022-09-20 2024-03-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号方法及び復号装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904564B2 (en) 2018-07-10 2021-01-26 Tencent America LLC Method and apparatus for video coding
JP2021162923A (ja) 2020-03-30 2021-10-11 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
JP2021197723A (ja) 2020-06-18 2021-12-27 Kddi株式会社 点群復号装置、点群復号方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DRICOT ANTOINE; ASCENSO JOAO: "Adaptive Multi-level Triangle Soup for Geometry-based Point Cloud Coding", 2019 IEEE 21ST INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING (MMSP), IEEE, 27 September 2019 (2019-09-27), pages 1 - 6, XP033660072, DOI: 10.1109/MMSP.2019.8901791 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009562A1 (ja) * 2022-07-08 2024-01-11 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2024009561A1 (ja) * 2022-07-08 2024-01-11 Kddi株式会社 点群復号装置、点群復号方法及びプログラム
WO2024093215A1 (en) * 2022-11-04 2024-05-10 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding point cloud geometry data

Also Published As

Publication number Publication date
US20230334715A1 (en) 2023-10-19
JP2022102806A (ja) 2022-07-07
JP7495185B2 (ja) 2024-06-04

Similar Documents

Publication Publication Date Title
WO2022138046A1 (ja) 点群復号装置、点群復号方法及びプログラム
CN113615181B (zh) 用于点云编解码的方法、装置
Zhu et al. Lossless point cloud geometry compression via binary tree partition and intra prediction
US11356116B2 (en) Methods and devices for on-the-fly coder mapping updates in point cloud coding
WO2021199781A1 (ja) 点群復号装置、点群復号方法及びプログラム
CN113632142A (zh) 点云压缩的方法和装置
US20230117998A1 (en) Point-cloud decoding device, point-cloud decoding method, and program
WO2022071284A1 (ja) 点群復号装置、点群復号方法及びプログラム
CN115088017A (zh) 点云的树内几何量化
WO2023028177A1 (en) Attribute coding in geometry point cloud coding
WO2023278829A1 (en) Attribute coding in geometry point cloud coding
WO2022219867A1 (ja) 点群復号装置、点群符号化装置、点群処理システム、点群復号方法及びプログラム
WO2023277128A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2023132329A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2023132330A1 (ja) 点群復号装置、点群復号方法及びプログラム
WO2023132331A1 (ja) 点群復号装置、点群復号方法及びプログラム
RU2778864C1 (ru) Неявное геометрическое разделение на основе квадродерева или бинарного дерева для кодирования облака точек
WO2023142133A1 (zh) 编码方法、解码方法、编码器、解码器及存储介质
WO2024129365A1 (en) Decoding method, decoder, encoding method, encoder and non-transitory computer readable recording medium
WO2024044082A2 (en) Decoding method, encoding method, decoder and endoder
JP2023053827A (ja) 点群復号装置、点群復号方法及びプログラム
WO2024123568A1 (en) Geometry point cloud coding method, encoder and decoder
Li et al. MPEG Geometry-Based Point Cloud Compression (G-PCC) Standard
US9794565B2 (en) Bit allocation scheme for repetitive structure discovery based 3D model compression
WO2024064043A1 (en) Point cloud decoding method, point cloud encoding method, decoder and encoder

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21910198

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21910198

Country of ref document: EP

Kind code of ref document: A1