Apparatus and method for digital watermark processing

By using random bit matrix pairs of element-by-element XOR operations with message bits in the video stream, the problem of difficulty in extracting watermarks and preventing watermarks from being removed in traditional blind video watermark processing solutions is solved, and more efficient watermark status evaluation and protection.

CN119404214APending Publication Date: 2025-02-07HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280097306.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-07-06
Publication Date
2025-02-07

AI Technical Summary

Technical Problem

The traditional blind video watermark processing scheme cannot obtain pre-filtered watermark information during the decoding process, which makes it difficult to extract watermarks in the 'photograph' video, and cannot effectively prevent attackers from reducing the average value of the watermark structure by collecting a sufficient number of frames and Remove the watermark.

Method used

By generating the first and second subframes of the digital watermark frame, the message is encoded and embedded into the video stream by element-by-element XOR operation between the random bit matrix pair and the message bits, and by element-by-element XOR at decoding. The operation determines the key matrix to extract the message.

Benefits of technology

It realizes the disclosure of the watermark status information without completely decoding the digital watermark, enhances the ability of existing spatial watermark technology, and can more effectively prevent the watermark from being removed by the attacker.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119404214A_ABST
    Figure CN119404214A_ABST
Patent Text Reader

Abstract

An apparatus (110) for encoding a message comprising a plurality of message bits (101) into a digital watermark frame for a video stream (103) having a plurality of frames is disclosed. The apparatus (110) comprises processing circuitry (120) configured to generate a first subframe of the digital watermark frame, where the first subframe of the digital watermark frame is a result of an element-by-element XOR operation between a first matrix of a random bit matrix pair and a matrix of the plurality of message bits. The processing circuitry (120) is further configured to generate a second subframe of the digital watermark frame, where the second subframe of the digital watermark frame is a result of an element-by-element XOR operation between a second matrix of the random bit matrix pair and the matrix of the plurality of message bits. Furthermore, an apparatus (160) for retrieving a message comprising a plurality of message bits (105) from a digital watermark frame in a video stream (103) having a plurality of frames is disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to data processing, and more particularly to a device and method for performing data watermark processing on a video stream. Background Art

[0002] As the use and distribution of digital multimedia data increases, content protection becomes increasingly important to avoid unrestricted copying and dissemination of copyrighted materials. Digital watermarking technology emerges as a complementary method to encryption for content protection of copyrighted materials. Digital watermarking embeds a secret, imperceptible signal, i.e., a watermark, into the original content. It usually stays with the original content and survives the transformation, conversion, and transcoding process.

[0003] Traditional blind video watermarking schemes cannot obtain pre-screened watermark information during the decoding process. Decoding the watermark message in the video and using some kind of error detection code (i.e., CRC, hash function, etc.) to perform binary verification of the extracted message is the only available operation.

[0004] "Camcorder" videos are videos recorded using a camera, recording the video being played back on a screen monitor. These types of videos require a realignment process to extract the watermark. This can be a very challenging scenario for techniques with no initial feedback available, as it is impossible to differentiate between a poorly aligned and an overly corrupted watermark.

[0005] A stable watermarking scheme should be able to change the watermark structure after a certain number of frames, so that the attacker can reduce the average value of the watermark structure by collecting a sufficient number of frames and easily remove the watermark from the video. The structural rotation of the watermark applied during the encoding process requires the decoder to identify the different stages of the watermark structure and decode it accordingly. This brings up the synchronization problem, because the decoder should be able to synchronize with the different stages of the watermark structure and be flexible to handle tampering attacks (i.e. frame dropping, swapping, etc.).

[0006] Conventional watermarking methods attempt to address the above problems by reserving a certain amount of space from the total embeddable space to embed a fixed message (also called a tag). These conventional methods have the following disadvantages. First, the space used by the tag cannot be used for the message, so the total embeddable space is reduced. Second, the tag can be covered or damaged, leaving a large part of the video visible, but it is impossible to align the frames. Third, since the tags are usually very small, they may not provide a reliable pre-screening state of the frame (increasing the size of the tag will result in a decrease in the available size for the message). Summary of the invention

[0007] The object of the present invention is to provide a device and method for digital watermark processing.

[0008] The above and other objects are achieved by the subject matter claimed in the independent claims. Other implementations are apparent from the dependent claims, the description and the drawings.

