Watermark generation method for three-dimensional model, electronic device, and storage medium
By generating and embedding the original watermark data of the three-dimensional model, the problem of single watermark information and difficulty in embedding in the existing technology is solved, efficient copyright protection is achieved, and blockchain technology is used to ensure the tamper-proof and traceability of the watermark.
Patent Information
- Application Number
- CN202210067179.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-20
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2042-01-20
AI Technical Summary
The prior art has single information content in the watermark embedding of three-dimensional models, slow embedding speed and high difficulty, and cannot effectively protect the copyright of the three-dimensional model.
By obtaining basic information of the three-dimensional model, generating raw watermark data, and storing it on the chain and embedding it into the surface of the three-dimensional model, blockchain technology is used to ensure the tamper-proof and traceability of the watermark.
Multi-information embedding of three-dimensional model watermarks is realized, reducing the difficulty of embedding, improving copyright protection efficiency, and ensuring the security and reliability of watermarks through blockchain technology.
Smart Images

Figure CN114418822B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of blockchain technology, and in particular to a blockchain-based watermark generation method and device, electronic device, and computer-readable storage medium. Background Art
[0002] With the rapid development of the Internet and the popularization of digital recording and storage devices, the demand for encryption, authentication and copyright protection of audio and video data is increasing day by day. The research and development of three-dimensional digital watermarks is very necessary. In the process of enjoying the visual feast of three-dimensional images, we are also faced with a series of practical problems, such as how to ensure the copyright of three-dimensional images and how to confirm the reliability of copyright. These problems require us to spend a lot of energy to deal with.
[0003] The existing technology uses two-dimensional blockchain watermarks to embed audio or non-three-dimensional objects to ensure the copyright of audio or non-three-dimensional objects. Or it uses blockchain technology to generate watermarks, find the vertices of three-dimensional objects, embed them, and ensure the copyright of three-dimensional objects. The watermark does not contain more information.
[0004] The information content contained in the existing watermark is relatively simple, and it is embedded by vertex coordinate search, which is slow and difficult to embed. Summary of the invention
[0005] The embodiment of the present application provides a watermark generation method for a three-dimensional model, which is used to enrich the information contained in the watermark and reduce the difficulty of embedding.
[0006] The present application provides a method for generating a watermark of a three-dimensional model, the method comprising:
[0007] Acquiring basic information of the three-dimensional model;
[0008] Generate watermark original data according to the basic information of the three-dimensional model;
[0009] The original watermark data is stored on a chain and embedded into the surface of the three-dimensional model.
[0010] In one embodiment, generating watermark original data according to the basic information of the three-dimensional model includes:
[0011] The basic information of the three-dimensional model is encrypted using an encryption algorithm to obtain the watermark original data.
[0012] In one embodiment, the basic information includes one or more of the following information: watermark name, version, author, date, information summary value of the texture of the three-dimensional model, and information summary value of the three-dimensional model.
[0013] In one embodiment, embedding the original watermark data into the surface of the three-dimensional model includes:
[0014] Filling the original watermark data in the strokes of the watermark name with a font size smaller than a preset value to obtain a three-dimensional watermark in the shape of the watermark name;
[0015] The three-dimensional watermark is embedded into the surface of the three-dimensional model.
[0016] In one embodiment, embedding the three-dimensional watermark into the surface of the three-dimensional model includes:
[0017] When a texture exists on the surface of the three-dimensional model, the three-dimensional watermark is tiled on the surface of the texture.
[0018] In one embodiment, the method further comprises:
[0019] Get the watermark string of the 3D object file;
[0020] The watermark string is compared with the original watermark data stored on the chain to verify whether the watermark string is correct.
[0021] In one embodiment, when the watermark string is identical to the original watermark data stored on the chain, the method further includes:
[0022] Decrypting the watermark character string to obtain input content for generating the watermark character string;
[0023] The input content is compared with the basic information of the three-dimensional object file to obtain a comparison result.
[0024] In one embodiment, the method is applied to a node system constituting a blockchain network, the node system including full nodes and ordinary nodes, and the storing of the watermark original data on-chain includes:
[0025] Authentication between nodes is performed by verifying the CA certificate and the digital signature using asymmetric encryption.
[0026] After the identity authentication is passed, the watermark original data is encrypted using symmetric encryption and transmitted to the full node of the blockchain network for on-chain storage.
[0027] In one embodiment, before performing identity authentication between nodes by verifying the CA certificate and verifying the digital signature in an asymmetric encryption manner, the method further includes:
[0028] According to the communication status of each full node in the cached registration list, a full node for data transmission with the ordinary node is selected.
[0029] In one embodiment, selecting a full node for data transmission with the common node according to the communication status of each full node in the cached registration list includes:
[0030] According to the communication duration of each full node, multiple full nodes with the shortest communication duration are selected to form a communication node list;
[0031] The common node communicates with the selected multiple full nodes in a rotating manner, and refreshes the communication node list at a preset time interval.
[0032] In one embodiment, the method further comprises:
[0033] If the communication duration of any full node in the communication node list is greater than the maximum communication duration in the registration list, all full nodes are added to the communication node list.
[0034] The present application also provides a device for generating a watermark of a three-dimensional model, the device comprising:
[0035] An information acquisition module, used to acquire basic information of the three-dimensional model;
[0036] A watermark generation module, used to generate watermark original data according to the basic information of the three-dimensional model;
[0037] The watermark embedding module is used to store the original watermark data on the chain and embed the original watermark data into the surface of the three-dimensional model.
[0038] The present application also provides an electronic device, the electronic device comprising:
[0039] processor;
[0040] a memory for storing processor-executable instructions;
[0041] Wherein, the processor is configured to execute the above-mentioned watermark generation method for the three-dimensional model.
[0042] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. The computer program can be executed by a processor to complete the watermark generation method of the above-mentioned dimensional model.
[0043] The technical solution provided by the above embodiment of the present application generates watermark original data based on the basic information of the three-dimensional model, stores the watermark original data on the chain, and embeds the watermark original data on the surface of the three-dimensional model. The watermark on the surface of the three-dimensional model can contain the basic information of the three-dimensional model. The watermark is attached to the surface of the three-dimensional model, which reduces the difficulty of watermark embedding and efficiently realizes copyright protection. In addition, the generated watermark is tamper-proof and traceable by using blockchain technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solution of the embodiments of the present application, the drawings required for use in the embodiments of the present application are briefly introduced below.
[0045] Figure 1 An application scenario diagram of the watermark generation method for a three-dimensional model provided in an embodiment of the present application;
[0046] Figure 2 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0047] Figure 3 It is a flowchart of a method for generating a watermark for a three-dimensional model provided in an embodiment of the present application;
[0048] Figure 4 is a detailed flow chart of embedding the original watermark data into the surface of the three-dimensional model provided by an embodiment of the present application;
[0049] Figure 5 This is a schematic diagram of the effect of a three-dimensional watermark provided in an embodiment of the present application;
[0050] Figure 6 This is a schematic diagram of another three-dimensional watermark effect provided by an embodiment of the present application;
[0051] Figure 7 is a schematic diagram of the effect of embedding a three-dimensional watermark on the surface of a three-dimensional model provided by an embodiment of the present application;
[0052] Figure 8 It is a schematic diagram of a process of storing the original watermark data on a chain provided by an embodiment of the present application;
[0053] Fig. 9 It is a schematic diagram of the watermark verification process provided by an embodiment of the present application;
[0054] Fig.10 A block diagram of a watermark generation device for a three-dimensional model according to an embodiment of the present application. DETAILED DESCRIPTION
[0055] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0056] Similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0057] Facing copyright issues, blockchain technology and watermark technology provide a good solution. Blockchain is essentially composed of a shared, fault-tolerant distributed database and a multi-node network. As a tool for evidence storage and information sharing, it has the characteristics of being unforgeable and traceable. It has been certified and widely used in various fields such as finance and insurance. Using blockchain technology, the version protection capability of three-dimensional watermarks can be taken to a higher level.
[0058] Figure 1 An application scenario diagram of the watermark generation method for a three-dimensional model provided in an embodiment of the present application. The application scenario includes a plurality of nodes 110, which are interconnected to form a blockchain network (hereinafter referred to as a node system). Node 110 can be a smart terminal such as a desktop computer, a laptop computer, a server, etc. The blockchain network can be implemented in the form of a public chain. A public chain means that each node in the blockchain network is public, each node can participate in the calculation of the blockchain, and each node can obtain complete blockchain data by downloading.
[0059] The node system can be divided into full nodes according to structure and characteristics (see Figure 1 black circle) and normal nodes (see Figure 1 The full node and the ordinary node can communicate with each other to collect and verify watermarks. The full node provides complete and up-to-date blockchain data and can independently verify all watermark generation records. The ordinary node only retains part of the blockchain and is lighter and is used more for verification and routing.
[0060] The node system can adopt the watermark generation method of the three-dimensional model provided in the embodiment of the present application, generate watermark original data according to the basic information of the three-dimensional model, store the watermark original data on the chain, and embed the watermark original data on the surface of the three-dimensional model. The watermark on the surface of the three-dimensional model can contain the basic information of the three-dimensional model, and the watermark is attached to the surface of the three-dimensional model, which reduces the difficulty of watermark embedding and efficiently realizes copyright protection. In addition, the generated watermark can be tamper-proof and traceable by using blockchain technology.
[0061] Figure 2 2 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device can be used as the node 110, and the electronic device 200 can be used to execute the watermark generation method of the three-dimensional model provided in an embodiment of the present application. Figure 2 As shown, the electronic device 200 includes: one or more processors 202, and one or more memories 204 storing processor executable instructions. The processor 202 is configured to execute the watermark generation method of the three-dimensional model provided in the following embodiment of the present application.
[0062] The processor 202 may be a device including a central processing unit (CPU), a graphics processing unit (GPU), or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may process data of other components in the electronic device 200, and may also control other components in the electronic device 200 to perform desired functions.
[0063] The memory 204 may include one or more computer program products, and the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 202 may run the program instructions to implement the watermark generation method of the three-dimensional model described below. Various applications and various data may also be stored in the computer-readable storage medium, such as various data used and / or generated by the application.
[0064] In one embodiment, Figure 2 The electronic device 200 shown may also include an input device 206, an output device 208, and a data acquisition device 210, and these components are interconnected via a bus system 212 and / or other forms of connection mechanisms (not shown). It should be noted that Figure 2 The components and structures of the electronic device 200 shown are merely exemplary and non-limiting. The electronic device 200 may also have other components and structures as required.
[0065] The input device 206 may be a device used by a user to input instructions, and may include one or more of a keyboard, a mouse, a microphone, a touch screen, etc. The output device 208 may output various information (e.g., images or sounds) to the outside (e.g., a user), and may include one or more of a display, a speaker, etc. The data acquisition device 210 may acquire an image of an object, and store the acquired image in the memory 204 for use by other components. Exemplarily, the data acquisition device 210 may be a camera.
[0066] In one embodiment, the various components in the example electronic device 100 for implementing the watermark generation method for the three-dimensional model of the embodiment of the present application can be integrated or dispersed, such as integrating the processor 202, memory 204, input device 206 and output device 208 into one, while separating the data acquisition device 210.
[0067] In one embodiment, the exemplary electronic device 200 for implementing the watermark generation method for a three-dimensional model according to an embodiment of the present application may be implemented as an intelligent device such as a computer, a server, or the like.
[0068] Figure 3 FIG. 1 is a flow chart of a method for generating a watermark of a three-dimensional model provided in an embodiment of the present application. Figure 3 As shown, the method includes the following steps S310-S330.
[0069] Step S310: Acquire basic information of the three-dimensional model.
[0070] The three-dimensional model refers to a three-dimensional (3D) model to be embedded with a watermark, which can be a digital asset, for example, a three-dimensional model can be represented by a binary file stream. The basic information may include one or more of the watermark name, version, author, date, information summary value of the texture of the three-dimensional model, and information summary value of the three-dimensional model. This information can be obtained by any common node, which can be installed in the user's computer and exist in the form of a client. Of course, the basic information may not be limited to the above-mentioned information.
[0071] The watermark name refers to the name set for the watermark, such as the author's name, trademark (logo), place of origin or owner's name. The version can be a version number, such as version 1.1, version 1.2, and the date can be the creation date of the 3D model. The 3D model can include a white model and a texture. The white model determines the shape structure of the model. The texture gives color and details. The texture can have a corresponding texture content file, which is also a binary file stream.
[0072] The information summary value of the map can be calculated based on the binary file stream of the map content file using a hash algorithm. The information summary value of the three-dimensional model can be calculated based on the binary file stream of the three-dimensional model using a hash algorithm. The hash algorithm may include MD4 (Message-Digest Algorithm Information Digest Algorithm 4), MD5 (Message-Digest Algorithm Information Digest Algorithm 5) and SHA (Secure Hash Algorithm). In one embodiment, the MD5 value of the map and the MD5 value of the three-dimensional model can be calculated using the MD5 algorithm. The MD5 value is a 128-bit hash value, which is equivalent to the file identifier and is unique. If the MD5 is different, the files are different.
[0073] Step S320: Generate watermark original data according to the basic information of the three-dimensional model.
[0074] The watermark original data can be obtained by processing the basic information obtained above. In one embodiment, the common node or the full node can encrypt the basic information of the three-dimensional model using an encryption algorithm to obtain the watermark original data.
[0075] For example, the RSA algorithm (asymmetric encryption algorithm) can be used to encrypt the basic information to generate a ciphertext string, which is the original watermark data. For example, an ordinary node or a full node can use its own private key to encrypt the basic information to generate the original watermark data.
[0076] It should be noted that the basic information of the 3D model can be obtained by the common node (client), for example, the author, version and other information can be input by the user on the client. The original watermark data can be generated by the common node, and the common node transmits the generated original watermark data to the full node. In one embodiment, the common node can upload the basic information to the full node, and the full node generates the original watermark data.
[0077] Step S330: storing the original watermark data on a chain, and embedding the original watermark data into the surface of the three-dimensional model.
[0078] The combination of ordinary nodes and full nodes forms a fault-tolerant distributed multi-node network to ensure the security and reliability of the node system. Nodes can communicate with each other and exchange watermark generation history records. Assuming that an ordinary node generates watermark original data, the full node provides complete and up-to-date blockchain data. Ordinary nodes can obtain the latest routing network through full nodes, perform encrypted full-duplex P2P communication, and add or replace routing information and watermark original data through consensus algorithms. In one embodiment, ordinary nodes or full nodes can package the watermark original data into blocks and broadcast them. After the consensus is successful, the packaged blocks are stored on the chain, thereby preventing the watermark original data from being tampered with. After being on the chain, the full node can embed the watermark original data into the surface of the three-dimensional model.
[0079] The technical solution provided by the above embodiment of the present application generates watermark original data based on the basic information of the three-dimensional model, stores the watermark original data on the chain, and embeds the watermark original data on the surface of the three-dimensional model. The watermark on the surface of the three-dimensional model can contain the basic information of the three-dimensional model. The watermark is attached to the surface of the three-dimensional model, which reduces the difficulty of watermark embedding and efficiently realizes copyright protection. In addition, the generated watermark is tamper-proof and traceable by using blockchain technology.
[0080] Figure 4 Detailed flow chart of embedding the original watermark data into the surface of the three-dimensional model provided by the embodiment of the present application. Figure 3As shown, embedding the original watermark data on the surface of the 3D model includes the following steps S331 - step S332.
[0081] Step S331: Fill the original watermark data in the strokes of the watermark name in a font size smaller than a preset value to obtain a 3D watermark in the shape of the watermark name.
[0082] Here, the font size represents the size of the font. Being smaller than the preset value means that the original watermark data is filled in the watermark name in a relatively small font size. The specific font size of the original watermark data filled is related to the size of the watermark name. The larger the size of the watermark name, the larger the size of the original watermark data filled. Compared with the size of the watermark name, the original watermark data is filled in the strokes of the watermark name in a relatively small font style, so the final 3D watermark obtained is in the shape of the watermark name. A 3D watermark refers to a watermark embedded on the surface of a 3D model.
[0083] Figure 5 It is a schematic diagram of the effect of a 3D watermark provided by an embodiment of the present application. As Figure 5 shown, the watermark name is "Wang", the original watermark data is "qwe123afrae", and the original watermark data is filled in the interior of the watermark name "Wang" in a relatively small font style, thus obtaining a 3D watermark in the shape of the watermark name, that is, a 3D watermark in the shape of "Wang".
[0084] The watermark name can include Chinese characters and letters. Figure 5 is the style of Chinese characters, and the original watermark data can be filled in the strokes of horizontal, vertical, left-falling, and right-falling strokes. Figure 6 It is another schematic diagram of the effect of a 3D watermark provided by an embodiment of the present application. As Figure 6 shown, the watermark name can be the letter "w", the original watermark data is "qwe123afrae", and the original watermark data is filled in the strokes of the letter "w" to obtain a 3D watermark in the shape of "w".
[0085] Step S332: Embed the 3D watermark on the surface of the 3D model.
[0086] The surface of the 3D model is divided into two cases: with texture and without texture. Assuming there is no texture, the 3D watermark can be tiled on the surface of the 3D model. When there is a texture on the surface of the 3D model, tile the 3D watermark on the surface of the texture.
[0087] Figure 7 It is a schematic diagram of the effect of embedding a 3D watermark on the surface of a 3D model provided by an embodiment of the present application. As Figure 7As shown, a "w"-shaped three-dimensional watermark is tiled on the surface of the three-dimensional model 710. The strokes of the "w" shape are filled with the original watermark data "qwe123afrae". The original watermark data can be a ciphertext string obtained by encrypting the basic information of the three-dimensional model using an encryption algorithm.
[0088] Figure 8 Schematic diagram of the process of storing the original watermark data on the chain provided by the embodiment of the present application. Figure 8 As shown, storing the watermark original data on-chain includes the following steps S810-S820.
[0089] Step S810: Perform identity authentication between nodes by verifying the CA certificate and the digital signature using an asymmetric encryption method.
[0090] The CA certificate is obtained by each node in the blockchain network from the certificate issuing authority (i.e., the certificate authority). The certificate issuing authority uses its own private key to encrypt the node's public key, identity information, and other related information to generate a digital certificate. This digital certificate is the CA certificate, and each node has a corresponding CA certificate.
[0091] Asymmetric encryption, also known as public key cryptography, is an encryption method that uses two keys instead of one key like symmetric encryption. One of the keys is private (called the private key) and the other is public (called the public key).
[0092] Asymmetric encryption uses some special mathematical relationship between the two keys, which gives the keys some useful properties. If you encrypt data with someone's public key, only their corresponding private key can decrypt it. On the other hand, if someone encrypts data with their private key, anyone can decrypt the message with the corresponding public key.
[0093] The digital signature is obtained by the sender's node using its own private key to encrypt the information. If the receiver successfully decrypts the digital signature with the sender's public key, the sender's identity can be confirmed.
[0094] Before data is transmitted between nodes, a transmission handshake is required, that is, the identities of the sender and the receiver must be authenticated first. For example, an ordinary node can send its own CA certificate and digital signature to a full node. The full node uses the public key of the certificate issuing agency to decrypt the CA certificate and obtain the public key of the ordinary node. If the digital signature can be successfully decrypted using this public key, it can be determined that this public key is indeed that of the ordinary node, and the identity authentication of the ordinary node can be confirmed to have passed.
[0095] In one embodiment, the common node can send its own CA certificate, digital signature and random number to the full node, wherein the digital signature can be obtained by the common node using its own private key to encrypt the random number. The full node decrypts the CA certificate with the public key of the certificate issuing agency to obtain the public key of the common node, and uses this public key to decrypt the digital signature. If the decrypted information is the same as the received random number, it can be determined that the public key is indeed that of the common node, and the identity authentication of the common node can be confirmed to have passed.
[0096] Step S820: After the identity authentication is passed, the watermark original data is encrypted using a symmetric encryption method and then transmitted to the blockchain network for on-chain storage.
[0097] Symmetric encryption means that the sender and receiver use the same key for encryption and decryption.
[0098] After successful identity authentication, the node that generates the original watermark data can encrypt the original watermark data using symmetric encryption and transmit it to other nodes in the blockchain network. After successful consensus, it will be stored on the chain.
[0099] The technical solution provided by the above embodiment starts data transmission only after the CA certificate and digital signature are verified, which can ensure the security of data transmission, and encrypts the transmitted data using symmetric encryption to avoid information leakage during transmission. Furthermore, the transmitted data can be transmitted using LZ4 (a data compression algorithm) lossless compression to ensure the efficiency of information transmission between nodes, so that the node system achieves the goals of confidentiality, integrity, availability, controllability, non-repudiation, etc.
[0100] In one embodiment, before the above-mentioned step S810 verifies the CA certificate and verifies the digital signature by asymmetric encryption to perform identity authentication between nodes, the method provided in the embodiment of the present application also includes: selecting a full node for data transmission with the ordinary node based on the communication status of each full node in the cached registration list.
[0101] Each common node dynamically caches the routing locations of all full nodes and the registration list of all full nodes. The registration list includes the communication status of each full node, including whether it is a master node, IP address, the time of the last heartbeat (i.e., the communication time between the two nodes), whether the node is online, etc. In one embodiment, the common node can select half of the full nodes with the shortest communication time to communicate.
[0102] In one embodiment, ordinary nodes can select multiple full nodes with the shortest communication duration based on the communication duration of each full node to form a communication node list; ordinary nodes communicate with the selected multiple full nodes in a rotating manner, and refresh the communication node list at a preset time interval.
[0103] Ordinary nodes can use the TCP protocol to perform regular heartbeat detection to detect whether the full node is alive. Ordinary nodes can sort all full nodes from short to long according to the communication time between them and each full node, and select half of the full nodes with the highest ranking to form a communication node list. Therefore, the communication node list can be considered as a list of full nodes selected to communicate with ordinary nodes.
[0104] Ordinary nodes communicate with these full nodes in the communication node list in turn in a rotating manner. At the same time, during the communication process, the communication node list is refreshed according to this step every certain period of time. That is, the communication node list always selects a low-latency full-node cluster.
[0105] Rotation means communicating with one full node first, and then communicating with the next full node. During the communication process, the ordinary node can record the communication duration. In one embodiment, if the communication duration of any full node in the communication node list is greater than the maximum communication duration of all full nodes in the registration list, all full nodes can be added to the communication node list.
[0106] Ordinary nodes can use the above method to select multiple low-latency full nodes for communication, transmit the generated watermark original data to the full nodes, achieve load balancing, improve transmission efficiency and ensure transmission stability. Ordinary nodes can also apply for watermark generation history records, return three-dimensional watermarks and verify watermarks through the full nodes selected above. Since the full nodes have larger storage space, the texture files and three-dimensional model files of the three-dimensional model can also be stored in the full nodes, and ordinary nodes can obtain texture files and three-dimensional model files from the full nodes selected above.
[0107] Fig. 9 Schematic diagram of the watermark verification process provided by the embodiment of the present application. Fig. 9 As shown, the process includes the following steps S910-S920.
[0108] Step S910: Obtain the watermark string of the three-dimensional object file.
[0109] The 3D object file refers to the 3D model to be verified by the watermark. To distinguish it from the 3D model to be generated for the watermark, it is called the 3D object file here. As a client, the ordinary node can obtain the watermark string of the 3D object file. Under normal circumstances, this watermark string is also a ciphertext string generated by encryption based on the basic information of the 3D object file.
[0110] Step S920: Compare the watermark string with the original watermark data stored on the chain to verify whether the watermark string is correct.
[0111] Ordinary nodes can send the watermark string of the three-dimensional object file to the full node, and the full node will perform watermark verification. Specifically, the full node can compare whether the watermark string is the same as the original watermark data stored on the chain. If they are the same, the watermark string can be further decrypted to obtain the input content for generating the watermark string. If the watermark is not counterfeit, the input content should include the basic information of the three-dimensional object file. For example, it includes information such as the watermark name, version, author, date, the md5 value of the texture of the three-dimensional object file, and the md5 value of the three-dimensional object file. Therefore, the input content can be compared with the basic information of the three-dimensional object file to obtain the comparison result.
[0112] 3D object files generally contain software version and date information. For example, Max files and Fbx files have version and date information in the file header. If there is no such information, an input method can be provided before generating the watermark, allowing the user to enter the version and author information. In the verification phase, the input content decrypted from the watermark string is compared with these contents. Alternatively, the author and version comparison can be omitted; the information summary value of the 3D object file and the information of the map can be found above, for example, it can be calculated using the md5 algorithm.
[0113] The technical solution provided in the above-mentioned embodiments of the present application utilizes blockchain technology to generate tamper-proof and traceable three-dimensional watermarks, and uses a variety of encryption methods to ensure the reliability of the three-dimensional watermarks. At the same time, the watermark contains information such as the author, version, and date, thereby improving the versatility of the system. By attaching material maps to the three-dimensional model, the watermark processing efficiency is improved. In addition, distributed deployment is adopted to realize point-to-point communication, ensure the reliability of data transmission and system stability, and efficiently realize copyright protection.
[0114] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the watermark generation method of the three-dimensional model of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the watermark generation method of the three-dimensional model of the present application.
[0115] Fig.10This is a block diagram of a watermark generation device for a three-dimensional model shown in an embodiment of the present application. In an optional embodiment, the device is applied to a node system constituting a blockchain network. Fig.10 As shown, the device includes: an information acquisition module 1010, a watermark generation module 1020, and a watermark embedding module 1030.
[0116] An information acquisition module 1010 is used to acquire basic information of the three-dimensional model;
[0117] A watermark generation module 1020, used to generate watermark original data according to the basic information of the three-dimensional model;
[0118] The watermark embedding module 1030 is used to store the original watermark data on the chain and embed the original watermark data into the surface of the three-dimensional model.
[0119] In one embodiment, the watermark generation module 1020 is specifically used to encrypt the basic information of the three-dimensional model using an encryption algorithm to obtain the watermark original data.
[0120] In one embodiment, the basic information includes one or more of the following information: watermark name, version, author, date, information summary value of the texture of the three-dimensional model, and information summary value of the three-dimensional model.
[0121] In one embodiment, the watermark embedding module 1030 is specifically used to: fill the original watermark data in the strokes of the watermark name with a font size smaller than a preset value to obtain a three-dimensional watermark in the shape of the watermark name; and embed the three-dimensional watermark into the surface of the three-dimensional model.
[0122] In one embodiment, the watermark embedding module 1030 is further configured to: when a texture exists on the surface of the three-dimensional model, tile the three-dimensional watermark on the surface of the texture.
[0123] In one embodiment, the watermark generation device for the three-dimensional model further includes:
[0124] A watermark acquisition module, used to obtain a watermark string of a three-dimensional object file;
[0125] The watermark comparison module is used to compare the watermark string with the original watermark data stored on the chain to verify whether the watermark string is correct.
[0126] In one embodiment, the watermark generation device for the three-dimensional model further includes:
[0127] A watermark decryption module, used to decrypt the watermark string when the watermark string is the same as the original watermark data stored on the chain, and obtain the input content for generating the watermark string;
[0128] The data comparison module is used to compare the input content with the basic information of the three-dimensional object file to obtain a comparison result.
[0129] In one embodiment, the method is applied to a node system constituting a blockchain network, the node system includes a full node and a common node, and the watermark embedding module 1030 further includes:
[0130] The identity verification unit is used to authenticate the identities of nodes by verifying the CA certificate and the digital signature using asymmetric encryption.
[0131] The data transmission unit is used to encrypt the original watermark data by symmetric encryption after the identity authentication is passed, and then transmit it to the full node of the blockchain network for on-chain storage.
[0132] In one embodiment, the watermark embedding module 1030 further includes:
[0133] The node selection unit is used to select a full node for data transmission with the common node according to the communication status of each full node in the cached registration list.
[0134] In one embodiment, the node selection unit is specifically used to select multiple full nodes with the shortest communication duration according to the communication duration of each full node to form a communication node list; the ordinary node communicates with the selected multiple full nodes in a rotating manner, and refreshes the communication node list at a preset time interval.
[0135] In one embodiment, the node selection unit is further configured to add all full nodes to the communication node list if the communication duration of any full node in the communication node list is greater than the maximum communication duration in the registration list.
[0136] The implementation process of the functions and effects of each module in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned three-dimensional model watermark generation method, which will not be repeated here.
[0137] In several embodiments provided in the present application, the disclosed devices and methods may also be implemented in other ways. The device embodiments described above are merely schematic, for example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram may represent a module, a program segment or a part of a code, and a module, a program segment or a part of a code contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or the flowchart, and the combination of boxes in the block diagram and / or the flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0138] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0139] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program codes.
Claims
1. A method for generating a watermark of a three-dimensional model, characterized in that: The method comprises: Acquiring basic information of the three-dimensional model; Generate watermark original data according to the basic information of the three-dimensional model; The original watermark data is stored on the chain, and the original watermark data is embedded into the surface of the three-dimensional model; The step of embedding the original watermark data into the surface of the three-dimensional model includes: Filling the original watermark data in the strokes of the watermark name with a font size smaller than a preset value to obtain a three-dimensional watermark in the shape of the watermark name; The three-dimensional watermark is tiled on the surface of the three-dimensional model.
2. The method according to claim 1, characterized in that The step of generating watermark original data according to the basic information of the three-dimensional model includes: The basic information of the three-dimensional model is encrypted using an encryption algorithm to obtain the watermark original data.
3. The method according to claim 1 or 2, characterized in that: The basic information includes one or more of the following information: watermark name, version, author, date, information summary value of the texture of the three-dimensional model, and information summary value of the three-dimensional model.
4. The method according to claim 1, characterized in that: The step of tiling the three-dimensional watermark on the surface of the three-dimensional model comprises: When a texture exists on the surface of the three-dimensional model, the three-dimensional watermark is tiled on the surface of the texture.
5. The method according to claim 1, characterized in that The method further comprises: Get the watermark string of the 3D object file; The watermark string is compared with the original watermark data stored on the chain to verify whether the watermark string is correct.
6. The method according to claim 5, characterized in that When the watermark character string is identical to the original watermark data stored on the chain, the method further includes: Decrypting the watermark character string to obtain input content for generating the watermark character string; The input content is compared with the basic information of the three-dimensional object file to obtain a comparison result.
7. The method according to claim 1, characterized in that The method is applied to a node system constituting a blockchain network, wherein the node system includes full nodes and ordinary nodes, and the storing of the watermarked original data on the chain includes: Authentication between nodes is performed by verifying the CA certificate and the digital signature using asymmetric encryption. After the identity authentication is passed, the watermark original data is encrypted using symmetric encryption and transmitted to the full node of the blockchain network for on-chain storage.
8. The method according to claim 7, characterized in that Before performing identity authentication between nodes by verifying the CA certificate and verifying the digital signature in an asymmetric encryption manner, the method further includes: According to the communication status of each full node in the cached registration list, a full node for data transmission with the ordinary node is selected.
9. The method according to claim 8, characterized in that The selecting, according to the communication status of each full node in the cached registration list, a full node for data transmission with the common node comprises: According to the communication duration of each full node, multiple full nodes with the shortest communication duration are selected to form a communication node list; The common node communicates with the selected multiple full nodes in a rotating manner, and refreshes the communication node list at a preset time interval.
10. The method according to claim 9, characterized in that The method further comprises: If the communication duration of any full node in the communication node list is greater than the maximum communication duration in the registration list, all full nodes are added to the communication node list.
11. A watermark generation device for a three-dimensional model, characterized in that: The device comprises: An information acquisition module, used to acquire basic information of the three-dimensional model; A watermark generation module, used to generate watermark original data according to the basic information of the three-dimensional model; A watermark embedding module, used to store the original watermark data on the chain and embed the original watermark data into the surface of the three-dimensional model; The watermark embedding module is specifically used to: fill the original watermark data in the strokes of the watermark name with a font size smaller than a preset value to obtain a three-dimensional watermark in the shape of the watermark name; and tile the three-dimensional watermark on the surface of the three-dimensional model.
12. An electronic device, characterized in that: The electronic device comprises: processor; a memory for storing processor-executable instructions; The processor is configured to execute the watermark generation method for a three-dimensional model as described in any one of claims 1-10.
13. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and the computer program can be executed by a processor to complete the watermark generation method for a three-dimensional model as described in any one of claims 1-10.
Citation Information
Patent Citations
Method for adding digital watermark to three-dimensional model layout and detecting digital watermark
CN106815798A
Digital product protection system and method based on block chain technology
CN110727927A