Reversible Information Hiding Method for 3D Encryption Model Based on Nearest Neighbor Points and Multi-Point Grouping

By adopting the approach of the most proximity point prediction and multi-point packet in the 3D encryption model, the problem of insufficient information hidden embedding capacity in the prior art is solved, and efficient information embedding and recovery is achieved.

CN116260649BActive Publication Date: 2025-05-30HANGZHOU ZHONGZHUO SYST TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310249156.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-15
Publication Date
2025-05-30
Estimated Expiration
2043-03-15

AI Technical Summary

Technical Problem

In the prior art, the information hidden embedding capacity of the 3D encryption model is too low, making it difficult to effectively embed a large amount of additional information.

Method used

The reversible information hiding method of 3D encryption model based on the most proximity point and multi-point packet is adopted. The utilization of redundant space is further improved through the most proximity point prediction and multi-point packet, and more redundant space is provided for the embedding of additional information.

Benefits of technology

Efficient encoding of 3D model vertices is achieved, and a large amount of redundant space is provided for additional information embedding, which significantly improves the embedding capacity and efficiency of information hiding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116260649B_ABST
    Figure CN116260649B_ABST
Patent Text Reader

Abstract

The present invention proposes a reversible information hiding method for 3D encrypted models based on nearest neighbor points and multi-point grouping, which makes full use of the redundant space between the vertex coordinates of 3D models to achieve efficient encoding of vertices, thus providing the ability to embed a large amount of additional information. The present invention not only inherits the mature technology of predicting vertices in other information hiding schemes in the 3D model encryption domain, but also provides a more accurate prediction coding method and a more efficient vertex grouping mode, achieving a higher embedding rate, having a wider application scenario than other methods, and having better practicability. In addition, the present invention can also be directly used for lossless compression of 3D models to achieve efficient transmission of 3D models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of information hiding, and particularly relates to a reversible information hiding method for a 3D encryption model based on nearest neighbor points and multi-point grouping. Background Art

[0002] With the rapid development of information technology, 3D models have become another important data structure after images, audio, and video, and are widely used in fields such as construction engineering, game development, and animation production. The relatively common file format for 3D models is the.off format, which stores the vertex coordinates and face information of the 3D model in sequence (which three vertices are connected to form the current face). Due to the popularization of cloud computing and cloud storage, more and more 3D modelers will use cloud storage technology to save their 3D models for easy access at any time. However, these 3D models are also under threat of being stolen and damaged by attackers during the upload process or in the storage medium, making the privacy protection of 3D models a research hotspot. To better protect the privacy of users' 3D models, before uploading the 3D model to the cloud, users will first encrypt the 3D model using encryption technology and then upload the encrypted 3D model to the cloud for storage, thus ensuring security during the transmission process. Authorized users can restore the 3D model content through the encryption key after downloading the encrypted 3D model from the cloud. In addition, for cloud managers, they hope to embed some additional information into the 3D model, such as watermarks, timestamps, digital signatures, etc., to manage the model or guarantee copyright. Therefore, how to efficiently embed a large amount of additional information into the encrypted 3D model has also become the current research goal and direction.

[0003] This patent mainly relates to information hiding in encrypted 3D models. Information hiding refers to an information technology means of embedding a large amount of secret information such as watermarks, timestamps, digital signatures, etc. into a digital carrier through an information embedding key by using the redundant space of the digital carrier. The embedded secret information can be extracted from the digital carrier as long as the same embedding key is available. Information hiding technology is widely applied to carriers such as digital images, videos, and audio. One strategy of information hiding technology in the encryption domain is to preprocess the original carrier before encryption, reserve a part of the area in advance as the position for information hiding, and then perform encryption. However, the application of information hiding for 3D models, especially 3D encrypted models, is currently relatively few.

[0004] Regarding the method of preprocessing 3D models before encryption, only a few related works have been proposed in the past two years. In 2021, Tsai [1] selected boundary vertices before encryption, then calculated the distances between the remaining vertices and the boundary vertices. After that, these distances were used to replace the vertex coordinates for encryption. Since the distances between adjacent vertices are relatively short, a certain amount of redundant space can be obtained. Subsequently, Xu [2] et al. used the method of predicting the most significant bit (MSB) of vertex coordinates to vacate the first MSB of the three-dimensional coordinates of some vertices as the information hiding space. Then, Yin [3] et al. extended the first MSB prediction method to multiple MSB predictions to further improve the redundant space. Lyu [4] et al. divided the vertices into two types: steganographic vertices and predictive vertices, and used the predictive vertices to predict multiple MSBs of the steganographic vertices, so as to use the accurately predicted MSBs as the information hiding space. However, the four technologies proposed above are all in the initial stage of research, and their ability to extract redundant space from 3D models is limited. Therefore, the embedding capacity of additional information is limited. Summary of the Invention

[0005] After comprehensively analyzing the related technologies of reversible information hiding methods for 3D encrypted models, in order to solve the problem of too low embedding capacity in the prior art, the present invention proposes a reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping. The prediction accuracy is further improved by the method of nearest point prediction, and the number of reference vertices is further compressed by the method of multi-point grouping, so as to provide more redundant space as the embedding position for additional information.

[0006] The inventive concept of the present invention is as follows: First, convert the floating-point numbers of the 3D model vertex coordinates into integers, and represent the coordinates of one dimension of each vertex in 32-bit binary. Then, divide multiple vertices into a group according to the vertex numbers, and use the first vertex in each group as the reference vertex, and the rest are steganographic vertices. For each steganographic vertex, calculate the coordinate error using the nearest one among the reference vertices connected to it as the nearest point. After that, the steganographic vertex can be re-encoded by recording the number of the nearest point and the three-dimensional coordinate prediction error. After encrypting the re-encoded 3D model, additional information can be embedded in it through the information hiding key. Since the encoding length is much lower than the original coordinate length, a large amount of redundant space can be provided as the embedding position for additional information. At the receiving end of the 3D encrypted model, the following functions can be realized respectively according to the obtained key: (1) If there is a 3D model encryption key, the original 3D model can be restored; (2) If there is an information hiding key, the additional information embedded in the 3D encrypted model can be extracted.

[0007] The specific technical solution adopted by the present invention is as follows:

[0008] A reversible information hiding method for a 3D encryption model based on nearest neighbor points and multi-point grouping, the steps are as follows:

[0009] S1: Convert the vertices V in the 3D model file O to be processed from floating-point numbers to integers. Each dimension of the three-dimensional coordinates of each vertex is uniformly converted into a binary integer format. The first bit is used to identify the positive or negative sign of the three-dimensional coordinates, and the remaining bits represent the specific values after the decimal point of its original three-dimensional coordinates. Denote the vertices after integer conversion as V (x,y,z) ;

[0010] S2: Group all the vertices in the 3D model file O according to the vertex numbers. The total number of groups is t, and the number of vertices in each group is n. Take the first vertex in each group as the reference vertex without modification, and the remaining vertices are steganographic vertices for prediction based on the reference vertex;

[0011] S3: Initialize a binary sequence L with a length of t(n - 1). The t(n - 1) bits in the binary sequence L correspond one-to-one with the t(n - 1) steganographic vertices. Traverse the face information of each steganographic vertex in sequence according to the vertex numbers. If there is no reference vertex connected to the steganographic vertex, do not process the steganographic vertex and mark the corresponding bit in L as 1; if there is a reference vertex connected to the steganographic vertex, mark the corresponding bit in L as 0, and select method a) or b) to find the nearest neighbor point connected to the steganographic vertex according to the number of reference vertices connected to the steganographic vertex;

[0012] If there is only one reference vertex connected to the steganographic vertex, directly take this reference vertex as the nearest neighbor point of the steganographic vertex;

[0013] If there are m > 1 reference vertices connected to the steganographic vertex, calculate the three-dimensional coordinate distance D between the steganographic vertex and each connected reference vertex through the following formula, and select the reference vertex with the smallest D as the nearest neighbor point of the steganographic vertex;

[0014] S4: For each steganographic vertex marked as 0 in L, calculate and record the difference d in the three-dimensional coordinates between the steganographic vertex and the corresponding nearest neighbor point: (d x , d y , d z ), and identify the positive or negative of the difference, and then generate a new code for the steganographic vertex by recording the number of the nearest neighbor point and the three-dimensional coordinate prediction error;

[0015] S5: After processing each steganographic vertex marked as 0 in L in sequence according to step S4, generate a new sequence of steganographic vertices

[0016] S6: Use the stream cipher technology and the model encryption key Kd Encrypt the three-dimensional coordinates of the reference vertices in the 3D model file after integer conversion;

[0017] S7: Compress the sequence L using arithmetic coding technology to form a compressed binary sequence

[0018] S8: Concatenate the binary sequences with the stego vertex sequence and use the sequence to record the length of the concatenated sequence and the demarcation points of the two sequences;

[0019] S9: For the 3D model file after encrypting the reference vertices, embed the sequence into each stego vertex in ascending order of vertex numbers, and retain the face information, thus generating the encrypted 3D model E:

[0020] S10: Empty the remaining part of the stego vertices without embedded sequence information as the redundant space for embedding additional secret information; for the additional information M, first use the stream cipher technology and the information encryption key K m to encrypt it to generate the encrypted information After that, embed the encrypted information into the redundant space, thus generating the encrypted 3D model with embedded additional information

[0021] Based on the above technical solutions, each step can be implemented in the following preferred manner.

[0022] Preferably, in S1, only the first 5 digits after the decimal point of each vertex's three-dimensional coordinates are retained, and each dimension coordinate is converted into a 32-bit binary format, where the first bit indicates the positive or negative sign of the dimension coordinate, and the remaining 31 bits record the integer value of the first 5 digits after the decimal point of the original coordinate in that dimension.

[0023] Preferably, in S2, the number of vertices n in each group is selected as 2, 3, or 4.

[0024] Preferably, in S4, the specific method of generating the new code of the stego vertex by recording the number of the nearest point and the three-dimensional coordinate prediction error is as follows:

[0025] S41: First, use bits to record the serial number of the nearest point of the stego vertex among the connected reference vertices, and the symbol represents rounding up;

[0026] S42: Then, use bits to record the three-dimensional difference d of d x, d y , d z The binary length l of the largest difference in

[0027] S43: Then, in the order of the three-dimensional coordinates x, y, and z, record the three-dimensional differences d x , d y , d z ;

[0028] S44: Finally, concatenate the three groups of codes obtained in S41 to S43 above to generate a new code with a total length of for the corresponding steganographic vertex.

[0029] Preferably, in S6 and S10, the stream cipher technology used needs to be able to generate a binary long key with the same length as the data to be encrypted through a short key, and then encrypt it through the method of binary bitwise exclusive-or.

[0030] Preferably, in S7, the function arithenco in Matlab is used to compress the sequence L.

[0031] Preferably, in S8, has a length of 32 bits, where the first 16 bits are used to identify the total length of the sequence and the sequence , and the last 16 bits record the demarcation point between the two.

[0032] Preferably, in S9 and S10, the method of embedding information into the steganographic vertex is binary bit replacement.

[0033] Preferably, the 3D model file adopts the.off format.

[0034] On the other hand, the present invention provides a reversible information recovery method for a 3D encryption model based on nearest neighbor point prediction and multi-point grouping. After generating an encrypted 3D model with embedded additional information according to the foregoing hiding method , it is transmitted to the receiving party. The receiving party restores the 3D model or extracts the embedded additional information according to the held key. The restoration process is as follows:

[0035] If the receiving party holds the additional information encryption key K m , then extract the additional information by performing the following steps 11 to 13:

[0036] Step 11: Extract the first 16 bits of the first steganographic vertex in the order of the steganographic vertex numbers to obtain the total length of the sequence and the sequence ;

[0037] Step 12: Sequentially extract the binary bit strings excluding the sequences from the three-dimensional coordinates according to the order of the steganographic vertices, and obtain the embedded encrypted additional information and the sequence to obtain the embedded encrypted additional information

[0038] Step 13: Encrypt the key K using the additional information m Decrypt to recover the original additional information M;

[0039] If the receiver holds the model encryption key K d , the original 3D model is recovered by performing the following Steps 21 to 25

[0040] Step 21: First extract the first 32 bits of the first steganographic vertex according to the number order of the steganographic vertices. Among them, obtain the total length of the sequence and the sequence through the first 16 bits, and obtain the demarcation point of the two sequences through the last 16 bits, so as to extract the sequences and the sequence

[0041] Step 22: Use arithmetic coding technology to decompress the sequence to generate a binary sequence L with a length of t(n - 1) to determine whether each steganographic vertex is connected to a reference vertex; if the steganographic vertex is not connected to a reference vertex, directly extract the sequence to recover its three-dimensional coordinates with 96 bits in it. If the steganographic vertex is connected to a reference vertex, extract bits in the sequence according to the number m of the reference vertices connected to it to determine its nearest neighbor point;

[0042] Step 23: Then extract bits to determine the length of the prediction error, and then sequentially extract 3l bits and convert them into decimal to recover the three-dimensional coordinate difference d between the steganographic vertex and its nearest neighbor point: (d x , d y , d z );

