Watermark information processing method and device, equipment, storage medium and product

By calculating the string of each row of data to determine the anchor field and embedding the watermark encoding bit value, the problem that watermark technology cannot resist primary key deletion attacks in the existing technology is solved, and the security and anti-attack capability of still being able to extract watermark information after primary key deletion is achieved.

CN119397501BActive Publication Date: 2026-05-29CHINA MOBILE COMM LTD RES INST +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2024-09-30
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing watermarking technologies cannot resist primary key deletion attacks, making it impossible to extract watermark information after the primary key is deleted.

Method used

By calculating the string corresponding to each field in each row of data, the anchor field is determined, and the watermark encoding bit value is embedded based on the string and watermark information. This avoids using the primary key as the anchor and ensures that the watermark information can still be extracted after the primary key is deleted.

Benefits of technology

It enables effective extraction of watermark information even when the primary key is deleted, improving data security and resistance to attacks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119397501B_ABST
    Figure CN119397501B_ABST
Patent Text Reader

Abstract

The application discloses a watermark information processing method, which comprises the following steps: obtaining a first data set and watermark information; calculating a string corresponding to each field in each row of data in the first data set; determining a first field in which watermark information is to be embedded in each row of data based on the string corresponding to each field; determining a watermark encoding bit value corresponding to each row of data based on the string corresponding to each field and the watermark information; embedding the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain a second data set after embedding. The application also discloses a watermark information processing device, an electronic device, a computer readable storage medium and a computer program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to, but is not limited to, the field of communications, and particularly to a method for processing watermark information, a device for processing watermark information, an electronic device, a computer-readable storage medium, and a computer program product. Background Technology

[0002] Data has become the fifth major factor of production, following land, labor, capital, and technology. Currently, internet companies possess vast amounts of valuable data and need to circulate this data to generate greater value. However, once data leaves the internet, issues such as data leaks and resale may arise, making data traceability a challenge. Digital watermarking technology offers one solution.

[0003] Digital watermarking is an information security technology that embeds watermark information into digital carriers (such as digital images, digital videos, and structured data) using certain rules and algorithms to achieve purposes such as identifying digital copyright owners and tracking data breach perpetrators. Structured data watermarking is one type, primarily targeting structured datasets used by various systems or platforms that require external distribution. Structured datasets can be hosted in relational databases, Excel files, comma-separated values ​​(CSV) files, and text (TXT) files, generally offering limited redundancy for watermark embedding.

[0004] It should be noted that the watermarking technology in this technology is based on an algorithm that groups data by primary key. This algorithm is vulnerable to primary key deletion attacks. Therefore, if the primary key is deleted, the grouping information cannot be obtained, and the watermark information cannot be extracted. Summary of the Invention

[0005] This application provides a method for processing watermark information, a device for processing watermark information, an electronic device, a computer-readable storage medium, and a computer program product, providing a method for automated embedding and extraction of structured data watermarks.

[0006] The technical solution of this application is implemented as follows:

[0007] In a first aspect, embodiments of this application provide a method for processing watermark information, the method comprising:

[0008] Obtain the first dataset and watermark information;

[0009] Calculate the string corresponding to each field in each row of data in the first dataset;

[0010] Based on the string corresponding to each field, determine the first field in each row of data to be embedded with watermark information;

[0011] Based on the string corresponding to each field and the watermark information, determine the watermark encoding bit value corresponding to each row of data;

[0012] The watermark encoding bit value corresponding to each row of data is embedded into the corresponding first field to obtain the second dataset after embedding.

[0013] Secondly, this application provides a watermark information processing apparatus, which includes:

[0014] The acquisition module is used to acquire the first dataset and watermark information;

[0015] The processing module is used to calculate the string corresponding to each field in each row of data in the first dataset;

[0016] The processing module is also used to determine the first field in each row of data to be embedded with watermark information based on the string corresponding to each field;

[0017] The processing module is also used to determine the watermark encoding bit value corresponding to each row of data based on the string corresponding to each field and the watermark information;

[0018] The processing module is further configured to embed the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain the embedded second dataset.

[0019] Thirdly, an electronic device provided in this application includes: a processor, a memory, and a communication bus;

[0020] Memory, used to store executable instructions;

[0021] A processor is configured to execute executable instructions stored in the memory to implement the steps of the watermark information processing method described above.

[0022] Fourthly, embodiments of this application provide a computer-readable storage medium storing one or more programs, which can be executed by one or more processors to implement the steps of the watermark information processing method described above.

[0023] Fifthly, an embodiment of this application provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the watermark information processing method described above.

[0024] This application does not use the primary key as the anchor field. Before embedding the watermark information, the anchor field, i.e., the first field, is determined based on the string corresponding to each field in each row of data. Therefore, the anchor field is different for each row of data. Furthermore, the embedded content is also determined based on the string corresponding to each field and the watermark information. Thus, the embedded content is different for each row of data. Therefore, it is impossible to invalidate or lose the watermark information by deleting the primary key, attribute, or least significant bit. Attached Figure Description

[0025] Figure 1 A flowchart illustrating the watermark information processing method provided in the embodiments of this application. Figure 1 ;

[0026] Figure 2 A flowchart illustrating the watermark information processing method provided in the embodiments of this application. Figure 2 ;

[0027] Figure 3 A flowchart illustrating the watermark information processing method provided in the embodiments of this application. Figure 3 ;

[0028] Figure 4 A flowchart illustrating the watermark information processing method provided in the embodiments of this application. Figure 4 ;

[0029] Figure 5 A schematic block diagram of a watermark information processing device provided in an embodiment of this application;

[0030] Figure 6 A schematic structural diagram of an electronic device provided in an embodiment of this application;

[0031] Figure 7 This is a schematic structural diagram of the chip provided in an embodiment of this application. Detailed Implementation

[0032] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0033] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0034] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0035] Embodiments of this application provide a method for processing watermark information, which is applied to electronic devices. (Refer to...) Figure 1 As shown, the method includes the following steps:

[0036] Step 101: Obtain the first dataset and watermark information.

[0037] In this embodiment, the first dataset can be a collection of any number of data points, and this application does not impose any specific limitations on it. It should be noted that the first dataset can be the entire dataset or a portion of the entire dataset.

[0038] In this embodiment of the application, the watermark information can be any type of identification information that can identify the owner of the dataset, or any type of identification information selected by the owner of the dataset. This application does not impose any specific limitations on this.

[0039] Step 102: Calculate the string corresponding to each field in each row of data in the first dataset.

[0040] In this embodiment, each field in each row of data corresponds to a string, and N fields in each row of data correspond to N strings, meaning one field corresponds to one string. The string corresponding to each field in a row is obtained by performing a certain transformation on the data of each field in that row.

[0041] It should be noted that the calculation methods for the strings corresponding to each row of data can be completely different, partially different, or completely the same; if they are different, the calculated strings need to be normalized to the same range.

[0042] Step 103: Based on the string corresponding to each field, determine the first field in each row of data to be embedded with watermark information.

[0043] It should be noted that the first field selected for each row of data can be completely different or partially different; that is, the selected field is not fixed but determined by calculation.

[0044] It should be noted that the first field is used as the anchor field, meaning that the primary key is not used as the anchor field in this application. The anchor field is different for each row of data. Therefore, the solution proposed in this application can resist primary key deletion attacks and cannot make the watermark invalid by deleting the primary key.

[0045] Step 104: Based on the string and watermark information corresponding to each field, determine the watermark encoding bit value corresponding to each row of data.

[0046] Step 105: Embed the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain the embedded second dataset.

