EP0913952A2

Technique for embedding a code in an audio signal and for detecting the embedded code

Abstract

A code is embedded into an audio product so as to be processed therewith for recording and/or broadcast and yet be reliably detected while remaining inaudible to human perception. The code is represented by symbols formed from an impulse function having its energy within a specified frequency range. The audio product is analyzed to find segments which can mask the code based on tonality and a minimum signal energy. When the audio product with an embedded code is detected, decoding thereof involves finding candidate code signals which are checked against preset criteria. In particular, each symbol is made of at least two impulse functions with a preset spacing therebetween.

EP0913952A2, drawing sheet 1
Sheet 1 of 57

Term

Term ended

Projected expiry passed 10 July 2018, 8.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

52 claims: 23 independent, 29 dependent

  1. 1
    A method of embedding a digital code in a digitized audio product, comprising the steps of:filtering the digitized audio product to a frequency band of interest;determining a tonality indication for each of a plurality of segments of the filtered audio product which indicates the extent to which power is distributed uniformly for frequencies in at least a portion of said band of interest;and inserting at least a portion of the digital code into a particular segment from said plurality of segments only if said tonality indication indicates a relatively uniform power distribution in said particular segment.
  2. 5
    A method of embedding a digitized code in a digitized audio product, comprising the steps of:filtering the digitized audio product to a frequency band of interest;providing a coding signal derived from a band-limited impulse function with a waveform having its energy confined to and evenly spread across at least a portion of said frequency band of interest;deriving said digitized code from said coding signal;and embedding said digitized code into said audio product.
  3. 10
    A method of providing a digitized code to be embedded in a digitized audio product, comprising the steps of:providing said digitized code as a series of binary bits;dividing said binary bits into groups, each group having a plurality of bits;providing coding signals to represent said bits, respectively;deriving a symbol from said coding signals for each of said groups, each symbol having a plurality of said coding signals with a preset spacing therebetween.
  4. 15
    A method of encoding and decoding a digitized code embedded in a digitized audio product, comprising the steps of:deriving said digitized code in a form of start, data and end symbol types, each symbol representing a plurality of bits, and each bit being associated with a coding signal of given polarity;generating said start type of symbol to consist of a plurality of said coding signals all of which have the same designated polarity;embedding said digitized code in said digitized audio product;detecting said digitized code embedded in said audio product;and decoding said detected digitized code by determining whether the polarity of the coding signals on said start type of symbol is said designated polarity and, if not, inverting the polarity of said coding signals in said data and end types of symbols.
  5. 16
    A method of embedding a digitized code in a digitized audio product, comprising the steps of:identifying segments of the digitized audio product into which the digitized code can be embedded based on predetermined criteria;generating portions of the digitized code for insertion into said segments, respectively;removing the digitized audio product within said identified segments except for a predetermined small percentage of amplitude to generate modified segments;and inserting said portions of the digitized code into said modified segments, respectively.
  6. 17
    A method of embedding a digitized code in a digitized audio product, comprising the steps of:analyzing the digitized audio product to derive measured values for designated characteristics thereof;locating segments of the digitized audio product, based on said derived measured values and a set of preselected parameters, into which the digitized code can be inserted so as to be masked;inserting the digitized code into said located segments;determining whether a degree of masking of the inserted digitized code meets a predetermined level and, if not, modifying values of at least one of said set of preselected parameters, and then performing said locating and inserting steps again with said modified values.
  7. 18
    A method of embedding a digitized code in an audio product, comprising the steps of:dividing said digitized code into preselected portions;representing said portions by a plurality of coding symbols, respectively;determining spacing of said coding symbols from each other to be used for embedding the digitized code within the audio product so that said spacing is greater than a predetermined minimum, and inserting the coding symbols within the audio product based on said determined spacing.
  8. 22
    A method of decoding an audio product into which a code of digitized coding signals has been embedded, comprising the steps of:obtaining a digitized audio product;comparing said digitized audio product with a template of a coding signal to identify candidate coding signals based on shape;comparing pairs of sequential candidate coding signals with each other based on preselected characteristics to identify which ones constitute the coding signals;and reconstructing said code from said coding signals identified by said comparing step.
  9. 25
    Apparatus for embedding signals representing a digitized code in an audio product, comprising:a bandpass filter receiving the audio product and having an output in a frequency band of interest;a signal generator outputting a coding signal derived from a band-limited impulse function with a waveform having its energy confined to and evenly spread across at least a portion of the frequency band of interest;means for deriving the signals for representing said digitized code from said coding signal;and means for embedding said signals representing the digitized code into said audio product.
  10. 29
    A method of providing a digitized code to be embedded in an audio product, comprising the steps of:representing said digitized code by a plurality of analog symbols to be embedded in the audio product;obtaining a plurality of data samples corresponding to a digitized audio product;filtering a portion of the plurality of data samples of the digitized audio product to a frequency band of interest;calculating an RMS envelope signal for said filtered portion of the digitized audio product;and controlling an amplitude level of said symbols in accordance with said calculated RMS envelope signal.
  11. 30
    A method of decoding an audio product into which a code of coding signals has been embedded, comprising the steps of:obtaining a digitized audio product with the code of coding signals being embedded therein;storing a digitized template of a coding signal as a given number of data samples;storing from one portion of the digitized audio product a number of data samples equal to said given number of data samples of said stored template;comparing corresponding data samples of the stored template and audio product with each other to determine an error function between said template and said stored portion of the digitized audio product;determining a scaling factor for the stored audio product which produces a minimum error from said error function;determining amplitude for said one portion of the audio product from said scaling factor;and combining said minimum error with said amplitude to recognize whether a coding signal is included in said stored portion of the digitized audio product.
  12. 32
    Apparatus for decoding an audio product into which a code of coding signals has been embedded, comprising:means for obtaining a digitized audio product with the code of coding signals being embedded therein;means for storing a digitized template of a coding signal as a given number of data samples;means for storing from one portion of the digitized audio product a number of data samples equal to said given number of data samples of said stored template;means for comparing corresponding data samples of the stored template and audio product with each other to determine an error function between said template and said stored portion of the digitized audio product;means for determining a scaling factor for the stored audio product which produces a minimum error from said error function;means for determining amplitude of the audio product from said scaling factor;and means for combining said minimum error with said amplitude to recognize whether a coding signal is included in said stored portion of the digitized audio product.
  13. 34
    Apparatus for providing a signal representing a digitized code to be embedded in an audio product, comprising:means for providing said digitized code as a series of binary bits;means for dividing said binary bits into groups, each group having a plurality of bits;means for providing coding signals to represent said bits, respectively;and means for deriving a symbol from said coding signals for each of said groups, each symbol having a plurality of said coding signals with a preset spacing therebetween.
  14. 39
    Apparatus for decoding an audio product into which coding signals representing a digitized code have been embedded, comprising:means for obtaining a digitized audio product with signals representing said digitized code being embedded therein;first means for comparing said digitized audio product with a template of a coding signal to identify candidate coding signals based on shape;second means for comparing pairs of sequential candidate coding signals with each other based on preselected characteristics to identify which ones constituted the coding signals;and means for reconstructing said code from said coding signals identified by said second comparing step.
  15. 42
    Apparatus for embedding a digitized code in an audio product, comprising:means for identifying segments of the audio product into which the digitized code can be embedded based on predetermined criteria;means for generating coding signals representing portions of the digitized code for insertion into said segments, respectively;means for removing the audio product within said identified segments except for a predetermined small percentage of amplitude to generate modified segments;and means for inserting said coding signals representing portions of the digitized code into said modified segments, respectively.
  16. 43
    Apparatus for embedding a digital code in an audio product, comprising:means for filtering the audio product to a frequency band of interest;means for determining a tonality indication for each of a plurality of segments of the filtered audio product which indicates the extent to which power is distributed uniformly for frequencies in at least a portion of said band of interest;means for representing said digital code with symbols;and means for inserting at least one of said symbols is not a particular segment from said plurality of segments only if said tonality indication indicates a relatively uniform power distribution in said particular segment.
  17. 44
    Apparatus for embedding a digitized code in a digitized audio product, comprising:means for analyzing the audio product to derive measured values for designated characteristics thereof;means for locating segments of the audio product, based on said derived measured values and a set of preselected parameters, into which signals representing the digitized code can be inserted so as to be masked;means for inserting said signals representing the digitized code into said located segments;and means for determining whether a degree of masking of the inserted digitized code meets a predetermined level and, if not, modifying values of at least one of said set of preselected parameters, and then performing said locating and inserting steps again based on said modified values.
  18. 45
    Apparatus for encoding and decoding a digitized code embedded in an audio product, comprising:means for representing said digitized code by symbols in a form of start, data and end symbol types, each of said symbols representing a plurality of bits, and each bit being associated with a coding signal of given polarity;means for generating said start type of symbol to consist of a plurality of said coding signals all of which have the same designated polarity;means for embedding the symbols representing said digitized code in said audio product;means for detecting said symbols embedded in said audio product;means for determining whether the polarity of the coding signals for said detected start type of symbol is said designated polarity and, if not, inverting the polarity of said coding signals in said data and end types of symbols;and means for decoding said digitized code based on the coding signals produced by said determining means.
  19. 46
    A method of providing a digitized code to be embedded in an audio product, comprising the steps of:representing said digitized code by a plurality of analog symbols to be embedded in the audio product;applying a frequency transform to said audio product to obtain a transform signal within a frequency band of interest;calculating power of the transform signal in each of a plurality of frequency groups, wherein each of said frequency groups includes a portion of said band of interest;and controlling an amplitude level of said symbols in accordance with said calculated power.
  20. 49
    A storage medium storing processor implementable instructions for controlling a processor to carry out the method of any one of claims 1 to 24, 29 to 31, and 46 to 48.
  21. 50
    A storage medium storing an audio signal having a digital code embedded therein by the method of any one of claims 1 to 9 or 16 to 21.
  22. 51
    An audio signal having a digital code embedded therein by the method of any one of claims 1 to 9 or 16 to 21.
  23. 52
    An electrical signal carrying computer implementable instructions for controlling a processor to carry out the method of any one of claims 1 to 24, 29 to 31 and 46 to 48.
Independent claims23