WO2022121650A1 - 点云属性的预测方法、编码器、解码器及存储介质 - Google Patents

点云属性的预测方法、编码器、解码器及存储介质 Download PDF

Info

Publication number
WO2022121650A1
WO2022121650A1 PCT/CN2021/131346 CN2021131346W WO2022121650A1 WO 2022121650 A1 WO2022121650 A1 WO 2022121650A1 CN 2021131346 W CN2021131346 W CN 2021131346W WO 2022121650 A1 WO2022121650 A1 WO 2022121650A1
Authority
WO
WIPO (PCT)
Prior art keywords
points
point
adjacent
target
adjacent points
Prior art date
Application number
PCT/CN2021/131346
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 EP21902357.9A priority Critical patent/EP4258671A4/en
Publication of WO2022121650A1 publication Critical patent/WO2022121650A1/zh
Priority to US17/972,005 priority patent/US11910017B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the embodiments of the present application relate to the technical field of video coding and decoding, and in particular, to prediction of point cloud attributes.
  • the surface of the object is collected by the collection device to form point cloud data
  • the point cloud data includes hundreds of thousands or even more points used to express the surface properties of the object.
  • the point cloud data is transmitted between the video production device and the video playback device 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 attribute information is compressed, the redundant information in the point cloud data is reduced or eliminated by prediction, for example, the target point is obtained from the encoded point.
  • One or more adjacent points of predict the attribute information of the target point according to the attribute information of the adjacent points.
  • the present application provides a point cloud attribute prediction method, an encoder, a decoder and a storage medium to improve the point cloud attribute prediction efficiency.
  • the present application provides a point cloud attribute prediction method, the method is executed by an encoding device, and the method includes:
  • the M repeated points determine at least one target adjacent point of the target point
  • N, K, and M are all positive integers greater than or equal to 1.
  • the present application provides a method for predicting point cloud attributes, including:
  • the N decoded points closest to the target point are obtained from the point cloud data as the N adjacent points of the target point;
  • the M repeated points determine at least one target adjacent point of the target point
  • N, K, and M are all positive integers greater than or equal to 1.
  • an encoder for performing the method in the above-mentioned first aspect or each of its implementations.
  • the encoder includes a functional module for executing the method in the above-mentioned first aspect or each implementation manner thereof.
  • a decoder for performing the method in the second aspect or each of its implementations.
  • the encoder includes functional modules for executing the methods in the second aspect or the respective implementations thereof.
  • an encoder including a processor and a memory.
  • the memory is used for storing a computer program
  • the processor is used for calling and running the computer program stored in the memory, so as to execute the method in the above-mentioned first aspect or each implementation manner thereof.
  • a decoder including a processor and a memory.
  • the memory is used for storing a computer program
  • the processor is used for calling and running the computer program stored in the memory, so as to execute the method in the above-mentioned second aspect or each implementation manner thereof.
  • an encoding and decoding system comprising an encoder in any one of the second aspect and the fifth aspect or each of its implementations, and any one of the third and sixth aspects or each of its implementations the decoder in the mode.
  • a chip for implementing the method in any one of the above-mentioned first aspect to the second aspect or each of the implementation manners thereof.
  • the chip includes: a processor for calling and running a computer program from a memory, so that a device installed with the chip executes any one of the above-mentioned first to second aspects or each of its implementations Methods.
  • 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 aspect to the second aspect or each implementation manner thereof.
  • a computer program product comprising computer program instructions, the computer program instructions causing a computer to perform the method in any one of the above-mentioned first to second aspects or implementations thereof.
  • a computer program which, when run on a computer, causes the computer to execute the method in any one of the above-mentioned first to second aspects or the respective implementations thereof.
  • the present application designs different target adjacent point selection strategies according to the distribution of repeated points, determines at least one target adjacent point of the target point, and determines at least one target adjacent point according to the at least one target adjacent point.
  • the reconstructed attribute information is used to predict the attribute of the target point, so as to improve the efficiency and accuracy of the attribute prediction of the point cloud.
  • FIG. 1 is a schematic block diagram of a point cloud video encoding and decoding system according to an embodiment of the 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 a flowchart of a method for predicting a point cloud attribute according to an embodiment of the present application
  • 5A is a schematic diagram of the arrangement of point clouds in the original Morton order
  • 5D is a schematic diagram of a Morton code relationship between adjacent points coplanar with the target point
  • 5E is a schematic diagram of a Morton code relationship between adjacent points collinear with the target point
  • FIG. 6 is a flowchart of a method for predicting a point cloud attribute according to another embodiment provided by an embodiment of the present application.
  • FIG. 7 is a schematic block diagram of an encoder according to an embodiment of the present application.
  • FIG. 8 is a schematic block diagram of a decoder 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.
  • B corresponding to A means that B is associated with A. In one implementation, B may be determined from A. However, it should also be understood that determining B according to A does not mean that B is only determined according to A, and B may also be determined according to A and/or other information.
  • Point cloud refers to a set of discrete points in space that are irregularly distributed and 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 include point location information and point attribute information.
  • the position information of the point may be three-dimensional coordinate information of the point.
  • the position information of the point may also be referred to as the geometric information of the point.
  • the attribute information of the points may include color information and/or reflectivity, among others.
  • the color information may be information in any color space.
  • the color information may be (RGB).
  • the color information may be luminance chrominance (YcbCr, YUV) information.
  • Y represents luminance (Luma)
  • Cb(U) represents blue color difference
  • Cr(V) represents red color
  • U and V represent chromaticity (Chroma) for describing color difference information.
  • a point cloud obtained according to the principle of laser measurement the points in the point cloud may include three-dimensional coordinate information of the point and laser reflection intensity (reflectance) of the point.
  • a point cloud obtained according to the principle of photogrammetry the points in the point cloud may include three-dimensional coordinate information of the point and color information of the point.
  • a point cloud is obtained by combining the principles of laser measurement and photogrammetry, and the points in the point cloud may include three-dimensional coordinate information of the point, laser reflection intensity of the point, and color information of the point.
  • the acquisition approach of point cloud data may include, but is not limited to, at least one of the following: (1) Generated by computer equipment.
  • the computer device can generate point cloud data according to the virtual three-dimensional object and the virtual three-dimensional scene.
  • the visual scene of the real world is acquired through a 3D photography device (ie, a set of cameras or a camera device with multiple lenses and sensors) to obtain point cloud data of the visual scene of the real world, and dynamic real-world three-dimensional objects can be obtained through 3D photography.
  • 3D photography device ie, a set of cameras or a camera device with multiple lenses and sensors
  • point cloud data of biological tissues and organs can be obtained by medical equipment such as Magnetic Resonance Imaging (MRI), Computed Tomography (CT), and electromagnetic positioning information.
  • MRI Magnetic Resonance Imaging
  • CT Computed Tomography
  • the point cloud can be divided into: dense point cloud and sparse point cloud according to the acquisition method.
  • the point cloud is divided into:
  • the first static point cloud that is, the object is static, and the device that obtains the point cloud is also static;
  • the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
  • the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
  • point clouds According to the use of point clouds, it is divided into two categories:
  • Category 1 Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue and relief robots;
  • Category 2 Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
  • Duplicate points Due to the settings of the acquisition technology or the application requirements during transmission and presentation, there may be multiple points with the same location information, and their attribute information may be the same or different, that is, defined as duplicate points.
  • FIG. 1 is a schematic block diagram of a point cloud video encoding and decoding system according to an embodiment of the present application. It should be noted that FIG. 1 is just an example, and the point cloud video encoding and decoding system in the embodiment of the present application includes but is not limited to that shown in FIG. 1 .
  • the point cloud video encoding and decoding system 100 includes an encoding device 110 and a decoding device 120 .
  • the encoding device is used to encode the point cloud data (which can be understood as compression) to generate a code stream, and transmit the code stream to the decoding device.
  • the decoding device decodes the code stream encoded by the encoding device to obtain decoded point cloud data.
  • the encoding device 110 in this embodiment of the present application may be understood as a device with a video encoding function
  • the decoding device 120 may be understood as a device with a video decoding function
  • the encoding device 110 or the decoding device 120 may include a smart phone, a desktop computer, or a mobile computing device , notebook (eg, laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, video game consoles, in-vehicle computers, and the like.
  • the encoding device 110 may transmit the encoded point cloud data (eg, a code stream) to the decoding device 120 via the channel 130 .
  • Channel 130 may include one or more media and/or devices capable of transmitting encoded point cloud data from encoding device 110 to decoding device 120 .
  • channel 130 includes one or more communication media that enables encoding device 110 to transmit encoded point cloud data directly to decoding device 120 in real-time.
  • the encoding apparatus 110 may modulate the encoded point cloud data according to the communication standard and transmit the modulated point cloud data to the decoding apparatus 120 .
  • the communication medium includes a wireless communication medium, such as a radio frequency spectrum, optionally, the communication medium may also include a wired communication medium, such as one or more physical transmission lines.
  • channel 130 includes a storage medium that can store point cloud data encoded by encoding device 110 .
  • Storage media include a variety of locally accessible data storage media such as optical discs, DVDs, flash memory, and the like.
  • the decoding device 120 may obtain the encoded point cloud data from the storage medium.
  • channel 130 may include a storage server that may store point cloud data encoded by encoding device 110 .
  • the decoding device 120 may download the stored encoded point cloud data from the storage server.
  • the storage server may store the encoded point cloud data and may send the encoded point cloud data to the decoding device 120, such as a web server (eg, for a website), a file transfer protocol (FTP) server, etc. .
  • FTP file transfer protocol
  • encoding apparatus 110 includes video encoder 112 and output interface 113 .
  • the output interface 113 may include a modulator/demodulator (modem) and/or a transmitter.
  • encoding device 110 may include video source 111 in addition to video encoder 112 and output interface 113 .
  • the video source 111 may include at least one of a video capture device (eg, a video camera), a video archive, a video input interface, a computer graphics system for receiving point cloud data from a video content provider, computer graphics The system is used to generate point cloud data.
  • a video capture device eg, a video camera
  • a video archive e.g., a video archive
  • a video input interface e.g., a video input interface
  • a computer graphics system for receiving point cloud data from a video content provider
  • computer graphics The system is used to generate point cloud data.
  • the video encoder 112 encodes the point cloud data from the video source 111 to generate a code stream.
  • the video encoder 112 directly/indirectly transmits the encoded point cloud data to the decoding device 120 via the output interface 113 .
  • the encoded point cloud data may also be stored on a storage medium or a storage server for subsequent reading by the decoding device 120 .
  • decoding device 120 includes input interface 121 and video decoder 122 .
  • the decoding device 120 may include a display device 123 in addition to the input interface 121 and the video 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 video decoder 122 is configured to decode the encoded point cloud data, obtain the decoded point cloud data, and transmit the decoded point cloud data to the display device 123 .
  • the display device 123 displays the decoded point cloud data.
  • the display device 123 may be integrated with the decoding apparatus 120 or external to the decoding apparatus 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 solutions of the embodiments of the present application are not limited to FIG. 1 .
  • the technology of the present application may also be applied to single-side video encoding or single-side video decoding.
  • the point cloud is a collection of massive points, storing the point cloud not only consumes a lot of memory, but also is not conducive to transmission, and there is no such a large bandwidth to support the point cloud to be transmitted directly at the network layer without compression. Cloud compression is necessary.
  • the point cloud is compressed through a point cloud encoding framework.
  • the point cloud coding framework can be the Geometry Point Cloud Compression (G-PCC) codec framework provided by the Moving Picture Experts Group (MPEG) or the Video Point Cloud Compression (Video Point Cloud) Compression, V-PCC) codec framework, or it can be 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 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 obtain the position information (also referred to as geometric information or geometric position) and attribute information of the point cloud from the acquisition device.
  • the encoding of point cloud includes position encoding and attribute encoding.
  • the process of position coding includes: preprocessing the original point cloud, such as coordinate transformation, quantization to remove duplicate points, etc.; after constructing an octree, coding is performed to form a geometric code stream.
  • the attribute coding process includes: by given the reconstruction information of the position information of the input point cloud and the true value of the attribute information, select one of the three prediction modes for point cloud prediction, quantify the predicted result, and perform arithmetic coding to form attribute code stream.
  • position encoding can be achieved by the following units:
  • Coordinate translation coordinate quantization unit 201 octree construction unit 202 , octree reconstruction unit 203 , entropy encoding unit 204 .
  • the coordinate translation and coordinate quantization unit 201 can be used to transform the world coordinates of the points in the point cloud into relative coordinates, and quantize the coordinates, which can reduce the number of coordinates; after quantization, different points may be assigned the same coordinates.
  • the octree construction unit 202 may encode the position information of the quantized points using an octree encoding method.
  • the point cloud is divided in the form of an octree, so that the position of the point can be in a one-to-one correspondence with the position of the octree.
  • the flag (flag) is recorded as 1, for geometry encoding.
  • the octree reconstruction unit 203 is used for reconstructing the geometrical position of each point in the point cloud to obtain the reconstructed geometrical position of the point.
  • the entropy encoding unit 204 can use the entropy encoding method to perform arithmetic encoding on the position information output by the octree construction unit 202, that is, the position information output by the octree construction unit 202 uses the arithmetic encoding method to generate a geometric code stream; the geometric code stream may also be called is a geometry bitstream.
  • Attribute encoding can be achieved through 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 spatial transformation unit 210 may be used to transform the RGB color space of the points in the point cloud into YCbCr format or other formats.
  • the attribute interpolation unit 211 may be used to transform attribute information of points in the point cloud to minimize attribute distortion.
  • the attribute conversion unit 211 may be used to obtain the true value of the attribute information of the point.
  • the attribute information may be color information of dots.
  • the attribute prediction unit 212 may be configured to predict the attribute information of the point in the point cloud to obtain the predicted value of the attribute information of the point, and then obtain the residual value of the attribute information of the point based on the predicted value of the attribute information of the point.
  • the residual value of the attribute information of the point may be the actual value of the attribute information of the point minus the predicted value of the attribute information of the point.
  • the entropy coding unit 214 may perform entropy coding on the residual value of the attribute information of the point by using zero run length coding, so as to obtain the attribute code stream.
  • the attribute code stream may be bit stream information.
  • Geometry encoding contains two modes, which can be used under different conditions.
  • Octree-based geometric coding Octree is a tree-shaped data structure. In 3D space division, the preset bounding boxes are evenly divided, and each node has eight child nodes . By using '1' and '0' to indicate whether each child node of the octree is occupied or not, the occupancy code information (occupancy code) is obtained as the code stream of the point cloud geometric information.
  • Geometric encoding based on triangular representation (Trisoup): Divide the point cloud into blocks of a certain size, locate the intersection of the point cloud surface at the edge of the block and construct triangles. Compression of geometric information is achieved by encoding the location of intersections.
  • Geometry quantization the fineness of quantization is usually determined by the quantization parameter (QP). On the contrary, if the value of QP is small, the coefficients representing a small value range will be quantized into the same output, so it usually brings less distortion, and corresponds to a relatively small value. high bit rate. In point cloud coding, quantization is performed directly on the coordinate information of points.
  • QP quantization parameter
  • Geometry entropy encoding perform statistical compression encoding on the occupancy code information of the octree, and finally output a binary (0 or 1) compressed code stream.
  • Statistical coding is a lossless coding method that can effectively reduce the code rate required to express the same signal.
  • a commonly used statistical 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, to restore the coordinate information of each point in the 3D point cloud. Find the attribute information corresponding to one or more adjacent points in the original point cloud as the attribute information of the reconstructed point.
  • Attribute prediction coding During attribute prediction coding, one or more points are selected as the predicted value through the proximity relationship of geometric information or attribute information, and the weighted average is obtained to obtain the final attribute predicted value. The difference between the predicted values is encoded.
  • Attribute transform coding (Transform): The attribute transform coding includes three modes, which can be used under different conditions.
  • Attribute quantization The fineness of quantization is usually determined by the quantization parameter (QP).
  • QP quantization parameter
  • entropy coding is performed after quantizing residual values
  • RAHT entropy coding is performed after quantizing transform coefficients.
  • Attribute entropy coding The quantized attribute residual signal or transform coefficient generally uses run length coding and arithmetic coding to achieve final compression. Corresponding coding modes, quantization parameters and other information are also coded by an entropy coder.
  • FIG. 3 is a schematic block diagram of a decoding framework provided by an embodiment of the present application.
  • the process of position decoding includes: arithmetic decoding of the geometric code stream; merging after building an octree, and reconstructing the position information of the point to obtain the reconstruction information of the position information of the point; coordinate the reconstruction information of the position information of the point Transform to get the position information of the point.
  • the position information of the point may also be referred to as the geometric information of the point.
  • 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 .
  • 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 .
  • Decompression is an inverse process of compression.
  • the functions of each unit in the decoding framework 300 may 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. First, the geometric information is inverse quantized to obtain the reconstructed 3D point position information. On the other hand, the attribute information is inversely quantized to obtain the residual information, and the reference signal is confirmed according to the adopted transformation mode to obtain the reconstructed attribute information, which corresponds to the geometric information one-to-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 the points in the point cloud; then, decode the attribute information of the points in the LoD in sequence; number (zero_cnt), to decode the residual based on zero_cnt; then, the decoding framework 300 may perform inverse quantization based on the decoded residual value, and add the inverse quantized residual value to the predicted value of the target point to obtain the The reconstructed value of the point cloud until all point clouds have been decoded.
  • the target point will serve as the nearest neighbor of the subsequent LoD midpoint, and use the reconstructed value of the target point to predict the attribute information of the subsequent point.
  • FIG. 4 is a flowchart of a method for predicting a point cloud attribute according to an embodiment of the present application.
  • the execution body of the method is the aforementioned encoding device, such as the encoding device 110.
  • the method includes the following steps:
  • the adjacent points whose attribute information has been encoded in the point cloud data are obtained, the distance between the encoded adjacent points and the target point is calculated, and the distance target is selected from the encoded adjacent points according to the size of the distance.
  • the N adjacent points of the point within the predetermined distance range are used as the N adjacent points of the target point.
  • the N adjacent points within the predetermined distance range are the top N adjacent points with the closest distances obtained by comparing the respective distances between the adjacent points and the target point.
  • the target point is one of the points included in the point cloud data.
  • the Morton sequence can be used to select N adjacent points of the target point, specifically:
  • Morton order 2 is obtained according to Morton order, as shown in FIG. 5B .
  • the corresponding Morton codes also change, but their relative positions remain unchanged.
  • the Morton code of point D is 23, and the Morton code of its adjacent point B is 21, so point B can be found by searching two points forward from point D at most. But in FIG. 5A , from point D (Morton code 16), it needs to search forward at most 14 points to find point B (Morton code 2).
  • Morton order coding find the nearest predicted point of the target point, select the first N1 coded points of the target point in Morton order 1 as the N1 adjacent points of the target point, and the value range of N1 is greater than or equal to 1,
  • Method 2 Calculate the first maxNumOfNeighbours coded points of the target point in the Hilbert order, and use the maxNumOfNeighbours coded points as N adjacent points of the target point.
  • maxNumOfNeighbours is 128.
  • the manner in which the above-mentioned S401 obtains the N coded points closest to the target point from the point cloud data as the N adjacent points of the target point includes:
  • FIG. 5C The spatial relationship between the adjacent points of the target point is shown in Figure 5C, in which the solid line box represents the target point, and it is assumed that the search range of the adjacent points is the 3X3X3 neighborhood of the target point.
  • the Morton code of the target point is used to obtain the block with the smallest Morton code value in the 3X3X3 neighborhood, the block is used as the reference block, and the reference block is used to find the coded adjacent points that are coplanar and collinear with the target point.
  • FIG. 5D The Morton code relationship between adjacent points that are coplanar with the target point in the neighborhood is shown in FIG. 5D
  • FIG. 5E The Morton code relationship between adjacent points that are collinear with the target point is shown in FIG. 5E below.
  • the reference block is used to search for N adjacent points that are coplanar and collinear with the target point, and the properties of the target point are predicted by using these N adjacent points.
  • attribute prediction is performed using the point corresponding to the previous Morton code of the target point.
  • K first adjacent points are randomly obtained from N adjacent points.
  • the present application may also adopt other distance calculation methods to calculate the distance between each adjacent point and the target point.
  • the first K adjacent points with the smallest distance d among the N adjacent points are taken as the K first adjacent points.
  • the K first adjacent points there are M repeated points with the same position information.
  • S403. Determine at least one target adjacent point of the target point according to the M repeated points.
  • the attribute information of the target point is predicted by using the K first adjacent points obtained in S403 as the target adjacent points of the target point.
  • the present application considers the influence of M repeated points in the K first adjacent points on the prediction of the attribute information of the target point. Therefore, at least one target adjacent point of the target point is determined based on the M repeated points, thereby improving the target point. Efficiency of attribute information prediction.
  • the implementation process of determining at least one target adjacent point of the target point according to the M repeated points includes but is not limited to the following ways:
  • the above S403 includes the following S403-A1 and S403-A2:
  • S403-A1 determine a third adjacent point from the M repeated points
  • S403-A2 take the third adjacent point as a target adjacent point of the target point.
  • One way is to use the attribute value of any one of the M repeated points as the attribute value of the third adjacent point;
  • the average value of the attribute values of each of the M repeated points is used as the attribute value of the third adjacent point.
  • the video encoder may further use the K-M first adjacent points except the M repeated points among the K first adjacent points as the K-M target adjacent points of the target point point.
  • the embodiments of the present application further include:
  • S403-A3 Select M-1 second adjacent points from the N adjacent points, where the second adjacent points are different from the first adjacent points.
  • S403-A4 take the M-1 second adjacent points as the M-1 target adjacent points of the target point.
  • the M-1 second adjacent points may include duplicate points or may not include duplicate points, which is not limited in this application.
  • M-1 adjacent points are arbitrarily selected as the second adjacent points from among the N-K adjacent points except the K first adjacent points among the N adjacent points.
  • Method 2 Select the M-1 adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-1 second adjacent points, where the N-K adjacent points are divided by K among the N adjacent points. neighbors other than the first neighbor.
  • S403-B1 Select, from the M repeating points, P repeating points whose time information is the same as that of the target point as the target adjacent points of the target point, where P is a positive integer.
  • the present application may also include S403-B2:
  • S403-B2 Select M-P fourth adjacent points from the N adjacent points as the M-P target adjacent points of the target point, wherein the fourth adjacent point is different from the first adjacent point.
  • M-P fourth adjacent points are selected from the remaining adjacent points except the K first adjacent points among the N adjacent points, and the M-P fourth adjacent points are used as the M-P of the target point.
  • target adjacent points the M-P fourth adjacent points may include duplicate points or may not include duplicate points, which is not limited in this application.
  • M-P adjacent points are arbitrarily selected as the second adjacent points from among the N-K adjacent points except the K first adjacent points among the N adjacent points.
  • Method 2 Select the M-P adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-P second adjacent points, where the N-K adjacent points are the N adjacent points except the K first adjacent points. Adjacent points outside the point.
  • the third implementation manner, the above S403 includes S403-C1:
  • S403-C2 On the basis of the above S403-C1, the present application may also include S403-C2:
  • S403-C2 Select M adjacent points from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are the N adjacent points divided by the K first adjacent points outside neighbors.
  • Method 2 Select the M adjacent points with the smallest distance from the target point from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are the N adjacent points except the K first. Neighbors other than neighbors.
  • S403-D1 The fourth implementation manner, the above S403 includes S403-D1:
  • the present application carries the total number of target adjacent points of the target point in the code stream formed subsequently.
  • the code stream subsequently formed carries the total number of target adjacent points of the target point. If the total number of target adjacent points of the target point is K, the subsequent formed code stream does not carry the total number of target adjacent points of the target point. Correspondingly, the decoding end does not parse out the code stream.
  • the default total number of target adjacent points of the target point is K.
  • the present application can perform the following S404 after determining at least one target adjacent point of the target point according to the M repeated points.
  • the predicted value of the reflectivity of the target point is determined according to the following method:
  • the components in the x, y, and z directions adopt different weights, and the weights of the adjacent points of the target are determined according to the following formula (2):
  • a, b, and c are the preset weights of the reflectivity attribute in the x, y, and z directions, respectively.
  • the a, b, and c can be obtained by looking up a table, or are preset fixed values.
  • the predicted value of the reflectivity of the target point is determined
  • the method for predicting point cloud attributes provided by the present application, according to the distribution of repeated points, in the prediction process, different target adjacent point selection strategies are designed, at least one target adjacent point of the target point is determined, and according to at least one target phase The reconstructed attribute information of the adjacent points, the attribute prediction of the target point is carried out, and the efficiency of the attribute prediction of the point cloud is improved.
  • the embodiments of the present application further include the steps of preprocessing and sorting the repeated points in the point cloud data.
  • the preprocessing methods include but are not limited to the following:
  • the first method is to remove the points with the same location information and attribute information from the point cloud data, that is, remove the duplicate points with the same attribute value in the point cloud data.
  • Method 2 Obtain Q points with the same location information and different attribute information in the point cloud data, where Q is a positive integer greater than or equal to 2; remove Q-1 points from the Q points from the point cloud data, and keep them A first point among the Q points, the attribute value of the first point is the average value of the attribute values of the Q points. That is to say, only one duplicate point with different attribute values is reserved, and its corresponding attribute value is obtained by calculation, for example, arithmetic mean and other methods.
  • the sorting methods include but are not limited to the following:
  • Method 2 Arrange in ascending or descending order according to the size of the attribute values of the repeated points. If there are multiple attribute values, first sort according to the first attribute value. If the first attribute value is the same, then sort according to the second attribute value.
  • the first attribute value may be the attribute value of the color attribute
  • the second attribute value may be the attribute value of the reflectivity. If there are multiple duplicate points with the same attribute value, they are sorted or not sorted according to other possible input information.
  • the third method is to arrange the repeating points in ascending or descending order according to the difference between the attribute value of each repeating point in the repeating points and the attribute value of the target point.
  • the method for predicting point cloud attributes provided by the embodiments of the present application is described above by taking the encoding end as an example. Below, with reference to FIG. 6 , taking the decoding end as an example, and taking a decoding device such as the aforementioned decoding device 120 as the execution subject, the technical solution of the present application will be described. Introduce.
  • FIG. 6 is a flowchart of a method for predicting point cloud attributes according to another embodiment provided by an embodiment of the present application, as shown in FIG. 6 , including:
  • the decoder parses the code stream, firstly decodes the position information of the point cloud, and then decodes the attribute information of the point cloud.
  • the distance between the target point and each point is obtained, and according to the distance between the target point and each point, from the point cloud data Obtain the N closest decoded points to the target point as the N neighbors of the target point.
  • S603 Obtain K first adjacent points from the N adjacent points, where the K first adjacent points include M repeated points with the same location information.
  • the distance between each of the N adjacent points and the target point is calculated, and the N The first K adjacent points with the smallest distance d among the adjacent points are regarded as the K first adjacent points.
  • the implementation process of determining at least one target adjacent point of the target point according to the M repeated points includes but is not limited to the following ways:
  • the above S604 includes the following S604-A1 and S604-A2:
  • the above-mentioned third adjacent point may be any one of the M repeated points. Since the position information of the M repeated points is the same, but the attribute information may be the same or different, the attribute information of the third adjacent point may be determined in the following manner.
  • the average value of the attribute values of each repeated point in the M repeated points is taken as the attribute value of the third adjacent point.
  • the video encoder can also Among the adjacent points, the K-M first adjacent points except the M repeated points are used as the K-M target adjacent points of the target point.
  • the embodiments of the present application further include:
  • S604-A3 Select M-1 second adjacent points from the N adjacent points, where the second adjacent points are different from the first adjacent points.
  • S604-A4 take the M-1 second adjacent points as the M-1 target adjacent points of the target point.
  • M-1 adjacent points are arbitrarily selected as the second adjacent points from among the N-K adjacent points except the K first adjacent points among the N adjacent points.
  • Method 2 Select the M-1 adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-1 second adjacent points, where the N-K adjacent points are divided by K among the N adjacent points. neighbors other than the first neighbor.
  • each point in the point cloud data includes time information
  • the above S604 includes S604-B1 and S604-B2:
  • S604-B1 parse the code stream to obtain the time information of the M repetition points and the time information of the target point;
  • S604-B2 Select, from the M repeating points, P repeating points whose time information is the same as that of the target point as the target adjacent points of the target point, where P is a positive integer.
  • this implementation may further include S604-B2:
  • S604-B2 Select M-P fourth adjacent points from the N adjacent points as the M-P target adjacent points of the target point, where the fourth adjacent point is different from the first adjacent point.
  • M-P adjacent points are arbitrarily selected as the second adjacent points from among the N-K adjacent points except the K first adjacent points among the N adjacent points.
  • Method 2 Select the M-P adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-P second adjacent points, where the N-K adjacent points are the N adjacent points except the K first adjacent points. Adjacent points outside the point.
  • the third implementation manner, the above S604 includes S604-C1:
  • this implementation may also include S604-C2:
  • S604-C2 Select M adjacent points from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are the N adjacent points divided by the K first adjacent points outside neighbors.
  • Method 2 Select the M adjacent points with the smallest distance from the target point from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are the N adjacent points except the K first. Neighbors other than neighbors.
  • S604 includes S604-D1 and S604-D2:
  • S604-D1 determine whether the position information of the target point and the repeated points in the M repeated points are the same
  • the above S604-D1 includes but is not limited to the following ways:
  • the duplicate point identifiers included in the target point are consistent with the duplicate point identifiers of the M duplicate points, it is determined that the location information of the target point and the M duplicate points are the same. It should be noted that the duplicate point identifiers corresponding to the duplicates of the same category are the same.
  • Manner 3 Parse the code stream to obtain the repetition point identifier of the first repetition point. If the position information of the target point and the first repetition point is the same, it is determined that the position information of the target point and the M repetition points are the same. Specifically, the code stream is parsed to obtain the repetition point identifier of the first repetition point, the first repetition point is found according to the repetition point identifier of the first repetition point, and the position information of the first repetition point is judged to be the same as that of the first repetition point. Whether the position information of the target point is consistent, if so, the target point is determined to be a duplicate point. In this manner, it can be understood that the first repetition point is the first repetition point among the M repetition points.
  • Method 4 Since the repeating points in the code stream are arranged together in sequence, the code stream is parsed to obtain the repeating point identifier and the number of repeating points of the first repeating point, and according to the first repeating point and the number of repeating points, A set of repeated points is obtained; if the target point belongs to the set of repeated points, it is determined that the position information of the target point and the M repeated points are the same. It should be noted that, M repetition points may also belong to the repetition point set.
  • the repeating point identifier and the number of repeating points can be carried in the attachment information in the sequence parameter set (Sequence Parameter Set, SPS), or the geometry parameter set (Geometry Parameter Set, GPS) or the attribute parameter set (Attribute Parameter Set, APS) .
  • sequence Parameter Set SPS
  • geometry Parameter Set Geometry Parameter Set, GPS
  • attribute parameter set Attribute Parameter Set, APS
  • the code stream of the present application carries the total number of target adjacent points of the target point.
  • the present application can perform the following S605 after determining at least one target adjacent point of the target point according to the M repeated points.
  • N, K, and M are all positive integers greater than or equal to 1.
  • the point cloud attribute prediction method 600 is an inverse process of the above point cloud attribute prediction method 400 .
  • steps in the point cloud attribute prediction method 600 reference may be made to the corresponding steps in the point cloud attribute prediction method 400, and in order to avoid repetition, details are not repeated here.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the present application.
  • the implementation of the embodiments constitutes no limitation.
  • FIG. 7 is a schematic block diagram of an encoder according to an embodiment of the present application.
  • the encoder 700 may include:
  • the first acquisition unit 701 is used to obtain the N nearest coded points from the target point from the points included in the point cloud data as the N adjacent points of the target point;
  • the second obtaining unit 702 is used to obtain K first adjacent points from N adjacent points, and the K first adjacent points include M repeated points with the same position information;
  • a determining unit 703, configured to determine at least one target adjacent point of the target point according to the M repeated points;
  • a prediction unit 704 configured to perform attribute prediction on the target point according to the reconstructed attribute information of at least one adjacent target point;
  • N, K, and M are all positive integers greater than or equal to 1.
  • the determining unit 703 is specifically configured to determine a third adjacent point from the M repeated points; the third adjacent point is used as a target adjacent point of the target point.
  • the determining unit 703 is further configured to use the attribute value of any repeated point in the M repeated points as the attribute value of the third adjacent point; or, use the attribute value of each repeated point in the M repeated points The average of the values, as the attribute value of the third adjacent point.
  • the determining unit 703 is further configured to use the K-M first adjacent points except the M repeated points among the K first adjacent points as the K-M target adjacent points of the target point.
  • the determining unit 703 is further configured to select M-1 second adjacent points from the N adjacent points, and the second adjacent points are different from the first adjacent points; Two adjacent points are used as M-1 target adjacent points of the target point.
  • the determining unit 703 is further configured to select M-1 adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-1 second adjacent points, and the N-K adjacent points are Neighbors except the K first neighbors among the N neighbors.
  • the determining unit 703 is specifically configured to select, from the M repeating points, P repeating points whose time information is the same as that of the target point as the target adjacent points of the target point, where P is a positive integer.
  • the determining unit 703 is further configured to select M-P fourth adjacent points from the N adjacent points as the M-P target adjacent points of the target point, and the fourth adjacent point is adjacent to the first adjacent point. point different.
  • the determining unit 703 is further configured to select M-P adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-P second adjacent points, and the N-K adjacent points are N adjacent points Neighbors of points other than the K first neighbors.
  • the determining unit 703 is specifically configured to use the first adjacent points of the K first adjacent points except the M repeated points as the K-M target adjacent points of the target point.
  • the determining unit 703 is further configured to select M adjacent points from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are among the N adjacent points Neighbors other than the K first neighbors.
  • the determining unit 703 is specifically configured to, if the position information of the target point is the same as that of the M repeated points, take the repeated point of the M repeated points that has the same attribute information as the target point as the target adjacent point of the target point .
  • the second obtaining unit 702 is specifically configured to determine, according to the position information of each adjacent point in the N adjacent points and the position information of the target point, the The distance between the target points; the first K adjacent points with the smallest distance among the N adjacent points are regarded as the K first adjacent points.
  • the first obtaining unit 701 is further configured to obtain Q points in the point cloud data with the same location information and different attribute information, where Q is a positive integer greater than or equal to 2; Q is excluded from the point cloud data Among the Q-1 points, a first point among the Q points is reserved, and the attribute value of the first point is the average value of the attribute values of the Q points.
  • the first obtaining unit 701 is further configured to exclude points with the same location information and attribute information from the point cloud data.
  • the first obtaining unit 701 is further configured to exclude points from the point cloud data that have the same location information as the target point and different time information.
  • the first obtaining unit 701 is further configured to sort the repeated points with the same location information in the point cloud data according to the size of the attribute value.
  • the prediction unit 704 is further configured to generate an attribute code stream, where the attribute code stream carries the total number of target adjacent points of the target point.
  • the apparatus embodiments and the method embodiments may correspond to each other, and similar descriptions may refer to the method embodiments. To avoid repetition, details are not repeated here.
  • the apparatus 700 shown in FIG. 7 can execute the embodiments of the above-mentioned method 400, and the aforementioned and other operations and/or functions of each module in the apparatus 700 are respectively to implement the method embodiments corresponding to the encoder. For brevity, in This will not be repeated here.
  • the apparatus 700 of the embodiment of the present application is described above from the perspective of functional modules with reference to the accompanying drawings.
  • the functional modules can be implemented in the form of hardware, can also be implemented by instructions in the form of software, and can also be implemented by a combination of hardware and software modules.
  • the steps of the method embodiments in the embodiments of the present application may be completed by hardware integrated logic circuits in the processor and/or instructions in the form of software, and the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as hardware
  • the execution of the decoding processor is completed, or the execution is completed by a combination of hardware and software modules in the decoding processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, and other storage media mature in the art.
  • 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. 8 is a schematic block diagram of a decoder according to an embodiment of the present application.
  • the decoder 800 may include:
  • the decoding unit 801 is used for parsing the code stream to obtain the position information of each point in the point cloud data
  • the first obtaining unit 802 is used to obtain the N nearest decoded points from the target point from the point cloud data as the N adjacent points of the target point according to the position information of each point in the point cloud data;
  • the second acquisition unit 803 is used to acquire K first adjacent points from N adjacent points, and the K first adjacent points include M repeated points with the same position information;
  • a determining unit 804 configured to determine at least one target adjacent point of the target point according to the M repeating points;
  • a prediction unit 805, configured to perform attribute prediction on the target point according to the reconstructed attribute information of at least one adjacent target point;
  • N, K, and M are all positive integers greater than or equal to 1.
  • the determining unit 804 is specifically configured to determine a third adjacent point from the M repeated points; the third adjacent point is used as a target adjacent point of the target point.
  • the determining unit 804 is further configured to use the attribute value of any one of the M repeated points as the attribute value of the third adjacent point; or, use the attribute value of each repeated point in the M repeated points The average of the values, as the attribute value of the third adjacent point.
  • the determining unit 804 is further configured to use the K-M first adjacent points except the M repeated points among the K first adjacent points as the K-M target adjacent points of the target point.
  • the determining unit 804 is further configured to select M-1 second adjacent points from the N adjacent points, and the second adjacent points are different from the first adjacent points; Two adjacent points are used as M-1 target adjacent points of the target point.
  • the determining unit 804 is further configured to select M-1 adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-1 second adjacent points, and the N-K adjacent points are Neighbors except the K first neighbors among the N neighbors.
  • the determining unit 804 is specifically configured to parse the code stream to obtain the time information of the M repetition points and the time information of the target point; and select a P whose time information is the same as the time information of the target point from the M repetition points repeated points, as the target adjacent points of the target point, P is a positive integer.
  • the determining unit 804 is further configured to select M-P fourth adjacent points from the N adjacent points as the M-P target adjacent points of the target point, and the fourth adjacent point is adjacent to the first adjacent point. point different.
  • the determining unit 804 is specifically configured to select M-P adjacent points with the smallest distance from the target point from the N-K adjacent points as the M-P second adjacent points, and the N-K adjacent points are N adjacent points Neighbors of points other than the K first neighbors.
  • the determining unit 804 is specifically configured to use the first adjacent points of the K first adjacent points except the M repeated points as the K-M target adjacent points of the target point.
  • the determining unit 804 is further configured to select M adjacent points from the N-K adjacent points as the M target adjacent points of the target point, wherein the N-K adjacent points are among the N adjacent points Neighbors other than the K first neighbors.
  • the determining unit 804 is further configured to determine whether the position information of the target point is the same as that of the repeated points in the M repeated points; if it is determined that the position information of the target point and the M repeated points is the same, the M repeated points The repeated points in the points with the same attribute information as the target point are used as the target neighbor points of the target point.
  • the determining unit 804 is specifically configured to determine that the position information of the target point is the same as that of the M repeated points if there is a point consistent with the position information of the target point in the M repeated points; or, if the target point includes The repeating point identifier of M is consistent with the repeating point identifiers of the M repeating points, then it is determined that the position information of the target point and the M repeating points is the same; or, the code stream is parsed to obtain the repeating point identifier of the first repeating point, if the target point is the same as the M repeating point.
  • the position information of the first repetition point is the same, it is determined that the position information of the target point is the same as that of the M repetition points; or, by parsing the code stream, the repetition point identifier and the number of repetition points of the first repetition point are obtained, and the number of repetition points is obtained according to the first repetition point.
  • a repetition point and the number of repetition points are obtained to obtain a repetition point set, in which the repetition points in the code stream are arranged together in sequence; if the target point belongs to the repetition point set, it is determined that the position information of the target point and M repetition points is the same.
  • the apparatus embodiments and the method embodiments may correspond to each other, and similar descriptions may refer to the method embodiments. To avoid repetition, details are not repeated here.
  • the apparatus 800 shown in FIG. 8 can execute the embodiment of the method 600, and the foregoing and other operations and/or functions of each module in the apparatus 800 are respectively intended to implement the method embodiments corresponding to the decoder. Repeat.
  • the apparatus 800 of the embodiment of the present application is described above from the perspective of functional modules with reference to the accompanying drawings.
  • the functional modules can be implemented in the form of hardware, can also be implemented by instructions in the form of software, and can also be implemented by a combination of hardware and software modules.
  • the steps of the method embodiments in the embodiments of the present application may be completed by hardware integrated logic circuits in the processor and/or instructions in the form of software, and the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as hardware
  • the execution of the decoding processor is completed, or the execution is completed by a combination of hardware and software modules in the decoding processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, and other storage media mature in the art.
  • 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 an electronic device 900 provided by an embodiment of the present application.
  • the electronic device in FIG. 9 may be the above-mentioned video encoder or a video decoder.
  • the electronic device 900 may include:
  • the processor 920 may call and run the computer program 911 from the memory 910 to implement the methods in the embodiments of the present application.
  • the processor 920 may be configured to perform the steps in the method 200 described above according to the instructions in the computer program 911 .
  • the processor 920 may include, but is not limited to:
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the memory 910 includes but is not limited to:
  • the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically programmable read-only memory (Erasable PROM, EPROM). Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory. Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
  • RAM Random Access Memory
  • RAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDR SDRAM
  • enhanced SDRAM ESDRAM
  • synchronous link dynamic random access memory SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • the computer program 911 may be divided into one or more modules, and the one or more modules are stored in the memory 910 and executed by the processor 920 to complete the provision of 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 911 in the electronic device 900 .
  • the electronic device 900 may further include:
  • a transceiver 930 which can be connected to the processor 920 or the memory 910 .
  • the processor 920 can control the transceiver 930 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices.
  • Transceiver 930 may include a transmitter and a receiver.
  • the transceiver 930 may further include antennas, and the number of the antennas may be one or more.
  • bus system includes a power bus, a control bus and a status signal bus in addition to a data bus.
  • a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, enables the computer to execute the method of the above method embodiment.
  • the embodiments of the present application further provide a computer program product including instructions, when the instructions are executed by a computer, the instructions cause the computer to execute the methods of the above 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 instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the method of the above method embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored on or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted over a wire from a website site, computer, server or data center (eg coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.) means to another website site, computer, server or data center.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes one or more available media integrated.
  • the available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid state disks (SSDs)), and the like.
  • magnetic media e.g., floppy disks, hard disks, magnetic tapes
  • optical media e.g., digital video discs (DVDs)
  • semiconductor media e.g., solid state disks (SSDs)
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus 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 may be combined or Integration into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or modules, and may be in electrical, mechanical or other forms.
  • Modules described as separate components may or may not be physically separated, and components shown as modules may or may not be physical modules, that is, may be located in one place, or may be distributed over multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment. For example, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically alone, or two or more modules may be integrated into one module.