[0009] The embodiments disclosed herein provide a digital watermark processing technique that is capable of revealing information about the state of a digital watermark without fully decoding the digital watermark and without knowing its content. Therefore, this technique can be considered as a zero-knowledge proof because it can evaluate the integrity, i.e., "healthiness," of a message without knowing the message itself. The embodiments disclosed herein provide a new method for preprocessing a message before the actual embedding process. Therefore, the embodiments disclosed herein can achieve enhancement of existing spatial watermarking techniques.

[0010] More specifically, according to a first aspect, there is provided an apparatus (also referred to as an encoding apparatus) for encoding a message comprising a plurality of message bits into a digital watermark frame for a video stream having a plurality of frames. The apparatus comprises: a processing circuit for generating a first subframe (also referred to as a first partition) of the digital watermark frame, wherein the first subframe of the digital watermark frame is the result of an element-by-element (i.e., element-by-element) XOR operation between a first matrix in a pair of random bit matrices and the matrix of the plurality of message bits. Furthermore, the processing circuit is for generating a second subframe (also referred to as a second partition) of the digital watermark frame, wherein the second subframe of the digital watermark frame is the result of an element-by-element (i.e., element-by-element) XOR operation between a second matrix in the pair of random bit matrices and the matrix of the plurality of message bits. Therefore, an improved encoding apparatus for digital watermark processing is provided.

[0011] In another possible implementation manner, the processing circuit is further configured to embed the digital watermark frame into one or more frames of the multiple frames of the video stream.

[0012] In another possible implementation manner, the processing circuit is further configured to arrange the first subframe and / or the second subframe at more than one position of the digital watermark frame.

[0013] In another possible implementation, the processing circuit is used to: generate a first subframe of at least one other digital watermark frame, wherein the first subframe of the at least one other digital watermark frame is a result of an element-by-element (i.e., element-by-element) XOR operation between a first matrix in another random bit matrix pair and the matrix of the multiple message bits; generate a second subframe of the at least one other digital watermark frame, wherein the second subframe of the at least one other digital watermark frame is a result of an element-by-element (i.e., element-by-element) XOR operation between a second matrix in another random bit matrix pair and the matrix of the multiple message bits.

[0014] In another possible implementation manner, the processing circuit is further configured to embed the other digital watermark frames into one or more other frames in the multiple frames of the video stream.

[0015] In another possible implementation, the processing circuit is further used to store the random bit matrix pair and a key matrix and / or data used to obtain or generate the random bit matrix pair and the key matrix in a data structure, wherein the key matrix is ​​the XOR product of the first random bit matrix and the second random bit matrix.

[0016] In another possible implementation manner, the processing circuit is further configured to generate the random bit matrix pair, including the first random bit matrix and the second random bit matrix.

[0017] In another possible implementation manner, the processing circuit is further configured to generate the matrix of the plurality of message bits.

[0018] According to a second aspect, a method for encoding a message including a plurality of message bits into a digital watermark frame for a video stream having a plurality of frames is provided. The method comprises the following steps: generating a first subframe of the digital watermark frame, wherein the first subframe of the digital watermark frame is the result of an element-by-element XOR operation between a first matrix in a random bit matrix pair and a matrix of the plurality of message bits; generating a second subframe of the digital watermark frame, wherein the second subframe of the digital watermark frame is the result of an element-by-element XOR operation between a second matrix in the random bit matrix pair and the matrix of the plurality of message bits.

[0019] The encoding method according to the second aspect can be performed by the encoding device according to the first aspect. In addition, other features of the encoding method according to the second aspect are directly derived from the functions of the encoding device according to the first aspect and its different implementations described above and below.

[0020] According to a third aspect, there is provided an apparatus (also referred to as a decoding apparatus) for retrieving (i.e., extracting) a message including a plurality of message bits from a digital watermark frame in a video stream having a plurality of frames. The apparatus comprises a processing circuit, the processing circuit being used to extract the digital watermark frame from at least one of the plurality of frames of the video stream. In addition, the processing circuit is used to perform an element-by-element XOR operation between a first subframe and a second subframe of the digital watermark frame to determine a key matrix. The processing circuit is also used to determine a first matrix and a second matrix in a random bit matrix pair according to the key matrix, wherein the key matrix is ​​an element-by-element XOR product of the first random bit matrix and the second matrix. In addition, the processing circuit is used to perform an element-by-element XOR operation between the first matrix in the random bit matrix pair and the first subframe of the digital watermark frame to obtain a plurality of first candidate message bits. The processing circuit is also used to perform an element-by-element XOR operation between the second matrix in the bit matrix pair and the second subframe of the digital watermark frame to obtain a plurality of second candidate message bits. Therefore, an improved decoding apparatus for digital watermark processing is provided.

[0021] In another possible implementation, the processing circuit is used to: for example, retrieve a message including the multiple message bits based on the multiple first candidate message bits and the multiple second candidate message bits by performing an averaging operation on the multiple first candidate message bits and the multiple second candidate message bits.

[0022] In another possible implementation, the processing circuit is further used to: extract other digital watermark frames from at least one other frame among the multiple frames of the video stream; perform element-by-element XOR operation between the first subframe and the second subframe of the other digital watermark to determine other key matrices; determine other first matrices and other second matrices in other random bit matrix pairs according to the other key matrices, wherein the other key matrix is ​​the element-by-element XOR product of the other first matrix and the other second matrix; perform element-by-element XOR operation between the other first matrix in the other random bit matrix pair and the first subframe of the other digital watermark frame to obtain other multiple first candidate message bits; perform element-by-element XOR operation between the second matrix in the other random bit matrix pair and the second subframe of the other digital watermark frame to obtain other multiple second candidate message bits.

[0023] In another possible implementation, in order to determine the random bit matrix pair according to the key matrix, the processing circuit is further used to retrieve the random bit matrix pair from a data structure according to the key matrix and / or to obtain or generate data for the random bit matrix pair.

[0024] In another possible implementation, in order to obtain the key matrix, the processing circuit is used to: perform the element-by-element XOR operation between the first subframe and the second subframe of the digital watermark frame to obtain a candidate key matrix; determine the key matrix according to the data structure in the following manner: determine the key matrix defined by the data structure that has a minimum distance (specifically, a minimum Hamming distance) with the candidate key matrix.

[0025] According to a fourth aspect, a method for retrieving a message including multiple message bits from a digital watermark frame in a video stream having multiple frames is provided. The method comprises the following steps: extracting a digital watermark frame from at least one other frame of the multiple frames of the video stream; performing an element-by-element XOR operation between a first subframe and a second subframe of the digital watermark frame to determine a key matrix; determining a first matrix and a second matrix in a random bit matrix pair according to the key matrix, wherein the key matrix is ​​an element-by-element XOR product of a first random bit matrix and a second matrix; performing an element-by-element XOR operation between the first matrix in the random bit matrix pair and the first subframe of the digital watermark frame to obtain multiple first candidate message bits; performing an element-by-element XOR operation between the second matrix in the random bit matrix pair and the second subframe of the digital watermark frame to obtain multiple second candidate message bits.

[0026] The decoding method according to the fourth aspect can be performed by the decoding device according to the third aspect. In addition, other features of the decoding method according to the fourth aspect are directly derived from the functions of the decoding device according to the third aspect and its different implementations described above and below.

[0027] According to a fifth aspect, a computer program or a computer program product is provided, comprising a computer-readable storage medium for carrying a program code, and when the program code is executed by a computer or a processor, the computer or the processor executes the method according to the fourth aspect or the method according to the fourth aspect.

[0028] Various aspects of the invention can be implemented in software and / or hardware.

[0029] The details of one or more embodiments are set forth in the accompanying drawings and the description. Other features, objects, and advantages will be apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The embodiments of the present invention will be described in detail below with reference to the following drawings, in which:

[0031] Figure 1A schematic diagram showing an encoding device for encoding a message into a digital watermark frame for a video stream provided by an embodiment and a decoding device for retrieving a message from a digital watermark frame in a video stream provided by an embodiment;

[0032] Figure 2 is a schematic diagram showing a frame of a video stream having an embedded digital watermark;

[0033] Figure 3 A schematic diagram showing an element-by-element XOR operation between a pair of random bit matrices used by an encoding device provided by an embodiment and a decoding device provided by an embodiment for generating a key matrix;

[0034] Figure 4 A schematic diagram showing the arrangement of messages used by an encoding device provided by one embodiment;

[0035] Figure 5 A schematic diagram showing a digital watermark frame generated by an encoding device provided by an embodiment;

[0036] Figure 6 A flowchart illustrating a computer-implemented method for encoding a message into a digital watermark frame for a video stream provided by one embodiment;

[0037] Figure 7 A computer-implemented flow chart for retrieving a message from a digital watermark frame in a video stream is provided to illustrate one embodiment.

