KR102557861B1 - 센서 기반 검증을 통한 차량 기능 제어 - Google Patents

센서 기반 검증을 통한 차량 기능 제어 Download PDF

Info

Publication number
KR102557861B1
KR102557861B1 KR1020227014836A KR20227014836A KR102557861B1 KR 102557861 B1 KR102557861 B1 KR 102557861B1 KR 1020227014836 A KR1020227014836 A KR 1020227014836A KR 20227014836 A KR20227014836 A KR 20227014836A KR 102557861 B1 KR102557861 B1 KR 102557861B1
Authority
KR
South Korea
Prior art keywords
user
vehicle
vehicle function
user input
sub
Prior art date
Application number
KR1020227014836A
Other languages
English (en)
Other versions
KR20220062142A (ko
Inventor
하리스 라믹
비크람 아가르왈
모이스 모겐스턴 갈리
데이비드 로이 샤이레
야오 첸
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220062142A publication Critical patent/KR20220062142A/ko
Application granted granted Critical
Publication of KR102557861B1 publication Critical patent/KR102557861B1/ko

Links

Classifications

    • 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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • 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
    • B60K35/22
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60NSEATS SPECIALLY ADAPTED FOR VEHICLES; VEHICLE PASSENGER ACCOMMODATION NOT OTHERWISE PROVIDED FOR
    • B60N2/00Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles
    • B60N2/02Seats specially adapted for vehicles; Arrangement or mounting of seats in vehicles the seat or part thereof being movable, e.g. adjustable
    • B60N2/0224Non-manual adjustments, e.g. with electrical operation
    • B60N2/0244Non-manual adjustments, e.g. with electrical operation with logic circuits
    • B60N2/0268Non-manual adjustments, e.g. with electrical operation with logic circuits using sensors or detectors for adapting the seat or seat part, e.g. to the position of an occupant
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R21/00Arrangements or fittings on vehicles for protecting or preventing injuries to occupants or pedestrians in case of accidents or other traffic risks
    • B60R21/01Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents
    • B60R21/015Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting the presence or position of passengers, passenger seats or child seats, and the related safety parameters therefor, e.g. speed or timing of airbag inflation in relation to occupant position or seat belt use
    • B60R21/01508Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting the presence or position of passengers, passenger seats or child seats, and the related safety parameters therefor, e.g. speed or timing of airbag inflation in relation to occupant position or seat belt use detecting forces or pressure in bags or modules
    • 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
    • B60W50/087Interaction between the driver and the control system where the control system corrects or modifies a request from the driver
    • 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
    • B60W50/12Limiting control by the driver depending on vehicle state, e.g. interlocking means for the control input for preventing unsafe operation
    • 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
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • B60K2360/148
    • 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
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/10Input devices or features thereof
    • B60K2370/12Input devices or input features
    • B60K2370/148Input by voice
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • 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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • B60W2050/065Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot by reducing the computational load on the digital processor of the control computer
    • 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
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/01Occupants other than the driver
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/045Occupant permissions
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/21Voice
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/227Position in the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

본 발명은 일반적으로 음성 활성화 컴퓨터 네트워크 환경에서 차량 기능을 검증하기 위한 데이터 처리 시스템에 관한 것이다. 데이터 처리 시스템은 네트워크를 통한 전송 이전에 유효하지 않은 액션 데이터 구조 및 요청을 폐기함으로써 네트워크의 효율을 향상시킬 수 있다. 시스템은 차량 상태의 속성을 요청 상태의 속성과 비교함으로써 요청을 무효화할 수 있다.

Description

센서 기반 검증을 통한 차량 기능 제어{VEHICLE FUNCTION CONTROL WITH SENSOR BASED VALIDATION}
본 명세서는 센서 기반 검증을 통한 차량 기능 제어에 관한 것이다.
컴퓨팅 장치들 사이의 네트워크 트래픽 데이터의 패킷 기반 또는 기타의 과도한 네트워크 전송은 컴퓨팅 장치가 네트워크 트래픽 데이터를 올바르게 처리하거나, 네트워크 트래픽 데이터와 관련된 작업을 완료하거나, 네트워크 트래픽 데이터에 적시에 응답하지 못하게 할 수 있다. 네트워크 트래픽 데이터의 과도한 네트워크 전송은 응답 컴퓨팅 장치가 처리 용량 이상인경우 데이터 라우팅을 복잡하게 하거나 응답 품질을 떨어뜨릴 수 있어 비효율적인 대역폭 사용을 초래할 수 있다. 과도한 네트워크 전송의 일부는 유효한 요청이 아닌 요청에 대한 전송을 포함할 수 있다.
본 개시의 한 양태에 따르면, 차량 기능을 검증하기 위한 시스템은 데이터 처리 시스템을 포함할 수 있다. 시스템은 데이터 처리 시스템에 의해 실행되는 자연어 프로세서 컴포넌트를 포함할 수 있다. 자연어 프로세서는 데이터 처리 시스템의 인터페이스를 통해 입력 오디오 신호를 수신할 수 있다. 자연어 프로세서 컴포넌트는 입력 오디오 신호를 분석하여 요청, 요청과 연관된 차량, 및 요청 및 차량과 연관된 이행(fulfillment) 인터페이스를 식별할 수 있다. 시스템은 요청에 기초하여 제1 액션 데이터 구조를 생성하기 위한 다이렉트 액션 애플리케이션 프로그래밍 인터페이스(API, application programming interface)를 포함할 수 있다. 시스템은 제1 세트의 센서 데이터에 기초하여 요청과 관련된 차량의 차량 상태를 결정하기 위한 검증 엔진을 포함할 수 있다. 차량 상태는 제1 복수의 속성을 포함할 수 있다. 검증 엔진은 요청 및 센서 데이터의 제2 세트에 기초하여 요청 상태를 결정할 수 있다. 요청 상태는 복수의 제2 속성을 포함할 수 있다. 검증 엔진은 요청 상태의 제2 복수의 속성을 차량 상태의 제1 복수의 속성과 비교할 수 있다. 검증 엔진은 차량 상태의 복수의 제1 속성 중 하나와 매칭되는 요청 상태의 제2 복수의 속성 중 하나에 기초하여, 제1 액션 데이터 구조와 연관된 기능을 실행하기 위해 제1 액션 데이터 구조를 이행 인터페이스에 전송할 수 있다.
본 개시의 한 양태에 따르면, 차량 기능을 검증하는 방법은 데이터 처리 시스템에 의해 실행되는 자연어 프로세서 컴포넌트에 의해 그리고 데이터 처리 시스템의 인터페이스를 통해 입력 오디오 신호를 수신하는 단계를 포함할 수 있다. 방법은 자연어 프로세서에 의해, 요청을 식별하기 위해 입력 오디오 신호, 요청과 연관된 차량, 및 요청과 차량과 연관된 이행 인터페이스를 분석(parsing)하는 단계를 포함할 수 있다. 방법은 다이렉트 액션 애플리케이션 프로그래밍 인터페이스에 의해 그리고 요청에 기초하여 제1 액션 데이터 구조를 생성하는 단계를 포함할 수 있다. 방법은 검증 엔진에 의해, 제1 세트의 센서 데이터에 기초하여 요청과 관련된 차량의 차량 상태를 결정하는 단계를 포함할 수 있다. 차량 상태는 제1 복수의 속성을 포함할 수 있다. 방법은 검증 엔진에 의해, 요청 및 센서 데이터의 제2 세트에 기초하여 요청 상태를 결정하는 단계를 포함할 수 있다. 요청 상태는 복수의 제2 속성을 포함할 수 있다. 방법은 검증 엔진에 의해, 요청 상태의 제2 복수의 속성을 차량 상태의 제1 복수의 속성과 비교하는 단계를 포함할 수 있다. 방법은 검증에 의해 및 차량 상태의 복수의 제1 속성 중 하나와 매칭되는 요청 상태의 제2 복수의 속성 중 하나에 기초하여, 제1 액션 데이터 구조와 연관된 기능을 실행하기 위해 제1 액션 데이터 구조를 이행 인터페이스로 전송하는 단계를 포함할 수 있다.
이들 및 다른 측면 및 구현은 아래에서 상세하게 설명된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태 및 구현의 예시적인 예를 포함하고 청구된 양태 및 구현의 특성 및 특성을 이해하기 위한 개요 또는 프레임워크를 제공한다. 도면은 다양한 양태 및 구현에 대한 예시 및 추가 이해를 제공하며, 본 명세서에 포함되어 본 명세서의 일부를 구성한다.
첨부된 도면은 실제 크기대로 도시된 것이 아니다. 다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다. 명확성을 위해, 모든 도면에 모든 컴포넌트가 표시되는 것은 아니다.
도 1은 센서 기반 검증으로 차량 기능을 인증 및 제어하기 위한 예시적인 시스템을 도시한다.
도 2는 차량의 평면도를 도시하고 도1에 도시된 차량의 내부 캐빈(cabin)을 도시한다.
도 3은 도 1에 도시된 예시적인 시스템을 사용하여 차량 기능을 검증하는 예시적인 방법을 도시한다.
도 4는 예시적인 컴퓨터 시스템의 블록도이다.
다음은 음성 활성화 데이터 패킷 기반 컴퓨터 네트워크 환경에서 패킷화된 데이터의 멀티-모달 전송을 위한 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현의 다양한 개념에 대한보다 상세한 설명이다. 위에서 소개되고 아래에서 더 상세하게 설명되는 다양한 개념은 수많은 방식으로 구현될 수 있다.
본 개시는 일반적으로 음성 활성화 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호 내의 요청을 검증하기 위한 데이터 처리 시스템에 관한 것이다. 데이터 처리 시스템은, 예를 들어, 네트워크를 통한 전송 전에 유효하지 않은 요청 (및 관련된 동작 데이터 구조)을 폐기(discarding) 또는 비활성화함으로써, 하나 이상의 컴퓨터 네트워크를 통한 청각(auditory) 데이터 패킷 전송의 효율성 및 효과를 향상시킬 수 있다. 본 해결책은 또한 데이터 처리 시스템이 유효하지 않고 폐기되어야하는 액션 데이터 구조에 대해 추가 연산 동작을 수행하는 것을 방지함으로써 연산 효율을 향상시킬 수 있다. 유효하지 않은 요청의 전송을 비활성화함으로써, 시스템은 무효 액션 데이터 구조를 운반하는 데이터 패킷을 네트워크를 통해 전송하지 않음으로써 대역폭 사용을 줄일 수 있다. 자연스럽게 말하는 오디오 신호를 처리하는 것은 연산(계산) 집약적인 태스크일 수 있다. 시스템은 유효하지 않은 요청을 감지함으로써 시스템이 유효하지 않은 요청을 건너뛰거나(skip), 일시적으로 건너뛰거나, 버리고(폐기), 수정하도록 하여 연산 낭비를 줄일 수 있다.
본 명세서에 설명된 시스템 및 방법은 오디오 입력 쿼리를 수신하는 데이터 처리 시스템을 포함할 수 있으며, 이는 오디오 입력 신호로도 지칭될 수 있다. 입력 오디오 신호는 윈도우를 열거나 자동차를 시동하는 것과 같은 차량 설정에서 기능을 수행하기 위한 요청을 포함할 수 있다. 입력 오디오 신호로부터, 데이터 처리 시스템은 요청을 식별할 수 있다. 시스템은 오디오 입력 쿼리에 기초하여 액션(액션) 데이터 구조를 생성할 수 있다. 액션 데이터 구조에는 요청 이행을 위한 요구 사항을 나타내는 속성이 포함될 수 있다. 시스템은 차량 상태 및 차량 상태와 관련된 속성을 결정할 수 있다. 시스템은 액션 데이터 구조의 속성을 차량 상태의 속성과 비교 및 분석하여 요청이 이행되어야 하는지 여부를 결정할 수 있다. 차량 상태와 동작 데이터 구조의 속성이 일치하지 않으면, 시스템은 액션 데이터 구조(및 연관된 요청)를 사용 불가능하게 하거나 삭제할 수 있으며, 이행 인터페이스가 요청을 이행하지 못하게 하여 네트워크 대역폭을 절약하고 프로세서 활용도를 줄이며 전력을 절약할 수 있다.
도 1은 센서 기반 검증으로 차량 기능을 인증 및 제어하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 적어도 하나의 데이터 처리 시스템(102), 하나 이상의 클라이언트 장치(128) 및 하나 이상의 차량(140)을 포함할 수 있다.
데이터 처리 시스템(102)은 인터페이스(104)를 포함할 수 있다. 데이터 처리 시스템(102)은 오디오 기반 입력을 분석하기 위해 NLP(Natural Language Processor) 컴포넌트(106)를 포함할 수 있다. 데이터 처리 시스템(102)은 시스템(100)에서 다른 장치의 인터페이스를 검출하고 관리하기 위한 인터페이스 관리 컴포넌트(108)를 포함할 수 있다. 데이터 처리 시스템(102)은 오디오 기반 신호를 생성하기 위해 오디오 신호 생성기 컴포넌트(110)를 포함할 수 있다. 데이터 처리 시스템(102)은 방향 액션 애플리케이션 프로그래밍 인터페이스(API)(112)를 포함할 수 있다. 데이터 처리 시스템(102)은 오디오 기반 입력 신호에 대한 응답을 선택하기 위한 응답 선택기 컴포넌트(114)를 포함할 수 있다. 데이터 처리 시스템(102)은 데이터 처리 시스템(102)에 의해 수신된 오디오 기반 입력을 검증하기 위한 검증 엔진(116)을 포함할 수 있다. 데이터 처리 시스템(102)은 데이터 처리 시스템(102)이 파라미터(120), 정책(122), 응답 데이터(124) 및 템플릿(126)을 저장할 수 있는 데이터 저장소(118)를 포함할 수 있다. 클라이언트 장치(128) 및 차량(140)은 데이터 처리 시스템(102)의 컴포넌트의 인스턴스를 포함하고 실행할 수 있다. 일부 구현들에서, 클라이언트 장치(128) 및 차량(140)은 각각 데이터 처리 시스템(102)의 인스턴스를 포함할 수 있다.
시스템(100)은 또한 하나 이상의 클라이언트 장치(128)를 포함할 수 있다. 클라이언트 장치(128)는 센서(130), 스피커(132), 인터페이스(104) 및 변환기(transducers)(136)를 포함할 수 있다. 클라이언트 장치(128)는 NLP 컴포넌트(106)의 인스턴스를 실행할 수 있다. 시스템(100)은 또한 하나 이상의 데이터 제공자(138)를 포함할 수 있다. 시스템(100)은 하나 이상의 차량(140)을 포함할 수 있다. 차량(140)은 센서(130), 스피커(132), 인터페이스(104) 및 변환기(136)를 포함할 수 있다. 차량(140)은 NLP 컴포넌트(106)의 인스턴스를 실행할 수 있다. 시스템(100)의 컴포넌트는 네트워크(142)를 통해 통신할 수 있다. 일부 구현들에서, 하나 이상의 클라이언트 장치들(128)은 차량(140)의 인스턴스 내에 위치될 수 있다. 예를 들어, 클라이언트 장치(128)는 차량(140)을 운전하는 운전자의 휴대폰일 수 있다. 일부 구현들에서, 하나 이상의 클라이언트 장치들(128)은 차량들(140)에 대해 원격일 수 있다. 예를 들어, 운전자가 작업을 위해 차량(140)을 주차하고 나간 후, 운전자의 휴대폰은 차량(140)과 멀리 떨어져 있다.
네트워크(142)는 인터넷, 로컬, 광역, 메트로 또는 기타 영역 네트워크와 같은 컴퓨터 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 이동 전화 통신 네트워크와 같은 다른 컴퓨터 네트워크 및 이들의 조합을 포함할 수 있다. 네트워크(142)는 데이터 처리 시스템(102), 클라이언트 장치(128) 및 차량(140)에 의해 사용되어 웹 페이지, 웹 사이트, 도메인 이름, URL(uniform resource locators) 또는 데이터 제공자(138)와 같은 정보 리소스에 액세스할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 네트워크(142)를 통해 차량(140)과 관련된 위치와 같은 특정 위치에 대한 날씨 데이터를 제공하는 데이터 제공자(138)에 액세스할 수 있다.
네트워크(142)는 예를 들어 P2P(point-to-point) 네트워크, 브로드 캐스트 네트워크, 광역 네트워크, 근거리 네트워크, 통신 네트워크, 데이터 통신 네트워크, 컴퓨터 네트워크, ATM(Asynchronous Transfer Mode) 네트워크, SONET (Synchronous Optical Network) 네트워크, SDH (Synchronous Digital Hierarchy) 네트워크, 무선 네트워크 또는 유선 네트워크 및 이들의 조합을 포함할 수 있다. 네트워크(142)는 적외선 채널 또는 위성 대역과 같은 무선 링크를 포함할 수 있다. 네트워크(142)의 토폴로지는 버스, 스타(star) 또는 링 네트워크 토폴로지를 포함할 수 있다. 네트워크(142)는 모바일 장치들 사이에서 통신하는데 사용되는 임의의 프로토콜 또는 프로토콜을 사용하는 모바일 전화 네트워크를 포함할 수 있고, 이는 AMPS(Advanced Mobile Phone Protocol), TDMA(Time Division Multiple Access), CDMA(Code-Division Multiple Access), GSM(Global Communication for Mobile Communication), GPRS(General Packet Radio Services) 또는 UMTS(Universal Mobile Telecommunications System)를 포함한다. 상이한 유형의 데이터는 상이한 프로토콜을 통해 전송될 수 있거나, 동일한 유형의 데이터는 상이한 프로토콜을 통해 전송될 수 있다.
클라이언트 장치(128) 및 차량(140)은 각각 네트워크(142)를 통해 데이터 처리 시스템(102)과 서로 통신하기 위한 프로세서를 갖는 컴퓨팅 장치와 같은 적어도 하나의 논리 장치를 포함할 수 있다. 클라이언트 장치(128) 및 차량(140)은 데이터 처리 시스템(102)과 관련하여 설명된 임의의 컴포넌트의 인스턴스를 포함할 수 있다. 클라이언트 장치(128) 및 차량(140)은 데이터 처리 시스템(102)의 인스턴스를 포함할 수 있다. 클라이언트 장치(128)는 데스크톱 컴퓨터, 랩톱, 태블릿 컴퓨터, 개인용 디지털 어시스턴트, 스마트폰, 모바일 장치, 휴대용 컴퓨터, 씬(thin) 클라이언트 컴퓨터, 가상 서버, 스피커 기반 디지털 어시스턴트 또는 다른 컴퓨팅 장치를 포함할 수 있다. 차량(140)은 수동 또는 자율 자동차, 트럭, 버스, 산업용 차량, 오토바이 또는 다른 운송 기계를 포함할 수 있다. 차량(140)은 데이터 처리 시스템(102)의 인스턴스 또는 그 임의의 컴포넌트를 실행할 수 있는 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 차량 헤드 유닛의 컴포넌트(구성요소)일 수 있다.
클라이언트 장치(128) 및 차량(140)은 적어도 하나의 센서(130), 적어도 하나의 변환기(136), 적어도 하나의 오디오 드라이버 및 적어도 하나의 스피커(132)를 포함할 수 있다. 센서(130)는 마이크로폰 또는 오디오 입력 센서를 포함할 수 있다. 센서(130)는 또한 GPS 센서, 근접 센서, 주변 광 센서, 온도 센서, 모션 센서, 가속도계 또는 자이로 스코프 중 적어도 하나를 포함할 수 있다. 센서는 동체감지(occupancy) 또는 무게 센서를 포함할 수 있다. 변환기(136)는 오디오 입력을 전자 신호로 변환할 수 있다. 오디오 드라이버는 스피커(132)를 제어하기 위해 클라이언트 장치(128) 또는 차량(140)의 하나 이상의 프로세서에 의해 실행되는 스크립트 또는 프로그램을 포함할 수 있다. 스피커(132)는 전기 신호를 가청 파로 변환함으로써 오디오 신호를 렌더링할 수 있다.
클라이언트 장치(128) 및 차량(140)은 입력 오디오 신호로서 음성 쿼리를 클라이언트 장치(128) 또는 차량(140)에 (센서(130)를 통해) 입력하고, 데이터 처리 시스템(102)으로부터 제공될 수 있는 컴퓨터 생성 음성의 형태로 오디오 출력을 수신하는 최종 사용자와 연관될 수 있다. 입력된 오디오 신호에 응답하여, 클라이언트 장치(128) 및 차량(140)은 또한 소정의 기능 또는 액션(동작)을 수행하기 위해 액션 데이터 구조를 수신할 수 있다. 인터페이스(104)는 데이터 처리 시스템(102)의 다이렉트 액션 API(112)에 데이터 메시지를 송수신할 수 있고 시스템(100)의 컴포넌트들 간의 통신을 가능하게 한다. 클라이언트 장치(128) 및 차량(140)은 또한 사용자가 시스템(100)의 컴포넌트와 상호 작용할 수 있게 하는 사용자 인터페이스를 포함할 수 있다.
시스템의 데이터 처리 시스템(102)은 적어도 하나의 프로세서를 갖는 적어도 하나의 서버를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 적어도 하나의 데이터 센터 또는 서버 팜에 위치한 복수의 서버를 포함할 수 있다. 데이터 처리 시스템(102)은 오디오 입력 신호로부터 요청 및 요청과 관련된 트리거 키워드를 결정할 수 있다. 요청 및 트리거 키워드에 기초하여, 데이터 처리 시스템(102)은 응답 데이터를 생성 또는 선택할 수 있다. 응답 데이터는 오디오 기반이거나 텍스트 기반일 수 있다. 예를 들어, 응답 날짜는, 렌더링될 때 오디오 출력 또는 음파를 제공하는 하나 이상의 오디오 파일을 포함할 수 있다. 응답 데이터 내의 데이터는 또한 콘텐츠 아이템으로 지칭될 수 있다. 응답 데이터는 오디오 콘텐츠 외에 다른 콘텐츠(예를 들어, 텍스트, 비디오 또는 이미지 콘텐츠)를 포함할 수 있다.
데이터 처리 시스템(102)은 다수의 논리적으로 그룹화된 서버를 포함할 수 있고 분산 컴퓨팅 기술을 용이하게 한다. 논리적 서버 그룹은 데이터 센터, 서버 팜 또는 머신 팜이라고 한다. 서버는 지리적으로 분산될 수 있다. 데이터 센터 또는 머신 팜은 단일 엔터티로 관리되거나 머신 팜은 복수의 머신팜을 포함할 수 있다. 각 머신 팜 내의 서버는 이기종일 수 있으며, 하나 이상의 서버 또는 머신이 하나 이상의 운영 체제 플랫폼 유형에 따라 작동할 수 있다. 데이터 처리 시스템(102)은 예를 들어 기업 데이터 센터에 위치한 관련 스토리지(저장) 시스템과 함께 하나 이상의 고밀도 랙 시스템에 저장된 데이터 센터의 서버를 포함할 수 있다. 이러한 방식으로 통합된 서버를 갖는 데이터 처리 시스템(102)은 로컬화된 고성능 네트워크에 서버와 고성능 스토리지 시스템을 배치하여 시스템 관리 효율성, 데이터 보안, 시스템의 물리적 보안 및 시스템 성능을 향상시킬 수 있다. 서버 및 스토리지 시스템을 포함하여 모든 또는 일부 데이터 처리 시스템(102) 컴포넌트를 중앙 집중화하고 이를 향상된 시스템 관리 툴과 결합하면 서버 자원을 보다 효율적으로 사용할 수 있어 전력 및 처리 요구량(requirements)을 절약하고 대역폭 사용을 줄인다. 데이터 처리 시스템(102)의 각각의 컴포넌트는 적어도 하나의 처리 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 또는 데이터 저장소(118) 및 다른 컴퓨팅 장치와 통신하도록 구성된 프로그램 가능한 논리 어레이와 같은 다른 논리 장치를 포함할 수 있다.
데이터 처리 시스템(102)은 데이터 저장소(118)를 포함할 수 있다. 데이터 저장소(118)는 하나 이상의 로컬 또는 분산 데이터베이스를 포함할 수 있고 데이터베이스 관리 시스템을 포함할 수 있다. 데이터 저장소(118)는 컴퓨터 데이터 저장 또는 메모리를 포함할 수 있고, 다른 데이터 중에서 하나 이상의 파라미터(120), 하나 이상의 정책(122), 응답 데이터(124) 및 템플릿(126)을 저장할 수 있다. 파라미터(120), 정책(122) 및 템플릿(126)은 클라이언트 장치(128), 데이터 처리 시스템(102) 및 차량(140) 사이의 음성 기반 세션에 관한 규칙과 같은 정보를 포함할 수 있다. 응답 데이터(124)는 오디오 출력 또는 관련 메타 데이터를 위한 콘텐츠 아이템뿐만 아니라 클라이언트 장치(128)와의 하나 이상의 통신 세션의 일부일 수 있는 입력 오디오 메시지를 포함할 수 있다.
데이터 처리 시스템(102)과 관련된 애플리케이션, 스크립트, 프로그램 또는 다른 컴포넌트는 클라이언트 장치(128) 또는 차량(140)에 설치될 수 있다. 애플리케이션은 클라이언트 장치(128) 또는 차량(140)이 입력 오디오 신호(및 다른 데이터)를 데이터 처리 시스템(102)의 인터페이스(104)와 통신할 수 있게 한다. 애플리케이션은 클라이언트 장치(128) 및 차량(140)이 출력 오디오 신호를 렌더링하기 위해 클라이언트 장치(128) 및 차량(140)의 컴포넌트를 구동할 수 있게 한다.
데이터 처리 시스템의 LP 컴포넌트(106)는 입력 오디오 신호를 수신할 수 있다. 데이터 처리 시스템(102)은 클라이언트 장치(128) 또는 차량(140)으로부터 입력 오디오 신호를 수신할 수 있다. 제1 장치(디바이스)는 NLP 컴포넌트(106)를 실행할 수 있고, NLP 컴포넌트(106)는 제2 장치(디바이스)로부터 입력 오디오 신호를 수신할 수 있다. 예를 들어, 차량(140)은 NLP 컴포넌트(106)를 실행할 수 있고, 입력 오디오 신호는 클라이언트 장치(128)로부터 수신될 수 있다.
NLP 컴포넌트(106)는 입력 오디오 신호를 저장된 대표적인 오디오 파형 세트와 비교하고 가장 근접한 매칭을 선택함으로써 입력 오디오 신호를 인식된 텍스트로 변환할 수 있다. 대표적인 파형은 많은 입력 오디오 신호 세트에서 생성될 수 있다. 입력 오디오 신호가 인식된 텍스트로 변환되면, LP 컴포넌트(106)는 예를 들어 학습 단계를 통해 액션 또는 출력 오디오 신호와 연관된 단어에 상기 텍스트를 매칭시킬 수 있다.
입력 오디오 신호로부터, NLP 컴포넌트(106)는 요청에 대응하는 적어도 하나의 요청 또는 적어도 하나의 트리거 또는 핫 키워드를 식별할 수 있다. 요청은 입력 오디오 신호의 의도 또는 주제(subject matter)를 나타낼 수 있다. 트리거 키워드는 수행될 수 있는 액션 유형을 표시할 수 있다. 예를 들어, NLP 컴포넌트(106)는 입력 오디오 신호를 분석하여 차량의 윈도우를 열기 위한 적어도 하나의 요청을 식별하거나 음악 재생 목록에서 다음 오디오 파일로 건너뛸 수 있다. 트리거 키워드는 적어도 하나의 단어, 문구, 어근 또는 부분 단어 또는 수행할 액션을 나타내는 파생어를 포함할 수 있다. 예를 들어, 트리거 키워드 "go" 또는 "ok" 또는 "hey"일 수 있다.
응답 선택기 컴포넌트(114)는 데이터 저장소(118)로부터 정보를 획득할 수 있으며, 이는 응답 데이터(124)의 일부로서 저장될 수 있다. 응답 선택기 컴포넌트(114)는, 예를 들어, 응답 데이터(124)로부터 응답 문구 또는 콘텐츠 아이템을 선택하거나 식별하기 위해 데이터 저장소(118)에 질의(쿼리)할 수 있다.
오디오 신호 생성기 컴포넌트(130)는 콘텐츠 아이템을 포함하는 출력 신호를 생성하거나 그렇지 않으면 획득할 수 있다. 데이터 처리 시스템(102)은 오디오 신호 생성기 컴포넌트(110)를 실행하여 콘텐츠 아이템 또는 요청에 대응하는 출력 신호를 생성 또는 발생할 수 있다. 예를 들어, 일단 요청이 이행되면, 신호 생성기 컴포넌트(110)는 "액션이 완료되었다"는 문구를 포함하는 오디오 출력 신호를 생성할 수 있다.
인터페이스(104)는 시스템(100)의 컴포넌트들이 서로 통신할 수 있게 하는 데이터 인터페이스 또는 네트워크 인터페이스일 수 있다. 데이터 처리 시스템(102)의 인터페이스(104)는 액션 데이터 구조, 오디오 신호 또는 다른 데이터를 포함하는 하나 이상의 데이터 패킷을 네트워크(142)를 통해 클라이언트 장치(128) 또는 차량(140)에 제공하거나 전송할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 데이터 저장소(118) 또는 오디오 신호 생성기(110)로부터 클라이언트 장치(128)로 출력 신호를 제공할 수 있다. 데이터 처리 시스템(102)은 또한 데이터 패킷 전송을 통해 클라이언트 장치(128) 또는 차량(140)에 액션 데이터 구조에 표시된 기능을 수행하도록 지시할 수 있다. 출력 신호는 데이터 처리 시스템(102)(또는 다른 컴퓨팅 장치)으로부터 클라이언트 장치(128) 또는 차량(140)으로 하나 이상의 데이터 패킷(또는 다른 통신 프로토콜)로서 획득, 생성, 변환 또는 전송될 수 있다.
데이터 처리 시스템(102)의 다이렉트 액션 API(112)는 예를 들어 요청에 기초하여 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 요청을 만족시키기 위해 지정된 액션의 실행을 위한 데이터 또는 명령(명령어)을 포함할 수 있다. 일부 구현에서, 액션 데이터 구조는 JSON 형식의 데이터 구조 또는 XML 형식의 데이터 구조일 수 있다.
요청에 지정된 액션에 따라, 다이렉트 액션 API(112)는 요청을 이행하는데 필요한 파라미터를 식별하는 코드 또는 대화 스크립트를 실행할 수 있다. 요청에 응답하여 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 클라이언트 장치(128) 또는 차량(140)에 의해 전송되거나 수신되는 메시지에 포함될 수 있다. LP 컴포넌트(106)에 의해 분석된 요청에 기초하여, 다이렉트 액션 API(112)는 클라이언트 장치(128) 또는 차량(140) 중 어느 것에 메시지가 전송되어야 하는지를 결정할 수 있다. 예를 들어, 입력 오디오 신호가 "윈도우 열기"를 포함하면, NLP 컴포넌트(106)는 "윈도우(창) 열기" 액션 단어(워드)를 식별할 수 있다. 다이렉트 액션 API(112)는 차량(140)으로의 전송을 위해 요청을 액션 데이터 구조로 패키징할 수 있다. 방향 액션(direction action) API(112)는 요청을 생성한 사용자와 어떤 차량이 연관되어 있는지를 결정하기 위해 응답 데이터(124)로부터 차량 ID에 액세스할 수 있다. 일단 수신되면, 차량(140)은 액션 데이터 구조를 처리하고 차량의 윈도우(창)를 열 수 있다.
액션 데이터 구조는 요청을 완료하기 위한 정보를 포함할 수 있다. 예를 들어, 액션 데이터 구조는 요청을 완료하거나 이행하는 데 사용되는 속성을 포함하는 XML 또는 JSON 형식의 데이터 구조일 수 있다. 속성은 차량(140)의 위치, 클라이언트 장치(128)의 위치, 클라이언트 장치(128)와 관련된 사용자의 인증 레벨, 차량 식별자, 인터페이스 식별자, 차량 상태 또는 요청 상태를 포함할 수 있다. 일부 구현들에서, 요청 상태는 액션이 이행되기 전에 충족되어야 하는 하나 이상의 속성을 포함한다. 예를 들어, 요청 "Ok, 노래 변경" 요청 상태는 요청이 차량에서 명시적으로 허가된 사용자 또는 승객이어야 한다는 것을 나타내는 속성{requestor: [authorized, passenger]}을 가질 수 있다.
다이렉트 액션 API(112)는 저장소(118)로부터 템플리트(126)를 검색하여 액션 데이터 구조에 포함할 필드 또는 속성을 결정할 수 있다. 다이렉트 액션 API(112)는 필요한 파라미터를 결정하고 정보를 액션 데이터 구조로 패키징할 수 있다. 다이렉트 액션 API(112)는 데이터 구조의 속성에 대한 정보를 얻기 위해 저장소(118)로부터 콘텐츠를 검색할 수 있다.
다이렉트 액션 API(112)는 입력 오디오 신호로부터의 데이터로 필드를 채울 수 있다. 방향 액션 API(112)는 또한 데이터 제공자(138), 클라이언트 장치(128) 또는 차량(140)으로부터의 데이터로 필드를 채울 수 있다. 일부 구현에서, 방향 액션 API(112)는 필드를 채울 때 사용자에게 추가 정보를 요구할 수 있다. 템플릿(126)은 차량의 헤드 유닛을 통해 미디어 파일을 재생하고, 메시지에 응답하고, 차량 내에서 기능을 수행하는 것과 같은 상이한 유형의 액션에 대해 표준화될 수 있다. 일부 구현들에서, 액션 데이터 구조는 초기에 원격 데이터 처리(프로세싱) 시스템(102)에 의해 실행되는 방향 액션 API(112)에 의해 생성될 수 있다. 원격 데이터 처리 시스템(102)은 액션 데이터 구조를 차량(140)의 데이터 처리 시스템(102)으로 전송할 수 있으며, 액션 데이터 구조에 필드 및 속성을 추가할 수 있다.
다이렉트 액션 API(112)는 데이터 저장소(118)로부터 응답 데이터(124)(또는 파라미터(120) 또는 정책(122))를 얻을 수 있을 뿐만 아니라, 예를 들어 자동차 공유 서비스로부터 자동차를 예약하기 위해 위치, 시간, 사용자 계정, 물류 또는 다른 정보를 결정하기 위해 클라이언트 장치(128)로부터 최종 사용자 동의로 수신된 데이터를 얻을 수 있다. 응답 데이터(124)(또는 파라미터(120) 또는 정책(122))는 액션 데이터 구조에 포함될 수 있다. 액션 데이터 구조에 포함된 콘텐츠가 인증에 사용되는 최종 사용자 데이터를 포함하는 경우, 데이터는 데이터 저장소(118)에 저장되기 전에 해싱(hashing) 함수를 통해 전달될 수 있다.
데이터 처리 시스템(102)(또는 하드웨어, 프로세서 또는 메모리 컴포넌트)은 검증 엔진(116)을 포함, 인터페이스 또는 통신할 수 있다. 검증 엔진(116)은 액션 데이터 구조와 관련된 액션 및 기능이 실행 또는 이행되어야 하는지 여부를 검증하거나 그렇지 않으면 결정할 수 있다. 검증될 때, 검증 엔진(116)은 요청이 이행되도록할 수 있다. 검증 엔진(116)은 요청자가 액션을 수행할 권한이 있는지, 액션을 수행하는 것이 안전한지, 또는 요청된 기능 또는 액션 대신에 다른 기능이 수행되어야 하는지 여부를 결정할 수 있다.
예를 들어, 입력 오디오 신호 "Ok, 트렁크 열기"를 수신한 경우, 검증 엔진(116)은 차량(140)이 도로를 주행하고 트렁크를 여는 것이 안전하지 않기 때문에 트렁크를 열지 않기로 결정할 수 있다. 다른 예에서, 입력 오디오 신호 "Ok, 다음 노래"를 수신한 것에 응답하여, 검증 엔진(116)은 사용자가 노래를 변경하고 다음 노래로 건너뛸 수(스킵) 있는 권한을 가지고 있다고 결정할 수 있다. 검증 엔진(116)은 클라이언트 장치(128), 차량(140) 또는 그 컴포넌트에 의해 실행될 수 있다. 예를 들어, 차량(140)은 차량(140)이 있을 때 검증 엔진(116)의 로컬 인스턴스를 실행할 수 있다. 일부 구현들에서, 차량(140)은
검증 엔진(116)이 네트워크(142)에 접속할 때 계산 작업을 원격 검증 엔진(116)으로 오프로드(offload)하고, 차량(140)이 네트워크(142)에 연결되지 않은 경우, 검증 엔진(116)의 로컬 인스턴스로 요청을 처리할 수 있다.
검증 엔진(116)은 데이터 제공자(138), 클라이언트 장치(128)의 센서(130) 및 차량(140)의 센서(130)로부터 수신된 데이터와 같은 외부 센서 데이터로부터의 데이터에 기초하여 액션들을 검증할 수 있다. 검증 엔진(116)은 또한 입력 오디오 신호를 생성한 사용자의 관리 권한에 기초하여 액션을 검증할 수 있다. 검증 엔진(116)은 차량(140)의 차량 상태에 기초하여 액션을 검증할 수 있다.
검증 엔진(116)은 한 세트의 센서 데이터에 기초하여 차량(140)의 차량 상태를 결정할 수 있다. 차량 상태는 요청이 이행될 차량(140)의 현재 상태를 나타낼 수 있다. 차량 상태는 차량(140)이 이동 중인지, 주차 중인지 또는 아이들링(idling) 중인지를 나타낼 수 있다. 차량 상태는 차량(140)의 속도를 나타낼 수 있다. 검증 엔진(116)은 차량 상태를 결정하기 위해 센서 데이터의 조합을 사용할 수 있다. 센서 데이터의 조합을 사용하여 유사한 조건을 가질 수 있는 다른 상태를 구별할 수 있다. 예를 들어, 적색등에서 정지, 주차장에서 정지, 교통 정체 및 주차장에서 주차 상태가 서로 유사한 조건(예: 차량 속도 0mph)이 있을 수 있지만 각기 다른 상태에서 다른 기능이 승인될 수 있다. 예를 들어, 차량(140)이 주차장에 주차되어있을 때 트렁크를 개방하는 것이 안전할 수 있지만 차량(140)이 적색등으로 정지된 경우에는 그렇지 않을 수 있다. 차량 상태는 이동 상태, 외부 환경 상태, 내부 환경 상태 및 장치 상태와 같은 복수의 하위-상태를 포함할 수 있다.
이동 하위-상태(서브-상태)는 현재 및 평균 속도, 현재 및 평균 가속도, 주행 모드 상태 및 기어 상태와 같은 속성을 포함할 수 있다. 외부 환경 하위-상태는 외부 기상 조건(예: 비, 맑음 또는 강설), 외부 온도, 외부 기상 조건 예측 및 외부 온도 예측과 같은 속성을 포함할 수 있다. 내부 환경 하위-상태는 내부 온도 및 내부 영역 온도와 같은 속성을 포함할 수 있다. 장치 하위-상태는 HVAC 상태(예: 에어컨 켜기, 에어컨 끄기, 난방 등), 윈도우(창) 상태, 잠금 상태, 트럭 상태, 도어 상태, 선 루프 상태, 열선 시트 상태, 열선 스티어링 휠 상태, 헤드라이트 상태 및 내부 조명 상태와 같은 속성을 포함할 수 있다.
검증 엔진(116)은 클라이언트 장치의 센서(130)로부터의 센서 데이터, 차량의 센서(130)로부터의 센서 데이터, 데이터 제공자(138)로부터의 데이터, 또는 이들의 임의의 조합을 포함할 수 있는 센서 데이터 세트에 기초하여 차량 상태를 결정할 수 있다. 차량 상태 내의 속성 중 일부는 단일 센서(예를 들어, 도어 개방 상태)로부터 결정될 수 있고, 다른 것들은 센서 신호의 조합으로부터 결정될 수 있다 (예를 들어, 이동 상태는 속도 데이터 및 기어 데이터의 조합으로부터 결정될 수 있다).
클라이언트 장치(128)로부터의 센서 데이터는 셀룰러 타워 삼각 측량 또는 클라이언트 장치(128) 내의 GPS 수신기에 의해 결정된 위치 데이터, 위치 데이터, 가속 데이터, 계정 데이터, 인증 데이터 또는 이들의 임의의 조합을 통합함으로써 결정된 속도 데이터를 포함할 수 있다. 센서 데이터는 하나 이상의 데이터 제공자(138)로부터의 데이터를 포함할 수 있다. 데이터 제공자(138)는 인터넷 기반 데이터 저장소일 수 있다. 데이터 제공자(138)는 예를 들어 API에 의해 데이터를 이용 가능하게 할 수 있다. 데이터 제공자(138)는 날씨 데이터, 위치 데이터, 이벤트 데이터, 위치 검토 데이터, 예측 데이터 또는 이들의 임의의 조합을 검증 엔진(116)에 제공할 수 있다.
검증 엔진(116)은 입력 오디오 파일로부터 분석(파싱)된 요청에 기초하여 요청 상태를 결정할 수 있다. 검증 엔진(116)은 제2 세트의 센서 데이터에 기초하여 요청 상태를 결정할 수 있다. 센서 데이터의 제1 및 제2 세트의 데이터는 업데이트 데이터 신호, 벡터, 데이터 어레이, 스칼라 값 또는 다른 형식의 데이터로서 수신될 수 있다. 요청 상태는 요청의 액션이 실행될 수 있거나 요청이 이행되기 위해 요구되는 복수의 속성을 포함할 수 있다. 요청 상태는 액션 데이터 구조의 컴포넌트이거나 그로부터 파생될 수 있다. 예를 들어, "트렁크 개방"이라는 요청은 주차 상태일 때와 운전자 또는 승인된 승객이 요청한 경우에만 트렁크를 열 수 있음을 나타내는 속성이 있는 요청 상태를 포함할 수 있다. 예를 들어 요청 상태는 {movement state: parked, requestor: authorized passenger}일 수 있다.
요청 상태를 결정하기 위한 제2 세트의 센서 데이터(제2 데이터 세트)는 차량 상태를 결정하기 위해 사용된 검증 엔진(116)의 제1 세트의 센서 데이터(제1 데이터 세트)로부터의 센서 데이터를 포함할 수 있다. 제2 데이터 세트는 또한 차량(140) 내의 클라이언트 장치(128)(또는 이와 관련된 사용자)의 위치를 포함할 수 있다.
검증 엔진(116)은 요청 데이터 상태를 차량 상태와 비교하여 액션 데이터 구조의 액션이 실행, 수행 또는 추가 처리되어야 하는지 여부를 결정할 수 있다. 예를 들어, 차량 상태는 차량(140)이 주차장에 주차되어 있고, 창문이 닫히고, 외부 비가 내린다는 것을 나타낼 수 있다(예:{movement state: parked, windowsxlosed, external conditiomrain}). 예를 들어, 입력 오디오 신호가 "OK, 윈도우 개발"이면, 검증 엔진 116)은 요청에 대한 요청 상태가 요청이 승인된 사용자로부터 온 것을 요구한다고 결정할 수 있고, 운전 속성은 운전 또는 주차될 수 있고, 날씨 속성은 비가 아닌 것이어야 한다(예: {requestor: authorized, movement state: [driving, parked], external condition: [sunny, overcast, cloudy]}). 차량 상태를 요청 상태와 비교하여, 검증 엔진(116)은 차량 상태의 외부 조건 속성이 요청 상태의 외부 조건 속성과 일치(매칭)하지 않음을(또는 요소가 아님을) 결정할 수 있다. 상기 상태가 일치(매칭)하지 않기 때문에, 검증 엔진(116)은 차량(140) 외부에서 비가 내리기 때문에 요청이 이행되지 않아야 하고 비가 올 때 창문이 열리지 않아야 한다는 것을 결정할 수 있다.
예를 들어, 검증 엔진(116)이 기능이 수행되지 않아야 한다고 결정할 때, 검증 엔진(116)은 클라이언트 장치(128) 또는 차량(140)의 인터페이스(104)를 통해 사용자에게 제시되는 확인 요청을 생성할 수 있다. 확인 요청은 사용자가 요청을 이행하지 않기 위해 검증 엔진의 결정을 대체(override)할 것인지를 사용자에게 요청할 수 있다. 검증 엔진(116)이 기능이 수행되지 않아야 한다고 결정할 때, 검증 엔진(116)은 액션 데이터 구조를 수정하도록 제안할 수 있다. 상기 예를 계속하여, 검증 엔진(116)은 사용자가 선루프를 타일링(tile)할 것인지를 묻는 오디오 기반 프롬프트(prompt)를 생성할 수 있다.
도 2는 차량(140)의 평면도를 도시하고 차량(140)의 내부 캐빈을 도시한다. 차량(140)의 내부 캐빈은 복수의 시트(200)를 포함할 수 있다. 시트(200) 각각은 하나 이상의 센서(130)를 포함할 수 있다. 센서(130)는 무게 또는 동체감지(occupancy) 센서일 수 있다. 차량(140)의 내부 캐빈은 복수의 스피커(132)를 포함할 수 있다. 차량(140)은 또한 데이터 처리 시스템(102) 또는 차량(140)과 관련하여 설명된 하나 이상의 컴포넌트를 실행할 수 있는 헤드 유닛(202)을 포함할 수 있다. 예를 들어, 사용자 동의에 따라, 스피커(132)는 서브-가청 톤(sub-audible tones)(204)을 생성할 수 있다. 서브-가청 톤(204)은 사용자가 검출할 수 있는 정상 주파수 범위 내에 있지 않은 스피커(132)에 의해 렌더링된 톤일 수 있다. 시스템(100)은 서브-가청 톤(204) 대신에 가청 톤을 사용할 수 있다. 헤드 유닛(202)은 차량(140) 내의 데이터 처리 시스템의 모든 컴포넌트를 포함할 수 있다. 예를 들어, 헤드 유닛(202)은 디지털 오디오 어시스턴트 애플리케이션으로서 구성된 데이터 처리 시스템(102)을 포함할 수 있다.
검증 엔진(116)은 차량(140) 내에서 클라이언트 장치(128)의 상대 위치를 결정할 수 있다. 클라이언트 장치(128)의 위치는 요청 상태 또는 차량 상태의 하나 이상의 속성에 통합될 수 있다. 클라이언트 장치(128)의 포지션(position) 또는 위치(location)는 상대적 포지션이고 상이한 레벨의 분해능(resolution)을 포함할 수 있다. 예를 들어, 상대 위치는 시트(좌석)(200) 중 하나와 관련된 영역(예를 들어, 클라이언트 장치 128(1)은 조수석(200)과 관련됨)), 다른 구역과 관련된 영역일 수 있다(예를 들어, 클라이언트 장치 128(1) 및 128(2)는 전방(front) 영역에 있고 클라이언트 장치(128)는 후방(back) 영역에 없음).
차량(140) 내의 클라이언트 장치(128)의 상대적 위치는 서브-가청 톤(204)을 사용하여 결정될 수 있다. 차량(140) 내의 클라이언트 장치(128)의 상대적 위치는 또한 센서(130)로부터의 센서 데이터에 기초하여 결정될 수 있다. 차량(140) 내의 클라이언트 장치(128)의 상대적인 위치는 센서(130)로부터의 서브-가청 톤 및 센서 데이터의 조합에 기초하여 결정될 수 있다.
검증 엔진(116)은 서브-가청 톤(204)의 전송과 클라이언트 장치(디바이스)(128)에 의한 서브-가청 톤(204)의 수신 사이의 시간 차이를 결정함으로써 클라이언트 장치(128)의 상대 위치를 결정할 수 있다. 예를 들어, 헤드 유닛(202)은 스피커들(132) 중 하나가 서브-가청 톤(204)을 생성하게 할 수 있다. 스피커(132)는 처음에 서브-가청 톤(204)을 생성할 수 있다. 서브-가청 톤(204)을 생성한 스피커(132)에 상대적으로 더 가까운 클라이언트 장치(128)는 서브-가청 톤(204)을 생성한 스피커(132)로부터 비교적 먼 클라이언트 장치(128) 전에 서브-가청 톤(204)을 수신할 것이다. 예를 들어, 도 2에 도시된 바와 같이, 클라이언트 장치(128) (1)는 클라이언트 장치(128)(2) 이전에 서브-가청 톤(204)을 수신할 것이다.
클라이언트 장치(128)가 서브-가청 톤(204)을 수신하거나 그렇지 않고 검출하면, 클라이언트 장치(128)는 클라이언트 장치(128)가 헤드 유닛(202) 또는 데이터 처리 시스템(102)으로 전송한다는 수신 통지를 생성할 수 있다. 수신 통지는 스피커(132)가 서브-가청 톤(204)을 수신한 제2 시간을 나타낼 수 있다. 수신 통지는 셀룰러 네트워크, 차량(140)에 로컬인 WiFi 네트워크, 또는 블루투스를 통해 데이터 처리 시스템(102)으로 전송될 수 있다. 검증 엔진(116)은 서브-가청 톤(204)의 생성과 클라이언트 장치(128)가 서브-가청 톤(204)을 수신할 때까지의 시간 길이 (예컨대, 상기 예에서 제1 시간과 제2 시간 사이의 시간 차이)를 결정할 수 있다. 상이한 스피커들(132)은 데이터 처리 시스템(102)이 차량(140) 내의 클라이언트 장치(128)의 위치를 삼각측량할 수 있도록 상이한 시간에 상이한 서브-가청 톤들(204)을 생성할 수 있다.
검증 엔진(116)은 센서(130)로부터의 데이터에 기초하여 클라이언트 장치(128)의 위치를 결정할 수 있다. 센서(130)는 시트(200)가 점유되었는지를 결정할 수 있는 무게 센서일 수 있다. 예를 들어, 검증 엔진(116)은 센서(130)가 미리 결정된 임계 값을 초과하는 무게를 등록할 때 시트(200)가 점유된 것으로 결정할 수 있다. 일부 구현들에서, 검증 엔진(116)은 서브-가청 톤(204)을 사용하여 클라이언트 장치(128)가 시트들(200) 중 하나에 가까이 있다는 것을 결정할 수 있다. 검증 엔진(116)은 결정된 시트(200)의 센서(130)가 무게를 감지하고 있는 센서 데이터의 수신에 기초하여 사용자가 클라이언트 장치(128)와 연관되어 있음을 확인할 수 있다. 센서 데이터는 특정 영역(zones)이나 사용자에게만 제공되는 기능에 액세스하는 것을 방지하는 데 사용할 수 있다. 예를 들어, 문자 메시징은 운전자와 관련된 클라이언트 장치(128)에서 비활성화될 수 있지만 차량(140)의 다른 시트(좌석)(200)에서 승객과 관련된 클라이언트 장치(128)에 대해 활성화될 수 있다. 운전자가 서브-가청 톤(204)에 기초하여 자신의 클라이언트 장치(128)를 조수석(200)의 영역으로 이동시키는 경우, 검증 엔진(116)은 클라이언트 장치(128)가 조수석(200)과 연관되어 있고 문자 메시징 프로그램을 사용하기 위한 요청을 생성하도록 허용되어야 한다고 결정할 수 있다. 검증 엔진(116)은 조수석(200)의 센서(130)로부터 0 파운드의 무게 데이터를 수신하고, 사용자가 실제로 조수석(200)에 있지 않다고 결정할 수 있고, 운전자의 클라이언트 장치(128)가 문자 메시지 기능에 액세스하는 것을 방지할 수 있다. 일부 구현들에서, 검증 엔진(116)은 차량(140)의 도어의 개방 및 폐쇄를 검출한 후에만 차량(140) 내의 클라이언트 장치들(128)의 상대 위치들을 업데이트할 수 있다.
도 3은 차량 기능을 검증하기 위한 예시적인 방법(300)을 도시한다. 방법(300)은 오디오 신호를 수신하는 단계(블록 302)를 포함할 수 있다. 방법(300)은 오디오 신호를 분석(파싱)하는 단계(블록 304)를 포함할 수 있다. 방법(300)은 액션 데이터 구조를 생성하는 단계를 포함할 수 있다(블록 306). 방법(300)은 차량 상태를 결정하는 단계를 포함할 수 있다(블록 308). 방법(300)은 요청 상태를 결정하는 단계를 포함할 수 있다(블록 310). 방법(300)은 액션 데이터 구조를 전송하는 단계를 포함할 수 있다(블록 312).
방법(300)은 입력 오디오 신호를 수신하는 단계(블록 302)를 포함할 수 있다. 데이터 처리 시스템은 입력 오디오 신호를 수신할 수 있다. 예를 들어, 데이터 처리 시스템에 의해 실행되는 NLP 컴포넌트는 입력 오디오 신호를 수신할 수 있다. 데이터 처리 시스템(및 NLP 컴포넌트)은 클라이언트 장치, 차량, 또는 독립형 장치의 컴포넌트이거나 그에 의해 실행될 수 있다. 클라이언트 장치 또는 차량에서의 마이크로폰과 같은 센서는 입력 오디오 신호를 검출할 수 있고, 이어서 각각의 클라이언트 장치 또는 차량은 입력 오디오 신호를 데이터 처리 시스템으로 전송할 수 있다. 예를 들어, 클라이언트 장치에서 실행되는 애플리케이션은 "Ok, 선루프 오픈"이라고 말하는(발화) 사용자를 감지할 수 있다. 검출된 발화는 입력 오디오 신호로 인코딩되어 데이터 처리 시스템 또는 차량의 NLP 컴포넌트로 전송될 수 있다.
방법(300)은 입력 오디오 신호를 분석하는 단계(블록 304)를 포함할 수 있다. NLP 컴포넌트는 입력 오디오 신호에서 요청을 식별하기 위해 입력 오디오 신호를 분석할 수 있다. LP 컴포넌트는 요청과 관련된 차량을 식별할 수 있다. LP 컴포넌트는 요청 및 차량과 연관된 이행 인터페이스를 식별할 수 있다. 이행 인터페이스는 입력 오디오 신호의 요청을 이행하기 위해 액션 데이터 구조를 실행할 클라이언트 장치 또는 차량 중 하나의 인터페이스일 수 있다.
위의 예에서, 상기 요청은 선루프를 오픈하는 것일 수 있다. 이 예에서, 이행 인터페이스는 선루프를 포함하는 차량의 인터페이스일 수 있다. 일부 구현들에서, 차량은 입력 오디오 신호에서 명시적으로 언급될 수 있다. 예를 들어, 사용자는 그의 차량에 닉네임을 할당할 수 있다(예를 들어, 사용자는 그의 "red Toyota Camry"를 "red car"라고 명명할 수 있다). 명시적으로 말하면, 입력 오디오 신호는 "OK, 내 "red car"의 선루프 오픈"일 수 있다. 일부 구현들에서, 데이터 처리 시스템은 사용자의 계정과 연관된 차량들이 액션을 수행할 수 있는지를 결정할 수 있다. 예를 들어, 사용자의 "red car"는 선루프를 포함할 수 있고, 사용자의 "blue car"는 그렇지 않을 수 있다. 입력 오디오 신호 "Ok, 선루프 오픈"을 수신한 후, 데이터 처리 시스템은 사용자의 "red car"를 자동으로 선택할 수 있다. 일부 구현들에서, 데이터 처리 시스템은 사용자에게 차량의 확인을 요청할 수 있다.
방법(300)은 액션 데이터 구조를 생성하는 단계를 포함할 수 있다(블록 306). 다이렉트 액션 API는 입력 오디오 신호의 요청을 이행하기 위해 클라이언트 장치 또는 차량에 의해 전송 및 처리될 수 있는 데이터 구조를 생성할 수 있다. 예를 들어, 상기 예를 계속하면, 다이렉트 액션 API는 사용자 차량의 선루프를 오픈(개방)하기 위한 제1 액션 데이터 구조를 생성할 수 있다. 방향 액션 API는 데이터 처리 시스템의 데이터 저장소에서 검색된 템플릿을 사용하여 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 요청을 이행하는 데 사용되는 필드를 포함할 수 있다. 예를 들어, 선루프 개방 요청에 대해, 액션 데이터 구조는 액션 데이터 구조가 승인되면 액션 데이터 구조가 전송되어야 하는 차량 ID에 대한 필드(또는 속성)를 포함할 수 있다.
방법(300)은 차량 상태를 결정하는 단계를 포함할 수 있다(블록 308). 차량 상태는 복수의 속성을 포함할 수 있다. 속성은 차량의 현재 상태를 식별할 수 있다. 차량 상태는 이동 상태, 외부 환경 상태, 내부 환경 상태 및 장치 상태와 같은 복수의 하위(서브)-상태를 포함할 수 있다. 이동 하위-상태는 현재 및 평균 속도, 현재 및 평균 가속도, 주행 모드 상태 및 기어 상태와 같은 속성을 포함할 수 있다. 외부 환경 하위-상태는 외부 기상 조건(예: 비, 맑음 또는 강설), 외부 온도, 외부 기상 조건 예측 및 외부 온도 예측과 같은 속성을 포함할 수 있다. 내부 환경 하위-상태는 내부 온도 및 내부 영역 온도와 같은 속성을 포함할 수 있다. 장치 하위-상태는 HVAC 상태(예: 에어컨 켜기, 에어컨 끄기, 난방 등), 윈도우(창) 상태, 잠금 상태, 트럭 상태, 도어 상태, 선루프 상태, 열선 시트 상태, 열선 스티어링 휠 상태 및 조명 상태와 같은 속성을 포함할 수 있다. 검증 엔진은 차량, 클라이언트 장치에 의해 생성되거나 데이터 제공자로부터 검색된 센서 데이터를 사용하여 차량 상태를 결정할 수 있다. 일부 구현들에서, 하나의 위치에서 실행되는 검증 엔진은 차량 상태를 결정하고, 차량 상태를 제2 검증 엔진으로 전송할 수 있다. 예를 들어, 차량에서 실행된 검증 엔진은 차량 상태의 전부 또는 일부를 결정한 다음 원격 데이터 처리 시스템에서 실행된 검증 엔진으로 차량 상태를 전송할 수 있다.
방법(300)은 요청 상태를 결정하는 단계를 포함할 수 있다(블록 310). 요청 상태는 복수의 속성을 포함할 수 있다. 요청 상태의 속성은 액션 데이터 구조와 연관된 액션이 완료되기 전에 이행 또는 충족되어야 하는 하나 이상의 조건을 나타낼 수 있다. 속성(및 요청 상태)은 액션 데이터 구조의 컴포넌트이거나 그로부터 파생될 수 있다. 예를 들어, 선루프 오픈(개방) 요청에 대한 액션 데이터 구조는 선루프가 개방되어야 하는 외부 환경 조건을 나타내는 필드를 포함할 수 있다. 검증(유효성 검증) 엔진은 외부 환경 조건을 요청 상태의 속성에 통합할 수 있다. 요청 상태는 사용자 속성을 포함할 수 있다. 사용자 속성은 인증 상태 또는 사용자와 연관된 클라이언트 장치의 위치를 포함할 수 있다. 위치는 차량 내의 위치 또는 지리적 위치일 수 있다(예를 들어, 클라이언트 장치는 사용자의 사무실에 위치함).
검증 엔진은 서브-가청 톤을 사용하여 차량과 사용자 위치를 결정할 수 있다. 예를 들어, 검증 엔진은 차량 내의 하나 이상의 스피커가 서브-가청 톤을 생성하게 할 수 있다. 검증 엔진은 차량에서 클라이언트 장치의 상대 위치를 결정하여, 서브-가청 톤이 스피커에서 재생되는 시점과 클라이언트 장치가 서브-가청 톤을 검출한 시점 사이의 지연시간(delay)을 결정한다. 차량에서의 사용자(및 클라이언트 장치)의 상대 위치는 차량의 시트(좌석)에 배치된 무게 또는 동체감지 센서 판독 값에 기초하여 결정될 수 있다.
방법(300)은 액션 데이터 구조를 전송할 수 있다(블록 312). 액션 데이터 구조는 액션 데이터 구조와 관련된 기능을 실행하도록 구성된 이행 인터페이스로 전송될 수 있다. 일부 구현들에서, 액션 데이터 구조는 요청 상태의 하나 이상의 속성이 차량 상태의 하나 이상의 속성과 일치하는 경우에만 이행 인터페이스로 전송된다. 예를 들어, 검증 엔진은 기능을 수행하기 위한 요구 사항을 나타낼 수 있는 요청 상태의 속성을 차량 상태의 속성과 비교할 수 있다. 예를 들어, 선루프 열기 요청에는 외부 환경 속성 요구 사항({external environment: [sunny, overcast, cloudy]})이 있을 수 있다. 차량 상태는 다른 속성들 중에서도 {external environmen rain(외부 환경 비)}를 포함할 수 있다. 이 예에서, 검증 엔진은 요청 상태 속성이 차량 상태 속성의 요소가 아니며 그리고 선루프가 차량의 위치에 비가 와서 열리지 않아야 한다고 결정할 수 있다. 검증 엔진은, 검증 엔진이 요청 상태 속성과 차량 상태 속성이 일치하지 않는다고 결정할 때 액션 데이터 구조를 수정할 수 있다. 예를 들어, 검증 엔진은 비가 와서 선루프가 열리지 않아야 한다는 결정에 응답하여 차량의 HVAC를 켜도록 액션 데이터 구조를 수정할 수 있다. 검증 엔진은 사용자가 액션 데이터 구조가 수정되기를 원하는지를 묻는 프롬프트를 생성할 수 있다. 예를 들어, 데이터 처리 시스템은 "비가 내리기 때문에 선루프를 열지 않았습니다. 대신 AC를 켜시겠습니까?"라는 프롬프트가 표시될 수 있다.
검증 엔진은 요청 상태 속성과 차량 상태 속성이 일치하지 않음을 결정할 수 있다. 데이터 처리 시스템은 사용자에게 요청이 완료되지 않았다는 통지(알림)를 생성할 수 있다. 통지(알림)에는 요청이 완료되지 않은 이유가 포함될 수 있다. 일부 구현들에서, 검증 엔진이 일치(매칭)를 찾지 못하면, 검증 엔진은 액션 데이터 구조를 폐기하고, 액션 데이터 구조를 이행 인터페이스에 전송하지 않는다.
예를 들어, 검증 엔진이 요청 상태 속성과 차량 상태 속성이 일치(매칭)한다고 결정하면, 검증 엔진은 액션 데이터 구조와 관련된 기능을 실행하기 위해 액션 데이터 구조를 이행 인터페이스에 전송할 수 있다. 예를 들어, 선루프를 개방하기 위해, 액션 데이터 구조는 차량의 헤드 유닛으로 전송될 수 있으며, 선루프의 위치를 제어하는 모터를 제어하기 위한 애플리케이션을 실행할 수 있다. 일부 구현들에서, 데이터 처리 시스템은 기능이 완료되었다는 확인을 전송할 수 있다. 예를 들어, 선루프가 열렸음을 나타내기 위해 텍스트(문자) 기반 또는 오디오 기반 출력 신호가 클라이언트 장치로 전송될 수 있다.
도 4는 예시적인 컴퓨터 시스템(400)의 블록도이다. 컴퓨터 시스템 또는 컴퓨팅 장치(400)는 시스템(100) 또는 데이터 처리 시스템(102)과 같은 그 컴포넌트를 포함하거나 구현하기 위해 사용될 수 있다. 컴퓨팅 시스템(400)은 정보를 전달하기 위한 버스(405) 또는 다른 통신 컴포넌트, 및 정보를 처리하기 위해 버스(405)에 연결된 프로세서(410) 또는 처리 회로를 포함한다. 컴퓨팅 시스템(400)은 또한 정보를 처리하기 위해 버스에 연결된 하나 이상의 프로세서(410) 또는 처리 회로를 포함할 수 있다. 컴퓨팅 시스템(400)은 또한 정보를 저장하기 위해 버스(405)에 연결된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치와 같은 메인 메모리(415) 및 프로세서(410)에 의해 실행될 명령(멍령어)을 포함한다. 메인 메모리(415)는 데이터 저장소(118)이거나 이를 포함할 수 있다. 메인 메모리(415)는 또한 프로세서(410)에 의한 명령의 실행 동안 위치 정보, 임시 변수 또는 다른 중간(intermediate) 정보를 저장하기 위해 사용될 수 있다. 컴퓨팅 시스템(400)은 프로세서(410)에 대한 정적 정보 및 명령을 저장하기 위해 버스(405)에 연결된 ROM(420) 또는 다른 정적 저장 장치를 더 포함할 수 있다. 솔리드 스테이트 장치, 자기 디스크 또는 광 디스크와 같은 저장 장치(425)는 정보 및 명령을 지속적으로 저장하기 위해 버스(405)에 결합될 수 있다. 저장 장치(425)는 데이터 저장소(118)를 포함하거나 그 일부일 수 있다.
컴퓨팅 시스템(400)은 버스(405)를 통해 사용자에게 정보를 디스플레이하기 위해 액정 디스플레이 또는 액티브 매트릭스 디스플레이와 같은 디스플레이(435)에 연결될 수 있다. 정보 및 명령 선택을 프로세서(410)에 전달하기 위해 영숫자 및 다른 키를 포함하는 키보드와 같은 입력 장치(430)가 버스(405)에 연결될 수 있다. 입력 장치(430)는 터치 스크린 디스플레이(435)를 포함할 수 있다. 입력 장치(430)는 또한 방향 정보 및 명령 선택을 프로세서(410)에 전달하고 디스플레이(435)상의 커서 이동을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키와 같은 커서 제어를 포함할 수 있다. 디스플레이(435)는 데이터 처리 시스템(102), 클라이언트 컴퓨팅 장치(128) 또는 도 1의 다른 컴포넌트의 일부일 수 있다.
본 명세서에 기술된 프로세스, 시스템 및 방법은 프로세서(410)가 메인 메모리(415)에 포함된 명령의 배열을 실행하는 것에 응답하여 컴퓨팅 시스템(400)에 의해 구현될 수 있다. 이러한 명령은 저장 장치(425)와 같은 다른 컴퓨터 판독 가능 매체로부터 메인 메모리(415)로 판독될 수 있다. 메인 메모리(415)에 포함된 명령의 배열의 실행은 컴퓨팅 시스템(400)이 본 명세서에 설명된 예시적인 프로세스를 수행하게 한다. 멀티 프로세싱 배열에서 하나 이상의 프로세서가 또한 메인 메모리(415)에 포함된 명령을 실행하기 위해 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법과 함께 소프트웨어 명령 대신에 또는 하드웨어 명령과 함께 하드 와이어드 회로가 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
예시적인 컴퓨팅 시스템이 도 4에 설명되었지만, 본 명세서에서 설명된 동작들을 포함하는 요지는 다른 유형의 디지털 전자 회로, 또는 본 명세서에 개시된 구조 및 이들의 구조적 등가물 또는 이들 중 하나 이상의 조합을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다.
본 명세서에서 설명된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황들에서, 사용자들은 개인 정보 (예를 들어, 사용자의 소셜 네트워크에 관한 정보, 소셜 행동들 또는 활동들, 사용자의 선호도들 또는 사용자의 위치)를 수집할 수 있는 프로그램들 또는 구성들을 제어하거나, 콘텐츠 서버 또는 다른 데이터 프로세싱 시스템으로부터 사용자에게 보다 관련 있는 콘텐츠를 수신할지 또는 어떻게 수신할지를 제어할 기회를 제공받을 수 있다. 또한, 소정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식들로 익명화될 수 있어, 파라미터들을 생성할 때 개인 식별 정보는 제거된다. 예를 들어, 사용자의 신원이 익명화되어 사용자에 대해 개인 식별 정보가 결정될 수 없거나, 또는 사용자의 지리적 위치가 위치 정보가 획득된 곳(도시, 우편 번호 또는 주 레벨과 같은)으로 일반화될 수 있어, 사용자의 특정한 위치가 결정되지 못할 수 있다. 따라서, 사용자는 사용자에 관한 정보가 콘텐츠 서버에 의해 어떻게 수집되고 사용되는지를 제어할 수 있다.
본 명세서에서 설명된 요지 및 동작은 본 명세서 및 그 구조적 균등물에 개시된 구조 또는 이들 중 하나 이상의 조합을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 본 명세서에서 설명된 요지는 하나 이상의 컴퓨터 프로그램, 예컨대 데이터 처리 장치에 의한 실행 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈로서 구현될 수 있다. 프로그램 명령어는 인공적으로 생성된 전파된 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위한 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하기 위해 생성된 기계 - 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 포함될 수 있다. 컴퓨터 저장 매체가 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령어의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 개별 물리적 컴포넌트 또는 매체 (예를 들어, 복수의 CD, 디스크 또는 다른 저장 장치)일 수 있거나 포함될 수 있다. 본 명세서에서 설명된 동작은 하나 이상의 컴퓨터 판독 가능 저장 장치에 저장된 데이터 또는 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
용어들 "데이터 처리(프로세싱) 시스템", "컴퓨팅 장치(디바이스)", "모듈", "엔진", "컴포넌트" 또는 "컴퓨팅 장치"는 예를 들어, 프로그램 가능한 프로세서, 컴퓨터, 칩 상의 시스템, 또는 다수의 것들, 또는 이들의 조합들을 포함하는, 데이터를 프로세싱하기 위한 다양한 장치들, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 상기 장치는, 하드웨어 이외에, 해당 컴퓨터 프로그램을 위한 실행 환경을 제작하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경, 가상 기계, 또는 그들 중 하나 이상의 조합을 구성하는 코드를 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 기반구조들과 같은, 다양한 상이한 컴퓨팅 모델 기반구조들을 실현할 수 있다. 콘텐츠 요청 모듈(130), 콘텐츠 렌더링 모듈(135) 또는 렌더링된 콘텐츠 전달 모듈(140)은 하나 이상의 데이터 처리 장치, 시스템, 컴퓨팅 장치 또는 프로세서를 포함하거나 공유할 수 있다. 시스템(100)의 컴포넌트는 하나 이상의 데이터 처리 장치, 시스템, 컴퓨팅 장치 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 스크립트, 또는 코드로 또한 알려짐)은 컴파일된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램을 또는 모듈, 컴포넌트, 서브루틴, 객체, 또는 컴퓨팅 환경에서의 사용을 위해 적합한 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수도 있지만 그렇지 않을 수도 있다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터 (예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들), 해당 프로그램 전용의 단일 파일, 또는 다수의 조정된 파일들 (예를 들어, 하나 이상의 모듈들, 서브 프로그램들, 또는 코드의 일부들을 저장하는 파일들)을 보유하는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 자리(site)에 위치되거나 또는 복수의 자리들에 분산되고 그리고 통신 네트워크에 의해 상호연결된 복수의 컴퓨터들 상에도 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작시키고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들 (예를 들어, 데이터 처리 시스템(110)의 컴포넌트들)을 실행하는 하나 이상의 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어, FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)에 의해 또한 수행될 수 있으며, 장치들 또한 특수 목적 논리회로에 의해 구현될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 장치는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
본 명세서에 기술된 발명은 컴퓨팅 시스템 내에서 구현될 수 있으며, 상기 컴퓨팅 시스템은 백 엔드 컴포넌트(예를 들어 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예를 들어 애플리케이션 서버)를 포함하거나 프론트 엔드 컴포넌트(예를 들어 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에 기술된 발명의 구현과 인터랙팅할 수 있는 웹 브라우저)를 포함하거나 또는 하나 이상의 그러한 백 엔드, 미들웨어, 프론트 엔드 컴포넌트들의 조합을 포함할 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신 예를 들어, 통신 네트워크, 의 임의의 형태 또는 매체에 의해 상호연결 될 수 있다. 통신 네트워크들의 예시들은 근거리 통신망( "LAN") 및 광역 통신망("WAN"), 인터-네트워크 (예를 들어, 인터넷) 및 피어-투-피어 네트워크들 (예를 들어, 애드 혹 피어-투-피어 네트워크들)을 포함할 수 있다.
시스템(100) 또는 시스템(400)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크(예를 들어, 네트워크(142))를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 구현들에서, 서버는 (예를 들어, 클라이언트 장치와 상호 작용하는 사용자에게 데이터를 표시하고 사용자로부터 사용자 입력을 수신하기 위해) 데이터(예를 들어, 콘텐츠 아이템을 나타내는 데이터 패킷)를 클라이언트 장치로 전송한다. 클라이언트 장치에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버의 클라이언트 장치로부터 수신될 수 있다(예를 들어, 클라이언트 컴퓨팅 장치(128) 또는 차량(140)로부터 데이터 처리 시스템(102)에 의해 수신됨).
동작들이 도면들에 특정한 순서로 도시되어 있지만, 이러한 동작들은 도시된 특정한 순서 또는 순차적 순서로 수행될 필요는 없으며, 도시된 모든 동작들이 수행될 필요는 없다. 본 명세서에 기술된 액션들은 다른 순서로 수행될 수 있다.
다양한 시스템 컴포넌트의 분리는 모든 구현에서 분리를 필요로 하지 않으며, 기술된 프로그램 컴포넌트는 단일 하드웨어 또는 소프트웨어 제품에 포함될 수 있다. 예를 들어, NLP 컴포넌트(106) 및 검증 엔진(116)은 단일 컴포넌트, 앱 또는 프로그램, 또는 하나 이상의 처리 회로를 갖는 논리 장치, 또는 데이터 처리 시스템(102)의 하나 이상의 서버의 일부일 수 있다.
일부 예시적인 구현예들을 기술하였지만, 상기 기술들은 예시적이며 제한적인 것은 아니며, 예시로써 제시되었다. 특히, 비록 본 명세서에 제시된 많은 예시들이 방법 행동들 또는 시스템 요소들의 특정 조합들을 포함하지만, 그러한 행동들 및 요소들은 동일한 목적들을 달성하기 위해 다른 방식들로 결합될 수 있다. 하나의 구현과 관련하여 설명된 행동들, 요소들 및 구성들은 다른 구현예들 또는 구현예들의 유사한 역할로부터 배제되도록 의도되지 않는다.
본 명세서에 사용된 어구 및 전문용어는 기술의 목적을 위한 것이며 제한적인 것으로 간주되어서는 안된다. 본 명세서의 “포함하는(including)”“포함하는(comprising)”“가지는”“내포하는”“포함하는(involving)”“특징으로 하는(characterized by)”“특징으로 하는(characterized in that)” 및 그 변형들의 사용은, 이후에 배타적으로 열거된 항목들로 구성된 대체 구현예들 뿐만 아니라 이후에 열거된 항목들, 그 등가물, 및 추가 항목들을 포함하는 것을 의미한다. 하나의 구현예에서, 본 명세서에 기술된 시스템들 및 방법들은 기술된 컴포넌트들, 요소들 또는 행동들 중 하나 이상, 또는 모두의 각각의 조합으로 구성된다.
단수로 지칭된 본 명세서의 시스템들 및 방법들의 구현예들 또는 요소들 또는 행동들에 대한 임의의 참조들은 복수의 이들 요소들을 포함하는 구현예들을 포함할 수 있으며, 임의의 구현예 또는 요소 또는 행동에 대한 임의의 복수의 참조들은 또한 단일 요소만을 포함하는 구현예들을 포함할 수 있다. 단수 또는 복수 형태의 참조들은 현재 게시된 시스템들 또는 방법들, 그들의 컴포넌트들, 행동들 또는 요소들을 단일 또는 복수 구성들로 제한하도록 의도된 것이 아니다. 정보, 행동 또는 요소에 기초하고 있는 임의의 행동 또는 요소에 대한 참조들은 행동 또는 요소가 임의의 정보, 행동 또는 요소에 적어도 부분적으로 기초한 구현예들을 포함할 수 있다.
본 명세서에 게시된 임의의 구현예는 임의의 다른 구현예 또는 실시예와 결합될 수 있고, "구현예", "일부 구현예들", "하나의 구현예"를 지칭하며, 그와 같은 것들은 반드시 상호 배타적인 것은 아니며 구현예와 관련하여 기술된 특정한 구성, 구조 또는 특성은 적어도 하나의 구현예 또는 실시예에 포함될 수 있음을 표시하도록 의도되었다. 본 명세서에 사용된 이러한 용어들은 반드시 모두 동일한 구현예를 지칭하는 것은 아니다. 임의의 구현은 본 명세서에 게시된 양태들 및 구현예들과 일치하는 임의의 방식으로 다른 구현예와 포괄적으로 또는 배타적으로 결합될 수 있다.
"또는" 에 대한 참조들은 포괄적인 것으로 해석될 수 있어, "또는"을 사용하여 기술된 임의의 용어들은 기술된 용어들 중 임의의 단일, 하나 이상, 및 모두를 표시할 수 있다. " 'A' 및 'Β'중 하나 이상"에 대한 언급은 'A' 및 'Β'뿐만 아니라 'A '만, 'Β'만을 포함할 수 있다. "포함하는" 또는 다른 공개 용어와 함께 사용되는 이러한 참조는 추가 항목을 포함할 수 있다.
도면들, 상세한 설명 또는 임의의 청구항의 기법적 구성들이 참조 부호들 뒤에 있는 경우, 도면들, 상세한 설명 및 청구항들의 명료성을 높이기 위해 상기 참조 부호들이 포함되었다. 따라서, 참조 부호들 또는 그것들 부재는 임의의 청구항 요소들의 범위에 대해 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템들 및 방법들은 그 특성들로부터 벗어남 없이 다른 특정 형태들로 구현될 수 있다. 전술한 구현예들은 기술된 시스템들 및 방법들의 제한보다는 예시적인 것이다. 따라서, 본 명세서에 설명된 시스템 및 방법의 범위는 전술한 설명보다는 첨부된 청구 범위에 의해 표시되며, 청구 범위의 의미 및 범위 내에서의 변경이 본 명세서에 포함된다.

