WO2022257145A1 - 点云属性的预测方法、装置及编解码器 - Google Patents

点云属性的预测方法、装置及编解码器 Download PDF

Info

Publication number
WO2022257145A1
WO2022257145A1 PCT/CN2021/099872 CN2021099872W WO2022257145A1 WO 2022257145 A1 WO2022257145 A1 WO 2022257145A1 CN 2021099872 W CN2021099872 W CN 2021099872W WO 2022257145 A1 WO2022257145 A1 WO 2022257145A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
decoded
encoded
reference point
points
Prior art date
Application number
PCT/CN2021/099872
Other languages
English (en)
French (fr)
Inventor
魏红莲
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2021/099872 priority Critical patent/WO2022257145A1/zh
Priority to CN202180098263.9A priority patent/CN117321991A/zh
Priority to TW111121611A priority patent/TW202249488A/zh
Publication of WO2022257145A1 publication Critical patent/WO2022257145A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Definitions

  • the present application relates to the field of point cloud technology, and in particular to a method, device and codec for predicting point cloud attributes.
  • the surface of the object is collected by the collection device to form point cloud data, which includes hundreds of thousands or more points.
  • point cloud data is transmitted between the point cloud encoding device and the point cloud decoding device in the form of point cloud media files.
  • point cloud encoding equipment needs to compress the point cloud data before transmission.
  • Embodiments of the present application provide a point cloud attribute prediction method, device, and codec, so as to improve point cloud prediction accuracy.
  • the embodiment of the present application provides a method for predicting point cloud attributes, including:
  • the index of the point to be decoded is greater than N, determine the reference point search range of the point to be decoded from the decoded points in the point cloud, wherein the The index of the point to be decoded is the order of the point to be decoded in the attribute decoding order, and N is a positive integer;
  • search for at least one reference point closest to the point to be decoded search for at least one reference point closest to the point to be decoded
  • a predicted value of the attribute information of the point to be decoded is determined according to the reconstructed value of the attribute information of the at least one reference point.
  • the present application provides a method for predicting point cloud attributes, including:
  • the index of the point to be encoded is greater than N
  • the reference point search range of the point to be encoded is the sorting of the point to be encoded in the attribute encoding sequence, and N is a positive integer
  • a predicted value of the attribute information of the point to be encoded is determined according to the reconstructed value of the attribute information of the at least one reference point.
  • an apparatus for predicting point cloud attributes is provided, which is used to execute the method in the above first aspect or its various implementations.
  • the device includes a functional unit configured to execute the method in the above first aspect or each implementation manner thereof.
  • an apparatus for predicting point cloud attributes is provided, which is used to execute the method in the above-mentioned second aspect or various implementations thereof.
  • the device includes a functional unit configured to execute the method in the above second aspect or each implementation manner thereof.
  • a point cloud decoder including a processor and a memory.
  • the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so as to execute the method in the above first aspect or its various implementations.
  • a point cloud decoder including a processor and a memory.
  • the memory is used to store a computer program, and the processor is used to invoke and run the computer program stored in the memory, so as to execute the method in the above second aspect or its various implementations.
  • a chip for implementing any one of the above first aspect to the second aspect or the method in each implementation manner thereof.
  • the chip includes: a processor, configured to call and run a computer program from the memory, so that the device installed with the chip executes any one of the above-mentioned first to second aspects or any of the implementations thereof. method.
  • a computer-readable storage medium for storing a computer program, and the computer program causes a computer to execute any one of the above-mentioned first to second aspects or the method in each implementation manner thereof.
  • a computer program product including computer program instructions, the computer program instructions causing a computer to execute any one of the above first to second aspects or the method in each implementation manner thereof.
  • a computer program which, when running on a computer, causes the computer to execute any one of the above-mentioned first to second aspects or the method in each implementation manner.
  • the present application when determining the reference point, the present application considers the distance between the reference point and the point to be decoded by means of a global search, so that at least one determined reference point is the decoded point with the closest spatial distance to the point to be decoded. Since the attribute information of points with close spatial distances in the point cloud has strong correlation, the accuracy of attribute prediction can be improved when attribute prediction is performed based on the attribute information of the reference point whose spatial distance is closest to the point to be decoded.
  • 1A is a schematic diagram of a three-dimensional point cloud image
  • Fig. 1B is a partially enlarged schematic diagram of a three-dimensional point cloud image
  • FIG. 2 is a schematic block diagram of a point cloud encoding and decoding system involved in an embodiment of the present application
  • Fig. 3 is a schematic block diagram of a point cloud encoder provided by an embodiment of the present application.
  • Fig. 4 is a schematic block diagram of a point cloud decoder provided by an embodiment of the present application.
  • FIG. 5A is a schematic diagram of a bounding box of a point cloud
  • Fig. 5B is a schematic diagram of another bounding box of a point cloud
  • Figure 6A is a schematic diagram of a Morton sequence
  • Figure 6B is a schematic diagram of a Morton sequence
  • Figure 6C is a schematic diagram of a Morton sequence
  • Figure 6D is a schematic diagram of a Morton sequence
  • FIG. 7 is a schematic flowchart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • FIG. 8 is a schematic flow diagram of a point cloud decoding method provided by an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • FIG. 10 is a schematic flow diagram of a point cloud encoding method provided by an embodiment of the present application.
  • Fig. 11 is a schematic block diagram of a device for predicting point cloud attributes provided by an embodiment of the present application.
  • Fig. 12 is a schematic block diagram of a device for predicting point cloud attributes provided by an embodiment of the present application.
  • Fig. 13 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
  • the present application can be applied to the technical field of point cloud upsampling, for example, can be applied to the technical field of point cloud compression.
  • Point Cloud refers to a group of discrete point sets that are randomly distributed in space, expressing the spatial structure and surface properties of 3D objects or 3D scenes, such as the 3D point cloud image shown in Figure 1A, and the 3D point cloud image shown in Figure 1B
  • the partially enlarged point cloud image in Figure 1A shows that the surface of the point cloud is composed of densely distributed points.
  • Point cloud data is a specific record form of point cloud, and the points in the point cloud can include point location information and point attribute information.
  • the point position information may be three-dimensional coordinate information of the point.
  • the location information of a point may also be referred to as geometric information of a point.
  • the attribute information of a point may include color information and/or reflectivity and the like.
  • the color information may be information on any color space.
  • the color information may be (RGB).
  • the color information may be luminance and chrominance (YcbCr, YUV) information.
  • Y represents brightness (Luma)
  • Cb (U) represents blue color difference
  • Cr (V) represents red color
  • U and V are expressed as chromaticity (Chroma) for describing color difference information.
  • the points in the point cloud may include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
  • the points in the point cloud may include three-dimensional coordinate information and color information of the point.
  • the points in the point cloud may include the three-dimensional coordinate information of the point, the laser reflection intensity (reflectance) of the point, and the color information of the point.
  • Point clouds can be divided into dense point clouds and sparse point clouds according to the way of acquisition.
  • point cloud is divided into:
  • the first type of static point cloud that is, the object is stationary, and the device for obtaining the point cloud is also stationary;
  • the second type of dynamic point cloud the object is moving, but the device for obtaining the point cloud is still;
  • the third type of dynamic acquisition of point clouds the equipment for acquiring point clouds is in motion.
  • point cloud According to the purpose of point cloud, it can be divided into two categories:
  • Category 1 Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and emergency rescue robots;
  • Category 2 Human eyes perceive point clouds, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • Point cloud can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes, and because point cloud is obtained by directly sampling real objects, it can provide a strong sense of reality under the premise of ensuring accuracy, so it is widely used.
  • Ways to obtain point cloud data may include but not limited to at least one of the following: (1) Generated by computer equipment. Computer equipment can generate point cloud data based on virtual 3D objects and virtual 3D scenes. (2) 3D (3-Dimension, three-dimensional) laser scanning acquisition. Point cloud data of static real-world 3D objects or 3D scenes can be obtained through 3D laser scanning, and millions of point cloud data can be obtained per second; (3) 3D photogrammetry acquisition. Through 3D photography equipment (that is, a group of cameras or camera equipment with multiple lenses and sensors) to collect the visual scene of the real world to obtain the point cloud data of the visual scene of the real world, through 3D photography can obtain dynamic real world three-dimensional objects Or point cloud data of a 3D scene.
  • 3D photography equipment that is, a group of cameras or camera equipment with multiple lenses and sensors
  • point cloud data of biological tissues and organs can be obtained through magnetic resonance imaging (Magnetic Resonance Imaging, MRI), electronic computer tomography (Computed Tomography, CT), electromagnetic positioning information and other medical equipment.
  • Magnetic Resonance Imaging Magnetic Resonance Imaging
  • CT electronic computer tomography
  • electromagnetic positioning information and other medical equipment.
  • a 10s point cloud video Taking a point cloud video with a frame rate of 30fps (frame per second) as an example, the number of points in each frame of point cloud is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar), then a 10s point cloud video
  • point cloud compression has become a key issue to promote the development of the point cloud industry.
  • Point cloud compression generally includes the compression of point cloud geometric information and attribute information. The relevant knowledge of point cloud compression is introduced below.
  • FIG. 2 is a schematic block diagram of a point cloud encoding and decoding system involved in an embodiment of the present application. It should be noted that FIG. 2 is only an example, and the point cloud encoding and decoding system in the embodiment of the present application includes but is not limited to that shown in FIG. 2 .
  • the point cloud encoding and decoding system 100 includes an encoding device 110 and a decoding device 120 .
  • the encoding device is used to encode the point cloud data (which can be understood as compression) to generate a code stream, and transmit the code stream to the decoding device.
  • the decoding device decodes the code stream generated by the encoding device to obtain decoded point cloud data.
  • the encoding device 110 in the embodiment of the present application can be understood as a device having a point cloud encoding function
  • the decoding device 120 can be understood as a device having a point cloud decoding function.
  • Devices including, for example, smartphones, desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, point cloud gaming consoles, vehicle-mounted computers, etc. .
  • the encoding device 110 can transmit the encoded point cloud data (eg code stream) to the decoding device 120 via the channel 130 .
  • Channel 130 may include one or more media and/or devices capable of transmitting encoded point cloud data from encoding device 110 to decoding device 120 .
  • channel 130 includes one or more communication media that enable encoding device 110 to transmit encoded point cloud data directly to decoding device 120 in real-time.
  • the encoding device 110 may modulate the encoded point cloud data according to the communication standard, and transmit the modulated point cloud data to the decoding device 120 .
  • the communication medium includes a wireless communication medium, such as a radio frequency spectrum.
  • the communication medium may also include a wired communication medium, such as one or more physical transmission lines.
  • the channel 130 includes a storage medium, which can store the point cloud data encoded by the encoding device 110 .
  • the storage medium includes a variety of local access data storage media, such as optical discs, DVDs, flash memory, and the like.
  • the decoding device 120 can acquire encoded point cloud data from the storage medium.
  • the channel 130 may include a storage server, and the storage server may store the point cloud data encoded by the encoding device 110 .
  • the decoding device 120 may download the stored encoded point cloud data from the storage server.
  • the storage server can store the encoded point cloud data and can transmit the encoded point cloud data to the decoding device 120, such as a web server (for example, for a website), a file transfer protocol (FTP) server, etc. .
  • a web server for example, for a website
  • FTP file transfer protocol
  • the encoding device 110 includes a point cloud encoder 112 and an output interface 113 .
  • the output interface 113 may include a modulator/demodulator (modem) and/or a transmitter.
  • the encoding device 110 may include a point cloud source 111 in addition to the point cloud encoder 112 and the input interface 113 .
  • the point cloud source 111 may include at least one of a point cloud acquisition device (for example, a scanner), a point cloud archive, a point cloud input interface, and a computer graphics system, wherein the point cloud input interface is used to receive from a point cloud content provider Point cloud data, computer graphics system is used to generate point cloud data.
  • a point cloud acquisition device for example, a scanner
  • a point cloud archive for example, a point cloud archive
  • a point cloud input interface for example, a point cloud archive
  • point cloud input interface for example, a point cloud input interface
  • computer graphics system is used to generate point cloud data.
  • the point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a code stream.
  • the point cloud encoder 112 directly transmits the encoded point cloud data to the decoding device 120 via the output interface 113 .
  • the encoded point cloud data can also be stored on a storage medium or a storage server for subsequent reading by the decoding device 120 .
  • the decoding device 120 includes an input interface 121 and a point cloud decoder 122 .
  • the decoding device 120 may further include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .
  • the input interface 121 includes a receiver and/or a modem.
  • the input interface 121 can receive the encoded point cloud data through the channel 130 .
  • the point cloud decoder 122 is used to decode the encoded point cloud data to obtain decoded point cloud data, and transmit the decoded point cloud data to the display device 123 .
  • the display device 123 displays the decoded point cloud data.
  • the display device 123 may be integrated with the decoding device 120 or external to the decoding device 120 .
  • the display device 123 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.
  • LCD liquid crystal display
  • plasma display a plasma display
  • OLED organic light emitting diode
  • FIG. 2 is only an example, and the technical solution of the embodiment of the present application is not limited to FIG. 2 .
  • the technology of the present application can also be applied to one-sided point cloud encoding or one-sided point cloud decoding.
  • the current point cloud encoder or point cloud decoder can adopt the geometry-based point cloud compression (Geometry Point Cloud Compression, G-PCC) codec framework provided by the Moving Picture Experts Group (MPEG) or video-based
  • the video point cloud compression (Video Point Cloud Compression, V-PCC) codec framework can also adopt the AVS-PCC codec framework provided by the audio and video coding standard (Audio Video Standard, AVS). Both G-PCC and AVS-PCC are aimed at static sparse point clouds, and their coding frameworks are roughly the same.
  • the G-PCC codec framework can be used to compress the first static point cloud and the third type of dynamically acquired point cloud
  • the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
  • the G-PCC codec framework is also called point cloud codec TMC13
  • the V-PCC codec framework is also called point cloud codec TMC2.
  • the point cloud compression box also includes the Point Cloud Reference Model (PCRM).
  • Fig. 3 is a schematic block diagram of a point cloud encoder provided by an embodiment of the present application.
  • the points in the point cloud can include the position information of the point and the attribute information of the point, therefore, the encoding of the point in the point cloud mainly includes the position encoding and the attribute encoding.
  • the position information of the points in the point cloud is also called geometric information, and the corresponding position codes of the points in the point cloud may also be called geometric codes.
  • the point cloud geometry information is first encoded in the geometry encoding part, and then the reconstructed geometry information is input into the attribute encoding part as additional information to assist the compression of point cloud attributes.
  • the whole encoder consists of preprocessing, geometry encoding, and attribute encoding.
  • the process of position encoding includes: first preprocessing the original geometric information, such as normalizing the geometric origin to the minimum value position in the point cloud space through coordinate translation, and converting the geometric information from floating point numbers to integers through coordinate quantization, which is convenient for subsequent regularized processing.
  • geometrically encode the regularized geometric information for example, use the octree structure to recursively divide the point cloud space, divide the current node into eight sub-blocks of the same size each time, and judge the occupancy codeword of each sub-block In the case, when the sub-block does not contain points, it is recorded as empty, otherwise it is recorded as non-empty, and the occupied codeword information of all blocks is recorded in the last layer of recursive division, and encoded.
  • the geometric information expressed by the octree structure is input into the geometric entropy encoder to form the geometric code stream on the one hand, and the geometric reconstruction process is performed in the encoder on the other hand, and the reconstructed geometric information is input into the attribute encoding part as additional information .
  • the attribute encoding process includes: first, preprocessing the original attribute information. Since the geometric information changes after the geometric encoding, it is necessary to reassign the attribute value for each point after the geometric encoding. This process is called attribute recoloring. In addition, If the attribute information to be processed is color information, the original color needs to be transformed into a color space to convert it into a YUV color space that is more in line with the visual characteristics of the human eye. Next, perform attribute encoding on the preprocessed attribute information. The attribute encoding first needs to reorder the point cloud. The reordering method is Morton code, so the traversal order of attribute encoding is Morton order.
  • position coding can be achieved by the following units:
  • a coordinate translation unit 201 a coordinate quantization unit 202 , an octree construction unit 203 , a geometry reconstruction unit 204 and a geometry entropy encoding unit 205 .
  • the coordinate translation unit 201 can be used to transform the world coordinates of points in the point cloud into relative coordinates. For example, subtracting the minimum values of the xyz coordinate axes from the geometric coordinates of the point is equivalent to a DC operation to convert the coordinates of the points in the point cloud from world coordinates to relative coordinates.
  • Coordinate quantization unit 202 can reduce the number of coordinates through quantization; original different points may be given the same coordinates after quantization, based on this, repeated points can be deleted through de-duplication operations; for example, points with the same quantization position and different attribute information Multiple clouds can be merged into one cloud through attribute transformation. Coordinate quantization can convert geometric information from floating-point numbers to integers, which is convenient for subsequent regularization processing. In some embodiments of the present application, the coordinate quantization unit 202 is an optional unit module.
  • the octree construction unit 203 may use an octree encoding method to encode the position information of the quantized points.
  • the point cloud is divided in the form of an octree, so that the position of the point can be in one-to-one correspondence with the position of the octree, and the position of the point in the octree is counted, and its flag (flag) is recorded as 1 for geometric encoding.
  • the geometric reconstruction unit 204 may perform position reconstruction based on the position information output by the octree construction unit 203, and obtain the reconstructed value of the position information of each point in the point cloud data.
  • the geometric entropy encoding unit 205 can arithmetically encode the position information output by the octree construction unit 203 in an entropy encoding manner, that is, the position information output by the octree construction unit 203 can generate a geometric code stream by means of arithmetic encoding; the geometric code stream can also be Called geometry bitstream (geometry bitstream).
  • Attribute coding can be achieved by the following units:
  • a color space conversion (Transform colors) unit 210 an attribute recoloring unit 211, an attribute prediction unit 213, a quantization unit 214, and an attribute entropy encoding unit 214.
  • point cloud encoder 200 may include more, fewer or different functional components than those shown in FIG. 3 .
  • the color space conversion unit 210 can be used to convert the RGB color space of points in the point cloud into YCbCr format or other formats.
  • the attribute recoloring unit 211 needs to reassign attribute values for each point after geometric encoding because the geometric information changes after geometric encoding. This process is called attribute recoloring.
  • the attribute prediction unit 213 may include: Region Adaptive Hierarchical Transform (RAHT), predicting transform, lifting transform, etc.
  • RAHT Region Adaptive Hierarchical Transform
  • any one of RAHT, predicted change, and improved change 214 can be used to predict the attribute information of points in the point cloud to obtain the predicted value of the point's attribute information, and then obtain the point's value based on the predicted value of the point's attribute information.
  • the residual value of attribute information may be the original value of the point's attribute information minus the predicted value of the point's attribute information.
  • the attribute prediction unit 213 can also be used to generate a level of detail (LOD).
  • LOD level of detail
  • the generation process of LOD includes: according to the position information of the points in the point cloud, the Euclidean distance between the points is obtained; according to the Euclidean distance, the points are divided into different detail expression layers.
  • the Euclidean distances in different ranges can be divided into different detail expression layers. For example, a point can be randomly selected as the first detail expression layer. Then calculate the Euclidean distance between the remaining points and this point, and classify the points whose Euclidean distance meets the first threshold requirement as the second detailed expression layer.
  • the point cloud can be directly divided into one or more detail expression layers, or the point cloud can be divided into multiple point cloud slices first, and then each point cloud slice can be divided into one or more Multiple LOD layers.
  • the point cloud can be divided into multiple point cloud cutouts, and the number of points in each point cloud cutout can be between 550,000 and 1.1 million.
  • Each point cloud slice can be regarded as a separate point cloud.
  • Each point cloud slice can be divided into multiple detail expression layers, and each detail expression layer includes multiple points.
  • the detail expression layer can be divided according to the Euclidean distance between points.
  • the quantization unit 214 can be used to quantize the residual value of the attribute information of the point. For example, if the quantization unit 214 is connected to the attribute prediction unit 213, the quantization unit 214 can be used to quantize the residual value of the attribute information of the points output by the attribute prediction unit 213. For example, the residual value of the attribute information of the points output by the attribute predicting unit 213 is quantized using a quantization step size, so as to improve system performance.
  • the attribute entropy coding unit 214 may use zero run length coding to perform entropy coding on the residual value of the point attribute information to obtain an attribute code stream.
  • the attribute code stream may be bit stream information.
  • Fig. 4 is a schematic block diagram of a point cloud decoder provided by an embodiment of the present application.
  • the decoder 300 can obtain the point cloud code stream from the encoding device, and obtain the position information and attribute information of the points in the point cloud by parsing the code.
  • the decoding of point cloud includes position decoding and attribute decoding.
  • the process of position decoding includes: first entropy decoding the geometric code stream to obtain the geometric information of each node, then constructing the octree structure in the same way as the geometric encoding, and reconstructing the coordinate transformation by combining the decoded geometry.
  • the attribute decoding process includes: constructing the Morton sequence in the same way as the encoding side, first performing entropy decoding on the attribute code stream to obtain quantized residual information; and then performing inverse quantization to obtain point cloud residuals.
  • the attribute prediction value of the current point to be decoded is obtained, and then the attribute prediction value and the residual value are added to restore the YUV attribute value of the current point to be decoded.
  • the decoding attribute information is obtained through inverse transformation of the color space.
  • position decoding can be achieved by the following units:
  • a geometric entropy decoding unit 301 an octree construction unit 302 , a coordinate inverse quantization unit 304 and a coordinate inverse translation unit 305 .
  • Attribute coding can be achieved by the following units:
  • An attribute entropy decoding unit 310 an inverse quantize unit 311 , a prediction unit 312 and a color space inverse conversion (inverse transform colors) unit 313 .
  • decompression is an inverse process of compression
  • the functions of each unit in the decoder 300 may refer to the functions of corresponding units in the encoder 200 .
  • point cloud decoder 300 may include more, fewer or different functional components than in FIG. 4 .
  • the decoder 300 can divide the point cloud into multiple LODs according to the Euclidean distance between points in the point cloud; then, decode the attribute information of the points in the LOD in sequence; number (zero_cnt), to decode the residual based on zero_cnt; then, the decoding framework 200 can perform dequantization based on the decoded residual value, and add the dequantized residual value to the predicted value of the current point to obtain the Point cloud reconstruction values until all point clouds are decoded.
  • the current point will be used as the nearest neighbor point of the subsequent LOD midpoint, and the attribute information of the subsequent point will be predicted by using the reconstructed value of the current point.
  • the recursive octree structure is used to express the points in the point cloud as the center of the cube in a regular way.
  • x min min(x 0 ,x 1 ,...,x K-1 )
  • y min min(y 0 ,y 1 ,...,y K-1 )
  • x max max(x 0 ,x 1 ,...,x K-1 )
  • y max max(y 0 ,y 1 ,...,y K-1 )
  • origin (x origin , y origin , z origin ) of the bounding box can be calculated as follows:
  • the size of the bounding box in the x, y, z directions can be calculated as follows:
  • the bounding box is first divided into octrees to obtain eight sub-blocks each time, and then the non-empty blocks (blocks containing points) in the sub-blocks are divided into octrees again, so Recursively divide until a certain depth, and call the non-empty sub-block of the final size voxel, each voxel contains one or more points, normalize the geometric positions of these points to the center point of the voxel, and the attribute value of the center point Takes the average of the attribute values of all points in the voxel.
  • Figure 6A is a schematic diagram of a "z"-shaped Morton sequence of 2*2 pixels in a block
  • Figure 6B is a schematic diagram of a "z"-shaped Morton sequence between four 2*2 blocks
  • Figure 6C is a schematic diagram of four 4*4 blocks
  • the "z"-shaped Morton sequence diagram between them constitutes the Morton sequence of the entire 8*8 block.
  • the Morton order extended to the three-dimensional space is shown in Figure 6D.
  • Figure 6D shows 16 nodes, and the Morton order inside each "z” and between each "z” and “z” is the first Encode along the x-axis, then along the y-axis, and finally along the z-axis.
  • the embodiment of the present application relates to the attribute prediction part in point cloud compression.
  • the attribute prediction process it is first necessary to determine the prediction reference point of the current point, and determine the predicted value of the attribute information of the current point according to the attribute information of the prediction reference point of the current point.
  • the predicted reference point of the current point is selected from encoded points that are geometrically coplanar, collinear, and co-point with the current point. That is to say, the prediction reference point of the current point must meet the following two conditions:
  • Condition 1 satisfy the coplanar, collinear and copoint relationship with the current node
  • the prediction reference point of the current point selects the prediction reference point of the current point, assuming that the above-mentioned coded points that are coplanar with the current point are: 3, 5, 6, collinear with the current point And the coded points are: 1, 2, 4, 10, 12, 17, 20, 33, 34, the same point as the current point and the coded points are: 0, 8, 16, 24, 32, 40, 48 , so the prediction reference point of the current point is from the above: coplanar points 3, 5, 6, collinear points 1, 2, 4, 10, 12, 17, 20, 33, 34, and coplanar points 0, 8 , 16, 24, 32, 40, 48 are generated.
  • the process of determining the prediction reference point of the current point in this embodiment is complicated, because the adjacent points in the point cloud usually have similar attribute information, but the prediction reference point selected in this embodiment is not necessarily the distance from the current point. The point closest to the point, which leads to inaccurate prediction of the attribute of the current point.
  • the embodiment of the present application provides a prediction method of point cloud attributes, by querying at least one point closest to the current point from the encoded points of the current point as the prediction reference point of the current point, thereby ensuring
  • the predicted reference point is the point closest to the current point, so that according to the attribute information of the predicted reference point closest to the current point, the predicted value of the attribute information of the current point can be accurately determined, thereby improving the accuracy of point cloud attribute prediction, and
  • the whole forecasting process is simple and easy to realize.
  • FIG. 7 is a schematic flowchart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • the execution subject of the embodiment of the present application may be the decoder shown in FIG. 4 above, or some components in the decoder.
  • the prediction methods of point cloud attributes include:
  • the point cloud code stream includes attribute code stream and geometry code stream. By decoding the geometry code stream, the geometric information of the point cloud can be obtained, and by decoding the attribute code stream, the attribute information of the point cloud can be obtained.
  • geometric entropy decoding is performed on the geometric code stream to obtain the geometric information of each point in the point cloud, and an octree reconstruction is constructed for the geometric information of the decoded point cloud.
  • an octree structure is used to reconstruct the The point cloud space is recursively divided, each time the current block is divided into eight sub-blocks of the same size, and the geometric information expressed by the octree structure of the point cloud is obtained. After inverse quantization and inverse transformation of the geometric information expressed by the octree structure, the reconstruction value of the geometric information of the point cloud is obtained and output.
  • the reconstruction value of the geometric information of the point cloud is input into the attribute decoding part of the point cloud, participates in the attribute decoding of the point cloud, and obtains the reconstruction value of the attribute information of the decoded points in the point cloud.
  • the index of the point to be decoded is the order of the point to be decoded in the attribute decoding order, and N is a positive integer.
  • the attribute information of the points in the point cloud is decoded according to the attribute decoding sequence of the point cloud.
  • the embodiment of the present application does not limit the specific form of the attribute decoding order of the point cloud, which can be determined according to actual needs.
  • the attribute decoding order of the point cloud may be a Morton order.
  • Morton code can convert multi-dimensional data into one-dimensional data encoding, and the accuracy of multi-dimensional data retention can be determined according to the number of one-dimensional encoding digits. It is a relatively common compression encoding method, and its encoding and decoding sequence follows the spatial z order.
  • the attribute decoding order of the point cloud may be a Hilbert order.
  • the Hilbert order also known as the Hilbert curve, converts a multidimensional space into a one-dimensional space and preserves the spatial proximity well.
  • the attribute decoding order of the point cloud can also be decoded along the y direction first, then decoded along the x direction, and finally decoded along the z direction; it can also be decoded along the y direction first, and then along the z direction Decode in the direction, and finally decode along the x direction; it can also be decoded along the x direction first, then decode along the z direction, and finally decode along the y direction; it can also be decoded along the z direction first, and then decode along the x direction , and finally decode along the y direction; or first decode along the z direction, then decode along the y direction, and finally decode along the x direction.
  • point to be decoded may also be referred to as a current point, or a current point to be decoded, or a current point to be processed.
  • the index of each point in the attribute decoding order starts from 0. For example, if the point cloud includes 100 points, the index of the points in the attribute decoding order in the point cloud is 0 to 99. That is, the index of the first point in the point cloud is 0 and the index of the second point is 1 in the attribute decoding order.
  • the above N is greater than or equal to 2, that is to say, the point to be decoded is any point whose attribute information is not decoded after the third point in the point cloud in the attribute decoding order.
  • the point to be decoded is determined from the decoded points of the point cloud under the attribute decoding order
  • the search range of the reference point ensures that each candidate point within the search range of the reference point is a decoded point, thereby ensuring the validity of the search for the reference point.
  • the method of determining the reference point search range of the point to be decoded is also different.
  • the methods for determining the reference point search range of the point to be decoded in S702 include but are not limited to the following:
  • Method 1 When the index of the point to be decoded is greater than M, the M decoded points in the point cloud in the attribute decoding order before the point to be decoded are determined as the reference point search range of the point to be decoded, where M is greater than N.
  • N and M are positive integers and M is greater than N.
  • M 2 s , where s is a positive integer greater than 1, for example, M is 4, 32, 64, 256 and so on.
  • the above M 128. That is to say, when the index of the point to be decoded is greater than 128, it means that there are at least 128 decoded points before the point to be decoded. In this way, in order to reduce the amount of index data, the attribute decoding order is placed before the point to be decoded in the point cloud
  • the M decoded points are determined as the reference point search range of the point to be decoded.
  • the reference point search range of the point to be decoded is the decoded point whose index is 299 to 172 in the point cloud under the attribute decoding sequence.
  • Method 2 when the index of the point to be decoded is greater than N and less than or equal to M, for example, when the point to be decoded is any undecoded point from the 4th point to the 127th point in the point cloud, in order to improve the determined reference All the decoded points in the point cloud under the attribute decoding sequence before the point to be decoded are determined as the reference point search range of the point to be decoded.
  • the reference point search range of the point to be decoded is all decoded points with indexes 0 to 59 in the point cloud in the attribute decoding order.
  • the reference point is also referred to as a prediction reference point, or a prediction point, and the like.
  • the above S703 includes: within the reference point search range, searching for R points closest to the point to be decoded as reference points of the point to be decoded.
  • the distance between each candidate point and the point to be decoded is calculated, and the front R with the smallest distance Candidate points are determined as the reference points of the points to be decoded.
  • This embodiment does not limit the specific value of the above R, which is specifically set according to actual needs.
  • the search when searching for at least one reference point closest to the point to be decoded within the reference point search range, the search is performed according to the sequence from closest to farthest from the point to be decoded in the attribute decoding sequence. For example, first calculate the distance between the first candidate point before the point to be decoded and the point to be decoded in the attribute decoding order, and then calculate the distance between the second candidate point before the point to be decoded and the point to be decoded, to And so on.
  • the embodiment of the present application further limits the number of at least one reference point of the point to be decoded, for example, the number of at least one residual point of the point to be decoded is defined to be greater than or equal to P and less than or equal to Q, Where P and Q are both positive integers, and P is greater than Q.
  • P 3.
  • the number of reference points to be decoded is searched within the reference point search range, at least P reference points are found, such as 3 reference points, and at most Q reference points are found, such as 6 reference points.
  • the specific process of determining whether the candidate point is the reference point of the point to be decoded is the same, and the whole process is an iterative process.
  • the method of searching for at least one reference point closest to the point to be decoded within the reference point search range in S703 includes the following steps:
  • S703-A1 For each candidate point within the reference point search range, first, determine the number of determined reference points of the point to be decoded. When the number of determined reference points of the point to be decoded is less than P, perform the following S703-A2; when the number of determined reference points of the point to be decoded is greater than or equal to P and less than Q, perform the following S703-A3; at the point to be decoded The number of determined reference points is equal to Q, and the following S703-A4 is performed.
  • the number of reference points of the point to be decoded has been determined to be less than the minimum value of the number of reference points of the point to be decoded.
  • the candidate point is directly determined as a reference point of the point to be decoded, and stored in the Reference point cache.
  • the number of determined reference points of the point to be decoded is greater than or equal to the minimum value of the number of reference points of the point to be decoded, but does not reach the maximum value.
  • the candidate point is skipped.
  • the first weight of the target point is the reciprocal of the distance between the target point and the point to be decoded
  • the target point may be a candidate point or a determined reference point. That is to say, the reciprocal of the distance between the candidate point and the point to be decoded is determined as the first weight of the candidate point. The larger the first weight of the candidate point is, the closer the candidate point is to the point to be decoded, the first weight of the candidate point is The smaller the weight, the farther the candidate point is to be decoded.
  • the reciprocal of the distance between the determined reference point and the point to be decoded is determined as the first weight of the determined reference point. The larger the first weight of the determined reference point, the closer the determined reference point is to the point to be decoded. The smaller the first weight of the determined reference point is, the farther the determined reference point is from to be decoded. That is, the embodiment of the present application uses the first weight to compare the distance between two points in the point cloud.
  • the above first weight may be the reciprocal of Euclidean distance or Manhattan distance.
  • the number of determined reference points of the point to be decoded has reached the maximum number of reference points of the point to be decoded, and at this time, the determined reference points in the reference point buffer are replaced.
  • the first weight of the candidate point is greater than the minimum value of the first weights of the determined reference points, it means that the distance between the candidate point and the point to be decoded is less than the determined reference point corresponding to the minimum first weight and the distance to be decoded. Therefore, the candidate point is used to replace the determined reference point corresponding to the smallest first weight.
  • the candidate point is used to replace the determined reference point corresponding to the minimum first weight value.
  • the candidate point is skipped.
  • the distance between the reference point and the point to be decoded is taken into consideration, so that at least one finally determined reference point is the decoded point closest to the point to be decoded. Since the attribute information of each point near the point cloud has strong correlation, the accuracy of attribute prediction can be improved when the attribute information of the point to be decoded is predicted based on the attribute information of at least one reference point closest to the point to be decoded.
  • the embodiment of the present application further includes: sorting the determined reference points of the points to be decoded according to the magnitude of the first weight. That is, for each candidate point, when judging whether the candidate point is the reference point of the point to be decoded, the first weight of the candidate point is usually compared with the minimum first weight of the determined reference point. Based on this, in order to facilitate the difference For the determined reference points corresponding to the smallest first weight, the determined reference points are sorted according to the magnitude of the first weight, for example, sorted according to the order of the first weight from large to small or from small to large. In this way, when judging whether the next candidate point is a reference point, the first weight can be obtained directly from the first or the end of the sorted determined reference points for comparison, so as to improve the judging efficiency of candidate points.
  • S703 includes S703-B1 and S703-B2:
  • the embodiment of the present application does not limit the method of selecting at least one initial reference point of the point to be encoded from within the search range of the reference point.
  • At least one candidate point closest to the point to be decoded in the attribute decoding sequence is selected as the initial reference point of the point to be decoded from within the reference point search range.
  • At least one candidate point farthest from the point to be decoded in the attribute decoding order is selected as the initial reference point of the point to be decoded from within the reference point search range.
  • At least one candidate point at any position in the attribute decoding sequence is selected from the search range of the reference point as the initial reference point of the point to be decoded.
  • the traversal when traversing each candidate point within the reference point search range except the initial reference point, the traversal may be performed according to the sequence from near to far from the point to be decoded in the attribute decoding order.
  • the candidate points are used to supplement and/or replace at least one initial reference point to obtain at least one reference point closest to the point to be decoded, including but not limited to the following:
  • Way 1 When the number of at least one initial reference point is less than P, the candidate points are added to the initial reference point to obtain at least one new initial reference point.
  • Method 2 When the number of at least one initial reference point is greater than or equal to P and less than Q, if the first distance between the candidate point and the point to be decoded is less than or equal to the maximum second distance, the candidate point is added to at least one initial Among the reference points, at least one new initial reference point is obtained, and the second distance is the spatial distance between the initial reference point and the point to be decoded.
  • Mode 3 when the number of at least one initial reference point is equal to Q, if the first distance is less than the maximum second distance, use the candidate point to replace the initial reference point corresponding to the maximum second distance, or, if the first distance is equal to the maximum and the index of the candidate point is less than the index of the initial reference point corresponding to the largest second distance, then use the candidate point to replace the initial reference point corresponding to the largest second distance to obtain at least one new initial reference point.
  • the reference point search range selects the first two candidate points adjacent to the point to be encoded under the attribute decoding attribute as the initial reference point of the point to be decoded.
  • traverse each candidate point in the reference point search range except the initial reference point for example, traverse the first 3 candidate points of the point to be decoded in the reference point search range, at this time, the initial reference point of the point to be decoded If the number is less than 3, directly add the first 3 candidate points of the point to be decoded to the initial reference point of the point to be decoded to obtain a new initial reference point of the point to be decoded, wherein the number of new initial reference points is 3.
  • the candidate point replaces the initial reference point corresponding to the largest second distance, or, if the first distance of this candidate point is equal to the largest second distance in the last determined initial reference point, and the index of this candidate point is less than
  • the current candidate point is used to replace the initial reference point corresponding to the largest second distance to obtain a new initial reference point this time.
  • the initial reference point determined when the last traversed point within the reference point search range is determined as the final reference point for attribute prediction of the point to be decoded.
  • the distance is used to supplement or replace the pre-selected initial reference point to ensure that the finally obtained reference point is the point with the closest spatial distance to the point to be decoded.
  • the attribute information can improve the accuracy of attribute prediction when predicting the attribute of the point to be decoded.
  • search for at least one reference point closest to the point to be decoded from within the reference point search range and then execute the following S704 to perform attribute prediction.
  • the determined arithmetic mean value of the reconstructed values of the attribute information of the at least one reference point is determined as the predicted value of the attribute information of the point to be decoded.
  • the determined weighted average of the reconstructed values of the attribute information of the at least one reference point is determined as the predicted value of the attribute information of the point to be decoded.
  • S704 includes: S704-A1 and S704-A2:
  • the manner of determining the second weight of each reference point in the at least one reference point in S704-A1 includes but is not limited to the following:
  • Way 1 For each reference point in at least one reference point, the reciprocal of the distance between the reference point and the point to be encoded is determined as the second weight of the reference point.
  • the above-mentioned distance may be a Euclidean distance or a Manhattan distance, that is, the reciprocal of the Euclidean distance or the Manhattan distance between the reference point and the point to be encoded is determined as the second weight of the reference point.
  • the Manhattan distance d2 between the reference point and the point to be encoded is determined:
  • ⁇ . ⁇ means absolute value operation.
  • the second weight of each of the above reference points is a preset weight value.
  • the second weights of the reference points may be the same or different.
  • the weighted average value of the reconstruction value of the attribute information of the at least one reference point Determined as the predicted value of the attribute information of the point to be encoded.
  • the predicted value of the attribute information of the point to be encoded is determined:
  • w i is the second weight of the i-th reference point
  • P in represents the predicted value
  • O represents the point to be decoded
  • the prediction method of the point cloud attribute of the embodiment of the present application includes the following steps:
  • Step 1 Decode the point cloud code stream to obtain the decoded points of the point cloud.
  • Step 2 Determine whether the index of the point to be decoded is greater than 2. If the index of the point to be decoded is greater than 2, perform the following steps 3 to 5. If the index of the point to be decoded is less than or equal to 2, perform the following step 6.
  • Step 3 when the index of the point to be decoded is greater than 2, determine the reference point search range of the point to be decoded from the decoded points of the point cloud.
  • Step 4 within the reference point search range of the point to be decoded, search for at least one reference point closest to the point to be decoded.
  • Step 5 Determine the predicted value of the attribute information of the point to be decoded according to the found reconstructed value of the attribute information of at least one reference point.
  • Step 6 if the point to be encoded is the first point of the point cloud in the attribute decoding order, then determine that the predicted value of the attribute information of the point to be encoded is a preset value; or,
  • the reconstruction value of the attribute information of the first point in the point cloud in the attribute decoding order is determined as the prediction of the attribute information of the point to be encoded value
  • the point to be encoded is the third point of the point cloud in the attribute decoding order
  • the reconstruction value of the attribute information of the first point in the point cloud in the attribute decoding order and the reconstruction value of the attribute information of the second point to determine the predicted value of the attribute information of the point to be encoded, for example, the weighted average of the reconstructed value of the attribute information of the first point and the reconstructed value of the attribute information of the second point is determined as the value of the attribute information of the point to be encoded Predictive value.
  • the point cloud attribute prediction method of the embodiment of the present application is tested on the latest point cloud compression platform PCRM3.0 of AVS, and the test results are shown in Tables 1.1 to 1.4:
  • the points in the Cat1B and Cat3 point cloud sequences include color attribute information.
  • BD-AttrRate is one of the main parameters for evaluating the performance of video coding algorithms, which means that compared with the original algorithm, the coded video of the new algorithm (i.e. the technical solution of this application) has higher bit rate and PSNR (Peak Signal to Noise Ratio, peak signal-to-noise ratio)
  • PSNR Peak Signal to Noise Ratio, peak signal-to-noise ratio
  • Table 1.1 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of limit-lossy geometry and lossy attributes.
  • Table 1.1 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of limit-lossy geometry and lossy attributes.
  • the performance of the brightness component is improved by 0.6%
  • the performance of the chroma component Cb is improved by 2.3%
  • the performance of the chroma component Cr is improved by 3.3%.
  • the performance of the technical solution of this application is slightly reduced.
  • Table 1.2 is the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and lossy attributes.
  • Table 1.2 for the Cat1B point cloud sequence, using the technical solution of this application, the performance of the luminance component has been improved by 7.3%, the performance of the chroma component Cb has been improved by 8%, and the performance of the chroma component Cr has been improved by 8.4%. .
  • the performance of the luminance component is improved by 2.5%
  • the performance of the chroma component Cb is improved by 2.4%
  • the performance of the chroma component Cr is improved by 3.2%.
  • Table 1.3 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and limit-lossy attributes.
  • Table 1.3 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and limit-lossy attributes.
  • Table 1.3 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and limit-lossy attributes.
  • Table 1.3 shows the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and limit-lossy attributes.
  • Table 1.4 is the test results generated when using the technical solution of this application to predict Cat1B and Cat3 point cloud sequences under the condition of lossless geometry and lossless attributes. As shown in Table 1.4, for the Cat1B point cloud sequence, the technical solution of this application improves the color performance by 1.5%. For the Cat3 point cloud sequence, the color performance is slightly reduced by adopting the technical solution of this application.
  • the point cloud attribute prediction method provided by the embodiment of the present application can significantly improve the decoding performance of the point cloud.
  • the prediction method of the point cloud attribute of the embodiment of the present application obtains the reconstruction value of the attribute information of the decoded point of the point cloud by decoding the point cloud code stream; for the point to be decoded in the point cloud, the index of the point to be decoded is greater than N , determine the reference point search range of the point to be decoded from the decoded points in the point cloud under the attribute decoding sequence; within the reference point search range, search for at least one reference point closest to the point to be decoded; according to at least one reference point
  • the reconstructed value of the attribute information determines the predicted value of the attribute information of the point to be decoded.
  • the present application when determining the reference point, the present application considers the distance between the reference point and the point to be decoded by means of a global search, so that at least one determined reference point is the decoded point with the closest spatial distance to the point to be decoded. Since the attribute information of points with close spatial distances in the point cloud is strongly correlated, the accuracy of attribute prediction can be improved when the attribute information of the point to be decoded is predicted based on the attribute information of at least one reference point closest to the point to be decoded. .
  • Fig. 8 is a schematic flow chart of a point cloud decoding method provided by an embodiment of the present application. As shown in Fig. 8, the point cloud decoding process includes:
  • the point cloud code stream includes attribute code stream and geometry code stream. By decoding the geometry code stream, the geometric information of the point cloud can be obtained, and by decoding the attribute code stream, the attribute information of the point cloud can be obtained.
  • the attribute code stream of the point cloud is decoded to obtain the residual value of the dequantized attribute information of the point to be decoded, and the quantized attribute residual value of the point to be decoded is dequantized to obtain the attribute information of the point to be decoded. residual value.
  • the index of the point to be decoded is greater than N, determine a reference point search range of the point to be decoded from the decoded points of the point cloud.
  • the index of the point to be decoded is the order of the point to be decoded in the attribute decoding order, and N is a positive integer.
  • the N decoded points in the point cloud in the attribute decoding order before the point to be decoded are determined as the reference point search range of the point to be decoded, where M is greater than N.
  • all decoded points in the point cloud in the attribute decoding sequence before the point to be decoded are determined as the reference point search range of the point to be decoded.
  • R points closest to the point to be decoded are searched as reference points of the point to be decoded, where R is a preset value.
  • the candidate point is determined as a reference point of the point to be decoded.
  • the candidate point is determined to be decoded A reference point of the point, wherein the first weight of the target point is the reciprocal of the distance between the target point and the point to be decoded, and the target point is a candidate point or a determined reference point.
  • the candidate point is used to replace The determined reference point corresponding to the minimum first weight value.
  • the manner of determining the second weight of each reference point in at least one reference point includes but not limited to the following:
  • Way 1 For each reference point in at least one reference point, the reciprocal of the distance between the reference point and the point to be encoded is determined as the second weight of the reference point. For example, the Euclidean distance or the reciprocal of the Manhattan distance between the reference point and the point to be encoded is determined as the second weight of the reference point.
  • the preset weight value is determined as the second weight of the reference point.
  • the present application also includes:
  • the point to be encoded is the first point of the point cloud in the attribute decoding order, then determine that the predicted value of the attribute information of the point to be encoded is a preset value; or,
  • the reconstruction value of the attribute information of the first point in the point cloud in the attribute decoding order is determined as the prediction of the attribute information of the point to be encoded value
  • the point to be encoded is the third point of the point cloud in the attribute decoding order, then according to the reconstruction value of the attribute information of the first point in the point cloud in the attribute decoding order and the reconstruction value of the attribute information of the second point , to determine the predicted value of the attribute information of the point to be encoded.
  • the distance between the reference point and the point to be decoded is taken into consideration through a global search method, so that at least one reference point determined is the decoded point with the closest spatial distance to the point to be decoded. point.
  • the attribute information of the point to be decoded is predicted based on the attribute information of at least one reference point that is spatially closest to the point to be decoded, the accuracy of attribute prediction can be improved, thereby improving the attribute decoding efficiency of the point cloud.
  • FIG. 9 is a schematic flowchart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • the execution subject of the embodiment of the present application may be the encoder shown in FIG. 3 above, or some components in the encoder.
  • the prediction methods of point cloud attributes include:
  • the original geometric information of the point cloud is preprocessed, the geometric origin is normalized to the minimum value position in the point cloud space through coordinate translation, and the geometric information is converted from floating point numbers to integers through coordinate quantization, which is convenient for subsequent rules treatment.
  • geometrically encode the regularized geometric information use the octree structure to recursively divide the point cloud space, divide the current node into eight sub-blocks of the same size each time, and judge the occupancy of each sub-block. When the sub-block does not contain points, it is recorded as empty, otherwise it is recorded as non-empty, and the occupied codeword information of all blocks is recorded and encoded in the last layer of recursive division.
  • the geometric information expressed by the octree structure is input into the geometric entropy encoder to form a geometric code stream.
  • the geometric reconstruction process is performed in the encoder to participate in the attribute encoding of the point cloud, and the attributes of the decoded points in the point cloud are obtained. The reconstructed value of the information.
  • the index of the point to be encoded is the order of the point to be encoded in the attribute encoding order, and N is a positive integer.
  • the embodiment of the present application does not limit the specific sorting manner of the attribute coding sequence of the point cloud, which can be determined according to actual needs.
  • the attribute encoding order of the point cloud may be a Morton order.
  • the attribute encoding order of the point cloud may be a Hilbert order.
  • the attribute encoding order of the point cloud can also be encoded along the y direction first, then along the x direction, and finally along the z direction; or it can be encoded along the y direction first, then along the z direction Coding in the direction, and finally coding along the x direction; it can also be coded along the x direction first, then coded along the z direction, and finally coded along the y direction; or it can be coded along the z direction first, and then coded along the x direction , and finally encode along the y direction; or first encode along the z direction, then encode along the y direction, and finally encode along the x direction.
  • the above N is greater than or equal to 2.
  • point to be encoded may also be called the current point, or the current point to be encoded, or the current point to be processed.
  • the method of determining the search range of the reference point of the point to be encoded is also different.
  • the methods for determining the reference point search range of the points to be encoded in S902 include but are not limited to the following:
  • Method 1 When the index of the point to be encoded is greater than M, the M encoded points in the point cloud in the attribute encoding sequence before the point to be encoded are determined as the reference point search range of the point to be encoded, where M is greater than N.
  • N and M are positive integers and M is greater than N.
  • M 2 s , where s is a positive integer greater than 1, for example, M is 4, 32, 64, 256 and so on.
  • M 128.
  • Method 2 when the index of the point to be encoded is greater than N and less than or equal to M, in order to improve the accuracy of the determined reference point, all encoded points in the point cloud in the attribute encoding sequence before the point to be encoded are determined as The reference point search range of the point to be coded.
  • the above S903 includes: within the reference point search range, searching for R points closest to the point to be encoded as reference points of the point to be encoded.
  • the search when searching for at least one reference point closest to the point to be encoded within the reference point search range, the search is performed according to the sequence from closest to farthest from the point to be encoded in the attribute encoding sequence. For example, first calculate the distance between the first candidate point before the point to be encoded and the point to be encoded in the attribute coding order, and then calculate the distance between the second candidate point before the coded point and the point to be encoded. And so on.
  • the embodiment of the present application also limits the number of at least one reference point of the point to be encoded, for example, the number of at least one residual point of the point to be encoded is defined to be greater than or equal to P and less than or equal to Q, Where P and Q are both positive integers, and P is greater than Q.
  • P 3.
  • the number of reference points to be encoded is searched within the reference point search range, at least P reference points are found, such as 3 reference points, and at most Q reference points are found, such as 6 reference points.
  • the specific process of determining whether the candidate point is the reference point of the point to be encoded is the same, and the whole process is an iterative process.
  • the method of finding at least one reference point closest to the point to be encoded within the reference point search range in S903 includes the following steps:
  • S903-A1 For each candidate point within the reference point search range, first, determine the number of determined reference points of the point to be encoded. When the number of determined reference points of the points to be encoded is less than P, perform the following S903-A2; when the number of determined reference points of the points to be encoded is greater than or equal to P and less than Q, perform the following S903-A3; at the points to be encoded The number of determined reference points is equal to Q, and the following S903-A4 is performed.
  • the number of reference points of the point to be encoded has been determined to be less than the minimum value of the number of reference points of the point to be encoded.
  • the candidate point is directly determined as a reference point of the point to be encoded, and stored in the point to be encoded. Reference point cache.
  • the number of determined reference points of the points to be encoded is greater than or equal to the minimum value of the number of reference points of the points to be encoded, but has not reached the maximum value.
  • the candidate point is skipped.
  • the first weight of the target point is the reciprocal of the distance between the target point and the point to be encoded
  • the target point can be a candidate point or a determined reference point. That is to say, the reciprocal of the distance between the candidate point and the point to be encoded is determined as the first weight of the candidate point. The larger the first weight of the candidate point is, the closer the candidate point is to the point to be encoded, the first weight of the candidate point is The smaller the weight, the farther the candidate point is from the coded point.
  • the reciprocal of the distance between the determined reference point and the point to be encoded is determined as the first weight of the determined reference point. The larger the first weight of the determined reference point, the closer the determined reference point is to the point to be encoded. The smaller the first weight of the determined reference point is, the farther the determined reference point is from the coded point. That is, the embodiment of the present application uses the first weight to compare the distance between two points in the point cloud.
  • the above first weight may be the reciprocal of Euclidean distance or Manhattan distance.
  • the candidate point is skipped.
  • the distance between the reference point and the point to be encoded is taken into consideration, so that at least one finally determined reference point is the encoded point closest to the point to be encoded. Since the attribute information of the points with close distances in the point cloud is strongly correlated, the accuracy of attribute prediction can be improved when the attribute information of the point to be encoded is predicted based on the attribute information of at least one reference point closest to the point to be encoded.
  • the embodiment of the present application further includes: sorting the determined reference points of the points to be coded according to the magnitude of the first weight. That is, for each candidate point, when judging whether the candidate point is the reference point of the point to be encoded, the first weight of the candidate point is usually compared with the minimum first weight of the determined reference point. Based on this, in order to facilitate the difference For the determined reference points corresponding to the smallest first weight, the determined reference points are sorted according to the magnitude of the first weight, for example, sorted according to the order of the first weight from large to small or from small to large. In this way, when judging whether the next candidate point is a reference point, the first weight can be obtained directly from the first or the end of the sorted determined reference points for comparison, so as to improve the judging efficiency of candidate points.
  • the above S903 includes S903-B1 and S903-B2:
  • the embodiment of the present application does not limit the method of selecting at least one initial reference point of the point to be encoded from within the search range of the reference point.
  • At least one candidate point closest to the point to be encoded in the attribute encoding sequence is selected as the initial reference point of the point to be encoded from within the search range of the reference point.
  • the reference point search range select at least one candidate point that is farthest from the point to be encoded under the attribute encoding order as the initial reference point of the point to be encoded.
  • At least one candidate point at any position in the attribute coding sequence is selected from the search range of the reference point as the initial reference point of the point to be coded.
  • the candidate points are used to supplement and/or replace at least one initial reference point to obtain at least one reference point closest to the point to be encoded, including but not limited to the following:
  • Way 1 When the number of at least one initial reference point is less than P, the candidate points are added to the initial reference point to obtain at least one new initial reference point.
  • Method 2 when the number of at least one initial reference point is greater than or equal to P and less than Q, if the first distance between the candidate point and the point to be encoded is less than or equal to the maximum second distance, the candidate point is added to at least one initial Among the reference points, at least one new initial reference point is obtained, and the second distance is the spatial distance between the initial reference point and the point to be encoded.
  • Mode 3 when the number of at least one initial reference point is equal to Q, if the first distance is less than the maximum second distance, use the candidate point to replace the initial reference point corresponding to the maximum second distance, or, if the first distance is equal to the maximum and the index of the candidate point is less than the index of the initial reference point corresponding to the largest second distance, then use the candidate point to replace the initial reference point corresponding to the largest second distance to obtain at least one new initial reference point.
  • the pre-selected initial reference point is supplemented or replaced by distance to ensure that the finally obtained reference point is the point with the closest spatial distance to the point to be encoded, so that based on the distance of at least one reference point closest to the point to be encoded Attribute information can improve the accuracy of attribute prediction when predicting the attribute of the point to be coded.
  • search for at least one reference point closest to the point to be encoded from within the reference point search range and then execute the following S904 to perform attribute prediction.
  • the arithmetic mean value of the reconstructed values of the attribute information of the at least one reference point determined above is determined as the predicted value of the attribute information of the point to be encoded.
  • the weighted average value of the reconstructed values of the attribute information of the at least one reference point determined above is determined as the predicted value of the attribute information of the point to be encoded.
  • the above S904 includes: S904-A1 and S904-A2:
  • each reference point in the at least one reference point determines the weighted average value of the reconstructed value of the attribute information of the at least one reference point as the predicted value of the attribute information of the point to be encoded.
  • the manner of determining the second weight of each reference point in the at least one reference point in S904-A1 includes but is not limited to the following:
  • Way 1 For each reference point in at least one reference point, the reciprocal of the distance between the reference point and the point to be encoded is determined as the second weight of the reference point.
  • the above-mentioned distance may be a Euclidean distance or a Manhattan distance, that is, the reciprocal of the Euclidean distance or the Manhattan distance between the reference point and the point to be encoded is determined as the second weight of the reference point.
  • the second weight of each of the above reference points is a preset weight value.
  • the second weights of the reference points may be the same or different.
  • the weighted average value of the reconstruction value of the attribute information of the at least one reference point Determined as the predicted value of the attribute information of the point to be encoded.
  • the predicted value of the attribute information of the point to be encoded is determined:
  • w 1i is the second weight of the i-th reference point
  • P in represents the predicted value
  • O represents the current point to be encoded
  • the reference point search range of the point to be encoded is searched for at least one reference point closest to the point to be encoded, and according to the found at least one reference point
  • N for example, 2
  • the present application also includes:
  • the point to be encoded is the first point of the point cloud in the attribute encoding order, then determine that the predicted value of the attribute information of the point to be encoded is a preset value; or,
  • the reconstruction value of the attribute information of the first point of the point cloud under the attribute encoding order is determined as the prediction of the attribute information of the point to be encoded value;
  • the point to be encoded is the third point of the point cloud in the attribute encoding order
  • the reconstruction value of the attribute information of the first point in the point cloud in the attribute encoding order and the reconstruction value of the attribute information of the second point to determine the predicted value of the attribute information of the point to be encoded, for example, the weighted average of the reconstructed value of the attribute information of the first point and the reconstructed value of the attribute information of the second point is determined as the value of the attribute information of the point to be encoded Predictive value.
  • the prediction method of the point cloud attribute of the embodiment of the present application obtains the reconstructed value of the attribute information of the encoded point of the point cloud; for the point to be encoded in the point cloud, when the index of the point to be encoded is greater than N, from the point cloud Among the encoded points, determine the reference point search range of the point to be encoded; within the reference point search range, find at least one reference point closest to the point to be encoded; determine the point to be encoded according to the reconstruction value of the attribute information of at least one reference point The predicted value of the attribute information of .
  • the present application when determining the reference point, the present application considers the distance between the reference point and the point to be encoded by means of a global search, so that at least one determined reference point is the encoded point with the closest spatial distance to the point to be encoded. Since the attribute information of points with close spatial distances in the point cloud is strongly correlated, the accuracy of attribute prediction can be improved when predicting the attributes of the points to be encoded based on the attribute information of at least one reference point closest to the point to be encoded. .
  • Fig. 10 is a schematic flow chart of a point cloud encoding method provided by an embodiment of the present application. As shown in Fig. 10, the point cloud encoding method of the embodiment of the present application includes:
  • preprocess the original geometric information of the point cloud normalize the geometric origin to the minimum value position in the point cloud space through coordinate translation, and convert the geometric information from floating point numbers to integers through coordinate quantization to facilitate subsequent regularization deal with.
  • geometrically encode the regularized geometric information use the octree structure to recursively divide the point cloud space, divide the current node into eight sub-blocks of the same size each time, and judge the occupancy of each sub-block. When the sub-block does not contain a point, it is recorded as empty, otherwise it is recorded as non-empty. In the last layer of recursive division, the occupied codeword information of all blocks is recorded and encoded to obtain the geometric code stream of the point cloud.
  • the M encoded points in the point cloud in the attribute encoding sequence before the point to be encoded are determined as the reference point search range of the point to be encoded, where M is greater than N.
  • the number of determined reference points of the point to be encoded is determined.
  • the candidate point is determined as a reference point of the point to be encoded.
  • the candidate point is determined as the point to be encoded A reference point, wherein the first weight of the target point is the reciprocal of the distance between the target point and the point to be encoded, and the target point is a candidate point or a determined reference point.
  • the candidate point When the number of determined reference points of the point to be encoded is equal to Q, and the first weight of the candidate point is greater than the minimum value of the first weight of the determined reference point, use the candidate point to replace the determined reference point corresponding to the minimum first weight value point.
  • the number of determined reference points at the point to be encoded is equal to Q
  • the first weight of the candidate point is equal to the minimum value among the first weights of the determined reference points
  • the index of the candidate point is less than the minimum value corresponding to the first weight
  • S105 Determine a predicted value of the attribute information of the point to be encoded according to the reconstructed value of the attribute information of at least one reference point.
  • the weighted average of the reconstructed values of the attribute information of the at least one reference point determined above is determined as the predicted value of the attribute information of the point to be encoded.
  • the present application also includes:
  • the point to be encoded is the first point of the point cloud in the attribute encoding order, then determine that the predicted value of the attribute information of the point to be encoded is a preset value; or,
  • the reconstruction value of the attribute information of the first point of the point cloud under the attribute encoding order is determined as the prediction of the attribute information of the point to be encoded value;
  • the point to be encoded is the third point of the point cloud in the attribute encoding order
  • the reconstruction value of the attribute information of the first point in the point cloud in the attribute encoding order and the reconstruction value of the attribute information of the second point to determine the predicted value of the attribute information of the point to be encoded, for example, the weighted average of the reconstructed value of the attribute information of the first point and the reconstructed value of the attribute information of the second point is determined as the value of the attribute information of the point to be encoded Predictive value.
  • the residual value of the attribute information of the point to be encoded is obtained, for example, the attribute information of the point to be encoded and the prediction of the attribute information of the point to be encoded
  • the difference between values is determined as the residual value of the attribute information of the point to be encoded.
  • the distance between the reference point and the point to be coded is considered through the method of global search, so that at least one reference point determined is the coded point with the closest spatial distance to the point to be coded. point.
  • the attribute information of the point to be encoded is predicted based on the attribute information of at least one reference point that is spatially closest to the point to be encoded, the accuracy of attribute prediction can be improved, thereby improving the attribute encoding efficiency of the point cloud.
  • FIGS. 7 to 10 are only examples of the present application, and should not be construed as limiting the present application.
  • sequence numbers of the above-mentioned processes do not mean the order of execution, and the order of execution of the processes should be determined by their functions and internal logic, and should not be used in this application.
  • the implementation of the examples constitutes no limitation.
  • the term "and/or" is only an association relationship describing associated objects, indicating that there may be three relationships. Specifically, A and/or B may mean: A exists alone, A and B exist simultaneously, and B exists alone.
  • the character "/" in this article generally indicates that the contextual objects are an "or" relationship.
  • Fig. 11 is a schematic block diagram of an apparatus for predicting point cloud attributes provided by an embodiment of the present application.
  • the prediction device 20 of this point cloud attribute can comprise:
  • the decoding unit 21 is used to decode the point cloud code stream to obtain the reconstruction value of the attribute information of the decoded point of the point cloud;
  • Range determining unit 22 for the point to be decoded in the point cloud, when the index of the point to be decoded is greater than N, from the decoded points of the point cloud, determine the reference point search range of the point to be decoded , wherein, the index of the point to be decoded is the order of the point to be decoded in the attribute decoding order, and N is a positive integer;
  • a search unit 23 configured to search for at least one reference point closest to the point to be decoded within the reference point search range;
  • the predicting unit 24 is configured to determine a predicted value of the attribute information of the point to be decoded according to the reconstructed value of the attribute information of the at least one reference point.
  • the above-mentioned range determination unit 22 is specifically configured to, when the index of the point to be decoded is greater than M, decode the M decoded points in the point cloud before the point to be decoded in the attribute decoding order , determined as the reference point search range of the point to be decoded, where M is greater than N; or,
  • the above search unit 23 is specifically configured to search for the distance from the point to be decoded within the search range of the reference point according to the sequence from near to far from the point to be decoded in the attribute decoding sequence. At least one closest reference point.
  • the number of the at least one reference point is greater than or equal to P and less than or equal to Q, wherein both P and Q are positive integers, and P is greater than Q.
  • the above search unit 23 is specifically configured to, for each candidate point within the search range of the reference point, when the number of determined reference points of the point to be decoded is less than the P, the The candidate point is determined as a reference point of the point to be decoded; or,
  • the number of the determined reference points at the point to be decoded is greater than or equal to the P and less than the Q, and the first weight of the candidate point is greater than or equal to the minimum of the first weights of the determined reference points value, determine the candidate point as a reference point of the point to be decoded, wherein the first weight of the target point is the reciprocal of the distance between the target point and the point to be decoded, and the target point is the said candidate point or said determined reference point; or,
  • the candidate point is used to replace the determined reference point corresponding to the smallest first weight value.
  • the searching unit 23 is further configured to sort the determined reference points of the points to be decoded according to the magnitude of the first weight.
  • the first weight of the target point is the reciprocal of the Euclidean distance or the Manhattan distance between the target point and the point to be decoded.
  • the prediction unit 24 is further configured to determine the predicted value of the attribute information of the point to be decoded if the point to be decoded is the first point in the point cloud in the attribute decoding sequence is the default value; or,
  • the reconstructed value of the attribute information of the first point in the point cloud in the attribute decoding sequence is determined as the The predicted value of the attribute information of the point to be decoded; or,
  • the point to be decoded is the third point of the point cloud in the attribute decoding order, then according to the reconstruction value of the attribute information of the first point in the attribute decoding order of the point cloud and the second point The reconstruction value of the attribute information of the point to be decoded is determined to determine the predicted value of the attribute information of the point to be decoded.
  • the prediction unit 24 is specifically configured to determine the second weight of each reference point in the at least one reference point; according to the second weight of each reference point in the at least one reference point, the The weighted average of the reconstructed values of the attribute information of at least one reference point is determined as the predicted value of the attribute information of the point to be decoded.
  • the predicting unit 24 is specifically configured to, for each reference point in the at least one reference point, determine the reciprocal of the distance between the reference point and the point to be decoded as the first of the reference points Two weights; or, determine the second weight of the reference point as a preset weight value.
  • the prediction unit 24 is specifically configured to determine the Euclidean distance or the reciprocal of the Manhattan distance between the reference point and the point to be decoded as the second weight of the reference point.
  • the attribute decoding order of the point cloud includes any one of a Morton order and a Hilbert order.
  • the N is a positive integer greater than or equal to 2.
  • the M is 128.
  • the P is 3.
  • the Q is 6.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the device 20 shown in FIG. 11 may correspond to the corresponding subject in the point cloud decoding method of the embodiment of the present application, and the aforementioned and other operations and/or functions of the various units in the device 20 are respectively in order to realize the point cloud decoding For the sake of brevity, the corresponding processes in the method are not repeated here.
  • Fig. 12 is a schematic block diagram of an apparatus for predicting point cloud attributes provided by an embodiment of the present application.
  • the prediction device 10 of this point cloud attribute can comprise:
  • An acquisition unit 11 configured to acquire the reconstructed value of the attribute information of the encoded point of the point cloud
  • Range determining unit 12 for the point to be encoded in the point cloud, when the index of the point to be encoded is greater than N, determine the reference point of the point to be encoded from the encoded points of the point cloud A search range, wherein the index of the point to be encoded is the order of the point to be encoded in the attribute encoding order, and N is a positive integer;
  • a search unit 13 configured to search for at least one reference point closest to the point to be encoded within the reference point search range
  • the predicting unit 14 is configured to determine a predicted value of the attribute information of the point to be encoded according to the reconstructed value of the attribute information of the at least one reference point.
  • the range determination unit 12 is specifically configured to, when the index of the point to be encoded is greater than M, encode the M encoded points in the point cloud before the point to be encoded in the attribute encoding sequence, Determine the reference point search range of the point to be encoded, where M is greater than N; or,
  • the search unit 13 is specifically configured to search for the closest distance to the point to be coded within the search range of the reference point according to the sequence from near to far away from the point to be coded in the attribute code sequence. at least one reference point for .
  • the number of the at least one reference point is greater than or equal to P and less than or equal to Q, wherein both P and Q are positive integers, and P is greater than Q.
  • the search unit 13 is specifically configured to, for each candidate point within the search range of the reference point, when the number of determined reference points of the point to be encoded is less than the P, the candidate The point is determined as a reference point of the point to be coded; or,
  • the number of the determined reference points at the point to be encoded is greater than or equal to the P and less than the Q, and the first weight of the candidate point is greater than or equal to the minimum of the first weights of the determined reference points value, determine the candidate point as a reference point of the point to be encoded, wherein the first weight of the target point is the reciprocal of the distance between the target point and the point to be encoded, and the target point is the said candidate point or said determined reference point;
  • the candidate point is used to replace the determined reference point corresponding to the smallest first weight value.
  • the search unit 13 is further configured to sort the determined reference points of the points to be encoded according to the magnitude of the first weight.
  • the first weight of the target point is the reciprocal of the Euclidean distance or the Manhattan distance between the target point and the point to be encoded.
  • the prediction unit 14 is further configured to determine that the predicted value of the attribute information of the point to be encoded is default value; or,
  • the reconstruction value of the attribute information of the first point in the attribute encoding order of the point cloud is determined as the The predicted value of the attribute information of the point to be encoded; or,
  • the point to be encoded is the third point of the point cloud in the attribute encoding order, then according to the reconstruction value of the attribute information of the first point in the attribute encoding order of the point cloud and the second point The reconstructed value of the attribute information of the point to be encoded is used to determine the predicted value of the attribute information of the point to be encoded.
  • the prediction unit 14 is specifically configured to determine the second weight of each reference point in the at least one reference point; according to the second weight of each reference point in the at least one reference point, the The weighted average of the reconstructed values of the attribute information of at least one reference point is determined as the predicted value of the attribute information of the point to be encoded.
  • the predicting unit 14 is specifically configured to, for each reference point in the at least one reference point, determine the reciprocal of the distance between the reference point and the point to be encoded as the first of the reference points Two weights; or, determine the second weight of the reference point as a preset weight value.
  • the prediction unit 14 is specifically configured to determine the Euclidean distance or the reciprocal of the Manhattan distance between the reference point and the point to be encoded as the second weight of the reference point.
  • the attribute encoding order of the point cloud includes any one of Morton order and Hilbert order.
  • the N is a positive integer greater than or equal to 2.
  • the M is 128.
  • the P is 3.
  • the Q is 6.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the device 10 shown in FIG. 12 may correspond to the corresponding subject in the point cloud encoding method of the embodiment of the present application, and the aforementioned and other operations and/or functions of each unit in the device 10 are for realizing the point cloud encoding For the sake of brevity, the corresponding processes in the method are not repeated here.
  • the functional unit may be implemented in the form of hardware, may also be implemented by instructions in the form of software, and may also be implemented by a combination of hardware and software units.
  • each step of the method embodiment in the embodiment of the present application can be completed by an integrated logic circuit of the hardware in the processor and/or instructions in the form of software, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as hardware
  • the decoding processor is executed, or the combination of hardware and software units in the decoding processor is used to complete the execution.
  • the software unit may be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, and registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiments in combination with its hardware.
  • Fig. 13 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
  • the electronic device 30 may be a point cloud decoder or a point cloud encoder according to the embodiment of the present application, and the electronic device 30 may include:
  • a memory 33 and a processor 32 the memory 33 is used to store a computer program 34 and transmit the program code 34 to the processor 32 .
  • the processor 32 can call and run the computer program 34 from the memory 33 to implement the method in the embodiment of the present application.
  • the processor 32 can be used to execute the steps in the above-mentioned method 200 according to the instructions in the computer program 34 .
  • the processor 32 may include, but is not limited to:
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the memory 33 includes but is not limited to:
  • non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • the volatile memory can be Random Access Memory (RAM), which acts as external cache memory.
  • RAM Static Random Access Memory
  • SRAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • Synchronous Dynamic Random Access Memory Synchronous Dynamic Random Access Memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM, DDR SDRAM double data rate synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous connection dynamic random access memory
  • Direct Rambus RAM Direct Rambus RAM
  • the computer program 34 can be divided into one or more units, and the one or more units are stored in the memory 33 and executed by the processor 32 to complete the present application.
  • the one or more units may be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program 34 in the electronic device 30 .
  • the electronic device 30 may also include:
  • a transceiver 33 the transceiver 33 can be connected to the processor 32 or the memory 33 .
  • the processor 32 can control the transceiver 33 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices.
  • Transceiver 33 may include a transmitter and a receiver.
  • the transceiver 33 may further include antennas, and the number of antennas may be one or more.
  • bus system includes not only a data bus, but also a power bus, a control bus and a status signal bus.
  • the present application also provides a computer storage medium, on which a computer program is stored, and when the computer program is executed by a computer, the computer can execute the methods of the above method embodiments.
  • the embodiments of the present application further provide a computer program product including instructions, and when the instructions are executed by a computer, the computer executes the methods of the foregoing method embodiments.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transferred from a website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a tape), an optical medium (such as a digital video disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)), etc. .
  • a magnetic medium such as a floppy disk, a hard disk, or a tape
  • an optical medium such as a digital video disc (DVD)
  • a semiconductor medium such as a solid state disk (SSD)
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • a unit described as a separate component may or may not be physically separated, and a component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