[0038] In the following the same reference signs refer to identical or at least functionally equivalent features. DETAILED DESCRIPTION

[0039] In the following description, reference is made to the accompanying drawings which form a part of the present invention, which show by way of illustration specific aspects of embodiments of the present invention or specific aspects in which embodiments of the present invention may be used. It should be understood that embodiments of the present invention may be used in other aspects and include structural or logical changes not described in the accompanying drawings. Therefore, the following detailed description is not to be construed as limiting, and the scope of the present invention is defined by the appended claims.

[0040] For example, it should be understood that the disclosure related to describing a method may also be applicable to a corresponding device or system for performing the method, and vice versa. For example, if one or more specific method steps are described, the corresponding device may include one or more units, such as functional units, for performing the described one or more method steps (e.g., a unit that performs the one or more steps, or multiple units that each perform one or more of the multiple steps), even if such one or more units are not explicitly described or illustrated in the figure. On the other hand, for example, if a specific device is described in terms of one or more units (e.g., functional units), the corresponding method may include a step to perform the function of the one or more units (e.g., a step that performs the function of the one or more units, or multiple steps that each perform the function of one or more of the multiple units), even if such one or more steps are not explicitly described or illustrated in the figure. In addition, it should be understood that, unless otherwise specifically noted, the features of the various exemplary embodiments and / or aspects described herein may be combined with each other.

[0041] Figure 1 To illustrate an embodiment, a method for encoding a message including a plurality of message bits 101 into a video frame including a plurality of video frames 103a to 103d ( Figure 2 ) of the video frame 103 (for example, Figure 5 The encoding device 110 in the digital watermark frame 501 shown in FIG. 1 and the decoding device 160 for retrieving a message including a plurality of message bits 105 from the digital watermark frame 501 in the video stream 103 provided by one embodiment. Figure 2 1 is a schematic diagram showing a plurality of exemplary frames 103a to 103d of a video stream 103 with an embedded digital watermark. The encoding device 110 and / or the decoding device 160 may be a data processing device, such as a server, a desktop computer, a laptop computer, a tablet computer, or another device having computing resources for implementing the embodiments disclosed herein.

[0042] like Figure 1As shown, the encoding device 110 includes a processing circuit 120, such as one or more processors 120 for processing data. The processing circuit 120 of the encoding device 110 can be implemented by hardware and / or software. The hardware may include a digital circuit, or both an analog circuit and a digital circuit. The digital circuit may include components such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP) or a general-purpose processor. In addition, the encoding device 110 may include a communication interface 130 for wired and / or wireless communication with a decoding device 160, etc. The encoding device 110 may also include a memory 140 for storing and retrieving data. The memory 140 of the encoding device 110 may store executable program code, and when the executable program code is executed by the processing circuit 120, the executable program code enables the encoding device 110 to perform the functions and methods described herein.

[0043] Likewise, the decoding device 160 includes a processing circuit 170, such as one or more processors 170 for processing data. The processing circuit 170 of the decoding device 160 can be implemented by hardware and / or software. The hardware may include a digital circuit, or both an analog circuit and a digital circuit. The digital circuit may include components such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a general-purpose processor. In addition, the decoding device 160 may include a communication interface 180 for wired and / or wireless communication with the encoding device 110, etc. The decoding device 160 may also include a memory 190 for storing and retrieving data. The memory 190 of the decoding device 160 may store executable program code, which, when executed by the processing circuit 170, causes the decoding device 160 to perform the functions and methods described herein.

[0044] As will be further referenced below Figures 3 to 5 As described in more detail in FIG. 1 , the processing circuit 120 of the encoding device 110 is used to generate the first subframe 501a ( Figure 5 In the example, it is shown as "Message XOR RandomA n”), wherein the first subframe 501a of the digital watermark frame 500 is the first matrix 301a in the random bit matrix pair (in Figure 3 ) and a matrix 401a (shown as "RandomA" in Figure 4 In addition, the processing circuit 120 of the encoding device 110 is used to perform an element-by-element XOR operation with the second matrix 301b ( Figure 3 More specifically, the processing circuit 120 of the encoding device 110 is also used to generate the second subframe 501b of the digital watermark frame 501 (in Figure 5 It is called "Message XOR RandomB n ”), as the second matrix 301b in the random bit matrix pair (in Figure 3 ) and a matrix 401a (shown as “RandomB”) of a plurality of message bits 101 Figure 4 The result of the element-by-element XOR operation between Figure 3 As shown, the element-by-element XOR product between the first matrix 301a (i.e., "RandomA") and the second matrix 301b (i.e., "RandomB") in the random bit matrix pair is the key matrix 301c (in Figure 3 AB), which will be described in more detail below. The element-by-element XOR product (also referred to as the XOR operation) used here is an element-by-element XOR product.