Claims (20)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    복수의 영역을 포함하는 차량에 위치한 사용자로부터 사용자 입력을 수신하는 단계;
    상기 사용자 입력을 프로세싱하는 것에 기초하여, 차량 기능을 수행하기 위한 요청을 식별하는 단계;
    상기 차량 기능을 수행하기 위한 상기 요청에 기초하여, 상기 차량 기능을 수행하기 위한 상기 요청과 연관된 액션을 포함하는 액션 데이터 구조를 생성하는 단계;
    상기 차량의 복수의 영역 중 상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 단계;
    상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역에 기초하여, 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있는지 여부를 결정하는 단계;
    상기 사용자 입력을 제공한 상기 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되게 하는 단계; 그리고
    상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 없다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되는 것을 삼가(refraining)하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역을 결정하는 단계는,
    상기 차량의 제1 스피커 컴포넌트가 제1 서브-가청 톤(sub-audible tone)을 가청적으로 방출하게 하는 단계를 포함하며, 상기 제1 서브-가청 톤이 가청적으로 방출될 때 상기 사용자의 클라이언트 장치로 하여금;
    클라이언트의 마이크로폰 컴포넌트를 통해 제1 서브-가청 톤을 검출하게 하고; 그리고
    상기 클라이언트 장치가 상기 제1 서브-가청 톤을 검출했음을 나타내는 제1 수신 통지를 상기 차량의 헤드 유닛에 전송하게 하며; 그리고
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 제1 수신 통지에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치하는 상기 소정의 영역을 결정하는 단계는,
    상기 차량의 제2 스피커 컴포넌트가 제2 서브-가청 톤을 가청적으로 방출하게 하는 단계를 포함하며, 상기 제2 서브-가청 톤이 가청적으로 방출될 때 상기 사용자의 클라이언트 장치로 하여금:
    클라이언트의 마이크로폰 컴포넌트를 통해 제2 서브-가청 톤을 검출하게 하고; 그리고
    상기 클라이언트 장치가 상기 제2 서브-가청 톤을 검출했음을 나타내는 제2 수신 통지를 상기 차량의 헤드 유닛에 전송하게 하며; 그리고
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 제2 수신 통지에 더 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제3항에 있어서, 상기 제1 서브-가청 톤은 제1 시간에 가청적으로 방출되고, 상기 제2 서브-가청 톤은 제2 시간에 가청적으로 방출되고, 상기 제2 시간은 상기 제1 시간과는 상이한 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제1항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역을 결정하는 단계는,
    상기 차량의 하나 이상의 동체감지(occupancy) 센서에 의해 생성된 동체감지 센서 데이터를 획득하는 단계를 포함하며, 그리고
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 동체감지 센서 데이터에 기초하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제1항에 있어서, 상기 차량의 복수의 영역은 적어도: 운전자 영역, 조수석 영역, 및 뒷자리 승객 영역을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제6항에 있어서, 상기 사용자는 상기 소정의 영역이 상기 운전자 영역에 대응할 때 상기 차량 기능의 수행을 야기할 권한이 있지만, 상기 소정의 영역이 상기 조수석 영역 또는 상기 뒷자리 승객 영역에 대응할 때 상기 차량 기능의 수행을 야기할 권한이 없는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 제6항에 있어서, 상기 사용자는 상기 소정의 영역이 상기 운전자 영역에 해당할 때 상기 차량 기능의 수행을 야기할 권한이 없지만, 상기 소정의 영역이 상기 조수석 영역 또는 상기 뒷자리 승객 영역에 해당할 때 상기 차량 기능의 수행을 야기할 권한이 있는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 제6항에 있어서, 상기 사용자는 상기 소정의 영역이 상기 운전자 영역 또는 상기 조수석 영역에 해당할 때 상기 차량 기능의 수행을 야기할 수 있는 권한이 있지만, 상기 소정의 영역이 상기 뒷좌석 승객 영역에 해당할 때 상기 차량 기능의 수행을 야기할 권한이 없는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  10. 제1항에 있어서, 상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되게 하는 단계는,
    상기 차량의 헤드 유닛으로 하여금 상기 액션 데이터 구조에 기초하여 상기 차량 기능을 실행하게 하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  11. 제1항에 있어서, 상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되게 하는 단계는,
    상기 사용자의 클라이언트 장치로 하여금 상기 액션 데이터 구조에 기초하여 상기 차량 기능을 실행하게 하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  12. 삭제
  13. 제1항에 있어서, 상기 방법은,
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되는 것을 삼가하도록 하는 결정에 기초하여 대체 액션을 포함하도록 상기 액션 데이터 구조를 수정하는 단계; 그리고
    상기 사용자의 클라이언트 장치 또는 상기 차량의 헤드 유닛을 통해 상기 사용자 입력을 제공한 사용자에게 표시하기 위해 상기 수정된 액션 데이터 구조에 포함된 대체 액션이 제공되도록 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  14. 제1항에 있어서, 상기 방법은,
    상기 액션 데이터 구조를 폐기하는 단계; 그리고
    상기 액션 데이터 구조가 폐기되었다는 표시가, 상기 사용자의 클라이언트 장치 또는 상기 차량의 헤드 유닛을 통해 상기 사용자 입력을 제공한 상기 사용자에게 제시하기 위해 제공되게 하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  15. 시스템으로서,
    적어도 하나의 프로세서; 그리고
    명령어를 저장하는 메모리를 포함하며, 상기 명령어는 실행될 때 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    복수의 영역을 포함하는 차량에 위치한 사용자로부터 사용자 입력을 수신하는 동작;
    상기 사용자 입력을 프로세싱하는 것에 기초하여, 차량 기능을 수행하기 위한 요청을 식별하는 동작;
    상기 차량 기능을 수행하기 위한 상기 요청에 기초하여, 상기 차량 기능을 수행하기 위한 상기 요청과 연관된 액션을 포함하는 액션 데이터 구조를 생성하는 동작;
    상기 차량의 복수의 영역 중 상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 동작;
    상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역에 기초하여, 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있는지 여부를 결정하는 동작;
    상기 사용자 입력을 제공한 상기 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되게 하는 동작; 그리고
    상기 사용자 입력을 제공한 상기 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 없다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되는 것을 삼가(refraining)하는 동작을 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역을 결정하는 동작은,
    상기 차량의 제1 스피커 컴포넌트가 제1 서브-가청 톤(sub-audible tone)을 가청적으로 방출하게 하는 동작을 포함하며, 상기 제1 서브-가청 톤이 가청적으로 방출될 때 상기 사용자의 클라이언트 장치로 하여금;
    클라이언트의 마이크로폰 컴포넌트를 통해 상기 제1 서브-가청 톤을 검출하게 하고; 그리고
    상기 클라이언트 장치가 상기 제1 서브-가청 톤을 검출했음을 나타내는 제1 수신 통지를 상기 차량의 헤드 유닛에 전송하게 하며; 그리고
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 제1 수신 통지에 기초하는 것을 특징으로 하는 시스템.
  17. 제16항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치하는 상기 소정의 영역을 결정하는 동작은,
    상기 차량의 제2 스피커 컴포넌트가 제2 서브-가청 톤을 가청적으로 방출하게 하는 동작을 포함하며, 상기 제2 서브-가청 톤이 가청적으로 방출될 때 상기 사용자의 클라이언트 장치로 하여금:
    클라이언트의 마이크로폰 컴포넌트를 통해 제2 서브-가청 톤을 검출하게 하고; 그리고
    상기 클라이언트 장치가 상기 제2 서브-가청 톤을 검출했음을 나타내는 제2 수신 통지를 상기 차량의 헤드 유닛에 전송하게 하며; 그리고
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 제2 수신 통지에 더 기초하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 제1 서브-가청 톤은 제1 시간에 가청적으로 방출되고, 상기 제2 서브-가청 톤은 제2 시간에 가청적으로 방출되고, 상기 제2 시간은 상기 제1 시간과는 상이한 것을 특징으로 하는 시스템.
  19. 제16항에 있어서, 상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역을 결정하는 동작은,
    상기 차량의 하나 이상의 동체감지(occupancy) 센서에 의해 생성된 동체감지 센서 데이터를 획득하는 동작을 더 포함하며,
    상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 것은 상기 동체감지 센서 데이터에 더 기초하는 것을 특징으로 하는 시스템.
  20. 실행될 때 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하는 명령어를 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 동작들은:
    복수의 영역을 포함하는 차량에 위치한 사용자로부터 사용자 입력을 수신하는 동작;
    상기 사용자 입력을 프로세싱하는 것에 기초하여, 차량 기능을 수행하기 위한 요청을 식별하는 동작;
    상기 차량 기능을 수행하기 위한 상기 요청에 기초하여, 상기 차량 기능을 수행하기 위한 상기 요청과 연관된 액션을 포함하는 액션 데이터 구조를 생성하는 동작;
    상기 차량의 복수의 영역 중 상기 사용자 입력을 제공한 사용자가 위치하는 소정의 영역을 결정하는 동작;
    상기 사용자 입력을 제공한 사용자가 위치한 소정의 영역에 기초하여, 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있는지 여부를 결정하는 동작;
    상기 사용자 입력을 제공한 상기 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 있다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되게 하는 동작; 그리고
    상기 사용자 입력을 제공한 상기 사용자가 위치한 소정의 영역에 기초하여 상기 사용자가 상기 차량 기능의 수행을 야기할 권한이 없다고 결정하는 것에 응답하여:
    상기 액션 데이터 구조에 기초하여 상기 차량 기능이 실행되는 것을 삼가(refraining)하는 동작을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020227014836A 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어 KR102557861B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2017/054847 WO2019070231A1 (en) 2017-10-03 2017-10-03 VEHICLE FUNCTION CONTROL WITH VALIDATION BASED ON A SENSOR
