Watermark processing method and device

By extracting watermark information by utilizing the size relationship between pixel statistical values ​​in different areas of the image, the problem of watermark detection failure caused by changes in image pixel values ​​is solved, achieving higher robustness and copyright protection.

CN120689187APending Publication Date: 2025-09-23SHENZHEN HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510585180.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-07
Publication Date
2025-09-23

AI Technical Summary

Technical Problem

In the prior art, changes in the pixel values ​​of an image cause computing devices to be unable to detect watermark information from the image, affecting the determination of the image's source and copyright.

Method used

The pixel statistics of different areas in the target image are obtained through a computing device, and watermark information is extracted according to the size relationship between these values. The size relationship between the pixel statistics of different areas is used to indicate the watermark information.

Benefits of technology

When the pixel values ​​of image pixels change, the watermark information can still be accurately extracted, which improves the robustness and copyright protection capability of the watermark information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120689187A_ABST
    Figure CN120689187A_ABST
Patent Text Reader

Abstract

The invention discloses a watermark processing method and device, and relates to the technical field of image processing. The computing device embeds the watermark information into the carrier image, and indicates the watermark information through a magnitude relationship between pixel statistics of different regions in the target image. And the computing device extracts the watermark information according to the size relationship between the pixel statistical values of different areas in the target image. Thus, the computing device adopts the size relation between the pixel statistical values of the different areas to indicate the watermark information, under the condition that the pixel values of the pixel points of the target image change, the computing device can still extract the watermark information according to the size relation between the pixel statistical values of the different areas of the image, the robustness of the embedded watermark information is improved, and the watermarking accuracy is improved. And a guarantee is provided for the computing device to extract the watermark information from the image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image processing technology, and in particular to a watermark processing method and device. Background Art

[0002] The computing device can embed watermark information in an image to obtain an image embedded with the watermark information. The computing device can also detect the image embedded with the watermark information, obtain the watermark information, and use the watermark information to identify the image source and determine the image copyright. Typically, the computing device divides the image into multiple matrix units, adjusts the pixel mean of each matrix unit in the multiple matrix units to a fixed value that matches the watermark information, and obtains the image embedded with the watermark information based on the multiple matrix units after the pixel mean adjustment. The computing device can also divide the image embedded with the watermark information into multiple matrix units and obtain the watermark information based on the fixed value corresponding to each matrix unit in the multiple matrix units.

[0003] In the above process, the computing device embeds the watermark information by adjusting the pixel mean of the matrix unit in the image to a fixed value, which may cause the computing device to be unable to detect the watermark information from the image, thereby affecting the determination of the image source and image copyright. Summary of the Invention

[0004] The present application provides a watermark processing method and apparatus for solving the problem that watermark information cannot be detected from an image due to changes in the pixel values ​​of the image during image transmission.

[0005] In the first aspect, the present application provides a watermark extraction method. The method can be executed by a device with data processing capabilities, which can be a computing device, a computing device cluster including multiple computing devices, a component of a computing device, such as a processor, chip or chip system of a computing device, a logical module or software that can realize all or part of the functions of the computing device, or a virtual device without a physical entity, such as a virtual machine, a container, etc. Taking the execution of a computing device as an example, the watermark extraction method provided in the first aspect includes: the computing device obtains a target image. The computing device obtains pixel statistics of different areas in the target image. The pixel statistics are used to reflect: the color and / or brightness of the area. And the computing device extracts watermark information based on the size relationship between the pixel statistics of different areas in the target image. The watermark information is used to indicate: the source of the target image.

[0006] In the first aspect of the present application, a computing device extracts watermark information based on the magnitude relationship between pixel statistics in different regions of a target image. The process of extracting watermark information by the computing device is not affected by the pixel values ​​of the pixels in the image. Therefore, even if the pixel values ​​of the pixels in the target image change, the computing device can still extract the watermark information based on the magnitude relationship between the pixel statistics in different regions of the image, thereby improving the robustness of the embedded watermark information and providing a guarantee for the computing device to extract watermark information from the image.

[0007] In one possible implementation, the target image includes: M tiles, where M is a positive integer. Some or all of the M tiles carry watermark information. Each of the N tiles includes at least one sub-tile, and each of the sub-tiles in some or all of the sub-tiles included in at least one sub-tile includes multiple areas, and different areas are areas in one tile. Among them, the M tiles include N tiles. The computing device carries watermark information on some or all of the M tiles. In this way, when only part of the target image is obtained, the computing device can still extract watermark information from the part of the target image, which provides a guarantee for the computing device to extract watermark information from the image.

[0008] In another possible implementation, the N image blocks include the first image block. The computing device extracts watermark information based on a magnitude relationship between pixel statistics in different regions of the target image, including: the computing device extracts N watermark information based on a magnitude relationship between pixel statistics in different regions of each of the N image blocks. Each image block corresponds to one watermark information.

[0009] In another possible implementation, the watermark information is represented by a bit string. The N blocks include: a first block, and the first block includes: at least one sub-block. A sub-block includes: multiple areas. The size relationship between the pixel statistics of different areas in a sub-block is used to indicate: a bit in the bit string. The computing device uses the size relationship between the pixel statistics of different areas in a sub-block to carry a bit of the bit string used to represent the watermark information. In this way, when the pixel values ​​of the pixels in different areas of the sub-block change, the computing device can still extract the bits carried in the sub-block according to the size relationship between the pixel statistics of different areas of the sub-block, which provides a guarantee for the computing device to extract the watermark information from the image. And when the pixel statistics between different areas of other sub-blocks change, the computing device can still accurately extract the bits corresponding to the sub-block, which provides a guarantee for the computing device to extract the watermark information from the image.

[0010] In another possible implementation, the first image block includes: a first sub-image block, and the first sub-image block includes: a first area and a second area. The computing device extracts N watermark information based on the size relationship between the pixel statistics of different areas of each of the N images, including: if the pixel statistics of the first area are greater than or equal to the pixel statistics of the second area, the computing device determines that the first bit corresponding to the first sub-image block is the first value. If the pixel statistics of the first area are less than the pixel statistics of the second area, the computing device determines that the first bit corresponding to the first sub-image block is the second value. The computing device determines the bit corresponding to the sub-image block based on the size relationship between the pixel statistics of different areas of the sub-image block. In this way, when the pixel values ​​of pixel points in different areas change, the computing device can still extract the bits corresponding to the sub-image block, which provides a guarantee for the computing device to extract watermark information from the image.

[0011] In another possible implementation, the N tiles include: a first tile. After the computing device obtains the carrier image, the method further includes: the computing device obtains the positioning information embedded in each tile of the N tiles. The positioning information embedded in each tile is used to reflect: the position of the watermark information in the corresponding tile. And the computing device obtains the size relationship between the pixel statistics of different areas included in the first tile based on the size relationship between the pixel statistics of different areas of each tile in the N tiles, including: the computing device obtains the size relationship between the pixel statistics of different areas included in the first tile from the position reflected by the positioning information embedded in the first tile. In this way, the computing device determines the position to embed the watermark information based on the positioning information. The time for determining the location of the watermark information is shortened, and the efficiency of extracting the watermark information is improved.

[0012] In another possible implementation, different regions of the first image block form a designated pattern. The positioning information is represented by the positioning pattern, which is different from the designated pattern. Thus, using the positioning pattern to represent the positioning information allows for intuitive determination of the location of the embedded watermark information, shortening the time required to locate the watermark and improving the efficiency of watermark extraction.

[0013] In another possible implementation, the positioning pattern has a centrally symmetrical shape, so that even when the image rotates, the computing device can still quickly and accurately determine the positioning information, thereby ensuring accurate and rapid determination of the position of the watermark information.

[0014] In another possible implementation, the positioning pattern includes a “mouth”-shaped pattern and a “return”-shaped pattern.

[0015] In another possible implementation, the locator pattern is located at the outline of the first image block. In this way, the computing device can determine the outline of the location of the watermark information based on the locator pattern, thereby quickly extracting the watermark information.

[0016] In another possible implementation, the pixel statistics include a pixel mean or a sum of pixel values. The difference in the number of pixels in different regions is smaller than the difference in quantity. The computing device extracts watermark information based on the magnitude relationship between the pixel statistics of the regions. This allows the computing device to extract watermark information even if the pixel values ​​of some pixels in the region change.

[0017] In a second aspect, the present application provides a watermark embedding method. The method can be executed by a device with data processing capabilities, which can be a computing device, a computing device cluster including multiple computing devices, a component of a computing device, such as a processor, chip or chip system of a computing device, a logical module or software that can realize all or part of the functions of a computing device, or a virtual device without a physical entity, such as a virtual machine, a container, etc. Taking the execution of a computing device as an example, the watermark embedding method provided in the second aspect includes: the computing device obtains a carrier image. The computing device obtains watermark information. The watermark information is used to indicate: the source of the carrier image. And the computing device embeds the watermark information into the carrier image to obtain a target image. The watermark information is indicated by the size relationship between the pixel statistics of different regions in the target image, and the pixel statistics are used to reflect: the color and / or brightness of the region.

[0018] In the second aspect of the present application, a computing device embeds watermark information into a carrier image and indicates the watermark information by the magnitude relationship between pixel statistics in different regions of the target image. Thus, even if the pixel values ​​of pixels in the target image change, the computing device can still extract the watermark information based on the magnitude relationship between the pixel statistics in different regions of the image, thereby improving the robustness of the watermark embedding and providing a guarantee for determining the source of the carrier image and protecting the copyright of the carrier image.

[0019] In one possible implementation, the target image includes: M tiles, where M is a positive integer. Some or all of the M tiles carry watermark information. Each of the N tiles includes at least one sub-tile. Each sub-tile in some or all of the sub-tiles included in at least one sub-tile includes multiple regions. Different regions are regions in a tile. Among them, the M tiles include N tiles. The computing device carries watermark information on some or all of the M tiles. In this way, when only part of the target image is obtained, the computing device can still extract watermark information from the part of the target image, which provides a guarantee for determining the source of the carrier image and protecting the copyright of the carrier image.

[0020] In another possible implementation, the N image blocks include a first image block, and the first image block includes at least one sub-image block. The at least one sub-image block includes a first sub-image block. The first sub-image block includes a first region and a second region. The different regions include a first region and a second region. The computing device uses the size relationship between pixel statistics of different regions of a sub-image block to indicate watermark information. In this way, even if the pixel values ​​of some pixels in the region change, the computing device can still extract the watermark information based on the size relationship between the pixel statistics of different regions, thereby providing a guarantee for determining the source of the carrier image and protecting the copyright of the carrier image.

[0021] In another possible implementation, the watermark information is represented by a bit string. The size relationship between the pixel statistics between different areas in a sub-block is used to indicate: a bit in the bit string. In this way, when the pixel values ​​of the pixels in different areas of the sub-block change, the computing device can still extract the bits carried in the sub-block based on the size relationship between the pixel statistics of different areas of the sub-block, which provides a guarantee for the computing device to extract the watermark information from the image. And when the pixel statistics between different areas of other sub-blocks change, the computing device can still accurately extract the bits corresponding to the sub-block, which provides a guarantee for the computing device to extract the watermark information from the image.

[0022] In another possible implementation, the bit string includes: a first bit. Watermark information is indicated by the magnitude relationship between pixel statistics in different regions of the target image, including: if the first bit is a first value, the pixel statistics of the first region are greater than or equal to the pixel statistics of the second region. If the first bit is a second value, the pixel statistics of the first region are less than the pixel statistics of the second region. In this manner, the computing device adjusts the magnitude relationship between the pixel statistics of different regions based on the bit value. This method of embedding watermark information into sub-blocks is simple, has low complexity, and improves watermark embedding efficiency.

[0023] In another possible implementation, a computing device embeds watermark information into a carrier image to obtain a target image, including: adjusting the pixel values ​​of pixels in a third region and / or the pixel values ​​of pixels in a fourth region of the carrier image based on the value of the first bit to obtain the target image. The third region corresponds to the first region, and the fourth region corresponds to the second region. In this manner, the computing device adjusts the pixel values ​​of the pixels in the regions to change the magnitude relationship between pixel statistics in different regions. This method for adjusting the magnitude relationship between pixel statistics in different regions is simple and low in complexity, thereby improving the efficiency of watermark embedding.

[0024] In another possible implementation, the computing device adjusts the pixel values of the pixel points in the third region and / or the pixel values of the pixel points in the fourth region of the carrier image, including: the computing device adjusts the pixel values of the specified pixel points in the third region and / or the pixel values of the specified pixel points in the fourth region. Wherein, the specified pixel points are pixel points whose contrast satisfies the contrast condition and / or the texture complexity satisfies the complexity condition. Thus, the computing device only adjusts the pixel values of the specified pixel points in the region, rather than adjusting the pixel values of all pixel points in the region, improving the transparency of the watermark information in the target image and improving the visual perception of the target image.

[0025] In another possible implementation, different regions of a sub-block form: a specified pattern. Thus, the computing device can combine the pixel values of the pixel points at different positions of the carrier image to determine the pixel statistical value of the region, providing guarantee for the transparency of the watermark information in the target image.

[0026] In another possible implementation, the specified pattern has an axisymmetric and / or central symmetric shape. For example, the specified pattern may include but is not limited to: a "square" pattern, a "double-square" pattern. Thus, in the case of image folding or rotation, the computing device can still quickly and accurately determine the different regions of the sub-block, and further provides guarantee for accurately determining the pixel statistical values of the different regions.

[0027] In another possible implementation, before the computing device obtains the target image, the method further includes: the computing device embeds positioning information into the carrier image or the carrier image embedded with watermark information. The positioning information is used to indicate: the position of the watermark information in the target image. Thus, embedding the positioning information into the carrier image so that the computing device can determine the position where the watermark information is embedded according to the positioning information. It shortens the time for determining the position where the watermark information is located and improves the efficiency of extracting the watermark information.

[0028] In another possible implementation, the positioning pattern has a central symmetric shape. For example, the positioning pattern may include but is not limited to: a "square" pattern, a "double-square" pattern. Thus, in the case of image folding or rotation, the computing device can still quickly and accurately determine the position where the watermark information is located, providing guarantee for quickly and accurately extracting the watermark information.

[0029] In another possible implementation, different regions of a sub-block form a specified pattern, the positioning information is characterized by a positioning pattern, and the positioning pattern and the specified pattern are different. Thus, using different patterns to represent different meanings, the computing device can determine the corresponding meaning according to the image. It provides guarantee for quickly extracting the watermark information.

[0030] In another possible implementation, a target image includes M tiles. The M tiles include a first tile. A locator pattern is located at the tile outline of the first tile, where M is a positive integer. This allows a computing device to determine the outline of the location of the watermark information based on the locator pattern, thereby rapidly extracting the watermark information.

[0031] In another possible implementation, the pixel statistics include: a pixel mean, or a sum of pixel values. The difference in the number of pixels in different regions is smaller than the difference in quantity. In this way, the computing device extracts watermark information based on the magnitude relationship of the pixel statistics in the regions. This allows the computing device to extract watermark information even if the pixel values ​​of some pixels in the region change.

[0032] In a third aspect, the present application provides a watermark processing device. The device includes an acquisition module and a processing module. The watermark processing device can be used to execute the method described in the first aspect or the second aspect.

[0033] When a watermark processing device is used to perform the watermark extraction method provided in the first aspect, the various modules of the watermark processing device can perform the following functions. Specifically, the acquisition module is used to obtain a target image. The acquisition module is also used to obtain pixel statistics for different regions in the target image. The pixel statistics are used to reflect the color and / or brightness of the region. The processing module is used to extract watermark information based on the size relationship between the pixel statistics of different regions in the target image. The watermark information is used to indicate the source of the target image.

[0034] In one possible implementation, a target image includes M tiles, where M is a positive integer. Some or all of the M tiles carry watermark information. Each of the N tiles includes at least one sub-tile, and each of some or all of the sub-tiles included in the at least one sub-tile includes multiple regions, where different regions are regions within a tile. The M tiles include N tiles. A computing device carries watermark information on some or all of the M tiles.

[0035] In another possible implementation, the N image blocks include the first image block. The processing module is specifically configured to extract N watermark information based on a size relationship between pixel statistics of different regions of each of the N image blocks. One image block corresponds to one watermark information.

[0036] In another possible implementation, the watermark information is represented by a bit string. The N image blocks include a first image block, which includes at least one sub-image block. A sub-image block includes multiple regions. The magnitude relationship between pixel statistics in different regions within a sub-image block is used to indicate a bit in the bit string.

[0037] In another possible implementation, a first image block includes a first sub-image block, and the first sub-image block includes a first region and a second region. If the pixel statistics of the first region are greater than or equal to the pixel statistics of the second region, the processing module is specifically configured to determine a first bit corresponding to the first sub-image block as a first value. If the pixel statistics of the first region are less than the pixel statistics of the second region, the processing module is further specifically configured to determine a first bit corresponding to the first sub-image block as a second value. A computing device determines the bit corresponding to the sub-image block based on the magnitude relationship between the pixel statistics of different regions of the sub-image block.

[0038] In another possible implementation, the N image tiles include a first image tile. The acquisition module is further configured to acquire positioning information embedded in each of the N image tiles. The positioning information embedded in each image tile reflects the position of the watermark information in the corresponding image tile. Furthermore, the processing module is configured to: use a computing device to obtain, based on the position reflected by the positioning information embedded in the first image tile, a magnitude relationship between pixel statistics in different regions within the first image tile.

[0039] In another possible implementation, different regions of the first image block form a designated pattern. The positioning information is represented by the positioning pattern, and the positioning pattern is different from the designated pattern.

[0040] In another possible implementation, the positioning pattern has a centrally symmetrical shape.

[0041] In another possible implementation, the positioning pattern includes a “mouth”-shaped pattern and a “return”-shaped pattern.

[0042] In another possible implementation, the positioning pattern is located at the outline of the first tile.

[0043] In another possible implementation, the pixel statistics include a pixel mean or a sum of pixel values. The difference in the number of pixels in different regions is smaller than the difference in quantity. The computing device extracts watermark information based on the magnitude relationship between the pixel statistics of the regions. This allows the computing device to extract watermark information even if the pixel values ​​of some pixels in the region change.

[0044] When a watermark processing device is used to implement the watermark embedding method provided in the second aspect, the various modules of the watermark processing device can perform the following functions. Specifically, the acquisition module is used to obtain a carrier image. The acquisition module is also used to obtain watermark information. The watermark information is used to indicate the source of the carrier image. The processing module is used to embed the watermark information into the carrier image to obtain a target image. The watermark information is indicated by the magnitude relationship between pixel statistics of different regions in the target image, and the pixel statistics are used to reflect the color and / or brightness of the region.

[0045] In a possible implementation, the target image includes: M tiles, where M is a positive integer. Some or all of the M tiles carry watermark information. Each of the N tiles included in the M tiles includes at least one sub-tile. Each of the at least one sub-tiles included in the at least one sub-tile includes multiple regions. Different regions are regions within a tile. Among them, the M tiles include the N tiles.

[0046] In another possible implementation, the N tiles include a first tile, and the first tile includes: at least one sub-tile. The at least one sub-tile includes: a first sub-tile. The first sub-tile includes: a first region and a second region. Different regions include: the first region and the second region.

[0047] In another possible implementation, the watermark information is represented by a bit string. The magnitude relationship between the pixel statistical values between different regions in a sub-tile is used to indicate: a bit in the bit string.

[0048] In another possible implementation, the bit string includes: a first bit. Indicating the watermark information by the magnitude relationship between the pixel statistical values of different regions in the target image includes: if the first bit is a first value, the pixel statistical value of the first region is greater than or equal to the pixel statistical value of the second region. If the first bit is a second value, the pixel statistical value of the first region is less than the pixel statistical value of the second region.

[0049] In another possible implementation, the processing module is specifically configured to: according to the value of the first bit, adjust the pixel values of the pixel points in the third region and / or the fourth region of the carrier image to obtain the target image. Among them, the third region corresponds to the first region, and the fourth region corresponds to the second region.

[0050] In another possible implementation, the processing module is specifically configured to: adjust the pixel values of the specified pixel points in the third region and / or the fourth region. Among them, the specified pixel points are pixel points whose contrast satisfies the contrast condition and / or whose texture complexity satisfies the complexity condition.

[0051] In another possible implementation, different regions of a sub-tile form: a specified pattern.

[0052] In another possible implementation, the specified pattern has an axisymmetric and / or centrosymmetric shape. For example, the specified pattern may include, but is not limited to: a "square" pattern, a "double-square" pattern.

[0053] In another possible implementation, the processing module is further configured to: calculate the device to embed positioning information into the carrier image or the carrier image embedded with watermark information. The positioning information is used to indicate: the position of the watermark information in the target image.

[0054] In another possible implementation, the positioning pattern has a centrosymmetric shape. For example, the positioning pattern includes, but is not limited to, a "square" - shaped pattern, a "double - square" - shaped pattern.

[0055] In another possible implementation, different regions of a sub - tile form a specified pattern, and the positioning information is represented by the positioning pattern, where the positioning pattern is different from the specified pattern.

[0056] In another possible implementation, the target image includes M tiles. The M tiles include a first tile. The positioning pattern is located on the tile contour of the first tile, and M is a positive integer.

[0057] In another possible implementation, the pixel statistical value includes a pixel mean. Or, the sum of pixel values. Among them, the difference between the number of pixels in different regions is less than the difference in quantity.

[0058] In a fourth aspect, the present application provides a processor. The processor includes an interface circuit and a control circuit. The interface circuit is used to obtain a carrier image and watermark information, and cooperate with the control circuit to implement the operation steps of the method in the first aspect or any possible design in the first aspect, or the interface circuit is used to obtain a target image and cooperate with the control circuit to implement the operation steps of the method in the second aspect or any possible design in the second aspect.

[0059] In a fifth aspect, the present application provides a cluster of computing devices. The cluster of computing devices includes at least one computing device, and each computing device includes a processor and a memory. The processor of the at least one computing device is used to execute instructions stored in the at least one memory, so that the cluster of computing devices executes the operation steps of the method in any possible design in the first aspect or the second aspect.

[0060] In a sixth aspect, the present application provides a computer - readable storage medium. It includes computer software instructions; when the computer software instructions run on a computing device, the computing device is caused to execute the operation steps of the method in any possible implementation in the first aspect or the second aspect.

[0061] In a seventh aspect, the present application provides a computer program product. When the computer program product runs on a computer cluster, the cluster of computing devices is caused to execute the operation steps of the method in any possible implementation in the first aspect or the second aspect.

[0062] The beneficial effects of the above third to seventh aspects can be referred to the description of any implementation in the first aspect or the second aspect, and will not be elaborated here. Based on the implementation manners provided in the above aspects of the present application, further combinations can be made to provide more implementation manners. Description of the Drawings

[0063] Figure 1 This is an example of an image after embedding watermark information;

[0064] Figure 2 A schematic diagram of the architecture of a watermark processing system provided in this application;

[0065] Figure 3 A schematic diagram of the structure of a chip provided in this application;

[0066] Figure 4 A schematic diagram of the flow of a watermark embedding method provided in this application;

[0067] Figure 5 The corresponding example images of the target image and the carrier image provided in this application;

[0068] Figure 6 A schematic diagram of the position of a positioning pattern provided in this application;

[0069] Figure 7 This is an example diagram of the correspondence between bits in a bit string and sub-blocks in a target sub-block provided by this application;

[0070] Figure 8 A watermark information embedding effect diagram provided by this application;

[0071] Figure 9 This is a flowchart of a watermark information embedding method provided by this application;

[0072] Figure 10 A schematic diagram of a watermark extraction method provided in this application;

[0073] Figure 11 A schematic diagram of image preprocessing for a target image provided in this application;

[0074] Figure 12 This is a flowchart of a watermark extraction method provided by this application;

[0075] Figure 13 This is an example diagram of an application of a watermark processing method provided by this application;

[0076] Figure 14 A schematic diagram of the structure of a watermark processing device provided in this application;

[0077] Figure 15 A schematic diagram of the structure of a computing device cluster provided in this application;

[0078] Figure 16 A schematic diagram of the connection between computing devices provided in this application. DETAILED DESCRIPTION

[0079] In order to make the description of the following embodiments clear and concise, a brief introduction to the relevant technology is first given.

[0080] Watermark information refers to data information embedded in a carrier (such as an image or video). Watermark information can be used to identify the source of the carrier.

[0081] The carrier image refers to the image to be embedded with a watermark or to carry a watermark.

[0082] Watermark encoding refers to the process of converting a watermark into a specified form or format, including a binary form.

[0083] Robustness refers to the ability to detect or extract watermarks after the target image is attacked. Attacks include compression, filtering, noise interference, rotation, scaling, shearing, etc.

[0084] Transparency means that the difference between the appearance and quality of the carrier after embedding the watermark and the appearance and quality of the carrier is less than or equal to the difference threshold. In some possible examples, watermark transparency can also be called imperceptibility.

[0085] Embedding strength refers to the degree of modification to the carrier during the watermark embedding process. Generally, the greater the degree of modification, the more robust the watermark is and the less transparent it is. The smaller the degree of modification, the less robust the watermark is and the more transparent it is.

[0086] Contrast masking is a visual phenomenon that occurs when an image or signal is superimposed (or called superimposed image or information) on another image or signal (or called superimposed image or information) with similar spatial frequency and direction, the visibility of the superimposed image or information is reduced.