[0047] This application discloses a method for processing watermark information. The method includes: acquiring a first dataset and watermark information; calculating the string corresponding to each field in each row of data in the first dataset; determining the first field in each row of data to be embedded with watermark information based on the string corresponding to each field; determining the watermark encoding bit value corresponding to each row of data based on the string corresponding to each field and the watermark information; and embedding the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain an embedded second dataset. In other words, this application does not use a primary key as an anchor field. Before embedding the watermark information, the anchor field, i.e., the first field, is determined based on the string corresponding to each field in each row of data. Therefore, the anchor field is different for each row of data. Furthermore, the embedded content is also determined based on the string corresponding to each field and the watermark information. Therefore, the embedded content is different for each row of data, making it impossible to invalidate or lose the watermark information by deleting the primary key, attributes, or least significant bit. Simultaneously, when embedding the watermark information into the data carrier, i.e., the first dataset, no parameters other than the watermark information need to be input, thus eliminating the need to record parameters and reducing implementation difficulty.

[0048] It should be noted that the current need for watermarking traceability technology is for data collected by a data platform through terminal devices, which needs to be shared with third parties. The collected data will pass through relay devices, and the relay devices are not owned by the platform. Therefore, the watermark information processing method provided in this application does not need to record parameters, including grouping fields, embedding fields, number of groups, etc., which improves data security.

[0049] Embodiments of this application provide a method for processing watermark information, which is applied to electronic devices. (Refer to...) Figure 2 As shown, the method includes the following steps:

[0050] Step 201: Obtain the first dataset and watermark information.

[0051] Step 202: Determine the embedding bit.

[0052] In this embodiment, the embedding bits can be preset, such as the first N bits, the last N bits, or the middle N bits in a field; where N is a positive integer and less than or equal to the remainder value. Of course, the embedding bits can also be set by the electronic device based on actual conditions.

[0053] Step 203: Remove the embedded data from each field to obtain the first data of each field.

[0054] Step 204: Encrypt the first data of each field to obtain the string corresponding to each field.

[0055] In this embodiment, the electronic device uses key information to calculate the first data of each field to obtain the string corresponding to each field. The calculation method is not limited to key-related hash-based message authentication code (HMAC) or stream cipher encryption. It should be noted that the introduction of key information in this application ensures that even if the calculation rules are known, the sequence value cannot be calculated without the key, and therefore the watermark information cannot be restored.

[0056] Step 205: Sort the strings corresponding to each field to obtain the sorted data.

[0057] In this embodiment of the application, the sorting method can be pre-configured or obtained from an external source.

[0058] In this embodiment of the application, the sorting method of the strings can be based on the ASCII code value corresponding to each string.

[0059] Step 206: Determine the field corresponding to the data that meets the first condition in the sorted data as the first field.

[0060] Among them, the data that meets the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data.

[0061] Step 207: Obtain the preset remainder value.

[0062] It should be noted that the preset remainder value is determined by the watermark encoding method and can be set to a fixed value (e.g., 60, 100, 1000, etc.).

[0063] Step 208: Encode the watermark information to obtain the first encoding result.

[0064] Here, the watermark information is encoded using a watermark encoding method to obtain the first encoding result. This watermark encoding method includes, but is not limited to, using hexadecimal encoding to form a byte stream, or using the Chinese Remainder Theorem to form fragmented values.

[0065] Step 209: Take the remainder of the string corresponding to the first field in each row of data and the remainder value to obtain the sequence value corresponding to each row of data.

[0066] Step 210: Fill in the first encoding result to obtain the second encoding result.

[0067] The number of bits in the second encoding result is the same as the number of bits in the remainder value.

[0068] Step 211: Determine the watermark encoding bit value based on the sequence value and the second encoding result.

[0069] It should be noted that the bit value corresponding to the i-th bit in the second encoding result is determined to be the watermark encoding bit value; where i is equal to the sequence value and i is a positive integer.

[0070] Step 212: Embed the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain the embedded second dataset.

[0071] It should be noted that the descriptions of the same steps and contents as in other embodiments in this embodiment can be found in the descriptions in other embodiments, and will not be repeated here.

[0072] Embodiments of this application provide a method for processing watermark information, which is applied to electronic devices. (Refer to...) Figure 3 As shown, the method includes the following steps:

[0073] Step 301: Determine the sequence pairs of each row of data in the second dataset.

[0074] The sequence pair includes the sequence value corresponding to each row of data and the watermark encoded bit value corresponding to each row of data.

[0075] Step 302: Restore the watermark information based on the sequence pairs of each row of data.

[0076] In this embodiment, for the same sequence value, the watermark encoding sequence value is obtained by counting. All watermark encoding sequence values ​​are then combined with the watermark encoding method to reconstruct the watermark information.

[0077] In this embodiment, the extraction process corresponding to steps 301 to 302 is the reverse of the embedding process in steps 201 to 212, only the order of the steps is slightly different; that is, after performing a specific transformation on each field of each row of data, the data is sorted, and the maximum / minimum value is taken to calculate the sequence value of each row of data. The watermark encoding sequence value is extracted, and the sequence value and watermark encoding sequence value pair are recorded. The watermark encoding information is statistically obtained, and the watermark information is restored by combining the watermark encoding method.

[0078] In some embodiments, step 301, determining the sequence pairs of each row of data in the second dataset, can be achieved through the following steps:

[0079] Step A1: Calculate the string corresponding to each field in each row of data in the second dataset.

[0080] Here, calculating the string corresponding to each field in each row of data in the second dataset includes: determining the embedding bit; removing the data of the embedding bit of each field to obtain the first data of each field; and encrypting the first data of each field to obtain the string corresponding to each field.

[0081] Step A2: Based on the string corresponding to each field, determine the second field in each row of data that has embedded watermark information.

[0082] Here, based on the string corresponding to each field, determining the second field in each row of data that has embedded watermark information includes: sorting the string corresponding to each field to obtain sorted data; determining the field corresponding to the data that satisfies the first condition in the sorted data as the second field; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data.

[0083] Step A3: Obtain the preset remainder value.

[0084] Step A4: Determine the sequence value in the sequence pair by taking the remainder of the string corresponding to the second field in each row of data and the remainder value.

[0085] Step A5: Determine the bit value corresponding to the j-th bit in the string corresponding to the second field as the watermark encoding bit value in the sequence pair.

[0086] Where j equals the sequence value, and j is a positive integer.

[0087] under, Figure 4 This is an exemplary application of the watermark embedding scheme of this application in a real-world application scenario, such as... Figure 4 As shown:

[0088] Step 401: Perform a specific transformation on each field of each row of data and then sort them to calculate the sequence value of each row of data and the field to be embedded.

[0089] First, the specific transformation refers to removing the embedded bit data from each field and then using the key information to calculate a numerical value from the field content. The calculation method is not limited to HMAC, stream cipher encryption, etc. The use of the key information ensures that even if the calculation rules are known, the sequence value cannot be calculated without the key, and therefore the watermark information cannot be recovered.

[0090] Secondly, after sorting the values, select the minimum value (which can also be the maximum value), and take the remainder to obtain the sequence value. The remainder value is determined by the watermark encoding method and is set to a fixed value (e.g., 60, 100, 1000, etc.). The encoding method includes, but is not limited to, using hexadecimal encoding to form a byte stream, or using the Chinese Remainder Theorem to form fragmented values.

[0091] Finally, the field containing the minimum value is the field to be embedded in that row; at the same time, based on the sequence value, the watermark encoding sequence value corresponding to the watermark encoding information is extracted.

[0092] It should be noted that the original dataset is shown in Table 1.

[0093] time msg_id …… rtt_id 20220227165941 178689490 …… 96001057 20220227165943 177105056 …… 92001002 20220227165942 177105088 …… 92005310 …… …… …… …… 20220227170142 177105028 …… 92001002

[0094] Table 1

[0095] For example, the calculation is performed on the first row of data in the original dataset in Table 1, assuming that the calculation method uses HMAC, the key is "cmcc", and the embedding bit is the last bit.

[0096] So, after removing the embedded bit data from “20220227165941”, “178689490”, and “96001057”, they are converted into “2022022716594”, “17868949”, and “9600105”. Perform HMAC calculation to obtain “0ad4a42a530110b5088ecf9258b9c353”, “b7a8534f2bf296e4be00b46be5f32b0b”, and “86d4e524e8f999cbe618107ea7c514d5”. Sort the results and take the minimum value “0ad4a42a530110b5088ecf9258b9c353”. That is, the field corresponding to “20220227165941” is the field to be embedded in the first row of data. The watermark information encoded sequence value will be embedded in the field corresponding to “20220227165941”.

[0097] Assuming the watermark encoding method is to convert to a decimal byte stream with a remainder value of 60, performing a remainder operation on the watermark information encoding sequence value and the remainder value yields a sequence value of "26".

[0098] Step 402: Based on the watermark information encoding sequence value corresponding to the row of data and the field information to be embedded, embed the watermark information encoding sequence value into the field to be embedded.

[0099] A specific implementation method could be as follows: Assuming the watermark information is "cmri0702", the watermark encoding method is to convert it to a decimal byte stream "7164508378322383268". Based on the remainder value of 60, the byte stream is filled to "000000000000000000000000000000000000000007164508378322383268". Therefore, the watermark encoding sequence value corresponding to sequence value 26 is "0". Finally, the watermark encoding sequence value, i.e., 0, is embedded into the data in the field to be embedded, after removing the embedding bits.

[0100] That is, the first row of data in the original dataset:

[0101] 20220227165941 178689490……96001057

[0102] After embedding the watermark encoded sequence value, it is updated to:

[0103] 20220227165940 178689490……96001057

[0104] Furthermore, the main steps of the watermark extraction scheme are:

[0105] Step B1: Perform a specific transformation on each field of each row of data and then sort it. Calculate the sequence value of each row of data, extract the watermark encoding sequence value, and record the sequence value and watermark encoding sequence value pair.

[0106] It should be noted that the watermark extraction scheme and the watermark embedding method use the same calculation method.

[0107] For example, for the first row of data in the dataset after embedding the watermark encoded sequence value, HMAC is used, the key is "cmcc", the embedding bit is the last bit, and the watermark encoding method is to convert it to a decimal byte stream and take the remainder value as 60: after removing the embedding bit data from "20220227165941", "178689490", and "96001057", it is converted into "2022022716594", "17868949", and "9600105". Performing HMAC calculation yields "0ad4a42a530110b5088ecf9258b9c353", "b7a8534f2bf296e4be00b46be5f32b0b", and "86d4e524e8f999cbe618107ea7c514d5". Sorting these results in "0ad4a42a530110b5088ecf9258b9c353". Therefore, "20220227165940" is the field to be embedded in this row. Performing a modulo operation on the data corresponding to the field to be embedded and the modulo value yields a sequence value of "26". The embedded part then yields a watermark encoded sequence value of "0", resulting in a sequence value and watermark encoded sequence value pair of {26, 0}.

[0108] Step B2: Obtain the watermark encoding information statistically, and restore the watermark information by combining the watermark encoding method.

[0109] For the same sequence value, the watermark encoded sequence value is obtained through counting. All watermark encoded sequence values ​​are then combined with the watermark encoding method to reconstruct the watermark information.

[0110] Embodiments of this application provide a watermark information processing apparatus, which can be used to implement... Figures 1 to 3 A corresponding embodiment provides a method for processing watermark information, referring to... Figure 5 As shown, the watermark information processing device 500 includes:

[0111] Module 501 is used to acquire the first dataset and watermark information;

[0112] Processing module 502 is used to calculate the string corresponding to each field in each row of data in the first dataset;

[0113] The processing module 502 is also used to determine the first field in each row of data to be embedded with watermark information based on the string corresponding to each field;