Landscapes

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

Abstract

本申请提供了一种点云属性的预测方法、编码器、解码器及存储介质,在点云属性的预测过程中,根据重复点的分布情况,设计不同的目标相邻点选择策略,确定目标点的至少一个目标相邻点,并根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测,提高点云属性预测的效率和准确性。

Description

点云属性的预测方法、编码器、解码器及存储介质
本申请要求于2020年12月07日提交中国专利局、申请号为202011439503.0、申请名称为“点云属性的预测方法、编码器、解码器及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及点云属性的预测。
背景技术
通过采集设备对物体表面进行采集,形成点云数据,点云数据包括几十万甚至更多的用于表达物体表面属性的点。在视频制作过程中,将点云数据以点云媒体文件的形式在视频制作设备和视频播放设备之间传输。但是,如此庞大的点给传输带来了挑战,因此,视频制作设备需要对点云数据进行压缩后传输。
点云数据的压缩主要包括位置信息的压缩和属性信息的压缩,在属性信息压缩时,通过预测来减小或消除点云数据中的冗余信息,例如,从已编码的点中获得目标点的一个或多个相邻点,根据相邻点的属性信息,来预测目标点的属性信息。
发明内容
本申请提供一种点云属性的预测方法、编码器、解码器及存储介质,提高点云属性的预测效率。
第一方面,本申请提供一种点云属性的预测方法,所述方法由编码设备执行,所述方法包括:
从点云数据所包括点中获得距离目标点最近的N个已编码点作为所述目标点的N个相邻点;
从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
其中,所述N、K、M均为大于或等于1的正整数。
第二方面,本申请提供一种点云属性的预测方法,包括:
解析码流,获得点云数据中每个点的位置信息;
根据所述点云数据中每个点的位置信息,从所述点云数据中获得距离目标点最近的N个已解码点作为所述目标点的N个相邻点;
从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
其中,所述N、K、M均为大于或等于1的正整数。
第三方面,提供了一种编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,所述编码器包括用于执行上述第一方面或其各实现方式中的方法的功能模块。
第四方面,提供了一种解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,所述编码器包括用于执行上述第二方面或其各实现方式中的方法的功能模块。
第五方面,提供了一种编码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种解码器,包括处理器和存储器。所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种编解码系统,包括第二方面和第五方面中任一方面或其各实现方式中的编码器,以及第三方面和第六方面中任一方面或其各实现方式中的解码器。
第八方面,提供了一种芯片,用于实现上述第一方面至第二方面中任一方面或其各实现方式中的方法。具体地,所述芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
第十一方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中任一方面或其各实现方式中的方法。
综上,本申请在点云属性的预测过程中,根据重复点的分布情况,设计不同的目标相邻点选择策略,确定目标点的至少一个目标相邻点,并根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测,提高点云属性预测的效率和准确性。
附图说明
图1为本申请实施例涉及的一种点云视频编解码系统的示意性框图;
图2是本申请实施例提供的编码框架的示意性框图;
图3是本申请实施例提供的解码框架的示意性框图;
图4为本申请实施例提供的一实施例的点云属性的预测方法的流程图;
图5A为原始莫顿顺序下点云的排列示意图;
图5B为偏移莫顿顺序下点云的排列示意图;
图5C为目标点的相邻点的空间关系示意图;
图5D为与目标点共面的相邻点之间的莫顿码关系示意图;
图5E为与目标点共线的相邻点之间的莫顿码关系示意图;
图6为本申请实施例提供的另一实施例的点云属性的预测方法的流程图;
图7是本申请实施例的一编码器的示意性框图;
图8是本申请实施例的一解码器的示意性框图;
图9是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应理解,在本申请实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。为了便于理解本申请的实施例,首先对本申请实施例涉及到的相关概念进行如下简单介绍:
点云(Point Cloud)是指空间中一组无规则分布的、表达三维物体或三维场景的空间结构及表面属性的离散点集。
点云数据(Point Cloud Data)是点云的具体记录形式,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,所述颜色信息可以是任意一种色彩空间上的信息。例如,所述颜色信息可以是(RGB)。再如,所述颜色信息可以是于亮度色度(YcbCr,YUV)信息。例如,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色,U和V表示为色度(Chroma)用于描述色差信息。例如,根据激光测量原理得到的点云,所述点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,所述点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,所述点云中的点可以可包括点的三维坐标信息、点的激光反射强度和点的颜色信息。
点云数据的获取途径可以包括但不限于以下至少一种:(1)计算机设备生成。计算机设备可以根据虚拟三维物体及虚拟三维场景的生成点云数据。(2)3D(3-Dimension,三维)激光扫描获取。通过3D激光扫描可以获取静态现实世界三维物体或三维场景的点云数据,每秒可以获取百万级点云数据;(3)3D摄影测量获取。通过3D摄影设备(即一组摄像机或具有多个镜头和传感器的摄像机设备)对现实世界的视觉场景进行采集以获取现实世界的视觉场景的点云数据,通过3D摄影可以获得动态现实世界三维物体或三维场景的点云数据。(4)通过医学设备获取生物组织器官的点云数据。在医学领域可以通过磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)、电磁定位信息等医学设备获取生物组织器官的点云数据。
点云可以按获取的途径分为:密集型点云和稀疏性点云。
点云按照数据的时序类型划分为:
第一静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航系统、实时巡检系统、地理信息系统、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
重复点:由于采集技术的设置,或者时传输、呈现时的应用需求,可能会存在位置信息相同的多个点,它们的属性信息可能相同也可能不同,即定义为重复点。
图1为本申请实施例涉及的一种点云视频编解码系统的示意性框图。需要说明的是,图1只是一种示例,本申请实施例的点云视频编解码系统包括但不限于图1所示。如图1所示,该点云视频编解码系统100包含编码设备110和解码设备120。其中编码设备用于对点云数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的点云数据。
本申请实施例的编码设备110可以理解为具有视频编码功能的设备,解码设备120可以理解为具有视频解码功能的设备,例如编码设备110或解码设备120可以包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。
在一些实施例中,编码设备110可以经由信道130将编码后的点云数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的点云数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
在一个实例中,信道130包括使编码设备110能够实时地将编码后的点云数据直接发送到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的点云数据,且将调制后的点云数据发送到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的点云数据。存储介质包含多种本地存取式数据存储介质,例如光盘、DVD、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的点云数据。
在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的点云数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的点云数据。可选的,该存储服务器可以存储编码后的点云数据且可以将该编码后的点云数据发送到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(FTP)服务器等。
一些实施例中,编码设备110包含视频编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
在一些实施例中,编码设备110除了包括视频编码器112和输出接口113外,还可以包括视频源111。
视频源111可包含视频采集装置(例如,视频相机)、视频存档、视频输入接口、计算机图形系统中的至少一个,其中,视频输入接口用于从视频内容提供者处接收点云数据,计 算机图形系统用于产生点云数据。
视频编码器112对来自视频源111的点云数据进行编码,产生码流。视频编码器112经由输出接口113将编码后的点云数据直接/间接传输到解码设备120。编码后的点云数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
在一些实施例中,解码设备120包含输入接口121和视频解码器122。
在一些实施例中,解码设备120除包括输入接口121和视频解码器122外,还可以包括显示装置123。
其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的点云数据。
视频解码器122用于对编码后的点云数据进行解码,得到解码后的点云数据,并将解码后的点云数据传输至显示装置123。
显示装置123显示解码后的点云数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
此外,图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中点的最近邻居,并利用目标点的重建值对后续点的属性信息进行预测。
在MPEG和AVS的点云数据集中,存在多个包含重复点的数据集,重复点的比例在10%-50%。但是点云数据中可能存在位置信息相同的重复点,相关技术中的属性预测方法未考虑重复点在预测中的影响,尤其是在无损的编码条件下,导致其预测效率低。本申请提出了一种点云属性的预测方法,根据重复点的分布情况,在预测过程中,设计不同的相邻点选择策略,提高点云属性预测的效率。
下面将对本申请技术方案进行详细阐述:
首先以编码端为例,对本申请实施例提供的点云属性的预测方法进行描述。
图4为本申请实施例提供的一实施例的点云属性的预测方法的流程图,该方法的执行主体是前述编码设备,例如编码设备110,如图4所示,该方法包括如下步骤:
S401、从点云数据所包括点中获得距离目标点最近的N个已编码点作为目标点的N个相邻点。
需要说明的是,本实施例中,点云的属性信息编码是在位置信息编码后执行的。
在一些实施例中,获得点云数据中属性信息已编码的相邻点,计算已编码的相邻点与目标点之间的距离,根据距离大小,从已编码的相邻点中选取距离目标点在预定距离范围内的的N个相邻点作为目标点的N个相邻点。所述预定距离范围内的N个相邻点是通过将相邻点与目标点之间的各个距离进行比较后,得到的距离最近的前N个相邻点。所述目标点为所述点云数据所包括点中的一个点。
目标点的属性信息包括颜色属性和/或反射率属性。
在一些实施例中,若目标点的属性信息为反射率信息,则上述S401从点云数据中获得距离目标点最近的N个已编码点作为目标点的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=N,进而获得目标点的N个相邻点。
可选的,在PCEM软件中,上述j1=j2=j3=42,N1=N2=4。
方式二,计算在Hilbert(希尔伯特)顺序下目标点的前maxNumOfNeighbours个已编码点,将maxNumOfNeighbours个已编码点作为目标点的N个相邻点。
可选的,maxNumOfNeighbours默认取值为128。
在一些实施例中,若目标点的属性信息为颜色信息,则上述S401从点云数据中获得距离目标点最近的N个已编码点作为目标点的N个相邻点的方式包括:
目标点的相邻点的空间关系如图5C所示,其中实线框表示目标点,假设相邻点的查找范围为目标点的3X3X3邻域。首先利用目标点的莫顿码得到该3X3X3邻域中莫顿码值最小的块,将该块作为基准块,利用基准块来查找与目标点共面、共线的已编码相邻点。该邻域范围内与目标点共面的相邻点之间的莫顿码关系如图5D所示,与目标点共线的相邻点之间的莫顿码关系如下图5E所示。
利用基准块来搜索与目标点共面、共线的已编码的N个相邻点,利用这N个相邻点来预测目标点的属性。
如果没有查找到与目标点共面和共线的已编码相邻点,则利用目标点的前一个莫顿码对应的点进行属性预测。
S402、从N个相邻点中获取K个第一相邻点,K个第一相邻点中包括M个位置信息相同的重复点。
在S402的一种可能的实现方式中,从N个相邻点中随机获取K个第一相邻点。
在S402的另一种可能的实现方式中,根据N个相邻点中每个相邻点的位置信息和目标点的位置信息,计算N个相邻点中每个相邻点与目标点之间的距离d。例如,目标点的坐标为(x,y,x),候选点的坐标为(x1,y1,z1),距离d计算方法为d=|x-x1|+|y-y1|+|z-z1|。可选的, 本申请还可以采用其他的距离计算方式,计算每个相邻点与目标点之间的距离。将N个相邻点中距离d最小的前K个相邻点作为K个第一相邻点。这K个第一相邻点中存在M个位置信息相同的重复点。
S403、根据M个重复点,确定目标点的至少一个目标相邻点。
在一些相关技术中,将上述S403获得的K个第一相邻点作为目标点的目标相邻点进行目标点的属性信息的预测。而本申请考虑到K个第一相邻点中M个重复点对目标点的属性信息预测的影响,因此,基于M个重复点来确定目标点的至少一个目标相邻点,进而提高目标点属性信息预测的效率。
本步骤中,根据M个重复点确定目标点的至少一个目标相邻点的实现过程包括但不限于如下几种方式:
第一种实现方式,上述S403包括如下S403-A1和S403-A2:
S403-A1、从M个重复点中确定出一个第三相邻点;
S403-A2、将第三相邻点作为目标点的一个目标相邻点。
上述第三相邻点可以为M个重复点中的任意一个重复点。由于M个重复点的位置信息相同,但是属性信息可能相同,也可能不同,因此,可以通过如下方式确定第三相邻点的属性信息:
一种方式,将M个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;
另一种方式,将M个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
在第一种方式的一些实施例中,视频编码器还可以将K个第一相邻点中除M个重复点之外的K-M个第一相邻点,作为目标点的K-M个目标相邻点。
进一步的,为了使得目标点的目标相邻点的个数为K个,则本申请实施例还包括:
S403-A3、从N个相邻点中选取M-1个第二相邻点,第二相邻点与第一相邻点不同。
S403-A4、将M-1个第二相邻点作为目标点的M-1个目标相邻点。
也就是说,从N个相邻点中除K个第一相邻点之外的剩余相邻点中选取M-1个第二相邻点,将这M-1个第二相邻点作为目标点的M-1个目标相邻点,这M-1个第二相邻点中可能包括重复点,也可能不包括重复点,本申请对此不做限制。
上述S403-A3的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M-1个相邻点作为第二相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M-1个相邻点作为M-1个第二相邻点,其中,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第二种实现方式,若点云数据中的每个点包括时间信息,则上述S403包括S403-B1:
S403-B1、从M个重复点中选择时间信息与目标点的时间信息相同的P个重复点作为目标点的目标相邻点,P为正整数。
在上述S403-B1的基础上,为了使得目标点的目标相邻点的总数为K,则本申请还可以包括S403-B2:
S403-B2、从N个相邻点中选取M-P个第四相邻点,作为目标点的M-P个目标相邻点, 其中第四相邻点与第一相邻点不同。
也就是说,从N个相邻点中除K个第一相邻点之外的剩余相邻点中选取M-P个第四相邻点,将这M-P个第四相邻点作为目标点的M-P个目标相邻点,这M-P个第四相邻点中可能包括重复点,也可能不包括重复点,本申请对此不做限制。
上述S403-B2的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M-P个相邻点作为第二相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M-P个相邻点作为M-P个第二相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第三种实现方式,上述S403包括S403-C1:
S403-C1、将K个第一相邻点中除M个重复点之外的第一相邻点,作为目标点的K-M个目标相邻点。也就是说,去除M个重复点。
在上述S403-C1的基础上,本申请还可以包括S403-C2:
S403-C2、从N-K个相邻点中选取M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
上述S403-C2的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M个相邻点作为目标点的M个目标相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第四种实现方式,上述S403包括S403-D1:
S403-D1、若目标点与M个重复点中的重复点的位置信息相同,则将M个重复点中与目标点的属性信息相同的重复点作为目标点的目标相邻点。
在一些实施例中,本申请在后续形成的码流中携带目标点的目标相邻点的总个数。
在一些实施例中,若上述确定的目标点的目标相邻点的总个数小于K时,在后续形成的码流中携带目标点的目标相邻点的总个数。若目标点的目标相邻点的总个数为K时,则在后续形成的码流中不携带目标点的目标相邻点的总个数,对应的,解码端在码流中没有解析出目标点的目标相邻点的总个数时,则默认目标点的目标相邻点的总个数为K。
本申请通过上述方法,可以根据M个重复点,确定出目标点的至少一个目标相邻点后,执行如下S404。
S404、根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测。
在一些实施例中,若目标点的属性信息为反射率信息,则根据如下方式确定出目标点的反射率预测值:
将目标相邻点与目标点之间的曼哈顿距离的倒数作为该目标相邻点的权重,假设目标点的几何坐标为(xi,yi,zi),每个目标相邻点的几何坐标为(xij,yij,zij),其中,j=1,2,3,…,k,假设目标相邻点的总个数为K个,根据如下公式(1)确定出目标相邻点的权重:
Figure PCTCN2021131346-appb-000001
可选的,对于反射率属性,在x、y、z方向的分量采用不同权重,根据如下公式(2)确定出目标相邻点的权重:
Figure PCTCN2021131346-appb-000002
其中,a、b、c分别为反射率属性在x、y、z方向的预设权重。可选的,该a、b、c可以查表获得,或者为预设的固定值。
根据如下公式(3)确定出目标点的反射率预测值
Figure PCTCN2021131346-appb-000003
Figure PCTCN2021131346-appb-000004
其中,
Figure PCTCN2021131346-appb-000005
为目标相邻点的属性重建值,若目标点的目标相邻点的总个数为K,则j=1,2,…,k。
在一些实施例中,若目标点的属性信息为颜色信息,如图5D和图5E所示,示例性的,以N=6为例,在已编码的点一定范围内[j-searchRange,j-1](目标点的索引为j)进行查找与目标点共面的相邻点,如果查找到共面的已编码的相邻点,则将共面的相邻点的权重分配为2;继续在已编码的点中查找与目标点共线的相邻点,如果在已编码点集中查找到共线的相邻点,则对共线的相邻点的权重分配为1。
由此可知,目标点的每个目标相邻点均分配有权重,根据目标相邻点分配的权重,对各目标相邻点的属性重建值进行加权平均,得到目标点的颜色属性预测值。
本申请提供的点云属性的预测方法,根据重复点的分布情况,在预测过程中,设计不同的目标相邻点选择策略,确定目标点的至少一个目标相邻点,并根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测,提高点云属性预测的效率。
在一些实施例中,在上述S401之前,本申请实施例还包括对点云数据中的重复点进行预处理和排序的步骤。其中预处理的方式包括但不限于如下几种:
方式一,从点云数据中剔除位置信息和属性信息均相同的点,即去除点云数据中属性值相同的重复点。
方式二,获取点云数据中位置信息相同、且属性信息不同的Q个点,其中Q为大于或等于2的正整数;从点云数据中剔除Q个点中的Q-1个点,保留Q个点中的一个第一点,该第一点的属性值为所述Q个点的属性值的平均值。也就是说,对属性值不同的重复点只保留一个,其对应属性值通过计算获得,例如,算术平均等方法。
方式三,从点云数据中剔除与目标点的位置信息相同、且时间信息不同的点。例如根 据输入点云数据的其他信息,例如时间戳信息,对重复点进行筛选,保留与目标点同一个时间戳的重复点。
其中的排序方式包括但不限于如下几种:
方式一,保持原始输入顺序。
方式二,按重复点的属性值大小进行升序或降序排列,若有多个属性值,则先根据第一属性值进行排序,若第一属性值相同,则按照第二属性值进行排序,以此类推,第一属性值可以为颜色属性的属性值,第二属性值可以为反射率的属性值。若有多个属性值相同的重复点,则根据其他可能的输入信息排序或不排序。
方式三,根据重复点中每个重复点的属性值与目标点的属性值的差值,对各重复点进行升序或降序排列。
上文以编码端为例对本申请实施例提供的点云属性的预测方法进行描述,下面结合图6,以解码端为例,以解码设备例如前述解码设备120为执行主体,对本申请的技术方案进行介绍。
图6为本申请实施例提供的另一实施例的点云属性的预测方法的流程图,如图6所示,包括:
S601、解析码流,获得点云数据中每个点的位置信息。
需要说明的,解码器解析码流,优先解码点云的位置信息,之后再解码点云的属性信息。
S602、根据点云数据中每个点的位置信息,从点云数据中获得距离目标点最近的N个已解码点作为目标点的N个相邻点。
例如,根据点云数据中每个点的位置信息和目标点的位置信息,获得目标点与每个点之间的距离,并根据目标点与每个点之间的距离,从点云数据中获得距离目标点最近的N个已解码点作为目标点的N个相邻点。
其中上述S602的具体实现过程可以参照上述S401的具体描述,在此不再赘述。
S603、从N个相邻点中获取K个第一相邻点,K个第一相邻点中包括M个位置信息相同的重复点。
在一种示例中,根据N个相邻点中每个相邻点的位置信息和目标点的位置信息,计算N个相邻点中每个相邻点与目标点之间的距离,将N个相邻点中距离d最小的前K个相邻点作为K个第一相邻点。
其中上述S603的具体实现过程可以参照上述S402的具体描述,在此不再赘述。
S604、根据M个重复点,确定目标点的至少一个目标相邻点。
本步骤中,根据M个重复点确定目标点的至少一个目标相邻点的实现过程包括但不限于如下几种方式:
第一种实现方式,上述S604包括如下S604-A1和S604-A2:
S604-A1、从M个重复点中确定出一个第三相邻点;
S604-A2、将第三相邻点作为目标点的一个目标相邻点。
上述第三相邻点可以为M个重复点中的任意一个重复点。由于M个重复点的位置信息相同,但是属性信息可能相同,也可能不同,因此,可以通过如下方式确定第三相邻点的属性信息。
例如,将M个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,
将M个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
解析码流,若码流中携带目标点的目标相邻点的总个数为K-M+1时,则在第一种方式的一些实施例中,视频编码器还可以将K个第一相邻点中除M个重复点之外的K-M个第一相邻点,作为目标点的K-M个目标相邻点。
若码流中携带目标点的目标相邻点的总个数为K,或者码流中不携带目标点的目标相邻点的总个数信息,则默认目标点的目标相邻点的总个数为K时,在第一种方式的一些实施例中,则本申请实施例还包括:
S604-A3、从N个相邻点中选取M-1个第二相邻点,第二相邻点与第一相邻点不同。
S604-A4、将M-1个第二相邻点作为目标点的M-1个目标相邻点。
上述S604-A3的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M-1个相邻点作为第二相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M-1个相邻点作为M-1个第二相邻点,其中,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第二种实现方式,若点云数据中的每个点包括时间信息,则上述S604包括S604-B1和S604-B2:
S604-B1、解析码流,获得M个重复点的时间信息与目标点的时间信息;
S604-B2、从M个重复点中选择时间信息与目标点的时间信息相同的P个重复点作为目标点的目标相邻点,P为正整数。
在上述S604-B1的基础上,若码流中携带目标点的目标相邻点的总个数为K,或者码流中不携带目标点的目标相邻点的总个数信息,则默认目标点的目标相邻点的总个数为K时,本实现方式还可以包括S604-B2:
S604-B2、从N个相邻点中选取M-P个第四相邻点作为目标点的M-P个目标相邻点,其中第四相邻点与第一相邻点不同。
上述S604-B2的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M-P个相邻点作为第二相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M-P个相邻点作为M-P个第二相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第三种实现方式,上述S604包括S604-C1:
S604-C1、将K个第一相邻点中除M个重复点之外的第一相邻点,作为目标点的K-M个目标相邻点。也就是说,去除M个重复点。
在上述S604-C1的基础上,若码流中携带目标点的目标相邻点的总个数为K,或者码流 中不携带目标点的目标相邻点的总个数信息,则默认目标点的目标相邻点的总个数为K时,本实现方式还可以包括S604-C2:
S604-C2、从N-K个相邻点中选取M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
上述S604-C2的实现方式包括但不限于如下几种方式:
方式一,从N个相邻点中除K个第一相邻点之外的N-K个相邻点中,任意选取M个相邻点作为目标点的M个目标相邻点。
方式二,从N-K个相邻点中选取距离目标点最小的M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
第四种实现方式,上述S604包括S604-D1和S604-D2:
S604-D1、确定目标点与M个重复点中的重复点的位置信息是否相同;
S604-D2、若目标点与M个重复点中的重复点的位置信息相同,则将M个重复点中与目标点的属性信息相同的重复点作为目标点的目标相邻点。
在一些实施例中,上述S604-D1包括但不限于如下几种方式:
方式一,若M个重复点中存在与目标点的位置信息一致的点,则确定目标点与M个重复点的位置信息相同,也就是说,目标点为重复点。
方式二,若目标点包括的重复点标识与M个重复点的重复点标志一致,则确定目标点与M个重复点的位置信息相同。需要说明的是,同一类的重复对应的重复点标识一致。
方式三,解析码流,获得第一个重复点的重复点标识,若目标点与第一个重复点的位置信息相同,则确定目标点与所述M个重复点的位置信息相同。具体的,解析码流,得到第一个重复点的重复点标识,根据第一个重复点的重复点标识,查找到该第一个重复点,并判断该第一个重复点的位置信息与目标点的位置信息是否一致,若一致,则确定目标点为重复点。在该方式中,可以理解为第一个重复点为M个重复点中的第一个重复点。
方式四,由于码流中的重复点按序排列在一起,解析码流,获得第一个重复点的重复点标识和重复点的个数,并根据第一个重复点和重复点个数,获得重复点集合;若目标点属于重复点集合,则确定目标点与M个重复点的位置信息相同。需要说明的是,M个重复点也可能属于该重复点集合。
上述重复点标识和重复点个数可以携带在序列参数集(Sequence Parameter Set,SPS)、或几何参数集(Geometry Parameter Set,GPS)或属性参数集(Attribute Parameter Set,APS)中的附件信息中。
在一些实施例中,本申请的码流中携带有目标点的目标相邻点的总个数。
在一些实施例中,若码流中没有解析出目标点的目标相邻点的总个数时,则默认目标点的目标相邻点的总个数为K。
本申请通过上述方法,可以根据M个重复点,确定出目标点的至少一个目标相邻点后,执行如下S605。
S605、根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测。
其中,N、K、M均为大于或等于1的正整数。
其中上述S605的具体实现过程可以参照上述S404的具体描述,在此不再赘述。
应理解,点云属性的预测方法600为上述点云属性的预测方法400的逆过程。点云属性的预测方法600中的步骤可以参考点云属性的预测方法400中的相应步骤,为了避免重复,在此不再赘述。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图6,详细描述了本申请的方法实施例,下文结合图7至图8,详细描述本申请的装置实施例。
图7是本申请实施例的一编码器的示意性框图。
如图7所示,编码器700可包括:
第一获取单元701,用于从点云数据所包括点中获得距离目标点最近的N个已编码点作为目标点的N个相邻点;
第二获取单元702,用于从N个相邻点中获取K个第一相邻点,K个第一相邻点中包括M个位置信息相同的重复点;
确定单元703,用于根据M个重复点,确定目标点的至少一个目标相邻点;
预测单元704,用于根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测;
其中,N、K、M均为大于或等于1的正整数。
在一些实施例中,确定单元703,具体用于从M个重复点中确定出一个第三相邻点;将第三相邻点作为目标点的一个目标相邻点。
在一些实施例中,确定单元703,还用于将M个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,将M个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
在一些实施例中,确定单元703,还用于将K个第一相邻点中除M个重复点之外的K-M个第一相邻点,作为目标点的K-M个目标相邻点。
在一些实施例中,确定单元703,还用于从N个相邻点中选取M-1个第二相邻点,第二相邻点与第一相邻点不同;将M-1个第二相邻点作为目标点的M-1个目标相邻点。
在一些实施例中,确定单元703,还用于从N-K个相邻点中选取距离目标点最小的M-1个相邻点作为M-1个第二相邻点,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元703,具体用于从M个重复点中选择时间信息与目标点的时间信息相同的P个重复点作为目标点的目标相邻点,P为正整数。
在一些实施例中,确定单元703,还用于从N个相邻点中选取M-P个第四相邻点,作为目标点的M-P个目标相邻点,第四相邻点与第一相邻点不同。
在一些实施例中,确定单元703,还用于从N-K个相邻点中选取距离目标点最小的M-P个相邻点作为M-P个第二相邻点,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元703,具体用于将K个第一相邻点中除M个重复点之外的第一相邻点,作为目标点的K-M个目标相邻点。
在一些实施例中,确定单元703,还用于从N-K个相邻点中选取M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元703,具体用于若目标点与M个重复点位置信息相同,则将M个重复点中与目标点的属性信息相同的重复点作为目标点的目标相邻点。
在一些实施例中,第二获取单元702,具体用于根据N个相邻点中每个相邻点的位置信息和目标点的位置信息,确定N个相邻点中每个相邻点与目标点之间的距离;将N个相邻点中距离最小的前K个相邻点作为K个第一相邻点。
在一些实施例中,第一获取单元701,还用于获取点云数据中位置信息相同、且属性信息不同的Q个点,Q为大于或等于2的正整数;从点云数据中剔除Q个点中的Q-1个点,保留Q个点中的一个第一点,第一点的属性值为Q个点的属性值的平均值。
在一些实施例中,第一获取单元701,还用于从点云数据中剔除位置信息和属性信息均相同的点。
在一些实施例中,第一获取单元701,还用于从点云数据中剔除与目标点的位置信息相同、且时间信息不同的点。
在一些实施例中,第一获取单元701,还用于对点云数据中位置信息相同的重复点按照属性值大小进行排序。
在一些实施例中,预测单元704,还用于生成属性码流,属性码流中携带目标点的目标相邻点的总个数。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置700可以执行上述方法400的实施例,并且装置700中的各个模块的前述和其它操作和/或功能分别为了实现编码器对应的方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置700。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可 编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图8是本申请实施例的一解码器的示意性框图。
如图8所示,解码器800可包括:
解码单元801,用于解析码流,获得点云数据中每个点的位置信息;
第一获取单元802,用于根据点云数据中每个点的位置信息,从点云数据中获得距离目标点最近的N个已解码点作为目标点的N个相邻点;
第二获取单元803,用于从N个相邻点中获取K个第一相邻点,K个第一相邻点中包括M个位置信息相同的重复点;
确定单元804,用于根据M个重复点,确定目标点的至少一个目标相邻点;
预测单元805,用于根据至少一个目标相邻点的重建属性信息,对目标点进行属性预测;
其中,N、K、M均为大于或等于1的正整数。
在一些实施例中,确定单元804,具体用于从M个重复点中确定出一个第三相邻点;将第三相邻点作为目标点的一个目标相邻点。
在一些实施例中,确定单元804,还用于将M个重复点中任意一个重复点的属性值,作为第三相邻点的属性值;或者,将M个重复点中各重复点的属性值的平均值,作为第三相邻点的属性值。
在一些实施例中,确定单元804,还用于将K个第一相邻点中除M个重复点之外的K-M个第一相邻点,作为目标点的K-M个目标相邻点。
在一些实施例中,确定单元804,还用于从N个相邻点中选取M-1个第二相邻点,第二相邻点与第一相邻点不同;将M-1个第二相邻点作为目标点的M-1个目标相邻点。
在一些实施例中,确定单元804,还用于从N-K个相邻点中选取距离目标点最小的M-1个相邻点作为M-1个第二相邻点,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元804,具体用于解析码流,获得M个重复点的时间信息与目标点的时间信息;从M个重复点中选择时间信息与目标点的时间信息相同的P个重复点,作为目标点的目标相邻点,P为正整数。
在一些实施例中,确定单元804,还用于从N个相邻点中选取M-P个第四相邻点,作为目标点的M-P个目标相邻点,第四相邻点与第一相邻点不同。
在一些实施例中,确定单元804,具体用于从N-K个相邻点中选取距离目标点最小的M-P个相邻点作为M-P个第二相邻点,N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元804,具体用于将K个第一相邻点中除M个重复点之外的第一相邻点,作为目标点的K-M个目标相邻点。
在一些实施例中,确定单元804,还用于从N-K个相邻点中选取M个相邻点作为目标点的M个目标相邻点,其中N-K个相邻点为N个相邻点中除K个第一相邻点之外的相邻点。
在一些实施例中,确定单元804,还用于确定目标点与M个重复点中的重复点的位置信 息是否相同;若确定目标点与M个重复点的位置信息相同,则将M个重复点中与目标点的属性信息相同的重复点作为目标点的目标相邻点。
在一些实施例中,确定单元804,具体用于若M个重复点中存在与目标点的位置信息一致的点,则确定目标点与M个重复点的位置信息相同;或者,若目标点包括的重复点标识与M个重复点的重复点标志一致,则确定目标点与M个重复点的位置信息相同;或者,解析码流,获得第一个重复点的重复点标识,若目标点与第一个重复点的位置信息相同,则确定目标点与M个重复点的位置信息相同;或者,解析码流,获得第一个重复点的重复点标识和重复点的个数,并根据第一个重复点和重复点个数,获得重复点集合,其中码流中的重复点按序排列在一起;若目标点属于重复点集合,则确定目标点与M个重复点的位置信息相同。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的装置800可以执行方法600实施例,并且装置800中的各个模块的前述和其它操作和/或功能分别为了实现解码器对应的方法实施例,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置800。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图9是本申请实施例提供的电子设备900的示意性框图,图9的电子设备可以为上述的视频编码器或者为视频解码器。
如图9所示,该电子设备900可包括:
存储器910和处理器920,该存储器910用于存储计算机程序911,并将该程序代码911传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序911,以实现本申请实施例中的方法。
例如,该处理器920可用于根据该计算机程序911中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器920可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器910包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
在本申请的一些实施例中,该计算机程序911可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器910中,并由该处理器920执行,以完成本申请提供的录制页面的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序911在该电子设备900中的执行过程。
如如9所示,该电子设备900还可包括:
收发器930,该收发器930可连接至该处理器920或存储器910。
其中,处理器920可以控制该收发器930与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器930可以包括发射机和接收机。收发器930还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备900中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字 视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (34)

  1. 一种点云属性的预测方法,所述方法由编码设备执行,所述方法包括:
    从点云数据所包括点中获得距离目标点最近的N个已编码点作为所述目标点的N个相邻点,所述目标点为所述点云数据所包括点中的一个点;
    从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
    根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
    根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
    其中,所述N、K、M均为大于或等于1的正整数。
  2. 根据权利要求1所述的方法,所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    从所述M个重复点中确定出一个第三相邻点;
    将所述第三相邻点作为所述目标点的一个目标相邻点。
  3. 根据权利要求2所述的方法,所述方法还包括:
    将所述M个重复点中任意一个重复点的属性值,作为所述第三相邻点的属性值;或者,
    将所述M个重复点中各重复点的属性值的平均值,作为所述第三相邻点的属性值。
  4. 根据权利要求1所述的方法,所述方法还包括:
    将所述K个第一相邻点中除所述M个重复点之外的K-M个第一相邻点,作为所述目标点的K-M个目标相邻点。
  5. 根据权利要求2所述的方法,所述方法还包括:
    从所述N个相邻点中选取M-1个第二相邻点,所述第二相邻点与所述第一相邻点不同;
    将所述M-1个第二相邻点作为所述目标点的M-1个目标相邻点。
  6. 根据权利要求5所述的方法,所述从所述N个相邻点中选取M-1个第二相邻点,包括:
    从N-K个相邻点中选取距离所述目标点最小的M-1个相邻点作为所述M-1个第二相邻点,所述N-K个相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  7. 根据权利要求1所述的方法,所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    从所述M个重复点中选择时间信息与所述目标点的时间信息相同的P个重复点作为所述目标点的目标相邻点,所述P为正整数。
  8. 根据权利要求7所述的方法,所述方法还包括:
    从所述N个相邻点中选取M-P个第四相邻点,作为所述目标点的M-P个目标相邻点,所述第四相邻点与所述第一相邻点不同。
  9. 根据权利要求8所述的方法,所述从所述N个相邻点中选取M-P个第四相邻点,包括:
    从N-K个相邻点中选取距离所述目标点最小的M-P个相邻点作为所述M-P个第二相邻点,所述N-K个相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  10. 根据权利要求4所述的方法,所述方法还包括:
    从N-K个相邻点中选取M个相邻点作为所述目标点的M个目标相邻点,其中所述N-K个 相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  11. 根据权利要求1-10任意一项所述的方法,所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    若所述目标点与所述M个重复点的位置信息相同,则将所述M个重复点中与所述目标点的属性信息相同的重复点作为所述目标点的目标相邻点。
  12. 根据权利要求1-10任意一项所述的方法,所述从所述N个相邻点中获取K个第一相邻点,包括:
    根据N个相邻点中每个相邻点的位置信息和所述目标点的位置信息,确定所述N个相邻点中每个相邻点与所述目标点之间的距离;
    将所述N个相邻点中距离最小的前K个相邻点作为所述K个第一相邻点。
  13. 根据权利要求1-10任意一项所述的方法,在所述从点云数据所包括点中获得目标点的N个相邻点之前,所述方法还包括:
    获取所述点云数据中位置信息相同、且属性信息不同的Q个点,所述Q为大于或等于2的正整数;
    从所述点云数据中剔除所述Q个点中的Q-1个点,保留所述Q个点中的一个综合点,所述综合点的属性值为所述Q个点的属性值的平均值。
  14. 根据权利要求1-10任意一项所述的方法,在所述从点云数据所包括点中获得目标点的N个相邻点之前,所述方法还包括:
    从所述点云数据中剔除位置信息和属性信息均相同的点。
  15. 根据权利要求1-10任意一项所述的方法,在所述从点云数据所包括点中获得目标点的N个相邻点之前,所述方法还包括:
    从所述点云数据中剔除与所述目标点的位置信息相同、且时间信息不同的点。
  16. 根据权利要求1-10任意一项所述的方法,在所述从点云数据所包括点中获得目标点的N个相邻点之前,所述方法还包括:
    对所述点云数据中位置信息相同的重复点按照属性值大小进行排序。
  17. 根据权利要求1-10任意一项所述的方法,所述方法还包括:
    生成针对所述目标点的属性码流,所述属性码流中携带所述目标点的目标相邻点的总个数。
  18. 一种点云属性的预测方法,所述方法由解码设备执行,所述方法包括:
    解析码流,获得点云数据中每个点的位置信息;
    根据所述点云数据中每个点的位置信息,从所述点云数据中获得距离目标点最近的N个已解码点作为所述目标点的N个相邻点;
    从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
    根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
    根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
    其中,所述N、K、M均为大于或等于1的正整数。
  19. 根据权利要求18所述的方法,所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    从所述M个重复点中确定出一个第三相邻点;
    将所述第三相邻点作为所述目标点的一个目标相邻点。
  20. 根据权利要求19所述的方法,还包括:
    将所述M个重复点中任意一个重复点的属性值,作为所述第三相邻点的属性值;或者,
    将所述M个重复点中各重复点的属性值的平均值,作为所述第三相邻点的属性值。
  21. 根据权利要求18所述的方法,所述方法还包括:
    将所述K个第一相邻点中除所述M个重复点之外的K-M个第一相邻点,作为所述目标点的K-M个目标相邻点。
  22. 根据权利要求19所述的方法,所述方法还包括:
    从所述N个相邻点中选取M-1个第二相邻点,所述第二相邻点与所述第一相邻点不同;
    将所述M-1个第二相邻点作为所述目标点的M-1个目标相邻点。
  23. 根据权利要求22所述的方法,所述从所述N个相邻点中选取M-1个第二相邻点,包括:
    从N-K个相邻点中选取距离所述目标点最小的M-1个相邻点作为所述M-1个第二相邻点,所述N-K个相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  24. 根据权利要求18所述的方法,所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    解析码流,获得所述M个重复点的时间信息与所述目标点的时间信息;
    从所述M个重复点中选择时间信息与所述目标点的时间信息相同的P个重复点,作为所述目标点的目标相邻点,所述P为正整数。
  25. 根据权利要求24所述的方法,还包括:
    从所述N个相邻点中选取M-P个第四相邻点,作为所述目标点的M-P个目标相邻点,所述第四相邻点与所述第一相邻点不同。
  26. 根据权利要求25所述的方法,所述从所述N个相邻点中选取M-P个第四相邻点,包括:
    从N-K个相邻点中选取距离所述目标点最小的M-P个相邻点作为所述M-P个第二相邻点,所述N-K个相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  27. 根据权利要求21所述的方法,所述方法还包括:
    从N-K个相邻点中选取M个相邻点作为所述目标点的M个目标相邻点,其中所述N-K个相邻点为所述N个相邻点中除所述K个第一相邻点之外的相邻点。
  28. 根据权利要求18-27任意一项所述的方法,所述方法还包括:
    确定所述目标点与所述M个重复点的位置信息是否相同;
    所述根据所述M个重复点,确定所述目标点的至少一个目标相邻点,包括:
    若确定所述目标点与所述M个重复点中的重复点的位置信息相同,则将所述M个重复点中与所述目标点的属性信息相同的重复点作为所述目标点的目标相邻点。
  29. 根据权利要求28所述的方法,所述确定所述目标点与所述M个重复点的位置信息是否相同,包括:
    若所述M个重复点中存在与所述目标点的位置信息一致的点,则确定所述目标点与所述M个重复点的位置信息相同;或者,
    若所述目标点包括的重复点标识与所述M个重复点的重复点标志一致,则确定所述目标点与所述M个重复点的位置信息相同;或者,
    解析码流,获得第一个重复点的重复点标识,若所述目标点与所述第一个重复点的位置信息相同,则确定所述目标点与所述M个重复点的位置信息相同;或者,
    解析码流,获得第一个重复点的重复点标识和重复点的个数,并根据所述第一个重复点和所述重复点个数,获得重复点集合,其中所述码流中的重复点按序排列在一起;若所述目标点属于所述重复点集合,则确定所述目标点与所述M个重复点的位置信息相同。
  30. 一种编码器,包括:
    第一获取单元,用于从点云数据所包括点中获得距离目标点最近的N个已编码点作为所述目标点的N个相邻点,所述目标点为所述点云数据所包括点中的一个点;
    第二获取单元,用于从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
    确定单元,用于根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
    预测单元,用于根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
    其中,所述N、K、M均为大于或等于1的正整数。
  31. 一种解码器,包括:
    解码单元,用于解析码流,获得点云数据中每个点的位置信息;
    第一获取单元,用于根据所述点云数据中每个点的位置信息,从所述点云数据中获得距离目标点最近的N个已解码点作为所述目标点的N个相邻点;
    第一获取单元,用于从所述N个相邻点中获取K个第一相邻点,所述K个第一相邻点中包括M个位置信息相同的重复点;
    确定单元,用于根据所述M个重复点,确定所述目标点的至少一个目标相邻点;
    预测单元,用于根据所述至少一个目标相邻点的重建属性信息,对所述目标点进行属性预测;
    其中,所述N、K、M均为大于或等于1的正整数。
  32. 一种电子设备,包括:
    处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至17中任一项所述的方法,或执行权利要求18至29中任一项所述的方法。
  33. 一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至17中任一项所述的方法,或执行权利要求18至29中任一项所述的方法。
  34. 一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行1 至17中任一项所述的方法,或执行权利要求18至29中任一项所述的方法。
PCT/CN2021/131346 2020-12-07 2021-11-18 点云属性的预测方法、编码器、解码器及存储介质 WO2022121650A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21902357.9A EP4258671A4 (en) 2020-12-07 2021-11-18 POINT CLOUD ATTRIBUTE PREDICTION METHOD, ENCODER, DECODER AND RECORDING MEDIUM
US17/972,005 US11910017B2 (en) 2020-12-07 2022-10-24 Method for predicting point cloud attribute, encoder, decoder, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011439503.0 2020-12-07
CN202011439503.0A CN114598883A (zh) 2020-12-07 2020-12-07 点云属性的预测方法、编码器、解码器及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/972,005 Continuation US11910017B2 (en) 2020-12-07 2022-10-24 Method for predicting point cloud attribute, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2022121650A1 true WO2022121650A1 (zh) 2022-06-16

Family

ID=81812288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/131346 WO2022121650A1 (zh) 2020-12-07 2021-11-18 点云属性的预测方法、编码器、解码器及存储介质

Country Status (4)

Country Link
US (1) US11910017B2 (zh)
EP (1) EP4258671A4 (zh)
CN (1) CN114598883A (zh)
WO (1) WO2022121650A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024026712A1 (zh) * 2022-08-03 2024-02-08 上海交通大学 点云编解码方法、装置、设备及存储介质
WO2024065271A1 (zh) * 2022-09-28 2024-04-04 Oppo广东移动通信有限公司 点云编解码方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
WO2020075781A1 (ja) * 2018-10-09 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20200304823A1 (en) * 2019-03-20 2020-09-24 Tencent America LLC Techniques and apparatus for interframe point-cloud attribute coding
WO2020190090A1 (ko) * 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190081638A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Hierarchical point cloud compression
CN110996098A (zh) * 2018-10-02 2020-04-10 腾讯美国有限责任公司 处理点云数据的方法和装置
WO2020075781A1 (ja) * 2018-10-09 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20200304823A1 (en) * 2019-03-20 2020-09-24 Tencent America LLC Techniques and apparatus for interframe point-cloud attribute coding
WO2020190090A1 (ko) * 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4258671A4

