WO2021172641A1 - Device for generating control information on basis of utterance state of user, and control method therefor - Google Patents

Device for generating control information on basis of utterance state of user, and control method therefor Download PDF

Info

Publication number
WO2021172641A1
WO2021172641A1 PCT/KR2020/003007 KR2020003007W WO2021172641A1 WO 2021172641 A1 WO2021172641 A1 WO 2021172641A1 KR 2020003007 W KR2020003007 W KR 2020003007W WO 2021172641 A1 WO2021172641 A1 WO 2021172641A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information
movement
voice input
control information
Prior art date
Application number
PCT/KR2020/003007
Other languages
French (fr)
Korean (ko)
Inventor
파벨 그르제시아크그르제고르츠
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2021172641A1 publication Critical patent/WO2021172641A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals

Definitions

  • the present disclosure relates to a device that performs voice recognition based on a user's utterance state, and generates a control command according to voice recognition, and a control method of the device, and more particularly, the device performs voice recognition according to the user's actual utterance. Recognizing a voice command and generating a control command for controlling the device according to the recognized voice command, or generating a control command for the device using motion information according to the movement of a user's body part and the recognized voice command .
  • a contact-type interface by a user's direct touch through a predetermined input means has been mainly used.
  • a user input interface using a keyboard or mouse is used in a PC
  • an interface in which a user intuitively touches a screen with a finger is mainly used in a smart phone.
  • speech recognition is a technology that converts an acoustic speech signal obtained through a sound sensor such as a microphone into words or sentences.
  • voice recognition technology develops, a user inputs a voice into a device, and it becomes possible to control an operation of the device according to the voice input.
  • the conventional voice recognition technology is vulnerable to external noise caused by a conversation of an external user other than the user of the device, and thus it may be difficult to accurately recognize the user's voice.
  • an operation according to the user's voice input is performed after the user's voice input is completed, and proper feedback is not made during the user's voice input. Accordingly, there is a need for a technology capable of more accurately recognizing a user's voice input and performing a device control operation intended by the user even during the user's voice input.
  • An embodiment of the present disclosure analyzes a signal generated when a user's speech or uses vibration information to identify a signal generated by the user's speech among audio signals input to a device to more accurately recognize the user's voice input and It is possible to provide a device for performing a control operation based on a voice input and a method for controlling the same.
  • An embodiment of the present disclosure provides a device and a control method for generating a control command related to a user's voice input, when generating a control command related to a user's voice input, using the user's motion information to generate the control command and controlling the control command based on the generated control command can do.
  • FIG. 1 is a diagram for explaining a method of controlling a device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram of a device according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a voice recognition process of a device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining user movement information according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a voice recognition process and generation of control information using user's motion information according to an embodiment of the present disclosure.
  • 6 and 7 are diagrams for explaining a process of determining an attribute value of control information based on motion information according to an embodiment.
  • FIG. 8 is a diagram for explaining a process of determining an attribute value of control information based on motion information according to another embodiment of the present disclosure.
  • 9A is a diagram illustrating a control system including a device generating control information and an external device to be controlled according to an exemplary embodiment.
  • 9B is a diagram illustrating a control system including a device for generating control information and an external device to be controlled according to another exemplary embodiment.
  • FIG. 10 is a flowchart of a method for a device to provide control information according to an embodiment.
  • FIG. 11 is a detailed flowchart of a method for a device to provide control information according to an embodiment of the present disclosure.
  • FIG. 12 is a flowchart illustrating a method of controlling an external device according to an embodiment of the present disclosure.
  • FIG. 13 is a flowchart illustrating a method of controlling an external device according to another embodiment of the present disclosure.
  • FIG. 14 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • a device includes a memory in which at least one program is stored; a microphone for receiving an audio signal; a sensor module for acquiring vibration information according to the user's utterance state; and at least one processor configured to generate control information corresponding to the user's voice input identified from the audio signal by executing the at least one program, wherein the at least one program includes, based on the vibration information, identifying the user's voice input from the audio signal received through the microphone; and generating control information corresponding to the user's voice input based on the identified user's voice input.
  • a method for a device to provide control information for a user's voice input includes: receiving an audio signal; acquiring vibration information according to the user's utterance state; identifying the user's voice input included in the audio signal based on the vibration information; and generating control information corresponding to the user's voice input based on the identified user's voice input.
  • the voice assistant service provides automated speech recognition (ASR) processing, natural language understanding (NLU) processing, dialogue management (DM: Dialogue Manager) processing, natural language generation to an audio signal. It is a service that provides a response to a user's voice command through natural language generation (NLG) processing and text to speech (TTS) processing.
  • ASR automated speech recognition
  • NLU natural language understanding
  • DM Dialogue Manager
  • NGS natural language generation
  • TTS text to speech
  • the voice assistant service may be a service that recognizes a user's voice command and controls the operation of the device according to the corresponding voice command.
  • the artificial intelligence model is an artificial intelligence algorithm, and may be a model learned using at least one of machine learning, neural networks, genes, deep learning, and classification algorithms.
  • the model of the voice assistant service may be an artificial intelligence model in which standards and methods for providing feedback according to a user's voice command in the voice assistant service are learned.
  • the model of the voice assistant service may include, for example, a model for recognizing a user's input voice, a model for interpreting the user's input voice, and a model for generating a control command according to the user's input voice. , but not limited thereto.
  • the models constituting the model of the voice assistant service may be an artificial intelligence model to which an artificial intelligence algorithm is applied.
  • FIG. 1 is a diagram for explaining a method of controlling a device according to an embodiment of the present disclosure.
  • the device 1000 is in contact with the user's body, and detects a voice input by the user's utterance and the user's movement.
  • 1 illustrates a smart earphone attached to a user's ear as an example of the device 1000 .
  • a smart earphone is a voice assistant service capable of acquiring a user's voice input and user's movement information, and performing a control operation according to the user's voice input and user's movement information, in addition to a function of outputting an audio signal.
  • the device 1000 may represent a set of a plurality of devices that are in contact with a plurality of body parts without contacting only one part of the user's body.
  • the device 1000 may refer to an electronic device that is in contact with the user's body and can obtain the user's voice input and movement information.
  • the device 1000 may be a wearable device such as augmented reality (AR) glasses, a smart watch, a smart lens, a smart bracelet, or smart clothing.
  • the device 1000 may be a mobile device such as a smart phone, a smart tablet, a computer, a notebook computer, etc. used by a user.
  • the device 1000 may include various electronic devices capable of detecting a voice input by a user's utterance and user's movement information.
  • the device 1000 generates corresponding control information based on the user's voice input. Also, the device 1000 may generate control information by using the user's movement information in addition to the user's voice input.
  • the control information may be a command for controlling the device 1000 itself. For example, when the device 1000 is a smart earphone, the control information of the device 1000 is volume up/down, mute, and forward for changing the track of music output through the smart earphone. ) and a control command for controlling a backward operation, a track play, and a pause operation.
  • the control information may be a control command for controlling an external device.
  • the control information for controlling the external device may be information for controlling the movement of the external device or information for controlling an output signal output from the external device.
  • the control command of the device 1000 may be changed according to the type and function of the device to be controlled.
  • the speech recognition process performed by the device 1000 may be divided into an embedded method and a non-embedded method according to the subject of the speech recognition process.
  • a control command may be generated based on a user's voice input and movement information by a voice assistant program installed by default in the device 1000 .
  • the generated control information may be used to control the device 1000 itself, or may be transmitted to an external device connected through a network and used to control the operation of the external device.
  • the device 1000 may transmit the user's voice input and motion information to an external device connected through a network, and the external device may generate control information based on the user's voice input and motion information.
  • the control command generated by the external device may be used again to control the device 1000 or another external device.
  • the device 1000 transmits the user's voice input and motion information to an external device, and the external device generates control information based on the user's voice input and motion information, and the device 1000 .
  • the device 1000 may receive a control command generated from an external device and perform a control operation based on the received control information.
  • the device 1000 transmits the user's voice input and motion information for controlling the second external device to the first external device, and the first external device generates control information based on the user's voice input and motion information.
  • the second external device may receive a control command generated by the first external device and perform a control operation based on the received control information.
  • a device 1000 receives a user voice input by utterance from a user. Specifically, the device 1000 receives an audio signal through an input means such as a microphone, excludes a non-voice section not caused by the user's utterance from the received audio signal, and identifies the user's voice input by the actual user's utterance do. The device 1000 may detect vibrations generated in the larynx according to the user's utterance, and determine the audio signal input during the period in which the vibration is sensed among the input audio signals as the user's voice input due to the user's utterance. .
  • the device 1000 may analyze an audio signal input through a microphone to identify an utterance section caused by the user's utterance.
  • the device 1000 includes a cepstrum, a linear predictive coefficient (LPC), a mel frequency cepstral coefficient (MFCC) and a filter bank energy in the received audio signal. (Filter Bank Energy) may be used to extract a feature vector of an input audio signal using any one of the feature vector extraction techniques, and the feature vector may be analyzed to identify the user's voice input by the user's utterance.
  • LPC linear predictive coefficient
  • MFCC mel frequency cepstral coefficient
  • filter bank energy may be used to extract a feature vector of an input audio signal using any one of the feature vector extraction techniques, and the feature vector may be analyzed to identify the user's voice input by the user's utterance.
  • the above-described speech feature vector extraction technique is merely an example, and the feature vector extraction technique used in the present disclosure is not limited to the above-described example.
  • the device 1000 may extract a feature vector due to a user's utterance by applying a deep neural network model (DNN) to the feature vector extracted from the audio signal.
  • the user's voice input signal feature may be expressed as a user feature vector.
  • the device 1000 may extract the user's feature vector by applying a deep neural network (DNN) to the speech feature vector extracted from the input audio signal.
  • the device 1000 may obtain a user feature vector by inputting a speech feature vector as an input value to a deep neural network model (DNN) and a feature value related to a user as an output to the deep neural network model, respectively, and training.
  • DNN deep neural network model
  • the deep neural network model may include at least one of a convolutional neural network (CNN), a recurrent neural network (RNN), and a generative adversarial network (GAN), but is not limited to the examples listed above.
  • CNN convolutional neural network
  • RNN recurrent neural network
  • GAN generative adversarial network
  • the deep neural network model used by the device 1000 of the present disclosure may include all types of currently known neural network models.
  • the device 1000 may include an Automatic Speech Recognition (ASR) model.
  • ASR Automatic Speech Recognition
  • the ASR model is a speech recognition model that recognizes speech using an integrated neural network, and may output text from a user's speech input.
  • the ASR model may be, for example, an artificial intelligence model including an acoustic model, a pronunciation dictionary, and a language model.
  • the ASR model may be, for example, an end-to-end speech recognition model having a structure including an integrated neural network without separately including an acoustic model, a pronunciation dictionary, and a language model.
  • the end-to-end ASR model uses an integrated neural network to convert speech into text without a process of converting phonemes into text after recognizing phonemes from speech.
  • the text may include at least one character.
  • Characters refer to symbols used to express and write human language in a visible form.
  • the characters may include Hangul, alphabets, Chinese characters, numbers, diacritics, punctuation marks, and other symbols.
  • the text may include a character string.
  • a character string refers to a sequence of characters.
  • the text may include at least one alphabet.
  • a grapheme is the smallest unit of sound, composed of at least one letter.
  • one letter may be a letter element, and a character string may mean an arrangement of letter elements.
  • text may include morphemes or words.
  • a morpheme is the smallest unit having a meaning, which is composed of at least one grammeme.
  • a word is a basic unit of a language that can be used independently or exhibits a grammatical function, consisting of at least one morpheme.
  • the device 1000 may receive the user's voice input from the audio signal and obtain text from the user's voice input using the ASR model.
  • the device 1000 may analyze the meaning of the acquired user's voice input to generate a corresponding control command.
  • the device 1000 may include a sensor module capable of detecting a user's movement state, and may obtain user movement information.
  • the sensor module provided in the device 1000 includes at least one of a gesture sensor, a gyroscope sensor, and an accelerometer sensor.
  • the device 1000 may detect a user's movement, rotation, etc. through an provided sensor, and may generate an electrical signal or data value related to the sensed user's movement.
  • the device 1000 measures the amount of change in pitch, roll, and yaw based on three axes of x, y, and z to obtain tilt information of the device 1000 and acceleration in each axis direction. and the user's movement information may be obtained using the tilt information and acceleration obtained based on the three axes of the device 1000 .
  • a roll represents a rotational movement about the x-axis
  • a pitch indicates a rotational movement about the y-axis
  • a yaw indicates a rotational movement about the z-axis.
  • the device 1000 may identify the user's utterance state by detecting changes in pitch, roll, and yaw caused by the movement of the user's jaw.
  • FIG. 2 is a block diagram of a device according to an embodiment of the present disclosure.
  • a device 2000 may include an input unit 2100 , a memory 2200 , a sensing unit 2300 , and a processor 2400 .
  • the device 2000 may further include a communication unit 2500 and an output unit 2600 .
  • the electronic device 2000 may include more components or some components may be excluded.
  • the device 2000 may include an output module such as a speaker for outputting an audio signal.
  • the input unit 2100 receives an external audio signal of the device 2000 .
  • the input unit 2100 may include a microphone.
  • the external audio signal may include a user's voice input.
  • the input unit 2100 may include other means for inputting data for controlling the device 2000 according to the type of the device 2000 .
  • the input unit 2100 includes a key pad, a switch, a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral tension measurement method, piezo effect method, etc.), It may include, but is not limited to, a jog wheel, a jog switch, and the like.
  • the processor 2400 controls the overall operation of the device 2000 .
  • the processor 2400 may be configured to process instructions of a computer program by performing arithmetic, logic and input/output operations and signal processing.
  • the instructions of the computer program are stored in the memory 2200 , and the instructions may be provided to the processor 2400 from the memory 2200 .
  • functions and/or operations performed by the processor 2400 may be implemented by the processor 2400 executing an instruction received according to computer program code stored in a recording device such as the memory 2200. .
  • the processor 2400 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), and FPGAs (Field Programmable Gate Arrays) may be configured as at least one, but is not limited thereto.
  • the processor 2400 may be an application processor (AP) that executes an application.
  • AP application processor
  • the processor 2400 may obtain the user's voice input from the audio signal received through the input unit 2100 .
  • the processor 2400 may execute an application that performs an operation of the device 2000 or an external device based on the user's voice input, and the user for additionally controlling the device 2000 or the external device through the executed application can receive voice input from The processor 2400, for example, when a voice input for executing a predetermined voice assistant application such as “S Voice” or “bixby” is received, the corresponding voice assistant application and may generate a control command based on the additionally input user's voice input and user's movement information.
  • a predetermined voice assistant application such as “S Voice” or “bixby”
  • the processor 2400 identifies the user's voice input by the actual user's utterance, except for the non-voice section not caused by the user's utterance from the received audio signal.
  • the processor 2400 may analyze an audio signal input through the input unit 2100 to identify an utterance section by the user's utterance.
  • the processor 2400 extracts a feature vector of the received audio signal and analyzes the feature vector to identify the user's voice input by the user's utterance.
  • the processor 2400 may extract a feature vector due to the user's utterance by applying a deep neural network (DNN) to the feature vector extracted from the audio signal.
  • DNN deep neural network
  • the processor 2400 compares the feature vector input during the user's speech section with each model using an acoustic model, a language model, and a pronunciation lexicon, and scores the input speech signal You can get a word string for .
  • the processor 2400 combines the user's voice signal input through the input unit 2100 with movement information according to the user's movement obtained from the sensing unit 2300 to control the device 2000 or an external device. can create The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. For example, when a voice input such as "volume" is input, the processor 2400 identifies a user's intention to control the volume during a control operation of the device 2000 or an external device, and The attribute value may be determined using the user's motion information.
  • the processor 2400 may obtain information on the user's up, down, left, right, or front and rear movement information through the sensing unit 2300 , and may generate a control command according to the user's movement. Specifically, when a user movement in an upper direction or a forward direction is sensed through the sensing unit 2300 , the processor 2400 may increase an attribute value related to a control command. Also, when a user's movement in a lower direction or a backward direction is sensed through the sensing unit 2300 , the processor 2400 may decrease an attribute value related to a control command.
  • the processor 2400 identifies a user's intention to control the volume during a control operation of the device 2000 or an external device, and The attribute value may be determined using the user's motion information.
  • the device 2000 is a device mounted on the user's ear, such as a smart earphone
  • the processor 2400 is When the user's head moves from the bottom to the top according to the movement of the user's head, a control command to perform a volume up operation is generated, and the voice input "volume” or “volume down” is recognized
  • a control command for performing a volume down operation may be generated.
  • the direction in which the attribute value is to be changed according to the user's motion information is not limited thereto and may be changed.
  • the processor 2400 controls the user through the sensing unit 2300 .
  • a control command for controlling the movement of the controlled target may be generated according to up, down, left and right, or forward and backward motion information.
  • the processor 2400 when the device 2000 or the external device to be controlled includes a display module for visually outputting information, the processor 2400 through the sensing unit 2300 according to the user's up, down, left, right, or forward and backward movement information A control command for controlling the scrolling of an image output through the display module may be generated.
  • the sensing unit 2300 includes an acceleration sensor 2310 and a gyroscope sensor 2320 , and may acquire user movement information.
  • the sensing unit 2300 may detect a user's motion and generate an electrical signal or data value related to the sensed user's motion.
  • the sensing unit 2300 measures the amount of change in pitch, roll, and yaw based on three axes of x, y, and z, and obtains tilt information of the device 2000 and acceleration in each axis direction. and the user's movement information may be obtained by using the tilt information and acceleration obtained based on the three axes of the device 2000 .
  • the sensing unit 1000 may detect a vibration caused by the user's utterance to identify the user's utterance state.
  • the memory 2200 may store commands set so that the processor 2400 generates a control command for controlling the device 2000 or an external device based on the user's voice input and motion information.
  • the memory 2200 may include, for example, random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and programmable read memory (PROM). -Only Memory), but is not limited to the above-described example.
  • the device 2000 may communicate with an external device through a predetermined network using the communication unit 2500 .
  • the communication unit 2500 may include one or more communication processors supporting wired communication or wireless communication.
  • Networks include Local Area Networks (LANs), Wide Area Networks (WANs), Value Added Networks (VANs), mobile radio communication networks, satellite networks, and combinations thereof. It is a data communication network in a comprehensive sense that enables each network constituent entity to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
  • Wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association) ), NFC (Near Field Communication), etc. may be there, but is not limited thereto.
  • the output unit 2600 outputs a sound signal or a video signal to the outside.
  • the output unit 2600 may include a speaker or a receiver that outputs a sound signal to the outside, or a display module that visually provides information to the outside.
  • FIG 3 is a diagram for explaining a voice recognition process of the device 2000 according to an embodiment of the present disclosure.
  • the processor 2400 of the device 2000 detects a vibration signal 310 caused by the user's utterance from the audio signal 330 obtained from the input unit 2100 , or detects a vibration signal 310 by the user from the sensing unit 2300 .
  • the vibration signal 310 due to ignition may be detected.
  • the processor 2400 identifies a time interval T1 of t1 to t2, a time interval T2 from t3 to t4, and a time interval T3 from t5 to t6, which are intervals in which the vibration is detected, as the interval in which the user actually uttered. .
  • the processor 2400 may remove noise in a section in which vibration is not detected among the audio signals 330 and identify the user voice input 320 in word units using only the audio signal during a time section in which vibration is detected.
  • the external noise signal may be removed by applying the ASR algorithm.
  • the processor 2400 may use vibration information generated during the user's speech in order to identify the user's voice input by the actual user's speech from the received audio signal 330 .
  • the vibration generated when the user's utterance is to be detected by the input unit 2100 or the sensing unit 2300 of the device 2000 attached to the ear through the bone.
  • the processor 2400 may analyze the vibration signal 310 to identify whether the user is uttering and a utterance section by the user's utterance among the input audio signals 330 .
  • the processor 2400 may determine the audio signal input in T1 , T2 , and T3 , which is a section in which vibration is detected among the audio signal 330 , as the user's voice input by the actual user's utterance.
  • the processor 2400 may determine that the audio signal received in sections T1, T2, and T3 in which no vibration is detected is noise or an audio signal generated by another external user.
  • the processor 2400 analyzes the voice input input in the sections T1, T2, and T3 in which vibration is sensed by the user's utterance through the vibration information 310, and in the time period T1 of t1 to t2
  • a user voice input such as “Bixby” uttered, “volume” uttered during a time period T2 of t3 to t4, and “UP” uttered during a time period T3 of t5 to t6 may be recognized.
  • the sensing unit 2300 of the device 2000 acquires the user's motion information 340 after the time t1 when it is determined that the user's voice input is started, and controls the user's voice input using the user's voice input and the user's motion information. information can be generated.
  • FIG. 4 is a diagram for explaining user movement information according to an embodiment of the present disclosure.
  • the motion information may be information on roll, pitch, and yaw obtained based on three axes of x, y, and z.
  • a roll represents a rotational movement about the x-axis
  • a pitch indicates a rotational movement about the y-axis
  • a yaw indicates a rotational movement about the z-axis.
  • 4 shows motion information according to the user's motion in the pitch direction among roll, pitch, and yaw.
  • the device 1000 may acquire user movement information by detecting changes in roll, pitch, and yaw acquired for a predetermined time. For example, if the reference angle value of the pitch angle when the user is facing the front is 0, when the user raises his/her head relative to the front, the pitch angle increases from 0 degrees (deg) to the + direction, Conversely, when the user drops his head down with respect to the front, the pitch angle may be set to decrease from 0 degrees to the - direction.
  • the clockwise direction of rolling the head in the direction of the user's right ear with respect to the user is + direction
  • the counterclockwise direction of rolling the head in the direction of the user's left ear may be set to the - direction.
  • the direction in which the user turns his head clockwise from the front direction to the right ear is the + direction
  • the user's The direction of turning the head counterclockwise from the frontal direction to the left ear direction may be set to the - direction.
  • the pitch angle, roll angle, and the + direction and the - direction of the yaw angle can be changed.
  • the device 1000 may estimate the user's movement after the predetermined reference time by measuring changes in the pitch angle, the roll angle, and the yaw angle obtained after the predetermined reference time based on the predetermined reference time.
  • FIG. 5 is a diagram for explaining a voice recognition process and generation of control information using user's motion information according to an embodiment of the present disclosure.
  • the device 2000 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point based on the utterance period start point, and based on the determined movement direction and movement size, Control information can be created. Specifically, the device 2000 may determine the amount of change in the specific attribute value according to the control command determined according to the user's voice input, based on the movement direction and the movement size.
  • the attribute value is a parameter related to the control command, and may be determined according to the type of the device to be controlled and the type of the control command. For example, when the device to be controlled is a speaker or earphone outputting sound and the control command is related to the volume, the attribute value determined based on the user's movement may be the volume level. In addition, when a device to be controlled, such as a robot cleaner, a drone, or a robot pet, can be driven by itself and the control command is related to movement (eg, "Move"), the attribute value determined based on the user's movement is to avoid It may be a movement direction and a movement speed of the xyz axis of the control target.
  • the processor 2400 may generate a control command to control the front, back, left, right, and movement speed of the drivable device to be controlled according to the user's movement.
  • the control command is a command related to a change in illuminance such as “change lighting”, similarly to the volume control described above
  • the processor 2400 generates a light bulb based on the user's movement information. can increase or decrease the brightness of
  • the device to be controlled is a display device that outputs an image and the control command is related to movement of the output image, such as “move image” or “scroll image”
  • the attribute value may indicate the direction and size of the output image.
  • the processor 2400 may generate a control command to move the output image in a direction consistent with the user's movement according to the user's head movement.
  • the attribute value may be an on/off value of the controlled device.
  • the processor 2400 may turn on/off the power of the controlled device based on the user's movement information. Which of the xyz axis directions is set as the on/off direction may be changed.
  • the device 2000 executes a voice assistant application, and then executes a voice assistant application of a control command to be controlled through a user's voice input. type can be determined.
  • a predefined keyword for example, a keyword such as “Bixby”
  • the device 2000 may determine that the user's intention is to control the volume.
  • the device 2000 may determine the type of the control command by directly identifying a word such as “Volume” excluding a keyword such as “Bixby” that is input in advance.
  • the device 2000 may recognize the user's voice input after the vibration is sensed and perform a voice processing process.
  • the device 2000 presets a control command corresponding to the user's small voice input specified in advance, and generates a control command based on the user's movement information without a separate voice recognition process when the small voice input of the user is input. can do.
  • a control command corresponding to a small murmur preset by the user may be preset.
  • the device 2000 determines whether it corresponds to the murmur preset by the user by comparing it with a preset pattern, and the murmur signal preset by the user is received. If it is determined, a separate voice recognition process may be skipped thereafter, and a preset attribute value of a control command may be determined based on the user's motion information.
  • the device 2000 receives the user's murmur signal, the user's murmur signal is a preset signal for volume control. Determine if the pattern is the same. And, when it is determined that the user's muttering signal is a signal for volume control, the device 2000 may determine the volume control as a control command type, and then determine the volume value based on the acquired user's movement information. As such, when a preset small voice signal or a control command corresponding to a murmur is preset, the user speaks only a preset small voice signal without speaking the voice command in a loud voice, and controls the device 2000 through movement. can
  • the device 2000 may determine an attribute value related to the user's control command by using the user's movement information input after the user's utterance section.
  • the sensing unit 2300 of the device 2000 determines the user's movement direction and movement size through the user's pitch, roll, and yaw movement acquired based on the xyz axis, and is related to the control command based on the movement direction and the size of the movement.
  • An attribute value may be determined.
  • the processor 2400 may determine the user's movement by using the movement direction and movement magnitude information obtained in the xyz axis direction. According to an embodiment, in order to determine the user's movement, the processor 2400 may use the movement direction input in each axis direction or an extreme value of an angle obtained based on the xyz axis.
  • the pitch angle at the reference time at which the user's motion information is acquired is referred to as the reference pitch angle 0 degrees, and when the user raises his head, the pitch angle increases from 0 degrees to the + direction, and conversely, when the user lowers his head Assume that the pitch angle decreases from 0 degrees in the negative direction.
  • a change in which the pitch angle increases or decreases in the + or - direction may be referred to as a movement direction.
  • the processor 2400 may determine a movement in which the user raises his/her head or lowers his/her head. In the above example, it may be defined as a pitch movement in the + direction in which the pitch angle increases when the user raises his head upward, and a pitch movement in the - direction in which the pitch angle decreases when the user lowers the whale.
  • the processor 2400 may determine the user's movement through the motion information in which the pitch angle is increased when the user performs an operation to raise the head up after the user's utterance together with the control command "volume” or "volume up”. Also, when the pitch angle is increased after the user's utterance time, the volume of the current device may be increased. In addition, when the processor 2400 performs an operation of bending the user's head down after the user's utterance together with a control command such as "volume” or "volume down", the user's movement through motion information with a reduced pitch angle may be determined, and when the pitch angle is decreased after the user's utterance point, the volume of the current device may be decreased.
  • the movement information obtained in the xyz axis direction may be repeatedly increased and decreased.
  • the user's movement may be analyzed using the extreme value.
  • the processor 2400 determines that the user has performed the action of raising his/her head twice. can do. That is, when the pitch angle increases and then decreases, the processor 2400 may determine that the user's intention is to perform an operation of raising the head upward, and the user's intention is that the amount of change in the pitch angle is two maximum values. It can be expressed in the form of a graph with When it is determined that the user raises his/her head twice together with the control command "volume" or "volume up", the processor 2400 may increase the volume of the current device by two steps.
  • the processor 2400 may determine that the user performs the action of bowing the head down twice. When it is determined that the user lowers the head twice together with the control command "volume” or "volume down", the processor 2400 may decrease the volume of the current device by two steps.
  • the processor 2400 may detect the user's movement only when the user's movement is greater than or equal to a predetermined threshold in order to prevent the control operation from reacting sensitively to the minute user's movement.
  • the processor 2400 may determine that the user has raised his head twice only when the pitch angles ⁇ 1 and ⁇ 2 of the two maximum values P1 and P2 are greater than a predetermined upper threshold value. If the pitch value of the extreme value is smaller than the predetermined upper limit threshold, the processor 2400 may determine that the user does not raise his/her head in order to perform the volume up operation.
  • the processor 2400 may similarly determine that the user has lowered the head twice only when the pitch angles ⁇ 3 and ⁇ 4 of the two minimum values P3 and P4 are smaller than a predetermined lower limit threshold value.
  • the absolute value of the upper limit threshold value or the lower limit threshold value is set to a smaller value, control information may be generated to more sensitively respond to a user's movement. In order to prevent a case in which the user reacts too sensitively to a small movement of the user, the absolute value of the upper limit threshold value or the lower limit threshold value may be increased.
  • the device 2000 may determine an attribute value related to a control command based on the size of the movement as well as the direction of the movement. Specifically, the device 2000 may determine an attribute value related to the control command to be linearly proportional to or inversely proportional to the motion size. For example, the processor 2400 increases the volume of the current device by one step when motion information of a user having a pitch angle of 30 degrees is obtained along with a control command of “volume” or “volume up”, and the pitch angle is 60 When the movement information of the user is obtained, the volume of the current device may be increased by two steps.
  • a predetermined threshold time from the end of the user's utterance Motion information acquired before this elapses may be used.
  • the processor 2400 is Control information may be generated using the motion information 530 .
  • the processor 2400 determines the volume of the current device when the motion information 530 in the pitch direction having the maximum value P5 is obtained within a predetermined threshold time after the voice command “Bixby volume” is terminated. can increase
  • the processor 2400 may generate a control command by using motion information obtained before a preset end keyword voice is input.
  • the processor 2400 may include, for example, the user's movement information acquired before the preset end keywords such as "OK”, “Finished”, “Thanks”, “Done”, “Stop”, and “End” are recognized. can be used to generate control commands.
  • the processor 2400 recognizes the predetermined end keyword from the time of the user's utterance.
  • the volume level of the current device may be continuously increased as many times as the number of motions of raising the user's head up until it is reached.
  • the processor 2400 may analyze the user's movement information without using the end keyword, and determine that the control operation is stopped when the user's movement returns to the initial position at the start of the utterance.
  • the processor 2400 controls the volume value according to the movement of the user's head after the user's voice command "Bixby volume” or "volume” When returning, the volume control operation can be stopped.
  • 6 and 7 are diagrams for explaining a process of determining an attribute value of control information based on motion information according to an embodiment.
  • the processor 2400 may determine an attribute value related to a control command by using the motion information detected by the sensing unit 2300 .
  • the processor 2400 may change the attribute value in stages in consideration of the direction and magnitude of the movement, or may change the attribute value to be linearly proportional or inversely proportional to the movement.
  • the processor 2400 determines whether to increase or decrease the attribute value related to the control command in consideration of the detected movement direction.
  • the processor 2400 may determine an attribute value related to a control command by using motion information in the direction of at least one of the xyz axes. For example, the processor 2400 uses a pitch movement rotating about the y-axis to determine that the property value related to the control command is increased when the pitch angle has a positive value, and when the pitch angle has a - value, the property It can be decided to decrease the value. As shown in FIG.
  • the processor 2400 may change the attribute value stepwise during time period T1 to T2. (620).
  • the processor 2400 linearly changes the attribute value during time T1 to T2 It can be done (720). For example, the processor 2400 increases the volume of the device stepwise or linearly while maintaining a state in which the pitch angle is greater than a predetermined threshold with a control command of “volume” or “volume up”. can do it
  • FIG. 8 is a diagram for explaining a process of determining an attribute value of control information based on motion information according to another embodiment of the present disclosure.
  • the processor 2400 may determine an amount of change in motion information based on a threshold value in order to prevent a control operation from reacting sensitively to a minute user's movement. Specifically, the processor 2400 determines a case in which motion information on any one of the xyz axes is changed from a value smaller than the threshold value Th to a larger value in a + direction, and a case in which the motion information is changed from a value larger than Th to a smaller value in a negative direction is movement in the - direction. is determined to have occurred, and the user's movement may be determined by analyzing the number of movements in the + direction and the number of movements in the - direction.
  • the processor 2400 analyzes the motion information 800 obtained from the sensing unit 2300 , and when a motion having a larger value from a value smaller than the threshold Th1 is obtained, the + direction , and a motion having a small value from a value greater than the threshold value Th1 is obtained, it may be determined that a movement in the -direction has occurred.
  • the processor 2400 determines three + direction movements and two - direction movements having the maximum values of P1, P3, and P4. can do. Since the change in motion between the P1 maximum value and the P2 maximum value is within a range larger than the Th1 threshold value, it is not determined that an additional + direction movement has occurred and may be ignored.
  • the processor 2400 may set a threshold value for determining movement in the + direction and a threshold value for determining movement in the - direction differently. Assuming that the threshold value for determining the movement in the + direction is Th1 and the threshold value for determining the movement in the - direction is Th2, the processor 2400 determines a case in which a motion having a larger value from a value smaller than the threshold value Th1 is obtained. It may be determined that a movement in the + direction has occurred, and a case in which a movement having a small value from a value greater than the threshold value Th2 is obtained may be determined as occurring a movement in the - direction. In FIG.
  • the processor 2400 when the movement in the + direction and the - direction is determined based on the two threshold values of Th1 and Th2, the processor 2400 performs three +-direction movements with the maximum values of P1, P3, and P4 and one - Able to judge directional movement. Since the movement change between the P2 maximum value and the P3 maximum value is changed within a range larger than the Th2 threshold value, it may be determined that the -direction movement does not occur among the movement changes between the P2 maximum value and the P3 maximum value. As such, when determining the movement in the + direction and the - direction based on the two threshold values, the processor 2400 may prevent the control operation from reacting sensitively to the minute user's movement.
  • the processor 2400 may determine an attribute value related to control information. For example, when the control information is the volume, the volume level may be increased according to the number of movements in the + direction, or the volume level may be decreased according to the number of movements in the - direction.
  • 9A is a diagram illustrating a control system including a device generating control information and an external device to be controlled according to an exemplary embodiment.
  • the device 910 generates control information based on the user's voice input and motion information, and transmits the control information to the external device 930 connected through the network 920 to the external device 930 .
  • the device 910 may generate a control command based on a user's voice input and motion information by a voice assistant program installed by default, and use the control command to control the device 1000 itself.
  • the device 910 may be a wearable device such as AR (Augmented Reality) glasses, a smart watch, a smart lens, a smart bracelet, and smart clothing, or a mobile device such as a smart phone, a smart tablet, a computer, or a notebook computer, It is not limited thereto.
  • AR Augmented Reality
  • a smart watch a smart lens
  • a smart bracelet and smart clothing
  • a mobile device such as a smart phone, a smart tablet, a computer, or a notebook computer, It is not limited thereto.
  • the external device 930 is a smart light bulb, a smart pet, a robot cleaner, a display device, a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a server, a micro server, a GPS ( global positioning system) devices, e-book terminals, digital broadcast terminals, navigation devices, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices, but are not limited thereto.
  • PDA personal digital assistant
  • the network 920 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and a mutual network thereof. It is a data communication network in a comprehensive sense that includes a combination and enables each network constituent entity shown in FIG. 9A to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
  • 9B is a diagram illustrating a control system including a device for generating control information and an external device to be controlled according to another exemplary embodiment.
  • the device 910 transmits the user's voice input and motion information to the first external device 940 connected through the network 920, and the first external device 940 transmits the user's voice input and motion information.
  • Control information may be generated based on the motion information.
  • the control command generated by the first external device 940 may be used again to control the device 910 or another second external device 950 , or may be used to control the first external device 940 .
  • the device 910 transmits the user's voice input and motion information to the first external device 940, and the first external device 940 generates control information based on the user's voice input and motion information, and , the device 910 may receive a control command generated by the first external device 940 and perform a control operation based on the received control information.
  • the device 910 transmits the user's voice input and motion information for controlling the second external device 950 to the first external device 940 , and the first external device 940 receives the user's voice input and motion information.
  • the control information may be generated based on the motion information, and the second external device 950 may receive the control information generated by the first external device 950 and perform a control operation based on the received control information.
  • FIG. 10 is a flowchart of a method for a device to provide control information according to an embodiment.
  • the input unit 2100 receives an external audio signal.
  • the processor 2400 executes the corresponding voice assistant application, and the input unit 2100 receives an external audio signal including the user's voice input. can be controlled to receive.
  • the input unit 2100 or the sensing unit 2300 acquires vibration information caused by the user's utterance.
  • the processor 2400 analyzes the audio signal input through the input unit 2100 to identify a speech signal pattern by the user's utterance to identify the utterance section, or is generated by the user's utterance detected by the sensing unit 2300 . By detecting the vibration to identify the speech section, vibration information for identifying the user's speech section may be obtained.
  • the processor 2400 identifies the user's voice input by the actual user's utterance, excluding the non-voice section not caused by the user's utterance from the received audio signal.
  • the processor 2400 controls the device 2000 or an external device by combining the user's voice signal input through the input unit 2100 and movement information according to the user's movement obtained from the sensing unit 2300 . It is possible to generate control information for The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. In order to determine the attribute value of the control command, the processor 2400 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point on the basis of the utterance period start point, and the determined movement direction and movement An attribute value of the control information may be determined based on the size.
  • the processor 2400 determines the user's movement direction and movement size through the user's pitch, roll, and yaw movements obtained from the sensing unit 2300 on the basis of the xyz axis, and controls based on the movement direction and the movement size.
  • An attribute value related to the command may be determined.
  • the processor 2400 may use the generated control command to control the device 2000 itself, or transmit the generated control command to an external device connected through a network to control the external device.
  • FIG. 11 is a detailed flowchart of a method for a device to provide control information according to an embodiment of the present disclosure.
  • the input unit 2100 receives an audio signal.
  • the input unit 2100 or the sensing unit 2300 acquires vibration information by the user's utterance, and the sensing unit 2300 includes an acceleration sensor 2310 and a gyroscope sensor 2320, and the user's Motion information can be obtained.
  • the sensing unit 2300 may detect a user's motion and generate an electrical signal or data value related to the sensed user's motion.
  • the processor 2400 analyzes the audio signal input through the input unit 2100 to identify a speech signal pattern by the user's speech to identify the speech section, or the user's speech detected by the sensing unit 2300 .
  • the user's speech state is determined by detecting the vibration generated by the
  • the processor 2400 identifies the user's voice input due to the actual user's speech, except for the non-voice section that is not caused by the user's speech from the received audio signal.
  • the processor 2400 controls the device 2000 or an external device by combining the user's voice signal input through the input unit 2100 and movement information according to the user's movement obtained from the sensing unit 2300 . It is possible to generate control information for The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. In order to determine the attribute value of the control command, the processor 2400 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point on the basis of the utterance period start point, and the determined movement direction and movement An attribute value of the control information may be determined based on the size.
  • FIG. 12 is a flowchart illustrating a method of controlling an external device according to an embodiment of the present disclosure.
  • the device 1200 may receive an audio signal, and in operation S1220 , the device 1200 may obtain vibration information and movement information of the user due to the user's utterance.
  • the device 1200 identifies a section of the input audio signal due to the user's utterance, and identifies the user's voice input due to the actual user's utterance.
  • the device 1200 generates control information for controlling the external device 1250 by combining the user's voice signal and movement information according to the user's movement, and in operation S1240, the device 1200 connects to a predetermined network.
  • the generated control information is transmitted to the connected external device 1250 through the In operation S1260 , the processor included in the external device 1250 changes the state of the external device by performing a control operation according to the received control information.
  • FIG. 13 is a flowchart illustrating a method of controlling an external device according to another embodiment of the present disclosure.
  • the device 1300 receives an audio signal, and in operation S1311 , the device 1300 acquires vibration information and user movement information due to a user's utterance.
  • the device 1300 transmits the acquired audio signal, vibration information, and user movement information to the external device 1350 .
  • the external device 1350 identifies a section of the input audio signal due to the user's utterance, and identifies the user's voice input due to the actual user's utterance.
  • the external device 1350 identifies a section by the user's utterance among the input audio signals and identifies the user's voice input by the actual user's utterance.
  • the external device 1350 generates control information by combining the user's voice signal and movement information according to the user's movement.
  • the control information may be control information for controlling the device 1300 .
  • the external device 1350 transmits the generated control information to the device 1300 , and the device 1300 receiving the control information in operation S1331 performs a control operation according to the received control information. ) can be changed.
  • the control information may be control information for controlling the external device 1380 .
  • the control information generated by the external device 1350 in operation S1332 is directly transmitted to another external device 1380, or the device 1300 that receives the control information generated by the external device 1350 in operation S1333. may transmit the control information to the external device 1380 again.
  • the processor included in the external device 1380 may perform a control operation according to the received control information.
  • FIG. 14 is a block diagram illustrating a configuration of an electronic device 2000 according to an embodiment of the present disclosure.
  • the electronic device 2000 illustrated in FIG. 14 may include the same components as the devices described with reference to FIGS. 1 to 13 , and the same components may perform all of the operations and functions described with reference to FIGS. 1 to 13 . Accordingly, components of the electronic device 2000 that have not been described so far will be described below.
  • the electronic device 2000 includes a user input unit 1100 , an output unit 1200 , a control unit 1300 , a sensing unit 1400 , a communication unit 1500 , an A/V input unit 1600 , and a memory. (1700) may be included.
  • the user input unit 1100 means a means for a user to input data for controlling the electronic device 2000 .
  • the user input unit 1100 includes a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral type).
  • a tension measurement method a piezo effect method, etc.
  • a jog wheel a jog switch, and the like, but is not limited thereto.
  • the user input unit 1100 may receive a user input necessary to generate conversation information to be provided to the user.
  • the output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210 , a sound output unit 1220 , and a vibration motor 1230 . .
  • the vibration motor 1230 may output a vibration signal.
  • the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, etc.).
  • the sensing unit 1400 may detect a state of the electronic device 2000 or a state around the electronic device 2000 , and transmit the sensed information to the controller 1300 .
  • the sensing unit 1400 includes a magnetic sensor 1410 , an acceleration sensor 1420 , a temperature/humidity sensor 1430 , an infrared sensor 1440 , a gyroscope sensor 1450 , and a position sensor. (eg, GPS) 1460 , a barometric pressure sensor 1470 , a proximity sensor 1480 , and at least one of an illuminance sensor 1490 , but is not limited thereto. Since a function of each sensor can be intuitively inferred from the name of a person skilled in the art, a detailed description thereof will be omitted.
  • the communication unit 1500 may include components for performing communication with other devices.
  • the communication unit 1500 may include a short-range communication unit 1510 , a mobile communication unit 1520 , and a broadcast receiving unit 1530 .
  • Short-range wireless communication unit 151 Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, infrared ( It may include an IrDA, infrared Data Association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
  • BLE Bluetooth Low Energy
  • WLAN Wi-Fi
  • Zigbee Zigbee
  • infrared It may include an IrDA, infrared Data Association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
  • the mobile communication unit 1520 transmits/receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission/reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receiver 1530 receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the electronic device 2000 may not include the broadcast receiver 1530 .
  • the communication unit 1500 may transmit/receive information necessary to generate conversation information to be provided to the first user with the second interactive electronic device 3000 , other devices, and the server.
  • the A/V (Audio/Video) input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 , a microphone 1620 , and the like.
  • the camera 1610 may obtain an image frame such as a still image or a moving picture through an image sensor in a video call mode or a shooting mode.
  • the image captured through the image sensor may be processed through the processor 1300 or a separate image processing unit (not shown).
  • the image frame processed by the camera 1610 may be stored in the memory 1700 or transmitted to the outside through the communication unit 1500 .
  • Two or more cameras 1610 may be provided according to the configuration of the terminal.
  • the microphone 1620 receives an external sound signal and processes it as electrical voice data.
  • the microphone 1620 may receive an acoustic signal from an external device or a speaker.
  • the microphone 1620 may use various noise removal algorithms for removing noise generated in the process of receiving an external sound signal.
  • the memory 1700 may store a program for processing and control of the controller 1300 , and may store data input to or output from the electronic device 2000 .
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • magnetic memory magnetic disk
  • magnetic disk may include at least one type of storage medium among optical disks.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions, for example, may be classified into a UI module 1710 , a touch screen module 1720 , a notification module 1730 , and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, or the like that interworks with the electronic device 2000 for each application.
  • the touch screen module 1720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the controller 1300 .
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • the notification module 1730 may generate a signal for notifying the occurrence of an event in the electronic device 2000 .
  • Examples of events generated in the electronic device 2000 include call signal reception, message reception, key signal input, schedule notification, and the like.
  • the notification module 1730 may output a notification signal in the form of a video signal through the display unit 1210 , may output a notification signal in the form of an audio signal through the sound output unit 1220 , and the vibration motor 1230 . It is also possible to output a notification signal in the form of a vibration signal through
  • the electronic device 2000 described in the present disclosure may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component.
  • the electronic device 2000 includes a processor, arithmetic logic unit (ALU), application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and microcontrollers. It may be implemented using one or more general purpose computers or special purpose computers, such as a computer, microprocessor, or any other device capable of executing and responding to instructions.
  • Software may comprise a computer program, code, instructions, or a combination of one or more of these, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software may be implemented as a computer program including instructions stored in a computer-readable storage medium.
  • the computer-readable recording medium includes, for example, a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optically readable medium (eg, CD-ROM). (CD-ROM), DVD (Digital Versatile Disc), etc.
  • the computer-readable recording medium is distributed among computer systems connected through a network, so that the computer-readable code can be stored and executed in a distributed manner.
  • the medium may be readable by a computer, stored in a memory, and executed on a processor.
  • the computer is an apparatus capable of calling a stored instruction from a storage medium and operating according to the disclosed embodiment according to the called instruction, and may include the electronic devices 1000 and 2000 according to the disclosed embodiment.
  • the computer-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
  • the electronic devices 1000 and 2000 or the method according to the disclosed embodiments may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product may include a software program, a computer-readable storage medium in which the software program is stored.
  • the computer program product is a product in the form of a software program distributed electronically through a manufacturer of the electronic device 1000 or 2000 or an electronic market (eg, Google Play Store, App Store) (eg, downloadable products). application (downloadable application)).
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a software program.
  • the computer program product in a system consisting of a server and a terminal, may include a storage medium of a server or a storage medium of a terminal.
  • a third device eg, a smart phone
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include the software program itself transmitted from the server to the terminal or third device, or transmitted from the third device to the terminal.
  • one of the server, the terminal, and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, the terminal, and the third device may execute the computer program product to distribute the method according to the disclosed embodiments.
  • a server may execute a computer program product stored in the server, and may control a terminal communicatively connected with the server to perform the method according to the disclosed embodiments.
  • the third device may execute a computer program product to control the terminal communicatively connected to the third device to perform the method according to the disclosed embodiment.
  • the third device may download the computer program product from the server and execute the downloaded computer program product.
  • the third device may execute the computer program product provided in a preloaded state to perform the method according to the disclosed embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present disclosure provides: a device for more accurately recognizing a speech input of a user, and performing a control operation by using the speech input of the user, wherein the speech input is recognized by analyzing a signal generated when the user makes an utterance, or by using vibration information to identify the signal generated by the utterance of the user from among audio signals input to the device; and a control method therefor.

Description

사용자의 발화 상태에 기초하여 제어 정보를 생성하는 디바이스 및 그 제어 방법A device for generating control information based on a user's speech state and a control method therefor
본 개시는 사용자의 발화(utterance) 상태에 기초하여 음성인식을 수행하고, 음성인식에 따른 제어 명령을 생성하는 디바이스 및 디바이스의 제어 방법에 관한 것으로, 보다 상세하게는 디바이스가 사용자의 실제 발화에 따른 음성 명령을 인식하고 인식된 음성 명령에 따른 디바이스의 제어를 위한 제어 명령을 생성하거나, 사용자의 신체 일부분의 움직임에 따른 움직임 정보와 인식된 음성 명령을 이용하여 디바이스의 제어 명령을 생성하는 것과 관련된다.The present disclosure relates to a device that performs voice recognition based on a user's utterance state, and generates a control command according to voice recognition, and a control method of the device, and more particularly, the device performs voice recognition according to the user's actual utterance. Recognizing a voice command and generating a control command for controlling the device according to the recognized voice command, or generating a control command for the device using motion information according to the movement of a user's body part and the recognized voice command .
IT 기술의 발달로 인해서 디바이스 형태, 서비스, 콘텐츠, 디바이스와 사용자간의 인터페이스 등이 다양하게 변화되고 있다. 종래 디바이스와 사람간의 인터페이스는 소정의 입력 수단을 통한 사용자의 직접적인 터치에 의한 접촉식 인터페이스가 주로 이용되었다. 예를 들어, PC에서는 키보드나 마우스를 이용한 사용자의 입력 인터페이스가 이용되었으며, 스마트폰에서는 사용자가 손가락으로 화면을 직관적으로 터치하는 인터페이스가 주로 이용되었다. 최근에는 디바이스와 사람 사이의 인터페이스로서 음성인식(speech recognition)이 주목받고 있다. 음성인식은 마이크와 같은 소리 센서를 통해 얻은 음향학적 신호(acoustic speech signal)를 단어나 문장으로 변환시키는 기술이다. 음성 인식 기술이 발전함에 따라, 사용자는 디바이스에 음성을 입력하고, 음성 입력에 따른 디바이스의 동작의 제어가 가능하게 되었다. Due to the development of IT technology, device types, services, contents, and interfaces between devices and users are changing in various ways. Conventionally, as an interface between a device and a person, a contact-type interface by a user's direct touch through a predetermined input means has been mainly used. For example, a user input interface using a keyboard or mouse is used in a PC, and an interface in which a user intuitively touches a screen with a finger is mainly used in a smart phone. Recently, speech recognition as an interface between a device and a person has been attracting attention. Speech recognition is a technology that converts an acoustic speech signal obtained through a sound sensor such as a microphone into words or sentences. As voice recognition technology develops, a user inputs a voice into a device, and it becomes possible to control an operation of the device according to the voice input.
종래 음성 인식 기술은 디바이스의 사용자 이외의 외부 사용자의 대화 등에 의한 외부 노이즈에 취약하여 정확한 사용자의 음성을 인식하기 어려운 경우가 있다. 또한, 종래 음성 인식 기술은, 사용자의 음성 입력에 따른 동작이 사용자의 음성 입력 완료 후 이루어지며, 사용자의 음성 입력 동안 적절한 피드백이 이루어지지 않았다. 이에 따라, 사용자의 음성 입력을 보다 정확하게 인식하고, 사용자의 음성 입력 동안에도 사용자가 의도한 디바이스의 제어 동작을 수행할 수 있는 기술이 요구되고 있다.The conventional voice recognition technology is vulnerable to external noise caused by a conversation of an external user other than the user of the device, and thus it may be difficult to accurately recognize the user's voice. In addition, in the conventional voice recognition technology, an operation according to the user's voice input is performed after the user's voice input is completed, and proper feedback is not made during the user's voice input. Accordingly, there is a need for a technology capable of more accurately recognizing a user's voice input and performing a device control operation intended by the user even during the user's voice input.
본 개시의 일 실시예는, 사용자의 발화시 발생되는 신호를 분석하거나, 진동 정보를 이용하여 디바이스에 입력된 오디오 신호 중 사용자의 발화에 의한 신호를 식별하여 사용자의 음성 입력을 보다 정확하게 인식하고 사용자의 음성 입력에 의한 제어 동작을 수행하는 디바이스 및 그 제어 방법을 제공할 수 있다.An embodiment of the present disclosure analyzes a signal generated when a user's speech or uses vibration information to identify a signal generated by the user's speech among audio signals input to a device to more accurately recognize the user's voice input and It is possible to provide a device for performing a control operation based on a voice input and a method for controlling the same.
본 개시의 일 실시예는, 사용자의 음성 입력과 관련된 제어 명령을 생성할 때, 사용자의 움직임 정보를 이용하여 제어 명령을 생성하고, 생성된 제어 명령에 기초하여 제어되는 디바이스 및 그 제어 방법을 제공할 수 있다.An embodiment of the present disclosure provides a device and a control method for generating a control command related to a user's voice input, when generating a control command related to a user's voice input, using the user's motion information to generate the control command and controlling the control command based on the generated control command can do.
본 개시의 실시예들에 따르면, 사용자의 음성 입력을 보다 정확하게 인식하고, 사용자의 움직임 정보에 기초하여 디바이스의 제어 동작을 수행할 수 있다.According to embodiments of the present disclosure, it is possible to more accurately recognize a user's voice input and perform a device control operation based on the user's movement information.
도 1은 본 개시의 일 실시예에 따른 디바이스의 제어 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a method of controlling a device according to an embodiment of the present disclosure.
도 2는 본 개시의 일 실시예에 따른 디바이스의 블록도이다.2 is a block diagram of a device according to an embodiment of the present disclosure.
도 3은 본 개시의 일 실시예에 따른 디바이스의 음성 인식 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a voice recognition process of a device according to an embodiment of the present disclosure.
도 4는 본 개시의 일 실시예에 따른 사용자의 움직임 정보를 설명하기 위한 도면이다.4 is a diagram for explaining user movement information according to an embodiment of the present disclosure.
도 5는 본 개시의 일 실시예에 따른 음성 인식 과정 및 사용자의 움직임 정보를 이용한 제어 정보의 생성을 설명하기 위한 도면이다.5 is a diagram for explaining a voice recognition process and generation of control information using user's motion information according to an embodiment of the present disclosure.
도 6 및 도 7은 일 실시예에 따라서 제어 정보의 속성값을 움직임 정보에 기초하여 결정하는 과정을 설명하기 위한 도면이다.6 and 7 are diagrams for explaining a process of determining an attribute value of control information based on motion information according to an embodiment.
도 8은 본 개시의 다른 실시예에 따라서 움직임 정보에 기초하여 제어 정보의 속성값을 결정하는 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a process of determining an attribute value of control information based on motion information according to another embodiment of the present disclosure.
도 9a는 일 실시예에 따른 제어 정보를 생성하는 디바이스 및 피제어대상인 외부 디바이스를 포함하는 제어 시스템을 나타낸 도면이다.9A is a diagram illustrating a control system including a device generating control information and an external device to be controlled according to an exemplary embodiment.
도 9b는 다른 실시예에 따른 제어 정보를 생성하는 디바이스 및 피제어대상인 외부 디바이스를 포함하는 제어 시스템을 나타낸 도면이다.9B is a diagram illustrating a control system including a device for generating control information and an external device to be controlled according to another exemplary embodiment.
도 10은 일 실시예에 따른 디바이스가 제어 정보를 제공하는 방법의 흐름도이다. 10 is a flowchart of a method for a device to provide control information according to an embodiment.
도 11은 본 개시의 일 실시예에 따른 디바이스가 제어 정보를 제공하는 방법의 구체적인 흐름도이다. 11 is a detailed flowchart of a method for a device to provide control information according to an embodiment of the present disclosure.
도 12는 본 개시의 일 실시예에 따른 외부 디바이스의 제어 방법을 나타낸 흐름도이다.12 is a flowchart illustrating a method of controlling an external device according to an embodiment of the present disclosure.
도 13은 본 개시의 다른 실시예에 따른 외부 디바이스의 제어 방법을 나타낸 흐름도이다.13 is a flowchart illustrating a method of controlling an external device according to another embodiment of the present disclosure.
도 14는 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다. 14 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예에 따른 디바이스는 적어도 하나의 프로그램이 저장되는 메모리; 오디오 신호를 수신하는 마이크로폰; 사용자의 발화 상태에 따른 진동 정보를 획득하는 센서 모듈; 및 상기 적어도 하나의 프로그램을 실행함으로써 상기 오디오 신호로부터 식별된 사용자의 음성 입력에 대응되는 제어 정보가 생성되도록 하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로그램은, 상기 진동 정보에 기초하여, 상기 마이크로폰을 통해서 수신된 오디오 신호로부터 상기 사용자의 음성 입력을 식별하는 단계; 및 상기 식별된 사용자의 음성 입력에 기초하여, 상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계: 를 실행하는 명령어들을 포함할 수 있다.As a technical means for achieving the above technical problem, a device according to an embodiment of the present disclosure includes a memory in which at least one program is stored; a microphone for receiving an audio signal; a sensor module for acquiring vibration information according to the user's utterance state; and at least one processor configured to generate control information corresponding to the user's voice input identified from the audio signal by executing the at least one program, wherein the at least one program includes, based on the vibration information, identifying the user's voice input from the audio signal received through the microphone; and generating control information corresponding to the user's voice input based on the identified user's voice input.
또한, 본 개시의 일 실시예에 따른 디바이스가 사용자의 음성 입력에 대한 제어 정보를 제공하는 방법은 오디오 신호를 수신하는 단계; 사용자의 발화 상태에 따른 진동 정보를 획득하는 단계; 상기 진동 정보에 기초하여 상기 오디오 신호에 포함된 상기 사용자의 음성 입력을 식별하는 단계; 및 상기 식별된 사용자의 음성 입력에 기초하여, 상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계를 포함할 수 있다.In addition, according to an embodiment of the present disclosure, a method for a device to provide control information for a user's voice input includes: receiving an audio signal; acquiring vibration information according to the user's utterance state; identifying the user's voice input included in the audio signal based on the vibration information; and generating control information corresponding to the user's voice input based on the identified user's voice input.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present disclosure are selected as currently widely used general terms as possible while considering the functions in the present disclosure, which may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the term and the contents of the present disclosure, rather than the simple name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part "includes" a certain element throughout the specification, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "... unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
본 개시에서 흐름도에서의 다양한 동작, 블록, 단계 등은, 도시된 순서에 따라서 수행되거나 또는 상이한 순서에 따라서 수행될 수 있다. 또한, 적어도 일부의 단계는 또는 동시에 수행될 수 있다. 또한, 일부 실시 예에서, 동작, 블록, 단계 등의 일부는 본 개시의 범위를 벗어나지 않는 범위 내에서 생략, 추가 또는 수정될 수 있다.Various operations, blocks, steps, and the like in the flowcharts in the present disclosure may be performed according to the illustrated order or may be performed according to a different order. Also, at least some of the steps may be performed or concurrently. In addition, in some embodiments, some of the operations, blocks, steps, etc. may be omitted, added, or modified without departing from the scope of the present disclosure.
또한, 본 개시에서 보이스 어시스턴트(voice assistant) 서비스는 오디오 신호에 음성 인식(ASR: Automated Speech Recognition) 처리, 자연어 이해(NLU: Natural Language Understanding) 처리, 대화 관리(DM: Dialogue Manager) 처리, 자연어 생성(NLG: Natural Language generation) 처리 및 텍스트 투 스피치(TTS: Text To Speech) 처리를 통해, 사용자 음성 명령에 대한 응답을 제공하는 서비스이다. 특히, 본 개시에서 보이스 어시스턴트 서비스는, 사용자의 음성 명령을 인식하고, 해당 음성 명령에 따라서 디바이스의 동작을 제어하는 서비스일 수 있다. In addition, in the present disclosure, the voice assistant service provides automated speech recognition (ASR) processing, natural language understanding (NLU) processing, dialogue management (DM: Dialogue Manager) processing, natural language generation to an audio signal. It is a service that provides a response to a user's voice command through natural language generation (NLG) processing and text to speech (TTS) processing. In particular, in the present disclosure, the voice assistant service may be a service that recognizes a user's voice command and controls the operation of the device according to the corresponding voice command.
인공지능 모델은 인공 지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 모델일 수 있다. The artificial intelligence model is an artificial intelligence algorithm, and may be a model learned using at least one of machine learning, neural networks, genes, deep learning, and classification algorithms.
보이스 어시스턴트 서비스의 모델은, 보이스 어시스턴트 서비스에서 사용자의 음성 명령에 따른 피드백을 제공하기 위한 기준 및 방법 등이 학습된 인공지능 모델일 수 있다. 보이스 어시스턴트 서비스의 모델은, 예를 들어, 사용자의 입력 음성을 인식하기 위한 모델, 사용자의 입력 음성을 해석하기 위한 모델, 사용자의 입력 음성에 따라서, 제어 명령을 생성하기 위한 모델을 포함할 수 있으나, 이에 제한되지 않는다. 보이스 어시스턴트 서비스의 모델을 구성하는 모델들은 인공지능 알고리즘이 적용된 인공지능 모델일 수 있다. The model of the voice assistant service may be an artificial intelligence model in which standards and methods for providing feedback according to a user's voice command in the voice assistant service are learned. The model of the voice assistant service may include, for example, a model for recognizing a user's input voice, a model for interpreting the user's input voice, and a model for generating a control command according to the user's input voice. , but not limited thereto. The models constituting the model of the voice assistant service may be an artificial intelligence model to which an artificial intelligence algorithm is applied.
이하 첨부된 도면을 참고하여 본 개시의 실시예들을 상세히 설명한다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 디바이스의 제어 방법을 설명하기 위한 도면이다.1 is a diagram for explaining a method of controlling a device according to an embodiment of the present disclosure.
도 1을 참조하면, 디바이스(1000)는 사용자의 신체에 접촉되며, 사용자의 발화에 의한 음성 입력 및 사용자의 움직임을 감지한다. 도 1에서는, 디바이스(1000)의 일 예로서, 사용자의 귀에 부착되는 스마트 이어폰을 도시하고 있다. 본 개시에서, 스마트 이어폰이란, 오디오 신호를 출력하는 기능 이외에, 사용자의 음성 입력 및 사용자의 움직임 정보를 획득하고, 사용자의 음성 입력 및 사용자의 움직임 정보에 따른 제어 동작을 수행할 수 있는 보이스 어시스턴트 서비스를 제공할 수 있는 디바이스를 의미한다. 사용자의 좌측 귀 및 우측 귀에 탈착되는 한 쌍의 스마트 이어폰과 같이, 디바이스(1000)는 사용자의 신체 한 부분에만 접촉되지 않고 복수 개의 신체 부분들에 접촉된 복수 개의 디바이스의 집합을 나타낼 수 있다. Referring to FIG. 1 , the device 1000 is in contact with the user's body, and detects a voice input by the user's utterance and the user's movement. 1 illustrates a smart earphone attached to a user's ear as an example of the device 1000 . In the present disclosure, a smart earphone is a voice assistant service capable of acquiring a user's voice input and user's movement information, and performing a control operation according to the user's voice input and user's movement information, in addition to a function of outputting an audio signal. A device that can provide Like a pair of smart earphones attached to and detached from the user's left and right ears, the device 1000 may represent a set of a plurality of devices that are in contact with a plurality of body parts without contacting only one part of the user's body.
도 1에 예시된 이어폰에 한정되지 않고, 본 개시에서 디바이스(1000)는 사용자의 신체에 접촉되며 사용자의 음성 입력 및 움직임 정보를 획득할 수 있는 전자 장치를 의미할 수 있다. 예를 들면, 디바이스(1000)는 AR(Augmented Reality) 글라스, 스마트워치, 스마트 렌즈, 스마트 팔찌, 스마트 의류 등의 웨어러블(wearable) 디바이스일 수 있다. 또한, 디바이스(1000)는 사용자에 의하여 사용되는 스마트폰, 스마트 태블릿, 컴퓨터, 노트북 컴퓨터 등의 모바일 디바이스일 수 있다. 상술한 예에 한정되지 않고, 디바이스(1000)는 사용자의 발화에 의한 음성 입력 및 사용자의 움직임 정보를 감지할 수 있는 다양한 전자 장치를 포함할 수 있다. It is not limited to the earphone illustrated in FIG. 1 , and in the present disclosure, the device 1000 may refer to an electronic device that is in contact with the user's body and can obtain the user's voice input and movement information. For example, the device 1000 may be a wearable device such as augmented reality (AR) glasses, a smart watch, a smart lens, a smart bracelet, or smart clothing. Also, the device 1000 may be a mobile device such as a smart phone, a smart tablet, a computer, a notebook computer, etc. used by a user. Without being limited to the above-described example, the device 1000 may include various electronic devices capable of detecting a voice input by a user's utterance and user's movement information.
디바이스(1000)는 사용자의 음성 입력에 기초하여 대응되는 제어 정보를 생성한다. 또한, 디바이스(1000)는 사용자의 음성 입력에 더하여 사용자의 움직임 정보를 이용하여 제어 정보를 생성할 수 있다. 제어 정보는 디바이스(1000) 자체의 제어를 위한 명령일 수 있다. 예를 들어, 디바이스(1000)가 스마트 이어폰인 경우, 디바이스(1000)의 제어 정보는 볼륨 업/다운, 뮤트(mute), 스마트 이어폰을 통해서 출력되는 음악의 트랙(track)을 변경하는 포워드(forward) 및 백워드(backward) 동작, 트랙 재생(play) 및 포즈(pause) 동작을 제어하기 위한 제어 명령일 수 있다. 또한, 제어 정보는 외부 디바이스의 제어를 위한 제어 명령일 수 있다. 외부 디바이스의 제어를 위한 제어 정보는 외부 디바이스의 움직임을 제어하기 위한 정보, 외부 디바이스에서 출력되는 출력 신호를 제어하기 위한 정보일 수 있다. 디바이스(1000)의 제어 명령은 피제어 대상인 디바이스의 종류 및 기능에 따라서 변경될 수 있다.The device 1000 generates corresponding control information based on the user's voice input. Also, the device 1000 may generate control information by using the user's movement information in addition to the user's voice input. The control information may be a command for controlling the device 1000 itself. For example, when the device 1000 is a smart earphone, the control information of the device 1000 is volume up/down, mute, and forward for changing the track of music output through the smart earphone. ) and a control command for controlling a backward operation, a track play, and a pause operation. Also, the control information may be a control command for controlling an external device. The control information for controlling the external device may be information for controlling the movement of the external device or information for controlling an output signal output from the external device. The control command of the device 1000 may be changed according to the type and function of the device to be controlled.
디바이스(1000)에서 수행되는 음성 인식 과정은 음성 인식 과정의 주체에 따라서 임베디드(embedded) 방식, 비임베디드(non-embedded) 방식으로 구분될 수 있다. 임베디드 방식에서, 디바이스(1000)에 디폴트로 설치된 보이스 어시스턴트 프로그램에 의해 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 명령이 생성될 수 있다. 생성된 제어 정보는 디바이스(1000) 자체의 제어를 위해 이용되거나, 네트워크를 통해 연결된 외부 디바이스에 전송되어 외부 디바이스의 동작을 제어하는데 이용될 수 있다. 비임베디드 방식에서, 디바이스(1000)가 사용자의 음성 입력 및 움직임 정보를 네트워크를 통해 연결된 외부 디바이스로 전송하고, 외부 디바이스가 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성할 수 있다. 외부 디바이스에서 생성된 제어 명령은 다시 디바이스(1000) 또는 다른 외부 디바이스의 제어를 위해 이용될 수 있다. 구체적으로, 비임베디드 방식에서, 디바이스(1000)는 사용자의 음성 입력 및 움직임 정보를 외부 디바이스로 전송하고, 외부 디바이스는 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성하고, 디바이스(1000)는 외부 디바이스에서 생성된 제어 명령을 수신하고 수신된 제어 정보에 기초하여 제어 동작을 수행할 수 있다. 또한, 디바이스(1000)는 제 2 외부 디바이스의 제어를 위한 사용자의 음성 입력 및 움직임 정보를 제 1 외부 디바이스로 전송하고, 제 1 외부 디바이스는 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성하고, 제 2 외부 디바이스는 제 1 외부 디바이스에서 생성된 제어 명령을 수신하고 수신된 제어 정보에 기초하여 제어 동작을 수행할 수 있다.The speech recognition process performed by the device 1000 may be divided into an embedded method and a non-embedded method according to the subject of the speech recognition process. In the embedded method, a control command may be generated based on a user's voice input and movement information by a voice assistant program installed by default in the device 1000 . The generated control information may be used to control the device 1000 itself, or may be transmitted to an external device connected through a network and used to control the operation of the external device. In the non-embedded method, the device 1000 may transmit the user's voice input and motion information to an external device connected through a network, and the external device may generate control information based on the user's voice input and motion information. The control command generated by the external device may be used again to control the device 1000 or another external device. Specifically, in the non-embedded method, the device 1000 transmits the user's voice input and motion information to an external device, and the external device generates control information based on the user's voice input and motion information, and the device 1000 . may receive a control command generated from an external device and perform a control operation based on the received control information. In addition, the device 1000 transmits the user's voice input and motion information for controlling the second external device to the first external device, and the first external device generates control information based on the user's voice input and motion information. and the second external device may receive a control command generated by the first external device and perform a control operation based on the received control information.
도 1을 참조하면, 디바이스(1000)는 사용자로부터 발화(utterance)에 의한 사용자 음성 입력을 수신한다. 구체적으로, 디바이스(1000)는 마이크와 같은 입력 수단을 통해 오디오 신호를 수신하고, 수신된 오디오 신호로부터 사용자의 발화에 의하지 않은 비음성구간을 제외하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. 디바이스(1000)는 사용자의 발화에 따라서 후두(larynx)에서 발생되는 진동을 감지하고, 입력된 오디오 신호 중 진동이 감지된 구간 동안 입력된 오디오 신호를 사용자의 발화에 의한 사용자 음성 입력으로 결정할 수 있다. 또한, 디바이스(1000)는 진동을 감지하는 이외에, 마이크를 통해 입력되는 오디오 신호를 분석하여 사용자의 발화에 의한 발화 구간을 식별할 수 있다. 일 실시예에서, 디바이스(1000)는 수신된 오디오 신호에 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient, LPC), 멜프리퀀시 켑스트럼(Mel Frequency Cepstral Coefficient, MFCC) 및 필터 뱅크 에너지(Filter Bank Energy)를 포함하는 특징 벡터 추출 기술 중 어느 하나를 사용하여 입력된 오디오 신호의 특징 벡터를 추출하고, 특징 벡터를 분석하여 사용자의 발화에 의한 사용자 음성 입력을 식별할 수 있다. 전술한 음성 특징 벡터 추출 기술은 예시일 뿐이고, 본 개시에서 사용되는 특징 벡터 추출 기술이 전술한 예시로 한정되는 것은 아니다. Referring to FIG. 1 , a device 1000 receives a user voice input by utterance from a user. Specifically, the device 1000 receives an audio signal through an input means such as a microphone, excludes a non-voice section not caused by the user's utterance from the received audio signal, and identifies the user's voice input by the actual user's utterance do. The device 1000 may detect vibrations generated in the larynx according to the user's utterance, and determine the audio signal input during the period in which the vibration is sensed among the input audio signals as the user's voice input due to the user's utterance. . Also, in addition to sensing vibration, the device 1000 may analyze an audio signal input through a microphone to identify an utterance section caused by the user's utterance. In an embodiment, the device 1000 includes a cepstrum, a linear predictive coefficient (LPC), a mel frequency cepstral coefficient (MFCC) and a filter bank energy in the received audio signal. (Filter Bank Energy) may be used to extract a feature vector of an input audio signal using any one of the feature vector extraction techniques, and the feature vector may be analyzed to identify the user's voice input by the user's utterance. The above-described speech feature vector extraction technique is merely an example, and the feature vector extraction technique used in the present disclosure is not limited to the above-described example.
디바이스(1000)는 오디오 신호로부터 추출된 특징 벡터에 대해서 심층 신경망 모델(Deep Neural Network, DNN)을 적용하여 사용자의 발화에 의한 특징 벡터를 추출할 수 있다. 사용자의 음성 입력 신호 특징은 사용자 특징 벡터로 표현될 수 있다. 구체적으로, 디바이스(1000)는 입력 오디오 신호로부터 추출된 음성 특징 벡터에 대해서 심층 신경망 모델(Deep Neural Network, DNN)을 적용하여 사용자의 특징 벡터를 추출할 수 있다. 디바이스(1000)는 심층 신경망 모델(DNN)에 음성 특징 벡터를 입력값으로, 사용자에 관한 특징값을 출력으로 각각 심층 신경망 모델에 입력하여 학습(training)시킴으로써 사용자 특징 벡터를 획득할 수 있다. 심층 신경망 모델은 컨볼루션 뉴럴 네트워크(Convolution Neural Network, CNN), 순환 신경망(Recurrent Neural Network, RNN) 및 GAN (Generative Adversarial Networks) 중 적어도 하나를 포함할 수 있으나, 상기 나열된 예시로 한정되는 것은 아니다. 본 개시의 디바이스(1000)가 사용하는 심층 신경망 모델은 현재 알려진 모든 종류의 신경망 모델을 포함할 수 있다.The device 1000 may extract a feature vector due to a user's utterance by applying a deep neural network model (DNN) to the feature vector extracted from the audio signal. The user's voice input signal feature may be expressed as a user feature vector. Specifically, the device 1000 may extract the user's feature vector by applying a deep neural network (DNN) to the speech feature vector extracted from the input audio signal. The device 1000 may obtain a user feature vector by inputting a speech feature vector as an input value to a deep neural network model (DNN) and a feature value related to a user as an output to the deep neural network model, respectively, and training. The deep neural network model may include at least one of a convolutional neural network (CNN), a recurrent neural network (RNN), and a generative adversarial network (GAN), but is not limited to the examples listed above. The deep neural network model used by the device 1000 of the present disclosure may include all types of currently known neural network models.
일 실시예에서, 디바이스(1000)는 ASR(Automatic Speech Recognition) 모델을 포함할 수 있다. ASR 모델은, 통합 신경망을 이용하여 음성을 인식하는 음성 인식 모델로서, 사용자의 음성 입력으로부터 텍스트를 출력할 수 있다. ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 포함하는 인공지능 모델일 수 있다. 또는, ASR 모델은, 예를 들어, 음향 모델, 발음 사전 및 언어 모델을 별도로 포함하지 않고 통합된 신경망을 포함하는 구조를 가지는 종단간(End-to-End) 음성 인식 모델일 수 있다. 종단간 ASR 모델은 통합된 신경망을 이용함으로써, 음성으로부터 음소를 인식한 이후에 음소를 텍스트로 변환하는 과정이 없이, 음성을 텍스트로 변환할 수 있다. 텍스트는, 적어도 하나의 문자를 포함할 수 있다. 문자는, 인간의 언어를 눈에 볼 수 있는 형태로 나타내어 적는데 사용하는 기호를 의미한다. 예를 들어, 문자에는, 한글, 알파벳, 한자, 숫자, 발음 부호, 문장 부호 및 기타 기호가 포함될 수 있다. 또한, 예를 들어, 텍스트는 문자열을 포함할 수 있다. 문자열은, 문자들의 배열(sequence)을 의미한다. 예를 들어, 텍스트는 적어도 하나의 문자소를 포함할 수 있다. 문자소(grapheme)는 적어도 하나의 문자로 구성되는, 소리를 나타내는 가장 작은 단위이다. 예를 들어, 알파벳 표기 체계의 경우, 하나의 문자가 문자소가 될 수 있으며, 문자열은 문자소들의 배열을 의미할 수 있다. 예를 들어, 텍스트는, 형태소 또는 단어를 포함할 수 있다. 형태소(morpheme)는 적어도 하나의 문자소로 구성되는, 의미를 가지는 가장 작은 단위이다. 단어(word)는, 적어도 하나의 형태소로 구성되는, 자립적으로 쓰일 수 있거나 문법적 기능을 나타내는 언어의 기본 단위이다.In an embodiment, the device 1000 may include an Automatic Speech Recognition (ASR) model. The ASR model is a speech recognition model that recognizes speech using an integrated neural network, and may output text from a user's speech input. The ASR model may be, for example, an artificial intelligence model including an acoustic model, a pronunciation dictionary, and a language model. Alternatively, the ASR model may be, for example, an end-to-end speech recognition model having a structure including an integrated neural network without separately including an acoustic model, a pronunciation dictionary, and a language model. The end-to-end ASR model uses an integrated neural network to convert speech into text without a process of converting phonemes into text after recognizing phonemes from speech. The text may include at least one character. Characters refer to symbols used to express and write human language in a visible form. For example, the characters may include Hangul, alphabets, Chinese characters, numbers, diacritics, punctuation marks, and other symbols. Also, for example, the text may include a character string. A character string refers to a sequence of characters. For example, the text may include at least one alphabet. A grapheme is the smallest unit of sound, composed of at least one letter. For example, in the case of an alphabetic writing system, one letter may be a letter element, and a character string may mean an arrangement of letter elements. For example, text may include morphemes or words. A morpheme is the smallest unit having a meaning, which is composed of at least one grammeme. A word is a basic unit of a language that can be used independently or exhibits a grammatical function, consisting of at least one morpheme.
디바이스(1000)는 오디오 신호로부터 사용자의 음성 입력을 수신하고, ASR 모델을 이용하여 사용자의 음성 입력으로부터 텍스트를 획득할 수 있다. 디바이스(1000)는 획득된 사용자의 음성 입력의 의미를 분석하여, 대응되는 제어 명령을 생성할 수 있다.The device 1000 may receive the user's voice input from the audio signal and obtain text from the user's voice input using the ASR model. The device 1000 may analyze the meaning of the acquired user's voice input to generate a corresponding control command.
디바이스(1000)는 사용자의 움직임 상태를 감지할 수 있는 센서 모듈을 구비하고, 사용자의 움직임 정보를 획득할 수 있다. 일 실시예에 따르면, 디바이스(1000)에 구비되는 센서 모듈은 제스처 센서(gesture sensor), 자이로스코프(gyroscope sensor) 및 가속도 센서(accelerometer sensor) 중 적어도 하나를 포함한다. 디바이스(1000)는 구비된 센서를 통해서 사용자의 움직임, 회전 등을 감지하고, 감지된 사용자의 움직임에 관한 전기 신호 또는 데이터값을 생성할 수 있다. 디바이스(1000)는 x, y, z의 3축을 기준으로 피치(pitch), 롤(roll) 및 요(yaw)의 변화량을 측정하여, 디바이스(1000)의 기울임 정보, 각 축 방향의 가속도를 획득하고, 디바이스(1000)의 3축을 기준으로 획득된 기울임 정보 및 가속도를 이용하여 사용자의 움직임 정보를 획득할 수 있다. 롤(roll)은 x축을 기준으로 회전하는 움직임을 나타내며, 피치(pitch)는 y 축을 기준으로 회전하는 움직임을 나타내며, 요(yaw)는 z 축을 기준으로 회전하는 움직임을 나타낸다. 또한, 디바이스(1000)는 사용자의 턱의 움직임에 의한 피치, 롤, 요의 변화량을 감지하여 사용자의 발화 상태를 식별할 수 있다.The device 1000 may include a sensor module capable of detecting a user's movement state, and may obtain user movement information. According to an embodiment, the sensor module provided in the device 1000 includes at least one of a gesture sensor, a gyroscope sensor, and an accelerometer sensor. The device 1000 may detect a user's movement, rotation, etc. through an provided sensor, and may generate an electrical signal or data value related to the sensed user's movement. The device 1000 measures the amount of change in pitch, roll, and yaw based on three axes of x, y, and z to obtain tilt information of the device 1000 and acceleration in each axis direction. and the user's movement information may be obtained using the tilt information and acceleration obtained based on the three axes of the device 1000 . A roll represents a rotational movement about the x-axis, a pitch indicates a rotational movement about the y-axis, and a yaw indicates a rotational movement about the z-axis. Also, the device 1000 may identify the user's utterance state by detecting changes in pitch, roll, and yaw caused by the movement of the user's jaw.
도 2는 본 개시의 일 실시예에 따른 디바이스의 블록도이다.2 is a block diagram of a device according to an embodiment of the present disclosure.
도 2를 참조하면, 디바이스(2000)는 입력부(2100), 메모리(2200), 센싱부(2300), 프로세서(2400)를 포함할 수 있다. 디바이스(2000)는 통신부(2500) 및 출력부(2600)를 더 포함할 수 있다. 도시된 블록도에 한정되지 않고, 전자 장치(2000)는 더 많은 구성 요소들을 포함하거나, 일부 구성 요소들이 제외될 수 있다. 예를 들어, 디바이스(2000)가 스마트 이어폰일 경우, 디바이스(2000)는 오디오 신호를 출력하기 위한 스피커와 같은 출력 모듈을 포함할 수 있다.Referring to FIG. 2 , a device 2000 may include an input unit 2100 , a memory 2200 , a sensing unit 2300 , and a processor 2400 . The device 2000 may further include a communication unit 2500 and an output unit 2600 . It is not limited to the illustrated block diagram, and the electronic device 2000 may include more components or some components may be excluded. For example, when the device 2000 is a smart earphone, the device 2000 may include an output module such as a speaker for outputting an audio signal.
입력부(2100)는, 디바이스(2000)의 외부 오디오 신호를 수신한다. 예를 들어, 입력부(2100)는 마이크를 포함할 수 있다. 외부 오디오 신호는 사용자의 음성 입력을 포함할 수 있다. 입력부(2100)는 디바이스(2000)의 유형에 따라서, 디바이스(2000)를 제어하기 위한 데이터를 입력하는 다른 수단을 포함할 수 있다. 예를 들어, 입력부(2100)는 키 패드, 스위치, 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등을 포함할 수 있으나 이에 한정되는 것은 아니다.The input unit 2100 receives an external audio signal of the device 2000 . For example, the input unit 2100 may include a microphone. The external audio signal may include a user's voice input. The input unit 2100 may include other means for inputting data for controlling the device 2000 according to the type of the device 2000 . For example, the input unit 2100 includes a key pad, a switch, a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral tension measurement method, piezo effect method, etc.), It may include, but is not limited to, a jog wheel, a jog switch, and the like.
프로세서(2400)는 디바이스(2000)의 전반적인 동작을 제어한다. 또한, 프로세서(2400)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 컴퓨터 프로그램의 명령(instruction)은 메모리(2200)에 저장되어 있고, 메모리(2200)로부터 명령이 프로세서(2400)에 제공될 수 있다. 이하의 실시예에서, 프로세서(2400)에 의해 수행되는 기능 및/또는 동작들은 메모리(2200)와 같은 기록 장치에 저장된 컴퓨터 프로그램 코드에 따라 수신되는 명령을 프로세서(2400)가 실행하여 구현될 수 있다. The processor 2400 controls the overall operation of the device 2000 . In addition, the processor 2400 may be configured to process instructions of a computer program by performing arithmetic, logic and input/output operations and signal processing. The instructions of the computer program are stored in the memory 2200 , and the instructions may be provided to the processor 2400 from the memory 2200 . In the following embodiments, functions and/or operations performed by the processor 2400 may be implemented by the processor 2400 executing an instruction received according to computer program code stored in a recording device such as the memory 2200. .
프로세서(2400)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나로 구성될 수 있으나, 이에 제한되는 것은 아니다. 일 실시예에서, 디바이스(2000)가 모바일 디바이스인 경우, 프로세서(2400)는 애플리케이션을 실행시키는 애플리케이션 프로세서(Application Processor, AP)일 수 있다.The processor 2400 is, for example, a central processing unit (Central Processing Unit), a microprocessor (microprocessor), a graphic processor (Graphic Processing Unit), ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), and FPGAs (Field Programmable Gate Arrays) may be configured as at least one, but is not limited thereto. In an embodiment, when the device 2000 is a mobile device, the processor 2400 may be an application processor (AP) that executes an application.
프로세서(2400)는 입력부(2100)를 통하여 수신된 오디오 신호로부터 사용자의 음성 입력을 획득할 수 있다. 프로세서(2400)는 사용자의 음성 입력에 기초하여 디바이스(2000) 또는 외부 디바이스의 동작을 수행하는 애플리케이션을 실행할 수 있으며, 실행된 애플리케이션을 통하여 부가적으로 디바이스(2000) 또는 외부 디바이스의 제어를 위한 사용자의 음성 입력을 수신할 수 있다. 프로세서(2400)는, 예를 들어, “S 보이스” 또는 "빅스비(bixby)"와 같은 미리 지정된 보이스 어시스턴트 애플리케이션 (Voice Assistant Application)을 실행하기 위한 음성 입력이 수신된 경우, 해당 보이스 어시스턴트 애플리케이션을 실행하고, 부가적으로 입력된 사용자의 음성 입력 및 사용자의 움직임 정보에 기초하여 제어 명령을 생성할 수 있다.The processor 2400 may obtain the user's voice input from the audio signal received through the input unit 2100 . The processor 2400 may execute an application that performs an operation of the device 2000 or an external device based on the user's voice input, and the user for additionally controlling the device 2000 or the external device through the executed application can receive voice input from The processor 2400, for example, when a voice input for executing a predetermined voice assistant application such as “S Voice” or “bixby” is received, the corresponding voice assistant application and may generate a control command based on the additionally input user's voice input and user's movement information.
프로세서(2400)는 수신된 오디오 신호로부터 사용자의 발화에 의하지 않은 비음성구간을 제외하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. 프로세서(2400)는 입력부(2100)를 통해 입력되는 오디오 신호를 분석하여 사용자의 발화에 의한 발화 구간을 식별할 수 있다. 프로세서(2400)는 수신된 오디오 신호의 특징 벡터를 추출하고, 특징 벡터를 분석하여 사용자의 발화에 의한 사용자 음성 입력을 식별할 수 있다. 또한, 프로세서(2400)는 오디오 신호로부터 추출된 특징 벡터에 대해서 심층 신경망 모델(Deep Neural Network, DNN)을 적용하여 사용자의 발화에 의한 특징 벡터를 추출할 수 있다. The processor 2400 identifies the user's voice input by the actual user's utterance, except for the non-voice section not caused by the user's utterance from the received audio signal. The processor 2400 may analyze an audio signal input through the input unit 2100 to identify an utterance section by the user's utterance. The processor 2400 extracts a feature vector of the received audio signal and analyzes the feature vector to identify the user's voice input by the user's utterance. Also, the processor 2400 may extract a feature vector due to the user's utterance by applying a deep neural network (DNN) to the feature vector extracted from the audio signal.
프로세서(2400)는 음향 모델(Acoustic Model), 언어 모델(Language Model) 및 발음 사전(Pronunciation Lexicon)을 이용하여 사용자의 발화 구간 동안 입력된 특징 벡터를 각 모델과 비교하여 스코어링을 하여 입력된 음성 신호에 대한 단어열을 획득할 수 있다.The processor 2400 compares the feature vector input during the user's speech section with each model using an acoustic model, a language model, and a pronunciation lexicon, and scores the input speech signal You can get a word string for .
프로세서(2400)는 입력부(2100)를 통해 입력된 사용자의 음성 신호와, 센싱부(2300)로부터 획득된 사용자의 움직임에 따른 움직임 정보를 결합하여 디바이스(2000) 또는 외부 디바이스를 제어하기 위한 제어 정보를 생성할 수 있다. 프로세서(2400)는 사용자의 음성 신호에 기초하여 제어 명령의 유형을 결정하고, 사용자의 움직임 정보에 기초하여 제어 명령의 속성값을 결정할 수 있다. 예를 들어, 프로세서(2400)는 "볼륨(volume)"과 같은 음성 입력이 입력되면, 디바이스(2000) 또는 외부 디바이스의 제어 동작 중 볼륨을 제어하기 위한 사용자의 의도를 식별하고, 볼륨 제어를 위한 속성값을 사용자의 움직임 정보를 이용하여 결정할 수 있다. The processor 2400 combines the user's voice signal input through the input unit 2100 with movement information according to the user's movement obtained from the sensing unit 2300 to control the device 2000 or an external device. can create The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. For example, when a voice input such as "volume" is input, the processor 2400 identifies a user's intention to control the volume during a control operation of the device 2000 or an external device, and The attribute value may be determined using the user's motion information.
프로세서(2400)는 센싱부(2300)를 통해서 사용자의 상하좌우, 또는 앞뒤의 움직임 정보를 획득하고, 사용자의 움직임에 따른 제어 명령을 생성할 수 있다. 구체적으로, 프로세서(2400)는 상측(upper) 방향 또는 포워드(forward) 방향의 사용자 움직임이 센싱부(2300)를 통해서 감지된 경우, 제어 명령과 관련된 속성값을 증가시킬 수 있다. 또한, 프로세서(2400)는 하측(lower) 방향 또는 백워드(backward) 방향의 사용자 움직임이 센싱부(2300)를 통해서 감지된 경우, 제어 명령과 관련된 속성값을 감소시킬 수 있다. 예를 들어, 프로세서(2400)는 "볼륨(volume)"과 같은 음성 입력이 입력되면, 디바이스(2000) 또는 외부 디바이스의 제어 동작 중 볼륨을 제어하기 위한 사용자의 의도를 식별하고, 볼륨 제어를 위한 속성값을 사용자의 움직임 정보를 이용하여 결정할 수 있다. 디바이스(2000)가 스마트 이어폰과 같이 사용자의 귀에 장착되는 장치인 경우, 사용자의 발화에 따라서 "볼륨(volume)" 또는 "볼륨 업(volume up)"이란 음성 입력이 인식되면, 프로세서(2400)는 사용자의 머리의 움직임에 따라서 사용자의 머리가 아래에서 윗 방향으로 움직이는 경우 볼륨 업 동작을 수행하는 제어 명령을 생성하고, "볼륨(volume)" 또는 "볼륨 다운(volume down)"이란 음성 입력이 인식되면, 사용자의 머리가 위에서 아래 방향으로 움직이는 경우 볼륨 다운 동작을 수행하는 제어 명령을 생성할 수 있다. 사용자의 움직임 정보에 따라서 속성값을 어떤 방향으로 변화시킬 것인지는 이에 한정되지 않고 변경될 수 있다.The processor 2400 may obtain information on the user's up, down, left, right, or front and rear movement information through the sensing unit 2300 , and may generate a control command according to the user's movement. Specifically, when a user movement in an upper direction or a forward direction is sensed through the sensing unit 2300 , the processor 2400 may increase an attribute value related to a control command. Also, when a user's movement in a lower direction or a backward direction is sensed through the sensing unit 2300 , the processor 2400 may decrease an attribute value related to a control command. For example, when a voice input such as "volume" is input, the processor 2400 identifies a user's intention to control the volume during a control operation of the device 2000 or an external device, and The attribute value may be determined using the user's motion information. When the device 2000 is a device mounted on the user's ear, such as a smart earphone, when a voice input of "volume" or "volume up" is recognized according to the user's utterance, the processor 2400 is When the user's head moves from the bottom to the top according to the movement of the user's head, a control command to perform a volume up operation is generated, and the voice input "volume" or "volume down" is recognized When the user's head moves from top to bottom, a control command for performing a volume down operation may be generated. The direction in which the attribute value is to be changed according to the user's motion information is not limited thereto and may be changed.
또한, 피제어대상인 디바이스(2000) 또는 외부 디바이스가 물리적으로 움직임이 가능한 장치(예를 들어, 로봇 청소기, 애완 로봇, 가사 로봇)인 경우, 프로세서(2400)는 센싱부(2300)를 통해서 사용자의 상하좌우, 또는 앞뒤의 움직임 정보에 따라서 피제어 대상의 움직임을 제어하기 위한 제어 명령을 생성할 수 있다.In addition, when the device 2000 or the external device to be controlled is a physically movable device (eg, a robot vacuum cleaner, a pet robot, or a housekeeping robot), the processor 2400 controls the user through the sensing unit 2300 . A control command for controlling the movement of the controlled target may be generated according to up, down, left and right, or forward and backward motion information.
또한, 피제어대상인 디바이스(2000) 또는 외부 디바이스가 정보를 시각적으로 출력하는 디스플레이 모듈을 포함하는 경우, 프로세서(2400)는 센싱부(2300)를 통해서 사용자의 상하좌우, 또는 앞뒤의 움직임 정보에 따라서 디스플레이 모듈을 통해서 출력되는 영상의 스크롤을 제어하기 위한 제어 명령을 생성할 수 있다. In addition, when the device 2000 or the external device to be controlled includes a display module for visually outputting information, the processor 2400 through the sensing unit 2300 according to the user's up, down, left, right, or forward and backward movement information A control command for controlling the scrolling of an image output through the display module may be generated.
센싱부(2300)는 가속도 센서(2310) 및 자이로스코프 센서(2320)를 포함하며, 사용자의 움직임 정보를 획득할 수 있다. 센싱부(2300)는 사용자의 움직임을 감지하고, 감지된 사용자의 움직임에 관한 전기 신호 또는 데이터값을 생성할 수 있다. 센싱부 (2300)는 x, y, z의 3축을 기준으로 피치(pitch), 롤(roll) 및 요(yaw)의 변화량을 측정하여, 디바이스(2000)의 기울임 정보, 각 축 방향의 가속도를 획득하고, 디바이스(2000)의 3축을 기준으로 획득된 기울임 정보 및 가속도를 이용하여 사용자의 움직임 정보를 획득할 수 있다. 또한, 센싱부 (1000)는 사용자의 발화에 의한 진동을 감지하여 사용자의 발화 상태를 식별할 수 있다.The sensing unit 2300 includes an acceleration sensor 2310 and a gyroscope sensor 2320 , and may acquire user movement information. The sensing unit 2300 may detect a user's motion and generate an electrical signal or data value related to the sensed user's motion. The sensing unit 2300 measures the amount of change in pitch, roll, and yaw based on three axes of x, y, and z, and obtains tilt information of the device 2000 and acceleration in each axis direction. and the user's movement information may be obtained by using the tilt information and acceleration obtained based on the three axes of the device 2000 . Also, the sensing unit 1000 may detect a vibration caused by the user's utterance to identify the user's utterance state.
메모리(2200)는, 프로세서(2400)가 사용자 음성 입력 및 움직임 정보에 기초하여 디바이스(2000) 또는 외부 디바이스의 제어를 위한 제어 명령을 생성하도록 설정된 명령어들을 저장할 수 있다. 메모리(2200)는 예를 들어, 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 및 PROM(Programmable Read-Only Memory) 중 어느 하나로 구성될 수 있으나, 전술한 예시로 한정되지는 않는다.The memory 2200 may store commands set so that the processor 2400 generates a control command for controlling the device 2000 or an external device based on the user's voice input and motion information. The memory 2200 may include, for example, random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and programmable read memory (PROM). -Only Memory), but is not limited to the above-described example.
디바이스(2000)는 통신부(2500)를 이용하여 소정의 네트워크를 통하여 외부의 디바이스와 통신할 수 있다. 통신부(2500)는 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.The device 2000 may communicate with an external device through a predetermined network using the communication unit 2500 . The communication unit 2500 may include one or more communication processors supporting wired communication or wireless communication. Networks include Local Area Networks (LANs), Wide Area Networks (WANs), Value Added Networks (VANs), mobile radio communication networks, satellite networks, and combinations thereof. It is a data communication network in a comprehensive sense that enables each network constituent entity to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network. Wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association) ), NFC (Near Field Communication), etc. may be there, but is not limited thereto.
출력부(2600)는 음향 신호 또는 비디오 신호를 외부로 출력한다. 디바이스(2000)의 유형에 따라서, 출력부(2600)는 음향 신호를 외부로 출력하는 스피커 또는 리시버를 포함하거나, 외부로 정보를 시각적으로 제공하는 디스플레이 모듈을 포함할 수 있다.The output unit 2600 outputs a sound signal or a video signal to the outside. Depending on the type of the device 2000 , the output unit 2600 may include a speaker or a receiver that outputs a sound signal to the outside, or a display module that visually provides information to the outside.
도 3은 본 개시의 일 실시예에 따른 디바이스(2000)의 음성 인식 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a voice recognition process of the device 2000 according to an embodiment of the present disclosure.
도 3을 참조하면, 디바이스(2000)의 프로세서(2400)는 입력부(2100)에서 획득된 오디오 신호(330)로부터 사용자의 발화에 의한 진동 신호(310)를 검출하거나, 센싱부(2300)에서 사용자 발화에 의한 진동 신호(310)를 검출할 수 있다. 프로세서(2400)는 진동이 검출된 구간인 t1~t2의 시간 구간(T1), t3~t4의 시간 구간(T2), t5~t6의 시간 구간(T3)을 사용자가 실제 발화한 구간으로 식별한다. 프로세서(2400)는 오디오 신호(330)중 진동이 검출되지 않은 구간의 노이즈를 제거하고, 진동이 검출된 시간 구간 동안의 오디오 신호만을 이용하여 사용자 음성 입력(320)을 워드 단위로 식별할 수 있다. 외부 노이즈 신호는 ASR 알고리즘을 적용하여 제거될 수 있다.Referring to FIG. 3 , the processor 2400 of the device 2000 detects a vibration signal 310 caused by the user's utterance from the audio signal 330 obtained from the input unit 2100 , or detects a vibration signal 310 by the user from the sensing unit 2300 . The vibration signal 310 due to ignition may be detected. The processor 2400 identifies a time interval T1 of t1 to t2, a time interval T2 from t3 to t4, and a time interval T3 from t5 to t6, which are intervals in which the vibration is detected, as the interval in which the user actually uttered. . The processor 2400 may remove noise in a section in which vibration is not detected among the audio signals 330 and identify the user voice input 320 in word units using only the audio signal during a time section in which vibration is detected. . The external noise signal may be removed by applying the ASR algorithm.
구체적으로, 사용자가 t1~t2의 시간 구간(T1) 동안 "Bixby", t3~t4의 시간 구간(T2) 동안 "volume", t5~t6의 시간 구간(T3) 동안 "UP" 이란 단어를 발화하였다고 가정한다. 프로세서(2400)는 수신된 오디오 신호(330)로부터 실제 사용자의 발화에 의한 사용자 음성 입력을 식별하기 위하여 사용자 발화시 발생되는 진동 정보를 이용할 수 있다. 디바이스(2000)가 스마트 이어폰과 같이 사용자의 귀에 부착되는 장치인 경우, 사용자의 발화시 발생되는 진동은 뼈를 통해 귀에 부착된 디바이스(2000)의 입력부(2100) 또는 센싱부(2300)에서 감지될 수 있으며, 프로세서(2400)는 진동 신호(310)를 분석하여 사용자의 발화 여부 및 입력된 오디오 신호(330) 중 사용자의 발화에 의한 발화 구간을 식별할 수 있다. 프로세서(2400)는 오디오 신호(330) 중 진동이 검출된 구간인 T1, T2, T3 에서 입력된 오디오 신호를 실제 사용자의 발화에 의한 사용자 음성 입력으로 판단할 수 있다. 프로세서(2400)는 진동이 검출되지 않은 T1, T2, T3 구간 이외에서 수신된 오디오 신호는 노이즈 또는 다른 외부 사용자에 의한 오디오 신호로 판별할 수 있다. 전술한 예에서, 프로세서(2400)는 진동 정보(310)를 통해서 사용자 발화에 의하여 진동이 감지된 T1, T2, T3 구간에서 입력된 음성 입력을 분석하여, t1~t2의 시간 구간(T1)에서 발화된 "Bixby", t3~t4의 시간 구간(T2) 동안 발화된 "volume", t5~t6의 시간 구간(T3) 동안 발화된 "UP" 이란 사용자 음성 입력을 인식할 수 있다.Specifically, the user utters the word "Bixby" during the time period T1 of t1 to t2, "volume" during the time period T2 of t3 to t4, and "UP" during the time period T3 of t5 to t6. assume you did The processor 2400 may use vibration information generated during the user's speech in order to identify the user's voice input by the actual user's speech from the received audio signal 330 . When the device 2000 is a device attached to the user's ear, such as a smart earphone, the vibration generated when the user's utterance is to be detected by the input unit 2100 or the sensing unit 2300 of the device 2000 attached to the ear through the bone. In addition, the processor 2400 may analyze the vibration signal 310 to identify whether the user is uttering and a utterance section by the user's utterance among the input audio signals 330 . The processor 2400 may determine the audio signal input in T1 , T2 , and T3 , which is a section in which vibration is detected among the audio signal 330 , as the user's voice input by the actual user's utterance. The processor 2400 may determine that the audio signal received in sections T1, T2, and T3 in which no vibration is detected is noise or an audio signal generated by another external user. In the above-described example, the processor 2400 analyzes the voice input input in the sections T1, T2, and T3 in which vibration is sensed by the user's utterance through the vibration information 310, and in the time period T1 of t1 to t2 A user voice input such as “Bixby” uttered, “volume” uttered during a time period T2 of t3 to t4, and “UP” uttered during a time period T3 of t5 to t6 may be recognized.
또한, 디바이스(2000)의 센싱부(2300)는 사용자의 음성 입력이 개시된 것으로 판단된 t1 시점 이후에 사용자의 움직임 정보(340)를 획득하고, 사용자의 음성 입력과 사용자의 움직임 정보를 이용하여 제어 정보를 생성할 수 있다.In addition, the sensing unit 2300 of the device 2000 acquires the user's motion information 340 after the time t1 when it is determined that the user's voice input is started, and controls the user's voice input using the user's voice input and the user's motion information. information can be generated.
도 4는 본 개시의 일 실시예에 따른 사용자의 움직임 정보를 설명하기 위한 도면이다.4 is a diagram for explaining user movement information according to an embodiment of the present disclosure.
전술한 바와 같이, 디바이스(1000)가 사용자에 의하여 소지되거나 사용자의 신체의 적어도 일 부분에 부착된 경우, 디바이스(1000)는 센서를 통하여 사용자의 움직임, 회전 등을 감지하고, 감지된 사용자의 움직임에 관한 전기 신호 또는 데이터값을 생성할 수 있다. 움직임 정보는 x, y, z의 3축을 기준으로 획득된 롤(roll), 피치(pitch) 및 요(yaw)에 대한 정보일 수 있다. 롤(roll)은 x축을 기준으로 회전하는 움직임을 나타내며, 피치(pitch)는 y 축을 기준으로 회전하는 움직임을 나타내며, 요(yaw)는 z 축을 기준으로 회전하는 움직임을 나타낸다. 도 4에서는 롤, 피치, 요(yaw) 중에서 피치 방향의 사용자 움직임에 따른 움직임 정보를 나타낸 것이다. As described above, when the device 1000 is carried by the user or attached to at least a portion of the user's body, the device 1000 detects the user's movement, rotation, etc. through a sensor, and the detected user's movement It is possible to generate an electrical signal or data value for The motion information may be information on roll, pitch, and yaw obtained based on three axes of x, y, and z. A roll represents a rotational movement about the x-axis, a pitch indicates a rotational movement about the y-axis, and a yaw indicates a rotational movement about the z-axis. 4 shows motion information according to the user's motion in the pitch direction among roll, pitch, and yaw.
디바이스(1000)는 소정 시간 동안 획득된 롤, 피치, 요의 변화량을 감지하여 사용자의 움직임 정보를 획득할 수 있다. 예를 들어, 사용자가 정면을 바라보고 있을 때의 피치 각도의 기준 각도값을 0이라고 하면, 사용자가 정면을 기준으로 고개를 드는 경우, 피치 각도는 0도(deg)에서 +방향으로 증가되며, 반대로 사용자가 정면을 기준으로 고개를 아래로 떨구는 경우 피치 각도는 0도에서 - 방향으로 감소되는 것으로 설정될 수 있다. 유사하게, 사용자가 정면을 바라보면서 고개를 시계방향 또는 반시계 방향으로 회전시키는 롤링(rolling) 동작을 수행하는 경우, 사용자를 기준으로 사용자의 오른쪽 귀 방향으로 고개를 롤링하는 시계방향을 + 방향, 사용자의 왼쪽 귀 방향으로 고개를 롤링하는 반시계 방향을 - 방향으로 설정될 수 있다. 유사하게, 사용자가 정수리를 기준으로 머리를 회전하는 요(yaw) 동작의 경우, 사용자의 정수리를 위에서 보았을 때 사용자의 정면 방향으로부터 오른쪽 귀 방향의 시계 방향으로 고개를 돌리는 방향은 + 방향, 사용자의 정면 방향으로부터 왼쪽 귀 방향의 반 시계 방향으로 고개를 돌리는 방향은 - 방향으로 설정될 수 있다. 피치 각도, 롤 각도, 요 각도의 + 방향, - 방향은 변경 가능하다. 디바이스(1000)는 소정 기준 시각을 기준으로, 소정 기준 시각 이후에 획득된 피치 각도, 롤 각도, 요 각도의 변화량을 측정하여 소정 기준 시각 이후의 사용자의 움직임을 추정할 수 있다.The device 1000 may acquire user movement information by detecting changes in roll, pitch, and yaw acquired for a predetermined time. For example, if the reference angle value of the pitch angle when the user is facing the front is 0, when the user raises his/her head relative to the front, the pitch angle increases from 0 degrees (deg) to the + direction, Conversely, when the user drops his head down with respect to the front, the pitch angle may be set to decrease from 0 degrees to the - direction. Similarly, when the user performs a rolling operation of rotating the head clockwise or counterclockwise while looking at the front, the clockwise direction of rolling the head in the direction of the user's right ear with respect to the user is + direction, The counterclockwise direction of rolling the head in the direction of the user's left ear may be set to the - direction. Similarly, in the case of a yaw motion in which the user rotates the head relative to the crown, when the user's crown is viewed from above, the direction in which the user turns his head clockwise from the front direction to the right ear is the + direction, and the user's The direction of turning the head counterclockwise from the frontal direction to the left ear direction may be set to the - direction. The pitch angle, roll angle, and the + direction and the - direction of the yaw angle can be changed. The device 1000 may estimate the user's movement after the predetermined reference time by measuring changes in the pitch angle, the roll angle, and the yaw angle obtained after the predetermined reference time based on the predetermined reference time.
도 5는 본 개시의 일 실시예에 따른 음성 인식 과정 및 사용자의 움직임 정보를 이용한 제어 정보의 생성을 설명하기 위한 도면이다.5 is a diagram for explaining a voice recognition process and generation of control information using user's motion information according to an embodiment of the present disclosure.
일 실시예에 따르면, 디바이스(2000)는 발화 구간 시작점을 기준으로, 발화 구간 시작점 이후에 획득된 사용자의 움직임 정보로부터 사용자의 움직임 방향과 움직임 크기를 결정하고, 결정된 움직임 방향과 움직임 크기에 기초하여 제어정보를 생성할 수 있다. 구체적으로, 디바이스(2000)는 사용자의 음성 입력에 따라서 결정된 제어 명령에 따른 구체적인 속성값의 변화량을 움직임 방향과 움직임 크기에 기초하여 결정할 수 있다.According to an embodiment, the device 2000 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point based on the utterance period start point, and based on the determined movement direction and movement size, Control information can be created. Specifically, the device 2000 may determine the amount of change in the specific attribute value according to the control command determined according to the user's voice input, based on the movement direction and the movement size.
속성값이란 제어 명령과 관련된 파라메터로서, 피제어대상인 디바이스의 종류 및 제어 명령의 유형에 따라서 결정될 수 있다. 예를 들어, 피제어대상인 디바이스가 소리를 출력하는 스피커 또는 이어폰이며 제어 명령이 볼륨과 관계된 경우, 사용자의 움직임에 기초하여 결정되는 속성값은 볼륨 레벨일 수 있다. 또한, 로봇 청소기, 드론, 로봇 애완동물과 같이 피제어대상인 디바이스가 스스로 구동가능하며 제어 명령이 움직임과 관련된 경우(예를 들어, "Move"), 사용자의 움직임에 기초하여 결정되는 속성값은 피제어대상의 xyz축의 움직임 방향, 움직임 속도일 수 있다. 프로세서(2400)는 사용자의 움직임에 따라서 피제어대상인 구동가능한 디바이스의 전후좌우 움직임, 움직임 속도가 제어되도록 제어 명령을 생성할 수 있다. 피제어대상인 디바이스가 스마트 전구이며, 제어 명령이 "체인지 라이팅(change lighting)"와 같이 조도 변화와 관련된 명령인 경우, 전술한 볼륨 제어와 유사하게 프로세서(2400)는 사용자의 움직임 정보에 기초하여 전구의 밝기를 증가시키거나 감소시킬 수 있다. 피제어대상인 디바이스가 이미지를 출력하는 디스플레이 장치이며 제어 명령이 "move image" 또는 "scroll image"와 같이 출력 이미지의 이동과 관련된 경우, 속성값은 출력 이미지를 움직일 방향 및 크기를 가리킬 수 있다. 예를 들어, 프로세서(2400)는 사용자의 머리 움직임에 따라서, 사용자의 움직임과 일치하는 방향으로 출력 이미지가 이동되도록 제어 명령을 생성할 수 있다. 또한, 제어 명령이 피제어대상 디바이스의 전원(power)와 관련된 경우, 속성값은 피제어 대상 디바이스의 온/오프값일 수 있다. 프로세서(2400)는 사용자의 "전원(power)" 음성 입력이 입력된 경우, 사용자의 움직임 정보에 기초하여 피제어대상 디바이스의 전원을 온/오프할 수 있다. xyz 축 방향 중 어느 방향을 온/오프 방향으로 설정할지는 변경될 수 있다.The attribute value is a parameter related to the control command, and may be determined according to the type of the device to be controlled and the type of the control command. For example, when the device to be controlled is a speaker or earphone outputting sound and the control command is related to the volume, the attribute value determined based on the user's movement may be the volume level. In addition, when a device to be controlled, such as a robot cleaner, a drone, or a robot pet, can be driven by itself and the control command is related to movement (eg, "Move"), the attribute value determined based on the user's movement is to avoid It may be a movement direction and a movement speed of the xyz axis of the control target. The processor 2400 may generate a control command to control the front, back, left, right, and movement speed of the drivable device to be controlled according to the user's movement. When the device to be controlled is a smart light bulb and the control command is a command related to a change in illuminance such as “change lighting”, similarly to the volume control described above, the processor 2400 generates a light bulb based on the user's movement information. can increase or decrease the brightness of When the device to be controlled is a display device that outputs an image and the control command is related to movement of the output image, such as “move image” or “scroll image”, the attribute value may indicate the direction and size of the output image. For example, the processor 2400 may generate a control command to move the output image in a direction consistent with the user's movement according to the user's head movement. Also, when the control command is related to the power of the controlled device, the attribute value may be an on/off value of the controlled device. When a user's "power" voice input is input, the processor 2400 may turn on/off the power of the controlled device based on the user's movement information. Which of the xyz axis directions is set as the on/off direction may be changed.
디바이스(2000)는 미리 지정된 키워드, 예를 들어 "Bixby"와 같은 키워드가 식별된 경우, 보이스 어시스턴트 애플리케이션 (Voice Assistant Application)을 실행하고, 이후 입력된 사용자의 음성 입력을 통해 제어하고자 하는 제어 명령의 유형을 결정할 수 있다. 도 5를 참조하면, "Bixby" 키워드 다음에 "Volume"이란 사용자 음성 입력이 인식된 경우, 디바이스(2000)는 사용자의 의도가 볼륨을 제어하기 위한 것으로 결정할 수 있다. 디바이스(2000)는 "Bixby"와 같은 미리 입력된 키워드를 제외하고, 바로 "Volume"과 같은 단어를 식별하여 제어 명령의 유형을 결정할 수 있다. 디바이스(2000)는 센싱부(2300)를 통해서 사용자의 발화에 의한 진동이 감지된 경우, 진동이 감지된 시점 이후에 입력된 사용자의 음성 입력을 인식하여 음성 처리 과정을 수행할 수 있다.When a predefined keyword, for example, a keyword such as “Bixby” is identified, the device 2000 executes a voice assistant application, and then executes a voice assistant application of a control command to be controlled through a user's voice input. type can be determined. Referring to FIG. 5 , when a user voice input of “Volume” after the keyword “Bixby” is recognized, the device 2000 may determine that the user's intention is to control the volume. The device 2000 may determine the type of the control command by directly identifying a word such as “Volume” excluding a keyword such as “Bixby” that is input in advance. When vibration is sensed by the user's utterance through the sensing unit 2300 , the device 2000 may recognize the user's voice input after the vibration is sensed and perform a voice processing process.
한편, 디바이스(2000)는 미리 지정된 사용자의 작은 음성 입력에 대응되는 제어 명령을 미리 설정하고, 사용자의 작은 음성 입력이 입력된 경우 별도의 음성 인식 과정없이 사용자의 움직임 정보에 기초하여 제어 명령을 생성할 수 있다. 예를 들어, 사용자가 미리 설정한 작은 웅얼거림(murmur)에 대응되는 제어 명령이 미리 설정될 수 있다. 디바이스(2000)는 사용자의 웅얼거림이 입력부(2100)를 통해 입력되면, 미리 설정된 패턴과 비교하여 사용자가 미리 설정한 웅얼거림에 해당하는지를 판단하고, 사용자가 미리 설정한 웅얼거림 신호가 수신된 것으로 판단되면, 이후 별도의 음성 인식 과정을 스킵하고, 미리 설정된 제어 명령의 속성값을 사용자의 움직임 정보에 기초하여 결정할 수 있다. 사용자가 미리 설정한 작은 웅얼거림에 대응되는 제어 명령이 "volume"이라고 가정하면, 디바이스(2000)는 사용자의 웅얼거리는 신호가 수신되면, 사용자의 웅얼거리는 신호가 미리 설정된 볼륨 제어를 위하여 설정한 신호 패턴과 동일한 지를 판단한다. 그리고, 디바이스(2000)는 사용자의 웅얼거리는 신호가 볼륨 제어를 위한 신호로 판단되면, 제어 명령 유형으로 볼륨 제어를 결정하고, 이후 획득된 사용자의 움직임 정보에 기초하여 볼륨값을 결정할 수 있다. 이와 같이, 미리 설정된 작은 음성 신호 또는 웅얼거림에 대응되는 제어 명령이 미리 설정되는 경우, 사용자는 큰 소리로 음성 명령을 말하지 않고도 미리 설정된 작은 음성 신호만을 말하고, 움직임을 통해서 디바이스(2000)를 제어할 수 있다.Meanwhile, the device 2000 presets a control command corresponding to the user's small voice input specified in advance, and generates a control command based on the user's movement information without a separate voice recognition process when the small voice input of the user is input. can do. For example, a control command corresponding to a small murmur preset by the user may be preset. When the murmur of the user is input through the input unit 2100, the device 2000 determines whether it corresponds to the murmur preset by the user by comparing it with a preset pattern, and the murmur signal preset by the user is received. If it is determined, a separate voice recognition process may be skipped thereafter, and a preset attribute value of a control command may be determined based on the user's motion information. Assuming that the control command corresponding to the small murmur preset by the user is "volume", the device 2000 receives the user's murmur signal, the user's murmur signal is a preset signal for volume control. Determine if the pattern is the same. And, when it is determined that the user's muttering signal is a signal for volume control, the device 2000 may determine the volume control as a control command type, and then determine the volume value based on the acquired user's movement information. As such, when a preset small voice signal or a control command corresponding to a murmur is preset, the user speaks only a preset small voice signal without speaking the voice command in a loud voice, and controls the device 2000 through movement. can
전술한 바와 같이, 디바이스(2000)는 사용자의 발화 구간 이후에 입력된 사용자의 움직임 정보를 활용하여 사용자의 제어 명령과 관련된 속성값을 결정할 수 있다. 디바이스(2000)의 센싱부(2300)에서 xyz축을 기준으로 획득된 사용자의 피치, 롤, 요 움직임을 통해서 사용자의 움직임 방향과 움직임 크기를 결정하고, 움직임 방향과 움직임 크기에 기초하여 제어 명령과 관련된 속성값이 결정될 수 있다. As described above, the device 2000 may determine an attribute value related to the user's control command by using the user's movement information input after the user's utterance section. The sensing unit 2300 of the device 2000 determines the user's movement direction and movement size through the user's pitch, roll, and yaw movement acquired based on the xyz axis, and is related to the control command based on the movement direction and the size of the movement. An attribute value may be determined.
프로세서(2400)는 xyz축 방향으로 획득된 움직임 방향 및 움직임 크기 정보를 이용하여 사용자의 움직임을 판단할 수 있다. 일 실시예에 따르면, 사용자의 움직임을 판단하기 위하여, 프로세서(2400)는 각 축 방향에서 입력된 움직임 방향 또는 xyz축 기준으로 획득된 각도의 극값(Extremal value)를 이용할 수 있다. The processor 2400 may determine the user's movement by using the movement direction and movement magnitude information obtained in the xyz axis direction. According to an embodiment, in order to determine the user's movement, the processor 2400 may use the movement direction input in each axis direction or an extreme value of an angle obtained based on the xyz axis.
전술한 도 4와 같이, 사용자가 정면을 바라본 상태에서 고개를 위아래로 움직이는 동작을 수행하는 경우를 예로 들어 설명한다. 사용자의 움직임 정보가 획득되기 시작하는 기준 시각에서의 피치 각도를 기준 피치 각도 0도라고 하고, 사용자가 고개를 드는 경우 피치 각도가 0도에서 + 방향으로 증가되며, 반대로 사용자가 고개를 아래로 떨구는 경우 피치 각도가 0도에서 - 방향으로 감소되는 것으로 가정한다. 피치 각도가 + 또는 - 방향으로 증가 또는 감소하는 변화를 움직임 방향으로 지칭될 수 있다. 이러한 피치 각도의 변화량을 분석함으로써, 프로세서(2400)는 사용자가 고개를 위로 들거나 아래로 숙이는 움직임을 판단할 수 있다. 전술한 예에서, 사용자가 고개를 위로 드는 경우 피치 각도가 증가하는 + 방향의 피치 움직임, 사용자가 고래를 아래로 숙이는 경우 피치 각도가 감소하는 - 방향의 피치 움직임으로 정의될 수 있다. As shown in Fig. 4 above, a case in which the user moves his/her head up and down while looking at the front will be described as an example. The pitch angle at the reference time at which the user's motion information is acquired is referred to as the reference pitch angle 0 degrees, and when the user raises his head, the pitch angle increases from 0 degrees to the + direction, and conversely, when the user lowers his head Assume that the pitch angle decreases from 0 degrees in the negative direction. A change in which the pitch angle increases or decreases in the + or - direction may be referred to as a movement direction. By analyzing the amount of change in the pitch angle, the processor 2400 may determine a movement in which the user raises his/her head or lowers his/her head. In the above example, it may be defined as a pitch movement in the + direction in which the pitch angle increases when the user raises his head upward, and a pitch movement in the - direction in which the pitch angle decreases when the user lowers the whale.
프로세서(2400)는 "볼륨" 또는 "볼륨 업"이란 제어 명령과 함께, 사용자 발화 이후에 사용자가 고개를 위로 드는 동작을 수행한 경우, 피치 각도가 증가된 움직임 정보를 통해서 사용자의 움직임을 판단할 수 있으며, 피치 각도가 사용자의 발화 시점 이후에 증가된 경우, 현재 디바이스의 볼륨을 증가시킬 수 있다. 또한, 프로세서(2400)는 "볼륨" 또는 "볼륨 다운"이란 제어 명령과 함께, 사용자 발화 이후에 사용자가 고개를 아래로 숙이는 동작을 수행한 경우, 피치 각도가 감소된 움직임 정보를 통해서 사용자의 움직임을 판단할 수 있으며, 피치 각도가 사용자의 발화 시점 이후에 감소된 경우, 현재 디바이스의 볼륨을 감소시킬 수 있다. The processor 2400 may determine the user's movement through the motion information in which the pitch angle is increased when the user performs an operation to raise the head up after the user's utterance together with the control command "volume" or "volume up". Also, when the pitch angle is increased after the user's utterance time, the volume of the current device may be increased. In addition, when the processor 2400 performs an operation of bending the user's head down after the user's utterance together with a control command such as "volume" or "volume down", the user's movement through motion information with a reduced pitch angle may be determined, and when the pitch angle is decreased after the user's utterance point, the volume of the current device may be decreased.
한편, 실제 사용자의 움직임은 xyz 축 방향으로 미세하게 계속 변화되기 때문에, xyz 축 방향으로 획득되는 움직임 정보는 증가 및 감소하는 움직임이 반복될 수 있다. 피치, 롤, 요 방향의 움직임이 소정 시간 동안 변화되는 경우에는 극값을 이용하여 사용자의 움직임을 분석할 수 있다. Meanwhile, since the actual user's movement continues to be minutely changed in the xyz axis direction, the movement information obtained in the xyz axis direction may be repeatedly increased and decreased. When the movement in the pitch, roll, and yaw directions is changed for a predetermined time, the user's movement may be analyzed using the extreme value.
도 5를 참조하면, 피치(pitch) 각도에 대해서, 2개의 극대값 P1, P2를 갖는 움직임 정보(510)가 획득된 경우, 프로세서(2400)는 사용자가 고개를 드는 행동을 2번 수행한 것으로 판단할 수 있다. 즉, 피치 각도가 증가하다가 감소되는 경우, 프로세서(2400)는 사용자의 의도는 고개를 윗 방향으로 드는 동작을 수행하는 것으로 판단할 수 있으며, 이러한 사용자의 의도는 피치 각도의 변화량이 2개의 극대값을 갖는 그래프 형태로 표현될 수 있다. 프로세서(2400)는 "볼륨" 또는 "볼륨 업"이란 제어 명령과 함께 사용자가 고개를 2번 드는 행동을 한 것으로 판단된 경우, 현재 디바이스의 볼륨을 2단계 증가시킬 수 있다. Referring to FIG. 5 , when motion information 510 having two maximum values P1 and P2 is obtained with respect to a pitch angle, the processor 2400 determines that the user has performed the action of raising his/her head twice. can do. That is, when the pitch angle increases and then decreases, the processor 2400 may determine that the user's intention is to perform an operation of raising the head upward, and the user's intention is that the amount of change in the pitch angle is two maximum values. It can be expressed in the form of a graph with When it is determined that the user raises his/her head twice together with the control command "volume" or "volume up", the processor 2400 may increase the volume of the current device by two steps.
유사하게, 피치 각도에 대해서 2개의 극소값 P3, P4를 갖는 움직임 정보(520)가 획득된 경우, 프로세서(2400)는 사용자가 고개를 아래로 숙이는 행동을 2번 수행한 것으로 판단할 수 있다. 프로세서(2400)는 "볼륨" 또는 "볼륨 다운"이란 제어 명령과 함께 사용자가 고개를 2번 숙이는 행동을 한 것으로 판단된 경우, 현재 디바이스의 볼륨을 2단계 감소시킬 수 있다.Similarly, when the motion information 520 having two minimum values P3 and P4 with respect to the pitch angle is obtained, the processor 2400 may determine that the user performs the action of bowing the head down twice. When it is determined that the user lowers the head twice together with the control command "volume" or "volume down", the processor 2400 may decrease the volume of the current device by two steps.
프로세서(2400)는 미세한 사용자의 움직임에 의하여 제어 동작이 민감하게 반응하는 것을 방지하기 위하여, 사용자의 움직임이 소정 임계값 이상인 경우에만 사용자의 움직임을 검출할 수 있다. 전술한 예에서, 프로세서(2400)는 2개의 극대값 P1, P2의 피치각 θ1, θ2가 소정 상한 임계값보다 큰 경우에만 사용자가 고개를 2번 드는 행동을 한 것으로 판단할 수 있다. 만약, 극값의 피치값이 소정 상한 임계값보다 작은 경우에는 프로세서(2400)는 사용자가 볼륨 업 동작을 수행하기 위하여 고개를 드는 행동을 수행하지 않은 것으로 판단할 수 있다. 유사하게, 프로세서(2400)는 유사하게 2개의 극소값 P3, P4의 피치각 θ3, θ4가 소정 하한 임계값보다 작은 경우에만 사용자가 고개를 2번 숙이는 행동을 한 것으로 판단할 수 있다. 상한 임계값이나 하한 임계값의 절대값이 작은 값으로 설정될수록, 사용자의 움직임에 보다 민감하게 반응되도록 제어 정보가 생성될 수 있다. 사용자의 작은 움직임에 너무 민감하게 반응하는 경우를 방지하고자 하는 경우, 상한 임계값이나 하한 임계값의 절대값은 증가될 수 있다.The processor 2400 may detect the user's movement only when the user's movement is greater than or equal to a predetermined threshold in order to prevent the control operation from reacting sensitively to the minute user's movement. In the above-described example, the processor 2400 may determine that the user has raised his head twice only when the pitch angles θ1 and θ2 of the two maximum values P1 and P2 are greater than a predetermined upper threshold value. If the pitch value of the extreme value is smaller than the predetermined upper limit threshold, the processor 2400 may determine that the user does not raise his/her head in order to perform the volume up operation. Similarly, the processor 2400 may similarly determine that the user has lowered the head twice only when the pitch angles θ3 and θ4 of the two minimum values P3 and P4 are smaller than a predetermined lower limit threshold value. As the absolute value of the upper limit threshold value or the lower limit threshold value is set to a smaller value, control information may be generated to more sensitively respond to a user's movement. In order to prevent a case in which the user reacts too sensitively to a small movement of the user, the absolute value of the upper limit threshold value or the lower limit threshold value may be increased.
한편, 디바이스(2000)는 움직임 방향 뿐만 아니라, 움직임 크기에 기초하여제어 명령과 관련된 속성값을 결정할 수 있다. 구체적으로, 디바이스(2000)는 움직임 크기에 선형적으로 비례 또는 반비례하도록 제어 명령과 관련된 속성값을 결정할 수 있다. 예를 들어, 프로세서(2400)는 "볼륨" 또는 "볼륨 업"이란 제어 명령과 함께 피치 각도가 30도인 사용자의 움직임 정보가 획득된 경우 현재 디바이스의 볼륨을 1단계만큼 증가시키고, 피치 각도가 60도인 사용자의 움직임 정보가 획득된 경우 현재 디바이스의 볼륨을 2단계만큼 증가시킬 수 있다. Meanwhile, the device 2000 may determine an attribute value related to a control command based on the size of the movement as well as the direction of the movement. Specifically, the device 2000 may determine an attribute value related to the control command to be linearly proportional to or inversely proportional to the motion size. For example, the processor 2400 increases the volume of the current device by one step when motion information of a user having a pitch angle of 30 degrees is obtained along with a control command of “volume” or “volume up”, and the pitch angle is 60 When the movement information of the user is obtained, the volume of the current device may be increased by two steps.
한편, 제어 정보를 생성하는 데 이용되는 사용자의 움직임 정보로서 사용자의 발화가 식별된 발화 구간 동안에 획득된 움직임 정보가 이용되거나, 사용자의 발화가 더 이상 감지되지 않더라도 사용자의 발화 종료 시점부터 소정 임계 시간이 경과되기 전에 획득된 움직임 정보가 이용될 수 있다. 예를 들어, 사용자가 "Bixby volume"이란 음성 명령을 말한 이후 소정 임계 시간이 경과되기 전인 ta 시각에 움직임 정보(530)가 획득된 경우, 프로세서(2400)는 소정 임계 시간이 경과되기 전에 획득된 움직임 정보(530)를 이용하여 제어 정보를 생성할 수 있다. 도 5에 도시된 바와 같이, 프로세서(2400)는 "Bixby volume"이란 음성 명령이 종료된 이후 소정 임계 시간 내에 극대값 P5를 갖는 피치 방향의 움직임 정보(530)가 획득된 경우, 현재 디바이스의 볼륨을 증가시킬 수 있다.Meanwhile, as the user's motion information used to generate the control information, even if the motion information acquired during the utterance section in which the user's utterance is identified is used or the user's utterance is no longer detected, a predetermined threshold time from the end of the user's utterance Motion information acquired before this elapses may be used. For example, when the motion information 530 is acquired at time ta before a predetermined threshold time has elapsed after the user has spoken the voice command "Bixby volume", the processor 2400 is Control information may be generated using the motion information 530 . As shown in FIG. 5 , the processor 2400 determines the volume of the current device when the motion information 530 in the pitch direction having the maximum value P5 is obtained within a predetermined threshold time after the voice command “Bixby volume” is terminated. can increase
또한, 프로세서(2400)는 미리 설정된 종료 키워드 음성이 입력되기 전까지 획득된 움직임 정보를 이용하여 제어 명령을 생성할 수 있다. 프로세서(2400)는 예를 들어, 미리 설정된 종료 키워드인 "OK", "Finished", "Thanks", "Done", "그만", "종료" 등의 음성이 인식되기 전까지 획득된 사용자의 움직임 정보를 이용하여 제어 명령을 생성할 수 있다. 전술한 예에서, 사용자가 "Bixby volume" 또는 "volume"이란 음성 명령을 말한 이후 계속하여 고개를 위로 드는 동작을 수행한 경우, 프로세서(2400)는 사용자의 발화 시점 이후부터 미리 지정된 종료 키워드가 인식되기 전까지 사용자의 고개를 위로 드는 동작의 횟수만큼 현재 디바이스의 볼륨의 레벨을 계속하여 증가시킬 수 있다. Also, the processor 2400 may generate a control command by using motion information obtained before a preset end keyword voice is input. The processor 2400 may include, for example, the user's movement information acquired before the preset end keywords such as "OK", "Finished", "Thanks", "Done", "Stop", and "End" are recognized. can be used to generate control commands. In the above example, when the user continues to raise his head up after speaking the voice command "Bixby volume" or "volume", the processor 2400 recognizes the predetermined end keyword from the time of the user's utterance. The volume level of the current device may be continuously increased as many times as the number of motions of raising the user's head up until it is reached.
또한, 프로세서(2400)는 종료 키워드를 이용하지 않고, 사용자의 움직임 정보를 분석하여, 사용자의 움직임이 발화 개시 시점에서의 초기 위치로 사용자의 움직임이 돌아온 경우, 제어 동작이 정지되도록 결정할 수 있다. 전술한 예에서, 프로세서(2400)는 사용자의 "Bixby volume" 또는 "volume"이란 음성 명령 이후 사용자의 고개의 움직임에 따라서 볼륨값을 제어하다가, 사용자의 머리 위치가 발화 개시 시점에서의 초기 위치로 돌아온 경우, 볼륨 제어 동작을 정지시킬 수 있다.Also, the processor 2400 may analyze the user's movement information without using the end keyword, and determine that the control operation is stopped when the user's movement returns to the initial position at the start of the utterance. In the above example, the processor 2400 controls the volume value according to the movement of the user's head after the user's voice command "Bixby volume" or "volume" When returning, the volume control operation can be stopped.
도 6 및 도 7은 일 실시예에 따라서 제어 정보의 속성값을 움직임 정보에 기초하여 결정하는 과정을 설명하기 위한 도면이다.6 and 7 are diagrams for explaining a process of determining an attribute value of control information based on motion information according to an embodiment.
전술한 바와 같이, 프로세서(2400)는 센싱부(2300)에서 검출된 움직임 정보를 이용하여, 제어 명령과 관련된 속성값을 결정할 수 있다. 프로세서(2400)는 움직임 방향 및 크기를 고려하여 단계적으로 속성값을 변화시키거나, 움직임에 선형적으로(linearly) 비례 또는 반비례하도록 속성값을 변화시킬 수 있다. As described above, the processor 2400 may determine an attribute value related to a control command by using the motion information detected by the sensing unit 2300 . The processor 2400 may change the attribute value in stages in consideration of the direction and magnitude of the movement, or may change the attribute value to be linearly proportional or inversely proportional to the movement.
구체적으로, 사용자의 음성 입력에 따라서 제어 명령의 유형이 결정되면, 프로세서(2400)는 검출된 움직임 방향을 고려하여 제어 명령과 관련된 속성값을 증가 또는 감소시킬지 여부를 결정한다. 프로세서(2400)는 xyz축 중 적어도 하나의 축 방향의 움직임 정보를 이용하여 제어 명령과 관련된 속성값을 결정할 수 있다. 예를 들어, 프로세서(2400)는 y축을 기준으로 회전하는 피치 움직임을 이용하여, 피치 각도가 + 값을 갖는 경우 제어 명령과 관련된 속성값이 증가되도록 결정하고, 피치 각도가 -값을 갖는 경우 속성값이 감소되도록 결정할 수 있다. 도 6에 도시된 바와 같이, 프로세서(2400)는 T1~T2 시간 동안 소정 임계값 Th 보다 큰 값을 갖는 움직임이 검출된 경우(610), T1~T2 시간동안 속성값을 단계적으로 변화시킬 수 있다(620). 또한, 도 7에 도시된 바와 같이, 프로세서(2400)는 T1~T2 시간 동안 소정 임계값 Th 보다 큰 값을 갖는 움직임이 검출된 경우(710), T1~T2 시간동안 속성값을 선형적으로 변화시킬 수 있다(720). 예를 들어, 프로세서(2400)는 "볼륨" 또는 "볼륨 업"이란 제어 명령과 함께 피치 각도가 소정 임계값보다 큰 상태를 유지하는 동안, 디바이스의 볼륨을 단계적으로 증가시키거나, 선형적으로 증가시킬 수 있다.Specifically, when the type of the control command is determined according to the user's voice input, the processor 2400 determines whether to increase or decrease the attribute value related to the control command in consideration of the detected movement direction. The processor 2400 may determine an attribute value related to a control command by using motion information in the direction of at least one of the xyz axes. For example, the processor 2400 uses a pitch movement rotating about the y-axis to determine that the property value related to the control command is increased when the pitch angle has a positive value, and when the pitch angle has a - value, the property It can be decided to decrease the value. As shown in FIG. 6 , when a motion having a value greater than a predetermined threshold value Th is detected during time T1 to time T2 ( 610 ), the processor 2400 may change the attribute value stepwise during time period T1 to T2. (620). In addition, as shown in FIG. 7 , when a motion having a value greater than a predetermined threshold Th is detected during time T1 to T2 ( 710 ), the processor 2400 linearly changes the attribute value during time T1 to T2 It can be done (720). For example, the processor 2400 increases the volume of the device stepwise or linearly while maintaining a state in which the pitch angle is greater than a predetermined threshold with a control command of “volume” or “volume up”. can do it
도 8은 본 개시의 다른 실시예에 따라서 움직임 정보에 기초하여 제어 정보의 속성값을 결정하는 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a process of determining an attribute value of control information based on motion information according to another embodiment of the present disclosure.
프로세서(2400)는 미세한 사용자의 움직임에 의하여 제어 동작이 민감하게 반응하는 것을 방지하기 위하여, 임계값을 기준으로 움직임 정보의 변화량을 판단할 수 있다. 구체적으로, 프로세서(2400)는 xyz 축 중 어느 한 축의 움직임 정보가 임계값 Th보다 작은 값에서 큰 값으로 변화된 경우를 + 방향의 움직임, Th보다 큰 값에서 작은 값으로 변화된 경우를 - 방향의 움직임이 발생한 것으로 판단하고, + 방향의 움직임 횟수 및 - 방향의 움직임 횟수를 분석하여 사용자의 움직임을 판단할 수 있다. The processor 2400 may determine an amount of change in motion information based on a threshold value in order to prevent a control operation from reacting sensitively to a minute user's movement. Specifically, the processor 2400 determines a case in which motion information on any one of the xyz axes is changed from a value smaller than the threshold value Th to a larger value in a + direction, and a case in which the motion information is changed from a value larger than Th to a smaller value in a negative direction is movement in the - direction. is determined to have occurred, and the user's movement may be determined by analyzing the number of movements in the + direction and the number of movements in the - direction.
예를 들어, 도 8을 참조하면, 프로세서(2400)는 센싱부(2300)에서 획득된 움직임 정보(800)를 분석하고, 임계값 Th1보다 작은 값에서 큰 값을 갖는 움직임이 획득된 경우 + 방향의 움직임이 발생하고, 임계값 Th1보다 큰 값에서 작은 값을 갖는 움직임이 획득된 경우 - 방향의 움직임이 발생한 것으로 판단할 수 있다. 도 8에서, Th1 임계값을 기준으로 + 방향 및 - 방향의 움직임이 판단되는 경우, 프로세서(2400)는 P1, P3, P4의 극대값을 갖는 3번의 + 방향의 움직임과 2번의 - 방향 움직임을 판단할 수 있다. P1 극대값으로부터 P2 극대값 사이의 움직임 변화는 Th1 임계값보다 큰 범위 내에서 변화되는 것이기 때문에 추가적인 + 방향 움직임이 발생된 것으로 판단되지 않고 무시될 수 있다.For example, referring to FIG. 8 , the processor 2400 analyzes the motion information 800 obtained from the sensing unit 2300 , and when a motion having a larger value from a value smaller than the threshold Th1 is obtained, the + direction , and a motion having a small value from a value greater than the threshold value Th1 is obtained, it may be determined that a movement in the -direction has occurred. In FIG. 8 , when the movement in the + direction and the - direction is determined based on the Th1 threshold, the processor 2400 determines three + direction movements and two - direction movements having the maximum values of P1, P3, and P4. can do. Since the change in motion between the P1 maximum value and the P2 maximum value is within a range larger than the Th1 threshold value, it is not determined that an additional + direction movement has occurred and may be ignored.
또한, 프로세서(2400)는 + 방향의 움직임을 판단하기 위한 임계값과 - 방향의 움직임을 판단하기 위한 임계값을 다르게 설정할 수 있다. + 방향의 움직임을 판단하기 위한 임계값을 Th1, - 방향의 움직임을 판단하기 위한 임계값을 Th2 라고 하면, 프로세서(2400)는 임계값 Th1보다 작은 값에서 큰 값을 갖는 움직임이 획득된 경우를 + 방향의 움직임이 발생된 것으로 판단하고, 임계값 Th2보다 큰 값에서 작은 값을 갖는 움직임이 획득된 경우를 - 방향의 움직임이 발생된 것으로 판단할 수 있다. 도 8에서, Th1 및 Th2의 2개의 임계값을 기준으로 + 방향 및 - 방향의 움직임이 판단되는 경우, 프로세서(2400)는 P1, P3, P4의 극대값을 갖는 3번의 + 방향의 움직임과 1번의 - 방향 움직임을 판단할 수 있다. P2 극대값으로부터 P3 극대값 사이의 움직임 변화는 Th2 임계값보다 큰 범위 내에서 변화되는 것이기 때문에, P2 극대값으로부터 P3 극대값 사이의 움직임 변화 중 - 방향 움직임은 발생되지 않은 것으로 판단될 수 있다. 이와 같이, 2개의 임계값을 기준으로 + 방향과 - 방향의 움직임을 판단하는 경우, 프로세서(2400)는 미세한 사용자의 움직임에 의하여 제어 동작이 민감하게 반응하는 것을 방지할 수 있다. In addition, the processor 2400 may set a threshold value for determining movement in the + direction and a threshold value for determining movement in the - direction differently. Assuming that the threshold value for determining the movement in the + direction is Th1 and the threshold value for determining the movement in the - direction is Th2, the processor 2400 determines a case in which a motion having a larger value from a value smaller than the threshold value Th1 is obtained. It may be determined that a movement in the + direction has occurred, and a case in which a movement having a small value from a value greater than the threshold value Th2 is obtained may be determined as occurring a movement in the - direction. In FIG. 8 , when the movement in the + direction and the - direction is determined based on the two threshold values of Th1 and Th2, the processor 2400 performs three +-direction movements with the maximum values of P1, P3, and P4 and one - Able to judge directional movement. Since the movement change between the P2 maximum value and the P3 maximum value is changed within a range larger than the Th2 threshold value, it may be determined that the -direction movement does not occur among the movement changes between the P2 maximum value and the P3 maximum value. As such, when determining the movement in the + direction and the - direction based on the two threshold values, the processor 2400 may prevent the control operation from reacting sensitively to the minute user's movement.
프로세서(2400)는 + 방향 및 - 방향의 움직임 횟수가 결정되면, 제어 정보와 관련된 속성값을 결정할 수 있다. 예를 들어, 제어 정보가 볼륨인 경우 + 방향의 움직임 횟수에 따라서 볼륨 레벨을 증가시키거나, - 방향의 움직임 횟수에 따라서 볼륨 레벨을 감소시킬 수 있다.When the number of movements in the + direction and the - direction is determined, the processor 2400 may determine an attribute value related to control information. For example, when the control information is the volume, the volume level may be increased according to the number of movements in the + direction, or the volume level may be decreased according to the number of movements in the - direction.
도 9a는 일 실시예에 따른 제어 정보를 생성하는 디바이스 및 피제어대상인 외부 디바이스를 포함하는 제어 시스템을 나타낸 도면이다.9A is a diagram illustrating a control system including a device generating control information and an external device to be controlled according to an exemplary embodiment.
도 9a를 참조하면, 디바이스(910)는 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성하고, 네트워크(920)를 통해 연결된 외부 디바이스(930)에 제어 정보를 전송하여 외부 디바이스(930)를 제어할 수 있다. 디바이스(910)는디폴트로 설치된 보이스 어시스턴트 프로그램에 의해 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 명령을 생성하고, 디바이스(1000) 자체의 제어를 위해 제어 명령을 이용할 수 있다.Referring to FIG. 9A , the device 910 generates control information based on the user's voice input and motion information, and transmits the control information to the external device 930 connected through the network 920 to the external device 930 . can control The device 910 may generate a control command based on a user's voice input and motion information by a voice assistant program installed by default, and use the control command to control the device 1000 itself.
디바이스(910)는 AR(Augmented Reality) 글라스, 스마트워치, 스마트 렌즈, 스마트 팔찌, 스마트 의류 등의 웨어러블(wearable) 디바이스나, 스마트폰, 스마트 태블릿, 컴퓨터, 노트북 컴퓨터 등의 모바일 디바이스일 수 있으나, 이에 제한되지 않는다.The device 910 may be a wearable device such as AR (Augmented Reality) glasses, a smart watch, a smart lens, a smart bracelet, and smart clothing, or a mobile device such as a smart phone, a smart tablet, a computer, or a notebook computer, It is not limited thereto.
외부 디바이스(930)는 스마트 전구, 스마트 펫, 로봇 청소기, 디스플레이 장치, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 서버, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. The external device 930 is a smart light bulb, a smart pet, a robot cleaner, a display device, a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a server, a micro server, a GPS ( global positioning system) devices, e-book terminals, digital broadcast terminals, navigation devices, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices, but are not limited thereto.
네트워크(920)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 9a에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. The network 920 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and a mutual network thereof. It is a data communication network in a comprehensive sense that includes a combination and enables each network constituent entity shown in FIG. 9A to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile wireless communication network.
도 9b는 다른 실시예에 따른 제어 정보를 생성하는 디바이스 및 피제어대상인 외부 디바이스를 포함하는 제어 시스템을 나타낸 도면이다.9B is a diagram illustrating a control system including a device for generating control information and an external device to be controlled according to another exemplary embodiment.
도 9b를 참조하면, 디바이스(910)가 사용자의 음성 입력 및 움직임 정보를 네트워크(920)를 통해 연결된 제 1 외부 디바이스(940)로 전송하고, 제 1 외부 디바이스(940)가 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성할 수 있다. 제 1 외부 디바이스(940)에서 생성된 제어 명령은 다시 디바이스(910) 또는 다른 제 2 외부 디바이스(950)의 제어를 위해 이용되거나, 제 1 외부 디바이스(940)의 제어를 위해 이용될 수 있다. 구체적으로, 디바이스(910)는 사용자의 음성 입력 및 움직임 정보를 제 1 외부 디바이스(940)로 전송하고, 제 1 외부 디바이스(940)는 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성하고, 디바이스(910)는 제 1 외부 디바이스(940)에서 생성된 제어 명령을 수신하고 수신된 제어 정보에 기초하여 제어 동작을 수행할 수 있다. 또한, 디바이스(910)는 제 2 외부 디바이스(950)의 제어를 위한 사용자의 음성 입력 및 움직임 정보를 제 1 외부 디바이스(940)로 전송하고, 제 1 외부 디바이스(940)는 사용자의 음성 입력 및 움직임 정보에 기초하여 제어 정보를 생성하고, 제 2 외부 디바이스(950)는 제 1 외부 디바이스(950)에서 생성된 제어 정보를 수신하고, 수신되 제어 정보에 기초하여 제어 동작을 수행할 수 있다.Referring to FIG. 9B , the device 910 transmits the user's voice input and motion information to the first external device 940 connected through the network 920, and the first external device 940 transmits the user's voice input and motion information. Control information may be generated based on the motion information. The control command generated by the first external device 940 may be used again to control the device 910 or another second external device 950 , or may be used to control the first external device 940 . Specifically, the device 910 transmits the user's voice input and motion information to the first external device 940, and the first external device 940 generates control information based on the user's voice input and motion information, and , the device 910 may receive a control command generated by the first external device 940 and perform a control operation based on the received control information. In addition, the device 910 transmits the user's voice input and motion information for controlling the second external device 950 to the first external device 940 , and the first external device 940 receives the user's voice input and motion information. The control information may be generated based on the motion information, and the second external device 950 may receive the control information generated by the first external device 950 and perform a control operation based on the received control information.
도 10은 일 실시예에 따른 디바이스가 제어 정보를 제공하는 방법의 흐름도이다. 10 is a flowchart of a method for a device to provide control information according to an embodiment.
동작 1010에서, 입력부(2100)는 외부 오디오 신호를 수신한다. 프로세서(2400)는 미리 지정된 보이스 어시스턴트 애플리케이션 (Voice Assistant Application)을 실행하기 위한 음성 입력이 수신된 경우, 해당 보이스 어시스턴트 애플리케이션을 실행하고, 입력부(2100)가 사용자의 음성 입력이 포함된 외부 오디오 신호를 수신하도록 제어할 수 있다.In operation 1010 , the input unit 2100 receives an external audio signal. When a voice input for executing a predetermined voice assistant application is received, the processor 2400 executes the corresponding voice assistant application, and the input unit 2100 receives an external audio signal including the user's voice input. can be controlled to receive.
동작 1020에서, 입력부(2100) 또는 센싱부(2300)는 사용자의 발화에 의한 진동 정보를 획득한다. 프로세서(2400)는 입력부(2100)를 통해 입력되는 오디오 신호를 분석하여 사용자의 발화에 의한 음성 신호 패턴을 식별하여 발화 구간을 식별하거나, 센싱부(2300)에서 검출된 사용자의 발화에 의하여 발생되는 진동을 검출하여 발화 구간을 식별함으로써, 사용자의 발화 구간을 식별하기 위한 진동 정보를 획득할 수 있다.In operation 1020 , the input unit 2100 or the sensing unit 2300 acquires vibration information caused by the user's utterance. The processor 2400 analyzes the audio signal input through the input unit 2100 to identify a speech signal pattern by the user's utterance to identify the utterance section, or is generated by the user's utterance detected by the sensing unit 2300 . By detecting the vibration to identify the speech section, vibration information for identifying the user's speech section may be obtained.
동작 1030에서, 프로세서(2400)는 수신된 오디오 신호로부터 사용자의 발화에 의하지 않은 비음성구간을 제외하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. In operation 1030, the processor 2400 identifies the user's voice input by the actual user's utterance, excluding the non-voice section not caused by the user's utterance from the received audio signal.
동작 1040에서, 프로세서(2400)는 입력부(2100)를 통해 입력된 사용자의 음성 신호와, 센싱부(2300)로부터 획득된 사용자의 움직임에 따른 움직임 정보를 결합하여 디바이스(2000) 또는 외부 디바이스를 제어하기 위한 제어 정보를 생성할 수 있다. 프로세서(2400)는 사용자의 음성 신호에 기초하여 제어 명령의 유형을 결정하고, 사용자의 움직임 정보에 기초하여 제어 명령의 속성값을 결정할 수 있다. 제어 명령의 속성값을 결정하기 위하여, 프로세서(2400)는 발화 구간 시작점을 기준으로, 발화 구간 시작점 이후에 획득된 사용자의 움직임 정보로부터 사용자의 움직임 방향과 움직임 크기를 결정하고, 결정된 움직임 방향과 움직임 크기에 기초하여 제어 정보의 속성값을 결정할 수 있다. 구체적으로, 프로세서(2400)는 센싱부(2300)에서 xyz축을 기준으로 획득된 사용자의 피치, 롤, 요 움직임을 통해서 사용자의 움직임 방향과 움직임 크기를 결정하고, 움직임 방향과 움직임 크기에 기초하여 제어 명령과 관련된 속성값이 결정될 수 있다. 프로세서(2400)는 생성된 제어 명령을 디바이스(2000) 자체의 제어에 이용하거나, 생성된 제어 명령을 네트워크를 통해 연결된 외부 디바이스에 전송하여 외부 디바이스를 제어할 수 있다.In operation 1040 , the processor 2400 controls the device 2000 or an external device by combining the user's voice signal input through the input unit 2100 and movement information according to the user's movement obtained from the sensing unit 2300 . It is possible to generate control information for The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. In order to determine the attribute value of the control command, the processor 2400 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point on the basis of the utterance period start point, and the determined movement direction and movement An attribute value of the control information may be determined based on the size. Specifically, the processor 2400 determines the user's movement direction and movement size through the user's pitch, roll, and yaw movements obtained from the sensing unit 2300 on the basis of the xyz axis, and controls based on the movement direction and the movement size. An attribute value related to the command may be determined. The processor 2400 may use the generated control command to control the device 2000 itself, or transmit the generated control command to an external device connected through a network to control the external device.
도 11은 본 개시의 일 실시예에 따른 디바이스가 제어 정보를 제공하는 방법의 구체적인 흐름도이다. 11 is a detailed flowchart of a method for a device to provide control information according to an embodiment of the present disclosure.
동작 1110에서, 입력부(2100)는 오디오 신호를 수신한다. 동작 1120에서, 입력부(2100) 또는 센싱부(2300)는 사용자의 발화에 의한 진동 정보를 획득하며, 센싱부(2300)는 가속도 센서(2310) 및 자이로스코프 센서(2320)를 포함하며, 사용자의 움직임 정보를 획득할 수 있다. 센싱부(2300)는 사용자의 움직임을 감지하고, 감지된 사용자의 움직임에 관한 전기 신호 또는 데이터값을 생성할 수 있다. In operation 1110 , the input unit 2100 receives an audio signal. In operation 1120, the input unit 2100 or the sensing unit 2300 acquires vibration information by the user's utterance, and the sensing unit 2300 includes an acceleration sensor 2310 and a gyroscope sensor 2320, and the user's Motion information can be obtained. The sensing unit 2300 may detect a user's motion and generate an electrical signal or data value related to the sensed user's motion.
동작 1130에서, 프로세서(2400)는 입력부(2100)를 통해 입력되는 오디오 신호를 분석하여 사용자의 발화에 의한 음성 신호 패턴을 식별하여 발화 구간을 식별하거나, 센싱부(2300)에서 검출된 사용자의 발화에 의하여 발생되는 진동을 검출하여 사용자의 발화 상태를 판단하고, 입력 오디오 신호 중 사용자의 발화에 의한 구간을 식별한다.In operation 1130 , the processor 2400 analyzes the audio signal input through the input unit 2100 to identify a speech signal pattern by the user's speech to identify the speech section, or the user's speech detected by the sensing unit 2300 . The user's speech state is determined by detecting the vibration generated by the
동작 1140에서, 프로세서(2400)는 수신된 오디오 신호로부터 사용자의 발화에 의하지 않은 비음성구간을 제외하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. In operation 1140 , the processor 2400 identifies the user's voice input due to the actual user's speech, except for the non-voice section that is not caused by the user's speech from the received audio signal.
동작 1150에서, 프로세서(2400)는 입력부(2100)를 통해 입력된 사용자의 음성 신호와, 센싱부(2300)로부터 획득된 사용자의 움직임에 따른 움직임 정보를 결합하여 디바이스(2000) 또는 외부 디바이스를 제어하기 위한 제어 정보를 생성할 수 있다. 프로세서(2400)는 사용자의 음성 신호에 기초하여 제어 명령의 유형을 결정하고, 사용자의 움직임 정보에 기초하여 제어 명령의 속성값을 결정할 수 있다. 제어 명령의 속성값을 결정하기 위하여, 프로세서(2400)는 발화 구간 시작점을 기준으로, 발화 구간 시작점 이후에 획득된 사용자의 움직임 정보로부터 사용자의 움직임 방향과 움직임 크기를 결정하고, 결정된 움직임 방향과 움직임 크기에 기초하여 제어 정보의 속성값을 결정할 수 있다. In operation 1150 , the processor 2400 controls the device 2000 or an external device by combining the user's voice signal input through the input unit 2100 and movement information according to the user's movement obtained from the sensing unit 2300 . It is possible to generate control information for The processor 2400 may determine the type of the control command based on the user's voice signal, and determine the attribute value of the control command based on the user's motion information. In order to determine the attribute value of the control command, the processor 2400 determines the user's movement direction and movement size from the user's movement information obtained after the utterance period start point on the basis of the utterance period start point, and the determined movement direction and movement An attribute value of the control information may be determined based on the size.
도 12는 본 개시의 일 실시예에 따른 외부 디바이스의 제어 방법을 나타낸 흐름도이다.12 is a flowchart illustrating a method of controlling an external device according to an embodiment of the present disclosure.
동작 S1210에서, 디바이스(1200)는 오디오 신호를 수신하고, 동작 S1220에서, 디바이스(1200)는 사용자의 발화에 의한 진동 정보 및 사용자의 움직임 정보를 획득할 수 있다. In operation S1210 , the device 1200 may receive an audio signal, and in operation S1220 , the device 1200 may obtain vibration information and movement information of the user due to the user's utterance.
동작 S1230에서, 디바이스(1200)는 입력 오디오 신호 중 사용자의 발화에 의한 구간을 식별하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. 또한, 디바이스(1200)는 사용자의 음성 신호와, 사용자의 움직임에 따른 움직임 정보를 결합하여 외부 디바이스(1250)를 제어하기 위한 제어 정보를 생성하고, 동작 S1240에서 디바이스(1200)는 소정의 네트워크를 통해 연결된 외부 디바이스(1250)에 생성된 제어 정보를 전송한다. 동작 S1260에서, 외부 디바이스(1250)에 포함된 프로세서는 수신된 제어 정보에 따라서 제어 동작을 수행함으로써 외부 디바이스의 상태를 변경한다.In operation S1230, the device 1200 identifies a section of the input audio signal due to the user's utterance, and identifies the user's voice input due to the actual user's utterance. In addition, the device 1200 generates control information for controlling the external device 1250 by combining the user's voice signal and movement information according to the user's movement, and in operation S1240, the device 1200 connects to a predetermined network. The generated control information is transmitted to the connected external device 1250 through the In operation S1260 , the processor included in the external device 1250 changes the state of the external device by performing a control operation according to the received control information.
도 13은 본 개시의 다른 실시예에 따른 외부 디바이스의 제어 방법을 나타낸 흐름도이다.13 is a flowchart illustrating a method of controlling an external device according to another embodiment of the present disclosure.
동작 S1310에서, 디바이스(1300)는 오디오 신호를 수신하고, 동작 S1311에서, 디바이스(1300)는 사용자의 발화에 의한 진동 정보 및 사용자의 움직임 정보를 획득한다. In operation S1310 , the device 1300 receives an audio signal, and in operation S1311 , the device 1300 acquires vibration information and user movement information due to a user's utterance.
동작 S1312에서, 디바이스(1300)는 획득된 오디오 신호, 진동 정보 및 사용자의 움직임 정보를 외부 디바이스(1350)로 전송한다.In operation S1312 , the device 1300 transmits the acquired audio signal, vibration information, and user movement information to the external device 1350 .
동작 S1320에서, 외부 디바이스(1350)는 입력 오디오 신호 중 사용자의 발화에 의한 구간을 식별하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. 외부 디바이스(1350)는 입력 오디오 신호 중 사용자의 발화에 의한 구간을 식별하고, 실제 사용자의 발화에 의한 사용자 음성 입력을 식별한다. 또한, 외부 디바이스(1350)는 사용자의 음성 신호와, 사용자의 움직임에 따른 움직임 정보를 결합하여 제어 정보를 생성한다. In operation S1320, the external device 1350 identifies a section of the input audio signal due to the user's utterance, and identifies the user's voice input due to the actual user's utterance. The external device 1350 identifies a section by the user's utterance among the input audio signals and identifies the user's voice input by the actual user's utterance. In addition, the external device 1350 generates control information by combining the user's voice signal and movement information according to the user's movement.
제어 정보는 디바이스(1300)의 제어를 위한 제어 정보일 수 있다. 동작 S1330에서, 외부 디바이스(1350)는 생성된 제어 정보를 디바이스(1300)에 전송하고, 동작 S1331에서 제어 정보를 수신한 디바이스(1300)는 수신된 제어 정보에 따라서 제어 동작을 수행함으로써 디바이스(1300)의 상태를 변경할 수 있다.The control information may be control information for controlling the device 1300 . In operation S1330 , the external device 1350 transmits the generated control information to the device 1300 , and the device 1300 receiving the control information in operation S1331 performs a control operation according to the received control information. ) can be changed.
제어 정보는 외부 디바이스(1380)의 제어를 위한 제어 정보일 수 있다. 이와 같은 경우, 동작 S1332에서 외부 디바이스(1350)에서 생성된 제어 정보가 직접 또 다른 외부 디바이스(1380)으로 전송되거나, 동작 S1333에서 외부 디바이스(1350)에서 생성된 제어 정보를 수신한 디바이스(1300)가 다시 제어 정보를 외부 디바이스(1380)으로 전송할 수 있다. 외부 디바이스(1380)에 포함된 프로세서는 수신된 제어 정보에 따라서 제어 동작을 수행할 수 있다.The control information may be control information for controlling the external device 1380 . In this case, the control information generated by the external device 1350 in operation S1332 is directly transmitted to another external device 1380, or the device 1300 that receives the control information generated by the external device 1350 in operation S1333. may transmit the control information to the external device 1380 again. The processor included in the external device 1380 may perform a control operation according to the received control information.
도 14는 본 개시의 일 실시예에 따른 전자 장치(2000)의 구성을 도시한 블록도이다. 도 14에 도시된 전자 장치(2000)는 도 1 내지 도 13에서 설명한 디바이스와 동일한 구성 요소를 포함할 수 있으며, 동일한 구성 요소는 도 1 내지 도 13에서 설명한 동작 및 기능들을 모두 수행할 수 있다. 따라서, 이하에서는 지금까지 설명되지 않았던 전자 장치(2000)의 구성 요소들에 대하여 설명하기로 한다.14 is a block diagram illustrating a configuration of an electronic device 2000 according to an embodiment of the present disclosure. The electronic device 2000 illustrated in FIG. 14 may include the same components as the devices described with reference to FIGS. 1 to 13 , and the same components may perform all of the operations and functions described with reference to FIGS. 1 to 13 . Accordingly, components of the electronic device 2000 that have not been described so far will be described below.
도 14를 참조하면, 전자 장치(2000)는 사용자 입력부(1100), 출력부(1200), 제어부(1300), 센싱부(1400), 통신부(1500), A/V 입력부(1600), 및 메모리(1700)를 포함할 수 있다. Referring to FIG. 14 , the electronic device 2000 includes a user input unit 1100 , an output unit 1200 , a control unit 1300 , a sensing unit 1400 , a communication unit 1500 , an A/V input unit 1600 , and a memory. (1700) may be included.
사용자 입력부(1100)는, 사용자가 전자 장치(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 사용자 입력부(1100)는, 사용자에게 제공할 대화 정보를 생성하기 위하여 필요한 사용자 입력을 수신할 수 있다.The user input unit 1100 means a means for a user to input data for controlling the electronic device 2000 . For example, the user input unit 1100 includes a key pad, a dome switch, and a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, integral type). There may be a tension measurement method, a piezo effect method, etc.), a jog wheel, a jog switch, and the like, but is not limited thereto. The user input unit 1100 may receive a user input necessary to generate conversation information to be provided to the user.
출력부(1200)는 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.The output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210 , a sound output unit 1220 , and a vibration motor 1230 . .
진동 모터(1230)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(1230)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. The vibration motor 1230 may output a vibration signal. For example, the vibration motor 1230 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, etc.).
센싱부(1400)는, 전자 장치(2000)의 상태 또는 전자 장치(2000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다. The sensing unit 1400 may detect a state of the electronic device 2000 or a state around the electronic device 2000 , and transmit the sensed information to the controller 1300 .
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The sensing unit 1400 includes a magnetic sensor 1410 , an acceleration sensor 1420 , a temperature/humidity sensor 1430 , an infrared sensor 1440 , a gyroscope sensor 1450 , and a position sensor. (eg, GPS) 1460 , a barometric pressure sensor 1470 , a proximity sensor 1480 , and at least one of an illuminance sensor 1490 , but is not limited thereto. Since a function of each sensor can be intuitively inferred from the name of a person skilled in the art, a detailed description thereof will be omitted.
통신부(1500)는, 다른 디바이스와의 통신을 수행하기 위한 구성 요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다. The communication unit 1500 may include components for performing communication with other devices. For example, the communication unit 1500 may include a short-range communication unit 1510 , a mobile communication unit 1520 , and a broadcast receiving unit 1530 .
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. Short-range wireless communication unit 151, Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, infrared ( It may include an IrDA, infrared Data Association) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like, but is not limited thereto.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.The mobile communication unit 1520 transmits/receives a radio signal to and from at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signal may include various types of data according to transmission/reception of a voice call signal, a video call signal, or a text/multimedia message.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(2000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.The broadcast receiver 1530 receives a broadcast signal and/or broadcast-related information from the outside through a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. According to an embodiment, the electronic device 2000 may not include the broadcast receiver 1530 .
또한, 통신부(1500)는, 제1 사용자에게 제공할 대화 정보를 생성하기 위하여 필요한 정보를, 제2 대화형 전자 장치(3000), 다른 디바이스 및 서버와 송수신할 수 있다.Also, the communication unit 1500 may transmit/receive information necessary to generate conversation information to be provided to the first user with the second interactive electronic device 3000 , other devices, and the server.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)은 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The A/V (Audio/Video) input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 , a microphone 1620 , and the like. The camera 1610 may obtain an image frame such as a still image or a moving picture through an image sensor in a video call mode or a shooting mode. The image captured through the image sensor may be processed through the processor 1300 or a separate image processing unit (not shown).
카메라(1610)에서 처리된 화상 프레임은 메모리(1700)에 저장되거나 통신부(1500)를 통하여 외부로 전송될 수 있다. 카메라(1610)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frame processed by the camera 1610 may be stored in the memory 1700 or transmitted to the outside through the communication unit 1500 . Two or more cameras 1610 may be provided according to the configuration of the terminal.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)는 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. The microphone 1620 receives an external sound signal and processes it as electrical voice data. For example, the microphone 1620 may receive an acoustic signal from an external device or a speaker. The microphone 1620 may use various noise removal algorithms for removing noise generated in the process of receiving an external sound signal.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(2000)로 입력되거나 전자 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다. The memory 1700 may store a program for processing and control of the controller 1300 , and may store data input to or output from the electronic device 2000 .
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory), and a RAM. (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk , may include at least one type of storage medium among optical disks.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다. Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions, for example, may be classified into a UI module 1710 , a touch screen module 1720 , a notification module 1730 , and the like. .
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.The UI module 1710 may provide a specialized UI, GUI, or the like that interworks with the electronic device 2000 for each application. The touch screen module 1720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the controller 1300 . The touch screen module 1720 according to some embodiments may recognize and analyze a touch code. The touch screen module 1720 may be configured as separate hardware including a controller.
알림 모듈(1730)은 전자 장치(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 장치(2000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.The notification module 1730 may generate a signal for notifying the occurrence of an event in the electronic device 2000 . Examples of events generated in the electronic device 2000 include call signal reception, message reception, key signal input, schedule notification, and the like. The notification module 1730 may output a notification signal in the form of a video signal through the display unit 1210 , may output a notification signal in the form of an audio signal through the sound output unit 1220 , and the vibration motor 1230 . It is also possible to output a notification signal in the form of a vibration signal through
본 개시에서 설명된 전자 장치(2000)는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 전자 장치(2000)는 프로세서, ALU(arithmetic logic unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 마이크로컴퓨터, 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. The electronic device 2000 described in the present disclosure may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the electronic device 2000 includes a processor, arithmetic logic unit (ALU), application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and microcontrollers. It may be implemented using one or more general purpose computers or special purpose computers, such as a computer, microprocessor, or any other device capable of executing and responding to instructions.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. Software may comprise a computer program, code, instructions, or a combination of one or more of these, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD, Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The software may be implemented as a computer program including instructions stored in a computer-readable storage medium. The computer-readable recording medium includes, for example, a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optically readable medium (eg, CD-ROM). (CD-ROM), DVD (Digital Versatile Disc), etc. The computer-readable recording medium is distributed among computer systems connected through a network, so that the computer-readable code can be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed on a processor.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(1000,2000)를 포함할 수 있다.The computer is an apparatus capable of calling a stored instruction from a storage medium and operating according to the disclosed embodiment according to the called instruction, and may include the electronic devices 1000 and 2000 according to the disclosed embodiment.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. The computer-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not include a signal and is tangible, and does not distinguish that data is semi-permanently or temporarily stored in the storage medium.
또한, 개시된 실시예들에 따른 전자 장치(1000,2000) 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.In addition, the electronic devices 1000 and 2000 or the method according to the disclosed embodiments may be provided as included in a computer program product. Computer program products may be traded between sellers and buyers as commodities.
컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치(1000, 2000)의 제조사 또는 전자 마켓(예를 들어, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션(downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.The computer program product may include a software program, a computer-readable storage medium in which the software program is stored. For example, the computer program product is a product in the form of a software program distributed electronically through a manufacturer of the electronic device 1000 or 2000 or an electronic market (eg, Google Play Store, App Store) (eg, downloadable products). application (downloadable application)). For electronic distribution, at least a portion of the software program may be stored in a storage medium or may be temporarily generated. In this case, the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a software program.
컴퓨터 프로그램 제품은, 서버 및 단말로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다.The computer program product, in a system consisting of a server and a terminal, may include a storage medium of a server or a storage medium of a terminal. Alternatively, when there is a third device (eg, a smart phone) that is communicatively connected to the server or terminal, the computer program product may include a storage medium of the third device. Alternatively, the computer program product may include the software program itself transmitted from the server to the terminal or third device, or transmitted from the third device to the terminal.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.In this case, one of the server, the terminal, and the third device may execute the computer program product to perform the method according to the disclosed embodiments. Alternatively, two or more of the server, the terminal, and the third device may execute the computer program product to distribute the method according to the disclosed embodiments.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다. For example, a server (eg, a cloud server or an artificial intelligence server, etc.) may execute a computer program product stored in the server, and may control a terminal communicatively connected with the server to perform the method according to the disclosed embodiments.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. As another example, the third device may execute a computer program product to control the terminal communicatively connected to the third device to perform the method according to the disclosed embodiment.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.When the third device executes the computer program product, the third device may download the computer program product from the server and execute the downloaded computer program product. Alternatively, the third device may execute the computer program product provided in a preloaded state to perform the method according to the disclosed embodiments.
또한, 이상에서는 본 개시의 실시예에 대하여 도시하고 설명하였지만, 본 개시는 전술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although the embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and in the technical field to which the present invention pertains without departing from the gist of the present invention as claimed in the claims. Various modifications may be made by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present disclosure.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 전자 장치, 구조, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of an electronic device, structure, circuit, etc. are combined or combined in a different form than the described method, or other components or Substituted or substituted for equivalent results may be obtained.

Claims (15)

  1. 적어도 하나의 프로그램이 저장되는 메모리; a memory in which at least one program is stored;
    오디오 신호를 수신하는 마이크로폰; a microphone for receiving an audio signal;
    사용자의 발화 상태에 따른 진동 정보를 획득하는 센서 모듈; 및 a sensor module for acquiring vibration information according to the user's utterance state; and
    상기 적어도 하나의 프로그램을 실행함으로써 상기 오디오 신호로부터 식별된 사용자의 음성 입력에 대응되는 제어 정보가 생성되도록 하는 적어도 하나의 프로세서를 포함하고,at least one processor for generating control information corresponding to a user's voice input identified from the audio signal by executing the at least one program;
    상기 적어도 하나의 프로그램은,the at least one program,
    상기 진동 정보에 기초하여, 상기 마이크로폰을 통해서 수신된 오디오 신호로부터 상기 사용자의 음성 입력을 식별하는 단계; 및identifying the user's voice input from the audio signal received through the microphone based on the vibration information; and
    상기 식별된 사용자의 음성 입력에 기초하여, 상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계:generating control information corresponding to the user's voice input based on the identified user's voice input;
    를 실행하는 명령어들을 포함하는 것을 특징으로 하는 디바이스.A device comprising instructions for executing
  2. 제 1항에 있어서,The method of claim 1,
    상기 마이크로폰을 통해서 수신된 오디오 신호로부터 상기 사용자의 음성 입력을 식별하는 단계는,The step of identifying the user's voice input from the audio signal received through the microphone comprises:
    상기 진동 정보에 기초하여, 사용자의 발화에 의한 사용자 발화 구간을 결정하는 단계; 및determining a user's speech section by the user's speech based on the vibration information; and
    상기 사용자 발화 구간 내에서 획득된 오디오 신호를 상기 사용자의 음성 입력 신호로 결정하는 단계를 포함하는 것을 특징으로 하는 디바이스.and determining an audio signal obtained within the user's utterance section as the user's voice input signal.
  3. 제 1항에 있어서,The method of claim 1,
    상기 센서 모듈은 상기 사용자의 움직임에 따른 움직임 정보를 더 획득하며,The sensor module further acquires movement information according to the user's movement,
    상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계는The step of generating control information corresponding to the user's voice input includes:
    상기 사용자의 음성 신호와 상기 움직임 정보를 결합하여 상기 제어 정보를 생성하는 것을 특징으로 하는 디바이스.The device, characterized in that generating the control information by combining the user's voice signal and the motion information.
  4. 제 3항에 있어서,4. The method of claim 3,
    상기 제어 정보는 상기 사용자의 음성 신호에 기초하여 결정된 상기 디바이스의 제어를 위한 제어 명령과, 상기 제어 명령과 관련된 속성값을 포함하며, The control information includes a control command for controlling the device determined based on the user's voice signal, and an attribute value related to the control command,
    상기 속성값은 상기 사용자의 움직임 정보에 기초하여 변화되는 것을 특징으로 하는 디바이스.The device, characterized in that the attribute value is changed based on the user's motion information.
  5. 제 4항에 있어서,5. The method of claim 4,
    상기 사용자의 움직임 정보는 피치(pitch) 축, 롤(roll) 축, 및 요(yaw) 축의 3축을 기준으로 획득된 정보이며,The user's movement information is information obtained based on three axes of a pitch axis, a roll axis, and a yaw axis,
    상기 속성값은 상기 3축을 기준으로 결정된 움직임 방향 및 움직임 크기에 기초하여 결정되는 것을 특징으로 하는 디바이스.The device, characterized in that the attribute value is determined based on the movement direction and movement size determined based on the three axes.
  6. 제 3항에 있어서,4. The method of claim 3,
    상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계는The step of generating control information corresponding to the user's voice input includes:
    상기 진동 정보에 기초하여, 상기 사용자의 음성 입력의 발화 구간 시작점을 결정하는 단계; 및determining a starting point of an utterance section of the user's voice input based on the vibration information; and
    상기 발화 구간 시작점을 기준으로, 상기 발화 구간 시작점 이후에 획득된 상기 사용자의 움직임 정보로부터 상기 사용자의 움직임 방향과 움직임 크기를 결정하고, 결정된 상기 움직임 방향과 움직임 크기에 기초하여 상기 제어 정보를 생성하는 것을 특징으로 하는 디바이스.Based on the starting point of the speech section, the user's motion direction and motion size are determined from the user's motion information obtained after the speech section start point, and the control information is generated based on the determined motion direction and motion size. Device characterized in that.
  7. 제 1항에 있어서,The method of claim 1,
    상기 디바이스는 외부 디바이스와 통신을 수행하는 통신부를 더 포함하며,The device further includes a communication unit for communicating with an external device,
    상기 제어 정보는 상기 외부 디바이스에 대한 제어 명령을 포함하는 것을 특징으로 하는 디바이스.The control information device, characterized in that it comprises a control command for the external device.
  8. 디바이스가 사용자의 음성 입력에 대한 제어 정보를 제공하는 방법에 있어서,A method for a device to provide control information for a user's voice input, the method comprising:
    오디오 신호를 수신하는 단계;receiving an audio signal;
    사용자의 발화 상태에 따른 진동 정보를 획득하는 단계;acquiring vibration information according to the user's utterance state;
    상기 진동 정보에 기초하여 상기 오디오 신호에 포함된 상기 사용자의 음성 입력을 식별하는 단계; 및identifying the user's voice input included in the audio signal based on the vibration information; and
    상기 식별된 사용자의 음성 입력에 기초하여, 상기 사용자의 음성 입력에 대응되는 제어 정보를 생성하는 단계를 포함하는 방법.and generating control information corresponding to the user's voice input based on the identified user's voice input.
  9. 제 8항에 있어서,9. The method of claim 8,
    상기 사용자의 음성 입력을 식별하는 단계는,The step of identifying the user's voice input comprises:
    상기 진동 정보에 기초하여, 사용자의 발화에 의한 사용자 발화 구간을 결정하는 단계; 및determining a user's speech section by the user's speech based on the vibration information; and
    상기 사용자 발화 구간 내에서 획득된 오디오 신호를 상기 사용자의 음성 입력 신호로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.and determining an audio signal acquired within the user's utterance section as the user's voice input signal.
  10. 제 8항에 있어서,9. The method of claim 8,
    상기 사용자의 움직임에 따른 움직임 정보를 획득하는 단계를 더 포함하며,Further comprising the step of obtaining movement information according to the user's movement,
    상기 제어 정보는 상기 사용자의 음성 신호와 상기 움직임 정보를 결합하여 생성되는 것을 특징으로 하는 방법.The control information is a method, characterized in that generated by combining the user's voice signal and the motion information.
  11. 제 10항에 있어서,11. The method of claim 10,
    상기 제어 정보는 상기 사용자의 음성 신호에 기초하여 결정된 상기 디바이스의 제어를 위한 제어 명령과, 상기 제어 명령과 관련된 속성값을 포함하며, The control information includes a control command for controlling the device determined based on the user's voice signal, and an attribute value related to the control command,
    상기 속성값은 상기 사용자의 움직임 정보에 기초하여 변화되는 것을 특징으로 하는 방법.The method, characterized in that the attribute value is changed based on the user's motion information.
  12. 제 11항에 있어서,12. The method of claim 11,
    상기 사용자의 움직임 정보는 피치(pitch) 축, 롤(roll) 축, 및 요(yaw) 축의 3축을 기준으로 획득된 정보이며,The user's movement information is information obtained based on three axes of a pitch axis, a roll axis, and a yaw axis,
    상기 속성값은 상기 3축을 기준으로 결정된 움직임 방향 및 움직임 크기에 기초하여 결정되는 것을 특징으로 하는 방법.The method of claim 1, wherein the attribute value is determined based on a movement direction and a movement magnitude determined based on the three axes.
  13. 제 10항에 있어서,11. The method of claim 10,
    상기 진동 정보에 기초하여, 상기 사용자의 음성 입력의 발화 구간 시작점이 결정되며,Based on the vibration information, the starting point of the utterance section of the user's voice input is determined,
    상기 발화 구간 시작점을 기준으로, 상기 발화 구간 시작점 이후에 획득된 상기 사용자의 움직임 정보로부터 상기 사용자의 움직임 방향과 움직임 크기가 결정되고, 결정된 상기 움직임 방향과 움직임 크기에 기초하여 상기 제어 정보가 생성되는 것을 특징으로 하는 방법.Based on the starting point of the speech section, the user's movement direction and motion size are determined from the user's motion information obtained after the speech section start point, and the control information is generated based on the determined motion direction and motion size A method characterized in that.
  14. 제 8항에 있어서,9. The method of claim 8,
    상기 생성된 사용자의 음성 입력에 대응되는 제어 정보를 외부 디바이스에 전송하는 단계를 더 포함하는 방법.The method further comprising transmitting control information corresponding to the generated user's voice input to an external device.
  15. 제 8항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium in which a program for executing the method of claim 8 in a computer is recorded.
PCT/KR2020/003007 2020-02-27 2020-03-03 Device for generating control information on basis of utterance state of user, and control method therefor WO2021172641A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0024554 2020-02-27
KR1020200024554A KR20210109722A (en) 2020-02-27 2020-02-27 Device for generating control information based on user's utterance status

Publications (1)

Publication Number Publication Date
WO2021172641A1 true WO2021172641A1 (en) 2021-09-02

Family

ID=77491689

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003007 WO2021172641A1 (en) 2020-02-27 2020-03-03 Device for generating control information on basis of utterance state of user, and control method therefor

Country Status (2)

Country Link
KR (1) KR20210109722A (en)
WO (1) WO2021172641A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100119250A (en) * 2009-04-30 2010-11-09 삼성전자주식회사 Appratus for detecting voice using motion information and method thereof
KR101625668B1 (en) * 2009-04-20 2016-05-30 삼성전자 주식회사 Electronic apparatus and voice recognition method for electronic apparatus
US9459176B2 (en) * 2012-10-26 2016-10-04 Azima Holdings, Inc. Voice controlled vibration data analyzer systems and methods
KR20180098079A (en) * 2017-02-24 2018-09-03 삼성전자주식회사 Vision-based object recognition device and method for controlling thereof
KR20190099988A (en) * 2018-02-19 2019-08-28 주식회사 셀바스에이아이 Device for voice recognition using end point detection and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101625668B1 (en) * 2009-04-20 2016-05-30 삼성전자 주식회사 Electronic apparatus and voice recognition method for electronic apparatus
KR20100119250A (en) * 2009-04-30 2010-11-09 삼성전자주식회사 Appratus for detecting voice using motion information and method thereof
US9459176B2 (en) * 2012-10-26 2016-10-04 Azima Holdings, Inc. Voice controlled vibration data analyzer systems and methods
KR20180098079A (en) * 2017-02-24 2018-09-03 삼성전자주식회사 Vision-based object recognition device and method for controlling thereof
KR20190099988A (en) * 2018-02-19 2019-08-28 주식회사 셀바스에이아이 Device for voice recognition using end point detection and method thereof

Also Published As

Publication number Publication date
KR20210109722A (en) 2021-09-07

Similar Documents

Publication Publication Date Title
WO2021036644A1 (en) Voice-driven animation method and apparatus based on artificial intelligence
WO2020189850A1 (en) Electronic device and method of controlling speech recognition by electronic device
WO2020013428A1 (en) Electronic device for generating personalized asr model and method for operating same
US9613618B2 (en) Apparatus and method for recognizing voice and text
WO2020122677A1 (en) Method of performing function of electronic device and electronic device using same
WO2018182201A1 (en) Method and device for providing response to voice input of user
WO2020045835A1 (en) Electronic device and control method thereof
CN107430856B (en) Information processing system and information processing method
WO2021071110A1 (en) Electronic apparatus and method for controlling electronic apparatus
WO2020153785A1 (en) Electronic device and method for providing graphic object corresponding to emotion information by using same
WO2018124633A1 (en) Electronic device and method for delivering message by same
WO2020080635A1 (en) Electronic device for performing voice recognition using microphones selected on basis of operation state, and operation method of same
WO2021071271A1 (en) Electronic apparatus and controlling method thereof
WO2020231151A1 (en) Electronic device and method of controlling thereof
WO2016206646A1 (en) Method and system for urging machine device to generate action
CN114299935A (en) Awakening word recognition method, awakening word recognition device, terminal and storage medium
JP6798258B2 (en) Generation program, generation device, control program, control method, robot device and call system
WO2021172641A1 (en) Device for generating control information on basis of utterance state of user, and control method therefor
EP3850623A1 (en) Electronic device and method of controlling thereof
WO2020116766A1 (en) Method for generating user prediction model for identifying user by learning data, electronic device applied with said model, and method for applying said model
US12001808B2 (en) Method and apparatus for providing interpretation situation information to one or more devices based on an accumulated delay among three devices in three different languages
JP7468360B2 (en) Information processing device and information processing method
WO2020130734A1 (en) Electronic device for providing reaction on basis of user state and operating method therefor
WO2024029875A1 (en) Electronic device, intelligent server, and speaker adaptive speech recognition method
WO2022177063A1 (en) Electronic device and control method therefor

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: 20921873

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: 20921873

Country of ref document: EP

Kind code of ref document: A1