[0087] Texture masking refers to the use of the complexity or visual characteristics of image texture to hide or reduce the visibility of specified visual information (such as watermarks) in image processing.

[0088] The above describes the relevant terms of this application, and the following describes the relevant technologies of this application.

[0089] When embedding a watermark in a carrier image, the computing device may divide the image into multiple matrix units and adjust the pixel mean of each matrix unit in the multiple matrix units to a fixed value corresponding to the watermark information, thereby obtaining multiple matrix units with adjusted pixel means. Furthermore, the computing device obtains the watermarked image based on the multiple matrix units with adjusted pixel means. When detecting a watermark from the watermarked image, the computing device divides the watermarked image into the multiple matrix units and obtains the watermark information based on the fixed value corresponding to each matrix unit in the multiple matrix units.

[0090] In the above process, the computing device embeds the watermark information by adjusting the pixel mean of the matrix unit in the image to a fixed value. If the fixed value is significantly different from the pixel mean of the matrix unit, it may result in low transparency. Figure 1 is an example of an image after embedding watermark information, such as Figure 1 As shown, after embedding the watermark information, the image includes multiple matrix units with different fixed pixel means. If the pixel means of the matrix units in the image change, the computing device may be unable to detect or extract the watermark information from the image, thereby affecting the determination of the image source and copyright.

[0091] Based on this, the present application provides a watermark processing method. In this method, a computing device embeds watermark information into a carrier image and indicates the watermark information by the size relationship between pixel statistics in different regions of the target image. Furthermore, the computing device extracts the watermark information based on the size relationship between pixel statistics in different regions of the target image. In this way, the computing device uses the size relationship between pixel statistics in different regions to indicate the watermark information. Even if the pixel values ​​of pixels in the target image change, the computing device can still extract the watermark information based on the size relationship between pixel statistics in different regions of the image, thereby improving the robustness of the embedded watermark information and providing a guarantee for the computing device to extract watermark information from the image.

[0092] The above watermark processing method can be applied to a watermark processing system. Figure 2 This is a schematic diagram of the architecture of a watermark processing system provided by this application, such as Figure 2 As shown, the watermark processing system 200 includes a computing device 210. The computing device 210 is a device with data processing capabilities. The computing device 210 can be a physical device, such as a personal computer, desktop computer, mobile phone, etc. The computing device 210 can also be a non-physical device, such as a virtual machine (VM), container (Docker), etc. The computing device 210 can obtain data (such as a carrier image, watermark information) and process the data to obtain a processing result (such as a target image). In some possible scenarios, the computing device 210 can also output the processing result (such as the target image).

[0093] Computing device 210 includes a communication interface 214, a processor 211, a memory 212, and a bus 216. Communication interface 214 is used to communicate with devices external to computing device 210. For example, computing device 210 receives user input data (e.g., watermark information) through communication interface 214. For another example, computing device 210 sends processing results (e.g., a target image) to the user through communication interface 214. Communication interface 214 can be an input / output (I / O) interface.

[0094] The processor 211 is the computing core and control core of the computing device 210. It may include: a central processing unit (CPU), a specific integrated circuit, other general-purpose processors, 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, discrete hardware components, etc. In actual applications, the computing device 210 may also include multiple processors. The processor 211 may include one or more processor cores. An operating system and other software programs are installed in the processor 211, so that the processor 211 can access the memory 212 and various peripheral component interconnect express (PCIe) devices.

[0095] The processor 211 is connected to the memory 212 via a bus 216. The bus 216 can be a double data rate (DDR) bus or another type of bus. The memory 212 is the main memory of the computing device 210. The memory 212 is typically used to store various running software in the operating system. To improve the access speed of the processor 211, the memory 212 needs to have a fast access speed. In traditional computer devices, dynamic random access memory (DRAM) is typically used as the memory 212. In addition to DRAM, the memory 212 can also be other random access memories, such as static random access memory (SRAM). In addition, the memory 212 can also be a read-only memory (ROM). For example, the read-only memory can be a programmable read-only memory (PROM) or an erasable programmable read-only memory (EPROM). This embodiment does not limit the number and type of the memory 212.

[0096] In some possible situations, in order to store data (such as watermark information, carrier image, target image, etc.) persistently, the watermark processing system is further provided with a data storage system 213, which can be located outside the computing device 210 (such as Figure 2 210 ), exchanging data with the computing device 210 via a network. In some possible scenarios, the data storage system 213 may also be located inside the host, such as exchanging data with the processor 211 via a bus 216. In this case, the data storage system 213 may be a hard disk.

[0097] In some possible scenarios, the watermark processing system 200 may further include a client device 220. In this scenario, a user uses the client device 220 to send data (such as watermark information) to the computing device 210. The client device 220 is a terminal device, including but not limited to a personal computer, a server, a mobile phone, a tablet computer, or a smart car.

[0098] For example, Figure 2 The processor 211 in the embodiment can be implemented by a chip, such as Figure 3 As shown, Figure 3This is a schematic diagram of the structure of a chip provided in the present application. For example, the chip 300 includes a core 301, a CPU 302, a system buffer 303, an input / output (I / O) device 305 and a DDR 306.

[0099] The CPU 302 is used to accept tasks (such as watermark processing tasks) and call core 301 to execute them. If the chip 300 has multiple cores 301, the CPU 302 is also responsible for scheduling tasks. For example, the CPU 302 can be implemented by an ARM processor, which is compact, low-power, uses a 34-bit reduced instruction set, and has simple and flexible addressing. Of course, in some embodiments, the CPU 302 can also be implemented by other processors.

[0100] Core 301 is used to provide the computing power required for the watermark processing task. In an optional scenario, core 301 includes a load / store unit (LSU), a cube computing unit, a scalar computing unit, a vector computing unit, and a buffer. Among them, the LSU is used to load data to be processed and store processed data. It can also be used for reading and writing internal data between different buffers in the core, and to complete some format conversion operations. The cube computing unit is used to provide the core computing power for matrix multiplication. The scalar computing unit is a single instruction single data (SISD) processor. This type of processor only processes one piece of data (usually an integer or floating point number) at a time. The vector computing unit, also known as an array processor, is a processor that can directly operate a group of arrays or vectors for calculation. The number of buffers may be one or more. For example, the buffer mainly refers to the level 1 buffer (L1 buffer). The buffer is used to temporarily store some data that the core 301 needs to use repeatedly to reduce reading and writing from the bus. In addition, the implementation of certain data format conversion functions also requires that the source data is located in the buffer.

[0101] The system buffer 303 mainly refers to the secondary cache, which is used to temporarily store input data, intermediate results or final results passing through the chip.

[0102] DDR 306 is an off-chip memory that can be replaced with high bandwidth memory (HBM) or other off-chip memory. DDR 306 is located between the chip and the external memory, overcoming the access speed limitation of the shared memory when computing resources read and write.

[0103] The I / O device 305 included in chip 300 refers to the hardware that performs data transmission and can also be understood as a device that interfaces with an I / O interface. Common I / O devices include network cards, printers, keyboards, and mice. All external storage devices, such as hard drives, floppy disks, and optical disks, can also serve as I / O devices.

[0104] The core 301, the CPU 302, the system buffer 303, the I / O device 305, and the DDR 306 are connected via a bus. The bus may include a path for transmitting information between the above components (such as the CPU 302 and the system buffer 303). In addition to the data bus, the bus may also include a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus may be a PCIe bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. For example, the core 301 can access these I / O devices 305 via the PCIe bus. The core 301 is connected to the system buffer 303 via the DDR bus. Here, different system buffers 303 may use different data buses to communicate with the core 301. Therefore, the DDR bus may also be replaced by other types of data buses. The embodiment of the present application does not limit the bus type.

[0105] For example, after the CPU 302 loads the data to be processed by the watermark processing task (e.g., watermark information, carrier image) into the DDR 306, the LSU in the core 301 reads (loads) the data from the DDR 306 and processes it to obtain a processing result (e.g., target image). After obtaining the processing result, the LSU then loads (stores) the processing result into the DDR 306. If the watermark processing system 200 includes the data storage system 213, the data can be sent to the data storage system 213 by the network interface card for persistent storage.

[0106] It should be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the computing device or chip. In other embodiments, the computing device and chip may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0107] The following combination Figure 2 and Figure 3 The content shown provides a detailed description of the watermark processing method provided by this application.

[0108] Figure 4 This is a flow chart of a watermark embedding method provided by this application. The watermark embedding method can be executed by a single computing device, a computing device cluster including multiple computing devices, a component of a computing device (such as a processor, chip or chip system of a computing device), etc., and can also be implemented by a logic module or software. In the case where the watermark embedding method is executed by a single computing device, the computing device can be Figure 2 The computing device 210 and the client device 220 shown in the figure can be referred to in the aforementioned Figure 2 In the case where the watermark embedding method is executed by a component of a computing device, the computing device component may be Figure 3 The chips shown in the figure, etc., can refer to the aforementioned hardware implementation of the chip Figure 3 In some optional examples, the watermark embedding method can also be executed by other computing devices. For the hardware implementation of the computing device, please refer to the aforementioned Figure 2 and Figure 3 The description is not repeated here.

[0109] Here, a single computing device is used to execute the watermark embedding method provided in this embodiment as an example. Figure 4 As shown, the watermark processing method provided by this embodiment includes the following S410 to S430.

[0110] S410: The computing device obtains a carrier image.

[0111] The carrier image can be used to indicate: the screen displayed by the device for which access rights are requested, the image that needs to be protected, etc. The device for which access rights are requested may refer to: a device with display capabilities owned or used by an institution, organization, enterprise or individual. The screen displayed by the device for which access rights are requested may refer to: the screen displayed by the display device of the device for which access rights are requested, etc. The display device may refer to: a device that converts electronic files or signals into images and displays them, including but not limited to: a computer screen, etc. For example, the screen displayed by the device for which access rights are requested may refer to: the screen displayed on the display screen of computer 1 used by enterprise 1. Images that need to be protected may include but are not limited to: images that need copyright protection, such as images that need copyright protection created by institutions, organizations, enterprises or individuals, etc.

[0112] The image mode of the carrier image may include but is not limited to: binary image, grayscale image, color image, etc. In the case that the carrier image is a color image, the color mode of the carrier image may include but is not limited to: luminance chrominance Chroma (YUV) mode (abbreviated as YUV), red green blue (RGB) mode (abbreviated as RGB), Lab mode (abbreviated as Lab), hue saturation value (HSV) mode (abbreviated as HSV), intensity chrominance chrominance (ICtCp) mode (abbreviated as ICtCp), etc. In some possible cases, the YUV mode can also be called YCbCr mode. The watermark processing method provided by this application is described below by taking the carrier image as a color image with a YUV color mode as an example.

[0113] In some possible scenarios, the carrier image can be generated in a variety of scenarios. The above-mentioned scenarios include but are not limited to: scenarios for protecting information security, scenarios for protecting copyright, etc. Scenarios for protecting information security include but are not limited to: meeting scenarios between devices requiring access rights and other devices (such as remote conferences, etc.), data sharing scenarios with devices requiring access rights as sharing devices, daily work scenarios with devices requiring access rights as working devices, etc. Scenarios for protecting copyright include but are not limited to: scenarios for creating works with devices requiring access rights as working devices, etc. Works include but are not limited to: image works, text works, mixed works of images and texts, video works, etc. According to the needs of actual applications, carrier images can also be generated in other scenarios, which are not limited in this application.

[0114] The above describes the carrier image and the scenario of generating the carrier image. The following describes the method in which the computing device obtains the carrier image.

[0115] The computing device may obtain the carrier image in a variety of ways. Two possible ways are described below.

[0116] Example 1: The computing device passively receives the carrier image.

[0117] The computing device can passively receive carrier images sent by other devices. Other devices may refer to devices that require access rights, or may refer to third-party devices that are in communication with the computing device and the device that requires access rights, and this application does not limit this. The process of the computing device passively receiving the carrier image is described as follows: when the image acquisition conditions are met, the device that requires access rights acquires the displayed single frame or multiple frames. When the image sending requirements are met, the device that requires access rights sends the acquired image to the computing device. And the computing device receives the image sent by the device that requires access rights, and obtains the carrier image based on the received image. Among them, the image acquisition conditions include but are not limited to: detecting that the image displayed by the device that requires access rights contains specified information, meeting the image acquisition frequency, etc. The image sending requirements include but are not limited to: the image is acquired and sent, the number of frames of the acquired image is greater than or equal to the frame number threshold, the amount of data of the acquired image is greater than or equal to the data amount threshold, etc.

[0118] For example, the device requesting access permission is in a meeting. In this case, upon detecting that the displayed screen includes specified information, the device requesting access permission may capture the displayed screen including the specified information and send the captured screen to the computing device.

[0119] For example, in a data sharing scenario where the device requiring access rights is used as a sharing device, in a daily work scenario where the device requiring access rights is used as a work device, and in a work creation scenario where the device requiring access rights is used as a work device, the device requiring access rights collects the displayed images according to the image collection frequency and sends the collected images to the computing device.

[0120] Example 2: The computing device actively obtains the carrier image.

[0121] Similar to Example 1, the computing device can actively obtain a carrier image from other devices. For descriptions of other devices, please refer to the above and will not be repeated here. The computing device can perform the following process to actively obtain a carrier image. Specifically, the computing device can send a carrier image acquisition instruction to the device requesting access rights. The device requesting access rights receives the carrier image acquisition instruction, and captures a single frame or multiple frames displayed by the device requesting access rights. The device requesting access rights sends the captured picture to the computing device. The computing device receives the picture sent by the device requesting access rights, and obtains the carrier image based on the received picture.

[0122] In the above two examples, the computing device can directly use the received picture as the carrier image, or perform picture processing on the received picture and use the processed picture as the carrier image. This application does not limit this. Picture processing includes but is not limited to: screening pictures that meet picture conditions from the received pictures, picture encryption, etc. Picture conditions include but are not limited to: containing specified information, picture clarity meeting clarity requirements, etc. In some possible examples, the above picture processing process can also be performed by a device that requires access rights. In the case where the device that requires access rights performs the picture processing process, the computing device can directly use the received picture as the carrier image.

[0123] The above describes two methods for the computing device to obtain the carrier image. According to the actual application needs, the computing device can also use other methods to obtain the carrier image, which is not limited in this application. The following describes the process of the computing device obtaining watermark information.

[0124] S420: The computing device obtains watermark information.

[0125] The watermark information is used to indicate the source of the carrier image.

[0126] The watermark information may include, but is not limited to, at least one of the following: the operator identification of the operator corresponding to the device requesting access rights, the identification of the device requesting access rights, the time, the location, the owner identification of the owner corresponding to the device requesting access rights, etc. The operator identification includes, but is not limited to, at least one of the following: the operator name, the operator code, the operator abbreviation, the operator nickname, the operator work number, the operator's department, and the operator's visual identification (such as a trademark, etc.). The identification of the device requesting access rights includes, but is not limited to, the device identifier (ID). The time may refer to the time when the carrier image of the device requesting access rights is generated. The location may refer to the location of the device requesting access rights. The owner corresponding to the device requesting access rights refers to: the institution, organization, enterprise, or individual that owns the device requesting access rights, or the institution, organization, enterprise, or individual that has the right to use the device requesting access rights. The owner identification includes, but is not limited to, at least one of the following: the owner name, the owner code, the owner name, the owner abbreviation, the owner nickname, and the owner's visual identification (such as a trademark, etc.).

[0127] For example, in the scenario of protecting information security, the watermark information may include: the name of the operator who operates the device requiring access rights, the device ID, the time and location.

[0128] For another example, in the scenario of copyright protection, the watermark information may include: the owner identification of the device requiring access rights (such as an organization code).

[0129] The watermark information is described above. According to the needs of actual applications, the watermark information can be preset or set according to the needs of actual applications. This application does not limit this.

[0130] When the watermark information is set according to actual needs, the computing device can display the first interface and obtain the watermark information based on the user's operation on the first interface. The user's operation on the first interface includes but is not limited to: inputting watermark information in the first interface, etc.

[0131] In some possible scenarios, watermark information can take multiple forms, including but not limited to at least one of text, image, audio, and video. If the watermark information is text, the computing device can parse the text to obtain the watermark information. If the watermark information is an image, the computing device can use image recognition to obtain the watermark information. If the watermark information is audio, the computing device can use voice recognition to obtain the watermark information. If the watermark information is video, the computing device can use image recognition, voice recognition, or other methods to obtain the watermark information. For descriptions of image recognition and voice recognition, please refer to the general technical description and will not be repeated here.

[0132] After obtaining the watermark information, the computing device can also perform systematization (also known as watermark encoding) on ​​the watermark information, using a bit string to represent the watermark information. Systematization methods that the computing device can perform on the watermark information include, but are not limited to, binarization, octalization, decimalization, hexadecimalization, and so on. The following uses the example of binarization as the example to illustrate the systematization process performed by the computing device on the watermark information.

[0133] The computing device determines whether the watermark information has been binarized. If the watermark information has been binarized, the computing device does not binarize the watermark information. If the watermark information has not been binarized, the computing device binarizes the watermark information to obtain a bit string used to represent the watermark information, wherein the value of each bit of the bit string is "0" or "1". For example, the watermark information is an employee code. In this case, the computing device determines whether the watermark information has been binarized and determines that the employee code has not been binarized. The computing device binarizes the employee code to obtain a bit string consisting of "0" and "1". This bit string is used to represent the employee code.

[0134] In some possible scenarios, the computing device may also binary-code the watermark information into a bit string of a specified length. The specified length may be preset or set based on actual application needs, and this application does not limit this. For example, the computing device may binary-code the employee code into a bit string containing 128 bits.

[0135] The above description illustrates the process of acquiring a carrier image and watermark information, assuming that the computing device first acquires the carrier image and then the watermark information. Depending on the needs of the actual application, the computing device may also acquire the watermark information first and then the carrier image. Furthermore, the computing device may acquire both the watermark information and the carrier image simultaneously. This application does not limit the order in which the computing device acquires the watermark information and the carrier image.

[0136] The watermark information is described above. After obtaining the watermark information, the computing device may further execute S430 to embed the watermark information into the carrier image to obtain the target image.

[0137] S430, embedding the watermark information into the carrier image to obtain the target image.

[0138] The watermark information is indicated by the magnitude relationship between pixel statistics in different regions of the target image. Pixel statistics are used to reflect the color and / or brightness of a region. Depending on the needs of the application, pixel statistics may include, but are not limited to, pixel means or pixel sums. When the pixel statistics of a region are pixel means, the pixel statistics refer to the mean of the pixel values ​​of the pixels in the region. For example, region 1 includes pixels 1 through n, and the pixel values ​​of pixels 1 through n are pixel values ​​1 through n, respectively. In this case, the pixel statistics of region 1 may refer to the mean of pixel values ​​1 through n. When the pixel statistics of a region are pixel sums, the pixel statistics refer to the sum of the pixel values ​​of the pixels in the region. For example, region 1 includes pixels 1 through n, and the pixel values ​​of pixels 1 through n are pixel values ​​1 through n, respectively. In this case, the pixel statistics of region 1 may refer to the sum of pixel values ​​1 through n. Furthermore, when the pixel statistics are pixel sums, the difference in the number of pixels in different regions is less than the difference in number. The quantity difference can be preset or set according to the needs of actual application, and this application does not limit this.

[0139] The computing device can execute the following (1) to (3) to embed watermark information into the carrier image to obtain the target image.

[0140] (1) The computing device divides the carrier image into at least one tile (eg, M tiles).

[0141] Wherein, M is a positive integer. M can be preset or set according to the needs of actual application, which is not limited in this application. The computing device divides the carrier image into at least one block, which means: the computing device determines the pixel points in the carrier image included in each block in at least one block, the computing device divides the carrier image into at least one independent block, and so on. According to the needs of actual application, the computing device can divide all or part of the pixel points included in the carrier image into the at least one block, which is not limited in this application. That is, at least one block can include all or part of the pixel points in the carrier image. In the case where the computing device divides the carrier image into multiple blocks, each block in the multiple blocks can include the same number of pixel points, or can include a different number of pixel points, which is not limited in this application. The watermark processing method provided by this application is described below by taking the example that the computing device divides all the pixel points included in the carrier image into at least one block, and each block in at least one block includes the same number of pixel points.

[0142] In some possible situations, before dividing the carrier image into at least one tile, the computing device may also convert the color mode of the carrier image into a specified color mode to obtain the carrier image after the color mode is converted. And the computing device may divide a single or multiple channels of the carrier image after the color mode is converted to obtain at least one tile. The specified color mode includes but is not limited to: YUV, RGB, Lab, HSV, ICtCp, etc. Regarding the method of dividing the channel to obtain at least one tile, please refer to the method of dividing the carrier image by the computing device above, which will not be repeated here. For example, the computing device converts the carrier image into YUV, and the computing device divides the "Y channel" or "Y channel and U channel (referred to as YU channel)" or "U channel" to obtain at least one tile.

[0143] According to the needs of actual applications, the computing device can embed one or more watermark information into the carrier image, which is explained below in different situations.

[0144] In case a, the computing device embeds a watermark into the carrier image.

[0145] When a computing device embeds watermark information into a carrier image, it can divide the carrier image into tiles. This reduces the complexity of watermark embedding, shortens the time required for watermark embedding, and increases the speed of watermark embedding. For example, the computing device divides carrier image 1 into tile 1, which includes some or all pixels of carrier image 1.

[0146] In case b, the computing device embeds multiple watermark information into the carrier image.

[0147] In the case where the computing device embeds multiple watermark information into the carrier image, the computing device may divide the carrier image into multiple tiles. The number of tiles is greater than or equal to the number of watermark information. The target image contains multiple watermark information, which can increase the probability of extracting watermark information from the target image after image processing, thereby increasing the robustness of watermark embedding. Image processing includes but is not limited to: reshooting, image compression, image cropping, changing the shape of the image (such as affine), etc. Reshooting can refer to taking a single or multiple shots of the target image. For example, the computing device divides the carrier image 1 into tiles 1 to 12. Tiles 1 to 12 include part or all of the pixels of the carrier image 1.

[0148] (2) The computing device divides each of all or part of the M tiles (eg, N tiles) into at least one sub-tile.

[0149] Wherein, M≥N and N is a positive integer. The number of at least one sub-block is greater than or equal to the number of bits included in the bit string representing the watermark information.

[0150] According to the needs of actual applications, the computing device can divide each of all or part of the M blocks (such as N blocks) into at least one sub-block. The computing device can divide each block in the N blocks into the same number of sub-blocks, or into different numbers of sub-blocks, which is not limited in this application. The number of sub-blocks corresponding to each block in the N blocks is greater than or equal to the number of bits of the bit string representing the watermark information. For example, the N blocks are: blocks 1 to 9 in blocks 1 to 12. The computing device can divide each block in blocks 1 to 9 into 9 sub-blocks. The computing device can also divide block 1 into 6 sub-blocks and divide blocks 2 to 9 into 9 sub-blocks.

[0151] In some possible scenarios, when a computing device divides some of the M tiles into at least one sub-tile, the computing device may select some of the M tiles that meet a tile condition. The tile condition includes, but is not limited to, tile contrast meeting a contrast condition, tile texture complexity meeting a complexity condition, and so on. The contrast condition may be a contrast threshold, and the complexity condition may be a complexity threshold. Depending on the needs of the actual application, the contrast condition and the complexity condition may also be other conditions, which are not limited in this application.

[0152] Similar to (1), the computing device may divide all or part of the pixels included in the image block into the at least one sub-image block, which is not limited in this application. That is, at least one sub-image block may include all or part of the pixels in the corresponding image block.

[0153] (3) The computing device embeds watermark information into each of the N tiles to obtain the target image.

[0154] In which, one block embeds one watermark information. The computing device embeds a bit string for representing the watermark information into at least one sub-block included in each block in the N blocks to obtain a target image. A sub-block of a block embeds one bit in the bit string. Specifically, the computing device can divide each sub-block in the target sub-block into at least two areas. The computing device obtains the pixel statistics of each area in the target area of ​​at least two areas. And the computing device adjusts the size relationship of the pixel statistics of each area in the sub-block according to the bits corresponding to the sub-blocks. In which, the target sub-block is: part or all of at least one sub-block included in each block in the N blocks. The target area is: part or all of at least two areas included in the target sub-block. For the specific process of the computing device embedding watermark information into the block, please refer to the description of S51 to S53 below, which will not be repeated here.

[0155] In some possible scenarios, a target image includes: M tiles, where M is a positive integer. Some or all of the M tiles (e.g., N tiles) carry watermark information. The tiles carrying the watermark information (i.e., the N tiles) include: a first tile. The different regions include: a first region and a second region. The first region and the second region are regions within the first tile. Where M ≥ N ≥ 1, and N is an integer.

[0156] Figure 5 The corresponding example diagrams of the target image and the carrier image provided in this application are as follows: Figure 5 As shown, the first block in the target image corresponds to the second block in the carrier image. The block of the target image corresponding to the block of the carrier image may mean that the block of the target image corresponds to the block of the carrier image in position. The first area of ​​the target image corresponds to the third area of ​​the carrier image. The second area of ​​the target image corresponds to the fourth area of ​​the carrier image. The area of ​​the target image corresponds to the area of ​​the carrier image may mean that the area of ​​the target image corresponds to the area of ​​the carrier image in position. For the relevant description of the second block, the third area, and the fourth area, please see below and will not be repeated here.

[0157] In some possible cases, the first image block includes: at least one sub-image block. The at least one sub-image block includes: a first sub-image block. The first sub-image block includes: a first region and a second region. The first sub-image block in the target image corresponds to the second sub-image block in the carrier image. Please continue to refer to Figure 5 The correspondence between the sub-block in the target image and the sub-block in the carrier image means that the sub-block in the target image corresponds to the sub-block in the carrier image in position. For a description of the second sub-block, please refer to the following and will not be repeated here.

[0158] In some possible cases, the watermark information is represented by a bit string. The magnitude relationship between the pixel statistical values among different regions in a sub-block is used to indicate a bit in the bit string.

[0159] Exemplarily, the watermark information is represented by a bit string "011010" including 6 bits. The target image includes Tile 1 to Tile 9. N is 6 and the N tiles include: Tile 1 to Tile 6. Each of Tile 1 to Tile 6 includes sub-blocks 1 to sub-block 9. In this case, each of Tile 1 to Tile 6 embeds "011010". The sub-blocks 1 to sub-block 6 of each of the above tiles embed "0", "1", "1", "0", "1", "0" respectively.

[0160] For the convenience of description above, taking the case where the watermark information is represented by a bit string including 6 bits as an example, the relationships among the target image, tiles, sub-blocks, regions, watermark information, and bits are described. According to the needs of actual applications, such as to improve the transparency of the watermark information embedded in the target image, a bit string including more bits can be used to represent the watermark information, and this application does not limit this. The following describes the process of a computing device embedding watermark information into a carrier image.

[0161] In some possible cases, the computing device can also embed positioning information into the carrier image or the carrier image after embedding watermark information. When the computing device embeds positioning information into the carrier image, the computing device can execute the process described above to embed watermark information into the carrier image after embedding positioning information to obtain the target image. When the computing device embeds positioning information into the carrier image after embedding watermark information, the computing device can directly use the embedding result as the target image. The positioning information is used to indicate the position of the watermark information in the target image.

[0162] In some possible cases, different regions form a specified pattern. The positioning information is represented by a positioning pattern, and the positioning pattern is different from the specified pattern. The positioning pattern has a centrosymmetric shape. The positioning pattern includes but is not limited to: a "hui" - shaped image, a "kou" - shaped pattern, a combined pattern formed by multiple "hui" - shaped images and / or multiple "kou" - shaped patterns, etc. For more descriptions of the "kou" - shaped pattern and the "hui" - shaped pattern, please refer to S51 below and will not be elaborated here.

[0163] In some possible cases, the positioning pattern can be located at the tile contour of each of the N tiles included in the target image. For example, the positioning pattern is located at the tile contour of the first tile. In this case, the computing device can embed the positioning pattern into the tile contour of the second tile of the carrier image.

[0164] Figure 6 This is a schematic diagram of the position of a positioning pattern provided by this application, such as Figure 6As shown, the target pattern includes 9 tiles. The positioning information includes: four "square inside a square" patterns, and these four "square inside a square" patterns are located at the four corner points of each of the 9 tiles. The "square inside a square" pattern can have three different regions as shown in the enlarged view of the "square inside a square" pattern in Figure 6 . For more descriptions of the "square inside a square" pattern, please refer to S51 below and will not be elaborated here.

[0165] The above text has described the process of a computing device embedding positioning information into a carrier image or a carrier image with a watermark embedded. Below, taking the computing device embedding watermark information into the second tile among N tiles as an example, the process of the computing device embedding watermark information into a tile is illustrated, and this process includes the following S51 to S53.

[0166] S51, the computing device divides the target sub - tile in the second tile into at least two regions.

[0167] Among them, the target sub - tile is: all or part of the sub - tiles in the second tile. The target sub - tile can refer to: the sub - tiles that meet the sub - tile conditions among all the sub - tiles included in the second tile. The sub - tile conditions include but are not limited to: the contrast of the sub - tile meets the contrast condition, the texture complexity of the sub - tile meets the complexity condition, etc. For the relevant descriptions of the contrast condition and the complexity condition, please refer to the above text and will not be elaborated here. Similarly, the computing device can divide different sub - tiles in the target sub - tile into regions with the same number, or divide different sub - tiles in the target sub - tile into regions with different numbers, and this application does not limit this.

[0168] In some possible situations, the computing device can divide the target sub - tile into at least two regions based on the region - division condition. The region - division condition can include at least one of the following: the difference in area between the different regions obtained by division is less than the area threshold, the difference in the number of pixel points between the different regions obtained by division is less than the pixel - number threshold, the different regions obtained by division form a specified pattern, etc. The specified pattern can have central symmetry and / or axial symmetry characteristics, etc. The specified pattern includes but is not limited to: "square" pattern, "square inside a square" pattern, "day" pattern, etc.

[0169] According to different region - division conditions and the number of regions, the computing device can obtain regions in different ways. Below, taking the computing device dividing the second sub - tile into two regions with the difference in area less than the area threshold and forming a "square" pattern, and dividing the second sub - tile into three regions forming a "square inside a square" pattern as examples, the way for the computing device to divide the sub - tile is exemplarily illustrated. Among them, the second sub - tile belongs to the target sub - tile.

[0170] Example A, the computing device divides the second sub - tile into two regions with the difference in area less than the area threshold and forming a "square" pattern.

[0171] Let the second sub-block be a rectangle, and the coordinates of the four corner points of the second sub-block be (0, 0), (a, 0), (a, b), and (0, b) respectively. In this case, the computing device can use the rectangle formed by the corner coordinates (a / 6, b / 6), (a / 6, 5b / 6), (5a / 6, 5b / 6), and (5a / 6, b / 6) as a region (such as the third region), and use the region in the second sub-block except the third region as the fourth region. In some possible examples, the third region can also be called the middle region, and the fourth region can also be called the peripheral region. And it can be said that the third region and the fourth region are regions in the second sub-block, or it can be said that the third region and the fourth region are regions in the second block, or it can also be said that the third region and the fourth region are regions in the carrier image.

[0172] Example B, the computing device divides the second sub-block into: three regions forming a "hui" character pattern.

[0173] Let the second sub-block be a square, and the coordinates of the four corner points of the second sub-block be (0, 0), (a, 0), (a, a), and (0, a) respectively. In this case, the computing device can use the square formed by the corner coordinates (2a / 7, 2a / 7), (5a / 7, 2a / 7), (5a / 7, 5a / 7), and (2a / 7, 5a / 7) as a region (such as the third region), use the region in the square formed by the corner coordinates (a / 7, a / 7), (6a / 7, a / 7), (6a / 7, 6a / 7), and (a / 7, 6a / 7) except the third region as a region (such as the fourth region), and use the region in the square formed by the corner coordinates (0, 0), (a, 0), (a, a), and (0, a) except the fourth region and the third region as a region (such as the fifth region).

[0174] The above has given an exemplary description of the way the computing device divides to obtain at least two regions. Below, taking the example that the computing device divides each sub-block in the second block into two regions with an area difference less than an area threshold and forming a "kou" character pattern, the process of the computing device embedding watermark information into the block will be described.

[0175] S52, the computing device obtains the pixel statistical value of the target region in the target sub-block.

[0176] Among them, the target region is part or all of at least two regions included in the target sub-block, and the number of target regions is greater than or equal to 2.

[0177] In this case, the computing device obtains pixel statistics for the target area of ​​each sub-block in the target sub-block. The computing device may use the following process to obtain the pixel statistics for the target area of ​​a sub-block. Specifically, the computing device may obtain pixel values ​​of pixels in each area of ​​the target area, and obtain pixel statistics corresponding to each area based on the pixel values ​​of the pixels in each area.

[0178] For example, the second sub-block includes a third region and a fourth region in a "mouth"-shaped pattern, and the computing device may use both the third region and the fourth region as target regions. In this case, the computing device obtains the pixel value of each pixel in the third region and obtains the pixel mean of the pixels in the third region. The computing device uses the pixel mean of the third region as the pixel statistics of the third region. Similarly, the computing device may obtain the pixel mean of the fourth region and use it as the pixel statistics of the fourth region.

[0179] For another example, the second sub-block is the third to fifth regions in a "U"-shaped pattern, and the computing device can use two regions (e.g., the third and fifth regions) from the third to fifth regions as target regions. In this case, the computing device can use the method described above to obtain pixel statistics for the third region and the fifth region.

[0180] For another example, the computing device may use the second sub-image block of the third through fifth regions in a U-shaped pattern, and the computing device may use the third through fifth regions as target regions. In this case, the computing device may use the method described above to obtain pixel statistics corresponding to each of the third through fifth regions.

[0181] The above description uses the example of a second sub-block including two or three regions to illustrate the process of a computing device obtaining pixel statistics for a target region of a single sub-block. Depending on the needs of the actual application, if the second sub-block also includes other regions, the computing device can also use the method described above to obtain pixel statistics for these other regions, which will not be further described here. Furthermore, the computing device can use the method described above to obtain pixel statistics for the target region in each sub-block included in the target sub-block.

[0182] S53: The computing device adjusts the size relationship between the pixel statistics of the target area in the target sub-block of the second block according to the bits in the bit string used to represent the watermark information.

[0183] In this case, the computing device may first determine the bits in the bit string corresponding to each sub-block in the target sub-block. The computing device may adjust the pixel values ​​of the pixels in different target areas in the sub-block according to the bits corresponding to the sub-blocks, thereby adjusting the magnitude relationship between the pixel statistics of the different target areas.

[0184] (A) The computing device determines the bits in the bit string corresponding to each sub-block in the target sub-block.

[0185] The computing device may use the following process to determine the bits in the bit string corresponding to each sub-block in the target sub-block. Specifically, the computing device determines the bits corresponding to each sub-block based on the bit sub-block correspondence conditions. The bit sub-block correspondence conditions include but are not limited to: the bit sequence number is the same as the sub-block sequence number, the sum of the bit sequence number and the sub-block sequence number is the specified sequence number sum, etc. In this case, the computing device may obtain the bit sequence number of each bit in the bit string, as well as the sub-block sequence number of each sub-block in the target sub-block. The computing device may sort each bit in the bit string according to the bit sorting rule to determine the bit sequence number corresponding to each bit. The bit sorting rule includes but is not limited to: sorting each bit in the bit string in order from front to back, and sorting each bit in the bit string in order from back to front. The sub-block sorting rule includes but is not limited to: sorting in order from top to bottom, left to right, or from left to right, top to bottom according to the position of the sub-block in the block.

[0186] Exemplarily, the bit string used to represent the watermark information is "011010." The second block in the carrier image is divided into sub-blocks 1 to 9. Sub-blocks 1 to 9 form a 3×3 matrix, with one sub-block representing a point in the matrix. Sub-blocks 1 to 3 are located in the 1st to 3rd columns of the 1st row of the matrix, respectively. Sub-blocks 4 to 6 are located in the 1st to 3rd columns of the 2nd row of the matrix, respectively. Sub-blocks 7 to 9 are located in the 1st to 3rd columns of the 3rd row of the matrix, respectively. Sub-blocks 1 to 6 of sub-blocks 1 to 9 are target sub-blocks. The bit sub-block correspondence condition is that the bit sequence number is the same as the sub-block sequence number. The bit sorting rule sorts the bits in the bit string from front to back. The sub-block sorting rule is to sort the sub-blocks from top to bottom and from left to right according to their position in the block. In this case, the bit numbers of "0", "1", "1", "0", "1", and "0" are bit numbers 1 to 6 respectively. The sub-block numbers of sub-blocks 1 to 9 are sub-block numbers 1 to 9 respectively. Sub-blocks 1 to 6 and each bit in the bit string can have Figure 7 The corresponding relationship shown, Figure 7 This is an example diagram of the correspondence between bits in a bit string and sub-blocks in a target sub-block provided by this application, such as Figure 7As shown, the following correspondence exists between the sub-blocks and bits of the first block in the target image: bit "0" corresponding to bit number 1 is embedded in sub-block 1 corresponding to sub-block number 1, bit "1" corresponding to bit number 2 is embedded in sub-block 2 corresponding to sub-block number 2, bit "1" corresponding to bit number 3 is embedded in sub-block 3 corresponding to sub-block number 3, bit "0" corresponding to bit number 4 is embedded in sub-block 4 corresponding to sub-block number 4, bit "1" corresponding to bit number 5 is embedded in sub-block 5 corresponding to sub-block number 5, and bit "0" corresponding to bit number 6 is embedded in sub-block 6 corresponding to sub-block number 6. The first block in the target image corresponds to the second block in the carrier image.

[0187] (B) The computing device adjusts the size relationship between the pixel statistics of different target areas in the sub-block according to the bits corresponding to the sub-block.

