GB2462588A - Data embedding system - Google Patents
Data embedding system Download PDFInfo
- Publication number
- GB2462588A GB2462588A GB0814041A GB0814041A GB2462588A GB 2462588 A GB2462588 A GB 2462588A GB 0814041 A GB0814041 A GB 0814041A GB 0814041 A GB0814041 A GB 0814041A GB 2462588 A GB2462588 A GB 2462588A
- Authority
- GB
- United Kingdom
- Prior art keywords
- echo
- audio signal
- echoes
- polarity
- delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000002592 echocardiography Methods 0.000 claims abstract description 194
- 230000005236 sound signal Effects 0.000 claims abstract description 178
- 230000001934 delay Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 79
- 230000003111 delayed effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 abstract description 16
- 238000005259 measurement Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 15
- 238000007493 shaping process Methods 0.000 description 14
- 238000011084 recovery Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/018—Audio watermarking, i.e. embedding inaudible data in the audio signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/28—Arrangements for simultaneous broadcast of plural pieces of information
- H04H20/30—Arrangements for simultaneous broadcast of plural pieces of information by a single channel
- H04H20/31—Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
A data hiding system is described for hiding data within an audio signal. The system can be used for watermarking, data communications, audience surveying etc. The system hides data in an audio signal by adding artificial echoes whose polarity varies with the data to be hidden. In one embodiment, each data value is represented by a positive and a negative echo having different delays. A receiver can then remove the effects of natural echoes and/or periodicities in the audio signal by differencing measurements obtained at the different delays.
Description
Data Embedding System The present invention relates to a system for embedding data in an audio signal, which can be used for watermarking, data communications, audience surveying etc. The invention has particular relevance, to a system for hiding data in an audio signal by adding echoes to the audio signal.
US 5893067 discloses a technique for hiding data within an audio signal for transmission to a remote receiver The data is hidden in the audio signal by adding an artificial echo to the audio signal and varying the amplitude and/or delay of the echo in accordance with the data to be hidden.
A problem with the data hiding technique described in US 5893067 is that in most situations, natural echoes can mask the artificial echoes making it difficult for the receiver to be able to identify the artificial echoes and hence recover the hidden data.
The present invention aims to provide an alternative data hiding technique. One embodiment of the invention at least alleviates the above problem by applying echoes of opposite polarity to represent each data value.
According to one aspect, the present invention provides a method of embedding a data value in an audio signal, the method comprising: generating an echo of at least a portion of the received audio signal which varies in dependence upon the data value; and embedding the data value in the audio signal by combining the received audio signal with the generated echo; wherein said generating step generates an echo whose polarity varies in dependence upon the data value. The inventors have found that using polarity modulation to embed the data in the audio signal can make the recovery of the embedded data easier in the receiver, especially in the presence of natural echoes caused, by for example the acoustics of the room.
In one embodiment, the generating step generates a first echo of at least a portion of the received audio signal and a second echo of at least a portion of the received audio signal, the first and second echoes having first and second polarities respectively, which polarities vary in dependence upon the data value; and wherein the embedding step embeds the data value in the audio signal by combining the received audio signal with the generated first and second echoes.
Each of the echoes may be generated by repeating at least a part of said audio signal.
The first echo may be generated by repeating a first portion of the audio signal and the second echo may be generated by repeating a second portion of said audio signal.
Alternatively, the first and second echoes may be generated by repeating substantially the same first portion of the audio signal. Where the audio signal is received as a stream of samples, the or each echo may be generated by passing the stream of audio samples through a delay line.
In one embodiment, third and fourth echoes may be generated, the third echo having the same polarity as said second echo and the fourth echo having the same polarity as said first echo. In this case, the third and fourth echoes may be generated by repeating substantially the same second portion of the audio signal which is different to the first portion repeated by the first and second echoes. The second portion of the audio signal may be adjacent to the first portion. The generating step may generate the third and fourth echoes by inverting the polarity of a gain factor applied to the echoes before being combined with the audio signal.
The first echo may be combined with the audio signal at a first delay relative to the first portion of the audio signal; the second echo may be combined with the audio signal at a second delay relative to said first echo; the third echo may be combined with said audio signal at a third delay relative to said second portion of the audio signal; and the fourth echo may be combined with the audio signal at a fourth delay relative to the third echo.
The first delay may be equal to said third delay and/or the second delay may be equal to said fourth delay. In one embodiment, the delays and the amplitudes of the echoes are independent of the data value.
Preferably the first and third delays are between 0.5 ms and 100 ms and more preferably between 5 ms and 40 ms; and the second and fourth delays delayed (relative to the first and third echoes respectively) by between 0125 ms and 3 ms and more preferably between 0.25ms and 1 ms, as these delays are similar to those of natural echoes and so are less noticeable to users. In one embodiment, the or each echo has an amplitude that is less than the amplitude of said audio signal. Preferably the or each echo is faded in and out to reduce obtrusiveness of the echoes to a listener.
The first and second portions of the audio signal should be long enough for the receiver to be able to detect the presence of the echoes but not too long as to overly reduce the data rate that can be communicated. The inventors have found that echoes having durations of between 20 ms and 500 ms provides a reasonable data rate whilst keeping to a minimum data transmission errors when transmission occurs over an acoustic link. If transmission is over an electrical link, then shorter echoes may be used.
The echoes may be combined with the audio signal by adding and/or subtracting the echoes to/from the audio signal. The polarity of each echo can therefore be controlled by controlling the way in which each echo is combined with the audio signal.
This aspect of the invention also provides a computer implementable instructions product comprising computer implementable instructions for causing a programmable computer device to carry out the method described above.
This aspect also provides an apparatus for embedding a data value in an audio signal, the apparatus comprising: an echo generator operable to generate an echo of at least a portion of the received audio signal, which echo varies in dependence upon the data value; and a combiner operable to combine the received audio signal with the generated first and second echoes to embed the data value in the audio signal; wherein said echo generator is operable to generate an echo whose polarity varies with the data value.
According to another aspect, the present invention provides a method of recovering a data value embedded in an audio signal, the method comprising: receiving an input signal having the audio signal and an echo of at least part of the audio signal whose polarity depends upon said data value; processing the received input signal to determine the polarity of the echo; and recovering the data value from the determined polarity.
The input signal may comprise a first echo of at least a portion of the audio signal and a second echo of at least a portion of the audio signal, the first and second echoes having first and second polarities respectively, which polarities vary in dependence upon the data value; and wherein the processing step processes the input signal to combine the first and second echoes and to determine the polarity of the combined echoes and wherein the recovering step recovers the data value from the determined polarity of the combined echoes.
In one embodiment the processing step processes the input signal to determine a first autocorrelation measure that depends upon the first echo and a second autocorrelation measure that depends upon the second echo and combines the echoes by differencing the first and second autocorrelation measures and determines the polarity of the combined echoes by determining the polarity of the result of the differencing step.
The first echo may be of a first portion of the audio signal and the second echo may be of a second portion of the audio signal. Alternatively the first and second echoes may be repeats of substantially the same portion of the audio signal.
In one embodiment, the input signal comprises first, second, third and fourth echoes, the first and fourth echoes having the same polarity and the second and third echoes having the same polarity which is opposite to the polarity of the first and fourth echoes, wherein the processing step processes the input signal to combine the first to fourth echoes and to determine the polarity of the combined echoes and wherein the recovering step recovers the data value from the determined polarity of the combined echoes.
In this embodiment, the processing step may process the input signal to determine a first autocorrelation measure that depends upon the first echo, a second autocorrelation measure that depends upon the second echo, a third autocorrelation measure that depends upon the third echo and a fourth autocorrelation measure that depends upon the fourth echo and combines the echoes by differencing the autocorrelation measures and determines the polarity of the combined echoes by determining the polarity of a result of the differencing step.
The differencing step may perform a first difference of the first and third autocorrelation measures, a second difference of the second and fourth autocorrelation measures, a third difference of the result of said first difference and the result of the second difference and wherein the polarity of the combined echoes may be determined from the polarity of a result of the third difference.
The first and second echoes may be repeats of substantially the same first portion of the audio signal and the third and fourth echoes may be repeats of substantially the same second portion of the audio signal. Alternatively, the first and third echoes may be repeats of substantially the same first portion of the audio signal and the second and fourth echoes may be repeats of substantially the same second portion of the audio signal. In one embodiment, the or each echo is faded in and out to reduce obtrusiveness of the echoes to a listener. In this case, the polarity of the echo may be determined when the amplitude of the echo is at or near a maximum.
The first echo may be delayed relative to said first portion of the audio signal by a first delay; the second echo may be delayed relative to the first echo by a second delay; the third echo may be delayed relative to the second portion of the audio signal by a third delay; and the fourth echo may be delayed relative to the third echo by a fourth delay.
The first delay may be equal to the third delay and/or the second delay may be equal to said fourth delay.
According to this aspect, a computer implementable instructions product is also provided comprising computer implementable instructions for causing a programmable computer device to carry out the above method.
This aspect also provides an apparatus for recovering a data value embedded in an audio signal, the apparatus comprising: an input for receiving an input signal having the audio signal and an echo of at least part of the audio signal whose polarity depends upon said data value; a processor operable to process the input signal to determine the polarity of the echo; and a data regenerator operable to recover the data value from the determined polarity.
These and other aspects of the invention will become apparent to those skilled in the art from the following detailed description of exemplary embodiments, which are described with reference to the following drawings in which: Figure 1 is a block diagram illustrating the main components of a transmitter and receiver used in an exemplary embodiment; Figure 2a is an impulse plot illustrating the echoes that are added to an audio signal to encode a binary "one"; Figure 2b is an impulse plot illustrating the echoes that are added to an audio signal to encode a binary "zero"; Figure 3a is an impulse plot illustrating the presence of artificial echoes for a binary "one" after Manchester encoding and illustrating natural echoes; Figure 3b is an impulse plot illustrating the presence of artificial echoes for a binary uzero after Manchester encoding and illustrating natural echoes; Figure 4 is a block diagram illustrating in more detail the encoding performed in the transmitter shown in Figure 1; Figure 5 is a block diagram illustrating the main components of an echo generation and shaping module forming part of the transmitter shown in Figure 1; Figure 6a illustrates a shaping and modulation function that is applied to the echoes prior to being combined with the audio signal when a binary "one" is to be transmitted; Figure 6b illustrates a shaping and modulation function that is applied to the echoes prior to being combined with the audio signal when a binary "zero" is to be transmitted; Figure 6c illustrates the way in which the shaping and modulation function varies when two successive binary "ones" are to be transmitted; Figure 6d illustrates the shaping and modulation function that is applied when a binary "zero" is transmitted after a binary "one"; Figure 7 illustrates the processing performed in the receiver shown in Figure 1 for recovering the hidden data from the received audio signal; Figure 8a is an autocorrelation plot for a typical audio signal without artificial echoes; Figure 8b is an autocorrelation plot for the audio signal with artificial echoes during a first half of a bit symbol; Figure 8c is an autocorrelation plot for the audio signal with artificial echoes during the second half of the bit symbol; and Figure 8d is a plot obtained by subtracting the autocorrelation plot shown in Figure Bc from the autocorrelation plot shown in Figure 8b.
Overview Figure 1 is a block diagram illustrating a transmitter and receiver system according to one embodiment in which a transmitter I transmits data hidden within an acoustic signal 3 to a remote receiver 5. The transmitter I may form part of a television or radio distribution network and the receiver may be a portable device such as a cellular telephone handset that is capable of detecting the acoustic signal 3 output by the transmitter 1.
The transmitter As shown in Figure 1, the transmitter I includes a forward error and correction (FEC) encoder module 7, which receives and encodes the input data to be transmitted to the remote receiver 5. The encoded message data output from the FEC encoding module 7 is then passed to an echo generation and shaping module 9, which also receives an audio signal in which the encoded message data is to be hidden. The echo generation and shaping module 9 then hides the message data into the audio by generating echoes of the audio which depend upon the message data to be transmitted. The generated echoes are then combined with the original audio signal in a combiner module 11 and the resulting modified audio signal is then passed to a gain control module 13 for appropriate gain control. The audio signal is then converted from a digital signal to an analogue signal by the digital to analogue converter 15 and it is then amplified by a driver module 17 for driving a loudspeaker 19 which generates the acoustic signal 3 having the data hidden therein.
As will be described in more detail below, in this embodiment, the polarity of the echoes (as opposed to their lag and/or amplitude) is varied in order to encode the data to be transmitted. The inventors have found that this polarity modulation can be more robust in the presence of natural echoes and periodicities in the audio signal. This is particularly the case when each data value is represented by two echoes of the same magnitude but having different lags and opposite polarities. The polarities of the echoes representing each message bit are reversed to distinguish between a binary zero and a binary one.
This is illustrated by the impulse plots illustrated in Figure 2. In particular, Figure 2a is an impulse plot illustrating the component signals that are present when a binary one is to be transmitted and Figure 2b is an impulse plot illustrating the component signals present when a binary zero is to be transmitted. As shown in Figure 2a, the component signals include an initial impulse 21 representing the original audio signal followed by two lower amplitude impulses 23-1 and 23-2 representing the two echoes of the original signal component 21 which are added to the audio signal. As can be seen by comparing Figures 2a and 2b, when a binary one is to be transmitted, a positive echo 23-1 is transmitted first followed by a negative echo 23-2; and when transmitting a binary zero a negative echo 23-1 is transmitted first followed by a positive echo 23-2. Although this could be reversed if desired.
As shown in Figure 2, in this embodiment, the first echo is added with a lag of approximately ten milliseconds and the second echo is added 0.25 milliseconds after the first echo. This is the same regardless of whether a binary one or a binary zero is to be transmitted. Additionally, as represented in Figure 2, in this embodiment, the echoes that are added have lower amplitudes compared with the amplitude of the original audio signal. In particular, in this embodiment, the amplitude of the echoes is approximately one third that of the original audio signal.
The receiver Figure 1 also illustrates the main components of the receiver 5. As shown, the receiver includes a microphone 31 for detecting the acoustic signal 3 and for converting it into a corresponding electrical signal which is then filtered and amplified by filter and amplification circuitry 33. The output from the filter amplification circuitry 33 is then digitised by an analogue to digital converter 35 and the digital samples are then passed to an echo detector 37. The echo detector 37 then processes the digital samples to identify the polarities of the echoes in the received signal. This information is then passed through a data recovery module 39 which processes the echo information to recover the encoded message data. This message data is then decoded by a decoder 41 to recover the original data that was input to the FEC decoding module of the transmitter 1.
Manchester Encoding As will be explained in more detail below, the echo detector 37 detects the echoes from the received signal by calculating the auto-correlation of the received signal at specified delays. However, natural echoes (e.g. room echoes) will also contribute to the autocorrelation values thus calculated as will periodicities of the original audio track. In order to distinguish the artificial echoes representing the encoded data from these natural echoes, the message data is also Manchester encoded so that a message data value of "1" is transmitted as a 1", followed by a "0" (or vice versa), whilst a message data value of "0" is transmitted as a "0" followed by a "1". In this embodiment, this Manchester encoding is performed by the echo generation and shaping module 9.
Therefore, when a message bit value of "0" is to be transmitted, for the first half of the symbol, the first echo 23-1 is of positive polarity and the second echo 23-2 is of negative po'arity, whilst for the second half of the symbol, the first echo 23-1 is of negative polarity and the second echo 23-2 is of positive polarity. To transmit a message bit value of "0", all polarities are reversed, as summarised in the table given below.
first half of symbol second half of symbol data value polarity of first polarity of polarity of first polarity of echo second echo echo second echo 0 Positive negative negative positive 1 Negative positive positive negative The reason that the Manchester encoding can help to distinguish the artificial echoes from the natural echoes is that the natural echoes will be stable over the two half symbol -10-periods. Therefore, by subtracting the autocorrelations in the second half of the symbol from autocorrelations in the first half of the symbol (or vice versa), the effect of the natural echoes and periodicities will cancel, whilst the autocorrelation peaks caused by the artificial echoes will add constructively. Similarly, the reason for using two echoes in each half symbol period is to distinguish the artificial echoes from periodicities in the original track. Typically, the autocorrelation of the original track will not change significantly between these two lags (i.e. between lOms and 10.25ms). Therefore, by differencing the autocorrelations at the two lags, the effect of the periodicities is reduced and the autocorrelation peaks caused by the two echoes add constructively.
Figures 3a and 3b are impulse plots showing the two half symbols and the artificial echoes 23 that are added within each half symbol period to represent a binary "1" and a binary "0" respectively. Figures 3a and 3b also illustrate natural echoes 25-1 and 25-2 which do not change from one half period to the next. Therefore, by subtracting the echoes in one half of the symbol period from the corresponding echoes (i.e. those with the same lag or delay) in the other half of the symbol period, the effect of the natural echoes and periodicities will cancel, whilst the artificial echoes will add constructively, thereby making it easier to detect the hidden data.
The above description provides an overview of the encoding and decoding techniques used in the present embodiment. A more detailed description will now be given of the main components of the transmitter I and receiver 5 to carry out the encoding and decoding processes described above.
FEC encoder Figure 4 is a block diagram illustrating the main components of the FEC encoder module 7 used in this embodiment. As shown, the first encoding module is a Reed-Solomon encoder module 51 which uses a shortened (13, 6) block code to represent the input data. The data output from the Reed-Solomon encoder 51 is then passed to a convolutional encoder 53 which performs convolutional encoding on the data. The data bits output from the convolutional encoder 53 are then interleaved with each other by a data interleaving module 55 to protect against errors occurring in bursts. Finally, a synchronisation data adder module 57 adds a sequence of synchronisation bits that will help the receiver 5 lock on to the encoded data within the received acoustic signal 3.
The output from the synchronisation data adder module 57 represents the message data which is then passed to the echo generation and shaping module 9 shown in Figure 1.
Echo generation and shaping Figure 5 is a block diagram illustrating the main components of the echo generation and shaping module 9 and the combiner module 11 shown in Figure 1. The input audio signal is represented by the sequence of audio samples a(n) which are applied to a 10 millisecond delay unit 61 and to the adder 63 (corresponding to the combiner 11 shown in Figure 1). The 10 millisecond delay unit 61 delays the input sample a(n) by 10 milliseconds which it then outputs to a 0.25 millisecond delay unit 65 and to a subtractor 67. The 0.25 millisecond delay unit 65 delays the audio sample output from the 10 millisecond delay unit 61 by a further 0.25 milliseconds which it then outputs to the subtractor 67. The subtractor 67 subtracts the 10.25 millisecond delayed sample from the 10 millisecond delayed sample outputting the result to a multiplier 69. The delay units and the subtractor operate each time a new audio sample a(n) arrives. In this embodiment, the audio sample frequency is one of 8kHz, 32kHz, 44.1kHz or 48kHz.
Therefore, as those skilled in the art will appreciate, the 10 millisecond delay unit 61, the 0.25 millisecond delay unit 65 and the subtractor 67 will generate the two echoes 23-1 and 23-2 illustrated in Figure 2. At this stage, however, the echoes that have been generated do not depend on the data to be transmitted. As will be explained below, this dependency is achieved by multiplying the echoes in the multiplier 69 with a modulation function g(n) that is output by a lookup table 71 which is addressed by lookup table address logic 73 in response to the current message data value. In particular, the lookup table output g(n) changes the polarity of the echoes in dependence upon the message data so that the echoes with the modulated polarities can then be added back to the original audio signal by the adder 63 to generated the echo-modulated audio output signal.
Lookup table output g(n) The inventors have found that abrupt changes in the echoes that are added can make the echoes more obtrusive to users in the vicinity of the loudspeaker 19. Therefore, the lookup table output g(n) is gradually increased and decreased so that the echoes are effectively faded in and out.
Additionally, in this embodiment, the lookup table output g(n) also performs the above described Manchester encoding of the message data. The way in which this is achieved will now be explained with reference to Figure 6. In particular, Figure 6a is a plot illustrating the way in which the lookup table output g(n) varies over one symbol period, when the bit value of the message data is a binary "1". In this embodiment, the symbol period is lOOms. As shown, during the first half of the symbol period, the function g(n) increases from zero to a maximum value and then decreases back to zero at the end of the first half of the symbol period. During the second half of the symbol period, the function g(n) is negative and increases in magnitude to a maximum negative value and then decreases back to zero. As can be seen from Figure 6a, in this embodiment, the gradual increasing and decreasing of the lookup table output g(n) is achieved by using a sinusoidal function. Therefore, during the first half of the symbol, the combined echoes output from the subtractor 67 will be multiplied by a positive value and so their polarity will not be changed when they are multiplied by g(n) in the multiplier 69. On the other hand, during the second half of the symbol period the lockup table output g(n) is negative and therefore, the polarities of the echoes output from the subtractor 67 will be reversed when the echoes are multiplied by g(n) in the multiplier 69.
As mentioned above, the artificial echoes 23 that are generated and added to the audio signal have an amplitude which is approximately a third that of the audio signal. In this embodiment, the amplitude of the echoes is controlled by the output of the lookup table g(n). As shown in Figure 6a, the peak amplitude of the lookup table output g(n) is a third, which means that the maximum amplitude of the echoes which are added to the audio signal will be a third of the amplitude of the original audio signal.
As shown in Figure 6b, when the message data is a binary value "0" the lookup table output g(n) is inverted compared with when the message data has a binary value of "1".
Therefore, during the first half symbol period, the polarity of the echoes output from the subtractor 67 will be reversed when they are multiplied by g(n) in the multiplier 69 and during the second half of the symbol period the polarities of the echoes output by the subtractor 67 will not be inverted when they are multiplied by g(n) in the multiplier 69.
Figure 6c illustrates the lookup table output g(n) over two symbol periods when the message data to be transmitted is a binary "1" followed by another binary "1". As shown in Figure 6c, in this case, the tookup table output g(n) is a simple repeat of the output illustrated in Figure 6a. Similarly, if successive values of the message data are binary "0's" then the lookup table output g(n) over the two symbol periods will be the inverse of that shown in Figure 6c.
However, If the message data transitions from a binary "1" to a binary "0" then instead of using a lookup table output function obtained by concatenating the functions shown in Figure 6a and Figure 6b, the function shown in Figure 6d is used instead. As can be seen in Figure 6d, when the lookup table output g(n) reaches its peak negative value in the first symbol period, it remains at that value until the peak would have occurred in the second symbol period before decreasing in magnitude back to zero. Similarly, when successive bits of the message data transition from a binary "0" to a binary "1", the lookup table output g(n) over the two symbol periods will be the inverse of that shown in Figure 6d. The inventors have found that not returning to the zero level in this way reduces the obtrusiveness of the echo modulation scheme that is used. This is because the human ear is more sensitive to changing echoes than to constant echoes.
As those skilled in the art will appreciate, the lookup table address logic 73 is responsible for analysing the successive bits of the message data and then to look up the appropriate part of the lookup table 71 so that the appropriate output function g(n) is applied to the multiplier 69.
Echo Detector Figure 7 is a part schematic and part block diagram illustrating the processing performed -14-by the echo detector 37. In particular, Figure 7 illustrates 100 milliseconds of an input signal 61 at the input of the echo detector 37. As those skilled in the art will appreciate, the input signal 61 is illustrated schematically as a continuous signal for ease of understanding but it will be a sampled and digitised waveform.
As illustrated by window i and window j, the echo detector 37 includes two sliding windows 63-1 and 63-2 which extract adjacent segments of the input audio signal 61-1 and 61-2, each of length 50 milliseconds. Therefore, the two windows 63 extract portions of the input acoustic signal 61 which correspond to the above-described half symbol periods. As shown in Figure 7, the extracted portion 61-1 of the input acoustic signal is input to a first autocorrelation unit 65-1 and the extracted portion 61-2 of the input audio signal is input to a second autocorrelation unit 65-2. Both autocorrelation units 65 operate to determine the autocorrelation of the corresponding portion 61-1 or 61-2 of the input acoustic signal at 10 millisecond and 10.25 millisecond lags. The determined autocorrelation values at lags 10.25 from autocorrelation units 65-1 and 65-2 are then input to a subtractor 67, that subtracts the autocorrelation value obtained from window j from the autocorrelation value obtained from window i (or vice versa). The result of this subtraction is then supplied to another subtractor 69. Similarly, the autocorrelation value at lag 10 milliseconds from window i and the autocorretation value at lag 10 milliseconds from window j are output from the autocorrelation units 65 to the subtractor 71, that subtracts the autocorrelation value obtained from window j from the autocorrelation value obtained from window i (or vice versa) and feeds the result to the subtractor 69. The subtractor 69 then subtracts the output from subtractor 67 from the output from subtractor 71 (or vice versa). Therefore, the output from the subtrator 69 is represented by the following equation: (A'(lO) -A' (10))-(A1 (10.25)-A(10.25)) As mentioned above, subtracting the autocorrelation values of one half symbol period from the corresponding autocorrelation values of the other half symbol period can reduce the effect of natural echoes in the input acoustic signal 61. This is because natural echoes are unlikely to change from one half symbol period to the next and so their effect -15-will be constant in the autocorrelations that are calculated. Consequently, performing this subtraction will remove this common effect. Likewise, subtracting the autocorrelation values obtained from each half symbol period will reduce the effect of periodicities in the original audio signal. This is because in the 025ms delay between the first echo and the second echo in the half symbol period, the effect of the periodicities on the autocorrelations will be approximately constant and so this subtraction will remove this common effect. This will now be described in more detail with reference to Figure 8.
Figure 8a shows an autocorrelation plot 81 obtained from a typical audio signal without any artificial echoes. As shown, the autocorrelation plot 81 has a peak at zero lag.
However, because of periodicities in the audio signal and because of natural echoes, the autocorrelation plot 81 does not tail off towards zero until about 15 milliseconds after the initial peak and exhibits local peaks and troughs in between. Peak 82 illustrates such a local peak that may occur as a result of a natural echo being added to the audio signal.
Figure 8b illustrates an autocorrelation plot 83 for the same audio signal after a positive echo has been added at a lag of 10 milliseconds and a negative echo has been added at a lag of 12 milliseconds (rather than at 10.25 ms so that the two echoes can be seen more clearly). As shown in Figure 8b, as a result of the artificial echoes, the autocorrelation plot 83 includes a peak 85 at 10 milliseconds and a peak 87 at 12 milliseconds. However, the peak 85 is masked somewhat by the earlier peak 82 caused by a natural echo.
Figure 8c illustrates the autocorrelation plot 89 for the audio signal after the echoes have been added in the second half of the symbol period. As shown, the autocorrelation plot 89 includes a negative peak 91 at 10 milliseconds and a positive peak 93 at 12 milliseconds.
Finally, Figure 8d illustrates the autocorrelation plot that is obtained by subtracting the autocorrelation plot shown in Figure 8c from the autocorrelation plot shown in Figure 8b.
As can be seen, the common peaks in the autocorrelation plots shown in Figures 8b and 8c have been removed, whilst the complementary peaks 85 and 91; and 87 and 93 have -16-added together to create the combined peaks 95 and 97 respectively. As those skilled in the art will appreciate, it is therefore much easier to detect the peaks 95 and 97 because their values are much greater than the autocorrelation values at other lags. This effect is further enhanced by subtracting the autocorrelation value at 12 milliseconds from the autocorrelation value at 10 milliseconds. This will effectively add the two peaks 95 and 97 together to provide an even larger peak, which can then be detected by suitable thresholding. The value of the corresponding data value can then be determined from the polarity of the combined peak.
As those skilled in the art will appreciate, in this embodiment, the echo detector 37 does not calculate the autocorrelation of the input signal over all lags. It only calculates the autocorrelation values at the lags where the artificial echoes have been added. The plots shown in Figure 8 show the autocorrelation values over lags from 0 to 15 milliseconds.
These plots therefore help to illustrate the effect of natural echoes and periodicities in the audio signal which can mask the artificial echoes that are added to encode the data.
Synchronisation In this embodiment, the receiver 5 knows the duration of each half symbol period. This defines the length of the windows 63-1 and 63-2 used in the echo detector 37. However, the echo detector 37 initially will not be synchronised with the transmitted data. In other words, the echo detector 37 does not know where each symbol period begins and ends or where the start of the message is located. Therefore, in this embodiment, the echo detector 37 performs the above analysis as each new sample is received from the analogue to the digital converter 35. The output from the ubtractor 69 is then analysed by the data recovery module 39 to determine the most likely symbol boundaries. The data recovery module then determines the location of the start of the message by finding the synchronisation bits that were added by the synchronisation data adder 57. At this point, the data recovery unit 39 can start to recover the whole message from the polarity of the autocorrelation values output from the subtractor 69.
Once synchronisation has been achieved, the echo detector 37 will typically determine the autocorrelation measurements in the middle of each half symbol period, when the -17-echo is expected to be at its peak amplitude and the data recovery module 39 will determine the bit value from the polarity of the output from the subtractor 69. The echo detector 37 may also take measurements just before and just after the middle of each half symbol period, to allow the data recovery module 39 to track the synchronisation.
The message data recovered by the data recovery module 39 is then input to the FEC decoding module 41 where the message data is decoded (using the inverse processing of the FEC encoder 7) to obtain the original input data that was input to the encoder 7 of the transmitter 1.
Modifications and alternatives In the above embodiments, the data was hidden within an audio signal by employing a number of echoes whose polarity varied with the data value to be transmitted. These echoes were added to the original audio signal after appropriate delays. As those skilled in the art will appreciate, the echoes may be added before the original audio signal (pre-echoes), before and after the original audio signal or only after the original audio signal.
In the above embodiments, each data value was represented by four echoes -two echoes in each of two half symbol periods. As those skilled in the art will appreciate, each data value may be represented by any number of echoes in any number of sub-symbol periods. For example, instead of having two echoes within each half symbol period, each data value may be represented by a single echo in each half symbol period.
In this case, the echoes in each half symbol period would preferably be of opposite polarity so that the same differencing technique can be used to reduce the effects of natural echoes.
As those skilled in the art will appreciate, representing each data value by one or more echoes in different sub-symbol periods, means that the echoes in each sub-symbol period will be a repetition of a different portion of the audio signal. If there is only one symbol period, then each data value will be represented by echoes of the same (or substantially the same) portion of the audio signal. -18-
In the above embodiments, each data value was represented by a positive and a negative echo in a first half symbol period and by a positive and a negative echo in the second half symbol period. The positive and negative echoes in the first half symbol period allowed the receiver to reduce the effects of periodicities in the original audio signal which effect the autocorrelation measurements. The use of complementary echoes in adjacent half symbol periods allows the receiver to reduce the effect of natural echoes within the received audio signal, which might otherwise mask the artificial echoes added to represent the data. As those skilled in the art will appreciate, in other embodiments, neither or only one of these techniques may be used.
In the above embodiment, each data value was represented by echoes within two adjacent half symbol periods. As those skilled in the art will appreciate, these two half symbol periods do not have to be immediately adjacent to each other and a gap may be provided between the two periods if required.
In the above embodiment, the echoes in each half symbol period were of exactly the same portion of the audio signal. As those skilled in the art will appreciate, this is not essential. The echoes in each half symbol period may be of slightly different portions of the audio signal. For example, one echo may miss out some of the audio samples of the audio signal. Alternatively, the audio signal may include different channels (for example left and right channels for a stereo signal) and one echo may be formed from a repetition of the left channel and the other may be formed from a repetition of the right channel.
In the above embodiment, the echoes generated within the transmitter were added to the original audio signal. As those skilled in the art will appreciate, the generated echoes may be combined with the original audio signal in other ways. For example, the echoes may be subtracted from the audio signal. Similarly, instead of inverting the echoes to be added to the audio (by controlling the polarity of the function g(n)), the same result can be achieved by changing the way in which the echoes are combined with the audio signal. For example, one echo may be added to the original audio signal whilst the next echo may be subtracted from the audio signal. -19-
In the above embodiment, the lookup table stored values for g(n) corresponding to one or two bits of the message data (as illustrated in Figure 6). As those skitled in the art will appreciate, this is not essential. For example, the lookup table could simply store a function which increased in value and then decreased in value. Additional circuitry could then be provided to convert the polarity of this output as appropriate for the two half symbol periods. In this way, the function stored in the lookup table would only control the fading in and out of the echo and the additional circuitry would control the polarity of the echo as required.
In the above embodiment, the Manchester encoding was performed by the echo generation and shaping module. As those skilled in the art will appreciate, this Manchester encoding, if performed, may be performed within the FEC encoding module.
As those skilled in the art will appreciate, the techniques described above for hiding data within the audio may be done in advance of the transmission of the acoustic signal or it may be done in real time. Even in the case where the data is to be embedded within an audio signal in real time, some of the processing can be done in advance. For example, the FEC encoding may be performed on the data in advance so that only the echo generation and echo shaping is performed in real time.
In the above embodiments, specific examples have been given of sample rates for the audio signal and symbol rates for the data that is hidden within the audio signal. As those skilled in the art will appreciate, these rates are not intended to be limiting and they may be varied as required. However, in order to keep the obtrusiveness of the added echoes to a minimum, the data rate of the encoded data is preferably kept between one and twenty symbols per second. This corresponds to a symbol period of between 5Oms and is.
In the above embodiment, the data rate of the data added to the audio signal in the transmifter was constant and was known by the receiver. This knowledge reduces the complexity of the receiver circuitry for locking on to the data within the received signal.
However, it is not essential to the invention and more complex circuitry may be provided -20 -in the receiver to allow the receiver to try different data rates until the actual data rate is determined. Similarly, the receiver may use other techniques to synchronise itself with the transmitted data so that it knows where the symbol boundaries are in advance of receiving the data.
In the above embodiment, FEC encoding techniques were used to allow the receiver to be able to correct errors in the received data. As those skilled in the art will appreciate, such encoding techniques are not essential to the invention. However, they are preferred, as they help to correct errors that occur in the transmission process over the acoustic link.
In the above embodiments, the peak amplitudes of the echoes were all the same and were independent of the data value being transmitted. As those skilled in the art will appreciate, the peak amplitudes of the echoes may also be varied if desired.
In the above embodiment, the echoes in each half symbol period were at the same delays relative to the original audio signal. As those skilled in the art will appreciate, this is not essential. There may be some variation in the actual delay values used within each half symbol period.
In the above embodiment, the second echo within each half symbol period was generated by delaying the first echo by a further delay value. In an alternative embodiment, each echo within each sub-symbol period may be independently generated from the original audio signal using an appropriate delay line.
As those skilled in the art will appreciate, various uses can be made of the above communication system. For example, the encoded data may be used as a watermark to protect the original audio signal. Alternatively, the embedded data may be used to control the receiver so that it can respond in synchronism with the audio signal. The data may be used for interactive gaming applications, audience surveying, e-comnierce systems, toys and the like. The reader is referred to the Applicant's earlier International application W002/45273 which describes a number of uses for this type of data hiding system.
In the above embodiment, the receiver performed autocorrelation measurements on the input audio signal in order to identify the locations of the echoes. As those skilled in the art will appreciate, other techniques can be used to identify the echoes. Some of these other techniques are described in the Applicant's earlier PCT application PCTIGB2008IOO182O and in US 5893067, the contents of which are incorporated herein by reference. Typically, although not necessarily, the techniques involve some form of autocorrelation of the original audio signal or of parameters obtained from the audio signal (eg LPC parameters, cepstrum parameters etc). As an alternative, a best fit approach could be used in which an expected audio signal (with different echo polarities) is fitted to the actual signal until a match is found and the polarity of the echoes thus determined.
In the embodiment described above, a single transmitter was provided together with a receiver. As those skilled in the art will appreciate, multiple transmitters and/or multiple receivers may be provided. Further, the components of the transmitter may be distributed among a number of different entities. For example, the encoding and data hiding part of the transmitter may be provided within a head end of a television distribution system and the loudspeaker 19 may be a speaker of the user's television set.
In the above embodiments, the echoes were directly derived from the original audio signal. In alternative embodiments, the echo may not include all frequency components of the audio signal. For example, one or more of the echoes may be generated from a portion of the audio signal after it has been filtered to remove certain frequencies. This may be beneficial where it is found, for example, that there is additional noise in the low frequency part of the echoes but not in the higher frequency part. In this case, the received signals would also be filtered to remove the lower frequency components so that only the higher frequency components of the audio signal and the echoes would be present in the signals being analysed.
In the above embodiment, the echoes were obtained by delaying digital samples of the -22 -audio signal. As those skilled in the art will appreciate, the echoes may be generated in the analogue domain, using suitable analogue delay lines and analogue circuits to perform the echo shaping and polarity modulation.
In the above embodiments, the audio signal with the embedded data was transmitted to a receiver over an acoustic link. In an alternative embodiment, the audio signal may be transmitted to the receiver over an electrical wire or wireless link. In such an embodiment, the data rates that are used may be higher, due to lower noise evels.
In the above embodiment, one data bit was transmitted within each symbol period. In an alternative embodiment, multiple bits may be transmitted within each symbol period. For example a second pair of echoes may be added at lags of 20 ms and 20.25 ms within each half symbol period to encode a second bit; a third pair of echoes may be added at lags of 30 ms and 30.25 ms within each half symbol period to encode a third bit etc. Each echo could then be faded in and out during each half symbol period and polarity modulated in accordance with the bit value as before. The fading in and out of the echoes for the different bits may be the same or it may be different for the different bits.
The polarity modulation of the different echoes will of course depend on the different bit values to be transmitted in the symbol period. This technique will increase the bit rate of data transmission between the transmitter and receiver. The additional bits may be of the same message or they may be bits of different messages.
In the above embodiments, a number of processing modules and circuits have been described. As those skilled in the art will appreciate, these processing modules and circuits may be provided as hardware circuits or as software modules running within memory of a general purpose processor. In this case, the software may be provided on a storage medium such as a CD-ROM or it may be downloaded into an appropriate programmable device on a carrier signal over a computer network, such as the internet.
The software may be provided in compiled form, partially compiled form or in un-compiled form.
Claims (46)
- -23 -Claims 1. A method of embedding a data value in an audio signal, the method comprising: receiving the audio signal; generating an echo of at least a portion of the received audio signal which varies in dependence upon the data value; and embedding the data value in the audio signal by combining the received audio signal with the generated echo; wherein said generating step generates an echo whose polarity varies in dependence upon the data value.
- 2. A method according to claim 1, wherein said generating step generates a first echo of at least a portion of the received audio signal and a second echo of at least a portion of the received audio signal, the first and second echoes having first and second polarities respectively, which polarities vary in dependence upon the data value; and wherein said embedding step embeds the data value in the audio signal by combining the received audio signal with the generated first and second echoes.
- 3. A method according to claim 2, wherein each of said echoes is generated by repeating at least a part of said audio signal.
- 4. A method according to claim 2, wherein said first echo is generated by repeating a first portion of said audio signal and said second echo is generated by repeating a second portion of said audio signal.
- 5. A method according to claim 2, wherein said first and second echoes are generated by repeating substantially the same first portion of the audio signal.
- 6. A method according to claim 5, further comprising generating third and fourth echoes, the third echo having the same polarity as said second echo and the fourth echo having the same polarity as said first echo and wherein the third and fourth echoes are generated by repeating substantially the same second portion of the audio signal which is -24 -different to the first portion repeated by the first and second echoes.
- 7. A method according to claim 6, wherein said second portion is adjacent the first portion.
- 8. A method according to claim 6 or 7, wherein said first echo is combined with said audio signal at a first delay relative to said first portion of the audio signal; said second echo is combined with the audio signal at a second delay relative to said first echo; said third echo is combined with said audio signal at a third delay relative to said second portion of the audio signal; and said fourth echo is combined with the audio signal at a fourth delay relative to said third echo.
- 9. A method according to claim 8, wherein said first delay is equal to said third delay and/or said second delay is equal to said fourth delay.
- 10. A method according to claim 8 or 9, wherein said delays are independent of said data value.
- 11. A method according to any of claims 8 to 10, wherein said first and third delays are between 0.5 ms and 100 ms and wherein said second and fourth delays are spaced from said first and third echoes respectively by between 0.125 ms and 3 ms.
- 12. A method according to any of claims 6 to 11, wherein said first and second portions of the audio signal are between 20 ms and 500 ms.
- 13. A method according to any of claims 6 to 12, wherein said generating step generates said third and fourth echoes by inverting the polarity of a gain factor applied to the echoes before being combined with the audio signal.
- 14. A method according to any of claims 2 to 13, wherein said first echo has an opposite polarity to said second echo.-25 -
- 15. A method according to any preceding claim, wherein the or each echo has an amplitude that is less than the amplitude of said audio signal.
- 16. A method according to any preceding claim, wherein the amplitude of the or each echo is independent of said data value.
- 17. A method according to any preceding claim, wherein the or each echo is faded in and out to reduce obtrusiveness of the echoes to a listener.
- 18. A method according to any preceding claim, wherein said audio signal is received as a stream of samples and wherein the or each echo is generated by passing the stream of audio samples through a delay line.
- 19. A method according to any preceding claim, wherein said combining step combines the or each echo with the audio signal by adding and/or subtracting each echo to/from the audio signal.
- 20. A computer executable instructions product comprising computer implementable instructions for causing a programmable computer device to carry out the method of any ofclaimsl to 19.
- 21. An apparatus for embedding a data value in an audio signal, the apparatus comprising: an input for receiving the audio signal; an echo generator operable to generate an echo of at least a portion of the received audio signal, which echo varies in dependence upon the data value; and a combiner operable to combine the received audio signal with the generated first and second echoes to embed the data value in the audio signal; wherein said echo generator is operable to generate an echo whose polarity varies with the data value.
- 22. An apparatus according to claim 21, operable to perform the method of any of -26 -claims 2 to 19.
- 23. A method of recovering a data value embedded in an audio signal, the method comprising: receiving an input signal having the audio signal and an echo of the audio signal whose polarity depends upon said data value; processing the received input signal to determine the polarity of the echo; and recovering the data value from the determined polarity.
- 24. A method according to claim 23, wherein said input signal comprises a first echo of at least a portion of the audio signal and a second echo of at least a portion of the audio signal, the first and second echoes having first and second polarities respectively, which polarities vary in dependence upon the data value; and wherein said processing step processes said input signal to combine said first and second echoes and to determine the polarity of the combined echoes and wherein said recovering step recovers the data value from the determined polarity of the combined echoes.
- 25. A method according to claim 24, wherein said processing step processes said input signal to determine a first measure that depends upon the first echo and a second measure that depends upon the second echo and combines the echoes by differencing the first and second measures and determines the polarity of the combined echoes by determining the polarity of the result of the differencing step.
- 26. A method according to claim 24 or 25, wherein said first echo is of a first portion of the audio signal and said second echo is of a second portion of the audio signal.
- 27. A method according to claim 24 or 25, wherein said first and second echoes are repeats of substantially the same portion of the audio signal.
- 28. A method according to claim 23, wherein said input signal comprises first, second, third and fourth echoes, the first and fourth echoes having the same polarity and the second and third echoes having the same polarity which is opposite to the polarity of the -27 -first and fourth echoes, wherein said processing step processes the input signal to combine said first to fourth echoes and to determine the polarity of the combined echoes and wherein said recovering step recovers the data value from the determined polarity of the combined echoes.
- 29. A method according to claim 28, wherein said processing step processes said input signal to determine a first measure that depends upon the first echo, a second measure that depends upon the second echo, a third measure that depends upon the third echo and a fourth measure that depends upon the fourth echo and combines the echoes by differencing the measures and determines the polarity of the combined echoes by determining the polarity of a result of the differencing step.
- 30. A method according to claim 29, wherein said differencing step performs a first difference of the first and third measures and performs a second difference of the second and fourth measures.
- 31. A method according to claim 30, wherein said differencing step performs a third difference of the result of said first difference and the result of the second difference and wherein the polarity of the combined echoes is determined from the polarity of a result of the third difference.
- 32. A method according to any of claims 28 to 31, wherein the first and second echoes are repeats of substantially the same first portion of the audio signal and said third and fourth echoes are repeats of substantially the same second portion of the audio signal.
- 33. A method according to any of claims 28 to 31, wherein the first and third echoes are repeats of substantially the same first portion of the audio signal and said second and fourth echoes are repeats of substantially the same second portion of the audio signal.
- 34. A method according to claim 32 or 33, wherein said second portion is adjacent the -28 -first portion.
- 35. A method according to claim 32, wherein said first echo is delayed relative to said first portion of the audio signal by a first delay; said second echo is delayed relative to said first echo by a second delay; said third echo is delayed relative to said second portion of the audio signal by a third delay; and said fourth echo is delayed relative to said third echo by a fourth delay.
- 36. A method according to claim 35, wherein said first delay is equal to said third delay and/or said second delay is equal to said fourth delay.
- 37. A method according to claim 35 or 36, wherein said first and third delays are between 0.5 ms and 100 ms and wherein said second and fourth delays are delayed relative to said first and third echoes respectively by between 0.125 ms and 3ms.
- 38. A method according to claim 32, wherein said first echo is delayed relative to said first portion of the audio signal by a first delay; said second echo is delayed relative to said second portion of the audio signal by a second delay; said third echo is delayed relative to said first echo by a third delay; and said fourth echo is delayed relative to said second echo by a fourth delay.
- 39. A method according to any of claims 35 to 38, wherein said delays are independent of said data value.
- 40. A method according to any of claims 32 to 39, wherein said first and second portions of the audio signal are between 20 ms and 500 ms.
- 41. A method according to any of claims 24 to 40, wherein said first echo has an opposite. polarity to said second echo.
- 42. A method according to any of claims 23 to 41, wherein the or each echo is faded in and out to reduce obtrusiveness of the echoes to a listener.-29 -
- 43. A method according to claim 42, wherein the polarity of the echo is determined when the amplitude of the echo is at or near a maximum.
- 44. A computer implementable instructions product comprising computer implementable instructions for causing a programmable computer device to carry out the method of any of claims 23 to 43.
- 45. An apparatus for recovering a data value embedded in an audio signal, the apparatus comprising: an input that receives an input signal having the audio signal and an echo of the audio signal whose polarity depends upon said data value; a processor operable to process the input signal to determine the polarity of the echo; and a data regenerator operable to recover the data value from the determined polarity.
- 46. An apparatus according to claim 45, operable to perform the method of any of claims 24 to 43.
Priority Applications (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0814041A GB2462588A (en) | 2008-04-29 | 2008-07-31 | Data embedding system |
GB0821841.4A GB2460306B (en) | 2008-05-29 | 2008-11-28 | Data embedding system |
BRPI0913228-7A BRPI0913228B1 (en) | 2008-05-29 | 2009-05-29 | METHOD OF RECOVERING A MESSAGE OF DATA INCORPORATED IN AN AUDIO SIGNAL AND RECEIVING APPARATUS |
US12/994,716 US20110125508A1 (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
CN2009801192275A CN102047324A (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
DK13168796.4T DK2631904T3 (en) | 2008-05-29 | 2009-05-29 | Recovery of a data message built into an audio signal |
EP13168796.4A EP2631904B1 (en) | 2008-05-29 | 2009-05-29 | Recovery of a data message embedded in an audio signal |
PL13168796T PL2631904T3 (en) | 2008-05-29 | 2009-05-29 | Recovery of a data message embedded in an audio signal |
ES13168796.4T ES2545058T3 (en) | 2008-05-29 | 2009-05-29 | Retrieving a data message included in an audio signal |
MX2010013076A MX2010013076A (en) | 2008-05-29 | 2009-05-29 | Data embedding system. |
EP09754115A EP2301018A1 (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
JP2011511088A JP2011523091A (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
PCT/GB2009/001354 WO2009144470A1 (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
CN201210335495.4A CN102881290B (en) | 2008-05-29 | 2009-05-29 | Method and device for recovering data information embedded in audio signal |
EP10197316A EP2325839A1 (en) | 2008-05-29 | 2009-05-29 | Data embedding system |
US13/232,190 US8560913B2 (en) | 2008-05-29 | 2011-09-14 | Data embedding system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2008000001 | 2008-04-29 | ||
GB0814041A GB2462588A (en) | 2008-04-29 | 2008-07-31 | Data embedding system |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0814041D0 GB0814041D0 (en) | 2008-09-10 |
GB2462588A true GB2462588A (en) | 2010-02-17 |
Family
ID=56291076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0814041A Withdrawn GB2462588A (en) | 2008-04-29 | 2008-07-31 | Data embedding system |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2462588A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2386526A (en) * | 2002-03-11 | 2003-09-17 | Univ Tohoku | Digital watermark system |
EP1542227A1 (en) * | 2003-12-11 | 2005-06-15 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for transmitting watermark data bits using a spread spectrum, and for regaining watermark data bits embedded in a spread spectrum |
WO2005122640A1 (en) * | 2004-06-08 | 2005-12-22 | Koninklijke Philips Electronics N.V. | Coding reverberant sound signals |
-
2008
- 2008-07-31 GB GB0814041A patent/GB2462588A/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2386526A (en) * | 2002-03-11 | 2003-09-17 | Univ Tohoku | Digital watermark system |
EP1542227A1 (en) * | 2003-12-11 | 2005-06-15 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for transmitting watermark data bits using a spread spectrum, and for regaining watermark data bits embedded in a spread spectrum |
WO2005122640A1 (en) * | 2004-06-08 | 2005-12-22 | Koninklijke Philips Electronics N.V. | Coding reverberant sound signals |
Also Published As
Publication number | Publication date |
---|---|
GB0814041D0 (en) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2631904B1 (en) | Recovery of a data message embedded in an audio signal | |
US7505823B1 (en) | Acoustic communication system | |
JP4398416B2 (en) | Modulation device, modulation method, demodulation device, and demodulation method | |
KR101355297B1 (en) | Method and apparatus for correlating two data sections | |
JP2007104598A5 (en) | ||
JP5199388B2 (en) | Method and apparatus for compensating for DC offset in a communication system | |
US11244692B2 (en) | Audio watermarking via correlation modification using an amplitude and a magnitude modification based on watermark data and to reduce distortion | |
US9831968B2 (en) | Digital switching signal sequence for switching purposes, apparatus for including said digital switching signal sequence in a digital audio information signal, and apparatus for receiving the information signal provided with the switching signal sequence | |
GB2462588A (en) | Data embedding system | |
JP4398494B2 (en) | Modulation apparatus and modulation method | |
JP2011205359A (en) | Echo canceler and voice processing system | |
JP5532900B2 (en) | Information transmission device using sound | |
JP2010081248A (en) | Modulation apparatus, demodulation apparatus, communication system, and communication method | |
JP2009296617A (en) | Modulation apparatus, modulation method, demodulation apparatus, and demodulation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |