Reversible data hiding method based on double high bit significant prediction for encrypted 3D model
By using a method based on double high-order significant bit prediction, a larger data embedding space is generated before 3D model encryption, which solves the problem of low embedding capacity of encrypted 3D models and achieves efficient data embedding and model recovery.
Patent Information
- Application Number
- CN202510056412.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-14
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-01-14
AI Technical Summary
Existing reversible data hiding techniques for encrypted 3D models have low embedding capacity, which limits the widespread application of 3D models in real-world scenarios and fails to meet the growing demand for data security.
By using a method based on double high-order significant bit prediction, a larger data embedding space is generated before 3D model encryption. The correlation between vertices of the 3D model is utilized to improve the data embedding capacity. And lossless data extraction and lossless model recovery are achieved through key operations.
It significantly improves the data embedding capacity of encrypted 3D models, ensures data integrity and recoverability, and achieves lossless data extraction and distortion-free model recovery.
Smart Images

Figure CN119991401B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of reversible data hiding, and particularly relates to an encrypted 3D model reversible data hiding method based on double high significant bit prediction. BACKGROUND
[0002] In the digital era, three-dimensional (3D) models are the cornerstone of building virtual worlds, playing a crucial role in virtual reality, game development, and other fields. They provide intuitive industrial design presentations, improve manufacturing efficiency and quality, enhance the accuracy of medical diagnosis, or drive scientific research, providing new solutions to real-world problems. With the rapid advancement of technology and the continuous expansion of application fields, the data volume of three-dimensional (3D) models has grown dramatically, making data security and privacy protection particularly urgent and pressing.
[0003] With the development of cloud technology, encryption ensures the confidentiality and integrity of data in the cloud environment, while reversible data hiding (RDH) technology further embeds additional data on encrypted data, providing additional security for sensitive information in cloud storage. RDH technology provides an effective solution for the privacy protection and secure storage of 3D models, becoming a new hotspot in the research field. However, the current encryption 3D model reversible data hiding embedding capacity is relatively low.
[0004] Due to the relatively low embedding capacity, the widespread application of 3D models in practical scenarios is greatly limited. With the support and promotion of the "Xiamen Natural Science Foundation Project" (No. 3502Z20227192), there is an urgent need to design a reversible data hiding method that significantly improves the embedding capacity of encrypted 3D models while maintaining data integrity and recoverability, thereby better meeting the growing demand for data security and providing a more effective solution for the secure storage and transmission of 3D models. SUMMARY
[0005] To solve the above problems, the present application provides an encrypted 3D model reversible data hiding method based on double high significant bit prediction, which utilizes the correlation between 3D model vertices to generate a larger data embedding space before 3D model encryption through double high significant bit prediction, thereby improving the data embedding capacity in the 3D model encryption domain.
[0006] The specific scheme is as follows:
[0007] On the one hand, the encrypted 3D model reversible data hiding method based on double high significant bit prediction comprises:
[0008] S1, converting each floating-point vertex coordinate data of the 3D model into vertex binary coordinate data through integer mapping and base conversion;
[0009] S2, performing high significant bit self-prediction on each vertex binary coordinate data in sequence to obtain the number of bits of the continuous equal high significant bits of each vertex binary coordinate data, determining the redundant data on the high significant bits of all vertex binary coordinate data based on the number of continuous equal bits, and generating a data embedding space based on the redundant data;
[0010] S3, shielding the redundant data on the high significant bits of each vertex binary coordinate data, and dividing all vertex binary coordinate data into V E and V R two groups, performing secondary high significant bit prediction on the vertex binary coordinate data in V R with the vertex binary coordinate data in V E to obtain a prediction accurate marker value, and using the prediction accurate marker value as auxiliary data to obtain the data embedding space of the vertex in V E ;
[0011] S4, generating a random binary sequence with the same length as each vertex binary coordinate data using a first secret key, performing bitwise XOR operation between each vertex binary coordinate data and the random binary sequence to obtain encrypted each vertex binary coordinate data, combining the high significant bit data and the low significant bit data containing the data embedding space in the encrypted each vertex binary coordinate data after data rearrangement to obtain rearranged each vertex binary coordinate data, and replacing the high data embedding space encrypted by the first secret key with the auxiliary data encrypted by the second secret key to obtain the encrypted 3D model data containing the embedding space based on the rearranged each vertex binary coordinate data;
[0012] S5, re-dividing all vertices of the encrypted 3D model containing the embedding space into V E and V E two groups based on the data embedding space of the vertex in V R ; arranging the vertices in ascending order of vertex index, connecting the binary values of the x, y and z coordinates of each vertex in sequence to form a binary sequence ; extracting the auxiliary data from the binary sequence and decrypting it with the second secret key to locate the auxiliary data and the reserved data embedding space; encrypting the additional data to be embedded with a third secret key and embedding the encrypted additional data into the reserved data embedding space by direct replacement to obtain a modified binary sequence ; recombining the modified binary sequence to obtain the encrypted 3D model embedded with additional data.
[0013] Further, in S1, all floating-point vertex coordinate data V = {v i |v i ∈R 3 ,1≤i≤N}; wherein, v i is the i-th vertex coordinate, N is the number of vertices, R represents the set of real numbers, R 3 represents a three-dimensional coordinate set; by integer mapping and base conversion, each floating-point vertex coordinate data is converted into a specified length of binary coordinate data.
[0014] Further, in S2, the size of the data embedding space is 3·N·(l-1) bits, wherein N is the number of vertices, and l is the number of bits in which all vertex binary coordinate data has consecutive equal high significant bits.
[0015] Further, the S3 specifically includes:
[0016] After masking the high significant bits of the (l-1) bit redundancy of each vertex binary coordinate data, the vertex V is divided into V E and V R two groups; the vertex v j in V R is used to predict the vertex v j in V E , and the prediction accuracy of the high significant bits of the x, y and z coordinates of v j is marked as k (j|x) ,k (j|y) ,k (j|z) respectively; a common mark value k (j) = min(k (j|x) ,k (j|y) ,k (j|z) ) is obtained for the three coordinates of v j , and the data embedding space of the vertex in V E is bits.
[0017] Further, after the S5, it further includes: extracting data and model recovery from the encrypted 3D model with embedded additional data, specifically as follows:
[0018] The vertices of the encrypted 3D model with embedded additional data are divided into V E and V R two groups in ascending order of vertex index, and the binary values of the x, y and z coordinates of each vertex are connected in turn to form a binary sequence The binary sequence The auxiliary data is extracted and decrypted with the second key, the additional data embedding position is located based on the decrypted auxiliary data, the encrypted additional data is extracted from the additional data embedding position, the content of the additional data is obtained by decrypting the additional data through the third key, the original 3D model is restored through the first key, the binary coordinate data sequence composed of the encrypted least significant bits is extracted based on the auxiliary data, and the additional data embedding position is identified in each coordinate of each vertex; the encrypted least significant bit sequence is recombined to obtain the recombined vertex data; the random binary sequence with the same length as the binary coordinate data of each vertex is generated by using the first key, and the bitwise XOR operation is performed between the recombined vertex data and the random binary sequence to obtain the decrypted vertex coordinate data output; according to the vertex grouping and the flag value information belonging to the V E group, the first part of the high significant bits is recovered by the secondary multi-bit high significant bit prediction to obtain the vertex coordinate data of the first part of the recovered high significant bits; the second part of the high significant bits is recovered by the sign bit extension to obtain the recovered vertex coordinate data.
[0019] Further, after the encrypted additional data is extracted from the additional data embedding position, if the third key is not owned, the data extraction from the encrypted 3D model with embedded additional data is terminated immediately, and if the first key is not owned, the restoration of the encrypted 3D model is terminated immediately.
[0020] The present application adopts the above technical solution and has beneficial effects:
[0021] (1) The method of the present application realizes higher data embedding capacity in the 3D model encryption domain through an enhanced double multi-most significant bit (multi-MSB) prediction strategy;
[0022] (2) The accurate positioning of the embedding position correctly extracts the embedded data, so that the encrypted model can be restored to the original model without distortion after decryption;
[0023] (3) The present application realizes lossless data extraction and model distortionless restoration through reverse operation on the encrypted 3D model with embedded additional data, and the two operations can be separated. BRIEF DESCRIPTION OF DRAWINGS
[0024] Figure 1 The flow chart of the reversible data hiding method of the encrypted 3D model based on double high significant bit prediction of the embodiment of the present application;
[0025] Figure 2 The prediction diagram of the high significant bit self-prediction of the 3D model of the embodiment of the present application;
[0026] Figure 3 The model vertex encryption and auxiliary data embedding diagram of the embodiment of the present application;
[0027] Figure 4 A model encryption domain data embedding schematic diagram of an embodiment of the present application;
[0028] Figure 5 A data extraction and original model recovery schematic diagram of an embodiment of the present application. DETAILED DESCRIPTION
[0029] The present application will be further described in conjunction with embodiments and drawings, but the embodiments of the present application are not limited thereto. As shown in the drawings, the present application is based on a reversible data hiding method of encrypted 3D model with double high significant bit prediction, which comprises: Figure 1
[0030] S1, converting each floating point type vertex coordinate data of the 3D model into each vertex binary coordinate data through integer mapping and base conversion.
[0031] Specifically, all floating point type vertex coordinate data V={v i |v i ∈R 3 ,1≤i≤N};wherein v i is the i-th vertex coordinate, N is the number of vertices, R represents the set of real numbers, R 3 represents a three-dimensional coordinate set; through integer mapping and base conversion, each floating point type vertex coordinate data is converted into binary coordinate data of a specified length.
[0032] For ease of discussion, in this embodiment, the vertex data of the 3D model is V={v i |v i =(v i|x ,v i|y ,v i|z )∈R 3 ,1≤i≤N}, the face data is F={f1,f2,…,f j ,…,f M}(M is the number of faces), and the implementation of lossless compression encoding of the arithmetic coding as the marking value is encrypted and data embedded.
[0033] Specifically, each floating point type vertex coordinate v i|c of the 3D model (c∈{x,y,z} is the coordinate axis) is converted into an integer formula as follows:
[0034]
[0035] wherein, is a floor operation, m (m∈[1,33]) represents conversion precision, and n is the largest integer number of each vertex coordinate. Different m values correspond to different bit binary coordinate data of L bits, and the corresponding relationship is:
[0036]
[0037] S2, sequentially performing high significant bit self-prediction on each vertex binary coordinate data to obtain the number of bits in which the high significant bits of each vertex binary coordinate data are continuously equal, determining the redundant data on the high significant bits corresponding to all vertex binary coordinate data based on the number of bits, and generating a data embedding space based on the redundant data.
[0038] Specifically, the size of the generated data embedding space is 3*N*(l-1) bits, where N is the number of vertices, and l is the number of bits in which the high significant bits of all vertex binary coordinate data are continuously equal.
[0039] Specifically, the binary coordinate data of each vertex is sequentially subjected to high significant bit self-prediction to determine the number of bits in which the high significant bits are continuously equal, from which the number of bits l in which the high significant bits of all vertex coordinates are continuously equal is obtained, thereby determining the redundant data on the high significant bits corresponding to all vertices, and the generated data embedding space is 3*N*(l-1) bits, and the value of l requires A1=log2L data storage; when m=5, the high significant bit self-prediction of a 3D model generates a data embedding space as shown in the schematic diagram. Figure 2
[0040] S3, masking the redundant data on the high significant bits corresponding to each vertex binary coordinate data, and dividing all vertex binary coordinate data into V E and V R two groups, using the vertex binary coordinate data in V R to perform secondary high significant bit prediction on the vertex binary coordinate data in V E to obtain a prediction accurate marker value, and using the prediction accurate marker value as auxiliary data to obtain the data embedding space of the vertex in V E .
[0041] Specifically, after masking the (l-1) bit redundant high significant bits of each vertex binary coordinate data, all vertices are divided into V E and V R two groups; using the vertices in V R to perform secondary high significant bit prediction on the vertices v E in V j , to obtain the prediction accurate high significant bit marker values of the x, y and z coordinates of v j , respectively denoted as k (j|x) , k (j|y) and k (j|z) ; using a common marker value k j = min(k (j) , k (j|x) , k (j|y) ) for the three coordinates of v (j|z) , to obtain VE The data embedding space of the mid-vertex is Bit.
[0042] Specifically, in this embodiment, after masking the (l-1) bit redundancy of the high-order significant bits of the binary coordinate data of each vertex, all vertices are divided into V based on the face data F. E and V R Two groups, first, let V E and V R All are empty sets Traverse each f in ascending order of index value j ∈F, obtain the constituent surface f j All vertices like None of them belong to V E ①If None of them belong to V R ,Will Classified as V E The rest are classified as V. R ② If only one vertex belongs to V R The remaining two are classified as V. E V R ③ If two vertices belong to V R The remaining one is classified as V. E ④ If All belong to V R If so, then the grouping remains unchanged. At least one vertex in V belongs to V E Then it will not belong to V E The other vertices are classified as V R Iterate through all elements belonging to V. R For each vertex on the same face, count the vertices that belong to set V. E V R The number of each is N E N P If N is satisfied E ≤2×N P And N P ≥1, move the current vertex from V R Move to V E Iterate through all elements belonging to V. W A vertex is defined if all its adjacent vertices on the same face are not members of V. R Then the current vertex will be moved from V. E Move to V R Divide all vertices into V. E and V R Then, iterate through all elements belonging to V. E vertex v j Find the match with v jall the adjacent vertices belonging to V R , from the highest bit plane, for a certain bit plane of the coordinate, count the number of 0 and 1 of all the adjacent vertices belonging to V R in the bit plane, if the number of 0 is not less than the number of 1, the prediction value is 0, otherwise the prediction value is 1. Compare the prediction value of each bit plane of v j with the original value, respectively get the number of consecutive correct prediction bit planes k (j|x) , k (j|y) , k (j|z) of x, y, z coordinates from the most significant bit. In order to reduce the amount of auxiliary data, v j three coordinates share a flag value, that is
[0043] k (j) = min(k (j|x) , k (j|y) , k (j|z) );
[0044] The data embedding space of the vertex in V E is 32 bits.
[0045] S4, using the first key to generate a random binary sequence with the same length as the binary coordinate data of each vertex, performing bitwise XOR operation between the binary coordinate data of each vertex and the random binary sequence to obtain the encrypted binary coordinate data of each vertex; for the encrypted binary coordinate data of each vertex, combine the high significant bit data and the low significant bit data in the data embedding space and rearrange the data to obtain the rearranged binary coordinate data of each vertex; replace the high bit data embedding space of the first key encrypted auxiliary data with the second key encrypted auxiliary data, and obtain the encrypted 3D model data containing the embedding space based on the rearranged binary coordinate data of each vertex.
[0046] Specifically, the vertex coordinates are preprocessed to obtain integer values, and then encoded into binary sequences in the following way:
[0047]
[0048] The model owner generates a pseudo-random binary sequence using the first key, denoted as p i|c,u , and performs XOR operation with the original binary sequence to obtain the encrypted binary sequence, denoted as
[0049]
[0050] wherein This is an XOR operation. The encrypted binary sequence is then converted back to the encrypted coordinates as integer values:
[0051]
[0052] Obtain the encrypted vertex coordinate data
[0053] Specifically, such as Figure 3 As shown, the encrypted high-order data is embedded into the spatial data, and the low-order valid data are combined together and rearranged to obtain a binary sequence. The auxiliary data, such as the l-value and the losslessly compressed arithmetic code marker value, are encrypted using the second key and then directly replace the high-order data of the encrypted data to embed the spatial data. Then The data is rearranged and reassembled into vertex coordinate data to obtain encrypted 3D model data containing embedding space.
[0054] S5, based on V E The data embedding space of the mid-vertex is used to re-divide all vertices of the encrypted 3D model containing the embedding space into V. E and V R Two groups; arranged in ascending order of vertex index, the binary values of the x, y, and z coordinates of each vertex are concatenated sequentially to form a binary sequence. From binary sequence Auxiliary data is extracted and decrypted using the second key to locate the auxiliary data and the reserved data embedding space; the additional data to be embedded is encrypted using the third key, and the encrypted additional data is embedded into the reserved data embedding space by direct substitution to obtain the modified binary sequence. The modified binary sequence Reassemble to obtain an encrypted 3D model with embedded additional data.
[0055] Specifically, such as Figure 4 As shown, the specific implementation steps for embedding the model encryption domain data corresponding to the above-mentioned embedding space generation and model encryption are as follows:
[0056] Based on the surface data F, the vertices of the encrypted 3D model containing the embedding space are re-divided into V. E and V R Two groups: First, let V E and V R All are empty sets Traverse all f in ascending order of index value j ∈F, obtain the constituent surface f j All vertices like None of them belong to V E ①If none of which belong to V R , and all belong to V E , the rest belong to V R ; 2) if only one vertex belongs to V R , the remaining two belong to V E , V R respectively; 3) if two vertices belong to V R , the remaining one belongs to V E ; 4) if all belong to V R , the grouping remains unchanged. If at least one vertex in belongs to V E , the other vertices that do not belong to V E are classified as V R . Traverse all vertices belonging to V R , count the number of adjacent vertices belonging to sets V E , V R in the same face respectively, which are N E , N P respectively, if N E ≤ 2 x N P and N P ≥ 1, move the current vertex from V R to V E . Traverse all vertices belonging to V E , if all adjacent vertices in the same face do not belong to V R , move the current vertex from V E to V R . After dividing the vertices of the encrypted 3D model containing the embedded space into V E and V R , arrange them in ascending order of vertex index, and concatenate the L-bit binary values of the x, y, and z axes of each vertex in turn to form a binary sequence Decrypt the binary sequence with the second key, extract the auxiliary data embedded in it, and locate the positions of the auxiliary data and the reserved data embedding space; encrypt the additional data to be embedded with the third key, and embed it in the reserved data embedding space by direct replacement to obtain a binary sequence Recombine the modified binary sequence to obtain the encrypted 3D model data after embedding additional data
[0057] Specifically, the data and model are recovered from the encrypted 3D model after embedding additional data, which specifically includes:
[0058] Re-divide the vertices of the encrypted 3D model after embedding additional data into VE and V R Two groups, in ascending order of vertex index, connect the binary values of the three coordinates of each vertex in turn to form a binary sequence From the binary sequence Extract the auxiliary data and decrypt it with the second key, locate the additional data embedding position based on the decrypted auxiliary data; extract the encrypted additional data from the additional data embedding position; obtain the content of the additional data by decrypting the additional data obtained through the third key; restore the original 3D model through the first key; based on the auxiliary data, extract the binary coordinate data sequence composed of encrypted least significant bits, and identify the additional data embedding position in each coordinate of each vertex; reorganize the encrypted least significant bit sequence to obtain the reorganized vertex data; generate a random binary sequence of the same length as the binary coordinate data of each vertex using the first key, and perform bitwise XOR operation between the reorganized vertex data and the random binary sequence to obtain the decrypted vertex coordinate data output; according to the vertex grouping and the marking value information belonging to V E Group, restore part of the most significant bits through quadratic multi-bit most significant bit prediction to obtain the first part of the restored vertex coordinate data of the most significant bits; restore the second part of the most significant bits through the sign bit extension to obtain the restored vertex coordinate data.
[0059] Specifically, after extracting the encrypted additional data from the additional data embedding position, if the third key is not possessed, the data extraction from the encrypted 3D model with embedded additional data is immediately terminated, and if the first key is not possessed, the restoration of the encrypted 3D model is immediately terminated.
[0060] Specifically, as shown in Figure 5 , according to the face data F, the vertices of the encrypted 3D model with embedded additional data are re-divided into V E and V R Two groups; first, let V E and V R be empty sets All f j ∈F are traversed in ascending order of index value to obtain all vertices j composing the face f If none of them belong to V E : ① If none of them belong to V R , then belongs to V E , and the rest belong to V R ; ② If only one vertex belongs to V R , the remaining two belong to V E and V R respectively; ③ If two vertices belong to V R, the rest is classified as V E ; ④ if all belong to V R , the group is kept unchanged. If at least one vertex belongs to V E , the other vertices not belonging to V E are classified as V R . Traverse all vertices belonging to V R , count the number of vertices belonging to V E and V R respectively among the adjacent vertices in the same face, denoted as N E and N P , if N E ≤2×N P and N P ≥1, move the current vertex from V R to V E . Traverse all vertices belonging to V E , if all adjacent vertices in the same face do not belong to V R , move the current vertex from V E to V R . After dividing the vertices of the embedded encrypted 3D model with additional data into V E and V R , arrange them in ascending order of vertex index, and concatenate the L-bit binary values of x, y and z axes of each vertex in turn to form a binary sequence . Decrypt the binary sequence using the second key to extract the auxiliary data embedded therein; according to the auxiliary data, locate the additional data embedding position; extract the encrypted additional data from the additional data embedding position; if the third key is available, the additional data can be decrypted; otherwise, the content of the additional data cannot be obtained; if the first key is not available, the original model cannot be further restored; according to the auxiliary data, extract the binary coordinate data sequence composed of the encrypted least significant bits, and identify the additional data embedding position in each coordinate of each vertex; reorganize the encrypted least significant bit sequence to obtain the reorganized vertex data
[0061] Specifically, the reorganized vertex data is encoded into a binary sequence in the following manner:
[0062]
[0063] The model owner generates a pseudo-random binary sequence using the first key, denoted as p i|c,u . The sequence is subjected to XOR operation with the binary sequence to obtain the decrypted binary sequence, denoted as
[0064]
[0065] The decrypted binary sequence is then converted back into encrypted coordinates of integer values:
[0066]
[0067] Obtain the decrypted vertex coordinate data Output. Group by vertex, and iterate through all vertices belonging to V. E vertex Find and On the same face and belonging to V R Starting from the highest bit plane, for a specific bit plane with a given coordinate, count all adjacent vertices belonging to V. R The number of 0s and 1s appearing in all adjacent vertices of the bit plane is used to determine the predicted value. If the number of 0s is not less than the number of 1s, the predicted value is 0; otherwise, the predicted value is 1. This is based on k in the auxiliary data. (j) The values are recovered using the predicted values. The height k of the x, y, and z axes (j) The number of valid bits, i.e. The vertex coordinate data recovered from the most significant bits were obtained. For each coordinate x, y, z of each vertex, the remaining (l-1) most significant bits are recovered by sign-bit extension to obtain the recovered vertex coordinate data.
[0068] Although the invention has been specifically shown and described in conjunction with preferred embodiments, those skilled in the art should understand that various changes in form and detail may be made to the invention without departing from the spirit and scope of the invention as defined in the appended claims, all of which shall be within the scope of protection of the invention.
Claims
1. A reversible data hiding method based on double high bit significant prediction for encrypted 3D model, characterized in that, The method comprises the following steps: S1, converting each floating-point vertex coordinate data of a 3D model into vertex binary coordinate data through integer mapping and base conversion; S2, performing high significant bit self-prediction on each vertex binary coordinate data in sequence to obtain the number of bits in which the high significant bits of each vertex binary coordinate data are continuously equal, determining the redundant data on the high significant bits corresponding to all vertex binary coordinate data based on the number of bits, and generating a data embedding space based on the redundant data; S3, shield the redundant data on the high significant bit of each vertex binary coordinate data pair, divide all vertex binary coordinate data into V E and V R two groups, use the vertex binary coordinate data in V R to perform secondary high significant bit prediction on the vertex binary coordinate data in V E , obtain a prediction accurate marker value; use the prediction accurate marker value as auxiliary data to obtain the data embedding space of the vertex in V E ; S4, generating a random binary sequence with the same length as each vertex binary coordinate data using a first secret key, performing bitwise XOR operation between each vertex binary coordinate data and the random binary sequence to obtain encrypted vertex binary coordinate data, and rearranging the high significant bit data and the low significant bit data containing the data embedding space in the encrypted vertex binary coordinate data to obtain rearranged vertex binary coordinate data; S5, replacing the high significant bit data embedding space encrypted by the first secret key with the auxiliary data encrypted by the second secret key, and obtaining the encrypted 3D model data containing the embedding space based on the rearranged vertex binary coordinate data; S5, based on V E the data embedding space of the middle vertex, re-divide all the vertices of the encrypted 3D model containing the embedding space into V E and V R two groups; according to the ascending order of the vertex index, sequentially connect the binary values of the x, y and z coordinates of each vertex to form a binary sequence extract the auxiliary data from the binary sequence and decrypt it with the second key to locate the auxiliary data and the reserved data embedding space; encrypting the additional data to be embedded with a third key, embedding the encrypted additional data into the reserved data embedding space by direct replacement, obtaining a modified binary sequence modifying the binary sequence recombining to obtain an encrypted 3D model with additional data embedded.
2. The reversible data hiding method in encrypted 3D model based on dual most significant bit prediction of claim 1, wherein, In S1, all floating-point vertex coordinate data V = {v i |v i ∈R 3 ,1≤i≤N} are converted into integer vertex coordinate data V = {v i |v i ∈Z 3 ,1≤i≤N} by the following equation: wherein v i is the i-th vertex coordinate, N is the number of vertices, R represents the set of real numbers, R 3 represents the set of three-dimensional coordinates; each floating-point vertex coordinate data is converted into binary coordinate data of a specified length through integer mapping and base conversion.
3. The reversible data hiding method in encrypted 3D model based on dual most significant bit prediction of claim 1, wherein, In S2, the size of the data embedding space is 3*N*(l-1) bits, where N is the number of vertices, and l is the number of bits in which the high significant bits of all vertex binary coordinate data are continuously equal.
4. The reversible data hiding method in encrypted 3D model based on dual most significant bit prediction of claim 3, wherein, The S3 specifically comprises: After shielding the high significant bits of the binary coordinate data of each vertex (l-1) bits redundancy, the vertex V is divided into V E and V R two groups; using the vertex pair V R in V E to carry out secondary high significant bits prediction to the vertex v j , the prediction accurate high significant bits mark value of the x, y and z three coordinates of v j is respectively recorded as k (j|x) , k (j|y) , k (j|z) ; the three coordinates of v j share a mark value k (j) = min(k (j|x) , k (j|y) , k (j|z) ), and the data embedding space of the vertex in V E is bits.
5. The reversible data hiding method in encrypted 3D model based on dual most significant bit prediction of claim 1, wherein, After the S5, the method further comprises: extracting data and restoring the model from the encrypted 3D model with embedded additional data, specifically as follows: The encrypted 3D model vertices with additional data embedded are re-divided into V E and V R two groups in ascending order of vertex index, and the binary values of the x, y and z coordinates of each vertex are sequentially concatenated to form a binary sequence The auxiliary data is extracted from the binary sequence and decrypted with a second key, the additional data embedding position is located based on the decrypted auxiliary data, the encrypted additional data is extracted from the additional data embedding position, the content of the additional data is obtained by decrypting the additional data with a third key, the original 3D model is restored by the first key, the binary coordinate data sequence composed of encrypted least significant bits is extracted based on the auxiliary data, and the additional data embedding position is identified in each coordinate of each vertex; the encrypted least significant bit sequence is reorganized to obtain reorganized vertex data; a random binary sequence with the same length as the binary coordinate data of each vertex is generated by the first key, and bitwise XOR operation is performed between the reorganized vertex data and the random binary sequence to obtain decrypted vertex coordinate data output; according to the vertex grouping and the flag value information belonging to V E group, the first part of the high significant bits is recovered by twice multi-bit high significant bit prediction to obtain the first part of the recovered vertex coordinate data of the high significant bits; the second part of the high significant bits is recovered by sign bit extension to obtain the recovered vertex coordinate data.
6. The reversible data hiding method in encrypted 3D model based on dual most significant bit prediction of claim 5, wherein, After extracting the encrypted additional data from the additional data embedding position, if the third secret key is not owned, the extraction of data from the encrypted 3D model with embedded additional data is immediately terminated, and if the first secret key is not owned, the restoration of the encrypted 3D model is immediately terminated.
Citation Information
Patent Citations
Reversible data hiding method based on block adaptive coding and bit stream compression
CN116546201A
Reversible information hiding method for encrypted image based on bit plane compression and block rearrangement
CN116582344A