Subtraction of a shaped component of a noise reduction spectrum from a combined signal

A system and methods of subtraction of a shaped component of a noise reduction spectrum from a combined signal are disclosed. In an embodiment, a method includes identifying a selected frequency component using a corresponding frequency component of a noise sample spectrum. A noise set is comprised of the noise sample spectrum. The method further includes forming a shaped component of a noise reduction spectrum using a processor and a memory based on a combined signal spectrum and the selected frequency component. The method also includes subtracting the shaped component of the noise reduction spectrum from the combined signal spectrum.

CLAIM OF PRIORITY

This application claims priority from Indian Provisional Application No. 2191/CHE/2008 filed on Sep. 10, 2008.

FIELD OF TECHNOLOGY

This disclosure relates generally to signal processing and more particularly to a system and methods of subtraction of a shaped component of a noise reduction spectrum from a combined signal.

BACKGROUND

A background noise may interfere with a clarity of a speech signal. The background noise may vary over time or due to environmental conditions. A filter may reduce the background noise, but the filter may not correlate with the background noise. As a result, the filter may fail to reduce a part of the background noise. The filter may also reduce an additional part of the speech signal below a threshold tolerance. The speech signal may therefore become distorted or reduced, and a part of the noise signal may continue to interfere with the clarity of the speech signal.

SUMMARY

This Summary is provided to comply with 37 C.F.R. §1.73. It is submitted with the understanding that it will not be used to limit the scope or meaning of the claims.

Several methods and a system of subtraction of a shaped component of a noise reduction spectrum from a combined signal are disclosed. An exemplary embodiment provides a method that includes identifying a selected frequency component using a corresponding frequency component of a noise sample spectrum. A noise set includes the noise sample spectrum. The method further includes forming a shaped component of a noise reduction spectrum using a processor and a memory based on a combined signal spectrum and the selected frequency component. The method also includes subtracting the shaped component of the noise reduction spectrum from the combined signal spectrum.

An additional exemplary embodiment provides a system that includes a noise spectrum estimator module to identify a selected frequency component using a corresponding frequency component of a noise sample spectrum. A noise set includes the noise sample spectrum. The system includes a noise spectrum shaping module to form a shaped component of a noise reduction spectrum using a processor and a memory based on a combined signal spectrum and the selected frequency component. The system further includes a spectral subtraction module to subtract the shaped component of the noise reduction spectrum from the combined signal spectrum.

A further exemplary embodiment provides a method that includes obtaining a noise sample spectrum using at least one of a prerecorded sample of a background noise and a locally characterized sample of the background noise. The method also includes identifying a selected frequency component using a corresponding frequency component of a noise sample spectrum. A noise set includes the noise sample spectrum. The noise sample spectrum is obtained using at least one of a prerecorded sample of a background noise and a locally characterized sample of a background noise.

The method further includes algorithmically determining whether to use the selected frequency component to generate a shaped component of the noise reduction spectrum. A threshold value is used to algorithmically determine whether to use the selected frequency component to generate a shaped component of the noise reduction spectrum. The threshold value is includes a combined signal frequency component multiplied by an amplification factor.

The method further includes forming the shaped component of a noise reduction spectrum using a processor and a memory based on a combined signal spectrum and the selected frequency component. The shaped component of a noise reduction spectrum includes a largest corresponding frequency component of the noise set when the largest corresponding frequency component is less than a threshold value. The shaped component of a noise reduction spectrum includes an average of corresponding frequency components of the noise set when a largest corresponding frequency component is greater than a threshold value.

The method also includes subtracting the shaped component of the noise reduction spectrum from the combined signal spectrum. The method further includes reconstructing an adaptively filtered speech signal, and normalizing a signal level of a reconstructed speech signal.

The methods, systems, and apparatuses disclosed herein may be implemented in any means for achieving various aspects, and may be executed in a form of a machine-readable medium embodying a set of instructions that, when executed by a machine, cause the machine to perform any of the operations disclosed herein. Other aspects and example embodiments are provided in the Drawings and the Detailed Description that follows.

DETAILED DESCRIPTION

Disclosed are several methods and a system of subtraction of a shaped component of a noise reduction spectrum from a combined signal.

Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments.

FIG. 1is a schematic view of a system to subtract a shaped component of a noise reduction spectrum from a combined signal, according to one embodiment. Particularly,FIG. 1illustrates a noise spectrum shaping module100, a noise spectrum estimator module102, a signal spectrum estimator module104, a spectral subtraction module106, a signal reconstruction module108, an automatic gain control module110, a processor112, a memory114, a mux module115, a combined signal116, a combined signal spectrum118, a locally characterized frequency component120, a remotely characterized frequency component122, a selected frequency component124, a noise reduction spectrum126, an adaptively filtered speech signal128, a reconstructed speech signal130, and a normalized speech signal132, according to one embodiment.

In an embodiment, the combined signal116is received by the noise spectrum estimator module102and the signal spectrum estimator module104. The combined signal116may include both a noise signal and a speech signal. The combined signal116may be an audio signal captured using an electronic device, such as a digital still camera. The combined signal116may be acquired using a single microphone. The noise signal may be a background noise such as a stepper motor noise, wind noise in an outdoor environment, a mechanical noise from machinery operating nearby, or other noise signals. The speech signal may be human speech that is acquired independently or with a still image or a video image.

A noise set may include the noise sample spectrum. The noise set may be a group of frequency spectrums generated using one or more characterized samples of a background noise. A characterization sample of a background noise may cover a period of time that is divided into multiple windows. The noise sample spectrum may be one of several Fourier transformed samples of a background noise signal, which may be acquired using a windowing method. A frequency component of the noise sample spectrum may be a part of the noise sample spectrum that is limited to a particular frequency or range of frequencies.

The characterization sample of the background noise may be acquired locally or remotely. The local characterization sample may be acquired using a digital camera when a characterization instruction is received. A remotely acquired characterization sample of the background noise may be acquired at any time prior to the communication of the selected frequency component124to the noise spectrum shaping module100. The remotely acquired characterization sample of the background noise may be obtained at any location. The remotely characterized frequency component122may be a part of a spectrum of the remotely acquired characterization sample. The remotely acquired characterization sample or remotely characterized frequency component122may be stored in memory114and/or transmitted to and received by an electronic device, such as a digital camera.

The characterization instruction may be associated with a user control signal, a motor operation, a voice activity detection, a time factor, or an environmental setting. The user control signal may be generated by a user of a digital camera. The motor operation may be a stepper motor that is used to zoom in and/or zoom out of an image by moving a focal distance of a digital camera. The voice activity detection may postpone acquisition of a noise characterization sample while a voice activity is detected, and it may allow a noise characterization sample to be captured when the voice activity is not detected. The characterization sample may be acquired during gaps in a conversation between words or sentences.

In an embodiment, the noise spectrum estimator module102identifies a selected frequency component124using a corresponding frequency component of a noise sample spectrum. The noise spectrum estimator module102may identify a locally characterized frequency component120, which may be chosen as the selected frequency component124using a mux module115. The mux module115may be used to choose either the remotely characterized frequency component122or the locally characterized frequency component120to be the selected frequency component124.

In the embodiment, the selected frequency component124may be a spectral line that corresponds to a frequency to be analyzed in the noise spectrum shaping module100. The selected frequency component124may be chosen or derived from one or more corresponding frequency components of windowed samples of the noise signal. The selected frequency component124may be an average or a maximum of one or more corresponding frequency components of windowed samples of the noise signal. The selected frequency component124may be chosen or determined using any other algorithm, selection method, or criterion with respect to the corresponding frequency components of windowed samples of the noise signal.

In an embodiment, the selected frequency component124may be obtained from either the remotely characterized frequency component122or the locally characterized frequency component120using the mux module115. The remotely characterized frequency component122may include a maximum frequency component and/or an average frequency component, which may be predetermined using a previously obtained noise signal. The remotely characterized frequency component122may include any other frequency component automatically derived from one or more corresponding frequency components of the previously obtained noise signal. The previously obtained noise signal may be captured using multiple windows.

The noise spectrum shaping module100may algorithmically determine whether to use the selected frequency component124to generate a shaped component of the noise reduction spectrum126. A threshold value may be used to algorithmically determine whether to use the selected frequency component124to generate the shaped component of the noise reduction spectrum226. The threshold value may include a combined signal frequency component246multiplied by an amplification factor. The combined signal frequency component246may be a part of the combined signal spectrum118.

