Hidden watermark embedding method and apparatus, and computing device cluster
By stitching together the pixels of multiple frames in a video stream into a two-dimensional image and embedding hidden watermark information under DCT-SVD modulation, the contradiction between robustness and transparency in hidden watermark technology is resolved, achieving stable embedding in the video without affecting the picture quality.
Patent Information
- Application Number
- PCT/CN2025/070394
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-30
- Filing Date
- 2025-01-03
- Publication Date
- 2025-12-11
AI Technical Summary
While maintaining robustness, existing hidden watermarking technologies struggle to ensure transparency, making the watermark susceptible to damage or affecting video quality.
By stitching together the pixels of multiple frames in a video stream into a two-dimensional image, and using DCT-SVD modulation to embed hidden watermark information in the sub-units of the two-dimensional image, the watermark information is selectively embedded at the edges or unimportant locations of the image, ensuring that the hidden watermark information is not destroyed during the compression or encoding process within the video frame.
The transparency and robustness of the hidden watermark in the video have been improved, ensuring that the hidden watermark exists stably in the video without affecting the picture quality.
Smart Images

Figure CN2025070394_11122025_PF_FP_ABST
Abstract
Description
A watermark embedding method, device and computing device cluster
[0001] The present application claims priority to the Chinese Patent Application No. 202410719479.8, filed on June 4, 2024, entitled "A Stereoscopic Watermark Embedding Method Based on Video Timeline", and to the Chinese Patent Application No. 202411214736.9, filed on August 30, 2024, entitled "A Watermark Embedding Method, Device and Computing Device Cluster", both of which are incorporated herein by reference in their entirety. TECHNICAL FIELD
[0002] The present application relates to the technical field of watermark processing, and in particular to a watermark embedding method, device and computing device cluster. BACKGROUND
[0003] Robustness of the watermark is one of the important indicators for evaluating the performance of the watermark technology. If the robustness of the watermark is insufficient, the infringer can easily destroy the embedded watermark information by simply editing the video, such as rate compression, resolution adjustment, etc. In addition to robustness, watermark information capacity and transparency are two important indicators for evaluating the performance of the watermark technology. However, the three important indicators for evaluating the performance of the watermark technology are mutually restrictive. For example, when the watermark information capacity is fixed, in order to enhance the robustness of the watermark, the embedding strength of the watermark can be increased. Such operation will result in a decrease in the transparency of the watermark, making the watermark more easily perceived and the video picture distorted. For another example, when the watermark information capacity is fixed, in order to enhance the transparency of the watermark, the embedding strength of the watermark can be reduced. Such operation will weaken the robustness of the watermark, making the watermark more easily destroyed. Therefore, in the watermark algorithm, how to maintain the robustness of the watermark while ensuring that the transparency of the watermark does not decrease is a problem that needs to be solved at present. SUMMARY
[0004] In order to solve the above problems, the embodiments of the present application provide a watermark embedding method which can improve the transparency and robustness of the watermark in the video. In addition, the present application also provides a watermark embedding device and a computing device cluster corresponding to the watermark embedding method.
[0005] To this end, the embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, the embodiments of the present application provide a hidden watermark embedding method, comprising: obtaining a video stream; the video stream comprising a plurality of images; determining at least one pixel point on each image in the plurality of images according to a predetermined rule; splicing the at least one pixel point on each image in the plurality of images in a time sequence of the plurality of images to obtain a two-dimensional image of the plurality of images; wherein the at least one pixel point carries image information of the corresponding image; the image information comprises one of luminance information of a Y channel, chrominance information of a U channel and chrominance information of a V channel; adding hidden watermark information to the two-dimensional image, so that the pixel points in the two-dimensional image carry part of the hidden watermark information; and returning each pixel point in the two-dimensional image to the video stream.
[0007] In this embodiment, the method splices the pixel points in the plurality of images in a video stream on a plane to form a two-dimensional image. Since the two-dimensional image is composed of the pixel points in the plurality of images, the method embeds hidden watermark information on the image information of all the pixel points in the two-dimensional image, so that a hidden watermark is embedded in the plurality of images, thereby improving the transparency of the hidden watermark in the video, and the hidden watermark is embedded in each image in the video stream, thereby improving the robustness of the hidden watermark in the video.
[0008] In an embodiment, the splicing the at least one pixel point on each image in the plurality of images in a time sequence of the plurality of images to obtain a two-dimensional image of the plurality of images specifically comprises: splicing the at least one pixel point of each image in the plurality of images respectively to obtain a one-dimensional image of each image in the plurality of images; and splicing the one-dimensional image of each image in the plurality of images on a plane in a time sequence of the plurality of images to obtain a two-dimensional image of the video stream.
[0009] In this embodiment, the method can splice the pixel points extracted from each image into a line to form a one-dimensional image of each image. The method splices the pixel points in the one-dimensional image of each image on a plane to form a two-dimensional image. Since all the pixel points in the two-dimensional image are arranged on a plane, the application of traditional image hidden watermark technology can be facilitated.
[0010] In an embodiment, the hidden watermark information is added to a two-dimensional image, so that the pixels in the two-dimensional image carry part of the hidden watermark information, and the method comprises the following steps: the two-dimensional image is divided to obtain a plurality of sub-units; each sub-unit comprises image information of a plurality of pixels; discrete cosine transform (DCT) is performed on the image information of the plurality of sub-units to obtain frequency domain information of the plurality of sub-units; singular value decomposition (SVD) is performed on the frequency domain information of the plurality of sub-units to obtain a first singular value set of each sub-unit, the first singular value set comprising a plurality of singular values; and the singular values in the first singular value set of each sub-unit are modulated according to bit information of the hidden watermark information to obtain a first singular value set of each sub-unit after modulation.
[0011] In this embodiment, the method can segment the two-dimensional image and embed hidden watermark information in each segmented sub-unit, so that one hidden watermark is embedded in multiple frames of images, thereby further improving the transparency of the hidden watermark in the video. The method embeds the hidden watermark information in the sub-units by DCT-SVD modulation, so that the hidden watermark in the video is not damaged when the video is compressed within the video frame or encoded between frames, thereby improving the robustness of the hidden watermark in the video.
[0012] In an embodiment, before the singular values in the first singular value set of each sub-unit are modulated according to the bit information of the hidden watermark information to obtain the first singular value set of each sub-unit after modulation, the method further comprises the following steps: a second singular value set of each sub-unit is obtained by selecting a set number of singular values from the first singular value set of each sub-unit; the set number of singular values are all greater than the singular values in the first singular value set except the set number of singular values; and the singular values in the second singular value set of each sub-unit are modulated according to the bit information of the hidden watermark information to obtain the second singular value set of each sub-unit after modulation; and the set number of singular values in the first singular value set of each sub-unit are replaced by the singular values in the second singular value set of each sub-unit after modulation.
[0013] In this embodiment, since the singular vector corresponding to a larger singular value includes more information, the method can arrange the plurality of singular values of each sub-unit in descending order to obtain the larger singular value. The SVD transformation of the frequency domain image information of the sub-unit can help to identify the most significant features in the image, so that the most significant features are adjusted to embed the hidden watermark information without significantly affecting the visual quality of the image.
[0014] In an embodiment, returning each pixel in the two-dimensional image to the video stream specifically comprises: performing inverse SVD on the singular values in the first singular value set of each subunit or the singular values in the first singular value set of each subunit after replacement, to obtain frequency domain information of the plurality of subunits with added hidden watermark information; performing inverse DCT on the frequency domain information of the plurality of subunits with added hidden watermark information, to obtain image information of the plurality of subunits with added hidden watermark information; splicing the plurality of subunits with added hidden watermark information, to obtain a two-dimensional image with added hidden watermark information; and mapping the two-dimensional image with added hidden watermark information back to the original position of the plurality of images in the video stream, and replacing the image information of the pixel at the original position with the image information of the pixel with added hidden watermark information.
[0015] In this embodiment, the method can map the two-dimensional image with added hidden watermark information back to the original position of the plurality of images in the video stream, and replace the image information of the pixel at the original position with the image information of each pixel with added hidden watermark information, thereby realizing embedding of the hidden watermark into the image and generating a video with hidden watermark.
[0016] In an embodiment, before determining at least one pixel on each image in the plurality of images according to the predetermined rule, the method further comprises: converting the plurality of images to the YUV color space to obtain image information of each pixel in the plurality of images.
[0017] In this embodiment, after obtaining the luminance information of the Y channel, the chroma information of the U channel and the chroma information of the V channel, the method can select the luminance information of the Y channel for hidden watermark embedding, to resist grayscale attack and improve the robustness of the hidden watermark. The method can select the chroma information of the U channel or the chroma information of the V channel for hidden watermark embedding, which helps to speed up the processing speed of hidden watermark embedding and has relatively small visual impact.
[0018] In an embodiment, determining at least one pixel on each image in the plurality of images according to the predetermined rule specifically comprises: obtaining a pixel at a set position from each image in the plurality of images according to the predetermined rule; the set position is at least one of an edge position of the image, a position of a middle vertical line in the image, a position of a middle horizontal line in the image, a position of an outline of an object in the image, or a position of an outline of a person in the image.
[0019] In this embodiment, the method can select a pixel at any one of the edge position of the image, the position of the middle vertical line in the image, the position of the middle horizontal line in the image, the position of the outline of the object in the image, or the position of the outline of the person in the image for hidden watermark embedding, so that the hidden watermark is embedded in an unimportant position of the image and does not block the main picture in the image, thereby improving the transparency of the hidden watermark in the video.
[0020] In a second aspect, the embodiments of the present application provide a watermark embedding device, comprising: an image extraction unit configured to obtain a video stream; the video stream comprising a plurality of images; a pixel extraction unit configured to determine at least one pixel point on each image in the plurality of images according to a predetermined rule; the pixel extraction unit is further configured to splice the at least one pixel point on each image in the plurality of images according to a time sequence between the plurality of images to obtain a two-dimensional image of the plurality of images; wherein the at least one pixel point carries image information of a corresponding image; the image information comprises one of luminance information of a Y channel, chroma information of a U channel and chroma information of a V channel; a watermark embedding unit configured to add watermark information to the two-dimensional image so that the pixel points in the two-dimensional image carry part of the watermark information; and the watermark embedding unit is further configured to return each pixel point in the two-dimensional image to the video stream.
[0021] In an embodiment, the pixel extraction unit is specifically configured to splice the at least one pixel point on each image in the plurality of images respectively to obtain a one-dimensional image of each image in the plurality of images; and splice the one-dimensional image of each image in the plurality of images on a plane according to the time sequence between the plurality of images to obtain the two-dimensional image of the video stream.
[0022] In an embodiment, the watermark embedding unit is specifically configured to split the two-dimensional image to obtain a plurality of subunits; each subunit comprises image information of a plurality of pixel points; perform discrete cosine transform (DCT) on the image information in the plurality of subunits respectively to obtain frequency domain information of the plurality of subunits; perform singular value decomposition (SVD) on the frequency domain information of the plurality of subunits respectively to obtain a first singular value set of each subunit; the first singular value set comprises a plurality of singular values; modulate the singular values in the first singular value set of each subunit according to bit information of the watermark information to obtain the first singular value set of each subunit after modulation.
[0023] In an embodiment, the watermark embedding unit is further configured to: select a preset number of singular values from the first singular value set of each sub-unit to obtain a second singular value set of each sub-unit, according to the bit information of the watermark information; and modulate the singular values in the second singular value set of each sub-unit according to the bit information of the watermark information to obtain a modulated second singular value set of each sub-unit, wherein the singular values selected from the first singular value set of each sub-unit are replaced by the singular values in the modulated second singular value set of each sub-unit.
[0024] In an embodiment, the watermark embedding unit is configured to: perform inverse SVD on the singular values in the first singular value set of each sub-unit, or the singular values in the replaced first singular value set of each sub-unit, to obtain frequency domain information of the plurality of sub-units with added watermark information; perform inverse DCT on the frequency domain information of the plurality of sub-units with added watermark information to obtain image information of the plurality of sub-units with added watermark information; splice the plurality of sub-units with added watermark information to obtain a two-dimensional image with added watermark information; and map the two-dimensional image with added watermark information back to the original position of the plurality of images in the video stream, and replace the image information of the pixel points at the original position with the image information of the pixel points with added watermark information.
[0025] In an embodiment, the device further includes an image conversion unit configured to convert the plurality of images to the YUV color space to obtain image information of each pixel point in the plurality of images.
[0026] In an embodiment, the pixel extraction unit is configured to obtain the pixel points at a preset position from each image in the plurality of images according to a predetermined rule, wherein the preset position is at least one of an edge position of the image, a position of a middle vertical line in the image, a position of a middle horizontal line in the image, a position of an outline of an object in the image, or a position of an outline of a person in the image.
[0027] In a third aspect, an embodiment of the present application provides a computing device, including: at least one memory; and at least one processor configured to execute instructions stored in the memory to cause the computing device to perform any of the embodiments of the first aspect.
[0028] In a fourth aspect, a computer readable storage medium is provided in the embodiments of the present application, and the computer readable storage medium includes computer program instructions. When the computer program instructions are executed by a computing device, the computing device performs the embodiments of the possible implementation of the first aspect.
[0029] In a fifth aspect, a computer program product including instructions is provided in the embodiments of the present application. The computer program product stores instructions. When the instructions are executed by a computing device, the computing device implements the embodiments of the possible implementation of the first aspect.
[0030] In a sixth aspect, a computing device cluster is provided in the embodiments of the present application. The computing device cluster includes at least one computing device. Each computing device includes 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 performs the embodiments of the possible implementation of the first aspect.
[0031] In a seventh aspect, a computer readable storage medium is provided in the embodiments of the present application. The computer readable storage medium includes computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the embodiments of the possible implementation of the first aspect.
[0032] In an eighth aspect, a computer program product including instructions is provided in the embodiments of the present application. The computer program product stores instructions. When the instructions are executed by a computing device cluster, the computing device cluster implements the embodiments of the possible implementation of the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0033] The drawings needed to be used in the embodiments or prior art description are briefly introduced as follows.
[0034] FIG. 1 is a schematic diagram of an application scenario of a watermark embedding system provided in the embodiments of the present application;
[0035] FIG. 2 is a flowchart of a watermark embedding method provided in the embodiments of the present application;
[0036] FIG. 3 is a flowchart of a watermark embedding system provided in the embodiments of the present application, which implements a watermark embedding function;
[0037] FIG. 4 is a process diagram of an image extraction unit extracting images in a video stream provided in the embodiments of the present application;
[0038] FIG. 5 is a process diagram of a pixel extraction unit splicing out a two-dimensional image provided in the embodiments of the present application;
[0039] FIG. 6 is a process diagram of a watermark embedding unit embedding watermark information provided in the embodiments of the present application;
[0040] FIG. 7 is a schematic diagram of a scenario in which a user uses a hidden watermark embedding system according to an embodiment of the present application;
[0041] FIG. 8 is a schematic diagram of a structure of a hidden watermark embedding device according to an embodiment of the present application;
[0042] FIG. 9 is a schematic diagram of a structure of a computing device according to an embodiment of the present application;
[0043] FIG. 10 is a schematic diagram of an architecture of a computing device cluster according to an embodiment of the present application;
[0044] FIG. 11 is a schematic diagram of an architecture of another computing device cluster according to an embodiment of the present application. DETAILED DESCRIPTION
[0045] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
[0046] The term "and / or" in the present document is used to describe an association relationship of associated objects, which means that there can be three relationships, for example, A and / or B can mean that there are three cases of A alone, A and B together, and B alone. The symbol " / " in the present document means an or relationship of associated objects, for example, A / B means A or B.
[0047] The terms "first" and "second" and the like in the description and claims of the present document are used to distinguish different objects, and are not used to describe a specific order of the objects. For example, the first response message and the second response message are used to distinguish different response messages, and are not used to describe a specific order of the response messages.
[0048] In the embodiments of the present application, the words "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design presented as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or advantageous than other embodiments or design solutions. Rather, the use of "exemplary" or "for example" is intended to present concepts in a concrete manner.
[0049] In the description of the embodiments of the present application, unless otherwise specified, "a plurality of" means two or more, for example, a plurality of processing units means two or more processing units, and the like; a plurality of elements means two or more elements, and the like.
[0050] Before introducing the technical solutions protected by the present application, several professional terms involved in the technical solutions protected by the present application are explained in advance, which are as follows:
[0051] Stealth watermarking is a technique of embedding digital watermark into a video for the purpose of protecting intellectual property, confirming ownership, or tracking, which helps to trace and confirm the origin of a video when it is copied, disseminated, or modified. The stealth watermark (or stealth watermark information) embedded in a video can be an identification code, owner information, or other identifier, which is generally invisible. Compared with explicit watermarking, stealth watermarking has higher transparency, with little negative impact on the viewing experience of the audience, thus maximizing the integrity and original viewing value of the video content.
[0052] Robustness of a stealth watermark refers to the ability of a digital watermark to maintain its integrity and detectability when facing various accidental or intentional attacks.
[0053] Watermark information capacity of a stealth watermark refers to the maximum number of bits that support the embedding of stealth watermark information.
[0054] Imperceptibility of a stealth watermark refers to the non-perceptibility of a digital watermark by the human eye.
[0055] Embedding strength refers to the degree of modification of the original carrier during the embedding process of a stealth watermark. Generally, the higher the degree of modification of the original carrier, the stronger the robustness of the stealth watermark, and the lower the transparency of the stealth watermark.
[0056] Spatial domain is the most intuitive image representation method, which describes an image based on its geometric position. Each pixel value and the position of the pixel value can directly constitute the appearance of the image.
[0057] Frequency domain is an image representation method obtained through mathematical transformation (such as Fourier transform, discrete cosine transform), etc. The frequency of an image represents the index of the degree of gray scale change in the image, which is the gradient of the gray scale in the plane space.
[0058] Red green blue (RGB) is a display method of images or videos, which represents various colors based on the combination of red, green, and blue to generate full-color images or videos.
[0059] YUV is a color encoding method used for video or image compression. YUV can encode color information into Y channel luminance information, U channel chrominance information, and V channel chrominance information. The luminance information and chrominance information generated by YUV can be transmitted or stored separately to reduce bandwidth or space requirements while maintaining good visual quality.
[0060] The discrete cosine transform (DCT) is a technique for converting a spatial domain signal (such as an image or audio signal) into its frequency components. When performing a DCT, the luminance or chrominance information of the pixels in an image can be converted into frequency domain coefficients, which allows the image energy to be concentrated in fewer coefficients, improving the efficiency of compression.
[0061] The singular value decomposition (SVD) is a linear algebra technique for decomposing a matrix into mathematical tools of a particular form. When performing an SVD transform, a matrix of arbitrary shape can be decomposed into an orthogonal matrix, a diagonal matrix, and the transpose of the orthogonal matrix. The orthogonal matrix represents a rotation or reflection operation of the matrix. The elements on the diagonal of the diagonal matrix are called singular values. The singular values describe the scale or importance of the matrix in each orthogonal basis direction. The transpose of the orthogonal matrix is similar to the first orthogonal matrix and describes another aspect of the transform.
[0062] Next, the technical solutions provided by the present application are described.
[0063] Generally, the video steganographic technology can be converted into an image steganographic technology to be implemented. That is, when embedding a steganographic watermark in a video, a specific frame image can be selected from the video, and an image steganographic algorithm can be used to embed the steganographic watermark in the specific frame image, thereby embedding the steganographic watermark in the video. However, when the video in which the steganographic watermark is embedded is subjected to intra-frame compression or inter-frame encoding, the steganographic watermark information in the video can be destroyed, resulting in low robustness of the steganographic watermark. If it is necessary to improve the robustness of the steganographic watermark, a large number of specific frame images can be selected from the video, and the steganographic watermark can be embedded in the large number of specific frame images. However, after the steganographic watermark is embedded in the large number of specific frame images in the video, the transparency of the steganographic watermark in the video is reduced, resulting in distortion of the video image.
[0064] Therefore, the embodiments of the present application provide a steganographic watermark embedding system. The steganographic watermark embedding system can extract a set number of pixel points at specific positions from each frame image in a video stream, and splice the pixel points extracted from each frame image into a line to form a one-dimensional image. The steganographic watermark embedding system splices the pixel points in the one-dimensional image of the specified number of images into a two-dimensional image on a plane. Since all the pixel points in the two-dimensional image are arranged on a plane, the application of traditional image steganographic technology can be facilitated.
[0065] Since the two-dimensional image is composed of pixel points of multiple frames of images, the hidden watermark embedding system embeds hidden watermark information on image information of all pixel points in the two-dimensional image, so that a hidden watermark is embedded in multiple frames of images, thereby improving transparency of the hidden watermark in the video, and the hidden watermark is embedded in each frame of image of the video stream, thereby improving robustness of the hidden watermark in the video.
[0066] The hidden watermark embedding system can segment the two-dimensional image and embed hidden watermark information in each segmented subunit, so that a hidden watermark is embedded in multiple frames of images, thereby further improving transparency of the hidden watermark in the video. The hidden watermark embedding system embeds hidden watermark information in the subunit through the DCT-SVD modulation mode, so that the hidden watermark in the video is not damaged when the video is subjected to video intra-frame compression or inter-frame encoding, thereby improving robustness of the hidden watermark in the video.
[0067] FIG. 1 is a schematic diagram of an application scenario of a hidden watermark embedding system according to an embodiment of the present application. As shown in FIG. 1, a user can input an original video file and hidden watermark information to be embedded into the hidden watermark embedding system. After receiving the original video file and the hidden watermark information, the hidden watermark embedding system can divide the original video file into multiple video streams. The hidden watermark embedding system can splice pixel points in multiple frames of images in each video stream on a plane to form a two-dimensional image. The hidden watermark embedding system can embed hidden watermark information into the two-dimensional image of each video stream, and then return each pixel point with part of the hidden watermark information to the corresponding image, thereby obtaining a video with a hidden watermark.
[0068] FIG. 2 shows a flowchart of a hidden watermark embedding method according to an embodiment of the present application. It can be understood that the hidden watermark embedding method can be executed by the hidden watermark embedding system described above, and the implementation process is as follows:
[0069] In step S201, a video stream is obtained.
[0070] In step S202, at least one pixel point on each frame of image in multiple frames of images is determined according to a predetermined rule.
[0071] In step S203, at least one pixel point on each frame of image in multiple frames of images is spliced in a time sequence to obtain a two-dimensional image of the multiple frames of images.
[0072] In step S204, hidden watermark information is added to the two-dimensional image, so that the pixel points in the two-dimensional image carry part of the hidden watermark information.
[0073] In step S205, each pixel point in the two-dimensional image is returned to the video stream.
[0074] In the embodiment of the present application, the method splices the pixel points in the multiple images in a video stream on a plane to form a two-dimensional image. Since the two-dimensional image is composed of the pixel points in the multiple images, the method embeds the hidden watermark information in the image information of all the pixel points in the two-dimensional image, so that a hidden watermark is embedded in the multiple images, the transparency of the hidden watermark in the video is improved, and the hidden watermark is embedded in each image in the video stream, so that the robustness of the hidden watermark in the video is improved.
[0075] The above is the introduction of the hidden watermark embedding system provided by the embodiment of the present application. Next, based on the above content, the hidden watermark embedding method provided by the embodiment of the present application is specifically introduced.
[0076] Exemplarily, FIG. 3 is a flowchart of the implementation of the hidden watermark embedding function of the hidden watermark embedding system provided by the embodiment of the present application. As shown in FIG. 3, the process of the hidden watermark embedding by the hidden watermark embedding system is specifically as follows:
[0077] Step S301, after receiving the video file, the video file is divided into multiple video streams. Each video stream includes multiple images, and the multiple images are the images of consecutive frames in the video stream.
[0078] Exemplarily, as shown in FIG. 4, after receiving the video file, the hidden watermark embedding system can use the corresponding decoder to decompress and decode the video file to restore the original video stream. Generally, the video file obtained by the hidden watermark embedding system is a compressed and encoded video stream, so the hidden watermark embedding system needs to decompress and decode the video file to obtain the original video stream, so as to avoid affecting the effect of embedding the hidden watermark.
[0079] After obtaining the original video stream, the hidden watermark embedding system can extract images from the original video stream frame by frame. In the process of extracting images, the hidden watermark embedding system can sequentially take a set number of images as a segment in the order of time to extract multiple video streams.
[0080] Step S302, convert each image to the YUV color space to obtain the image information of the pixel value of each image. The image information can be one of the luminance information of the Y channel, the chrominance information of the U channel and the chrominance information of the V channel of the image.
[0081] Exemplarily, each frame image in the video stream is generally in the form of GRB, so all pixels in the image have RGB values (i.e. the collective term of "R value, G value and B value"). The hidden watermark embedding system can multiply the R value, G value and B value of each pixel point by a conversion matrix to obtain the Y value, U value and V value (collectively referred to as "YUV value") of each pixel point. The hidden watermark embedding system can take the Y value of all pixel points in each frame image as the luminance information of the Y channel of the image, take the U value of all pixel points in each frame image as the chroma information of the U channel of the image, and take the V value of all pixel points in each frame image as the chroma information of the V channel of the image.
[0082] In the embodiments of the present application, after obtaining the luminance information of the Y channel, the chroma information of the U channel and the chroma information of the V channel, the hidden watermark embedding system can select the luminance information of the Y channel for hidden watermark embedding. Compared with the chroma information of the U channel and the chroma information of the V channel, the hidden watermark information embedded in the luminance information of the Y channel can resist grayscale attack and improve the robustness of the hidden watermark.
[0083] Of course, the hidden watermark embedding system can select the chroma information of the U channel or the chroma information of the V channel. Compared with the luminance information of the Y channel, the resolution of the chroma information of the U channel and the chroma information of the V channel is half of the resolution of the original image, which can help to speed up the processing speed of hidden watermark embedding and has less visual impact.
[0084] Step S303: extracting the pixel points at the specified position in each frame image from the video stream, splicing the pixel points at the specified position in each frame image into a line to obtain a one-dimensional image of each frame image.
[0085] Exemplarily, the hidden watermark embedding system can splice the one-dimensional images of the frames in each video stream in time sequence to obtain a two-dimensional image of each video stream. The pixel points in the one-dimensional image are on a straight line, and each pixel point carries image information. The pixel points in the two-dimensional image are on a plane, and each pixel point carries image information.
[0086] The specified position can be an edge position of the image, such as a set area at the left edge of the image, a set area at the right edge of the image, a set area at the upper edge of the image, a set area at the lower edge of the image, etc. The hidden watermark embedding system extracts the image information at the edge position of the image, so that the hidden watermark is embedded at the edge of the image and does not block the main picture in the image, thereby improving the transparency of the hidden watermark in the video.
[0087] The specified position can be a middle vertical line, a middle horizontal line, an outline of an object, an outline of a person, or other positions in the image. The watermark embedding system extracts image information of unimportant positions of the image, so that the watermark is embedded in the unimportant positions of the image and does not block the main picture in the image, thereby improving the transparency of the watermark in the video.
[0088] For example, the image information is the luminance information of the Y channel of the image. A video stream includes n images, and each image has a resolution of WxH. The specified position is a position of w x h pixels at the rightmost edge of the image. n, W, H, w, and h are positive integers greater than 1, and W≥w and H≥h. W and w represent the number of pixels in the long direction of the image, and H and h represent the number of pixels in the short direction of the image.
[0089] As shown in FIG. 5, after obtaining the luminance information of n images of a video stream, the watermark embedding system can extract w x h pixels at the rightmost edge of each image. The watermark embedding system can splice the w x h pixels into a line to obtain a one-dimensional image with an arrangement of all the pixels being wh x 1 (or 1 x wh) and carrying luminance information. After obtaining the one-dimensional images of the n images, the watermark embedding system can splice the one-dimensional images of the images in time sequence on a plane to obtain a two-dimensional image with an arrangement of all the pixels being wh x n (or n x wh) and carrying luminance information.
[0090] In the embodiment, the watermark embedding system can extract a specified number of pixels at a specified position from each image of a video stream, splice the extracted pixels of each image into a line to form a one-dimensional image, splice the pixels of the one-dimensional images of the specified number of images on a plane to form a two-dimensional image, and embed watermark information in the image information of all the pixels in the two-dimensional image. Since all the pixels in the two-dimensional image are arranged on a plane, the application of traditional image watermark embedding technology is facilitated. Since the two-dimensional image is composed of pixels of multiple images, the watermark embedding system embeds watermark information in the image information of all the pixels in the two-dimensional image, so that a watermark is embedded in multiple images, the transparency of the watermark in the video is improved, and the watermark is embedded in each image of the video stream, so the robustness of the watermark in the video is improved.
[0091] In step S304, the watermark information is embedded in the two-dimensional image of each video stream to obtain a two-dimensional image with embedded watermark information.
[0092] Exemplarily, as shown in FIG. 6, after obtaining a two-dimensional image of a video stream, the watermark embedding system can segment the two-dimensional image into a plurality of specific sub-units. Each sub-unit includes image information of a plurality of pixels. By segmenting the two-dimensional image into a plurality of sub-units, the watermark embedding system can reduce the computational complexity and make the watermark embedding process more controllable.
[0093] The watermark embedding system can perform DCT on the image information of all or part of the sub-units in the two-dimensional image, respectively, to convert the spatial sub-units of the image information into corresponding frequency domain information. The frequency domain information refers to frequency domain coefficients, which describe the intensity and structure of the image or signal at different frequency components. Converting the image information of the time domain sub-units into frequency domain coefficients helps to concentrate the image energy in the low frequency part, so that the low frequency part is more suitable for embedding the watermark information.
[0094] The watermark embedding system can perform SVD transformation on the frequency domain information of a plurality of sub-units of the two-dimensional image, respectively, to obtain a plurality of singular values of the plurality of sub-units. Since the singular vector corresponding to a larger singular value includes more information, the watermark embedding system can arrange the plurality of singular values of each sub-unit in descending order to obtain the larger singular values. Performing SVD transformation on the frequency domain image information of the sub-units can help to identify the most significant features in the image, so that the most significant features are adjusted to embed the watermark information without significantly affecting the visual quality of the image.
[0095] When embedding the watermark information, the watermark embedding system can determine a quantization step and a quantization table. The quantization step determines the precision of quantization, i.e., the size of each quantization interval. A smaller quantization step can provide higher precision. The quantization table is designed according to the characteristics of the human visual system, and usually uses higher precision to represent low frequency components and lower precision to represent high frequency components. The watermark embedding system can adjust each larger singular value to a quantization level corresponding to the bit information of the watermark information according to the quantization step and the quantization table. After completing the quantization modulation operation of the watermark embedding, the watermark embedding system replaces the larger singular values in the sub-units with the quantization-modulated singular values to embed the watermark information into the image information of the sub-units.
[0096] In step S305, the two-dimensional image with embedded watermark information is restored to each frame image in each video stream to obtain a video with watermark.
[0097] Exemplarily, as shown in FIG. 6, after obtaining the singular values of the quantized and modulated sub-units, the hidden watermark embedding system can perform inverse SVD transformation on the singular values of each quantized and modulated sub-unit to obtain the frequency domain information of each sub-unit after inverse SVD transformation. The hidden watermark embedding system can perform inverse DCT on the frequency domain information of each sub-unit after inverse SVD transformation to obtain image information of the multiple sub-units to which the hidden watermark information is added. The hidden watermark embedding system can splice the multiple sub-units to which the hidden watermark information is added to obtain a two-dimensional image to which the hidden watermark information is added. The hidden watermark embedding system can map the two-dimensional image to which the hidden watermark information is added back to the original position of the multiple images in the video stream, and replace the image information of the pixel points at the original position with the image information of the pixel points to which the hidden watermark information is added, so as to embed the hidden watermark into the image and generate a video with the hidden watermark.
[0098] The hidden watermark embedding system can split the two-dimensional image and embed hidden watermark information in each split sub-unit, so that one hidden watermark is embedded in multiple images, thereby further improving the transparency of the hidden watermark in the video. The hidden watermark embedding system embeds the hidden watermark information into the sub-units through the DCT-SVD modulation mode, so that the hidden watermark in the video will not be damaged when the video is subjected to video intra-frame compression or inter-frame encoding, thereby improving the robustness of the hidden watermark in the video.
[0099] The hidden watermark embedding system can not only embed hidden watermark information into a video, but also extract hidden watermark information from the video. Exemplarily, as shown in FIG. 1, when a user needs to verify whether his video has been attacked or used by others, the user can input the video to be verified into the hidden watermark embedding system. After receiving the video, the hidden watermark embedding system can perform inverse embedding operation on the video to extract the embedded hidden watermark information from each image. Specifically,
[0100] In one embodiment, the hidden watermark embedding system can cut out multiple video streams according to the number of images selected in the embedding process. The hidden watermark embedding system can extract pixel points from the specified position of each image according to the specified position selected in the embedding process. The hidden watermark embedding system can obtain a two-dimensional image of the video stream according to the splicing mode in the embedding process. The hidden watermark embedding system can obtain multiple sub-units of the two-dimensional image according to the splitting mode in the embedding process. The hidden watermark embedding system can extract a hidden watermark information from each sub-unit using an information extraction algorithm. After extracting multiple hidden watermark information from a video stream, the hidden watermark embedding system can correct the multiple hidden watermark information to obtain accurate and complete hidden watermark information. Alternatively, the hidden watermark embedding system can also extract hidden watermark information in other ways.
[0101] After the hidden watermark embedding system extracts the hidden watermark information from the input video, the hidden watermark information can be sent to the user, and the user verifies the hidden watermark information to detect whether the hidden watermark information carried in the video is the hidden watermark information added by the user. If so, the video belongs to the user.
[0102] The above is the introduction of the hidden watermark embedding system provided by the embodiments of the present application. It can be understood that the above-mentioned hidden watermark embedding system can be configured on a cloud computing platform, for example, deployed on at least one virtual machine or container instance, so that the cloud computing platform can provide hidden watermark embedding services. Of course, the hidden watermark embedding system can also be configured on nodes other than the cloud computing platform, for example, it can be deployed in at least one data center, or deployed on at least one server, which can be determined according to actual conditions, and is not limited here. Among them, the cloud computing platform can provide a page related to the public cloud service for the user to remotely access the public cloud service. In this embodiment, the user can purchase the hidden watermark embedding service provided by the hidden watermark embedding system on the cloud computing platform in advance. For the sake of understanding, the interaction mode between the user and the cloud computing platform is described below.
[0103] As shown in FIG. 7, the interaction between the user and the cloud computing platform mainly includes: the user logs in to the cloud computing platform 700 through the client (notebook) webpage, selects and purchases the cloud service (i.e. hidden watermark embedding service) related to the hidden watermark embedding system in the cloud computing platform 700, and after the purchase, the user can generate the hidden watermark embedding system on the cloud computing platform 700 based on the functions provided by the hidden watermark embedding service. Among them, the cloud computing platform 700 is mainly used to manage the infrastructure running the hidden watermark embedding service. For example, the infrastructure of the hidden watermark embedding service can include multiple data centers set in different regions, and each data center includes multiple servers. The data center can provide basic resources such as computing resources and storage resources for the hidden watermark embedding service. Therefore, when the user purchases and uses the hidden watermark embedding service, the user mainly pays for the resources used. When the user uses the hidden watermark embedding service, the user can input the demand for the hidden watermark embedding service through the configuration interface, application program interface (API) or interface for user interaction provided by the cloud computing platform 700, and the cloud computing platform 700 can generate the hidden watermark embedding service matching the user's demand according to the demand input by the user (or other software / hardware, etc.).
[0104] In addition, the modules in the hidden watermark embedding system can also be partially configured on the cloud side and partially configured on the terminal side, so as to realize the hidden watermark embedding service through the end-to-cloud collaboration. In addition, the hidden watermark embedding system can also be configured on the terminal side, which can be determined according to actual conditions, and is not limited here.
[0105] Exemplarily, FIG. 8 is a structural schematic diagram of an invisible watermark embedding device provided in an embodiment of the present application. As shown in FIG. 8, the invisible watermark embedding device 800 can be divided into an image extraction unit 810, an image conversion unit 820, a pixel extraction unit 830 and an invisible watermark embedding unit 840 according to the functions performed. The invisible watermark embedding device 800 can be an application program, software code, etc., deployed on a computing device or a computing device cluster composed of multiple computing devices for execution. The computing device can be a server, a computer, a portable notebook computer, a tablet computer, a smart phone, etc. The invisible watermark embedding device 800 can be deployed on a cloud server. If the invisible watermark embedding device 800 is deployed on a cloud service, a designer can use a local device to call the cloud server to complete the corresponding task using the invisible watermark embedding device 800. The invisible watermark embedding device 800 specifically implements the following process:
[0106] The image extraction unit 810 is configured to obtain a video stream. The video stream includes multiple frames of images. The pixel extraction unit 830 is configured to determine at least one pixel point on each frame of image in the multiple frames of images according to a predetermined rule. The pixel extraction unit 830 is further configured to splice the at least one pixel point on each frame of image in the multiple frames of images in a time sequence between the multiple frames of images to obtain a two-dimensional image of the multiple frames of images. The at least one pixel point respectively carries image information of the corresponding image. The image information includes one of luminance information of a Y channel, chrominance information of a U channel and chrominance information of a V channel. The invisible watermark embedding unit 840 is configured to add invisible watermark information to the two-dimensional image, so that the pixel points in the two-dimensional image carry part of the invisible watermark information. The invisible watermark embedding unit 840 is further configured to return each pixel point in the two-dimensional image to the video stream.
[0107] In an embodiment, the pixel extraction unit 830 is specifically configured to splice the at least one pixel point of each frame of image in the multiple frames of images respectively to obtain a one-dimensional image of each frame of image in the multiple frames of images. The pixel extraction unit 830 is specifically configured to splice the one-dimensional image of each frame of image in the multiple frames of images in a time sequence between the multiple frames of images on a plane to obtain the two-dimensional image of the video stream.
[0108] In an embodiment, the hidden watermark embedding unit 840 is specifically configured to split the two-dimensional image to obtain a plurality of sub-units. Each sub-unit includes image information of a plurality of pixel points. The hidden watermark embedding unit 840 is specifically configured to perform discrete cosine transform (DCT) on the image information in each of the plurality of sub-units to obtain frequency domain information of the plurality of sub-units. The hidden watermark embedding unit 840 is specifically configured to perform singular value decomposition (SVD) on the frequency domain information of each of the plurality of sub-units to obtain a first singular value set of each of the plurality of sub-units, the first singular value set including a plurality of singular values. The hidden watermark embedding unit 840 is specifically configured to modulate the singular values in the first singular value set of each of the plurality of sub-units according to the bit information of the hidden watermark information to obtain the first singular value set of each of the plurality of sub-units after modulation.
[0109] In an embodiment, before the hidden watermark embedding unit 840 modulates the singular values in the first singular value set of each of the plurality of sub-units according to the bit information of the hidden watermark information to obtain the first singular value set of each of the plurality of sub-units after modulation, the hidden watermark embedding unit 840 is further configured to select a set number of singular values from the first singular value set of each of the plurality of sub-units to obtain a second singular value set of each of the plurality of sub-units. The set number of singular values are all greater than the singular values in the first singular value set except the set number of singular values. The hidden watermark embedding unit 840 is specifically configured to modulate the singular values in the second singular value set of each of the plurality of sub-units according to the bit information of the hidden watermark information to obtain the second singular value set of each of the plurality of sub-units after modulation. The hidden watermark embedding unit 840 is specifically configured to replace the set number of singular values in the first singular value set of each of the plurality of sub-units with the singular values in the second singular value set of each of the plurality of sub-units after modulation.
[0110] In an embodiment, the hidden watermark embedding unit 840 is specifically configured to perform inverse SVD on the singular values in the first singular value set of each of the plurality of sub-units, or the singular values in the first singular value set of each of the plurality of sub-units after replacement, to obtain frequency domain information of the plurality of sub-units to which the hidden watermark information is added. The hidden watermark embedding unit 840 is specifically configured to perform inverse DCT on the frequency domain information of the plurality of sub-units to which the hidden watermark information is added to obtain image information of the plurality of sub-units to which the hidden watermark information is added. The hidden watermark embedding unit 840 is specifically configured to splice the plurality of sub-units to which the hidden watermark information is added to obtain a two-dimensional image to which the hidden watermark information is added. The hidden watermark embedding unit 840 is specifically configured to map the two-dimensional image to which the hidden watermark information is added back to the original position of the plurality of images in the video stream, and replace the image information of the pixel points at the original position with the image information of the pixel points to which the hidden watermark information is added.
[0111] In an embodiment, the image conversion unit 820 is configured to convert the plurality of images to the YUV color space to obtain image information of each pixel point in the plurality of images.
[0112] In an embodiment, the pixel extraction unit 830 is specifically configured to acquire, according to a predetermined rule, a pixel point at a set position from each of the plurality of frames of images. The set position is at least one of an edge position of the image, a position of a middle vertical line in the image, a position of a middle horizontal line in the image, a position of an outline of an object in the image, or a position of an outline of a person in the image.
[0113] FIG. 9 is a structural schematic diagram of a computing device provided in an embodiment of the present application. As shown in FIG. 9, the computing device 900 includes a bus 910, a processor 920, a memory 930, and a communication interface 940. The processor 920, the memory 930, and the communication interface 940 communicate with each other through the bus 910. The computing device 900 can be a server, a computer, a portable notebook, a cabinet, etc. It should be understood that the number of processors and memories in the computing device 900 is not limited in the present application.
[0114] The bus 910 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, only one line is shown in FIG. 9, but it does not mean that there is only one bus or only one type of bus. The bus 910 can include a path for transmitting information between various components (e.g., the processor 920, the memory 930, the communication interface 940) of the computing device 900.
[0115] The processor 920 can be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.
[0116] The memory 930 can include a volatile memory (e.g., a random access memory (RAM)). The memory 930 can also include a non-volatile memory (e.g., a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD)).
[0117] The memory 930 stores executable program code, and the processor 920 executes the executable program code to respectively implement the functions of the aforementioned modules, such as the image extraction unit 810, the image conversion unit 820, the pixel extraction unit 830, and the hidden watermark embedding unit 840, to implement the hidden watermark embedding method. That is, the memory 930 stores instructions for implementing the hidden watermark embedding method.
[0118] Alternatively, the memory 930 stores executable program code, and the processor 920 executes the executable program code to respectively implement the functions of the aforementioned modules to implement the hidden watermark embedding method. That is, the memory 930 stores instructions for implementing the hidden watermark embedding method.
[0119] The communication interface 940 uses a transceiving module such as, but not limited to, a network interface card and a transceiver to implement communication between the computing device 900 and other devices or communication networks.
[0120] Embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a notebook computer, or a smart phone.
[0121] As shown in FIG. 10, the computing device cluster includes at least one computing device 900. The memory 930 in one or more computing devices 900 in the computing device cluster can store the same instructions for implementing the hidden watermark embedding method.
[0122] In some possible implementations, the memory 930 of one or more computing devices 900 in the computing device cluster can also respectively store partial instructions for implementing the hidden watermark embedding method. In other words, the combination of one or more computing devices 900 can collectively execute the instructions for implementing the hidden watermark embedding method.
[0123] It should be noted that the memory 930 in different computing devices 900 in the computing device cluster can store different instructions for respectively implementing part of the functions of the aforementioned image extraction unit 810, image conversion unit 820, pixel extraction unit 830, and hidden watermark embedding unit 840. That is, the instructions stored in the memory 930 in different computing devices 900 can implement the functions of one or more of the aforementioned image extraction unit 810, image conversion unit 820, pixel extraction unit 830, and hidden watermark embedding unit 840.
[0124] In some possible implementation, one or more of the computing devices in the computing device cluster can be connected through a network. In some possible implementation, the network can be a wide area network or a local area network, etc. FIG. 11 shows one possible implementation. As shown in FIG. 11, two computing devices, computing device 900A and computing device 900B, are connected through a network. Specifically, the computing devices are connected to the network through the communication interfaces in the computing devices. In this type of possible implementation, the memory 930 in the computing device 900A stores instructions for performing the functions of some of the modules in the image extraction unit 810, the image conversion unit 820, the pixel extraction unit 830 and the steganographic embedding unit 840 described above. Meanwhile, the memory 930 in the computing device 900B stores instructions for performing the functions of some other modules in the image extraction unit 810, the image conversion unit 820, the pixel extraction unit 830 and the steganographic embedding unit 840 described above.
[0125] The connection between the computing devices in the cluster shown in FIG. 11 can be such that, considering the need to store a large amount of data in the steganographic embedding method provided in the present application, the functions of some other modules in the image extraction unit 810, the image conversion unit 820, the pixel extraction unit 830 and the steganographic embedding unit 840 are performed by the computing device 900B.
[0126] It should be understood that the functions of the computing device 900A shown in FIG. 11 can also be performed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be performed by multiple computing devices 900.
[0127] The embodiments of the present application also provide another computing device cluster. The connection between the computing devices in the computing device cluster can be similar to the connection between the computing devices in the computing device cluster described with reference to FIG. 9 and FIG. 10. The difference is that the memory 930 in one or more of the computing devices 900 in the computing device cluster can store the same instructions for performing the steganographic embedding method.
[0128] In some possible implementation, the memory 930 in one or more of the computing devices 900 in the computing device cluster can also store instructions for performing the steganographic embedding method, respectively. In other words, the combination of one or more of the computing devices 900 can collectively perform the instructions for performing the steganographic embedding method.
[0129] It should be noted that the memories 930 in different computing devices 900 in the computing device cluster can store different instructions for performing part of the functions of the computing devices 900. That is, the memories 930 in different computing devices 900 store instructions that can implement the functions of one or more of the image extraction unit 810, the image conversion unit 820, the pixel extraction unit 830, and the invisible watermark embedding unit 840 described above.
[0130] The embodiments of the present application also provide a computer program product containing instructions. The computer program product can be a software or program product containing instructions, which 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, the at least one computing device is caused to perform the invisible watermark embedding method.
[0131] The embodiments of the present application also provide a computer readable storage medium. The computer readable storage medium can be any available medium that the computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk), etc. The computer readable storage medium contains instructions that instruct the computing device to perform the invisible watermark embedding method.
[0132] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present application.
Claims
1. A watermarking embedding method, characterized by, The method comprises the following steps: acquiring a video stream; the video stream comprises a plurality of frames of images; determining at least one pixel point on each frame of image in the plurality of frames of images according to a predetermined rule; splicing the at least one pixel point on each frame of image in the plurality of frames of images in a time sequence between the plurality of frames of images to obtain a two-dimensional image of the plurality of frames of images; wherein the at least one pixel point carries image information of a corresponding image; the image information comprises one of luminance information of a Y channel, chroma information of a U channel and chroma information of a V channel; adding hidden watermark information to the two-dimensional image, so that the pixel points in the two-dimensional image carry part of the hidden watermark information; returning each pixel point in the two-dimensional image to the video stream.
2. The method of claim 1, wherein, The step of splicing the at least one pixel point on each frame of image in the plurality of frames of images in the time sequence between the plurality of frames of images to obtain the two-dimensional image of the plurality of frames of images specifically comprises the following steps: splicing the at least one pixel point of each frame of image in the plurality of frames of images respectively to obtain a one-dimensional image of each frame of image in the plurality of frames of images; splicing the one-dimensional image of each frame of image in the plurality of frames of images on a plane in the time sequence between the plurality of frames of images to obtain the two-dimensional image of the video stream.
3. The method according to claim 1 or 2, characterized in that, The step of adding the hidden watermark information to the two-dimensional image, so that the pixel points in the two-dimensional image carry part of the hidden watermark information specifically comprises the following steps: segmenting the two-dimensional image to obtain a plurality of subunits; each subunit comprises image information of a plurality of pixel points; performing discrete cosine transform (DCT) on the image information in the plurality of subunits respectively to obtain frequency domain information of the plurality of subunits; performing singular value decomposition (SVD) on the frequency domain information of the plurality of subunits respectively to obtain a first singular value set of each subunit; the first singular value set comprises a plurality of singular values; modulating the singular values in the first singular value set of each subunit according to bit information of hidden watermark information to obtain the first singular value set of each subunit after modulation.
4. The method of claim 3, wherein, Before the step of modulating the singular values in the first singular value set of each subunit according to bit information of hidden watermark information to obtain the first singular value set of each subunit after modulation, the method further comprises the following steps: selecting a set number of singular values from the first singular value set of each subunit respectively to obtain a second singular value set of each subunit; the set number of singular values are all greater than the singular values in the first singular value set except the set number of singular values; The step of modulating the singular values in the first singular value set of each subunit according to bit information of hidden watermark information to obtain the first singular value set of each subunit after modulation specifically comprises the following steps: modulating the singular values in the second singular value set of each subunit according to the bit information of the hidden watermark information to obtain the second singular value set of each subunit after modulation. A predetermined number of singular values are selected from the first singular value set of each subunit and replaced with singular values from the second singular value set of each modulated subunit.
5. The method according to claim 3 or 4, characterized in that, The step of returning each pixel in the two-dimensional image to the video stream specifically includes: Inverse SVD is performed on the singular values in the first singular value set of each sub-unit, or the singular values in the first singular value set of each sub-unit after replacement, to obtain the frequency domain information of the multiple sub-units with the added hidden watermark information. Perform inverse DCT on the frequency domain information of the plurality of sub-units to which the hidden watermark information is added, to obtain the image information of the plurality of sub-units to which the hidden watermark information is added; By splicing together the multiple sub-units to which the hidden watermark information is added, a two-dimensional image with the hidden watermark information added is obtained. The two-dimensional image with the added hidden watermark information is mapped back to the original position of the multi-frame image in the video stream, and the image information of the pixels at the original position is replaced with the image information of the pixels with the added hidden watermark information.
6. The method according to any one of claims 1 to 5, characterized in that, Before determining at least one pixel in each frame of the multi-frame images according to a predetermined rule, the method further includes: The multi-frame images are converted to the YUV color space to obtain the image information of each pixel in the multi-frame images.
7. The method according to any one of claims 1 to 6, characterized in that, The step of determining at least one pixel in each frame of the multi-frame images according to a predetermined rule specifically includes: According to the predetermined rules, pixels at set positions are obtained from each frame of the multi-frame images; the set position is at least one of the following: the position of the edge of the image, the position of the middle vertical line in the image, the position of the middle horizontal line in the image, the position of the outline of an object in the image, and the position of the outline of a person in the image.
8. A watermark embedding apparatus characterized by comprising: include: An image extraction unit is used to acquire a video stream; the video stream includes multiple frames of images. A pixel extraction unit is used to determine at least one pixel in each frame of the multi-frame images according to a predetermined rule. The pixel extraction unit is further configured to stitch together at least one pixel in each frame of the multi-frame images according to the time sequence between the multi-frame images to obtain a two-dimensional image of the multi-frame images; wherein, each at least one pixel carries image information of the corresponding image; the image information includes one of the following: luminance information of the Y channel, chrominance information of the U channel, and chrominance information of the V channel; A hidden watermark embedding unit is used to add hidden watermark information to the two-dimensional image so that the pixels in the two-dimensional image carry part of the hidden watermark information. The hidden watermark embedding unit is also used to return each pixel in the two-dimensional image to the video stream.
9. The apparatus according to claim 8, characterized in that, The pixel extraction unit is specifically used to stitch together at least one pixel of each frame in the multi-frame images to obtain a one-dimensional image of each frame in the multi-frame images. According to the time sequence between the multiple frames, the one-dimensional images of each frame in the multiple frames are stitched together on a plane to obtain the two-dimensional image of the video stream.
10. The apparatus of claim 8 or 9, wherein the watermark embedding unit is configured to split the two-dimensional image to obtain a plurality of sub-units, each of the sub-units including image information of a plurality of pixel points; perform discrete cosine transform (DCT) on the image information of each of the sub-units to obtain frequency domain information of each of the sub-units; perform singular value decomposition (SVD) on the frequency domain information of each of the sub-units to obtain a first singular value set of each of the sub-units, the first singular value set including a plurality of singular values; and modulate the singular values in the first singular value set of each of the sub-units according to bit information of the watermark information to obtain a modulated first singular value set of each of the sub-units.
11. The apparatus of claim 10, wherein the watermark embedding unit is further configured to, before modulating the singular values in the first singular value set of each of the sub-units according to the bit information of the watermark information to obtain the modulated first singular value set of each of the sub-units, select a predetermined number of singular values from the first singular value set of each of the sub-units to obtain a second singular value set of each of the sub-units, wherein the selected predetermined number of singular values are greater than the singular values in the first singular value set other than the selected predetermined number of singular values; modulate the singular values in the second singular value set of each of the sub-units according to the bit information of the watermark information to obtain a modulated second singular value set of each of the sub-units; and replace the selected predetermined number of singular values in the first singular value set of each of the sub-units with the singular values in the modulated second singular value set of each of the sub-units.
12. The apparatus of claim 10 or 11, wherein the watermark embedding unit is configured to perform inverse SVD on the singular values in the first singular value set of each of the sub-units or the replaced singular values in the first singular value set of each of the sub-units to obtain frequency domain information of the plurality of sub-units with the watermark information added; perform inverse DCT on the frequency domain information of the plurality of sub-units with the watermark information added to obtain image information of the plurality of sub-units with the watermark information added; splice the plurality of sub-units with the watermark information added to obtain a two-dimensional image with the watermark information added; and map the two-dimensional image with the watermark information added back to an original position of a plurality of images in the video stream and replace image information of pixel points at the original position with image information of pixel points with the watermark information added.
13. The apparatus of claim 8-12, wherein the image conversion unit is configured to convert the plurality of images to a YUV color space to obtain image information of each pixel point in the plurality of images.
14. The apparatus of claim 8-13, wherein the image conversion unit is configured to convert the plurality of images to a YUV color space to obtain image information of each pixel point in the plurality of images. 13. The apparatus of any of claims 8-12, wherein, The pixel extraction unit is specifically configured to acquire, according to the predetermined rule, a pixel point at a set position from each of the multiple frames of images; and the set position is at least one of an edge position of an image, a position of a middle vertical line in an image, a position of a middle horizontal line in an image, a position of an outline of an object in an image, or a position of an outline of a person in an image.
15. A computing device, comprising: Comprising: at least one memory; at least one processor configured to execute instructions stored in the memory to cause the computing device to perform the method of any one of claims 1-7.
16. A cluster of computing devices, characterized in that, Comprising at least one computing device, each computing device comprising 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 to cause the cluster of computing devices to perform the method of any one of claims 1-7.
17. A computer-readable storage medium, characterized in that, comprising computer program instructions that, when executed by a computing device, cause the computing device to perform the method of any one of claims 1-7.
18. A computer program product comprising instructions, characterized in that, the computer program product stores instructions that, when executed by a computing device, cause the computing device to implement the method of any one of claims 1-7.
Citation Information
Patent Citations
Method and equipment for adding and detection video watermark
CN109379642A
Local multi-watermarking method for color image
CN113689319A
Video watermark periodic embedding and extracting method capable of resisting frame domain attack
CN117499714A
Image blind watermark embedding and complete extraction method based on strong-robustness multi-domain transformation
CN117670637A
Compatible adaptive video watermarking
US10360651B1