WO2021062772A1 - 预测方法、编码器、解码器及计算机存储介质 - Google Patents

预测方法、编码器、解码器及计算机存储介质 Download PDF

Info

Publication number
WO2021062772A1
WO2021062772A1 PCT/CN2019/109695 CN2019109695W WO2021062772A1 WO 2021062772 A1 WO2021062772 A1 WO 2021062772A1 CN 2019109695 W CN2019109695 W CN 2019109695W WO 2021062772 A1 WO2021062772 A1 WO 2021062772A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
color component
model parameter
value
prediction
Prior art date
Application number
PCT/CN2019/109695
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 CN201980100519.8A priority Critical patent/CN114424568A/zh
Priority to PCT/CN2019/109695 priority patent/WO2021062772A1/zh
Priority to EP19947496.6A priority patent/EP4040790A4/en
Publication of WO2021062772A1 publication Critical patent/WO2021062772A1/zh
Priority to US17/655,353 priority patent/US11936909B2/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the embodiments of the present application relate to the technical field of video coding and decoding, and in particular, to a prediction method, an encoder, a decoder, and a computer storage medium.
  • G-PCC Geometry-based Point Cloud Compression
  • the coding of attribute information is mainly aimed at the coding of color information.
  • the color 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.
  • color information coding there are mainly two transformation methods.
  • One is the distance-based lifting transformation that relies on the level of detail (Level of Detail, LOD) division, and the other is the direct region adaptive hierarchical transformation (Region Adaptive Hierarchal). Transform, 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 and encode the coefficients to generate a binary code stream.
  • the embodiments of the present application provide a prediction method, an encoder, a decoder, and a computer storage medium, which can remove the LOD and improve the correlation between the three color components before transformation, effectively reduce the coding bit overhead, and thereby improve the coding and decoding efficiency.
  • an embodiment of the present application provides a prediction method applied to an encoder, and the method includes:
  • the space block construct a prediction model; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be coded;
  • the level of detail LOD division and promotion transformation are performed.
  • an embodiment of the present application provides a prediction method applied to a decoder, and the method includes:
  • the reconstruction value of the second color component of the point to be decoded is calculated.
  • an encoder which includes a first determination unit, a first construction unit, a first acquisition unit, a first prediction unit, a first calculation unit, and a transformation unit, wherein:
  • the first determining unit is configured to determine the spatial block where the point to be encoded is located
  • the first construction unit is configured to construct a prediction model according to the space block; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be coded;
  • the first obtaining unit is configured to obtain the first color component value and the second color component value of the point to be coded
  • the first prediction unit is configured to use the prediction model and the first color component value to obtain the second color component prediction value of the point to be coded;
  • the first calculation unit is configured to calculate the difference between the second color component value and the predicted value of the second color component, and use the obtained difference as the residual of the point to be coded;
  • the transformation unit is configured to perform LOD division and lifting transformation based on the residuals of the points to be coded.
  • an embodiment of the present application provides a decoder, which includes a second determination unit, a parsing unit, a second construction unit, a second prediction unit, an inverse transformation unit, and a second calculation unit, wherein:
  • the second determining unit is configured to determine the spatial block where the point to be decoded is located
  • the parsing unit is configured to analyze the attribute bit stream to obtain the first color component value of the point to be decoded, the initial residual, and the first model parameter and the second model parameter corresponding to the space block;
  • the second construction unit is configured to construct a prediction model according to the first model parameter and the second model parameter; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be decoded;
  • the second prediction unit is configured to use the prediction model and the first color component value to obtain the second color component prediction value of the point to be decoded;
  • the inverse transformation unit is configured to perform LOD division and lifting inverse transformation on the parsed initial residual to obtain the residual of the point to be decoded;
  • the second calculation unit is configured to calculate the reconstructed value of the second color component of the point to be decoded according to the residual of the point to be decoded and the predicted value of the second color component.
  • an encoder which includes a first memory and a first processor, wherein:
  • the first memory is used to store a computer program that can run on the first processor
  • the first processor is configured to execute the method described in the first aspect when the computer program is running.
  • an embodiment of the present application provides a decoder, the decoder includes a second memory and a second processor, wherein:
  • the second memory is used to store a computer program that can run on the second processor
  • the second processor is configured to execute the method described in the second aspect when the computer program is running.
  • an embodiment of the present application provides a computer storage medium that stores a computer program, and when the computer program is executed by a first processor, the method described in the first aspect is implemented, or when the computer program is executed by the second processor. The method described in the second aspect is implemented during execution.
  • the embodiments of the present application provide a prediction method, an encoder, a decoder, and a computer storage medium.
  • the method can be applied to the encoder by determining the spatial block where the point to be encoded is located; constructing a prediction model according to the spatial block, The prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be coded; then obtain the first color component value and the second color component value of the point to be coded; use the prediction model and the first color Component value, obtain the predicted value of the second color component of the point to be coded; finally calculate the difference between the second color component value and the predicted value of the second color component, and use the obtained difference as the residual of the point to be coded, based on the
  • the residuals of the points to be coded are divided into LOD and boosted transformation; in this way, one color component is used to predict another color component to obtain a predicted value, so that the predicted residual is calculated based on the actual value and the predicted value, and the color component can
  • the prediction relationship between a color component and the second color component then use the prediction model and the first color component value to obtain the second color component prediction value of the point to be decoded; finally perform LOD division and promotion on the parsed initial residual Inverse transformation, the residual of the point to be decoded is obtained; according to the residual of the point to be decoded and the predicted value of the second color component, the reconstruction value of the second color component of the point to be decoded is calculated; in this way, one color component is used for the other
  • the color component is predicted to obtain the predicted value, and the attribute value is reconstructed according to the predicted value and the predicted residual obtained by the analysis. Since the correlation between the LOD and the color component before the transformation is improved, the coding bit overhead is effectively reduced, thereby Improved coding and decoding efficiency.
  • Figure 1 is a flow diagram of a G-PCC encoding provided by related technical solutions
  • FIG. 2 is a flow diagram of a G-PCC decoding provided by related technical solutions
  • 3A is a schematic structural diagram of a LOD generation process provided by related technical solutions
  • FIG. 3B is a schematic structural diagram of another LOD generation process provided by related technical solutions.
  • FIG. 4 is a schematic flowchart of a prediction method provided by an embodiment of the application.
  • Fig. 5 is a flow chart of a G-PCC encoding provided by an embodiment of the application.
  • FIG. 6 is a schematic flowchart of another prediction method provided by an embodiment of the application.
  • FIG. 7 is a block diagram of a flow of G-PCC decoding provided by an embodiment of this application.
  • FIG. 8 is a schematic diagram of the composition structure of an encoder provided by an embodiment of the application.
  • FIG. 9 is a schematic diagram of a specific hardware structure of an encoder provided by an embodiment of the application.
  • FIG. 10 is a schematic diagram of the composition structure of a decoder provided by an embodiment of the application.
  • FIG. 11 is a schematic diagram of a specific hardware structure of a decoder provided by an embodiment of the application.
  • each slice is encoded independently.
  • Fig. 1 shows a flow diagram of a G-PCC encoding provided by related technical solutions.
  • the point cloud encoder For the point cloud data to be encoded, the point cloud data is first divided into multiple slices through slice division. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are coded separately. In the geometric encoding process, 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.
  • the process of quantifying and removing the duplicate points is also called the voxelization process. Then divide the bounding box into an octree. In the octree-based geometric information encoding 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 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 triangles (triangle soup, trisoup), octree division must also be performed first, but different from the geometric information encoding based on octrees, 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, the reconstructed geometric information is used to recolor the point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information.
  • Attribute coding is mainly carried out for color information.
  • the color information coding process there are two main transformation methods. One is distance-based lifting transformation that relies on the level of detail (Level of Detail, LOD) division.
  • LOD LOD by distance
  • LOD based on fixed sampling rate mainly for Category3 sequence
  • RAHT Region Adaptive Hierarchal Transform
  • these two methods will convert 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). Finally, they will undergo octree division and surface simulation.
  • the vertex coordinates of each block are sequentially coded (that is, arithmetic coding) to generate a binary attribute bit stream, that is, an attribute code stream.
  • FIG. 2 shows a block diagram of a G-PCC decoding process provided by related technical solutions.
  • the G-PCC decoding process block diagram shown in Fig. 2, it is applied to the point cloud decoder.
  • the geometric bit stream and the attribute bit stream in the binary code stream are first decoded independently.
  • LOD division is mainly used in Predicting and lifting in point cloud attribute transformation.
  • the LOD division based on distance will be introduced in detail below.
  • the distance threshold can be a self-defined value.
  • the process of LOD division is after the geometric reconstruction of the point cloud. At this time, the geometric coordinate information of the point cloud can be directly obtained.
  • the process of dividing LOD can be applied to point cloud encoder and point cloud decoder at the same time. The specific process is as follows:
  • LOD1 is obtained by merging the points in the refinement levels R 0 , R 1 , ..., R 1;
  • the point cloud includes P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, etc. 10 points, based on the distance threshold for LOD division, so, the sequence of LOD0 set includes P4 , P5, P0, P2, the sequence in the LOD1 set includes P4, P5, P0, P2, P3, P1, P6, and the sequence in the LOD2 set includes P4, P5, P0, P2, P3, P1, P6, P7, P8 , P9.
  • the related art mentions a scheme of LOD division based on Morton code. Compared with the original traversal search for all points and the LOD division scheme, the LOD division scheme based on Morton code can reduce the computational complexity.
  • Morton coding is also called z-order code, because its coding sequence is based on spatial z-order.
  • the variable points P i represents the input point cloud
  • the specific process of calculating Morton code is described as follows. For the three-dimensional coordinates represented by d-bit binary numbers for each component, the representation of the three coordinate components is realized by the following:
  • 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 as follows:
  • D0 the threshold of the initial distance
  • the ratio of the distance threshold when the adjacent LOD layers are divided
  • I the index of all points
  • L(k) stores the points belonging to the k-th LOD
  • O(k) stores the point set with a higher level of refinement than the LODk layer.
  • O(k) and L(k) are initialized to the empty set
  • each iteration is traversed according to the index order of the points saved in I. Specifically, each traversal will calculate the geometric distance from the current point to all points in a certain range in the set O(k), and based on the Morton code corresponding to the current point in I, search the first in the set O(k) An index larger than the Morton code point corresponding to the current point, and then search in a search range SR1 of the index (here, SR1 represents the search range based on Morton code, and the general value is 8, 16, 64); if If a point whose distance from the current point is less than the threshold d l is found in this range, the current point is added to the set L(k), otherwise, the current point is added to the set O(k);
  • the sets L(k) and O(k) are calculated separately, and the points in O(k) will be used to predict the midpoint of the set L(k).
  • the set R(k) L(k) ⁇ L(k-1), that is, R(k) represents the point set of the difference between the LOD(k-1) and the LOD(k) set.
  • the nearest h predicted neighbors are searched in the set O(k) (generally, h can be set to 3). The specific process of finding nearest neighbors is as follows:
  • SR2 denotes a search range, the general value of 8, 16 , 32, 64
  • the point cloud includes P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, etc. 10 points, based on Morton code LOD division, first in ascending order of Morton code Arrange, the order of these 10 points is P4, P1, P9, P5, P0, P6, P8, P2, P7, P3; then the nearest neighbor search is performed, so that the order of the LOD0 set still includes P4, P5, P0 , P2, LOD1 set still includes P4, P5, P0, P2, P3, P1, P6 in order, and LOD2 set still includes P4, P5, P0, P2, P3, P1, P6, P7, P8, P9 in order .
  • the current solution uses the LODk-1 layer to predict the color attribute of the midpoint of the LODk layer after the LOD division; since the three color channels corresponding to the attribute information are performed separately, the three are independent of each other.
  • the existing point cloud attribute transformation Predicting and lifting are the three color components of the attribute (which can be represented by Y, U, and V respectively) through the three color channels to respectively perform LOD prediction, and in the point cloud attribute transformation Before Predicting and Lifting, there is a certain correlation between these three color components; resulting in an increase in the number of coding bits when performing LOD and lifting transformations, which reduces the coding efficiency.
  • the embodiment of the present application provides a prediction method, which is applied to an encoder by determining the spatial block of the point to be coded; according to the spatial block, a prediction model is constructed, and the prediction model is used to characterize the first point of the point to be coded.
  • a prediction relationship between a color component and a second color component then obtain the first color component value and the second color component value of the point to be coded; use the prediction model and the first color component value to obtain the second color of the point to be coded Component prediction value; finally calculate the difference between the second color component value and the second color component prediction value, and use the obtained difference as the residual of the point to be coded; perform LOD division and promotion based on the residual of the point to be coded Transformation; In this way, one color component is used to predict another color component to obtain a predicted value, so that the prediction residual is calculated according to the actual value and the predicted value, which can remove the correlation between the color components and effectively reduce the coding bit overhead.
  • the coding efficiency can be improved; the method is also applied to the decoder, by determining the spatial block of the point to be decoded; analyzing the attribute bit stream, and obtaining the first color component value, the initial residual and the corresponding spatial block of the point to be decoded
  • the first model parameter and the second model parameter according to the first model parameter and the second model parameter, a prediction model is constructed, and the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be decoded; Then use the prediction model and the first color component value to obtain the second color component prediction value of the point to be decoded; finally, perform LOD division and inverse lifting transformation on the parsed initial residual to obtain the residual of the point to be decoded;
  • the residual of the point to be decoded and the predicted value of the second color component are calculated to obtain the reconstructed value of the second color component of the point to be decoded; in this way, one color component is used to predict the other color components to obtain the predicted value, which is
  • FIG. 4 shows a schematic flowchart of a prediction method provided by an embodiment of the present application.
  • the method is applied to an encoder (may also be referred to as a point cloud encoder).
  • the method may include:
  • S401 Determine the spatial block where the point to be coded is located
  • S402 Construct a prediction model according to the space block; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be coded;
  • the point to be coded represents the point cloud data of the object to be coded in the point cloud.
  • multiple spatial blocks can be obtained. From these multiple spatial blocks, the spatial block where the point to be coded is located can be determined, so as to construct a prediction model based on the spatial block subsequently, so as to realize the prediction between color components.
  • the first color component, the second color component, and the third color component can be used to represent the three color attributes of the point to be coded.
  • these three color attributes can be represented by Y, U, V; specifically, the first color component can be represented by Y, the second color component can be represented by U, and the third color component can be represented by V; or the first color The component can be represented by Y, the second color component can be represented by V, and the third color component can be represented by U; the embodiment of the present application does not specifically limit it.
  • these three color attributes can be represented by R, G, and B; specifically, the first color component can be represented by R, the second color component can be represented by G, and the third color component can be represented by B; or the first color The component can be represented by R, the second color component can be represented by B, and the third color component can be represented by G; the embodiment of the present application does not specifically limit it.
  • a prediction model can be constructed, which can characterize the prediction relationship between the first color component and the second color component of the point to be coded. That is to say, by using the prediction model, the second color component of the point to be coded can be predicted according to the first color component of the point to be coded.
  • the prediction model can predict the U component based on the Y component of the point to be coded, that is, the prediction method in this embodiment of the application is suitable for using the Y component Prediction of the U component; assuming that the first color component is represented by Y and the second color component is represented by V, then the prediction model can also predict the V component based on the Y component of the point to be coded, that is, the prediction method of the embodiment of this application also It is suitable for the prediction of the V component using the Y component.
  • the first color component value of the point to be coded needs to be obtained at this time; in this way, according to the obtained first color component of the point to be coded Component value, the predicted value of the second color component of the point to be coded can be obtained through the prediction model.
  • the prediction model is used to predict the U component according to the Y component of the point to be coded, then the obtained first color component value is the Y component value, and the second color component value is the U component value.
  • the prediction model and Y component value can get the U component prediction value of the point to be coded, and then the residual can be calculated based on the U component value and the U component prediction value; if the prediction model is used to predict V based on the Y component of the point to be coded Component, the obtained first color component value is the Y component value, and the second color component value is the V component value.
  • the V component prediction value of the point to be coded can be obtained, and then the V component prediction value of the point to be encoded can be obtained according to V
  • the component value and the predicted value of the V component are used to calculate the residual.
  • S405 Calculate the difference between the second color component value and the second color component predicted value, and use the obtained difference as the residual of the to-be-coded point;
  • S406 Perform LOD division and lifting transformation based on the residuals of the points to be coded.
  • the difference between the second color component value (actual value) of the point to be coded and the predicted value of the second color component can be used to obtain the predicted value of the second color component.
  • the residual of the coded point is then LOD divided and lifted according to the residual of the point to be coded.
  • the embodiment of the present application can perform lossless prediction on the attribute information of the point cloud, and effectively reduce the coding bit overhead while obtaining the same image coding quality, thereby improving the coding efficiency.
  • the image coding quality can use objective quality evaluation criteria, such as Peak Signal to Noise Ratio (PSNR), or subjective quality evaluation criteria, such as Mean Opinion Score (MOS).
  • PSNR Peak Signal to Noise Ratio
  • MOS Mean Opinion Score
  • the method may further include:
  • the residuals of the points to be coded are coded and written into the attribute bit stream.
  • the bitstream may include geometric bitstream and attribute bitstream.
  • the geometric bitstream includes the geometric information of the cloud, such as position coordinate information
  • the attribute bitstream includes the attribute information of the cloud, such as three kinds of color information.
  • FIG. 5 shows a flow diagram of a G-PCC encoding provided by an embodiment of the present application.
  • FIG. 5 shows a flow diagram of a G-PCC encoding provided by an embodiment of the present application.
  • the prediction method of the embodiment of the present application is mainly applied to this part to realize the attribute prediction between color channels.
  • one color component is used to predict another color component to obtain a predicted value, and the correlation between the three color channels is removed, so that the coding efficiency can be improved.
  • the embodiment of the present application provides a prediction method, which can be applied to an encoder by determining the spatial block of the point to be coded; according to the spatial block, a prediction model is constructed, and the prediction model is used to characterize the point to be coded.
  • the prediction relationship between the first color component and the second color component then obtain the first color component value and the second color component value of the point to be coded; use the prediction model and the first color component value to obtain the second color component value of the point to be coded Color component prediction value; finally calculate the difference between the second color component value and the second color component prediction value, and use the obtained difference as the residual of the point to be coded; perform LOD division and sum based on the residual of the point to be coded Lifting transformation; in this way, one color component is used to predict another color component to obtain a predicted value, so that the prediction residual is calculated according to the actual value and the predicted value, which can remove the correlation between color components and effectively reduce the coding bit overhead , Can improve coding efficiency.
  • the spatial block may be obtained by spatial division of the point cloud. Therefore, in some embodiments, for S401, the determining the spatial block where the point to be encoded is located may include:
  • S401-a Perform spatial division of the point cloud to obtain at least one spatial block
  • the point cloud can be spatially divided, so that at least one spatial block can be obtained.
  • the point cloud may be divided into multiple spatial blocks according to the spatial neighbor relationship between the points. Therefore, for S401-a, the spatial division of the point cloud to obtain at least one spatial block may include:
  • the point cloud is divided into a plurality of point sets, and the first degree of correlation between the first color component and the second color component in each point set is determined ;
  • the point cloud is spatially divided according to the determined first degree of correlation to obtain the at least one spatial block.
  • the point cloud can be divided into multiple point sets according to the spatial neighbor relationship between the points in the point cloud, so that the difference between the first color component and the second color component in each point set can be determined
  • the first degree of correlation can then divide the point cloud into spatial blocks with higher correlation between color components.
  • the point cloud may be spatially divided according to the first correlation between the Y component and the U component in each point set, or it may be based on the first correlation between the Y component and the V component in each point set.
  • the point cloud is spatially divided according to the degree; since the closer the distance between the color components, the higher the correlation of the points, so that at least one spatial block can be obtained by performing the spatial division according to the first degree of correlation between the color components.
  • the point cloud can be divided into multiple spatial blocks according to the Morton code of the points in the point cloud. Therefore, for S401-a, the spatial division of the point cloud to obtain at least one spatial block includes:
  • N is greater than or A positive integer equal to 1;
  • the point cloud is divided into the shifted difference space blocks.
  • the points may be all points in the point cloud, or some points in the point cloud, and these points are relatively concentrated in space.
  • the Morton codes of these points can be calculated and the calculated Morton codes are arranged in ascending order, and the Morton codes that will be obtained are arranged in ascending order; and then the Morton codes are determined
  • the maximum value and the minimum value of the Morton code are further calculated to obtain the difference between the maximum value of the Morton code and the minimum value of the Morton code (which can be represented by delta).
  • the delta bit By shifting the delta bit to the right, when the delta bit is shifted by N bits to the right, the shifted delta is obtained, which can make the shifted delta meet the preset range.
  • the point cloud can be divided into shifted delta Space block.
  • the delta bit is shifted to the right by N bits, which can be regarded as the maximum value bit of Morton code shifted to the right by N bits, and the minimum value bit of Morton code is shifted to the right by N bits, and then the difference between the two is calculated, and the difference is obtained That is, the delta bits are shifted right by N bits.
  • the preset range indicates the range that the number of space blocks divided by the point cloud needs to be met.
  • the preset range may be 16 ⁇ delta ⁇ 32, or 8 ⁇ delta ⁇ 16, which is not specifically limited in the embodiment of the present application.
  • the method may further include:
  • the Morton code of the point in the point cloud is shifted by N bits to the right. In this way, if the Morton code value of some of the points after shifting is the same, then it can be determined that the part of the points belong to the same space. Block, that is, points with the same Morton code value after shifting to the right can be marked as "located in the same space block".
  • S401-b Determine the spatial block where the point to be encoded is located from the at least one spatial block based on the geometric position of the point to be encoded.
  • At least one space block can be obtained; in this way, according to the geometric position of the point to be coded, the space block where the point to be coded is located can be determined from the at least one space block, which is convenient for subsequent follow-up Construct a prediction model based on the space block.
  • the shape of the space block includes at least one of the following: a cube shape, a rectangular parallelepiped shape, and an irregular shape.
  • the space block can be a cuboid that divides the point cloud into a three-dimensional space, and the size of the cuboid is a ⁇ b ⁇ c; among them, the values of a, b, and c can be equal or unequal; here, when When the values of a, b, and c are equal, the cube is regarded as a special cuboid.
  • the space block can also be an irregular shape space block with strong correlation between color components, such as a triangle or a polygon. It can also be used to remove the correlation of the attribute color to obtain the prediction of the second color component. Residual.
  • constructing a prediction model according to the spatial block may include:
  • K points are selected from the space block, and the selected K points are formed into a point set; where K is a positive integer greater than or equal to 20;
  • model parameters based on the K points in the point set; wherein, the model parameters include a first model parameter and a second model parameter;
  • the prediction model is constructed.
  • K points can be selected from the points contained in the space block, and the selected K points can be formed into a point set; here, the value of K can be greater than or equal to 20 It is a positive integer, but the embodiment of the present application does not specifically limit it.
  • one point can be selected for every k (100 ⁇ k ⁇ 500) points in the space block. If the number of points contained in the space block is too few, 20 points can be selected uniformly Points; make the number of points selected for each space block not less than 20 points.
  • the first model parameter can be determined according to the color attribute values of these points in the point set (such as the first color component value, the second color component value, or the third color component value) And the second model parameters, and then construct a predictive model based on the first model parameters and the second model parameters.
  • the determining the model parameters based on the K points in the point set may include:
  • a second calculation sub-model is used to calculate the second model parameter.
  • constructing a predictive model can be regarded as a fitting straight line. That is, after the first model parameter and the second model parameter are determined, the fitted straight line can be obtained according to the first model parameter and the second model parameter.
  • the following will use the least squares method to fit a straight line as an example for detailed description. The specific process is as follows:
  • the coordinate x i represents the first color component value of any point (represented by the Y component value), and the coordinate y i represents the second color component of any point.
  • Value represented by the U component value
  • formula (4) is used to express the first calculation sub-model for calculating the first model parameters
  • formula (5) is used to express the second calculation sub-model for calculating the second model parameters; in this way, through the first calculation
  • the sub-model can obtain the first model parameter b, and the second model parameter a can be obtained through the second calculation sub-model, so that the fitted straight line can be obtained, that is, the prediction model.
  • the Y component can be used to predict the U component according to the prediction model, thereby obtaining the predicted value of the U component; then the actual value and the predicted value are used as residuals, And replace the original attribute value with the obtained residual, and then perform the subsequent LOD division and promotion transformation.
  • the difference and least squares method can also be used to fit the straight line.
  • Multiplicative methods are used to fit straight lines, such as gradient descent method or Gauss Newton method; in addition, the color attribute values of these points in the point set can also be used to fit a segmented straight line or curve to obtain a prediction model; The model parameters involved in the prediction model are written into the attribute bitstream.
  • the method may further include:
  • the first model parameter and the second model parameter are written into the attribute bitstream.
  • the first model parameters and the second model parameters can be written into the attribute bitstream, and then transmitted from the encoder side to the decoder side.
  • the side analyzes the attribute bit stream, so that the decoder side only needs to obtain the first model parameter and the second model parameter, so that the coding efficiency can be improved.
  • the first model parameter and the second model parameter can be further modified.
  • the first model parameter and the second model parameter can be quantified, and then written into the attribute bit stream; or, it can also be just the model parameters of the first space block (including the first model parameters and the second model parameters). ) Write the attribute bit stream, and modify the model parameter of the remaining space block to the residual value of the model parameter compared with the first space block, and then write the residual value into the attribute bit stream in turn.
  • writing the first model parameter and the second model parameter into an attribute bitstream may include:
  • the quantized first model parameter and the quantized second model parameter are written into the attribute bitstream.
  • first model parameter and the second model parameter are quantized on the encoder side, then after the attribute bitstream is parsed on the decoder side, the first model parameter and the second model parameter need to be reversed. Quantification processing.
  • the writing the first model parameter and the second model parameter into an attribute bitstream may include:
  • At least one space block includes the first space block and the remaining space block.
  • the encoder side first writes the attribute bit stream to the model parameter of the first space block (including the first model parameter and the second model parameter), and the remaining space
  • the model parameter of the block is modified to the residual value of the model parameter compared with the first spatial block, and then the residual value is written into the attribute bit stream in turn; then after the attribute bit stream is parsed on the decoder side, it needs to be analyzed according to the The residual values of the model parameters are obtained to determine the model parameters of the remaining space block.
  • the method may further include:
  • the correlation between the color channels is calculated according to the selected point set in the space block to obtain the second correlation degree, that is, the correlation of the parent space block.
  • the number of right shifts of the Morton code is reduced by one (assuming the number of right shifts is N, then the number of right shifts is reduced by one to N- 1)
  • the space block can be divided into two sub-space blocks.
  • the correlation calculation between the color channels is performed on the two subspace blocks to obtain the third correlation degree, that is, the correlation between the two subspace blocks.
  • the space block can be divided into two subspace blocks, that is, two subspace blocks are used to perform the prediction between the color channels respectively, that is, Construct two sub-prediction models based on the two sub-space blocks to predict the second color component based on the first color component; otherwise, if the correlation between the two sub-space blocks is less than or equal to the correlation of the parent space block, then the parent space block can be used to perform Prediction, that is, the flow of the prediction method shown in Figure 4 is executed.
  • the coding performance of the G-PCC attribute coding part can be improved.
  • the coding performance is basically not affected, for example, the PSNR of the attribute is not affected, the first color channel (indicated by Y), the second color channel (indicated by U) and the third color channel (indicated by U) of the attribute part can be reduced.
  • V represents the bit rate of).
  • PSNR is an objective evaluation criterion of image coding quality, and the larger the PSNR, the better the image coding quality.
  • This embodiment provides a prediction method, which is applied to an encoder.
  • the specific implementation of the foregoing embodiment is described in detail through the foregoing embodiment. It can be seen from this that one color component is used to predict another color component to obtain a predicted value, so as to calculate the prediction residual based on the actual value and the predicted value. Removal of the correlation between color components effectively reduces coding bit overhead and can improve coding efficiency.
  • FIG. 6 shows a schematic flow chart of another prediction method provided by an embodiment of the present application.
  • the method is applied to a decoder (may also be referred to as a point cloud decoder).
  • the method may include:
  • S601 Determine the spatial block where the point to be decoded is located
  • the point to be decoded represents the point cloud data of the object to be decoded in the point cloud.
  • multiple spatial blocks can be obtained. From these multiple spatial blocks, the spatial block where the point to be decoded is located can be determined, so as to construct a prediction model based on the spatial block subsequently, so as to realize the prediction between color components.
  • the first color component, the second color component, and the third color component can be used to represent the three color attributes of the point to be decoded.
  • these three color attributes can be represented by Y, U, V; specifically, the first color component can be represented by Y, the second color component can be represented by U, and the third color component can be represented by V; or the first color The component can be represented by Y, the second color component can be represented by V, and the third color component can be represented by U; the embodiment of the present application does not specifically limit it.
  • these three color attributes can be represented by R, G, and B; specifically, the first color component can be represented by R, the second color component can be represented by G, and the third color component can be represented by B; or the first color The component can be represented by R, the second color component can be represented by B, and the third color component can be represented by G; the embodiment of the present application does not specifically limit it.
  • S602 Analyze the attribute bitstream to obtain the first color component value, the initial residual, and the first model parameter and the second model parameter corresponding to the spatial block of the point to be decoded;
  • the code stream when the code stream is transmitted from the encoder side to the decoder side, the code stream can be parsed by the decoder side.
  • the code stream can include geometric bit stream and attribute bit stream; among them, the geometric bit stream includes the geometric information of the point cloud.
  • the geometric information of the point cloud By parsing the geometric bit stream on the decoder side, the geometric information of the point cloud can be obtained, such as to be decoded.
  • the position coordinates of the point, etc.; the attribute bitstream includes the attribute information of the point cloud, and the attribute information of the point cloud can be obtained by parsing the attribute bitstream on the decoder side; such as the first color component value of the point to be decoded, and the initial residual Difference and the first model parameter and the second model parameter corresponding to the space block.
  • S603 Construct a prediction model according to the first model parameter and the second model parameter; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be decoded;
  • a prediction model can be constructed, and the prediction model can characterize the prediction relationship between the first color component and the second color component of the point to be decoded.
  • the second color component of the point to be decoded can be predicted according to the first color component of the point to be decoded.
  • the prediction model can predict the U component based on the Y component of the point to be decoded, that is, the prediction method in this embodiment of the application is suitable for using the Y component Prediction of the U component;
  • the prediction model can also predict the V component based on the Y component of the point to be decoded, that is, the prediction method in this embodiment of the application also It is suitable for the prediction of the V component using the Y component.
  • S604 Obtain a second color component prediction value of the point to be decoded by using the prediction model and the first color component value;
  • the first color component value of the point to be decoded needs to be obtained at this time; in this way, according to the obtained first color component of the point to be decoded Component value, the predicted value of the second color component of the point to be decoded can be obtained through the prediction model.
  • the prediction model is used to predict the U component based on the Y component of the point to be decoded, then the obtained first color component value is the Y component value, and the second color component value is the U component value.
  • the prediction model and the Y component value can be used to obtain the U component prediction value of the point to be decoded; or, if the prediction model is used to predict the V component based on the Y component of the point to be decoded, then the obtained first color component value is the Y component
  • the value of the second color component is the value of the V component, so according to the prediction model and the value of the Y component, the predicted value of the V component of the point to be decoded can be obtained.
  • S606 Calculate the second color component reconstruction value of the to-be-decoded point according to the residual of the to-be-decoded point and the predicted value of the second color component.
  • the residual of the point to be decoded and the predicted value of the second color component are obtained, the residual of the point to be decoded and the predicted value of the second color component are superimposed to obtain the reconstructed value of the second color component of the point to be decoded.
  • FIG. 7 shows a block diagram of a G-PCC decoding process provided by an embodiment of the present application.
  • the inverse prediction transformation between attribute color channels is added.
  • the prediction method of the embodiment of the present application is mainly applied to this part to realize the attribute prediction between color channels.
  • one color component is used to predict another color component to obtain a predicted value.
  • the attribute information of the point cloud can be predicted non-destructively, and the correlation between the three color channels is removed.
  • the image decoding quality can use objective quality evaluation criteria, such as Peak Signal to Noise Ratio (PSNR), or subjective quality evaluation criteria, such as Mean Opinion Score (MOS).
  • PSNR Peak Signal to Noise Ratio
  • MOS Mean Opinion Score
  • the embodiment of the application provides a prediction method, which can be applied to a decoder by determining the spatial block of the point to be decoded; analyzing the attribute bit stream to obtain the first color component value and the initial residual value of the point to be decoded.
  • the first model parameter and the second model parameter corresponding to the difference and the space block; according to the first model parameter and the second model parameter, a prediction model is constructed, and the prediction model is used to characterize the first color component and the second color component of the point to be decoded
  • the spatial block may also be obtained by spatially dividing the point cloud. Therefore, in some embodiments, therefore, in some embodiments, for S601, the determining the spatial block where the point to be decoded is located may include:
  • S601-a Perform spatial division of the point cloud to obtain at least one spatial block
  • the point cloud may be divided into multiple spatial blocks according to the spatial neighbor relationship between the points. Therefore, for S601-a, the spatial division of the point cloud to obtain at least one spatial block may include:
  • the point cloud is divided into a plurality of point sets, and the first degree of correlation between the first color component and the second color component in each point set is determined ;
  • the point cloud is spatially divided according to the determined first degree of correlation to obtain the at least one spatial block.
  • the point cloud can be divided into multiple point sets according to the spatial neighbor relationship between the points in the point cloud, so that the difference between the first color component and the second color component in each point set can be determined
  • the first degree of correlation can then divide the point cloud into spatial blocks with higher correlation between color components.
  • the point cloud may be spatially divided according to the first correlation between the Y component and the U component in each point set, or it may be based on the first correlation between the Y component and the V component in each point set.
  • the point cloud is spatially divided according to the degree; since the closer the distance between the color components, the higher the correlation of the points, so that at least one spatial block can be obtained by performing the spatial division according to the first degree of correlation between the color components.
  • the point cloud can be divided into multiple spatial blocks according to the Morton code of the points in the point cloud. Therefore, for S601-a, the spatial division of the point cloud to obtain at least one spatial block includes:
  • N is greater than or A positive integer equal to 1;
  • the point cloud is divided into the shifted difference space blocks.
  • the points may be all points in the point cloud, or some points in the point cloud, and these points are relatively concentrated in space.
  • the Morton codes of these points can be calculated and the calculated Morton codes are arranged in ascending order, and the Morton codes that will be obtained are arranged in ascending order; and then the Morton codes are determined
  • the maximum value and the minimum value of the Morton code are further calculated to obtain the difference between the maximum value of the Morton code and the minimum value of the Morton code (which can be represented by delta).
  • delta By shifting the delta bit to the right, when the delta bit is shifted by N bits to the right, the shifted delta is obtained, which can make the shifted delta meet the preset range.
  • the point cloud can be divided into shifted delta Space block.
  • the delta bit is shifted to the right by N bits, which can be regarded as the maximum value bit of Morton code shifted to the right by N bits, and the minimum value bit of Morton code is shifted to the right by N bits, and then the difference between the two is calculated, and the difference is obtained That is, the delta bits are shifted right by N bits.
  • the preset range indicates the range that the number of space blocks divided by the point cloud needs to be met.
  • the preset range may be 16 ⁇ delta ⁇ 32, or 8 ⁇ delta ⁇ 16, which is not specifically limited in the embodiment of the present application.
  • the method may further include:
  • the Morton code of the point in the point cloud is shifted by N bits to the right. In this way, if the Morton code value of some of the points after shifting is the same, then it can be determined that the part of the points belong to the same space. Block, that is, points with the same Morton code value after shifting to the right can be marked as "located in the same space block".
  • S601-b Based on the geometric position of the to-be-decoded point, determine the spatial block where the to-be-decoded point is located from the at least one spatial block.
  • At least one spatial block can be obtained; in this way, according to the geometric position of the point to be decoded, the spatial block where the point to be decoded is located can be determined from the at least one spatial block, which is convenient for subsequent follow-up Construct a prediction model based on the space block.
  • the shape of the space block includes at least one of the following: a cube shape, a rectangular parallelepiped shape, and an irregular shape.
  • the space block can be a cuboid that divides the point cloud into a three-dimensional space, and the size of the cuboid is a ⁇ b ⁇ c; among them, the values of a, b, and c can be equal or unequal; here, when When the values of a, b, and c are equal, the cube is regarded as a special cuboid.
  • the space block can also be an irregular shape space block with strong correlation between color components, such as a triangle or a polygon, and can also be used to remove the correlation of attribute colors to improve decoding efficiency.
  • the first model parameter and the second model parameter after analyzing the attribute bitstream, the first model parameter and the second model parameter need to be dequantized; or, the first model parameter and the second model parameter may also be obtained through analysis.
  • the model parameters of each space block (including the first model parameter and the second model parameter) and the model parameter residual value of the remaining space block, and then the model parameter of the remaining space block is obtained according to the residual value of the model parameter.
  • the method may further include:
  • first model parameter and the second model parameter are quantized on the encoder side, then after the attribute bitstream is parsed on the decoder side, the first model parameter and the second model parameter need to be reversed. Quantitative processing to obtain the first model parameter and the second model parameter.
  • the method may further include:
  • the first model parameter and the second model parameter corresponding to the first space block and the residual value of the model parameter are obtained.
  • At least one space block includes the first space block and the remaining space block.
  • the encoder side first writes the attribute bit stream to the model parameter of the first space block (including the first model parameter and the second model parameter), and the remaining space
  • the model parameter of the block is modified to the residual value of the model parameter compared with the first spatial block, and then the residual value is written into the attribute bit stream in turn; then after the attribute bit stream is parsed on the decoder side, it needs to be analyzed according to the
  • the model parameter residual values obtained are used to determine the model parameters (including the first model parameter and the second model parameter) of the remaining space block.
  • the correlation calculation between the color channels is performed according to the selected point set in the space block to obtain the second correlation degree, that is, the correlation of the parent space block.
  • the second degree of correlation is low, for the point in the space block, the number of right shifts of the Morton code is reduced by one (assuming the number of right shifts is N, then the number of right shifts is reduced by one to N- 1)
  • the space block can be divided into two sub-space blocks. Then, the correlation calculation between the color channels is performed on the two subspace blocks to obtain the third correlation degree, that is, the correlation between the two subspace blocks.
  • the space block can be divided into two subspace blocks, that is, two subspace blocks are used to perform the prediction between the color channels respectively, that is, Construct two sub-prediction models based on the two sub-space blocks to predict the second color component based on the first color component; otherwise, if the correlation between the two sub-space blocks is less than or equal to the correlation of the parent space block, then the parent space block can be used to perform Prediction, that is, the flow of the prediction method shown in Figure 4 is executed.
  • the embodiment of the present application is to perform attribute prediction between color channels through the correlation between color channels under LOD division and lifting transformation.
  • space block division and straight line fitting are required, and the calculated first model parameters and second model parameters are written into the code stream and transmitted to the decoder.
  • the decoder side it only needs to divide the space block, and then predict the second color component value according to the first model parameter and the second model parameter of the corresponding space block obtained by the analysis and the first color component value, and finally the predicted value
  • the predicted value is superimposed with the residual value obtained after analysis, LOD division and lifting and inverse transformation, to obtain the required attribute reconstruction value.
  • the bit rate of the first color channel (represented by Y), the second color channel (represented by U), and the third color channel (represented by V) in the attribute part can be reduced without substantially affecting performance.
  • This embodiment provides a prediction method, which is applied to a decoder.
  • the specific implementation of the foregoing embodiment is described in detail through the foregoing embodiment. It can be seen that one color component is used to predict another color component to obtain a predicted value, so that the attribute value is calculated based on the predicted value and the predicted residual obtained by analysis. Because of the removal of the correlation between the color components, the decoding efficiency is improved.
  • FIG. 8 shows a schematic diagram of the composition structure of an encoder 80 provided by an embodiment of the present application.
  • the encoder 80 may include a first determination unit 801, a first construction unit 802, a first acquisition unit 803, a first prediction unit 804, a first calculation unit 805, and a transformation unit 806, where
  • the first determining unit 801 is configured to determine the spatial block where the point to be encoded is located;
  • the first construction unit 802 is configured to construct a prediction model according to the space block; wherein the prediction model is used to characterize the prediction relationship between the first color component and the second color component of the point to be coded;
  • the first obtaining unit 803 is configured to obtain the first color component value and the second color component value of the point to be coded
  • the first prediction unit 804 is configured to use the prediction model and the first color component value to obtain the second color component prediction value of the to-be-coded point;
  • the first calculation unit 805 is configured to calculate the difference between the second color component value and the second color component predicted value, and use the obtained difference as the residual of the point to be coded;
  • the transformation unit 806 is configured to perform LOD division and lifting transformation based on the residuals of the points to be coded.
  • the encoder 80 may further include a writing unit 807 configured to encode the residual of the point to be encoded and write the attribute bit stream.
  • the encoder 80 may further include a first dividing unit 808 configured to spatially divide the point cloud to obtain at least one spatial block;
  • the first determining unit 801 is configured to determine the spatial block where the point to be encoded is located from the at least one spatial block based on the geometric position of the point to be encoded.
  • the first determining unit 801 is further configured to divide the point cloud into a plurality of point sets according to the spatial neighbor relationship between the points in the point cloud, and determine that each point is concentrated A first degree of correlation between the first color component and the second color component;
  • the first dividing unit 808 is configured to spatially divide the point cloud according to the determined first degree of correlation to obtain the at least one spatial block.
  • the first calculation unit 805 is further configured to calculate the Morton code of the point in the point cloud
  • the first determining unit 801 is further configured to arrange Morton codes of points in the point cloud in ascending order, and determine the maximum value of the Morton code and the minimum value of the Morton code;
  • the first calculation unit 805 is further configured to calculate the difference between the maximum value of the Morton code and the minimum value of the Morton code, and to shift the obtained difference value by N bits to the right to obtain a shift The difference after; where N is a positive integer greater than or equal to 1;
  • the first dividing unit 808 is configured to divide the point cloud into the shifted difference space blocks when the shifted difference meets a preset range.
  • the first determining unit 801 is further configured to shift the Morton code of the point in the point cloud by N bits to the right; and in the point cloud, if the Morton code of the point in the point cloud is shifted, If the frame code value is the same, it is determined that the part of the points belong to the same space block.
  • the encoder 80 may further include a selecting unit 809, configured to select K points from the space block, and form a point set of the selected K points; where K is greater than or equal to A positive integer of 20;
  • the first determining unit 801 is configured to determine model parameters based on K points in the point set; wherein, the model parameters include a first model parameter and a second model parameter;
  • the first construction unit 802 is configured to construct the prediction model according to the first model parameter and the second model parameter.
  • the first obtaining unit 803 is configured to obtain the first color component value and the second color component value of each point in the point set;
  • the first calculation unit 805 is further configured to use a first calculation sub-model to calculate the first model parameter according to the first color component value and the second color component value of each point in the point set; and according to the The first model parameter is used to calculate the second model parameter using the second calculation sub-model.
  • the writing unit 807 is further configured to write the first model parameter and the second model parameter into the attribute bitstream.
  • the encoder 80 may further include a quantization unit 810, configured to perform quantization processing on the first model parameter and the second model parameter to obtain the quantized first model parameter and the quantized first model parameter.
  • the second model parameter configured to perform quantization processing on the first model parameter and the second model parameter to obtain the quantized first model parameter and the quantized first model parameter.
  • the writing unit 807 is further configured to write the quantized first model parameter and the quantized second model parameter into the attribute bitstream.
  • the writing unit 807 is further configured to write the first model parameter and the second model parameter corresponding to the first space block in the at least one space block into the attribute bit stream; and calculate the at least one space block.
  • the model parameter residual values of the remaining space block in one space block and the previous space block are sequentially written into the attribute bit stream; wherein, the at least one space block includes the first space block And the remaining space block.
  • the first calculation unit 805 is further configured to calculate the second correlation between the first color component and the second color component corresponding to the space block for the space block;
  • the first dividing unit 808 is further configured to, if the second correlation degree is less than the preset correlation degree threshold, right shift the Morton code of each point in the space block by N-1 bits to obtain two sub-space blocks;
  • the first calculation unit 805 is further configured to calculate a third degree of correlation between the first color component and the second color component corresponding to the two subspace blocks;
  • the first construction unit 802 is further configured to construct two sub-prediction models according to the two sub-space blocks if the third correlation is greater than the second correlation;
  • the first prediction unit 804 is further configured to use the two sub-prediction models and the first color component value to obtain the second color component prediction value of the to-be-coded point.
  • the shape of the space block includes at least one of the following: a cube shape, a rectangular parallelepiped shape, and an irregular shape.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components 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 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: 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.
  • this embodiment provides a computer storage medium that stores a prediction program that implements the method described in any one of the foregoing embodiments when the prediction program is executed by a first processor.
  • FIG. 9 shows the specific hardware structure of the encoder 80 provided by the embodiment of the present application, which may include: a first communication interface 901, a first memory 902, and a first communication interface 901; Processor 903; the components are coupled together through the first bus system 904.
  • the first bus system 904 is used to implement connection and communication between these components.
  • the first bus system 904 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the first bus system 904 in FIG. 9. among them,
  • the first communication interface 901 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the first memory 902 is configured to store a computer program that can run on the first processor 903;
  • the first processor 903 is configured to execute: when the computer program is running:
  • LOD division and lifting transformation are performed.
  • the first memory 902 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • Enhanced SDRAM, ESDRAM Synchronous Link Dynamic Random Access Memory
  • Synchlink DRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus RAM
  • the first processor 903 may be an integrated circuit chip with signal processing capability. In the implementation process, the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the first processor 903 or instructions in the form of software.
  • the above-mentioned first processor 903 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC application specific integrated circuit
  • FPGA ready-made programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the first memory 902, and the first processor 903 reads the information in the first memory 902, and completes the steps of the foregoing method in combination with its hardware.
  • the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic Device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD programmable Logic Device
  • Field-Programmable Gate Array Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this
  • the first processor 903 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • This embodiment provides an encoder, which may include a first determination unit, a first construction unit, a first acquisition unit, a first prediction unit, a first calculation unit, and a transformation unit.
  • the first determining unit is configured to determine the spatial block where the point to be coded is located;
  • the first construction unit is configured to construct a prediction model according to the spatial block, and the prediction model is used to characterize the first color component and the second color component of the point to be coded.
  • the prediction relationship between the color components is configured to obtain the first color component value and the second color component value of the point to be coded; the first prediction unit is configured to use the prediction model and the first color component value to obtain The predicted value of the second color component of the point to be coded; the first calculation unit is configured to calculate the difference between the second color component value and the predicted value of the second color component, and use the obtained difference as the residual of the point to be coded; transform The unit is configured to perform LOD division and lifting transformation based on the residuals of the points to be coded; in this way, one color component is used to predict the other color components to obtain the predicted value, so as to calculate the predicted residual based on the actual value and the predicted value. Removal of the correlation between color components effectively reduces coding bit overhead and can improve coding efficiency.
  • FIG. 10 shows a schematic diagram of the composition structure of a decoder 100 provided by an embodiment of the present application.
  • the decoder 100 may include a second determination unit 1001, a parsing unit 1002, a second construction unit 1003, a second prediction unit 1004, an inverse transform unit 1005, and a second calculation unit 1006, wherein,
  • the second determining unit 1001 is configured to determine the spatial block where the point to be decoded is located;
  • the analysis unit 1002 is configured to analyze the attribute bitstream to obtain the first color component value, the initial residual, and the first model parameter and the second model parameter corresponding to the spatial block of the point to be decoded;
  • the second construction unit 1003 is configured to construct a prediction model according to the first model parameters and the second model parameters; wherein, the prediction model is used to characterize the first color component and the second color of the point to be decoded The predictive relationship between the components;
  • the second prediction unit 1004 is configured to use the prediction model and the first color component value to obtain the second color component prediction value of the to-be-decoded point;
  • the inverse transform unit 1005 is configured to perform LOD division and lifting inverse transform on the parsed initial residual to obtain the residual of the to-be-decoded point;
  • the second calculation unit 1006 is configured to calculate the second color component reconstruction value of the to-be-decoded point according to the residual of the to-be-decoded point and the second color component predicted value.
  • the encoder 100 may further include a second dividing unit 1007 configured to spatially divide the point cloud to obtain at least one spatial block;
  • the second determining unit 1001 is configured to determine the spatial block where the point to be decoded is located from the at least one spatial block based on the geometric position of the point to be decoded.
  • the second determining unit 1001 is further configured to divide the point cloud into a plurality of point sets according to the spatial neighbor relationship between the points in the point cloud, and determine that each point is concentrated A first degree of correlation between the first color component and the second color component;
  • the second dividing unit 1007 is configured to spatially divide the point cloud according to the determined first degree of correlation to obtain the at least one spatial block.
  • the second calculation unit 1006 is further configured to calculate the Morton code of the point in the point cloud
  • the second determining unit 1001 is further configured to arrange the Morton codes of the points in the point cloud in ascending order, and determine the maximum value of the Morton code and the minimum value of the Morton code;
  • the second calculation unit 1006 is further configured to calculate the difference between the maximum value of the Morton code and the minimum value of the Morton code, and to shift the obtained difference by N bits to the right to obtain a shift The difference after; where N is a positive integer greater than or equal to 1;
  • the second dividing unit 1007 is configured to divide the point cloud into the shifted difference space blocks when the shifted difference meets a preset range.
  • the second determining unit 1001 is further configured to shift the Morton code of the point in the point cloud to the right by N bits; and in the point cloud, if some of the points in the point cloud are shifted, the Morton code If the frame code value is the same, it is determined that the part of the points belong to the same space block.
  • the encoder 100 may further include an inverse quantization unit 1008, configured to perform inverse quantization processing on the first model parameter and the second model parameter obtained by analysis to obtain the first model parameter and the The second model parameter.
  • an inverse quantization unit 1008 configured to perform inverse quantization processing on the first model parameter and the second model parameter obtained by analysis to obtain the first model parameter and the The second model parameter.
  • the analysis unit 1002 is further configured to obtain the first model parameter and the second model parameter corresponding to the first space block in the at least one space block, and the remaining space block corresponding to the at least one space block.
  • the residual value of the model parameter; and according to the first model parameter and the second model parameter corresponding to the first space block and the residual value of the model parameter, the first model parameter and the first model parameter corresponding to the remaining space block are obtained 2.
  • the shape of the space block includes at least one of the following: a cube shape, a rectangular parallelepiped shape, and an irregular shape.
  • a "unit” may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components 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.
  • this embodiment provides a computer storage medium that stores a prediction program, and when the prediction program is executed by a second processor, the method described in any one of the foregoing embodiments is implemented.
  • FIG. 11 shows the specific hardware structure of the decoder 100 provided by an embodiment of the present application, which may include: a second communication interface 1101, a second memory 1102, and a second communication interface 1101; Processor 1103; the components are coupled together through the second bus system 1104.
  • the second bus system 1104 is used to implement connection and communication between these components.
  • the second bus system 1104 also includes a power bus, a control bus, and a status signal bus.
  • various buses are marked as the second bus system 1104 in FIG. 11. among them,
  • the second communication interface 1101 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the second memory 1102 is configured to store a computer program that can run on the second processor 1103;
  • the second processor 1103 is configured to execute the following when running the computer program:
  • the reconstruction value of the second color component of the point to be decoded is calculated.
  • the second processor 1103 is further configured to execute the method described in any one of the foregoing embodiments when running the computer program.
  • This embodiment provides a decoder, which may include a second determination unit, a parsing unit, a second construction unit, a second prediction unit, an inverse transformation unit, and a second calculation unit.
  • the second determining unit is configured to determine the spatial block where the point to be decoded is located;
  • the parsing unit is configured to analyze the attribute bit stream to obtain the first color component value of the point to be decoded, the initial residual, and the corresponding spatial block The first model parameter and the second model parameter;
  • the second construction unit is configured to construct a prediction model according to the first model parameter and the second model parameter, and the prediction model is used to characterize the first color component and the second color component of the point to be decoded
  • the second prediction unit is configured to use the prediction model and the first color component value to obtain the second color component prediction value of the to-be-decoded point;
  • the inverse transform unit is configured to perform LOD division and analysis on the parsed initial residual Lift the inverse transform to obtain the residual of the point to be decode
  • the method is applied to the encoder to determine the spatial block of the point to be coded; according to the spatial block, a prediction model is constructed, and the prediction model is used to characterize the first color component and the first color component of the point to be coded.
  • the prediction relationship between the two color components then obtain the first color component value and the second color component value of the point to be coded; use the prediction model and the first color component value to obtain the predicted value of the second color component of the point to be coded; finally Calculate the difference between the second color component value and the predicted value of the second color component, and use the obtained difference as the residual of the point to be coded; perform LOD division and boost transformation based on the residual of the point to be coded; in this way, use One color component predicts another color component to obtain a predicted value, so that the prediction residual is calculated based on the actual value and the predicted value, which can remove the correlation between color components, effectively reduce coding bit overhead, and improve coding efficiency;
  • the method is also applied to the decoder, by determining the spatial block where the point to be decoded is located; analyzing the attribute bit stream to obtain the first color component value of the point to be decoded, the initial residual, and the first model parameter sum corresponding to the spatial block
  • the second model parameter according to the first model parameter

Landscapes

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

Abstract

本申请实施例公开了一种预测方法、编码器、解码器及计算机存储介质,该方法应用于编码器,包括:确定待编码点所处的空间块;根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待编码点的第一颜色分量与第二颜色分量之间的预测关系;获取所述待编码点的第一颜色分量值和第二颜色分量值;利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;基于所述待编码点的残差,进行细节层次LOD划分和提升变换。

Description

预测方法、编码器、解码器及计算机存储介质 技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及一种预测方法、编码器、解码器及计算机存储介质。
背景技术
在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)编码器框架中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。几何编码完成后,对几何信息进行重建,而属性信息的编码将依赖于重建的几何信息。
目前,属性信息编码主要针对颜色信息的编码。首先,将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一是依赖于细节层次(Level of Detail,LOD)划分的基于距离的提升变换,另一是直接进行的区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT),这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化并编码,生成二进制码流。
然而,在LOD划分之前,由于三个颜色分量(可以分别用Y、U、V表示)之间具有一定的相关性,导致在进行LOD和提升变换时,会增加编码的比特数,使得编码效率较差。
发明内容
本申请实施例提供一种预测方法、编码器、解码器及计算机存储介质,能够去除LOD和提升变换之前三个颜色分量之间的相关性,有效降低编码比特开销,从而提高编解码效率。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种预测方法,应用于编码器,该方法包括:
确定待编码点所处的空间块;
根据所述空间块,构造预测模型;其中,预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;
获取待编码点的第一颜色分量值和第二颜色分量值;
利用预测模型以及第一颜色分量值,获得待编码点的第二颜色分量预测值;
计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;
基于待编码点的残差,进行细节层次LOD划分和提升变换。
第二方面,本申请实施例提供了一种预测方法,应用于解码器,该方法包括:
确定待解码点所处的空间块;
对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
根据第一模型参数和第二模型参数,构造预测模型;其中,预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;
利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;
对解析到的初始残差进行LOD划分和提升逆变换,得到待解码点的残差;
根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一构造单元、第一获取单元、第一预测单元、第一计算单元和变换单元,其中,
第一确定单元,配置为确定待编码点所处的空间块;
第一构造单元,配置为根据所述空间块,构造预测模型;其中,预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;
第一获取单元,配置为获取待编码点的第一颜色分量值和第二颜色分量值;
第一预测单元,配置为利用预测模型以及第一颜色分量值,获得待编码点的第二颜色分量预测值;
第一计算单元,配置为计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;
变换单元,配置为基于所述待编码点的残差,进行LOD划分和提升变换。
第四方面,本申请实施例提供了一种解码器,该解码器包括第二确定单元、解析单元、第二构造单元、第二预测单元、逆变换单元和第二计算单元,其中,
第二确定单元,配置为确定待解码点所处的空间块;
解析单元,配置为对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
第二构造单元,配置为根据第一模型参数和第二模型参数,构造预测模型;其中,预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;
第二预测单元,配置为利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;
逆变换单元,配置为对解析到的初始残差进行LOD划分和提升逆变换,得到待解码点的残差;
第二计算单元,配置为根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值。
第五方面,本申请实施例提供了一种编码器,该编码器包括第一存储器和第一处理器,其中,
第一存储器,用于存储能够在第一处理器上运行的计算机程序;
第一处理器,用于在运行计算机程序时,执行如第一方面所述的方法。
第六方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器,其中,
第二存储器,用于存储能够在第二处理器上运行的计算机程序;
第二处理器,用于在运行计算机程序时,执行如第二方面所述的方法。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种预测方法、编码器、解码器及计算机存储介质,该方法可以应用于编码器,通过确定待编码点所处的空间块;根据所述空间块,构造预测模型,该预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;再获取待编码点的第一颜色分量值和第二颜色分量值;利用预测模型以及第一颜色分量值,获得待编码点的第二颜色分量预测值;最后计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差,基于所述待编码点的残差,进行LOD划分和提升变换;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率;该方法还可以应用于解码器,通过确定待解码点所处的空间块;对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及空间块对应的第一模型参数和第二模型参数;根据第一模型参数和第二模型参数,构造预测模型,该预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;再利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;最后对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了LOD和提升变换之前颜色分量之间的相关性,有效降低了编码比特开销,从而提高了编解码效率。
附图说明
图1为相关技术方案提供的一种G-PCC编码的流程框图;
图2为相关技术方案提供的一种G-PCC解码的流程框图;
图3A为相关技术方案提供的一种LOD生成过程的结构示意图;
图3B为相关技术方案提供的另一种LOD生成过程的结构示意图;
图4为本申请实施例提供的一种预测方法的流程示意图;
图5为本申请实施例提供的一种G-PCC编码的流程框图;
图6为本申请实施例提供的另一种预测方法的流程示意图;
图7为本申请实施例提供的一种G-PCC解码的流程框图;
图8为本申请实施例提供的一种编码器的组成结构示意图;
图9为本申请实施例提供的一种编码器的具体硬件结构示意图;
图10为本申请实施例提供的一种解码器的组成结构示意图;
图11为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在本申请实施例中,在点云G-PCC编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。
参见图1,其示出了相关技术方案提供的一种G-PCC编码的流程框图。如图1所示的G-PCC编码的流程框图中,应用于点云编码器,针对待编码的点云数据,首先通过slice划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个bounding box(包围盒)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于三角面片集(triangle soup,trisoup)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到block(子块)边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex(交点),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。Vertex还用于在几何重建的过程的实现,而重建的集合信息在对点云的属性编码时使用。
在属性编码过程中,几何编码完成,对几何信息进行重建后,进行颜色转换,将颜色信息(即属性信息)从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。属性编码主要针对颜色信息进行,在颜色信息编码过程中,主要有两种变换方法,一是依赖于细节层次(Level of Detail,LOD)划分的基于距离的提升变换,目前划分LOD主要分为基于距离进行划分LOD(主要针对Category1序列)和基于固定采样率进行划分LOD(主要针对Category3序列)等两种方式;二是直接进行区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)的变换。其中,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将经过八叉树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个block的vertex坐标(即算数编码),生成二进制的属性比特流,即属性码流。
参见图2,其示出了相关技术方案提供的一种G-PCC解码的流程框图。如图2所示的G-PCC解码的流程框图中,应用于点云解码器,针对所获取的二进制码流,首先对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-逆坐标转换,得到点云的几何信息;在对属性比特流的解码时,通过算术解码-反量化-基于LOD的提升逆变换或者基于RAHT的逆变换-逆颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
图1所示的G-PCC编码的流程框图中,LOD划分主要用于点云属性变换中Predicting(预测)和lifting(提升)两种方式。下面将对基于距离进行LOD划分进行详细介绍。具体来说,LOD划分是通过一组距离阈值(用d l表示,l=0,1,...,N-1),将输入的点云划分为不同的细化级别(用R l表示,l=0,1,...,N-1),即将点云中的点划分到不同的集合R l中。其中,该距离阈值可以是自定义的值。距离阈值d l需要满足两个条件:d l<d l-1以及d l-1=0。
LOD划分的过程是在点云几何重建之后,这时候点云的几何坐标信息是可以直接获取的。划分LOD的过程可以同时应用在点云编码器和点云解码器,具体过程如下:
(1)、将点云中所有的点置于“未访问过”的点集,并且初始化“访问过”的点集(用V表示)为空集;
(2)、通过不断迭代来划分LOD层,第l次迭代所对应的细化级别R l生成过程如下所示:
a、通过迭代遍历点云中所有的点;
b、如果当前的点已经遍历过,则忽略该点;
c、否则,分别计算该点到集合V中每个点的距离,记录其中最近的距离为D;
d、如果距离D大于或等于阈值d l,则将该点添加到细化级别R l和集合V中;
e、重复a至d的过程,直至点云中所有的点全部被遍历过;
(3)、针对第l个LOD集合,即LODl是通过将细化级别R 0、R 1、…、R l中的点进行合并得到;
(4)、通过重复(1)至(3)的过程进行不断地迭代,直至所有的LOD层生成或者所有的点都被遍历过。
参见图3A,其示出了相关技术方案提供的一种LOD生成过程的结构示意图。在图3A中,点云中包括有P0、P1、P2、P3、P4、P5、P6、P7、P8、P9等10个点,基于距离阈值进行LOD划分,如此,LOD0集合中顺序包括有P4、P5、P0、P2,LOD1集合中顺序包括有P4、P5、P0、P2、P3、P1、P6,LOD2集合中顺序包括有P4、P5、P0、P2、P3、P1、P6、P7、P8、P9。
相关技术中有提到基于莫顿码进行LOD划分的方案。与原始遍历搜索全部的点进行LOD划分的方案相比,基于莫顿码进行LOD划分的方案可以降低计算复杂度。
具体来说,莫顿编码也叫z-order code,因为其编码顺序按照空间z序。首先以变量P i表示输入点云中的点,变量M i为与P i相关的莫顿码,其中,i=1,2,...,N。计算莫顿码的具体过程描述如下所示,对于每一个分量用d比特二进制数表示的三维坐标,其三个坐标分量的表示通过以下实现:
Figure PCTCN2019109695-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的计算公式如下所示:
Figure PCTCN2019109695-appb-000002
其中,m l'∈{0,1}分别是M的最高位(l'=1)到最低位(l'=3d)的值。在得到点云中每个点的莫顿码M后,将点云中的点按照莫顿码由小到大的顺序进行排列。
进一步地,D0(初始距离的阈值)和ρ(相邻LOD层划分时的距离阈值比)分别为用户自定义的初始参数,并且ρ>1。假定I表示所有点的索引,在第k次迭代时,LODk中的点会从LOD0到第LODk-1层中查找最近邻居,即距离最近的点;k=1,2,...,N-1。这里,N为LOD划分的总层数;而且当k=0时,第0次迭代时,LOD0中的点会直接在LOD0中查找最近邻居。具体过程如下:
(1)、初始化划分距离阈值为D=D 0
(2)、在第k次迭代时,L(k)保存属于第k层LOD中的点,O(k)保存比LODk层更高细化级别的点集。其中,L(k)和O(k)的计算过程如下:
首先,O(k)和L(k)被初始化为空集;
其次,每一次迭代按照I中所保存点的索引顺序进行遍历。具体地,每一次遍历都会计算当前点到集合O(k)中一定范围内所有点的几何距离,而且基于I中当前点所对应的莫顿码,在集合O(k)中进行查找第一个大于当前点所对应莫顿码点的索引,然后在该索引的一个搜索范围SR1内进行查找(这里,SR1表示基于莫顿码的搜索范围,一般取值为8,16,64);如果在该范围内查找到与当前点的距离小于阈值d l的点,就将当前点加入到集合L(k)中,否则,则将当前点加入到集合O(k)中;
(3)、在每一次迭代的过程中,集合L(k)和O(k)分别进行计算,并且O(k)中的点会被用来预测集合L(k)中点。假定集合R(k)=L(k)\L(k-1),即R(k)表示LOD(k-1)与LOD(k)集合相差部分的点集。针对位于集合R(k)中的点会在集合O(k)中进行查找最近的h个预测邻居(一般来说,h可以设置为3)。查找最近邻居的具体过程如下:
a、对于集合R(k)中的点P i,该点所对应的莫顿码为M i
b、在集合O(k)查找第一个大于当前点P i所对应的莫顿码M i的点的索引j;
c、基于索引j在集合O(k)中的一个搜索范围[j-SR2,j+SR2]内查找当前点P i的最近邻居(这里,SR2表示一个搜索范围,一般取值为8、16、32、64);
(4)、通过重复(1)至(3)的过程不断地迭代,直至I中所有的点全部被遍历。
参见图3B,其示出了相关技术方案提供的另一种LOD生成过程的结构示意图。在图3B中,点云中包括有P0、P1、P2、P3、P4、P5、P6、P7、P8、P9等10个点,基于莫顿码进行LOD划分,首先按照莫顿码的升序进行排列,这10个点的顺序为P4、P1、P9、P5、P0、P6、P8、P2、P7、P3;然后 进行最近邻居的查找,如此,LOD0集合中仍然顺序包括有P4、P5、P0、P2,LOD1集合中仍然顺序包括有P4、P5、P0、P2、P3、P1、P6,LOD2集合中仍然顺序包括有P4、P5、P0、P2、P3、P1、P6、P7、P8、P9。
然而,目前的解决方案在LOD划分之后,利用LODk-1层来预测LODk层中点的颜色属性;由于属性信息对应的三个颜色通道是分别进行的,三者之间相互独立。也就是说,现有的点云属性变换Predicting和lifting,是属性的三种颜色分量(可以分别用Y、U、V表示)通过三个颜色通道分别进行LOD的预测,而且在点云属性变换Predicting和lifting之前,这三个颜色分量之间具有一定的相关性;导致在进行LOD和提升变换时,会增加编码的比特数,使得编码效率下降。
本申请实施例提供了一种预测方法,该方法应用于编码器,通过确定待编码点所处的空间块;根据所述空间块,构造预测模型,该预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;再获取待编码点的第一颜色分量值和第二颜色分量值;利用预测模型以及第一颜色分量值,获得待编码点的第二颜色分量预测值;最后计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;基于待编码点的残差,进行LOD划分和提升变换;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率;该方法还应用于解码器,通过确定待解码点所处的空间块;对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及空间块对应的第一模型参数和第二模型参数;根据第一模型参数和第二模型参数,构造预测模型,该预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;再利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;最后对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了LOD和提升变换之前颜色分量之间的相关性,有效降低了编码比特开销,从而提高了编解码效率。
下面将结合附图对本申请各实施例进行详细说明。
参见图4,其示出了本申请实施例提供的一种预测方法的流程示意图,该方法应用于编码器(也可以称为点云编码器),该方法可以包括:
S401:确定待编码点所处的空间块;
S402:根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待编码点的第一颜色分量与第二颜色分量之间的预测关系;
需要说明的是,待编码点表示点云中待编码对象的点云数据。通过对点云进行空间划分,可以得到多个空间块。从这多个空间块中,可以确定出待编码点所处的空间块,以便后续根据该空间块构造预测模型,从而实现颜色分量间的预测。
还需要说明的是,针对空间内每一个待编码点,可以用第一颜色分量、第二颜色分量和第三颜色分量来表示待编码点的三种颜色属性。其中,这三种颜色属性可以利用Y、U、V表示;具体地,第一颜色分量可以用Y表示,第二颜色分量可以用U表示,第三颜色分量可以用V表示;或者第一颜色分量可以用Y表示,第二颜色分量可以用V表示,第三颜色分量可以用U表示;本申请实施例不作具体限定。
另外,这三种颜色属性可以利用R、G、B表示;具体地,第一颜色分量可以用R表示,第二颜色分量可以用G表示,第三颜色分量可以用B表示;或者第一颜色分量可以用R表示,第二颜色分量可以用B表示,第三颜色分量可以用G表示;本申请实施例也不作具体限定。
这样,根据待编码点所处的空间块,可以构造预测模型,该预测模型可以表征待编码点的第一颜色分量与第二颜色分量之间的预测关系。也就是说,利用该预测模型,可以根据待编码点的第一颜色分量来预测待编码点的第二颜色分量。具体地,假定第一颜色分量用Y表示,第二颜色分量用U表示,那么该预测模型可以根据待编码点的Y分量来预测U分量,即本申请实施例的预测方法适用于利用Y分量对U分量的预测;假定第一颜色分量用Y表示,第二颜色分量用V表示,那么该预测模型也可以根据待编码点的Y分量来预测V分量,即本申请实施例的预测方法也适用于利用Y分量对V分量的预测。
S403:获取所述待编码点的第一颜色分量值和第二颜色分量值;
S404:利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;
需要说明的是,在构造预测模型之后,为了预测待编码点的第二颜色分量,这时候还需要获取待编码点的第一颜色分量值;如此,根据所获取的待编码点的第一颜色分量值,通过预测模型可以得到待编码点的第二颜色分量预测值。
还需要说明的是,如果预测模型用于实现根据待编码点的Y分量来预测U分量,那么所获取的第一颜色分量值为Y分量值,第二颜色分量值为U分量值,如此根据预测模型和Y分量值,可以得到待编码点的U分量预测值,进而能够根据U分量值和U分量预测值来计算残差;如果预测模型用于实现根据待编码点的Y分量来预测V分量,那么所获取的第一颜色分量值为Y分量值,第二颜色分量值为V分量值,如此根据预测模型和Y分量值,可以得到待编码点的V分量预测值,进而能够根据V分量值和V分量预测值来计算残差。
S405:计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;
S406:基于所述待编码点的残差,进行LOD划分和提升变换。
需要说明的是,在得到待编码点的第二颜色分量预测值之后,可以根据待编码点的第二颜色分量值(实际值)与第二颜色分量预测值之间的差值,以得到待编码点的残差,然后根据待编码点的残差进行LOD划分和提升变换。
这样,本申请实施例可以对点云的属性信息进行无损预测,并且在获得相同的图像编码质量的情况下,有效降低编码比特开销,从而提升了编码效率。其中,图像编码质量可以使用客观质量评价准则,比如峰值信噪比(Peak Signal to Noise Ratio,PSNR),也可以使用主观质量评价准则,比如平均主观意见分(Mean Opinion Score,MOS)。
进一步地,在进行LOD划分和提升变换之后,还需要对待编码点的残差进行编码,以写入码流中。因此,在一些实施例中,在对所述待编码点的残差进行LOD划分和提升变换之后,该方法还可以包括:
对所述待编码点的残差进行编码,写入属性比特流。
需要说明的是,码流可以包括几何比特流和属性比特流。其中,几何比特流中包括有点云的几何信息,比如位置坐标信息等;属性比特流中包括有点云的属性信息,比如三种颜色信息等。如此,在进行LOD划分和提升变换之后,还需要对待编码点的残差进行编码,写入属性比特流;然后再由编码器侧传输到解码器侧,在解码器侧对该属性比特流进行解析,以便于解码器侧获取待编码点的残差。
参见图5,其示出了本申请实施例提供的一种G-PCC编码的流程框图。如图5所示,与相关技术方案所示的编码框图相比,在LOD划分和提升变换之前,增加了属性颜色通道间预测变换的部分。本申请实施例的预测方法主要应用于该部分,以实现颜色通道之间的属性预测。这样,在LOD划分和提升变换之前,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,去除了三个颜色通道之间的相关性,从而能够提高编码效率。
本申请实施例提供了一种预测方法,该方法可以应用于编码器,通过确定待编码点所处的空间块;根据所述空间块,构造预测模型,该预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;再获取待编码点的第一颜色分量值和第二颜色分量值;利用预测模型以及第一颜色分量值,获得待编码点的第二颜色分量预测值;最后计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;基于待编码点的残差,进行LOD划分和提升变换;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率。
进一步地,空间块可以是通过对点云进行空间划分得到的。因此,在一些实施例中,对于S401来说,所述确定待编码点所处的空间块,可以包括:
S401-a:对点云进行空间划分,获得至少一个空间块;
需要说明的是,由于LOD划分的过程是根据莫顿码沿着z、y、x方向进行的,而三个颜色分量(比如Y分量、U分量和V分量)之间距离越相近的点,其相关性越高;基于此,可以对点云进行空间划分,从而能够得到至少一个空间块。
在一些实施例中,可以根据点与点之间的空间相邻关系将点云划分成多个空间块。因此,对于S401-a来说,所述对点云进行空间划分,获得至少一个空间块,可以包括:
根据所述点云中点与点之间的空间相邻关系,将所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
也就是说,可以根据点云中点与点之间的空间相邻关系,可以将点云划分为多个点集,从而能够确定出每一个点集中第一颜色分量与第二颜色分量之间的第一相关度,进而可以将点云划分成颜色分量之间相关性较高的空间块。
具体地,可以是根据每一个点集中Y分量与U分量之间的第一相关度来对点云进行空间划分,或者也可以是根据每一个点集中Y分量与V分量之间的第一相关度来对点云进行空间划分;由于颜色分量之间距离越相近的点相关性越高,如此根据颜色分量之间的第一相关度进行空间划分,能够得到至少 一个空间块。
在一些实施例中,可以根据点云中点的莫顿码将点云划分成多个空间块。因此,对于S401-a来说,所述对点云进行空间划分,获得至少一个空间块,包括:
计算所述点云中点的莫顿码;
将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
需要说明的是,在点云中,点可以是点云中的所有点,也可以是点云中的部分点,这些点在空间上相对集中。这样,对于空间块的划分,可以计算这些点的莫顿码并将计算得到的莫顿码按升序排列,即将得到的莫顿码按照从小到大的顺序进行排列;然后确定出莫顿码的最大值和莫顿码的最小值,进而计算得到所述莫顿码的最大值和所述莫顿码的最小值之间的差值(可以用delta表示)。
通过对delta比特进行右移,当delta比特右移N位之后,得到移位后的delta,可以使得移位后的delta满足预设范围,这时候可以将点云划分为移位后的delta个空间块。其中,delta比特右移N位,可以看作是莫顿码的最大值比特右移N位,莫顿码的最小值比特右移N位,然后两者进行差值计算,所得到的差值即delta比特右移N位。
另外,预设范围表示点云所划分的空间块数量所需要满足的范围。这里,预设范围可以是16<delta≤32,也可以是8<delta≤16,本申请实施例不作具体限定。
进一步地,在所述计算所述点云中点的莫顿码之后,该方法还可以包括:
对所述点云中点的莫顿码进行比特右移N位;
在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
需要说明的是,将点云中点的莫顿码进行比特右移N位,这样,如果这些点中部分点移位后的莫顿码值相同,那么可以确定出该部分点属于同一个空间块,即可以将右移后莫顿码值相同的点标记为“位于同一个空间块内”。
S401-b:基于所述待编码点的几何位置,从所述至少一个空间块中确定所述待编码点所处的空间块。
需要说明的是,通过对点云进行空间划分,可以得到至少一个空间块;这样根据待编码点的几何位置,可以从这至少一个空间块中确定出待编码点所处的空间块,便于后续根据该空间块构建预测模型。
还需要说明的是,空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
其中,空间块可以是将点云划分成三维空间中的一个长方体,该长方体的大小为a×b×c;其中,a、b、c的取值可以相等,也可以不相等;这里,当a、b、c的取值相等时,即将正方体看作一个特殊的长方体。
此外,空间块还可以是颜色分量间相关性较强的不规则体形状的空间块,比如三角体或者多边体,同样也可以用作去除属性颜色的相关性,以得到第二颜色分量的预测残差。
进一步地,在确定出待编码点的空间块之后,可以从该空间块中选取部分点来组成点集,该点集用于构造预测模型。因此,在一些实施例中,对于402来说,所述根据所述空间块,构造预测模型,可以包括:
从所述空间块中选取K个点,将所选取的K个点组成点集;其中,K为大于或等于20的正整数;
基于所述点集中的K个点,确定模型参数;其中,所述模型参数包括第一模型参数和第二模型参数;
根据所述第一模型参数和所述第二模型参数,构造所述预测模型。
需要说明的是,在该空间块内,可以从该空间块所包含的点中选取K个点,并将选取的K个点组成点集;这里,K的取值可以为大于或等于20的正整数,但是本申请实施例不作具体限定。
示例性地,根据莫顿码的顺序,在该空间块内可以每k(100<k<500)个点中选取一个点,如果空间块内所包含的点数过少,可以均匀地选取20个点;使得每个空间块所选取的点数不少于20个点。假定点集用V表示,针对每一个空间块对应的点集V i{i=0,1,...,n}表示第i空间块内所选取点的集合,这里n表示空间块的数量。
这样,在将选取的这些点组成点集之后,可以根据点集内这些点的颜色属性值(比如第一颜色分量值、第二颜色分量值或第三颜色分量值)来确定第一模型参数和第二模型参数,然后根据第一模型参数和第二模型参数构造出预测模型。
进一步地,在一些实施例中,所述基于所述点集中的K个点,确定模型参数,可以包括:
获取所述点集中每一个点的第一颜色分量值和第二颜色分量值;
根据所述点集中每一个点的第一颜色分量值和第二颜色分量值,利用第一计算子模型计算所述第一 模型参数;
根据所述第一模型参数,利用第二计算子模型计算所述第二模型参数。
需要说明的是,构建预测模型,可以看作是拟合直线。即在确定出第一模型参数和第二模型参数之后,根据第一模型参数和第二模型参可以得到拟合直线。下面将以利用最小二乘法拟合直线为例进行详细描述,具体过程如下:
首先,针对点集中的任意一个点(x i,y i),坐标x i表示任意一个点的第一颜色分量值(用Y分量值表示),坐标y i表示任意一个点的第二颜色分量值(用U分量值表示),如此根据Y分量值和U分量值所得到的拟合直线为y=a+bx。
其次,对于点集中的任意一个点(x i,y i),误差为d i=y-(a+bx i),那么当
Figure PCTCN2019109695-appb-000003
取最小值时,该拟合直线的拟合度最高。这样,对于a、b分别求取一阶偏导,
Figure PCTCN2019109695-appb-000004
Figure PCTCN2019109695-appb-000005
再次,令
Figure PCTCN2019109695-appb-000006
Figure PCTCN2019109695-appb-000007
那么将式(2)和式(3)进行联立求解,可以得到
Figure PCTCN2019109695-appb-000008
Figure PCTCN2019109695-appb-000009
最后,式(4)用于表示用于计算第一模型参数的第一计算子模型,式(5)用于表示用于计算第二模型参数的第二计算子模型;这样,通过第一计算子模型可以得到第一模型参数b,通过第二计算子模型可以得到第二模型参数a,如此可以得到拟合直线,即预测模型。
这样,在得到Y分量值和U分量值之间的预测模型之后,可以根据该预测模型利用Y分量来预测U分量,从而得到U分量的预测值;然后将实际值和预测值作残差,并将得到的残差替换掉原先的属性值,再进行之后的LOD划分和提升变换。
还需要说明的是,针对构建预测模型即拟合直线来说,在从空间块中选取出点集之后,除了可以利用最小二乘法的方式来拟合直线之外,还可以利用不同与最小二乘法的方式来拟合直线,比如梯度下降法或者高斯牛顿法;除此之外,还可以利用点集中这些点的颜色属性值来拟合一个分段直线或者曲线,从而得到预测模型;然后将预测模型中涉及的模型参数写入属性比特流中。
进一步地,在一些实施例中,对于405来说,在所述对所述待编码点的残差进行LOD划分和提升变换之后,该方法还可以包括:
将所述第一模型参数和所述第二模型参数写入属性比特流。
需要说明的是,在确定出第一模型参数和第二模型参数之后,可以将第一模型参数和第二模型参数写入属性比特流,然后由编码器侧传输到解码器侧,在解码器侧对该属性比特流进行解析,以便于解码器侧只需要获取第一模型参数和第二模型参数,从而能够提高编码效率。
进一步地,在确定出第一模型参数和第二模型参数之后,还可以对第一模型参数和第二模型参数做进一步修改。其中,可以对第一模型参数和第二模型参数进行量化处理,然后再写入属性比特流;或者,也可以只是将第一个空间块的模型参数(包括第一模型参数和第二模型参数)写入属性比特流,而剩余空间块的模型参数修改为与第一个空间块相比的模型参数残差值,然后将该残差值依次写入属性比特流。
可选地,在一些实施例中,将所述第一模型参数和所述第二模型参数写入属性比特流,可以包括:
对所述第一模型参数和所述第二模型参数进行量化处理,得到量化后的第一模型参数和量化后的第 二模型参数;
将量化后的第一模型参数和量化后的第二模型参数写入属性比特流。
需要说明的是,如果在编码器侧对第一模型参数和第二模型参数进行量化处理,那么在解码器侧对属性比特流解析之后,还需要对第一模型参数和第二模型参数进行反量化处理。
可选地,在一些实施例中,所述将所述第一模型参数和所述第二模型参数写入属性比特流,可以包括:
将所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数写入属性比特流;
计算所述至少一个空间块中剩余空间块与前一个空间块的模型参数残差值,将所述模型参数残差值依次写入属性比特流。
需要说明的是,至少一个空间块包括有第一个空间块和剩余空间块。对于第一模型参数和第二模型参数来说,如果在编码器侧是首先对第一个空间块的模型参数(包括第一模型参数和第二模型参数)写入属性比特流,而剩余空间块的模型参数修改为与第一个空间块相比的模型参数残差值,然后将该残差值依次写入属性比特流;那么在解码器侧对属性比特流解析之后,还需要根据解析得到的模型参数残差值来确定出剩余空间块的模型参数。
进一步地,在一些实施例中,该方法还可以包括:
针对所述空间块,计算所述空间块对应的第一颜色分量与第二颜色分量之间的第二相关度;
若第二相关度小于预设相关度阈值时,将所述空间块内每一个点的莫顿码右移N-1位,得到两个子空间块;
计算所述两个子空间块对应的第一颜色分量与第二颜色分量之间的第三相关度;
若所述第三相关度大于所述第二相关度,则根据所述两个子空间块,构建两个子预测模型;
利用所述两个子预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值。
需要说明的是,在点云中,划分空间块的时候,根据空间块中所选取的点集进行颜色通道之间的相关性计算,得到第二相关度,即父空间块的相关性。当计算得到的第二相关度较低时,对于该空间块中的点,将莫顿码的右移位数减一(假定右移位数为N,那么右移位数减一为N-1),这时候可以将该空间块划分为两个子空间块。然后对这两个子空间块进行颜色通道之间的相关性计算,得到第三相关度,即两个子空间块的相关性。如果两个子空间块的相关性明显大于父空间块的相关性,那么可以利用将该空间块划分为两个子空间块的方式,即采用两个子空间块来分别进行颜色通道间的预测,也即根据两个子空间块构建两个子预测模型,以根据第一颜色分量预测第二颜色分量;否则,如果两个子空间块的相关性小于或等于父空间块的相关性,那么可以利用父空间块进行预测,即执行图4所示的预测方法流程。
本申请实施例中,可以改善G-PCC属性编码部分的编码性能。在基本不影响编码性能的前提下,例如不影响属性PSNR的情况下,能够降低属性部分的第一颜色通道(用Y表示)、第二颜色通道(用U表示)和第三颜色通道(用V表示)的比特率。这里,PSNR是一种图像编码质量的客观评价准则,而且PSNR越大,图像的编码质量越好。
本实施例提供了一种预测方法,该方法应用于编码器。通过上述实施例对前述实施例的具体实现进行详细阐述,从中可以看出,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率。
参见图6,其示出了本申请实施例提供的另一种预测方法的流程示意图,该方法应用于解码器(也可以称为点云解码器),该方法可以包括:
S601:确定待解码点所处的空间块;
需要说明的是,待解码点表示点云中待解码对象的点云数据。通过对点云进行空间划分,可以得到多个空间块。从这多个空间块中,可以确定出待解码点所处的空间块,以便后续根据该空间块构造预测模型,从而实现颜色分量间的预测。
还需要说明的是,针对空间内每一个待解码点,可以用第一颜色分量、第二颜色分量和第三颜色分量来表示待解码点的三种颜色属性。其中,这三种颜色属性可以利用Y、U、V表示;具体地,第一颜色分量可以用Y表示,第二颜色分量可以用U表示,第三颜色分量可以用V表示;或者第一颜色分量可以用Y表示,第二颜色分量可以用V表示,第三颜色分量可以用U表示;本申请实施例不作具体限定。
另外,这三种颜色属性可以利用R、G、B表示;具体地,第一颜色分量可以用R表示,第二颜色分量可以用G表示,第三颜色分量可以用B表示;或者第一颜色分量可以用R表示,第二颜色分量可以用B表示,第三颜色分量可以用G表示;本申请实施例也不作具体限定。
S602:对属性比特流进行解析,得到所述待解码点的第一颜色分量值、初始残差以及所述空间 块对应的第一模型参数和第二模型参数;
需要说明的是,当码流由编码器侧传输到解码器侧时,可以由解码器侧对码流进行解析处理。这里,码流可以包括几何比特流和属性比特流;其中,几何比特流中包括有点云的几何信息,在解码器侧通过对几何比特流进行解析,可以得到点云的几何信息,比如待解码点的位置坐标等;属性比特流中包括有点云的属性信息,在解码器侧通过对属性比特流进行解析,可以得到点云的属性信息;比如待解码点的第一颜色分量值、初始残差以及该空间块对应的第一模型参数和第二模型参数。
S603:根据所述第一模型参数和第二模型参数,构造预测模型;其中,所述预测模型用于表征所述待解码点的第一颜色分量与第二颜色分量之间的预测关系;
需要说明的是,根据第一模型参数和第二模型参数,可以构造出预测模型,该预测模型可以表征待解码点的第一颜色分量与第二颜色分量之间的预测关系。
也就是说,利用该预测模型,可以根据待解码点的第一颜色分量来预测待解码点的第二颜色分量。具体地,假定第一颜色分量用Y表示,第二颜色分量用U表示,那么该预测模型可以根据待解码点的Y分量来预测U分量,即本申请实施例的预测方法适用于利用Y分量对U分量的预测;假定第一颜色分量用Y表示,第二颜色分量用V表示,那么该预测模型也可以根据待解码点的Y分量来预测V分量,即本申请实施例的预测方法也适用于利用Y分量对V分量的预测。
S604:利用所述预测模型以及所述第一颜色分量值,获得所述待解码点的第二颜色分量预测值;
需要说明的是,在构造预测模型之后,为了预测待解码点的第二颜色分量,这时候还需要获取待解码点的第一颜色分量值;如此,根据所获取的待解码点的第一颜色分量值,通过预测模型可以得到待解码点的第二颜色分量预测值。
还需要说明的是,如果预测模型用于实现根据待解码点的Y分量来预测U分量,那么所获取的第一颜色分量值为Y分量值,第二颜色分量值为U分量值,如此根据预测模型和Y分量值,可以得到待解码点的U分量预测值;或者,如果预测模型用于实现根据待解码点的Y分量来预测V分量,那么所获取的第一颜色分量值为Y分量值,第二颜色分量值为V分量值,如此根据预测模型和Y分量值,可以得到待解码点的V分量预测值。
S605:对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;
S606:根据所述待解码点的残差和所述第二颜色分量预测值,计算得到所述待解码点的第二颜色分量重建值。
需要说明的是,在解析得到初始残差之后,还需要对初始残差进行LOD划分和提升逆变换,从而能够得到待解码点的残差。
这样,在得到待解码点的残差和第二颜色分量预测值之后,将待解码点的残差和第二颜色分量预测值进行叠加,可以得到待解码点的第二颜色分量重建值。
参见图7,其示出了本申请实施例提供的一种G-PCC解码的流程框图。如图7所示,与相关技术方案所示的解码框图相比,在LOD划分和提升逆变换之后,增加了属性颜色通道间逆预测变换的部分。本申请实施例的预测方法主要应用于该部分,以实现颜色通道之间的属性预测。这样,在LOD划分和提升逆变换之后,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,可以对点云的属性信息进行无损预测,去除了三个颜色通道之间的相关性,并且在获得相同的图像编码质量的情况下,有效降低比特开销,从而提升了解码效率。其中,图像解码质量可以使用客观质量评价准则,比如峰值信噪比(Peak Signal to Noise Ratio,PSNR),也可以使用主观质量评价准则,比如平均主观意见分(Mean Opinion Score,MOS)。
本申请实施例提供了一种预测方法,该方法可以应用于解码器,通过确定待解码点所处的空间块;对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及空间块对应的第一模型参数和第二模型参数;根据第一模型参数和第二模型参数,构造预测模型,该预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;再利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;最后对解析到的初始残差进行LOD划分和提升逆变换,得到待解码点的残差;根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了颜色分量之间的相关性,从而提高了解码效率。
进一步地,在解码器侧,空间块也可以是通过对点云进行空间划分得到的。因此,在一些实施例中,因此,在一些实施例中,对于S601来说,所述确定待解码点所处的空间块,可以包括:
S601-a:对点云进行空间划分,获得至少一个空间块;
需要说明的是,由于在编码器侧,LOD划分的过程是根据莫顿码沿着z、y、x方向进行的,那么在解码器侧,需要根据莫顿码沿着z、y、x方向进行逆变换。这里,三个颜色分量(比如Y分量、U 分量和V分量)之间距离越相近的点,其相关性越高;基于此,可以对点云进行空间划分,从而能够得到至少一个空间块。
在一些实施例中,可以根据点与点之间的空间相邻关系将点云划分成多个空间块。因此,对于S601-a来说,所述对点云进行空间划分,获得至少一个空间块,可以包括:
根据所述点云中点与点之间的空间相邻关系,将所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
也就是说,可以根据点云中点与点之间的空间相邻关系,可以将点云划分为多个点集,从而能够确定出每一个点集中第一颜色分量与第二颜色分量之间的第一相关度,进而可以将点云划分成颜色分量之间相关性较高的空间块。
具体地,可以是根据每一个点集中Y分量与U分量之间的第一相关度来对点云进行空间划分,或者也可以是根据每一个点集中Y分量与V分量之间的第一相关度来对点云进行空间划分;由于颜色分量之间距离越相近的点相关性越高,如此根据颜色分量之间的第一相关度进行空间划分,能够得到至少一个空间块。
在一些实施例中,可以根据点云中点的莫顿码将点云划分成多个空间块。因此,对于S601-a来说,所述对点云进行空间划分,获得至少一个空间块,包括:
计算所述点云中点的莫顿码;
将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
需要说明的是,在点云中,点可以是点云中的所有点,也可以是点云中的部分点,这些点在空间上相对集中。这样,对于空间块的划分,可以计算这些点的莫顿码并将计算得到的莫顿码按升序排列,即将得到的莫顿码按照从小到大的顺序进行排列;然后确定出莫顿码的最大值和莫顿码的最小值,进而计算得到所述莫顿码的最大值和所述莫顿码的最小值之间的差值(可以用delta表示)。通过对delta比特进行右移,当delta比特右移N位之后,得到移位后的delta,可以使得移位后的delta满足预设范围,这时候可以将点云划分为移位后的delta个空间块。其中,delta比特右移N位,可以看作是莫顿码的最大值比特右移N位,莫顿码的最小值比特右移N位,然后两者进行差值计算,所得到的差值即delta比特右移N位。
另外,预设范围表示点云所划分的空间块数量所需要满足的范围。这里,预设范围可以是16<delta≤32,也可以是8<delta≤16,本申请实施例不作具体限定。
进一步地,在所述计算所述点云中点的莫顿码之后,该方法还可以包括:
对所述点云中点的莫顿码进行比特右移N位;
在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
需要说明的是,将点云中点的莫顿码进行比特右移N位,这样,如果这些点中部分点移位后的莫顿码值相同,那么可以确定出该部分点属于同一个空间块,即可以将右移后莫顿码值相同的点标记为“位于同一个空间块内”。
S601-b:基于所述待解码点的几何位置,从所述至少一个空间块中确定所述待解码点所处的空间块。
需要说明的是,通过对点云进行空间划分,可以得到至少一个空间块;这样根据待解码点的几何位置,可以从这至少一个空间块中确定出待解码点所处的空间块,便于后续根据该空间块构建预测模型。
还需要说明的是,空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
其中,空间块可以是将点云划分成三维空间中的一个长方体,该长方体的大小为a×b×c;其中,a、b、c的取值可以相等,也可以不相等;这里,当a、b、c的取值相等时,即将正方体看作一个特殊的长方体。
此外,空间块还可以是颜色分量间相关性较强的不规则体形状的空间块,比如三角体或者多边体,同样也可以用作去除属性颜色的相关性,以提高解码效率。
进一步地,对于第一模型参数和第二模型参数,在对属性比特流进行解析之后,还需要对第一模型参数和第二模型参数进行反量化处理;或者,还可以是通过解析得到第一个空间块的模型参数(包括第一模型参数和第二模型参数)和剩余空间块的模型参数残差值,然后根据该模型参数残差值来获得剩余空间块的模型参数。
可选地,在一些实施例中,在所述对属性比特流进行解析之后,该方法还可以包括:
对解析得到的第一模型参数和第二模型参数进行反量化处理,得到所述第一模型参数和所述第二模 型参数。
需要说明的是,如果在编码器侧对第一模型参数和第二模型参数进行量化处理,那么在解码器侧对属性比特流解析之后,还需要对第一模型参数和第二模型参数进行反量化处理,以得到第一模型参数和第二模型参数。
可选地,在一些实施例中,在所述对属性比特流进行解析之后,该方法还可以包括:
获取所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数以及所述至少一个空间块中剩余空间块对应的模型参数残差值;
根据所述第一个空间块对应的第一模型参数和第二模型参数以及所述模型参数残差值,得到所述剩余空间块对应的第一模型参数和第二模型参数。
需要说明的是,至少一个空间块包括有第一个空间块和剩余空间块。对于第一模型参数和第二模型参数来说,如果在编码器侧是首先对第一个空间块的模型参数(包括第一模型参数和第二模型参数)写入属性比特流,而剩余空间块的模型参数修改为与第一个空间块相比的模型参数残差值,然后将该残差值依次写入属性比特流;那么在解码器侧对属性比特流解析之后,还需要根据解析得到的模型参数残差值来确定出剩余空间块的模型参数(包括第一模型参数和第二模型参数)。
本申请实施例中,在点云中,划分空间块的时候,根据空间块中所选取的点集进行颜色通道之间的相关性计算,得到第二相关度,即父空间块的相关性。当计算得到的第二相关度较低时,对于该空间块中的点,将莫顿码的右移位数减一(假定右移位数为N,那么右移位数减一为N-1),这时候可以将该空间块划分为两个子空间块。然后对这两个子空间块进行颜色通道之间的相关性计算,得到第三相关度,即两个子空间块的相关性。如果两个子空间块的相关性明显大于父空间块的相关性,那么可以利用将该空间块划分为两个子空间块的方式,即采用两个子空间块来分别进行颜色通道间的预测,也即根据两个子空间块构建两个子预测模型,以根据第一颜色分量预测第二颜色分量;否则,如果两个子空间块的相关性小于或等于父空间块的相关性,那么可以利用父空间块进行预测,即执行图4所示的预测方法流程。
本申请实施例在于LOD划分和提升变换下通过颜色通道之间的相关性来进行颜色通道间的属性预测。在编码器侧,需要进行空间块的划分和直线拟合,将计算得到的第一模型参数和第二模型参数写入码流,传到解码器。在解码器侧,只需要进行空间块的划分,然后根据解析得到的对应空间块的第一模型参数和第二模型参数以及第一颜色分量值来预测第二颜色分量值,最后将预测得到的预测值和解析及LOD划分和提升逆变换之后得到的残差值进行叠加,即得到所需要的属性重建值。这样,在基本不影响性能的前提下,能够降低属性部分的第一颜色通道(用Y表示)、第二颜色通道(用U表示)和第三颜色通道(用V表示)的比特率。
本实施例提供了一种预测方法,该方法应用于解码器。通过上述实施例对前述实施例的具体实现进行详细阐述,从中可以看出,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了颜色分量之间的相关性,从而提高了解码效率。
基于前述实施例相同的发明构思,参见图8,其示出了本申请实施例提供的一种编码器80的组成结构示意图。该编码器80可以包括第一确定单元801、第一构造单元802、第一获取单元803、第一预测单元804、第一计算单元805和变换单元806,其中,
所述第一确定单元801,配置为确定待编码点所处的空间块;
所述第一构造单元802,配置为根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待编码点的第一颜色分量与第二颜色分量之间的预测关系;
所述第一获取单元803,配置为获取所述待编码点的第一颜色分量值和第二颜色分量值;
所述第一预测单元804,配置为利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;
所述第一计算单元805,配置为计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;
所述变换单元806,配置为基于所述待编码点的残差,进行LOD划分和提升变换。
在上述方案中,参见图8,编码器80还可以包括写入单元807,配置为对所述待编码点的残差进行编码,写入属性比特流。
在上述方案中,参见图8,编码器80还可以包括第一划分单元808,配置为对点云进行空间划分,获得至少一个空间块;
所述第一确定单元801,配置为基于所述待编码点的几何位置,从所述至少一个空间块中确定所述待编码点所处的空间块。
在上述方案中,所述第一确定单元801,还配置为根据所述点云中点与点之间的空间相邻关系,将 所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
所述第一划分单元808,配置为根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
在上述方案中,所述第一计算单元805,还配置为计算所述点云中点的莫顿码;
所述第一确定单元801,还配置为将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
所述第一计算单元805,还配置为计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
所述第一划分单元808,配置为当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
在上述方案中,所述第一确定单元801,还配置为对所述点云中点的莫顿码进行比特右移N位;以及在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
在上述方案中,参见图8,编码器80还可以包括选取单元809,配置为从所述空间块中选取K个点,将所选取的K个点组成点集;其中,K为大于或等于20的正整数;
所述第一确定单元801,配置为基于所述点集中的K个点,确定模型参数;其中,所述模型参数包括第一模型参数和第二模型参数;
所述第一构造单元802,配置为根据所述第一模型参数和所述第二模型参数,构造所述预测模型。
在上述方案中,所述第一获取单元803,配置为获取所述点集中每一个点的第一颜色分量值和第二颜色分量值;
所述第一计算单元805,还配置为根据所述点集中每一个点的第一颜色分量值和第二颜色分量值,利用第一计算子模型计算所述第一模型参数;以及根据所述第一模型参数,利用第二计算子模型计算所述第二模型参数。
在上述方案中,所述写入单元807,还配置为将所述第一模型参数和所述第二模型参数写入属性比特流。
在上述方案中,参见图8,编码器80还可以包括量化单元810,配置为对所述第一模型参数和所述第二模型参数进行量化处理,得到量化后的第一模型参数和量化后的第二模型参数;
所述写入单元807,还配置为将量化后的第一模型参数和量化后的第二模型参数写入属性比特流。
在上述方案中,所述写入单元807,还配置为将所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数写入属性比特流;以及计算所述至少一个空间块中剩余空间块与前一个空间块的模型参数残差值,将所述模型参数残差值依次写入属性比特流;其中,所述至少一个空间块包括所述第一个空间块和所述剩余空间块。
在上述方案中,所述第一计算单元805,还配置为针对所述空间块,计算所述空间块对应的第一颜色分量与第二颜色分量之间的第二相关度;
所述第一划分单元808,还配置为若第二相关度小于预设相关度阈值时,将所述空间块内每一个点的莫顿码右移N-1位,得到两个子空间块;
所述第一计算单元805,还配置为计算所述两个子空间块对应的第一颜色分量与第二颜色分量之间的第三相关度;
所述第一构造单元802,还配置为若所述第三相关度大于所述第二相关度,则根据所述两个子空间块,构建两个子预测模型;
所述第一预测单元804,还配置为利用所述两个子预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值。
在上述方案中,所述空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移 动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有预测程序,所述预测程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器80的组成以及计算机存储介质,参见图9,其示出了本申请实施例提供的编码器80的具体硬件结构,可以包括:第一通信接口901、第一存储器902和第一处理器903;各个组件通过第一总线系统904耦合在一起。可理解,第一总线系统904用于实现这些组件之间的连接通信。第一总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为第一总线系统904。其中,
第一通信接口901,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器902,用于存储能够在第一处理器903上运行的计算机程序;
第一处理器903,用于在运行所述计算机程序时,执行:
确定待编码点所处的空间块;
根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待编码点的第一颜色分量与第二颜色分量之间的预测关系;
获取所述待编码点的第一颜色分量值和第二颜色分量值;
利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;
计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;
基于所述待编码点的残差,进行LOD划分和提升变换。
可以理解,本申请实施例中的第一存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器903可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器903中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器903可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器902,第一处理器903读取第一存储器902中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器903还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一构造单元、第一获取单元、第 一预测单元、第一计算单元和变换单元。其中,第一确定单元配置为确定待编码点所处的空间块;第一构造单元配置为根据所述空间块构造预测模型,该预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;第一获取单元配置为获取待编码点的第一颜色分量值和第二颜色分量值;第一预测单元配置为利用预测模型以及所述第一颜色分量值,获得待编码点的第二颜色分量预测值;第一计算单元配置为计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;变换单元配置为基于待编码点的残差,进行LOD划分和提升变换;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率。
基于前述实施例相同的发明构思,参见图10,其示出了本申请实施例提供的一种解码器100的组成结构示意图。该解码器100可以包括第二确定单元1001、解析单元1002、第二构造单元1003、第二预测单元1004、逆变换单元1005和第二计算单元1006,其中,
所述第二确定单元1001,配置为确定待解码点所处的空间块;
所述解析单元1002,配置为对属性比特流进行解析,得到所述待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
所述第二构造单元1003,配置为根据所述第一模型参数和第二模型参数,构造预测模型;其中,所述预测模型用于表征所述待解码点的第一颜色分量与第二颜色分量之间的预测关系;
所述第二预测单元1004,配置为利用所述预测模型以及所述第一颜色分量值,获得所述待解码点的第二颜色分量预测值;
所述逆变换单元1005,配置为对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;
所述第二计算单元1006,配置为根据所述待解码点的残差和所述第二颜色分量预测值,计算得到所述待解码点的第二颜色分量重建值。
在上述方案中,参见图10,编码器100还可以包括第二划分单元1007,配置为对点云进行空间划分,获得至少一个空间块;
所述第二确定单元1001,配置为基于所述待解码点的几何位置,从所述至少一个空间块中确定所述待解码点所处的空间块。
在上述方案中,所述第二确定单元1001,还配置为根据所述点云中点与点之间的空间相邻关系,将所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
所述第二划分单元1007,配置为根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
在上述方案中,所述第二计算单元1006,还配置为计算所述点云中点的莫顿码;
所述第二确定单元1001,还配置为将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
所述第二计算单元1006,还配置为计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
所述第二划分单元1007,配置为当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
在上述方案中,所述第二确定单元1001,还配置为对所述点云中点的莫顿码进行比特右移N位;以及在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
在上述方案中,参见图10,编码器100还可以包括反量化单元1008,配置为对解析得到的第一模型参数和第二模型参数进行反量化处理,得到所述第一模型参数和所述第二模型参数。
在上述方案中,所述解析单元1002,还配置为获取所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数以及所述至少一个空间块中剩余空间块对应的模型参数残差值;以及根据所述第一个空间块对应的第一模型参数和第二模型参数以及所述模型参数残差值,得到所述剩余空间块对应的第一模型参数和第二模型参数。
在上述方案中,所述空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储 在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,该计算机存储介质存储有预测程序,所述预测程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器100的组成以及计算机存储介质,参见图11,其示出了本申请实施例提供的解码器100的具体硬件结构,可以包括:第二通信接口1101、第二存储器1102和第二处理器1103;各个组件通过第二总线系统1104耦合在一起。可理解,第二总线系统1104用于实现这些组件之间的连接通信。第二总线系统1104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为第二总线系统1104。其中,
第二通信接口1101,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1102,用于存储能够在第二处理器1103上运行的计算机程序;
第二处理器1103,用于在运行所述计算机程序时,执行:
确定待解码点所处的空间块;
对属性比特流进行解析,得到所述待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
根据所述第一模型参数和第二模型参数,构造预测模型;其中,所述预测模型用于表征所述待解码点的第一颜色分量与第二颜色分量之间的预测关系;
利用所述预测模型以及所述第一颜色分量值,获得所述待解码点的第二颜色分量预测值;
对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;
根据所述待解码点的残差和所述第二颜色分量预测值,计算得到所述待解码点的第二颜色分量重建值。
可选地,作为另一个实施例,第二处理器1103还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1102与第一存储器902的硬件功能类似,第二处理器1103与第一处理器903的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括第二确定单元、解析单元、第二构造单元、第二预测单元、逆变换单元和第二计算单元。其中,第二确定单元配置为确定待解码点所处的空间块;解析单元配置为对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;第二构造单元配置为根据第一模型参数和第二模型参数,构造预测模型,该预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;第二预测单元配置为利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;逆变换单元配置为对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;第二计算单元配置为根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了颜色分量之间的相关性,从而提高了解码效率。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,该方法应用于编码器,通过确定待编码点所处的空间块;根据所述空间块,构造预测模型,该预测模型用于表征待编码点的第一颜色分量与第二颜色分量之间的预测关系;再获取待编码点的第一颜色分量值和第二颜色分量值;利用预测模型以及第一颜色分量值,获得待编码点的第二颜 色分量预测值;最后计算第二颜色分量值与第二颜色分量预测值之间的差值,将得到的差值作为待编码点的残差;基于待编码点的残差,进行LOD划分和提升变换;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据实际值和预测值来计算预测残差,可以去除颜色分量之间的相关性,有效降低了编码比特开销,能够提高编码效率;该方法还应用于解码器,通过确定待解码点所处的空间块;对属性比特流进行解析,得到待解码点的第一颜色分量值、初始残差以及空间块对应的第一模型参数和第二模型参数;根据第一模型参数和第二模型参数,构造预测模型,该预测模型用于表征待解码点的第一颜色分量与第二颜色分量之间的预测关系;再利用预测模型以及第一颜色分量值,获得待解码点的第二颜色分量预测值;最后对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;根据待解码点的残差和第二颜色分量预测值,计算得到待解码点的第二颜色分量重建值;这样,利用一个颜色分量对另外的颜色分量进行预测以得到预测值,从而根据预测值和解析得到的预测残差进行属性值的重建,由于去除了LOD和提升变换之前颜色分量之间的相关性,有效降低了编码比特开销,从而提高了编解码效率。

Claims (26)

  1. 一种预测方法,应用于编码器,所述方法包括:
    确定待编码点所处的空间块;
    根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待编码点的第一颜色分量与第二颜色分量之间的预测关系;
    获取所述待编码点的第一颜色分量值和第二颜色分量值;
    利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;
    计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;
    基于所述待编码点的残差,进行细节层次LOD划分和提升变换。
  2. 根据权利要求1所述的方法,其中,在所述基于所述待编码点的残差,进行LOD划分和提升变换之后,所述方法还包括:
    对所述待编码点的残差进行编码,写入属性比特流。
  3. 根据权利要求1所述的方法,其中,所述确定待编码点所处的空间块,包括:
    对点云进行空间划分,获得至少一个空间块;
    基于所述待编码点的几何位置,从所述至少一个空间块中确定所述待编码点所处的空间块。
  4. 根据权利要求3所述的方法,其中,所述对点云进行空间划分,获得至少一个空间块,包括:
    根据所述点云中点与点之间的空间相邻关系,将所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
    根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
  5. 根据权利要求3所述的方法,其中,所述对点云进行空间划分,获得至少一个空间块,包括:
    计算所述点云中点的莫顿码;
    将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
    计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
    当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
  6. 根据权利要求5所述的方法,其中,在所述计算所述点云中点的莫顿码之后,所述方法还包括:
    对所述点云中点的莫顿码进行比特右移N位;
    在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
  7. 根据权利要求1至6任一项所述的方法,其中,所述根据所述空间块,构造预测模型,包括:
    从所述空间块中选取K个点,将所选取的K个点组成点集;其中,K为大于或等于20的正整数;
    基于所述点集中的K个点,确定模型参数;其中,所述模型参数包括第一模型参数和第二模型参数;
    根据所述第一模型参数和所述第二模型参数,构造所述预测模型。
  8. 根据权利要求7所述的方法,其中,所述基于所述点集中的K个点,确定模型参数,包括:
    获取所述点集中每一个点的第一颜色分量值和第二颜色分量值;
    根据所述点集中每一个点的第一颜色分量值和第二颜色分量值,利用第一计算子模型计算所述第一模型参数;
    根据所述第一模型参数,利用第二计算子模型计算所述第二模型参数。
  9. 根据权利要求7所述的方法,其中,在所述基于所述待编码点的残差,进行细节层次LOD划分和提升变换之后,所述方法还包括:
    将所述第一模型参数和所述第二模型参数写入属性比特流。
  10. 根据权利要求9所述的方法,其中,所述将所述第一模型参数和所述第二模型参数写入属性比特流,包括:
    对所述第一模型参数和所述第二模型参数进行量化处理,得到量化后的第一模型参数和量化后的第二模型参数;
    将量化后的第一模型参数和量化后的第二模型参数写入属性比特流。
  11. 根据权利要求9所述的方法,其中,所述将所述第一模型参数和所述第二模型参数写入属性比特流,包括:
    将所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数写入属性比特流;
    计算所述至少一个空间块中剩余空间块与前一个空间块的模型参数残差值,将所述模型参数残差值依次写入属性比特流;其中,所述至少一个空间块包括所述第一个空间块和所述剩余空间块。
  12. 根据权利要求1所述的方法,其中,所述方法还包括:
    针对所述空间块,计算所述空间块对应的第一颜色分量与第二颜色分量之间的第二相关度;
    若第二相关度小于预设相关度阈值时,将所述空间块内每一个点的莫顿码右移N-1位,得到两个子空间块;
    计算所述两个子空间块对应的第一颜色分量与第二颜色分量之间的第三相关度;
    若所述第三相关度大于所述第二相关度,则根据所述两个子空间块,构建两个子预测模型;
    利用所述两个子预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值。
  13. 根据权利要求1至12任一项所述的方法,其中,所述空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
  14. 一种预测方法,应用于解码器,所述方法包括:
    确定待解码点所处的空间块;
    对属性比特流进行解析,得到所述待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
    根据所述第一模型参数和第二模型参数,构造预测模型;其中,所述预测模型用于表征所述待解码点的第一颜色分量与第二颜色分量之间的预测关系;
    利用所述预测模型以及所述第一颜色分量值,获得所述待解码点的第二颜色分量预测值;
    对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;
    根据所述待解码点的残差和所述第二颜色分量预测值,计算得到所述待解码点的第二颜色分量重建值。
  15. 根据权利要求14所述的方法,其中,所述确定待解码点所处的空间块,包括:
    对点云进行空间划分,获得至少一个空间块;
    基于所述待解码点的几何位置,从所述至少一个空间块中确定所述待解码点所处的空间块。
  16. 根据权利要求15所述的方法,其中,所述对点云进行空间划分,获得至少一个空间块,包括:
    根据所述点云中点与点之间的空间相邻关系,将所述点云划分为多个点集,确定每一个点集中第一颜色分量与第二颜色分量之间的第一相关度;
    根据确定的第一相关度对所述点云进行空间划分,得到所述至少一个空间块。
  17. 根据权利要求15所述的方法,其中,所述对点云进行空间划分,获得至少一个空间块,包括:
    计算所述点云中点的莫顿码;
    将所述点云中点的莫顿码按照升序排列,确定所述莫顿码的最大值和所述莫顿码的最小值;
    计算所述莫顿码的最大值和所述莫顿码的最小值之间的差值,对得到的差值进行比特右移N位,得到移位后的差值;其中,N为大于或等于1的正整数;
    当所述移位后的差值满足预设范围时,将所述点云划分为所述移位后的差值个空间块。
  18. 根据权利要求17所述的方法,其中,在所述计算所述点云中点的莫顿码之后,所述方法还包括:
    对所述点云中点的莫顿码进行比特右移N位;
    在所述点云中,若部分点移位后的莫顿码值相同,则确定所述部分点属于同一个空间块。
  19. 根据权利要求14所述的方法,其中,在所述对属性比特流进行解析之后,所述方法还包括:
    对解析得到的第一模型参数和第二模型参数进行反量化处理,得到所述第一模型参数和所述第二模型参数。
  20. 根据权利要求14所述的方法,其中,在所述对属性比特流进行解析之后,所述方法还包括:
    获取所述至少一个空间块中第一个空间块对应的第一模型参数和第二模型参数以及所述至少一个空间块中剩余空间块对应的模型参数残差值;
    根据所述第一个空间块对应的第一模型参数和第二模型参数以及所述模型参数残差值,得到所述剩余空间块对应的第一模型参数和第二模型参数。
  21. 根据权利要求14至20任一项所述的方法,其中,所述空间块的形状至少包括下述至少一种:正方体形状、长方体形状和不规则体形状。
  22. 一种编码器,所述编码器包括第一确定单元、第一构造单元、第一获取单元、第一预测单元、第一计算单元和变换单元,其中,
    所述第一确定单元,配置为确定待编码点所处的空间块;
    所述第一构造单元,配置为根据所述空间块,构造预测模型;其中,所述预测模型用于表征所述待 编码点的第一颜色分量与第二颜色分量之间的预测关系;
    所述第一获取单元,配置为获取所述待编码点的第一颜色分量值和第二颜色分量值;
    所述第一预测单元,配置为利用所述预测模型以及所述第一颜色分量值,获得所述待编码点的第二颜色分量预测值;
    所述第一计算单元,配置为计算所述第二颜色分量值与所述第二颜色分量预测值之间的差值,将得到的差值作为所述待编码点的残差;
    所述变换单元,配置为基于所述待编码点的残差,进行LOD划分和提升变换。
  23. 一种解码器,所述解码器包括第二确定单元、解析单元、第二构造单元、第二预测单元、逆变换单元和第二计算单元,其中,
    所述第二确定单元,配置为确定待解码点所处的空间块;
    所述解析单元,配置为对属性比特流进行解析,得到所述待解码点的第一颜色分量值、初始残差以及所述空间块对应的第一模型参数和第二模型参数;
    所述第二构造单元,配置为根据所述第一模型参数和第二模型参数,构造预测模型;其中,所述预测模型用于表征所述待解码点的第一颜色分量与第二颜色分量之间的预测关系;
    所述第二预测单元,配置为利用所述预测模型以及所述第一颜色分量值,获得所述待解码点的第二颜色分量预测值;
    所述逆变换单元,配置为对解析到的初始残差进行LOD划分和提升逆变换,得到所述待解码点的残差;
    所述第二计算单元,配置为根据所述待解码点的残差和所述第二颜色分量预测值,计算得到所述待解码点的第二颜色分量重建值。
  24. 一种编码器,所述编码器包括第一存储器和第一处理器,其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述的方法。
  25. 一种解码器,所述解码器包括第二存储器和第二处理器,其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求14至21任一项所述的方法。
  26. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至13任一项所述的方法、或者被第二处理器执行时实现如权利要求14至21任一项所述的方法。
PCT/CN2019/109695 2019-09-30 2019-09-30 预测方法、编码器、解码器及计算机存储介质 WO2021062772A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980100519.8A CN114424568A (zh) 2019-09-30 2019-09-30 预测方法、编码器、解码器及计算机存储介质
PCT/CN2019/109695 WO2021062772A1 (zh) 2019-09-30 2019-09-30 预测方法、编码器、解码器及计算机存储介质
EP19947496.6A EP4040790A4 (en) 2019-09-30 2019-09-30 PREDICTION METHOD, ENCODER, DECODER AND COMPUTER STORAGE MEDIUM
US17/655,353 US11936909B2 (en) 2019-09-30 2022-03-17 Prediction method, encoder, decoder, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/109695 WO2021062772A1 (zh) 2019-09-30 2019-09-30 预测方法、编码器、解码器及计算机存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/655,353 Continuation US11936909B2 (en) 2019-09-30 2022-03-17 Prediction method, encoder, decoder, and computer storage medium

Publications (1)

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

Family

ID=75336668

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/109695 WO2021062772A1 (zh) 2019-09-30 2019-09-30 预测方法、编码器、解码器及计算机存储介质

Country Status (4)

Country Link
US (1) US11936909B2 (zh)
EP (1) EP4040790A4 (zh)
CN (1) CN114424568A (zh)
WO (1) WO2021062772A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022258063A1 (zh) * 2021-06-11 2022-12-15 鹏城实验室 点云属性编码方法、装置、解码方法、装置及相关设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4040393A4 (en) * 2019-09-30 2023-06-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. DIVISION PROCESS, ENCODER, DECODER AND COMPUTER STORAGE MEDIA
US11956470B2 (en) * 2020-04-07 2024-04-09 Qualcomm Incorporated Predictor index signaling for predicting transform in geometry-based point cloud compression
WO2024082152A1 (zh) * 2022-10-18 2024-04-25 Oppo广东移动通信有限公司 编解码方法及装置、编解码器、码流、设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018191224A1 (en) * 2017-04-11 2018-10-18 Vid Scale, Inc. 360-degree video coding using face continuities
CN109257604A (zh) * 2018-11-20 2019-01-22 山东大学 一种基于tmc3点云编码器的颜色属性编码方法
WO2019039324A1 (en) * 2017-08-22 2019-02-28 Panasonic Intellectual Property Corporation Of America IMAGE ENCODER, IMAGE DECODER, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
WO2019055772A1 (en) * 2017-09-14 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
WO2019076503A1 (en) * 2017-10-17 2019-04-25 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR ENCODING VOLUMETRIC VIDEO

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322742B (zh) 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
CN108632621B (zh) 2018-05-09 2019-07-02 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018191224A1 (en) * 2017-04-11 2018-10-18 Vid Scale, Inc. 360-degree video coding using face continuities
WO2019039324A1 (en) * 2017-08-22 2019-02-28 Panasonic Intellectual Property Corporation Of America IMAGE ENCODER, IMAGE DECODER, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
WO2019055772A1 (en) * 2017-09-14 2019-03-21 Apple Inc. COMPRESSION OF CLOUD OF POINTS
WO2019076503A1 (en) * 2017-10-17 2019-04-25 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR ENCODING VOLUMETRIC VIDEO
CN109257604A (zh) * 2018-11-20 2019-01-22 山东大学 一种基于tmc3点云编码器的颜色属性编码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COHEN, ROBERT A. ET AL.: "Point Cloud Attribute Compression using 3-D Intra Prediction and Shape-Adaptive Transforms", 2016 DATA COMPRESSION CONFERENCE (DCC), 1 April 2016 (2016-04-01), XP033027696 *
MAMMOU, KHALED ET AL.: "G-PCC codec description v2", INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO N18189, 31 January 2019 (2019-01-31), XP055794856 *
See also references of EP4040790A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022258063A1 (zh) * 2021-06-11 2022-12-15 鹏城实验室 点云属性编码方法、装置、解码方法、装置及相关设备

Also Published As

Publication number Publication date
CN114424568A (zh) 2022-04-29
EP4040790A1 (en) 2022-08-10
EP4040790A4 (en) 2022-10-19
US11936909B2 (en) 2024-03-19
US20220210471A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
JP7330306B2 (ja) 変換方法、逆変換方法、エンコーダ、デコーダ及び記憶媒体
JP7386337B2 (ja) 分割方法、符号器、復号器及びコンピュータ記憶媒体
US20220329833A1 (en) Nearest neighbor search method, apparatus, device, and storage medium
US20230101072A1 (en) Nearest neighbour search method, encoder, decoder and storage medium
US11936850B2 (en) Methods for intra prediction, and encoder
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
JP4350504B2 (ja) メッシュを導入した画像の符号化及び復号のための方法及び装置とそれに対応するプログラム
WO2021062771A1 (zh) 颜色分量预测方法、编码器、解码器及计算机存储介质
US20220343550A1 (en) Partitioning method, encoder, decoder and computer storage medium
WO2022141461A1 (zh) 点云编解码方法、编码器、解码器以及计算机存储介质
JP2023525207A (ja) イントラ予測方法、装置、エンコーダ、デコーダ、及び記憶媒体
WO2022217611A1 (zh) 编解码方法及相关设备、存储介质
WO2023155045A1 (zh) 预测的方法和装置、编码器、解码器和编解码系统
WO2022233004A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
WO2024148473A1 (zh) 编码方法及装置、编码器、码流、设备、存储介质
WO2022067782A1 (zh) 一种点云数据的层次划分方法、编码器及存储介质
WO2021139796A1 (zh) 莫顿码的构建方法、编码器、解码器、及存储介质
WO2024082127A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
TW202431856A (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: 19947496

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

Country of ref document: EP

Effective date: 20220502