The proposed technique relates to the identification of unauthorized content. More specifically, the proposed technique relates to a method for inserting, in an original content, a digital mark which can then be retrieved in an unauthorized content produced from the original content. The proposed technique also relates to a method for detecting a digital mark from an unauthorized content.
Piracy is considered as being a burden in digital content production and distribution. Among solutions used by the pirates for obtaining copies of digital contents, the use of camcorders is popular. Indeed, this technique does not necessitate an important technical knowledge. Furthermore, this technique can be implemented by using small and discreet equipment. Thus, filming content (for example in a theatre or in front of an LCD screen) is a popular technique for obtaining a copy of a protected digital content.
Solutions for preventing piracy have been widely investigated.
Among these solutions, inserting a digital mark into one content is a well-known technique to prevent or trace piracy. Each copy of the original content will bear a different mark, linked for example to a user ID or an equipment ID, and retrieving the watermark on a pirated copy allows tracing back to the pirate. This is for example the case of watermarking. Invisible information is inserted in an original digital content (still picture or a video stream). This digital content may then be retrieved in a copy of the original content to find the initial defrauder.
Among existing solutions, directed to digital video contents, the following can be implemented:
We can notice that the proposed solutions have one major drawback: they are limited by the capacity or the willing of a content provider to implement a specific solution. Hence, there is currently no cross-medium universal solution. Current watermarking systems requires to either modify the video player or decoder (DVD/BluRay players, STB . . . ), or to insert a watermark <<embedder>> module into the server chain. Thus, the watermarking is specific to a given content provider or service.
Another technique, described in patent U.S. Pat. No. 7,756,288 B2 consists in inserting a watermark onto an illuminated image sequence in motion picture. This technique is based a light modulator which is configured for modulating a light source; and a controller which is configured for controlling the light modulator. The controller selectively alters light intensity over space and time such that a low frequency watermark is inserted onto the illuminated image sequence. However, the solution proposed in this patent is limited to a modulation of the intensity of the backlight, in a context of analogic displaying. Such intensity modulation presents the drawback of being noticeable to a user. Besides, the solution proposed inserts the watermark spatially in the image which required controlling the illumination of each pixel of the image individually.
So there is a need for providing a universal solution for allowing insertion of watermark independently of the ability or willingness of a specific actor in the content distribution chain.
The invention does not comprises theses drawbacks of prior art. More specifically, the invention relates to a method for inserting at least one message, in a rendering of a video content by a display device wherein the display device comprises a periodic light source (PLS) generating illuminated images of the video content. According to the invention, said method comprises at least one iteration of:
Thus, the invention allows inserting a message in a rendering of a content which can then be retrieved. The invention allows inserting the message independently of the device used for playing the content. It is important to notice that the proposed technique does not insert the message in the content itself, but in the rendering of the content thanks to the light source modulation. Advantageously, the message is spatially uniformly inserted.
According to a specific feature, said given time period is comprised between one and twenty seconds.
According to a specific feature, the transformation function returns a first frequency for a first value of the bit and a second frequency value for a second value of said bit.
According to a specific feature, said transformation function is:
With w(i) being the ith message bit, α being an absolute shift in frequency, and T being the duration of one bit, └ ┘ being the floor function.
According to another specific feature, the transformation function returns an increasing frequency during the time period for a first value of said bit and a decreasing frequency during the time period for a second value of said bit.
According to a specific feature, said transformation function is:
With w(i) being the ith message bit, α being an absolute shift in frequency, and T being the duration of one bit, └ ┘ being the floor function.
According to a specific variant wherein the periodic light source is a pulse light source and the frequency is a pulse frequency, the pulse-width of said pulse light source is modulated such that the duty cycle of display device remains constant while modulating said pulse frequency.
In another embodiment, the invention is also directed to a device for inserting at least one message, in a rendering of a video content by a display device, wherein the display device comprises a periodic light source (PLS) generating illuminated images of the video content. Such device comprises:
The invention also relates to a method for reading at least one message, in a video content obtained by filming a display device wherein the display device comprises a periodic light source (PLS) whose frequency is modulated in view of a bit (wi) of said message (Msg).
According to the invention, said method comprises at least one iteration of:
Thus, the method allows retrieving the message which has been inserted during the rendering of the content by using the modulation of the frequency of the periodic light source (PLS). Advantageously, the message is then visible on a record of the content made with a camera.
In another embodiment, the invention is also directed to a device for reading at least one message, in a video content obtained by filming a display device wherein the display device comprises a periodic light source (PLS) whose frequency is modulated in view of a message bit (wi).
According to the invention, said device comprises:
In a preferred embodiment, the various steps of the methods according to the invention are implemented by one or more software or computer programs comprising software instructions for execution by a data processor or a module (such as a synchronizer, a detector), and adapted for controlling the execution of the different process steps.
Accordingly, the invention also provides a non-transitory program storage device, readable by a computer, tangibly embodying a program of instructions executable by a computer or a data processor, the program including instructions for controlling the execution of the steps of a method as mentioned above.
This program can use any programming language, and be in the form of source code, object code or intermediate code between source code and object code, such as a partially compiled form, or in any other desirable form.
The invention also provides a medium readable by a data processor, and containing instructions of a program as mentioned above.
The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise a storage medium, such as a ROM, for example a CD ROM or a microelectronic circuit, or a magnetic recording medium, such as a diskette (floppy disk) or a hard drive.
On the other hand, the information carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable, by radio or by other means. The program according to the invention may in particular be downloaded over a network such as the Internet.
Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to perform or to be used in carrying out the process in question.
According to one embodiment, the invention is implemented using software and/or hardware. In this context, the term “module” can correspond in this document as well as a software component to a hardware component or a set of hardware and software components.
A software component is one or more computer programs, one or more sub-programs of a program, or more generally to any element of a program or software capable to implement a function or set of functions, according to what is described below for the module. Such software component is executed by a processor of a physical entity (TV, projector, terminal, server, gateway, router, etc.) and is likely to access the hardware resources of the physical entity (memory, storage media, bus communication, e-cards I/O, user interfaces, etc.).
Similarly, a hardware component is any component of a hardware (or hardware) that can implement a function or set of functions, according to what is described below for the module. It may be a component integrated with programmable hardware or software for the execution processor, for example an integrated circuit, a smart card, a memory card, an electronic card for the execution of a firmware, etc.
Each component of the system described above provides its own software modules. The various embodiments described above can be combined together for the implementation of the invention.
The proposed method is described in the following by way of examples in connection with the accompanying figures without limiting the scope of the protection as defined by the claim. In the figures:
The principle which forms the technical base of the technique is to take advantage of a difference between a recording frequency of a camcorder (i.e. the number of image which the camcorder is able to record by second, typically 25 or 30) and a lighting frequency (i.e. the number of time, by second, that the light source which is used for lighting the displayed image is switched on and switched off periodically). This difference is used for creating a signal comprising a message (which can be a watermark). In others words the proposed technique takes advantage of the “flickering effect” created by the fact of “camcording” a screen for injecting a message in the record obtained by the camcorder.
Thus, in a general manner, according to the proposed technique, when the lighting frequency is modulated (i.e. augmented or reduced), the signification of this modulation can then be interpreted (or recognized) in order to obtain the message. This means that the lighting frequency is changed in view of the message which is inserted (i.e. in view of the value of an identifier for example, if the message is an identifier). This modulation of the lighting frequency is interesting. For example, considering the case of a video camera (camcorder) which camcords (records with a camera) an LCD display, such LCD display, usually embed a backlight panel that serves as a light source (called backlight). The camcorder samples the video signal displayed on the LCD (typically at a rate of 25 fps, called f_sample). This sampling leads to aliasing and is visible in the camcorded video (i.e. the resulting record) as flickering.
For example, a backlight frequency of 180 Hz (f_sig) captured at 25 fps (f_sample) with a camcorder is aliased as 5 Hz peak (f_aliasing), i.e. flickering has a frequency of 5 hz (180 mod 25=5). More generally, if f_sample<f_sig, then f_aliasing is equal to f_sig mod f_sample. The base of the technique consists in modifying f_sig, thus modifying f_aliasing at the detection.
Thus, according to the proposed technique, a situation (i.e. the presence of the flickering in the camcoded record) is turned to be an advantage for the content producer: for example, it allows tracing an origin of a pirate copy of a given content.
Since the backlight frequency (f_sig) is modulated, this means that the flickering frequency f_aliasing is also modulated. As a result, the record obtained by the camcorder comprises a modulation of the flickering frequency, this modulation being the result of an identifier or a message to insert.
Of course, the proposed technique is not limited to LCD screens. It can also be implemented into other rendering devices, like projectors (e.g. LED or Laser projectors) and any other device which emits periodically a light using digital pulse or digital sinusoidal light emission. Thus a light source is called a “periodic light source (PLS)” because light is not emitted constantly: light is emitted with a given frequency in form of pulse or in a sinusoid.
The proposed technique comprises two different aspects: a method for inserting, in the signal, a message, based on the properties of the “flickering effect” and a method for obtaining a message from a record of the signal(which is for example suspected to be a pirated copy, but any other application can be implemented).
The method for inserting a message in a content rendered on a screen according to the proposed technique is described in relation with
Alternatively, instead of modulating in view of a single bit, the modulating can also be done in view of several bits. Furthermore, several embodiments of the modulation can be used for inserting the bit: for example a fixed frequency can be synonym of a value while a second frequency is synonym of a second value; another example can consist in increasing the frequency when a given value has to be inserted and consist in decreasing the frequency when another value has to be inserted: the increasing and decreasing is thus the information itself (independently of the value of the frequency).
Thus, each bit is inserted, one after the other, while the video is displayed on the screen. When the insertion of the message is finished, it can be resumed, starting from the beginning of the message, again and again as long as something is displayed on the screen. For an interesting result, in terms of investigation, each bit must be inserted during a time period which allows the detection of the bit. This time period can be for example comprised between one and twenty seconds. For a “normal” user, who is just watching the screen, nothing is visible since the intensity of the light is not modified.
Thus the technique allows embedding a message in a rendering on a screen, for example on a LCD screen. The message can for example be embedded by modulating the frequency of the periodic light source. The pulse-width of the periodic light source may also be controlled in order to prevent any unwanted displaying effect. The duty cycle is the fraction of time the backlight is on and determines the display brightness of the screen: Duty cycle=t_ON/(t_ON+t_OFF). In LCD screens with constant periodic light source frequency, Pulse-Width-Modulation (PWM) is used to change the duty cycle by increasing/decreasing the duration of the light pulse, as explained with
Hence, the message may for example comprise a serial-number of the display device or any other identifier useful for anti-piracy investigations. If the video image is camcorded, the frequency modulations become visible as modulated flicker frequencies. These flickers are used to reconstruct the message.
In its preferred embodiment the message is coded by modulating the frequency of the light. In a refinement, the pulse-width is adapted such that the screen brightness stays constant (i.e. the duty cycle stays the same).
The method for reading a message inserted in content, according to the proposed technique is described in relation with
The method comprises:
The method can also be completed by a step of assembly, where bits are added, according to a given assembly rule, for obtaining the message.
Such a two-step reading method is interesting because of the frame rate of the camera used for obtaining the message. Indeed considering the camcorded video, it is not known where the message is inserted. Thus, it is interesting to extract from a quite a long sample of the camcorded video, a given number of excerpts which are supposed to comprise bits. Advantageously, these excerpts can be of the same length that the time duration during which each bit of the message is inserted.
Thus, applied to investigation situation, given a camcorded video (in a form of an AVI file for example), identifying the user that camcorded video (in the context of piracy investigations) is easier. Ideally, each user should be linked to a different user ID. However, the use of an identifier of a TV or of a projector can also be used. Compared to state of the art solutions which consist in inserting a digital watermark into a video copy (with the digital watermark encoding the user ID) the proposed technique is simpler. In state of the art solution, the watermark is inserted in the digital video, either at server or at decoder/player side. This requires modifying specifically the server or player, thus the watermark system is not universal.
The invention proposes a universal marking system in which the message (which can comprise a mark) is inserted at the very end of the video display chain. The message is here superimposed on the video in its analogue form, not in the digital one: thus, there's no need to use expensive systems for generating insertion of digital watermarks during processing of the digital content before transmission to the displaying device. According to the proposed technique, the message is finally independent of the content itself: any content displayed with a device implementing the proposed technique will be marked. This makes a huge difference because the technique is independent of the platform, of the device which plays the content. It is not linked to the fact that the display device is connected to the internet or not. It does not require an identification of the user himself: when no identification of a user is available, any other identifier can be used: serial number of the device, hash of the serial number of the device, IP address (when the device is connected), etc.
Hence, the proposed technique allows obtaining a fine-grained identification of a camcord origin. It is possible to identify the end-device serial number. Message insertion is independent of the origin of the content (VoD, download, DVD/Blu-ray, broadcast). Thus, the same marking system can be used for several content owners or content providers. The technique may be coupled with content protection systems like HDCP. In HDCP, the video source (e.g. DVD or Blu-Ray player) sends the video in an encrypted format to the display. The decryption is performed at the very end of the chain, i.e. inside the display, to enable maximal protection. Inserting a watermark at the same point of the chain, i.e. just at the display time, enables to fully protect the video along the chain.
Finally, the proposed technique enables to implement at low cost a marking system directly inside a display, since frequency modulation can be achieved by adapting the firmware responsible of backlight control. Thus, the invention may be implemented very simply at a large scale by upgrading the firmware of existing displays devices. Moreover, it enables to implement a universal and permanent marking system, where the message <<embedder>> no longer needs to be customized depending on each customer requirements.
In this embodiment, methods are described where the inserted message (Msg) is a watermark (WM). However, the nature of the message (the fact that the message is a watermark) does not change anything to the transformation functions which are applied. As already explained, the proposed technique comprises thus two aspects: a message inserting method, where a watermark is encoded by light source frequency modulation and a method where the message is read (the watermark is detected and decoded). In this embodiment, the inserting method is implemented in the case of an LCD screen.
5.2.1. Insertion of the Message
Indeed, one technique for displaying content associates a LCD (flat panel display, electronic visual display, or video display) with one or several light sources, these light sources modulating properties of liquid crystals. Indeed, liquid crystals do not emit light directly. For example, backlights of LCD screens send light pulses with a given frequency, e.g. 180 Hz. The backlight frequency is different from the frame rate (refresh rate) of the LCD screen. The latter is typically 60 Hz.
The backlight is a PWM signal (Pulse-Width Modulation), i.e. it is a periodic rectangular signal with frequency f_sig, f_sig being typically of 180 Hz. Mathematically it is defined by the following equation:
For all k being an integer, and for all t such that −0.5<t≦0.5.
θ is called the duty cycle and is the fraction of time the backlight is on: Duty cycle=tON/(tON+tOFF). Usually, backlight duty cycle varies between 50% and 100%.
Backlights either rely on LEDs or cold cathode fluorescent lamp (CCFL) inverters controlled by a controller. In function of the technology used, the speed of the PWM cycling backlights on and off depends on the backlight type used: with CCFL-based backlights nearly all cycling at 175 Hz or 175 times per second. LED backlights have been reported running from 90 Hz up to 420 Hz, with those at the lower end flickering much more visibly. Of course, in this embodiment, the controller is able to accept a variable Pulse-Width-Modulation, controlled by another module, a module which implements the technique of the invention, and which takes in input an identifier (to include in the signal) and a modulation parameter. The modulation parameter is a frequency modulation parameter which allows modulating the frequency of the screen backlight. In a refinement, the modulation parameter further comprises a pulse-width modulation parameter. The pulse-width of the periodic light source is also modulated such that the duty cycle of the screen stays constant while modulating the pulse frequency. Advantageously, the screen intensity remains constant (the duty cycle is constant).
The identifier can be serial-number of the projector, of the TV or any other unique identifier useful for anti-piracy forensics.
In a first variant, the serial number of the display is encoded using frequency modulation: that is the frequency of the backlight is changed according to a serial number signal:
s(t)=rectθ(2π(f—sig+m(t))t)
With m(t) being a signal generated from the display serial number (the serial number signal), and f_sig being the usual backlight frequency (for example 180 Hz), and s(t) being the modulated backlight signal, and “rect” function being the usual rectangular function. θ (the duty cycle) stays constant, which implies that the pulse-width is modulated accordingly.
In a first sub variant, the signal m(t) is generated such that two different frequencies are used to encode bits 0 and 1. More precisely, m(t) can be defined by this transformation function:
With w(i) being the ith watermark bit (serial number or the like), α being the absolute shift in frequency (a is small compared to f_sig), and T being the duration of one watermark bit. └ ┘ is the floor function, i.e. └x┘ is the largest integer smaller or equal to the real number x.
Typically, T should be a few second long to allow for a correct estimation of the backlight frequency (between 1 and 20 second for example). This means that a bit of the chosen identifier will be inserted during a duration T between 1 and 20 seconds.
a is chosen small compared to f_sig so as not to impair the viewing experience. α is also chosen such that f0=(f_sig−α)mod[f_sample] and f1=(f_sig+α)mod[f_sample] are different, where f_sample is the camcorder frame rate (25, 30 fps, etc.). This is the case when α is much smaller than the camcorder typical sampling frequency f_sample, which is the case in practice because for practical reason the backlight frequency cannot be changed too much.
More specifically, since the device which implements the proposed technique is not able to know which camcording device is used, a median value is chosen for a where the resulting frequencies (f0 and f1) fits for a given numbers of values for f_sample (24, 25, 30, 60 fps, etc). The calculation of α is made by the device in view of the the usual backlight frequency f_sig. For example, the value of α is 6.
Thus, when a video is camcorded on the display device, the video spectrum of the record will show two peaks (at different moments): one at f0=(f_sig−α)mod[f_sample] and the other at f1=(f_sig+α)mod[f_sample].
Of course, this is an embodiment for coding the information. It is understood that any other way to code the identifier by modulating the frequency may suit. However, this embodiment has the advantage of being simple to implement.
In a second variant, the frequency is modulated using chirp for Binary Orthogonal Keying (BOK). More specifically:
In other words, the modulating signal m(t) is given by transformation function:
In this variant α is chosen such that α is small compared to typical camcorder frame rate. For instance, we can set α=2 Hz.
5.2.2. Reading the Message
According to the proposed technique; a process has to be implemented for reading the previously inserted message. In this embodiment, it is done by detecting and decoding the watermark which was introduced in the record. Hence, to retrieve the display watermark on the camcorded video I(x,y,t) three steps are implemented: a preprocessing step to convert the video signal into a suitable signal for watermark detection, a synchronization step where the start of each watermark bit is identified, and a detection step which detects the value of each bit of the watermark.
The preprocessing step convert the video I(x,y,t) into a 1-dimensional signal c(t). for instance, c(t) is obtained by computing, for the image at time t of the video, the average of the luminance of the middle line. Alternatively, c(t) can be the average of the whole image at time t of the video. c(t) is computed for the whole video length.
The implementation of the synchronization and detection steps depends on the variant used to embed on bit in the backlight signal.
In the first embodiment where the bit is embedded by selecting either frequency f0 or frequency f1, the two steps can be implemented as follows:
In the second embodiment using binary orthogonal keying (BOK) for inserting the message, the two steps can be implemented as follows:
In this embodiment, the chirp signals are defined as:
And m is an integer defining the phase precision. Typically m is about 10.
One component of the system is the generation of the messages for each display device. If the length of the message is N, it is not possible to use all the 2N possible messages, since some messages would be the cyclic shift of others, and won't be distinguishable at the detection time.
A solution is to generate randomly a set of messages, and check that there are no equivalent messages up to a cyclic shift. Another solution is to prefix a synchronization message before the user message. The synchronization message allows identifying the start of the user watermark at the detection time (for instance by using a 8b/10b coding to generate code words as well as synchronization words).
The structure of a device for the execution of the method of insertion of a message is illustrated schematically in
The structure of a device for the execution of the method of reading a message is illustrated schematically in
Number | Date | Country | Kind |
---|---|---|---|
14305972.3 | Jun 2014 | EP | regional |