Sign In to Follow Application
View All Documents & Correspondence

"Watermark Decoder And Method For Providing Binary Message Data"

Abstract: A watermark decoder comprises a time frequency domain representation provider a memory unit a synchronization determiner and a watermark extractor. The time Frequency domain representation provider provides a frequency domain representation of the watermarked signal for a plurality of time blocks. The memory unit stores the frequency domain representation of the watermarked signal for a plurality of time blocks. Further the synchronization determiner identifies an alignment time block based on the frequency domain representation of the watermarked signal of a plurality of time blocks. The watermark extractor provides binary message data based on stored frequency domain representations of the watermarked signal of time blocks temporally preceding the identified alignment time block considering a distance to the identified alignment time block.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
21 August 2012
Publication Number
35/2016
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2022-11-22
Renewal Date

Applicants

FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Hansastraβe 27c, 80686 Muenchen, GERMANY

Inventors

1. WABNIK, Stefan
Hultschner Strasse 16a, 26127 Oldenburg, GERMANY
2. PICKEL, Jörg
Herbsttal 2, 91230 Happurg, Germany
3. GREEVENBOSCH, Bert
Roestmos 12, 3069 AR Rotterdam, THE NETHERLANDS
4. GRILL, Bernhard
Peter-Henlein-Str. 7, 91027 Lauf GERMANY
5. EBERLEIN, Ernst
Waldstrasse 28, 91091 Großenseebach GERMANY
6. DEL GALDO, Giovanni
Neue Länder 20, 98693 Martinroda, GERMANY
7. KRÄEGELOH, Stefan
Schobertweg 51, 91056 Erlangen, GERMANY
8. ZITZMANN, Reinhard
Johann--Sebastian-Bach Straẞe 25, 90183 Baiersdorf, GERMANY
9. BORSUM, Juliane
Täublingerstr. 22, 91058 Erlangen, GERMANY
10. BREILING, Marco
Christian-Ernst-Straẞe 8, 91052 Erlangen, GERMANY
11. BLIEM, Tobias
Tennenloher Straẞe 26, 91058 Erlangen GERMANY

Specification

Watermark Decoder and Method for Providing Binary Message Data
Description
Technical Field
Embodiments according to the invention relate to audio watermarking systems and more
particularly to a watermark decoder for providing binary message data and a method for
providing binary message data.
Background of the Invention
In many technical applications, it is desired to include an extra information into an
information or signal representing useful data or "main data" like, for example, an audio
signal, a video signal, graphics, a measurement quantity and so on. In many cases, it is
desired to include the extra information such that the extra information is bound to the
main data (for example, audio data, video data, still image data, measurement data, text
data, and so on) in a way that it is not perceivable by a user of said data. Also, in some
cases it is desirable to include the extra data such that the extra data are not easily
removable from the main data (e.g. audio data, video data, still image data, measurement
data, and so on).
This is particularly true in applications in which it is desirable to implement a digital rights
management. However, it is sometimes simply desired to add substantially unperceivable
side information to the useful data. For example, in some cases it is desirable to add side
information to audio data, such that the side information provides an information about the
source of the audio data, the content of the audio data, rights related to the audio data and
so on.
For embedding extra data into useful data or "main data", a concept called "watermarking"
may be used. Watermarking concepts have been discussed in the literature for many
different kinds of useful data, like audio data, still image data, video data, text data, and so
on.
In the following, some references will be given in which watermarking concepts are
discussed. However, the reader's attention is also drawn to the wide field of textbook
literature and publications related to the watermarking for further details.
DE 196 40 814 C2 describes a coding method for introducing a non-audible data signal
into an audio signal and a method for decoding a data signal, which is included in an audio
signal in a non-audible form. The coding method for introducing a non-audible data signal
into an audio signal comprises converting the audio signal into the spectral domain. The
coding method also comprises determining the masking threshold of the audio signal and
the provision of a pseudo noise signal. The coding method also comprises providing the
data signal and multiplying the pseudo noise signal with the data signal, in order to obtain
a frequency-spread data signal. The coding method also comprises weighting the spread
data signal with the masking threshold and overlapping the audio signal and the weighted
data signal.
In addition, WO 93/07689 describes a method and apparatus for automatically identifying
a program broadcast by a radio station or by a television channel, or recorded on a
medium, by adding an inaudible encoded message to the sound signal of the program, the
message identifying the broadcasting channel or station, the program and/or the exact date.
In an embodiment discussed in said document, the sound signal is transmitted via an
analog-to-digital converter to a data processor enabling frequency components to be split
up, and enabling the energy in some of the frequency components to be altered in a
predetermined manner to form an encoded identification message. The output from the
data processor is connected by a digital-to-analog converter to an audio output for
broadcasting or recording the sound signal. In another embodiment discussed in said
document, an analog bandpass is employed to separate a band of frequencies from the
sound signal so that energy in the separated band may be thus altered to encode the sound
signal.
US 5, 450,490 describes apparatus and methods for including a code having at least one
code frequency component in an audio signal. The abilities of various frequency
components in the audio signal to mask the code frequency component to human hearing
are evaluated and based on these evaluations an amplitude is assigned to the code
frequency component. Methods and apparatus for detecting a code in an encoded audio
signal are also described. A code frequency component in the encoded audio signal is
detected based on an expected code amplitude or on a noise amplitude within a range of
audio frequencies including the frequency of the code component.
WO 94/11989 describes a method and apparatus for encoding/decoding broadcast or
recorded segments and monitoring audience exposure thereto. Methods and apparatus for
encoding and decoding information in broadcasts or recorded segment signals are
described. In an embodiment described in the document, an audience monitoring system
encodes identification information in the audio signal portion of a broadcast or a recorded
segment using spread spectrum encoding. The monitoring device receives an acoustically
reproduced version of the broadcast or recorded signal via a microphone, decodes the
identification information from the audio signal portion despite significant ambient noise
and stores this information, automatically providing a diary for the audience member,
which is later uploaded to a centralized facility. A separate monitoring device decodes
additional information from the broadcast signal, which is matched with the audience diary
information at the central facility. This monitor may simultaneously send data to the
centralized facility using a dial-up telephone line, and receives data from the centralized
facility through a signal encoded using a spread spectrum technique and modulated with a
broadcast signal from a third party.
WO 95/27349 describes apparatus and methods for including codes in audio signals and
decoding. An apparatus and methods for including a code having at least one code
frequency component in an audio signal are described. The abilities of various frequency
components in the audio signal to mask the code frequency component to human hearing
are evaluated, and based on these evaluations, an amplitude is assigned to the code
frequency components. Methods and apparatus for detecting a code in an encoded audio
signal are also described. A code frequency component in the encoded audio signal is
detected based on an expected code amplitude or on a noise amplitude within a range of
audio frequencies including the frequency of the code component.
However, a problem of known watermarking systems is that the duration of an audio signal
is often very short. For example, a user may switch fast between radio stations or the
loudspeaker reproducing the audio signal is far away, so that the audio signal is very faint.
Further, the audio signal may be generally very short as for example at audio signals used
for advertisement. Additionally, a watermark signal usually has only a low bit rate.
Therefore, the amount of available watermark data is normally very low.
In view of this situation, it is the object of the present invention to create an improved
concept for providing binary message data in dependence on a watermarked signal which
allows to increase the amount of binary message data obtained from a watermarked signal.
Summary of the Invention
The object is solved by a watermark detector according to claim 1 or a method according
to claim 9.
An embodiment according to the invention provides a watermark decoder for providing
binary message data in dependence on a watermarked signal. The watermark decoder
comprises a time-frequency-domain representation provider, a memory unit, a
synchronization determiner and a watermark extractor. The time-frequency-domain
representation provider is configured to provide a frequency-domain representation of the
watermarked signal for a plurality of time blocks. The memory unit is configured to store
the frequency-domain representation of the watermarked signal for a plurality of time
blocks. Further, the synchronization determiner is configured to identify an alignment time
block based on the frequency-domain representation of the watermarked signal of a
plurality of time blocks. The watermark extractor is configured to provide binary message
data based on stored frequency-domain representations of the watermarked signal of time
blocks temporally preceding the identified alignment time block considering a distance to
the identified alignment time block.
It is the key idea of the present invention to store the frequency-domain representation oft
the watermarked signal and to use a synchronization information (the identified alignment
time block) to regain binary message data also from temporally preceding messages. In this
way, the amount of obtained binary message data or watermark information contained by
the watermarked signal may be significantly increased, since also data from time blocks
received before a synchronization was available can be exploited for providing binary
message data.
Therefore, the chance of obtaining the complete watermark information contained by an
audio signal can be increased especially for a fast change between different audio signals.
Some embodiments according to the invention relate to a watermark decoder comprising a
redundancy decoder configured to provide binary message data of an incomplete message
of the watermarked signal temporally preceding a message containing the identified
alignment block using redundant data of the incomplete message. In this way, it may be
possible to regain also watermark information from incomplete messages.
Further embodiments according to the invention relate to a watermark decoder with a
synchronization determiner configured to identify the alignment time block based on a
plurality of predefined synchronization sequences and based on binary message data of a
message of the watermarked signal. This may be done, if a number of time blocks
contained by the message of the watermarked signal is larger than a number of different
predefined synchronization sequences contained by the plurality of predefined
synchronization sequences. If a message comprises more time blocks than a number of
available predefined synchronization sequences, the synchronization determiner may
identify more than one alignment time block within a single message. For deciding which
of these identified alignment time blocks is the correct one (e.g. indicating the start of a
message), the binary message data of the message containing the identified alignment time
blocks can be analyzed to obtain a correct synchronization.
Some further embodiments according to the invention relate to a watermark decoder with a
watermark extractor configured to provide further binary message data based on
frequency-domain representations of the watermarked signal of time blocks temporally
following the identified alignment time block considering a distance to the identified
alignment time block. In other words, it may be sufficient to identify an alignment time
block one time and use the synchronization for temporally following messages. The
synchronization (identifying an alignment time block) may be repeated after a predefined
time.
Further embodiments according to the invention relate to a watermark decoder comprising
a redundancy decoder and a watermark extractor configured to provide binary message
data based on frequency-domain representations of the watermarked signal of time blocks
temporally either following or preceding the identified alignment time block considering a
distance to the identified alignment time block and using redundant data of an incomplete
message. In this way, it may be possible to regain also watermark information from
incomplete messages, where the missing watermark information is either preceding or
following the identified alignment time block. This is useful if a switch occurs from one
audio source containing a watermark to an other audio source containing a watermark "in .
the middle" of the watermark message. In that case it may be possible to regain the
watermark information from both audio sources at switch time even if both messages are
incomplete, i.e. if the transmission time for both watermark messages is overlapping.
Some further embodiments according to the invention also create a method for providing
binary message data. Said method is based on the same findings as the apparatus discussed .
before.
Brief Description of the Figures
Embodiments according to the invention will subsequently be described taking reference to
the enclosed figures, in which:
Fig. 1 shows a block schematic diagram of a watermark inserter according to an
embodiment of the invention;
Fig. 2 shows a block-schematic diagram of a watermark decoder, according to an
embodiment of the invention;
Fig. 3 shows a detailed block-schematic diagram of a watermark generator,
according to an embodiment of the invention;
Fig. 4 shows a detailed block-schematic diagram of a modulator, for use in an
embodiment of the invention;
Fig. 5 shows a detailed block-schematic diagram of a psychoacoustical processing
module, for use in an embodiment of the invention;
Fig. 6 shows a block-schematic diagram of a psychoacoustical model processor,
for use in an embodiment of the invention;
Fig. 7 shows a graphical representation of a power spectrum of an audio signal
output by block 801 over frequency;
Fig. 8 shows a graphical representation of a power spectrum of an audio signal
output by block 802 over frequency;
Fig. 9 shows a block-schematic diagram of an amplitude calculation;
Fig. 10a shows a block schematic diagram of a modulator;
Fig. 10b shows a graphical representation of the location of coefficients on the time-
frequency claim;
Figs. 11a and 11b show a block-schematic diagrams of implementation alternatives of
the synchronization module;
Fig. 12a shows a graphical representation of the problem of finding the temporal
alignment of a watermark;
Fig. 12b shows a graphical representation of the problem of identifying the message
start;
Fig. 12c shows a graphical representation of a temporal alignment of synchronization
sequences in a full message synchronization mode;
Fig. 12d shows a graphical representation of the temporal alignment of the
synchronization sequences in a partial message synchronization mode;
Fig. 12e shows a graphical representation of input data of the synchronization
module;
Fig. 12f shows a graphical representation of a concept of identifying a
synchronization hit;
Fig. 12g shows a block-schematic diagram of a synchronization signature correlator;
Fig. 13a shows a graphical representation of an example for a temporal despreading;
Fig. 13b shows a graphical representation of an example for an element-wise
multiplication between bits and spreading sequences;
Fig. 13c shows a graphical representation of an output of the synchronization
signature correlator after temporal averaging;
Fig. 13d shows a graphical representation of an output of the synchronization
signature correlator filtered with the auto-correlation function of the
synchronization signature;
Fig. 14 shows a block-schematic diagram of a watermark extractor, according to an
embodiment of the invention;
Fig. 15 shows a schematic representation of a selection of a part of the time-
frequency-domain representation as a candidate message;
Fig. 16 shows a block-schematic diagram of an analysis module;
Fig. 17a shows a graphical representation of an output of a synchronization
correlator;
Fig. 17b shows a graphical representation of decoded messages;
Fig. 17c shows a graphical representation of a synchronization position, which is
extracted from a watermarked signal;
Fig. 18a shows a graphical representation of a payload, a payload with a Viterbi
termination sequence, a Viterbi-encoded payload and a repetition-coded
version of the Viterbi-coded payload;
Fig. 18b shows a graphical representation of subcarriers used for embedding a
watermarked signal;
Fig. 19 shows a graphical representation of an uncoded message, a coded message,
a synchronization message and a watermark signal, in which the
synchronization sequence is applied to the messages;
Fig, 20 shows a schematic representation of a first step of a so-called "ABC
synchronization" concept;
Fig. 21 shows a graphical representation of a second step of the so-called "ABC
synchronization" concept;
Fig. 22 shows a graphical representation of a third step of the so-called "ABC
synchronization" concept;
Fig. 23 shows a graphical representation of a message comprising a payload and a
CRC portion;
Fig. 24 shows a block diagram of a watermark decoder, according to an
embodiment of the invention; and
Fig. 25 shows a flowchart of a method for providing binary message data, according
to an embodiment of the invention.
Detailed Description of the Embodiments
1. Watermark decoder
Fig. 24 shows a block diagram of a watermark decoder 2400 for providing binary message
data 2442 in dependence on a watermarked signal 2402 according to an embodiment of the
invention. The watermark decoder 2400 comprises a time-frequency-domain
representation provider 2410, a memory unit 2420, a synchronization determiner 2430 and
a watermark extractor 2440. The time-frequency-representation provider 2410 is connected
to the synchronization determiner 2430 and the memory unit 2420. Further, the
synchronization determiner 2430 as well as the memory unit 2420 are connected to the
watermark extractor 2440. The time-frequency-domain representation provider 2410
provides a frequency-domain representation 2412 of the watermarked signal 2402 for a
plurality of time blocks. The memory unit 2420 stores the frequency-domain representation
2412 of the watermarked signal 2402 for a plurality of time blocks. Further, the
synchronization determiner 2430 identifies an alignment time block 2432 based on the
frequency-domain representation 2412 of the watermarked signal 2402 of a plurality of
time blocks. The watermark extractor 2440 provides binary message data 2442 based on
stored frequency-domain representations 2422 of the watermarked signal 2402 of time .
blocks temporally preceding the identified alignment time block 2432 considering a
distance to the identified alignment time block 2432.
By this look back approach, also binary message data of messages received before a
synchronization by identifying an alignment time block 2432 was available can be
exploited. Therefore, the amount of obtained binary message data contained by a received
watermarked signal can be significantly increased.
In this connection, considering a distance to the identified alignment time block 2432
means for example, that a distance of a time block, the associated stored frequency-domain
representation is used for generating the binary message data, to the identified alignment
time block 2432 is considered for the generation oft the binary message data 2442. The
distance may be for example a temporal distance (e.g. the preceding time block is provided
by the time-frequency-domain representation provider x seconds before the identified
alignment time block was provided by the time-frequency-domain representation provider)
or a number of time blocks between the preceding time block and the identified alignment
time block 2432. By considering the distance to the identified alignment time block 2432 a
correct assignment of time blocks preceding the alignment time block 2432 to a message
may be possible, so that the binary message data of this preceding message can be regained
and provided by the watermark extractor 2440. The alignment time block 2432 may be, for
example, the first time block of a message, the last time block of a message or a predefined
time block within a message allowing to find the start of a message. A message may be a
data package containing a plurality of time blocks belonging together.
The frequency-domain representation of the watermarked signal for a plurality of time
blocks may also be called time-frequency-domain representation of the watermarked
signal.
Optionally, the watermark decoder 2440 may comprise a redundancy decoder for
providing binary message data 2442 of an incomplete message of the watermarked signal
temporally preceding a message containing the identified alignment time block 2432 using
redundant data of the incomplete message. In this way, also messages may be exploited,
which are incomplete, for example due to low signal quality of the watermarked signal or
the occurrence of an incomplete message at the beginning of the watermarked signal.
Further, the synchronization determiner 2430 may identify the alignment time block 2432
based on a plurality of predefined synchronization sequences and based on binary message
data of a message of the watermarked signal. In this example, the number of time blocks
contained by the message of the watermarked signal is larger than a number of different of
predefined synchronization sequences contained by the plurality of predefined
synchronization sequences. In this way, a correct synchronization is also possible if more
than one alignment time block is identified within a message. In other words, for the
correct synchronization (identifying the correct time alignment block) the content of a
message may analyzed.
A synchronization sequence may comprise a synchronization bit for each frequency band
coefficient of the frequency-domain representation of the watermarked signal. The
frequency-domain representation 2432 may comprise frequency band coefficients for each
frequency band of the frequency domain.
The provided binary message data 2442 may represent the content of a message of the
watermarked signal 2402 temporally preceding a message containing the identified
alignment time block 2432.
Optionally the watermark extractor 2440 may provide further binary message data based
on frequency-domain representation 2412 of the watermarked signal 2402 of time blocks
temporally following the identified alignment time block 2432 considering a distance to
the identified alignment time block 2432. This may also be called look ahead approach and
allows to provide further binary message data of messages following the message
containing the identified alignment time block without a further synchronization. In this
way, only one synchronization may be sufficient. Alternatively, a alignment time block
may be identified periodically (e.g. for every 4th, 8th or 16th message).
Further embodiments according to the invention relate to a watermark decoder comprising
a redundancy decoder and a watermark extractor configured to provide binary message
data based on frequency-domain representations of the watermarked signal of time blocks
temporally either following or preceding the identified alignment time block considering a
distance to the identified alignment time block and using redundant data of an incomplete
message. In this way, it may be possible to regain also watermark information from
incomplete messages, where the missing watermark information is either preceding or
following the identified alignment time block. This is useful if a switch occurs from one
audio source containing a watermark to an other audio source containing a watermark "in
the middle" of the watermark message. In that case it may be possible to regain the
watermark information from both audio sources at switch time even if both messages are
incomplete, i.e. if the transmission time for both watermark messages is overlapping.
In other words, the audio sources with watermark (messages) may be switched "in the
middle" (or somewhere within a message) of the watermark (message). Due to redundancy
decoder and look back mechanism, both watermark messages might be retrieved, although
they might be overlapping.
The memory unit 2420 may release memory space containing a stored frequency-domain
representation 2422 of the watermarked signal 2402 after a predefined storage time for
erasing or overwriting. In this way, the necessary memory space may be kept low, since
the frequency-domain representations 2412 are only stored for a short time and then the
memory space can be. reused for following frequency-domain representations 24.12
provided by the time-frequency-representation provider 2410. Additionally, or
alternatively, the memory unit 2420 may release memory space containing a stored
frequency-domain representation 2422 of the watermarked signal 2402 after binary
message data 2442 was obtained by the watermark extractor 2440 from the stored
frequency-domain representation 2422 of the watermarked signal 2402 for erasing or
overwriting. In this way, the necessary memory space may also be reduced.
2. Method for providing binary message data
Fig. 25 shows a flow chart of a method 2500 for providing binary message data in
dependence on a watermarked signal according to an embodiment of the invention. The
method 2500 comprises providing 2510 a frequency-domain representation of the
watermarked signal for a plurality of time blocks and storing 2520 the frequency-domain
representation of the watermarked signal for a plurality of time blocks. Further, the method
2500 comprises identifying 2530 an alignment time block based on the frequency-domain
representation of the watermarked signal of a plurality of time blocks and providing 2540
binary message data based on stored frequency-domain representations of the watermarked
signal of time blocks temporally preceding the identified alignment time block considering
a distance to the identified alignment time block.
Optionally, the method may comprise further steps corresponding to the features of the
apparatus described above.
3. System Description
In the following, a system for a watermark transmission will be described, which
comprises a watermark inserter and a watermark decoder. Naturally, the watermark
inserter and the watermark decoder can be used independent from each other.
For the description of the system a top-down approach is chosen here. First, it is
distinguished between encoder and decoder. Then, in sections 3.1 to 3.5 each processing
block is described in detail.
The basic structure of the system can be seen in Figures 1 and 2, which depict the encoder
and decoder side, respectively. Fig 1 shows a block schematic diagram of a watermark
inserter 100. At the encoder side, the watermark signal 101b is generated in the processing .
block 101 (also designated as watermark generator) from binary data 101a and on the basis
of information 104, 105 exchanged with the psychoacoustical processing module 102. The
information provided from block 102 typically guarantees that the watermark is inaudible.
The watermark generated by the watermark generatorlOl is then added to the audio signal
106. The watermarked signal 107 can then be transmitted, stored, or further processed. In .
case of a multimedia file, e.g., an audio-video file, a proper delay needs to be added to the
video stream not to lose audio-video synchronicity. In case of a multichannel audio signal,
each channel is processed separately as explained in this document. The processing blocks
101 (watermark generator) and 102 (psychoacoustical processing module) are explained in
detail in Sections 3.1 and 3.2, respectively.
The decoder side is depicted in Figure 2, which shows a block schematic diagram of a
watermark detector 200. A watermarked audio signal 200a, e.g., recorded by a
microphone, is made available to the system 200. A first block 203, which is also
designated as an analysis module, demodulates and transforms the data (e.g., the
watermarked audio signal) in time/frequency domain (thereby obtaining a time-frequency-
domain representation 204 of the watermarked audio signal 200a) passing it to the
synchronization module 201, which analyzes the input signal 204 and carries out a
temporal synchronization, namely, determines the temporal alignment of the encoded data
(e.g. of the encoded watermark data relative to the time-frequency-domain representation).
This information (e.g., the resulting synchronization information 205) is given to the
watermark extractor 202, which decodes the data (and consequently provides the binary
data 202a, which represent the data content of the watermarked audio signal 200a).
3.1 The Watermark Generator tOl
The watermark generator 101 is depicted detail in Figure 3. Binary data (expressed as ±1)
to be hidden in the audio signal 106 is given to the watermark generator 101. The block
301 organizes the data 101a in packets of equal length Mp. Overhead bits are added (e.g.
appended) for signaling purposes to each packet. Let Ms denote their number. Their use
will be explained in detail in Section 3.5. Note that in the following each packet of payload
bits together with the signaling overhead bits is denoted message.
Each message 301a, of length Nm ~ Ms + Mp, is handed over to the processing block 302,
the channel encoder, which is responsible of coding the bits for protection against errors. A
possible embodiment of this module consists of a convolutional encoder together with an
interleaver. The ratio of the convolutional encoder influences greatly the overall degree of
protection against errors of the watermarking system. The interleaver, on the other hand,
brings protection against noise bursts. The range of operation of the interleaver can be
limited to one message but it could also be extended to more messages. Let Re denote the
code ratio, e.g., 1/4. The number of coded bits for each message is Nn/Rc. The channel
encoder provides, for example, an encoded binary message 302a.
The next processing block, 303, carries out a spreading in frequency domain. In order to
achieve sufficient signal to noise ratio, the information (e.g. the information of the binary
message 302a) is spread and transmitted in Nf carefully chosen subbands. Their exact
position in frequency is decided a priori and is known to both the encoder and the decoder.
Details on the choice of this important system parameter is given in Section 3.2.2. The
spreading in frequency is determined by the spreading sequence Cf of size Nf xl. The
output 303a of the block 303 consists of Nf bit streams, one for each subband. The i-th bit
stream is obtained by multiplying the input bit with the i-th component of spreading
sequence Cf. The simplest spreading consists of copying the bit stream to each output
stream, namely use a spreading sequence of all ones.
Block 304, which is also designated as a synchronization scheme inserter, adds a
synchronization signal to the bit stream. A robust synchronization is important as the
decoder does not know the temporal alignment of neither bits nor the data structure, i.e.,
when each message starts. The synchronization signal consists of Ns sequences of Nf bits
each. The sequences are multiplied element wise and periodically to the bit stream (or bit
streams 303a). For instance, let a, b, and c, be the Ns = 3 synchronization sequences (also
designated as synchronization spreading sequences). Block 304 multiplies a to the first
spread bit, b to the second spread bit, and c to the third spread bit. For the following bits
the process is periodically iterated, namely, a to the fourth bit, b for the fifth bit and so on.
Accordingly, a combined information-synchronization information 304a is obtained. The
synchronization sequences (also designated as synchronization spread sequences) are
carefully chosen to minimize the risk of a false synchronization. More details are given in
Section 3.4. Also, it should be noted that a sequence a, b, c,... may be considered as a
sequence of synchronization spread sequences.
Block 305 carries out a spreading in time domain. Each spread bit at the input, namely a
vector of length Nf, is repeated in time domain Nt times. Similarly to the spreading in
frequency, we define a spreading sequence ct of size NtXl. The i-th temporal repetition is
multiplied with the i-th component of ct.
The operations of blocks 302 to 305 can be put in mathematical terms as follows. Let m of
size lxNm^Rc be a coded message, output of 302. The output 303a (which may be ' ,:
considered as a spread information representation R) of block 303 is

the output 304a of block 304, which may be considered as a combined information-
synchronization representation C, is

where ° denotes the Schur element-wise product and

The output 305a of 305 is

where o and T denote the Kronecker product and transpose, respectively. Please recall that
binary data is expressed as ±1.
Block 306 performs a differential encoding of the bits. This step gives the system
additional robustness against phase shifts due to movement or local oscillator mismatches.
More details on this matter are given in Section 3.3. If b(i; j) is the bit for the i-th
frequency band and j-th time block at the input of block 306, the output bit bdiff (i; j) is

At the beginning of the stream, that is for j = 0, bdiff (i j -1) is set to 1.
Block 307 carries out the actual modulation, i.e., the generation of the watermark signal
waveform depending on the binary information 306a given at its input. A more detailed
schematics is given in Figure 4. Nf parallel inputs, 401 to 40Nf contain the bit streams for
the different subbands. Each bit of each subband stream is processed by a bit shaping block
(411 to 41Nf). The output of the bit shaping blocks are waveforms in time domain. The
waveform generated for the j-th time block and i-th subband, denoted by sjj(t), on the basis
of the input bit bdiff (i, j)
is computed as follows

where y(i; j) is a weighting factor provided by the psychoacoustical processing unit 102, Tb
is the bit time interval, and g;(t) is the bit forming function for the i-th subband. The bit
forming function is obtained from a baseband function si (*) modulated in frequency
with a cosine

where fj is the center frequency of the i-th subband and the superscript T stands for
transmitter. The baseband functions can be different for each subband. If chosen identical,
a more efficient implementation at the decoder is possible. See Section 3.3 for more
details.
The bit shaping for each bit is repeated in an iterative process controlled by the
psychoacoustical processing module (102). Iterations are necessary to fine tune the weights
y(i, j) to assign as much energy as possible to the watermark while keeping it inaudible.
More details are given in Section 3.2.
The complete waveform at the output of the i-th bit shaping fillter 41i is

The bit forming baseband function £/<"(*) is normally non zero for a time interval much
larger than Tb, although the main energy is concentrated within the bit interval. An
example can be seen if Figure 12a where the same bit forming baseband function is plotted
for two adjacent bits. In the figure we have Tb = 40 ms. The choice of Tb as well as the
shape of the function affect the system considerably. In fact, longer symbols provide
narrower frequency responses. This is particularly beneficial in reverberant environments.
In fact, in such scenarios the watermarked signal reaches the microphone via several
propagation paths, each characterized by a different propagation time. The resulting
channel exhibits strong frequency selectivity. Interpreted in time domain, longer symbols
are beneficial as echoes with a delay comparable to the bit interval yield constructive
interference, meaning that they increase the received signal energy. Notwithstanding,
longer symbols bring also a few drawbacks; larger overlaps might lead to intersymbol
interference (ISI) and are for sure more difficult to hide in the audio signal, so that the
psychoacoustical processing module would allow less energy than for shorter symbols.
The watermark signal is obtained by summing all outputs of the bit shaping filters

3.2 The Psychoacoustical Processing Module 102
As depicted in Figure 5, the psychoacoustical processing module 102 consists of 3 parts.
The first step is an analysis module 501 which transforms the time audio signal into the
time/frequency domain. This analysis module may carry out parallel analyses in different
time/frequency resolutions. After the analysis module, the time/frequency data is
transferred to the psychoacoustic model (PAM) 502, in which masking thresholds for the
watermark signal are calculated according to psychoacoustical considerations (see E.
Zwicker H.FastI, "Psychoacoustics Facts and models"). The masking thresholds indicate
the amount of energy which can be hidden in the audio signal for each subband and time
block. The last block in the psychoacoustical processing module 102 depicts the amplitude
calculation module 503. This module determines the amplitude gains to be used in the
generation of the watermark signal so that the masking thresholds are satisfied, i.e., the
embedded energy is less or equal to the energy defined by the masking thresholds.
3.2.1 The Time/Frequency Analysis 501
Block 501 carries out the time/frequency transformation of the audio signal by means of a
lapped transform. The best audio quality can be achieved when multiple time/frequency
resolutions are performed. One efficient embodiment of a lapped transform is the short
time Fourier transform (STFT), which is based on fast Fourier transforms (FFT) of
windowed time blocks. The length of the window determines the time/frequency
resolution, so that longer windows yield lower time and higher frequency resolutions,
while shorter windows vice versa. The shape of the window, on the other hand, among
other things, determines the frequency leakage.
For the proposed system, we achieve an inaudible watermark by analyzing the data with
two different resolutions. A first filter bank is characterized by a hop size of Tb, i.e., the bit
length. The hop size is the time interval between two adjacent time blocks. The window
length is approximately Tb. Please note that the window shape does not have to be the
same as the one used for the bit shaping, and in general should model the human hearing
system. Numerous publications study this problem.
The second filter bank applies a shorter window. The higher temporal resolution achieved
is particularly important when embedding a watermark in speech, as its temporal structure
is in general finer than Tb.
The sampling rate of the input audio signal is not important, as long as it is large enough to
describe the watermark signal without aliasing. For instance, if the largest frequency
component contained in the watermark signal is 6 kHz, then the sampling rate of the time
signals must be at least 12 kHz.
3.2.2 The Psychoacoustical Model 502
The psychoacoustical model 502 has the task to determine the masking thresholds, i.e., the
amount of energy which can be hidden in the audio signal for each subband and time block
keeping the watermarked audio signal indistinguishable from the original.
The i-th subband is defined between two limits, namely The subbands are
determined by defining Nf center frequencies f, and letting for i = 2, 3, ... ,
Nf . An appropriate choice for the center frequencies is given by the Bark scale proposed
by Zwicker in 1961. The subbands become larger for higher center frequencies. A possible
implementation of the system uses 9 subbands ranging from 1.5 to 6 kHz arranged in an
appropriate way.
The following processing steps are carried out separately for each time/frequency
resolution for each subband and each time block. The processing step 801 carries out a
spectral smoothing. In fact, tonal elements, as well as notches in the power spectrum need
to be smoothed. This can be carried out in several ways. A tonality measure may be
computed and then used to drive an adaptive smoothing filter. Alternatively, in a simpler
implementation of this block, a median-like filter can be used. The median filter considers
a vector of values and outputs their median value. In a median-like filter the value
corresponding to a different quantile than 50% can be chosen. The filter width is defined in
Hz and is applied as a non-linear moving average which starts at the lower frequencies and
ends up at the highest possible frequency. The operation of 801 is illustrated in Figure 7.
The red curve is the output of the smoothing.
Once the smoothing has been carried out, the thresholds are computed by block 802
considering only frequency masking. Also in this case there are different possibilities. One
way is to use the minimum for each subband to compute the masking energy Ej. This is the
equivalent energy of the signal which effectively operates a masking. From this value we
can simply multiply a certain scaling factor to obtain the masked energy Jj. These factors
are different for each subband and time/frequency resolution and are obtained via empirical
psychoacoustical experiments. These steps are illustrated in Figure 8.
In block 805, temporal masking is considered. In this case, different time blocks for the
same subband are analyzed. The masked energies J; are modified according to an
empirically derived postmasking profile. Let us consider two adjacent time blocks, namely
k-1 and k. The corresponding masked energies are J;(k-1) and Ji(k). The postmasking
profile defines that, e.g., the masking energy Ej can mask an energy Jj at time k and a* Jj at
time k+1. In this case, block 805 compares J;(k) (the energy masked by the current time
block) and a-Jj(k+l) (the energy masked by the previous time block) and chooses the
maximum. Postmasking profiles are available in the literature and have been obtained via
empirical psychoacoustical experiments. Note that for large Tb, i.e., > 20 ms, postmasking
is applied only to the time/frequency resolution with shorter time windows.
Summarizing, at the output of block 805 we have the masking thresholds per each subband
and time block obtained for two different time/frequency resolutions. The thresholds have
been obtained by considering both frequency and time masking phenomena. In block 806,
the thresholds for the different time/frequency resolutions are merged. For instance, a
possible implementation is that 806 considers all thresholds corresponding to the time and
frequency intervals in which a bit is allocated, and chooses the minimum.
3.2.3 The Amplitude Calculation Block 503
Please refer to Figure 9. The input of 503 are the thresholds 505 from the psychoacoustical
model 502 where all psychoacoustics motivated calculations are carried out. In the
amplitude calculator 503 additional computations with the thresholds are performed. First,
an amplitude mapping 901 takes place. This block merely converts the masking thresholds
(normally expressed as energies) into amplitudes which can be used to scale the bit shaping
function defined in Section 3.1. Afterwards, the amplitude adaptation block 902 is run.
This block iteratively adapts the amplitudes y(i, j) which are used to multiply the bit
shaping functions in the watermark generator 101 so that the masking thresholds are
indeed fulfilled. In fact, as already discussed, the bit shaping function normally extends for
a time interval larger than Tt>. Therefore, multiplying the correct amplitude y(i, j) which
fulfills the masking threshold at point i, j does not necessarily fulfill the requirements at
point i, j-1. This is particularly crucial at strong onsets, as a preecho becomes audible.
Another situation which needs to be avoided is the unfortunate superposition of the tails of
different bits which might lead to an audible watermark. Therefore, block 902 analyzes the
signal generated by the watermark generator to check whether the thresholds have been
fulfilled. If not, it modifies the amplitudes y(i, j) accordingly.
This concludes the encoder side. The following sections deal with the processing steps
carried out at the receiver (also designated as watermark decoder).
33 The Analysis Module 203
The analysis module 203 is the first step (or block) of the watermark extraction process. Its
purpose is to transform the watermarked audio signal 200a back into Nf bit streams £,(/)
(also designated with 204), one for each spectral subband i. These are further processed by
the synchronization module 201 and the watermark extractor 202, as discussed in Sections
3.4 and 3.5, respectively. Note that the £,(/') are soft bit streams, i.e., they can take, for
example, any real value and no hard decision on the bit is made yet.
The analysis module consists of three parts which are depicted in Figure 16: The analysis
filter bank 1600, the amplitude normalization block 1604 and the differential decoding
1608.
3.3.1 Analysis filter bank 1600
The watermarked audio signal is transformed into the time-frequency domain by the
analysis filter bank 1600 which is shown in detail in Figure 10a. The input of the filter
bank is the received watermarked audio signal r(t). Its output are the complex coefficients
bfFB(j) for the i-th branch or subband at time instant j. These values contain information
about the amplitude and the phase of the signal at center frequency f j and time j -Tb.
The filter bank 1600 consists of Nf branches, one for each spectral subband i. Each branch
splits up into an upper subbranch for the in-phase component and a lower subbranch for
the quadrature component of the subband i. Although the modulation at the watermark
generator and thus the watermarked audio signal are purely real-valued, the complex-
valued analysis of the signal at the receiver is needed because rotations of the modulation
constellation introduced by the channel and by synchronization misalignments are not
known at the receiver. In the following we consider the i-th branch of the filter bank. By
combining the in-phase and the quadrature subbranch, we can define the complex-valued
baseband signal

where * indicates convolution and &?'(.*) is the impulse response of the receiver lowpass
filter of subband i. Usually (t) is equal to the baseband bit forming functionof
subband i in the modulator 307 in order to fulfil the matched filter condition, but other
impulse responses are possible as well.
In order to obtain the coefficients with rate l=Tb, the continuous output'
must be sampled. If the correct timing of the bits was known by the receiver, sampling
with rate l=Tb would be sufficient. However, as the bit synchronization is not known yet,
sampling is carried out with rate Nos/Tb where Nos is the analysis filter bank oversampling
factor. By choosing Nos sufficiently large (e.g. Nos = 4), we can assure that at least one
sampling cycle is close enough to the ideal bit synchronization. The decision on the best
oversampling layer is made during the synchronization process, so all the oversampled
data is kept until then. This process is described in detail in Section 3.4.
At the output of the i-th branch we have the coefficients where j indicates the bit
number or time instant and k indicates the oversampling position within this single bit,
wherek= 1; 2; ...., Nos.
Figure 10b gives an exemplary overview of the location of the coefficients on the time-
frequency plane. The oversampling factor is Nos - 2. The height and the width of the
rectangles indicate respectively the bandwidth and the time interval of the part of the signal
that is represented by the corresponding coefficient'
If the subband frequencies f* are chosen as multiples of a certain interval Af the analysis
filter bank can be efficiently implemented using the Fast Fourier Transform (FFT).
3.3.2 Amplitude normalization 1604
Without loss of generality and to simplify the description, we assume that the bit
synchronization is known and that Nos = 1 in the following. That is, we have complex
coeffcients &*VFBC->')at the input of the normalization block 1604. As no channel state
information is available at the receiver (i.e., the propagation channel in unknown), an equal
gain combining (EGC) scheme is used. Due to the time and frequency dispersive channel,
the energy of the sent bit bj(j) is not only found around the center frequency f, and time
instant j, but also at adjacent frequencies and time instants. Therefore, for a more precise
weighting, additional coefficients at frequencies fi ±n A/ are calculated and used for
normalization of coefficient bt ^)- if « = l we have, for example,

The normalization for n > 1 is a straightforward extension of the formula above. In the
same fashion we can also choose to normalize the soft bits by considering more than one
time instant. The normalization is carried out for each subband i and each time instant j.
The actual combining of the EGC is done at later steps of the extraction process.
3.33 Differential decoding 1608
At the input of the differential decoding block 1608 we have amplitude normalized
complex coefficients 6rormO')lwhich contain information about the phase of the signal
components at frequency fj and time instant j. As the bits are differentially encoded at the
transmitter, the inverse operation must be performed here. The soft bits &* Li )are obtained
by first calculating the difference in phase of two consecutive coefficients and then taking
the real part:

This has to be carried out separately for each subband because the channel normally
introduces different phase rotations in each subband.
3.4 The Synchronization Module 201
The synchronization module's task is to find the temporal alignment of the watermark. The
problem of synchronizing the decoder to the encoded data is twofold. In a first step, the
analysis filterbank must be aligned with the encoded data, namely the bit shaping functions
used in the synthesis in the modulator must be aligned with the filters 9± (*) used
for the analysis. This problem is illustrated in Figure 12a, where the analysis filters are
identical to the synthesis ones. At the top, three bits are visible. For simplicity, the
waveforms for all three bits are not scaled. The temporal offset between different bits is Tb.
The bottom part illustrates the synchronization issue at the decoder: the filter can be
applied at different time instants, however, only the position marked in red (curve 1299a)
is correct and allows to extract the first bit with the best signal to noise ratio SNR and
signal to interference ratio SIR, In fact, an incorrect alignment would lead to a degradation
of both SNR and SIR. We refer to this first alignment issue as "bit synchronization". Once
the bit synchronization has been achieved, bits can be extracted optimally. However, to
correctly decode a message, it is necessary to know at which bit a new message starts. This
issue is illustrated in Figure 12b and is referred to as message synchronization. In the
stream of decoded bits only the starting position marked in red (position 1299b) is correct
and allows to decode the k-th message.
We first address the message synchronization only. The synchronization signature, as
explained in Section 3.1, is composed of Ns sequences in a predetermined order which are
embedded continuously and periodically in the watermark. The synchronization module is
capable of retrieving the temporal alignment of the synchronization sequences. Depending
on the size Ns we can distinguish between two modes of operation, which are depicted in
Figure 12c and 12d, respectively.
In the full message synchronization mode (Fig. 12c) we have Ns = Nm/Rc. For simplicity in
the figure we assume Ns = Nm/Rc = 6 and no time spreading, i.e., N{ = 1. The
synchronization signature used, for illustration purposes, is shown beneath the messages.
In reality, they are modulated depending on the coded bits and frequency spreading
sequences, as explained in Section 3.1. In this mode, the periodicity of the synchronization
signature is identical to the one of the messages. The synchronization module therefore can
identify the beginning of each message by finding the temporal alignment of the
synchronization signature. We refer to the temporal positions at which a new
synchronization signature starts as synchronization hits. The synchronization hits are then
passed to the watermark extractor 202.
The second possible mode, the partial message synchronization mode (Fig. 12d), is
depicted in Figure 12d. In this case we have Ns < Nm=Rc. In the figure we have taken Ns =
3, so that the three synchronization sequences are repeated twice for each message. Please
note that the periodicity of the messages does not have to be multiple of the periodicity of
the synchronization signature. In this mode of operation, not all synchronization hits
correspond to the beginning of a message. The synchronization module has no means of
distinguishing between hits and this task is given to the watermark extractor 202.
The processing blocks of the synchronization module are depicted in Figures 1 la and 1 lb.
The synchronization module carries out the bit synchronization and the message
synchronization (either full or partial) at once by analyzing the output of the
synchronization signature correlator 1201. The data in time/frequency domain 204 is
provided by the analysis module. As the bit synchronization is not yet available, block 203
oversamples the data with factor Nos, as described in Section 3.3. An illustration of the
input data is given in Figure 12e. For this example we have taken N08 = 4, Nt = 2, and Ns =
3. In other words, the synchronization signature consists of 3 sequences (denoted with a, b,
and c). The time spreading, in this case with spreading sequence q = [1 1] T, simply repeats
each bit twice in time domain. The exact synchronization hits are denoted with arrows and
correspond to the beginning of each synchronization signature. The period of the
synchronization signature is Nt • Nos ¦ Ns = Nsb: which is 2 • 4 • 3 = 24, for example. Due to
the periodicity of the synchronization signature, the synchronization signature correlator
(1201) arbitrarily divides the time axis in blocks, called search blocks, of size Nsw, whose
subscript stands for search block length. Every search block must contain (or typically
contains) one synchronization hit as depicted in Figure 12f. Each of the NsW bits is a
candidate synchronization hit. Block 1201's task is to compute a likelihood measure for
each of candidate bit of each block. This information is then passed to block 1204 which
computes the synchronization hits.
3.4.1 The synchronization signature correlator 1201
For each of the NSbi candidate synchronization positions the synchronization signature
correlator computes a likelihood measure, the latter is larger the more probable it is that the
temporal alignment (both bit and partial or full message synchronization) has been found.
The processing steps are depicted in Figure 12g.
Accordingly, a sequence 1201aof likelihood values, associated with different positional
choices, may be obtained.
Block 1301 carries out the temporal despreading, i.e., multiplies every Nt bits with the
temporal spreading sequence ct and then sums them. This is carried out for each of the Nf
frequency subbands. Figure 13a shows an example. We take the same parameters as
described in the previous section, namely Nos = 4, Nt = 2, and Ns = 3. The candidate
synchronization position is marked. From that bit, with Nos offset, Nt • N3 are taken by
block 1301 and time despread with sequence ct, so that Ns bits are left.
In block 1302 the bits are multiplied element-wise with the Ns spreading sequences (see
Figure 13 b).
In block 1303 the frequency despreading is carried out, namely, each bit is multiplied with
the spreading sequence Cf and then summed along frequency.
At this point, if the synchronization position were correct, we would have Ns decoded bits.
As the bits are not known to the receiver, block 1304 computes the likelihood measure by
taking the absolute values of the Ns values and sums.
The output of block 1304 is in principle a non coherent correlator which looks for the
synchronization signature. In fact, when choosing a small Ns, namely the partial message
synchronization mode, it is possible to use synchronization sequences (e.g. a, b, c) which
are mutually orthogonal. In doing so, when the correlator is not correctly aligned with the
signature, its output will be very small, ideally zero. When using the frill message,
synchronization mode it is advised to use as many orthogonal synchronization sequences
as possible, and then create a signature by carefully choosing the order in which they are
used. In this case, the same theory can be applied as when looking for spreading sequences
with good auto correlation functions. When the correlator is only slightly misaligned, then
the output of the correlator will not be zero even in the ideal case, but anyway will be
smaller compared to the perfect alignment, as the analysis filters cannot capture the signal
energy optimally.
3.4.2 Synchronization hits computation 1204
This block analyzes the output of the synchronization signature correlator to decide where
the synchronization positions are. Since the system is fairly robust against misalignments
of up to Tt/4 and the Tb is normally taken around 40 ms, it is possible to integrate the
output of 1201 over time to achieve a more stable synchronization. A possible
implementation of this is given by an IIR filter applied along time with a exponentially
decaying impulse response. Alternatively, a traditional FIR moving average filter can be
applied. Once the averaging has been carried out, a second correlation along different Nt-Ns
is carried out ("different positional choice")- In fact, we want to exploit the information
that the autocorrelation function of the synchronization function is known. This
corresponds to a Maximum Likelihood estimator. The idea is shown in Figure 13c. The
curve shows the output of block 1201 after temporal integration. One possibility to
determine the synchronization hit is simply to find the maximum of this function. In Figure
13d we see the same function (in black) filtered with the autocorrelation function of the
synchronization signature. The resulting function is plotted in red. In this case the
maximum is more pronounced and gives us the position of the synchronization hit. The
two methods are fairly similar for high SNR but the second method performs much better
in lower SNR regimes. Once the synchronization hits have been found, they are passed to
the watermark extractor 202 which decodes the data.
In some embodiments, in order to obtain a robust synchronization signal, synchronization
is performed in partial message synchronization mode with short synchronization
signatures. For this reason many decodings have to be done, increasing the risk of false
positive message detections. To prevent this, in some embodiments signaling sequences
may be inserted into the messages with a lower bit rate as a consequence.
This approach is a solution to the problem arising from a sync signature shorter than the
message, which is already addressed in the above discussion of the enhanced
synchronization. In this case, the decoder doesn't know where a new message starts and
attempts to decode at several synchronization points. To distinguish between legitimate
messages and false positives, in some embodiments a signaling word is used (i.e. payload
is sacrified to embed a known control sequence). In some embodiments, a plausibility
check is used (alternatively or in addition) to distinguish between legitimate messages and
false positives.
3.5 The Watermark Extractor 202
The parts constituting the watermark extractor 202 are depicted in Figure 14. This has two
inputs, namely 204 and 205 from blocks 203 and 201, respectively. The synchronization
module 201 (see Section 3.4) provides synchronization timestamps, i.e., the positions in
time domain at which a candidate message starts. More details on this matter are given in
Section 3.4. The analysis filterbank block 203, on the other hand, provides the data in
time/frequency domain ready to be decoded.
The first processing step, the data selection block 1501, selects from the input 204 the part
identified as a candidate message to be decoded. Figure 15b shows this procedure
graphically. The input 204 consists of Nf streams of real values. Since the time alignment is
not known to the decoder a priori, the analysis block 203 carries out a frequency analysis
with a rate higher than 1/Tb Hz (oversampling). In Figure 15b we have used an
oversampling factor of 4, namely, 4 vectors of size NfX I are output every Tb seconds.
When the synchronization block 201 identifies a candidate message, it delivers a
timestamp 205 indicating the starting point of a candidate message. The selection block
1501 selects the information required for the decoding, namely a matrix of size Nf xNm/Rc.
This matrix 1501a is given to block 1502 for further processing.
Blocks 1502, 1503, and 1504 carry out the same operations of blocks 1301, 1302, and
1303 explained in Section 3.4.
An alternative embodiment of the invention consists in avoiding the computations done in
1502-1504 by letting the synchronization module deliver also the data to be decoded.
Conceptually it is a detail. From the implementation point of view, it is just a matter of
how the buffers are realized. In general, redoing the computations allows us to have
smaller buffers.
The channel decoder 1505 carries out the inverse operation of block 302. If channel
encoder, in a possible embodiment of this module, consisted of a convolutional encoder
together with an interleave^ then the channel decoder would perform the deinterleaving
and the convolutional decoding, e.g., with the well known Viterbi algorithm. At the output
of this block we have Nm bits, i.e., a candidate message.
Block 1506, the signaling and plausibility block, decides whether the input candidate
message is indeed a message or not. To do so, different strategies are possible.
The basic idea is to use a signaling word (like a CRC sequence) to distinguish between true
and false messages. This however reduces the number of bits available as payload.
Alternatively we can use plausibility checks. If the messages for instance contain a
timestamp, consecutive messages must have consecutive timestamps. If a decoded message
possesses a timestamp which is not the correct order, we can discard it.
When a message has been correctly detected the system may choose to apply the look
ahead and/or look back mechanisms. We assume that both bit and message
synchronization have been achieved. Assuming that the user is not zapping, the system
"looks back" in time and attempts to decode the past messages (if not decoded already)
using the same synchronization point (look back approach). This is particularly useful
when the system starts. Moreover, in bad conditions, it might take 2 messages to achieve
synchronization. In this case, the first message has no chance. With the look back option
we can save "good" messages which have not been received only due to back
synchronization. The look ahead is the same but works in the future. If we have a message
now we know where the next message should be, and we can attempt to decode it anyhow.
3.6. Synchronization Details
For the encoding of a payload, for example, a Viterbi algorithm may be used. Fig. 18a
shows a graphical representation of a payload 1810, a Viterbi termination sequence 1820, a
Viterbi encoded payload 1830 and a repetition-coded version 1840 of the Viterbi-coded
payload. For example, the payload length may be 34 bits and the Viterbi termination
sequence may comprise 6 bits. If, for example a Viterbi code rate of 1/7 may be used the
Viterbi-coded payload may comprise (34+6)*7-280 bits. Further, by using a repetition
coding of 1/2, the repetition coded version 1840 of the Viterbi-encoded payload 1830 may
comprise 280*2=560 bits. In this example, considering a bit time interval of 42,66 ms, the
message length would be 23.9 s. The signal may.be embedded with, for example, 9
subcarriers (e.g. placed according to the critical bands) from 1.5 to 6 kHz as indicated by
the frequency spectrum shown in Fig. 18b. Alternatively, also another number of
subcarriers (e.g. 4, 6, 12, 15 or a number between 2 and 20) within a frequency range
between 0 and 20 kHz maybe used.
Fig. 19 shows a schematic illustration of the basic concept 1900 for the synchronization,
also called ABC synch. It shows a schematic illustration of an uricoded messages 1910, a
coded message 1920 and a synchronization sequence (synch sequence) 1930 as well as the
application of the synch to several messages 1920 following each other.
The synchronization sequence or synch sequence mentioned in connection with the
explanation of this synchronization concept (shown in Fig. 19 - 23) may be equal to the
synchronization signature mentioned before.
Further, Fig. 20 shows a schematic illustration of the synchronization found by correlating
with the synch sequence. If the synchronization sequence 1930 is shorter than the message,
more than one synchronization point 1940 (or alignment time block) may be found within
a single message. In the example shown in Fig. 20, 4 synchronization points are found
within each message. Therefore, for each synchronization found, a Viterbi decoder (a
Viterbi decoding sequence) may be started. In this way, for each synchronization point
1940 a message 2110 may be obtained, as indicated in Fig. 21.
Based on these messages the true messages 2210 may be identified by means of a CRC
sequence (cyclic redundancy check sequence) and/or a plausibility check, as shown in Fig.
22.
The CRC detection (cyclic redundancy check detection) may use a known sequence to
identify true messages from false positive. Fig. 23 shows an example for a CRC sequence
added to the end of a payload.
The probability of false positive (a message generated based on a wrong synchronization
point) may depend on the length of the CRC sequence and the number of Viterbi decoders
(number of synchronization points within a single message) started. To increase the length
of the payload without increasing the probability of false positive a plausibility may be
exploited (plausibility test) or the length of the synchronization sequence (synchronization
signature) may be increased.
4. Concepts and Advantages
In the following, some aspects of the above discussed system will be described, which are
considered as being innovative. Also, the relation of those aspects to the state-of-the-art
technologies will be discussed.
4.1. Continuous synchronization
Some embodiments allow for a continuous synchronization. The synchronization signal,
which we denote as synchronization signature, is embedded continuously and parallel to
the data via multiplication with sequences (also designated as synchronization spread
sequences) known to both transmit and receive side.
Some conventional systems use special symbols (other than the ones used for the data),
while some embodiments according to the invention do not use such special symbols.
Other classical methods consist of embedding a known sequence of bits (preamble) time-
, multiplexed with the data, or embedding a signal frequency-multiplexed with the data.
However, it has been found that using dedicated sub-bands for synchronization is
undesired, as the channel might have notches at those frequencies, making the
synchronization unreliable. Compared to the other methods, in which a preamble or a
special symbol is time-multiplexed with the data, the method described herein is more
advantageous as the method described herein allows to track changes in the
synchronization (due e.g. to movement) continuously.
Furthermore, the energy of the watermark signal is unchanged (e.g. by the multiplicative
introduction of the watermark into the spread information representation), and the
synchronization can be designed independent from the psychoacoustical model and data
rate. The length in time of the synchronization signature, which determines the robustness
of the synchronization, can be designed at will completely independent of the data rate.
Another classical method consists of embedding a synchronization sequence code-
multiplexed with the data. When compared to this classical method, the advantage of the
method described herein is that the energy of the data does not represent an interfering
factor in the computation of the correlation, bringing more robustness. Furthermore, when
using code-multiplexing, the number of orthogonal sequences available for the
synchronization is reduced as some are necessary for the data.
To summarize, the continuous synchronization approach described herein brings along a
large number of advantages over the conventional concepts.
However, in some embodiments according to the invention, a different synchronization
concept may be applied.
4.2. 2D spreading
Some embodiments of the proposed system carry out spreading in both time and frequency
domain, i.e. a 2-dimensionaI spreading (briefly designated as 2D-spreading). It has been
found that this is advantageous with respect to ID systems as the bit error rate can be
further reduced by adding redundance in e.g. time domain.
However, in some embodiments according to the invention, a different spreading concept
may be applied.
4.3. Differential encoding and Differential decoding
In some embodiments according to the invention, an increased robustness against
movement and frequency mismatch of the local oscillators (when compared to
conventional systems) is brought by the differential modulation. It has been found that in
fact, the Doppler effect (movement) and frequency mismatches lead to a rotation of the
BPSK constellation (in other words, a rotation on the complex plane of the bits). In some
embodiments, the detrimental effects of such a rotation of the BPSK constellation (or any
other appropriate modulation constellation) are avoided by using a differential encoding or
differential decoding.
However, in some embodiments according to the invention, a different encoding concept
or decoding concept may be applied. Also, in some cases, the differential encoding may be
omitted.
4.4. Bit shaping
In some embodiments according to the invention, bit shaping brings along a significant
improvement of the system performance, because the reliability of the detection can be
increased using a filter adapted to the bit shaping,
In accordance with some embodiments, the usage of bit shaping with respect to
watermarking brings along improved reliability of the watermarking process. It has been
found that particularly good results can be obtained if the bit shaping function is longer
than the bit interval.
However, in some embodiments according to the invention, a different bit shaping concept
may be applied. Also, in some cases, the bit shaping may be omitted.
4.5. Interactive between Psychoacoustic Model (PAM) and Filter Bank (FB) synthesis
In some embodiments, the psychoacoustical model interacts with the modulator to fine
tune the amplitudes which multiply the bits.
However, in some other embodiments, this interaction may be omitted.
4.6. Look ahead and look back features
In some embodiments, so called "Look back" and "look ahead" approaches are applied.
In the following, these concepts will be briefly summarized. When a message is correctly
decoded, it is assumed that synchronization has been achieved. Assuming that the user is
not zapping, in some embodiments a look back in time is performed and it is tried to
decode the past messages (if not decoded already) using the same synchronization point
(look back approach). This is particularly useful when the system starts.
In bad conditions, it might take 2 messages to achieve synchronization. In this case, the
first message has no chance in conventional systems. With the look back option, which is
used in some embodiments of the invention, it is possible to save (or decode) "good"
messages which have not been received only due to back synchronization.
The look ahead is the same but works in the future. Jf I have a message now I know where
my next message should be, and I can try to decode it anyhow. Accordingly, overlapping
messages can be decoded.
However, in some embodiments according to the invention, the look ahead feature and/or
the look back feature may be omitted.
4.7. Increased synchronization robustness
In some embodiments, in order to obtain a robust synchronization signal, synchronization
is performed in partial message synchronization mode with short synchronization
signatures. For this reason many decodings have to be done, increasing the risk of false
positive message detections. To prevent this, in some embodiments signaling sequences
may be inserted into the messages with a lower bit rate as a consequence.
However, in some embodiments according to the invention, a different concept for
improving the synchronization robustness may be applied. Also, in some cases, the usage
of any concepts for increasing the synchronization robustness may be omitted.
4.8. Other enhancements
In the following, some other general enhancements of the above described system with
respect to background art will be put forward and discussed:
1. lower computational complexity
2. better audio quality due to the better psycho acoustical model
3. more robustness in reverberant environments due to the narrowband multicarrier
signals
4. an SNR estimation is avoided in some embodiments. This allows for better
robustness, especially in low SNR regimes.
Some embodiments according to the invention are better than conventional systems, which
use very narrow bandwidths of, for example, 8Hz for the following reasons:
1. 8 Hz bandwidths (or a similar very narrow bandwidth) requires very long time
symbols because the psychoacoustical model allows very little energy to make it inaudible;
2. 8 Hz (or a similar very narrow bandwidth) makes it sensitive against time varying
Doppler spectra. Accordingly, such a narrow band system is typically not good enough if
implemented, e.g., in a watch.
Some embodiments according to the invention are better than other technologies for the
following reasons:
1. Techniques which input an echo fail completely in reverberant rooms. In contrast,
in some embodiments of the invention, the introduction of an echo is avoided.
2. Techniques which use only time spreading have longer message duration in
comparison embodiments of the above described system in which a two-dimensional
spreading, for example both in time and in frequency, is used.
Some embodiments according to the invention are better than the system described in DE
196 40 814, because one of more of the following disadvantages of the system according to
said document are overcome:
• the complexity in the decoder according to DE 196 40 814 is very high, a filter of
length 2N with N = 128 is used
• the system according to DE 196 40 814 comprises a long message duration
• in the system according to DE 196 40 814 spreading only in time domain with
relatively high spreading gain (e.g. 128)
• in the system according to DE 196 40 814 the signal is generated in time domain,
transformed to spectral domain, weighted, transformed back to time domain, and
superposed to audio, which makes the system very complex
5. Applications
The invention comprises a method to modify an audio signal in order to hide digital data
and a corresponding decoder capable of retrieving this information while the perceived
quality of the modified audio signal remains indistinguishable to the one of the original.
Examples of possible applications of the invention are given in the following:
I. Broadcast monitoring: a watermark containing information on e.g. the station and
time is hidden in the audio signal of radio or television programs. Decoders, incorporated
in small devices worn by test subjects, are capable to retrieve the watermark, and thus
collect valuable information for advertisements agencies, namely who watched which
program and when.
2. Auditing: a watermark can be hidden in, e.g., advertisements. By automatically
monitoring the transmissions of a certain station it is then possible to know when exactly
the ad was broadcast. In a similar fashion it is possible to retrieve statistical information
about the programming schedules of different radios, for instance, how often a certain
music piece is played, etc.
3. Metadata embedding: the proposed method can be used to hide digital information
about the music piece or program, for instance the name and author of the piece or the
duration of the program etc.
6. Implementation Alternatives
Although some aspects have been described in the context of an apparatus, it is clear that
these aspects also represent a description of the corresponding method, where a block or
device corresponds to a method step or a feature of a method step. Analogously, aspects
described in the context of a method step also represent a description of a corresponding
block or item or feature of a corresponding apparatus. Some or all of the method steps may
be executed by (or using) a hardware apparatus, like for example, a microprocessor, a
programmable computer or an electronic circuit. In some embodiments, some one or more
of the most important method steps may be executed by such an apparatus.
The inventive encoded watermark signal, or an audio signal into which the watermark
signal is embedded, can be stored on a digital storage medium or can be transmitted on a
transmission medium such as a wireless transmission medium or a wired transmission
medium such as the Internet.
Depending on certain implementation requirements, embodiments of the invention can be
implemented in hardware or in software. The implementation can be performed using a
digital storage medium, for example a floppy disk, a DVD, a Blue-Ray, a CD, a ROM, a
PROM, anUPRQM, an EEPROM or a FLASH memory, having electronically readable
control signals stored thereon, which cooperate (or are capable of cooperating) with a
programmable computer system such that the respective method is performed. Therefore,
the digital storage medium may be computer readable.
Some embodiments according to the invention comprise a data carrier having
electronically readable control signals, which are capable of cooperating with a
programmable computer system, such that one of the methods described herein is
performed.
Generally, embodiments of the present invention can be implemented as a computer
program product with a program code, the program code being operative for performing
one of the methods when the computer program product runs on a computer. The program
code may for example be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods
described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program
having a program code for performing one of the methods described herein, when the
computer program runs on a computer.
A further embodiment of the inventive methods is, therefore, a data carrier (or a digital
storage medium, or a computer-readable medium) comprising, recorded thereon, the
computer program for performing one of the methods described herein.
A further embodiment of the inventive method is, therefore, a data stream or a sequence of
signals representing the computer program for performing one of the methods described
herein. The data stream or the sequence of signals may for example be configured to be
transferred via a data communication connection, for example via the Internet.
A further embodiment comprises a processing means, for example a computer, or a
programmable logic device, configured to or adapted to perform one of the methods
described herein.
A further embodiment comprises a computer having installed thereon the computer
program for performing one of the methods described herein.
In some embodiments, a programmable logic device (for example a field programmable
gate array) may be used to perform some or all of the functionalities of the methods
described herein. In some embodiments, a field programmable gate array may cooperate
with a microprocessor in order to perform one of the methods described herein. Generally,
the methods are preferably performed by any hardware apparatus.
The above described embodiments are merely illustrative for the principles of the present
invention. It is understood that modifications and variations of the arrangements and the
details described herein will be apparent to others skilled in the art. It is the intent,
therefore, to be limited only by the scope of the impending patent claims and not by the
specific details presented by way of description and explanation of the embodiments
herein.
Claims
1. Watermark decoder (2400) for providing binary message data (2442) in dependence
on a watermarked signal (2402), the watermark decoder comprising:
a time-frequency-domain representation provider (2410) configured to provide a
frequency-domain representation (2412) of the watermarked signal (2402) for a
plurality of time blocks;
a memory unit (2420) configured to store the frequency-domain representation
(2412) of the watermarked signal (2402) for a plurality of time blocks;
a synchronization determiner (2430) configured to identify an alignment time block
(2432) based on the frequency-domain representation (2412) of the watermarked
signal (2402) of a plurality of time blocks; and
a watermark extractor (2440) configured to provide binary message data (2442)
based on stored frequency-domain representations (2422) of the watermarked
signal (2402) of time blocks temporally preceding the identified alignment time
block (2432) considering a distance to the identified alignment time block (2432).
2. Watermark decoder according to claim 1, comprising a redundancy decoder
configured to provide binary message data (2442) of an incomplete message of the
watermarked signal (2402) temporally preceding a message containing the
identified alignment time block (2432) using redundant data of the incomplete
message.
3. Watermark decoder according to claim 1 or 2, wherein the synchronization
determiner (2430) is configured to identify the alignment time block (2432) based
on a plurality of predefined synchronization sequences and based on binary
message data of a message of the watermarked signal (2402), wherein a number of
time blocks contained by the message of the watermarked signal (2402) is larger
than a number of different predefined synchronization sequences contained by the
plurality of predefined synchronization sequences.
4. Watermark decoder according to claim 3, wherein a synchronization sequence
comprises a synchronization bit for each frequency band coefficient of the
frequency-domain representation (2412) of the watermarked signal (2402).
5. A watermark decoder according to one of the claims 1 to 4, wherein the provided
binary message data (2442) represents a content of a message of the watermarked
signal (2402) temporally preceding a message containing the alignment time block
(2432).
6. Watermark decoder according to one of the claims 1 to 5, wherein the watermark
extractor (2440) is configured to provide further binary message data based on
frequency-domain representations (2412) of the watermarked signal (2402) of time
blocks temporally following the identified alignment time block (2432) considering
a distance to the identified alignment time block (2432).
7. Watermark decoder according to one of the claims 1 to 6, wherein the memory unit
(2420) is configured release memory space containing a stored frequency-domain
representation of the watermarked signal (2402) after a predefined storage time for
erasing or overwriting.
8. Watermark decoder according to one of the claims 1 to 7, wherein the memory unit
(2420) is configured to release memory space containing a stored frequency-
domain representation of the watermarked signal (2402) after binary message data
was obtained by the watermark extractor (2440) from the stored frequency-domain
representation of the watermarked signal (2402) for erasing or overwriting.
9. Method (2500) for providing binary message data in dependence on a watermarked
signal, the method comprising:
providing (2510) a frequency-domain representation of the watermarked signal for
a plurality of time blocks;
storing (2520) the frequency-domain representation of the watermarked signal for a
plurality of time blocks;
identifying (2530) an alignment time block based on the frequency-domain
representation of the watermarked signal of a plurality of time blocks; and
providing (2540) binary message data based on stored frequency-domain
representations of the watermarked signal of time blocks temporally preceding the
identified alignment time block considering a distance to the identified alignment
time block.
10. A computer program for performing the method according to claim 9, when the
computer program runs on a computer.
11. Watermark decoder (2400) for providing binary message data (2442) in dependence
on a watermarked signal (2402), the watermark decoder comprising:
a time-frequency-domain representation provider (2410) configured to provide a
frequency-domain representation (2412) of the watermarked signal (2402) for a
plurality of time blocks;
a memory unit (2420) configured to store the frequency-domain representation
(2412) of the watermarked signal (2402) for a plurality of time blocks;
a synchronization determiner (2430) configured to identify an alignment time block
(2432) based on the frequency-domain representation (2412) of the watermarked
signal (2402) of a plurality of time blocks; and
a watermark extractor (2440) configured to provide binary message data (2442)
based on stored frequency-domain representations (2422) of the watermarked
signal (2402) of time blocks temporally preceding the identified alignment time
block (2432) considering a distance to the identified alignment time block (2432),
to exploit binary message data of messages received before a synchronization by
indentifying an alignment time block (2432) was available.
12. Method (2500) for providing binary message data in dependence on a watermarked
signal, the method comprising:
providing (2510) a frequency-domain representation of the watermarked signal for
a plurality of time blocks;
storing (2520) the frequency-domain representation of the watermarked signal for a
plurality of time blocks;
identifying (2530) an alignment time block based on the frequency-domain
representation of the watermarked signal of a plurality of time blocks; and
providing (2540) binary message data based on stored frequency-domain
representations of the watermarked signal of time blocks temporally preceding the
identified alignment time block considering a distance to the identified alignment
time block, to exploit binary message data of messages received before a
synchronization by indentifying an alignment time block (2432) was available.

Documents

Application Documents

# Name Date
1 2291-KOLNP-2012-(21-08-2012)-SPECIFICATION.pdf 2012-08-21
2 2291-KOLNP-2012-(21-08-2012)-FORM-5.pdf 2012-08-21
3 2291-KOLNP-2012-(21-08-2012)-FORM-3.pdf 2012-08-21
4 2291-KOLNP-2012-(21-08-2012)-FORM-2.pdf 2012-08-21
5 2291-KOLNP-2012-(21-08-2012)-FORM-1.pdf 2012-08-21
6 2291-KOLNP-2012-(21-08-2012)-DRAWINGS.pdf 2012-08-21
7 2291-KOLNP-2012-(21-08-2012)-DESCRIPTION (COMPLETE).pdf 2012-08-21
8 2291-KOLNP-2012-(21-08-2012)-CORRESPONDENCE.pdf 2012-08-21
9 2291-KOLNP-2012-(21-08-2012)-CLAIMS.pdf 2012-08-21
10 2291-KOLNP-2012.pdf 2012-08-28
11 2291-FORM-18-KOLNP-2012-FORM-18.pdf 2012-09-10
12 2291-KOLNP-2012-(19-10-2012)-PA.pdf 2012-10-19
13 2291-KOLNP-2012-(19-10-2012)-CORRESPONDENCE.pdf 2012-10-19
14 2291-KOLNP-2012-(20-11-2012)-OTHERS.pdf 2012-11-20
15 2291-KOLNP-2012-(20-11-2012)-CORRESPONDENCE.pdf 2012-11-20
16 2291-KOLNP-2012-(13-12-2012)-CORRESPONDENCE.pdf 2012-12-13
17 2291-KOLNP-2012-(13-12-2012)-ANNEXURE TO FORM 3.pdf 2012-12-13
18 Other Patent Document [05-07-2016(online)].pdf 2016-07-05
19 Other Patent Document [31-12-2016(online)].pdf 2016-12-31
20 Information under section 8(2) [17-06-2017(online)].pdf 2017-06-17
21 2291-KOLNP-2012-Information under section 8(2) (MANDATORY) [09-12-2017(online)].pdf 2017-12-09
22 2291-KOLNP-2012-FER.pdf 2018-02-09
23 2291-KOLNP-2012-Information under section 8(2) (MANDATORY) [04-06-2018(online)].pdf 2018-06-04
24 2291-KOLNP-2012-FORM 4(ii) [30-07-2018(online)].pdf 2018-07-30
25 2291-KOLNP-2012-PETITION UNDER RULE 137 [08-11-2018(online)].pdf 2018-11-08
26 2291-KOLNP-2012-PETITION UNDER RULE 137 [08-11-2018(online)]-1.pdf 2018-11-08
27 2291-KOLNP-2012-OTHERS [08-11-2018(online)].pdf 2018-11-08
28 2291-KOLNP-2012-FER_SER_REPLY [08-11-2018(online)].pdf 2018-11-08
29 2291-KOLNP-2012-DRAWING [08-11-2018(online)].pdf 2018-11-08
30 2291-KOLNP-2012-CORRESPONDENCE [08-11-2018(online)].pdf 2018-11-08
31 2291-KOLNP-2012-CLAIMS [08-11-2018(online)].pdf 2018-11-08
32 2291-KOLNP-2012-ABSTRACT [08-11-2018(online)].pdf 2018-11-08
33 2291-KOLNP-2012-Information under section 8(2) (MANDATORY) [17-01-2019(online)].pdf 2019-01-17
34 2291-KOLNP-2012-Information under section 8(2) (MANDATORY) [17-06-2019(online)].pdf 2019-06-17
35 2291-KOLNP-2012-Information under section 8(2) (MANDATORY) [07-01-2020(online)].pdf 2020-01-07
36 2291-KOLNP-2012-Information under section 8(2) [26-06-2020(online)].pdf 2020-06-26
37 2291-KOLNP-2012-Information under section 8(2) [26-06-2020(online)]-1.pdf 2020-06-26
38 2291-KOLNP-2012-Information under section 8(2) [12-12-2020(online)].pdf 2020-12-12
39 2291-KOLNP-2012-Information under section 8(2) [30-06-2021(online)].pdf 2021-06-30
40 2291-KOLNP-2012-FORM 3 [10-12-2021(online)].pdf 2021-12-10
41 2291-KOLNP-2012-FORM 3 [13-06-2022(online)].pdf 2022-06-13
42 2291-KOLNP-2012-PatentCertificate22-11-2022.pdf 2022-11-22
43 2291-KOLNP-2012-IntimationOfGrant22-11-2022.pdf 2022-11-22

Search Strategy

1 search_21-11-2017.pdf

ERegister / Renewals

3rd: 28 Nov 2022

From 22/02/2013 - To 22/02/2014

4th: 28 Nov 2022

From 22/02/2014 - To 22/02/2015

5th: 28 Nov 2022

From 22/02/2015 - To 22/02/2016

6th: 28 Nov 2022

From 22/02/2016 - To 22/02/2017

7th: 28 Nov 2022

From 22/02/2017 - To 22/02/2018

8th: 28 Nov 2022

From 22/02/2018 - To 22/02/2019

9th: 28 Nov 2022

From 22/02/2019 - To 22/02/2020

10th: 28 Nov 2022

From 22/02/2020 - To 22/02/2021

11th: 28 Nov 2022

From 22/02/2021 - To 22/02/2022

12th: 28 Nov 2022

From 22/02/2022 - To 22/02/2023

13th: 28 Nov 2022

From 22/02/2023 - To 22/02/2024

14th: 29 Jan 2024

From 22/02/2024 - To 22/02/2025

15th: 20 Feb 2025

From 22/02/2025 - To 22/02/2026