Also Published As

Publication number Publication date
EP4258671A1 (en) 2023-10-11
EP4258671A4 (en) 2024-03-27
US11910017B2 (en) 2024-02-20
CN114598883A (zh) 2022-06-07
US20230047400A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
KR20230075426A (ko) 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더
WO2022188582A1 (zh) 点云中邻居点的选择方法、装置及编解码器
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
US20230082456A1 (en) Point cloud attribute prediction method and apparatus, and related device
WO2023024840A1 (zh) 点云编解码方法、编码器、解码器及存储介质
WO2024026712A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2023103565A1 (zh) 点云属性信息的编解码方法、装置、设备及存储介质
WO2024065269A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022257145A1 (zh) 点云属性的预测方法、装置及编解码器
WO2024011381A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2024065272A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2022257150A1 (zh) 点云编解码方法、装置、点云编解码器及存储介质
WO2024082153A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN118042192A (zh) 点云编码、解码的方法、装置及设备
WO2024065270A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023173238A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024065271A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023173237A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
CN117615136A (zh) 点云解码方法、点云编码方法、解码器、电子设备以及介质
CN115733990A (zh) 点云编解码方法、设备及存储介质
CN118055254A (zh) 点云属性编解码方法、装置、设备
CN117354496A (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: 21902357

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021902357

Country of ref document: EP

Effective date: 20230707