Method and apparatus for determining watermark symbols in a received audio signal that can contain echoes, reverberation and/or noise
09607623 ยท 2017-03-28
Assignee
Inventors
- Xiaoming Chen (Hannover, DE)
- Peter Georg Baum (Hannover, DE)
- Michael Arnold (Isernhagen, DE)
- Ulrich Gries (Hannover, DE)
Cpc classification
G10L19/018
PHYSICS
International classification
G06F17/00
PHYSICS
G10L19/018
PHYSICS
Abstract
Following transmission of a watermarked audio signal over an acoustic path causing echoes, reverberation and/or noise, watermark detection correlation result peak values are concentrated within a limited temporal range around main correlation result peaks, which limited temporal range is much smaller than the total correlation length. The watermark detection is based on the following: given n.sub.p correlation result peak values v=(v.sub.1, v.sub.2, . . . , v.sub.np) in an average or expected probability distribution for correlation result values for unmarked content, the probability is calculated that within windows covering the limited temporal range there are n.sub.p or more values from a correlation result value set greater than or equal to these peaks v.
Claims
1. A method for determining watermark symbols in a received audio signal that contain echoes, reverberation and/or noise, said method comprising: correlating a section of the received audio signal with at least two different candidate reference pattern signals related to corresponding different candidate watermark symbols is, so as to produce in each case N correlation result values c.sub.is for each candidate watermark symbol is; for each candidate watermark symbol is, determining M peak values within said correlation result values c.sub.is, for each one of said M peak values denoted global peak values and for each candidate watermark symbol is, determining from the correlation result values c.sub.is a corresponding vector v.sub.is.sup.k of n.sub.p peak values within each one of M windows of length L, each length-L window including one of said M global peak values and the summed-up length of all length-L windows being smaller than N, wherein k=1, . . . , M; for each one of said M windows of length L, calculating a false positive probability value FP(v.sub.is.sup.k) based on the vector v.sub.is.sup.k of peak values and an average or expected probability distribution for correlation result values for a non-watermarked audio signal, wherein the false positive probability FP(v.sub.is.sup.k) is defined as the probability that for one or more times such a length-L window contains n.sub.p or more correlation result absolute values greater than or equal to the n.sub.p peak values in an average or expected probability distribution for correlation values for a non-watermarked audio signal; and selecting or the section of said received audio signal that candidate watermark symbol is as a detected watermark symbol which has the minimum false positive probability value min.sub.is(min.sub.k(FP(v.sub.is.sup.k))) if said minimum false positive probability value min.sub.is(min.sub.k(FP(v.sub.is.sup.k))) is smaller than a predetermined threshold, wherein otherwise it is decided that no watermark symbol has been detected.
2. The method according to claim 1 wherein, if in said calculation of said false positive probability FP(v.sub.is.sup.k) value that value is smaller than a further predetermined threshold, it is assumed that a correct candidate watermark symbol is has been found and the further processing is omitted, and wherein said predetermined threshold is greater than said further predetermined threshold.
3. The method according to claim 1, wherein M=3.
4. The method according to claim 1, wherein there are two different candidate watermark symbols.
5. An apparatus for determining watermark symbols in a received audio signal that can contain echoes, reverberation and/or noise, said apparatus comprising a processor configured to: correlate a section of the received audio signal with at least two different candidate reference pattern signals related to corresponding different candidate watermark symbols is, so as to produce in each case N correlation result values c.sub.is for each candidate watermark symbol is; determine, for each candidate watermark symbol is, M peak values within said correlation result values c.sub.is, and determine, derived from said M correlation result peak values for each candidate watermark symbol is, for said section of said received audio signal a watermark symbol out of said candidate watermark symbols is, wherein, for each one of said M peak values denoted global peak values and for each candidate watermark symbol is, there is determined from the correlation result values c.sub.is a corresponding vector v.sub.is.sup.k of n.sub.p peak values within each one of M windows of length L, each length-L window including one of said M global peak values and the summed-up length of all length-L windows being smaller than N, wherein k=1, . . . , M, and wherein, for each one of said M windows of length L, a false positive probability value FP(v.sub.is.sup.k) is calculated based on the vector v.sub.is.sup.k of peak values and an average or expected probability distribution for correlation result values for a non-watermarked audio signal, wherein the false positive probability FP(v.sub.is.sup.k) is defined as the probability that for one or more times such a length-L window contains n.sub.p or more correlation result absolute values greater than or equal to the n.sub.p peak values in an average or expected probability distribution for correlation values for a non-watermarked audio signal, and wherein for the section of said received audio signal that candidate watermark symbol is is selected as a detected watermark symbol which has the minimum false positive probability value min.sub.is(min.sub.k(FP(v.sub.is.sup.k))) if said minimum false positive probability value min.sub.is(min.sub.k(FP(v.sub.is.sup.k))) is smaller than a predetermined threshold, and wherein otherwise said processor decides that no watermark symbol has been detected.
6. The apparatus according to claim 5 wherein, if in said calculation of said false positive probability FP(v.sub.is.sup.k) value that value is smaller than a further predetermined threshold, it is assumed that a correct candidate watermark symbol is has been found and the further processing is omitted, and wherein said predetermined threshold is greater than said further predetermined threshold.
7. The apparatus according to claim 5, wherein M=3.
8. The apparatus according to claim 5, wherein there are two different candidate watermark symbols.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1) Exemplary embodiments of the invention are described with reference to the accompanying drawings, which show in:
(2)
(3)
(4)
(5)
(6)
(7)
DESCRIPTION OF EMBODIMENTS
(8) A. Definition of False Positive (FP) Probability
(9) It is well-known in watermark detection based on cross-correlation to use a single correlation result peak value for determining the embedded watermark information. In this invention, however, optimum watermark detection employing multiple correlation result peak amount values is described. For evaluating FP probability it is assumed that: correlation values between any unmarked signal section content and a reference pattern or watermark symbol are independent identically distributed random variables; for a specific correlation result peak value v, it is known how to calculate the corresponding probability distribution tail probability pPr{cv}, where c denotes a correlation value subject to a specific distribution like Gaussian.
(10) For a single peak value v in a current correlation result of length N, the FP probability is the probability that in the average or expected probability distribution for correlation result values for unmarked content there are one or more values out of N correlation values not less than that peak value v. Similarly, for n.sub.p peak values v.sub.1v.sub.2 . . . v.sub.n.sub.Pr{cv.sub.i},1in.sub.p.
(11) Given a specific correlation result vector sample c.sub.1.sup.L[c.sub.1, . . . , c.sub.L] following sorting (x.sub.n.sub.
(12) TABLE-US-00001 or equal to v.sub.1.sup.n.sup.
(13) If nGT=np, c.sub.1.sup.L has n.sub.p or more values greater than or equal to v.sub.1.sup.n.sup.
(14) A.1 Correlation Value Distribution, Comparison to Multiple Peaks
(15) For the purpose of comparing correlation result values to multiple peak values, the complete range of correlation result amount values is divided into n.sub.p+1 intervals:
[,v.sub.n.sub.
(16) Correlation value distribution is then performed by counting how many correlation result amount values are located within individual intervals, which can be described by a representative vector. Because sometimes a number of values in some intervals are irrelevant for FP probability evaluation, representative vectors may have different lengths. Therefore, in this description, the most right element of a representative vector always corresponds to the interval [v.sub.1,+), while it's most left element is referred to as its first element.
(17)
(18) For such case, due to v.sub.1v.sub.2,v.sub.1v.sub.3, there is still at least one value v.sub.1, one value v.sub.2, and one value .sub.3. This can be interpreted as two zeros associated with the intervals [v.sub.3,v.sub.2) and [v.sub.2,v.sub.1) are compensated by m3 in the interval [v.sub.1,). For simplicity, a zero compensated representative vector denoted [[ . . . ]] can be defined in this case as [[1,1,m1]], derived from the original representative vector [m3]. If not otherwise stated, a zero compensated representative vector having a length n.sub.p is used for the interval [v.sub.n.sub.
(19) E.g. in case P.sub.2, there are two correlation result values in the interval [v.sub.1,), zero correlation result values in the interval [v.sub.2,v.sub.1), m1 correlation result values in the interval [v.sub.3,v.sub.2), and L2m correlation result values are less than v.sub.3.
(20) Given a representative vector a=[a.sub.n, . . . , a.sub.2, a.sub.1], its corresponding zero compensated counterpart is derived as follows: Expand vector a to length n.sub.p by adding n.sub.pn zeros: a=[0.sub.n.sub.
(21) The resulting vector a is the zero compensated representative vector for a. Note that zero compensated representative vectors for any interval [v.sub.k,+) with kn can be similarly obtained by just replacing n.sub.p with k.
(22) For example, representative vectors and their zero compensated representative vectors for the cases listed in
(23) Advantageously, with the introduction of such zero compensated representative vectors it becomes much easier to compare correlation result values including multiple peaks. Specifically, if there is no zero element in the zero compensated representative vector, it can be assumed that a correlation vector collecting N correlation values, denoted as c.sub.1.sup.N=(c.sub.1, c.sub.2, . . . , c.sub.N), is greater than or equal to n.sub.p peaks, which is concisely denoted as c.sub.1.sup.Nv.sub.1.sup.n.sup.
(24)
and the final FP probability is P.sub.FP=P.sub.1+P.sub.2+P.sub.3+P.sub.4+P.sub.5. The factor (p.sub.ip.sub.i1) is the probability of obtaining a correlation result peak with a value in the range [v.sub.i,v.sub.i1], whereas (1p.sub.i) is the probability of getting a peak in the range (,v.sub.i].
(25) B. FP Probability for Correlation Result Peak Values Within a Limited Range
(26) As mentioned above, for signal transmission over an acoustic path correlation result peak amount values generally are concentrated within a limited temporal range of maximum size L, which is much smaller than the correlation length N.
(27) Thus, for n.sub.p peak amount values within a current window of length L out of N correlation result values, the probability is to be computed that in the average or expected probability distribution for correlation result values for unmarked content there are n.sub.p or more correlation result amount values greater than or equal to the n.sub.p peak amount values in this current length L window.
(28) B.1 Inventive FP Probability Calculation Processing
(29) The definitions for c.sub.j(c.sub.j, c.sub.j+1, . . . , c.sub.j+L1), c.sub.jv and c.sub.i
v were given above.
(30) The complementary case for the sliding window containing for one or more times n.sub.p or more values greater than or equal to n.sub.p expected peaks is that there is no sliding window that contains n.sub.p or more values greater than or equal to n.sub.p expected peaks, namely, c.sub.jv,j. Consequently, the complementary probability for the FP probability is
Pr{c.sub.jv,j}=Pr{c.sub.1
v,c.sub.2
v, . . . , c.sub.NL+1
v}.(1)
Using the chain rule, the joint probability Pr{c.sub.1v, c.sub.2
v, . . . , c.sub.NL+1
v} can be calculated by means of conditional probabilities:
(31)
For a correlation vector c.sub.j only the last predecessor c.sub.j1 is relevant in the conditional probability Pr{c.sub.jv|c.sub.j1
v, . . . , c.sub.1
v}, since it contains all but one new element of c.sub.j:
Pr{c.sub.jv|c.sub.j1
v, . . . , c.sub.1
v}=Pr{c.sub.j
v|c.sub.j1
v}.
Therefore, the joint probability Pr{c.sub.1v ,c.sub.2
v, . . . , c.sub.NL+l
v} can be written as
Pr{c.sub.1v, . . . , c.sub.NL+1
v}=(.sub.j=2.sup.NL+1Pr{c.sub.j
v|c.sub.j1
v}).Math.Pr{c.sub.1
v}.
In addition, a subset of L correlation samples already represents a representative set of all the N samples because L is large enough, leading to the identity
Pr{c.sub.jv|c.sub.j1
v}Pr{c.sub.2
v|c.sub.1
v},
which is employed in equation (2):
Pr{c.sub.1v, . . . , c.sub.NL+1
v}=(Pr{c.sub.2
v|c.sub.1
v}).sup.NL.Math.Pr{c.sub.1
v}.(3)
Since it is known how to evaluate Pr{c.sub.1}, the FP probability calculation reduces to evaluation of the conditional probability Pr{c.sub.2
v|c.sub.1
v}.
(32) B.2 Conditional Probability Evaluation
(33) The conditional probability Pr{c.sub.2v|c.sub.1
v} can be reformulated using the definition of the conditional probability. Given two events A and B with P(B)>0, the conditional probability of A given B is defined as
(34)
Therefore Pr{c.sub.2v|c.sub.1
v} can be written as:
(35)
Consequently, the FP probability can be evaluated as
(36)
(37) This general formula reduces for L=N to the case of recursive calculation in the WO 2011/141292 statistical watermark detection processing (in that case c.sub.1[c.sub.1, . . . , c.sub.N]):
Pr{c.sub.1v}=1Pr{c.sub.1v}.
For calculating equation (6) in case LN, a split-up is carried out as explained in the following section.
(38) B.3 Joint Probability Evaluation Based on Correlation Value Distributions
(39) The joint probability Pr{c.sub.2v,c.sub.1v} can be represented as
Pr{c.sub.2v,c.sub.1v}=Pr{c.sub.2.sup.L has exactly (n.sub.p1) values v,
adding c.sub.L+1 to c.sub.2.sup.L makes c.sub.2v,
adding c.sub.1 to c.sub.2.sup.L makes c.sub.1v}.(7)
Cases where c.sub.2.sup.L has exactly (n.sub.p1) values v are divided into two disjoint groups again: c.sub.2.sup.L has exactly (n.sub.p1) values v.sub.1.sup.n.sup.
(40) In the case of n.sub.p=3, c.sub.2.sup.L has exactly n.sub.p2=1 value v.sub.1.sup.n.sup.
(41) v.
(42) For example, P.sub.2 corresponds to a zero compensated representative vector [[0,1,1]]. If c.sub.1<v.sub.3, adding c.sub.1 to c.sub.2.sup.L will result in c.sub.1.sup.Lv.sub.1.sup.3. On the other side, if c.sub.L+1v.sub.3, adding c.sub.L+1 to c.sub.2.sup.L will result in c.sub.2.sup.Lv.sub.1.sup.3.
(43) Accordingly, the individual probabilities are calculated as
P.sub.1((.sub.1.sup.L-1)p.sub.1(.sub.1.sup.L-2)(p.sub.2p.sub.1)(1p.sub.3).sup.L-3)p.sub.3(1p.sub.3)
P.sub.2((.sub.2.sup.L-1)p.sub.1.sup.2(1p.sub.3).sup.L-3)p.sub.3(1p.sub.3)
P.sub.3(.sub.m=2.sup.L-1(.sub.m.sup.L-1)(p.sub.2p.sub.1).sup.m(1p.sub.2).sup.L-1-m)p.sub.1(1p.sub.1)
P.sub.4((.sub.1.sup.L-1)(p.sub.2p.sub.1).sub.m=1.sup.L-2(.sub.m.sup.L-2)p.sub.3p.sub.2.sup.m(1p.sub.3).sup.L-2-m)p.sub.1(1p.sub.1)
P.sub.5((.sub.1.sup.L-1)p.sub.1.sub.m=1.sup.L-2(.sub.m.sup.L-2)(p.sub.3p.sub.2).sup.m(1p.sub.3).sup.L-2-m)p.sub.2(1p.sub.2)
(44) In general, calculating the sum terms for the P.sub.3, P.sub.4, P.sub.5 probabilities can be reformulated by employing the binomial theorem:
(45)
which significantly reduces the computational complexity if n.sub.1<<n.sub.2n.sub.1.
(46) In addition, for mb cases such as P.sub.3, P.sub.4, P.sub.5 shown in
(47)
(48)
(49) Having representative vectors for all disjoint cases where c.sub.2.sup.L has exactly (n.sub.p1) values v, it is straightforward to evaluate the FP probability.
(50) B.4 Recursive Representative Vector Construction
(51) The representative and zero compensated vectors are used for computing the false positive probability FP(v.sub.is.sup.k). If these vectors are known, equations for the probabilities P.sub.1 to P.sub.5 can be formulated, see the examples in the description for
(52) In the following it is explained how to recursively obtain these representative vectors. As discussed previously, all cases in
(53) In other words, given the remaining elements in a representative vector excluding the mb element, the mb element can be deduced: refer to
(54) Motivated by
B.4.1 Initialization
(55) For s=0, the set of representative vectors is {[0]}, for s=1, the set of representative vectors is {[0,1], [1,0]}.
B.4.2 Update for 1snp3
(56) Dependent on the length lj of individual representative vectors in the set for s, the representative vectors of the current recursion for s+1 are constructed differently: If the length lj<s+1, find the first non-zero element in the representative vector. Let i be the position of the first non-zero element. Add unit vectors e.sub.1, . . . , e.sub.i to the representative vector to get new representative vectors. An example unit vector is e.sub.i=(0, . . . ,0,1,0, . . . , 0), where the first zero has position 1, the second zero has position i1, the 1 has position i, the third zero has position i+1, and the last zero has position lj. If the length lj=s+1, expand a representative vector by adding one zero at the beginning. Find the first non-zero element in the expanded representative vector and add unit vectors. However, if the 0 element in the zero compensated representative vector for a representative vector is on the right hand side of the first non-zero element in the representative vector, perform the finding and adding procedure for this representative vector without expanding.
B.4.3 Example 1
(57) Update for s=1: two representative vectors [1,0] and [0,1] both having the length lj=s+1=2. For vector [0,1], there is no zero element after the first non-zero element. Therefore the new representative vectors are obtained as [0,0,2],[0,1,1],[1,0,1]. On the other hand, for vector [1,0] there is one zero element after its first non-zero element, and there is one zero left after zero compensation. Therefore, the new representative vectors are expanding and adding unit vectors: [0,2,0],[1,1,0], as well as adding unit vectors without expanding: [2,0].
B.4.4 Example 2
(58) Update for s=2 with representative vector set {[0,0,2],[0,1,1],[1,0,1],[0,2,0], [1,1,0],[2,0]}. According to the above description, representative vectors for s=3 are obtained as [0,0,2].fwdarw.[0,0,0,3],[0,0,1,2],[0,1,0,2],[1,0,0,2] [0,1,1].fwdarw.[0,0,2,1],[0,1,1,1],[1,0,1,1] [1,0,1].fwdarw.[0,2,0,1],[1,1,0,1],[2,0,1] [0,2,0].fwdarw.[0,0,3,0],[0,1,2,0],[1,0,2,0],[0,3,0],[1,2,0] [1,1,0].fwdarw.[0,2,1,0],[1,1,1,0],[2,1,0] [2,0].fwdarw.[3,0]
(59) For [0,1,0,2] with [[0,1,1,1]] as its zero compensated representative vector there is no zero on the right hand of its first non-zero element after zero compensation, while for [1,0,0,2] with [[1,0,1,1]] as its zero compensated representative vector there is one zero left on the right hand side of its first non-zero element even after zero compensation. Accordingly, different updating procedures will be performed for [0,1,0,2] and [1,0,0,2] to get representative vectors for s=4.
(60) In the block diagram of the inventive watermark decoder in
(61) In the flow diagram of
(62) Because L is significantly smaller than N, the summed-up length of all length-L windows is smaller than length N. In practise, L<<N such that L is at least one order of magnitude smaller than N, i.e. N/L>10. For example, N=16 k and L=1 k.
(63) Thereafter, an outer loop running from is=1 to nSymbols and an inner loop running from k=1 to M are entered, controlled by comparison steps 57 and 56, respectively. In the inner loop, the false positive probability FP(v.sub.is.sup.k) is computed in step 54 from the current correlation result values, followed by a comparison step 55, l an increment of k, a comparison step 56, and in the outer loop an increment of is and a comparison step 57. The false positive probability FP(v.sub.is.sup.k) value corresponds to the probability that for one or more times such length-L window contains n.sub.p or more correlation result amount values greater than or equal to n.sub.p peak values in an average or expected probability distribution for correlation result amount values for a non-watermarked audio signal. Following comparison step 57 the candidate watermark symbol is is determined in step 58 for which the final false positive probability fp is min.sub.is (min.sub.k(FP(v.sub.is.sup.k))). Step 59 checks by comparing that fp value with a further threshold T.sub.max whether or not a watermark symbol has been detected. If true, that detected watermark symbol is output. If not true, no watermark symbol has been detected.
(64) In comparison step 55, if FP(v.sub.is.sup.k) is smaller than a predetermined threshold T.sub.min, it is assumed that the correct candidate watermark symbol is has been found, both loops are left in order to save computation time, and that watermark symbol is output.
(65)
(66) The inventive processing can be carried out by a single processor or electronic circuit, or by several processors or electronic circuits operating in parallel and/or operating on different parts of the inventive processing.