WO2020243874A1 - Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium - Google Patents

Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium Download PDF

Info

Publication number
WO2020243874A1
WO2020243874A1 PCT/CN2019/089787 CN2019089787W WO2020243874A1 WO 2020243874 A1 WO2020243874 A1 WO 2020243874A1 CN 2019089787 W CN2019089787 W CN 2019089787W WO 2020243874 A1 WO2020243874 A1 WO 2020243874A1
Authority
WO
WIPO (PCT)
Prior art keywords
side length
point cloud
cloud data
divided block
block
Prior art date
Application number
PCT/CN2019/089787
Other languages
French (fr)
Chinese (zh)
Inventor
李璞
郑萧桢
张富
Original Assignee
深圳市大疆创新科技有限公司
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 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2019/089787 priority Critical patent/WO2020243874A1/en
Priority to CN201980008580.XA priority patent/CN111602176A/en
Publication of WO2020243874A1 publication Critical patent/WO2020243874A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Definitions

  • the present invention generally relates to the technical field of point cloud coding, and more particularly relates to a coding and decoding method, system and storage medium for the position coordinates of point cloud data.
  • a point cloud is a form of expression of a three-dimensional object or scene. It is composed of a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of the three-dimensional object or scene. In order to accurately reflect the information in the space, the number of discrete points required is huge. In order to reduce the bandwidth occupied by point cloud data storage and transmission, the point cloud data needs to be encoded and compressed.
  • the point cloud data coding and compression process includes the coding of position coordinates and the coding of attributes.
  • the location coordinates are usually distributed relatively discretely, and a point cloud data point will correspond to the location coordinates in three directions.
  • Such a set of point cloud data usually has a large amount of data, so it is necessary to check the point cloud data, especially the point cloud.
  • the position coordinates in the data are effectively encoded and compressed.
  • the existing encoding and compression of the position coordinates of point cloud data is usually based on octree partition coding.
  • the side length of the octree partition coding is only reduced by half each time the octree partition is performed. This method may cause many times None of the sub-blocks containing point cloud data are obtained by the division, which increases the redundant calculation in the encoding process to a certain extent, makes the coding efficiency lower, and also limits the compression performance to a certain extent.
  • the present invention is proposed to solve the above-mentioned problems.
  • the present invention provides a coding and decoding scheme for the position coordinates of point cloud data, which combines the value range of the field of view (FOV, field of view) of the point cloud data collection device during the collection process to limit the coding and decoding process of the position coordinates Dividing the value range of the encoding and decoding process in the middle can quickly reduce some areas where point cloud data points must not exist, thereby improving the encoding and decoding efficiency and reducing the time overhead in the encoding and decoding process.
  • a method for encoding position coordinates of point cloud data includes: determining the initial position coordinates of an initial block according to the input position coordinates of the point cloud data; Space division coding obtains an intermediate coding result; and performing arithmetic coding on the intermediate coding result to obtain a final coding result; wherein, in the process of performing spatial division coding on the initial block, based on the data of the collection device that collects the point cloud data The field of view determines whether to adjust the coordinate range of the divided block.
  • a method for decoding the position coordinates of point cloud data comprising: performing arithmetic decoding on the position coordinate encoding result of the point cloud data to obtain the arithmetic decoding result; performing the arithmetic decoding result on the arithmetic decoding result Space division decoding obtains an intermediate decoding result; and performing inverse preprocessing on the intermediate decoding result to obtain the position coordinates of the point cloud data; wherein, in the process of space division decoding, the determination is based on the header information of the encoding result The coordinate range of the initial block used for spatial division, and whether to adjust the coordinate range of the divided block is determined based on the field of view of the collecting device that collects the point cloud data.
  • an encoding system for the position coordinates of point cloud data.
  • the encoding system includes a storage device and a processor, and the storage device stores a computer program run by the processor.
  • the method for encoding the position coordinates of the point cloud data described in any of the above items is executed.
  • a system for decoding position coordinates of point cloud data includes a storage device and a processor, and the storage device stores a computer program run by the processor.
  • the method for decoding the position coordinates of the point cloud data described in any one of the above items is executed.
  • a storage medium with a computer program stored on the storage medium, and the computer program executes the method for encoding the position coordinates of the point cloud data described in any one of the above items during operation.
  • a storage medium with a computer program stored on the storage medium, and the computer program executes the method for decoding the position coordinates of the point cloud data described in any one of the above items during operation.
  • the method, system and storage medium for encoding and decoding the position coordinates of point cloud data combine the value range of the field of view of the point cloud data acquisition device in the acquisition process to limit the division of encoding and decoding during the encoding and decoding process of the position coordinates.
  • the value range of the decoding process can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding and decoding process and improving the encoding and decoding efficiency.
  • Fig. 1 shows a schematic flowchart of a method for encoding position coordinates of point cloud data according to an embodiment of the present invention
  • Figure 2 shows a schematic diagram of point cloud data collection according to an embodiment of the present invention
  • FIG. 3 shows a schematic diagram of solving the coordinates of the center position of the viewpoint of a mapping surface where a point is located according to an embodiment of the present invention
  • FIG. 4 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to an embodiment of the present invention
  • FIG. 5 shows a schematic diagram of point cloud data collection according to another embodiment of the present invention.
  • Fig. 6 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to another embodiment of the present invention
  • Fig. 7 shows a schematic diagram of a tree division coding process according to an embodiment of the present invention.
  • Fig. 8 shows a schematic block diagram of a system for encoding position coordinates of point cloud data according to an embodiment of the present invention
  • FIG. 9 shows a schematic flowchart of a method for decoding position coordinates of point cloud data according to an embodiment of the present invention.
  • Fig. 10 shows a schematic block diagram of a decoding system for position coordinates of point cloud data according to an embodiment of the present invention
  • FIG. 11 shows a schematic block diagram of a distance measuring device capable of collecting point cloud data according to an embodiment of the present invention
  • Fig. 12 shows a schematic block diagram of a distance measuring device capable of collecting point cloud data according to another embodiment of the present invention.
  • FIG. 13 shows a schematic diagram of a scanning pattern of the distance measuring device shown in FIG. 12.
  • the present invention provides a coding and decoding scheme for the position coordinates of point cloud data.
  • the coding and decoding scheme for the position coordinates of point cloud data according to embodiments of the present invention will be described below with reference to the accompanying drawings.
  • Fig. 1 shows a schematic flowchart of a method 100 for encoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the method 100 for encoding position coordinates of point cloud data may include the following steps:
  • step S110 the initial position coordinates of the initial block are determined according to the position coordinates of the input point cloud data.
  • distance measuring devices such as laser scanners and lidars may be used to collect point cloud data for a certain object or a certain scene.
  • the collected point cloud data includes position coordinates in three dimensions.
  • the position coordinates of each point cloud data can be expressed in a Cartesian coordinate system, for example, expressed as (x, y, z).
  • the position coordinates of each point cloud data can also be represented by other coordinate systems, such as a spherical coordinate system, a cylindrical coordinate system, and so on.
  • the Cartesian coordinate system is used as an example to describe various coordinates.
  • the position coordinates of the input point cloud data may be preprocessed first, and the preprocessing may include quantifying the position coordinates of the input point cloud data.
  • the position coordinates of the input point cloud data can be the maximum value in each of the three directions (take the Cartesian coordinate system as an example, the three directions are the x-axis direction, the y-axis direction and the z-axis direction)
  • the difference between the minimum value and the input quantization precision parameter is used to quantize the position coordinates of each input point cloud data to simplify the coding operation of the position coordinates of the point cloud data.
  • the quantization accuracy can be a preset fixed value.
  • the quantization accuracy of the position coordinates of each input point cloud data in all three-dimensional directions can be kept consistent.
  • the position coordinates of the input point cloud data can be converted into integer coordinates greater than or equal to zero by quantization.
  • the preprocessing of the position coordinates of the input point cloud data may also include any other suitable operations, which is not limited in the present invention.
  • the initial position coordinates of the block (which may be referred to as the initial block in this text) that is spatially divided for the first time can be determined.
  • the position coordinates of the input point cloud data can also be directly used as a basis to determine the initial position coordinates of the initial block used for space division coding.
  • the initial position coordinates of the initial block may be determined based on the maximum value among the maximum values of the position coordinates of the preprocessed point cloud data in the three directions.
  • space division may include octree division, quadtree division, and binary tree division, etc. The specific division may depend on the geometry of the divided blocks in the division process.
  • octree division may be adopted first, and then octree division, quadtree division, or binary tree division may be adopted after adjusting the coordinate range of the division block.
  • step S120 the initial block is spatially divided and encoded to obtain an intermediate encoding result, wherein, in the process of spatially dividing and encoding the initial block, it is determined whether to adjust based on the field of view of the collecting device that collects the point cloud data The coordinate range of the divided block.
  • the position coordinates of the preprocessed point cloud data adopt coding based on space division coding, where the space division coding may include octree division coding, quadtree division coding, and binary tree division coding. This may depend on the geometry of the divided blocks during the division process, which will be described later in the following.
  • the side length (or the coordinate range) of the block (which can be called the initial block) that is first divided by the octree is usually based on the position coordinates of the preprocessed point cloud data. Determine, the value of the side length is generally based on the maximum value of the three directions of the position coordinates of the preprocessed point cloud data; the block divided by the octree (can be called the divided block)
  • the side length of is usually half of the side length of the previous layer block (for example, the side length of the initial block is 16, then the side length of the divided block of the first layer is 8, the side length of the divided block of the second layer is 4, etc.) ,
  • the division is carried out in this way until a block with the smallest side length (usually 1) is obtained, and the division ends.
  • This change in side length in the process also means that the coordinate range of the block also conforms to a similar change law.
  • the coordinate range (including side length) of the initial block used for space division is also based on The pre-processed position coordinates are determined, but the coordinate range of each division block used for space division is not simply halved and reduced, but is also determined based on the field of view of the collection device that collects the point cloud data. (Mainly refers to whether to reduce) the coordinate range of each divided block.
  • the coding based on the space division coding of the position coordinates of the point cloud data proposed in some embodiments of the present invention is based on the following idea: the blocks traditionally used for octree division are usually cubes, but they are actually obtained Point cloud data collection equipment (including lidar, laser scanner, etc.) basically emits laser light from the center according to a specific rule and obtains the return value to achieve point cloud data collection. Usually such collection equipment will have a certain field of view Under this limitation, the value range of the position coordinates is not distributed according to the cube. Therefore, the division and coding directly in the cube increases the redundant calculation in the coding process to a certain extent, and also To some extent, it limits the performance of compression.
  • Point cloud data collection equipment including lidar, laser scanner, etc.
  • the coding based on the space division coding for the position coordinates of the point cloud data proposed by the present invention will determine the block used for space division this time based on the field of view of the collection device that collects the point cloud data before each space division. Whether the coordinate range (side length) is too large, whether there must be no point cloud data in a certain range of the block, if so, adjust the coordinate range (side length) of the block based on the field of view of the collecting device that collects the point cloud data, so as It can effectively reduce the side length of part of the block, thereby reducing the total number of divisions. On the one hand, it reduces the bit stream bits used to describe the division.
  • the initialized cube ie, the initial block
  • its value must be the smallest cube that can be selected within the field of view of the collection device, so in the first time
  • the initial block is a cuboid, or a cube, or a part of a sphere, or a part of a cylinder.
  • the initial block is a cube as an example.
  • the side length of the initial block can be an integer power of 2 and be greater than or equal to and closest to the selected value. It should be understood that the selected value can be written into the header information of the code stream file for use by the decoder. Based on the determination of the side length of the initial block, the octree partition coding can be started.
  • the division of the octree uses the coordinates of the center point of the current block to divide the current block into eight small sub-blocks through the center point.
  • the coordinates of the center point of the current cube block are (x mid , y mid , z mid ), assuming that the minimum values in the three directions of the current block are x min , y min , z min , and the current block in the three directions
  • the maximum values are x max , y max , z max
  • the coordinate range of the eight small sub-blocks in the octree division process is as follows: the coordinate range of the first block is x min ⁇ x ⁇ x mid , y min ⁇ y ⁇ y mid , z min ⁇ z ⁇ z mid ; the coordinate range of the second block is x min ⁇ x ⁇ x mid , y min ⁇ y ⁇ y mid , z mid ⁇ z ⁇ z max ; the coordinate range of the third block is x min ⁇ x ⁇ x mid
  • the octree encoding process it is determined in turn which of the eight sub-blocks all the point cloud data points contained in the current block belong to. After the determination of which sub-block all the point cloud data points contained in the block belongs to is finished, Then, 8 bits can be used to encode the sub-block division of the current block. If the current block contains point cloud data points, the corresponding bit will be set to 1, otherwise it will be set to 0. For example, when the third sub-block contains point cloud data points, the sixth sub-block contains point cloud data points, and the other sub-blocks do not contain point cloud data points, the encoded 8-bit binary code stream at this time is 0010 0100. Then the block containing the data points is then divided. In the embodiment of the present invention, before dividing any divided block, it can be determined whether the division needs to be adjusted based on the field of view of the collecting device collecting the point cloud data The coordinate range of the block.
  • determining whether to adjust the coordinate range of the divided block based on the field of view of the collecting device that collects the point cloud data may include the following steps: determining that the corresponding divided block is within the limit of the field of view of the collecting device There is a coordinate range of point cloud data (this coordinate range can be referred to as the visual field limited coordinate range); for at least one of the three-dimensional directions, the value range of the visual field limited coordinate range in this direction is the same as the value range of the divided block The original coordinate range is compared in the value range of the direction; based on the comparison result, it is determined whether to adjust the coordinate range of the divided block.
  • each divided block may correspond to a limited field of view coordinate range
  • the determination of the limited field of view coordinate range may include the following steps: calculating the position coordinates of each vertex of the divided block.
  • the distance from the position coordinates of the center of the viewpoint to the device position coordinates of the collection device determines the coordinate range of the point cloud data corresponding to the divided block under the limitation of the field of view of the collection device; wherein any vertex corresponds to
  • the viewpoint center of the mapping surface refers to the projection point of the vertex onto a preset vector, and the starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinate of the collection device, and the preset The end point of the vector is the reference position coordinate obtained by the preprocessing of the position
  • preprocessing can include quantization operations.
  • the device location coordinates of the collection device may be quantized coordinates of the actual location coordinates of the collection device
  • the reference location coordinates may be the preset reference within the field of view of the collection device
  • the quantized coordinates of the actual position coordinates of the point Exemplarily, the quantization method of the actual position coordinates of the collecting device and the quantization method of the actual position coordinates of the preset reference point may be the same as the quantization method of the position coordinates of the input point cloud data.
  • the quantization precision adopted by the quantization method may be a preset fixed value.
  • the quantization accuracy of the quantization method in all directions in the three-dimensional direction can be kept consistent.
  • the limited coordinate range of the field of view corresponding to any divided block is related to the collection device that collects the point cloud data and its field of view.
  • the following illustrates the method for determining the limited coordinate range of the visual field corresponding to any divided block in conjunction with FIGS. 2 to 6.
  • the following is an example in which the field of view of the point cloud data acquisition device is a cone. It is understandable that the field of view of the point cloud data collection device can have other shapes and is not limited.
  • FIG. 2 shows a schematic diagram of point cloud data collection according to an embodiment of the present invention
  • FIG. 3 shows a schematic diagram of solving the coordinates of the center position of a viewpoint on a mapping surface where a certain point is located according to an embodiment of the present invention
  • point O is the location of the collection device.
  • the rays used to collect point cloud data are all emitted from here. In an unquantized coordinate system, this location is usually the origin of the coordinate.
  • the coordinates in the coordinate system are (x o , y o , z o ), suppose the center of the viewpoint of a reflecting surface is point A as shown in Figure 2, and the corresponding coordinates are (x A , y A , z A ) .
  • the size of the reflecting surface can be obtained according to the field of view (FOV H and FOV V ) of the collecting device in the horizontal and vertical directions (using the length H in the horizontal direction and the vertical The V in the direction indicates), as shown in Equation 1 and Equation 2.
  • x min , y min , and z min in equation 3, equation 4, and equation 5 are the minimum values in the three directions in the position coordinates of all point cloud data points, and scale is the accuracy during quantization.
  • scale is the accuracy during quantization.
  • x, y, z are the coordinate values of the position coordinates to be quantized in three directions, They are the coordinate values of the quantized position coordinates in three directions.
  • point The location can be referred to as the device location coordinates of the collection device, which is not the actual location coordinates of the collection device, but the quantized coordinates of the actual location coordinates.
  • the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex are calculated based on the position coordinates of each vertex of the divided block, wherein the viewpoint center of the mapping surface corresponding to any vertex refers to the vertex to the preset vector
  • the starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinates of the collection device, and the end point of the preset vector is the preset within the field of view of the collection device
  • the position coordinates of the reference point be the reference position coordinates obtained by the preprocessing.
  • the preset reference point is point A
  • the position coordinates of the preset reference point are the reference position coordinates obtained by the preprocessing.
  • the starting point of the preset vector is a point
  • the end point of the preset vector is a point
  • the preset vector is the vector Set point Is the vertex of a block in a certain space division process in the quantized coordinate system
  • the position coordinate is The calculation method of the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be as shown in FIG. 3.
  • Figure 3 shows how to solve a certain point according to an embodiment of the present invention
  • a schematic diagram of the coordinates of the center position of the viewpoint on the mapping surface As shown in Figure 3, point Is the point The view point center of the mapping surface where it is located, set from the point Pointing point
  • the vector is Can be obtained The value of (as shown in Equation 6), and then the vector can be obtained
  • the modulus of (as shown in Equation 7) is based on And vector
  • the modulus of can be obtained as a vector (As shown in Equation 8), then you can find the point The position coordinates (as shown in Equation 9).
  • the position coordinates of the viewpoint center of the mapping surface corresponding to the position coordinates of any vertex of any divided block can be obtained, and the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be obtained.
  • the distance of the device location coordinates of the collection device Based on the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex of the divided block to the device position coordinates of the collection device, the field of view (FOV H) corresponding to the divided block can be determined.
  • FOV V there is a coordinate range of point cloud data (that is, the aforementioned limited coordinate range of the field of view corresponding to the divided block), as shown in FIG. 4.
  • Fig. 4 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to an embodiment of the present invention.
  • the minimum distance corresponds to the center of the viewpoint
  • the maximum distance corresponds to the center of the viewpoint
  • the point cloud data points contained in the current divided block must fall within the quadrangular prism defined by the minimum distance, the maximum distance, and the field of view of the collection device in FIG. 4.
  • the coordinate range of the quadrangular mesa can be compared with the original coordinate range of the division block currently used for space division to determine whether the coordinate range of the current division block needs to be adjusted.
  • Fig. 5 shows a schematic diagram of point cloud data collection according to another embodiment of the present invention
  • Fig. 6 shows a schematic diagram of a point cloud distribution range defined according to the field of view of a collection device according to another embodiment of the present invention.
  • point O is the location of the acquisition device, and the rays used to collect point cloud data are all emitted from here.
  • this location is usually the origin of the coordinate.
  • the coordinates in the coordinate system are (x o , y o , z o ), suppose the center of the viewpoint of a reflecting surface is point A as shown in Figure 5, and the corresponding coordinates are (x A , y A , z A ) . Supposing the linear distance from point O to the reflecting surface is dist, the size of the reflecting surface can be obtained according to the field of view (FOV) on the collecting device (represented by the diameter D of the reflecting surface), as shown in Equation 11.
  • FOV field of view
  • the position coordinates of point O and point A are quantized in the same way as the quantization of position coordinates.
  • the specific process can be shown in Equation 3, Equation 4, and Equation 5.
  • the corresponding point in the coordinate system after quantization can be determined With points The location coordinates are versus Among them, point The location can be referred to as the device location coordinates of the collection device, which is not the actual location coordinates of the collection device, but the quantized coordinates of the actual location coordinates.
  • the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex are calculated based on the position coordinates of each vertex of the divided block, wherein the viewpoint center of the mapping surface corresponding to any vertex refers to the vertex to the preset vector
  • the starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinates of the collection device, and the end point of the preset vector is the preset within the field of view of the collection device
  • the position coordinates of the reference point be the reference position coordinates obtained by the preprocessing.
  • the preset reference point is point A
  • the position coordinates of the preset reference point are the reference position coordinates obtained by the preprocessing.
  • the starting point of the preset vector is a point
  • the end point of the preset vector is a point
  • the preset vector is the vector Set point Is the vertex of a block in a certain space division process in the quantized coordinate system
  • the position coordinate is The calculation method of the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be as shown in FIG. 3.
  • the position coordinates of the viewpoint center of the mapping surface corresponding to the position coordinates of any vertex of any divided block can be calculated, and the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be calculated to the The distance of the device location coordinates of the collection device.
  • the field of view (FOV) corresponding to the divided block in the collection device can be determined.
  • FOV field of view
  • the minimum distance corresponds to the center of the viewpoint
  • the maximum distance corresponds to the center of the viewpoint
  • the point cloud data points contained in the current divided block must fall within the truncated cone defined by the minimum distance, the maximum distance, and the field of view of the collection device in FIG. 4.
  • the coordinate range of the truncated cone body can be compared with the original coordinate range of the division block currently used for space division to determine whether the coordinate range of the current division block needs to be adjusted.
  • the above exemplarily shows the method for determining the limited coordinate range of the visual field corresponding to any divided block. It should be understood that this is only exemplary, and according to the different field of view of the collection device, the determination of the limited coordinate range of the field of view corresponding to any divided block may also be other methods.
  • the following example illustrates how to determine whether to adjust the coordinate range of the divided block and how to adjust the coordinate range of the divided block based on the comparison result of the value range of the limited coordinate range of the field of view corresponding to the divided block and the original coordinate range of the divided block.
  • the limited coordinate range of the field of view corresponding to the divided block and the original coordinate range of the divided block both have a value range in the three-dimensional direction. Therefore, the comparison operation can be performed for at least one direction of the three-dimensional direction, and if necessary, the compared direction Adjust the value range of the coordinates.
  • the following takes one direction as an example for specific description, and it should be understood that the operations in the other two directions are also the same.
  • the determining whether to adjust the coordinate range of the divided block based on the result of the comparison may include: for at least one of the three-dimensional directions, when the field of view limited coordinate range is in this direction When the value range of and the value range of the original coordinate range in this direction have an intersection, and the first new side length determined based on the intersection is less than the original side length of the divided block in this direction, The side length of the divided block is adjusted to the first new side length, and the coordinate range of the divided block in the direction is adjusted based on the first new side length and the intersection part.
  • the limited field of view coordinate range corresponding to the divided block and the original coordinate range of the divided block have an intersection in a certain direction, that is, the following two cases: (1) The minimum value of the limited field of view coordinate range in this direction Less than or equal to the minimum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is between the minimum and maximum values of the original coordinate range in this direction; (2) the visual field limited coordinate range The minimum value in this direction is between the minimum value and the maximum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is greater than or equal to the maximum value of the original coordinate range in this direction.
  • the minimum value of the original coordinate range in this direction is A1
  • the maximum value of the original coordinate range in this direction is B1
  • the minimum value of the visual field limited coordinate range in this direction is A2
  • the visual field limited coordinate range in this direction The maximum value is B2
  • the first case above is A2 ⁇ A1 and A1 ⁇ B2 ⁇ B1
  • the second case above is A1 ⁇ A2 ⁇ B1 and B2 ⁇ B1.
  • the intersection can represent the interval [A1, B2], and the first new side length L1 can be determined based on the difference between the maximum value and the minimum value of the interval (ie, B2-A1).
  • the first new side length L1 may be an integer power of 2 greater than or equal to and closest to the difference.
  • the first new side length L1 can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction.
  • L1 ⁇ L0 the side length of the divided block can be adjusted from L0 to L1, And based on L1 and interval [A1, B2], adjust the coordinate range of the divided block in this direction.
  • the side length of the divided block in this direction is L1
  • the coordinate range in this direction is [A1, B1'].
  • the intersection can represent the interval [A2, B1], and the first new side length L1' can be determined based on the difference between the maximum value and the minimum value of the interval (ie, B1-A2).
  • the first new side length L1' may be an integer power of 2 greater than or equal to and closest to the difference.
  • the first new side length L1' can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction.
  • L1' ⁇ L0 the side length of the divided block can be adjusted from L0 to L1', and adjust the coordinate range of the divided block in this direction based on L1' and the interval [A2, B1].
  • the determining whether to adjust the coordinate range of the divided block based on the result of the comparison may include: for at least one of the three-dimensional directions, when the field of view limited coordinate range is within the When the value range of the direction falls within the value range of the original coordinate range in this direction, and the second new side length determined based on the limited coordinate range of the field of view is less than the original side length of the divided block in this direction, The side length of the divided block is adjusted to the second new side length, and the coordinate range of the divided block in the direction is adjusted based on the second new side length and the limited field of view coordinate range.
  • the value range of the limited field of view coordinate range corresponding to the divided block in a certain direction falls within the value range of the original coordinate range of the divided block in that direction, that is, the value range of the limited field of view coordinate range in this direction.
  • the minimum value is greater than the minimum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is smaller than the maximum value of the original coordinate range in this direction.
  • the maximum value of is B2
  • the situation in this embodiment is A2>A1 and B2 ⁇ B1.
  • the second new side length L2 can be determined based on the difference between the maximum value and the minimum value of the visual field limited coordinate range in the direction (ie, B2-A2).
  • the second new side length L2 may be an integer power of 2 greater than or equal to and closest to the difference.
  • the second new side length L2 can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction.
  • L2 ⁇ L0 the side length of the divided block can be adjusted from L0 to L2, And adjust the coordinate range of the divided block in this direction based on the value range [A2, B2] of the limited coordinate range in this direction based on L2 and the field of view.
  • the minimum value A2 of the limited field of view coordinate range in the direction can be added to the second new side length L2 to obtain the new maximum value B1' of the divided block in the direction, and the minimum value of the limited field of view coordinate range in the direction can be obtained.
  • the maximum value B2 of the visual field limited coordinate range in the direction can be subtracted from the second new side length L2 to obtain the new minimum value A1' of the divided block in this direction, and the visual field limited coordinate range in this direction
  • the value range of the divided block in that direction falls within the value range of the visual field limited coordinate range in this direction, or the value of the divided block in this direction
  • the range is completely overlapped with the value range of the visual field limited coordinate range in this direction, that is, the minimum value of the visual field limited coordinate range in this direction is less than or equal to the minimum value of the divided block in this direction, and the visual field limited coordinate range is in this direction
  • the maximum value on is greater than or equal to the maximum value of the divided block in this direction (using the symbols in the above example is A2 ⁇ A1 and B2 ⁇ B1), it means that the divided block completely falls into the field of view of the acquisition device in this direction Within the range, there is no need to adjust the coordinate range of the divided block in this direction.
  • the value range of the divided block in that direction and the value range of the visual field limited coordinate range in this direction have no intersection at all, that is, the visual field limited coordinate range is in this direction.
  • the maximum value in the direction is smaller than the minimum value of the divided block in this direction, and the minimum value of the limited field of view coordinate range in this direction is greater than the maximum value of the divided block in this direction (using the symbol in the above example is B2 ⁇ A1 and A2>B1), it means that the divided block completely falls outside the field of view of the collecting device in this direction, that is, there is no point cloud data point in the divided block.
  • the segmentation coding is continued for the blocks with point cloud data points, this situation will not occur in practice.
  • the space division coding After adjusting the block size in the block division coding process according to the field of view of the acquisition device, the space division coding will continue.
  • sub-block division is performed layer by layer, and the division of each block is coded one by one.
  • each layer can be divided according to the median method.
  • the octree partition coding is adopted. The division of each layer of the octree uses the coordinates of the center point of the current block to divide the current block into eight small sub-blocks through the center point.
  • the coordinate value range of the eight small sub-blocks in the octree division process is as follows: the first block coordinate value The range is x ⁇ x mid , y ⁇ y mid , z ⁇ z mid ; the coordinate value range of the second block is x ⁇ x mid , y ⁇ y mid , z>z mid ; the coordinate value of the third block is taken The range is x ⁇ x mid , y>y mid , z ⁇ z mid ; the coordinate value range of the fourth block is x ⁇ x mid , y>y mid , z>z mid ; the fifth block coordinate value The range is x>x mid , y ⁇ y mid , and z ⁇ z mid ; the coordinate range of the sixth block is x>x mid , y ⁇ y mid , z>z mid ; the coordinate value of the seventh block The range is x>
  • the octree encoding process it is determined in turn which of the eight sub-blocks all the point cloud data points contained in the current block belong to. After the determination of which sub-block all the point cloud data points contained in the block belongs to is finished, Next, 8 bits will be used to encode the sub-block division of the current block. If the current block contains point cloud data points, the corresponding value will be set to 1, otherwise it will be set to 0. For example, when the third sub-block contains point cloud data points, the sixth sub-block contains point cloud data points, and the other sub-blocks do not contain point cloud data points, the encoded 8-bit binary code stream at this time is 0010 0100.
  • the side length of the divided block in one or two of the three-dimensional directions reaches the preset minimum side length ( Generally, when the value is 1), the direction that reaches the preset minimum side length is no longer divided but still encoded.
  • the side length in one direction reaches the preset minimum side length first, then in the next division process, no division is performed in this direction, and the coordinate values in this direction can be selected
  • an 8-bit pair may be used for the remaining two directions that have not reached the preset minimum side length.
  • the tree division result is coded, wherein the value of the highest four bits of the eight bits depends on whether the sub-blocks obtained by dividing the divided block in the remaining two directions contain point cloud data, and the eight bits The remaining four bits of the value are 0.
  • the following is an example when the x-axis reaches the preset minimum side length first.
  • the two directions will not be divided in the next division process, and the coordinate values in the two directions can be selected to be less than or equal to the middle.
  • the half of the value Exemplarily, when the side length of the divided block in two directions in the three-dimensional direction reaches a preset minimum side length, an eight-bit pair is used for the remaining one direction octree that has not reached the preset minimum side length
  • the division result is coded, wherein the value of the highest two bits of the eight bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains point cloud data, and the remaining eight bits
  • the six-bit value is 0.
  • the two possible corresponding 8bit numbers describing the octree division are xx00 0000, where x needs to be determined as 0 or 1 according to whether the first two sub-blocks contain point cloud data points. If the edges in the three directions all reach the reserved minimum side length, the tree division structure coding process ends.
  • the tree division becomes the quadtree division.
  • a four-bit pair may be used for the remaining two directions that have not reached the preset minimum side length.
  • the tree division result is coded, wherein the value of the four bits depends on whether the sub-blocks obtained by dividing the division block in the remaining two directions contain point cloud data. The following is an example of when the x-axis reaches the minimum side length first.
  • the division center is (y mid , z mid ).
  • the division process has the following four possibilities, which are possible one: y ⁇ y mid , z ⁇ z mid , possible two: y ⁇ y mid , z>z mid , possible three: y>y mid , z ⁇ z mid , possible four: y>y mid , z>z mid .
  • only 4 bits are needed to describe the current division. For example, when the first block contains point cloud data points, the fourth block contains point cloud data points, and none of the other sub-blocks contain point cloud data points, the encoded 4-bit binary code stream at this time is 1001.
  • the tree partition becomes a binary tree partition at this time.
  • the binary tree division result of the remaining one direction that has not reached the preset minimum side length is sampled by the two-bit pair Encoding is performed, wherein the value of the two bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains point cloud data.
  • the division center is (z mid ).
  • the division process has the following two possibilities, one of which is possible: z ⁇ z mid , and possibly two: z>z mid .
  • only 2 bits are needed to describe the current division. For example, when the first block contains point cloud data points and the second block does not contain point cloud data points, the encoded 2bit binary code stream is 10. If the three edges reach the reserved minimum edge length, the tree partition structure coding process ends.
  • the above exemplarily describes the tree division coding process after adjusting the coordinate range of the division block based on the field of view of the collecting device collecting the point cloud data.
  • Those skilled in the art should understand that the above description is only exemplary, and any other suitable manner may also be used to implement the tree division coding process on the division blocks of the adjusted coordinate range.
  • Fig. 7 shows a schematic diagram of a tree division coding process according to an embodiment of the present invention.
  • the point cloud data contained in the sub-block is The number is encoded.
  • the number of point cloud points contained in the block is coded immediately.
  • the block contains a point cloud data point
  • the block contains more than one point cloud data point
  • n point cloud data points suppose that the block contains n point cloud data points. At this time, a bit of 1 will be encoded first, and then the value (n-1) will be encoded. According to the above procedure, the coding process of the number of point cloud points contained in the block can be realized.
  • the number of point cloud data contained in each sub-block is sequentially performed. coding.
  • the side length of a block in the three directions has reached the preset minimum side length, it will be judged whether the current division process has all ended. If there are still blocks that need to be divided, the current block will be directly passed to the next layer until the entire division process has ended.
  • the side lengths of all blocks in the three directions have reached the preset minimum side length, then the number of point cloud points contained in each block is sequentially encoded. For each block, when the block contains a point cloud data point, directly encode a bit of 0 for representation.
  • the block contains more than one point cloud data point
  • the block contains n point cloud data points (where n is a natural number greater than 1).
  • n is a natural number greater than 1
  • a bit of 1 will be encoded first, and then the value will be encoded (n-1).
  • the coding process of the number of point cloud points contained in the block can be realized.
  • step S120 of the method 100 for encoding position coordinates of point cloud data The above exemplarily describes the process of step S120 of the method 100 for encoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the subsequent steps of the encoding method 100 are described below with reference to FIG. 1.
  • step S130 arithmetic coding is performed on the intermediate coding result to obtain a final coding result.
  • the intermediate encoding result is the encoding result obtained by performing the octree division encoding described in step S120 on the preprocessed position coordinates, in order to distinguish it from the final encoding result of the position coordinates of the point cloud data , Call it the intermediate encoding result.
  • the intermediate coding result (binary code stream) can be sent to the arithmetic coding engine for arithmetic coding, and the final coding result of the position coordinates of the point cloud data can be obtained.
  • the method for encoding the position coordinates of point cloud data combines the value range of the field of view of the point cloud data acquisition device during the acquisition process to limit the division of the encoding process in the encoding process of the position coordinates
  • the value range can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding process and improving the encoding efficiency.
  • the above exemplarily describes the encoding method of the position coordinates of the point cloud data according to the embodiments of the present invention.
  • the method for encoding position coordinates of point cloud data according to an embodiment of the present invention may be implemented in a device, device, or system having a memory and a processor.
  • the method for encoding position coordinates of point cloud data according to an embodiment of the present invention may further include writing parameters related to the field of view of the collection device into a code stream (for example, the header information of the code stream) to use Used on the decoder side.
  • a code stream for example, the header information of the code stream
  • this step may not be included. Instead, parameters related to the field of view of the acquisition device are set in advance on the decoding end to execute the position of the point cloud data according to the embodiments of the present invention that will be described later. Coordinate decoding method.
  • FIG. 8 shows a schematic block diagram of a system 800 for encoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the system 800 for encoding the position coordinates of point cloud data includes a storage device 810 and a processor 820.
  • the storage device 810 stores a program for implementing corresponding steps in the method for encoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the processor 820 is configured to run a program stored in the storage device 810 to execute the corresponding steps of the method for encoding position coordinates of point cloud data according to the embodiment of the present invention described above. For brevity, I won't repeat them here.
  • a storage medium on which program instructions are stored, and the program instructions are used to execute the point cloud data in the embodiments of the present invention when the program instructions are run by a computer or a processor.
  • the corresponding steps of the encoding method of the position coordinates may include, for example, a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), USB memory, or any combination of the above storage media.
  • the computer-readable storage medium may be any combination of one or more computer-readable storage media.
  • a method for decoding the position coordinates of point cloud data is also provided. Since the method for decoding the position coordinates of the point cloud data according to the embodiment of the present invention corresponds to the method for encoding the position coordinates of the point cloud data according to the embodiment of the present invention, for simplicity, some of the decoding process is similar to the encoding process. Or the same process will not be repeated in detail.
  • FIG. 9 shows a schematic flowchart of a method 900 for decoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the method 900 for decoding position coordinates of point cloud data may include the following steps:
  • step S910 arithmetic decoding is performed on the point cloud data position coordinate coding result to obtain the arithmetic decoding result.
  • step S910 corresponds to step S130 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment, in which the point cloud data position coordinates encoding result is the inverse process of arithmetic encoding , That is, arithmetic decoding, get the arithmetic decoding result.
  • step S920 space division decoding is performed on the arithmetic decoding result to obtain an intermediate decoding result, wherein in the process of space division decoding, the coordinate range of the initial block used for space division is determined, and based on collecting the point cloud
  • the field of view of the data collection device determines whether to adjust the coordinate range of the divided blocks.
  • the parameters related to the field of view of the acquisition device can be decoded from the code stream to determine the coordinate range of the initial block used for space division. Further, the parameters related to the field of view of the collection device are obtained by decoding from the header information of the code stream.
  • step S920 corresponds to step S120 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment.
  • the arithmetic decoding result obtained in step S920 is decoded based on space division. Decoding.
  • the header information of the encoding result can be decoded to obtain the maximum value of the maximum value of the position coordinates of the point cloud data in each of the three directions, and then the coordinate range of the initial block used for space division is determined based on this value ( Side length). Based on the determination of the side length of the initial block, the space division decoding can be started.
  • the initialized cube ie, the initial block
  • its value must be the smallest cube that can be selected within the field of view of the collection device. Therefore, there is no need to use the field of view of the acquisition device to perform pruning operations during the first division. Therefore, it is only determined for the divided blocks whether the coordinate range of the collection device needs to be adjusted based on the field of view.
  • the coordinates of the center point of the current cuboid block are (x mid , y mid , z mid )
  • the minimum values in the three directions of the current block are x min , y min , z min
  • the maximum values of the current block in the three directions The values are x max , y max , z max
  • the coordinate value ranges of the eight small sub-blocks in the octree division process are as follows.
  • the coordinate range of the first block is x min ⁇ x ⁇ x mid , y min ⁇ y ⁇ y mid , z min ⁇ z ⁇ z mid ;
  • the coordinate range of the second block is x min ⁇ x ⁇ x mid , y min ⁇ y ⁇ y mid , z mid ⁇ z ⁇ z max ;
  • the coordinate range of the third block is x min ⁇ x ⁇ x mid , y mid ⁇ y ⁇ y max , z min ⁇ z ⁇ z mid ;
  • the coordinate range of the fourth block is x min ⁇ x ⁇ x mid , y mid ⁇ y ⁇ y max , z mid ⁇ z ⁇ z max ;
  • the coordinate range of the fifth block is x mid ⁇ x ⁇ x max , y min ⁇ y ⁇ y mid , z min ⁇ z ⁇ z mid ;
  • the coordinate range of the sixth block is x mid ⁇ x ⁇ x max , y min ⁇ y ⁇ y mid , z mid ⁇ z ⁇
  • the divided block to be spatially divided and decoded needs to be determined whether the coordinate range needs to be adjusted based on the field of view of the acquisition device, and whether to adjust and how to adjust with reference to the encoding method 100 described in FIGS. 1 to 6 Similarly, for the sake of brevity, I will not repeat them here.
  • the space division decoding After adjusting the block size in the block division decoding process according to the field of view of the acquisition device, the space division decoding will continue.
  • the division and reconstruction are performed layer by layer, and the division of each block is decoded one by one.
  • two exemplary decoding methods are provided.
  • 8 bits are decoded each time to obtain whether the 8 sub-blocks of the divided block contain point cloud data points, and The sub-block containing the point cloud data points in the sub-block is divided and decoded in the next layer.
  • the division and decoding process ends.
  • the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length
  • eight bits may be obtained according to the arithmetic decoding result, and the lowest four bits of the eight bits The value of is 0, and according to the highest four bits of the eight bits, it is determined whether the sub-blocks obtained by dividing the divided block in the remaining two directions that have not reached the preset minimum side length contain point cloud data.
  • the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length
  • four bits may be obtained according to the arithmetic decoding result, and the division may be determined according to the four bits Whether the sub-blocks obtained by dividing the block in the remaining two directions that have not reached the preset minimum side length contain point cloud data.
  • the side length of the divided block in two directions in the three-dimensional direction reaches the preset minimum side length
  • two bits are obtained according to the arithmetic decoding result, and it is determined according to the two bits that the divided block has not reached Whether the sub-blocks divided in the remaining one direction of the preset minimum side length contain point cloud data.
  • the number of point cloud data contained in the sub-block is decoded.
  • the side length of a block in the three directions has reached the preset minimum side length
  • the number of point cloud points contained in the block is then decoded.
  • a 0 is decoded
  • the block contains only one point cloud data point.
  • a 1 is decoded
  • the block contains more than one point cloud data point, and then the value (n-1) is decoded, which means that the block contains n point cloud data points (where n is a natural number greater than 1). Then the division and decoding will continue until the entire tree division structure is reconstructed and the number of point cloud points contained in all blocks is decoded.
  • the number of point cloud data contained in each sub-block is sequentially decoded.
  • the side lengths of a block in the three directions have reached the preset minimum side length, it will be judged whether the current division process has all ended. If there are still blocks to be divided, the current block will be directly Pass to the next level until all the division process has ended.
  • the side lengths of all blocks in the three directions have reached the preset minimum side length, then the number of point cloud points contained in each block will be sequentially decoded.
  • any block containing point cloud points when a 0 is decoded, the block contains only one point cloud data point; when a 1 is decoded, the block contains more than one point cloud data point, and then The value (n-1) will be decoded, indicating that the block contains n point cloud data points.
  • the number of point cloud points contained in each block is sequentially decoded, and the intermediate decoding result of the point cloud data position coordinate coding result is obtained.
  • the intermediate decoding result is the decoding result obtained by performing the spatial division decoding described in step S920 on the arithmetic decoding result.
  • Is the intermediate decoding result In order to distinguish it from the final decoding result of the point cloud data position coordinate encoding result, it is called Is the intermediate decoding result.
  • step S930 inverse preprocessing is performed on the intermediate decoding result to obtain the position coordinates of the point cloud data.
  • step S930 corresponds to step S110 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment.
  • the intermediate decoding result obtained in step S920 is inversely preprocessed (
  • the inverse preprocessing may be inverse quantization, that is, the inverse process of the quantization process described above), so as to obtain the final decoding result, that is, the position coordinates of the point cloud data.
  • the method for decoding the position coordinates of point cloud data combines the value range of the field of view of the point cloud data acquisition device in the acquisition process to limit the division of the decoding process in the decoding process of the position coordinates
  • the value range can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the decoding process and improving the decoding efficiency.
  • the above exemplarily describes the method for decoding the position coordinates of the point cloud data according to the embodiments of the present invention.
  • the method for decoding the position coordinates of point cloud data according to an embodiment of the present invention may be implemented in a device, device, or system having a memory and a processor.
  • FIG. 10 shows a schematic block diagram of a system 1000 for decoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the system 1000 for decoding the position coordinates of point cloud data includes a storage device 1010 and a processor 1020.
  • the storage device 1010 stores a program for implementing corresponding steps in the method for decoding position coordinates of point cloud data according to an embodiment of the present invention.
  • the processor 1020 is configured to run a program stored in the storage device 1010 to execute the corresponding steps of the method for decoding the position coordinates of the point cloud data according to the embodiment of the present invention described above. For brevity, I won't repeat them here.
  • a storage medium on which program instructions are stored, and the program instructions are used to execute the point cloud data in the embodiments of the present invention when the program instructions are run by a computer or a processor.
  • the corresponding steps of the decoding method of the position coordinates may include, for example, a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), USB memory, or any combination of the above storage media.
  • the computer-readable storage medium may be any combination of one or more computer-readable storage media.
  • the above-mentioned collecting device for collecting point cloud data may be a distance measuring device such as a lidar or a laser distance measuring device.
  • the distance measuring device is used to sense external environmental information, for example, distance information, orientation information, reflection intensity information, speed information, etc. of environmental targets.
  • One point cloud point may include at least one of the external environment information measured by the distance measuring device.
  • the distance measuring device can detect the distance from the probe to the distance measuring device by measuring the time of light propagation between the distance measuring device and the probe, that is, the time-of-flight (TOF).
  • the ranging device can also detect the distance from the detected object to the ranging device through other technologies, such as a ranging method based on phase shift measurement, or a ranging method based on frequency shift measurement. There is no restriction.
  • the distance measuring device 1100 may include a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, and an arithmetic circuit 1140.
  • the transmitting circuit 1110 may emit a light pulse sequence (for example, a laser pulse sequence).
  • the receiving circuit 1120 can receive the light pulse sequence reflected by the object to be detected, and perform photoelectric conversion on the light pulse sequence to obtain an electrical signal. After processing the electrical signal, it can be output to the sampling circuit 1130.
  • the sampling circuit 1130 may sample the electrical signal to obtain the sampling result.
  • the arithmetic circuit 1140 may determine the distance between the distance measuring device 1100 and the detected object based on the sampling result of the sampling circuit 1130.
  • the distance measuring device 1100 may further include a control circuit 1150, which can control other circuits, for example, can control the working time of each circuit and/or set parameters for each circuit.
  • a control circuit 1150 can control other circuits, for example, can control the working time of each circuit and/or set parameters for each circuit.
  • the distance measuring device shown in FIG. 11 includes a transmitting circuit, a receiving circuit, a sampling circuit, and an arithmetic circuit for emitting a beam for detection
  • the embodiment of the present application is not limited to this, the transmitting circuit
  • the number of any one of the receiving circuit, the sampling circuit, and the arithmetic circuit can also be at least two, which are used to emit at least two light beams in the same direction or in different directions; wherein, the at least two light paths can be simultaneous Shooting can also be shooting at different times.
  • the light-emitting chips in the at least two transmitting circuits are packaged in the same module.
  • each emitting circuit includes a laser emitting chip, and the dies in the laser emitting chips in the at least two emitting circuits are packaged together and housed in the same packaging space.
  • the distance measuring device 1100 may further include a scanning module (not shown in FIG. 11) for changing the propagation direction of at least one laser pulse sequence emitted by the transmitting circuit.
  • a module including a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, and a calculation circuit 1140 or a module including a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, a calculation circuit 1140, and a control circuit 1150 can be called a measurement Distance module, the distance measurement module can be independent of other modules, for example, scanning module.
  • a coaxial optical path can be used in the distance measuring device, that is, the light beam emitted from the distance measuring device and the reflected light beam share at least part of the optical path in the distance measuring device.
  • the distance measuring device may also adopt an off-axis optical path, that is, the light beam emitted by the distance measuring device and the reflected light beam are respectively transmitted along different optical paths in the distance measuring device.
  • FIG. 12 shows a schematic diagram of an embodiment in which the distance measuring device of the present invention adopts a coaxial optical path.
  • the ranging device 1200 includes a ranging module 1201.
  • the ranging module 1201 includes a transmitter 1203 (which may include the above-mentioned transmitting circuit), a collimating element 1204, a detector 1205 (which may include the above-mentioned receiving circuit, sampling circuit, and arithmetic circuit) and Light path changing element 1206.
  • the ranging module 1201 is used to emit a light beam, receive the return light, and convert the return light into an electrical signal.
  • the transmitter 1203 can be used to transmit a light pulse sequence.
  • the transmitter 1203 may emit a sequence of laser pulses.
  • the laser beam emitted by the transmitter 1203 is a narrow-bandwidth beam with a wavelength outside the visible light range.
  • the collimating element 1204 is arranged on the exit light path of the emitter, and is used to collimate the light beam emitted from the emitter 1203, and collimate the light beam emitted from the emitter 1203 into parallel light and output to the scanning module.
  • the collimating element is also used to condense at least a part of the return light reflected by the probe.
  • the collimating element 1204 may be a collimating lens or other elements capable of collimating light beams.
  • the transmitting light path and the receiving light path in the distance measuring device are combined before the collimating element 1204 through the light path changing element 1206, so that the transmitting light path and the receiving light path can share the same collimating element, so that the light path More compact.
  • the transmitter 1203 and the detector 1205 may use their respective collimating elements, and the optical path changing element 1206 is arranged on the optical path behind the collimating element.
  • the light path changing element can use a small area mirror to The transmitting light path and the receiving light path are combined.
  • the light path changing element may also use a reflector with a through hole, where the through hole is used to transmit the emitted light of the emitter 1203, and the reflector is used to reflect the returned light to the detector 1205. In this way, the shielding of the back light by the bracket of the small mirror in the case of using the small mirror can be reduced.
  • the distance measuring device 1200 further includes a scanning module 1202.
  • the scanning module 1202 is placed on the exit light path of the distance measuring module 1201.
  • the scanning module 1202 is used to change the transmission direction of the collimated beam 1219 emitted by the collimating element 1204 and project it to the external environment, and project the returned light to the collimating element 1204 .
  • the returned light is collected on the detector 1205 via the collimating element 1204.
  • the scanning module 1202 may include at least one optical element for changing the propagation path of the light beam, wherein the optical element may change the propagation path of the light beam by reflecting, refracting, or diffracting the light beam.
  • the scanning module 1202 includes a lens, a mirror, a prism, a galvanometer, a grating, a liquid crystal, an optical phased array (Optical Phased Array), or any combination of the foregoing optical elements.
  • at least part of the optical elements are moving.
  • a driving module is used to drive the at least part of the optical elements to move.
  • the moving optical elements can reflect, refract, or diffract the light beam to different directions at different times.
  • the multiple optical elements of the scanning module 1202 can rotate or vibrate around a common axis 1209, and each rotating or vibrating optical element is used to continuously change the propagation direction of the incident light beam.
  • the multiple optical elements of the scanning module 1202 may rotate at different speeds or vibrate at different speeds.
  • at least part of the optical elements of the scanning module 1202 may rotate at substantially the same speed.
  • the multiple optical elements of the scanning module may also be rotated around different axes.
  • the multiple optical elements of the scanning module may also rotate in the same direction or in different directions; or vibrate in the same direction, or vibrate in different directions, which is not limited herein.
  • the scanning module 1202 includes a first optical element 1214 and a driver 1216 connected to the first optical element 1214.
  • the driver 1216 is used to drive the first optical element 1214 to rotate around the rotation axis 1209 to change the first optical element 1214.
  • the first optical element 1214 projects the collimated beam 1219 to different directions.
  • the angle between the direction of the collimated beam 1219 changed by the first optical element and the rotation axis 1209 changes as the first optical element 1214 rotates.
  • the first optical element 1214 includes a pair of opposing non-parallel surfaces through which the collimated light beam 1219 passes.
  • the first optical element 1214 includes a prism whose thickness varies in at least one radial direction.
  • the first optical element 1214 includes a wedge-angle prism to collimate the beam 1219 for refracting.
  • the scanning module 1202 further includes a second optical element 1215, the second optical element 1215 rotates around the rotation axis 1209, and the rotation speed of the second optical element 1215 is different from the rotation speed of the first optical element 1214.
  • the second optical element 1215 is used to change the direction of the light beam projected by the first optical element 1214.
  • the second optical element 1215 is connected to another driver 1217, and the driver 1217 drives the second optical element 1215 to rotate.
  • the first optical element 1214 and the second optical element 1215 can be driven by the same or different drivers, so that the rotation speed and/or rotation of the first optical element 1214 and the second optical element 1215 are different, so as to project the collimated light beam 1219 to the outside space.
  • the controller 1218 controls the drivers 1216 and 1217 to drive the first optical element 1214 and the second optical element 1215, respectively.
  • the rotation speed of the first optical element 1214 and the second optical element 1215 can be determined according to the area and pattern expected to be scanned in actual applications.
  • the drivers 1216 and 1217 may include motors or other drivers.
  • the second optical element 1215 includes a pair of opposite non-parallel surfaces through which the light beam passes. In one embodiment, the second optical element 1215 includes a prism whose thickness varies in at least one radial direction. In one embodiment, the second optical element 1215 includes a wedge prism.
  • the scanning module 1202 further includes a third optical element (not shown) and a driver for driving the third optical element to move.
  • the third optical element includes a pair of opposite non-parallel surfaces, and the light beam passes through the pair of surfaces.
  • the third optical element includes a prism whose thickness varies in at least one radial direction.
  • the third optical element includes a wedge prism. At least two of the first, second, and third optical elements rotate at different rotation speeds and/or rotation directions.
  • each optical element in the scanning module 1202 can project light to different directions, such as directions 1211 and 1213, so that the space around the distance measuring device 1200 is scanned.
  • FIG. 13 is a schematic diagram of a scanning pattern of the distance measuring device 1200. It is understandable that when the speed of the optical element in the scanning module changes, the scanning pattern will also change accordingly.
  • the detection object 1210 When the light 1211 projected by the scanning module 1202 hits the detection object 1210, a part of the light is reflected by the detection object 1210 to the distance measuring device 1200 in a direction opposite to the projected light 1211. The return light 1212 reflected by the detection object 1210 passes through the scanning module 1202 and then enters the collimating element 1204.
  • the detector 1205 and the transmitter 1203 are placed on the same side of the collimating element 1204, and the detector 1205 is used to convert at least part of the return light passing through the collimating element 1204 into an electrical signal.
  • the distance and orientation detected by the distance measuring device 1200 can be used for remote sensing, obstacle avoidance, surveying and mapping, modeling, navigation, etc.
  • the distance measuring device of the embodiment of the present invention can be applied to a mobile platform, and the distance measuring device can be installed on the platform body of the mobile platform.
  • a mobile platform with a distance measuring device can measure the external environment, for example, measuring the distance between the mobile platform and obstacles for obstacle avoidance and other purposes, and for two-dimensional or three-dimensional mapping of the external environment.
  • the mobile platform includes at least one of an unmanned aerial vehicle, a car, a remote control car, a robot, and a camera.
  • the ranging device is applied to an unmanned aerial vehicle, the platform body is the fuselage of the unmanned aerial vehicle.
  • the platform body When the distance measuring device is applied to a car, the platform body is the body of the car.
  • the car can be a self-driving car or a semi-automatic driving car, and there is no restriction here.
  • the platform body When the distance measuring device is applied to a remote control car, the platform body is the body of the remote control car.
  • the platform body When the distance measuring device is applied to a robot, the platform body is a robot.
  • the distance measuring device When the distance measuring device is applied to a camera, the platform body is the camera itself.
  • the foregoing exemplarily describes the coding and decoding method, system, storage medium, and collection device for collecting point cloud data according to the embodiment of the present invention for the position coordinates of the point cloud data.
  • the method, system and storage medium for encoding and decoding the position coordinates of point cloud data according to the embodiments of the present invention are combined with the value range of the field of view of the point cloud data acquisition device during the acquisition process to limit the encoding and decoding of position coordinates.
  • dividing the value range of the encoding and decoding process can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding and decoding process and improving the encoding and decoding efficiency.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another device, or some features can be ignored or not implemented.
  • the various component embodiments of the present invention may be implemented by hardware, or by software modules running on one or more processors, or by their combination.
  • a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some modules according to the embodiments of the present invention.
  • DSP digital signal processor
  • the present invention can also be implemented as a device program (for example, a computer program and a computer program product) for executing part or all of the methods described herein.
  • Such a program for realizing the present invention may be stored on a computer-readable medium, or may have the form of one or more signals. Such signals can be downloaded from Internet websites, or provided on carrier signals, or provided in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention provides methods and systems for encoding and decoding position coordinates of point cloud data, and a storage medium. The method for encoding the position coordinates of the point cloud data comprises: determining the initial position coordinates of an initial block according to the position coordinates of inputted point cloud data; performing spatial partitioning and encoding on the initial block to obtain an intermediate encoding result; and performing arithmetic encoding on the intermediate encoding result to obtain a final encoding result. In the process of performing spatial partitioning and encoding on the initial block, based on the range of the field of view of an acquisition device that acquires the point cloud data, it is determined whether to adjust the coordinate range of a partitioning block. By defining the value ranges of the partitioning, encoding, and decoding processes in the position coordinate encoding and decoding processes according to the methods and systems for encoding and decoding the position coordinates of the point cloud data in the embodiments of the present invention in combination with the value range of the field of view of the acquisition device of the point cloud data during acquisition, the present invention can quickly reduce some regions where the point cloud data must not exist, thereby reducing time overhead in the encoding and decoding processes, and improving encoding and decoding efficiency.

