Method for detecting a mark in a video sequence, associated electronic device and computer program
By creating a matrix of averaged pixel values and applying a mark detection algorithm, the method improves the robustness and accuracy of watermark detection in video sequences, addressing the reliability issues of existing methods.
Patent Information
- Application Number
- FR2024006123
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-10
- Publication Date
- 2025-12-12
AI Technical Summary
Existing digital watermarking methods for video content are prone to error and require extensive processing to detect marks, making them unreliable and susceptible to easy removal, which complicates tracing unauthorized copies back to their origin.
A method involving the creation of a matrix of pixel values averaged across frames, followed by applying a mark detection algorithm to enhance the visibility and robustness of the watermark, combined with selection criteria based on image types and content analysis to improve detection accuracy.
Enhances the robustness and accuracy of watermark detection in video sequences by creating a matrix of averaged pixel values and applying specific selection and detection algorithms, reducing the likelihood of false negatives and simplifying the tracing of unauthorized copies.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for detecting a mark in a video sequence, associated electronic device and computer program. Technical field of the invention
[0001] The present invention relates to the technical field of digital watermarking of audiovisual content.
[0002] It relates in particular to a method for detecting a mark in a video sequence, as well as an associated electronic device and computer program. State of the art
[0003] It is known to insert a mark by digital watermarking within video content in order to be able to subsequently determine the origin of that content.
[0004] For example, in video content distribution systems, it has been proposed to associate a code with each user account and to insert a brand linked to this code in the content distributed to this user account.
[0005] Thus, when an unauthorized copy of the video content is found, it is possible by extracting the trademark by analyzing this copy to deduce the code and thus trace back to the user account that originated the unauthorized copy.
[0006] In order on the one hand not to alter the content and on the other hand to prevent easy detection of the mark (which would easily allow its removal), the mark is affixed by modifying only very slightly the pixel values representing the images of the video sequence concerned.
[0007] The detection of the inserted mark is therefore relatively delicate and can give an erroneous result, which implies the processing of many images in order to reduce the probability of error. Presentation of the invention
[0008] In this context, the present invention proposes a method for detecting a mark in a video sequence defined on a set of pixels and comprising a plurality of images, each defined by at least one frame comprising values respectively associated with said pixels, the method comprising the following steps:
[0009] - obtaining a matrix of values comprising, for each pixel, an equal value to an average of the values associated with the pixel in question in frames defining at least some of the images of the plurality of images;
[0010] - detection of said mark by applying to the obtained matrix an algorithm of Mark detection in a frame.
[0011] The matrix represents an average frame within which the mark inserted in the different images of the video sequence stands out more clearly and will therefore be detected more robustly.
[0012] The frames and the matrix further comprise an identical number of pixels, which makes it possible to process the matrix by means of a detection algorithm designed to detect the mark in a frame.
[0013] The detection method may also include a step of selecting several images from within the plurality of images. It can then be provided that, in the acquisition step, a value included in the matrix and relating to a given pixel is the average of the values respectively associated with the pixel in question in the frames defining the selected images.
[0014] In some embodiments, the frames are contained in a data stream defining, for each image, a type assigned to that image from among a set of types.
[0015] In this case, it can be expected that, at the selection step, an image will be selected if the type assigned to that image is contained in a subset of the type set distinct from the type set. The type set includes, for example, types I, P, and B. The subset may then include type I, or types I and P, for example.
[0016] The detection method may also include a step of applying a content analysis algorithm to said images; the images may then be selected at the selection step based on at least one result produced by the content analysis algorithm.
[0017] The detection method may include a step of determining a characteristic representative of a change between two images (for example successive ones); the images can then be selected at the selection step according to the determined characteristic.
[0018] According to one possible embodiment, at the selection step, an image is selected for each set of N successive images, where N depends on the determined characteristic.
[0019] According to another possible embodiment, the subset mentioned above is determined according to the determined characteristic.
[0020] The aforementioned characteristic can be determined on the basis of at least one motion vector between said two images.
[0021] The aforementioned characteristic can also be determined on the basis of differences, for at least some of the pixels, between the pixel value in a first frame defining one of said two images and the pixel value in a second frame defining the other of said two images.
[0022] The process may also include, before the step of determining said characteristic, a step of realigning said two images.
[0023] The mark detection algorithm may include a preliminary step of processing the value matrix, for example a step of reducing the resolution of the value matrix (or, in other words, reducing the resolution of the frame formed by the values respectively associated with the pixels in the value matrix).
[0024] The detection step may, for example, include the following sub-steps:
[0025] - application of at least one frequency transform (for example a transform in wavelets) to the matrix of values in order to obtain coefficients;
[0026] - determination of a correlation indicator between the coefficients obtained and the coefficients associated with the brand;
[0027] - comparison of the correlation indicator to a correlation threshold.
[0028] The invention also proposes an electronic device adapted for detecting a mark in a video sequence defined on a set of pixels and comprising a plurality of images, each defined by at least one frame comprising values respectively associated with said pixels, the electronic device comprising:
[0029] - a computing unit configured to obtain a matrix of values comprising, for each pixel, a value equal to an average of the values associated with the pixel in question in frames defining at least some of the images of the plurality of images;
[0030] - a detection unit configured to detect said mark by applying to the matrix obtained a mark detection algorithm in a frame.
[0031] The invention also proposes a computer program comprising instructions executable by a processor and designed to implement a process as mentioned above when these instructions are executed by the processor.
[0032] The invention finally proposes a non-transient, possibly removable, processor-readable recording medium that stores such a computer program.
[0033] Of course, the various features, variants, and embodiments of the invention can be combined in various ways, provided they are not incompatible or mutually exclusive. Detailed description of the invention
[0034] In addition, various other features of the invention become apparent from the attached description made with reference to the drawings which illustrate non-limiting embodiments of the invention and where:
[0035] [Fig-1] schematically represents the main elements of a device brand detection electronics;
[0036] [Fig.2] is a flowchart representing the main steps of a mark detection process in a video sequence;
[0037] [Fig.3] is a flowchart of a first selection process that can be considered during the process of [Fig.2];
[0038] [Fig.4] a flowchart of a second selection process that can be considered during the process of [Fig.2];
[0039] [Fig.5] is a flowchart of a third selection process that can be considered during the process of [Fig.2];
[0040] [Fig.6] is a flowchart representing the main steps of an example of a mark detection algorithm in a frame; and
[0041] [Fig.7] illustrates the obtaining of coefficients during the process of [Fig.6].
[0042] Fig. 1 schematically represents the main elements of a brand 10 detection device.
[0043] This brand detection device 10 includes a calculation unit 4, a detection unit 6 and a pseudo-random generator 8. Optionally, the brand detection device 10 may include a selection unit 2.
[0044] Each of the elements (unit or generator) 2, 4, 6, 8 mentioned above can in practice be implemented by the execution of computer program instructions by a processor (not shown) of the detection device marked 10. In this case, these computer program instructions are for example designed to implement the process described below with reference to [Fig.2] and comprising steps E2 to E6.
[0045] Alternatively, however, at least some of elements 2, 4, 6, 8 mentioned above could be implemented by a dedicated electronic circuit, for example an application-specific integrated circuit.
[0046] The mark detection device 10 receives as input a stream of frames f(i) defining respectively a plurality of images forming at least part of a video sequence. The video sequence is defined on a set of pixels (generally organized in matrix form): each image of the video sequence is represented by a frame f(i) comprising values respectively associated with the different pixels. This frame therefore represents a monochrome image. In the case where it is desired to process images comprising several color components (or channels) (for example, of the RGB type), it may be possible, depending on the application:
[0047] - either treat each component (or channel) separately;
[0048] - either to process only one component (i.e., a single channel), for example the green component (or channel);
[0049] - either convert each image into a greyscale image to reduce to aforementioned monochrome processing.
[0050] It is assumed here that a watermark has been inserted by digital watermarking into each frame f(i) of the frame stream received as input to the watermark detection device 10 (the same watermark being inserted into all frames f(i) of the frame stream). This digital watermarking was, for example, performed before transmitting the video sequence comprising the frames f(i) to a particular user in a video sequence distribution system. The insertion of the watermark by digital watermarking into the frames f(i) is, for example, carried out according to a technique described in the article "Secure Spread Spectrum Watermarking for Multimedia", by LJ. Cox et al., in IEEE Transactions on Image Processing, vol. 6, no. 12, December 1997.
[0051] When the brand detection device 10 includes a selection unit 2, this selection unit 2 transmits only a portion of the received input frames to the processing unit 4. Various examples of selection that can be implemented by the selection unit 2 will be described below with reference to Figures 3 to 5.
[0052] In the following, f(k) denotes the frames transmitted (i.e. applied) into the input of the computing unit 4.
[0053] When the brand detection device 10 does not include a selection unit, the sequence of frames f(k) transmitted into the input of the computing unit 4 is identical to the flow of frames f(i) received into the input of the brand detection device 10.
[0054] The computing unit 4 is configured to obtain a matrix M of values comprising, for each pixel, a value equal to an average of the values associated with the pixel concerned in frames f(k) received as input to the computing unit 4.
[0055] If we denote by f(l), ..., f(k), ..., f(n) n frames received successively at the input of the processing unit 4, Vjj(k) the value associated with the pixel in row i and column j in the frame f(k) and Mij the element in row i and column j in the matrix M, the processing unit 4 can for example produce the matrix M such that (for any row i and any column j): [0056>
[0057] Alternatively, other formulas can be used. For example, the value associated with a pixel in the matrix M can be a weighted average of the values respectively associated with that pixel in the frames f(k). For example, it is possible to assign a higher weight to a particular frame, possibly based on its content (the first frame representing a given scene could, for example, have more weight than frames corresponding to repetitive images of a fixed shot).
[0058] The pseudo-random generator 8 is designed to receive as input an ID identifier (for example, in the case described above, an identifier associated with a user of the video sequence distribution system) and to generate as output a sequence pseudo-random w corresponding to the mark whose possible insertion into the frame stream f(i) we wish to detect.
[0059] The detection unit 6 is configured to detect this mark by applying to the matrix M obtained at the output of the calculation unit 4 (or, in other words, to a frame formed by the values respectively associated with the pixels in the matrix M) a mark detection algorithm in a frame (such a mark detection algorithm in a frame being applicable, i.e. designed to be applied, to each of the frames f(i), even if this application of the mark detection algorithm to the frames f(i) themselves is not provided for in the example described here).
[0060] The mark detection algorithm used depends of course on the algorithm used to insert the mark into the frames f(i) of the frame stream received as input to the mark detection device 10.
[0061] The mark detection algorithm used here is therefore an algorithm such as that described in the aforementioned article "Secure Spread Spectrum Watermarking for Multimedia".
[0062] Because the matrix M comprises values respectively associated with the pixels of the frames f(i) of the frame stream, a known mark detection algorithm in a frame can indeed be applied to this matrix M without prior processing. (As explained later, the mark detection algorithm in a frame may itself include a preliminary processing step, for example to reduce the frame resolution, as described later.)
[0063] The detection unit 6 produces a detection result (or decision regarding detection) R which indicates whether the mark wa has been detected or not within the frame formed by the values respectively associated with the pixels in the matrix M, which indicates whether the mark wa has been detected or not in the frame stream f(i) received as input.
[0064] The processing carried out by the detection unit 6 can be repeated for different values of the identifier ID (and therefore different pseudo-random sequences w), but with the same matrix M, until a pseudo-random sequence (and therefore a mark) corresponding to a particular identifier is actually detected.
[0065] Fig. 2 is a flowchart representing the main steps of a mark detection process in a video sequence.
[0066] This process is implemented for example by the brand detection device 10 shown in [Fig.1] and described above.
[0067] The process of [Fig.2] processes a video sequence defined on a set of pixels and comprising a plurality of images, each defined by at least one frame comprising values respectively associated with said pixels.
[0068] As explained above, a mark was previously inserted into the video sequence, that is to say in each of the frames defining at least some of the images of the video sequence.
[0069] The process in [Fig. 2] includes an optional step E2 of selecting several images (i.e., at least two images) from within the aforementioned plurality of images. This step E2 is implemented here by the selection unit 2.
[0070] In some embodiments, the data stream containing the frames can define, for each image, a type assigned to that image from among a set of types. For example, a group of pictures (or GOP for "Group Of Pictures") can contain one image of type I, at least one image of type P and at least one image of type B.
[0071] In this case, at the selection step E2, it is possible to select an image if the type assigned to that image is contained in a subset of the type set distinct from the type set. For example, at step E2, only images of type I can be selected (the aforementioned subset containing only type I), or only images of type I and images of type P can be selected (the aforementioned subset containing type I and type P).
[0072] It is also possible to provide for a step of applying a content analysis algorithm to at least some of the images in the plurality of images in order to select the images in step E2 according to at least one result produced by the content analysis algorithm.
[0073] Three examples of selection processes with content analysis are given below with reference to Figures 3 to 5. In these different examples, the content analysis covers all the images. However, alternatively, only a portion of the images (for example, certain image blocks) can be taken into account in the content analysis used for image selection in step E2.
[0074] The process in [Fig. 2] then includes a step E4 for obtaining a matrix of values M comprising, for each pixel, a value equal to an average of the values associated with the pixel in question in frames defining at least some of the images of the plurality of images. This step E4 is implemented here by the computing unit 4.
[0075] When the selection step E2 is implemented, each value included in the matrix and relating to a given pixel is the average of the values respectively associated with the pixel concerned in the frames defining the images selected in step E2.
[0076] When the selection step E2 is not implemented, each value included in the matrix and relating to a given pixel is the average of the values respectively associated with the pixel concerned in the frames defining a certain number of successive images.
[0077] In both cases, the number of images taken into account for calculating the average can be predetermined (for example between 100 and 500).
[0078] Alternatively, however, this number of images taken into account in the average can be variable. For example, when several iterations of the process in [Fig. 2] are implemented, if the detection of step E6 (described below) is negative for a given iteration using a first number of images in the average, the next iteration can be carried out using a second number of images in the average, this second number being (strictly) greater than the first number.
[0079] When several iterations of the process in [Fig. 2] are implemented, if a certain set of images is taken into account for calculating the average during an iteration, it is possible at the following iteration:
[0080] - in certain embodiments, taking into account a part of this set of images and at least one subsequent image for calculating the average;
[0081] - in other embodiments, taking into account subsequent images not included in this set for the calculation of the average.
[0082] The process of [Fig.2] then includes a step E6 of mark detection by applying to the obtained matrix a mark detection algorithm in a frame, that is to say by applying this mark detection algorithm in a frame to the frame formed by the values respectively associated with the pixels in the matrix M. This step E6 is here implemented by the detection unit 6.
[0083] A possible example of implementation of step E6 is described below with reference to [Fig.6].
[0084] Step E6 allows obtaining a detection result R which indicates whether the mark has been detected or not in the matrix M, or in other words in the frame formed by the values respectively associated with the pixels in the matrix M, that is to say in the plurality of images respectively defined by the frames f(i).
[0085] Fig. 3 represents an example of a possible selection process for selection step E2.
[0086] The process of [Fig. 3] may include a step E8 of realigning two images used in step E10 described below, in order to compensate for any movement that may have been introduced between these two images if the video sequence was recorded using a camcorder (i.e., to counter a camcorder attack). This step E8 is, however, optional.
[0087] These two images can, for example, be two successive images. In the example described here, these two images are the first two images of a group of pictures (or GOP for "Group of Pictures") defined in the data stream containing the frames.
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099] The process in [Fig.3] then includes a step E10 of determining a characteristic representative of a change between these two images. The characteristic used here is a distance between the two aforementioned images, determined as a function of the pixel-to-pixel differences between the two aforementioned images (for at least some of the pixels): if we denote f(g) and f(g+1) the frames respectively associated with the two aforementioned images, and fi(g) and ^(g+l) the values of the pixel in row i and column j respectively in these frames f(g) and f(g+l), the aforementioned characteristic (associated with the frame of index g and thus with the current group of images, containing the frame f(g)) can be determined as follows: c ( g ) = mini ——t-;—11 with “a parameter to be chosen when designing the system, here a = 0.05. In this case, the characteristic c(g) is therefore determined on the basis of differences, for at least some of the pixels, between the value of the pixel in a first frame f(g) defining one of the two aforementioned images and the value of the pixel in a second frame f(g+l) defining the other of the two aforementioned images. Alternatively, the aforementioned characteristic can be determined in step E10 based on at least one motion vector between the two images. In this case, the characteristic can, for example, be determined based on the magnitudes of the motion vectors as determined by comparative analysis of the two images. The characteristic could be, for instance, the average of the magnitudes of the motion vectors between the two images. According to another variant, the aforementioned characteristic can be determined during step E10 by using a block-matching algorithm applied to the two aforementioned images. The process of [Fig.3] then includes a step E12 of selecting at least one image according to the characteristic determined in step E10. In the example described here, a subset of types (here among types I, P and B) is chosen according to the characteristic determined in step E10 and the images selected are the images whose type is included in the chosen subset. According to one possible implementation: - if the characteristic is less than (or equal to) a first threshold (equal here to 0.01), that is here if c(g) < 0.01, the subset of types includes only type I, that is to say that only type I images are selected at step E12; - if the characteristic is greater than (strictly) the first threshold, but less than (or equal to) a second threshold (greater than the first threshold, here equal to 0.03), the subset of types includes types I and P, i.e., images of type I or P are selected in step E12;
[0100] - if the characteristic is greater than (strictly) the second threshold, the subset of types includes types I, P and B, that is to say that all images are in fact selected in this case (which in this case amounts to not making a selection in step E12).
[0101] It is noted that several iterations of the process in [Fig. 3] can be carried out during step E2 described above: a predetermined number of iterations can be performed, or, alternatively, iterations can be carried out until a certain number of selected images are obtained. In both cases, the images selected during the different iterations are those used in step E4 to obtain the matrix M.
[0102] Fig. 4 represents another example of a possible selection process for selection step E2.
[0103] The process of [Fig. 4] begins with a step E20 of determining a characteristic representative of a change between two images. These two images can be, for example, two successive images, i.e., a first image and a second image.
[0104] An optional realignment step of the two images (similar to step E8 described above) may optionally be implemented before step E20 to combat camcorder-type attacks.
[0105] As in step E10 described above, the characteristic is determined in step E20 based on differences, for at least some pixels, between the pixel value in a first frame f(g) defining the first image and the pixel value in a second frame f(g+l) defining the second image. The characteristic can, for example, be calculated as follows: 10'061 / sy.fLl(g+ i) \ c(g) = mini, 11
[0107] with as above has a parameter to be chosen when designing the system, here a = 0.05, and fij(g) and fi>j(g+l) the pixel values in row i and column j respectively in these frames f(g) and f(g+l).
[0108] The process in [Fig. 4] then includes a step E22 of selecting an image (for example, the image associated with the frame f(g)) for each set of successive s(g) images, where s(g) depends on the determined characteristic c(g). In other words, in step E22, an image is selected every s(g) images (with s(g) varying according to the determined characteristic c(g).
[0109] In the example described, s(g) is defined by: s(g)=max(round((lc(g)).smax),l) where round is the rounding function, max is the maximum function, smax corresponds to the desired maximum value for c(g), with for example smax between 10 and 30, here smax =20.
[0110] It can be foreseen for example that n images, and therefore n associated frames, are selected during step E22 and are thus used when obtaining the matrix M in step E4.
[0111] Alternatively, step E20 can be implemented at regular intervals (i.e. periodically) in order to change the number s(g) during the selection of the n images or frames.
[0112] Fig. 5 represents yet another example of a possible selection process for selection step E2.
[0113] The process of [Fig.5] begins with a step E30 in which a variable m and a variable s0 are each initialized to the value 1. As described below, the process of [Fig.5] performs several iterations of steps E32 to E38 and the index m indicates the current iteration.
[0114] It is also considered that the value g designates the first frame f(g) to be processed (i.e. for example g=0 for the first frame of the frame stream).
[0115] The process in [Fig. 5] then includes a step E32 for determining a characteristic representative of a change between two images, here the current image associated with frame f(g) and a subsequent image associated with frame f(g+sm_i). The subsequent image can be the image that immediately follows the current image associated with frame f(g), in particular during the first iteration (where m=l so sm_i=s0=1), or an image located further along in the stream (depending on the value of sm determined at each iteration as explained below).
[0116] We denote cm the characteristic determined at the current iteration.
[0117] In the example described here, the cm characteristic is determined as follows: [ons] \ cm = unn-------«-------, 1
[0119] with as before^ a parameter to be chosen during the design of the system, here a = 0.05, and fij(g) and fij(g+sm_i) the values of the pixel in row i and column j respectively in the frames f(g) and f(g+sm_i).
[0120] As in the previous examples, the cm characteristic is therefore determined on the basis of differences, for at least some of the pixels, between the value of the pixel in a first frame f(g) defining one of the two aforementioned images and the value of the pixel in a second frame f(g+sm_i) defining the other of the two aforementioned images.
[0121] Alternatively, the cm characteristic could be determined on the basis of at least one motion vector between the two images defined respectively by the frames f(g) and f(g+sm_i).
[0122] Step E32 may optionally include, before determining the cm characteristic, a substep of realigning the two images (and therefore the frames f(g) and f(g+sm i)) in order to combat camcorder-type attacks.
[0123] The process of [Fig.5] then includes a step E34 of selecting the image associated with the current frame f(g).
[0124] The process of [Fig.5] then includes a step E36 of determining the value s for the current index m: sm = max(round((l-cm)*smax),l).
[0125] As can be seen from the operation of the whole process in [Fig.5], this value sm therefore represents (at each iteration) the time gap between two selected images which are also taken into account (during the following iteration) to determine a change between two images.
[0126] The process of [Fig. 5] then includes a step E38 of incrementing the value of g by sm units. In other words, the content of the variable g is replaced by g+sm with overwriting.
[0127] We now consider as current frame f(g) a frame located, in the stream, sm frames after the previous current frame.
[0128] The process of [Fig.5] then includes a test (step E40) which determines if m < n. As before, n is the number of images to be selected in step E2 for use in step E4 of obtaining the matrix M.
[0129] If m < n (arrow P at step E40), the process continues with a step E42 of incrementing (by one unit) the variable m, then loops back to step E32 to perform the next iteration.
[0130] If the test m < n is not verified (arrow N), then we have m = n and n images have thus been selected during the different passages to step E34.
[0131] The selection process of [Fig.5] is complete and steps E4 and E6 described above with reference to [Fig.2] can therefore be implemented using the n selected images.
[0132] Fig. 6 represents the main steps of an example of a mark detection algorithm in a frame as applied to the matrix M in step E6.
[0133] This process begins with an optional preliminary step E50 of reducing the resolution of the processed frame, here the matrix M, or in other words, the frame formed by the values respectively associated with the pixels in the matrix M. One or more other preliminary step(s) of processing the matrix M (i.e., of processing of the frame formed by the values respectively associated with the pixels in the matrix M) could be implemented during step E50.
[0134] This step E50 is carried out by subsampling, for example subsampling with bi-linear interpolation.
[0135] If, for example, the frames f(i) processed have an initial resolution of 1920x1080, the matrix M then comprises 1080 rows and 1920 columns; step E50 can then reduce the resolution to a lower resolution equal to 640x360, for example.
[0136] Step E50 therefore produces as output a matrix or frame M' of lower resolution, here 640x360 (i.e. a matrix M' of 360 rows and 640 columns).
[0137] The process of [Fig.6] then includes a step E52 of applying at least one wavelet transform to the value matrix (here to the lower resolution matrix M') so as to obtain coefficients.
[0138] In the example described here, a discrete wavelet transform (DWT) is applied at three levels, which yields coefficients of type HH1 (here in the form of a 180x320 matrix), coefficients of type LH1 (here in the form of a 180x320 matrix), coefficients of type HL1 (here in the form of a 180x320 matrix), coefficients of type HH2 (here in the form of a 90x160 matrix), coefficients of type LH2 (here in the form of a 90x160 matrix), coefficients of type HL2 (here in the form of a 90x160 matrix), coefficients of type HH3 (here in the form of a 45x80 matrix), coefficients of type LH3 (here in the form of a 45x80 matrix), and HL3 type coefficients (here in the form of a 45x80 matrix), as shown in [Fig.7].
[0139] The process of [Fig.6] further includes a step E54 of generating a pseudo-random sequence w (here using the pseudo-random generator 8) from the identifier ID associated with the brand being sought, and of forming a set of coefficients associated with the brand on the basis of the pseudo-random sequence w. The coefficients obtained are, for example, associated with the coefficients obtained in step E52 in a predefined order (such as a horizontal scan of the image, sometimes referred to by the Anglo-Saxon term "raster scan order").
[0140] The process of [Fig.6] can then continue with a step E56 of determining a correlation indicator between the coefficients obtained (here from the matrix M') in step E52 and the coefficients associated with the mark defined in step E54. The correlation used is for example that provided for in the article "Secure Spread Spectrum Watermarking for Multimedia" cited above.
[0141] The process of [Fig.6] then includes a step E58 of comparing the correlation indicator to a correlation threshold.
[0142] If the correlation indicator is greater than the correlation threshold, the mark is considered to be effectively detected, and the detection result R is positive (i.e. for example R=1 in practice).
[0143] If the correlation indicator is less than the correlation threshold, the mark is considered not to be detected, and the detection result R is negative (i.e. for example R=0 in practice).
Claims
Demands
1. A method for detecting a mark in a video sequence defined on a set of pixels and comprising a plurality of images, each defined by at least one frame (f(i)) comprising values respectively associated with said pixels, the method comprising the following steps: - obtaining (E4) a matrix of values (M) comprising, for each pixel, a value equal to an average of the values associated with the pixel concerned in frames (f(k)) defining at least some of the images of the plurality of images; - detecting (E6) said mark by applying to the matrix (M) obtained a mark detection algorithm in a frame.
2. A method according to claim 1, comprising a step of selecting (E2; E12; E22; E34) several images within the plurality of images, and wherein, at the obtaining step, a value included in the matrix and relating to a given pixel is the average of the values respectively associated with the pixel concerned in the frames (f(k)) defining the selected images.
3. A method according to claim 2, wherein the frames are contained in a data stream defining, for each image, a type assigned to that image from among a set of types, and wherein, at the selection step (E12), an image is selected if the type assigned to that image is contained in a subset of the set of types distinct from the set of types.
4. A method according to claim 2, comprising a step of applying a content analysis algorithm to said images, the images being selected at the selection step based on at least one result produced by the content analysis algorithm.
5. A method according to claim 2 or 3, comprising a determination step (E10; E20; E32) of a characteristic representative of a change between two images, the images being selected at the selection step (E12; E22; E34) according to the determined characteristic.
6. A method according to claim 5 taken in dependence on claim 2, wherein, at the selection step (E22), an image is selected for each set of N successive images, where N depends on the determined feature.
7. A method according to claim 5 taken in dependence on claim 3, wherein said subassembly is determined according to the determined characteristic.
8. A method according to any one of claims 5 to 7, wherein said characteristic is determined on the basis of at least one motion vector between said two images.
9. A method according to any one of claims 5 to 7, wherein said characteristic is determined on the basis of differences, for at least some of the pixels, between the pixel value in a first frame defining one of said two images and the pixel value in a second frame defining the other of said two images.
10. A method according to any one of claims 5 to 9, comprising, before the step (E10) of determining said characteristic, a step (E8) of realigning said two images.
11. A method according to any one of claims 1 to 10, wherein the mark detection algorithm includes a preliminary step (E50) of processing the value matrix.
12. A method according to any one of claims 1 to 11, wherein the detection step comprises the following substeps: - application (E52) of at least one frequency transform to the value matrix (M) so as to obtain coefficients; - determination (E56) of a correlation indicator between the coefficients obtained and coefficients associated with the mark; - comparison (E58) of the correlation indicator to a correlation threshold.
13. Electronic device (10) adapted to detect a mark in a video sequence defined on a set of pixels and comprising a plurality of images, each defined by at least one frame (f(i)) comprising values respectively associated with said pixels, the electronic device comprising: - a computing unit (4) configured to obtain a matrix of values (M) comprising, for each pixel, a value equal to an average of the values associated with the pixel concerned in frames (f(k)) defining at least some of the images of the plurality of images;
14. - a detection unit (6) configured to detect said mark by applying to the obtained matrix (M) a mark detection algorithm in a frame. Computer program comprising instructions executable by a processor and designed to implement a method according to any one of claims 1 to 12 when these instructions are executed by the processor.
Citation Information
Patent Citations
Covert and robust mark for media identification
US20090087021A1
Information embedding device, information detecting device, information embedding method, and information detecting method
US20150154725A1
Efficient watermarking approaches of compressed media
US8515123B2