[0043] Step 24: For each steganographic vertex, directly add the three-dimensional coordinate difference to the three-dimensional coordinates of the nearest neighbor point to recover the steganographic vertex;

[0044] Step 25: After sequentially processing all steganographic vertices, convert all vertex coordinates into decimal form to recover the original 3D model file.

[0045] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0046] The present invention makes full use of the redundant space between the vertex coordinates of the 3D model, realizes the efficient encoding of vertices, and thus provides the embedding ability of a large amount of additional information. First, the floating-point to integer conversion of the vertex coordinates of the 3D model in.off format is performed, and one dimension of the coordinates of each vertex is represented by 32-bit binary. Then, multiple vertices are divided into a group according to the vertex number, and the first vertex in each group is used as the reference vertex, and the rest are steganographic vertices. For each steganographic vertex, the coordinate error is calculated based on the closest one among the reference vertices connected to it as the nearest neighbor. Then, the steganographic vertex can be re-encoded by recording the number of the nearest neighbor and the three-dimensional coordinate prediction error. After encrypting the re-encoded 3D model, additional information can be embedded in it through the information hiding key. Since the re-encoded length is much lower than the original coordinate length, a large amount of redundant space can be provided as the embedding position for additional information. At the receiving end of the 3D encrypted model, the following functions can be realized respectively according to the obtained key: (1) If there is a 3D model encryption key, the original 3D model can be restored; (2) If there is an information hiding key, the additional information embedded in the 3D encrypted model can be extracted. The present invention not only inherits the mature technology of vertex prediction in other 3D model encryption domain information hiding schemes, but also provides a more accurate prediction coding method and a more efficient vertex grouping mode, realizes a higher embedding rate, has a wider application scenario compared with other methods, and has better practicability. In addition, this scheme can also be directly used for the lossless compression of 3D models to realize the efficient transmission of 3D models. Description of the Drawings

[0047] Figure 1 Schematic diagram of the steps of the reversible information hiding method for 3D encrypted models with the nearest neighbor and multi-point grouping.

[0048] Figure 2 Flowchart of the encryption and information hiding of 3D models.

[0049] Figure 3 Test 3D model used in the experiment.

[0050] Figure 4 Embedding rate effect of different numbers of vertices in each group.

[0051] Figure 5 Comparison chart of the embedding rate with other related methods. Detailed Description of the Invention

[0052] The following combines the drawings to further describe the specific embodiments of the present invention in detail.

[0053] In a preferred embodiment of the present invention, a reversible information hiding method for a 3D encryption model based on nearest neighbor prediction and multi-point grouping is provided, and its specific steps are described as follows Figure 1 shown in S1 to S10 below. This method makes full use of the redundant space between the vertex coordinates of the 3D model, realizes the efficient encoding of vertices, thus providing the embedding ability of a large amount of additional information. Finally, the encrypted 3D model generated by the encryption end can be uploaded to the cloud, and after the receiving end downloads the encrypted 3D model from the cloud, it can re-implement the information extraction and model restoration functions. The processes of encryption, information hiding, information extraction, and model restoration of this 3D model are as follows Figure 2 shown. First, the steps of the reversible information hiding method for the 3D encryption model executed by the encryption end will be described in detail below, and the specific process is as shown in S1 to S10.

[0054] S1: Convert the vertices V in the.off format 3D model file O to be processed from floating-point numbers to integers. Convert each dimension of the three-dimensional coordinates of each vertex into a binary integer format. The first bit is used to identify the positive or negative sign of the three-dimensional coordinate, and the remaining bits represent the specific value after the decimal point of its original three-dimensional coordinate. Denote the vertices after integer conversion as V (x,y,z) .

[0055] In the embodiment of the present invention, only 5 bits after the decimal point are retained for each vertex three-dimensional coordinate, and each dimension coordinate is converted into a 32-bit binary format. The first bit identifies the positive or negative sign of the dimension coordinate, and the remaining 31 bits record the integer value of the 5 bits after the decimal point of the original coordinate of this dimension.

[0056] S2: Group all the vertices in the 3D model file O according to the vertex numbers, and denote the grouped vertex sequence as where t represents the total number of groups, and n represents the number of vertices in each group. Take the first vertex in each group as the reference vertex without modification, and the remaining vertices are steganographic vertices for prediction based on the reference vertex.

[0057] In the embodiment of the present invention, the selectable values of the number of vertices n in each of the above groups are 2, 3, and 4. Subsequently, the effects of grouping different numbers of vertices of different models were tested through experiments to facilitate the selection of its optimal value.

[0058] S3: Initialize a binary sequence L of length t(n - 1). The t(n - 1) bits in the binary sequence L correspond one - to - one with the t(n - 1) steganographic vertices. Traverse the face information of each steganographic vertex in sequence according to the vertex number. If there is no reference vertex connected to the steganographic vertex, do not process this steganographic vertex and mark the corresponding bit in L as 1. If there is a reference vertex connected to the steganographic vertex, mark the corresponding bit in L as 0, and select method a) or b) to find the nearest neighbor connected to this steganographic vertex according to the number of reference vertices connected to this steganographic vertex.

[0059] If only one reference vertex is connected to the steganographic vertex, directly use this reference vertex as the nearest neighbor of this steganographic vertex;

[0060] If there are multiple reference vertices connected to the steganographic vertex (i.e., there are m > 1 reference vertices connected to the steganographic vertex), calculate the three - dimensional coordinate distance D between this steganographic vertex and each connected reference vertex through the following formula, and select the reference vertex with the smallest D as the nearest neighbor of this steganographic vertex;

[0061] The calculation formula of the three - dimensional coordinate distance D is as follows:

[0062]

[0063] where, V′ (x,y,z) represents the three - dimensional coordinates of the reference vertex V′, and V (x,y,z) represents the three - dimensional coordinates of the steganographic vertex. Assume that this steganographic vertex has a total of m reference vertices connected to it, then the three - dimensional coordinate distance D needs to be calculated for each steganographic vertex.

[0064] S4: For each steganographic vertex marked as 0 in L, calculate and record the difference d in three - dimensional coordinates between the steganographic vertex and the corresponding nearest neighbor: (d x , d y , d z ), and use one bit to identify the positive and negative of the difference respectively, and then generate a new code for this steganographic vertex by recording the number of the nearest neighbor and the three - dimensional coordinate prediction error.

[0065] In the embodiment of the present invention, the specific method of generating a new code for this steganographic vertex by recording the number of the nearest neighbor and the three - dimensional coordinate prediction error is as follows:

[0066] S41: First, use bits to record the serial number of the nearest neighbor of this steganographic vertex among the connected reference vertices, and the symbol represents rounding up;

[0067] S42: Then use bits to record the three - dimensional difference d of d x, d y , d z The binary length of the largest difference among them, where l represents the three differences d: (d x , d y , d z ); that is, the binary length of the largest difference among (d

[0068] S43: Then, in the order of the three-dimensional coordinates x, y, and z, use 3l bits to record the three-dimensional differences of d, namely d: (d x , d y , d z );

[0069] S44: In S41 to S43 above, three groups of codes are actually obtained. Finally, the three groups of codes obtained by concatenation generate a new code with a total length of for the corresponding steganographic vertex.

[0070] S5: After processing each steganographic vertex marked as 0 in L according to step S4 in sequence, a new sequence of steganographic vertices is generated

[0071] S6: Use the stream cipher technique and the model encryption key K d to encrypt the three-dimensional coordinates of the reference vertices in the.off format 3D model file after integer conversion. The stream cipher technique belongs to the prior art. The stream cipher technique used needs to generate a binary long key with the same length as the data to be encrypted through a short key, and then encrypt it by the method of exclusive-or of binary bits. Its encryption formula can be expressed as (2):

[0072]

[0073] where E (x,y,z) represents the encrypted three-dimensional coordinates of the reference vertices, and the subscript i represents the dimension of the vertex coordinates, with the range of [1, 32].

[0074] S7: Use arithmetic coding technology to compress the sequence L to form a compressed binary sequence Since a vertex in the 3D model participates in generating multiple faces, that is, it is connected to multiple other vertices, most steganographic vertices are connected to reference vertices. Therefore, the number of 1s in the sequence L is extremely small and can be fully compressed. Therefore, in the embodiments of the present invention, the built-in arithmetic coding function arithenco in Matlab can be used to compress the sequence L to form a compressed sequence

[0075] S8: Concatenate the binary sequence With the steganographic vertex sequence and use the sequence to record the length of the concatenated sequence and the demarcation point between the two sequences. In the embodiments of the present invention, is 32 bits in length, where the first 16 bits are used to identify the sequence and the sequence total length, and the last 16 bits record the demarcation point between the two.

[0076] S9: For the 3D model file after encrypting the reference vertices, arrange the sequence in ascending order of vertex numbers and embed it into each steganographic vertex in turn, and retain the face information, thereby generating the encrypted 3D model E. The method of embedding information into steganographic vertices can use the binary bit replacement method.

[0077] S10: Empty the remaining part of the steganographic vertices without embedded sequence information and use it as the redundant space for embedding additional secret information; for the additional information M, first use the stream cipher technology and the information encryption key K m to encrypt it to generate the encrypted information Stream cipher technology belongs to the prior art. The stream cipher technology used needs to be able to generate a binary long key with the same length as the data to be encrypted through a short key, and then encrypt it through the method of binary bitwise exclusive-or. The encryption process of generating the encrypted information here can be expressed by formula (3):

[0078]

[0079] where j represents the additional information coordinate, and the length is the same as the length of the additional information.

[0080] After that, the binary bit replacement method can be used to embed the encrypted information into the redundant space, thereby generating the encrypted 3D model embedded with additional information

[0081] Thus, through the above several steps, a reversible information hiding method for a 3D encryption model based on nearest neighbor prediction and multi-point grouping can be realized. The present invention performs an embedding rate test on the 4 3D models in Figure 3 . The embedding rate represents how many bits of binary additional information can be embedded in each vertex coordinate. The larger the embedding rate, the more additional information can be embedded, and the wider the range in practical applications. In the results of different vertex numbers in each group Figure 4 , it can be seen that dividing 3 vertices into a group is a better grouping method in most cases. The comparison test results with other related schemes refer to Figure 5As shown. It can be seen that the method proposed by the present invention has a very significant improvement in the embedding rate compared with other methods. For the remaining prior art methods for comparison, please refer to the following literature:

[0082] [1] Y.-Y. Tsai, “Separable reversible data hiding for encrypted three-dimensional models based on spatial subdivision and space encoding,” IEEE Transactions on Multimedia, vol. 23, pp. 2286 - 2296, 2020.

[0083] [2] N. Xu, J. Tang, B. Lou, and Z. Yin, “Separable reversible data hiding based on integer mapping and MSB prediction for encrypted 3D mesh models,” Cognitive Computation, vol. 14, no. 3, pp. 1172 - 1181, 2022.

[0084] [3] Z. Yin, N. Xu, F. Wang, L. Cheng, and B. Lou, “Separable reversible data hiding based on integer mapping and multi - MSB prediction for encrypted 3D mesh models,” In Chinese Conference on Pattern Recognition and Computer Vision (PRCV), pp. 336 - 348. Springer, Cham, 2021.

[0085] [4] W. L. Lyu, L. Cheng, and Z. Yin, “High - capacity reversible data hiding in encrypted 3D mesh models based on multi - MSB prediction,” Signal Processing, vol. 201, no. 108686, 2022.

[0086] The above process is the 3D encryption model encoding, encryption, and information hiding process of the present invention. After the above hiding method generates an encrypted 3D model embedded with additional information, it can be transmitted to the recipient through the cloud or other transmission channels. If a 3D encrypted model with additional information is received at the receiving end, the embedded additional information or the original 3D model can be extracted according to the different keys held. The following specifically describes the information extraction and image restoration methods at the receiving end of the present invention: After that, it can be transmitted to the recipient through the cloud or other transmission channels. If a 3D encrypted model with additional information is received at the receiving end, the embedded additional information or the original 3D model can be extracted according to the different keys held. The following specifically describes the information extraction and image restoration methods at the receiving end of the present invention:

[0087] (1) If the recipient holds the additional information encryption key K m , then the additional information is extracted by performing the following steps 11 to 13:

[0088] Step 11: Extract the first 16 bits of the first steganographic vertex in the order of the steganographic vertex numbers, and the total length of the sequences and the sequence can be obtained;

[0089] Step 12: According to the order of the steganographic vertices, sequentially extract the binary bit string after removing the sequences and the sequence from the three-dimensional coordinates, and the embedded encrypted additional information

[0090] can be obtained; m Step 13: Use the additional information encryption key K to decrypt

[0091] and the original additional information M can be restored; d , then the original 3D model is restored by performing the following steps 21 to 25

[0092] Step 21: First, extract the first 32 bits of the first steganographic vertex in the order of the steganographic vertex numbers. Among them, the total length of the sequences and the sequence is obtained through the first 16 bits, and the demarcation point of the two sequences is obtained through the last 16 bits, so as to respectively extract the sequences and the sequence

[0093] Step 22: Use arithmetic coding technology to decompress the sequence to generate a binary sequence L with a length of t(n - 1) to determine whether each steganographic vertex is connected to a reference vertex; if the steganographic vertex is not connected to a reference vertex, directly extract the 96 bits in the sequence to restore its three-dimensional coordinates. If the steganographic vertex is connected to a reference vertex, according to the number m of the reference vertices connected to it, extract the in the sequence Bits to determine its nearest neighbor point;

[0094] Step 23: Extract again bits to determine the length of the prediction error, and then successively extract 3l bits and convert them into decimal to recover the three-dimensional coordinate difference d between the steganographic vertex and its nearest neighbor point: (d x , d y , d z );

[0095] Step 24: For each steganographic vertex, directly add the three-dimensional coordinate difference to the three-dimensional coordinates of the nearest neighbor point to recover the steganographic vertex;

[0096] Step 25: After processing all steganographic vertices in sequence, convert all vertex coordinates into decimal form to recover the original 3D model file.

[0097] Through the above steps, the information extraction and image restoration functions can be achieved.

[0098] The above-described embodiments are only a preferred solution of the present invention, but it is not intended to limit the present invention. Those of ordinary skill in the relevant technical field can still make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, all technical solutions obtained by adopting equivalent replacement or equivalent transformation methods fall within the protection scope of the present invention.

Claims

1. A reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping, the steps are as follows: S1: Convert the vertices V in the 3D model file O to be processed from floating-point numbers to integers. Uniformly convert each dimension of the three-dimensional coordinates of each vertex into a binary integer format, where the first bit is used to identify the positive or negative sign of the three-dimensional coordinate, and the remaining bits represent the specific value after the decimal point of its original three-dimensional coordinate. Denote the vertex after integer conversion as V (x,y,z) ; S2: Group all vertices in the 3D model file O according to the vertex numbers, where the total number of groups is t, and the number of vertices in each group is n; The first vertex in each group is used as the reference vertex without modification, and the remaining vertices are steganographic vertices for prediction based on the reference vertex. S3: Initialize a binary sequence L with a length of t(n - 1). The t(n - 1) bits in the binary sequence L correspond one-to-one with the t(n - 1) steganographic vertices; Traverse the face information of each steganographic vertex according to the vertex number in a loop. If there is no reference vertex connected to the steganographic vertex, the steganographic vertex is not processed, and the corresponding bit in L is marked as 1 ; If there is a reference vertex connected to the steganographic vertex, the corresponding bit in L is marked as 0, and a) or b) is selected according to the number of reference vertices connected to the steganographic vertex to find the nearest point connected to the steganographic vertex; a) If only one reference vertex is connected to the steganographic vertex, directly use this reference vertex as the nearest point of the steganographic vertex; b) If there are m > 1 reference vertices connected to the steganographic vertex, calculate the three-dimensional coordinate distance D between the steganographic vertex and each connected reference vertex through the following formula (1), and select the reference vertex with the smallest D as the nearest point of the steganographic vertex; Among them, V' (x,y,z) represents the three-dimensional coordinates of the reference vertex V′, and V (x,y,z) represents the three-dimensional coordinates of the occludable vertex; S4: For each stowable vertex marked as 0 in L, calculate and record the difference d in three-dimensional coordinates between the stowable vertex and the corresponding nearest neighbor point: (d x , d y , d z ), identify the positive and negative of the difference, and then generate a new code for the stowable vertex by recording the number of the nearest neighbor point and the three-dimensional coordinate prediction error; S5: After processing each stowable vertex marked as 0 in L in sequence according to step S4, generate a new sequence of stowable vertices S6: Encrypt the three-dimensional coordinates of the reference vertices in the 3D model file after integer conversion by using the stream cipher technology and the model encryption key K d Encrypt the three-dimensional coordinates of the reference vertices in the 3D model file after integer conversion; S7: Compress sequence L using arithmetic coding technology to form a compressed binary sequence S8: Concatenated binary sequence with the steganographic vertex sequence and use the sequence to record the length of the concatenated sequence and the demarcation points of the two sequences; S9: For the 3D model file after encrypting the reference vertices, embed the sequence into each steganographic vertex in ascending order of vertex numbers, and retain the face information, thereby generating the encrypted 3D model E; S10: Empty the remaining part of the steganographic vertices without embedded sequence information and use it as the redundant space for embedding additional secret information; for the additional information M, first use stream cipher technology and the information encryption key K m to encrypt it to generate encrypted information Then embed the encrypted information into the redundant space to generate an encrypted 3D model with embedded additional information 2. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, in S1, only the first 5 digits after the decimal point of each vertex three-dimensional coordinate are retained, and each dimension coordinate is converted into a 32-bit binary format, where the first bit identifies the positive or negative sign of the dimension coordinate, and the remaining 31 bits record the integer value of the first 5 digits after the decimal point in the original coordinate of this dimension.

3. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, in S2, the number of vertices n in each group is selected as 2, 3 or 4.

4. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, in S4, the specific method of generating the new code of the steganographic vertex by recording the number of the nearest point and the three-dimensional coordinate prediction error is as follows: S41: First, use bits to record the serial number of the nearest point of the steganographic vertex among the reference vertices connected to it. The symbol represents rounding up; S42: Then use bits to record the three-dimensional differences d x , d y , d z of the maximum difference in l, the binary length; S43: Then, in the order of the three-dimensional coordinates x, y, and z, record the three-dimensional differences d x , d y , d z ; S44: Finally, concatenate the three groups of codes obtained in the above S41 - S43 to generate a new code with a total length of for the corresponding steganographic vertex.

5. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, in S6 and S10, the stream cipher technology used needs to be able to generate a binary long key with the same length as the data to be encrypted through a short key, and then encrypt it through the method of binary exclusive-or.

6. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, in S7, the function arithenco in Matlab is used to compress the sequence L.

7. The reversible information hiding method for 3D encrypted models based on nearest points and multi-point grouping according to claim 1, characterized in that, In the S8, has a length of 32 bits, where the first 16 bits are used to identify the sequence and the total length of the sequence , and the last 16 bits record the demarcation point between the two.

8. The reversible information hiding method for 3D encryption model based on nearest neighbor points and multi-point grouping according to claim 1, characterized in that, in S9 and S10, the method of embedding information into stego vertices is binary bit replacement.

9. The reversible information hiding method for 3D encryption model based on nearest neighbor points and multi-point grouping according to claim 1, characterized in that, the 3D model file adopts the.off format.

10. A reversible information recovery method for 3D encryption model based on nearest neighbor points and multi-point grouping, characterized in that, Generate an encrypted 3D model with embedded additional information according to the hiding method described in claim 7 After that, transfer it to the recipient. The recipient restores the 3D model or extracts the embedded additional information based on the held key. The restoration process is as follows: If the recipient holds the additional information encryption key K m , the additional information is extracted by performing the following steps 11 to 13: Step 11: Extract the first 16 bits of the first stowable vertex in the order of the stowable vertex numbers to obtain a sequence and the sequence for the total length; Step 12: Extract the binary bit strings after removing the sequence and the sequence from the three-dimensional coordinates in sequence according to the order of the storable vertices, and obtain the embedded encrypted additional information and the sequence to obtain the embedded encrypted additional information Step 13: Encrypt key K using additional information m Decrypt Restore the original additional information M; If the recipient holds the model encryption key K d , the original 3D model is restored by performing the following steps 21 to 25 Step 21: First extract the first 32 bits of the first storable vertex in the order of the storable vertex numbers, where the first 16 bits are used to obtain the sequence and the sequence of the total length, and the last 16 bits are used to obtain the demarcation point of the two sequences, so as to extract the sequence and the sequence Step 22: Decompress the sequence using arithmetic coding technology Generate a binary sequence L of length t(n - 1) to determine whether each steganographic vertex is connected to a reference vertex; if the steganographic vertex is not connected to a reference vertex, directly extract the sequence Restore its three-dimensional coordinates by extracting 96 bits from the sequence among them bits to determine its nearest neighbor point; Step 23: Extract again bits to determine the length of the prediction error, and then extract 3l bits in sequence and convert them into decimal to recover the three-dimensional coordinate difference d between the stego vertex and its nearest neighbor point: (d x , d y , d z ); Step 24: For each stego vertex, directly add the three-dimensional coordinate difference to the three-dimensional coordinates of the nearest neighbor point to recover the stego vertex; Step 25: After processing all stego vertices in sequence, convert all vertex coordinates into decimal form to recover the original 3D model file.

Citation Information

Patent Citations

  • Multi-carrier information hiding method and system based on three-dimensional model vertex partition

    CN113706690A

  • Separable encryption domain reversible information hiding method based on nearest neighbor pixel prediction

    CN114374774A