WO2020141643A1 - 음성 합성 서버 및 단말기 - Google Patents
음성 합성 서버 및 단말기 Download PDFInfo
- Publication number
- WO2020141643A1 WO2020141643A1 PCT/KR2019/000118 KR2019000118W WO2020141643A1 WO 2020141643 A1 WO2020141643 A1 WO 2020141643A1 KR 2019000118 W KR2019000118 W KR 2019000118W WO 2020141643 A1 WO2020141643 A1 WO 2020141643A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- terminal
- processor
- speech signal
- synthesized
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 29
- 238000004519 manufacturing process Methods 0.000 claims abstract description 25
- 230000015572 biosynthetic process Effects 0.000 claims description 48
- 238000003786 synthesis reaction Methods 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 44
- 239000002131 composite material Substances 0.000 claims description 10
- 238000001228 spectrum Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000003058 natural language processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 239000000284 extract Substances 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 9
- 238000007405 data analysis Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000007774 longterm Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- VIKNJXKGJWUCNN-XGXHKTLJSA-N norethisterone Chemical compound O=C1CC[C@@H]2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 VIKNJXKGJWUCNN-XGXHKTLJSA-N 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
-
- 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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Definitions
- the present invention relates to a speech synthesis server, and more particularly, to a speech synthesis server capable of encrypting a synthesized speech.
- the device is an artificial intelligence (AI) device that can issue commands via voice and chat.
- AI artificial intelligence
- the voice recognition service has a structure that selects the optimal answer to the user's question by utilizing a huge amount of database.
- the voice search function also converts the input voice data into text on the cloud server, analyzes it, and re-transmits the real-time search results according to the results.
- the cloud server has a computing ability capable of storing and processing in real-time a number of words divided into voice data classified by gender, age, and intonation.
- the present invention aims to solve the above and other problems.
- An object of the present invention is to provide a clean synthetic voice without background music or announcements.
- the voice synthesis server generates a wireless communication unit that receives text data and request manufacturing information from a terminal and a synthesized voice signal corresponding to the text data, and extracts frequency information from the synthesized voice signal. And, it may include a processor for generating an encrypted synthesized speech signal by inserting the requested information including the extracted frequency information and the requested manufacturing information into the synthesized speech signal.
- a terminal uses a secret key value to decrypt a wireless communication unit that receives an encrypted synthesized speech signal from a memory, a sound output unit, and a speech synthesis server, and decrypts the decrypted synthesized speech. It may include a processor for acquiring the signal and the decoded request information, comparing the decoded request information with the request information stored in the memory, and determining whether the decoded composite speech signal is forged according to the comparison result.
- the synthesized voice when it is determined that the synthetic voice is forged, the synthesized voice is not output, and an unintended synthetic voice is output, so that a stolen situation can be prevented.
- FIG. 1 is a block diagram illustrating a terminal related to the present invention.
- FIG. 2 is a view for explaining a voice system according to an embodiment of the present invention.
- FIG. 2 is a conceptual diagram illustrating another example of a deformable mobile terminal according to the present invention.
- FIG. 3 is a diagram illustrating a process of extracting a user's speech characteristic from a voice signal according to an embodiment of the present invention.
- FIG. 4 is a view for explaining an example of converting a voice signal into a power spectrum according to an embodiment of the present invention.
- FIG. 5 is a block diagram illustrating a configuration of a speech synthesis server according to an embodiment of the present invention.
- FIG. 6 is a ladder diagram for explaining a synthetic voice encryption method of a synthetic voice encryption system according to an embodiment of the present invention.
- FIG. 7 is a diagram illustrating a process of converting text data into a synthesized speech signal according to an embodiment of the present invention.
- FIG. 8 is a diagram illustrating a process of selecting one or more encryption target sections from a synthesized speech signal.
- FIG. 9 is a diagram illustrating a process of extracting frequency information of each of the selected one or more encryption target sections.
- 10 to 12 are diagrams for explaining a process of generating an encrypted synthetic speech signal according to an embodiment of the present invention.
- FIG. 13 is a diagram illustrating a decoding table according to an embodiment of the present invention.
- the terminals described herein include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, and slate PCs. It may include a tablet PC (tablet PC), ultrabook (ultrabook), wearable device (wearable device, for example, a watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display), etc. .
- PDAs personal digital assistants
- PMPs portable multimedia players
- slate PCs slate PC
- It may include a tablet PC (tablet PC), ultrabook (ultrabook), wearable device (wearable device, for example, a watch-type terminal (smartwatch), glass-type terminal (smart glass), HMD (head mounted display), etc.
- the terminal 100 may also be applied to a fixed terminal such as a smart TV, a desktop computer, and a digital signage.
- the terminal 100 may be applied to a fixed or movable robot.
- the terminal 100 may perform the function of a voice agent.
- the voice agent may be a program that recognizes a user's voice and outputs a response suitable for the recognized user's voice as a voice.
- the terminal 100 includes a wireless communication unit 110, an input unit 120, a running processor 130, a sensing unit 140, an output unit 150, an interface unit 160, a memory 170, a processor 180, and It may include a power supply 190.
- the wireless communication unit 110 may include at least one of a broadcast receiving module 111, a mobile communication module 112, a wireless Internet module 113, a short-range communication module 114, and a location information module 115.
- the broadcast receiving module 111 receives a broadcast signal and/or broadcast related information from an external broadcast management server through a broadcast channel.
- the mobile communication module 112 includes technical standards or communication methods for mobile communication (eg, Global System for Mobile Communication (GSM), Code Division Multi Access (CDMA), Code Division Multi Access 2000 (CDMA2000), EV -Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (DO), Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced) transmits and receives wireless signals to and from at least one of a base station, an external terminal, and a server on a mobile communication network constructed according to (Long Term Evolution-Advanced).
- GSM Global System for Mobile Communication
- CDMA Code Division Multi Access
- CDMA2000 Code Division Multi Access 2000
- WCDMA Wideband CDMA
- HSDPA High Speed Downlink Packet Access
- HSUPA High Speed Uplink Packet Access
- the wireless Internet module 113 refers to a module for wireless Internet access, and may be built in or external to the terminal 100.
- the wireless Internet module 113 is configured to transmit and receive wireless signals in a communication network according to wireless Internet technologies.
- Wireless Internet technologies include, for example, WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World) Interoperability for Microwave Access (HSDPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), and Long Term Evolution-Advanced (LTE-A).
- WLAN Wireless LAN
- Wi-Fi Wireless-Fidelity
- Wi-Fi Wireless Fidelity
- Direct Wireless Internet technologies
- DLNA Digital Living Network Alliance
- WiBro Wireless Broadband
- WiMAX Worldwide Interoperability for Microwave Access
- HSDPA High Speed Downlink Packet Access
- HSUPA High Speed Uplink Packet Access
- LTE Long Term Evolution
- LTE-A Long Term Evolution-Advanced
- the short-range communication module 114 is for short-range communication, BluetoothTM, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, Wireless USB (Wireless Universal Serial Bus) using at least one of the technology, it can support short-range communication.
- RFID Radio Frequency Identification
- IrDA Infrared Data Association
- UWB Ultra Wideband
- ZigBee ZigBee
- NFC Near Field Communication
- Wi-Fi Wireless-Fidelity
- Wi-Fi Direct Wireless USB (Wireless Universal Serial Bus) using at least one of the technology, it can support short-range communication.
- the location information module 115 is a module for acquiring a location (or current location) of a mobile terminal, and typical examples thereof include a Global Positioning System (GPS) module or a Wireless Fidelity (WiFi) module.
- GPS Global Positioning System
- WiFi Wireless Fidelity
- the terminal utilizes a GPS module, the location of the mobile terminal can be acquired using a signal sent from a GPS satellite.
- the input unit 120 may include a camera 121 for inputting a video signal, a microphone 122 for receiving an audio signal, and a user input unit 123 for receiving information from a user.
- the voice data or image data collected by the input unit 120 may be analyzed and processed by a user's control command.
- the input unit 120 is for input of image information (or signals), audio information (or signals), data, or information input from a user.
- the terminal 100 includes one or more cameras It may be provided with (121).
- the camera 121 processes image frames such as still images or moving pictures obtained by an image sensor in a video call mode or a shooting mode.
- the processed image frame may be displayed on the display unit 151 or stored in the memory 170.
- the microphone 122 processes external sound signals as electrical voice data.
- the processed voice data may be used in various ways according to a function (or a running application program) being performed by the terminal 100. Meanwhile, various noise reduction algorithms for removing noise generated in the process of receiving an external sound signal may be implemented in the microphone 122.
- the user input unit 123 is for receiving information from a user. When information is input through the user input unit 123,
- the processor 180 may control the operation of the terminal 100 to correspond to the inputted information.
- the user input unit 123 is a mechanical input means (or a mechanical key, for example, a button located on the front/rear or side of the terminal 100, a dome switch, a jog wheel, a jog switch, etc. ) And a touch-type input means.
- the touch-type input means is made of a virtual key, a soft key or a visual key displayed on the touch screen through software processing, or a part other than the touch screen It may be made of a touch key (touch key) disposed on.
- the learning processor 130 may be configured to receive, classify, store, and output information to be used for data mining, data analysis, intelligent decision making, and machine learning algorithms and techniques.
- the learning processor 130 may be received, detected, detected, generated, predefined, or otherwise output by the terminal or communicated with other components, devices, terminals, or terminals in a received, detected, detected, generated, predefined, or otherwise manner It may include one or more memory units configured to store data output by the device.
- the learning processor 130 may include a memory integrated or implemented in a terminal. In some embodiments, the learning processor 130 may be implemented using the memory 170.
- the learning processor 130 may be implemented using memory associated with the terminal, such as external memory coupled directly to the terminal or memory maintained in a server communicating with the terminal.
- the learning processor 130 may be implemented using memory maintained in a cloud computing environment, or other remote memory location accessible by a terminal through a communication method such as a network.
- the learning processor 130 typically includes one or more databases for identifying, indexing, categorizing, manipulating, storing, retrieving, and outputting data for use in supervised or unsupervised learning, data mining, predictive analytics, or other machines. It can be configured to store on.
- the information stored in the learning processor 130 can be utilized by one or more other controllers of the processor 180 or terminal using any of a variety of different types of data analysis algorithms and machine learning algorithms.
- fuzzy logic e.g probability theory
- neural networks Boltzmann machines, vector quantization, pulse neural networks, support vector machines, maximum margin classifier, hill climbing, inductive logic system Bayesian network , Peritnet (e.g. finite state machine, milli machine, Moore finite state machine), classifier tree (e.g. perceptron tree, support vector tree, Markov tree, decision tree forest, random forest), stake models and systems, artificial Convergence, sensor fusion, image fusion, reinforcement learning, augmented reality, pattern recognition, automated planning, and more.
- fuzzy logic eg probability theory
- neural networks Boltzmann machines, vector quantization, pulse neural networks, support vector machines, maximum margin classifier, hill climbing, inductive logic system Bayesian network , Peritnet (e.g. finite state machine, milli machine, Moore finite state machine), classifier tree (e.g. perceptron tree, support vector tree, Markov tree, decision tree forest, random forest), stake models and systems, artificial Convergence, sensor fusion, image fusion
- the processor 180 may determine or predict at least one executable action of the terminal based on the generated information, or determined using data analysis and machine learning algorithms. To this end, the processor 180 may request, search, receive, or utilize data of the learning processor 130, and may use the terminal to perform a predicted operation or an operation determined to be preferable among the at least one executable operation. Can be controlled.
- the processor 180 may perform various functions for implementing intelligent emulation (ie, a knowledge-based system, a reasoning system, and a knowledge acquisition system). It can be applied to various types of systems (eg, fuzzy logic systems), including adaptive systems, machine learning systems, artificial neural networks, and the like.
- intelligent emulation ie, a knowledge-based system, a reasoning system, and a knowledge acquisition system. It can be applied to various types of systems (eg, fuzzy logic systems), including adaptive systems, machine learning systems, artificial neural networks, and the like.
- the processor 180 also involves speech and natural language speech processing, such as an I/O processing module, an environmental condition module, a speech-to-text (STT) processing module, a natural language processing module, a work flow processing module, and a service processing module. It may include sub-modules that enable calculation.
- speech and natural language speech processing such as an I/O processing module, an environmental condition module, a speech-to-text (STT) processing module, a natural language processing module, a work flow processing module, and a service processing module. It may include sub-modules that enable calculation.
- Each of these sub-modules can have access to one or more systems or data and models at the terminal, or a subset or superset thereof.
- each of these sub-modules can provide various functions, including vocabulary index, user data, work flow model, service model, and automatic speech recognition (ASR) system.
- ASR automatic speech recognition
- processor 180 or terminal may be implemented with the submodules, systems, or data and models.
- the processor 180 may be configured to detect and detect requirements based on the user's intention or contextual conditions expressed in user input or natural language input.
- the processor 180 may actively derive and acquire information necessary to completely determine a requirement based on a context condition or a user's intention. For example, the processor 180 may actively derive information necessary to determine a requirement by analyzing historical data including historical input and output, pattern matching, unambiguous words, and input intention.
- the processor 180 may determine a task flow for executing a function that responds to a requirement based on a context condition or a user's intention.
- the processor 180 collects, detects, extracts, and detects signals or data used in data analysis and machine learning operations through one or more sensing components in the terminal, in order to collect information for processing and storage in the learning processor 130 And/or receive.
- Collecting information may include sensing information through a sensor, extracting information stored in the memory 170, or receiving information from another terminal, entity, or external storage device through communication means.
- the processor 180 may collect and store usage history information in the terminal.
- the processor 180 may use the stored usage history information and predictive modeling to determine the best match for executing a specific function.
- the processor 180 may receive or sense surrounding environment information or other information through the sensing unit 140.
- the processor 180 may receive a broadcast signal and/or broadcast-related information, a radio signal, and radio data through the radio communication unit 110.
- the processor 180 may receive image information (or a corresponding signal), audio information (or a corresponding signal), data, or user input information from the input unit 120.
- the processor 180 collects information in real time, processes or classifies information (for example, a knowledge graph, command policy, personalization database, conversation engine, etc.), and processes the processed information in the memory 170 or the learning processor 130 ).
- information for example, a knowledge graph, command policy, personalization database, conversation engine, etc.
- the processor 180 can control the components of the terminal to perform the determined operation. In addition, the processor 180 may perform the determined operation by controlling the terminal according to the control command.
- the processor 180 analyzes historical information indicating execution of a specific operation through data analysis and machine learning algorithms and techniques, and performs updating of previously learned information based on the analyzed information. Can.
- the processor 180 may improve the accuracy of future performance of data analysis and machine learning algorithms and techniques based on the updated information along with the learning processor 130.
- the sensing unit 140 may include one or more sensors for sensing at least one of information in the mobile terminal, surrounding environment information surrounding the mobile terminal, and user information.
- the sensing unit 140 includes a proximity sensor 141, an illumination sensor 142, a touch sensor, an acceleration sensor, a magnetic sensor, and gravity G-sensor, gyroscope sensor, motion sensor, RGB sensor, infrared sensor (IR sensor), fingerprint scan sensor, ultrasonic sensor , Optical sensor (e.g., camera (see 121)), microphone (refer to 122), battery gauge, environmental sensor (e.g. barometer, hygrometer, thermometer, radioactivity sensor, Thermal sensor, gas sensor, etc.), and a chemical sensor (eg, an electronic nose, a health care sensor, a biometric sensor, etc.).
- the mobile terminal disclosed in the present specification may combine and use information sensed by at least two or more of these sensors.
- the output unit 150 is for generating output related to vision, hearing, or tactile sense, and includes at least one of a display unit 151, an audio output unit 152, a hap tip module 153, and an optical output unit 154 can do.
- the display unit 151 displays (outputs) information processed by the terminal 100.
- the display unit 151 may display execution screen information of an application program driven by the terminal 100, or UI (User Interface) or GUI (Graphic User Interface) information according to the execution screen information.
- UI User Interface
- GUI Graphic User Interface
- the display unit 151 may form a mutual layer structure with the touch sensor or may be integrally formed, thereby realizing a touch screen.
- the touch screen may function as a user input unit 123 that provides an input interface between the terminal 100 and the user, and at the same time, provide an output interface between the terminal 100 and the user.
- the audio output unit 152 may output audio data received from the wireless communication unit 110 or stored in the memory 170 in a call signal reception, call mode or recording mode, voice recognition mode, broadcast reception mode, or the like.
- the audio output unit 152 may include at least one of a receiver, a speaker, and a buzzer.
- the haptic module 153 generates various tactile effects that the user can feel.
- a typical example of the tactile effect generated by the haptic module 153 may be vibration.
- the light output unit 154 outputs a signal for notifying the occurrence of an event using the light of the light source of the terminal 100.
- Examples of events generated in the terminal 100 may include receiving messages, receiving call signals, missed calls, alarms, schedule notifications, receiving emails, and receiving information through applications.
- the interface unit 160 serves as a passage with various types of external devices connected to the terminal 100.
- the interface unit 160 connects a device equipped with a wired/wireless headset port, an external charger port, a wired/wireless data port, a memory card port, and an identification module. It may include at least one of a port, an audio input/output (I/O) port, a video input/output (I/O) port, and an earphone port.
- I/O audio input/output
- I/O video input/output
- earphone port an earphone port
- the identification module is a chip that stores various information for authenticating the usage rights of the terminal 100, a user identification module (UIM), a subscriber identity module (SIM), and a universal user authentication module (universal subscriber identity module; USIM).
- the device provided with the identification module (hereinafter referred to as an'identification device') may be manufactured in a smart card format. Accordingly, the identification device may be connected to the terminal 100 through the interface unit 160.
- the memory 170 stores data supporting various functions of the terminal 100.
- the memory 170 is a plurality of application programs (application programs or applications) running in the terminal 100, data for the operation of the terminal 100, instructions, data for the operation of the running processor 130 Fields (eg, at least one algorithm information for machine learning, etc.).
- the processor 180 controls the overall operation of the terminal 100 in addition to the operations related to the application program.
- the processor 180 may provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output through the above-described components or by driving an application program stored in the memory 170.
- the processor 180 may control at least some of the components discussed with reference to FIG. 1 in order to drive an application program stored in the memory 170. Furthermore, the processor 180 may operate by combining at least two or more of the components included in the terminal 100 for driving the application program.
- the power supply unit 190 receives external power and internal power to supply power to each component included in the terminal 100.
- the power supply unit 190 includes a battery, and the battery may be a built-in battery or a replaceable battery.
- the processor 180 controls the operation related to the application program and generally the overall operation of the terminal 100. For example, when the state of the mobile terminal satisfies a set condition, the processor 180 may execute or release a lock state that restricts input of a user's control command to applications.
- FIG. 2 is a view for explaining a voice system according to an embodiment of the present invention.
- the speech system 1 includes a terminal 100, a speech to text (STT) server 10, a natural language processing (NLP) server 20, and a speech synthesis server ( 30).
- STT speech to text
- NLP natural language processing
- 30 speech synthesis server
- the terminal 100 may transmit voice data to the STT server 10.
- the STT server 10 may convert voice data received from the terminal 100 into text data.
- the STT server 10 may increase the accuracy of speech-to-text conversion using a language model.
- the language model may refer to a model capable of calculating a probability of a sentence or calculating a probability that the next word will appear when given previous words.
- the language model may include probabilistic language models such as a Unigram model, a Bigram model, an N-gram model, and the like.
- the unigram model is a model that assumes that the use of all words is completely independent of each other. It is a model that calculates the probability of a word sequence as the product of the probability of each word.
- the bigram model assumes that the use of words depends only on the previous one word.
- the N-gram model is a model that assumes the use of words depends on the previous (n-1) words.
- the STT server 10 may use a language model to determine whether text data converted from speech data is appropriately converted, thereby improving accuracy of conversion to text data.
- the NLP server 20 may receive text data from the STT server 10.
- the NLP server 20 may perform intention analysis on the text data based on the received text data.
- the NLP server 20 may transmit the intention analysis information indicating the result of performing the intention analysis to the terminal 100.
- the NLP server 20 may generate intention analysis information by sequentially performing a morpheme analysis step, a syntax analysis step, a speech act analysis step, and a conversation processing step on text data.
- the morpheme analysis step is a step of classifying text data corresponding to a voice spoken by a user into morpheme units, which are the smallest units having meaning, and determining what part of speech each morpheme has.
- the parsing step is a step of classifying text data into noun phrases, verb phrases, adjective phrases, and the like, using the results of the morphological analysis step, and determining what relationship exists between the divided phrases.
- the subject, object, and modifiers of the voice spoken by the user may be determined.
- the speech act analysis step is a step of analyzing an intention of a voice spoken by a user using the result of the syntax analysis step.
- the dialogue act analysis step is a step of determining the intention of a sentence such as whether the user asks a question, makes a request, or expresses a simple emotion.
- the conversation processing step is a step of determining whether to answer or respond to the user's speech or to ask a question inquiring additional information using the result of the dialogue act analysis step.
- the NLP server 20 may generate intention analysis information including one or more of an answer to a user's intention, a response, and an inquiry for additional information.
- the NLP server 20 may receive text data from the terminal 100.
- the terminal 100 may convert voice data into text data and transmit the converted text data to the NLP server 20.
- the voice synthesis server 30 may combine pre-stored voice data to generate synthesized voice.
- the voice synthesis server 30 may record a person's voice selected as a model and divide the recorded voice into syllables or words.
- the speech synthesis server 30 may store the divided speech in a syllable or word unit in an internal or external database.
- the speech synthesis server 30 may search for syllables or words corresponding to given text data from a database and synthesize the searched syllables or word combinations to generate a synthesized speech.
- the speech synthesis server 30 may store a plurality of speech language groups corresponding to each of the plurality of languages.
- the voice synthesis server 30 may include a first voice language group recorded in Korean and a second voice language group recorded in English.
- the speech synthesis server 30 may translate text data of the first language into text of the second language, and generate a synthesized speech corresponding to the translated text of the second language using the second speech language group.
- the voice synthesis server 30 may transmit the generated synthesized voice to the terminal 100.
- the speech synthesis server 30 may receive intention analysis information from the NLP server 20.
- the voice synthesis server 30 may generate a synthesized voice reflecting the user's intention based on the intention analysis information.
- the STT server 10, the NLP server 20 and the speech synthesis server 30 may be implemented as one server.
- each of the STT server 10, the NLP server 20, and the speech synthesis server 30 described above may also be performed in the terminal 100.
- the terminal 100 may include a plurality of processors.
- FIG. 3 is a diagram illustrating a process of extracting a user's speech characteristic from a voice signal according to an embodiment of the present invention.
- the terminal 100 illustrated in FIG. 1 may further include an audio processor 181.
- the audio processor 181 may be implemented as a separate chip from the processor 180 or may be implemented as a chip included in the processor 180.
- the audio processor 181 may remove noise from a voice signal.
- the audio processor 181 may convert a voice signal into text data. To this end, the audio processor 181 may include an STT engine.
- the audio processor 181 may recognize a trigger word for activating speech recognition of the terminal 100.
- the audio processor 181 converts the start word received through the microphone 121 into text data, and when the converted text data is text data corresponding to the pre-stored start word, it may be determined that the start word is recognized. .
- the audio processor 181 may convert a voice signal from which noise has been removed into a power spectrum.
- the power spectrum may be a parameter indicating which frequency components are included in what size in a waveform of a time-varying voice signal.
- the power spectrum shows the distribution of squared amplitude values according to the frequency of the waveform of the speech signal.
- FIG. 4 is a view for explaining an example of converting a voice signal into a power spectrum according to an embodiment of the present invention.
- the voice signal 410 may be a signal received through the microphone 121 or a signal previously stored in the memory 170.
- the x-axis of the audio signal 410 is time, and the y-axis may indicate amplitude.
- the audio processor 181 may convert the audio signal 410 whose x-axis is a time axis to the power spectrum 430 whose x-axis is a frequency axis.
- the audio processor 181 may convert the voice signal 410 into a power spectrum 430 using a Fast Fourier Transform (FFT).
- FFT Fast Fourier Transform
- the x-axis of the power spectrum 430 represents the frequency, and the y-axis represents the squared value of the amplitude.
- the processor 180 may determine a user's speech characteristic using one or more of the text data or the power spectrum 430 transmitted from the audio processor 181.
- the user's speech characteristics may include the user's gender, the user's pitch, the user's voice, the user's speech topic, the user's speech rate, and the user's speech volume.
- the processor 180 may acquire the frequency and the amplitude corresponding to the frequency of the voice signal 410 using the power spectrum 430.
- the processor 180 may determine the gender of the user who utters the voice using the frequency band of the power spectrum 430.
- the processor 180 may determine the gender of the user as a man.
- the processor 180 may determine the user's gender as an excitation.
- the second frequency band range may be larger than the first frequency band range.
- the processor 180 may determine the height of the voice using the frequency band of the power spectrum 430.
- the processor 180 may determine the pitch of the sound according to the magnitude of the amplitude within a specific frequency band range.
- the processor 180 may determine a user's tone using the frequency band of the power spectrum 430. For example, the processor 180 may determine, among the frequency bands of the power spectrum 430, a frequency band having a magnitude greater than or equal to a predetermined amplitude as a user's main range, and determine the determined main range as a user's tone.
- the processor 180 may determine a user's speech rate from the converted text data, through the number of syllables per unit time.
- the processor 180 may determine a user's speech topic for the converted text data using a Bag-Of-Word Model technique.
- the Bag-Of-Word Model technique is a technique for extracting frequently used words based on the frequency of words in a sentence.
- the Bag-Of-Word Model technique is a technique for extracting a unique word in a sentence and expressing the frequency of each extracted word as a vector to determine a characteristic of a speech topic.
- the processor 180 may classify a user's speech topic as exercise.
- the processor 180 may determine a user's speech topic from text data using a known text categorization technique.
- the processor 180 may extract keywords from text data to determine a user's speech topic.
- the processor 180 may determine the user's performance in consideration of the amplitude information in the entire frequency band.
- the processor 180 may determine the user's performance based on the average or weighted average of the amplitudes in each frequency band of the power spectrum.
- the functions of the audio processor 181 and the processor 180 described in FIGS. 3 and 4 may be performed on any one of the NLP server 20 and the speech synthesis server 30.
- the NLP server 20 may extract a power spectrum using a voice signal, and use the extracted power spectrum to determine a user's speech characteristic.
- FIG. 5 is a block diagram illustrating a configuration of a speech synthesis server according to an embodiment of the present invention.
- the speech synthesis server 30 may include a wireless communication unit 31, a database 33 and a processor 39.
- the wireless communication unit 31 may perform wireless communication with the wireless communication unit 110 of the mobile terminal 100.
- the wireless communication unit 31 may include components of the wireless communication unit 110 of the mobile terminal 100.
- the wireless communication unit 31 may receive text data and requested manufacturing information from the terminal 100.
- the database 33 may store voice data for a specific speaker used to generate a synthesized voice.
- the database 33 may store an encryption table used to encrypt the synthesized speech.
- the processor 39 may generate a synthesized voice signal corresponding to text data received from the terminal 100.
- the processor 39 may select one or more encryption target sections from the generated synthesized speech signal.
- the processor 39 may extract frequency information of each of the selected one or more encryption target sections.
- the processor 39 may insert the extracted frequency information and request manufacturing information into a corresponding encryption target section to generate an encrypted synthesized voice signal.
- the processor 39 may transmit the generated encrypted synthesized voice signal to the terminal 100 through the wireless communication unit 31.
- FIG. 6 is a ladder diagram for explaining a synthetic voice encryption method of a synthetic voice encryption system according to an embodiment of the present invention.
- the wireless communication unit 31 of the speech synthesis server 30 receives text data and request manufacturing information from the terminal 100 (S601).
- the text data may be data that is the basis for generating synthesized speech.
- Request manufacturing information may be information used to encrypt the synthetic voice.
- Request manufacturing information may include one or more of a request time and a device identifier.
- the request time may be a time point when the terminal 100 transmits text data to the speech synthesis server 30.
- the request time may be used later to determine whether the time point for requesting the encryption of the synthesized voice is correct.
- the device identifier may include an identifier for identifying the terminal 100 that has transmitted text data.
- the device identifier may include a model name of the terminal 100, a unique number, and the like.
- the device identifier may be used to determine whether the device that encrypted the synthesized speech is correct.
- the processor 39 of the speech synthesis server 30 generates a synthesized speech signal corresponding to the received text data (S603).
- the processor 39 may extract phonemes constituting text data.
- the processor 39 may acquire voice signals corresponding to the extracted phonemes from the database 33, synthesize the obtained voice signals, and generate a synthesized voice signal.
- the processor 39 of the voice synthesis server 30 selects one or more encryption target sections from the generated synthesized voice signal (S605).
- the processor 39 may randomly select one or more encryption target sections from the generated synthesized speech signal.
- the load for decoding the synthesized voice signal in the terminal 100 may be reduced in the future.
- the processor 39 may select the entire synthesized speech signal as an encryption target.
- the processor 39 of the speech synthesis server 30 extracts frequency information of each of the selected one or more encryption target sections (S607).
- the frequency information may include a frequency band and a square value of the amplitude of a signal corresponding to the frequency band.
- processor 39 may convert the synthesized speech signal into a power spectrum.
- the processor 39 may obtain a partial power spectrum corresponding to the selected one or more encryption target sections from the converted power spectrum.
- the processor 39 may extract a size corresponding to a specific Hz or a specific Hz band from the obtained partial power spectrum.
- FIG. 7 is a diagram illustrating a process of converting text data into a synthesized speech signal according to an embodiment of the present invention
- FIG. 8 is a diagram illustrating a process of selecting one or more encryption target sections from the synthesized speech signal
- the processor 39 of the speech synthesis server 30 may convert text data received from the terminal 100 into a synthesis speech signal 700.
- the synthesized speech signal 700 shows the change in the magnitude of the signal over time.
- the processor 39 may generate a synthesized voice signal 700 with the tone of a specific speaker.
- the processor 39 may generate a synthesized voice signal 700 by extracting voice signals corresponding to a specific speaker from the database 33 storing voice signals corresponding to each of a plurality of speakers.
- the processor 39 may select four encryption sections 710 to 740 from the synthesized voice signal 700.
- the processor 39 may randomly select a section to be encrypted and the number of sections to be encrypted from the synthesized speech signal 700.
- the processor 39 may convert each of the selected encryption target sections 710 to 740 into partial power spectra 910 to 940.
- the processor 39 may acquire frequency information of each encryption target section from each of the partial power spectrums 910 to 940.
- the frequency information may include a frequency band and a square value of amplitude corresponding to the frequency band.
- the processor 39 of the speech synthesis server 30 inserts the extracted frequency information and the requested manufacturing information into the corresponding encryption target section to generate an encrypted synthesis speech signal (S609).
- the processor 39 may encrypt frequency information and request manufacturing information corresponding to each of the one or more encryption target sections, and insert them into each of the corresponding encryption target sections.
- the processor 39 may generate an encrypted synthesized speech signal using an asymmetric encryption method.
- the non-symmetric encryption method is a method of encrypting request information including frequency information and request manufacturing information using a public key, and decrypting the request information using a secret key corresponding to the public key.
- 10 to 12 are diagrams for explaining a process of generating an encrypted synthetic speech signal according to an embodiment of the present invention.
- FIG. 10 is a flowchart illustrating a method for generating an encrypted synthesized voice signal according to an embodiment of the present invention.
- the processor 39 of the speech synthesis server 30 converts request information including frequency information and request manufacturing information into a public key value using an encryption table (S1010).
- the encryption table may be a table that stores correspondence between characters mapped to one letter.
- the frequency information and the requested manufacturing information are text, and one character can be mapped to each letter constituting the text.
- the processor 39 may convert the request information into a public key value using an encryption table.
- the first request information corresponding to the first encryption section 710 is converted into a first public key value
- the second encryption section 720 is The second request information corresponding to is converted into a second public key value
- the third request information corresponding to the third encryption key 730 is converted into a third public key value, and corresponds to the fourth encryption key 740.
- the fourth request information may be converted into a fourth public key value.
- Processor 39 is converted Public key value It is inserted into the corresponding encryption target section (S1030).
- the processor 39 may convert each public key value into a public key signal, and insert the converted public key signal into a corresponding encryption section.
- the processor 39 generates an encrypted composite speech signal including encrypted sections and non-encrypted sections according to the insertion result (S1050).
- the processor 39 may generate a first encryption period 1210 by inserting a first public key value into the first encryption target period 710.
- the processor 39 may insert the second public key value into the second encryption target section 720 to generate the second encryption section 1220, and third disclosure to the third encryption target section 730.
- a third encryption period 1230 may be generated, and a fourth public key value may be inserted into the fourth encryption target period 740 to generate a fourth encryption period 1240.
- the processor 39 may generate an encrypted composite speech signal 1200 including a plurality of encryption sections 1210 to 1240 and unencrypted sections.
- the wireless communication unit 31 of the speech synthesis server 30 transmits the generated encrypted synthesis speech signal to the terminal 100 (S611).
- the processor 180 of the terminal 100 extracts one or more encryption sections included in the encrypted synthesis speech signal from the speech synthesis server 30 (S613).
- Each of the one or more encryption sections included in the encrypted composite speech signal may include a public key value.
- the processor 180 recognizes the public key value included in each encryption section, and extracts the encryption sections from the encrypted synthesis speech signal.
- the processor 180 of the terminal 100 uses the decryption table to extract one or more encryption sections From each , Obtain decryption request information (S615).
- the decryption table may be a table including a correspondence relationship between a public key value and a corresponding secret key value.
- the processor 180 may decrypt each encryption section using a decryption table.
- the processor 180 may decrypt each encryption section using a secret key value matching the public key value.
- the decrypted request information including the request manufacturing information and the frequency information and the encryption target section may be separated.
- the processor 180 may obtain a decoded synthesized speech signal and decoded request information according to decoding.
- FIG. 13 is a diagram illustrating a decoding table according to an embodiment of the present invention.
- a decryption table 1300 in which public key values and secret key values are mapped to each other is illustrated.
- the processor 180 may decrypt each encryption period by using a public key value of each of the one or more encryption periods and a secret key value corresponding thereto.
- a first secret key value may be mapped to the first public key value.
- the processor 180 may extract a first public key value corresponding to the first encryption period, and obtain a first secret key value corresponding to the first public key value from the decryption table 1300.
- the processor 180 may decrypt each encryption section using the first secret key value.
- the processor 180 of the terminal 100 determines whether the obtained decryption request information and request information previously stored in the memory 170 are the same (S617).
- the processor 180 may determine whether the decrypted request information for each encryption section is the same as the previously stored request information.
- the processor 180 may determine whether the request time that the terminal 100 included in the previously stored request information transmits text data to the synthesized voice server 30 is the same as the decoded request time.
- the processor 180 may determine whether the identifier of the terminal 100 included in the previously stored request information and the decoded identifier are the same.
- the processor 180 may determine whether the frequency information included in the previously stored request information and the decoded frequency information are the same.
- the processor 180 of the terminal 100 When the decrypted request information and the previously stored request information for each encryption section are the same, the processor 180 of the terminal 100 outputs the decoded synthesized speech signal through the sound output unit 152 (S619).
- the processor 180 may determine that the synthesized voice is not forged. That is, it can be determined that authentication of the synthesized speech was successful.
- the processor 180 may output the encrypted synthesized voice signal through the sound output unit 152. At the same time, the processor 180 may output a notification indicating that authentication of the synthesized voice signal is successful through the display unit 151 or the sound output unit 152.
- the processor 180 of the terminal 100 does not have the same decrypted request information and previously stored request information for any one of the plurality of encryption periods. If not , The authentication failure notification indicating that authentication of the synthesized speech has failed is output through the sound output unit 152 (S621).
- the processor 180 may not output the synthesized voice when the decrypted request information and the previously stored request information for any one of the plurality of encryption periods are not the same.
- the processor 180 may determine that the synthesized voice is forged.
- the processor 180 may determine that the synthesized voice is forged if the request manufacturing information decrypted for one of the plurality of encryption intervals does not match the previously stored request manufacturing information.
- the processor 180 may determine that the synthesized speech is forged if the decrypted request time for any one of the plurality of encryption sections does not match the previously stored request time.
- the terminal 100 When it is determined that the synthesized voice is forged, the terminal 100 does not output the synthesized voice, and an unintended synthesized voice is output, so that a stolen situation can be prevented.
- steps S603 to S609 of FIG. 6 may be performed by the processor 180 of the terminal 100.
- steps S601 and S603 can be omitted.
- the above-described present invention can be embodied as computer readable codes on a medium on which a program is recorded.
- the computer-readable medium includes all types of recording devices in which data that can be read by a computer system are stored. Examples of computer-readable media include a hard disk drive (HDD), solid state disk (SSD), silicon disk drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. There is this.
- the computer may include a processor 180 of the terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명의 일 실시 예에 따른 음성 합성 서버는 단말기로부터 텍스트 데이터 및 요청 제조 정보를 수신하는 무선 통신부 및 상기 텍스트 데이터에 대응하는 합성 음성 신호를 생성하고, 생성된 합성 음성 신호로부터, 주파수 정보를 추출하고, 추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 요청 정보를 상기 합성 음성 신호에 삽입하여, 암호화 합성 음성 신호를 생성하는 프로세서를 포함할 수 있다.
Description
본 발명은 음성 합성 서버에 관한 것으로, 보다 상세하게는 합성 음성을 암호화할 수 있는 음성 합성 서버에 관한 것이다.
스마트폰에 시작된 음성인식 기술 경쟁은 사물인터넷(IoT)의 본격 확산과 맞물려 이제 집 안에서 본격적으로 불붙을 전망이다.
특히, 주목할 만 한 점은 그 기기가 음성을 매개로 명령을 내리고, 대화를 나눌 수도 있는 인공지능(AI) 기기라는 점이다.
음성인식 서비스는 막대한 양의 데이터베이스를 활용하여, 사용자의 질문에 최적 답변을 선택하는 구조를 갖고 있다.
음성검색 기능 역시 입력된 음성데이터를 클라우드 서버에서 텍스트로 변환하여 분석하고, 그 결과에 따른 실시간 검색결과를 기기로 재전송하는 방식이다.
클라우드 서버는 수많은 단어들을 성별, 연령별, 억양별로 구분된 음성 데이터로 구분하여, 저장하고 실시간으로 처리할 수 있는 컴퓨팅 능력을 보유하고 있다.
음성 인식은 더 많은 음성데이터가 축적될수록, 인간과 동등한(Human parity) 수준 정도로, 정확해 질 것이다.
또한, 최근에는 특정 화자의 목소리로 합성된 합성 음성 인식 서비스를 제공하고 있다.
그러나, 합성 음성 기술이 상업화 수준으로 발달함에 따라 합성 음성을 도용하거나, 사칭하는 등 악용하는 사례가 늘고 있다.
기존에는 이러한, 합성 음성의 악용을 방지하기 위해, 합성 음성에 배경 음악을 넣거나, 합성 음성의 출력 전, 안내 멘트를 넣었다.
그러나, 이러한 방식은 합성 음성의 출력에 방해가 되어, 깨끗한 합성 음성이 제공되지 못하는 문제가 있었다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 발명은 배경 음악 또는 안내 멘트 없는, 깨끗한 합성 음성을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 암호화된 정보를 합성 음성에 내재화하여, 합성 음성의 인증을 통해 합성 음성을 악용하는 것을 방지할 수 있도록 하는 것을 그 목적으로 한다.
본 발명의 일 실시 예에 따른 음성 합성 서버는 단말기로부터 텍스트 데이터 및 요청 제조 정보를 수신하는 무선 통신부 및 상기 텍스트 데이터에 대응하는 합성 음성 신호를 생성하고, 생성된 합성 음성 신호로부터, 주파수 정보를 추출하고, 추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 요청 정보를 상기 합성 음성 신호에 삽입하여, 암호화 합성 음성 신호를 생성하는 프로세서를 포함할 수 있다.
본 발명의 일 실시 예에 따른 단말기는 메모리와 음향 출력부와 음성 합성 서버로부터 암호화 합성 음성 신호를 수신하는 무선 통신부 및 상기 암호화 합성 음성 신호를 비밀 키 값을 이용하여, 복호화하여, 복호화된 합성 음성 신호 및 복호화된 요청 정보를 획득하고, 복호화된 요청 정보와 상기 메모리에 저장된 요청 정보를 비교하고, 비교 결과에 따라 상기 복호화된 합성 음성 신호의 위조 여부를 결정하는 프로세서를 포함할 수 있다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
본 발명의 실시 예에 따르면, 합성 음성이 위조된 것으로 판단한 경우, 합성 음성을 출력 하지 않아, 의도치 않은 합성 음성이 출력되어, 도용되는 상황이 미연에 방지될 수 있다.
본 발명의 실시 예에 따르면, 합성 음성에 암호화된 정보의 일치 여부를 판단하여, 합성 음성을 인증함에 따라, 합성 음성을 이용한 보이스 피싱 범죄를 방지할 수 있다.
도 1은 본 발명과 관련된 단말기를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 변형 가능한 이동 단말기의 다른 예를 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시 예에 따라 음성 신호로부터 사용자의 발화 특징을 추출하는 과정을 설명하는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 음성 합성 서버의 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 합성 음성 암호화 시스템의 합성 음성 암호화 방법을 설명하기 위한 래더 다이어그램이다.
도 7은 본 발명의 실시 예에 따라 텍스트 데이터를 합성 음성 신호로 변환하는 과정을 설명하는 도면이다.
도 8은 합성 음성 신호로부터 하나 이상의 암호화 대상 구간들을 선정하는 과정을 설명하는 도면이다.
도 9는 선정된 하나 이상의 암호화 대상 구간들 각각의 주파수 정보를 추출하는 과정을 설명하는 도면이다.
도 10 내지 도 12는 본 발명의 일 실시 예에 따라 암호화 합성 음성 신호를 생성하는 과정을 설명하는 도면이다.
도 13은 본 발명의 일 실시 예에 따른 복호화 테이블을 설명하는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 설명되는 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.
그러나, 본 명세서에 기재된 실시 예에 따른 단말기(100)는 스마트 TV, 데스크탑 컴퓨터, 디지털사이니지 등과 같은 고정 단말기에도 적용될 수도 있다.
또한, 본 발명의 실시 예에 따른 단말기(100)는 고정 또는 이동 가능한 로봇에도 적용될 수 있다.
또한, 본 발명의 실시 예에 따른 단말기(100)는 음성 에이전트의 기능을 수행할 수 있다. 음성 에이전트는 사용자의 음성을 인식하고, 인식된 사용자의 음성에 적합한 응답을 음성으로 출력하는 프로그램일 수 있다.
단말기(100)는 무선 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 인터페이스부(160), 메모리(170), 프로세서(180) 및 전원 공급부(190)를 포함할 수 있다.
무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다.
이동통신 모듈(112)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 모듈(113)은 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있다.
근거리 통신 모듈(114)은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
위치정보 모듈(115)은 이동 단말기의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, 단말기는 GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 이동 단말기의 위치를 획득할 수 있다.
입력부(120)는 영상 신호 입력을 위한 카메라(121), 오디오 신호를 수신하기 위한 마이크로폰(122), 사용자로부터 정보를 입력 받기 위한 사용자 입력부(123)를 포함할 수 있다.
입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, 단말기(100)는 하나 또는 복수의 카메라(121)들을 구비할 수 있다.
카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시되거나 메모리(170)에 저장될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 단말기(100)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력 받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면,
프로세서(180)는 입력된 정보에 대응되도록 단말기(100)의 동작을 제어할 수 있다.
사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 단말기(100)의 전/후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다.
러닝 프로세서(130)는 데이터 마이닝, 데이터 분석, 지능형 의사 결정, 및 기계 학습 알고리즘 및 기술을 위해 이용될 정보를 수신, 분류, 저장 및 출력하도록 구성 될 수 있다.
러닝 프로세서(130)는 단말기에 의해 수신, 검출, 감지, 생성, 사전 정의 또는 다른 방식으로 출력되거나 수신, 검출, 감지, 생성, 사전 정의 또는 다른 방식으로 다른 컴포넌트, 디바이스, 단말기 또는 단말기와 통신하는 장치에 의해 출력되는 데이터를 저장하도록 구성된 하나 이상의 메모리 유닛을 포함 할 수 있다.
러닝 프로세서(130)는 단말기에 통합되거나 구현된 메모리를 포함 할 수 있다. 일부 실시 예에서, 러닝 프로세서(130)는 메모리(170)를 사용하여 구현 될 수 있다.
선택적으로 또는 부가 적으로, 러닝 프로세서(130)는 단말기에 직접 결합된 외부 메모리 또는 단말기와 통신하는 서버에서 유지되는 메모리와 같이 단말기와 관련된 메모리를 사용하여 구현 될 수 있다.
다른 실시 예에서, 러닝 프로세서(130)는 클라우드 컴퓨팅 환경에서 유지되는 메모리, 또는 네트워크와 같은 통신 방식을 통해 단말기에 의해 액세스 가능한 다른 원격 메모리 위치를 이용하여 구현 될 수 있다.
러닝 프로세서(130)는 일반적으로 감독 또는 감독되지 않은 학습, 데이터 마이닝, 예측 분석 또는 다른 머신에서 사용하기 위해 데이터를 식별, 색인화, 카테고리화, 조작, 저장, 검색 및 출력하기 위해 데이터를 하나 이상의 데이터베이스에 저장하도록 구성될 수 있다.
러닝 프로세서(130)에 저장된 정보는 다양한 상이한 유형의 데이터 분석 알고리즘 및 기계 학습 알고리즘 중 임의의 것을 사용하여 프로세서(180) 또는 단말기의 하나 이상의 다른 제어기에 의해 이용될 수 있다.
이러한, 알고리즘의 예로는, k-최근 인접 시스템, 퍼지 논리 (예: 가능성 이론), 신경 회로망, 볼츠만 기계, 벡터 양자화, 펄스 신경망, 지원 벡터 기계, 최대 마진 분류기, 힐 클라이밍, 유도 논리 시스템 베이지안 네트워크, 페리트넷 (예: 유한 상태 머신, 밀리 머신, 무어 유한 상태 머신), 분류기 트리 (예: 퍼셉트론 트리, 지원 벡터 트리, 마코프 트리, 의사 결정 트리 포리스트, 임의의 포리스트), 판돈 모델 및 시스템, 인공 융합, 센서 융합, 이미지 융합, 보강 학습, 증강 현실, 패턴 인식, 자동화 된 계획 등을 포함한다.
프로세서(180)는 데이터 분석 및 기계 학습 알고리즘을 사용하여 결정되거나, 생성된 정보에 기초하여 단말기의 적어도 하나의 실행 가능한 동작을 결정 또는 예측할 수 있다. 이를 위해, 프로세서(180)는 러닝 프로세서(130)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 상기 단말기를 제어할 수 있다.
프로세서(180)는 지능적 에뮬레이션(즉, 지식 기반 시스템, 추론 시스템 및 지식 획득 시스템)을 구현하는 다양한 기능을 수행 할 수 있다. 이는 적응 시스템, 기계 학습 시스템, 인공 신경망 등을 포함하는, 다양한 유형의 시스템(예컨대, 퍼지 논리 시스템)에 적용될 수 있다.
프로세서(180)는, 또한 I/O 처리 모듈, 환경 조건 모듈, 음성 - 텍스트 (STT) 처리 모듈, 자연어 처리 모듈, 작업 흐름 처리 모듈 및 서비스 처리 모듈과 같이, 음성 및 자연 언어 음성 처리를 수반하는 연산을 가능하게 하는 서브 모듈을 포함할 수 있다.
이들 서브 모듈들 각각은, 단말기에서의 하나 이상의 시스템 또는 데이터 및 모델, 또는 이들의 서브셋 또는 수퍼 셋에 대한 액세스를 가질 수 있다. 또한, 이들 서브 모듈들 각각은, 어휘 색인, 사용자 데이터, 작업 흐름 모델, 서비스 모델 및 자동 음성 인식 (ASR) 시스템을 비롯한 다양한 기능을 제공할 수 있다.
다른 실시 예에서, 프로세서(180) 또는 단말기의 다른 양태는 상기 서브 모듈, 시스템, 또는 데이터 및 모델로 구현 될 수 있다.
일부 예에서, 러닝 프로세서(130)의 데이터에 기초하여, 프로세서(180)는 사용자 입력 또는 자연 언어 입력으로 표현된 문맥 조건 또는 사용자의 의도에 기초하여 요구 사항을 검출하고 감지하도록 구성 될 수 있다.
프로세서(180)는 문맥 조건 또는 사용자의 의도에 기초하여 요구 사항을 완전히 결정하는데 필요한 정보를 능동적으로 이끌어 내고, 획득할 수 있다. 예를 들어, 프로세서(180)는 역사적 입력 및 출력, 패턴 매칭, 모호하지 않은 단어, 입력 의도 등을 포함하는 과거 데이터를 분석함으로써 요구 사항을 결정하는데, 필요한 정보를 능동적으로 이끌어낼 수 있다.
프로세서(180)는 문맥 조건 또는 사용자의 의도에 기초하여 요구 사항에 응답하는 기능을 실행하기 위한 태스크 흐름을 결정할 수 있다.
프로세서(180)는 러닝 프로세서(130)에서 프로세싱 및 저장을 위한 정보를 수집하기 위해, 단말기에서 하나 이상의 감지 컴포넌트를 통해 데이터 분석 및 기계 학습 작업에 사용되는 신호 또는 데이터를 수집, 감지, 추출, 검출 및/또는 수신하도록 구성 될 수 있다.
정보 수집은 센서를 통해 정보를 감지하는 것, 메모리(170)에 저장된 정보를 추출하는 것 또는 통신 수단을 통해 다른 단말기, 엔티티 또는 외부 저장 장치로부터 정보를 수신하는 것을 포함 할 수 있다.
프로세서(180)는 단말기에서 사용 히스토리 정보를 수집하여, 저장할 수 있다.
프로세서(180)는 저장된 사용 히스토리 정보 및 예측 모델링을 사용하여 특정 기능을 실행하기 위한 최상의 매치를 결정할 수 있다.
프로세서(180)는 센싱부(140)를 통해 주변 환경 정보 또는 기타 정보를 수신하거나 감지 할 수 있다.
프로세서(180)는 무선 통신부(110)을 통해 방송 신호 및/또는 방송 관련 정보, 무선 신호, 무선 데이터를 수신할 수 있다.
프로세서(180)는 입력부(120)로부터 이미지 정보 (또는 해당 신호), 오디오 정보 (또는 해당 신호), 데이터 또는 사용자 입력 정보를 수신 할 수 있다.
프로세서(180)는 정보를 실시간으로 수집하고, 정보 (예를 들어, 지식 그래프, 명령 정책, 개인화 데이터베이스, 대화 엔진 등)를 처리 또는 분류하고, 처리 된 정보를 메모리(170) 또는 러닝 프로세서(130)에 저장할 수 있다.
단말기의 동작이 데이터 분석 및 기계 학습 알고리즘 및 기술에 기초하여 결정될 때, 프로세서(180)는 결정된 동작을 실행하기 위해 단말기의 구성 요소를 제어 할 수 있다. 그리고 프로세서(180)는 제어 명령에 따라 단말을 제어하여 결정된 동작을 수행 할 수 있다.
프로세서(180)는 특정 동작이 수행되는 경우, 데이터 분석 및 기계 학습 알고리즘 및 기법을 통해 특정 동작의 실행을 나타내는 이력 정보를 분석하고, 분석된 정보에 기초하여 이전에 학습 한 정보의 업데이트를 수행 할 수 있다.
따라서, 프로세서(180)는 러닝 프로세서(130)과 함께, 업데이트 된 정보에 기초하여 데이터 분석 및 기계 학습 알고리즘 및 기법의 미래 성능의 정확성을 향상시킬 수 있다.
센싱부(140)는 이동 단말기 내 정보, 이동 단말기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱 하기 위한 하나 이상의 센서를 포함할 수 있다.
예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 이동 단말기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다.
디스플레이부(151)는 단말기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이부(151)는 단말기(100)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 단말기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다.
음향 출력부(152)는 리시버(receiver), 스피커(speaker), 버저(buzzer) 중 적어도 하나 이상을 포함할 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다.
광출력부(154)는 단말기(100)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기(100)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
인터페이스부(160)는 단말기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port)중 적어도 하나를 포함할 수 있다. 단말기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
한편, 식별 모듈은 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(user identify module; UIM), 가입자 인증 모듈(subscriber identity module; SIM), 범용 사용자 인증 모듈(universal subscriber identity module; USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 상기 인터페이스부(160)를 통하여 단말기(100)와 연결될 수 있다.
메모리(170)는 단말기(100)의 다양한 기능을 지원하는 데이터를 저장한다.
메모리(170)는 단말기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말기(100)의 동작을 위한 데이터들, 명령어들을, 러닝 프로세서(130)의 동작을 위한 데이터들(예를 들어, 머신 러닝을 위한 적어도 하나의 알고리즘 정보 등)을 저장할 수 있다.
프로세서(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 단말기(100)의 전반적인 동작을 제어한다. 프로세서(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1와 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용프로그램의 구동을 위하여, 단말기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원공급부(190)는 프로세서(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가 받아 단말기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체 가능한 형태의 배터리가 될 수 있다.
한편, 앞서 살펴본 것과 같이, 프로세서(180)는 응용 프로그램과 관련된 동작과, 통상적으로 단말기(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(180)는 상기 이동 단말기의 상태가 설정된 조건을 만족하면, 애플리케이션들에 대한 사용자의 제어 명령의 입력을 제한하는 잠금 상태를 실행하거나, 해제할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
도 2를 참조하면, 음성 시스템(1)은 단말기(100), 음성 텍스트 변환(Speech To Text, STT) 서버(10), 자연어 처리(Natural Language Processing, NLP) 서버(20) 및 음성 합성 서버(30)를 포함할 수 있다.
단말기(100)는 음성 데이터를 STT 서버(10)에 전송할 수 있다.
STT 서버(10)는 단말기(100)로부터 수신된 음성 데이터를 텍스트 데이터로 변환할 수 있다.
STT 서버(10)는 언어 모델을 이용하여 음성-텍스트 변환의 정확도를 높일 수 있다.
언어 모델은 문장의 확률을 계산하거나, 이전의 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산할 수 있는 모델을 의미할 수 있다.
예컨대, 언어 모델은 유니그램(Unigram) 모델, 바이그램(Bigram) 모델, N-그램(N-gram) 모델 등과 같은 확률론적 언어 모델들을 포함할 수 있다.
유니그램 모델은 모든 단어의 활용이 완전히 서로 독립적이라고 가정하는 모델로, 단어 열의 확률을 각 단어의 확률의 곱으로 계산하는 모델이다.
바이그램 모델은 단어의 활용이 이전 1개의 단어에만 의존한다고 가정하는 모델이다.
N-그램 모델은 단어의 활용이 이전 (n-1)개의 단어에 의존한다고 가정하는 모델이다.
즉, STT 서버(10)는 언어 모델을 이용하여 음성 데이터로부터 변환된 텍스트 데이터가 적합하게 변환된 것인지 판단할 수 있고, 이를 통해 텍스트 데이터로의 변환의 정확도를 높일 수 있다.
NLP 서버(20)는 STT 서버(10)로부터 텍스트 데이터를 수신할 수 있다. NLP 서버(20)는 수신된 텍스트 데이터에 기초하여, 텍스트 데이터에 대한 의도 분석을 수행할 수 있다.
NLP 서버(20)는 의도 분석의 수행 결과를 나타내는 의도 분석 정보를 단말기(100)에 전송할 수 있다.
NLP 서버(20)는 텍스트 데이터에 대해, 형태소 분석 단계, 구문 분석 단계, 화행 분석 단계, 대화 처리 단계를 순차적으로, 수행하여, 의도 분석 정보를 생성할 수 있다.
형태소 분석 단계는 사용자가 발화한 음성에 대응하는 텍스트 데이터를 의미를 지닌 가장 작은 단위인 형태소 단위로 분류하고, 분류된 각 형태소가 어떤 품사를 가지는지를 결정하는 단계이다.
구문 분석 단계는 형태소 분석 단계의 결과를 이용하여, 텍스트 데이터를 명사구, 동사구, 형용사 구 등으로 구분하고, 구분된 각 구들 사이에, 어떠한 관계가 존재하는지를 결정하는 단계이다.
구문 분석 단계를 통해, 사용자가 발화한 음성의 주어, 목적어, 수식어들이 결정될 수 있다.
화행 분석 단계는 구문 분석 단계의 결과를 이용하여, 사용자가 발화한 음성에 대한 의도를 분석하는 단계이다. 구체적으로, 화행 분석 단계는 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 단순한 감정 표현을 하는 것인지와 같은 문장의 의도를 결정하는 단계이다.
대화 처리 단계는 화행 분석 단계의 결과를 이용하여, 사용자의 발화에 대해 대답을 할지, 호응을 할지, 추가 정보를 문의하는 질문을 할지를 판단하는 단계이다.
NLP 서버(20)는 대화 처리 단계 후, 사용자가 발화한 의도에 대한 답변, 호응, 추가 정보 문의 중 하나 이상을 포함하는 의도 분석 정보를 생성할 수 있다.
한편, NLP 서버(20)는 단말기(100)로부터 텍스트 데이터를 수신할 수도 있다. 예를 들어, 단말기(100)가 음성 텍스트 변환 기능을 지원하는 경우, 단말기(100)는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 NLP 서버(20)에 전송할 수 있다.
음성 합성 서버(30)는 기 저장된 음성 데이터들을 조합하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(30)는 모델로 선정된 한 사람의 음성을 녹음하고, 녹음된 음성을 음절 또는 단어 단위로 분할할 수 있다. 음성 합성 서버(30)는 음절 또는 단어 단위로, 분할된 음성을 내부 또는 외부의 데이터 베이스에 저장할 수 있다.
음성 합성 서버(30)는 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(30)는 복수의 언어들 각각에 대응하는 복수의 음성 언어 그룹들을 저장하고 있을 수 있다.
예를 들어, 음성 합성 서버(30)는 한국어로 녹음된 제1 음성 언어 그룹, 영어로, 녹음된 제2 음성 언어 그룹을 포함할 수 있다.
음성 합성 서버(30)는 제1 언어의 텍스트 데이터를 제2 언어의 텍스트로 번역하고, 제2 음성 언어 그룹을 이용하여, 번역된 제2 언어의 텍스트에 대응하는 합성 음성을 생성할 수 있다.
음성 합성 서버(30)는 생성된 합성 음성을 단말기(100)에 전송할 수 있다.
음성 합성 서버(30)는 NLP 서버(20)로부터 의도 분석 정보를 수신할 수 있다.
음성 합성 서버(30)는 의도 분석 정보에 기초하여, 사용자의 의도를 반영한, 합성 음성을 생성할 수 있다.
일 실시 예에서, STT 서버(10), NLP 서버(20) 및 음성 합성 서버(30)는 하나의 서버로 구현될 수 있다.
위에서, 설명된 STT 서버(10), NLP 서버(20) 및 음성 합성 서버(30) 각각의 기능은 단말기(100)에서도 수행될 수도 있다. 이를 위해, 단말기(100)는 복수의 프로세서들을 포함할 수 있다.
도 3은 본 발명의 일 실시 예에 따라 음성 신호로부터 사용자의 발화 특징을 추출하는 과정을 설명하는 도면이다.
도 1에 도시된, 단말기(100)는 오디오 프로세서(181)를 더 포함할 수 있다.
오디오 프로세서(181)는 프로세서(180)와 별도의 칩으로 구현되거나, 프로세서(180)에 포함된 칩으로 구현될 수 있다.
오디오 프로세서(181)는 음성 신호로부터, 잡음을 제거할 수 있다.
오디오 프로세서(181)는 음성 신호를 텍스트 데이터로 변환할 수 있다. 이를 위해, 오디오 프로세서(181)는 STT 엔진을 구비할 수 있다.
오디오 프로세서(181)는 단말기(100)의 음성 인식을 활성화시키기 위한 기동어를 인식할 수 있다. 오디오 프로세서(181)는 마이크로폰(121)을 통해 수신된 기동어를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터가 기 저장된 기동어에 대응하는 텍스트 데이터인 경우, 기동어를 인식한 것으로 판단할 수 있다.
오디오 프로세서(181)는 잡음이 제거된 음성 신호를 파워 스펙트럼으로 변환할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 음성 신호의 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되어 있는지를 나타내는 파라미터일 수 있다.
파워 스펙트럼은 음성 신호의 파형의 주파수에 따른 진폭 제곱 값의 분포를 보여준다.
이에 대해서는 도 4를 참조하여, 설명한다.
도 4는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 4을 참조하면, 음성 신호(410)가 도시되어 있다. 음성 신호(410)는 마이크로폰(121)을 통해 수신되거나, 메모리(170)에 미리 저장된 신호일 수 있다.
음성 신호(410)의 x축은 시간이고, y축은 진폭의 크기를 나타낼 수 있다.
오디오 프로세서(181)는 x축이 시간 축인 음성 신호(410)를 x축이 주파수 축인 파워 스펙트럼(430)으로 변환할 수 있다.
오디오 프로세서(181)는 고속 퓨리에 변환(Fast Fourier Transform, FFT)을 이용하여, 음성 신호(410)를 파워 스펙트럼(430)으로 변환할 수 있다.
파워 스펙트럼(430)의 x축은 주파수, y축은 진폭의 제곱 값을 나타낸다.
다시 도 3을 설명한다.
프로세서(180)는 오디오 프로세서(181)로부터 전달된 텍스트 데이터 또는 파워 스펙트럼(430) 중 하나 이상을 이용하여, 사용자의 발화 특징을 결정할 수 있다.
사용자의 발화 특징은 사용자의 성별, 사용자의 음의 높낮이, 사용자의 음색, 사용자의 발화 주제, 사용자의 발화 속도, 사용자의 성량등을 포함할 수 있다.
프로세서(180)는 파워 스펙트럼(430)을 이용하여, 음성 신호(410)의 주파수 및 주파수에 대응하는 진폭을 획득할 수 있다.
프로세서(180)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 음성을 발화한 사용자의 성별을 결정할 수 있다.
예를 들어, 프로세서(180)는 파워 스펙트럼(430)의 주파수 대역이 기 설정된 제1 주파수 대역 범위 내인 경우, 사용자의 성별을 남자로 결정할 수 있다.
프로세서(180)는 파워 스펙트럼(430)의 주파수 대역이 기 설정된 제2 주파수 대역 범위 내인 경우, 사용자의 성별을 여자로 결정할 수 있다. 여기서, 제2 주파수 대역 범위는 제1 주파수 대역 범위보다 클 수 있다.
프로세서(180)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 음성의 높낮이를 결정할 수 있다.
예를 들어, 프로세서(180)는 특정 주파수 대역 범위 내에서, 진폭의 크기에 따라 음의 높낮이 정도를 결정할 수 있다.
프로세서(180)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 사용자의 음색(tone)을 결정할 수 있다. 예를 들어, 프로세서(180)는 파워 스펙트럼(430)의 주파수 대역들 중, 진폭의 크기가 일정 크기 이상인 주파수 대역을 사용자의 주요 음역대로 결정하고, 결정된 주요 음역대를 사용자의 음색으로 결정할 수 있다.
프로세서(180)는 변환된 텍스트 데이터로부터, 단위 시간 당 발화된 음절 수를 통해, 사용자의 발화 속도를 결정할 수 있다.
프로세서(180)는 변환된 텍스트 데이터에 대해, Bag-Of-Word Model 기법을 이용하여, 사용자의 발화 주제를 결정할 수 있다.
Bag-Of-Word Model 기법은 문장 내 단어 빈도 수 기반으로, 주로 사용하는 단어를 추출하는 기법이다. 구체적으로, Bag-Of-Word Model 기법은 문장 내에서, 유니크한 단어를 추출하고, 추출된 각 단어의 빈도 수를 벡터로 표현하여, 발화 주제를 특징을 결정하는 기법이다.
예를 들어, 프로세서(180)는 텍스트 데이터에 <달리기>, <체력> 등과 같은 단어가 자주 등장하면, 사용자의 발화 주제를 운동으로 분류할 수 있다.
프로세서(180)는 공지된 텍스트 카테고리화(Text Categorization) 기법을 이용하여, 텍스트 데이터로부터 사용자의 발화 주제를 결정할 수 있다. 프로세서(180)는 텍스트 데이터로부터 키워드를 추출하여, 사용자의 발화 주제를 결정할 수 있다.
프로세서(180)는 전체 주파수 대역에서의 진폭 정보를 고려하여 사용자의 성량을 결정할 수 있다.
예컨대, 프로세서(180)는 파워 스펙트럼의 각 주파수 대역에서의 진폭의 평균 또는 가중치 평균을 기준으로 사용자의 성량을 결정할 수 있다.
도 3 및 도 4에서 설명된 오디오 프로세서(181) 및 프로세서(180)의 기능은 NLP 서버(20), 음성 합성 서버(30) 중 어느 하나의 서버에서도 수행될 수 있다.
예를 들어, NLP 서버(20)는 음성 신호를 이용하여, 파워 스펙트럼을 추출하고, 추출된 파워 스펙트럼을 이용하여, 사용자의 발화 특징을 결정할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 음성 합성 서버의 구성을 설명하기 위한 블록도이다.
도 5를 참조하면, 음성 합성 서버(30)는 무선 통신부(31), 데이터 베이스(33) 및 프로세서(39)를 포함할 수 있다.
무선 통신부(31)는 이동 단말기(100)의 무선 통신부(110)와 무선으로 통신을 수행할 수 있다.
무선 통신부(31)는 이동 단말기(100)의 무선 통신부(110)의 구성 요소들을 포함할 수 있다.
무선 통신부(31)는 단말기(100)로부터 텍스트 데이터 및 요청 제조 정보를 수신할 수 있다.
데이터 베이스(33)는 합성 음성을 생성하는데 사용되는 특정 화자에 대한 음성 데이터를 저장하고 있을 수 있다.
또한, 데이터 베이스(33)는 합성 음성을 암호화하는데 사용되는 암호화 테이블을 저장하고 있을 수 있다.
프로세서(39)는 단말기(100)로부터 수신된 텍스트 데이터에 대응하는 합성 음성 신호를 생성할 수 있다.
프로세서(39)는 생성된 합성 음성 신호에서, 하나 이상의 암호화 대상 구간들을 선정할 수 있다.
프로세서(39)는 선정된 하나 이상의 암호화 대상 구간들 각각의 주파수 정보를 추출할 수 있다.
프로세서(39)는 추출된 주파수 정보와 요청 제조 정보를 해당 암호화 대상 구간에 삽입하여, 암호화 합성 음성 신호를 생성할 수 있다.
프로세서(39)는 생성된 암호화 합성 음성 신호를 무선 통신부(31)를 통해 단말기(100)에 전송할 수 있다.
프로세서(39)의 상세한 기능에 대해서는 후술한다.
도 6은 본 발명의 일 실시 예에 따른 합성 음성 암호화 시스템의 합성 음성 암호화 방법을 설명하기 위한 래더 다이어그램이다.
도 6을 참조하면, 음성 합성 서버(30)의 무선 통신부(31)는 단말기(100)로부터 텍스트 데이터 및 요청 제조 정보를 수신한다(S601).
일 실시 예에서, 텍스트 데이터는 합성 음성을 생성하는데 기초가 되는 데이터일 수 있다.
요청 제조 정보는 합성 음성을 암호화하는데 사용되는 정보일 수 있다.
요청 제조 정보는 요청 시간, 디바이스 식별자 중 하나 이상을 포함할 수 있다.
요청 시간은 단말기(100)가 텍스트 데이터를 음성 합성 서버(30)에 전송한 시점일 수 있다. 요청 시간은 추후, 합성 음성의 암호화를 요청한 시점이 맞는지를 판별하는데 사용될 수 있다.
디바이스 식별자는 텍스트 데이터를 전송한 단말기(100)를 식별하기 위한 식별자를 포함할 수 있다. 디바이스 식별자는 단말기(100)의 모델명, 고유 번호 등을 포함할 수 있다.
디바이스 식별자는 합성 음성을 암호화한 기기가 맞는지를 판별하는데 사용될 수 있다.
음성 합성 서버(30)의 프로세서(39)는 수신된 텍스트 데이터에 대응하는 합성 음성 신호를 생성한다(S603).
프로세서(39)는 텍스트 데이터를 구성하는 음소들을 추출할 수 있다.
프로세서(39)는 추출된 음소들에 대응하는 음성 신호들을 데이터 베이스(33)로부터 획득하고, 획득된 음성 신호들을 합성하여, 합성 음성 신호를 생성할 수 있다.
음성 합성 서버(30)의 프로세서(39)는 생성된 합성 음성 신호에서, 하나 이상의 암호화 대상 구간들을 선정한다(S605).
일 실시 예에서, 프로세서(39)는 생성된 합성 음성 신호에서, 랜덤하게 하나 이상의 암호화 대상 구간들을 선정할 수 있다.
합성 음성 신호를 구성하는 일부 구간들에 대해서만, 암호화가 수행되는 경우, 추후, 단말기(100)에서 합성 음성 신호를 복호화하는 로드가 줄어들 수 있다.
또 다른 실시 예에서, 프로세서(39)는 생성된 합성 음성 신호의 전체를 암호화 대상으로 선정할 수 있다.
음성 합성 서버(30)의 프로세서(39)는 선정된 하나 이상의 암호화 대상 구간들 각각의 주파수 정보를 추출한다(S607).
주파수 정보는 주파수 대역 및 주파수 대역에 대응하는 신호의 진폭의 제곱 값을 포함할 수 있다.
일 실시 예에서, 프로세서(39)는 합성 음성 신호를 파워 스펙트럼으로 변환할 수 있다. 프로세서(39)는 변환된 파워 스펙트럼으로부터, 선정된 하나 이상의 암호화 대상 구간들에 대응하는 부분 파워 스펙트럼을 획득할 수 있다.
프로세서(39)는 획득된 부분 파워 스펙트럼으로부터, 특정 Hz 또는 특정 Hz 대역에 대응하는 크기를 추출할 수 있다.
단계 S603 내지 S607에 대해서는 이하의 도면을 참조하여 설명한다.
도 7은 본 발명의 실시 예에 따라 텍스트 데이터를 합성 음성 신호로 변환하는 과정을 설명하는 도면이고, 도 8은 합성 음성 신호로부터 하나 이상의 암호화 대상 구간들을 선정하는 과정을 설명하는 도면이고, 도 9는 선정된 하나 이상의 암호화 대상 구간들 각각의 주파수 정보를 추출하는 과정을 설명하는 도면이다.
도 7을 참조하면, 음성 합성 서버(30)의 프로세서(39)는 단말기(100)로부터 수신된 텍스트 데이터를 합성 음성 신호(700)로 변환할 수 있다. 합성 음성 신호(700)는 시간의 흐름에 따른 신호의 크기 변화를 보여준다.
프로세서(39)는 특정 화자의 음색으로, 합성 음성 신호(700)를 생성할 수 있다.
프로세서(39)는 복수의 화자들 각각에 대응하는 음성 신호를 저장한 데이터 베이스(33)로부터 특정 화자에 대응하는 음성 신호들을 추출하여, 합성 음성 신호(700)를 생성할 수 있다.
도 8을 참조하면, 프로세서(39)는 합성 음성 신호(700)로부터 4개의 암호화 구간들(710 내지 740)를 선정할 수 있다. 프로세서(39)는 합성 음성 신호(700)로부터 암호화할 구간 및 구간의 수를 랜덤하게 선정할 수 있다.
도 9를 참조하면, 프로세서(39)는 선정된 암호화 대상 구간들(710 내지 740) 각각을 부분 파워 스펙트럼들(910 내지 940)으로 변환할 수 있다.
프로세서(39)는 부분 파워 스펙트럼들(910 내지 940) 각각으로부터 각 암호화 대상 구간의 주파수 정보를 획득할 수 있다.
주파수 정보는 주파수 대역 및 주파수 대역에 대응하는 진폭의 제곱 값을 포함할 수 있다.
다시 도 6을 설명한다.
음성 합성 서버(30)의 프로세서(39)는 추출된 주파수 정보와 요청 제조 정보를 해당 암호화 대상 구간에 삽입하여, 암호화 합성 음성 신호를 생성한다(S609).
프로세서(39)는 하나 이상의 암호화 대상 구간들 각각에 대응하는 주파수 정보와 요청 제조 정보를 암호화하여, 해당 암호화 대상 구간들 각각에 삽입할 수 있다.
프로세서(39)는 비 대칭 암호화 방식을 이용하여, 암호화 합성 음성 신호를 생성할 수 있다.
비 대칭 암호화 방식은 주파수 정보 및 요청 제조 정보를 포함하는 요청 정보를 공개 키를 이용하여, 암호화하고, 공개 키에 대응하는 비밀 키를 이용하여, 요청 정보를 복호화하는 방식이다.
이에 대해서는 도 10 내지 도 12를 참조하여 설명한다.
도 10 내지 도 12는 본 발명의 일 실시 예에 따라 암호화 합성 음성 신호를 생성하는 과정을 설명하는 도면이다.
도 10은 본 발명의 일 실시 예에 따라 암호화 합성 음성 신호를 생성하는 방법을 설명하는 흐름도이다.
도 10을 참조하면, 음성 합성 서버(30)의 프로세서(39)는 암호화 테이블을 이용하여, 주파수 정보와 요청 제조 정보를 포함하는 요청 정보를
공개 키 값으로
변환한다(S1010).
암호화 테이블은 하나의 글자에 매핑된 캐릭터 간의 대응 관계를 저장한 테이블일 수 있다.
주파수 정보 및 요청 제조 정보는 텍스트이고, 텍스트를 구성하는 글자마다, 하나의 캐릭터가 매핑될 수 있다.
프로세서(39)는 암호화 테이블을 이용하여, 요청 정보를 공개 키 값으로 변환할 수 있다.
예를 들어, 도 11의 공개 키 테이블(1100)에 도시된 바와 같이, 제1 암호화 구간(710)에 대응하는 제1 요청 정보는 제1 공개 키 값으로 변환되고, 제2 암호화 구간(720)에 대응하는 제2 요청 정보는 제2 공개 키 값으로 변환되고, 제3 암호화 구간(730)에 대응하는 제3 요청 정보는 제3 공개 키 값으로 변환되고, 제4 암호화 구간(740)에 대응하는 제4 요청 정보는 제4 공개 키 값으로 변환될 수 있다.
프로세서(39)는 변환된
공개 키 값을
해당 암호화 대상 구간에 삽입한다(S1030).
프로세서(39)는 각 공개 키 값을 공개 키 신호로 변환하고, 변환된 공개 키 신호를 해당 암호화 구간에 삽입할 수 있다.
프로세서(39)는 삽입 결과에 따라 암호화 구간들 및 비 암호화 구간들을 포함하는 암호화 합성 음성 신호를 생성한다(S1050).
도 12에서 도시된 바와 같이, 프로세서(39)는 제1 암호화 대상 구간(710)에 제1 공개 키 값을 삽입하여, 제1 암호화 구간(1210)을 생성할 수 있다.
마찬가지로, 프로세서(39)는 제2 암호화 대상 구간(720)에 제2 공개 키 값을 삽입하여, 제2 암호화 구간(1220)을 생성할 수 있고, 제3 암호화 대상 구간(730)에 제3 공개 키 값을 삽입하여, 제3 암호화 구간(1230)을 생성할 수 있고, 제4 암호화 대상 구간(740)에 제4 공개 키 값을 삽입하여, 제4 암호화 구간(1240)을 생성할 수 있다.
최종적으로, 프로세서(39)는 복수의 암호화 구간들(1210 내지 1240) 및 미 암호화 구간들을 포함하는 암호화 합성 음성 신호(1200)를 생성할 수 있다.
다시, 도 6을 설명한다.
음성 합성 서버(30)의 무선 통신부(31)는 생성된 암호화 합성 음성 신호를 단말기(100)에 전송한다(S611).
단말기(100)의 프로세서(180)는 음성 합성 서버(30)로부터 암호화 합성 음성 신호에 포함된 하나 이상의 암호화 구간들을 추출한다(S613).
암호화 합성 음성 신호에 포함된 하나 이상의 암호화 구간들 각각은 공개 키 값을 포함할 수 있다.
프로세서(180)는 각 암호화 구간에 포함된 공개 키 값을 인지하여, 암호화 합성 음성 신호로부터, 암호화 구간들을 추출할 수 있다.
단말기(100)의 프로세서(180)는 복호화 테이블을 이용하여, 추출된 하나 이상의 암호화 구간들
각각으로부터
, 복호화 요청 정보를 획득한다(S615).
일 실시 예에서, 복호화 테이블은 공개 키 값과, 이에 대응하는 비밀 키 값 간의 대응 관계를 포함하는 테이블일 수 있다.
프로세서(180)는 복호화 테이블을 이용하여, 각 암호화 구간을 복호화할 수 있다.
프로세서(180)는 공개 키 값에 매칭되는 비밀 키 값을 이용하여, 각 암호화 구간을 복호화할 수 있다.
암호화 구간이 복호화됨에 따라 요청 제조 정보 및 주파수 정보를 포함하는 복호화된 요청 정보와 암호화 대상 구간이 분리될 수 있다.
즉, 프로세서(180)는 복호화에 따라, 복호화된 합성 음성 신호 및 복호화된 요청 정보를 획득할 수 있다.
도 13은 본 발명의 일 실시 예에 따른 복호화 테이블을 설명하는 도면이다.
도 13을 참조하면, 공개 키 값과 비밀 키 값이 서로 매핑되어 있는 복호화 테이블(1300)이 도시되어 있다.
프로세서(180)는 하나 이상의 암호화 구간들 각각의 공개 키 값과, 그에 대응하는 비밀 키 값을 이용하여, 각 암호화 구간을 복호화할 수 있다.
예를 들어, 제1 공개 키 값에는 제1 비밀 키 값이 매핑되어 있을 수 있다.
프로세서(180)는 제1 암호화 구간에 대응하는 제1 공개 키 값을 추출하고, 복호화 테이블(1300)로부터 제1 공개 키 값에 대응하는 제1 비밀 키 값을 획득할 수 있다.
프로세서(180)는 제1 비밀 키 값을 이용하여, 각 암호화 구간을 복호화할 수 있다.
다시, 도 6을 설명한다.
단말기(100)의 프로세서(180)는 획득된 복호화 요청 정보와 메모리(170)에 미리 저장된 요청 정보가 동일한지를 판단한다(S617).
프로세서(180)는 각 암호화 구간에 대해 복호화된 요청 정보와 미리 저장된 요청 정보 간이 동일한지를 판단할 수 있다.
즉, 프로세서(180)는 미리 저장된 요청 정보에 포함된 단말기(100)가 텍스트 데이터를 합성 음성 서버(30)에 전송한 요청 시간과 복호화된 요청 시간과 동일한지 판단할 수 있다.
또한, 프로세서(180)는 미리 저장된 요청 정보에 포함된 단말기(100)의 식별자와 복호화된 식별자가 동일한지를 판단할 수 있다.
또한, 프로세서(180)는 미리 저장된 요청 정보에 포함된 주파수 정보와, 복호화된 주파수 정보가 동일한지를 판단할 수 있다.
단말기(100)의 프로세서(180)는 각 암호화 구간에 대해 복호화된 요청 정보와 미리 저장된 요청 정보가 동일한 경우, 복호화된 합성 음성 신호를 음향 출력부(152)를 통해 출력한다(S619).
프로세서(180)는 복수의 암호화 구간들 각각에 대해, 요청 시간, 단말기(100)의 식별자, 주파수 정보가 모두 동일한 경우, 합성 음성이 위조되지 않은 것으로 판단할 수 있다. 즉, 합성 음성의 인증이 성공한 것으로 판단할 수 있다.
프로세서(180)는 암호화 합성 음성 신호를 음향 출력부(152)를 통해 출력할 수 있다. 동시에, 프로세서(180)는 합성 음성 신호의 인증이 성공되었음을 나타내는 알림을 디스플레이부(151) 또는 음향 출력부(152)를 통해 출력할 수도 있다.
단말기(100)의 프로세서(180)는 복수의 암호화 구간들 중 어느 하나의 암호화 구간에 대해 복호화된 요청 정보와 미리 저장된 요청 정보가 동일하지
않은 경우
, 합성 음성의 인증이 실패했음을 나타내는 인증 실패 알림을 음향 출력부(152)를 통해 출력한다(S621).
프로세서(180)는 복수의 암호화 구간들 중 어느 하나의 암호화 구간에 대해 복호화된 요청 정보와 미리 저장된 요청 정보가 동일하지 않은 경우, 합성 음성을 출력하지 않을 수 있다.
즉, 프로세서(180)는 복수의 암호화 구간들 중 어느 하나의 암호화 구간에 대해 복호화된 요청 정보와 미리 저장된 요청 정보가 동일하지 않은 경우, 합성 음성이 위조된 것으로 결정할 수 있다.
프로세서(180)는 복수의 암호화 구간들 중 어느 하나의 암호화 구간에 대해 복호화된 요청 제조 정보가 미리 저장된 요청 제조 정보와 일치하지 않은 경우, 합성 음성이 위조된 것으로 결정할 수 있다.
프로세서(180)는 복수의 암호화 구간들 중 어느 하나의 암호화 구간에 대해 복호화된 요청 시간이 미리 저장된 요청 시간과 일치하지 않은 경우, 합성 음성이 위조된 것으로 결정할 수 있다.
단말기(100)는 합성 음성이 위조된 것으로 판단한 경우, 합성 음성을 출력 하지 않아, 의도치 않은 합성 음성이 출력되어, 도용되는 상황이 미연에 방지될 수 있다.
본 발명의 실시 예에 따르면, 합성 음성에 암호화된 정보의 일치 여부를 판단하여, 합성 음성을 인증함에 따라, 합성 음성을 이용한 보이스 피싱 범죄를 방지할 수 있다.
한편, 도 6의 단계 S603 내지 S609는 단말기(100)의 프로세서(180)가 수행할 수도 있다.
이 경우, 단계 S601 및 S603은 생략될 수 있다.
또한, 본 발명의 실시 예에 따르면, 상업적으로 합성 음성을 무단으로 도용하는 업체를 감지하여, 합성 음성의 악용이 방지될 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 단말기의 프로세서(180)를 포함할 수도 있다.
Claims (14)
- 음성 합성 서버에 있어서,단말기로부터 텍스트 데이터 및 요청 제조 정보를 수신하는 무선 통신부; 및상기 텍스트 데이터에 대응하는 합성 음성 신호를 생성하고, 생성된 합성 음성 신호로부터, 주파수 정보를 추출하고, 추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 요청 정보를 상기 합성 음성 신호에 삽입하여, 암호화 합성 음성 신호를 생성하는 프로세서를 포함하는음성 합성 서버.
- 제1항에 있어서,상기 프로세서는상기 생성된 합성 음성 신호에서, 하나 이상의 암호화 대상 구간들을 선정하고, 선정된 하나 이상의 암호화 대상 구간들의 주파수 정보를 추출하고, 추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 상기 요청 정보를 선정된 하나 이상의 암호화 대상 구간들에 삽입하는음성 합성 서버.
- 제2항에 있어서,상기 요청 제조 정보는상기 단말기가 텍스트 데이터를 상기 음성 합성 서버에 전송한 시간을 나타내는 요청 시간 및 상기 단말기의 식별자를 포함하는음성 합성 서버.
- 제3항에 있어서,상기 프로세서는상기 요청 정보를 공개 키 값으로 변환하고, 변환된 공개 키 값을 상기 각 암호화 대상 구간들에 삽입하여, 상기 암호화 합성 음성 신호를 생성하는음성 합성 서버.
- 제1항에 있어서,상기 프로세서는상기 암호화 합성 음성 신호를 상기 무선 통신부를 통해, 상기 단말기로 전송하는음성 합성 서버.
- 단말기에 있어서,메모리;음향 출력부;음성 합성 서버로부터 암호화 합성 음성 신호를 수신하는 무선 통신부; 및 상기 암호화 합성 음성 신호를 비밀 키 값을 이용하여, 복호화하여, 복호화된 합성 음성 신호 및 복호화된 요청 정보를 획득하고, 복호화된 요청 정보와 상기 메모리에 저장된 요청 정보를 비교하고, 비교 결과에 따라 상기 복호화된 합성 음성 신호의 위조 여부를 결정하는 프로세서를 포함하는단말기.
- 제6항에 있어서,상기 프로세서는상기 암호화 합성 음성 신호에 포함된 하나 이상의 암호화 구간들을 추출하고,상기 비밀 키 값을 이용하여, 추출된 하나 이상의 암호화 구간들 각각으로부터, 상기 복호화된 요청 정보를 획득하고,상기 복호화된 요청 정보가 상기 메모리에 저장된 요청 정보와 일치하는 경우, 상기 복호화된 합성 음성 신호를 위조되지 않은 것으로 판단하는단말기.
- 제7항에 있어서,상기 프로세서는상기 복호화된 합성 음성 신호를 위조되지 않은 것으로 판단된 경우, 상기 음향 출력부를 통해 상기 복호화된 합성 음성 신호를 출력하는단말기.
- 제7항에 있어서,상기 복호화된 요청 정보가 상기 메모리에 저장된 요청 정보와 일치하지 않는 경우, 상기 복호화된 합성 음성 신호를 위조된 것으로 판단하는단말기.
- 제6항에 있어서,상기 저장된 요청 정보는상기 단말기가 텍스트 데이터를 상기 음성 합성 서버에 전송한 시간을 나타내는 요청 시간 및 상기 단말기의 식별자를 포함하는단말기.
- 합성 음성 신호의 암호화 방법을 수행하는 프로그램을 기록한 기록 매체에 있어서,상기 합성 음성 신호의 암호화 방법은텍스트 데이터 및 요청 제조 정보를 획득하는 단계와,상기 텍스트 데이터에 대응하는 합성 음성 신호를 생성하는 단계와,생성된 합성 음성 신호로부터, 주파수 정보를 추출하는 단계와추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 요청 정보를 상기 합성 음성 신호에 삽입하여, 암호화 합성 음성 신호를 생성단계를 포함하는기록 매체.
- 제11항에 있어서,상기 삽입하는 단계는상기 생성된 합성 음성 신호에서, 하나 이상의 암호화 대상 구간들을 선정하는 단계와선정된 하나 이상의 암호화 대상 구간들의 주파수 정보를 추출하는 단계와추출된 주파수 정보와 상기 요청 제조 정보를 포함하는 상기 요청 정보를 선정된 하나 이상의 암호화 대상 구간들에 삽입하는 단계를 포함하는기록 매체.
- 제12항에 있어서,상기 요청 제조 정보는상기 단말기가 텍스트 데이터를 상기 음성 합성 서버에 전송한 시간을 나타내는 요청 시간 및 상기 단말기의 식별자를 포함하는기록 매체.
- 제13항에 있어서,상기 암호화 합성 음성 신호를 생성하는 단계는상기 요청 정보를 공개 키 값으로 변환하는 단계와변환된 공개 키 값을 상기 각 암호화 대상 구간들에 삽입하여, 상기 암호화 합성 음성 신호를 생성하는 단계를 포함하는기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/000118 WO2020141643A1 (ko) | 2019-01-03 | 2019-01-03 | 음성 합성 서버 및 단말기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/000118 WO2020141643A1 (ko) | 2019-01-03 | 2019-01-03 | 음성 합성 서버 및 단말기 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020141643A1 true WO2020141643A1 (ko) | 2020-07-09 |
Family
ID=71407015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/000118 WO2020141643A1 (ko) | 2019-01-03 | 2019-01-03 | 음성 합성 서버 및 단말기 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020141643A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113990288A (zh) * | 2021-12-23 | 2022-01-28 | 江苏微皓智能科技有限公司 | 一种语音客服自动生成部署语音合成模型的方法及系统 |
CN114299919A (zh) * | 2021-12-27 | 2022-04-08 | 完美世界(北京)软件科技发展有限公司 | 文字转语音方法、装置、存储介质及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183779A (ja) * | 2000-12-08 | 2002-06-28 | Dainippon Printing Co Ltd | 入場管理システムおよび入場管理方法 |
KR100971443B1 (ko) * | 2008-06-04 | 2010-07-23 | 유장호 | 이동 통신 단말기를 이용한 인식 시스템 및 방법 |
JP2011028130A (ja) * | 2009-07-28 | 2011-02-10 | Panasonic Electric Works Co Ltd | 音声合成装置 |
KR20140098995A (ko) * | 2013-02-01 | 2014-08-11 | 김형석 | 워터마크 삽입 방법 및 장치, 그리고 워터마크를 이용하여 데이터의 복제 여부를 검출하는 방법 및 시스템 |
US20180342256A1 (en) * | 2017-05-24 | 2018-11-29 | Modulate, LLC | System and Method for Voice-to-Voice Conversion |
-
2019
- 2019-01-03 WO PCT/KR2019/000118 patent/WO2020141643A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002183779A (ja) * | 2000-12-08 | 2002-06-28 | Dainippon Printing Co Ltd | 入場管理システムおよび入場管理方法 |
KR100971443B1 (ko) * | 2008-06-04 | 2010-07-23 | 유장호 | 이동 통신 단말기를 이용한 인식 시스템 및 방법 |
JP2011028130A (ja) * | 2009-07-28 | 2011-02-10 | Panasonic Electric Works Co Ltd | 音声合成装置 |
KR20140098995A (ko) * | 2013-02-01 | 2014-08-11 | 김형석 | 워터마크 삽입 방법 및 장치, 그리고 워터마크를 이용하여 데이터의 복제 여부를 검출하는 방법 및 시스템 |
US20180342256A1 (en) * | 2017-05-24 | 2018-11-29 | Modulate, LLC | System and Method for Voice-to-Voice Conversion |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113990288A (zh) * | 2021-12-23 | 2022-01-28 | 江苏微皓智能科技有限公司 | 一种语音客服自动生成部署语音合成模型的方法及系统 |
CN113990288B (zh) * | 2021-12-23 | 2022-05-10 | 江苏微皓智能科技有限公司 | 一种语音客服自动生成部署语音合成模型的方法 |
CN114299919A (zh) * | 2021-12-27 | 2022-04-08 | 完美世界(北京)软件科技发展有限公司 | 文字转语音方法、装置、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020235712A1 (ko) | 콘텐츠 기반의 스타일을 갖는 텍스트 또는 음성을 생성하는 인공 지능 장치 및 그 방법 | |
WO2020230926A1 (ko) | 인공 지능을 이용하여, 합성 음성의 품질을 평가하는 음성 합성 장치 및 그의 동작 방법 | |
WO2019031707A1 (en) | MOBILE TERMINAL AND METHOD FOR CONTROLLING A MOBILE TERMINAL USING MACHINE APPRENTICESHIP | |
WO2020091350A1 (en) | Electronic device and control method thereof | |
WO2020050595A1 (ko) | 음성 인식 서비스를 제공하는 서버 | |
WO2020226213A1 (ko) | 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법 | |
WO2019182265A1 (ko) | 인공 지능 기기 및 그의 동작 방법 | |
WO2019117466A1 (ko) | 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법 | |
WO2015111818A1 (en) | Emotional-speech synthesizing device, method of operating the same and mobile terminal including the same | |
WO2019013510A1 (en) | VOICE PROCESSING METHOD AND ELECTRONIC DEVICE SUPPORTING IT | |
WO2020196955A1 (ko) | 인공 지능 기기 및 인공 지능 기기의 동작 방법 | |
WO2020032563A1 (en) | System for processing user voice utterance and method for operating same | |
WO2020218650A1 (ko) | 전자기기 | |
WO2020130447A1 (ko) | 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치 | |
WO2021006404A1 (ko) | 인공지능 서버 | |
WO2020230933A1 (ko) | 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법 | |
WO2019182378A1 (en) | Artificial intelligence server | |
WO2020130260A1 (en) | Mobile terminal and method of operating the same | |
WO2020167006A1 (en) | Method of providing speech recognition service and electronic device for same | |
WO2020141643A1 (ko) | 음성 합성 서버 및 단말기 | |
WO2022131566A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2020222338A1 (ko) | 화상 정보를 제공하는 인공 지능 장치 및 그 방법 | |
WO2020022545A1 (ko) | 음성 인식 시스템 | |
WO2022177224A1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
WO2022092796A1 (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: 19907656 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: 19907656 Country of ref document: EP Kind code of ref document: A1 |