In the embodiment, the noise spectrum shaping module100forms a shaped component of a noise reduction spectrum126using the processor112and the memory114based on the combined signal spectrum118and the selected frequency component124. The shaped component of the noise reduction spectrum226may include a largest corresponding frequency component242when the largest corresponding frequency component242is less than a threshold value. The shaped component of the noise reduction spectrum226may include an average of corresponding frequency components244of the noise set when the largest corresponding frequency component242is less than a threshold value. The operation of the noise spectrum shaping module100may also be better understood by referring toFIG. 2.

In the embodiment, the spectral subtraction module106subtracts the shaped component of the noise reduction spectrum126from the combined signal spectrum118. The spectral subtraction module106may generate an adaptively filtered speech signal128that is communicated to the signal reconstruction module108. The signal reconstruction module108may reconstruct an adaptively filtered speech signal128to generate the reconstructed speech signal130, which may be communicated to the automatic gain control module110. The automatic gain control module110may normalize a signal level of a reconstructed speech signal130.

FIG. 2is an expanded view of a noise spectrum shaping module, according to one embodiment. Particularly,FIG. 2illustrates a noise spectrum shaping module200, a noise reduction spectrum226, an adaptive shaping module234, a high pass filter module236, a smoothing module238, a magnitude module240, a largest corresponding frequency component242, a combined signal frequency component246, an average of corresponding frequency components244, and a shaped component of a noise reduction spectrum248, according to one embodiment.

The noise spectrum shaping module200may be the noise spectrum shaping module100. The average of corresponding frequency components244and the largest corresponding frequency component242may be obtained from or derived from the noise reduction spectrum126. The noise reduction spectrum126may include each spectrum of a windowed sample of a background noise signal, and the noise reduction spectrum126may include multiple frequency components. The largest corresponding frequency component242may be the largest frequency component for a given frequency or frequency range based on the windowed samples of the background noise signal. The average of corresponding frequency components244may be the average of multiple windowed samples for a given frequency or frequency range. The combined signal frequency component246may be a part of the combined signal spectrum118that is limited to a particular frequency or range of frequencies. The magnitude of the combined signal frequency component246may be acquired using the magnitude module240and communicated to the adaptive shaping module234. The largest corresponding frequency component242may be passed through a high pass filter module236before being received by the adaptive shaping module234.

The adaptive shaping module234of the noise spectrum shaping module200may algorithmically determine whether to use the selected frequency component124to generate the shaped component of the noise reduction spectrum248. A threshold value may be used as part of the algorithm, and the threshold value may include a combined signal frequency component246multiplied by an amplification factor. The selected frequency component124may be the corresponding frequency component of any particular noise sample, a largest corresponding frequency component242of the noise samples, or the average of the corresponding frequency components244of multiple noise samples.

In an embodiment, when a speech signal is not present, the adaptive shaping module234may determine that the largest corresponding frequency component242should be used to generate the shaped component of the noise reduction spectrum248. The shaped component of the frequency in question may be formed to include the magnitude of the largest corresponding frequency component242.

In an embodiment, when a speech signal is present, the magnitude of the largest corresponding frequency component242may be compared against the magnitude of the frequency component of the combined signal116scaled by the amplification factor. The amplification factor may be approximately 10^(β/20), with β=12. The amplification factor may be approximately 3.981. The comparison may determine whether an average of corresponding frequency components244or a largest corresponding frequency component242is used to form a shaped component of the noise reduction spectrum248. The noise reduction spectrum126may therefore vary between different frequencies depending on the results of the comparison, which may result in a reduction of a noise frequency subtraction to preserve a speech signal energy.

In the embodiment, when the largest corresponding frequency component242is larger than the magnitude of the frequency component of the combined signal scaled by the amplification factor, the average of the corresponding frequency components244of multiple noise samples may form the shaped component of the noise reduction spectrum248. The shaped component may include the magnitude of the average of the corresponding frequency components244.

In the embodiment, using the largest corresponding frequency component242to form the shaped component of the noise reduction spectrum248may result in a loss of speech energy, which may reduce a speech intelligibility. Using the average of the corresponding frequency components244may allow subtraction to occur while preserving speech energy.

In an embodiment, the adaptive shaping module234of the noise spectrum shaping module200may dynamically generate a spectral magnitude curve between a spectrum composed of the largest magnitude frequency components of noise samples and a spectrum composed of a running average of the frequency components of the noise samples. The adaptation of the noise reduction spectrum226may preserve a natural sound in speech segments while suppressing a noise signal. The adaptation may allow the noise spectrum shaping module200to adapt to a noise spectrum that varies in time.

In an embodiment, the adaptive shaping module234of the noise spectrum module may operate in accordance with the following:

In the embodiment, maxSMag may represent the energy of the highest energy frequency component in the input signal, and maxNMag may represent the energy of the highest energy noise spectrum component. SNthr_sf may represent an amplification factor, and SNthr_dB may correspond to the variable β. In the embodiment, Nmag[ix] may represent the shaped component of the noise reduction spectrum248, Nmag_avg[ix] may represent the average of corresponding frequency components244, and Nmag_max[ix] may represent the largest corresponding frequency component242. In the embodiment, S+Nmag[ix] may represent the combined signal frequency component246, and it may be scaled by the factor SNthr_sf when compared with Nmag_max[ix].

The noise spectrum shaping module200may modify a low frequency magnitude spectrum, and it may include a smoothing module238that reduces sharp transitions between frequency components of the noise reduction spectrum226. The sharp transitions of the noise reduction spectrum226may be modified by increasing or decreasing the magnitude of a frequency component of the noise reduction spectrum226. The smoothing module238may include a low pass filter, such as a bi-quadratic filter. The bi-quadratic filter may be as given by the following: b0*y[n]=a0*x[n]−a1*x[n−1]+a2*x[n−2]−b1*y[n−1]−b2*y[n−2], wherein the coefficients a0, a1, a2, b0, b1, and b2 may be programmable. A Butterworth filter design may reduce ripples in a pass band and a stop band.

The high pass filter module236may amplify a frequency line of a noise reduction spectrum that corresponds to a frequency below a human speech threshold. The amplified frequencies may range from 0 Hz to 80 Hz. The amplification may increase in frequency until reaching unity. The envelope of the amplifier response may be triangular or cosine. The spectral alteration on the left side may be replicated on the right side of the magnitude spectrum to maintain symmetry. The amplification of the lower frequency range of the noise reduction spectrum226may act as high pass filtering in a spectral subtraction stage by reducing the adaptively filtered speech signal128in frequency ranges below a human speech frequency.

In an embodiment, the high pass filter of the noise spectrum shaping module200may be 80 Hz. The smoother may include a Butterworth low pass filter with a cut-off of 0.25 with 1.0 corresponding to half sampling rate. The coefficients may be substantially a0=0.097631, a1=0.195262, a2=0.097631, b0=1.0, b1=−0.942809, and b2=0.333333. The signal scale factor β may be 12 dB. In another embodiment, a dynamically computed signal scale factor β may be used.

FIG. 3is an expanded view of a signal spectrum estimator module304, according to one embodiment. Particularly,FIG. 3illustrates a combined signal316, a combined signal spectrum318, a windowing module350, and a Fourier transform module352, according to one embodiment.

In an embodiment, the combined signal316may be sampled using a windowing technique in the windowing module350. The combined signal316may include a noise signal and another audio signal. A windowed sample of the combined signal316may then be communicated to the Fourier transform module352. The Fourier transform module352may convert the windowed sample from a time domain to a frequency domain to generate the combined signal spectrum318. The Fourier transform module352may use any type of Fourier transform method, such as a Fast Fourier Transform or a Discrete Fourier Transform.

In an embodiment, a Fast Fourier Transform may be used to perform transformation from a time domain to a frequency domain. A Fast Fourier Transform length of 512 may be used. A quality threshold of the noise filter transforms may be approximately 96 dB on Fast Fourier Transform and Inverse Fast Fourier Transform operations using fixed point arithmetic. Various Fast Fourier Transform algorithms may be used, including Radix-2 FFT, Radix-4 FFT, Split Radix FFT, and Radix-8 FFT.

In another embodiment, various window types may be used. A Blackman-Harris window may be used, and it may have an approximately 75% overlap. A Tukey window with alpha equal to 0.5 may be used with a 25% overlap. A Hanning window with alpha equal to 2, sine squared, and 50% overlap may also be used.

FIG. 4is an expanded view of a noise spectrum estimator module402, according to one embodiment. Particularly,FIG. 4illustrates a processor412, a memory414, a combined signal416, a locally characterized frequency component420, a windowing module454, a Fourier transform module456, a spectrum magnitude module458, an identification module460, and an additional memory462, according to one embodiment. The processor412may be the processor112, the memory414may be the memory114, and the combined signal416may be the combined signal116. In addition, the locally characterized frequency component420may be the locally characterized frequency component120.

The noise spectrum estimator module402may generate a locally characterized frequency component420or a remotely characterized frequency component122. The locally characterized frequency component420may be computed real-time from the combined signal116. The remotely characterized frequency component122may be determined using a most probabilistic noise signal. The locally characterized frequency component420or the remotely characterized frequency component122may be computed using a combination of real-time and off line processing.

In an embodiment, noise may be computed dynamically from an input signal, such as the combined signal116. A voice activity detection module may detect a voice activity. When a signal segment of a combined signal116does not contain a voice signal, noise estimation may be performed. The combined signal116may be divided into windows using the windowing module454. Overlapping windows may be used to reduce a spectral leakage. The noise signal spectrum may be estimated by performing a Fast Fourier Transform on overlapping windows using the Fourier transform module456. The magnitude spectrum may be computed using the spectrum magnitude module458, and a maximum and a running average of each frequency component across overlapping windows may be stored in the additional memory462using the memory414using the identification module460. In the absence of a noise spectral adaptation, the maximum of each frequency component may be used as the shaped component of the noise reduction spectrum248. The shaped component of the noise reduction spectrum248may be limited to a most recent signal in time to reduce a potential for a peak noise to override a combined signal116.

In another embodiment, a user interface may characterize a noise signal, which may be a stepper motor noise. The user may trigger the start and/or stop of the noise characterization, which may record the audio input. The noise characterization may include a zoom in and zoom out operation so the resultant noise may be recorded. During or after the recording process, the captured noise signal spectrum may be estimated. The captured noise signal spectrum may include the largest corresponding frequency component242and the average of corresponding frequency components244. The resulting captured noise signal spectrum may include the largest noise spectral magnitude in each spectral line of the background and stepper motor noise during stepper motor activity.

In yet another embodiment, the remotely characterized frequency component122may be estimated and stored in a memory114of an electronic device, such as a digital camera. The remotely characterized frequency component122may include the largest corresponding frequency component242and the average of corresponding frequency components244.

In a further embodiment, real time and offline noise estimation may be combined. A noise signal, such as a stepper motor noise, may be stored in memory114. A background noise may be estimated using a voice activity detection module to acquire samples when a voice activity is not detected. A background noise may be estimated using a noise characterization mode. The largest corresponding frequency component242and the average of corresponding frequency components244using both the offline noise estimation and the real time noise estimation samples.

FIG. 5is an expanded view of a spectral subtraction module506, according to one embodiment. Particularly,FIG. 5illustrates a combined signal spectrum518, an adaptively filtered speech signal528, a phase adjustment module564, a clipping module566, a phase spectrum module568, a combined signal spectrum magnitude572, and a noise reduction spectrum magnitude574, according to one embodiment.

The noise reduction spectrum magnitude574may be subtracted from the combined signal spectrum magnitude572in the spectral subtraction module506. The noise sample spectrum may be removed in case the result has negative values. The negative valued results may be clipped to zero level in the clipping module566.

The subtraction of the noise reduction spectrum magnitude574from the combined signal spectrum magnitude572may remove noise energy from the spectral lines of the combined signal116. In an example embodiment, zoom operations of a digital camera involve the use of a stepper motor. Noise patterns of the stepper motor may be loaded or captured, and the spectral subtraction module506may subtract the noise patterns from the combined signal116. Internal signals in the digital camera may be tapped to detect the stepper motor activity.

The phase spectrum module568may acquire the phase of the combined signal spectrum518. The phase may be communicated to the phase adjustment module564. The phase of the combined signal spectrum518may be used to determine the phase of the adaptively filtered speech signal528.

FIG. 6is an expanded view of a signal reconstruction module608, according to one embodiment. Particularly,FIG. 6illustrates an adaptively filtered speech signal628, an inverse Fourier transform module676, an additional memory678, an overlap module680, and a reconstructed speech signal630according to one embodiment.

The adaptively filtered speech signal628may be received by the inverse Fourier transform module676of the signal reconstruction module608. The inverse Fourier transform module676may generate a time domain sample of the input signal for each overlapped window of the signal spectrum estimator module104. The time domain samples with an overlap may be added together using the additional memory678and the overlap module680to generate the reconstructed speech signal630.

FIG. 7is a block diagram illustrating subtraction of a shaped component of a noise reduction spectrum from a combined signal, according to one embodiment. In operation700, a voice activity may be detected. A voice activity detector may be used to indicate whether a voice activity is present in the combined signal116. The voice activity detector may be used to allow noise estimation to occur during gaps in speech. The voice activity detector may also be used to indicate whether an average or a largest frequency component should be used to form the shaped component of the noise reduction spectrum248.

In operation702, a combined signal spectrum118may be computed. The combined signal spectrum118may be acquired from the combined signal116using the signal spectrum estimator module104. The combined signal116may be acquired in operation704. In operation706, the noise spectrum may be estimated using the noise spectrum estimator module102. The noise spectrum may include the locally characterized frequency component120, which may be acquired during an absence of voice activity. The noise spectrum may be estimated remotely, and a remotely characterized frequency component122may be generated and stored in a memory114. The remotely characterized frequency component122and the locally characterized frequency component120may include an average of corresponding frequency components244or a largest corresponding frequency component242. The noise spectrum may be estimated using the combined signal116.

In operation708, an estimated or prestored noise spectrum may be selected to generate the shaped component of the noise reduction spectrum248. The prestored noise spectrum may be acquired in operation710from the memory114. In operation712, the noise spectrum may be shaped by the noise spectrum shaping module100to include one or both of the average of corresponding frequency components244and the largest corresponding frequency component242.

In operation714, spectral subtraction of the noise reduction spectrum126from the combined signal spectrum118may be performed by the spectral subtraction module106. In operation716, a reconstructed speech signal130may be formed by the signal reconstruction module108. In operation718, a signal level of the reconstructed speech signal130may be normalized by the automatic gain control module110, which may generate the normalized speech signal132.

FIG. 8is a process flow diagram illustrating identification of a selected frequency component using a corresponding frequency component of a noise sample spectrum among other operations, according to one embodiment.

In the embodiment, in operation802, a noise sample spectrum is obtained using at least one of a prerecorded sample of a background noise and a locally characterized sample of the background noise. In operation804, a selected frequency component124is identified using a corresponding frequency component of a noise sample spectrum. In operation806, an algorithmic determination is made whether to use the selected frequency component124to generate a shaped component of the noise reduction spectrum248. A threshold value is used to algorithmically determine whether to use the selected frequency component124to generate a shaped component of the noise reduction spectrum248.

In the embodiment, in operation808, the shaped component of a noise reduction spectrum248is formed using a processor112and a memory114based on a combined signal spectrum118and the selected frequency component124. In operation810, the shaped component of the noise reduction spectrum248is subtracted from the combined signal spectrum118. In operation812, an adaptively filtered speech signal128is reconstructed. In operation814, a signal level of a reconstructed speech signal130is normalized.

FIG. 9is a diagrammatic system view of a data processing system in which any of the embodiments disclosed herein may be performed, according to one embodiment. In particular, the diagrammatic system view950ofFIG. 9illustrates a processor902, a main memory904, a static memory906, a bus908, a video display910, an alpha-numeric input device912, a cursor control device914, a drive unit913, a signal generation device918, a network interface device920, a machine readable medium922, instructions924, and a network926, according to one embodiment.

The diagrammatic system view950may indicate a personal computer and/or the data processing system in which one or more operations disclosed herein are performed. The processor902may be a microprocessor, a state machine, an application specific integrated circuit, a field programmable gate array, etc. (e.g., an Intel® Pentium® processor). The main memory904may be a dynamic random access memory and/or a primary memory of a computer system. The static memory906may be a hard drive, a flash drive, and/or other memory associated with the data processing system. The bus908may be an interconnection between various circuits and/or structures of the data processing system. The video display910may provide a graphical representation of information on the data processing system. The alpha-numeric input device912may be a keypad, a keyboard and/or any other input device of text (e.g., a special device to aid the physically handicapped).

The cursor control device914may be a pointing device such as a mouse. The drive unit916may be the hard drive, a storage system, and/or other longer term storage subsystem. The signal generation device918may be a bios and/or a functional operating system of the data processing system. The network interface device920may be a device that performs interface functions such as code conversion, protocol conversion and/or buffering required for communication to and from the network926. The machine readable medium922may provide instructions on which any of the methods disclosed herein may be performed. The instructions924may provide source code and/or data code to the processor902to enable any one or more operations disclosed herein.

Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, analyzers, generators, etc. described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software and/or any combination of hardware, firmware, and/or software (e.g., embodied in a machine readable medium).

In addition, it will be appreciated that the various operations, processes, and methods disclosed herein may be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and may be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.