US 7388954 B2 Résumé A communication system having an echo canceller is disclosed. One embodiment of the echo canceller includes an adaptive filter used to provide an estimate of reflected echo which is removed from the send signal. The echo canceller may also include a near-end talker signal detector which may be used to prevent the adaptive filter from adapting when a near-end talker signal is present. The echo canceller may also include a nonlinear processor used to further reduce any residual echo and to preserve background noise. The echo canceller may also include a monitor and control unit which may be used to monitor the filter coefficients and gain of the adaptive filter to maintain stability of the echo canceller, estimate pure delay, detect a tone, and inject a training signal. The echo canceller may also include a nonadaptive filter used to reduce the length of the adaptive filter.
Revendications(18) 1. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined first delay to produce a first delayed signal;
delaying the communication signal by a predetermined second delay to produce a second delayed signal;
performing a polynomial function using the first delayed signal, the second delayed signal, and the communication signal to produce an estimate signal, wherein performing the polynomial function comprises:
multiplying the first delayed signal by the first delayed signal to produce a first product;
multiplying the second delayed signal by the communication signal to produce a second product;
subtracting the second product from the first product to produce an intermediate signal;
taking a magnitude of the intermediate signal to produce the estimate signal;
low-pass filtering the estimate signal to produce a smooth estimate signal; and
using the smooth estimate signal to indicate whether the tone is present.
2. A method as in
3. A method as in
taking a magnitude of an intermediate signal to produce a magnitude signal.
4. A method as in
using an impulsive change of the smooth estimate signal to detect a phase change of the communication signal.
5. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined first delay to produce a first delayed signal;
delaying the communication signal by a predetermined second delay to produce a second delayed signal;
performing a polynomial function using the first delayed signal, the second delayed signal, and the communication signal to produce an estimate signal;
low-pass filtering the estimate signal to produce a smooth estimate signal;
delaying the smooth estimate signal by a predetermined third delay to produce a delayed smooth estimate signal;
determining a minimum estimate between the smooth estimate signal and the delayed smooth estimate signal; and
determining a maximum estimate between the smooth estimate signal and the delayed smooth estimate signal.
6. A method as in
computing a ratio of the minimum estimate and the maximum estimate;
comparing the ratio to a predetermined ratio threshold;
repeating the step of computing the ratio;
determining if the ratio has continuously exceeded the predetermined ratio threshold for a sufficient number of steps of repeating; and
if the ratio has continuously exceeded the predetermined ratio threshold for the sufficient number of steps of repeating, providing a tone indicator signal which indicates that the tone has been detected.
7. A method as in
determining if the smooth estimate signal has exceeded a predetermined ratio threshold for a sufficient number of steps of repeating.
8. A method as in
determining if the power estimate signal has exceeded a predetermined low power threshold; and
if the power estimate signal has not exceeded a predetermined low power threshold, waiting until the power estimate signal has exceeded the predetermined low power threshold before performing the steps of computing, comparing, repeating, and determining if the ratio has continuously exceeded the predetermined ratio threshold.
9. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined first delay to produce a first delayed signal;
delaying the communication signal by a predetermined second delay to produce a second delayed signal;
performing a polynomial function using the first delayed signal, the second delayed signal, and the communication signal to produce an estimate signal;
low-pass filtering the estimate signal to produce a smooth estimate signal;
using the smooth estimate signal to indicate whether the tone is present;
delaying the communication signal by a predetermined third delay to produce a third delayed signal;
generating a generated sinusoidal signal with the predetermined single frequency;
multiplying the generated sinusoidal signal by the communication signal to produce a correlation signal;
multiplying the generated sinusoidal signal by the third delayed signal to produce a delayed correlation signal;
low-pass filtering the correlation signal to produce a smooth correlation estimate;
low-pass filtering the delayed correlation signal to produce a delayed smooth correlation signal;
using the smooth correlation signal and the delayed smooth correlation signal to detect whether the tone is the predetermined single frequency tone; and
detecting phase reversal of the predetermined single frequency tone.
10. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined delay to produce a delayed signal;
generating a generated sinusoidal signal;
performing a polynomial function using the delayed signal, the generated sinusoidal signal, and the communication signal to produce a first correlation signal and a second correlation signal, wherein performing the polynomial function comprises:
multiplying the generated sinusoidal signal by the communication signal to produce the first correlation signal; and
multiplying the generated sinusoidal signal by the delayed signal to produce the second correlation signal; and
using the first correlation signal and the second correlation signal to indicate whether the tone has been detected.
11. A method as in
12. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined delay to produce a delayed signal;
generating a generated sinusoidal signal;
performing a polynomial function using the delayed signal, the generated sinusoidal signal, and the communication signal to produce a first correlation signal and a second correlation signal;
low-pass filtering the first correlation signal to produce a smooth correlation estimate;
low-pass filtering the second correlation signal to produce a delayed smooth correlation signal; and
using the first correlation signal and the second correlation signal to indicate whether the tone has been detected, wherein using comprises:
determining a magnitude of the smooth correlation estimate;
determining a magnitude of the delayed smooth correlation estimate; and
determining an effective smooth correlation signal by selecting a maximum between the magnitude of the smooth correlation estimate and the delayed smooth correlation estimate.
13. A method as in
delaying the effective smooth correlation signal by a second predetermined delay to produce a delayed effective smooth correlation signal;
determining a minimum estimate between the effective smooth correlation signal and the delayed effective smooth correlation signal; and
determining a maximum estimate between the effective smooth correlation signal and the delayed effective smooth correlation signal.
14. A method as in
computing a ratio of the minimum estimate and the maximum estimate;
comparing the ratio to a predetermined ratio threshold;
repeating the step of computing the ratio;
determining if the ratio has continuously exceeded the predetermined ratio threshold for a sufficient number of steps of repeating;
if the ratio has continuously exceeded the predetermined ratio threshold for the sufficient number of steps of repeating, providing a tone detector signal which indicates that the tone has been detected.
15. A method for indicating whether a tone is present in a communication signal, comprising:
delaying the communication signal by a predetermined delay to produce a delayed signal;
generating a generated sinusoidal signal;
performing a polynomial function using the delayed signal, the generated sinusoidal signal, and the communication signal to produce a first correlation signal and a second correlation signal;
using the first correlation signal and the second correlation signal to indicate whether the tone has been detected;
if the tone has been detected, detecting a phase sign of the tone; and
wherein the step of detecting the phase sign of the tone comprises determining a sign of one of the first and second correlation signals whose magnitude is equal to the effective smooth correlation signal.
16. A method as in
if the tone is detected, determining if a phase reversal of the tone occurs by monitoring the sign of the one of the first and second correlation signals whose magnitude is equal to the effective smooth correlation signal.
17. A method as in
if the phase reversal of the tone occurs, counting a number of times the phase reversal of the tone occurs.
18. A tone detector for detecting a tone in a communication signal, comprising:
a first circuit for providing a first delayed signal;
a second circuit for providing a second delayed signal;
estimator circuitry for performing a polynomial function using the first delayed signal, the second delayed signal, and the communication signal to produce an estimate signal, wherein the estimator circuitry comprises;
a first multiplier for multiplying the first delayed signal by the first delayed signal to produce a first product;
a second multiplier for multiplying the second delayed signal by the communication signal to produce a second product;
a subtractor for subtracting the second product from the first product to produce an intermediate signal; and
magnitude circuitry for taking a magnitude of the intermediate signal to produce the estimate signal;
a low-pass filter for filtering the estimate signal to provide a smooth estimate signal; and
tone indication circuitry for using the smooth estimate signal to indicate whether the tone is present.
Description This is related to U.S. patent application having attorney docket number SC12026TS, filed on even date, and entitled “Monitoring and control of an Adaptive Filter in a Communication System,” U.S. patent application having attorney docket number SC12120TS, filed on even date, and entitled “Method and Apparatus for Pure Delay Estimation in a Communication System,” U.S. patent application having attorney docket number SC11993TS, filed on even date, and entitled “Method and Apparatus for Tone Indication,” and U.S. patent application having attorney docket number SC12107TS, filed on even date, and entitled “Method and Apparatus for Performing Adaptive Filtering,” all of which are assigned to the current assignee hereof. The present invention relates generally to non-linear processing, and more specifically, to a method and apparatus for non-linear processing of an audio signal. Echo cancellation is used in a telecommunication network (such as in a Public Switching Telephone Network (PSTN) or Packet Telephony (PT) network) to ensure voice quality through elimination or reduction of electric or line echo from the telecommunication network. The source of this electric or line echo may be the impedance mismatch of a hybrid circuit which is a device used to convert signals from a four-wire communication network interface to a two-wire local subscriber loop and vice versa. Echoes with long delays in the communication network may be noticeable which may create significant or even unbearable disturbance during telephone voice communication. Therefore, a need exists for an echo canceller that is able to eliminate the echoes completely or to reduce them to an acceptable level within the telecommunication network. Also, a need exists for an echo canceller that is capable of detecting tones received via the telecommunication network while maintaining stability. The present invention is illustrated by way of example and not limited by the accompanying figures, in which like references indicate similar elements, and in which: Skilled artisans appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help improve the understanding of the embodiments of the present invention. As used herein, the term “bus” is used to refer to a plurality of signals or conductors which may be used to transfer one or more various types of information, such as data, addresses, control, or status. The conductors as discussed herein may be illustrated or described in reference to being a single conductor, a plurality of conductors, unidirectional conductors, or bidirectional conductors. However, different embodiments may vary the implementation of the conductors. For example, separate unidirectional conductors may be used rather than bidirectional conductors and vice versa. Also, plurality of conductors may be replaced with a single conductor that transfers multiple signals serially or in a time multiplexed manner. Likewise, single conductors carrying multiple signals may be separated out into various different conductors carrying subsets of these signals. Therefore, many options exist for transferring signals. The terms “assert” and “negate” (or “deassert”) are used when referring to the rendering of a signal, status bit, or similar apparatus into its logically true or logically false state, respectively. If the logically true state is a logic level one, the logically false state is a logic level zero. And if the logically true state is a logic level zero, the logically false state is a logic level one. The symbols “*” and “.” both indicate a multiplication operation. A FIFO or other type of data storage may be used to provide the delays used throughout this invention document. Also, note that in the descriptions herein, variable names are generally used consistently with each group of related figures. Some variable names, though, may be reused to refer to different things in different groups of related figures. For example, in reference to a particular group of figures, M may refer to a measurement cycle, and in reference to a different group of figures, M may be used as a counter value. The description of each variable name in the equations and figures below, though, will be provided as they are used. Connectivity Similarly, transmitter/receiver Note that Operation: Transmitter/receiver In communications between transmitter/receiver As discussed above, line echo is introduced by the impedance mismatch within hybrid In one embodiment, communication network Control In the embodiments described herein, transmitter/receiver As discussed above, Sin Sin Note that adder Sin In adaptive filter unit Any residual echo in error signal Monitor and control unit In the embodiments described above, echo canceller Monitor and control unit The powers calculated in block Another way of shortening adaptive filter length is accomplished by block After monitoring and controlling adaptive filter Afterwards, flow proceeds to block At decision diamond After background processing, if any, flow proceeds to nonlinear processing Note that the steps in The embodiments discussed in One embodiment of Sin signal level estimator Near-end signal level estimator In the above equation, error signal One embodiment of far-end signal level estimator
In the above equation, Rin(kN−i) is the receive path input to echo canceller
In the above equation, the “P In an alternate embodiment, far-end signal level estimator The level estimations for the near-end (Sgen), far-end (Rin), and send path input (Sin) signals are used in the control of the near-end talker signal detection. Flow proceeds to decision diamond However, if BACKUP_STATE is not 0 or 1, then flow proceeds to block Therefore, NESD_Threshold is reevaluated once every N samples, and depending upon the state of the adaptive filters (i.e. BACKUP_STATE, corresponding to a state machine which will described further in reference to After adjusting NESD_Threshold in block After the flow of In block If, a near-end signal (Sgen) has been detected, flow proceeds from decision diamond The duration of the NESD_Hangover time that is used for the NESD_Hangover timer is chosen to ensure that Sgen is no longer present before starting filter coefficient adaptation as well as to avoid any unnecessary filter coefficient adaptation and restore. For example, in one embodiment, the NESD_Hangover time is 160 samples, or 20 milliseconds. Therefore, the duration of the NESD_Hangover time prevents near-end signal detector Therefore, under different combinations of the signal levels (i.e. power) of Sgen and Rin, different action regarding the filter coefficients (e.g. the coefficients of adaptive filter
Since Sin is a mixture of Sgen and the echo or Rin, several combinations listed in the above table are not valid ones under normal operation mode (meaning that the connection is not broken or that no extra signals are injected into the circuit). These invalid combinations are Item 3 (because Sin cannot be high when both Sgen and Rin are low), Items 5 and 6 (because Sin cannot be low when Sgen is high). Three sets of actions are used for the remaining 5 combinations. Firstly, the condition for the coefficient adaptation process is when Rin is high while Sgen is low (during a single far-end talking period, regardless of whether Sin is high or low, i.e. items 2 and 4, respectively). Under these conditions, the error (error signal The methods described above for the detection of Sgen allows for the ability to cancel echoes when the echo return loss is close to or less than 6 dB. Therefore, at close to or less than 6 dB (such as in item 4 of Table 1 above), the methods above use the minimum of Sgen (which, as described above, may be estimated as error signal Also, the methods described above in reference to Furthermore, the methods described above in reference to Flow then proceeds to decision diamond In decision diamond One embodiment of the present invention uses two coefficient backups marked as Candidate backup coefficients and Good backup coefficients, and has a combination of 4 different BACKUP_STATES (0 to 3). The state machine of In one embodiment, the state machine starts with STATE 0 upon reset or initialization. The state machine transitions to STATE 1 if no near-end signal (Sgen) is detected in the last L entries to the background processing. Therefore, the minimum time window for the first backup of the filter coefficients is J*L samples (where L is 10 in the current embodiment, and J*K is therefore 1600 samples or 200 ms, assuming a sampling rate of 8 kHz). For this state transition, near-end signal has not been detected, and a first backup is performed by copying the current filter coefficients to the Candidate backup coefficients. Upon the detection of a near-end signal (Sgen), the state machine transitions back to STATE 0 because the stored Candidate backup coefficients may be corrupted due to the delay in the detection of the near-end signal, Sgen. The state machine remains in STATE 0 until no near-end signal is detected in the last L entries to the background processing at which point, the state machine again transitions to STATE 1 as was described above. In STATE 1, if no near-end signal is detected in another L entries of the background processing, the state machine transitions to STATE 2 where a second backup is performed by copying the Candidate backup coefficients to the Good backup coefficients and copying the current filter coefficients to the Candidate backup coefficients. In this state, both the Candidate and Good backup coefficients are available and the state machine will remain in this state if no near-end signal is detected. Note that in one embodiment, both Candidate and Good backup coefficients are renewed in sequential backups during the second backup, even though the state is not changed. Also, in one embodiment the two copies performed upon transition to STATE 2 from STATE 1 are performed with a single copy by first marking the Candidate backup coefficients as the Good backup coefficients (through the use of a pointer, for example), and then copying the current filter coefficients to the Candidate backup coefficients (which used to be marked as the Good backup coefficients). In STATE 2, when a near-end signal is detected, the state machine transitions to STATE 3 where the Candidate backup coefficients are again considered corrupted but the Good backup coefficients are still considered good because these Good backup coefficients have been proven to be good after at least a J*L time window. The state machine remains in STATE 3 so long as the near-end signal persists, or will go back to STATE 2 if the near-end signal is no longer present. Note that in alternate embodiments, each entry to the background processing (L) can occur on each sample rather than every J samples. Also, the state machine of Therefore, If P Alpha is generally less than 1 such that error signal If, at decision diamond Beta is generally greater than 1 because since the gain was previously attenuated, it needs to be recovered. Therefore, in one embodiment, beta is 1.0004. Flow then proceeds to decision diamond Therefore, After the comparison, flow continues to block If, at decision diamond One prior art method used today uses a synthesized background noise; however, this may result in disruptive switching between true background noise and the synthesized background noise. For example, one prior art method used today uses white noise as comfort noise. However, white noise is far different from natural background noise and therefore sounds disruptive. An alternate solution available today repeatedly outputs pre-stored background noise signals to match background noise. However, this method requires additional storage space and results in the noticeable repetition of background noise which may also be disruptive to communication. Therefore, The preservation or matching of natural background noise in echo canceller Nonlinear processor The threshold for turning on nonlinear processor When nonlinear processor If P However, when the In equation 10, P After block
In equation 11, P The second step includes finding the minimum P Therefore, P The third step in the adaptive background level estimation is to determine P In If at decision diamond Therefore, note that comfort noise level (CNL) is added (in blocks If it is determined at decision diamond Note that in the embodiment described above, the different between the NLP_OFF threshold and the NLP_ON threshold (which, in one embodiment, is −15 dBm0) is a “dead zone” for nonlinear processor If it is determined that P Therefore, comfort noise signals will be generated when nonlinear processor In equation 13 above, X(n) is the pseudo-random variable (−1≦X(n)<1) generated at time n, C The generated comfort noise, Y In equation 14 above, A is the magnitude of the background noise level to be matched (corresponding to block In equation 15, b is the ramping constant which is chosen to be less than 1. In one embodiment is approximately 0.9986 which approximately attenuates to its half in 500 ms, because 0.9986 FIGS. The embodiments that will be described herein may include a passive approach (e.g. sub-rate filter adaptation using the speech signal only) as well as an active approach (e.g. injecting a short, narrow-band very low level noise pulse at the beginning of the call and concurrently performing sub-rate adaptation in order to establish pure delay for calls which begin with silence on both directions, where generally, a silence lasting 300 ms is long enough to inject a low-level probing signal and determine pure delay). The embodiments to be described herein also include two scenarios for handling the pure delay. The first scenario relates to the beginning of a telephone call, where Quality of Service (QoS) principles require immediate reduction of echo. The second scenario relates to changes of the echo path in the middle of the telephone call. Typically, the sparse window (and the associated the pure delay) does not vary throughout the duration of a telephone call. However, on some calls (particularly those where, for example, ‘call forward’ or ‘conference call’ features are activated) the pure delay may change considerably. Therefore, various embodiments discussed herein support dynamics of the pure delay corresponding to up to one variation of the sparse window per second. Note that the embodiments discuss herein may use proprietary (i.e., non-standard) signaling provided via control signals The embodiments of The pure delay estimation may be controlled by such mechanisms as short-term sub-rate signal power estimation and sub-rate near-end talker signal detection in order to prevent generating measurements which could be inherently unreliable (as affected by either noise or near-end talk) and thus possibly causing the divergence of the sub-rate adaptive filter In addition to shortening the adaptive filter length, the estimation of pure delay may be used to address other situations, such as, for example, when a far-end echo canceller is turned off, when calls are switched from local to long distance (such as via a call forward feature, call transfer feature, etc.), when conference call operations are with calling/called parties dispersed over large geographical regions, etc. In an optional version, as will be discussed in reference to The flow of Decision diamond Also note that at the beginning of each phone call, many variables may be initialized for use in the flows of If, at decision diamond If, at decision diamond If, at decision diamond, training index is less than or equal to one, then flow proceeds to block At decision diamond At decision diamond Flow proceeds to block Note that in the above equations (equations 16-18), k is the signal sub-rate sample number such that, for example, SinSR(k)=Sin(k·D). Equation 18 corresponds to the sub-rate error, errorSR, which corresponds to the difference between SinSR and a sub-rate echo estimate, y(k), which is determined by sub-rate adaptive filter The determination of the sr_near_end_detect_flag may be done analogously to the near-end signal detection described above with respect to Note that as above with reference to adaptive filter After block In block Equation 19 above represents FIR filtering of the input signal X where X(k)=[x(k), x(k−1), . . . , x(k−N+1)] Equation 21 above represents the filter coefficients update formula, as per an NLMS algorithm, where the NLMS sub-rate step_size can be expressed as follows.
In equation 22, β is an adaptation constant and γ is a ‘protection’ term, which ensures that the update term in the adaptation formula does not become excessively large when P In the above equations, RinSR corresponds to the filtered and decimated far-end signal (which corresponds to the output of decimator Flow then proceeds to decision diamond If, at decision diamond Flow proceeds from block The SR_ERLE therefore corresponds to a ratio between P In block In block In the above equation, the average corresponds to the average taken in block Note that alternate embodiments may require more or less than two measurements in decision diamond If, at decision diamond In block At decision diamond The ERLE therefore corresponds to a ratio between P The ERLE counter and ERLE counter threshold ensure that if the ERLE calculated in block FIGS. Any adaptive algorithm (such as that used by adaptive filter Similarly, multi-frequency tones can also generate a similar problem because their auto-correlation One embodiment which will be described in reference to The modified energy operator, Ψ In the above equation, note that x The power of x(n) (equation 27) can be expressed using the following equation.
Therefore, note that Ψ Solving for Power However, in practice, the signal x(n) (which, as mentioned above, may correspond to either Rin In the above equation, α is a smoothing parameter (0<α<1) that controls the bandwidth of the smoothing low pass filter. Note that either a fixed or variable smoothing parameter, α, may be used. P(n) is then provided to tone indication decision unit Once a tone is present, one embodiment detects any pre-defined single-frequency tone, with or without phase reversal, such as a 2100 Hz signaling tone. One embodiment for detecting the pre-defined tone will be discussed in more detail below with reference to Given estimates P(n), tone indication decision unit The variance level is estimated by comparing P Flow proceeds to decision diamond
The above equation corresponds to a phase difference close to 90°, where ┌x┐ indicates the smallest integer larger than or equal to its argument, x. Referring back to The flow of R(n) refers to the peak magnitude correlation between R However, if at decision diamond The above equation generates either R One embodiment of an overall process flow including the flows of Flow then proceeds to block After block However, if Fp+Fn is not zero, flow proceeds to decision diamond Note that the description up to this point has assumed that optional non-adaptive filter As described above, adaptive filter Intrinsic to the impulse response, as illustrated in An alternate embodiment may use a different arrangement of the non-adaptive filters. For example, non-adaptive filter In one embodiment, the pure delay estimation described above in reference to In alternate embodiments, the flow of If the option is enabled at decision diamond In block If the new configuration is good enough at decision diamond Note that in the embodiment illustrated in Flow then proceeds to block
In the above equation (and other equations described herein), note that the notation [X] In the above equation, max E(n) refers to the maximum value of E of the N values of E taken, and arg(max E(n)) refers to the argument or point at which the maximum E occurs, where the “argument” corresponds to the sample time. Therefore, D corresponds to the pure delay. Flow then proceeds to block Flow then proceeds to block To determine the roots of W, W(z) is set to 0 and solved for z, where z has M−1 solutions. Therefore, the roots R of W(z) can be expressed as R=[r Flow then proceeds to block
Note that in the above equation r Flow then proceeds to block
The above equation is analogous to equation 40 described above. In equation 45, N is the length of the particular B Equation 46 is analogous to equation 41 described above. In equation 46, D
In the above equation, N refers to the length of B
In the above equation, N refers to the length of B Note that although the above descriptions of W assume the additional filters are non-adaptive, adaptive filters may be used in place of non-adaptive filters In equation 49, g Once the desirable filter length is determined, the coefficients of the dispersion region within the desirable filter length are cleared to define the residual coefficients, V. That is, g Therefore, referring to the example of In block S I] Equation 52:
In equation 52, 0 is a (N+M−L−1)×L zero matrix and I is an (N+M−L−1)×(N+M−L−1) identity matrix. In this equation, N corresponds to the length of G, M to the length of W (the predefined number of non-adaptive filter taps to accomplish the desirable adaptive filter length), and L to the desirable adaptive filter length. ConG corresponds to the convolution matrix of G and can be expressed as follows.
The matrix C is therefore obtained from the convolution matrix ConG of the delay compensated filter coefficients G by ignoring its initial L rows, which will define the coefficients of the shortened channel by the end of this design process. Flow proceeds to block In equation 54, the notation C Therefore, In the foregoing specification, the invention has been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. For example, any of the methods taught herein may be embodied as software on one or more of computer hard disks, floppy disks, 3.5″ disks, computer storage tapes, magnetic drums, static random access memory (SRAM) cells, dynamic random access memory (DRAM) cells, electrically erasable (EEPROM, EPROM, flash) cells, nonvolatile cells, ferroelectric or ferromagnetic memory, compact disks (CDs), laser disks, optical disks, and any like computer readable media. Also, the block diagrams may different blocks than those illustrated and may have more or less blocks or be arranged differently. Also, the flow diagrams may also be arranged differently, include more or less steps, be arranged differently, or may have steps that can be separated into multiple steps or steps that can be performed simultaneously with one another. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present invention. Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element of any or all the claims. As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Citations de brevets
Citations hors brevets Référencé par
Classifications
Événements juridiques
Faire pivoter |