[0045] like Figure 5 As shown in the embodiment shown, the processing circuit 120 of the encoding device 110 can be used to arrange the first subframe 501a and / or the second subframe 501b generated in the above manner at one or more positions of the digital watermark frame 501. Figure 5 In the exemplary embodiment shown, the first subframe 501 a is arranged in the upper left quadrant and the lower right quadrant of the digital watermark frame 500 , and the second subframe 501 b is arranged in the upper right quadrant and the lower left quadrant of the digital watermark frame 500 .

[0046] Once the processing circuit 120 of the encoding device 110 generates, for example Figure 5 The digital watermark frame 500 shown in FIG. 1 may further embed the digital watermark frame 500 into one or more frames of the plurality of frames 103a to 103d of the video stream 103. In one embodiment, the processing circuit 120 of the encoding device 110 may implement a conventional watermark embedding technique.

[0047] In one embodiment, the processing circuit 120 of the encoding device 110 is not only used to generate a single digital watermark frame 500 in the above manner, but also used to generate multiple digital watermark frames, such as the frame 500, using different pairs of random matrices An and Bn. More specifically, in one embodiment, the processing circuit 120 of the encoding device 110 is used to generate a first subframe and a second subframe of at least one other digital watermark frame, wherein the first subframe of the at least one other digital watermark frame is the result of an element-by-element XOR operation between the first matrix in the other random bit matrix pair and the matrix 401a of the plurality of message bits 101, and wherein the second subframe of the at least one other digital watermark frame is the result of an element-by-element XOR operation between the second matrix in the other random bit matrix pair and the matrix 401a of the plurality of message bits 101. These one or more other digital watermark frames may be embedded in one or more other frames of the plurality of frames 103a to 103d of the video stream 103.

[0048] In one embodiment, the processing circuit 120 of the encoding device 110 is used to store different random bit matrix pairs, such as the matrix pairs 301a, 301b, used to generate a plurality of different digital watermark frames (e.g., the digital watermark frame 500), and the corresponding key matrix 301c in the data structure (also referred to as the key value data structure) in the memory 140. As described above, the corresponding key matrix 301c is the XOR product of the first matrix 301a and the second matrix 301b in the corresponding random bit matrix pair. Alternatively, the processing circuit 120 of the encoding device 110 can be used to store data, such as a plurality of seed values ​​or pointers, to obtain or generate a plurality of matrix pairs and corresponding key matrices. In one embodiment, the encoding device 110 is used to provide the data structure to the decoding device 160, such as through the communication interface 130.

[0049] In order to retrieve a message including a plurality of message bits 105 from a digital watermark frame 500 embedded in one or more frames of the plurality of frames 103a to 103d of the video stream 103, the processing circuit 170 of the decoding device 160 is used to extract the digital watermark frame 500 from at least one frame of the plurality of frames 103a to 103d of the video stream 103.

[0050] The processing circuit 170 of the decoding device 160 is further configured to retrieve the first subframe 501a of the digital watermark frame 500 (in Figure 5 It is called "Message XOR RandomA n ”) and the second subframe 501b (in Figure 5 It is called "Message XOR RandomB n”) perform an element-by-element XOR operation between the first and second matrices 301a, 301b of the corresponding random bit matrix pair. As will be appreciated, due to the nature of the XOR operation, this will result in the XOR product of the product of the first matrix 301a and the second matrix 301b of the corresponding random bit matrix pair, as described above, the key matrix 301c is the XOR product of the first matrix 301a and the second matrix 301b of the corresponding random bit matrix pair. In other words, the processing circuit 170 of the decoding device 160 is used to determine the first matrix 301a and the second matrix 301b of the random bit matrix pair based on the key matrix 301c.

[0051] The processing circuit 170 of the decoding device 160 is further configured to perform an element-by-element XOR operation between the first matrix 301a in the random bit matrix pair (determined according to the key matrix 30ac) and the first subframe 501a of the retrieved digital watermark frame 500. As will be appreciated, due to the nature of the XOR operation, a plurality of first candidate message bits may result, which are different from the original plurality of message bits 101 due to noise or the like.

