WO2024106830A1 - 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 - Google Patents
폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 Download PDFInfo
- Publication number
- WO2024106830A1 WO2024106830A1 PCT/KR2023/017650 KR2023017650W WO2024106830A1 WO 2024106830 A1 WO2024106830 A1 WO 2024106830A1 KR 2023017650 W KR2023017650 W KR 2023017650W WO 2024106830 A1 WO2024106830 A1 WO 2024106830A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic device
- learning
- voiceprint
- voice data
- voiceprint model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
Definitions
- Audio operation functions may include music playback functions, video playback functions, and call functions.
- an echo may occur in which a signal transmitted from the other party is transmitted back to the other party through the MIC of the user's terminal.
- electronic devices use echo cancellers as a sounding solution, and noise suppression technology is used to remove unnecessary noise in the surrounding environment.
- an electronic device uses an echo canceller solution, it can reduce linear echo, but is affected by vibration or reverberation of the speaker or receiver (i.e. noise left after the echo has been removed), resulting in distorted speech being transmitted to the other party. Residual echo may occur.
- this description provides a method device capable of improving sound quality when operating the audio operation function of an electronic device.
- it provides a complete method that distinguishes the voice of a specific speaker and removes ambient noise and residual echo except for the target speaker.
- a method and device that can provide sign language sound quality can be provided, and other examples will be mentioned below along with descriptions of various embodiments.
- the electronic device of the present disclosure may include a communication circuit that supports a call function, a memory that stores a phonebook, and a processor functionally connected to the communication circuit and the memory.
- the processor forms a call channel with the other party's electronic device in response to a call function activation request based on the identification information of the other party's electronic device registered in the phonebook, and when voice data transmitted by the other party's electronic device is received, the voice data is It may be set to connect the voiceprint model generated based on this to the identification information of the other party's electronic device, and to store the voiceprint model connected to the identification information of the other party's electronic device in the phonebook.
- a phonebook-based voiceprint operation method includes the steps of forming a call channel with the other party's electronic device in response to a call function activation request based on the identification information of the other party's electronic device registered in the phonebook of the electronic device; An operation of receiving voice data transmitted by the other electronic device, and if the signal quality of the voice data is better than a specified reference value, processing the generation of a voiceprint model based on the voice data, and the processing The operation may include linking the voiceprint model generated based on the voice data to identification information of the other party's electronic device, and storing the voiceprint model linked to the identification information of the other party's electronic device in the phonebook.
- This device is an example of the audio operation function of an electronic device, and supports improving call quality by utilizing differentiated artificial intellectual (AI) technology (deep learning) when making a call. For example, this device trains (or learns) the voice of a specific speaker through deep learning and effectively removes other voices or noises based on the trained speaker's voice, thereby eliminating ambient noise and residual echo without voice loss. echo) can be improved.
- AI artificial intellectual
- This effect is one effect of the present disclosure, and descriptions of other effects will be mentioned along with the description of the examples.
- Figure 1 is a diagram illustrating an example of a system environment supporting a phonebook-based voiceprint operation function according to an embodiment.
- FIG. 2 is a diagram illustrating an example of the configuration of an electronic device according to an embodiment.
- FIG. 3 is a diagram illustrating an example of a configuration of a first type electronic device including an audio processor according to an embodiment.
- FIG. 4 is a diagram illustrating an example of a configuration of a second type electronic device including an audio processor according to an embodiment.
- Figure 5 is a diagram showing an example of a server device configuration according to an embodiment.
- FIG. 6 is a diagram illustrating an example of an electronic device operation method related to phonebook-based voiceprint modeling according to an embodiment.
- FIG. 7 is a diagram illustrating an example of a first electronic device operation method related to phonebook-based voiceprint model operation according to an embodiment.
- FIG. 8 is a diagram illustrating an example of a second electronic device operation method related to phonebook-based voiceprint model operation according to an embodiment.
- FIG. 9 is a diagram illustrating an example of a method of using a server device of an electronic device related to operation of a phonebook-based voiceprint model according to an embodiment.
- Figure 10 is a diagram illustrating an example of a screen interface related to voiceprint modeling according to an embodiment.
- FIG. 11 is a diagram illustrating another example of a screen interface related to voiceprint modeling according to an embodiment.
- FIG. 12 is a block diagram of an electronic device 1201 in a network environment 1200, according to various embodiments.
- this device eliminates the hassle of having to register the user's voice through various procedures in advance or conducting intentional learning when training the voice of a specific speaker.
- the target to be learned or trained can be automatically or easily specified based on the electronic device user's phone book (or contact information) (or phone book information), and the specified target's call can be made.
- Figure 1 is a diagram illustrating an example of a system environment supporting a phonebook-based voiceprint operation function according to an embodiment.
- a system environment 10 supporting a phonebook-based voiceprint operation function includes a first electronic device 101 (or a speaking device) (or a user terminal, a portable terminal, or a portable electronic device); It may include a second electronic device 102 (or a sign language device) (or a user terminal, a portable terminal, or a portable electronic device), a server device 200 (or a cloud server device), and a network 50.
- the first electronic device 101 and the second electronic device 102 are named based on the device through which the call is attempted, and the first electronic device 101 and the second electronic device 102 are the same electronic device.
- the first electronic device 101 and the second electronic device 102 may support both speech and sign language functions, respectively.
- the configuration of the server device 200 is additionally described in relation to supporting the voiceprint operation function of the first electronic device 101 and the second electronic device 102, but the present invention is not limited thereto.
- the server device 200 may be omitted from the system environment 10.
- the network 50 is between the first electronic device 101 and the second electronic device 102, between the first electronic device 101 and the server device 200, and between the second electronic device 102 and the server device 200.
- a communication channel can be formed in at least one of the relationships.
- the network 50 may include, for example, at least one of a wireless communication network element and a wired communication network element.
- the network 50 may include at least one of a mobile communication network including at least one base station, a base station controller, and a core system, and an Internet network connected to the mobile communication network.
- the network 50 may support the formation of a communication channel for the portable terminal based on the mobile communication network. .
- the network 50 forms a communication channel between the server device 200 and the first electronic device 101 (or the second electronic device 102) or forms a communication channel between the server device 200 and the first electronic device 101 (or the second electronic device 102). It is a component that can transmit and receive signals or data by forming a communication channel between the second electronic devices 102, and is not limited to a specific communication method or communication equipment.
- the server device 200 forms a communication channel with the first electronic device 101 or the second electronic device 102 through the network 50, and the first electronic device 101 or the second electronic device (102) In response to requests, phonebook-based voiceprint learning and voiceprint model creation functions can be supported. For example, the server device 200 prepares a communication channel for connection of the first electronic device 100 (or the second electronic device 102), and the first electronic device 100 (or the second electronic device 102) When (102)) is connected, information related to phonebook-based voiceprint learning and voiceprint model generation may be provided to the first electronic device 100) (or the second electronic device 102). The server device 200 may collect voice data corresponding to a specific device user from the first electronic device 100 (or the second electronic device 102) and perform voiceprint modeling on the collected voice data. there is.
- the server device 200 may receive a voiceprint model being learned corresponding to a specific device user from the first electronic device 100 (or the second electronic device 102) and newly collected voice data corresponding to the specific device user.
- the voiceprint model may be received, and the voiceprint model learning may be performed using the received voice data, and an updated voiceprint model may be provided to the first electronic device 100 (or the second electronic device 102).
- the configuration of the server device 200 may be omitted.
- the first electronic device 101 may form a communication channel with the second electronic device 102 through the network 50.
- the first electronic device 101 may collect the user's voice and transmit it as first voice data (or transmitted voice data) to the second electronic device 102, and the second electronic device 102 may send the second voice data (or Sign language voice data) can be received.
- the first electronic device 101 uses the user's identification information as the basis if the identification information of the user of the second electronic device 102 is stored in the phonebook.
- a first voiceprint model of the user of the second electronic device 102 can be created.
- the first electronic device 101 may map and store the generated first voiceprint model to the identification information of the user of the second electronic device 102 pre-stored in the phonebook.
- the first electronic device 101 learns the first voiceprint model using the second voice data collected based on the identification information of the user of the second electronic device 102 until learning the first voiceprint model is completed. can be performed. When learning is completed, the first electronic device 101 uses the learned first voiceprint model to perform voice filtering on the second voice data when making a call with the second electronic device 102, so that the noise is improved. function can be supported.
- the first electronic device 101 may perform a process of generating a first voiceprint model through the server device 200.
- the first electronic device 101 collects second voice data corresponding to the user identification information of the second electronic device 102 in real time, after completion of a call, or when a certain amount of second voice data is collected during a call or more.
- the second voice data may be transmitted to the server device 200 to request learning of the first voiceprint model.
- the first electronic device 101 generates new identification information corresponding to the identification information of the user of the second electronic device 102 recorded in the phonebook, and identifies the new identification information.
- the second voice data and the first voiceprint model being learned may be provided to the server device 200.
- the first electronic device 101 receives a first voiceprint model updated through learning (e.g., a first voiceprint model completed through update or an updated first voiceprint model that requires additional learning) from the server device 200. Then, the new identification information can be confirmed and the first voiceprint model can be updated by matching the new identification information with phonebook information (eg, identification information of the user of the second electronic device 102).
- the second electronic device 102 may form a communication channel with the first electronic device 101 through the network 50.
- the second electronic device 102 may receive a call connection request message from the first electronic device 101 and connect a call with the first electronic device 101 in response to a user operation.
- the second electronic device 102 may transmit second voice data input by the user to the first electronic device 101 and output first voice data received from the first electronic device 101.
- the second electronic device 102 generates a first glottal modeling (or first glottal model) for the second voice data (or speech information) of the user of the second electronic device 102 from the first electronic device 101. of learning) You can receive a message requesting permission to perform.
- the second voice data collected by the second electronic device 102 and transmitted to the first electronic device 101 may be transferred from the first electronic device 101 to the user of the second electronic device 102. It can be used for first glottal modeling.
- the user of the second electronic device 102 may disallow performing the first voiceprint modeling on his or her voice data (e.g., second voice data), and when a user input corresponding to the disallowance occurs, the second electronic device ( 102) may transmit a message corresponding to disallowance of first voiceprint modeling to the first electronic device 101.
- the second electronic device 102 automatically (or according to the consent of the user of the first electronic device 101) dictionary the first voice data transmitted by the first electronic device 101 into the phonebook. It can be used to learn a second voiceprint model corresponding to the stored user identification information of the first electronic device 101.
- the second electronic device 102 performs second glottal modeling (or a second glottal model) for the first voice data of the user of the first electronic device 101.
- the process for learning can be performed through the server device 200.
- the second electronic device 102 sends at least a portion of the first voice data received from the first electronic device 101 and the second voiceprint model being pre-stored in response to the first electronic device 101 to the server. It can be transmitted to the device 200. If there is no second voiceprint model being learned, the second electronic device 102 may transmit only the first voice data to the server device 200.
- the second electronic device 102 For the purpose of protecting personal information, the second electronic device 102 provides new identification information corresponding to the first voice data (e.g., information that can identify the electronic device user, such as the electronic device user's name, phone number, and email address). random information excluded) is generated and transmitted to the server device 200 together with the first voice data, and an updated second voiceprint model mapped to new identification information from the server device 200 (or an updated second voiceprint model for which learning has not been completed 2 voiceprint model) can be received.
- the second electronic device 102 may match and store the second voiceprint model (a model being learned or a model whose learning has been completed) received from the server device 200 in the phonebook.
- FIG. 2 is a diagram illustrating an example of the configuration of an electronic device according to an embodiment.
- the electronic device described in FIG. 2 may be at least one of the first electronic device 101 or the second electronic device 102 described previously in FIG. 1 . Accordingly, hereinafter, the first electronic device 101 and the second electronic device 102 will be described by assigning the drawing number 100 to represent the electronic devices.
- the electronic device 100 may include a communication circuit 110, an input/output device 120, a memory 130, a display 140, and a processor 150.
- the communication circuit 110 may form at least one communication channel in connection with supporting the communication function of the electronic device 100.
- the communication circuit 110 may form a communication channel with the server device 200 through the network 50.
- the communication circuit 110 may support at least one communication method among various communication methods such as 3G, 4G, LTE, or 5G.
- the communication circuit 110 may include a plurality of communication modules to support a plurality of communication methods.
- the communication circuit 110 may create a call channel (eg, a voice call channel, a video call channel) with another electronic device in response to the control of the processor 150.
- the communication circuit 110 can transmit its voice data to another electronic device and receive voice data from the other electronic device.
- the communication circuit 110 may transmit voice data received from another electronic device to the server device 200. If there is a voiceprint model being learned based on voice data from another electronic device, the communication circuit 110 transmits the received voice data and the voiceprint model being learned together to the server device 200, and receives the voiceprint model from the server device 200. An updated voiceprint model can be received.
- the input/output device 120 may include at least one input means supporting an input function of the electronic device 100 and at least one output means supporting an output function.
- the input means may include various means such as a touch pad, touch keys, physical keys, physical buttons, a voice input device, a jog shuttle, or a joystick.
- the display 140 when the display 140 includes a touch screen that supports a touch function, the display 140 may be included in the input means.
- the input means may include, for example, at least one microphone 121.
- the output means may include at least one speaker 122 that outputs an audio signal.
- the output means may include a vibration module that outputs vibration of a specific pattern and an LED lamp that outputs light of a specific color.
- the memory 130 can store various data or programs necessary for operating the electronic device 100.
- the memory 130 may store an application that can form a call channel with another electronic device.
- the memory 130 may store the phone book 131 and at least one voiceprint model 132 matched to each user identification information registered in the phone book 131.
- the at least one voiceprint model 132 may be generated, for example, based on voice data of another electronic device user stored in the phonebook 131.
- the voiceprint model 132 may include a voiceprint model in training that has been learned from voice data less than a predefined certain amount.
- at least one voiceprint model 132 may include a voiceprint model that has been trained by learning a predefined amount of voice data or more.
- User identification information registered in the phonebook 131 and the at least one voiceprint model 132 may be matched with each other.
- the display 140 may provide various screens according to the operation of the electronic device 100.
- the display 140 may include a search screen for the phonebook 131, a transmission screen for requesting a call connection with another electronic device user registered in the phonebook 131, and a reception screen for receiving a call connection request from another electronic device. At least one screen can be output.
- the display 140 may output status information of at least one voiceprint model 132.
- the display 140 may output a voiceprint model that is being learned and a voiceprint model that has completed learning separately.
- user identification information e.g., at least one of name, phone number, email, and SNS address
- the display 140 includes a connection screen for the server device 200 that performs voiceprint modeling, a screen for transmitting voice data received from another electronic device to the server device 200, a voiceprint model being learned, and a reception screen. At least one of the screens for transmitting voice data to the server device 200 may be output.
- the display 140 may output at least one of a screen for receiving an updated voiceprint model from the server device 200 and a screen for applying the received updated voiceprint model to the voiceprint model 132 stored in the memory 130. You can.
- the processor 150 may perform signal transmission, processing, and storage control according to the operation of the electronic device 100. For example, the processor 150 may output a screen corresponding to the phonebook 131 (or call list) in response to a user input. The processor 150 may output user identification information registered in the phone book 131 (or call list screen) and information corresponding to the voiceprint model 132 matched for each user identification information. If there is no voiceprint model matched to the phonebook 131, the processor 150 may output user identification information without a matched voiceprint model to the display 140. When specific user identification information is selected and a user input requesting a call connection is received, the processor 150 may perform an operation to connect a call channel with another electronic device. Additionally or alternatively, the processor 150 may output an object (eg, a virtual button) that can determine whether to execute voiceprint modeling on a screen containing user identification information to the display 140 .
- an object eg, a virtual button
- the processor 150 may perform voiceprint model learning based on voice data acquired during a call with another electronic device. In this operation, if there is an existing voiceprint model being trained that matches the other electronic device user identification information, the processor 150 applies the currently received voice data of the other electronic device user to the voiceprint model being trained to train the voiceprint model. It can be done.
- a learning method for voiceprint modeling at least one of various artificial neural network modeling that generates voiceprints using voice data may be used.
- the electronic device 100 may store at least one artificial neural network algorithm.
- the electronic device 100 may provide the acquired voice data to the server device 200 and generate or update a voiceprint model using an artificial neural network algorithm stored in the server device 200.
- the processor 150 may output a reception screen for receiving a call connection request message.
- the reception screen may output a virtual object that can determine whether to accept a call, and a virtual object that can determine whether to perform a voiceprint model based on voice data from another electronic device.
- the processor 150 may output a learning status (e.g., learning or completion of learning, remaining percentage until learning completion) for the voiceprint model of another electronic device requesting a call connection.
- FIG. 3 is a diagram illustrating an example of a configuration of a first type electronic device including an audio processor according to an embodiment.
- a first type electronic device 100_1 includes a communication circuit 110, a first type processor 151, and an input/output device 120 (e.g., a speaker 122 (or receiver) , may include a microphone 121).
- an input/output device 120 e.g., a speaker 122 (or receiver) , may include a microphone 121).
- the communication circuit 110 may include, for example, at least one reception amplifier 110_2a, at least one transmission amplifier 110_2b, and an RF module 110_1 including at least one reception amplifier 110_2a.
- This communication circuit 110 may be the same or similar to the communication circuit shown in FIG. 2 above.
- the communication circuit 110 may further include at least one antenna for receiving a signal and at least one antenna for transmitting a signal.
- the at least one receiving amplifier 110_2a may be connected to at least one antenna of the first type electronic device 100_1.
- the at least one reception amplifier 110_2a may include at least one low noise amplifier.
- the transmission amplifier 110_2b may amplify the signal transmitted by the transmission processor 150b (tx solution processor) and transmit the amplified transmission signal to at least one antenna.
- the transmission amplifier 110_2b may receive a transmission signal from an echo canceller included in the audio processor.
- the RF module 110_1 may perform RF processing on a signal amplified through at least one receiving amplifier 110_2a. According to one embodiment, the RF module 110_1 may determine an abnormal Rx signal (or wireless reception signal). When an abnormal Rx signal is received or data with deteriorated sound quality due to a network problem is received, the RF module 110_1 may exclude the corresponding Rx signal. In this operation, the RF module 110_1 can check RF Bit error information in the received Rx signal and determine whether the Rx signal is normal based on the test result. The RF module 110_1 may transmit the received Rx signal to the signal to ratio (SNR) detector 150a_1.
- SNR signal to ratio
- the first type processor 151 may include an audio processor as an application processor.
- the first type processor 151 including the audio processor may include, for example, a receiving processor 150a (rx solution processor) and a transmitting processor 150b (tx solution processor).
- the receiving processor 150a may include an SNR detection unit 150A_1, a learning module 150a_2, a storage control module 150a_3, a noise suppression module 150a_4, and an audio output control module 150a_5.
- At least one of the SNR detection unit 150A_1, learning module 150a_2, storage control module 150a_3, noise suppression module 150a_4, and audio output control module 150a_5 may be formed as a software module or as a hardware configuration. there is.
- the SNR detection unit 150A_1 may check the SNR of the signed language voice data received from the RF module 110_1.
- the SNR detector 150A_1 may check whether the SNR of the signed language voice data received from the RF module 110_1 is less than a predetermined value. If the SNR value is less than a predetermined value, the SNR detection unit 150A_1 may transmit a signal for output of the received sign language voice data. If the SNR of the sign language voice data is more than a pre-specified value, the SNR detector (150A_1) may transmit the sign language voice data to the learning module (150a_2) (e.g., deep neural network, DNN training module) in relation to learning for the voiceprint model. there is.
- the learning module 150a_2
- the learning module 150a_2 (e.g., speaker aware DNN block) can capture sign language voice data transmitted through the SNR detector 150A_1 and learn (e.g., DNN Training) the captured voice data.
- the learning module 150a_2 can control output of a virtual object related to the decision to collect voice data through a phonebook-related user interface (UI) (or display screen) so that learning can be performed in relation to creating a voiceprint model.
- UI phonebook-related user interface
- the learning module (150a_2) makes a call to the other party using the phone book, but when the other party receives voice data from a person other than the user registered in the phone book, the other party's phone book is pre-stored.
- the learning module 150a_2 After determining the similarity with the voiceprint model matched to , it is possible to decide whether to apply learning to the currently collected voice data. For example, if the similarity between the currently collected voice data and the previously stored voiceprint model is greater than or equal to a threshold, the learning module 150a_2 performs learning of the voiceprint model based on the collected voice data. If it is less than the threshold, the learning module 150a_2 does not perform learning, and if the similarity between the currently collected voice data and the previously stored voiceprint model is greater than or equal to the threshold, the learning module 150a_2 performs learning of the voiceprint model based on the collected voice data. Data non-reflection processing can be performed. The learning module 150a_2 can process learning on received voice data in real time.
- the learning module 150a_2 may perform learning (eg, voiceprint modeling) on previously received voice data.
- the learning module 150a_2 may store voice data of the other party during a call, and perform learning based on the stored received voice data after the call is completed. In relation to this operation, the learning module 150a_2 may separately extract the voice data of the other party during a call.
- voice data of a predefined length or over a certain period of time is received, the learning module 150a_2 receives voice data corresponding to predefined certain speech information (e.g., voice data containing a specific word or sentence).
- the received voice data is learned in at least one of the following cases: when voice data exceeding a predefined certain amplitude (amplitude, or volume) is received, and when voice data uttered at a speed exceeding a predefined certain size is received. can do.
- the conditions under which learning progresses may include at least one of the various conditions described above. The various conditions described above can be selected or adjusted by the user.
- the storage control module 150a_3 can control the voiceprint model learned through an artificial neural network to be stored in the memory 130.
- the storage control module 150a_3 stores voice information (or voiceprint model) learned through a deep neural network (DNN) in the memory 130 (e.g., database storage) as an extract speaker profile. You can.
- the storage control module 150a_3 may match the learned voiceprint model to user identification information registered in the phonebook 131 and store it.
- this device can identify the other party using phone book information that the user uses when making a call, and based on this, a voiceprint stored as the other party's unique extract speaker profile can be created and operated.
- the extract profile block can be linked to the phone book and information to continuously learn the other party's voice data and update it until learning is complete.
- the noise suppression module 150a_4 may perform noise suppression processing on received voice data.
- the noise suppression module 150a_4 may transmit noise-suppressed data to the audio output control module 150a_5.
- the audio output control module 150a_5 may include at least one of Gain, Filter, Limiter, and DRC (dynamic range control) that can tune (e.g., adjust volume and tone) noise-suppressed data.
- the audio output control module 150a_5 can remove noise from received voice data based on the voiceprint model stored in the learned extract speaker profile (database storage).
- the noise suppression module 150a_4 and the audio output control module 150a_5 may perform noise removal using the voiceprint model whose learning has been completed at or above a predefined certain ratio if there is a voiceprint model. If the learning level of the voiceprint model is less than a predefined certain ratio, only the specified noise removal operation can be performed without using the voiceprint model.
- the transmission processor 150b may include an echo canceller 150b_1. According to one embodiment, additionally or alternatively, the transmission processor 150b may include at least one of Gain, Filter, Limiter, and DRC that can tune the transmission signal (e.g., adjust volume and timbre).
- the transmit processor 150b may include a Noise Suppressor (NS) block for removing background noise.
- NS Noise Suppressor
- the echo canceller 150b_1 may include an adaptive filter 150b_1a (adaptive filter) and an ambient noise removal module 150b_2b.
- the echo remover (150b_1) stores Echo Reference, which is a sign language (Rx) signal for reference, for echo removal, and creates an adaptive filter (150b_1a) based on the stored echo reference value to linearly remove echo.
- the surrounding noise removal module removes at least some of the surrounding noise and residual echo by referring to the voice information (glotprint model) through the extract speaker profile block in which the other person's voice has been learned. can do.
- the above-described audio processor may be configured as a hardware processor. At least one component described as being included in the receiving processor 150a and the transmitting processor 150b included in the audio processor may be comprised of at least one of a hardware processor or a software module.
- FIG. 4 is a diagram illustrating an example of a configuration of a second type electronic device including an audio processor according to an embodiment.
- the second type electronic device 100_2 includes a communication circuit 110, a second type processor 152, and an input/output device 120 (e.g., a speaker 122 (or receiver) , it may include a first microphone (121a) and a second microphone (121b).
- the communication circuit 110 may include at least one receiving antenna, at least one transmitting antenna, and an RF module.
- the communication circuit 110 (eg, RF module) may constitute at least a portion of a communication processor.
- the at least one receiving antenna may be disposed in a receiving path to receive voice data transmitted by another electronic device (or transmitted through a base station).
- the at least one transmission antenna may be disposed in a transmission path to transmit a signal generated for transmission.
- the RF module may perform RF reception processing (e.g., frequency filtering, frequency conversion) on a received voice signal, or may perform RF transmission processing (e.g., frequency conversion) on a transmitted voice signal.
- This communication circuit 110 may have a configuration corresponding to the communication circuit previously described in FIGS. 2 and 3.
- the second type processor 152 includes a channel decoder (152_1a), an Rx vocoder (152_2a), a reception processor (152a), a digital to analog converter (DAC) (152_3A), a learning module (152a_2), and a storage disposed in the reception path. It may include a control module 152a_3. At least some of the components of the second type processor 152 may be formed as software modules or hardware components.
- the DAC 152_3A may convert the audio processed data (eg, digital signal) transmitted from the receiving processor 152a into an analog signal and transmit it to the speaker 122.
- the channel decoder 152_1a is connected to the communication circuit 110 and can decode a channel through which voice data is transmitted among the received signals received through the communication circuit 110.
- the channel decoder 152_1a can check the channel through which voice data is transmitted through channel decoding, and transmit the voice data transmitted through the channel to the Rx vocoder 152_2a.
- the Rx vocoder 152_2a can synthesize the original voice of voice data and transmit the synthesized original voice to the receiving processor 152a.
- the Rx vocoder (152_2a) can transmit the synthesized original voice to the SNR detector (152A_1) of the receiving processor (152a).
- the SNR detection unit 152A_1 can detect the SNR for data received from the Rx vocoder 152_2a, as previously described with respect to the first type processor 151 of FIG. 3.
- the SNR detector 152A_1 may transmit the received voice data to the learning module 152a_2 when the SNR of the currently received voice data is greater than or equal to a pre-specified value (e.g., when the received voice data is good).
- the receiving processor 152a can perform at least one of gain processing, limiter processing, noise suppression processing, and DRC processing on the voice data and then transmit the data to the DAC 152_3A. If the received voice data is good, the learning module 152a_2 may receive the received voice data from the SNR detector 152A_1 and perform learning on the received voice data.
- Voice data learning of the learning module 152a_2 may be performed in the same or similar manner as the voiceprint modeling of the learning module 152a_2 previously described in FIG. 3.
- the learning module 152a_2 transmits the learned voiceprint model to the storage control module 152a_3, and the storage control module 152a_3 can store the learned voiceprint model in a certain area (e.g., extract speaker profile) of the memory 130. there is.
- the storage control module 152a_3 may match (or link) the other party's identification information registered in the phonebook and store it.
- the storage control module 152a_3 transfers the voiceprint model to the receiving processor 152a when the learning degree of a specific voiceprint model is greater than or equal to a specified value or when learning is completed. Supports application to filtering on voice data.
- the receiving processor 152a performs audio processing (e.g., at least one of gain, limiter, noise suppressing (NS), and dynamic range control (DRC)) on the received voice data, and converts the audio-processed voice data into a DAC ( 152_3A).
- audio processing e.g., at least one of gain, limiter, noise suppressing (NS), and dynamic range control (DRC)
- the receiving processor 152a may receive a voiceprint model corresponding to the identification information of the other party currently on the phone from the storage control module 152a_3, and perform noise filtering or other voice filtering based on the received voiceprint model.
- the receiving processor 152a may perform the above-described voiceprint model application from the start of the call to the end of the call.
- the receiving processor 152a may perform filtering based on the voiceprint model when the SNR of the received voice data is less than a specified value.
- the receiving processor 152a checks the learning progress of the voiceprint model corresponding to the other party's identification information, and determines whether the learning progress exceeds a predefined certain value (e.g., a certain length (or time)). If the voice data has been processed (or learning has been completed) more than a predefined number of times, filtering based on the voiceprint model can be performed.
- a predefined certain value e.g., a certain length (or time)
- the receiving processor 152a proceeds with learning of the voiceprint model during a call when the learning of the voiceprint model is less than a predefined value, and when learning during a call is completed (or when the learning progress is more than a predefined value) ), filtering based on the voiceprint model can be performed from that point on, or filtering based on the voiceprint model can be performed during the next call.
- the receiving processor 152a outputs a pop-up asking whether to apply filtering based on the voiceprint model at the time of completion of learning (or when the degree of learning progress exceeds a specified value) and performs filtering based on the voiceprint model in response to the user's selection. can do.
- the second type processor 152 may include an analog to digital converter (ADC) 152_3B (152_3B), an echo canceller (152b), a Tx encoder (152_2b), and a channel encoder (152_1b) disposed in the transmission path. At least one of the echo canceller (152b), Tx encoder (152_2b), and channel encoder (152_1b) may be formed as a software module or hardware configuration.
- ADC analog to digital converter
- 152_3B 152_3B
- an echo canceller 152b
- Tx encoder 152_2b
- channel encoder 152_1b
- the ADC (152_3B) is connected to the first microphone (121a) and can convert the user's voice signal collected by the first microphone (121a) into a digital signal and transmit it to the echo canceller (152b).
- the second microphone 121b is a digital microphone and can convert the received voice into a digital signal without a separate ADC process and transmit it to the echo canceller 152b.
- the first microphone 121a is described as an analog microphone and the second microphone 121b is described as a digital microphone, but the present invention is not limited thereto.
- the second type electronic device 100_2 may include a plurality of microphones, and all of the plurality of microphones may be analog microphones, or at least some of the microphones may be analog microphones, and at least one remaining microphone may be a digital microphone. You can.
- the echo canceller 152b may have the same or similar configuration as the echo canceller previously described in FIG. 3.
- the echo canceller 152b may include an adaptive filter 152b_1 and an ambient noise removal module 152b_2.
- the echo canceller 152b receives user voice data from the microphones 121a and 121b, it receives a voiceprint model corresponding to the other party's identification information from the storage control module 152a_3 and performs echo filtering based on the received voiceprint model. can be performed.
- the echo remover 152b may remove the echo based on an adaptive filter, remove ambient noise based on the voiceprint model, and then transmit the signal from which the noise has been removed to the Tx encoder 152_2b.
- the Tx encoder (152_2b) converts the received data into a packet that can be loaded on a channel, and the channel encoder (152_1b) can load the packet on a channel allocated for voice data transmission.
- At least some of the components included in the above-described digital signal processor may be configured as hardware processors.
- at least some of the components arranged in the digital signal processor may be configured as hardware components, and the remaining components may be configured as software modules.
- the electronic device (at least one of 100, 101, 102, 100_1, and 100_2) that receives voice data of the present disclosure learns (e.g., DNN training) and generates a voiceprint model, and generates a voiceprint model. Based on this, noise can be removed to support a clearer call function, and continuous updating of the voiceprint model can be supported by accumulating each call and learning automatically (or according to user selection).
- the electronic device (at least one of 100, 101, 102, 100_1, and 100_2) of the present invention is capable of removing not only the echo formed by the other party's voice, but also removing at least some of the surrounding noise and residual echo. support so that
- the first type electronic device 100_1 and the second type electronic device 100_2 described in FIGS. 3 and 4 are modified configurations related to removal of at least a portion of ambient noise and residual echo according to an embodiment of the present disclosure. has been described, and may be applied to at least one of the electronic devices (eg, 101, 102, and 100) previously described in FIGS. 1 and 2. Additionally, the electronic device including the configurations described in the first type electronic device 100_1 and the second type electronic device 100_2 described above may also be applied to at least some of the phonebook-based voiceprint operation methods described below.
- each of the above-described configurations of the first type electronic device 100_1 and the second type electronic device 100_2 is presented as an example to support the phonebook-based voiceprint operation of this description, and this description is limited to this. It doesn't work.
- at least some of the components described in the first type electronic device 100_1 and the second type electronic device 100_2 may be omitted, or the locations described (or shown) may be changed.
- at least part of the structure of Figure 3 may be omitted or replaced with at least part of the structure of Figure 4, and at least part of the structure of Figure 4 may also be omitted or replaced with at least part of the structure of Figure 3.
- at least one electronic device described in FIGS. 1 to 4 may further include at least some of the components of the electronic device in FIG. 12 described later.
- Figure 5 is a diagram showing an example of a server device configuration according to an embodiment.
- the server device 200 may include a server communication circuit 210, a server memory 230, and a server processor 250.
- the server communication circuit 210 may support the communication function of the server device 200.
- the server communication circuit 210 may form a communication channel with at least one electronic device 100 through the network 50.
- the server communication circuit 210 electronically transmits various data or signals to support voiceprint modeling of the electronic device (at least one of 100, 101, 102, 100_1, 100_2, hereinafter described with reference to 100). It can be transmitted and received with the device 100.
- the server communication circuit 110 may receive voice data (eg, second voice data in FIG. 1) received from the other electronic device for voiceprint modeling from the electronic device 100.
- the server communication circuit 110 may receive a voiceprint model being learned corresponding to the other electronic device from the electronic device 100 in response to the control of the server processor 250.
- the server communication circuit 110 is configured to provide at least one of a voiceprint model generated based on the received voice data, an updated voiceprint model that updates the voiceprint model being learned based on the received voice data, and a voiceprint model for which learning has been completed. It can be provided at (100).
- the server memory 230 may store data or programs necessary for operating the server device 200. According to one embodiment, the server memory 230 stores received voice data received from the electronic device 100 (e.g., voice data received by the electronic device 100 from the other electronic device) and identification for identifying the other electronic device.
- Voice data information 231 including information, voiceprint model learning information 232 created by performing learning based on the received voice data, and a learning algorithm 233 for voiceprint modeling may be stored.
- the voiceprint model learning information 232 may include a voiceprint model being learned or a voiceprint model that has completed learning corresponding to the learning result of the received voice data, and identification information for identifying the other party's electronic device.
- the identification information for identifying the other party's electronic device is information generated by the electronic device 100 randomly or according to a certain rule, and protects personal information by preventing direct matching between the voiceprint model and the phone number or name of the other party's electronic device.
- the identification information for identifying the other party's electronic device may be replaced with the name, phone number, email, or SNS address information of the other party's electronic device.
- the server processor 250 may control the transmission and processing of signals for operating the server device 200 and storage of the processing results.
- the server processor 250 may include a voiceprint model learning unit 251 and a user information management unit 252 in relation to supporting the voiceprint modeling function according to an embodiment.
- the voiceprint model learning unit 251 may perform voiceprint modeling (or learning) on the received voice data received from the electronic device 100.
- the voiceprint model learning unit 251 may generate a voiceprint model by applying a learning algorithm (eg, deep neural network, DNN algorithm) to the received voice data.
- the voiceprint model learning unit 251 may transmit the generated voiceprint model to the electronic device 100.
- the voiceprint model learning unit 251 can set the completeness of the voiceprint model for the received voice data.
- the voiceprint model learning unit 251 also provides information corresponding to the degree of learning progress (e.g., 30%, 50%...) can do.
- the voiceprint model learning unit 251 may predefine the number of learning times for voice data of a certain length or more or the length (or time) of voice data used for overall learning.
- the length of speech data associated with the completion of training of the voiceprint model can be statistically defined.
- the voice data length related to the completion of learning of the voiceprint model may be determined based on the degree of data distortion of the filtering result after filtering is performed by applying the learned voiceprint model to the actual received voice data.
- the voiceprint model learning unit 251 When the voiceprint model learning unit 251 receives a voiceprint model being learned along with received voice data from the electronic device 100, the voiceprint model learning unit 251 applies the received voice data to the received voiceprint model during training to perform voiceprint modeling (or learning). It can be done.
- the voiceprint model learning unit 251 may store and manage a voiceprint model in progress (or a voiceprint model for which learning has not been completed) in the server memory 230. When learning of the voiceprint model is completed, the voiceprint model learning unit 251 provides the learned voiceprint model to the electronic device 100, while providing related information (e.g., the learned voiceprint model) from the server memory 230. It can be deleted.
- the user information management unit 252 may store and manage information related to the electronic device 100 that provided the received voice data. According to one embodiment, the user information management unit 252 collects the identification information of the electronic device 100, the identification information of the other electronic device for which the electronic device 100 requests voiceprint modeling, and the received voice provided by the electronic device 100. At least part of the voiceprint model being learned can be saved through data. In this operation, in relation to personal information protection, the identification information of the other party's electronic device may be replaced with arbitrary information generated by the electronic device 100. When learning about a specific voiceprint model is completed, the user information management unit 252 may delete the identification information of the other party's electronic device related to the voiceprint model.
- the server processor 250 can receive voice data from the electronic device 100 in real time.
- the electronic device 100 may establish a call channel with the other electronic device and, upon receiving voice data from the other electronic device, provide the voice data to the server device 200.
- the server processor 250 may check the SNR of the received voice data, and if the SNR is less than a specified value, the received voice data may be discarded without applying it to voiceprint modeling.
- the server processor 250 may inform the electronic device 100 of at least part of the discard processing and reason for discarding.
- the SNR detector described in the electronic devices 100_1 and 100_2 described in FIGS. 3 and 4 may be omitted.
- the voice data extraction operation of the server processor 250 may be omitted. .
- FIG. 6 is a diagram illustrating an example of an electronic device operation method related to phonebook-based voiceprint modeling according to an embodiment.
- the processor 150 of the electronic device 100 may perform a phonebook-based call connection in operation 601. .
- the processor 150 may control the phonebook screen to be output on the display 140 in response to a phonebook execution request.
- the phonebook screen may include an item that can set the learning function to be turned on or off.
- the processor 150 When a user input requesting a call connection occurs after a specific item (or identification information of the other party's electronic device) is selected from the phone book list (or the identification information list of the other party's electronic device) displayed on the phone book screen, the processor 150 A call connection request message is sent to the device, and if the other electronic device accepts the call connection, the call can be connected. When connecting a call, the processor 150 may output a screen corresponding to the call connection on the display 140.
- the call connection screen includes at least one item related to the call function (e.g., call end button, speaker switch button, keypad selection button), and can turn on or off the learning function related to the voiceprint model. Items may be included.
- At least one of the phone book screen and the call connection screen is information indicating the learning level of the voiceprint model that performed learning based on the voice data of the other party's electronic device (e.g., text indicating the learning level or learning level A corresponding progress bar) can be output.
- the processor 150 may receive a voice signal from the other party's electronic device.
- the user of the other electronic device may make a speech and transmit his or her voice signal to the electronic device 100.
- the processor 150 may check whether the received voice signal is an abnormal signal. For example, the processor 150 can check whether there is network loss or whether the SNR signal is appropriate for the received voice signal. According to one embodiment, the processor 150 may determine a voice signal received as an abnormal signal when the signal reception strength received from the network (or base station) is less than a specified value. Alternatively, the processor 150 may check the bit error rate of the received voice signal and, if the bit error rate is greater than a specified value, determine it to be an abnormal signal. Alternatively, the processor 150 may check the signal-to-noise ratio (SNR) of the received voice signal and determine it to be an abnormal signal if the SNR is less than a specified value (if the signal ratio is lower than the specified value).
- SNR signal-to-noise ratio
- the processor 150 may check whether the learning function is turned on.
- the processor 150 may check whether an artificial intellectual (AI) training block is activated in relation to checking the learning function turn-on setting.
- the processor 150 can provide a voice recognition function related to learning function settings, and if the user does not wish to train the voice data of the other electronic device user, the above-described AI training block can be turned off, and the voice If you wish to train on data, you can change the AI training block to turn-on.
- the processor 150 may output a pop-up window or object that can change the settings of the learning function to the display 140. Alternatively, the processor 150 may output at least one of a notification sound or instruction information indicating that the learning function is turned on or turned off. According to one embodiment, when learning of the voiceprint model corresponding to the other party's electronic device is completed, the processor 150 outputs at least one of a guide sound or guidance information informing that the learned voiceprint model is being applied according to the settings. can do.
- operation 607 may be omitted.
- a function to turn off the learning function may be provided.
- the processor 150 sets the voiceprint modeling function of other users registered in the phonebook to be turned off by default, and performs voiceprint modeling for the other party with whom the number of call connections has exceeded a specified number of times (or the other party who has had a call connection for more than a specified time)
- the learning function can be automatically switched to the turn-on state (or switched upon acceptance after user confirmation).
- the processor 150 may perform voice data learning. For example, the processor 150 transfers the received voice data to a learning module (e.g., the learning module 150a2_2 in FIG. 2 or the learning module 152a_2 in FIG. 3) (e.g., a DNN block) to perform voice training. there is.
- the processor 150 may receive a learning algorithm from the memory 130 and perform learning on the received voice data using the received learning algorithm.
- the processor 150 may compare the similarity (or correlation) between the learning result and the previously stored voiceprint model to determine whether the similarity is greater than or equal to a reference value. For example, the processor 150 may compare the similarity between the voiceprint model generated as a result of learning the received voice data and the previously stored voiceprint model.
- the processor 150 may compare the similarity between the voiceprint model generated as a result of learning the received voice data and the previously stored voiceprint model.
- the processor 150 compares the received voice signal (e.g., mother's voice signal) with the father's voice signal already stored in the phonebook (or in a storage area associated with the phonebook), and if the similarity is less than the reference value, the father's voice signal is compared. It can be judged by the voice signal of someone other than . If it is determined to be another person's voice signal, the processor 150 may process the currently received voice signal (e.g., the mother's voice signal) not to be applied to learning (e.g., learning the father's glottal model).
- the received voice signal e.g., mother's voice signal
- the processor 150 may process the currently received voice signal (e.g., the mother's voice signal) not to be applied to learning (e.g., learning the father's glottal model).
- the processor 150 compares the glottal model generated from the voice signal instead of comparing the voice signal (e.g., the glottal model being learned corresponding to the father's list stored in the phonebook and the glottal model generated from the mother's voice signal). comparison) can also be performed.
- the processor 150 determines the similarity between the voiceprint model generated from the received voice signal (e.g., the mother's voice signal) and the father's voiceprint model being learned (or a previously stored voice signal) stored in the phonebook as a reference value. If it is less than the value, a user item (for example, a mother item previously stored in the phonebook) whose similarity is higher than the reference value can be detected by comparing it with the voice signals (or pre-stored voiceprint models) of other user items registered in the phonebook list.
- the voiceprint model generated from the received voice signal e.g., the mother's voice signal
- the father's voiceprint model being learned or a previously stored voice signal
- the processor 150 converts the currently received voice signal (e.g., mother voice signal) corresponding to the other user item into a pre-stored and currently learning glottal model (e.g., mother voice signal). Learning can be done by applying it to the corresponding voiceprint model being learned. If no other user items are detected, the processor 150 may process not applying learning to the received voice signal (eg, mother's voice signal).
- a pre-stored and currently learning glottal model e.g., mother voice signal.
- Learning can be done by applying it to the corresponding voiceprint model being learned. If no other user items are detected, the processor 150 may process not applying learning to the received voice signal (eg, mother's voice signal).
- the processor 150 determines that even if another user item (e.g., mother item stored in the phonebook) corresponding to the received voice signal (e.g., mother's voice signal) is detected, learning of the corresponding voiceprint model is completed. In this case, it can be processed so that no additional learning is performed. Additionally or alternatively, the processor 150 may perform filtering (e.g., mother's voice signal) of a received speech signal (e.g., mother's voice signal) based on a glottal model (e.g., a learned glottal model) corresponding to another detected user item. Filtering using a model) can be performed.
- filtering e.g., mother's voice signal
- a glottal model e.g., a learned glottal model
- performing an operation of detecting another user item e.g., mother's item stored in a phonebook
- the processor 150 first selects other user items (e.g., other user items registered as family members) that are highly related to the other electronic device (e.g., father's portable communication device). You can perform voice signal comparison (or model comparison) with .
- the processor 150 may update the learning result in operation 613.
- the processor 150 may integrate the learning results for the received voice data into an existing stored voiceprint model being learned, and store the integrated voiceprint model in extract speaker profile (database storage) (or memory 130).
- the learned and updated voiceprint model can be stored in synchronization with the other party's contact information.
- the processor 150 when an abnormal voice signal is received in operation 605, when the learning function is set to turn-off in operation 607, and when the similarity is less than the reference value in operation 611, the processor 150 performs 615 Data non-reflection processing can be performed in the operation. For example, the processor 150 may control the received voice data to be output through a speaker after performing general audio processing without applying it to learning.
- the processor 150 may check whether an event related to the end of learning occurs. For example, the processor 150 receives at least one of the following: when an event related to call termination occurs, when a user input to turn off the learning function is received, or when a message requesting not to execute the learning function is received from the other party's electronic device. You can check whether the case occurs. If an event related to the end of learning occurs, the processor 150 ends the learning function, and if no event related to the end of learning occurs, the processor 150 branches to before operation 603 and re-performs the following operations.
- FIG. 7 is a diagram illustrating an example of an electronic device operation method related to phonebook-based voiceprint model operation according to an embodiment.
- the processor 150 of the electronic device 100 may perform a phonebook-based call connection in operation 701.
- Operation 701 may be the same or similar to operation 601 described above.
- the phonebook-based call connection can be included in the phonebook-based call connection not only when a call is connected through the phonebook, but also when the other party's phone number is pressed through the virtual number keypad, if the other party's phone number is registered in the phonebook.
- the processor 150 may receive voice (eg, voice data or voice signal) through a call channel connected to the other party's electronic device.
- voice e.g, voice data or voice signal
- the processor 150 may obtain a voiceprint model stored in correspondence with the identification information of the other party's electronic device from the memory 130.
- the time of acquiring the voiceprint model may be at least one of the time when a call connection is requested, the time when the other party's electronic device accepts the call connection, or the time when voice data is received from the other party's electronic device.
- the processor 150 may perform noise filtering on the received voice data based on the voiceprint model (or learning result). For example, the processor 150 may remove at least some of the ambient noise and residual echo of the received voice data.
- the processor 150 may perform a filtering operation based on a voiceprint model corresponding to the other party's electronic device. If the signal is not abnormal, the processor 150 may selectively perform glottal model-based filtering or glottal model-based filtering to remove at least some of the surrounding noise and residual echo. The following operation explains the performance of filtering based on the voiceprint model.
- the processor 150 may convert voice data from which at least some of the surrounding noise and residual echo has been removed into an analog signal, and output the converted analog signal through a speaker.
- the processor 150 may perform various operations depending on the degree of learning of the learned voiceprint model. For example, when the learning progress of the learned voiceprint model is less than a specified reference value, the processor 150 does not perform separate noise filtering, but outputs a guide sound or guidance information to indicate that the learning progress of the learning model is insufficient. can do. Alternatively, if the learning progress of the learned voiceprint model is less than a specified reference value, the processor 150 may perform noise filtering using the voiceprint model in progress while informing that complete noise filtering cannot be performed.
- the processor 150 performs noise filtering (e.g., at least some of the surrounding noise and residual echo) on the received voice data without separate guidance (or while guiding that noise filtering based on the voiceprint model is applied). removal) can be performed.
- noise filtering e.g., at least some of the surrounding noise and residual echo
- the processor 150 may check whether an event related to call termination has occurred. If no event related to call termination occurs, the processor 150 may branch to before operation 703 and re-perform the following operations. When a call termination-related event occurs, the processor 150 returns hardware or software resources for using the voiceprint model and terminates the call function.
- the processor 150 may perform noise filtering using a voiceprint model corresponding to the identification information of the other party's electronic device for the section in which the user's voice is collected.
- echo removal using an adaptive filter e.g., removal of a signal collected by a microphone among signals output through a speaker
- the processor 150 At least some of the surrounding noise and residual echo left after echo removal can be additionally removed using the voiceprint model.
- the learning operation of the voiceprint model described in FIG. 6 can be performed independently of the filtering operation using the voiceprint model in FIG. 7 described later.
- the processor 150 when connecting a call with the other party's electronic device stored in the phonebook, the processor 150 does not perform a filtering operation using the voiceprint model if learning of the voiceprint model corresponding to the other party's electronic device is not completed, as described in FIG. 6.
- a voiceprint model learning operation can be performed.
- the processor 150 does not perform the learning operation described in FIG. 6, but performs the voiceprint model described in FIG. 7. You can perform filtering operations using .
- the processor 150 determines if the voice signal received while performing a call connection with the other party's electronic device stored in the phonebook is not the other party's own (e.g., operation 611), and if it is not the other party's own, As described above, it can be controlled to perform additional learning or filtering operations depending on whether the glottal model learning of other user items (e.g., mother items) has been completed.
- Figure 8 is a diagram showing another example of an electronic device operation method related to phonebook-based voiceprint model operation according to an embodiment.
- the processor 150 of the electronic device 100 determines whether a call is received in operation 801. You can check it. If there is no incoming call, the processor 150 may process performance of the designated function in operation 803. For example, the processor 150 may execute a specific application in response to a user input, or control the output of a screen or audio signal corresponding to the currently executing application.
- the processor 150 may check whether identification information (eg, phone number) of the other party's electronic device that requested a call connection exists in the phonebook. If the identification information is pre-registered in the phonebook, the processor 150 may output a call connection request screen including identification information (e.g., name, phone number) of the other party's electronic device. When a user input accepting a call connection is received, the processor 150 may form a call channel with the other party's electronic device. The processor 150 can receive voice data transmitted by the other party's electronic device through a call channel. If the identification information is not registered in the phonebook, the processor 150 may branch to operation 803 to perform a designated function (e.g., a call function corresponding to the user's call acceptance).
- a designated function e.g., a call function corresponding to the user's call acceptance
- the processor 150 may generate a voiceprint model by performing learning on the received voice data.
- the processor 150 may store the voiceprint model in the memory 130 by matching it with identification information registered in the phonebook.
- the processor 150 checks whether the call function is terminated, and if the call function is maintained, it branches to operation 807 and re-performs the following operations. When the call function ends, the processor 150 may end the voice data learning function.
- the electronic device 100 outputs a screen related to voiceprint model learning and the voice received from the other party according to user settings.
- Voiceprint modeling can be performed based on the data.
- the processor 150 may support registration of phonebook information corresponding to the learned voiceprint model.
- the processor 150 may store voice data received during a call and, after the call ends, create a voiceprint model through learning.
- the processor 150 generates new identification information (e.g., noname) corresponding to the other party's electronic device during the call, matches the voiceprint model generated based on voice data received during the call to the new identification information, and stores the new identification information in memory 130. ) can be saved in .
- the processor 150 may output a screen requesting change to new identification information on the display 140.
- FIGS. 7 and 8 described above examples of electronic device operation methods related to voiceprint model operation of the electronic device are separately described, but at least some of the operations described in FIG. 7 and at least some of the operations described in FIG. 8 are They may be mutually applied or excluded from each example.
- the noise filtering configuration described in FIG. 7 can also be applied to operation 807 in FIG. 8.
- FIG. 9 is a diagram illustrating an example of a method of using a server device of an electronic device related to operation of a phonebook-based voiceprint model according to an embodiment.
- the processor 150 of the electronic device 100 may check whether call data of a phonebook registered user is received in operation 901. .
- the electronic device 100 may form a communication channel with another electronic device. If there is no reception of call data from the phonebook registered user, in operation 903, the processor 150 may process performance of the designated function.
- the processor 150 may support the performance of a specific user function (e.g., music playback function, web surfing function, video playback function) of the electronic device 100 in response to user input.
- the processor 150 may generate identification information corresponding to the registered user.
- the processor 150 may generate arbitrary identification information in relation to personal information protection, and store the registered user information by matching the generated arbitrary identification information with the registered user information.
- processor 150 may transmit identification information and call data (e.g., voice data) to designated server device 200.
- the processor 150 may form a communication channel with the server device 200 and transmit the identification information and call data to the server device 200 based on the communication channel.
- the processor 150 may obtain, store and manage server device 200 connection information in advance.
- the electronic device 100 may install an application related to voiceprint modeling, and when the learning function is turned on, the electronic device 100 may connect to the server device 200 by automatically executing the installed application when a call channel is established.
- the processor 150 may also transmit the voiceprint model being learned to the server device 200.
- the processor 150 may receive learning results from the designated server device 200 and update the received learning results in the memory 130.
- the processor 150 may match and store the voiceprint model corresponding to the received learning result in the phonebook.
- the processor 150 verifies the identification information of the other party's electronic device in the phonebook based on the identification information transmitted to the server device 200, and matches it to the identified identification information of the other party's electronic device to create a voiceprint model (or server device).
- the results learned at (200) can be stored in the memory (130).
- the processor 150 may update the currently received voiceprint model if there is a previously stored learning model.
- the processor 150 may check whether an event related to termination of the learning function for the voiceprint model occurs. For example, the processor 150 may end the voiceprint modeling operation using the server device 200 when an event related to termination of the call function or an event that turns the learning function to turn off occurs. If the end event does not occur, the processor 150 may branch to before operation 901 and re-perform the following operations.
- the voice data used to generate the above-described voiceprint model may include data received during a voice call or data received during a video call. Additionally, the voice data related to generating the voiceprint model may include voice data transmitted and received during a multi-party voice call (or multi-party video call).
- the processor 150 performs similarity mapping of the voice data of a plurality of users transmitted and received, based on phonebook information used for call connection and voiceprint models during learning that are mapped to the phonebook information and pre-stored. Speech data that is greater than or equal to a predefined reference value can be used to learn the corresponding voiceprint model.
- the processor 150 may process it so that it is not reflected in learning. As an example, during a multi-party call, the processor 150 applies source separation technology to sound source data, separates the sound source data of a plurality of speakers included in the sound source data, and then models the voiceprint model of the speaker for which learning has not been completed. You can proceed with your learning. In this operation, the processor 150 may use the learned voiceprint model to filter voice data while the speaker is speaking and process the remaining voice data to perform learning for voiceprint modeling.
- Figure 10 is a diagram illustrating an example of a screen interface related to voiceprint modeling according to an embodiment.
- the display 140 of the electronic device displays a first display screen 161 as shown in relation to operation of the call function.
- the processor 150 displays the first display screen 161 ( 140) can be controlled to output.
- the first display screen 161 includes, for example, the user name 161_1 of the other party's electronic device, the phone number of the other party's electronic device (161_2), and a first object (161_3) that can request a call connection with the other party's electronic device (e.g.
- call connection virtual button a second object (161_4) that can transmit a text message to the other party's electronic device, a third object (161_5) that can request a video call connection to the other party's electronic device (e.g., video call connection virtual button) It may include at least one of: At least some of the user name 161_1, phone number 161_2, and first to third objects 161_3, 161_4, and 161_5 displayed on the above-described first display screen 161 may be omitted.
- the first display screen 161 when the learning function is set to the turn-on state, is a second glottal model object indicating that the learning function is in the turn-on state and the degree of learning progress of the glottal model. (161_7) can be output.
- the second voiceprint model object 161_7 may include, for example, a number, letter, or image corresponding to a ratio value indicating the degree of learning progress.
- the above-described first voiceprint model object 161_6 and the second voiceprint model object 161_7 may be toggled in response to user input (eg, touch).
- the processor 150 displays a call connection request screen (or video call connection request screen) ( 140).
- the call connection request screen (or video call connection request screen) may output at least one of the first voiceprint model object 161_6 or the second voiceprint model object 161_7 depending on the learning function setting state.
- the first voiceprint model object (161_6) is displayed on the second voiceprint model object (161_6). It can be changed to model object (161_7).
- Either the first voiceprint model object 161_6 or the second voiceprint model object 161_7 may be displayed on the first display screen 161 depending on the learning level and activation or deactivation state of the voiceprint model.
- the user can turn on or turn on the voiceprint model learning function of the other party's electronic device registered in the phonebook through at least one of the screen for checking phonebook information, the screen for requesting a call connection, and the in-call screen. Turn-off settings can be performed.
- the processor 150 of the electronic device 100 may output one of the voiceprint model objects 161_6 and 161_7 in association with related items on a phonebook list screen where a plurality of phonebook items are displayed.
- the user can change the settings of the learning function and check the progress of the voiceprint model or whether learning has been completed.
- FIG. 11 is a diagram illustrating another example of a screen interface related to voiceprint modeling according to an embodiment.
- the processor 150 of an electronic device may support a video call connection in response to a user input.
- the electronic device may further include a camera for video calls.
- the processor 150 can provide a screen interface that can request a video call connection through the phonebook.
- the processor 150 may perform a video call connection with the other party's electronic device and perform learning for a voiceprint model based on the voice data transmitted and received.
- the electronic device 100 may store phonebook information 131 including a plurality of counterpart user identification information 131a, 131b, 131c, 131d, and 131e in the memory 130.
- Each of the user identification information (131a, 131b, 131c, 131d, 131e) may include voiceprint models through learning of previous voice data or may be mapped to voiceprint models.
- the processor 150 may control the video call screen 162 including the video area 162_1 and the learning display area 162_2 to be output on the display 140.
- the learning display area 162_2 includes a first learning display item 162a indicating the learning progress of the first user identification information 131a and a second learning display item 162b indicating the learning progress of the second user identification information 131b. ) may include.
- the processor 150 maps the voiceprint models generated through learning of voice data received from the other electronic device and the user identification information (131a, 131b, 131c, 131d, 131e) and stores the voiceprint being learned. By comparing the models, voiceprint models whose similarity is greater than or equal to a reference value can be detected.
- the processor 150 learns a first voiceprint model mapped to the first user identification information 131a and a second voiceprint model mapped to the second user identification information 131b based on voice data acquired during a video call. can be performed respectively.
- the processor 150 obtains a first voiceprint model corresponding to the user identification information of the other party's electronic device, and uses the first voiceprint model to create a first voiceprint model and a first voiceprint model among voice data transmitted and received during a video call. Related voice data can be detected.
- the processor 150 can perform noise filtering based on the first voiceprint model to process the user's voice from the other party's electronic device so that it can be heard more clearly.
- the processor 150 creates voiceprint models by learning a plurality of voice data, and compares the voiceprint models with the voiceprint models mapped and stored in the phonebook. Voiceprint models whose similarity is greater than or equal to a predefined standard value can be detected. When the voiceprint models have been trained enough to be used for noise filtering, the processor 150 performs noise filtering using each voiceprint model, so that the user's voice corresponding to the voiceprint models can be heard more clearly. It can be processed so that it can be processed. In this operation, the processor 150 may basically use the first voiceprint model corresponding to the user identification information of the other party's electronic device performing the video call.
- the processor 150 executes an application corresponding to a video editor in response to a user input, and links the voice data included in the video file being edited in the executed video editor with the phonebook.
- Modeling can be performed.
- the processor 150 performs modeling on voice data included in the video file, and compares at least part of the modeled data with pre-stored voiceprint models in connection with the phonebook to obtain the same or similar voiceprint model.
- phonebook information corresponding to the voiceprint model can be detected, and the detected phonebook information can be matched and stored with the voice data included in the video file, or the detected phonebook information can be controlled to be output together on the video output screen. You can.
- the processor 150 distinguishes speakers that match the voiceprint models or the other party's faces stored in the phonebook 131 from the video file, and outputs them on the screen while the screen corresponding to the video file is displayed.
- Phonebook information e.g. name
- the processor 150 distinguishes speakers that match the voiceprint models or the other party's faces stored in the phonebook 131 from the video file, and outputs them on the screen while the screen corresponding to the video file is displayed.
- Phonebook information e.g. name
- the phonebook-based voiceprint operation method of the present invention can effectively remove sign language noise or echo by utilizing the other party's voice learned (or trained) based on the phonebook, and can effectively remove sign language noise or echo, and learn about the other party's voice ( If you do not want to do this (or training), or if the other party's voice for voice data collection is not clear (if there is a lot of noise in the voice due to the performance of the other party's broadcasting noise suppressor), you can support selective learning. Additionally, this device supports using the learned other party's voice for various audio functions.
- this device is stored in the phonebook and uses the other party's voiceprint (Voice Printing) information to serve as an auxiliary function of the Echo Canceller, which is a speech solution, and removes at least a residual echo or ambient noise (or ambient noise). Some of them can be removed effectively.
- voiceprint Voice Printing
- At least one object included in the screen interface described in FIG. 10 may be applied to the screen interface described in FIG. 11, and at least one object included in the screen interface described in FIG. 11 may be applied to the screen interface described in FIG. 10. You can. Additionally, at least one object included in the screen interface described in FIGS. 10 and 11 may be omitted.
- the phonebook information 131 described in FIG. 11 may be added to the screen interface described in FIG. 10 .
- the activation or deactivation display of the screen interface described in FIG. 10 may be applied to at least one of the user identification information 131a, 131b, 131c, 131d, and 131e, the image area 162_1, and the learning display area 162_2 of FIG. 11. .
- an electronic device includes a communication circuit supporting a call function, a memory for storing a phonebook, and a processor functionally connected to the communication circuit and the memory, and the processor includes the communication circuit and the memory.
- a call channel is formed with the other party's electronic device in response to a call function activation request based on the identification information of the other party's electronic device registered in the phonebook, and when voice data transmitted by the other party's electronic device is received, voice data is generated based on the voice data.
- the voiceprint model is connected to the identification information of the other party's electronic device, and the voiceprint model connected to the identification information of the other party's electronic device is stored in the phonebook.
- the processor controls to output the phonebook execution screen on a display in response to a user input related to executing the phonebook, and includes an item displaying identification information of the other party's electronic device in the phonebook execution screen, the voiceprint It is characterized in that it is set to output an object that displays at least one of whether the model is set for learning and the degree of learning progress of the voiceprint model.
- the processor controls to proceed with learning of the voiceprint model when the object is activated, and controls not to proceed with learning of the voiceprint model when the object is deactivated.
- the processor receives a user input related to selecting the object, and when the object is activated in response to receiving the user input, controls to perform learning of the voiceprint model using the voice data, When the object is deactivated in response to receiving the user input, learning of the voiceprint model using the voice data can be controlled to cancel or stop.
- the processor compares at least a portion of the generated voiceprint model with at least a portion of a voiceprint model being learned that is previously stored in the phonebook, and when the similarity as a result of the comparison is greater than a preset reference value, the processor uses the voice data.
- the method is set to proceed with learning of the voiceprint model being learned, and to cancel or stop learning of the voiceprint model using the voice data when the similarity as a result of the comparison is less than a preset reference value.
- the processor is set to generate the voiceprint model by performing learning on the voice data based on an artificial neural network algorithm stored in the memory.
- the processor performs learning of the voiceprint model when the signal quality of the voice data is greater than a predefined certain value, and when the signal quality of the voice data is less than a predefined certain value, the processor performs training on the voiceprint model. It is characterized by being set to stop or cancel model learning.
- the processor performs the voiceprint model learning when the signal-to-noise ratio of the voice data is greater than a predefined certain value or the bit error rate of the voice data is less than a predefined certain value, If the signal-to-noise ratio of the voice data is less than a predefined certain value or the bit error rate of the voice data is more than a predefined certain value, the voiceprint model learning is set to stop or cancel.
- the processor transmits the voice data to a designated server device and receives a voiceprint model learned based on the voice data from the server device.
- the processor transmits the voice data to the server device when the signal quality of the voice data is greater than a predefined certain value, and when the signal quality of the voice data is less than a predefined certain value. , Characterized in that it is set to stop or cancel the voice data transmission.
- the processor generates random identification information corresponding to the identification information of the other party's electronic device, and matches the voice data with a voiceprint model being learned stored in the phonebook to the random identification information. It is characterized in that it is set to be transmitted to a server device.
- the processor removes an echo of a voice signal to be transmitted to the other electronic device using the voice data, and uses the voiceprint model to remove at least one residual echo among the surrounding noise of the echo-removed voice signal. It is characterized by being set to remove some of it.
- the processor when the learning progress of the voiceprint model is greater than a specified value or the learning of the voiceprint model is completed, the processor performs removal of at least a portion of the residual echo among the surrounding noise using the voiceprint model. It is characterized by being set to do so.
- a phonebook-based voiceprint operation method includes the steps of forming a call channel with the other party's electronic device in response to a call function activation request based on the identification information of the other party's electronic device registered in the phonebook of the electronic device; An operation of receiving voice data transmitted by the other electronic device, and if the signal quality of the voice data is better than a specified reference value, processing the generation of a voiceprint model based on the voice data, and the processing The operation includes linking the voiceprint model generated based on the voice data to identification information of the other party's electronic device, and storing the voiceprint model linked to the identification information of the other party's electronic device in the phonebook.
- the method further includes receiving a user input related to executing the phonebook, and outputting the phonebook executing screen on a display in response to the user input, wherein the outputting operation includes: Characterized by an operation of outputting an object indicating at least one of whether the voiceprint model is set for learning and the degree of learning progress of the voiceprint model in an item displaying identification information of the other party's electronic device on the phonebook execution screen.
- the method includes, when the object is in an activated state, learning of the voiceprint model, and when the object is in an inactive state, processing the voice data according to the call function without proceeding with learning of the voiceprint model. It is characterized in that it includes an operation to perform.
- the method includes receiving a user input related to selecting the object, and when the object is activated in response to receiving the user input, performing learning of the voiceprint model using the voice data. , when the object is deactivated in response to receiving the user input, canceling or stopping learning of the voiceprint model using the voice data and performing voice data processing according to the call function.
- the method includes comparing at least a part of the generated voiceprint model with at least a part of a voiceprint model being learned that is pre-stored in the phonebook, and if the similarity as a result of the comparison is greater than a preset reference value, the voice data An operation of proceeding with learning of the voiceprint model being learned using , and an operation of canceling or stopping learning of the upper voiceprint model using the voice data when the similarity as a result of the comparison is less than a preset reference value.
- the processing operation performs the voiceprint model learning when the signal-to-noise ratio of the voice data is greater than a predefined certain value or the bit error rate of the voice data is less than a predefined certain value. And, when the signal-to-noise ratio of the voice data is less than a predefined certain value or the bit error rate of the voice data is more than a predefined certain value, an operation of stopping or canceling the voiceprint model learning is characterized. do.
- the processing operation includes, when the signal quality of the voice data is higher than a predefined certain value, transmitting the voice data to the server device and receiving the voiceprint model from the server device, If the signal quality of the voice data is below a predefined certain value, an operation of stopping or canceling the voice data transmission is included.
- the method includes at least some of the operations described in FIGS. 6 to 9, at least some of the operations for outputting an object on the screen of the display described in FIGS. 10 and 11, and an operation for processing an audio signal. It may further include at least some of these.
- the memory of the electronic device stores a video file including a voice signal (or audio information or voice data), and the processor or method of the electronic device stores audio information included in the video file in the video file.
- An operation may be performed to compare the voiceprint models stored in the memory and output identifier information for the same or similar voiceprint models.
- the processor or method of the electronic device distinguishes speakers (or separates sources) from voice signals included in the video using the voiceprint model, and selects the voice signals uttered by each speaker.
- STT Speech to text
- the processor or method of the electronic device distinguishes speakers (or source is separated), and voiceprint modeling (or learning) can be performed on the voice signals uttered by each speaker.
- FIG. 12 is a block diagram of an electronic device 1201 in a network environment 1200, according to various embodiments.
- the electronic device 1201 communicates with the electronic device 1202 through a first network 1298 (e.g., a short-range wireless communication network) or a second network 1299. It is possible to communicate with at least one of the electronic device 1204 or the server 1208 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 1201 may communicate with the electronic device 1204 through the server 1208.
- a first network 1298 e.g., a short-range wireless communication network
- a second network 1299 e.g., a long-distance wireless communication network
- the electronic device 1201 includes a processor 1220, a memory 1230, an input module 1250, an audio output module 1255, a display module 1260, an audio module 1270, and a sensor module ( 1276), interface (1277), connection terminal (1278), haptic module (1279), camera module (1280), power management module (1288), battery (1289), communication module (1290), subscriber identification module (1296) , or may include an antenna module 1297.
- at least one of these components eg, the connection terminal 1278
- may be omitted, or one or more other components may be added to the electronic device 1201.
- some of these components are integrated into one component (e.g., display module 1260). It can be.
- the processor 1220 executes software (e.g., program 1240) to operate at least one other component (e.g., hardware or software component) of the electronic device 1201 connected to the processor 1220. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 1220 stores commands or data received from another component (e.g., sensor module 1276 or communication module 1290) in volatile memory 1232. The commands or data stored in the volatile memory 1232 can be processed, and the resulting data can be stored in the non-volatile memory 1234.
- software e.g., program 1240
- the processor 1220 stores commands or data received from another component (e.g., sensor module 1276 or communication module 1290) in volatile memory 1232.
- the commands or data stored in the volatile memory 1232 can be processed, and the resulting data can be stored in the non-volatile memory 1234.
- the processor 1220 may include a main processor 1221 (e.g., a central processing unit or an application processor) or an auxiliary processor 1223 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- a main processor 1221 e.g., a central processing unit or an application processor
- auxiliary processor 1223 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
- the electronic device 1201 includes a main processor 1221 and a auxiliary processor 1223
- the auxiliary processor 1223 may be set to use lower power than the main processor 1221 or be specialized for a designated function. You can.
- the auxiliary processor 1223 may be implemented separately from the main processor 1221 or as part of it.
- the auxiliary processor 1223 may, for example, act on behalf of the main processor 1221 while the main processor 1221 is in an inactive (e.g., sleep) state, or while the main processor 1221 is in an active (e.g., application execution) state. ), together with the main processor 1221, at least one of the components of the electronic device 1201 (e.g., the display module 1260, the sensor module 1276, or the communication module 1290) At least some of the functions or states related to can be controlled.
- co-processor 1223 e.g., image signal processor or communication processor
- may be implemented as part of another functionally related component e.g., camera module 1280 or communication module 1290. there is.
- the auxiliary processor 1223 may include a hardware structure specialized for processing artificial intelligence models.
- Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 1201 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 1208).
- Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
- An artificial intelligence model may include multiple artificial neural network layers.
- Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
- artificial intelligence models may additionally or alternatively include software structures.
- the memory 1230 may store various data used by at least one component (eg, the processor 1220 or the sensor module 1276) of the electronic device 1201. Data may include, for example, input data or output data for software (e.g., program 1240) and instructions related thereto.
- Memory 1230 may include volatile memory 1232 or non-volatile memory 1234.
- the program 1240 may be stored as software in the memory 1230 and may include, for example, an operating system 1242, middleware 1244, or application 1246.
- the input module 1250 may receive commands or data to be used in a component of the electronic device 1201 (e.g., the processor 1220) from outside the electronic device 1201 (e.g., a user).
- the input module 1250 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
- the sound output module 1255 may output sound signals to the outside of the electronic device 1201.
- the sound output module 1255 may include, for example, a speaker or receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display module 1260 can visually provide information to the outside of the electronic device 1201 (eg, a user).
- the display module 1260 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
- the display module 1260 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
- the audio module 1270 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 1270 acquires sound through the input module 1250, the sound output module 1255, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 1201). Sound may be output through an electronic device 1202 (e.g., speaker or headphone).
- an electronic device 1202 e.g., speaker or headphone
- the sensor module 1276 detects the operating state (e.g., power or temperature) of the electronic device 1201 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 1276 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
- the interface 1277 may support one or more designated protocols that can be used to connect the electronic device 1201 directly or wirelessly with an external electronic device (eg, the electronic device 1202).
- the interface 1277 may include, for example, 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 audio interface
- connection terminal 1278 may include a connector through which the electronic device 1201 can be physically connected to an external electronic device (eg, the electronic device 1202).
- the connection terminal 1278 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 1279 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
- the haptic module 1279 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 1280 can capture still images and moving images.
- the camera module 1280 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 1288 can manage power supplied to the electronic device 1201. According to one embodiment, the power management module 1288 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- Battery 1289 may supply power to at least one component of electronic device 1201.
- the battery 1289 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
- the communication module 1290 provides a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 1201 and an external electronic device (e.g., the electronic device 1202, the electronic device 1204, or the server 1208). It can support establishment and communication through established communication channels.
- Communication module 1290 operates independently of processor 1220 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- the communication module 1290 may be a wireless communication module 1292 (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 1294 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
- a wireless communication module 1292 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 1294 e.g., : LAN (local area network) communication module, or power line communication module
- the corresponding communication module is a first network 1298 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 1299 (e.g., legacy It may communicate with an external electronic device 1204 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
- the wireless communication module 1292 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 1296 to communicate within a communication network such as the first network 1298 or the second network 1299.
- subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the wireless communication module 1292 may support 5G networks and next-generation communication technologies after 4G networks, for example, new radio access technology (NR access technology).
- NR access technology provides high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access to multiple terminals (massive machine type communications (mMTC)), or ultra-reliable and low-latency (URLLC). -latency communications)) can be supported.
- the wireless communication module 1292 may support high frequency bands (e.g., mmWave bands), for example, to achieve high data rates.
- the wireless communication module 1292 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive MIMO (multiple-input and multiple-output), and full-dimensional multiplexing.
- the wireless communication module 1292 may support various requirements specified in the electronic device 1201, an external electronic device (e.g., electronic device 1204), or a network system (e.g., second network 1299). According to one embodiment, the wireless communication module 1292 supports peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
- peak data rate e.g., 20 Gbps or more
- loss coverage e.g., 164 dB or less
- U-plane latency e.g., 164 dB or less
- the antenna module 1297 may transmit or receive signals or power to or from the outside (e.g., an external electronic device).
- the antenna module 1297 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
- the antenna module 1297 may include a plurality of antennas (eg, an array antenna).
- at least one antenna suitable for a communication method used in a communication network such as the first network 1298 or the second network 1299 is, for example, connected to the plurality of antennas by the communication module 1290. can be selected Signals or power may be transmitted or received between the communication module 1290 and an external electronic device through the selected at least one antenna.
- other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 1297.
- RFIC radio frequency integrated circuit
- antenna module 1297 may form a mmWave antenna module.
- a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
- a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed
- peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- signal e.g. commands or data
- commands or data may be transmitted or received between the electronic device 1201 and the external electronic device 1204 through the server 1208 connected to the second network 1299.
- Each of the external electronic devices 1202 or 1204 may be of the same or different type as the electronic device 1201.
- all or part of the operations performed in the electronic device 1201 may be executed in one or more of the external electronic devices 1202, 1204, or 1208.
- the electronic device 1201 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 1201 does not execute the function or service on its own.
- one or more external electronic devices may be requested to perform at least part of the function or service.
- One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 1201.
- the electronic device 1201 may process the result as is or additionally and provide it as at least part of a response to the request.
- cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
- the electronic device 1201 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 1204 may include an Internet of Things (IoT) device.
- Server 1208 may be an intelligent server using machine learning and/or neural networks.
- the external electronic device 1204 or server 1208 may be included in the second network 1299.
- the electronic device 1201 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- Electronic devices may be of various types.
- Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
- Electronic devices according to embodiments of this document are not limited to the above-described devices.
- first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited.
- One (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
- any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 1236 or external memory 1238) that can be read by a machine (e.g., electronic device 1201). It may be implemented as software (e.g., program 1240) including these.
- a processor e.g., processor 1220
- a device e.g., electronic device 1201
- the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
- an application store e.g. Play Store
- two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
- one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
- multiple components eg, modules or programs
- the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. .
- operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Telephone Function (AREA)
Abstract
본 기재는 메모리에 저장된 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하고, 상기 상대방 전자 장치가 전송한 음성 데이터를 수신하면, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하고, 상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하도록 설정된 것을 특징으로 하는 전자 장치 및 이의 폰북 기반의 성문 운용 방법을 개시한다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
Description
본 문서에서 개시되는 다양한 실시 예들은, 성문 운용에 관한 것이다.
전자 장치는 오디오 운용 기능을 제공하고 있다. 오디오 운용 기능은 음악 재생 기능, 동영상 재생 기능, 통화 기능이 포함될 수 있다. 통화 기능 운용 시 전자 장치 운용 과정에서, 상대방에게서 전달 되어진 신호가 사용자의 단말 MIC를 통해서 다시 상대방에게 음성 전달이 되는 에코(Echo)가 발생할 수 있다. 이러한 에코를 제거하기 위해 전자 장치는 에코 제거기(Echo Canceller)를 송화 솔루션으로 활용하고 있으며, 주변 환경의 불필요한 잡음을 제거하기 위해 노이즈 억압(Noise suppression) 기술을 활용하고 있다. 전자 장치가 에코 제거기 솔루션을 사용하면, 선형적인 에코를 저감할 수 있으나, 스피커 또는 리시버의 떨림이나 잔향(예: 에코가 제거된 이후에도 남겨진 노이즈)의 영향을 받아, 왜곡된 음성이 상대방에게 전달되는 잔여 에코(Residual Echo)가 발생할 수 있다.
이하에서, 본 기재는, 전자 장치의 오디오 운용 기능 운용 시 음질 개선이가능한 방법 장치를 제공하는 것으로, 일 예로서, 특정 화자의 음성을 구분하여 대상 화자를 제외한 주변 잡음 및 잔여 에코를 제거한 완성도 있는 수화 음질을 제공할 수 있는 방법 및 장치를 제공할 수 있으며, 다른 예들은 이하 다양한 실시 예 설명과 함께 언급하기로 한다.
본 기재의 전자 장치는, 통화 기능을 지원하는 통신 회로, 폰북을 저장하는 메모리, 상기 통신 회로 및 상기 메모리와 기능적으로 연결된 프로세서를 포함할 수 있다. 프로세서는 상기 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하고, 상기 상대방 전자 장치가 전송한 음성 데이터를 수신하면, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하고, 상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하도록 설정될 수 있다.
본 기재의 일 실시 예에 따른 폰북 기반의 성문 운용 방법은, 전자 장치의 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하는 동작, 상기 상대방 전자 장치가 전송한 음성 데이터를 수신하는 동작, 상기 음성 데이터의 신호 품질이 지정된 기준 값 이상으로 양호한 경우, 상기 음성 데이터를 기반으로 한 성문 모델 생성을 처리하는 동작을 포함하고, 상기 처리하는 동작은, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하는 동작, 상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하는 동작을 포함할 수 있다.
이러한 본 기재는, 전자 장치의 오디오 운용 기능의 한 예로서, 통화 시, 차별화된 AI(artificial intellectual) 기술(딥 러닝)을 활용하여 통화 품질을 개선할 수 있도록 지원한다. 예컨대, 본 기재는 딥 러닝을 통해서 특정 화자의 목소리를 훈련(Training, 또는 학습)하고, 훈련된 화자의 목소리를 기준으로 다른 음성이나 노이즈들을 효과적으로 제거함으로써, 음성 손실 없이 주변 잡음 및 잔여 에코(Residual echo) 중 적어도 일부를 개선할 수 있다. 이러한 효과는 본 기재의 일 효과로서, 다른 효과에 대한 기재는 실시 예의 설명과 함께 언급하기로 한다.
도 1은 일 실시 예에 따른 폰북 기반 성문 운용 기능을 지원하는 시스템 환경의 한 예를 나타낸 도면이다.
도 2는 일 실시 예에 따른 전자 장치 구성의 한 예를 나타낸 도면이다.
도 3은 일 실시 예에 따른 오디오 프로세서를 포함하는 제1 타입 전자 장치 구성의 한 예를 나타낸 도면이다.
도 4는 일 실시 예에 따른 오디오 프로세서를 포함하는 제2 타입 전자 장치 구성의 한 예를 나타낸 도면이다.
도 5는 일 실시 예에 따른 서버 장치 구성의 한 예를 나타낸 도면이다.
도 6은 일 실시 예에 따른 폰북 기반의 성문 모델링과 관련한 전자 장치 운용 방법의 한 예를 나타낸 도면이다.
도 7은 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 제1 전자 장치 운용 방법의 한 예를 나타낸 도면이다.
도 8은 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 제2 전자 장치 운용 방법의 한 예를 나타낸 도면이다.
도 9는 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 전자 장치의 서버 장치 이용 방법의 한 예를 나타낸 도면이다.
도 10은 일 실시 예에 따른 성문 모델링과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 11은 일 실시 예에 따른 성문 모델링과 관련한 화면 인터페이스의 다른 예를 나타낸 도면이다.
도 12는, 다양한 실시예들에 따른, 네트워크 환경(1200) 내의 전자 장치(1201)의 블록도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
본 기재는, AI 기술을 음성인식에 적용하는 과정에서, 사용자의 목소리를 사전에 여러 절차에 의해 등록 시켜주어야 하거나 특정 화자의 음성을 훈련할 경우 의도적인 학습을 진행 시켜주어야 하는 번거로움을 제거하고, 딥 러닝 기술을 활용 하여, 전자 장치 사용자의 폰북(Phone Book, 또는 연락처)(또는 폰북 정보)를 기반으로, 학습 또는 훈련할 타겟을 자동으로 또는 용이하게 특정 할 수 있으며, 특정된 타겟의 통화 음성을 자동으로 훈련하는 방안을 제공함으로써, 별도의 번거로운 화자 등록 절차 없이 음성 데이터 학습을 수행하고 그에 따른 통화 품질 개선을 지원할 수 있다.
이하에서는, 본 기재에서 제안하는 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치의 폰북(또는 폰북 정보)을 기반으로 오디오 운용 기능을 개선할 수 있도록 하는 시스템 환경 및 시스템 환경을 구성하는 각 장치들에 대해서 설명하기로 한다.
도 1은 일 실시 예에 따른 폰북 기반 성문 운용 기능을 지원하는 시스템 환경의 한 예를 나타낸 도면이다.
도 1을 참조하면, 일 실시 예에 따른 폰북 기반 성문 운용 기능을 지원하는 시스템 환경(10)은 제1 전자 장치(101)(또는 송화 장치)(또는 사용자 단말, 휴대용 단말, 휴대용 전자 장치), 제2 전자 장치(102)(또는 수화 장치)(또는 사용자 단말, 휴대용 단말, 휴대용 전자 장치), 서버 장치(200)(또는 클라우드 서버 장치) 및 네트워크(50)를 포함할 수 있다. 여기서, 상기 제1 전자 장치(101) 및 제2 전자 장치(102)는 통화를 시도하는 장치를 기준으로 명명한 것으로, 제1 전자 장치(101)와 제2 전자 장치(102)는 동일한 전자 장치로 구성될 수 있다. 또는, 제1 전자 장치(101) 및 제2 전자 장치(102)는 각각 송화 기능 및 수화 기능을 모두 지원할 수 있다. 상기 시스템 환경(10)에서는 제1 전자 장치(101) 및 제2 전자 장치(102)의 성문 운용 기능 지원과 관련하여 서버 장치(200) 구성을 추가하여 설명하였으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 상기 시스템 환경(10)에서 상기 서버 장치(200)는 생략될 수도 있다.
상기 네트워크(50)는 제1 전자 장치(101)와 제2 전자 장치(102) 사이, 제1 전자 장치(101)와 서버 장치(200) 사이, 제2 전자 장치(102)와 서버 장치(200) 사이 중 적어도 하나의 관계에서 통신 채널을 형성할 수 있다. 상기 네트워크(50)는 예컨대, 무선 통신 네트워크 요소 및 유선 통신 네트워크 요소 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 상기 네트워크(50)는 적어도 하나의 기지국 및 기지국 제어기와 코어 시스템을 포함하는 이동 통신 네트워크, 상기 이동 통신 네트워크와 연결되는 인터넷 네트워크 중 적어도 하나를 포함할 수 있다. 상기 제1 전자 장치(101) 및 제2 전자 장치(102)가 이동통신 단말 또는 휴대용 단말을 포함하는 경우, 상기 네트워크(50)는 이동통신 네트워크를 기반으로 휴대용 단말의 통신 채널 형성을 지원할 수 있다. 상술한 바와 같이, 상기 네트워크(50)는 상기 서버 장치(200)와 상기 제1 전자 장치(101)(또는 제2 전자 장치(102))사이의 통신 채널 형성 또는 제1 전자 장치(101)와 제2 전자 장치(102) 사이의 통신 채널 형성을 통해 신호 또는 데이터를 송수신할 수 있는 구성 요소로서, 특정 통신 방식이나, 통신 장비로서 한정되는 것은 아니다.
상기 서버 장치(200)는 상기 네트워크(50)를 통하여 상기 제1 전자 장치(101) 또는 제2 전자 장치(102)와 통신 채널을 형성하고, 상기 제1 전자 장치(101) 또는 제2 전자 장치(102) 요청에 대응하여 폰북 기반 성문 학습 및 성문 모델 생성 기능을 지원할 수 있다. 예컨대, 서버 장치(200)는 제1 전자 장치(100))(또는 제2 전자 장치(102))의 접속을 위한 통신 채널을 준비하고, 제1 전자 장치(100))(또는 제2 전자 장치(102))가 접속하면, 폰북 기반 성문 학습 및 성문 모델 생성과 관련한 제1 전자 장치(100))(또는 제2 전자 장치(102))에 제공할 수 있다. 상기 서버 장치(200)는 제1 전자 장치(100))(또는 제2 전자 장치(102))로부터 특정 장치 사용자에 대응하는 음성 데이터를 수집하고, 수집된 음성 데이터에 대한 성문 모델링을 수행할 수 있다. 또는, 서버 장치(200)는 제1 전자 장치(100))(또는 제2 전자 장치(102))로부터 특정 장치 사용자에 대응하는 학습 중인 성문 모델 및 특정 장치 사용자에 대응하여 새로 수집된 음성 데이터를 수신하고, 수신된 음성 데이터를 이용하여 상기 성문 모델 학습을 수행하여, 갱신된 성문 모델을 제1 전자 장치(100))(또는 제2 전자 장치(102))에 제공할 수 있다. 한편, 제1 전자 장치(101) 및 제2 전자 장치(102)에서 폰북 기반 성문 모델링을 직접 수행하도록 설정된 경우, 상기 서버 장치(200) 구성은 생략될 수 있다.
상기 제1 전자 장치(101)는 네트워크(50)를 통하여 제2 전자 장치(102)와 통신 채널을 형성할 수 있다. 제1 전자 장치(101)는 사용자 음성을 수집하여 제1 음성 데이터(또는 송화 음성 데이터)로서 제2 전자 장치(102)에 전송할 수 있고, 제2 전자 장치(102)로부터 제2 음성 데이터(또는 수화 음성 데이터)를 수신할 수 있다. 상기 제1 전자 장치(101)는 제2 전자 장치(102)와 통화 기능을 운용하는 과정 중에 제2 전자 장치(102) 사용자의 식별 정보가 폰북에 저장되어 있는 경우, 상기 사용자의 식별 정보를 기준으로 제2 전자 장치(102) 사용자의 제1 성문 모델을 생성할 수 있다. 상기 제1 전자 장치(101)는 생성된 제1 성문 모델을 폰북에 사전 저장된 제2 전자 장치(102) 사용자의 식별 정보에 매핑하여 저장할 수 있다. 상기 제1 전자 장치(101)는 제1 성문 모델에 대한 학습이 완료될 때까지 제2 전자 장치(102) 사용자의 식별 정보를 토대로 수집되는 제2 음성 데이터를 이용하여 제1 성문 모델에 대한 학습을 수행할 수 있다. 학습이 완료되면, 제1 전자 장치(101)는 학습 완료된 제1 성문 모델을 이용하여 제2 전자 장치(102)와의 통화 기능 시 제2 음성 데이터에 대한 음성 필터링을 수행하여, 노이즈가 개선된 통화 기능을 지원할 수 있다.
일 실시 예에 따르면, 제1 전자 장치(101)는 제1 성문 모델을 생성하는 과정을 서버 장치(200)를 통해 수행할 수 있다. 이와 관련하여, 제1 전자 장치(101)는 제2 전자 장치(102) 사용자 식별 정보에 대응하는 제2 음성 데이터를 실시간으로, 또는 통화 완료 후, 또는 통화 중 제2 음성 데이터가 일정량 이상 수집된 시점에 제2 음성 데이터를 서버 장치(200)에 전송하여 제1 성문 모델 학습을 요청할 수 있다. 이 동작에서, 음성 데이터에 대한 개인 정보 이슈를 고려하여, 제1 전자 장치(101)는 폰북에 기록된 제2 전자 장치(102) 사용자의 식별 정보에 대응하는 신규 식별 정보를 생성하고, 신규 식별 정보를 기반으로 제2 음성 데이터 및 학습 중인 제1 성문 모델 중 적어도 일부를 서버 장치(200)에 제공할 수 있다. 상기 제1 전자 장치(101)는 서버 장치(200)로부터 학습에 의해 갱신된 제1 성문 모델(예: 갱신에 의해 완료된 제1 성문 모델 또는, 추가 학습이 필요한 갱신된 제1 성문 모델)을 수신하면, 상기 신규 식별 정보를 확인하고, 상기 신규 식별 정보에 대응하는 폰북 정보(예: 제2 전자 장치(102) 사용자의 식별 정보)에 매칭하여 제1 성문 모델을 갱신할 수 있다.
상기 제2 전자 장치(102)는 네트워크(50)를 통하여 제1 전자 장치(101)와 통신 채널을 형성할 수 있다. 예컨대, 제2 전자 장치(102)는 제1 전자 장치(101)로부터 통화 호 연결 요청 메시지를 수신할 수 있으며, 사용자 조작에 대응하여 제1 전자 장치(101)와 통화 호를 연결할 수 있다. 제2 전자 장치(102)는 사용자가 입력하는 제2 음성 데이터를 제1 전자 장치(101)에 전송하고, 제1 전자 장치(101)로부터 수신된 제1 음성 데이터를 출력할 수 있다. 이 동작에서, 제2 전자 장치(102)는 제1 전자 장치(101)로부터 제2 전자 장치(102) 사용자의 제2 음성 데이터(또는 발화 정보)에 대한 제1 성문 모델링(또는 제1 성문 모델의 학습) 수행의 허락을 요청하는 메시지를 수신할 수 있다. 허락에 동의하는 경우, 제2 전자 장치(102)가 수집하여 제1 전자 장치(101)에 전송되는 제2 음성 데이터의 적어도 일부는 제1 전자 장치(101)에서 제2 전자 장치(102) 사용자의 제1 성문 모델링에 사용될 수 있다. 상기 제2 전자 장치(102) 사용자는 자신의 음성 데이터(예: 제2 음성 데이터)에 대한 제1 성문 모델링 수행을 불허할 수 있으며, 불허에 대응하는 사용자 입력이 발생하면, 제2 전자 장치(102)는 제1 성문 모델링 불허에 해당하는 메시지를 제1 전자 장치(101)에 전송할 수 있다. 일 실시 예에 따르면, 상기 제2 전자 장치(102)는 제1 전자 장치(101)가 전송한 제1 음성 데이터를 자동으로(또는 제1 전자 장치(101)의 사용자 동의에 따라) 폰북에 사전 저장된 제1 전자 장치(101)의 사용자 식별 정보에 대응하는 제2 성문 모델 학습에 이용할 수 있다.
일 실시 예에 따르면, 제2 전자 장치(102)는 제1 전자 장치(101)와 유사하게, 제1 전자 장치(101) 사용자의 제1 음성 데이터에 대한 제2 성문 모델링(또는 제2 성문 모델 학습)을 위한 과정을 서버 장치(200)를 통해 수행할 수 있다. 이와 관련하여, 제2 전자 장치(102)는 제1 전자 장치(101)로부터 수신된 제1 음성 데이터 및 제1 전자 장치(101)에 대응하여 사전 저장된 학습 중인 제2 성문 모델 중 적어도 일부를 서버 장치(200)에 전송할 수 있다. 제2 전자 장치(102)는 학습 중인 제2 성문 모델이 없는 경우, 제1 음성 데이터만을 서버 장치(200)에 전송할 수 있다. 제2 전자 장치(102)는 개인 정보 보호를 목적으로, 제1 음성 데이터에 대응하는 신규 식별 정보(예: 전자 장치 사용자의 이름, 전화 번호, 이메일과 같이 전자 장치 사용자를 특정할 수 있는 정보를 제외한 랜덤한 정보)를 생성하여, 제1 음성 데이터와 함께 서버 장치(200)로 전송하고, 서버 장치(200)로부터 신규 식별 정보에 매핑된 갱신 제2 성문 모델(또는 학습이 완료되지 않은 갱신 제2 성문 모델)을 수신할 수 있다. 제2 전자 장치(102)는 서버 장치(200)로부터 수신된 제2 성문 모델(학습 중인 모델 또는 학습이 완료된 모델)을 폰북에 매칭하여 저장할 수 있다.
도 2는 일 실시 예에 따른 전자 장치 구성의 한 예를 나타낸 도면이다. 설명에 앞서, 도 2에서 설명한 전자 장치는 앞서 도 1에서 설명한 제1 전자 장치(101) 또는 제2 전자 장치(102) 중 적어도 어느 하나일 수 있다. 이에 따라, 이하에서는 제1 전자 장치(101) 및 제2 전자 장치(102)를 대표하여 전자 장치의 도면 번호를 100을 부여하여 설명하기로 한다.
도 2를 참조하면, 전자 장치(100)는 통신 회로(110), 입출력장치(120), 메모리(130), 디스플레이(140) 및 프로세서(150)를 포함할 수 있다.
상기 통신 회로(110)는 전자 장치(100)의 통신 기능 지원과 관련하여 적어도 하나의 통신 채널을 형성할 수 있다. 예컨대, 상기 통신 회로(110)는 네트워크(50)를 통해 서버 장치(200)와 통신 채널을 형성할 수 있다. 상기 통신 회로(110)는 3G, 4G, LTE 또는 5G와 같은 다양한 통신 방식 중 적어도 하나의 통신 방식을 지원할 수 있다. 또는, 통신 회로(110)는 복수개의 통신 방식을 지원할 수 있도록 복수개의 통신 모듈을 포함할 수 있다. 일 실시 예에 따르면, 상기 통신 회로(110)는 프로세서(150) 제어에 대응하여 다른 전자 장치와 통화 채널(예: 음성 통화 채널, 영상 통화 채널)을 생성할 수 있다. 상기 통신 회로(110)는 자신의 음성 데이터를 다른 전자 장치에 전송하고, 다른 전자 장치로부터 음성 데이터를 수신할 수 있다. 일 실시 예에 따르면, 성문 모델링을 서버 장치(200)에서 수행하도록 설계되는 경우, 통신 회로(110)는 다른 전자 장치로부터 수신된 음성 데이터를 서버 장치(200)에 전송할 수 있다. 다른 전자 장치의 음성 데이터를 기반으로 학습 중인 성문 모델이 있는 경우, 상기 통신 회로(110)는 수신된 음성 데이터 및 학습 중인 성문 모델을 함께 서버 장치(200)에 전송하고, 서버 장치(200)로부터 갱신된 성문 모델을 수신할 수 있다.
상기 입출력장치(120)는 상기 전자 장치(100)의 입력 기능을 지원하는 적어도 하나의 입력 수단 및 출력 기능을 지원하는 적어도 하나의 출력 수단을 포함할 수 있다. 일 실시 예에 따르면, 상기 입력 수단은 예컨대, 터치패드, 터치키, 물리키, 물리 버튼, 음성 입력 장치, 조그 셔틀이나 조이스틱과 같은 다양한 수단을 포함할 수 있다. 일 실시 예에 따르면, 상기 디스플레이(140)가 터치 기능을 지원하는 터치스크린을 포함하는 경우, 상기 디스플레이(140)는 입력 수단에 포함될 수 있다. 상기 입력 수단은 예컨대, 적어도 하나의 마이크(121)를 포함할 수 있다. 상기 출력 수단은 오디오 신호를 출력하는 적어도 하나의 스피커(122)를 포함할 수 있다. 또는, 출력 수단은 특정 패턴의 진동을 출력하는 진동 모듈, 특정 색상의 광을 출력하는 LED 램프를 포함할 수 있다.
상기 메모리(130)는 상기 전자 장치(100) 운영에 필요한 다양한 데이터 또는 프로그램을 저장할 수 있다. 일 실시 에에 따르면, 상기 메모리(130)는 다른 전자 장치와 통화 채널을 형성할 수 있는 어플리케이션을 저장할 수 있다. 상기 메모리(130)는 폰북(131) 및 폰북(131)에 등록된 각 사용자 식별 정보들에 매칭된 적어도 하나의 성문 모델(132)을 저장할 수 있다. 상기 적어도 하나의 성문 모델(132)은 예컨대, 폰북(131)에 저장된 다른 전자 장치 사용자의 음성 데이터를 기반으로 생성될 수 있다. 상기 성문 모델(132)은 사전 정의된 일정량 미만의 음성 데이터들을 학습한, 학습 중 성문 모델을 포함할 수 있다. 또는 적어도 하나의 성문 모델(132)은 사전 정의된 일정량 이상의 음성 데이터들을 학습하여, 학습이 완료된 성문 모델을 포함할 수 있다. 상기 폰북(131)에 등록된 사용자 식별 정보들과 상기 적어도 하나의 성문 모델(132)은 서로 매칭될 수 있다.
상기 디스플레이(140)는 전자 장치(100) 운영에 따른 다양한 화면을 제공할 수 있다. 예컨대, 상기 디스플레이(140)는 폰북(131) 검색 화면, 폰북(131)에 등록된 다른 전자 장치 사용자와 통화 호 연결을 요청하는 송신 화면, 다른 전자 장치로부터 통화 호 연결 요청을 수신하는 수신 화면 중 적어도 하나의 화면을 출력할 수 있다. 상기 디스플레이(140)는 적어도 하나의 성문 모델(132) 상태 정보를 출력할 수 있다. 예컨대, 디스플레이(140)는 학습 중인 성문 모델과, 학습이 완료된 성문 모델을 구분하여 출력할 수 있다. 각각의 성문 모델들을 출력하는 과정에서, 각 성문 모델에 매핑된 다른 전자 장치의 사용자 식별 정보들(예: 이름, 전화 번호, 이메일, SNS 주소 중 적어도 하나)이 함께 출력될 수 있다.
일 실시 예에 따르면, 상기 디스플레이(140)는 성문 모델링을 수행하는 서버 장치(200) 접속 화면, 다른 전자 장치로부터 수신된 음성 데이터를 서버 장치(200)에 전송하는 화면, 학습 중인 성문 모델과 수신 음성 데이터를 함께 서버 장치(200)에 전송하는 화면 중 적어도 하나를 출력할 수 있다. 상기 디스플레이(140)는 서버 장치(200)로부터 갱신된 성문 모델을 수신하는 화면, 수신된 갱신 성문 모델을 메모리(130)에 저장된 성문 모델(132)에 적용하는 화면 중 적어도 하나의 화면을 출력할 수 있다.
상기 프로세서(150)는 전자 장치(100) 운용에 따른 신호의 전달과 처리 및 저장 제어를 수행할 수 있다. 예컨대, 프로세서(150)는 사용자 입력에 대응하여 폰북(131)(또는 통화 목록)에 대응하는 화면을 출력할 수 있다. 상기 프로세서(150)는 폰북(131)(또는 통화 목록 화면)에 등록된 사용자 식별 정보들과, 상기 사용자 식별 정보 별로 매칭된 성문 모델(132)에 대응하는 정보를 출력할 수 있다. 상기 프로세서(150)는 폰북(131)에 매칭된 성문 모델이 없는 경우, 매칭된 성문 모델이 없는 사용자 식별 정보를 디스플레이(140)에 출력될 수 있다. 특정 사용자 식별 정보가 선택되고 통화 연결을 요청하는 사용자 입력이 수신되면, 프로세서(150)는 다른 전자 장치와 통화 채널 연결을 위한 동작을 수행할 수 있다. 추가적으로 또는 대체적으로, 프로세서(150)는 사용자 식별 정보를 포함하는 화면은 성문 모델링 실행 여부를 결정할 수 있는 객체(예: 가상 버튼)를 디스플레이(140)에 출력할 수 있다.
상기 프로세서(150)는 성문 모델링 실행이 턴-온되어 있는 경우, 다른 전자 장치와 통화 중 획득된 음성 데이터를 기반으로 성문 모델 학습을 수행할 수 있다. 이 동작에서, 프로세서(150)는 다른 전자 장치 사용자 식별 정보와 매칭된 기존 학습 중인 성문 모델이 있는 경우, 현재 수신되는 다른 전자 장치 사용자의 음성 데이터를 학습 중 성문 모델에 적용하여, 성문 모델 학습을 수행할 수 있다. 성문 모델링을 위한 학습 방법은 음성 데이터를 이용하여 성문을 생성하는 다양한 인공신경망 모델링 중 적어도 하나가 이용될 수 있다. 이와 관련하여, 전자 장치(100)는 적어도 하나의 인공신경망 알고리즘을 저장할 수 있다. 또는, 전자 장치(100)는 획득된 음성 데이터를 서버 장치(200)에 제공하고, 서버 장치(200)에 저장된 인공신경망 알고리즘을 이용하여 성문 모델을 생성 또는 갱신할 수도 있다.
상기 프로세서(150)는 전자 장치(100)가 다른 전자 장치로부터 통화 호 연결을 수신하는 경우, 통화 호 연결 요청 메시지를 수신하는 수신 화면을 출력할 수 있다. 상기 수신 화면은, 통화 호 수락 여부를 결정할 수 있는 가상 객체, 다른 전자 장치의 음성 데이터를 기반으로 성문 모델을 수행할지 여부를 결정할 수 있는 가상 객체를 출력할 수 있다. 추가적으로 또는 대체적으로, 프로세서(150)는 통화 호 연결을 요청하는 다른 전자 장치의 성문 모델에 대한 학습 상태(예: 학습 중 또는 학습 완료, 학습 완료까지의 잔여 비율)를 출력할 수 있다.
도 3은 일 실시 예에 따른 오디오 프로세서를 포함하는 제1 타입 전자 장치 구성의 한 예를 나타낸 도면이다.
도 3을 참조하면, 일 실시 예에 따른 제1 타입 전자 장치(100_1)는 통신 회로(110), 제1 타입 프로세서(151), 입출력 장치(120)(예: 스피커(122)(또는 리시버), 마이크(121))를 포함할 수 있다.
상기 통신 회로(110)는 예컨대, 적어도 하나의 수신 증폭기(110_2a), 적어도 하나의 송신 증폭기(110_2b), 적어도 하나의 수신 증폭기(110_2a)를 포함하는 RF 모듈(110_1)을 포함할 수 있다. 이러한 통신 회로(110)는 앞서 도 2에 나타낸 통신 회로와 동일 또는 유사한 통신 회로가 될 수 있다. 일 예로서, 통신 회로(110)는 신호를 수신하기 위한 적어도 하나의 안테나 및 신호를 송신하기 위한 적어도 하나의 안테나를 더 포함할 수 있다.
상기 적어도 하나의 수신 증폭기(110_2a)는 예컨대, 제1 타입 전자 장치(100_1)의 적어도 하나의 안테나와 연결될 수 있다. 일 예로서, 상기 적어도 하나의 수신 증폭기(110_2a)는 적어도 하나의 저잡음 증폭기를 포함할 수 있다.
상기 송신 증폭기(110_2b)는 송신 프로세서(150b)(tx solution processor)가 전달한 신호를 증폭하고, 증폭된 송신 신호를 적어도 하나의 안테나에 전달할 수 있다. 일 예로서, 송신 증폭기(110_2b)는 오디오 프로세서에 포함된 에코 제거기로부터 송신 신호를 수신할 수 있다.
상기 RF 모듈(110_1)은 적어도 하나의 수신 증폭기(110_2a)를 통해 증폭된 신호에 대한 RF 처리를 수행할 수 있다. 일 실시 예에 따르면, 상기 RF 모듈(110_1)은 비정상 Rx 신호(또는 무선 수신 신호)를 판단 할 수 있다. 상기 RF 모듈(110_1)은 비정상 Rx 신호를 수신하거나, 네트워크 문제에 의해 음질이 열화된 데이터가 수신되면, 해당 Rx 신호를 배제시킬 수 있다. 이 동작에서, 상기 RF 모듈(110_1)은 수신된 Rx 신호에서 RF Bit error 정보를 검사하고, 검사 결과를 기반으로 Rx 신호의 정상 여부를 판단할 수 있다. 상기 RF 모듈(110_1)은 수신된 Rx 신호를 SNR(signal to ratio) 검출부(150a_1)에 전달할 수 있다.
상기 제1 타입 프로세서(151)는 응용 프로세서로서 오디오 프로세서를 포함할 수 있다. 상기 오디오 프로세서를 포함하는 제1 타입 프로세서(151)는 예컨대, 수신 프로세서(150a)(rx solution processor) 및 송신 프로세서(150b)(tx solution processor)를 포함할 수 있다. 상기 수신 프로세서(150a)는 SNR 검출부(150A_1), 학습 모듈(150a_2), 저장 제어 모듈(150a_3), 노이즈 억압 모듈(150a_4), 오디오 출력 제어 모듈(150a_5)을 포함할 수 있다. 상기 SNR 검출부(150A_1), 학습 모듈(150a_2), 저장 제어 모듈(150a_3), 노이즈 억압 모듈(150a_4), 오디오 출력 제어 모듈(150a_5) 중 적어도 하나는 소프트웨어 모듈로 형성되거나 또는 하드웨어 구성으로 형성될 수 있다.
상기 SNR 검출부(150A_1)는 RF 모듈(110_1)로부터 수신된 수화 음성 데이터의 SNR을 확인할 수 있다. SNR 검출부(150A_1)는 RF 모듈(110_1)로부터 수신된 수화 음성 데이터의 SNR이 사전 지정된 값 미만인지 확인할 수 있다. 상기 SNR 검출부(150A_1)는 SNR 수치가 사전 지정된 값 미만이면, 수신된 수화 음성 데이터의 출력을 위한 신호 전달을 수행할 수 있다. 상기 수화 음성 데이터의 SNR이 사전 지정된 값 이상인 경우 SNR 검출부(150A_1)는 성문 모델을 위한 학습과 관련하여, 수화 음성 데이터를 학습 모듈(150a_2)(예: deep neural network, DNN training 모듈)에 전달할 수 있다.
상기 학습 모듈(150a_2)(예: speaker aware DNN block)은 SNR 검출부(150A_1)를 통해 전달된 수화 음성 데이터를 캡쳐하고, 캡쳐한 음성 데이터를 학습(예: DNN Training)할 수 있다. 상기 학습 모듈(150a_2)은 성문 모델 생성과 관련하여 학습을 수행할 수 있도록 음성 데이터 수집의 결정과 관련한 가상 객체를 폰북 관련 UI(user interface)(또는 디스플레이 화면)를 통해 출력하도록 제어할 수 있다. 상기 학습 모듈(150a_2)은 전화번호부를 이용하여 상대방에게 전화를 걸었으나, 상대방이 전화 번호부에 등록된 사용자가 아닌 다른 사람이 수신하여, 다른 사람의 음성 데이터를 수신한 경우, 사전 저장된 상대방 전화번호부에 매칭된 성문 모델과의 유사도를 판단한 후 현재 수집된 음성 데이터의 학습 적용 여부를 결정할 수 있다. 예컨대, 학습 모듈(150a_2)은 현재 수집된 음성 데이터와 기존 저장된 성문 모델과의 유사도가 임계치 이상이면, 수집된 음성 데이터 기반으로 성문 모델의 학습을 수행하고, 임계치 미만이면 학습을 수행하지 않고, 음성 데이터 미반영 처리를 수행할 수 있다. 상기 학습 모듈(150a_2)은 수신된 음성 데이터에 대한 학습을 실시간으로 처리할 수 있다. 예컨대, 학습 모듈(150a_2)은 통화 중 지정된 시간 이상 수화 음성 데이터 수신이 없는 경우, 이전 수신된 음성 데이터에 대한 학습(예: 성문 모델링)을 수행할 수 있다. 또는, 학습 모듈(150a_2)은 통화 중 상대방 음성 데이터들을 저장하고, 통화가 완료된 이후, 저장된 수신 음성 데이터들을 기반으로 학습을 수행할 수 있다. 이 동작과 관련하여, 학습 모듈(150a_2)은 통화 중 상대방 음성 데이터들을 별도로 추출하는 동작을 수행할 수 있다. 또는, 학습 모듈(150a_2)은 사전 정의된 일정 길이나 일정 시간 이상의 음성 데이터가 수신된 경우, 사전 정의된 일정 발화 정보(예: 특정 단어, 문장이 포함된 음성 데이터)에 해당하는 음성 데이터가 수신된 경우, 사전 정의된 일정 크기(amplitude, 또는 음량) 이상의 음성 데이터가 수신된 경우, 사전 정의된 일정 크기 이상의 속도로 발화된 음성 데이터가 수신된 경우 중 적어도 하나의 경우에 수신된 음성 데이터를 학습할 수 있다. 학습이 진행되는 조건은 상술한 다양한 조건들 중 적어도 하나의 조건을 포함할 수 있다. 상술한 다양한 조건들은 사용자에 의해 선택되거나 조정될 수 있다.
상기 저장 제어 모듈(150a_3)은 인공신경망을 통해서 학습된 성문 모델을 메모리(130)에 저장하도록 제어할 수 있다. 일 실시 예에 따르면, 저장 제어 모듈(150a_3)은 DNN(deep neural network, 인공신경망)을 통해서 학습된 음성 정보(또는 성문 모델)를 extract speaker profile로서 메모리(130)(예: database storage)에 저장할 수 있다. 이 동작에서, 저장 제어 모듈(150a_3)은 학습된 성문 모델을 폰북(131)에 등록된 사용자 식별 정보에 매칭하여 저장할 수 있다. 이를 통해, 본 기재는 사용자가 전화 걸 때 이용하는 전화번호부 정보로 상대방을 특정 할 수 있으며, 이를 바탕으로 상대방 고유의 extract speaker profile로 저장된 성문을 생성 및 운용할 수 있다. 여기서, extract profile block은 전화번호부와 정보를 연동하여, 상대방의 음성 데이터를 지속적으로 학습하여 학습 완료 시까지 갱신 시킬 수 있다.
상기 노이즈 억압 모듈(150a_4)은 수신 음성 데이터에 대한 노이즈 억압 처리를 수행할 수 있다. 노이즈 억압 모듈(150a_4)은 노이즈 억압 처리된 데이터를 오디오 출력 제어 모듈(150a_5)에 전달할 수 있다.
상기 오디오 출력 제어 모듈(150a_5)은 노이즈 억압된 데이터의 튜닝(예: 음량, 음색 조절)할 수 있는 Gain, Filter, Limiter, DRC(dynamic range control) 중 적어도 하나를 포함할 수 있다. 상기 오디오 출력 제어 모듈(150a_5)은 학습된 extract speaker profile(database storage)에 저장 된 성문 모델을 바탕으로 수신된 음성 데이터의 Noise를 제거할 수 있다. 여기서, 노이즈 억압 모듈(150a_4) 및 오디오 출력 제어 모듈(150a_5)은 사전 정의된 일정 비율 이상 학습이 완료된 성문 모델이 존재하는 경우, 해당 성문 모델을 이용한 노이즈 제거를 수행할 수 있다. 성문 모델의 학습 정도가 사전 정의된 일정 비율 미만인 경우, 성문 모델의 이용 없이, 지정된 노이즈 제거 동작만을 수행할 수 있다.
상기 송신 프로세서(150b)는 에코 제거기(150b_1)를 포함할 수 있다. 일 실시 예에 따르면, 추가적으로 또는 대체적으로, 상기 송신 프로세서(150b)는 송화 신호를 튜닝(예: 음량, 음색 조절)할 수 있는 Gain, Filter, Limiter, DRC 중 적어도 하나를 포함할 수 있다. 상기 송신 프로세서(150b)는 배경 잡음 제거를 위한 NS(Noise Suppressor) 블록을 포함할 수 있다.
상기 에코 제거기(150b_1)는 적응형 필터(150b_1a)(adaptive filter) 및 주변 잡음 제거 모듈(150b_2b)을 포함할 수 있다. 상기 에코 제거기(150b_1)는 에코 제거를 위해 참고용 수화(Rx) 신호인 Echo Reference를 저장하고, 저장된 에코 레퍼런스 값을 기반으로 적응형 필터(150b_1a)를 만들어서 선형적인 에코를 제거할 수 있다.
추가적으로 송화 음성 데이터에는 far-end power amplifier/ far-end loudspeakers/ non-linear echo path(transfer function)/imperfect Acoustic Echo Cancellation과 같은 구성에 의한 비선형적 특성이 반영될 수 있다. 이러한 nonlinear echo 성분들을 제거하기 위해 주변 잡음 제거 모듈(150b_2b)은 상대방 음성이 학습 된 extract speaker profile block을 통해 음성 정보(성문 모델)를 참고하여 주변 잡음 및 잔여 에코(Residual Echo) 중 적어도 일부를 제거 할 수 있다.
일 실시 예에 따르면, 상술한 오디오 프로세서는 하드웨어 프로세서로 구성될 수 있다. 상기 오디오 프로세서 내에 포함되는 수신 프로세서(150a) 및 송신 프로세서(150b) 내에 포함되도록 기재한 적어도 하나의 구성은 하드웨어 프로세서 또는 소프트웨어 모듈 중 적어도 하나로 구성될 수 있다.
도 4는 일 실시 예에 따른 오디오 프로세서를 포함하는 제2 타입 전자 장치 구성의 한 예를 나타낸 도면이다.
도 4를 참조하면, 일 실시 예에 따른 제2 타입 전자 장치(100_2)는 통신 회로(110), 제2 타입 프로세서(152), 입출력 장치(120)(예: 스피커(122)(또는 리시버), 제1 마이크(121a), 제2 마이크(121b))를 포함할 수 있다.
상기 통신 회로(110)는 적어도 하나의 수신 안테나, 적어도 하나의 송신 안테나, RF 모듈을 포함할 수 있다. 일 예로서, 상기 통신 회로(110)(예: RF 모듈)는 통신 프로세서의 적어도 일부를 구성할 수 있다. 상기 적어도 하나의 수신 안테나는 수신 경로에 적어도 하나가 배치되어, 다른 전자 장치가 송출한(또는 기지국을 통해 전달된) 음성 데이터를 수신할 수 있다. 상기 적어도 하나의 송신 안테나는 송신 경로에 적어도 하나가 배치되어, 송신을 위해 생성된 신호를 송출할 수 있다. 상기 RF 모듈은 수신된 음성 신호에 대한 RF 수신 처리(예: 주파수 필터링, 주파수 변환)를 수행하거나, 송신 음성 신호에 대한 RF 송신 처리(예: 주파수 변환)를 수행할 수 있다. 이러한 통신 회로(110)는 앞서 도 2 및 도 3에서 설명한 통신 회로에 대응되는 구성일 수 있다.
상기 제2 타입 프로세서(152)는 수신 경로에 배치되는 채널 디코더(152_1a), Rx 보코더(152_2a), 수신 프로세서(152a), DAC(152_3A)(digital to analog converter), 학습 모듈(152a_2), 저장 제어 모듈(152a_3)을 포함할 수 있다. 상기 제2 타입 프로세서(152)의 구성 중 적어도 일부는 소프트웨어 모듈 또는 하드웨어 구성으로 형성될 수 있다.
상기 DAC(152_3A)는 수신 프로세서(152a)로부터 전달된 오디오 프로세싱된 데이터(예: 디지털 신호)를 아날로그 신호로 변환하여 스피커(122)에 전달할 수 있다. 상기 채널 디코더(152_1a)는 통신 회로(110)와 연결되어, 통신 회로(110)를 통해 수신된 수신 신호 중 음성 데이터가 전달되는 채널을 디코딩할 수 있다. 채널 디코더(152_1a)는 채널 디코딩으로, 음성 데이터가 전달되는 채널을 확인하고, 해당 채널을 통해 전달되는 음성 데이터를 Rx 보코더(152_2a)에 전달할 수 있다. 상기 Rx 보코더(152_2a)는 음성 데이터의 원본 음성을 합성하고, 합성된 원본 음성을 수신 프로세서(152a)에 전달할 수 있다. 상기 Rx 보코더(152_2a)는 합성된 원본 음성을 수신 프로세서(152a)의 SNR 검출부(152A_1)에 전달할 수 있다. 상기 SNR 검출부(152A_1)는 앞서 도 3의 제1 타입 프로세서(151)에서 설명한 바와 같이, Rx 보코더(152_2a)로부터 전달받은 데이터에 대한 SNR을 검출할 수 있다. 상기 SNR 검출부(152A_1)는 현재 수신된 음성 데이터의 SNR이 사전 지정된 값 이상인 경우(예: 수신 음성 데이터가 양호한 경우) 수신된 음성 데이터를 학습 모듈(152a_2)에 전달할 수 있다. 수신 음성 데이터의 SNR이 사전 지정된 값 미만인 경우(예: 수신 음성 데이터가 불량한 경우) 학습 모듈(152a_2)에 음성 데이터 전달이 생략될 수 있다. 수신 프로세서(152a)는 수신 음성 데이터의 SNR이 불량하더라도 해당 음성 데이터에 대한 이득 처리, Limiter 처리, 노이즈 억압 처리, DRC 처리 중 적어도 하나를 수행한 후, DAC(152_3A)에 전달할 수 있다. 수신된 음성 데이터가 양호한 경우, 학습 모듈(152a_2)은 SNR 검출부(152A_1)로부터 수신 음성 데이터를 전달받고, 수신 음성 데이터에 대한 학습을 수행할 수 있다. 상기 학습 모듈(152a_2)의 음성 데이터 학습은 앞서 도 3에서 설명한 학습 모듈(152a_2)의 성문 모델링과 동일 또는 유사하게 진행될 수 있다. 학습 모듈(152a_2)은 학습된 성문 모델을 저장 제어 모듈(152a_3)에 전달하고, 저장 제어 모듈(152a_3)은 학습된 성문 모델을 메모리(130)의 일정 영역(예: extract speaker profile)에 저장할 수 있다. 저장 과정에서, 저장 제어 모듈(152a_3)은 폰북에 등록된 상대방 식별 정보에 매칭(또는 링크)하여 저장할 수 있다. 상기 저장 제어 모듈(152a_3)은 수신 프로세서(152a)의 요청에 대응하여 특정 성문 모델의 학습 정도가 지정된 값 이상인 경우 또는 학습이 완료된 경우, 해당 성문 모델을 수신 프로세서(152a)에 전달하여, 수신된 음성 데이터에 대한 필터링에 적용할 수 있도록 지원한다.
상기 수신 프로세서(152a)는 수신된 음성 데이터에 오디오 프로세싱(예: Gain, limiter, NS(noise suppressing), DRC(dynamic range control) 중 적어도 하나) 처리를 수행하고, 오디오 프로세싱된 음성 데이터를 DAC(152_3A)에 전달할 수 있다. 이 동작에서 수신 프로세서(152a)는 저장 제어 모듈(152a_3)로부터 현재 통화 중인 상대방 식별 정보에 대응하는 성문 모델을 수신하고, 수신된 성문 모델을 기반으로 노이즈 필터링 또는 상대방 음성 필터링을 수행할 수 있다. 상술한 동작을 수행하는 과정에서, 수신 프로세서(152a)는 통화 시작에서 종료시까지 상술한 성문 모델 적용을 수행할 수 있다. 또는, 수신 프로세서(152a)는 수신된 음성 데이터의 SNR이 지정된 값 미만인 경우 성문 모델 기반의 필터링을 수행할 수 있다. 일 실시 예에 따르면, 수신 프로세서(152a)는 통화 시작 시, 상대방 식별 정보에 대응하는 성문 모델의 학습 진행 정도를 확인하고, 학습 진행이 사전 정의된 일정 값 이상(예: 일정 길이(또는 시간) 이상의 음성 데이터를 사전 정의된 횟수 이상) 진행된 경우(또는 학습이 완료된 경우) 성문 모델 기반의 필터링을 진행할 수 있다. 일 실시 예에 따르면, 상기 수신 프로세서(152a)는 성문 모델의 학습이 사전 정의된 값 미만인 경우, 통화 중에 성문 모델의 학습을 진행하고, 통화 중 학습이 완료된 경우(또는 사전 정의된 진행 정도 이상인 경우), 해당 시점부터 성문 모델 기반의 필터링을 수행하거나 다음 통화 시에 성문 모델 기반의 필터링을 수행할 수 있다. 또는, 수신 프로세서(152a)는 학습 완료 시점(또는 학습 진행 정도가 지정된 값 이상이 되는 시점)에 성문 모델 기반의 필터링 적용 여부를 묻는 팝업을 출력하고, 사용자 선택에 대응하여 성문 모델 기반 필터링을 수행할 수 있다.
상기 제2 타입 프로세서(152)는 송신 경로에 배치되는 ADC(152_3B)(analog to digital converter), 에코 제거기(152b), Tx 인코더(152_2b), 채널 인코더(152_1b)를 포함할 수 있다. 상기 에코 제거기(152b), Tx 인코더(152_2b), 채널 인코더(152_1b) 중 적어도 하나는 소프트웨어 모듈 또는 하드웨어 구성으로 형성될 수 있다.
상기 ADC(152_3B)는 제1 마이크(121a)에 연결되어 제1 마이크(121a)가 수집한 사용자 음성 신호를 디지털 신호로 변환하여 에코 제거기(152b)에 전달할 수 있다. 제2 마이크(121b)는 디지털 마이크로서 별도의 ADC 과정 없이 수신된 음성을 디지털 신호로 변환하여 에코 제거기(152b)에 전달할 수 있다. 도시된 도면에서는 제1 마이크(121a)를 아날로그 마이크로 기재하고, 제2 마이크(121b)를 디지털 마이크로 기재하였으나, 본 발명이 이에 한정되는 것은 아니다. 상기 제2 타입 전자 장치(100_2)는 복수개의 마이크들을 포함할 수 있으며, 복수개의 마이크들 전체가 아날로그 마이크이거나, 전체 중 적어도 일부 마이크들이 아날로그 마이크로 구성되고, 나머지 적어도 하나의 마이크가 디지털 마이크로 구성될 수 있다.
상기 에코 제거기(152b)는 앞서 도 3에서 설명한 에코 제거기와 동일 또는 유사한 구성이 될 수 있다. 예컨대, 상기 에코 제거기(152b)는 예컨대, 적응형 필터(152b_1)(adaptive filter) 및 주변 잡음 제거 모듈(152b_2)을 포함할 수 있다. 상기 에코 제거기(152b)는 마이크들(121a, 121b)로부터 사용자 음성 데이터를 수신하면, 저장 제어 모듈(152a_3)로부터 상대방 식별 정보에 대응하는 성문 모델을 수신하고, 수신된 성문 모델을 기반으로 에코 필터링을 수행할 수 있다. 상기 에코 제거기(152b)는 적응형 필터를 기반으로 에코를 제거하고, 성문 모델 기반으로 주변 잡음을 제거한 후, 잡음이 제거된 신호를 Tx 인코더(152_2b)에 전달할 수 있다. Tx 인코더(152_2b)는 수신된 데이터를 채널에 실을 수 있는 형태의 패킷으로 변환하고, 채널 인코더(152_1b)는 음성 데이터 전송을 위해 할당된 채널에 해당 패킷을 실을 수 있다.
일 실시 예에 따르면, 상술한 디지털 신호 처리기(AP_DSP)에 포함된 구성 중 적어도 일부 구성은 하드웨어 프로세서로 구성될 수 있다. 또는, 상기 디지털 신호 처리기 내에 배치된 구성들 중 적어도 일부 구성은 하드웨어 구성으로 마련되고, 나머지 구성들은 소프트웨어 모듈로 구성될 수 있다.
상술한 바와 같이, 본 기재의 음성 데이터를 수신하는 전자 장치(100, 101, 102, 100_1, 100_2 중 적어도 하나)는, 학습(예: DNN 트레이닝) 및 성문 모델을 생성하고, 생성된 성문 모델을 기반으로 노이즈를 제거하여 보다 명료한 통화 기능을 지원할 수 있으며, 통화 시마다 누적하여 자동으로(또는 사용자 선택에 따라) 학습을 실시하여 성문 모델의 지속적 갱신을 지원할 수 있다. 일 예로서, 본 기재의 전자 장치(100, 101, 102, 100_1, 100_2 중 적어도 하나)는 상대방 음성에 의해 형성되는 에코 제거뿐만 아니라, 주변 잡음 및 잔여 에코(residual echo) 중 적어도 일부까지 제거할 수 있도록 지원한다.
상술한 도 3 및 도 4에서 설명한 제1 타입 전자 장치(100_1) 및 제2 타입 전자 장치(100_2)는 본 기재의 실시 예에 따른 주변 잡음 및 잔여 에코 중 적어도 일부의 제거와 관련한 구성의 변형 형태를 설명한 것으로, 앞서 도 1 및 도 2에서 설명한 전자 장치들(예: 101, 102, 100) 중 적어도 하나에 적용될 수 있다. 또한, 상술한 제1 타입 전자 장치(100_1) 및 제2 타입 전자 장치(100_2)에서 설명한 구성들을 포함하는 전자 장치는 이하에서 설명하는 폰북 기반의 성문 운용 방법 중 적어도 일부에도 적용될 수 있다. 한편, 상술한 제1 타입 전자 장치(100_1) 및 제2 타입 전자 장치(100_2)의 각 구성들은 본 기재의 폰북 기반의 성문 운용을 지원하기 위한 하나의 예시로 제시한 것으로, 본 기재가 이에 한정되는 것은 아니다. 예컨대, 제1 타입 전자 장치(100_1) 및 제2 타입 전자 장치(100_2)들에서 설명한 적어도 일부 구성은 생략되거나, 설명(또는 도시)한 위치가 변경될 수 있다. 일 예로서, 예컨대, 도 3의 구성의 적어도 일부는 생략되거나 도 4의 구성의 적어도 일부로 대치될 수 있으며, 도 4의 구성의 적어도 일부 역시 생략되거나 또는 도 3의 구성의 적어도 일부로 대체될 수 있다. 또한, 상술한 도 1 내지 도 4에서 설명한 적어도 하나의 전자 장치는 후술하는 도 12에서의 전자 장치의 구성 중 적어도 일부를 더 포함할 수 있다.
도 5는 일 실시 예에 따른 서버 장치 구성의 한 예를 나타낸 도면이다.
도 5를 참조하면, 일 실시 예에 따른 서버 장치(200)는 서버 통신 회로(210), 서버 메모리(230) 및 서버 프로세서(250)를 포함할 수 있다.
상기 서버 통신 회로(210)는 상기 서버 장치(200)의 통신 기능을 지원할 수 있다. 상기 서버 통신 회로(210)는 네트워크(50)를 통해 적어도 하나의 전자 장치(100)와 통신 채널을 형성할 수 있다. 일 실시 예에 다르면, 상기 서버 통신 회로(210)는 전자 장치(100, 101, 102, 100_1, 100_2 중 적어도 하나, 이하 100을 기준으로 설명)의 성문 모델링을 지원하기 위한 다양한 데이터 또는 신호를 전자 장치(100)와 송수신할 수 있다. 예컨대, 서버 통신 회로(110)는 전자 장치(100)로부터 성문 모델링을 위한 상대방 전자 장치로부터 수신한 음성 데이터(예: 도 1의 제2 음성 데이터)를 수신할 수 있다. 또는, 서버 통신 회로(110)는 서버 프로세서(250) 제어에 대응하여, 전자 장치(100)로부터 상대방 전자 장치에 대응하는 학습 중인 성문 모델을 수신할 수 있다. 상기 서버 통신 회로(110)는 상기 수신 음성 데이터를 기반으로 생성된 성문 모델 또는 상기 수신 음성 데이터를 기반으로 상기 학습 중인 성문 모델을 갱신한 갱신 성문 모델, 학습이 완료된 성문 모델 중 적어도 하나를 전자 장치(100)에 제공할 수 있다.
상기 서버 메모리(230)는 상기 서버 장치(200) 운용에 필요한 데이터 또는 프로그램을 저장할 수 있다. 일 실시 예에 따르면, 상기 서버 메모리(230)는 전자 장치(100)로부터 수신한 수신 음성 데이터(예: 전자 장치(100)가 상대방 전자 장치로부터 수신한 음성 데이터) 및 상대방 전자 장치 식별을 위한 식별 정보를 포함하는 음성 데이터 정보(231), 상기 수신 음성 데이터를 기반으로 학습을 수행하여 생성한 성문 모델 학습 정보(232), 상기 성문 모델링을 위한 학습 알고리즘(233)을 저장할 수 있다. 상기 성문 모델 학습 정보(232)에는 수신 음성 데이터의 학습 결과에 해당하는 학습 중인 성문 모델 또는 학습이 완료된 성문 모델과 상기 상대방 전자 장치 식별을 위한 식별 정보가 포함될 수 있다. 상기 상대방 전자 장치 식별을 위한 식별 정보는 전자 장치(100)가 랜덤 또는 일정 규칙에 따라 생성한 정보로서, 성문 모델과 상대방 전자 장치의 전화 번호나 이름이 직접적으로 매칭되지 않도록 함으로써, 개인 정보 보호를 위해 사용될 수 있다. 일 예로서, 상기 상대방 전자 장치 식별을 위한 식별 정보는 상대방 전자 장치의 이름이나 전화 번호 이메일 또는 SNS 주소 정보로 대체될 수도 있다.
상기 서버 프로세서(250)는 서버 장치(200) 운용을 위한 신호의 전달과 처리 및 처리 결과에 대한 저장 제어를 수행할 수 있다. 일 실시 예에 따르면, 상기 서버 프로세서(250)는 일 실시 예에 따른 성문 모델링 기능 지원과 관련하여, 성문 모델 학습부(251) 및 사용자 정보 관리부(252)를 포함할 수 있다.
상기 성문 모델 학습부(251)는 전자 장치(100)로부터 수신된 수신 음성 데이터에 대한 성문 모델링(또는 학습)을 수행할 수 있다. 이와 관련하여, 성문 모델 학습부(251)는 수신 음성 데이터에 학습 알고리즘(예: deep neural network, DNN 알고리즘)을 적용하여 성문 모델을 생성할 수 있다. 상기 성문 모델 학습부(251)는 생성된 성문 모델을 전자 장치(100)에 전송할 수 있다. 이 동작에서, 상기 성문 모델 학습부(251)는 수신된 음성 데이터에 대한 성문 모델의 완성도를 설정할 수 있다. 상기 성문 모델 학습부(251)는 학습이 완료되지 않은 성문 모델을 전자 장치(100)에 제공하는 과정에서, 학습 진행 정도에 대응하는 정보(예: 30%, 50%...)를 함께 제공할 수 있다.
이와 관련하여, 성문 모델 학습부(251)는 일정 길이 이상의 음성 데이터에 대한 학습 횟수 또는 전체 학습에 이용되는 음성 데이터 길이(또는 시간)를 사전 정의할 수 있다. 성문 모델의 학습 완료와 관련한 음성 데이터의 길이는 통계적으로 정의될 수 있다. 또는, 성문 모델의 학습 완료와 관련한 음성 데이터 길이는 학습된 성문 모델을 실제 수신 음성 데이터에 적용하여 필터링을 수행한 후, 필터링 수행 결과의 데이터 왜곡도를 기준으로 결정될 수 있다.
상기 성문 모델 학습부(251)는 전자 장치(100)로부터 수신 음성 데이터와 함께 학습 중인 성문 모델을 수신하는 경우, 수신된 학습 중 성문 모델에 상기 수신 음성 데이터를 적용하여 성문 모델링(또는 학습)을 수행할 수 있다. 일 실시 예에 따르면, 상기 성문 모델 학습부(251)는 학습 중 성문 모델(또는 학습이 완료되지 않은 성문 모델)을 서버 메모리(230)에 저장 관리할 수 있다. 상기 성문 모델 학습부(251)는 성문 모델의 학습이 완료되면, 학습 완료된 성문 모델을 전자 장치(100)에 제공하는 한편, 서버 메모리(230)에서 관련 정보(예: 학습이 완료된 성문 모델)를 삭제할 수 있다.
상기 사용자 정보 관리부(252)는 수신 음성 데이터를 제공한 전자 장치(100)와 관련한 정보를 저장 및 관리할 수 있다. 일 실시 예에 따르면, 사용자 정보 관리부(252)는 전자 장치(100)의 식별 정보 및 전자 장치(100)가 성문 모델링을 요청하는 상대방 전자 장치의 식별 정보, 전자 장치(100)가 제공한 수신 음성 데이터를 통해 학습 중인 성문 모델 중 적어도 일부를 저장할 수 있다. 이 동작에서, 개인 정보 보호와 관련하여, 상대방 전자 장치의 식별 정보는 전자 장치(100)에서 생성한 임의의 정보로 대체될 수 있다. 사용자 정보 관리부(252)는 특정 성문 모델에 대한 학습이 완료되면, 해당 성문 모델과 관련한 상대방 전자 장치의 식별 정보를 삭제할 수 있다.
상기 서버 프로세서(250)는 전자 장치(100)로부터 실시간으로 수신 음성 데이터를 수신할 수 있다. 일 예로서, 상기 전자 장치(100)는 상대방 전자 장치와 통화 채널을 형성하고, 상대방 전자 장치로부터 음성 데이터를 수신하면, 이를 서버 장치(200)에 제공할 수 있다. 이 과정에서, 상기 서버 프로세서(250)는 수신된 음성 데이터의 SNR을 확인하고, SNR이 지정된 값 미만인 경우 해당 수신 음성 데이터를 성문 모델링에 적용하지 않고 폐기할 수 있다. 상기 서버 프로세서(250)는 수신 음성 데이터 폐기 시, 폐기 처리 및 폐기 이유 중 적어도 일부를 전자 장치(100)에 안내할 수 있다. 서버 프로세서(250)에서 수신 음성 데이터 중 성문 모델링을 위해 사용할 부분을 추출하도록 설계된 경우, 상기 도 3 및 도 4에서 설명한 전자 장치들(100_1, 100_2)에 기재한 SNR 검출부는 생략될 수 있다. 상기 전자 장치들(100_1, 100_2)에서 SNR 검출부를 이용하여 지정된 SNR 값 이상의 수신 음성 데이터를 서버 장치(200)에 전송하도록 설계된 경우, 상기 서버 프로세서(250)의 음성 데이터 추출 동작은 생략될 수 있다.
도 6은 일 실시 예에 따른 폰북 기반의 성문 모델링과 관련한 전자 장치 운용 방법의 한 예를 나타낸 도면이다.
도 6을 참조하면, 일 실시 예에 따른 폰북 기반의 성문 모델링과 관련한 전자 장치 운용 방법과 관련하여, 전자 장치(100)의 프로세서(150)는 601 동작에서 폰북 기반 통화 호 연결을 수행할 수 있다. 이와 관련하여, 프로세서(150)는 폰북 실행 요청에 대응하여 폰북 화면을 디스플레이(140)에 출력하도록 제어할 수 있다. 상기 폰북 화면은 학습 기능의 턴-온 또는 턴-오프를 설정할 수 있는 항목을 포함할 수 있다. 상기 폰복 화면에 표시된 폰북 리스트(또는 상대방 전자 장치의 식별 정보 리스트) 중 특정 항목(또는 상대방 전자 장치의 식별 정보)이 선택된 후 통화 연결을 요청하는 사용자 입력이 발생하면, 프로세서(150)는 상대방 전자 장치에 통화 호 연결 요청 메시지를 전송하고, 상대방 전자 장치가 통화 호 연결을 수락하면 통화 호를 연결할 수 있다. 상기 프로세서(150)는 통화 호 연결 시, 통화 호 연결에 대응하는 화면을 디스플레이(140)에 출력할 수 있다. 상기 통화 호 연결 화면은 통화 기능과 관련한 적어도 하나의 항목(예: 통화 종료 버튼, 스피커 전환 버튼, 키패드 선택 버튼)을 포함하며, 성문 모델에 관한 학습 기능을 턴-온 또는 턴-오프할 수 있는 항목을 포함할 수 있다. 일 실시 예에 따르면, 상기 폰북 화면 및 통화 연결 화면 중 적어도 하나는 상대방 전자 장치의 음성 데이터를 기반으로 학습을 수행한 성문 모델의 학습 정도를 지시하는 정보(예: 학습 정도를 나타내는 텍스트 또는 학습 정도에 대응하는 진행 바)를 출력할 수 있다.
603 동작에서, 프로세서(150)는 상대방 전자 장치로부터 음성 신호를 수신할 수 있다. 이와 관련하여, 상대방 전자 장치의 사용자는 통화 호 연결 후, 발화를 수행하여 자신의 음성 신호를 전자 장치(100)에 전송할 수 있다.
605 동작에서, 프로세서(150)는 수신된 음성 신호가 비정상 신호인지 확인할 수 있다. 예컨대, 프로세서(150)는 수신 음성 신호에 대한 네트워크 손실 여부나 SNR 적정 신호 여부를 확인할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 네트워크(또는 기지국)로부터 수신된 신호 수신 세기가 지정된 값 미만인 상태에서 수신된 음성 신호를 비정상 신호로 판단할 수 있다. 또는, 프로세서(150)는 수신된 음성 신호의 비트 에러율을 확인하고, 비트 에러율이 지정된 값 이상인 경우, 비정상 신호로 판단할 수 있다. 또는, 프로세서(150)는 수신된 음성 신호에서 신호 대 노이즈 비율(SNR)을 확인하고, SNR이 지정된 값 미만인 경우(신호의 비율이 지정 값보다 낮은 경우) 비정상 신호로 판단할 수 있다.
수신된 음성 신호가 비정상 신호가 아닌 경우(또는 정상 신호인 경우), 607 동작에서, 프로세서(150)는 학습 기능이 턴-온 상태인지 확인할 수 있다. 상기 프로세서(150)는 학습 기능 턴-온 설정 확인과 관련하여 AI(artificial intellectual) 훈련 블록의 활성화 여부를 확인할 수 있다. 상기 프로세서(150)는 학습 기능 설정과 관련한 음성 인식 기능을 제공할 수 있으며, 사용자가 상대방 전자 장치 사용자의 음성 데이터 훈련을 희망하지 않을 경우, 상술한 AI 훈련 블록을 턴-오프할 수 있으며, 음성 데이터 훈련을 희망할 경우, AI 훈련 블록을 턴-온으로 변경할 수 있다.
일 실시 예에 따르면, 상기 프로세서(150)는 학습 기능이 턴-오프 상태이면, 학습 기능의 설정을 전환할 수 있는 팝업창 또는 객체를 디스플레이(140)에 출력할 수 있다. 또는, 프로세서(150)는 학습 기능이 턴-온된 상태 또는 턴-오프된 상태임을 지시하는 알림음 또는 지시 정보 중 적어도 하나를 출력할 수 있다. 일 실시 예에 따르면, 상대방 전자 장치에 대응하는 성문 모델의 학습이 완료된 상태이면, 프로세서(150)는 설정에 따라 학습 완료된 성문 모델이 적용되고 있음을 안내하는 안내음이나 안내 정보 중 적어도 하나를 출력할 수 있다.
상기 전자 장치(100)가 성문 모델링을 위한 학습 기능을 자동으로(또는 디폴트로, 또는 기본 기능으로) 제공하는 경우, 상기 607 동작은 생략될 수 있다. 추가로, 성문 모델링과 관련한 리소스 사용 제한과 관련하여, 학습 기능을 턴-오프 시키는 기능을 제공할 수 있다. 또는, 프로세서(150)는 폰북에 등록된 다른 사용자들의 성문 모델링 기능은 기본으로 턴-오프되도록 설정하고, 통화 연결 횟수가 지정된 횟수 이상인 상대방(또는 지정된 시간 이상 통화 연결한 상대방)에 대해서 성문 모델링을 위한 학습 기능을 턴-온 상태로 자동 전환(또는 사용자 확인을 거쳐서 수락 시 전환)할 수 있다.
학습 기능이 턴-온 상태인 경우, 609 동작에서, 프로세서(150)는 음성 데이터 학습을 수행할 수 있다. 예컨대, 프로세서(150)는 수신 음성 데이터를 학습 모듈(예: 도 2의 학습 모듈(150a2_2) 또는 도 3의 학습 모듈(152a_2))(예: DNN 블록)에 전달하여, 음성 훈련을 수행할 수 있다. 이와 관련하여, 프로세서(150)는 학습 알고리즘을 메모리(130)로부터 수신하고, 수신된 학습 알고리즘을 이용하여 수신 음성 데이터에 대한 학습을 수행할 수 있다.
611 동작에서, 프로세서(150)는 학습 결과와 기 저장된 성문 모델과의 유사도(또는 상관도)를 비교하여, 유사도가 기준 값 이상인지 확인할 수 있다. 예컨대, 프로세서(150)는 수신 음성 데이터의 학습 결과로 생성된 성문 모델과 기 저장된 성문 모델과의 유사도 비교를 수행할 수 있다. 이를 통해, 폰북에 등록된 상대방 전자 장치를 상대방 본인이 아니라 다른 사람이 사용하는 경우에 전달된 음성 데이터를 학습 과정에서 배제시킬 수 있다. 일 예로서, 폰북에 등록된 아버지의 휴대용 통신 장치에 통화 연결을 시도하여 통화 채널을 형성하는 과정에서, 어머니가 아버지의 휴대용 통신 장치를 통해 대화를 수행할 수 있다. 이 경우, 상기 프로세서(150)는 수신된 음성 신호(예: 어머니의 음성 신호)를 폰북에(또는 폰북에 연계된 저장 영역에) 기 저장된 아버지 음성 신호와 비교하고, 유사도가 기준 값 미만인 경우 아버지가 아닌 다른 사람의 음성 신호로 판단할 수 있다. 다른 사람의 음성 신호로 판단된 경우, 프로세서(150)는 현재 수신된 음성 신호(예: 어머니의 음성 신호)를 학습(예: 아버지의 성문 모델 학습)에 적용하지 않도록 처리할 수 있다. 상술한 동작에서, 상기 프로세서(150)는 음성 신호 비교에 대체하여 음성 신호를 통해 생성된 성문 모델 비교(예: 폰북에 저장된 아버지 목록에 대응하는 학습 중인 성문 모델과 어머니 음성 신호로부터 생성된 성문 모델의 비교)를 수행할 수도 있다.
다른 예로서, 상기 프로세서(150)는 수신된 음성 신호(예: 어머니의 음성 신호)로부터 생성된 성문 모델이 폰북에 저장된 아버지의 학습 중인 성문 모델(또는 기 저장된 음성 신호)과의 유사도가 기준 값 미만인 경우, 폰북 리스트에 등록된 다른 사용자 항목들의 음성 신호(또는 기 저장된 성문 모델)와 비교하여 유사도가 기준 값 이상인 사용자 항목(예: 폰북에 기 저장된 어머니 항목)을 검출할 수 있다. 상기 프로세서(150)는 다른 사용자 항목(예: 어머니 항목)이 검출되면, 현재 수신 다른 사용자 항목에 대응하는 음성 신호(예: 어머니 음성 신호)를 기 저장된 학습 중인 성문 모델(예: 어머니 음성 신호에 대응하는 학습 중인 성문 모델)에 적용하여 학습을 진행할 수 있다. 다른 사용자 항목이 검출되지 않는 경우, 상기 프로세서(150)는 수신된 음성 신호(예: 어머니의 음성 신호)에 대한 학습 미적용을 처리할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 상기 수신된 음성 신호(예: 어머니의 음성 신호)에 대응하는 다른 사용자 항목(예: 폰북에 저장된 어머니 항목)이 검출되더라도, 해당 성문 모델의 학습이 완료된 경우, 별도의 추가 학습을 수행하지 않도록 처리할 수 있다. 추가적으로 또는 대체적으로, 상기 프로세서(150)는 검출된 다른 사용자 항목에 대응하는 성문 모델(예: 학습 완료된 성문 모델)을 기반으로 수신된 음성 신호(예: 어머니 음성 신호)의 필터링(예: 어머니 성문 모델을 이용한 필터링)을 수행할 수 있다. 일 실시 예에 따르면, 상술한 현재 수신된 음성 신호(예: 아버지의 휴대용 통신 장치로 어머니가 송신한 음성 신호)와 유사도가 높은 다른 사용자 항목(예: 폰북에 저장된 어머니 항목)을 검출하는 동작 수행과 관련하여, 상기 프로세서(150)는 다른 사용자 항목 검색 시, 우선적으로 상대방 전자 장치(예: 아버지의 휴대용 통신 장치)와 관련성이 높은 다른 사용자 항목들(예: 가족으로 등록된 다른 사용자 항목들)과의 음성 신호 비교(또는 모델 비교)를 수행할 수 있다.
유사도가 기준 값 이상인 경우, 613 동작에서, 프로세서(150)는 학습 결과를 갱신할 수 있다. 예컨대, 상기 프로세서(150)는 수신 음성 데이터에 대한 학습 결과를 기존 저장된 학습 중인 성문 모델에 통합하고, 통합된 성문 모델을 extract speaker profile(database storage)(또는 메모리(130))에 저장할 수 있다. 상기 학습 및 갱신된 성문 모델은 상대방 연락처와 동기화되어 저장될 수 있다.
한편, 605 동작에서 비정상 음성 신호를 수신한 경우, 607 동작에서 학습 기능이 턴-오프로 설정되어 있는 경우, 611 동작에서 유사도가 기준 값 미만인 경우 중 적어도 하나의 경우에, 프로세서(150)는 615 동작에서 데이터 미반영 처리를 수행할 수 있다. 예컨대, 프로세서(150)는 수신된 음성 데이터를 학습에 적용하지 않고, 일반 오디오 프로세싱을 수행한 후 스피커를 통해 출력하도록 제어할 수 있다.
617 동작에서, 프로세서(150)는 학습 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 예컨대, 프로세서(150)는 통화 종료와 관련한 이벤트가 발생하는 경우 또는 학습 기능을 턴-오프하는 사용자 입력을 수신하는 경우, 학습 기능 비실행을 요청하는 메시지를 상대방 전자 장치로부터 수신하는 경우 중 적어도 하나의 경우가 발생하는지 확인할 수 있다. 학습 종료와 관련한 이벤트가 발생하면, 프로세서(150)는 학습 기능을 종료하고, 학습 종료 관련 이벤트 발생이 없으면, 프로세서(150)는 603 동작 이전으로 분기하여 이하 동작을 재수행할 수 있다.
도 7은 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 전자 장치 운용 방법의 한 예를 나타낸 도면이다.
도 7을 참조하면, 일 실시 예에 따른 전자 장치 운용 방법과 관련하여, 전자 장치(100)의 프로세서(150)는 701 동작에서, 폰북 기반 통화 연결을 수행할 수 있다. 상기 701 동작은 앞서 설명한 601 동작과 동일 또는 유사한 동작이 될 수 있다. 상기 폰북 기반 통화 연결은 폰북을 통해서 통화 연결되는 경우 뿐만 아니라, 가상 번호 키패드를 통해 상대방 전화 번호를 누른 경우라 하더라도, 상대방 전화 번호가 폰북에 등록되어 있는 경우, 폰북 기반 통화 연결에 포함될 수 있다.
703 동작에서, 프로세서(150)는 상대방 전자 장치와 연결된 통화 채널을 통하여 음성(예: 음성 데이터 또는 음성 신호)을 수신할 수 있다. 상기 프로세서(150)는 음성이 수신되면, 상대방 전자 장치의 식별 정보에 대응하여 저장된 성문 모델을 메모리(130)로부터 획득할 수 있다. 상기 성문 모델을 획득하는 시점은, 통화 호 연결을 요청하는 시점 또는 상대방 전자 장치가 통화 호 연결을 수락하는 시점, 상대방 전자 장치로부터 음성 데이터를 수신하는 시점 중 적어도 한 시점이 될 수 있다.
705 동작에서, 프로세서(150)는 성문 모델(또는 학습 결과)을 기반으로 수신된 음성 데이터에 대한 노이즈 필터링을 수행할 수 있다. 예컨대, 프로세서(150)는 수신된 음성 데이터에 대한 주변 잡음 및 잔여 에코 중 적어도 일부의 제거를 수행할 수 있다. 일 실시 예에 따르면, 상기 프로세서(150)는 앞서 도 6에서 설명한 605 동작에서 비정상 신호로 확인되면, 상대방 전자 장치에 대응하는 성문 모델 기반의 필터링 동작을 수행할 수 있다. 비정상 신호가 아닌 경우, 상기 프로세서(150)는 주변 잡음 및 잔여 에코 중 적어도 일부의 제거를 위하여 선택적으로 성문 모델 기반의 필터링을 수행하거나 또는 성문 모델 기반의 필터링을 수행할 수 있다. 이하 동작은 성문 모델 기반의 필터링 수행을 설명한 것이다.
상기 프로세서(150)는 주변 잡음 및 잔여 에코 중 적어도 일부가 제거된 음성 데이터를 아날로그 신호로 변환하고, 변환된 아날로그 신호를 스피커를 통해 출력할 수 있다. 상술한 동작 수행과 관련하여, 상기 프로세서(150)는 학습된 성문 모델의 학습 정도에 따라 다양한 동작을 수행할 수 있다. 예컨대, 상기 프로세서(150)는 학습된 성문 모델의 학습 진행 정도가 지정된 기준 값 미만인 경우, 별도의 노이즈 필터링을 수행하지 않고, 학습 모델의 학습 진행 정도가 부족함을 안내하는 안내음 또는 안내 정보를 출력할 수 있다. 또는, 상기 프로세서(150)는 학습된 성문 모델의 학습 진행 정도가 지정된 기준 값 미만인 경우, 온전한 노이즈 필터링을 수행할 수 없음을 안내하면서도, 학습 진행 중인 성문 모델을 이용한 노이즈 필터링을 수행할 수도 있다. 학습이 완료된 성문 모델인 경우, 프로세서(150)는 별도의 안내 없이(또는 성문 모델 기반 노이즈 필터링이 적용됨을 안내하면서) 수신된 음성 데이터에 대한 노이즈 필터링(예: 주변 잡음 및 잔여 에코 중 적어도 일부의 제거)을 수행할 수 있다.
707 동작에서, 프로세서(150)는 통화 종료와 관련한 이벤트 발생 여부를 확인할 수 있다. 통화 종료와 관련한 이벤트 발생이 없는 경우, 프로세서(150)는 703 동작 이전으로 분기하여 이하 동작을 재수행할 수 있다. 통화 종료 관련 이벤트 발생 시, 프로세서(150)는 성문 모델 이용을 위한 하드웨어 또는 소프트웨어 자원을 반납하고, 통화 기능을 종료할 수 있다.
한편, 상술한 설명에서는, 음성 수신 환경에서, 폰북에 등록된 상대방 전화번호에 대응하는 성문 모델을 적용하는 예시를 설명하였으나, 음성 송신 환경에도 동일하게 적용될 수 있다. 예컨대, 프로세서(150)는 마이크를 통하여 사용자 음성이 수집되면, 사용자 음성이 수집되는 구간에 대해 상기 상대방 전자 장치의 식별 정보에 대응하는 성문 모델을 이용한 노이즈 필터링을 수행할 수 있다. 추가적으로 또는 대체적으로, 상기 사용자 음성이 수집되는 구간에 대해 적응형 필터를 이용한 에코 제거(예: 스피커를 통해 출력되는 신호 중 마이크로 수집되는 신호의 제거)가 수행될 수 있고, 상기 프로세서(150)는 상기 성문 모델을 이용하여 에코 제거 이후 남겨진 주변 잡음 및 잔여 에코 중 적어도 일부를 추가로 제거할 수 있다.
상술한 도 6에서 설명한 성문 모델의 학습 동작은, 후술하는 도 7에서의 성문 모델을 이용한 필터링 동작과 독립적으로 수행될 수 있다. 예컨대, 프로세서(150)는 폰북에 저장된 상대방 전자 장치와 통화 연결 시, 상대방 전자 장치에 대응하는 성문 모델의 학습이 완료되지 않은 경우, 해당 성문 모델을 이용한 필터링 동작은 수행하지 않고, 도 6에서 설명하는 성문 모델 학습 동작을 수행할 수 있다. 상기 프로세서(150)는 폰북에 저장된 상대방 전자 장치와 통화 연결 시, 상대방 전자 장치에 대응하는 성문 모델의 학습이 완료된 경우, 도 6에서 설명하는 학습 동작은 수행하지 않고, 도 7에서 설명하는 성문 모델을 이용한 필터링 동작을 수행할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 폰북에 저장된 상대방 전자 장치와 통화 연결을 수행하는 중에 수신된 음성 신호가 상대방 본인이 아닌 경우를 확인하고(예: 611 동작), 상대방 본인이 아닌 경우, 앞서 설명한 바와 같이, 다른 사용자 항목(예: 어머니 항목)의 성문 모델 학습 완료 여부에 따라 추가 학습 또는 필터링 동작을 수행하도록 제어할 수 있다.
도 8은 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 전자 장치 운용 방법의 다른 예를 나타낸 도면이다.
도 8을 참조하면, 일 실시 예에 따른 전자 장치 운용 방법과 관련하여, 전자 장치(100)(예: 제2 전자 장치(100))의 프로세서(150)는 801 동작에서, 통화 호 수신 여부를 확인할 수 있다. 통화 호 수신이 없는 경우, 프로세서(150)는 803 동작에서, 지정 기능 수행을 처리할 수 있다. 예컨대, 프로세서(150)는 사용자 입력에 대응하여 특정 어플리케이션을 실행하거나, 현재 실행 중인 어플리케이션에 대응하는 화면 또는 오디오 신호의 출력을 제어할 수 있다.
통화 호가 수신되면, 805 동작에서, 프로세서(150)는 통화 호 연결을 요청한 상대방 전자 장치의 식별 정보(예: 전화 번호)가 폰북에 존재하는지 확인할 수 있다. 폰북에 사전 등록된 식별 정보인 경우, 프로세서(150)는 상기 상대방 전자 장치의 식별 정보(예: 이름, 전화 번호)를 포함하는 통화 호 연결 요청 화면을 출력할 수 있다. 통화 호 연결을 수락하는 사용자 입력이 수신되면, 프로세서(150)는 상대방 전자 장치와 통화 채널을 형성할 수 있다. 상기 프로세서(150)는 통화 채널을 통하여 상대방 전자 장치가 전송한 음성 데이터를 수신할 수 있다. 폰북에 등록되지 않은 식별 정보인 경우, 프로세서(150)는 803 동작으로 분기하여 지정 기능(예: 사용자의 통화 호 수락에 대응하는 통화 기능) 수행을 처리할 수 있다.
807 동작에서, 프로세서(150)는 통화 채널을 통하여 음성 데이터가 수신되면, 전자 장치(100)는 수신된 음성 데이터에 대한 학습을 수행하여 성문 모델을 생성할 수 있다. 상기 프로세서(150)는 폰북에 등록된 식별 정보에 매칭하여 상기 성문 모델을 메모리(130)에 저장할 수 있다.
809 동작에서, 프로세서(150)는 통화 기능 종료 여부를 확인하고, 통화 기능이 유지되는 경우, 807 동작으로 분기하여 이하 동작을 재수행할 수 있다. 통화 기능이 종료되면, 프로세서(150)는 음성 데이터 학습 기능을 종료할 수 있다.
일 실시 예에 따르면, 폰북에 등록되지 않은 식별 정보를 가지는 전자 장치로부터 통화 호 연결을 수신하더라도, 전자 장치(100)는 성문 모델 학습과 관련한 화면을 출력하고, 사용자 설정에 따라 상대방으로부터 수신된 음성 데이터를 기반으로 성문 모델링을 수행할 수 있다. 이후, 프로세서(150)는 학습된 성문 모델에 대응하는 폰북 정보 등록을 지원할 수 있다. 이와 관련하여, 프로세서(150)는 통화 중 수신된 음성 데이터를 저장하고, 통화 종료 후, 학습을 통해 성문 모델을 생성할 수 있다. 또는, 프로세서(150)는 통화 중에 상대방 전자 장치에 대응하는 신규 식별 정보(예: noname)를 생성하고, 통화 중 수신된 음성 데이터를 기반으로 생성한 성문 모델을 신규 식별 정보에 매칭하여 메모리(130)에 저장할 수 있다. 통화 종료 후, 프로세서(150)는 신규 식별 정보 변경을 요청하는 화면을 디스플레이(140)에 출력할 수 있다.
한편, 상술한 도 7 및 도 8에서는 전자 장치의 성문 모델 운용과 관련한 전자 장치 운용 방법의 예들을 구분하여 설명하였으나, 도 7에서 설명한 동작들 중 적어도 일부 및 도 8에서 설명한 동작들 중 적어도 일부는 상호 적용되거나 각 예들에서 배제될 수도 있다. 예컨대, 도 7에서 설명한 노이즈 필터링에 관한 구성은, 도 8의 807 동작에도 적용될 수 있다.
도 9는 일 실시 예에 따른 폰북 기반의 성문 모델 운용과 관련한 전자 장치의 서버 장치 이용 방법의 한 예를 나타낸 도면이다.
도 9를 참조하면, 일 실시 예에 따른 전자 장치의 서버 장치 이용 방법과 관련하여, 전자 장치(100)의 프로세서(150)는 901 동작에서, 폰북 등록 사용자의 통화 데이터 수신이 발생하는지 확인할 수 있다. 이와 관련하여, 전자 장치(100)는 다른 전자 장치와 통화 채널을 형성할 수 있다. 폰북 등록 사용자의 통화 데이터 수신이 없는 경우, 903 동작에서, 프로세서(150)는 지정 기능 수행을 처리할 수 있다. 예컨대, 프로세서(150)는 사용자 입력에 대응하여 전자 장치(100)의 특정 사용자 기능(예: 음악 재생 기능, 웹 서핑 기능, 동영상 재생 기능) 수행을 지원할 수 있다.
폰북 등록 사용자의 통화 데이터(예: 음성 데이터)를 수신한 경우, 905 동작에서, 프로세서(150)는 등록 사용자에 대응하는 식별 정보를 생성할 수 있다. 이 동작에서, 프로세서(150)는 개인 정보 보호와 관련하여, 임의의 식별 정보를 생성하고, 생성된 임의의 식별 정보와 상기 등록 사용자 정보를 매칭하여 저장할 수 있다.
907 동작에서, 프로세서(150)는 식별 정보 및 통화 데이터(예: 음성 데이터)를 지정 서버 장치(200)에 전송할 수 있다. 이와 관련하여, 프로세서(150)는 서버 장치(200)와 통신 채널을 형성하고, 상기 통신 채널을 기반으로 상기 식별 정보 및 통화 데이터를 상기 서버 장치(200)에 전송할 수 있다. 서버 장치(200) 접속과 관련하여, 프로세서(150)는 서버 장치(200) 접속 정보를 사전 획득하여 저장 관리할 수 있다. 또는, 상기 전자 장치(100)는 성문 모델링과 관련한 어플리케이션을 설치하고, 학습 기능이 턴-온되어 있는 경우, 통화 채널 형성 시 자동으로 설치된 어플리케이션을 실행하여 서버 장치(200)에 접속할 수 있다. 상기 프로세서(150)는 통화 데이터 전송 시, 이전 학습 중인 성문 모델이 있는 경우, 학습 중인 성문 모델도 함께 서버 장치(200)에 전송할 수 있다.
909 동작에서, 프로세서(150)는 지정 서버 장치(200)로부터 학습 결과를 수신하고, 수신된 학습 결과를 메모리(130)에 갱신할 수 있다. 상기 프로세서(150)는 수신된 학습 결과에 해당하는 성문 모델을 폰북에 매칭하여 저장할 수 있다. 이와 관련하여, 프로세서(150)는 서버 장치(200)에 전송한 식별 정보를 기반으로 폰북의 상대방 전자 장치 식별 정보를 확인하고, 확인된 상대방 전자 장치의 식별 정보에 매칭하여 성문 모델(또는 서버 장치(200)에서 학습된 결과)을 메모리(130)에 저장할 수 있다. 이 동작에서, 상기 프로세서(150)는 이전 저장된 학습 모델이 있는 경우, 현재 수신된 성문 모델로 갱신할 수 있다.
911 동작에서, 프로세서(150)는 성문 모델에 대한 학습 기능 종료와 관련한 이벤트가 발생하는지 확인할 수 있다. 예컨대, 프로세서(150)는 통화 기능 종료와 관련한 이벤트 또는 학습 기능을 턴-오프로 전환하는 이벤트가 발생하는 경우, 서버 장치(200)를 이용한 성문 모델링 동작을 종료할 수 있다. 상기 종료 이벤트 발생이 없는 경우, 프로세서(150)는 901 동작 이전으로 분기하여 이하 동작을 재수행할 수 있다.
한편, 상술한 성문 모델을 생성하는데 이용되는 음성 데이터는 음성 통화 중에 수신된 데이터 또는 영상 통화 중 수신된 데이터를 포함할 수 있다. 또한, 상기 성문 모델 생성과 관련한 음성 데이터는 다자간 음성 통화(또는 다자간 영상 통화) 시에 송수신되는 음성 데이터를 포함할 수 있다. 다자간 통화 시, 프로세서(150)는 통화 연결에 사용된 폰북 정보들, 폰북 정보들에 매핑되어 사전 저장된 학습 중 성문 모델들을 기반으로, 송수신되는 복수의 사용자들의 음성 데이터들의 유사도 매핑을 수행하고, 유사도가 사전 정의된 기준 값 이상인 음성 데이터를, 대응되는 성문 모델 학습에 이용할 수 있다. 다자간 통화 환경에서 사전 저장된 학습 중인 성문 모델이 없는 경우, 프로세서(150)는 학습에 미반영하도록 처리할 수 있다. 일 예로서, 상기 프로세서(150)는 다자간 통화 시, 음원 데이터에 소스 분리 기술을 적용하고, 음원 데이터에 포함된 복수의 화자들의 음원 데이터들을 각각 분리한 후, 학습이 완료되지 않은 화자의 성문 모델의 학습을 진행할 수 있다. 이 동작에서, 상기 프로세서(150)는 학습 완료된 성문 모델을 이용하여 해당 화자가 발화하는 동안의 음성 데이터를 필터링하고, 나머지 음성 데이터들의 성문 모델링을 위한 학습을 수행하도록 처리할 수도 있다.
도 10은 일 실시 예에 따른 성문 모델링과 관련한 화면 인터페이스의 한 예를 나타낸 도면이다.
도 10을 참조하면, 전자 장치(예: 앞서 설명한 전자 장치 100, 101, 102, 100_1, 100_2 중 적어도 하나)의 디스플레이(140)는 통화 기능 운용과 관련하여 도시된 바와 같이 제1 표시 화면(161)을 출력할 수 있다. 일 실시 예에 따르면, 폰북에 등록된 특정 사용자 정보(또는 상대방 전자 장치의 전화 번호 또는 사용자 이름)를 선택하는 사용자 입력을 수신하는 경우, 프로세서(150)는 제1 표시 화면(161)을 디스플레이(140)에 출력하도록 제어할 수 있다.
상기 제1 표시 화면(161)은 예컨대, 상대방 전자 장치의 사용자 이름(161_1), 상대방 전자 장치의 전화 번호(161_2), 상대방 전자 장치와 통화 호 연결을 요청할 수 있는 제1 객체(161_3)(예: 통화 연결 가상 버튼), 상대방 전자 장치에 문자 메시지를 전송할 수 있는 제2 객체(161_4), 상대방 전자 장치에 영상 통화 연결을 요청할 수 있는 제3 객체(161_5)(예: 영상 통화 연결 가상 버튼) 중 적어도 하나를 포함할 수 있다. 상술한 제1 표시 화면(161)에 표시된 사용자 이름(161_1), 전화 번호(161_2), 제1 내지 제3 객체들(161_3, 161_4, 161_5) 중 적어도 일부는 생략될 수 있다.
일 실시 예에 따르면, 상기 제1 표시 화면(161)은 학습 기능이 턴-오프 상태로 설정된 경우, 이에 대응하여 학습 기능이 턴-오프 상태이며 현재까지의 학습 진행 정도를 나타내는 제1 성문 모델 객체(161_6)를 출력할 수 있다. 현재까지의 학습 진행 정도는 예컨대, 숫자 또는 비율로 표시될 수 있으며, 진행바 또는 진행을 지시할 수 있는 이미지로 변경될 수 있다. 또한, 제1 성문 모델 객체(161_6)는 학습 기능이 턴-오프 상태임을 지시하는 텍스트 또는 그에 대응하는 이미지를 포함할 수 있다.
일 실시 예에 따르면, 상기 제1 표시 화면(161)은 학습 기능이 턴-온 상태로 설정된 경우, 이에 대응하여 학습 기능이 턴-온 상태이며 성문 모델의 학습 진행 정도를 나타낸 제2 성문 모델 객체(161_7)를 출력할 수 있다. 제2 성문 모델 객체(161_7)는 예컨대, 학습 진행 정도를 나타내는 비율 값에 대응하는 숫자나 문자 또는 이미지를 포함할 수 있다. 상술한 제1 성문 모델 객체(161_6) 및 제2 성문 모델 객체(161_7)는 사용자 입력(예: 터치)에 대응하여 토글될 수 있다.
일 실시 예에 따르면, 도시된 폰북 정보 화면에서, 제1 객체(161_3) 또는 제3 객체(161_5)가 선택되면, 프로세서(150)는 통화 연결 요청 화면(또는 영상 통화 연결 요청 화면)을 디스플레이(140)에 출력할 수 있다. 통화 연결 요청 화면(또는 영상 통화 연결 요청 화면)은 학습 기능 설정 상태에 따라 적어도 상기 제1 성문 모델 객체(161_6) 또는 제2 성문 모델 객체(161_7) 중 어느 하나를 출력할 수 있다. 통화 연결 요청 화면 상에서, 제1 성문 모델 객체(161_6)가 출력 중인 상태에서, 사용자 입력이 발생하여 학습 기능을 턴-온으로 변경을 요청받은 경우, 제1 성문 모델 객체(161_6)는 제2 성문 모델 객체(161_7)로 변경될 수 있다. 상기 제1 성문 모델 객체(161_6) 및 제2 성문 모델 객체(161_7)는 성문 모델의 학습 정도 및 활성화 또는 비활성화 상태에 따라 어느 하나가 제1 표시 화면(161)에 출력될 수 있다.
상술한 바와 같이, 사용자는 폰북 정보를 확인할 수 있는 화면 및 통화 연결을 요청하는 화면, 통화 중 화면 중 적어도 하나의 화면을 통해, 폰북에 등록된 상대방 전자 장치의 성문 모델 학습 기능의 턴-온 또는 턴-오프 설정을 수행할 수 있다.
한편, 상술한 설명에서는, 폰북에서 특정 항목 선택 시, 선택된 항목에 대한 폰북 상세 화면을 통해 성문 모델 객체들(161_6, 161_7) 중 어느 하나를 출력하는 것으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 상기 전자 장치(100)의 프로세서(150)는 복수개의 폰북 항목들이 표시되는 폰북 리스트 화면에서, 성문 모델 객체들(161_6, 161_7) 중 어느 하나를 관련 항목들과 관련지어 출력할 수 있다. 사용자는, 폰북 리스트 화면 상에서, 학습 기능의 설정 변경을 수행할 수 있으며, 성문 모델의 진행 정도 또는 학습 완료 여부를 확인할 수 있다.
도 11은 일 실시 예에 따른 성문 모델링과 관련한 화면 인터페이스의 다른 예를 나타낸 도면이다.
도 11을 참조하면, 전자 장치(예: 전자 장치 100, 101, 102, 100_1, 100_2 중 적어도 하나)의 프로세서(150)는 사용자 입력에 대응하여 화상 통화 연결을 지원할 수 있다. 이와 관련하여, 상기 전자 장치는 화상 통화 용 카메라를 더 포함할 수 있다. 상기 프로세서(150)는 폰북을 통해 화상 통화 연결을 요청할 수 있는 화면 인터페이스를 제공할 수 있다. 화상 통화 연결을 요청하는 경우, 프로세서(150)는 상대방 전자 장치와 화상 통화 연결을 수행하고, 송수신되는 음성 데이터를 기반으로 성문 모델을 위한 학습을 수행할 수 있다.
이와 관련하여, 전자 장치(100)는 복수의 상대방 사용자 식별 정보들(131a, 131b, 131c, 131d, 131e)을 포함하는 폰북 정보(131)를 메모리(130)에 저장할 수 있다. 각각의 사용자 식별 정보들(131a, 131b, 131c, 131d, 131e)은 이전 음성 데이터 학습을 통한 성문 모델들을 포함하거나, 성문 모델들과 매핑될 수 있다. 영상 통화 연결에 따라, 프로세서(150)는 영상 영역(162_1) 및 학습 표시 영역(162_2)을 포함하는 영상 통화 화면(162)을 디스플레이(140)에 출력하도록 제어할 수 있다. 상기 학습 표시 영역(162_2)은 제1 사용자 식별 정보(131a)의 학습 진행을 나타내는 제1 학습 표시 항목(162a) 및 제2 사용자 식별 정보(131b)의 학습 진행을 나타내는 제2 학습 표시 항목(162b)을 포함할 수 있다. 이와 관련하여, 프로세서(150)는 상대방 전자 장치로부터 수신되는 음성 데이터들의 학습을 통해 생성된 성문 모델들과 사용자 식별 정보들(131a, 131b, 131c, 131d, 131e)에 매핑되어 기 저장된 학습 중인 성문 모델들을 비교하여, 유사도가 기준 값 이상인 성문 모델들을 검출할 수 있다. 상기 프로세서(150)는 영상 통화 중 획득되는 음성 데이터들을 기반으로, 제1 사용자 식별 정보(131a)에 매핑된 제1 성문 모델 및 제2 사용자 식별 정보(131b)에 매핑된 제2 성문 모델의 학습을 각각 수행할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 상대방 전자 장치의 사용자 식별 정보에 대응하는 제1 성문 모델을 획득하고, 제1 성문 모델을 이용하여 영상 통화 중 송수신되는 음성 데이터들 중 제1 성문 모델과 관련된 음성 데이터를 검출할 수 있다. 이 과정에서, 상기 프로세서(150)는 제1 성문 모델을 기반으로 노이즈 필터링을 수행하여, 상대방 전자 장치의 사용자 음성을 보다 명료하게 들리도록 처리할 수 있다.
영상 통화 과정에서, 복수의 사용자가 발화하는 경우, 상기 프로세서(150)는 복수의 음성 데이터들에 대한 학습을 수행하여 성문 모델들을 생성하고, 성문 모델들과 폰북에 매핑하여 저장된 성문 모델들을 비교하여 유사도가 사전 정의된 기준 값 이상인 성문 모델들을 검출할 수 있다. 상기 성문 모델들이 노이즈 필터링에 이용할 수 있을 만큼 학습이 진행된 경우, 상기 프로세서(150)는 각각의 성문 모델들을 이용하여 노이즈 필터링을 수행함으로써, 해당 성문 모델들에 대응하는 사용자 음성이 보다 명료하게 청취될 수 있도록 처리할 수 있다. 이 동작에서, 상기 프로세서(150)는 영상 통화를 수행하는 상대방 전자 장치의 사용자 식별 정보에 해당하는 제1 성문 모델은 기본으로 이용할 수 있다.
한편, 상술한 동작과 관련하여, 전자 장치(100)의 프로세서(150)는 영상 통화뿐만 아니라, 동영상 파일에 대해서도 동일하게 적용할 수 있다. 예컨대, 프로세서(150)는 동영상 파일에 포함된 복수의 음성 데이터들에 대한 모델링을 수행하고, 모델링 결과를 폰북(131)에 매핑되어 기 저장된 학습 중인 성문 모델들과 비교하여 유사도가 기준 값 이상인 폰북(131)에 등록된 다른 사용자 식별 정보들을 검출할 수 있다. 상기 프로세서(150)는 검출된 다른 사용자 식별 정보들에 대응하는 성문 모델들 각각에 대하여 동영상에 포함된 음성 데이터들을 이용하여 학습을 수행할 수 있다. 상술한 동작을 수행하는 과정에서 상기 프로세서(150)는 사용자 입력에 대응하여 동영상 편집기에 대응하는 어플리케이션을 실행하고, 실행된 동영상 편집기에서 편집 중인 동영상 파일에 포함된 음성 데이터들에 대해서 폰북과 연계하여 모델링을 수행할 수 있다. 이와 관련하여, 상기 프로세서(150)는 동영상 파일에 포함된 음성 데이터들에 대한 모델링을 수행하고, 모델링된 데이터의 적어도 일부를 폰북과 연계하여 기 저장된 성문 모델들과 비교하여 동일 또는 유사한 성문 모델이 검출되면, 해당 성문 모델에 대응되는 폰북 정보를 검출하고, 검출된 폰북 정보를 동영상 파일에 포함된 음성 데이터에 매칭하여 저장하거나, 또는 검출된 폰북 정보를 동영상을 출력하는 화면에 함께 출력하도록 제어할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 동영상 파일에 포함된 화자의 얼굴 인식을 수행하고, 인식된 얼굴과 매칭되는 얼굴을 폰북에서 검출할 수 있다. 이와 관련하여, 폰북에는 상대방 식별 정보(예: 전화번호, 이르, 이메일, 계정 중 적어도 하나)와 더불어 상대방 얼굴 이미지가 저장될 수 있다. 상기 프로세서(150)는 얼굴 인식된 화자의 폰북 정보에 학습이 완료된 성문 모델이 있는 경우, 해당 성문 모델을 이용하여 해당 화자가 발화하는 동안의 음성 데이터를 필터링하여 출력하도록 지원할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 인식된 얼굴과 매칭되는 폰북 정보의 성문 모델이 학습 중인 경우, 동영상 파일에서 해당 화자가 발화하는 음성 데이터를 수집하여 성문 모델의 학습을 진행하도록 지원할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 폰북(131)에 저장된 성문 모델들 또는 상대방 얼굴들과 매칭되는 화자들을 동영상 파일에서 각각 구분하고, 동영상 파일에 대응하는 화면이 출력되는 동안, 화면에 출력 중인 얼굴에 대응하는 폰북 정보(예: 이름)를 출력할 수 있다.
상술한 바와 같이, 본 기재의 폰북 기반의 성문 운용 방법은 폰북을 기반으로 학습(또는 훈련)된 상대방의 목소리를 활용하여, 수화 잡음이나 에코를 효과적으로 제거할 수 있으며, 상대방의 목소리에 대한 학습(또는 훈련)을 원하지 않거나, 음성 데이터 수집을 위한 상대방의 음성이 깨끗하지 않을 경우(상대방 송화 Noise Suppressor 성능 열화로 음성에 Noise 많은 경우) 선택적으로 학습이 가능하도록 지원할 수 있다. 또한, 본 기재는 학습된 상대방의 목소리를 다양한 오디오 기능에 활용 할 수 있도록 지원한다. 예컨대, 본 기재는 폰북에 저장되어 상대방의 성문(Voice Printing) 정보를 이용하여 송화 솔루션인 에코 제거기(Echo Canceller)의 보조 역할로 잔여 에코(Residual Echo) 또는 주변 환경 소음(또는 주변 잡음) 중 적어도 일부를 효과적으로 제거할 수 있다.
상기 도 10 및 도 11에서 설명한 화면 인터페이스는 예컨대, 도 1 내지 도 4에서 설명한 전자 장치들 중 적어도 하나를 통해 출력될 수 있다. 또는, 상기 서버 장치(200)에 의하여 상기 도 10 및 도 11에서 설명한 화면 인터페이스의 적어도 일부를 포함하는 이미지 또는 객체가 특정 전자 장치를 통해 출력될 수 있다.
또한, 상기 도 10에서 설명한 화면 인터페이스에 포함된 적어도 하나의 객체는 도 11에서 설명한 화면 인터페이스에 적용될 수 있으며, 도 11에서 설명한 화면 인터페이스에 포함된 적어도 하나의 객체는 도 10에서 설명한 화면 인터페이스에 적용될 수 있다. 또한, 상기 도 10 및 도 11에서 설명한 화면 인터페이스에 포함된 적어도 하나의 객체들은 생략될 수도 있다. 일 예로, 도 11에서 설명한 폰북 정보(131)은 도 10에서 설명한 화면 인터페이스에 추가될 수 있다. 도 10에서 설명한 화면 인터페이스의 활성화 또는 비활성화 표시는 도 11의 사용자 식별 정보들(131a, 131b, 131c, 131d, 131e), 영상 영역(162_1) 및 학습 표시 영역(162_2) 중 적어도 하나에 적용될 수 있다.
일 실시 예에 따르면, 본 기재의 일 실시 예에 따른 전자 장치는 통화 기능을 지원하는 통신 회로, 폰북을 저장하는 메모리, 상기 통신 회로 및 상기 메모리와 기능적으로 연결된 프로세서를 포함하고, 상기 프로세서는 상기 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하고, 상기 상대방 전자 장치가 전송한 음성 데이터를 수신하면, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하고, 상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는 상기 폰북 실행과 관련한 사용자 입력에 대응하여 상기 폰북 실행 화면을 디스플레이에 출력하도록 제어하고, 상기 폰북 실행 화면 중 상대방 전자 장치의 식별 정보를 표시하는 항목에, 상기 성문 모델의 학습 설정 여부 및 상기 성문 모델의 학습 진행 정도 중 적어도 하나를 표시하는 객체를 출력하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는 상기 객체가 활성화된 경우, 상기 성문 모델의 학습을 진행하도록 제어하고, 상기 객체가 비활성화된 경우, 상기 성문 모델의 학습을 진행하지 않도록 제어하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는 상기 객체 선택과 관련한 사용자 입력을 수신하고, 상기 사용자 입력 수신에 대응하여 상기 객체가 활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 수행하도록 제어하고, 상기 사용자 입력 수신에 대응하여 상기 객체가 비활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 취소하거나 중지하도록 제어할 수 있다.
일 실시 예에 따르면, 상기 프로세서는 상기 생성된 성문 모델의 적어도 일부와 상기 폰북에 기 저장된 학습 중인 성문 모델의 적어도 일부와 비교하고, 상기 비교 결과 유사도가 기 설정된 기준 값 이상인 경우 상기 음성 데이터를 이용하여 상기 학습 중인 성문 모델의 학습을 진행하고, 상기 비교 결과 유사도가 기 설정된 기준 값 미만인 경우 상기 음성 데이터를 이용한 상기 상문 모델의 학습을 취소하거나 중지하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 메모리에 저장된 인공신경망 알고리즘을 기반으로 상기 음성 데이터에 대한 학습을 수행하여 상기 성문 모델을 생성하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 수행하고, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 중지 또는 취소하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 이상이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 수행하고, 상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 미만이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 중지 또는 취소하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 음성 데이터를 지정된 서버 장치에 전송하고, 상기 서버 장치로부터 상기 음성 데이터를 기반으로 학습된 성문 모델을 수신하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 이상인 경우, 상기 음성 데이터를 상기 서버 장치에 전송하고, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 미만인 경우, 상기 음성 데이터 전송을 중지 또는 취소하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 상대방 전자 장치의 식별 정보에 대응하는 임의의 식별 정보를 생성하고, 상기 폰북에 저장된 학습 중인 성문 모델 및 상기 음성 데이터를 상기 임의의 식별 정보를 매칭하여 상기 서버 장치에 전송하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 음성 데이터를 이용하여 상기 상대방 전자 장치에 전송할 음성 신호의 에코를 제거하고, 상기 성문 모델을 이용하여 상기 에코 제거된 음성 신호의 주변 잡음 중 잔여 에코 중 적어도 일부를 제거하도록 설정된 것을 특징으로 한다.
일 실시 예에 따르면, 상기 프로세서는, 상기 성문 모델의 학습 진행 정도가 지정된 값 이상이거나 또는 상기 성문 모델의 학습이 완료된 경우, 상기 성문 모델을 이용한 상기 주변 잡음 중 잔여 에코 중 적어도 일부의 제거를 수행하도록 설정된 것을 특징으로 한다.
본 기재의 일 실시 예에 따른 폰북 기반의 성문 운용 방법은, 전자 장치의 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하는 동작, 상기 상대방 전자 장치가 전송한 음성 데이터를 수신하는 동작, 상기 음성 데이터의 신호 품질이 지정된 기준 값 이상으로 양호한 경우, 상기 음성 데이터를 기반으로 한 성문 모델 생성을 처리하는 동작을 포함하고, 상기 처리하는 동작은, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하는 동작, 상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 방법은, 상기 폰북 실행과 관련한 사용자 입력을 수신하는 동작, 상기 사용자 입력에 대응하여 상기 폰북 실행 화면을 디스플레이에 출력하는 동작을 더 포함하고, 상기 출력하는 동작은, 상기 폰북 실행 화면 중 상대방 전자 장치의 식별 정보를 표시하는 항목에, 상기 성문 모델의 학습 설정 여부 및 상기 성문 모델의 학습 진행 정도 중 적어도 하나를 표시하는 객체를 출력하는 동작을 포함하는 것을 특징으로 한다.
상기 방법은, 상기 객체가 활성화된 상태인 경우, 상기 성문 모델의 학습을 진행하는 동작, 상기 객체가 비활성화된 상태인 경우, 상기 성문 모델의 학습을 진행하지 않고 상기 통화 기능에 따른 상기 음성 데이터 처리를 수행하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 방법은, 상기 객체 선택과 관련한 사용자 입력을 수신하는 동작, 상기 사용자 입력 수신에 대응하여 상기 객체가 활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 수행하는 동작, 상기 사용자 입력 수신에 대응하여 상기 객체가 비활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 취소하거나 중지하고 상기 통화 기능에 따른 음성 데이터 처리를 수행하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 방법은, 상기 생성된 성문 모델의 적어도 일부와 상기 폰북에 기 저장된 학습 중인 성문 모델의 적어도 일부와 비교하는 동작, 상기 비교 결과 유사도가 기 설정된 기준 값 이상인 경우 상기 음성 데이터를 이용하여 상기 학습 중인 성문 모델의 학습을 진행하는 동작, 상기 비교 결과 유사도가 기 설정된 기준 값 미만인 경우 상기 음성 데이터를 이용한 상기 상문 모델의 학습을 취소하거나 중지하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 처리하는 동작은, 상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 이상이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 수행하고, 상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 미만이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 중지 또는 취소하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 처리하는 동작은, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 이상인 경우, 상기 음성 데이터를 상기 서버 장치에 전송하고, 상기 서버 장치로부터 상기 성문 모델을 수신하는 동작, 상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 미만인 경우, 상기 음성 데이터 전송을 중지 또는 취소하는 동작을 포함하는 것을 특징으로 한다.
일 실시 예에 따르면, 상기 방법은 도 6 내지 도 9에서 설명한 각 동작들 중 적어도 일부, 도 10 및 도 11에서 설명한 디스플레이의 화면에 객체를 출력하는 동작들 중 적어도 일부, 음성 신호를 처리하는 동작들 중 적어도 일부를 더 포함할 수 있다.
일 실시 예에 따르면, 상기 전자 장치의 메모리는 음성 신호(또는 오디오 정보나 음성 데이터)를 포함한 동영상 파일을 저장하고, 상기 전자 장치의 프로세서 또는 방법은 상기 동영상 파일에 동영상 파일에 포함된 오디오 정보들 상기 메모리에 저장된 성문모델들과 비교하고, 동일 또는 유사한 성문 모델에 대한 식별자 정보를 출력하는 동작을 수행할 수 있다.
일 실시 예에 따르면, 상기 전자 장치의 프로세서 또는 방법은 상기 동영상에 포함된 음성 신호들에 대해 상기 성문 모델을 이용하여 발화자들을 구분하고(또는 소스 분리하고), 각 발화자들이 발화한 음성 신호들에 대한 STT(Speech to text) 기능을 제공할 수 있다.
일 실시 예에 따르면, 상기 전자 장치의 프로세서 또는 방법은 화상 통화 또는 영상 통화 과정에서, 송수신되는 음성 신호들에 대해 기 저장된 학습 중인(또는 학습이 완료된) 성문 모델을 이용하여 발화자들을 구분하고(또는 소스 분리하고), 각 발화자들이 발화한 음성 신호들에 대한 성문 모델링(또는 학습)을 진행할 수 있다.
도 12는, 다양한 실시예들에 따른, 네트워크 환경(1200) 내의 전자 장치(1201)의 블록도이다.
도 12를 참조하면, 네트워크 환경(1200)에서 전자 장치(1201)는 제1 네트워크(1298)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(1202)와 통신하거나, 또는 제2 네트워크(1299)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(1204) 또는 서버(1208) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(1201)는 서버(1208)를 통하여 전자 장치(1204)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(1201)는 프로세서(1220), 메모리(1230), 입력 모듈(1250), 음향 출력 모듈(1255), 디스플레이 모듈(1260), 오디오 모듈(1270), 센서 모듈(1276), 인터페이스(1277), 연결 단자(1278), 햅틱 모듈(1279), 카메라 모듈(1280), 전력 관리 모듈(1288), 배터리(1289), 통신 모듈(1290), 가입자 식별 모듈(1296), 또는 안테나 모듈(1297)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(1201)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(1278))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(1276), 카메라 모듈(1280), 또는 안테나 모듈(1297))은 하나의 구성요소(예: 디스플레이 모듈(1260))로 통합될 수 있다.
프로세서(1220)는, 예를 들면, 소프트웨어(예: 프로그램(1240))를 실행하여 프로세서(1220)에 연결된 전자 장치(1201)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(1220)는 다른 구성요소(예: 센서 모듈(1276) 또는 통신 모듈(1290))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1232)에 저장하고, 휘발성 메모리(1232)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(1234)에 저장할 수 있다. 일실시예에 따르면, 프로세서(1220)는 메인 프로세서(1221)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(1223)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(1201)가 메인 프로세서(1221) 및 보조 프로세서(1223)를 포함하는 경우, 보조 프로세서(1223)는 메인 프로세서(1221)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(1223)는 메인 프로세서(1221)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(1223)는, 예를 들면, 메인 프로세서(1221)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1221)를 대신하여, 또는 메인 프로세서(1221)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(1221)와 함께, 전자 장치(1201)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(1260), 센서 모듈(1276), 또는 통신 모듈(1290))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(1223)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(1280) 또는 통신 모듈(1290))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(1223)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(1201) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(1208))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(1230)는, 전자 장치(1201)의 적어도 하나의 구성요소(예: 프로세서(1220) 또는 센서 모듈(1276))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(1240)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(1230)는, 휘발성 메모리(1232) 또는 비휘발성 메모리(1234)를 포함할 수 있다.
프로그램(1240)은 메모리(1230)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(1242), 미들 웨어(1244) 또는 어플리케이션(1246)을 포함할 수 있다.
입력 모듈(1250)은, 전자 장치(1201)의 구성요소(예: 프로세서(1220))에 사용될 명령 또는 데이터를 전자 장치(1201)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(1250)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(1255)은 음향 신호를 전자 장치(1201)의 외부로 출력할 수 있다. 음향 출력 모듈(1255)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(1260)은 전자 장치(1201)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(1260)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(1260)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(1270)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(1270)은, 입력 모듈(1250)을 통해 소리를 획득하거나, 음향 출력 모듈(1255), 또는 전자 장치(1201)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1202))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(1276)은 전자 장치(1201)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(1276)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(1277)는 전자 장치(1201)가 외부 전자 장치(예: 전자 장치(1202))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(1277)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(1278)는, 그를 통해서 전자 장치(1201)가 외부 전자 장치(예: 전자 장치(1202))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(1278)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(1279)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(1279)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(1280)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(1280)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(1288)은 전자 장치(1201)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(1288)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(1289)는 전자 장치(1201)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(1289)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(1290)은 전자 장치(1201)와 외부 전자 장치(예: 전자 장치(1202), 전자 장치(1204), 또는 서버(1208)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1290)은 프로세서(1220)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(1290)은 무선 통신 모듈(1292)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1294)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(1298)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(1299)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(1204)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(1292)은 가입자 식별 모듈(1296)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(1298) 또는 제2 네트워크(1299)와 같은 통신 네트워크 내에서 전자 장치(1201)를 확인 또는 인증할 수 있다.
무선 통신 모듈(1292)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(1292)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(1292)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(1292)은 전자 장치(1201), 외부 전자 장치(예: 전자 장치(1204)) 또는 네트워크 시스템(예: 제2 네트워크(1299))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(1292)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(1297)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(1297)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(1297)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(1298) 또는 제2 네트워크(1299)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(1290)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(1290)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(1297)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(1297)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제2 네트워크(1299)에 연결된 서버(1208)를 통해서 전자 장치(1201)와 외부의 전자 장치(1204)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(1202, 또는 1204) 각각은 전자 장치(1201)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(1201)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(1202, 1204, 또는 1208) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(1201)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(1201)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(1201)로 전달할 수 있다. 전자 장치(1201)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(1201)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(1204)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(1208)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(1204) 또는 서버(1208)는 제2 네트워크(1299) 내에 포함될 수 있다. 전자 장치(1201)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(1201)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(1236) 또는 외장 메모리(1238))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(1240))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(1201))의 프로세서(예: 프로세서(1220))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어쪠)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 전자 장치에 있어서,통화 기능을 지원하는 통신 회로;폰북을 저장하는 메모리;상기 통신 회로 및 상기 메모리와 기능적으로 연결된 프로세서;를 포함하고,상기 프로세서는상기 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하고,상기 상대방 전자 장치가 전송한 음성 데이터를 수신하면, 상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하고,상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제1항에 있어서,상기 프로세서는상기 폰북 실행과 관련한 사용자 입력에 대응하여 상기 폰북 실행 화면을 디스플레이에 출력하도록 제어하고, 상기 폰북 실행 화면 중 상대방 전자 장치의 식별 정보를 표시하는 항목에, 상기 성문 모델의 학습 설정 여부 및 상기 성문 모델의 학습 진행 정도 중 적어도 하나를 표시하는 객체를 출력하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제2항에 있어서,상기 프로세서는상기 객체가 활성화된 경우, 상기 성문 모델의 학습을 진행하도록 제어하고,상기 객체가 비활성화된 경우, 상기 성문 모델의 학습을 진행하지 않도록 제어하는 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제3항에 있어서,상기 프로세서는,상기 객체 선택과 관련한 사용자 입력을 수신하고,상기 사용자 입력 수신에 대응하여 상기 객체가 활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 수행하도록 제어하고,상기 사용자 입력 수신에 대응하여 상기 객체가 비활성화된 경우, 상기 음성 데이터를 이용한 상기 성문 모델의 학습을 취소하거나 중지하도록 제어하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제1항에 있어서,상기 프로세서는상기 생성된 성문 모델의 적어도 일부와 상기 폰북에 기 저장된 학습 중인 성문 모델의 적어도 일부와 비교하고,상기 비교 결과 유사도가 기 설정된 기준 값 이상인 경우 상기 음성 데이터를 이용하여 상기 학습 중인 성문 모델의 학습을 진행하고,상기 비교 결과 유사도가 기 설정된 기준 값 미만인 경우 상기 음성 데이터를 이용한 상기 상문 모델의 학습을 취소하거나 중지하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 메모리에 저장된 인공신경망 알고리즘을 기반으로 상기 음성 데이터에 대한 학습을 수행하여 상기 성문 모델을 생성하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제6항에 있어서,상기 프로세서는,상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 수행하고,상기 음성 데이터의 신호 품질이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 중지 또는 취소하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제6항에 있어서,상기 프로세서는,상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 이상이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 수행하고,상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 미만이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 중지 또는 취소하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 음성 데이터를 이용하여 상기 상대방 전자 장치에 전송할 음성 신호의 에코를 제거하고,상기 성문 모델을 이용하여 상기 에코 제거된 음성 신호의 주변 잡음 중 잔여 에코 중 적어도 일부를 제거하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 제9항에 있어서,상기 프로세서는,상기 성문 모델의 학습 진행 정도가 지정된 값 이상이거나 또는 상기 성문 모델의 학습이 완료된 경우, 상기 성문 모델을 이용한 상기 주변 잡음 중 잔여 에코 중 적어도 일부의 제거를 수행하도록 설정된 것을 특징으로 하는 폰북 기반의 성문 운용을 지원하는 전자 장치.
- 전자 장치의 폰북에 등록된 상대방 전자 장치의 식별 정보를 기반으로 통화 기능 활성화 요청에 대응하여 상대방 전자 장치와 통화 채널을 형성하는 동작;상기 상대방 전자 장치가 전송한 음성 데이터를 수신하는 동작;상기 음성 데이터의 신호 품질이 지정된 기준 값 이상으로 양호한 경우, 상기 음성 데이터를 기반으로 한 성문 모델 생성을 처리하는 동작;을 포함하고,상기 처리하는 동작은,상기 음성 데이터를 기반으로 생성된 성문 모델을 상기 상대방 전자 장치의 식별 정보에 연결하는 동작;상기 상대방 전자 장치의 식별 정보에 연결된 상기 성문 모델을 상기 폰북에 저장하는 동작;을 포함하는 것을 특징으로 하는 폰북 기반의 성문 운용 방법.
- 제11항에 있어서,상기 폰북 실행과 관련한 사용자 입력을 수신하는 동작;상기 사용자 입력에 대응하여 상기 폰북 실행 화면을 디스플레이에 출력하는 동작;을 더 포함하고,상기 출력하는 동작은,상기 폰북 실행 화면 중 상대방 전자 장치의 식별 정보를 표시하는 항목에, 상기 성문 모델의 학습 설정 여부 및 상기 성문 모델의 학습 진행 정도 중 적어도 하나를 표시하는 객체를 출력하는 동작;을 포함하는 것을 특징으로 하는 폰북 기반의 성문 운용 방법.
- 제12항에 있어서,상기 객체가 활성화된 상태인 경우, 상기 성문 모델의 학습을 진행하는 동작;상기 객체가 비활성화된 상태인 경우, 상기 성문 모델의 학습을 진행하지 않고 상기 통화 기능에 따른 상기 음성 데이터 처리를 수행하는 동작;을 더 포함하는 것을 특징으로 하는 폰북 기반의 성문 운용 방법.
- 제11항에 있어서,상기 생성된 성문 모델의 적어도 일부와 상기 폰북에 기 저장된 학습 중인 성문 모델의 적어도 일부와 비교하는 동작;상기 비교 결과 유사도가 기 설정된 기준 값 이상인 경우 상기 음성 데이터를 이용하여 상기 학습 중인 성문 모델의 학습을 진행하는 동작;상기 비교 결과 유사도가 기 설정된 기준 값 미만인 경우 상기 음성 데이터를 이용한 상기 상문 모델의 학습을 취소하거나 중지하는 동작;을 더 포함하는 것을 특징으로 하는 폰북 기반의 성문 운용 방법.
- 제11항에 있어서,상기 처리하는 동작은,상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 이상이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 미만인 경우, 상기 성문 모델 학습을 수행하고, 상기 음성 데이터의 신호 대 잡음 비율이 사전 정의된 일정 값 미만이거나 또는 상기 음성 데이터의 비트 에러율이 사전 정의된 일정 값 이상인 경우, 상기 성문 모델 학습을 중지 또는 취소하는 동작;을 포함하는 것을 특징으로 하는 폰북 기반의 성문 운용 방법.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2022-0154215 | 2022-11-17 | ||
| KR20220154215 | 2022-11-17 | ||
| KR10-2022-0185184 | 2022-12-27 | ||
| KR1020220185184A KR20240072874A (ko) | 2022-11-17 | 2022-12-27 | 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024106830A1 true WO2024106830A1 (ko) | 2024-05-23 |
Family
ID=91085111
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2023/017650 Ceased WO2024106830A1 (ko) | 2022-11-17 | 2023-11-06 | 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024106830A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20060069689A (ko) * | 2004-12-18 | 2006-06-22 | 주식회사 팬택앤큐리텔 | 이동 통신 단말기의 잡음 제거 장치 |
| JP2008244796A (ja) * | 2007-03-27 | 2008-10-09 | Ntt Docomo Inc | 音声認証システム |
| JP5262967B2 (ja) * | 2009-04-30 | 2013-08-14 | 日本電気株式会社 | 携帯端末、認証方法およびプログラム |
| KR20180034507A (ko) * | 2015-07-23 | 2018-04-04 | 알리바바 그룹 홀딩 리미티드 | 사용자 성문 모델을 구축하기 위한 방법, 장치 및 시스템 |
| JP2020129094A (ja) * | 2019-02-12 | 2020-08-27 | 日本電信電話株式会社 | 学習データ取得装置、モデル学習装置、それらの方法、およびプログラム |
-
2023
- 2023-11-06 WO PCT/KR2023/017650 patent/WO2024106830A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20060069689A (ko) * | 2004-12-18 | 2006-06-22 | 주식회사 팬택앤큐리텔 | 이동 통신 단말기의 잡음 제거 장치 |
| JP2008244796A (ja) * | 2007-03-27 | 2008-10-09 | Ntt Docomo Inc | 音声認証システム |
| JP5262967B2 (ja) * | 2009-04-30 | 2013-08-14 | 日本電気株式会社 | 携帯端末、認証方法およびプログラム |
| KR20180034507A (ko) * | 2015-07-23 | 2018-04-04 | 알리바바 그룹 홀딩 리미티드 | 사용자 성문 모델을 구축하기 위한 방법, 장치 및 시스템 |
| JP2020129094A (ja) * | 2019-02-12 | 2020-08-27 | 日本電信電話株式会社 | 学習データ取得装置、モデル学習装置、それらの方法、およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2022055068A1 (ko) | 음성에 포함된 커맨드를 확인하는 전자 장치와 이의 동작 방법 | |
| WO2022231135A1 (ko) | 오디오 신호를 출력하는 방법 및 이를 수행하는 전자 장치 | |
| WO2022030882A1 (ko) | 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법 | |
| WO2021201429A1 (ko) | 전자 장치 및 그의 오디오 출력을 제어하는 방법 | |
| WO2022055319A1 (en) | Electronic device for outputting sound and method for operating the same | |
| WO2021096281A1 (en) | Voice input processing method and electronic device supporting same | |
| WO2022197151A1 (ko) | 외부 소리를 듣기 위한 전자 장치 및 전자 장치의 동작 방법 | |
| WO2022030750A1 (ko) | 음성 데이터 처리 방법 및 이를 지원하는 전자 장치 | |
| WO2024106830A1 (ko) | 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 | |
| WO2022186471A1 (ko) | 그룹 통화 서비스를 제공하기 위한 방법 및 이를 지원하는 전자 장치 | |
| WO2022177186A1 (ko) | 스피커 및 마이크를 포함하는 전자 장치 및 그 동작 방법 | |
| WO2022186540A1 (ko) | 전자 장치 및 전자 장치에서 레코딩과 음성 입력을 처리하는 방법 | |
| WO2022030880A1 (ko) | 음성 신호를 처리하는 방법 및 이를 이용한 장치 | |
| WO2021221440A1 (ko) | 음질 향상 방법 및 그 장치 | |
| WO2022164023A1 (ko) | 오디오 데이터를 처리하는 방법 및 이를 지원하는 전자 장치 | |
| WO2026029471A1 (ko) | 통화 번역 서비스를 제공하는 방법 및 그 전자 장치 | |
| KR20240072874A (ko) | 폰북 기반의 성문 운용 방법 및 이를 지원하는 전자 장치 | |
| WO2025164905A1 (ko) | 음성 신호를 획득하기 위한 전자 장치 및 그의 동작 방법 | |
| WO2024117508A1 (ko) | 가상 공간을 제공하기 위한 전자 장치 및 방법 | |
| WO2024080745A1 (ko) | 발화 캐시에 기반하여 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치 | |
| WO2024215063A1 (ko) | 소리를 출력하는 제1전자 장치와 이를 제어하는 제2전자 장치, 및 상기 제1전자 장치의 동작 방법 | |
| WO2022186440A1 (ko) | 사용자 발화를 처리하기 위한 전자 장치 및 그 동작 방법 | |
| WO2022146033A1 (ko) | 전자 장치 및 전자 장치의 음성 입출력 제어 방법 | |
| WO2024014654A1 (ko) | 통화 녹음을 수행하기 위한 전자 장치 및 그의 동작 방법 | |
| WO2024014869A1 (ko) | 번역 처리 방법 및 전자 장치 |
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: 23891897 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: 23891897 Country of ref document: EP Kind code of ref document: A1 |