The present disclosure relates generally to media measurements, and more particularly, to methods and apparatus for embedding watermarks in a compressed digital data stream.
In modern television or radio broadcast stations, compressed digital data streams are typically used to carry video and/or audio data for transmission. For example, the Advanced Television Systems Committee (ATSC) standard for digital television (DTV) broadcasts in the United States adopted Moving Picture Experts Group (MPEG) standards (e.g., MPEG-1, MPEG-2, MPEG-3, MPEG-4, etc.) for carrying video content and Digital Audio Compression standards (e.g., AC-3, which is also known as Dolby Digital®) for carrying audio content (i.e., ATSC Standard: Digital Audio Compression (AC-3), Revision A, August 2001). The AC-3 compression standard is based on a perceptual digital audio coding technique that reduces the amount of data needed to reproduce the original audio signal while minimizing perceptible distortion. In particular, the AC-3 compression standard recognizes that the human ear is unable to perceive changes in spectral energy at particular spectral frequencies that are smaller than the masking energy at those spectral frequencies. The masking energy is a characteristic of an audio segment dependent on the tonality and noise-like characteristic of the audio segment. Different known psycho-acoustic models may be used to determine the masking energy at a particular spectral frequency. Further, the AC-3 compression standard provides a multi-channel digital audio format (e.g., 5.1 channels format) for digital television (DTV), high definition television (HDTV), digital versatile discs (DVDs), digital cable, and satellite transmissions that enables the broadcast of special sound effects (e.g., surround sound).
Existing television or radio broadcast stations employ watermarking techniques to embed watermarks within video and/or audio data streams compressed in accordance with compression standards such as the AC-3 compression standard and the MPEG Advanced Audio Coding (AAC) compression standard. Typically, watermarks are digital data that uniquely identify broadcasters and/or programs. Watermarks are typically extracted using a decoding operation at one or more reception sites (e.g., households or other media consumption sites) and, thus, may be used to assess the viewing behaviors of individual households and/or groups of households to produce ratings information.
However, many existing watermarking techniques are designed for use with analog broadcast systems. In particular, existing watermarking techniques convert analog program data to an uncompressed digital data stream, insert watermark data in the uncompressed digital data stream, and convert the watermarked data stream to an analog format prior to transmission. In the ongoing transition towards an all-digital broadcast environment in which compressed video and audio streams are transmitted by broadcast networks to local affiliates, watermark data may need to be embedded or inserted directly in a compressed digital data stream. Existing watermarking techniques may decompress the compressed digital data stream into time-domain samples, insert the watermark data into the time-domain samples, and recompress the watermarked time-domain samples into a watermarked compressed digital data stream. Such decompression/compression may cause degradation in the quality of the media content in the compressed digital data stream. Further, existing decompression/compression techniques require additional equipment and cause delay of the audio component of a broadcast in a manner that, in some cases, may be unacceptable. Moreover, the methods employed by local broadcasting affiliates to receive compressed digital data streams from their parent networks and to insert local content through sophisticated splicing equipment prevent conversion of a compressed digital data stream to a time-domain (uncompressed) signal prior to recompression of the digital data streams.
In general, methods and apparatus for embedding watermarks in compressed digital data streams are disclosed herein. The methods and apparatus disclosed herein may be used to embed watermarks in compressed digital data streams without prior decompression of the compressed digital data streams. As a result, the methods and apparatus disclosed herein eliminate the need to subject compressed digital data streams to multiple decompression/compression cycles, which are typically unacceptable to, for example, affiliates of television broadcast networks because multiple decompression/compression cycles may significantly degrade the quality of media content in the compressed digital data streams.
Prior to broadcast, for example, the methods and apparatus disclosed herein may be used to unpack the modified discrete cosine transform (MDCT) coefficient sets associated with a compressed digital data stream formatted according to a digital audio compression standard such as the AC-3 compression standard. The mantissas of the unpacked MDCT coefficient sets may be modified to embed watermarks that imperceptibly augment the compressed digital data stream. Upon receipt of the compressed digital data stream, a receiving device (e.g., a set top television metering device at a media consumption site) may extract the embedded watermark information from an uncompressed analog output such as, for example, output emanating from speakers of a television set. The extracted watermark information may be used to identify the media sources and/or programs (e.g., broadcast stations) associated with media currently being consumed (e.g., viewed, listened to, etc.) at a media consumption site. In turn, the source and program identification information may be used in known manners to generate ratings information and/or any other information that may be used to assess the viewing behaviors associated with individual households and/or groups of households.
Referring to
In the illustrated example, a metering device 140 is configured to identify viewing information based on video/audio output signals conveyed from the receiving device 130 to the television 120. The metering device 140 provides this viewing information as well as other tuning and/or demographic data via a network 170 to a data collection facility 180. The network 170 may be implemented using any desired combination of hardwired and wireless communication links, including for example, the Internet, an Ethernet connection, a digital subscriber line (DSL), a telephone line, a cellular telephone system, a coaxial cable, etc. The data collection facility 180 may be configured to process and/or store data received from the metering device 140 to produce ratings information.
The service provider 110 may be implemented by any service provider such as, for example, a cable television service provider 112, a radio frequency (RF) television service provider 114, and/or a satellite television service provider 116. The television 120 receives a plurality of television signals transmitted via a plurality of channels by the service provider 110 and may be adapted to process and display television signals provided in any format such as a National Television Standards Committee (NTSC) television signal format, a high definition television (HDTV) signal format, an Advanced Television Systems Committee (ATSC) television signal format, a phase alternation line (PAL) television signal format, a digital video broadcasting (DVB) television signal format, an Association of Radio Industries and Businesses (ARIB) television signal format, etc.
The user-operated remote control device 125 allows a user (e.g., the household member 160) to cause the television 120 to tune to and receive signals transmitted on a desired channel, and to cause the television 120 to process and present or deliver the programming or media content contained in the signals transmitted on the desired channel. The processing performed by the television 120 may include, for example, extracting a video and/or an audio component delivered via the received signal, causing the video component to be displayed on a screen/display associated with the television 120, and causing the audio component to be emitted by speakers associated with the television 120. The programming content contained in the television signal may include, for example, a television program, a movie, an advertisement, a video game, a web page, a still image, and/or a preview of other programming content that is currently offered or will be offered in the future by the service provider 110.
While the components shown in
To assess the viewing behaviors of individual household members 160 and/or groups of households, a watermark embedding system (e.g., the watermark embedding system 200 of
In
Typically, audio compression techniques such as those based on the AC-3 compression standard use overlapped audio blocks and the MDCT algorithm to convert an audio signal into a compressed digital data stream (e.g., the compressed digital data stream 240 of
In the example of
As described in detail below, the embedding device 210 of
In the example of
To begin, the identifying unit 410 is configured to identify one or more frames 510 associated with the compressed digital data stream 240, a portion of which is shown by way of example as Frame A and Frame B in
The identifying unit 410 is also configured to identify header information associated with each of the frames 510, such as, for example, the number of channels associated with the AC-3 data stream 240. While the example AC-3 data stream 240 includes only one channel as noted above, an example compressed digital data stream having multiple channels is described below in connection with
Returning to
As described in detail in the AC-3 compression standard, the compression information also includes a mantissa and an exponent associated with each MDCT coefficient. The AC-3 compression standard employs techniques to reduce the number of bits used to represent each MDCT coefficient. Psycho-acoustic masking is one factor that may be utilized by these techniques. For example, the presence of audio energy Ek either at a particular frequency k (e.g., a tone) or spread across a band of frequencies proximate to the particular frequency k (e.g., a noise-like characteristic) creates a masking effect. That is, the human ear is unable to perceive a change in energy in a spectral region either at a frequency k or spread across the band of frequencies proximate to the frequency k if that change is less than a given energy threshold ΔEk. Because of this characteristic of the human ear, an MDCT coefficient mk associated with the frequency k may be quantized with a step size related to ΔEk without risk of causing any humanly perceptible changes to the audio content. For the AC-3 data stream 240, each MDCT coefficient mk is represented as a mantissa Mk and an exponent Xk such that mk=Mk .2−Xk. The number of bits used to represent the mantissa Mk of each MDCT coefficient of the MDCT coefficient sets 520 may be determined based on known quantization look-up tables published in the AC-3 compression standard (e.g., the quantization look-up table 600 of
Returning to
The modification unit 430 is also configured to insert the watermark 230 into the reconstructed time-domain audio blocks 540 to generate watermarked time-domain audio blocks 550, shown by way of example as TA0W, TA4W, TA5W, TB0W, TB1W and TB5W (blocks TA1W, TA2W, TA3W, TB2W, TB3W and TB4W are not shown). To insert the watermark 230, the modification unit 430 generates a modifiable time-domain audio block by concatenating two adjacent reconstructed time-domain audio blocks to create a 512-sample audio block. For example, the modification unit 430 may concatenate the reconstructed time-domain audio blocks TA5R and TB0R (each being a 256-sample audio block) to form a 512-sample audio block. The modification unit 430 may then insert the watermark 230 into the 512-sample audio block formed by the reconstructed time-domain audio blocks TA5R and TB0R to generate the watermarked time-domain audio blocks TA5W and TB0W. Encoding processes such as those described in U.S. Pat. Nos. 6,272,176, 6,504,870, and 6,621,881 may be used to insert the watermark 230 into the reconstructed time-domain audio blocks 540. The disclosures of U.S. Pat. Nos. 6,272,176, 6,504,870, and 6,621,881 are hereby incorporated by reference herein in their entireties.
In the example encoding methods and apparatus described in U.S. Pat. Nos. 6,272,176, 6,504,870, and 6,621,881, watermarks may be inserted into a 512-sample audio block. For example, each 512-sample audio block carries one bit of embedded or inserted data of the watermark 230. In particular, spectral frequency components with indices f1 and f2 may be modified or augmented to insert data bits associated with the watermark 230. To insert a binary “1,” for example, a power at the first spectral frequency associated with the index f1 may be increased or augmented to be a spectral power maximum within a frequency neighborhood (e.g., a frequency neighborhood defined by the indices f1−2, f1−1, f1, f1+1, and f1+2). At the same time, the power at the second spectral frequency associated with the index f2 is attenuated or augmented to be a spectral power minimum within a frequency neighborhood (e.g., a frequency neighborhood defined by the indices f2−2, f2−1, f2, f2+1, and f2+2). Conversely, to insert a binary “0,” the power at the first spectral frequency associated with the index f1 is attenuated to be a local spectral power minimum while the power at the second spectral frequency associated with the index f2 is increased to a local spectral power maximum.
Returning to
The difference between the MDCT coefficient sets 520 and the watermarked MDCT coefficient sets 560 represents a change in the AC-3 data stream 240 as a result of embedding or inserting the watermark 230. As described in connection with
Turning to
To embed or insert the watermark 230 in the AC-3 data stream 240, the modification unit 430 may use the watermarked MDCT coefficient set MA5W to modify or augment the MDCT coefficients in the MDCT coefficient set MA5. Continuing with above example, either mantissa code 0011 or mantissa code 0100 may replace the mantissa code 0101 associated with the MDCT coefficient mk because the watermarked mantissa WMk associated with the corresponding watermarked MDCT coefficient wmk lies between the mantissa codes of 0011 and 0100 (because the mantissa value corresponding to the watermarked MDCT coefficient wmk is −0.4300). The mantissa value corresponding to the mantissa code 0011 is −0.5333 (i.e., − 8/15) and the mantissa value corresponding to the mantissa code 0100 is −0.4 (i.e., − 6/15). In this example, the modification unit 430 selects the mantissa code 0100 instead of the mantissa code 0011 to replace the original mantissa code 0101 associated with the MDCT coefficient mk because the mantissa value −0.4 corresponding to the mantissa code 0100 is closest to the desired watermark mantissa value −0.4300. As a result, the new mantissa bit pattern of 0100, which corresponds to the watermarked mantissa WMk of the watermarked MDCT coefficient wmk, replaces the original mantissa bit pattern of 0101. Likewise, each of the MDCT coefficients in the MDCT coefficient set MA5 may be modified in the manner described above. If a watermarked mantissa value is outside the quantization range of mantissa values (i.e., greater than 0.9333 or less than −0.9333), either the positive limit of 1110 or the negative limit of 0000 is selected as the new mantissa code, as appropriate. Additionally, and as discussed above, while the mantissa codes associated with each MDCT coefficient of an MDCT coefficient set may be modified as described above, the exponents associated with the MDCT coefficients remain unchanged.
The repacking unit 440 is configured to repack the watermarked MDCT coefficient sets 560 associated with each frame of the AC-3 data stream 240 for transmission. In particular, the repacking unit 440 identifies the position of each MDCT coefficient set within a frame of the AC-3 data stream 240 so that the corresponding watermarked MDCT coefficient set can be used to modify the MDCT coefficient set. To rebuild a watermarked version of Frame A, for example, the repacking unit 440 may identify the position of and modify the MDCT coefficient sets MA0 to MA5 based on the corresponding watermarked MDCT coefficient sets MA0W to MA5W in the corresponding identified positions. Using the unpacking, modifying, and repacking processes described herein, the AC-3 data stream 240 remains a compressed digital data stream while the watermark 230 is embedded or inserted in the AC-3 data stream 240. As a result, the embedding device 210 inserts the watermark 230 into the AC-3 data stream 240 without additional decompression/compression cycles that may degrade the quality of the media content in the AC-3 data stream 240.
For simplicity, the AC-3 data stream 240 is described in connection with
Each of the audio blocks associated with a particular channel in the audio block sets 710 may be processed in a manner similar to that described above in connection with
Based on the MDCT coefficient sets 820 of the compressed digital data stream 800, the identifying unit 410 identifies a plurality of frames (not shown) and header information associated with each of the frames as described above. The header information includes compression information associated with the compressed digital data stream 800. For each of the frames, the unpacking unit 420 unpacks the MDCT coefficient sets 820 to determine the compression information associated with the MDCT coefficient sets 820. For example, the unpacking unit 420 may identify the number of bits used by the original compression process to represent the mantissa of each MDCT coefficient in each of the MDCT coefficient sets 820. Such compression information may be used to embed the watermark 230 as described above in connection with
To insert the watermark 230 from the watermark source 220, the modification unit 430 concatenates two adjacent reconstructed time-domain audio blocks to create a 512-sample audio block (i.e., a modifiable time-domain audio block). For example, the modification unit 430 may concatenate the reconstructed time-domain audio blocks TA1CR and TA2CR, each of which is a 256-sample short block, to form a 512-sample audio block. The modification unit 430 then inserts the watermark 230 into the 512-sample audio block formed by the reconstructed time-domain audio blocks TA1CR and TA2CR to generate the watermarked time-domain audio blocks TA1CW and TA2CW.
Based on the watermarked time-domain audio blocks 850, the modification unit 430 may generate the watermarked MDCT coefficient sets 860. For example, the modification unit 430 may concatenate the watermarked time-domain audio blocks TA1CW and TA2CW to generate the watermarked MDCT coefficient set M1CW. The modification unit 430 modifies the MDCT coefficient sets 820 based on a corresponding one of the watermarked MDCT coefficient sets 860. For example, the modification unit 430 may use the watermarked MDCT coefficient set M1CW to modify the original MDCT coefficient set M1C. The modification unit 430 may then repeat the process described above for the audio blocks associated with each channel to insert the watermark 230 into the compressed digital data stream 800.
In the example of
The unpacking unit 420 then unpacks the plurality of MDCT coefficient sets to determine compression information associated with the original compression process used to generate the compressed digital data stream 240 (block 930). In particular, the unpacking unit 420 identifies the mantissa Mk and the exponent Xk of each MDCT coefficient mk of each of the MDCT coefficient sets. The exponents of the MDCT coefficients may then be grouped in a manner compliant with the AC-3 compression standard. The unpacking unit 420 (
As illustrated in
To insert the watermark 230, the modification unit 430 generates modifiable time-domain audio blocks using the reconstructed time-domain audio blocks (block 1030). The modification unit 430 generates a modifiable 512-sample time-domain audio block using two adjacent reconstructed time-domain audio blocks. For example, the modification unit 430 may generate a modifiable time-domain audio block by concatenating the reconstructed time-domain audio blocks TA5R and TB0R of
Implementing an encoding process such as, for example, one or more of the encoding methods and apparatus described in U.S. Pat. Nos. 6,272,176, 6,504,870, and/or 6,621,881, the modification unit 430 inserts the watermark 230 from the watermark source 220 into the modifiable time-domain audio blocks (block 1040). For example, the modification unit 430 may insert the watermark 230 into the 512-sample time-domain audio block generated using the reconstructed time-domain audio blocks TA5R and TB0R to generate the watermarked time-domain audio blocks TA5W and TB0W. Based on the watermarked time-domain audio blocks and the compression information, the modification unit 430 generates watermarked MDCT coefficient sets (block 1050). As noted above, two watermarked time-domain audio blocks, where each block includes 256 samples, may be used to generate a watermarked MDCT coefficient set. For example, the watermarked time-domain audio blocks TA5W and TB0W may be concatenated and then used to generate the watermarked MDCT coefficient set MA5W.
Based on the compression information associated with the compressed digital data stream 240, the modification unit 430 calculates the mantissa value associated with each of the watermarked MDCT coefficients in the watermarked MDCT coefficient set MA5W as described above in connection with
Referring back to
As noted above, known watermarking techniques typically decompress a compressed digital data stream into uncompressed time-domain samples, insert the watermark into the time-domain samples, and recompress the watermarked time-domain samples into a watermarked compressed digital data stream. In contrast, the digital data stream 240 remains compressed during the example unpacking, modifying, and repacking processes described herein. As a result, the watermark 230 is embedded into the compressed digital data stream 240 without additional decompression/compression cycles that may degrade the quality of the content in the compressed digital data stream 500.
To further illustrate the example modification process 940 of
As noted above, many methods are known to embed a watermark imperceptible to the human ear (e.g., an inaudible code) in an uncompressed audio signal. For example, one known method is described in U.S. Pat. No. 6,421,445 to Jensen et al., the disclosure of which is hereby incorporated by reference herein in its entirety. In particular, as described by Jensen et al., a code signal (e.g., a watermark) may include information at a combination of ten different frequencies, which are detectable by a decoder using a Fourier spectral analysis of a sequence of audio samples (e.g., a sequence of 12,288 audio samples as described in detail below). For example, an audio signal may be sampled at a rate of 48 kilo-Hertz (kHz) to output an audio sequence of 12,288 audio samples that may be processed (e.g., using a Fourier transform) to acquire a relatively high-resolution (e.g., 3.9 Hz) frequency domain representation of the uncompressed audio signal. However, in accordance with the encoding process of the method disclosed by Jensen et al., a sinusoidal code signal having constant amplitude across an entire sequence of audio samples is unacceptable because the sinusoidal code signal may be perceptible to the human ear. To satisfy the masking energy constraints (i.e., to ensure that the sinusoidal code signal information remains imperceptible), the sinusoidal code signal is synthesized across the entire sequence of 12,288 audio samples using a masking energy analysis which determines a local sinusoidal amplitude within each block of audio samples (e.g., wherein each block of audio samples may include 512 audio samples). Thus, the local sinusoidal waveforms may be coherent (in-phase) across the sequence of 12,288 audio samples but have varying amplitudes based on the masking energy analysis.
However, in contrast to the method disclosed by Jensen et al., the methods and apparatus described herein may be used to embed a watermark or other code signal in a compressed audio signal in a manner such that a compressed digital data stream containing the compressed audio signal remains compressed during the unpacking, modifying, and repacking processes.
As noted above, a code signal (e.g., the watermark 230) may be embedded or injected into the compressed digital data stream (e.g., an AC-3 data stream). As shown in the example table 1300 of
As noted above, each code symbol may be formed using ten sinusoidal components associated with the frequency indices f1 through f10 depicted in table 1300. For example, a code signal for injecting or embedding the code symbol “0” includes ten sinusoidal components corresponding to the frequency indices 237, 289, 339, 383, 429, 481, 531, 575, 621, and 673, respectively. Likewise, a code signal for injecting or embedding the code symbol “1” includes ten sinusoidal components corresponding to the frequency indices 239, 291, 337, 381, 431, 483, 529, 573, 623, and 675, respectively. As shown in the example table 1300, each of the frequency indices f1 through f10 has a unique frequency value at or proximate to each of the 12,288-sample central frequency indices.
Each of the ten sinusoidal components associated with the frequency indices f1 through f10 may be synthesized in the time domain using the methods and apparatus described herein. For example, the code signal for injecting or embedding the code symbol “0” may include sinusoids c1(k), c2(k), c3(k), c4(k), c5(k), c6(k), c7(k), c8(k), c9(k), and c10(k). The first sinusoid c1(k) may be synthesized in the time domain as a sequence of samples as follows:
for k=0 through 12287. However, the sinusoid c1(k) generated in this manner would have a constant amplitude over the entire 12,288 sample window. Instead, to generate a sinusoid whose amplitude may be varied from audio block to audio block, the sample values in a 512-sample audio block (e.g., a long AC-3 block) associated with the first sinusoid c1(k) may be computed as follows:
for m=0 through 511 and p=0 through 46, where w(m) is the window function used in the AC-3 compression described above. One having ordinary skill in the art will appreciate that the preceding equation may be used directly to compute c1p(m), or c1(k) may be pre-computed and appropriate segments extracted to generate c1p(m). In either case, the MDCT transform of c1p(m) includes a set of MDCT coefficient values (e.g., 256 real numbers). Continuing with the preceding example, for c1p(m) corresponding to symbol “0,” the MDCT coefficient values associated with the 512-sample frequency indices 9, 10, and 11 may have significant magnitudes because c1p(m) is associated with the 12,288-sample central frequency index 240, which corresponds to the 512-sample central frequency index 10. The MDCT coefficient values associated with other 512-sample frequency indices will be negligible relative to the MDCT coefficient values associated with the 512-sample frequency indices 9, 10, and 11 for the case of c1p(m). Conventionally, the MDCT coefficient values associated with c1p(m) (as well as the other sinusoidal components c2p(m), . . . , c10p(m)) are divided by a normalization factor Q as follows:
where 512 is a number of samples associated with each block. This normalization allows a time-domain cosine wave of unit amplitude at the 12,288-sample central frequency index 240 to produce a unit amplitude MDCT coefficient at the 512-sample central frequency index 10.
Continuing with the preceding example, for c1p(m) associated with code symbol “0,” the code frequency index 237 (e.g., the frequency value corresponding to the frequency index f1 associated with the code symbol “0”) causes the 512-sample central frequency index 10 to have the highest MDCT magnitude relative to the 512-sample frequency indices 9 and 11 because the 512-sample central frequency index 10 corresponds to the 12,288-sample central frequency index 240 and the code frequency index 237 is proximate to the 12,288-sample central frequency index 240. Likewise, the second frequency index f2 corresponding to the code frequency index 289 may produce MDCT coefficients with significant MDCT magnitudes in the 512-sample frequency indices 11, 12, and 13. The code frequency index 289 may cause the 512-sample central frequency index 12 to have the highest MDCT magnitude because the 512-sample central frequency index 12 corresponds to the 12,288-sample central frequency index 288 and the code frequency index 289 is proximate to the 12,288-sample central frequency index 288. Similarly, the third frequency index f3 corresponding to the code frequency index 339 may produce MDCT coefficients with significant MDCT magnitudes in the 512-sample frequency indices 13, 14, and 15. The code frequency index 339 may cause the 512-sample central frequency index 14 to have the highest MDCT magnitude because the 512-sample central frequency index 14 corresponds to the 12,288-sample central frequency index 336 and the code frequency index 339 is proximate to the 12,288-sample central frequency index 336. Based on the sinusoidal components at each of the ten frequency indices f1 through f10, the MDCT coefficients representing the actual watermarked code signal will correspond to the 512-sample frequency indices ranging from 9 to 29. Some of the 512-sample frequency indices, such as, for example, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, and 29 may be influenced by energy spill-over from two neighboring code frequency indices, with the amount of spill-over a function of the weighting applied to each sinusoidal component based on the masking energy analysis. Accordingly, in each 512-sample audio block of the compressed digital data stream, the MDCT coefficients may be computed as described below to represent the code signal.
In the compressed AC-3 data stream, for example, each AC-3 frame includes MDCT coefficient sets having six MDCT coefficients (e.g., MA0, MA1, MA2, MA3, MA4, and MA5 of
To inject a code signal into the compressed AC-3 data stream, modifications to the mantissa set Mk for k=9 through 29 are determined. For example, consider a subset of the mantissa set Mk for k=9 through 29 in which the MDCT coefficient magnitudes C9, C10, and C11 corresponding to the watermarked MDCT coefficients wm9, wm10, and wm11 are −0.3, 0.8, and 0.2, respectively (with the varying amplitude based on the local masking energy). Furthermore, assume that the code MDCT magnitude C11 associated with the 512-sample central frequency index 11 is the MDCT coefficient having the lowest absolute magnitude (e.g., an absolute value of 0.2) for the entire mantissa set (Ck for k=9 through 29). The value of the code MDCT magnitude C11 is used to normalize and modify the values of the MDCT coefficients m9, m10, and m11 (as well as the other MDCT coefficients in the set m9 through m29) because the code MDCT magnitude C11 has the lowest absolute magnitude. First, C11 is normalized to 1.0 and then used to normalize, for example, C9 and C10 as C9=−0.3/C11=−1.5 and C10=0.8/C11=4.0. Then, the mantissa integer value N11 corresponding to the original MDCT coefficient m11 is increased by 1 to as this is the minimum amount (due to mantissa step size quantization) by which m11 may be modified to reflect the addition of the watermark code corresponding to C11. Finally, the mantissa integer values N9 and N10 corresponding to the original MDCT coefficients m9 and m10 are modified relative to N11 as follows:
Thus, the modified mantissa integer values N9, N10, and N11 (and the similarly modified mantissa integers N12 through N29) may be used to modify the corresponding original MDCT coefficients to embed the watermark code. Also, as mentioned previously, for any MDCT coefficient, the maximum change is limited by the upper and lower limits of its mantissa integer value Nk. Referring to
Thus, the preceding example illustrates how the local masking energy may be used to determine the code magnitude for code symbols to be embedded into a compressed audio signal digital data stream. Moreover, eight successive frames of the compressed digital data stream were modified without performing decompression of MDCT coefficients during the encoding process of the methods and apparatus described herein.
The processor system 2000 illustrated in
As is conventional, the memory controller 2012 performs functions that enable the processor 2020 to access and communicate with a main memory 2030 including a volatile memory 2032 and a non-volatile memory 2034 via a bus 2040. The volatile memory 2032 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), and/or any other type of random access memory device. The non-volatile memory 2034 may be implemented using flash memory, Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), and/or any other desired type of memory device.
The processor system 2000 also includes an interface circuit 2050 that is coupled to the bus 2040. The interface circuit 2050 may be implemented using any type of well known interface standard such as an Ethernet interface, a universal serial bus (USB), a third generation input/output interface (3GIO) interface, and/or any other suitable type of interface.
One or more input devices 2060 are connected to the interface circuit 2050. The input device(s) 2060 permit a user to enter data and commands into the processor 2020. For example, the input device(s) 2060 may be implemented by a keyboard, a mouse, a touch-sensitive display, a track pad, a track ball, an isopoint, and/or a voice recognition system.
One or more output devices 2070 are also connected to the interface circuit 2050. For example, the output device(s) 2070 may be implemented by media presentation devices (e.g., a light emitting display (LED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, a printer and/or speakers). The interface circuit 2050, thus, typically includes, among other things, a graphics driver card.
The processor system 2000 also includes one or more mass storage devices 2080 to store software and data. Examples of such mass storage device(s) 2080 include floppy disks and drives, hard disk drives, compact disks and drives, and digital versatile disks (DVD) and drives.
The interface circuit 2050 also includes a communication device such as a modem or a network interface card to facilitate exchange of data with external computers via a network. The communication link between the processor system 2000 and the network may be any type of network connection such as an Ethernet connection, a digital subscriber line (DSL), a telephone line, a cellular telephone system, a coaxial cable, etc.
Access to the input device(s) 2060, the output device(s) 2070, the mass storage device(s) 2080 and/or the network is typically controlled by the I/O controller 2014 in a conventional manner. In particular, the I/O controller 2014 performs functions that enable the processor 2020 to communicate with the input device(s) 2060, the output device(s) 2070, the mass storage device(s) 2080 and/or the network via the bus 2040 and the interface circuit 2050.
While the components shown in
The methods and apparatus disclosed herein are particularly well suited for use with data streams implemented in accordance with the AC-3 standard. However, the methods and apparatus disclosed herein may be applied to other digital audio coding techniques.
In addition, while this disclosure is made with respect to example television systems, it should be understood that the disclosed system is readily applicable to many other media systems. Accordingly, while this disclosure describes example systems and processes, the disclosed examples are not the only way to implement such systems.
Although certain example methods, apparatus, and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents. For example, although this disclosure describes example systems including, among other components, software executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. In particular, it is contemplated that any or all of the disclosed hardware and software components could be embodied exclusively in dedicated hardware, exclusively in firmware, exclusively in software or in some combination of hardware, firmware, and/or software.
This application is a continuation of PCT application Ser. No. PCT/US2004/18953 filed Jun. 14, 2004, and claims the benefit of the filing date of U.S. Provisional Application No. 60/478,626, filed Jun. 13, 2003, and the benefit of U.S. Provisional Application No. 60/571,258, filed May 14, 2004, the disclosures of which are hereby incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
4675750 | Collins et al. | Jun 1987 | A |
5319453 | Copriviza | Jun 1994 | A |
5349549 | Tsutsui | Sep 1994 | A |
5450490 | Jensen et al. | Sep 1995 | A |
5455630 | McFarland et al. | Oct 1995 | A |
5493339 | Birch et al. | Feb 1996 | A |
5532732 | Yuen et al. | Jul 1996 | A |
5539471 | Myhrvold et al. | Jul 1996 | A |
5574952 | Brady et al. | Nov 1996 | A |
5583562 | Birch et al. | Dec 1996 | A |
5600366 | Schulman | Feb 1997 | A |
5621471 | Kim et al. | Apr 1997 | A |
5625418 | Binder et al. | Apr 1997 | A |
5649054 | Oomen et al. | Jul 1997 | A |
5675610 | Chinen | Oct 1997 | A |
5677980 | Naoe | Oct 1997 | A |
5682463 | Allen et al. | Oct 1997 | A |
5687191 | Lee et al. | Nov 1997 | A |
5708476 | Myhrvold et al. | Jan 1998 | A |
5724091 | Freeman et al. | Mar 1998 | A |
5727092 | Sandford, II et al. | Mar 1998 | A |
5734429 | Jung | Mar 1998 | A |
5739864 | Copeland | Apr 1998 | A |
5739866 | Kim et al. | Apr 1998 | A |
5745184 | Neal | Apr 1998 | A |
5748783 | Rhoads | May 1998 | A |
5764763 | Jensen et al. | Jun 1998 | A |
5768426 | Rhoads | Jun 1998 | A |
5778096 | Stearns | Jul 1998 | A |
5778102 | Sandford, II et al. | Jul 1998 | A |
5801782 | Patterson | Sep 1998 | A |
5808689 | Small | Sep 1998 | A |
5848155 | Cox | Dec 1998 | A |
5852800 | Modeste et al. | Dec 1998 | A |
5867819 | Fukuchi et al. | Feb 1999 | A |
5870754 | Dimitrova et al. | Feb 1999 | A |
5915027 | Cox et al. | Jun 1999 | A |
5917830 | Chen et al. | Jun 1999 | A |
5930369 | Cox et al. | Jul 1999 | A |
6029045 | Picco et al. | Feb 2000 | A |
6061793 | Tewfik et al. | May 2000 | A |
6064748 | Hogan | May 2000 | A |
6069914 | Cox | May 2000 | A |
6128736 | Miller | Oct 2000 | A |
6154571 | Cox et al. | Nov 2000 | A |
6181334 | Freeman et al. | Jan 2001 | B1 |
6208691 | Balakrishnan et al. | Mar 2001 | B1 |
6208735 | Cox et al. | Mar 2001 | B1 |
6209094 | Levine et al. | Mar 2001 | B1 |
6215526 | Barton et al. | Apr 2001 | B1 |
6219634 | Levine | Apr 2001 | B1 |
6240380 | Malvar | May 2001 | B1 |
6243481 | Tao | Jun 2001 | B1 |
6252586 | Freeman et al. | Jun 2001 | B1 |
6259801 | Wakasu | Jul 2001 | B1 |
6266419 | Lacy et al. | Jul 2001 | B1 |
6268866 | Shibata | Jul 2001 | B1 |
6272176 | Srinivasan | Aug 2001 | B1 |
6278792 | Cox et al. | Aug 2001 | B1 |
6298142 | Nakano et al. | Oct 2001 | B1 |
6320965 | Levine | Nov 2001 | B1 |
6330672 | Shur | Dec 2001 | B1 |
6339449 | Ikeda et al. | Jan 2002 | B1 |
6343181 | Ikeda et al. | Jan 2002 | B1 |
6345100 | Levine | Feb 2002 | B1 |
6345122 | Yamato et al. | Feb 2002 | B1 |
6370199 | Bock et al. | Apr 2002 | B1 |
6373960 | Conover et al. | Apr 2002 | B1 |
6381341 | Rhoads | Apr 2002 | B1 |
6389055 | August et al. | May 2002 | B1 |
6415041 | Oami et al. | Jul 2002 | B1 |
6421445 | Jensen et al. | Jul 2002 | B1 |
6421450 | Nakano | Jul 2002 | B2 |
6424726 | Nakano et al. | Jul 2002 | B2 |
6425082 | Matsui et al. | Jul 2002 | B1 |
6434253 | Hayashi et al. | Aug 2002 | B1 |
6442283 | Tewfik et al. | Aug 2002 | B1 |
6442284 | Gustafson et al. | Aug 2002 | B1 |
6442285 | Rhoads et al. | Aug 2002 | B2 |
6453053 | Wakasu | Sep 2002 | B1 |
6456724 | Watanabe | Sep 2002 | B1 |
6470090 | Oami et al. | Oct 2002 | B2 |
6493457 | Quackenbush et al. | Dec 2002 | B1 |
6504870 | Srinivasan | Jan 2003 | B2 |
6505223 | Haitsma et al. | Jan 2003 | B1 |
6507299 | Nuijten | Jan 2003 | B1 |
6510233 | Nakano | Jan 2003 | B1 |
6512796 | Sherwood | Jan 2003 | B1 |
6553070 | Hashimoto | Apr 2003 | B2 |
6574350 | Rhoads et al. | Jun 2003 | B1 |
6584138 | Neubauer et al. | Jun 2003 | B1 |
6587821 | Rhoads | Jul 2003 | B1 |
6611607 | Davis et al. | Aug 2003 | B1 |
6621881 | Srinivasan | Sep 2003 | B2 |
6631198 | Hannigan et al. | Oct 2003 | B1 |
6665419 | Oami | Dec 2003 | B1 |
6668068 | Hashimoto | Dec 2003 | B2 |
6683966 | Tian et al. | Jan 2004 | B1 |
6687663 | McGrath et al. | Feb 2004 | B1 |
6697499 | Oami | Feb 2004 | B2 |
6700993 | Minematsu | Mar 2004 | B1 |
6724911 | Cox et al. | Apr 2004 | B1 |
6735325 | Wakasu | May 2004 | B2 |
6738493 | Cox et al. | May 2004 | B1 |
6738744 | Kirovski et al. | May 2004 | B2 |
6751337 | Tewfik et al. | Jun 2004 | B2 |
6768980 | Meyer et al. | Jul 2004 | B1 |
6775416 | Hashimoto | Aug 2004 | B1 |
6785399 | Fujihara | Aug 2004 | B2 |
6798893 | Tanaka | Sep 2004 | B1 |
6807528 | Truman et al. | Oct 2004 | B1 |
6826289 | Hashimoto | Nov 2004 | B1 |
6834345 | Bloom et al. | Dec 2004 | B2 |
6845360 | Jensen et al. | Jan 2005 | B2 |
6850619 | Hirai | Feb 2005 | B1 |
6853737 | Watanabe | Feb 2005 | B2 |
6856693 | Miller | Feb 2005 | B2 |
6891854 | Zhang et al. | May 2005 | B2 |
6901606 | Wright et al. | May 2005 | B2 |
6915000 | Tanaka | Jul 2005 | B1 |
6928165 | Takai | Aug 2005 | B1 |
6943457 | Smith | Sep 2005 | B2 |
6947562 | Hashimoto | Sep 2005 | B2 |
6947572 | Terasaki | Sep 2005 | B2 |
6985590 | Tachibana et al. | Jan 2006 | B2 |
6996249 | Miller et al. | Feb 2006 | B2 |
7006660 | Hayashi | Feb 2006 | B2 |
7007167 | Kurahashi | Feb 2006 | B2 |
7027611 | Hashimoto | Apr 2006 | B2 |
7047187 | Cheng et al. | May 2006 | B2 |
7050604 | Fujihara et al. | May 2006 | B2 |
7051207 | Watanabe | May 2006 | B2 |
7051351 | Goldman et al. | May 2006 | B2 |
7088844 | Hannigan et al. | Aug 2006 | B2 |
7092546 | Tanaka | Aug 2006 | B2 |
7114071 | Chmounk et al. | Sep 2006 | B1 |
7114073 | Watanabe | Sep 2006 | B2 |
7140037 | Tsutsui et al. | Nov 2006 | B2 |
7146501 | Tanaka | Dec 2006 | B2 |
7149324 | Tanaka | Dec 2006 | B2 |
7159117 | Tanaka | Jan 2007 | B2 |
7181022 | Rhoads | Feb 2007 | B2 |
7197156 | Levy | Mar 2007 | B1 |
7206649 | Kirovski et al. | Apr 2007 | B2 |
7266697 | Kirovski et al. | Sep 2007 | B2 |
7269734 | Johnson et al. | Sep 2007 | B1 |
20010028715 | Watanabe | Oct 2001 | A1 |
20010031064 | Donescu et al. | Oct 2001 | A1 |
20010053190 | Srinivasan | Dec 2001 | A1 |
20020006203 | Tachibana et al. | Jan 2002 | A1 |
20020034224 | Srinivasan | Mar 2002 | A1 |
20020044225 | Rakib | Apr 2002 | A1 |
20020085736 | Kalker et al. | Jul 2002 | A1 |
20020085737 | Kitamura | Jul 2002 | A1 |
20020087864 | Depovere | Jul 2002 | A1 |
20020106106 | Sato | Aug 2002 | A1 |
20020129253 | Langelaar | Sep 2002 | A1 |
20020147990 | Lu et al. | Oct 2002 | A1 |
20030004589 | Bruekers et al. | Jan 2003 | A1 |
20030016756 | Steenhof et al. | Jan 2003 | A1 |
20030086587 | Haitsma et al. | May 2003 | A1 |
20030088400 | Nishio et al. | May 2003 | A1 |
20030123660 | Fletcher et al. | Jul 2003 | A1 |
20030128861 | Rhoads | Jul 2003 | A1 |
20030161469 | Cheng et al. | Aug 2003 | A1 |
20030169810 | Costa | Sep 2003 | A1 |
20040054525 | Sekiguchi | Mar 2004 | A1 |
20040059918 | Xu | Mar 2004 | A1 |
20040179746 | Hashimoto | Sep 2004 | A1 |
20040267532 | Black | Dec 2004 | A1 |
20040267533 | Hannigan et al. | Dec 2004 | A1 |
20050010944 | Wright et al. | Jan 2005 | A1 |
20050062843 | Bowers et al. | Mar 2005 | A1 |
20060020809 | Hayashi | Jan 2006 | A1 |
20060123443 | Hamilton et al. | Jun 2006 | A1 |
20060171474 | Ramaswamy et al. | Aug 2006 | A1 |
20060187358 | Lienhart et al. | Aug 2006 | A1 |
20060239500 | Meyer et al. | Oct 2006 | A1 |
20070036357 | Veen et al. | Feb 2007 | A1 |
Number | Date | Country |
---|---|---|
0 651 554 | Mar 1995 | EP |
9963443 | Dec 1999 | WO |
0022605 | Apr 2000 | WO |
WO2000064094 | Oct 2000 | WO |
0217214 | Feb 2002 | WO |
0249363 | Jun 2002 | WO |
02060182 | Aug 2002 | WO |
03009602 | Jan 2003 | WO |
WO2005099385 | Oct 2005 | WO |
WO2006014362 | Feb 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20070300066 A1 | Dec 2007 | US |
Number | Date | Country | |
---|---|---|---|
60478626 | Jun 2003 | US | |
60571258 | May 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US2004/018953 | Jun 2004 | US |
Child | 11298040 | US |