[0052] The processing circuit 170 of the decoding device 160 is further configured to perform an element-by-element XOR operation between the second matrix 301b (determined according to the key matrix 301c) in the random bit matrix pair and the second subframe 501b of the retrieved digital watermark frame 500 to obtain a plurality of second candidate message bits. Similarly, due to the nature of the XOR operation, a plurality of second candidate message bits will be generated, and the plurality of second candidate message bits are different from the original plurality of message bits 101 and the plurality of first candidate message bits due to noise, etc.

[0053] In one embodiment, the processing circuit 170 of the decoding device 160 is used to retrieve a message including multiple message bits 105 (ideally the same as the multiple message bits 101 of the original message) based on multiple first candidate message bits and multiple second candidate message bits, for example, using an averaging scheme.

[0054] As in the case of the encoding device 110 described above, the decoding device 160 can retrieve multiple digital watermark frames from the frames 103a to 103d of the video stream and process these digital watermark frames in the above manner. More specifically, in one embodiment, the processing circuit 170 of the decoding device 160 is further configured to extract other digital watermark frames from at least one other frame of the multiple frames 103a to 103d of the video stream 103, and perform an element-by-element XOR operation between the first subframe and the second subframe of the other digital watermark frames to determine other key matrices. The processing circuit 160 can also be configured to determine other first matrices and other second matrices in other random bit matrix pairs based on the other key matrices, wherein the other key matrices are element-by-element XOR products of the other first matrices and the other second matrices. In addition, the processing circuit 160 can be used to perform an element-by-element XOR operation between other first matrices in other random bit matrix pairs and first subframes of other digital watermark frames to obtain other multiple first candidate message bits, and perform an element-by-element XOR operation between second matrices in other random bit matrix pairs and second subframes of other digital watermark frames to obtain other multiple second candidate message bits. In order to determine the random bit matrix pair 301a, 301b according to the key matrix 301c, the processing circuit 170 can also be used to retrieve the matrix pair 301a, 301b from the data structure generated by the encoding device 110 according to the key matrix 301c, as described above. Alternatively, the processing circuit 170 can obtain data from the encoding device 110, such as a seed value or pointer of a random number generator, to obtain or generate a data structure including the random bit matrix pair 301a, 301b and the associated key matrix 301c.

[0055] In order to obtain the corresponding key matrix, the processing circuit 170 of the decoding device 160 can be used to perform an element-by-element XOR operation between the first subframe 501a and the second subframe 501b of the digital watermark frame 500 of the multiple different digital watermark frames for obtaining the multiple candidate key matrices, and determine the actual key matrix 301c according to the data structure in the following manner: determine the key matrix 301c defined by the data structure that has the minimum distance (e.g., Hamming distance) to the candidate key matrix. In other words, the processing circuit 170 of the decoding device 160 will select the key matrix (and the corresponding matrix pair) that is closest to the candidate key matrix.

[0056] Figure 6To illustrate a flow chart of one embodiment of a computer-implemented method 600 for encoding a message including a plurality of message bits 101 into a digital watermark frame 500 for a video stream 103 having a plurality of exemplary frames 103a to 103d, the method 600 comprises a step 601 of generating a first subframe 501a of the digital watermark frame 500, as described above, the first subframe 501a of the digital watermark frame 500 is the result of an element-wise XOR operation between a first matrix 301a of a random bit matrix pair and a matrix 401a of the plurality of message bits 101. In addition, the method 600 comprises a step 603 of generating a second subframe 501b of the digital watermark frame 500, wherein the second subframe 501b of the digital watermark frame 500 is the result of an element-wise XOR operation between a second matrix 301b of the random bit matrix pair and the matrix 401a of the plurality of message bits 101.

[0057] Figure 7 Flowchart showing one embodiment of a computer-implemented method 700 for retrieving (i.e., decoding) a message including a plurality of message bits 105 from a digital watermark frame 500 of a video stream 103 having a plurality of frames 103a to 103d. The method 700 comprises a step 701 of extracting the digital watermark frame 500 from at least one of the plurality of frames 103a to 103d of the video stream 103. In addition, the method 700 comprises a step 703 of performing an element-wise XOR operation between a first subframe 501a and a second subframe 501b of the digital watermark frame 500 to determine a key matrix 301c, as described above. The method 700 comprises a step 705 of determining a first matrix 301a and a second matrix 301b of a random bit matrix pair based on the key matrix 301c, wherein the key matrix 301c is an element-wise XOR product of the first matrix 301a and the second matrix 301b. In addition, the method 700 includes step 707: performing an element-by-element XOR operation between the first matrix 301a in the random bit matrix pair and the first subframe 501a of the digital watermark frame 500 to obtain a plurality of first candidate message bits. The method 700 also includes step 709: performing an element-by-element XOR operation between the second matrix 301b in the random bit matrix pair and the second subframe 501b of the digital watermark frame 500 to obtain a plurality of second candidate message bits.

[0058] Those skilled in the art will understand that the "blocks" ("units") in the various figures (methods and devices) represent or describe the functions of an embodiment of the present invention (and not necessarily separate "units" in hardware or software), and therefore equally describe the functions or features of the device embodiments and the method embodiments (units are equivalent steps).

[0059] In the present application, several embodiments are provided, and it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the above-mentioned device embodiments are merely exemplary. For example, the unit division is only a logical function division and can be other divisions in the actual implementation. For example, multiple units or components can be merged or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be implemented through some interfaces. The indirect coupling or communication connection between devices or units can be implemented in electronic, mechanical or other forms.

[0060] The units described as discrete parts may be physically separated or not, and the parts shown as units may be physical units or not, and may be located in one location or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0061] In addition, the functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Claims

1. An apparatus (110) for encoding a message comprising a plurality of message bits (101) into a digital watermark frame (500) for a video stream (103) having a plurality of frames (103a to 103d), characterized in that The device (110) comprises a processing circuit (120), wherein the processing circuit (120) is configured to: generating a first subframe (501a) of the digital watermark frame (500), wherein the first subframe (501a) of the digital watermark frame (500) is a result of an element-by-element XOR operation between a first matrix (301a) of the random bit matrix pair and a matrix (401a) of the plurality of message bits (101); A second subframe (501b) of the digital watermark frame (501) is generated, wherein the second subframe (501b) of the digital watermark frame (501) is a result of an element-by-element XOR operation between a second matrix (301b) in the random bit matrix pair and the matrix (401a) of the plurality of message bits (101).

2. The device (110) according to claim 1, characterized in that The processing circuit (120) is further configured to embed the digital watermark frame (500) into one or more frames of the plurality of frames (103a to 103d) of the video stream (103).

3. The device (110) according to any one of the preceding claims, characterized in that The processing circuit (120) is further configured to arrange the first subframe (501a) and / or the second subframe (501b) at more than one position in the digital watermark frame (500).

4. The device (110) according to any one of the preceding claims, characterized in that The processing circuit (120) is used for: generating a first subframe of at least one other digital watermark frame, wherein the first subframe of the at least one other digital watermark frame is a result of an element-by-element XOR operation between a first matrix of another pair of random bit matrices and the matrix of the plurality of message bits; A second subframe of the at least one other digital watermark frame is generated, wherein the second subframe of the at least one other digital watermark frame is a result of an element-wise XOR operation between a second matrix of the other pair of random bit matrices and the matrix of the plurality of message bits.

5. The device (110) according to claim 4, characterized in that The processing circuit (120) is further configured to embed the other digital watermark frame into one or more other frames of the plurality of frames (103a to 103d) of the video stream (103).

6. The device (110) according to claim 4 or 5, characterized in that The processing circuit (120) is also used to store the random bit matrix pair (301a, 301b) and the key matrix (301c) and / or data used to obtain or generate the random bit matrix pair (301a, 301b) and the key matrix (301c) in a data structure, wherein the key matrix (301c) is the element-by-element XOR product of the first random bit matrix (301a) and the second random bit matrix (301b).

7. The device (110) according to any one of the preceding claims, characterized in that The processing circuit (120) is further configured to generate the random bit matrix pair, comprising the first random bit matrix (301a) and the second random bit matrix (301b).

8. The device (110) according to any one of the preceding claims, characterized in that The processing circuit (120) is further configured to generate the matrix (401a) of the plurality of message bits (101).

9. A method (600) for encoding a message comprising a plurality of message bits (101) into a digital watermark frame (500) for a video stream (103) having a plurality of frames (103a to 103d), characterized in that The method (600) comprises: generating (601) a first subframe (501a) of the digital watermark frame (500), wherein the first subframe (501a) of the digital watermark frame (500) is a result of an element-by-element XOR operation between a first matrix (301a) of the random bit matrix pair and a matrix (401a) of the plurality of message bits (101); A second subframe (501b) of the digital watermark frame (500) is generated (603), wherein the second subframe (501b) of the digital watermark frame (500) is a result of an element-by-element XOR operation between a second matrix (301b) of the random bit matrix pair and the matrix (401a) of the plurality of message bits (101).

10. An apparatus (160) for retrieving a message comprising a plurality of message bits (105) from a digital watermark frame (500) in a video stream (103) having a plurality of frames (103a to 103d), characterized in that The device (160) comprises a processing circuit (170), wherein the processing circuit (170) is configured to: Extracting a digital watermark frame (500) from at least one frame among the plurality of frames (103a to 103d) of the video stream (103); Performing an element-by-element XOR operation between the first subframe (501a) and the second subframe (501b) of the digital watermark frame (500) to determine a key matrix (301c); Determining a first matrix (301a) and a second matrix (301b) in a random bit matrix pair according to the key matrix (301c), wherein the key matrix (301c) is an element-by-element XOR product of the first matrix (301a) and the second matrix (301b); Performing an element-by-element XOR operation between the first matrix (301a) in the random bit matrix pair and the first subframe (501a) of the digital watermark frame (500) to obtain a plurality of first candidate message bits; An element-by-element XOR operation is performed between the second matrix (301b) in the random bit matrix pair and the second subframe (501b) of the digital watermark frame (500) to obtain a plurality of second candidate message bits.

11. The device (160) according to claim 10, characterized in that The processing circuit (170) is used to retrieve the message including the plurality of message bits (105) based on the plurality of first candidate message bits and the plurality of second candidate message bits.

12. The device (160) according to claim 10 or 11, characterized in that The processing circuit (170) is further configured to: extracting another digital watermark frame from at least one other frame of the plurality of frames (103a to 103d) of the video stream (103); Performing an element-by-element XOR operation between the first subframe and the second subframe of the other digital watermark frame to determine other key matrices; Determine other first matrices and other second matrices in other random bit matrix pairs according to the other key matrix, wherein the other key matrix is ​​an element-by-element XOR product of the other first matrix and the other second matrix; performing an element-by-element XOR operation between the other first matrix in the other random bit matrix pair and the first subframe of the other digital watermark frame to obtain a plurality of other first candidate message bits; An element-by-element XOR operation is performed between the second matrix in the other random bit matrix pair and the second subframe of the other digital watermark frame to obtain a plurality of other second candidate message bits.

13. The device (160) according to any one of claims 10 to 12, characterized in that In order to determine the random bit matrix pair (301a, 301b) based on the key matrix (301c), the processing circuit (170) is also used to retrieve the random bit matrix pair (301a, 301b) from a data structure based on the key matrix (301c) and / or to obtain or generate data of the random bit matrix pair (301a, 301b).

14. The device (160) according to claim 13, characterized in that In order to obtain the key matrix (301c), the processing circuit (170) is used to: Performing the element-by-element XOR operation between the first subframe (501a) and the second subframe (501b) of the digital watermark frame (500) to obtain a candidate key matrix; The key matrix (301c) is determined according to the data structure in the following manner: the key matrix (301c) defined by the data structure having the minimum distance to the candidate key matrix is ​​determined.

15. A method (700) for retrieving a message comprising a plurality of message bits (105) from a digital watermark frame (500) of a video stream (103) having a plurality of frames (103a to 103d), characterized in that The method (700) comprises: Extracting (701) a digital watermark frame (500) from at least one frame of the plurality of frames (103a to 103d) of the video stream (103); Performing (703) an element-by-element XOR operation between the first subframe (501a) and the second subframe (501b) of the digital watermark frame (500) to determine a key matrix (301c); determining (705) a first matrix (301a) and a second matrix (301b) of a random bit matrix pair based on the key matrix (301c), wherein the key matrix (301c) is an element-wise XOR product of the first matrix (301a) and the second matrix (301b); performing (707) an element-by-element XOR operation between the first matrix (301a) in the random bit matrix pair and the first subframe (501a) of the digital watermark frame (500) to obtain a plurality of first candidate message bits; An element-by-element XOR operation is performed (709) between the second matrix (301b) in the random bit matrix pair and the second subframe (501b) of the digital watermark frame (500) to obtain a plurality of second candidate message bits.

16. A computer program product, characterized in that A computer-readable storage medium is included for storing program code, which, when executed by a computer or a processor, causes the computer or the processor to perform the method (600) according to claim 9 or the method (700) according to claim 15.