WO2021062743A1 - 占位信息的预测方法、编码器、解码器、及存储介质 - Google Patents

占位信息的预测方法、编码器、解码器、及存储介质 Download PDF

Info

Publication number
WO2021062743A1
WO2021062743A1 PCT/CN2019/109661 CN2019109661W WO2021062743A1 WO 2021062743 A1 WO2021062743 A1 WO 2021062743A1 CN 2019109661 W CN2019109661 W CN 2019109661W WO 2021062743 A1 WO2021062743 A1 WO 2021062743A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
weight
occupancy
predicted
child
Prior art date
Application number
PCT/CN2019/109661
Other languages
English (en)
French (fr)
Inventor
张伟
杨付正
万帅
马彦卓
霍俊彦
王哲诚
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to EP19947488.3A priority Critical patent/EP4040683A4/en
Priority to PCT/CN2019/109661 priority patent/WO2021062743A1/zh
Priority to CN201980100409.1A priority patent/CN114402532A/zh
Publication of WO2021062743A1 publication Critical patent/WO2021062743A1/zh
Priority to US17/655,345 priority patent/US11742878B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • H03M7/3075Space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3079Context modeling
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiments of the present application relate to coding and decoding technologies in the communication field, and in particular, to a prediction method, an encoder, a decoder, and a storage medium for occupancy information.
  • G-PCC Geometry-based Point Cloud Compression
  • geometric information encoding based on octrees there are mainly two encoding methods for geometric information: geometric information encoding based on octrees and geometric information encoding based on trisoup (triangle soup).
  • the spatial correlation between the node to be predicted and the surrounding neighboring nodes can be used to perform intra-frame prediction on the occupancy information of the child nodes of the node to be predicted.
  • the intra prediction technical solution based on octree geometric information encoding although the occupancy information of 26 neighboring nodes around the node to be predicted is used, the intra-frame occupancy information of the child nodes of the node to be predicted is realized. Prediction, however, the occupancy information of an adjacent node does not fully reflect the occupancy information of the eight child nodes of the adjacent node. Therefore, when performing intra prediction, the spatial correlation of adjacent nodes is not fully utilized. This affects the accuracy of intra prediction, thereby reducing coding efficiency.
  • the embodiments of the present application provide a prediction method, an encoder, a decoder, and a storage medium for occupancy information, which can make full use of the spatial correlation of neighboring nodes, thereby improving the accuracy of intra prediction, and thereby improving the coding efficiency. .
  • an embodiment of the present application provides a method for predicting occupancy information, which is applied to an encoder, and the method includes:
  • the occupancy information corresponding to the neighboring node of the node to be predicted is determined, the coding state of the neighboring node, and the neighboring nodes that have been encoded among the neighboring nodes The number of occupied child nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes;
  • an embodiment of the present application also provides a method for predicting occupancy information, which is applied to a decoder, and the method includes:
  • the occupancy information corresponding to the neighboring nodes of the node to be predicted is determined, the decoding status of the neighboring nodes, and the decoded neighboring nodes among the neighboring nodes The number of occupied child nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes;
  • an embodiment of the present application also provides an encoder, which includes: a first determining part, a first acquiring part, and a first output part,
  • the first determining part is configured to determine the occupancy information corresponding to the neighboring node of the node to be predicted when the geometric information is encoded based on the octree, the encoding state of the neighboring node, and the The number of occupied child nodes of the coded adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node;
  • the first obtaining part is configured to obtain a preset weight set according to the distance parameter and the number of occupied child nodes
  • the first determining part is further configured to determine the occupancy weight corresponding to the child node according to the preset weight set, the encoding state, and the occupancy information;
  • the first acquiring part is further configured to perform prediction processing on the child node according to the occupancy weight and a preset occupancy threshold set to obtain the node type corresponding to the child node;
  • the first output part is configured to output predicted occupancy information of the node to be predicted based on the node type.
  • an embodiment of the present application also provides a decoder, which includes: a second determining part, a second acquiring part, and a second output part,
  • the second determining part is configured to determine the occupancy information corresponding to the neighboring node of the node to be predicted when the geometric information is decoded based on the octree, the decoding state of the neighboring node, and the , The number of occupied child nodes of the decoded adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node;
  • the second acquiring part is configured to acquire a preset weight set according to the distance parameter and the number of occupied child nodes
  • the second determining part is further configured to determine the occupancy weight corresponding to the child node according to the preset weight set, the decoding state, and the occupancy information;
  • the second acquiring part is further configured to perform prediction processing on the child node according to the occupancy weight and a preset occupancy threshold set, to obtain the node type corresponding to the child node;
  • the second output part is configured to output predicted occupancy information of the node to be predicted based on the node type.
  • an embodiment of the present application also provides an encoder.
  • the encoder includes a first processor, a first memory storing executable instructions of the first processor, a first communication interface, and A first bus connecting the first processor, the first memory, and the first communication interface, and when the instruction is executed by the first processor, the method for predicting occupancy information as described above is implemented .
  • an embodiment of the present application also provides a decoder.
  • the decoder includes a second processor, a second memory storing executable instructions of the second processor, a second communication interface, and A second bus connected to the second processor, the second memory, and the first communication interface, when the instruction is executed by the second processor, the method for predicting the occupancy information as described above is implemented .
  • the embodiments of the present application also provide a computer-readable storage medium with a program stored thereon and applied to an encoder.
  • the program is executed by a processor, the prediction of the occupancy information as described above is realized. method.
  • the embodiments of the present application also provide a computer-readable storage medium with a program stored thereon and applied to a decoder.
  • the program is executed by a processor, the prediction of the occupancy information as described above is realized. method.
  • the embodiments of the present application provide a prediction method, an encoder, a decoder, and a storage medium for occupancy information.
  • the encoder encodes geometric information based on an octree
  • the occupancy corresponding to the neighboring node of the node to be predicted is determined Information, the coding status of adjacent nodes, the number of occupied child nodes of the adjacent nodes and the coded adjacent nodes, and the distance parameter between the child node of the node to be predicted and the adjacent node; according to the distance parameter And the number of occupied child nodes to obtain a preset weight set; according to the preset weight set, coding state and occupancy information, determine the occupancy weight corresponding to the child node; according to the occupancy weight and the preset occupancy threshold set, Perform prediction processing on the child node to obtain the node type corresponding to the child node; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the decoder When the decoder decodes the geometric information based on the octree, it determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, the decoding status of the neighboring nodes, and the occupied positions of the decoded neighboring nodes in the neighboring nodes
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • Figure 1 is a flow chart of G-PCC encoding
  • FIG. 2 is a block diagram of the flow of G-PCC decoding
  • Figure 3 is a schematic diagram of octree division
  • Figure 4 is a first schematic diagram of a child node of an adjacent node
  • Fig. 5 is a second schematic diagram of the child nodes of adjacent nodes
  • Fig. 6 is a schematic diagram 1 of the realization process of the method for predicting occupancy information
  • Figure 7 is a flow chart of the intra-frame prediction framework of occupancy information
  • Figure 8 is a flow chart of an intra-frame prediction algorithm for occupancy information
  • FIG. 9 is a second schematic diagram of the implementation process of the method for predicting occupancy information
  • Figure 10 is a schematic diagram of the composition of the encoder
  • Figure 11 is a second schematic diagram of the composition of the encoder
  • Figure 12 is a schematic diagram of the structure of the decoder
  • Figure 13 is a second schematic diagram of the structure of the decoder.
  • each slice is encoded independently.
  • Figure 1 is a flow diagram of G-PCC encoding.
  • the flow diagram of G-PCC encoding is applied to the point cloud encoder.
  • For the point cloud data to be encoded first divide the point cloud data by slices. For multiple slices. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are coded separately.
  • the coding methods of geometric information mainly include octree-based geometric information coding and trisoup-based geometric information coding.
  • Attribute information coding mainly includes distance-based divisions that depend on the level of detail (LOD, Level of Detail). Lifting transformation, and direct regional adaptive hierarchical transformation (RAHT, Region Adaptive Hierarchal Transform) two kinds.
  • LOD level of detail
  • RAHT Region Adaptive Hierarchal Transform
  • the geometric information is coordinated to convert the point cloud into a bounding box (bounding box), and then quantized.
  • This step of quantization mainly plays the role of scaling. Due to the quantization rounding, a part of the The geometric information of the point cloud is the same, so it is determined whether to remove the duplicate points based on the parameters.
  • the process of quantifying and removing the duplicate points is also called the voxelization process. Then divide the bounding box into an octree. According to the different levels of octree division depth, the coding of geometric information can be divided into two frameworks based on octree and trisoup.
  • Fig. 3 is a schematic diagram of octree division.
  • the codec divides the block in the space where the point cloud to be coded and decoded, and the realization process of obtaining n blocks is: the codec uses eight points for the point cloud.
  • the fork tree is divided into several N ⁇ N ⁇ N blocks of the same size, where N can be set as a fixed value or set separately according to different point clouds, which is not limited in the embodiment of the present application. That is, each block contains N ⁇ N ⁇ N voxels, or voxels.
  • the voxel unit is 1, which means a point to be coded and decoded in the point cloud to be coded.
  • the bounding box is divided into eight sub-cubes, and the non-empty (including points in the point cloud) sub-cubes are continued to be divided into eight equal parts until the leaf knots are obtained.
  • the point is a 1x1x1 unit cube
  • the division is stopped, and the points in the leaf nodes are arithmetic coded to generate a binary geometric bit stream, that is, a geometric code stream.
  • octree division In the process of encoding geometric information based on trisoup, octree division must also be performed first, but different from the encoding of geometric information based on octree, the trisoup does not need to divide the point cloud step by step into a unit cube with a side length of 1x1x1. , But the division is stopped when the side length of the block (sub-block) is W.
  • the side length of the block (sub-block) is W.
  • the geometric information is reconstructed, and the coding of the attribute information will depend on the reconstructed geometric information.
  • color conversion is performed first, and the color information (that is, attribute information) is converted from the RGB color space to the YUV color space.
  • the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information.
  • the domain is converted to the frequency domain, high-frequency coefficients and low-frequency coefficients are obtained through transformation, and finally the coefficients are quantized (ie, quantized coefficients), and finally, the geometric coding data after octree division and surface fitting are processed with quantized coefficients.
  • the vertex coordinates of each block are sequentially encoded (that is, arithmetic coding) to generate a binary attribute bit stream, that is, an attribute code stream.
  • FIG. 2 is a block diagram of the G-PCC decoding process. As shown in Figure 2, the block diagram of the G-PCC decoding process is applied to the point cloud decoder. The decoder obtains the binary code stream, and independently decodes the geometric bit stream and the attribute bit stream in the binary code stream.
  • the spatial correlation between the node to be predicted and the surrounding neighboring nodes can be used to perform intra-frame prediction on the occupancy information of the child nodes of the node to be predicted.
  • the node to be predicted There are 26 neighboring nodes around, and you can predict whether the child nodes of the node to be predicted are occupied based on the occupancy information of the 26 neighboring nodes of the node to be predicted, that is, intra prediction.
  • This method was proposed by BlackBerry in the proposal m43600 in July 2018 and was accepted by the MPEG G-PCC standard (ie MPEG-I (ISO/IEC 23090) Part 9).
  • This technical solution makes use of spatial correlation to make the occupancy information more suitable for entropy coding.
  • the specific implementation is described as follows:
  • the intra prediction function is enabled.
  • the 3D map used to map (x, y, z) coordinates and flags, and the coordinates of the origin of the node to be predicted, 26 neighbors around the node to be predicted can be determined Node, then the occupancy information ⁇ k of the adjacent node k can be determined , and the distance d k,m from the adjacent node k to the child node m of the node to be predicted can be based on ⁇ k and d k,m using the formula (1), further determine the weight value W(d k,m , ⁇ k ) corresponding to the child node m and the adjacent node k,
  • Two preset thresholds th0 (No) and th1 (No) are used to predict whether the child node m is occupied, and the prediction result is obtained.
  • the values of W0(d k,m ), W1(d k,m ), th0(No) and th1(No) are all obtained through training, and are preset in the codec
  • the fixed value does not need to be transmitted from the encoding end to the decoding end.
  • No can represent the number of occupied nodes among all 26 adjacent nodes of the node to be predicted, th0(No) is less than th1(No), that is, th0(No) can be the lower limit of the occupied node, th1 (No) can be the upper limit of the occupied node.
  • the prediction result may include not occupied, occupied, and not predicted. Specifically, when the estimated value score m is less than th0(No), it can be determined that the prediction result is not occupied, when the estimated value score m is greater than th1(No), it can be determined that the prediction result is occupied, and when the estimated value score m is greater than th0( When No) and less than th1 (No), it can be determined that the prediction result is not prediction.
  • the codec can output the "prediction” and "predicted value” represented by 0 or 1 for use in entropy encoding of the occupancy information.
  • 1, 1 represents “occupies”; 1, 0 represents “not occupied”; 0, 0 represents "not predicted”.
  • the occupancy information of the 26 neighboring nodes around the node to be predicted is used, the occupancy information of the child nodes of the node to be predicted is realized.
  • Intra-frame prediction however, the occupancy information of a neighboring node cannot fully reflect the occupancy information of the eight child nodes of the neighboring node. Therefore, when performing intra-frame prediction on the child nodes of the node to be predicted, the neighboring node cannot be predicted.
  • the spatial correlation of nodes is fully utilized, which affects the accuracy of intra-frame prediction, thereby reducing coding efficiency.
  • FIG 4 is the first schematic diagram of the child node of the adjacent node
  • Figure 5 is the schematic diagram two of the child node of the adjacent node.
  • the prediction result of the occupancy information of the child node A in the node to be predicted is unoccupied, and when all the 8 child nodes in the adjacent nodes are occupied nodes, the prediction result of the occupancy information of the child node A in the node to be predicted is Occupancy, that is to say, when predicting the occupancy information of the node to be predicted, one child node in the adjacent node is non-empty, and 8 child nodes in the adjacent node are non-empty, the prediction is treated The influence of the child nodes of a node is different. However, the existing intra-frame prediction methods do not take this into consideration, which leads to insufficient utilization of spatial correlation and inhibits coding efficiency.
  • the present application proposes a method for predicting occupancy information.
  • the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of occupancy information of the node to be predicted
  • the codec of the adjacent node can be
  • the decoding status is also introduced into the prediction process. Specifically, if the codec status of the neighboring node is already coded, the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process In this way, the full utilization of the spatial correlation of adjacent nodes is realized, thereby improving the accuracy of intra prediction, and further improving the coding efficiency.
  • the codec can introduce a new set of new information in the inter-frame prediction based on the occupancy information of the child nodes of the neighboring nodes that have been coded and decoded among the 26 neighboring nodes around the node to be predicted.
  • the weight value is related to the number of occupied nodes in the child nodes of adjacent nodes that have been coded and decoded, and the spatial correlation of the point cloud is further used to reduce the bit rate and the peak signal-to-noise ratio ( Peak Signal to Noise Ratio (PSNR) remains unchanged.
  • PSNR Peak Signal to Noise Ratio
  • the prediction method of occupancy information proposed in this application can affect the intra-frame prediction part in the G-PCC framework, and act on the encoding end and the decoding side at the same time.
  • the process, framework and algorithm of the prediction method of the occupancy information are in The encoding end is exactly the same as the decoding end.
  • FIG. 6 is a schematic diagram of the implementation process of the method for predicting occupancy information. As shown in FIG. 6, the encoder predicts the occupancy
  • the information step can include the following steps:
  • Step 101 When encoding geometric information based on the octree, determine the occupancy information corresponding to the neighboring nodes of the node to be predicted, the coding status of the neighboring nodes, and the occupied positions of the neighboring nodes that have been coded among the neighboring nodes. The number of seat child nodes, and the distance parameter between the child node of the node to be predicted and the adjacent node.
  • the encoder when the encoder encodes geometric information based on the octree, the encoder can first determine the occupancy information corresponding to the neighboring nodes of the node to be predicted, the encoding status of the neighboring nodes, and the neighboring nodes. The number of occupied child nodes of the coded adjacent nodes in the node, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes can also be determined at the same time.
  • the encoding of geometric information can be divided into octree-based and trisoup-based coding.
  • Two coding frameworks for geometric information are two coding frameworks for geometric information.
  • the bounding box in the octree-based geometric information encoding framework, can be divided into 8 sub-cubes in eight equal parts, and the occupancy information of each cube can be recorded.
  • the empty sub-cube continues to be divided into eight equal parts, and the division is stopped when the leaf node obtained by the division is a 1x1x1 unit cube.
  • the encoder can use the spatial correlation between the node and the surrounding nodes to perform i-frame intra prediction on the occupancy information, and finally perform entropy coding to generate a binary code stream.
  • the intra-frame prediction function is not always turned on, but the encoder can only enable the intra-frame prediction function after the divided levels meet certain conditions. Specifically, in the embodiment of the present application, the encoder may first determine the real-time level, and then may compare the real-time level with the preset level threshold, and determine whether to enable the intra-frame prediction function according to the comparison result.
  • the real-time level determined by the encoder can be used to characterize the current number of layers obtained when the octree is divided. Further, the encoder is comparing the real-time level with the preset number of layers. After the threshold value is compared, if the comparison result is that the real-time level is greater than or equal to the preset level threshold, the encoder can enable the intra prediction function; if the comparison result is that the real-time level is less than the preset level threshold, then the encoder may not use Can intra prediction function.
  • the encoder when encoding geometric information based on an octree, only when the number of layers obtained through octree division is not less than the preset layer number threshold, the encoder needs to perform intra-frame prediction.
  • the preset number of layers threshold may be an integer greater than 1, for example, the preset number of layers threshold may take a value of 6.
  • the encoder when encoding geometric information based on an octree, can perform occupancy information and encoding of neighboring nodes around the predicted node after the intra-frame prediction function is enabled. To determine the state, the distance parameter between the child node of the node to be predicted and the neighboring node can also be determined at the same time.
  • the encoder performs octree segmentation, for the node to be predicted, there are 26 adjacent nodes around it, and at the same time, continue to divide the node to be predicted by the octree to obtain 8 child nodes That is, in this application, the child nodes of the node to be predicted are 8 child nodes obtained by performing octree division on the node to be predicted.
  • the encoder can detect and obtain the corresponding information of the 26 neighboring nodes. There are 26 occupancy information and 26 coding states. At the same time, for each of the 8 child nodes, there is a corresponding distance parameter that characterizes the distance from the 26 adjacent nodes.
  • the occupancy information of the neighboring node can be used to characterize whether the neighboring node is occupied.
  • the occupancy information can be occupied or unoccupied, that is, it can be regarded as non-occupied. Empty or empty. Among them, the occupied position (not empty) can be expressed as 1, and the unoccupied position (empty) can be expressed as 0.
  • the coding state is used to determine whether the neighboring node has been coded. Therefore, the coding state can be coded or uncoded. Further, in this application, for a neighboring node whose coding state is already coded, the neighboring node has 8 child nodes. Therefore, the coding state can also be used to determine whether the neighboring node has child nodes.
  • the encoder may further determine the corresponding to the 8 child nodes of the adjacent node Occupation information to determine how many of the 8 subnodes of the adjacent node have occupied subnodes, that is, determine the number of occupied subnodes corresponding to the coded adjacent nodes in the adjacent node .
  • the specific The occupancy information and distance parameters can be determined according to the level parameters of the node to be predicted, the pre-stored Morton three-dimensional map, and the origin coordinates of the node to be predicted. That is to say, the encoder can separately input the level parameters of the node to be predicted, the pre-stored Morton 3D map, and the origin coordinates of the node to be predicted in the point cloud, and then the occupancy information corresponding to the neighboring node and the node to be predicted can be calculated. The distance parameter between the child node and the adjacent node is determined.
  • the pre-stored Morton three-dimensional map can be used to map (x, y, z) coordinates and flags.
  • the encoder can be based on the point cloud (x, y, z). ) Coordinates, using Morton code to determine the pre-stored Morton three-dimensional map.
  • Step 102 Obtain a preset weight set according to the distance parameter and the number of occupied child nodes.
  • the encoder may obtain a preset weight set according to the distance parameter and the number of occupied child nodes.
  • the preset weight set may include a first weight, a second weight, and a third weight.
  • the preset weight set corresponds to the distance parameter and the number of occupied child nodes, wherein the first weight and the second weight both correspond to the distance parameter, and the third weight corresponds to the number of occupied child nodes. The number corresponds.
  • the first weight, the second weight, and the third weight may be used to predict the occupancy information of the child nodes of the node to be predicted under different conditions and situations.
  • the first weight, the second weight, and the third weight are all obtained through learning and training, and are preset fixed values in the encoder, and do not need to be transmitted from the encoding end to the decoding end.
  • first weight and the second weight both correspond to the distance parameter
  • the values of the first weight and the second weight obtained through learning and training are different.
  • each child node corresponds to 26 adjacent nodes and has 26 distance parameters. Therefore, each child node corresponds to 26 distance parameters. A set of preset weights.
  • Step 103 Determine the occupancy weight corresponding to the child node according to the preset weight set, the coding state, and the occupancy information.
  • the encoder determines the occupancy information and coding state corresponding to adjacent nodes, and at the same time obtains the preset weight set corresponding to the distance parameter and the number of occupied sub-nodes, it can follow
  • the preset weight set, coding state and occupancy information further determine the occupancy weights corresponding to the child nodes of the node to be predicted.
  • the encoder after the encoder determines the encoding status and occupancy information corresponding to the neighboring nodes, it can calculate the occupancy weight of the child nodes based on the encoding status and the occupancy information. select. Specifically, whether the adjacent node is occupied and whether the adjacent node has been coded, both affect the calculation method of the weight of the child node.
  • the first weight in the preset weight set can be directly used to determine the occupancy weight of the child node.
  • the second weight and the first weight in the preset weight set can be directly used.
  • the second weight in the preset weight set can be directly used to determine The weight of the child node's occupancy.
  • each child node corresponds to 26 adjacent nodes and has 26 distance parameters
  • each child node corresponds to 26 distance parameters.
  • the preset weight set therefore, for each child node, the encoder can use 26 preset weight sets to calculate and obtain 26 weight parameters corresponding to 26 adjacent nodes, so that the 26 weight parameters can be calculated based on the 26 weight parameters.
  • the weight of the placeholder corresponding to the child node is not limited to the 8 child nodes in the node.
  • the encoder can use the following formula (3), based on the coding state and occupancy information ⁇ k corresponding to the k-th neighboring node k of the node to be predicted, The weight parameters W(d k,m , ⁇ k ,n k ) of each child node m are calculated,
  • the value of k is 1, 2, ..., 26, the value of m is 1, 2, ..., 8, and d k, m is the difference between the adjacent node k and the child node m of the node to be predicted
  • the distance parameter if the coding state of the adjacent node k is coded, the number of occupied child nodes of the coded adjacent node k among the 8 child nodes of the adjacent node k is n k , W0(d k ,m ) is the first weight, W1(d k,m ) is the second weight, W(n k ) is the third weight, it can be seen that the first weight W0(d k,m ) and the second weight W1(d k ,m ) are all related to d k and m , and the third weight W(n k ) is related to n k .
  • the encoder after the encoder obtains all 26 weight parameters W (d k, m , ⁇ k , n k ) of a child node, it can use formula (4) to calculate all 26 weight parameters.
  • the average value of the weight parameters is calculated, so as to obtain the occupancy weight score m corresponding to the child node:
  • the encoder can calculate and obtain the occupation of the child nodes of the node to be predicted based on a preset weight set according to different calculation methods. Bit weight. Wherein, when the adjacent node has occupied and encoded, the encoder can use the number of occupied child nodes of the encoded adjacent node to further determine the weight of the child nodes of the node to be predicted.
  • the encoder when the encoder determines the occupancy weight based on the second weight and the third weight, it may first use the preset correlation coefficient to correct the third weight to obtain the corrected weight; Then according to the second weight and the revised weight, the weight of the seat is determined.
  • the encoder can add another preset correlation coefficient related to the quantization parameter for correction, so that it can be modified in different The quantization degree brings more significant gain to the codec. Based on the above formula (3), the encoder can use formula (5) to modify the third weight W(n k ) to obtain the modified weight
  • is a preset correlation coefficient related to the quantization parameter.
  • the preset correlation coefficient needs to be written into the binary code stream output by the encoder to serve as the input of the decoder, so that the third weight is modified in the same way at the decoding end.
  • Step 104 Perform prediction processing on the child node according to the occupancy weight and the preset occupancy threshold set to obtain the node type corresponding to the child node.
  • the encoder after the encoder determines the occupancy weight corresponding to the child node according to the preset weight set, the encoding state, and the occupancy information, it can compare the occupancy weight and the preset occupancy threshold set The node performs prediction processing, so that the node type corresponding to the child node can be obtained.
  • the encoder may first obtain a preset occupancy threshold set, where the preset occupancy threshold set includes a first threshold and a second threshold, specifically, the first threshold is less than the first threshold. Two thresholds.
  • the first threshold and the second threshold both correspond to the number of adjacent nodes that have already occupied the adjacent nodes. Therefore, before the encoder performs prediction processing on the child nodes according to the occupancy weight and preset occupancy threshold set, and obtains the node type corresponding to the child node, it can first determine that the occupancy information in the neighboring node is occupied.
  • the number of nodes is to determine the number of neighboring nodes that have occupied positions among neighboring nodes.
  • the encoder after the encoder determines the number of occupied adjacent nodes in the adjacent nodes, it can determine from the preset occupancy threshold set that it is adjacent to the occupied position.
  • the number of nodes corresponds to the first threshold and the second threshold.
  • the node types of the child nodes of the node to be predicted may include three types: occupied, non-occupied, and non-predicted.
  • the occupancy refers to the information of the occupancy The prediction result is occupied; non-occupied means that the prediction result of the occupancy information of the child node is unoccupied; non-prediction means that the prediction of the occupancy information of the child node is not performed.
  • the encoder can output the "predicted or not” and “predicted value” represented by 0 or 1 and used in the entropy encoding of the occupancy information later. Among them, you can pass 1, 1 for "occupying”; passing 1, 0 for “not occupying”; passing 0, 0 for "not predicting”.
  • the occupancy weights can be respectively compared with the first threshold and the second threshold.
  • the comparison is performed to obtain the comparison result, so that the prediction of the child node of the node to be predicted can be realized according to the comparison result, and the node type of the child node of the node to be predicted can be obtained.
  • the encoder compares the occupancy weight with the first threshold and the second threshold, respectively, if the comparison result is that the occupancy weight is less than the first threshold, then it can be determined that the node type is not. Placeholder.
  • the encoder compares the occupancy weight with the first threshold and the second threshold, respectively, if the comparison result is that the occupancy weight is greater than the second threshold, then it can be determined that the node type is occupied. Bit.
  • the encoder compares the occupancy weight with the first threshold and the second threshold, respectively, if the comparison result is that the occupancy weight is greater than or equal to the first threshold and less than or equal to the first threshold, Two thresholds, then the node type can be determined to be unpredictable.
  • the encoder when the occupancy weight is greater than or equal to the first threshold, and less than or equal to the second threshold, the encoder cannot perform the calculation based on the first weight, the second weight, and the third weight.
  • the child node predicts the occupancy information, so the node type of the child node can be determined as an unpredicted node.
  • the first threshold and the second threshold are both obtained through learning and training, and are preset fixed values in the encoder, and do not need to be transmitted from the encoding end to the decoding end.
  • Step 105 Based on the node type, output predicted occupancy information of the node to be predicted.
  • the encoder performs prediction processing on the child node according to the occupancy weight and the preset occupancy threshold set, and obtains the node type corresponding to the child node, and then can output the node type to be predicted based on the node type. Forecast occupancy information.
  • the predicted occupancy information of the node to be predicted includes 8 node types corresponding to all 8 child nodes of the node to be predicted.
  • the encoder can use the method from step 101 to step 104 to determine the child node according to the 26 neighboring nodes around the node to be predicted. Predict the occupancy information to obtain the node type corresponding to the child node. Specifically, the encoder can first use the occupancy information, encoding status, and distance parameters between each of the 26 adjacent nodes to determine the 26 weight parameters corresponding to the child node, respectively. Then calculate the average value of the 26 weight parameters corresponding to the child node to obtain the occupancy weight corresponding to the child node, and then compare the occupancy weight with the preset occupancy threshold set to determine the corresponding to the child node Node type.
  • the prediction occupancy information of the node to be predicted output by the encoder based on the node type is based on the above-mentioned method from step 101 to step 104, through all 8 child nodes of the node to be predicted Prediction of the occupancy information, and the occupancy information of the node to be predicted obtained by the prediction of the occupancy information of the node to be predicted is completed.
  • the encoder can traverse all 8 and child nodes of the node to be predicted until it determines all 8 node types corresponding to all 8 child nodes of the node to be predicted, and finally can use all 8 node types, output the predicted occupancy information of the node to be predicted.
  • the encoder after the encoder outputs the predicted occupancy information of the node to be predicted based on the node type, it can encode the geometric information of the node to be predicted based on the predicted occupancy information to obtain the code Stream data, where the code stream data can be a binary code stream.
  • the encoder determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, the encoding state of the neighboring nodes, and the relationship between the child nodes of the node to be predicted and the neighboring nodes.
  • the point cloud sequence type corresponding to the node to be predicted can also be determined first, and then the preset weight set and preset occupancy threshold set corresponding to the point cloud sequence type can be obtained.
  • the encoder can use corresponding different preset weight sets and preset occupancy threshold sets to predict the occupancy information of the node to be predicted, that is, When predicting the occupancy information of the node to be predicted, the first weight, the second weight, the third weight, the first threshold, and the second threshold used by the encoder are the same as the point cloud sequence type corresponding to the node to be predicted. Matching, so as to achieve higher gains when compressing point clouds of different point cloud sequence types.
  • the scaling ratio r between the point cloud sequence space and the actual space is introduced, and the actual density ⁇ of the point cloud is calculated according to r and the length l, width w, and height h of the bounding box, namely
  • the point cloud sequence types can be divided into three categories: sparse, medium, and dense. And train the first weight, the second weight, the third weight, the first threshold and the second threshold for the three different point cloud sequence types.
  • the point cloud sequence type needs to be written into the binary code stream output by the encoder as the input of the decoder, so that the matching preset weight set and preset are selected at the decoder.
  • the occupancy threshold set performs the same intra-frame prediction as the encoding end.
  • the embodiment of the application provides a method for predicting occupancy information.
  • an encoder encodes geometric information based on an octree, it determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, and the coding state of the neighboring nodes, The number of occupied child nodes of the adjacent nodes in the adjacent nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes; according to the distance parameter and the number of occupied child nodes , Obtain the preset weight set; Determine the occupancy weight corresponding to the child node according to the preset weight set, coding state and occupancy information; Perform prediction processing on the child node according to the occupancy weight and preset occupancy threshold set to obtain the child The node type corresponding to the node; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • FIG. 7 is a flow chart of the intra-frame prediction framework of occupancy information.
  • the encoder is processing
  • the prediction node performs intra prediction of the occupancy information
  • the origin coordinates of the node to be predicted determine the occupancy information ⁇ k corresponding to the adjacent node k of the node to be predicted, the encoding state of the adjacent node, and the occupied child node of the adjacent node in the adjacent node.
  • the number n k , and the distance parameter d k,m between the child node m of the node to be predicted and the adjacent node k (step 301), and then using the above formula (3), based on n k , d k, m ,
  • a threshold th0 (No) is compared with a second threshold th1 (No) to realize the prediction of the occupancy information of the child node m, obtain the node type corresponding to the child node m (step 306), and traverse all the nodes to be predicted 8 child nodes, so as to determine the node type corresponding to each child node in the node to be predicted (step 307 and step 308), and finally based on all 8 node types corresponding to all 8 child nodes, output the prediction account of the node to be predicted Bit information (step 309), and finally can be encoded based on the predicted occupancy information corresponding to the node to be predicted to obtain bitstream data (step 3010).
  • Figure 8 is a flow chart of the intra prediction algorithm for occupancy information. As shown in Figure 8, when encoding geometric information based on an octree, when the encoder performs intra prediction of the occupancy information of the node to be predicted, it may specifically include The following steps:
  • Step 402 Determine the encoding state of the neighboring node k, that is, determine whether the neighboring node k has been encoded, if so, perform step 403, otherwise, perform step 405.
  • Step 403 Using the second weight W1(d k, m ) and the third weight W(n k ), calculate and obtain the weight parameter W(d k, m , ⁇ k ,n k ).
  • d k, m is the distance parameter between the child node m and the adjacent node k
  • n k is the number of occupied child nodes of the encoded adjacent node.
  • Step 404 Use the first weight W0 (d k, m ) to calculate and obtain the weight parameter W (d k, m , ⁇ k , n k ) corresponding to the child node m and the adjacent node k.
  • Step 405 Use the second weight W1 (d k, m ) to calculate and obtain the weight parameter W (d k, m , ⁇ k , n k ) corresponding to the child node m and the adjacent node k.
  • Step 406 whether k is less than 26, that is, whether to traverse all 26 neighboring nodes of the node to be predicted, if not, perform step 407, otherwise, perform step 4013.
  • Step 407 Perform an average calculation on all the 26 weight parameters W (d k, m , ⁇ k , n k ) corresponding to the child node m to obtain the occupancy weight score m .
  • Step 408 Whether the occupancy weight score m is greater than the first threshold th0 (No), where No is the number of adjacent nodes that have been occupied among the 26 adjacent nodes, if not, perform step 410, if If yes, go to step 409.
  • Step 409 Whether the occupancy weight score m is less than the second threshold th1 (No), if yes, proceed to step 411, and if not, proceed to step 412.
  • Step 4010 Determine that the node type of the child node m is non-occupied, that is, predict that the occupancy information of the child node m is non-occupied.
  • Step 4011 Determine that the node type of the child node m is occupied, that is, predict that the occupancy information of the child node m is occupancy.
  • Step 4012 do not predict the occupancy information of the child node m.
  • step 4013 k is incremented by 1, and step 401 is continued.
  • Step 4014 whether m is less than 8, that is, whether to traverse all 8 child nodes of the node to be predicted, if yes, execute 4016, if not, execute 4015.
  • step 4015 m is incremented by 1, and step 401 is executed.
  • Step 4016 Based on the node types corresponding to all 8 child nodes of the node to be predicted, output predicted occupancy information of the node to be predicted.
  • Step 4017 Perform encoding processing according to the predicted occupancy information to obtain bitstream data.
  • the method for predicting occupancy information proposed in the present application can further utilize the spatial correlation of the point cloud to make the intra-frame prediction result based on octree geometric information coding more suitable for entropy coding , Thereby reducing the bit rate of the binary code stream and achieving higher gains.
  • Table 1 is the saving of BD-Rate under lossy compression for the prediction method of occupancy information proposed in this application. It can be seen from Table 1 that for different goals, under the same objective quality, use this application With the proposed prediction method of occupancy information, the code rate is reduced. Among them, when BD-rate is a negative value, the characterizing code rate is reduced and performance is improved, and when BD-rate is a positive value, the characterizing code rate is increased and performance is degraded.
  • the embodiment of the application provides a method for predicting occupancy information.
  • an encoder encodes geometric information based on an octree, it determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, and the coding state of the neighboring nodes, The number of occupied child nodes of the adjacent nodes in the adjacent nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes; according to the distance parameter and the number of occupied child nodes , Obtain the preset weight set; Determine the occupancy weight corresponding to the child node according to the preset weight set, coding state and occupancy information; Perform prediction processing on the child node according to the occupancy weight and preset occupancy threshold set to obtain the child The node type corresponding to the node; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • FIG. 9 is a schematic diagram of the second implementation process of the method for predicting occupancy information. As shown in FIG. 9, the decoder predicts the occupancy
  • the information step can include the following steps:
  • Step 501 When decoding geometric information based on the octree, determine the occupancy information corresponding to the neighboring nodes of the node to be predicted, the decoding status of the neighboring nodes, and the occupied positions of the decoded neighboring nodes in the neighboring nodes The number of seat child nodes, and the distance parameter between the child node of the node to be predicted and the adjacent node.
  • the decoder when the decoder decodes geometric information based on the octree, the decoder can first determine the occupancy information corresponding to the neighboring nodes of the node to be predicted, the decoding status of the neighboring nodes, and the neighboring nodes. The number of already-occupied child nodes of the decoded adjacent node in the node, and the distance parameter between the child node of the node to be predicted and the adjacent node can also be determined.
  • the decoding of geometric information can be divided into octree-based and trisoup-based decoding.
  • the bounding box in the octree-based geometric information decoding framework, can be divided into 8 sub-cubes in eight equal parts, and the occupancy information of each cube can be recorded.
  • the empty sub-cube continues to be divided into eight equal parts, and the division is stopped when the leaf node obtained by the division is a 1x1x1 unit cube.
  • the decoder can use the spatial correlation between the node and the surrounding nodes to perform i-frame intra prediction on the occupancy information.
  • the intra-frame prediction function is not always turned on, but only after the divided levels meet certain conditions, the decoder enables the intra-frame prediction function. Specifically, in the embodiment of the present application, the decoder may first determine the real-time level, and then may compare the real-time level with the preset level threshold, and determine whether to enable the intra-frame prediction function according to the comparison result.
  • the real-time level determined by the decoder can be used to characterize the current number of layers obtained during the division of the octree. Further, the decoder is comparing the real-time level with the preset number of layers. After the threshold value is compared, if the comparison result is that the real-time level is greater than or equal to the preset level threshold, the decoder can enable the intra prediction function; if the comparison result is that the real-time level is less than the preset level threshold, the decoder may not use Can intra prediction function.
  • the decoder when decoding geometric information based on an octree, only when the number of layers obtained through octree division is not less than the preset layer number threshold, the decoder needs to perform intra-frame prediction.
  • the preset number of layers threshold may be an integer greater than 1, for example, the preset number of layers threshold may take a value of 6.
  • the decoder when decoding geometric information based on an octree, can perform occupancy information and decoding on neighboring nodes around the predicted node after the intra-frame prediction function is enabled. To determine the state, the distance parameter between the child node of the node to be predicted and the adjacent node can also be determined at the same time. Among them, since the decoder performs the octree segmentation, for the node to be predicted, there are 26 adjacent nodes around it. At the same time, the node to be predicted is continued to divide the octree to obtain 8 child nodes. That is, in this application, the child nodes of the node to be predicted are 8 child nodes obtained by performing octree division on the node to be predicted.
  • the decoder can detect and obtain the corresponding information of the 26 neighboring nodes. 26 occupancy information and 26 decoding states. At the same time, for each of the 8 child nodes, there is a corresponding distance parameter that characterizes the distance from the 26 adjacent nodes.
  • the occupancy information of the neighboring node can be used to characterize whether the neighboring node is occupied.
  • the occupancy information can be occupied or unoccupied, that is, it can be regarded as non-occupied. Empty or empty. Among them, the occupied position (not empty) can be expressed as 1, and the unoccupied position (empty) can be expressed as 0.
  • the decoding status is used to determine whether the neighboring node has been decoded, and therefore, the decoding status can be decoded or undecoded. Further, in this application, for a neighboring node whose decoding status is decoded, the neighboring node has 8 child nodes. Therefore, the decoding status can also be used to determine whether the neighboring node has child nodes.
  • the decoder can further determine the corresponding to the 8 child nodes of the neighboring node. Occupation information, so as to determine how many of the 8 child nodes of the adjacent node have occupied child nodes, that is, determine the number of occupied child nodes corresponding to the decoded adjacent node in the adjacent node .
  • the decoder determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, and the distance parameters between the child nodes of the node to be predicted and the neighboring nodes, specifically
  • the occupancy information and distance parameters can be determined according to the level parameters of the node to be predicted, the pre-stored Morton three-dimensional map, and the origin coordinates of the node to be predicted.
  • the decoder can separately input the level parameters of the node to be predicted, the pre-stored Morton 3D map, and the origin coordinates of the node to be predicted in the point cloud, and then the occupancy information corresponding to the neighboring node and the node's The distance parameter between the child node and the adjacent node is determined.
  • the pre-stored Morton three-dimensional map can be used to map (x, y, z) coordinates and flags.
  • the decoder can be based on the point cloud (x, y, z). ) Coordinates, using Morton code to determine the pre-stored Morton three-dimensional map.
  • Step 502 Obtain a preset weight set according to the distance parameter and the number of occupied child nodes.
  • the decoder may obtain a preset weight set according to the distance parameter and the number of occupied child nodes.
  • the preset weight set may include a first weight, a second weight, and a third weight.
  • the preset weight set corresponds to the distance parameter and the number of occupied child nodes, wherein the first weight and the second weight both correspond to the distance parameter, and the third weight corresponds to the number of occupied child nodes. The number corresponds.
  • the first weight, the second weight, and the third weight may be used to predict the occupancy information of the child nodes of the node to be predicted under different conditions and situations.
  • the first weight, the second weight, and the third weight are all obtained through learning and training, and are preset fixed values in the decoder, and do not need to be transmitted from the encoding end to the decoding end.
  • first weight and the second weight both correspond to the distance parameter
  • the values of the first weight and the second weight obtained through learning and training are different.
  • each child node corresponds to 26 adjacent nodes and has 26 distance parameters. Therefore, each child node corresponds to 26 distance parameters. A set of preset weights.
  • Step 503 Determine the occupancy weight corresponding to the child node according to the preset weight set, the decoding state, and the occupancy information.
  • the decoder determines the occupancy information and decoding state corresponding to adjacent nodes, and at the same time obtains the preset weight set corresponding to the distance parameter and the number of occupied child nodes, it can follow
  • the preset weight set, decoding state and occupancy information further determine the occupancy weights corresponding to the child nodes of the node to be predicted.
  • the decoder after the decoder determines the decoding status and occupancy information corresponding to the neighboring nodes, it can calculate the occupancy weight of the child nodes based on the decoding status and the occupancy information. select. Specifically, whether the adjacent node is occupied and whether the adjacent node has been decoded, both affect the calculation method of the occupied weight of the child node.
  • the first weight in the preset weight set can be directly used to determine the occupancy weight of the child node.
  • the second weight and the first weight in the preset weight set can be directly used.
  • the second weight in the preset weight set can be directly used to determine The weight of the child node's occupancy.
  • each child node corresponds to 26 adjacent nodes and has 26 distance parameters
  • each child node corresponds to 26 distance parameters.
  • the preset weight set therefore, for each child node, the decoder can use 26 preset weight sets to calculate and obtain 26 weight parameters corresponding to the 26 neighboring nodes, so that the 26 weight parameters can be calculated based on the 26 weight parameters.
  • the weight of the placeholder corresponding to the child node is not limited to the 8 child nodes in the node.
  • the decoder can use the following formula (8), based on the decoding state and occupancy information ⁇ k corresponding to the kth neighboring node k of the node to be predicted, The weight parameters W(d k,m , ⁇ k ,n k ) of each child node m are calculated,
  • the value of k is 1, 2, ..., 26, the value of m is 1, 2, ..., 8, and d k, m is the difference between the adjacent node k and the child node m of the node to be predicted
  • the distance parameter if the decoding status of the adjacent node k is decoded, the number of the occupied child nodes of the decoded adjacent node k among the 8 child nodes of the adjacent node k is n k , W0(d k ,m ) is the first weight, W1(d k,m ) is the second weight, W(n k ) is the third weight, it can be seen that the first weight W0(d k,m ) and the second weight W1(d k ,m ) are all related to d k and m , and the third weight W(n k ) is related to n k .
  • the decoder after the decoder obtains all 26 weight parameters W (d k, m , ⁇ k , n k ) of a child node, it can use the above formula (4) to compare all The 26 weight parameters are calculated on average, so that the occupancy weight score m corresponding to the child node can be obtained.
  • the decoder can calculate the occupation of the child node of the node to be predicted based on a preset weight set according to different calculation methods. Bit weight. Wherein, when the adjacent node has occupied and decoded, the decoder can use the number of occupied child nodes of the decoded adjacent node to further determine the weight of the child nodes of the node to be predicted.
  • the decoder when the decoder determines the occupancy weight based on the second weight and the third weight, it may first use the preset correlation coefficient to modify the third weight to obtain the corrected weight; Then according to the second weight and the revised weight, the weight of the seat is determined.
  • the decoder can add another preset correlation coefficient related to the quantization parameter for correction, so that different The quantization degree brings more significant gain to the codec. Based on the above formula (3), the decoder can use formula (5) to modify the third weight W(n k ) to obtain the modified weight
  • the preset correlation coefficient needs to be written into the binary code stream output by the encoder to serve as the input of the decoder, so that the third weight is modified in the same way at the decoding end.
  • Step 504 Perform prediction processing on the child node according to the occupancy weight and the preset occupancy threshold set to obtain the node type corresponding to the child node.
  • the decoder determines the occupancy weight corresponding to the child node according to the preset weight set, the decoding state and the occupancy information, it can compare the child nodes according to the occupancy weight and the preset occupancy threshold set.
  • the node performs prediction processing, so that the node type corresponding to the child node can be obtained.
  • the decoder may first obtain a preset occupancy threshold set, where the preset occupancy threshold set includes a first threshold and a second threshold. Specifically, the first threshold is less than the first threshold. Two thresholds.
  • the first threshold and the second threshold both correspond to the number of adjacent nodes that have already occupied the adjacent nodes. Therefore, before the decoder performs prediction processing on the child node according to the occupancy weight and preset occupancy threshold set, and obtains the node type corresponding to the child node, it can first determine that the occupancy information in the neighboring node is occupied.
  • the number of nodes is to determine the number of neighboring nodes that have occupied positions among neighboring nodes.
  • the decoder after the decoder determines the number of occupied adjacent nodes in the adjacent nodes, it can determine from the preset occupancy threshold set that the adjacent nodes are adjacent to the occupied position.
  • the number of nodes corresponds to the first threshold and the second threshold.
  • the node types of the child nodes of the node to be predicted may include three types: occupied, non-occupied, and non-predicted.
  • the occupancy refers to the information of the occupancy The prediction result is occupied; non-occupied means that the prediction result of the occupancy information of the child node is unoccupied; non-prediction means that the prediction of the occupancy information of the child node is not performed.
  • the occupancy weights may be respectively compared with the first threshold and the second threshold. The comparison is performed to obtain the comparison result, so that the prediction of the child node of the node to be predicted can be realized according to the comparison result, and the node type of the child node of the node to be predicted can be obtained.
  • the decoder compares the occupancy weight with the first threshold and the second threshold, respectively, if the comparison result is that the occupancy weight is less than the first threshold, then it can be determined that the node type is not. Placeholder.
  • the decoder compares the occupancy weight with the first threshold and the second threshold respectively, if the result of the comparison is that the occupancy weight is greater than the second threshold, then it can be determined that the node type is occupied. Bit.
  • the decoder compares the occupancy weight with the first threshold and the second threshold, respectively, if the comparison result is that the occupancy weight is greater than or equal to the first threshold and less than or equal to the first threshold, Two thresholds, then it can be determined that the node type is not predicted.
  • the decoder when the occupancy weight is greater than or equal to the first threshold, and less than or equal to the second threshold, the decoder cannot perform the calculation based on the first weight, the second weight, and the third weight.
  • the child node predicts the occupancy information, so it can be determined that the node type of the child node is an unpredicted node.
  • the first threshold and the second threshold are both obtained through learning and training, and are preset fixed values in the decoder, and do not need to be transmitted from the encoding end to the decoding end.
  • Step 505 Based on the node type, output predicted occupancy information of the node to be predicted.
  • the decoder performs prediction processing on the child node according to the occupancy weight and the preset occupancy threshold set, and obtains the node type corresponding to the child node, and then can output the node type to be predicted based on the node type. Forecast occupancy information.
  • the predicted occupancy information of the node to be predicted includes 8 node types corresponding to all 8 child nodes of the node to be predicted.
  • the decoder can use the method from step 501 to step 504 above to determine the child node according to the 26 neighboring nodes around the node to be predicted Predict the occupancy information to obtain the node type corresponding to the child node. Specifically, the decoder may first use the occupancy information, decoding status, and distance parameters between each of the 26 adjacent nodes to determine the 26 weight parameters corresponding to the child node. Then calculate the average value of the 26 weight parameters corresponding to the child node to obtain the occupancy weight corresponding to the child node, and then compare the occupancy weight with the preset occupancy threshold set to determine the corresponding child node Node type.
  • the predicted occupancy information of the node to be predicted based on the node type output by the decoder is based on the above-mentioned method from step 501 to step 504, through all 8 child nodes of the node to be predicted Prediction of the occupancy information, and the occupancy information of the node to be predicted obtained by the prediction of the occupancy information of the node to be predicted is completed.
  • the decoder can traverse all 8 and child nodes of the node to be predicted until it determines all 8 node types corresponding to all 8 child nodes of the node to be predicted, and finally can use all 8 node types, output the predicted occupancy information of the node to be predicted.
  • the decoder after the decoder outputs the predicted occupancy information of the node to be predicted based on the node type, it can decode the geometric information of the node to be predicted based on the predicted occupancy information.
  • the decoder determines the occupancy information corresponding to the neighboring node of the node to be predicted, the decoding state of the neighboring node, and the relationship between the child node of the node to be predicted and the neighboring node.
  • the point cloud sequence type corresponding to the node to be predicted can also be determined first, and then the preset weight set and preset occupancy threshold set corresponding to the point cloud sequence type can be obtained.
  • the decoder can use the corresponding different preset weight sets and preset occupancy threshold sets to predict the occupancy information of the node to be predicted, that is, When predicting the occupancy information of the node to be predicted, the first weight, the second weight, the third weight, the first threshold, and the second threshold used by the decoder are corresponding to the point cloud sequence type corresponding to the node to be predicted. Matching, so as to achieve higher gains when compressing point clouds of different point cloud sequence types.
  • the point cloud sequence types can be divided into three categories: sparse, medium, and dense. And train the first weight, the second weight, the third weight, the first threshold and the second threshold for the three different point cloud sequence types.
  • the point cloud sequence type needs to be written into the binary code stream output by the encoder as the input of the decoder, so that the matching preset weight set and preset are selected at the decoder.
  • the occupancy threshold set performs the same intra-frame prediction as the encoding end.
  • the embodiment of the present application provides a method for predicting occupancy information.
  • a decoder decodes geometric information based on an octree, it determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, and the decoding status of the neighboring nodes, The number of occupied child nodes of the decoded adjacent node in adjacent nodes, and the distance parameter between the child node of the node to be predicted and the adjacent node; according to the distance parameter and the number of occupied child nodes , Obtain the preset weight set; Determine the occupancy weight corresponding to the child node according to the preset weight set, decoding status and occupancy information; Perform prediction processing on the child node according to the occupancy weight and preset occupancy threshold set to obtain the child The node type corresponding to the node; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • FIG. 10 is a schematic diagram of the composition structure of the encoder.
  • the encoder 300 proposed in the embodiment of the present application may include a first determination Part 301, first acquisition part 302, and first output part 303.
  • the first determining part 301 is configured to determine the occupancy information corresponding to the neighboring node of the node to be predicted when the geometric information is encoded based on the octree, the encoding state of the neighboring node, and the neighboring node , The number of occupied child nodes of the coded adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node;
  • the first obtaining part 302 is configured to obtain a preset weight set according to the distance parameter and the number of occupied child nodes;
  • the first determining part 301 is further configured to determine the occupancy weight corresponding to the child node according to the preset weight set, the coding state, and the occupancy information;
  • the first obtaining part 302 is further configured to perform prediction processing on the child node according to the occupancy weight and a preset occupancy threshold set, to obtain the node type corresponding to the child node;
  • the first output part 303 is configured to output predicted occupancy information of the node to be predicted based on the node type.
  • FIG. 11 is a schematic diagram of the second structure of the encoder.
  • the encoder 300 proposed in the embodiment of the present application may further include a first processor 304, and a first memory 305 storing executable instructions of the first processor 304 , A first communication interface 306, and a first bus 307 for connecting the first processor 304, the first memory 305, and the first communication interface 306.
  • the above-mentioned first processor 304 is configured to determine the occupancy information corresponding to the neighboring nodes of the node to be predicted when the geometric information is encoded based on the octree.
  • the coding state of the node, the number of occupied child nodes of the coded neighboring node among the neighboring nodes, and the distance parameter between the child node of the node to be predicted and the neighboring node; according to The distance parameter and the number of occupied child nodes are used to obtain a preset weight set; according to the preset weight set, the encoding state, and the occupancy information, the occupancy corresponding to the child node is determined Weight; according to the occupancy weight and preset occupancy threshold set, the child node is predicted to obtain the node type corresponding to the child node; based on the node type, the predicted occupancy of the node to be predicted is output Bit information.
  • the functional modules in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this embodiment is essentially or correct
  • the part that the prior art contributes or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer).
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes.
  • the embodiment of the present application provides an encoder, which when encoding geometric information based on an octree, determines the occupancy information corresponding to the neighboring node of the node to be predicted, the encoding state of the neighboring node, and the neighboring node
  • Set the weight set determine the occupancy weight corresponding to the child node according to the preset weight set, coding state and occupancy information; perform prediction processing on the child node according to the occupancy weight and preset occupancy threshold set to obtain the corresponding child node Node type; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • FIG. 12 is a schematic diagram of the composition structure of a decoder.
  • the decoder 400 proposed in this embodiment of the present application may include a second determining part 401.
  • the second determining part 401 is configured to determine the occupancy information corresponding to the neighboring nodes of the node to be predicted when the geometric information is decoded based on the octree, the decoding state of the neighboring node, and the neighboring node , The number of occupied child nodes of the decoded adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node;
  • the second acquiring part 402 is configured to acquire a preset weight set according to the distance parameter and the number of occupied child nodes;
  • the second determining part 401 is further configured to determine the occupancy weight corresponding to the child node according to the preset weight set, the decoding state, and the occupancy information;
  • the second acquiring part 402 is further configured to perform prediction processing on the child node according to the occupancy weight and a preset occupancy threshold set to obtain the node type corresponding to the child node;
  • the second output part 403 is configured to output predicted occupancy information of the node to be predicted based on the node type.
  • FIG. 12 is a second schematic diagram of the structure of the decoder.
  • the decoder 400 proposed in the embodiment of the present application may further include a second processor 404, and a second memory 405 storing executable instructions of the second processor 404.
  • the above-mentioned second processor 404 is configured to determine the occupancy information corresponding to the neighboring nodes of the node to be predicted when the geometric information is decoded based on the octree.
  • the decoding status of the node, the number of occupied child nodes of the decoded adjacent node in the adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node; according to The distance parameter and the number of occupied child nodes are used to obtain a preset weight set; according to the preset weight set, the decoding state, and the occupancy information, the occupancy corresponding to the child node is determined Weight; according to the occupancy weight and preset occupancy threshold set, the child node is predicted to obtain the node type corresponding to the child node; based on the node type, the predicted occupancy of the node to be predicted is output Bit information.
  • the functional modules in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this embodiment is essentially or correct
  • the part that the prior art contributes or all or part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer).
  • a computer, a server, or a network device, etc.) or a processor executes all or part of the steps of the method in this embodiment.
  • the aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.
  • the embodiment of the present application provides a decoder that when decoding geometric information based on an octree, the decoder determines the occupancy information corresponding to the neighboring node of the node to be predicted, the decoding state of the neighboring node, and the neighboring node
  • the number of occupied child nodes of the decoded adjacent node, and the distance parameter between the child node of the node to be predicted and the adjacent node; according to the distance parameter and the number of occupied child nodes, the prediction is obtained Set the weight set; determine the occupancy weight corresponding to the child node according to the preset weight set, decoding state, and occupancy information; perform prediction processing on the child node according to the occupancy weight and preset occupancy threshold set to obtain the corresponding child node Node type; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.
  • the embodiments of the present application provide a computer-readable storage medium and a computer-readable storage medium, on which a program is stored, and when the program is executed by a processor, the method as described in the foregoing embodiment is implemented.
  • the program instructions corresponding to the method for predicting occupancy information in this embodiment can be stored on storage media such as optical disks, hard disks, and USB flash drives.
  • storage media such as optical disks, hard disks, and USB flash drives.
  • the occupancy information corresponding to the neighboring node of the node to be predicted is determined, the coding state of the neighboring node, and the neighboring nodes that have been encoded among the neighboring nodes The number of occupied child nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes;
  • the method further includes the following steps:
  • the occupancy information corresponding to the neighboring nodes of the node to be predicted is determined, the decoding status of the neighboring nodes, and the decoded neighboring nodes among the neighboring nodes The number of occupied child nodes, and the distance parameter between the child nodes of the node to be predicted and the adjacent nodes;
  • this application can be provided as methods, systems, or computer program products. Therefore, this application may adopt the form of hardware embodiment, software embodiment, or a combination of software and hardware embodiments. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, optical storage, etc.) containing computer-usable program codes.
  • These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device realizes the functions specified in one or more processes in the schematic diagram and/or one block or more in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in one or more processes in the schematic diagram and/or one block or more in the block diagram.
  • the embodiments of the present application provide a prediction method, an encoder, a decoder, and a storage medium for occupancy information.
  • the encoder encodes geometric information based on an octree
  • the occupancy corresponding to the neighboring node of the node to be predicted is determined Information, the coding status of adjacent nodes, the number of occupied child nodes of the adjacent nodes and the coded adjacent nodes, and the distance parameter between the child node of the node to be predicted and the adjacent node; according to the distance parameter And the number of occupied child nodes to obtain a preset weight set; according to the preset weight set, coding state and occupancy information, determine the occupancy weight corresponding to the child node; according to the occupancy weight and the preset occupancy threshold set, Perform prediction processing on the child node to obtain the node type corresponding to the child node; based on the node type, output the predicted occupancy information of the node to be predicted.
  • the decoder When the decoder decodes the geometric information based on the octree, it determines the occupancy information corresponding to the neighboring nodes of the node to be predicted, the decoding status of the neighboring nodes, and the occupied positions of the decoded neighboring nodes in the neighboring nodes
  • the codec when the codec uses the occupancy information of adjacent nodes to perform intra-frame prediction of the occupancy information of the node to be predicted, the codec state of the adjacent nodes can also be introduced into the prediction.
  • the occupancy of the child node corresponding to the neighboring node can be added to the weight calculation and threshold comparison process to realize the neighboring
  • the full utilization of the spatial correlation of the nodes improves the accuracy of intra-frame prediction, thereby improving the coding efficiency.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供了一种占位信息的预测方法、编码器、解码器及存储介质,编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。

Description

占位信息的预测方法、编码器、解码器、及存储介质 技术领域
本申请实施例涉及通信领域中的编解码技术,尤其涉及一种占位信息的预测方法、编码器、解码器及存储介质。
背景技术
在基于几何的点云压缩(G-PCC,Geometry-based Point Cloud Compression)编码器框架中,将输入点云进行slice划分后,会对每一个slice(片)进行独立编码,而在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。
目前,几何信息的编码方法主要有两种:基于八叉树的几何信息编码和基于trisoup(triangle soup,三角面片集)的几何信息编码。在基于八叉树的几何信息编码流程中,可以利用待预测节点与周围的相邻节点的空间相关性,对待预测节点的子节点的占位信息进行帧内预测,具体地,待预测节点的周围有26个相邻节点,可以根据待预测节点的26个相邻节点的占位信息对待预测节点的子节点是否被占据进行预测,即为帧内预测。
在上述基于八叉树几何信息编码的帧内预测技术方案中,虽然利用了待预测节点周围的26个相邻节点的占位信息,实现了对待预测节点的子节点的占位信息的帧内预测,然而,一个相邻节点的占位信息并不能完全反映该相邻节点的八个子节点的占位信息,因此在进行帧内预测时,并没有充分利用相邻节点的空间相关性,从而影响了帧内预测的准确性,进而降低了编码效率。
发明内容
本申请实施例提供了一种占位信息的预测方法、编码器、解码器及存储介质,能够充分利用相邻节点的空间相关性,从而提升了帧内预测的准确性,进而提高了编码效率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种占位信息的预测方法,应用于编码器中,所述方法包括:
基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
基于所述节点类型,输出所述待预测节点的预测占位信息。
第二方面,本申请实施例还提供了一种占位信息的预测方法,应用于解码器中,所述方法包括:
基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
基于所述节点类型,输出所述待预测节点的预测占位信息。
第三方面,本申请实施例还提供了一种编码器,所述编码器包括:第一确定部分,第一获取部分,第一输出部分,
所述第一确定部分,配置为基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
所述第一获取部分,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
所述第一确定部分,还配置为按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
所述第一获取部分,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
所述第一输出部分,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
第四方面,本申请实施例还提供了一种解码器,所述解码器包括:第二确定部分,第二获取部分,第二输出部分,
所述第二确定部分,配置为基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
所述第二获取部分,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
所述第二确定部分,还配置为按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
所述第二获取部分,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
所述第二输出部分,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
第五方面,本申请实施例还提供了一种编码器,所述编码器包括第一处理器、存储有所述第一处理器可执行指令的第一存储器、第一通信接口,和用于连接所述第一处理器、所述第一存储器以及所述第一通信接口的第一总线,当所述指令被所述第一处理器执行时,实现如上所述的占位信息的预测方法。
第六方面,本申请实施例还提供了一种解码器,所述解码器包括第二处理器、存储有所述第二处理器可执行指令的第二存储器、第二通信接口,和用于连接所述第二处理器、所述第二存储器以及所述第一通信接口的第二总线,当所述指令被所述第二处理器执行时,实现如上所述的占位信息的预测方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,应用于编码器中,所述程序被处理器执行时,实现如上所述的占位信息的预测方法。
第八方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有程序,应用于解码器中,所述程序被处理器执行时,实现如上所述的占位信息的预测方法。
本申请实施例提供了一种占位信息的预测方法、编码器、解码器及存储介质,编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。解码器基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
附图说明
图1为G-PCC编码的流程框图;
图2为G-PCC解码的流程框图;
图3为八叉树划分示意图;
图4为相邻节点的子节点的示意图一;
图5为相邻节点的子节点的示意图二;
图6为占位信息的预测方法的实现流程示意图一;
图7为占位信息的帧内预测框架流程图;
图8为占位信息的帧内预测算法流程图;
图9为占位信息的预测方法的实现流程示意图二;
图10为编码器的组成结构示意图一;
图11为编码器的组成结构示意图二;
图12为解码器的组成结构示意图一;
图13为解码器的组成结构示意图二。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在本申请实施例中,在点云G-PCC编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。
图1为G-PCC编码的流程框图,如图1所示,G-PCC编码的流程框图应用于点云编码器中,针对待编码的点云数据,先通过slice划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。其中,几何信息的编码方法主要包括基于八叉树的几何信息编码和基于trisoup的几何信息编码这两种,属性信息编码主要包括依赖于细节层次(LOD,Level of Detail,)划分的基于距离的提升变换,和直接进行的区域自适应分层变换(RAHT,Region Adaptive Hierarchal Transform)这两种。
在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个bounding box(包围盒)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。根据八叉树划分层级深度的不同,几何信息的编码可以分为基于八叉树和trisoup的两种框架。
具体地,图3为八叉树划分示意图,如图3所示,编解码器在待编解码点云所在空间进行block划分,得到n个block的实现过程为:编解码器将点云用八叉树的方式划分成若干相同大小的N×N×N的block,其中N可以设定为固定值或根据不同点云分别设定,本申请实施例不作限制。即每个block包含N×N×N个体素,或称为体素点(voxel)。体素单位为1,表示待编码点云中的一个待编解码点。
在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于trisoup的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到block(子块)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex(交点),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的几何信息在对点云的属性编码时使用。
几何编码完成后,对几何信息进行重建,而属性信息的编码将依赖于重建的几何信息。具体地,在属性编码过程中,先进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码过程中,主要有两种变换方法,一是依赖于LOD划分的基于距离的提升变换,二是直接进行Region Adaptive Hierarchal Transform,RAHT的变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数), 最后,将经过八叉树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个block的vertex坐标(即算数编码),生成二进制的属性比特流,即属性码流。
图2为G-PCC解码的流程框图,如图2所示,G-PCC解码的流程框图应用于点云解码器中。解码器获取二进制码流,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-反坐标变换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的反提升或者基于RAHT的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
基于八叉树几何信息编码的帧内预测中,可以利用待预测节点与周围的相邻节点的空间相关性,对待预测节点的子节点的占位信息进行帧内预测,具体地,待预测节点的周围有26个相邻节点,可以根据待预测节点的26个相邻节点的占位信息对待预测节点的子节点是否被占据进行预测,即为帧内预测。该方法是由BlackBerry于2018年7月在提案m43600中提出的,被MPEG G-PCC标准(即MPEG-I(ISO/IEC 23090)Part 9)接收。该技术方案就是利用了空间相关性,使占位信息对熵编码更加适用。具体实施描述如下:
首先,当八叉树划分到的层数小于预设层数L时,使能帧内预测功能。利用八叉树划分的当前层级L、用来映射(x,y,z)坐标与标志位的莫3D地图,以及待预测节点的原点的坐标,可以确定出待预测节点周围的26个相邻节点,然后可以确定出相邻节点k的占位信息δ k,和相邻节点k到待预测节点的子节点m的距离d k,m,便可以基于δ k和d k,m,利用公式(1),进一步确定出该子节点m和相邻节点k对应的权重值W(d k,mk),
Figure PCTCN2019109661-appb-000001
遍历全部26个相邻节点,获得该子节点m对应的26个权重值,并基于公式(2)获得这26个权重值的平均值,即获得该子节点m对应的估计值score m
Figure PCTCN2019109661-appb-000002
利用预先设置的两个阈值th0(No)与th1(No)对该子节点m是否被占据进行预测,并获得预测结果。
在上述公式(2)中,W0(d k,m)、W1(d k,m)、th0(No)以及th1(No)的取值均为训练得到的,在编解码器中为预设的固定值,不需要由编码端向解码端传输。其中,No可以表征待预测节点的全部26个相邻节点中的被占据的节点的个数,th0(No)小于th1(No),即th0(No)可以为占据节点的下限值,th1(No)可以为占据节点的上限值。
进一步地,在利用th0(No)与th1(No)对该子节点m是否被占据进行预测时,预测结果可以包括不占据、占据以及不预测。具体地,当估计值score m小于th0(No)时,可以确定预测结果为不占据,当估计值score m大于th1(No)时,可以确定预测结果为占据,当估计值score m大于th0(No)且小于th1(No)时,可以确定预测结果为不预测。
在获得预测结果之后,编解码器可以输出0或1表示的“是否预测”与“预测值”用到之后的对占位信息的熵编码当中。其中,1、1代表“占据”;1、0代表“不占据”;0、0代表“不预测”。
该技术方案的流程、框架与算法在编码端与解码端完全一样。
但是,在上述基于八叉树几何信息编码的帧内预测技术方案中,虽然利用了待预测节点周围的26个相邻节点的占位信息,实现了对待预测节点的子节点的占位信息的帧内预测,然而,一个相邻节点的占位信息并不能完全反映该相邻节点的八个子节点的占位信息,因此在对待预测节点的子节点进行帧内预测时,并不能对相邻节点的空间相关性进行充分的利用,从而影响了帧内预测的准确性,进而降低了编码效率。
需要说明的是,在本申请中,由于26个相邻节点中存在若干个已经编(解)码的相邻节点,而这些已经编(解)码的相邻节点的占位信息和对应的子节点的占位信息均为已知。图4为相邻节点的子节点的示意图一,图5为相邻节点的子节点的示意图二,如图4和5所示,相邻节点中的子节点只有1个已占位节点时,待预测节点中的子节点A的占位信息预测结果为未占位,相邻节点中的8子节点全部为已占位节点时,待预测节点中的子节点A的占位信息预测结果为占位,也就是说,在对待预测节点进行占位信息的预测时,相邻节点中的1个子节点为非空的情况,与相邻节点中的8个子节点为非空的情况,对待预测节点的子节点的影响是不一样的。然而,现有的帧内预测方法却没有考虑这一点,导致其对空间相关性的利用程度不足,编码效率受到抑制。
为了解决上述问题,本申请提出的一种占位信息的预测方法,编解码器在利用相邻节点的占位 信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
也就是说,在本申请中,编解码器可以根据待预测节点周围的26个邻居节点中、已编解码相邻节点的子节点的占位信息的情况,在帧间预测中引入一组新的权重值,该权重值与已编解码相邻节点的子节点中的已占位节点的个数相关,进一步利用了点云的空间相关性,达到了降低码率,且峰值信噪比(Peak Signal to Noise Ratio,PSNR)保持不变的效果。
进一步地,本申请提出的占位信息的预测方法,可以影响G-PCC框架中的帧内预测部分,对编码端和解码端同时作用,该占位信息的预测方法的流程、框架与算法在编码端与解码端完全一样。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请一实施例提供了一种占位信息的预测方法,该方法应用于编码器中,图6为占位信息的预测方法的实现流程示意图一,如图6所示,编码器预测占位信息的步骤可以包括以下步骤:
步骤101、基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数。
在本申请的实施例中,编码器在基于八叉树进行几何信息的编码时,编码器可以先确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,同时还可以确定待预测节点的子节点与相邻节点之间的距离参数。
需要说明的是,在本申请的实施例中,在点云G-PCC编码器框架中,根据八叉树划分层级深度的不同,几何信息的编码可以分为基于八叉树和基于trisoup则这两种几何信息编码框架。
进一步地,在本申请的实施例中,在基于八叉树的几何信息编码框架中,可以先将bounding box八等分为8个子立方体,并记录每个立方体的占位信息,然后可以对非空的子立方体继续进行八等分,直到划分得到的叶子节点为1x1x1的单位立方体时停止划分。在这个过程中,编码器可以利用节点与周围节点的空间相关性,对占位信息进行i帧内预测,最后进行熵编码,生成二进制码流。
需要说明的是,在本申请的实施例中,帧内预测功能并不是一直开启的,而是在划分的层级满足一定条件之后,编码器才使能帧内预测功能。具体地,在本申请的实施例中,编码器可以先确定实时层级,然后可以对实时层级和预设层数阈值进行比较,并根据比较结果确定是否使能帧内预测功能。
进一步地,在本申请的实施例中,编码器所确定的实时层级可以用于表征在通过八叉树划分时所获得的当前层数,进一步地,编码器在将实时层级和预设层数阈值进行比较之后,如果比较结果为实时层级大于或者等于预设层数阈值,那么编码器可以使能帧内预测功能;如果比较结果为实时层级小于预设层数阈值,那么编码器可以不使能帧内预测功能。
需要说明的是,在本申请的实施例中,基于八叉树进行几何信息的编码时,只有通过八叉树划分获得的层数不小于预先设置的层数阈值,编码器才需要进行帧内预测。预设层数阈值可以为大于1的整数,示例性地,预设层数阈值可以取值为6。
进一步地,在本申请的实施例中,基于八叉树进行几何信息的编码时,编码器在帧内预测功能被使能之后,便可以对待预测节点周围的相邻节点进行占位信息和编码状态的确定,同时还可以对待预测节点的子节点和相邻节点之间的距离参数进行确定。其中,由于编码器是进行八叉树的分割,因此,对于待预测节点,其周围存在有26个相邻节点,同时,对该待预测节点继续进行八叉树划分,便可以获得8个子节点,也就是说,在本申请中,待预测节点的子节点是对待预测节点进行八叉树划分获得的8个子节点。
需要说明的是,在本申请的实施例中,由于一个待预测节点周围有26个相邻节点,一个待预测节点包括有8个子节点,因此,编码器可以检测获得26个相邻节点对应的26个占位信息和26个编码状态,同时,对于8个子节点的每一个子节点,均对应有表征与26个相邻节点之间距离的距离参数。
进一步地,在本申请的实施例中,相邻节点的占位信息可以用于表征相邻节点是否被占位,具体地,占位信息可以为已占位或未占位,即可以为非空或空。其中,已占位(非空)可以表示为1,未占位(空)可以表示为0。
需要说明的是,在本申请的实施例中,编码状态用于对相邻节点是否已经编码进行确定,因此,编码状态可以为已编码或未编码。进一步地,在本申请中,对于编码状态为已编码的相邻节点,该 相邻节点存在8个子节点,因此,编码状态还可以用于对相邻节点是否具有子节点进行确定。
进一步地,在本申请的实施例中,对于已经编码的相邻节点,即相邻节点中的、已编码相邻节点,编码器还可以进一步确定出该相邻节点的8个子节点所对应的占位信息,从而确定出该相邻节点的8个子节点中有多少个已占位的子节点,即确定相邻节点中的、已编码相邻节点所对应的已占位子节点的个数。
需要说明的是,在本申请的实施例中,编码器在确定待预测节点的相邻节点所对应的占位信息,以及待预测节点的子节点与相邻节点之间的距离参数时,具体可以根据待预测节点的层级参数、预存莫顿三维地图以及待预测节点的原点坐标,确定占位信息和距离参数。也就是说,编码器可以分别输入待预测节点的层级参数、预存莫顿三维地图以及待预测节点在点云中的原点坐标,便可以对相邻节点所对应的占位信息、待预测节点的子节点与相邻节点之间的距离参数进行确定。
可以理解的是,在本申请的实施例中,预存莫顿三维地图可以用来映射(x,y,z)坐标与标志位,具体地,编码器可以基于点云的(x,y,z)坐标,利用莫顿码来确定预存莫顿三维地图。
步骤102、根据距离参数和已占位子节点的个数,获取预设权重集合。
在本申请的实施例中,编码器在确定待预测节点的子节点与相邻节点之间的距离参数之后,可以根据距离参数和已占位子节点的个数,获取预设权重集合。
需要说明的是,在本申请的实施例中,预设权重集合中可以包括有第一权重、第二权重以及第三权重。具体地,预设权重集合是与距离参数和已占位子节点的个数对应的,其中,第一权重和第二权重均与距离参数相对应,第三权重与已占位子节点的个数相对应。
进一步地,在本申请的实施例中,第一权重、第二权重以及第三权重可以用于在不同的条件和情况下,分别对待预测节点的子节点的占位信息进行预测。其中,第一权重、第二权重以及第三权重均是通过学习训练获得的,在编码器中为预设的固定值,不需要由编码端向解码端传输。
需要说明的是,在本申请的实施例中,虽然第一权重和第二权重均是与距离参数对应的,但是,通过学习训练获得的第一权重和第二权重的取值不同。
可以理解的是,在本申请的实施例中,对于待预测节点中的8个子节点,每一个子节点均对应26个相邻节点具有26个距离参数,因此,每一个子节点均对应有26个预设权重集合。
步骤103、按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重。
在本申请的实施例中,编码器在确定相邻节点所对应的占位信息和编码状态,同时获取与距离参数和已占位子节点的个数对应的预设权重集合之后,便可以按照预设权重集合、编码状态以及占位信息,进一步确定待预测节点的子节点所对应的占位权重。
需要说明的是,在本申请的实施例中,编码器在确定相邻节点对应的编码状态和占位信息之后,可以基于编码状态和占位信息,对子节点的占位权重的计算方式进行选择。具体地,相邻节点是否被占位和相邻节点是否已编码,均会对子节点的占位权重的计算方式产生影响。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为未占位,那么可以直接利用预设权重集合中的第一权重,确定子节点的占位权重。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为已占位,且相邻节点的编码状态为已编码,那么可以直接利用预设权重集合中的第二权重和第三权重,确定子节点的占位权重。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为已占位,且相邻节点的编码状态为未编码,那么可以直接利用预设权重集合中的第二权重,确定子节点的占位权重。
需要说明的是,在本申请的实施例中,对于待预测节点中的8个子节点,每一个子节点均对应26个相邻节点具有26个距离参数,进而每一个子节点均对应有26个预设权重集合,因此,对于每一个子节点,编码器可以利用26个预设权重集合,分别计算获得与26个相邻节点对应的26个权重参数,从而可以基于26个权重参数计算获得该子节点对应的占位权重。
可以理解的是,在本申请的实施例中,编码器可以利用如下公式(3),基于待预测节点的第k个相邻节点k所对应的编码状态和占位信息δ k,对第m个子节点m的权重参数W(d k,mk,n k)进行计算,
Figure PCTCN2019109661-appb-000003
其中,k的取值为1、2、……、26,m的取值为1、2、……、8,d k,m为相邻节点k与待预测节点的子节点m之间的距离参数,如果相邻节点k的编码状态为已编码,则相邻节点k的8个子节点中、已编码的相邻节点k的已占位子节点的个数为n k,W0(d k,m)为第一权重,W1(d k,m)为第二权重,W(n k)为第三权重,可见,第一权重W0(d k,m)和第二权重W1(d k,m)均与d k,m相关,第三权重W(n k)与n k相关。
进一步地,在本申请的实施例中,编码器在计算获得一个子节点的全部26个权重参数W(d k,mk,n k)之后,便可以利用公式(4)对全部26个权重参数进行平均值计算,从而可以获得该子节点对应的占位权重score m
Figure PCTCN2019109661-appb-000004
可以理解的是,在本申请的实施例中,根据相邻节点是否已编码和是否已占位,编码器可以基于预设权重集合,按照不同的计算方式计算获得待预测节点的子节点的占位权重。其中,当相邻节点已占位且已编码时,编码器可以利用该已编码的相邻节点的已占位子节点的个数,进一步确定待预测节点的子节点的占位权重。
在本申请的实施例中,进一步地,编码器在根据第二权重和第三权重,确定占位权重时,可以先利用预设相关系数对第三权重进行修正,获得修正后的权重;然后再根据第二权重和修正后的权重,确定占位权重。
具体地,在本申请的实施例中,对于与已占位子节点的个数相对应的第三权重,编码器可以再增加一个与量化参数相关的预设相关系数进行修正,从而可以在不同的量化程度下给编解码器带来更加显著的增益。基于上述公式(3),编码器可以利用公式(5)对第三权重W(n k)进行修正,获得修正后的权重
Figure PCTCN2019109661-appb-000005
Figure PCTCN2019109661-appb-000006
其中,α是与量化参数相关的预设相关系数。
需要说明的是,在本申请的实施例中,预设相关系数需要写入编码器输出的二进制码流中,以作为解码器的输入,从而在解码端对第三权重进行相同的修正。
步骤104、根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型。
在本申请的实施例中,编码器在按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重之后,便可以根据占位权重和预设占位阈值集合,对子节点进行预测处理,从而可以获得子节点对应的节点类型。
进一步地,在本申请的实施例中,编码器可以先获取预设占位阈值集合,其中,预设占位阈值集合中包括有第一阈值和第二阈值,具体地,第一阈值小于第二阈值。
需要说明的是,在本申请的实施例中,第一阈值和第二阈值均与相邻节点中的、已占位相邻节点的数量相对应。因此,编码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型之前,可以先确定相邻节点中的、占位信息为已占位的节点的数量,即确定出相邻节点中的已占位相邻节点的数量。
进一步地,在本申请的实施例中,编码器在确定出相邻节点中的已占位相邻节点的数量之后,便可以从预设占位阈值集合中,确定出与已占位相邻节点的数量对应的第一阈值和第二阈值。
需要说明的是,在本申请的实施例中,待预测节点的子节点的节点类型可以包括占位、不占位以及不预测三种,其中,占位即表征该子节点的占位信息的预测结果为已占位;不占位即表征该子节点的占位信息的预测结果为未占位;不预测即表征不对该子节点进行占位信息的预测。
进一步地,在本申请的实施例中,编码器可以通过输出0或1表示的“是否预测”与“预测值”用到之后的对占位信息的熵编码当中。其中,可以通过1、1代表“占位”;通过1、0代表“不占位”;通过0、0代表“不预测”。
需要说明的是,在本申请的实施例中,编码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理时,可以将占位权重分别和第一阈值及第二阈值进行比较,获得比较结果,从而可以根据比较结果实现对待预测节点的子节点的预测,获得待预测节点的子节点的节点类型。
进一步地,在本申请的实施例中,编码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重小于第一阈值,那么可以确定节点类型为不占位。
进一步地,在本申请的实施例中,编码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重大于第二阈值,那么可以确定节点类型为占位。
进一步地,在本申请的实施例中,编码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重大于或者等于第一阈值,且小于或者等于第二阈值,那么可以确定节点类型为不预测。
需要说明的是,在本申请的实施例中,当占位权重大于或者等于第一阈值,且小于或者等于第二阈值时,编码器基于第一权重、第二权重以及第三权重并不能对子节点进行占位信息的预测,因此可以确定子节点的节点类型为不预测的节点。
进一步地,在本申请的实施例中,第一阈值和第二阈值均是通过学习训练获得的,在编码器中为预设的固定值,不需要由编码端向解码端传输。
步骤105、基于节点类型,输出待预测节点的预测占位信息。
在本申请的实施例中,编码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型之后,便可以基于节点类型,输出待预测节点的预测占位信息。
需要说明的是,在本申请的实施例中,待预测节点的预测占位信息包括待预测节点的全部8个子节点对应的8个节点类型。
进一步地,在本申请的实施例中,对于待预测节点的任一个子节点,编码器可以利用上述步骤101至步骤104的方法,根据待预测节点周围的26个相邻节点,对该子节点进行占位信息的预测,从而获得该子节点对应的节点类型。具体地,编码器可以先利用26个相邻节点中每一个相邻节点的占位信息、编码状态、与该子节点之间的距离参数,分别确定出该子节点对应的26个权重参数,然后对该子节点对应的26个权重参数进行平均值的计算,获得该子节点对应的占位权重,进而可以通过占位权重与预设占位阈值集合的比较,确定出该子节点对应的节点类型。
需要说明的是,在本申请的实施例中,编码器基于节点类型输出的待预测节点的预测占位信息,是基于上述步骤101至步骤104的方法,通过对待预测节点的全部8个子节点进行占位信息的预测,而完成了对待预测节点的占位信息的预测所获得的待预测节点的占位信息。
可以理解的是,在本申请的实施例中,编码器可以遍历待预测节点的全部8和子节点,直到确定出待预测节点的全部8个子节点对应的全部8个节点类型,最后便可以利用全部8个节点类型,输出待预测节点的预测占位信息。
需要说明的是,在本申请的实施例中,编码器在基于节点类型,输出待预测节点的预测占位信息之后,便可以根据预测占位信息对待预测节点进行几何信息的编码处理,获得码流数据,其中,码流数据可以为二进制码流。
在本申请的实施例中,进一步地,编码器在确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,以及待预测节点的子节点与相邻节点之间的距离参数之前,还可以先确定待预测节点对应的点云序列类型,然后可以获取点云序列类型对应的预设权重集合和预设占位阈值集合。
也就是说,在本申请的实施例中,对于不同的点云序列类型,编码器可以利用对应不同的预设权重集合和预设占位阈值集合对待预测节点进行占位信息的预测,即在对待预测节点进行占位信息的预测时,编码器所使用的第一权重、第二权重、第三权重、第一阈值以及第二阈值,是与该待预测节点所对应的点云序列类型相匹配的,从而在对不同点云序列类型的点云进行压缩时实现更高的增益。
示例性的,引入点云序列空间与实际空间的缩放比r,根据r以及bounding box的长l、宽w、高h来计算点云的实际密度ρ,即
Figure PCTCN2019109661-appb-000007
Figure PCTCN2019109661-appb-000008
其中,根据实际密度可以将点云序列类型分为三类:稀疏,中等,稠密。并对三中不同的点云序列类型分别训练第一权重、第二权重、第三权重、第一阈值以及第二阈值。
需要说明的是,在本申请的实施例中,点云序列类型需要写入编码器输出的二进制码流中,以作为解码器的输入,从而在解码端选择匹配的预设权重集合和预设占位阈值集合进行与编码端相同的帧内预测。
本申请实施例提供了一种占位信息的预测方法,编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、编码状态以及占位信息,确定子节 点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
基于上述实施例,在本申请的另一实施例中,图7为占位信息的帧内预测框架流程图,如图7所示,基于八叉树进行几何信息的编码时,编码器在对待预测节点进行占位信息的帧内预测时,可以输入待预测节点对应的层级,预设莫顿三维地图以及待预测节点的原点坐标,然后基于待预测节点对应的层级,预设莫顿三维地图以及待预测节点的原点坐标,确定待预测节点的相邻节点k所对应的占位信息δ k,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数n k,以及待预测节点的子节点m与相邻节点k之间的距离参数d k,m(步骤301),然后利用上述公式(3),基于n k、d k,m、第一权重W0(d k,m)、第二权重W1(d k,m)以及第三权重W(n k),计算第k个相邻节点k对应的权重参数W(d k,mk,n k)(步骤302),遍历待预测节点的全部26个相邻节点之后,获得相邻节点m对应的26个权重参数(步骤303和步骤304),利用上述公式(4)对26个权重参数进行平均值的计算,获得相邻节点m对应的占位权重score m(步骤305),全部26个相邻节点中的、已占位的相邻节点的个数为No,预设占位阈值集合中与已占位的相邻节点的个数No对应的阈值为第一阈值th0(No)和第二阈值th1(No),编码器通过将占位权重score m分别与第一阈值th0(No)和第二阈值th1(No)进行比较,实现对该子节点m的占位信息的预测,获得该子节点m对应的节点类型(步骤306),遍历待预测节点的全部8个子节点,从而确定出待预测节点中的、每一个子节点对应的节点类型(步骤307和步骤308),最终基于全部8个子节点对应的全部8个节点类型,输出待预测节点的预测占位信息(步骤309),最终可以基于待预测节点对应的预测占位信息进行编码处理,获得码流数据(步骤3010)。
图8为占位信息的帧内预测算法流程图,如图8所示,基于八叉树进行几何信息的编码时,编码器在对待预测节点进行占位信息的帧内预测时,具体可以包括以下步骤:
步骤401、k=1且m=1时,判断待预测节点的第k个相邻节点k对应的占位信息δ k是否为0,即确定相邻节点k是否占位,δ k为0即未占位,δ k=1不为0即已占位;如果δ k为0,则执行步骤404,否则执行步骤402。
步骤402、确定相邻节点k的编码状态,即判断相邻节点k是否已经编码,如果是,则执行步骤403,否则执行步骤405。
步骤403、利用第二权重W1(d k,m)和第三权重W(n k),计算获得与待预测节点的第m个子节点m、相邻节点k对应的权重参数W(d k,mk,n k)。其中,d k,m为子节点m与相邻节点k之间的距离参数,n k为已编码相邻节点的已占位子节点的个数。
步骤404、利用第一权重W0(d k,m),计算获得与子节点m、相邻节点k对应的权重参数W(d k,mk,n k)。
步骤405、利用第二权重W1(d k,m),计算获得与子节点m、相邻节点k对应的权重参数W(d k,mk,n k)。
步骤406、k是否小于26,即是否遍历待预测节点的全部26个相邻节点,如果不是,则执行步骤407,否则执行步骤4013。
步骤407、对子节点m的对应的全部26个权重参数W(d k,mk,n k)进行平均计算,获得占位权重score m
步骤408、占位权重score m是否大于第一阈值th0(No),其中,No为26个相邻节点中的、已占位的相邻节点的个数,如果不是,则执行步骤410,如果是,则执行步骤409。
步骤409、占位权重score m是否小于第二阈值th1(No),如果是,则执行步骤411,如果不是,则执行步骤412。
步骤4010、确定子节点m的节点类型为不占据,即预测子节点m的占位信息为不占位。
步骤4011、确定子节点m的节点类型为占据,即预测子节点m的占位信息为占位。
步骤4012、不对子节点m的占位信息进行预测。
步骤4013、k加1,并继续执行步骤401。
步骤4014、m是否小于8,即是否遍历待预测节点的全部8个子节点,如果是,则执行4016, 如果不是,则执行4015。
步骤4015、m加1,并执行步骤401。
步骤4016、基于待预测节点的全部8个子节点对应的节点类型,输出待预测节点的预测占位信息。
步骤4017、根据预测占位信息进行编码处理,获得码流数据。
在本申请的实施例中,进一步地,本申请提出的占位信息的预测方法,可以进一步利用点云的空间相关性,使基于八叉树几何信息编码的帧内预测结果更适用于熵编码,从而降低了二进制码流的码率,实现更高的增益。表1为本申请提出的占位信息的预测方法在有损压缩下的码率的节省情况BD-Rate,其中,由表1可知,对于不同的目标,在同样的客观质量下,利用本申请提出的占位信息的预测方法,码率均减少。其中,BD-rate为负值时,表征码率减少,性能提高,BD-rate为正值时,表征码率增加,性能下降。
表1
Figure PCTCN2019109661-appb-000009
本申请实施例提供了一种占位信息的预测方法,编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
本申请一实施例提供了一种占位信息的预测方法,该方法应用于解码器中,图9为占位信息的预测方法的实现流程示意图二,如图9所示,解码器预测占位信息的步骤可以包括以下步骤:
步骤501、基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数。
在本申请的实施例中,解码器在基于八叉树进行几何信息的解码时,解码器可以先确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,同时还可以确定待预测节点的子节点与相邻节点之间的距离参数。
需要说明的是,在本申请的实施例中,在点云G-PCC解码器框架中,根据八叉树划分层级深度的不同,几何信息的解码可以分为基于八叉树和基于trisoup则这两种几何信息解码框架。
进一步地,在本申请的实施例中,在基于八叉树的几何信息解码框架中,可以先将bounding box八等分为8个子立方体,并记录每个立方体的占位信息,然后可以对非空的子立方体继续进行八等 分,直到划分得到的叶子节点为1x1x1的单位立方体时停止划分。在这个过程中,解码器可以利用节点与周围节点的空间相关性,对占位信息进行i帧内预测。
需要说明的是,在本申请的实施例中,帧内预测功能并不是一直开启的,而是在划分的层级满足一定条件之后,解码器才使能帧内预测功能。具体地,在本申请的实施例中,解码器可以先确定实时层级,然后可以对实时层级和预设层数阈值进行比较,并根据比较结果确定是否使能帧内预测功能。
进一步地,在本申请的实施例中,解码器所确定的实时层级可以用于表征在通过八叉树划分时所获得的当前层数,进一步地,解码器在将实时层级和预设层数阈值进行比较之后,如果比较结果为实时层级大于或者等于预设层数阈值,那么解码器可以使能帧内预测功能;如果比较结果为实时层级小于预设层数阈值,那么解码器可以不使能帧内预测功能。
需要说明的是,在本申请的实施例中,基于八叉树进行几何信息的解码时,只有通过八叉树划分获得的层数不小于预先设置的层数阈值,解码器才需要进行帧内预测。预设层数阈值可以为大于1的整数,示例性地,预设层数阈值可以取值为6。
进一步地,在本申请的实施例中,基于八叉树进行几何信息的解码时,解码器在帧内预测功能被使能之后,便可以对待预测节点周围的相邻节点进行占位信息和解码状态的确定,同时还可以对待预测节点的子节点和相邻节点之间的距离参数进行确定。其中,由于解码器是进行八叉树的分割,因此,对于待预测节点,其周围存在有26个相邻节点,同时,对该待预测节点继续进行八叉树划分,便可以获得8个子节点,也就是说,在本申请中,待预测节点的子节点是对待预测节点进行八叉树划分获得的8个子节点。
需要说明的是,在本申请的实施例中,由于一个待预测节点周围有26个相邻节点,一个待预测节点包括有8个子节点,因此,解码器可以检测获得26个相邻节点对应的26个占位信息和26个解码状态,同时,对于8个子节点的每一个子节点,均对应有表征与26个相邻节点之间距离的距离参数。
进一步地,在本申请的实施例中,相邻节点的占位信息可以用于表征相邻节点是否被占位,具体地,占位信息可以为已占位或未占位,即可以为非空或空。其中,已占位(非空)可以表示为1,未占位(空)可以表示为0。
需要说明的是,在本申请的实施例中,解码状态用于对相邻节点是否已经解码进行确定,因此,解码状态可以为已解码或未解码。进一步地,在本申请中,对于解码状态为已解码的相邻节点,该相邻节点存在8个子节点,因此,解码状态还可以用于对相邻节点是否具有子节点进行确定。
进一步地,在本申请的实施例中,对于已经解码的相邻节点,即相邻节点中的、已解码相邻节点,解码器还可以进一步确定出该相邻节点的8个子节点所对应的占位信息,从而确定出该相邻节点的8个子节点中有多少个已占位的子节点,即确定相邻节点中的、已解码相邻节点所对应的已占位子节点的个数。
需要说明的是,在本申请的实施例中,解码器在确定待预测节点的相邻节点所对应的占位信息,以及待预测节点的子节点与相邻节点之间的距离参数时,具体可以根据待预测节点的层级参数、预存莫顿三维地图以及待预测节点的原点坐标,确定占位信息和距离参数。也就是说,解码器可以分别输入待预测节点的层级参数、预存莫顿三维地图以及待预测节点在点云中的原点坐标,便可以对相邻节点所对应的占位信息、待预测节点的子节点与相邻节点之间的距离参数进行确定。
可以理解的是,在本申请的实施例中,预存莫顿三维地图可以用来映射(x,y,z)坐标与标志位,具体地,解码器可以基于点云的(x,y,z)坐标,利用莫顿码来确定预存莫顿三维地图。
步骤502、根据距离参数和已占位子节点的个数,获取预设权重集合。
在本申请的实施例中,解码器在确定待预测节点的子节点与相邻节点之间的距离参数之后,可以根据距离参数和已占位子节点的个数,获取预设权重集合。
需要说明的是,在本申请的实施例中,预设权重集合中可以包括有第一权重、第二权重以及第三权重。具体地,预设权重集合是与距离参数和已占位子节点的个数对应的,其中,第一权重和第二权重均与距离参数相对应,第三权重与已占位子节点的个数相对应。
进一步地,在本申请的实施例中,第一权重、第二权重以及第三权重可以用于在不同的条件和情况下,分别对待预测节点的子节点的占位信息进行预测。其中,第一权重、第二权重以及第三权重均是通过学习训练获得的,在解码器中为预设的固定值,不需要由编码端向解码端传输。
需要说明的是,在本申请的实施例中,虽然第一权重和第二权重均是与距离参数对应的,但是, 通过学习训练获得的第一权重和第二权重的取值不同。
可以理解的是,在本申请的实施例中,对于待预测节点中的8个子节点,每一个子节点均对应26个相邻节点具有26个距离参数,因此,每一个子节点均对应有26个预设权重集合。
步骤503、按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重。
在本申请的实施例中,解码器在确定相邻节点所对应的占位信息和解码状态,同时获取与距离参数和已占位子节点的个数对应的预设权重集合之后,便可以按照预设权重集合、解码状态以及占位信息,进一步确定待预测节点的子节点所对应的占位权重。
需要说明的是,在本申请的实施例中,解码器在确定相邻节点对应的解码状态和占位信息之后,可以基于解码状态和占位信息,对子节点的占位权重的计算方式进行选择。具体地,相邻节点是否被占位和相邻节点是否已解码,均会对子节点的占位权重的计算方式产生影响。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为未占位,那么可以直接利用预设权重集合中的第一权重,确定子节点的占位权重。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为已占位,且相邻节点的解码状态为已解码,那么可以直接利用预设权重集合中的第二权重和第三权重,确定子节点的占位权重。
进一步地,在本申请的实施例中,如果相邻节点的占位信息为已占位,且相邻节点的解码状态为未解码,那么可以直接利用预设权重集合中的第二权重,确定子节点的占位权重。
需要说明的是,在本申请的实施例中,对于待预测节点中的8个子节点,每一个子节点均对应26个相邻节点具有26个距离参数,进而每一个子节点均对应有26个预设权重集合,因此,对于每一个子节点,解码器可以利用26个预设权重集合,分别计算获得与26个相邻节点对应的26个权重参数,从而可以基于26个权重参数计算获得该子节点对应的占位权重。
可以理解的是,在本申请的实施例中,解码器可以利用如下公式(8),基于待预测节点的第k个相邻节点k所对应的解码状态和占位信息δ k,对第m个子节点m的权重参数W(d k,mk,n k)进行计算,
Figure PCTCN2019109661-appb-000010
其中,k的取值为1、2、……、26,m的取值为1、2、……、8,d k,m为相邻节点k与待预测节点的子节点m之间的距离参数,如果相邻节点k的解码状态为已解码,则相邻节点k的8个子节点中、已解码的相邻节点k的已占位子节点的个数为n k,W0(d k,m)为第一权重,W1(d k,m)为第二权重,W(n k)为第三权重,可见,第一权重W0(d k,m)和第二权重W1(d k,m)均与d k,m相关,第三权重W(n k)与n k相关。
进一步地,在本申请的实施例中,解码器在计算获得一个子节点的全部26个权重参数W(d k,mk,n k)之后,便可以利用上述公式(4)对全部26个权重参数进行平均值计算,从而可以获得该子节点对应的占位权重score m
可以理解的是,在本申请的实施例中,根据相邻节点是否已解码和是否已占位,解码器可以基于预设权重集合,按照不同的计算方式计算获得待预测节点的子节点的占位权重。其中,当相邻节点已占位且已解码时,解码器可以利用该已解码的相邻节点的已占位子节点的个数,进一步确定待预测节点的子节点的占位权重。
在本申请的实施例中,进一步地,解码器在根据第二权重和第三权重,确定占位权重时,可以先利用预设相关系数对第三权重进行修正,获得修正后的权重;然后再根据第二权重和修正后的权重,确定占位权重。
具体地,在本申请的实施例中,对于与已占位子节点的个数相对应的第三权重,解码器可以再增加一个与量化参数相关的预设相关系数进行修正,从而可以在不同的量化程度下给编解码器带来更加显著的增益。基于上述公式(3),解码器可以利用公式(5)对第三权重W(n k)进行修正,获得修正后的权重
Figure PCTCN2019109661-appb-000011
需要说明的是,在本申请的实施例中,预设相关系数需要写入编码器输出的二进制码流中,以作为解码器的输入,从而在解码端对第三权重进行相同的修正。
步骤504、根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型。
在本申请的实施例中,解码器在按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重之后,便可以根据占位权重和预设占位阈值集合,对子节点进行预测处理,从而可以获得子节点对应的节点类型。
进一步地,在本申请的实施例中,解码器可以先获取预设占位阈值集合,其中,预设占位阈值集合中包括有第一阈值和第二阈值,具体地,第一阈值小于第二阈值。
需要说明的是,在本申请的实施例中,第一阈值和第二阈值均与相邻节点中的、已占位相邻节点的数量相对应。因此,解码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型之前,可以先确定相邻节点中的、占位信息为已占位的节点的数量,即确定出相邻节点中的已占位相邻节点的数量。
进一步地,在本申请的实施例中,解码器在确定出相邻节点中的已占位相邻节点的数量之后,便可以从预设占位阈值集合中,确定出与已占位相邻节点的数量对应的第一阈值和第二阈值。
需要说明的是,在本申请的实施例中,待预测节点的子节点的节点类型可以包括占位、不占位以及不预测三种,其中,占位即表征该子节点的占位信息的预测结果为已占位;不占位即表征该子节点的占位信息的预测结果为未占位;不预测即表征不对该子节点进行占位信息的预测。
需要说明的是,在本申请的实施例中,解码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理时,可以将占位权重分别和第一阈值及第二阈值进行比较,获得比较结果,从而可以根据比较结果实现对待预测节点的子节点的预测,获得待预测节点的子节点的节点类型。
进一步地,在本申请的实施例中,解码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重小于第一阈值,那么可以确定节点类型为不占位。
进一步地,在本申请的实施例中,解码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重大于第二阈值,那么可以确定节点类型为占位。
进一步地,在本申请的实施例中,解码器在将占位权重分别和第一阈值及第二阈值进行比较之后,如果比较结果为占位权重大于或者等于第一阈值,且小于或者等于第二阈值,那么可以确定节点类型为不预测。
需要说明的是,在本申请的实施例中,当占位权重大于或者等于第一阈值,且小于或者等于第二阈值时,解码器基于第一权重、第二权重以及第三权重并不能对子节点进行占位信息的预测,因此可以确定子节点的节点类型为不预测的节点。
进一步地,在本申请的实施例中,第一阈值和第二阈值均是通过学习训练获得的,在解码器中为预设的固定值,不需要由编码端向解码端传输。
步骤505、基于节点类型,输出待预测节点的预测占位信息。
在本申请的实施例中,解码器在根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型之后,便可以基于节点类型,输出待预测节点的预测占位信息。
需要说明的是,在本申请的实施例中,待预测节点的预测占位信息包括待预测节点的全部8个子节点对应的8个节点类型。
进一步地,在本申请的实施例中,对于待预测节点的任一个子节点,解码器可以利用上述步骤501至步骤504的方法,根据待预测节点周围的26个相邻节点,对该子节点进行占位信息的预测,从而获得该子节点对应的节点类型。具体地,解码器可以先利用26个相邻节点中每一个相邻节点的占位信息、解码状态、与该子节点之间的距离参数,分别确定出该子节点对应的26个权重参数,然后对该子节点对应的26个权重参数进行平均值的计算,获得该子节点对应的占位权重,进而可以通过占位权重与预设占位阈值集合的比较,确定出该子节点对应的节点类型。
需要说明的是,在本申请的实施例中,解码器基于节点类型输出的待预测节点的预测占位信息,是基于上述步骤501至步骤504的方法,通过对待预测节点的全部8个子节点进行占位信息的预测,而完成了对待预测节点的占位信息的预测所获得的待预测节点的占位信息。
可以理解的是,在本申请的实施例中,解码器可以遍历待预测节点的全部8和子节点,直到确定出待预测节点的全部8个子节点对应的全部8个节点类型,最后便可以利用全部8个节点类型,输出待预测节点的预测占位信息。
需要说明的是,在本申请的实施例中,解码器在基于节点类型,输出待预测节点的预测占位信息之后,便可以根据预测占位信息对待预测节点进行几何信息的解码处理。
在本申请的实施例中,进一步地,解码器在确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,以及待预测节点的子节点与相邻节点之间的距离参数之前,还可以先确定待预测节点对应的点云序列类型,然后可以获取点云序列类型对应的预设权重集合和预设占位阈值集合。
也就是说,在本申请的实施例中,对于不同的点云序列类型,解码器可以利用对应不同的预设权重集合和预设占位阈值集合对待预测节点进行占位信息的预测,即在对待预测节点进行占位信息的预测时,解码器所使用的第一权重、第二权重、第三权重、第一阈值以及第二阈值,是与该待预测节点所对应的点云序列类型相匹配的,从而在对不同点云序列类型的点云进行压缩时实现更高的增益。
其中,根据实际密度可以将点云序列类型分为三类:稀疏,中等,稠密。并对三中不同的点云序列类型分别训练第一权重、第二权重、第三权重、第一阈值以及第二阈值。
需要说明的是,在本申请的实施例中,点云序列类型需要写入编码器输出的二进制码流中,以作为解码器的输入,从而在解码端选择匹配的预设权重集合和预设占位阈值集合进行与编码端相同的帧内预测。
本申请实施例提供了一种占位信息的预测方法,解码器基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
基于上述实施例,本申请的再一实施例提出了一种编码器,图10为编码器的组成结构示意图一,如图10所示,本申请实施例提出的编码器300可以包括第一确定部分301、第一获取部分302以及第一输出部分303。
所述第一确定部分301,配置为基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
所述第一获取部分302,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
所述第一确定部分301,还配置为按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
所述第一获取部分302,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
所述第一输出部分303,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
图11为编码器的组成结构示意图二,如图11所示,本申请实施例提出的编码器300还可以包括第一处理器304、存储有第一处理器304可执行指令的第一存储器305、第一通信接口306,和用于连接第一处理器304、第一存储器305以及第一通信接口306的第一总线307。
进一步地,在本申请的实施例中,上述第一处理器304,用于基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;基于所述节点类型,输出所述待预测节点的预测占位信息。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包 括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供了一种编码器,该编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、编码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
基于上述实施例,在本申请的另一实施例中,图12为解码器的组成结构示意图一,如图12所示,本申请实施例提出的解码器400可以包括第二确定部分401,第二获取部分402以及第二输出部分403。
所述第二确定部分401,配置为基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
所述第二获取部分402,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
所述第二确定部分401,还配置为按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
所述第二获取部分402,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
所述第二输出部分403,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
图12为解码器的组成结构示意图二,如图12所示,本申请实施例提出的解码器400还可以包括第二处理器404、存储有第二处理器404可执行指令的第二存储器405、第二通信接口406,和用于连接第二处理器404、第饿存储器405以及第二通信接口406的第二总线407。
进一步地,在本申请的实施例中,上述第二处理器404,用于基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;基于所述节点类型,输出所述待预测节点的预测占位信息。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供了一种解码器,该解码器基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也 引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。
本申请实施例提供计算机可读存储介质和计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述实施例所述的方法。
具体来讲,本实施例中的一种占位信息的预测方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种占位信息的预测方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
基于所述节点类型,输出所述待预测节点的预测占位信息。
当存储介质中的与一种占位信息的预测方法对应的程序指令被一电子设备读取或被执行时,还包括如下步骤:
基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
基于所述节点类型,输出所述待预测节点的预测占位信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
工业实用性
本申请实施例提供了一种占位信息的预测方法、编码器、解码器及存储介质,编码器基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的编码状态,相邻节点中的、已编码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集 合、编码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。解码器基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,相邻节点的解码状态,相邻节点中的、已解码相邻节点的已占位子节点的个数,以及待预测节点的子节点与相邻节点之间的距离参数;根据距离参数和已占位子节点的个数,获取预设权重集合;按照预设权重集合、解码状态以及占位信息,确定子节点对应的占位权重;根据占位权重和预设占位阈值集合,对子节点进行预测处理,获得子节点对应的节点类型;基于节点类型,输出待预测节点的预测占位信息。由此可见,在本申请的实施例中,编解码器在利用相邻节点的占位信息对待预测节点进行占位信息的帧内预测时,可以将相邻节点的编解码状态也引入到预测过程中,具体地,如果相邻节点的编解码状态为已编解码,则可以将该相邻节点所对应的子节点的占位情况加入至权重计算和阈值比较的过程中,实现了相邻节点的空间相关性的充分利用,从而提升了帧内预测的准确性,进而提高了编码效率。

Claims (30)

  1. 一种占位信息的预测方法,应用于编码器中,所述方法包括:
    基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
    根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
    按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
    根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
    基于所述节点类型,输出所述待预测节点的预测占位信息。
  2. 根据权利要求1所述的方法,其中,所述预设权重集合包括:第一权重、第二权重以及第三权重;其中,所述第一权重和所述第二权重对应于所述距离参数;所述第一权重与所述第二权重的取值不同;所述第三权重对应于所述已占位子节点的个数。
  3. 根据权利要求2所述的方法,其中,所述按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为未占位,则根据所述第一权重,确定所述占位权重。
  4. 根据权利要求2所述的方法,其中,所述按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为已占位,且所述编码状态为已编码,则根据所述第二权重和所述第三权重,确定所述占位权重。
  5. 根据权利要求2所述的方法,其中,所述按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为已占位,且所述编码状态为未编码,则根据所述第二权重,确定所述占位权重。
  6. 根据权利要求1所述的方法,其中,所述根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型,包括:
    确定所述相邻节点中的、所述占位信息为已占位的节点的数量;
    从所述预设占位阈值集合中确定与所述数量对应的第一阈值和第二阈值;其中,所述第一阈值小于所述第二阈值;
    根据所述占位权重、所述第一阈值以及所述第二阈值,获得所述节点类型。
  7. 根据权利要求6所述的方法,其特征在于,所述根据所述占位权重、所述第一阈值以及所述第二阈值,获得所述节点类型,包括:
    若所述占位权重小于所述第一阈值,则确定所述节点类型为不占位;
    若所述占位权重大于所述第二阈值,则确定所述节点类型为占位;
    若所述占位权重大于或者等于所述第一阈值,且小于或者等于所述第二阈值,则确定所述节点类型为不预测。
  8. 根据权利要求1所述的方法,其中,所述基于所述节点类型,输出所述待预测节点的预测占位信息之后,所述方法还包括:
    根据所述预测占位信息对所述待预测节点进行所述几何信息的编码处理,获得码流数据。
  9. 根据权利要求1所述的方法,其中,所述基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,以及所述待预测节点的子节点与所述相邻节点之间的距离参数之前,所述方法还包括:
    确定实时层级;其中,所述实时层级表征通过八叉树划分获得的层数;
    当所述实时层级大于或者等于预设层数阈值时,使能帧内预测功能。
  10. 根据权利要求1所述的方法,其特征在于,所述确定所述待预测节点的相邻节点所对应的占位信息,以及所述待预测节点的子节点与所述相邻节点之间的距离参数,包括:
    根据待预测节点的层级参数、预存莫顿三维地图以及待预测节点的原点坐标,确定所述占位信息和所述距离参数。
  11. 根据权利要求4所述的方法,其特征在于,所述根据所述第二权重和所述第三权重,确定所述占位权重,包括:
    利用预设相关系数对所述第三权重进行修正,获得修正后的权重;
    根据所述第二权重和所述修正后的权重,确定所述占位权重。
  12. 根据权利要求1所述的方法,其特征在于,所述确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,以及所述待预测节点的子节点与所述相邻节点之间的距离参数之前,所述方法还包括:
    确定所述待预测节点对应的点云序列类型;
    获取所述点云序列类型对应的所述预设权重集合和所述预设占位阈值集合。
  13. 一种占位信息的预测方法,应用于解码器中,所述方法包括:
    基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
    根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
    按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
    根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
    基于所述节点类型,输出所述待预测节点的预测占位信息。
  14. 根据权利要求13所述的方法,其中,所述预设权重集合包括:第一权重、第二权重以及第三权重;其中,所述第一权重和所述第二权重对应于所述距离参数;所述第一权重与所述第二权重的取值不同;所述第三权重对应于所述已占位子节点的个数。
  15. 根据权利要求14所述的方法,其中,所述按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为未占位,则根据所述第一权重,确定所述占位权重。
  16. 根据权利要求14所述的方法,其中,所述按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为已占位,且所述解码状态为已解码,则根据所述第二权重和所述第三权重,确定所述占位权重。
  17. 根据权利要求14所述的方法,其中,所述按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重,包括:
    若所述占位信息为已占位,且所述解码状态为未解码,则根据所述第二权重,确定所述占位权重。
  18. 根据权利要求13所述的方法,其中,所述根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型,包括:
    确定所述相邻节点中的、所述占位信息为已占位的节点的数量;
    从所述预设占位阈值集合中确定与所述数量对应的第一阈值和第二阈值;其中,所述第一阈值小于所述第二阈值;
    根据所述占位权重、所述第一阈值以及所述第二阈值,获得所述节点类型。
  19. 根据权利要求18所述的方法,其中,所述根据所述占位权重、所述第一阈值以及所述第二阈值,获得所述节点类型,包括:
    若所述占位权重小于所述第一阈值,则确定所述节点类型为不占位;
    若所述占位权重大于所述第二阈值,则确定所述节点类型为占位;
    若所述占位权重大于或者等于所述第一阈值,且小于或者等于所述第二阈值,则确定所述节点类型为不预测。
  20. 根据权利要求13所述的方法,其中,所述基于所述节点类型,输出所述待预测节点的预测占位信息之后,所述方法还包括:
    根据所述预测占位信息对所述待预测节点进行所述几何信息的解码处理。
  21. 根据权利要求13所述的方法,其中,所述基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,以及所述待预测节点的子节点与所述相邻节点之间的距离参数之前,所述方法还包括:
    确定实时层级;其中,所述实时层级表征通过八叉树划分获得的层数;
    当所述实时层级大于或者等于预设层数阈值时,使能帧内预测功能。
  22. 根据权利要求13所述的方法,其特征在于,所述确定所述待预测节点的相邻节点所对应的占位信息,以及所述待预测节点的子节点与所述相邻节点之间的距离参数,包括:
    根据待预测节点的层级参数、预存莫顿三维地图以及待预测节点的原点坐标,确定所述占位信息和所述距离参数。
  23. 根据权利要求16所述的方法,其特征在于,所述根据所述第二权重和所述第三权重,确定所述占位权重,包括:
    利用预设相关系数对所述第三权重进行修正,获得修正后的权重;
    根据所述第二权重和所述修正后的权重,确定所述占位权重。
  24. 根据权利要求13所述的方法,其特征在于,所述确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,以及所述待预测节点的子节点与所述相邻节点之间的距离参数之前,所述方法还包括:
    确定所述待预测节点对应的点云序列类型;
    获取所述点云序列类型对应的所述预设权重集合和所述预设占位阈值集合。
  25. 一种编码器,所述编码器包括:第一确定部分,第一获取部分,第一输出部分,
    所述第一确定部分,配置为基于八叉树进行几何信息的编码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的编码状态,所述相邻节点中的、已编码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
    所述第一获取部分,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
    所述第一确定部分,还配置为按照所述预设权重集合、所述编码状态以及所述占位信息,确定所述子节点对应的占位权重;
    所述第一获取部分,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
    所述第一输出部分,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
  26. 一种解码器,所述解码器包括:第二确定部分,第二获取部分,第二输出部分,
    所述第二确定部分,配置为基于八叉树进行几何信息的解码时,确定待预测节点的相邻节点所对应的占位信息,所述相邻节点的解码状态,所述相邻节点中的、已解码相邻节点的已占位子节点的个数,以及所述待预测节点的子节点与所述相邻节点之间的距离参数;
    所述第二获取部分,配置为根据所述距离参数和所述已占位子节点的个数,获取预设权重集合;
    所述第二确定部分,还配置为按照所述预设权重集合、所述解码状态以及所述占位信息,确定所述子节点对应的占位权重;
    所述第二获取部分,还配置为根据所述占位权重和预设占位阈值集合,对所述子节点进行预测处理,获得所述子节点对应的节点类型;
    所述第二输出部分,配置为基于所述节点类型,输出所述待预测节点的预测占位信息。
  27. 一种编码器,所述编码器包括第一处理器、存储有所述第一处理器可执行指令的第一存储器,当所述指令被所述第一处理器执行时,实现如权利要求1-12任一项所述的方法。
  28. 一种解码器,所述解码器包括第二处理器、存储有所述第二处理器可执行指令的第二存储器,当所述指令被所述第二处理器执行时,实现如权利要求13-24任一项所述的方法。
  29. 一种计算机可读存储介质,其上存储有程序,应用于编码器中,所述程序被处理器执行时,实现如权利要求1-12任一项所述的方法。
  30. 一种计算机可读存储介质,其上存储有程序,应用于解码器中,所述程序被处理器执行时,实现如权利要求13-24任一项所述的方法。
PCT/CN2019/109661 2019-09-30 2019-09-30 占位信息的预测方法、编码器、解码器、及存储介质 WO2021062743A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19947488.3A EP4040683A4 (en) 2019-09-30 2019-09-30 OCCUPANCY INFORMATION PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIA
PCT/CN2019/109661 WO2021062743A1 (zh) 2019-09-30 2019-09-30 占位信息的预测方法、编码器、解码器、及存储介质
CN201980100409.1A CN114402532A (zh) 2019-09-30 2019-09-30 占位信息的预测方法、编码器、解码器、及存储介质
US17/655,345 US11742878B2 (en) 2019-09-30 2022-03-17 Occupancy information prediction method, encoder, decoder, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/109661 WO2021062743A1 (zh) 2019-09-30 2019-09-30 占位信息的预测方法、编码器、解码器、及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/655,345 Continuation US11742878B2 (en) 2019-09-30 2022-03-17 Occupancy information prediction method, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2021062743A1 true WO2021062743A1 (zh) 2021-04-08

Family

ID=75336671

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/109661 WO2021062743A1 (zh) 2019-09-30 2019-09-30 占位信息的预测方法、编码器、解码器、及存储介质

Country Status (4)

Country Link
US (1) US11742878B2 (zh)
EP (1) EP4040683A4 (zh)
CN (1) CN114402532A (zh)
WO (1) WO2021062743A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023098807A1 (zh) * 2021-12-03 2023-06-08 维沃移动通信有限公司 点云编、解码处理方法、装置、编码设备及解码设备
WO2023131126A1 (en) * 2022-01-04 2023-07-13 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4090019A4 (en) 2020-01-06 2023-09-06 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD AND DEVICE FOR INTRAFRAME PREDICTION, ENCODER, DECODER AND STORAGE MEDIUM
CN113259678A (zh) * 2020-02-10 2021-08-13 腾讯美国有限责任公司 对点云信息进行编解码的方法和装置
KR20220157490A (ko) * 2020-03-24 2022-11-29 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 예측 방법, 장치, 인코더, 디코더 및 저장 매체
WO2024065269A1 (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
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN108335335A (zh) * 2018-02-11 2018-07-27 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
CN108632621A (zh) * 2018-05-09 2018-10-09 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法
US20190156520A1 (en) * 2017-11-22 2019-05-23 Apple Inc. Point cloud occupancy map compression
CN110097605A (zh) * 2019-05-05 2019-08-06 山东大学深圳研究院 一种基于支持向量机的点云压缩编码器关键参数优化方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111333B2 (en) * 2011-11-07 2015-08-18 Thomson Licensing Predictive position encoding
CA3078455A1 (en) * 2017-10-24 2019-05-02 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
EP3816940A4 (en) * 2018-06-27 2021-09-08 Panasonic Intellectual Property Corporation of America METHOD FOR CODING THREE-DIMENSIONAL DATA, METHOD FOR DECODING THREE-DIMENSIONAL DATA, DEVICE FOR CODING THREE-DIMENSIONAL DATA AND DEVICE FOR DECODING THREE-DIMENSIONAL DATA
EP3595180B1 (en) * 2018-07-10 2021-12-08 BlackBerry Limited Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
CN109257604B (zh) 2018-11-20 2020-11-27 山东大学 一种基于tmc3点云编码器的颜色属性编码方法
US20220417557A1 (en) * 2019-06-21 2022-12-29 Lg Electronics Inc. Device and method for processing point cloud data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US20190156520A1 (en) * 2017-11-22 2019-05-23 Apple Inc. Point cloud occupancy map compression
CN108335335A (zh) * 2018-02-11 2018-07-27 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
CN108632621A (zh) * 2018-05-09 2018-10-09 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法
CN110097605A (zh) * 2019-05-05 2019-08-06 山东大学深圳研究院 一种基于支持向量机的点云压缩编码器关键参数优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KHALED MAMMOU, PHILIP A. CHOU, DAVID FLYNN, MAJA KRIVOKUĆA, OHJI NAKAGAMI AND TOSHIYASU SUGIO: "G-PCC codec description v2", ISO/IEC JTC1/SC29/WG11 N18189, 31 January 2019 (2019-01-31), Marrakech, MA, pages 1 - 39, XP055741386 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023098807A1 (zh) * 2021-12-03 2023-06-08 维沃移动通信有限公司 点云编、解码处理方法、装置、编码设备及解码设备
WO2023131126A1 (en) * 2022-01-04 2023-07-13 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding

Also Published As

Publication number Publication date
CN114402532A (zh) 2022-04-26
EP4040683A1 (en) 2022-08-10
EP4040683A4 (en) 2022-11-02
US11742878B2 (en) 2023-08-29
US20220247427A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
WO2021062743A1 (zh) 占位信息的预测方法、编码器、解码器、及存储介质
JP7330306B2 (ja) 変換方法、逆変換方法、エンコーダ、デコーダ及び記憶媒体
WO2021000658A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
EP3420726B1 (en) Shape-adaptive model-based codec for lossy and lossless compression of images
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
US11936850B2 (en) Methods for intra prediction, and encoder
US20230237705A1 (en) Methods for level partition of point cloud, and decoder
US20220207781A1 (en) Transform method, inverse transform method, encoder, decoder and storage medium
WO2021062771A1 (zh) 颜色分量预测方法、编码器、解码器及计算机存储介质
US11917198B2 (en) Method and device for intra prediction
US20220337884A1 (en) Intra prediction method and decoder
CN113453009B (zh) 基于拟合平面几何误差最小的点云空间可伸缩编码几何重构方法
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
WO2022141461A1 (zh) 点云编解码方法、编码器、解码器以及计算机存储介质
WO2021184380A1 (zh) 点云编码方法和解码方法、编码器、解码器、及存储介质
WO2022170511A1 (zh) 点云解码方法、解码器及计算机存储介质
WO2022233004A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
CN113542756B (zh) 基于平面拟合中心坐标投影的点云空间可伸缩编码几何重构方法
WO2024011739A1 (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: 19947488

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

Country of ref document: EP

Effective date: 20220502