Watermark embedding method, device, storage medium and computer readable storage medium

By performing layered encoding of watermark information, with high redundancy encoding in the core layer and low redundancy encoding in the extension layer, the problem of insufficient adaptability in the existing watermark embedding process is solved, and efficient embedding of watermark information in different scenarios is achieved.

CN120805114BActive Publication Date: 2026-01-23VIPSHOP (GUANGZHOU) SOFTWARE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511311895.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-15
Publication Date
2026-01-23
Estimated Expiration
2045-09-15

AI Technical Summary

Technical Problem

The existing encoding methods in the watermark embedding process are poorly adaptable to different use cases, making it difficult to balance the capacity and robustness of watermark information.

Method used

A layered coding method is adopted to divide the watermark information into a core layer and an extension layer. The core layer information is encoded with high redundancy, and the extension layer information is encoded with low redundancy. The two are then combined to form the target watermark code, which is embedded into the data to be processed.

Benefits of technology

It improves the anti-interference capability and capacity of watermark information, enhances the adaptability of the encoding method in different usage scenarios, and improves the flexibility of the watermark embedding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120805114B_ABST
    Figure CN120805114B_ABST
Patent Text Reader

Abstract

The application discloses a watermark embedding method and device, a storage medium and a computer readable storage medium, and relates to the technical field of digital watermarking. The watermark embedding method comprises the following steps: acquiring watermark information to be added, and layering the watermark information to obtain core layer information and extension layer information; performing first encoding processing on the core layer information to obtain core layer encoding, and performing second encoding processing on the extension layer information to obtain extension layer encoding, wherein the redundancy of the first encoding processing is higher than that of the second encoding processing, and the check code in the core layer encoding comprises check information of the extension layer information; after the core layer encoding and the extension layer encoding are embedded, target watermark encoding is obtained, and the target watermark encoding is embedded into to-be-processed data to obtain target watermark data. The application solves the technical problem that the encoding mode in the existing watermark embedding process is poor in adaptability to different use scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of digital watermarking, and in particular to a watermark embedding method, device, storage medium and computer readable storage medium. BACKGROUND

[0002] As a core supporting means of digital copyright protection, digital watermarking technology has formed an application system covering all fields of multimedia.

[0003] In the watermark encoding link in the watermark embedding process, the existing watermark encoding technology usually adopts a single fixed encoding method, which is difficult to balance the capacity and robustness of watermark information. Therefore, with the change of the watermark embedding scene, the fixed encoding method is difficult to adapt to the watermark embedding demand in different scenes, that is, the encoding method in the existing watermark embedding process has poor adaptability to different use scenes.

[0004] The above content is only used to assist in understanding the technical solutions of the present application and does not represent the acknowledgement of the above content as prior art. SUMMARY

[0005] The main purpose of the present application is to provide a watermark embedding method, device, storage medium and computer readable storage medium, which aims to solve the technical problem that the encoding method in the existing watermark embedding process has poor adaptability to different use scenes.

[0006] To achieve the above purpose, the present application provides a watermark embedding method, which comprises:

[0007] Obtaining watermark information to be added, and layering the watermark information to obtain core layer information and extension layer information;

[0008] First encoding processing the core layer information to obtain core layer encoding;

[0009] Second encoding processing the extension layer information to obtain extension layer encoding, wherein the redundancy of the first encoding processing is higher than that of the second encoding processing;

[0010] After the core layer encoding and the extension layer encoding are embedded, target watermark encoding is obtained, and the target watermark encoding is embedded in the to-be-processed data to obtain target watermark data.

[0011] In an embodiment, the step of first encoding processing the core layer information to obtain core layer encoding comprises:

[0012] Obtaining the degree of environmental interference of the target watermark data, and determining the candidate encoding algorithm corresponding to the carrier content type of the to-be-processed data;

[0013] determining a target redundancy degree corresponding to the usage environment interference degree, wherein the target redundancy degree is positively correlated with the usage environment interference degree;

[0014] selecting a first encoding algorithm from the candidate encoding algorithms according to the target redundancy degree;

[0015] calculating check information of the extension layer information, and splicing the check information of the extension layer information and the core layer information to obtain new core layer information;

[0016] encoding the new core layer information by using the first encoding algorithm to obtain core layer encoding.

[0017] In an embodiment, before the step of splicing the check information of the extension layer information and the core layer information to obtain new core layer information, the method comprises:

[0018] obtaining a carrier content feature of the to-be-processed data, and generating a dynamic key according to the carrier content feature;

