WO2021141228A1 - 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 - Google Patents

멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 Download PDF

Info

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
Application number
PCT/KR2020/015343
Other languages
English (en)
French (fr)
Inventor
김기현
이의혁
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US17/758,476 priority Critical patent/US20230025049A1/en
Priority to KR1020227023545A priority patent/KR20220119640A/ko
Publication of WO2021141228A1 publication Critical patent/WO2021141228A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT 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/00Arrangement of adaptations of instruments
    • B60K35/10
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric 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/02Electric 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/037Electric 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Estimation 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/08Estimation 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • B60K2360/146
    • B60K2360/148

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)

  1. 복수의 어플리케이션을 저장하는 저장부;
    음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 사용자 입력부;
    상기 복수의 어플리케이션과 기능적으로 연결되고, 상기 사용자 입력에 기초하여 상기 복수의 어플리케이션이 생성한 다이얼로그(dialog)가 상기 사용자 입력의 패턴을 고려하여 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 프로세서;를 포함하고,
    상기 프로세서는,
    특정 어플리케이션의 실행 화면 및 상기 실행 화면 상에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하고, 상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는, 멀티 모달 입력 기반의 서비스 제공 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 입력이 음성 입력인 경우, 상기 다이어로그를 음성으로 생성하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  3. 제1항에 있어서,
    상기 사용자 입력은 동작 정보를 더 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 동작 정보를 추가로 고려하여 상기 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    미리 설정된 조건에 따라 상기 사용자 입력부를 활성화 또는 비활성화하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 실행 화면의 이전 화면을 상기 메모리에 저장하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 입력부를 음성 인식 모드 또는 터치 모드로 스위칭하도록 제어하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 장치.
  11. 음성 명령 또는 터치 입력 중 적어도 하나를 포함하는 사용자 입력을 수신하는 단계;
    특정 어플리케이션의 실행 화면 및 상기 실행 화면에서의 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계;
    상기 추론된 의도에 대응하는 어플리케이션에서 상기 추론된 의도에 대응되는 다이얼로그가 생성되도록 제어하는 단계; 및
    상기 사용자 입력의 패턴을 고려하여 상기 생성된 다이얼로그가 출력되도록 적어도 하나의 어플리케이션의 실행을 제어하는 단계;를 포함하는, 멀티 모달 입력 기반의 서비스 제공 방법.
  12. 제11항에 있어서,
    상기 사용자 입력이 상기 음성 명령인 경우, 상기 다이어로그는 음성으로 출력되는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  13. 제11항에 있어서,
    상기 사용자 입력은 동작 정보를 더 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  14. 제13항에 있어서,
    상기 사용자 입력의 의도를 추론하는 단계는,
    상기 동작 정보를 추가로 고려하여 상기 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  15. 제11항에 있어서,
    상기 사용자 입력을 수신하는 단계는,
    미리 설정된 조건에 따라 사용자 입력부가 활성화되는 경우, 상기 사용자 입력을 수신하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  16. 제11항에 있어서,
    상기 사용자 입력의 의도를 추론하는 단계는,
    상기 실행 화면의 이전 화면을 메모리에 저장하는 단계; 및
    상기 이전 화면 및 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 단계;를 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  17. 제11항에 있어서,
    상기 사용자 입력의 의도를 추론하는 단계는,
    상기 실행 화면 상의 정보를 추출하고, 상기 정보와 상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  18. 제11항에 있어서,
    상기 사용자 입력을 수신하는 단계는,
    미리 설정된 조건에 따라 사용자 입력부를 음성 인식 모드 및 터치 모드로 스위칭하도록 제어하는 단계; 및
    상기 사용자 입력을 수신하는 단계;를 포함하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
  19. 제11항에 있어서,
    상기 사용자 입력의 의도를 추론하는 단계는,
    상기 사용자 입력을 분석하여 상기 사용자 입력의 의도를 추론하지 못한 경우, 상기 실행 화면을 분석하여 상기 사용자 입력의 의도를 추론하는 것인, 멀티 모달 입력 기반의 서비스 제공 방법.
PCT/KR2020/015343 2020-01-07 2020-11-04 멀티 모달 입력 기반의 서비스 제공 장치 및 서비스 제공 방법 WO2021141228A1 (ko)

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)

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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

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
WO2016076587A1 (en) Information providing apparatus and method thereof
WO2018182275A1 (en) Method and device for controlling driving based on sensing information
WO2020004767A1 (ko) 차량에 구비되는 텔레매틱스 시스템 및 이를 제어하는 방법
EP3668768A1 (en) Device and method for assisting with driving of vehicle
WO2013133464A1 (en) Image display device and method thereof
WO2020071564A1 (ko) 이동 its 스테이션 및 상기 이동 its 스테이션의 메시지 송수신 방법
WO2020138516A1 (ko) 통신 장치, 그것의 제어 방법 및 그것을 포함하는 통신 시스템
WO2012036323A1 (ko) 통신 단말기 및 그 제어 방법
WO2020145441A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2020040324A1 (ko) 이동 its 스테이션 및 상기 이동 its 스테이션의 동작 방법
WO2021040057A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2021157760A1 (ko) 경로 제공 장치 및 그것의 경로 제공 방법
WO2014112659A1 (en) Electronic device and control method for the electronic device
WO2020145432A1 (ko) Multi soc 시스템을 통해 차량을 제어하는 방법
WO2020184755A1 (ko) 차량 제어 장치 및 그것을 포함하는 차량
WO2020116694A1 (ko) 차량용 장치 및 제어 방법
WO2020166749A1 (ko) 차량을 이용한 정보 표시 방법 및 시스템
WO2020130485A1 (ko) 전자 장치 및 이를 이용한 v2x 서비스를 제공하는 방법
WO2020096083A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템
WO2021182655A1 (ko) 경로 제공 장치 및 그것의 경로 제공 방법
WO2020091119A1 (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