KR1020207030003A KR102395747B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207030003A Division KR102395747B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어

Publications (2)

Publication Number Publication Date
KR20220062142A KR20220062142A (ko) 2022-05-13
KR102557861B1 true KR102557861B1 (ko) 2023-07-21

Family

ID=60190927

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227014836A KR102557861B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어
KR1020197038984A KR102170201B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어
KR1020207030003A KR102395747B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020197038984A KR102170201B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어
KR1020207030003A KR102395747B1 (ko) 2017-10-03 2017-10-03 센서 기반 검증을 통한 차량 기능 제어

Country Status (6)

Country Link
US (3) US10783889B2 (ko)
EP (3) EP4303059A3 (ko)
JP (3) JP6995887B2 (ko)
KR (3) KR102557861B1 (ko)
CN (2) CN113335299A (ko)
WO (1) WO2019070231A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557861B1 (ko) 2017-10-03 2023-07-21 구글 엘엘씨 센서 기반 검증을 통한 차량 기능 제어
US11069351B1 (en) * 2018-12-11 2021-07-20 Amazon Technologies, Inc. Vehicle voice user interface
CN112435660A (zh) * 2019-08-08 2021-03-02 上海博泰悦臻电子设备制造有限公司 车辆控制方法、系统及车辆
CN210744017U (zh) * 2019-10-21 2020-06-12 宁德时代新能源科技股份有限公司 线束隔离板组件、电池模块、电池组及装置
CN115697768A (zh) * 2020-05-27 2023-02-03 金泰克斯公司 瞬间捕捉系统
CN112667290A (zh) * 2020-12-31 2021-04-16 北京梧桐车联科技有限责任公司 指令管理方法、装置、设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017087950A (ja) * 2015-11-09 2017-05-25 三菱自動車工業株式会社 車両用音声操作装置

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19704857C2 (de) * 1997-02-10 1999-12-16 Bosch Gmbh Robert Bedienvorrichtung in einem Kraftfahrzeug
US6420975B1 (en) * 1999-08-25 2002-07-16 Donnelly Corporation Interior rearview mirror sound processing system
US6782240B1 (en) * 2000-04-27 2004-08-24 Joseph A Tabe Megatel communication information system
US6230138B1 (en) * 2000-06-28 2001-05-08 Visteon Global Technologies, Inc. Method and apparatus for controlling multiple speech engines in an in-vehicle speech recognition system
DE10216901A1 (de) * 2002-04-17 2003-11-06 Bayerische Motoren Werke Ag Schutzeinrichtung an einem Fahrzeug mit einem verstellbaren Fahrzeugteil
JP4063645B2 (ja) * 2002-11-28 2008-03-19 株式会社東海理化電機製作所 車両駆動制御装置
GB0425113D0 (en) * 2004-11-13 2004-12-15 Ibm A method of determining access rights to IT resources
EP1681670A1 (en) * 2005-01-14 2006-07-19 Dialog Semiconductor GmbH Voice activation
US7603228B2 (en) 2006-05-25 2009-10-13 Ford Global Technologies, Llc Haptic apparatus and coaching method for improving vehicle fuel economy
US20080201148A1 (en) * 2007-02-15 2008-08-21 Adacel, Inc. System and method for generating and using an array of dynamic grammar
JP2009046082A (ja) 2007-08-22 2009-03-05 Denso Corp 車両用操作装置及び車両用操作プログラム
US20090055180A1 (en) * 2007-08-23 2009-02-26 Coon Bradley S System and method for optimizing speech recognition in a vehicle
WO2009073806A2 (en) * 2007-12-05 2009-06-11 Johnson Controls Technology Company Vehicle user interface systems and methods
US20090265103A1 (en) * 2008-04-16 2009-10-22 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Vehicle Navigation System with Internet Based Information Search Feature
CN101323305A (zh) 2008-05-14 2008-12-17 奇瑞汽车股份有限公司 车载语音识别控制系统及其控制方法
US20110246026A1 (en) * 2010-04-02 2011-10-06 Gary Stephen Shuster Vehicle console control system
WO2012116110A1 (en) * 2011-02-22 2012-08-30 Speak With Me, Inc. Hybridized client-server speech recognition
DE102011013491A1 (de) * 2011-03-10 2012-04-12 Daimler Ag Warnvorrichtung zum Ausgeben einer Regenwarnung und deren Verwendung in einem Fahrzeug
US20130096771A1 (en) * 2011-10-12 2013-04-18 Continental Automotive Systems, Inc. Apparatus and method for control of presentation of media to users of a vehicle
US20130117021A1 (en) * 2011-11-03 2013-05-09 Gm Global Technolog Operations Llc Message and vehicle interface integration system and method
US9418674B2 (en) * 2012-01-17 2016-08-16 GM Global Technology Operations LLC Method and system for using vehicle sound information to enhance audio prompting
US20130297387A1 (en) * 2012-05-01 2013-11-07 Joseph Michael Systems and methods for monitoring, managing, and facilitating communications and/or transactions relating to transportation infrastructure utilization
WO2014024751A1 (ja) 2012-08-10 2014-02-13 エイディシーテクノロジー株式会社 音声応答装置
US9679562B2 (en) * 2012-09-06 2017-06-13 GM Global Technology Operations LLC Managing in vehicle speech interfaces to computer-based cloud services due recognized speech, based on context
DE102012219924A1 (de) * 2012-10-31 2014-04-30 Bayerische Motoren Werke Aktiengesellschaft Fahrzeugassistenzvorrichtung
JP6029985B2 (ja) 2013-01-11 2016-11-24 クラリオン株式会社 情報処理装置、操作システム、および、情報処理装置の操作方法
US10247854B2 (en) 2013-05-07 2019-04-02 Waymo Llc Methods and systems for detecting weather conditions using vehicle onboard sensors
US9443507B2 (en) * 2013-07-15 2016-09-13 GM Global Technology Operations LLC System and method for controlling a speech recognition system
TW201531729A (zh) * 2013-11-07 2015-08-16 Driving Man Systems Inc 駕駛端位置偵測
KR101546709B1 (ko) * 2013-11-25 2015-08-24 현대자동차주식회사 음성 인식 장치, 그를 가지는 차량 및 그 방법
US9364178B2 (en) 2013-11-26 2016-06-14 Elwha Llc Robotic vehicle control
EP2892200B1 (en) 2014-01-06 2021-11-03 Argus Cyber Security Ltd Bus watchman
US9550578B2 (en) 2014-02-04 2017-01-24 Honeywell International Inc. Systems and methods for utilizing voice commands onboard an aircraft
JP6340829B2 (ja) 2014-02-27 2018-06-13 株式会社デンソー 車両用操作提案装置
CN105292130B (zh) * 2014-07-21 2018-01-19 广州汽车集团股份有限公司 置入语音标准数据、语音控制车辆启动的方法及系统
US9547306B2 (en) * 2014-09-30 2017-01-17 Speak Loud SPA State and context dependent voice based interface for an unmanned vehicle or robot
JP6432948B2 (ja) 2014-09-30 2018-12-05 エイディシーテクノロジー株式会社 自動運転制御装置
KR101677648B1 (ko) * 2014-12-22 2016-11-18 엘지전자 주식회사 차량 제어 장치 및 그 제어 방법
JP2016149105A (ja) * 2015-02-14 2016-08-18 篤史 峠 車両内人感知システム
US9530414B2 (en) * 2015-04-14 2016-12-27 GM Global Technology Operations LLC Speech recognition using a database and dynamic gate commands
JP6447468B2 (ja) 2015-11-17 2019-01-09 株式会社デンソー 運転支援装置
US20170221480A1 (en) * 2016-01-29 2017-08-03 GM Global Technology Operations LLC Speech recognition systems and methods for automated driving
US10908045B2 (en) * 2016-02-23 2021-02-02 Deka Products Limited Partnership Mobility device
US10088846B2 (en) * 2016-03-03 2018-10-02 GM Global Technology Operations LLC System and method for intended passenger detection
US10657745B2 (en) * 2016-04-19 2020-05-19 Be Topnotch Llc Autonomous car decision override
US10606952B2 (en) * 2016-06-24 2020-03-31 Elemental Cognition Llc Architecture and processes for computer learning and understanding
KR102557861B1 (ko) 2017-10-03 2023-07-21 구글 엘엘씨 센서 기반 검증을 통한 차량 기능 제어

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017087950A (ja) * 2015-11-09 2017-05-25 三菱自動車工業株式会社 車両用音声操作装置