[0019] encrypting the core layer information based on the dynamic key to obtain encrypted core layer information;

[0020] based on the encrypted core layer information, performing the step of splicing the check information of the extension layer information and the core layer information to obtain new core layer information.

[0021] In an embodiment, the step of performing second encoding processing on the extension layer information to obtain extension layer encoding comprises:

[0022] selecting a second encoding algorithm from the candidate encoding algorithms, wherein the redundancy degree of the second encoding algorithm is less than the redundancy degree of the first encoding algorithm;

[0023] performing second encoding processing on the extension layer information by using the second encoding algorithm to obtain extension layer encoding.

[0024] In an embodiment, the step of splicing the core layer encoding and the extension layer encoding to obtain the target watermark encoding comprises:

[0025] splicing the core layer encoding and the extension layer encoding to obtain an initial encoding;

[0026] inserting a first invisible marker at the junction of the core layer encoding and the extension layer encoding in the initial encoding to obtain the target watermark encoding.

[0027] In an embodiment, before the step of splicing the core layer encoding and the extension layer encoding to obtain the initial encoding, the method comprises:

[0028] inserting second invisible markers at uniform intervals in the core layer coding to obtain new core layer coding;

[0029] based on the new core layer coding, performing the step of splicing the core layer coding and the extension layer coding to obtain initial coding.

[0030] In an embodiment, the step of layering the watermark information to obtain core layer information and extension layer information comprises:

[0031] obtaining the priority of each watermark content in the watermark information;

[0032] taking the watermark content with a priority higher than a predetermined priority threshold as core layer information;

[0033] taking the watermark content with a priority not higher than a predetermined priority threshold as extension layer information.

[0034] In addition, to achieve the above object, the present application further provides a watermark embedding device, which comprises a memory, a processor and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the watermark embedding method as described above.

[0035] In addition, to achieve the above object, the present application further provides a storage medium, which is a computer readable storage medium, and the storage medium stores a computer program, and the computer program is executed by a processor to implement the steps of the watermark embedding method as described above.

[0036] In addition, to achieve the above object, the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the watermark embedding method as described above.

[0037] The one or more technical solutions provided by the present application have at least the following technical effects:

[0038] This application can obtain watermark information to be added and layer the watermark information to obtain core layer information and extended layer information, thereby distinguishing the more important core layer information and the less important extended layer information. Then, this application can perform a first encoding process on the core layer information to obtain core layer encoding, and a second encoding process on the extended layer information to obtain extended layer encoding, wherein the redundancy of the first encoding process is higher than that of the second encoding process. Thus, this application can perform high-redundancy encoding on the core layer information, improving the anti-interference capability of more important information, and can also perform low-redundancy encoding on the extended layer information, maximizing the watermark capacity, thereby effectively balancing the anti-interference capability and capacity of the watermark information. Furthermore, this application can embed the core layer encoding and the extended layer encoding to obtain the target watermark encoding, and embed the target watermark encoding into the data to be processed to obtain the target watermark data. Therefore, this application, by encoding the core layer information with high redundancy and the extended layer information with low redundancy, forms a nested hierarchical structure that can effectively balance the anti-interference capability and capacity of the target watermark encoding, thereby improving the adaptability of the encoding method in the watermark embedding process to different usage scenarios. Attached Figure Description

[0039] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0040] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a flowchart illustrating an embodiment of the watermark embedding method of this application.

[0042] Figure 2 This is a flowchart illustrating Embodiment 2 of the watermark embedding method of this application;

[0043] Figure 3 This is a flowchart illustrating Embodiment 3 of the watermark embedding method of this application;

[0044] Figure 4 This is a schematic diagram illustrating a scenario involving the watermark embedding location in an embodiment of this application.

[0045] Figure 5 This is a schematic diagram of the watermark embedding device in the embodiments of this application.

[0046] The object, functional characteristics and advantages of the present application will be further explained with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0047] It should be understood that the specific embodiments described herein are merely intended to explain the technical solutions of the present application, and are not intended to limit the present application.

[0048] In order to better understand the technical solutions of the present application, the specific embodiments will be described in detail below with reference to the accompanying drawings and specific embodiments.

[0049] The main solution of the embodiment of the present application is: obtaining watermark information to be added, and layering the watermark information to obtain core layer information and extension layer information; performing first encoding processing on the core layer information to obtain core layer encoding; performing second encoding processing on the extension layer information to obtain extension layer encoding, wherein the redundancy of the first encoding processing is higher than that of the second encoding processing; embedding the core layer encoding and the extension layer encoding to obtain target watermark encoding, and embedding the target watermark encoding into the data to be processed to obtain target watermark data.

[0050] Due to the watermark encoding link in the watermark embedding process, the existing watermark encoding technology usually adopts a single fixed encoding method, which is difficult to balance the capacity and robustness of the watermark information. Therefore, with the change of the watermark embedding scene, the fixed encoding method is difficult to adapt to the watermark embedding demand in different scenes, that is, the adaptability of the encoding method in the existing watermark embedding process to different use scenes is poor.

[0051] The present application provides a solution, which can first layer the watermark information to distinguish more important core layer information and less important extension layer information. Further, the present application can perform high-redundancy encoding on the core layer information to improve the anti-interference ability of the more important information, and can also perform low-redundancy encoding on the extension layer information to maximize the watermark capacity, thereby effectively balancing the anti-interference ability and capacity of the watermark information. Further, the present application can embed the core layer encoding and the extension layer encoding to obtain target watermark encoding, and embed the target watermark encoding into the data to be processed to obtain target watermark data. Thus, the adaptability of the encoding method in the watermark embedding process to different use scenes is improved.

[0052] Based on this, the embodiment of the present application provides a watermark embedding method, which refers to Figure 1 , Figure 1 The flowchart of the first embodiment of the watermark embedding method of the present application is shown in the figure.

[0053] In this embodiment, the watermark embedding method comprises steps S10-S40:

[0054] Step S10, obtaining the watermark information to be added, and layering the watermark information to obtain core layer information and extension layer information;

[0055] It should be noted that the watermark information can include preset static identification information, such as identification text "original", "enterprise name", and real-time acquired dynamic identification information, such as the identity information (for example, account number, employee number, etc.) of the viewer, the browsing time, the IP address, etc.

[0056] After obtaining the watermark information to be added, the embodiment can distinguish the watermark content in the watermark information to obtain core layer information and extension layer information. As an example, the watermark information can include core content and extension content, and the embodiment can take the core content in the watermark information as the core layer information and take the extension content in the watermark information as the extension layer information to realize the layering of the watermark information. It should be noted that the core layer information is information describing high-priority watermark content, and the extension layer information is information describing low-priority watermark content. As another example, the embodiment can mark the priority of each watermark content in the watermark information, and then the priority of each watermark content in the watermark information can be obtained. Then, the watermark content with a priority higher than a predetermined priority threshold can be taken as the core layer information, and the watermark content with a priority not higher than the predetermined priority threshold can be taken as the extension layer information.

[0057] In an embodiment, the step of layering the watermark information in step S10 to obtain core layer information and extension layer information can include steps S11-S13:

[0058] Step S11, obtaining the priority of each watermark content in the watermark information;

[0059] Step S12, taking the watermark content with a priority higher than a predetermined priority threshold as the core layer information;

[0060] Step S13, taking the watermark content with a priority not higher than the predetermined priority threshold as the extension layer information.

[0061] It should be noted that the priority is a level quantifying the importance of the watermark content. For example, the priority of watermark content with high importance, such as copyright identification and key check code, is higher than that of watermark content with low importance, such as traceability data and timestamp. The predetermined priority threshold is a priority preset to distinguish the core layer information and the extension layer information.

[0062] The embodiment can preset a mapping relationship between various watermark contents and priorities, so that the embodiment can query the priorities of the various watermark contents in the watermark information based on the various watermark contents in the watermark information and the mapping relationship, and then compare the priorities of the various watermark contents with the predetermined priority threshold. The embodiment can take the watermark contents with a priority higher than the predetermined priority threshold as core layer information, and take the watermark contents with a priority not higher than the predetermined priority threshold as extension layer information. The embodiment can perform layering on the watermark information based on the priorities, and distinguish the more important core layer information and the less important extension layer information.

[0063] Step S20, performing first encoding processing on the core layer information to obtain core layer encoding;

[0064] It should be noted that the first encoding processing is encoding processing performed based on a first encoding algorithm with a redundancy greater than a predetermined redundancy threshold, such as LDPC (Low-Density Parity-Check Code) + CRC (Cyclic Redundancy Check), polar code, etc. The encoding algorithm is an algorithm for converting watermark information into a binary stream, and the encoding algorithm includes but is not limited to commonly used encoding algorithms including but not limited to binary plaintext encoding, error correction encoding, encryption / disturbance encoding, check encoding, spread spectrum encoding, synchronization code, graphical encoding, compression encoding, etc.

[0065] The embodiment can select a first encoding algorithm with a redundancy greater than a predetermined redundancy threshold to perform encoding processing on the core layer information to obtain core layer encoding. Further, the embodiment can also perform encryption processing before performing encoding processing on the core layer information, where the encryption processing can be implemented by encryption algorithms such as AES (Advanced Encryption Standard), RSA (Rivest-Shamir-Adleman), chaotic encryption, etc.

[0066] Step S30, performing second encoding processing on the extension layer information to obtain extension layer encoding, where the redundancy of the first encoding processing is higher than that of the second encoding processing;

[0067] It should be noted that the redundancy of the encoding algorithm used in the second encoding processing is lower than the redundancy of the encoding algorithm used in the first encoding processing, such as arithmetic compression + hash, binary plaintext encoding, etc.

[0068] Since the coding algorithm with lower redundancy can reduce the redundancy of the binary stream obtained after coding processing, thereby reducing the occupation of capacity, to improve the utilization of capacity under the same capacity. Therefore, the second coding algorithm with lower redundancy than the first coding algorithm can be selected in the embodiment, and the extension layer information is coded to obtain the extension layer coding. Thus, the second coding processing mode with lower redundancy can be used in the embodiment to make the extension layer coding obtained after coding of the extension layer information with lower importance occupy less capacity.

[0069] In step S40, the core layer coding and the extension layer coding are spliced to obtain target watermark coding, and the target watermark coding is embedded into the data to be processed to obtain target watermark data.

[0070] Since the core layer coding and the extension layer coding obtained after coding are binary streams, the core layer coding and the extension layer coding can be spliced directly to realize splicing, obtain target watermark coding, and embed the target watermark coding into the data to be processed to obtain target watermark data. In the process of embedding the data to be processed, the core layer coding in the target watermark coding can be embedded into the high-resistance region of the data to be processed, and the extension layer coding in the target watermark coding can be embedded into the low-resistance region of the data to be processed. The high-resistance region is a data region in the data to be processed, which has a robustness higher than a predetermined robustness threshold to conventional compression / processing attacks (such as JPEG quantization, scaling, and blurring), and the low-resistance region is a data region in the data to be processed, which has a robustness lower than the high-resistance region to conventional compression / processing attacks. Taking the image data as an example, the core layer coding can be embedded into the low-frequency DCT (Discrete Cosine Transform) coefficients of the image data (which have stronger resistance to JPEG compression interference), and the extension layer coding can be embedded into the high-frequency DCT coefficients of the prime image data (which have high capacity, but are sensitive to noise and have weak resistance). Furthermore, in order to prevent data misplacement, the embodiment can also embed a hidden marker at the boundary between the core layer coding and the extension layer coding in the target watermark coding. The hidden marker is a special character that does not occupy visible space, such as zero-width character, word connector, invisible multiplication sign, etc. Thus, the core layer coding and the extension layer coding are separated by the hidden marker in the embodiment, to prevent data misplacement between the core layer information and the extension layer information.

[0071] The first embodiment of the present application provides a watermark embedding method. The watermark information to be added is obtained, and the watermark information is layered to obtain core layer information and extension layer information. Thus, the core layer information which is more important and the extension layer information which is less important are distinguished. Then, the core layer information is subjected to first encoding processing to obtain core layer encoding, and the extension layer information is subjected to second encoding processing to obtain extension layer encoding. The redundancy of the first encoding processing is higher than that of the second encoding processing. Thus, the core layer information is subjected to high-redundancy encoding, the anti-interference capability of the important information is improved, the extension layer information is subjected to low-redundancy encoding, and the watermark capacity is maximized. Thus, the anti-interference capability and the capacity of the watermark information are effectively balanced. Then, the core layer encoding and the extension layer encoding are embedded to obtain target watermark encoding, and the target watermark encoding is embedded into the data to be processed to obtain target watermark data. Thus, the nested layered structure formed by the high-redundancy encoding of the core layer information and the low-redundancy encoding of the extension layer information can effectively balance the anti-interference capability and the capacity of the target watermark encoding, thereby improving the adaptability of the encoding mode in the watermark embedding process to different use scenarios.

[0072] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as the above-mentioned first embodiment can be referred to the above description, and will not be described hereinafter. On this basis, please refer to Figure 2 , step S20 includes steps S21-S25:

