WO2019045474A1 - 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치 - Google Patents

비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
WO2019045474A1
WO2019045474A1 PCT/KR2018/010038 KR2018010038W WO2019045474A1 WO 2019045474 A1 WO2019045474 A1 WO 2019045474A1 KR 2018010038 W KR2018010038 W KR 2018010038W WO 2019045474 A1 WO2019045474 A1 WO 2019045474A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
audio
filter
audio signal
frequency
Prior art date
Application number
PCT/KR2018/010038
Other languages
English (en)
French (fr)
Inventor
양재모
문한길
백순호
손백권
조기호
최철민
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/639,332 priority Critical patent/US11276414B2/en
Publication of WO2019045474A1 publication Critical patent/WO2019045474A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Definitions

  • Various embodiments relate to a signal processing method and an electronic device for removing an echo signal in which sound reproduced by an electronic device is again introduced into the electronic device.
  • An electronic device provides a variety of communication methods in a communication environment with other electronic devices.
  • the electronic device provides a call using a speakerphone and / or a video call.
  • the electronic device outputs a sound signal received from the other electronic device through a speaker.
  • the output sound signal may be input back to the electronic device through a microphone of the electronic device.
  • the electronic device can receive an echo (or echo) signal, which is a sound signal output through the speaker.
  • the echo signal is a major factor in the degradation of speech quality. Therefore, the electronic device removes the echo signal using a signal processing technique (echo cancellation, for example) set to remove the echo signal at the time of the call.
  • a signal processing technique echo cancellation, for example
  • the feedback modeled to remove the echo (or echo) signal of an electronic device has a linear property.
  • the echo signal may include a non-linear signal generated through an element of the electronic device or the like.
  • the modeled feedback has a problem that it is difficult to remove only the linear component of the echo signal and to remove the nonlinear signal of the echo signal.
  • Various embodiments can provide an electronic device and method for modeling and eliminating nonlinear signals among echo components entering an electronic device, based on nonlinear modeling.
  • Various embodiments can provide an electronic device and method for eliminating nonlinear signals entering an electronic device, based on a filter having attributes of a nonlinear property and a property of a neural network.
  • an electronic device includes an audio input module, an audio output module, and a processor, wherein the processor identifies a first audio signal to be output through the audio output module, ) Using a first filter processed with the first audio signal and a second filter having a second non-linear property using a first filter having a non-linear first attribute, Outputting the first audio signal through the audio output module, acquiring an external audio signal including the first audio signal of the electronic device through the audio input module, And a first weight having a first nonlinear characteristic in a magnitude value corresponding to a first frequency of the first signal and a magnitude value corresponding to the first frequency of the second signal, Acquiring a first output value through a first input channel of a second audio filter and using a magnitude value corresponding to a second frequency of the first signal and a magnitude value corresponding to the second frequency of the second signal, Obtaining a second output value through a second input channel of the audio filter having a second weight that is distinct from the first weight, Based on at least the
  • a method of an electronic device includes the steps of verifying, through an audio output module, a first audio signal to be output and a second filter having a first non-linear property, Generating a second signal in which the first audio signal has been processed using a first signal and a second filter having the second non-linear property, and outputting the first audio signal through the audio output module Obtaining an external audio signal including the first audio signal of the electronic device through an audio input module; and receiving a magnitude value corresponding to a first frequency of the first signal and a magnitude value corresponding to a first frequency of the second signal, Obtaining a first output value through a first input channel of an audio filter to which a first weight having a first nonlinear characteristic is applied to a magnitude value corresponding to the first frequency; Wherein the second signal has a second magnitude corresponding to a second frequency of the first signal and a magnitude value corresponding to the second frequency of the second signal, The method comprising: obtaining a second output value through a second input channel of the filter
  • the electronic device includes an audio input module, an audio output module, a memory for storing instructions, and at least one processor, wherein the at least one processor is operable, via the audio output module, Modeling the first audio signal based on a nonlinear property through a nonlinear filter and outputting the first audio signal modeled based on the nonlinear property to a second audio signal based on a linear property through a linear filter, Modeling the first audio signal modeled based on the nonlinear attribute as a third audio signal through a neural network and outputting an external audio signal associated with the first audio signal through the audio input module, Based on the second audio signal and the third audio signal, And to execute the stored instructions to process the signal.
  • the electronic device and the method of operation thereof it is possible to effectively remove an echo signal in which the sound reproduced by the speaker is micro-inflowed in the electronic device including the speaker and the microphone.
  • effective echo cancellation can improve the voice recognition function by transmitting only the target speech signal at the time of voice recognition or conversation of the electronic device, and can prevent the voice quality deterioration in advance .
  • the electronic device can model and remove non-linear signals among the echo components in real time.
  • the electronic device eliminates nonlinearities occurring in speakers and microphones, and provides nonlinear modeling (e.g., nonlinear modeling) through modeling using a plurality of nonlinear property filters (or sigmoid functions) Performance can be improved.
  • nonlinear modeling e.g., nonlinear modeling
  • a plurality of nonlinear property filters or sigmoid functions
  • the electronic device improves the performance of nonlinear modeling using a filter having the property of a neural network in the frequency axis for a nonlinear echo modeled by a plurality of nonlinear property filters (sigmoid function). .
  • the performance of nonlinear modeling may be improved while minimizing the connection between nodes and nodes of the neural network, thereby reducing real-time computation and memory usage.
  • FIG. 1 is a block diagram of an electronic device in a network environment in accordance with various embodiments.
  • FIG. 2 is a block diagram of an audio module according to various embodiments.
  • Figure 3 shows an example of the functional configuration of an electronic device according to various embodiments.
  • FIG. 4 illustrates an example of a configuration of an electronic device for processing an external audio signal in accordance with various embodiments.
  • FIG 5 shows another example of the configuration of an electronic device for processing an external audio signal according to various embodiments.
  • FIG 6 illustrates an example of the operation of an electronic device for processing an external audio signal in accordance with various embodiments.
  • Figure 7 shows an example of the operation of an electronic device for modeling an audio signal based on a plurality of non-linear filters according to various embodiments.
  • 8A illustrates an example of an operation for modeling an audio signal using an audio filter included in an electronic device according to various embodiments.
  • 8B shows an example of the configuration of an audio filter included in an electronic device according to various embodiments.
  • FIG 9 shows another example of the operation of an electronic device for processing an external audio signal according to various embodiments.
  • FIG. 10 shows an example of the flow of a signal for processing an external audio signal in an electronic device according to various embodiments.
  • FIG 11 shows another example of the flow of signals for processing an external audio signal in an electronic device according to various embodiments.
  • FIG. 12 illustrates an example of a signal modeled by an audio signal, an external audio signal, and / or a non-linear filter in accordance with various embodiments.
  • Figure 13 illustrates an example of a sigmoid function for reflecting nonlinear attributes in accordance with various embodiments.
  • FIG 15 shows an example of an audio filter included in an electronic device according to various embodiments.
  • Figure 16 shows another example of an audio filter included in an electronic device according to various embodiments.
  • FIG 17 shows another example of signals for an electronic device according to various embodiments.
  • Figure 18 shows another example of signals for an electronic device according to various embodiments.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, in accordance with various embodiments.
  • an electronic device 101 communicates with an electronic device 102 via a first network 198 (e.g., a short range wireless communication) or a second network 199 (E. G., Remote wireless communication).
  • a first network 198 e.g., a short range wireless communication
  • a second network 199 E. G., Remote wireless communication
  • ≪ / RTI &gt the electronic device 101 is capable of communicating with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input device 150, an audio output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module 196, and an antenna module 197 ).
  • at least one (e.g., display 160 or camera module 180) of these components may be omitted from the electronic device 101, or other components may be added.
  • some components such as, for example, a sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) embedded in a display device 160 Can be integrated.
  • Processor 120 drives at least one other component (e.g., hardware or software component) of electronic device 101 connected to processor 120 by driving software, e.g., program 140, And can perform various data processing and arithmetic operations.
  • Processor 120 loads and processes commands or data received from other components (e.g., sensor module 176 or communication module 190) into volatile memory 132 and processes the resulting data into nonvolatile memory 134.
  • the processor 120 may operate in conjunction with a main processor 121 (e.g., a central processing unit or an application processor) and, independently, or additionally or alternatively, Or a co-processor 123 (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor) specific to the designated function.
  • a main processor 121 e.g., a central processing unit or an application processor
  • a co-processor 123 e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communications processor
  • the coprocessor 123 may be operated separately from or embedded in the main processor 121.
  • the coprocessor 123 may be used in place of the main processor 121, for example, while the main processor 121 is in an inactive (e.g., sleep) state, At least one component (e.g., display 160, sensor module 176, or communications module 176) of the components of electronic device 101 (e.g., 190) associated with the function or states.
  • the coprocessor 123 e.g., an image signal processor or communications processor
  • the coprocessor 123 is implemented as a component of some other functionally related component (e.g., camera module 180 or communication module 190) .
  • Memory 130 may store various data used by at least one component (e.g., processor 120 or sensor module 176) of electronic device 101, e.g., software (e.g., program 140) ), And input data or output data for the associated command.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134.
  • the program 140 may be software stored in the memory 130 and may include, for example, an operating system 142, a middleware 144,
  • the input device 150 is an apparatus for receiving a command or data to be used for a component (e.g., processor 120) of the electronic device 101 from the outside (e.g., a user) of the electronic device 101,
  • a component e.g., processor 120
  • a microphone, a mouse, or a keyboard may be included.
  • the sound output device 155 is a device for outputting a sound signal to the outside of the electronic device 101.
  • the sound output device 155 may be a speaker for general use such as a multimedia reproduction or a sound reproduction, .
  • the receiver may be formed integrally or separately with the speaker.
  • Display device 160 may be an apparatus for visually providing information to a user of electronic device 101 and may include, for example, a display, a hologram device, or a projector and control circuitry for controlling the projector. According to one embodiment, the display device 160 may include a touch sensor or a pressure sensor capable of measuring the intensity of the pressure on the touch.
  • the audio module 170 is capable of bi-directionally converting sound and electrical signals. According to one embodiment, the audio module 170 may acquire sound through the input device 150, or may be connected to the audio output device 155, or to an external electronic device (e.g., Electronic device 102 (e.g., a speaker or headphone)).
  • an external electronic device e.g., Electronic device 102 (e.g., a speaker or headphone)
  • the sensor module 176 may generate an electrical signal or data value corresponding to an internal operating state (e.g., power or temperature) of the electronic device 101, or an external environmental condition.
  • the sensor module 176 may be a gesture sensor, a gyro sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared sensor, Or an illuminance sensor.
  • the interface 177 may support a designated protocol that may be wired or wirelessly connected to an external electronic device (e.g., the electronic device 102).
  • the interface 177 may include a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital interface
  • audio interface an audio interface
  • the connection terminal 178 may be a connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • an HDMI connector such as an HDMI connector, a USB connector, an SD card connector, or an audio connector that can physically connect the electronic device 101 and an external electronic device (e.g., the electronic device 102) (E.g., a headphone connector).
  • the haptic module 179 may convert electrical signals into mechanical stimuli (e.g., vibrations or movements) or electrical stimuli that the user may perceive through tactile or kinesthetic sensations.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture a still image and a moving image.
  • the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
  • the power management module 188 is a module for managing the power supplied to the electronic device 101, and may be configured as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 is an apparatus for supplying power to at least one component of the electronic device 101 and may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 190 is responsible for establishing a wired or wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108) Lt; / RTI > Communication module 190 may include one or more communication processors that support wired communication or wireless communication, operating independently of processor 120 (e.g., an application processor).
  • the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (E.g., a local area network (LAN) communication module, or a power line communication module), and the corresponding communication module may be used to communicate with a first network 198 (e.g., Bluetooth, WiFi direct, Communication network) or a second network 199 (e.g., a telecommunications network such as a cellular network, the Internet, or a computer network (e.g., a LAN or WAN)).
  • a wireless communication module 192 e.g., a cellular communication module, a short range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 E.g., a local area network (LAN) communication module, or a power line communication module
  • the wireless communication module 192 may use the user information stored in the subscriber identification module 196 to identify and authenticate the electronic device 101 within the communication network.
  • the antenna module 197 may include one or more antennas for transmitting signals to the outside or receiving signals from the outside.
  • the communication module 190 e.g., the wireless communication module 192 may transmit signals to or receive signals from an external electronic device via an antenna suitable for the communication method.
  • Some of the components are connected to each other via a communication method (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • a communication method e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI) (Such as commands or data) can be exchanged between each other.
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199.
  • Each of the electronic devices 102 and 104 may be the same or a different kind of device as the electronic device 101.
  • all or a portion of the operations performed in the electronic device 101 may be performed in another or a plurality of external electronic devices.
  • the electronic device 101 in the event that the electronic device 101 has to perform some function or service automatically or upon request, the electronic device 101 may be capable of executing the function or service itself, And may request the external electronic device to perform at least some functions associated therewith.
  • the external electronic device receiving the request can execute the requested function or additional function and transmit the result to the electronic device 101.
  • the electronic device 101 can directly or additionally process the received result to provide the requested function or service.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the audio module 170 may include, for example, an audio input interface 210, an audio input mixer 220, an analog to digital converter (ADC) 230, an audio signal processor 240, a DAC (digital to analog converter) 250, an audio output mixer 260, or an audio output interface 270.
  • ADC analog to digital converter
  • DAC digital to analog converter
  • the audio input interface 210 is connected to the electronic device 101 via a microphone (e. G., A dynamic microphone, a condenser microphone, or a piezo microphone) configured as part of the input device 150 or separately from the electronic device 101 It is possible to receive an audio signal corresponding to the sound.
  • a microphone e. G., A dynamic microphone, a condenser microphone, or a piezo microphone
  • the audio input interface 210 is connected to the external electronic device 102 via a connection terminal 178, (E.g., Bluetooth communication) through the wireless communication module 192 to receive the audio signal.
  • the audio input interface 210 may receive a control signal (e.g., a volume adjustment signal using an input button) associated with an audio signal obtained from the external electronic device 102.
  • the audio input interface 210 may include a plurality of audio input channels and may receive different audio signals for each audio input channel.
  • the audio input interface 210 may additionally or alternatively receive audio signals from other components of the electronic device 101 (e.g., processor 120 or memory 130).
  • the audio input mixer 220 may combine the plurality of input audio signals into at least one audio signal. According to one embodiment, the audio input mixer 220 may synthesize a plurality of analog audio signals input through the audio input interface 210 into at least one analog audio signal.
  • the ADC 230 may convert an analog audio signal to a digital audio signal. According to one embodiment, the ADC 230 converts an analog audio signal received via the audio input interface 210, or an analog audio signal further or, alternatively, synthesized through the audio input mixer 220, into a digital audio signal .
  • the audio signal processor 240 may perform various processes on the digital audio signal received through the ADC 230 or the digital audio signal received from other components of the electronic device 101.
  • the audio signal processor 240 may be configured to change the sampling rate, apply one or more filters, perform interpolation, amplify or attenuate (e.g., amplify some or all of the frequency bands) Noise can be processed (eg, noise or echo attenuation), channel changes (eg, switching between mono and stereo), mixing, or specified signal extraction.
  • at least some of the functionality of the audio signal processor 240 may be implemented in the form of an equalizer.
  • the DAC 250 may convert the digital audio signal to an analog audio signal. According to one embodiment, the DAC 250 may convert a digital audio signal processed by the audio signal processor 240, or a digital audio signal obtained from other components of the electronic device 101, into an analog audio signal .
  • the audio output mixer 260 may combine a plurality of audio signals to be output into at least one audio signal. According to one embodiment, the audio output mixer 260 receives at least one of an audio signal converted to analog via the DAC 250 and another analog audio signal (e.g., an analog audio signal received via the audio input interface 210) Can be synthesized into an analog audio signal of
  • the audio output interface 270 outputs the analog audio signal converted via the DAC 250 or an analog audio signal further or alternatively synthesized by the audio output mixer 260 to the audio output device 155 : a dynamic driver or a balanced armature driver), or a receiver) to the outside of the electronic device 101.
  • the audio output device 155 includes a plurality of speakers, and the audio output interface 270 is configured to receive a plurality of different channels (e.g., stereo or audio) through at least some of the plurality of speakers 5.1 channel) can be output.
  • the audio output interface 270 may be wired via an external electronic device 102 (e.g., an external speaker or headset) and a connection terminal 178, or wirelessly And can output an audio signal.
  • the audio module 170 does not have an audio input mixer 220 or an audio output mixer 260, but rather synthesizes a plurality of digital audio signals as at least some functions of the audio signal processor 240 At least one digital audio signal can be generated.
  • the audio module 170 includes an audio amplifier (not shown) capable of amplifying an analog audio signal input through the audio input interface 210, or an audio signal to be output through the audio output interface 270, (E.g., a speaker amplification circuit).
  • the audio amplifier may be configured as a separate module from the audio module 170.
  • the electronic device can be various types of devices.
  • the electronic device can include, for example, at least one of a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device e.g., a smart phone
  • a computer device e.g., a laptop, a desktop, a smart phone
  • portable multimedia device e.g., a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a portable medical device
  • first component is "(functionally or communicatively) connected” or “connected” to another (second) component, May be connected directly to the component, or may be connected through another component (e.g., a third component).
  • module includes units comprised of hardware, software, or firmware and may be used interchangeably with terms such as, for example, logic, logic blocks, components, or circuits.
  • a module may be an integrally constructed component or a minimum unit or part thereof that performs one or more functions.
  • the module may be configured as an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may include instructions stored on a machine-readable storage medium (e.g., internal memory 136 or external memory 138) readable by a machine (e.g., a computer) Software (e.g., program 140).
  • the device may include an electronic device (e.g., electronic device 101) in accordance with the disclosed embodiments as an apparatus capable of calling stored instructions from the storage medium and operating according to the called instructions.
  • a processor e.g., processor 120
  • the processor may perform the function corresponding to the instruction, either directly or using other components under the control of the processor.
  • the instructions may include code generated or executed by the compiler or interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily on the storage medium.
  • the method according to various embodiments disclosed herein may be provided in a computer program product.
  • a computer program product can be traded between a seller and a buyer as a product.
  • a computer program product may be distributed in the form of a machine readable storage medium (eg, compact disc read only memory (CD-ROM)) or distributed online through an application store (eg PlayStore TM ).
  • an application store eg PlayStore TM
  • at least a portion of the computer program product may be temporarily stored, or temporarily created, on a storage medium such as a manufacturer's server, a server of an application store, or a memory of a relay server.
  • Each of the components may be comprised of a single entity or a plurality of entities, and some of the subcomponents described above may be omitted, or other subcomponents May be further included in various embodiments.
  • some components e.g., modules or programs
  • FIG 3 shows an example of the functional configuration of the electronic device 101 according to various embodiments.
  • nonlinear filter 303, linear filter 305, and audio filter (neural network) 307 may be included as a hardware module in the processor 120, or may be included as a software module.
  • the electronic device 101 may include the processor 120, an audio output module 309, an audio input module 311, and a memory 130.
  • the processor 120, the audio output module 309, the audio input module 311, and the memory 130 may be coupled together.
  • at least some of the processor 120, audio output module 309, audio input module 311, and memory 130 may be directly connected.
  • at least some of the processor 120 audio output module 309, the audio input module 311, and the memory 130 may be indirectly connected through other devices or circuits.
  • the processor 120 may include a nonlinear filter 303, a linear filter 305, and an audio filter (or neural network) 307.
  • the non-linear filter 303, the linear filter 305, and the audio filter (or neural network) 307 may be coupled to each other.
  • At least one of the nonlinear filter 303, the linear filter 305, and the audio filter (or neural network) 307 may be indirectly or directly connected to at least one of the audio output module 309, the audio input module 311, and the memory 130.
  • the processor 120 may be configured to execute instructions stored in the memory 130 to execute the functions of at least one component included in the electronic device 101.
  • the processor 120 may be configured to cause the audio output module 309 to execute the stored instructions to output an audio signal.
  • the processor 120 may be configured to cause the audio input module 311 to execute the stored instructions to receive an external audio signal.
  • the processor 120 may be configured to execute the stored instructions for processing the signal by the nonlinear filter 303, the linear filter 305, and the audio filter 307.
  • the processor 120 may receive an audio signal from the audio output module 309.
  • the audio signal may include a signal (e.g., an audio playback signal) generated by the electronic device 101 or a signal received from an external device (e.g., a voice signal received from another electronic device in a call).
  • the audio signal may comprise a signal received from another electronic device via a communication module 190 included in the electronic device 101.
  • the audio signal may comprise a signal transmitted from another electronic device in a wireless or wired communication environment.
  • the audio output module 309 may decode the received signal or the generated signal to the electronic device 101 through a decoder.
  • the decoded signal may comprise a form of a speech waveform.
  • the decoded signal may be a digital signal.
  • Information about the decoded signal may be stored in the memory 130 of the electronic device 101.
  • the audio output module 309 may buffer the decoded signal to compensate for a delay between the decoded signal and a signal to be received through the audio input module 311 in advance.
  • the audio signal may include the decoded signal.
  • the audio output module 309 may include at least a portion of a DAC 250, an audio output mixer 260, a sound output device 155, and / or an audio output interface 270.
  • the audio output module 309 can output (or reproduce) the audio signal through the audio output device 155 and / or the audio output interface 270.
  • the output audio signal may be a signal converted into an analog signal.
  • the output audio signal can be recognized through the user of the electronic device 101.
  • the audio input module 311 may include at least a portion of the ADC 230, the audio input mixer 220, the input device 150, and / or the audio input interface 210.
  • the audio input module 311 may perform various functions for receiving an audio signal from the outside and for identifying the received audio signal.
  • the audio input module 311 may receive at least a portion of the audio signal output via the audio output module 309 back to the electronic device 101.
  • a signal e.g., an external audio signal
  • received by the audio input module 311 may include a target signal (e.g., a user input audio signal).
  • the external audio signal may include an echo signal together with the target signal.
  • the echo signal may include an audio signal output through the audio output module 309.
  • the echo signal is converted into a nonlinear component (nonlinear signal) according to nonlinearity of the speaker, Linear component due to the nonlinearity of the microphone when input to the input module 311 (e.g., microphone).
  • the echo signal may also include a linear component.
  • the processor 120 may receive an audio signal from the audio output module 309. In some embodiments, the audio signal may be transmitted from the audio output module 309 to the non-linear filter 303. If the processor 120 includes a plurality of nonlinear filters, the audio signal may be transmitted from the audio output module 309 to each of the plurality of nonlinear filters.
  • the processor 120 may process the received audio signal based on the nonlinear filter 303, the linear filter 305, and / or the audio filter 307.
  • the nonlinear filter 303 may be a filter having a nonlinear attribute.
  • the linear filter 305 is a filter having a linear property.
  • the audio filter (or neural network) 307 may be a filter capable of performing neural network operations based on a neural network.
  • the processor 120 may use a non-linear filter 303 to non-linearly model (or filter) the audio signal received from the audio output module 309.
  • the processor 120 may nonlinearly model the audio signal based on the nonlinear property of the nonlinear filter 303.
  • the processor 120 may nonlinearly model the audio signal based on the nonlinear filter 303 to reflect the property of the nonlinear signal included in the audio signal.
  • the nonlinear modeled audio signal may include attributes of the nonlinear signal included in the audio signal.
  • the nonlinear filter 303 may be a functional configuration (aggregate or group) comprising at least one nonlinear filter.
  • the at least one non-linear filter may be a filter (associated with a non-linear property) for reflecting non-linear properties.
  • the at least one nonlinear filter included in the nonlinear filter 303 may each be associated with a different nonlinear property.
  • the nonlinear filter 303 may include a first filter and a second filter.
  • the first filter may be for a first attribute.
  • the second filter may be for a second attribute.
  • the processor 120 may linear model the nonlinear modeled audio signal to a second audio signal via the linear filter 305. [ The processor 120 may linearly model the audio signal to the second audio signal based on the linear property of the linear filter 305. [ The processor 120 may linearly model the audio signal to the second audio signal based on the linear filter 305 to reflect the property of the linear signal included in the audio signal.
  • the processor 120 when the processor 120 receives an external audio signal (e.g., a target signal and an echo signal) through the audio input module 311, the processor 120 generates an echo signal from the external audio signal based on the modeled audio signals described above So that only the target signal is included in the external audio signal.
  • the processor 120 may perform signal processing for removing an echo signal corresponding to the second audio signal from the external audio signal.
  • the second audio signal may be a signal modeled to reflect a non-linear property and a linear property of the external audio signal to the audio signal.
  • the second audio signal may include a nonlinear property of the echo component, based on the nonlinear filter 303.
  • the second audio signal may include a linear property of the echo component, based on the linear filter 305.
  • the processor 120 may neural network model the audio signal non-linearly modeled by the non-linear filter 303 with the third audio signal through the audio filter 307.
  • the audio filter 307 may be referred to as a " neuron ", " processing elements “, “ units “, or a node (or artificial node)
  • the nodes can be connected to form a network for mimicking a biological neural network.
  • the audio filter (or neural network) 307 can be coupled to a machine learning
  • the neural network operations may be referred to as deep-learning, machine learning, etc.
  • the processor 120 may be implemented as The audio filter 307 may update the audio filter 307 based on the input and the output of the audio filter 307.
  • the processor 120 may update the audio filter 307, (Non-linearity) of the audio signal to the third audio signal in real time.
  • the term filter may be referred to as a filtering unit, a filter unit, a modeling unit,
  • the nonlinear filter 303 may be referred to as a nonlinear filter portion
  • the linear filter 305 may be a linear layer
  • the audio filter 307 may be referred to as a neural network.
  • the processor 120 may process the external audio signal to remove an echo signal corresponding to the third audio signal from the external audio signal.
  • the third audio signal may be a nonlinear property reflected signal through the nonlinear filter 303 and the audio filter 307.
  • the processor 120 may remove an echo signal corresponding to the third audio signal from an external audio signal from which an echo signal corresponding to the second audio signal has been removed.
  • the processor 120 may transmit an external audio signal for the second audio signal and the third audio signal to another component in the electronic device 101.
  • the nonlinear filter 303, the linear filter 305, and / or the audio filter 307 may be included in other components within the electronic device 101.
  • the nonlinear filter 303, the linear filter 305, and / or the audio filter 307 may be included in the audio module 170 of FIG.
  • the nonlinear filter 303, the linear filter 305, and / or the audio filter 307 may be included as part of the audio signal processor 240 of FIG.
  • the nonlinear filter 303, the linear filter 305, and / or the audio filter 307 may be configured independently of the processor 120.
  • the electronic device 101 may include the audio input module 311, the audio output module 309, and the processor 120.
  • the processor 120 identifies a first audio signal to be output through the audio output module, and outputs the first signal processed with the first audio signal and the first signal processed using the first filter having the non- A second signal having the non-linear second property may be used to generate a second signal on which the first audio signal is processed.
  • the processor 120 may output the first audio signal through the audio output module 309 and may acquire an external audio signal including the first audio signal of the electronic device 101 through the audio input module 311.
  • the processor 120 may further include a first value of a first frequency of an audio filter 307 to which a first weight having a first nonlinear characteristic is applied to a magnitude value corresponding to a first frequency of the first signal and a magnitude value corresponding to the first frequency of the second signal, The first output value can be obtained through the input channel.
  • the processor 120 may be further adapted to determine a distinct value from the first weight having a magnitude value corresponding to a second frequency of the first signal and a magnitude value corresponding to the second frequency of the second signal, And obtain a second output value through the second input channel of the audio filter 307 to which the second weight is applied.
  • the processor 120 may include a magnitude value corresponding to the first frequency of the external audio signal, a first difference value between the first output value and a magnitude value corresponding to the second frequency of the external audio signal, Based on the second difference value between the first audio signal and the second audio signal.
  • the electronic device 101 may include the audio input module 311, the audio output module 309, the memory 130 for storing instructions, and at least one processor (e.g., processor 120).
  • the at least one processor is configured to output a first audio signal through the audio output module and to model the first audio signal based on a nonlinear property through a nonlinear filter 303, A first audio signal is modeled as a second audio signal based on a linear property through a linear filter 305 and a first audio signal modeled based on the nonlinear property is transmitted through a neural network 307 3 audio signal and receives an external audio signal associated with the first audio signal via the audio input module to process the received external audio signal based on the second audio signal and the third audio signal, And may be configured to execute the stored instructions.
  • FIG. 4 shows an example of a configuration of an electronic device for processing an external audio signal according to various embodiments.
  • the electronic device 101 may include an audio output module 309, an audio input module 311, and / or a processor 120.
  • the processor 120 may include a nonlinear filter 303, a linear filter 305, an audio filter 307, FFT units 405 and 407, and / or a RES 409.
  • the audio output module 309 may receive a signal.
  • the signal may include a signal generated based on the system of the electronic device 101, or may include a signal received from an external device.
  • the audio output module 309 may output the received signal.
  • the audio output module 309 may output the received signal through a speaker or an audio output device 155 or the like.
  • the received signal (hereinafter, an audio signal) may include a signal received from another electronic device via the communication module 190 included in the electronic device 101.
  • the audio signal may comprise a signal received from another electronic device in a wireless or wired communication environment.
  • the audio signal may include a signal associated with sound received from the other electronic device, ).
  • the audio signal may include a signal generated within the electronic device 101 based on the execution of at least one application included in the electronic device 101.
  • the electronic device 101 can reproduce a music file through a music application.
  • the audio signal may be a sound signal generated in the electronic device 101 based on the music file.
  • the audio signal may be a signal associated with the playback received via the network 199 based on playback of the music file.
  • the audio signal may comprise a signal received from the server 108 via the network 199.
  • the audio signal may include a signal associated with a sound for output via the audio output module 309, and may be referred to as various terms such as audio data, sound signal, sound data, or signal.
  • the electronic device 101 may receive an echo signal and / or a target signal through the audio input module 311.
  • the target signal may be a signal for the voice of the user of the electronic device 101.
  • the echo signal is a signal that is input to the audio input module 311 have.
  • the electronic device 101 may perform signal processing to transmit the received target signal to another electronic device.
  • the signal processing is a process for extracting and transmitting only the target signal by removing the echo signal from the input signal when the target signal and the echo signal are input (e.g., input signal) together through the audio input module 311 .
  • the echo signal may comprise the output audio signal.
  • the audio input module 311 can receive the output audio signal through the microphone.
  • the echo signal received through the audio input module 311 may include the non-linear signal.
  • the audio input module 311 may convert the received echo signal into a digital signal through an analog to digital converter (ADC) when the received echo signal is an analog signal.
  • ADC analog to digital converter
  • the converted digital signal may indicate in the form of a voice waveform.
  • the electronic device 101 may receive the audio signal output through the audio output module 309 via the audio input module 311.
  • the external audio signal may comprise a linear signal and / or a non-linear signal.
  • the linear signal may be a signal that can be represented by a linear waveform, that is, a signal that can be represented in a differentiable form.
  • the nonlinear signal may be generated during the output of the audio signal through the audio output module 309 or may be generated during the introduction of the external audio signal through the audio input module 311.
  • the nonlinear signal may be a signal having a nonlinear property.
  • the nonlinear signal may be a signal that can not be linearly expressed, i.e., a signal that can not be represented in a non-divisible form.
  • the nonlinear signal may be generated by the nonlinearity of the elements included in the electronic device 101 or may be generated by vibrations of the electronic device 101 and elements included in the electronic device 101.
  • the processor 120 may include an acoustic echo cancellation (AEC)
  • the external audio signal may be converted to a digital signal and transmitted to the processor 120.
  • the processor 120 may perform a process for removing an audio signal, which is an echo signal, from the external audio signal.
  • the AEC 403 may comprise the linear filter 305 and the nonlinear filter 303.
  • the AEC 403 may be a functional configuration for processing echo (or echo).
  • the AEC 403 can model (or filter) the received audio signal through the nonlinear filter 303.
  • the AEC 403 may receive the external audio signal from the audio input module 311.
  • the AEC 403 can process the external audio signal based on a signal processed through the nonlinear filter 303 and the linear filter 305. For example, the AEC 403 may remove the processed signal by the nonlinear filter 303 and the linear filter 305 in the external audio signal.
  • the AEC 403 may comprise a linear filter 305.
  • the AEC receives the audio signal from the audio output module 309 and can model it based on a linear property.
  • the AEC 403 may receive the external audio signal from the audio input module 311.
  • the AEC 403 may process the external audio signal to remove the modeled audio signal based on the linear property in the external audio signal.
  • the AEC 403 may remove the processed signal by the linear filter 305 in the external audio signal.
  • the processor 120 may perform processing to remove signals generated based on the nonlinear filter 303 and the audio filter 307 on the signal processed through the AEC 403.
  • the AEC may update the linear filter 305 and the nonlinear filter 303 based on a signal input through the path 401 and / or an output signal.
  • the AEC 403 can nonlinearly model the received audio signal through the nonlinear filter 303.
  • the AEC 403 can linearly model the nonlinear modeled audio signal through the linear filter 305.
  • the linear modeled audio signal may be referred to as a second audio signal.
  • the AEC 403 may receive the external audio signal through the audio input module 311.
  • the AEC 403 may process the external audio signal to remove the second audio signal from the received external audio signal.
  • the audio output module 309 may transmit the audio signal to the nonlinear filter 303.
  • the nonlinear filter 303 may model the received audio signal.
  • the nonlinear filter 303 may model the received audio signal based on non-linear properties.
  • the nonlinear filter 303 may include a filter associated with the sigmoid function.
  • the processor 120 may include a sigmoid function associated with the nonlinear filter 303 such that the signal output through the audio output module 309 and the output signal are input via the audio input module 311 May be identified or predetermined based on the signal.
  • the sigmoid function may include nonlinear attributes.
  • the processor 120 may estimate and update parameters of the sigmoid function in real time based on the output and the signals input. The processor 120 may update the parameters of the sigmoid function in real time based on various algorithms.
  • the nonlinear attributes associated with the external audio signal may be related to the frequency band, the gain of the output signal, and / or the mounting state of the elements (e.g., microphones, speakers, etc.) It can be varied in various ways.
  • the electronic device 101 may model various, variable nonlinear attributes based on a plurality of sigmoid functions.
  • the processor 120 may send a signal modeled through the nonlinear filter 303 to the linear filter 305 and the audio filter 307.
  • the nonlinear filter 303 may model the received audio signal based on the non-linear property.
  • the nonlinear filter 303 can transmit the modeled audio signal (hereinafter, nonlinear modeled signal) to the linear filter 305 and the audio filter 307.
  • the nonlinear filter 303 may comprise a plurality of nonlinear filters.
  • the plurality of nonlinear filters may each include a different nonlinear property.
  • the nonlinear filter 303 may include a first filter and a second filter.
  • the first filter may comprise a first property of nonlinearity.
  • the second filter may include a non-linear second attribute that is distinct from the first attribute.
  • the nonlinear filter 303 may be a filter associated with a sigmoid function and may indicate various nonlinear attributes through the sigmoid function.
  • each of a plurality of sigmoid functions having different parameters (or coefficients) may have different non-linear properties.
  • the sigmoid function may be represented by an S-shaped curve on the graph. A detailed description thereof will be given later with reference to FIG.
  • the nonlinear filter 303 may model the signal based on the sigmoid function.
  • the nonlinear filter 303 may reflect nonlinear properties (characteristics or characteristics) in the input signal based on the sigmoid function.
  • the input signal may be nonlinearly modeled based on the nonlinear filter 303.
  • the nonlinear filter 303 may comprise a plurality of nonlinear filters. Each of the plurality of nonlinear filters may include different nonlinear attributes.
  • the nonlinear filter 303 may input the received audio signal to each of the plurality of nonlinear filters.
  • the nonlinear filter 303 may reflect different nonlinear properties of the received audio signal through the plurality of nonlinear filters.
  • the nonlinear filter 303 may model an audio signal received from the audio output module 309 and then transmit the modeled audio signal to the linear filter 305 and the audio filter 307.
  • the nonlinear filter 303 when the nonlinear filter 303 includes a plurality of nonlinear filters, the nonlinear filter 303 converts the first signal reflecting the first property and the second signal reflecting the second property into the linear filter 305 .
  • the nonlinear filter may transmit the first signal reflecting the first property and the second signal reflecting the second property to the audio filter 307.
  • the linear filter 305 may receive a signal with non-linear properties reflected.
  • the linear filter 305 may model the received signal based on a linear property.
  • the received signal through the linear filter 305 may include a linear property.
  • the linear filter 305 may be an adaptive filter having a linear property.
  • the adaptive filter may be adaptively updated (refined or updated) based on the input value and the output value. Based on the update, the adaptive filter may adaptively model the received signal.
  • the linear filter 305 may receive the audio signal from the audio output module 309 to model the audio signal.
  • the linear filter 305 may include a linear property and may perform modeling related to a linear signal included in the external audio signal.
  • the linear filter 305 may model the received audio signal by reflecting the linear property.
  • the linear filter 305 may receive a signal modeled by a plurality of sigmoid functions.
  • the modeling process e.g., normalized least mean square (NLMS) filtering
  • the length of the linear filter may be N times longer than modeling for one signal.
  • the amount of computation of the electronic device 101 can be increased in proportion to the number of signals received in the linear filter 305 and / or the length of the linear filter 305.
  • the linear filter 305 may selectively utilize at least some of the received signals. For example, when the linear filter 305 receives N signals, the linear filter 305 can selectively use a signal for one sigmoid function exhibiting the best performance.
  • the signals for the plurality of sigmoid functions can be used to remove echoes on the frequency axis.
  • the amount of computation of the electronic device 101 related to the number of input signals on the frequency axis may be smaller than the amount of computation of the electronic device 101 related to the number of signals input on the time axis.
  • the processor 120 may reduce the amount of computation by performing an operation related to the signal on the multiplication of the frequency axis. In some embodiments, the processor 120 may reduce the amount of computation using algorithms associated with FFT (Fast Fourier Transform).
  • FFT Fast Fourier Transform
  • the FFT units 405 and 407 may comprise a configuration for performing the FFT and / or Fourier transform.
  • the FFT and / or the Fourier transform may be a method of converting a signal on a time axis (or domain, domain) into a frequency axis to analyze the signal.
  • the FFT unit 407 may convert the nonlinear modeled signal from the time axis to the frequency axis.
  • the FFT unit 405 may convert an external audio signal from which the second audio signal is removed from a time axis to a frequency axis.
  • the transformed signal based on the FFT may be separated based on N (any number) frequencies.
  • a first signal may be decomposed into a first signal for a first frequency and a first signal for a second frequency via the FFT.
  • the signal on the FFT-transformed frequency axis may be divided into N ranges, each of which may range from a first frequency to an Nth frequency.
  • the processor 120 may use the output for two or more non-linear filters (sigmoid functions) as input to the audio filter 307 (e.g., non-linear echo magnitude regression).
  • the processor 120 may perform an FFT by the number of the nonlinear filters.
  • the FFT may be implemented with a smaller amount of computation than an operation (e.g., NLMS computation) associated with the linear filter 305.
  • the audio filter 307 may comprise a filter capable of neural network or neural network operations.
  • the audio filter 307 may neural network model the received signal based on the frequency axis.
  • the audio filter 307 can perform neural network modeling on the frequency-converted signal by the FFT unit 407.
  • the audio filter 307 may include nonlinear attributes. Based on the non-linear property, the audio filter 307 may neural network model the received signal. The neural network modeled signal through the audio filter 307 may be referred to as a third audio signal.
  • the audio filter 307 may be updated in real time based on input values and output values.
  • the audio filter 307 may include predetermined or predefined learning data. The learning data may be determined based on an input value and an output value of the audio filter 307. Based on the information on the learning data, the audio filter 307 can determine an error with respect to the output value. Based on the error, the audio filter 307 may be updated in real time. The audio filter 307 may be updated by passing the error from the output layer to the input layer.
  • the audio filter 307 may include a weight. The weight may be updated based on the determined error. Based on the updating of the weights, the audio filter 307 may be updated in real time.
  • the processor 120 may be configured to receive, through the FFT unit 405, a signal that has been processed for the second audio signal (hereinafter referred to as a first processed signal), a signal corresponding to the third audio signal , It is possible to convert from the time axis to the frequency axis.
  • the processor 120 may classify the primary processed signal converted into the frequency axis signal by frequency. For example, the processor 120 may divide the primary processed signal into N signals for N frequencies.
  • the processor 120 may perform a process for removing an echo signal corresponding to the third audio signal from the first processed signal classified by the N frequencies.
  • the processor 120 may determine the primary processed signal as a primary processed signal for the first frequency and a primary processed signal for the second frequency.
  • the third audio signal may include an output value for the first frequency and an output value for the second frequency.
  • the processor 120 may remove a signal corresponding to the output value for the first frequency included in the third audio signal from the first processed signal for the first frequency.
  • the processor 120 may remove a signal corresponding to the output value for the second frequency included in the third audio signal from the first processed signal for the second frequency.
  • the processor 120 may transmit a processed signal for removing the third audio signal to a residual echo suppression (RES) 409 for removing the residual echo signal.
  • RES residual echo suppression
  • NS noise suppression
  • the processor 120 may remove the residual external audio signal through the RES and / or NS when the echo signal remains in the external audio signal.
  • acoustic echo cancellation includes a linear filter 305 portion for removing the linear signal and a portion for removing the non-linear signal on the frequency axis (e.g., nonlinear filter 303 and audio filter 307) can do.
  • the remaining residual echo signal may be passed from the AEC to noise suppression (NS) and / or residual noise suppression (RES) to be removed.
  • NS noise suppression
  • RES residual noise suppression
  • the RES 409 and the NS may be included in or separate from the processor 120. In some embodiments, the RES 409 and the NS may be included in other components of the electronic device 101. For example, the RES 409 and the NS may be included in the audio module 170 of FIG. For example, the RES 409 and the NS may be included as part of the audio signal processor 240 of FIG.
  • Operations performed by the linear filter 305, the nonlinear filter 303, the FFTs 405 and 407, the audio filter 307, and the AEC 403 described with reference to FIG. 4 may be performed by the processor 120. In some embodiments, the operations may be performed by the processor 120 that is configured to execute the instructions stored in the memory 130.
  • FIG 5 shows another example of the configuration of an electronic device for processing an external audio signal according to various embodiments.
  • the processor 120 includes the nonlinear filter 303, the linear filter 305, the FFT units 405, 407-1, and 407-2 including the first filter 303-1 and the second filter 303-2,
  • the audio filter 307, and the RES 411. 5 may include a redundant configuration (e.g., the audio output module 309, the audio input module 311, and the RES 411) with reference to FIG. A description related to the overlapping configuration can be referred to FIG.
  • the nonlinear filter 303 may comprise a plurality of nonlinear filters having nonlinear properties.
  • the audio output module 309 may transmit the audio signal to each of the plurality of nonlinear filters.
  • the audio output module 309 may transmit the audio signal to the nonlinear filter 303.
  • the nonlinear filter 303 can transmit the audio signal to each of a plurality of nonlinear filters.
  • the non-linear filter 303 may model the received audio signal using at least two filters to model the audio signal among the plurality of filters. In one embodiment, the at least two filters may be predetermined by the processor 120.
  • the nonlinear filter 303 may include a first filter 303-1 having a first nonlinear property and a second filter 303-2 having a second nonlinear property.
  • the first property and the second property may be separated by a parameter for the nonlinear filter 303.
  • the coefficient (or parameter) of the sigmoid function for the first attribute and the coefficient (or parameter) of the sigmoid function for the second attribute may be different.
  • the audio signal may reflect non-linear properties of the device (e.g., speaker or microphone, etc.) via the sigmoid function.
  • the parameters of the sigmoid function may be predetermined based on the signal associated with the device. In some embodiments, the parameters of the sigmoid function may be estimated in real time through the processor 101.
  • the nonlinear filter 303 may model the received audio signal as a first signal based on the first property by the first filter.
  • the nonlinear filter 303 may model the received audio signal as a second signal based on the second property by the second filter.
  • the linear filter 305 may receive a plurality of signals from the nonlinear filter 303.
  • the linear filter 305 may receive the first signal and the second signal from the nonlinear filter 303.
  • the signal modeled through the nonlinear filter 303 may be used as a reference echo reference signal of the linear filter 305.
  • the linear filter 305 may correspond to an adaptive filter to which at least one algorithm of normalized least mean square (NLMS), affine projection (AP), and / or recursive least square (RLS) is applied.
  • NLMS normalized least mean square
  • AP affine projection
  • RLS recursive least square
  • the linear filter 305 may model the plurality of signals as signals that reflect a linear property on the received plurality of signals.
  • the linear filter 305 may model the first signal and the second signal based on the linear property of the linear filter 305.
  • the processor 120 may transmit at least some of the plurality of signals modeled through the nonlinear filter 303 to the linear filter 305.
  • the linear filter 305 may be modeled (e.g., NLMS modeling) for the linear filter 305 on a time axis, with the signal modeled by a plurality of sigmoid functions as input.
  • the NLMS modeling may correspond to signal processing of a general adaptive filter.
  • the length of the linear filter may be N times longer than modeling for one signal.
  • the amount of computation of the electronic device 101 can be increased in proportion to the number of signals received in the linear filter 305 and / or the length of the linear filter 305.
  • the linear filter 305 may selectively utilize at least some of the received signals. For example, when the linear filter 305 receives N signals, the linear filter 305 can selectively use a signal for one sigmoid function exhibiting the best performance.
  • the linear filter 305 may model a selected signal based on a linear property.
  • the processor 120 may convert the first signal modeled through the first filter 303-1 to the frequency axis in the time axis, based on the FFT unit 407-1. Based on the FFT unit 407-2, the processor 120 may convert the second signal modeled through the second filter 303-2 into the frequency axis on the time axis.
  • the nonlinear attributes associated with the external audio signal may be related to the frequency band, the gain of the output signal, and / or the mounting state of the elements (e.g., microphones, speakers, etc.) It can be varied in various ways.
  • the electronic device 101 may model various, variable nonlinear attributes based on a plurality of sigmoid functions.
  • the processor 120 may divide the first signal converted based on the FFT unit 407-1 and the second signal converted based on the FFT unit 407-2 into frequencies.
  • the first signal and the second signal may be divided into a value for a first frequency and a value for a second frequency, respectively.
  • the processor 120 is configured to divide the divided first signal (a value for the first frequency of the first signal and a value for the second frequency of the first signal) and a divided second signal And a value for the second frequency of the second signal) to the audio filter 307.
  • the audio filter 307 may comprise a plurality of audio filters.
  • the number of the plurality of audio filters may correspond to the number (N) of the separated frequencies.
  • the audio filter 307 may include N audio filters.
  • the audio filter 307 may include a first audio filter for a first frequency and a second audio filter for a second frequency.
  • the processor 120 may send a value for the first frequency of the first signal and a value for the first frequency of the second signal to the first audio filter associated with the first frequency.
  • the processor 120 may send a value for the second frequency of the first signal and a value for the second frequency of the second signal to the second audio filter associated with the second frequency.
  • the delineated frequency may be referred to as a frequency bin.
  • the first frequency may be referred to as a first frequency bin.
  • the audio filter 307 may include a plurality of nodes on which input and / or output are performed, and the plurality of nodes may be connected based on a layer.
  • the layer may comprise an input layer, a hidden layer, and an output layer.
  • the input layer and the output layer may be connected to each other with the hidden layer therebetween.
  • Each of the layers may comprise one or more nodes.
  • the audio filter 307 includes an input layer (a node portion, a node layer, a filter portion or a filter layer), a concealing layer (a node portion, a node layer, a filter portion, or a filter layer), and / A node layer, a filter portion, or a filter layer).
  • the input layer, the hidden layer, and the output layer may be sequentially connected.
  • the input layer may comprise a plurality of input nodes.
  • the hidden layer may include at least one hidden node.
  • the output layer may include at least one output node.
  • the plurality of input nodes may be coupled to the at least one hidden node.
  • the at least one hidden node may be coupled to the at least one output node.
  • the nonlinear modeled audio signal may be transmitted to each of a plurality of input nodes.
  • the nonlinear modeled signals transmitted to each input node may be modeled based on the connection between the input layer, the hidden layer, and / or the output layer included in the audio filter 307.
  • the audio filter 307 may include weights (or parameters). The weights may be adjusted based on the algorithm of the audio filter 307. The weights may be a value determined based on a non-linear function (e.g., sigmoid function, ReLU (rectified linear unit) function, etc.). (Here, the nonlinear function may be a function different from the nonlinear function applied to the nonlinear filter.) Based on the weights, the audio filter 307 may reflect the nonlinear property to the input value. For example, the audio filter 307 may approximate non-linear functions on the input values. In some embodiments, the weight may be related to the strength of the connection between nodes included in the neural network.
  • a non-linear function e.g., sigmoid function, ReLU (rectified linear unit) function, etc.
  • the audio filter 307 may reflect the nonlinear property to the input value. For example, the audio filter 307 may approximate non-linear functions on the input values.
  • the weight may be related to the strength
  • the weights of the audio filter 307 may be updated. Based on the updates of the weights, the audio filter 307 may be updated in real time.
  • the audio filter 307 may comprise a plurality of filters. If the audio filter 307 includes a plurality of weights for each of the plurality of filters, the updated weights may be updated based on the updating of the plurality of weights.
  • the weight may be a functional expression for indicating the plurality of weights.
  • the audio filter 307 may be updated based on a value input to the audio filter 307 and a value output based on the audio filter 307.
  • the audio filter 307 may be updated based on backpropagation (or error propagation method).
  • the output layer may be coupled to the hidden layer based on a weight (or connection weight).
  • the weight may be updated based on an error transmitted from the output layer to the hidden layer.
  • the audio filter 307 can transmit the error transmitted to the hidden layer to the input layer via the hidden layer.
  • the input layer may be coupled to the hidden layer based on another weight.
  • the other weight may be updated based on an error transmitted to the input layer via the hidden layer. Based on the error to be updated, the audio filter 307 can be updated in real time and / or continuously.
  • the processor 120 may determine learning data based on the input value and the output value. Based on the determined learning data, the processor 120 can determine the error by comparing the output data actually output with the learning data. Based on the error, the processor 120 may update the weight. In another embodiment, the processor 120 may send an error to the input layer from the output layer. For example, the processor 120 may compare the determined learning value with the determined output value in response to determining the output value. The processor 120 may determine an error of the processor 120 based on the comparison. The processor 120 may transmit the error from the output layer to the hidden layer. Based on the transmission, the processor 120 may update the audio filter 307.
  • the first audio filter 501 may receive values for the first frequency.
  • the first audio filter 501 may include a plurality of input nodes (or filters) 503-1 and 503-2. Through the plurality of input nodes 503-1 and 503-2, the first audio filter 501 can receive a plurality of signals.
  • the first signal and the second signal may be transmitted to an output node (or filter) 507 via a plurality of hidden nodes (or filters) 505-1 and 505-2.
  • the audio filter 307 can determine a first output value.
  • the first audio filter 501 may receive a plurality of signals.
  • the second audio filter 502 may also have the same configuration as the first audio filter 501. A related description will be described later with reference to Figs. 8A and 8B.
  • the first audio filter 501 may include nonlinear attributes.
  • the first audio filter 501 may model a value for the first frequency of the received first signal and a value for the first frequency of the second signal based on the attributes of the first audio filter 501.
  • the first audio filter 501 may determine the first output value through the modeling.
  • the configuration and / or operation of the second audio filter may correspond to the first audio filter 501.
  • the processor 120 may determine the signal modeled through the linear filter 305 as a second audio signal.
  • the processor 120 may process the received external audio signal through the audio input module 311 based on the second audio signal.
  • the processor 120 may remove an echo signal corresponding to the second audio signal from the received external audio signal.
  • the processor 120 may convert the processed external audio signal to the frequency axis in the time axis.
  • the processor 120 may decompose the processed external audio signal converted into the frequency axis by frequency.
  • the processor 120 may decompose the processed external audio signal according to the number of frequencies. For example, if the number of frequencies is two, the processed external audio signal may be divided into signals for two frequencies.
  • the processor 120 may process the external audio signal by the identified frequency. For example, the processor 120 may process the external audio signal corresponding to the first frequency based on the first output value. The processor 120 may process the external audio signal corresponding to the second frequency based on the second output value. Each of the processed external audio signals may be transmitted to the RES 409.
  • the processor 120 processes the processed external audio signals based on the first output value and the second output value through the RES 409 to remove residual echo signals remaining in the external audio signal .
  • FIG 6 illustrates an example of the operation of an electronic device for processing an external audio signal in accordance with various embodiments.
  • the processor 120 may identify a first audio signal to be output via the audio output module 309.
  • the first audio signal may comprise a signal transmitted to the electronic device 101 from another electronic device.
  • the first audio signal may include a voice signal received from the other electronic device during a call between the electronic device 101 and the other electronic device.
  • the first audio signal may comprise an audio signal generated in the electronic device 101.
  • the first audio signal may include an audio signal generated by an application associated with the music contained in the electronic device 101.
  • the first audio signal may include an audio signal generated by an application associated with the music contained in the electronic device 101.
  • the processor 120 may output the first audio signal through the audio output module 309 and generate a first signal and a second signal.
  • the processor 120 outputs the audio signal received by the audio output module 309 through a speaker or the like, and outputs a plurality of non-linear filters included in the processor 120 (e.g., a first filter 303- 1 and the second filter 303-2) may be used to generate a first signal based on the first audio signal and a second signal based on the first audio signal.
  • the processor 120 uses the first filter 303-1, which includes a non-linear first attribute
  • the second filter 303-2 which includes a non-linear second attribute, Can be processed.
  • the processor 120 may generate the first signal through the first filter 303-1 and generate the second signal through the second filter 303-2.
  • the first filter may reflect the nonlinear first property to the first audio signal and the second filter may reflect the nonlinear second property to the first audio signal.
  • the processor 120 may obtain the first output value and the second output value through the audio filter 307.
  • the processor 120 may convert the first signal and the second signal from the time axis to the frequency axis.
  • the signal converted into the frequency axis may have a value indicating the magnitude of the signal corresponding to each frequency.
  • the first signal may include a magnitude value for the first frequency and a magnitude value for the second frequency.
  • the second signal may include a magnitude value for the first frequency and a magnitude value for the second frequency.
  • the processor 120 converts the magnitude value for the second frequency of the first signal and the magnitude value for the second frequency of the second signal to a second weighted audio filter (corresponding to the second audio filter 502 of FIG. 5) And the second output value can be determined.
  • the first weight and the second weight may be updated in real time based on a method (e.g., error back propagation method) for reflecting the error associated with the audio filter. Based on the update, the processor 120 can ensure accuracy with respect to the first output value and the second output value, and can be helpful in an adaptive environment.
  • the processor 120 may obtain an external audio signal including the output first audio signal through the audio input module 311.
  • the external audio signal may further include a non-linear signal.
  • the non-linear signal may be generated by the speaker (or audio output device 155) while the first audio signal is output through the audio output module 309. [
  • the non-linear signal may be generated by the microphone while the external audio signal is acquired through the audio input module 309. [
  • the processor 120 generates a second audio signal based on the external audio signal, a first difference value for the first output value, and a second difference value for the external audio signal and the second output value Can be generated.
  • the first difference value may be a difference in magnitude value corresponding to the first frequency of the external audio signal and an echo signal corresponding to the first output value included in the external audio signal.
  • the second difference value may be a difference in magnitude value corresponding to the second frequency of the external audio signal and an echo signal corresponding to the second output value included in the external audio signal.
  • the processor 120 generates the second audio signal that includes the first difference value as a magnitude value for the first frequency and the second difference value as a magnitude value for the second frequency .
  • the second audio signal may be a signal in which at least a portion of the echo signal is removed based on the signal corresponding to the first output value and the signal corresponding to the second output value in the external audio signal .
  • the second audio signal may be transmitted by the processor 120 to the NS and / or RES so that at least another portion (e. G., Residual echo signal) of the echo signal in the second audio signal may be removed.
  • Figure 7 illustrates an example of the operation of an electronic device for modeling an audio signal based on a plurality of nonlinear filters in accordance with various embodiments.
  • FIG. 7 shows the operation 603 of FIG. 6 in more detail.
  • the processor 120 may determine the first filter and / or the second filter among the plurality of nonlinear filters.
  • the processor 120 may measure a nonlinear signal associated with the speaker and / or the microphone to determine a nonlinear function (e.g., a sigmoid function) in advance or in real time.
  • the processor 120 may determine a filter corresponding to the determined sigmoid function among the plurality of nonlinear filters as the first filter and / or the second filter.
  • the first filter may comprise a first property of non-linearity.
  • the second filter may include a second property of non-linearity.
  • the processor 120 may non-linearly model the first audio signal to the first signal based on the first filter.
  • the first signal may comprise the nonlinear first attribute.
  • the processor 120 may nonlinearly model the first audio signal as the second signal based on the second filter.
  • the second signal may include the non-linear second property.
  • the processor 120 may output the first audio signal through the audio output module 309.
  • the processor 120 may output the first audio signal through the speaker included in the audio output module 309.
  • the operation 701 to the operation 705 are not limited to the above-described sequence (or the following relationship), and the operation 701 to the operation 705 may be performed sequentially or in parallel, or may be performed according to another posterior relationship.
  • 8A illustrates an example of an operation for modeling an audio signal using an audio filter included in an electronic device according to various embodiments. 8A more specifically illustrates operation 605 of FIG.
  • the processor 120 may model the first signal and the second signal generated based on operation 603 of FIG. 6 with respect to the frequency axis.
  • the first signal and the second signal may be signals represented on a time axis.
  • the processor 120 may convert the first signal and the second signal from the time axis to the frequency axis.
  • the first signal and the second signal changed to the frequency axis may have a specific value for a specific frequency.
  • the first signal may comprise a designated value (or magnitude value) of the magnitude of the signal at the first frequency.
  • the second signal may include another specified value (or magnitude value) for the magnitude of the signal at the first frequency.
  • the processor 120 may determine a value associated with the first frequency and a value associated with the second frequency within the first signal and the second signal, respectively.
  • the first signal and the second signal converted into the frequency axis may include corresponding values for each frequency.
  • the processor 120 may determine a value for the first frequency of the first signal.
  • the processor 120 may determine a value for the first frequency of the second signal.
  • the processor 120 may determine a value for the second frequency of the first signal.
  • the processor 120 may determine a value for the second frequency of the second signal.
  • the processor 120 may determine a first output value and a second output value.
  • the processor 120 may determine the first output value via the first neural network and the second output value through the second neural network.
  • the first neural network may be a filter for performing neural network operations on values associated with the first frequency.
  • the second neural network may be a filter for performing neural network operations on values associated with the second frequency.
  • the first neural network may correspond to the first audio filter, and the second neural network may correspond to the second audio filter.
  • the processor 120 may model a value for the first frequency of the first signal and a value for the first frequency of the second signal based on the first neural network.
  • the processor 120 may model a value for the second frequency of the first signal and a value for the second frequency of the second signal based on the second neural network.
  • the processor 120 may determine signals associated with the first frequency to be input to a first neural network.
  • the processor 120 may model signals associated with the first frequency through the first neural network.
  • the processor 120 may determine the first output value based on the modeling.
  • the processor 120 may determine the first output value based on nonlinear attributes included in the first neural network.
  • the processor 120 may determine signals associated with the second frequency to be input to a second neural network.
  • the processor 120 may model signals associated with the second frequency through the second neural network.
  • the processor 120 may determine the second output value based on the modeling.
  • the processor 120 may determine the second output value based on a non-linear property included in the second neural network.
  • 8B shows an example of the configuration of an audio filter included in an electronic device according to various embodiments.
  • FIG. 8B illustrates an embodiment of the first neural network 501 (e.g., the first audio filter 501) and the second neural network 502 (e.g., the second audio filter 502) An example can be shown.
  • the neural network may be used for the removal of the residual non-linear echo signal in the frequency axis.
  • the first neural network 501 and the second neural network 502 may be referred to as the first audio filter 501 and the second audio filter 502, respectively.
  • the audio filter (or neural network) 307 may be software for implementing algorithms useful in machine learning.
  • the audio filter 307 may be useful in an adaptive environment.
  • the audio filter 307 may include nodes (or artificial nodes) known as " Neurons ", “ processing elements “, “ units “, or similar or equivalent terms
  • the nodes may be connected to form a network that mimics a biological neural network.
  • the neural network may be implemented by a plurality of nodes and may be divided into a plurality of layers (e.g., input layer 815, hidden layer 817, output layer 819).
  • the hidden layer 817 is included between the input node of the input layer 815 and the output node of the output layer 819, and may be composed of one or more layers (e.g., two hidden layers).
  • the neural network can be divided into a plurality of subnetworks (e.g., first neural network 501, second neural network 502).
  • a plurality of subnetworks e.g., first neural network 501, second neural network 502.
  • an FFT operation is added as many as the number of output signals of the nonlinear filters associated with the sigmoid function used in the nonlinear modeling, and the number of frequency units (e.g., frequency bins)
  • Neural networks can be distinguished.
  • two nonlinear filters are used, two subnetworks (e.g., a first neural network, a second neural network) may be constructed.
  • 8B illustrates an example in which two sub-neural networks are implemented.
  • the neural network may be divided into sub-neural networks and modeled for input values based on the corresponding sub-neural networks for each frequency.
  • the concealing layer 817 between the input layer 815 and the output layer 819 may be implemented by excluding the concealing layer 817 or using one or more layers in consideration of the amount of computation and the memory aspect. For example, if the number of layers other than the input layer 815 and the hidden layer 817 is zero, it is called a shallow neural network (or a neural network), and if more than one layer is a deep neural network (or a deep layer / In this example, modeling performance can be maintained and the amount of computation can be reduced by using one hidden layer.
  • the sub-neural network is classified according to a plurality of frequency bins (N) classified by the FFT operation, and the number of hidden nodes of the hidden layer is reduced to minimize the number of nodes and connections between the nodes ,
  • N frequency bins
  • the first neural network may comprise a plurality of nodes 503-1, 503-2, 505-1, 505-2, 507.
  • the plurality of filters may be sequentially layered.
  • the layer may include an input layer (or a node portion, a node layer, a filter portion or a filter layer) 815, a hidden layer 817, and an output layer 819.
  • the input layer 815 and the output layer 819 can be connected to each other with the hidden layer 817 therebetween.
  • the layer may include one or more nodes (e.g., input nodes, hidden nodes, and / or output nodes).
  • the input layer 815 may include a plurality of input nodes.
  • the hidden layer 817 may include at least one hidden node.
  • the output layer 819 may include at least one output node.
  • the first neural network may include a first weight.
  • each node included in the first neural network may include a respective weight.
  • the first weight may be a functional representation for indicating an average weight applied to the first neural network based on the respective weights for the respective nodes.
  • the first neural network includes two input nodes 503-1 and 503-2, two hidden nodes 505-1 and 505-2, 507 < / RTI >
  • the processor 120 may input a value 807 for the first frequency of the first signal to the input node 503-1.
  • the processor 120 may input a value 809 for the first frequency of the second signal to the input node 503-1.
  • the input nodes 503-1 and 503-2 can perform operations on the received signals and output signals.
  • the processor 120 transmits a signal output through the input node 503-1 and a signal output through the input node 503-2 to the input of the hidden nodes 505-1 and 505-2 .
  • the hidden nodes may each perform an operation on a received signal and output a signal.
  • the processor 120 may determine a signal output through the hidden nodes as an input to the output node 507. [
  • the output node 507 may perform an operation on the input signal to determine a first output value.
  • the processor 120 may improve the error associated with the first neural network. To improve the error, the processor 120 may update the first weight of the first neural network. Corresponding to the updating of the first weight, the one neural network may be updated. According to an embodiment, the processor 120 may determine learning data based on a value input through the input layer 815 and a value output through the output layer 819. The learning data may be used as a criterion for determining an error with respect to an output value of the first neural network. For example, based on the determined training data, the processor 120 may compare the determined training data with the first output value. Based on the comparison, the processor 120 may determine the error. In some embodiments, the processor 120 may update the first neural network based on an error backpropagation.
  • the first weight may include respective weights associated with the input layer 815 and the hidden layer 817. Based on the updates of the weights, the first weight may be updated.
  • the processor 120 may transmit an error from the output layer 819 to the hidden layer 817. [ The processor 120 may update a weight associated with the hidden layer 817 based on the error. The processor 120 may transmit an error to the input layer 815 from the hidden layer 817. [ The processor 120 may update a weight associated with the input layer 815 based on the error.
  • the output layer 819 may be coupled to the hidden layer 817 based on a weight (or connection weight).
  • the weight may be updated based on an error transmitted from the output layer 819 to the hidden layer 817.
  • the audio filter 307 can transmit an error to the hidden layer through the hidden layer 817 to the input layer 815.
  • the input layer may be coupled to the hidden layer 817 based on another weight.
  • the other weight may be updated based on an error transmitted to the input layer via the hidden layer 817. [ Based on the error to be updated, the audio filter 307 can be updated in real time and / or continuously.
  • the second neural network 502 may be a configuration corresponding to the first neural network 501. Based on the above configuration, the second neural network 502 may receive a value 811 for the second frequency of the first signal and a value 813 for the second frequency of the second signal. The second neural network 502 may model a value 811 for the second frequency of the received first signal and a value 813 for the second frequency of the second signal.
  • the audio filter 307 may further include at least one other neural network corresponding to the structure of the first neural network 501 and the second neural network 502.
  • the number of neural networks included in the audio filter 307 is not limited to the above example.
  • FIG 9 shows another example of the operation of an electronic device for processing an external audio signal according to various embodiments.
  • the processor 120 may output a first audio signal.
  • the processor 120 may receive the first audio signal from another electronic device and output the first audio signal to the outside of the electronic device 101.
  • the processor 120 may nonlinearly model the first audio signal.
  • the processor 120 may model the first audio signal to reflect nonlinear attributes.
  • the processor 120 may model the first audio signal as a signal having a non-linear first attribute and a non-linear second attribute.
  • the processor 120 may linearly model the nonlinear modeled first audio signal into a second audio signal.
  • the processor 120 may generate the second audio signal based on the signal having the first nonlinear property (hereinafter referred to as a first signal) and the signal having the second nonlinear property (hereinafter referred to as a second signal) Can be generated.
  • the second audio signal may include a linear property.
  • the second audio signal may include both a non-linear residual property (residual non-linear property not reflected in the non-linear modeling) and a linear property.
  • the processor 120 may model the nonlinear modeled first audio signal as a third audio signal.
  • the processor 120 may model the nonlinear modeled first audio signal as a third audio signal for removing nonlinear echo from the external audio signal based on neural network operations.
  • the nonlinear modeled first audio signal may be a signal for a time axis.
  • the processor 120 may convert the nonlinear modeled first audio signal from the time axis to the frequency axis.
  • the processor 120 may classify the first audio signal converted into the frequency axis into frequency-dependent (or frequency-based, frequency-domain) frequencies. For example, it may be divided into a magnitude value for the first frequency and a magnitude value for the second frequency.
  • the processor 120 may process the first audio signal classified according to the frequency based on the neural network associated with each frequency. In one embodiment, the neural network operations that are separated by frequency may be independent of each other.
  • the first audio signal may comprise the first signal and the second signal.
  • the processor 120 may convert the first signal and the second signal from the time axis to the frequency axis.
  • the processor 120 may divide the frequency-converted first signal and the second signal by frequency.
  • the processor 120 may process the first signal classified by frequency and the second signal classified according to frequency based on a neural network related to each frequency.
  • the processor 120 may receive an external audio signal.
  • the external audio signal may include the first audio signal output in operation 901.
  • the external audio signal may include a non-linear signal (a signal to be removed) generated based on the elements (e.g., a speaker, a microphone) included in the electronic device 101.
  • the processor 120 may process the external audio signal using the second audio signal and the third audio signal.
  • the processor 120 may perform processing for removing the second audio signal from the external audio signal.
  • the processor 120 may perform processing for removing the third audio signal from the external audio signal.
  • the processor 120 subtracts the echo signal corresponding to the second audio signal and the echo signal corresponding to the third audio signal from the external audio signal, and outputs only the target signal can do.
  • the first audio signal, the second audio signal, and the external audio signal may be signals for a time axis.
  • the processor 120 may remove the signal corresponding to the second audio signal from the external audio signal and then convert the external audio signal with respect to the frequency axis.
  • the processor 120 may remove a signal corresponding to the third audio signal from the external audio signal converted for the frequency axis.
  • the third audio signal may comprise a plurality of output values.
  • the third audio signal may include the first output value for the first frequency and the second output value for the second frequency.
  • the processor 120 may determine an external audio signal processed based on the second audio signal as a value for the first frequency and a value for the second frequency.
  • the processor 120 may process the external audio signal processed based on the second audio signal by frequency to remove the third audio signal from the processed external audio signal based on the second audio signal .
  • the processor 120 may process a value for the first frequency using the first output value.
  • the processor 120 may process a value for the second frequency using the second output value.
  • the operations 905 to 909 are not limited to the above-described sequence (or the following relationship), and the operations 905 to 909 may be performed sequentially or in parallel, or may be performed according to another pre-relationship.
  • FIG. 10 shows an example of a flow of a signal for processing an external audio signal in an electronic device according to various embodiments.
  • the electronic device 101 may include an audio output module 309, an audio input module 311, and a processor 120.
  • the processor 120 may transmit the first audio signal to the audio output module 309. [ The processor 120 may perform the operation 1005 by determining the first audio signal as a signal output through the audio output module 309. [
  • the first audio signal may be a signal generated in the electronic device 101. In some other embodiments, the first audio signal may be a signal received from another electronic device.
  • the audio output module 309 may receive the first audio signal.
  • the first audio signal may be a signal to be output through the audio output module 309.
  • the first audio signal may be in the form of a pulse code modulation (PCM) signal that represents an analog signal (e.g., speech) in a digital representation (or digital code).
  • PCM pulse code modulation
  • the audio output module 309 may output the first audio signal to the outside through a speaker.
  • the first audio signal output to the outside may be input together with a target signal (e.g., a signal corresponding to the user's voice) through the microphone of the audio input module 311.
  • the processor 120 may nonlinearly model the first audio signal. Based on the nonlinear modeling, the first audio signal may include nonlinear attributes.
  • the processor 120 may linear model the nonlinear modeled first audio signal to a second audio signal. Based on the linear modeling, the second audio signal may include a linear property.
  • the processor 120 may neural network model the nonlinear modeled first audio signal into a third audio signal.
  • the third audio signal based on the neural network modeling may include attributes associated with the neural network.
  • the neural network may include nonlinear attributes.
  • the audio input module 311 may receive the external audio signal including the first audio signal.
  • the audio input module 311 can receive the external audio signal including the first audio signal through the microphone.
  • the audio input module 311 may transmit the received external audio signal to the processor 120.
  • the external audio signal may include the first audio signal output through the audio output module 309 and input to the audio input module 311 and a target signal input by the user.
  • the processor 120 may process the external audio signal based on the second audio signal and the third audio signal.
  • the processor 120 removes from the external audio signal a signal corresponding to the second audio signal (e.g., an echo signal having a linear attribute) and a signal corresponding to the third audio signal (e.g., an echo signal having a nonlinear attribute)
  • the external audio signal can be processed.
  • the processor 120 may sequentially perform processing associated with the second audio signal and processing associated with the third audio signal. For example, the processor 120 may begin processing associated with the third audio signal after processing associated with the second audio signal is complete.
  • the processor 120 may convert the processed external audio signal from the time axis to the frequency axis after the processing associated with the second audio signal is complete.
  • the processor 120 may process an external audio signal converted into a frequency axis based on the third audio signal.
  • FIG 11 shows another example of the flow of signals for processing an external audio signal in an electronic device according to various embodiments.
  • the electronic device 101 may include the audio input module 311, the neural network 307, the linear filter 305, the nonlinear filter 303, and the audio output module 309.
  • the neural network 307 may correspond to the audio filter 307.
  • each of the components e.g., the audio input module 311, the neural network 307, the linear filter 305, the non-linear filter 303, or the audio output module 309 includes a secondary processor .
  • each of the components may be operatively coupled to a coprocessor.
  • the audio output module 309 may receive the first audio signal.
  • the first audio signal may be a signal converted to a signal suitable for output through the audio output module 309, based on the processor 120.
  • the converted signal (e.g., the first audio signal) may be transmitted from the processor 120 to the audio output module 309 for output via the audio output module 309.
  • the first audio signal may be in the form of a pulse code modulation (PCM) signal that represents an analog signal (e.g., speech) in a digital representation (or digital code).
  • PCM pulse code modulation
  • the audio output module 309 may transmit the first audio signal to the non-linear filter 303.
  • the audio output module 309 may send the first audio signal, which is a signal to be output via the audio output module 309, to the non-linear filter 303.
  • the audio output module 309 may send the first audio signal to the non-linear filter 303.
  • the audio output module 309 may transmit the first audio signal to each of the plurality of nonlinear filters.
  • the audio output module 309 may output the first audio signal to the outside through a speaker.
  • the operation 1103 may be performed in parallel with the operation 1102, or in any order.
  • the first audio signal output to the outside may be input together with a target signal (e.g., a signal corresponding to the user's voice) through the microphone of the audio input module 311.
  • a target signal e.g., a signal corresponding to the user's voice
  • the nonlinear filter 303 may nonlinearly model the received first audio signal.
  • the first audio signal may include nonlinear attributes.
  • the nonlinear modeled first audio signal may be transmitted from the nonlinear filter 303 to the neural network 307.
  • the nonlinear modeled first audio signal may be transmitted from the nonlinear filter 303 to the linear filter 305.
  • the operations 1106-1 and 1106-2 may be performed in parallel or in any order.
  • the electronic device 101 may further include an FFT unit for FFT processing.
  • the FFT unit may convert the nonlinear modeled first audio signal from the time axis to the frequency axis after the first audio signal is nonlinearly modeled by the nonlinear filter 303.
  • the FFT unit may transmit an external audio signal converted into a frequency axis to the linear filter 305 and the neural network 307 in parallel or in any order.
  • the linear filter 305 may linearly model the nonlinear modeled first audio signal to a second audio signal. Based on the linear modeling, the second audio signal may include a linear property.
  • the neural network 307 may neural network model the nonlinear modeled first audio signal into a third audio signal.
  • the third audio signal based on the neural network modeling may include attributes associated with the neural network.
  • the neural network may include nonlinear attributes.
  • the audio input module 311 may receive the external audio signal including the first audio signal output through the audio output module 309 in operation 1103.
  • the external audio signal may further include a non-linear signal.
  • the nonlinear signal may be a signal generated based on elements included in the electronic device 101 or the like.
  • operation 1110 may correspond to operation 1015 of FIG.
  • operation 1111 the received external audio signal received via the audio input module 311 may be transmitted to the linear filter 305.
  • operation 1111 may correspond to operation 1016 in FIG.
  • the linear filter 305 may process the received external audio signal based on the second audio signal.
  • the linear filter 305 may process the external audio signal to remove a signal (e.g., an echo signal having a linear property) corresponding to the second audio signal from the received external audio signal.
  • the processed external audio signal via the linear filter 305 may be transmitted to the neural network 307.
  • An external audio signal processed through the linear filter 305 to remove a signal corresponding to the second audio signal (echo signal having a linear property, for example) may be transmitted to the neural network 307.
  • the neural network 307 may receive the processed external audio signal from the linear filter 305.
  • the neural network 307 may process the received external audio signal based on the third audio signal of operation 1109. [
  • the neural network 307 may perform processing for removing a signal corresponding to the third audio signal (e.g., an echo signal having a nonlinear attribute) from the external audio signal.
  • the FFT unit may convert the processed external audio signal from the time axis to the frequency axis after the processing associated with the second audio signal is completed by the linear filter 305 have.
  • the neural network 307 can process an external audio signal converted into a frequency axis based on the third audio signal.
  • operations 1111 and 1113 may be performed by the processor 120, in accordance with various embodiments.
  • the external audio signal disclosed in operation 1110 may be transmitted to the processor 120.
  • the linear filter 305 and the nonlinear filter 303 may be included in the AEC.
  • the AEC may perform the operation 1111. [ The AEC may transmit the processed external audio signal to the neural network 307 or the processor 120 based on the operation 1111. [ The neural network 307 or the processor 120 may process the external audio signal based on the third audio signal. The neural network 307 or the processor 120 may process the external audio signal to remove the third audio signal from the external audio signal.
  • FIG. 12 illustrates an example of a signal modeled by an audio signal, an external audio signal, and / or a non-linear filter in accordance with various embodiments.
  • the audio signal corresponds to the first audio signal, a signal transmitted to the electronic device 101 from another electronic device via the communication module 190, and / or an audio signal to be output by the audio output module 309 .
  • the external audio signal may correspond to a signal detected by the audio input module 311, a signal received through the audio input module 311, an echo of the audio signal, and / or an echo of the audio signal.
  • the signal modeled by the nonlinear filter may be a signal modeled for one of the plurality of nonlinear filters if the nonlinear filter 303 comprises a plurality of nonlinear filters.
  • a graph 1203 may show a waveform of an audio signal to be output through the audio output module 309.
  • a graph 1205 may show the waveform of the external audio signal received by the audio input module 311.
  • a graph 1207 can show the waveform of the signal modeled through the nonlinear filter 303.
  • the graph 1203, the graph 1205, and the graph 1207 x axis may represent time and the y axis may represent frequency.
  • the graph 1203, the graph 1205, and the graph 1207 may be spectrograms that photographically photograph the spectrum of a signal.
  • the external audio signal associated with graph 1205 in graph 1201 may further include a signal that was not present in the audio signal associated with graph 1203.
  • the external audio signal may include a high-band harmonic signal.
  • the harmonic component of the high band may be a non-linear signal.
  • the signal modeled by the nonlinear filter related to the graph 1207 may reflect characteristics of the external audio signal.
  • the graph 1201 includes the audio signal, the external audio signal, and the signal modeled by the nonlinear filter.
  • the audio signal shown in the graph 1201 may be a signal obtained by converting the graph 1203 on the frequency axis on the time axis.
  • the external audio signal shown in the graph 1201 may be a signal obtained by converting the graph 1205 on the frequency axis on the time axis.
  • the signal modeled by the nonlinear filter shown in the graph 1201 may be a signal obtained by converting the graph 1207 on the frequency axis on the time axis. Referring to the graph 1201, the curve for the graph 1207 may more clearly reflect the curve for the graph 1205 than the curve for the graph 1203.
  • the graph 1201 x axis may represent a frequency and the y axis may represent a magnitude of a signal.
  • Figure 13 illustrates an example of a sigmoid function for reflecting nonlinear attributes in accordance with various embodiments.
  • the sigmoid function may include at least one of a graph 1301, a graph 1303, and a graph 1305.
  • the sigmoid function can be determined according to the following equation.
  • sigmoid (x) represents the sigmoid function and e is the approximation of the natural logarithm 2.718281828 ...
  • a and b represent an arbitrary number.
  • the attributes of the sigmoid function may be determined through a and b.
  • a and b may be parameters of the sigmoid function.
  • the value a is 2.5, and the value b may be 1.
  • a is 4 and b is 0.5.
  • a is 20 and b is 0.1.
  • a change between an input signal and an output signal may be the smallest among the graphs 1301, 1303, and 1305.
  • a change between an input signal and an output signal may be largest among the graphs 1301, 1303, and 1305.
  • the nonlinear filter 303 may comprise a plurality of nonlinear filters.
  • the plurality of nonlinear filters may be represented by different sigmoid functions.
  • the graph 1401 may indicate an audio signal to be output by the audio output module 309.
  • the audio signal may be a signal identified by the audio output module 309.
  • the audio signal may be a voice signal of a user of another electronic device received via another electronic device when making a call through the electronic device.
  • the graph 1403 may indicate sound signals input from the audio input module 311 and outside the electronic device 101.
  • the external sound signals may include the external audio signal, the user's voice signal.
  • the audio output module 309 can output a voice signal of a user of another electronic device.
  • the external audio signal may be a signal inputted through the audio input module 311.
  • the graph 1405 may represent the audio signal of the graph 1401 processed by the linear filter 305 when the nonlinear filter 303 is not included in the electronic device 101.
  • the graph 1401 may be a signal in which all of the linear properties are reflected.
  • the graph 1407 may represent the signals of the graph 1401 processed by the nonlinear filter 303 and the linear filter 305.
  • the graph 1401 may be a signal in which both the non-linear property and the linear property are reflected.
  • the x-axis of the graph 1401 to the graph 1407 may indicate a time
  • the y-axis may indicate an amplitude of a signal
  • Section 1409-1, section 1409-2, section 1409-3. And may be a section including only a voice signal of a user of another electronic device (hereinafter referred to as a speaker).
  • the speech signal of the source speaker may be the external audio signal.
  • the electronic device 101 may remove the speech signal of the far-end speaker in the section 1409-1, the section 1409-2, and the section 1409-3.
  • the graph 1407 may indicate that the speech signal of the fabric speaker is effectively removed from the graph 1405.
  • the section 1411 may be a section including only the voice signal of the user of the electronic apparatus 101 (hereinafter referred to as " near-end speaker "). For example, when the electronic device 101 makes a call in the speakerphone mode, the section 1411 may be a section for speaking only with the near-end speaker. In the section 1411, when the graph 1401 and the graph 1403 are compared, since only the voice signal of the near-end speaker exists, only the graph 1403 can include a signal. In various embodiments, the electronic device 101 may transmit the voice signal of the near-end speaker to another electronic device. The voice signal of the near-end speaker should be transmitted to the other electronic device without distortion.
  • the interval 1413 may be a period including both the voice signal of the far-end speaker and the voice signal of the near-end speaker.
  • the electronic device 101 may remove the speech signal of the source speaker.
  • the electronic device 101 may remove the speech signal of the far end speaker and transmit only the speech signal of the near end speaker to the other electronic device.
  • Figure 15 shows an example of an audio filter included in an electronic device according to various embodiments.
  • filters 1501, 1503, 1505, and 1507 may model (or filter) input values in various manners.
  • the input value may be a value for a signal converted to a frequency axis.
  • the input values may be input to the input nodes of the filter, respectively.
  • the input values may be modeled.
  • the filters 1501, 1503, 1505, and 1507 may perform modeling on the input signal based on neural network operations. Based on the operation in which the input signals are transmitted from the input nodes of the filters to the output nodes of the filters, the filters can be performed with the neural network operation.
  • the number of nodes included in the input layer of FIG. 15 may correspond to the number of the plurality of audio filters included in the audio filter 307.
  • magnitude modeling may be performed based on the audio filter.
  • the size modeling may include an operation indicating the received signal to a size corresponding to each frequency based on transforming the received signal from a time axis to a frequency axis.
  • the filter 1501 may, in various embodiments, represent a filter for linear magnitude regression.
  • the filter 1501 may perform modeling for each frequency corresponding to the input frequency.
  • the filter 1503 may, in various embodiments, model non-linear features by taking into account the input to the total frequency to model the designated frequency.
  • the filter 1505 may, in various embodiments, model the non-linear characteristics taking into account the input for some frequencies, in order to model the specified frequency.
  • the filter 1505 may be an intermediate form of the filter 1501 and the filter 1503.
  • the filter 1507 may include a hidden node between the input node and the output node.
  • the filter 1507 may model non-linear features in consideration of the total frequency input through the input node and the hidden node to model the frequency.
  • the filter 1507 can effectively model nonlinear characteristics of an input signal.
  • the audio filter may correspond to one of a filter 1501, a filter 1503, a filter 1505, and a filter 1507.
  • Figure 16 shows another example of an audio filter included in an electronic device according to various embodiments.
  • the audio filter 307 may include a plurality of audio filters.
  • the plurality of audio filters may correspond to one of a filter 1601, a filter 1602, and a filter 1603.
  • the first audio filter may correspond to one of a filter 1601, a filter 1602, and a filter 1603.
  • the input to the filter 1601, the filter 1602, and the filter 1603 may be separately classified by frequency.
  • the frequency-coded input signals may be modeled as a first output value through an input node, a hidden node, and an output node.
  • the filter 1601, the filter 1602, and / or the filter 1603 shown in FIG. 16 represent various methods for modeling the signals input to the input node.
  • the filter 1601, the filter 1602, and / or the filter 1603 can effectively model nonlinear properties of the input signals.
  • the modeling may be referred to as neural network operation.
  • FIG. 17 shows another example of signals for an electronic device according to various embodiments.
  • the graphs shown in FIG. 17 may include examples for graph 1407 of FIG.
  • the non-linear filter 303 includes processed signals.
  • the signal represented by the graphs may be a signal comprising a residual echo remaining after the processing for removing the echo signal is completed.
  • Graph 1701 illustrates an external audio signal modeled based on the one nonlinear filter and the linear filter 305 when the nonlinear filter 303 includes one nonlinear filter, according to various embodiments.
  • Graph 1703 shows external audio signals modeled on the basis of the two nonlinear filters and the linear filter 305 when the nonlinear filter 303 includes two nonlinear filters, according to various embodiments.
  • Graph 1705 shows external audio signals modeled on the basis of the three nonlinear filters and the linear filter 305 when the nonlinear filter 303 includes three nonlinear filters, according to various embodiments.
  • the graph 1707 shows that in accordance with various embodiments the nonlinear filter 303 includes three nonlinear filters and the audio filter 307 and the outer one modeled based on the three nonlinear filters, the linear filter 305 and the audio filter 307, Shows an audio signal.
  • graphs 1709 to 1715 show signals included in the graphs 1701 to 1707 in an interval 1717-1.
  • the graph 1715 starts the most effectively removed signal from the external audio signal.
  • graphs 1801 to 1804 are enlarged views of portions of graphs 1701 to 1707 of FIG.
  • graphs 1801 through 1804 may represent a signal for one second (1s).
  • the signal illustrated in the graph 1804 may be the best modeled signal of the external audio signal.
  • the signal represented by the graphs may be a signal comprising a residual echo remaining after the processing for removing the external audio signal is completed.
  • Graphs 1805 to 1808 show the signals shown in the graphs 1801 to 1804 in a spectrogram. Comparing the graphs 1805 to 1808, the graph 1808 contains the least residual echo.
  • the external audio signal can be effectively modeled by the three non-linear filters, the linear filter 305, and the audio filter 307.
  • the electronic device 101 may include the three nonlinear filters, the linear filter 305, and / or the audio filter 307.
  • the electronic device 101 may remove the external audio signal through the three nonlinear filters, the linear filter 305, and / or the audio filter 307.
  • the number of filters (e.g., nonlinear filter 303, linear filter 305, or audio filter 307) included in the electronic device 101 is not limited to the above example.
  • the electronic device 101 may include a plurality of non-linear filters, a plurality of linear filters, or a plurality of audio filters.
  • the method of the electronic device 101 further comprises the steps of identifying, via the audio output module 309, a first audio signal to be output and a second filter having a first non- Generating a second signal in which the first audio signal is processed using a first signal processed with the first audio signal and a second filter having the second non-linear property, and outputting, through the audio output module,
  • the method comprising: outputting a first audio signal; obtaining an external audio signal including the first audio signal of the electronic device via an audio input module; generating a magnitude value And obtaining a first output value through a first input channel of an audio filter to which a first weight having a first nonlinear characteristic is applied to a magnitude value corresponding to the first frequency of the second signal, .;

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

본 발명의 다양한 실시 예들은 전자장치 (electronic device) 에서 비선형 신호 (non-linear signal) 를 처리하기 위한 방법 및 장치에 관하여 개시한다. 다양한 실시 예들에 따르면, 상기 전자 장치는, 오디오 입력 모듈 (audio input module), 오디오 출력 모듈 (audio output module), 및 프로세서 (processor) 를 포함하고, 상기 프로세서는, 상기 오디오 출력 모듈을 통해 출력될 제 1오디오 신호를 확인하고, 비선형의 제 1속성 (attribute) 을 갖는 제 1필터를 이용하여 상기 제 1오디오 신호가 처리된 제 1신호 및 상기 비선형의 제 2 속성을 갖는 제 2 필터를 이용하여 상기 제 1 오디오 신호가 처리된 제 2 신호를 생성하고, 상기 오디오 출력 모듈을 통해 상기 제 1 오디오 신호를 출력하고, 상기 오디오 입력 모듈을 통해 상기 전자 장치의 상기 제 1 오디오 신호가 포함된 외부 오디오 신호 (external audio signal) 를 획득하고, 상기 제 1 신호 중 제 1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제 1 주파수에 대응하는 크기 값에 제 1 비선형 특성을 갖는 제 1 가중치 (weight) 가 적용된 오디오 필터의 입력 채널을 통해 제 1 출력 값을 획득하고, 상기 제 1 신호 중 제 2 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제 2 비선형 특성을 갖는, 상기 제 1 가중치와 다른 제 2 가중치가 적용된 상기 오디오 필터의 제 2 입력 채널을 통해 제 2 출력 값을 획득하고, 상기 외부 오디오 신호의 상기 제 1 주파수에 대응하는 크기 값과 상기 제 1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제 2 주파수에 대응하는 크기 값과 제 2 출력 값 간의 제 2 차이 값에 적어도 기반하여, 제 2 오디오 신호를 생성하도록 설정될 수 있다.

Description

비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치
다양한 실시 예들은, 전자 장치에 의해 재생된 소리가 다시 전자 장치에 유입되는 에코(echo) 신호를 제거(remove)하기 위한 신호 처리 방법 및 전자 장치(electronic device)에 관한 것이다.
전자 장치(electronic device)는, 다른 전자 장치와의 통신 환경에서, 다양한 통화 방식을 제공한다. 예를 들면, 전자 장치는 스피커폰을 이용한 통화, 및/또는 영상 통화를 제공한다. 이러한 통화 방식에서, 상기 전자 장치는 스피커를 통해 상기 다른 전자 장치로부터 수신한 소리 신호를 출력한다. 상기 출력된 소리 신호는 상기 전자 장치의 마이크(microphone)를 통해 상기 전자 장치에게 다시 유입될 수 있다. 다시 말해, 상기 전자 장치는 상기 스피커를 통해 출력된 소리 신호인 에코(echo)(또는 반향) 신호를 수신할 수 있다. 상기 에코 신호는 통화 음질 저하의 주요한 요인이다. 따라서, 상기 전자 장치는, 통화 시의 에코 신호를 제거하기 위해 설정된 신호 처리 기법(예: echo cancellation)을 이용하여 에코 신호를 제거하고 있다.
전자 장치(electronic device)의 반향(echo)(또는 에코) 신호를 제거(remove)하기 위해 모델링 된 피드백(feed-back)은 선형의 속성을 가진다. 한편, 반향 신호는 상기 전자 장치의 소자 등을 통해 생성된 비선형(non-linear) 신호를 포함할 수 있다. 이러한 경우, 상기 모델링 된 피드백은 반향 신호의 선형(linear) 성분만을 제거하고, 반향 신호의 상기 비선형 신호를 제거하기 어렵다는 문제점이 있다.
다양한 실시 예들은, 비선형 모델링에 기반하여, 전자 장치로 유입되는 에코 성분 중 비선형 신호를 모델링 하여 제거하는 전자 장치 및 방법을 제공할 수 있다.
다양한 실시 예들은, 비선형의 속성을 가지는 필터와 신경망(neural network)의 속성을 가지는 필터에 기반하여, 전자 장치로 유입되는 비선형 신호를 제거하는 전자 장치 및 방법을 제공할 수 있다.
다양한 실시 예들에서, 전자 장치(electronic device)는, 오디오 입력 모듈, 오디오 출력 모듈, 및 프로세서(processor)를 포함하고, 상기 프로세서는, 상기 오디오 출력 모듈을 통해 출력될 제1 오디오 신호를 확인(identify)하고, 비선형의 제1 속성(attribute)을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성하고, 상기 오디오 출력 모듈을 통해 상기 제1 오디오 신호를 출력하고, 상기 오디오 입력 모듈을 통해 상기 전자 장치의 상기 제1 오디오 신호가 포함된 외부 오디오 신호를 획득하고, 상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치(weight)가 적용된 오디오 필터의 제1 입력 채널을 통해 제1 출력 값을 획득하고, 상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 구별되는(distinct) 제2 가중치가 적용된 상기 오디오 필터의 제2 입력 채널을 통해 제2 출력 값을 획득하고, 상기 외부 오디오 신호(external audio signal)의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 적어도 기반하여, 제2 오디오 신호를 생성하도록 설정될(configured) 수 있다.
다양한 실시 예들에서, 전자 장치의 방법은, 오디오 출력 모듈을 통해, 출력될 제1 오디오 신호를 확인하는 동작과, 비선형의 제1 속성을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성하는 동작과, 상기 오디오 출력 모듈을 통해, 상기 제1 오디오 신호를 출력하는 동작과,오디오 입력 모듈을 통해, 상기 전자 장치의 상기 제1 오디오 신호가 포함된 외부 오디오 신호를 획득하는 동작과, 상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치가 적용된 오디오 필터의 제1 입력 채널을 통해 제1 출력 값을 획득하는 동작과; 상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 구별되는 제2 가중치가 적용된 상기 오디오 필터의 제2 입력 채널을 통해 제2 출력 값을 획득하는 동작과, 상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 적어도 기반하여, 제2 오디오 신호를 생성하는 동작을 포함할 수 있다.
다양한 실시 예들에 있어서, 전자 장치는, 오디오 입력 모듈, 오디오 출력 모듈, 명령어들을 저장하는 메모리, 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 오디오 출력 모듈을 통해 제1 오디오 신호를 출력하고, 상기 제1 오디오 신호를 비선형 필터를 통해 비선형의 속성에 기반하여 모델링하고, 상기 비선형의 속성에 기반하여 모델링 된 제1 오디오 신호를 선형 필터를 통해 선형의 속성에 기반하여 제2 오디오 신호로 모델링하고, 상기 비선형의 속성에 기반하여 모델링 된 제1 오디오 신호를 신경망(neural network)을 통해, 제3 오디오 신호로 모델링하고, 상기 오디오 입력 모듈을 통해 제1 오디오 신호와 관련된 외부 오디오 신호를 수신하면, 상기 제2 오디오 신호 및 제3 오디오 신호에 기반하여, 상기 수신된 외부 오디오 신호를 처리하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다.
다양한 실시 예들에 따른 전자 장치(electronic device) 및 그의 동작 방법에 따르면, 스피커와 마이크를 포함하는 전자 장치에서 스피커로 재생된 소리가 다시 마이크로 유입되는 에코(echo) 신호를 효과적으로 제거할 수 있다.
다양한 실시 예들에 따르면, 효과적인 에코 신호 제거를 통해, 상기 전자 장치의 음성 인식 또는 통화 시에 타겟(target) 음성 신호 만을 전달하여 음성 인식 기능을 보다 향상하고, 통화 음질 저하를 사전에 방지할 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치는 에코 성분 중 비선형(non-linear) 신호를 실시간으로 모델링 하여 제거할 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치는 스피커와 마이크에서 발생하는 비선형성을 제거하여, 서로 다른 특징을 갖는 복수의 비선형 속성의 필터(또는 시그모이드(sigmoid) 함수)를 이용한 모델링을 통해 비선형 모델링 성능을 향상시킬 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치는 복수의 비선형 속성의 필터(sigmoid 함수)에 의해 모델링 된 비선형 에코에 대하여 주파수 축에서 신경망(neural network)의 속성을 가지는 필터를 이용하여 비선형 모델링의 성능을 향상시킬 수 있다. 다양한 실시 예들에 따르면, 신경망의 노드(node)와 노드 간의 연결을 최소화 하면서 비선형 모델링의 성능을 향상하여, 실시간 연산량 및 메모리 사용을 줄일 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치(electronic device)의 블록도이다.
도 2는 다양한 실시 예들에 따른 오디오 모듈의 블록도이다.
도 3은 다양한 실시 예들에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 4는 다양한 실시 예들에 따른 외부 오디오 신호(external audio signal)를 처리(process)하기 위한 전자 장치의 구성의 예를 도시한다.
도 5는 다양한 실시 예들에 따른 외부 오디오 신호(external audio signal)를 처리하기 위한 전자 장치의 구성의 다른 예를 도시한다.
도 6은 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 동작의 예를 도시한다.
도 7은 다양한 실시 예들에 따른 복수 개의 비선형 필터(non-linear filter)들에 기반하여 오디오 신호를 모델링 하기 위한 전자 장치의 동작의 예를 도시한다.
도 8a은 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터(audio filter)를 이용하여 오디오 신호를 모델링 하기 위한 동작의 예를 도시한다.
도 8b는 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 구성의 예를 도시한다.
도 9는 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 동작의 다른 예를 도시한다.
도 10은 다양한 실시 예들에 따른 전자 장치에서 외부 오디오 신호를 처리하기 위한 신호(signal)의 흐름의 예를 도시한다.
도 11은 다양한 실시 예들에 따른 전자 장치에서 외부 오디오 신호를 처리하기 위한 신호의 흐름의 다른 예를 도시한다.
도 12는 다양한 실시 예들에 따라 오디오 신호, 외부 오디오 신호, 및/또는 비선형 필터(non-linear filter)에 의해 모델링 된 신호의 예를 도시한다.
도 13은 다양한 실시 예들에 따라 비선형의 속성을 반영하기 위한 시그모이드(sigmoid) 함수(function)의 예를 도시한다.
도 14는 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 예를 도시한다.
도 15는 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 예를 도시한다.
도 16은 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 다른 예를 도시한다.
도 17은 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 다른 예를 도시한다.
도 18은 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 또 다른 예를 도시한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신)을 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))을 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버를 포함할 수 있다. 일실시예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일실시예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호를 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일시예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성요소들 중 일부 구성요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치에서 실행될 수 있다. 일실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는, 다양한 실시에 따른, 오디오 모듈(170)의 블록도(200)이다. 도 2를 참조하면, 오디오 모듈(170)은, 예를 들면, 오디오 입력 인터페이스(210), 오디오 입력 믹서(220), ADC(analog to digital converter)(230), 오디오 신호 처리기(240), DAC(digital to analog converter)(250), 오디오 출력 믹서(260), 또는 오디오 출력 인터페이스(270)를 포함할 수 있다.
오디오 입력 인터페이스(210)는 입력 장치(150)의 일부로서 또는 전자 장치(101)와 별도로 구성된 마이크(예: 다이나믹 마이크, 콘덴서 마이크, 또는 피에조 마이크)를 통하여 전자 장치(101)의 외부로부터 획득한 소리에 대응하는 오디오 신호를 수신할 수 있다. 예를 들어, 외부의 전자 장치(102)(예: 헤드셋 또는 마이크)로부터 오디오 신호를 획득하는 경우, 오디오 입력 인터페이스(210)는 상기 외부의 전자 장치(102)와 연결 단자(178)를 통해 유선으로, 또는 무선 통신 모듈(192)을 통하여 무선으로(예: Bluetooth 통신) 연결되어 오디오 신호를 수신할 수 있다. 일실시예에 따르면, 오디오 입력 인터페이스(210)는 상기 외부의 전자 장치(102)로부터 획득되는 오디오 신호와 관련된 제어 신호(예: 입력 버튼을 이용한 볼륨 조정 신호)를 수신할 수 있다. 오디오 입력 인터페이스(210)는 복수의 오디오 입력 채널들을 포함하고, 각각의 오디오 입력 채널 별로 다른 오디오 신호를 수신할 수 있다. 일실시예에 따르면, 추가적으로 또는 대체적으로, 오디오 입력 인터페이스(210)는 전자 장치(101)의 다른 구성 요소(예: 프로세서(120) 또는 메모리(130))로부터 오디오 신호를 입력 받을 수 있다.
오디오 입력 믹서(220)는 입력된 복수의 오디오 신호들을 적어도 하나의 오디오 신호로 합성할 수 있다. 일실시예에 따르면, 오디오 입력 믹서(220)는, 오디오 입력 인터페이스(210)를 통해 입력된 복수의 아날로그 오디오 신호들을 적어도 하나의 아날로그 오디오 신호로 합성할 수 있다.
ADC(230)는 아날로그 오디오 신호를 디지털 오디오 신호로 변환할 수 있다. 일실시예에 따르면, ADC(230)는 오디오 입력 인터페이스(210)을 통해 수신된 아날로그 오디오 신호, 또는 추가적으로 또는 대체적으로 오디오 입력 믹서(220)를 통해 합성된 아날로그 오디오 신호를 디지털 오디오 신호로 변환할 수 있다.
오디오 신호 처리기(240)는 ADC(230)를 통해 입력 받은 디지털 오디오 신호, 또는 전자 장치(101)의 다른 구성 요소로부터 수신된 디지털 오디오 신호에 대하여 다양한 처리를 수행할 수 있다. 예를 들어, 오디오 신호 처리기(240)는 하나 이상의 디지털 오디오 신호들에 대해 샘플링 비율 변경, 하나 이상의 필터 적용, 보간(interpolation) 처리, 증폭 또는 감쇄(예: 일부 주파수 대역 또는 전 주파수 대역의 증폭 또는 감쇄) 처리, 노이즈 처리(예: 노이즈 또는 에코 감쇄), 채널 변경(예: 모노 및 스테레오간 전환), 합성(mixing), 또는 지정된 신호 추출을 수행할 수 있다. 일실시예에 따르면, 오디오 신호 처리기(240)의 적어도 일부 기능은 이퀄라이저(equalizer)의 형태로 구현될 수 있다.
DAC(250)는 디지털 오디오 신호를 아날로그 오디오 신호로 변환할 수 있다. 일실시예에 따르면, DAC(250)는 오디오 신호 처리기(240)에 의해 처리된 디지털 오디오 신호, 또는 전자 장치(101)의 다른 구성 요소로부터 획득한 디지털 오디오 신호를 아날로그 오디오 신호로 변환할 수 있다.
오디오 출력 믹서(260)는 출력할 복수의 오디오 신호들을 적어도 하나의 오디오 신호로 합성할 수 있다. 일실시예에 따르면, 오디오 출력 믹서(260)는 DAC(250)를 통해 아날로그로 전환된 오디오 신호 및 다른 아날로그 오디오 신호(예: 오디오 입력 인터페이스(210)을 통해 수신한 아날로그 오디오 신호)를 적어도 하나의 아날로그 오디오 신호로 합성할 수 있다.
오디오 출력 인터페이스(270)는 DAC(250)를 통해 변환된 아날로그 오디오 신호, 또는 추가적으로 또는 대체적으로 오디오 출력 믹서(260)에 의해 합성된 아날로그 오디오 신호를 음향 출력 장치(155)(예: 스피커(예: dynamic driver 또는 balanced armature driver), 또는 리시버)를 통해 전자 장치(101)의 외부로 출력할 수 있다. 일실시예에 따르면, 음향 출력 장치(155)는 복수의 스피커들을 포함하고, 오디오 출력 인터페이스(270)는 상기 복수의 스피커들 중 적어도 일부 스피커들을 통하여 서로 다른 복수의 채널들(예: 스테레오, 또는 5.1채널)을 갖는 오디오 신호를 출력할 수 있다. 일실시예에 따르면, 오디오 출력 인터페이스(270)는 외부의 전자 장치(102)(예: 외부 스피커 또는 헤드셋)와 연결 단자(178)를 통해 유선으로, 또는 무선 통신 모듈(192)을 통하여 무선으로 연결되어 오디오 신호를 출력할 수 있다.
일실시예에 따르면, 오디오 모듈(170)은 오디오 입력 믹서(220) 또는 오디오 출력 믹서(260)를 별도로 구비하지 않고, 오디오 신호 처리기(240)의 적어도 일부 기능으로서 복수의 디지털 오디오 신호들을 합성하여 적어도 하나의 디지털 오디오 신호를 생성할 수 있다.
일실시예에 따르면, 오디오 모듈(170)은 오디오 입력 인터페이스(210)를 통해 입력된 아날로그 오디오 신호, 또는 오디오 출력 인터페이스(270)를 통해 출력될 오디오 신호를 증폭할 수 있는 오디오 증폭기(미도시)(예: 스피커 증폭 회로)를 포함할 수 있다. 일실시예에 따르면, 상기 오디오 증폭기는 오디오 모듈(170)과 별도의 모듈로 구성될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 3은 다양한 실시 예들에 따른 전자 장치101의 기능적 구성의 예를 도시한다.
이하 설명에서 사용되는 신호 처리 방식(예: 모델링, 필터링)을 지칭하는 용어, 신호를 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어(예: 비선형 필터, 선형 필터, 오디오 필터) 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
이하 사용되는 '…부' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 다양한 실시 예들에서, 비선형 필터 303, 선형 필터 305, 오디오 필터(신경망) 307은 상기 프로세서 120에 하드웨어 모듈로 포함되거나, 또는 소프트웨어 모듈로 포함될 수 있다.
도 3을 참조하면, 상기 전자 장치 101은 상기 프로세서 120, 오디오 출력 모듈 309, 오디오 입력 모듈 311 및 메모리 130을 포함할 수 있다. 프로세서 120, 오디오 출력 모듈 309, 오디오 입력 모듈 311 및 메모리 130는 서로 결합(coupled to)될 수 있다. 예를 들면, 상기 프로세서 120, 오디오 출력 모듈 309, 오디오 입력 모듈 311 및 메모리 130 중 적어도 일부는, 직접적으로 연결(connected to)될 수 있다. 다른 예를 들면, 상기 프로세서 120 오디오 출력 모듈 309, 오디오 입력 모듈 311 및 메모리 130 중 적어도 일부는, 다른 장치 또는 회로를 통해 간접적으로 연결될 수 있다.
다양한 실시 예들에서 상기 프로세서 120은 비선형 필터 303, 선형 필터 305, 오디오 필터(또는 신경망) 307를 포함할 수 있다. 상기 비선형 필터 303, 상기 선형 필터 305, 상기 오디오 필터(또는 신경망) 307는 서로 결합(coupled to)될 수 있다. 상기 비선형 필터 303, 상기 선형 필터 305, 상기 오디오 필터(또는 신경망) 307 중 적어도 하나는 상기 오디오 출력 모듈 309, 오디오 입력 모듈 311 및 메모리 130 중 적어도 하나와 간접적 또는 직접적으로 연결될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 전자 장치 101에 포함된 적어도 하나의 구성 요소들의 기능을 실행시키기 위해 상기 메모리 130에 저장된 명령어들을 실행하도록 설정(configured)될 수 있다. 예를 들면, 상기 프로세서 120은 오디오 출력 모듈 309가 오디오 신호를 출력하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다. 다른 예를 들면, 상기 프로세서 120은 오디오 입력 모듈 311이 외부 오디오 신호를 수신하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다. 또 다른 예를 들면, 상기 프로세서 120는 상기 비선형 필터 303, 상기 선형 필터 305, 상기 오디오 필터 307가 신호를 처리하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 오디오 출력 모듈 309로부터 오디오 신호를 수신할 수 있다. 상기 오디오 신호는 상기 전자 장치 101에서 생성된 신호(예: 오디오 재생 신호) 또는 외부 장치로부터 수신한 신호(예: 통화 중인 다른 전자 장치로부터 수신된 음성 신호)를 포함할 수 있다. 일부 실시 예에서, 상기 오디오 신호는 상기 전자 장치 101내에 포함된 통신 모듈 190을 통해 다른 전자 장치로부터 수신된 신호를 포함할 수 있다. 상기 오디오 신호는 무선 또는 유선 통신 환경에서 다른 전자 장치로부터 전송된 신호를 포함할 수 있다.
다양한 실시 예들에서, 상기 오디오 출력 모듈 309은 상기 전자 장치 101에게 수신된 신호 또는 생성된 신호를 디코더(decoder)를 통해 디코딩 할 수 있다. 상기 디코딩 된 신호는 음성 파형의 형태를 포함할 수 있다. 상기 디코딩 된 신호는 디지털(digital) 신호일 수 있다. 상기 디코딩 된 신호에 대한 정보는 상기 전자 장치 101의 상기 메모리 130에 저장될 수 있다. 상기 오디오 출력 모듈 309는 상기 디코딩 된 신호와 상기 오디오 입력 모듈 311을 통해 수신될 신호 간의 지연(delay)을 미리 보상하기 위하여 상기 디코딩 된 신호를 버퍼링(buffering) 할 수 있다. 상기 오디오 신호에는 상기 디코딩 된 신호를 포함할 수 있다.
다양한 실시 예들에서, 상기 오디오 출력 모듈 309는 DAC 250, 오디오 출력 믹서 260, 음향 출력 장치 155, 및/또는 오디오 출력 인터페이스 270의 적어도 일부를 포함할 수 있다. 상기 오디오 출력 모듈 309는 상기 음향 출력 장치 155 및/또는 오디오 출력 인터페이스 270를 통해 상기 오디오 신호를 출력(또는 재생)할 수 있다. 상기 출력된 오디오 신호는 아날로그(analog) 신호로 변환된 신호일 수 있다. 상기 출력된 오디오 신호는 상기 전자 장치 101 의 사용자를 통해 인지될 수 있다.
다양한 실시 예들에서, 상기 오디오 입력 모듈 311은 상기 ADC 230, 상기 오디오 입력 믹서 220, 입력 장치(150), 및/또는 오디오 입력 인터페이스 210의 적어도 일부를 포함할 수 있다. 상기 오디오 입력 모듈 311는 외부로부터 오디오 신호를 수신하고, 상기 수신된 오디오 신호를 식별하기 위한 다양한 기능을 수행할 수 있다.
다양한 실시 예들에서, 상기 오디오 입력 모듈 311은 상기 오디오 출력 모듈 309를 통해 출력된 오디오 신호의 적어도 일부를 다시 전자 장치 101로 수신할 수 있다. 상기 오디오 입력 모듈 311이 수신하는 신호 (예: 외부 오디오 신호)는 타겟 신호(예: 사용자 입력 음성 신호)를 포함할 수 있다. 상기 외부 오디오 신호는 상기 타겟 신호와 함께 에코 신호를 포함할 수 있다. 예를 들어, 상기 에코 신호는 상기 오디오 출력 모듈 309를 통해 출력된 오디오 신호를 포함할 수 있다. 상기 에코 신호는 상기 전자 장치 101가 상기 오디오 신호를 상기 오디오 출력 모듈 309(예: 스피커)를 통해 출력될 때, 스피커의 비선형성에 따른 비선형 성분(비선형 신호), 상기 출력된 오디오 신호가 다시 상기 오디오 입력 모듈 311(예: 마이크)로 유입될 때 마이크의 비선형성에 따른 비선형 성분을 포함할 수 있다. 상기 에코 신호는 선형 성분도 포함할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120는 상기 오디오 출력 모듈 309로부터 오디오 신호를 수신할 수 있다. 일부 실시 예들에서, 상기 오디오 신호는 상기 오디오 출력 모듈 309로부터 상기 비선형 필터 303에게 송신될 수 있다. 상기 프로세서 120이 복수 개의 비선형 필터들을 포함하는 경우, 상기 오디오 신호는 상기 오디오 출력 모듈 309로부터 상기 복수 개의 비선형 필터들 각각에게 송신될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형 필터 303, 선형 필터 305, 및/또는 오디오 필터307에 기반하여 수신된 오디오 신호를 처리할 수 있다. 상기 비선형 필터 303은 비선형의 속성(attribute)을 가지는 필터(filter)일 수 있다. 상기 선형 필터 305는 선형의 속성을 가지는 필터일 수 이다. 상기 오디오 필터(또는 신경망) 307는 신경망(neural network)에 기반하여, 신경망 연산을 수행할 수 있는 필터일 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 비선형 필터 303를 이용하여, 상기 오디오 출력 모듈 309로부터 수신된 상기 오디오 신호를 비선형 모델링(또는 필터링) 할 수 있다. 상기 프로세서 120은 상기 비선형 필터 303의 비선형 속성에 기반하여, 상기 오디오 신호를 비선형 모델링 할 수 있다. 상기 프로세서 120은 상기 오디오 신호에 포함된 상기 비선형 신호의 속성을 반영하기 위해, 상기 비선형 필터 303에 기반하여 상기 오디오 신호를 비선형 모델링 할 수 있다. 상기 비선형 모델링 된 오디오 신호는 상기 오디오 신호에 포함된 비선형 신호의 속성을 포함할 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303은 적어도 하나의 비선형 필터를 포함하는 기능적인 구성(집합 또는 그룹)일 수 있다. 일부 실시 예들에서, 상기 적어도 하나의 비선형 필터는 비선형의 속성을 반영하기 위한(비선형의 속성과 관련된) 필터일 수 있다. 상기 비선형 필터 303에 포함된 상기 적어도 하나의 비선형 필터들은 각각 서로 다른 비선형의 속성에 관련될 수 있다. 예를 들면, 상기 비선형 필터 303은 제1 필터와 제2 필터를 포함할 수 있다. 상기 제1 필터는 제1 속성에 대한 것일 수 있다. 상기 제2필터는 제2 속성에 대한 것일 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형 모델링 된 오디오 신호를 상기 선형 필터 305를 통해 제2 오디오 신호로 선형 모델링 할 수 있다. 상기 프로세서 120은 상기 선형 필터 305의 선형의 속성에 기반하여, 상기 오디오 신호를 상기 제2 오디오 신호로 선형 모델링 할 수 있다. 상기 프로세서 120은 상기 오디오 신호에 포함된 상기 선형 신호의 속성을 반영하기 위해, 상기 선형 필터 305에 기반하여 상기 오디오 신호를 상기 제2 오디오 신호로 선형 모델링 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 오디오 입력 모듈 311을 통해 외부 오디오 신호(예: 타겟 신호 및 에코 신호)가 수신되면, 전술된 모델링 된 오디오 신호들에 기반하여 상기 외부 오디오 신호에서 에코 신호를 제거하여 상기 외부 오디오 신호에 타겟 신호만이 포함되도록 처리할 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호에서 상기 제2 오디오 신호에 대응하는 에코 신호를 제거하기 위한 신호 처리를 수행할 수 있다. 상기 제2 오디오 신호는 상기 오디오 신호에 상기 외부 오디오 신호의 비선형의 속성과 선형의 속성을 반영하기 위해 모델링 된 신호일 수 있다. 상기 제2 오디오 신호는, 상기 비선형 필터 303에 기반하여, 에코 성분 중 비선형의 속성을 포함할 수 있다. 상기 제2 오디오 신호는, 상기 선형 필터 305에 기반하여, 에코 성분 중 선형의 속성을 포함할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 오디오 필터 307를 통해, 상기 비선형 필터 303에 의해 비선형 모델링 된 오디오 신호를 제3 오디오 신호로 신경망 모델링 할 수 있다. 일부 실시 예들에서, 상기 오디오 필터 307은 "뉴런(neuron)들", "처리 요소들", "유닛들", 또는 이와 유사하거나 상응하는 용어로 알려진 노드(node)(또는 인공 노드(artificial node)들을 포함할 수 있다. 상기 노드들은 생물학적인 신경망을 모사(mimic)하는 네트워크를 형성하기 위해 연결될 수 있다. 상기 오디오 필터(또는 신경망) 307은, 상기 네트워크에 기반하여, 기계 학습 (machine learning)에 유용한 알고리즘을 구현하기 위한 소프트웨어일 수 있다. 실시 예들에 따라, 상기 신경망 연산은 딥 러닝(deep-learning), 기계 학습(machine learning)등으로 지칭될 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 오디오 필터 307의 입력(input)과 출력(output)에 기반하여 상기 오디오 필터 307을 갱신할 수 있다. 상기 프로세서 120은 상기 오디오 필터 307을 갱신하는 것을 통해, 상기 제3 오디오 신호에 상기 오디오 신호의 비선형의 속성(비선형성)을 실시간으로 반영할 수 있다. 다양한 실시 예들에서, 상기 필터라는 용어들은 필터링부, 필터부, 모델링부, 또는 연산부 등으로 지칭될 수 있으며 이에 한정되지 않는다. 예를 들면, 상기 비선형 필터 303은 비선형 필터부, 상기 선형 필터 305는 선형 층, 그리고 상기 오디오 필터 307는 신경망으로 지칭될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 외부 오디오 신호로부터 상기 제3 오디오 신호에 대응하는 에코 신호를 제거하기 위해 상기 외부 오디오 신호를 처리할 수 있다. 상기 제3 오디오 신호는 상기 비선형 필터 303 및 상기 오디오 필터 307를 통해 비선형의 속성이 반영된 신호일 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은, 상기 제2 오디오 신호에 대응하는 에코 신호가 제거된 외부 오디오 신호에서 상기 제3 오디오 신호에 대응하는 에코 신호를 제거할 수 있다. 상기 프로세서 120은 상기 제 2 오디오 신호와 상기 제3 오디오 신호에 대한 제거가 완료된 외부 오디오 신호를 상기 전자 장치 101 내의 다른 구성 요소로 송신할 수 있다.
도시하지는 않았으나, 다양한 실시 예들에서, 상기 비선형 필터 303, 상기 선형 필터 305 및/또는 상기 오디오 필터 307은 상기 전자 장치 101 내의 다른 구성 요소에 포함될 수 있다. 예를 들면, 상기 비선형 필터 303, 상기 선형 필터 305 및/또는 상기 오디오 필터 307는 도 2의 오디오 모듈 170에 포함될 수 있다. 예를 들면, 상기 비선형 필터 303, 상기 선형 필터 305 및/또는 상기 오디오 필터 307는 도 2의 오디오 신호 처리기 240의 일부로 포함될 수 있다. 일부 실시 예들에서, 상기 비선형 필터 303, 상기 선형 필터 305 및/또는 상기 오디오 필터 307은 상기 프로세서 120과 독립적으로 구성 될 수 있다.
다양한 실시 예들에서, 상기 전자 장치 101은 상기 오디오 입력 모듈311, 상기 오디오 출력 모듈 309, 및 상기 프로세서 120을 포함할 수 있다. 상기 프로세서 120은, 상기 오디오 출력 모듈을 통해 출력될 제1 오디오 신호를 확인(identify)하고, 비선형의 제1 속성을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성할 수 있다. 상기 프로세서 120은 상기 오디오 출력 모듈 309를 통해 상기 제1 오디오 신호를 출력하고, 상기 오디오 입력 모듈 311을 통해 상기 전자 장치 101의 상기 제1 오디오 신호가 포함된 외부 오디오 신호를 획득할 수 있다. 상기 프로세서 120은 상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치가 적용된 오디오 필터 307의 제1 입력 채널을 통해 제1 출력 값을 획득할 수 있다. 상기 프로세서 120은 상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 구별되는(distinct) 제2 가중치가 적용된 상기 오디오 필터 307의 제2 입력 채널을 통해 제2 출력 값을 획득할 수 있다. 상기 프로세서 120은, 상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 기반하여, 제2 오디오 신호를 생성하도록 설정될 수 있다.
다양한 실시 예들에서, 상기 전자 장치 101은, 상기 오디오 입력 모듈 311, 상기 오디오 출력 모듈 309, 명령어들을 저장하는 상기 메모리 130, 및 적어도 하나의 프로세서(예를 들면 프로세서 120)를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 오디오 출력 모듈을 통해 제1 오디오 신호를 출력하고, 상기 제1 오디오 신호를 비선형 필터 303를 통해 비선형의 속성에 기반하여 모델링하고, 상기 비선형의 속성에 기반하여 모델링 된 제1 오디오 신호를, 선형 필터 305를 통해 선형의 속성에 기반하여, 제2 오디오 신호로 모델링하고, 상기 비선형의 속성에 기반하여 모델링 된 제1 오디오 신호를 신경망(neural network) 307을 통해, 제3 오디오 신호로 모델링하고, 상기 오디오 입력 모듈을 통해 제1 오디오 신호와 관련된 외부 오디오 신호를 수신하면, 상기 제2 오디오 신호 및 제3 오디오 신호에 기반하여, 상기 수신된 외부 오디오 신호를 처리하기 위해 상기 저장된 명령어들을 실행하도록 설정될 수 있다.
도 4는 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 구성의 예를 도시한다.
도 4를 참조하면, 상기 전자 장치 101은 오디오 출력 모듈 309, 오디오 입력 모듈 311, 및/또는 프로세서 120을 포함할 수 있다. 상기 프로세서 120은 비선형 필터 303, 선형 필터 305, 오디오 필터 307, FFT 부(405, 407) 및/또는 RES 409를 포함할 수 있다.
도 4를 참조하면, 상기 오디오 출력 모듈 309는 신호(signal)을 수신할 수 있다. 상기 신호는 상기 전자 장치 101의 시스템에 기반하여 생성된 신호를 포함하거나, 외부의 장치로부터 수신된 신호를 포함할 수 있다. 상기 오디오 출력 모듈 309는 상기 수신된 신호를 출력할 수 있다. 상기 오디오 출력 모듈 309는 상기 수신된 신호를 스피커 또는 음향 출력 장치 155 등을 통해 출력할 수 있다. 다양한 실시 예들에서, 상기 수신된 신호(이하 오디오 신호)는 상기 전자 장치 101내에 포함된 통신 모듈 190을 통해 다른 전자 장치로부터 수신된 신호를 포함할 수 있다. 일부 실시 예들에서, 상기 오디오 신호는 무선 또는 유선 통신 환경에서 다른 전자 장치로부터 수신된 신호를 포함할 수 있다. 예를 들면, 전자 장치 101의 사용자가 무선 및/또는 유선으로 다른 전자 장치의 사용자와 통신(또는 통화)하는 경우, 상기 오디오 신호는 상기 다른 전자 장치로부터 수신된 소리와 관련된 신호(예: 음성 신호)일 수 있다. 다른 일부 실시 예에서, 상기 오디오 신호는 상기 전자 장치 101 내에 포함된 적어도 하나의 어플리케이션(application)의 실행에 기반하여, 상기 전자 장치 101 내에서 생성된 신호를 포함할 수 있다. 예를 들면, 상기 전자 장치 101에서 음악 어플리케이션을 통해 음악 파일(file)을 재생할 수 있다. 상기 오디오 신호는 상기 음악 파일에 기반하여 상기 전자 장치 101 내에서 생성(generate)된 소리 신호일 수 있다. 또는, 상기 오디오 신호는 상기 음악 파일의 재생에 기반하여 상기 네트워크 199를 통해 수신된 상기 재생과 관련된 신호일 수 있다. 또 다른 일부 실시 예에서, 상기 오디오 신호는 상기 네트워크 199를 통해 상기 서버108로부터 수신된 신호를 포함할 수 있다. 실시 예에 따라, 상기 오디오 신호는 상기 오디오 출력 모듈 309을 통해 출력하기 위한 소리와 관련된 신호를 포함할 수 있으며, 오디오 데이터, 소리 신호, 소리 데이터, 또는 신호 등의 다양한 용어로 지칭될 수 있다.
다양한 실시 예들에서, 상기 전자 장치 101은 오디오 입력 모듈 311을 통해 에코 신호 및/또는 타겟 신호를 수신할 수 있다. 예를 들면, 상기 전자 장치 101가 음성 통화 모드인 경우, 상기 타겟 신호는 상기 전자 장치 101의 사용자의 음성(voice)에 대한 신호일 수 있다. 상기 에코 신호는, 상기 전자 장치 101이 상기 통신 모듈 190을 통해 수신된 신호를 상기 오디오 출력 모듈 309를 통해 출력하는 경우, 상기 출력된 신호가 경로 401과 같이 상기 오디오 입력 모듈 311로 유입되는 신호일 수 있다. 상기 전자 장치 101은 상기 수신된 타겟 신호를 다른 전자 장치에게 전송하기 위해 신호 처리(signal processing)를 수행할 수 있다. 상기 신호 처리는 상기 오디오 입력 모듈 311을 통해 상기 타겟 신호와 상기 에코 신호가 함께 입력(예: 입력 신호)되는 경우, 상기 입력 신호에서 상기 에코 신호를 제거하여 상기 타겟 신호만을 추출하여 전송하기 위한 처리를 포함할 수 있다.
다양한 실시 예들에서, 상기 에코 신호는 상기 출력된 오디오 신호를 포함할 수 있다. 상기 오디오 입력 모듈 311은 상기 마이크를 통해 상기 출력된 오디오 신호를 수신할 수 있다. 상기 오디오 입력 모듈 311을 통해 수신된 에코 신호는 상기 비선형 신호를 포함할 수 있다. 상기 오디오 입력 모듈 311은 상기 수신된 에코 신호가 아날로그 신호(analog signal)인 경우 ADC(analog to digital converter)를 통해 디지털 신호로 변환할 수 있다. 상기 변환된 디지털 신호는 음성 파형의 형태로 나타날(indicate) 수 있다.
다양한 실시 예들에서, 경로 401을 참조하면, 상기 전자 장치 101은 상기 오디오 출력 모듈 309을 통해 출력된 오디오 신호를 상기 오디오 입력 모듈 311을 통해 수신할 수 있다. 일부 실시 예들에서, 상기 외부 오디오 신호는 선형 신호 및/또는 비선형 신호를 포함할 수 있다. 상기 선형 신호는 선형의 파형으로 나타낼 수 있는 신호, 즉 미분 가능한 형태로 나타낼 수 있는 신호일 수 있다. 상기 비선형 신호는 상기 오디오 출력 모듈 309을 통해 상기 오디오 신호가 출력되는 동안 생성(또는 유입)되거나, 상기 오디오 입력 모듈 311을 통해 상기 외부 오디오 신호가 유입되는 동안 생성된 신호일 수 있다. 상기 비선형 신호는 비선형의 속성을 가지는 신호일 수 있다. 상기 비선형 신호는 선형으로 나타낼 수 없는 신호, 즉 미분 가능한 형태로 나타낼 수 없는 신호일 수 있다. 상기 비선형 신호는 상기 전자 장치 101내에 포함된 소자의 비선형성에 의해 생성되거나 상기 전자 장치 101 및 상기 전자 장치 101내에 포함된 소자의 진동에 의해 생성될 수 있다.
도 4를 참조하면, 상기 프로세서 120은 AEC(acoustic echo cancellation) 403을 포함할 수 있다. 다양한 실시 예들에서, 상기 외부 오디오 신호는 디지털 신호로 변환되어 상기 프로세서 120에게 송신될 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호에서 에코 신호인 오디오 신호를 제거하기 위한 처리(process)를 수행할 수 있다.
다양한 실시 예들에서, 상기 AEC 403는 상기 선형 필터 305 및 상기 비선형 필터 303을 포함할 수 있다. 상기 AEC 403은 반향(또는 에코(echo))을 처리하기 위한 기능적 구성일 수 있다. 상기 AEC 403은 상기 수신된 오디오 신호를 상기 비선형 필터 303를 통해 모델링(또는 필터링) 할 수 있다. 다른 일부 실시 예들에서, 상기 AEC 403은 상기 오디오 입력 모듈 311로부터 상기 외부 오디오 신호를 수신할 수 있다. 상기 AEC 403은는 상기 외부 오디오 신호를 상기 비선형 필터 303과 상기 선형 필터 305를 통해 처리된 신호에 기반하여 처리할 수 있다. 예를 들면, 상기 AEC 403는 상기 외부 오디오 신호에서, 상기 비선형 필터 303과 상기 선형 필터 305에 의해 상기 처리된 신호를 제거할 수 있다.
다양한 실시 예들에서, 상기 AEC 403은 선형 필터 305를 포함할 수 있다. 상기 AEC는 상기 오디오 출력 모듈 309로부터 오디오 신호를 수신하고, 이를 선형의 속성에 기반하여 모델링 할 수 있다. 상기 AEC 403은 상기 오디오 입력 모듈 311로부터 상기 외부 오디오 신호를 수신할 수 있다. 상기 AEC 403은 상기 외부 오디오 신호에서 상기 선형의 속성에 기반하여 모델링 된 오디오 신호를 제거하기 위해, 상기 외부 오디오 신호를 처리할 수 있다. 예를 들면, 상기 AEC 403은 상기 외부 오디오 신호에서, 상기 선형 필터 305에 의해 상기 처리된 신호를 제거할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 AEC 403을 통해 처리된 신호에, 상기 비선형 필터 303과 상기 오디오 필터 307에 기반하여 생성된 신호를 제거하기 위한 처리를 수행할 수 있다.
다양한 실시 예들에서, 상기 AEC는 상기 경로 401을 통해 입력되는 신호 및/또는 출력되는 신호에 기반하여 상기 선형 필터 305와 상기 비선형 필터 303을 갱신(update)할 수 있다. 상기 AEC 403은 상기 수신된 오디오 신호를 상기 비선형 필터 303을 통해 비선형 모델링 할 수 있다. 상기 AEC 403는 상기 비선형 모델링 된 오디오 신호를 상기 선형 필터 305를 통해 선형 모델링 할 수 있다. 상기 선형 모델링 된 오디오 신호는 제2 오디오 신호로 지칭될 수 있다. 일부 실시 예에서, 상기 AEC 403은 상기 오디오 입력 모듈 311을 통해 상기 외부 오디오 신호를 수신할 수 있다. 상기 AEC 403은 상기 수신된 외부 오디오 신호에서 상기 제2 오디오 신호를 제거하기 위해 상기 외부 오디오 신호를 처리할 수 있다.
도 4를 참조하면, 상기 오디오 출력 모듈 309는 상기 비선형 필터 303에게 상기 오디오 신호를 송신할 수 있다. 상기 비선형 필터 303은 상기 수신된 오디오 신호를 모델링 할 수 있다. 다양한 실시 예들에서, 상기 비선형 필터 303은 수신된 상기 오디오 신호를 비선형의 속성에 기반하여 모델링 할 수 있다. 상기 비선형 필터 303은 상기 시그모이드(sigmoid) 함수에 관련된 필터를 포함할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형 필터 303와 관련된 시그모이드 함수를 상기 오디오 출력 모듈 309를 통해 출력되는 신호와 상기 출력되는 신호가 상기 경로 401과 같이 상기 오디오 입력 모듈 311을 통해 입력되는 신호에 기반하여 식별(identify) 또는 미리 결정할 수 있다. 상기 시그모이드 함수는 비선형의 속성을 포함할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 출력 및 입력되는 신호들에 기반하여, 상기 시그모이드 함수의 파라미터를 실시간으로 추정하여 갱신할 수 있다. 상기 프로세서 120은 다양한 알고리즘에 기반하여 상기 시그모이드 함수의 파라미터를 실시간으로 갱신할 수 있다.
다양한 실시 예들에서, 상기 외부 오디오 신호와 관련된 비선형의 속성은 주파수 대역, 출력되는 신호의 이득(gain), 및/또는 상기 전자 장치 101에 포함된 소자(예: 마이크, 스피커 등)의 실장 상태에 따라 다양하게 나타날 수 있다. 다양한 실시 예들에서, 상기 전자 장치 101은 복수 개의 시그모이드 함수에 기반하여, 다양하고, 가변적인 비선형의 속성을 모델링 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형 필터 303를 통해 모델링 된 신호를 상기 선형 필터 305와 상기 오디오 필터 307에게 송신할 수 있다. 일부 실시 예들에서, 상기 비선형 필터 303은 상기 수신된 오디오 신호를 상기 비선형의 속성에 기반하여 모델링 할 수 있다. 상기 비선형 필터 303은 상기 모델링 된 오디오 신호(이하 비선형 모델링 된 신호)를 상기 선형 필터 305와 상기 오디오 필터 307에게 송신할 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303는 복수 개의 비선형 필터들을 포함할 수 있다. 상기 복수 개의 비선형 필터들은 각각 서로 다른 비선형의 속성을 포함할 수 있다. 예를 들면, 상기 비선형 필터 303은 제1 필터 및 제2 필터를 포함할 수 있다. 상기 제1 필터는 비선형의 제1 속성을 포함할 수 있다. 상기 제2 필터는 제1 속성과 구별되는 비선형의 제2 속성을 포함할 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303은 시그모이드(sigmoid) 함수와 관련된 필터일 수 있으며, 상기 시그모이드 함수를 통해 다양한 비선형의 속성을 나타낼(indicate) 수 있다. 예를 들면, 서로 다른 파라미터(parameter)(또는 계수)를 가지는 복수 개의 시그모이드 함수 각각은 서로 다른 비선형의 속성을 가질 수 있다. 상기 시그모이드 함수는 그래프상에서 S형태의 곡선으로 표시될 수 있다. 이와 관련된 상세한 설명은 도 14를 통해 후술될 것이다.
다양한 실시 예들에서, 상기 비선형 필터 303는, 상기 시그모이드 함수에 기반하여 신호를 모델링 할 수 있다. 상기 비선형 필터 303는 상기 시그모이드 함수에 기반하여 입력된 신호에 비선형의 속성(특징 또는 특성)을 반영할 수 있다. 상기 입력된 신호는 상기 비선형 필터 303에 기반하여 비선형 모델링 될 수 있다. 일부 실시 예들에서, 상기 비선형 필터 303은 복수 개의 비선형 필터들을 포함할 수 있다. 상기 복수 개의 비선형 필터 각각은 서로 다른 비선형의 속성을 포함할 수 있다. 상기 비선형 필터 303는 상기 오디오 신호를 수신하는 경우, 상기 비선형 필터 303는 상기 복수개의 비선형 필터들 각각에게 상기 수신된 오디오 신호를 입력할 수 있다. 상기 비선형 필터 303은 상기 복수 개의 비선형 필터들을 통해 상기 수신된 오디오 신호에 서로 다른 비선형의 속성을 반영할 수 있다. 다양한 실시 예들에서, 상기 비선형 필터 303은 상기 오디오 출력 모듈 309로부터 수신된 오디오 신호를 모델링 한 후, 상기 모델링 된 오디오 신호를 상기 선형 필터 305와 상기 오디오 필터 307에게 송신할 수 있다. 일부 실시 예에서, 상기 비선형 필터 303이 복수 개의 비선형 필터들을 포함하는 경우, 상기 비선형 필터 303은 상기 제1 속성이 반영된 상기 제1 신호 및 상기 제2 속성이 반영된 상기 제2 신호를 상기 선형 필터 305에게 송신할 수 있다. 상기 비선형 필터는 상기 제1 속성이 반영된 상기 제1 신호 및 상기 제2 속성이 반영된 상기 제2 신호를 상기 오디오 필터 307에게 송신할 수 있다.
다양한 실시 예들에서, 상기 선형 필터 305는 비선형의 속성이 반영된 신호를 수신할 수 있다. 상기 선형 필터 305는 상기 수신된 신호를 선형의 속성에 기반하여 모델링 할 수 있다. 상기 선형 필터 305를 통해 상기 수신된 신호는 선형의 속성을 포함할 수 있다. 일부 실시 예들에서, 상기 선형 필터 305는 선형의 속성을 가지는 적응 필터(adaptive filter)일 수 있다. 상기 적응 필터는 입력 값과 출력 값에 기반하여 적응적으로 갱신(refined or updated)될 수 있다. 상기 갱신에 기반하여, 상기 적응 필터는 상기 수신된 신호를 적응적으로 모델링 할 수 있다.
다양한 실시 예들에서, 상기 선형 필터 305는 상기 오디오 출력 모듈 309로부터 상기 오디오 신호를 수신하여 상기 오디오 신호를 모델링 할 수 있다. 상기 선형 필터 305는 선형의 속성을 포함할 수 있으며, 상기 외부 오디오 신호에 포함된 선형의 신호와 관련된 모델링을 수행할 수 있다. 상기 선형 필터 305는 상기 수신된 오디오 신호에 선형의 속성을 반영하여 모델링 할 수 있다.
다양한 실시 예들에서, 상기 선형 필터 305는 복수 개의 시그모이드 함수에 의해 모델링 된 신호를 수신할 수 있다. 시간 축 상에서, 상기 선형 필터 305에 대한 모델링 과정(예: NLMS(normalized least mean square) 필터링)은 적응 필터(adaptive filter)의 신호 처리 과정에 대응될 수 있다. 일부 실시 예들에서, 상기 선형 필터 305에게 수신된 신호가 N개인 경우, 상기 선형 필터의 길이는 1개의 신호에 대한 모델링과 비교하여, N배만큼 길어질 수 있다. 상기 선형 필터 305에 수신된 신호의 수 및/또는 상기 선형 필터 305의 길이에 비례하여 상기 전자 장치 101의 연산량이 증가할 수 있다. 다양한 실시 예들에서, 상기 전자 장치 101의 연산량과 메모리가 제한적인 경우, 상기 선형 필터 305는 상기 수신된 신호 중 적어도 일부를 선택적으로 이용할 수 있다. 예를 들면, 상기 선형 필터 305는 N개의 신호를 수신한 경우, 가장 좋은 성능을 보이는 1개의 시그모이드 함수에 대한 신호를 선택적으로 이용할 수 있다.
다양한 실시 예들에서, 상기 복수 개의 시그모이드 함수에 대한 신호는 주파수 축 상에서 에코를 제거하기 위해 이용될 수 있다. 주파수 축 상에서는 입력된 신호의 수와 관련된 상기 전자 장치 101의 연산량은, 시간 축 상에서 입력된 신호의 수와 관련된 상기 전자 장치 101의 연산량보다 작을 수 있다. 상기 프로세서 120은 주파수 축의 곱하기 연산에 상기 신호와 관련된 연산을 수행하는 것에 의해 연산량을 감소 시킬 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 FFT(fast fourier transform, 고속 푸리에 변환)와 관련된 알고리즘을 이용하여 연산량을 감소시킬 수 있다.
다양한 실시 예들에서, 상기 FFT부(405, 407)는 상기 FFT 및/또는 푸리에(fourier) 변환을 하기 위한 구성을 포함할 수 있다. 상기 FFT 및/또는 상기 푸리에 변환은 시간 축(또는 영역, 도메인)에서의 신호를 주파수 축으로 변환해서 신호를 분석하는 방법일 수 있다.
다양한 실시 예들에서, 상기 FFT부 407는, 상기 비선형 모델링 된 신호를 시간 축으로부터 주파수 축으로 변환할 수 있다. 상기 FFT부 405는, 상기 제2 오디오 신호가 제거 된 외부 오디오 신호를 시간 축으로부터 주파수 축으로 변환할 수 있다.
다양한 실시 예들에서, 상기 FFT에 기반하여 변환된 신호는 N(임의의 수)개의 주파수에 기반하여 구분될 수 있다. 예를 들면, 제1 신호는, 상기 FFT를 통해, 제1 주파수에 대한 제1 신호 및 제2 주파수에 대한 제1 신호로 분해될 수 있다. 일부 실시 예들에서, 상기 FFT 변환된 주파수 축 상의 신호는 N개의 범위로 나누어 질 수 있으며, 각각의 범위는 제1 주파수 내지 제N 주파수일 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 2개 이상의 비선형 필터(sigmoid 함수)들에 대한 출력을 상기 오디오 필터 307 (예: non-linear echo magnitude regression)에 대한 입력으로 이용할 수 있다. 상기 프로세서 120은 상기 비선형 필터들의 개수 만큼 FFT를 수행할 수 있다. 상기 FFT는 상기 선형 필터 305와 관련된 연산(예: NLMS 연산)에 비해 적은 연산량으로 구현될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 신경망(neural network) 또는 신경망 연산이 가능한 필터를 포함할 수 있다. 상기 오디오 필터 307은 주파수 축에 기반하여 수신된 신호를 신경망 모델링 할 수 있다. 예를 들면, 상기 오디오 필터 307은 FFT부 407에 의해 주파수 축으로 변환된 신호에 대해 신경망 모델링을 수행할 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 비선형의 속성을 포함할 수 있다. 상기 비선형의 속성에 기반하여, 상기 오디오 필터 307은 상기 수신된 신호를 신경망 모델링 할 수 있다. 상기 오디오 필터 307를 통해 신경망 모델링 된 신호는 제3 오디오 신호로 지칭될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307는 입력 값과 출력 값에 기반하여 실시간으로 갱신될 수 있다. 상기 오디오 필터 307는 미리 결정된(predetermined or predefined) 학습 데이터를 포함할 수 있다. 상기 학습 데이터는 상기 오디오 필터 307의 입력 값과 출력 값에 기반하여 결정될 수 있다. 상기 학습 데이터에 대한 정보에 기반하여, 상기 오디오 필터 307은 출력 값에 대한 오차를 결정할 수 있다. 상기 오차에 기반하여, 상기 오디오 필터 307는 실시간으로 갱신될 수 있다. 상기 오디오 필터 307은 상기 오차를 출력 층으로부터 입력 층으로 전달하는 방법을 통해 갱신될 수 있다. 일부 실시 예들에서, 상기 오디오 필터 307은 가중치(weight)를 포함할 수 있다. 상기 가중치는 상기 결정된 오차에 기반하여 갱신될 수 있다. 상기 가중치가 갱신되는 것에 기반하여, 상기 오디오 필터 307은 실시간으로 갱신될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 FFT부 405를 통해, 상기 제2 오디오 신호에 대한 처리가 완료된 신호 (이하 1차 처리된 신호)를, 상기 제3 오디오 신호에 대응하는 신호를 제거하기 위해, 시간 축으로부터 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 상기 주파수 축에 대한 신호로 변환된1차 처리된 신호를 주파수 별로 구분할 수 있다. 예를 들면, 상기 프로세서 120은 상기 1차 처리된 신호를 N개의 주파수에 대한 N개의 신호로 구분할 수 있다. 상기 프로세서 120은 상기 N개의 주파수 별로 구분된 1차 처리된 신호로부터(from) 상기 제3 오디오 신호에 대응하는 에코 신호를 제거하기 위한 처리를 수행할 수 있다. 다른 예를 들면, 상기 프로세서 120는, 상기1차 처리된 신호를 제1 주파수에 대한 1차 처리된 신호와 제2 주파수에 대한 1차 처리된 신호로 결정할 수 있다. 상기 제3 오디오 신호는 제1 주파수에 대한 출력 값 및 제2 주파수에 대한 출력 값을 포함할 수 있다. 상기 프로세서 120은 상기 제1 주파수에 대한 1차 처리된 신호로부터 상기 제3 오디오 신호에 포함된 상기 제1 주파수에 대한 출력 값에 대응하는 신호를 제거할 수 있다. 상기 프로세서 120은 상기 제2 주파수에 대한 1차 처리된 신호로부터 상기 제3 오디오 신호에 포함된 상기 제2 주파수에 대한 출력 값에 대응하는 신호를 제거할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제3 오디오 신호를 제거하기 위한 처리가 완료된 신호를 잔류 에코 신호를 제거하기 위한 RES(residual echo suppression) 409로 송신할 수 있다. 도시하지는 않았으나, 상기 프로세서 120은 상기 제3 오디오 신호를 제거하기 위한 처리가 완료된 신호를 잡음을 제거하기 위한 NS(noise suppression)로 송신할 수 있다. 상기 프로세서 120은, 상기 외부 오디오 신호에 에코 신호가 남아있는 경우, RES및/또는 NS를 통해, 잔여(residual) 외부 오디오 신호를 제거할 수 있다.
다양한 실시 예들에서, 도시하지는 않았으나, AEC(acoustic echo cancellation)은 선형 신호를 제거하기 위한 선형 필터 305 부분과 주파수 축 상에서 비선형 신호를 제거하기 위한 부분(예: 비선형 필터 303및 오디오 필터 307)을 포함할 수 있다. 상기 AEC에 의해 처리된 후, 최종으로 남은 잔여 에코 신호는 상기 AEC로부터 NS(noise suppression) 및/또는 RES(residual noise suppression)으로 전달되어 제거될 수 있다.
다양한 실시 예들에서, 상기 RES 409 및 상기 NS는 상기 프로세서120 내에 포함되거나 별개로 존재할 수 있다. 일부 실시 예들에서, 상기 RES 409 및 상기 NS는 상기 전자 장치 101의 다른 구성 요소에 포함될 수 있다. 예를 들면, 상기 RES 409 및 상기 NS는 도 2의 오디오 모듈 170에 포함될 수 있다. 예를 들면, 상기 RES 409 및 상기 NS는 도 2의 오디오 신호 처리기 240의 일부로 포함될 수 있다.
도 4를 통해 서술한, 상기 선형 필터 305, 상기 비선형 필터 303, 상기 FFT(405, 407), 상기 오디오 필터 307, 상기 AEC 403이 수행하는 동작들은 상기 프로세서 120에 의해 수행될 수 있다. 일부 실시 예들에서, 상기 동작들은 상기 메모리 130에 저장된 명령어들을 실행하도록 설정된 상기 프로세서 120에 의해 수행될 수 있다.
도 5는 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 구성의 다른 예를 도시한다.
도 5를 참조하면, 상기 프로세서 120은 제1 필터 303-1와 제2필터 303-2를 포함하는 상기 비선형 필터 303, 상기 선형 필터 305, FFT부(405, 407-1, 407-2), 상기 오디오 필터 307, 및 상기 RES 411을 포함한다. 상기 도 5는 상기 도 4와 관련하여, 중복되는 구성(예를 들면, 상기 오디오 출력 모듈 309, 상기 오디오 입력 모듈 311, 상기 RES 411)을 포함할 수 있다. 상기 중복되는 구성과 관련된 설명은 도 4를 참조할 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303은 비선형의 속성을 가지는 복수 개의 비선형 필터들을 포함할 수 있다. 상기 오디오 출력 모듈 309는 상기 복수 개의 비선형 필터들 각각에게 상기 오디오 신호를 송신할 수 있다. 일부 실시 예들에서, 상기 오디오 출력 모듈 309는 상기 비선형 필터 303에게 상기 오디오 신호를 송신할 수 있다. 상기 비선형 필터 303은 상기 오디오 신호를 복수 개의 비선형 필터 각각에게 송신할 수 있다. 다른 일부 실시 예들에서, 상기 비선형 필터 303은 상기 복수 개의 필터들 중에서 상기 오디오 신호를 모델링 할 적어도 두 개의 필터들을 이용하여 상기 수신된 오디오 신호를 모델링 할 수 있다. 일 실시 예에서, 상기 적어도 두 개의 필터들은 상기 프로세서 120 에 의해 미리 결정될 수 있다.
도 5을 참조하면, 다양한 실시 예들에서, 상기 비선형 필터 303은 비선형의 제1 속성을 가지는 제1 필터 303-1 및 비선형의 제2 속성을 가지는 제2 필터 303-2를 포함할 수 있다. 상기 제1 속성 및 상기 제2 속성은 상기 비선형 필터 303에 대한 파라미터(parameter)에 의해 구분될 수 있다. 예를 들면, 상기 제1 속성에 대한 상기 시그모이드 함수의 계수(또는 파라미터)와 상기 제2 속성에 대한 상기 시그모이드 함수의 계수(또는 파라미터)는 상이할 수 있다.
다양한 실시 예들에서, 상기 오디오 신호는 상기 시그모이드 함수를 통해, 소자(예: 스피커 또는 마이크 등)의 비선형의 속성을 반영할 수 있다. 상기 시그모이드 함수의 파라미터는 상기 소자와 관련된 신호에 기반하여 미리 결정될 수 있다. 일부 실시 예들에서, 상기 시그모이드 함수의 파라미터는 상기 프로세서 101을 통해 실시간으로 추정될 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303은 상기 제1 필터에 의해 상기 수신된 오디오 신호를 상기 제1속성에 기반하여 제1 신호로 모델링 할 수 있다. 상기 비선형 필터 303은 상기 제2 필터에 의해 상기 수신된 오디오 신호를 상기 제2속성에 기반하여 제2 신호로 모델링 할 수 있다.
다양한 실시 예들에서, 상기 선형 필터 305는 상기 비선형 필터 303으로부터 복수 개의 신호를 수신할 수 있다. 예를 들면, 상기 선형 필터 305는 상기 제1 신호 및 상기 제2 신호를 상기 비선형 필터 303으로부터 수신할 수 있다. 상기 비선형 필터 303을 통해 모델링 된 신호는 상기 선형 필터 305의 참조 에코(echo reference) 신호로 이용될 수 있다. 일부 실시 예들에서, 상기 선형 필터 305는 NLMS(Normalized least mean square), AP(affine projection), 및/또는RLS (recursive least square) 중 적어도 하나의 알고리즘이 적용된 적응 필터에 대응될 수 있다. 상기 선형 필터 305는 상기 복수 개의 신호들을, 상기 수신된 복수 개의 신호들에 선형의 속성을 반영된 신호들로 모델링 할 수 있다. 예를 들면, 상기 선형 필터 305는 상기 제1 신호 및 상기 제2 신호를 상기 선형 필터 305의 상기 선형의 속성에 기반하여 모델링 할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형 필터 303를 통해 모델링 된 복수 개의 신호들 중 적어도 일부를 상기 선형 필터 305에게 송신할 수 있다. 다양한 실시 예들에서, 상기 선형 필터 305는 복수 개의 시그모이드 함수에 의해 모델링 된 신호를 입력으로 하여, 시간 축 상에서, 상기 선형 필터 305에 대한 모델링(예: NLMS모델링등)을 할 수 있다. 상기 NLMS 모델링은 일반적인 적응 필터(adaptive filter)의 신호 처리에 대응될 수 있다. 일부 실시 예들에서, 상기 선형 필터 305에게 수신된 신호가 N개인 경우, 상기 선형 필터의 길이는 1개의 신호에 대한 모델링과 비교하여, N배만큼 길어질 수 있다. 상기 선형 필터 305에 수신된 신호의 수 및/또는 상기 선형 필터 305의 길이에 비례하여 상기 전자 장치 101의 연산량이 증가할 수 있다. 다양한 실시 예들에서, 상기 전자 장치 101의 연산량과 메모리가 제한적인 경우, 상기 선형 필터 305는 상기 수신된 신호 중 적어도 일부를 선택적으로 이용할 수 있다. 예를 들면, 상기 선형 필터 305는 N개의 신호를 수신한 경우, 가장 좋은 성능을 보이는 1개의 시그모이드 함수에 대한 신호를 선택적으로 이용할 수 있다. 상기 선형 필터 305는 선형의 속성에 기반하여 선택된 신호를 모델링 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 FFT부 407-1에 기반하여, 상기 제1 필터 303-1을 통해 모델링 된 상기 제1 신호를 상기 시간 축에서 상기 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 상기 FFT부 407-2에 기반하여, 상기 제2 필터 303-2를 통해 모델링 된 상기 제2 신호를 상기 시간 축에서 상기 주파수 축으로 변환할 수 있다. 다양한 실시 예들에서, 상기 외부 오디오 신호와 관련된 비선형의 속성은 주파수 대역, 출력되는 신호의 이득(gain), 및/또는 상기 전자 장치 101에 포함된 소자(예: 마이크, 스피커 등)의 실장 상태에 따라 다양하게 나타날 수 있다. 다양한 실시 예들에서, 상기 전자 장치 101은 복수 개의 시그모이드 함수에 기반하여, 다양하고, 가변적인 비선형의 속성을 모델링 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 FFT부407-1에 기반하여 변환된 상기 제1 신호와 상기 FFT부407-2에 기반하여 변환된 상기 제2 신호를 주파수로 구분할 수 있다. 예를 들면, 상기 제1 신호와 상기 제2 신호는 각각 제1 주파수에 대한 값과 제2 주파수에 대한 값으로 나누어질 수 있다. 상기 프로세서 120은 나누어진 상기 제1 신호(상기 제1 신호의 제1 주파수에 대한 값과 상기 제1 신호의 제2 주파수에 대한 값) 및 나누어진 제2 신호(상기 제2 신호의 제1 주파수에 대한 값과 상기 제2 신호의 제2 주파수에 대한 값)를 상기 오디오 필터 307에게 송신할 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307는 복수개의 오디오 필터들을 포함할 수 있다. 상기 복수 개의 오디오 필터들의 수는 상기 구분된 주파수의 수(N)에 대응될 수 있다. 예를 들면, 상기 구분된 주파수의 수가 N개인 경우 상기 오디오 필터 307은 N개의 오디오 필터를 포함할 수 있다. 일부 실시 예들에서, 상기 오디오 필터 307은 제1 주파수에 대한 제1 오디오 필터 및 제2 주파수에 대한 제2 오디오 필터를 포함할 수 있다. 상기 프로세서 120은 상기 제1 신호의 제1 주파수에 대한 값과 상기 제2 신호의 제1 주파수에 대한 값을 상기 제1 주파수와 관련된 상기 제1 오디오 필터에게 송신할 수 있다. 상기 프로세서 120은 상기 제1 신호의 제2 주파수에 대한 값과 상기 제2 신호의 제2 주파수에 대한 값을 상기 제2 주파수와 관련된 상기 제2 오디오 필터에게 송신할 수 있다. 실시 예들에 따라, 상기 구분된 주파수는 주파수 빈(bin)으로 지칭될 수 있다. 예를 들면, 상기 제1 주파수는 제1 주파수 빈으로 지칭될 수 있다.
도 5을 참조하면, 다양한 실시 예들에서, 상기 오디오 필터 307는 입력 및/또는 출력이 수행되는 복수 개의 노드(node)들을 포함할 수 있으며, 상기 복수 개의 노드들은 계층에 기반하여 연결 될 수 있다. 상기 계층은 입력 층(input layer), 은닉 층(hidden layer), 및 출력 층(output layer)으로 구성될 수 있다. 입력 층과 출력 층은, 은닉 층을 사이에 두고, 서로 연결될 수 있다. 상기 각각의 계층들은 한 개 또는 그 이상의 노드들을 포함할 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 입력 층(노드부, 노드층, 필터부 또는 필터층), 은닉 층(노드부, 노드층, 필터부, 또는 필터층), 및/또는 출력 층(노드부, 노드층, 필터부, 또는 필터층)를 포함할 수 있다. 상기 입력 층, 은닉 층, 및 출력 층는 순차적으로 연결될 수 있다. 일부 실시 예들에서, 상기 입력 층는 복수 개의 입력 노드를 포함할 수 있다. 상기 은닉 층는 적어도 한 개의 은닉 노드를 포함할 수 있다. 상기 출력 층는 적어도 한 개의 출력 노드를 포함할 수 있다. 상기 복수 개의 입력 노드는 상기 적어도 한 개의 은닉 노드와 연결될 수 있다. 상기 적어도 한 개의 은닉 노드는 상기 적어도 한 개의 출력 노드와 연결될 수 있다. 상기 비선형 모델링 된 오디오 신호는 복수 개의 입력 노드 각각으로 송신될 수 있다. 각각의 입력 노드에 송신된 상기 비선형 모델링 된 신호들은 상기 오디오 필터 307에 포함된 입력 층, 은닉 층, 및/또는 출력 층 사이의 연결에 기반하여, 모델링 될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 가중치(weight)(또는 파라미터(parameter))들을 포함할 수 있다. 상기 가중치들은 상기 오디오 필터 307의 알고리즘에 기반하여 조절될 수 있다. 상기 가중치들은 비선형 함수(예를 들면, 시그모이드 함수(sigmoid function), ReLU(rectified Linear Unit, 렐루) 함수 등)에 기반하여 결정된 값일 수 있다. (여기서, 비선형 함수는 비선형 필터에 적용된 비선형 함수와 구분되는 함수일 수 있다)상기 가중치들에 기반하여, 상기 오디오 필터 307은 입력된 값에 비선형의 속성을 반영할 수 있다. 예를 들면, 상기 오디오 필터 307은 입력 값에 비선형 함수들을 근사화(approximating) 할 수 있다. 일부 실시 예들에서, 상기 가중치는 상기 신경망에 포함된 노드들 사이의 연결의 강도(strength)와 관련될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307의 가중치들은 갱신될 수 있다. 상기 가중치들이 갱신되는 것에 기반하여, 상기 오디오 필터 307은 실시간으로 갱신될 수 있다. 일 실시 예에서, 상기 오디오 필터 307가 복수 개의 필터들을 포함할 수 있다. 상기 오디오 필터307이 상기 복수 개의 필터들 각각에 대한 복수 개의 가중치들을 포함하는 경우, 상기 갱신되는 가중치는 상기 복수 개의 가중치들이 갱신되는 것에 기반하여 갱신될 수 있다. 상기 가중치는 상기 복수 개의 가중치들을 나타내기 위한 기능적 표현일 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 상기 오디오 필터 307에 입력되는 값과 상기 오디오 필터 307에 기반하여 출력되는 값에 기반하여 갱신(update)될 수 있다. 상기 오디오 필터 307은 오차역전파법(backpropagation)(또는 오류역전파법)에 기반하여 갱신될 수 있다.
다양한 실시 예들에서, 상기 출력 층는 가중치(weight)(또는 연결 가중치)에 기반하여 상기 은닉 층와 연결될 수 있다. 상기 가중치는 상기 출력 층로부터 상기 은닉 층에게 송신되는 오차에 기반하여 갱신될 수 있다. 상기 오디오 필터 307은 상기 은닉 층에게 송신된 오차를 상기 은닉 층를 거쳐 상기 입력 층에게 송신 할 수 있다. 상기 입력 층는 다른 가중치(another weight)에 기반하여 상기 은닉 층과 연결될 수 있다. 상기 다른 가중치는 상기 은닉 층를 거쳐 상기 입력 층에게 송신되는 오차에 기반하여 갱신될 수 있다. 갱신되는 오차에 기반하여, 상기 오디오 필터 307은 실시간으로 및/또는 지속적으로 갱신될 수 있다.
실시 예에 따라, 상기 프로세서 120은 상기 입력되는 값과 상기 출력되는 값에 기반하여 학습 데이터를 미리 결정할 수 있다. 상기 결정된 학습 데이터에 기반하여, 상기 프로세서 120은 실제로 출력되는 출력 값과 학습 데이터를 비교하여 오차를 결정할 수 있다. 상기 오차에 기반하여 상기 프로세서 120은 상기 가중치를 갱신할 수 있다. 다른 실시 예에서, 상기 프로세서 120은 상기 출력 층로부터 상기 입력 층에게 오차를 송신할 수 있다. 예를 들면, 상기 프로세서 120은 상기 출력 값을 결정하는 것에 대응하여, 상기 미리 결정된 학습 데이터 값과 상기 결정된 출력 값을 비교할 수 있다. 상기 프로세서 120은 비교에 기반하여, 상기 프로세서 120의 오차를 결정할 수 있다. 상기 프로세서 120은 상기 오차를 상기 출력 층로부터 상기 은닉 층에게 송신할 수 있다. 상기 송신에 기반하여, 상기 프로세서 120은 상기 오디오 필터 307을 갱신할 수 있다.
다양한 실시 예들에서, 제1 오디오 필터501은 제1 주파수에 대한 값들을 수신할 수 있다. 상기 제1 오디오 필터 501은 복수 개의 입력 노드(또는 필터)들(503-1, 503-2)을 포함할 수 있다. 상기 복수 개의 입력 노드들(503-1, 503-2)을 통해, 상기 제1 오디오 필터 501은 복수 개의 신호들을 수신할 수 있다. 상기 제1 신호 및 상기 제2 신호는 복수 개의 은닉 노드(또는 필터)들(505-1, 505-2)를 통해 출력 노드(또는 필터) 507로 송신될 수 있다. 상기 출력 노드 507를 통해 상기 오디오 필터 307은 제1 출력 값을 결정할 수 있다. 상기 제1 오디오 필터 501은 복수 개의 신호들을 수신할 수 있다. 제2 오디오 필터 502도 상기 제1 오디오 필터 501과 동일한 구성을 포함할 수 있다. 이와 관련된 설명은 도 8a 및 도8b를 통해 후술될 것이다.
다양한 실시 예들에서, 상기 제1 오디오 필터 501은 비선형의 속성을 포함할 수 있다. 상기 제1 오디오 필터 501은 상기 수신된 상기 제1 신호의 제1 주파수에 대한 값과 상기 제2 신호의 제1 주파수에 대한 값을 상기 제1 오디오 필터 501의 속성에 기반하여 모델링 할 수 있다. 상기 제1 오디오 필터 501은 상기 모델링을 통해 제1 출력 값을 결정할 수 있다. 상기 제2 오디오 필터의 구성 및/또는 동작은 상기 제1 오디오 필터 501에 대응될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 선형 필터 305를 통해 모델링 된 신호를 제2 오디오 신호로 결정할 수 있다. 상기 프로세서 120은 상기 제2 오디오 신호에 기반하여, 상기 오디오 입력 모듈 311을 통해 상기 수신된 외부 오디오 신호를 처리할 수 있다. 상기 프로세서 120은 상기 제2 오디오 신호에 대응되는 에코 신호를 상기 수신된 외부 오디오 신호에서 제거 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 처리된 외부 오디오 신호를 상기 시간 축에서 상기 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 상기 주파수 축으로 변환된 상기 처리된 외부 오디오 신호를 주파수 별로 분해할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 처리된 외부 오디오 신호를 주파수의 수에따라 분해할 수 있다. 예를 들면, 주파수의 수가 2개인 경우, 상기 처리된 외부 오디오 신호는 2개의 주파수에 대한 신호로 나뉘어질 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 구분된 주파수 별로 상기 외부 오디오 신호를 처리할 수 있다. 예를 들면, 상기 프로세서 120은 상기 제1 출력 값에 기반하여, 상기 제1 주파수에 대응되는 상기 외부 오디오 신호를 처리할 수 있다. 상기 프로세서 120은 상기 제2 출력 값에 기반하여, 상기 제2 주파수에 대응되는 상기 외부 오디오 신호를 처리할 수 있다. 상기 처리된 각각의 외부 오디오 신호들은 상기 RES 409에게 송신될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 외부 오디오 신호에 잔류되어 있는 잔여 에코 신호를 제거하기 위해, 상기 제1 출력 값 및 상기 제2 출력 값에 기반하여 처리된 외부 오디오 신호들을 상기 RES 409통해 처리할 수 있다.
도 6은 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 동작의 예를 도시한다.
도 6을 참조하면, 동작 601에서, 상기 프로세서 120은 상기 오디오 출력 모듈 309을 통해 출력될 제1 오디오 신호를 확인(identify)할 수 있다. 다양한 실시 예들에서, 상기 제1 오디오 신호는 다른 전자 장치로부터 상기 전자 장치 101에게 송신된 신호를 포함할 수 있다. 예를 들면, 상기 제1 오디오 신호는 상기 전자 장치 101과 상기 다른 전자 장치 간의 통화 시, 상기 다른 전자 장치로부터 수신되는 음성 신호를 포함할 수 있다. 일부 실시 예들에서, 상기 제1 오디오 신호는 상기 전자 장치 101 내에서 생성된 오디오 신호를 포함할 수 있다. 예를 들면, 상기 제1 오디오 신호는 상기 전자 장치 101내에 포함된 음악과 관련된 어플리케이션에 의해 생성되는 오디오 신호를 포함할 수 있다.
동작 603에서, 상기 프로세서 120은 상기 오디오 출력 모듈 309을 통해 상기 제1 오디오 신호를 출력하고, 제1 신호와 제2 신호를 생성할 수 있다. 예를 들면, 상기 프로세서 120은 상기 오디오 출력 모듈 309로 수신된 오디오 신호를 스피커 등을 통해 소리(sound)로 출력하고, 상기 프로세서 120내에 포함된 복수 개의 비선형 필터들(예: 제1 필터 303-1, 제2 필터303-2)을 이용하여, 상기 제1 오디오 신호에 기반한 제1 신호 및 상기 제1 오디오 신호에 기반한 제2 신호를 생성할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 비선형의 제1 속성을 포함하는 상기 제1 필터 303-1과 비선형의 제2 속성을 포함하는 상기 제2 필터 303-2를 이용하여, 상기 제1 오디오 신호를 처리할 수 있다. 예를 들면, 상기 프로세서 120은 상기 제1 필터 303-1를 통해 상기 제1 신호를 생성하고, 상기 제2 필터 303-2를 통해 상기 제2 신호를 생성할 수 있다. 상기 제1 필터는 상기 제1 오디오 신호에 상기 비선형의 제1 속성을 반영할 수 있고, 상기 제2 필터는 상기 제1 오디오 신호에 상기 비선형의 제2 속성을 반영할 수 있다.
동작 605에서, 상기 프로세서 120은 상기 오디오 필터 307을 통해 제1 출력 값과 제2 출력 값을 획득할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신호 및 상기 제2 신호를 시간 축으로부터 주파수 축으로 변환할 수 있다. 상기 주파수 축으로 변환된 신호는 각각의 주파수에 대응하는 신호의 크기를 나타내는 값으로 구성될 수 있다. 예를 들면, 상기 제1 신호는 상기 제1 주파수에 대한 크기 값과 상기 제2 주파수에 대한 크기 값을 포함할 수 있다. 상기 제2 신호는 상기 제1 주파수에 대한 크기 값과 상기 제2 주파수에 대한 크기 값을 포함할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신호의 상기 제1 주파수에 대한 크기 값과 상기 제2 신호의 상기 제1 주파수에 대한 크기 값을 제1 가중치가 적용된 오디오 필터(도 5의 제1 오디오 필터 501 에 대응될 수 있다)를 통해 모델링 하여 상기 제1 출력 값을 결정할 수 있다. 상기 프로세서 120은 상기 제1 신호의 상기 제2 주파수에 대한 크기 값과 상기 제2 신호의 상기 제2 주파수에 대한 크기 값을 제2 가중치가 적용된 오디오 필터(도 5의 제2 오디오 필터 502에 대응될 수 있다)를 통해 모델링 하여 상기 제2 출력 값을 결정 할수 있다. 실시 예에 따라, 상기 제1 가중치 및 상기 제2 가중치는 상기 오디오 필터와 관련된 오차를 반영하기 위한 방법(예:오차역전파법)에 기반하여 실시간으로 갱신될 수 있다. 상기 갱신에 기반하여, 상기 프로세서 120은 제1 출력 값과 상기 제2 출력 값에 대한 정확성을 확보할 수 있으며, 적응적인 환경에 도움이 될 수 있다.
동작 607에서, 상기 프로세서 120은 상기 오디오 입력 모듈 311을 통해 상기 출력된 제1 오디오 신호를 포함하는 외부 오디오 신호를 획득할 수 있다. 상기 외부 오디오 신호는 비선형 신호를 더 포함할 수 있다. 상기 비선형 신호는 상기 제1 오디오 신호가 상기 오디오 출력 모듈 309을 통해 출력되는 동안 상기 스피커(또는 음향 출력 장치 155)에 의해 생성될 수 있다. 상기 비선형 신호는 상기 외부 오디오 신호가 상기 오디오 입력 모듈 309을 통해 획득되는 동안 상기 마이크에 의해 생성될 수 있다.
동작 609에서, 상기 프로세서 120은 상기 외부 오디오 신호와 상기 제1 출력 값에 대한 제1 차이 값과 상기 외부 오디오 신호와 상기 제2 출력 값에 대한 제2 차이 값에 기반하여, 제2 오디오 신호를 생성할 수 있다. 다양한 실시 예들에서, 상기 제1 차이 값은 상기 외부 오디오 신호에 포함된 상기 제1 출력 값에 대응되는 에코 신호와 상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값 차이일 수 있다. 상기 제2 차이 값은 상기 외부 오디오 신호에 포함된 상기 제2 출력 값에 대응되는 에코 신호와 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값 차이일 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 제1 차이 값을 상기 제1 주파수에 대한 크기 값으로, 상기 제2 차이 값을 상기 제2 주파수에 대한 크기 값으로 포함하는 상기 제2 오디오 신호를 생성할 수 있다. 다른 일부 실시 예들에서, 상기 제2 오디오 신호는 상기 외부 오디오 신호에서 상기 제1 출력 값에 대응하는 신호와 상기 제2 출력 값에 대응하는 신호에 기반하여 에코 신호의 적어도 일부가 제거된 신호일 수 있다. 상기 제2 오디오 신호는 상기 프로세서 120에 의해 NS 및/또는 RES 에게 송신되어 상기 제 2 오디오 신호에 있는 에코 신호의 다른 적어도 일부(예: 잔류 에코 신호)가 제거될 수 있다.
도 7은 다양한 실시 예들에 따른 복수 개의 비선형 필터들에 기반하여 오디오 신호를 모델링 하기 위한 전자 장치의 동작의 예를 도시한다. 도 7은, 도 6의 동작 603을 보다 구체적으로 도시한다.
동작 701에서, 상기 프로세서 120은 상기 복수 개의 비선형 필터들 중에서 상기 제1 필터 및/또는 상기 제2 필터를 결정할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 스피커 및/또는 상기 마이크와 관련된 비선형 신호를 측정하여, 비선형 함수(예: 시그모이드 함수)를 미리 결정하거나 실시간으로 결정할 수 있다. 상기 프로세서 120은 상기 복수 개의 비선형 필터들 중에서 상기 결정된 시그모이드 함수에 대응되는 필터를 상기 제1 필터 및/또는 상기 제2 필터로 결정할 수 있다. 다양한 실시 예들에서, 상기 제1 필터는 비선형의 제1 속성을 포함할 수 있다. 상기 제2 필터는 비선형의 제2 속성을 포함할 수 있다.
동작 703에서, 상기 프로세서 120은 상기 제1 필터에 기반하여 상기 제1 오디오 신호를 상기 제1 신호로 비선형 모델링 할 수 있다. 상기 제1 신호는 상기 비선형의 제1 속성을 포함할 수 있다.
동작 705에서, 상기 프로세서 120은 상기 제2 필터에 기반하여 상기 제1 오디오 신호를 상기 제2 신호로 비선형 모델링 할 수 있다. 상기 제2 신호는 상기 비선형의 제2 속성을 포함할 수 있다.
동작 707에서, 상기 프로세서 120은 상기 제1 오디오 신호를 상기 오디오 출력 모듈 309를 통해 출력할 수 있다. 상기 프로세서 120은 상기 오디오 출력 모듈 309에 포함된 상기 스피커를 통해 제1 오디오 신호를 출력할 수 있다.
상기 동작 701내지 상기 동작 705는 전술한 순서(또는 선후 관계)에 한정하는 것은 아니며, 상기 동작 701 내지 상기 동작 705는 순차적으로 또는 병렬적으로 수행되거나, 또는 다른 선후 관계에 따라 수행될 수 있다.
도 8a은 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터를 이용하여 오디오 신호를 모델링 하기 위한 동작의 예를 도시한다. 도 8a는, 도 6의 동작 605를 보다 구체적으로 도시한다.
동작 801에서, 상기 프로세서120은 도 6의 동작 603에 기반하여 생성된 상기 제1 신호 및 상기 제2 신호를 주파수 축에 대해 모델링 할 수 있다. 다양한 실시 예들에서, 상기 제1 신호 및 상기 제2 신호는 시간 축 상에서 표현되는 신호일 수 있다. 상기 프로세서 120은 상기 제1 신호 및 상기 제2 신호를 상기 시간 축으로부터 상기 주파수 축으로 변환할 수 있다. 상기 주파수 축으로 변경된 상기 제1 신호 및 상기 제2 신호는 특정한 주파수에 대해 특정한 값을 가질 수 있다. 예를 들면, 상기 제1 신호는 제1 주파수에서 신호의 크기에 대한 지정된 값(designated value)(또는 크기 값)을 포함할 수 있다. 상기 제2 신호는 제1 주파수에서 신호의 크기에 대한 다른 지정된 값(또는 크기 값)을 포함할 수 있다.
동작 803에서, 상기 프로세서120은 제1 신호 및 제2 신호 각각에서(within) 제1 주파수에 관련된 값과 제2 주파수에 관련된 값을 결정할 수 있다. 주파수 축으로 변환된 상기 제1 신호 및 상기 제2 신호는 주파수 별로 대응되는 값들을 포함할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신호의 제1 주파수에 대한 값을 결정할 수 있다. 상기 프로세서 120은 상기 제2 신호의 제1 주파수에 대한 값을 결정할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 제1 신호의 제2 주파수에 대한 값을 결정할 수 있다. 상기 프로세서 120은 상기 제2 신호의 제2 주파수에 대한 값을 결정할 수 있다.
동작 805에서, 상기 프로세서 120은 제1 출력 값과 제2 출력 값을 결정할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신경망을 통해 상기 제1 출력 값을 결정할 수 있고, 상기 제2 신경망을 통해 상기 제2 출력 값을 결정할 수 있다. 상기 제1 신경망은 제1 주파수와 관련된 값들에 대한 신경망 연산을 수행하기 위한 필터일 수 있다. 상기 제2 신경망은 제2 주파수와 관련된 값들에 대한 신경망 연산을 수행하기 위한 필터일 수 있다. 실시 예에 따라, 상기 제1 신경망은 상기 제1 오디오 필터로, 상기 제2 신경망은 상기 제2 오디오 필터에 대응될 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신호의 제1 주파수에 대한 값 및 상기 제2 신호의 제1 주파수에 대한 값을 제1신경망에 기반하여 모델링 할 수 있다. 상기 프로세서 120은 상기 제1 신호의 제2 주파수에 대한 값 및 상기 제2 신호의 제2 주파수에 대한 값을 제2신경망에 기반하여 모델링 할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 주파수와 관련된 신호들을 제1 신경망의 입력(input)으로 결정할 수 있다. 상기 프로세서 120은 상기 제1 신경망을 통해 상기 제1 주파수와 관련된 신호들을 모델링 할 수 있다. 상기 프로세서 120은 상기 모델링에 기반하여 상기 제1 출력 값을 결정할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 제1 신경망에 포함된 비선형의 속성에 기반하여 상기 제1 출력 값을 결정할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제2 주파수와 관련된 신호들을 제2 신경망의 입력(input)으로 결정할 수 있다. 상기 프로세서 120은 상기 제2 신경망을 통해 상기 제2 주파수와 관련된 신호들을 모델링 할 수 있다. 상기 프로세서 120은 상기 모델링에 기반하여 상기 제2 출력 값을 결정할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 제2 신경망에 포함된 비선형의 속성에 기반하여 상기 제2 출력 값을 결정할 수 있다.
도 8b는 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 구성의 예를 도시한다.
도 8b를 참조하면, 다양한 실시 예들에서, 도8b는 오디오 필터 307가 포함하는 상기 제1 신경망 501(예: 제1 오디오 필터 501) 및 상기 제2 신경망 502(예: 제2 오디오 필터 502)의 예를 나타낼 수 있다. 다양한 실시 예들에서, 신경망은 주파수 축에서 잔여 비선형 에코 신호의 제거를 위해 이용될 수 있다. 실시 예에 따라, 상기 제1 신경망501 및 상기 제2 신경망502은 각각 상기 제1 오디오 필터501 및 상기 제2 오디오 필터502로 지칭될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터(또는 신경망) 307은 기계 학습 (Machine learning)에 유용한 알고리즘을 구현하기 위한 소프트웨어일 수 있다. 상기 오디오 필터 307은 적응적인(adaptive) 환경에 도움이 될 수 있다. 상기 오디오 필터 307은 "뉴런(Neuron)들", "처리 요소들", "유닛들", 또는 이와 유사하거나 상응하는 용어로 알려진 노드(Node)(또는 인공 노드(Artificial Node)들을 포함할 수 있다. 상기 노드들은 생물학적인 신경망을 모사(mimic)하는 네트워크를 형성하기 위해 연결될 수 있다.
도 8b에서 도시한 바와 같이, 신경망은 복수의 노드들에 의해 구현될 수 있고, 복수의 층들(예: 입력 층 815, 은닉 층817, 출력 층 819)로 구분될 수 있다. 일 실시 예에 따라, 은닉 층 817은 입력 층 815의 입력 노드와 출력 층 819의 출력 노드 사이에 포함되며, 하나 또는 그 이상의 층들(예: 2개의 은닉 층들)로 구성될 수 있다.
다양한 실시 예들에서는, 신경망을 복수의 서브 신경망(예: 제1 신경망 501, 제2 신경망 502)으로 구분할 수 있다. 예를 들어, 전술된 바와 같이 비선형 모델링에 사용된 시그모이드 함수와 관련된 비선형 필터들의 출력 신호 개수만큼 FFT연산이 추가되고, FFT 연산에 의해 구분되는 주파수의 단위(예: 주파수 빈)의 개수만큼 신경망을 구분할 수 있다. 일 예로, 2개의 비선형 필터가 사용되는 경우, 2개의 서브 신경망(예: 제1 신경망, 제2 신경망)을 구성할 수 있다. 예를 들면, 주파수 빈 개수만큼 신경망을 분할하고 주파수 사이의 노드들 간 연결을 제거하여 노드들 사이의 계수를 줄일 수 있다. 도 8b에서는 2개의 서브 신경망을 구현하는 경우를 예로 설명한다.
다양한 실시 예들에서는, 신경망을 서브 신경망으로 구분하고, 주파수 별로 대응하는 서브 신경망에 기반하여 입력 값에 대한 모델링을 각각 수행하도록 할 수 있다. 다양한 실시 예들에서는 입력 층 815과 출력 층 819 사이의 은닉 층 817에 대해, 연산량과 메모리 측면 등을 고려하여 은닉 층 817을 제외하거나 또는 하나 이상의 층을 이용하는 것으로 구현할 수 있다. 예를 들어, 입력 층 815과 은닉 층 817을 제외한 층의 개수가 0개 이면 얕은 신경망(또는 단층 신경망)이라 하며, 1개 이상이면 깊은 신경망(또는 심층/다층 신경망)이라 할 수 있으며, 다양한 실시 예들에서는 하나의 은닉 층을 이용하여 모델링 성능 유지 및 연산량 감소를 구현할 수 있다. 예를 들어, FFT 연산에 의해 구분된 복수 개의 주파수 빈(N개)에 대응하여 서브 신경망을 구분하고, 은닉 층의 은닉 노드들의 수를 줄여 노드들 사이의 연결과 노드들의 개수를 최소로 줄이면서, 잔여 비선형 에코를 제거하기 위한 비선형 모델링 성능을 유지하도록 할 수 있다.
다양한 실시 예들에서, 제1 신경망은 복수 개의 노드(node)들(503-1, 503-2, 505-1, 505-2, 507)을 포함할 수 있다. 상기 복수 개의 필터들은 순차적으로 층을 이루어 배열될 수 있다. 상기 층은 입력 층(또는 노드부, 노드층, 필터부 또는 필터층) 815, 은닉 층 817, 출력 층 819를 포함할 수 있다. 입력 층 815과 출력 층 819는, 은닉 층 817를 사이에 두고, 서로 연결될 수 있다.
다양한 실시 예들에서, 상기 층은 한 개 또는 그 이상의 노드들(예를 들면, 입력 노드, 은닉 노드, 및/또는 출력 노드)을 포함할 수 있다. 상기 입력 층 815는 복수 개의 입력 노드들을 포함할 수 있다. 상기 은닉 층 817은 적어도 한 개의 은닉 노드를 포함할 수 있다. 상기 출력 층 819는 적어도 한 개의 출력 노드를 포함할 수 있다. 도시하지는 않았으나, 상기 제1 신경망은 제1 가중치를 포함할 수 있다. 일부 실시 예들에서, 상기 제1 신경망에 포함된 각각의 노드들은 각각의 가중치를 포함할 수 있다. 상기 제1 가중치는 상기 각각의 노드들에 대한 상기 각각의 가중치들에 기반하여, 제1 신경망에 적용된 평균적인 가중치를 나타내기 위한 기능적 표현일 수 있다.
도 8b를 참조하면, 다양한 실시 예들에서, 상기 제1 신경망은 2개의 입력 노드들(503-1, 503-2), 2개의 은닉 노드들(505-1, 505-2) 및 1개의 출력 노드 507을 포함한다. 상기 프로세서 120은 상기 제1 신호의 제1 주파수에 대한 값 807을 입력 노드503-1에게 입력할 수 있다. 상기 프로세서 120은 상기 제2 신호의 제1 주파수에 대한 값 809을 입력 노드 503-1에게 입력할 수 있다. 상기 입력 노드들(503-1, 503-2)은 각각 수신된 신호에 대한 연산을 수행하고, 신호를 출력할 수 있다.
다양한 실시 예들에서, 도 8b를 참조하면, 상기 프로세서 120은 입력 노드 503-1을 통해 출력된 신호 및 입력 노드 503-2를 통해 출력된 신호를 상기 은닉 노드들(505-1,505-2) 의 입력으로 결정할 수 있다. 상기 은닉 노드들은 각각 수신된 신호에 대한 연산을 수행하고, 신호를 출력할 수 있다. 상기 프로세서 120은 상기 은닉 노드들을 통해 출력된 신호를 상기 출력 노드 507의 입력으로 결정할 수 있다. 상기 출력 노드 507은 입력된 신호에 연산을 수행하여 제1 출력 값을 결정할 수 있다.
다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 신경망과 관련된 오차를 개선할 수 있다. 상기 오차를 개선하기 위해, 상기 프로세서 120은 상기 제1 신경망의 제1 가중치를 갱신할 수 있다. 상기 제1 가중치가 갱신되는 것에 대응하여, 상기 1신경망은 갱신될 수 있다. 실시 예에 따라, 상기 프로세서 120은 상기 입력 층 815를 통해 입력되는 값과 상기 출력 층 819를 통해 출력되는 값에 기반하여 학습 데이터를 미리 결정할 수 있다. 상기 학습 데이터는 상기 제1 신경망의 출력 값과 관련하여 오차를 결정하기 위한 기준으로 이용될 수 있다. 예를 들면, 상기 결정된 학습 데이터에 기반하여, 상기 프로세서 120은 제1 출력 값과 상기 결정된 학습 데이터를 비교할 수 있다. 상기 비교에 기반하여, 상기 프로세서 120은 오차를 결정할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 오차역전파법(backpropagation)에 기반하여 상기 제1 신경망을 갱신할 수 있다. 상기 제1 가중치는 상기 입력 층 815 및 상기 은닉 층 817과 관련된 각각의 가중치들을 포함할 수 있다. 상기 가중치들이 갱신되는 것에 기반하여, 상기 제1 가중치는 갱신될 수 있다. 일 실시 예에서, 상기 프로세서 120은 상기 출력 층 819로부터 상기 은닉 층817에게 오차를 송신할 수 있다. 상기 프로세서 120은 상기 오차에 기반하여 상기 은닉 층 817과 관련된 가중치를 갱신할 수 있다. 상기 프로세서 120은 상기 은닉 층 817로부터 상기 입력 층815에게 오차를 송신할 수 있다. 상기 프로세서 120은 상기 오차에 기반하여 상기 입력 층 815와 관련된 가중치를 갱신할 수 있다.
다양한 실시 예들에서, 상기 출력 층 819는 가중치(weight)(또는 연결 가중치) 에 기반하여 상기 은닉 층 817와 연결될 수 있다. 상기 가중치는 상기 출력 층 819로부터 상기 은닉 층 817에게 전달되는 오차에 기반하여 갱신될 수 있다. 상기 오디오 필터 307은 상기 은닉 층에게 전달된 오차를 상기 은닉 층 817를 거쳐 상기 입력 층 815에게 전달 할 수 있다. 상기 입력 층는 다른 가중치(another weight)에 기반하여 상기 은닉 층 817과 연결될 수 있다. 상기 다른 가중치는 상기 은닉 층 817를 거쳐 상기 입력 층에게 전달되는 오차에 기반하여 갱신될 수 있다. 갱신되는 오차에 기반하여, 상기 오디오 필터 307은 실시간으로 및/또는 지속적으로 갱신될 수 있다.
다양한 실시 예들에서, 상기 제2 신경망 502는 상기 제1 신경망 501에 대응되는 구성일 수 있다. 상기 구성에 기반하여, 상기 제2 신경망 502는 제1 신호의 제2 주파수에 대한 값 811과 제2 신호의 제2 주파수에 대한 값 813을 수신할 수 있다. 상기 제2 신경망 502는 수신된 제1 신호의 제2 주파수에 대한 값 811과 제2 신호의 제2 주파수에 대한 값 813을 모델링 할 수 있다.
다양한 실시 예들에서, 상기 오디오 필터 307은 상기 제1 신경망 501 및 상기 제2 신경망 502 의 구조에 대응되는 적어도 하나의 다른 신경망을 더 포함 할 수 있다. 상기 오디오 필터 307이 포함하는 신경망의 수는 상술한 예에 한정되지 않는다.
도 9는 다양한 실시 예들에 따른 외부 오디오 신호를 처리하기 위한 전자 장치의 동작의 다른 예를 도시한다.
도 9를 참조하면, 동작 901에서, 상기 프로세서 120은 제1 오디오 신호를 출력할 수 있다. 상기 프로세서 120은 다른 전자 장치로부터 상기 제1 오디오 신호를 수신하여 상기 제1 오디오 신호를 상기 전자 장치 101의 외부로 출력할 수 있다.
동작 903에서 상기 프로세서 120은 상기 제1 오디오 신호를 비선형 모델링 할 수 있다. 상기 프로세서 120은 상기 제1 오디오 신호에 비선형의 속성을 반영하기 위한 모델링 할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 제1 오디오 신호를 비선형의 제1 속성을 가지는 신호와 비선형의 제2 속성을 가지는 신호로 모델링 할 수 있다.
동작 905에서 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 제2 오디오 신호로 선형 모델링 할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 비선형의 제1 속성을 가지는 신호(이하 제1 신호)와 상기 비선형의 제2 속성을 가지는 신호(이하 제2 신호)에 기반하여, 상기 제2 오디오 신호를 생성할 수 있다. 상기 제2 오디오 신호는 선형의 속성을 포함 할 수 있다. 상기 제2 오디오 신호는 비선형의 잔여 속성(상기 비선형 모델링에서 반영되지 않은 잔여 비선형 속성)과 선형의 속성을 모두 포함할 수 있다.
동작 907에서, 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 제3 오디오 신호로 모델링 할 수 있다. 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 신경망 연산에 기반하여, 외부 오디오 신호에서 비선형 에코를 제거하기 위한 제3 오디오 신호로 모델링 할 수 있다.
다양한 실시 예들에서, 상기 비선형 모델링 된 제1 오디오 신호는 시간 축에 대한 신호일 수 있다. 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 상기 시간 축으로부터 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 상기 주파수 축으로 변환된 제1 오디오 신호를 주파수 별(또는 주파수 단위, 주파수 영역)로 구분할 수 있다. 예를 들면, 제1 주파수에 대한 크기 값과 제2 주파수에 대한 크기 값으로 구분될 수 있다. 상기 프로세서 120은 주파수 별로 구분된 제1 오디오 신호를 각각의 주파수와 관련된 신경망에 기반하여 처리할 수 있다. 일 실시 예에서, 각각의 주파수 별로 구분되어 진행되는 신경망 연산은 서로 독립적일 수 있다. 일부 실시 예들에서, 상기 제1 오디오 신호는 상기 제1 신호와 상기 제2 신호를 포함할 수 있다. 상기 프로세서 120은 상기 제1 신호와 상기 제2 신호를 상기 시간 축으로부터 상기 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 상기 주파수 축으로 변환된 상기 제1 신호와 상기 제2 신호를 주파수 별로 구분할 수 있다. 상기 프로세서 120은 주파수 별로 구분된 상기 제1 신호와 주파수 별로 구분된 상기 제2 신호를 각각의 주파수와 관련된 신경망에 기반하여 처리할 수 있다.
동작 909에서, 상기 프로세서 120은 외부 오디오 신호를 수신할 수 있다. 상기 외부 오디오 신호는 상기 동작 901에서 출력된 제1 오디오 신호를 포함할 수 있다. 상기 외부 오디오 신호는 상기 전자 장치 101 내에 포함된 소자들(예: 스피커, 마이크)에 기반하여 생성된 비선형 신호(제거 대상 신호)를 포함할 수 있다.
동작 911에서, 상기 프로세서 120은 상기 외부 오디오 신호를 상기 제2 오디오 신호와 상기 제3 오디오 신호를 이용하여 처리할 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호에서 상기 제2 오디오 신호를 제거하기 위한 처리를 할 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호에서 상기 제3 오디오 신호를 제거하기 위한 처리를 할 수 있다. 다양한 실시 예들에서, 상기 프로세서 120은 상기 외부 오디오 신호에서 상기 제2 오디오 신호에 대응하는 에코 신호와 상기 제3 오디오 신호에 대응하는 에코 신호를 빼주는 방식으로, 에코 신호를 제거하여 타겟 신호만을 출력하도록 할 수 있다.
다양한 실시 예들에서, 상기 제1 오디오 신호, 상기 제2 오디오 신호 및 상기 외부 오디오 신호는 시간 축에 대한 신호일 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호에서 상기 제2 오디오 신호에 대응하는 신호를 제거한 후에 상기 외부 오디오 신호를 주파수 축에 대하여 변환할 수 있다. 상기 프로세서 120은 상기 주파수 축에 대해 변환된 외부 오디오 신호에서 상기 제3 오디오 신호에 대응하는 신호를 제거할 수 있다.
다양한 실시 예들에서, 상기 제3 오디오 신호는 복수 개의 출력 값을 포함할 수 있다. 예를 들면, 상기 제3 오디오 신호는 상기 제1 주파수에 대한 상기 제1 출력 값과 상기 제2 주파수에 대한 상기 제2 출력 값을 포함할 수 있다. 상기 프로세서 120은, 제2 오디오 신호에 기반하여 처리된 외부 오디오 신호를 상기 제1 주파수에 대한 값과 상기 제2 주파수에 대한 값으로 결정할 수 있다. 상기 프로세서 120은 상기 제2 오디오 신호에 기반하여 처리된 외부 오디오 신호에서 상기 제3 오디오 신호를 제거하기 위해, 상기 제2 오디오 신호에 기반하여 처리된 외부 오디오 신호를 주파수 별로 구분하여 처리할 수 있다. 예를 들면, 상기 프로세서 120은 상기 제1 주파수에 대한 값을 상기 제1 출력 값을 이용하여 처리할 수 있다. 상기 프로세서 120은 상기 제2 주파수에 대한 값을 상기 제2 출력 값을 이용하여 처리할 수 있다.
상기 동작 905내지 상기 동작 909는 전술한 순서(또는 선후 관계)에 한정하는 것은 아니며, 상기 동작 905 내지 상기 동작 909는 순차적으로 또는 병렬적으로 수행되거나, 또는 다른 선후 관계에 따라 수행될 수 있다.
도 10은 다양한 실시 예들에 따른 전자 장치에서 외부 오디오 신호를 처리하기 위한 신호의 흐름의 예를 도시한다.
도 10을 참조하면, 상기 전자 장치 101은 오디오 출력 모듈 309, 오디오 입력 모듈 311, 및 프로세서 120을 포함할 수 있다.
동작 1005에서, 상기 프로세서 120은 상기 오디오 출력 모듈 309에게 제1 오디오 신호를 송신할 수 있다. 상기 프로세서 120은 상기 제1 오디오 신호를 상기 오디오 출력 모듈 309를 통해 출력되는 신호로 결정함에 따라, 상기 동작 1005를 수행할 수 있다. 일부 실시 예들에서, 상기 제1 오디오 신호는 상기 전자 장치 101내에서 생성된 신호일 수 있다. 다른 일부 실시 예들에서, 상기 제1 오디오 신호는 다른 전자 장치로부터 수신된 신호일 수 있다.
동작 1006에서, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 수신할 수 있다. 상기 제1 오디오 신호는 상기 오디오 출력 모듈 309을 통해 출력되기 위한 신호일 수 있다. 상기 제1 오디오 신호는 아날로그 신호(예: 음성)를 디지털 표현(또는 디지털 코드)으로 나타내는 PCM(pulse code modulation) 신호의 형태일 수 있다.
동작 1007에서, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 스피커를 통해 외부로 출력할 수 있다. 다양한 실시 예들에서, 외부로 출력되는 상기 제1 오디오 신호는 상기 오디오 입력 모듈 311의 마이크를 통해 타겟 신호(예: 사용자의 음성에 대응하는 신호)와 함께 유입될 수 있다.
동작 1009에서, 상기 프로세서 120은 상기 제1 오디오 신호를 비선형 모델링 할 수 있다. 상기 비선형 모델링에 기반하여, 상기 제1 오디오 신호는 비선형의 속성을 포함할 수 있다.
동작 1011에서, 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 제2 오디오 신호로 선형 모델링 할 수 있다. 상기 선형 모델링에 기반하여, 상기 제2 오디오 신호는 선형의 속성을 포함할 수 있다.
동작 1013에서, 상기 프로세서 120은 상기 비선형 모델링 된 제1 오디오 신호를 제3 오디오 신호로 신경망 모델링 할 수 있다. 상기 신경망 모델링에 기반한 상기 제3 오디오 신호는 신경망과 관련된 속성을 포함할 수 있다. 상기 신경망은 비선형의 속성을 포함할 수 있다.
동작 1015에서, 상기 오디오 입력 모듈 311은 상기 제1 오디오 신호를 포함하는 상기 외부 오디오 신호을 수신할 수 있다. 상기 오디오 입력 모듈 311은, 상기 마이크를 통해, 상기 제1 오디오 신호를 포함하는 상기 외부 오디오 신호을 수신할 수 있다.
동작 1016에서, 상기 오디오 입력 모듈 311은 상기 수신된 외부 오디오 신호을 상기 프로세서 120에게 송신할 수 있다. 상기 외부 오디오 신호는 상기 오디오 출력 모듈 309를 통해 출력되어 상기 오디오 입력 모듈 311로 유입되는 상기 제1 오디오 신호와 사용자에 의해 입력되는 타겟 신호를 포함할 수 있다.
동작 1017에서, 상기 프로세서 120은 상기 제2 오디오 신호 및 상기 제3 오디오 신호에 기반하여, 상기 외부 오디오 신호을 처리할 수 있다. 상기 프로세서 120은 상기 외부 오디오 신호로부터 상기 제2 오디오 신호에 대응하는 신호(예: 선형 속성을 갖는 에코 신호) 및 상기 제3 오디오 신호에 대응하는 신호(예: 비선형 속성을 갖는 에코 신호)를 제거하기 위해, 상기 외부 오디오 신호을 처리할 수 있다. 일부 실시 예들에서, 상기 프로세서 120은 상기 제2 오디오 신호와 관련된 처리 및 상기 제3 오디오 신호와 관련된 처리를 순차적으로 수행할 수 있다. 예를 들면, 상기 프로세서 120은 상기 제2 오디오 신호와 관련된 처리가 완료 된 후에, 상기 제3 오디오 신호와 관련된 처리를 시작할 수 있다. 다른 일부 실시 예들에서, 상기 프로세서 120은 상기 제2 오디오 신호와 관련된 처리가 완료 된 후에, 상기 처리된 외부 오디오 신호를 상기 시간 축으로부터 상기 주파수 축으로 변환할 수 있다. 상기 프로세서 120은 주파수 축으로 변환된 외부 오디오 신호를 상기 제3 오디오 신호에 기반하여 처리할 수 있다.
도 11은 다양한 실시 예들에 따른 전자 장치에서 외부 오디오 신호를 처리하기 위한 신호의 흐름의 다른 예를 도시한다.
도 11을 참조하면, 상기 전자 장치 101은 상기 오디오 입력 모듈 311, 상기 신경망 307, 상기 선형 필터 305, 상기 비선형 필터 303, 및 상기 오디오 출력 모듈 309를 포함할 수 있다. 실시 예에 따라, 상기 신경망 307은 상기 오디오 필터 307에 대응될 수 있다. 다양한 실시 예들에서, 구성요소들(예: 상기 오디오 입력 모듈 311, 상기 신경망 307, 상기 선형 필터 305, 상기 비선형 필터 303, 또는 상기 오디오 출력 모듈 309) 각각은 동작의 수행을 위한 보조 프로세서를 포함할 수 있다. 실시 예에 따라, 상기 구성요소들 각각은 보조 프로세서와 연결되어 동작을 수행할 수 있다.
동작 1101에서, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 수신할 수 있다. 다양한 실시 예들에서, 상기 제1 오디오 신호는 상기 프로세서 120에 기반하여, 상기 오디오 출력 모듈 309을 통해 출력되기에 적합한 신호로 변환된 신호일 수 있다. 상기 변환된 신호(예: 상기 제1 오디오 신호)는, 상기 오디오 출력 모듈 309을 통해 출력되기 위해, 상기 프로세서 120으로부터 상기 오디오 출력 모듈 309에게 송신될 수 있다. 상기 제1 오디오 신호는 아날로그 신호 (예: 음성)를 디지털 표현 (또는 디지털 코드)으로 나타내는 PCM(pulse code modulation) 신호의 형태일 수 있다.
동작 1102에서, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 상기 비선형 필터 303에게 송신할 수 있다. 다양한 실시 예들에서, 상기 오디오 출력 모듈 309은 상기 오디오 출력 모듈 309를 통해 출력될 신호인, 상기 제1 오디오 신호를 상기 비선형 필터 303에게 송신할 수 있다. 일부 실시 예들에서, 상기 제1 오디오 신호가 출력되도록 결정하는 것에 기반하여, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 상기 비선형 필터 303에게 송신할 수 있다. 상기 비선형 필터 303가 복수 개의 비선형 필터를 포함하는 경우, 상기 오디오 출력 모듈 309는 상기 복수 개의 비선형 필터 각각에게 상기 제1 오디오 신호를 송신할 수 있다.
동작 1103에서, 상기 오디오 출력 모듈 309는 상기 제1 오디오 신호를 스피커를 통해 외부로 출력할 수 있다. 상기 동작 1103은 상기 동작 1102와 병렬적으로, 또는 순서에 무관하게 수행될 수 있다. 다양한 실시 예들에서, 외부로 출력되는 상기 제1 오디오 신호는 상기 오디오 입력 모듈 311의 마이크를 통해 타겟 신호(예: 사용자의 음성에 대응하는 신호)와 함께 유입될 수 있다.
동작 1105에서, 상기 비선형 필터 303은 상기 수신된 제1 오디오 신호를 비선형 모델링 할 수 있다. 상기 비선형 모델링에 의해, 상기 제1 오디오 신호는 비선형의 속성을 포함할 수 있다.
동작 1106-1에서, 상기 비선형 모델링 된 제1 오디오 신호는 상기 비선형 필터 303으로부터 상기 신경망 307에게 송신될 수 있다. 동작 1106-2에서, 상기 비선형 모델링 된 제1 오디오 신호는 상기 비선형 필터 303으로부터 상기 선형 필터 305에게 송신될 수 있다. 실시 예에 따라, 상기 동작 1106-1과 상기 동작 1106-2는 병렬적으로, 또는 순서와 무관하게 수행될 수 있다.
도시하지는 않았으나, 다양한 실시 예들에서, 상기 전자 장치 101은 FFT 처리를 하기 위한 FFT부를 더 포함할 수 있다. 상기 FFT부는, 상기 비선형 필터 303에 의해 상기 제1 오디오 신호가 비선형 모델링 된 후, 상기 비선형 모델링 된 제1 오디오 신호를 상기 시간 축으로부터 상기 주파수 축으로 변환할 수 있다. 상기 FFT부는 주파수 축으로 변환된 외부 오디오 신호를 상기 선형 필터 305와 상기 신경망 307 에게 병렬적으로, 또는 순서와 무관하게 송신할 수 있다.
동작 1107에서, 상기 선형 필터 305는 상기 비선형 모델링 된 제1 오디오 신호를 제2 오디오 신호로 선형 모델링 할 수 있다. 상기 선형 모델링에 기반하여, 상기 제2 오디오 신호는 선형의 속성을 포함할 수 있다.
동작 1109에서, 상기 신경망 307은 상기 비선형 모델링 된 제1 오디오 신호를 제3 오디오 신호로 신경망 모델링 할 수 있다. 상기 신경망 모델링에 기반한 상기 제3 오디오 신호는 신경망과 관련된 속성을 포함할 수 있다. 상기 신경망은 비선형의 속성을 포함할 수 있다.
동작 1110에서, 상기 오디오 입력 모듈 311은 동작 1103에서 상기 오디오 출력 모듈 309을 통해 출력된 상기 제1 오디오 신호를 포함하는 상기 외부 오디오 신호를 수신할 수 있다. 상기 외부 오디오 신호는 비선형 신호를 더 포함할 수 있다. 상기 비선형 신호는 상기 전자 장치 101 내에 포함된 소자 등에 기반하여 생성된 신호일 수 있다. 다양한 실시 예들에서, 상기 동작 1110은 도 10의 동작 1015에 대응될 수 있다.
동작 1111에서, 상기 오디오 입력 모듈 311을 통해 수신된 상기 수신된 외부 오디오 신호는 상기 선형 필터 305에게 송신될 수 있다. 다양한 실시 예들에서, 상기 동작 1111은 도 10의 동작 1016에 대응될 수 있다.
동작 1112에서, 상기 선형 필터 305는 상기 제2 오디오 신호에 기반하여, 상기 수신된 외부 오디오 신호를 처리할 수 있다. 상기 선형 필터 305는 상기 수신된 외부 오디오 신호로부터 상기 제2 오디오 신호에 대응하는 신호(예: 선형 속성을 갖는 에코 신호)를 제거하기 위해, 상기 외부 오디오 신호를 처리할 수 있다.
동작 1113에서, 상기 선형 필터 305를 통해 상기 처리된 외부 오디오 신호는 상기 신경망 307에게 송신될 수 있다. 상기 선형 필터 305를 통해 상기 제2 오디오 신호에 대응하는 신호(예: 선형 속성을 갖는 에코 신호)를 제거하기 위한 처리가 수행된 외부 오디오 신호는 상기 신경망 307에게 송신될 수 있다.
동작 1114에서, 상기 신경망 307은 상기 선형 필터 305로부터 상기 처리된 외부 오디오 신호를 수신할 수 있다. 상기 신경망 307은 상기 동작 1109의 상기 제3 오디오 신호에 기반하여, 상기 수신된 외부 오디오 신호를 처리할 수 있다. 상기 신경망 307은 상기 외부 오디오 신호로부터 상기 제3 오디오 신호에 대응하는 신호(예: 비선형 속성을 갖는 에코 신호)를 제거하기 위한 처리를 수행할 수 있다.
도시하지는 않았으나, 다양한 실시 예들에서, 상기 FFT부는, 상기 선형 필터 305에 의해 상기 제2 오디오 신호와 관련된 처리가 완료 된 후에, 상기 처리된 외부 오디오 신호를 상기 시간 축으로부터 상기 주파수 축으로 변환할 수 있다. 상기 신경망 307은 주파수 축으로 변환된 외부 오디오 신호를 상기 제3 오디오 신호에 기반하여 처리할 수 있다.
도시하지는 않았으나, 다양한 실시 예들에 따라, 동작 1111 및 동작 1113은 상기 프로세서 120에 의해 수행될 수 있다. 상기 동작 1110 에 개시된 외부 오디오 신호는 상기 프로세서 120에게 송신될 수 있다.
도시하지는 않았으나, 다양한 실시 예들에서, 상기 선형 필터 305와 상기 비선형 필터 303은 상기 AEC에 포함될 수 있다. 상기 AEC는 상기 동작 1111을 수행할 수 있다. 상기 AEC는 상기 동작 1111에 기반하여 처리된 상기 외부 오디오 신호를 상기 신경망 307 또는 상기 프로세서 120에게 송신할 수 있다. 상기 신경망 307 또는 상기 프로세서 120는 상기 외부 오디오 신호를 상기 제3 오디오 신호에 기반하여 처리할 수 있다. 상기 신경망 307 또는 상기 프로세서 120는 상기 외부 오디오 신호에서 상기 제3 오디오 신호를 제거하기 위하여 상기 외부 오디오 신호를 처리할 수 있다.
도 12은 다양한 실시 예들에 따라 오디오 신호, 외부 오디오 신호, 및/또는 비선형 필터에 의해 모델링 된 신호의 예를 도시한다.
다양한 실시 예들에서, 상기 오디오 신호는 상기 제1 오디오 신호, 상기 통신 모듈 190을 통해 다른 전자 장치로부터 상기 전자 장치 101에게 송신된 신호, 및/또는 상기 오디오 출력 모듈 309에 의해 출력될 오디오 신호에 대응될 수 있다. 상기 외부 오디오 신호는 상기 오디오 입력 모듈 311에 의해 감지된 신호, 상기 오디오 입력 모듈 311을 통해 수신된 신호, 상기 오디오 신호의 반향, 및/또는 상기 오디오 신호의 에코 등에 대응될 수 있다. 상기 비선형 필터에 의해 모델링 된 신호는 상기 비선형 필터 303이 복수 개의 비선형 필터들을 포함하고 있는 경우, 상기 복수 개의 비선형 필터들 중 하나에 대해 모델링 된 신호일 수 있다.
도 12을 참조하면, 그래프 1203은 상기 오디오 출력 모듈 309를 통해 출력될 오디오 신호의 파형을 도시할 수 있다. 그래프 1205는 상기 오디오 입력 모듈 311이 수신한 상기 외부 오디오 신호의 파형을 도시할 수 있다. 그래프 1207은 상기 비선형 필터 303을 통해 모델링 된 신호의 파형을 도시할 수 있다. 상기 그래프 1203, 상기 그래프 1205, 및 상기 그래프 1207 x축은 시간(time)을 나타낼 수 있고, y 축은 주파수(frequency)를 나타낼 수 있다. 상기 그래프 1203, 상기 그래프 1205, 및 상기 그래프 1207는 신호의 스펙트럼을 사진으로 찍어 나타내는 스펙트로그램(spectrogram)일 수 있다.
도 12을 참조하면, 다양한 실시 예들에서, 상기 그래프 1201에서 상기 그래프 1205와 관련된 상기 외부 오디오 신호는 상기 그래프 1203과 관련된 상기 오디오 신호에 없던 신호를 더 포함할 수 있다. 상기 외부 오디오 신호는 고대역의 하모닉(harmonic) 신호를 포함할 수 있다. 상기 고대역의 하모닉 성분은 비선형 신호일 수 있다. 도 12에서 도시된 바와 같이, 상기 그래프 1207과 관련된 상기 비선형 필터에 의해 모델링 된 신호는 상기 외부 오디오 신호의 특성을 반영할 수 있다.
그래프 1201은 상기 오디오 신호, 상기 외부 오디오 신호, 및 상기 비선형 필터에 의해 모델링 된 신호를 포함한다. 상기 그래프 1201에 도시된 상기 오디오 신호는 상기 그래프 1203을 시간 축 상에서 상기 주파수 축 상으로 변환한 신호일 수 있다. 상기 그래프 1201에 도시된 상기 외부 오디오 신호는 상기 그래프 1205를 시간 축 상에서 상기 주파수 축 상으로 변환한 신호일 수 있다. 상기 그래프 1201에 도시된 상기 비선형 필터에 의해 모델링 된 신호는 상기 그래프 1207을 시간 축 상에서 상기 주파수 축 상으로 변환한 신호일 수 있다. 상기 그래프 1201을 참조하면, 상기 그래프 1203에 대한 곡선보다 상기 그래프 1207에 대한 곡선이 상기 그래프 1205에 대한 곡선을 더 명확히 반영할 수 있다. 실시 예에 따라, 상기 그래프 1201 x축은 주파수를 나타낼 수 있고, y 축은 신호의 크기(magnitude)를 나타낼 수 있다.
도 13은 다양한 실시 예들에 따라 비선형의 속성을 반영하기 위한 시그모이드(sigmoid) 함수(function)의 예를 도시한다.
도 13를 참조하면, 다양한 실시 예들에서, 상기 시그모이드 함수는 그래프 1301, 그래프 1303, 그래프 1305중 적어도 하나를 포함할 수 있다. 상기 시그모이드 함수는 하기의 수학식과 같이 결정될 수 있다.
Figure PCTKR2018010038-appb-I000001
여기서, sigmoid(x)는 시그모이드 함수를 나타내고 e는 자연로그의 밑인 근삿값 2.718281828…인, 무리수 e를 나타내며, a와 b는 임의의 수를 나타낸다. 상기a와 상기 b를 통해 상기 시그모이드 함수의 속성이 결정될 수 있다. 상기a와 상기 b는 상기 시그모이드 함수의 파라미터(parameter)일 수 있다.
그래프 1301에서, 상기 a는 2.5이고, 상기 b는 1일 수 있다. 그래프 1303에서, 상기 a는 4이고, 상기 b는 0.5일 수 있다. 그래프 1305에서, 상기 a는 20이고, 상기 b는 0.1일 수 있다. 상기 그래프 1301은 입력되는 신호와 출력되는 신호 사이의 변화가 상기 그래프들(1301, 1303, 1305) 중에서 가장 적을 수 있다. 상기 그래프 1305는 입력되는 신호와 출력되는 신호 사이의 변화가 상기 그래프들(1301, 1303, 1305) 중에서 가장 클 수 있다.
다양한 실시 예들에서, 상기 비선형 필터 303은 복수 개의 비선형 필터들을 포함할 수 있다. 상기 복수 개의 비선형 필터들은 각각 다른 시그모이드 함수로 표현될 수 있다.
도 14는 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 예를 도시한다.
그래프 1401은 상기 오디오 출력 모듈 309에 의해 출력될 오디오 신호를 나타낼 수 있다. 상기 오디오 신호는 상기 오디오 출력 모듈 309에 의해 식별된 신호일 수 있다. 실시 예에 따라, 상기 오디오 신호는 전자 장치를 통해 통화를 하는 경우, 다른 전자 장치를 통해 수신한 다른 전자 장치의 사용자의 음성 신호일 수 있다.
그래프 1403은 상기 오디오 입력 모듈 311을 통해 입력되는 상기 전자 장치 101 외부의 소리 신호들을 나타낼 수 있다. 상기 외부의 소리 신호들은 상기 외부 오디오 신호, 상기 전자 장치 101 사용자의 음성 신호를 포함할 수 있다. 실시 예에 따라, 상기 전자 장치 101의 사용자가 스피커폰 모드로 통화를 하는 경우, 상기 오디오 출력 모듈 309는 다른 전자 장치의 사용자의 음성 신호를 출력할 수 있다. 상기 외부 오디오 신호는 상기 출력된 음성 신호가 상기 오디오 입력 모듈 311을 통해 입력된 신호일 수 있다.
그래프 1405는 상기 전자 장치 101에 상기 비선형 필터 303이 포함되지 않는 경우, 상기 선형 필터 305에 의해 처리된 상기 그래프 1401의 오디오 신호를 나타낼 수 있다. 상기 그래프 1401은 선형의 속성이 모두 반영 된 신호일 수 있다.
그래프 1407은 상기 비선형 필터 303와 상기 선형 필터 305에 의해 처리된 상기 그래프 1401의 신호를 나타낼 수 있다. 상기 그래프 1401은 비선형의 속성과 선형의 속성이 모두 반영 된 신호일 수 있다.
실시예에 따라, 상기 그래프 1401내지 상기 그래프 1407의 x축은 시간(time)을 나타낼 수 있고, y 축은 신호의 진폭 (amplitude) 을 나타낼 수 있다.
구간 1409-1, 구간 1409-2, 구간 1409-3은. 출력된 다른 전자 장치의 사용자(이하 원단 화자)의 음성 신호만 포함하는 구간일 수 있다. 상기 원단 화자의 음성 신호는 상기 외부 오디오 신호일 수 있다. 다양한 실시 예들에 따른 상기 전자 장치 101은 상기 구간 1409-1, 상기 구간 1409-2, 상기 구간 1409-3에서, 상기 원단 화자의 음성 신호를 제거할 수 있다. 상기 구간 1409-1, 상기 구간 1409-2, 상기 구간 1409-3에서, 상기 그래프 1407는 상기 그래프 1405보다 상기 원단 화자의 음성 신호를 효과적으로 제거하였음을 나타낼 수 있다.
구간 1411은, 상기 전자 장치 101의 사용자(이하 근단 화자)의 음성 신호만 포함하는 구간일 수 있다. 예를 들면, 상기 전자 장치 101이 스피커폰 모드로 통화를 하는 경우, 상기 구간 1411은 상기 근단 화자만 말하는(speaking) 구간일 수 있다. 상기 구간 1411에서, 상기 그래프 1401과 상기 그래프 1403을 비교하면, 상기 근단 화자의 음성 신호만 존재하기 때문에, 상기 그래프 1403만 신호를 포함할 수 있다. 다양한 실시 예들에서, 상기 전자 장치 101은 상기 근단 화자의 음성 신호를 다른 전자 장치에게 송신할 수 있다. 상기 근단 화자의 음성 신호는 상기 다른 전자 장치에게 왜곡(distortion) 없이 송신 되어야 한다.
구간 1413은, 상기 원단 화자의 음성 신호와 상기 근단 화자의 음성 신호를 모두 포함하는 구간일 수 있다. 구간 1413에서, 상기 전자 장치 101은 상기 원단 화자의 음성 신호를 제거할 수 있다. 다양한 실시 예들에 따른 상기 전자 장치 101은 상기 원단 화자의 음성 신호는 제거하고, 상기 근단 화자의 음성 신호만을 상기 다른 전자 장치에게 송신할 수 있다.
도 15은 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 예를 도시한다.
도 15을 참조하면, 다양한 실시 예들에서, 필터들(1501, 1503, 1505, 1507)은 다양한 방식으로 입력 값들을 모델링(또는 필터링) 할 수 있다. 여기서 입력 값은 주파수축으로 변환된 신호에 대한 값일 수 있다. 상기 입력 값들은 각각 필터의 입력 노드들에 입력될 수 있다. 상기 입력에 기반하여, 상기 입력 값들은 모델링 될 수 있다. 예를 들면, 상기 필터들(1501, 1503, 1505, 1507)은 신경망 연산에 기반하여, 입력된 신호에 대한 모델링을 수행할 수 있다. 상기 필터들의 입력 노드들로부터 상기 필터들의 출력 노드들에게 상기 입력된 신호들이 전송되는 동작에 기반하여, 상기 필터들은 상기 신경망 연산을 수행될 수 있다.
다양한 실시 예들에서, 도 15의 입력층에 포함된 노드들의 개수은 상기 오디오 필터 307에 포함된 복수 개의 오디오 필터들의 개수에 대응될 수 있다.
다양한 실시 예들에서, 상기 오디오 필터에 기반하여 크기(magnitude) 모델링을 수행할 수 있다. 상기 크기 모델링은, 상기 수신된 신호를 시간 축으로부터 주파수 축으로 변환하는 것에 기반하여, 각각의 주파수에 대응되는 크기로 상기 수신된 신호를 나타내는 동작을 포함할 수 있다.
상기 필터 1501은, 다양한 실시 예들에서, 선형 크기 회귀(linear magnitude regression)에 대한 필터를 나타낼 수 있다. 상기 필터 1501은 입력되는 주파수에 대응하여 각각의 주파수에 대한 모델링을 수행 할 수 있다.
상기 필터 1503는, 다양한 실시 예들에서, 지정된(designated) 주파수를 모델링 하기 위해 전체 주파수에 대한 입력을 고려하여 비선형의 특징을 모델링 할 수 있다.
상기 필터 1505은, 다양한 실시 예들에서, 지정된 주파수를 모델링 하기 위해, 일부의 주파수에 대한 입력을 고려하여 비선형의 특징을 모델링 할 수 있다. 상기 필터 1505은 상기 필터 1501과 상기 필터 1503의 중간 형태일 수 있다.
상기 필터 1507는, 입력 노드와 출력 노드 사이에 은닉 노드를 포함할 수 있다. 다양한 실시 예들에서, 상기 필터 1507은, 주파수를 모델링 하기 위해 상기 입력 노드 및 상기 은닉 노드를 통해 입력되는 전체 주파수를 고려하여 비선형의 특징을 모델링 할 수 있다. 상기 필터 1507은 입력되는 신호에 비선형의 특징을 효과적으로 모델링 할 수 있다.
다양한 실시 예들에서, 상기 오디오 필터는 필터 1501, 필터 1503, 필터 1505, 필터 1507 중 하나에 대응 될 수 있다.
도 16은 다양한 실시 예들에 따른 전자 장치에 포함된 오디오 필터의 다른 예를 도시한다.
도 16을 참조하면, 다양한 실시 예들에서, 상기 오디오 필터 307은 복수 개의 오디오 필터들을 포함할 수 있다. 상기 복수 개의 오디오 필터들은 필터 1601, 필터 1602, 필터 1603 중 하나에 상응하는 구성일 수 있다. 예를 들면, 상기 제1 오디오 필터는 필터 1601, 필터 1602, 필터 1603 중 하나에 대응될 수 있다. 상기 필터 1601, 상기 필터 1602, 상기 필터 1603에 대한 입력은 주파수 별로 구분되어 입력될 수 있다.
다양한 실시 예들에서, 상기 주파수 별로 구분되어 입력된 신호들은 입력 노드, 은닉 노드, 출력 노드를 통해 제1 출력 값으로 모델링 될 수 있다. 도 16에 도시된 상기 필터 1601, 상기 필터 1602, 및/또는 상기 필터 1603은 상기 입력 노드에 입력된 신호들을 모델링하기 위한 다양한 방법을 나타낸다. 상기 필터 1601, 상기 필터 1602, 및/또는 상기 필터 1603는 상기 입력된 신호들에 비선형의 속성을 효과적으로 모델링 할 수 있다. 상기 모델링은 신경망 연산으로 지칭될 수 있다.
도 17은 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 다른 예를 도시한다. 도 17의 도시된 그래프들은, 도 14의 그래프 1407에 대한 예들을 포함할 수 있다. 도 17을 참조하면, 상기 비선형 필터 303에 기반하여 처리된 신호들을 포함한다.
다양한 실시 예들에서, 그래프들이 나타내는 신호는, 상기 에코 신호를 제거하기 위한 처리가 완료 된 후 남은 잔여 에코 (residual echo)를 포함하는 신호일 수 있다.
그래프1701은, 다양한 실시 예들에 따라, 상기 비선형 필터 303이 1개의 비선형 필터를 포함하는 경우, 상기 1개의 비선형 필터 및 상기 선형 필터 305에 기반하여 모델링 된 외부 오디오 신호를 도시한다.
그래프1703은, 다양한 실시 예들에 따라, 상기 비선형 필터 303이 2개의 비선형 필터를 포함하는 경우, 상기 2개의 비선형 필터 및 상기 선형 필터 305에 기반하여 모델링 된 외부 오디오 신호를 도시한다.
그래프1705은, 다양한 실시 예들에 따라, 상기 비선형 필터 303이 3개의 비선형 필터를 포함하는 경우, 상기 3개의 비선형 필터 및 상기 선형 필터 305에 기반하여 모델링 된 외부 오디오 신호를 도시한다.
그래프1707은, 다양한 실시 예들에 따라, 상기 비선형 필터 303이 3개의 비선형 필터 및 상기 오디오 필터 307을 포함하는 경우, 상기 3개의 비선형 필터, 상기 선형 필터 305 및 상기 오디오 필터307에 기반하여 모델링 된 외부 오디오 신호를 도시한다.
도 17을 참조하면, 그래프 1709 내지 1715은, 구간 1717-1에서, 상기 그래프 1701 내지 1707에 포함된 신호들을 도시한다. 상기 그래프 1709 내지 1715을 비교하면, 상기 그래프 1709 내지 1715중에서, 상기 그래프 1715는 상기 외부 오디오 신호를 가장 효과적으로 제거된 신호를 개시한다.
도 18는 다양한 실시 예들에 따른 전자 장치에 대한 신호들의 또 다른 예를 도시한다.
도 18를 참조하면, 그래프 1801내지 그래프 1804는 도 17의 그래프 1701내지 1707의 일부를 확대하여 도시한다. 다양한 실시 예들에서, 그래프 1801내지1804는 1초 (1s) 동안에서의 신호를 나타낼 수 있다. 상기 그래프 1801내지1804를 비교하면, 그래프 1804를 통해 개시되는 신호가 상기 외부 오디오 신호를 가장 잘 모델링 된 신호일 수 있다.
다양한 실시 예들에서, 그래프들이 나타내는 신호는, 상기 외부 오디오 신호를 제거하기 위한 처리가 완료 된 후 남은 잔여 에코(residual echo) 를 포함하는 신호일 수 있다.
그래프 1805 내지 1808은 상기 그래프 1801 내지 1804에 도시된 신호를 스펙트로그램(spectrogram)으로 나타낸다. 상기 그래프 1805 내지 1808을 비교하면, 상기 그래프 1808이 가장 적은 잔여 에코를 포함하고 있다. 다양한 실시 예들에서, 상기 3개의 비선형 필터, 상기 선형 필터 305, 및 상기 오디오 필터 307에 의해 상기 외부 오디오 신호는 효과적으로 모델링 될 수 있다.
다양한 실시 예들에서, 상기 전자 장치 101은 상기 3개의 비선형 필터, 상기 선형 필터 305, 및/또는 상기 오디오 필터 307을 포함할 수 있다. 상기 전자 장치 101은 상기 3개의 비선형 필터, 상기 선형 필터 305, 및/또는 상기 오디오 필터 307를 통해 상기 외부 오디오 신호를 제거할 수 있다. 상기 전자 장치 101에 포함된 필터(예: 비선형 필터 303, 선형 필터 305, 또는 오디오 필터 307)의 개수는 상술한 예에 한정되지 않는다. 예를 들면, 상기 전자 장치 101은 복수의 비선형 필터들, 복수의 선형 필터들, 또는 복수의 오디오 필터들을 포함할 수 있다.
다양한 실시 예들에서, 상기 전자 장치 101의 방법은, 상기 오디오 출력 모듈 309을 통해, 출력될 제1 오디오 신호를 확인(identify)하는 동작과, 비선형의 제1 속성을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성하는 동작과, 상기 오디오 출력 모듈을 통해, 상기 제1 오디오 신호를 출력하는 동작과,오디오 입력 모듈을 통해, 상기 전자 장치의 상기 제1 오디오 신호가 포함된 외부 오디오 신호를 획득하는 동작과, 상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치가 적용된 오디오 필터의 제1 입력 채널을 통해 제1 출력 값을 획득하는 동작과; 상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 구별되는(distinct) 제2 가중치가 적용된 상기 오디오 필터의 제2 입력 채널을 통해 제2 출력 값을 획득하는 동작과, 상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 적어도 기반하여, 제2 오디오 신호를 생성하는 동작을 포함할 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    오디오 입력 모듈(audio input module);
    오디오 출력 모듈(audio output module); 및
    프로세서(processor)를 포함하고, 상기 프로세서는,
    상기 오디오 출력 모듈을 통해 출력될 제1 오디오 신호를 확인(identify)하고,
    비선형의 제1 속성(attribute)을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성하고,
    상기 오디오 출력 모듈을 통해 상기 제1 오디오 신호를 출력하고,
    상기 오디오 입력 모듈을 통해 상기 전자 장치의 상기 제1 오디오 신호가 포함된 외부 오디오 신호(external audio signal)를 획득하고,
    상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치(weight)가 적용된 오디오 필터의 제1 입력 채널을 통해 제1 출력 값을 획득하고;
    상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 다른 제2 가중치가 적용된 상기 오디오 필터의 제2 입력 채널을 통해 제2 출력 값을 획득하고; 및
    상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 적어도 기반하여, 제2 오디오 신호를 생성하도록 설정된 전자 장치.
  2. 청구항 1에 있어서, 상기 프로세서는,
    상기 제1 차이 값 또는 상기 제2 차이 값이 지정된(designated) 조건을 만족하도록 상기 제1 가중치 또는 상기 제2 가중치를 조정하도록 설정된 전자 장치.
  3. 청구항 1에 있어서, 상기 프로세서는,
    선형의 속성을 갖는 제3 필터를 이용하여 상기 제1 오디오 신호가 처리된 제3 신호를 생성하고, 상기 획득된 외부 오디오 신호와 상기 제3 신호에 적어도 기반하여, 상기 획득된 외부 오디오 신호 중 상기 제1 오디오 신호에 대응하는 신호의 적어도 일부를 제거하도록 설정된 전자 장치.
  4. 청구항 1에 있어서, 상기 프로세서는,
    선형의 속성을 갖는 제3 필터를 이용하여 상기 제1 신호 및 상기 제2 신호가 처리된 제3 신호를 생성하고, 상기 획득된 외부 오디오 신호와 상기 제3 신호에 적어도 기반하여, 상기 획득된 외부 오디오 신호 중 상기 제1 오디오 신호에 대응하는 신호의 적어도 일부를 제거하도록 설정된 전자 장치.
  5. 청구항 1에 있어서,
    제1 파라미터(parameter)를 포함하는 시그모이드 함수에 적어도 기반하여 상기 제 1 필터의 상기 제 1 속성이 설정되고, 제2 파라미터를 포함하는 시그모이드 함수에 적어도 기반하여 상기 제 2 필터의 상기 제 2 속성이 설정되는 전자 장치.
  6. 청구항 5에 있어서, 상기 시그모이드 함수는 하기의 수학식에 기반하여 결정되는 전자 장치.
    Figure PCTKR2018010038-appb-I000002
    여기서, sigmoid(x)는 상기 시그모이드 함수를 나타내고, e는 무리수를 나타내며, a와 b는 임의의 수를 나타낸다.
  7. 청구항 6에 있어서,
    상기 제1 파라미터 및 상기 제2 파라미터는 상기 a 또는 상기 b 중 적어도 하나에 의해 구분(distinct)되는 전자 장치.
  8. 청구항 1에 있어서, 상기 오디오 필터는 상기 제 1 입력 채널에 대응하여 적어도 하나 이상의 노드 및 적어도 하나 이상의 층으로 구성된 제 1 신경망(neural network) 및 상기 제 2 입력 채널에 대응하여 적어도 하나 이상의 노드 및 적어도 하나 이상의 층으로 구성된 제 2 신경망에 기반하여 설정되는 전자 장치.
  9. 청구항 8에 있어서, 상기 제 1 가중치는 상기 제 1 신경망의 상기 적어도 하나 이상의 노드 또는 상기 적어도 하나 이상의 층에 대한 각각의 가중치 값들을 포함하고, 및 상기 제 2 가중치는 상기 제 2 신경망의 상기 적어도 하나 이상의 노드 또는 상기 적어도 하나 이상의 층에 대한 각각의 가중치 값들을 포함하는 전자 장치.
  10. 전자 장치의 방법에 있어서,
    오디오 출력 모듈(audio output module)을 통해, 출력될 제1 오디오 신호를 확인(identify)하는 동작과,
    비선형의 제1 속성(attribute)을 갖는 제1 필터를 이용하여 상기 제1 오디오 신호가 처리된 제1 신호 및 상기 비선형의 제2 속성을 갖는 제2 필터를 이용하여 상기 제1 오디오 신호가 처리된 제2 신호를 생성하는 동작과,
    상기 오디오 출력 모듈을 통해, 상기 제1 오디오 신호를 출력하는 동작과,
    오디오 입력 모듈을 통해, 상기 전자 장치의 상기 제1 오디오 신호가 포함된 외부 오디오 신호(external audio signal)를 획득하는 동작과,
    상기 제1 신호 중 제1 주파수에 대응하는 크기 값 및 상기 제 2 신호 중 상기 제1 주파수에 대응하는 크기 값에 제1 비선형 특성을 갖는 제1 가중치(weight)가 적용된 오디오 필터의 제1 입력 채널을 통해 제1 출력 값을 획득하는 동작과;
    상기 제1 신호 중 제2 주파수에 대응하는 크기 값 및 상기 제2 신호 중 상기 제 2 주파수에 대응하는 크기 값에 제2 비선형 특성을 갖는, 상기 제1 가중치와 다른 제2 가중치가 적용된 상기 오디오 필터의 제2 입력 채널을 통해 제2 출력 값을 획득하는 동작과; 및
    상기 외부 오디오 신호의 상기 제1 주파수에 대응하는 크기 값과 상기 제1 출력 값 간의 제 1 차이 값 및 상기 외부 오디오 신호의 상기 제2 주파수에 대응하는 크기 값과 제2 출력 값 간의 제2 차이 값에 적어도 기반하여, 제2 오디오 신호를 생성하는 동작을 포함하는 방법.
  11. 청구항 10에 있어서,
    상기 제1 차이 값 또는 상기 제2 차이 값이 지정된(designated) 조건을 만족하도록 상기 제1 가중치 또는 상기 제2 가중치를 조정하는 동작을 포함하는 방법.
  12. 청구항 10에 있어서,
    선형의 속성을 갖는 제3 필터를 이용하여 상기 제1 오디오 신호가 처리된 제3 신호를 생성하는 동작과, 상기 획득된 외부 오디오 신호와 상기 제3 신호에 적어도 기반하여, 상기 획득된 외부 오디오 신호 중 상기 제1 오디오 신호에 대응하는 신호의 적어도 일부를 제거하는 동작을 포함하는 방법.
  13. 청구항 10에 있어서,
    선형의 속성을 갖는 제3 필터를 이용하여 상기 제1 신호 및 상기 제2 신호가 처리된 제3 신호를 생성하는 동작과,
    상기 획득된 외부 오디오 신호와 상기 제3 신호에 적어도 기반하여, 상기 획득된 외부 오디오 신호 중 상기 제1 오디오 신호에 대응하는 신호의 적어도 일부를 제거하는 동작을 포함하는 방법.
  14. 청구항 10에 있어서,
    제1 파라미터(parameter)를 포함하는 시그모이드 함수에 적어도 기반하여 상기 제 1 필터의 상기 제 1 속성을 결정하는 동작과, 제2 파라미터를 포함하는 시그모이드 함수에 적어도 기반하여 상기 제 2 필터의 상기 제 2 속성을 결정하는 동작을 포함하는 방법.
  15. 청구항 10에 있어서,
    상기 오디오 필터는 상기 제1 입력 채널에 대응하여 적어도 하나 이상의 노드 및 적어도 하나 이상의 층으로 구성된 제1 신경망(neural network) 및 상기 제2 입력 채널에 대응하여 적어도 하나 이상의 노드 및 적어도 하나 이상의 층으로 구성된 제2 신경망에 기반하여 설정되고,
    상기 제1 가중치는 상기 제1 신경망의 상기 적어도 하나 이상의 노드 또는 상기 적어도 하나 이상의 층에 대한 각각의 가중치 값들을 포함하고, 및 상기 제2 가중치는 상기 제2 신경망의 상기 적어도 하나 이상의 노드 또는 상기 적어도 하나 이상의 층에 대한 각각의 가중치 값들을 포함하는 방법.
PCT/KR2018/010038 2017-09-04 2018-08-30 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치 WO2019045474A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/639,332 US11276414B2 (en) 2017-09-04 2018-08-30 Method and device for processing audio signal using audio filter having non-linear characteristics to prevent receipt of echo signal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0112714 2017-09-04
KR1020170112714A KR102478951B1 (ko) 2017-09-04 2017-09-04 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2019045474A1 true WO2019045474A1 (ko) 2019-03-07

Family

ID=65527636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/010038 WO2019045474A1 (ko) 2017-09-04 2018-08-30 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치

Country Status (3)

Country Link
US (1) US11276414B2 (ko)
KR (1) KR102478951B1 (ko)
WO (1) WO2019045474A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111883155A (zh) * 2020-07-17 2020-11-03 海尔优家智能科技(北京)有限公司 回声消除方法、装置及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9554207B2 (en) 2015-04-30 2017-01-24 Shure Acquisition Holdings, Inc. Offset cartridge microphones
US9565493B2 (en) 2015-04-30 2017-02-07 Shure Acquisition Holdings, Inc. Array microphone system and method of assembling the same
US10367948B2 (en) 2017-01-13 2019-07-30 Shure Acquisition Holdings, Inc. Post-mixing acoustic echo cancellation systems and methods
WO2019231632A1 (en) 2018-06-01 2019-12-05 Shure Acquisition Holdings, Inc. Pattern-forming microphone array
US11297423B2 (en) 2018-06-15 2022-04-05 Shure Acquisition Holdings, Inc. Endfire linear array microphone
WO2020061353A1 (en) 2018-09-20 2020-03-26 Shure Acquisition Holdings, Inc. Adjustable lobe shape for array microphones
CN113841419A (zh) 2019-03-21 2021-12-24 舒尔获得控股公司 天花板阵列麦克风的外壳及相关联设计特征
US11558693B2 (en) 2019-03-21 2023-01-17 Shure Acquisition Holdings, Inc. Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition and voice activity detection functionality
WO2020191380A1 (en) 2019-03-21 2020-09-24 Shure Acquisition Holdings,Inc. Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition functionality
US11699064B2 (en) * 2019-04-23 2023-07-11 Arm Limited Data processing using a neural network system
KR102130505B1 (ko) * 2019-05-02 2020-07-06 남서울대학교 산학협력단 심층학습을 통한 보청기의 궤환신호 제거 장치 및 그 방법
TW202101422A (zh) 2019-05-23 2021-01-01 美商舒爾獲得控股公司 可操縱揚聲器陣列、系統及其方法
EP3977449A1 (en) 2019-05-31 2022-04-06 Shure Acquisition Holdings, Inc. Low latency automixer integrated with voice and noise activity detection
JP2022545113A (ja) 2019-08-23 2022-10-25 シュアー アクイジッション ホールディングス インコーポレイテッド 指向性が改善された一次元アレイマイクロホン
US11552611B2 (en) 2020-02-07 2023-01-10 Shure Acquisition Holdings, Inc. System and method for automatic adjustment of reference gain
US11706562B2 (en) 2020-05-29 2023-07-18 Shure Acquisition Holdings, Inc. Transducer steering and configuration systems and methods using a local positioning system
US11308971B2 (en) * 2020-07-15 2022-04-19 Bank Of America Corporation Intelligent noise cancellation system for video conference calls in telepresence rooms
CN116918351A (zh) 2021-01-28 2023-10-20 舒尔获得控股公司 混合音频波束成形系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860805B1 (ko) * 2000-08-14 2008-09-30 클리어 오디오 리미티드 음성 강화 시스템
US20090046847A1 (en) * 2007-08-15 2009-02-19 Motorola, Inc. Acoustic echo canceller using multi-band nonlinear processing
KR20130127597A (ko) * 2012-05-15 2013-11-25 고려대학교 산학협력단 잡음 제거 장치 및 방법
US20150126255A1 (en) * 2012-04-30 2015-05-07 Creative Technology Ltd Universal reconfigurable echo cancellation system
US20150341501A1 (en) * 2011-03-28 2015-11-26 Conexant Systems, Inc. Nonlinear echo suppression

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307500B1 (en) * 1999-08-13 2001-10-23 University Corporation For Atmospheric Research Method of moment estimation and feature extraction for devices which measure spectra as a function of range or time
US20040213415A1 (en) * 2003-04-28 2004-10-28 Ratnam Rama Determining reverberation time
US7813499B2 (en) 2005-03-31 2010-10-12 Microsoft Corporation System and process for regression-based residual acoustic echo suppression
US8213598B2 (en) 2008-02-26 2012-07-03 Microsoft Corporation Harmonic distortion residual echo suppression
US9972315B2 (en) * 2015-01-14 2018-05-15 Honda Motor Co., Ltd. Speech processing device, speech processing method, and speech processing system
US9672821B2 (en) * 2015-06-05 2017-06-06 Apple Inc. Robust speech recognition in the presence of echo and noise using multiple signals for discrimination
US9865265B2 (en) * 2015-06-06 2018-01-09 Apple Inc. Multi-microphone speech recognition systems and related techniques
US9881619B2 (en) * 2016-03-25 2018-01-30 Qualcomm Incorporated Audio processing for an acoustical environment
US10090001B2 (en) * 2016-08-01 2018-10-02 Apple Inc. System and method for performing speech enhancement using a neural network-based combined symbol
US10074380B2 (en) * 2016-08-03 2018-09-11 Apple Inc. System and method for performing speech enhancement using a deep neural network-based signal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860805B1 (ko) * 2000-08-14 2008-09-30 클리어 오디오 리미티드 음성 강화 시스템
US20090046847A1 (en) * 2007-08-15 2009-02-19 Motorola, Inc. Acoustic echo canceller using multi-band nonlinear processing
US20150341501A1 (en) * 2011-03-28 2015-11-26 Conexant Systems, Inc. Nonlinear echo suppression
US20150126255A1 (en) * 2012-04-30 2015-05-07 Creative Technology Ltd Universal reconfigurable echo cancellation system
KR20130127597A (ko) * 2012-05-15 2013-11-25 고려대학교 산학협력단 잡음 제거 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111883155A (zh) * 2020-07-17 2020-11-03 海尔优家智能科技(北京)有限公司 回声消除方法、装置及存储介质
CN111883155B (zh) * 2020-07-17 2023-10-27 海尔优家智能科技(北京)有限公司 回声消除方法、装置及存储介质

Also Published As

Publication number Publication date
KR20190026234A (ko) 2019-03-13
KR102478951B1 (ko) 2022-12-20
US11276414B2 (en) 2022-03-15
US20200251119A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
WO2019045474A1 (ko) 비선형 특성을 갖는 오디오 필터를 이용하여 오디오 신호를 처리하는 방법 및 장치
WO2021071115A1 (en) Electronic device for processing user utterance and method of operating same
WO2019182325A1 (ko) 전자 장치 및 전자 장치의 음성 인식 제어 방법
WO2020197166A1 (en) Electronic device providing response and method of operating same
WO2013147384A1 (ko) 귓속 삽입형 마이크를 사용하는 유무선 이어셋
WO2021025350A1 (en) Electronic device managing plurality of intelligent agents and operation method thereof
WO2020027498A1 (en) Electronic device and method for determining electronic device to perform speech recognition
WO2019039834A1 (en) METHOD FOR PROCESSING VOICE DATA AND ELECTRONIC DEVICE SUPPORTING SAID METHOD
WO2016032021A1 (ko) 음성 명령 인식을 위한 장치 및 방법
WO2009145449A2 (ko) 노이지 음성 신호의 처리 방법과 이를 위한 장치 및 컴퓨터 판독 가능한 기록매체
WO2019083195A1 (en) ELECTRONIC APPARATUS AND METHOD FOR CONTROLLING TIME MEASUREMENT
WO2020060206A1 (en) Methods for audio processing, apparatus, electronic device and computer readable storage medium
WO2017143690A1 (zh) 语音通信的回声消除方法及装置
WO2019041851A1 (zh) 家电售后咨询方法、电子设备和计算机可读存储介质
WO2019017715A1 (en) ELECTRONIC DEVICE AND SYSTEM FOR DETERMINING SPEECH INPUT RECEIVING TIME BASED ON CONTEXTUAL INFORMATION
WO2022092741A1 (en) Nonlinear control of a loudspeaker with a neural network
WO2019017665A1 (en) ELECTRONIC APPARATUS FOR PROCESSING A USER STATEMENT FOR CONTROLLING AN EXTERNAL ELECTRONIC APPARATUS AND METHOD FOR CONTROLLING THE APPARATUS
WO2020263016A1 (ko) 사용자 발화를 처리하는 전자 장치와 그 동작 방법
WO2019000466A1 (zh) 人脸识别方法、装置、存储介质及电子设备
WO2018164304A1 (ko) 잡음 환경의 통화 품질을 개선하는 방법 및 장치
WO2022158912A1 (ko) 심화 신경망을 이용한 다채널 기반의 잡음 및 에코 신호 통합 제거 장치
WO2022158913A1 (ko) 병렬 구조의 심화신경망을 이용한 잡음 및 에코 신호 통합 제거 장치
WO2019083125A1 (en) AUDIO SIGNAL PROCESSING METHOD AND ELECTRONIC DEVICE FOR SUPPORTING IT
WO2015133870A1 (en) Apparatus and method for canceling feedback in hearing aid
WO2021025515A1 (en) Method for processing multi-channel audio signal on basis of neural network and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18850864

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18850864

Country of ref document: EP

Kind code of ref document: A1