[0188] The computing device may adjust the size relationship between the pixel statistics of different target areas in the sub-block according to the pixel statistics adjustment condition and the bit corresponding to the sub-block. The pixel statistics adjustment condition includes but is not limited to: if the bit corresponding to the sub-block is a specified value, then the pixel value of the pixel point of at least one target area in the sub-block is adjusted so that the pixel statistics of each target area satisfies the specified size relationship. The specified size relationship may mean that the pixel statistics of each target area are within a specified pixel difference range. The specified pixel difference range may vary according to the needs of the actual application. For example, the specified size relationship may mean that the pixel statistics of each target area are within a pixel difference range consisting of 0.5 to 4.

[0189] The following uses an example in which the target area of ​​the sub-block includes two areas or three areas to exemplify how the computing device adjusts the size relationship between pixel statistics of different areas in the target area of ​​the sub-block according to bits corresponding to the sub-block.

[0190] (b1) The target area of ​​the sub-tile includes two regions.

[0191] Depending on the value of the bit corresponding to the sub-block, the process of embedding the corresponding bit into the sub-block by the computing device is different, which are described below respectively.

[0192] In case 1, the value of the bit corresponding to the sub-block is "1".

[0193] Assume that the sub-block is the second sub-block, and the target area of ​​the second sub-block includes: a third area and a fourth area. The third area has a pixel statistic a1, and the fourth area has a pixel statistic b1, where pixel statistic a1 is less than pixel statistic b1. The first bit corresponding to the second sub-block is "1." The pixel statistic adjustment condition includes: if the bit corresponding to the sub-block is 1, adjusting the pixel values ​​of the pixels in the third area so that the adjusted pixel statistics of the third area are greater than or equal to the pixel statistics of the fourth area. In this case, the computing device adjusts the pixel values ​​of the pixels in the third area to obtain an adjusted pixel statistic a2. And the adjusted pixel statistic a2 is greater than the pixel statistic b1. The computing device changes the size relationship between the pixel statistics of different areas in the sub-block so that the adjusted size relationship matches the size relationship indicated by the bit corresponding to the sub-block. In this way, the computing device embeds the first bit "1" corresponding to the second sub-block into the second sub-block.

[0194] In case 2, the value of the bit corresponding to the sub-block is "0".

[0195] Unlike scenario 1, the pixel statistics adjustment condition further includes: if the bit corresponding to the sub-block is 0, adjusting the pixel values ​​of the pixels in the third region so that the adjusted pixel statistics of the third region are less than the pixel statistics of the fourth region. Furthermore, the computing device adjusts the pixel values ​​of the pixels in the third region to obtain an adjusted pixel statistics a3. The adjusted pixel statistics a3 is less than the pixel statistics b1.

[0196] The above description uses the example of a pixel statistics adjustment condition indicating adjustment of the pixel values ​​of pixels in the third region to illustrate the process by which the computing device embeds the first bit into the second sub-block. Depending on the needs of the actual application, the pixel statistics adjustment condition may also indicate adjustment of the pixel values ​​of pixels in the fourth region, the pixel values ​​of pixels in the third region, and the pixel values ​​of pixels in the fourth region, but this application does not limit this.

[0197] (b2) The target area of ​​the sub-tile includes three regions.

[0198] Assume that the sub-block is the second sub-block, and the target area of ​​the second sub-block includes the third through fifth areas. The third area has a pixel statistic a1, the fourth area has a pixel statistic b1, and the fifth area has a pixel statistic c1, where pixel statistic a1 < pixel statistic b1 < pixel statistic c1. The first bit corresponding to the second sub-block is "1." Similar to the above, depending on the pixel statistic adjustment conditions, the computing device can adjust the pixel values ​​of pixels in at least one of the third through fifth areas.

[0199] Exemplarily, the pixel statistics adjustment condition includes: if the bit corresponding to the sub-block is "1", then adjusting the pixel values ​​of the pixels of at least one area (such as the fourth area) from the third area to the fifth area so that the pixel statistics of the third area ≤ the adjusted pixel statistics of the fourth area, and the adjusted pixel statistics of the fourth area ≥ the pixel statistics of the fifth area. In this case, the computing device adjusts the pixel values ​​of the pixels of the fourth area to obtain the adjusted pixel statistics b2 of the fourth area. And the pixel statistics a1 of the third area ≤ the adjusted pixel statistics b2 of the fourth area, and the adjusted pixel statistics b2 of the fourth area ≥ the pixel statistics c1 of the fifth area. The computing device changes the size relationship between the pixel statistics of different areas in the sub-block so that the adjusted size relationship matches the size relationship indicated by the bit corresponding to the sub-block. In this way, the computing device embeds the first bit "1" corresponding to the second sub-block into the second sub-block.

[0200] In another exemplary embodiment, the pixel statistics adjustment condition includes: if the bit corresponding to the sub-block is "0", the pixel values ​​of the pixels of at least one area (such as the fourth area) from the third area to the fifth area are adjusted so that the pixel statistics of the third area ≥ the adjusted pixel statistics of the fourth area, and the adjusted pixel statistics of the fourth area ≤ the pixel statistics of the fifth area. In this case, the computing device adjusts the pixel values ​​of the pixels of the fourth area to obtain the adjusted pixel statistics b3 of the fourth area. And the pixel statistics a1 of the third area ≥ the adjusted pixel statistics b3 of the fourth area, and the adjusted pixel statistics b3 of the fourth area ≥ the pixel statistics c1 of the fifth area. The computing device changes the size relationship between the pixel statistics of different areas in the sub-block so that the adjusted size relationship matches the size relationship indicated by the bit corresponding to the sub-block. In this way, the computing device embeds the first bit "0" corresponding to the second sub-block into the second sub-block.

[0201] Similar to the above, the pixel statistics adjustment condition can also indicate adjusting the pixel values ​​of pixels in other areas so that the size relationship between the pixel statistics of each area meets the specified size relationship. Please refer to the above for related description and will not be repeated here.

[0202] Figure 8 This application provides a watermark information embedding effect diagram, such as Figure 8As shown in (a), in this example, the computing device divides the sub-block into a third region (or middle region) and a fourth region (or peripheral region) forming a "mouth"-shaped pattern. When the bit corresponding to the sub-block is "1," the pixel values ​​of the pixels in the third region are adjusted so that the adjusted pixel statistics of the third region are greater than or equal to the pixel statistics of the fourth region. When the bit corresponding to the sub-block is "0," the pixel values ​​of the pixels in the third region are adjusted so that the adjusted pixel statistics of the third region are less than the pixel statistics of the fourth region.

[0203] The above describes the process by which a computing device adjusts the magnitude relationship between pixel statistics in different regions within a target sub-tile. In some possible scenarios, the computing device can adjust the pixel values ​​of specified pixels within a region to adjust the pixel statistics for that region. Specified pixels may include pixels whose contrast meets contrast requirements and / or whose texture complexity meets complexity requirements. In this way, the computing device can adjust the pixel values ​​of some pixels in a sub-tile to embed watermark information into the sub-tile, increasing the transparency of the embedded watermark information, based on the needs of the actual application or business scenario. Figure 8 In (b), the computing device may adjust the pixel values ​​of some pixels in the third area of ​​the sub-block (e.g. Figure 8 (b) so that the size relationship between the adjusted pixel statistics of the third region and the pixel statistics of the fourth region conforms to the specified size relationship.

[0204] The following uses an example in which the watermark information is represented by a bit string with a specified length of 128 bits, the computing device divides the carrier image into 9 blocks, divides each of the 9 blocks into 128 sub-blocks, divides each sub-block of each block into a sub-block whose area difference is less than an area threshold and forms a "mouth"-shaped pattern, and the computing device embeds watermark information into each of the 9 blocks. This example illustrates the process of embedding watermark information into the carrier image by the computing device.

[0205] Figure 9 This is a flow chart of a watermark information embedding method provided by this application, such as Figure 9 As shown in (a), the process includes the following <1> to <7> .

[0206] <1> The computing device obtains watermark information.

[0207] <2> The computing device binarizes the watermark information to obtain a bit string used to represent the watermark information.

[0208] <3> The computing device obtains the carrier image.

[0209] <4> The computing device converts the carrier image into a YUV mode to obtain a carrier image after the conversion mode.

[0210] <5> The computing device obtains an image of the Y channel of the carrier image after the mode conversion.

[0211] <6> The computing device divides the Y channel image into 9 tiles of equal area.

[0212] <7> The computing device embeds a watermark information into each of the nine tiles to obtain a target image.

[0213] The following describes the process of embedding watermarks in a block using an example where a computing device embeds a watermark in one of nine blocks. The computing device can then embed a watermark in each of the other eight blocks, obtaining the target image.

[0214] Specifically, such as Figure 9 As shown in (b), the computing device can use the following <71> to <74> Embed a watermark into a tile.

[0215] <71> The computing device divides the tile into 128 sub-tiles of equal area.

[0216] <72> The computing device divides each of the 128 sub-blocks into a middle region (not marked in the figure) and a peripheral region (not marked in the figure) whose area difference is less than an area threshold.

[0217] <73> The computing device determines the bits in the bit string corresponding to each sub-tile of the respective tile.

[0218] <74> The computing device adjusts the size relationship between the pixel statistics of each area in the sub-block to a specified size relationship according to the value of the bit corresponding to the sub-block.

[0219] In this case, a specified size relationship between pixel statistics of different regions of a sub-block is used to indicate the embedded bits of the sub-block.

[0220] Exemplarily, the 128 sub-blocks of the image block include: sub-block 1 and sub-block 128. The bit corresponding to sub-block 1 is "1", and the bit corresponding to sub-block 128 is "0". In this case, if the pixel statistics of the middle area of ​​sub-block 1 are less than the pixel statistics of the surrounding area, the computing device increases the pixel values ​​of the specified pixel points in the middle area of ​​sub-block 1 so that the pixel statistics of the middle area are greater than or equal to the pixel statistics of the surrounding area. If the pixel statistics of the middle area of ​​sub-block 128 are greater than the pixel statistics of the surrounding area, the computing device decreases the pixel values ​​of the specified pixel points in the middle area of ​​sub-block 1 so that the pixel statistics of the middle area are less than the pixel statistics of the surrounding area.

[0221] In some possible scenarios, a computing device may select a pure blue image as a carrier image and embed watermark information into the carrier image using the method described above to obtain a target image. Furthermore, a watermark pattern formed by color differences can be observed in the target image or in the target image after target image processing. Target image processing includes, but is not limited to, magnification (e.g., 10x magnification), histogram color adjustment, and the like. In this way, the watermark information in the target image obtained using the watermark processing method provided in this application can be intuitively observed.

[0222] The above description describes how a computing device embeds watermark information into a carrier image to obtain a target image. Depending on the needs of the application, the computing device can also extract the watermark information from the embedded watermark image. The watermarked image mentioned above can refer to the target image or an image processed from the target image. For details on image processing methods, please refer to the above description and will not be repeated here.

[0223] Based on this, the present application also provides a watermark extraction method. Similarly, the method can be executed by a single computing device, a computing device cluster including multiple computing devices, a component of a computing device (such as a processor, chip or chip system of a computing device), etc., and can also be implemented by a logic module or software. In the case where the watermark extraction method is executed by a single computing device, the computing device can be Figure 2 The computing device 210 and the client device 220 shown in the figure can be referred to in the aforementioned Figure 2 In the case where the watermark extraction method is executed by a component of a computing device, the computing device component may be Figure 3 The chips shown in the figure, etc., can refer to the aforementioned hardware implementation of the chip Figure 3 In some optional examples, the watermark extraction method can also be executed by other computing devices. For the hardware implementation of the computing device, please refer to the aforementioned Figure 2 and Figure 3 The description is not repeated here.

[0224] Here, a single computing device is used to execute the watermark extraction method provided in this embodiment as an example for explanation. Figure 10 A flow chart of a watermark extraction method provided in this application is shown as follows: Figure 10 As shown, the watermark extraction method provided in this embodiment includes the following S1010 to S1030.

[0225] S1010: The computing device obtains a target image.

[0226] The target image may refer to an image after watermark information is embedded, or may refer to an image after image processing is performed on an image after watermark information is embedded. This application does not limit this. For more information about the target image, please refer to the above and will not be repeated here. The computing device can receive the target image sent by other devices communicating with it.

[0227] In some possible scenarios, after acquiring the target image, the computing device may perform image preprocessing on the target image to obtain a preprocessed image. The computing device then executes S1020 and S1030 on the preprocessed image to extract the watermark. Image preprocessing includes, but is not limited to, denoising and affine transformation. Figure 11 This application provides a schematic diagram of image preprocessing for a target image, such as Figure 11 As shown, the computing device performs an affine transformation on the target image to obtain an affine transformed image. In some possible examples, the above-mentioned image preprocessing process can also be performed by other devices, which is not limited in this application. In the case where the image preprocessing is performed by other devices, in this case, the other devices send the preprocessed image to the computing device. The computing device receives the preprocessed image and uses it as the target image.

[0228] S1020: The computing device obtains pixel statistics of different areas in the target image.

[0229] The pixel statistics are used to reflect the color and / or brightness of the area.

[0230] The computing device may use the following (a) to (d) to obtain pixel statistics of different regions in the target image.

[0231] (a) The computing device may divide the target image into at least one tile (eg, M tiles).

[0232] In this case, the computing device can divide the target image into at least one block (e.g., M blocks) in the same manner as when the watermark information is embedded in the carrier image. For an explanation of the division method, please refer to the relevant description in (1) above, which will not be repeated here.

[0233] (b) The computing device divides each of all or part of the M tiles (eg, N tiles) into at least one sub-tile.

[0234] In this case, the computing device can divide each of the N blocks into at least one sub-block in the same manner as when embedding the watermark information into the carrier image. For an explanation of the division method, please refer to the relevant description in (2) above, which will not be repeated here.

[0235] (c) The computing device divides part or all of the sub-blocks in at least one sub-block of each block into at least two areas.

[0236] In this case, the computing device may divide some or all of the at least one sub-image block into at least two regions in the same manner as the sub-image block is divided into at least two regions when the watermark information is embedded in the carrier image. For an explanation of the division method, please refer to the relevant description of S51 above and will not be repeated here.

[0237] (d) The computing device obtains pixel statistics corresponding to each region of each sub-block based on pixel values ​​of pixels included in the region.

[0238] In this case, the computing device can obtain the pixel statistics corresponding to the region in the same manner as when the watermark information is embedded in the carrier image. For an explanation of how the computing device obtains the pixel statistics of the region, please refer to the relevant description of S52 above, which will not be repeated here.

[0239] After executing S1020 above to obtain pixel statistics of different regions, the computing device may further execute S1030 to extract watermark information.

[0240] S1030: The computing device extracts watermark information based on a size relationship between pixel statistics in different regions of the target image.

[0241] The watermark information is used to indicate the source of the target image. The computing device can extract the watermark information using the following (A) to (C).

[0242] (A) The computing device may determine the bits corresponding to the sub-blocks based on a relationship between pixel statistics of different regions in each sub-block, based on a manner of embedding bits in a bit string into the sub-blocks.

[0243] For example, the sub-block includes two areas, such as a first area and a second area. The pixel statistics adjustment condition includes: if the value of the bit corresponding to the sub-block is "1". Adjust the pixel values ​​of the pixels in the third area so that the adjusted pixel statistics of the third area are greater than or equal to the pixel statistics of the fourth area. If the value of the bit corresponding to the sub-block is "0". Adjust the pixel values ​​of the pixels in the third area so that the adjusted pixel statistics of the third area are less than the pixel statistics of the fourth area. The third area is the area corresponding to the first area in the carrier image, and the fourth area is the area corresponding to the second area in the carrier image. In this case, if the pixel statistics of the first area are greater than or equal to the pixel statistics of the second area, the computing device determines that the bit corresponding to the sub-block is "1". If the pixel statistics of the first area are less than the pixel statistics of the second area, the computing device determines that the bit corresponding to the sub-block is "0".

[0244] For another example, the sub-image block includes three areas, such as the first area, the second area, and the sixth area. The pixel statistics adjustment condition includes: if the value of the bit corresponding to the sub-image block is "1", the pixel values ​​of the pixels in the fourth area are adjusted so that the pixel statistics of the third area are ≤ the adjusted pixel statistics of the fourth area, and the adjusted pixel statistics of the fourth area are ≥ the pixel statistics of the fifth area. If the value of the bit corresponding to the sub-image block is "0", the pixel values ​​of the pixels in the fourth area are adjusted so that the pixel statistics of the third area are ≥ the adjusted pixel statistics of the fourth area, and the adjusted pixel statistics of the fourth area are ≤ the pixel statistics of the fifth area. The third area is the area corresponding to the first area in the carrier image, the fourth area is the area corresponding to the second area in the carrier image, and the fifth area is the area corresponding to the sixth area in the carrier image. In this case, if the pixel statistics of the first area are ≤ the pixel statistics of the second area, and the pixel statistics of the second area are ≥ the pixel statistics of the sixth area, the computing device determines that the bit corresponding to the sub-image block is "1". If the pixel statistics of the first region ≥ the pixel statistics of the second region, and the pixel statistics of the second region ≤ the pixel statistics of the sixth region, the computing device determines that the bit corresponding to the sub-block is “0”.

[0245] The above description uses the example of the relationship between the pixel statistics of two or three regions within a sub-block indicating the embedded bits of the sub-block to illustrate the process of extracting the embedded bits from the sub-block by a computing device. Depending on the needs of the actual application, the number of regions in the sub-block used to indicate the embedded bits, the pixel statistics adjustment conditions, and other factors, the computing device may also use other methods to extract the embedded bits from the sub-block, and this application is not limited thereto.

[0246] (B) The computing device obtains bits corresponding to each sub-block in some or all sub-blocks of the block to which the sub-block belongs, and obtains a bit string for representing the watermark information based on the obtained bits corresponding to each sub-block in some or all sub-blocks.

[0247] In this case, the computing device can determine the order of the bits corresponding to some or all of the sub-blocks in the image block based on the correspondence between the bits in the bit string and some or all of the sub-blocks in the image block. Furthermore, the computing device can obtain a bit string representing the watermark information based on the order of the bits and the bits corresponding to each sub-block in some or all of the sub-blocks of the image block. The computing device can determine the order of the bits corresponding to some or all of the sub-blocks based on the correspondence between the sub-blocks used in the process of embedding the watermark information and the bits in the bit string. For the correspondence between the sub-blocks and the bits in the bit string, please refer to the description of A in S53 above and will not be repeated here.

[0248] (C) The computing device converts the bit string used to represent the watermark information to obtain the watermark information.

[0249] In this case, the computing device can convert the bit string representing the watermark information into watermark information with physical meaning. For example, the computing device can convert the bit string representing the watermark information into an employee code. For details on this part, please refer to the general technical description and will not be repeated here.

[0250] In some possible situations, the computing device may not execute (C) but directly use the bit string as watermark information, which is not limited in this application.

[0251] In some possible situations, positioning information is also embedded in the target image. In this case, the computing device can obtain the positioning information embedded in each of the N blocks after obtaining the target image. The positioning information embedded in each block is used to reflect the position of the watermark information in the corresponding block. And what is different from the above is that the computing device can obtain the pixel statistics of different areas included in the block from the position reflected by the positioning information embedded in the block, and determine the bits corresponding to the sub-block based on the size relationship between the pixel statistics of the above different areas. That is, the computing device extracts the watermark information from the position reflected by the positioning information. For example, the computing device obtains the positioning information embedded in the first block, and obtains the size relationship between the pixel statistics of different areas included in the first block based on the position reflected by the positioning information. Among them, the N blocks include: the first block. For more description of the positioning information, please refer to the above and will not be repeated here.

[0252] The above describes the process of extracting watermark information by the computing device from S1010 to S1030. Figure 9The described process is taken as an example of embedding watermark information into a carrier image to obtain a target image, and the watermark extraction method provided in this application is exemplarily explained.

[0253] Figure 12 This is a flow chart of a watermark extraction method provided by this application, such as Figure 12 As shown, the process includes the following <1> to <9> .

[0254] <1> The computing device acquires a target image.

[0255] The computing device may receive an image sent by another device and use the image as a target image. The computing device may also perform image preprocessing on the received image and use the preprocessed image as the target image, which is not limited in this application.

[0256] <2> The computing device divides the target image into at least one tile (such as tiles 1 to 9 ).

[0257] <3> The computing device divides each of all or part of the 9 tiles (such as all tiles) into at least one sub-tile (such as 128 sub-tiles).

[0258] <4> The computing device divides each sub-image block in all or part of the sub-image blocks (e.g., all sub-image blocks) in at least one sub-image block into two regions. For example, the computing device divides sub-image block 1 into region 11 (not labeled in the figure) and region 12 (not labeled in the figure), and divides sub-image block 128 into region 21 (not labeled in the figure) and region 22 (not labeled in the figure).

[0259] <5> The computing device obtains pixel statistics of two regions included in each of the 128 sub-blocks. For example, the computing device obtains pixel statistics 11 of region 11, pixel statistics 12 of region 12, pixel statistics 21 of region 21, and pixel statistics 22 of region 22.

[0260] <6> The computing device determines the corresponding bit for each sub-block based on the magnitude relationship between the pixel statistics of the two regions included in each sub-block. For example, the computing device determines that sub-block 1 should embed a bit "0" based on the fact that pixel statistics 11 is greater than pixel statistics 12. The computing device determines that sub-block 128 should embed a bit "1" based on the fact that pixel statistics 21 is less than pixel statistics 22.

[0261] <7> The computing device determines the order of the 128 bits corresponding to the 128 sub-blocks based on the correspondence between the bits used to embed the bits in the bit string into the 128 sub-blocks and the sub-blocks. For example, the computing device determines that bit "0" corresponding to sub-block 1 has bit sequence number 1, and determines that bit "1" corresponding to sub-block 128 has bit sequence number 128.

[0262] <8> The computing device determines a bit string for representing the watermark information according to the sequence of the 128 bits.

[0263] <9> The computing device converts the bit string used to represent the watermark information into watermark information with physical meaning.

[0264] Combined with the above Figure 12 The watermark extraction method provided in this application is exemplified below. Figure 13 The application scenarios of the watermark processing (ie, embedding and extraction) method provided in this application are exemplified.

[0265] Figure 13 This is an application example diagram of a watermark processing method provided by this application, such as Figure 13 As shown in (a), employee 1 in organization A uses computer 1. The employee code of employee 1 is employee code 1. In this case, the computing device can obtain the display screen of computer 1 and use the watermark embedding method described above to embed watermark information into the display screen to obtain the target image. The watermark information includes: employee code 1, the ID of computer 1, and the time and place when computer 1 generates the display screen. The computing device sends the target image to computer 1, and the display of computer 1 displays the target image. When the display screen of computer 1 is photographed and the photographed display screen is disseminated via the Internet, the computing device can download the photographed display screen from the Internet. The computing device can use the watermark extraction method described above to extract the watermark information from the photographed display screen, and determine that the photographed display screen is the display screen of employee 1's computer 1 based on the watermark information, and then determine that computer 1 is the computer where information has been leaked.

[0266] Figure 13 The scenario described in (b) is similar to Figure 13 The difference between (a) and the watermark information is that the watermark information includes the organization code of organization A. The computing device determines that the target image is a screen shot of a device belonging to organization A based on the watermark information. If the content in the target image is content requiring protection, the computing device can determine that the copyright of the content in the target image belongs to organization A based on the watermark information.

[0267] In this application, a computing device embeds watermark information into a carrier image and indicates the watermark information by using the size relationship between pixel statistics in different regions of the target image. Furthermore, the computing device extracts the watermark information based on the size relationship between the pixel statistics in different regions of the target image. In this way, the computing device uses the size relationship between the pixel statistics in different regions to indicate the watermark information. Even if the pixel values ​​of pixels in the target image change, the computing device can still extract the watermark information based on the size relationship between the pixel statistics in different regions of the image. This improves the robustness of the embedded watermark information and provides a guarantee for the computing device to extract watermark information from the image.

[0268] It is understood that in order to implement the functions in the above embodiments, the computing device includes hardware structures and / or software modules corresponding to the execution of each function. It should be readily apparent to those skilled in the art that, in combination with the units and method steps of each example described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a manner driven by computer software depends on the specific application scenario and design constraints of the technical solution.

[0269] Combined with the above Figures 1 to 13 , describes in detail the watermark processing method provided by this embodiment, and will be combined with Figure 14 , describes the watermark processing device provided by this embodiment.

[0270] Figure 14 This is a schematic diagram of the structure of a watermark processing device provided by this application, such as Figure 14 As shown, the watermark processing apparatus 1400 includes an acquisition module 1410 and a processing module 1420. The watermark processing apparatus 1400 can be used to implement the function of a computing device in a watermark embedding method, and can also be used to implement the function of a computing device in a watermark extraction method.

[0271] when Figure 14 When the watermark processing apparatus shown is used to implement the function of the computing device in the watermark embedding method, the watermark processing apparatus 1400 includes: an acquisition module 1410 and a processing module 1420. The watermark processing apparatus 1400 may be Figure 2 The computing device 210 and the client device 220 shown may also be Figure 3 The chip shown. The acquisition module 1410 can be used to implement the functions implemented in S410 and S420 of the above method embodiment, and the processing module 1420 can be used to implement the function implemented in S430 of the above method embodiment. For more description of the acquisition module 1410 and the processing module 1420, please refer to the relevant description of the computing device in the watermark embedding method above, which will not be repeated here.

[0272] when Figure 14 When the watermark processing apparatus shown is used to implement the function of the computing device in the watermark extraction method, the watermark processing apparatus 1400 includes: an acquisition module 1410 and a processing module 1420. The watermark processing apparatus 1400 may be Figure 2 The computing device 210 and the client device 220 shown may also be Figure 3 The chip shown. The acquisition module 1410 can be used to implement the functions implemented by S1010 in the above method embodiment, and the processing module 1420 can be used to implement the functions implemented by S1020 and S1030 in the above method embodiment. For more description of the acquisition module 1410 and the processing module 1420, please refer to the relevant description of the computing device in the watermark extraction method above, which will not be repeated here.

[0273] When the watermark processing apparatus 1400 corresponds to executing the steps performed by the computing device in the watermark processing method described in the embodiments of the present application, the above-mentioned and other operations and / or functions of each module in the watermark processing apparatus 1400 are respectively for realizing the method flow performed by the computing device in the aforementioned figures.

[0274] The above-mentioned watermark processing device can be implemented by software or hardware.

[0275] When the watermark processing device is implemented as a software module, the software module can be provided in a variety of ways. For example, the software module can be provided to users through a cloud service subscription model, and users can choose different subscription tiers according to their needs. For another example, the software module can also provide enterprise-level customization services with professional domain customization, interface personalization, and extended functions according to the needs of users or enterprises.

[0276] In addition, the watermark processing device 1400 provided in this application can also be made into a value-added service and provided to users, which is not limited in this application.

[0277] In the case where the watermark processing device is implemented by hardware, the watermark processing device may be a computing device, a chip or a processor. For the specific implementation of the computing device, please refer to Figure 2 For the specific implementation of chips and processors, please refer to Figure 3 The description is not repeated here.

[0278] The acquisition module 1410 and the processing module 1420 can be implemented by software, hardware, or a combination of software and hardware, which is not limited in this application. Next, the implementation of the processing module 1420 will be described using the processing module 1420 as an example. Similarly, the implementation of the acquisition module 1410 can refer to the implementation of the processing module 1420.

[0279] As an example of a software functional unit, the processing module 1420 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, the processing module 1420 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically close data centers. Typically, a region may include multiple AZs.

[0280] Similarly, multiple hosts / virtual machines / containers running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.

[0281] As an example of a hardware functional unit, processing module 1420 may include at least one computing device, such as a server. Alternatively, processing module 1420 may be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0282] When processing module 1420 includes at least two computing devices, the at least two computing devices included in processing module 1420 can be distributed in the same region or in different regions. The at least two computing devices included in processing module 1420 can be distributed in the same AZ or in different AZs. Similarly, the at least two computing devices included in processing module 1420 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0283] It should be noted that, in other embodiments, the acquisition module 1410 can be used to execute any step in the watermark processing method, and the processing module 1420 can be used to execute any step in the watermark processing method. The steps that the acquisition module 1410 and the processing module 1420 are responsible for implementing can be specified as needed. The full functions of the watermark processing device 1400 are realized by implementing different steps in the watermark processing method through the acquisition module 1410 and the processing module 1420 respectively.

[0284] The method steps in this embodiment can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a computing device. Of course, the processor and storage medium can also exist as discrete components in a network device or a terminal device.

[0285] The present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a device with data processing capabilities.

[0286] like Figure 15 As shown, Figure 15This is a schematic diagram of the structure of a computing device cluster provided in this application, which includes at least one computing device 210. The memory 212 in one or more computing devices 210 in the computing device cluster may store the same instructions for executing a watermark processing method. The watermark processing method includes: a watermark embedding method, a watermark extraction method, and a watermark embedding and extraction method. The following uses the computing device cluster to implement the watermark embedding method as an example. Similarly, for the computing device cluster implementing the watermark extraction, watermark embedding, and extraction methods, please refer to the computing device cluster implementing the watermark embedding method.

[0287] In some possible implementations, the memory 212 of one or more computing devices 210 in the computing device cluster may also store partial instructions for executing the watermark embedding method. In other words, the combination of one or more computing devices 210 can jointly execute the instructions for executing the watermark embedding method.

[0288] It should be noted that the memory 212 in different computing devices 210 in the computing device cluster can store different instructions, each for executing part of the functions of the computing device in the watermark embedding method. In other words, the instructions stored in the memory 212 in different computing devices 210 can implement the functions of one or more modules in the acquisition module 1410 and the processing module 1420.

[0289] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network, which may be a wide area network or a local area network. Figure 16 A possible implementation is shown. Figure 16 As shown, Figure 16 This application provides a schematic diagram of a connection between computing devices. Two computing devices 210A and 210B are connected via a network. Specifically, the connection to the network is achieved through a communication interface in each computing device. In this possible implementation, the instructions stored in the memory 212 of computing device 210A can implement the functions implemented by the acquisition module 1410. Simultaneously, the instructions stored in the memory 212 of computing device 210B can implement the functions implemented by the processing module 1420.

[0290] The present application also provides a computer program product containing instructions. This computer program product can be software or a program product containing instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform a watermark embedding and / or extraction method.

[0291] The present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device, or a data storage device such as a data center that contains one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the watermark embedding and / or extraction method.

[0292] This application also provides a chip. The chip includes an interface circuit and a control circuit. The interface circuit is used to obtain a carrier image and watermark information, and the control circuit is used to implement the functions of a computing device in a watermark embedding method. Furthermore, the interface circuit is used to obtain a target image, and the control circuit is used to implement the functions of a computing device in a watermark extraction method. Furthermore, the interface circuit is used to obtain a carrier image, watermark information, and a target image, and the control circuit is used to implement the functions of a computing device in both the watermark embedding and extraction methods.

[0293] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the process or function described in the embodiments of the present application is performed in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device or other programmable device. The computer program or instruction can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program or instruction can be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired or wireless means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, a hard disk, or a tape; it can also be an optical medium, such as a digital video disc (DVD); it can also be a semiconductor medium, such as a solid state drive (SSD).

[0294] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and such modifications or substitutions should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A watermark extraction method, characterized in that: The method comprises: Acquire the target image; Obtaining pixel statistics of different regions in the target image; the pixel statistics are used to reflect the color and / or brightness of the region; Watermark information is extracted according to the size relationship between pixel statistics in different areas of the target image; wherein the watermark information is used to indicate: the source of the target image.

2. The method according to claim 1, characterized in that The target image includes: M blocks, where M is a positive integer; some or all of the M blocks carry the watermark information; Each of the N tiles includes at least one sub-tile, and each sub-tile in some or all of the sub-tiles included in the at least one sub-tile includes multiple areas, and the different areas are areas in one tile; wherein the M tiles include the N tiles.

3. The method according to claim 2, characterized in that The N tiles include a first tile, The extracting of watermark information according to the size relationship between pixel statistics of different regions in the target image includes: N watermark information are extracted according to the size relationship between pixel statistics of different areas of each of the N image blocks; one image block corresponds to one watermark information.

4. The method according to claim 3, characterized in that The watermark information is represented by a bit string, the N image blocks include: a first image block, the first image block includes: at least one sub-image block, a sub-image block includes: multiple areas, and the size relationship between pixel statistics of different areas in a sub-image block is used to indicate: a bit in the bit string.

5. The method according to claim 4, characterized in that The first block includes: a first sub-block, the first sub-block includes: a first area and a second area, The extracting N watermark information according to the size relationship between pixel statistics of different areas of each of the N image blocks includes: If the pixel statistics of the first area are greater than or equal to the pixel statistics of the second area, determining that the first bit corresponding to the first sub-block is a first value; If the pixel statistics of the first area are smaller than the pixel statistics of the second area, it is determined that the first bit corresponding to the first sub-block is a second value.

6. The method according to any one of claims 3 to 5, characterized in that The N picture blocks include: a first picture block, After acquiring the carrier image, the method further includes: Acquire positioning information embedded in each of the N blocks; the positioning information embedded in each block is used to reflect: the position of the watermark information in the corresponding block; The size relationship between pixel statistics of different regions of each of the N image blocks includes: The size relationship between pixel statistics of different areas included in the first image block is obtained from the position reflected by the positioning information embedded in the first image block.

7. The method according to claim 6, characterized in that Different areas of the first image block form a designated pattern, the positioning information is represented by the positioning pattern, and the positioning pattern is different from the designated pattern.

8. The method according to claim 7, characterized in that The positioning pattern has a centrally symmetrical shape.

9. The method according to claim 7 or 8, characterized in that The positioning pattern is located at a block outline of the first block.

10. The method according to any one of claims 1 to 9, characterized in that The pixel statistics include: pixel mean; Alternatively, the sum of pixel values, wherein the difference between the number of pixels in the different regions is less than the difference in quantity.

11. A watermark embedding method, characterized in that: The method comprises: Obtaining a carrier image; Acquire watermark information; the watermark information is used to indicate: the source of the carrier image; The watermark information is embedded in the carrier image to obtain a target image; wherein the watermark information is indicated by the size relationship between pixel statistics of different regions in the target image, and the pixel statistics are used to reflect the color and / or brightness of the region.

12. The method according to claim 11, characterized in that The target image includes: M blocks, where M is a positive integer; some or all of the M blocks carry the watermark information; Each of the N tiles includes at least one sub-tile, and each sub-tile in some or all of the sub-tiles included in the at least one sub-tile includes multiple areas, and the different areas are areas in one tile; wherein the M tiles include the N tiles.

13. The method according to claim 12, characterized in that The N tiles include a first tile, the first tile includes: at least one sub-tile, the at least one sub-tile includes: a first sub-tile, the first sub-tile includes: the first area and the second area, and the different areas include: the first area and the second area.

14. The method according to claim 13, wherein: The watermark information is represented by a bit string, and the magnitude relationship between pixel statistics between different regions in a sub-block is used to indicate: a bit in the bit string.

15. The method according to claim 14, characterized in that The bit string includes: a first bit; The indicating the watermark information by the size relationship between pixel statistics of different areas in the target image includes: If the first bit is a first value, the pixel statistics of the first region are greater than or equal to the pixel statistics of the second region; If the first bit is a second value, the pixel statistics of the first region are smaller than the pixel statistics of the second region.

16. The method according to claim 15, characterized in that The step of embedding the watermark information into the carrier image to obtain a target image includes: According to the value of the first bit, the pixel values ​​of the pixel points in the third area and / or the pixel values ​​of the pixel points in the fourth area in the carrier image are adjusted to obtain the target image; wherein, the third area corresponds to the first area, and the fourth area corresponds to the second area.

17. The method according to claim 16, characterized in that The adjusting the pixel values ​​of the pixels in the third area and / or the pixel values ​​of the pixels in the fourth area in the carrier image includes: Adjust the pixel value of the designated pixel point in the third area and / or the pixel value of the designated pixel point in the fourth area; wherein the designated pixel point is a pixel point whose contrast meets a contrast condition and / or whose texture complexity meets a complexity condition.

18. The method according to any one of claims 12 to 17, characterized in that Different areas of the sub-block constitute: a specified pattern.

19. The method according to any one of claims 11 to 18, characterized in that: Before obtaining the target image, the method further includes: Positioning information is embedded into the carrier image or the carrier image into which the watermark information is embedded; the positioning information is used to indicate the position of the watermark information in the target image.

20. The method according to claim 19, characterized in that Different areas of the sub-image block constitute a designated pattern, the positioning information is represented by the positioning pattern, and the positioning pattern is different from the designated pattern.

21. The method according to claim 20, characterized in that The target image includes: M blocks, the M blocks include: a first block, the positioning pattern is located at a block outline of the first block, and M is a positive integer.

22. A watermark processing device, characterized in that: The watermark processing device includes a module for executing the method according to any one of claims 1-21.

23. A processor, characterized in that: The processor includes an interface circuit and a control circuit; the interface circuit is used to obtain a target image block and cooperate with the control circuit to execute the method described in any one of claims 1-10, or the interface circuit is used to obtain a carrier image and watermark information and cooperate with the control circuit to execute the method described in any one of claims 11-21.

24. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 10, or so that the computing device cluster executes the method according to any one of claims 11 to 21.

25. A computer-readable storage medium, characterized in that The computer-readable storage medium includes computer instructions; when the computer instructions are executed in a computing device, the computing device executes the method according to any one of claims 1 to 10, or when the computer instructions are executed in a computing device, the computing device executes the method according to any one of claims 11 to 21.

26. A computer program product, characterized in that When the computer program product is run in a computing device, the computing device executes the method of any one of claims 1 to 10, or the computing device executes the method of any one of claims 11 to 21.