Description

点云数据的位置坐标的编解码方法、系统和存储介质Coding and decoding method, system and storage medium for position coordinates of point cloud data
说明书Manual
技术领域Technical field
本发明总地涉及点云编码技术领域,更具体地涉及一种点云数据的位置坐标的编解码方法、系统和存储介质。The present invention generally relates to the technical field of point cloud coding, and more particularly relates to a coding and decoding method, system and storage medium for the position coordinates of point cloud data.
背景技术Background technique
点云是三维物体或场景的一种表现形式,是由空间中一组无规则分布、表达三维物体或场景空间结构和表面属性的离散点集所构成。为了准确反映空间中的信息,所需离散点的数目是巨大的。为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩处理。A point cloud is a form of expression of a three-dimensional object or scene. It is composed of a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of the three-dimensional object or scene. In order to accurately reflect the information in the space, the number of discrete points required is huge. In order to reduce the bandwidth occupied by point cloud data storage and transmission, the point cloud data needs to be encoded and compressed.
在点云数据编码压缩过程中,包括对位置坐标的编码和对属性的编码。其中,位置坐标通常分布较为离散,并且一个点云数据点会对应三个方向上的位置坐标,这样一组点云数据的数据量通常是很大的,所以需要对点云数据尤其是点云数据中的位置坐标进行有效的编码压缩。In the point cloud data coding and compression process, it includes the coding of position coordinates and the coding of attributes. Among them, the location coordinates are usually distributed relatively discretely, and a point cloud data point will correspond to the location coordinates in three directions. Such a set of point cloud data usually has a large amount of data, so it is necessary to check the point cloud data, especially the point cloud. The position coordinates in the data are effectively encoded and compressed.
现有的对点云数据的位置坐标的编码压缩通常基于八叉树划分编码,然而,八叉树划分编码每次进行八叉树划分时边长仅减小一半,这种方法可能导致许多次的划分均未得到含有点云数据的子块,从而在一定程度上增加了编码过程中的冗余计算,使得编码效率较低,也在一定程度上限制了压缩的性能。The existing encoding and compression of the position coordinates of point cloud data is usually based on octree partition coding. However, the side length of the octree partition coding is only reduced by half each time the octree partition is performed. This method may cause many times None of the sub-blocks containing point cloud data are obtained by the division, which increases the redundant calculation in the encoding process to a certain extent, makes the coding efficiency lower, and also limits the compression performance to a certain extent.
发明内容Summary of the invention
为了解决上述问题而提出了本发明。本发明提供一种点云数据的位置坐标的编解码方案,其结合点云数据的采集设备在采集过程中的视野范围(FOV,field of view)的取值范围来限定对位置坐标编解码过程中划分编解码过程的取值范围,可以较快减少一些一定不存在点云数据点的区域,从而提高编解码效率,减少编解码过程中的时间开销。下面简要描述本发明提出的点云数据的位置坐标的编解码方案,更多细节将在后续结合附图在 具体实施方式中加以描述。The present invention is proposed to solve the above-mentioned problems. The present invention provides a coding and decoding scheme for the position coordinates of point cloud data, which combines the value range of the field of view (FOV, field of view) of the point cloud data collection device during the collection process to limit the coding and decoding process of the position coordinates Dividing the value range of the encoding and decoding process in the middle can quickly reduce some areas where point cloud data points must not exist, thereby improving the encoding and decoding efficiency and reducing the time overhead in the encoding and decoding process. The following briefly describes the coding and decoding scheme of the position coordinates of the point cloud data proposed by the present invention, and more details will be described later in the detailed description with reference to the accompanying drawings.
根据本发明一方面,提供了一种点云数据的位置坐标的编码方法,所述编码方法包括:根据输入的点云数据的位置坐标,确定初始块的初始位置坐标;对所述初始块进行空间划分编码得到中间编码结果;以及对所述中间编码结果进行算术编码得到最终编码结果;其中,在对所述初始块进行空间划分编码的过程中,基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。According to one aspect of the present invention, there is provided a method for encoding position coordinates of point cloud data. The encoding method includes: determining the initial position coordinates of an initial block according to the input position coordinates of the point cloud data; Space division coding obtains an intermediate coding result; and performing arithmetic coding on the intermediate coding result to obtain a final coding result; wherein, in the process of performing spatial division coding on the initial block, based on the data of the collection device that collects the point cloud data The field of view determines whether to adjust the coordinate range of the divided block.
根据本发明另一方面,提供了一种点云数据的位置坐标的解码方法,所述解码方法包括:对点云数据位置坐标编码结果进行算术解码得到算术解码结果;对所述算术解码结果进行空间划分解码得到中间解码结果;以及对所述中间解码结果进行逆预处理得到所述点云数据的位置坐标;其中,在所述空间划分解码的过程中,基于所述编码结果的头信息确定用于空间划分的初始块的坐标范围,并基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。According to another aspect of the present invention, there is provided a method for decoding the position coordinates of point cloud data, the decoding method comprising: performing arithmetic decoding on the position coordinate encoding result of the point cloud data to obtain the arithmetic decoding result; performing the arithmetic decoding result on the arithmetic decoding result Space division decoding obtains an intermediate decoding result; and performing inverse preprocessing on the intermediate decoding result to obtain the position coordinates of the point cloud data; wherein, in the process of space division decoding, the determination is based on the header information of the encoding result The coordinate range of the initial block used for spatial division, and whether to adjust the coordinate range of the divided block is determined based on the field of view of the collecting device that collects the point cloud data.
根据本发明又一方面,提供了一种点云数据的位置坐标的编码系统,所述编码系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的点云数据的位置坐标的编码方法。According to another aspect of the present invention, there is provided an encoding system for the position coordinates of point cloud data. The encoding system includes a storage device and a processor, and the storage device stores a computer program run by the processor. When the computer program is run by the processor, the method for encoding the position coordinates of the point cloud data described in any of the above items is executed.
根据本发明又一方面,提供了一种点云数据的位置坐标的解码系统,所述编码系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的点云数据的位置坐标的解码方法。According to another aspect of the present invention, a system for decoding position coordinates of point cloud data is provided. The encoding system includes a storage device and a processor, and the storage device stores a computer program run by the processor. When the computer program is run by the processor, the method for decoding the position coordinates of the point cloud data described in any one of the above items is executed.
根据本发明再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的点云数据的位置坐标的编码方法。According to another aspect of the present invention, there is provided a storage medium with a computer program stored on the storage medium, and the computer program executes the method for encoding the position coordinates of the point cloud data described in any one of the above items during operation.
根据本发明再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的点云数据的位置坐标的解码方法。According to another aspect of the present invention, there is provided a storage medium with a computer program stored on the storage medium, and the computer program executes the method for decoding the position coordinates of the point cloud data described in any one of the above items during operation.
根据本发明实施例的点云数据的位置坐标的编解码方法、系统和存储介质结合点云数据的采集设备在采集过程中的视野范围的取值范围来限定 对位置坐标编解码过程中划分编解码过程的取值范围,可以较快减少一些一定不存在点云数据点的区域,从而减少编解码过程中的时间开销,提高编解码效率。The method, system and storage medium for encoding and decoding the position coordinates of point cloud data according to the embodiments of the present invention combine the value range of the field of view of the point cloud data acquisition device in the acquisition process to limit the division of encoding and decoding during the encoding and decoding process of the position coordinates. The value range of the decoding process can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding and decoding process and improving the encoding and decoding efficiency.
附图说明Description of the drawings
图1示出根据本发明实施例的点云数据的位置坐标的编码方法的示意性流程图;Fig. 1 shows a schematic flowchart of a method for encoding position coordinates of point cloud data according to an embodiment of the present invention;
图2示出根据本发明一个实施例的点云数据采集示意图;Figure 2 shows a schematic diagram of point cloud data collection according to an embodiment of the present invention;
图3示出根据本发明一个实施例的求解某点所在映射面视点中心位置坐标的示意图;FIG. 3 shows a schematic diagram of solving the coordinates of the center position of the viewpoint of a mapping surface where a point is located according to an embodiment of the present invention;
图4示出根据本发明一个实施例的根据采集设备视野范围限定的点云分布范围示意图;FIG. 4 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to an embodiment of the present invention;
图5示出根据本发明另一个实施例的点云数据采集示意图;5 shows a schematic diagram of point cloud data collection according to another embodiment of the present invention;
图6示出根据本发明另一个实施例的根据采集设备视野范围限定的点云分布范围示意图;Fig. 6 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to another embodiment of the present invention;
图7示出本发明实施例的树划分编码过程示意图;Fig. 7 shows a schematic diagram of a tree division coding process according to an embodiment of the present invention;
图8示出根据本发明实施例的点云数据的位置坐标的编码系统的示意性框图;Fig. 8 shows a schematic block diagram of a system for encoding position coordinates of point cloud data according to an embodiment of the present invention;
图9示出根据本发明实施例的点云数据的位置坐标的解码方法的示意性流程图;FIG. 9 shows a schematic flowchart of a method for decoding position coordinates of point cloud data according to an embodiment of the present invention;
图10示出根据本发明实施例的点云数据的位置坐标的解码系统的示意性框图;Fig. 10 shows a schematic block diagram of a decoding system for position coordinates of point cloud data according to an embodiment of the present invention;
图11示出根据本发明一个实施例的能够用于采集点云数据的测距装置示意性框图;FIG. 11 shows a schematic block diagram of a distance measuring device capable of collecting point cloud data according to an embodiment of the present invention;
图12示出根据本发明另一实施例的能够用于采集点云数据的测距装置示意性框图;以及Fig. 12 shows a schematic block diagram of a distance measuring device capable of collecting point cloud data according to another embodiment of the present invention; and
图13示出图12所示的测距装置的一种扫描图案的示意图。FIG. 13 shows a schematic diagram of a scanning pattern of the distance measuring device shown in FIG. 12.
具体实施方式Detailed ways
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图 详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。In order to make the objectives, technical solutions, and advantages of the present invention more obvious, the exemplary embodiments according to the present invention will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments of the present invention. It should be understood that the present invention is not limited by the exemplary embodiments described herein. Based on the embodiments of the present invention described in the present invention, all other embodiments obtained by those skilled in the art without creative work should fall within the protection scope of the present invention.
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。In the following description, a lot of specific details are given in order to provide a more thorough understanding of the present invention. However, it is obvious to those skilled in the art that the present invention can be implemented without one or more of these details. In other examples, in order to avoid confusion with the present invention, some technical features known in the art are not described.
应当理解的是,本发明能够以不同形式实施,而不应当解释为局限于这里提出的实施例。相反地,提供这些实施例将使公开彻底和完全,并且将本发明的范围完全地传递给本领域技术人员。It should be understood that the present invention can be implemented in different forms and should not be interpreted as being limited to the embodiments presented here. On the contrary, the provision of these embodiments will make the disclosure thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
在此使用的术语的目的仅在于描述具体实施例并且不作为本发明的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。The purpose of the terms used here is only to describe specific embodiments and not as a limitation of the present invention. When used herein, the singular forms of "a", "an" and "the/the" are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "composition" and/or "including", when used in this specification, determine the existence of the described features, integers, steps, operations, elements and/or components, but do not exclude one or more other The existence or addition of features, integers, steps, operations, elements, parts, and/or groups. As used herein, the term "and/or" includes any and all combinations of related listed items.
为了彻底理解本发明,将在下列的描述中提出详细的步骤以及详细的结构,以便阐释本发明提出的技术方案。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。In order to thoroughly understand the present invention, detailed steps and detailed structures will be presented in the following description to explain the technical solution proposed by the present invention. The preferred embodiments of the present invention are described in detail as follows. However, in addition to these detailed descriptions, the present invention may also have other embodiments.
如前所述,目前的点云数据的位置坐标的编码方法在一定程度上增加了编码过程中的冗余计算,使得编码效率较低。基于此,本发明提供一种点云数据的位置坐标的编解码方案,下面结合附图来描述根据本发明实施例的点云数据的位置坐标的编解码方案。As mentioned above, the current encoding method of the position coordinates of the point cloud data increases the redundant calculation in the encoding process to a certain extent, making the encoding efficiency lower. Based on this, the present invention provides a coding and decoding scheme for the position coordinates of point cloud data. The coding and decoding scheme for the position coordinates of point cloud data according to embodiments of the present invention will be described below with reference to the accompanying drawings.
图1示出根据本发明实施例的点云数据的位置坐标的编码方法100的示意性流程图。如图1所示,点云数据的位置坐标的编码方法100可以包括如下步骤:Fig. 1 shows a schematic flowchart of a method 100 for encoding position coordinates of point cloud data according to an embodiment of the present invention. As shown in FIG. 1, the method 100 for encoding position coordinates of point cloud data may include the following steps:
在步骤S110,根据输入的点云数据的位置坐标,确定初始块的初始位置坐标。In step S110, the initial position coordinates of the initial block are determined according to the position coordinates of the input point cloud data.
在本发明的实施例中,可以采用激光扫描仪、激光雷达等测距装置来针对某物体或某场景采集点云数据。一般地,经采集的点云数据包括三维方向的位置坐标。例如,每个点云数据的位置坐标可以采用笛卡尔坐标系表示,例如表示为(x,y,z)。在其他示例中,每个点云数据的位置坐标也可以采用其他坐标系来表示,诸如球坐标系、柱坐标系等。为了描述简洁,在本文中,以笛卡尔坐标系为例来描述各种坐标。在一个实施例中,可以先对输入的点云数据的位置坐标进行预处理,预处理可以包括对输入的点云数据的位置坐标进行量化。In the embodiment of the present invention, distance measuring devices such as laser scanners and lidars may be used to collect point cloud data for a certain object or a certain scene. Generally, the collected point cloud data includes position coordinates in three dimensions. For example, the position coordinates of each point cloud data can be expressed in a Cartesian coordinate system, for example, expressed as (x, y, z). In other examples, the position coordinates of each point cloud data can also be represented by other coordinate systems, such as a spherical coordinate system, a cylindrical coordinate system, and so on. For simplicity of description, in this article, the Cartesian coordinate system is used as an example to describe various coordinates. In one embodiment, the position coordinates of the input point cloud data may be preprocessed first, and the preprocessing may include quantifying the position coordinates of the input point cloud data.
示例性地,可以根据输入的点云数据的位置坐标在三个方向(以笛卡尔坐标系为例三个方向是x轴方向、y轴方向和z轴方向)中每个方向上的最大值与最小值之间的差值、以及根据输入的量化精度参数,对输入的每个点云数据的位置坐标进行量化,以简化对点云数据的位置坐标的编码操作。其中,量化精度可以是预设的固定值。此外,对输入的每个点云数据的位置坐标在三维方向的各方向上的量化精度可以保持一致。示例性地,可以通过量化将输入的点云数据的位置坐标转换为大于等于零的整数坐标。Exemplarily, the position coordinates of the input point cloud data can be the maximum value in each of the three directions (take the Cartesian coordinate system as an example, the three directions are the x-axis direction, the y-axis direction and the z-axis direction) The difference between the minimum value and the input quantization precision parameter is used to quantize the position coordinates of each input point cloud data to simplify the coding operation of the position coordinates of the point cloud data. Among them, the quantization accuracy can be a preset fixed value. In addition, the quantization accuracy of the position coordinates of each input point cloud data in all three-dimensional directions can be kept consistent. Exemplarily, the position coordinates of the input point cloud data can be converted into integer coordinates greater than or equal to zero by quantization.
进一步地,在将所有点云数据的位置坐标进行量化后,可能会出现重复的坐标值,可将这些重复的坐标值进行去重处理。应注意,如果此处实施了去重处理,则在对点云数据进行属性编码的时候需要相应地进行属性转换,将重复坐标对应的属性进行合并。不过,在本发明中,主要是针对点云数据的位置坐标的编解码方法的描述,因此对于点云数据的属性编码在本发明中不作详细描述。Further, after the position coordinates of all point cloud data are quantified, repeated coordinate values may appear, and these repeated coordinate values can be deduplicated. It should be noted that if de-duplication processing is implemented here, it is necessary to perform attribute conversion accordingly when encoding the point cloud data, and merge the attributes corresponding to the repeated coordinates. However, in the present invention, it is mainly the description of the coding and decoding method of the position coordinates of the point cloud data, so the attribute coding of the point cloud data is not described in detail in the present invention.
在其他实施例中,对输入的点云数据的位置坐标的预处理还可以包括任何其他合适的操作,本发明对此不作限制。In other embodiments, the preprocessing of the position coordinates of the input point cloud data may also include any other suitable operations, which is not limited in the present invention.
基于经预处理的点云数据的位置坐标,可以确定首次被进行空间划分的块(在本文中可称为初始块)的初始位置坐标。当然,也可以直接将输入的点云数据的位置坐标作为依据来确定用于空间划分编码的初始块的初始位置坐标。示例性地,初始块的初始位置坐标可以基于经预处理的点云 数据的位置坐标在三个方向中的最大值中的最大值来确定。在本文的描述中,空间划分可以包括八叉树划分、四叉树划分以及二叉树划分等,具体是何种划分可以取决于划分过程中被划分块的几何形状。例如,当初始块通常是立方体或长方体时,因此可以首先采用八叉树划分,后续在调整划分块坐标范围后可能采用八叉树划分、四叉树划分或二叉树划分等。Based on the position coordinates of the preprocessed point cloud data, the initial position coordinates of the block (which may be referred to as the initial block in this text) that is spatially divided for the first time can be determined. Of course, the position coordinates of the input point cloud data can also be directly used as a basis to determine the initial position coordinates of the initial block used for space division coding. Exemplarily, the initial position coordinates of the initial block may be determined based on the maximum value among the maximum values of the position coordinates of the preprocessed point cloud data in the three directions. In the description herein, space division may include octree division, quadtree division, and binary tree division, etc. The specific division may depend on the geometry of the divided blocks in the division process. For example, when the initial block is usually a cube or a cuboid, octree division may be adopted first, and then octree division, quadtree division, or binary tree division may be adopted after adjusting the coordinate range of the division block.
下面继续参考图1,描述根据本发明实施例的点云数据的位置坐标的编码方法的后续步骤。Next, referring to FIG. 1, the subsequent steps of the method for encoding position coordinates of point cloud data according to an embodiment of the present invention will be described.
在步骤S120,对所述初始块进行空间划分编码得到中间编码结果,其中,在对所述初始块进行空间划分编码的过程中,基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。In step S120, the initial block is spatially divided and encoded to obtain an intermediate encoding result, wherein, in the process of spatially dividing and encoding the initial block, it is determined whether to adjust based on the field of view of the collecting device that collects the point cloud data The coordinate range of the divided block.
在本发明的实施例中,对于经预处理的点云数据的位置坐标采用基于空间划分编码的编码,其中该空间划分编码可包括八叉树划分编码、四叉树划分编码以及二叉树划分编码中的至少一种,这可以取决于划分过程中被划分块的几何形状,稍后将在下文中描述。In the embodiment of the present invention, the position coordinates of the preprocessed point cloud data adopt coding based on space division coding, where the space division coding may include octree division coding, quadtree division coding, and binary tree division coding. This may depend on the geometry of the divided blocks during the division process, which will be described later in the following.
在传统的八叉树划分编码中,首次被进行八叉树划分的块(可称为初始块)的边长(或称为坐标范围)通常是基于经预处理的点云数据的位置坐标来确定,该边长的取值一般是基于经预处理的点云数据的位置坐标在三个方向中的最大值中的最大值;之后被进行八叉树划分的块(可称为划分块)的边长通常是前层块的边长的一半(例如初始块的边长是16,则第一层的划分块的边长为8,第二层的划分块的边长为4等等),如此进行划分,直到得到边长为最小边长(通常为1)的块则划分结束,该过程中边长的此种变化也意味着块的坐标范围的也符合类似的变化规律。In the traditional octree partition coding, the side length (or the coordinate range) of the block (which can be called the initial block) that is first divided by the octree is usually based on the position coordinates of the preprocessed point cloud data. Determine, the value of the side length is generally based on the maximum value of the three directions of the position coordinates of the preprocessed point cloud data; the block divided by the octree (can be called the divided block) The side length of is usually half of the side length of the previous layer block (for example, the side length of the initial block is 16, then the side length of the divided block of the first layer is 8, the side length of the divided block of the second layer is 4, etc.) , The division is carried out in this way until a block with the smallest side length (usually 1) is obtained, and the division ends. This change in side length in the process also means that the coordinate range of the block also conforms to a similar change law.
与传统的空间划分编码不同,在本发明的对经预处理的点云数据的位置坐标进行的基于空间划分编码的编码中,用于空间划分的初始块的坐标范围(包括边长)也是基于经预处理的位置坐标来确定,但用于空间划分的每个划分块的坐标范围并非简单地层层减半缩小,而是还基于采集所述点云数据的采集设备的视野范围来确定是否调整(主要指是否减小)每个划分块的坐标范围。Different from the traditional space division coding, in the coding based on the space division coding of the position coordinates of the preprocessed point cloud data of the present invention, the coordinate range (including side length) of the initial block used for space division is also based on The pre-processed position coordinates are determined, but the coordinate range of each division block used for space division is not simply halved and reduced, but is also determined based on the field of view of the collection device that collects the point cloud data. (Mainly refers to whether to reduce) the coordinate range of each divided block.
本发明的一些实施例中提出的对点云数据的位置坐标的基于空间划分编码的编码是基于下述构思而想到的:传统用于八叉树划分的块通常都 是立方体,但实际中获取点云数据的采集设备(包括激光雷达、激光扫描仪等)基本上都是从中心按照特定规律发射出激光并获取返回值实现点云数据的采集,通常这种采集设备都会有一定的视野范围的限制,在这个限制之下,位置坐标的取值范围并不是按照立方体分布的,因此直接在在立方体内的进行划分编码,在一定程度上增加了编码过程中的冗余计算,并且也在一定程度上限制了压缩的性能。基于此,本发明提出的对点云数据的位置坐标的基于空间划分编码的编码在每次空间划分之前,会基于采集点云数据的采集设备的视野范围确定本次用于进行空间划分的块坐标范围(边长)是否过大,是否该块的一定范围内一定不存在点云数据,如果是则基于采集点云数据的采集设备的视野范围调整该块的坐标范围(边长),从而可以有效减小部分块的边长大小,进而减少划分的总次数,一方面减少了用来描述划分情况的码流比特,另一方面也减少了在编码解码过程中划分的复杂度,从而可以减少编码解码过程中的时间开销。此外,由于初始化的立方体(即初始块)是根据所有点云点的位置坐标分布所确定,其取值一定是落在采集设备的视野范围内所能选择的最小的立方体,所以在第一次划分时不需要利用采集设备的视野范围进行剪枝操作,故仅针对划分块来确定是否需要基于采集设备的视野范围调整其坐标范围。The coding based on the space division coding of the position coordinates of the point cloud data proposed in some embodiments of the present invention is based on the following idea: the blocks traditionally used for octree division are usually cubes, but they are actually obtained Point cloud data collection equipment (including lidar, laser scanner, etc.) basically emits laser light from the center according to a specific rule and obtains the return value to achieve point cloud data collection. Usually such collection equipment will have a certain field of view Under this limitation, the value range of the position coordinates is not distributed according to the cube. Therefore, the division and coding directly in the cube increases the redundant calculation in the coding process to a certain extent, and also To some extent, it limits the performance of compression. Based on this, the coding based on the space division coding for the position coordinates of the point cloud data proposed by the present invention will determine the block used for space division this time based on the field of view of the collection device that collects the point cloud data before each space division. Whether the coordinate range (side length) is too large, whether there must be no point cloud data in a certain range of the block, if so, adjust the coordinate range (side length) of the block based on the field of view of the collecting device that collects the point cloud data, so as It can effectively reduce the side length of part of the block, thereby reducing the total number of divisions. On the one hand, it reduces the bit stream bits used to describe the division. On the other hand, it also reduces the complexity of the division in the encoding and decoding process. Reduce the time overhead in the encoding and decoding process. In addition, since the initialized cube (ie, the initial block) is determined according to the position coordinate distribution of all point cloud points, its value must be the smallest cube that can be selected within the field of view of the collection device, so in the first time When dividing, it is not necessary to use the field of view of the collection device to perform pruning operations, so it is only for the divided block to determine whether the coordinate range of the collection device needs to be adjusted based on the field of view.
下面详细本发明提出的上述对经预处理的点云数据的位置坐标进行的基于空间划分编码的编码。In the following, the coding based on the space division coding for the position coordinates of the preprocessed point cloud data proposed by the present invention will be described in detail.
首先,根据经预处理的点云数据的位置坐标(以下简称为位置坐标)在三个方向中每个方向上的最大值,并求出这三个最大值之中的最大值,根据该选定值来确定用于初始化空间划分的初始块的边长。通常,初始块为长方体,或者是立方体,或者是球体的一部分,或者是柱体的一部分。下面以初始块为立方体为例来说明,通常初始块的边长可以为2的整数次幂且为大于等于并最接近该选定值。应理解,可以将该选定值写入到码流文件的头信息中供解码端使用。基于对初始块的边长的确定,可以开始进行八叉树划分编码。First of all, according to the position coordinates of the preprocessed point cloud data (hereinafter referred to as position coordinates) in each of the three directions maximum value, and find the maximum value among the three maximum values, according to the selection Set the value to determine the side length of the initial block used to initialize the space division. Usually, the initial block is a cuboid, or a cube, or a part of a sphere, or a part of a cylinder. In the following, the initial block is a cube as an example. Generally, the side length of the initial block can be an integer power of 2 and be greater than or equal to and closest to the selected value. It should be understood that the selected value can be written into the header information of the code stream file for use by the decoder. Based on the determination of the side length of the initial block, the octree partition coding can be started.
八叉树的划分均利用当前块的中心点的坐标进行子块划分,通过中心点将当前块划分成八个小的子块。设当前立方体块的中心点坐标为(x mid,y mid,z mid),假设当前块的三个方向上的最小值分别为x min、y min、z min, 当前块在三个方向上的最大值分别为x max、y max、z max,则八叉树划分过程中八个小的子块的坐标取值范围如下所示:第一个块的坐标取值范围为x min≤x≤x mid,y min≤y≤y mid,z min≤z≤z mid;第二个块的坐标取值范围为x min≤x≤x mid,y min≤y≤y mid,z mid≤z≤z max;第三个块的坐标取值范围为x min≤x≤x mid,y mid≤y≤y max,z min≤z≤z mid;第四个块的坐标取值范围为x min≤x≤x mid,y mid≤y≤y max,z mid≤z≤z max;第五个块的坐标取值范围为x mid≤x≤x max,y min≤y≤y mid,z min≤z≤z mid;第六个块的坐标取值范围为x mid≤x≤x max,y min≤y≤y mid,z mid≤z≤z max;第七个块的坐标取值范围为x mid≤x≤x max,y mid≤y≤y max,z min≤z≤z mid;第八个块的坐标取值范围为x mid≤x≤x max,y mid≤y≤y max,z mid≤z≤z max。在八叉树编码过程中,依次判断当前块内包含的所有点云数据点分别属于八个子块中的哪一个,当该块内包含的所有点云数据点属于哪个子块都判定结束后,接着可以用8比特(bit)来编码当前块对应子块划分的情况。若当前块内含有点云数据点则对应位会被置为1,否则会被置为0。例如当第三个子块内含有点云数据点,第六子块内含有点云数据点,其他子块内均不含有点云数据点时,此时编码出来的8bit二进制码流为0010 0100。接着对含有数据点的块接着进行划分,在本发明的实施例中,在对任一划分块进行划分之前,可以基于采集所述点云数据的采集设备的视野范围来确定是否需要调整该划分块的坐标范围。 The division of the octree uses the coordinates of the center point of the current block to divide the current block into eight small sub-blocks through the center point. Suppose the coordinates of the center point of the current cube block are (x mid , y mid , z mid ), assuming that the minimum values in the three directions of the current block are x min , y min , z min , and the current block in the three directions The maximum values are x max , y max , z max , and the coordinate range of the eight small sub-blocks in the octree division process is as follows: the coordinate range of the first block is x min ≤x≤ x mid , y min ≤y≤y mid , z min ≤z≤z mid ; the coordinate range of the second block is x min ≤x≤x mid , y min ≤y≤y mid , z mid ≤z≤ z max ; the coordinate range of the third block is x min ≤x≤x mid , y mid ≤y≤y max , z min ≤z≤z mid ; the coordinate range of the fourth block is x min x≤x mid, y mid ≤y≤y max, z mid ≤z≤z max; coordinate ranges of the fifth block x mid ≤x≤x max, y min ≤y≤y mid, z min ≤ z ≤ z mid ; the coordinate range of the sixth block is x mid ≤ x ≤ x max , y min ≤ y ≤ y mid , z mid ≤ z ≤ z max ; the coordinate range of the seventh block is x mid ≤x≤x max , y mid ≤y≤y max , z min ≤z≤z mid ; the range of the coordinates of the eighth block is x mid ≤x≤x max , y mid ≤y≤y max , z mid ≤z≤z max . In the octree encoding process, it is determined in turn which of the eight sub-blocks all the point cloud data points contained in the current block belong to. After the determination of which sub-block all the point cloud data points contained in the block belongs to is finished, Then, 8 bits can be used to encode the sub-block division of the current block. If the current block contains point cloud data points, the corresponding bit will be set to 1, otherwise it will be set to 0. For example, when the third sub-block contains point cloud data points, the sixth sub-block contains point cloud data points, and the other sub-blocks do not contain point cloud data points, the encoded 8-bit binary code stream at this time is 0010 0100. Then the block containing the data points is then divided. In the embodiment of the present invention, before dividing any divided block, it can be determined whether the division needs to be adjusted based on the field of view of the collecting device collecting the point cloud data The coordinate range of the block.
具体地,基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围,可以包括如下步骤:确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围(可将该坐标范围称为视野限定坐标范围);对于三维方向中的至少一个方向,将所述视野限定坐标范围在该方向的取值范围与所述划分块的原始坐标范围在该方向的取值范围进行比较;基于所述比较的结果确定是否调整所述划分块的坐标范围。Specifically, determining whether to adjust the coordinate range of the divided block based on the field of view of the collecting device that collects the point cloud data may include the following steps: determining that the corresponding divided block is within the limit of the field of view of the collecting device There is a coordinate range of point cloud data (this coordinate range can be referred to as the visual field limited coordinate range); for at least one of the three-dimensional directions, the value range of the visual field limited coordinate range in this direction is the same as the value range of the divided block The original coordinate range is compared in the value range of the direction; based on the comparison result, it is determined whether to adjust the coordinate range of the divided block.
在本发明的实施例中,每个划分块都可以对应于一个视野限定坐标范围,该视野限定坐标范围的确定可以包括如下步骤:基于所述划分块的每个顶点的位置坐标计算所述每个顶点对应的映射面视点中心的位置坐标;计算所述每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离;以及基于所述每个顶点对应的映射面视点中心的位置 坐标到所述采集设备的设备位置坐标的距离确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围;其中,任一顶点对应的映射面视点中心是指该顶点到预设矢量上的投影点,所述预设矢量的起点为所述采集设备的位置坐标经所述预处理得到的所述设备位置坐标,所述预设矢量的终点为所述采集设备的视野范围内的预设参考点的位置坐标经所述预处理得到的参考位置坐标。如前所述,预处理可以包括量化操作。基于此,所述采集设备的所述设备位置坐标可以是所述采集设备的实际位置坐标经量化后的坐标,所述参考位置坐标可以是所述采集设备的视野范围内的所述预设参考点的实际位置坐标经量化后的坐标。示例性地,所述采集设备的实际位置坐标的量化方式和所述预设参考点的实际位置坐标的量化方式可以均与所述输入的点云数据的位置坐标的量化方式相同。其中,所述量化方式所采用的量化精度可以是预设的固定值。此外,所述量化方式在三维方向的各方向上的量化精度可以保持一致。In the embodiment of the present invention, each divided block may correspond to a limited field of view coordinate range, and the determination of the limited field of view coordinate range may include the following steps: calculating the position coordinates of each vertex of the divided block. The position coordinates of the viewpoint center of the mapping surface corresponding to each vertex; calculating the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex to the device position coordinates of the collection device; and the mapping surface corresponding to each vertex The distance from the position coordinates of the center of the viewpoint to the device position coordinates of the collection device determines the coordinate range of the point cloud data corresponding to the divided block under the limitation of the field of view of the collection device; wherein any vertex corresponds to The viewpoint center of the mapping surface refers to the projection point of the vertex onto a preset vector, and the starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinate of the collection device, and the preset The end point of the vector is the reference position coordinate obtained by the preprocessing of the position coordinates of the preset reference point in the field of view of the acquisition device. As mentioned earlier, preprocessing can include quantization operations. Based on this, the device location coordinates of the collection device may be quantized coordinates of the actual location coordinates of the collection device, and the reference location coordinates may be the preset reference within the field of view of the collection device The quantized coordinates of the actual position coordinates of the point. Exemplarily, the quantization method of the actual position coordinates of the collecting device and the quantization method of the actual position coordinates of the preset reference point may be the same as the quantization method of the position coordinates of the input point cloud data. Wherein, the quantization precision adopted by the quantization method may be a preset fixed value. In addition, the quantization accuracy of the quantization method in all directions in the three-dimensional direction can be kept consistent.
在本发明的实施例中,任一划分块对应的视野限定坐标范围与采集点云数据的采集设备及其视野范围相关。下面结合图2到图6举例说明任一划分块对应的视野限定坐标范围的确定方法。下面以点云数据的采集设备的视野范围为一个锥形体为例进行解释。可以理解的是,点云数据的采集设备的视野范围可以有其他形状,不做限制。In the embodiment of the present invention, the limited coordinate range of the field of view corresponding to any divided block is related to the collection device that collects the point cloud data and its field of view. The following illustrates the method for determining the limited coordinate range of the visual field corresponding to any divided block in conjunction with FIGS. 2 to 6. The following is an example in which the field of view of the point cloud data acquisition device is a cone. It is understandable that the field of view of the point cloud data collection device can have other shapes and is not limited.
图2示出根据本发明一个实施例的点云数据采集示意图,图3示出根据本发明一个实施例的求解某点所在映射面视点中心位置坐标的示意图。如图2所示,点O为采集设备所在位置,用来采集点云数据的射线均从这里出射,在未经过量化的坐标系下该位置通常为坐标原点,设这个位置在未经量化的坐标系下的坐标为(x o,y o,z o),设某一个反射面的视点中心位置如图2中所示的点A,对应的坐标为(x A,y A,z A)。设点O到反射面的直线距离为dist,则可以根据采集设备在水平和垂直两个方向上的视野范围(FOV H和FOV V)求得反射面的大小(用水平方向上的长度H和垂直方向上的V表示),如式1和式2所示的。 FIG. 2 shows a schematic diagram of point cloud data collection according to an embodiment of the present invention, and FIG. 3 shows a schematic diagram of solving the coordinates of the center position of a viewpoint on a mapping surface where a certain point is located according to an embodiment of the present invention. As shown in Figure 2, point O is the location of the collection device. The rays used to collect point cloud data are all emitted from here. In an unquantized coordinate system, this location is usually the origin of the coordinate. The coordinates in the coordinate system are (x o , y o , z o ), suppose the center of the viewpoint of a reflecting surface is point A as shown in Figure 2, and the corresponding coordinates are (x A , y A , z A ) . Suppose the straight line distance from point O to the reflecting surface is dist, then the size of the reflecting surface can be obtained according to the field of view (FOV H and FOV V ) of the collecting device in the horizontal and vertical directions (using the length H in the horizontal direction and the vertical The V in the direction indicates), as shown in Equation 1 and Equation 2.
Figure PCTCN2019089787-appb-000001
Figure PCTCN2019089787-appb-000001
Figure PCTCN2019089787-appb-000002
Figure PCTCN2019089787-appb-000002
对点O与点A的位置坐标按照与量化位置坐标相同的方法进行量化。具体过程可以如式3、式4、式5所示。The position coordinates of point O and point A are quantized in the same way as the quantization of position coordinates. The specific process can be shown in Equation 3, Equation 4, and Equation 5.
Figure PCTCN2019089787-appb-000003
Figure PCTCN2019089787-appb-000003
Figure PCTCN2019089787-appb-000004
Figure PCTCN2019089787-appb-000004
Figure PCTCN2019089787-appb-000005
Figure PCTCN2019089787-appb-000005
其中,式3、式4、式5中x min、y min、z min分别为所有点云数据点的位置坐标中三个方向上的最小值,scale为量化时的精度,一般情况下三个方向的量化精度可以设定为一致。x、y、z分别为待量化的位置坐标在三个方向上的坐标值,
Figure PCTCN2019089787-appb-000006
分别为量化后的位置坐标在三个方向上的坐标值。根据点O与点A这两个点就可以确定在量化之后的坐标系中对应的点
Figure PCTCN2019089787-appb-000007
与点
Figure PCTCN2019089787-appb-000008
的位置坐标分别为
Figure PCTCN2019089787-appb-000009
Figure PCTCN2019089787-appb-000010
其中,点
Figure PCTCN2019089787-appb-000011
所在的位置可以称为采集设备的设备位置坐标,其并非采集设备的实际位置坐标,而是该实际位置坐标经过量化后的坐标。
Among them, x min , y min , and z min in equation 3, equation 4, and equation 5 are the minimum values in the three directions in the position coordinates of all point cloud data points, and scale is the accuracy during quantization. Generally, three The quantization accuracy of the direction can be set to be consistent. x, y, z are the coordinate values of the position coordinates to be quantized in three directions,
Figure PCTCN2019089787-appb-000006
They are the coordinate values of the quantized position coordinates in three directions. According to the two points of point O and point A, the corresponding point in the coordinate system after quantization can be determined
Figure PCTCN2019089787-appb-000007
With points
Figure PCTCN2019089787-appb-000008
The location coordinates are
Figure PCTCN2019089787-appb-000009
versus
Figure PCTCN2019089787-appb-000010
Among them, point
Figure PCTCN2019089787-appb-000011
The location can be referred to as the device location coordinates of the collection device, which is not the actual location coordinates of the collection device, but the quantized coordinates of the actual location coordinates.
如前所述,基于划分块的每个顶点的位置坐标计算所述每个顶点对应的映射面视点中心的位置坐标,其中任一顶点对应的映射面视点中心是指该顶点到预设矢量上的投影点,所述预设矢量的起点为所述采集设备的位置坐标经所述预处理得到的所述设备位置坐标,所述预设矢量的终点为所述采集设备的视野范围内的预设参考点的位置坐标经所述预处理得到的参考位置坐标。在结合图2所示的示例中,预设参考点即为点A,预设参考点的位置坐标经所述预处理得到的参考位置坐标即为点
Figure PCTCN2019089787-appb-000012
的位置坐标
Figure PCTCN2019089787-appb-000013
所述预设矢量的起点为点
Figure PCTCN2019089787-appb-000014
所述预设矢量的终点为点
Figure PCTCN2019089787-appb-000015
所述预设矢量即为向量
Figure PCTCN2019089787-appb-000016
设点
Figure PCTCN2019089787-appb-000017
为量化后的坐标系内某次空间划分过程中的一个块的顶点,位置坐标为
Figure PCTCN2019089787-appb-000018
则该顶点对应的映射面视点中心的位置坐标的计算方法可以如图3所示。
As mentioned above, the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex are calculated based on the position coordinates of each vertex of the divided block, wherein the viewpoint center of the mapping surface corresponding to any vertex refers to the vertex to the preset vector The starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinates of the collection device, and the end point of the preset vector is the preset within the field of view of the collection device Let the position coordinates of the reference point be the reference position coordinates obtained by the preprocessing. In the example shown in FIG. 2, the preset reference point is point A, and the position coordinates of the preset reference point are the reference position coordinates obtained by the preprocessing.
Figure PCTCN2019089787-appb-000012
Location coordinates
Figure PCTCN2019089787-appb-000013
The starting point of the preset vector is a point
Figure PCTCN2019089787-appb-000014
The end point of the preset vector is a point
Figure PCTCN2019089787-appb-000015
The preset vector is the vector
Figure PCTCN2019089787-appb-000016
Set point
Figure PCTCN2019089787-appb-000017
Is the vertex of a block in a certain space division process in the quantized coordinate system, the position coordinate is
Figure PCTCN2019089787-appb-000018
The calculation method of the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be as shown in FIG. 3.
图3示出根据本发明实施例的求解某点
Figure PCTCN2019089787-appb-000019
所在映射面视点中心位置坐标的示意图。如图3所示,点
Figure PCTCN2019089787-appb-000020
即为点
Figure PCTCN2019089787-appb-000021
所在映射面的视点中心,设从点
Figure PCTCN2019089787-appb-000022
指向点
Figure PCTCN2019089787-appb-000023
的向量为
Figure PCTCN2019089787-appb-000024
可以求得
Figure PCTCN2019089787-appb-000025
的值(如式6所示),然后可以求得向量
Figure PCTCN2019089787-appb-000026
的模值(如式7所示)基于
Figure PCTCN2019089787-appb-000027
以及向量
Figure PCTCN2019089787-appb-000028
的模值可以求得向 量
Figure PCTCN2019089787-appb-000029
(如式8所示),然后可以求得点
Figure PCTCN2019089787-appb-000030
的位置坐标(如式9所示)。
Figure 3 shows how to solve a certain point according to an embodiment of the present invention
Figure PCTCN2019089787-appb-000019
A schematic diagram of the coordinates of the center position of the viewpoint on the mapping surface. As shown in Figure 3, point
Figure PCTCN2019089787-appb-000020
Is the point
Figure PCTCN2019089787-appb-000021
The view point center of the mapping surface where it is located, set from the point
Figure PCTCN2019089787-appb-000022
Pointing point
Figure PCTCN2019089787-appb-000023
The vector is
Figure PCTCN2019089787-appb-000024
Can be obtained
Figure PCTCN2019089787-appb-000025
The value of (as shown in Equation 6), and then the vector can be obtained
Figure PCTCN2019089787-appb-000026
The modulus of (as shown in Equation 7) is based on
Figure PCTCN2019089787-appb-000027
And vector
Figure PCTCN2019089787-appb-000028
The modulus of can be obtained as a vector
Figure PCTCN2019089787-appb-000029
(As shown in Equation 8), then you can find the point
Figure PCTCN2019089787-appb-000030
The position coordinates (as shown in Equation 9).
Figure PCTCN2019089787-appb-000031
Figure PCTCN2019089787-appb-000031
Figure PCTCN2019089787-appb-000032
Figure PCTCN2019089787-appb-000032
Figure PCTCN2019089787-appb-000033
Figure PCTCN2019089787-appb-000033
Figure PCTCN2019089787-appb-000034
Figure PCTCN2019089787-appb-000034
基于采集设备点对应的位置坐标
Figure PCTCN2019089787-appb-000035
和求得的点
Figure PCTCN2019089787-appb-000036
所在映射面视点中心
Figure PCTCN2019089787-appb-000037
的位置坐标,即可以求得
Figure PCTCN2019089787-appb-000038
Figure PCTCN2019089787-appb-000039
这两点之间的直线距离
Figure PCTCN2019089787-appb-000040
(如式10所示)。
Based on the location coordinates corresponding to the collection device point
Figure PCTCN2019089787-appb-000035
And the obtained point
Figure PCTCN2019089787-appb-000036
The center of the point of view of the mapped surface
Figure PCTCN2019089787-appb-000037
The position coordinates of can be obtained
Figure PCTCN2019089787-appb-000038
with
Figure PCTCN2019089787-appb-000039
The straight-line distance between these two points
Figure PCTCN2019089787-appb-000040
(As shown in Equation 10).
Figure PCTCN2019089787-appb-000041
Figure PCTCN2019089787-appb-000041
基于前述的结合图2和图3描述的方法即可得到任一划分块的任一顶点的位置坐标对应的映射面视点中心的位置坐标,以及该顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离。基于划分块的每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离,即可确定与所述划分块对应的、在所述采集设备的视野范围(FOV H和FOV V)的限定下存在点云数据的坐标范围(即前述的与划分块对应的视野限定坐标范围),正如图4所示的。 Based on the aforementioned method described in conjunction with Fig. 2 and Fig. 3, the position coordinates of the viewpoint center of the mapping surface corresponding to the position coordinates of any vertex of any divided block can be obtained, and the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be obtained. The distance of the device location coordinates of the collection device. Based on the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex of the divided block to the device position coordinates of the collection device, the field of view (FOV H) corresponding to the divided block can be determined. And FOV V ), there is a coordinate range of point cloud data (that is, the aforementioned limited coordinate range of the field of view corresponding to the divided block), as shown in FIG. 4.
图4示出根据本发明一个实施例的根据采集设备视野范围限定的点云分布范围示意图。如图4所示,最小距离对应视点中心点
Figure PCTCN2019089787-appb-000042
最大距离对应视点中心点
Figure PCTCN2019089787-appb-000043
则对于当前划分块内所含有的点云数据点一定落在图4中根据最小距离、最大距离以及采集设备视野范围限定的四棱台体内。可以将该四棱台体的坐标范围与当前用于空间划分的划分块的原始坐标范围进行比较,以确定是否需要调整当前划分块的坐标范围。
Fig. 4 shows a schematic diagram of a point cloud distribution range defined according to a field of view of a collection device according to an embodiment of the present invention. As shown in Figure 4, the minimum distance corresponds to the center of the viewpoint
Figure PCTCN2019089787-appb-000042
The maximum distance corresponds to the center of the viewpoint
Figure PCTCN2019089787-appb-000043
Then the point cloud data points contained in the current divided block must fall within the quadrangular prism defined by the minimum distance, the maximum distance, and the field of view of the collection device in FIG. 4. The coordinate range of the quadrangular mesa can be compared with the original coordinate range of the division block currently used for space division to determine whether the coordinate range of the current division block needs to be adjusted.
下面以点云数据的采集设备的视野范围为一个圆锥体为例进行解释。可以理解的是,点云数据的采集设备的视野范围可以有其他形状,不做限制。下面结合图5和图6描述根据本发明另一实施例的视野限定坐标范围的确定方法。图5示出根据本发明另一个实施例的点云数据采集示意图, 图6示出根据本发明另一个实施例的根据采集设备视野范围限定的点云分布范围示意图。如图5所示,点O为采集设备所在位置,用来采集点云数据的射线均从这里出射,在未经过量化的坐标系下该位置通常为坐标原点,设这个位置在未经量化的坐标系下的坐标为(x o,y o,z o),设某一个反射面的视点中心位置如图5中所示的点A,对应的坐标为(x A,y A,z A)。设点O到反射面的直线距离为dist,则可以根据采集设备上的视野范围(FOV)求得反射面的大小(用该反射面的直径D表示),如式11所示的。 The following is an example in which the field of view of the point cloud data acquisition device is a cone. It is understandable that the field of view of the point cloud data collection device can have other shapes and is not limited. Hereinafter, a method for determining a limited coordinate range of a visual field according to another embodiment of the present invention will be described with reference to FIGS. 5 and 6. Fig. 5 shows a schematic diagram of point cloud data collection according to another embodiment of the present invention, and Fig. 6 shows a schematic diagram of a point cloud distribution range defined according to the field of view of a collection device according to another embodiment of the present invention. As shown in Figure 5, point O is the location of the acquisition device, and the rays used to collect point cloud data are all emitted from here. In an unquantized coordinate system, this location is usually the origin of the coordinate. The coordinates in the coordinate system are (x o , y o , z o ), suppose the center of the viewpoint of a reflecting surface is point A as shown in Figure 5, and the corresponding coordinates are (x A , y A , z A ) . Supposing the linear distance from point O to the reflecting surface is dist, the size of the reflecting surface can be obtained according to the field of view (FOV) on the collecting device (represented by the diameter D of the reflecting surface), as shown in Equation 11.
Figure PCTCN2019089787-appb-000044
Figure PCTCN2019089787-appb-000044
对点O与点A的位置坐标按照与量化位置坐标相同的方法进行量化。具体过程可以如式3、式4、式5所示。根据点O与点A这两个点就可以确定在量化之后的坐标系中对应的点
Figure PCTCN2019089787-appb-000045
与点
Figure PCTCN2019089787-appb-000046
的位置坐标分别为
Figure PCTCN2019089787-appb-000047
Figure PCTCN2019089787-appb-000048
其中,点
Figure PCTCN2019089787-appb-000049
所在的位置可以称为采集设备的设备位置坐标,其并非采集设备的实际位置坐标,而是该实际位置坐标经过量化后的坐标。
The position coordinates of point O and point A are quantized in the same way as the quantization of position coordinates. The specific process can be shown in Equation 3, Equation 4, and Equation 5. According to the two points of point O and point A, the corresponding point in the coordinate system after quantization can be determined
Figure PCTCN2019089787-appb-000045
With points
Figure PCTCN2019089787-appb-000046
The location coordinates are
Figure PCTCN2019089787-appb-000047
versus
Figure PCTCN2019089787-appb-000048
Among them, point
Figure PCTCN2019089787-appb-000049
The location can be referred to as the device location coordinates of the collection device, which is not the actual location coordinates of the collection device, but the quantized coordinates of the actual location coordinates.
如前所述,基于划分块的每个顶点的位置坐标计算所述每个顶点对应的映射面视点中心的位置坐标,其中任一顶点对应的映射面视点中心是指该顶点到预设矢量上的投影点,所述预设矢量的起点为所述采集设备的位置坐标经所述预处理得到的所述设备位置坐标,所述预设矢量的终点为所述采集设备的视野范围内的预设参考点的位置坐标经所述预处理得到的参考位置坐标。在结合图5所示的示例中,预设参考点即为点A,预设参考点的位置坐标经所述预处理得到的参考位置坐标即为点
Figure PCTCN2019089787-appb-000050
的位置坐标
Figure PCTCN2019089787-appb-000051
所述预设矢量的起点为点
Figure PCTCN2019089787-appb-000052
所述预设矢量的终点为点
Figure PCTCN2019089787-appb-000053
所述预设矢量即为向量
Figure PCTCN2019089787-appb-000054
设点
Figure PCTCN2019089787-appb-000055
为量化后的坐标系内某次空间划分过程中的一个块的顶点,位置坐标为
Figure PCTCN2019089787-appb-000056
则该顶点对应的映射面视点中心的位置坐标的计算方法可以如图3所示。最终,根据前述的式6到式10,可以计算得到任一划分块的任一顶点的位置坐标对应的映射面视点中心的位置坐标,以及该顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离。基于划分块的每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离,即可确定与所述划分块对应的、在所述采集设备的视野范围(FOV)的限定下存在点云数据的坐 标范围(即前述的与划分块对应的视野限定坐标范围),正如图6所示的。
As mentioned above, the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex are calculated based on the position coordinates of each vertex of the divided block, wherein the viewpoint center of the mapping surface corresponding to any vertex refers to the vertex to the preset vector The starting point of the preset vector is the device position coordinate obtained by the preprocessing of the position coordinates of the collection device, and the end point of the preset vector is the preset within the field of view of the collection device Let the position coordinates of the reference point be the reference position coordinates obtained by the preprocessing. In the example shown in FIG. 5, the preset reference point is point A, and the position coordinates of the preset reference point are the reference position coordinates obtained by the preprocessing.
Figure PCTCN2019089787-appb-000050
Location coordinates
Figure PCTCN2019089787-appb-000051
The starting point of the preset vector is a point
Figure PCTCN2019089787-appb-000052
The end point of the preset vector is a point
Figure PCTCN2019089787-appb-000053
The preset vector is the vector
Figure PCTCN2019089787-appb-000054
Set point
Figure PCTCN2019089787-appb-000055
Is the vertex of a block in a certain space division process in the quantized coordinate system, the position coordinate is
Figure PCTCN2019089787-appb-000056
The calculation method of the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be as shown in FIG. 3. Finally, according to the aforementioned formulas 6 to 10, the position coordinates of the viewpoint center of the mapping surface corresponding to the position coordinates of any vertex of any divided block can be calculated, and the position coordinates of the viewpoint center of the mapping surface corresponding to the vertex can be calculated to the The distance of the device location coordinates of the collection device. Based on the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex of the divided block to the device position coordinates of the collection device, the field of view (FOV) corresponding to the divided block in the collection device can be determined There is a coordinate range of point cloud data under the limitation of (that is, the aforementioned limited coordinate range of the field of view corresponding to the divided block), as shown in FIG. 6.
如图6所示,最小距离对应视点中心点
Figure PCTCN2019089787-appb-000057
最大距离对应视点中心点
Figure PCTCN2019089787-appb-000058
则对于当前划分块内所含有的点云数据点一定落在图4中根据最小距离、最大距离以及采集设备视野范围限定的圆台体内。可以将该圆台体的坐标范围与当前用于空间划分的划分块的原始坐标范围进行比较,以确定是否需要调整当前划分块的坐标范围。
As shown in Figure 6, the minimum distance corresponds to the center of the viewpoint
Figure PCTCN2019089787-appb-000057
The maximum distance corresponds to the center of the viewpoint
Figure PCTCN2019089787-appb-000058
Then the point cloud data points contained in the current divided block must fall within the truncated cone defined by the minimum distance, the maximum distance, and the field of view of the collection device in FIG. 4. The coordinate range of the truncated cone body can be compared with the original coordinate range of the division block currently used for space division to determine whether the coordinate range of the current division block needs to be adjusted.
以上示例性地示出了任一划分块对应的视野限定坐标范围的确定方法。应理解,这仅是示例性的,根据采集设备视野范围的不同,任一划分块对应的视野限定坐标范围的确定还可以是其他的方法。The above exemplarily shows the method for determining the limited coordinate range of the visual field corresponding to any divided block. It should be understood that this is only exemplary, and according to the different field of view of the collection device, the determination of the limited coordinate range of the field of view corresponding to any divided block may also be other methods.
下面举例说明如何基于划分块对应的视野限定坐标范围的取值范围与所述划分块的原始坐标范围的比较结果确定是否调整所述划分块的坐标范围,以及如何调整所述划分块的坐标范围。应理解,划分块对应的视野限定坐标范围以及划分块的原始坐标范围均在三维方向上具有取值范围,因此可以针对三维方向的至少一个方向实施比较操作,并且需要的话对经比较的该方向的坐标的取值范围进行调整。下面以一个方向为例来具体描述,应理解其他两个方向的操作也是相同的。The following example illustrates how to determine whether to adjust the coordinate range of the divided block and how to adjust the coordinate range of the divided block based on the comparison result of the value range of the limited coordinate range of the field of view corresponding to the divided block and the original coordinate range of the divided block. . It should be understood that the limited coordinate range of the field of view corresponding to the divided block and the original coordinate range of the divided block both have a value range in the three-dimensional direction. Therefore, the comparison operation can be performed for at least one direction of the three-dimensional direction, and if necessary, the compared direction Adjust the value range of the coordinates. The following takes one direction as an example for specific description, and it should be understood that the operations in the other two directions are also the same.
在本发明的一个实施例中,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,可以包括:对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围与所述原始坐标范围在该方向的取值范围有交叉部分,且基于所述交叉部分确定的第一新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第一新边长,并基于所述第一新边长和所述交叉部分调整所述划分块在该方向的坐标范围。In an embodiment of the present invention, the determining whether to adjust the coordinate range of the divided block based on the result of the comparison may include: for at least one of the three-dimensional directions, when the field of view limited coordinate range is in this direction When the value range of and the value range of the original coordinate range in this direction have an intersection, and the first new side length determined based on the intersection is less than the original side length of the divided block in this direction, The side length of the divided block is adjusted to the first new side length, and the coordinate range of the divided block in the direction is adjusted based on the first new side length and the intersection part.
在该实施例中,划分块对应的视野限定坐标范围与该划分块的原始坐标范围在某一方向上有交叉部分,即以下两种情况:(1)视野限定坐标范围在该方向上的最小值小于等于原始坐标范围在该方向上的最小值,且视野限定坐标范围在该方向上的最大值介于原始坐标范围在该方向上的最小值和最大值之间;(2)视野限定坐标范围在该方向上的最小值介于原始坐标范围在该方向上的最小值和最大值之间,且视野限定坐标范围在该方向上的最大值大于等于原始坐标范围在该方向上的最大值。设原始坐标范围 在该方向上的最小值为A1,原始坐标范围在该方向上的最大值为B1,视野限定坐标范围在该方向上的最小值为A2,视野限定坐标范围在该方向上的最大值为B2,则上述第一种情况即为A2≤A1且A1<B2<B1;上述第二情况即为A1<A2<B1且B2≥B1。In this embodiment, the limited field of view coordinate range corresponding to the divided block and the original coordinate range of the divided block have an intersection in a certain direction, that is, the following two cases: (1) The minimum value of the limited field of view coordinate range in this direction Less than or equal to the minimum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is between the minimum and maximum values of the original coordinate range in this direction; (2) the visual field limited coordinate range The minimum value in this direction is between the minimum value and the maximum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is greater than or equal to the maximum value of the original coordinate range in this direction. Suppose the minimum value of the original coordinate range in this direction is A1, the maximum value of the original coordinate range in this direction is B1, the minimum value of the visual field limited coordinate range in this direction is A2, and the visual field limited coordinate range in this direction The maximum value is B2, then the first case above is A2≤A1 and A1<B2<B1; the second case above is A1<A2<B1 and B2≥B1.
针对第一种情况,交叉部分可以表示区间[A1,B2],可基于该区间的最大值与最小值之间的差值(即B2-A1)确定第一新边长L1。示例性地,第一新边长L1可以为大于等于并且最接近该差值的2的整数次幂。可将该第一新边长L1与划分块在该方向上的原始边长L0(即B1-A1)进行比较,当L1<L0时,可将该划分块的边长从L0调整为L1,并基于L1和区间[A1,B2]调整该划分块在该方向上的坐标范围。例如,可以将该划分块在该方向上的最小值A1加上第一新边长L1得到该划分块在该方向上的新最大值B1’(B1’=A1+L1),即经过调整后该划分块在该方向的边长为L1,在该方向的坐标范围为[A1,B1’]。For the first case, the intersection can represent the interval [A1, B2], and the first new side length L1 can be determined based on the difference between the maximum value and the minimum value of the interval (ie, B2-A1). Exemplarily, the first new side length L1 may be an integer power of 2 greater than or equal to and closest to the difference. The first new side length L1 can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction. When L1<L0, the side length of the divided block can be adjusted from L0 to L1, And based on L1 and interval [A1, B2], adjust the coordinate range of the divided block in this direction. For example, the minimum value A1 of the divided block in the direction can be added to the first new side length L1 to obtain the new maximum value B1' (B1'=A1+L1) of the divided block in the direction, that is, after adjustment The side length of the divided block in this direction is L1, and the coordinate range in this direction is [A1, B1'].
针对第二种情况,交叉部分可以表示区间[A2,B1],可基于该区间的最大值与最小值之间的差值(即B1-A2)确定第一新边长L1’。示例性地,第一新边长L1’可以为大于等于并且最接近该差值的2的整数次幂。可将该第一新边长L1’与划分块在该方向上的原始边长L0(即B1-A1)进行比较,当L1’<L0时,可将该划分块的边长从L0调整为L1’,并基于L1’和区间[A2,B1]调整该划分块在该方向上的坐标范围。例如,可以将该划分块在该方向上的最大值B1减去第二新边长L1’得到该划分块在该方向上的新最小值A1’(A1’=B1-L1’),即经过调整后该划分块在该方向的边长为L1’,在该方向的坐标范围为[A1’,B1]。For the second case, the intersection can represent the interval [A2, B1], and the first new side length L1' can be determined based on the difference between the maximum value and the minimum value of the interval (ie, B1-A2). Exemplarily, the first new side length L1' may be an integer power of 2 greater than or equal to and closest to the difference. The first new side length L1' can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction. When L1'<L0, the side length of the divided block can be adjusted from L0 to L1', and adjust the coordinate range of the divided block in this direction based on L1' and the interval [A2, B1]. For example, the maximum value B1 of the divided block in the direction can be subtracted from the second new side length L1' to obtain the new minimum value A1' (A1'=B1-L1') of the divided block in the direction, that is, after After adjustment, the side length of the divided block in this direction is L1', and the coordinate range in this direction is [A1', B1].
在本发明的另一个实施例中,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,可以包括:对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围落入所述原始坐标范围在该方向的取值范围,且所述基于视野限定坐标范围确定的第二新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第二新边长,并基于所述第二新边长和所述视野限定坐标范围调整所述划分块在该方向的坐标范围。In another embodiment of the present invention, the determining whether to adjust the coordinate range of the divided block based on the result of the comparison may include: for at least one of the three-dimensional directions, when the field of view limited coordinate range is within the When the value range of the direction falls within the value range of the original coordinate range in this direction, and the second new side length determined based on the limited coordinate range of the field of view is less than the original side length of the divided block in this direction, The side length of the divided block is adjusted to the second new side length, and the coordinate range of the divided block in the direction is adjusted based on the second new side length and the limited field of view coordinate range.
在该实施例中,划分块对应的视野限定坐标范围在某一方向上的取值 范围落入该划分块的原始坐标范围在该方向上的取值范围,即视野限定坐标范围在该方向上的最小值大于原始坐标范围在该方向上的最小值,且视野限定坐标范围在该方向上的最大值小于原始坐标范围在该方向上的最大值。仍然设原始坐标范围在该方向上的最小值为A1,原始坐标范围在该方向上的最大值为B1,视野限定坐标范围在该方向上的最小值为A2,视野限定坐标范围在该方向上的最大值为B2,则该实施例中的情况即为A2>A1且B2<B1。In this embodiment, the value range of the limited field of view coordinate range corresponding to the divided block in a certain direction falls within the value range of the original coordinate range of the divided block in that direction, that is, the value range of the limited field of view coordinate range in this direction. The minimum value is greater than the minimum value of the original coordinate range in this direction, and the maximum value of the visual field limited coordinate range in this direction is smaller than the maximum value of the original coordinate range in this direction. Still suppose the minimum value of the original coordinate range in this direction is A1, the maximum value of the original coordinate range in this direction is B1, the minimum value of the visual field limited coordinate range in this direction is A2, and the visual field limited coordinate range is in this direction. The maximum value of is B2, then the situation in this embodiment is A2>A1 and B2<B1.
在该实施例中,可基于视野限定坐标范围在该方向上的最大值与最小值之间的差值(即B2-A2)确定第二新边长L2。示例性地,第二新边长L2可以为大于等于并且最接近该差值的2的整数次幂。可将该第二新边长L2与划分块在该方向上的原始边长L0(即B1-A1)进行比较,当L2<L0时,可将该划分块的边长从L0调整为L2,并基于L2和视野限定坐标范围在该方向上的取值范围[A2,B2]调整该划分块在该方向上的坐标范围。在一个示例中,可以将视野限定坐标范围在该方向的最小值A2加上第二新边长L2得到该划分块在该方向的新最大值B1’,将视野限定坐标范围在该方向的最小值A2作为该划分块在该方向的新最小值A1’,因此,该划分块在该方向上的经调整的坐标范围为[A1’,B1’],其中A1’=A2,B1’=A2+L2。在另一个示例中,可以将视野限定坐标范围在该方向的最大值B2减去第二新边长L2得到该划分块在该方向的新最小值A1’,将视野限定坐标范围在该方向的最大值B2作为该划分块在该方向的新最大值B1’,因此,该划分块在该方向上的经调整的坐标范围为[A1’,B1’],其中A1’=B2-L2,B1’=B2。In this embodiment, the second new side length L2 can be determined based on the difference between the maximum value and the minimum value of the visual field limited coordinate range in the direction (ie, B2-A2). Exemplarily, the second new side length L2 may be an integer power of 2 greater than or equal to and closest to the difference. The second new side length L2 can be compared with the original side length L0 (ie B1-A1) of the divided block in this direction. When L2<L0, the side length of the divided block can be adjusted from L0 to L2, And adjust the coordinate range of the divided block in this direction based on the value range [A2, B2] of the limited coordinate range in this direction based on L2 and the field of view. In an example, the minimum value A2 of the limited field of view coordinate range in the direction can be added to the second new side length L2 to obtain the new maximum value B1' of the divided block in the direction, and the minimum value of the limited field of view coordinate range in the direction can be obtained. The value A2 is taken as the new minimum value A1' of the divided block in this direction. Therefore, the adjusted coordinate range of the divided block in this direction is [A1', B1'], where A1'=A2, B1'=A2 +L2. In another example, the maximum value B2 of the visual field limited coordinate range in the direction can be subtracted from the second new side length L2 to obtain the new minimum value A1' of the divided block in this direction, and the visual field limited coordinate range in this direction The maximum value B2 is taken as the new maximum value B1' of the divided block in this direction. Therefore, the adjusted coordinate range of the divided block in this direction is [A1', B1'], where A1'=B2-L2, B1 '=B2.
在其他实施例中,对于三维方向中的任一方向,当划分块在该方向上的取值范围落入视野限定坐标范围在该方向的取值范围,或者划分块在该方向上的取值范围与视野限定坐标范围在该方向的取值范围完全重合时,即视野限定坐标范围在该方向上的最小值小于等于该划分块在该方向上的最小值,且视野限定坐标范围在该方向上的最大值大于等于该划分块在该方向上的最大值(采用上面示例中的符号即为A2≤A1且B2≥B1),则说明该划分块在该方向上完全落入采集设备的视野范围之内,此时无需调整该划分块在该方向上的坐标范围。In other embodiments, for any of the three-dimensional directions, when the value range of the divided block in that direction falls within the value range of the visual field limited coordinate range in this direction, or the value of the divided block in this direction When the range is completely overlapped with the value range of the visual field limited coordinate range in this direction, that is, the minimum value of the visual field limited coordinate range in this direction is less than or equal to the minimum value of the divided block in this direction, and the visual field limited coordinate range is in this direction The maximum value on is greater than or equal to the maximum value of the divided block in this direction (using the symbols in the above example is A2≤A1 and B2≥B1), it means that the divided block completely falls into the field of view of the acquisition device in this direction Within the range, there is no need to adjust the coordinate range of the divided block in this direction.
在又一实施例中,对于三维方向中的任一方向,划分块在该方向上的取值范围与视野限定坐标范围在该方向的取值范围完全没有一点交集,即视野限定坐标范围在该方向上的最大值小于该划分块在该方向上的最小值,且视野限定坐标范围在该方向上的最小值大于该划分块在该方向上的最大值(采用上面示例中的符号即为B2<A1且A2>B1),则说明该划分块在该方向上完全落入采集设备的视野范围之外,即该划分块内不存在任何点云数据点。然而由于是对存在点云数据点的块才继续进行划分编码,因此在实际中这种情况不会出现。In another embodiment, for any direction in the three-dimensional direction, the value range of the divided block in that direction and the value range of the visual field limited coordinate range in this direction have no intersection at all, that is, the visual field limited coordinate range is in this direction. The maximum value in the direction is smaller than the minimum value of the divided block in this direction, and the minimum value of the limited field of view coordinate range in this direction is greater than the maximum value of the divided block in this direction (using the symbol in the above example is B2 <A1 and A2>B1), it means that the divided block completely falls outside the field of view of the collecting device in this direction, that is, there is no point cloud data point in the divided block. However, since the segmentation coding is continued for the blocks with point cloud data points, this situation will not occur in practice.
以上结合图2到图6示例性地描述了基于采集点云数据的采集设备的视野范围确定是否调整以及如何调整划分块的坐标范围的具体细节。本领域技术人员应理解,上面的描述仅是示例性的,还可以采用任何其他合适的方式来基于采集点云数据的采集设备的视野范围调整划分块的坐标范围。The above exemplarily described the specific details of determining whether to adjust and how to adjust the coordinate range of the divided block based on the field of view range of the collecting device collecting the point cloud data in conjunction with FIGS. 2 to 6. Those skilled in the art should understand that the above description is only exemplary, and any other suitable manner may be used to adjust the coordinate range of the divided block based on the field of view of the collecting device collecting the point cloud data.
下面继续描述根据本发明实施例的点云数据的位置坐标的编码方法。在根据采集设备视野范围调整了块划分编码过程中的块大小后接着会继续进行空间划分编码。在编码过程中,逐层进行子块划分,并逐个编码每个块的划分情况。在编码过程中,每层可以均按照取中值的方法进行划分。当三个方向的边长均没有达到最小边长时,则采用八叉树划分编码。每层八叉树的划分均利用当前块的中心点的坐标进行子块划分,通过中心点将当前块划分成八个小的子块。设当前长方体块的中心点坐标为(x mid,y mid,z mid),则八叉树划分过程中八个小的子块的坐标取值范围如下所示:第一个块的坐标取值范围为x≤x mid、y≤y mid、z≤z mid;第二个块的坐标取值范围为x≤x mid、y≤y mid、z>z mid;第三个块的坐标取值范围为x≤x mid、y>y mid、z≤z mid;第四个块的坐标取值范围为x≤x mid、y>y mid、z>z mid;第五个块的坐标取值范围为x>x mid、y≤y mid、z≤z mid;第六个块的坐标取值范围为x>x mid、y≤y mid、z>z mid;第七个块的坐标取值范围为x>x mid、y>y mid、z≤z mid;第八个块的坐标取值范围为x>x mid、y>y mid、z>z mid。在八叉树编码过程中,依次判断当前块内包含的所有点云数据点分别属于八个子块中的哪一个,当该块内包含的所有点云数据点属于哪个子块都判定结束后,接着会用8bit来编码当前块对应子块划分的情况,若当前块内含有点云数据点则对应为会被 置为1,否则会被置为0。例如当第三个子块内含有点云数据点,第六子块内含有点云数据点,其他子块内均不含有点云数据点时,此时编码出来的8bit二进制码流为0010 0100。 The following continues to describe the method for encoding the position coordinates of the point cloud data according to the embodiment of the present invention. After adjusting the block size in the block division coding process according to the field of view of the acquisition device, the space division coding will continue. In the encoding process, sub-block division is performed layer by layer, and the division of each block is coded one by one. In the encoding process, each layer can be divided according to the median method. When the side length in the three directions does not reach the minimum side length, the octree partition coding is adopted. The division of each layer of the octree uses the coordinates of the center point of the current block to divide the current block into eight small sub-blocks through the center point. Assuming that the coordinates of the center point of the current rectangular parallelepiped block are (x mid , y mid , z mid ), the coordinate value range of the eight small sub-blocks in the octree division process is as follows: the first block coordinate value The range is x≤x mid , y≤y mid , z≤z mid ; the coordinate value range of the second block is x≤x mid , y≤y mid , z>z mid ; the coordinate value of the third block is taken The range is x≤x mid , y>y mid , z≤z mid ; the coordinate value range of the fourth block is x≤x mid , y>y mid , z>z mid ; the fifth block coordinate value The range is x>x mid , y≤y mid , and z≤z mid ; the coordinate range of the sixth block is x>x mid , y≤y mid , z>z mid ; the coordinate value of the seventh block The range is x>x mid , y>y mid , and z≤z mid ; the coordinates of the eighth block are in the range of x>x mid , y>y mid , and z>z mid . In the octree encoding process, it is determined in turn which of the eight sub-blocks all the point cloud data points contained in the current block belong to. After the determination of which sub-block all the point cloud data points contained in the block belongs to is finished, Next, 8 bits will be used to encode the sub-block division of the current block. If the current block contains point cloud data points, the corresponding value will be set to 1, otherwise it will be set to 0. For example, when the third sub-block contains point cloud data points, the sixth sub-block contains point cloud data points, and the other sub-blocks do not contain point cloud data points, the encoded 8-bit binary code stream at this time is 0010 0100.
值得注意的是,与传统八叉树划分编码方案不同的是,根据本发明的实施例,由于在不同位置对块大小的调整可能是不同的,因此可能会出现在相同层内的块的边长大小不相等、并且在一个块内也会出现三个方向的边长不相等的情况。基于此,根据本发明的实施例,提供了两种示例性的编码方法。It is worth noting that, different from the traditional octree partition coding scheme, according to the embodiment of the present invention, because the adjustment of the block size may be different at different positions, the edges of the blocks in the same layer may appear. The lengths are not equal, and the side lengths in the three directions are not equal in a block. Based on this, according to the embodiments of the present invention, two exemplary encoding methods are provided.
在本发明的一个实施例中,在对坐标范围经调整的划分块进行空间划分编码时,当所述划分块在三维方向中的一个或两个方向上的边长达到预设最小边长(通常可以取值为1)时,对于达到预设最小边长的方向不再进行划分但仍进行编码。In an embodiment of the present invention, when performing spatial division coding on a divided block whose coordinate range has been adjusted, when the side length of the divided block in one or two of the three-dimensional directions reaches the preset minimum side length ( Generally, when the value is 1), the direction that reaches the preset minimum side length is no longer divided but still encoded.
在该实施例中,当一个方向上的边长先达到预设最小边长时,则在接下来的划分过程中,在这个方向上即不进行划分,该方向上的坐标取值可以均选择小于等于中值的那半边区间。示例性地,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,可以采用八比特对尚未达到所述预设最小边长的剩余两个方向的八叉树划分结果进行编码,其中,所述八比特的最高四位比特的取值取决于所述划分块在所述剩余两个方向上划分得到的子块内是否包含点云数据,所述八比特的其余四位比特取值为0。下面以x轴先达到预设最小边长时为例进行说明,这时的划分过程只存在四种可能,分别为可能一:x≤x mid、y≤y mid、z≤z mid,可能二:x≤x mid、y≤y mid、z>z mid,可能三:x≤x mid、y>y mid、z≤z mid,以及可能四:x≤x mid、y>y mid、z>z mid。四种可能对应的描述八叉树划分的8bit数为xxxx 0000,其中的x需要根据前面四个子块内含有点云数据点与否来确定对应位为0或为1。 In this embodiment, when the side length in one direction reaches the preset minimum side length first, then in the next division process, no division is performed in this direction, and the coordinate values in this direction can be selected The half of the interval less than or equal to the median. Exemplarily, when the side length of the divided block in one of the three-dimensional directions reaches the preset minimum side length, an 8-bit pair may be used for the remaining two directions that have not reached the preset minimum side length. The tree division result is coded, wherein the value of the highest four bits of the eight bits depends on whether the sub-blocks obtained by dividing the divided block in the remaining two directions contain point cloud data, and the eight bits The remaining four bits of the value are 0. The following is an example when the x-axis reaches the preset minimum side length first. At this time, there are only four possibilities for the division process, which are possible one: x≤x mid , y≤y mid , z≤z mid , and possible two : X≤x mid , y≤y mid , z>z mid , possible three: x≤x mid , y>y mid , z≤z mid , and possible four: x≤x mid , y>y mid , z> z mid . The four possible corresponding 8-bit numbers describing the octree division are xxxx 0000, where x needs to be determined as 0 or 1 according to whether the first four sub-blocks contain point cloud data points.
类似地,若两个方向上的边长达到预设最小边长时,则这两个方向在接下来的划分过程中不进行划分,这两个方向上的坐标取值可以均选择小于等于中值的那半边区间。示例性地,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,采用八比特对尚未达到所述预设最小边长的剩余一个方向的八叉树划分结果进行编码,其中,所述八比特的最高两位比特的取值取决于所述划分块在所述剩余一个方向上划分得到的子 块内是否包含点云数据,所述八比特的其余六位比特取值为0。下面以x、y轴两个方向先达到预设最小边长时为例进行说明,这时的划分过程只存在两种可能,分别为可能一:x≤x mid、y≤y mid、z≤z mid,可能二:,x≤x mid、y≤y mid、z>z mid。两种可能对应的描述八叉树划分的8bit数为xx00 0000,其中的x需要根据前面两个子块内含有点云数据点与否来确定对应位为0或为1。若三个方向上的边均达到预约最小边长时,则树划分结构编码过程结束。 Similarly, if the side lengths in the two directions reach the preset minimum side length, the two directions will not be divided in the next division process, and the coordinate values in the two directions can be selected to be less than or equal to the middle. The half of the value. Exemplarily, when the side length of the divided block in two directions in the three-dimensional direction reaches a preset minimum side length, an eight-bit pair is used for the remaining one direction octree that has not reached the preset minimum side length The division result is coded, wherein the value of the highest two bits of the eight bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains point cloud data, and the remaining eight bits The six-bit value is 0. The following is an example when the x and y axes reach the preset minimum side length as an example. At this time, there are only two possibilities for the division process, one is possible: x≤x mid , y≤y mid , z≤ z mid , possible two: x≤x mid , y≤y mid , z>z mid . The two possible corresponding 8bit numbers describing the octree division are xx00 0000, where x needs to be determined as 0 or 1 according to whether the first two sub-blocks contain point cloud data points. If the edges in the three directions all reach the reserved minimum side length, the tree division structure coding process ends.
在本发明的另一个实施例中,在对坐标范围经调整的划分块进行空间划分编码时,当所述划分块在三维方向中的一个或两个方向上的边长达到预设最小边长时,对于达到预设最小边长的方向不再进行划分且不再进行编码。In another embodiment of the present invention, when performing spatial division coding on the divided block with the adjusted coordinate range, when the side length of the divided block in one or two directions in the three-dimensional direction reaches the preset minimum side length At this time, the direction that reaches the preset minimum side length is no longer divided and no longer encoded.
在该实施例中,当一个方向上的边长先到预约最小边长时,则在接下来的划分过程中,以剩下两个方向进行划分编码,已经达到预约最小边长方向上的坐标不参与接下来的划分编码,此时树划分变为四叉树划分。示例性地,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,可以采用四比特对尚未达到所述预设最小边长的剩余两个方向的四叉树划分结果进行编码,其中,所述四比特的取值取决于所述划分块在所述剩余两个方向上划分得到的子块内是否包含点云数据。下面以x轴先达到最小边长时为例进行说明,这时的划分中心为(y mid,z mid),这时的划分过程存在以下四种可能,分别为可能一:y≤y mid、z≤z mid,可能二:y≤y mid、z>z mid,可能三:y>y mid、z≤z mid,可能四:y>y mid,z>z mid。这时只需要利用4bit即可描述当前的划分情况。例如当第一个块内含有点云数据点,第四个块内含有点云数据点,其他子块内均不含有点云数据点时,此时编码出来的4bit二进制码流为1001。 In this embodiment, when the side length in one direction comes first to the reserved minimum side length, then in the next division process, the remaining two directions are used for division coding, and the coordinates in the reserved minimum side length direction have been reached. Do not participate in the next division coding, at this time the tree division becomes the quadtree division. Exemplarily, when the side length of the divided block in one of the three-dimensional directions reaches the preset minimum side length, a four-bit pair may be used for the remaining two directions that have not reached the preset minimum side length. The tree division result is coded, wherein the value of the four bits depends on whether the sub-blocks obtained by dividing the division block in the remaining two directions contain point cloud data. The following is an example of when the x-axis reaches the minimum side length first. At this time, the division center is (y mid , z mid ). At this time, the division process has the following four possibilities, which are possible one: y ≤ y mid , z≤z mid , possible two: y≤y mid , z>z mid , possible three: y>y mid , z≤z mid , possible four: y>y mid , z>z mid . At this time, only 4 bits are needed to describe the current division. For example, when the first block contains point cloud data points, the fourth block contains point cloud data points, and none of the other sub-blocks contain point cloud data points, the encoded 4-bit binary code stream at this time is 1001.
类似地,若两个方向上的边长达到预约最小边长时,则在接下来的划分过程中,以剩下一个方向进行划分编码,已经达到预约最小边长方向上的坐标不参与接下来的划分编码,此时树划分变为二叉树划分。示例性地,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,采样二比特对尚未达到所述预设最小边长的剩余一个方向的二叉树划分结果进行编码,其中,所述二比特的取值取决于所述划分块在所述剩余一个方向上划分得到的子块内是否包含点云数据。下面以x、y轴两个方向先达到 预约最小边长时为例进行说明,这时的划分中心为(z mid),这时的划分过程存在以下两种可能,分别为可能一:z≤z mid,以及可能二:z>z mid。这时只需要利用2bit即可描述当前的划分情况。例如当第一个块内含有点云数据点,第二个块内不含有点云数据点,此时编码出来的2bit二进制码流为10。若三条边达到预约最小边长时,则树划分结构编码过程结束。 Similarly, if the side lengths in the two directions reach the minimum side length of the reservation, in the next division process, the remaining one direction is used for division coding, and the coordinates in the direction that have reached the minimum side length of the reservation will not participate in the next The partition coding, the tree partition becomes a binary tree partition at this time. Exemplarily, when the side lengths of the divided block in two directions in the three-dimensional direction reach the preset minimum side length, the binary tree division result of the remaining one direction that has not reached the preset minimum side length is sampled by the two-bit pair Encoding is performed, wherein the value of the two bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains point cloud data. The following is an example of when the x and y axes reach the minimum side length of the reservation first. At this time, the division center is (z mid ). At this time, the division process has the following two possibilities, one of which is possible: z≤ z mid , and possibly two: z>z mid . At this time, only 2 bits are needed to describe the current division. For example, when the first block contains point cloud data points and the second block does not contain point cloud data points, the encoded 2bit binary code stream is 10. If the three edges reach the reserved minimum edge length, the tree partition structure coding process ends.
以上示例性地描述了基于采集点云数据的采集设备的视野范围调整划分块的坐标范围之后的树划分编码过程。本领域技术人员应理解,上面的描述仅是示例性的,还可以采用任何其他合适的方式来对经调整坐标范围的划分块实施树划分编码过程。The above exemplarily describes the tree division coding process after adjusting the coordinate range of the division block based on the field of view of the collecting device collecting the point cloud data. Those skilled in the art should understand that the above description is only exemplary, and any other suitable manner may also be used to implement the tree division coding process on the division blocks of the adjusted coordinate range.
下面继续描述根据本发明实施例的点云数据的位置坐标的编码方法。在树划分编码过程结束后,接着需要编码每个在三个方向上都达到预设最小边长的块内含有的点云点的个数。值得注意的是,由于对于不同的块在根据采集设备视野范围进行调整时得到的坐标范围值可能不一样,因此不同的块在三个方向上都到预设最小边长的层数可能不一致,如图7所示。图7示出本发明实施例的树划分编码过程示意图。在图7中,第m层中右边块在第m层三个方向上均已经达到预设最小边长,而第m层中左边的块仍然需要继续进行划分编码。针对编码每个在三个方向上都达到最小边长的块内含有的点云点的个数的编码,根据本发明的实施例,提供了两种示例性的编码方法。The following continues to describe the method for encoding the position coordinates of the point cloud data according to the embodiment of the present invention. After the tree division coding process is finished, it is then necessary to code the number of point cloud points contained in each block that reaches the preset minimum side length in three directions. It is worth noting that, because the coordinate range values obtained when adjusting the field of view of the collection device may be different for different blocks, the number of layers with the preset minimum side length in the three directions may be inconsistent for different blocks. As shown in Figure 7. Fig. 7 shows a schematic diagram of a tree division coding process according to an embodiment of the present invention. In Figure 7, the right block in the m-th layer has reached the preset minimum side length in the three directions of the m-th layer, and the left block in the m-th layer still needs to be divided and coded. For coding the number of point cloud points contained in each block that reaches the minimum side length in three directions, according to the embodiment of the present invention, two exemplary coding methods are provided.
在本发明的一个实施例中,在八叉树划分编码的过程中,当任一子块在三维方向上均达到预设最小边长时,对所述子块内包含的点云数据的个数进行编码。在该实施例中,当一个块在三个方向的边长均已经达到预设最小边长时,紧接着就编码这个块内含有的点云点的数目。当该块内含有一个点云数据点时,直接编码一个bit的0进行表示。当该块内含有不止一个点云数据点时,设该块内含有n个点云数据点,此时会先编码一个bit的1进行表示,接着会编码数值(n-1)。根据上述的流程即可实现对块内含有点云点数目的编码过程。In an embodiment of the present invention, in the process of octree partition coding, when any sub-block reaches the preset minimum side length in the three-dimensional direction, the point cloud data contained in the sub-block is The number is encoded. In this embodiment, when the side lengths of a block in three directions have reached the preset minimum side length, the number of point cloud points contained in the block is coded immediately. When the block contains a point cloud data point, directly encode a bit of 0 for representation. When the block contains more than one point cloud data point, suppose that the block contains n point cloud data points. At this time, a bit of 1 will be encoded first, and then the value (n-1) will be encoded. According to the above procedure, the coding process of the number of point cloud points contained in the block can be realized.
在本发明的另一个实施例中,在空间划分编码的过程中,当所有子块在三维方向上均达到预设最小边长时,依次对每个子块内包含的点云数据的个数进行编码。在该实施例中,当一个块在三个方向的边长均已经达到 预设最小边长时,会判断当前划分过程是否已经全部结束。如果仍存在块需要划分,则会直接将当前块传往下一层,直至全部的划分过程已经结束。当全部块在三个方向的边长均已经达到预设最小边长时,接着会依次编码每个块内含有的点云点数目。对于每一个块,当该块内含有一个点云数据点时,直接编码一个bit的0进行表示。当该块内含有不止一个点云数据点时,设该块内含有n个点云数据点(其中n为大于1的自然数),此时会先编码一个bit的1进行表示,接着会编码数值(n-1)。根据上述的流程即可实现对块内含有点云点数目的编码过程。In another embodiment of the present invention, in the process of space division coding, when all sub-blocks reach the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in each sub-block is sequentially performed. coding. In this embodiment, when the side length of a block in the three directions has reached the preset minimum side length, it will be judged whether the current division process has all ended. If there are still blocks that need to be divided, the current block will be directly passed to the next layer until the entire division process has ended. When the side lengths of all blocks in the three directions have reached the preset minimum side length, then the number of point cloud points contained in each block is sequentially encoded. For each block, when the block contains a point cloud data point, directly encode a bit of 0 for representation. When the block contains more than one point cloud data point, suppose the block contains n point cloud data points (where n is a natural number greater than 1). At this time, a bit of 1 will be encoded first, and then the value will be encoded (n-1). According to the above procedure, the coding process of the number of point cloud points contained in the block can be realized.
以上示例性地描述了根据本发明实施例的点云数据的位置坐标的编码方法100的步骤S120的过程,下面继续参考图1,描述编码方法100的后续步骤。The above exemplarily describes the process of step S120 of the method 100 for encoding position coordinates of point cloud data according to an embodiment of the present invention. The subsequent steps of the encoding method 100 are described below with reference to FIG. 1.
在步骤S130,对所述中间编码结果进行算术编码得到最终编码结果。In step S130, arithmetic coding is performed on the intermediate coding result to obtain a final coding result.
在本发明的实施例中,中间编码结果即为对预处理的位置坐标进行步骤S120中所述的八叉树划分编码得到的编码结果,为了与点云数据的位置坐标的最终编码结果相区分,将其称为中间编码结果。在本发明的实施例中,可将该中间编码结果(二进制码流)送入算术编码引擎中进行算术编码,即可得到点云数据的位置坐标的最终编码结果。In the embodiment of the present invention, the intermediate encoding result is the encoding result obtained by performing the octree division encoding described in step S120 on the preprocessed position coordinates, in order to distinguish it from the final encoding result of the position coordinates of the point cloud data , Call it the intermediate encoding result. In the embodiment of the present invention, the intermediate coding result (binary code stream) can be sent to the arithmetic coding engine for arithmetic coding, and the final coding result of the position coordinates of the point cloud data can be obtained.
基于上面的描述,根据本发明实施例的点云数据的位置坐标的编码方法结合点云数据的采集设备在采集过程中的视野范围的取值范围来限定对位置坐标编码过程中划分编码过程的取值范围,可以较快减少一些一定不存在点云数据点的区域,从而减少编码过程中的时间开销,提高编码效率。Based on the above description, the method for encoding the position coordinates of point cloud data according to the embodiments of the present invention combines the value range of the field of view of the point cloud data acquisition device during the acquisition process to limit the division of the encoding process in the encoding process of the position coordinates The value range can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding process and improving the encoding efficiency.
以上示例性地描述了根据本发明实施例的点云数据的位置坐标的编码方法。示例性地,根据本发明实施例的点云数据的位置坐标的编码方法可以在具有存储器和处理器的设备、装置或者系统中实现。示例性地,根据本发明实施例的点云数据的位置坐标的编码方法还可以包括将与所述采集设备的视野范围相关的参数写入码流(例如码流的头信息)中,以用于解码端使用。当然,也可以不包括该步骤,而是事先在解码端设置有所述采集设备的视野范围相关的参数,以用于执行下文中稍后将描述的根据本发明实施例的点云数据的位置坐标的解码方法。The above exemplarily describes the encoding method of the position coordinates of the point cloud data according to the embodiments of the present invention. Exemplarily, the method for encoding position coordinates of point cloud data according to an embodiment of the present invention may be implemented in a device, device, or system having a memory and a processor. Exemplarily, the method for encoding position coordinates of point cloud data according to an embodiment of the present invention may further include writing parameters related to the field of view of the collection device into a code stream (for example, the header information of the code stream) to use Used on the decoder side. Of course, this step may not be included. Instead, parameters related to the field of view of the acquisition device are set in advance on the decoding end to execute the position of the point cloud data according to the embodiments of the present invention that will be described later. Coordinate decoding method.
下面结合图8描述根据本发明实施例的点云数据的位置坐标的编码系 统。图8示出了根据本发明实施例的点云数据的位置坐标的编码系统800的示意性框图。点云数据的位置坐标的编码系统800包括存储装置810以及处理器820。The encoding system for the position coordinates of point cloud data according to an embodiment of the present invention will be described below in conjunction with FIG. 8. FIG. 8 shows a schematic block diagram of a system 800 for encoding position coordinates of point cloud data according to an embodiment of the present invention. The system 800 for encoding the position coordinates of point cloud data includes a storage device 810 and a processor 820.
其中,存储装置810存储用于实现根据本发明实施例的点云数据的位置坐标的编码方法中的相应步骤的程序。处理器820用于运行存储装置810中存储的程序,以执行上文所述的根据本发明实施例的点云数据的位置坐标的编码方法的相应步骤。为了简洁,此处不再赘述。Wherein, the storage device 810 stores a program for implementing corresponding steps in the method for encoding position coordinates of point cloud data according to an embodiment of the present invention. The processor 820 is configured to run a program stored in the storage device 810 to execute the corresponding steps of the method for encoding position coordinates of point cloud data according to the embodiment of the present invention described above. For brevity, I won't repeat them here.
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的点云数据的位置坐标的编码方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。在一个实施例中,所述计算机程序指令在被计算机运行时可以执行上文所述的根据本发明实施例的点云数据的位置坐标的编码方法。为了简洁,此处不再赘述。In addition, according to an embodiment of the present invention, there is also provided a storage medium on which program instructions are stored, and the program instructions are used to execute the point cloud data in the embodiments of the present invention when the program instructions are run by a computer or a processor. The corresponding steps of the encoding method of the position coordinates. The storage medium may include, for example, a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), USB memory, or any combination of the above storage media. The computer-readable storage medium may be any combination of one or more computer-readable storage media. In an embodiment, when the computer program instructions are executed by a computer, the method for encoding position coordinates of point cloud data according to the embodiment of the present invention described above can be executed. For brevity, I won't repeat them here.
根据本发明的另一方面,还提供了一种点云数据的位置坐标的解码方法。由于根据本发明实施例的点云数据的位置坐标的解码方法是与根据本发明实施例的点云数据的位置坐标的编码方法是相对应的,为了简洁,解码过程中的一些与编码过程相似或相同的过程不再详细赘述。According to another aspect of the present invention, a method for decoding the position coordinates of point cloud data is also provided. Since the method for decoding the position coordinates of the point cloud data according to the embodiment of the present invention corresponds to the method for encoding the position coordinates of the point cloud data according to the embodiment of the present invention, for simplicity, some of the decoding process is similar to the encoding process. Or the same process will not be repeated in detail.
图9示出根据本发明实施例的点云数据的位置坐标的解码方法900的示意性流程图。如图9所示,点云数据的位置坐标的解码方法900可以包括如下步骤:FIG. 9 shows a schematic flowchart of a method 900 for decoding position coordinates of point cloud data according to an embodiment of the present invention. As shown in FIG. 9, the method 900 for decoding position coordinates of point cloud data may include the following steps:
在步骤S910,对点云数据位置坐标编码结果进行算术解码得到算术解码结果。In step S910, arithmetic decoding is performed on the point cloud data position coordinate coding result to obtain the arithmetic decoding result.
在本发明的实施例中,步骤S910是与根据实施例的点云数据的位置坐标的编码方法100的步骤S130相对应的,在该步骤对点云数据位置坐标编码结果进行算术编码的逆过程,即算术解码,得到算术解码结果。In the embodiment of the present invention, step S910 corresponds to step S130 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment, in which the point cloud data position coordinates encoding result is the inverse process of arithmetic encoding , That is, arithmetic decoding, get the arithmetic decoding result.
在步骤S920,对所述算术解码结果进行空间划分解码得到中间解码结果,其中,在所述空间划分解码的过程中,确定用于空间划分的初始块的坐标范围,并基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。其中,可以从码流中解码出与所述采集设备的视野范围相关的参数,以确定用于空间划分的初始块的坐标范围。进一步地,与所述采集设备的视野范围相关的参数是从所述码流的头信息中解码得到的。In step S920, space division decoding is performed on the arithmetic decoding result to obtain an intermediate decoding result, wherein in the process of space division decoding, the coordinate range of the initial block used for space division is determined, and based on collecting the point cloud The field of view of the data collection device determines whether to adjust the coordinate range of the divided blocks. Wherein, the parameters related to the field of view of the acquisition device can be decoded from the code stream to determine the coordinate range of the initial block used for space division. Further, the parameters related to the field of view of the collection device are obtained by decoding from the header information of the code stream.
在本发明的实施例中,步骤S920是与根据实施例的点云数据的位置坐标的编码方法100的步骤S120相对应的,在该步骤,对步骤S920得到的算术解码结果进行基于空间划分解码的解码。首先可以对编码结果的头信息进行解码,得到点云数据的位置坐标在三个方向中每个方向的最大值中的最大值,然后基于该值确定用于空间划分的初始块的坐标范围(边长)。基于对初始块的边长的确定,可以开始进行空间划分解码。与编码方法100类似的,由于初始化的立方体(即初始块)是根据所有点云点的位置坐标分布所确定,其取值一定是落在采集设备的视野范围内所能选择的最小的立方体,所以在第一次划分时不需要利用采集设备的视野范围进行剪枝操作。故仅针对划分块来确定是否需要基于采集设备的视野范围调整其坐标范围。In the embodiment of the present invention, step S920 corresponds to step S120 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment. In this step, the arithmetic decoding result obtained in step S920 is decoded based on space division. Decoding. First, the header information of the encoding result can be decoded to obtain the maximum value of the maximum value of the position coordinates of the point cloud data in each of the three directions, and then the coordinate range of the initial block used for space division is determined based on this value ( Side length). Based on the determination of the side length of the initial block, the space division decoding can be started. Similar to the encoding method 100, since the initialized cube (ie, the initial block) is determined according to the position coordinate distribution of all point cloud points, its value must be the smallest cube that can be selected within the field of view of the collection device. Therefore, there is no need to use the field of view of the acquisition device to perform pruning operations during the first division. Therefore, it is only determined for the divided blocks whether the coordinate range of the collection device needs to be adjusted based on the field of view.
下面详细本发明提出的上述对算术解码结果进行的基于空间划分解码的解码。The decoding based on space division decoding on the arithmetic decoding result proposed by the present invention will be detailed below.
设当前长方体块的中心点坐标为(x mid,y mid,z mid),当前块的三个方向上的最小值分别为x min、y min、z min,当前块在三个方向上的最大值分别为x max、y max、z max,则八叉树划分过程中八个小的子块的坐标取值范围如下所示。第一个块的坐标取值范围为x min≤x≤x mid、y min≤y≤y mid、z min≤z≤z mid;第二个块的坐标取值范围为x min≤x≤x mid、y min≤y≤y mid、z mid≤z≤z max;第三个块的坐标取值范围为x min≤x≤x mid、y mid≤y≤y max、z min≤z≤z mid;第四个块的坐标取值范围为x min≤x≤x mid、y mid≤y≤y max、z mid≤z≤z max;第五个块的坐标取值范围为x mid≤x≤x max、y min≤y≤y mid、z min≤z≤z mid;第六个块的坐标取值范围为x mid≤x≤x max、y min≤y≤y mid、z mid≤z≤z max;第七个块的坐标取值范围为x mid≤x≤x max、y mid≤y≤y max、z min≤z≤z mid;第八个块的坐标取值范围为x mid≤x≤x max,y mid≤y≤y max,z mid≤z≤z max。在八叉 树划分解码过程中,依次解码8bit数值来确定对应子块内是否含有点云数据点,若当前块内含有点云数据点则对应位会被置为1,否则会被置为0。因此,若解码出8bit二进制码流位0010 0100,则表明当前块的第三个子块内含有点云数据点,第六个子块内含有点云点,在下一层的划分过程中,会对含有点云数据点的块继续进行划分解码。其中,如前所述,对待进行空间划分解码的划分块需要确定是否需要基于采集设备的视野范围调整其坐标范围,确定是否调整以及如何调整与结合图1到图6描述的编码方法100中的类似,为了简洁,此处不再赘述。 Suppose the coordinates of the center point of the current cuboid block are (x mid , y mid , z mid ), the minimum values in the three directions of the current block are x min , y min , z min , and the maximum values of the current block in the three directions The values are x max , y max , z max , and the coordinate value ranges of the eight small sub-blocks in the octree division process are as follows. The coordinate range of the first block is x min ≤x≤x mid , y min ≤y≤y mid , z min ≤z≤z mid ; the coordinate range of the second block is x min ≤x≤x mid , y min ≤y≤y mid , z mid ≤z≤z max ; the coordinate range of the third block is x min ≤x≤x mid , y mid ≤y≤y max , z min ≤z≤z mid ; the coordinate range of the fourth block is x min ≤x≤x mid , y mid ≤y≤y max , z mid ≤z≤z max ; the coordinate range of the fifth block is x mid ≤x ≤x max , y min ≤y≤y mid , z min ≤z≤z mid ; the coordinate range of the sixth block is x mid ≤x≤x max , y min ≤y≤y mid , z mid ≤z ≤z max ; the coordinate range of the seventh block is x mid ≤x≤x max , y mid ≤y≤y max , z min ≤z≤z mid ; the coordinate range of the eighth block is x mid ≤x≤x max , y mid ≤y≤y max , z mid ≤z≤z max . In the process of octree division and decoding, sequentially decode 8bit values to determine whether the corresponding sub-block contains point cloud data points. If the current block contains point cloud data points, the corresponding bit will be set to 1, otherwise it will be set to 0 . Therefore, if the 8-bit binary code stream bit 0010 0100 is decoded, it indicates that the third sub-block of the current block contains point cloud data points, and the sixth sub-block contains point cloud points. In the division process of the next layer, it will contain The block of point cloud data points continues to be divided and decoded. Among them, as mentioned above, the divided block to be spatially divided and decoded needs to be determined whether the coordinate range needs to be adjusted based on the field of view of the acquisition device, and whether to adjust and how to adjust with reference to the encoding method 100 described in FIGS. 1 to 6 Similarly, for the sake of brevity, I will not repeat them here.
在根据采集设备视野范围调整了块划分解码过程中的块大小后接着会继续进行空间划分解码。在解码过程中,逐层进行划分解码重建,逐个解码出每个块的划分情况。此处,与编码过程相对应,根据本发明的实施例,提供了两种示例性的解码方法。After adjusting the block size in the block division decoding process according to the field of view of the acquisition device, the space division decoding will continue. In the decoding process, the division and reconstruction are performed layer by layer, and the division of each block is decoded one by one. Here, corresponding to the encoding process, according to the embodiment of the present invention, two exemplary decoding methods are provided.
在本发明的一个实施例中,在对坐标范围经调整的划分块进行空间划分解码时,每次解码8比特,得到所述划分块的8个子块内是否含有点云数据点的情况,并对所述子块中含有点云数据点的子块进行下一层的划分解码。以此类推,直至每个块的三个方向的边长均达到最小边长时说明划分解码过程结束。示例性地,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,可以根据所述算术解码结果获取八比特位,所述八比特位的最低四位比特的取值为0,根据所述八比特位的最高四位比特确定所述划分块在尚未达到所述预设最小边长的剩余两个方向上划分得到的子块内是否包含点云数据。当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,根据所述算术解码结果获取八比特位,所述八比特位的最低六位比特的取值为0,根据所述八比特位的最高两位比特确定所述划分块在尚未达到所述预设最小边长的剩余一个方向上划分得到的子块内是否包含点云数据。In an embodiment of the present invention, when performing spatial division decoding on the divided block with the adjusted coordinate range, 8 bits are decoded each time to obtain whether the 8 sub-blocks of the divided block contain point cloud data points, and The sub-block containing the point cloud data points in the sub-block is divided and decoded in the next layer. By analogy, until the side lengths in the three directions of each block reach the minimum side length, the division and decoding process ends. Exemplarily, when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, eight bits may be obtained according to the arithmetic decoding result, and the lowest four bits of the eight bits The value of is 0, and according to the highest four bits of the eight bits, it is determined whether the sub-blocks obtained by dividing the divided block in the remaining two directions that have not reached the preset minimum side length contain point cloud data. When the side length of the divided block in two directions in the three-dimensional direction reaches the preset minimum side length, eight bits are obtained according to the arithmetic decoding result, and the value of the lowest six bits of the eight bits is 0: Determine, according to the highest two bits of the eight bits, whether the divided block contains point cloud data in the sub-block obtained by dividing in the remaining one direction that has not reached the preset minimum side length.
在本发明的另一个实施例中,在对坐标范围经调整的划分块进行划分解码时,当该划分块三个方向上的边长均未达到(即均大于)预设最小边长时,需要进行八叉树划分解码,通过解码8bit,来重建出编码时的树形结构。当该划分块的某一个方向的边长达到预设最小边长时,接下来会解码4bit,每1bit对应四叉树划分中四个子块中的一个,当对应位为1时即 会对对应子块继续进行划分,对应位为0时即不会对对应子块再进一步进行划分。当该划分块的某两个方向的边长达到最小边长时,接下来会解码2bit,每1bit对应二叉树划分中两个子块中的一个,当对应位为1时即会对对应子块继续进行划分,对应位为0时即不会对对应子块再进一步进行划分。直至每个块的三个方向的边长均达到最小边长时说明划分解码过程结束。示例性地,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,可以根据所述算术解码结果获取四比特位,根据所述四比特位确定所述划分块在尚未达到所述预设最小边长的剩余两个方向上划分得到的子块内是否包含点云数据。当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,根据所述算术解码结果获取二比特位,根据所述二比特位确定所述划分块在尚未达到所述预设最小边长的剩余一个方向上划分得到的子块内是否包含点云数据。In another embodiment of the present invention, when dividing and decoding a divided block with adjusted coordinate ranges, when the side lengths of the divided block in three directions are not reached (that is, all are greater than) the preset minimum side length, It is necessary to perform octree division and decoding, and reconstruct the tree structure during encoding by decoding 8bit. When the side length in a certain direction of the divided block reaches the preset minimum side length, 4 bits will be decoded next, and each 1 bit corresponds to one of the four sub-blocks in the quadtree division. When the corresponding bit is 1, it will correspond to The sub-block continues to be divided, and when the corresponding bit is 0, the corresponding sub-block will not be further divided. When the side length in one of the two directions of the divided block reaches the minimum side length, it will decode 2 bits, and each 1 bit corresponds to one of the two sub-blocks in the binary tree division. When the corresponding bit is 1, it will continue to the corresponding sub-block When the corresponding bit is 0, the corresponding sub-block will not be further divided. Until the side lengths in the three directions of each block reach the minimum side length, the division and decoding process ends. Exemplarily, when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, four bits may be obtained according to the arithmetic decoding result, and the division may be determined according to the four bits Whether the sub-blocks obtained by dividing the block in the remaining two directions that have not reached the preset minimum side length contain point cloud data. When the side length of the divided block in two directions in the three-dimensional direction reaches the preset minimum side length, two bits are obtained according to the arithmetic decoding result, and it is determined according to the two bits that the divided block has not reached Whether the sub-blocks divided in the remaining one direction of the preset minimum side length contain point cloud data.
在树划分解码过程结束后,接着需要解码每个在三个方向上都达到预设最小边长的块内含有的点云点的个数。此处,与编码过程相对应,根据本发明的实施例,提供了两种示例性的解码方法。After the tree division decoding process is completed, it is then necessary to decode the number of point cloud points contained in each block that reaches the preset minimum side length in three directions. Here, corresponding to the encoding process, according to the embodiment of the present invention, two exemplary decoding methods are provided.
在本发明的一个实施例中,当任一子块在三维方向上均达到预设最小边长时,对所述子块内包含的点云数据的个数进行解码。在该实施例中,当一个块在三个方向上的边长均已经达到预设最小边长时,紧接着解码该块内含有的点云点的数目。当解码出一个0时,则该块内仅含有一个点云数据点。当解码出一个1时,则该块内含有不止一个点云数据点,接着会解码数值(n-1),表示该块内含有n个点云数据点(其中n为大于1的自然数)。接着会继续进行划分解码,直至重建出整个树划分结构并解码出所有块内含有的点云点的数目。In an embodiment of the present invention, when any sub-block reaches the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in the sub-block is decoded. In this embodiment, when the side length of a block in the three directions has reached the preset minimum side length, the number of point cloud points contained in the block is then decoded. When a 0 is decoded, the block contains only one point cloud data point. When a 1 is decoded, the block contains more than one point cloud data point, and then the value (n-1) is decoded, which means that the block contains n point cloud data points (where n is a natural number greater than 1). Then the division and decoding will continue until the entire tree division structure is reconstructed and the number of point cloud points contained in all blocks is decoded.
在本发明的另一个实施例中,当所有子块在三维方向上均达到预设最小边长时,依次对每个子块内包含的点云数据的个数进行解码。在该实施例中,当一个块在三个方向上的边长均已经达到预设最小边长时,会判断当前划分过程是否已经全部结束,如果仍存在块需要划分,则会直接将当前块传往下一层,直至全部的划分过程已经结束。当全部块在三个方向上的边长均已经达到预设最小边长时,接着会依次解码每个块内含有的点云点数目。对于任一含有的点云点的块,当解码出一个0时,则该块内仅含 有一个点云数据点;当解码出一个1时,则该块内含有不止一个点云数据点,接着会解码数值(n-1),表示该块内含有n个点云数据点。顺序解码出每个块内含有的点云点数目,即得到点云数据位置坐标编码结果的中间解码结果。In another embodiment of the present invention, when all the sub-blocks reach the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in each sub-block is sequentially decoded. In this embodiment, when the side lengths of a block in the three directions have reached the preset minimum side length, it will be judged whether the current division process has all ended. If there are still blocks to be divided, the current block will be directly Pass to the next level until all the division process has ended. When the side lengths of all blocks in the three directions have reached the preset minimum side length, then the number of point cloud points contained in each block will be sequentially decoded. For any block containing point cloud points, when a 0 is decoded, the block contains only one point cloud data point; when a 1 is decoded, the block contains more than one point cloud data point, and then The value (n-1) will be decoded, indicating that the block contains n point cloud data points. The number of point cloud points contained in each block is sequentially decoded, and the intermediate decoding result of the point cloud data position coordinate coding result is obtained.
在本发明的实施例中,中间解码结果即为算术解码结果进行步骤S920中所述的空间划分解码得到的解码结果,为了与点云数据位置坐标编码结果的最终解码结果相区分,将其称为中间解码结果。In the embodiment of the present invention, the intermediate decoding result is the decoding result obtained by performing the spatial division decoding described in step S920 on the arithmetic decoding result. In order to distinguish it from the final decoding result of the point cloud data position coordinate encoding result, it is called Is the intermediate decoding result.
在步骤S930,对所述中间解码结果进行逆预处理得到所述点云数据的位置坐标。In step S930, inverse preprocessing is performed on the intermediate decoding result to obtain the position coordinates of the point cloud data.
在本发明的实施例中,步骤S930是与根据实施例的点云数据的位置坐标的编码方法100的步骤S110相对应的,在该步骤,对步骤S920得到的中间解码结果进行逆预处理(与步骤S110相对应的,该逆预处理可以为逆量化,即前文所述的量化过程的逆过程),从而得到最终解码结果,即得到点云数据的位置坐标。In the embodiment of the present invention, step S930 corresponds to step S110 of the method 100 for encoding the position coordinates of point cloud data according to the embodiment. In this step, the intermediate decoding result obtained in step S920 is inversely preprocessed ( Corresponding to step S110, the inverse preprocessing may be inverse quantization, that is, the inverse process of the quantization process described above), so as to obtain the final decoding result, that is, the position coordinates of the point cloud data.
基于上面的描述,根据本发明实施例的点云数据的位置坐标的解码方法结合点云数据的采集设备在采集过程中的视野范围的取值范围来限定对位置坐标解码过程中划分解码过程的取值范围,可以较快减少一些一定不存在点云数据点的区域,从而减少解码过程中的时间开销,提高解码效率。Based on the above description, the method for decoding the position coordinates of point cloud data according to an embodiment of the present invention combines the value range of the field of view of the point cloud data acquisition device in the acquisition process to limit the division of the decoding process in the decoding process of the position coordinates The value range can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the decoding process and improving the decoding efficiency.
以上示例性地描述了根据本发明实施例的点云数据的位置坐标的解码方法。示例性地,根据本发明实施例的点云数据的位置坐标的解码方法可以在具有存储器和处理器的设备、装置或者系统中实现。The above exemplarily describes the method for decoding the position coordinates of the point cloud data according to the embodiments of the present invention. Exemplarily, the method for decoding the position coordinates of point cloud data according to an embodiment of the present invention may be implemented in a device, device, or system having a memory and a processor.
下面结合图10描述根据本发明实施例的点云数据的位置坐标的解码系统。图10示出了根据本发明实施例的点云数据的位置坐标的解码系统1000的示意性框图。点云数据的位置坐标的解码系统1000包括存储装置1010以及处理器1020。The following describes a decoding system for the position coordinates of point cloud data according to an embodiment of the present invention with reference to FIG. 10. FIG. 10 shows a schematic block diagram of a system 1000 for decoding position coordinates of point cloud data according to an embodiment of the present invention. The system 1000 for decoding the position coordinates of point cloud data includes a storage device 1010 and a processor 1020.
其中,存储装置1010存储用于实现根据本发明实施例的点云数据的位置坐标的解码方法中的相应步骤的程序。处理器1020用于运行存储装置1010中存储的程序,以执行上文所述的根据本发明实施例的点云数据的位置坐标的解码方法的相应步骤。为了简洁,此处不再赘述。Wherein, the storage device 1010 stores a program for implementing corresponding steps in the method for decoding position coordinates of point cloud data according to an embodiment of the present invention. The processor 1020 is configured to run a program stored in the storage device 1010 to execute the corresponding steps of the method for decoding the position coordinates of the point cloud data according to the embodiment of the present invention described above. For brevity, I won't repeat them here.
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质 上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的点云数据的位置坐标的解码方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。在一个实施例中,所述计算机程序指令在被计算机运行时可以执行上文所述的根据本发明实施例的点云数据的位置坐标的解码方法。为了简洁,此处不再赘述。In addition, according to an embodiment of the present invention, there is also provided a storage medium on which program instructions are stored, and the program instructions are used to execute the point cloud data in the embodiments of the present invention when the program instructions are run by a computer or a processor. The corresponding steps of the decoding method of the position coordinates. The storage medium may include, for example, a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), USB memory, or any combination of the above storage media. The computer-readable storage medium may be any combination of one or more computer-readable storage media. In one embodiment, when the computer program instructions are executed by a computer, the method for decoding the position coordinates of the point cloud data according to the embodiment of the present invention described above can be executed. For brevity, I won't repeat them here.
此外,根据本发明实施例,上文中所述的采集点云数据的采集设备可以是激光雷达、激光测距设备等测距装置。在一种实施方式中,测距装置用于感测外部环境信息,例如,环境目标的距离信息、方位信息、反射强度信息、速度信息等。一个点云点可以包括测距装置所测到的外部环境信息中的至少一种。In addition, according to an embodiment of the present invention, the above-mentioned collecting device for collecting point cloud data may be a distance measuring device such as a lidar or a laser distance measuring device. In one embodiment, the distance measuring device is used to sense external environmental information, for example, distance information, orientation information, reflection intensity information, speed information, etc. of environmental targets. One point cloud point may include at least one of the external environment information measured by the distance measuring device.
一种实现方式中,测距装置可以通过测量测距装置和探测物之间光传播的时间,即光飞行时间(Time-of-Flight,TOF),来探测探测物到测距装置的距离。或者,测距装置也可以通过其他技术来探测探测物到测距装置的距离,例如基于相位移动(phase shift)测量的测距方法,或者基于频率移动(frequency shift)测量的测距方法,在此不做限制。In one implementation, the distance measuring device can detect the distance from the probe to the distance measuring device by measuring the time of light propagation between the distance measuring device and the probe, that is, the time-of-flight (TOF). Alternatively, the ranging device can also detect the distance from the detected object to the ranging device through other technologies, such as a ranging method based on phase shift measurement, or a ranging method based on frequency shift measurement. There is no restriction.
为了便于理解,以下将结合图11所示的测距装置1100对产生本文中提到的三维数据点的测距装置的工作流程进行举例描述。For ease of understanding, the working process of the distance measuring device that generates the three-dimensional data points mentioned in this article will be described below with reference to the distance measuring device 1100 shown in FIG. 11.
如图11所示,测距装置1100可以包括发射电路1110、接收电路1120、采样电路1130和运算电路1140。As shown in FIG. 11, the distance measuring device 1100 may include a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, and an arithmetic circuit 1140.
发射电路1110可以发射光脉冲序列(例如激光脉冲序列)。接收电路1120可以接收经过被探测物反射的光脉冲序列,并对该光脉冲序列进行光电转换,以得到电信号,再对电信号进行处理之后可以输出给采样电路1130。采样电路1130可以对电信号进行采样,以获取采样结果。运算电路1140可以基于采样电路1130的采样结果,以确定测距装置1100与被探测物之间的距离。The transmitting circuit 1110 may emit a light pulse sequence (for example, a laser pulse sequence). The receiving circuit 1120 can receive the light pulse sequence reflected by the object to be detected, and perform photoelectric conversion on the light pulse sequence to obtain an electrical signal. After processing the electrical signal, it can be output to the sampling circuit 1130. The sampling circuit 1130 may sample the electrical signal to obtain the sampling result. The arithmetic circuit 1140 may determine the distance between the distance measuring device 1100 and the detected object based on the sampling result of the sampling circuit 1130.
可选地,该测距装置1100还可以包括控制电路1150,该控制电路1150可以实现对其他电路的控制,例如,可以控制各个电路的工作时间和/或对各个电路进行参数设置等。Optionally, the distance measuring device 1100 may further include a control circuit 1150, which can control other circuits, for example, can control the working time of each circuit and/or set parameters for each circuit.
应理解,虽然图11示出的测距装置中包括一个发射电路、一个接收电路、一个采样电路和一个运算电路,用于出射一路光束进行探测,但是本申请实施例并不限于此,发射电路、接收电路、采样电路、运算电路中的任一种电路的数量也可以是至少两个,用于沿相同方向或分别沿不同方向出射至少两路光束;其中,该至少两束光路可以是同时出射,也可以是分别在不同时刻出射。一个示例中,该至少两个发射电路中的发光芯片封装在同一个模块中。例如,每个发射电路包括一个激光发射芯片,该至少两个发射电路中的激光发射芯片中的die封装到一起,容置在同一个封装空间中。It should be understood that although the distance measuring device shown in FIG. 11 includes a transmitting circuit, a receiving circuit, a sampling circuit, and an arithmetic circuit for emitting a beam for detection, the embodiment of the present application is not limited to this, the transmitting circuit The number of any one of the receiving circuit, the sampling circuit, and the arithmetic circuit can also be at least two, which are used to emit at least two light beams in the same direction or in different directions; wherein, the at least two light paths can be simultaneous Shooting can also be shooting at different times. In an example, the light-emitting chips in the at least two transmitting circuits are packaged in the same module. For example, each emitting circuit includes a laser emitting chip, and the dies in the laser emitting chips in the at least two emitting circuits are packaged together and housed in the same packaging space.
一些实现方式中,除了图11所示的电路,测距装置1100还可以包括扫描模块(未在图11中示出),用于将发射电路出射的至少一路激光脉冲序列改变传播方向出射。In some implementations, in addition to the circuit shown in FIG. 11, the distance measuring device 1100 may further include a scanning module (not shown in FIG. 11) for changing the propagation direction of at least one laser pulse sequence emitted by the transmitting circuit.
其中,可以将包括发射电路1110、接收电路1120、采样电路1130和运算电路1140的模块,或者,包括发射电路1110、接收电路1120、采样电路1130、运算电路1140和控制电路1150的模块称为测距模块,该测距模块可以独立于其他模块,例如,扫描模块。Among them, a module including a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, and a calculation circuit 1140, or a module including a transmitting circuit 1110, a receiving circuit 1120, a sampling circuit 1130, a calculation circuit 1140, and a control circuit 1150 can be called a measurement Distance module, the distance measurement module can be independent of other modules, for example, scanning module.
测距装置中可以采用同轴光路,也即测距装置出射的光束和经反射回来的光束在测距装置内共用至少部分光路。例如,发射电路出射的至少一路激光脉冲序列经扫描模块改变传播方向出射后,经探测物反射回来的激光脉冲序列经过扫描模块后入射至接收电路。或者,测距装置也可以采用异轴光路,也即测距装置出射的光束和经反射回来的光束在测距装置内分别沿不同的光路传输。图12示出了本发明的测距装置采用同轴光路的一种实施例的示意图。A coaxial optical path can be used in the distance measuring device, that is, the light beam emitted from the distance measuring device and the reflected light beam share at least part of the optical path in the distance measuring device. For example, after at least one laser pulse sequence emitted by the transmitter circuit changes its propagation direction and exits through the scanning module, the laser pulse sequence reflected by the probe passes through the scanning module and then enters the receiving circuit. Alternatively, the distance measuring device may also adopt an off-axis optical path, that is, the light beam emitted by the distance measuring device and the reflected light beam are respectively transmitted along different optical paths in the distance measuring device. FIG. 12 shows a schematic diagram of an embodiment in which the distance measuring device of the present invention adopts a coaxial optical path.
测距装置1200包括测距模块1201,测距模块1201包括发射器1203(可以包括上述的发射电路)、准直元件1204、探测器1205(可以包括上述的接收电路、采样电路和运算电路)和光路改变元件1206。测距模块1201用于发射光束,且接收回光,将回光转换为电信号。其中,发射器1203 可以用于发射光脉冲序列。在一个实施例中,发射器1203可以发射激光脉冲序列。可选的,发射器1203发射出的激光束为波长在可见光范围之外的窄带宽光束。准直元件1204设置于发射器的出射光路上,用于准直从发射器1203发出的光束,将发射器1203发出的光束准直为平行光出射至扫描模块。准直元件还用于会聚经探测物反射的回光的至少一部分。该准直元件1204可以是准直透镜或者是其他能够准直光束的元件。The ranging device 1200 includes a ranging module 1201. The ranging module 1201 includes a transmitter 1203 (which may include the above-mentioned transmitting circuit), a collimating element 1204, a detector 1205 (which may include the above-mentioned receiving circuit, sampling circuit, and arithmetic circuit) and Light path changing element 1206. The ranging module 1201 is used to emit a light beam, receive the return light, and convert the return light into an electrical signal. Among them, the transmitter 1203 can be used to transmit a light pulse sequence. In one embodiment, the transmitter 1203 may emit a sequence of laser pulses. Optionally, the laser beam emitted by the transmitter 1203 is a narrow-bandwidth beam with a wavelength outside the visible light range. The collimating element 1204 is arranged on the exit light path of the emitter, and is used to collimate the light beam emitted from the emitter 1203, and collimate the light beam emitted from the emitter 1203 into parallel light and output to the scanning module. The collimating element is also used to condense at least a part of the return light reflected by the probe. The collimating element 1204 may be a collimating lens or other elements capable of collimating light beams.
在图12所示实施例中,通过光路改变元件1206来将测距装置内的发射光路和接收光路在准直元件1204之前合并,使得发射光路和接收光路可以共用同一个准直元件,使得光路更加紧凑。在其他的一些实现方式中,也可以是发射器1203和探测器1205分别使用各自的准直元件,将光路改变元件1206设置在准直元件之后的光路上。In the embodiment shown in FIG. 12, the transmitting light path and the receiving light path in the distance measuring device are combined before the collimating element 1204 through the light path changing element 1206, so that the transmitting light path and the receiving light path can share the same collimating element, so that the light path More compact. In some other implementation manners, the transmitter 1203 and the detector 1205 may use their respective collimating elements, and the optical path changing element 1206 is arranged on the optical path behind the collimating element.
在图12所示实施例中,由于发射器1203出射的光束的光束孔径较小,测距装置所接收到的回光的光束孔径较大,所以光路改变元件可以采用小面积的反射镜来将发射光路和接收光路合并。在其他的一些实现方式中,光路改变元件也可以采用带通孔的反射镜,其中该通孔用于透射发射器1203的出射光,反射镜用于将回光反射至探测器1205。这样可以减小采用小反射镜的情况中小反射镜的支架会对回光的遮挡。In the embodiment shown in FIG. 12, since the beam aperture of the light beam emitted by the transmitter 1203 is small, and the beam aperture of the return light received by the distance measuring device is relatively large, the light path changing element can use a small area mirror to The transmitting light path and the receiving light path are combined. In some other implementation manners, the light path changing element may also use a reflector with a through hole, where the through hole is used to transmit the emitted light of the emitter 1203, and the reflector is used to reflect the returned light to the detector 1205. In this way, the shielding of the back light by the bracket of the small mirror in the case of using the small mirror can be reduced.
测距装置1200还包括扫描模块1202。扫描模块1202放置于测距模块1201的出射光路上,扫描模块1202用于改变经准直元件1204出射的准直光束1219的传输方向并投射至外界环境,并将回光投射至准直元件1204。回光经准直元件1204汇聚到探测器1205上。The distance measuring device 1200 further includes a scanning module 1202. The scanning module 1202 is placed on the exit light path of the distance measuring module 1201. The scanning module 1202 is used to change the transmission direction of the collimated beam 1219 emitted by the collimating element 1204 and project it to the external environment, and project the returned light to the collimating element 1204 . The returned light is collected on the detector 1205 via the collimating element 1204.
在一个实施例中,扫描模块1202可以包括至少一个光学元件,用于改变光束的传播路径,其中,该光学元件可以通过对光束进行反射、折射、衍射等等方式来改变光束传播路径。例如,扫描模块1202包括透镜、反射镜、棱镜、振镜、光栅、液晶、光学相控阵(Optical Phased Array)或上述光学元件的任意组合。一个示例中,至少部分光学元件是运动的,例如通过驱动模块来驱动该至少部分光学元件进行运动,该运动的光学元件可以在不同时刻将光束反射、折射或衍射至不同的方向。在一些实施例中,扫描模块1202的多个光学元件可以绕共同的轴1209旋转或振动,每个旋转或振动的光学元件用于不断改变入射光束的传播方向。在一个实施例中, 扫描模块1202的多个光学元件可以以不同的转速旋转,或以不同的速度振动。在另一个实施例中,扫描模块1202的至少部分光学元件可以以基本相同的转速旋转。在一些实施例中,扫描模块的多个光学元件也可以是绕不同的轴旋转。在一些实施例中,扫描模块的多个光学元件也可以是以相同的方向旋转,或以不同的方向旋转;或者沿相同的方向振动,或者沿不同的方向振动,在此不作限制。In an embodiment, the scanning module 1202 may include at least one optical element for changing the propagation path of the light beam, wherein the optical element may change the propagation path of the light beam by reflecting, refracting, or diffracting the light beam. For example, the scanning module 1202 includes a lens, a mirror, a prism, a galvanometer, a grating, a liquid crystal, an optical phased array (Optical Phased Array), or any combination of the foregoing optical elements. In an example, at least part of the optical elements are moving. For example, a driving module is used to drive the at least part of the optical elements to move. The moving optical elements can reflect, refract, or diffract the light beam to different directions at different times. In some embodiments, the multiple optical elements of the scanning module 1202 can rotate or vibrate around a common axis 1209, and each rotating or vibrating optical element is used to continuously change the propagation direction of the incident light beam. In one embodiment, the multiple optical elements of the scanning module 1202 may rotate at different speeds or vibrate at different speeds. In another embodiment, at least part of the optical elements of the scanning module 1202 may rotate at substantially the same speed. In some embodiments, the multiple optical elements of the scanning module may also be rotated around different axes. In some embodiments, the multiple optical elements of the scanning module may also rotate in the same direction or in different directions; or vibrate in the same direction, or vibrate in different directions, which is not limited herein.
在一个实施例中,扫描模块1202包括第一光学元件1214和与第一光学元件1214连接的驱动器1216,驱动器1216用于驱动第一光学元件1214绕转动轴1209转动,使第一光学元件1214改变准直光束1219的方向。第一光学元件1214将准直光束1219投射至不同的方向。在一个实施例中,准直光束1219经第一光学元件改变后的方向与转动轴1209的夹角随着第一光学元件1214的转动而变化。在一个实施例中,第一光学元件1214包括相对的非平行的一对表面,准直光束1219穿过该对表面。在一个实施例中,第一光学元件1214包括厚度沿至少一个径向变化的棱镜。在一个实施例中,第一光学元件1214包括楔角棱镜,对准直光束1219进行折射。In one embodiment, the scanning module 1202 includes a first optical element 1214 and a driver 1216 connected to the first optical element 1214. The driver 1216 is used to drive the first optical element 1214 to rotate around the rotation axis 1209 to change the first optical element 1214. The direction of the collimated beam 1219. The first optical element 1214 projects the collimated beam 1219 to different directions. In one embodiment, the angle between the direction of the collimated beam 1219 changed by the first optical element and the rotation axis 1209 changes as the first optical element 1214 rotates. In one embodiment, the first optical element 1214 includes a pair of opposing non-parallel surfaces through which the collimated light beam 1219 passes. In one embodiment, the first optical element 1214 includes a prism whose thickness varies in at least one radial direction. In one embodiment, the first optical element 1214 includes a wedge-angle prism to collimate the beam 1219 for refracting.
在一个实施例中,扫描模块1202还包括第二光学元件1215,第二光学元件1215绕转动轴1209转动,第二光学元件1215的转动速度与第一光学元件1214的转动速度不同。第二光学元件1215用于改变第一光学元件1214投射的光束的方向。在一个实施例中,第二光学元件1215与另一驱动器1217连接,驱动器1217驱动第二光学元件1215转动。第一光学元件1214和第二光学元件1215可以由相同或不同的驱动器驱动,使第一光学元件1214和第二光学元件1215的转速和/或转向不同,从而将准直光束1219投射至外界空间不同的方向,可以扫描较大的空间范围。在一个实施例中,控制器1218控制驱动器1216和1217,分别驱动第一光学元件1214和第二光学元件1215。第一光学元件1214和第二光学元件1215的转速可以根据实际应用中预期扫描的区域和样式确定。驱动器1216和1217可以包括电机或其他驱动器。In one embodiment, the scanning module 1202 further includes a second optical element 1215, the second optical element 1215 rotates around the rotation axis 1209, and the rotation speed of the second optical element 1215 is different from the rotation speed of the first optical element 1214. The second optical element 1215 is used to change the direction of the light beam projected by the first optical element 1214. In one embodiment, the second optical element 1215 is connected to another driver 1217, and the driver 1217 drives the second optical element 1215 to rotate. The first optical element 1214 and the second optical element 1215 can be driven by the same or different drivers, so that the rotation speed and/or rotation of the first optical element 1214 and the second optical element 1215 are different, so as to project the collimated light beam 1219 to the outside space. Different directions can scan a larger space. In one embodiment, the controller 1218 controls the drivers 1216 and 1217 to drive the first optical element 1214 and the second optical element 1215, respectively. The rotation speed of the first optical element 1214 and the second optical element 1215 can be determined according to the area and pattern expected to be scanned in actual applications. The drivers 1216 and 1217 may include motors or other drivers.
在一个实施例中,第二光学元件1215包括相对的非平行的一对表面,光束穿过该对表面。在一个实施例中,第二光学元件1215包括厚度沿至少 一个径向变化的棱镜。在一个实施例中,第二光学元件1215包括楔角棱镜。In one embodiment, the second optical element 1215 includes a pair of opposite non-parallel surfaces through which the light beam passes. In one embodiment, the second optical element 1215 includes a prism whose thickness varies in at least one radial direction. In one embodiment, the second optical element 1215 includes a wedge prism.
一个实施例中,扫描模块1202还包括第三光学元件(图未示)和用于驱动第三光学元件运动的驱动器。可选地,该第三光学元件包括相对的非平行的一对表面,光束穿过该对表面。在一个实施例中,第三光学元件包括厚度沿至少一个径向变化的棱镜。在一个实施例中,第三光学元件包括楔角棱镜。第一、第二和第三光学元件中的至少两个光学元件以不同的转速和/或转向转动。In an embodiment, the scanning module 1202 further includes a third optical element (not shown) and a driver for driving the third optical element to move. Optionally, the third optical element includes a pair of opposite non-parallel surfaces, and the light beam passes through the pair of surfaces. In one embodiment, the third optical element includes a prism whose thickness varies in at least one radial direction. In one embodiment, the third optical element includes a wedge prism. At least two of the first, second, and third optical elements rotate at different rotation speeds and/or rotation directions.
扫描模块1202中的各光学元件旋转可以将光投射至不同的方向,例如方向1211和1213,如此对测距装置1200周围的空间进行扫描。如图3所示,图13为测距装置1200的一种扫描图案的示意图。可以理解的是,扫描模块内的光学元件的速度变化时,扫描图案也会随之变化。The rotation of each optical element in the scanning module 1202 can project light to different directions, such as directions 1211 and 1213, so that the space around the distance measuring device 1200 is scanned. As shown in FIG. 3, FIG. 13 is a schematic diagram of a scanning pattern of the distance measuring device 1200. It is understandable that when the speed of the optical element in the scanning module changes, the scanning pattern will also change accordingly.
当扫描模块1202投射出的光1211打到探测物1210时,一部分光被探测物1210沿与投射的光1211相反的方向反射至测距装置1200。探测物1210反射的回光1212经过扫描模块1202后入射至准直元件1204。When the light 1211 projected by the scanning module 1202 hits the detection object 1210, a part of the light is reflected by the detection object 1210 to the distance measuring device 1200 in a direction opposite to the projected light 1211. The return light 1212 reflected by the detection object 1210 passes through the scanning module 1202 and then enters the collimating element 1204.
探测器1205与发射器1203放置于准直元件1204的同一侧,探测器1205用于将穿过准直元件1204的至少部分回光转换为电信号。The detector 1205 and the transmitter 1203 are placed on the same side of the collimating element 1204, and the detector 1205 is used to convert at least part of the return light passing through the collimating element 1204 into an electrical signal.
测距装置1200探测到的距离和方位可以用于遥感、避障、测绘、建模、导航等。在一种实施方式中,本发明实施方式的测距装置可应用于移动平台,测距装置可安装在移动平台的平台本体。具有测距装置的移动平台可对外部环境进行测量,例如,测量移动平台与障碍物的距离用于避障等用途,和对外部环境进行二维或三维的测绘。在某些实施方式中,移动平台包括无人飞行器、汽车、遥控车、机器人、相机中的至少一种。当测距装置应用于无人飞行器时,平台本体为无人飞行器的机身。当测距装置应用于汽车时,平台本体为汽车的车身。该汽车可以是自动驾驶汽车或者半自动驾驶汽车,在此不做限制。当测距装置应用于遥控车时,平台本体为遥控车的车身。当测距装置应用于机器人时,平台本体为机器人。当测距装置应用于相机时,平台本体为相机本身。The distance and orientation detected by the distance measuring device 1200 can be used for remote sensing, obstacle avoidance, surveying and mapping, modeling, navigation, etc. In one embodiment, the distance measuring device of the embodiment of the present invention can be applied to a mobile platform, and the distance measuring device can be installed on the platform body of the mobile platform. A mobile platform with a distance measuring device can measure the external environment, for example, measuring the distance between the mobile platform and obstacles for obstacle avoidance and other purposes, and for two-dimensional or three-dimensional mapping of the external environment. In some embodiments, the mobile platform includes at least one of an unmanned aerial vehicle, a car, a remote control car, a robot, and a camera. When the ranging device is applied to an unmanned aerial vehicle, the platform body is the fuselage of the unmanned aerial vehicle. When the distance measuring device is applied to a car, the platform body is the body of the car. The car can be a self-driving car or a semi-automatic driving car, and there is no restriction here. When the distance measuring device is applied to a remote control car, the platform body is the body of the remote control car. When the distance measuring device is applied to a robot, the platform body is a robot. When the distance measuring device is applied to a camera, the platform body is the camera itself.
以上示例性地描述了根据本发明实施例的点云数据的位置坐标的编解码方法、系统、存储介质以及采集点云数据的采集设备。基于上面的描述,根据本发明实施例的点云数据的位置坐标的编解码方法、系统和存储 介质结合点云数据的采集设备在采集过程中的视野范围的取值范围来限定对位置坐标编解码过程中划分编解码过程的取值范围,可以较快减少一些一定不存在点云数据点的区域,从而减少编解码过程中的时间开销,提高编解码效率。The foregoing exemplarily describes the coding and decoding method, system, storage medium, and collection device for collecting point cloud data according to the embodiment of the present invention for the position coordinates of the point cloud data. Based on the above description, the method, system and storage medium for encoding and decoding the position coordinates of point cloud data according to the embodiments of the present invention are combined with the value range of the field of view of the point cloud data acquisition device during the acquisition process to limit the encoding and decoding of position coordinates. In the decoding process, dividing the value range of the encoding and decoding process can quickly reduce some areas where point cloud data points must not exist, thereby reducing the time overhead in the encoding and decoding process and improving the encoding and decoding efficiency.
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。Although the exemplary embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above-described exemplary embodiments are merely exemplary, and are not intended to limit the scope of the present invention thereto. Those of ordinary skill in the art can make various changes and modifications therein without departing from the scope and spirit of the present invention. All these changes and modifications are intended to be included in the scope of the present invention as claimed in the appended claims.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。A person of ordinary skill in the art may be aware that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered as going beyond the scope of the present invention.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。In the several embodiments provided in this application, it should be understood that the disclosed device and method may be implemented in other ways. For example, the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another device, or some features can be ignored or not implemented.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the instructions provided here, a lot of specific details are explained. However, it can be understood that the embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures and technologies are not shown in detail, so as not to obscure the understanding of this specification.
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求 书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, it should be understood that in order to simplify the present invention and help understand one or more of the various inventive aspects, in the description of the exemplary embodiments of the present invention, the various features of the present invention are sometimes grouped together into a single embodiment, figure , Or in its description. However, the method of the present invention should not be interpreted as reflecting the intention that the claimed invention requires more features than those explicitly stated in each claim. To be more precise, as reflected in the corresponding claims, the point of the invention is that the corresponding technical problems can be solved with features less than all the features of a single disclosed embodiment. Therefore, the claims following the specific embodiment are hereby explicitly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present invention.
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art can understand that in addition to mutual exclusion between the features, any combination of all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and any method or device disclosed in this manner can be used. Processes or units are combined. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。In addition, those skilled in the art can understand that although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments means that they are within the scope of the present invention. Within and form different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented by hardware, or by software modules running on one or more processors, or by their combination. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some modules according to the embodiments of the present invention. The present invention can also be implemented as a device program (for example, a computer program and a computer program product) for executing part or all of the methods described herein. Such a program for realizing the present invention may be stored on a computer-readable medium, or may have the form of one or more signals. Such signals can be downloaded from Internet websites, or provided on carrier signals, or provided in any other form.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It should be noted that the above-mentioned embodiments illustrate the present invention rather than limit the present invention, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be constructed as a limitation to the claims. The invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. do not indicate any order. These words can be interpreted as names.
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范 围之内。本发明的保护范围应以权利要求的保护范围为准。The above are only specific implementations or descriptions of specific implementations of the present invention. The protection scope of the present invention is not limited thereto. Any person skilled in the art can easily fall within the technical scope disclosed by the present invention. Any change or replacement should be included in the protection scope of the present invention. The protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (48)

  1. 一种点云数据的位置坐标的编码方法,其特征在于,所述编码方法包括:A method for encoding position coordinates of point cloud data, wherein the encoding method includes:
    根据输入的点云数据的位置坐标,确定初始块的初始位置坐标;Determine the initial position coordinates of the initial block according to the position coordinates of the input point cloud data;
    对所述初始块进行空间划分编码得到中间编码结果;以及Performing space division coding on the initial block to obtain an intermediate coding result; and
    对所述中间编码结果进行算术编码得到最终编码结果;Performing arithmetic coding on the intermediate coding result to obtain a final coding result;
    其中,在对所述初始块进行空间划分编码的过程中,基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。Wherein, in the process of performing spatial division coding on the initial block, it is determined whether to adjust the coordinate range of the division block based on the field of view of the collecting device that collects the point cloud data.
  2. 根据权利要求1所述的编码方法,其特征在于,所述基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围,包括:The coding method according to claim 1, wherein the determining whether to adjust the coordinate range of the divided block based on the field of view of the collecting device collecting the point cloud data comprises:
    确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围作为视野限定坐标范围;Determining the coordinate range of the point cloud data corresponding to the divided block and under the limitation of the field of view of the acquisition device as the limited coordinate range of the field of view;
    对于三维方向中的至少一个方向,将所述视野限定坐标范围在该方向的取值范围与所述划分块的原始坐标范围在该方向的取值范围进行比较;For at least one of the three-dimensional directions, comparing the value range of the visual field limited coordinate range in this direction with the value range of the original coordinate range of the divided block in this direction;
    基于所述比较的结果确定是否调整所述划分块的坐标范围。It is determined whether to adjust the coordinate range of the divided block based on the result of the comparison.
  3. 根据权利要求2所述的编码方法,其特征在于,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,包括:The encoding method according to claim 2, wherein the determining whether to adjust the coordinate range of the divided block based on the result of the comparison comprises:
    对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围与所述原始坐标范围在该方向的取值范围有交叉部分,且基于所述交叉部分确定的第一新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第一新边长,并基于所述第一新边长和所述交叉部分调整所述划分块在该方向的坐标范围。For at least one of the three-dimensional directions, when the value range of the limited coordinate range of the field of view in this direction and the value range of the original coordinate range in this direction have an intersection, and the first determined based on the intersection When the new side length is less than the original side length of the divided block in this direction, the side length of the divided block is adjusted to the first new side length, and adjusted based on the first new side length and the intersection part The coordinate range of the divided block in this direction.
  4. 根据权利要求3所述的编码方法,其特征在于,所述基于所述第一新边长和所述交叉部分调整所述划分块在该方向的坐标范围,包括:The encoding method according to claim 3, wherein the adjusting the coordinate range of the divided block in the direction based on the first new side length and the intersection part comprises:
    基于所述交叉部分中的、所述原始坐标范围在该方向的最小值加上所述第一新边长得到所述划分块在该方向的新最大值,所述划分块在该方向的最小值保持不变;或者Based on the minimum value of the original coordinate range in the direction in the intersection portion plus the first new side length, the new maximum value of the divided block in this direction is obtained, and the minimum value of the divided block in this direction is obtained. The value remains the same; or
    基于所述交叉部分中的、所述原始坐标范围在该方向的最大值减去所述第一新边长得到所述划分块在该方向的新最小值,所述划分块在该方向的最大值保持不变。Based on the maximum value of the original coordinate range in the direction in the intersection portion minus the first new side length, the new minimum value of the divided block in this direction is obtained, and the maximum value of the divided block in this direction is obtained. The value remains the same.
  5. 根据权利要求2所述的编码方法,其特征在于,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,包括:The encoding method according to claim 2, wherein the determining whether to adjust the coordinate range of the divided block based on the result of the comparison comprises:
    对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围落入所述原始坐标范围在该方向的取值范围,且所述基于视野限定坐标范围确定的第二新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第二新边长,并基于所述第二新边长和所述视野限定坐标范围调整所述划分块在该方向的坐标范围。For at least one of the three-dimensional directions, when the value range of the visual field limited coordinate range in this direction falls within the value range of the original coordinate range in this direction, and the second determined based on the visual field limited coordinate range When the new side length is smaller than the original side length of the divided block in this direction, the side length of the divided block is adjusted to the second new side length, and the coordinates are defined based on the second new side length and the field of view The range adjusts the coordinate range of the divided block in this direction.
  6. 根据权利要求5所述的编码方法,其特征在于,所述基于所述第二新边长和所述视野限定坐标范围调整所述划分块在该方向的坐标范围,包括:The encoding method according to claim 5, wherein the adjusting the coordinate range of the divided block in the direction based on the second new side length and the limited coordinate range of the field of view comprises:
    基于所述视野限定坐标范围在该方向的最小值加上所述第二新边长得到所述划分块在该方向的新最大值,将所述视野限定坐标范围在该方向的最小值作为所述划分块在该方向的新最小值;或者Based on the minimum value of the limited field of view coordinate range in this direction plus the second new side length, the new maximum value of the divided block in this direction is obtained, and the minimum value of the limited field of view coordinate range in this direction is taken as the The new minimum value of the partition in that direction; or
    基于所述视野限定坐标范围在该方向的最大值减去所述第二新边长得到所述划分块在该方向的新最小值,将所述视野限定坐标范围在该方向的最大值作为所述划分块在该方向的新最大值。The new minimum value of the divided block in this direction is obtained based on the maximum value of the limited field of view coordinate range in this direction minus the second new side length, and the maximum value of the limited field of view coordinate range in this direction is taken as the value The new maximum value of the divided block in this direction.
  7. 根据权利要求2所述的编码方法,其特征在于,所述确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围作为视野限定坐标范围,包括:The coding method according to claim 2, wherein the determining the coordinate range of the point cloud data corresponding to the divided block and under the limitation of the field of view of the acquisition device as the limited coordinate range of the field of view includes :
    基于所述划分块的每个顶点的位置坐标计算所述每个顶点对应的映射面视点中心的位置坐标;Calculating the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex based on the position coordinates of each vertex of the divided block;
    计算所述每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离;以及Calculating the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex to the device position coordinates of the collection device; and
    基于所述每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围;Based on the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex to the device position coordinates of the acquisition device, it is determined that there is point cloud data corresponding to the divided block under the limitation of the field of view of the acquisition device The coordinate range;
    其中,任一顶点对应的映射面视点中心是指该顶点到预设矢量上的投影点,所述预设矢量的起点为所述采集设备的位置坐标经预处理得到的所述设备位置坐标,所述预设矢量的终点为所述采集设备的视野范围内的预设参考点的位置坐标经预处理得到的参考位置坐标。Wherein, the viewpoint center of the mapping surface corresponding to any vertex refers to the projection point of the vertex onto a preset vector, and the starting point of the preset vector is the device position coordinate obtained by preprocessing the position coordinate of the collection device, The end point of the preset vector is the reference position coordinate obtained by preprocessing the position coordinates of the preset reference point in the field of view of the acquisition device.
  8. 根据权利要求1-7中的任一项所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to any one of claims 1-7, wherein the encoding method further comprises:
    在对坐标范围经调整的划分块进行空间划分编码时,当所述划分块在三维方向中的一个或两个方向上的边长达到预设最小边长时,对于达到预设最小边长的方向不再进行划分但仍进行编码。When performing spatial division coding on the divided block with the adjusted coordinate range, when the side length of the divided block in one or two directions in the three-dimensional direction reaches the preset minimum side length, for those that reach the preset minimum side length The direction is no longer divided but still encoded.
  9. 根据权利要求8所述的编码方法,其特征在于,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,采用八比特对尚未达到所述预设最小边长的剩余两个方向的空间划分结果进行编码,其中,所述八比特的最高四位比特的取值取决于所述划分块在所述剩余两个方向上划分得到的子块内是否包含点云数据,所述八比特的其余四位比特取值为0。The encoding method according to claim 8, wherein when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, the eight-bit pair has not yet reached the preset minimum side length. The long space division results of the remaining two directions are encoded, wherein the value of the highest four bits of the eight bits depends on whether the sub-block obtained by dividing the divided block in the remaining two directions contains points For cloud data, the remaining four bits of the eight bits have a value of 0.
  10. 根据权利要求8所述的编码方法,其特征在于,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,采用八比特对尚未达到所述预设最小边长的剩余一个方向的空间划分结果进行编码,其中,所述八比特的最高两位比特的取值取决于所述划分块在所述剩余一个方向上划分得到的子块内是否包含点云数据,所述八比特的其余六位比特取值为0。The encoding method according to claim 8, wherein when the side length of the divided block in two directions in the three-dimensional direction reaches a preset minimum side length, the eight-bit pair has not yet reached the preset minimum side length. The space division result of the remaining one direction of the side length is encoded, wherein the value of the highest two bits of the eight bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains a point cloud Data, the remaining six bits of the eight bits have a value of 0.
  11. 根据权利要求1-7中的任一项所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to any one of claims 1-7, wherein the encoding method further comprises:
    在对坐标范围经调整的划分块进行空间划分编码时,当所述划分块在三维方向中的一个或两个方向上的边长达到预设最小边长时,对于达到预设最小边长的方向不再进行划分且不再进行编码。When performing spatial division coding on the divided block with the adjusted coordinate range, when the side length of the divided block in one or two directions in the three-dimensional direction reaches the preset minimum side length, for those that reach the preset minimum side length The direction is no longer divided and no longer encoded.
  12. 根据权利要求11所述的编码方法,其特征在于,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,采用四比特对尚未达到所述预设最小边长的剩余两个方向的四叉树划分结果进行编码,其中,所述四比特的取值取决于所述划分块在所述剩余两个方向上划分得到的子块内是否包含点云数据。The coding method according to claim 11, wherein when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, the four-bit pair has not yet reached the preset minimum side length. The long quadtree division results in the remaining two directions are encoded, wherein the value of the four bits depends on whether the sub-blocks obtained by dividing the division block in the remaining two directions contain point cloud data.
  13. 根据权利要求11所述的编码方法,其特征在于,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,采样二比特对尚未达到所述预设最小边长的剩余一个方向的二叉树划分结果进行编码,其中, 所述二比特的取值取决于所述划分块在所述剩余一个方向上划分得到的子块内是否包含点云数据。The encoding method according to claim 11, wherein when the side length of the divided block in two directions in the three-dimensional direction reaches a preset minimum side length, the sampled two-bit pair has not yet reached the preset minimum side length. The binary tree division result in the remaining one direction of the side length is encoded, wherein the value of the two bits depends on whether the sub-block obtained by dividing the divided block in the remaining one direction contains point cloud data.
  14. 根据权利要求1-7中的任一项所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to any one of claims 1-7, wherein the encoding method further comprises:
    在所述空间划分编码的过程中,当任一子块在三维方向上均达到预设最小边长时,对所述子块内包含的点云数据的个数进行编码。In the process of space division coding, when any sub-block reaches the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in the sub-block is coded.
  15. 根据权利要求1-7中的任一项所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to any one of claims 1-7, wherein the encoding method further comprises:
    在所述空间划分编码的过程中,当所有子块在三维方向上均达到预设最小边长时,依次对每个子块内包含的点云数据的个数进行编码。In the process of space division coding, when all sub-blocks reach the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in each sub-block is sequentially coded.
  16. 根据权利要求14或15所述的编码方法,其特征在于,对所述点云数据的个数进行编码包括:The encoding method according to claim 14 or 15, wherein encoding the number of point cloud data comprises:
    当所述点云数据的个数为1时,编码1个比特的0;以及When the number of point cloud data is 1, encode 1 bit of 0; and
    当所述点云数据的个数为n时,先编码1个比特的1,再对数值(n-1)进行编码,其中n为大于1的自然数。When the number of the point cloud data is n, firstly encode 1 bit of 1, and then encode the value (n-1), where n is a natural number greater than 1.
  17. 根据权利要求1-7中的任一项所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to any one of claims 1-7, wherein the encoding method further comprises:
    将与所述采集设备的视野范围相关的参数写入码流中。The parameters related to the field of view of the acquisition device are written into the code stream.
  18. 根据权利要求7所述的编码方法,其特征在于,所述编码方法还包括:The encoding method according to claim 7, wherein the encoding method further comprises:
    对所述输入的点云数据的位置坐标进行预处理,并基于经预处理的位置坐标确定所述初始块的所述初始位置坐标。Preprocessing the position coordinates of the input point cloud data, and determining the initial position coordinates of the initial block based on the preprocessed position coordinates.
  19. 根据权利要求18所述的编码方法,其特征在于,所述对所述输入的点云数据的位置坐标进行预处理包括:对所述输入的点云数据的位置坐标进行量化。The encoding method according to claim 18, wherein the preprocessing of the position coordinates of the input point cloud data comprises: quantizing the position coordinates of the input point cloud data.
  20. 根据权利要求19所述的编码方法,其特征在于,所述采集设备的所述设备位置坐标是所述采集设备的实际位置坐标经量化后的坐标,所述参考位置坐标是所述采集设备的视野范围内的所述预设参考点的实际位置坐标经量化后的坐标,所述采集设备的实际位置坐标的量化方式和所述预设参考点的实际位置坐标的量化方式均与所述输入的点云数据的位置坐 标的量化方式相同。The encoding method according to claim 19, wherein the device location coordinates of the collection device are quantized coordinates of the actual location coordinates of the collection device, and the reference location coordinates are the coordinates of the collection device. The quantized coordinates of the actual position coordinates of the preset reference point within the field of view, the quantization method of the actual position coordinates of the acquisition device and the quantization method of the actual position coordinates of the preset reference point are the same as those of the input The position coordinates of the point cloud data are quantified in the same way.
  21. 根据权利要求20所述的编码方法,其特征在于,所述量化方式所采用的量化精度是预设的固定值。22. The encoding method according to claim 20, wherein the quantization precision adopted by the quantization method is a preset fixed value.
  22. 根据权利要求20或21所述的编码方法,其特征在于,所述量化方式在三维方向的各方向上的量化精度一致。The encoding method according to claim 20 or 21, wherein the quantization accuracy of the quantization method is consistent in all directions in the three-dimensional direction.
  23. 一种点云数据的位置坐标的解码方法,其特征在于,所述解码方法包括:A method for decoding position coordinates of point cloud data, wherein the decoding method includes:
    对点云数据位置坐标编码结果进行算术解码得到算术解码结果;Perform arithmetic decoding on the position coordinate encoding result of the point cloud data to obtain the arithmetic decoding result;
    对所述算术解码结果进行空间划分解码得到中间解码结果;以及Performing space division decoding on the arithmetic decoding result to obtain an intermediate decoding result; and
    对所述中间解码结果进行逆预处理得到所述点云数据的位置坐标;Performing inverse preprocessing on the intermediate decoding result to obtain the position coordinates of the point cloud data;
    其中,在所述空间划分解码的过程中,确定用于空间划分的初始块的坐标范围,并基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围。Wherein, in the process of space division decoding, the coordinate range of the initial block used for space division is determined, and whether to adjust the coordinate range of the divided block is determined based on the field of view of the collecting device that collects the point cloud data.
  24. 根据权利要求23所述的解码方法,其特征在于,所述基于采集所述点云数据的采集设备的视野范围确定是否调整划分块的坐标范围,包括:The decoding method according to claim 23, wherein the determining whether to adjust the coordinate range of the divided block based on the field of view of the collecting device that collects the point cloud data comprises:
    确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围作为视野限定坐标范围;Determining the coordinate range of the point cloud data corresponding to the divided block and under the limitation of the field of view of the acquisition device as the limited coordinate range of the field of view;
    对于三维方向中的至少一个方向,将所述视野限定坐标范围在该方向的取值范围与所述划分块的原始坐标范围在该方向的取值范围进行比较;For at least one of the three-dimensional directions, comparing the value range of the visual field limited coordinate range in this direction with the value range of the original coordinate range of the divided block in this direction;
    基于所述比较的结果确定是否调整所述划分块的坐标范围。It is determined whether to adjust the coordinate range of the divided block based on the result of the comparison.
  25. 根据权利要求24所述的解码方法,其特征在于,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,包括:The decoding method according to claim 24, wherein the determining whether to adjust the coordinate range of the divided block based on the result of the comparison comprises:
    对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围与所述原始坐标范围在该方向的取值范围有交叉部分,且基于所述交叉部分确定的第一新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第一新边长,并基于所述第一新边长和所述交叉部分调整所述划分块在该方向的坐标范围。For at least one of the three-dimensional directions, when the value range of the limited coordinate range of the field of view in this direction and the value range of the original coordinate range in this direction have an intersection, and the first determined based on the intersection When the new side length is less than the original side length of the divided block in this direction, the side length of the divided block is adjusted to the first new side length, and adjusted based on the first new side length and the intersection part The coordinate range of the divided block in this direction.
  26. 根据权利要求25所述的解码方法,其特征在于,所述基于所述第一新边长和所述交叉部分调整所述划分块在该方向的坐标范围,包括:The decoding method according to claim 25, wherein the adjusting the coordinate range of the divided block in the direction based on the first new side length and the intersection part comprises:
    基于所述交叉部分中的、所述原始坐标范围在该方向的最小值加上所述第一新边长得到所述划分块在该方向的新最大值,所述划分块在该方向的最小值保持不变;或者Based on the minimum value of the original coordinate range in the direction in the intersection portion plus the first new side length, the new maximum value of the divided block in this direction is obtained, and the minimum value of the divided block in this direction is obtained. The value remains the same; or
    基于所述交叉部分中的、所述原始坐标范围在该方向的最大值减去所述第一新边长得到所述划分块在该方向的新最小值,所述划分块在该方向的最大值保持不变。Based on the maximum value of the original coordinate range in the direction in the intersection portion minus the first new side length, the new minimum value of the divided block in this direction is obtained, and the maximum value of the divided block in this direction is obtained. The value remains the same.
  27. 根据权利要求24所述的解码方法,其特征在于,所述基于所述比较的结果确定是否调整所述划分块的坐标范围,包括:The decoding method according to claim 24, wherein the determining whether to adjust the coordinate range of the divided block based on the result of the comparison comprises:
    对于三维方向中的至少一个方向,当所述视野限定坐标范围在该方向的取值范围落入所述原始坐标范围在该方向的取值范围,且所述基于视野限定坐标范围确定的第二新边长小于所述划分块在该方向的原始边长时,将所述划分块的边长调整为所述第二新边长,并基于所述第二新边长和所述视野限定坐标范围调整所述划分块在该方向的坐标范围。For at least one of the three-dimensional directions, when the value range of the visual field limited coordinate range in this direction falls within the value range of the original coordinate range in this direction, and the second determined based on the visual field limited coordinate range When the new side length is smaller than the original side length of the divided block in this direction, the side length of the divided block is adjusted to the second new side length, and the coordinates are defined based on the second new side length and the field of view The range adjusts the coordinate range of the divided block in this direction.
  28. 根据权利要求27所述的解码方法,其特征在于,所述基于所述第二新边长和所述视野限定坐标范围调整所述划分块在该方向的坐标范围,包括:The decoding method according to claim 27, wherein the adjusting the coordinate range of the divided block in the direction based on the second new side length and the limited coordinate range of the field of view comprises:
    基于所述视野限定坐标范围在该方向的最小值加上所述第二新边长得到所述划分块在该方向的新最大值,将所述视野限定坐标范围在该方向的最小值作为所述划分块在该方向的新最小值;或者Based on the minimum value of the limited field of view coordinate range in this direction plus the second new side length, the new maximum value of the divided block in this direction is obtained, and the minimum value of the limited field of view coordinate range in this direction is taken as the The new minimum value of the partition in that direction; or
    基于所述视野限定坐标范围在该方向的最大值减去所述第二新边长得到所述划分块在该方向的新最小值,将所述视野限定坐标范围在该方向的最大值作为所述划分块在该方向的新最大值。The new minimum value of the divided block in this direction is obtained based on the maximum value of the limited field of view coordinate range in this direction minus the second new side length, and the maximum value of the limited field of view coordinate range in this direction is taken as the value The new maximum value of the divided block in this direction.
  29. 根据权利要求24所述的解码方法,其特征在于,所述确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围作为视野限定坐标范围,包括:The decoding method according to claim 24, wherein the determining the coordinate range of the point cloud data corresponding to the divided block and under the limitation of the field of view of the acquisition device as the limited coordinate range of the field of view comprises :
    基于所述划分块的每个顶点的位置坐标计算所述每个顶点对应的映射面视点中心的位置坐标;Calculating the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex based on the position coordinates of each vertex of the divided block;
    计算所述每个顶点对应的映射面视点中心的位置坐标到所述采集设备的设备位置坐标的距离;以及Calculating the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex to the device position coordinates of the collection device; and
    基于所述每个顶点对应的映射面视点中心的位置坐标到所述采集设 备的设备位置坐标的距离确定与所述划分块对应的、在所述采集设备的视野范围的限定下存在点云数据的坐标范围;Based on the distance from the position coordinates of the viewpoint center of the mapping surface corresponding to each vertex to the device position coordinates of the acquisition device, it is determined that there is point cloud data corresponding to the divided block under the limitation of the field of view of the acquisition device The coordinate range;
    其中,任一顶点对应的映射面视点中心是指该顶点到预设矢量上的投影点,所述预设矢量的起点为所述采集设备的位置坐标经预处理得到的所述设备位置坐标,所述预设矢量的终点为所述采集设备的视野范围内的预设参考点的位置坐标经预处理得到的参考位置坐标。Wherein, the viewpoint center of the mapping surface corresponding to any vertex refers to the projection point of the vertex onto a preset vector, and the starting point of the preset vector is the device position coordinate obtained by preprocessing the position coordinate of the collection device, The end point of the preset vector is the reference position coordinate obtained by preprocessing the position coordinates of the preset reference point in the field of view of the acquisition device.
  30. 根据权利要求23-29中的任一项所述的解码方法,其特征在于,所述解码方法还包括:The decoding method according to any one of claims 23-29, wherein the decoding method further comprises:
    在对坐标范围经调整的划分块进行空间划分解码时,每次解码8比特,得到所述划分块的8个子块内是否含有点云数据点的情况,并对所述子块中含有点云数据点的子块进行下一层的空间划分解码。When performing spatial division decoding on the divided block with the adjusted coordinate range, decode 8 bits each time to obtain whether the 8 sub-blocks of the divided block contain point cloud data points, and determine whether the sub-block contains point cloud data points. The sub-blocks of data points are subjected to the next layer of spatial division and decoding.
  31. 根据权利要求30所述的解码方法,其特征在于,当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,根据所述算术解码结果获取八比特位,所述八比特位的最低四位比特的取值为0,根据所述八比特位的最高四位比特确定所述划分块在尚未达到所述预设最小边长的剩余两个方向上划分得到的子块内是否包含点云数据。The decoding method according to claim 30, wherein when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, eight bits are obtained according to the arithmetic decoding result, so The lowest four bits of the eight bits have a value of 0, and according to the highest four bits of the eight bits, it is determined that the divided block is divided in the remaining two directions that have not reached the preset minimum side length Whether the sub-block contains point cloud data.
  32. 根据权利要求30所述的解码方法,其特征在于,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,根据所述算术解码结果获取八比特位,所述八比特位的最低六位比特的取值为0,根据所述八比特位的最高两位比特确定所述划分块在尚未达到所述预设最小边长的剩余一个方向上划分得到的子块内是否包含点云数据。The decoding method according to claim 30, wherein when the side length of the divided block in two directions in the three-dimensional direction reaches a preset minimum side length, obtaining eight bits according to the arithmetic decoding result, The lowest six bits of the eight bits have a value of 0, and according to the highest two bits of the eight bits, it is determined that the divided block is divided in the remaining one direction that has not reached the preset minimum side length Whether the sub-block contains point cloud data.
  33. 根据权利要求23-29中的任一项所述的解码方法,其特征在于,所述解码方法还包括:在对坐标范围经调整的划分块进行划分解码时:The decoding method according to any one of claims 23-29, wherein the decoding method further comprises: when performing division decoding on the divided block whose coordinate range has been adjusted:
    当所述划分块在三维方向上的边长均未达到预设最小边长时,对所述划分块进行空间划分解码;When the side length of the divided block in the three-dimensional direction does not reach the preset minimum side length, performing spatial division and decoding on the divided block;
    当所述划分块在三维方向中的一个方向上的边长达到预设最小边长时,对所述划分块进行四叉树划分解码;以及When the side length of the divided block in one of the three-dimensional directions reaches the preset minimum side length, performing quadtree division and decoding on the divided block; and
    当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,对所述划分块进行二叉树划分解码。When the side lengths of the divided block in two directions in the three-dimensional direction reach a preset minimum side length, perform binary tree division and decoding on the divided block.
  34. 根据权利要求33所述的解码方法,其特征在于,当所述划分块 在三维方向中的一个方向上的边长达到预设最小边长时,根据所述算术解码结果获取四比特位,根据所述四比特位确定所述划分块在尚未达到所述预设最小边长的剩余两个方向上划分得到的子块内是否包含点云数据。The decoding method according to claim 33, wherein when the side length of the divided block in one of the three-dimensional directions reaches a preset minimum side length, four bits are obtained according to the arithmetic decoding result, and according to The four bits determine whether the sub-blocks obtained by dividing the divided block in the remaining two directions that have not reached the preset minimum side length include point cloud data.
  35. 根据权利要求33所述的解码方法,其特征在于,当所述划分块在三维方向中的两个方向上的边长达到预设最小边长时,根据所述算术解码结果获取二比特位,根据所述二比特位确定所述划分块在尚未达到所述预设最小边长的剩余一个方向上划分得到的子块内是否包含点云数据。The decoding method according to claim 33, wherein when the side lengths of the divided block in two directions in the three-dimensional direction reach a preset minimum side length, obtaining two bits according to the arithmetic decoding result, According to the two bits, it is determined whether the divided block contains point cloud data in the sub-block obtained by dividing in the remaining one direction that has not reached the preset minimum side length.
  36. 根据权利要求23-29中的任一项所述的解码方法,其特征在于,所述解码方法还包括:The decoding method according to any one of claims 23-29, wherein the decoding method further comprises:
    在所述空间划分解码的过程中,当任一子块在三维方向上均达到预设最小边长时,对所述子块内包含的点云数据的个数进行解码。In the process of space division decoding, when any sub-block reaches the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in the sub-block is decoded.
  37. 根据权利要求23-29中的任一项所述的解码方法,其特征在于,所述解码方法还包括:The decoding method according to any one of claims 23-29, wherein the decoding method further comprises:
    在所述空间划分解码的过程中,当所有子块在三维方向上均达到预设最小边长时,依次对每个子块内包含的点云数据的个数进行解码。In the process of spatial division and decoding, when all sub-blocks reach the preset minimum side length in the three-dimensional direction, the number of point cloud data contained in each sub-block is sequentially decoded.
  38. 根据权利要求36或37所述的解码方法,其特征在于,对所述点云数据的个数进行解码包括:The decoding method according to claim 36 or 37, wherein decoding the number of point cloud data comprises:
    当解码出1个比特的0时,表示当前子块内含有1个点云数据;以及When a bit of 0 is decoded, it means that the current sub-block contains 1 point cloud data; and
    当解码出1个比特的1时,表示当前子块内含有不止1个点云数据,继续解码数值(n-1),得到当前子块内含有n个点云数据,其中n为大于1的自然数。When a bit of 1 is decoded, it means that the current sub-block contains more than one point cloud data. Continue to decode the value (n-1) to obtain n point cloud data in the current sub-block, where n is greater than 1. Natural number.
  39. 根据权利要求29所述的解码方法,其特征在于,所述解码方法还包括:The decoding method of claim 29, wherein the decoding method further comprises:
    从码流中解码出与所述采集设备的视野范围相关的参数,以确定用于空间划分的初始块的坐标范围。The parameters related to the field of view of the acquisition device are decoded from the code stream to determine the coordinate range of the initial block used for space division.
  40. 根据权利要求39所述的解码方法,其特征在于,所述与所述采集设备的视野范围相关的参数是从所述码流的头信息中解码得到的。The decoding method according to claim 39, wherein the parameter related to the field of view of the collecting device is obtained by decoding from the header information of the code stream.
  41. 根据权利要求29所述的解码方法,其特征在于,所述逆预处理包括逆量化。The decoding method according to claim 29, wherein the inverse preprocessing comprises inverse quantization.
  42. 根据权利要求41所述的解码方法,其特征在于,所述采集设备 的所述设备位置坐标是所述采集设备的实际位置坐标经量化后的坐标,所述参考位置坐标是所述采集设备的视野范围内的所述预设参考点的实际位置坐标经量化后的坐标,所述采集设备的实际位置坐标的量化方式和所述预设参考点的实际位置坐标的量化方式均与所述逆量化的逆过程相同。The decoding method according to claim 41, wherein the device position coordinates of the collecting device are quantized coordinates of the actual position coordinates of the collecting device, and the reference position coordinates are the coordinates of the collecting device. The quantized coordinates of the actual position coordinates of the preset reference point within the field of view, the quantization method of the actual position coordinates of the acquisition device and the quantization method of the actual position coordinates of the preset reference point are the same as the inverse The reverse process of quantification is the same.
  43. 根据权利要求42所述的解码方法,其特征在于,所述量化方式所采用的量化精度是预设的固定值。The decoding method according to claim 42, characterized in that the quantization precision adopted by the quantization method is a preset fixed value.
  44. 根据权利要求42或43所述的解码方法,其特征在于,所述量化方式在三维方向的各方向上的量化精度一致。The decoding method according to claim 42 or 43, wherein the quantization accuracy of the quantization method is consistent in all directions in the three-dimensional direction.
  45. 一种点云数据的位置坐标的编码系统,其特征在于,所述编码系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1-22中的任一项所述的点云数据的位置坐标的编码方法。An encoding system for the position coordinates of point cloud data, wherein the encoding system includes a storage device and a processor, the storage device stores a computer program run by the processor, and the computer program is When the processor is running, the method for encoding the position coordinates of the point cloud data according to any one of claims 1-22 is executed.
  46. 一种点云数据的位置坐标的解码系统,其特征在于,所述解码系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求23-44中的任一项所述的点云数据的位置坐标的解码方法。A decoding system for the position coordinates of point cloud data, characterized in that the decoding system includes a storage device and a processor, the storage device stores a computer program run by the processor, and the computer program is The processor executes the method for decoding the position coordinates of the point cloud data according to any one of claims 23-44 when the processor is running.
  47. 一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求1-22中的任一项所述的点云数据的位置坐标的编码方法。A storage medium, characterized in that a computer program is stored on the storage medium, and the computer program executes the method for encoding position coordinates of point cloud data according to any one of claims 1-22 during operation .
  48. 一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求23-44中的任一项所述的点云数据的位置坐标的解码方法。A storage medium, characterized in that a computer program is stored on the storage medium, and the computer program executes the method for decoding the position coordinates of point cloud data according to any one of claims 23-44 during operation .
