Watermark generator, watermark decoder, method for providing a watermarked signal based on discrete valued data and method for providing discrete valued data in dependence on a watermarked signal
09917978 ยท 2018-03-13
Assignee
Inventors
- Reinhard Zitzmann (Baiersdorf, DE)
- Giovanni Del Galdo (Fuerth, DE)
- Tobias Bliem (Erlangen, DE)
- Juliane Borsum (Erlangen, DE)
- Bert Greevenbosch (Rotterdam, NL)
- Stefan Kraegeloh (Erlangen, DE)
- Joerg Pickel (Happurg, DE)
Cpc classification
G10L19/018
PHYSICS
G06T1/0028
PHYSICS
International classification
H04L9/32
ELECTRICITY
H04N1/32
ELECTRICITY
Abstract
A watermark generator for providing a watermark signal as a sequence of subsequent watermark coefficients based on a stream of subsequent stream values representing discrete valued data includes a differential encoder. The differential encoder is configured to apply a phase rotation to a current stream value of the stream values representing the discrete valued data or to a current watermark symbol, the current watermark symbol corresponding to a current stream value of the stream values representing the discrete valued data, to obtain a current watermark coefficient of the watermark signal. The differential encoder is configured to derive a phase of a previous spectral coefficient of a watermarked signal which is a combination of the host signal and the watermark signal, and to provide the watermark signal such that a phase angle of the phase rotation applied to the current stream value or the current watermark symbol is dependent on the phase of the previous spectral coefficient of the watermarked signal.
Claims
1. A method for providing a watermark signal as a sequence of subsequent watermark coefficients based on discrete-valued data, the method comprising: providing, in dependence on information units of the discrete-valued data, a stream of subsequent stream values such that the stream represents the discrete-valued data; applying a phase rotation to a current stream value of the stream values representing the discrete valued data or to a current watermark symbol, the current watermark symbol corresponding to a current stream value of the stream values representing the discrete valued data, to acquire a current watermark coefficient of the watermark signal; deriving a phase of a previous spectral coefficient of a watermarked signal which is a combination of a host signal and the watermark signal; and providing the watermark signal such that a phase angle of the phase rotation applied to the current stream value or to the current watermark symbol is dependent on the phase of the previous spectral coefficient of the watermarked signal; wherein the host signal is an audio signal, an image signal or a video signal, and the watermarked signal is an audio signal, an image signal or a video signal; and wherein the method is performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
2. A method for providing discrete-valued data in dependence on a watermarked signal, the method comprising: providing a stream of complex-valued spectral coefficients, the stream representing the watermarked signal; determining a phase angle difference between a previous complex valued spectral coefficient and a current complex-valued spectral coefficient; mapping phase angle differences within at least two different phase angle ranges to a first discrete value of the discrete-valued data and mapping phase angle differences within at least another two different phase angle ranges to a second discrete value of the discrete valued data; wherein adjacent phase angle ranges are mapped to different discrete values of the discrete-valued data; wherein the watermarked signal is an audio signal, an image signal or a video signal; and wherein the method is performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
DETAILED DESCRIPTION OF THE INVENTION
(16) Before embodiments of the present invention are explained in greater detail, taking reference to the accompanying figures, it is to be pointed out that the same or functionally equal elements are provided with the same reference numbers and that a repeated description of these elements shall be omitted. Descriptions of elements provided with the same reference numerals are therefore mutually interchangeable.
(17) Watermark Generator According to
(18) In the following, a watermark generator 100 will be described taking reference to
(19) The differential encoder 108 may therefore perform an optional stream value to watermark symbol mapping 114.
(20) The differential encoder 108 is further configured to derive a phase 116 of a spectral coefficient (for example a spectral coefficient awm(i, j1)) of a watermarked signal. The watermarked signal is a combination of a host signal 118 and the watermark signal 102. The watermarked signal may also be designated as awm and the host signal may also be designated as a.
(21) The differential encoder 108 is configured to provide the watermark signal 102 such that a phase angle of the phase rotation 112 applied to the current stream value or the current watermark symbol is dependent on the phase 116 of the previous spectral coefficient of the watermarked signal. In an embodiment of the present invention, the phase angle of the phase rotation 112 applied to the current stream value or the current watermark symbol is equal to the phase angle of the previous spectral coefficient of the watermarked signal
(22) To derive the phase 116 of the previous spectral coefficient of the watermarked signal the differential encoder 108 may perform a phase derivation 120 on the previous spectral coefficient of the watermarked signal. The previous spectral coefficient may, for example, be provided from a stage which is external to the watermark generator 100, or the differential encoder 108 may be configured to determine spectral coefficients of the watermarked signal by combining watermark coefficients and spectral coefficients of the host signal 118. For example, the differential encoder 108 may be configured to derive the previous spectral coefficient of the watermarked signal based on a combination of a previous watermark coefficient (for example a watermark coefficient wm(i, j1)) and a previous spectral coefficient, for example a spectral coefficient a(i, j1)) of the host signal 118. In other words, the differential encoder may not only derive watermark coefficients but also spectral coefficients of the watermarked signal.
(23) The information processor 106 may be configured to provide the first stream 110 representing the discrete valued data 104 in a time frequency domain, such that each stream value of the stream 110 is associated to a frequency subchannel and a time slot.
(24) The index i used above may indicate the frequency subchannel and the index j may indicate the symbol number or, in other words, the time slot of the corresponding coefficient or symbol. In other words i denotes a frequency subchannel (at center frequency f.sub.i) and j denotes the temporal index or the time slot of the value corresponding to it.
(25) Therefore each stream value of the stream 110 is associated to a frequency subchannel i and a time slot j. Furthermore, the differential encoder 108 may be configured to obtain the current watermark coefficient wm(i, j) in the time frequency domain, such that a frequency subchannel i associated to the current watermark coefficient wm(i, j) is identical to a frequency subchannel i associated to the current stream value b(i, j) and such that a time slot j associated to the current watermark coefficient wm(i, j) is identical to a time slot j associated to the current stream value b(i, j).
(26) In other words, a frequency subchannel and a time slot or symbol number of a watermark coefficient of the watermark signal wm, which are associated to a stream value of the stream value of the stream 110, may be identical to the frequency subchannel and time slot or symbol number of the corresponding stream value.
(27) Furthermore, the differential encoder 108 may be configured to derive spectral coefficients of the watermarked signal in a time frequency domain too, such that each spectral coefficient of the watermarked signal is associated to a frequency subchannel and a time slot. The differential encoder 108 may therefore be configured to determine the phase rotation 112 such that a time slot j1 which is associated to the previous spectral coefficient awm(i, j1) of the watermarked signal, in dependence on which the phase angle of the phase rotation 112 applied to the current stream value b(i, j) or the current watermark symbol x.sub.k(i, j) is chosen, and the time slot j corresponding to the current stream value b(i, j) are adjacent in time. In other words, a current spectral coefficient awm(i, j), which is a combination of the current watermark coefficient wm(i, j) and the current spectral coefficient a(i, j) of the host signal 118, may directly follow the previous spectral coefficient awm(i, j1) in time when the watermarked signal is viewed as a sequence of subsequent spectral coefficients awm(i, j) (i, jN). Furthermore, the differential encoder 108 may be configured such that the frequency subchannels i of the current stream value b(i, j), the current watermark coefficient wm(i, j) and the spectral coefficient awm(i, j) are identical. This means, the differential encoder 108 may perform the watermark signal derivation process for every frequency subchannel onto which the information units of discrete valued data 104 are mapped. This is advantageous because in a reverberant environment different phase rotations to the transmitted signal may be applied to different frequency subchannels. The phase of the current watermark coefficient wm(i, j) may therefore only be based on the previous spectral coefficient awm(i, j1) of the watermarked signal being associated to the same frequency subchannel i like the current watermark coefficient wm(i, j).
(28) Differential Encoder According to
(29) In the following, a differential encoder 208 for use in a watermark generator according to an embodiment of the present invention shall be explained taking reference to the
(30) The differential encoder 208 is configured to receive the host signal 118 as a host audio signal a(t) in the time domain. The differential encoder 208 may therefore comprise, as shown in
awm(i,j)=a(i,j)+wm(i,j).(1)
(31) The obtained current spectral coefficient awm(i, j) of the watermarked signal may be stored in the differential encoder 208 (symbolized by a delay element 206 of the differential encoder 208). The stored current spectral coefficient awm(i, j) of the watermarked signal may then be used to determine a following watermark coefficient wm(i, j+1).
(32) To find the current watermark coefficient wm(i, j) for the frequency subchannel i, the phase 116 of the previous spectral coefficient awm(i, j1), which is also designated as previous watermarked audio coefficient of the watermarked signal, is calculated, for example, in a phase calculating process 210 of the phase derivation process 120 using the following equation:
(33)
(34) In this application j designates the imaginary unit (square root of 1), it should not be mixed up the index j for the time slots.
(35) The phase 116 (represented by the complex value e.sup.j(i, j-1)) or the phase angle (i, j1) of the previous spectral coefficient awm(i, j1) is used by the differential encoder 208 in the phase rotation 112, which is applied to the current stream value b(i, j) of the stream 110. If no phase change is to be transmitted, for example if the current stream value b(i, j) is equal to 1, a phase of the current watermark coefficient wm(i, j) is identical to the phase 116 of the previous spectral coefficient awm(i, j1) of the watermarked signal, or in other words the current watermark coefficient wm(i, j) points in the same direction as the previous spectral coefficient awm(i, j1) of the watermarked signal. If a phase change by (180) is to be transmitted (for example if the current stream value b(i, j) is 1), the current watermark coefficient wm(i, j) may point in the opposite direction when compared to the previous spectral coefficient awm(i, j1) of the watermarked signal. The stream values may, for example, be binary data, for example, the stream values may be:
b(i,j)={1,1}.(3)
(36) At the beginning of the stream 110, that is for j=0 or if the phase 116 (e.sup.j(i, j)) is undefined, the phase 116 or e.sup.j(i, j) may be set equal 1.
(37) The differential encoder 208 may further perform a scaling of the current stream value b(i, j) by a current scaling factor (i, j) (i, jN, R) or by a current factor which is smaller than the current scaling factor (i, j). The scaling 210 may be applied to the current stream value b(i, j) before applying the phase rotation 112 or after applying the phase rotation 112 (as it is shown in
(38) In an embodiment of the present invention the maximum amplitude of the current watermark coefficient wm(i, j) allowed by the psychoacoustical model is used.
(39) The differential encoder 208 may therefore determine the current watermark coefficient wm(i, j) as:
wm(i,j)=b(b,j).Math.(i,j).Math.e.sup.j(i,j-1).(4)
(40) By using equation 4, the encoding strategy may get optimal, this means that a signal-to-noise ratio at a decoder after differential decoding can be maximized. From equation 4 it can be seen that a differential encoding is carried out implicitly, so that a signal b.sub.diff(i, j)=b(i, j).Math.b.sub.diff(i, j1), which has to be computed in EP 10154964, does not need to be computed in embodiments of the present invention.
(41) Furthermore, it is to be pointed out that in embodiments of the present invention the phase rotation 112 during differential encoding is introduced, to archive a host interference rejection with an implicit differential encoding, which is a significant advantage, especially when compared to the embedding method stated in EP 10154964.
(42) In
(43)
(44) In other words, the radius of the circle may be scaled based on the current scaling factor (i, j). As can be seen from
(45)
(46)
(47) To summarize, the current spectral coefficient awm(i, j) of the watermarked signal can be obtained by a summation of the current spectral coefficient a(i, j) of the host signal 118 and a rotated (and, optimally, scaled) version of the current stream value b(i, j) such that the current spectral coefficient awm(i, j) lies on or within the circle, the center of which is defined by the current spectral coefficient a(i, j) of the host signal 118, a radius of which is determined by a magnitude of the current stream value b(i, j) and a range of values of the current scaling factor (i, j).
(48) This embedding strategy according to embodiments of the present invention reduces the distortion induced by the host signal 118 and thus improves the decoding process at a decoder.
(49) From
awm.sup.(a)(i,j)=a(i,j)+wm.sup.(a)(i,j)(5)
or
awm.sup.(b)(i,j)=a(i,j)+wm.sup.(b)(i,j),(6)
depending on the value of the current stream value b(i, j).
(50) The current scaling factor (i, j) and the phase 116 (e.sup.j(i, j-1)) of the previous spectral coefficient awm(i, j1) of the watermarked signal are already included in wm.sup.(a)(i, j) and wm.sup.(b)(i, j) (see equation 4).
(51) The circle of radius (i, j) delimits the area of the complex plane in which the current watermark coefficient wm(i, j), which is expressed as a vector centered in the current spectral coefficient a(i, j) of the host signal 118, can be defined. The current scaling factor (i, j) is provided by the psychoacoustical model and ensures that the watermark will be inaudible. To achieve the highest SIR, namely the highest signal to interference (i.e. the host signal 118) ratio, it can be optimal to place the current watermark coefficient wm(i, j) on the circle rather than within it. In other words, it may be optimal to use the maximum allowed power of the watermark coefficients of the watermark signal 102. In other words it may be optimal to use the current scaling factor (i, j) provided by the psychoacoustical model for the scaling 210 rather than another (also allowed) scaling factor which is smaller than the current scaling factor (i, j).
(52) It has been found that with such a masking circle shown in the
(53) For simplicity reasons a circular masking region is assumed in the embodiments described in this application.
(54) In the embodiment described above the invention was presented in a more specific way, this means in a two-point solution, wherein no stream value to watermark symbol mapping is performed. This two-point solution may be of great importance for current practical applications. However, more general multi-point solutions may be of interest in future applications. Therefore, in the following, another embodiment of the invention will be described which extends the specific two-point solution to a more general higher order solution.
(55) Generalization to Higher Order Constellation Using a Differential Encoder According to
(56) Following the same principles used in the previous sections, the invention is now generalized to an M-point constellation. To do so, we allow a different symbols to map the same information as shown in
(57)
(58) Furthermore, the differential encoder 408 may be configured to apply a phase rotation 112 to each of the current watermark symbols x.sub.k(i, j) of the subconstellation corresponding to the current stream value b(i, j), to obtain a plurality of current candidate watermark coefficients wm.sub.k(i, j). As can be seen from
(59) According to further embodiments of the present invention the differential encoder 408 may firstly perform the phase rotation 112 and then perform the scaling 210.
(60) The decider 404 may be configured to choose one out of the current candidate watermark coefficients wm.sub.k(i, j) as the current watermark coefficient wm(i, j).
(61) As an example, the differential encoder 408, or, more precise the subconstellation selector 402 may code 1 bit (one stream value of the stream 110) with M symbols. In the following it is assumed that the stream 110 only contains binary values or in other words the stream values of the stream 110 can only take binary values. For example, the stream values may be either 1 or +1. The current stream value b(i, j) may therefore be {1, 1}. The current stream value b(i, j) or the bit b(i, j) enters the subconstellation selection block or the subconstellation selector 402. An output of the subconstellation selector 402 comprises, as stated in
(62)
(63) As can be seen in
(64) From
(65) Furthermore, a first subconstellation may correspond with a first value of the current stream value b(i, j), for example, b(i, j)=1, and a second subconstellation may correspond with a second value of the current stream value b(i, j), for example, b(i, j)=1. Furthermore, a phase difference between two adjacent watermark symbols of different subconstellations is equal and is half of the phase difference between two adjacent watermark symbols of the same subconstellation.
(66) As can be seen from
(67) The decider 404 chooses which of the candidates, denoted by wm.sub.1(i, j), . . . wm.sub.M/2(i, j) should be used as watermark (as the current watermark coefficient wm(i, j)).
(68) One possibility is to choose the candidate out of the current candidate watermark coefficients wm.sub.k(i, j) (k=1 . . . M/2) which maximizes a signal-to-noise ratio of the watermarked signal with respect to channel noise. In this case the decider 404 may be configured to add each candidate wm.sub.k(i, j) (k=1 . . . M/2) to the current spectral coefficient a(i, j) of the host signal 118 to obtain watermarked signal candidates awm.sub.1(i, j), . . . awm.sub.M/2(i, j), which are also denoted as current candidate watermarked spectral coefficients awm.sub.k(i, j) (k=1 . . . M/2) and choose the one with the highest power. In mathematical terms:
(69)
so that the watermark signal or the current watermark coefficient is
wm(i,j)=wm.sub.k.sub.
(70) In other words the decider 404 may be configured to derive the plurality of current candidate watermarked spectral coefficients awm.sub.k(i, j) (k=1 . . . M/2) based on combinations of the current spectral coefficient a(i, j) of the host signal 118 with the plurality of candidate watermark coefficients wm.sub.k(i, j) (k=1 . . . M/2), to determine the current candidate watermark spectral coefficient with the highest power out of the plurality of current candidate watermarked spectral coefficients awm.sub.k(i, j) (k=1 . . . M/2) to choose the current candidate watermark coefficient corresponding to the current candidate watermarked spectral coefficient having the highest power as the current watermark coefficient.
(71) It should be pointed out once more that embodiments of the present invention implement a differential encoding implicitly.
(72) For using a higher order M the signal-to-noise ratio of the watermarked signal can be improved, meaning that the watermark may survive more easily the distortions introduced, for example by microphone noise. On the other hand, the symbols in the subconstellation are closer for larger M (this means the phase difference gets smaller). This implies that the bit error rate BER will increase. Given this tradeoff, the choice of M depends on the desired application.
(73)
(74) In other words, the watermark coefficients wm(i, j) are chosen such that awm(i, j) lies within the masking region and the signal-to-noise ratio at the decoder after differential decoding is maximized, e.g. when a decoding rule like in equation 13 is used.
(75) It should be noted that to obtain the special case shown in the embodiment of
(76) After describing the two differential encoders 208, 408 in the following another watermark generator, which may use the differential encoders 208, 408, will be explained taking reference to
(77) The Watermark Generator According to
(78)
(79) For the description of the watermark generator 700 a stream 104 of binary data expressed as {1, 1} is assumed. A signaling block 712 of the information processor 706 organizes the data in packets of equal length and appends overhead bits. A packet of payload bits together with the overhead is denoted as a message.
(80) A channel encoder 714 of the information processor 706 adds redundancy to the message for forward error correction purposes.
(81) Afterwards, the data is spread in frequency, for example binary data for the different subchannels i is generated by a frequency spreader 716 of the information processor 706.
(82) In order to facilitate decoding, a synchronization signal is inserted by multiplying the matrix of binary information by a concatenation of synchronization sequences. This synchronization scheme insertion can be performed by a synchronization scheme inserter 718 of the information processor 706.
(83) A time spreader 720 of the information processor 706 carries out a spreading in time domain, this means adds further redundancy in order to gain more robustness against noise. An output of the information processor 706 is binary data (for example the stream 110 of subsequent stream values, also denoted as b(i, j)), where i indicates a subchannel and j indicates the time slot or symbol number.
(84) The differential encoder 708 carries out the host interference rejection and differential encoding process on the stream 110 of subsequent stream values which is provided by the time spreading block 720. The differential encoder 708 may also be denoted as host interference rejection and differential encoding block 708. The differential encoder 708 may for example be similar or equal to the differential encoder 108 from
(85) The differential encoder 708 provides the watermark signal 102 in the time frequency domain as a sequence of subsequent watermark coefficients wm(i, j) (i, jN) for a plurality of frequency bands. In other words the output of the differential encoder 708 consists of the watermark coefficients wm(i, j) (i, jN). The modulator 710 is configured to derive the watermark signal in a time domain based on the subsequent watermark coefficients of the watermark signal 102 in the time frequency domain. The modulator 710 therefore provides the watermark signal 722 as a time domain watermark signal 722, which is also denoted as wm(t).
(86) In other words, the job of the remaining modulator 710 is to convert the watermark coefficients wm(i, j), (i, jN), into the time signal wm(t).
(87) The resulting time domain watermark signal 722 (wm(t)) is the watermark which can be added to the (audio) host signal a(t).
(88) In the following, the watermark generator which is described in EP 10154964 shall be explained in short as a comparison example to the watermark generator 700 according to an embodiment of the present invention shown in
(89) Conventional Watermark Generator as a Comparison Example
(90)
{tilde over (b)}.sub.diff(i,j)={tilde over (b)}.sub.diff(i,j1).Math.{tilde over (b)}(i,j).(11)
(91) The output of the differential encoder 802 is a stream 808 of subsequent differentially encoded binary coefficients {tilde over (b)}.sub.diff(i, jN). A modulator 806 of the watermark generator 800 transforms the resulting binary data {tilde over (b)}.sub.diff(i, j) (i, jN) into a time signal and performs amplitude scaling at the same time according to scaling factors (for example {tilde over ()}(i, j)) given by a psychoacoustical model. One can regard the differentially encoded binary coefficients {tilde over (b)}.sub.diff(i, j) (i, jN) as coefficients and the modulator 806 as a synthesis filter bank that first scales the coefficients and then transforms them into time domain. A resulting time signal {tilde over (w)}m(t) is the watermark which can be added to an audio host signal a(t).
(92)
(93) The watermark {tilde over (w)}m(i, j) is chosen between {tilde over (w)}m.sup.(a)(i, j) or {tilde over (w)}m.sup.(b)(i, j) depending on {tilde over (b)}.sub.diff(i, j). In other words either {tilde over (w)}m.sup.(a)(i, j) or {tilde over (w)}m.sup.(b)(i, j) is chosen as the watermark {tilde over (w)}m(i, j) depending on {tilde over (b)}.sub.diff(i, j).
(94) It can be observed that both {tilde over (w)}m.sup.(a)(i, j) and {tilde over (w)}m.sup.(b)(i, j) have been constructed regardless of the host audio signal (with the exception of the factor {tilde over ()}(i, j) provided by the psychoacoustical model, which has (obviously) analyzed the host signal and adjusted the factor {tilde over ()}(i, j) in accordance with frequency masking effects and temporal masking effects).
(95) In the following a short example for an application, in which a watermark generator according to an embodiment of the present invention can be used, shall be shown.
(96) Example of an Application Using the Watermark Generator 700
(97)
(98) As mentioned before, the resulting signal of the watermark generator 700 is the time domain watermark signal wm(t). This resulting time signal wm(t) is the watermark which is added to the time domain audio host signal a(t). The watermarked host signal:
awm(t)=a(t)+wm(t)(12)
can be transmitted over a communication channel and constitutes a received signal (t) at the receiver.
(99) In the following a method for generating a watermark signal will be explained.
(100) Method for Generating a Watermark Signal According to
(101)
(102) The method 1000 comprises a step 1002 of providing in dependence on information units of the discrete valued data a first stream of subsequent values, such that the first stream represents the discrete valued data.
(103) The method 1000 further comprises a step 1004 of applying a phase rotation to a current stream value or to a current watermark symbol, the current watermark symbol corresponding to a current stream value of the stream values representing the discrete valued data, to obtain a current watermark coefficient of the watermark signal.
(104) The method 1000 further comprises a step 1006 of deriving a phase of a spectral coefficient of a watermarked signal which is a combination of a host signal and the watermark signal.
(105) The method 1000 further comprises a step 1008 of providing the watermarked signal such that a phase angle of the phase rotation applied to the current stream value or to the current watermark symbol is dependent on the phase of the previous spectral coefficient of the watermarked signal.
(106) In the following, a decoder for decoding a watermark signal generated by a watermark generator according to an embodiment of the present invention will be described.
(107) Watermark Decoder According to
(108) In a receiver, which comprises a watermark decoder, typically the inverse of the mentioned operations for generating the watermark signal is carried out in reverse order to decode the watermark. For the case that the differential encoder 208 from
(109)
where .sub.i(j)=b.sub.i.sup.norm(j). b.sub.i.sup.norm(j) are normalized complex coefficients given by an analysis filter bank in subchannel i (at center frequency f.sub.i) representing a received signal y(t) and the variable j is the temporal index. The resulting real valued soft bits {circumflex over (b)}.sub.i(j) are the estimates of b(i, j). The differential decoding works in that if the phase difference is 0 the cosine is 1, whereas for a phase difference equal to the cosine becomes 1. y(t) represents the watermarked signal awm(t) which has been transmitted over a communication channel. This differential decoding principle works fine for watermark signals generated by the differential encoder 208 in which the phase rotation 112 is directly applied to the current stream values b(i, j) (i, jN) of the stream 110. In other words this decoding principle works for differential encoders in which no stream value to watermark symbol mapping 114 is applied. Therefore, a decoder, which is configured to decode the watermark signal 102 generated by the differential encoder 208 can be similar to a decoder, which is configured to decode a watermark signal generated by the differential encoder 802 of the watermark generator stated in EP 10154964.
(110) In contrast to this, the use of a M-point constellation with M>2 implies a use of a different decoder. Such an M-point constellation has been shown with the differential encoder 408 according to
(111)
(112) The differential decoder 1106 is configured to determine a phase angle difference 1110 (also denoted as .sub.i.sup.diff(j)) between a previous complex valued spectral coefficient 1112 (also denoted as b.sub.i.sup.norm(j1)) and a current complex valued spectral coefficient 1114 (also denoted as b.sub.i.sup.norm(j)). The differential decoder 1106 is further configured to map phase angle differences within at least two different phase angle ranges to a first discrete value 1116 of the discrete valued data 1102 and to map phase angle differences within at least another two different phase angle ranges to a second discrete value 1118 of the discrete valued data 1102. The discrete valued data 1102 may for example be binary data and the first discrete value 1116 may for example correspond to a logical 1 and the second discrete value 1118 may for example correspond to a logical 1 or 0.
(113) In other words, the differential decoder 1106 may be configured to choose in response to the determined phase difference 1110 falling into the phase angle ranges mapped to the first discrete value 1116, the first discrete value as a value for a current element of the discrete valued data 1102 and to choose in response to the determined phase difference 1110 falling into the phase angle ranges mapped to the second discrete value 1118, the second discrete value as a value for the current element of the discrete valued data 1102.
(114) The information processor 1104 may be configured to provide the stream 1108 of complex spectral coefficients in a frequency time domain, such that each spectral coefficient corresponds to one frequency subchannel i and one time slot j. The differential decoder 1106 may be configured such that the previous complex spectral coefficient 1112 and the current complex spectral coefficient 1114 correspond to adjacent time slots j, j1 and to the same frequency subchannel i.
(115)
(116) A first angle range 1202 which ranges from /4 (or 7/4) to /4 and a second phase angle range 1204 which ranges from 3/4 to 5/4 are mapped to the first discrete value 1116 by the differential decoder 1106. A third phase angle range 1206 which ranges from /4 to 3/4 and a fourth phase angle range 1208 which ranges from 5/4 to 7/4 are mapped to the second discrete value 1118 of the discrete value data 1202 by the differential decoder 1106. Comparing this diagram shown in
(117) As can be seen from
(118) From the explanations made above it becomes clear that the use of an M-point constellation with M>2 implies the use of a different decoder. One significant difference to conventional (traditional) decoders is the mapping of the bits, in that a traditional system typically codes log.sub.2(M) bits with M symbols, whereas at least some of the proposed systems code 1 bit with M symbols.
(119) In the following some aspects of the present invention will be summarized in short.
(120) A watermark scheme employed in embodiments of the present invention comprises a multi-channel differential BPSK method for embedding digital information in an audio signal. Each of several subchannels i is related to a frequency (f.sub.i) of a time frequency representation of the audio signal a(t). The information to be transmitted in one subchannel i is contained in the phase difference of consecutive coefficients b(i, j) (i, jN) of a time frequency representation.
(121) Embodiments of the present invention have been presented in a more specific way using the differential encoder 208 in
(122) At least some embodiments of the present invention relate to digital audio watermarking, i.e. some modification of an audio signal in order to hide digital data and the corresponding decoder capable of receiving this information while the perceived quality of the modified audio signal remains indistinguishable (inaudible) to the one of the original.
(123) Embodiments of the present invention implement differential encoding implicitly by providing a current watermark coefficient based on a previous spectral coefficient of the watermarked signal.
(124) Embodiments of the present invention create a method for generating an inaudible watermark featuring differential encoding in the time frequency domain. The watermark is shaped optimally, or at least approximately optimally or signal-adapted, considering the host audio signal to maximize the decoder performance. Moreover, the choice of the order of the symbol constellation allows to tradeoff robustness against external noise sources (i.e. better signal-to-noise ratio of the watermarked signal) versus better bit error rates.
(125) Embodiments of the present invention create a (partly) host interference rejecting watermark embedding method which implicitly contains a differential encoding scheme.
(126) Implementation Alternatives
(127) 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.
(128) 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, an EPROM, 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.
(129) 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.
(130) 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.
(131) Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
(132) 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.
(133) 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. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
(134) 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.
(135) 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.
(136) A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
(137) A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
(138) 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 performed by any hardware apparatus.
(139) While this invention has been described in terms of several advantageous embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
(140) Naturally, the concept described herein may also be used for watermarking of video signals or image signals.