WO2021141228A1 - 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 - Google Patents
멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 Download PDFInfo
- Publication number
- WO2021141228A1 WO2021141228A1 PCT/KR2020/015343 KR2020015343W WO2021141228A1 WO 2021141228 A1 WO2021141228 A1 WO 2021141228A1 KR 2020015343 W KR2020015343 W KR 2020015343W WO 2021141228 A1 WO2021141228 A1 WO 2021141228A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user input
- input
- intention
- processor
- modal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000033001 locomotion Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 36
- 238000005516 engineering process Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000002485 combustion reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000004297 night vision Effects 0.000 description 3
- 230000010363 phase shift Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/10—Input arrangements, i.e. from user to vehicle, associated with vehicle functions or specially adapted therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/037—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for occupant comfort, e.g. for automatic adjustment of appliances according to personal settings, e.g. seats, mirrors, steering wheel
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/08—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/146—Instrument input by gesture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/148—Instrument input by voice
Definitions
- the present specification relates to an apparatus for providing a service and a method for providing a service based on a multi-modal input, and more particularly, to an apparatus for providing a service and a method for providing a service based on the contents of an execution screen and a multi-modal input.
- a vehicle may be classified into an internal combustion engine vehicle, an external combustion engine vehicle, a gas turbine vehicle, an electric vehicle, or the like, according to a type of a prime mover used.
- the existing voice assistant controls a voice conversation with a user to determine a final action and transmits the determined action to other functions or other applications in the system. did. In addition, there was no consistency between the experience of using a GUI-based general application and the experience of using the voice assistant, and there were differences in functions.
- An object of the present specification is to more efficiently provide a service based on a multi-modal input.
- an object of the present specification is to drive the functions of all applications of various functions with only one voice assistant.
- the present specification is a storage unit for storing a plurality of applications, a user input unit for receiving a user input including at least one of a voice command or a touch input, is functionally connected to the plurality of applications, and a processor for controlling execution of at least one application so that dialogs generated by the plurality of applications based on the user input are output in consideration of the user input pattern, wherein the processor includes an execution screen of a specific application and inferring the intention of the user input by analyzing the user input on the execution screen, and controlling to generate a dialog corresponding to the inferred intention in an application corresponding to the inferred intention.
- the processor may control to generate the dialog as a voice.
- the user input may further include motion information.
- the processor may infer the intention by further considering the operation information.
- the processor may activate or deactivate the user input unit according to a preset condition.
- the processor may control to store a previous screen of the execution screen in the memory.
- the processor may infer the intention of the user input by analyzing the previous screen and the user input.
- the processor may extract information on the execution screen and analyze the information and the user input to infer the intention of the user input.
- the processor may control the user input unit to switch to a voice recognition mode or a touch mode.
- the processor may infer the intention of the user input by analyzing the execution screen.
- the present specification provides a step of receiving a user input including at least one of a voice command or a touch input, an execution screen of a specific application, and analyzing the user input on the execution screen to analyze the user input Inferring an intention of an input, controlling an application corresponding to the inferred intention to generate a dialog corresponding to the inferred intention, and taking into account the pattern of the user input at least one dialog box to output the generated dialog. It may include the step of controlling the execution of the application.
- the dialog may be output as a voice.
- the user input may further include motion information.
- the intention may be inferred by further considering the operation information.
- the receiving of the user input may include receiving the user input when the user input unit is activated according to a preset condition.
- the step of inferring the intention of the user input may include storing a previous screen of the execution screen in a memory and inferring the intention of the user input by analyzing the previous screen and the user input.
- the inferring of the intention of the user input may include extracting information on the execution screen and analyzing the information and the user input to infer the intention of the user input.
- the receiving of the user input may include controlling the user input unit to switch to a voice recognition mode and a touch mode according to a preset condition, and receiving the user input.
- the intention of the user input when the intention of the user input cannot be inferred by analyzing the user input, the intention of the user input may be inferred by analyzing the execution screen.
- the present specification has the effect of more efficiently providing a service based on a multi-modal input.
- the present specification has the effect of driving the functions of all applications of various functions with only one voice assistant.
- the present specification has the effect of improving the stability of vehicle driving and improving the convenience of use through automatic switching and integration of appropriate GUI-VUI mode according to the vehicle situation.
- FIG. 1 is a view showing a vehicle according to an embodiment of the present specification.
- FIG. 2 is a control block diagram of a vehicle according to an embodiment of the present specification.
- FIG. 3 is a control block diagram of an autonomous driving apparatus according to an embodiment of the present specification.
- FIG. 4 is a signal flow diagram of an autonomous vehicle according to an embodiment of the present specification.
- FIG. 5 is a diagram illustrating an apparatus for providing a service based on a multi-modal input according to the present specification.
- FIG. 6 is a diagram illustrating a multi-modal input-based service providing method according to the present specification.
- FIGS. 7 to 10 are diagrams illustrating specific scenarios of a service providing apparatus and a service providing method according to the present specification.
- FIG. 1 is a view showing a vehicle according to an embodiment of the present invention.
- a vehicle 10 is defined as a transportation means traveling on a road or track.
- the vehicle 10 is a concept including a car, a train, and a motorcycle.
- the vehicle 10 may be a concept including all of an internal combustion engine vehicle having an engine as a power source, a hybrid vehicle having an engine and an electric motor as a power source, and an electric vehicle having an electric motor as a power source.
- the vehicle 10 may be a vehicle owned by an individual.
- the vehicle 10 may be a shared vehicle.
- the vehicle 10 may be an autonomous vehicle.
- FIG. 2 is a control block diagram of a vehicle according to an embodiment of the present invention.
- the vehicle 10 includes a user interface device 200 , an object detection device 210 , a communication device 220 , a driving manipulation device 230 , a main ECU 240 , and a driving control device 250 . ), an autonomous driving device 260 , a sensing unit 270 , and a location data generating device 280 .
- the object detecting device 210 , the communication device 220 , the driving manipulation device 230 , the main ECU 240 , the driving control device 250 , the autonomous driving device 260 , the sensing unit 270 , and the location data generating device 280 may be implemented as electronic devices that each generate electrical signals and exchange electrical signals with each other.
- the user interface device 200 is a device for communication between the vehicle 10 and a user.
- the user interface device 200 may receive a user input and provide information generated in the vehicle 10 to the user.
- the vehicle 10 may implement a user interface (UI) or a user experience (UX) through the user interface device 200 .
- the user interface device 200 may include an input device, an output device, and a user monitoring device.
- the object detection apparatus 210 may generate information about an object outside the vehicle 10 .
- the information about the object may include at least one of information on the existence of the object, location information of the object, distance information between the vehicle 10 and the object, and relative speed information between the vehicle 10 and the object. .
- the object detecting apparatus 210 may detect an object outside the vehicle 10 .
- the object detecting apparatus 210 may include at least one sensor capable of detecting an object outside the vehicle 10 .
- the object detecting apparatus 210 may include at least one of a camera, a radar, a lidar, an ultrasonic sensor, and an infrared sensor.
- the object detecting apparatus 210 may provide data on an object generated based on a sensing signal generated by a sensor to at least one electronic device included in the vehicle.
- the camera may generate information about an object outside the vehicle 10 by using the image.
- the camera may include at least one lens, at least one image sensor, and at least one processor that is electrically connected to the image sensor to process a received signal, and generate data about the object based on the processed signal.
- the camera may be at least one of a mono camera, a stereo camera, and an AVM (Around View Monitoring) camera.
- the camera may obtain position information of the object, distance information from the object, or relative speed information with the object by using various image processing algorithms.
- the camera may acquire distance information and relative velocity information from an object based on a change in the size of the object over time from the acquired image.
- the camera may acquire distance information and relative speed information with respect to an object through a pinhole model, road surface profiling, or the like.
- the camera may acquire distance information and relative velocity information from an object based on disparity information in a stereo image obtained from the stereo camera.
- the camera may be mounted at a position where a field of view (FOV) can be secured in the vehicle in order to photograph the outside of the vehicle.
- the camera may be disposed adjacent to the front windshield in the interior of the vehicle to acquire an image of the front of the vehicle.
- the camera may be placed around the front bumper or radiator grill.
- the camera may be disposed adjacent to the rear glass in the interior of the vehicle to acquire an image of the rear of the vehicle.
- the camera may be placed around the rear bumper, trunk or tailgate.
- the camera may be disposed adjacent to at least one of the side windows in the interior of the vehicle in order to acquire an image of the side of the vehicle.
- the camera may be disposed around a side mirror, a fender or a door.
- the radar may generate information about an object outside the vehicle 10 using radio waves.
- the radar may include an electromagnetic wave transmitter, an electromagnetic wave receiver, and at least one processor that is electrically connected to the electromagnetic wave transmitter and the electromagnetic wave receiver, processes a received signal, and generates data for an object based on the processed signal.
- the radar may be implemented in a pulse radar method or a continuous wave radar method in terms of a radio wave emission principle.
- the radar may be implemented in a frequency modulated continuous wave (FMCW) method or a frequency shift keyong (FSK) method according to a signal waveform among continuous wave radar methods.
- FMCW frequency modulated continuous wave
- FSK frequency shift keyong
- the radar detects an object based on an electromagnetic wave, a time of flight (TOF) method or a phase-shift method, and detects the position of the detected object, the distance to the detected object, and the relative speed.
- the radar may be placed at a suitable location outside of the vehicle to detect objects located in front, rear or side of the vehicle.
- the lidar may generate information about an object outside the vehicle 10 by using laser light.
- the lidar may include at least one processor that is electrically connected to the light transmitter, the light receiver, and the light transmitter and the light receiver, processes the received signal, and generates data about the object based on the processed signal. .
- the lidar may be implemented in a time of flight (TOF) method or a phase-shift method.
- TOF time of flight
- Lidar can be implemented as driven or non-driven. When implemented as a driving type, the lidar is rotated by a motor and may detect an object around the vehicle 10 . When implemented as a non-driven type, the lidar may detect an object located within a predetermined range with respect to the vehicle by light steering.
- Vehicle 100 may include a plurality of non-driven lidar.
- LiDAR detects an object based on a time of flight (TOF) method or a phase-shift method with a laser light medium, and calculates the position of the detected object, the distance to the detected object, and the relative speed. can be detected.
- the lidar may be placed at a suitable location outside of the vehicle to detect an object located in front, rear or side of the vehicle.
- the communication apparatus 220 may exchange signals with a device located outside the vehicle 10 .
- the communication device 220 may exchange signals with at least one of an infrastructure (eg, a server, a broadcasting station), another vehicle, and a terminal.
- the communication device 220 may include at least one of a transmit antenna, a receive antenna, a radio frequency (RF) circuit capable of implementing various communication protocols, and an RF element to perform communication.
- RF radio frequency
- the communication device 220 may exchange signals with an external device through a vehicle-to-everything (V2X) communication technology.
- V2X communication may be provided through a PC5 interface and/or a Uu interface.
- next-generation radio access technology may be referred to as a new radio access technology (RAT) or a new radio (NR).
- RAT new radio access technology
- NR new radio
- V2X vehicle-to-everything
- 5G NR is a successor technology of LTE-A, and is a new clean-slate type mobile communication system with characteristics such as high performance, low latency, and high availability. 5G NR can utilize all available spectrum resources, from low frequency bands below 1 GHz, to intermediate frequency bands from 1 GHz to 10 GHz, and high frequency (millimeter wave) bands above 24 GHz.
- LTE-A or 5G NR is mainly described, but the technical spirit of the present invention is not limited thereto.
- the communication apparatus may exchange a signal with an external device based on C-V2X (Cellular V2X) technology.
- C-V2X Cellular V2X
- the C-V2X technology may include LTE-based sidelink communication and/or NR-based sidelink communication.
- communication devices communicate with external devices based on IEEE 802.11p PHY/MAC layer technology and IEEE 1609 Network/Transport layer technology-based Dedicated Short Range Communications (DSRC) technology or WAVE (Wireless Access in Vehicular Environment) standard.
- DSRC Dedicated Short Range Communications
- WAVE Wireless Access in Vehicular Environment
- ITS Intelligent Transport System
- the DSRC technology may use a frequency of 5.9 GHz and may be a communication method having a data transmission rate of 3 Mbps to 27 Mbps.
- IEEE 802.11p technology can be combined with IEEE 1609 technology to support DSRC technology (or WAVE standard).
- the communication apparatus of the present invention may exchange a signal with an external device using only one of the C-V2X technology or the DSRC technology.
- the communication apparatus of the present invention may exchange signals with an external device by hybridizing C-V2X technology and DSRC technology.
- the driving operation device 230 is a device that receives a user input for driving. In the manual mode, the vehicle 10 may be driven based on a signal provided by the driving manipulation device 230 .
- the driving manipulation device 230 may include a steering input device (eg, a steering wheel), an acceleration input device (eg, an accelerator pedal), and a brake input device (eg, a brake pedal).
- the main ECU 240 may control the overall operation of at least one electronic device included in the vehicle 10 .
- the drive control device 250 is a device that electrically controls various vehicle drive devices in the vehicle 10 .
- the drive control device 250 may include a power train drive control device, a chassis drive control device, a door/window drive control device, a safety device drive control device, a lamp drive control device, and an air conditioning drive control device.
- the power train drive control device may include a power source drive control device and a transmission drive control device.
- the chassis drive control device may include a steering drive control device, a brake drive control device, and a suspension drive control device.
- the safety device drive control device may include a safety belt drive control device for seat belt control.
- the drive control device 250 includes at least one electronic control device (eg, a control ECU (Electronic Control Unit)).
- a control ECU Electronic Control Unit
- the pitch control device 250 may control the vehicle driving device based on a signal received from the autonomous driving device 260 .
- the control device 250 may control a power train, a steering device, and a brake device based on a signal received from the autonomous driving device 260 .
- the autonomous driving device 260 may generate a path for autonomous driving based on the obtained data.
- the autonomous driving device 260 may generate a driving plan for driving along the generated path.
- the autonomous driving device 260 may generate a signal for controlling the movement of the vehicle according to the driving plan.
- the autonomous driving device 260 may provide the generated signal to the driving control device 250 .
- the autonomous driving apparatus 260 may implement at least one Advanced Driver Assistance System (ADAS) function.
- ADAS includes Adaptive Cruise Control (ACC), Autonomous Emergency Braking (AEB), Forward Collision Warning (FCW), Lane Keeping Assist (LKA), ), Lane Change Assist (LCA), Target Following Assist (TFA), Blind Spot Detection (BSD), Adaptive High Beam Control (HBA) , Auto Parking System (APS), Pedestrian Collision Warning System (PD Collision Warning System), Traffic Sign Recognition (TSR), Trafffic Sign Assist (TSA), Night Vision System At least one of a Night Vision (NV), a Driver Status Monitoring (DSM), and a Traffic Jam Assist (TJA) may be implemented.
- ACC Adaptive Cruise Control
- AEB Autonomous Emergency Braking
- FCW Forward Collision Warning
- LKA Lane Keeping Assist
- LKA Lane Change Assist
- TSA Blind Spot Detection
- HBA Adaptive High
- the autonomous driving device 260 may perform a switching operation from the autonomous driving mode to the manual driving mode or a switching operation from the manual driving mode to the autonomous driving mode. For example, the autonomous driving device 260 may switch the mode of the vehicle 10 from the autonomous driving mode to the manual driving mode or from the manual driving mode to the autonomous driving mode based on a signal received from the user interface device 200 . can be converted to
- the sensing unit 270 may sense the state of the vehicle.
- the sensing unit 270 may include an inertial measurement unit (IMU) sensor, a collision sensor, a wheel sensor, a speed sensor, an inclination sensor, a weight sensor, a heading sensor, a position module, and a vehicle. It may include at least one of a forward/reverse sensor, a battery sensor, a fuel sensor, a tire sensor, a steering sensor, a temperature sensor, a humidity sensor, an ultrasonic sensor, an illuminance sensor, and a pedal position sensor.
- an inertial measurement unit (IMU) sensor may include one or more of an acceleration sensor, a gyro sensor, and a magnetic sensor.
- the sensing unit 270 may generate state data of the vehicle based on a signal generated by at least one sensor.
- the vehicle state data may be information generated based on data sensed by various sensors provided inside the vehicle.
- the sensing unit 270 may include vehicle attitude data, vehicle motion data, vehicle yaw data, vehicle roll data, vehicle pitch data, vehicle collision data, vehicle direction data, vehicle angle data, and vehicle speed. data, vehicle acceleration data, vehicle inclination data, vehicle forward/reverse data, vehicle weight data, battery data, fuel data, tire pressure data, vehicle interior temperature data, vehicle interior humidity data, steering wheel rotation angle data, vehicle exterior illumination Data, pressure data applied to the accelerator pedal, pressure data applied to the brake pedal, and the like may be generated.
- the location data generating device 280 may generate location data of the vehicle 10 .
- the location data generating apparatus 280 may include at least one of a Global Positioning System (GPS) and a Differential Global Positioning System (DGPS).
- GPS Global Positioning System
- DGPS Differential Global Positioning System
- the location data generating apparatus 280 may generate location data of the vehicle 10 based on a signal generated from at least one of GPS and DGPS.
- the location data generating apparatus 280 may correct the location data based on at least one of an Inertial Measurement Unit (IMU) of the sensing unit 270 and a camera of the object detecting apparatus 210 .
- IMU Inertial Measurement Unit
- the location data generating device 280 may be referred to as a Global Navigation Satellite System (GNSS).
- GNSS Global Navigation Satellite System
- the vehicle 10 may include an internal communication system 50 .
- a plurality of electronic devices included in the vehicle 10 may exchange signals via the internal communication system 50 .
- Signals may contain data.
- the internal communication system 50 may use at least one communication protocol (eg, CAN, LIN, FlexRay, MOST, Ethernet).
- FIG. 3 is a control block diagram of an autonomous driving apparatus according to an embodiment of the present invention.
- the autonomous driving device 260 may include a memory 140 , a processor 170 , an interface unit 180 , and a power supply unit 190 .
- the memory 140 is electrically connected to the processor 170 .
- the memory 140 may store basic data for the unit, control data for operation control of the unit, and input/output data.
- the memory 140 may store data processed by the processor 170 .
- the memory 140 may be configured as at least one of ROM, RAM, EPROM, flash drive, and hard drive in terms of hardware.
- the memory 140 may store various data for the overall operation of the autonomous driving device 260 , such as a program for processing or controlling the processor 170 .
- the memory 140 may be implemented integrally with the processor 170 . According to an embodiment, the memory 140 may be classified into a sub-configuration of the processor 170 .
- the interface unit 180 may exchange signals with at least one electronic device provided in the vehicle 10 in a wired or wireless manner.
- the interface unit 280 includes an object detecting device 210 , a communication device 220 , a driving manipulation device 230 , a main ECU 240 , a driving control device 250 , a sensing unit 270 , and a location data generating device.
- a signal may be exchanged with at least one of 280 by wire or wirelessly.
- the interface unit 280 may be composed of at least one of a communication module, a terminal, a pin, a cable, a port, a circuit, an element, and a device.
- the power supply unit 190 may supply power to the autonomous driving device 260 .
- the power supply unit 190 may receive power from a power source (eg, a battery) included in the vehicle 10 and supply power to each unit of the autonomous driving apparatus 260 .
- the power supply unit 190 may be operated according to a control signal provided from the main ECU 240 .
- the power supply unit 190 may include a switched-mode power supply (SMPS).
- SMPS switched-mode power supply
- the processor 170 may be electrically connected to the memory 140 , the interface unit 280 , and the power supply unit 190 to exchange signals.
- Processor 170 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors (processors), controller It may be implemented using at least one of controllers, micro-controllers, microprocessors, and other electrical units for performing functions.
- the processor 170 may be driven by power provided from the power supply 190 .
- the processor 170 may receive data, process data, generate a signal, and provide a signal while power is supplied by the power supply unit 190 .
- the processor 170 may receive information from another electronic device in the vehicle 10 through the interface unit 180 .
- the processor 170 may provide a control signal to another electronic device in the vehicle 10 through the interface unit 180 .
- the autonomous driving device 260 may include at least one printed circuit board (PCB).
- the memory 140 , the interface unit 180 , the power supply unit 190 , and the processor 170 may be electrically connected to the printed circuit board.
- FIG. 4 is a signal flow diagram of an autonomous vehicle according to an embodiment of the present invention.
- the processor 170 may perform a reception operation.
- the processor 170 may receive data from at least one of the object detecting device 210 , the communication device 220 , the sensing unit 270 , and the location data generating device 280 through the interface unit 180 .
- the processor 170 may receive object data from the object detection apparatus 210 .
- the processor 170 may receive HD map data from the communication device 220 .
- the processor 170 may receive vehicle state data from the sensing unit 270 .
- the processor 170 may receive location data from the location data generating device 280 .
- the processor 170 may perform a processing/determination operation.
- the processor 170 may perform a processing/determination operation based on the driving situation information.
- the processor 170 may perform a processing/determination operation based on at least one of object data, HD map data, vehicle state data, and location data.
- the processor 170 may generate driving plan data.
- the processor 170 may generate Electronic Horizon Data.
- the electronic horizon data may be understood as driving plan data within a range from a point where the vehicle 10 is located to a horizon.
- the horizon may be understood as a point in front of a preset distance from a point where the vehicle 10 is located based on a preset driving route.
- the horizon may mean a point to which the vehicle 10 can reach after a predetermined time from a point where the vehicle 10 is located along a preset driving route.
- the electronic horizon data may include horizon map data and horizon pass data.
- the horizon map data may include at least one of topology data, road data, HD map data, and dynamic data.
- the horizon map data may include a plurality of layers.
- the horizon map data may include a first layer matching topology data, a second layer matching road data, a third layer matching HD map data, and a fourth layer matching dynamic data.
- the horizon map data may further include static object data.
- Topology data can be described as a map created by connecting road centers.
- the topology data is suitable for roughly indicating the location of the vehicle, and may be in the form of data mainly used in navigation for drivers.
- the topology data may be understood as data on road information excluding information on lanes.
- the topology data may be generated based on data received from an external server through the communication device 220 .
- the topology data may be based on data stored in at least one memory provided in the vehicle 10 .
- the road data may include at least one of slope data of the road, curvature data of the road, and speed limit data of the road.
- the road data may further include data on an overtaking prohibited section.
- the road data may be based on data received from an external server through the communication device 220 .
- the road data may be based on data generated by the object detecting apparatus 210 .
- the HD map data includes detailed lane-by-lane topology information of the road, connection information of each lane, and characteristic information for vehicle localization (eg, traffic signs, Lane Marking/attributes, Road furniture, etc.).
- vehicle localization eg, traffic signs, Lane Marking/attributes, Road furniture, etc.
- the HD map data may be based on data received from an external server through the communication device 220 .
- the dynamic data may include various dynamic information that may be generated on the road.
- the dynamic data may include construction information, variable speed lane information, road surface condition information, traffic information, moving object information, and the like.
- the dynamic data may be based on data received from an external server through the communication device 220 .
- the dynamic data may be based on data generated by the object detection apparatus 210 .
- the processor 170 may provide map data within a range from the point where the vehicle 10 is located to the horizon.
- the horizon pass data may be described as a trajectory that the vehicle 10 can take within a range from a point where the vehicle 10 is located to the horizon.
- the horizon pass data may include data representing a relative probability of selecting any one road at a decision point (eg, a fork, a junction, an intersection, etc.).
- the relative probability may be calculated based on the time it takes to arrive at the final destination. For example, at the decision point, if the time taken to arrive at the final destination is shorter when selecting the first road than when selecting the second road, the probability of selecting the first road is higher than the probability of selecting the second road. can be calculated higher.
- the horizon pass data may include a main path and a sub path.
- the main path may be understood as a track connecting roads with a high relative probability of being selected.
- the sub-path may diverge at at least one decision point on the main path.
- the sub-path may be understood as a trajectory connecting at least one road having a low relative probability of being selected from at least one decision point on the main path.
- the processor 170 may perform a control signal generating operation.
- the processor 170 may generate a control signal based on the Electronic Horizon data.
- the processor 170 may generate at least one of a powertrain control signal, a brake device control signal, and a steering device control signal based on the electronic horizon data.
- the processor 170 may transmit the generated control signal to the driving control device 250 through the interface unit 180 .
- the drive control device 250 may transmit a control signal to at least one of the power train 251 , the brake device 252 , and the steering device 253 .
- FIG. 5 is a diagram illustrating an apparatus for providing a service based on a multi-modal input according to the present specification.
- the multi-modal input-based service providing apparatus may include a storage unit, a user input unit, and a processor. Also, the multi-modal input-based service providing apparatus may further include a display unit. In addition, the multi-modal input-based service providing apparatus according to the present specification may be installed in a vehicle.
- the storage unit 310 stores data supporting various functions of the device 300 .
- the storage unit 310 may store a plurality of application programs (or applications) driven in the device 300 , data for operation of the device 300 , and commands. At least some of these application programs may be downloaded from an external server through wireless communication. Meanwhile, the application program may be stored in the storage unit 310 , installed on the device 300 , and driven to perform an operation (or function) of the device 300 by the processor 330 .
- Storage unit 310 is a flash memory type (flash memory type), hard disk type (hard disk type), SSD type (Solid State Disk type), SDD type (Silicon Disk Drive type), multimedia card micro type (multimedia card micro) type), card type memory (such as SD or XD memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable (EEPROM) It may include a storage medium of at least one type of a read-only memory), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. Also, the storage unit 310 may include a web storage that performs a storage function on the Internet.
- the input unit 320 may include a microphone for voice input or an audio input unit.
- the input unit 320 may further include a user input unit (eg, a touch key, a mechanical key, etc.) for receiving information from the user.
- the voice data or touch data collected by the input unit 320 may be analyzed and processed as a user's control command.
- the processor 330 is a component capable of performing calculations and controlling other devices 10 .
- Mainly, it may mean a central processing unit (CPU), an application processor (AP), a graphics processing unit (GPU), or the like.
- the CPU, AP, or GPU may include one or more cores therein, and the CPU, AP, or GPU may operate using an operating voltage and a clock signal.
- a CPU or AP may consist of a few cores optimized for serial processing
- a GPU may consist of thousands of smaller and more efficient cores designed for parallel processing.
- the display unit 340 may refer to a device that receives screen data from the processor 330 and displays it so that the user can check it through the senses.
- the display unit 340 may include a self-luminous display panel or a non-luminous display panel.
- the self-luminous display panel may include, for example, an OLED panel that does not require a backlight
- the non-emission display panel may include, for example, an LCD panel requiring a backlight, but is not limited thereto.
- the storage unit may store a plurality of applications.
- the user input unit may receive a user input including at least one of a voice command and a touch input.
- the processor may control execution of at least one application functionally connected to a plurality of applications stored in the storage unit.
- the processor may control the execution of at least one application so that a dialog generated by a plurality of applications based on a user input is output in consideration of a pattern of the user input.
- the processor may infer the intention of the user input by analyzing the execution screen of the specific application and the user input on the execution screen.
- the specific application may be one of a plurality of applications.
- the processor may control to generate a dialog corresponding to the inferred intention in the application corresponding to the inferred intention.
- the processor may control the dialog to be generated by voice.
- the dialog may be output as a visual image. This is an example, and may cross each other.
- a voice command when a user inputs a voice command (ex-what time does the destination close?), the voice command is transmitted to the processor through the user input unit. can be transmitted.
- the processor may analyze the meaning of the voice command through natural language processing.
- the processor may analyze text displayed on the navigation screen of the vehicle and find a function corresponding to the user's voice command.
- the processor may extract information on the POI of the destination in response to the user's voice command, and output a dialog corresponding thereto (eg, the business closes at 6 pm) by voice.
- the voice command may be transmitted to the processor through the user input unit.
- the processor may analyze the meaning of the voice command through natural language processing.
- the processor may analyze text displayed on the navigation screen of the vehicle and find a function corresponding to the user's voice command.
- the processor may acquire information that the A button and the B button are being displayed on the execution screen in response to the user's voice command.
- the processor may select the A button according to the user's voice command.
- the processor may output a dialog indicating that the A button is selected.
- the user input may further include motion information.
- the processor may infer the intention by additionally considering the operation information.
- the user may draw a circle and give a voice command (ex- (drawing a concentric circle) informs a nearby parking area).
- the operation performed by the user may include various gestures as well as a circle.
- the processor may activate or deactivate the user input unit according to a preset condition. For example, in a multi-modal input-based service providing apparatus installed in a navigation system of a vehicle, when the vehicle is traveling at a predetermined speed or higher (ex-80 km/h), the processor may deactivate the user input unit for safe driving. In particular, the processor may disable the function of receiving the touch input.
- the processor may control the user input unit to switch to a voice recognition mode and/or a touch mode.
- a voice recognition mode For example, in a multi-modal input-based service providing device installed in a vehicle navigation system, when the vehicle is driving at a certain speed or higher (ex-80 km/h), for safe driving, the processor recognizes the user input unit by voice recognition in the touch mode. It can be controlled to switch to mode. Conversely, when the vehicle is stopped, the processor may control the user input unit to switch from the voice recognition mode to the touch mode (or the touch mode and the voice recognition mode).
- the processor may maintain the voice recognition mode of the user input unit until the specific application is terminated.
- the processor may switch the user input unit to the touch mode. Also, when an error occurs a predetermined number of times (ex-2 times), the processor may switch the mode of the user input unit.
- the processor may control to store a previous screen of the execution screen in the memory. Accordingly, the processor may infer the user's intention based on not only the currently executed execution screen but also the previously executed previous screen.
- a voice command (ex-Where is the restaurant shown on the screen?)
- the voice command is transmitted to the processor through the user input unit.
- the processor may analyze the meaning of the voice command through natural language processing.
- the processor may analyze text displayed on a previous screen of the vehicle's navigation and find a POI corresponding to the user's voice command.
- the processor may output a dialog according to the POI displayed on the previous screen in response to the user's voice command.
- the processor when the processor stores the previous screen in memory, it may assign a tag to the previous screen as a time stamp. Accordingly, it may be easy for the processor to retrieve the previous screen as needed.
- such operations of the processor may be used when it is difficult to infer a user's intention only from a user input. That is, when a user intention is clearly inferred only from a user input, the processor may perform an operation according to the user input to prevent wasting of resources, etc.
- the processor may receive vehicle state information or user context information from the vehicle in order to infer user intention.
- vehicle state information may include whether the vehicle is autonomously driving, whether the vehicle is manually driving, and the like.
- vehicle state information may include a position, speed, driving state, and the like of the vehicle.
- user context information may include information obtained through a camera installed inside the vehicle.
- the processor may receive an image of the user's situation through a camera, etc., and the processor may infer the user's situation by analyzing the image.
- the subject performing the multi-modal input-based service providing method of the present specification may be the apparatus or processor according to the first embodiment of the present specification.
- content identical to or overlapping with the description of the above-described first embodiment may be omitted below.
- FIG. 6 is a diagram illustrating a multi-modal input-based service providing method according to the present specification.
- the method for providing a service based on multi-modal input includes receiving a user input including at least one of a voice command or a touch input (S101), an execution screen of a specific application, and an execution screen of a specific application.
- a user input including at least one of a voice command or a touch input (S101), an execution screen of a specific application, and an execution screen of a specific application.
- Inferring the intention of the user input by analyzing the user input (S102), controlling to generate a dialog corresponding to the intention inferred from the application corresponding to the inferred intention (S103), and generating in consideration of the pattern of the user input It may include the step of controlling the execution of at least one application so that the dialog is output (S104).
- the dialog may be output by voice.
- the dialog may be output as a visual image. This is an example, and may cross each other.
- the user input may further include motion information. Accordingly, in the step of inferring the intention of the user input ( S102 ), the intention may be inferred by additionally considering the operation information.
- the user input may be received.
- the voice input mode of the user input unit may be activated from then on.
- the voice input mode of the user input unit may be deactivated, and only the touch input mode may be activated.
- a voice input mode among the user input units may be activated from then on.
- the step of inferring the intention of the user input includes the steps of storing the previous screen of the execution screen in the memory (S1021) and inferring the intention of the user input by analyzing the previous screen and the user input (S1022). may include
- the step of storing the previous screen in the memory (S1021) includes the steps of allocating a tag as a time stamp to the previous screen (S1021a) and storing the data for the previous screen together with the assigned tag in the memory (S1021b) may include.
- step of inferring the intention of the user input ( S102 ) information on the execution screen may be extracted, and the intention of the user input may be inferred by analyzing the extracted information and the user input.
- the step of receiving the user input may include controlling the user input unit to switch to a voice recognition mode and a touch mode according to a preset condition (S1011) and receiving the user input (S1012). have.
- the intention of the user input may be inferred by analyzing the execution screen.
- Embodiments according to the second embodiment of the present specification may be omitted because they are the same as or overlapping with the embodiments of the first embodiment described above.
- FIGS. 7 to 10 are diagrams illustrating specific scenarios of a service providing apparatus and a service providing method according to the present specification.
- FIG. 7 shows a specific scenario in which a touch input and a voice command are simultaneously transmitted to the processor.
- the touch input generated through the execution screen of the touch input interface (I/F) is transmitted to the multi-modal input analysis module 333 (S101), and the voice input through the voice interface (I/F)
- the command may be transmitted to the multi-modal input analysis module 333 (S102).
- the user intention integrated and analyzed by the multi-modal input analysis module 333 may be transmitted to the interaction logic module 331 ( S103 ). Based on the interpreted intention, the interaction logic module 331 may generate a dialog or APP GUI feedback (S104). Also, based on the interpreted intention, the interaction logic module 331 may generate a TTS feedback and transmit it to the user input unit adjustment module 333 ( S105 ).
- the execution screen analysis module 332 may analyze the content displayed on the execution screen and transmit the result to the multi-modal input analysis module 333 (S106).
- the multi-modal input interpretation module 333 may transmit a message requesting output by voice to the voice interface adjustment module 334 or a command to activate the voice recognition mode (S107) .
- the execution screen analysis module 332 may directly feed back to the execution screen (S111).
- the voice interface control module 334 may instruct the voice interface (or the user input unit 320) to activate the voice recognition/output mode (S109).
- the voice interface adjustment module 334 may determine whether to switch to the voice recognition/output mode in consideration of vehicle state information or user context information (S108).
- the multi-modal input interpretation module 333 may deliver a dialog based on the user's intention to the voice interface (S110).
- the voice interface may output the dialog as voice depending on whether the voice recognition/output mode is activated.
- the multi-modal input analysis module 333 may process an image of a dialog based on a user's intention and deliver it to the execution screen.
- the multi-modal input analysis module 333 may convert (eg. CategorySelection, “A”) the voice command and the touch input into an event that the application can handle based on the user's intention (b).
- the multi-modal input interpretation module 333 may transmit the event to the interaction logic module 331 (c).
- the application framework may implement an image on the execution screen in a manner and content determined by the interaction logic module 331 (d).
- execution screen analysis module 332 whenever the execution screen analysis module 332 generates an execution screen context, execution screen contents may be generated using a predetermined protocol (S201). In addition, the execution screen analysis module 332 may automatically extract the context based on a predetermined rule for a specific execution screen format through the application framework (S202). Also, the execution screen analysis module 332 may extract pattern information based on machine learning with respect to an image or text displayed on the execution screen (S203).
- the content extracted by at least one method of S201 to S203 may be normalized (context) into a data format defined in advance so that the system can use it (S204).
- the execution screen analysis module 332 may merge the extracted contexts (S205). For example, if List contents are automatically extracted from the application framework based on Rule, but a button that can be toggled based on machine learning is additionally found, the execution screen analysis module 332 may merge the two contexts.
- the merged context may update the machine learning dataset again (eg. RNN) or update the Rule (S206).
- the merged context is stored in the memory (S207), and can be used as a context in the process of combining, interpreting, and extracting the natural language processing result data for the voice input inside the execution screen analysis module 332 (S208). Also, the merged context may be reconstructed as a context for dynamically generating/updating the natural language processing model (S209).
- the multi-modal input analysis module 333 converts the voice command and touch input into an event that can be handled by the application centered on the user intention (eg. CategorySelection, “A”), so that the first application interaction logic and the second 2 It can be transmitted to the application interaction logic (b).
- the converted event may be used to update the first execution screen and the second execution screen of the two applications (c).
- the ASR/TTS request handler 332a of the execution screen analysis module 332 receives the TTS phrase from the (first and second applications) interaction logic, and the request handler 332a performs voice recognition thereafter. Information on whether additional information is needed may be received from the interaction logic (S301).
- the voice recognition determination module 332b may determine whether to actually transmit the requested TTS phrase to the TTS engine or to start the ASR engine when the TTS is finished ( S302 ).
- the multi-modal input interpretation module 333 may activate the voice recognition mode (eg. ASR ON, TTS ON).
- the voice recognition mode eg. ASR ON, TTS ON.
- the user may utter “Hi LG” or when the user initiates a command through a touch input, the user may utter “Select Italian”.
- the POI search result screen is displayed on the execution screen, and the TTS is activated so that “Please select an item in the Italian restaurant list” can be uttered to the user.
- the ASR engine is started and at the same time the microphone can also be activated. This activation state may be maintained until a deactivation condition is met.
- the voice recognition mode determination module 332b may receive the vehicle context from the vehicle and determine whether to activate the voice recognition mode.
- the voice recognition mode determining module 332b may activate the voice recognition mode when not to be touched according to the driving workload state. Also, when it is determined that the environment around the vehicle is noisy due to noise, the voice recognition mode determination module 332b may transmit a guide message to use a manual interface (or a touch interface) and deactivate the voice recognition mode.
- the voice recognition mode determining module 332b may provide the TTS feedback of the private data only to the user who has issued a voice command, or may temporarily deactivate the voice recognition mode, depending on the presence of another user.
- the voice recognition mode determination module 332b may transmit the AST/TTS flag information and the TTS phrase determined according to the above process to the voice interface control module 332c (S305).
- the voice interface control module 332c may sequentially drive the engine corresponding to the operation sequence (S306).
- a scenario supporting simultaneous voice input for a predefined manual operation on a touch screen may be provided. Through this, a more convenient one-shot action function can be provided to the user.
- operation information corresponding thereto may be transmitted to the application through the application framework (S401).
- the pre-registered motion information may include a long press, a knock-on, a drawing circle, a multi-finger touch, and the like.
- the voice recognition engine may be arbitrarily driven at the same time by the above manual operation (S402).
- S402 an operation according to the context intention input in advance may be performed as follows.
- the first application interaction logic may support generating a related voice command guide at the same time (S404).
- the voice command guide may be as follows.
- the user input unit may recognize the user's voice command and transmit the recognition result to the multi-modal fusion engine 333a (S405).
- the multi-modal fusion engine 333a receives data from the multi-modal context provider 333b according to the user's intention and generates an event (S406), and in this case, the generated event is the first application or the second application's A UI scenario may be generated (S407).
- the present invention described above can be modeled as computer-readable code on a medium in which a program is recorded.
- the computer-readable medium includes all kinds of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. It also includes modeling in the form of a carrier wave (eg, transmission over the Internet). Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Multimedia (AREA)
- Navigation (AREA)
Abstract
멀티 모달 입력 기반의 서비스 장치 및 서비스 제공 방법이 개시된다. 본 명세서에 따른 서비스 제공 장치는, 복수의 어플리케이션을 저장하는 저장부, 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 사용자 입력부, 상기 복수의 어플리케이션과 기능적으로 연결되고, 상기 사용자 입력에 기초하여 상기 복수의 어플리케이션이 생성한 다이얼로그(dialog)가 상기 사용자 입력의 패턴을 고려하여 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 프로세서를 포함하고, 상기 프로세서는 특정 어플리케이션의 실행 화면 및 상기 실행 화면 상에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하고, 상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어할 수 있다.
Description
본 명세서는 하는 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법에 관한 것으로서, 더욱 상세하게는 실행 화면의 내용과 멀티 모달 입력에 기초한 서비스 제공 장치 및 서비스 제공 방법에 관한 것이다.
자동차는 사용되는 원동기의 종류에 따라, 내연기관(internal combustion engine) 자동차, 외연기관(external combustion engine) 자동차, 가스터빈(gas turbine) 자동차 또는 전기자동차(electric vehicle) 등으로 분류될 수 있다.
차량용 멀티 모달 입력 기반 서비스 제공에 있어서, 기존의 음성 어시스턴트는 독립적인 어플리케이션으로서 사용자와의 음성 대화를 주관하여 최종 수행 동작을 결정하고, 결정된 동작을 시스템 내의 다른 기능 또는 다른 어플리케이션에 전달하는 방식으로 동작하였다. 또한, GUI 기반 일반 어플리케이션 사용 경험과 음성 어시스턴트를 통한 사용 경험의 일관성이 없고, 서로 기능의 차이 등이 존재하였다.
이를 해결하기 위하여, 서로 다른 기능의 어플리케이션을 구동할 수 있는 음성 어시스턴트가 필요하다.
본 명세서는, 멀티 모달 입력 기반의 서비스를 보다 효율적으로 제공하는 것을 목적으로 한다.
또한, 본 명세서는, 하나의 음성 어시스턴트만으로 다양한 기능의 모든 어플리케이션의 기능을 구동하는 것을 목적으로 한다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 발명의 상세한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위하여, 본 명세서는, 복수의 어플리케이션을 저장하는 저장부, 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 사용자 입력부, 상기 복수의 어플리케이션과 기능적으로 연결되고, 상기 사용자 입력에 기초하여 상기 복수의 어플리케이션이 생성한 다이얼로그(dialog)가 상기 사용자 입력의 패턴을 고려하여 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 프로세서를 포함하고, 상기 프로세서는 특정 어플리케이션의 실행 화면 및 상기 실행 화면 상에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하고, 상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어할 수 있다.
또한, 상기 프로세서는 상기 사용자 입력이 음성 입력인 경우, 상기 다이어로그를 음성으로 생성하도록 제어할 수 있다.
또한, 상기 사용자 입력은 동작 정보를 더 포함할 수 있다.
또한, 상기 프로세서는 상기 동작 정보를 추가로 고려하여 상기 의도를 추론할 수 있다.
또한, 상기 프로세서는 미리 설정된 조건에 따라 상기 사용자 입력부를 활성화 또는 비활성화할 수 있다.
또한, 상기 프로세서는 상기 실행 화면의 이전 화면을 상기 메모리에 저장하도록 제어할 수 있다.
이때, 상기 프로세서는 상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론할 수 있다.
또한, 상기 프로세서는 상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론할 수 있다.
또한, 상기 프로세서는 상기 사용자 입력부를 음성 인식 모드 또는 터치 모드로 스위칭하도록 제어할 수 있다.
또한, 상기 프로세서는 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론할 수 있다.
또한, 상술한 과제를 해결하기 위하여, 본 명세서는 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 단계, 특정 어플리케이션의 실행 화면 및 상기 실행 화면에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계, 상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는 단계 및 상기 사용자 입력의 패턴을 고려하여 상기 생성된 다이얼로그가 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 단계를 포함할 수 있다.
또한, 상기 사용자 입력이 상기 음성 명령인 경우, 상기 다이어로그는 음성으로 출력될 수 있다.
또한, 상기 사용자 입력은 동작 정보를 더 포함할 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계는 상기 동작 정보를 추가로 고려하여 상기 의도를 추론할 수 있다.
또한, 상기 사용자 입력을 수신하는 단계는 미리 설정된 조건에 따라 사용자 입력부가 활성화되는 경우, 상기 사용자 입력을 수신할 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계는 상기 실행 화면의 이전 화면을 메모리에 저장하는 단계 및 상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계를 포함할 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계는 상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론할 수 있다.
또한, 상기 사용자 입력을 수신하는 단계는 미리 설정된 조건에 따라 사용자 입력부를 음성 인식 모드 및 터치 모드로 스위칭하도록 제어하는 단계 및 상기 사용자 입력을 수신하는 단계를 포함할 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계는 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론할 수 있다.
본 명세서는, 멀티 모달 입력 기반의 서비스를 보다 효율적으로 제공할 수 있는 효과가 있다.
또한, 본 명세서는, 하나의 음성 어시스턴트만으로 다양한 기능의 모든 어플리케이션의 기능을 구동할 수 있는 효과가 있다.
또한, 본 명세서는, 차량 상황에 따라 적절한 GUI-VUI mode 자동 전환 및 통합을 통해 차량 주행의 안정성을 향상시키고, 사용의 편의성을 개선시킬 수 있는 효과가 있다.
본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 명세서 실시예에 따른 차량을 도시한 도면이다.
도 2는 본 명세서의 실시예에 따른 차량의 제어 블럭도이다.
도 3은 본 명세서의 실시예에 따른 자율 주행 장치의 제어 블럭도이다.
도 4는 본 명세서의 실시예에 따른 자율 주행 차량의 신호 흐름도이다.
도 5는 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 장치를 나타낸 도면이다.
도 6은 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 방법을 나타낸 도면이다.
도 7 내지 도 10은 본 명세서에 따른 서비스 제공 장치 및 서비스 제공 방법의 구체적인 시나리오를 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 명세서의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
주행
(1) 차량 외관
도 1은 본 발명의 실시예에 따른 차량을 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 차량(10)은, 도로나 선로 위를 주행하는 수송 수단으로 정의된다. 차량(10)은, 자동차, 기차, 오토바이를 포함하는 개념이다. 차량(10)은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량등을 모두 포함하는 개념일 수 있다. 차량(10)은 개인이 소유한 차량일 수 있다. 차량(10)은, 공유형 차량일 수 있다. 차량(10)은 자율 주행 차량일 수 있다.
(2) 차량의 구성 요소
도 2는 본 발명의 실시예에 따른 차량의 제어 블럭도이다.
도 2를 참조하면, 차량(10)은, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 구동 제어 장치(250), 자율 주행 장치(260), 센싱부(270) 및 위치 데이터 생성 장치(280)를 포함할 수 있다. 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 구동 제어 장치(250), 자율 주행 장치(260), 센싱부(270) 및 위치 데이터 생성 장치(280)는 각각이 전기적 신호를 생성하고, 상호간에 전기적 신호를 교환하는 전자 장치로 구현될 수 있다.
1) 사용자 인터페이스 장치
사용자 인터페이스 장치(200)는, 차량(10)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(10)에서 생성된 정보를 제공할 수 있다. 차량(10)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interface) 또는 UX(User Experience)를 구현할 수 있다. 사용자 인터페이스 장치(200)는, 입력 장치, 출력 장치 및 사용자 모니터링 장치를 포함할 수 있다.
2) 오브젝트 검출 장치
오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 오브젝트에 대한 정보는, 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 차량(10)과 오브젝트와의 거리 정보 및 차량(10)과 오브젝트와의 상대 속도 정보 중 적어도 어느 하나를 포함할 수 있다. 오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있다. 오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있는 적어도 하나의 센서를 포함할 수 있다. 오브젝트 검출 장치(210)는, 카메라, 레이다, 라이다, 초음파 센서 및 적외선 센서 중 적어도 하나를 포함할 수 있다. 오브젝트 검출 장치(210)는, 센서에서 생성되는 센싱 신호에 기초하여 생성된 오브젝트에 대한 데이터를 차량에 포함된 적어도 하나의 전자 장치에 제공할 수 있다.
2.1) 카메라
카메라는 영상을 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 카메라는 적어도 하나의 렌즈, 적어도 하나의 이미지 센서 및 이미지 센서와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
카메라는, 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 중 적어도 어느 하나일 수 있다. 카메라는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 스테레오 카메라에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
카메라는, 차량 외부를 촬영하기 위해 차량에서 FOV(field of view) 확보가 가능한 위치에 장착될 수 있다. 카메라는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 카메라는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다. 카메라는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 카메라는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다. 카메라는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.
2.2) 레이다
레이다는 전파를 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 레이다는, 전자파 송신부, 전자파 수신부 및 전자파 송신부 및 전자파 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 레이다는 전파 발사 원리상 펄스 레이다(Pulse Radar) 방식 또는 연속파 레이다(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이다는 연속파 레이다 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keyong) 방식으로 구현될 수 있다. 레이다는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 레이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
2.3) 라이다
라이다는, 레이저 광을 이용하여, 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 라이다는, 광 송신부, 광 수신부 및 광 송신부 및 광 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리된 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 라이다는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다. 라이다는, 구동식 또는 비구동식으로 구현될 수 있다. 구동식으로 구현되는 경우, 라이다는, 모터에 의해 회전되며, 차량(10) 주변의 오브젝트를 검출할 수 있다. 비구동식으로 구현되는 경우, 라이다는, 광 스티어링에 의해, 차량을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다를 포함할 수 있다. 라이다는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 라이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
3) 통신 장치
통신 장치(220)는, 차량(10) 외부에 위치하는 디바이스와 신호를 교환할 수 있다. 통신 장치(220)는, 인프라(예를 들면, 서버, 방송국), 타 차량, 단말기 중 적어도 어느 하나와 신호를 교환할 수 있다. 통신 장치(220)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.
또한, 통신 장치(220)는, V2X(vehicle-to-everything) 통신 기술을 통하여 외부 디바이스와 신호를 교환할 수 있다. V2X 통신은 PC5 인터페이스 및/또는 Uu 인터페이스를 통해 제공될 수 있다.
한편, 차세대 무선 접속 기술을 새로운 RAT(new radio access technology) 또는 NR(new radio)이라 칭할 수 있다. NR에서도 V2X(vehicle-to-everything) 통신이 지원될 수 있다.
5G NR은 LTE-A의 후속 기술로서, 고성능, 저지연, 고가용성 등의 특성을 가지는 새로운 Clean-slate 형태의 이동 통신 시스템이다. 5G NR은 1GHz 미만의 저주파 대역에서부터 1GHz~10GHz의 중간 주파 대역, 24GHz 이상의 고주파(밀리미터파) 대역 등 사용 가능한 모든 스펙트럼 자원을 활용할 수 있다.
설명을 명확하게 하기 위해, LTE-A 또는 5G NR을 위주로 기술하지만 본 발명의 기술적 사상이 이에 제한되는 것은 아니다.
예를 들어, 통신 장치는 C-V2X(Cellular V2X) 기술을 기반으로 외부 디바이스와 신호를 교환할 수 있다. 예를 들어, C-V2X 기술은 LTE 기반의 사이드링크 통신 및/또는 NR 기반의 사이드링크 통신을 포함할 수 있다.
예를 들어, 통신 장치는 IEEE 802.11p PHY/MAC 계층 기술과 IEEE 1609 Network/Transport 계층 기술 기반의 DSRC(Dedicated Short Range Communications) 기술 또는 WAVE(Wireless Access in Vehicular Environment) 표준을 기반으로 외부 디바이스와 신호를 교환할 수 있다. DSRC (또는 WAVE 표준) 기술은 차량 탑재 장치 간 혹은 노변 장치와 차량 탑재 장치 간의 단거리 전용 통신을 통해 ITS(Intelligent Transport System) 서비스를 제공하기 위해 마련된 통신 규격이다. DSRC 기술은 5.9GHz 대역의 주파수를 사용할 수 있고, 3Mbps~27Mbps의 데이터 전송 속도를 가지는 통신 방식일 수 있다. IEEE 802.11p 기술은 IEEE 1609 기술과 결합되어 DSRC 기술 (혹은 WAVE 표준)을 지원할 수 있다.
본 발명의 통신 장치는 C-V2X 기술 또는 DSRC 기술 중 어느 하나만을 이용하여 외부 디바이스와 신호를 교환할 수 있다. 또는, 본 발명의 통신 장치는 C-V2X 기술 및 DSRC 기술을 하이브리드하여 외부 디바이스와 신호를 교환할 수 있다.
4) 운전 조작 장치
운전 조작 장치(230)는, 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(10)은, 운전 조작 장치(230)에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치(230)는, 조향 입력 장치(예를 들면, 스티어링 휠), 가속 입력 장치(예를 들면, 가속 페달) 및 브레이크 입력 장치(예를 들면, 브레이크 페달)를 포함할 수 있다.
5) 메인 ECU
메인 ECU(240)는, 차량(10) 내에 구비되는 적어도 하나의 전자 장치의 전반적인 동작을 제어할 수 있다.
6) 구동 제어 장치
구동 제어 장치(250)는, 차량(10)내 각종 차량 구동 장치를 전기적으로 제어하는 장치이다. 구동 제어 장치(250)는, 파워 트레인 구동 제어 장치, 샤시 구동 제어 장치, 도어/윈도우 구동 제어 장치, 안전 장치 구동 제어 장치, 램프 구동 제어 장치 및 공조 구동 제어 장치를 포함할 수 있다. 파워 트레인 구동 제어 장치는, 동력원 구동 제어 장치 및 변속기 구동 제어 장치를 포함할 수 있다. 샤시 구동 제어 장치는, 조향 구동 제어 장치, 브레이크 구동 제어 장치 및 서스펜션 구동 제어 장치를 포함할 수 있다. 한편, 안전 장치 구동 제어 장치는, 안전 벨트 제어를 위한 안전 벨트 구동 제어 장치를 포함할 수 있다.
구동 제어 장치(250)는, 적어도 하나의 전자적 제어 장치(예를 들면, 제어 ECU(Electronic Control Unit))를 포함한다.
구종 제어 장치(250)는, 자율 주행 장치(260)에서 수신되는 신호에 기초하여, 차량 구동 장치를 제어할 수 있다. 예를 들면, 제어 장치(250)는, 자율 주행 장치(260)에서 수신되는 신호에 기초하여, 파워 트레인, 조향 장치 및 브레이크 장치를 제어할 수 있다.
7) 자율 주행 장치
자율 주행 장치(260)는, 획득된 데이터에 기초하여, 자율 주행을 위한 패스를 생성할 수 있다. 자율 주행 장치(260)는, 생성된 경로를 따라 주행하기 위한 드라이빙 플랜을 생성 할 수 있다. 자율 주행 장치(260)는, 드라이빙 플랜에 따른 차량의 움직임을 제어하기 위한 신호를 생성할 수 있다. 자율 주행 장치(260)는, 생성된 신호를 구동 제어 장치(250)에 제공할 수 있다.
자율 주행 장치(260)는, 적어도 하나의 ADAS(Advanced Driver Assistance System) 기능을 구현할 수 있다. ADAS는, 적응형 크루즈 컨트롤 시스템(ACC : Adaptive Cruise Control), 자동 비상 제동 시스템(AEB : Autonomous Emergency Braking), 전방 충돌 알림 시스템(FCW : Foward Collision Warning), 차선 유지 보조 시스템(LKA : Lane Keeping Assist), 차선 변경 보조 시스템(LCA : Lane Change Assist), 타겟 추종 보조 시스템(TFA : Target Following Assist), 사각 지대 감시 시스템(BSD : Blind Spot Detection), 적응형 하이빔 제어 시스템(HBA : High Beam Assist), 자동 주차 시스템(APS : Auto Parking System), 보행자 충돌 알림 시스템(PD collision warning system), 교통 신호 검출 시스템(TSR : Traffic Sign Recognition), 교통 신호 보조 시스템(TSA : Trafffic Sign Assist), 나이트 비전 시스템(NV : Night Vision), 운전자 상태 모니터링 시스템(DSM : Driver Status Monitoring) 및 교통 정체 지원 시스템(TJA : Traffic Jam Assist) 중 적어도 어느 하나를 구현할 수 있다.
자율 주행 장치(260)는, 자율 주행 모드에서 수동 주행 모드로의 전환 동작 또는 수동 주행 모드에서 자율 주행 모드로의 전환 동작을 수행할 수 있다. 예를 들면, 자율 주행 장치(260)는, 사용자 인터페이스 장치(200)로부터 수신되는 신호에 기초하여, 차량(10)의 모드를 자율 주행 모드에서 수동 주행 모드로 전환하거나 수동 주행 모드에서 자율 주행 모드로 전환할 수 있다.
8) 센싱부
센싱부(270)는, 차량의 상태를 센싱할 수 있다. 센싱부(270)는, IMU(inertial measurement unit) 센서, 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 스티어링 센서, 온도 센서, 습도 센서, 초음파 센서, 조도 센서, 페달 포지션 센서 중 적어도 어느 하나를 포함할 수 있다. 한편, IMU(inertial measurement unit) 센서는, 가속도 센서, 자이로 센서, 자기 센서 중 하나 이상을 포함할 수 있다.
센싱부(270)는, 적어도 하나의 센서에서 생성되는 신호에 기초하여, 차량의 상태 데이터를 생성할 수 있다. 차량 상태 데이터는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다. 센싱부(270)는, 차량 자세 데이터, 차량 모션 데이터, 차량 요(yaw) 데이터, 차량 롤(roll) 데이터, 차량 피치(pitch) 데이터, 차량 충돌 데이터, 차량 방향 데이터, 차량 각도 데이터, 차량 속도 데이터, 차량 가속도 데이터, 차량 기울기 데이터, 차량 전진/후진 데이터, 차량의 중량 데이터, 배터리 데이터, 연료 데이터, 타이어 공기압 데이터, 차량 내부 온도 데이터, 차량 내부 습도 데이터, 스티어링 휠 회전 각도 데이터, 차량 외부 조도 데이터, 가속 페달에 가해지는 압력 데이터, 브레이크 페달에 가해지는 압력 데이터 등을 생성할 수 있다.
9) 위치 데이터 생성 장치
위치 데이터 생성 장치(280)는, 차량(10)의 위치 데이터를 생성할 수 있다. 위치 데이터 생성 장치(280)는, GPS(Global Positioning System) 및 DGPS(Differential Global Positioning System) 중 적어도 어느 하나를 포함할 수 있다. 위치 데이터 생성 장치(280)는, GPS 및 DGPS 중 적어도 어느 하나에서 생성되는 신호에 기초하여 차량(10)의 위치 데이터를 생성할 수 있다. 실시예에 따라, 위치 데이터 생성 장치(280)는, 센싱부(270)의 IMU(Inertial Measurement Unit) 및 오브젝트 검출 장치(210)의 카메라 중 적어도 어느 하나에 기초하여 위치 데이터를 보정할 수 있다. 위치 데이터 생성 장치(280)는, GNSS(Global Navigation Satellite System)로 명명될 수 있다.
차량(10)은, 내부 통신 시스템(50)을 포함할 수 있다. 차량(10)에 포함되는 복수의 전자 장치는 내부 통신 시스템(50)을 매개로 신호를 교환할 수 있다. 신호에는 데이터가 포함될 수 있다. 내부 통신 시스템(50)은, 적어도 하나의 통신 프로토콜(예를 들면, CAN, LIN, FlexRay, MOST, 이더넷)을 이용할 수 있다.
(3) 자율 주행 장치의 구성 요소
도 3은 본 발명의 실시예에 따른 자율 주행 장치의 제어 블럭도이다.
도 3을 참조하면, 자율 주행 장치(260)는, 메모리(140), 프로세서(170), 인터페이스부(180) 및 전원 공급부(190)를 포함할 수 있다.
메모리(140)는, 프로세서(170)와 전기적으로 연결된다. 메모리(140)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(140)는, 프로세서(170)에서 처리된 데이터를 저장할 수 있다. 메모리(140)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 중 적어도 어느 하나로 구성될 수 있다. 메모리(140)는 프로세서(170)의 처리 또는 제어를 위한 프로그램 등, 자율 주행 장치(260) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다. 메모리(140)는, 프로세서(170)와 일체형으로 구현될 수 있다. 실시예에 따라, 메모리(140)는, 프로세서(170)의 하위 구성으로 분류될 수 있다.
인터페이스부(180)는, 차량(10) 내에 구비되는 적어도 하나의 전자 장치와 유선 또는 무선으로 신호를 교환할 수 있다. 인터페이스부(280)는, 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 구동 제어 장치(250), 센싱부(270) 및 위치 데이터 생성 장치(280) 중 적어도 어느 하나와 유선 또는 무선으로 신호를 교환할 수 있다. 인터페이스부(280)는, 통신 모듈, 단자, 핀, 케이블, 포트, 회로, 소자 및 장치 중 적어도 어느 하나로 구성될 수 있다.
전원 공급부(190)는, 자율 주행 장치(260)에 전원을 공급할 수 있다. 전원 공급부(190)는, 차량(10)에 포함된 파워 소스(예를 들면, 배터리)로부터 전원을 공급받아, 자율 주행 장치(260)의 각 유닛에 전원을 공급할 수 있다. 전원 공급부(190)는, 메인 ECU(240)로부터 제공되는 제어 신호에 따라 동작될 수 있다. 전원 공급부(190)는, SMPS(switched-mode power supply)를 포함할 수 있다.
프로세서(170)는, 메모리(140), 인터페이스부(280), 전원 공급부(190)와 전기적으로 연결되어 신호를 교환할 수 있다. 프로세서(170)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
프로세서(170)는, 전원 공급부(190)로부터 제공되는 전원에 의해 구동될 수 있다. 프로세서(170)는, 전원 공급부(190)에 의해 전원이 공급되는 상태에서 데이터를 수신하고, 데이터를 처리하고, 신호를 생성하고, 신호를 제공할 수 있다.
프로세서(170)는, 인터페이스부(180)를 통해, 차량(10) 내 다른 전자 장치로부터 정보를 수신할 수 있다. 프로세서(170)는, 인터페이스부(180)를 통해, 차량(10) 내 다른 전자 장치로 제어 신호를 제공할 수 있다.
자율 주행 장치(260)는, 적어도 하나의 인쇄 회로 기판(printed circuit board, PCB)을 포함할 수 있다. 메모리(140), 인터페이스부(180), 전원 공급부(190) 및 프로세서(170)는, 인쇄 회로 기판에 전기적으로 연결될 수 있다.
(4) 자율 주행 장치의 동작
도 4는 본 발명의 실시예에 따른 자율 주행 차량의 신호 흐름도이다.
1) 수신 동작
도 4를 참조하면, 프로세서(170)는, 수신 동작을 수행할 수 있다. 프로세서(170)는, 인터페이스부(180)를 통해, 오브젝트 검출 장치(210), 통신 장치(220), 센싱부(270) 및 위치 데이터 생성 장치(280) 중 적어도 어느 하나로부터, 데이터를 수신할 수 있다. 프로세서(170)는, 오브젝트 검출 장치(210)로부터, 오브젝트 데이터를 수신할 수 있다. 프로세서(170)는, 통신 장치(220)로부터, HD 맵 데이터를 수신할 수 있다. 프로세서(170)는, 센싱부(270)로부터, 차량 상태 데이터를 수신할 수 있다. 프로세서(170)는, 위치 데이터 생성 장치(280)로부터 위치 데이터를 수신할 수 있다.
2) 처리/판단 동작
프로세서(170)는, 처리/판단 동작을 수행할 수 있다. 프로세서(170)는, 주행 상황 정보에 기초하여, 처리/판단 동작을 수행할 수 있다. 프로세서(170)는, 오브젝트 데이터, HD 맵 데이터, 차량 상태 데이터 및 위치 데이터 중 적어도 어느 하나에 기초하여, 처리/판단 동작을 수행할 수 있다.
2.1) 드라이빙 플랜 데이터 생성 동작
프로세서(170)는, 드라이빙 플랜 데이터(driving plan data)를 생성할 수 있다. 예를 들면, 프로세서(170)는, 일렉트로닉 호라이즌 데이터(Electronic Horizon Data)를 생성할 수 있다. 일렉트로닉 호라이즌 데이터는, 차량(10)이 위치한 지점에서부터 호라이즌(horizon)까지 범위 내에서의 드라이빙 플랜 데이터로 이해될 수 있다. 호라이즌은, 기 설정된 주행 경로를 기준으로, 차량(10)이 위치한 지점에서 기설정된 거리 앞의 지점으로 이해될 수 있다. 호라이즌은, 기 설정된 주행 경로를 따라 차량(10)이 위치한 지점에서부터 차량(10)이 소정 시간 이후에 도달할 수 있는 지점을 의미할 수 있다.
일렉트로닉 호라이즌 데이터는, 호라이즌 맵 데이터 및 호라이즌 패스 데이터를 포함할 수 있다.
2.1.1) 호라이즌 맵 데이터
호라이즌 맵 데이터는, 토폴로지 데이터(topology data), 도로 데이터, HD 맵 데이터 및 다이나믹 데이터(dynamic data) 중 적어도 어느 하나를 포함할 수 있다. 실시예에 따라, 호라이즌 맵 데이터는, 복수의 레이어를 포함할 수 있다. 예를 들면, 호라이즌 맵 데이터는, 토폴로지 데이터에 매칭되는 1 레이어, 도로 데이터에 매칭되는 제2 레이어, HD 맵 데이터에 매칭되는 제3 레이어 및 다이나믹 데이터에 매칭되는 제4 레이어를 포함할 수 있다. 호라이즌 맵 데이터는, 스태이틱 오브젝트(static object) 데이터를 더 포함할 수 있다.
토폴로지 데이터는, 도로 중심을 연결해 만든 지도로 설명될 수 있다. 토폴로지 데이터는, 차량의 위치를 대략적으로 표시하기에 알맞으며, 주로 운전자를 위한 내비게이션에서 사용하는 데이터의 형태일 수 있다. 토폴로지 데이터는, 차로에 대한 정보가 제외된 도로 정보에 대한 데이터로 이해될 수 있다. 토폴로지 데이터는, 통신 장치(220)를 통해, 외부 서버에서 수신된 데이터에 기초하여 생성될 수 있다. 토폴로지 데이터는, 차량(10)에 구비된 적어도 하나의 메모리에 저장된 데이터에 기초할 수 있다.
도로 데이터는, 도로의 경사 데이터, 도로의 곡률 데이터, 도로의 제한 속도 데이터 중 적어도 어느 하나를 포함할 수 있다. 도로 데이터는, 추월 금지 구간 데이터를 더 포함할 수 있다. 도로 데이터는, 통신 장치(220)를 통해, 외부 서버에서 수신된 데이터에 기초할 수 있다. 도로 데이터는, 오브젝트 검출 장치(210)에서 생성된 데이터에 기초할 수 있다.
HD 맵 데이터는, 도로의 상세한 차선 단위의 토폴로지 정보, 각 차선의 연결 정보, 차량의 로컬라이제이션(localization)을 위한 특징 정보(예를 들면, 교통 표지판, Lane Marking/속성, Road furniture 등)를 포함할 수 있다. HD 맵 데이터는, 통신 장치(220)를 통해, 외부 서버에서 수신된 데이터에 기초할 수 있다.
다이나믹 데이터는, 도로상에서 발생될 수 있는 다양한 동적 정보를 포함할 수 있다. 예를 들면, 다이나믹 데이터는, 공사 정보, 가변 속도 차로 정보, 노면 상태 정보, 트래픽 정보, 무빙 오브젝트 정보 등을 포함할 수 있다. 다이나믹 데이터는, 통신 장치(220)를 통해, 외부 서버에서 수신된 데이터에 기초할 수 있다. 다이나믹 데이터는, 오브젝트 검출 장치(210)에서 생성된 데이터에 기초할 수 있다.
프로세서(170)는, 차량(10)이 위치한 지점에서부터 호라이즌까지 범위 내에서의 맵 데이터를 제공할 수 있다.
2.1.2) 호라이즌 패스 데이터
호라이즌 패스 데이터는, 차량(10)이 위치한 지점에서부터 호라이즌까지의 범위 내에서 차량(10)이 취할 수 있는 궤도로 설명될 수 있다. 호라이즌 패스 데이터는, 디시전 포인트(decision point)(예를 들면, 갈림길, 분기점, 교차로 등)에서 어느 하나의 도로를 선택할 상대 확률을 나타내는 데이터를 포함할 수 있다. 상대 확률은, 최종 목적지까지 도착하는데 걸리는 시간에 기초하여 계산될 수 있다. 예를 들면, 디시전 포인트에서, 제1 도로를 선택하는 경우 제2 도로를 선택하는 경우보다 최종 목적지에 도착하는데 걸리는 시간이 더 작은 경우, 제1 도로를 선택할 확률은 제2 도로를 선택할 확률보다 더 높게 계산될 수 있다.
호라이즌 패스 데이터는, 메인 패스와 서브 패스를 포함할 수 있다. 메인 패스는, 선택될 상대적 확률이 높은 도로들을 연결한 궤도로 이해될 수 있다. 서브 패스는, 메인 패스 상의 적어도 하나의 디시전 포인트에서 분기될 수 있다. 서브 패스는, 메인 패스 상의 적어도 하나의 디시전 포인트에서 선택될 상대적 확률이 낮은 적어도 어느 하나의 도로를 연결한 궤도로 이해될 수 있다.
3) 제어 신호 생성 동작
프로세서(170)는, 제어 신호 생성 동작을 수행할 수 있다. 프로세서(170)는, 일렉트로닉 호라이즌 데이터에 기초하여, 제어 신호를 생성할 수 있다. 예를 들면, 프로세서(170)는, 일렉트로닉 호라이즌 데이터에 기초하여, 파워트레인 제어 신호, 브라이크 장치 제어 신호 및 스티어링 장치 제어 신호 중 적어도 어느 하나를 생성할 수 있다.
프로세서(170)는, 인터페이스부(180)를 통해, 생성된 제어 신호를 구동 제어 장치(250)에 전송할 수 있다. 구동 제어 장치(250)는, 파워 트레인(251), 브레이크 장치(252) 및 스티어링 장치(253) 중 적어도 어느 하나에 제어 신호를 전송할 수 있다.
이하, 상술한 내용들을 바탕으로 본 명세서의 바람직한 제1 실시예에 따른, 멀티 모달 입력 기반의 서비스 제공 장치에 관하여 상세히 설명하면 다음과 같다.
도 5는 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 장치를 나타낸 도면이다.
도 5에 따르면, 멀티 모달 입력 기반의 서비스 제공 장치는 저장부, 사용자 입력부, 프로세서를 포함할 수 있다. 또한, 멀티 모달 입력 기반의 서비스 제공 장치는 디스플레이부를 더 포함할 수 있다. 또한, 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 장치는, 차량에 설치될 수 있다.
저장부(310)는 장치(300)의 다양한 기능을 지원하는 데이터를 저장한다. 저장부(310)는 장치(300)에서 구동되는 다수의 응용 프로그램(application program 또는 어플리케이션(application)), 장치(300)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 한편, 응용 프로그램은, 저장부(310)에 저장되고, 장치(300) 상에 설치되어, 프로세서(330)에 의하여 상기 장치(300)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
저장부(310)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 저장부(310)는 인터넷(internet)상에서 저장 기능을 수행하는 웹 스토리지(web storage)를 포함할 수도 있다.
입력부(320)는 음성 입력을 위한 마이크로폰(microphone), 또는 오디오 입력부를 포함할 수 있다. 또한, 입력부(320)는 사용자로부터 정보를 입력받기 위한 사용자 입력부(예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 더 포함할 수 있다. 입력부(320)에서 수집한 음성 데이터나 터치 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
프로세서(330)는, 연산을 수행하고 다른 장치(10)를 제어할 수 있는 구성이다. 주로, 중앙 연산 장치(CPU), 어플리케이션 프로세서(AP), 그래픽스 처리 장치(GPU) 등을 의미할 수 있다. 또한, CPU, AP 또는 GPU는 그 내부에 하나 또는 그 이상의 코어들을 포함할 수 있으며, CPU, AP 또는 GPU는 작동 전압과 클락 신호를 이용하여 작동할 수 있다. 다만, CPU 또는 AP는 직렬 처리에 최적화된 몇 개의 코어로 구성된 반면, GPU는 병렬 처리용으로 설계된 수 천 개의 보다 소형이고 효율적인 코어로 구성될 수 있다.
디스플레이부(340)는, 프로세서(330)로부터 화면 데이터를 수신하여 사용자가 감각을 통하여 이를 확인할 수 있도록 표시하는 장치를 의미할 수 있다. 디스플레이부(340)는 자발광 디스플레이 패널 또는 비자발광 디스플레이 패널을 포함할 수 있다. 자발광 디스플레이 패널로는 예를 들어 백라이트가 필요하지 않은 OLED 패널 등이 예시될 수 있고, 비자발광 디스플레이 패널로는 예를 들어 백라이트가 필요한 LCD 패널 등이 예시될 수 있으나, 이에 제한되는 것은 아니다.
도 5에 따르면, 저장부는 복수의 어플리케이션을 저장할 수 있다. 사용자 입력부는 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신할 수 있다. 또한, 프로세서는 저장부에 저장된 복수의 어플리케이션과 기능적으로 연결되는 적어도 하나의 어플리케이션의 실행을 제어할 수 있다. 또한, 프로세서는 사용자 입력에 기초하여 복수의 어플리케이션이 생성한 다이얼로그(dialog)가 상기 사용자 입력의 패턴을 고려하여 출력되도록 적어도 하나의 어플리케이션의 실행을 제어할 수 있다.
또한, 프로세서는 특정 어플리케이션의 실행 화면 및 실행 화면 상에서의 사용자 입력을 분석하여 사용자 입력의 의도를 추론할 수 있다. 이때, 특정 어플리케이션은 복수의 어플리케이션 중 하나일 수 있다. 또한, 프로세서는 추론된 의도에 대응하는 어플리케이션에서 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어할 수 있다.
또한, 프로세서는 사용자 입력이 음성 입력인 경우, 다이어로그를 음성으로 생성하도록 제어할 수 있다. 또한, 사용자 입력이 터치 입력인 경우, 다이어로그는 시각 이미지로 출력될 수 있다. 이는 하나의 예시이며, 서로 교차될 수 있다.
일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 사용자가 음성 명령(ex-목적지는 몇 시에 영업을 종료하니?)을 입력하면, 사용자 입력부를 통하여 음성 명령이 프로세서로 전송될 수 있다. 프로세서는 자연어 처리를 통하여 음성 명령의 의미를 분석할 수 있다. 또한, 프로세서는 차량의 네비게이션 화면 상에 표시된 텍스트(text)를 분석하고, 사용자의 음성 명령에 대응되는 기능을 찾을 수 있다. 프로세서는, 사용자의 음성 명령에 대응하여 목적지의 POI에 대한 정보를 추출하고, 이에 대응되는 다이어로그(ex-오후 6시에 영업을 종료합니다)를 음성으로 출력할 수 있다.
일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 사용자가 음성 명령(ex-A, B 중에서 A를 선택해)을 입력하면, 사용자 입력부를 통하여 음성 명령이 프로세서로 전송될 수 있다. 프로세서는 자연어 처리를 통하여 음성 명령의 의미를 분석할 수 있다. 또한, 프로세서는 차량의 네비게이션 화면 상에 표시된 텍스트(text)를 분석하고, 사용자의 음성 명령에 대응되는 기능을 찾을 수 있다. 프로세서는, 사용자의 음성 명령에 대응하여 A 버튼과 B 버튼이 실행 화면에 표시되고 있다는 정보를 획득할 수 있다. 프로세서는 사용자의 음성 명령에 따라, A 버튼을 선택할 수 있다. 프로세서는, A 버튼이 선택되었다는 내용의 다이어로그를 출력할 수 있다.
경우에 따라, 사용자 입력은 동작 정보를 더 포함할 수 있다. 이때, 프로세서는 동작 정보를 추가로 고려하여 의도를 추론할 수 있다.
일 예로, 사용자는 원을 그리며 음성으로 명령(ex-(동심원 그리면서)이 근방에 주차 가능한 구역 알려줘)할 수 있다. 이때, 사용자가 수행하는 동작은 원 뿐만 아니라 다양한 제스쳐를 포함할 수 있다. 사용자가 미리 정해진 동작을 수행하면서 음성으로 명령하는 경우, 단순히 음성으로 명령하는 것 보다 더 정확한 명령이 프로세서에 전달될 수 있다.
프로세서는 미리 설정된 조건에 따라 사용자 입력부를 활성화하거나 비활성화할 수 있다. 일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 차량이 일정 속도 이상(ex-80km/h)으로 주행 중인 경우, 안전한 주행을 위하여 프로세서는 사용자 입력부를 비활성화할 수 있다. 특히, 프로세서는 터치 입력을 수신하는 기능을 비활성화할 수 있다.
또한, 프로세서는 사용자 입력부를 음성 인식 모드 및/또는 터치 모드로 스위칭(switching)하도록 제어할 수 있다. 일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 차량이 일정 속도 이상(ex-80km/h)으로 주행 중인 경우, 안전한 주행을 위하여 프로세서는 사용자 입력부를 터치 모드에서 음성 인식 모드로 스위칭하도록 제어할 수 있다. 반대로, 차량이 정차하는 경우, 프로세서는 사용자 입력부를 음성 인식 모드에서 터치 모드(또는 터치 모드 및 음성 인식 모드)로 스위칭하도록 제어할 수 있다.
다른 일 예로, 한번 음성 인식 모드가 시작된 경우, 프로세서는 사용자 입력부의 음성 인식 모드를 특정 어플리케이션이 종료되기 전까지 유지할 수 있다.
또 다른 일 예로, 프로세서는 사용자 입력부를 통한 사용자 입력을 수신하는 데에 에러가 발생하는 경우, 사용자 입력부를 터치 모드로 전환할 수 있다. 또한, 프로세서는 미리 정해진 횟수(ex-2회)만큼 에러가 발생하는 경우 사용자 입력부의 모드를 스위칭할 수 있다.
또한, 프로세서는 실행 화면의 이전 화면을 메모리에 저장하도록 제어할 수 있다. 따라서, 프로세서는 현재 실행되고 있는 실행 화면뿐만 아니라, 이전에 실행되었던 이전 화면을 기초로 사용자 의도를 추론할 수 있다.
일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 사용자가 음성 명령(ex-아까 화면에 나온 맛집 어디있지?)을 입력하면, 사용자 입력부를 통하여 음성 명령이 프로세서로 전송될 수 있다. 프로세서는 자연어 처리를 통하여 음성 명령의 의미를 분석할 수 있다. 또한, 프로세서는 차량의 네비게이션의 이전 화면 상에 표시된 텍스트(text)를 분석하고, 사용자의 음성 명령에 대응되는 POI를 찾을 수 있다. 프로세서는, 사용자의 음성 명령에 대응하여 이전 화면에 표시되었던 POI에 따른 다이어로그를 출력할 수 있다.
또한, 프로세서는 이전 화면을 메모리에 저장할 때, 이전 화면에 대하여 time stamp로 tag를 할당할 수 있다. 따라서, 필요에 따라 프로세서가 이전 화면을 검색하기 용이할 수 있다.
이러한 프로세서의 동작들은 원칙적으로 사용자 입력만으로 사용자 의도가 추론되기 어려운 경우에 사용될 수 있다. 즉, 사용자 입력만으로 사용자 의도가 명확하게 추론되는 경우, 리소스 낭비 방지 등을 위하여 프로세서는 사용자 입력에 따른 동작을 수행할 수 있다.
또한, 프로세서는 사용자 의도를 추론하기 위하여, 차량으로부터 차량 상태 정보 또는 사용자 상황 정보를 수신할 수 있다. 차량 상태 정보는 차량이 자율 주행하고 있는지, 차량이 수동 주행 중인지 등을 포함할 수 있다. 또한, 차량 상태 정보는 차량의 위치, 속도, 주행 상태 등을 포함할 수 있다. 또한, 사용자 상황 정보는 차량 내부에 설치된 카메라 등을 통하여 획득된 정보를 포함할 수 있다. 프로세서는 카메라 등을 통하여 사용자의 상황이 촬영된 이미지 등을 수신하고, 프로세서는 해당 이미지를 분석하여 사용자의 상황을 추론할 수 있다.
이하, 상술한 내용들을 바탕으로 본 명세서의 바람직한 제2 실시예에 따른, 멀티 모달 입력 기반의 서비스 제공 방법에 관하여 상세히 설명하면 다음과 같다.
또한, 본 명세서의 멀티 모달 입력 기반의 서비스 제공 방법의 수행 주체는 본 명세서의 제1 실시예에 따른 장치 또는 프로세서일 수 있다. 또한, 상술한 제1 실시예에 대한 설명과 동일하거나 중복되는 내용은 이하에서 생략될 수 있다.
도 6은 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 방법을 나타낸 도면이다.
도 6에 따르면, 본 명세서에 따른 멀티 모달 입력 기반의 서비스 제공 방법은, 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 단계(S101), 특정 어플리케이션의 실행 화면 및 실행 화면에서의 사용자 입력을 분석하여 사용자 입력의 의도를 추론하는 단계(S102), 추론된 의도에 대응하는 어플리케이션에서 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는 단계(S103) 및 사용자 입력의 패턴을 고려하여 생성된 다이얼로그가 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 단계(S104)를 포함할 수 있다.
사용자 입력이 음성 명령인 경우, 다이어로그는 음성으로 출력될 수 있다. 또한, 사용자 입력이 터치 입력인 경우, 다이어로그는 시각 이미지로 출력될 수 있다. 이는 하나의 예시이며, 서로 교차될 수 있다.
또한, 사용자 입력은 동작 정보를 더 포함할 수 있다. 따라서, 상기 사용자 입력의 의도를 추론하는 단계(S102)는, 상기 동작 정보를 추가로 고려하여 상기 의도를 추론할 수 있다.
또한, 상기 사용자 입력을 수신하는 단계(S101)는 미리 설정된 조건에 따라 사용자 입력부가 활성화되는 경우, 사용자 입력을 수신할 수 있다.
일 예로, 사용자가 인터페이스 중 음성 입력 버튼을 터치한 경우, 그때부터 사용자 입력부 중 음성 입력 모드가 활성화될 수 있다. 또한, 사용자가 인터페이스 중 터치 입력을 위한 영역을 터치한 경우, 그때부터 사용자 입력부 중 음성 입력 모드가 비활성화되고, 터치 입력 모드만 활성화될 수 있다.
일 예로, 차량의 네비게이션에 설치된 멀티 모달 입력 기반의 서비스 제공 장치에 있어서, 사용자가 차량을 운전하는 경우, 그때부터 사용자 입력부 중 음성 입력 모드가 활성화될 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계(S102)는 실행 화면의 이전 화면을 메모리에 저장하는 단계(S1021) 및 이전 화면 및 사용자 입력을 분석하여 사용자 입력의 의도를 추론하는 단계(S1022)를 포함할 수 있다.
또한, 상기 이전 화면을 메모리에 저장하는 단계(S1021)는, 이전 화면에 time stamp로 tag를 할당하는 단계(S1021a) 및 할당된 tag와 함께 이전 화면에 대한 데이터를 메모리에 저장하는 단계(S1021b)를 포함할 수 있다.
또한, 사용자 입력의 의도를 추론하는 단계(S102)는 실행 화면 상의 정보를 추출하고, 추출된 정보와 사용자 입력을 분석하여 사용자 입력의 의도를 추론할 수 있다.
또한, 상기 사용자 입력을 수신하는 단계(S101)는 미리 설정된 조건에 따라 사용자 입력부를 음성 인식 모드 및 터치 모드로 스위칭하도록 제어하는 단계(S1011) 및 사용자 입력을 수신하는 단계를(S1012) 포함할 수 있다.
또한, 상기 사용자 입력의 의도를 추론하는 단계(S102)는 사용자 입력을 분석하여 사용자 입력의 의도를 추론하지 못한 경우, 실행 화면을 분석하여 사용자 입력의 의도를 추론할 수 있다.
본 명세서의 제2 실시예에 따른 일 실시예들은 상술한 제1 실시예의 일 실시예들과 동일하거나 중복되어 생략될 수 있다.
이하, 상술한 내용들을 바탕으로 본 명세서에 따른 실시예들의 구체적인 시나리오에 관하여 상세히 설명하면 다음과 같다.
또한, 이하 설명되는 구체적인 시나이로들은 상술한 제1 실시예 및 제2 실시예에 동일하게 적용될 수 있으며, 이는 해당 기술 분야의 당업자에게 자명하다.
도 7 내지 도 10은 본 명세서에 따른 서비스 제공 장치 및 서비스 제공 방법의 구체적인 시나리오를 나타낸 도면이다.
도 7에는 터치 입력과 음성 명령이 동시에 프로세서에 전송되는 경우의 구체적인 시나리오가 나타난다.
도 7에 따르면, 터치 입력 인터페이스(I/F)의 실행 화면을 통하여 발생된 터치 입력은 멀티 모달 입력 해석 모듈(333)에 전달되고(S101), 음성 인터페이스(I/F)를 통하여 입력된 음성 명령은 멀티 모달 입력 해석 모듈(333)에 전달될 수 있다(S102). 멀티 모달 입력 해석 모듈(333)에서 통합하여 해석된 사용자 의도는 인터랙션 로직 모듈(331)에 전달될 수 있다(S103). 해석된 의도에 기초하여 인터랙션 로직 모듈(331)은 다이어로그를 생성하거나 APP GUI 피드백을 생성할 수 있다(S104). 또한, 해석된 의도에 기초하여, 인터랙션 로직 모듈(331)은 TTS 피드백을 생성하여 사용자 입력부 조절 모듈(333)에 전달할 수 있다(S105).
실행 화면 분석 모듈(332)은 실행 화면에 표시된 컨텐츠를 분석하여 그 결과를 멀티 모달 입력 해석 모듈(333)에 전송할 수 있다(S106). 사용자 입력이 음성 명령을 포함하는 경우, 멀티 모달 입력 해석 모듈(333)은 음성 인터페이스 조절 모듈(334)에 음성으로 출력할 것을 요청하는 메시지 또는 음성 인식 모드를 활성화하라는 명령을 전송할 수 있다(S107). 또한, 실행 화면 분석 모듈(332)는 실행 화면에 직접적으로 피드백할 수도 있다(S111).
음성 인터페이스 조절 모듈(334)은 음성 인터페이스(또는 사용자 입력부(320))에 음성 인식/출력 모드를 활성화할 것을 명령할 수 있다(S109). 음성 인터페이스 조절 모듈(334)는 차량의 상태 정보 또는 사용자 상황 정보를 고려하여, 음성 인식/출력 모드로 전환할 것인지를 결정할 수 있다(S108).
멀티 모달 입력 해석 모듈(333)은 음성 인터페이스에 사용자 의도에 기반한 다이어로그를 전달할 수 있다(S110). 음성 인터페이스는 다이어로그를 음성 인식/출력 모드 활성화 여부에 따라 음성으로 출력할 수 있다.
또한, 도면에는 도시되어 있지 않지만, 멀티 모달 입력 해석 모듈(333)은 사용자 의도에 기반한 다이어로그를 이미지 처리하여 실행 화면에 전달할 수도 있을 것이다.
도 8에 따르면, 사용자 입력에 따른 어플리케이션 동작이 구조화된 것을 확인할 수 있다.
도 8의 시나리오는 사용자가 현재 App 상에 보여지는 button [A]를 touch 하거나 관련된 음성 명령(ex-“Select A”)한 경우를 가정할 수 있다(a). 이때, 멀티 모달 입력 해석 모듈(333)은 음성 명령과 터치 입력에 대하여 사용자 의도를 중심으로 어플리케이션이 다룰 수 있는 이벤트(event)로 변환(eg. CategorySelection, “A”)할 수 있다(b). 상기 이벤트에 대하여 사용자 피드백을 수행하기 위한 context를 결정하기 위하여, 멀티 모달 입력 해석 모듈(333)은 상기 이벤트를 인터랙션 로직 모듈(331)에 전송할 수 있다(c). 어플리케이션 프레임워크는 인터랙션 로직 모듈(331)이 정한 방식과 컨텐츠로 실행 화면 상에 이미지를 구현할 수 있다(d).
이때, 실행 화면 분석 모듈(332)이 실행 화면 context를 생성할 때마다 미리 정해진 프로토콜로 실행 화면 컨텐츠를 생성할 수 있다(S201). 또한, 실행 화면 분석 모듈(332)이 어플리케이션 프레임워크를 통해 특정 실행 화면 포맷에 대하여 미리 정해진 Rule 기반으로 context를 자동으로 추출할 수 있다(S202). 또한, 실행 화면 분석 모듈(332)은 실행 화면에 표시된 이미지 또는 텍스트에 대하여 머신 러닝 기반으로 패턴 정보를 추출할 수 있다(S203).
위 S201 내지 S203 중 적어도 하나의 방식으로 추출된 컨텐츠는 System이 사용할 수 있도록 사전에 정의된 데이터 포맷으로 normalization (context) 될 수 있다(S204). 이때, 추출된 context 사이에 정보의 부족이나 불확실성이 있는 경우, 실행 화면 분석 모듈(332)은 위 추출된 context들을 병합(merge)할 수 있다(S205). 일 예로, Rule 기반으로 어플리케이션 프레임워크에서 List contents를 자동 추출했으나, 머신 러닝 기반으로 Toggle 할 수 있는 button이 추가로 발견된 경우, 실행 화면 분석 모듈(332)은 두 context를 병합할 수 있다.
병합된 context는 다시 머신 러닝의 데이터셋을 업데이트(eg. RNN)하거나 Rule을 업데이트할 수 있다(S206). 병합된 context는 메모리에 저장되고(S207), 실행 화면 분석 모듈(332)의 내부에서 음성 입력에 대한 자연어 처리 결과 데이터를 조합, 해석, 추출하는 과정에 있어 Context로서 활용될 수 있다(S208). 또한, 병합된 context는 자연어 처리 모델을 동적으로 생성/update 하기위한 context로 reconstruction 될 수 있다(S209).
도 9에 따르면, 사용자가 현재 App 상에 보여지는 button [A]를 touch 하거나 관련된 음성 명령(ex-“Select A”)한 경우가 가정될 수 있다(a, a'). 이때, 멀티 모달 입력 해석 모듈(333)은 음성 명령과 터치 입력에 대하여 사용자 의도를 중심으로 어플리케이션이 다룰 수 있는 이벤트(event)로 변환(eg. CategorySelection, “A”)하여 1 어플리케이션 인터랙션 로직 및 제2 어플리케이션 인터랙션 로직에 전송할 수 있다(b). 변환된 이벤트는 2개의 어플리케이션의 제1 실행 화면 및 제2 실행 화면을 업데이트하기 위하여 사용될 수 있다(c).
도 9에 따르면, 실행 화면 분석 모듈(332)의 ASR/TTS 요청 핸들러(332a)는 (제1 및 제2 어플리케이션) 인터랙션 로직으로부터 TTS 문구를 수신하고, 요청 핸들러(332a)는 이후 음성 인식 수행이 추가로 필요한지 여부에 대한 정보를 인터랙션 로직으로부터 수신할 수 있다(S301).
음성 인식 결정 모듈(332b)은 요청을 받은 TTS 문구를 실제로 TTS engine에 전달할 지, TTS가 끝나면 ASR engine을 시작할지를 판단할 수 있다(S302).
위 판단을 위하여, 사용자가 음성으로 명령한 경우, 멀티 모달 입력 해석 모듈(333)은 음성 인식 모드를 활성화할 수 있다(eg. ASR ON, TTS ON)
일 예로, 사용자가 “Hi LG”라고 발화한 경우 또는 사용자가 터치 입력으로 명령을 개시한 경우, 사용자가 “Select Italian”으로 발화할 수 있다. 이때, 실행 화면은 POI 검색 결과 화면이 표시되어 있고, TTS는 활성화되어 “Please select an item in the Italian restaurant list”라고 사용자에게 발화할 수 있다. 이 경우, ASR engine은 시작되고 그와 동시에 마이크 역시 활성화될 수 있다. 이러한 활성화 상태는 비활성화 조건을 만나기 전까지는 계속 유지될 있다.
- 비활성화 조건:
1) 목적지/경유지 설정 완료
2) touch 입력에 의한 mode 변환,
3) 다른 App으로의 task 전환,
4) error나 사용자 의도에 의한 취소
음성 인식 모드 결정 모듈(332b)은 차량으로부터 차량 context를 수신하여 음성 인식 모드의 활성화 여부를 결정할 수 있다.
- 차량 context
1) Driving workload
2) Noisy condition
3) Multi-user condition
따라서, 음성 인식 모드 결정 모듈(332b)은 driving workload 상태에 따라 touch 하지 말아야 할 때 음성 인식 모드를 활성화할 수 있다. 또한, 음성 인식 모드 결정 모듈(332b)은 차량 주변이 소음 등으로 시끄러운 환경으로 판단된 경우, 수동 인터페이스(또는 터치 인터페이스)를 사용하라는 안내 메시지를 전송하고, 음성 인식 모드를 비활성화할 수 있다.
또한, 음성 인식 모드 결정 모듈(332b)은 다른 사용자의 유무에 따라 Private data의 TTS feedback은 음성 명령을 내린 사용자에게만 들려줄 수 있고 또는 임시로 음성 인식 모드를 비활성화할 수도 있다.
음성 인식 모드 결정 모듈(332b)은 위 과정에 따라 결정된 AST/TTS Flag 정보 및 TTS 문구를 음성 인터페이스 제어 모듈(332c)에 전송할 수 있다(S305). 음성 인터페이스 제어 모듈(332c)는 동작 sequence에 대응되는 engine을 순차적으도 구동할 수 있다(S306).
도 10에 따르면, 사전에 정의된 touch screen 상의 manual 동작에 대해 음성 동시 입력을 지원하는 시나리오가 제공될 수 있다. 이를 통하여, 사용자에게 보다 편리한 one-shot action 기능이 제공될 수 있다.
Touch screen 상에 미리 등록된 manual 동작이 발생하면, 그에 따른 동작 정보가 어플리케이션 프레임워크를 통하여 어플리케이션에 전달될 수 있다(S401). 이때, 미리 등록된 동작 정보들은 길게 누르기(Long press), 노크온(Knock-on), 원 그리기(Drawing circle), 멀티 핑거 터치(Multi-finger touch) 등을 포함할 수 있다.
위 manual 동작에 의하여 동시에 음성 인식 엔진이 임의로 구동될 수 있다(S402). 제1 어플리케이션 인터랙션 로직이 위 manual 동작을 수신하면, 아래와 같이 미리 입력된 context 의도에 따른 동작이 수행될 수 있다.
- Manual 동작에 따라 구동되는 context 예시
1) Map의 Long touch 시 위치 GPS 정보
2) Map상의 Circle을 그렸을 때, Circle이 그려진 영역에 대한 정보
3) List 상의 item knock-on 시 해당 item data 정보
4) edit 창의 특정 부분 drawing 시 해당 단어 정보
제1 어플리케이션 인터랙션 로직은 동시에 관련 음성 명령어 Guide를 생성할 수 있도록 지원할 수 있다(S404). 이때, 음성 명령어 Guide는 아래와 같을 수 있다.
- 음성 명령어 Guide 예시
1) Map point 찍은 경우 “Go there/Find a parking close to here”
2) Map circle 그린 경우 “Find cheapest gas in this region/ Avoid this area”
3) POI List 결과에서 특정 item knock-on 한 경우 “Call there”
4) Edit 창에서 특정 단어 부분 drawing 동작으로 선택한 경우 “Say a word to correct dictation“
사용자 입력부가 사용자의 음성 명령을 인지하고, 인지 결과를 멀티 모달 퓨젼 엔진(333a)에 전송할 수 있다(S405). 이때, 멀티 모달 퓨젼 엔진(333a)은 사용자의 의도에 따라 멀티 모달 context 프로바이더(333b)로부터 data를 수신하여 이벤트를 생성하고(S406), 이때, 생성된 이벤트는 제1 어플리케이션 또는 제2 어플리케이션의 UI 시나리오를 생성할 수 있다(S407).
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 모델링하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 모델링되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
앞에서 설명된 본 발명의 어떤 실시 예들 또는 다른 실시 예들은 서로 배타적이거나 구별되는 것은 아니다. 앞서 설명된 본 발명의 어떤 실시 예들 또는 다른 실시 예들은 각각의 구성 또는 기능이 병용되거나 조합될 수 있다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
Claims (19)
- 복수의 어플리케이션을 저장하는 저장부;음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 사용자 입력부;상기 복수의 어플리케이션과 기능적으로 연결되고, 상기 사용자 입력에 기초하여 상기 복수의 어플리케이션이 생성한 다이얼로그(dialog)가 상기 사용자 입력의 패턴을 고려하여 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 프로세서;를 포함하고,상기 프로세서는,특정 어플리케이션의 실행 화면 및 상기 실행 화면 상에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하고, 상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,상기 사용자 입력이 음성 입력인 경우, 상기 다이어로그를 음성으로 생성하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 사용자 입력은 동작 정보를 더 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제3항에 있어서,상기 프로세서는,상기 동작 정보를 추가로 고려하여 상기 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,미리 설정된 조건에 따라 상기 사용자 입력부를 활성화 또는 비활성화하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,상기 실행 화면의 이전 화면을 상기 메모리에 저장하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제6항에 있어서,상기 프로세서는,상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,상기 사용자 입력부를 음성 인식 모드 또는 터치 모드로 스위칭하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 제1항에 있어서,상기 프로세서는,상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
- 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 단계;특정 어플리케이션의 실행 화면 및 상기 실행 화면에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계;상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는 단계; 및상기 사용자 입력의 패턴을 고려하여 상기 생성된 다이얼로그가 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 단계;를 포함하는, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력이 상기 음성 명령인 경우, 상기 다이어로그는 음성으로 출력되는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력은 동작 정보를 더 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제13항에 있어서,상기 사용자 입력의 의도를 추론하는 단계는,상기 동작 정보를 추가로 고려하여 상기 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력을 수신하는 단계는,미리 설정된 조건에 따라 사용자 입력부가 활성화되는 경우, 상기 사용자 입력을 수신하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력의 의도를 추론하는 단계는,상기 실행 화면의 이전 화면을 메모리에 저장하는 단계; 및상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계;를 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력의 의도를 추론하는 단계는,상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력을 수신하는 단계는,미리 설정된 조건에 따라 사용자 입력부를 음성 인식 모드 및 터치 모드로 스위칭하도록 제어하는 단계; 및상기 사용자 입력을 수신하는 단계;를 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
- 제11항에 있어서,상기 사용자 입력의 의도를 추론하는 단계는,상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/758,476 US20230025049A1 (en) | 2020-01-07 | 2020-11-04 | Multi-modal input-based service provision device and service provision method |
KR1020227023545A KR20220119640A (ko) | 2020-01-07 | 2020-11-04 | 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062957816P | 2020-01-07 | 2020-01-07 | |
US62/957,816 | 2020-01-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021141228A1 true WO2021141228A1 (ko) | 2021-07-15 |
Family
ID=76787934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/015343 WO2021141228A1 (ko) | 2020-01-07 | 2020-11-04 | 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230025049A1 (ko) |
KR (1) | KR20220119640A (ko) |
WO (1) | WO2021141228A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3143152A1 (fr) * | 2022-12-09 | 2024-06-14 | Dassault Aviation | Système de commande avec détection de changement d'état et interprétation multimodale |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066357A (ko) * | 2009-12-11 | 2011-06-17 | 삼성전자주식회사 | 대화 시스템 및 그의 대화 방법 |
US20130275138A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Hands-Free List-Reading by Intelligent Automated Assistant |
KR20140066025A (ko) * | 2012-11-22 | 2014-05-30 | 주식회사 케이티 | 대화형 서비스를 제공하는 장치 및 방법 그리고, 서버 |
KR20190114051A (ko) * | 2012-07-20 | 2019-10-08 | 비비오, 인크. | 대화형 상호작용 시스템에서 서치 입력에서의 사용자 의도를 추론하는 방법 및 이를 위한 시스템 |
US20190325080A1 (en) * | 2018-04-20 | 2019-10-24 | Facebook, Inc. | Processing Multimodal User Input for Assistant Systems |
-
2020
- 2020-11-04 US US17/758,476 patent/US20230025049A1/en active Pending
- 2020-11-04 WO PCT/KR2020/015343 patent/WO2021141228A1/ko active Application Filing
- 2020-11-04 KR KR1020227023545A patent/KR20220119640A/ko not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066357A (ko) * | 2009-12-11 | 2011-06-17 | 삼성전자주식회사 | 대화 시스템 및 그의 대화 방법 |
US20130275138A1 (en) * | 2010-01-18 | 2013-10-17 | Apple Inc. | Hands-Free List-Reading by Intelligent Automated Assistant |
KR20190114051A (ko) * | 2012-07-20 | 2019-10-08 | 비비오, 인크. | 대화형 상호작용 시스템에서 서치 입력에서의 사용자 의도를 추론하는 방법 및 이를 위한 시스템 |
KR20140066025A (ko) * | 2012-11-22 | 2014-05-30 | 주식회사 케이티 | 대화형 서비스를 제공하는 장치 및 방법 그리고, 서버 |
US20190325080A1 (en) * | 2018-04-20 | 2019-10-24 | Facebook, Inc. | Processing Multimodal User Input for Assistant Systems |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3143152A1 (fr) * | 2022-12-09 | 2024-06-14 | Dassault Aviation | Système de commande avec détection de changement d'état et interprétation multimodale |
EP4420913A1 (fr) * | 2022-12-09 | 2024-08-28 | Dassault Aviation | Système de commande avec détection de changement d état et interprétation multimodale |
Also Published As
Publication number | Publication date |
---|---|
US20230025049A1 (en) | 2023-01-26 |
KR20220119640A (ko) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017196062A1 (en) | Distance sensor, and calibration method performed by device and system including the distance sensor | |
WO2020036419A1 (en) | Method of assisting autonomous vehicle, and apparatus therefor | |
WO2019143040A1 (en) | Device and method for assisting with driving of vehicle | |
WO2016076587A1 (en) | Information providing apparatus and method thereof | |
WO2020138516A1 (ko) | 통신 장치, 그것의 제어 방법 및 그것을 포함하는 통신 시스템 | |
WO2021182655A1 (ko) | 경로 제공 장치 및 그것의 경로 제공 방법 | |
WO2020004767A1 (ko) | 차량에 구비되는 텔레매틱스 시스템 및 이를 제어하는 방법 | |
WO2018182275A1 (en) | Method and device for controlling driving based on sensing information | |
WO2014010879A1 (ko) | 음성 인식 장치 및 그 방법 | |
WO2013133464A1 (en) | Image display device and method thereof | |
WO2020071564A1 (ko) | 이동 its 스테이션 및 상기 이동 its 스테이션의 메시지 송수신 방법 | |
WO2021157760A1 (ko) | 경로 제공 장치 및 그것의 경로 제공 방법 | |
WO2012036323A1 (ko) | 통신 단말기 및 그 제어 방법 | |
WO2020145432A1 (ko) | Multi soc 시스템을 통해 차량을 제어하는 방법 | |
WO2020130485A1 (ko) | 전자 장치 및 이를 이용한 v2x 서비스를 제공하는 방법 | |
WO2020116694A1 (ko) | 차량용 장치 및 제어 방법 | |
WO2020166749A1 (ko) | 차량을 이용한 정보 표시 방법 및 시스템 | |
WO2020040324A1 (ko) | 이동 its 스테이션 및 상기 이동 its 스테이션의 동작 방법 | |
WO2020138760A1 (ko) | 전자 장치 및 그의 제어 방법 | |
WO2020096083A1 (ko) | 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템 | |
WO2021040057A1 (ko) | 차량용 전자 장치 및 차량용 전자 장치의 동작 방법 | |
WO2014112659A1 (en) | Electronic device and control method for the electronic device | |
WO2020184755A1 (ko) | 차량 제어 장치 및 그것을 포함하는 차량 | |
WO2021010517A1 (ko) | 차량용 전자 장치 및 그의 동작 방법 | |
WO2021141228A1 (ko) | 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20912502 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20227023545 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20912502 Country of ref document: EP Kind code of ref document: A1 |