A dynamic prediction-based reversible information hiding method for encrypted 3D models
Patent Information
- Application Number
- CN202311516438.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-15
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-11-15
AI Technical Summary
图像拥有者在将图像发送给接收者的过程中,所传输的图像需要经过第三方云服务器的存储和转发,因此图像内容很容易遭到泄露
[0044]1、本发明提出一种新的动态预测方法,该方法使得模型中的顶点不仅可以用来嵌入数据,还可以预测其他的顶点,将顶点嵌入数据的利用率提高到了将近100%,以此来实现更高的嵌入容量。
Smart Images

Figure CN117640960B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of image content security in information security, and specifically relates to a method for reversible information hiding of encrypted 3D models based on dynamic prediction. Background Technology
[0002] In recent years, with the rapid development of cloud technology, people may face the risk of privacy leaks when transmitting images in the cloud environment. When an image owner sends an image to a recipient, the transmitted image needs to be stored and forwarded through a third-party cloud server, making the image content easily susceptible to leakage. Reversible Data Hiding (RDH) is a technology that hides private data within a multimedia carrier and enables error-free data extraction and lossless carrier recovery. Due to its unique characteristics, it is often used in important fields such as copyright protection, medical image processing, and military intelligence transmission. A reversible data hiding method capable of simultaneously achieving large-capacity data embedding and low-distortion image reconstruction has always been a goal pursued by researchers. To address the security issues mentioned above in the cloud environment, the Reversible Data Hiding in Encrypted Image (RDHEI) scheme has been proposed. RDHEI requires content owners to encrypt images before transmission. In this way, third-party cloud servers not only cannot know the original content of the image, but can also embed some necessary data such as timestamps and user information into the encrypted image. After receiving the encrypted image containing data, the recipient can perform data extraction and image recovery operations according to their different permissions.
[0003] As people's demands for image visualization increase, 3D models have emerged and play an important role in fields such as virtual reality, engineering applications, education, and training. Applying RDH (Real-Time Hierarchy Processing) to encrypted 3D models in a cloud environment not only effectively protects content security but also allows for the embedding of important data such as copyright information into the model, thus attracting increasing attention from researchers. Summary of the Invention
[0004] To maximize the ability of encrypted 3D models to embed secret information while maintaining the security of the embedded image, this invention proposes a reversible information hiding method for encrypted 3D models based on dynamic prediction.
[0005] For the content owner, firstly, for ease of processing, the coordinate values of all vertices in the original 3D model are formatted by converting them from decimals to integers. Secondly, the vertices are divided into embeddable and non-embeddable vertices. For embeddable vertices, the embedding order and corresponding predicted vertices are determined using dynamic prediction and virtual connection mechanisms. Then, the embeddable vertices and their corresponding predicted vertices are compared using multi-bit planes starting from the highest bit to determine the number of identical bit planes. Finally, the original 3D model is encrypted using an encryption key, and Huffman coding is used to re-encode some auxiliary information to reduce its length. The auxiliary information is then combined and embedded into the encrypted model before being sent to the information hider. For the information hider, they first encrypt the information to be embedded using a hiding key, and then embed the encrypted secret information into the redundant space freed up by the encrypted model to obtain the encrypted model. For the receiver, if they possess the hidden key, they can extract the embedded encrypted data and decrypt it using the hidden key to obtain the original secret information; if they possess the encryption key, they can decrypt the model using the encryption key and simultaneously recover the original vertex coordinates based on auxiliary information and predicted vertices, thus obtaining the original model; if they possess both the hidden key and the encryption key, they can not only correctly obtain the original data but also recover the original model. Compared with other related works, the proposed method achieves nearly 100% utilization of the vertex embedding data in the model, significantly improving the embedding capacity and demonstrating superior performance.
[0006] The technical solution steps of this invention are as follows:
[0007] S1: The content owner performs a format conversion on the coordinate values of all vertices of the original 3D model, changing them from decimals to integers.
[0008] S2: The content owner uses dynamic prediction and virtual connectivity to partition almost all vertices after format conversion into embeddable vertices, and determines the embedding order of the embeddable vertices and the corresponding predicted vertices.
[0009] S3: Compare the embeddable vertex with the corresponding predicted vertex starting from the most significant bit, and find the same bit length.
[0010] S4: Encrypt the converted 3D model using an encryption key.
[0011] S5: Re-encode some of the auxiliary information, combine the encoded auxiliary information, and finally embed all the auxiliary information into the encrypted 3D model and send it to the information hider.
[0012] S6: The information hider first encrypts the secret information using a hidden key, then embeds the encrypted data into the received encrypted 3D model to form a encrypted model, and sends it to the receiver.
[0013] S7: The receiver performs data extraction and image restoration operations on the received encrypted model based on the hidden key and the encryption key.
[0014] Furthermore, the specific method for step S1 is as follows:
[0015] S1-1. A 3D model consists of a set of points and a set of faces. Assume the set of vertices is... The face set is p and q represent the number of vertices and faces, respectively. Each vertex v i Composed of 3 coordinate values v i,x v i,y and v i,z Composition, each face f j It consists of 3 vertices.
[0016] S1-2, due to vertex coordinates v i,x v i,y and v i,z The original values are all decimals; for ease of processing, these values should first be converted to non-negative integers. First, calculate the minimum value corresponding to each axis among all vertices using the following formula:
[0017]
[0018] Next, to ensure that each coordinate value falls within the range of 0 to 1, the coordinate values of each vertex are transformed using the following formula:
[0019]
[0020] Where k1, k2, and k3 are the minimum parameters that reduce the corresponding coordinate values to the range of 0 to 1. Finally, all non-negative coordinate values are... and Converting to integers involves shifting the decimal point of the coordinate value to the right by *u* places and truncating the remaining decimal part. Assume the coordinate value is an integer. It is composed of decimals It is derived from this and can be expressed by the following formula:
[0021]
[0022] in This indicates a round-down operation.
[0023] S1-3, The value of parameter u determines the computer's representation of integer coordinate values. Required bit length l:
[0024]
[0025] In subsequent operations, each integer coordinate value needs to be converted into a binary sequence. Assume a binary sequence... It is by It is derived from the formula:
[0026]
[0027] Will Converting a decimal number into a binary sequence of 1 bit To illustrate, the transformation process of the coordinate values of the y-axis and z-axis is the same as that of the x-axis.
[0028] Furthermore, the specific method for step S2 is as follows:
[0029] S2-1, Based on the model's face set Get each vertex v in the model i The number of other vertices connected, c i .
[0030] S2-2, Based on the number of vertices c i Select n c's in vertex order i The vertices with the largest values form the set V. c The remaining vertices form set V. e The value of n is uncertain, and the set V c All vertices in V will not be used for data embedding, while set V e All vertices in the data will be used for embedding, i.e., embedding vertices.
[0031] S2-3. Assume that all vertices in the model are not connected to each other, that is, for any vertex v i In this case, the set of surrounding vertices it connects to is R. i Quantity c i Set it to 0.
[0032] S2-4, Traversing set V c All vertices in the traversed vertex set, and the other vertices connected to each traversed vertex in the original 3D model, will be obtained through the face set F. For the obtained vertex set, if any of its vertices belong to set V... e Then its corresponding set R i This will increase the number of vertices traversed, by c. i It will also increase by 1.
[0033] S2-5, according to c i Iterate through V from largest to smalleste All vertices, represented by set V e Record each visited vertex in sequence; for each visited vertex, set R... i All vertices in the set will be the predicted vertices of that vertex. Based on the face set F, we can know the set of all vertices connected to the traversed vertex in the original model, which belongs to set V in the vertex set. e But not belonging to V e The R corresponding to the vertex of ′ i This will increase the number of currently traversed vertices by c. i It will also increase by 1. In set V e There may be independent vertices that are not connected to any other vertices. In order to utilize all such vertices, a new set R0 is created, and the set V is traversed. e For the remaining vertices in the set, find the vertex closest to the current independent vertex and add it to set R0. Two vertices form a virtual connection, and set R0 contains the nearest vertex virtually connected to each independent vertex. The R0 of each independent vertex... i Only the nearest vertex found, c i The value is 1.
[0034] S2-6, Set V obtained from S2-5 e The order of vertices in ' is the embedding order of the embedding vertices, and the set R of each embedding vertex is... i It contains all the corresponding predicted vertices.
[0035] Furthermore, the specific method for step S3 is as follows:
[0036] S3-1, Traversing set V e In the middle vertex, for each traversed vertex v i The corresponding set R i All vertices in set R are used to predict the current vertex. i The average coordinates of all vertices in the equation constitute a new vertex p. i .
[0037] S3-2, Set vertex v i and p i The corresponding coordinate values of the three axes are converted into binary sequences of length l. The two binary sequences corresponding to the x-axis are compared in order from the most significant bit to the least significant bit. When the two compared bit values are different, the comparison is stopped, and the length r of the same number of bits is recorded. x Similarly, the lengths r of the same bits corresponding to the y-axis and z-axis can be obtained respectively. y and r zThe minimum of the three lengths is taken as the identifier of the embeddable space of the coordinates of the currently traversed vertex, indicating that the current vertex can be embedded in 3(r) space. m +1) bits of data.
[0038] Furthermore, the specific method for step S7 is as follows:
[0039] S7-1. After receiving the encrypted model containing secret data, the recipient can extract all the auxiliary information and the embedded encrypted secret data through the same operation as the information hider.
[0040] S7-2. If the receiver only has the hidden key K d Without the encryption key K e Then the extracted encrypted data can be obtained through K. d It is directly decrypted into the original secret information.
[0041] S7-3, If the recipient only has the encryption key K e And there is no hidden key K d Then the original 3D model can be restored without loss.
[0042] S7-4. If the receiver already has the hidden key K d There is also an encryption key K e This not only allows us to obtain the correct embedded data, but also enables us to recover the original 3D model without loss.
[0043] The beneficial effects of this invention are as follows:
[0044] 1. This invention proposes a novel dynamic prediction method that enables vertices in the model to not only be used for embedding data but also to predict other vertices, thereby increasing the utilization rate of vertex embedding data to nearly 100% and achieving higher embedding capacity.
[0045] 2. For independent vertices in the model that are not connected to any other vertex, this invention proposes a virtual connection method. This method virtually connects the independent vertex to the vertex that is spatially closest, thereby enabling the independent vertex to participate in dynamic prediction and data embedding, further increasing the data embedding capacity of the model.
[0046] In summary, this invention, based on a dynamic prediction method, enables almost all vertices in the model to be used for data embedding, thereby increasing the effective payload of the model and making it more efficient in practical applications. Attached Figure Description
[0047] Figure 1 This is a flowchart of the present invention;
[0048] Figure 2The images show the Bunny model at different stages.
[0049] Figure 3 This is a comparison chart of the embedding capacity of the algorithm of this invention and the algorithm in the references on the test model;
[0050] Figure 4 This is a comparison chart of the average embedding capacity of the algorithm of this invention and the algorithm in the references on the model database. Detailed Implementation
[0051] To better understand the technical solution of the present invention, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings, so as to enable those skilled in the art to understand the present invention. It should be understood that all other embodiments obtained by those skilled in the art without creative effort, as described herein, fall within the scope of protection of the present invention.
[0052] like Figure 1 As shown, the reversible information hiding method for encrypted 3D models based on dynamic prediction includes the following steps:
[0053] S1: The content owner performs a format conversion on the coordinate values of all vertices of the original 3D model, changing them from decimals to integers.
[0054] S2: The content owner uses dynamic prediction and virtual connectivity to partition almost all vertices after format conversion into embeddable vertices, and determines the embedding order of the embeddable vertices and the corresponding predicted vertices.
[0055] S3: Compare the embeddable vertex with the corresponding predicted vertex starting from the most significant bit, and find the same bit length.
[0056] S4: Encrypt the converted 3D model using an encryption key.
[0057] S5: Use Huffman coding to re-encode some of the auxiliary information, then combine the encoded auxiliary information, and finally embed all the auxiliary information into the encrypted 3D model and send it to the information hider.
[0058] S6: The information hider first encrypts the secret information using a hidden key, then embeds the encrypted data into the received encrypted 3D model to form a encrypted model, and sends it to the receiver.
[0059] S7: The receiver performs data extraction and image restoration operations on the received encrypted model based on the hidden key and the encryption key.
[0060] The specific method for step S1 is as follows:
[0061] S1-1. A 3D model consists of a set of points and a set of faces. Assume the set of vertices is... The face set is p and q represent the number of vertices and faces, respectively. Each vertex v i Composed of 3 coordinate values v i,x v i,y and v i,z Composition, each face f j It consists of 3 vertices.
[0062] S1-2, due to vertex coordinates v i,x v i,y and v i,z The original values are all decimals; for ease of processing, these values should first be converted to non-negative integers. First, calculate the minimum value corresponding to each axis among all vertices using the following formula:
[0063]
[0064] Next, to ensure that each coordinate value falls within the range of 0 to 1, the coordinate values of each vertex are transformed using the following formula:
[0065]
[0066] Where k1, k2, and k3 are the minimum parameters that reduce the corresponding coordinate values to the range of 0 to 1. Finally, all non-negative coordinate values are... and Converting to integers involves shifting the decimal point of the coordinate value to the right by *u* places and truncating the remaining decimal part. Assume the coordinate value is an integer. It is composed of decimals It is derived from this and can be expressed by the following formula:
[0067]
[0068] in This indicates a round-down operation.
[0069] S1-3, The value of parameter u determines the computer's representation of integer coordinate values. Required bit length l:
[0070]
[0071] In subsequent operations, each integer coordinate value needs to be converted into a binary sequence. Assume a binary sequence... It is by It is derived from the formula:
[0072]
[0073] Will Converting a decimal number into a binary sequence of 1 bit To illustrate, the transformation process of the coordinate values of the y-axis and z-axis is the same as that of the x-axis.
[0074] The entire process converts the vertex coordinates from decimal form to binary format, facilitating subsequent comparisons between bits.
[0075] The specific method for step S2 is as follows:
[0076] S2-1, Based on the face set of the model Get each vertex v in the model i The number of other vertices connected, c i .
[0077] S2-2, Based on the number of vertices c i Select n c's in vertex order i The vertices with the largest values form the set V. c The remaining vertices form set V. e The value of n is uncertain, and the set V c All vertices in V will not be used for data embedding, while set V e All vertices in the data will be used for embedding, i.e., embedding vertices.
[0078] S2-3. Assume that all vertices in the model are not connected to each other, that is, for any vertex v i In this case, the set of surrounding vertices it connects to is R. i Quantity c i Set it to 0.
[0079] S2-4, Traversing set V c All vertices in the traversed vertex set, and the other vertices connected to each traversed vertex in the original 3D model, will be obtained through the face set F. For the obtained vertex set, if any of its vertices belong to set V... e Then its corresponding set R i This will increase the number of vertices traversed, by c. i It will also increase by 1.
[0080] S2-5, according to c i Iterate through V from largest to smallest e All vertices, represented by set V e Record each visited vertex in sequence; for each visited vertex, set R... i All vertices in the set will be the predicted vertices of that vertex. Based on the face set F, we can know the set of all vertices connected to the traversed vertex in the original model, which belongs to set V in the vertex set.e But not belonging to V e The R corresponding to the vertex of ′ i This will increase the number of currently traversed vertices by c. i It will also increase by 1. In set V e There may be independent vertices that are not connected to any other vertices. In order to utilize all such vertices, a new set R0 is created, and the set V is traversed. e For the remaining vertices in the set, find the vertex closest to the current independent vertex and add it to set R0. Two vertices form a virtual connection, and set R0 contains the nearest vertex virtually connected to each independent vertex. The R0 of each independent vertex... i Only the nearest vertex found, c i The value is 1.
[0081] S2-6, Set V obtained from S2-5 e The order of vertices in ' is the embedding order of the embedding vertices, and the set R of each embedding vertex is... i It contains all the corresponding predicted vertices.
[0082] The dynamic prediction mechanism used in the above method makes the set V e The vertices in the model can be used to embed data and predict surrounding vertices. Virtual connections also allow independent vertices to be used for data embedding. The whole process greatly improves the utilization rate of vertices in the model.
[0083] The specific method for step S3 is as follows:
[0084] S3-1, Traversing set V e In the middle vertex, for each traversed vertex v i The corresponding set R i All vertices in set R are used to predict the current vertex. i The average coordinates of all vertices in the equation constitute a new vertex p. i .
[0085] S3-2, Set vertex v i and p i The corresponding coordinate values of the three axes are converted into binary sequences of length l. The two binary sequences corresponding to the x-axis are compared in order from the most significant bit to the least significant bit. When the two compared bit values are different, the comparison is stopped, and the length r of the same number of bits is recorded. x Similarly, the lengths r of the same bits corresponding to the y-axis and z-axis can be obtained respectively. y and r z Take the minimum value r of the three lengths. m =min(r x ,r y,r z ) is an identifier for the embeddable space of the currently traversed vertex coordinates, indicating that the current vertex can be embedded in 3(r) space. m +1) bits of data.
[0086] By recording the tag r corresponding to each embeddable vertex m This allows for the reversible restoration of the original vertex coordinates.
[0087] The specific method for step S4 is as follows:
[0088] S4-1. Arrange the embeddable 3(r) values of all vertex coordinates in the 3D model according to their serial numbers. m +1) The bits are combined to form a binary sequence S1. The remaining non-embedded bits are combined to form a binary sequence S2. S1 and S2 are connected end to end to form a binary sequence S of length p×3×l.
[0089] S4-2, Use encryption key K again e Generate a random binary sequence S of length p×3×l. r Through S and S r Generate an encrypted binary sequence S e :
[0090]
[0091] in This indicates the XOR operation.
[0092] S4-3, The generated encrypted binary sequence S e The model is decomposed into p×3 binary sequences of length l, and then the vertex coordinates are constructed according to the vertex number order to generate an encrypted vertex coordinate model.
[0093] The specific method for step S5 is as follows:
[0094] S5-1, Set V e r of all vertices in ' m It needs to be embedded into the encrypted 3D model as part of the auxiliary information, because r m Since the value distribution is not uniform, Huffman coding is used to reduce the length of auxiliary information, using shorter codes to represent the more frequently occurring r. m Finally, all r represented by Huffman coding are obtained. m set r s In order to be able to from r s Correctly extract each r m The auxiliary information that needs to be embedded should also include Huffman coding rules.
[0095] S5-2. Convert the index of each vertex in set R0 into a binary sequence of length log2p, and then combine it with the Huffman coding rule and r s Together they constitute all the auxiliary information.
[0096] S5-3. Assuming the total length of all auxiliary information is len, then the encrypted binary sequence S e The first len bits are replaced with auxiliary information, and the content owner uses the replaced S. e Generate the final encrypted 3D model and send it to the information hider.
[0097] The specific method for step S6 is as follows:
[0098] S6-1. After receiving the encrypted model containing auxiliary information, the information hider converts it into a binary sequence of length p×3×l according to the vertex number.
[0099] S6-2, Using face sets If the information hider can obtain the number n0 of independent vertices in the original 3D model that are not connected to any other vertex, then the binary sequence of the vertex indices of all virtual connections hidden in the encrypted model can be obtained by length n0×log2p.
[0100] S6-3, Next, obtain the Huffman coding rules, and then use the Huffman coding rules to convert r... s Restored to r corresponding to pn vertices m This allows us to obtain the total embedding capacity of the model and the remaining embeddable data capacity.
[0101] S6-4. Use the remaining embeddable data capacity to embed secret data. Before embedding, to ensure sufficient security, the secret data should also be protected by a hidden key K. d The data is encrypted, and a new 3D model is reconstructed using a binary sequence of length p×3×l after embedding the data. This new model is then sent to the receiver by the information hider.
[0102] The specific method for step S7 is as follows:
[0103] S7-1. After receiving the encrypted model containing secret data, the recipient can extract all the auxiliary information and the embedded encrypted secret data through the same operation as the information hider.
[0104] S7-2. If the receiver only has the hidden key K d Without the encryption key K e The extracted encrypted data can be obtained through K. d It is directly decrypted into the original secret information.
[0105] S7-3. If the recipient only has the encryption key Ke And there is no hidden key K d Then the original 3D model can be restored without loss.
[0106] S7-4. If the receiver already has the hidden key K d There is also an encryption key K e This not only allows us to obtain the correct embedded data, but also enables us to recover the original 3D model without loss.
[0107] The specific method for restoring the original 3D model in step S7-4 is as follows:
[0108] S7-4-1, Through face sets Perform the same operations as S6-1, S6-2, and S6-3 to obtain all auxiliary information, and then perform the same operations as S2-1, S2-2, S2-3, S2-4, and S2-5 to obtain set V. e ′, R0, and R corresponding to each vertex i and c i R0 is obtained through auxiliary information.
[0109] S7-4-2, Using encryption key K e Generate a random binary sequence S of length p×3×l. r The sequence is XORed with the p×3×l sequence generated by S6-1 to produce a new decrypted binary sequence S′. Set V can be obtained through S′. c The coordinates of all vertices in the original model.
[0110] S7-4-3, Traversing Set V e For each vertex in ', where R i Represent all predicted vertices, taking the set R. i The average coordinates of all vertices in the equation constitute a new vertex p. i , set vertex p i The corresponding three axis coordinate values are converted into binary sequences of length l, and the first r of the binary sequences are taken. m The position is the previous r of the currently traversed vertex. m The r-th vertex visited m +1 bit and the binary sequence r m +1 bit to the opposite, the remaining lr of the traversed vertices m -1 can be obtained through S′, which ultimately restores the original coordinate values of the traversed vertices.
[0111] S7-4-4, When the set V has been traversed e All vertices in the model were restored, and the coordinates of all vertices in the model were recovered, thus achieving the final restoration of the 3D model.
[0112] like Figure 2 As shown, taking the Bunny model as an example, Figure 2 From left to right, they represent the original model, the encrypted model, the encrypted model with embedded auxiliary information, the encrypted model with embedded secret information, and the final recovered model.
[0113] To evaluate the embedding capacity of this method, the average net embedding rate was compared with other related methods [1-6] on five typical test models: Bunny, Horse, Armadillo, Casting, and Dragon, as well as all models provided by the PSB model database. Figure 3 As can be seen, the method proposed in this invention significantly improves the embedding rate on the five test models compared to other methods, with the embedding rate of several models increasing by approximately 7–15 bpp. Furthermore, to demonstrate that the method proposed in this invention can improve the embedding capacity for all models, the PSB database containing 400 3D models was used for comparative analysis with other methods, such as… Figure 4 As shown in the figure, the comparison shows that the method proposed in this invention has the highest average embedding rate on the model database compared to other methods, and is nearly 10 bpp higher than the most advanced methods currently available. This fully demonstrates the superior performance of the dynamic prediction-based encrypted 3D model reversible information hiding method proposed in this invention.
[0114] For details on the methods used in the above comparison, please refer to the following references:
[0115] [1] Y.-Y.Tsai, "Separable reversible data hiding for encrypted three-dimensional models based on spatial subdivision and space encoding," IEEETransactions on Multimedia, vol.23, pp.2286–2296, 2020.
[0116] [2]Z.Yin,N.Xu,F.Wang,L.Cheng,and B.Luo,“Separable reversibledatahiding based on integer mapping and multi-MSB prediction for encrypted 3Dmesh models,”in Chinese Conference on Pattern Recognition and Computer Vision(PRCV).Springer,2021,pp.336–348.
[0117] [3]W.-L.Lyu,L.Cheng,and Z.Yin,“High-capacity reversible data hidingin encrypted 3D mesh models based on multi-MSB prediction,”Signal Processing,vol.201,p.108686,2022.
[0118] [4]Y.Tang,L.Cheng,W.Lyu,and Z.Yin,“High capacity reversibledatahiding for encrypted 3D mesh models based on topology,”in Digital Forensicsand Watermarking:21st International Workshop,IWDW 2022,Guilin,China,November18-19,2022,Revised Selected Papers.Springer,2023,pp.205–218.
[0119] [5]Y.-Y.Tsai and H.-L.Liu,“Integrating coordinate transformation andrandom sampling into high-capacity reversibledata hiding in encryptedpolygonal models,”IEEE Transactions on Dependable and Secure Computing,2023.
[0120] [6] G.Hou, B.Ou, M.Long and F.Peng, "Separable Reversible Data Hiding for Encrypted 3D Mesh Models Based on Octree Subdivision and Multi-MSBPrediction," in IEEE Transactions on Multimedia, doi:10.1109 / TMM.2023.3295578.
[0121] This invention proposes a novel dynamic prediction method that enables vertices in the model to not only be used for embedding data but also to predict other vertices, increasing the utilization rate of vertex embedding data to nearly 100% and thus achieving higher embedding capacity.
[0122] For independent vertices in the model that are not connected to any other vertex, this invention proposes a virtual connection method. This method virtually connects the independent vertex to the vertex that is spatially closest, thereby enabling the independent vertex to participate in dynamic prediction and data embedding, and further increasing the data embedding capacity of the model.
[0123] In summary, this invention, based on a dynamic prediction method, enables almost all vertices in the model to be used for data embedding, thereby increasing the effective payload of the model and making it more efficient in practical applications.
[0124] The embodiments described above are merely preferred embodiments of the present invention and are not intended to limit the invention. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention. Therefore, all technical solutions obtained through equivalent substitution or transformation fall within the protection scope of the present invention.
Claims
1. A method for reversible information hiding in encrypted 3D models based on dynamic prediction, characterized in that, Includes the following steps: S1: The content owner performs a format conversion on the coordinate values of all vertices of the original 3D model; S2: The content owner uses dynamic prediction and virtual connection to divide all the vertices after format conversion into embeddable vertices, and finds the embedding order of the embeddable vertices and the corresponding predicted vertices. S3: Compare the embeddable vertex with the corresponding predicted vertex starting from the most significant bit, and find the same bit length; S4: Encrypt the converted 3D model using an encryption key; S5: Re-encode the auxiliary information, combine the encoded auxiliary information, and finally embed all the auxiliary information into the encrypted 3D model and send it to the information hider. S6: The information hider first encrypts the secret information using a hidden key, then embeds the encrypted data into the received encrypted 3D model to form a encrypted model, and sends it to the receiver; S7: The receiver performs data extraction and image restoration operations on the received encrypted model based on the hidden key and the encryption key; In the image restoration operation, the set is traversed. Each vertex in, of which Represents all predicted vertices, taking the set. The average coordinates of all vertices in the equation form a new vertex. , will the vertex The corresponding three axis coordinate values are converted to lengths of... Given a binary sequence, take the first part of the binary sequence. The position is used as the previous position of the currently traversed vertex. The position of the traversed vertices. Bits and binary sequences The positions are reversed, and the remaining vertices after traversing are... Bits are obtained through binary sequences. This allows us to ultimately restore the original coordinates of the traversed vertices.
2. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 1, characterized in that, The specific process of step S1 is as follows: S1-1. A 3D model consists of a set of points and a set of faces. Assume the set of vertices is... The face set is , and These represent the number of vertices and faces, respectively; each vertex Consists of 3 coordinate values , and Composition, each face It consists of 3 vertices; S1-2, Vertex Coordinates , and The original values are all decimals. To convert these values to non-negative integers, first calculate the minimum value corresponding to each axis among all vertices using the following formula: Secondly, the coordinate values of each vertex are transformed using the following formula, so that each coordinate value is between 0 and 1: in , and These are the minimum parameters that reduce the corresponding coordinate values to the range of 0 to 1; Finally, add all non-negative coordinate values. , and To convert to an integer, shift the decimal point of the coordinate value to the right by *u* places and truncate the remaining decimal part; assuming the coordinate value is an integer... It is composed of decimals It is derived from the following formula: in This indicates a round-down operation; S1-3, The value of parameter u determines the computer's representation of integer coordinate values. Required bit length : In subsequent operations, each integer coordinate value is converted into a binary sequence. Let's assume the binary sequence... It is by It is derived from the formula: Will Converted from decimal to A binary sequence of bits express, shaft and The process of transforming the coordinate values of the axes and The same applies to axes.
3. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 2, characterized in that, The specific process of step S2 is as follows: S2-1, Based on the model's face set Obtain each vertex in the model The number of other vertices connected ; S2-2, Based on the number of vertices Select according to vertex number order indivual The vertices with the largest values form a set. All remaining vertices form a set. ,in The value of the set is uncertain. All vertices are not used for data embedding, set All vertices in the data are used for embedding, i.e., embedding vertices; S2-3. Assume that all vertices in the model are not connected to each other, that is, for any vertex... In other words, the set of surrounding vertices it connects to is ,quantity Set to 0; S2-4, Traversing a Set All vertices in the traversed vertex set, and each other vertex connected to the original 3D model by the traversed vertex, will be connected via a face set. For the obtained vertex set, if any of its vertices belong to the set... Then its corresponding set This will increase the number of vertices traversed. Also increase by 1; S2-5, according to Traverse the values from largest to smallest All vertices, using a set Record each vertex that is traversed in sequence; For the vertices being traversed, the set All vertices in the set will be the predicted vertices of that vertex; based on the face set Knowing the set of all vertices connected to the traversed vertex in the original model, and belonging to the set in the vertex set. But not belonging to The vertex corresponding to This will increase the number of currently traversed vertices. Also add 1; create a new set. traverse the set For the remaining vertices in the set, find the vertex that is closest to the current independent vertex and add it to the set. In this context, two vertices form a virtual connection, and the set... Includes the nearest vertex virtually connected to each individual vertex; the individual vertex's It only includes the nearest vertex found. =1; S2-6, The set obtained through S2-5 The vertex order in the array is the embedding order of the embedding vertices, and each set of embedding vertices... It contains all the corresponding predicted vertices.
4. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 3, characterized in that, The specific process of step S3 is as follows: S3-1, Traversing a Set The middle vertex, for the vertices being traversed The corresponding set All vertices are used to predict the current vertex, and the set is taken. The average coordinates of all vertices in the equation form a new vertex. ; S3-2, vertices and The corresponding three axis coordinate values are converted to lengths of... The binary sequence is compared in order from the most significant bit to the least significant bit. For two binary sequences corresponding to the axis, the comparison stops when the two bit values being compared are different, and the length of the same number of bits is recorded. Similarly, we obtain the following: shaft and The same bit length corresponding to the axis and The minimum of the three lengths is taken as the identifier of the embeddable space of the currently traversed vertex coordinates, indicating the embeddability of the current vertex. Bit data.
5. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 4, characterized in that, The specific process of step S6 is as follows: S6-1. After receiving the encrypted model containing auxiliary information, the information hider converts it into a model of length [length missing] according to the vertex sequence number. binary sequence; S6-2, Using face sets The information hider obtains the number of independent vertices in the original 3D model that are not connected to any other vertex. Then the binary sequence of vertex indices of all virtual connections hidden in the encryption model is obtained through the length get; S6-3, Using encoding rules to... Restore to The corresponding vertex This yields the total embedding capacity of the model and the remaining embeddable data capacity. S6-4. Embed the remaining embeddable data capacity into the secret data. Before embedding, the secret data is protected by a hidden key. Encryption is performed, and the length of the embedded data is [length missing]. The binary sequence is used to reconstruct a new 3D model, which is then sent to the receiver by the information hider.
6. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 5, characterized in that, The specific process of step S7 is as follows: S7-1. After receiving the encrypted model containing secret data, the receiver extracts all the auxiliary information and the embedded encrypted secret data through the same operation as the information hider. S7-2, If the receiver only has the hidden key Without an encryption key The extracted encrypted data is then processed through... Directly decrypted into the original secret information; S7-3, If the recipient only has the encryption key And there is no hidden key. Then the original 3D model can be restored without loss; S7-4. If the receiver already has a hidden key There is also an encryption key This not only allows us to obtain the correct embedded data, but also enables us to recover the original 3D model without loss.
7. The method for reversible information hiding in encrypted 3D models based on dynamic prediction according to claim 6, characterized in that, The specific process of restoring the original 3D model in step S7-4 is as follows: S7-4-1, Through face sets Perform the same operations as S6-1 to S6-3 to obtain all auxiliary information, and then perform the same operations as S2-1 to S2-5 to obtain the set. , and the corresponding vertex and ,in It was obtained through auxiliary information; S7-4-2, Using an encryption key Generate a length of random binary sequence , generated by S6-1 Perform an XOR operation on the sequence to generate a new decrypted binary sequence. ,pass Get Collection The coordinates of all vertices in the original model; S7-4-3, Traversing a Set Each vertex in the equation constitutes a new vertex. Then restore the original coordinate values of the traversed vertices; S7-4-4, After traversing the set All vertices in the model and the coordinates of all vertices in the model have been restored, thus achieving the final restoration of the 3D model.