[0073] In step S21, the interference degree of the use environment of the target watermark data is obtained, and a candidate encoding algorithm corresponding to the carrier content type of the data to be processed is determined.

[0074] In step S22, the target redundancy corresponding to the interference degree of the use environment is determined according to the interference degree of the use environment. The target redundancy is positively correlated with the interference degree of the use environment.

[0075] In step S23, the first encoding algorithm is selected from the candidate encoding algorithm according to the target redundancy.

[0076] In step S24, the check information of the extension layer information is calculated, and the check information of the extension layer information is spliced with the core layer information to obtain new core layer information.

[0077] In step S25, the new core layer information is subjected to encoding processing by the first encoding algorithm to obtain core layer encoding.

[0078] It should be noted that the carrier content type can include documents, images, audio, video, web pages, databases, etc., and the usage environment interference degree is the interference degree of the network environment where the target watermark data is used, which can be determined by network factors such as network category (such as internal network, external network), channel interference intensity, etc. For example, when the network environment where the target watermark data is used is an internal network, it is determined that the usage environment interference degree is low interference; when the network environment where the target watermark data is used is an external network, it is determined that the usage environment interference degree is high interference.

[0079] It should also be noted that different carrier content types have corresponding encoding algorithms, and these encoding algorithms can be used as candidate encoding algorithms corresponding to the carrier content type of the to-be-processed data. For example, candidate encoding algorithms can include binary plaintext encoding and decoding, compression encoding, disturbance / encryption encoding and decoding, error correction encoding, synchronization code, graphical encoding, spread spectrum encoding, and check encoding, etc.

[0080] In this embodiment, the network environment information of the target watermark data can be obtained, such as network category (such as internal network, external network), channel interference intensity and other network environment factors. Then, the usage environment interference degree of the target watermark data is calculated according to the network environment information. Then, the candidate encoding algorithm corresponding to the carrier content type of the to-be-processed data is matched from the predetermined encoding algorithm. Then, the target redundancy can be determined according to the usage environment interference degree, wherein the target redundancy is positively correlated with the usage environment interference degree, that is, the higher the usage environment interference degree, the higher the risk of attack, and then a higher redundancy can be selected as the target redundancy to select a candidate encoding algorithm with higher redundancy as the first encoding algorithm, so as to improve the robustness of the core layer encoding after encoding processing. Then, a candidate encoding algorithm with redundancy not lower than the target redundancy can be selected as the first encoding algorithm according to the target redundancy. Then, the check information (such as CRC, hash digest, etc.) of the extension layer information can be calculated, and the check information of the extension layer information is spliced with the core layer information to obtain new core layer information. Then, the new core layer information can be encoded by the first encoding algorithm to obtain the core layer encoding. Thus, the check code in the core layer encoding also contains the check information of the extension layer information. For example, the check information of the extension layer information can be spliced with the core layer information to form new core layer information. Then, the check code is calculated based on the new core layer information, and the new core layer information is spliced with the check code to obtain the check data. Then, the check data is encoded and converted into a binary stream to obtain the core layer encoding. Thus, in the watermark extraction process, the extracted extension layer information can be compared with the check information of the extension layer information obtained by decoding the check code, so as to determine whether the extension layer information is tampered. The check code in the core layer encoding is used to protect the extension layer information, forming an anti-tampering barrier, and improving the anti-tampering ability of the extension layer encoding which is easy to be attacked.

[0081] In some embodiments, before the step of splicing the check information of the extension layer information with the core layer information to obtain new core layer information in step S24, steps A10-A30 can be included.

[0082] Step A10, obtaining the carrier content features of the to-be-processed data, and generating a dynamic key according to the carrier content features;

[0083] Step A20, encrypting the core layer information based on the dynamic key to obtain encrypted core layer information;

[0084] Step A30, based on the encrypted core layer information, performing the step of splicing the check information of the extension layer information and the core layer information to obtain new core layer information.

[0085] It should be noted that the carrier content feature is the feature information obtained by feature extraction on the carrier content of the to-be-processed data, such as DCT coefficients, text stroke numbers, etc.

