WO2021138787A1 - 一种帧内预测方法、编码器、解码器及存储介质 - Google Patents

一种帧内预测方法、编码器、解码器及存储介质 Download PDF

Info

Publication number
WO2021138787A1
WO2021138787A1 PCT/CN2020/070556 CN2020070556W WO2021138787A1 WO 2021138787 A1 WO2021138787 A1 WO 2021138787A1 CN 2020070556 W CN2020070556 W CN 2020070556W WO 2021138787 A1 WO2021138787 A1 WO 2021138787A1
Authority
WO
WIPO (PCT)
Prior art keywords
current
node
neighbor
intra
coordinate information
Prior art date
Application number
PCT/CN2020/070556
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 CN202080090168.XA priority Critical patent/CN114868389A/zh
Priority to EP20912642.4A priority patent/EP4087240A4/en
Priority to PCT/CN2020/070556 priority patent/WO2021138787A1/zh
Publication of WO2021138787A1 publication Critical patent/WO2021138787A1/zh
Priority to US17/810,791 priority patent/US20220337884A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the embodiments of the present application relate to video coding and decoding technologies in the communication field, and in particular, to an intra-frame prediction method, an encoder, a decoder, and a storage medium.
  • G-PCC Point Cloud Compression
  • the coding of geometric information can be divided into two frameworks: geometric information coding based on octrees and geometric information coding based on trisoup (triangle soup).
  • the geometric information is coordinated so that all the point clouds are contained in a bounding box, and then the coordinates are quantified. Due to quantization rounding, there will be points with the same coordinates after quantization. Therefore, it is determined whether to remove duplicate points according to the initial setting parameters. The process of quantizing and removing duplicate points is called the voxelization process.
  • the embodiments of the present application provide an intra-frame prediction method, an encoder, a decoder, and a storage medium, which can reduce the complexity of intra-frame prediction during encoding and decoding processing, and improve the efficiency of intra-frame prediction.
  • an embodiment of the present application provides an intra-frame prediction method applied to an encoder, including:
  • an embodiment of the present application also provides an intra-frame prediction method applied to a decoder, including:
  • an encoder including:
  • the first determining unit is configured to determine the three-dimensional Morton code of the point cloud to be encoded
  • the first acquiring unit is configured to acquire the coordinate information of the current node and the current level corresponding to the current node when performing octree division;
  • the first determining unit is further configured to determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then based on the three-dimensional Morton code and the coordinate information of the current node, the Determine the current number of current neighbor nodes participating in intra prediction; wherein, the current level is positively correlated with the current number;
  • the first intra-frame prediction unit is configured to perform intra-frame prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine an intra-frame prediction result.
  • an embodiment of the present application provides a decoder, including:
  • the parsing unit is configured to analyze the three-dimensional Morton code of the point cloud to be decoded
  • the second acquiring unit is configured to acquire the coordinate information of the current node and the current level corresponding to the current node when performing octree division;
  • the second determining unit is configured to determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then determine the participation based on the three-dimensional Morton code and the coordinate information of the current node The current number of current neighbor nodes of intra-frame prediction; wherein, the current level is positively correlated with the current number;
  • the second intra prediction unit is configured to perform intra prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine an intra prediction result.
  • an encoder including:
  • the first memory is used to store executable instructions
  • the first processor is configured to implement the intra-frame prediction method on the encoder side when executing the executable instructions stored in the first memory.
  • an embodiment of the present application also provides a decoder, including:
  • the second memory is used to store executable instructions
  • the second processor is configured to implement the intra-frame prediction method described on the decoder side when executing the executable instructions stored in the second memory.
  • an embodiment of the present application provides a storage medium storing executable instructions for causing the first processor to execute the intra-frame prediction method described on the encoder side; or, for causing the second When the processor is executed, the intra-frame prediction method described on the decoder side is implemented.
  • the embodiments of the present application provide an intra-frame prediction method, an encoder, a decoder, and a storage medium.
  • the method includes: determining the three-dimensional Morton code of the point cloud to be encoded; and obtaining the coordinate information of the current node when the octree is divided , And the current level corresponding to the current node; based on the current level, determine the current number of neighbor nodes of the parent node corresponding to the current node, and then determine the current number of participating in intra prediction based on the three-dimensional Morton code and the coordinate information of the current node
  • the current neighbor node among them, the current level is positively correlated with the current number; based on the coordinate information of the current node and the current neighbor node, intra prediction is performed on the current node, and the intra prediction result is determined.
  • FIG. 1 is a block diagram of an exemplary encoding process provided by an embodiment of the application
  • FIG. 2 is a block diagram of an exemplary decoding process provided by an embodiment of the application.
  • FIG. 3 is a flowchart of an intra-frame pre-prediction method provided by an embodiment of the application
  • FIG. 4 is a schematic diagram 1 of an exemplary octree division provided by an embodiment of the application.
  • FIG. 5 is a second schematic diagram of an exemplary octree division provided by an embodiment of the application.
  • FIG. 6 is a flowchart of an intra-frame pre-prediction method further provided by an embodiment of the application.
  • FIG. 7 is a first structural diagram of an encoder provided by an embodiment of the application.
  • FIG. 8 is a second schematic structural diagram of an encoder provided by an embodiment of the application.
  • FIG. 9 is a first structural diagram of a decoder provided by an embodiment of this application.
  • FIG. 10 is a second structural diagram of a decoder provided by an embodiment of this application.
  • each slice is encoded independently.
  • the point cloud data to be encoded is first divided into slices, and the point cloud data is divided into multiple slices.
  • the geometric information of the point cloud and the attribute information corresponding to each point cloud are separately coded.
  • 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.
  • 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, the points in the leaf nodes are intra-predicted, and the points of the leaf nodes are arithmetic-coded based on the intra-frame prediction results 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 (triangle soup, triangular face set), octree division must also be performed first, but different from the geometric information encoding based on octree, the trisoup does not need to step by step the point cloud Divide into a unit cube with a side length of 1x1x1, but divide it into a block (sub-block) when the side length is W, and stop dividing.
  • the geometric coding is completed, and after the geometric information is reconstructed, color conversion is performed, and the color information (that is, the attribute information) is converted from the RGB color space to the YUV color space. Then, use the reconstructed geometric information to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information.
  • the color information coding process there are mainly two transformation methods. One is the distance-based lifting transformation that relies on the level of detail (LOD) division, and the other is the direct region adaptive hierarchal transformation (Region Adaptive Hierarchal Transform).
  • RAHT RAHT
  • these two methods will transform the color information from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through the transformation, and finally quantize the coefficients (ie, quantized coefficients), and finally, pass through the octree
  • 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.
  • 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 decoder obtains the binary code stream, and independently decodes the geometric bit stream and the attribute bit stream in the binary code stream.
  • the inverse coordinate transformation is performed to obtain the geometric information of the point cloud; in the decoding of the attribute bit stream.
  • the attribute information of the point cloud is obtained, and the three-dimensional image model of the point cloud data to be encoded is restored based on the geometric information and attribute information.
  • An intra-frame prediction method provided in an embodiment of the present application mainly acts on the intra-frame prediction part in FIG. 1 and FIG. 2.
  • the embodiment of the present application provides an intra-frame prediction method, which is applied to an encoder. As shown in FIG. 3, the method may include:
  • the point cloud data of the three-dimensional image model to be encoded is obtained, and the geometric information and attribute information of the three-dimensional image model can be included in the point cloud data.
  • the geometric information of the point cloud and the attribute information corresponding to each point are separately encoded.
  • the intra prediction based on the octree geometric information coding is implemented by using the intra prediction method provided in the embodiment of the present application.
  • the encoder when it obtains the geometric information of the point cloud, it can obtain the Morton code corresponding to each point in the point cloud by using the coordinate information of the point.
  • Morton coding is also called z-order code, because its coding order is based on spatial z order.
  • the specific method of calculating the Morton code is described as follows. For each component of the three-dimensional coordinate represented by a d-bit binary number, the representation of the three components is realized as follows:
  • Morton code M is to start from the highest position of x, y, z, and alternately arrange x l , y l , z l to the lowest position in turn.
  • the calculation formula of M is shown in formula (1):
  • the encoder can determine its three-dimensional Morton code
  • the encoder divides the bounding box into eight sub-cubes as shown in Figure 4, and continues to divide the non-empty (contains points in the point cloud) sub-cube into eight equal parts until the divided leaf nodes are 1x1x1
  • the tree structure of the octree is shown in Figure 5.
  • the encoder enters the process of octree division after performing slice division, coordinate conversion, and voxelization on the point cloud data to be encoded.
  • the octree Each level of has at least one node.
  • the encoder can obtain the coordinate information of the current node in the division process based on the geometric information, and obtain the current level divided by the current node.
  • the level can be understood as the number of levels of the tree.
  • the encoder can obtain the coordinate information of the current node and the current level corresponding to the current node in real time. There is only one node in the first level, and then each level is implemented based on dividing each node of the previous level into 8 nodes.
  • S103 Determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then determine the current number of current neighbor nodes participating in intra prediction based on the three-dimensional Morton code and the coordinate information of the current node; The level is positively correlated with the current quantity.
  • the encoder After the encoder knows the current level of the current node, it can obtain its parent node at the upper level. Based on the parent node, multiple current neighbor nodes adjacent to the parent node can be determined. The encoder can be based on The current level, that is, the depth of the current node, determines the number of neighbor nodes of the parent node that needs to be used, that is, the current number.
  • the encoder can determine the number of neighbor nodes used by the current node when performing intra-frame prediction according to the actual octree division depth of the point cloud data.
  • the encoder can determine the current number of neighbor nodes of the parent node corresponding to the current node according to the current level. Then, the encoder determines all the neighbor nodes of the parent node based on the three-dimensional Morton code and the coordinate information of the current node. The current number of current neighbor nodes adjacent to the current node need to participate in the intra prediction of the current node; wherein, the current level is positively correlated with the current number, that is, the higher the current level, the greater the current number.
  • the encoder may use the following two methods to determine the current number of current neighbor nodes.
  • Method 1 When the current level is greater than or equal to the preset prediction level, and less than or equal to the preset level, the encoder determines that the current number of neighbor nodes of the parent node corresponding to the current node is the first preset number; the encoder uses the three-dimensional Morton code, The preset shift parameter and the coordinate information of the current node determine the first preset number of first neighbor nodes adjacent to the current node among the neighbor nodes of the parent node of the current node; when the current level is greater than the preset level, the encoder Determine that the current number of neighbor nodes of the parent node corresponding to the current node is the second preset number; the encoder determines the current node’s parent node’s neighbor nodes according to the three-dimensional Morton code, preset shift parameters, and the coordinate information of the current node A second preset number of second neighbor nodes; where the first preset number is less than the second preset number, and the current neighbor node is the first neighbor node or the second neighbor node.
  • the encoder enables intra prediction when the octree is divided into the preset prediction level, that is, when the encoder is performing the octree division, only when the octree is divided into the preset prediction level Before starting intra prediction.
  • the preset prediction level is the preset number L of levels. Or, starting to perform intra-frame prediction on a node with a depth of 26, etc., the embodiment of the present application does not limit it.
  • the encoder determines the neighbor of the parent node corresponding to the current node
  • the current number of nodes is the first preset number, and then the encoder can determine the neighbor node of the parent node of the current node according to the three-dimensional Morton code and preset shift parameters, combined with the coordinate information of the current node, and then from the 26 neighbor nodes , The first preset number of first neighbor nodes adjacent to the current node are determined.
  • the encoder determines that the current number of neighbor nodes of the parent node corresponding to the current node is the second preset number; where the first preset number is less than the second preset number, the encoder can Morton code, preset shift parameters, and coordinate information of the current node to determine the second preset number of second neighbor nodes among the neighbor nodes of the parent node of the current node; take the first neighbor node or the second neighbor node as the current neighbor node.
  • the first preset number may be 6, and the second preset number may be 26.
  • the embodiment of the present application does not limit the specific values of the first preset number and the second preset number, as long as the first preset number The number is set to be less than the second preset number, and the first preset number and the second preset number do not exceed 26.
  • the current level is L and the preset level is L0
  • L >L0 use all 26 neighbor nodes to perform intra prediction on the current node.
  • the encoder may divide the current node meeting the preset prediction level into different levels or adopt different multiple preset levels based on the current number of layers, and divide multiple preset numbers of neighbor nodes,
  • the embodiment of this application only illustrates the description of dividing the hierarchy into two levels, but the embodiment of this application does not limit the division level of the hierarchy.
  • the encoder uses less neighbor node information to perform intra prediction in the initial stage of octree partitioning, which reduces the computational complexity while also improving the accuracy and efficiency of prediction.
  • Method 2 When the current level is greater than or equal to the preset prediction level, based on the current level, the three-dimensional Morton code, and the coordinate information of the current node, determine the density of points in each neighbor node of the parent node corresponding to the current node; based on the point density , To determine the current number of current neighbor nodes;
  • the density of points is positively correlated with the current number.
  • intra-frame prediction when the current level is greater than or equal to the preset prediction level, intra-frame prediction is started.
  • the encoder can determine the parent node corresponding to the current node based on the current level, the 3D Morton code, and the coordinate information of the current node.
  • Each neighbor node counts the density of the points in each neighbor node; based on the density of the points, determines the current number of the current node, and then finds the current number of current neighbor nodes from the parent node of the current node.
  • the density of points is positively correlated with the current number.
  • the density of points in each neighbor node of the parent node of the current node increases, and the current number also increases.
  • the encoder may set a preset density threshold.
  • the preset density threshold is exceeded, the current number is the second preset number, and when the current preset density threshold is not exceeded, the current number is the first preset Quantity.
  • the third preset number of neighbor nodes with the highest density among all neighbor nodes of the parent node is selected as the current neighbor node, and when the current level exceeds the preset level, from The fourth preset number of neighbor nodes with the highest density selected among all neighbor nodes of the parent node are the current neighbor nodes.
  • the third preset number is less than the fourth preset number, and neither the third preset number nor the fourth preset number exceeds 26.
  • the third preset number is 6, the fourth preset number is 26, etc., which is not limited in the embodiment of the present application.
  • the encoder uses less neighbor node information to perform intra prediction in the initial stage of octree partitioning, which reduces the computational complexity while also improving the accuracy and efficiency of prediction.
  • the actual process of the encoder determining the current neighbor node is: the encoder can determine the current number of participating intra-frame predictions based on the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node The coordinate information and occupancy information of the current neighbor node. In this way, the encoder can perform intra-frame prediction based on the coordinate information and occupancy information of the current neighbor nodes.
  • the occupancy information is used to characterize whether there is a cloud distribution in the current neighbor node.
  • Occupancy information can be represented by binary numbers. For example, 0 means empty, no point cloud distribution, 1 means non-empty, point cloud distribution.
  • S104 Perform intra-frame prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine the intra-frame prediction result.
  • the encoder After the encoder determines the current number of current neighbor nodes, it can perform intra-frame prediction on the current node according to the coordinate information of the current node and the current number of current neighbor nodes, and determine the intra-frame prediction result.
  • the encoder determines the node distance between the current node and the current neighbor node based on the coordinate information of the current node and the coordinate information of the current neighbor node; based on the node distance and occupancy information, from the preset
  • the weight value in the current neighbor node is determined in the weight table; based on the weight value in the current neighbor node, the average weight value in the current number of former neighbor nodes is determined; based on the average weight value, the current node is intra-frame predicted and the frame is determined Intra-prediction results.
  • the encoder can determine the current number of current neighbor nodes participating in intra prediction based on the three-dimensional Morton code, preset shift parameters, and the coordinate information of the current node, and the current neighbor node's coordinate information. Position information, the encoder can determine the node distance between the current node and the current neighbor node based on the coordinate information of the current node and the coordinate information of the current neighbor node. The encoder is based on the node distance corresponding to each current neighbor node and each The occupancy information of the current neighbor nodes is determined from the preset weight table to determine the weight value of the current neighbor node; then the weight value determined by each neighbor node is averaged to obtain the average weight value. Based on the average weight value, When the current node performs intra prediction, the intra prediction result can be determined.
  • the preset weight table sets the node distance from each current neighbor node to the current node, the weight value when the current neighbor node's occupancy information is 0, and the weight value when the occupancy information is 1. Therefore, the encoder can determine the weight value of the current neighbor node from the preset weight table based on the node distance corresponding to each current neighbor node and the occupancy information of each current neighbor node.
  • the preset weight table when the current quantity is the first preset quantity is different from the preset weight table when the current quantity is the second preset quantity, that is, the preset weight table includes: Set the weight table and the second preset weight table.
  • the first preset weight table is different from the second preset weight table, and the weight values in the tables are also trained.
  • the current number is H
  • the current neighbor node is k
  • the occupancy information ⁇ (k) where k is the value [0, H], H is less than or equal to 25, and ⁇ is 0 or 1, and each current neighbor node reaches The node distance of the current node is d k,m .
  • W0(d k,m ) and W1(d k,m ) are obtained by training.
  • the average weight value score m is obtained by formula (3):
  • the encoder performs intra prediction on the current node based on the average weight value, and then it can be determined that the realization of the intra prediction result is: when the average weight value is greater than the upper weight threshold, the encoder performs the intra prediction on the current node Perform intra prediction and determine that the intra prediction result is occupied; when the average weight value is less than the lower weight threshold, the encoder performs intra prediction on the current node and determines that the intra prediction result is not occupied; when the average weight value is less than or equal to the upper weight
  • the intra-frame prediction result is no prediction;
  • the upper weight threshold includes: the first upper weight threshold and the second upper weight threshold, and the lower weight threshold includes: the first lower weight threshold and the second Lower weight threshold; the first upper weight threshold and the first lower weight threshold correspond to the first neighbor node; the second upper weight threshold and the second lower weight threshold correspond to the second neighbor node.
  • the encoder when the current level is greater than or equal to the preset prediction level and less than or equal to the preset level, calculates the first average weight value of the first preset number of weight values, and when the first average weight value is greater than When the first upper weight threshold, the encoder performs intra-frame prediction on the current node and determines that the intra-frame prediction result is occupied; when the first average weight value is less than the first lower weight threshold, the encoder performs intra-frame prediction on the current node and determines The intra-frame prediction result is not occupied; when the first average weight value is less than or equal to the first upper weight threshold and greater than or equal to the first lower weight threshold, the intra-frame prediction result is not predicted.
  • the encoder calculates a second average weight value of the second preset number of weight values, and when the second average weight value is greater than the second upper weight threshold, the encoder performs intra prediction on the current node , Determine that the intra-frame prediction result is occupied; when the second average weight value is less than the second lower weight threshold, the encoder performs intra-frame prediction on the current node, and determines that the intra-frame prediction result is not occupied; when the second average weight value is less than or equal to When the second upper weight threshold is greater than or equal to the second lower weight threshold, the intra-frame prediction result is no prediction.
  • first upper weight threshold, the second upper weight threshold, the first lower weight threshold and the second lower weight threshold are all obtained through training, and the first upper weight threshold and the second upper weight threshold are different.
  • the lower weight threshold is different from the second lower weight threshold.
  • the intra-frame prediction result may be expressed in binary.
  • the "predicted or not” and “predicted value” represented by 0 or 1 will be used in the subsequent arithmetic coding of the occupancy information.
  • 1, 1 stands for “occupies”
  • 1, 0 stands for “not occupied”
  • 0, 0 stands for "not predicted”.
  • the first lower weight threshold is th 0 (No) and the first upper weight threshold is th 1 (No)
  • the first average weight value is score m .
  • score m is less than th 0 (No)
  • the intra prediction result of the current node is "not predicted”.
  • W0(d k,m ), W1(d k,m ), th 0 (No), and th 1 (No) are all obtained through training, and are preset and fixed in the codec The value does not need to be transmitted from the encoding end to the decoding end.
  • the weights and thresholds in the original 26-neighbor prediction method also need to be retrained to obtain better performance.
  • the encoder after obtaining the intra-frame prediction result of the current node, the encoder continues to perform intra-frame prediction on the next node until the last node is predicted, that is, the octree partition is completed, and then the encoding Based on the results of intra-frame prediction, the device can start to implement CABAC coding, and then obtain a geometric binary code stream.
  • the encoder uses less neighbor node information for intra prediction in the early stage of octree partitioning. While reducing the computational complexity, it also improves the accuracy and efficiency of the prediction, making it based on the eight-tree partition.
  • the intra prediction result of the geometric information coding of the fork tree is more suitable for entropy coding, thereby reducing the code stream and improving the performance.
  • the embodiment of the present application provides an intra-frame prediction method, which is applied to a decoder. As shown in FIG. 6, the method may include:
  • the decoder when the decoder performs geometric bitstream decoding, it can parse the arithmetic coding to obtain the three-dimensional Morton code of the point cloud to be decoded, and so on.
  • the decoder can obtain the coordinate information of the current node and the current level corresponding to the current node in real time. There is only one node in the first level, and then each level is implemented based on dividing each node of the previous level into 8 nodes.
  • the decoder parses the information of a preset number of levels in the code stream, and then starts to divide the octree based on the preset number of levels, and then performs arithmetic decoding after the division is completed, where the preset number of levels is less than or equal to Preset prediction levels.
  • S203 Determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then determine the current number of current neighbor nodes participating in intra prediction based on the three-dimensional Morton code and the coordinate information of the current node; The level is positively correlated with the current quantity.
  • the decoder realizes the process of determining the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then determining the current number of current neighbor nodes participating in intra prediction based on the three-dimensional Morton code and the coordinate information of the current node.
  • the principle of implementing S103 by the encoder is the same, and will not be repeated here.
  • the decoder may use the following two methods to determine the current number of current neighbor nodes.
  • Method 1 When the current level is greater than or equal to the preset prediction level, and less than or equal to the preset level, the decoder determines that the current number of neighbor nodes of the parent node corresponding to the current node is the first preset number; the decoder uses the three-dimensional Morton code, The preset shift parameter and the coordinate information of the current node determine the first preset number of first neighbor nodes adjacent to the current node among the neighbor nodes of the parent node of the current node; when the current level is greater than the preset level, the decoder Determine the current number of neighbor nodes of the parent node corresponding to the current node as the second preset number; the decoder determines the current node’s parent node’s neighbor nodes according to the three-dimensional Morton code, preset shift parameters, and the coordinate information of the current node A second preset number of second neighbor nodes; where the first preset number is less than the second preset number, and the current neighbor node is the first neighbor node or the second neighbor node.
  • the first preset number may be 6, and the second preset number may be 26.
  • the embodiment of the present application does not limit the specific values of the first preset number and the second preset number, as long as the first preset number The number is set to be less than the second preset number, and the first preset number and the second preset number do not exceed 26.
  • Method 2 When the current level is greater than or equal to the preset prediction level, based on the current level, the three-dimensional Morton code, and the coordinate information of the current node, determine the density of points in each neighbor node of the parent node corresponding to the current node; based on the point density , To determine the current number of current neighbor nodes;
  • the density of points is positively correlated with the current number.
  • the decoder uses less neighbor node information for intra prediction in the early stage of octree partitioning, which reduces the computational complexity and improves the accuracy and efficiency of prediction.
  • the actual process for the decoder to determine the current neighbor node is: the decoder can determine the current number of participating intra-frame predictions based on the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node The coordinate information and occupancy information of the current neighbor node. In this way, the decoder can perform intra-frame prediction based on the coordinate information and occupancy information of the current neighbor nodes.
  • S204 Perform intra-frame prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine the intra-frame prediction result.
  • the decoder realizes the intra-frame prediction of the current node based on the coordinate information of the current node and the current neighboring node, and the process of determining the intra-frame prediction result is the same as the principle of the encoder to implement S104, and will not be repeated here.
  • the decoder determines the node distance between the current node and the current neighbor node based on the coordinate information of the current node and the coordinate information of the current neighbor node; based on the node distance and occupancy Information, determine the weight value in the current neighbor node from the preset weight table; determine the average weight value of the current number of former neighbor nodes based on the weight value in the current neighbor node; frame the current node based on the average weight value Intra prediction, determine the result of intra prediction.
  • the decoder when the average weight value is greater than the upper weight threshold, the decoder performs intra-frame prediction on the current node, and determines that the intra-frame prediction result is occupied; when the average weight value is less than the lower weight threshold, the decoder The current node performs intra prediction and determines that the intra prediction result is not occupied; when the average weight value is less than or equal to the upper weight threshold and greater than or equal to the lower weight threshold, the intra prediction result is no prediction;
  • the upper weight threshold includes: An upper weight threshold and a second upper weight threshold
  • the lower weight threshold includes: a first lower weight threshold and a second lower weight threshold; the first upper weight threshold and the first lower weight threshold correspond to the first neighbor node; the second upper weight The threshold and the second lower weight threshold correspond to the second neighbor node.
  • the decoder uses less neighbor node information for intra prediction in the early stage of octree partitioning, which reduces the computational complexity and improves the accuracy and efficiency of prediction.
  • an encoder 1 according to an embodiment of the present application, including:
  • the first determining unit 10 is configured to determine the three-dimensional Morton code of the point cloud to be encoded
  • the first obtaining unit 11 is configured to obtain the coordinate information of the current node and the current level corresponding to the current node when performing octree division;
  • the first determining unit 10 is further configured to determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then based on the three-dimensional Morton code and the coordinate information of the current node, so Said determining the current number of current neighbor nodes participating in intra prediction; wherein, the current level is positively correlated with the current number;
  • the first intra-frame prediction unit 12 is configured to perform intra-frame prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine an intra-frame prediction result.
  • the first determining unit 10 is further configured to determine the value of the parent node corresponding to the current node when the current level is greater than or equal to a preset prediction level, and less than or equal to the preset level.
  • the current number of neighbor nodes is the first preset number; according to the three-dimensional Morton code, the preset shift parameter and the coordinate information of the current node, it is determined that the neighbor node of the parent node of the current node is the same as the current node.
  • the first preset number of first neighbor nodes adjacent to the node when the current level is greater than the preset level, determining that the current number of neighbor nodes of the parent node corresponding to the current node is the second preset number; According to the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node, determine a second preset number of second neighbor nodes of the parent node of the current node; wherein, the first preset The number is less than the second preset number, and the current neighbor node is the first neighbor node or the second neighbor node.
  • the first determining unit 10 is further configured to, when the current level is greater than or equal to a preset prediction level, based on the current level, the three-dimensional Morton code, and the current level.
  • the coordinate information of the node determines the density of points in each neighbor node of the parent node corresponding to the current node; determines the current number of the current neighbor nodes based on the density of the points; wherein the density of the points It is positively correlated with the current quantity.
  • the first determining unit 10 is further configured to determine the participating frame based on the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node The predicted coordinate information and occupancy information of the current number of current neighbor nodes.
  • the first intra prediction unit 12 is further configured to determine the current node and the current node based on the coordinate information of the current node and the coordinate information of the current neighbor node.
  • the node distance between the current neighbor nodes; the weight value in the current neighbor node is determined from a preset weight table based on the node distance and the occupancy information; based on the weight value in the current neighbor node, Determine the average weight value of the current number of former neighbor nodes; based on the average weight value, perform intra-frame prediction on the current node, and determine the intra-frame prediction result.
  • the first intra-frame prediction unit 12 is further configured to perform intra-frame prediction on the current node when the average weight value is greater than an upper weight threshold, and determine the intra-frame The prediction result is occupied; when the average weight value is less than the lower weight threshold, intra prediction is performed on the current node, and the intra prediction result is determined to be non-occupied; when the average weight value is less than or equal to the upper weight threshold, And is greater than or equal to the lower weight threshold, the intra-frame prediction result is no prediction;
  • the upper weight threshold includes: a first upper weight threshold and a second upper weight threshold
  • the lower weight threshold includes: a first lower weight threshold and a second lower weight threshold; the first upper weight threshold and the The first lower weight threshold corresponds to the first neighbor node; the second upper weight threshold and the second lower weight threshold correspond to the second neighbor node.
  • the first preset number is 6; the second preset number is 26.
  • the encoder uses less neighbor node information to perform intra prediction in the initial stage of octree partitioning, which reduces the computational complexity while also improving the accuracy and efficiency of prediction.
  • an encoder including:
  • the first memory 13 is used to store executable instructions
  • the first processor 14 is configured to implement the intra-frame prediction method on the encoder side when executing the executable instructions stored in the first memory 13.
  • the processor can be implemented by software, hardware, firmware, or a combination thereof, and can use circuits, single or multiple application specific integrated circuits (ASIC), single or multiple general integrated circuits, single or multiple microprocessors A processor, a single or multiple programmable logic devices, or a combination of the foregoing circuits or devices, or other suitable circuits or devices, so that the processor can execute the corresponding steps of the intra prediction method in the foregoing embodiments.
  • ASIC application specific integrated circuits
  • a processor a single or multiple programmable logic devices, or a combination of the foregoing circuits or devices, or other suitable circuits or devices, so that the processor can execute the corresponding steps of the intra prediction method in the foregoing embodiments.
  • the embodiment of the present application provides a decoder 2 provided by the embodiment of the present application, including:
  • the parsing unit 20 is configured to analyze the three-dimensional Morton code of the point cloud to be decoded
  • the second acquiring unit 21 is configured to acquire the coordinate information of the current node and the current level corresponding to the current node when performing octree division;
  • the second determining unit 22 is configured to determine the current number of neighbor nodes of the parent node corresponding to the current node based on the current level, and then based on the three-dimensional Morton code and the coordinate information of the current node, the determining The current number of current neighbor nodes participating in intra prediction; wherein, the current level is positively correlated with the current number;
  • the second intra prediction unit 23 is configured to perform intra prediction on the current node based on the coordinate information of the current node and the current neighbor node, and determine an intra prediction result.
  • the second determining unit 22 is further configured to determine the value of the parent node corresponding to the current node when the current level is greater than or equal to the preset prediction level, and less than or equal to the preset level.
  • the current number of neighbor nodes is the first preset number; according to the three-dimensional Morton code, the preset shift parameter and the coordinate information of the current node, it is determined that the neighbor node of the parent node of the current node is the same as the current node.
  • the first preset number of first neighbor nodes adjacent to the node when the current level is greater than the preset level, determining that the current number of neighbor nodes of the parent node corresponding to the current node is the second preset number; According to the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node, determine a second preset number of second neighbor nodes of the parent node of the current node; wherein, the first preset The number is less than the second preset number, and the current neighbor node is the first neighbor node or the second neighbor node.
  • the second determining unit 22 is further configured to, when the current level is greater than or equal to a preset prediction level, based on the current level, the three-dimensional Morton code, and the current level.
  • the coordinate information of the node determines the density of points in each neighbor node of the parent node corresponding to the current node; determines the current number of the current neighbor nodes based on the density of the points; wherein the density of the points It is positively correlated with the current quantity.
  • the second determining unit 22 is further configured to determine the participating frame based on the three-dimensional Morton code, preset shift parameters, and coordinate information of the current node The predicted coordinate information and occupancy information of the current number of current neighbor nodes.
  • the second intra prediction unit 23 is further configured to determine the current node and the current node based on the coordinate information of the current node and the coordinate information of the current neighbor node.
  • the node distance between the current neighbor nodes; the weight value in the current neighbor node is determined from a preset weight table based on the node distance and the occupancy information; based on the weight value in the current neighbor node, Determine the average weight value of the current number of former neighbor nodes; based on the average weight value, perform intra-frame prediction on the current node, and determine the intra-frame prediction result.
  • the second intra-frame prediction unit 23 is further configured to perform intra-frame prediction on the current node when the average weight value is greater than an upper weight threshold, and determine the intra-frame The prediction result is occupied; when the average weight value is less than the lower weight threshold, intra prediction is performed on the current node, and the intra prediction result is determined to be non-occupied; when the average weight value is less than or equal to the upper weight threshold, And is greater than or equal to the lower weight threshold, the intra-frame prediction result is no prediction;
  • the upper weight threshold includes: a first upper weight threshold and a second upper weight threshold
  • the lower weight threshold includes: a first lower weight threshold and a second lower weight threshold; the first upper weight threshold and the The first lower weight threshold corresponds to the first neighbor node; the second upper weight threshold and the second lower weight threshold correspond to the second neighbor node.
  • the first preset number is 6; the second preset number is 26.
  • the decoder uses less neighbor node information for intra prediction in the early stage of octree partitioning, which reduces the computational complexity and improves the accuracy and efficiency of prediction.
  • an embodiment of the present application also provides a decoder, including:
  • the second memory 24 is used to store executable instructions
  • the second processor 25 is configured to implement the intra-frame prediction method on the decoder side when executing the executable instructions stored in the second memory 24.
  • the embodiment of the present application provides a storage medium storing executable instructions, which are used to cause the first processor to execute the intra-frame prediction method on the encoder side; or, when the second processor is used to cause the second processor to execute, implement Intra prediction method on the decoder side.
  • 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 It is said that the part that contributes to the existing technology 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 It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment.
  • the aforementioned storage media include: magnetic random access memory (FRAM, ferromagnetic random access memory), read-only memory (ROM, Read Only Memory), programmable read-only memory (PROM, Programmable Read-Only Memory), erasable Programmable Read-Only Memory (EPROM, Erasable Programmable Read-Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), Flash Memory, Magnetic Surface Memory, Optical Disk
  • FRAM magnetic random access memory
  • ROM read-only memory
  • PROM programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • Flash Memory Magnetic Surface Memory
  • Optical Disk Various media that can store program codes, such as CD-ROM (Compact Disc Read-Only Memory), etc., are not limited in the embodiments of the present application.
  • the embodiments of the present application provide an intra-frame prediction method, an encoder, a decoder, and a storage medium, including: determining the three-dimensional Morton code of the point cloud to be encoded; obtaining the coordinate information of the current node when the octree is divided, And the current level corresponding to the current node; based on the current level, determine the current number of neighbor nodes of the parent node corresponding to the current node, and then determine the current number of current numbers participating in intra prediction based on the three-dimensional Morton code and the coordinate information of the current node Neighbor node; among them, the current level is positively correlated with the current number; based on the coordinate information of the current node and the current neighbor node, intra prediction is performed on the current node, and the intra prediction result is determined.
  • less neighbor node information is used for intra-frame prediction, which reduces the computational complexity and improves the accuracy and efficiency of prediction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请实施例提供了一种帧内预测方法、编码器、解码器及存储介质,包括:确定待编码点云的三维莫顿码;在进行八叉树划分时,获取当前节点的坐标信息,以及当前节点对应的当前层级;基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点;其中,当前层级与当前数量成正相关;基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果。

Description

一种帧内预测方法、编码器、解码器及存储介质 技术领域
本申请实施例涉及通信领域中的视频编解码技术,尤其涉及一种帧内预测方法、编码器、解码器及存储介质。
背景技术
基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编码器框架中,将输入点云进行slice划分后,会对每一个slice进行独立编码,而在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。
目前,根据八叉树划分层级深度的不同,几何信息的编码可以分为基于八叉树的几何信息编码和基于trisoup(triangle soup,三角面片集)的几何信息编码这两种框架。在基于八叉树的几何信息编码框架中,对几何信息进行坐标转换,使点云全都包含在一个包围盒中,然后对坐标进行量化。由于量化取整,会出现量化后坐标相同的点,因此,根据初始设置参数来决定是否移除重复点,量化和移除重复点这一过程被称为体素化过程。接着对将包围盒八等分为8个子立方体,并记录每个子立方体的占位信息(1为非空,0为空),对非空的子立方体继续进行八等分,直到划分得到的叶子节点为1x1x1的单位立方体时停止划分。在这个过程中,利用节点与周围节点的空间相关性,对占位信息进行帧内预测(intra prediction),最后进行基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC),生成二进制的几何码流。
然而,在预测过程中考虑到某些邻居节点对当前节点的某个子节点几乎没有影响,利用所有26个邻居进行预测则是过多引入了计算量,在运算复杂度增加的同时,可能还会影响预测的效率。
发明内容
本申请实施例提供了一种帧内预测方法、编码器、解码器及存储介质,能够降低编解码处理时的帧内预测的复杂度,提高帧内预测的效率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种帧内预测方法,应用于编码器中,包括:
确定待编码点云的三维莫顿码;
在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
第二方面,本申请实施例还提供了一种帧内预测方法,应用于解码器中,包括:
解析待解码点云的三维莫顿码;
在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前 层级;
基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
第三方面,本申请实施例提供了一种编码器,包括:
第一确定单元,被配置为确定待编码点云的三维莫顿码;
第一获取单元,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
所述第一确定单元,还被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
第一帧内预测单元,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
第四方面,本申请实施例提供了一种解码器,包括:
解析单元,被配置为解析待解码点云的三维莫顿码;
第二获取单元,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
第二确定单元,被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
第二帧内预测单元,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
第五方面,本申请实施例还提供了一种编码器,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现编码器侧的所述的帧内预测方法。
第六方面,本申请实施例还提供了一种解码器,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现解码器侧所述的帧内预测方法。
第七方面,本申请实施例提供了一种存储介质,存储有可执行指令,用于引起第一处理器执行时,实现编码器侧所述的帧内预测方法;或者,用于引起第二处理器执行时,实现解码器侧所述的帧内预测方法。
本申请实施例提供了一种帧内预测方法、编码器、解码器及存储介质,方法包括:确定待编码点云的三维莫顿码;在进行八叉树划分时,获取当前节点的坐标信息,以及当前节点对应的当前层级;基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点;其中,当前层级与当前数量成正相关;基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果。采用上述技术实现方案,在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复 杂度的同时,还提高了预测的准确率和效率。
附图说明
图1为本申请实施例提供的示例性的编码流程框图;
图2为本申请实施例提供的示例性的解码流程框图;
图3为本申请实施例提供的一种帧内预预测方法的流程图;
图4为本申请实施例提供的示例性的八叉树划分示意图一;
图5为本申请实施例提供的示例性的八叉树划分示意图二;
图6为本申请实施例还提供的一种帧内预预测方法的流程图;
图7为本申请实施例提供的一种编码器的结构示意图一;
图8为本申请实施例提供的一种编码器的结构示意图二;
图9为本申请实施例提供的一种解码器的结构示意图一;
图10为本申请实施例提供的一种解码器的结构示意图二。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在本申请实施例中,在点云G-PCC编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。
如图1所示的G-PCC编码的流程框图中,应用于点云的编码器中,针对待编码的点云数据,先通过slice划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个bounding box(包围盒)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,对叶子结点中的点进行帧内预测,基于帧内预测结果来对叶子节点的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于trisoup(triangle soup,三角面片集)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到block(子块)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex(交点),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的几何信息在对点云的属性编码时使用。
在属性编码过程中,几何编码完成,对几何信息进行重建后,进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码过程中,主要有两种变换方法,一是依赖于细节层次(Level of Detail,LOD)划分的基于距离的提升变换,二是直接进行区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)的变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将经过八叉 树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个block的vertex坐标(即算数编码),生成二进制的属性比特流,即属性码流。
如图2所示的G-PCC解码的流程框图中,应用于点云的解码器中。解码器获取二进制码流,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过八叉树划分-算术解码-八叉树合成-表面拟合-重建几何,最后进行反坐标变换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的反提升或者基于RAHT的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
在本申请实施例提供的一种帧内预测方法主要作用于图1和图2中的帧内预测的部分。
基于上述介绍的背景下,下面介绍本申请实施例提供的帧内预测方法。
本申请实施例提供了一种帧内预测方法,应用于编码器,如图3所示,该方法可以包括:
S101、确定待编码点云的三维莫顿码。
在本申请实施例中,针对一个三维图像模型的编码处理过程中,获取待编码的三维图像模型在空间中点云数据,点云数据中可以三维图像模型的几何信息和属性信息。在对三维图像模型进行编码的过程中,点云的几何信息和每点所对应的属性信息是分开进行编码的。在几何信息编码时的基于八叉树几何信息编码的帧内预测时,采用本申请实施例提供的帧内预测方法实现。
需要说明的是,编码器在得到点云的几何信息时,利用点的坐标信息可以得到对应于点云中每一点的莫顿码。莫顿编码也叫z-order code,因为其编码顺序按照空间z序。具体的计算莫顿码的具体方法描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标,其三个分量的表示通过以下实现:
Figure PCTCN2020070556-appb-000001
其中,x l,y l,z l∈{0,1}分别是x,y,z的最高位(l=1)到最低位(l=d)对应的二进制数值。莫顿码M是对x,y,z从最高位开始,依次交叉排列x l,y l,z l到最低位,M的计算公式如公式(1)所示:
Figure PCTCN2020070556-appb-000002
其中,m l′∈{0,1}分别是M的最高位(l′=1)到最低位(l′=3d)的值。在得到点云中每个点的莫顿码M后,将点云中的点按莫顿码由小到大的顺序进行排列,并将每个点的权值w设为1。表示为计算机语言,类似于z|(y<<1)|(x<<2)的组合。
这样,针对待编码的点云数据,编码器是可以确定出其三维莫顿码的,
S102、在进行八叉树划分时,获取当前节点的坐标信息,以及当前节点对应的当前层级。
需要说明的是,编码器对于待编码的点云数据,分别在x,y和z三个维度上寻找每个坐标分量对应的坐标的最大值和最小值{x max,x min,},{y max,y min}和{z max,z min}计算d=ceil(log 2(max{max{x max,y max},z max})),其中ceil()函数表示向上取整。将W=2 d作为立方体包围盒(bounding box)的边长,以原点为起点(左下角)作立方体,将点云中的所有点都包含在包围盒中。然后,编码器将包围盒八等分为8个子立方体如图4所示,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,八叉树的树状结构如图5所示。
在本申请实施例中,编码器在针对待编码的点云数据进行了slice划分,坐标转换和体素化之后,进入到八叉树划分的过程,在进行八叉树划分时,八叉树的每个层级都有至少一个节点,针对一个节点,即当前节点,编码器可以基于几何信息获取到划分过 程中的当前节点的坐标信息,以及获取到当前节点划分的当前层级。其中,层级可以理解为树的层数。
在本申请实施例中,编码器在进行八叉树划分的过程中,可以实时的获取到当前节点的坐标信息,以及当前节点对应的当前层级。第一层级中只有一个节点,之后每个层级都是基于上一层级的每个节点都划分成8个节点来实现的。
S103、基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点;其中,当前层级与当前数量成正相关。
编码器在获知了当前节点的当前层级后,就可以获取到其位于上一层级的父节点,基于该父节点就可以确定出与父节点相邻的多个当前邻居节点,该编码器可以基于当前层级,即当前节点的深度,确定需要使用的父节点的邻居节点的数量可以是多少,即当前数量。
在本申请实施例中,编码器可以根据实际对点云数据进行八叉树划分深度,来确定进行帧内预测时当前节点使用的邻居节点的数量。
需要说明的是,当前节点的层级较小时,只需要利用少量的邻居节点就可以准确预测当前节点的占位情况,而随着划分深度的增大,节点内部的点的密度逐渐减大,此时应该利用更多的邻居节点来预测当前节点的占位情况。因此,编码器可以根据当前层级确定出当前节点对应的父节点的邻居节点的当前数量,然后,该编码器基于三维莫顿码和当前节点的坐标信息,确定出父节点的全部邻居节点中,与当前节点相邻的当前数量的当前邻居节点,该当前邻居节点是需要参与当前节点的帧内预测的;其中,当前层级与当前数量成正相关,即当前层级越高,当前数量就越多。
在本申请实施例中,编码器可以采用以下两种方式来确定当前数量的当前邻居节点。
方式一:当前层级大于等于预设预测层级,且小于等于预设层级时,编码器确定当前节点对应的父节点的邻居节点的当前数量为第一预设数量;编码器根据三维莫顿码、预设移位参数和当前节点的坐标信息,确定当前节点的父节点的邻居节点中与当前节点相邻的第一预设数量的第一邻居节点;当当前层级大于预设层级时,编码器确定当前节点对应的父节点的邻居节点的当前数量为第二预设数量;编码器根据三维莫顿码、预设移位参数和当前节点的坐标信息,确定当前节点的父节点的邻居节点中的第二预设数量的第二邻居节点;其中,第一预设数量小于第二预设数量,当前邻居节点为第一邻居节点或者第二邻居节点。
在本申请实施例中,编码器在当八叉树划分到预设预测层级时,使能帧内预测,也就是说,编码器在进行八叉树划分时,只有划分到预设预测层级时才开始进行帧内预测。例如,预设预测层级为预设的层数L。或者,对2 6深度的节点开始进行帧内预测等,本申请实施例不作限制。
在本申请实施例中,编码器开始进行帧内预测后,若当前层级小于等于预设层级时,由于当前层级表征当前节点的深度较小,则编码器就确定当前节点对应的父节点的邻居节点的当前数量为第一预设数量,然后编码器可以根据三维莫顿码和预设移位参数,结合当前节点的坐标信息,确定当前节点的父节点的邻居节点,然后从26个邻居节点中,确定出与当前节点相邻的第一预设数量的第一邻居节点。当当前层级大于预设层级时,编码器确定当前节点对应的父节点的邻居节点的当前数量为第二预设数量;其中,第一预设数量小于第二预设数量,编码器可以根据三维莫顿码、预设移位参数和当前节点的坐标信息,确定当前节点的父节点邻居节点中的第二预设数量的第二邻居节点;将第一邻居节点或者第二邻居节点作为当前邻居节点。
在本申请实施例中,第一预设数量可以为6,第二预设数量可以为26,本申请实施 例不限制第一预设数量和第二预设数量的具体数值,只要第一预设数量小于第二预设数量即可,且第一预设数量和第二预设数量不超过26。
示例性的,当前层级为L,预设层级为L0时,当L<=L0时,使用与当前子节点共边及共面的6个当前邻居节点来对当前节点进行帧内预测;当L>L0时,则使用全部26个邻居节点来对当前节点进行帧内预测。
在本申请的一些实施例中,编码器可以基于当前层数,对满足预设预测层级的当前节点分成不同的等级或采用不同的多个预设层级,划分多个预设数量的邻居节点,来进行当前节点的帧内预测,本申请实施例只说明了将层级分成两个等级的描述,但本申请实施例并不限制层级的划分等级。
可以理解的是,编码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
方式二:当当前层级大于等于预设预测层级时,基于当前层级、三维莫顿码和当前节点的坐标信息,确定当前节点对应的父节点的各个邻居节点内的点的密度;基于点的密度,确定当前数量的当前邻居节点;
其中,点的密度与当前数量成正相关。
在本申请实施例中,当当前层级大于等于预设预测层级时,开始进行帧内预测,编码器可以基于当前层级、三维莫顿码和当前节点的坐标信息,确定当前节点对应的父节点的各个邻居节点,统计每个邻居节点内的点的密度;基于点的密度,确定当前节点的当前数量,进而从当前节点的父节点中找到当前数量的当前邻居节点。
需要说明的是,点的密度与当前数量成正相关。也就是说,随着八叉树的层级划分的增高,当前节点的父节点的各个邻居节点中的点的密度是增加的,那么当前数量也随着增多。
在本申请实施例中,编码器可以设置预设密度阈值,在超过预设密度阈值时,当前数量为第二预设数量,在不超过当前预设密度阈值时,当前数量为第一预设数量。或者,在当前层级未超过预设层级时,从父节点的全部邻居节点中选择内的密度最大的第三预设数量的邻居节点为当前邻居节点,而在当前层级超过预设层级时,从父节点的全部邻居节点中选择内的密度最大的第四预设数量的邻居节点为当前邻居节点。其中,第三预设数量小于第四预设数量,且第三预设数量和第四预设数量均不超过26。例如,第三预设数量为6,第四预设数量为26等,本申请实施例不作限制。
可以理解的是,编码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
在本申请的一些实施例中,编码器确定出当前邻居节点实际过程为:编码器可以基于三维莫顿码、预设移位参数和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点的坐标信息和占位信息。这样,该编码器就可以基于当前邻居节点的坐标信息和占位信息进行帧内预测了。
其中,占位信息用于表征当前邻居节点内是否有点云分布。占位信息可以由二进制数表示。例如,0表示空,无点云分布,1表示非空,有点云分布。
S104、基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果。
编码器在确定出来当前数量的当前邻居节点之后,就可以根据当前节点的坐标信息和当前数量的当前邻居节点对当前节点进行帧内预测,确定帧内预测结果了。
在本申请的一些实施例中,编码器基于当前节点的坐标信息和当前邻居节点的坐标信息,确定出当前节点与当前邻居节点之间的节点距离;基于节点距离和占位信息,从预设权重表中确定出当前邻居节点中的权重值;基于当前邻居节点中的权重值,确 定当前数量的前邻居节点中的平均权重值;基于平均权重值,对当前节点进行帧内预测,确定帧内预测结果。
在本申请实施例中,编码器可以基于三维莫顿码、预设移位参数和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点的坐标信息和当前邻居节点的占位信息,那么编码器就可以当前节点的坐标信息和当前邻居节点的坐标信息,确定出当前节点与当前邻居节点之间的节点距离了,编码器基于每个当前邻居节点对应的节点距离和每个当前邻居节点的占位信息,从预设权重表中确定出当前邻居节点中的权重值;然后对每个邻居节点确定出的权重值进行平均,得到平均权重值,基于平均权重值,对当前节点进行帧内预测,就可以确定帧内预测结果。
需要说明的是,预设权重表中设置有每个当前邻居节点到当前节点的节点距离,在当前邻居节点的占位信息为0时的权重值,和占位信息为1时的权重值,因此,编码器可以基于每个当前邻居节点对应的节点距离和每个当前邻居节点的占位信息,从预设权重表中确定出当前邻居节点中的权重值。
需要说明的是,在当前数量为第一预设数量时的预设权重表,与当前数量为第二预设数量时的预设权重表是不同的,即预设权重表包括:第一预设权重表和第二预设权重表。第一预设权重表和第二预设权重表不同,其表中的权重值也是训练出来的。
示例性的,当前数量为H,当前邻居节点为k,占位信息δ(k),其中k为值[0,H],H小于等于25,δ为0或1,每个当前邻居节点到当前节点的节点的距离为d k,m
这样,权重值w k,mk)由公式(2)得到:
Figure PCTCN2020070556-appb-000003
其中,W0(d k,m)和W1(d k,m)是训练得到的。
示例性的,平均权重值score m由公式(3)得到:
Figure PCTCN2020070556-appb-000004
需要说明的是,第一预设数量为6时,H为6。
第二预设数量为26时,H为26。
在本申请的一些实施例中,编码器基于平均权重值,对当前节点进行帧内预测,就可以确定帧内预测结果的实现为:当平均权重值大于上权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为占据;当平均权重值小于下权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为不占据;当平均权重值小于等于上权重阈值、且大于等于下权重阈值时,帧内预测结果为不预测;其中,上权重阈值包括:第一上权重阈值和第二上权重阈值,下权重阈值包括:第一下权重阈值和第二下权重阈值;第一上权重阈值和第一下权重阈值与第一邻居节点对应;第二上权重阈值和第二下权重阈值与第二邻居节点对应。
在本申请实施例中,当前层级大于等于预设预测层级,且小于等于预设层级时,编码器计算出第一预设数量的权重值的第一平均权重值,当第一平均权重值大于第一上权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为占据;当第一平均权重值小于第一下权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为不占据;当第一平均权重值小于等于第一上权重阈值、且大于等于第一下权重阈值时,帧内预测结果为不预测。当前层级大于预设层级时,编码器计算出第二预设数量的权重值的第二平均权重值,当第二平均权重值大于第二上权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为占据;当第二平均权重值小于第二下权重阈值时,编码器对当前节点进行帧内预测,确定帧内预测结果为不占据;当第二平均权重值小于等于 第二上权重阈值、且大于等于第二下权重阈值时,帧内预测结果为不预测。
需要说明的是,第一上权重阈值、第二上权重阈值,第一下权重阈值和第二下权重阈值都是训练得到的,且第一上权重阈值和第二上权重阈值不同,第一下权重阈值和第二下权重阈值不同。
在本申请实施例中,帧内预测结果可以采用二进制表示。例如,0或1表示的“是否预测”与“预测值”,用到之后的对占位信息的算术编码当中。其中,1、1代表“占据”;1、0代表“不占据”;0、0代表“不预测”。
示例性的,假设第一下权重阈值为th 0(No)与第一上权重阈值为th 1(No),第一平均权重值为score m,当score m小于th 0(No)时,当前节点的帧内预测结果为“不占据”,score m大于th 1(No)时,当前节点的帧内预测结果为“占据”,score m在th 0(No)和th 1(No)之间时,当前节点的帧内预测结果为“不预测”。
需要说明的是,W0(d k,m)、W1(d k,m)、th 0(No)与th 1(No)的值均为训练得到的,在编解码器中为预设的固定值,不需要由编码端向解码端传输。为了更好的预测效果,原26邻居预测方法中的权重值和阈值也需要重新训练,以获得更好的性能。
在本申请的一些实施例中,编码器在获取到了当前节点的帧内预测结果后,继续对下一个节点进行帧内预测,直至预测到最后一个节点,即八叉树划分完毕,然后,编码器可以基于帧内预测结果,开始实现CABAC编码,进而得到几何二进制码流。
可以理解的是,编码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率,使基于八叉树的几何信息编码的帧内预测结果更加适用于熵编码,从而降低了码流,提高了性能。
下面通过实验数据来说明上述效果。
表1
Figure PCTCN2020070556-appb-000005
由表1可知,在无损压缩情况下,针对不同的点云序列采用现有技术和本申请方法进行算术编码时,采用本申请实施例提供的帧内预测方法后进行的算术编码,得到的编码比特流,为现有技术编码后的99%多一点,即平均节省了1-99.39%=0.61%的比特流,因此,减少了编码比特流。
表2
Figure PCTCN2020070556-appb-000006
Figure PCTCN2020070556-appb-000007
由表2可知,在有损压缩情况下,针对不同的点云系列,采用本申请提供的帧内预测方式相比现有技术的方式,增益BD-Rate的增幅为点到点平均增幅-0.9%,点到面平均增幅-2.6%。
需要说明的是,BD-TotalRate%的值越小,表征增益越大,因此,提高了编码准确率。
本申请实施例提供了一种帧内预测方法,应用于解码器,如图6所示,该方法可以包括:
S201、解析待解码点云的三维莫顿码。
在本申请实施例中,解码器在进行几何比特流解码时,可以解析算术编码得到待解码点云的三维莫顿码等等。
S202、在进行八叉树划分时,获取当前节点的坐标信息,以及当前节点对应的当前层级。
在本申请实施例中,解码器在进行八叉树划分的过程中,解码器可以实时的获取到当前节点的坐标信息,以及当前节点对应的当前层级。第一层级中只有一个节点,之后每个层级都是基于上一层级的每个节点都划分成8个节点来实现的。
解码器进行八叉树划分的过程与编码器侧的S202描述的一致,此处不再赘述。
不同的是,解码器是在码流中解析出预设数量层级的信息的,然后基于预设数量层级开始进行八叉树划分,划分完成后才进行算术解码,其中,预设数量层级小于等于预设预测层级。
S203、基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点;其中,当前层级与当前数量成正相关。
解码器实现基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点的过程与编码器实现S103的原理是一样的,此处不再进行赘述。
在本申请实施例中,解码器可以采用以下两种方式来确定当前数量的当前邻居节点。
方式一:当前层级大于等于预设预测层级,且小于等于预设层级时,解码器确定当前节点对应的父节点的邻居节点的当前数量为第一预设数量;解码器根据三维莫顿码、预设移位参数和当前节点的坐标信息,确定当前节点的父节点的邻居节点中与当前节点相邻的第一预设数量的第一邻居节点;当当前层级大于预设层级时,解码器确定当前节点对应的父节点的邻居节点的当前数量为第二预设数量;解码器根据三维莫顿码、预设移位参数和当前节点的坐标信息,确定当前节点的父节点的邻居节点中的第二预设数量的第二邻居节点;其中,第一预设数量小于第二预设数量,当前邻居节点为第一邻居节点或者第二邻居节点。
在本申请实施例中,第一预设数量可以为6,第二预设数量可以为26,本申请实施例不限制第一预设数量和第二预设数量的具体数值,只要第一预设数量小于第二预设数量即可,且第一预设数量和第二预设数量不超过26。
方式二:当当前层级大于等于预设预测层级时,基于当前层级、三维莫顿码和当前节点的坐标信息,确定当前节点对应的父节点的各个邻居节点内的点的密度;基于点的密度,确定当前数量的当前邻居节点;
其中,点的密度与当前数量成正相关。
可以理解的是,解码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
在本申请的一些实施例中,解码器确定出当前邻居节点实际过程为:解码器可以基于三维莫顿码、预设移位参数和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点的坐标信息和占位信息。这样,该解码器就可以基于当前邻居节点的坐标信息和占位信息进行帧内预测了。
S204、基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果。
解码器实现基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果的过程与编码器实现S104的原理是一样的,此处不再进行赘述。
需要说明的是,在本申请的一些实施例中,解码器基于当前节点的坐标信息和当前邻居节点的坐标信息,确定出当前节点与当前邻居节点之间的节点距离;基于节点距离和占位信息,从预设权重表中确定出当前邻居节点中的权重值;基于当前邻居节点中的权重值,确定当前数量的前邻居节点中的平均权重值;基于平均权重值,对当前节点进行帧内预测,确定帧内预测结果。
在本申请的一些实施例中,当平均权重值大于上权重阈值时,解码器对当前节点进行帧内预测,确定帧内预测结果为占据;当平均权重值小于下权重阈值时,解码器对当前节点进行帧内预测,确定帧内预测结果为不占据;当平均权重值小于等于上权重阈值、且大于等于下权重阈值时,帧内预测结果为不预测;其中,上权重阈值包括:第一上权重阈值和第二上权重阈值,下权重阈值包括:第一下权重阈值和第二下权重阈值;第一上权重阈值和第一下权重阈值与第一邻居节点对应;第二上权重阈值和第二下权重阈值与第二邻居节点对应。
可以理解的是,解码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
基于前述实施例的实现基础,如图7所示,本申请实施例提供了本申请实施例提供了一种编码器1,包括:
第一确定单元10,被配置为确定待编码点云的三维莫顿码;
第一获取单元11,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
所述第一确定单元10,还被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
第一帧内预测单元12,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
在本申请的一些实施例中,所述第一确定单元10,还被配置为所述当前层级大于等于预设预测层级,且小于等于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第一预设数量;根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的邻居节点中与所述当前节点相邻的所述第一预设数量的第一邻居节点;当所述当前层级大于预设层级时,确定所述当前节 点对应的父节点的邻居节点的当前数量为第二预设数量;根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的第二预设数量的第二邻居节点;其中,所述第一预设数量小于所述第二预设数量,所述当前邻居节点为所述第一邻居节点或者所述第二邻居节点。
在本申请的一些实施例中,所述第一确定单元10,还被配置为当所述当前层级大于等于预设预测层级时,基于所述当前层级、所述三维莫顿码和所述当前节点的坐标信息,确定所述当前节点对应的父节点的各个邻居节点内的点的密度;基于所述点的密度,确定所述当前数量的所述当前邻居节点;其中,所述点的密度与所述当前数量成正相关。
在本申请的一些实施例中,所述第一确定单元10,还被配置为基于所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点的坐标信息和占位信息。
在本申请的一些实施例中,所述第一帧内预测单元12,还被配置为基于所述当前节点的坐标信息和所述当前邻居节点的坐标信息,确定出所述当前节点与所述当前邻居节点之间的节点距离;所述基于节点距离和所述占位信息,从预设权重表中确定出所述当前邻居节点中的权重值;基于所述当前邻居节点中的权重值,确定所述当前数量的前邻居节点中的平均权重值;基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果。
在本申请的一些实施例中,所述第一帧内预测单元12,还被配置为当所述平均权重值大于上权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为占据;当所述平均权重值小于下权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为不占据;当所述平均权重值小于等于上权重阈值、且大于等于所述下权重阈值时,所述帧内预测结果为不预测;
其中,所述上权重阈值包括:第一上权重阈值和第二上权重阈值,所述下权重阈值包括:第一下权重阈值和第二下权重阈值;所述第一上权重阈值和所述第一下权重阈值与第一邻居节点对应;所述第二上权重阈值和所述第二下权重阈值与第二邻居节点对应。
在本申请的一些实施例中,所述第一预设数量为6;第二预设数量为26。
可以理解的是,编码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
在实际应用中,如图8所示,本申请实施例还提供了一种编码器,包括:
第一存储器13,用于存储可执行指令;
第一处理器14,用于执行所述第一存储器13中存储的可执行指令时,实现编码器侧的所述的帧内预测方法。
其中,处理器可以通过软件、硬件、固件或者其组合实现,可以使用电路、单个或多个专用集成电路(application specific integrated circuits,ASIC)、单个或多个通用集成电路、单个或多个微处理器、单个或多个可编程逻辑器件、或者前述电路或器件的组合、或者其他适合的电路或器件,从而使得该处理器可以执行前述实施例中的帧内预测方法的相应步骤。
基于前述实施例的实现基础,如图9所示,本申请实施例提供了本申请实施例提供了一种解码器2,包括:
解析单元20,被配置为解析待解码点云的三维莫顿码;
第二获取单元21,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
第二确定单元22,被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
第二帧内预测单元23,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
在本申请的一些实施例中,所述第二确定单元22,还被配置为所述当前层级大于等于预设预测层级,且小于等于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第一预设数量;根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的邻居节点中与所述当前节点相邻的所述第一预设数量的第一邻居节点;当所述当前层级大于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第二预设数量;根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的第二预设数量的第二邻居节点;其中,所述第一预设数量小于所述第二预设数量,所述当前邻居节点为所述第一邻居节点或者所述第二邻居节点。
在本申请的一些实施例中,所述第二确定单元22,还被配置为当所述当前层级大于等于预设预测层级时,基于所述当前层级、所述三维莫顿码和所述当前节点的坐标信息,确定所述当前节点对应的父节点的各个邻居节点内的点的密度;基于所述点的密度,确定所述当前数量的所述当前邻居节点;其中,所述点的密度与所述当前数量成正相关。
在本申请的一些实施例中,所述第二确定单元22,还被配置为基于所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点的坐标信息和占位信息。
在本申请的一些实施例中,所述第二帧内预测单元23,还被配置为基于所述当前节点的坐标信息和所述当前邻居节点的坐标信息,确定出所述当前节点与所述当前邻居节点之间的节点距离;所述基于节点距离和所述占位信息,从预设权重表中确定出所述当前邻居节点中的权重值;基于所述当前邻居节点中的权重值,确定所述当前数量的前邻居节点中的平均权重值;基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果。
在本申请的一些实施例中,所述第二帧内预测单元23,还被配置为当所述平均权重值大于上权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为占据;当所述平均权重值小于下权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为不占据;当所述平均权重值小于等于上权重阈值、且大于等于所述下权重阈值时,所述帧内预测结果为不预测;
其中,所述上权重阈值包括:第一上权重阈值和第二上权重阈值,所述下权重阈值包括:第一下权重阈值和第二下权重阈值;所述第一上权重阈值和所述第一下权重阈值与第一邻居节点对应;所述第二上权重阈值和所述第二下权重阈值与第二邻居节点对应。
在本申请的一些实施例中,所述第一预设数量为6;第二预设数量为26。
可以理解的是,解码器在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。
在实际应用中,如图10所示,本申请实施例还提供了一种解码器,包括:
第二存储器24,用于存储可执行指令;
第二处理器25,用于执行所述第二存储器24中存储的可执行指令时,实现解码 器侧的所述的帧内预测方法。
本申请实施例提供了一种存储介质,存储有可执行指令,用于引起第一处理器执行时,实现编码器侧的帧内预测方法;或者,用于引起第二处理器执行时,实现解码器侧的帧内预测方法。
在本申请实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:磁性随机存取存储器(FRAM,ferromagnetic random access memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等各种可以存储程序代码的介质,本申请实施例不作限制。
工业实用性
本申请实施例提供了一种帧内预测方法、编码器、解码器及存储介质,包括:确定待编码点云的三维莫顿码;在进行八叉树划分时,获取当前节点的坐标信息,以及当前节点对应的当前层级;基于当前层级,确定当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和当前节点的坐标信息,确定出参与帧内预测的当前数量的当前邻居节点;其中,当前层级与当前数量成正相关;基于当前节点的坐标信息和当前邻居节点,对当前节点进行帧内预测,确定帧内预测结果。在进行在八叉树划分初期应用了少一些的邻居节点信息来进行帧内预测,在降低运算复杂度的同时,还提高了预测的准确率和效率。

Claims (19)

  1. 一种帧内预测方法,应用于编码器中,包括:
    确定待编码点云的三维莫顿码;
    在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
    基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
    基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
  2. 根据权利要求1所述的方法,其中,所述基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    所述当前层级大于等于预设预测层级,且小于等于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第一预设数量;
    根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的邻居节点中与所述当前节点相邻的所述第一预设数量的第一邻居节点;
    当所述当前层级大于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第二预设数量;
    根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的第二预设数量的第二邻居节点;
    其中,所述第一预设数量小于所述第二预设数量,所述当前邻居节点为所述第一邻居节点或者所述第二邻居节点。
  3. 根据权利要求1所述的方法,其中,所述基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    当所述当前层级大于等于预设预测层级时,基于所述当前层级、所述三维莫顿码和所述当前节点的坐标信息,确定所述当前节点对应的父节点的各个邻居节点内的点的密度;
    基于所述点的密度,确定所述当前数量的所述当前邻居节点;
    其中,所述点的密度与所述当前数量成正相关。
  4. 根据权利要求1或2所述的方法,其中,所述基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    基于所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点的坐标信息和占位信息。
  5. 根据权利要求4所述的方法,其中,所述基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果,包括:
    基于所述当前节点的坐标信息和所述当前邻居节点的坐标信息,确定出所述当前节点与所述当前邻居节点之间的节点距离;
    所述基于节点距离和所述占位信息,从预设权重表中确定出所述当前邻居节点中的权重值;
    基于所述当前邻居节点中的权重值,确定所述当前数量的前邻居节点中的平均权 重值;
    基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果。
  6. 根据权利要求5所述的方法,其中,所述基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果,包括:
    当所述平均权重值大于上权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为占据;
    当所述平均权重值小于下权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为不占据;
    当所述平均权重值小于等于上权重阈值、且大于等于所述下权重阈值时,所述帧内预测结果为不预测;
    其中,所述上权重阈值包括:第一上权重阈值和第二上权重阈值,所述下权重阈值包括:第一下权重阈值和第二下权重阈值;所述第一上权重阈值和所述第一下权重阈值与第一邻居节点对应;所述第二上权重阈值和所述第二下权重阈值与第二邻居节点对应。
  7. 根据权利要求2所述的方法,其中,
    所述第一预设数量为6;第二预设数量为26。
  8. 一种帧内预测方法,应用于解码器中,包括:
    解析待解码点云的三维莫顿码;
    在进行八叉树合成时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
    基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
    基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
  9. 根据权利要求8所述的方法,其中,所述基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    所述当前层级大于等于预设预测层级,且小于等于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第一预设数量;
    根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的邻居节点中与所述当前节点相邻的所述第一预设数量的第一邻居节点;
    当所述当前层级大于预设层级时,确定所述当前节点对应的父节点的邻居节点的当前数量为第二预设数量;
    根据所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,确定所述当前节点的父节点的第二预设数量的第二邻居节点;
    其中,所述第一预设数量小于所述第二预设数量,所述当前邻居节点为所述第一邻居节点或者所述第二邻居节点。
  10. 根据权利要求8所述的方法,其中,所述基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    当所述当前层级大于等于预设预测层级时,基于所述当前层级、所述三维莫顿码和所述当前节点的坐标信息,确定所述当前节点对应的父节点的各个邻居节点内的点 的密度;
    基于所述点的密度,确定所述当前数量的所述当前邻居节点;
    其中,所述点的密度与所述当前数量成正相关。
  11. 根据权利要求8或9所述的方法,其中,所述基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点,包括:
    基于所述三维莫顿码、预设移位参数和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点的坐标信息和占位信息。
  12. 根据权利要求11所述的方法,其中,所述基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果,包括:
    基于所述当前节点的坐标信息和所述当前邻居节点的坐标信息,确定出所述当前节点与所述当前邻居节点之间的节点距离;
    所述基于节点距离和所述占位信息,从预设权重表中确定出所述当前邻居节点中的权重值;
    基于所述当前邻居节点中的权重值,确定所述当前数量的前邻居节点中的平均权重值;
    基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果。
  13. 根据权利要求12所述的方法,其中,所述基于所述平均权重值,对所述当前节点进行帧内预测,确定所述帧内预测结果,包括:
    当所述平均权重值大于上权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为占据;
    当所述平均权重值小于下权重阈值时,对所述当前节点进行帧内预测,确定所述帧内预测结果为不占据;
    当所述平均权重值小于等于上权重阈值、且大于等于所述下权重阈值时,所述帧内预测结果为不预测;
    其中,所述上权重阈值包括:第一上权重阈值和第二上权重阈值,所述下权重阈值包括:第一下权重阈值和第二下权重阈值;所述第一上权重阈值和所述第一下权重阈值与第一邻居节点对应;所述第二上权重阈值和所述第二下权重阈值与第二邻居节点对应。
  14. 根据权利要求9所述的方法,其中,
    所述第一预设数量为6;第二预设数量为26。
  15. 一种编码器,包括:
    第一确定单元,被配置为确定待编码点云的三维莫顿码;
    第一获取单元,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
    所述第一确定单元,还被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
    第一帧内预测单元,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
  16. 一种解码器,包括:
    解析单元,被配置为解析待解码点云的三维莫顿码;
    第二获取单元,被配置为在进行八叉树划分时,获取当前节点的坐标信息,以及所述当前节点对应的当前层级;
    第二确定单元,被配置为基于所述当前层级,确定所述当前节点对应的父节点的邻居节点的当前数量,进而基于三维莫顿码和所述当前节点的坐标信息,所述确定出参与帧内预测的所述当前数量的当前邻居节点;其中,所述当前层级与所述当前数量成正相关;
    第二帧内预测单元,被配置为基于所述当前节点的坐标信息和所述当前邻居节点,对所述当前节点进行帧内预测,确定帧内预测结果。
  17. 一种编码器,包括:
    第一存储器,用于存储可执行指令;
    第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
  18. 一种解码器,包括:
    第二存储器,用于存储可执行指令;
    第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现权利要求8至14任一项所述的方法。
  19. 一种存储介质,存储有可执行指令,用于引起第一处理器执行时,实现权利要求1至7任一项所述的方法;或者,用于引起第二处理器执行时,实现权利要求8至14任一项所述的方法。
PCT/CN2020/070556 2020-01-06 2020-01-06 一种帧内预测方法、编码器、解码器及存储介质 WO2021138787A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080090168.XA CN114868389A (zh) 2020-01-06 2020-01-06 一种帧内预测方法、编码器、解码器及存储介质
EP20912642.4A EP4087240A4 (en) 2020-01-06 2020-01-06 INTRA PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM
PCT/CN2020/070556 WO2021138787A1 (zh) 2020-01-06 2020-01-06 一种帧内预测方法、编码器、解码器及存储介质
US17/810,791 US20220337884A1 (en) 2020-01-06 2022-07-05 Intra prediction method and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/070556 WO2021138787A1 (zh) 2020-01-06 2020-01-06 一种帧内预测方法、编码器、解码器及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/810,791 Continuation US20220337884A1 (en) 2020-01-06 2022-07-05 Intra prediction method and decoder

Publications (1)

Publication Number Publication Date
WO2021138787A1 true WO2021138787A1 (zh) 2021-07-15

Family

ID=76787431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/070556 WO2021138787A1 (zh) 2020-01-06 2020-01-06 一种帧内预测方法、编码器、解码器及存储介质

Country Status (4)

Country Link
US (1) US20220337884A1 (zh)
EP (1) EP4087240A4 (zh)
CN (1) CN114868389A (zh)
WO (1) WO2021138787A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676738A (zh) * 2021-08-19 2021-11-19 上海交通大学 一种三维点云的几何编解码方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
WO2019011636A1 (en) * 2017-07-13 2019-01-17 Interdigital Vc Holdings, Inc. METHOD AND APPARATUS FOR ENCODING / DECODING THE GEOMETRY OF A POINT CLOUD REPRESENTING A 3D OBJECT
WO2019082837A1 (ja) * 2017-10-24 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN109889840A (zh) * 2019-03-20 2019-06-14 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
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
US11272158B2 (en) * 2019-03-01 2022-03-08 Tencent America LLC Method and apparatus for point cloud compression
EP3734977A1 (en) * 2019-04-30 2020-11-04 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US20220417557A1 (en) * 2019-06-21 2022-12-29 Lg Electronics Inc. Device and method for processing point cloud data
WO2021049758A1 (ko) * 2019-09-11 2021-03-18 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114402621A (zh) * 2019-09-30 2022-04-26 Oppo广东移动通信有限公司 变换方法、逆变换方法、编码器、解码器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126314A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Corporation Method for compressing point cloud
WO2019011636A1 (en) * 2017-07-13 2019-01-17 Interdigital Vc Holdings, Inc. METHOD AND APPARATUS FOR ENCODING / DECODING THE GEOMETRY OF A POINT CLOUD REPRESENTING A 3D OBJECT
WO2019082837A1 (ja) * 2017-10-24 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN109889840A (zh) * 2019-03-20 2019-06-14 北京大学深圳研究生院 点云编码和解码的方法、编码设备和解码设备
CN110418135A (zh) * 2019-08-05 2019-11-05 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEI HONGLIAN; SHAO YITING; WANG JING; LIU SHAN; LI GE: "Enhanced Intra Prediction Scheme in Point Cloud Attribute Compression", 2019 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), IEEE, 1 December 2019 (2019-12-01), pages 1 - 4, XP033693921, DOI: 10.1109/VCIP47243.2019.8966001 *
ZHANG KE; ZHU WENJIE; XU YILING; LIU NING: "Point Cloud Attribute Compression via Clustering and Intra Prediction", 2018 IEEE INTERNATIONAL SYMPOSIUM ON BROADBAND MULTIMEDIA SYSTEMS AND BROADCASTING (BMSB), IEEE, 6 June 2018 (2018-06-06), pages 1 - 5, XP033386059, DOI: 10.1109/BMSB.2018.8436850 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676738A (zh) * 2021-08-19 2021-11-19 上海交通大学 一种三维点云的几何编解码方法及装置
CN113676738B (zh) * 2021-08-19 2024-03-29 上海交通大学 一种三维点云的几何编解码方法及装置

Also Published As

Publication number Publication date
EP4087240A4 (en) 2023-01-11
CN114868389A (zh) 2022-08-05
US20220337884A1 (en) 2022-10-20
EP4087240A1 (en) 2022-11-09

Similar Documents

Publication Publication Date Title
TWI653876B (zh) 用於解碼視訊的裝置、用於編碼視訊的方法及裝置、以及非暫態電腦可讀記錄媒體
TWI655859B (zh) 熵編碼視訊的方法與裝置、以及熵解碼視訊的方法與裝置
TWI640191B (zh) 對視訊進行解碼的裝置
TWI629895B (zh) 視訊解碼的裝置
WO2021062743A1 (zh) 占位信息的预测方法、编码器、解码器、及存储介质
JP2014523186A (ja) エントロピー符号化/復号化方法及びその装置
TW201813401A (zh) 視訊解碼裝置、視訊編碼方法與裝置、電腦可讀記錄媒體
US20220122296A1 (en) Point cloud model reconstruction method, encoder, and decoder
US11936909B2 (en) Prediction method, encoder, decoder, and computer storage medium
US11936850B2 (en) Methods for intra prediction, and encoder
US11983905B2 (en) Methods for level partition of point cloud, and decoder
US20220329833A1 (en) Nearest neighbor search method, apparatus, device, and storage medium
US20240171772A1 (en) Method and device for intra prediction
WO2021138787A1 (zh) 一种帧内预测方法、编码器、解码器及存储介质
WO2024037091A1 (zh) 一种点云处理方法、装置及计算机设备、存储介质
WO2021062771A1 (zh) 颜色分量预测方法、编码器、解码器及计算机存储介质
CN113228641A (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: 20912642

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

Country of ref document: EP

Effective date: 20220803