本申请提供一种点云属性的预测方法、装置及编解码器,该方法包括:获得点云的已解码点的属性信息的重建值;对于点云中的待解码点,在待解码点的索引大于N时,从点云的已解码点中,确定待解码点的参考点查找范围;在参考点查找范围内,查找距离待解码点最近的至少一个参考点;根据至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。即本申请在确定参考点时,通过全局搜索的方法,以参考点与待解码点之间的距离为考量,进而使得确定的参考点为距离待解码点空间距离最近的已解码点,基于空间距离待解码点最近的至少一个参考点的属性信息进行属性预测时,可以提高属性预测的准确性。

Description

点云属性的预测方法、装置及编解码器 技术领域
本申请涉及点云技术领域,尤其涉及一种点云属性的预测方法、装置及编解码器。
背景技术
通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的点。在视频制作过程中,将点云数据以点云媒体文件的形式在点云编码设备和点云解码设备之间传输。但是,如此庞大的点给传输带来了挑战,因此,点云编码设备需要对点云数据进行压缩后传输。
目前通过预测来减少或消除点云数据中的冗余信息,以实现点云数据的压缩。但是目前的点云预测准确性差。
发明内容
本申请实施例提供了一种点云属性的预测方法、装置及编解码器,以提高点云的预测准确性。
第一方面,本申请实施例提供一种点云属性的预测方法,包括:
解码点云码流,得到点云的已解码点的属性信息的重建值;
对于所述点云中的待解码点,在所述待解码点的索引大于N时,从所述点云的已解码点中,确定所述待解码点的参考点查找范围,其中,所述待解码点的索引为所述待解码点在属性解码顺序中的排序,N为正整数;
在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点;
根据所述至少一个参考点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
第二方面,本申请提供了一种点云属性的预测方法,包括:
获取点云的已编码点的属性信息的重建值;
对于所述点云中的待编码点,在所述待编码点的索引大于N时,从所述点云的已编码点中,确定所述待编码点的参考点查找范围,其中,所述待编码点的索引为所述待编码点在属性编码顺序中的排序,N为正整数;
在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点;
根据所述至少一个参考点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
第三方面,提供了一种点云属性的预测装置,用于执行上述第一方面或其各实现方式中的方法。具体地,该装置包括用于执行上述第一方面或其各实现方式中的方法的功能单元。
第四方面,提供了一种点云属性的预测装置,用于执行上述第二方面或其各实现方式中的方法。具体地,该装置包括用于执行上述第二方面或其各实现方式中的方法的功能单元。
第五方面,提供了一种点云解码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种点云解码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种芯片,用于实现上述第一方面至第二方面中的任一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
基于以上技术方案,通过获取点云的已解码点的属性信息的重建值;对于点云中的待解码点,在待解码点的索引大于N时,从点云的已解码点中,确定待解码点的参考点查找范围;在参考点查找范围内,查找距离待解码点最近的至少一个参考点;根据至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。即本申请在确定参考点时,通过全局搜索的方法,以参考点与待解码点之间的距离为考量,进而使得确定的至少一个参考点为距离待解码点空间距离最近的已解码点。由于点云中空间距离较近的各点的属性信息相关性强,这样基于空间距离待解码点最近的参考点的属性信息进行属性预测时,可以提高属性预测的准确性。
附图说明
图1A为三维点云图像的示意图;
图1B为三维点云图像的局部放大示意图;
图2为本申请实施例涉及的一种点云编解码系统的示意性框图;
图3是本申请实施例提供的点云编码器的示意性框图;
图4是本申请实施例提供的点云解码器的示意性框图;
图5A是点云的一种包围盒的示意图;
图5B是点云的另一种包围盒的示意图;
图6A为一种莫顿顺序示意图;
图6B为一种莫顿顺序示意图;
图6C为一种莫顿顺序示意图;
图6D为一种莫顿顺序示意图;
图7为本申请一实施例提供的点云属性的预测方法的流程示意图;
图8为本申请一实施例提供的点云解码方法的流程示意图;
图9为本申请一实施例提供的点云属性的预测方法的流程示意图;
图10为本申请一实施例提供的点云编码方法的流程示意图;
图11是本申请一实施例提供的点云属性的预测装置的示意性框图;
图12是本申请一实施例提供的点云属性的预测装置的示意性框图;
图13是本申请实施例提供的电子设备的示意性框图。
具体实施方式
本申请可应用于点云上采样技术领域,例如可以应用于点云压缩技术领域。
为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
点云(Point Cloud)是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集,例如图1A所示的三维点云图像,以及图1B所示的图1A中局部放大的点云图像,可以看到点云表面是由分布稠密的点所组成的。
点云数据(Point Cloud Data)是点云的具体记录形式,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,所述颜色信息可以是任意一种色彩空间上的信息。例如,所述颜色信息可以是(RGB)。再如,所述颜色信息可以是于亮度色度(YcbCr,YUV)信息。例如,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色,U和V表示为色度(Chroma)用于描述色差信息。例如,根据激光测量原理得到的点云,所述点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,所述点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,所述点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
点云可以按获取的途径分为:密集型点云和稀疏性点云。
点云按照数据的时序类型划分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
点云可以灵活方便地表达三维物体或场景的空间结构及表面属性,并且由于点云通过直接对真实物体采样获得,在保证精度的前提下能提供极强的真实感,因而应用广泛,其范围包括虚拟现实游戏、计算机辅助设计、地理信息系统、自动导航系统、数字文化遗产、自由视点广播、三维沉浸远程呈现、生物组织器官三维重建等。
点云数据的获取途径可以包括但不限于以下至少一种:(1)计算机设备生成。计算 机设备可以根据虚拟三维物体及虚拟三维场景的生成点云数据。(2)3D(3-Dimension,三维)激光扫描获取。通过3D激光扫描可以获取静态现实世界三维物体或三维场景的点云数据,每秒可以获取百万级点云数据;(3)3D摄影测量获取。通过3D摄影设备(即一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集以获取现实世界的视觉场景的点云数据,通过3D摄影可以获得动态现实世界三维物体或三维场景的点云数据。(4)通过医学设备获取生物组织器官的点云数据。在医学领域可以通过磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)、电磁定位信息等医学设备获取生物组织器官的点云数据。
这些技术降低了点云数据获取成本和时间周期,提高了数据的精度。点云数据获取方式的变革,使大量点云数据的获取成为可能,伴随着应用需求的增长,海量3D点云数据的处理遭遇存储空间和传输带宽限制的瓶颈。
以帧率为30fps(帧每秒)的点云视频为例,每帧点云的点数为70万,每个点具有坐标信息xyz(float)和颜色信息RGB(uchar),则10s点云视频的数据量大约为0.7million·(4Byte·3+1Byte·3)·30fps·10s=3.15GB,而YUV采样格式为4:2:0,帧率为24fps的1280·720二维视频,其10s的数据量约为1280·720·12bit·24frames·10s≈0.33GB,10s的两视角3D视频的数据量约为0.33·2=0.66GB。由此可见,点云视频的数据量远超过相同时长的二维视频和三维视频的数据量。因此,为更好地实现数据管理,节省服务器存储空间,降低服务器与客户端之间的传输流量及传输时间,点云压缩成为促进点云产业发展的关键问题。
点云压缩一般包括点云几何信息和属性信息的压缩,下面对点云压缩的相关知识进行介绍。
图2为本申请实施例涉及的一种点云编解码系统的示意性框图。需要说明的是,图2只是一种示例,本申请实施例的点云编解码系统包括但不限于图2所示。如图2所示,该点云编解码系统100包含编码设备110和解码设备120。其中编码设备用于对点云数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的点云数据。
本申请实施例的编码设备110可以理解为具有点云编码功能的设备,解码设备120可以理解为具有点云解码功能的设备,即本申请实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、点云游戏控制台、车载计算机等。
在一些实施例中,编码设备110可以经由信道130将编码后的点云数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的点云数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
在一个实例中,信道130包括使编码设备110能够实时地将编码后的点云数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的点云数据,且将调制后的点云数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的点云数据。存储介质包含多种本地存取式数据存储介质,例如光盘、DVD、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的点云数据。
在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的点云数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的点云数据。可选的,该存储服务器可以存储编码后的点云数据且可以将该编码后的点云数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(FTP)服务器等。
一些实施例中,编码设备110包含点云编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
在一些实施例中,编码设备110除了包括点云编码器112和输入接口113外,还可以包括点云源111。
点云源111可包含点云采集装置(例如,扫描仪)、点云存档、点云输入接口、计算机图形系统中的至少一个,其中,点云输入接口用于从点云内容提供者处接收点云数据,计算机图形系统用于产生点云数据。
点云编码器112对来自点云源111的点云数据进行编码,产生码流。点云编码器112经由输出接口113将编码后的点云数据直接传输到解码设备120。编码后的点云数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
在一些实施例中,解码设备120包含输入接口121和点云解码器122。
在一些实施例中,解码设备120除包括输入接口121和点云解码器122外,还可以包括显示装置123。
其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的点云数据。
点云解码器122用于对编码后的点云数据进行解码,得到解码后的点云数据,并将解码后的点云数据传输至显示装置123。
显示装置123显示解码后的点云数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
此外,图2仅为实例,本申请实施例的技术方案不限于图2,例如本申请的技术还可以应用于单侧的点云编码或单侧的点云解码。
目前的点云编码器或点云解码器可以采用运动图像专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以采用音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC及AVS-PCC均针对静态的稀疏型点云,其编码框架大致相同。G-PCC编解码框架可用于针对第一静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。点云压缩框还包括点云压缩参考平台(Point  Cloud Reference Model,PCRM)。
下面以PCRM编解码框架为例,对本申请实施例可适用的点云编码器和点云解码器进行说明。
图3是本申请实施例提供的点云编码器的示意性框图。
由上述可知点云中的点可以包括点的位置信息和点的属性信息,因此,点云中的点的编码主要包括位置编码和属性编码。在一些示例中点云中点的位置信息又称为几何信息,对应的点云中点的位置编码也可以称为几何编码。
在编码端,首先在几何编码部分编码点云几何信息,然后将重建几何信息作为附加信息输入到属性编码部分中,辅助点云属性的压缩。整个编码器由预处理、几何编码、属性编码几部分组成。
位置编码的过程包括:首先对原始几何信息进行预处理,例如通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点数转化为整形,便于后续的规则化处理。接着,对规则化的几何信息进行几何编码,例如采用八叉树结构对点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内不包含点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码。其中,通过八叉树结构表达的几何信息一方面输入到几何熵编码器中形成几何码流,一方面在编码器内进行几何重建处理,重建后的几何信息作为附加信息输入到属性编码部分中。
属性编码过程包括:首先对原始属性信息进行预处理,由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色,此外,如果处理的属性信息为颜色信息,还需要将原始颜色进行颜色空间变换,将其转变成更符合人眼视觉特性的YUV色彩空间。接着,对预处理后属性信息进行属性编码,属性编码首先需要将点云进行重排序,重排序的方式例如是莫顿码,因此属性编码的遍历顺序为莫顿顺序,PCRM中的属性预测方法为基于莫顿顺序的单点预测,即按照莫顿顺序从当前待编码点向前回溯一个点,找到的点为当前待编码点的预测参考点。然后,根据预测参考点的属性重建值确定当前待编码点的属性预测值,属性残差为当前待编码点的属性值与属性预测值之间的差值;最后对残差进行量化,将量化残差输入到属性熵编码器中形成属性码流。
下面对图3所示的点云编码器中的各单元进行介绍。
如图3所示,位置编码可通过以下单元实现:
坐标平移单元201、坐标量化单元202、八叉树构建单元203、几何重建单元204以及几何熵编码单元205。
坐标平移单元201可用于将点云中点的世界坐标变换为相对坐标。例如,点的几何坐标分别减去xyz坐标轴的最小值,相当于去直流操作,以实现将点云中的点的坐标从世界坐标转换为相对坐标。
坐标量化单元202可通过量化减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标,基于此,可通过去重操作将重复的点删除;例如,具有相同量化位置和不同属性信息的多个云可通过属性转换合并到一个云中。坐标量化可以将几何信息从浮点数转化为整形,便于后续的规则化处理。在本申请的一些实施例中,坐标量化单元202为可 选的单元模块。
八叉树构建单元203可利用八叉树(octree)编码方式编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。
几何重建单元204可以基于八叉树构建单元203输出的位置信息进行位置重建,得到点云数据中各点的位置信息的重建值。
几何熵编码单元205可以采用熵编码方式对八叉树构建单元203输出的位置信息进行算术编码,即将八叉树构建单元203输出的位置信息利用算术编码方式生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
颜色空间转换(Transform colors)单元210、属性重上色单元211、属性预测单元213、量化单元214以及属性熵编码单元214。
需要说明的是,点云编码器200可包含比图3更多、更少或不同的功能组件。
颜色空间转换单元210可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。
属性重上色单元211由于几何信息在几何编码之后有所异动,因此需要为几何编码后的每一个点重新分配属性值,这个过程叫做属性重上色。
属性预测单元213可包括:区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)、预测变化(predicting transform)以及提升变化(lifting transform)等。换言之,RAHT、预测变化以及提升变化214中的任一项可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的原始值减去点的属性信息的预测值。
在本申请的一实施例中,属性预测单元213还可用于生成细节层(level of detail,LOD)。LOD的生成过程包括:根据点云中点的位置信息,获取点与点之间的欧式距离;根据欧式距离,将点分为不同的细节表达层。在一个实施例中,可以将欧式距离进行排序后,将不同范围的欧式距离划分为不同的细节表达层。例如,可以随机挑选一个点,作为第一细节表达层。然后计算剩余点与该点的欧式距离,并将欧式距离符合第一阈值要求的点,归为第二细节表达层。获取第二细节表达层中点的质心,计算除第一、第二细节表达层以外的点与该质心的欧式距离,并将欧式距离符合第二阈值的点,归为第三细节表达层。以此类推,将所有的点都归到细节表达层中。通过调整欧式距离的阈值,可以使得每层LOD层的点的数量是递增的。应理解,LOD划分的方式还可以采用其它方式,本申请对此不进行限制。
需要说明的是,可以直接将点云划分为一个或多个细节表达层,也可以先将点云划分为多个点云切块(slice),再将每一个点云切块划分为一个或多个LOD层。
例如,可将点云划分为多个点云切块,每个点云切块的点的个数可以在55万-110万之间。每个点云切块可看成单独的点云。每个点云切块又可以划分为多个细节表达层,每个细节表达层包括多个点。在一个实施例中,可根据点与点之间的欧式距离,进行细节表达层的划分。
量化单元214可用于量化点的属性信息的残差值。例如,若所述量化单元214和所述属性预测单元213相连,则所述量化单元214可用于量化所述属性预测单元213输出的点的属性信息的残差值。例如,对属性预测单元213输出的点的属性信息的残差值使用量化步长进行量化,以实现提升系统性能。
属性熵编码单元214可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。所述属性码流可以是比特流信息。
图4是本申请实施例提供的点云解码器的示意性框图。
如图4所示,解码器300可以从编码设备获取点云码流,通过解析码得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
位置解码的过程包括:首先对几何码流进行熵解码,得到每个节点的几何信息,然后按照和几何编码相同的方式构建八叉树结构,结合解码几何重建出坐标变换后的、通过八叉树结构表达的几何信息,一方面将该信息进行坐标反量化和反平移,得到解码几何信息,一方面作为附加信息输入到属性解码器中。
属性解码过程包括:按照与编码端相同的方式构建莫顿顺序,先对属性码流进行熵解码,得到量化后的残差信息;然后进行反量化,得到点云残差。按照与属性编码相同的方式,获得当前待解码点的属性预测值,然后将属性预测值与残差值相加,可以恢复出当前待解码点的YUV属性值。最后,经过颜色空间反变换得到解码属性信息。
如图4所示,位置解码可通过以下单元实现:
几何熵解码单元301、八叉树构建单元302、坐标反量化单元304以及坐标反平移单元305。
属性编码可通过以下单元实现:
属性熵解码单元310、反量化(inverse quantize)单元311、预测单元312以及颜色空间反转换(inverse trasform colors)单元313。
需要说明的是,解压缩是压缩的逆过程,类似的,解码器300中的各个单元的功能可参见编码器200中相应的单元的功能。另外,点云解码器300可包含比图4更多、更少或不同的功能组件。
例如,解码器300可根据点云中点与点之间的欧式距离将点云划分为多个LOD;然后,依次对LOD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架200可基于解码出的残差值进行反量化,并基于反量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LOD中点的最邻近点,并利用当前点的重建值对后续点的属性信息进行预测。
上述是基于PCRM编解码框架下的点云编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本申请适用于该基于PCRM编解码框架下的点云编解码器的基本流程,但不限于该框架及流程。
下面对点云的规则化处理过程进行介绍。
由于点云在空间中无规则分布的特性,给编码过程带来挑战,因此采用递归八叉树 的结构,将点云中的点规则化地表达成立方体的中心。如图5A,首先将整幅点云放置在一个正方体包围盒内,点云中点的坐标表示为(x k,y k,z k),k=0,…,K-1,其中K是点云的总点数,点云在x、y、z方向上的边界值分别为:
x min=min(x 0,x 1,…,x K-1)
y min=min(y 0,y 1,…,y K-1)
z min=min(z 0,z 1,…,z K-1)
x max=max(x 0,x 1,…,x K-1)
y max=max(y 0,y 1,…,y K-1)
z max=max(z 0,z 1,…,z K-1)
则包围盒的原点(x origin,y origin,z origin)可以计算如下:
x origin=int(floor(x min))
y origin=int(floor(y min))
z origin=int(floor(z min))
包围盒在x、y、z方向上的尺寸可以计算如下:
BoudingBoxSize x=int(x max-x origin)+1
BoudingBoxSize y=int(y max-y origin)+1
BoudingBozSize z=int(z max-z origin)+1
接着,如图5B所示,首先对包围盒进行八叉树划分,每次得到八个子块,然后对子块中的非空块(包含点的块)进行再一次的八叉树划分,如此递归划分直到某个深度,将最终大小的非空子块称作voxel,每个voxel中包含一个或多个点,将这些点的几何位置归一化为voxel的中心点,该中心点的属性值取voxel中所有点的属性值的平均值。
将点云规则化为空间中的块,有利于点云中点与点的关系描述,进而能够表达特定的编码顺序,按照一定的顺序编码每一个voxel,即编码voxel所代表的点(或称“节点”),一种常用的编码顺序为交叉分离式的莫顿顺序。图6A至图6C展示了莫顿码在二维空间中的编码顺序,以8*8大小的块为例,其中箭头的顺序表示莫顿顺序下点的编码顺序。图6A为块中2*2个像素的“z”字形莫顿顺序示意图,图6B为4个2*2块之间的“z”字形莫顿顺序示意图,图6C为4个4*4块之间的“z”字形莫顿顺序示意图,组成为整个8*8块的莫顿顺序。扩展到三维空间中的莫顿顺序如图6D所示,图6D中展示了16个节点,每个“z”字内部以及每个“z”与“z”之间的莫顿顺序均是先沿x轴方向编码,再沿y轴,最后沿z轴。
本申请实施例涉及点云压缩中的属性预测部分。属性预测过程中,首先需要确定当前点的预测参考点,根据当前点的预测参考点的属性信息,确定当前点的属性信息的预测值。
在一些实施例中,根据点云中点与点之间的几何关系,例如,从与当前点几何共面、共线、共点的已编码点中选取当前点的预测参考点。也就是说,当前点的预测参考点必须满足如下两个条件:
条件1,与当前节点满足共面、共线、共点关系;
条件2,在当前点之前编码完成。
举例说明,假设当前点O的序号为7,共有6个面,12条边,8个点,假设与当前点O共面节点有3、5、6、14、21、35,假设与当前点O共线节点有1、2、4、10、12、17、20、28、33、34、42、49,假设与当前点O共点节点有0、8、16、24、32、40、48、56。
在上述与当前点共面共线共点的已编码点中,选取当前点的预测参考点,假设上述与当前点共面且已编码的点为:3、5、6,与当前点共线且已编码的点为:1、2、4、10、12、17、20、33、34,与当前点共点且已编码的点为:0、8、16、24、32、40、48,因此当前点的预测参考点从上述:共面的点3、5、6,共线的点1、2、4、10、12、17、20、33、34,共点的点0、8、16、24、32、40、48当中产生。
由上述实施例可知,该实施例确定当前点的预测参考点的过程复杂,由于点云中相邻点之间通常具有相似的属性信息,但该实施例选取的预测参考点不一定是距离当前点距离最近的点,进而导致当前点的属性预测不准确。
为了解决上述技术问题,本申请实施例提供了一种点云属性的预测方法,通过从当前点的已编码点中查询距离当前点最近的至少一个点作为当前点的预测参考点,进而保证了预测参考点为距离当前点最近的点,这样根据距离当前点最近的预测参考点的属性信息,可以准确确定出当前点的属性信息的预测值,进而提高了点云属性预测的准确性,且整个预测过程简单,易于实现。
下面结合具体的实施例,对本申请实施例涉及的点云属性的预测方法进行介绍。
首先以解码端为例。
图7为本申请一实施例提供的点云属性的预测方法的流程示意图,本申请实施例的执行主体可以为上述图4所示的解码器,也可以是解码器中的部分元件。如图7所示,点云属性的预测方法包括:
S701、解码点云码流,得到点云的已解码点的属性信息的重建值。
点云码流包括属性码流和几何码流,解码几何码流可以得到点云的几何信息,解码属性码流可以得到点云的属性信息。
具体是,如图4所示,对几何码流进行几何熵解码,得到点云中每个点的几何信息,对解码出点云的几何信息构建八叉树重建,例如采用八叉树结构对点云空间进行递归划分,每次将当前块划分成八个相同大小的子块,得到点云的八叉树结构表达的几何信息。对八叉树结构表达的几何信息进行反量化以及反变换后,得到点云的几何信息的重建值并输出。另一方面,点云的几何信息的重建值输入点云的属性解码部分,参与点云的属性解码,得到点云中已解码点的属性信息的重建值。
S702、对于点云中的待解码点,在待解码点的索引大于N时,从点云的已解码点中,确定待解码点的参考点查找范围。
其中,待解码点的索引为待解码点在属性解码顺序中的排序,N为正整数。
在点云的属性解码中,按照点云的属性解码顺序对点云中的点的属性信息进行解码。
本申请实施例对点云的属性解码顺序的具体形式不做限制,可以根据实际需要进行确定。
在一种示例中,上述点云的属性解码顺序可以为莫顿顺序。莫顿码可以将多维数据 转化为一维数据编码,根据一维编码位数可确定多维数据保留精度,是一种比较常用的压缩编码方法,其编解码顺序按照空间z序。
在一种示例中,上述点云的属性解码顺序可以为希尔伯特(Hilbert)顺序。Hilbert顺序也称为Hilbert曲线,是将多维空间转换为一维空间且很好地保留了空间邻近性。
在一种示例中,点云的属性解码顺序还可以是先沿着y方向解码,再沿着x方向解码,最后沿着z方向解码;也可以是先沿着y方向解码,再沿着z方向解码,最后沿着x方向解码;也可以是先沿着x方向解码,再沿着z方向解码,最后沿着y方向解码;也可以是先沿着z方向解码,再沿着x方向解码,最后沿着y方向解码;也可以是先沿着z方向解码,再沿着y方向解码,最后沿着x方向解码。
需要说明的是,上述只是本申请实施例涉及的两种属性解码顺序的具体示例,本申请实施例的属性解码顺序包括但不限于如上两种。
需要说明的是,上述待解码点也可以称为当前点,或者当前待解码点,或当前待处理点等。
在一种可能的实现方式中,属性解码顺序中各点的索引从0开始,例如,点云中包括100个点,则该点云中点在属性解码顺序下的索引为0至99。也就是说,在属性解码顺序下点云中的第一个点的索引为0,第二个点的索引为1。
可选的,上述N大于或等于2,也就是说,待解码点为属性解码顺序下点云中第3个点以后的任意一个属性信息未解码的点。
对于点云中当前待解码点,在确定该待解码点的属性信息的重建值之前,需要确定该待解码点的属性信息的预测值,而确定该待解码点的属性信息的预测值时,首先需要确定该待解码点的参考点。
具体是,在该待解码点的索引大于N,例如待解码点为点云中第3个点以后的未解码点时,从属性解码顺序下点云的已解码点中,确定该待解码点的参考点查找范围,进而保证参考点查找范围内的各候选点均为已解码点,进而保证了参考点查找的有效性。
本申请实施例中,根据待解码点的索引不同,也就是待解码点之前的已解码点的数量不同,确定待解码点的参考点查找范围的方式也不相同。
在一些实施例中,上述S702中确定待解码点的参考点查找范围的方式包括但不限于如下几种:
方式一,在待解码点的索引大于M时,将属性解码顺序下点云中位于待解码点之前的M个已解码点,确定为待解码点的参考点查找范围,其中M大于N。
需要说明的是,本申请实施例对上述N、M的具体取值不做限制,只有N、M均为正整数,且M大于N即可。
在一种示例中,上述M=2 s,其中s为大于1的正整数,例如M为4、32、64、256等。
在一种示例中,上述M=128。也就是说,在待解码点的索引大于128时,说明待解码点之前已有至少128个已解码点,这样,为了降低索引数据量,则将属性解码顺序下点云中位于待解码点之前的M个已解码点,确定为待解码点的参考点查找范围。
例如,待解码点的索引为300,则确定待解码点的参考点查找范围为属性解码顺序下点云中索引为299至172的已解码点。
方式二,在待解码点的索引大于N且小于或等于M时,例如待解码点为点云中第4个点至第127个点中的任意一个未解码的点时,为了提高确定的参考点的准确性,则将属性解码顺序下点云中位于待解码点之前的所有已解码点,确定为待解码点的参考点查找范围。
例如,待解码点的索引为60,则确定待解码点的参考点查找范围为属性解码顺序下点云中索引为0至59的所有已解码点。
根据上述方式,从属性解码顺序下点云的已解码点中,确定出待解码点的参考点查找范围后,执行如下S703。
S703、在参考点查找范围内,查找距离待解码点最近的至少一个参考点。
在一些实施例中,参考点也称为预测参考点,或预测点等。
在一种可能的实现方式中,上述S703包括:在参考点查找范围内,查找距离待解码点最近的R个点作为待解码点的参考点。
具体是,针对参考点查找范围内每个候选点,根据每个候选点的几何信息和待解码点的几何信息,计算每个候选点与待解码点之间的距离,将距离最小的前R个候选点,确定为待解码点的参考点。
本实施例对上述R的具体取值不做限制,具体根据实际需要设定。
可选的,上述R=3。
在一些实施例中,本步骤在参考点查找范围内,查找距离待解码点最近的至少一个参考点时,根据属性解码顺序中与所述待解码点从近到远的顺序进行查找。例如,先计算属性解码顺序中位于待解码点前的第一个候选点与待解码点之间的距离,再计算代解码点前的第二个候选点与待解码点之间的距离,以此类推。
在一种实施例中,本申请实施例还对待解码点的至少一个参考点的数量进行了限定,例如,限定待解码点的至少一个残差点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
本申请实施例对P、Q的具体取值不做限制。
在一种示例中,P=3。
在一种示例中,Q=6。
在该实施例中,在参考点查找范围内查找待解码点的参考点的数量,最少查找出P个参考点,例如3个参考点,最多查找出Q个参考点,例如6个参考点。
针对参考点查找范围内的每一个候选点,确定候选点是否为待解码点的参考点的具体过程相同,且整个过程为迭代过程。
在一种可能的实现方式中,S703中在参考点查找范围内,查找距离待解码点最近的至少一个参考点的方式包括如下步骤:
S703-A1,针对参考点查找范围内的每个候选点,首先,确定待解码点的已确定参考点的数量。在待解码点的已确定参考点的数量小于P时,执行如下S703-A2;在待解码点的已确定参考点的数量大于或等于P且小于Q,执行如下S703-A3;在待解码点的已确定参考点的数量等于Q,执行如下S703-A4。
S703-A2、在待解码点的已确定参考点的数量小于P时,将候选点确定为待解码点的一个参考点。
在该情况下,待解码点已确定参考点的数量小于待解码点的参考点数量的最小值,此时,直接将该候选点确定为待解码点的一个参考点,存储在待解码点的参考点缓存中。
S703-A3、在待解码点的已确定参考点的数量大于或等于P且小于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,将候选点确定为待解码点的一个参考点,其中目标点的第一权重是目标点与待解码点之间距离的倒数,目标点为候选点或已确定参考点。
在该情况下,待解码点已确定参考点的数量大于或等于待解码点的参考点数量的最小值,但没有达到最大值。此时,为了保证将距离待解码点较远的点确定为参考点,则需要对该候选点的第一权重与当前已确定参考点的第一权重进行比较,若该候选点的第一权重大于或等于已确定参考点的第一权重中的最小值,则说明该候选点距离待解码点较近,则将该候选点确定为待解码点的一个参考点,并存储在待解码点的参考点缓存中。
在一种示例中,若该候选点的第一权重小于已确定参考点的第一权重中的最小值,则说明该候选点距离待解码点较远,则跳过该候选点。
可选的,目标点的第一权重是目标点与待解码点之间距离的倒数,目标点可以为候选点或已确定参考点。也就是说,将候选点与待解码点之间的距离的倒数确定为候选点的第一权重,候选点的第一权重越大,表示候选点距离待解码点越近,候选点的第一权重越小,则表示候选点距离待解码越远。将已确定参考点与待解码点之间的距离的倒数确定为已确定参考点的第一权重,已确定参考点的第一权重越大,表示已确定参考点距离待解码点越近,已确定参考点的第一权重越小,则表示已确定参考点距离待解码越远。即本申请实施例通过第一权重来比较点云中两点之间的距离。
可选的,上述第一权重可以为欧式距离或曼哈顿距离的倒数。
S703-A4,在待解码点的已确定参考点的数量等于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,使用候选点替换最小第一权重值对应的已确定参考点。或者,在待解码点的已确定参考点的数量等于Q,且候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用候选点替换最小第一权重值对应的已确定参考点。
在该情况下,待解码点已确定参考点的数量已达到待解码点的参考点数量的最大值,此时对参考点缓存中已确定参考点进行替换。具体是,当该候选点的第一权重大于已确定参考点的第一权重中的最小值时,说明该候选点距离待解码点的距离小于最小第一权重对应的已确定参考点与待解码点的距离,因此,使用该候选点替换掉最小第一权重对应的已确定参考点。或者,当该候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引小于最小第一权重值对应的已确定参考点的索引时,说明该候选点在属性解码顺序中距离待解码点近,该候选点与待解码点的属性信息更相关,因此,使用候选点替换最小第一权重值对应的已确定参考点。
在一种示例中,在该情况下,若该候选点的第一权重小于已确定参考点的第一权重中的最小值,或者,该候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引大于最小第一权重值对应的已确定参考点的索引时,跳过该候选点。
针对参考点查找范围内的每个候选点执行上述步骤,直到参考点查找范围内的最后一个候选点判断结束为止,将最终得到的参考点确定为待解码点的至少一个参考点。
由上述步骤可知,在确定参考点时,是以参考点与待解码点之间的距离为考量,进而使得最后确定的至少一个参考点为距离待解码点最近的已解码点。由于点云中距离较近的各点的属性信息相关性强,这样基于距离待解码点最近的至少一个参考点的属性信息对待解码点的属性进行预测时,可以提高属性预测的准确性。
在一些实施例中,本申请实施例还包括:根据第一权重的大小,对待解码点的已确定参考点进行排序。即针对每一个候选点,在判断候选点是否为待解码点的参考点时,通常是将候选点的第一权重与已确定参考点的最小第一权重进行比较,基于此,为了便于差值最小第一权重对应的已确定参考点,根据第一权重的大小,对已确定参考点进行排序,例如按照第一权重大小从大到小或从小到大的顺序进行排序。这样在判断下一个候选点是否为参考点时,直接从排序后的已确定参考点的首位或末尾获取第一权重进行比较即可,以提高候选点的判断效率。
在一种可能的实现方式中,上述的S703包括S703-B1和S703-B2:
S703-B1、从参考点查找范围内,选取待编码点的至少一个初始参考点。
本申请实施例对从参考点查找范围内,选取待编码点的至少一个初始参考点的选取方式不做限制。
在一种示例中,从参考点查找范围内,选取属性解码顺序下距离待解码点最近的至少一个候选点作为待解码点的初始参考点。
在一种示例中,从参考点查找范围内,选取属性解码顺序下距离待解码点最远的至少一个候选点作为待解码点的初始参考点。
在一种示例中,从参考点查找范围内,选取属性解码顺序下任意位置处的至少一个候选点作为待解码点的初始参考点。
S703-B2、遍历参考点查找范围内除初始参考点之外的每个候选点,使用候选点对至少一个初始参考点进行补充和/或替换,得到距离待解码点最近的至少一个参考点。
可选的,在遍历参考点查找范围内除初始参考点之外的每个候选点时,可以根据属性解码顺序下与待解码点从近到远的顺序进行遍历。
在一种实施例中,S703-B2中使用候选点对至少一个初始参考点进行补充和/或替换,得到距离待解码点最近的至少一个参考点的实现方式包括但不限于如下几种:
方式一,在至少一个初始参考点的数量小于P时,将候选点补充至初始参考点中,得到新的至少一个初始参考点。
方式二,在至少一个初始参考点的数量大于等于P且小于Q时,若候选点与待解码点之间的第一距离小于或等于最大的第二距离,则将候选点补充至至少一个初始参考点中,得到新的至少一个初始参考点,第二距离为初始参考点与待解码点之间的空间距离。
方式三,在至少一个初始参考点的数量等于Q时,若第一距离小于最大的第二距离,则使用候选点替换最大的第二距离对应的初始参考点,或者,若第一距离等于最大的第二距离、且候选点的索引小于最大的第二距离对应的初始参考点的索引时,则使用候选点替换最大的第二距离对应的初始参考点,得到新的至少一个初始参考点。
举例说明,假设P=3,Q=6,首次从参考点查找范围内,选取属性解码属性下与待编码点相邻的前两个候选点作为待解码点初始参考点。接着,遍历参考点查找范围内除初始参考点之外的每个候选点,例如,遍历参考点查找范围内待解码点的第前3个候选点, 此时,待解码点的初始参考点的数量小于3,则直接将待解码点的第前3个候选点补充至待解码点的初始参考点中,得到待解码点的新的初始参考点,其中新的初始参考点的数量为3。接着,遍历参考点查找范围内待解码点的第前4个候选点,计算该第前4个候选点与待解码点之间的第一距离,并在确定该第一距离小于或等于上次确定的3个初始参考点中的最大的第二距离时,则将该第前4个候选点补充至待解码点的初始参考点中,此时得到待解码点的4个初始参考点。若第前4个候选点的第一距离小于上次确定的3个初始参考点中的最大的第二距离时,则跳过该第前4个候选点。接着,遍历参考点查找范围内待解码点的第前5个候选点,依次类推。当确定的初始参考点的数量达到6个时,则执行上述方式三,即本次候选点的第一距离小于上次已确定的初始参考点中的最大的第二距离时,则使用本次候选点替换最大的第二距离对应的初始参考点,或者,若本次候选点的第一距离等于上次已确定的初始参考点中的最大的第二距离、且本次候选点的索引小于最大的第二距离对应的初始参考点的索引时,则使用本次候选点替换最大的第二距离对应的初始参考点,得到本次新的初始参考点。将参考点查找范围内最后一个被遍历的点时所确定的初始参考点,确定为待解码点的最终用于属性预测的参考点。
在该实施方式中,通过距离对预先选取的初始参考点进行补充或替换,保证最终获得的参考点为距离待解码点空间距离最近的点,这样基于距离待解码点最近的至少一个参考点的属性信息对待解码点的属性进行预测时,可以提高属性预测的准确性。
根据上述步骤从参考点查找范围内,查找距离待解码点最近的至少一个参考点后执行如下S704进行属性预测。
S704、根据至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。
在一种可能的实现方式中,将上述确定的至少一个参考点的属性信息的重建值的算数平均值,确定为待解码点的属性信息的预测值。
在一种可能实现方式中,将上述确定的至少一个参考点的属性信息的重建值的加权平均值,确定为待解码点的属性信息的预测值。
在该实现方式中,上述S704包括:S704-A1和S704-A2:
S704-A1、确定至少一个参考点中每个参考点的第二权重。
S704-A2、根据至少一个参考点中每个参考点的第二权重,将至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
在一些实施例中,S704-A1中确定至少一个参考点中每个参考点的第二权重的方式包括但不限于如下几种:
方式一,针对至少一个参考点中每个参考点,将参考点与待编码点的距离的倒数,确定为参考点的第二权重。
可选的,上述距离可以为欧式距离或曼哈顿距离,即将参考点与待编码点之间的欧式距离或曼哈顿距离的倒数,确定为参考点的第二权重。
举例说明,假设参考点的坐标为(x1,y1,z1),待解码点的坐标为(x0,y0,z0),根据如下公式(1),确定参考点与待编码点之间的欧式距离d1:
Figure PCTCN2021099872-appb-000001
根据如下公式(2),确定参考点与待编码点之间的曼哈顿距离d2:
d2=∣x0-x1∣+∣y0-y1∣+∣z0-z1∣    (2)
其中,“∣.∣”表示绝对值运算。
方式二,上述各参考点的第二权重为预设权重值。在该方式中各参考点的第二权重可以相同,也可以不同。
根据上述方式确定至少一个参考点中每个参考点的第二权重后,根据至少一个参考点中每个参考点的第二权重,将至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
例如,根据如下公式(3),确定待编码点的属性信息的预测值:
Figure PCTCN2021099872-appb-000002
其中,
Figure PCTCN2021099872-appb-000003
为上述至少一个参考点中第i个参考点的属性信息的重建值,w i为第i个参考点的二权重,
Figure PCTCN2021099872-appb-000004
中的P表示预测值,O表示待解码点,
Figure PCTCN2021099872-appb-000005
表示待编码点的属性信息的预测值。
在本申请实施例的一具体实施例中,本申请实施例的点云属性的预测方法包括如下步骤:
步骤1、解码点云码流,得到点云的已解码点。
步骤2,判断待解码点的索引是否大于2,若待解码点的索引大于2,则执行如下步骤3至5,若待解码点的索引小于或等于2,则执行如下步骤6。
步骤3,在待解码点的索引大于2时,从点云的已解码点中,确定待解码点的参考点查找范围。
步骤4,在待解码点的参考点查找范围内,查找距离该待解码点最近的至少一个参考点。
步骤5,根据查找到的至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。
步骤6,若待编码点为点云在属性解码顺序下的第一个点时,则确定待编码点的属性信息的预测值为预设值;或者,
若待编码点为点云在属性解码顺序下的第二个点时,则将点云在属性解码顺序下的第一个点的属性信息的重建值,确定为待编码点的属性信息的预测值;或者,
若待编码点为点云在属性解码顺序下的第三个点时,则根据点云在属性解码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定待编码点的属性信息的预测值,例如,将第一个点的属性信息的重建值和第二个点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
下面通过实验对本申请实施例的技术效果进行说明:
将本申请实施例的点云属性的预测方法在AVS最新的点云压缩平台PCRM3.0上进行测试,其测试结果如表1.1至1.4所示:
表1.1
Figure PCTCN2021099872-appb-000006
Figure PCTCN2021099872-appb-000007
其中,Cat1B和Cat3点云序列中的点包括颜色属性信息。BD-AttrRate是评价视频编码算法性能的主要参数之一,表示新算法(即本申请技术方案)编码的视频相对于原来的算法在码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)上的变化情况,即新算法与原有算法在相同信噪比情况下码率的变化情况。“-”表示性能提升,例如码率和PSNR性能提升。
表1.1是在几何有限有损,属性无损(limit-lossy geometry,lossy attributes)情况下,对Cat1B和Cat3点云序列使用本申请的技术方案进行预测时,产生的测试结果。如表1.1所示,对Cat1B点云序列,采用本申请的技术方案,其中亮度分量上性能提升了0.6%,色度分量Cb上性能提升了2.3%,色度分量Cr上性能提升了3.3%。对Cat3点云序列,采用本申请的技术方案,其性能稍有下降。
表1.2
Figure PCTCN2021099872-appb-000008
表1.2是在几何无损,属性有损(lossless geometry,lossy attributes)情况下,对Cat1B和Cat3点云序列使用本申请的技术方案进行预测时,产生的测试结果。如表1.2所示,对Cat1B点云序列,采用本申请的技术方案,其亮度分量上性能提升了7.3%,色度分量Cb上性能提升了8%,色度分量Cr上性能提升了8.4%。对Cat3点云序列,采用本申请的技术方案,其亮度分量上性能提升了2.5%,色度分量Cb上性能提升了2.4%,色度分量Cr上性能提升了3.2%。
表1.3
Figure PCTCN2021099872-appb-000009
表1.3是在几何无损,属性有限无损(lossless geometry,limit-lossy attributes)情况下,对Cat1B和Cat3点云序列使用本申请的技术方案进行预测时,产生的测试结果。如表1.3所示,对Cat1B点云序列,采用本申请的技术方案,其亮度分量上性能提升了6.6%,色度分量Cb上性能提升了6.6%,色度分量Cr上性能提升了6.6%。对Cat3点云序列,采用本申请的技术方案,其亮度分量上性能提升了4.1%,色度分量Cb上性能提升了4.1%,色度分量Cr上性能提升了4.1%。
表1.4
Figure PCTCN2021099872-appb-000010
表1.4是在几何无损,属性无损(lossless geometry,lossless attributes)情况下,对Cat1B 和Cat3点云序列使用本申请的技术方案进行预测时,产生的测试结果。如表1.4所示,对Cat1B点云序列,采用本申请的技术方案,其颜色性能提升了1.5%。对Cat3点云序列,采用本申请的技术方案,其颜色性能稍有下降。
由上述表1.1至表1.4所示,本申请实施例提供的点云属性的预测方法可以显著提升点云的解码性能。
本申请实施例的点云属性的预测方法,通过解码点云码流,得到点云的已解码点的属性信息的重建值;对于点云中的待解码点,在待解码点的索引大于N时,从属性解码顺序下点云的已解码点中,确定待解码点的参考点查找范围;在参考点查找范围内,查找距离待解码点最近的至少一个参考点;根据至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。即本申请在确定参考点时,通过全局搜索的方法,以参考点与待解码点之间的距离为考量,进而使得确定的至少一个参考点为距离待解码点空间距离最近的已解码点。由于点云中空间距离较近的各点的属性信息相关性强,这样基于空间距离待解码点最近的至少一个参考点的属性信息对待解码点的属性进行预测时,可以提高属性预测的准确性。
图8为本申请一实施例提供的点云解码方法的流程示意图,如图8所示,点云解码过程包括:
S801、解码点云的几何码流,得到点云的几何信息的重建值。
点云码流包括属性码流和几何码流,解码几何码流可以得到点云的几何信息,解码属性码流可以得到点云的属性信息。
S802、解码点云的属性码流,得到点云中待解码点的属性信息的残差值。
具体是,解码点云的属性码流,得到待解码点的反量化后的属性信息的残差值,对待解码点的量化后的属性残差值进行反量化,得到待解码点的属性信息的残差值。
S803、解码点云的属性码流,得到点云的已解码点的属性信息的重建值。
S804、在待解码点的索引大于N时,从点云的已解码点中,确定待解码点的参考点查找范围。其中,待解码点的索引为待解码点在属性解码顺序中的排序,N为正整数。
例如,在待解码点的索引大于M时,将属性解码顺序下点云中位于待解码点之前的N个已解码点,确定为待解码点的参考点查找范围,其中M大于N。
例如,在待解码点的索引大于N且小于或等于M时,将属性解码顺序下点云中位于待解码点之前的所有已解码点,确定为待解码点的参考点查找范围。
上述S804的具体实现方式与上述S702的实现过程一致,参照上述上述S702的描述,在此不再赘述。
S805、在参考点查找范围内,查找距离待解码点最近的至少一个参考点。
在一些实施例中,在参考点查找范围内,查找距离待解码点最近的R个点作为待解码点的参考点,其中R为预设值。
在一种实施例中,针对参考点查找范围内的每个候选点,在待解码点的已确定参考点的数量小于P时,将候选点确定为待解码点的一个参考点。或者,在待解码点的已确定参考点的数量大于或等于P且小于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,将候选点确定为待解码点的一个参考点,其中目标点的第一权重是 目标点与待解码点之间距离的倒数,目标点为候选点或已确定参考点。或者,在待解码点的已确定参考点的数量等于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,或者,在待解码点的已确定参考点的数量等于Q,且候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用候选点替换最小第一权重值对应的已确定参考点。
上述S805的具体实现方式与上述S703的实现过程一致,参照上述上述S703的描述,在此不再赘述。
S806、根据至少一个参考点的属性信息的重建值,确定待解码点的属性信息的预测值。
例如,确定至少一个参考点中每个参考点的第二权重;根据至少一个参考点中每个参考点的第二权重,将至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
其中,确定至少一个参考点中每个参考点的第二权重的方式包括但不限于如下几种:
方式一,针对至少一个参考点中每个参考点,将参考点与待编码点的距离的倒数,确定为参考点的第二权重。例如,将参考点与待编码点之间的欧式距离或曼哈顿距离的倒数,确定为参考点的第二权重。
方式二,将预设权重值确定为参考点的第二权重。
上述S806的具体实现方式与上述S704的实现过程一致,参照上述上述S704的描述,在此不再赘述。
在一些实施例中,本申请还包括:
若待编码点为点云在属性解码顺序下的第一个点时,则确定待编码点的属性信息的预测值为预设值;或者,
若待编码点为点云在属性解码顺序下的第二个点时,则将点云在属性解码顺序下的第一个点的属性信息的重建值,确定为待编码点的属性信息的预测值;或者,
若待编码点为点云在属性解码顺序下的第三个点时,则根据点云在属性解码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定待编码点的属性信息的预测值。
S807、根据待解码点的属性信息的预测值和残差值,得到待解码点的属性信息的重建值。例如,将待解码点的属性信息的预测值和残差值的和,作为待解码点的属性信息的重建值。
本申请实施例,在确定参考点时,通过全局搜索的方法,以参考点与待解码点之间的距离为考量,进而使得确定的至少一个参考点为距离待解码点空间距离最近的已解码点。这样基于空间距离待解码点最近的至少一个参考点的属性信息对待解码点的属性进行预测时,可以提高属性预测的准确性,进而提高了点云的属性解码效率。
上文结合图7和图8对解码端的点云属性预测过程进行介绍,下面结合图9和图10对编码端的点云属性预测过程进行介绍。
图9为本申请一实施例提供的点云属性的预测方法的流程示意图,本申请实施例的执行主体可以为上述图3所示的编码器,也可以是编码器中的部分元件。如图9所示, 点云属性的预测方法包括:
S901、获取点云的已编码点的属性信息的重建值。
具体是,对点云的原始几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点数转化为整形,便于后续的规则化处理。然后对规则化的几何信息进行几何编码,采用八叉树结构对点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内不包含点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码。通过八叉树结构表达的几何信息一方面输入到几何熵编码器中形成几何码流,一方面在编码器内进行几何重建处理,参与点云的属性编码,得到点云中已解码点的属性信息的重建值。
S902、对于点云中的待编码点,在待编码点的索引大于N时,从点云的已编码点中,确定待编码点的参考点查找范围。
其中,待编码点的索引为待编码点在属性编码顺序中的排序,N为正整数。
本申请实施例对点云的属性编码顺序的具体排序方式不做限制,可以根据实际需要进行确定。
在一种示例中,上述点云的属性编码顺序可以为莫顿顺序。
在一种示例中,上述点云的属性编码顺序可以为希尔伯特(Hilbert)顺序。
在一种示例中,点云的属性编码顺序还可以是先沿着y方向编码,再沿着x方向编码,最后沿着z方向编码;也可以是先沿着y方向编码,再沿着z方向编码,最后沿着x方向编码;也可以是先沿着x方向编码,再沿着z方向编码,最后沿着y方向编码;也可以是先沿着z方向编码,再沿着x方向编码,最后沿着y方向编码;也可以是先沿着z方向编码,再沿着y方向编码,最后沿着x方向编码。
需要说明的是,上述只是本申请实施例涉及的两种属性编码顺序的具体示例,本申请实施例的属性编码顺序包括但不限于如上两种。
可选的,上述N大于或等于2。
需要说明的是,上述待编码点也可以称为当前点,或者当前待编码点,或当前待处理点等。
本申请实施例中,根据待编码点的索引不同,也就是待编码点之前的已编码点的数量不同,确定待编码点的参考点查找范围的方式也不相同。
在一些实施例中,上述S902中确定待编码点的参考点查找范围的方式包括但不限于如下几种:
方式一,在待编码点的索引大于M时,将属性编码顺序下点云中位于待编码点之前的M个已编码点,确定为待编码点的参考点查找范围,其中M大于N。
需要说明的是,本申请实施例对上述N、M的具体取值不做限制,只有N、M均为正整数,且M大于N即可。
在一种示例中,上述M=2 s,其中s为大于1的正整数,例如M为4、32、64、256等。
可选的,M=128。
方式二,在待编码点的索引大于N且小于或等于M时,为了提高确定的参考点的准 确性,则将属性编码顺序下点云中位于待编码点之前的所有已编码点,确定为待编码点的参考点查找范围。
根据上述方式,从属性编码顺序下点云的已编码点中,确定出待编码点的参考点查找范围后,执行如下S903。
S903、在参考点查找范围内,查找距离待编码点最近的至少一个参考点。
在一种可能的实现方式中,上述S903包括:在参考点查找范围内,查找距离待编码点最近的R个点作为待编码点的参考点。
在一些实施例中,本步骤在参考点查找范围内,查找距离待编码点最近的至少一个参考点时,根据属性编码顺序中与所述待编码点从近到远的顺序进行查找。例如,先计算属性编码顺序中位于待编码点前的第一个候选点与待编码点之间的距离,再计算代编码点前的第二个候选点与待编码点之间的距离,以此类推。
在一种实施例中,本申请实施例还对待编码点的至少一个参考点的数量进行了限定,例如,限定待编码点的至少一个残差点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
本申请实施例对P、Q的具体取值不做限制。
在一种示例中,P=3。
在一种示例中,Q=6。
在该实施例中,在参考点查找范围内查找待编码点的参考点的数量,最少查找出P个参考点,例如3个参考点,最多查找出Q个参考点,例如6个参考点。
针对参考点查找范围内的每一个候选点,确定候选点是否为待编码点的参考点的具体过程相同,且整个过程为迭代过程。
在一种可能的实现方式中,S903中在参考点查找范围内,查找距离待编码点最近的至少一个参考点的方式包括如下步骤:
S903-A1,针对参考点查找范围内的每个候选点,首先,确定待编码点的已确定参考点的数量。在待编码点的已确定参考点的数量小于P时,执行如下S903-A2;在待编码点的已确定参考点的数量大于或等于P且小于Q,执行如下S903-A3;在待编码点的已确定参考点的数量等于Q,执行如下S903-A4。
S903-A2、在待编码点的已确定参考点的数量小于P时,将候选点确定为待编码点的一个参考点。
在该情况下,待编码点已确定参考点的数量小于待编码点的参考点数量的最小值,此时,直接将该候选点确定为待编码点的一个参考点,存储在待编码点的参考点缓存中。
S903-A3、在待编码点的已确定参考点的数量大于或等于P且小于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,将候选点确定为待编码点的一个参考点,其中目标点的第一权重是目标点与待编码点之间距离的倒数,目标点为候选点或已确定参考点。
在该情况下,待编码点已确定参考点的数量大于或等于待编码点的参考点数量的最小值,但没有达到最大值。此时,为了保证将距离待编码点较远的点确定为参考点,则需要对该候选点的第一权重与当前已确定参考点的第一权重进行比较,若该候选点的第一权重大于或等于已确定参考点的第一权重中的最小值,则说明该候选点距离待编码点较 近,则将该候选点确定为待编码点的一个参考点,并存储在待编码点的参考点缓存中。
在一种示例中,若该候选点的第一权重小于已确定参考点的第一权重中的最小值,则说明该候选点距离待编码点较远,则跳过该候选点。
可选的,目标点的第一权重是目标点与待编码点之间距离的倒数,目标点可以为候选点或已确定参考点。也就是说,将候选点与待编码点之间的距离的倒数确定为候选点的第一权重,候选点的第一权重越大,表示候选点距离待编码点越近,候选点的第一权重越小,则表示候选点距离待编码越远。将已确定参考点与待编码点之间的距离的倒数确定为已确定参考点的第一权重,已确定参考点的第一权重越大,表示已确定参考点距离待编码点越近,已确定参考点的第一权重越小,则表示已确定参考点距离待编码越远。即本申请实施例通过第一权重来比较点云中两点之间的距离。
可选的,上述第一权重可以为欧式距离或曼哈顿距离的倒数。
S903-A4,在待编码点的已确定参考点的数量等于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,使用候选点替换最小第一权重值对应的已确定参考点。或者,在待编码点的已确定参考点的数量等于Q,且候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用候选点替换最小第一权重值对应的已确定参考点。
在一种示例中,在该情况下,若该候选点的第一权重小于已确定参考点的第一权重中的最小值,或者,该候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引大于最小第一权重值对应的已确定参考点的索引时,跳过该候选点。
针对参考点查找范围内的每个候选点执行上述步骤,直到参考点查找范围内的最后一个候选点判断结束为止,将最终得到的参考点确定为待编码点的至少一个参考点。
由上述步骤可知,在确定参考点时,是以参考点与待编码点之间的距离为考量,进而使得最后确定的至少一个参考点为距离待编码点最近的已编码点。由于点云中距离较近的各点的属性信息相关性强,这样基于距离待编码点最近的至少一个参考点的属性信息对待编码点的属性进行预测时,可以提高属性预测的准确性。
在一些实施例中,本申请实施例还包括:根据第一权重的大小,对待编码点的已确定参考点进行排序。即针对每一个候选点,在判断候选点是否为待编码点的参考点时,通常是将候选点的第一权重与已确定参考点的最小第一权重进行比较,基于此,为了便于差值最小第一权重对应的已确定参考点,根据第一权重的大小,对已确定参考点进行排序,例如按照第一权重大小从大到小或从小到大的顺序进行排序。这样在判断下一个候选点是否为参考点时,直接从排序后的已确定参考点的首位或末尾获取第一权重进行比较即可,以提高候选点的判断效率。
在一种可能的实现方式中,上述的S903包括S903-B1和S903-B2:
S903-B1、从参考点查找范围内,选取待编码点的至少一个初始参考点。
本申请实施例对从参考点查找范围内,选取待编码点的至少一个初始参考点的选取方式不做限制。
在一种示例中,从参考点查找范围内,选取属性编码顺序下距离待编码点最近的至少一个候选点作为待编码点的初始参考点。
在一种示例中,从参考点查找范围内,选取属性编码顺序下距离待编码点最远的至 少一个候选点作为待编码点的初始参考点。
在一种示例中,从参考点查找范围内,选取属性编码顺序下任意位置处的至少一个候选点作为待编码点的初始参考点。
S903-B2、遍历参考点查找范围内除初始参考点之外的每个候选点,使用候选点对至少一个初始参考点进行补充和/或替换,得到距离待编码点最近的至少一个参考点。
在一种实施例中,S903-B2中使用候选点对至少一个初始参考点进行补充和/或替换,得到距离待编码点最近的至少一个参考点的实现方式包括但不限于如下几种:
方式一,在至少一个初始参考点的数量小于P时,将候选点补充至初始参考点中,得到新的至少一个初始参考点。
方式二,在至少一个初始参考点的数量大于等于P且小于Q时,若候选点与待编码点之间的第一距离小于或等于最大的第二距离,则将候选点补充至至少一个初始参考点中,得到新的至少一个初始参考点,第二距离为初始参考点与待编码点之间的空间距离。
方式三,在至少一个初始参考点的数量等于Q时,若第一距离小于最大的第二距离,则使用候选点替换最大的第二距离对应的初始参考点,或者,若第一距离等于最大的第二距离、且候选点的索引小于最大的第二距离对应的初始参考点的索引时,则使用候选点替换最大的第二距离对应的初始参考点,得到新的至少一个初始参考点。
在该实施方式中,通过距离对预先选取的初始参考点进行补充或替换,保证最终获得的参考点为距离待编码点空间距离最近的点,这样基于距离待编码点最近的至少一个参考点的属性信息对待编码点的属性进行预测时,可以提高属性预测的准确性。
根据上述步骤从参考点查找范围内,查找距离待编码点最近的至少一个参考点后执行如下S904进行属性预测。
S904、根据至少一个参考点的属性信息的重建值,确定待编码点的属性信息的预测值。
在一种可能的实现方式中,将上述确定的至少一个参考点的属性信息的重建值的算数平均值,确定为待编码点的属性信息的预测值。
在一种可能实现方式中,将上述确定的至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
在该实现方式中,上述S904包括:S904-A1和S904-A2:
S904-A1、确定至少一个参考点中每个参考点的第二权重。
S904-A2、根据至少一个参考点中每个参考点的第二权重,将至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
在一些实施例中,S904-A1中确定至少一个参考点中每个参考点的第二权重的方式包括但不限于如下几种:
方式一,针对至少一个参考点中每个参考点,将参考点与待编码点的距离的倒数,确定为参考点的第二权重。
可选的,上述距离可以为欧式距离或曼哈顿距离,即将参考点与待编码点之间的欧式距离或曼哈顿距离的倒数,确定为参考点的第二权重。
方式二,上述各参考点的第二权重为预设权重值。在该方式中各参考点的第二权重可以相同,也可以不同。
根据上述方式确定至少一个参考点中每个参考点的第二权重后,根据至少一个参考点中每个参考点的第二权重,将至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
例如,根据如下公式(4),确定待编码点的属性信息的预测值:
Figure PCTCN2021099872-appb-000011
其中,
Figure PCTCN2021099872-appb-000012
为上述至少一个参考点中第i个参考点的属性信息的重建值,w 1i为第i个参考点的二权重,
Figure PCTCN2021099872-appb-000013
中的P表示预测值,O表示当前的待编码点,
Figure PCTCN2021099872-appb-000014
为待编码点的属性信息的预测值。
上述实施例对待编码点的索引大于N(例如2)时,从待编码点的参考点查找范围,查找距离所述待编码点最近的至少一个参考点,并根据查找到的至少一个参考点的属性信息的重建值,确定待编码点的属性信息的预测值的过程进行了介绍。
在一些实施例中,本申请还包括:
若待编码点为点云在属性编码顺序下的第一个点时,则确定待编码点的属性信息的预测值为预设值;或者,
若待编码点为点云在属性编码顺序下的第二个点时,则将点云在属性编码顺序下的第一个点的属性信息的重建值,确定为待编码点的属性信息的预测值;或者,
若待编码点为点云在属性编码顺序下的第三个点时,则根据点云在属性编码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定待编码点的属性信息的预测值,例如,将第一个点的属性信息的重建值和第二个点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
本申请实施例的点云属性的预测方法,通过获取点云的已编码点的属性信息的重建值;对于点云中的待编码点,在待编码点的索引大于N时,从点云的已编码点中,确定待编码点的参考点查找范围;在参考点查找范围内,查找距离待编码点最近的至少一个参考点;根据至少一个参考点的属性信息的重建值,确定待编码点的属性信息的预测值。即本申请在确定参考点时,通过全局搜索的方法,以参考点与待编码点之间的距离为考量,进而使得确定的至少一个参考点为距离待编码点空间距离最近的已编码点。由于点云中空间距离较近的各点的属性信息相关性强,这样基于空间距离待编码点最近的至少一个参考点的属性信息对待编码点的属性进行预测时,可以提高属性预测的准确性。
图10为本申请一实施例提供的点云编码方法的流程示意图,如图10所示,本申请实施例的点云编码方法包括:
S101、获取点云的几何信息,对点云的几何信息进行编码,得到点云的几何码流。
例如,对点云的原始几何信息进行预处理,通过坐标平移将几何原点归一化到点云空间中的最小值位置,通过坐标量化将几何信息从浮点数转化为整形,便于后续的规则化处理。然后对规则化的几何信息进行几何编码,采用八叉树结构对点云空间进行递归划分,每次将当前节点划分成八个相同大小的子块,并判断每个子块的占有码字情况,当子块内不包含点时记为空,否则记为非空,在递归划分的最后一层记录所有块的占有码字信息,并进行编码,得到点云的几何码流。
S102、获取点云的已编码点的属性信息的重建值。
S103、对于点云中的待编码点,在待编码点的索引大于N时,从属性编码顺序下点云的已编码点中,确定待编码点的参考点查找范围。
例如,在待编码点的索引大于M时,将属性编码顺序下点云中位于待编码点之前的M个已编码点,确定为待编码点的参考点查找范围,其中M大于N。
例如,在待编码点的索引大于N且小于或等于M时,为了提高确定的参考点的准确性,则将属性编码顺序下点云中位于待编码点之前的所有已编码点,确定为待编码点的参考点查找范围。
S104、在参考点查找范围内,查找距离待编码点最近的至少一个参考点。
例如,在参考点查找范围内,查找距离待编码点最近的R个点作为待编码点的参考点。
例如,针对参考点查找范围内的每个候选点,首先,确定待编码点的已确定参考点的数量。在待编码点的已确定参考点的数量小于P时,将候选点确定为待编码点的一个参考点。在待编码点的已确定参考点的数量大于或等于P且小于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,将候选点确定为待编码点的一个参考点,其中目标点的第一权重是目标点与待编码点之间距离的倒数,目标点为候选点或已确定参考点。在待编码点的已确定参考点的数量等于Q,且候选点的第一权重大于已确定参考点的第一权重中的最小值时,使用候选点替换最小第一权重值对应的已确定参考点。或者,在待编码点的已确定参考点的数量等于Q,且候选点的第一权重等于已确定参考点的第一权重中的最小值,且候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用候选点替换最小第一权重值对应的已确定参考点。
S105、根据至少一个参考点的属性信息的重建值,确定待编码点的属性信息的预测值。
例如,将上述确定的至少一个参考点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
在一些实施例中,本申请还包括:
若待编码点为点云在属性编码顺序下的第一个点时,则确定待编码点的属性信息的预测值为预设值;或者,
若待编码点为点云在属性编码顺序下的第二个点时,则将点云在属性编码顺序下的第一个点的属性信息的重建值,确定为待编码点的属性信息的预测值;或者,
若待编码点为点云在属性编码顺序下的第三个点时,则根据点云在属性编码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定待编码点的属性信息的预测值,例如,将第一个点的属性信息的重建值和第二个点的属性信息的重建值的加权平均值,确定为待编码点的属性信息的预测值。
上述S102至S105的具体实现过程参照上述S901至S904的描述,在此不再赘述。
S106、根据待编码点的属性信息和待编码点的属性信息的预测值,得到待编码点的属性信息的残差值,例如,将待编码点的属性信息和待编码点的属性信息的预测值的差值,确定为待编码点的属性信息的残差值。
S106、对待编码点的属性信息的残差值进行量化以及编码,得到点云的属性码流。
本申请实施例,在确定参考点时,通过全局搜索的方法,以参考点与待编码点之间的距离为考量,进而使得确定的至少一个参考点为距离待编码点空间距离最近的已编码点。这样基于空间距离待编码点最近的至少一个参考点的属性信息对待编码点的属性进行预测时,可以提高属性预测的准确性,进而提高了点云的属性编码效率。
应理解,图7至图10仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。另外,本申请实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。具体地,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上文结合图7至图10,详细描述了本申请的方法实施例,下文结合图11至图13,详细描述本申请的装置实施例。
图11是本申请一实施例提供的点云属性的预测装置的示意性框图。
如图11所示,该点云属性的预测装置20可包括:
解码单元21,用于解码点云码流,得到点云的已解码点的属性信息的重建值;
范围确定单元22,用于对于所述点云中的待解码点,在所述待解码点的索引大于N时,从点云的已解码点中,确定所述待解码点的参考点查找范围,其中,所述待解码点的索引为所述待解码点在所述属性解码顺序中的排序,N为正整数;
查找单元23,用于在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点;
预测单元24,用于根据所述至少一个参考点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
在一些实施例中,上述范围确定单元22,具体用于在所述待解码点的索引大于M时,将所述属性解码顺序下点云中位于所述待解码点之前的M个已解码点,确定为所述待解码点的参考点查找范围,其中M大于N;或者,
在所述待解码点的索引大于N且小于或等于M时,将所述属性解码顺序下点云中位于所述待解码点之前的所有已解码点,确定为所述待解码点的参考点查找范围。
在一些实施例中,上述查找单元23,具体用于根据所述属性解码顺序中与所述待解码点从近到远的顺序,在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点。
在一些实施例中,所述至少一个参考点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
在一些实施例中,上述查找单元23,具体用于针对所述参考点查找范围内的每个候选点,在所述待解码点的已确定参考点的数量小于所述P时,将所述候选点确定为所述待解码点的一个参考点;或者,
在所述待解码点的已确定参考点的数量大于或等于所述P且小于所述Q,且所述候选点的第一权重大于或等于所述已确定参考点的第一权重中的最小值时,将所述候选点确定为所述待解码点的一个参考点,其中目标点的第一权重是所述目标点与所述待解码点之间距离的倒数,所述目标点为所述候选点或所述已确定参考点;或者,
在所述待解码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重大于所述已确定参考点的第一权重中的最小值时,或者,在所述待解码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重等于所述已确定参考点的第一权重中的最小值,且所述候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用所述候选点替换所述最小第一权重值对应的已确定参考点。
在一些实施例中,上述查找单元23,还用于根据第一权重的大小,对所述待解码点的已确定参考点进行排序。
可选的,所述目标点的第一权重为所述目标点与所述待解码点之间的欧式距离或曼哈顿距离的倒数。
在一些实施例中,上述预测单元24,还用于若所述待解码点为所述点云在属性解码顺序下的第一个点时,则确定所述待解码点的属性信息的预测值为预设值;或者,
若所述待解码点为所述点云在属性解码顺序下的第二个点时,则将所述点云在属性解码顺序下的第一个点的属性信息的重建值,确定为所述待解码点的属性信息的预测值;或者,
若所述待解码点为所述点云在属性解码顺序下的第三个点时,则根据所述点云在属性解码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
在一些实施例中,预测单元24,具体用于确定所述至少一个参考点中每个参考点的第二权重;根据所述至少一个参考点中每个参考点的第二权重,将所述至少一个参考点的属性信息的重建值的加权平均值,确定为所述待解码点的属性信息的预测值。
在一些实施例中,预测单元24,具体用于针对所述至少一个参考点中每个参考点,将所述参考点与所述待解码点的距离的倒数,确定为所述参考点的第二权重;或者,确定所述参考点的第二权重为预设权重值。
在一些实施例中,预测单元24,具体用于将所述参考点与所述待解码点之间的欧式距离或曼哈顿距离的倒数,确定为所述参考点的第二权重。
可选的,所述点云的属性解码顺序包括莫顿顺序和希尔伯特顺序中的任意一种。
可选的,所述N为大于或等于2的正整数。
可选的,所述M为128。
可选的,所述P为3。
可选的,所述Q为6。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图11所示的装置20可以对应于执行本申请实施例的点云解码方法中的相应主体,并且装置20中的各个单元的前述和其它操作和/或功能分别为了实现点云解码方法中的相应流程,为了简洁,在此不再赘述。
图12是本申请一实施例提供的点云属性的预测装置的示意性框图。
如图12所示,该点云属性的预测装置10可包括:
获取单元11,用于获取点云的已编码点的属性信息的重建值;
范围确定单元12,用于对于所述点云中的待编码点,在所述待编码点的索引大于N时,从所述点云的已编码点中,确定所述待编码点的参考点查找范围,其中,所述待编码点的索引为所述待编码点在所述属性编码顺序中的排序,N为正整数;
查找单元13,用于在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点;
预测单元14,用于根据所述至少一个参考点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
在一些实施例中,范围确定单元12,具体用于在所述待编码点的索引大于M时,将所述属性编码顺序下点云中位于所述待编码点之前的M个已编码点,确定为所述待编码点的参考点查找范围,其中M大于N;或者,
在所述待编码点的索引大于N且小于或等于M时,将所述属性编码顺序下点云中位于所述待编码点之前的所有已编码点,确定为所述待编码点的参考点查找范围。
在一些实施例中,查找单元13,具体用于根据所述属性编码顺序中与所述待编码点从近到远的顺序,在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点。
在一些实施例中,所述至少一个参考点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
在一些实施例中,查找单元13,具体用于针对所述参考点查找范围内的每个候选点,在所述待编码点的已确定参考点的数量小于所述P时,将所述候选点确定为所述待编码点的一个参考点;或者,
在所述待编码点的已确定参考点的数量大于或等于所述P且小于所述Q,且所述候选点的第一权重大于或等于所述已确定参考点的第一权重中的最小值时,将所述候选点确定为所述待编码点的一个参考点,其中目标点的第一权重是所述目标点与所述待编码点之间距离的倒数,所述目标点为所述候选点或所述已确定参考点;
在所述待编码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重大于所述已确定参考点的第一权重中的最小值时,或者,在所述待编码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重等于所述已确定参考点的第一权重中的最小值,且所述候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用所述候选点替换所述最小第一权重值对应的已确定参考点。
在一些实施例中,查找单元13,还用于根据第一权重的大小,对所述待编码点的已确定参考点进行排序。
可选的,所述目标点的第一权重为所述目标点与所述待编码点之间的欧式距离或曼哈顿距离的倒数。
在一些实施例中,预测单元14,还用于若所述待编码点为所述点云在属性编码顺序下的第一个点时,则确定所述待编码点的属性信息的预测值为预设值;或者,
若所述待编码点为所述点云在属性编码顺序下的第二个点时,则将所述点云在属性编码顺序下的第一个点的属性信息的重建值,确定为所述待编码点的属性信息的预测值;或者,
若所述待编码点为所述点云在属性编码顺序下的第三个点时,则根据所述点云在属性编码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
在一些实施例中,预测单元14,具体用于确定所述至少一个参考点中每个参考点的第二权重;根据所述至少一个参考点中每个参考点的第二权重,将所述至少一个参考点的属性信息的重建值的加权平均值,确定为所述待编码点的属性信息的预测值。
在一些实施例中,预测单元14,具体用于针对所述至少一个参考点中每个参考点,将所述参考点与所述待编码点的距离的倒数,确定为所述参考点的第二权重;或者,确定所述参考点的第二权重为预设权重值。
在一些实施例中,预测单元14,具体用于将所述参考点与所述待编码点之间的欧式距离或曼哈顿距离的倒数,确定为所述参考点的第二权重。
可选的,所述点云的属性编码顺序包括莫顿顺序和希尔伯特顺序中的任意一种。
可选的,所述N为大于或等于2的正整数。
可选的,所述M为128。
可选的,所述P为3。
可选的,所述Q为6。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图12所示的装置10可以对应于执行本申请实施例的点云编码方法中的相应主体,并且装置10中的各个单元的前述和其它操作和/或功能分别为了实现点云编码方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能单元的角度描述了本申请实施例的装置和系统。应理解,该功能单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件单元组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。可选地,软件单元可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图13是本申请实施例提供的电子设备的示意性框图。
如图13所示,该电子设备30可以为本申请实施例所述点云解码器,或者点云编码器,该电子设备30可包括:
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34 传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器33包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该电子设备30中的执行过程。
如图13所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器33。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计 算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字点云光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (37)

  1. 一种点云属性的预测方法,其特征在于,包括:
    解码点云码流,得到点云的已解码点的属性信息的重建值;
    对于所述点云中的待解码点,在所述待解码点的索引大于N时,从所述点云的已解码点中,确定所述待解码点的参考点查找范围,其中,所述待解码点的索引为所述待解码点在属性解码顺序中的排序,N为正整数;
    在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点;
    根据所述至少一个参考点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
  2. 根据权利要求1所述的方法,其特征在于,所述在所述待解码点的索引大于N时,从所述点云的已解码点中,确定所述待解码点的参考点查找范围,包括:
    在所述待解码点的索引大于M时,将所述属性解码顺序下点云中位于所述待解码点之前的M个已解码点,确定为所述待解码点的参考点查找范围,其中M大于N;或者,
    在所述待解码点的索引大于N且小于或等于M时,将所述属性解码顺序下点云中位于所述待解码点之前的所有已解码点,确定为所述待解码点的参考点查找范围。
  3. 根据权利要求1所述的方法,其特征在于,所述在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点,包括:
    根据所述属性解码顺序中与所述待解码点从近到远的顺序,在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述至少一个参考点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
  5. 根据权利要求4所述的方法,其特征在于,所述在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点,包括:
    针对所述参考点查找范围内的每个候选点,在所述待解码点的已确定参考点的数量小于所述P时,将所述候选点确定为所述待解码点的一个参考点;或者,
    在所述待解码点的已确定参考点的数量大于或等于所述P且小于所述Q,且所述候选点的第一权重大于或等于所述已确定参考点的第一权重中的最小值时,将所述候选点确定为所述待解码点的一个参考点,其中目标点的第一权重是所述目标点与所述待解码点之间距离的倒数,所述目标点为所述候选点或所述已确定参考点;或者,
    在所述待解码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重大于所述已确定参考点的第一权重中的最小值时,或者,在所述待解码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重等于所述已确定参考点的第一权重中的最小值,且所述候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用所述候选点替换所述最小第一权重值对应的已确定参考点。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    根据第一权重的大小,对所述待解码点的已确定参考点进行排序。
  7. 根据权利要求5所述的方法,其特征在于,所述目标点的第一权重为所述目标点与所述待解码点之间的欧式距离或曼哈顿距离的倒数。
  8. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    若所述待解码点为所述点云在属性解码顺序下的第一个点时,则确定所述待解码点的属性信息的预测值为预设值;或者,
    若所述待解码点为所述点云在属性解码顺序下的第二个点时,则将所述点云在属性解码顺序下的第一个点的属性信息的重建值,确定为所述待解码点的属性信息的预测值;或者,
    若所述待解码点为所述点云在属性解码顺序下的第三个点时,则根据所述点云在属性解码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
  9. 根据权利要求1所述的方法,其特征在于,所述根据所述至少一个参考点的属性信息的重建值,确定所述待解码点的属性信息的预测值,包括:
    确定所述至少一个参考点中每个参考点的第二权重;
    根据所述至少一个参考点中每个参考点的第二权重,将所述至少一个参考点的属性信息的重建值的加权平均值,确定为所述待解码点的属性信息的预测值。
  10. 根据权利要求9所述的方法,其特征在于,所述确定所述至少一个参考点中每个参考点的第二权重,包括:
    针对所述至少一个参考点中每个参考点,将所述参考点与所述待解码点的距离的倒数,确定为所述参考点的第二权重;或者,
    确定所述参考点的第二权重为预设权重值。
  11. 根据权利要求10所述的方法,其特征在于,所述将所述参考点与所述待解码点的距离的倒数,确定为所述参考点的第二权重,包括:
    将所述参考点与所述待解码点之间的欧式距离或曼哈顿距离的倒数,确定为所述参考点的第二权重。
  12. 根据权利要求1所述的方法,其特征在于,所述点云的属性解码顺序包括莫顿顺序和希尔伯特顺序中的任意一种。
  13. 根据权利要求1所述的方法,其特征在于,所述N为大于或等于2的正整数。
  14. 根据权利要求2所述的方法,其特征在于,所述M为128。
  15. 根据权利要求4所述的方法,其特征在于,所述P为3。
  16. 根据权利要求4所述的方法,其特征在于,所述Q为6。
  17. 一种点云属性的预测方法,其特征在于,包括:
    获取点云的已编码点的属性信息的重建值;
    对于所述点云中的待编码点,在所述待编码点的索引大于N时,从所述点云的已编码点中,确定所述待编码点的参考点查找范围,其中,所述待编码点的索引为所述待编码点在属性编码顺序中的排序,N为正整数;
    在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点;
    根据所述至少一个参考点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
  18. 根据权利要求17所述的方法,其特征在于,所述在所述待编码点的索引大于N时,从所述点云的已编码点中,确定所述待编码点的参考点查找范围,包括:
    在所述待编码点的索引大于M时,将所述属性编码顺序下点云中位于所述待编码点 之前的M个已编码点,确定为所述待编码点的参考点查找范围,其中M大于N;或者,
    在所述待编码点的索引大于N且小于或等于M时,将所述属性编码顺序下点云中位于所述待编码点之前的所有已编码点,确定为所述待编码点的参考点查找范围。
  19. 根据权利要求17所述的方法,其特征在于,所述在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点,包括:
    根据所述属性编码顺序中与所述待编码点从近到远的顺序,在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点。
  20. 根据权利要求17-19任一项所述的方法,其特征在于,所述至少一个参考点的数量大于或等于P,且小于或等于Q,其中P、Q均为正整数,且P大于Q。
  21. 根据权利要求20所述的方法,其特征在于,所述在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点,包括:
    针对所述参考点查找范围内的每个候选点,在所述待编码点的已确定参考点的数量小于所述P时,将所述候选点确定为所述待编码点的一个参考点;或者,
    在所述待编码点的已确定参考点的数量大于或等于所述P且小于所述Q,且所述候选点的第一权重大于或等于所述已确定参考点的第一权重中的最小值时,将所述候选点确定为所述待编码点的一个参考点,其中目标点的第一权重是所述目标点与所述待编码点之间距离的倒数,所述目标点为所述候选点或所述已确定参考点;
    在所述待编码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重大于所述已确定参考点的第一权重中的最小值时,或者,在所述待编码点的已确定参考点的数量等于所述Q,且所述候选点的第一权重等于所述已确定参考点的第一权重中的最小值,且所述候选点的索引小于最小第一权重值对应的已确定参考点的索引时,使用所述候选点替换所述最小第一权重值对应的已确定参考点。
  22. 根据权利要求21所述的方法,其特征在于,所述方法还包括:
    根据第一权重的大小,对所述待编码点的已确定参考点进行排序。
  23. 根据权利要求21所述的方法,其特征在于,所述目标点的第一权重为所述目标点与所述待编码点之间的欧式距离或曼哈顿距离的倒数。
  24. 根据权利要求17所述的方法,其特征在于,所述方法还包括:
    若所述待编码点为所述点云在属性编码顺序下的第一个点时,则确定所述待编码点的属性信息的预测值为预设值;或者,
    若所述待编码点为所述点云在属性编码顺序下的第二个点时,则将所述点云在属性编码顺序下的第一个点的属性信息的重建值,确定为所述待编码点的属性信息的预测值;或者,
    若所述待编码点为所述点云在属性编码顺序下的第三个点时,则根据所述点云在属性编码顺序下的第一个点的属性信息的重建值和第二个点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
  25. 根据权利要求17所述的方法,其特征在于,所述根据所述至少一个参考点的属性信息的重建值,确定所述待编码点的属性信息的预测值,包括:
    确定所述至少一个参考点中每个参考点的第二权重;
    根据所述至少一个参考点中每个参考点的第二权重,将所述至少一个参考点的属性 信息的重建值的加权平均值,确定为所述待编码点的属性信息的预测值。
  26. 根据权利要求25所述的方法,其特征在于,所述确定所述至少一个参考点中每个参考点的第二权重,包括:
    针对所述至少一个参考点中每个参考点,将所述参考点与所述待编码点的距离的倒数,确定为所述参考点的第二权重;或者,
    确定所述参考点的第二权重为预设权重值。
  27. 根据权利要求26所述的方法,其特征在于,所述将所述参考点与所述待编码点的距离的倒数,确定为所述参考点的第二权重,包括:
    将所述参考点与所述待编码点之间的欧式距离或曼哈顿距离的倒数,确定为所述参考点的第二权重。
  28. 根据权利要求17所述的方法,其特征在于,所述点云的属性编码顺序包括莫顿顺序和希尔伯特顺序中的任意一种。
  29. 根据权利要求17所述的方法,其特征在于,所述N为大于或等于2的正整数。
  30. 根据权利要求18所述的方法,其特征在于,所述M为128。
  31. 根据权利要求20所述的方法,其特征在于,所述P为3。
  32. 根据权利要求20所述的方法,其特征在于,所述Q为6。
  33. 一种点云属性的预测装置,其特征在于,包括:
    解码单元,用于解码点云码流,得到点云的已解码点的属性信息的重建值;
    范围确定单元,用于对于所述点云中的待解码点,在所述待解码点的索引大于N时,从所述点云的已解码点中,确定所述待解码点的参考点查找范围,其中,所述待解码点的索引为所述待解码点在属性解码顺序中的排序,N为正整数;
    查找单元,用于在所述参考点查找范围内,查找距离所述待解码点最近的至少一个参考点;
    预测单元,用于根据所述至少一个参考点的属性信息的重建值,确定所述待解码点的属性信息的预测值。
  34. 一种点云属性的预测装置,其特征在于,包括:
    获取单元,用于获取点云的已编码点的属性信息的重建值;
    范围确定单元,用于对于所述点云中的待编码点,在所述待编码点的索引大于N时,从所述点云的已编码点中,确定所述待编码点的参考点查找范围,其中,所述待编码点的索引为所述待编码点在属性编码顺序中的排序,N为正整数;
    查找单元,用于在所述参考点查找范围内,查找距离所述待编码点最近的至少一个参考点;
    预测单元,用于根据所述至少一个参考点的属性信息的重建值,确定所述待编码点的属性信息的预测值。
  35. 一种点云解码器,其特征在于,包括:处理器和存储器;
    所述存储器用于存储计算机程序;
    所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1-16任一项所述的方法。
  36. 一种点云编码器,其特征在于,包括:处理器和存储器;
    所述存储器用于存储计算机程序;
    所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求17-32任一项所述的方法。
  37. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至16或17至32任一项所述的方法。
PCT/CN2021/099872 2021-06-11 2021-06-11 点云属性的预测方法、装置及编解码器 WO2022257145A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2021/099872 WO2022257145A1 (zh) 2021-06-11 2021-06-11 点云属性的预测方法、装置及编解码器
CN202180098263.9A CN117321991A (zh) 2021-06-11 2021-06-11 点云属性的预测方法、装置及编解码器
TW111121611A TW202249488A (zh) 2021-06-11 2022-06-10 點雲屬性的預測方法、裝置及編解碼器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/099872 WO2022257145A1 (zh) 2021-06-11 2021-06-11 点云属性的预测方法、装置及编解码器

Publications (1)

Publication Number Publication Date
WO2022257145A1 true WO2022257145A1 (zh) 2022-12-15

Family

ID=84425588

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099872 WO2022257145A1 (zh) 2021-06-11 2021-06-11 点云属性的预测方法、装置及编解码器

Country Status (3)

Country Link
CN (1) CN117321991A (zh)
TW (1) TW202249488A (zh)
WO (1) WO2022257145A1 (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
US20190116357A1 (en) * 2017-10-12 2019-04-18 Mitsubishi Electric Research Laboratories, Inc. System and method for Inter-Frame Predictive Compression for Point Clouds
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN110572655A (zh) * 2019-09-30 2019-12-13 北京大学深圳研究生院 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
WO2021000658A1 (zh) * 2019-07-03 2021-01-07 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备
WO2021003726A1 (zh) * 2019-07-10 2021-01-14 深圳市大疆创新科技有限公司 一种数据编码、数据解码方法、设备及存储介质
CN112437312A (zh) * 2019-08-26 2021-03-02 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、设备及存储介质
WO2021049758A1 (ko) * 2019-09-11 2021-03-18 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
US20190116357A1 (en) * 2017-10-12 2019-04-18 Mitsubishi Electric Research Laboratories, Inc. System and method for Inter-Frame Predictive Compression for Point Clouds
WO2021000658A1 (zh) * 2019-07-03 2021-01-07 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
WO2021003726A1 (zh) * 2019-07-10 2021-01-14 深圳市大疆创新科技有限公司 一种数据编码、数据解码方法、设备及存储介质
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN112437312A (zh) * 2019-08-26 2021-03-02 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、设备及存储介质
WO2021049758A1 (ko) * 2019-09-11 2021-03-18 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN110572655A (zh) * 2019-09-30 2019-12-13 北京大学深圳研究生院 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备

Also Published As

Publication number Publication date
TW202249488A (zh) 2022-12-16
CN117321991A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022246724A1 (zh) 点云解码、上采样及模型训练方法与装置
WO2022062369A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022257528A1 (zh) 点云属性的预测方法、装置及相关设备
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2024065269A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
WO2023240455A1 (zh) 点云编码方法、编码装置、编码设备以及存储介质
WO2024065270A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024026712A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065272A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023123284A1 (zh) 一种解码方法、编码方法、解码器、编码器及存储介质
WO2023097694A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2024065271A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022257155A1 (zh) 解码方法、编码方法、解码器、编码器以及编解码设备
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023103565A1 (zh) 点云属性信息的编解码方法、装置、设备及存储介质
WO2023197338A1 (zh) 索引确定方法、装置、解码器以及编码器
WO2023023918A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2022257143A1 (zh) 帧内预测、编解码方法及装置、编解码器、设备、介质

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE