US20150039321A1 - Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device - Google Patents
Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device Download PDFInfo
- Publication number
- US20150039321A1 US20150039321A1 US13/955,438 US201313955438A US2015039321A1 US 20150039321 A1 US20150039321 A1 US 20150039321A1 US 201313955438 A US201313955438 A US 201313955438A US 2015039321 A1 US2015039321 A1 US 2015039321A1
- Authority
- US
- United States
- Prior art keywords
- digital audio
- processing device
- audio
- application
- symbol
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/02—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 using spectral analysis, e.g. transform vocoders or subband vocoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Definitions
- the present disclosure generally relates to mobile devices and communications networks.
- the disclosure is directed to monitoring one or more mobile terminals using internal proxies and processing and distributing the related data through customized interfaces utilizing cumulative and centralized intelligence for data handling.
- CBET Critical Band Encoding Technology
- PPMTM Personal People Meters
- a processing device comprising an audio input configured to receive digital audio from one of (i) a computer network and (ii) a digital media file; a memory, operatively coupled to the audio input; and a processing apparatus, communicatively coupled to the audio input, wherein the processing apparatus is configured to activate a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in the memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- a processor-based method for configuring a processing device to read ancillary codes embedded in digital audio, comprising the steps of receiving digital audio at an input of the processing device from one of (i) a computer network and (ii) a digital media file; and configuring a processor on the processing device to activate a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in a memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- a computer program product comprising a computer usable medium having a computer readable program code tangibly embodied therein, said computer readable program code adapted to be executed to implement a method for reading ancillary code from digital audio, said method comprising: sampling the digital audio from an input of the processing device, said input being configured to receive the digital audio from one of (i) a computer network and (ii) a digital media file; and activating a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in a memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- FIG. 1 is an exemplary system diagram illustrating communication among mobile terminals to a computer network that is communicatively coupled to at least one server arrangement and external entities;
- FIG. 2 is an exemplary mobile terminal portable computing device configured to provide monitoring capabilities on the device
- FIG. 3 is an exemplary software architecture for implementing a decoding application under one embodiment
- FIG. 4 is an exemplary framework for media reproduction and decoding under one embodiment
- FIG. 5 is an exemplary message structure for decoding ancillary codes and/or messages that may be suitable for obtaining supplemental information
- FIG. 6 illustrates an exemplary decoding process under one embodiment
- FIG. 7 is an exemplary flow chart illustrating a methodology for retrieving ancillary code from an encoded audio signal
- FIG. 8 is an exemplary flow chart illustrating another methodology for retrieving ancillary code from an encoded audio signal.
- FIG. 9 is an exemplary flow diagram for executing a decoder application on a processing device under one embodiment.
- a mobile terminal as used herein comprises at least one wireless communications transceiver.
- the transceivers include a GSM (Global System for Mobile Communications) transceiver, a GPRS (General Packet Radio Service) transceiver, an EDGE (Enhanced Data rates for Global Evolution) transceiver, a UMTS (Universal Mobile Telecommunications System) transceiver, a WCDMA (wideband code division multiple access) transceiver, a PDC (Personal Digital Cellular) transceiver, a PHS (Personal Handy-phone System) transceiver, and a WLAN (Wireless LAN, wireless local area network) transceiver.
- GSM Global System for Mobile Communications
- GPRS General Packet Radio Service
- EDGE Enhanced Data rates for Global Evolution
- UMTS Universal Mobile Telecommunications System
- WCDMA wideband code division multiple access
- PDC Personal Digital Cellular
- PHS Personal Handy-phone System
- WLAN Wireless Local Area network
- the transceiver may be such that it is configured to co-operate with a predetermined communications network (infrastructure), such as the transceivers listed above.
- the network may further connect to other networks and provide versatile switching means for establishing circuit switched and/or packet switched connections between the two end points.
- the device may include a wireless transceiver such as a Bluetooth adapter meant for peer-to-peer communication and piconet/scatternet use.
- the terminal may include interface(s) for wired connections and associated communication relative to external entities, such as an USB (Universal Serial Bus) interface or a Firewire interface.
- USB Universal Serial Bus
- mobile terminal events may be monitored, where the events may include, for example, substantially non-user-initiated incidents such as battery status change, not at least directly initiated by the user of the device.
- the actions may include substantially user-initiated intentional activities and incidents, for example use of the web browser, movements, reading a message, etc. Some incidents may be also considered to conveniently fit both the above incident classes.
- the exemplary system comprises a audio monitoring part executed in one or more terminals, or portable computing devices 102 , 104 , 106 of respective users and a server arrangement part 112 comprising one or more server devices ( 112 a, 112 b ) functionally arranged so as to establish a media server entity.
- Devices 102 - 106 are configured to monitor audio media exposure relating to their respective users in accordance with the principles set forth herein.
- Server 112 is typically connected to a communications network 110 whereto also the mobile terminals 102 , 104 , 106 are provided with access, e.g.
- Access networks 108 a, 108 b which may be cellular, wired or wireless local area networks, for instance.
- External entities 114 such as services/servers ( 114 a, 114 b ) may be connected to the server arrangement 112 via the network 110 for obtaining, storing and processing audio code data received from devices 102 - 106 and related data derived therefrom and/or for providing supplementary data.
- FIG. 2 is an exemplary embodiment of a portable computing device 200 which may function as a terminal (see references 102 , 104 and 106 of FIG. 1 ), and may be a smart phone, tablet computer, laptop or the like.
- Device 200 may include a central processing unit (CPU) 201 (which may include one or more computer readable storage mediums), a memory controller 202 , one or more processors 203 , a peripherals interface 204 , RF circuitry 205 , audio circuitry 206 , a speaker 220 , a microphone 220 , and an input/output (I/O) subsystem 211 having display controller 212 , control circuitry for one or more sensors 213 and input device control 214 .
- CPU central processing unit
- I/O input/output
- device 200 may communicate over one or more communication buses or signal lines in device 200 .
- device 200 is only one example of a portable multifunction device 200 , and that device 200 may have more or fewer components than shown, may combine two or more components, or a may have a different configuration or arrangement of the components.
- the various components shown in FIG. 2 may be implemented in hardware or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
- decoder 213 may be configured as software tangibly embodied in memory 208 , which may communicate with other software in memory 208 and CPU 201 , as well as audio circuitry 206 , and serves to decode ancillary data embedded in audio signals in order to detect exposure to media. Examples of techniques for encoding and decoding such ancillary data are disclosed in U.S. Pat. No. 6,871,180, titled “Decoding of Information in Audio Signals,” issued Mar. 22, 2005, and is incorporated by reference in its entirety herein. Other suitable techniques for encoding data in audio data are disclosed in U.S. Pat. No. 7,640,141 to Ronald S. Kolessar and U.S. Pat. No. 5,764,763 to James M.
- An audio signal which may be encoded with a plurality of code symbols may be received via data communication through RF interface 205 via audio circuitry 206 , or through any other data interface allowing for the receipt of audio/visual data in digital form.
- encoded audio signals may be reproduced on device 200 through digital files stored in memory 208 and executed through one or more applications ( 214 ) stored in memory 208 such as a media player that is linked to audio circuitry 206 . From the following description in connection with the accompanying drawings, it will be appreciated that decoder 213 is capable of detecting codes in addition to those arranged in the formats disclosed hereinabove.
- Memory 208 may also include high-speed random access memory (RAM) and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 208 by other components of the device 200 , such as processor 203 , decoder 213 and peripherals interface 204 , may be controlled by the memory controller 202 . Peripherals interface 204 couples the input and output peripherals of the device to the processor 203 and memory 208 . The one or more processors 203 run or execute various software programs and/or sets of instructions stored in memory 208 to perform various functions for the device 200 and to process data. In some embodiments, the peripherals interface 204 , processor(s) 203 , decoder 213 and memory controller 202 may be implemented on a single chip, such as a chip 201 . In some other embodiments, they may be implemented on separate chips.
- RAM high-speed random access memory
- non-volatile memory such as one or more magnetic disk storage devices,
- the RF (radio frequency) circuitry 205 receives and sends RF signals, also known as electromagnetic signals.
- the RF circuitry 205 converts electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals.
- the RF circuitry 205 may include well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth.
- SIM subscriber identity module
- RF circuitry 205 may communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication.
- networks such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication.
- networks such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication.
- WLAN wireless local area network
- MAN metropolitan area network
- the wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), and/or Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS)), or any other suitable communication protocol, including communication protocols not yet
- Audio circuitry 206 , speaker 220 , and microphone 221 provide an audio interface between a user and the device 200 .
- Audio circuitry 206 may receive audio data from the peripherals interface 204 , converts the audio data to an electrical signal, and transmits the electrical signal to speaker 221 .
- the speaker 221 converts the electrical signal to human-audible sound waves.
- Audio circuitry 206 also receives electrical signals converted by the microphone 221 from sound waves, which may include encoded audio, described above.
- the audio circuitry 206 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 204 for processing. Audio data may be retrieved from and/or transmitted to memory 208 and/or the RF circuitry 205 by peripherals interface 204 .
- audio circuitry 206 also includes a headset jack for providing an interface between the audio circuitry 206 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
- a headset jack for providing an interface between the audio circuitry 206 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
- the I/O subsystem 211 couples input/output peripherals on the device 200 , such as touch screen 215 and other input/control devices 217 , to the peripherals interface 204 .
- the I/O subsystem 211 may include a display controller 218 and one or more input controllers 220 for other input or control devices.
- the one or more input controllers 220 receive/send electrical signals from/to other input or control devices 217 .
- the other input/control devices 217 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth.
- input controller(s) 220 may be coupled to any (or none) of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse, an up/down button for volume control of the speaker 221 and/or the microphone 222 .
- Touch screen 215 may also be used to implement virtual or soft buttons and one or more soft keyboards.
- Touch screen 215 provides an input interface and an output interface between the device and a user.
- the display controller 218 receives and/or sends electrical signals from/to the touch screen 215 .
- Touch screen 215 displays visual output to the user.
- the visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects.
- Touch screen 215 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact.
- Touch screen 215 and display controller 218 (along with any associated modules and/or sets of instructions in memory 208 ) detect contact (and any movement or breaking of the contact) on the touch screen 215 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen.
- user-interface objects e.g., one or more soft keys, icons, web pages or images
- a point of contact between a touch screen 215 and the user corresponds to a finger of the user.
- Touch screen 215 may use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies may be used in other embodiments.
- Touch screen 215 and display controller 218 may detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with a touch screen 215 .
- touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with a touch screen 215 .
- Device 200 may also include one or more sensors 216 such as optical sensors that comprise charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors.
- the optical sensor may capture still images or video, where the sensor is operated in conjunction with touch screen display 215 .
- Device 200 may also include one or more accelerometers 207 , which may be operatively coupled to peripherals interface 204 . Alternately, the accelerometer 207 may be coupled to an input controller 214 in the I/O subsystem 211 .
- the accelerometer is preferably configured to output accelerometer data in the x, y, and z axes.
- the software components stored in memory 208 may include an operating system 209 , a communication module 210 , a text/graphics module 211 , a Global Positioning System (GPS) module 212 , audio decoder 213 and applications 214 .
- Operating system 209 e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks
- Operating system 209 includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
- Communication module 210 facilitates communication with other devices over one or more external ports and also includes various software components for handling data received by the RF circuitry 205 .
- An external port e.g., Universal Serial Bus (USB), Firewire, etc.
- USB Universal Serial Bus
- Firewire Firewire
- a network e.g., the Internet, wireless LAN, etc.
- Text/graphics module 211 includes various known software components for rendering and displaying graphics on the touch screen 215 , including components for changing the intensity of graphics that are displayed.
- graphics includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like. Additionally, soft keyboards may be provided for entering text in various applications requiring text input.
- GPS module 212 determines the location of the device and provides this information for use in various applications.
- Applications 214 may include various modules, including address books/contact list, email, instant messaging, video conferencing, media player, widgets, instant messaging, camera/image management, and the like. Examples of other applications include word processing applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
- user devices 102 - 106 may receive media received from a media source 112 , which preferably provides network-based media, such as streaming media or digital media files.
- Media source 112 may comprise one or more servers ( 102 a, 102 b ) communicatively linked to network 110 , which may provide media to devices 102 - 105 via wired, wireless ( 108 b ) and/or cellular ( 108 a ) communication. It is understood that other media formats are possible in this disclosure as well, including cable, satellite, distributed on storage media, or by any other means or technique that is humanly perceptible, without regard to the form or content of such data. With regard to devices 102 - 106 , the example of FIG.
- device 200 receives encoded audio through a wired or wireless connection (e.g., 802.11g, 802.11n, Bluetooth, etc.).
- the encoded audio is natively decoded using decoding software 213 . After the encoded audio is decoded, one or more messages are detected.
- an exemplary architecture is provided for software stored in memory 208 .
- the application layer 304 which sits at the top of the operating system stack and contains the frameworks that are most commonly used by the software.
- Application layer 304 is preferably configured under an Objective-C platform containing standard application interfaces (APIs) known in the art.
- Application layer 304 is configured to support multiple frameworks for allowing software to operate, including, but not limited to, a programming interface (e.g., Java, UIKit framework) for providing user interface management, application lifecycle management, application event handling, multitasking, data protection via encryption, data handling, inter-application integration, push notification, local notification, accessibility, and the like. Other frameworks known in the art may be utilized as well.
- Media layer 303 may be configured to provide application layer 304 with audio, video, animation and graphics capabilities. As with the other layers comprising the stack of FIG. 3 , the media layer comprises a number of frameworks that may be supported.
- media layer 303 may be configured to support an audio framework (Objective-C, Java) configured to allow the playback and management of audio content
- An audio framework Objective-C, Java
- a core audio framework would be responsible for supporting various audio types, playback of audio files and streams and also provide access to device's 200 built-in audio processing units.
- a media player framework in media layer 303 would advantageously support the playing of movies, music, audio podcast, audio book files, streaming media, stored media library files, etc. at a variety of compression standards, resolutions and frame rates.
- Core services layer 302 comprises fundamental system services that all applications use, and also provides interfaces that use object-oriented abstractions for working with network protocols and for providing control over protocols stack and provide simplified use of lower-level constructs such as BSD sockets. Functions of core services layer 302 provide simplified tasks such as communicating with FTP and HTTP servers or resolving DNS hosts.
- Core OS layer 301 is the deepest layer of the architecture of FIG. 3 and provides an interface between existing hardware and system frameworks.
- Core OS Layer 301 comprises the kernel environment, drivers, and basic interfaces of the operating system. Many functions including virtual memory system, threads, file system, network, and inter-process communication is managed by the kernel. It should be understood by those skilled in the art that the embodiment of FIG.
- the software architecture may be based on a Linux kernel comprising middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony and the like.
- media player 401 and audio decoder 402 are preferably configured in an application layer ( 304 ) for device 200 , in which each is communicatively coupled to each other and to lower layer modules 403 - 406 (shown separated by the dashed line in FIG. 4 ).
- Media player 401 may be configured to control playback of audio/visual (A/V) media locally using media framework 403 , subject to audio classes 404 defined for the player (e.g., AVAudioPlayer).
- a device may also play A/V media via embedded web content classes (e.g.
- UIWebView QT Web View
- play HTTP live streams by initializing an instance of a media player item (e.g., AVPlayerItem) using a URL.
- Primitive data structures for media framework 403 including time-related data structures and opaque objects to carry and describe media data may be defined in core media framework 405 .
- Supported audio types, playback and recording of audio files and streams may be defined in core audio 406 and may also provide access to the device's built-in audio processing units.
- the audio portion of media played using media player 401 is stored and/or forwarded to decoder application 402 .
- decoder 402 processes the audio portion to detect if ancillary codes are present within the audio. If present, the ancillary codes are read, stored, and ultimately transmitted to a remote or central location ( 114 ) where the codes may be further processed to determine characteristics (e.g., identification, origin, etc.) of the media and further determine media exposure for a user associated with a device ( 200 ) for audience measurement purposes.
- characteristics e.g., identification, origin, etc.
- FIG. 5 illustrates a message 500 that may be embedded/encoded into an audio signal.
- message 500 includes three or more layers that are inserted by encoders in a parallel format.
- Suitable encoding techniques are disclosed in U.S. Pat. No. 6,871,180, titled “Decoding of Information in Audio Signals,” issued Mar. 22, 2005, which is assigned to the assignee of the present application, and is incorporated by reference in its entirety herein.
- Other suitable techniques for encoding data in audio data are disclosed in U.S. Pat. No. 7,640,141 to Ronald S. Kolessar and U.S. Pat. No. 5,764,763 to James M.
- message 500 includes a first layer 501 containing a message comprising multiple message symbols.
- a predefined set of audio tones e.g., ten
- single frequency code components are added to the audio signal during a time slot for a respective message symbol.
- a new set of code components is added to the audio signal to represent a new message symbol in the next message symbol time slot.
- each symbol set includes two synchronization symbols (also referred to as marker symbols) 504 , 506 , a larger number of data symbols 505 , 507 , and time code symbols 508 .
- Time code symbols 508 and data symbols 905 , 907 are preferably configured as multiple-symbol groups.
- the second layer 502 of message 500 is illustrated having a similar configuration to layer 501 , where each symbol set includes two synchronization symbols 509 , 511 , a larger number of data symbols 510 , 512 , and time code symbols 513 .
- the third layer 503 includes two synchronization symbols 514 , 516 , and a larger number of data symbols 515 , 517 .
- the data symbols in each symbol set for the layers ( 501 - 503 ) should preferably have a predefined order and be indexed (e.g., 1, 2, 3).
- the code components of each symbol in any of the symbol sets should preferably have selected frequencies that are different from the code components of every other symbol in the same symbol set.
- none of the code component frequencies used in representing the symbols of a message in one layer is used to represent any symbol of another layer (e.g., Layer2 502 ).
- some of the code component frequencies used in representing symbols of messages in one layer may be used in representing symbols of messages in another layer (e.g., Layer1 501 ).
- “shared” layers have differing formats (e.g., Layer3 503 , Layer1 501 ) in order to assist the decoder in separately decoding the data contained therein.
- Sequences of data symbols within a given layer are preferably configured so that each sequence is paired with the other and is separated by a predetermined offset.
- data 905 contains code 1, 2, 3 having an offset of “2”
- data 507 in layer 501 would be 3, 4, 5. Since the same information is represented by two different data symbols that are separated in time and have different frequency components (frequency content), the message may be diverse in both time and frequency. Such a configuration is particularly advantageous where interference would otherwise render data symbols undetectable.
- each of the symbols in a layer have a duration (e.g., 0.2-0.8 sec) that matches other layers (e.g., Layer1 501 , Layer2 502 ). In another embodiment, the symbol duration may be different (e.g., Layer 2 502 , Layer 3 503 ).
- the decoder detects the layers and reports any predetermined segment that contains a code.
- FIG. 6 is a functional block diagram illustrating a decoding algorithm under one embodiment.
- An audio signal which may be encoded as described herein with a plurality of code symbols is received at a digital input 352 .
- the received audio signal may be from streaming media, otherwise communicated signal, or a signal reproduced from storage in a device. It may be a direct-coupled or an acoustically coupled signal. From the following description in connection with the accompanying drawings, it will be appreciated that decoder 350 is capable of detecting codes in addition to those arranged in the formats disclosed herein.
- decoder 350 For received audio signals in the time domain, decoder 350 transforms such signals to the frequency domain by means of function 356 .
- Function 356 preferably is performed by a digital processor implementing a fast Fourier transform (FFT) although a direct cosine transform, a chirp transform or a Winograd transform algorithm (WFTA) may be employed in the alternative. Any other time-to-frequency-domain transformation function providing the necessary resolution may be employed in place of these.
- function 356 may also be carried out by filters, by an application specific integrated circuit, or any other suitable device or combination of devices.
- Function 356 may also be implemented by one or more devices which also implement one or more of the remaining functions illustrated in FIG. 6 .
- the frequency domain-converted audio signals are processed in a symbol values derivation function 360 , to produce a stream of symbol values for each code symbol included in the received audio signal.
- the produced symbol values may represent, for example, signal energy, power, sound pressure level, amplitude, etc., measured instantaneously or over a period of time, on an absolute or relative scale, and may be expressed as a single value or as multiple values.
- the symbol values preferably represent either single frequency component values or one or more values based on single frequency component values.
- Function 360 may be carried out by a digital processor, which advantageously carries out some or all of the other functions of decoder 350 . However, the function 360 may also be carried out by an application specific integrated circuit, or by any other suitable device or combination of devices, and may be implemented by apparatus apart from the means which implement the remaining functions of the decoder 350 .
- function 366 is advantageous for use in decoding encoded symbols which repeat periodically, by periodically accumulating symbol values for the various possible symbols. For example, if a given symbol is expected to recur every X seconds, the function 366 may serve to store a stream of symbol values for a period of nX seconds (n>1), and add to the stored values of one or more symbol value streams of nX seconds duration, so that peak symbol values accumulate over time, improving the signal-to-noise ratio of the stored values.
- Function 366 may be carried out by a digital processor (or a DSP) which advantageously carries out some or all of the other functions of decoder 350 .
- the function 360 may also be carried out using a memory device separate from such a processor, or by an application specific integrated circuit, or by any other suitable device or combination of devices, and may be implemented by apparatus apart from the means which implements the remaining functions of the decoder 300 .
- the accumulated symbol values stored by the function 366 are then examined by the function 370 to detect the presence of an encoded message and output the detected message at an output 376 .
- Function 370 can be carried out by matching the stored accumulated values or a processed version of such values, against stored patterns, whether by correlation or by another pattern matching technique. However, function 370 advantageously is carried out by examining peak accumulated symbol values and their relative timing, to reconstruct their encoded message. This function may be carried out after the first stream of symbol values has been stored by the function 366 and/or after each subsequent stream has been added thereto, so that the message is detected once the signal-to-noise ratios of the stored, accumulated streams of symbol values reveal a valid message pattern.
- FIG. 7 is a flow chart for a decoder application according to one advantageous embodiment.
- Step 430 is provided for those applications in which the encoded audio signal is received in analog form, for example, where it has been picked up by a microphone or an RF receiver.
- the decoder of FIG. 6 is particularly well adapted for detecting code symbols each of which includes a plurality of predetermined frequency components, e.g. ten components, within a frequency range of 1000 Hz to 3000 Hz.
- the decoder is designed specifically to detect a message having a specific sequence wherein each symbol occupies a specified time interval (e.g., 0.5 sec).
- the symbol set consists of twelve symbols, each having ten predetermined frequency components, none of which is shared with any other symbol of the symbol set. It will be appreciated that the FIG. 6 decoder may readily be modified to detect different numbers of code symbols, different numbers of components, different symbol sequences and symbol durations, as well as components arranged in different frequency bands.
- a processor on device 200 repeatedly carries out FFTs on audio signal samples falling within successive, predetermined intervals.
- the intervals may overlap, although this is not required.
- ten overlapping FFT's are carried out during each second of decoder operation. Accordingly, the energy of each symbol period falls within five FFT periods.
- the FFT's are preferably windowed, although this may be omitted in order to simplify the decoder.
- the samples are stored and, when a sufficient number are thus available, a new FFT is performed, as indicated by steps 434 and 438 .
- each component value is represented as a signal-to-noise ratio (SNR), produced as follows.
- SNR signal-to-noise ratio
- the energy within each frequency bin of the FFT in which a frequency component of any symbol can fall provides the numerator of each corresponding SNR
- Its denominator is determined as an average of adjacent bin values. For example, the average of seven of the eight surrounding bin energy values may be used, the largest value of the eight being ignored in order to avoid the influence of a possible large bin energy value which could result, for example, from an audio signal component in the neighborhood of the code frequency component.
- the SNR is appropriately limited.
- SNR if SNR>6.0, then SNR is limited to 6.0, although a different maximum value may be selected.
- the ten SNR's of each FFT and corresponding to each symbol which may be present, are combined to form symbol SNR's which are stored in a circular symbol SNR buffer, as indicated in step 442 .
- the ten SNR's for a symbol are simply added, although other ways of combining the SNR's may be employed.
- the symbol SNR's for each of the twelve symbols are stored in the symbol SNR buffer as separate sequences, one symbol SNR for each FFT for 50 ⁇ l FFT's. After the values produced in the 50 FFT's have been stored in the symbol SNR buffer, new symbol SNR's are combined with the previously stored values, as described below.
- the stored SNR's are adjusted to reduce the influence of noise in a step 452 , although this step may be optional.
- a noise value is obtained for each symbol (row) in the buffer by obtaining the average of all stored symbol SNR's in the respective row each time the buffer is filled. Then, to compensate for the effects of noise, this average or “noise” value is subtracted from each of the stored symbol SNR values in the corresponding row. In this manner, a “symbol” appearing only briefly, and thus not a valid detection, is averaged out over time.
- the decoder After the symbol SNR's have been adjusted by subtracting the noise level, the decoder attempts to recover the message by examining the pattern of maximum SNR values in the buffer in a step 456 .
- the maximum SNR values for each symbol are located in a process of successively combining groups of five adjacent SNR's, by weighting the values in the sequence in proportion to the sequential weighting (6 10 10 10 6) and then adding the weighted SNR's to produce a comparison SNR centered in the time period of the third SNR in the sequence. This process is carried out progressively throughout the fifty FFT periods of each symbol.
- a first group of five SNR's for a specific symbol in FFT time periods (e.g., 1-5) are weighted and added to produce a comparison SNR for a specific FFT period (e.g., 3). Then a further comparison SNR is produced using the SNR's from successive FFT periods (e.g., 2-6), and so on until comparison values have been obtained centered on all FFT periods.
- FFT time periods e.g., 2-6
- other means may be employed for recovering the message. For example, either more or less than five SNR's may be combined, they may be combined without weighing, or they may be combined in a non-linear fashion.
- the decoder algorithm examines the comparison SNR values for a message pattern.
- the synchronization (“marker”) code symbols are located first. Once this information is obtained, the decoder attempts to detect the peaks of the data symbols. The use of a predetermined offset between each data symbol in the first segment and the corresponding data symbol in the second segment provides a check on the validity of the detected message. That is, if both markers are detected and the same offset is observed between each data symbol in the first segment and its corresponding data symbol in the second segment, it is highly likely that a valid message has been received. If this is the case, the message is logged, and the SNR buffer is cleared 466 .
- decoder operation may be modified depending on the structure of the message, its timing, its signal path, the mode of its detection, etc., without departing from the scope of the present invention.
- FFT results may be stored directly for detecting a message.
- FIG. 8 is a flow chart for another decoder configuration according to a further advantageous embodiment likewise implemented by means of a processor controlled by a decoder application.
- the decoder application of FIG. 8 is especially adapted to detect a repeating sequence of code symbols (e.g., 5 code symbols) consisting of a marker symbol followed by a plurality (e.g., 4) data symbols wherein each of the code symbols includes a plurality of predetermined frequency components and has a predetermined duration (e.g., 0.5 sec) in the message sequence.
- code symbols e.g., 5 code symbols
- a plurality e.g., 4
- a predetermined duration e.g., 0.5 sec
- FIG. 8 embodiment uses a circular buffer which is twelve symbols wide by 150 FFT periods long. Once the buffer has been filled, new symbol SNRs each replace what are than the oldest symbol SNR values. In effect, the buffer stores a fifteen second window of symbol SNR values. As indicated in step 574 , once the circular buffer is filled, its contents are examined in a step 578 to detect the presence of the message pattern. Once full, the buffer remains full continuously, so that the pattern search of step 578 may be carried out after every FFT.
- each symbol message repeats every 21 ⁇ 2 seconds, each symbol repeats at intervals of 21 ⁇ 2 seconds or every 25 FFT's.
- the decoder detects the position of the marker symbol's peak as indicated by the combined SNR values and derives the data symbol sequence based on the marker's position and the peak values of the data symbols. Once the message has thus been formed, as indicated in steps 582 and 583 , the message is logged. However, unlike the embodiment of FIG. 7 the buffer is not cleared. Instead, the decoder loads a further set of SNR's in the buffer and continues to search for a message.
- the buffer of the FIG. 8 embodiment may be replaced by any other suitable storage device; the size of the buffer may be varied; the size of the SNR values windows may be varied, and/or the symbol repetition time may vary.
- a measure of each symbol's value relative to the other possible symbols for example, a ranking of each possible symbol's magnitude, is instead used in certain advantageous embodiments.
- a relatively large number of message intervals are separately stored to permit a retrospective analysis of their contents to detect a media content change.
- multiple buffers are employed, each accumulating data for a different number of intervals for use in the decoding method of FIG. 8 .
- one buffer could store a single message interval, another two accumulated intervals, a third four intervals and a fourth eight intervals. Separate detections based on the contents of each buffer are then used to detect a media content change.
- FIG. 9 an exemplary decoder interface process is disclosed, where device ( 200 ) executes a decoder operation.
- the decoder in this example may be written in C, or any suitable code known in the art.
- a current version of the decoder is called and initialized in 430 .
- use of the decoder may be dependent upon the satisfaction of an encryption key 431 , which may be advantageous for limiting use of the decoder only to authorized users.
- the decoder interface security may comprise a required file containing encrypted decoder initialization parameters that may be used as an input for the decoder.
- the parameters may include pointer(s) to decoder memory, size of the decoder memory, pointer to encrypted decoder initialization parameters and pointer to an encryption key provided by the research entity, if not supplied to the application as a compile-time switch.
- the decoder loads initialization parameters that include allocating memory for audio decoding in step 432 .
- memory is allocated prior to executing other functions in the decoder.
- the audio is sampled 433 and transformed (e.g., FFT) in 434 .
- the sampled audio may comprise 2048 16-bit monophonic audio samples obtained through an 8 k sample rate, while the transformation may result in 1024 FFT bin results.
- the initialized pointer may use the initialized pointer to access decoder memory to obtain arrays(s) of transformed bin powers returned from the transformations, and utilize them to read code in 435 . Once the code is read it may be stored in memory and transmitted to a remote location for audience measurement purposes.
- multiple instances of the decoder may be initialized multiple times using different memory areas.
- the decoder application would be responsible for keeping track of which memory pointers are used in subsequent calls to initialize and retrieve code from the proper decoder.
Abstract
Description
- The present disclosure generally relates to mobile devices and communications networks. In particular the disclosure is directed to monitoring one or more mobile terminals using internal proxies and processing and distributing the related data through customized interfaces utilizing cumulative and centralized intelligence for data handling.
- There has been considerable interest in monitoring the use of mobile terminals, such as smart phones, tablets, laptops, etc. for audience measurement and/or marketing purposes. In the area of media exposure monitoring, ancillary audio codes have shown themselves to be particularly effective in assisting media measurement entities to determine and establish media exposure data. One technique for encoding and detecting ancillary audio codes is based on Critical Band Encoding Technology (CBET), pioneered by Arbitron Inc., which is currently being used in conjunction with a special-purpose Personal People Meters (PPM™) to detect codes via ambient encoded audio.
- Challenges currently exist in the realm of general-purpose “smart” devices to be able to configure them to read ancillary code from digital audio that may be reproduced on the device itself and/or received and reproduced from a computer network, such as the Internet. For one, general purpose devices will not typically come equipped with special-purpose digital signal processors (DSPs), and require special consideration when incorporating decoding algorithms together with the device's software application architecture. Additionally, since the process of decoding or reading ancillary audio codes is sensitive to noise, it may not be desirable to use a device's microphone to receiving audio input.
- Currently, techniques exist for collecting data relating to digital media received on mobile terminals, but they typically require the collection of metadata related to the digital media, which must be separately processed. One such example may be found in U.S. patent appliaction Ser. No. 13/341,646, titled “Monitoring Streaming Media Content” to Ramaswamy et al., filed Dec. 30, 2011, which is incorporated by reference herein. In this example, metering data is extracted from media using a transport stream, where the metering data must be transcoded into a second format in order to be decoded. The transcoded metering data is then encoded into a metadata channel, where it is transmitted to a content presentation device for subsequent identification. While it may be effective, such a process is unnecessarily complex and requires multiple processing steps in order to obtain the metered data. It would be desirable to have a configuration where ancillary audio codes may be efficiently read out on a device without resorting to metadata, in order to provide a more simplified system for media audience measurement.
- Under one exemplary embodiment, a processing device is disclosed, wherein the processing device comprises an audio input configured to receive digital audio from one of (i) a computer network and (ii) a digital media file; a memory, operatively coupled to the audio input; and a processing apparatus, communicatively coupled to the audio input, wherein the processing apparatus is configured to activate a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in the memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- Under another exemplary embodiment, a processor-based method is disclosed for configuring a processing device to read ancillary codes embedded in digital audio, comprising the steps of receiving digital audio at an input of the processing device from one of (i) a computer network and (ii) a digital media file; and configuring a processor on the processing device to activate a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in a memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- In yet another exemplary embodiment, a computer program product is disclosed, comprising a computer usable medium having a computer readable program code tangibly embodied therein, said computer readable program code adapted to be executed to implement a method for reading ancillary code from digital audio, said method comprising: sampling the digital audio from an input of the processing device, said input being configured to receive the digital audio from one of (i) a computer network and (ii) a digital media file; and activating a decoder application on said processing device to transform the received digital audio from a time domain to a frequency domain and store the transformed digital audio in a memory; wherein the decoding application is configured to process the stored digital audio using a decoder application interface to determine the presence of ancillary codes encoded into the digital audio.
- The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
-
FIG. 1 is an exemplary system diagram illustrating communication among mobile terminals to a computer network that is communicatively coupled to at least one server arrangement and external entities; -
FIG. 2 is an exemplary mobile terminal portable computing device configured to provide monitoring capabilities on the device; -
FIG. 3 is an exemplary software architecture for implementing a decoding application under one embodiment; -
FIG. 4 is an exemplary framework for media reproduction and decoding under one embodiment; -
FIG. 5 is an exemplary message structure for decoding ancillary codes and/or messages that may be suitable for obtaining supplemental information; -
FIG. 6 illustrates an exemplary decoding process under one embodiment; -
FIG. 7 is an exemplary flow chart illustrating a methodology for retrieving ancillary code from an encoded audio signal; -
FIG. 8 is an exemplary flow chart illustrating another methodology for retrieving ancillary code from an encoded audio signal; and -
FIG. 9 is an exemplary flow diagram for executing a decoder application on a processing device under one embodiment. - A mobile terminal as used herein comprises at least one wireless communications transceiver. Non-limiting examples of the transceivers include a GSM (Global System for Mobile Communications) transceiver, a GPRS (General Packet Radio Service) transceiver, an EDGE (Enhanced Data rates for Global Evolution) transceiver, a UMTS (Universal Mobile Telecommunications System) transceiver, a WCDMA (wideband code division multiple access) transceiver, a PDC (Personal Digital Cellular) transceiver, a PHS (Personal Handy-phone System) transceiver, and a WLAN (Wireless LAN, wireless local area network) transceiver. The transceiver may be such that it is configured to co-operate with a predetermined communications network (infrastructure), such as the transceivers listed above. The network may further connect to other networks and provide versatile switching means for establishing circuit switched and/or packet switched connections between the two end points. Additionally, the device may include a wireless transceiver such as a Bluetooth adapter meant for peer-to-peer communication and piconet/scatternet use. Furthermore, the terminal may include interface(s) for wired connections and associated communication relative to external entities, such as an USB (Universal Serial Bus) interface or a Firewire interface.
- As will be explained in further detail below, mobile terminal events may be monitored, where the events may include, for example, substantially non-user-initiated incidents such as battery status change, not at least directly initiated by the user of the device. The actions may include substantially user-initiated intentional activities and incidents, for example use of the web browser, movements, reading a message, etc. Some incidents may be also considered to conveniently fit both the above incident classes.
- Turning to
FIG. 1 , an exemplary system architecture is illustrated. The exemplary system comprises a audio monitoring part executed in one or more terminals, orportable computing devices server arrangement part 112 comprising one or more server devices (112 a, 112 b) functionally arranged so as to establish a media server entity. Devices 102-106 are configured to monitor audio media exposure relating to their respective users in accordance with the principles set forth herein.Server 112 is typically connected to acommunications network 110 whereto also themobile terminals more access networks External entities 114 such as services/servers (114 a, 114 b) may be connected to theserver arrangement 112 via thenetwork 110 for obtaining, storing and processing audio code data received from devices 102-106 and related data derived therefrom and/or for providing supplementary data. -
FIG. 2 is an exemplary embodiment of aportable computing device 200 which may function as a terminal (seereferences FIG. 1 ), and may be a smart phone, tablet computer, laptop or the like.Device 200 may include a central processing unit (CPU) 201 (which may include one or more computer readable storage mediums), amemory controller 202, one ormore processors 203, aperipherals interface 204,RF circuitry 205,audio circuitry 206, aspeaker 220, amicrophone 220, and an input/output (I/O)subsystem 211 havingdisplay controller 212, control circuitry for one ormore sensors 213 andinput device control 214. These components may communicate over one or more communication buses or signal lines indevice 200. It should be appreciated thatdevice 200 is only one example of aportable multifunction device 200, and thatdevice 200 may have more or fewer components than shown, may combine two or more components, or a may have a different configuration or arrangement of the components. The various components shown inFIG. 2 may be implemented in hardware or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits. - In one example,
decoder 213 may be configured as software tangibly embodied inmemory 208, which may communicate with other software inmemory 208 andCPU 201, as well asaudio circuitry 206, and serves to decode ancillary data embedded in audio signals in order to detect exposure to media. Examples of techniques for encoding and decoding such ancillary data are disclosed in U.S. Pat. No. 6,871,180, titled “Decoding of Information in Audio Signals,” issued Mar. 22, 2005, and is incorporated by reference in its entirety herein. Other suitable techniques for encoding data in audio data are disclosed in U.S. Pat. No. 7,640,141 to Ronald S. Kolessar and U.S. Pat. No. 5,764,763 to James M. Jensen, et al., which are incorporated by reference in their entirety herein. Other appropriate encoding techniques are disclosed in U.S. Pat. No. 5,579,124 to Aijala, et al., U.S. Pat. Nos. 5,574,962, 5,581,800 and 5,787,334 to Fardeau, et al., and U.S. Pat. No. 5,450,490 to Jensen, et al., each of which is assigned to the assignee of the present application and all of which are incorporated herein by reference in their entirety. - An audio signal which may be encoded with a plurality of code symbols may be received via data communication through
RF interface 205 viaaudio circuitry 206, or through any other data interface allowing for the receipt of audio/visual data in digital form. Also, encoded audio signals may be reproduced ondevice 200 through digital files stored inmemory 208 and executed through one or more applications (214) stored inmemory 208 such as a media player that is linked toaudio circuitry 206. From the following description in connection with the accompanying drawings, it will be appreciated thatdecoder 213 is capable of detecting codes in addition to those arranged in the formats disclosed hereinabove.Memory 208 may also include high-speed random access memory (RAM) and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access tomemory 208 by other components of thedevice 200, such asprocessor 203,decoder 213 and peripherals interface 204, may be controlled by thememory controller 202. Peripherals interface 204 couples the input and output peripherals of the device to theprocessor 203 andmemory 208. The one ormore processors 203 run or execute various software programs and/or sets of instructions stored inmemory 208 to perform various functions for thedevice 200 and to process data. In some embodiments, theperipherals interface 204, processor(s) 203,decoder 213 andmemory controller 202 may be implemented on a single chip, such as achip 201. In some other embodiments, they may be implemented on separate chips. - The RF (radio frequency)
circuitry 205 receives and sends RF signals, also known as electromagnetic signals. TheRF circuitry 205 converts electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. TheRF circuitry 205 may include well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth.RF circuitry 205 may communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. The wireless communication may use any of a plurality of communications standards, protocols and technologies, including but not limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol for email (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), and/or Instant Messaging and Presence Service (IMPS)), and/or Short Message Service (SMS)), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document. -
Audio circuitry 206,speaker 220, andmicrophone 221 provide an audio interface between a user and thedevice 200.Audio circuitry 206 may receive audio data from theperipherals interface 204, converts the audio data to an electrical signal, and transmits the electrical signal tospeaker 221. Thespeaker 221 converts the electrical signal to human-audible sound waves.Audio circuitry 206 also receives electrical signals converted by themicrophone 221 from sound waves, which may include encoded audio, described above. Theaudio circuitry 206 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 204 for processing. Audio data may be retrieved from and/or transmitted tomemory 208 and/or theRF circuitry 205 byperipherals interface 204. In some embodiments,audio circuitry 206 also includes a headset jack for providing an interface between theaudio circuitry 206 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone). - I/
O subsystem 211 couples input/output peripherals on thedevice 200, such astouch screen 215 and other input/control devices 217, to theperipherals interface 204. The I/O subsystem 211 may include adisplay controller 218 and one ormore input controllers 220 for other input or control devices. The one ormore input controllers 220 receive/send electrical signals from/to other input orcontrol devices 217. The other input/control devices 217 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth. In some alternate embodiments, input controller(s) 220 may be coupled to any (or none) of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse, an up/down button for volume control of thespeaker 221 and/or themicrophone 222.Touch screen 215 may also be used to implement virtual or soft buttons and one or more soft keyboards. -
Touch screen 215 provides an input interface and an output interface between the device and a user. Thedisplay controller 218 receives and/or sends electrical signals from/to thetouch screen 215.Touch screen 215 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects.Touch screen 215 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact.Touch screen 215 and display controller 218 (along with any associated modules and/or sets of instructions in memory 208) detect contact (and any movement or breaking of the contact) on thetouch screen 215 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen. In an exemplary embodiment, a point of contact between atouch screen 215 and the user corresponds to a finger of the user.Touch screen 215 may use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies may be used in other embodiments.Touch screen 215 anddisplay controller 218 may detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with atouch screen 215. -
Device 200 may also include one ormore sensors 216 such as optical sensors that comprise charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. The optical sensor may capture still images or video, where the sensor is operated in conjunction withtouch screen display 215.Device 200 may also include one ormore accelerometers 207, which may be operatively coupled toperipherals interface 204. Alternately, theaccelerometer 207 may be coupled to aninput controller 214 in the I/O subsystem 211. The accelerometer is preferably configured to output accelerometer data in the x, y, and z axes. - In some embodiments, the software components stored in
memory 208 may include anoperating system 209, acommunication module 210, a text/graphics module 211, a Global Positioning System (GPS)module 212,audio decoder 213 andapplications 214. Operating system 209 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.Communication module 210 facilitates communication with other devices over one or more external ports and also includes various software components for handling data received by theRF circuitry 205. An external port (e.g., Universal Serial Bus (USB), Firewire, etc.) may be provided and adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc. - Text/
graphics module 211 includes various known software components for rendering and displaying graphics on thetouch screen 215, including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including without limitation text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like. Additionally, soft keyboards may be provided for entering text in various applications requiring text input.GPS module 212 determines the location of the device and provides this information for use in various applications.Applications 214 may include various modules, including address books/contact list, email, instant messaging, video conferencing, media player, widgets, instant messaging, camera/image management, and the like. Examples of other applications include word processing applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication. - Returning briefly to the example of
FIG. 1 , user devices 102-106 may receive media received from amedia source 112, which preferably provides network-based media, such as streaming media or digital media files.Media source 112 may comprise one or more servers (102 a, 102 b) communicatively linked tonetwork 110, which may provide media to devices 102-105 via wired, wireless (108 b) and/or cellular (108 a) communication. It is understood that other media formats are possible in this disclosure as well, including cable, satellite, distributed on storage media, or by any other means or technique that is humanly perceptible, without regard to the form or content of such data. With regard to devices 102-106, the example ofFIG. 2 shows that any of devices 102-106 can be in the form of a device such as a personal computer, cell phone (or laptop, tablet, etc.). As will be explained in further details below,device 200 receives encoded audio through a wired or wireless connection (e.g., 802.11g, 802.11n, Bluetooth, etc.). The encoded audio is natively decoded usingdecoding software 213. After the encoded audio is decoded, one or more messages are detected. - Turning to
FIG. 3 , an exemplary architecture is provided for software stored inmemory 208. Preferably, for each of software 209-214, and particularly foraudio decoder 213 are configured in theapplication layer 304, which sits at the top of the operating system stack and contains the frameworks that are most commonly used by the software.Application layer 304 is preferably configured under an Objective-C platform containing standard application interfaces (APIs) known in the art.Application layer 304 is configured to support multiple frameworks for allowing software to operate, including, but not limited to, a programming interface (e.g., Java, UIKit framework) for providing user interface management, application lifecycle management, application event handling, multitasking, data protection via encryption, data handling, inter-application integration, push notification, local notification, accessibility, and the like. Other frameworks known in the art may be utilized as well.Media layer 303 may be configured to provideapplication layer 304 with audio, video, animation and graphics capabilities. As with the other layers comprising the stack ofFIG. 3 , the media layer comprises a number of frameworks that may be supported. In addition to frameworks for graphic and video support,media layer 303 may be configured to support an audio framework (Objective-C, Java) configured to allow the playback and management of audio content A core audio framework would be responsible for supporting various audio types, playback of audio files and streams and also provide access to device's 200 built-in audio processing units. A media player framework inmedia layer 303 would advantageously support the playing of movies, music, audio podcast, audio book files, streaming media, stored media library files, etc. at a variety of compression standards, resolutions and frame rates. -
Core services layer 302 comprises fundamental system services that all applications use, and also provides interfaces that use object-oriented abstractions for working with network protocols and for providing control over protocols stack and provide simplified use of lower-level constructs such as BSD sockets. Functions ofcore services layer 302 provide simplified tasks such as communicating with FTP and HTTP servers or resolving DNS hosts.Core OS layer 301 is the deepest layer of the architecture ofFIG. 3 and provides an interface between existing hardware and system frameworks.Core OS Layer 301 comprises the kernel environment, drivers, and basic interfaces of the operating system. Many functions including virtual memory system, threads, file system, network, and inter-process communication is managed by the kernel. It should be understood by those skilled in the art that the embodiment ofFIG. 3 describes a software architecture based on multiple abstraction layers (e.g., iOS). Other suitable architectures incorporating media players and audio reproduction are contemplated as well. As one example, the software architecture may be based on a Linux kernel comprising middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony and the like. - Turning to
FIG. 4 , an exemplary embodiment is provided of a media reproduction software architecture that may be utilized in any of the embodiments described above in connection withFIGS. 1-3 . In this example,media player 401 andaudio decoder 402 are preferably configured in an application layer (304) fordevice 200, in which each is communicatively coupled to each other and to lower layer modules 403-406 (shown separated by the dashed line inFIG. 4 ).Media player 401 may be configured to control playback of audio/visual (A/V) media locally usingmedia framework 403, subject toaudio classes 404 defined for the player (e.g., AVAudioPlayer). A device may also play A/V media via embedded web content classes (e.g. UIWebView, QT Web View) or play HTTP live streams by initializing an instance of a media player item (e.g., AVPlayerItem) using a URL. Primitive data structures formedia framework 403, including time-related data structures and opaque objects to carry and describe media data may be defined incore media framework 405. Supported audio types, playback and recording of audio files and streams may be defined incore audio 406 and may also provide access to the device's built-in audio processing units. - During one exemplary mode of operation, which will be discussed in greater detail below, the audio portion of media played using
media player 401 is stored and/or forwarded todecoder application 402. Using one or more techniques described herein below,decoder 402 processes the audio portion to detect if ancillary codes are present within the audio. If present, the ancillary codes are read, stored, and ultimately transmitted to a remote or central location (114) where the codes may be further processed to determine characteristics (e.g., identification, origin, etc.) of the media and further determine media exposure for a user associated with a device (200) for audience measurement purposes. - With regard to encoding audio,
FIG. 5 illustrates amessage 500 that may be embedded/encoded into an audio signal. In this embodiment,message 500 includes three or more layers that are inserted by encoders in a parallel format. Suitable encoding techniques are disclosed in U.S. Pat. No. 6,871,180, titled “Decoding of Information in Audio Signals,” issued Mar. 22, 2005, which is assigned to the assignee of the present application, and is incorporated by reference in its entirety herein. Other suitable techniques for encoding data in audio data are disclosed in U.S. Pat. No. 7,640,141 to Ronald S. Kolessar and U.S. Pat. No. 5,764,763 to James M. Jensen, et al., which are also assigned to the assignee of the present application, and which are incorporated by reference in their entirety herein. Other appropriate encoding techniques are disclosed in U.S. Pat. No. 5,579,124 to Aijala, et al., U.S. Pat. Nos. 5,574,962, 5,581,800 and 5,787,334 to Fardeau, et al., and U.S. Pat. No. 5,450,490 to Jensen, et al., each of which is assigned to the assignee of the present application and all of which are incorporated herein by reference in their entirety. - When utilizing a multi-layered message, a plurality of layers may be present in an encoded data stream, and each layer may be used to convey different data. Turning to
FIG. 5 ,message 500 includes afirst layer 501 containing a message comprising multiple message symbols. During the encoding process, a predefined set of audio tones (e.g., ten) or single frequency code components are added to the audio signal during a time slot for a respective message symbol. At the end of each message symbol time slot, a new set of code components is added to the audio signal to represent a new message symbol in the next message symbol time slot. At the end of such new time slot another set of code components may be added to the audio signal to represent still another message symbol, and so on during portions of the audio signal that are able to psychoacoustically mask the code components so they are inaudible. Preferably, the symbols of each message layer are selected from a unique symbol set. Inlayer 501, each symbol set includes two synchronization symbols (also referred to as marker symbols) 504, 506, a larger number ofdata symbols time code symbols 508.Time code symbols 508 and data symbols 905, 907 are preferably configured as multiple-symbol groups. - The
second layer 502 ofmessage 500 is illustrated having a similar configuration to layer 501, where each symbol set includes twosynchronization symbols data symbols time code symbols 513. The third layer 503 includes twosynchronization symbols data symbols - Sequences of data symbols within a given layer are preferably configured so that each sequence is paired with the other and is separated by a predetermined offset. Thus, as an example, if data 905 contains code 1, 2, 3 having an offset of “2”,
data 507 inlayer 501 would be 3, 4, 5. Since the same information is represented by two different data symbols that are separated in time and have different frequency components (frequency content), the message may be diverse in both time and frequency. Such a configuration is particularly advantageous where interference would otherwise render data symbols undetectable. Under one embodiment, each of the symbols in a layer have a duration (e.g., 0.2-0.8 sec) that matches other layers (e.g.,Layer1 501, Layer2 502). In another embodiment, the symbol duration may be different (e.g., Layer 2 502, Layer 3 503). During a decoding process, the decoder detects the layers and reports any predetermined segment that contains a code. -
FIG. 6 is a functional block diagram illustrating a decoding algorithm under one embodiment. An audio signal which may be encoded as described herein with a plurality of code symbols is received at adigital input 352. The received audio signal may be from streaming media, otherwise communicated signal, or a signal reproduced from storage in a device. It may be a direct-coupled or an acoustically coupled signal. From the following description in connection with the accompanying drawings, it will be appreciated thatdecoder 350 is capable of detecting codes in addition to those arranged in the formats disclosed herein. - For received audio signals in the time domain,
decoder 350 transforms such signals to the frequency domain by means offunction 356.Function 356 preferably is performed by a digital processor implementing a fast Fourier transform (FFT) although a direct cosine transform, a chirp transform or a Winograd transform algorithm (WFTA) may be employed in the alternative. Any other time-to-frequency-domain transformation function providing the necessary resolution may be employed in place of these. It will be appreciated that in certain implementations, function 356 may also be carried out by filters, by an application specific integrated circuit, or any other suitable device or combination of devices.Function 356 may also be implemented by one or more devices which also implement one or more of the remaining functions illustrated inFIG. 6 . - The frequency domain-converted audio signals are processed in a symbol values
derivation function 360, to produce a stream of symbol values for each code symbol included in the received audio signal. The produced symbol values may represent, for example, signal energy, power, sound pressure level, amplitude, etc., measured instantaneously or over a period of time, on an absolute or relative scale, and may be expressed as a single value or as multiple values. Where the symbols are encoded as groups of single frequency components each having a predetermined frequency, the symbol values preferably represent either single frequency component values or one or more values based on single frequency component values.Function 360 may be carried out by a digital processor, which advantageously carries out some or all of the other functions ofdecoder 350. However, thefunction 360 may also be carried out by an application specific integrated circuit, or by any other suitable device or combination of devices, and may be implemented by apparatus apart from the means which implement the remaining functions of thedecoder 350. - The stream of symbol values produced by the
function 360 are accumulated over time in an appropriate storage device on a symbol-by-symbol basis, as indicated byfunction 366. In particular, function 366 is advantageous for use in decoding encoded symbols which repeat periodically, by periodically accumulating symbol values for the various possible symbols. For example, if a given symbol is expected to recur every X seconds, thefunction 366 may serve to store a stream of symbol values for a period of nX seconds (n>1), and add to the stored values of one or more symbol value streams of nX seconds duration, so that peak symbol values accumulate over time, improving the signal-to-noise ratio of the stored values.Function 366 may be carried out by a digital processor (or a DSP) which advantageously carries out some or all of the other functions ofdecoder 350. However, thefunction 360 may also be carried out using a memory device separate from such a processor, or by an application specific integrated circuit, or by any other suitable device or combination of devices, and may be implemented by apparatus apart from the means which implements the remaining functions of the decoder 300. - The accumulated symbol values stored by the
function 366 are then examined by thefunction 370 to detect the presence of an encoded message and output the detected message at anoutput 376.Function 370 can be carried out by matching the stored accumulated values or a processed version of such values, against stored patterns, whether by correlation or by another pattern matching technique. However, function 370 advantageously is carried out by examining peak accumulated symbol values and their relative timing, to reconstruct their encoded message. This function may be carried out after the first stream of symbol values has been stored by thefunction 366 and/or after each subsequent stream has been added thereto, so that the message is detected once the signal-to-noise ratios of the stored, accumulated streams of symbol values reveal a valid message pattern. -
FIG. 7 is a flow chart for a decoder application according to one advantageous embodiment. Step 430 is provided for those applications in which the encoded audio signal is received in analog form, for example, where it has been picked up by a microphone or an RF receiver. The decoder ofFIG. 6 is particularly well adapted for detecting code symbols each of which includes a plurality of predetermined frequency components, e.g. ten components, within a frequency range of 1000 Hz to 3000 Hz. In this embodiment, the decoder is designed specifically to detect a message having a specific sequence wherein each symbol occupies a specified time interval (e.g., 0.5 sec). In this exemplary embodiment, it is assumed that the symbol set consists of twelve symbols, each having ten predetermined frequency components, none of which is shared with any other symbol of the symbol set. It will be appreciated that theFIG. 6 decoder may readily be modified to detect different numbers of code symbols, different numbers of components, different symbol sequences and symbol durations, as well as components arranged in different frequency bands. - In order to separate the various components, a processor on
device 200 repeatedly carries out FFTs on audio signal samples falling within successive, predetermined intervals. The intervals may overlap, although this is not required. In an exemplary embodiment, ten overlapping FFT's are carried out during each second of decoder operation. Accordingly, the energy of each symbol period falls within five FFT periods. The FFT's are preferably windowed, although this may be omitted in order to simplify the decoder. The samples are stored and, when a sufficient number are thus available, a new FFT is performed, as indicated bysteps - In this embodiment, the frequency component values are produced on a relative basis. That is, each component value is represented as a signal-to-noise ratio (SNR), produced as follows. The energy within each frequency bin of the FFT in which a frequency component of any symbol can fall provides the numerator of each corresponding SNR Its denominator is determined as an average of adjacent bin values. For example, the average of seven of the eight surrounding bin energy values may be used, the largest value of the eight being ignored in order to avoid the influence of a possible large bin energy value which could result, for example, from an audio signal component in the neighborhood of the code frequency component. Also, given that a large energy value could also appear in the code component bin, for example, due to noise or an audio signal component, the SNR is appropriately limited. In this embodiment, if SNR>6.0, then SNR is limited to 6.0, although a different maximum value may be selected. The ten SNR's of each FFT and corresponding to each symbol which may be present, are combined to form symbol SNR's which are stored in a circular symbol SNR buffer, as indicated in
step 442. In certain embodiments, the ten SNR's for a symbol are simply added, although other ways of combining the SNR's may be employed. The symbol SNR's for each of the twelve symbols are stored in the symbol SNR buffer as separate sequences, one symbol SNR for each FFT for 50 μl FFT's. After the values produced in the 50 FFT's have been stored in the symbol SNR buffer, new symbol SNR's are combined with the previously stored values, as described below. - When the symbol SNR buffer is filled, this is detected in a
step 446. In certain advantageous embodiments, the stored SNR's are adjusted to reduce the influence of noise in astep 452, although this step may be optional. In this optional step, a noise value is obtained for each symbol (row) in the buffer by obtaining the average of all stored symbol SNR's in the respective row each time the buffer is filled. Then, to compensate for the effects of noise, this average or “noise” value is subtracted from each of the stored symbol SNR values in the corresponding row. In this manner, a “symbol” appearing only briefly, and thus not a valid detection, is averaged out over time. - After the symbol SNR's have been adjusted by subtracting the noise level, the decoder attempts to recover the message by examining the pattern of maximum SNR values in the buffer in a
step 456. In certain embodiments, the maximum SNR values for each symbol are located in a process of successively combining groups of five adjacent SNR's, by weighting the values in the sequence in proportion to the sequential weighting (6 10 10 10 6) and then adding the weighted SNR's to produce a comparison SNR centered in the time period of the third SNR in the sequence. This process is carried out progressively throughout the fifty FFT periods of each symbol. For example, a first group of five SNR's for a specific symbol in FFT time periods (e.g., 1-5) are weighted and added to produce a comparison SNR for a specific FFT period (e.g., 3). Then a further comparison SNR is produced using the SNR's from successive FFT periods (e.g., 2-6), and so on until comparison values have been obtained centered on all FFT periods. However, other means may be employed for recovering the message. For example, either more or less than five SNR's may be combined, they may be combined without weighing, or they may be combined in a non-linear fashion. - After the comparison SNR values have been obtained, the decoder algorithm examines the comparison SNR values for a message pattern. Under a preferred embodiment, the synchronization (“marker”) code symbols are located first. Once this information is obtained, the decoder attempts to detect the peaks of the data symbols. The use of a predetermined offset between each data symbol in the first segment and the corresponding data symbol in the second segment provides a check on the validity of the detected message. That is, if both markers are detected and the same offset is observed between each data symbol in the first segment and its corresponding data symbol in the second segment, it is highly likely that a valid message has been received. If this is the case, the message is logged, and the SNR buffer is cleared 466. It is understood by those skilled in the art that decoder operation may be modified depending on the structure of the message, its timing, its signal path, the mode of its detection, etc., without departing from the scope of the present invention. For example, in place of storing SNR's, FFT results may be stored directly for detecting a message.
-
FIG. 8 is a flow chart for another decoder configuration according to a further advantageous embodiment likewise implemented by means of a processor controlled by a decoder application. The decoder application ofFIG. 8 is especially adapted to detect a repeating sequence of code symbols (e.g., 5 code symbols) consisting of a marker symbol followed by a plurality (e.g., 4) data symbols wherein each of the code symbols includes a plurality of predetermined frequency components and has a predetermined duration (e.g., 0.5 sec) in the message sequence. It is assumed in this example that each symbol is represented by ten unique frequency components and that the symbol set includes twelve different symbols. It is understood that this embodiment may readily be modified to detect any number of symbols, each represented by one or more frequency components. - Steps employed in the decoding process illustrated in
FIG. 8 which correspond to those ofFIG. 7 are indicated by the same reference numerals, and these steps consequently are not further described. TheFIG. 8 embodiment uses a circular buffer which is twelve symbols wide by 150 FFT periods long. Once the buffer has been filled, new symbol SNRs each replace what are than the oldest symbol SNR values. In effect, the buffer stores a fifteen second window of symbol SNR values. As indicated instep 574, once the circular buffer is filled, its contents are examined in a step 578 to detect the presence of the message pattern. Once full, the buffer remains full continuously, so that the pattern search of step 578 may be carried out after every FFT. - Since each five symbol message repeats every 2½ seconds, each symbol repeats at intervals of 2½ seconds or every 25 FFT's. In order to compensate for the effects of burst errors and the like, the SNR's R1 through R150 are combined by adding corresponding values of the repeating messages to obtain 25 combined SNR values SNRn, n=1,2 . . . 25, as follows:
-
- Accordingly, if a burst error should result in the loss of a signal interval i, only one of the six message intervals will have been lost, and the essential characteristics of the combined SNR values are likely to be unaffected by this event. Once the combined SNR values have been determined, the decoder detects the position of the marker symbol's peak as indicated by the combined SNR values and derives the data symbol sequence based on the marker's position and the peak values of the data symbols. Once the message has thus been formed, as indicated in
steps FIG. 7 the buffer is not cleared. Instead, the decoder loads a further set of SNR's in the buffer and continues to search for a message. - As in the decoder of
FIG. 7 , it will be apparent from the foregoing to modify the decoder ofFIG. 8 for different message structures, message timings, signal paths, detection modes, etc., without departing from the scope of the present invention. For example, the buffer of theFIG. 8 embodiment may be replaced by any other suitable storage device; the size of the buffer may be varied; the size of the SNR values windows may be varied, and/or the symbol repetition time may vary. Also, instead of calculating and storing signal SNR's to represent the respective symbol values, a measure of each symbol's value relative to the other possible symbols, for example, a ranking of each possible symbol's magnitude, is instead used in certain advantageous embodiments. - In a further variation which is especially useful in audience measurement applications, a relatively large number of message intervals are separately stored to permit a retrospective analysis of their contents to detect a media content change. In another embodiment, multiple buffers are employed, each accumulating data for a different number of intervals for use in the decoding method of
FIG. 8 . For example, one buffer could store a single message interval, another two accumulated intervals, a third four intervals and a fourth eight intervals. Separate detections based on the contents of each buffer are then used to detect a media content change. - Turning to
FIG. 9 , an exemplary decoder interface process is disclosed, where device (200) executes a decoder operation. The decoder in this example may be written in C, or any suitable code known in the art. At the beginning, a current version of the decoder is called and initialized in 430. At this point, use of the decoder may be dependent upon the satisfaction of anencryption key 431, which may be advantageous for limiting use of the decoder only to authorized users. The decoder interface security may comprise a required file containing encrypted decoder initialization parameters that may be used as an input for the decoder. The parameters may include pointer(s) to decoder memory, size of the decoder memory, pointer to encrypted decoder initialization parameters and pointer to an encryption key provided by the research entity, if not supplied to the application as a compile-time switch. Of course, if security is not an issue, the encryption steps may be omitted. Once any security/encryption is satisfied, the decoder loads initialization parameters that include allocating memory for audio decoding in step 432. Preferably, memory is allocated prior to executing other functions in the decoder. As audio is received indevice 200, the audio is sampled 433 and transformed (e.g., FFT) in 434. As one example, the sampled audio may comprise 2048 16-bit monophonic audio samples obtained through an 8 k sample rate, while the transformation may result in 1024 FFT bin results. During the decoding process, may use the initialized pointer to access decoder memory to obtain arrays(s) of transformed bin powers returned from the transformations, and utilize them to read code in 435. Once the code is read it may be stored in memory and transmitted to a remote location for audience measurement purposes. - In an alternate embodiment, multiple instances of the decoder may be initialized multiple times using different memory areas. In such a case, the decoder application would be responsible for keeping track of which memory pointers are used in subsequent calls to initialize and retrieve code from the proper decoder.
- In the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
Claims (21)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/955,438 US20150039321A1 (en) | 2013-07-31 | 2013-07-31 | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
US14/023,226 US9015563B2 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
US14/023,221 US20150039322A1 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding |
PCT/US2014/049202 WO2015017679A1 (en) | 2013-07-31 | 2014-07-31 | Apparatus, system and method for merging code layers for audio encoding and decoding |
US14/685,984 US9336784B2 (en) | 2013-07-31 | 2015-04-14 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/955,438 US20150039321A1 (en) | 2013-07-31 | 2013-07-31 | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/023,221 Continuation US20150039322A1 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding |
US14/023,226 Continuation US9015563B2 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US20150039321A1 true US20150039321A1 (en) | 2015-02-05 |
Family
ID=52428444
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/955,438 Abandoned US20150039321A1 (en) | 2013-07-31 | 2013-07-31 | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
US14/023,221 Abandoned US20150039322A1 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding |
US14/023,226 Active US9015563B2 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
US14/685,984 Active US9336784B2 (en) | 2013-07-31 | 2015-04-14 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/023,221 Abandoned US20150039322A1 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding |
US14/023,226 Active US9015563B2 (en) | 2013-07-31 | 2013-09-10 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
US14/685,984 Active US9336784B2 (en) | 2013-07-31 | 2015-04-14 | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
Country Status (2)
Country | Link |
---|---|
US (4) | US20150039321A1 (en) |
WO (1) | WO2015017679A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336784B2 (en) | 2013-07-31 | 2016-05-10 | The Nielsen Company (Us), Llc | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
US20160239257A1 (en) * | 2013-09-23 | 2016-08-18 | Powervoice Co., Ltd. | Device and method for outputting sound wave for content synchronization between devices and operation control for external device, and external device |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US10467286B2 (en) | 2008-10-24 | 2019-11-05 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11386908B2 (en) | 2008-10-24 | 2022-07-12 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
EP3899930A4 (en) * | 2018-12-19 | 2022-07-27 | The Nielsen Company (US), LLC. | Multiple scrambled layers for audio watermarking |
US11564003B1 (en) | 2021-09-20 | 2023-01-24 | The Nielsen Company (Us), Llc | Systems, apparatus, and methods to improve watermark detection in acoustic environments |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2933797B1 (en) * | 2012-12-17 | 2016-09-07 | Panasonic Intellectual Property Management Co., Ltd. | Information processing device and control method |
US9354970B2 (en) * | 2014-03-31 | 2016-05-31 | Advanced Micro Devices, Inc. | Method and apparatus for encoding erroneous data in an error correction code protected memory |
CN106228981B (en) * | 2016-08-03 | 2019-07-19 | 中山大学 | A kind of adaptive steganography method of MP3 based on compression domain |
US11039160B2 (en) | 2019-03-21 | 2021-06-15 | The Nielsen Company (Us), Llc | Methods and apparatus for delivering extended payloads with composite watermarks |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245665A (en) * | 1990-06-13 | 1993-09-14 | Sabine Musical Manufacturing Company, Inc. | Method and apparatus for adaptive audio resonant frequency filtering |
US5453790A (en) * | 1992-03-27 | 1995-09-26 | Alcatel N.V. | Video decoder having asynchronous operation with respect to a video display |
US6035177A (en) * | 1996-02-26 | 2000-03-07 | Donald W. Moses | Simultaneous transmission of ancillary and audio signals by means of perceptual coding |
US6119092A (en) * | 1998-06-26 | 2000-09-12 | Lsi Logic Corporation | Audio decoder bypass module for communicating compressed audio to external components |
US6687663B1 (en) * | 1999-06-25 | 2004-02-03 | Lake Technology Limited | Audio processing method and apparatus |
US20040102961A1 (en) * | 2002-11-22 | 2004-05-27 | Jensen James M. | Encoding multiple messages in audio data and detecting same |
US20040120417A1 (en) * | 2002-12-23 | 2004-06-24 | Lynch Wendell D. | Ensuring EAS performance in audio signal encoding |
US20050234731A1 (en) * | 2004-04-14 | 2005-10-20 | Microsoft Corporation | Digital media universal elementary stream |
US20070104335A1 (en) * | 2005-11-09 | 2007-05-10 | Gpe International Limited | Acoustic feedback suppression for audio amplification systems |
US20090007159A1 (en) * | 2007-06-30 | 2009-01-01 | Microsoft Corporation | Interfaces for digital media processing |
US20090193052A1 (en) * | 2007-10-06 | 2009-07-30 | Arbitron, Inc. | Gathering research data |
US7761602B1 (en) * | 2007-11-26 | 2010-07-20 | Adobe Systems Incorporated | Playback of content on portable devices |
US20120278651A1 (en) * | 2011-04-28 | 2012-11-01 | Naveen Muralimanohar | Remapping data with pointer |
US20130144631A1 (en) * | 2010-08-23 | 2013-06-06 | Panasonic Corporation | Audio signal processing apparatus and audio signal processing method |
US8768713B2 (en) * | 2010-03-15 | 2014-07-01 | The Nielsen Company (Us), Llc | Set-top-box with integrated encoder/decoder for audience measurement |
US20140226814A1 (en) * | 2011-03-16 | 2014-08-14 | Zte (Usa) Inc. | Methods and apparatus for independent decryption of encrypted video frames |
Family Cites Families (302)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4230990C1 (en) | 1979-03-16 | 2002-04-09 | John G Lert Jr | Broadcast program identification method and system |
US4697209A (en) | 1984-04-26 | 1987-09-29 | A. C. Nielsen Company | Methods and apparatus for automatically identifying programs viewed or recorded |
US4647974A (en) | 1985-04-12 | 1987-03-03 | Rca Corporation | Station signature system |
US4677466A (en) | 1985-07-29 | 1987-06-30 | A. C. Nielsen Company | Broadcast program identification method and apparatus |
US5128752A (en) | 1986-03-10 | 1992-07-07 | Kohorn H Von | System and method for generating and redeeming tokens |
US5227874A (en) | 1986-03-10 | 1993-07-13 | Kohorn H Von | Method for measuring the effectiveness of stimuli on decisions of shoppers |
US4926255A (en) | 1986-03-10 | 1990-05-15 | Kohorn H Von | System for evaluation of response to broadcast transmissions |
US4745468B1 (en) | 1986-03-10 | 1991-06-11 | System for evaluation and recording of responses to broadcast transmissions | |
US4876592A (en) | 1986-03-10 | 1989-10-24 | Henry Von Kohorn | System for merchandising and the evaluation of responses to broadcast transmissions |
US4973952A (en) | 1987-09-21 | 1990-11-27 | Information Resources, Inc. | Shopping cart display system |
US4876736A (en) | 1987-09-23 | 1989-10-24 | A. C. Nielsen Company | Method and apparatus for determining channel reception of a receiver |
US5081680A (en) | 1987-11-20 | 1992-01-14 | General Instrument Corporation | Initial reporting of remotely generated data |
US5023929A (en) | 1988-09-15 | 1991-06-11 | Npd Research, Inc. | Audio frequency based market survey method |
US5019899A (en) | 1988-11-01 | 1991-05-28 | Control Data Corporation | Electronic data encoding and recognition system |
US5401946A (en) | 1991-07-22 | 1995-03-28 | Weinblatt; Lee S. | Technique for correlating purchasing behavior of a consumer to advertisements |
US5740035A (en) | 1991-07-23 | 1998-04-14 | Control Data Corporation | Self-administered survey systems, methods and devices |
FR2681997A1 (en) | 1991-09-30 | 1993-04-02 | Arbitron Cy | METHOD AND DEVICE FOR AUTOMATICALLY IDENTIFYING A PROGRAM COMPRISING A SOUND SIGNAL |
US5157489A (en) | 1991-10-28 | 1992-10-20 | Virgil Lowe | Apparatus and method for reducing quantizing distortion |
US5734413A (en) | 1991-11-20 | 1998-03-31 | Thomson Multimedia S.A. | Transaction based interactive television system |
US6553178B2 (en) | 1992-02-07 | 2003-04-22 | Max Abecassis | Advertisement subsidized video-on-demand system |
US5331544A (en) | 1992-04-23 | 1994-07-19 | A. C. Nielsen Company | Market research method and system for collecting retail store and shopper market research data |
US5249044A (en) | 1992-05-05 | 1993-09-28 | Kohorn H Von | Product information storage, display, and coupon dispensing system |
GB9221678D0 (en) | 1992-10-15 | 1992-11-25 | Taylor Nelson Group Limited | Identifying a received programme stream |
CA2147835C (en) | 1992-11-16 | 2006-01-31 | Victor A. Aijala | Method and apparatus for encoding/decoding broadcast or recorded segments and monitoring audience exposure thereto |
CA2106143C (en) | 1992-11-25 | 2004-02-24 | William L. Thomas | Universal broadcast code and multi-level encoded signal monitoring system |
AU674189B2 (en) | 1993-02-23 | 1996-12-12 | Moore North America, Inc. | A method and system for gathering and analyzing customer and purchasing information |
DE69432199T2 (en) | 1993-05-24 | 2004-01-08 | Sun Microsystems, Inc., Mountain View | Graphical user interface with methods for interfacing with remote control devices |
US5524195A (en) | 1993-05-24 | 1996-06-04 | Sun Microsystems, Inc. | Graphical user interface for interactive television with an animated agent |
US5481294A (en) | 1993-10-27 | 1996-01-02 | A. C. Nielsen Company | Audience measurement system utilizing ancillary codes and passive signatures |
DE69409407T2 (en) | 1993-10-27 | 1998-10-29 | Princeton Electronic Billboard | DOWNWARD CONTROL OF AN ELECTRONIC DISPLAY PANEL |
US6345104B1 (en) | 1994-03-17 | 2002-02-05 | Digimarc Corporation | Digital watermarks and methods for security documents |
US6614914B1 (en) | 1995-05-08 | 2003-09-02 | Digimarc Corporation | Watermark embedder and reader |
US5748763A (en) | 1993-11-18 | 1998-05-05 | Digimarc Corporation | Image steganography system featuring perceptually adaptive and globally scalable signal embedding |
US5841978A (en) | 1993-11-18 | 1998-11-24 | Digimarc Corporation | Network linking method using steganographically embedded data objects |
PL183573B1 (en) | 1994-03-31 | 2002-06-28 | Arbitron Co | Audio signal encoding system and decoding system |
US5450490A (en) | 1994-03-31 | 1995-09-12 | The Arbitron Company | Apparatus and methods for including codes in audio signals and decoding |
US5666293A (en) | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
US5594934A (en) | 1994-09-21 | 1997-01-14 | A.C. Nielsen Company | Real time correlation meter |
US6560349B1 (en) | 1994-10-21 | 2003-05-06 | Digimarc Corporation | Audio monitoring using steganographic information |
US5629739A (en) | 1995-03-06 | 1997-05-13 | A.C. Nielsen Company | Apparatus and method for injecting an ancillary signal into a low energy density portion of a color television frequency spectrum |
US5719634A (en) | 1995-04-19 | 1998-02-17 | Sony Corportion | Methods of and apparatus for encoding and decoding digital data for representation in a video frame |
US6760463B2 (en) | 1995-05-08 | 2004-07-06 | Digimarc Corporation | Watermarking methods and media |
US5659366A (en) | 1995-05-10 | 1997-08-19 | Matsushita Electric Corporation Of America | Notification system for television receivers |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US5682196A (en) | 1995-06-22 | 1997-10-28 | Actv, Inc. | Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers |
DE19523515C2 (en) | 1995-06-30 | 1998-01-29 | Bci Rundfunkberatung Gmbh & Co | Process and system for the transmitter-related recording of listener-side data |
AU693371B2 (en) | 1995-07-11 | 1998-06-25 | Matsushita Electric Industrial Co., Ltd. | Multimedia playing apparatus utilizing synchronization of scenario-defined processing time points with playing of finite-time monomedia item |
US7171018B2 (en) | 1995-07-27 | 2007-01-30 | Digimarc Corporation | Portable devices and methods employing digital watermarking |
US7562392B1 (en) | 1999-05-19 | 2009-07-14 | Digimarc Corporation | Methods of interacting with audio and ambient music |
US7051086B2 (en) | 1995-07-27 | 2006-05-23 | Digimarc Corporation | Method of linking on-line data to printed documents |
US6411725B1 (en) | 1995-07-27 | 2002-06-25 | Digimarc Corporation | Watermark enabled video objects |
US7003731B1 (en) | 1995-07-27 | 2006-02-21 | Digimare Corporation | User control and activation of watermark enabled objects |
US6829368B2 (en) | 2000-01-26 | 2004-12-07 | Digimarc Corporation | Establishing and interacting with on-line media collections using identifiers in media signals |
US7711564B2 (en) | 1995-07-27 | 2010-05-04 | Digimarc Corporation | Connected audio and other media objects |
US7095871B2 (en) | 1995-07-27 | 2006-08-22 | Digimarc Corporation | Digital asset management and linking media signals with related data using watermarks |
US6505160B1 (en) | 1995-07-27 | 2003-01-07 | Digimarc Corporation | Connected audio and other media objects |
US6408331B1 (en) | 1995-07-27 | 2002-06-18 | Digimarc Corporation | Computer linking methods using encoded graphics |
JPH0993550A (en) | 1995-09-22 | 1997-04-04 | Toshiba Corp | Supplement program detection and display device |
EP0766468B1 (en) | 1995-09-28 | 2006-05-03 | Nec Corporation | Method and system for inserting a spread spectrum watermark into multimedia data |
US5850249A (en) | 1995-10-12 | 1998-12-15 | Nielsen Media Research, Inc. | Receiver monitoring system with local encoding |
US5966120A (en) | 1995-11-21 | 1999-10-12 | Imedia Corporation | Method and apparatus for combining and distributing data with pre-formatted real-time video |
US5872588A (en) | 1995-12-06 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for monitoring audio-visual materials presented to a subscriber |
US20020049832A1 (en) | 1996-03-08 | 2002-04-25 | Craig Ullman | Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments |
US7505605B2 (en) | 1996-04-25 | 2009-03-17 | Digimarc Corporation | Portable devices and methods employing digital watermarking |
US5893067A (en) | 1996-05-31 | 1999-04-06 | Massachusetts Institute Of Technology | Method and apparatus for echo data hiding in audio signals |
US5815671A (en) | 1996-06-11 | 1998-09-29 | Command Audio Corporation | Method and apparatus for encoding and storing audio/video information for subsequent predetermined retrieval |
US7457962B2 (en) | 1996-07-02 | 2008-11-25 | Wistaria Trading, Inc | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US5918223A (en) | 1996-07-22 | 1999-06-29 | Muscle Fish | Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information |
US6513014B1 (en) | 1996-07-24 | 2003-01-28 | Walker Digital, Llc | Method and apparatus for administering a survey via a television transmission network |
US8306811B2 (en) | 1996-08-30 | 2012-11-06 | Digimarc Corporation | Embedding data in audio and detecting embedded data in audio |
US5848155A (en) | 1996-09-04 | 1998-12-08 | Nec Research Institute, Inc. | Spread spectrum watermark for embedded signalling |
US5719880A (en) * | 1996-09-20 | 1998-02-17 | Texas Instruments Incorporated, A Delaware Corporation | On-chip operation for memories |
US5933789A (en) | 1996-11-12 | 1999-08-03 | Atlantic Richfield Company | Method and system for applying dispersive normal moveout corrections to seismic survey signals |
US6331876B1 (en) | 1996-11-12 | 2001-12-18 | U.S. Philips Corporation | Method of updating software in a video receiver |
US6675383B1 (en) | 1997-01-22 | 2004-01-06 | Nielsen Media Research, Inc. | Source detection apparatus and method for audience measurement |
AU748174B2 (en) | 1997-04-01 | 2002-05-30 | Koninklijke Philips Electronics N.V. | Transmission system comprising means for transmitting a logo |
US6049830A (en) | 1997-05-13 | 2000-04-11 | Sony Corporation | Peripheral software download of a broadcast receiver |
US5987855A (en) | 1997-07-03 | 1999-11-23 | Ethicon, Inc. | Method of and apparatus for sealing surgical suture packages |
US8090142B2 (en) | 1997-07-24 | 2012-01-03 | Regents Of The University Of Minnesota | Embedding data in and detecting embedded data from video objects |
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
US6208735B1 (en) | 1997-09-10 | 2001-03-27 | Nec Research Institute, Inc. | Secure spread spectrum watermarking for multimedia data |
US6600496B1 (en) | 1997-09-26 | 2003-07-29 | Sun Microsystems, Inc. | Interactive graphical user interface for television set-top box |
US6034722A (en) | 1997-11-03 | 2000-03-07 | Trimble Navigation Limited | Remote control and viewing for a total station |
US6286140B1 (en) | 1997-11-20 | 2001-09-04 | Thomas P. Ivanyi | System and method for measuring and storing information pertaining to television viewer or user behavior |
EP0926892B1 (en) | 1997-12-26 | 2004-09-29 | Matsushita Electric Industrial Co., Ltd. | Video clip identification system unusable for commercial cutting |
US6389055B1 (en) | 1998-03-30 | 2002-05-14 | Lucent Technologies, Inc. | Integrating digital data with perceptible signals |
DE69830423D1 (en) | 1998-05-12 | 2005-07-07 | Nielsen Media Res Inc | Device for recording the ratings of digital television |
US6513160B2 (en) | 1998-06-17 | 2003-01-28 | Opentv, Inc. | System and method for promoting viewer interaction in a television system |
US7006555B1 (en) | 1998-07-16 | 2006-02-28 | Nielsen Media Research, Inc. | Spectral audio encoding |
US6272176B1 (en) | 1998-07-16 | 2001-08-07 | Nielsen Media Research, Inc. | Broadcast encoding system and method |
US7110984B1 (en) | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
US6226618B1 (en) | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US7962413B2 (en) | 1998-08-13 | 2011-06-14 | International Business Machines Corporation | End-user system of preventing unauthorized rerecording of multimedia content |
US7373513B2 (en) | 1998-09-25 | 2008-05-13 | Digimarc Corporation | Transmarking of multimedia signals |
US7197156B1 (en) | 1998-09-25 | 2007-03-27 | Digimarc Corporation | Method and apparatus for embedding auxiliary information within original data |
US6996213B1 (en) | 1998-09-29 | 2006-02-07 | Sun Microsystems, Inc. | Superposition of data over voice |
US8290351B2 (en) | 2001-04-03 | 2012-10-16 | Prime Research Alliance E., Inc. | Alternative advertising in prerecorded media |
US6298348B1 (en) | 1998-12-03 | 2001-10-02 | Expanse Networks, Inc. | Consumer profiling system |
US6216129B1 (en) | 1998-12-03 | 2001-04-10 | Expanse Networks, Inc. | Advertisement selection system supporting discretionary target market characteristics |
US6760916B2 (en) | 2000-01-14 | 2004-07-06 | Parkervision, Inc. | Method, system and computer program product for producing and distributing enhanced media downstreams |
US6055573A (en) | 1998-12-30 | 2000-04-25 | Supermarkets Online, Inc. | Communicating with a computer based on an updated purchase behavior classification of a particular consumer |
US7421723B2 (en) | 1999-01-07 | 2008-09-02 | Nielsen Media Research, Inc. | Detection of media links in broadcast signals |
US20020059218A1 (en) | 1999-01-26 | 2002-05-16 | Katherine Grace August | System and method for obtaining real time survey information for media programming using input device |
GB9902480D0 (en) | 1999-02-05 | 1999-03-24 | Ncr Int Inc | Method and apparatus for advertising over a communications network |
WO2000064160A1 (en) | 1999-04-16 | 2000-10-26 | Sony Corporation | Data transmitting method and data transmitter |
US7143949B1 (en) | 2000-04-05 | 2006-12-05 | Digimarc Corporation | Internet-linking scanner |
US20020062382A1 (en) | 1999-05-19 | 2002-05-23 | Rhoads Geoffrey B. | Collateral data combined with other data to select web site |
US7565294B2 (en) | 1999-05-19 | 2009-07-21 | Digimarc Corporation | Methods and systems employing digital content |
US7185201B2 (en) | 1999-05-19 | 2007-02-27 | Digimarc Corporation | Content identifiers triggering corresponding responses |
US20020032734A1 (en) | 2000-07-26 | 2002-03-14 | Rhoads Geoffrey B. | Collateral data combined with user characteristics to select web site |
US6291559B1 (en) | 1999-05-19 | 2001-09-18 | Protein Technologies International | Soy protein thickener |
US6871180B1 (en) | 1999-05-25 | 2005-03-22 | Arbitron Inc. | Decoding of information in audio signals |
US7770016B2 (en) | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
US6748362B1 (en) * | 1999-09-03 | 2004-06-08 | Thomas W. Meyer | Process, system, and apparatus for embedding data in compressed audio, image video and other media files and the like |
AU7358200A (en) | 1999-09-09 | 2001-04-10 | E-Studiolive, Inc. | Client presentation page content synchronized to a streaming data signal |
US7194752B1 (en) | 1999-10-19 | 2007-03-20 | Iceberg Industries, Llc | Method and apparatus for automatically recognizing input audio and/or video streams |
US7174293B2 (en) | 1999-09-21 | 2007-02-06 | Iceberg Industries Llc | Audio identification system and method |
US7949722B1 (en) | 1999-09-29 | 2011-05-24 | Actv Inc. | Enhanced video programming system and method utilizing user-profile information |
WO2001024078A1 (en) | 1999-09-30 | 2001-04-05 | Oy Riddes Ltd | A method for carrying out questionnaire based survey in cellular radio system, a cellular radio system and a base station |
US6941275B1 (en) | 1999-10-07 | 2005-09-06 | Remi Swierczek | Music identification system |
AU773284B2 (en) | 1999-10-18 | 2004-05-20 | Daikin Industries, Ltd. | Refrigerating device |
NZ518774A (en) | 1999-10-22 | 2004-09-24 | Activesky Inc | An object oriented video system |
US9076448B2 (en) | 1999-11-12 | 2015-07-07 | Nuance Communications, Inc. | Distributed real time speech recognition system |
WO2001040963A1 (en) | 1999-11-30 | 2001-06-07 | Lightflow.Com, Inc. | Internet service system |
US6853634B1 (en) | 1999-12-14 | 2005-02-08 | Nortel Networks Limited | Anonymity in a presence management system |
AU2001232927A1 (en) | 2000-01-24 | 2001-07-31 | Speakout.Com, Inc. | System, method and computer program product for collection of opinion data |
AU2001241459A1 (en) | 2000-02-08 | 2001-08-20 | Kovac×Ñ, Mario | System and method for advertisement sponsored content distribution |
US7266501B2 (en) | 2000-03-02 | 2007-09-04 | Akiba Electronics Institute Llc | Method and apparatus for accommodating primary content audio and secondary content remaining audio capability in the digital audio production process |
US6308327B1 (en) | 2000-03-21 | 2001-10-23 | International Business Machines Corporation | Method and apparatus for integrated real-time interactive content insertion and monitoring in E-commerce enabled interactive digital TV |
MXPA02009776A (en) | 2000-04-03 | 2004-09-06 | Pugliese Company | System and method for displaying and selling goods and services. |
US6968564B1 (en) | 2000-04-06 | 2005-11-22 | Nielsen Media Research, Inc. | Multi-band spectral audio encoding |
US8121843B2 (en) | 2000-05-02 | 2012-02-21 | Digimarc Corporation | Fingerprint methods and systems for media signals |
US20020091991A1 (en) | 2000-05-11 | 2002-07-11 | Castro Juan Carlos | Unified real-time microprocessor computer |
US6954728B1 (en) | 2000-05-15 | 2005-10-11 | Avatizing, Llc | System and method for consumer-selected advertising and branding in interactive media |
US20020010584A1 (en) | 2000-05-24 | 2002-01-24 | Schultz Mitchell Jay | Interactive voice communication method and system for information and entertainment |
US6970886B1 (en) | 2000-05-25 | 2005-11-29 | Digimarc Corporation | Consumer driven methods for associating content indentifiers with related web addresses |
US20040006696A1 (en) | 2000-06-08 | 2004-01-08 | Seung-Won Shin | Watermark embedding and extracting method for protecting digital audio contents copyright and preventing duplication and apparatus using thereof |
GB2364485B (en) | 2000-07-04 | 2002-06-12 | Saj Muzaffar | Interactive broadcast system |
EP1305893A4 (en) | 2000-07-10 | 2003-09-24 | Viven Ltd | Broadcast content over cellular telephones |
US6512836B1 (en) | 2000-07-28 | 2003-01-28 | Verizon Laboratories Inc. | Systems and methods for etching digital watermarks |
US6990453B2 (en) | 2000-07-31 | 2006-01-24 | Landmark Digital Services Llc | System and methods for recognizing sound and music signals in high noise and distortion |
US7853664B1 (en) | 2000-07-31 | 2010-12-14 | Landmark Digital Services Llc | Method and system for purchasing pre-recorded music |
JP4785283B2 (en) | 2000-07-31 | 2011-10-05 | キヤノン株式会社 | Server computer, control method and program |
US6647269B2 (en) | 2000-08-07 | 2003-11-11 | Telcontar | Method and system for analyzing advertisements delivered to a mobile unit |
WO2002017591A2 (en) | 2000-08-08 | 2002-02-28 | Hiwire, Inc. | Data item replacement in a media stream of a streaming media |
WO2002015081A1 (en) | 2000-08-14 | 2002-02-21 | Yahoo! Inc. | Offline-online incentive points system and method |
WO2002015587A2 (en) | 2000-08-16 | 2002-02-21 | Dolby Laboratories Licensing Corporation | Modulating one or more parameters of an audio or video perceptual coding system in response to supplemental information |
US6714683B1 (en) | 2000-08-24 | 2004-03-30 | Digimarc Corporation | Wavelet based feature modulation watermarks and related applications |
US6745011B1 (en) | 2000-09-01 | 2004-06-01 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US7656930B2 (en) | 2001-09-10 | 2010-02-02 | Digimarc Corporation | Assessing quality of service using digital watermark information |
US6674876B1 (en) | 2000-09-14 | 2004-01-06 | Digimarc Corporation | Watermarking in the time-frequency domain |
US6760042B2 (en) | 2000-09-15 | 2004-07-06 | International Business Machines Corporation | System and method of processing MPEG streams for storyboard and rights metadata insertion |
US20020111934A1 (en) | 2000-10-17 | 2002-08-15 | Shankar Narayan | Question associated information storage and retrieval architecture using internet gidgets |
US20020174425A1 (en) | 2000-10-26 | 2002-11-21 | Markel Steven O. | Collection of affinity data from television, video, or similar transmissions |
US8594364B2 (en) | 2000-11-02 | 2013-11-26 | Digimarc Corporation | Batch identifier registration and embedding in media signals |
US7103556B2 (en) | 2000-11-02 | 2006-09-05 | Jpmorgan Chase Bank, N.A. | System and method for aggregate portfolio client support |
US6642966B1 (en) | 2000-11-06 | 2003-11-04 | Tektronix, Inc. | Subliminally embedded keys in video for synchronization |
US20020092022A1 (en) | 2000-11-16 | 2002-07-11 | Dudkicwicz Gil Gavriel | System and method for using programming event timing data in a recording device |
CA2327554A1 (en) | 2000-11-28 | 2002-05-28 | E. John R. Sinton | A transaction execution system and method with user proxy and middleware |
ES2388357T3 (en) | 2000-11-30 | 2012-10-11 | Intrasonics S.A.R.L. | Mobile phone to collect audience index data |
US20020072982A1 (en) | 2000-12-12 | 2002-06-13 | Shazam Entertainment Ltd. | Method and system for interacting with a user in an experiential environment |
WO2002049363A1 (en) | 2000-12-15 | 2002-06-20 | Agency For Science, Technology And Research | Method and system of digital watermarking for compressed audio |
JP2002202787A (en) | 2000-12-28 | 2002-07-19 | Sony Corp | Contents data, recording medium, data recording method and apparatus, data transmission method and apparatus, data output method and apparatus, data reproducing method and apparatus, data receiving method and apparatus |
JP4765182B2 (en) | 2001-01-19 | 2011-09-07 | ソニー株式会社 | Interactive television communication method and interactive television communication client device |
US6630963B1 (en) | 2001-01-23 | 2003-10-07 | Digeo, Inc. | Synchronizing a video program from a television broadcast with a secondary audio program |
US20040163020A1 (en) | 2002-01-25 | 2004-08-19 | David Sidman | Apparatus method and system for registration effecting information access |
US20020162118A1 (en) | 2001-01-30 | 2002-10-31 | Levy Kenneth L. | Efficient interactive TV |
US7221405B2 (en) | 2001-01-31 | 2007-05-22 | International Business Machines Corporation | Universal closed caption portable receiver |
US20020108125A1 (en) | 2001-02-07 | 2002-08-08 | Joao Raymond Anthony | Apparatus and method for facilitating viewer or listener interaction |
WO2002065305A1 (en) | 2001-02-13 | 2002-08-22 | Yahoo Inc. | Method and system for producing and administering a web-cast event |
US20020112002A1 (en) | 2001-02-15 | 2002-08-15 | Abato Michael R. | System and process for creating a virtual stage and presenting enhanced content via the virtual stage |
JP2002247610A (en) | 2001-02-16 | 2002-08-30 | Mitsubishi Electric Corp | Broadcast system |
WO2002069121A1 (en) | 2001-02-26 | 2002-09-06 | Ip Planet Networks Ltd. | Modular interactive application generation system |
US20020124246A1 (en) | 2001-03-02 | 2002-09-05 | Kaminsky David Louis | Methods, systems and program products for tracking information distribution |
US7254249B2 (en) | 2001-03-05 | 2007-08-07 | Digimarc Corporation | Embedding location data in video |
US20030115598A1 (en) | 2001-03-23 | 2003-06-19 | Pantoja William E. | System and method for interactively producing a web-based multimedia presentation |
US20020138851A1 (en) | 2001-03-23 | 2002-09-26 | Koninklijke Philips Electronics N.V. | Methods and apparatus for simultaneously viewing multiple television programs |
US7363278B2 (en) | 2001-04-05 | 2008-04-22 | Audible Magic Corporation | Copyright detection and protection system and method |
WO2002087212A2 (en) | 2001-04-20 | 2002-10-31 | France Telecom Research And Development L.L.C. | Replacing commercials according to location and time |
EP1267572A2 (en) | 2001-06-11 | 2002-12-18 | Canal+ Technologies Société Anonyme | Improvements in the field of programme delivery |
US7266832B2 (en) | 2001-06-14 | 2007-09-04 | Digeo, Inc. | Advertisement swapping using an aggregator for an interactive television system |
DE10129239C1 (en) | 2001-06-18 | 2002-10-31 | Fraunhofer Ges Forschung | Audio signal water-marking method processes water-mark signal before embedding in audio signal so that it is not audibly perceived |
US6741684B2 (en) | 2001-06-26 | 2004-05-25 | Koninklijke Philips Electronics N.V. | Interactive TV using remote control with built-in phone |
US6795972B2 (en) | 2001-06-29 | 2004-09-21 | Scientific-Atlanta, Inc. | Subscriber television system user interface with a virtual reality media space |
CN2483104Y (en) | 2001-07-12 | 2002-03-27 | 邢占赟 | Multiple blade liquid applying apparatus |
EP1410380B1 (en) | 2001-07-20 | 2010-04-28 | Gracenote, Inc. | Automatic identification of sound recordings |
CA2457089A1 (en) | 2001-08-14 | 2003-02-27 | Central Research Laboratories Limited | System to provide access to information related to a broadcast signal |
US7158943B2 (en) | 2001-09-04 | 2007-01-02 | Ramon Van Der Riet | Marketing communication and transaction/distribution services platform for building and managing personalized customer relationships |
JP2003208187A (en) | 2001-09-17 | 2003-07-25 | Matsushita Electric Ind Co Ltd | Data-update apparatus, reproduction apparatus, data- addition apparatus, data-detection apparatus and data- removal apparatus |
US6724914B2 (en) | 2001-10-16 | 2004-04-20 | Digimarc Corporation | Progressive watermark decoding on a distributed computing platform |
US7343417B2 (en) | 2001-11-30 | 2008-03-11 | Knowledge Networks, Inc. | System and method for rating media information |
US7392394B2 (en) | 2001-12-13 | 2008-06-24 | Digimarc Corporation | Digital watermarking with variable orientation and protocols |
US7215280B1 (en) | 2001-12-31 | 2007-05-08 | Rdpa, Llc | Satellite positioning system enabled media exposure |
WO2003062960A2 (en) | 2002-01-22 | 2003-07-31 | Digimarc Corporation | Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding |
US20030177488A1 (en) | 2002-03-12 | 2003-09-18 | Smith Geoff S. | Systems and methods for media audience measurement |
US20030210803A1 (en) | 2002-03-29 | 2003-11-13 | Canon Kabushiki Kaisha | Image processing apparatus and method |
AU2003222159A1 (en) | 2002-04-02 | 2003-10-20 | Worldcom, Inc. | Messaging response system |
ES2312772T3 (en) | 2002-04-25 | 2009-03-01 | Landmark Digital Services Llc | SOLID EQUIVALENCE AND INVENTORY OF AUDIO PATTERN. |
US20030204844A1 (en) | 2002-04-26 | 2003-10-30 | Brant Steven B. | Video messaging system |
US7908626B2 (en) | 2002-05-03 | 2011-03-15 | Time Warner Interactive Video Group, Inc. | Network based digital information and entertainment storage and delivery system |
JP2005525600A (en) | 2002-05-10 | 2005-08-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Embedding and extracting watermarks |
US7899915B2 (en) | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US6766523B2 (en) | 2002-05-31 | 2004-07-20 | Microsoft Corporation | System and method for identifying and segmenting repeating media objects embedded in a stream |
US20040125125A1 (en) | 2002-06-29 | 2004-07-01 | Levy Kenneth L. | Embedded data windows in audio sequences and video frames |
US20040004630A1 (en) | 2002-07-04 | 2004-01-08 | Hari Kalva | Interactive audio-visual system with visual remote control unit |
EP1540955A4 (en) | 2002-07-09 | 2007-08-01 | Kaleidescape Inc | Content and key distribution system for digital content representing media streams |
US20050271246A1 (en) | 2002-07-10 | 2005-12-08 | Sharma Ravi K | Watermark payload encryption methods and systems |
US9349411B2 (en) | 2002-07-16 | 2016-05-24 | Digimarc Corporation | Digital watermarking and fingerprinting applications for copy protection |
JP2005534051A (en) | 2002-07-22 | 2005-11-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Determine the type of signal encoder |
US7239981B2 (en) | 2002-07-26 | 2007-07-03 | Arbitron Inc. | Systems and methods for gathering audience measurement data |
GB0218711D0 (en) | 2002-08-12 | 2002-09-18 | Mitel Knowledge Corp | System and method for facilitating communication using presence and communication services |
EP1398732A3 (en) | 2002-09-04 | 2006-09-27 | Matsushita Electric Industrial Co., Ltd. | Digital watermark-embedding and detecting |
US7222071B2 (en) | 2002-09-27 | 2007-05-22 | Arbitron Inc. | Audio data receipt/exposure measurement with code monitoring and signature extraction |
KR100449742B1 (en) | 2002-10-01 | 2004-09-22 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving SMIL broadcasting |
US20060107195A1 (en) | 2002-10-02 | 2006-05-18 | Arun Ramaswamy | Methods and apparatus to present survey information |
EP2782337A3 (en) | 2002-10-15 | 2014-11-26 | Verance Corporation | Media monitoring, management and information system |
KR20050061566A (en) | 2002-10-28 | 2005-06-22 | 그레이스노트, 인코포레이티드 | Personal audio recording system |
WO2004040475A2 (en) | 2002-11-01 | 2004-05-13 | Koninklijke Philips Electronics N.V. | Improved audio data fingerprint searching |
US7082434B2 (en) | 2003-04-17 | 2006-07-25 | Gosselin Gregory P | Method, computer useable medium, and system for analyzing media exposure |
US7317716B1 (en) | 2003-07-25 | 2008-01-08 | Verizon Laboratories Inc. | Methods and systems for presence-based telephony communications |
GB0318290D0 (en) | 2003-08-05 | 2003-09-10 | Koninkl Philips Electronics Nv | Shared experience of media content |
US20050033758A1 (en) | 2003-08-08 | 2005-02-10 | Baxter Brent A. | Media indexer |
US7592908B2 (en) | 2003-08-13 | 2009-09-22 | Arbitron, Inc. | Universal display exposure monitor using personal locator service |
AU2003259018A1 (en) | 2003-09-09 | 2005-03-29 | Pixelmetrix Corporation | Auditor for monitoring splicing of digital content |
US7788696B2 (en) | 2003-10-15 | 2010-08-31 | Microsoft Corporation | Inferring information about media stream objects |
EP1678708A1 (en) | 2003-10-17 | 2006-07-12 | Koninklijke Philips Electronics N.V. | Signal encoding |
DE60319449T2 (en) | 2003-11-27 | 2009-03-12 | Advestigo | BEGINNING SYSTEM OF MULTIMEDIA DOCUMENTS |
WO2005052935A2 (en) | 2003-11-28 | 2005-06-09 | Koninklijke Philips Electronics N.V. | Method and apparatus for encoding or decoding a bitstream |
US8023882B2 (en) | 2004-01-14 | 2011-09-20 | The Nielsen Company (Us), Llc. | Portable audience measurement architectures and methods for portable audience measurement |
US7463143B2 (en) | 2004-03-15 | 2008-12-09 | Arbioran | Methods and systems for gathering market research data within commercial establishments |
US8127137B2 (en) | 2004-03-18 | 2012-02-28 | Digimarc Corporation | Watermark payload encryption for media including multiple watermarks |
AU2005226671B8 (en) | 2004-03-19 | 2008-05-08 | Arbitron Inc. | Gathering data concerning publication usage |
JP4197307B2 (en) | 2004-03-30 | 2008-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Digital watermark detection apparatus, detection method thereof, and program |
WO2005101243A1 (en) | 2004-04-13 | 2005-10-27 | Matsushita Electric Industrial Co. Ltd. | Method and apparatus for identifying audio such as music |
US8135606B2 (en) | 2004-04-15 | 2012-03-13 | Arbitron, Inc. | Gathering data concerning publication usage and exposure to products and/or presence in commercial establishment |
US7273978B2 (en) | 2004-05-07 | 2007-09-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Device and method for characterizing a tone signal |
DE102004023436B4 (en) | 2004-05-10 | 2006-06-14 | M2Any Gmbh | Apparatus and method for analyzing an information signal |
BRPI0516744A2 (en) | 2004-06-07 | 2013-05-28 | Sling Media Inc | Media stream playback methods received on a network and computer program product |
US7739062B2 (en) | 2004-06-24 | 2010-06-15 | Landmark Digital Services Llc | Method of characterizing the overlap of two media segments |
CA2574998C (en) | 2004-07-23 | 2011-03-15 | Nielsen Media Research, Inc. | Methods and apparatus for monitoring the insertion of local media content into a program stream |
US7693297B2 (en) | 2004-08-05 | 2010-04-06 | Xiao-Ping Zhang | Watermark embedding and detecting methods, systems, devices and components |
US7623823B2 (en) | 2004-08-31 | 2009-11-24 | Integrated Media Measurement, Inc. | Detecting and measuring exposure to media content items |
WO2006025797A1 (en) | 2004-09-01 | 2006-03-09 | Creative Technology Ltd | A search system |
GB2419763A (en) * | 2004-11-01 | 2006-05-03 | Sony Uk Ltd | Image watermarking using weighted code word coefficients |
US8200476B2 (en) * | 2004-11-04 | 2012-06-12 | Avaya Inc. | Message file editing process |
US8826328B2 (en) | 2004-11-12 | 2014-09-02 | Opentv, Inc. | Communicating primary content streams and secondary content streams including targeted advertising to a remote unit |
US7461134B2 (en) | 2004-11-19 | 2008-12-02 | W.A. Krapf, Inc. | Bi-directional communication between a web client and a web server |
WO2006058274A2 (en) | 2004-11-29 | 2006-06-01 | Arbitron Inc. | Systems and processes for use in media and/or market research |
ES2310773T3 (en) | 2005-01-21 | 2009-01-16 | Unlimited Media Gmbh | METHOD OF INCRUSTATION OF A DIGITAL WATER BRAND IN A USEFUL SIGNAL. |
US20060167747A1 (en) | 2005-01-25 | 2006-07-27 | Microsoft Corporation | Content-targeted advertising for interactive computer-based applications |
US20060224798A1 (en) | 2005-02-22 | 2006-10-05 | Klein Mark D | Personal music preference determination based on listening behavior |
EP1703460A1 (en) | 2005-03-18 | 2006-09-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for encoding and decoding symbols carrying payload data for watermarking an audio or video signal |
US20070016918A1 (en) | 2005-05-20 | 2007-01-18 | Alcorn Allan E | Detecting and tracking advertisements |
US9697231B2 (en) | 2005-11-09 | 2017-07-04 | Cxense Asa | Methods and apparatus for providing virtual media channels based on media search |
US20070118873A1 (en) | 2005-11-09 | 2007-05-24 | Bbnt Solutions Llc | Methods and apparatus for merging media content |
AU2006320693B2 (en) | 2005-11-29 | 2012-03-01 | Google Inc. | Social and interactive applications for mass media |
US20070124771A1 (en) | 2005-11-30 | 2007-05-31 | International Business Machines Corporation | Providing an item further to a broadcast |
AU2006327157B2 (en) | 2005-12-20 | 2013-03-07 | Arbitron Inc. | Methods and systems for conducting research operations |
US20070149114A1 (en) | 2005-12-28 | 2007-06-28 | Andrey Danilenko | Capture, storage and retrieval of broadcast information while on-the-go |
US7917583B2 (en) | 2006-02-17 | 2011-03-29 | Verizon Patent And Licensing Inc. | Television integrated chat and presence systems and methods |
EP1837875A1 (en) | 2006-03-22 | 2007-09-26 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for correlating two data sections |
US8683601B2 (en) | 2006-04-14 | 2014-03-25 | Google Inc. | Audio/video identification watermarking |
JP5154830B2 (en) | 2006-04-27 | 2013-02-27 | パナソニック株式会社 | Content distribution system |
US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US9386327B2 (en) | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
KR100799303B1 (en) | 2006-06-21 | 2008-01-29 | 한국전자통신연구원 | An apparatus and method for inserting/extracting capturing-resistant audio watermark based on discrete wavelet transform, audio rights protection system using it |
CN101115124B (en) | 2006-07-26 | 2012-04-18 | 日电(中国)有限公司 | Method and apparatus for identifying media program based on audio watermark |
US8887040B2 (en) | 2006-08-10 | 2014-11-11 | Qualcomm Incorporated | System and method for media content delivery |
US20080077956A1 (en) | 2006-09-12 | 2008-03-27 | James Morrison | Interactive digital media services |
US20080083003A1 (en) | 2006-09-29 | 2008-04-03 | Bryan Biniak | System for providing promotional content as part of secondary content associated with a primary broadcast |
US20080082922A1 (en) | 2006-09-29 | 2008-04-03 | Bryan Biniak | System for providing secondary content based on primary broadcast |
WO2008042953A1 (en) | 2006-10-03 | 2008-04-10 | Shazam Entertainment, Ltd. | Method for high throughput of identification of distributed broadcast content |
GB2447878A (en) | 2006-10-04 | 2008-10-01 | Nec Corp | Signalling system information in mobile telecommunications |
EP2095560B1 (en) | 2006-10-11 | 2015-09-09 | The Nielsen Company (US), LLC | Methods and apparatus for embedding codes in compressed audio data streams |
US8255763B1 (en) * | 2006-11-08 | 2012-08-28 | Marvell International Ltd. | Error correction system using an iterative product code |
KR100868763B1 (en) | 2006-12-04 | 2008-11-13 | 삼성전자주식회사 | Method and apparatus for extracting Important Spectral Component of audio signal, and method and appartus for encoding/decoding audio signal using it |
US20080168503A1 (en) | 2007-01-08 | 2008-07-10 | General Instrument Corporation | System and Method for Selecting and Viewing Broadcast Content Based on Syndication Streams |
US8181206B2 (en) | 2007-02-28 | 2012-05-15 | Time Warner Cable Inc. | Personal content server apparatus and methods |
EP2126727A4 (en) | 2007-03-12 | 2010-04-14 | Webhitcontest Inc | A method and a system for automatic evaluation of digital files |
GB0704856D0 (en) | 2007-03-13 | 2007-04-18 | Wesby Philip B | System and method for data acquisition and processing |
AU2008231138B2 (en) | 2007-03-22 | 2012-05-31 | The Nielsen Company (Us), Llc | Systems and methods to identify intentionally placed products |
JP5235347B2 (en) | 2007-07-19 | 2013-07-10 | 株式会社日立製作所 | Receiving apparatus and receiving method |
US8230226B2 (en) | 2007-08-17 | 2012-07-24 | Intel Corporation | Advanced watermarking system and method |
US8411677B1 (en) * | 2007-08-21 | 2013-04-02 | Qlogic, Corporation | Method and system for processing layered networking protocol packets |
US20090070408A1 (en) | 2007-09-07 | 2009-03-12 | At&T Knowledge Ventures, L.P. | Apparatus and method for managing delivery of media content |
US8229159B2 (en) | 2007-09-28 | 2012-07-24 | Dolby Laboratories Licensing Corporation | Multimedia coding and decoding with additional information capability |
US20090119723A1 (en) | 2007-11-05 | 2009-05-07 | John Tinsman | Systems and methods to play out advertisements |
WO2009061651A1 (en) | 2007-11-09 | 2009-05-14 | Wms Gaming, Inc. | Presenting secondary content for a wagering game |
CA2858944C (en) | 2007-11-12 | 2017-08-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
CA2708778A1 (en) | 2007-12-10 | 2009-06-18 | Deluxe Digital Studios, Inc. | Method and system for use in coordinating multimedia devices |
US8744951B2 (en) | 2008-04-18 | 2014-06-03 | Apple Inc. | Advertisement in operating system |
US7519658B1 (en) | 2008-05-02 | 2009-04-14 | International Business Machines Corporation | Automatic blogging during media viewing |
US20090307061A1 (en) | 2008-06-10 | 2009-12-10 | Integrated Media Measurement, Inc. | Measuring Exposure To Media |
US20090307084A1 (en) | 2008-06-10 | 2009-12-10 | Integrated Media Measurement, Inc. | Measuring Exposure To Media Across Multiple Media Delivery Mechanisms |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US8359205B2 (en) | 2008-10-24 | 2013-01-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US20100268573A1 (en) * | 2009-04-17 | 2010-10-21 | Anand Jain | System and method for utilizing supplemental audio beaconing in audience measurement |
US10008212B2 (en) * | 2009-04-17 | 2018-06-26 | The Nielsen Company (Us), Llc | System and method for utilizing audio encoding for measuring media exposure with environmental masking |
CN102625982B (en) | 2009-05-01 | 2015-03-18 | 尼尔森(美国)有限公司 | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
EP2487858B1 (en) * | 2011-02-04 | 2013-12-18 | BlackBerry Limited | Systems and methods for encoding control messages in an audio bitstream |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US20150039321A1 (en) | 2013-07-31 | 2015-02-05 | Arbitron Inc. | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
-
2013
- 2013-07-31 US US13/955,438 patent/US20150039321A1/en not_active Abandoned
- 2013-09-10 US US14/023,221 patent/US20150039322A1/en not_active Abandoned
- 2013-09-10 US US14/023,226 patent/US9015563B2/en active Active
-
2014
- 2014-07-31 WO PCT/US2014/049202 patent/WO2015017679A1/en active Application Filing
-
2015
- 2015-04-14 US US14/685,984 patent/US9336784B2/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245665A (en) * | 1990-06-13 | 1993-09-14 | Sabine Musical Manufacturing Company, Inc. | Method and apparatus for adaptive audio resonant frequency filtering |
US5453790A (en) * | 1992-03-27 | 1995-09-26 | Alcatel N.V. | Video decoder having asynchronous operation with respect to a video display |
US6035177A (en) * | 1996-02-26 | 2000-03-07 | Donald W. Moses | Simultaneous transmission of ancillary and audio signals by means of perceptual coding |
US6119092A (en) * | 1998-06-26 | 2000-09-12 | Lsi Logic Corporation | Audio decoder bypass module for communicating compressed audio to external components |
US6687663B1 (en) * | 1999-06-25 | 2004-02-03 | Lake Technology Limited | Audio processing method and apparatus |
US20040102961A1 (en) * | 2002-11-22 | 2004-05-27 | Jensen James M. | Encoding multiple messages in audio data and detecting same |
US20040120417A1 (en) * | 2002-12-23 | 2004-06-24 | Lynch Wendell D. | Ensuring EAS performance in audio signal encoding |
US20050234731A1 (en) * | 2004-04-14 | 2005-10-20 | Microsoft Corporation | Digital media universal elementary stream |
US20070104335A1 (en) * | 2005-11-09 | 2007-05-10 | Gpe International Limited | Acoustic feedback suppression for audio amplification systems |
US20090007159A1 (en) * | 2007-06-30 | 2009-01-01 | Microsoft Corporation | Interfaces for digital media processing |
US20090193052A1 (en) * | 2007-10-06 | 2009-07-30 | Arbitron, Inc. | Gathering research data |
US7761602B1 (en) * | 2007-11-26 | 2010-07-20 | Adobe Systems Incorporated | Playback of content on portable devices |
US8768713B2 (en) * | 2010-03-15 | 2014-07-01 | The Nielsen Company (Us), Llc | Set-top-box with integrated encoder/decoder for audience measurement |
US20130144631A1 (en) * | 2010-08-23 | 2013-06-06 | Panasonic Corporation | Audio signal processing apparatus and audio signal processing method |
US20140226814A1 (en) * | 2011-03-16 | 2014-08-14 | Zte (Usa) Inc. | Methods and apparatus for independent decryption of encrypted video frames |
US20120278651A1 (en) * | 2011-04-28 | 2012-11-01 | Naveen Muralimanohar | Remapping data with pointer |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467286B2 (en) | 2008-10-24 | 2019-11-05 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11256740B2 (en) | 2008-10-24 | 2022-02-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11386908B2 (en) | 2008-10-24 | 2022-07-12 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11809489B2 (en) | 2008-10-24 | 2023-11-07 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US9336784B2 (en) | 2013-07-31 | 2016-05-10 | The Nielsen Company (Us), Llc | Apparatus, system and method for merging code layers for audio encoding and decoding and error correction thereof |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US20160239257A1 (en) * | 2013-09-23 | 2016-08-18 | Powervoice Co., Ltd. | Device and method for outputting sound wave for content synchronization between devices and operation control for external device, and external device |
US10289378B2 (en) * | 2013-09-23 | 2019-05-14 | Powervoice Co., Ltd. | Device and method for outputting sound wave for content synchronization between devices and operation control for external device, and external device |
EP3899930A4 (en) * | 2018-12-19 | 2022-07-27 | The Nielsen Company (US), LLC. | Multiple scrambled layers for audio watermarking |
US11636864B2 (en) | 2018-12-19 | 2023-04-25 | The Nielsen Company (Us), Llc | Multiple scrambled layers for audio watermarking |
US11564003B1 (en) | 2021-09-20 | 2023-01-24 | The Nielsen Company (Us), Llc | Systems, apparatus, and methods to improve watermark detection in acoustic environments |
US11843825B2 (en) | 2021-09-20 | 2023-12-12 | The Nielsen Company (Us), Llc | Systems, apparatus, and methods to improve watermark detection in acoustic environments |
Also Published As
Publication number | Publication date |
---|---|
US20150221312A1 (en) | 2015-08-06 |
US20150039972A1 (en) | 2015-02-05 |
WO2015017679A1 (en) | 2015-02-05 |
US20150039322A1 (en) | 2015-02-05 |
US9015563B2 (en) | 2015-04-21 |
US9336784B2 (en) | 2016-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150039321A1 (en) | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device | |
JP6779956B2 (en) | Systems and methods for content delivery and management | |
US11828769B2 (en) | Multiple meter detection and processing using motion data | |
CN105872253B (en) | Live broadcast sound processing method and mobile terminal | |
CN106652996B (en) | Prompt tone generation method and device and mobile terminal | |
US20130138386A1 (en) | Movement/position monitoring and linking to media consumption | |
CN104050266B (en) | User behavior recording method, device and web browser | |
CN108319657A (en) | Detect method, storage medium and the terminal of strong rhythm point | |
CN104240278B (en) | The determination of equipment body position | |
US20090055132A1 (en) | Determining situational patterns of use for computing systems | |
EP3567377A1 (en) | Multiple meter detection and processing using motion data | |
CN112689872B (en) | Audio detection method, computer-readable storage medium and electronic device | |
CN108140013B (en) | Audio processing method and device | |
WO2013082285A1 (en) | Apparatus, system and method for activating functions in processing devices using encoded audio | |
CN106339452B (en) | Event response method and device | |
CN112823519B (en) | Video decoding method, device, electronic equipment and computer readable storage medium | |
CN111583958A (en) | Audio signal processing method, audio signal processing device, electronic equipment and storage medium | |
CN110942782A (en) | Voice compression method, voice decompression method, voice compression device, voice decompression device and electronic equipment | |
CN110730946B (en) | Volume control method and device of mobile terminal, storage medium and mobile terminal | |
CN104581538A (en) | Noise eliminating method and device | |
CN107564534A (en) | Audio quality authentication method and device | |
CN107391733B (en) | Music file fast grouping method, music file fast grouping device and terminal | |
CN107886956B (en) | Audio recognition method and device and computer storage medium | |
CN106301831B (en) | Dynamic configuration method, dynamic configuration system, server and user terminal for internet transmission information | |
KR20150039634A (en) | Electronic Device And Method for Providing Contents Of The Same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THE NIELSEN COMPANY (US), LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NEUHAUSER, ALAN;STAVROPOULOS, JOHN;MCKENNA, WILLIAM;SIGNING DATES FROM 20140825 TO 20150408;REEL/FRAME:035552/0117 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT FOR THE FIRST LIEN SECURED PARTIES, DELAWARE Free format text: SUPPLEMENTAL IP SECURITY AGREEMENT;ASSIGNOR:THE NIELSEN COMPANY ((US), LLC;REEL/FRAME:037172/0415 Effective date: 20151023 Owner name: CITIBANK, N.A., AS COLLATERAL AGENT FOR THE FIRST Free format text: SUPPLEMENTAL IP SECURITY AGREEMENT;ASSIGNOR:THE NIELSEN COMPANY ((US), LLC;REEL/FRAME:037172/0415 Effective date: 20151023 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: THE NIELSEN COMPANY (US), LLC, NEW YORK Free format text: RELEASE (REEL 037172 / FRAME 0415);ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:061750/0221 Effective date: 20221011 |