Phase-order-encoded virtual structured light 3D point cloud compression method
Through the virtual structured light 3D point cloud compression method of phase-order encoding, the phase-order information of B channel is hidden in the cosine stripe diagram of R and G channels, solving the problem of insufficient data compression rate in the virtual structured light encoding algorithm, and achieving more efficient data storage.
Patent Information
- Application Number
- CN202310312038.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-28
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2043-03-28
AI Technical Summary
The existing 3D point cloud data compression method has shortcomings in improving data compression rate, especially the low utilization efficiency of B channel information in the virtual structured light encoding algorithm, resulting in insufficient optimization of the data storage space.
The virtual structured light 3D point cloud compression method is used to run the phase rank information of B channel, and the phase rank index value and numerical value are hidden in the cosine stripe diagram of R and G channels. The prediction and difference calculation are performed through the median edge prediction algorithm, the encoding position is determined, and the encoding information is stored according to specific rules.
Without affecting the decoding accuracy, the data compression rate was significantly improved, with an average increase of 46.54%, verifying the effectiveness and feasibility of the algorithm.
Smart Images

Figure CN116527925B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of 3D point cloud data compression, and in particular relates to a phase-order-encoded virtual structured light 3D point cloud compression method. Background Art
[0002] 3D point cloud data is widely used in fields such as 3D printing, autonomous driving, and cultural relic digitization. However, with the continuous improvement of data acquisition equipment, 3D point cloud data is becoming increasingly dense, posing challenges to its processing, transmission, and storage. Therefore, the development of effective 3D point cloud compression methods is an urgent issue.
[0003] Methods for geometric compression of 3D point clouds include octree-based decomposition and mapping-based algorithms. Garcia et al. used entropy coding with different contexts based on the octree structure to achieve lossless intra-frame compression of point cloud geometry. Rente et al. combined octree decomposition with graph-based transformation methods to propose an encoding scheme for static point cloud geometry. Gao et al. proposed a point cloud simplification algorithm that uses octree encoding combined with curvature feature evaluation. Octree algorithms can achieve rapid positioning during point cloud search, but constructing the octree structure is time-consuming.
[0004] Mapping-based algorithms convert point cloud data into two-dimensional image information, which is then compressed using existing image compression techniques. Sun et al. proposed a prediction method based on the shape of segmented regions, which achieved good performance in autonomous driving tasks. Quach et al. used a deep convolutional autoencoder to ensure a good balance between compression effect and computer memory consumption. Xu et al. proposed an end-to-end optimized lossy compression model for 3D point cloud geometric information, which utilizes an autoencoder and a deep convolutional generative adversarial network algorithm to solve the problem of missing large-area point clouds. 3D point cloud compression based on deep learning mapping achieves data compression while ensuring accuracy, but requires a large labeled dataset.
[0005] The "holographic image" encoding method, based on structured light theory, is a geometric representation method for 3D point clouds. By encoding the floating-point geometric information of a 3D point cloud as a 2D color image, it effectively saves storage space for the point cloud data. When the 3D point cloud data is needed, it can be restored from the 2D image. This type of method is known as a virtual structured light encoding algorithm. For example, Hou et al. proposed a method for encoding and storing 3D contour data using two channels of a color image to improve data compression efficiency. Karpinsky et al. encoded the two primary color channels of a color image as sine and cosine fringe patterns and the third channel as a staircase pattern, enabling the storage of 3D contour data in a single color image. To address the large quantization error encountered during the encoding and decoding process of virtual structured light 3D data compression algorithms, Wu et al. proposed a 3D point cloud virtual structured light encoding algorithm based on geometric rearrangement and a quantization error suppression method for virtual structured light 3D data compression algorithms, respectively. All of these methods map 3D data into three-channel color fringes. The B channel information has a highly discrete data distribution and minimal variability, but still occupies the same data space as the R and G channels. In order to further improve the compression rate of this type of algorithm, this paper proposes a phase-level encoded virtual structured light 3D point cloud compression method. Summary of the Invention
[0006] In order to solve the above technical problems and improve the compression rate of virtual structured light 3D point cloud data, a phase-order encoded virtual structured light 3D point cloud compression method is proposed. Compared with the traditional 3D point cloud encoding algorithm based on virtual structured light, the algorithm proposed in the present invention greatly improves the data compression rate.
[0007] The technical solution protected by the present invention is: a phase-level coded virtual structured light 3D point cloud compression method, which is performed according to the following steps:
[0008] Step 1) The geometrically rearranged point cloud data is encoded into the three channels of 2D image R, G, and B through a virtual structured light coding algorithm, where the R and G channels store the sine and cosine fringe patterns modulated by the point cloud model, and the B channel stores the fringe phase order index;
[0009] Step 2) Run-length encoding is performed on the phase order map of channel B, and the encoded index value and number value are recorded;
[0010] Step 3) Use the median edge prediction (MED) algorithm to predict the sine and cosine fringe patterns of the R and G channels respectively to obtain their predicted fringe patterns, calculate the difference between the fringe pattern and the predicted fringe pattern to determine the label mapping, and obtain the encoded position according to the label value;
[0011] Step 4) According to the data storage rules, the index value and the number value of the phase order are hidden in the R and G channel fringe images respectively to obtain the steganographic sine and cosine fringe pattern;
[0012] Step 5) Extract the coded information from the sine and cosine fringe pattern, and use reverse thinking according to the phase-level information compression method to obtain the original phase-level information. Then, perform data decoding based on the information stored in the three channels to obtain the decoded 3D point cloud data.
[0013] Furthermore, the specific operations in step 2) are as follows:
[0014] First, the phase level information I stored in channel B b (i, j) is run-length encoded to obtain the phase level index value and the corresponding number value; the phase level index value is converted into a binary sequence as the encoding information m1; the number value corresponding to the phase level index is compressed by binary Huffman coding to obtain the encoding information m2, where the calculation formula for converting the pixel value x(i, j) into eight-bit binary is shown in formula (1):
[0015]
[0016] in, Indicates rounding down.
[0017] Furthermore, the specific steps of determining the encoding position in step 3) are as follows: the fringe patterns of the R channel and the G channel obtained by virtual structured light encoding are marked as I r (i,j),I g (i, j), whose size is T×T;
[0018] First, record I r The pixel values of the T1th row and the first column of (i, j) are converted into a binary sequence as the encoding information m3, where 1≤T1≤T-1, and record I g The T2th row and the first column pixel value of (i, j) are converted into a binary sequence as the encoding information m4, where 1≤T2≤T-1, and then I r (i, j) is calculated through the MED algorithm, and the predicted value x′(i, j) of each pixel value x(i, j) (except the pixel value of the T1th row and the first column) is calculated. Similarly, I g (i, j) calculates the predicted value of each pixel value except the pixel value in the T2th row and the first column. The calculation formula is shown in formula (2):
[0019]
[0020] Among them, x(i,j) is the current pixel, a, b, c are the surrounding pixels;
[0021] The pixel difference is calculated by formula (3). Since the pixel value prediction process is based on the MED algorithm, the numerical range of the difference is mostly integers distributed around 0. The label value of the current pixel is determined by setting the threshold L, as shown in formula (4);
[0022] D(i,j)=x(i,j)-x′(i,j) (3)
[0023]
[0024] Among them, 0≤L≤4, the matrix composed of label values g(i,j) is called label mapping, g(i,j)=0 means that the current pixel position can encode information; g(i,j)=1 means that the current pixel position cannot encode information.
[0025] Furthermore, the specific steps of the method for establishing the data storage rules in step 4) are as follows:
[0026] The label mapping determined by pixel difference is a matrix composed of label values 0 and 1, which records whether the corresponding pixel position in the R and G stripe images can be used for encoding;
[0027] According to the label mapping calculated in step 3), it can be determined whether a certain pixel position in the stripe image can be used for encoding. When the label value in the label mapping is equal to 0, the eight-bit binary representation of the current pixel is established, and the data storage rule of the encoding position is also established;
[0028] 1) When the pixel difference D(i,j) = 0, set the lowest bit flag value f = 0, that is, x 1 (i, j) = 0, since the difference is 0 and does not need to be recorded, the remaining (7-r) bits can all be used to encode information, where 0≤r≤6;
[0029] 2) When the pixel difference D(i,j)≠0, set the lowest bit flag value f=1, that is, x 1 (i, j) = 1, use q bits to record the difference, where 1≤q≤4, and the remaining (7-rq) bits are used to encode information, where 1≤r≤2. If D(i, j) > 0, the polarity value is 0, that is, the highest bit of the pixel is recorded as 0, that is, x 8 (i, j) = 0; if D(i, j) < 0, the polarity value is 1, that is, the highest bit of the pixel is recorded as 1, that is, x 8 (i,j)=1;
[0030] According to the above storage rules, the coding information m1 and m3 are encoded into the stripe image I according to the data storage rules of the coding position. r (i, j) corresponding position; the coding information m2, m4 is encoded into the stripe image I according to the data storage rule of the coding positiong In the corresponding position (i, j), the encoded stego stripe image I is obtained respectively. r ′(i,j) and I g ′(i,j).
[0031] Compared with existing technologies, this invention offers the following advantages: It performs run-length encoding on the B-channel phase-level image to obtain its index and order values. It then uses the median edge prediction algorithm on the R and G channel sine and cosine fringe patterns to obtain their predicted fringe patterns. By calculating the difference between these values, a label mapping is generated. Based on the label values, the phase-level index and order values are embedded in the R and G channel fringe images, respectively, to achieve data compression. Experimental results show that while maintaining decoding accuracy, the data compression ratio increases by an average of 46.54%, validating the effectiveness of the proposed algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The present invention will be further described in detail below with reference to the accompanying drawings.
[0033] Figure 1 Virtual structured light encoding process for geometrically rearranged 3D point clouds.
[0034] Figure 2 This is the phase level encoding principle of the present invention.
[0035] Figure 3 is the position of the current pixel in the MED algorithm.
[0036] Figure 4 When the label value is 0, the pixel is represented by eight bits of binary.
[0037] Figure 5 The encoded data of the 3D point cloud "ogre".
[0038] Figure 6 The encoded data of the 3D point cloud "bunny".
[0039] Figure 7 Compression ratios of three different algorithms.
[0040] Figure 8 For 6 groups of point cloud models, calculate the PSNR and SSIM values of the stored images after image restoration. DETAILED DESCRIPTION
[0041] In order to make the objects, features and advantages of the present invention clear and easy to understand, specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0042] In order to better understand the principle of the algorithm of the present invention, the principle of geometrically rearranged 3D point cloud virtual structured light encoding is briefly described below.
[0043] 3D point cloud virtual structured light encoding algorithm based on geometric rearrangement Figure 1 As shown in the figure, the position information of the three directions of the 3D point cloud space is first geometrically rearranged, and the 2D matrix obtained after the rearrangement is used to reconstruct the 3D data. The constructed 3D data is then encoded with virtual structured light to obtain the positive and cosine fringe images and the corresponding phase order information. When the data is decoded later, the phase information is solved through the fringe pattern, and then the spatial position information in the X, Y, and Z directions can be inversely calculated according to the geometric rearrangement rules of the point cloud data.
[0044] The principle of the virtual structured light 3D point cloud data compression of the phase level encoding of the present invention is as follows Figure 2 As shown in the figure, the specific steps are as follows: first, the geometrically rearranged point cloud data is encoded into the three channels of 2D image R, G, and B through the virtual structured light coding algorithm, where the R and G channels store the sine and cosine fringe patterns modulated by the point cloud model, and the B channel stores the fringe phase order index; then the phase order map of the B channel is run-length encoded, and the encoded index value and number value are recorded; the median edge prediction (Median Edge Detector, MED) algorithm is used to predict the sine and cosine fringe patterns of the R and G channels respectively to obtain their predicted fringe patterns, and the difference between the fringe pattern and the predicted fringe pattern is calculated to determine the label mapping, and the encoding position is obtained according to the label value. Then, according to the data storage rule, the index value and number value of the phase order are hidden in the R and G channel fringe images respectively to obtain the steganographic sine and cosine fringe patterns.
[0045] Phase-order information compression
[0046] Since the value of the phase level information is continuous and repeatable, the phase level information I stored in channel B is first b (i, j) is run-length encoded to obtain the phase level index value and the corresponding number value; the phase level index value is converted into a binary sequence as the encoding information m1; the number value corresponding to the phase level index is compressed by binary Huffman coding to obtain the encoding information m2, where the calculation formula for converting the pixel value x(i, j) into eight-bit binary is shown in formula (1):
[0047]
[0048] in, Indicates rounding down.
[0049] Determination of coding position
[0050] The fringe patterns of the R and G channels obtained by virtual structured light encoding are marked as I r (i,j),I g (i,j), whose size is T×T.
[0051] First, record Ir The pixel values of the T1th row and the first column of (i, j) are converted into a binary sequence as the encoding information m3, where 1≤T1≤T-1. g The T2th row and the first column pixel value of (i, j) are converted into a binary sequence as the encoding information m4, where 1≤T2≤T-1. Then, I r (i, j) is processed by the MED algorithm to calculate the predicted value x′(i, j) of each pixel value x(i, j) (except the pixel values in the T1th row and the first column). Similarly, I g (i, j) Calculate the predicted value of each pixel value except the pixel value in the T2th row and the first column. The calculation formula is shown in formula (2). Figure 3 It is the positional relationship between the current pixel x(i,j) and its surrounding pixels a, b, c in the MED algorithm.
[0052]
[0053] The pixel difference is calculated by formula (3). Since the pixel value prediction process is based on the MED algorithm, the numerical range of the difference is mostly integers distributed around 0. The label value of the current pixel is determined by setting the threshold L, as shown in formula (4).
[0054]
[0055] Where 0≤L≤4. The matrix consisting of label values g(i,j) is called a label map. g(i,j) = 0 means that the current pixel position can encode information; g(i,j) = 1 means that the current pixel position cannot encode information.
[0056] Establishment of data storage rules for coding locations
[0057] The label map, determined by pixel differences, is a matrix of label values 0 and 1 that records whether the corresponding pixel position in the R and G stripe images can be used to encode information. The differences and label map are crucial for later encoding information extraction and phase level recovery, so they must be recorded during the encoding process.
[0058] Based on the label mapping calculated above, it can be determined whether a certain pixel position in the stripe image can be used to encode information. Figure 4 It is the eight-bit binary representation of the current pixel when the label value in the label map is equal to 0, and it also establishes the data storage rules for the encoding position.
[0059] 1) When the pixel difference D(i,j) = 0, set the lowest bit flag value f = 0, that is, x 1(i, j) = 0. Since the difference value is 0 and does not need to be recorded, the remaining (7-r) bits can all be used to encode information, where 0≤r≤6.
[0060] 2) When the pixel difference D(i,j)≠0, set the lowest bit flag value f=1, that is, x 1 (i, j) = 1. Use q bits to record the difference, where 1≤q≤4, and the remaining (7-rq) bits are used to encode information, where 1≤r≤2. If D(i, j) > 0, the polarity value is 0, that is, the highest bit of the pixel is recorded as 0, that is, x 8 (i, j) = 0; if D(i, j) < 0, the polarity value is 1, that is, the highest bit of the pixel is recorded as 1, that is, x 8 (i,j)=1.
[0061] The label value determined based on formula (4) is either 0 or 1, which means that the label mapping is a matrix composed of 0 and 1, and the distribution of its values has repeated continuity. Considering the limitation of the coding capacity in the stripe image, in order to minimize the amount of data of the encoded information, the label mapping is usually compressed first. In the document LIU L, WANGA, CHANG C, et al. Separable reversible data hiding in encrypted images with high capacity based on median-edge detector prediction [J]. IEEE Access, 2020, 8: 29639-29647., the compressed label mapping is spliced at the bottom of the encoded stripe image. When the label mapping is needed to restore the image, it can be extracted from the bottom of the image. In order to ensure the consistency of the size before and after image encoding, the algorithm of the present invention first performs run-length encoding and Huffman encoding on the label mapping, and then records the encoded label mapping in sequence in I r (i, j) at the T1th row and first column pixel position. Similarly, according to I g The label mapping calculated by (i, j) is recorded in sequence after run-length encoding and Huffman encoding. g The pixel position of row T2 and column 1 of (i, j).
[0062] The compressed label map is recorded at the corresponding pixel position of the fringe image. On this basis, the coding information m1 and m3 are encoded into the fringe image I according to the data storage rule of the coding position. r (i, j) corresponding position; the coding information m2, m4 is encoded into the stripe image I according to the data storage rule of the coding position g In the corresponding position (i, j), the encoded stego stripe image I is obtained respectively. r ′(i,j) and Ig ′(i,j).
[0063] Phase level decoding
[0064] The phase-level secondary encoding process is lossless and reversible, and the encoded information, difference, and label mapping can all be fully extracted. At the same time, the encoded fringe pattern can also be completely restored to the original fringe image. The specific extraction and restoration process is as follows:
[0065] 1) Extract label mapping: transform the sinusoidal fringe image I r The pixel values of the T1th row and the first column of ′(i,j) are recorded from left to right and from top to bottom (similarly to the cosine fringe image I g ′(i, j) records the pixel values of the T2th row and the first column in sequence) to obtain the compressed label map, and then perform Huffman decoding and run-length decoding on it to obtain the original label map.
[0066] 2) Extracting the coding information: According to the label mapping extracted in the first step, if the sinusoidal fringe image I r The label value of the current pixel position in ′(i, j) is 0 and the lowest bit in the eight-bit binary representation of the pixel is 0, that is, the difference value of this pixel position is 0, then the encoding information consists of the remaining (7-r) bits; if the sinusoidal fringe image I r If the label value of the current pixel position in ′(i,j) is 0 and the lowest bit in the eight-bit binary representation of the pixel is 1, the difference value consists of qbits and the encoded information consists of 7-r-qbits. The positive or negative value of the difference is determined by the polarity value of the highest bit in the eight-bit binary representation of the pixel. If the polarity value is 0, it means that the difference is greater than 0; if the polarity value is 1, it means that the difference is less than 0. Similarly, the cosine fringe image I g The process of extracting the encoded information in ′(i,j) is consistent.
[0067] 3) Three-channel image restoration: First, the encoded information m3 is extracted through the second step and converted into decimal to obtain the original fringe image I r The pixel values in the T1th row and the first column in (i, j) also replace the sinusoidal fringe image I in the order from left to right and from top to bottom. r ′(i,j) in the T1th row and the first column. Secondly, according to the label mapping extracted in the first step, if the sinusoidal fringe image I r The label value of the current pixel in ′(i, j) is 0 and the lowest bit in the eight-bit binary representation of the pixel is 0, that is, the difference is 0, then the original pixel value of this pixel position is equal to the predicted pixel value; if the sinusoidal fringe image I rThe label value of the current pixel in ′(i, j) is 0 and the lowest bit in the eight-bit binary representation of the pixel is 1, that is, the difference is composed of qbits, and the positive or negative difference is determined by the polarity value of the highest bit in the eight-bit binary representation of the pixel. The original pixel value of this pixel position can be obtained by formula (5). g The same goes for the recovery of ′(i,j).
[0068] x(i,j)=D(i,j)+x′(i,j) (5)
[0069] Through the third step, the fringe pattern I after encoding information can be r ′(i,j), I g ′(i,j) is restored to the original stripe image I r (i,j),I g (i,j). According to the second step, the sinusoidal fringe image I r ′(i,j) to extract the coded information m1 from the cosine fringe image I g ′(i, j) to extract the coded information m2, and according to the phase level information compression method described above, use reverse thinking to get the original phase level information I b (i,j). According to the information stored in the three channels I r (i,j),I g (i,j),I b (i,j) Using the data decoding process introduced in the literature WU Yingchun, QI Huimin, LIANG Jie, et al. Virtual structured-light three-dimensional point cloud compression with geometric reshaping [J]. Journal of Electronic Imaging, 2022, 31(2): 023012., the decoded 3D point cloud data can be obtained.
[0070] The above briefly describes the specific operation process of the present invention. The feasibility and effectiveness of the present invention are demonstrated through specific experiments below.
[0071] Algorithm feasibility demonstration
[0072] In order to verify that the algorithm of the present invention can achieve effective compression of 3D point cloud data, an experiment was conducted using the 3D point cloud model "ogre" as the test object. The experimental results are shown in the figure below. Figure 5 shown.
[0073] The geometric distribution of the original 3D point cloud model is as follows Figure 5As shown in (a), the geometric distribution of the 3D point cloud model after geometric rearrangement is as follows Figure 5 (b) The virtual structured light encoding algorithm encodes the geometrically rearranged 3D point cloud data into the 2D image R, B, G three channels as shown in Figure 5 (c), (d), and (e). The results of phase level coding are shown in Figure 5 (f) and (g) are shown. After the encoding information is extracted and the image is restored, the R, B, and G three-channel storage images are as follows Figure 5 As shown in (h), (i), and (j), the decoded 3D point cloud data is as follows Figure 5 As shown in (k), the original 3D point cloud data size is 2.24MB, and the fringe image size after encoding is 366KB. Figure 5 (h), (i), (j), and (k) show that the information encoded in the R and G channels can be completely extracted, and the information stored in the original three channels can be restored without affecting the accuracy of subsequent data decoding, verifying the feasibility of the algorithm of the present invention.
[0074] Qualitative and quantitative evaluation of algorithms
[0075] The 3D point cloud model "bunny" is used as the experimental object to qualitatively evaluate the algorithm of the present invention and the algorithm of the literature WU Yingchun, QI Huimin, LIANG Jie, et al. Virtual structured-light three-dimensional point cloud compression with geometric reshaping [J]. Journal of Electronic Imaging, 2022, 31 (2): 023012. (Literature [1]). The experimental results are as follows Figure 6 The geometric distribution of the original 3D point cloud model is shown as Figure 6 As shown in (a), the fringe pattern after phase level encoding is as follows Figure 6 As shown in (b) and (c), the color stripe diagram in the literature [1] is as follows Figure 6 (d) The original 3D point cloud data size is 526KB, the color fringe image encoded in the literature [1] is 317KB, and the fringe image encoded by the algorithm proposed in this invention is 214KB. It can be seen that the algorithm proposed in this invention achieves the compression of 3D point cloud data. The R, B, and G three-channel storage information after the algorithm of this invention extracts and restores the image is as follows: Figure 6 As shown in (e), (f), and (g), the decoded 3D point cloud data is as follows Figure 6 As shown in (k), the document [1] decodes the R, B, and G three-channel storage information as follows Figure 6 As shown in (h), (i), and (j), the decoded 3D point cloud data is as follows Figure 6 (l) is shown. Figure 6 (e), (f), (g) and (h), (i), (j) show that after the algorithm of the present invention encodes the phase level information stored in channel B, the information stored in the original three channels can still be restored. Figure 6 From (k) and (l), it can be seen that the 3D point cloud decoded by the algorithm of the present invention has the same visual effect as the 3D point cloud decoded by the original virtual structured light coding algorithm, which verifies that phase-order coding does not affect the accuracy of subsequent data decoding.
[0076] In order to quantitatively evaluate the effectiveness of the algorithm of the present invention, experiments were conducted on 6 groups of point cloud models. The experimental results are shown in the following table. Figure 7 As shown in the figure. For sparse point cloud data, the compression ratio of this algorithm is similar to that of the curvature method, but for dense point cloud data, the compression ratio of this algorithm is significantly higher than that of the curvature method. Compared with the reference [1], the compression ratio of this algorithm is significantly higher than that of the reference [1] for both sparse and dense point clouds. Compared with the compression ratios of the curvature method and the algorithm in the reference [1], the compression ratio of 3D point cloud data of this algorithm is improved by an average of 46.54%.
[0077] At the same time, for the 6 groups of point cloud models, the PSNR and SSIM of the R, B, G three-channel storage images after image restoration and the original R, B, G three-channel storage images are calculated. The results are as follows: Figure 8 This indicates that the phase level information encoded in the R and G channels can be accurately extracted. Furthermore, calculating the RMSE values of the 3D point cloud data decoded by the two algorithms further verifies that encoding and extracting the B-channel phase level information has no impact on the accuracy of subsequent data decoding.
[0078] This paper aims to improve the compression rate of 3D point cloud virtual structured light encoding algorithms. It proposes a phase-level encoding virtual structured light 3D point cloud compression algorithm. This algorithm encodes the phase-level information stored in the B channel within the fringe phases of the R and G channels, further improving the compression rate of 3D point cloud data. Experiments have verified the effectiveness of the proposed 3D point cloud compression algorithm. The phase-level information encoding and extraction process has no impact on the accuracy of subsequent data decoding. Compared with traditional virtual structured light-based 3D point cloud encoding algorithms, the proposed algorithm significantly improves data compression rates.
[0079] The embodiments of the present invention are described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments. Various changes can be made within the scope of knowledge possessed by ordinary technicians in this field without departing from the purpose of the present invention.
Claims
1. A phase-order-encoded virtual structured light 3D point cloud compression method, characterized in that: Follow these steps: Step 1) The geometrically rearranged point cloud data is encoded into the three channels of 2D image R, G, and B through a virtual structured light coding algorithm, where the R and G channels store the sine and cosine fringe patterns modulated by the point cloud model, and the B channel stores the fringe phase order index; Step 2) Run-length encoding is performed on the phase order map of channel B, and the encoded index value and number value are recorded; Step 3) Use the median edge prediction (MED) algorithm to predict the sine and cosine fringe patterns of the R and G channels respectively to obtain their predicted fringe patterns, calculate the difference between the fringe pattern and the predicted fringe pattern to determine the label mapping, and obtain the encoded position according to the label value; Step 4) According to the data storage rules, the index value and the number value of the phase order are hidden in the R and G channel fringe images respectively to obtain the steganographic sine and cosine fringe pattern; Step 5) Extract the coded information from the sine and cosine fringe pattern, and use reverse thinking according to the phase-level information compression method to obtain the original phase-level information. Then, perform data decoding based on the information stored in the three channels to obtain the decoded 3D point cloud data.
2. The phase-order-encoded virtual structured light 3D point cloud compression method according to claim 1, characterized in that: The specific operations in step 2) are as follows: First, the phase level information I stored in channel B b (i, j) is run-length encoded to obtain the phase level index value and the corresponding number value; the phase level index value is converted into a binary sequence as the encoding information m1; the number value corresponding to the phase level index is compressed by binary Huffman coding to obtain the encoding information m2, where the calculation formula for converting the pixel value x(i, j) into eight-bit binary is shown in formula (1): in, Indicates rounding down.
3. The phase-order-encoded virtual structured light 3D point cloud compression method according to claim 2, characterized in that: The specific steps of determining the encoding position in step 3) are as follows: the fringe patterns of the R channel and the G channel obtained by virtual structured light encoding of the 3D point cloud data are marked as I r (i,j),I g (i, j), whose size is T×T; First, record I r The pixel values of the T1th row and the first column of (i, j) are converted into a binary sequence as the encoding information m3, where 1≤T1≤T-1, and recorded I g The T2th row and the first column pixel value of (i, j) are converted into a binary sequence as the encoding information m4, where 1≤T2≤T-1, and then I r (i, j) is processed by the MED algorithm to calculate the predicted value x′(i, j) of each pixel value x(i, j) (except the pixel values in the T1th row and the first column). Similarly, I g (i, j) calculates the predicted value of each pixel value except the pixel value of the T2th row and the first column. The calculation formula is shown in formula (2): Among them, x(i,j) is the current pixel, a, b, c are the surrounding pixels; The pixel difference is calculated by formula (3). Since the pixel value prediction process is based on the MED algorithm, the numerical range of the difference is mostly integers distributed around 0. The label value of the current pixel is determined by setting the threshold L, as shown in formula (4); D(i,j)=x(i,j)-x′(i,j) (3) Among them, 0≤L≤4, the matrix composed of label values g(i,j) is called label mapping, g(i,j)=0 means that the current pixel position can be encoded; g(i,j)=1 means that the current pixel position cannot be encoded.
4. The phase-order-encoded virtual structured light 3D point cloud compression method according to claim 3, characterized in that: The specific steps of the method for establishing the data storage rules in step 4) are as follows: The label mapping determined by pixel difference is a matrix composed of label values 0 and 1, which records whether the corresponding pixel position in the R and G stripe images can be used for encoding; According to the label mapping calculated in step 3), it can be determined whether a certain pixel position in the stripe image can be used for encoding. When the label value in the label mapping is equal to 0, the eight-bit binary representation of the current pixel is established, and the data storage rule of the encoding position is also established; 1) When the pixel difference D(i,j) = 0, set the lowest bit flag value f = 0, that is, x 1 (i, j) = 0, since the difference is 0 and does not need to be recorded, the remaining (7-r) bits can all be used to encode information, where 0≤r≤6; 2) When the pixel difference D(i,j)≠0, set the lowest bit flag value f=1, that is, x 1 (i, j) = 1, use q bits to record the difference, where 1≤q≤4, and the remaining (7-rq) bits are used to encode information, where 1≤r≤2. If D(i, j) > 0, the polarity value is 0, that is, the highest bit of the pixel is recorded as 0, that is, x 8 (i, j) = 0; if D(i, j) < 0, the polarity value is 1, that is, the highest bit of the pixel is recorded as 1, that is, x 8 (i,j)=1; According to the above storage rules, the coding information m1 and m3 are encoded into the stripe image I according to the data storage rules of the coding position. r (i, j) corresponding position; the coding information m2, m4 is encoded into the stripe image I according to the data storage rule of the coding position g In the corresponding position (i, j), the encoded stego stripe image I is obtained respectively. r ′(i,j) and I g ′(i,j).
Citation Information
Patent Citations
Method and apparatus for absolute-coordinate three-dimensional surface imaging
CN101466998A
Color object structured light three-dimensional measurement method based on phase shift and multi-bit codes
CN112923870A