[0114] The processing module 502 is also used to determine the watermark encoding bit value corresponding to each row of data based on the string and watermark information corresponding to each field;

[0115] The processing module 502 is also used to embed the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain the embedded second dataset.

[0116] In other embodiments of this application, the processing module 502 is used to determine the sequence pairs of each row of data in the second dataset; wherein, the sequence pair includes the sequence value corresponding to each row of data and the watermark encoding bit value corresponding to each row of data;

[0117] Processing module 502 is used to restore watermark information based on sequence pairs of each row of data.

[0118] In other embodiments of this application, processing module 502 is used to determine the embedding bit;

[0119] The processing module 502 is also used to remove the embedded data of each field to obtain the first data of each field;

[0120] The processing module 502 is also used to encrypt the first data of each field to obtain the string corresponding to each field.

[0121] In other embodiments of this application, the processing module 502 is used to sort the strings corresponding to each field to obtain sorted data;

[0122] Processing module 502 is further configured to determine the field corresponding to the data in the sorted data that satisfies the first condition as the first field; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data.

[0123] In other embodiments of this application, the acquisition module 501 is used to acquire a preset remainder value;

[0124] Processing module 502 is used to encode watermark information to obtain the first encoding result;

[0125] The processing module 502 is also used to extract the string corresponding to the first field in each row of data and the remainder value to obtain the sequence value corresponding to each row of data;

[0126] The processing module 502 is also used to fill the first encoding result to obtain the second encoding result; wherein the number of bits in the second encoding result is the same as the number of bits in the remainder value;

[0127] The processing module 502 is also used to determine the watermark encoding bit value based on the sequence value and the second encoding result.

[0128] In other embodiments of this application, the processing module 502 is used to determine that the bit value corresponding to the i-th bit in the second encoding result is the watermark encoding bit value; where i is equal to the sequence value and i is a positive integer.

[0129] In other embodiments of this application, the processing module 502 is used to calculate the string corresponding to each field in each row of data in the second dataset;

[0130] Processing module 502 is used to determine the second field in each row of data that has embedded watermark information based on the string corresponding to each field;

[0131] The acquisition module 501 is used to acquire a preset remainder value;

[0132] Processing module 502 is used to determine the sequence value in the sequence pair by taking the remainder of the string corresponding to the second field in each row of data and the remainder value.

[0133] Processing module 502 is used to determine the bit value corresponding to the j-th bit in the string corresponding to the second field as the watermark encoding bit value in the sequence pair; where j is equal to the sequence value and j is a positive integer.

[0134] In other embodiments of this application, processing module 502 is used to determine the embedding bit;

[0135] Processing module 502 is used to remove the embedded data of each field to obtain the first data of each field;

[0136] Processing module 502 is used to encrypt the first data of each field to obtain the string corresponding to each field.

[0137] In other embodiments of this application, the processing module 502 is used to sort the strings corresponding to each field to obtain sorted data;

[0138] The processing module 502 is used to determine the field corresponding to the data that satisfies the first condition in the sorted data as the second field; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data.

[0139] The descriptions of the above device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0140] It should be noted that, in the embodiments of this application, if the above-mentioned watermark information processing method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a terminal device to execute all or part of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware and software combination.

[0141] Figure 6 This is a schematic structural diagram of an electronic device 600 provided in an embodiment of this application. This communication device can be a watermark information processing apparatus. Figure 6 The illustrated electronic device 600 includes a first processor 610, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0142] Optionally, such as Figure 6 As shown, the electronic device 600 may further include a first memory 620. The first processor 610 can call and run computer programs from the first memory 620 to implement the methods in the embodiments of this application.

[0143] The first memory 620 can be a separate device independent of the first processor 610, or it can be integrated into the first processor 610.

[0144] Optionally, such as Figure 6 As shown, the electronic device 600 may also include a transceiver 630, which the first processor 610 can control to communicate with other devices. Specifically, it can send information or data to other devices or receive information or data sent by other devices.

[0145] The transceiver 630 may include a transmitter and a receiver. The transceiver 630 may further include antennas, and the number of antennas may be one or more.

[0146] Optionally, the electronic device 600 may specifically be a watermark information processing device in the embodiments of this application, and the electronic device 600 may implement the corresponding processes implemented by the watermark information processing device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0147] Figure 7This is a schematic structural diagram of the chip according to an embodiment of this application. Figure 7 The chip 700 shown includes a second processor 710, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0148] Optionally, such as Figure 7 As shown, chip 700 may further include a second memory 720. The second processor 710 can retrieve and run computer programs from the second memory 720 to implement the methods described in this embodiment.

[0149] The second memory 720 can be a separate device independent of the second processor 710, or it can be integrated into the second processor 710.

[0150] Optionally, the chip 700 may also include an input interface 730. The second processor 710 can control the input interface 730 to communicate with other devices or chips; specifically, it can acquire information or data sent by other devices or chips.

[0151] Optionally, the chip 700 may also include an output interface 740. The second processor 710 can control the output interface 740 to communicate with other devices or chips, specifically, to output information or data to other devices or chips.

[0152] Optionally, the chip can be applied to the watermark information processing device / electronic device in the embodiments of this application, and the chip can implement the corresponding processes implemented by the watermark information processing device / electronic device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0153] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0154] It should be understood that the processor in the embodiments of this application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor described above can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0155] As one embodiment, the processor may include one or more general-purpose central processing units (CPUs). Each of these processors may be a single-core processor or a multi-core processor. Here, "processor" may refer to one or more devices, circuits, and / or processing cores used for processing data (e.g., executing instructions).

[0156] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be ROM, Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), or flash memory. The volatile memory can be Random Access Memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0157] It should be understood that the above-described memory is exemplary and not a limiting description. For example, the memory in the embodiments of this application may also be static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DR RAM), etc. That is to say, the memory in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0158] This application also provides a computer-readable storage medium for storing computer programs.

[0159] The computer-readable storage medium can be applied to the watermark information processing apparatus / electronic device in the embodiments of this application, and the computer program causes the computer to execute the corresponding processes implemented by the watermark information processing apparatus / electronic device in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0160] This application also provides a computer program product, including a computer program that can be executed by the processor of an electronic device 600 to perform the steps described in any of the foregoing methods.

[0161] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.

[0162] A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

[0163] The above provides a detailed description of the watermark information processing method, watermark information processing device, electronic device, computer-readable storage medium, and computer program product provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

[0164] It should be understood that the phrases "an embodiment," "an embodiment," "an embodiment of this application," "the foregoing embodiment," "some implementations," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, the phrases "an embodiment," "an embodiment," "an embodiment of this application," "the foregoing embodiment," "some implementations," or "some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above-described embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.

[0165] Unless otherwise specified, any step performed by the watermark information processing device / electronic device in the embodiments of this application may be performed by the processor of the watermark information processing device / electronic device. Unless otherwise specified, the embodiments of this application do not limit the order in which the watermark information processing device / electronic device performs the following steps. Furthermore, the methods used to process the data in different embodiments may be the same or different methods.

[0166] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.

[0167] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.

[0168] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0169] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined to obtain new method embodiments without conflict. The features disclosed in the several product embodiments provided in this application can be arbitrarily combined to obtain new product embodiments without conflict. The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined to obtain new method embodiments or device embodiments without conflict.

[0170] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0171] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer storage medium. Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0172] The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.

[0173] It should be noted that in the various embodiments involved in this application, all steps or some steps may be performed, as long as a complete technical solution can be formed.

[0174] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for processing watermark information, characterized in that, The method includes: Obtain the first dataset and watermark information; Determine the embedding bit; Remove the embedded bits from each field in each row of data in the first dataset to obtain the first data for each field; Encrypt the first data in each field to obtain the string corresponding to each field; Sort the strings corresponding to each field to obtain the sorted data; The field corresponding to the data that satisfies the first condition in the sorted data is determined as the first field of the data to be embedded with watermark information in each row of data; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data; the first field corresponding to each row of data is completely different or partially different; Based on the string corresponding to each field and the watermark information, determine the watermark encoding bit value corresponding to each row of data; The watermark encoding bit value corresponding to each row of data is embedded into the corresponding first field to obtain the second dataset after embedding.

2. The method according to claim 1, characterized in that, The method further includes: Determine the sequence pair for each row of data in the second dataset; wherein, the sequence pair includes the sequence value corresponding to each row of data and the watermark encoding bit value corresponding to each row of data; The watermark information is restored based on the sequence pairs of each row of data.

3. The method according to claim 1, characterized in that, Based on the string and the watermark information, the encoded bit value of the watermark information is determined, including: Get the preset remainder value; Encode the watermark information to obtain a first encoding result; The sequence value corresponding to each row of data is obtained by taking the remainder of the string corresponding to the first field in each row of data and the remainder value; The first encoding result is filled to obtain the second encoding result; wherein the number of bits in the second encoding result is the same as the number of bits in the remainder value; Based on the sequence value and the second encoding result, the watermark encoding bit value is determined.

4. The method according to claim 3, characterized in that, Determining the watermark encoded bit value based on the sequence value and the second encoding result includes: The bit value corresponding to the i-th bit in the second encoding result is determined to be the watermark encoded bit value; wherein, i is equal to the sequence value, and i is a positive integer.

5. The method according to claim 2, characterized in that, Determining the sequence pairs of each row of data in the second dataset includes: Calculate the string corresponding to each field in each row of data in the second dataset; Based on the string corresponding to each field, determine the second field in each row of data that has embedded watermark information; Get the preset remainder value; The value obtained by taking the remainder of the string corresponding to the second field in each row of data and the remainder value is determined to be the sequence value in the sequence pair. The bit value corresponding to the j-th position in the string corresponding to the second field is determined to be the watermark encoding bit value in the sequence pair; wherein, j is equal to the sequence value, and j is a positive integer.

6. The method according to claim 5, characterized in that, The step of calculating the string corresponding to each field in each row of data in the second dataset includes: Determine the embedding bit; Remove the embedded data from each field to obtain the first data for each field; The first data in each field is encrypted to obtain the string corresponding to each field.

7. The method according to claim 5, characterized in that, The step of determining the second field in each row of data that has embedded watermark information based on the string corresponding to each field includes: Sort the strings corresponding to each field to obtain the sorted data; The field corresponding to the data that satisfies the first condition in the sorted data is determined as the second field; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data.

8. A watermark information processing device, characterized in that, The device for processing the watermark information includes: The acquisition module is used to acquire the first dataset and watermark information; The processing module is used to determine the embedding bit; remove the embedding bit data of each field in each row of data in the first dataset to obtain the first data of each field; and encrypt the first data of each field to obtain the string corresponding to each field. The processing module is further configured to sort the strings corresponding to each field to obtain sorted data; determine the field corresponding to the data that satisfies the first condition in the sorted data as the first field to be embedded with watermark information in each row of data; wherein, the data that satisfies the first condition includes the data corresponding to the maximum value in the sorted data, or the data corresponding to the minimum value in the sorted data; the first field corresponding to each row of data is completely different or partially different; The processing module is also used to determine the watermark encoding bit value corresponding to each row of data based on the string corresponding to each field and the watermark information; The processing module is further configured to embed the watermark encoding bit value corresponding to each row of data into the corresponding first field to obtain the embedded second dataset.

9. An electronic device, characterized in that, The electronic device includes: Memory, used to store executable instructions; A processor, when executing executable instructions stored in the memory, implements the watermark information processing method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the watermark information processing method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method for processing watermark information as described in any one of claims 1 to 7.