US20220224299A1 - Controlling Analogue Gain of an Audio Signal Using Digital Gain Estimation and Gain Adaption - Google Patents
Controlling Analogue Gain of an Audio Signal Using Digital Gain Estimation and Gain Adaption Download PDFInfo
- Publication number
- US20220224299A1 US20220224299A1 US17/707,367 US202217707367A US2022224299A1 US 20220224299 A1 US20220224299 A1 US 20220224299A1 US 202217707367 A US202217707367 A US 202217707367A US 2022224299 A1 US2022224299 A1 US 2022224299A1
- Authority
- US
- United States
- Prior art keywords
- gain
- power
- digital
- signal
- control system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 47
- 238000004519 manufacturing process Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 35
- 230000001965 increasing effect Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 230000007423 decrease Effects 0.000 claims description 10
- 230000001419 dependent effect Effects 0.000 claims description 5
- 206010002953 Aphonia Diseases 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 230000006978 adaptation Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 10
- 238000009499 grossing Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012993 chemical processing Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005389 semiconductor device fabrication Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 125000000391 vinyl group Chemical group [H]C([*])=C([H])[H] 0.000 description 1
- 229920002554 vinyl polymer Polymers 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/18—Automatic control for modifying the range of signals the converter can handle, e.g. gain ranging
- H03M1/181—Automatic control for modifying the range of signals the converter can handle, e.g. gain ranging in feedback mode, i.e. by determining the range to be selected from one or more previous digital output values
- H03M1/183—Automatic control for modifying the range of signals the converter can handle, e.g. gain ranging in feedback mode, i.e. by determining the range to be selected from one or more previous digital output values the feedback signal controlling the gain of an amplifier or attenuator preceding the analogue/digital converter
- H03M1/185—Automatic control for modifying the range of signals the converter can handle, e.g. gain ranging in feedback mode, i.e. by determining the range to be selected from one or more previous digital output values the feedback signal controlling the gain of an amplifier or attenuator preceding the analogue/digital converter the determination of the range being based on more than one digital output value, e.g. on a running average, a power estimation or the rate of change
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/20—Automatic control
- H03G3/30—Automatic control in amplifiers having semiconductor devices
- H03G3/3005—Automatic control in amplifiers having semiconductor devices in amplifiers suitable for low-frequencies, e.g. audio amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/001—Digital control of analog signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/002—Control of digital or coded signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03G—CONTROL OF AMPLIFICATION
- H03G3/00—Gain control in amplifiers or frequency changers
- H03G3/20—Automatic control
- H03G3/30—Automatic control in amplifiers having semiconductor devices
- H03G3/3089—Control of digital or coded signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
Definitions
- This invention relates to controlling gain for a microphone signal.
- audio signals are transmitted between a near-end and a far-end.
- the “near-end” and “far-end” are defined relative to each participant.
- the “near-end” for one participant will correspond to the “far-end” for the other participant.
- Far-end signals which are received at the near-end may be outputted from a loudspeaker at the near-end.
- a microphone at the near-end may be used to capture a near-end signal to be transmitted to the far-end, such as a voice of a participant at the near-end.
- the quality of the audio outputted by the far-end loudspeaker may be affected by the amount of gain that is applied to the signal captured by the near-end microphone. For example, if the signal captured by the microphone has a high volume (e.g., which may be due to near-field speech caused by a person talking very close to the microphone) and a high gain is applied to that signal, then this may lead to signal saturation and so a poor quality signal is sent to the far-end. Whereas, if the signal captured has a low volume (e.g., which may be due to far-field speech caused by the person talking being far away from the microphone) and a low gain is applied, then this may lead to a low signal-to-noise ratio (SNR).
- SNR signal-to-noise ratio
- a speech signal may change from far-field to near-field (and vice versa) as a person speaking moves towards or away from the microphone. This will affect the power (or amplitude) of the speech signal that is incident at the microphone and so the amount of gain that is applied to the signal will need to be appropriately adapted and the adaptation should be performed in a timely manner so as to maintain the quality of the signal sent to the far-end. Furthermore, changing the amount of gain applied can cause a degradation in the performance of other signal processing modules at the near-end device such as automatic speech recognition (ASR), echo cancellation, noise cancellation and speech enhancement. There is, therefore, also a need to mitigate such degradation.
- ASR automatic speech recognition
- a gain control system for controlling gain applied to an audio signal, the system comprising: a power estimator configured to estimate the power of a digital signal derived from the audio signal; a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain.
- the audio signal may be a microphone signal.
- the gain control system may further comprise a voice detector configured to detect a presence of voice in the digital signal, wherein the gain controller may be configured to adjust the analogue gain only if the presence of voice is detected.
- the gain controller may be configured to reduce the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level.
- the gain controller may be configured to increase the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
- the gain controller may be configured to perform the adjustment of the analogue gain in response to the voice detector subsequently detecting an absence of voice in the digital signal.
- the gain controller may be configured to perform the adjustment of the analogue gain in response to subsequently detecting that the power of the digital signal is below a power threshold.
- the estimated power may be an average power determined from a plurality of frames of the digital signal.
- the gain controller may be configured to retrieve a value for the analogue gain that corresponds to the digital gain from a lookup table.
- the gain controller may be configured to adjust the analogue gain applied to the audio signal from a current gain level to an adjusted gain level at an adjustment rate, the rate being determined in dependence on the power difference between the digital signal power and the target power level.
- the adjustment rate may be variable and the gain controller may be configured to increase the adjustment rate in response to determining an increase in the power difference between the digital signal power and the target power level.
- the adjustment rate may be variable and the gain controller may be configured to decrease the adjustment rate in response to determining a decrease in the power difference between the digital signal power and the target power level.
- the adjustment rate may be determined in dependence on the current gain level or the adjusted gain level.
- the gain controller may be configured to determine a first adjustment rate and if the adjusted gain level is less than the current gain level, the gain controller may be configured to determine a second adjustment rate that is greater than the first adjustment rate.
- the gain control system may further comprise an echo canceller configured to cancel echo from the audio signal, wherein the digital signal is an echo cancelled signal.
- the digital gain estimator may be further configured to smooth the determined digital gain, the gain controller may be configured to adjust the analogue gain applied in dependence on the smoothed digital gain.
- a method for controlling gain applied to an audio signal comprising: estimating the power of a digital signal derived from the audio signal; determining, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and adjusting an analogue gain applied to the audio signal in dependence on the determined digital gain.
- the audio signal may be a microphone signal.
- the method may further comprise detecting a presence of voice in the digital signal, wherein the analogue gain is adjusted only if the presence of voice is detected.
- the adjusting step may comprise reducing the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level.
- the adjusting step may comprise increasing the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
- the adjusting step may be performed in response to subsequently detecting the absence of voice in the digital signal.
- the adjusting step may be performed in response to detecting that the power of the digital signal is below a power threshold.
- the estimated power may be an average power determined from a plurality of frames of the digital signal.
- the method may further comprise retrieving a value for the analogue gain that corresponds to the digital gain from a lookup table.
- the analogue gain applied to the audio signal may be adjusted from a current gain level to an adjusted gain level at an adjustment rate, the rate being determined in dependence on the power difference between the digital signal power and the target power level.
- the adjustment rate may be variable and the adjustment rate may be increased in response to determining an increase in the power difference between the digital signal power and the target power level.
- the adjustment rate may be variable and the adjustment rate may be decreased in response to determining a decrease in the power difference between the digital signal power and the target power level.
- the adjustment rate may be determined in dependence on the current gain level or the adjusted gain level.
- a first adjustment rate may be determined and if the adjusted gain level is less than the current gain level, a second adjustment rate may be determined that is greater than the first adjustment rate.
- the method may further comprise cancelling echo from the audio signal, wherein the digital signal is an echo cancelled signal.
- the method may further comprise smoothing the determined digital gain, the adjusted analogue gain being in dependence on the smoothed digital gain.
- the gain control system described above may be embodied in hardware on an integrated circuit.
- a non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture the gain control system described above.
- an integrated circuit manufacturing system comprising: a non-transitory computer readable storage medium having stored thereon a computer readable integrated circuit description that describes a gain control system; a layout processing system configured to process the integrated circuit description so as to generate a circuit layout description of an integrated circuit embodying the gain control system; and an integrated circuit generation system configured to manufacture the gain control system according to the circuit layout description, wherein the gain control system comprises: a power estimator configured to estimate the power of a digital signal derived from an audio signal; a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain.
- Non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform any of the methods described above.
- FIG. 1 shows an example of a communications device
- FIG. 2 shows an example of a gain control system
- FIG. 3 shows an example process for controlling gain
- FIG. 4 is a schematic diagram of an integrated circuit manufacturing system.
- FIG. 1 shows an example of a communication device 10 comprising a loudspeaker 11 , microphone 12 , a signal processing section 13 and a gain control system 14 .
- the loudspeaker 11 and microphone 12 may be external to the device 10 and connected to the device 10 via appropriate output and input ports.
- suitable communication devices 10 include mobile phones, smart phones, line connected phones, laptops, tablets, teleconferencing equipment etc.
- the communication device 10 may also include a CPU, memory, signal processing circuitry, such as a DSP and filters, etc. (none of which are shown in FIG. 1 for simplification of explanation).
- the communication device 10 may be used for communications over a network (such as the internet, LTE, etc) and comprise an appropriate network interface (not shown).
- the communications device 10 may be used for communications such as telephone calls, Voice over Internet Protocol (VoIP), teleconferencing, videoconferencing, etc.
- VoIP Voice over Internet Protocol
- the microphone 12 captures audio by converting sound into electrical signals, which are analogue signals.
- Gain is applied to the analogue signals from the microphone (also referred to herein as “microphone gain”), as depicted at analogue gain stage 15 .
- the analogue signal may be from an audio source other than a microphone, such as tape, vinyl, etc.
- the analogue gain may be applied at the audio source (e.g., the microphone) and/or by an amplifier (not shown).
- the applied analogue gain may be, for example, an increase in the amplitude of the electrical signal. This can have the effect of increasing the amplitude of the captured sound.
- the amplified signal is provided to a signal processing section 13 , which performs various signal processing functions so that the signal is suitable for transmission to the far-end.
- the signal processing functions may include, for example, converting the analogue signal into a digital signal (as depicted by analogue-to-digital converter (ADC) 16 ), echo cancellation (as depicted by acoustic echo canceller (AEC) 17 which also receives the far-end signal to perform the echo cancellation), encoding, packetising, etc.
- ADC analogue-to-digital converter
- AEC acoustic echo canceller
- Gain may also be applied, digitally, to the digital signal representing the audio from the microphone. This is depicted by digital gain stage 18 .
- the digital gain may be applied to the digital signal, for example, during ADC conversion, as part of the encoding process or at any other suitable stage.
- the digital gain may be applied in accordance with a communications codecs like ITU-T Recommendation G.729, Adaptive Multi-Rate (AMR) NB, AMR WB, OPUS etc or standard such as Recommendation ITU-T G.169.
- AMR Adaptive Multi-Rate
- the communication device 10 comprises a gain control system 14 (which is shown in further detail in FIG. 2 ).
- the amount of gain applied at the analogue gain stage 15 can be controlled by the gain control system 14 .
- the gain control system 14 may also control the amount of gain applied at the digital gain stage 18 .
- the gain control system 14 may comprise a voice activity detector (VAD) 21 , a power estimator 22 , a digital gain estimator 23 and an analogue gain controller 24 , each of which may be implemented in hardware, software or a combination thereof.
- VAD voice activity detector
- the gain control system 14 receives, as an input signal, a signal from the signal processing section 13 .
- the input signal received by the gain control system 14 is a digital signal that is derived from the audio signal captured by the microphone 12 .
- the input signal received may be, for example, from an output at the end of the signal processing section 13 or from an intermediate stage of the signal processing section 13 .
- the input signal may be the audio signal from the microphone 12 that has been digitally converted (e.g. at ADC 16 ). This may be the case if device 10 is used for one way communication.
- the input signal could be an echo cancelled signal (e.g. from AEC 17 ). This may be the case if device 10 is used for duplex communication.
- the input signal may be analysed at VAD 21 to determine if the signal contains any speech.
- the input signal may be provided as audio frames. Each audio frame may contain one or more samples of the audio signal from the microphone. The frames may be temporarily stored in memory (not shown), for example, for the purposes of filtering and smoothing (as described further below). Each frame may be classified as “speech” or “noise” by the VAD 21 .
- the VAD 21 may then provide the speech frames to the power estimator 22 for further analysis. The noise frames may be ignored for any further analysis.
- VAD 21 may be any suitable voice activity detector known in the art.
- the input signal may instead be analysed to detect signals other than speech such as music, baby noises, animal noises, etc.
- the VAD 21 may be omitted and all frames of the input signal are provided to the power estimator 22 .
- the power estimator 22 determines the audio signal power for the input signal. For example, where the input signal is provided as audio frames, the audio signal power may be determined for each received frame. Where a frame classified as a speech frame is received, the audio data contained within that frame may be assumed to be predominantly speech and thus the power estimator 22 can estimate the speech signal power for that frame. The power of the input signal is determined in the digital domain. The determined power of the digital input signal may therefore be representative of the power of the analogue audio signal provided to the signal processing section 13 .
- the input signal power for each l th frame may be estimated according to the following equation:
- N the frame size
- l the frame index (i.e. each l th frame contains N samples).
- the signal power p(l) may be smoothed and averaged to account for any spurious low or high level speech spurts or samples.
- the signal power may be smoothed, for example, by using a suitable first order low pass filter and a suitable averaging factor.
- the signal power determined for each l th frame of the input signal may be smoothed using the signal power determined for one or more previously received frames (e.g. using p(l ⁇ 1), p(l ⁇ 2), etc power values).
- the estimated power may then be provided to the digital gain estimator 23 .
- the digital gain estimator 23 estimates a digital gain which would, if applied to the input signal, modify the power of the input signal so as to reach a target power level.
- the target power level may be a power level that is set by, for example, an application that is managing communications for device 10 , by the codec used for the communication, by a user, etc.
- the target level may be a predefined constant level (e.g. around ⁇ 6 dB) or variable.
- the power estimator 22 may estimate p(l) by squaring the input signal amplitude and averaging it or passing it through a low pass filter. Thus, to calculate the power difference between the power of the input signal and the target power level, p(l) would need to be square rooted.
- the gain g(l) required for the input signal to reach the target level may be estimated as:
- P T (l) is the target power level and p(l) is the signal power estimated by the power estimator 22 .
- the target power level P T (l) may be a constant or may vary depending on the implementation.
- the gain g(l) may be smoothed, for example, by a suitable first order low pass filter and a suitable averaging factor.
- the gain g(l) may be smoothed using one or more gain values that have been determined previously (e.g. using g(l ⁇ 1), g(l ⁇ 2), etc values). Smoothing of the signal power and/or gain helps avoid natural variations and fluctuations of human speech from affecting the determined power and gain levels.
- the gain g(l) may be smoothed using first order low pass filter using a smoothing factor ⁇ to determine a smoothed gain value G(l):
- G ( l ) G ( l ⁇ 1)+ ⁇ ( g ( l ) ⁇ G ( l ⁇ 1)) (3)
- the smoothed gain may be smoothed further, for example, a further three times, as shown below:
- G s1 ( l ) G s1 ( l ⁇ 1)+ ⁇ 1 ( G ( l ) ⁇ G s1 ( l ⁇ 1)) (4)
- G s2 ( l ) G s2 ( l ⁇ 1)+ ⁇ 2 ( G s1 ( l ) ⁇ G s2 ( l ⁇ 1)) (5)
- G s3 ( l ) G s3 ( l ⁇ 1)+ ⁇ 3 ( G s2 ( l ) ⁇ G s3 ( l ⁇ 1)) (6)
- G a (l) is a smoothed version of the gain value required for the signal to reach the target level
- ⁇ 1 , ⁇ 2 , ⁇ 3 are predetermined smoothing factors, where each of which may differ depending on whether a gain increase or decrease is required. Smoothing the gain multiple times in this way helps avoid natural variations in human speech inducing variation in the gain estimation.
- the analogue gain controller 24 may adjust the analogue gain for the microphone signal based on the estimated gain g(l) (or its smoothed/averaged value e.g., G(l) or G a (l)). If the power level of the signal is equal to the target power level (which, for example, may be indicated by gain g(l) being one), then no adaption of the microphone gain will be required. If the power level of the signal is less than the target power level (which, for example, may be indicated by gain g(l) being greater than one), then the microphone gain may be increased. If the power level of the signal is greater than the target power level (which, for example, may be indicated by gain g(l) being less than one), then the microphone gain may be decreased.
- the target power level which, for example, may be indicated by gain g(l) being one
- the amount of increase or decrease of the microphone gain may be determined based the difference between the signal power level and the target power level. This difference may be indicated by gain g(l).
- the analogue gain controller 24 may access a lookup table (which may be stored in memory) which maps digital gain g(l) values to analogue gain values for the microphone. The analogue gain controller 24 may retrieve analogue microphone gain values from the lookup table based on the determined gain g(l) and increase or decrease the microphone gain by the looked up value.
- the analogue gain controller 24 may determine a rate or time instant for adapting the microphone gain. Changes to the microphone gain cause the echo path or the noise floor to change which may affect the performance of other speech enhancement modules like AEC 17 , a noise canceller (not shown), etc. Generally, the speech enhancement modules are more adversely affected by an increase in the microphone gain than a reduction in the microphone gain. Thus, in one example, the gain controller 24 may adapt the microphone gain less frequently for increases in the microphone gain than for reductions in the microphone gain. In another example, the adverse effects of gain increases may be reduced by applying the gain changes (such as an increase) during periods of silence. The analogue gain controller 24 may determine an amount of gain increase and wait for a silent period before applying the change in gain.
- a silent period could also be determined by measuring the signal power (e.g. using the power estimator 22 , as described above) and determining when the signal power is very low.
- the signal power could be considered to be very low if the power falls below a threshold power level which could be regarded as, for example, merely background noise.
- the threshold power level could be set to be, for example, the minimum power level required to detect voice by VAD 21 .
- the gain controller 24 may apply the microphone gain increase.
- Increases in the microphone gain to be applied at any instant in time may be limited to a pre-defined value (e.g. ⁇ 3 dB) so that the speech enhancement modules are able to re-adapt to the new levels quickly.
- a pre-defined value e.g. ⁇ 3 dB
- the gain controller 24 may adjust the digital gain applied at the digital gain stage 18 based on the determined gain g(l).
- the digital gain adjustment may be in addition to or alternative to the analogue gain adjustment.
- the digital gain adjustment may be made when, for example, it is not possible to adjust the analogue gain (because, for example, the adjustment would cause the analogue gain to be outside of a working range).
- FIG. 3 is a flow diagram which illustrates an example of how the microphone gain may be adapted.
- an input signal is received at the gain control system 14 .
- the input signal may be the digitised microphone signal or a processed version of the microphone signal (e.g. processed by the AEC 17 ).
- the input signal is the microphone signal that has been digitised, encoded and framed according to a media codec.
- a received frame is analysed to determine if there is any speech present in that frame. This analysis may be performed by the VAD 21 , as described above. If speech is detected, the frame is classified as “speech” and the process moves on to step 303 . If there is no speech detected, the process moves back to step 301 to receive the next frame and no changes are made to the microphone gain.
- the power of the audio signal for the frame is estimated. This estimation may be performed by the power estimator 22 , as described above. The estimated power may be smoothed and averaged using signal powers that have been estimated for previous frames.
- the amount of gain, g(l), required for the audio signal to reach a target power level is determined. This determination may be performed by the digital gain estimator 23 and is determined based on the estimated power level, p(l), as described above.
- step 305 it is determined if gain g(l) is greater than one, less than one or equal to one. If the determined gain is one, then this indicates that the estimated power level, p(l), is equal to the target power level and so no adaption of the microphone gain is required and so the process moves back to step 301 to receive the next frame without changing the microphone gain. If gain g(l) is less than one, the process moves on to step 306 . If the gain g(l) is greater than one, the process moves on to step 309 .
- gain g(l) is less than one, which indicates that the signal power is greater than the target power level and so the microphone gain needs to be reduced.
- the amount of analogue gain for adjusting the current microphone gain is determined based on digital gain g(l). For example, an analogue gain value may be determined for digital gain g(l) from a lookup table, as described above. Alternatively, the digital gain g(l) value may be further processed prior to the lookup using the following equation to determine an amount of gain reduction G red (see equation 8). A current gain value may then be reduced by the gain reduction value G red to provide a new gain G new . An analogue gain value may then be looked up from the new gain value G new .
- ⁇ r is a constant
- g(l) is the amount of digital gain that has been determined at step 304
- G max is predefined maximum change in the gain value.
- a rate or time instant for reducing the microphone gain is determined.
- the rate or time instant may be determined based on the determined amount of analogue gain at step 306 or digital gain g(l) at step 305 .
- the microphone gain may be reduced quickly if the signal power is very high to help avoid distortion due to saturation as well as loud and inconvenient audio for the listener at the far-end. For example, if g(l) ⁇ 0.2, then this indicates high signal power and so the microphone signal may be adapted quickly. Whereas if 0.2 ⁇ g(l) ⁇ 1, then the adaption may be slower.
- T is the amount of time to wait before adapting the microphone gain and T max , is a maximum amount of time to wait (e.g. 8 seconds).
- T max is a maximum amount of time to wait (e.g. 8 seconds).
- the next adaptation instant or the waiting duration for applying the microphone gain change may also be dependent on the current analogue microphone gain level. For example, if the current microphone gain is high, the microphone gain reduction may be applied quickly because the high signal power captured may degrade the performance of speech enhancement modules, as mentioned above. Whereas, if the current microphone gain is low, the microphone gain reduction may be applied slowly because reducing the microphone gain to an even lower level may cause it to not capture the required audio.
- Step 307 may be performed by the gain controller 24 .
- the microphone gain is reduced by the amount of gain determined at step 306 .
- the gain may be reduced at a rate or time determined at step 307 .
- step 307 may be omitted and the microphone gain is reduced instantly after step 306 .
- the process then returns to step 301 to receive the next frame.
- step 305 if gain g(l) is greater than one, the process moves on to step 309 .
- gain g(l) is greater than one, which indicates that the signal power is less than the target power level and so the microphone gain needs to be increased.
- the amount of analogue gain for adjusting the current microphone gain is determined based on digital gain g(l). For example, an analogue gain value may be determined for digital gain g(l) from a lookup table, as described above. Alternatively, the digital gain g(l) value may be further processed prior to the lookup using the following equation to determine an amount of gain increase G inc (see equation 10). A current gain value may then be increased by the gain increase value G inc to provide a new gain G new . An analogue gain value may then be looked up from the new gain value G new .
- ⁇ min(g(l), G max )
- ⁇ i is a constant
- g(l) is the amount of digital gain that has been determined at step 304
- G max is predefined maximum change in the gain value.
- a rate or time instant for increasing the microphone gain is determined.
- the rate or time instant may be determined based on the determined amount of analogue gain at step 309 or digital gain g(l) at step 305 .
- the amount of time to wait before increasing the microphone gain may be determined according to equation 11:
- T is the amount of time to wait before adapting the microphone gain and T max , is a maximum amount of time to wait (e.g. 8 seconds).
- T max is a maximum amount of time to wait (e.g. 8 seconds).
- g(l) gets closer to 1
- the amount of waiting time is increased. This has the effect of reducing the adaptation rate as the signal power level gets closer to the target power level. It also means that if the speech power level is low, the microphone gain is increased quickly so that the speech can be captured at a better level (i.e. nearer the target level) for the far-end listener.
- the next adaptation instant or waiting duration for applying the microphone gain change may also be dependent on the current analogue microphone gain level. For example, when the current microphone gain is high, the time duration for applying the microphone gain increase may be large so that the gain is increased at a slow rate.
- the time duration for applying the microphone gain increase may be at a fast rate as a low microphone gain may cause the signal to not be captured and so a quick increase in the microphone gain helps ensure that the required signal is captured.
- Step 310 may be performed by the gain controller 24 .
- the system may provide a minimum amount of time to wait between gain adaptions, T min (e.g. 1 or 2 seconds), which may be predefined to ensure that the microphone gain is not adapted too rapidly.
- T min e.g. 1 or 2 seconds
- a maximum amount of time to wait between gain adaptations, T max e.g. 8 seconds
- G max a maximum change in the amount of gain G max may also be predefined to help prevent large increases or decreases in the amount of gain at each adaptation step, which could cause the system to destabilise.
- the amount of time between gain adaptations determined at steps 307 and/or 310 may be bounded by T min and T max and the amount that the gain is adapted may be limited by G max .
- the microphone gain is increased by the amount of gain determined at step 309 .
- the gain may be increased at a rate or time determined at step 310 .
- step 310 may be omitted and the microphone gain is increased instantly after step 309 .
- the process then returns to step 301 to receive the next frame.
- the digital gain applied (e.g. at digital gain stage 18 ) may also be adapted.
- the combination of adapting the analogue gain and the digital gain allows the dynamic range for the total gain to be larger.
- the gain control system 14 helps to improve the quality of audio that is received by the far-end listener.
- the audio captured by a microphone is analysed in the digital domain to determine the power level of the audio and the amount of gain required for the power level of the audio to be at a target power level (which may correspond to an ideal power level for listening at the far-end).
- Performance of this analysis in the digital domain rather than in the analogue domain has a number of advantages such as: (i) the ability to analyse specific targeted audio such as speech only; (ii) the power of the signal may change as it is processed along the signal processing pipeline and so determining the power further down the pipeline (rather than at the input of the pipeline—as would be the case in the analogue domain) may provide a better indication of the signal power received by the far-end. Furthermore, it is advantageous to adapt the gain in the analogue domain rather than solely in the digital domain as there may be a loss in the resolution of the signal when multiplying the digitised values of the digital signal to apply the digital gain.
- FIGS. 1 and 2 are shown as comprising a number of functional blocks. This is schematic only and is not intended to define a strict division between different logic elements of such entities. Each functional block may be provided in any suitable manner. It is to be understood that intermediate values described herein as being formed by a gain control system need not be physically generated by the gain control system at any point and may merely represent logical values which conveniently describe the processing performed by the gain control system between its input and output.
- any of the functions, methods, techniques or components described above can be implemented in software, firmware, hardware (e.g., fixed logic circuitry), or any combination thereof.
- the terms “module,” “functionality,” “component”, “element”, “unit”, “block” and “logic” may be used herein to generally represent software, firmware, hardware, or any combination thereof.
- the module, functionality, component, element, unit, block or logic represents program code that performs the specified tasks when executed on a processor.
- the algorithms and methods described herein could be performed by one or more processors executing code that causes the processor(s) to perform the algorithms/methods.
- Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may use magnetic, optical, and other techniques to store instructions or other data and that can be accessed by a machine.
- RAM random-access memory
- ROM read-only memory
- optical disc flash memory
- hard disk memory and other memory devices that may use magnetic, optical, and other techniques to store instructions or other data and that can be accessed by a machine.
- Computer program code and computer readable instructions refer to any kind of executable code for processors, including code expressed in a machine language, an interpreted language or a scripting language.
- Executable code includes binary code, machine code, bytecode, code defining an integrated circuit (such as a hardware description language or netlist), and code expressed in a programming language code such as C, Java or OpenCL.
- Executable code may be, for example, any kind of software, firmware, script, module or library which, when suitably executed, processed, interpreted, compiled, executed at a virtual machine or other software environment, cause a processor of the computer system at which the executable code is supported to perform the tasks specified by the code.
- a processor, computer, or computer system may be any kind of device, machine or dedicated circuit, or collection or portion thereof, with processing capability such that it can execute instructions.
- a processor may be any kind of general purpose or dedicated processor, such as a CPU, GPU, System-on-chip, state machine, media processor, an application-specific integrated circuit (ASIC), a programmable logic array, a field-programmable gate array (FPGA), or the like.
- a computer or computer system may comprise one or more processors.
- HDL hardware description language
- An integrated circuit definition dataset may be, for example, an integrated circuit description.
- An integrated circuit definition dataset may be in the form of computer code, for example as a netlist, code for configuring a programmable chip, as a hardware description language defining an integrated circuit at any level, including as register transfer level (RTL) code, as high-level circuit representations such as Verilog or VHDL, and as low-level circuit representations such as OASIS (RTM) and GDSII.
- RTL register transfer level
- RTM OASIS
- GDSII GDSI
- one or more intermediate user steps may be required in order for a computer system configured for generating a manufacturing definition of an integrated circuit to execute code defining an integrated circuit so as to generate the manufacturing definition of that integrated circuit.
- FIG. 4 shows an example of an integrated circuit (IC) manufacturing system 1002 which comprises a layout processing system 1004 and an integrated circuit generation system 1006 .
- the IC manufacturing system 1002 is configured to receive an IC definition dataset (e.g. defining a gain control system as described in any of the examples herein), process the IC definition dataset, and generate an IC according to the IC definition dataset (e.g. which embodies a gain control system as described in any of the examples herein).
- the processing of the IC definition dataset configures the IC manufacturing system 1002 to manufacture an integrated circuit embodying a gain control system as described in any of the examples herein.
- the layout processing system 1004 is configured to receive and process the IC definition dataset to determine a circuit layout.
- Methods of determining a circuit layout from an IC definition dataset are known in the art, and for example may involve synthesising RTL code to determine a gate level representation of a circuit to be generated, e.g. in terms of logical components (e.g. NAND, NOR, AND, OR, MUX and FLIP-FLOP components).
- a circuit layout can be determined from the gate level representation of the circuit by determining positional information for the logical components. This may be done automatically or with user involvement in order to optimise the circuit layout.
- the layout processing system 1004 may output a circuit layout definition to the IC generation system 1006 .
- a circuit layout definition may be, for example, a circuit layout description.
- the IC generation system 1006 generates an IC according to the circuit layout definition, as is known in the art.
- the IC generation system 1006 may implement a semiconductor device fabrication process to generate the IC, which may involve a multiple-step sequence of photo lithographic and chemical processing steps during which electronic circuits are gradually created on a wafer made of semiconducting material.
- the circuit layout definition may be in the form of a mask which can be used in a lithographic process for generating an IC according to the circuit definition.
- the circuit layout definition provided to the IC generation system 1006 may be in the form of computer-readable code which the IC generation system 1006 can use to form a suitable mask for use in generating an IC.
- the different processes performed by the IC manufacturing system 1002 may be implemented all in one location, e.g. by one party.
- the IC manufacturing system 1002 may be a distributed system such that some of the processes may be performed at different locations, and may be performed by different parties.
- some of the stages of: (i) synthesising RTL code representing the IC definition dataset to form a gate level representation of a circuit to be generated, (ii) generating a circuit layout based on the gate level representation, (iii) forming a mask in accordance with the circuit layout, and (iv) fabricating an integrated circuit using the mask may be performed in different locations and/or by different parties.
- processing of the integrated circuit definition dataset at an integrated circuit manufacturing system may configure the system to manufacture a gain control system without the IC definition dataset being processed so as to determine a circuit layout.
- an integrated circuit definition dataset may define the configuration of a reconfigurable processor, such as an FPGA, and the processing of that dataset may configure an IC manufacturing system to generate a reconfigurable processor having that defined configuration (e.g. by loading configuration data to the FPGA).
- an integrated circuit manufacturing definition dataset when processed in an integrated circuit manufacturing system, may cause an integrated circuit manufacturing system to generate a device as described herein.
- the configuration of an integrated circuit manufacturing system in the manner described above with respect to FIG. 4 by an integrated circuit manufacturing definition dataset may cause a device as described herein to be manufactured.
- an integrated circuit definition dataset could include software which runs on hardware defined at the dataset or in combination with hardware defined at the dataset.
- the IC generation system may further be configured by an integrated circuit definition dataset to, on manufacturing an integrated circuit, load firmware onto that integrated circuit in accordance with program code defined at the integrated circuit definition dataset or otherwise provide program code with the integrated circuit for use with the integrated circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Circuit For Audible Band Transducer (AREA)
- Computational Linguistics (AREA)
- Control Of Amplification And Gain Control (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
Abstract
A gain control system for controlling gain applied to an audio signal includes a power estimator configured to estimate the power of a digital signal derived from the audio signal, a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level, and a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain.
Description
- This is a continuation under 35 U.S.C. 120 of copending application Ser. No. 16/453,365 filed Jun. 26, 2019, which is a continuation of prior application Ser. No. 15/437,573 filed Feb. 21, 2017, now U.S. Pat. No. 10,374,563, which claims foreign priority under 35 U.S.C. 119 from United Kingdom Application No. 1602915.9 filed Feb. 19, 2016.
- This invention relates to controlling gain for a microphone signal.
- In telephony, audio signals (e.g. including voice signals) are transmitted between a near-end and a far-end. In a bidirectional voice communication, the “near-end” and “far-end” are defined relative to each participant. Thus, the “near-end” for one participant will correspond to the “far-end” for the other participant. Far-end signals which are received at the near-end may be outputted from a loudspeaker at the near-end. A microphone at the near-end may be used to capture a near-end signal to be transmitted to the far-end, such as a voice of a participant at the near-end.
- The quality of the audio outputted by the far-end loudspeaker may be affected by the amount of gain that is applied to the signal captured by the near-end microphone. For example, if the signal captured by the microphone has a high volume (e.g., which may be due to near-field speech caused by a person talking very close to the microphone) and a high gain is applied to that signal, then this may lead to signal saturation and so a poor quality signal is sent to the far-end. Whereas, if the signal captured has a low volume (e.g., which may be due to far-field speech caused by the person talking being far away from the microphone) and a low gain is applied, then this may lead to a low signal-to-noise ratio (SNR). Furthermore, a speech signal may change from far-field to near-field (and vice versa) as a person speaking moves towards or away from the microphone. This will affect the power (or amplitude) of the speech signal that is incident at the microphone and so the amount of gain that is applied to the signal will need to be appropriately adapted and the adaptation should be performed in a timely manner so as to maintain the quality of the signal sent to the far-end. Furthermore, changing the amount of gain applied can cause a degradation in the performance of other signal processing modules at the near-end device such as automatic speech recognition (ASR), echo cancellation, noise cancellation and speech enhancement. There is, therefore, also a need to mitigate such degradation.
- According to a first aspect of the present invention there is provided a gain control system for controlling gain applied to an audio signal, the system comprising: a power estimator configured to estimate the power of a digital signal derived from the audio signal; a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain.
- The audio signal may be a microphone signal.
- The gain control system may further comprise a voice detector configured to detect a presence of voice in the digital signal, wherein the gain controller may be configured to adjust the analogue gain only if the presence of voice is detected.
- The gain controller may be configured to reduce the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level.
- The gain controller may be configured to increase the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
- The gain controller may be configured to perform the adjustment of the analogue gain in response to the voice detector subsequently detecting an absence of voice in the digital signal.
- The gain controller may be configured to perform the adjustment of the analogue gain in response to subsequently detecting that the power of the digital signal is below a power threshold.
- The estimated power may be an average power determined from a plurality of frames of the digital signal.
- The gain controller may be configured to retrieve a value for the analogue gain that corresponds to the digital gain from a lookup table.
- The gain controller may be configured to adjust the analogue gain applied to the audio signal from a current gain level to an adjusted gain level at an adjustment rate, the rate being determined in dependence on the power difference between the digital signal power and the target power level.
- The adjustment rate may be variable and the gain controller may be configured to increase the adjustment rate in response to determining an increase in the power difference between the digital signal power and the target power level.
- The adjustment rate may be variable and the gain controller may be configured to decrease the adjustment rate in response to determining a decrease in the power difference between the digital signal power and the target power level.
- The adjustment rate may be determined in dependence on the current gain level or the adjusted gain level.
- If the adjusted gain level is greater than the current gain level, the gain controller may be configured to determine a first adjustment rate and if the adjusted gain level is less than the current gain level, the gain controller may be configured to determine a second adjustment rate that is greater than the first adjustment rate.
- The gain control system may further comprise an echo canceller configured to cancel echo from the audio signal, wherein the digital signal is an echo cancelled signal.
- The digital gain estimator may be further configured to smooth the determined digital gain, the gain controller may be configured to adjust the analogue gain applied in dependence on the smoothed digital gain.
- According to a second aspect of the present invention there is provided a method for controlling gain applied to an audio signal, the method comprising: estimating the power of a digital signal derived from the audio signal; determining, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and adjusting an analogue gain applied to the audio signal in dependence on the determined digital gain.
- The audio signal may be a microphone signal.
- The method may further comprise detecting a presence of voice in the digital signal, wherein the analogue gain is adjusted only if the presence of voice is detected.
- The adjusting step may comprise reducing the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level.
- The adjusting step may comprise increasing the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
- The adjusting step may be performed in response to subsequently detecting the absence of voice in the digital signal.
- The adjusting step may be performed in response to detecting that the power of the digital signal is below a power threshold.
- The estimated power may be an average power determined from a plurality of frames of the digital signal.
- The method may further comprise retrieving a value for the analogue gain that corresponds to the digital gain from a lookup table.
- The analogue gain applied to the audio signal may be adjusted from a current gain level to an adjusted gain level at an adjustment rate, the rate being determined in dependence on the power difference between the digital signal power and the target power level.
- The adjustment rate may be variable and the adjustment rate may be increased in response to determining an increase in the power difference between the digital signal power and the target power level.
- The adjustment rate may be variable and the adjustment rate may be decreased in response to determining a decrease in the power difference between the digital signal power and the target power level.
- The adjustment rate may be determined in dependence on the current gain level or the adjusted gain level.
- If the adjusted gain level is greater than the current gain level, a first adjustment rate may be determined and if the adjusted gain level is less than the current gain level, a second adjustment rate may be determined that is greater than the first adjustment rate.
- The method may further comprise cancelling echo from the audio signal, wherein the digital signal is an echo cancelled signal.
- The method may further comprise smoothing the determined digital gain, the adjusted analogue gain being in dependence on the smoothed digital gain.
- The gain control system described above may be embodied in hardware on an integrated circuit.
- There is provided a method of manufacturing, at an integrated circuit manufacturing system, the gain control system described above.
- There is provided an integrated circuit definition dataset that, when processed in an integrated circuit manufacturing system, configures the system to manufacture the gain control system described above.
- According to a third aspect of the present invention there is provided a non-transitory computer readable storage medium having stored thereon a computer readable description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture the gain control system described above.
- There is provided an integrated circuit manufacturing system comprising: a non-transitory computer readable storage medium having stored thereon a computer readable integrated circuit description that describes a gain control system; a layout processing system configured to process the integrated circuit description so as to generate a circuit layout description of an integrated circuit embodying the gain control system; and an integrated circuit generation system configured to manufacture the gain control system according to the circuit layout description, wherein the gain control system comprises: a power estimator configured to estimate the power of a digital signal derived from an audio signal; a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain.
- There is provided a computer program code for performing any of the methods described above.
- There is provided a non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform any of the methods described above.
- The present invention will now be described by way of example with reference to the accompanying drawings. In the drawings:
-
FIG. 1 shows an example of a communications device; -
FIG. 2 shows an example of a gain control system; -
FIG. 3 shows an example process for controlling gain; -
FIG. 4 is a schematic diagram of an integrated circuit manufacturing system. - The following description is presented by way of example to enable a person skilled in the art to make and use the invention. The present invention is not limited to the embodiments described herein and various modifications to the disclosed embodiments will be apparent to those skilled in the art.
-
FIG. 1 shows an example of acommunication device 10 comprising aloudspeaker 11, microphone 12, asignal processing section 13 and again control system 14. In an alternative arrangement (not shown), theloudspeaker 11 and microphone 12 may be external to thedevice 10 and connected to thedevice 10 via appropriate output and input ports. Examples ofsuitable communication devices 10 include mobile phones, smart phones, line connected phones, laptops, tablets, teleconferencing equipment etc. Thecommunication device 10 may also include a CPU, memory, signal processing circuitry, such as a DSP and filters, etc. (none of which are shown inFIG. 1 for simplification of explanation). Thecommunication device 10 may be used for communications over a network (such as the internet, LTE, etc) and comprise an appropriate network interface (not shown). Thecommunications device 10 may be used for communications such as telephone calls, Voice over Internet Protocol (VoIP), teleconferencing, videoconferencing, etc. - The microphone 12 captures audio by converting sound into electrical signals, which are analogue signals. Gain is applied to the analogue signals from the microphone (also referred to herein as “microphone gain”), as depicted at
analogue gain stage 15. In alternative implementations, the analogue signal may be from an audio source other than a microphone, such as tape, vinyl, etc. The analogue gain may be applied at the audio source (e.g., the microphone) and/or by an amplifier (not shown). The applied analogue gain may be, for example, an increase in the amplitude of the electrical signal. This can have the effect of increasing the amplitude of the captured sound. The amplified signal is provided to asignal processing section 13, which performs various signal processing functions so that the signal is suitable for transmission to the far-end. The signal processing functions may include, for example, converting the analogue signal into a digital signal (as depicted by analogue-to-digital converter (ADC) 16), echo cancellation (as depicted by acoustic echo canceller (AEC) 17 which also receives the far-end signal to perform the echo cancellation), encoding, packetising, etc. - Gain may also be applied, digitally, to the digital signal representing the audio from the microphone. This is depicted by
digital gain stage 18. The digital gain may be applied to the digital signal, for example, during ADC conversion, as part of the encoding process or at any other suitable stage. The digital gain may be applied in accordance with a communications codecs like ITU-T Recommendation G.729, Adaptive Multi-Rate (AMR) NB, AMR WB, OPUS etc or standard such as Recommendation ITU-T G.169. - The
communication device 10 comprises a gain control system 14 (which is shown in further detail inFIG. 2 ). The amount of gain applied at theanalogue gain stage 15 can be controlled by thegain control system 14. Optionally, thegain control system 14 may also control the amount of gain applied at thedigital gain stage 18. As shown inFIG. 2 , thegain control system 14 may comprise a voice activity detector (VAD) 21, a power estimator 22, adigital gain estimator 23 and an analogue gain controller 24, each of which may be implemented in hardware, software or a combination thereof. - The
gain control system 14 receives, as an input signal, a signal from thesignal processing section 13. The input signal received by thegain control system 14 is a digital signal that is derived from the audio signal captured by the microphone 12. The input signal received may be, for example, from an output at the end of thesignal processing section 13 or from an intermediate stage of thesignal processing section 13. For example, the input signal may be the audio signal from the microphone 12 that has been digitally converted (e.g. at ADC 16). This may be the case ifdevice 10 is used for one way communication. Alternatively, the input signal could be an echo cancelled signal (e.g. from AEC 17). This may be the case ifdevice 10 is used for duplex communication. - The input signal may be analysed at
VAD 21 to determine if the signal contains any speech. The input signal may be provided as audio frames. Each audio frame may contain one or more samples of the audio signal from the microphone. The frames may be temporarily stored in memory (not shown), for example, for the purposes of filtering and smoothing (as described further below). Each frame may be classified as “speech” or “noise” by theVAD 21. TheVAD 21 may then provide the speech frames to the power estimator 22 for further analysis. The noise frames may be ignored for any further analysis.VAD 21 may be any suitable voice activity detector known in the art. In an alternative embodiment, the input signal may instead be analysed to detect signals other than speech such as music, baby noises, animal noises, etc. In a further alternative, theVAD 21 may be omitted and all frames of the input signal are provided to the power estimator 22. - The power estimator 22 determines the audio signal power for the input signal. For example, where the input signal is provided as audio frames, the audio signal power may be determined for each received frame. Where a frame classified as a speech frame is received, the audio data contained within that frame may be assumed to be predominantly speech and thus the power estimator 22 can estimate the speech signal power for that frame. The power of the input signal is determined in the digital domain. The determined power of the digital input signal may therefore be representative of the power of the analogue audio signal provided to the
signal processing section 13. The input signal power for each lth frame may be estimated according to the following equation: -
p(l)={circumflex over (x)}(l)*{circumflex over (x)} T(l) (1) - Where {circumflex over (x)}(l)=x(l1, l2, . . . , lN) is the microphone samples vector, N is the frame size and l is the frame index (i.e. each lth frame contains N samples).
- The signal power p(l) may be smoothed and averaged to account for any spurious low or high level speech spurts or samples. The signal power may be smoothed, for example, by using a suitable first order low pass filter and a suitable averaging factor. The signal power determined for each lth frame of the input signal may be smoothed using the signal power determined for one or more previously received frames (e.g. using p(l−1), p(l−2), etc power values).
- The estimated power may then be provided to the
digital gain estimator 23. Thedigital gain estimator 23 estimates a digital gain which would, if applied to the input signal, modify the power of the input signal so as to reach a target power level. The target power level may be a power level that is set by, for example, an application that is managing communications fordevice 10, by the codec used for the communication, by a user, etc. The target level may be a predefined constant level (e.g. around −6 dB) or variable. - The power estimator 22 may estimate p(l) by squaring the input signal amplitude and averaging it or passing it through a low pass filter. Thus, to calculate the power difference between the power of the input signal and the target power level, p(l) would need to be square rooted. The gain g(l) required for the input signal to reach the target level may be estimated as:
-
- Where PT(l) is the target power level and p(l) is the signal power estimated by the power estimator 22. The target power level PT(l) may be a constant or may vary depending on the implementation.
- The gain g(l) may be smoothed, for example, by a suitable first order low pass filter and a suitable averaging factor. The gain g(l) may be smoothed using one or more gain values that have been determined previously (e.g. using g(l−1), g(l−2), etc values). Smoothing of the signal power and/or gain helps avoid natural variations and fluctuations of human speech from affecting the determined power and gain levels.
- Smoothing of the gain may be performed at multiple levels. For example, the gain g(l) may be smoothed using first order low pass filter using a smoothing factor α to determine a smoothed gain value G(l):
-
G(l)=G(l−1)+α(g(l)−G(l−1)) (3) - The smoothed gain may be smoothed further, for example, a further three times, as shown below:
-
G s1(l)=G s1(l−1)+α1(G(l)−G s1(l−1)) (4) -
G s2(l)=G s2(l−1)+α2(G s1(l)−G s2(l−1)) (5) -
G s3(l)=G s3(l−1)+α3(G s2(l)−G s3(l−1)) (6) -
G a(l)=G s3(l) (7) - Where Ga(l) is a smoothed version of the gain value required for the signal to reach the target level, α1, α2, α3 are predetermined smoothing factors, where each of which may differ depending on whether a gain increase or decrease is required. Smoothing the gain multiple times in this way helps avoid natural variations in human speech inducing variation in the gain estimation.
- The analogue gain controller 24 may adjust the analogue gain for the microphone signal based on the estimated gain g(l) (or its smoothed/averaged value e.g., G(l) or Ga(l)). If the power level of the signal is equal to the target power level (which, for example, may be indicated by gain g(l) being one), then no adaption of the microphone gain will be required. If the power level of the signal is less than the target power level (which, for example, may be indicated by gain g(l) being greater than one), then the microphone gain may be increased. If the power level of the signal is greater than the target power level (which, for example, may be indicated by gain g(l) being less than one), then the microphone gain may be decreased. The amount of increase or decrease of the microphone gain may be determined based the difference between the signal power level and the target power level. This difference may be indicated by gain g(l). In one example, the analogue gain controller 24 may access a lookup table (which may be stored in memory) which maps digital gain g(l) values to analogue gain values for the microphone. The analogue gain controller 24 may retrieve analogue microphone gain values from the lookup table based on the determined gain g(l) and increase or decrease the microphone gain by the looked up value.
- The analogue gain controller 24 may determine a rate or time instant for adapting the microphone gain. Changes to the microphone gain cause the echo path or the noise floor to change which may affect the performance of other speech enhancement modules like
AEC 17, a noise canceller (not shown), etc. Generally, the speech enhancement modules are more adversely affected by an increase in the microphone gain than a reduction in the microphone gain. Thus, in one example, the gain controller 24 may adapt the microphone gain less frequently for increases in the microphone gain than for reductions in the microphone gain. In another example, the adverse effects of gain increases may be reduced by applying the gain changes (such as an increase) during periods of silence. The analogue gain controller 24 may determine an amount of gain increase and wait for a silent period before applying the change in gain. For example, ifVAD 21 detects a series of frames that do not contain speech, it may be inferred that there is currently a silent period and so the analogue gain controller 24 applies the gain change. A silent period could also be determined by measuring the signal power (e.g. using the power estimator 22, as described above) and determining when the signal power is very low. The signal power could be considered to be very low if the power falls below a threshold power level which could be regarded as, for example, merely background noise. The threshold power level could be set to be, for example, the minimum power level required to detect voice byVAD 21. When the signal power is determined to be below the threshold, the gain controller 24 may apply the microphone gain increase. - Increases in the microphone gain to be applied at any instant in time may be limited to a pre-defined value (e.g. ˜3 dB) so that the speech enhancement modules are able to re-adapt to the new levels quickly.
- The gain controller 24 may adjust the digital gain applied at the
digital gain stage 18 based on the determined gain g(l). The digital gain adjustment may be in addition to or alternative to the analogue gain adjustment. The digital gain adjustment may be made when, for example, it is not possible to adjust the analogue gain (because, for example, the adjustment would cause the analogue gain to be outside of a working range). -
FIG. 3 is a flow diagram which illustrates an example of how the microphone gain may be adapted. At 301, an input signal is received at thegain control system 14. As mentioned above, the input signal may be the digitised microphone signal or a processed version of the microphone signal (e.g. processed by the AEC 17). In this example, the input signal is the microphone signal that has been digitised, encoded and framed according to a media codec. - At 302, a received frame is analysed to determine if there is any speech present in that frame. This analysis may be performed by the
VAD 21, as described above. If speech is detected, the frame is classified as “speech” and the process moves on to step 303. If there is no speech detected, the process moves back to step 301 to receive the next frame and no changes are made to the microphone gain. - At
step 303, the power of the audio signal for the frame (that contains speech) is estimated. This estimation may be performed by the power estimator 22, as described above. The estimated power may be smoothed and averaged using signal powers that have been estimated for previous frames. Atstep 304, the amount of gain, g(l), required for the audio signal to reach a target power level is determined. This determination may be performed by thedigital gain estimator 23 and is determined based on the estimated power level, p(l), as described above. - At
step 305, it is determined if gain g(l) is greater than one, less than one or equal to one. If the determined gain is one, then this indicates that the estimated power level, p(l), is equal to the target power level and so no adaption of the microphone gain is required and so the process moves back to step 301 to receive the next frame without changing the microphone gain. If gain g(l) is less than one, the process moves on to step 306. If the gain g(l) is greater than one, the process moves on to step 309. - At
step 306, gain g(l) is less than one, which indicates that the signal power is greater than the target power level and so the microphone gain needs to be reduced. The amount of analogue gain for adjusting the current microphone gain is determined based on digital gain g(l). For example, an analogue gain value may be determined for digital gain g(l) from a lookup table, as described above. Alternatively, the digital gain g(l) value may be further processed prior to the lookup using the following equation to determine an amount of gain reduction Gred (see equation 8). A current gain value may then be reduced by the gain reduction value Gred to provide a new gain Gnew. An analogue gain value may then be looked up from the new gain value Gnew. -
- Where
-
- μr is a constant, g(l) is the amount of digital gain that has been determined at
step 304 and Gmax is predefined maximum change in the gain value. - At
step 307, a rate or time instant for reducing the microphone gain is determined. The rate or time instant may be determined based on the determined amount of analogue gain atstep 306 or digital gain g(l) atstep 305. For example, the microphone gain may be reduced quickly if the signal power is very high to help avoid distortion due to saturation as well as loud and inconvenient audio for the listener at the far-end. For example, if g(l)≤0.2, then this indicates high signal power and so the microphone signal may be adapted quickly. Whereas if 0.2≤g(l)≤1, then the adaption may be slower. For example, if g(l)≤0.2, then the microphone gain may be adapted instantly or after waiting for a short amount of time T (e.g. T=0.1 seconds). If 0.2≤g(l)≤1, then the microphone gain may be adapted according to: -
- Where T is the amount of time to wait before adapting the microphone gain and Tmax, is a maximum amount of time to wait (e.g. 8 seconds). According to equation 9, as g(l) gets closer to 1, the amount of waiting time is increased. This has the effect of reducing the adaptation rate as the signal power level gets closer to the target power level.
- The next adaptation instant or the waiting duration for applying the microphone gain change may also be dependent on the current analogue microphone gain level. For example, if the current microphone gain is high, the microphone gain reduction may be applied quickly because the high signal power captured may degrade the performance of speech enhancement modules, as mentioned above. Whereas, if the current microphone gain is low, the microphone gain reduction may be applied slowly because reducing the microphone gain to an even lower level may cause it to not capture the required audio.
- Step 307 may be performed by the gain controller 24.
- At
step 308, the microphone gain is reduced by the amount of gain determined atstep 306. The gain may be reduced at a rate or time determined atstep 307. Alternatively, step 307 may be omitted and the microphone gain is reduced instantly afterstep 306. The process then returns to step 301 to receive the next frame. - At
step 305, if gain g(l) is greater than one, the process moves on to step 309. Atstep 309, gain g(l) is greater than one, which indicates that the signal power is less than the target power level and so the microphone gain needs to be increased. The amount of analogue gain for adjusting the current microphone gain is determined based on digital gain g(l). For example, an analogue gain value may be determined for digital gain g(l) from a lookup table, as described above. Alternatively, the digital gain g(l) value may be further processed prior to the lookup using the following equation to determine an amount of gain increase Ginc (see equation 10). A current gain value may then be increased by the gain increase value Ginc to provide a new gain Gnew. An analogue gain value may then be looked up from the new gain value Gnew. -
- Where ξ=min(g(l), Gmax), μi is a constant, g(l) is the amount of digital gain that has been determined at
step 304 and Gmax is predefined maximum change in the gain value. - At
step 310, a rate or time instant for increasing the microphone gain is determined. The rate or time instant may be determined based on the determined amount of analogue gain atstep 309 or digital gain g(l) atstep 305. For example, the amount of time to wait before increasing the microphone gain may be determined according to equation 11: -
- Where T is the amount of time to wait before adapting the microphone gain and Tmax, is a maximum amount of time to wait (e.g. 8 seconds). According to
equation 11, as g(l) gets closer to 1, the amount of waiting time is increased. This has the effect of reducing the adaptation rate as the signal power level gets closer to the target power level. It also means that if the speech power level is low, the microphone gain is increased quickly so that the speech can be captured at a better level (i.e. nearer the target level) for the far-end listener. - The next adaptation instant or waiting duration for applying the microphone gain change may also be dependent on the current analogue microphone gain level. For example, when the current microphone gain is high, the time duration for applying the microphone gain increase may be large so that the gain is increased at a slow rate.
- This can help avoid signal saturation. When the current microphone gain is low, the time duration for applying the microphone gain increase may be at a fast rate as a low microphone gain may cause the signal to not be captured and so a quick increase in the microphone gain helps ensure that the required signal is captured.
- Step 310 may be performed by the gain controller 24.
- The system may provide a minimum amount of time to wait between gain adaptions, Tmin (e.g. 1 or 2 seconds), which may be predefined to ensure that the microphone gain is not adapted too rapidly. A maximum amount of time to wait between gain adaptations, Tmax (e.g. 8 seconds) may also be predefined. Furthermore, a maximum change in the amount of gain Gmax may also be predefined to help prevent large increases or decreases in the amount of gain at each adaptation step, which could cause the system to destabilise. Thus, the amount of time between gain adaptations determined at
steps 307 and/or 310 may be bounded by Tmin and Tmax and the amount that the gain is adapted may be limited by Gmax. - At
step 311, the microphone gain is increased by the amount of gain determined atstep 309. The gain may be increased at a rate or time determined atstep 310. Alternatively, step 310 may be omitted and the microphone gain is increased instantly afterstep 309. The process then returns to step 301 to receive the next frame. - As well as adapting the analogue gain of the microphone signal, the digital gain applied (e.g. at digital gain stage 18) may also be adapted. The combination of adapting the analogue gain and the digital gain allows the dynamic range for the total gain to be larger.
- As described above, the
gain control system 14 helps to improve the quality of audio that is received by the far-end listener. In particular, the audio captured by a microphone is analysed in the digital domain to determine the power level of the audio and the amount of gain required for the power level of the audio to be at a target power level (which may correspond to an ideal power level for listening at the far-end). Performance of this analysis in the digital domain rather than in the analogue domain has a number of advantages such as: (i) the ability to analyse specific targeted audio such as speech only; (ii) the power of the signal may change as it is processed along the signal processing pipeline and so determining the power further down the pipeline (rather than at the input of the pipeline—as would be the case in the analogue domain) may provide a better indication of the signal power received by the far-end. Furthermore, it is advantageous to adapt the gain in the analogue domain rather than solely in the digital domain as there may be a loss in the resolution of the signal when multiplying the digitised values of the digital signal to apply the digital gain. - It is also advantageous to determine a difference between a current power level and a target power level and adapt the gain accordingly. Determining this difference allows the gain to be adapted quickly or slowly depending on if the difference is large or small respectively. This may be beneficial over set incremental increases or decreases as it allows the device to quickly adapt so that it can capture the required signal or remove distortions rapidly. It also allows aids system stability and the performance of other audio enhancement modules as the adaptation rate can be slowed down if the signal power level is close to the target power level, thus advantageously reducing the frequency at which the analogue gain is modified, as described above. Furthermore, reducing the adaptation frequency allows more time for an average power estimation to be carried out, which helps to provide a more accurate estimation.
- The device and system of
FIGS. 1 and 2 are shown as comprising a number of functional blocks. This is schematic only and is not intended to define a strict division between different logic elements of such entities. Each functional block may be provided in any suitable manner. It is to be understood that intermediate values described herein as being formed by a gain control system need not be physically generated by the gain control system at any point and may merely represent logical values which conveniently describe the processing performed by the gain control system between its input and output. - Generally, any of the functions, methods, techniques or components described above can be implemented in software, firmware, hardware (e.g., fixed logic circuitry), or any combination thereof. The terms “module,” “functionality,” “component”, “element”, “unit”, “block” and “logic” may be used herein to generally represent software, firmware, hardware, or any combination thereof. In the case of a software implementation, the module, functionality, component, element, unit, block or logic represents program code that performs the specified tasks when executed on a processor. The algorithms and methods described herein could be performed by one or more processors executing code that causes the processor(s) to perform the algorithms/methods. Examples of a computer-readable storage medium include a random-access memory (RAM), read-only memory (ROM), an optical disc, flash memory, hard disk memory, and other memory devices that may use magnetic, optical, and other techniques to store instructions or other data and that can be accessed by a machine.
- The terms computer program code and computer readable instructions as used herein refer to any kind of executable code for processors, including code expressed in a machine language, an interpreted language or a scripting language. Executable code includes binary code, machine code, bytecode, code defining an integrated circuit (such as a hardware description language or netlist), and code expressed in a programming language code such as C, Java or OpenCL. Executable code may be, for example, any kind of software, firmware, script, module or library which, when suitably executed, processed, interpreted, compiled, executed at a virtual machine or other software environment, cause a processor of the computer system at which the executable code is supported to perform the tasks specified by the code.
- A processor, computer, or computer system may be any kind of device, machine or dedicated circuit, or collection or portion thereof, with processing capability such that it can execute instructions. A processor may be any kind of general purpose or dedicated processor, such as a CPU, GPU, System-on-chip, state machine, media processor, an application-specific integrated circuit (ASIC), a programmable logic array, a field-programmable gate array (FPGA), or the like. A computer or computer system may comprise one or more processors.
- It is also intended to encompass software which defines a configuration of hardware as described herein, such as HDL (hardware description language) software, as is used for designing integrated circuits, or for configuring programmable chips, to carry out desired functions. That is, there may be provided a computer readable storage medium having encoded thereon computer readable program code in the form of an integrated circuit definition dataset that when processed in an integrated circuit manufacturing system configures the system to manufacture a gain control system configured to perform any of the methods described herein, or to manufacture a gain control system comprising any apparatus described herein. An integrated circuit definition dataset may be, for example, an integrated circuit description.
- An integrated circuit definition dataset may be in the form of computer code, for example as a netlist, code for configuring a programmable chip, as a hardware description language defining an integrated circuit at any level, including as register transfer level (RTL) code, as high-level circuit representations such as Verilog or VHDL, and as low-level circuit representations such as OASIS (RTM) and GDSII. Higher level representations which logically define an integrated circuit (such as RTL) may be processed at a computer system configured for generating a manufacturing definition of an integrated circuit in the context of a software environment comprising definitions of circuit elements and rules for combining those elements in order to generate the manufacturing definition of an integrated circuit so defined by the representation. As is typically the case with software executing at a computer system so as to define a machine, one or more intermediate user steps (e.g. providing commands, variables etc.) may be required in order for a computer system configured for generating a manufacturing definition of an integrated circuit to execute code defining an integrated circuit so as to generate the manufacturing definition of that integrated circuit.
- An example of processing an integrated circuit definition dataset at an integrated circuit manufacturing system so as to configure the system to manufacture a gain control system will now be described with respect to
FIG. 4 . -
FIG. 4 shows an example of an integrated circuit (IC)manufacturing system 1002 which comprises alayout processing system 1004 and an integratedcircuit generation system 1006. TheIC manufacturing system 1002 is configured to receive an IC definition dataset (e.g. defining a gain control system as described in any of the examples herein), process the IC definition dataset, and generate an IC according to the IC definition dataset (e.g. which embodies a gain control system as described in any of the examples herein). The processing of the IC definition dataset configures theIC manufacturing system 1002 to manufacture an integrated circuit embodying a gain control system as described in any of the examples herein. - The
layout processing system 1004 is configured to receive and process the IC definition dataset to determine a circuit layout. Methods of determining a circuit layout from an IC definition dataset are known in the art, and for example may involve synthesising RTL code to determine a gate level representation of a circuit to be generated, e.g. in terms of logical components (e.g. NAND, NOR, AND, OR, MUX and FLIP-FLOP components). A circuit layout can be determined from the gate level representation of the circuit by determining positional information for the logical components. This may be done automatically or with user involvement in order to optimise the circuit layout. When thelayout processing system 1004 has determined the circuit layout it may output a circuit layout definition to theIC generation system 1006. A circuit layout definition may be, for example, a circuit layout description. - The
IC generation system 1006 generates an IC according to the circuit layout definition, as is known in the art. For example, theIC generation system 1006 may implement a semiconductor device fabrication process to generate the IC, which may involve a multiple-step sequence of photo lithographic and chemical processing steps during which electronic circuits are gradually created on a wafer made of semiconducting material. The circuit layout definition may be in the form of a mask which can be used in a lithographic process for generating an IC according to the circuit definition. Alternatively, the circuit layout definition provided to theIC generation system 1006 may be in the form of computer-readable code which theIC generation system 1006 can use to form a suitable mask for use in generating an IC. - The different processes performed by the
IC manufacturing system 1002 may be implemented all in one location, e.g. by one party. Alternatively, theIC manufacturing system 1002 may be a distributed system such that some of the processes may be performed at different locations, and may be performed by different parties. For example, some of the stages of: (i) synthesising RTL code representing the IC definition dataset to form a gate level representation of a circuit to be generated, (ii) generating a circuit layout based on the gate level representation, (iii) forming a mask in accordance with the circuit layout, and (iv) fabricating an integrated circuit using the mask, may be performed in different locations and/or by different parties. - In other examples, processing of the integrated circuit definition dataset at an integrated circuit manufacturing system may configure the system to manufacture a gain control system without the IC definition dataset being processed so as to determine a circuit layout. For instance, an integrated circuit definition dataset may define the configuration of a reconfigurable processor, such as an FPGA, and the processing of that dataset may configure an IC manufacturing system to generate a reconfigurable processor having that defined configuration (e.g. by loading configuration data to the FPGA).
- In some embodiments, an integrated circuit manufacturing definition dataset, when processed in an integrated circuit manufacturing system, may cause an integrated circuit manufacturing system to generate a device as described herein. For example, the configuration of an integrated circuit manufacturing system in the manner described above with respect to
FIG. 4 by an integrated circuit manufacturing definition dataset may cause a device as described herein to be manufactured. - In some examples, an integrated circuit definition dataset could include software which runs on hardware defined at the dataset or in combination with hardware defined at the dataset. In the example shown in
FIG. 4 , the IC generation system may further be configured by an integrated circuit definition dataset to, on manufacturing an integrated circuit, load firmware onto that integrated circuit in accordance with program code defined at the integrated circuit definition dataset or otherwise provide program code with the integrated circuit for use with the integrated circuit. - The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention.
Claims (20)
1. A gain control system for controlling gain applied to an audio signal, the system comprising:
a power estimator configured to estimate the power of a digital signal derived from the audio signal;
a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and
a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain, in a plurality of gain adaptions, wherein the amount of time between gain adaptions is dependent on one or more of: the current analogue gain level, a predefined maximum time, and a predefined minimum time.
2. The gain control system as claimed in claim 1 , wherein the gain adjustment applied in each gain adaption is limited by a predefined maximum amount of gain.
3. The gain control system as claimed in claim 1 , wherein the amount of time between gain adaptions is bounded by the predefined maximum time and the predefined minimum time.
4. The gain control system as claimed in claim 1 , wherein the audio signal is a microphone signal.
5. The gain control system as claimed in claim 1 , further comprising a voice detector configured to detect a presence of voice in the digital signal, wherein the gain controller is configured to adjust the analogue gain only if the presence of voice is detected.
6. The gain control system as claimed in claim 5 , wherein the gain controller is configured to reduce the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level or to increase the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
7. The gain control system as claimed in claim 5 , wherein the gain controller is configured to perform the adjustment of the analogue gain in response to the voice detector subsequently detecting an absence of voice in the digital signal.
8. The gain control system as claimed in claim 1 , wherein the gain controller is configured to perform the adjustment of the analogue gain in response to subsequently detecting that the power of the digital signal is below a power threshold.
9. The gain control system as claimed in claim 1 , wherein the estimated power is an average power determined from a plurality of frames of the digital signal.
10. The gain control system as claimed in claim 1 , wherein the gain controller is configured to retrieve a value for the analogue gain that corresponds to the digital gain from a lookup table.
11. The gain control system as claimed in claim 1 , wherein the gain controller is configured to adjust the analogue gain applied to the audio signal from a current gain level to an adjusted gain level at an adjustment rate, the rate being determined in dependence on the power difference between the digital signal power and the target power level.
12. The gain control system as claimed in claim 11 , wherein the adjustment rate is variable and the gain controller is configured to increase the adjustment rate in response to determining an increase in the power difference between the digital signal power and the target power level.
13. The gain control system as claimed in claim 11 , wherein the adjustment rate is variable and the gain controller is configured to decrease the adjustment rate in response to determining a decrease in the power difference between the digital signal power and the target power level.
14. The gain control system as claimed in claim 11 wherein the adjustment rate is determined in dependence on the current gain level or the adjusted gain level.
15. The gain control system as claimed in claim 11 , wherein if the adjusted gain level is greater than the current gain level, the gain controller is configured to determine a first adjustment rate and if the adjusted gain level is less than the current gain level, the gain controller is configured to determine a second adjustment rate that is greater than the first adjustment rate.
16. The gain control system as claimed in claim 1 , further comprising an echo canceller configured to cancel echo from the audio signal, wherein the digital signal is an echo cancelled signal.
17. The gain control system as claimed in claim 1 , wherein the digital gain estimator is further configured to smooth the determined digital gain, the gain controller being configured to adjust the analogue gain applied in dependence on the smoothed digital gain.
18. A method for controlling gain applied to an audio signal, the method comprising:
estimating the power of a digital signal derived from the audio signal;
determining, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and
adjusting an analogue gain applied to the audio signal in dependence on the determined digital gain in a plurality of gain adaptions, wherein the amount of time between gain adaptions is dependent on one or more of: the current analogue gain level, a predefined maximum time, and a predefined minimum time.
19. The method as claimed in claim 18 , wherein adjusting comprises reducing the gain applied to the audio signal if the presence of voice is detected and the estimated power is greater than the target power level or increasing the gain applied to the audio signal if the presence of voice is detected and the estimated signal power is less than the target power level.
20. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a gain control system for controlling gain applied to an audio signal wherein the gain control system is embodied in hardware on an integrated circuit, the system comprising:
a power estimator configured to estimate the power of a digital signal derived from the audio signal;
a digital gain estimator configured to determine, in dependence on the estimated power, a digital gain which would modify the power of the digital signal so as to reach a target power level; and
a gain controller configured to adjust an analogue gain applied to the audio signal in dependence on the determined digital gain in a plurality of gain adaptions, wherein the amount of time between gain adaptions is dependent on one or more of: the current analogue gain level, a predefined maximum time, and a predefined minimum time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/707,367 US20220224299A1 (en) | 2016-02-19 | 2022-03-29 | Controlling Analogue Gain of an Audio Signal Using Digital Gain Estimation and Gain Adaption |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1602915.9A GB2547459B (en) | 2016-02-19 | 2016-02-19 | Dynamic gain controller |
GB1602915.9 | 2016-02-19 | ||
US15/437,573 US10374563B2 (en) | 2016-02-19 | 2017-02-21 | Controlling analogue gain using digital gain estimation |
US16/453,365 US11316488B2 (en) | 2016-02-19 | 2019-06-26 | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
US17/707,367 US20220224299A1 (en) | 2016-02-19 | 2022-03-29 | Controlling Analogue Gain of an Audio Signal Using Digital Gain Estimation and Gain Adaption |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/453,365 Continuation US11316488B2 (en) | 2016-02-19 | 2019-06-26 | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220224299A1 true US20220224299A1 (en) | 2022-07-14 |
Family
ID=55752898
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/437,573 Active 2037-03-04 US10374563B2 (en) | 2016-02-19 | 2017-02-21 | Controlling analogue gain using digital gain estimation |
US16/453,365 Active US11316488B2 (en) | 2016-02-19 | 2019-06-26 | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
US17/707,367 Abandoned US20220224299A1 (en) | 2016-02-19 | 2022-03-29 | Controlling Analogue Gain of an Audio Signal Using Digital Gain Estimation and Gain Adaption |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/437,573 Active 2037-03-04 US10374563B2 (en) | 2016-02-19 | 2017-02-21 | Controlling analogue gain using digital gain estimation |
US16/453,365 Active US11316488B2 (en) | 2016-02-19 | 2019-06-26 | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
Country Status (2)
Country | Link |
---|---|
US (3) | US10374563B2 (en) |
GB (1) | GB2547459B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2547459B (en) * | 2016-02-19 | 2019-01-09 | Imagination Tech Ltd | Dynamic gain controller |
CN109994104B (en) * | 2019-01-14 | 2021-05-14 | 珠海慧联科技有限公司 | Self-adaptive call volume control method and device |
US11411543B2 (en) * | 2019-09-24 | 2022-08-09 | Analog Devices International Unlimited Company | Power efficiency in an audio playback path |
CN115941411B (en) * | 2022-07-04 | 2023-07-28 | 上海星思半导体有限责任公司 | Signal processing method, device, electronic equipment and storage medium |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677962A (en) * | 1995-01-26 | 1997-10-14 | Sony Corporation | Hybrid analog and digital amplifier with a delayed step change in the digital gain |
US5838269A (en) * | 1996-09-12 | 1998-11-17 | Advanced Micro Devices, Inc. | System and method for performing automatic gain control with gain scheduling and adjustment at zero crossings for reducing distortion |
US20020107593A1 (en) * | 2001-02-02 | 2002-08-08 | Rafi Rabipour | Method and apparatus for controlling an operative setting of a communications link |
US6523003B1 (en) * | 2000-03-28 | 2003-02-18 | Tellabs Operations, Inc. | Spectrally interdependent gain adjustment techniques |
US20030091180A1 (en) * | 1998-12-23 | 2003-05-15 | Patrik Sorqvist | Adaptive signal gain controller, system, and method |
US6591234B1 (en) * | 1999-01-07 | 2003-07-08 | Tellabs Operations, Inc. | Method and apparatus for adaptively suppressing noise |
US20060170787A1 (en) * | 2005-02-02 | 2006-08-03 | Mteye Security Ltd. | Device, system, and method of rapid image acquisition |
US20070064961A1 (en) * | 2005-09-21 | 2007-03-22 | Inventec Appliances Corp. | Audio control system and audio control method thereof |
US20110112668A1 (en) * | 2009-11-10 | 2011-05-12 | Skype Limited | Gain control for an audio signal |
US20120133411A1 (en) * | 2010-11-30 | 2012-05-31 | Qualcomm Incorporated | Adaptive gain adjustment system |
US20120143603A1 (en) * | 2010-12-01 | 2012-06-07 | Samsung Electronics Co., Ltd. | Speech processing apparatus and method |
US8275610B2 (en) * | 2006-09-14 | 2012-09-25 | Lg Electronics Inc. | Dialogue enhancement techniques |
US8275611B2 (en) * | 2007-01-18 | 2012-09-25 | Stmicroelectronics Asia Pacific Pte., Ltd. | Adaptive noise suppression for digital speech signals |
US20130024193A1 (en) * | 2011-07-22 | 2013-01-24 | Continental Automotive Systems, Inc. | Apparatus and method for automatic gain control |
US20130144615A1 (en) * | 2010-05-12 | 2013-06-06 | Nokia Corporation | Method and apparatus for processing an audio signal based on an estimated loudness |
US20150023450A1 (en) * | 2010-12-03 | 2015-01-22 | Skyworks Solutions, Inc. | Apparatus and methods for power control in mobile communication devices |
US20150263686A1 (en) * | 2012-10-19 | 2015-09-17 | Wolfson Microelectronics Plc | Digital/analogue conversion |
US20160173146A1 (en) * | 2014-12-10 | 2016-06-16 | Do-Yun Kim | Apparatus and method for controlling gain in communication system |
US11316488B2 (en) * | 2016-02-19 | 2022-04-26 | Imagination Technologies Limited | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233554B1 (en) * | 1997-12-12 | 2001-05-15 | Qualcomm Incorporated | Audio CODEC with AGC controlled by a VOCODER |
CN1475056A (en) * | 2000-10-10 | 2004-02-11 | �����ּ�����˾ | Automatic gain control for time division duplex receiver |
US8135148B2 (en) * | 2006-04-26 | 2012-03-13 | Microsemi Semiconductor Corp. | Automatic gain control for mobile microphone |
US7945442B2 (en) * | 2006-12-15 | 2011-05-17 | Fortemedia, Inc. | Internet communication device and method for controlling noise thereof |
EP2608569B1 (en) * | 2011-12-22 | 2014-07-23 | ST-Ericsson SA | Digital microphone device with extended dynamic range |
-
2016
- 2016-02-19 GB GB1602915.9A patent/GB2547459B/en active Active
-
2017
- 2017-02-21 US US15/437,573 patent/US10374563B2/en active Active
-
2019
- 2019-06-26 US US16/453,365 patent/US11316488B2/en active Active
-
2022
- 2022-03-29 US US17/707,367 patent/US20220224299A1/en not_active Abandoned
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5677962A (en) * | 1995-01-26 | 1997-10-14 | Sony Corporation | Hybrid analog and digital amplifier with a delayed step change in the digital gain |
US5838269A (en) * | 1996-09-12 | 1998-11-17 | Advanced Micro Devices, Inc. | System and method for performing automatic gain control with gain scheduling and adjustment at zero crossings for reducing distortion |
US20030091180A1 (en) * | 1998-12-23 | 2003-05-15 | Patrik Sorqvist | Adaptive signal gain controller, system, and method |
US6591234B1 (en) * | 1999-01-07 | 2003-07-08 | Tellabs Operations, Inc. | Method and apparatus for adaptively suppressing noise |
US6523003B1 (en) * | 2000-03-28 | 2003-02-18 | Tellabs Operations, Inc. | Spectrally interdependent gain adjustment techniques |
US20020107593A1 (en) * | 2001-02-02 | 2002-08-08 | Rafi Rabipour | Method and apparatus for controlling an operative setting of a communications link |
US20060170787A1 (en) * | 2005-02-02 | 2006-08-03 | Mteye Security Ltd. | Device, system, and method of rapid image acquisition |
US20070064961A1 (en) * | 2005-09-21 | 2007-03-22 | Inventec Appliances Corp. | Audio control system and audio control method thereof |
US8275610B2 (en) * | 2006-09-14 | 2012-09-25 | Lg Electronics Inc. | Dialogue enhancement techniques |
US8275611B2 (en) * | 2007-01-18 | 2012-09-25 | Stmicroelectronics Asia Pacific Pte., Ltd. | Adaptive noise suppression for digital speech signals |
US20110112668A1 (en) * | 2009-11-10 | 2011-05-12 | Skype Limited | Gain control for an audio signal |
US20130144615A1 (en) * | 2010-05-12 | 2013-06-06 | Nokia Corporation | Method and apparatus for processing an audio signal based on an estimated loudness |
US20120133411A1 (en) * | 2010-11-30 | 2012-05-31 | Qualcomm Incorporated | Adaptive gain adjustment system |
US20120143603A1 (en) * | 2010-12-01 | 2012-06-07 | Samsung Electronics Co., Ltd. | Speech processing apparatus and method |
US20150023450A1 (en) * | 2010-12-03 | 2015-01-22 | Skyworks Solutions, Inc. | Apparatus and methods for power control in mobile communication devices |
US20130024193A1 (en) * | 2011-07-22 | 2013-01-24 | Continental Automotive Systems, Inc. | Apparatus and method for automatic gain control |
US20150263686A1 (en) * | 2012-10-19 | 2015-09-17 | Wolfson Microelectronics Plc | Digital/analogue conversion |
US20160173146A1 (en) * | 2014-12-10 | 2016-06-16 | Do-Yun Kim | Apparatus and method for controlling gain in communication system |
US11316488B2 (en) * | 2016-02-19 | 2022-04-26 | Imagination Technologies Limited | Controlling analogue gain of an audio signal using digital gain estimation and voice detection |
Also Published As
Publication number | Publication date |
---|---|
GB2547459A (en) | 2017-08-23 |
US10374563B2 (en) | 2019-08-06 |
US11316488B2 (en) | 2022-04-26 |
GB201602915D0 (en) | 2016-04-06 |
US20170243598A1 (en) | 2017-08-24 |
GB2547459B (en) | 2019-01-09 |
US20190319598A1 (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316488B2 (en) | Controlling analogue gain of an audio signal using digital gain estimation and voice detection | |
US11601554B2 (en) | Detection of acoustic echo cancellation | |
US10999418B2 (en) | Estimating averaged noise component in a microphone signal | |
CN104980601B (en) | Gain control system and method for dynamic tuning echo canceller | |
KR101461141B1 (en) | System and method for adaptively controlling a noise suppressor | |
US9520139B2 (en) | Post tone suppression for speech enhancement | |
US9437210B2 (en) | Audio signal processing | |
US7945442B2 (en) | Internet communication device and method for controlling noise thereof | |
US9699554B1 (en) | Adaptive signal equalization | |
KR102190833B1 (en) | Echo suppression | |
US9277059B2 (en) | Echo removal | |
US20180234760A1 (en) | Reducing instantaneous wind noise | |
RU2725017C1 (en) | Audio signal processing device and method | |
US12039989B2 (en) | Echo canceller with variable step-size control | |
CN106297816B (en) | Echo cancellation nonlinear processing method and device and electronic equipment | |
CN107533849B (en) | Audio signal processing apparatus for processing input headphone audio signal based on microphone audio signal | |
GB2577839A (en) | Dynamic gain controller | |
GB2566164A (en) | Dynamic gain controller | |
US20120294437A1 (en) | Automatic gain control for tele-presence voice echo cancellers | |
GB2581106A (en) | Dynamic gain controller | |
KR20220157475A (en) | Echo Residual Suppression | |
US9544702B2 (en) | Dynamic characterization of a communication device | |
US20220358946A1 (en) | Speech processing apparatus and method for acoustic echo reduction | |
US20120224684A1 (en) | Soft attenuation of high-power signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |