Patent Publication Number: US-7596231-B2

Title: Reducing noise in an audio signal

Description:
BACKGROUND 
   Many audio recordings are made in noisy environments. The presence of noise in audio recordings reduces their enjoyability and their intelligibility. Noise reduction algorithms are used to suppress background noise and improve the perceptual quality and intelligibility of audio recordings. Spectral attenuation is a common technique for removing noise from audio signals. Spectral attenuation involves applying a function of an estimate of the magnitude or power spectrum of the noise to the magnitude or power spectrum of the recorded audio signal. Another common noise reduction method involves minimizing the mean square error of the time domain reconstruction of an estimate of the audio recording for the case of zero-mean additive noise. 
   In general, these noise reduction methods tend to work well for audio signals that have high signal-to-noise ratios and low noise variability, but they tend to work poorly for audio signals that have low signal-to-noise ratios and high noise variability. What is needed is a noise reduction approach that yields good noise reduction results even when the audio signals have low signal-to-noise ratios and the noise content has high variability. 
   SUMMARY 
   In one aspect, the invention features a method of processing an input audio signal having a noise period comprising a targeted noise signal and a noise-free period free of the targeted noise signal. In accordance with this inventive method, the input audio signal in the noise-free period is divided into spectral time slices each having a respective spectrum. Ones of the spectral time slices of the input audio signal are selected based on the respective spectra of the spectral time slices. An output audio signal is composed for the noise period based at least in part on the selected ones of the spectral time slices of the input audio signal in the noise-free period. 
   The invention also features a machine, a system, and machine-readable instructions for implementing the above-described input audio signal processing method. 
   Other features and advantages of the invention will become apparent from the following description, including the drawings and the claims. 

   
     DESCRIPTION OF DRAWINGS 
       FIG. 1  is a block diagram of an embodiment of a system for reducing noise in an input audio signal. 
       FIG. 2  is a graph of the amplitude of an exemplary input audio signal plotted as a function of time. 
       FIG. 3  is a flow diagram of an embodiment of a method of reducing noise in an input audio signal. 
       FIG. 4  is a spectrogram of an exemplary input audio signal. 
       FIG. 5  is a spectrogram of an output audio signal composed from the input audio signal shown in  FIG. 4  in accordance with the method of  FIG. 3 . 
       FIG. 6  is a block diagram of an implementation of the noise reduction system shown in  FIG. 1 . 
       FIG. 7  is a flow diagram of an embodiment of a method of reducing noise in an input audio signal. 
       FIG. 8  is a spectrogram of a noise-attenuated audio signal generated from the input audio signal shown in  FIG. 4 . 
       FIG. 9  is a spectrogram of an output audio signal composed from a combination the background audio signal shown in  FIG. 5  and the noise-attenuated audio signal shown in  FIG. 8  in accordance with the method of  FIG. 7 . 
       FIG. 10  is a flow diagram of an embodiment of a method of generating weights for combining a background audio signal and a noise-attenuated audio signal. 
       FIG. 11  is a block diagram of an embodiment of a camera system that incorporates a system for reducing a targeted zoom motor noise signal in an input audio signal. 
   

   DETAILED DESCRIPTION 
   In the following description, like reference numbers are used to identify like elements. Furthermore, the drawings are intended to illustrate major features of exemplary embodiments in a diagrammatic manner. The drawings are not intended to depict every feature of actual embodiments nor relative dimensions of the depicted elements, and are not drawn to scale. 
   I. OVERVIEW 
   The embodiments that are described in detail below enable substantial reduction of a targeted noise signal in a noise period of an input audio signal. These embodiments leverage audio information that is contained in a noise-free period of the input audio signal, which is free of the targeted noise signal, to compose an output audio signal for the noise period. In some implementations, at least a portion of the output audio signal is composed from audio information that is contained in both the noise-free period and the noise period. The output audio signals that are composed by these implementations contain substantially reduced levels of the targeted noise signal and, in some cases, substantially preserve desirable portions of the original input audio signal in the noise period that are free of the targeted noise signal. 
     FIG. 1  shows an embodiment of a noise reduction system  10  for processing an input audio signal  12  (S IN (t)), which includes a targeted noise signal, to produce an output audio signal  14  (S OUT (t)) in which the targeted noise signal is substantially reduced. In the illustrated embodiments, the input audio signal  12  has a noise period that includes the targeted noise signal and a noise-free period that is adjacent to the noise period and is free of the targeted noise signal. 
   The noise reduction system  10  includes a time-to-frequency converter  16 , a background audio signal synthesizer  18 , an output audio signal composer  20 , and a frequency-to-time converter  22 . The time-to-frequency converter  16 , the background audio signal synthesizer  18 , the output audio signal composer  20 , and the frequency-to-time converter  22  may be implemented in any computing or processing environment, including in digital electronic circuitry or in computer hardware, firmware, or software. In some embodiments, the time-to-frequency converter  16 , the background audio signal synthesizer  18 , the output audio signal composer  20 , and the frequency-to-time converter  22  are implemented by one or more software modules that are executed on a computer. Computer process instructions for implementing the time-to-frequency converter  16 , the background audio signal synthesizer  18 , the output audio signal composer  20 , and the frequency-to-time converter  22  are stored in one or more machine-readable media. Storage devices suitable for tangibly embodying these instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM. 
   In the following description, it is assumed that at any given period, the input audio signal  12  may contain one or more of the following elements: a structured signal (e.g., a signal corresponding to speech or music) that is sensitive to distortions; an unstructured signal (e.g., a signal corresponding to the sounds of waves or waterfalls) that is part of the signal to be retained but may be modified or synthesized without compromising the intelligibility of the input audio signal  12 ; and a targeted noise signal (e.g., a signal corresponding to noise that is generated by a zoom motor of a digital still camera during video clip capture) whose levels should be reduced in the output audio signal  14 . 
     FIG. 2  shows a graph of the amplitude of an exemplary implementation of the input audio signal  12  plotted as a function of time. In these implementations, the input audio signal  12  includes a combination of speech signals, background music signals, and a targeted noise signal that is generated by a zoom motor of a digital video camera. The targeted noise signal only occurs during a noise period  26  of the input audio signal  12 . The noise period  26  is bracketed on either side by a preceding adjacent noise-free period  28  and a subsequent adjacent noise-free period  30 , each of which is free of the targeted noise signal. 
   II. BACKGROUND AUDIO SYNTHESIS FOR REDUCING NOISE IN AN INPUT AUDIO SIGNAL 
     FIG. 3  shows a flow diagram of an embodiment of a method by which the noise reduction system  10  processes an input audio signal of the type shown in  FIG. 2  to reduce a targeted noise signal in the noise period. As used herein, a noise signal is “targeted” in the sense that the noise reduction system  10  has or can obtain information about one or more of (1) the time or times when the noise signal is present in the input audio signal, and (2) a model of the noise signal. In some implementations, the model of the targeted noise signal may be generated during a calibration phase of operation and may be updated dynamically. 
   In accordance with this embodiment, the time-to-frequency converter  16  divides (or windows) the input audio signal  12  in the noise-free period  28  into spectral time slices each of which has a respective spectrum in the frequency domain (block  32 ). In some implementations, the input audio signal  12  is windowed using, for example, a 50 ms (millisecond) Hanning window and a 25 ms overlap between audio frames. Each of the windowed audio frames then is decomposed into the frequency domain using, for example, the short-time Fourier Transform (FT). In some implementations, only the magnitude spectrum is estimated. 
   Each of the spectra that is generated by the time-to-frequency converter  16  corresponds to a spectral time slice of the input audio signal  12  as follows. Given an audio signal S IN (n), where the n are discrete time indices given by multiples of the sampling period T (i.e., n= . . . , −1, 0, 1, 2, . . . corresponds to sample times . . . −T, 0, T, 2T, . . . ), then the short-time Fourier Transform is given by F S (ω,k), where ω is the frequency parameter and k is the time index of the spectrogram. Typically k represents a time interval, corresponding to the overlap between audio frames, that is some multiple (hundreds or thousands) of n. The adjacent audio signal spectrogram buffer is given by the set {F S (ω,k)} where k is an element of the set {k a }, which corresponds to all the time indices in one of the noise-free periods  28 ,  30  that are adjacent to the noise period  26 . A spectral time slice is F S (ω,k j ), where k j  is a single number and is an element of the set {k a }. 
   The frequency domain data that is computed by the time-to-frequency converter  16  may be represented graphically by a sound spectrogram, which shows a two-dimensional representation of audio intensity, in different frequency bands, over time.  FIG. 4  shows a sound spectrogram for an exemplary implementation of the input audio signal  12 , where time is plotted on the horizontal axis, frequency is plotted on the vertical axis, and the color intensity is proportional to audio energy content (i.e., light colors represent higher energies and dark colors represent lower energies). The spectral time slices correspond to relatively narrow, windowed time periods of the narrowband spectrogram of the input audio signal  12 . 
   The frequency domain data that is generated by the time-to-frequency converter  16  is stored in a random access buffer  28 . The buffer  28  may be implemented by a data structure or a hardware buffer. The data structure may be tangibly embodied in any suitable storage device including non-volatile memory, magnetic disks, magneto-optical disks, and CD-ROM. 
   The background audio signal synthesizer  18  and the output audio signal composer  20  process the frequency domain data that is stored in the buffer  28  as follows. 
   The background audio signal synthesizer  18  selects ones of the spectral time slices F S (ω,k j ) of the input audio signal  12  that are stored in the buffer  28  based on respective spectra of the spectral time slices (block  34 ). In this process, the background audio signal synthesizer  18  selects ones of the spectral time slices from one or both of the noise-free periods  28 ,  30  adjacent to the noise period  26 . The background audio signal synthesizer constructs a background audio signal {B S (ω,k)}, where k is an element of {k n }, the set of indices corresponding to the noise period, from the selected ones of the spectral time slices from the set {k a }, the set of indices corresponding to the noise-free period. The background audio signal synthesizer  18  may construct the background audio signal from spectral time slices that extend across the entire frequency range. Alternatively, the input audio signal may be divided into multiple frequency bins ω i  and the background audio signal synthesizer  18  may construct the background audio signal from respective sets of spectral time slices F S (ω i ,k j ) that are selected for each of the frequency bins. 
   In general, any method of selecting spectral time slices that largely correspond to unstructured audio signals may be used to select the ones of the spectral time slices from which to construct the background audio signal. In some embodiments, the background audio synthesizer  18  selects the ones of the spectral times slices of the input audio signal  12  from which to construct the background audio signal based on a parameter that characterizes the spectral content of the spectral time slices F S (ω,k j ) in one or both of the noise-free periods  28 ,  30 . In some implementations, the characterizing parameter corresponds to one of the vector norms |d| L  given by the general expression: 
                        d        L     ≡       (       ∑             ⁢   i               ⁢            d   i          L       )       1   L               (   1   )               
where the d i  correspond to the spectral coefficients for the frequency bins ω i  and L corresponds to a positive integer that specifies the type of vector norm. The vector norm for L=1 typically is referred to as the L1-norm and the vector norm for L=2 typically is referred to as the L2-norm.
 
   After the vector norm values have been computed for each of the spectral time slices in the noise-free period, the background audio signal synthesizer  18  selects ones of the spectral time slices based on the distribution of the computed vector norm values. In general, the background audio signal synthesizer  18  may select the spectral time slices using any selection method that is likely to yield a set of spectral time slices that largely corresponds to unstructured background noise signals. In some implementations, the background signal synthesizer  18  infers that spectral time slices having relatively low vector norm values are likely to have a large amount of unstructured background noise content. To this end, the background signal synthesizer  18  selects the spectral time slices that fall within a lowest portion of the vector norm distribution. The selected time slices may correspond to a lowest predetermined percentile of the vector norm distribution or they may correspond to a predetermined number of spectral time slices having the lowest vector norm values. 
   In some implementations, the background audio signal synthesizer  18  constructs (or synthesizes) the background audio signal B S (ω,k) from the selected ones of the spectral time slices. In some implementations, the background audio signal synthesizer  18  synthesizes the background audio signal by pseudo-randomly sampling the selected ones of the spectral time slices over a time period corresponding to the duration of the noise period  26 . In this way, the background audio signal B S (ω,k) corresponds to a set of spectral time slices that is pseudo-randomly selected from the set of the spectral time slices that was selected from one or both of the noise-free periods  28 ,  30 . 
   The output audio signal composer  20  composes an output audio signal for the noise period  26  based at least in part on the ones of the spectral time slices of the input audio signal  12  that were selected by the background audio signal synthesizer  18  (block  36 ). In some implementations, the output audio signal composer  20  replaces the input audio signal  12  in the noise period  26  with the synthesized background audio signal B S (ω,k). In these implementations, the noise-free periods  28 ,  30  of the resulting output audio signal G S (ω,k) correspond exactly to the noise-free periods of the input audio signal F S (ω,k), whereas the noise period  26  of the output audio signal G S (ω,k) corresponds to the background audio signal B S (ω,k). 
     FIG. 5  shows an exemplary spectrogram of the output audio signal G S (ω,k) in which the noise period  26  corresponds to the background audio signal B S (ω,k). By comparing the spectrograms shown in  FIGS. 4 and 5 , it can be seen that the zoom motor noise in the noise period  26  of the output audio signal G S (ω,k) is substantially reduced relative the zoom motor noise in the noise period  26  of the original input audio signal  12 . 
   Referring back to  FIGS. 1 and 3 , the frequency-to-time converter  22  converts the output audio signal G S (ω,k) into the time domain to generate the output audio signal  14  (S OUT (t)) (block  38 ). In this process, the frequency-to-time converter  22  composes the spectral time slices of the output audio signal G S (ω,k) into the time domain using, for example, the Inverse Fourier Transform (IFT). 
   III. COMBINING SYNTHESIZED BACKGROUND AUDIO AND NOISE-ATTENUATED AUDIO TO REDUCE NOISE IN AN INPUT AUDIO SIGNAL 
   In some implementations, the noise reduction system  10  composes at least a portion of the output audio signal from audio information that is contained in at least one noise-free period and a noise period. In these implementations, audio content of a noise-free period of an input audio signal may be combined with audio content from the noise period of the input audio signal to reduce a targeted noise signal in the noise period while preserving at least some aspects of the original audio content in the noise period. In some cases, the noise period in the resulting output audio signal may be less noticeable and sound more natural. 
     FIG. 6  shows an implementation  40  of the noise reduction system  10  that additionally includes a noise-attenuated signal generator  42  and a weights generator  44 . The noise-attenuated signal generator  42  and the weights generator  44  may be implemented in any computing or processing environment, including in digital electronic circuitry or in computer hardware, firmware, or software. In some embodiments, the noise-attenuated signal generator  42  and the weights generator  44  are implemented by one or more software modules that are executed on a computer. Computer process instructions for implementing the noise-attenuated signal generator  42  and the weights generator  44  are stored in one or more machine-readable media. Storage devices suitable for tangibly embodying these instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM. 
     FIG. 7  shows a flow diagram of an embodiment of a method by which the noise reduction system implementation  40  processes an input audio signal  12  of the type shown in  FIG. 2 . This embodiment is able to reduce a targeted noise is signal in the noise period of the input audio signal  12  while preserving at least some desirable features in the noise period of the original input audio signal  12 . 
   In accordance with this embodiment, the time-to-frequency converter  16  divides (or windows) the input audio signal  12  in the noise-free period into spectral time slices each of which has a respective spectrum in the frequency domain (block  46 ). In the implementation  40  of the noise reduction system  10 , the time-to-frequency converter  16  operates in the same way as the corresponding component in the implementation described above in connection with  FIG. 1 . 
   The frequency domain data (F S (ω,k)) that is generated by the time-to-frequency converter  16  is stored in a random access buffer  28 , as described above. 
   The background audio signal synthesizer  18  synthesizes a background audio signal (B S (ω,k)) from selected ones of the spectral time slices of the input audio signal  12  that are stored in buffer  28  (block  48 ). In this implementation  40  of the noise reduction system  10 , the background audio signal synthesizer  18  operates in the same way as the corresponding component in the implementation described above in connection with  FIG. 1 . 
   The noise-attenuated signal generator  42  attenuates the targeted noise in the noise period of the input audio signal  12  to generate a noise-attenuated audio signal (A S (ω,k)) (block  50 ). In general, the noise-attenuated signal generator  42  may use any one of a wide variety of different noise reduction techniques for reducing the targeted noise signal in the noise period of the input audio signal  12 , including spectral attenuation noise reduction techniques and mean-square minimization noise reduction techniques. 
   In one spectral attenuation based implementation, called spectral subtraction, the noise-attenuated signal generator  42  subtracts an estimate of the targeted noise signal spectrum from the input audio signal  12  spectrum in the noise period. Assuming that the targeted noise signal is uncorrelated with the other audio content in the noise period, an estimate |A S (ω, k)| 2  of the power spectrum of the input audio signal  12  F S (ω,k) in the noise period without the targeted noise signal may be given by:
 
| A   S (ω, k )| 2   =|F   S (ω, k )| 2   −|{circumflex over (T)} (ω, k )| 2   (2)
 
where {circumflex over (T)}(ω,k) is an estimate of the spectrum of the targeted noise signal. In some implementations, the spectrum of the targeted noise signal is estimated by the average of multiple instances of the targeted noise signal that are recorded in a quiet environment. For example, in implementations in which the targeted noise signal is generated by a zoom motor in a video camera, audio recordings of the zoom motor noise may be captured over multiple zoom cycles and the recorded audio signals may be averaged to obtain an estimate of the spectrum {circumflex over (T)}(ω,k) of the targeted noise signal.
 
     FIG. 8  shows an exemplary spectrogram of the input audio signal  12  in which the noise period  26  contains the noise-attenuated audio signal A S (ω,k). By comparing the spectrograms shown in  FIGS. 4 and 8 , it can be seen that the zoom motor noise in the noise period  26  of the output audio signal G S (ω,k) is only slightly reduced relative the zoom motor noise in the noise period  26  of the original input audio signal  12 . This is due to the fact that the input audio signal  12  in the noise period  26  has a low signal-to-noise ratio and the targeted noise signal has a high variability. However, it is noted that the noise-attenuated audio signal A S (ω,k) also contains some structured and unstructured audio content that was present in the original input audio signal  12 . 
   Referring back to  FIGS. 6 and 7 , the weights generator  44  generates the weights α(ω i ,k j ) for combining the background audio signal B S (ω i ,k j ) and the noise-attenuated audio signal A S (ω i ,k j ) (block  52 ). Weights are generated for each of multiple frequency bins ω i  of the input audio signal  12 . The weights generator  44  generates weights based partially on the audio content of one or both of the noise-free periods  28 ,  30  that are adjacent to the noise period  26 . The weights generator  44  may also generate weights based partially on the audio content of the noise period  26 . In general, the weights are set so that the contribution from the background audio signal B S (ω i ,k j ) increases relative to the contribution of the noise-attenuated audio signal A S (ω i ,k j ) when the audio content in one or both of the noise-free periods  28 ,  30  is determined to be unstructured. Conversely, the weights are set so that the contribution from the background audio signal B S (ω i ,k j ) decreases relative to the contribution of the noise-attenuated audio signal A S (ω i ,k j ) when the audio content in one or both of the noise-free periods  28 ,  30  is determined to be structured. 
   In some implementations, the weights α(ω i ) are used to scale a linear combination of the synthesized background audio signal and the noise-attenuated audio signal. In these implementations, the weights generator  44  computes the values of the weights based on the spectral energy of the input audio signal in the noise-free period relative to the spectral energy of the targeted noise signal in the noise period. In one implementation, the weights, as a function of frequency bin ω i , are computed in accordance with equation (3): 
                   α   ⁡     (     ω   i     )       =              τ   ⁡     (     ω   i     )            2                τ   ⁡     (     ω   i     )            2     +            ??   ⁡     (     ω   i     )            2                 (   3   )               
where ∥τ(ω i )∥ 2  is the time-integrated relative energy of ∥{circumflex over (T)}(ω i ,k j )∥ for the targeted noise signal (normalized to sum to 1) and ∥ℑ(ω i )∥ 2  is the time-integrated relative energy of ∥F S (ω i ,k j )∥ for the noise-free period (normalized to sum to 1).
 
   After the background audio signal B S (k j ), the noise-attenuated audio signal A S (ω i ,k j ), and the weights α(ω i ) have been generated (blocks  48 ,  50 ,  52 ), the output audio signal composer  20  determines a combination of the background audio spectrum B S (ω i ,k) and the noise-attenuated audio spectrum A S (ω i ,k) scaled by respective ones of the weights α(ω i ) (block  66 ). In this process, the background audio signal and the noise-attenuated audio signal are selectively combined in each of the frequency bins ω i  in the noise period  26  of the input audio signal  12 . The background audio signal and the noise-attenuated audio signal may be combined in any one of a wide variety of ways. 
   In some implementations, the contribution of the background audio signal is increased when the audio content in the corresponding portion of the noise-free period is determined to be unstructured, and the contribution of the noise-attenuated audio signal is increased when the audio content in the corresponding portion of the noise-free period is determined to be structured. 
   In some implementations, the output audio signal composer  20  generates the output audio signal G S (ω i ,k) in frequency bin ω i  in accordance with the linear combination given by equation (5):
 
 G   S (ω i   ,k )=α(ω i )· B   S (ω i   ,k )+(1−α(ω i ))· A   S (ω i   ,k )  (4)
 
where 0≦α(ω i )≦1.
 
   After the combination of the background audio signal and the non-attenuated audio signal has been determined (block  66 ), the frequency-to-time converter  22  converts the output audio signal spectrum G S (ω,k) into the time domain to generate the output audio signal  14  (S OUT (t)) (block  68 ). In this process, the frequency-to-time converter  22  converts the spectral time slices of the output audio signal G S (ω,k) into the time domain using, for example, the Inverse Fourier Transform (IFT). 
     FIG. 9  shows a spectrogram of an output audio signal composed from a combination the background audio signal shown in  FIG. 5  and the noise-attenuated audio signal shown in  FIG. 8  in accordance with the method of  FIG. 7 . By comparing the spectrograms shown in  FIGS. 4 and 9 , it can be seen that the zoom motor noise in the noise period  26  of the output audio signal G S (ω,k) is substantially reduced relative the zoom motor noise in the noise period  26  of the original input audio signal  12 . In addition, by comparing  FIGS. 5 and 9 , the noise reduction method of  FIG. 7  preserves at least some aspects of the original audio content in the noise period. In this way, the noise period in the resulting output audio signal may be less noticeable and sound more natural. 
     FIG. 10  shows another embodiment of a method of generating the weights α(ω i ) in block  52  of  FIG. 7 . In accordance with this embodiment, the weights generator  44  identifies structured ones of the frequency bins in the noise-free period and unstructured ones of the frequency bins in the noise-free period (block  54 ). In some implementations, the weights generator  44  performs a randomness test (e.g., a runs test) on the spectral coefficients F S (ω i ,k j ) across the spectral time slices k j  in the noise-free period in each of the frequency bins ω i . If the spectral coefficients F S (ω i ,k j ) in a particular bin ω b  are determined to be randomly distributed across the noise-free period, the weights generator  44  labels the bin ω b  as an unstructured bin. If the spectral coefficients in the bin ω b  are determined to be not randomly distributed across the noise-free period, the weights generator  44  labels the bin ω b  as a structured bin. 
   The indexing parameter i initially is set to 1 (block  55 ). 
   The weights generator  44  computes a weight α(ω i ) for each frequency bin ω i  (block  56 ). If the frequency bin ω i  is unstructured (block  58 ), the corresponding weight α(ω i ) is set to 1 (block  60 ). If the frequency bin ω i  is structured (block  58 ), the corresponding weight α(ω i ) is set based on the spectral energy of the input audio signal in the noise-free period and the spectral energy of the input audio signal in the noise period (block  62 ). In some implementations, the weights generator  44  computes the values of the weights for the structured ones of the frequency bins ω i  in accordance with equation (3) above. 
   The weights computation process stops (block  63 ) after a respective weight α(ω i ) has been computed for each of the N frequency bins ω i  (blocks  64  and  65 ). 
   IV. CAMERA SYSTEM INCORPORATING A NOISE REDUCTION SYSTEM 
   In general, the above-described noise reduction systems may be incorporated into any type of apparatus that is capable of recording or playing audio content. 
     FIG. 11  shows an embodiment of a camera system  70  that includes a camera body  72  that contains a zoom motor  74 , a cam mechanism  76 , a lens assembly  78 , an image sensor  80 , an image processing pipeline  82 , a microphone  84 , an audio processing pipeline  86 , and a memory  88 . The camera system  70  may be, for example, a digital or analog still image camera or a digital or analog video camera. 
   The image sensor  80  may be any type of image sensor, including a CCD image sensor or a CMOS image sensor. The zoom motor  74  may correspond to any one of a wide variety of different types of drivers that is configured to rotate the cam mechanism about an axis. The cam mechanism  76  may correspond to any one of a wide variety of different types of cam mechanisms that are configured to translate rotational movements into linear movements. The lens assembly  78  may include one or more lenses whose focus is adjusted in response to movement of the cam mechanism  76 . The image processing system  84  processes the images that are captured by the image sensor  80  in any one of a wide variety of different ways. 
   The audio processing pipeline  86  processes the audio signals that are generated by the microphone  84 . The audio processing pipeline  86  incorporates one or more of the noise reduction systems described above. In the illustrated embodiment, the audio processing pipeline  86  is configured to reduce a targeted noise signal corresponding to the noise produced by the zoom motor  74 . In one implementation, the spectrum {circumflex over (T)}(ω,k) of the targeted zoom motor noise signal is estimated by capturing audio recordings of the zoom motor noise over multiple zoom cycles and averaging the recorded audio signals. 
   In some implementations, the audio processing pipeline identifies the noise periods in the audio signals that are generated by the microphone  84  based on the receipt of one or more signals indicating that the zoom motor  74  is operating (e.g., signal indicating the engagement and release of a switch  90  for the optical zoom motor  74 ). In some implementations, the audio processing pipeline  86  receives signals from the zoom motor  74  indicating the relative position of the lens assembly in the optical zoom cycle. In these implementations, the audio processing pipeline  86  maps the current position of the lens assembly to the corresponding location in the estimated spectrum {circumflex over (T)}(ω,k) of the targeted zoom motor noise signal. The audio processing pipeline  86  then uses the mapped portion of the estimated spectrum {circumflex over (T)}(ω,k) to reduce noise during the identified noise periods in the input audio signal received from the microphone in accordance with an implementation of the method of  FIG. 7 . In this way, the audio processing pipeline  86  is able to reduce the targeted zoom motor noise signal in the noise period of the input audio signal using a more accurate estimate of the targeted zoom motor noise signal. 
   V. CONCLUSION 
   The embodiments that are described above enable substantial reduction of a targeted noise signal in a noise period of an input audio signal. These embodiments leverage audio information contained in a noise-free period of the input audio signal that is free of the targeted noise signal to compose an output audio signal for the noise period. In some implementations, at least a portion of the output audio signal is composed from audio information that is contained in both the noise-free period and the noise period. The output audio signals that are composed by these implementations contain substantially reduced levels of the targeted noise signal and, in some cases, substantially preserve desirable portions of the original input audio signal in the noise period that are free of the targeted noise signal. 
   Other embodiments are within the scope of the claims.