PCT/CN2019/089787 2019-06-03 2019-06-03 Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium WO2020243874A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/089787 WO2020243874A1 (en) 2019-06-03 2019-06-03 Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium
CN201980008580.XA CN111602176A (en) 2019-06-03 2019-06-03 Method, system and storage medium for encoding and decoding position coordinates of point cloud data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/089787 WO2020243874A1 (en) 2019-06-03 2019-06-03 Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium

Publications (1)

Publication Number Publication Date
WO2020243874A1 true WO2020243874A1 (en) 2020-12-10

Family

ID=72191952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/089787 WO2020243874A1 (en) 2019-06-03 2019-06-03 Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium

Country Status (2)

Country Link
CN (1) CN111602176A (en)
WO (1) WO2020243874A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220167016A1 (en) * 2019-06-26 2022-05-26 Tencent America LLC Implicit quadtree or binary-tree geometry partition for point cloud coding

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114187401A (en) * 2020-09-15 2022-03-15 鹏城实验室 Point cloud attribute encoding method, point cloud attribute decoding method, point cloud attribute encoding equipment and point cloud attribute decoding equipment
CN112565794B (en) * 2020-12-03 2022-10-04 西安电子科技大学 Point cloud isolated point encoding and decoding method and device
CN114598892B (en) * 2020-12-07 2024-01-30 腾讯科技(深圳)有限公司 Point cloud data encoding method, decoding method, device, equipment and storage medium
WO2022141453A1 (en) * 2020-12-31 2022-07-07 深圳市大疆创新科技有限公司 Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and encoding and decoding system
CN113836095A (en) * 2021-09-26 2021-12-24 广州极飞科技股份有限公司 Point cloud data storage method and device, storage medium and electronic equipment
CN114596196A (en) * 2022-03-04 2022-06-07 北京百度网讯科技有限公司 Method and device for filtering point cloud data, equipment and storage medium
CN115102934B (en) * 2022-06-17 2023-09-19 腾讯科技(深圳)有限公司 Decoding method, encoding device, decoding equipment and storage medium for point cloud data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715496A (en) * 2015-03-23 2015-06-17 中国科学技术大学 Image prediction method, system and device based on three-dimensional point cloud model under cloud environment
CN108171761A (en) * 2017-12-13 2018-06-15 北京大学 A kind of point cloud inner frame coding method and device that transformation is schemed based on Fourier
CN108335335A (en) * 2018-02-11 2018-07-27 北京大学深圳研究生院 A kind of point cloud genera compression method based on enhancing figure transformation
CN109076173A (en) * 2017-11-21 2018-12-21 深圳市大疆创新科技有限公司 Image output generation method, equipment and unmanned plane

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016152586A (en) * 2015-02-19 2016-08-22 国立大学法人電気通信大学 Projection mapping device, and device, method and program for video projection control
CN106846425B (en) * 2017-01-11 2020-05-19 东南大学 Scattered point cloud compression method based on octree

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104715496A (en) * 2015-03-23 2015-06-17 中国科学技术大学 Image prediction method, system and device based on three-dimensional point cloud model under cloud environment
CN109076173A (en) * 2017-11-21 2018-12-21 深圳市大疆创新科技有限公司 Image output generation method, equipment and unmanned plane
CN108171761A (en) * 2017-12-13 2018-06-15 北京大学 A kind of point cloud inner frame coding method and device that transformation is schemed based on Fourier
CN108335335A (en) * 2018-02-11 2018-07-27 北京大学深圳研究生院 A kind of point cloud genera compression method based on enhancing figure transformation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220167016A1 (en) * 2019-06-26 2022-05-26 Tencent America LLC Implicit quadtree or binary-tree geometry partition for point cloud coding
US11743498B2 (en) * 2019-06-26 2023-08-29 Tencent America LLC Implicit quadtree or binary-tree geometry partition for point cloud coding

Also Published As

Publication number Publication date
CN111602176A (en) 2020-08-28

Similar Documents

Publication Publication Date Title
WO2020243874A1 (en) Methods and systems for encoding and decoding position coordinates of point cloud data, and storage medium
CN111247802B (en) Method and apparatus for three-dimensional data point set processing
US20210343047A1 (en) Three-dimensional data point encoding and decoding method and device
WO2021253430A1 (en) Absolute pose determination method, electronic device and mobile platform
WO2022126427A1 (en) Point cloud processing method, point cloud processing apparatus, mobile platform, and computer storage medium
WO2020143005A1 (en) Method and apparatus for encoding or decoding three-dimensional data point set
US20210335015A1 (en) Three-dimensional data point encoding and decoding method and device
CN114503440A (en) Angle mode of tree-based point cloud coding and decoding
US11580672B2 (en) Angular mode simplification for geometry-based point cloud compression
CN112912756A (en) Point cloud noise filtering method, distance measuring device, system, storage medium and mobile platform
Tu et al. Motion analysis and performance improved method for 3D LiDAR sensor data compression
CN112740702A (en) Point cloud encoding and decoding method and device
JP6919764B2 (en) Radar image processing device, radar image processing method, and program
US20210255289A1 (en) Light detection method, light detection device, and mobile platform
KR102025113B1 (en) Method for generating an image using a lidar and device for the same
US11842520B2 (en) Angular mode simplification for geometry-based point cloud compression
US20220108493A1 (en) Encoding/decoding method and device for three-dimensional data points
WO2021232227A1 (en) Point cloud frame construction method, target detection method, ranging apparatus, movable platform, and storage medium
CN112689997B (en) Ordering method and device for point clouds
CN116091700A (en) Three-dimensional reconstruction method, three-dimensional reconstruction device, terminal equipment and computer readable medium
CN111830525B (en) Laser triangle ranging system
CN114080545A (en) Data processing method and device, laser radar and storage medium
WO2020107379A1 (en) Reflectivity correction method for use in ranging apparatus, and ranging apparatus
WO2023112105A1 (en) Encoding device, encoding method, and program
WO2022172888A1 (en) Information processing device, control method, program, and storage medium

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: 19931614

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: 19931614

Country of ref document: EP

Kind code of ref document: A1