[0086] This embodiment can obtain the carrier content feature of the to-be-processed data. For example, the to-be-processed data is image data. The image data can be converted into a gray image, the gray image is divided into image blocks of a fixed size (usually 8x8 pixels), and then discrete cosine transform is performed on each image block to obtain a frequency domain coefficient matrix. The DCT coefficients in the frequency domain coefficient matrix are selected as the carrier content feature. For document data, the number of strokes of each character in the text data is queried based on a glyph database to form a stroke number sequence as the carrier content feature, where the glyph database includes a predefined character-stroke number mapping table. Then, this embodiment can generate a dynamic key based on the carrier content feature by means of a cryptographic hash function or a key derivation function. Then, the core layer information can be encrypted by a cryptographic algorithm (such as AES, RSA, chaotic encryption, etc.) based on the dynamic key to obtain encrypted core layer information. Thus, this embodiment performs the step of splicing the check information of the extension layer information and the core layer information to obtain new core layer information based on the encrypted core layer information. This embodiment generates a dynamic key based on the carrier content feature of the to-be-processed data, which is used as a key to encrypt the core layer information. Thus, by means of the real-time dynamic key, the anti-cracking ability of the core layer information can be further enhanced.

[0087] In some embodiments, step S30 can include steps S31-S32:

[0088] Step S31, selecting a second encoding algorithm from the candidate encoding algorithms, wherein the redundancy of the second encoding algorithm is less than the redundancy of the first encoding algorithm;

[0089] Step S32, performing second encoding processing on the extension layer information by the second encoding algorithm to obtain extension layer encoding.

[0090] Since the coding algorithm with lower redundancy can reduce the redundancy of the binary stream obtained after coding processing, thereby reducing the occupation of capacity, to improve the utilization of capacity under the same capacity. Therefore, the second coding algorithm with lower redundancy than the first coding algorithm can be selected in the embodiment, and the second coding algorithm with lower redundancy is used to perform low-redundancy coding processing on the extension layer information to obtain the extension layer coding. Thus, the second coding processing mode with lower redundancy can make the extension layer coding obtained by coding the extension layer information with lower importance occupy less capacity.

[0091] Based on the first embodiment of the present application, the same or similar contents as the above embodiment one can be referred to the above introduction, and will not be described in detail. On this basis, please refer to Figure 3 , after the core layer coding and the extension layer coding are embedded in step S40 to obtain the target watermark coding, the step can include steps S41-S42:

[0092] Step S41, after the core layer coding and the extension layer coding are spliced to obtain the initial coding;

[0093] Step S42, a first invisible marker is inserted at the boundary of the core layer coding and the extension layer coding in the initial coding to obtain the target watermark coding.

[0094] It should be noted that the first invisible marker is a kind of invisible marker, and the invisible marker is a special character that does not occupy visible space, such as zero-width character, word connector, invisible multiplication character, etc.

[0095] As Figure 4 shown, after the core layer coding and the extension layer coding are spliced to obtain the initial coding, the first invisible marker is inserted at the boundary of the core layer coding and the extension layer coding in the initial coding to obtain the target watermark coding. It can be understood that Figure 4 only for illustration, the actual first invisible marker does not occupy visible space. Thus, the core layer coding and the extension layer coding are separated by the invisible marker in the embodiment, which prevents data misplacement between the core layer information and the extension layer information. In addition, if there is an attack tampering behavior on the target watermark coding, which causes the first invisible marker to be misplaced, it will cause the core layer coding and the extension layer coding to be unable to be correctly divided, and further cause the verification to fail, thereby realizing the identification of the attack tampering behavior.

[0096] In some embodiments, steps B10-B20 can be included before step S41:

[0097] Step B10, inserting second invisible markers at uniform intervals in the core layer encoding to obtain new core layer encoding.

[0098] Step B20, based on the new core layer encoding, performing the step of splicing the core layer encoding and the extension layer encoding to obtain initial encoding.

[0099] It should be noted that the second invisible marker is another invisible marker different from the first invisible marker, to avoid confusion with the first invisible marker at the junction. For example, the first invisible marker can be U+200D (zero-width connector in zero-width character), and the second invisible marker can be U+200C (zero-width non-connector in zero-width character).

[0100] The embodiment can insert second invisible markers at uniform intervals in the core layer encoding to obtain new core layer encoding, that is, inserting second invisible markers in the core layer encoding according to a uniform interval number, and the interval number used by the uniform interval can be pre-set according to specific requirements, such as 32 bits, 64 bits, etc. Taking the core layer encoding as a 512-bit polar code as an example, second invisible markers can be inserted every 64 bits, and the second invisible markers are used to resist layer data misplacement caused by channel interference. In the watermark extraction process, the positions of invisible markers (such as U+200C and U+200D) can be obtained first. If the interval between second invisible markers deviates from the pre-set interval number (such as 64 bits), or the position of the second invisible marker does not appear at the expected position under the interval number, it is determined that there is layer data misplacement in the core layer encoding.

[0101] The present application provides a watermark embedding device, which comprises at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the watermark embedding method in the above embodiment one.

[0102] Reference will now be made to the following description Figure 5 which shows a structural schematic diagram of a watermark embedding device suitable for being used to implement the embodiments of the present application. The watermark embedding device in the embodiments of the present application can include, but is not limited to, terminals such as mobile phones, notebook computers, PDAs (Personal Digital Assistant: personal digital assistants), PADs (Portable Application Description: tablet computers), desktop computers, etc. Figure 5 The illustrated watermark embedding device is only an example, and should not bring any limitation to the functions and use range of the embodiments of the present application.

[0103] like Figure 5 As shown, the watermark embedding device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1002 or a program loaded from storage device 1003 into random access memory (RAM) 1004. The random access memory 1004 also stores various programs and data required for the operation of the watermark embedding device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An I / O (input / output) interface 1006 is also connected to the bus. Typically, the following systems can be connected to I / O interface 1006: input devices 1007 including, for example, touchscreens, touchpads, keyboards, mice, image sensors, microphones, accelerometers, gyroscopes, etc.; output devices 1008 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 1003 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1009. Communication device 1009 allows the watermark embedding device to communicate wirelessly or wiredly with other devices to exchange data. Although watermark embedding devices with various systems are shown in the figures, it should be understood that it is not required to implement or possess all the systems shown. More or fewer systems can be implemented alternatively.

[0104] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0105] The watermark embedding device provided in this application, employing the watermark embedding method described in the above embodiments, can solve the technical problem of poor adaptability of the encoding method in the existing watermark embedding process to different application scenarios. Compared with the prior art, the beneficial effects of the watermark embedding device provided in this application are the same as those of the watermark embedding method provided in the above embodiments, and other technical features in this watermark embedding device are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0106] It should be understood that various aspects of the disclosure can be implemented in hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any appropriate manner in any one or more embodiments or examples.

[0107] The above description is merely illustrative of the application and is not intended to limit the scope of the application. Any modifications or equivalents of the application should be construed as falling within the scope of the application. The scope of the application should be determined by the appended claims.

[0108] The application provides a computer readable storage medium having stored thereon computer readable program instructions (i.e. computer programs) for performing the watermark embedding method in the above embodiments.

[0109] The computer readable storage medium provided by the application may, for example, be a U disk, but is not limited to an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system or device, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electric connection having one or more conductive wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), an optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any appropriate combination thereof. In the present embodiment, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer readable storage medium can be transmitted by any appropriate medium, including but not limited to an electric wire, an optical cable, an RF (Radio Frequency), etc., or any appropriate combination thereof.

[0110] The above computer readable storage medium can be contained in a watermark embedding device, or can exist separately and not be assembled into a watermark embedding device.

[0111] The computer readable storage medium carries one or more programs, when the one or more programs are executed by the watermark embedding device, the watermark embedding device is caused to: acquire watermark information to be added, and layer the watermark information to obtain core layer information and extension layer information; perform first encoding processing on the core layer information to obtain core layer encoding; perform second encoding processing on the extension layer information to obtain extension layer encoding, wherein redundancy of the first encoding processing is higher than that of the second encoding processing; after the core layer encoding and the extension layer encoding are embedded, target watermark encoding is obtained, and the target watermark encoding is embedded into to-be-processed data to obtain target watermark data.

[0112] Computer program code for carrying out operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0113] The flow diagrams and the block diagrams in the drawings are illustrations of architectures, functionalities, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of present application. In this regard, each block in the flow diagrams or block diagrams can represent a module, a procedure, or a part of code, which comprises one or more executable instructions for implementing the specified functions. It should also be noted that, in some alternative implementations, the functions noted in the blocks can occur in a different order than that noted in the figures. For example, two blocks noted in succession can in fact be executed substantially concurrently or in the opposite order, depending on the functionality involved. It should also be noted that each block in the block diagrams and / or flow diagrams, and combinations of blocks in the block diagrams and / or flow diagrams, can be implemented by dedicated hardware-based systems that perform the specified functions or operations, or can be implemented by a combination of dedicated hardware-based systems and computer instructions.

[0114] The modules described in the embodiments of the present application can be implemented in the form of software or in the form of hardware. In some cases, the names of the modules do not constitute a limitation on the modules themselves.

[0115] The readable storage medium provided by the present application is a computer readable storage medium, which stores computer readable program instructions (i.e., a computer program) for executing the watermark embedding method described above, and can solve the technical problem that the encoding mode in the existing watermark embedding process is less adaptable to different use scenarios. Compared with the prior art, the computer readable storage medium provided by the present application has the same beneficial effects as the watermark embedding method provided by the above embodiments, and will not be described here.

[0116] The present application also provides a computer program product comprising a computer program, which, when executed by a processor, implements the steps of the watermark embedding method as described above.

[0117] The computer program product provided by the present application can solve the technical problem that the encoding mode in the existing watermark embedding process is less adaptable to different use scenarios. Compared with the prior art, the computer program product provided by the present application has the same beneficial effects as the watermark embedding method provided by the above embodiments, and will not be described here.

[0118] The above only describes some embodiments of the present application, and does not limit the patent scope of the present application. Any equivalent structural transformation, direct / indirect application in other related technical fields based on the technical concept of the present application, and the contents of the present application specification and drawings are included in the patent protection scope of the present application.

Claims

1. A watermark embedding method, characterized in that, The watermark embedding method includes: Obtain the watermark information to be added, and divide the watermark information into layers to obtain core layer information and extended layer information; The core layer information is subjected to a first encoding process to obtain the core layer encoding; The extended layer information is subjected to a second encoding process to obtain the extended layer encoding, wherein the redundancy of the first encoding process is higher than that of the second encoding process; After the core layer encoding and the extended layer encoding are combined, the target watermark encoding is obtained, and the target watermark encoding is embedded into the data to be processed to obtain the target watermark data. The step of performing a first encoding process on the core layer information to obtain the core layer encoding includes: The degree of environmental interference of the target watermark data is obtained, and candidate encoding algorithms corresponding to the carrier content type of the data to be processed are determined. The target redundancy is determined based on the degree of interference in the usage environment, wherein the target redundancy is positively correlated with the degree of interference in the usage environment. The first coding algorithm is selected from the candidate coding algorithms according to the target redundancy. The verification information of the extended layer information is calculated, and the verification information of the extended layer information is concatenated with the core layer information to obtain new core layer information; The new core layer information is encoded using the first encoding algorithm to obtain the core layer encoding.

2. The watermark embedding method as described in claim 1, characterized in that, Before the step of concatenating the verification information of the extended layer information with the core layer information to obtain new core layer information, the following steps are included: Obtain the carrier content characteristics of the data to be processed, and generate a dynamic key based on the carrier content characteristics; The core layer information is encrypted based on the dynamic key to obtain the encrypted core layer information. Based on the encrypted core layer information, the following steps are performed: the verification information of the extended layer information is concatenated with the core layer information to obtain new core layer information.

3. The watermark embedding method as described in claim 1, characterized in that, The step of performing a second encoding process on the extended layer information to obtain the extended layer encoding includes: A second coding algorithm is selected from the candidate coding algorithms, wherein the redundancy of the second coding algorithm is less than that of the first coding algorithm; The extended layer information is processed by the second encoding algorithm to obtain the extended layer code.

4. The watermark embedding method as described in claim 1, characterized in that, The step of embedding the core layer encoding and the extended layer encoding to obtain the target watermark encoding includes: The initial encoding is obtained by concatenating the core layer encoding with the extended layer encoding. A first stealth marker is inserted at the boundary between the core layer encoding and the extended layer encoding in the initial encoding to obtain the target watermark encoding.

5. The watermark embedding method as described in claim 4, characterized in that, Before the step of concatenating the core layer encoding and the extended layer encoding to obtain the initial encoding, the following steps are included: A second stealth marker is inserted at uniform intervals into the core layer encoding to obtain a new core layer encoding; Based on the new core layer encoding, the following steps are performed: the core layer encoding is concatenated with the extended layer encoding to obtain the initial encoding.

6. The watermark embedding method according to any one of claims 1 to 5, characterized in that, The step of layering the watermark information to obtain core layer information and extended layer information includes: Obtain the priority of each watermark content in the watermark information; Watermarked content with a priority higher than a predetermined priority threshold is used as core layer information; The watermark content with a priority no higher than a predetermined priority threshold is used as the extended layer information.

7. A watermark embedding device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the watermark embedding method as described in any one of claims 1 to 6.

8. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the watermark embedding method as described in any one of claims 1 to 6.

9. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the steps of the watermark embedding method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Watermark coding method, watermark decoding method and related equipment

    CN115018687A