Also Published As

Publication number Publication date
KR20200005751A (ko) 2020-01-16
JP7337901B2 (ja) 2023-09-04
CN110914129B (zh) 2021-06-15
KR102170201B1 (ko) 2020-10-27
JP2023164437A (ja) 2023-11-10
US20200411005A1 (en) 2020-12-31
WO2019070231A1 (en) 2019-04-11
US10783889B2 (en) 2020-09-22
JP2022044590A (ja) 2022-03-17
CN113335299A (zh) 2021-09-03
KR20200122422A (ko) 2020-10-27
KR20220062142A (ko) 2022-05-13
EP4303059A3 (en) 2024-03-13
KR102395747B1 (ko) 2022-05-09
US20200051567A1 (en) 2020-02-13
EP3868623A3 (en) 2021-09-08
US11651770B2 (en) 2023-05-16
EP3868623B1 (en) 2024-01-03
EP4303059A2 (en) 2024-01-10
JP6995887B2 (ja) 2022-01-17
JP2020528997A (ja) 2020-10-01
EP3700794A1 (en) 2020-09-02
EP3700794B1 (en) 2021-03-31
CN110914129A (zh) 2020-03-24
US20230237997A1 (en) 2023-07-27
EP3868623A2 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
KR102557861B1 (ko) 센서 기반 검증을 통한 차량 기능 제어
US11646029B2 (en) Multiple digital assistant coordination in vehicular environments
US20200089487A1 (en) Update courier for vehicular computing devices
KR20200091895A (ko) 네트워크 시스템의 분산 식별
US11823663B2 (en) Audio processing in a low-bandwidth networked system

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant