Multi-band spectral audio encoding
First Claim
1. A system for adding an interference-resistant, inaudible code to an audio signal comprising:
- a sampler arranged to sample the audio signal at a sampling rate and to generate therefrom a plurality of short blocks of sampled audio, each of the short blocks having a duration less than a minimum audibly perceivable signal delay;
a processor arranged to combine the plurality of short blocks into a long block having a predetermined minimum duration;
a frequency transformation arranged to transform the long block into a frequency domain signal comprising a plurality of independently modulatable frequency indices, wherein a frequency difference between two adjacent ones of the indices is determined by the minimum duration and the sampling rate;
a frequency selector arranged to select a neighborhood of frequency indices so that the frequency difference between a lowest index and a highest index within the neighborhood is less than a predetermined value; and
, an encoder arranged to modulate two or more of the indices in the neighborhood so as to make a selected one of the indices an extremum while keeping the total energy of the neighborhood constant.
3 Assignments
0 Petitions
Accused Products
Abstract
An encoder includes a sampler that samples an audio signal and that generates from the samples a plurality of short blocks of sampled audio. Each of the short blocks has a duration less than a minimum audibly perceivable signal delay. A processor combines the plurality of short blocks into a long block. The long block is transformed into a frequency domain signal having a plurality of independently modulatable frequency indices. The frequency difference between adjacent indices is determined by the minimum duration and the sampling rate of the sampler. A neighborhood of frequency indices is selected so that the frequency difference between a lowest index and a highest index within the neighborhood is less than a predetermined value. Two or more of the indices are modulated in the neighborhood so as to make a selected one of the indices an extremum while keeping the total energy of the neighborhood constant. A plurality of frequency bands are so coded. A decoder decides that a bit or bits have been received if, in a majority of the frequency bands, the decoder detects a modulated index.
148 Citations
33 Claims
-
1. A system for adding an interference-resistant, inaudible code to an audio signal comprising:
-
a sampler arranged to sample the audio signal at a sampling rate and to generate therefrom a plurality of short blocks of sampled audio, each of the short blocks having a duration less than a minimum audibly perceivable signal delay;
a processor arranged to combine the plurality of short blocks into a long block having a predetermined minimum duration;
a frequency transformation arranged to transform the long block into a frequency domain signal comprising a plurality of independently modulatable frequency indices, wherein a frequency difference between two adjacent ones of the indices is determined by the minimum duration and the sampling rate;
a frequency selector arranged to select a neighborhood of frequency indices so that the frequency difference between a lowest index and a highest index within the neighborhood is less than a predetermined value; and
,an encoder arranged to modulate two or more of the indices in the neighborhood so as to make a selected one of the indices an extremum while keeping the total energy of the neighborhood constant. - View Dependent Claims (2, 3, 4)
-
-
5. A method of adding a code to a frequency band of a sampled audio portion of a composite signal without thereby introducing a perceptible delay between the encoded audio portion and another portion of the composite signal, the method comprising the steps of:
-
a) selecting a sampling rate and a frequency difference between adjacent ones of a predetermined number of frequency indices included in a frequency neighborhood;
b) determining from the sampling rate and from the frequency difference a duration of a block of samples;
c) determining an integral number of sequential sub-blocks to make up the block, where the integral number is selected so that each of the sub-blocks has a sub-block duration less than the perceptible delay; and
,d) processing the block so as to modulate a selected one of the frequency indices without changing a total signal energy of the band. - View Dependent Claims (6, 7)
-
-
8. Apparatus for reading a code from an audio signal, the code comprising a sequence of blocks having a predetermined number of samples of the audio signal, the code comprising a synchronization block followed by a predetermined number of data blocks, the apparatus comprising:
-
a buffer memory arranged to hold one of the blocks;
a frequency transformation arranged to transform the one block into spectral data spanning a predetermined number of frequency bands, wherein each of the frequency bands comprises a respective neighborhood of frequency indices;
a processor arranged to determine, for each of the neighborhoods, if a respective predetermined one of the frequency indices is modulated; and
,a vote determiner arranged to determine that the one block is the synchronization block if, in a majority of the frequency bands, the respective modulated frequency index is a respective index selected for inclusion in the synchronization block;
wherein the processor is further arranged to determine if, in one of the data blocks received subsequent to the synchronization block, a respective predetermined one of the frequency indices is modulated;
wherein the vote determiner is further arranged to determine if, in a majority of the frequency bands, the respective modulated frequency index is a respective index selected for inclusion in the one data block. - View Dependent Claims (9, 10, 11)
-
-
12. A method of reading a code from an audio signal by sequentially transforming a sequence of blocks of audio samples into spectral data spanning a predetermined number of frequency bands, wherein each of the frequency bands comprises a predetermined number of frequency indices, wherein each of the blocks comprises a predetermined number of the samples, and wherein the code comprises a synchronization block followed by a predetermined number of data blocks, the method comprising the steps of:
-
a) determining, in each of the frequency bands of one of the blocks of audio samples, if one of the frequency indices is modulated;
b) comparing each modulated frequency index found in step a) with that index selected for modulation in the respective frequency band of the synchronization block;
c) determining that the one block is the synchronization block if the majority of the comparisons made in step b) result in a match, and otherwise repeating steps a) through b);
d) determining, in each of the frequency bands of one of the data blocks received subsequent to the synchronization block, if a respective one of the frequency indices is modulated; and
,e) comparing the respective modulated frequency indices found in step d) with ones of a plurality of predetermined index patterns, each of the index patterns uniquely associated with a respective code bit, and reading the code bit only if the majority of modulated indices match the predetermined index pattern. - View Dependent Claims (13, 14)
-
-
15. A system for adding an inaudible code to a tone-like audio portion of a composite signal having two or more portions, the system comprising:
-
a sampling apparatus arranged to sample audio at a sampling rate and to generate therefrom a plurality of short blocks of sampled audio, each of the short blocks having a duration less than a minimum audibly perceptible signal delay;
a processor arranged to combine the plurality of short blocks into a long block having a predetermined minimum duration;
a frequency transformation arranged to transform the long block into a frequency domain signal comprising a plurality of independently modulatable frequency indices located in a plurality of frequency bands;
an encoder arranged to modulate two or more of the indices in each of the frequency bands so as to make a respective selected one of the indices an extremum while keeping a total acoustic energy of the audio constant;
a signal analyzer arranged to determine if the tone-like audio portion has a tone-like character within any one of the predetermined number of neighborhoods; and
,an encoder suspender arranged to suspend the encoding of the encoder within any neighborhood in which the tone-like audio portion has a tone-like character. - View Dependent Claims (16, 17, 18)
-
-
19. A method for adding an inaudible code to at least one of a predetermined number of frequency neighborhoods within a tone-like audio portion of a composite signal having one or more additional portions, the method comprising the steps of:
-
a) sampling the audio portion and generating from the sampled signal a plurality of short blocks, each of the short blocks having a duration less than a minimum audibly perceptible signal delay;
b) combining the plurality of short blocks into a long block having a predetermined minimum duration;
c) transforming the long block into a frequency domain signal comprising a plurality of independently modulatable frequency indices;
d) identifying those neighborhoods, if any, of the predetermined number of frequency neighborhoods in which the tone-like audio portion has a tone-like character; and
,e) modulating a respective index in each neighborhood not identified in step d) so as to make a selected index in such neighborhood an extremum while keeping the total acoustic energy of the audio portion constant, and not modulating an index in any of those neighborhoods identified in step d). - View Dependent Claims (20, 21, 22)
-
-
23. A broadcast audience measurement system in which an inaudible code added to an audio signal is read by a decoding apparatus located within a statistically sampled dwelling, the system comprising:
-
an encoder arranged to add a predetermined code bit to each of a predetermined number of odd frequency bands within a bandwidth of the audio signal;
a receiver within the dwelling arranged to receive the encoded audio portion; and
,a decoder having an input from the receiver, the decoder arranged to acquire a respective test value of the code bit from each of the frequency bands, to compare the test values, to determine that one of the test values is the code bit only if that test value is acquired from a majority of the frequency bands, and to otherwise determine that no code bit has been read. - View Dependent Claims (24, 25, 26)
-
-
27. A broadcast audience measurement system in which an inaudible code added to an audio signal is read within a statistically sampled dwelling unit, the system comprising:
-
an encoding apparatus arranged to add a code bit to a sampled long block of the audio signal, the long block comprising a predetermined number of short blocks, each of the short blocks having a predetermined duration that is selected to be short enough not to be perceptible to a member of a broadcast audience, the encoding apparatus being further arranged to modulate a selected frequency index in each of a plurality of frequency neighborhoods so as to make each selected index an extremum in the respective neighborhood thereof while keeping a total energy of the audio signal constant;
a receiver within the dwelling, the receiver being arranged to acquire the encoded audio signal; and
,a decoder arranged to read the code from the audio signal, the decoder having an input from the receiver, the decoder comprising a buffer memory arranged to store one of the short blocks, the buffer memory being arranged to store a long block. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A method of encoding an audio signal comprising the following steps:
-
a) generating a plurality of short blocks from the audio signal, wherein each of the short blocks has a duration less than a minimum audibly perceivable signal delay;
b) combining the plurality of short blocks into a long block;
c) transforming the long block into a spectrum comprising a plurality of independently modulatable frequency indices; and
,d) modulating at least two of the indices so as to make one of the indices an extremum while keeping the total energy of a neighborhood of the modulated indices substantially constant.
-
-
33. A method of reading a code element from an audio signal comprising the following steps:
-
a) transforming at least a portion of the audio signal into spectral data spanning a predetermined number of frequency bands having a plurality of frequency neighborhoods;
b) determining, for each of the neighborhoods, if one of the frequency indices is modulated; and
,c) assigning a transmitted code value to the code element if, in a majority of the neighborhoods, the respective modulated frequency index is an index selected for inclusion in the audio signal.
-
Specification