WO2022257528A1 - 点云属性的预测方法、装置及相关设备 - Google Patents

点云属性的预测方法、装置及相关设备 Download PDF

Info

Publication number
WO2022257528A1
WO2022257528A1 PCT/CN2022/080809 CN2022080809W WO2022257528A1 WO 2022257528 A1 WO2022257528 A1 WO 2022257528A1 CN 2022080809 W CN2022080809 W CN 2022080809W WO 2022257528 A1 WO2022257528 A1 WO 2022257528A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
neighbor
parameters
preset
points
Prior art date
Application number
PCT/CN2022/080809
Other languages
English (en)
French (fr)
Inventor
朱文婕
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to US17/989,523 priority Critical patent/US20230082456A1/en
Publication of WO2022257528A1 publication Critical patent/WO2022257528A1/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

Definitions

  • the embodiment of the present application relates to the field of video codec technology, and in particular to point cloud attribute prediction technology.
  • Point cloud data is usually transmitted between video production equipment and video playback equipment in the form of point cloud media files.
  • video production equipment needs to compress the point cloud data before transmission.
  • the compression of point cloud data mainly includes the compression of position information and the compression of attribute information.
  • the decoder usually needs to restore the compressed attribute information in the point cloud data through prediction, for example, obtain one or more adjacent points of the current point from the encoded point, and then according to the adjacent point attribute information to predict the attribute information of the current point.
  • the current prediction process of point cloud attributes is to obtain preset neighbor point parameters, such as the number of candidate points, the number of neighbor points, etc., and then determine the predicted value of point cloud attribute information according to the preset neighbor point parameters.
  • preset neighbor point parameters such as the number of candidate points, the number of neighbor points, etc.
  • this method of predicting point cloud attributes based on preset neighbor point parameters is relatively simple, and the prediction efficiency is low, which also affects the decoding efficiency accordingly.
  • the present application provides a method, device, and related equipment for predicting point cloud attributes, which determine neighbor point parameters through a new method, thereby enriching the prediction methods for determining point cloud attributes.
  • the present application provides a method for predicting point cloud attributes, executed by a computer device, including:
  • the target association relationship including at least one association among preset association relationships between neighbor point parameters and preset association relationships between the spatial parameters of the point cloud and the neighbor point parameters relation;
  • neighbor point parameters are obtained, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the preset distance between the neighbor point and the current point At least one of d, the N and K are both positive integers, and the d is a positive number;
  • the present application provides a method for predicting point cloud attributes, executed by a computer device, including:
  • the target association relationship including at least one association among preset association relationships between neighbor point parameters and preset association relationships between the spatial parameters of the point cloud and the neighbor point parameters relation;
  • neighbor point parameters are obtained, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the preset distance d between the neighbor point and the current point At least one of, the N and K are both positive integers, and the d is a positive number;
  • a predicted value of the attribute information of the current point is determined according to the attribute information of at least one neighbor point of the current point.
  • a device for predicting point cloud attributes including:
  • the decoding unit is used to decode the point cloud code stream to obtain decoded points in the point cloud;
  • a condition determination unit configured to determine a target association relationship, the target association relationship including a preset association relationship between the neighbor point parameters, and a preset relationship between the spatial parameters of the point cloud and the neighbor point parameters at least one of the association relationships of ;
  • a parameter determination unit configured to obtain neighbor point parameters according to the target association relationship, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the relationship between the neighbor point and the current point At least one of the preset distances d between, said N, K are both positive integers, said d is a positive number;
  • a selection unit configured to select at least one neighbor point of the current point from the decoded points according to the neighbor point parameters
  • a prediction unit configured to determine a predicted value of the attribute information of the current point according to the attribute information of at least one neighbor point of the current point
  • a device for predicting point cloud attributes including:
  • An acquisition unit used to acquire encoded points in the point cloud
  • a condition determination unit configured to determine a target association relationship, the target association relationship including a preset association relationship between the neighbor point parameters, and a preset relationship between the spatial parameters of the point cloud and the neighbor point parameters at least one of the association relationships of ;
  • a parameter determination unit configured to obtain neighbor point parameters according to the target association relationship, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the relationship between the neighbor point and the current point At least one of the preset distances d between, said N, K are both positive integers, said d is a positive number;
  • a selection unit configured to select at least one neighbor point of the current point from the encoded points according to the neighbor point parameters
  • a prediction unit configured to determine a predicted value of the attribute information of the current point according to the attribute information of at least one neighbor point of the current point
  • an encoder including a processor and a memory.
  • the memory is used to store a computer program
  • 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 each implementation manner thereof.
  • a 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 second aspect or each implementation manner thereof.
  • a chip for implementing any one of the 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 each implementation thereof.
  • a computer-readable storage medium for storing a computer program, and the computer program causes a computer to execute the method in any one of the above-mentioned first to second aspects or their respective implementation manners.
  • a computer program product including computer program instructions, the computer program instructions causing a computer to execute the method in any one of the first to second aspects above or in each implementation manner thereof.
  • a computer program which, when running on a computer, causes the computer to execute the method in any one of the first to second aspects above or in each implementation manner thereof.
  • This application obtains the decoded points in the point cloud by decoding the point cloud code stream; determines the target relationship, the target relationship includes the relationship between the preset neighbor point parameters, and the preset point cloud spatial parameters and neighbors At least one association relationship in the association relationship between point parameters; according to the target association relationship, the neighbor point parameters used when determining the neighbor points of the current point are obtained, wherein the neighbor point parameters include the number of candidate points N of the current point, At least one of the number K of neighbor points and the preset distance d between the neighbor point and the current point; according to the neighbor point parameters, from the decoded points, select at least one neighbor point of the current point; according to at least one of the current point The attribute information of the neighbor point is used to determine the predicted value of the attribute information of the current point.
  • the present application determines the neighbor point parameters through the target association relationship, which enriches the way of determining the predicted value of the point cloud attribute compared to the way of directly preset the neighbor point parameters.
  • the embodiment of the present application determines the neighbor point parameters according to the target association relationship, which can improve the accuracy of the determined neighbor point parameters. Based on the accurate neighbor point parameters, it can be accurately determined The prediction value of the attribute information of the current point is obtained, thereby improving the decoding efficiency of decoding.
  • FIG. 1 is a schematic block diagram of a point cloud video encoding and decoding system involved in an embodiment of the present application
  • Fig. 2 is a schematic block diagram of a coding framework provided by an embodiment of the present application.
  • Fig. 3 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • Fig. 4 is the flowchart of the prediction method of the point cloud attribute of an embodiment provided by the embodiment of the present application.
  • Figure 5a is a schematic diagram of the arrangement of point clouds under the original Morton order
  • Figure 5b is a schematic diagram of the arrangement of point clouds under the offset Morton order
  • Fig. 5c is a schematic diagram of the spatial relationship of adjacent points of the current point
  • Figure 5d is a schematic diagram of the Morton code relationship between adjacent points coplanar with the current point
  • Figure 5e is a schematic diagram of the Morton code relationship between adjacent points collinear with the current point
  • FIG. 6 is a flow chart of a method for predicting point cloud attributes of an embodiment provided by an embodiment of the present application.
  • Fig. 7 is a schematic block diagram of a prediction device of a point cloud attribute according to an embodiment of the present application.
  • Fig. 8 is a schematic block diagram of a device for predicting a point cloud attribute according to an embodiment of the present application.
  • Fig. 9 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
  • Point cloud refers to a set of discrete point sets that are randomly distributed in space and are used to express the spatial structure and surface properties of 3D objects or 3D scenes.
  • Point cloud data is a specific record form of point cloud, and the points in the point cloud can be described by the position information of the point and the attribute information of the point.
  • 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.
  • color information may be information on any color space.
  • color information may be (RGB).
  • the color information can be luminance chromaticity (YcbCr, YUV) information; Y represents brightness (Luma), Cb (U) represents blue color difference, Cr (V) represents red, and U and V represent chromaticity (Chroma ), used to describe the color difference information.
  • YcbCr, YUV luminance chromaticity
  • Cb (U) represents blue color difference
  • Cr (V) represents red
  • U and V represent chromaticity (Chroma ), used to describe the color difference information.
  • the point cloud obtained by the laser measurement principle the points in it can be described by the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
  • the point cloud obtained according to the principle of photogrammetry the points in it can be described by the three-dimensional coordinate information of the point and the color information of the point.
  • the point cloud is obtained by combining the principles of laser measurement and photogrammetry, and the points in it can be described by the three-dimensional coordinate information of the point,
  • Ways to obtain point cloud data may include but not limited to at least one of the following: (1) Generated by computer equipment.
  • the computer device can generate point cloud data according to virtual three-dimensional objects and virtual three-dimensional scenes.
  • 3D photography equipment that is, a group of cameras, or camera equipment with multiple lenses and sensors
  • the dynamic real world can be obtained through 3D photography Point cloud data of 3D objects or 3D scenes.
  • 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.
  • Point cloud can be divided into dense point cloud and sparse point cloud according to the way of acquisition.
  • point cloud can be 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 clouds can be divided into two categories according to their usage:
  • 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.
  • FIG. 1 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. 1 is just an example, and the point cloud encoding and decoding system involved in the embodiment of the present application includes but is not limited to that shown in FIG. 1 .
  • the point cloud encoding and decoding system includes an encoding device 110 and a decoding device 120 .
  • the encoding device 110 is used to encode (compress) the point cloud data to generate a code stream, and transmit the code stream to the decoding device 120 .
  • the decoding device 120 is configured to decode the code stream encoded by the encoding device 110 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, that is, the encoding device 110 and the decoding device 120 in the embodiment of the present application can include Wider range of devices including, but not limited to, 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, on-board 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 for directly transmitting point cloud data encoded by encoding device 110 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, and 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 .
  • Storage media include various local access data storage media, such as optical discs, DVDs, flash memory, and the like.
  • the decoding device 120 can read the encoded point cloud data from the storage medium.
  • the channel 130 includes a storage server, which can store the point cloud data encoded by the encoding device 110 .
  • the decoding device 120 can download the encoded point cloud data stored by it from the storage server.
  • the storage server can also store the encoded point cloud data, and can send the encoded point cloud data to the decoding device 120.
  • the storage server can be, for example, a web server (for example, for a website), a file transfer protocol (FTP ) server, etc.
  • 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 archiving device, a point cloud input interface, and a computer graphics system, wherein the point cloud input interface is used to obtain a point cloud from a point cloud content provider.
  • the point cloud data is received, and the computer graphics system is used to generate the 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 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 can be integrated with the decoding device 120 and independent from 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. 1 is only an example, and the technical solution of the embodiment of the present application is not limited to be applied to the point cloud encoding and decoding system shown in Fig. Cloud decoding.
  • the point cloud is a collection of massive points, storing the point cloud will not only consume a large amount of memory, but also is not conducive to transmission, and there is not such a large bandwidth to support the direct transmission of the point cloud at the network layer without compression, so the point cloud Compression is necessary.
  • point clouds can be compressed through point cloud encoding frameworks.
  • the point cloud coding framework can be a geometry-based point cloud compression (Geometry Point Cloud Compression, G-PCC) codec framework provided by the Moving Picture Experts Group (Moving Picture Experts Group, MPEG), or a video-based point cloud compression (Video Point Cloud Compression, V-PCC) codec framework, or the AVS-PCC codec framework provided by the Audio Video Standard (AVS) organization. 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 type of static point cloud and the third type of dynamically acquired point cloud, and 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, and the V-PCC codec framework is also called point cloud codec TMC2.
  • Fig. 2 is a schematic block diagram of a coding framework provided by an embodiment of the present application.
  • the encoding framework 200 can acquire position information (also referred to as geometric information or geometric position) and attribute information of the point cloud from the acquisition device.
  • position information also referred to as geometric information or geometric position
  • attribute information of the point cloud includes location encoding and attribute encoding.
  • the process of position encoding includes: coordinate transformation of the original point cloud, quantization to remove duplicate points and other preprocessing; construction of an octree and encoding to form a geometric code stream.
  • the process of attribute encoding includes: given the reconstruction information of the position information of the input point cloud and the real value of the attribute information, select one of the three prediction modes for point cloud prediction, quantify the predicted results, and perform arithmetic coding Form an attribute code stream.
  • position coding can be achieved by the following units:
  • Coordinate translation Coordinate quantization unit 201 Octree construction unit 202 , Octree reconstruction unit 203 , Entropy coding unit 204 .
  • Coordinate translation The coordinate quantization unit 201 can be used to transform the world coordinates of points in the point cloud into relative coordinates, and quantize the coordinates to reduce the number of coordinates; different points may be given the same coordinates after quantization.
  • the octree construction unit 202 may use an octree encoding method to encode position information of 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 octree reconstruction unit 203 is used to reconstruct the geometric position of each point in the point cloud to obtain the reconstructed geometric position of the point.
  • the entropy coding unit 204 can adopt the entropy coding method to perform arithmetic coding on the position information output by the octree construction unit 202, that is, use the arithmetic coding method to generate a geometric code stream according to the position information output by the octree construction unit 202; the geometric code stream Also known as geometry bitstream.
  • Attribute coding can be achieved by the following units:
  • a spatial transformation unit 210 an attribute interpolation unit 211 , an attribute prediction unit 212 , a residual quantization unit 213 and an entropy encoding unit 214 .
  • the space transformation unit 210 can be used to transform the RGB color space of points in the point cloud into YCbCr format or other formats.
  • the attribute interpolation unit 211 can be used to convert attribute information of points in the point cloud to minimize attribute distortion.
  • the attribute conversion unit 211 can be used to obtain the real value of the attribute information of the point.
  • the attribute information may be color information of dots.
  • the attribute prediction unit 212 can be used to predict the attribute information of the point in the point cloud to obtain the predicted value of the point's attribute information, and then obtain the residual value of the point's attribute information based on the predicted value of the point's attribute information.
  • the residual value of the point's attribute information may be the difference between the actual value of the point's attribute information and the predicted value of the point's attribute information.
  • the residual quantization unit 213 may be used to quantize residual values of attribute information of points.
  • the entropy coding unit 214 can use zero run length coding (Zero run length coding) to entropy code the residual value of the attribute information of the point to obtain the attribute code stream.
  • the attribute code stream may be bit stream information.
  • Pre-processing including coordinate transformation (Transform coordinates) and voxelization (Voxelize). Through zooming and panning operations, the point cloud data in 3D space is converted into integer form, and the minimum geometric position is moved to the coordinate origin.
  • Geometry encoding includes two modes, which can be used under different conditions:
  • Octree-based geometric encoding Octree is a tree-shaped data structure. In 3D space division, the preset bounding box is evenly divided, and each node has eight child nodes. . According to the occupancy of each child node of the octree, use '1' and '0' indications to obtain occupancy code information (occupancy code) as the code stream of point cloud geometric information.
  • Geometry quantization The fineness of quantization is usually determined by the quantization parameter (QP).
  • QP quantization parameter
  • QP quantization parameter
  • point cloud coding quantization is performed directly on the coordinate information of points.
  • Geometry entropy encoding For the occupancy code information of the octree, perform statistical compression encoding, and finally output a binary (0 or 1) compressed code stream.
  • Statistical compression coding is a lossless coding method, which can effectively reduce the code rate required to express the same signal.
  • the commonly used statistical compression coding method is context-based binary arithmetic coding (CABAC, Content Adaptive Binary Arithmetic Coding).
  • Attribute recoloring In the case of lossy encoding, after the geometric information is encoded, the encoding end needs to decode and reconstruct the geometric information, that is, restore the coordinate information of each point in the 3D point cloud. Find the corresponding attribute information of one or more adjacent points in the original point cloud as the attribute information of the reconstructed point.
  • Attribute predictive coding During attribute predictive coding, one or more points are selected as the predicted value based on the proximity relationship of geometric information or attribute information, and the final predicted value of the attribute is obtained by weighted average, and then the real value is calculated. The difference between the predicted value and the predicted value is encoded.
  • Attribute transformation coding (Transform): The attribute transformation coding includes three modes, which can be used under different conditions.
  • (a) Predicting Transform Select a sub-point set according to the distance, divide the point cloud into multiple different levels of detail (Level of Detail, LoD), and realize the point cloud representation from rough to fine. Bottom-up prediction can be realized between adjacent layers, that is, the attribute information of the points introduced in the fine layer is predicted from the adjacent points in the rough layer, and the corresponding residual signal is obtained. Among them, the lowest point is coded as reference information.
  • Region Adaptive Hierarchical Transform After the attribute information is transformed by RAHT, the signal is converted into the transform domain, which is called the transform coefficient.
  • Attribute quantization The fineness of quantization is usually determined by the quantization parameter (QP).
  • QP quantization parameter
  • entropy coding is performed after quantization of the residual value
  • RAHT entropy coding is performed after quantization of transform coefficients.
  • Attribute entropy coding The quantized attribute residual signal or transformation coefficient generally uses run length coding (run length coding) and arithmetic coding (arithmetic coding) to achieve the final compression. Corresponding encoding modes, quantization parameters and other information are also encoded using an entropy encoder.
  • Fig. 3 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • the decoding framework 300 can obtain the code stream of the point cloud from the encoding device, and obtain the position information and attribute information of the points in the point cloud by parsing the code stream.
  • the decoding of point cloud includes position decoding and attribute decoding.
  • the process of position decoding includes: performing arithmetic decoding on the geometric code stream; merging after constructing the octree, and reconstructing the position information of the point to obtain the reconstruction information of the position information of the point; Transform to get the position information of the point.
  • the location information of a point may also be referred to as geometric information of a point.
  • the attribute decoding process includes: obtaining the residual value of the attribute information of the point cloud by parsing the attribute code stream; dequantizing the residual value of the attribute information of the point to obtain the residual value of the attribute information of the dequantized point value; based on the reconstruction information of the point's position information obtained in the position decoding process, one of the three prediction modes is selected for point cloud prediction, and the reconstruction value of the point's attribute information is obtained; the color space is performed on the reconstruction value of the point's attribute information Inverse transformation to get the decoded point cloud.
  • position decoding can be achieved by the following units:
  • An entropy decoding unit 301 An entropy decoding unit 301 , an octree reconstruction unit 302 , an inverse coordinate quantization unit 303 and an inverse coordinate translation unit 304 .
  • Attribute coding can be achieved by the following units:
  • An entropy decoding unit 310 An entropy decoding unit 310 , an inverse quantization unit 311 , an attribute reconstruction unit 312 and an inverse spatial transformation unit 313 .
  • Decoding is a reverse process of encoding.
  • the functions of each unit in the decoding framework 300 can refer to the functions of the corresponding units in the encoding framework 200 .
  • the decoder After the decoder obtains the compressed code stream, it first performs entropy decoding to obtain various mode information, quantized geometric information, and attribute information.
  • the geometric information is dequantized to obtain the reconstructed 3D point position information.
  • the attribute information is dequantized to obtain the residual information, and the reference signal is confirmed according to the transformation mode adopted to obtain the reconstructed attribute information, which corresponds to the geometric information one by one in order to generate the output reconstructed point cloud data.
  • the decoding framework 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; for example, calculate the zero The quantity (zero_cnt) to decode the residual based on zero_cnt; then, the decoding framework 300 can perform inverse quantization based on the decoded residual value, and add the residual value after inverse quantization to the predicted value of the current point to obtain The reconstruction value of the point cloud until all point clouds are decoded.
  • the current point will be used as the nearest neighbor of the point in the subsequent LoD, and then the attribute information of the subsequent point will be predicted by using the reconstruction value of the current point.
  • the point cloud encoder 200 mainly includes two parts functionally: a position encoding module and an attribute encoding module, wherein the position encoding module is used to encode the position information of the point cloud to form a geometric code stream, and attribute encoding The module is used to realize the encoding of the attribute information of the point cloud and form the attribute code stream.
  • This application mainly involves the encoding of the attribute information.
  • the prediction, quantization, encoding, filtering and other mode information or parameter information determined by the encoder when encoding the attribute information is carried in the attribute code stream when necessary.
  • the decoding end analyzes and determines the same mode information or parameter information as the encoding end, such as prediction, quantization, encoding, and filtering, so as to ensure that the reconstruction value of the attribute information obtained by the decoding end is the same as that obtained by the encoding end.
  • the reconstructed values of the attribute information are the same.
  • Fig. 4 is a flowchart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • the execution subject of the method is a computer device, which may specifically be a device with the function of determining the predicted value of a point cloud, such as a point cloud
  • An attribute prediction device the point cloud attribute prediction device may be the above-mentioned point cloud decoder, or a part of the point cloud decoder. As shown in Figure 4, this embodiment includes:
  • this embodiment relates to the decoding process of the attribute information of the point cloud, and the decoding of the attribute information of the point cloud is performed after the position information of the point cloud is decoded.
  • the position information of the point cloud is also called the geometric information of the point cloud.
  • a decoded point may be understood as a point whose geometric information and attribute information have been decoded.
  • the point cloud code stream includes a geometry code stream and an attribute code stream.
  • the decoding end first decodes the point cloud geometry code stream to obtain the reconstruction value of the geometric information of the points in the point cloud.
  • the attribute code stream of the point cloud is decoded to obtain the reconstruction value of the attribute information of the point cloud, and the geometric information and the attribute information of the point cloud are combined to obtain the decoded point cloud.
  • the embodiment of the present application relates to the decoding process of the point cloud attribute code stream.
  • the decoding process of each point in the point cloud is the same.
  • the current point to be decoded in the point cloud it is necessary to obtain decoded points in the point cloud, and select at least one neighbor point of the current point from these decoded points.
  • the reconstruction value of the attribute information of at least one neighbor point of the current point the predicted value of the attribute information of the current point is obtained, and then according to the predicted value of the attribute information of the current point and the current point analyzed from the attribute code stream of the point cloud
  • the residual value of the attribute information is used to obtain the reconstructed value of the attribute information of the current point.
  • the embodiment of the present application proposes a new method for determining parameters of neighbor points, which is specifically shown in S420 below.
  • S420 Determine a target association relationship, where the target association relationship includes at least one of preset association relationships between neighbor point parameters and preset association relationships between point cloud spatial parameters and neighbor point parameters.
  • the neighbor point parameters include at least one of the following: at least one of the number of candidate points N of the current point, the number of neighbor points K, and the preset distance d between the neighbor point and the current point, N and K are both positive Integer, d is a positive number.
  • the spatial parameters of the point cloud include at least one of the following: point cloud accuracy, point cloud density, and point cloud quantization step size.
  • point cloud precision refers to the data representation precision (voxelized precision) after point cloud voxelization, or the bounding box size (boundingboxsize).
  • Point cloud density refers to the smallest point-to-point distance representation of the point cloud.
  • the quantization step of the point cloud includes the point cloud geometry quantization step and the point cloud attribute quantization step.
  • the association relationship between neighbor point parameters can be an additive relationship, for example, the sum of the number of candidate points N and the number of neighbor points K is equal to the first preset sum value; or, the number of candidate points N, the number of neighbor points The sum of K and the preset distance d is equal to the second preset sum value; or, the sum of the number of candidate points N and the number of neighbor points d is equal to the third preset sum value; or, the sum of the number of neighbor points K and the preset distance The sum of d is equal to the fourth preset sum value and so on.
  • the relationship between the neighbor point parameters can be a subtraction relationship, for example, the difference between the number of candidate points N and the number of neighbor points K is equal to the first preset difference; or, the number of candidate points N and the preset distance The difference of d is equal to the second preset difference; or, the difference between the number of neighbor points K and the preset distance d is equal to the third preset difference and so on.
  • the relationship between the neighbor point parameters can be a multiplicative relationship, for example, the product of the number of candidate points N and the number of neighbor points K is equal to the first preset product value; or, the number of candidate points N and the preset distance The product of d is equal to the second preset product value; or, the product of the number of neighbor points K and the preset distance d is equal to the third preset product value and so on.
  • the association relationship between neighbor point parameters may be a ratio relationship, for example, the ratio of the number of candidate points N to the number of neighbor points K is equal to the first preset ratio; or, the number of candidate points N and the preset distance d The ratio of is equal to the second preset ratio; or, the ratio of the number of neighbor points K to the preset distance d is equal to the third preset ratio and so on.
  • the embodiment of the present application does not limit the specific form of the association relationship between the preset spatial parameters of the point cloud and the neighbor point parameters.
  • the association relationship between the spatial parameters of the point cloud and the neighbor point parameters can be a multiple relationship, for example, the ratio of the number of candidate points N to the accuracy of the point cloud is equal to the first preset multiple; or, the number of neighbor points K and The ratio of the point cloud precision is equal to the second preset multiple; or, the ratio of the preset distance d to the point cloud precision is equal to the third preset multiple; or, the ratio of the number of candidate points N to the point cloud density is equal to the fourth preset multiple ; Or, the ratio of the number of neighbor points K to the point cloud density is equal to the fifth preset multiple; or, the ratio of the preset distance d to the point cloud density is equal to the sixth preset multiple, etc.
  • the relationship between the spatial parameters of the point cloud and the neighbor point parameters can be a power relationship, for example, the number of candidate points N is equal to the first preset power of the point cloud accuracy; or, the number of neighbor points K is equal to the second preset power of the point cloud accuracy; or, the preset distance d is equal to the third preset power of the point cloud accuracy; or, the number of candidate points N is equal to the fourth preset power of the point cloud density or, the number of neighbor points K is equal to the fifth preset power of the point cloud density; or, the preset distance d is equal to the sixth preset power of the point cloud density, etc.
  • the ways for the decoder to determine the target association relationship include but are not limited to the following:
  • Method 1 the above-mentioned object association relationship is carried in the point cloud code stream, and the decoding end obtains the object association relationship by decoding the point cloud code stream.
  • the above-mentioned target association relationship is negotiated in advance by the codec end.
  • the target association relationship includes: at least one of the preset association relationship between neighbor point parameters, and the preset association relationship between the spatial parameters of the point cloud and the neighbor point parameters. That is to say, the relationship between neighbor point parameters can be used to determine the number of candidate points N of the current point, the number of neighbor points K, and the preset distance d between the neighbor point and the current point; or, using the point cloud
  • the correlation between the spatial parameters and the neighbor point parameters determines the number of candidate points N of the current point, the number of neighbor points K, and the preset distance d between the neighbor point and the current point; or, using one of the neighbor point parameters
  • the association relationship between determine the number of candidate points N, the number of neighbor points K, some parameters in the preset distance d between the neighbor point and the current point, use the association relationship between the spatial parameters of the point cloud and the neighbor point parameters , to determine another part of the parameters in the number of candidate points N, the number of neighbor points K, and the preset distance d between the neighbor point and the current point
  • the target association relationship is the association relationship between the preset neighbor point parameters, or the association relationship between the preset point cloud spatial parameters and the neighbor point parameters
  • the neighbor points are obtained according to the target association relationship parameter process.
  • the target association relationship is the association relationship between the preset neighbor point parameters.
  • the foregoing association relationship between neighbor point parameters includes an association relationship between reference parameters and non-reference parameters in the neighbor point parameters.
  • the reference parameter can be understood as a neighbor point parameter obtained by direct decoding, or a preset neighbor point parameter
  • the non-reference parameter can be understood as a neighbor point parameter calculated through an association relationship. That is to say, the reference parameter is a neighbor point parameter obtained without calculation, and the non-reference parameter is a neighbor point parameter obtained through calculation.
  • the above S430 includes S430-A1 and S430-A2:
  • S430-A2 Determine the non-reference parameter among the neighbor point parameters according to the reference parameter among the neighbor point parameters and the association relationship between the reference parameter and the non-reference parameter among the neighbor point parameters.
  • the implementation methods of the above S430-A1 include but are not limited to the following:
  • Method 1 The encoding end carries the reference parameters in the neighbor point parameters in the point cloud code stream, and the decoding end obtains the reference parameters in the neighbor point parameters by decoding the point cloud code stream.
  • the reference parameter in the neighbor point parameters is preset, for example, the reference parameter is N, and the preset value of N is 10.
  • the implementation methods of the above S430-A2 include but are not limited to the following methods:
  • the above S430-A2 includes: according to the first reference parameter, the association relationship between the first reference parameter and the first non-reference parameter in the neighbor point parameters , and the association relationship between the first reference parameter and the second non-reference parameter in the neighbor point parameters, and determine the first non-reference parameter and the second non-reference parameter.
  • the first reference parameter is any one of N, K, and d
  • the first non-reference parameter and the second non-reference parameter are parameters of neighbor point parameters except the first reference parameter.
  • the first reference parameter is the number of candidate points N, then according to the number of candidate points N, and the relationship between the preset distance d and the number of candidate points N, the preset distance d is calculated, and according to the number of candidate points
  • the number N, and the relationship between the number k of neighbor points and the number N of candidate points are calculated to obtain the number k of neighbor points.
  • the above association relationship may be a preset mapping function.
  • the above mapping function may be a ratio, for example, the preset distance d is calculated according to the number N of candidate points and the first ratio between the preset distance d and the number N of candidate points. According to the number N of candidate points and the second ratio between the number k of neighbor points and the number N of candidate points, the number k of neighbor points is calculated.
  • the first benchmark parameter is the number k of neighbor points, then according to the number k of neighbor points, and the association relationship between the preset distance d and the number k of neighbor points, the preset distance d is calculated, according to the number k of neighbor points, and The correlation between the number k of neighbor points and the number N of candidate points is calculated to obtain the number N of candidate points.
  • the above association relationship may be a preset mapping function.
  • the above mapping function may be a ratio, for example, the preset distance d is calculated according to the number k of neighbor points and a third ratio between the preset distance d and the number k of neighbor points.
  • the number N of candidate points is calculated according to the number k of neighbor points and the fourth ratio between the number k of neighbor points and the number N of candidate points.
  • the first reference parameter is the preset distance d, then according to the preset distance d, and the association relationship between the preset distance d and the number k of neighbor points, the number k of neighbor points is calculated, according to the preset distance d, and the preset The relationship between the distance d and the number N of candidate points is calculated to obtain the number N of candidate points.
  • the above association relationship may be a preset mapping function.
  • the above mapping function may be a ratio, for example, the number k of neighbor points is calculated according to the preset distance d and a fifth ratio between the preset distance d and the number k of neighbor points.
  • the number N of candidate points is calculated according to the preset distance d and the sixth ratio between the preset distance d and the number N of candidate points.
  • association relationship between the first reference parameter and the first non-reference parameter and the association relationship between the first reference parameter and the second non-reference parameter are only examples. In practical applications, the two The association relationship may also be other relationships, which are not limited in this application.
  • the reference parameters in the neighbor point parameters include the first reference parameter and the second reference parameter, then according to the correlation between the first reference parameter and the third non-reference parameter in the neighbor point parameters, or the second reference parameter The association relationship with the third non-reference parameter in the neighbor point parameters determines the third non-reference parameter.
  • the third non-reference parameter is any one of N, K, and d
  • the first reference parameter and the second reference parameter are parameters of neighbor point parameters except the third non-reference parameter.
  • the first benchmark parameter is the number of candidate points N
  • the second benchmark parameter is the number of neighbor points k
  • calculate The preset distance d is obtained, or the preset distance d is calculated according to the number k of neighbor points and the relationship between the number k of neighbor points and the preset distance d.
  • the above association relationship may be a preset mapping function.
  • the above mapping function can be a ratio, for example, according to the number of candidate points N, and the ratio 1 between the number of candidate points N and the preset distance d, the preset distance d is calculated, or, according to the number of neighbor points k, and the ratio 2 between the number of neighbor points k and the preset distance d, the preset distance d is calculated.
  • the first benchmark parameter is the number of candidate points N
  • the second benchmark parameter is the preset distance d
  • the above association relationship may be a preset mapping function.
  • the above-mentioned mapping function may be a ratio, for example, according to the number of candidate points N, and the ratio 3 between the number of candidate points N and the number of neighbor points k, the number of neighbor points k is calculated, or, according to the preset distance d, and the ratio 4 between the number k of neighbor points and the preset distance d, the number k of neighbor points is calculated.
  • the first reference parameter is the number k of neighbor points
  • the second reference parameter is the preset distance d, then according to the number k of neighbor points, and the relationship between the number N of candidate points and the number k of neighbor points, the candidate
  • the number N of selected points, or, the number N of candidate points is calculated according to the preset distance d and the correlation between the number N of candidate points and the preset distance d.
  • the above association relationship may be a preset mapping function.
  • the above-mentioned mapping function may be a ratio, for example, according to the number of neighbor points k, and the ratio 5 between the number of candidate points N and the number of neighbor points k, the number of candidate points N is calculated, or, according to the preset distance d, and the ratio 6 between the number N of candidate points and the preset distance d, and the number N of candidate points is calculated.
  • association relationship between the first reference parameter and the third non-reference parameter and the association relationship between the second reference parameter and the third non-reference parameter are only examples, and in practical applications, the two The association relationship may also be other relationships, which are not limited in this application.
  • Method 3 Determine the number N of candidate points, the number k of neighbor points, and the preset distance d according to the correlation among the number N of candidate points, the number k of neighbor points, and the preset distance d.
  • the above describes the process of obtaining the neighbor point parameters of the current point according to the relation between the neighbor point parameters when the target relation is the relation between the preset neighbor point parameters.
  • the target relationship is the relationship between the spatial parameters of the preset point cloud and the neighbor point parameters
  • the neighbors of the current point are obtained.
  • the target association relationship is the association relationship between the preset point cloud spatial parameters and neighbor point parameters.
  • the spatial parameters of the point cloud include at least one of point cloud precision, point cloud density and point cloud quantization step size.
  • the implementation of the above S430 includes but not limited to the following:
  • the above S430 includes: determining the number of candidate points N according to the association between the point cloud accuracy and the number of candidate points N, for example, obtaining the point cloud accuracy, and Determine the multiple or power of point cloud accuracy as the number of candidate points N.
  • the above S430 includes: determining the preset distance d according to the correlation between the point cloud density and the preset distance d, for example, obtaining the point cloud density, and The multiple of cloud density, determined as the preset distance d.
  • the above S430 includes: determining the number K of neighbor points according to the association between the point cloud accuracy and the number K of neighbor points, for example, obtaining the point cloud accuracy, and The multiple of cloud precision, determined as the number of neighbor points K.
  • the above S430 includes: determining the number N of candidate points according to the correlation between the point cloud quantization step size and the number N of candidate points, for example, obtaining point The cloud quantization step size, and the multiple of the point cloud quantization step size is determined as the number N of candidate points.
  • association relationship in the above ways 1 to 4 can be one of the preset functional relationship, the preset calculation relationship, the preset mapping relationship or any combination thereof, which is not limited in this embodiment of the present application .
  • the acquisition methods of the spatial parameters of the point cloud such as the above-mentioned point cloud density, point cloud accuracy, and point cloud quantization step size include but are not limited to the following methods:
  • Method 1 The encoding end carries the spatial parameters of the point cloud in the point cloud code stream, and the decoding end obtains the spatial parameters of the point cloud by analyzing the point cloud code stream.
  • the second way is to analyze the point cloud code stream to obtain the geometric information of the points in the point cloud, and determine the spatial parameters of the cloud according to the geometric information of the points in the point cloud.
  • the point cloud density is obtained according to the geometric information of the points in the point cloud
  • the minimum distance between points in the point cloud is obtained according to the geometric information of the points in the point cloud, and the minimum distance is determined as the point cloud density.
  • At least one neighbor point of the current point is selected from the decoded points according to at least one of the number N of candidate points of the current point, the number K of neighbor points, and the preset distance d. For example, from the decoded points, select K points as the neighbor points of the current point. Alternatively, from the decoded points, select a point whose distance from the current point is less than a preset distance d, as a neighbor point of the current point. Alternatively, select N candidate points from the decoded points, and select a point whose distance from the current point is smaller than a preset distance threshold from the N candidate points as a neighbor point of the current point.
  • the attribute information of the current point includes at least one of the color attribute and the reflectance attribute.
  • the manner of determining the neighbor points of the current point may be different.
  • Example 1 if the attribute information of the current point is reflectance information, the methods of determining the neighbor points of the current point include but are not limited to the following methods:
  • Morton sorting can be used to select the neighbor points of the current point, specifically:
  • the Morton code corresponding to the cloud is Morton order 2 according to Morton sorting, as shown in Figure 5b.
  • A, B, C, and D in Figure 5a are moved to different positions in Figure 5b, and the corresponding Morton codes are also changed, but their relative positions remain unchanged.
  • the Morton code of point D is 23, and the Morton code of its neighbor point B is 21, so point B can be found by searching at most two points forward from point D.
  • point B (Morton code 2) needs to be searched forward 14 points from point D (Morton code 16).
  • the Morton order coding find the nearest predicted point of the current point, select the first N1 decoded points of the current point in the Morton order 1 as the N1 neighbor points of the current point, the value range of N1 is greater than or equal to 1, in In Morton sequence 2, the first N2 decoded points of the current point are selected as the N2 neighbor points of the current point.
  • the second way is to calculate the first maxNumOfNeighbours (maximum number of neighbor points) decoded points of the current point under the Hilbert (Hilbert) order, and use the maxNumOfNeighbours decoded points as the neighbor points of the current point.
  • maxNumOfNeighbours is N.
  • Example 2 if the attribute information of the current point is color information, the methods of determining the neighbor points of the current point include:
  • the spatial relationship of the neighbor points of the current point is shown in Figure 5c, where the solid line box represents the current point, assuming that the search range of the neighbor points is the 3 ⁇ 3 ⁇ 3 neighborhood of the current point.
  • the Morton code relationship between neighbor points coplanar with the current point within the neighborhood is shown in Figure 5d
  • the Morton code relationship between neighbor points collinear with the current point is shown in Figure 5e below.
  • the above S440 includes S440-A1 and S440-A2:
  • the above S440-A1 selects N candidate points of the current point from the decoded points in the point cloud, including but not limited to the following methods:
  • Method 1 sort the decoded points according to Morton sorting, or Hilbert ordering, or encoding order, and select the top N points from the sorted decoded points.
  • the above N points may be continuous points, for example, select points with sequence numbers i-1, i-2,..., i-N+1 as candidate points.
  • the above N points may be discontinuous points, for example, the N points are equally spaced points.
  • the second way is to sort the decoded points according to Morton sorting, or Hilbert ordering, or encoding order, and select consecutive N points from the sorted decoded points, for example, skip the preorder N1 points, that is, select the points whose serial numbers are i-N1+1, i-N1+2,...,i-N1-N+1.
  • the method of selecting at least one neighbor point of the current point from the N candidate points according to at least one of the number of neighbor points K and the preset distance d in the above S440-A2 includes S440-A21:
  • the distances from the current point in all dimensions are smaller than the first preset distance. That is, among the N candidate points, a candidate point whose distance from the current point in each dimension is smaller than a first preset distance is determined as a neighbor point of the current point.
  • the distance between the candidate point and the current point in each dimension can be understood as the distance between the candidate point and the current point in each of the three dimensions of x, y, and z, each of the two dimensions and 3 distance in one dimension.
  • the distances from the current point in all dimensions are equal to the second preset distance. That is, among the N candidate points, a candidate point whose distance from the current point in each dimension is equal to a second preset distance is determined as a neighbor point of the current point.
  • K candidate points closest to the current point That is, among the N candidate points, K candidate points closest to the current point are determined as neighbor points of the current point.
  • the first K candidate points are sorted according to the preset order. That is, the N candidate points are sorted in a preset order, and the top K candidate points of the N candidate points are determined as neighbor points of the current point.
  • the preset order may be a Morton order, or a Hilbert order, or an encoding order, or an input order, and the like.
  • the above conditions 1 to 4 can be used alone or in combination under certain conditions. For example, first select neighbor points according to condition 1 and condition 2. If there is no neighbor point satisfying condition 1 and condition 2, then Use condition 3 or condition 4 to select neighbor points. Or first select neighbor points according to condition 1 and condition 2, if the selected neighbor points are more than K, then according to condition 4, select K points from the multiple neighbor points selected above in condition 1 and condition 2 as neighbors point.
  • step of S440 at least one neighbor point of the current point is obtained, and then, the following S450 is performed.
  • the average value of the attribute information of at least one neighbor point is used to determine the predicted value of the attribute information of the current point.
  • the weighted average value of the attribute information of at least one neighbor point is determined as the predicted value of the attribute information of the current point.
  • the above S450 includes:
  • S450-A Determine the attribute weight of each neighbor point in at least one neighbor point of the current point.
  • S450-A2 Determine a predicted value of the attribute information of the current point according to the attribute information and attribute weight of at least one neighbor point of the current point.
  • the methods for determining the attribute weight of each neighbor point in at least one neighbor point of the current point in the above S450-A1 include but are not limited to the following methods:
  • the first way is to calculate the weight value of each point according to the distance between the neighbor point and the current point, for example, the reciprocal of the distance is used as the attribute weight of the neighbor point.
  • the above distance may be Manhattan distance or Euclidean distance.
  • w ij is the attribute weight of the jth neighbor point of the current point i
  • (xi, yi, zi) is the geometric information of the current point
  • (xij, yij, zij) is the geometric information of the jth neighbor point.
  • a is the weight coefficient of the first component of the current point
  • b is the weight coefficient of the second component of the current point
  • c is the weight coefficient of the third component of the current point.
  • a, b, and c can be obtained by looking up a table, or are preset fixed values.
  • the attribute weight of each neighbor point in at least one neighbor point of the current point is determined from at least one preset weight.
  • At least one preset weight includes one preset weight, it is determined that the attribute weight of each neighbor point in the at least one neighbor point is the preset weight.
  • At least one preset weight includes multiple preset weights, for each neighbor point in at least one neighbor point, according to the geometric information of the neighbor point and the geometric information of the current point, Determine the first distance between the neighbor point and the current point, and determine the attribute weight of the neighbor point from a plurality of preset weights according to the first distance between the neighbor point and the current point.
  • the weight interval between the first preset weight and the second preset weight is equal to the preset interval.
  • the distances between the current point and at least one neighbor point are respectively d 1 , d 2 ,...,d k (d 1 ⁇ d 2 ⁇ ... ⁇ d k ).
  • the attribute weight of the neighbor point is the third preset weight among multiple preset weights, and if the first distance is greater than the first threshold , it is determined that the attribute weight of the neighbor point is the fourth preset weight among the plurality of preset weights, wherein the third preset weight is smaller than the fourth preset weight.
  • one or more distance values are selected according to the distribution of d 1 , d 2 , . . . , d k to calculate the weight value.
  • the above-mentioned first threshold is the median value of the first distance between each neighbor point and the current point among at least one neighbor point of the current point, that is, the median point of d 1 , d 2 ,...,d k is the first distance
  • the attribute weight of the neighbor point is a third preset weight, such as 1. If the first distance between the neighbor point and the current point is greater than the first threshold, determine that the attribute weight of the neighbor point is a fourth preset weight, such as 2.
  • the weight value is calculated according to the distribution of distance values and geometric parameters.
  • the first threshold is a multiple of the point cloud precision
  • the weight of the neighbor point is determined to be the third preset weight, for example 1. If the first distance between the neighbor point and the current point is greater than a multiple of point cloud precision, then determine the weight of the neighbor point as a fourth preset weight, for example, 2.
  • the number of multiple preset weights is the same as the number of at least one neighbor point, then at least one neighbor point is sorted according to the first distance between the current point and the neighbor point , according to the size of the multiple preset weights, the multiple preset weights are sorted, and the sorted preset weights are determined one by one as the attribute weight of at least one sorted neighbor point.
  • the sorted preset weights are arranged from large to small: a1, a2, a3, and at least one neighbor point is sorted from large to small according to the first distance between it and the current point: A2, A1, A3 , so that the attribute weight of the neighbor point A2 is determined to be a1, the attribute weight of the neighbor point A1 is determined to be a2, and the attribute weight of the neighbor point A3 is determined to be a3.
  • the number of multiple preset weights is not the same as the number of at least one neighbor point, for each neighbor point in at least one neighbor point, combine the multiple preset weights with the The closest preset weight of the reciprocal of the first distance corresponding to the neighbor point is determined as the attribute weight of the neighbor point.
  • the attribute weight of each neighbor point in at least one neighbor point of the current point is determined.
  • the predicted value of the attribute information of the current point is determined. For example, according to the attribute weight of each neighbor point, calculate the weighted value of the attribute information of the attribute weight of at least one neighbor point of the current point, and determine the weighted value as the predicted value of the attribute information of the current point.
  • the attribute information of the neighbor points of the current point refers to the reconstructed attribute information of the neighbor points.
  • the embodiment of the present application also includes other decoding processes of point cloud attribute information.
  • the point cloud code stream is decoded to obtain the residual value of the quantized attribute information of the current point, and then, the residual value of the quantized attribute information of the current point is dequantized to obtain the residual value of the attribute information of the current point.
  • the reconstructed value of the attribute information of the current point for example, the residual value of the attribute information of the current point and The sum of the predicted values of the attribute information of the current point obtained in the above steps is used as the reconstructed value of the attribute information of the current point.
  • the method for predicting point cloud attributes obtains the decoded points in the point cloud by decoding the point cloud code stream; determines the target association relationship, and the target association relationship includes the association relationship between preset neighbor point parameters, And at least one of the association relations between the spatial parameters of the preset point cloud and the neighbor point parameters; according to the target association relationship, the neighbor point parameters are obtained, wherein the neighbor point parameters include the number of candidate points N of the current point, At least one of the number K of neighbor points and the preset distance d between the neighbor point and the current point; according to the neighbor point parameters, from the decoded points, select at least one neighbor point of the current point; according to at least one of the current point The attribute information of the neighbor point is used to determine the predicted value of the attribute information of the current point.
  • the present application determines neighbor point parameters based on the target association relationship, which enriches the way of determining the predicted value of point cloud attributes compared to the way of directly preset neighbor point parameters.
  • the embodiment of the present application determines the neighbor point parameters according to the above-mentioned target association relationship, which can improve the accuracy of the determined neighbor point parameters. Based on the accurately determined neighbor point parameters, it can The predicted value of the attribute information of the current point is accurately determined, thereby improving the decoding efficiency.
  • the method for predicting point cloud attributes at the decoding end is introduced above in conjunction with FIG. 4 .
  • the technical solution of the present application is introduced below in conjunction with FIG. 6 , taking the encoding end as an example.
  • Fig. 6 is a flow chart of a method for predicting point cloud attributes provided by an embodiment of the present application.
  • the execution body of the method is a computer device, specifically, a device having the function of determining the predicted value of a point cloud point, such as the prediction of point cloud attributes
  • the device for predicting the attribute of the point cloud may be the above-mentioned point cloud encoder or a part of the point cloud encoder. As shown in Figure 6, this embodiment includes:
  • S620 Determine a target association relationship, where the target association relationship includes at least one of preset association relationships between neighbor point parameters and preset association relationships between point cloud spatial parameters and neighbor point parameters.
  • the encoding end can also carry the object association relationship in the point cloud code stream, so that the decoding end can parse out the object association relationship from the point cloud code stream.
  • the neighbor point parameters include at least one of the number of candidate points N of the current point, the number of neighbor points K, and the preset distance d between the neighbor point and the current point, N and K are both positive integers, and d is a positive number .
  • the association relationship between neighbor point parameters includes the association relationship between reference parameters and non-reference parameters in the neighbor point parameters.
  • the above S630 includes:
  • S630-A Determine a reference parameter in neighbor point parameters.
  • the above reference parameters are preset.
  • S630-A2 Determine the non-reference parameter among the neighbor point parameters according to the reference parameter among the neighbor point parameters and the association relationship between the reference parameter and the non-reference parameter among the neighbor point parameters.
  • the implementation methods of the above S630-A2 include but are not limited to the following:
  • the reference parameters in the neighbor point parameters include the first reference parameter
  • the first reference parameter is any of the number of candidate points N, the number of neighbor points K, and the preset distance d between the neighbor point and the current point
  • the first non-reference parameter and the second non-reference parameter are parameters in the neighbor point parameters other than the first reference parameter.
  • the reference parameters in the neighbor point parameters include the first reference parameter and the second reference parameter, then according to the correlation between the first reference parameter and the third non-reference parameter in the neighbor point parameters, or the second reference parameter
  • the relationship between the third non-reference parameter and the third non-reference parameter in the neighbor point parameters determines the third non-reference parameter, wherein the third non-reference parameter is the number of candidate points N, the number of neighbor points K, the number of neighbor points and the current point Any one of the preset distances d between, the first reference parameter and the second reference parameter are parameters other than the third non-reference parameter among the neighbor point parameters.
  • the encoding end can also carry the reference parameters in the neighbor point parameters in the point cloud code stream, so that the decoding end can obtain the reference parameters from the point cloud code stream.
  • the target association relationship includes the association relationship between the spatial parameters of the point cloud and the neighbor point parameters.
  • the spatial parameters of the point cloud include at least one of point cloud precision, point cloud density and point cloud quantization step size.
  • the above S630 includes but not limited to the following methods:
  • S630 includes determining the number N of candidate points according to the association between the point cloud accuracy and the number N of candidate points, for example, obtaining the point cloud accuracy, and The multiple or power of the cloud precision is determined as the number of candidate points N.
  • S630 includes determining the preset distance d according to the relationship between the point cloud density and the preset distance d, for example, obtaining the point cloud density, and calculating the point cloud density Multiples of , determined as the preset distance d.
  • S630 includes determining the number K of neighbor points according to the association between the point cloud accuracy and the number K of neighbor points, for example, obtaining the point cloud accuracy, and calculating the point cloud accuracy A multiple of , determined as the number K of neighbor points.
  • S630 includes: determining the number of candidate points N according to the correlation between the point cloud quantization step and the number of candidate points N, for example, obtaining the point cloud Quantize the step size, and determine the multiple of the point cloud quantization step size as the number N of candidate points.
  • association relationship in the above ways 1 to 4 can be one of the preset functional relationship, the preset calculation relationship, the preset mapping relationship or any combination thereof, which is not limited in this embodiment of the present application .
  • the encoding end executes the above-mentioned methods, it needs to obtain the geometric information of the points in the point cloud; according to the geometric information of the points in the point cloud, determine the spatial parameters of the point cloud, where the spatial parameters of the point cloud include point cloud At least one of accuracy, point cloud density, and point cloud quantization step size.
  • the encoding end can also carry the above-mentioned determined spatial parameters of the point cloud in the point cloud code stream, so that the decoding end can parse out the spatial parameters of the point cloud from the point cloud code stream.
  • S640 Select at least one neighbor point of the current point from the encoded points according to the neighbor point parameter.
  • the above S640 includes:
  • the above S640-A2 includes: selecting at least one candidate point satisfying the target condition from the N candidate points as at least one neighbor point of the current point, wherein the target condition includes at least one of the following conditions:
  • Condition 4 Among the N candidate points, the first K candidate points sorted in a preset order are determined as the neighbor points of the current point.
  • the above S650 includes the following steps:
  • S650-A Determine the attribute weight of each neighbor point in at least one neighbor point of the current point.
  • S650-A2 Determine a predicted value of the attribute information of the current point according to the attribute information and the attribute weight of at least one neighbor point of the current point.
  • the implementation of the above S650-A1 includes but is not limited to the following:
  • the attribute weight of each neighbor point in at least one neighbor point of the current point is determined from at least one preset weight.
  • determining the attribute weight of each neighbor point in at least one neighbor point of the current point from the at least one preset weight includes: determining K neighbors The attribute weights of each neighbor point in the point are preset weights.
  • determining the attribute weight of each neighbor point in at least one neighbor point of the current point from the at least one preset weight includes:
  • S650-A12 Determine the attribute weight of the neighbor point from multiple preset weights according to the first distance between the neighbor point and the current point.
  • implementations of the above S650-A12 include but are not limited to the following:
  • Method 1 if the first distance is greater than or equal to the first preset weight among the multiple preset weights, and the first distance is smaller than the second preset weight among the multiple preset weights, then determine that the attribute weight of the neighbor point is the first A preset weight.
  • the second preset weight is the preset weight with the smallest distance from the first preset weight among the multiple preset weights.
  • the weight interval between the first preset weight and the second preset weight is equal to the preset interval.
  • Mode 2 if the first distance is less than or equal to the first threshold, then determine the attribute weight of the neighbor point as the third preset weight among multiple preset weights, and if the first distance is greater than the first threshold, then determine the attribute of the neighbor point
  • the weight is a fourth preset weight among the plurality of preset weights, wherein the third preset weight is smaller than the fourth preset weight.
  • the first threshold is a median value of the distance between each neighbor point and the current point in at least one neighbor point of the current point.
  • the first threshold is a multiple of the point cloud precision.
  • Mode 3 if the number of multiple preset weights is the same as the number of at least one neighbor point, then sort at least one neighbor point according to the size of the first distance between the current point and the neighbor point, and then sort the at least one neighbor point according to the multiple preset weights.
  • the size of the weight is set, the multiple preset weights are sorted, and the sorted preset weights are determined one by one as the attribute weight of at least one sorted neighbor point.
  • Mode 4 if the number of multiple preset weights is different from the number of at least one neighbor point, for each neighbor point in at least one neighbor point, the first distance corresponding to the neighbor point among the multiple preset weights The reciprocal of the nearest preset weight is determined as the attribute weight of the neighbor point.
  • the method for predicting the attribute of the point cloud at the encoding end is the inverse process of the above method for predicting the attribute of the point cloud at the decoding end.
  • steps in the method for predicting point cloud attributes at the encoding end reference may be made to the corresponding steps in the method for predicting point cloud attributes at the decoding end. In order to avoid repetition, details are not repeated here.
  • 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.
  • Fig. 7 is a schematic block diagram of an apparatus for predicting a point cloud attribute according to an embodiment of the present application.
  • the apparatus 10 may be a decoding device, or a part of the decoding device.
  • the prediction device 10 of point cloud attribute can comprise:
  • the decoding unit 11 is used to decode the point cloud code stream to obtain decoded points in the point cloud;
  • a condition determining unit 12 configured to determine a target association relationship, the target association relationship including the preset association relationship between the parameters of the neighbor points, and the preset relationship between the spatial parameters of the point cloud and the parameters of the neighbor points. At least one of the associations between the associations;
  • a parameter determination unit 13 configured to obtain neighbor point parameters according to the target association relationship, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the difference between the neighbor point and the current point At least one of the preset distances d between, the N and K are both positive integers, and the d is a positive number;
  • a selection unit 14 configured to select at least one neighbor point of the current point from the decoded points according to the neighbor point parameters
  • the predicting unit 15 is configured to determine a predicted value of the attribute information of the current point according to the attribute information of at least one neighbor point of the current point.
  • the association relationship between the neighbor point parameters includes an association relationship between reference parameters and non-reference parameters in the neighbor point parameters.
  • the parameter determination unit 13 is specifically configured to determine the reference parameter in the neighbor point parameters Parameters: determining the non-reference parameters in the neighbor point parameters according to the reference parameters in the neighbor point parameters and the association relationship between the reference parameters and non-reference parameters in the neighbor point parameters.
  • the parameter determining unit 13 is specifically configured to: if the reference parameter in the neighbor point parameters includes a first reference parameter, according to the first reference parameter, the first reference parameter and the neighbor point The correlation between the first non-reference parameter in the parameters, and the correlation between the first reference parameter and the second non-reference parameter in the neighbor point parameters, determine the first non-reference parameter and the second non-reference parameter Two non-reference parameters, wherein the first reference parameter is any one of the number N of candidate points, the number K of neighbor points, and the preset distance d between the neighbor point and the current point, The first non-reference parameter and the second non-reference parameter are parameters in the neighbor point parameters other than the first reference parameter; or,
  • the reference parameters in the neighbor point parameters include the first reference parameter and the second reference parameter, according to the association relationship between the first reference parameter and the third non-reference parameter in the neighbor point parameters, or the second The association relationship between two reference parameters and the third non-reference parameter in the neighbor point parameters determines the third non-reference parameter, wherein the third non-reference parameter is the number of candidate points N, the Any one of the number K of neighbor points, the preset distance d between the neighbor point and the current point, the first reference parameter and the second reference parameter are the neighbor point parameters except the third Parameters other than non-baseline parameters.
  • the decoding unit 11 is further configured to decode the point cloud code stream to obtain reference parameters in the neighbor point parameters.
  • the spatial parameters of the point cloud include at least one of point cloud precision, point cloud density, and point cloud quantization step size.
  • the parameter determination unit 13 is specifically configured to, according to the accuracy of the point cloud and the An association relationship between the number N of candidate points, determining the number N of candidate points; or, determining the candidate point according to the association relationship between the point cloud quantization step size and the number N of candidate points number N; or, according to the association between the point cloud density and the preset distance d, determine the preset distance d; or, according to the point cloud accuracy and the number K of neighbor points Association relationship, determine the number K of the neighbor points.
  • the decoding unit 11 is further configured to parse the point cloud code stream to obtain the spatial parameters of the point cloud; or, parse the point cloud code stream to obtain geometric information of points in the point cloud , and determine the spatial parameters of the point cloud according to the geometric information of the points in the point cloud.
  • the prediction unit 15 is specifically configured to determine the attribute weight of each neighbor point in at least one neighbor point of the current point; according to the attribute information and attribute weight of at least one neighbor point of the current point, determine The predicted value of the attribute information of the current point.
  • the prediction unit 15 is specifically configured to determine the attribute weight of each neighbor point in at least one neighbor point of the current point from at least one preset weight.
  • the prediction unit 15 is specifically configured to determine that the attribute weight of each neighbor point in the at least one neighbor point is the preset weight if the at least one preset weight includes a preset weight or, if the at least one preset weight includes multiple preset weights, for each neighbor point in the at least one neighbor point, according to the geometric information of the neighbor point and the geometric information of the current point, determining a first distance between the neighbor point and the current point, and determining a weight of the neighbor point from the plurality of preset weights according to the first distance between the neighbor point and the current point attribute weight.
  • the prediction unit 15 is specifically configured to: if the first distance is greater than or equal to a first preset weight in the plurality of preset weights, and the first distance is smaller than the plurality of preset weights the second preset weight among the weights, then it is determined that the attribute weight of the neighbor point is the first preset weight, and the second preset weight is the same as the first preset weight among the multiple preset weights. the preset weight with the smallest weight distance; or,
  • the attribute weight of the neighbor point is the third preset weight among the plurality of preset weights, and if the first distance is greater than the first threshold, then determining that the attribute weight of the neighbor point is a fourth preset weight among the plurality of preset weights, wherein the third preset weight is smaller than the fourth preset weight; or,
  • the number of the plurality of preset weights is the same as the number of the at least one neighbor point, sort the at least one neighbor point according to the size of the first distance between the current point and the neighbor point , sorting the multiple preset weights according to the magnitudes of the multiple preset weights, and determining the sorted preset weights one by one as the sorted attribute weights of the at least one neighbor point; or ,
  • the number of the plurality of preset weights is different from the number of the at least one neighbor point, for each neighbor point in the at least one neighbor point, combine the plurality of preset weights with the number of the The preset weight closest to the reciprocal of the first distance corresponding to the neighbor point is determined as the attribute weight of the neighbor point.
  • the weight interval between the first preset weight and the second preset weight is equal to the preset interval.
  • the first threshold is the median value of the first distance between each neighbor point in the at least one neighbor point and the current point; or, the first threshold is the point cloud accuracy multiples of .
  • the selection unit 14 is specifically configured to select N candidate points of the current point from the decoded points in the point cloud; according to the number of neighbor points K and the preset distance At least one of d, selecting at least one neighbor point of the current point from the N candidate points.
  • the selection unit 14 is specifically configured to select at least one candidate point satisfying a target condition from the N candidate points as at least one neighbor point of the current point, wherein the target condition includes At least one of the following conditions:
  • Condition 4 among the N candidate points, the first K candidate points are sorted in a preset order.
  • the decoding unit 11 is further configured to decode the point cloud code stream to obtain the object association relationship.
  • 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 shown in FIG. 7 can execute the above-mentioned embodiment of the method shown in FIG. 4 , and the aforementioned and other operations and/or functions of each module in the device are to realize the method embodiment corresponding to the decoder. For the sake of brevity, I won't repeat them here.
  • Fig. 8 is a schematic block diagram of an apparatus for predicting a point cloud attribute according to an embodiment of the present application.
  • the apparatus 20 may be an encoding device, or a part of the encoding device.
  • the prediction device 20 of point cloud attribute can comprise:
  • the condition determination unit 22 is configured to determine the target association relationship, the target association relationship including the preset association relationship between the parameters of the neighbor points, and the preset relationship between the spatial parameters of the point cloud and the parameters of the neighbor points. At least one of the associations between the associations;
  • a parameter determination unit 23 configured to obtain neighbor point parameters according to the target association relationship, wherein the neighbor point parameters include the number N of candidate points of the current point, the number K of neighbor points, and the relationship between the neighbor point and the current point At least one of the preset distances d between points, the N and K are both positive integers, and the d is a positive number;
  • a selection unit 24 configured to select at least one neighbor point of the current point from the encoded points according to the neighbor point parameters
  • the prediction unit 25 is configured to determine a predicted value of the attribute information of the current point according to the attribute information of at least one neighbor point of the current point.
  • the association relationship between the neighbor point parameters includes an association relationship between reference parameters and non-reference parameters in the neighbor point parameters.
  • the parameter determination unit 23 is specifically configured to determine the reference parameter in the neighbor point parameters Parameters: determining the non-reference parameters in the neighbor point parameters according to the reference parameters in the neighbor point parameters and the association relationship between the reference parameters and non-reference parameters in the neighbor point parameters.
  • the parameter determination unit 23 is specifically configured to: if the reference parameter in the neighbor point parameters includes a first reference parameter, then according to the first reference parameter, the first reference parameter and the neighbor point The correlation between the first non-reference parameter in the parameters, and the correlation between the first reference parameter and the second non-reference parameter in the neighbor point parameters, determine the first non-reference parameter and the second non-reference parameter Two non-reference parameters, wherein, the first reference parameter is any one of the number of candidate points N, the number of neighbor points K, and the preset distance d, and the first non-reference parameter and the second The non-reference parameter is a parameter other than the first reference parameter among the neighbor point parameters; or,
  • the reference parameters in the neighbor point parameters include the first reference parameter and the second reference parameter, according to the association relationship between the first reference parameter and the third non-reference parameter in the neighbor point parameters, or the second The association relationship between two reference parameters and the third non-reference parameter in the neighbor point parameters determines the third non-reference parameter, wherein the third non-reference parameter is the number of candidate points N, the Any one of the number K of neighbor points and the preset distance d, the first reference parameter and the second reference parameter are parameters of the neighbor point parameters except the third non-reference parameter.
  • the above-mentioned device further includes an encoding unit 26, and the encoding unit 26 is configured to carry the reference parameters in the neighbor point parameters in the point cloud code stream.
  • the spatial parameters of the point cloud include at least one of point cloud precision, point cloud density, and point cloud quantization step size.
  • the parameter determination unit 23 is specifically configured to, according to the accuracy of the point cloud and the An association relationship between the number N of candidate points, determining the number N of candidate points; or, determining the candidate point according to the association relationship between the point cloud quantization step size and the number N of candidate points number N; or, according to the association between the point cloud density and the preset distance d, determine the preset distance d; or, according to the point cloud accuracy and the number K of neighbor points Association relationship, determine the number K of the neighbor points.
  • the obtaining unit 21 is also used to obtain the geometric information of the points in the point cloud; determine the spatial parameters of the point cloud according to the geometric information of the points in the point cloud, wherein the point cloud's
  • the spatial parameters include at least one of the point cloud accuracy and the point cloud density.
  • the encoding unit 26 is further configured to carry the spatial parameters of the point cloud in the point cloud code stream.
  • the prediction unit 25 is specifically configured to determine the attribute weight of each neighbor point in at least one neighbor point of the current point; according to the attribute information and attribute weight of at least one neighbor point of the current point, determine The predicted value of the attribute information of the current point.
  • the prediction unit 25 is specifically configured to determine the attribute weight of each neighbor point in at least one neighbor point of the current point from at least one preset weight.
  • the prediction unit 25 is specifically configured to determine that the attribute weight of each neighbor point in the at least one neighbor point is the preset weight if the at least one preset weight includes a preset weight ;or,
  • the at least one preset weight includes multiple preset weights, for each neighbor point in the at least one neighbor point, according to the geometric information of the neighbor point and the geometric information of the current point, determine the The first distance between the neighbor point and the current point, and according to the first distance between the neighbor point and the current point, determine the attribute weight of the neighbor point from the plurality of preset weights.
  • the predicting unit 25 is specifically configured to: if the first distance is greater than or equal to a first preset weight in the plurality of preset weights, and the first distance is smaller than the plurality of preset weights the second preset weight among the weights, then it is determined that the attribute weight of the neighbor point is the first preset weight, and the second preset weight is the same as the first preset weight among the multiple preset weights. the preset weight with the smallest weight distance; or,
  • the attribute weight of the neighbor point is the third preset weight among the plurality of preset weights, and if the first distance is greater than the first threshold, then determining that the attribute weight of the neighbor point is a fourth preset weight among the plurality of preset weights, wherein the third preset weight is smaller than the fourth preset weight; or,
  • the number of the plurality of preset weights is the same as the number of the at least one neighbor point, sort the at least one neighbor point according to the size of the first distance between the current point and the neighbor point , sorting the multiple preset weights according to the magnitudes of the multiple preset weights, and determining the sorted preset weights one by one as the sorted attribute weights of the at least one neighbor point; or ,
  • the number of the plurality of preset weights is different from the number of the at least one neighbor point, for each neighbor point in the at least one neighbor point, combine the plurality of preset weights with the number of the The preset weight closest to the reciprocal of the first distance corresponding to the neighbor point is determined as the attribute weight of the neighbor point.
  • the weight interval between the first preset weight and the second preset weight is equal to the preset interval.
  • the first threshold is the median value of the first distance between each neighbor point in the at least one neighbor point and the current point; or, the first threshold is the point cloud accuracy multiples of .
  • the selection unit 24 is specifically configured to select N candidate points of the current point from the encoded points in the point cloud; according to the number of neighbor points K and the preset distance At least one of d, selecting at least one neighbor point of the current point from the N candidate points.
  • the selection unit 24 is specifically configured to select at least one candidate point satisfying a target condition from the N candidate points as at least one neighbor point of the current point, wherein the target condition includes At least one of the following conditions:
  • the first K candidate points sorted in a preset order are determined as the neighbor points of the current point.
  • the encoding unit 26 is further configured to carry the target association relationship in the point cloud code stream
  • 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 shown in FIG. 8 can execute the above-mentioned method embodiment shown in FIG. 6, and the aforementioned and other operations and/or functions of each module in the device are to realize the method embodiment corresponding to the encoder. For the sake of brevity, in This will not be repeated here.
  • the device in the embodiment of the present application is described above from the perspective of functional modules with reference to the accompanying drawings.
  • the functional modules 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 modules.
  • 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 modules in the decoding processor is used to complete the execution.
  • the software module 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. 9 is a schematic block diagram of a computer device provided by an embodiment of the present application.
  • the computer device in FIG. 9 may be the above-mentioned point cloud encoder or a point cloud decoder.
  • the computer equipment 30 may include:
  • a memory 31 and a processor 32 the memory 31 is used to store a computer program 33 and transmit the program code 33 to the processor 32 .
  • the processor 32 can call and run the computer program 33 from the memory 31 to implement the method in the embodiment of the present application.
  • the processor 32 can be used to execute the steps in the above method 200 according to the instructions in the computer program 33 .
  • 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 31 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 33 can be divided into one or more modules, and the one or more modules are stored in the memory 31 and executed by the processor 32 to complete the present application. method of recording pages.
  • the one or more modules 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 33 in the electronic device 30 .
  • the computer equipment 30 may also include:
  • a transceiver 34 the transceiver 34 can be connected to the processor 32 or the memory 31 .
  • the processor 32 can control the transceiver 34 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices.
  • Transceiver 34 may include a transmitter and a receiver.
  • the transceiver 34 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.
  • 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.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method of the above method embodiment.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules 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 modules may be in electrical, mechanical or other forms.
  • a module described as a separate component may or may not be physically separated, and a component displayed as a module may or may not be a physical module, that is, it may be located in one place, or may also be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into one processing module, each module may exist separately physically, or two or more modules may be integrated into one module.

Abstract

本申请提供了一种点云属性的预测方法、装置及相关设备,该方法包括:解码点云码流,得到点云中已解码的点;确定目标关联关系,目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个关联关系;根据目标关联关系,得到邻居点参数;根据邻居点参数中的备选点数量N、邻居点数量K、以及邻居点与当前点之间的预设距离d中的至少一个,从已解码的点中,选择当前点的至少一个邻居点;根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。即本申请通过目标关联关系,确定邻居点参数,相比于直接预设邻居点参数的方式,丰富了确定点云属性预测值的方式。

Description

点云属性的预测方法、装置及相关设备
本申请要求于2021年06月11日提交中国专利局、申请号为2021106556073、申请名称为“点云属性的预测方法、装置及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及点云属性预测技术。
背景技术
通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的点。点云数据通常以点云媒体文件的形式在视频制作设备和视频播放设备之间传输。但是,如此庞大的点云数据给传输带来了挑战,因此,视频制作设备需要对点云数据进行压缩后再传输。
点云数据的压缩主要包括位置信息的压缩和属性信息的压缩。对于被压缩的属性信息,解码端通常需要通过预测来还原点云数据中被压缩的属性信息,例如,从已编码的点中获得当前点的一个或多个相邻点,进而根据相邻点的属性信息,来预测当前点的属性信息。
目前点云属性的预测过程是,获取预设的邻居点参数,例如备选点数量、邻居点数量等,进而根据预设的邻居点参数,确定点云属性信息的预测值。而这种基于预设的邻居点参数预测点云属性的方式,较为单一,且预测效率较低,也相应地影响了解码效率。
发明内容
本申请提供一种点云属性的预测方法、装置及相关设备,通过新的方法确定邻居点参数,进而丰富了确定点云属性的预测方式。
第一方面,本申请提供一种点云属性的预测方法,由计算机设备执行,包括:
解码点云码流,得到点云中已解码的点;
确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点;
根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性 信息的预测值。
第二方面,本申请提供一种点云属性的预测方法,由计算机设备执行,包括:
获得点云中已编码的点;
确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
根据所述邻居点参数,从所述已编码的点中,选择所述当前点的至少一个邻居点;
根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
第三方面,提供了一种点云属性的预测装置,包括:
解码单元,用于解码点云码流,得到点云中已解码的点;
条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
参数确定单元,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
选择单元,用于根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点;
预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值
第四方面,提供了一种点云属性的预测装置,包括:
获取单元,用于获得点云中已编码的点;
条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
参数确定单元,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
选择单元,用于根据所述邻居点参数,从所述已编码的点中,选择所述 当前点的至少一个邻居点;
预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值
第五方面,提供了一种编码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种解码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
本申请通过解码点云码流,得到点云中已解码的点;确定目标关联关系,目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个关联关系;根据目标关联关系,得到在确定当前点的邻居点时所使用的邻居点参数,其中,邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与当前点之间的预设距离d中的至少一个;根据邻居点参数,从已解码的点中,选择当前点的至少一个邻居点;根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。即本申请通过目标关联关系,确定邻居点参数,相比于直接预设邻居点参数的方式,丰富了确定点云属性预测值的方式。另外,相比现有的根据经验设定邻居点参数,本申请实施例根据目标关联关系确定邻居点参数,可以提高所确定的邻居点参数的准确性,基于准确的邻居点参数,可以准确确定出当前点的属性信息的预测值,进而提高了解码的解码效率。
附图说明
图1为本申请实施例涉及的一种点云视频编解码系统的示意性框图;
图2是本申请实施例提供的编码框架的示意性框图;
图3是本申请实施例提供的解码框架的示意性框图;
图4为本申请实施例提供的一实施例的点云属性的预测方法的流程图;
图5a为原始莫顿顺序下点云的排列示意图;
图5b为偏移莫顿顺序下点云的排列示意图;
图5c为当前点的相邻点的空间关系示意图;
图5d为与当前点共面的相邻点之间的莫顿码关系示意图;
图5e为与当前点共线的相邻点之间的莫顿码关系示意图;
图6为本申请实施例提供的一实施例的点云属性的预测方法的流程图;
图7是本申请实施例的一点云属性的预测装置的示意性框图;
图8是本申请实施例的一点云属性的预测装置的示意性框图;
图9是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
点云(Point Cloud)是指空间中一组无规则分布的、用于表达三维物体或三维场景的空间结构及表面属性的离散点集。
点云数据(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)、电磁定位信息等医学设备,获取生物组织器官的点云数据。
点云按获取的途径可以分为:密集型点云和稀疏性点云。
点云按照数据的时序类型可以划分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
点云按用途可以分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
图1为本申请实施例涉及的一种点云编解码系统的示意性框图。需要说明的是,图1只是一种示例,本申请实施例涉及的点云编解码系统包括但不限于图1所示。如图1所示,该点云编解码系统包括编码设备110和解码设备120。其中,编码设备110用于对点云数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备120。解码设备120用于对编码设备110编码产生的码流进行解码,得到解码后的点云数据。
本申请实施例中的编码设备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)显示器、或其它类型的显示装置。
此外,图1仅为示例,本申请实施例的技术方案不限于应用于图1所示的点云编解码系统,例如本申请的技术还可以应用于单侧的点云编码或单侧的点云解码。
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,并且也没有这么大的带宽可以支持将点云不经压缩直接在网络层进行传输,因此对点云进行压缩是很有必要的。
目前,可通过点云编码框架对点云进行压缩。
点云编码框架可以是运动图像专家组(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。
下面以G-PCC编解码框架对本申请实施例可适用的编解码框架进行说明。
图2是本申请实施例提供的编码框架的示意性框图。
如图2所示,编码框架200可以从采集设备获取点云的位置信息(也称为几何信息或几何位置)和属性信息。点云的编码包括位置编码和属性编码。
位置编码的过程包括:对原始点云进行坐标变换、量化去除重复点等预处理;构建八叉树后进行编码形成几何码流。
属性编码的过程包括:通过给定输入点云的位置信息的重建信息和属性信息的真实值,选择三种预测模式的一种进行点云预测,对预测后的结果进行量化,并进行算术编码形成属性码流。
如图2所示,位置编码可通过以下单元实现:
坐标平移坐标量化单元201、八叉树构建单元202、八叉树重建单元203、熵编码单元204。
坐标平移坐标量化单元201可用于将点云中点的世界坐标变换为相对坐标,并对坐标进行量化,以减少坐标的数目;量化后原先不同的点可能被赋予相同的坐标。
八叉树构建单元202可利用八叉树(octree)编码方式,编码量化的点的位置信息。例如,将点云按照八叉树的形式进行划分,由此,点的位置可以和八叉树的位置一一对应,通过统计八叉树中有点的位置,并将其标识(flag)记为1,以进行几何编码。
八叉树重建单元203用于重建点云中各点的几何位置,得到点的重建几何位置。
熵编码单元204可以采用熵编码方式,对八叉树构建单元202输出的位置信息进行算术编码,即利用算术编码方式,根据八叉树构建单元202输出的位置信息生成几何码流;几何码流也可称为几何比特流(geometry bitstream)。
属性编码可通过以下单元实现:
空间变换单元210、属性插值单元211、属性预测单元212、残差量化单元213以及熵编码单元214。
空间变换单元210可用于将点云中点的RGB色彩空间变换为YCbCr格式或其他格式。
属性插值单元211可用于转换点云中点的属性信息,以最小化属性失真。 例如,属性转化单元211可用于得到点的属性信息的真实值。例如,属性信息可以是点的颜色信息。
属性预测单元212可用于对点云中点的属性信息进行预测,以得到点的属性信息的预测值,进而,基于点的属性信息的预测值得到点的属性信息的残差值。例如,点的属性信息的残差值可以是点的属性信息的真实值与点的属性信息的预测值之间的差值。
残差量化单元213可用于量化点的属性信息的残差值。
熵编码单元214可使用零行程编码(Zero run length coding)对点的属性信息的残差值进行熵编码,以得到属性码流。属性码流可以是比特流信息。
结合图2,本申请对于几何结构编码,主要操作和处理如下:
(1)预处理(Pre-processing):包括坐标变换(Transform coordinates)和体素化(Voxelize)。通过缩放和平移的操作,将3D空间中的点云数据转换成整数形式,并将其中最小几何位置移至坐标原点处。
(2)几何编码(Geometry encoding):几何编码中包括两种模式,可在不同条件下使用:
(a)基于八叉树的几何编码(Octree):八叉树是一种树形数据结构,在3D空间划分中,对预先设定的包围盒进行均匀划分,每个节点都具有八个子节点。根据八叉树各个子节点的占用与否,采用‘1’和‘0’指示,获得占用码信息(occupancy code)作为点云几何信息的码流。
(b)基于三角表示的几何编码(Trisoup):将点云划分为一定大小的块(block),定位点云表面与块的边缘的交点并构建三角形。通过编码交点位置实现几何信息的压缩。
(3)几何量化(Geometry quantization):量化的精细程度通常由量化参数(QP)决定,QP取值越大,表示更大取值范围的系数将被量化为同一个输出,通常会带来更大的失真,及较低的码率;相反,QP取值越小,表示更小取值范围的系数将被量化为同一个输出,通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。
(4)几何熵编码(Geometry entropy encoding):针对八叉树的占用码信息,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。统计压缩编码是一种无损编码方式,可以有效地降低表达同样的信号所需要的码率。常用的统计压缩编码方式是基于上下文的二值化算术编码(CABAC,Content Adaptive Binary Arithmetic Coding)。
对于属性信息编码,主要操作和处理如下:
(1)属性重上色(Recoloring):在有损编码的情况下,在几何信息编码后,需编码端解码并重建几何信息,即恢复3D点云中各点的坐标信息。在原始点云中寻找对应的一个或多个邻近点的属性信息,作为该重建点的属性信息。
(2)属性预测编码(Predition):属性预测编码时,基于几何信息或属性信息的邻近关系,选择一个或多个点作为预测值,并通过求加权平均获得最终属性预测值,进而对真实值与预测值之间的差值进行编码。
(3)属性变换编码(Transform):属性变换编码中包括三种模式,可在不同条件下使用。
(a)预测变换编码(Predicting Transform):根据距离选择子点集,将点云划分成多个不同的细节层(Level of Detail,LoD),实现由粗糙到精细化的点云表示。相邻层之间可以实现自下而上的预测,即由粗糙层中的邻近点预测精细层中引入的点的属性信息,获得对应的残差信号。其中,最底层的点被作为参考信息进行编码。
(b)提升变换编码(Lifting Transform):在LoD相邻层预测的基础上,引入邻域点的权重更新策略,最终获得各点的预测属性值,获得对应的残差信号。
(c)分层区域自适应变换编码(Region Adaptive Hierarchical Transform,RAHT):属性信息经过RAHT变换,将信号转换到变换域中,称之为变换系数。
(4)属性信息量化(Attribute quantization):量化的精细程度通常由量化参数(QP)决定。在预测变换编码及提升变换编码中,是对残差值进行量化后进行熵编码;在RAHT中,是对变换系数进行量化后进行熵编码。
(5)属性熵编码(Attribute entropy coding):量化后的属性残差信号或变换系数一般使用行程编码(run length coding)及算数编码(arithmetic coding)实现最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
图3是本申请实施例提供的解码框架的示意性框图。
如图3所示,解码框架300可以从编码设备获取点云的码流,通过解析码流得到点云中的点的位置信息和属性信息。点云的解码包括位置解码和属性解码。
位置解码的过程包括:对几何码流进行算术解码;构建八叉树后进行合并,对点的位置信息进行重建,以得到点的位置信息的重建信息;对点的位置信息的重建信息进行坐标变换,得到点的位置信息。点的位置信息也可称为点的几何信息。
属性解码过程包括:通过解析属性码流,获取点云中点的属性信息的残差值;通过对点的属性信息的残差值进行反量化,得到反量化后的点的属性信息的残差值;基于位置解码过程中获取的点的位置信息的重建信息,选择三种预测模式的一种进行点云预测,得到点的属性信息的重建值;对点的属性信息的重建值进行颜色空间反转化,以得到解码点云。
如图3所示,位置解码可通过以下单元实现:
熵解码单元301、八叉树重建单元302、逆坐标量化单元303以及逆坐标平移单元304。
属性编码可通过以下单元实现:
熵解码单元310、逆量化单元311、属性重建单元312以及逆空间变换单元313。
解码是编码的逆过程,类似的,解码框架300中的各个单元的功能可参见编码框架200中相应的单元的功能。
在解码端,解码器获得压缩码流后,首先进行熵解码,获得各种模式信息、量化后的几何信息、以及属性信息。一方面,几何信息经过逆量化得到重建的3D点位置信息。另一方面,属性信息经过逆量化得到残差信息,并根据采用的变换模式确认参考信号,得到重建的属性信息,按顺序与几何信息一一对应,产生输出的重建点云数据。
例如,解码框架300可根据点云中点与点之间的欧式距离,将点云划分为多个LoD;然后,依次对LoD中点的属性信息进行解码;例如,计算零行程编码技术中零的数量(zero_cnt),以基于zero_cnt对残差进行解码;接着,解码框架300可基于解码出的残差值进行逆量化,并将逆量化后的残差值与当前点的预测值相加得到该点云的重建值,直到解码完所有的点云。当前点将会作为后续LoD中点的最近邻居,进而利用当前点的重建值对后续点的属性信息进行预测。
由上述图2可知,点云编码器200从功能上主要包括两部分:位置编码模块和属性编码模块,其中,位置编码模块用于实现点云的位置信息的编码,形成几何码流,属性编码模块用于实现点云的属性信息的编码,形成属性码流,本申请主要涉及属性信息的编码。
需要说明的是,编码端编码属性信息时确定的预测、量化、编码、滤波等模式信息或者参数信息等,在必要时携带在属性码流中。解码端通过解析属性码流,根据已有信息进行分析确定与编码端相同的预测、量化、编码、滤波等模式信息或者参数信息,从而保证解码端获得的属性信息的重建值和编码端获得的属性信息的重建值相同。
上述是基于G-PCC编解码框架下的点云编解码器的基本流程,随着技术的发展,该框架或流程中的一些模块或步骤可能会被优化,本申请适用于该基于G-PCC编解码框架下的点云编解码器的基本流程,但不限于该框架及流程。
下面将对本申请技术方案进行详细阐述:
首先以解码端为例。
图4为本申请实施例提供的点云属性的预测方法的流程图,该方法的执行主体是计算机设备,该计算机设备具体可以是具有确定点云中点的预测值 功能的装置,例如点云属性的预测装置,该点云属性的预测装置可以为上述点云解码器,或者为点云解码器中的一部分。如图4所示,本实施例包括:
S410、解码点云码流,得到点云中已解码的点。
需要说明的是,本实施例涉及对于点云的属性信息的解码过程,点云的属性信息解码是在点云的位置信息解码后执行的。点云的位置信息也称为点云的几何信息。
本申请实施例中,已解码的点可以理解为几何信息和属性信息均已解码的点。具体的,点云码流包括几何码流和属性码流,解码端首先对点云的几何码流进行解码,得到点云中点的几何信息的重建值。然后,对点云的属性码流进行解码,得到点云中点的属性信息的重建值,点云中点的几何信息和属性信息结合,得到解码后的点云。本申请实施例涉及到对于点云属性码流的解码过程。
在对点云的属性码流的解码过程中,对点云中每个点的解码过程相同,以点云中待解码的当前点为例,确定点云中当前点的属性信息时,需要获得点云中已解码的点,并从这些已解码的点中选择当前点的至少一个邻居点。根据当前点的至少一个邻居点的属性信息的重建值,得到当前点的属性信息的预测值,再根据当前点的属性信息的预测值和从点云的属性码流中解析出的当前点的属性信息的残差值,得到当前点的属性信息的重建值。
上述确定当前点的至少一个邻居点时,首先需要确定邻居点参数,并根据邻居点参数,从已解码的点中选择当前点的至少一个邻居点。本申请实施例提出了一种新的确定邻居点参数的方式,具体如下S420所示。
S420、确定目标关联关系,目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个关联关系。
可选的,邻居点参数包括如下至少一个:当前点的备选点数量N、邻居点数量K、以及邻居点与当前点之间的预设距离d中的至少一个,N、K均为正整数,d为正数。
可选的,点云的空间参数包括如下至少一个:点云精度、点云密度、点云的量化步长。其中,点云精度指点云体素化后的数据表示精度(voxelized precision),或包围盒尺寸(boundingboxsize)。点云密度指点云最小的点间距离表示。点云的量化步长包括点云几何量化步长和点云属性量化步长。
需要说明的是,本申请实施例对预设的邻居点参数之间关联关系的具体形式不做限制。
示例性的,邻居点参数之间的关联关系可以是加法关系,例如,备选点数量N与邻居点数量K的和等于第一预设和值;或者,备选点数量N、邻居点数量K与预设距离d三者的和等于第二预设和值;或者,备选点数量N与邻居点数量d的和等于第三预设和值;或者,邻居点数量K与预设距离d的 和等于第四预设和值等。
示例性的,邻居点参数之间的关联关系可以是减法关系,例如,备选点数量N与邻居点数量K的差等于第一预设差值;或者,备选点数量N与预设距离d的差等于第二预设差值;或者,邻居点数量K与预设距离d的差等于第三预设差值等。
示例性的,邻居点参数之间的关联关系可以是乘法关系,例如,备选点数量N与邻居点数量K的乘积等于第一预设积值;或者,备选点数量N与预设距离d的乘积等于第二预设积值;或者,邻居点数量K与预设距离d的乘积等于第三预设积值等。
示例性的,邻居点参数之间的关联关系可以是比值关系,例如,备选点数量N与邻居点数量K的比值等于第一预设比值;或者,备选点数量N与预设距离d的比值等于第二预设比值;或者,邻居点数量K与预设距离d的比值等于第三预设比值等。
需要说明的是,本申请实施例对预设的点云的空间参数与邻居点参数之间的关联关系的具体形式不做限制。
示例性的,点云的空间参数与邻居点参数之间的关联关系可以是倍数关系,例如,备选点数量N与点云精度的比值等于第一预设倍数;或者,邻居点数量K与点云精度的比值等于第二预设倍数;或者,预设距离d与点云精度的比值等于第三预设倍数;或者,备选点数量N与点云密度的比值等于第四预设倍数;或者,邻居点数量K与点云密度的比值等于第五预设倍数;或者,预设距离d与点云密度的比值等于第六预设倍数等。
示例性的,点云的空间参数与邻居点参数之间的关联关系可以是幂次方关系,例如,备选点数量N等于点云精度的第一预设幂次方;或者,邻居点数量K等于点云精度的第二预设幂次方;或者,预设距离d等于点云精度的第三预设幂次方;或者,备选点数量N等于点云密度的第四预设幂次方;或者,邻居点数量K等于点云密度的第五预设幂次方;或者,预设距离d等于点云密度的第六预设幂次方等。
本申请实施例中解码端确定目标关联关系的方式包括但不限于如下几种:
方式一,上述目标关联关系携带在点云码流中,解码端通过解码点云码流,得到目标关联关系。
方式二,上述目标关联关系是编解码端事先协商的。
S430、根据目标关联关系,得到邻居点参数。
由上述可知,目标关联关系包括:预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个。也就是说,可以使用邻居点参数之间的关联关系,确定当前点的备选点数量N、邻居点数量K、邻居点与该当前点之间的预设距离d;或者,使用点云的空间参数与所述邻居点参数之间的关联关系,确定当前点的备选点数量N、邻 居点数量K、邻居点与该当前点之间的预设距离d;或者,使用邻居点参数之间的关联关系,确定备选点数量N、邻居点数量K、邻居点与该当前点之间的预设距离d中的部分参数,使用点云的空间参数与邻居点参数之间的关联关系,确定备选点数量N、邻居点数量K、邻居点与该当前点之间的预设距离d中的另一部分参数
下面分别介绍目标关联关系为预设的邻居点参数之间的关联关系,或者为预设的点云的空间参数与所述邻居点参数之间的关联关系时,根据目标关联关系,得到邻居点参数的过程。
情况1,目标关联关系为预设的邻居点参数之间的关联关系。
在一种可能的实现方式中,上述邻居点参数之间的关联关系包括邻居点参数中的基准参数与非基准参数之间的关联关系。
其中,基准参数可以理解为直接解码得到的邻居点参数,或者为预设的邻居点参数,非基准参数可以理解为通过关联关系推算出的邻居点参数。也就是说,基准参数是不通过计算即可得到的邻居点参数,而非基准参数为通过计算得到的邻居点参数。
在一些实施例中,若目标关联关系包括邻居点参数中的基准参数与非基准参数之间的关联关系,则上述S430包括S430-A1和S430-A2:
S430-A1、确定邻居点参数中的基准参数。
S430-A2、根据邻居点参数中的基准参数、和邻居点参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。
其中,上述S430-A1的实现方式包括但不限于如下几种:
方式一,编码端将邻居点参数中的基准参数携带在点云码流中,解码端通过解码点云码流,得到邻居点参数中的基准参数。
方式二,上述邻居点参数中的基准参数为预设的,例如基准参数为N,预设的N的值为10。
根据上述方式,得到邻居点参数中的基准参数后,执行S430-A2根据邻居点参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。其中,上述S430-A2的实现方式包括但不限如下几种方式:
方式一,若邻居点参数中的基准参数包括第一基准参数,则上述S430-A2包括:根据第一基准参数、第一基准参数与邻居点参数中的第一非基准参数之间的关联关系、以及第一基准参数与邻居点参数中的第二非基准参数之间的关联关系,确定第一非基准参数和第二非基准参数。
其中,第一基准参数为N、K、d中的任意一个,第一非基准参数和第二非基准参数为邻居点参数中除第一基准参数之外的参数。
示例1,第一基准参数为备选点数量N,则根据备选点数量N、以及预设距离d与备选点数量N之间的关联关系,计算得到预设距离d,根据备选点数量N、以及邻居点数量k与备选点数量N之间的关联关系,计算得到邻居 点数量k。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据备选点数量N、以及预设距离d与备选点数量N之间的第一比值,计算得到预设距离d。根据备选点数量N、以及邻居点数量k与备选点数量N之间的第二比值,计算得到邻居点数量k。
示例2,第一基准参数为邻居点数量k,则根据邻居点数量k、以及预设距离d与邻居点数量k之间的关联关系,计算得到预设距离d,根据邻居点数量k、以及邻居点数量k与备选点数量N之间的关联关系,计算得到备选点数量N。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据邻居点数量k、以及预设距离d与邻居点数量k之间的第三比值,计算得到预设距离d。根据邻居点数量k、以及邻居点数量k与备选点数量N之间的第四比值,计算得到备选点数量N。
示例3,第一基准参数为预设距离d,则根据预设距离d、以及预设距离d与邻居点数量k的关联关系,计算得到邻居点数量k,根据预设距离d、以及预设距离d与备选点数量N的关联关系,计算得到备选点数量N。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据预设距离d、以及预设距离d与邻居点数量k之间的第五比值,计算得到邻居点数量k。根据预设距离d、以及预设距离d与备选点数量N之间的第六比值,计算得到备选点数量N。
应理解,上文中的第一基准参数与第一非基准参数之间的关联关系、以及第一基准参数与第二非基准参数之间的关联关系仅为示例,在实际应用中,这两种关联关系还可以为其它关系,本申请对此不做任何限定。
方式二,若邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据第一基准参数与邻居点参数中的第三非基准参数之间的关联关系、或者第二基准参数与邻居点参数中的第三非基准参数之间的关联关系,确定第三非基准参数。
其中,第三非基准参数为N、K、d中的任意一个,第一基准参数和第二基准参数为邻居点参数中除第三非基准参数之外的参数。
示例1,第一基准参数为备选点数量N,第二基准参数为邻居点数量k,则根据备选点数量N、以及备选点数量N与预设距离d之间的关联关系,计算得到预设距离d,或者,根据邻居点数量k、以及邻居点数量k与预设距离d的关联关系,计算得到预设距离d。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据备选点数量N、以及备选点数量N与预设距离d之间的比值1,计算得到预设距离d,或者,根据邻居点数量k、以及邻居点数量k与预设距离d之间的比值2,计算得到预设距离d。
示例2,第一基准参数为备选点数量N,第二基准参数为预设距离d,则根据备选点数量N、以及备选点数量N与邻居点数量k之间的关联关系,计算得到邻居点数量k,或者,根据预设距离d、以及邻居点数量k与预设距离d之间的关联关系,计算得到邻居点数量k。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据备选点数量N、以及备选点数量N与邻居点数量k之间的比值3,计算得到邻居点数量k,或者,根据预设距离d、以及邻居点数量k与预设距离d之间的比值4,计算得到邻居点数量k。
示例3,第一基准参数为邻居点数量k,第二基准参数为预设距离d,则根据邻居点数量k、以及备选点数量N与邻居点数量k之间的关联关系,计算得到备选点数量N,或者,根据预设距离d、以及备选点数量N与预设距离d之间的关联关系,计算得到备选点数量N。
其中,上述关联关系可以为预设的映射函数。
可选的,上述映射函数可以为比值,例如,根据邻居点数量k、以及备选点数量N与邻居点数量k之间的比值5,计算得到备选点数量N,或者,根据预设距离d、以及备选点数量N与预设距离d之前的比值6,计算得到备选点数量N。
应理解,上文中的第一基准参数与第三非基准参数之间的关联关系、以及第二基准参数与第三非基准参数之间的关联关系仅为示例,在实际应用中,这两种关联关系还可以为其它关系,本申请对此不做任何限定。
方式三,根据备选点数量N、邻居点数量k和预设距离d三者之间的关联关系,确定备选点数量N、邻居点数量k和预设距离d。
上文对目标关联关系为预设的邻居点参数之间的关联关系时,根据邻居点参数之间的关联关系,得到当前点的邻居点参数的过程进行介绍。下面结合情况2,对目标关联关系为预设的点云的空间参数与邻居点参数之间的关联关系时,根据点云的空间参数与邻居点参数之间的关联关系,得到当前点的邻居点参数的过程进行介绍。
情况2,目标关联关系为预设的点云的空间参数与邻居点参数之间的关联关系。
其中,点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
在情况2中,上述S430的实现方式包括但不限于如下几种:
方式一,若点云的空间参数包括点云精度,则上述S430包括:根据点云精度与备选点数量N之间的关联关系,确定备选点数量N,例如,获取点云精度,并将点云精度的倍数或幂次方,确定为备选点数量N。
方式二,若点云的空间参数包括点云密度,则上述S430包括:根据点云密度与预设距离d之间的关联关系,确定预设距离d,例如,获取点云密度,并将点云密度的倍数,确定为预设距离d。
方式三,若点云的空间参数包括点云精度,则上述S430包括:根据点云精度与邻居点数量K之间的关联关系,确定邻居点数量K,例如,获取点云精度,并将点云精度的倍数,确定为邻居点数量K。
方式四,若点云的空间参数包括点云量化步长,则上述S430包括:根据点云量化步长与备选点数量N之间的关联关系,确定备选点数量N,例如,获取点云量化步长,并将点云量化步长的倍数,确定为备选点数量N。
需要说明的是,上述方式一至方式四中的关联关系可以是预设的函数关系、预设的运算关系、预设的映射关系中的一个或其任意组合,本申请实施例对此不做限制。
在一些实施例中,上述点云密度、点云精度、点云量化步长等点云的空间参数的获取方式包括但不限于如下几种方式:
方式一,编码端将点云的空间参数携带在点云码流中,解码端通过解析点云码流,得到点云的空间参数。
方式二,解析点云码流,得到点云中点的几何信息,并根据点云中点的几何信息,确定云的空间参数。例如,根据点云中点的几何信息,得到点云密度,或者根据点云中点的几何信息,得到点云中最小的点间的距离,将该最小距离确定为点云密度。
根据上述方式确定出当前点的邻居点参数后,执行S440。
S440、根据邻居点参数,从已解码的点中,选择当前点的至少一个邻居点。
在一些实施例中,根据当前点的备选点数量N、邻居点数量K和预设距离d中的至少一个,从已解码的点中,选择当前点的至少一个邻居点。例如,从已解码的点中,选择K个点作为当前点的邻居点。或者,从已解码的点中,选择与当前点的距离小于预设距离d的点,作为当前点的邻居点。或者,从已解码的点中,选择N个备选点,从这N个备选点中选择与当前点的距离小于预设距离阈值的点,作为当前点的邻居点。
举例说明,当前点的属性信息包括颜色属性和反射率属性中的至少一种,在编码当前点的不同属性信息时,确定当前点的邻居点的方式可以不同。
示例一,若当前点的属性信息为反射率信息,则确定当前点的邻居点的方式包括但不限于如下几种方式:
方式一,对当前点的反射率属性进行预测时,可以采用莫顿排序来选取 当前点的邻居点,具体是:
获取点云数据中所有点云的坐标,并按照莫顿排序得到莫顿顺序1,如图5a所示。
接着,在所有点云的坐标(x,y,z)的基础上加上一个固定值(j1,j2,j3),用新的坐标(x+j1,y+j2,z+j3)生成点云对应的莫顿码,按照莫顿排序得到莫顿顺序2,如图5b所示。注意,图5a中的A,B,C,D移到图5b中的不同位置,对应的莫顿码也发生了变化,但它们的相对位置保持不变。另外,在图5b中,点D的莫顿码是23,它的邻居点B的莫顿码是21,所以从点D向前最多搜索两个点就可以找到点B。但在图5a中,从点D(莫顿码16)需要向前搜索14个点才能找到点B(莫顿码2)。
根据莫顿顺序编码,查找当前点的最近预测点,在莫顿顺序1中选取该当前点的前N1个已解码点作为当前点的N1个邻居点,N1取值范围是大于等于1,在莫顿顺序2中选取当前点的前N2个已解码点作为当前点的N2个邻居点,N2的取值范围是大于等于1,进而获得当前点的N1+N2个邻居点,其中N1+N2=N。
可选的,在PCEM软件中,上述j1=j2=j3=42。
方式二,计算在Hilbert(希尔伯特)顺序下当前点的前maxNumOfNeighbours(最大数量个邻居点)个已解码点,将maxNumOfNeighbours个已解码点作为当前点的邻居点。
可选的,maxNumOfNeighbours默认取值为N。
示例二,若当前点的属性信息为颜色信息,则确定当前点的邻居点的方式包括:
当前点的邻居点的空间关系如图5c所示,其中实线框表示当前点,假设邻居点的查找范围为当前点的3×3×3邻域。首先利用当前点的莫顿码得到该3×3×3邻域中莫顿码值最小的块,将该块作为基准块,利用基准块来查找与当前点共面、共线的已解码邻居点。该邻域范围内与当前点共面的邻居点之间的莫顿码关系如图5d所示,与当前点共线的邻居点之间的莫顿码关系如下图5e所示。
利用基准块来搜索与当前点共面、共线的已解码的N个邻居点。
在一些实施例中,上述S440包括S440-A1和S440-A2:
S440-A1、从点云中已解码的点中,选择当前点的N个备选点。
S440-A2、根据邻居点数量K和预设距离d中的至少一个,从N个备选点中,选择当前点的至少一个邻居点。
其中,上述S440-A1从点云中已解码的点中,选择当前点的N个备选点的方式包括但不限于如下几种方式:
方式一,按照莫顿排序、或者希尔伯特序、或者编码顺序,对已解码的点进行排序,从排序后的已解码的点中选择排序靠前的N个点。可选的,上 述N个点可以为连续的点,例如选择序号为i-1,i-2,…,i-N+1的点作为备选点。可选的,上述N个可以是不连续的点,例如N个点为等间隔的点。
方式二,按照莫顿排序、或者希尔伯特序、或者编码顺序,对已解码的点进行排序,从排序后的已解码的点中选择连续的N个点,例如,跳过前序N1个点,即选择序号为i-N1+1,i-N1+2,…,i-N1-N+1的点。
根据上述方式选择出当前点的N个备选点后,执行S440-A2。
在一些实施例中,上述S440-A2根据邻居点数量K和预设距离d中的至少一个,从N个备选点中,选择当前点的至少一个邻居点的方式包括S440-A21:
S440-A21、从N个备选点中,选择满足目标条件的至少一个备选点作为当前点的至少一个邻居点,其中目标条件包括如下条件1至条件4中的至少一个条件:
条件1,与当前点在各个维度上的距离均小于第一预设距离。即,将N个备选点中与当前点在各个维度上的距离均小于第一预设距离的备选点确定为当前点的邻居点。
其中,备选点中与当前点在各个维度上的距离,可以理解为备选点中与当前点在x、y、z这三个维度中每个一个维度上、每两个维度上以及3个维度上的距离。举例说明,假设当前点的坐标为(x1,y1,z1),备选点的坐标为(x2,y2,z2),当前点在备选点各维度上的曼哈顿距离包括:dx=∣x1-x2∣,dy=∣y1-y2∣,dz=∣z1-z2∣,dxy=∣x1-x2∣+∣y1-y2∣,dxz=∣x1-x2∣+∣z1-z2∣,dyz=∣z1-z2∣+∣y1-y2∣,dxyz=∣x1-x2∣+∣y1-y2∣+∣z1-z2∣。需要说明的是,上述以曼哈顿距离为例,可选的,还可以基于欧式(Euclidean)距离等其他计算距离的方法,确定备选点中与当前点在各个维度上的距离。
条件2,与当前点在各个维度上的距离均等于第二预设距离。即,将N个备选点中与当前点在各个维度上的距离均等于第二预设距离的备选点确定为当前点的邻居点。
条件3,距离当前点最近的K个备选点。即,将N个备选点中距离当前点最近的K个备选点确定为当前点的邻居点。
条件4,N个备选点中按预设顺序排序得到的前K个备选点。即,按预设顺序对N个备选点排序,将N个备选点的前K个备选点确定为当前点的邻居点。其中,预设顺序可以是莫顿顺序、或者希尔伯特顺序、或者编码顺序、或者输入顺序等。
本步骤中,上述条件1至条件4可以单独使用,或在一定条件下组合使用,例如,先根据条件1和条件2选择邻居点,若没有有满足条件1和条件2条件的邻居点,则采用条件3或条件4选择邻居点。或先根据条件1和条件2选择邻居点,若选择出的邻居点多于K个,再根据条件4从上述条件1 和条件2选出的多个邻居点中选出的K个点作为邻居点。
根据上述S440的步骤,得到当前点的至少一个邻居点,接着,执行如下S450。
S450、根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。
在一些实施例中,将至少一个邻居点的属性信息的平均值,确定当前点的属性信息的预测值。
在一些实施例中,将至少一个邻居点的属性信息的加权平均值,确定为当前点的属性信息的预测值。在该方式中,上述S450包括:
S450-A1、确定当前点的至少一个邻居点中每个邻居点的属性权重。
S450-A2、根据当前点的至少一个邻居点的属性信息和属性权重,确定当前点的属性信息的预测值。
上述S450-A1中确定当前点的至少一个邻居点中每个邻居点的属性权重的方式包括但不限于如下几种方式:
方式一,根据邻居点与当前点的距离,计算各个点的权重值,例如以距离的倒数作为邻居点的属性权重。可选的,上述距离可以是曼哈顿距离,也可以是欧式距离。
例如,根据如下公式(1),确定邻居点的属性权重:
Figure PCTCN2022080809-appb-000001
其中,w ij为当前点i的第j个邻居点的属性权重,(xi,yi,zi)为当前点的几何信息,(xij,yij,zij)为第j个邻居点的几何信息。
例如,根据如下公式(2),确定邻居点的属性权重:
Figure PCTCN2022080809-appb-000002
其中,a为当前点的第一分量的权重系数,b为当前点的第二分量的权重系数,c为当前点的第三分量的权重系数。可选的,该a、b、c可以查表获得,或者为预设的固定值。
方式二,从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重。
在该方式二的一种示例中,若至少一个预设权重包括一个预设权重,则确定至少一个邻居点中每个邻居点的属性权重均为该预设权重。
在该方式二的一种示例中,若至少一个预设权重包括多个预设权重,则针对至少一个邻居点中的每个邻居点,根据该邻居点的几何信息与当前点的几何信息,确定该邻居点与当前点之间的第一距离,并根据该邻居点与当前 点之间的第一距离,从多个预设权重中确定邻居点的属性权重。
可选的,第一预设权重与第二预设权重之间的权重间隔等于预设间隔。
例如,当前点与至少一个邻居点之间的距离分别为d 1,d 2,…,d k(d 1≤d 2≤…≤d k)。设置权重初始值η,权重间隔Δ,p个离散的权重值为[η,η+Δ,η+2*Δ,…,η+(p-1)*Δ]。若η≤d j<η+Δ,则邻居点j对应的属性权重为η。若η+Δ≤d j<η+2*Δ,则邻居点j对应的属性权重应为η+Δ,以此类推。
在该方式二的一种示例中,若第一距离小于或等于第一阈值,则确定邻居点的属性权重为多个预设权重中的第三预设权重,若第一距离大于第一阈值,则确定邻居点的属性权重为多个预设权重中的第四预设权重,其中第三预设权重小于第四预设权重。
在一种可能的实现方式中,根据d 1,d 2,…,d k的分布选择一个或多个距离值来计算权重值。例如,上述第一阈值为当前点的至少一个邻居点中各个邻居点与当前点之间的第一距离的中位值,即以d 1,d 2,…,d k的中位点为第一阈值,若邻居点与当前点之间的第一距离小于或等于该第一阈值,则确定该邻居点的属性权重为第三预设权重,例如1。若邻居点与当前点之间的第一距离大于该第一阈值,确定该邻居点的属性权重为第四预设权重,例如2。
在一种可能的实现方式中,根据距离值分布及几何参数计算权重值。例如,第一阈值为点云精度的倍数,若该邻居点与当前点之间的第一距离小于或等于点云精度的倍数,则确定该邻居点的权重为第三预设权重,例如为1。若该邻居点与当前点之间的第一距离大于点云精度的倍数,则确定该邻居点的权重为第四预设权重,例如为2。
在一种可能的实现方式中,若多个预设权重的个数与至少一个邻居点的个数相同,则根据当前点与邻居点之间的第一距离大小,对至少一个邻居点进行排序,根据多个预设权重的大小,对多个预设权重进行排序,将排序后的预设权重一一对应地确定为排序后的至少一个邻居点的属性权重。例如,排序后的预设权重从大到小排列为:a1、a2、a3,至少一个邻居点根据其与当前点之间的第一距离的大小从大到小排序为:A2、A1、A3,这样,则确定邻居点A2的属性权重为a1,确定邻居点A1的属性权重为a2,确定邻居点A3的属性权重为a3。
在一种可能的实现方式中,若多个预设权重的个数与至少一个邻居点的个数不相同,针对至少一个邻居点中的每个邻居点,将多个预设权重中与该邻居点对应的第一距离的倒数最近的预设权重,确定为该邻居点的属性权重。
根据上述各方式,确定出当前点的至少一个邻居点中每个邻居点的属性权重。接着,根据每个邻居点的属性权重以及属性信息,确定当前点的属性信息的预测值。例如,根据每个邻居点的属性权重,计算当前点的至少一个邻居点的属性权重的属性信息的加权值,并将该加权值确定为当前点的属性 信息的预测值。
需要说明的是,上述当前点的邻居点的属性信息指邻居点的重建后的属性信息。
在一些实施例中,本申请实施例还包括其他的点云属性信息的解码过程。例如,解码点云码流,得到当前点量化后的属性信息的残差值,接着,对当前点量化后的属性信息的残差值进行反量化,得到当前点的属性信息的残差值。接着,根据当前点的属性信息的残差值和通过上述步骤得到的当前点的属性信息的预测值,确定当前点的属性信息的重建值,例如,将当前点的属性信息的残差值和上述步骤得到的当前点的属性信息的预测值的和,作为当前点的属性信息的重建值。
本申请实施例提供的点云属性的预测方法,通过解码点云码流,得到点云中已解码的点;确定目标关联关系,目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个关联关系;根据目标关联关系,得到邻居点参数,其中,邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与当前点之间的预设距离d中的至少一个;根据邻居点参数,从已解码的点中,选择当前点的至少一个邻居点;根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。即本申请基于目标关联关系确定邻居点参数,相比于直接预设邻居点参数的方式,丰富了确定点云属性预测值的方式。另外,相比现有的根据经验设定邻居点参数,本申请实施例根据上述目标关联关系确定邻居点参数,可以提高所确定的邻居点参数的准确性,基于准确确定的邻居点参数,可以准确确定出当前点的属性信息的预测值,进而提高了解码效率。
上文结合图4对解码端的点云属性的预测方法进行了介绍,下面结合图6,以编码端为例,对本申请的技术方案进行介绍。
图6为本申请实施例提供的点云属性的预测方法的流程图,该方法的执行主体是计算机设备,具体可以是具有确定点云中点的预测值功能的装置,例如点云属性的预测装置,该点云属性的预测装置可以为上述所述的点云编码器或者为点云编码器中的一部分。如图6所示,本实施例包括:
S610、获得点云中已编码的点。
S620、确定目标关联关系,目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的点云的空间参数与邻居点参数之间的关联关系中的至少一个关联关系。
在一些实施例中,编码端还可以将目标关联关系携带在点云码流中,使得解码端可以从点云码流中解析出目标关联关系。
S630、根据目标关联关系,得到邻居点参数。
其中,邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与当前点之间的预设距离d中的至少一个,N、K均为正整数,d为正数。
情况1中,邻居点参数之间的关联关系包括邻居点参数中的基准参数与非基准参数之间的关联关系。
在一些实施例中,若目标关联关系包括邻居点参数中的基准参数与非基准参数之间的关联关系,则上述S630包括:
S630-A1、确定邻居点参数中的基准参数。可选的,上述基准参数为预设的。
S630-A2、根据邻居点参数中的基准参数、以及邻居点参数中的基准参数与非基准参数之间的关联关系,确定邻居点参数中的非基准参数。
上述S630-A2的实现方式包括但不限于如下几种:
方式一,若邻居点参数中的基准参数包括第一基准参数,则根据第一基准参数、以及第一基准参数与邻居点参数中的第一非基准参数和第二非基准参数之间的关联关系,确定第一非基准参数和第二非基准参数,其中,第一基准参数为备选点数量N、邻居点数量K、邻居点与所述当前点之间的预设距离d中的任意一个,第一非基准参数和第二非基准参数为邻居点参数中除第一基准参数之外的参数。
方式二,若邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据第一基准参数与邻居点参数中的第三非基准参数之间的关联关系、或者第二基准参数与邻居点参数中的第三非基准参数之间的关联关系,确定第三非基准参数,其中,第三非基准参数为备选点数量N、邻居点数量K、邻居点与所述当前点之间的预设距离d中的任意一个,第一基准参数和第二基准参数为邻居点参数中除第三非基准参数之外的参数。
在一些实施例中,编码端还可以将邻居点参数中的基准参数携带在点云码流中,使得解码端可以从点云码流中得到基准参数。
情况2中,目标关联关系包括点云的空间参数与邻居点参数之间的关联关系。
其中,点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
在情况2中,上述S630包括但不限于如下几种方式:
方式一,若点云的空间参数包括点云精度,则S630包括根据点云精度与备选点数量N之间的关联关系,确定备选点数量N,例如,获取点云精度,并将点云精度的倍数或幂次方,确定为备选点数量N。
方式二,若点云的空间参数包括点云密度,则S630包括根据点云密度与预设距离d之间的关联关系,确定预设距离d,例如,获取点云密度,并将点云密度的倍数,确定为预设距离d。
方式三,若点云的空间参数包括点云精度,则S630包括根据点云精度与 邻居点数量K之间的关联关系,确定邻居点数量K,例如,获取点云精度,并将点云精度的倍数,确定为邻居点数量K。
方式四,若点云的空间参数包括点云量化步长,则S630包括:根据点云量化步长与备选点数量N之间的关联关系,确定备选点数量N,例如,获取点云量化步长,并将点云量化步长的倍数,确定为备选点数量N。
需要说明的是,上述方式一至方式四中的关联关系可以是预设的函数关系、预设的运算关系、预设的映射关系中的一个或其任意组合,本申请实施例对此不做限制。
在该情况2中,编码端在执行上述各方式时,需要获得点云中点的几何信息;根据点云中点的几何信息,确定点云的空间参数,其中点云的空间参数包括点云精度、点云密度、点云量化步长中的至少一个。
在一些实施例中,编码端还可以将上述确定的点云的空间参数携带在点云码流中,使得解码端可以从点云码流中解析出点云的空间参数。
S640、根据邻居点参数,从已编码的点中,选择当前点的至少一个邻居点。
在一些实施例中,上述S640包括:
S640-A1、从点云中已编码的点中,选择当前点的N个备选点。
S640-A2、根据邻居点数量K和预设距离d中的至少一个,从N个备选点中,选择当前点的至少一个邻居点。
在一些实施例中,上述S640-A2包括:从N个备选点中,选择满足目标条件的至少一个备选点作为当前点的至少一个邻居点,其中目标条件包括如下至少一个条件:
条件1,与当前点在各个维度上的距离均小于第一预设距离的备选点;
条件2,与当前点在各个维度上的距离均等于第二预设距离的备选点;
条件3,距离当前点最近的K个备选点;
条件4,N个备选点中按预设顺序排序得到的前K个备选点确定为当前点的邻居点。
S650、根据当前点的至少一个邻居点的属性信息,确定当前点的属性信息的预测值。
在一些实施例中,上述S650包括如下步骤:
S650-A1、确定当前点的至少一个邻居点中每个邻居点的属性权重。
S650-A2、根据当前点的至少一个邻居点的属性信息和属性权重,确定当前点的属性信息的预测值。
在一些实施例中,上述S650-A1的实现方式包括但不限于如下几种:
在一种实现方式中,从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重。
在一些实施例中,若至少一个预设权重包括一个预设权重,则上述从至 少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重包括:确定K个邻居点中每个邻居点的属性权重均为预设权重。
在一些实施例中,若至少一个预设权重包括多个预设权重,上述从至少一个预设权重中,确定当前点的至少一个邻居点中每个邻居点的属性权重,包括:
S650-A11、针对K个邻居点中的每个邻居点,根据邻居点与当前点的几何信息,确定邻居点与当前点之间的第一距离;
S650-A12、根据邻居点与当前点之间的第一距离,从多个预设权重中确定邻居点的属性权重。
在一些实施例中,上述S650-A12的实现方式包括但不限于如下几种:
方式一,若第一距离大于或等于多个预设权重中的第一预设权重,且第一距离小于多个预设权重中的第二预设权重,则确定邻居点的属性权重为第一预设权重,第二预设权重为多个预设权重中与第一预设权重距离最小的预设权重。
可选的,第一预设权重与第二预设权重之间的权重间隔等于预设间隔。
方式二,若第一距离小于或等于第一阈值,则确定邻居点的属性权重为多个预设权重中的第三预设权重,若第一距离大于第一阈值,则确定邻居点的属性权重为多个预设权重中的第四预设权重,其中第三预设权重小于第四预设权重。
可选的,第一阈值为当前点的至少一个邻居点中每个邻居点与当前点之间的距离的中位值。或者,第一阈值为点云精度的倍数。
方式三,若多个预设权重的个数与至少一个邻居点的个数相同,则根据当前点与邻居点之间的第一距离的大小,对至少一个邻居点进行排序,根据多个预设权重的大小,对多个预设权重进行排序,将排序后的预设权重一一对应地确定为排序后的至少一个邻居点的属性权重。
方式四,若多个预设权重的个数与至少一个邻居点的个数不相同,针对至少一个邻居点中的每个邻居点,将多个预设权重中与邻居点对应的第一距离的倒数最近的预设权重,确定为邻居点的属性权重。
需要说明的是,上述S610和S650的具体实现过程可以参照上述S410和S450的具体描述,在此不再赘述。
应理解,编码端中点云属性的预测方法为上述解码端中点云属性的预测方法的逆过程。上述编码端中点云属性的预测方法中的步骤可以参考解码端中点云属性的预测方法中的相应步骤,为了避免重复,在此不再赘述。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下, 可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图4至图6,详细描述了本申请的方法实施例,下文结合图7至图9,详细描述本申请的装置实施例。
图7是本申请实施例的一点云属性的预测装置的示意性框图。该装置10可以为解码设备,也可以为解码设备中的一部分。
如图7所示,点云属性的预测装置10可包括:
解码单元11,用于解码点云码流,得到点云中已解码的点;
条件确定单元12,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
参数确定单元13,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
选择单元14,用于根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点;
预测单元15,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
在一些实施例中,所述邻居点参数之间的关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系。
在一些实施例中,若所述目标关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系,则参数确定单元13,具体用于确定所述邻居点参数中的基准参数;根据所述邻居点参数中的基准参数、和所述邻居点参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数。
在一些实施例中,参数确定单元13,具体用于若所述邻居点参数中的基准参数包括第一基准参数,则根据所述第一基准参数、所述第一基准参数与所述邻居点参数中的第一非基准参数之间的关联关系、以及所述第一基准参数与所述邻居点参数中的第二非基准参数之间的关联关系,确定所述第一非基准参数和第二非基准参数,其中,所述第一基准参数为所述备选点数量N、 所述邻居点数量K、所述邻居点与所述当前点之间的预设距离d中的任意一个,所述第一非基准参数和第二非基准参数为所述邻居点参数中除所述第一基准参数之外的参数;或者,
若所述邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据所述第一基准参数与所述邻居点参数中的第三非基准参数之间的关联关系、或者第二基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,确定所述第三非基准参数,其中,所述第三非基准参数为所述备选点数量N、所述邻居点数量K、所述邻居点与所述当前点之间的预设距离d中的任意一个,所述第一基准参数和第二基准参数为所述邻居点参数中除所述第三非基准参数之外的参数。
在一些实施例中,解码单元11,还用于解码所述点云码流,得到所述邻居点参数中的基准参数。
可选的,所述点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
在一些实施例中,若所述目标关联关系包括所述点云的空间参数与所述邻居点参数之间的关联关系,则参数确定单元13,具体用于根据所述点云精度与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,根据所述点云量化步长与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,根据所述点云密度与所述预设距离d之间的关联关系,确定所述预设距离d;或者,根据所述点云精度与所述邻居点数量K之间的关联关系,确定所述邻居点数量K。
在一些实施例中,解码单元11,还用于解析所述点云码流,得到所述点云的空间参数;或者,解析所述点云码流,得到所述点云中点的几何信息,并根据所述点云中点的几何信息,确定所述点云的空间参数。
在一些实施例中,预测单元15,具体用于确定所述当前点的至少一个邻居点中每个邻居点的属性权重;根据所述当前点的至少一个邻居点的属性信息和属性权重,确定所述当前点的属性信息的预测值。
在一些实施例中,预测单元15,具体用于从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重。
在一些实施例中,预测单元15,具体用于若所述至少一个预设权重包括一个预设权重,则确定所述至少一个邻居点中每个邻居点的属性权重均为所述预设权重;或者,若所述至少一个预设权重包括多个预设权重,则针对所述至少一个邻居点中的每个邻居点,根据所述邻居点的几何信息与所述当前点的几何信息,确定所述邻居点与所述当前点之间的第一距离,并根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重。
在一些实施例中,预测单元15,具体用于若所述第一距离大于或等于所 述多个预设权重中的第一预设权重,且所述第一距离小于所述多个预设权重中的第二预设权重,则确定所述邻居点的属性权重为所述第一预设权重,所述第二预设权重为所述多个预设权重中与所述第一预设权重距离最小的预设权重;或者,
若所述第一距离小于或等于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第三预设权重,若所述第一距离大于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第四预设权重,其中所述第三预设权重小于所述第四预设权重;或者,
若所述多个预设权重的个数与所述至少一个邻居点的个数相同,则根据所述当前点与邻居点之间的第一距离的大小,对所述至少一个邻居点进行排序,根据所述多个预设权重的大小,对所述多个预设权重进行排序,将排序后的预设权重一一对应地确定为排序后的所述至少一个邻居点的属性权重;或者,
若所述多个预设权重的个数与所述至少一个邻居点的个数不相同,针对所述至少一个邻居点中的每个邻居点,将所述多个预设权重中与所述邻居点对应的第一距离的倒数最近的预设权重,确定为所述邻居点的属性权重。
可选的,所述第一预设权重与所述第二预设权重之间的权重间隔等于预设间隔。
可选的,所述第一阈值为所述至少一个邻居点中每个邻居点与所述当前点之间的第一距离的中位值;或者,所述第一阈值为所述点云精度的倍数。
在一些实施例中,选择单元14,具体用于从所述点云中已解码的点中,选择所述当前点的N个备选点;根据所述邻居点数量K和所述预设距离d中的至少一个,从所述N个备选点中,选择所述当前点的至少一个邻居点。
在一些实施例中,选择单元14,具体用于从所述N个备选点中,选择满足目标条件的至少一个备选点作为所述当前点的至少一个邻居点,其中所述目标条件包括如下至少一个条件:
条件1,与所述当前点在各个维度上的距离均小于第一预设距离;
条件2,与所述当前点在各个维度上的距离均等于第二预设距离;
条件3,距离所述当前点最近的K个备选点;
条件4,所述N个备选点中按预设顺序排序得到的前K个备选点。
在一些实施例中,解码单元11,还用于解码点云码流,得到所述目标关联关系。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置可以执行上述图4所示方法的实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现解码器对应的方法实施例,为了简洁,在此不再赘述。
图8是本申请实施例的一点云属性的预测装置的示意性框图。该装置20可以为编码设备,也可以为编码设备中的一部分。
如图8所示,点云属性的预测装置20可包括:
获取单元21,用于获得点云中已编码的点;
条件确定单元22,用于确定目标关联关系,所述目标关联关系包括预设的所述邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
参数确定单元23,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括所述当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
选择单元24,用于根据所述邻居点参数,从所述已编码的点中,选择所述当前点的至少一个邻居点;
预测单元25,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
在一些实施例中,所述邻居点参数之间关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系。
在一些实施例中,若所述目标关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系,则参数确定单元23,具体用于确定所述邻居点参数中的基准参数;根据所述邻居点参数中的基准参数、和所述邻居点参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数。
在一些实施例中,参数确定单元23,具体用于若所述邻居点参数中的基准参数包括第一基准参数,则根据所述第一基准参数、所述第一基准参数与所述邻居点参数中的第一非基准参数之间的关联关系、以及所述第一基准参数与所述邻居点参数中的第二非基准参数之间的关联关系,确定所述第一非基准参数和第二非基准参数,其中,所述第一基准参数为所述备选点数量N、所述邻居点数量K、所述预设距离d中的任意一个,所述第一非基准参数和第二非基准参数为所述邻居点参数中除所述第一基准参数之外的参数;或者,
若所述邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据所述第一基准参数与所述邻居点参数中的第三非基准参数之间的关联关系、或者第二基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,确定所述第三非基准参数,其中,所述第三非基准参数为所述备选点数量N、所述邻居点数量K、所述预设距离d中的任意一个,所述第一基准参数和第二基准参数为所述邻居点参数中除所述第三非基准参数之外的参数。
在一些实施例中,上述装置还包括编码单元26,编码单元26用于将所 述邻居点参数中的基准参数携带在点云码流中。
可选的,所述点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
在一些实施例中,若所述目标关联关系包括所述点云的空间参数与所述邻居点参数之间的关联关系,则参数确定单元23,具体用于根据所述点云精度与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,根据所述点云量化步长与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,根据所述点云密度与所述预设距离d之间的关联关系,确定所述预设距离d;或者,根据所述点云精度与所述邻居点数量K之间的关联关系,确定所述邻居点数量K。
在一些实施例中,获取单元21,还用于获得所述点云中点的几何信息;根据所述点云中点的几何信息,确定所述点云的空间参数,其中所述点云的空间参数包括所述点云精度和所述点云密度中的至少一个。
在一些实施例中,编码单元26,还用于将所述点云的空间参数携带在点云码流中。
在一些实施例中,预测单元25,具体用于确定所述当前点的至少一个邻居点中每个邻居点的属性权重;根据所述当前点的至少一个邻居点的属性信息和属性权重,确定所述当前点的属性信息的预测值。
在一些实施例中,预测单元25,具体用于从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重。
在一些实施例中,预测单元25,具体用于若所述至少一个预设权重包括一个预设权重,则确定所述至少一个邻居点中每个邻居点的属性权重均为所述预设权重;或者,
若所述至少一个预设权重包括多个预设权重,则针对所述至少一个邻居点中的每个邻居点,根据所述邻居点的几何信息与所述当前点的几何信息,确定所述邻居点与所述当前点之间的第一距离,并根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重。
在一些实施例中,预测单元25,具体用于若所述第一距离大于或等于所述多个预设权重中的第一预设权重,且所述第一距离小于所述多个预设权重中的第二预设权重,则确定所述邻居点的属性权重为所述第一预设权重,所述第二预设权重为所述多个预设权重中与所述第一预设权重距离最小的预设权重;或者,
若所述第一距离小于或等于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第三预设权重,若所述第一距离大于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第四预设权重,其中所述第三预设权重小于所述第四预设权重;或者,
若所述多个预设权重的个数与所述至少一个邻居点的个数相同,则根据 所述当前点与邻居点之间的第一距离的大小,对所述至少一个邻居点进行排序,根据所述多个预设权重的大小,对所述多个预设权重进行排序,将排序后的预设权重一一对应地确定为排序后的所述至少一个邻居点的属性权重;或者,
若所述多个预设权重的个数与所述至少一个邻居点的个数不相同,针对所述至少一个邻居点中的每个邻居点,将所述多个预设权重中与所述邻居点对应的第一距离的倒数最近的预设权重,确定为所述邻居点的属性权重。
可选的,所述第一预设权重与所述第二预设权重之间的权重间隔等于预设间隔。
可选的,所述第一阈值为所述至少一个邻居点中每个邻居点与所述当前点之间的第一距离的中位值;或者,所述第一阈值为所述点云精度的倍数。
在一些实施例中,选择单元24,具体用于从所述点云中已编码的点中,选择所述当前点的N个备选点;根据所述邻居点数量K和所述预设距离d中的至少一个,从所述N个备选点中,选择所述当前点的至少一个邻居点。
在一些实施例中,选择单元24,具体用于从所述N个备选点中,选择满足目标条件的至少一个备选点作为所述当前点的至少一个邻居点,其中所述目标条件包括如下至少一个条件:
条件1,与所述当前点在各个维度上的距离均小于第一预设距离;
条件2,与所述当前点在各个维度上的距离均等于第二预设距离;
条件3,距离所述当前点最近的K个备选点;
条件4,所述N个备选点中按预设顺序排序得到的前K个备选点确定为所述当前点的邻居点。
在一些实施例中,编码单元26,还用于在点云码流中携带所述目标关联关系
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置可以执行上述图6所示方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现编码器对应的方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图9是本申请实施例提供的计算机设备的示意性框图,图9的计算机设备可以为上述的点云编码器或者为点云解码器。
如图9所示,该计算机设备30可包括:
存储器31和处理器32,该存储器31用于存储计算机程序33,并将该程序代码33传输给该处理器32。换言之,该处理器32可以从存储器31中调用并运行计算机程序33,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序33中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器31包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
在本申请的一些实施例中,该计算机程序33可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器31中,并由该处理器32执行,以完成本申请提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序33在该电子设备30中的执行过程。
如图9所示,该计算机设备30还可包括:
收发器34,该收发器34可连接至该处理器32或存储器31。
其中,处理器32可以控制该收发器34与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器34可以包括发射机和接收机。收发器34还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该计算机设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (20)

  1. 一种点云属性的预测方法,由计算机设备执行,包括:
    解码点云码流,得到点云中已解码的点;
    确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
    根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
    根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点;
    根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
  2. 根据权利要求1所述的方法,所述邻居点参数之间的关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系,所述基准参数的值为预设的或者从所述点云码流中解码得到,所述非基准参数为所述邻居点参数中除所述基准参数之外的参数。
  3. 根据权利要求2所述的方法,若所述目标关联关系包括所述邻居点参数中的基准参数与非基准参数之间的关联关系,则所述根据目标关联关系,得到邻居点参数,包括:
    确定所述邻居点参数中的基准参数;
    根据所述邻居点参数中的基准参数、和所述邻居点参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数。
  4. 根据权利要求3所述的方法,所述根据所述邻居点参数中的基准参数、和所述邻居点参数中的基准参数与非基准参数之间的关联关系,确定所述邻居点参数中的非基准参数,包括:
    若所述邻居点参数中的基准参数包括第一基准参数,则根据所述第一基准参数、所述第一基准参数与所述邻居点参数中的第一非基准参数之间的关联关系、以及所述第一基准参数与所述邻居点参数中的第二非基准参数之间的关联关系,确定所述第一非基准参数和所述第二非基准参数,其中,所述第一基准参数为所述备选点数量N、所述邻居点数量K、所述预设距离d中的任意一个,所述第一非基准参数和所述第二非基准参数为所述邻居点参数中除所述第一基准参数之外的参数;或者,
    若所述邻居点参数中的基准参数包括第一基准参数和第二基准参数,则根据所述第一基准参数与所述邻居点参数中的第三非基准参数之间的关联关系、或者所述第二基准参数与所述邻居点参数中的第三非基准参数之间的关联关系,确定所述第三非基准参数,其中,所述第三非基准参数为所述备选 点数量N、所述邻居点数量K、所述预设距离d中的任意一个,所述第一基准参数和所述第二基准参数为所述邻居点参数中除所述第三非基准参数之外的参数。
  5. 根据权利要求1所述的方法,所述点云的空间参数包括点云精度、点云密度和点云量化步长中的至少一个。
  6. 根据权利要求5所述的方法,若所述目标关联关系包括所述点云的空间参数与所述邻居点参数之间的关联关系,则所述根据目标关联关系,得到邻居点参数,包括:
    根据所述点云精度与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,
    根据所述点云量化步长与所述备选点数量N之间的关联关系,确定所述备选点数量N;或者,
    根据所述点云密度与所述预设距离d之间的关联关系,确定所述预设距离d;或者,
    根据所述点云精度与所述邻居点数量K之间的关联关系,确定所述邻居点数量K。
  7. 根据权利要求5所述的方法,所述方法还包括:
    解析所述点云码流,得到所述点云的空间参数;或者,
    解析所述点云码流,得到所述点云中点的几何信息,并根据所述点云中点的几何信息,确定所述点云的空间参数。
  8. 根据权利要求1-7任一项所述的方法,所述根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值,包括:
    确定所述当前点的至少一个邻居点中每个邻居点的属性权重;
    根据所述当前点的至少一个邻居点的属性信息和属性权重,确定所述当前点的属性信息的预测值。
  9. 根据权利要求8所述的方法,所述确定所述当前点的至少一个邻居点中每个邻居点的属性权重,包括:
    从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重。
  10. 根据权利要求9所述的方法,所述从至少一个预设权重中,确定所述当前点的至少一个邻居点中每个邻居点的属性权重,包括:
    若所述至少一个预设权重包括一个预设权重,则确定所述至少一个邻居点中每个邻居点的属性权重均为所述预设权重;或者,
    若所述至少一个预设权重包括多个预设权重,则针对所述至少一个邻居点中的每个邻居点,根据所述邻居点的几何信息与所述当前点的几何信息,确定所述邻居点与所述当前点之间的第一距离,并根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重。
  11. 根据权利要求10所述的方法,所述根据所述邻居点与所述当前点之间的第一距离,从所述多个预设权重中确定所述邻居点的属性权重,包括:
    若所述第一距离大于或等于所述多个预设权重中的第一预设权重,且所述第一距离小于所述多个预设权重中的第二预设权重,则确定所述邻居点的属性权重为所述第一预设权重,所述第二预设权重为所述多个预设权重中与所述第一预设权重距离最小的预设权重;或者,
    若所述第一距离小于或等于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第三预设权重,若所述第一距离大于第一阈值,则确定所述邻居点的属性权重为所述多个预设权重中的第四预设权重,其中,所述第三预设权重小于所述第四预设权重;或者,
    若所述多个预设权重的个数与所述至少一个邻居点的个数相同,则根据所述当前点与邻居点之间的第一距离的大小,对所述至少一个邻居点进行排序,根据所述多个预设权重的大小,对所述多个预设权重进行排序,将排序后的预设权重一一对应地确定为排序后的所述至少一个邻居点的属性权重;或者,
    若所述多个预设权重的个数与所述至少一个邻居点的个数不相同,针对所述至少一个邻居点中的每个邻居点,将所述多个预设权重中与所述邻居点对应的第一距离的倒数最近的预设权重,确定为所述邻居点的属性权重。
  12. 根据权利要求11所述的方法,所述第一阈值为所述至少一个邻居点中每个邻居点与所述当前点之间的第一距离的中位值;或者,所述第一阈值为所述点云精度的倍数。
  13. 根据权利要求1-7任一项所述的方法,所述根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点,包括:
    从所述点云中已解码的点中,选择所述当前点的N个备选点;
    根据所述邻居点数量K和所述预设距离d中的至少一个,从所述N个备选点中,选择所述当前点的至少一个邻居点。
  14. 根据权利要求13所述的方法,所述根据所述邻居点数量K和所述预设距离d中的至少一个,从所述N个备选点中,选择所述当前点的至少一个邻居点,包括:
    从所述N个备选点中,选择满足目标条件的至少一个备选点作为所述当前点的至少一个邻居点,其中所述目标条件包括如下至少一个条件:
    条件1,与所述当前点在各个维度上的距离均小于第一预设距离;
    条件2,与所述当前点在各个维度上的距离均等于第二预设距离;
    条件3,距离所述当前点最近的K个备选点;
    条件4,所述N个备选点中按预设顺序排序得到的前K个备选点。
  15. 一种点云属性的预测方法,由计算机设备执行,包括:
    获得点云中已编码的点;
    确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
    根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
    根据所述邻居点参数,从所述已编码的点中,选择所述当前点的至少一个邻居点;
    根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
  16. 一种点云属性的预测装置,包括:
    解码单元,用于解码点云码流,得到点云中已解码的点;
    条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
    参数确定单元,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
    选择单元,用于根据所述邻居点参数,从所述已解码的点中,选择所述当前点的至少一个邻居点;
    预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
  17. 一种点云属性的预测装置,包括:
    获取单元,用于获得点云中已编码的点;
    条件确定单元,用于确定目标关联关系,所述目标关联关系包括预设的邻居点参数之间的关联关系、以及预设的所述点云的空间参数与所述邻居点参数之间的关联关系中的至少一个关联关系;
    参数确定单元,用于根据所述目标关联关系,得到邻居点参数,其中,所述邻居点参数包括当前点的备选点数量N、邻居点数量K、以及邻居点与所述当前点之间的预设距离d中的至少一个,所述N、K均为正整数,所述d为正数;
    选择单元,用于根据所述邻居点参数,从所述已编码的点中,选择所述当前点的至少一个邻居点;
    预测单元,用于根据所述当前点的至少一个邻居点的属性信息,确定所述当前点的属性信息的预测值。
  18. 一种计算机设备,包括处理器和存储器;
    所述存储器,用于存储计算机程序;
    所述处理器,用于执行所述计算机程序以实现如上述权利要求1至14或15任一项所述的方法。
  19. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至14或15任一项所述的方法。
  20. 一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机实现如权利要求1至14或15任一项所述的方法。
PCT/CN2022/080809 2021-06-11 2022-03-15 点云属性的预测方法、装置及相关设备 WO2022257528A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/989,523 US20230082456A1 (en) 2021-06-11 2022-11-17 Point cloud attribute prediction method and apparatus, and related device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110655607.3A CN115474041B (zh) 2021-06-11 2021-06-11 点云属性的预测方法、装置及相关设备
CN202110655607.3 2021-06-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/989,523 Continuation US20230082456A1 (en) 2021-06-11 2022-11-17 Point cloud attribute prediction method and apparatus, and related device

Publications (1)

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

Family

ID=84365240

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/080809 WO2022257528A1 (zh) 2021-06-11 2022-03-15 点云属性的预测方法、装置及相关设备

Country Status (3)

Country Link
US (1) US20230082456A1 (zh)
CN (1) CN115474041B (zh)
WO (1) WO2022257528A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200111236A1 (en) * 2018-10-03 2020-04-09 Apple Inc. Point cloud compression using fixed-point numbers
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111242997A (zh) * 2020-01-13 2020-06-05 北京大学深圳研究生院 一种基于滤波器的点云属性预测方法及设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3399757A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds
CN108322742B (zh) * 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN108335335B (zh) * 2018-02-11 2019-06-21 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
CN108632621B (zh) * 2018-05-09 2019-07-02 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111095929A (zh) * 2017-09-14 2020-05-01 苹果公司 点云压缩
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
US20200111236A1 (en) * 2018-10-03 2020-04-09 Apple Inc. Point cloud compression using fixed-point numbers
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111242997A (zh) * 2020-01-13 2020-06-05 北京大学深圳研究生院 一种基于滤波器的点云属性预测方法及设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备

Also Published As

Publication number Publication date
US20230082456A1 (en) 2023-03-16
CN115474041B (zh) 2023-05-26
CN115474041A (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
WO2022062369A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022257528A1 (zh) 点云属性的预测方法、装置及相关设备
CN115086660B (zh) 基于点云属性预测的解码、编码方法、解码器及编码器
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023103565A1 (zh) 点云属性信息的编解码方法、装置、设备及存储介质
CN116325732A (zh) 点云的解码、编码方法、解码器、编码器和编解码系统
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2024026712A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023024840A1 (zh) 点云编解码方法、编码器、解码器及存储介质
WO2024065269A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024011381A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022116118A1 (zh) 预测方法、编码器、解码器以及存储介质
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
WO2024065272A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2023093866A1 (en) Method, apparatus, and medium for point cloud coding
WO2024065270A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN118042192A (zh) 点云编码、解码的方法、装置及设备
CN117615136A (zh) 点云解码方法、点云编码方法、解码器、电子设备以及介质
CN118055254A (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: 22819133

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE