WO2021150096A1 - 사용자의 위치를 결정하는 시스템 및 방법 - Google Patents

사용자의 위치를 결정하는 시스템 및 방법 Download PDF

Info

Publication number
WO2021150096A1
WO2021150096A1 PCT/KR2021/095027 KR2021095027W WO2021150096A1 WO 2021150096 A1 WO2021150096 A1 WO 2021150096A1 KR 2021095027 W KR2021095027 W KR 2021095027W WO 2021150096 A1 WO2021150096 A1 WO 2021150096A1
Authority
WO
WIPO (PCT)
Prior art keywords
devices
user
location
determining
voice
Prior art date
Application number
PCT/KR2021/095027
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 삼성전자 주식회사
Publication of WO2021150096A1 publication Critical patent/WO2021150096A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/11Positioning of individual sound objects, e.g. moving airplane, within a sound field

Definitions

  • Methods using computer vision use algorithms to recognize people in video frames. And, for example, the user's location may be estimated by stereoscopy or an artificial intelligence algorithm.
  • FIG. 12 is a flowchart of a method of determining a location of a user, according to various embodiments.
  • the storage unit 140 may store a program for processing and control of the control unit 110 , and may store data input to or output from the device 100 .
  • the storage unit 140 is a flash memory type (flash memory type), a hard disk type (hard disk type), a multimedia card micro type (multimedia card micro type), card type memory (for example, SD or XD memory, etc.), RAM (Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include at least one type of storage medium among a disk and an optical disk.
  • the device location determiner 310 may update the spatial map using ultrasound.
  • the synchronizer 320 may search for a section matching the ultrasonic signal in the sensed audio signal.
  • the synchronization unit 320 may determine the start time of the searched section as the synchronization timestamp.
  • the voice detector 330 may calculate the size of the audio signal of the searched section.
  • the voice detector 330 may acquire an audio sample of a portion in which the calculated size exceeds a predetermined threshold.
  • FIG. 4 is a flowchart of a method of determining a location of a user by a plurality of devices for sensing an audio signal, according to various embodiments of the present disclosure; The operations shown in FIG. 4 may be performed by the plurality of devices 100 , 200 , 201 , 202 constituting the system shown in FIG. 1 or the device 100 shown in FIG. 2 or the controller 110 of the device. can
  • a plurality of devices 100 , 200 , 201 , and 202 may be connected to the network 300 .
  • the plurality of devices 100 , 200 , 201 , and 202 may transmit/receive device information between the devices through the network 300 .
  • operation S650 may be omitted or may be executed in parallel with operations S610 to S640.
  • the microphone 120 of the first device may detect the ultrasound signal 910 .
  • the first device 100 may obtain a timestamp t 0 c indicating a time at which the ultrasound signal 910 is received.
  • the timestamp t 0 c may be measured in the time domain of the first device.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 시스템 및 방법에 대한 것이다. 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법은, 상기 복수의 디바이스들의 위치를 결정하는 단계; 상기 복수의 디바이스들을 상기 복수의 디바이스들 중 하나의 마스터 디바이스(master device)에 동기화하기 위한 동기화 정보를 획득하는 단계; 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계; 및 상기 마스터 디바이스에서 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계;를 포함한다.

Description

사용자의 위치를 결정하는 시스템 및 방법
본 개시는 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 시스템 및 방법에 대한 것이며, 보다 상세하게는, 복수의 디바이스들의 위치를 결정하고, 감지된 오디오 신호에서 검출된 사용자의 음성 신호에 기초하여 사용자의 위치를 결정하는 시스템 및 방법에 관한 것이다.
로봇, 스마트 가전 및 사물인터넷(IoT) 환경과 같은 다양한 영역에서, 사용자의 위치를 결정하기 위한 방법들이 사용되고 있다. 이러한 방법들은 사용자가 추가적인 디바이스를 소지할 것을 요구하는 소위 태그 기반 (tag-based) 기술과, 추가적인 디바이스를 필요로 하지 않는 소위 태그프리(tag-free) 기술로 분류될 수 있다.
태그 기반 기술들은 알려진 위치에 고정된 일련의 세트의 디바이스들을 위치 측정의 기준점으로서 사용하며, 이들은 흔히 앵커(anchor)라고 지칭된다. 사용자는 하나의 디바이스(태그)를 착용 또는 소지하고, 앵커들은 태그까지의 거리를 측정한다. 태그 기반 기술들과 관련하여, 자기장, 무선 주파수(RF), 또는 초음파의 전파를 이용하는 방법들이 사용되고 있다.
태그프리 기술들은 기술적인 구현 방법에 따라 다음과 같이 더 분류될 수 있다: RF를 사용하는 방법, 초음파를 사용하는 방법, 컴퓨터 비전 (computer vision)을 사용하는 방법.
RF를 사용하는 방법은, 예를 들어, 초광대역(ultra wideband, UWB) 신호를 사용할 수 있다. UWB 신호는 상대적으로 시간적 위치를 파악하기 쉽다는 장점이 있어 위치 측정 방법에 이용될 수 있다. 또한 신체는 UWB 신호를 반사하므로, 특수한 UWB 시스템은 태그 없이 작동할 수 있다. 다른 예로서, 사용자가 전송기와 수신기 세트 사이에서 전파를 회절시키는 방법이 있으며, 수신기로부터의 정보에 기초한 시스템은 사용자 위치를 추정할 수 있다.
초음파를 사용하는 방법은, 대부분 신체에 반사되는 초음파 신호를 감지하는 것에 기초한다. 일 실시예에 따르면, 일련의 세트의 초음파 수신기가 실내에 배치된다. 먼저 고정된 객체와 장애물들이 배경 노이즈로 처리되어 수신된 신호로부터 제외된다. 그런 다음 사용자가 실내에 들어오면, 수신된 신호의 왜곡이 감지되고, 송수신기간의 동기화로 인해 사용자의 위치가 추정될 수 있다.
컴퓨터 비전을 사용하는 방법은, 비디오 프레임에서 사람을 인식하는 알고리즘을 사용한다. 그리고, 예를 들면, 스테레오스코피 또는 인공지능 알고리즘에 의하여, 사용자 위치를 추정할 수 있다.
상술한 방법들의 대부분은 특수한 장치를 필요로 한다. 예를 들어, 태그 기반 기술은 사용자가 태그를 휴대해야만 한다는 불편이 있다. 앵커들 역시 미리 공간 내에 배치되어 있어야 한다. 상기 앵커들이 위치 기준점으로 작용하기 위해서는 고정된 위치에 설치되고, 동기화 후에 위치가 변경되어서는 안 된다는 문제점이 있다.
한편 디바이스들 간 동기화 방법도 문제된다. 먼저 정확한 위치 지정을 위해서는 여러 장치 간의 시스템 클럭이 정밀하게 동기화되어야 한다. 이는 시스템의 복잡성을 높이고, 장치 간 더 빈번한 동기화를 요구한다. 또한 오디오 신호를 사용하는 방법에서는, 오디오 버퍼의 타임스탬프가 시스템 클럭의 타임스탬프와 동기화되어야 한다. 많은 오디오 라이브러리에서 오디오 콜백은 언제든지 호출될 수 있으므로, 오디오 시간을 시스템 시간에 매핑하지 못할 수 있다.
따라서, 상기한 문제점들을 해결하면서 사용자의 위치를 정확도 높게 파악할 수 있는 기술이 요구되고 있다.
본 발명이 해결하고자 하는 기술적 과제는, 실내 또는 그 밖의 공간에서 사용자의 위치를 결정하는 개선된 방법 및 시스템을 제공하는 데 있다.
또한 본 개시의 다양한 실시예는, 시스템 클럭을 동기화하지 않고도, 오디오 동기화를 수행하고 신호의 도달 지연 시간을 정밀도 높게 계산하는 방법 및 시스템을 제공할 수 있다.
또한 본 개시의 다양한 실시예는, 특수한 하드웨어 구성을 필수적으로 포함하지 않는, 스피커 및 마이크로폰을 구비한 복수의 디바이스를 통하여 사용자의 위치를 결정하는 방법 및 시스템을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법으로서, 상기 복수의 디바이스들의 위치를 결정하는 단계; 상기 복수의 디바이스들을 상기 복수의 디바이스들 중 하나의 마스터 디바이스(master device)에 동기화하기 위한 동기화 정보를 획득하는 단계, 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계, 상기 마스터 디바이스에서 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계를 포함하는, 사용자의 위치를 결정하는 방법을 제안할 수 있다.
본 개시의 제2 측면은, 오디오 신호를 감지하는 복수의 디바이스에 의하여 사용자의 위치를 결정하기 위한 시스템에 있어서, 상기 복수의 디바이스들은 하나의 마스터 디바이스(master device)를 포함하고, 상기 복수의 디바이스 각각은, 오디오 신호를 발신하도록 설정되는 스피커; 오디오 신호를 감지하도록 설정되는 마이크로폰; 상기 복수의 디바이스들과 통신하도록 설정되는 통신부; 및 상기 스피커, 상기 마이크로폰 및 상기 통신부와 기능적으로 결합되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 복수의 디바이스들의 위치를 결정하고, 상기 복수의 디바이스들을 상기 마스터 디바이스에 동기화하기 위한 동기화 정보를 획득하도록 설정되고, 상기 마스터 디바이스에 포함되는 상기 적어도 하나의 프로세서는, 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성을 검출하고, 상기 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하도록 더 설정되는, 사용자의 위치를 결정하기 위한 시스템을 제공할 수 있다.
본 개시의 제3 측면은, 오디오 신호를 감지하는 디바이스에 의해 사용자의 위치를 결정하는 방법으로서, 상기 디바이스 및 복수의 외부 디바이스들의 위치를 결정하는 단계; 상기 복수의 외부 디바이스들을 상기 디바이스에 동기화하기 위한 동기화 정보를 획득하는 단계; 상기 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계; 상기 복수의 외부 디바이스들로부터, 상기 복수의 외부 디바이스에서 감지한 상기 사용자의 음성 신호에 관한 정보를 수신하는 단계; 상기 검출된 음성 신호, 상기 수신된 정보, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계; 를 포함하는, 사용자의 위치를 결정하는 방법을 제안할 수 있다.
본 개시의 제4 측면은, 사용자의 위치를 결정하기 위한 디바이스에 있어서, 상기 디바이스는, 오디오 신호를 발신하도록 설정되는 스피커; 오디오 신호를 감지하도록 설정되는 마이크로폰; 오디오 신호를 감지하는 복수의 외부 디바이스들과 통신하도록 설정되는 통신부; 및 상기 스피커, 상기 마이크로폰 및 상기 통신부와 기능적으로 결합되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 디바이스 및 상기 복수의 외부 디바이스들의 위치를 결정하고, 상기 복수의 외부 디바이스들을 상기 디바이스에 동기화하기 위한 동기화 정보를 획득하고, 상기 마이크로폰으로부터 감지된 오디오에서 사용자의 음성을 검출하도록 설정되고, 상기 복수의 외부 디바이스들로부터, 상기 복수의 외부 디바이스에서 감지한 상기 사용자의 음성에 관한 정보를 수신하고, 상기 검출된 음성, 상기 수신된 정보, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하도록 설정되는,디바이스를 제공할 수 있다.
도 1은 다양한 실시예들에 따른, 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 시스템의 개요도이다.
도 2는 다양한 실시예들에 따른, 사용자의 위치를 결정하기 위한 복수의 디바이스들의 구성을 설명하는 블록도이다.
도 3은 다양한 실시예들에 따른, 사용자의 위치를 결정하기 위한 디바이스의 제어부의 구성을 나타낸 블록도이다.
도 4은 다양한 실시예들에 따른, 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법의 흐름도이다.
도 5는 다양한 실시예들에 따른, 복수의 디바이스들의 위치를 결정하는 방법의 흐름도이다.
도 6은 다양한 실시예들에 따른, 디바이스의 위치를 갱신하는 방법의 흐름도이다.
도 7은 공간 맵에 위치 좌표를 매핑하는 일 실시예를 나타내는 도면이다.
도 8는 다양한 실시예들에 따른, 복수의 디바이스들을 동기화하는 방법의 흐름도이다.
도 9는 다양한 실시예들에 따른, 복수의 디바이스들을 동기화하는 동작을 설명하는 도면이다.
도 10은 다양한 실시예들에 따른, 사용자의 음성 신호를 검출하는 방법의 흐름도이다.
도 11는 일 실시예에 따른, 사용자의 음성 신호를 검출하는 동작을 설명하기 위한 도면이다.
도 12는 다양한 실시예들에 따른, 사용자의 위치를 결정하는 방법의 흐름도이다.
도 13는 일 실시예에 따른, 사용자의 위치를 결정하는 동작을 설명하기 위한 도면이다.
도 14은 다양한 실시예들에 따른, 사용자의 위치 좌표를 획득하는 방법의 흐름도이다.
도 15는 본 개시의 사용자 위치 결정 방법이 사용되는 일 실시예를 나타내는 도면이다.
도 16은 본 개시의 사용자 위치 결정 방법이 사용되는 다른 실시예를 나타내는 도면이다.
도 17은 본 개시의 사용자 위치 결정 방법이 사용되는 다른 실시예를 나타내는 도면이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제 1," "제 2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communi-catively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어(hardware)적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(central processing unit) 또는 AP(application processor))를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 디바이스는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 디바이스는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control pan-el), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 디바이스는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS, global navigation satellite system), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 디바이스는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에서 디바이스는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 디바이스는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 디바이스는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 디바이스를 포함할 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 다양한 실시예들에 따른, 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 시스템의 개요도이다.
도 1을 참조하면, 상기 사용자의 위치를 결정하는 시스템은 복수의 디바이스들(100, 200, 201, 202)을 포함할 수 있다. 예시적으로 4개의 디바이스들만이 도시되어 있으나, 상기 시스템에 포함될 수 있는 디바이스들의 개수는 제한되지 않는다.
상기 복수의 디바이스들(100, 200, 201, 202)은 특정 공간 내에 위치한, 오디오 신호를 감지하여 사용자의 위치를 결정하기 위한 디바이스일 수 있다. 상기 특정 공간은, 예를 들어, 집, 사무실, 상점, 공장, 창고, 공사 현장 등, 로봇 장치의 기능 실행을 통한 관리가 필요한 공간일 수 있다. 상기 특정 공간은, 벽, 천장, 및 바닥 등으로 제한되는 실내일 수 있으나, 이에 한정되지 않는다. 상기 공간은 고정된 벽, 천장, 및 바닥 등의 고정 물체, 이동식 벽, 가구, 전자 기기, 사람, 동물, 및 로봇 장치 등의 유동 물체들을 포함하는 객체들을 포함할 수 있다.
복수의 디바이스들(100, 200, 201, 202)은 오디오 신호를 발신 및 감지할 수 있고, 네트워크를 통하여 데이터를 송수신할 수 있는 모든 종류의 기기를 포함할 수 있다. 복수의 디바이스들은 다양한 종류의 디바이스들을 포함할 수 있다. 예를 들어, 제1 디바이스(100)는 스마트폰, 제2 디바이스(200)는 이동 로봇, 제3 디바이스(201) 및 제4 디바이스(202)는 오디오 장치일 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202) 중 일부는 특정 위치에 고정된 것이거나 드물게 움직이는 것일 수 있다. 예를 들어, 복수의 디바이스들 중 일부는 벽, 천장, 또는 바닥과 같은 고정 물체에 설치되어 있는 장치일 수 있다. 다른 예를 들어, 복수의 디바이스들 중 일부는 이동성이 없는 장치이거나 또는 이동성이 없는 가구 등에 설치된 장치일 수 있다. 다양한 실시예들에서, 복수의 디바이스들 (100, 200, 201, 202) 중 일부는 빈번하게 움직이는 것일 수 있다. 예를 들어, 복수의 디바이스들 중 일부는 사용자에 의하여 소지되는 것일 수 있다. 다른 예를 들어, 복수의 디바이스들 중 일부는 이동성이 있는, 즉 스스로 움직일 수 있는 장치(예: 이동 로봇 등)일 수 있다.
다양한 실시예들에서, 상기 사용자의 위치를 결정하는 시스템에 포함되는 복수의 디바이스들의 구성은 시간에 따라 변경될 수 있다. 일 실시예에서, 복수의 디바이스들 중 일부는 상기 사용자의 위치를 결정하는 시스템의 일부로서 미리 설정되어 상기 공간 내에 배치된 것일 수 있다. 다른 실시예에서, 복수의 디바이스들 중 일부는 상기 시스템에 추가되거나 또는 상기 시스템에서 제외될 수 있다. 예를 들어, 상기 공간 내에 조건을 만족하는 새로운 디바이스가 진입하는 경우, 상기 새로운 디바이스는 상기 시스템에 추가될 수 있다. 예를 들어, 상기 시스템에 포함되어 있던 디바이스가 상기 공간을 벗어나는 경우, 상기 디바이스는 상기 시스템에서 제외될 수 있다. 이러한 구성 변경은 자동 또는 수동으로 이루어질 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 복수의 디바이스들의 위치들을 결정할 수 있다. 일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여, 디바이스들 상호간의 거리를 측정할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 상기 측정된 거리에 기초하여, 복수의 디바이스들의 위치 좌표들(105, 205, 206, 207)을 획득할 수 있다. 상기 위치 좌표들은 디바이스들 간의 상대적인 위치 또는 상기 공간에 대한 절대 위치를 나타낼 수 있다.
일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득할 수 있다. 일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 디바이스의 움직임을 감지하여, 움직인 디바이스의 위치를 업데이트할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 복수의 디바이스들을 복수의 디바이스들 중 하나의 마스터 디바이스(100)에 동기화하기 위한 동기화 정보를 획득할 수 있다. 마스터 디바이스(100)는 상기 복수의 디바이스들(100, 200, 201, 202) 중, 적어도 음성을 검출하는 기능을 구비한 것일 수 있다. 일 실시예에서, 마스터 디바이스(100)는 미리 정해진 것일 수 있다. 다른 실시예에서, 마스터 디바이스(100)는 상기 복수의 디바이스들 중에서 필요에 따라 임의로 선택될 수 있다.
일 실시예에서, 마스터 디바이스(100)는 동기화를 위한 초음파 신호를 발신할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 상기 동기화를 위한 초음파 신호를 수신하고, 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 동기화 타임스탬프들을 획득할 수 있다. 마스터 디바이스(100)는 상기 동기화 타임스탬프들에 기초하여 동기화 정보를 획득할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202) 중 적어도 마스터 디바이스(100)를 포함하는 일부는 사용자의 음성을 포함하는 오디오 신호를 감지할 수 있다. 마스터 디바이스(100)는 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출할 수 있다.
다양한 실시예들에서, 마스터 디바이스(100)는, 마스터 디바이스(100)에서 검출된 음성 신호, 복수의 디바이스들(100, 200, 201, 202)에서 감지된 오디오 신호, 복수의 디바이스들의 위치, 및 동기화 정보에 기초하여, 사용자의 위치(208)를 결정할 수 있다. 상기 사용자의 위치는 디바이스들의 위치에 상대적인 위치 또는 상기 공간 내에서의 절대 위치일 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202) 중 적어도 일부는 상기 사용자의 위치를 이용하여 기능을 수행할 수 있다. 일 실시예에서, 디바이스는 상기 디바이스들의 위치 및 상기 사용자의 위치를 디스플레이에 표시할 수 있다. 일 실시예에서, 디바이스는 상기 사용자의 위치를 상기 복수의 디바이스들에 포함되지 않은 외부 디바이스로 전송할 수 있다. 일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 사용자의 위치에 기초하여 복수의 디바이스들 중 어느 디바이스가 기능을 실행하거나 제어되어야 할 지 결정할 수 있다. 일 실시예에서, 상기 복수의 디바이스들 중 이동 가능한 디바이스(예: 이동 로봇(200))는 상기 결정된 복수의 디바이스들의 위치 및 상기 결정된 사용자의 위치를 이용하여 이동 경로를 결정할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 네트워크에 의해 서로 연결되어 있을 수 있다. 다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 네트워크를 통하여 디바이스들 상호간에 디바이스 정보, 동기화 정보, 오디오 샘플, 및 타임스탬프 등의 데이터를 송수신할 수 있다.
도 1에 도시된 각각의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것으로서, 적어도 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구성될 수 있다. 또한, 도 1에 도시된 각각의 구성 요소들은 기능적으로 연결되어 상술한 동작들을 수행하는 하나 이상의 물리적으로 분리된 장치들의 집합일 수 있다.
도 2는 다양한 실시예들에 따른, 사용자의 위치를 결정하기 위한 복수의 디바이스들의 구성을 설명하는 블록도이다. 도 2에 도시된 제1 디바이스(100) 및 제2 디바이스(200)는 각각 도 1에 도시된 복수의 디바이스들(100, 200, 201, 202) 중 하나에 대응될 수 있다. 제2 디바이스(200)는 제1 디바이스(100)와 동일하거나 또는 다른 종류의 장치일 수 있다. 예시적으로 도 2에 두 개의 디바이스들만이 도시되었으나, 사용자 위치를 결정하기 위한 시스템에 포함될 수 있는 디바이스들의 개수는 제한되지 않는다.
도 2를 참조하면, 사용자의 위치를 결정하기 위한 제1 디바이스(100)는 각각 제어부(110), 마이크로폰(120), 스피커(130), 저장부(140) 및 통신부(150)를 포함할 수 있다. 그러나, 도 2에 도시된 구성 요소 모두가 제1 디바이스(100)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 제1 디바이스(100)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 제1 디바이스(100)가 구현될 수도 있다.
제어부(110)는 통상적으로 제1 디바이스(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(110)는, 저장부(140)에 저장된 프로그램들을 실행함으로써, 마이크로폰(120), 스피커(130), 저장부(140) 및 통신부(150) 등을 전반적으로 제어할 수 있다. 제어부(110)는, 마이크로폰(120), 스피커(130), 저장부(140) 및 통신부(150) 등을 제어함으로써, 본 개시에서의 제1 디바이스(100)의 동작을 제어할 수 있다.
구체적으로, 제어부(110)는, 사용자 위치 결정 시스템을 구성하는 복수의 디바이스들의 위치들을 결정할 수 있다.
일 실시예에서, 제어부(110)는, 통신부(150)를 통하여, 네트워크(300)에 연결된 다른 디바이스들을 확인 및 식별할 수 있다. 제어부(110)는, 통신부(150)를 통하여, 상기 네트워크에 연결된 제2 디바이스(200)에 디바이스 정보를 전송하고, 제2 디바이스(200)로부터 디바이스 정보를 수신할 수 있다.
일 실시예에서, 제어부(110)는, 마이크로폰(120) 및 스피커(130)를 통하여, 초음파를 이용하여 제2 디바이스(200)와의 거리를 측정할 수 있다. 제어부(110)는 상기 측정된 거리에 기초하여, 복수의 디바이스들의 위치 좌표들을 획득할 수 있다.
일 실시예에서, 제어부(110)는, 마이크로폰(120) 및 스피커(130)를 통하여, 초음파를 이용하여 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득할 수 있다. 제어부(110)는 상기 획득된 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑할 수 있다.
일 실시예에서, 제어부(110)는, 디바이스에 포함된 센서들(미도시) 또는 통신부(150)를 통하여, 디바이스의 움직임을 감지할 수 있다. 제어부(110)는, 디바이스의 움직임을 감지한 것에 반응하여, 움직인 디바이스의 위치 좌표 및 공간 맵 중 적어도 하나를 업데이트할 수 있다.
제어부(110)는, 복수의 디바이스들을 복수의 디바이스들 중 하나의 마스터 디바이스에 동기화하기 위한 동기화 정보를 획득할 수 있다.
일 실시예에서, 제1 디바이스(100)가 마스터 디바이스인 경우, 제어부(110)는, 스피커(130)를 통하여, 동기화를 위한 초음파 신호를 발신할 수 있다. 제어부(110)는, 마이크로폰(120)을 통하여, 상기 동기화를 위한 초음파 신호를 수신할 수 있다. 제어부(110)는, 복수의 디바이스들(100, 200)에서 상기 초음파 신호를 수신한 시각을 나타내는 동기화 타임스탬프들을 획득할 수 있다. 제어부(110)는 각 디바이스에서 획득한 동기화 타임스탬프들에 기초하여 동기화 정보를 획득할 수 있다.
마스터 디바이스의 제어부(110)는, 마이크로폰(120)을 통하여 감지된 오디오 신호에서 사용자의 음성 신호를 검출할 수 있다.
제어부(110)는, 마스터 디바이스에서 검출된 음성 신호, 복수의 디바이스들(100, 200)에서 감지된 오디오 신호, 복수의 디바이스들(100, 200)의 위치, 및 동기화 정보에 기초하여, 사용자의 위치를 결정할 수 있다.
일 실시예에서, 제어부(110)는, 저장부(140) 또는 통신부(150)를 통하여, 마스터 디바이스에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득할 수 있다. 제어부(110)는 마이크로폰(120)을 통해 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 제1 디바이스(100)에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프를 획득할 수 있다. 제어부(110)는, 통신부(150)를 통하여, 제2 디바이스(200)에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 수신할 수 있다. 제어부(110)는, 상기 음성 타임스탬프들, 복수의 디바이스들의 위치, 및 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득할 수 있다.
마이크로폰(120)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(120)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(120)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
다양한 실시예들에서, 마이크로폰(120)은, 적어도 초음파 대역 및 가청 대역을 포함하는 오디오 신호를 감지하도록 설정될 수 있다. 예를 들어, 마이크로폰(120)은, 제1 디바이스(100) 또는 제2 디바이스(200)에서 발신한, 초음파 신호를 수신할 수 있다. 마이크로폰(120)은 사용자의 음성을 포함하는 오디오 신호를 수신할 수 있다.
스피커(130)는 통신부(150)로부터 수신되거나 저장부(140)에 저장된 오디오 데이터를 출력할 수 있다. 다양한 실시예들에서, 스피커(130)는, 적어도 초음파 대역의 오디오 신호를 출력하도록 설정될 수 있다.
저장부(140)는, 제어부(110)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(100)로 입력되거나 디바이스(100)로부터 출력되는 데이터를 저장할 수 있다. 저장부(140)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예들에서, 저장부(140)는 마이크로폰(120)으로 감지되는 오디오 신호를 실시간으로 기록할 수 있다. 다양한 실시예들에서, 저장부(140)는 디바이스 정보, 위치 정보, 동기화 정보, 및 사용자 음성 정보 등을 저장할 수 있다. 상기 디바이스 정보는 디바이스의 식별 번호, 방향, 가속도, 형태, 또는 디바이스에 포함된 마이크 또는 스피커의 위치 중 적어도 하나를 포함할 수 있다. 상기 위치 정보는 거리 측정을 위한 초음파 신호에 관한 정보, 디바이스의 위치 좌표, 및 공간 맵 중 적어도 하나를 포함할 수 있다. 상기 동기화 정보는 동기화를 위한 초음파 신호에 관한 정보 및 동기화 타임스탬프 중 적어도 하나를 포함할 수 있다. 상기 사용자 음성 정보는 검출된 사용자 음성의 적어도 일부를 포함하는 오디오 샘플 및 음성 타임스탬프 중 적어도 하나를 포함할 수 있다.
통신부(150)는, 사용자의 위치를 결정하기 위한 시스템에 포함된 다른 디바이스들과 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(150)는, 근거리 통신부, 이동 통신부, 및 방송 수신부를 포함할 수 있다.
통신부(150)는 네트워크(300)를 통하여 제2 디바이스(200)와 데이터를 주고받을 수 있다. 통신부(150)는 제2 디바이스(200)에 상기 디바이스 정보, 상기 위치 정보, 상기 동기화 정보, 및 상기 사용자 음성 정보를 전송하거나, 제2 디바이스(200)로부터 상기 디바이스 정보, 상기 위치 정보, 상기 동기화 정보, 및 상기 사용자 음성 정보를 수신할 수 있다.
네트워크(300)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함할 수 있다. 네트워크(300)는 도 2에 도시된 각 디바이스가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다.
무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 3은 다양한 실시예들에 따른, 사용자의 위치를 결정하기 위한 디바이스의 제어부의 구성을 나타낸 블록도이다. 도 3에 도시된 제어부(110)는 도 2에 도시된 제어부(110)에 대응될 수 있다.
도 3을 참조하면, 제어부(110)는 디바이스 위치 결정부(310), 동기화부(320), 음성 검출부(330) 및 사용자 위치 결정부(340)를 포함할 수 있다. 이 중 음성 검출부(330)는 사용자 위치 결정 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 중 적어도 하나의 디바이스에는 포함되나, 그 밖의 디바이스에는 포함되지 않을 수 있다. 음성 검출부(330)를 포함하는 상기 적어도 하나의 디바이스는 마스터 디바이스(100)일 수 있다.
디바이스 위치 결정부(310)는 사용자 위치 결정 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202)의 위치들을 결정할 수 있다. 일 실시예에서, 상기 결정된 위치들은 디바이스들의 상대적인 위치를 나타낼 수 있다. 다른 실시예에서, 상기 결정된 위치들은 고정된 좌표계에 대한 디바이스들의 절대 위치를 나타낼 수 있다.
다양한 실시예들에서, 디바이스 위치 결정부(310)는 네트워크에 연결된 다른 디바이스들을 확인 및 식별할 수 있다. 디바이스 위치 결정부(310)는 상기 네트워크를 통하여 다른 디바이스에 디바이스 정보를 전송하고, 다른 디바이스로부터 디바이스 정보를 수신할 수 있다.
다양한 실시예들에서, 디바이스 위치 결정부(310)는 초음파를 이용하여, 다른 디바이스와의 거리를 측정하고, 상기 측정된 거리에 기초하여, 복수의 디바이스들의 위치 좌표들을 획득할 수 있다. 디바이스 위치 결정부(310)는 거리 측정을 위한 초음파 신호를 발신 및 수신할 수 있다.
일 실시예에서, 디바이스 위치 결정부(310)는 초음파의 반사를 이용하여 디바이스들 간의 거리를 측정할 수 있다. 일 실시예에서, 디바이스 위치 결정부(310)는 초음파 신호의 도달 시간(Time of Arrival, ToA)에 기초하여 디바이스들 간의 거리를 측정할 수 있다. 일 실시예에서, 디바이스 위치 결정부(310)는 다른 디바이스와의 거리를 양방향 초음파 거리 측정 방법으로 측정할 수 있다.
다양한 실시예들에서, 디바이스 위치 결정부(310)는 초음파를 이용하여, 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득할 수 있다. 디바이스 위치 결정부(310)는 상기 획득된 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑할 수 있다.
다양한 실시예들에서, 디바이스 위치 결정부(310)는 디바이스의 움직임을 감지할 수 있다. 일 실시예에서, 디바이스의 움직임 정보는 움직인 디바이스에 포함된 센서들에 의하여 감지되어 디바이스 위치 결정부(310)로 전달될 수 있다. 상기 움직인 디바이스의 디바이스 위치 결정부(310)는 네트워크(300)를 통하여 상기 감지한 움직임 정보를 다른 디바이스로 전송할 수 있다.
다양한 실시예들에서, 디바이스의 움직임을 감지한 것에 반응하여, 디바이스 위치 결정부(310)는 초음파를 이용하여 상기 움직인 디바이스와 다른 디바이스들 간의 거리를 측정할 수 있다. 디바이스 위치 결정부(310)는 측정된 거리에 기초하여 상기 움직인 디바이스의 위치 좌표를 업데이트할 수 있다.
다양한 실시예들에서, 디바이스의 움직임을 감지한 것에 반응하여, 디바이스 위치 결정부(310)는 초음파를 이용하여 공간 맵을 업데이트할 수 있다.
동기화부(320)는, 복수의 디바이스들을 복수의 디바이스들 중 하나의 마스터 디바이스에 동기화하기 위한 동기화 정보를 획득할 수 있다.
다양한 실시예들에서, 상기 마스터 디바이스의 동기화부(320)는 동기화를 위한 초음파 신호를 발신할 수 있다. 동기화부(320)는, 상기 동기화를 위한 초음파 신호를 수신하고, 상기 초음파 신호를 수신한 시각을 나타내는 동기화 타임스탬프를 획득할 수 있다. 동기화부(320)는 각 디바이스에서 획득한 동기화 타임스탬프들에 기초하여 동기화 정보를 획득할 수 있다.
일 실시예에서, 동기화부(320)는 감지된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간을 탐색할 수 있다. 동기화부(320)는 상기 탐색된 구간의 시작 시점을 상기 동기화 타임스탬프로 결정할 수 있다.
음성 검출부(330)는 마이크로폰(120)을 통해 감지된 오디오 신호에서 사용자의 음성 신호를 검출할 수 있다.
다양한 실시예들에서, 음성 검출부(330)는 상기 감지된 오디오 신호에서 음성 신호가 포함된 구간을 탐색할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 음성 검출 알고리즘을 수행하여 상기 오디오 신호에서 음성 신호가 포함된 구간을 식별할 수 있다.
일 실시예에서, 음성 검출부(330)는 상기 오디오 신호에서 사용자의 음성을 인식할 수 있다. 일 실시예에서, 음성 검출부(330)는 상기 음성 신호로부터 사용자를 식별할 수 있다.
다양한 실시예들에서, 음성 검출부(330)는 상기 탐색된 구간의 오디오 신호의 크기를 계산할 수 있다. 음성 검출부(330)는 상기 계산된 크기가 소정의 문턱값을 초과하는 부분의 오디오 샘플을 획득할 수 있다.
사용자 위치 결정부(340)는, 마스터 디바이스(100)의 음성 검출부(330)에서 검출된 음성 신호, 복수의 디바이스들(100, 200, 201, 202)의 마이크로폰(120)을 통해 감지된 오디오 신호, 디바이스 위치 결정부(310)에서 결정된 복수의 디바이스들의 위치, 및 동기화부(320)에서 획득된 동기화 정보에 기초하여, 사용자의 위치를 결정할 수 있다.
다양한 실시예들에서, 사용자 위치 결정부(340)는 마스터 디바이스(100)의 음성 검출부(330)에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득할 수 있다. 사용자 위치 결정부(340)는 마이크로폰(120)을 통해 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 디바이스에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프를 획득할 수 있다. 사용자 위치 결정부(340)는 다른 디바이스들로부터, 다른 디바이스에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 수신할 수 있다. 사용자 위치 결정부(340)는 상기 음성 타임스탬프들, 복수의 디바이스들의 위치, 및 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득할 수 있다.
일 실시예에서, 사용자 위치 결정부(340)는 상기 음성 타임스탬프, 복수의 디바이스들의 위치 및 동기화 정보에 기초하여 각 디바이스에 사용자의 음성 신호가 도달하는데 걸린 시간의 차이인 도달 시간 차이(Time Difference of Arrival, TDoA)를 계산하고, 상기 TDoA에 기초하여 상기 사용자의 위치 좌표를 획득할 수 있다. 이 경우 사용자의 위치는, 두 디바이스들의 위치를 양 초점으로 하는 쌍곡선들의 교차점으로 결정될 수 있다.
도 4은 다양한 실시예들에 따른, 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법의 흐름도이다. 도 4에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다.
도 4를 참조하면, 동작 S410에서, 사용자 위치 결정 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202)은 상기 복수의 디바이스들의 위치들을 결정할 수 있다. 일 실시예에서, 상기 결정된 위치들은 디바이스들의 상대적인 위치를 나타낼 수 있다. 다른 실시예에서, 상기 결정된 위치들은 고정된 좌표계에 대한 디바이스들의 절대 위치를 나타낼 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 네트워크(300)에 연결될 수 있다. 다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 네트워크(300)를 통하여 디바이스들 상호간에 디바이스 정보를 송수신할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여, 디바이스들 상호간의 거리를 측정할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 상기 측정된 거리에 기초하여, 복수의 디바이스들의 위치 좌표들을 획득할 수 있다.
일 실시예에서, 각 디바이스는 초음파의 반사를 이용하여 디바이스들 간의 거리를 측정할 수 있다. 일 실시예에서, 각 디바이스는 초음파 신호의 도달 시간(Time of Arrival, ToA)에 기초하여 디바이스들 간의 거리를 측정할 수 있다. 일 실시예에서, 각 디바이스는 다른 디바이스와의 거리를 양방향 초음파 거리 측정 방법으로 측정할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여, 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 상기 획득된 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202) 중 적어도 하나는 디바이스의 움직임을 감지할 수 있다. 일 실시예에서, 디바이스의 움직임은 복수의 디바이스들(100, 200, 201, 202) 중 상기 적어도 하나의 디바이스에 포함된 센서들에 의하여 감지될 수 있다. 움직임을 감지한 디바이스는 상기 감지한 움직임에 관한 움직임 정보를 다른 디바이스로 전송할 수 있다.
다양한 실시예들에서, 디바이스의 움직임을 감지한 것에 반응하여, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여 상기 움직인 디바이스와 다른 디바이스들 간의 거리를 측정하고, 측정된 거리에 기초하여 상기 움직인 디바이스의 위치 좌표를 업데이트할 수 있다.
다양한 실시예들에서, 디바이스의 움직임을 감지한 것에 반응하여, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여 공간 맵을 업데이트할 수 있다.
동작 S420에서, 복수의 디바이스들(100, 200, 201, 202)은 복수의 디바이스들을 복수의 디바이스들 중 하나의 마스터 디바이스(100)에 동기화하기 위한 동기화 정보를 획득할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202) 중 하나인 마스터 디바이스(100)는 동기화를 위한 초음파 신호를 발신할 수 있다. 마스터 디바이스(100)는, 상기 동기화를 위한 초음파 신호를 수신하고, 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제1 동기화 타임스탬프를 획득할 수 있다. 상기 마스터 디바이스를 제외한 다른 디바이스들(200, 201, 202)은 각 디바이스에서 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제2 동기화 타임스탬프들을 획득할 수 있다. 마스터 디바이스(100)는 상기 제1 동기화 타임스탬프와 상기 제2 동기화 타임스탬프에 기초하여 동기화 정보를 획득할 수 있다.
일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 감지된 오디오 신호를 기록하고, 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간을 탐색할 수 있다. 상기 제1 동기화 타임스탬프는, 마스터 디바이스(100)에서 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다. 상기 제2 동기화 타임스탬프는, 다른 디바이스들(200, 201, 202)에서 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다.
동작 S430에서, 마스터 디바이스(100)는 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출할 수 있다.
다양한 실시예들에서, 마스터 디바이스(100)는 마스터 디바이스(100)에서 감지된 오디오 신호에서 음성 신호가 포함된 구간을 탐색할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 음성 검출 알고리즘을 수행하여 상기 오디오 신호에서 음성 신호가 포함된 구간을 식별할 수 있다.
일 실시예에서, 마스터 디바이스(100)는 상기 오디오 신호에서 사용자의 음성을 인식할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 상기 음성 신호로부터 사용자를 식별할 수 있다.
다양한 실시예들에서, 마스터 디바이스(100)는 상기 탐색된 구간의 오디오 신호의 크기를 계산할 수 있다. 마스터 디바이스(100)는 상기 계산된 크기가 소정의 문턱값을 초과하는 부분의 오디오 샘플을 획득할 수 있다.
동작 S440에서, 마스터 디바이스(100)는, 마스터 디바이스(100)에서 검출된 음성 신호, 복수의 디바이스들(100, 200, 201, 202)에서 감지된 오디오 신호, 복수의 디바이스들의 위치, 및 동기화 정보에 기초하여, 사용자의 위치를 결정할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 마스터 디바이스(100)에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 디바이스들 각각에서 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 상기 디바이스들에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 획득할 수 있다. 복수의 디바이스들(100, 200, 201, 202)은 상기 음성 타임스탬프들, 디바이스들의 위치, 및 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득할 수 있다.
일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 음성 타임스탬프, 복수의 디바이스들의 위치 및 동기화 정보에 기초하여 각 디바이스에 사용자의 음성 신호가 도달하는데 걸린 시간의 차이인 도달 시간 차이(Time Difference of Arrival, TDoA)를 계산하고, 상기 TDoA에 기초하여 상기 사용자의 위치 좌표를 획득할 수 있다.
도 5는 다양한 실시예들에 따른, 복수의 디바이스들의 위치를 결정하는 방법의 흐름도이다. 도 5에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 5에 도시된 동작들은 도 4의 동작 S410에 대응될 수 있다.
도 5을 참조하면, 동작 S510에서, 복수의 디바이스들(100, 200, 201, 202)은 네트워크(300)에 연결될 수 있다. 동작 S520에서, 복수의 디바이스들(100, 200, 201, 202)은 네트워크(300)를 통하여 디바이스들 상호간에 디바이스 정보를 송수신할 수 있다.
다양한 실시예들에서, 네트워크에 연결된 각 디바이스는 네트워크에 연결된 모든 다른 디바이스들을 확인할 수 있다. 일 실시예에서, 네트워크에 연결된 각 디바이스는 네트워크에 연결된 디바이스들을 식별하기 위한 정보를 획득할 수 있다. 예를 들어, 네트워크에 연결된 각 디바이스에 식별번호(UID)가 부여될 수 있고, 각 디바이스는 네트워크에 연결된 디바이스들의 UID들을 등록할 수 있다.
다양한 실시예들에서, 상기 디바이스 정보는 디바이스의 식별 번호, 방향, 가속도, 형태, 또는 디바이스에 포함된 마이크 또는 스피커의 위치 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 상기 디바이스의 방향은 디바이스에 포함된 방향 센서로부터 획득된 것일 수 있다. 일 실시예에서, 상기 디바이스의 가속도는 디바이스에 포함된 가속도 센서로부터 획득된 것일 수 있다.
다양한 실시예들에서, 기존에 연결되지 않았던 새로운 디바이스가 네트워크에 연결될 경우, 상기 새로운 디바이스는 자신의 디바이스 정보를 네트워크에 연결된 다른 디바이스들로 전송할 수 있다. 예를 들어, 상기 새로운 디바이스는 자신의 식별번호(UID)를 다른 디바이스들로 전송하고, 각 디바이스는 상기 새로운 디바이스의 UID를 추가로 등록할 수 있다. 예를 들어, 상기 새로운 디바이스는 자신의 방향, 가속도, 형태, 또는 포함된 마이크 또는 스피커의 위치 중 적어도 하나를 포함하는 추가적인 디바이스 정보들을 다른 디바이스들로 전송할 수 있다.
동작 S530에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여, 디바이스들 상호간의 거리를 측정할 수 있다.
다양한 실시예들에서, 복수의 디바이스들을 구성하는 각 디바이스 쌍 간의 거리가 측정될 수 있다. N개의 디바이스들로 구성된 사용자 위치 결정 시스템에서, 모든 디바이스 쌍에 대하여 거리를 측정할 경우 N(N-1)/2개의 거리 값이 획득된다. 그러나, 반드시 모든 디바이스 쌍 간의 거리들이 필수적으로 측정되어야 할 필요는 없으며, 디바이스의 총 개수 N에 따라 측정되어야 할 거리의 최소한의 개수가 결정될 수 있다. 일 실시예에서, 각 디바이스는 자신으로부터 소정의 거리 이내에 위치하는 디바이스들과의 거리를 측정할 수 있다. 일 실시예에서, 각 디바이스는 소정의 최소 개수 이상의 디바이스들과의 거리를 측정할 수 있다.
다양한 실시예들에서, 각 디바이스는 초음파의 반사를 이용하여 디바이스들 간의 거리를 측정할 수 있다. 일 실시예에서, 각 디바이스는 거리 측정을 위한 초음파 신호를 발신하고, 발신된 초음파 신호가 다른 디바이스에 반사되어 되돌아온 신호를 수신하고, 상기 수신된 신호를 분석하여 다른 디바이스와의 거리를 측정할 수 있다.
다양한 실시예들에서, 각 디바이스는 초음파 신호의 도달 시간(Time of Arrival, ToA)에 기초하여 디바이스들 간의 거리를 측정할 수 있다. 예를 들어, 복수의 디바이스들 중 하나에서 거리 측정을 위한 초음파 신호를 발신하고, 초음파 신호를 발신한 시각을 획득할 수 있다. 다른 디바이스들에서는 상기 초음파 신호를 수신하고, 초음파 신호가 수신된 시각을 획득할 수 있다. 상기 초음파 신호를 발신한 시각과 상기 초음파 신호를 수신한 시각에 기초하여, 초음파 신호를 발신한 디바이스와 수신한 디바이스 간의 거리를 측정할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 복수의 디바이스들에 포함되는 디바이스 쌍 간의 거리를 양방향 초음파 거리 측정 방법으로 측정할 수 있다. 일 실시예에서, 상기 디바이스 쌍 간의 거리는, 상기 디바이스 쌍 중 어느 한 쪽인 제1 디바이스가 다른 쪽인 제2 디바이스까지의 거리를 초음파를 이용하여 측정한 결과와, 제2 디바이스가 제1 디바이스까지의 거리를 초음파를 이용하여 측정한 결과의 평균으로 계산될 수 있다.
다양한 실시예들에서, 복수의 디바이스들은 각 디바이스에서 측정한 거리를 네트워크를 통하여 다른 디바이스로 전송할 수 있다.
동작 S540에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 측정된 거리에 기초하여, 복수의 디바이스들의 위치 좌표들을 획득할 수 있다.
일 실시예에 따르면, N개의 디바이스들로 구성된 사용자 위치 결정 시스템에서, 3차원 공간에서 디바이스 D i 와 디바이스 D j (0≤i, j≤N)의 좌표는 각각 (x i, y i, z i), (x j, y j, z j)와 같이 나타낼 수 있다. 이 때, 디바이스 D i와 디바이스 D j 간의 거리 R ij는 다음 수학식에 의하여 표현될 수 있다.
R ij 2 = (x i-x j) 2 + (y i-y j) 2 + (z i-z j) 2
즉, 하나의 디바이스 쌍 간의 거리는 6개의 미지수를 포함하는 다항식으로 표현될 수 있다. 2차원으로 디바이스의 좌표를 한정할 경우, 각 다항식마다 4개의 미지수가 포함된다. 또한 N개의 디바이스들에 대하여, 각 디바이스 쌍 간의 거리에 대응되는 최대 N(N-1)/2개의 다항식들이 존재할 수 있다. 상기 다항식들로 구성되는 다항 방정식 시스템은 N이 작은 수(예를 들어, 2 또는 3)일 경우 비결정적(indeterminated)일 수 있고, N이 높은 수인 경우 과도하게 결정적(overdeterminated)일 수 있다. 후자의 경우, 수치적인 근사치를 탐색함으로써 상기 디바이스들의 위치 좌표들을 획득할 수 있다.
일 실시예에서, 상기 복수의 디바이스들 중 하나의 디바이스, 예를 들어 마스터 디바이스가 상기 디바이스들의 위치 좌표들을 계산할 수 있다. 이 경우 다른 디바이스들이 상기 하나의 디바이스로 측정된 거리 정보를 전송하고, 상기 하나의 디바이스가 상기 전송된 거리 정보들에 기초하여 상기 디바이스들의 위치 좌표들을 계산하며, 상기 하나의 디바이스는 상기 계산된 디바이스들의 위치 좌표들을 다른 디바이스들로 전송할 수 있다. 다른 실시예에서, 상기 복수의 디바이스들 각각이 상기 디바이스들의 위치 좌표들을 계산할 수 있다. 이 경우 각 디바이스가 다른 모든 디바이스들로 측정된 거리 정보를 전송하고, 각 디바이스에서 상기 전송된 거리 정보들에 기초하여 상기 디바이스들의 위치 좌표들을 계산할 수 있다.
상기 위치 좌표들은 디바이스들의 상대적인 위치를 나타낼 수 있다. 예를 들어, 상기 위치 좌표들은 마스터 디바이스(100)의 위치에 대한 상대적인 위치를 나타낼 수 있다. 일 실시예에 따르면, 상기 디바이스들의 위치를 고정된 좌표계에서 정의하기 위하여, 추가적인 외부 정보가 이용될 수 있다. 예를 들어, 상기 디바이스들 중 일부의 절대 위치를 나타내는 좌표가 주어질 수 있다. 이러한 절대 좌표는 디바이스의 위치 센서로부터 획득한 값일 수 있다. 다른 예를 들어, 상기 디바이스들의 위치에 대한 기준점이 되는 고정 위치가 주어질 수 있다. 다른 예를 들어, 상기 디바이스들이 위치하는 실제 공간의 공간 맵을 이용하여, 상기 디바이스들의 상대적인 위치를 실제 공간에서의 위치에 매핑할 수 있다.
동작 S550에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파를 이용하여, 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득할 수 있다.
상기 디바이스들이 위치한 공간은, 벽, 천장 및 바닥 등의 장애물로 제한되는 실내일 수 있으나, 이에 한정되지 않는다. 상기 공간 내의 객체는 고정된 벽, 천장, 및 바닥 등의 고정 물체, 이동식 벽, 가구, 전자 기기, 사람, 동물, 및 로봇 장치 등의 유동 물체들을 포함할 수 있다.
다양한 실시예들에서, 디바이스들은 초음파의 반사를 이용하여 공간 내의 객체의 위치들을 측정할 수 있다. 일 실시예에서, 디바이스들은 초음파 신호를 발신하고, 발신된 초음파 신호가 공간 내의 객체들에 반사되어 되돌아온 신호를 수신하고, 상기 수신된 신호를 분석하여 공간 맵을 생성할 수 있다. 예를 들어, 디바이스들은 각 디바이스에서 수신한 반사 신호의 특징들을 비교하여 공간 맵을 생성할 수 있다.
일 실시예에서, 상기 복수의 디바이스 중 하나의 디바이스, 예를 들어 마스터 디바이스가 상기 디바이스들의 공간 맵을 생성할 수 있다. 이 경우 상기 하나의 디바이스는 상기 생성된 공간 맵을 다른 디바이스들로 전송할 수 있다. 다른 실시예에서, 상기 복수의 디바이스들 각각이 상기 공간 맵을 계산할 수 있다.
일 실시예에서, 각 디바이스는 상기 공간 맵 상의 객체들을 식별하거나 또는 분류할 수 있다. 일 실시예에서, 각 디바이스는 상기 공간 맵 내에서 각 디바이스 또는 사용자가 이용 가능한 영역 및 이용 불가능한 영역을 판단할 수 있다.
동작 S560에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 획득된 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑할 수 있다. 일 실시예에서, 상기 디바이스들은 상기 디바이스들의 상대적인 위치 좌표를 상기 공간 맵에 매핑하여 상기 디바이스들의 실제 공간에서의 위치를 획득할 수 있다. 일 실시예에서, 상기 공간 맵 및 상기 공간 맵에 매핑된 디바이스의 위치 좌표들은 디바이스의 디스플레이 상에 표시될 수 있다.
일 실시예에서, 동작 S550 및 동작 S560은 생략되거나, 또는 동작 S510 내지 동작 S540과 병렬적으로 실행될 수 있다.
도 6은 다양한 실시예들에 따른, 디바이스의 위치를 갱신하는 방법의 흐름도이다. 도 6에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 6에 도시된 동작들은 도 4의 동작 S410에 대응될 수 있다.
도 6을 참조하면, 동작 S610에서, 복수의 디바이스들(100, 200, 201, 202) 중 적어도 하나는 디바이스의 움직임을 감지할 수 있다.
다양한 실시예들에서, 상기 적어도 하나의 디바이스는 자신의 방향, 가속도, 또는 위치의 변화를 감지할 수 있다. 예를 들어, 상기 적어도 일부의 디바이스는, 상기 적어도 하나의 디바이스에 포함된 지자기 센서, 자이로스코프 센서, 적외선 센서, 기압 센서, 가속도 센서, 및 위치 센서(예를 들어, GPS) 등의 센서들에 의하여 자신의 움직임을 감지할 수 있다.
동작 S620에서, 디바이스의 움직임을 감지한 것에 반응하여, 움직인 디바이스는 상기 움직인 디바이스의 움직임 정보를 다른 디바이스들로 전송할 수 있다. 일 실시예에서, 상기 움직인 디바이스는 네트워크(300)를 통하여 상기 움직임 정보를 다른 디바이스들로 전송할 수 있다. 일 실시예에서, 상기 움직임 정보는 상기 움직인 디바이스의 방향 정보, 가속도 정보, 또는 위치 정보 중 적어도 하나를 포함할 수 있다.
동작 S630에서, 상기 다른 디바이스에서 상기 움직임 정보를 수신하면, 상기 다른 디바이스들은 초음파를 이용하여 상기 움직인 디바이스와 상기 다른 디바이스들 간의 거리를 측정할 수 있다. 동작 S640에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 측정된 거리에 기초하여, 상기 움직인 디바이스의 위치 좌표를 업데이트할 수 있다. 초음파를 이용하여 디바이스들 간의 거리를 측정하고, 상기 측정된 거리에 기초하여 디바이스의 위치 좌표를 계산하는 방법은 도 5의 동작 S530 및 동작 S540과 관련하여 상술하였으므로, 중복되는 설명은 생략하도록 한다.
다양한 실시예들에서, 디바이스의 움직임을 감지함에 따라, 상기 움직인 디바이스의 위치뿐 아니라 공간 맵 역시 업데이트될 수 있다. 동작 S650에서, 복수의 디바이스들(100, 200, 201, 202)은 초음파 신호를 이용하여 상기 공간 맵을 업데이트할 수 있다. 일 실시예에서, 상기 초음파 신호는 Chirp 신호일 수 있다. Chirp 신호는 시간에 따라 주파수가 증가하거나 또는 감소하는 신호로서, 패턴 매칭이 용이하므로, 신호의 타이밍을 정확하게 획득하기 위하여 사용될 수 있다.
일 실시예에서, 디바이스의 움직임을 감지함에 따라, 상기 움직인 디바이스는 초음파 신호를 발신할 수 있다. 다른 실시예에서, 디바이스의 움직임을 감지함에 따라, 상기 복수의 디바이스들 각각에서 초음파 신호를 발신할 수 있다. 상기 초음파 신호를 발신한 디바이스는 발신된 초음파 신호가 공간 내의 객체들에 반사되어 되돌아온 신호를 수신하고, 상기 수신된 신호를 분석하여 공간 맵을 업데이트할 수 있다. 예를 들어, 상기 초음파 신호를 발신한 디바이스는 기존의 반사 신호의 특징과 새로운 반사 신호의 특징을 비교하여 공간 맵을 업데이트할 수 있다. 상기 디바이스는 상기 업데이트된 공간 맵을 다른 디바이스들로 전송할 수 있다.
일 실시예에서, 동작 S650은 생략되거나, 또는 동작 S610 내지 동작 S640과 병렬적으로 실행될 수 있다.
도 7은 공간 맵에 위치 좌표를 매핑하는 일 실시예를 나타내는 도면이다.
도 7을 참조하면, 복수의 디바이스들의 위치 좌표(710), 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵(720) 및 위치 좌표(710)를 공간 맵(720)에 매핑한 결과(730)가 도시된다.
복수의 디바이스들의 위치 좌표(701)는 디바이스들의 상대적인 위치, 예를 들어, 마스터 디바이스(100)의 위치에 대한 상대적인 위치를 나타낼 수 있다. 한편, 공간 맵(720)은 상대적인 위치를 절대 위치에 매핑하기 위한 고정된 좌표계로서 이용될 수 있다.
일 실시예에서, 복수의 디바이스들은 공간 맵(720)에 위치 좌표(710)를 매핑하기 위한 기준 위치 또는 기준 각도를 획득할 수 있다. 상기 기준 위치는, 복수의 디바이스들 중 적어도 일부의, 공간 맵(720) 상의 절대 좌표일 수 있다. 상기 기준 각도는, 복수의 디바이스들 중 적어도 일부의 방향일 수 있다. 상기 기준 위치 또는 상기 기준 각도는, 상기 적어도 일부의 디바이스에서 발신한 초음파 신호가 상기 공간 내의 객체들에 반사되어 되돌아온 신호를 분석하여 획득될 수 있다. 또는, 상기 기준 위치 또는 상기 기준 각도는 상기 적어도 일부의 디바이스에 구비된 위치 센서 또는 방향 센서를 통하여 획득될 수 있다.
일 실시예에서, 복수의 디바이스들은 상기 기준 위치 또는 상기 기준 각도에 기초하여, 디바이스의 위치 좌표(710)를 공간 맵(720)에 매핑할 수 있다. 일 실시예에서, 복수의 디바이스들은 상기 매핑 결과(730)를 다른 디바이스들로 전송할 수 있다. 일 실시예에서, 복수의 디바이스들은 상기 매핑 결과(730)를 디스플레이에 표시할 수 있다.
일 실시예에서, 위치 좌표(710)를 공간 맵(720)에 매핑하는 동작은 일정한 주기로 실행될 수 있다. 다른 실시예에서, 위치 좌표(710)를 공간 맵(720)에 매핑하는 동작은 사용자의 명령에 따라 실행될 수 있다. 다른 실시예에서, 위치 좌표(710)를 공간 맵(720)에 매핑하는 동작은 복수의 디바이스들 중 적어도 일부의 움직임에 반응하여 실행될 수 있다.
도 8는 다양한 실시예들에 따른, 복수의 디바이스들을 동기화하는 방법의 흐름도이다. 도 8에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 8에 도시된 동작들은 도 4의 동작 S420에 대응될 수 있다.
도 8를 참조하면, 동작 S810에서, 복수의 디바이스들(100, 200, 201, 202) 중 하나인 마스터 디바이스(100)는 동기화를 위한 초음파 신호를 발신할 수 있다. 마스터 디바이스(100)는 사용자 위치 결정 시스템을 구성하는 복수의 디바이스들 중, 적어도 음성을 검출하는 기능을 구비한 것일 수 있다. 일 실시예에서, 마스터 디바이스(100)는 미리 정해진 것일 수 있다. 다른 실시예에서, 마스터 디바이스(100)는 상기 복수의 디바이스들 중에서 임의로 선택될 수 있다.
상기 초음파 신호는 마스터 디바이스(100)에 포함된 스피커(130)를 통하여 발신될 수 있다. 일 실시예에서, 상기 초음파 신호는 chirp 신호일 수 있다.
동작 S820에서, 마스터 디바이스(100)는, 상기 동기화를 위한 초음파 신호를 수신하고, 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제1 동기화 타임스탬프를 획득할 수 있다. 상기 초음파 신호는 마스터 디바이스(100)에 포함된 마이크로폰(120)을 통하여 감지된 것일 수 있다.
일 실시예에서, 마스터 디바이스(100)는 감지된 오디오 신호를 실시간으로 오디오 버퍼에 기록할 수 있다. 마스터 디바이스(100)는 상기 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간을 탐색할 수 있다. 마스터 디바이스(100)는 상기 탐색된 구간의 시작 시점을 상기 제1 동기화 타임스탬프로 결정할 수 있다.
일 실시예에서, 상기 제1 동기화 타임스탬프는 마스터 디바이스(100)에서 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다. 마스터 디바이스(100)에서 오디오 신호가 고정된 주파수로 샘플링되어 오디오 버퍼에 기록되는 경우, 오디오 버퍼의 샘플 번호는 연속적인 시간 흐름에 대응될 수 있다. 즉, 상기 기록된 오디오 신호에서, 샘플간의 시간 차이는 실제 시간 간격에 정확하게 일치하므로, 샘플 번호를 정밀한 시각 정보로서 사용할 수 있다. 이 경우, 상기 제1 동기화 타임스탬프를 획득하기 위하여 마스터 디바이스(100)의 시스템 클럭을 이용할 필요가 없다.
동작 S830에서, 상기 마스터 디바이스를 제외한 다른 디바이스들(200, 201, 202)은, 상기 동기화를 위한 초음파 신호를 수신하고, 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제2 동기화 타임스탬프들을 획득할 수 있다. 상기 초음파 신호는 상기 다른 디바이스들(200, 201, 202)에 포함된 마이크로폰(220)을 통하여 감지될 수 있다.
일 실시예에서, 각 디바이스는 감지된 오디오 신호를 실시간으로 오디오 버퍼에 기록할 수 있다. 각 디바이스는 상기 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간을 탐색할 수 있다. 각 디바이스는 상기 탐색된 구간의 시작 시점을 상기 제2 동기화 타임스탬프로 결정할 수 있다.
일 실시예에서, 동작 S820과 마찬가지로, 상기 제2 동기화 타임스탬프는 각 디바이스에서 기록된 오디오 신호에서 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다. 모든 디바이스에서 동일한 샘플링 주파수로 오디오 신호가 기록되는 경우, 서로 다른 디바이스에서 일정한 샘플 번호의 차이는 일정한 실제 시간 간격에 대응될 수 있다. 이 경우, 상기 제2 동기화 타임스탬프를 획득하기 위하여 각 디바이스의 시스템 클럭을 이용할 필요가 없다. 따라서, 각 디바이스의 시스템 클럭이 마스터 디바이스(100)와 동기화되지 않아도 무방하며, 또한 각 디바이스의 오디오 버퍼가 시스템 클럭과 동기화되지 않아도 무방하다.
일 실시예에서, 다른 디바이스들(200, 201, 202)은 각각 획득한 제2 동기화 타임스탬프를 마스터 디바이스(100)로 전송할 수 있다.
동작 S840에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 제1 동기화 타임스탬프와 상기 제2 동기화 타임스탬프에 기초하여 동기화 정보를 획득할 수 있다. 일 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 제1 동기화 타임스탬프 및 상기 제2 동기화 타임스탬프를 동기화 정보로서 저장할 수 있다. 다른 실시예에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 제1 동기화 타임스탬프 및 상기 제2 동기화 타임스탬프의 차이를 동기화 정보로서 저장할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 획득한 동기화 정보를 다른 디바이스들(200, 201, 202)에 공유할 수 있다.
도 9는 다양한 실시예들에 따른, 복수의 디바이스들을 동기화하는 동작을 설명하는 도면이다.
도 9를 참조하면, 제1 디바이스(100)는 동기화의 기준이 되는 마스터 디바이스로서, 적어도 동기화를 위한 초음파 신호를 발신 가능한 스피커(130) 및 상기 초음파 신호의 대역을 포함하는 주파수의 오디오 신호를 감지 가능한 마이크로폰(120)을 포함하는 장치이다. 마스터 디바이스를 제외한 다른 디바이스들 중 하나인 제2 디바이스(200)는 적어도 상기 초음파 신호의 대역을 포함하는 주파수의 오디오 신호를 감지 가능한 마이크로폰(220)을 포함하는 장치이다.
제1 디바이스의 스피커(130)는 동기화를 위한 초음파 신호(910)를 발신할 수 있다. 일 실시예에서, 상기 초음파 신호는 chirp 신호일 수 있다.
제1 디바이스의 마이크로폰(120)은 상기 초음파 신호(910)를 감지할 수 있다. 제1 디바이스(100)는 상기 초음파 신호(910)를 수신한 시각을 나타내는 타임스탬프 t 0 c를 획득할 수 있다. 상기 타임스탬프 t 0 c는 제1 디바이스의 시간 도메인에서 측정될 수 있다.
일 실시예에서, 제1 디바이스(100)는 마이크로폰(120)에서 감지된 오디오 신호에서 상기 초음파 신호(910)에 매칭되는 구간의 시작 시점을 상기 타임스탬프 t 0 c로 결정할 수 있다. 일 실시예에서, 상기 타임스탬프 t 0 c는, 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다. 제1 디바이스에서 감지된 오디오 신호를 일정한 샘플링 주파수로 상시 기록할 경우, 샘플 번호는 실제 시간의 흐름에 대응된다. 따라서, 샘플 번호는 제1 디바이스의 시간 도메인에서 측정된 시각을 나타낼 수 있다.
한편 제2 디바이스의 마이크로폰(220) 역시 상기 초음파 신호(910)를 감지할 수 있다. 제2 디바이스(200)는 상기 초음파 신호(910)를 수신한 시각을 나타내는 타임스탬프 t 1 c를 획득할 수 있다. 상기 타임스탬프는 제2 디바이스의 시간 도메인에서 측정되는 것일 수 있다.
제1 디바이스에서와 마찬가지로, 일 실시예에서, 제2 디바이스(200)는 마이크로폰(220)에서 감지된 오디오 신호에서 상기 초음파 신호(910)에 매칭되는 구간의 시작 시점을 상기 타임스탬프 t 1 c로 결정할 수 있다. 일 실시예에서, 상기 타임스탬프 t 1 c는, 상기 초음파 신호에 매칭되는 구간의 시작 시점의 샘플 번호를 가리킬 수 있다.
마찬가지로, 사용자 위치 결정 시스템을 구성하는 다른 제3 디바이스, 제4 디바이스, 쪋, 디바이스 N은, 각 디바이스의 시간 도메인에서 측정되는 초음파 신호의 수신 시각을 나타내는 타임스탬프 t 2 c, t 3 c, ..., t N c를 획득할 수 있다. 제2 디바이스, 제3 디바이스, 쪋, 디바이스 N은 각각 획득한 타임스탬프 t 1 c, t 2 c, ..., t N c를 제1 디바이스(100)으로 전송할 수 있다.
일 실시예에서, 제1 디바이스(100)는 타임스탬프 t 0 c, t 1 c, ..., t N c을 동기화 정보로서 저장할 수 있다. 다른 실시예에서, 제1 디바이스(100)는 제1 디바이스에서 획득한 타임스탬프 t 0 c과 다른 디바이스들에서 획득한 타임스탬프 t i c (1≤i≤N)의 차이인 t 0i를 동기화 정보로서 저장할 수 있다. 상기 동기화 정보는, 후술되는 사용자의 위치를 결정하는 과정에서, 각 디바이스의 시간 도메인을 마스터 디바이스의 시간 도메인으로 변환하기 위한 기준값으로 사용될 수 있다.
일 실시예에서, 제1 디바이스(100)는 획득한 동기화 정보를 다른 디바이스들에 공유할 수 있다.
도 10은 다양한 실시예들에 따른, 사용자의 음성 신호를 검출하는 방법의 흐름도이다. 도 10에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 10에 도시된 동작들은 도 4의 동작 S430에 대응될 수 있다.
도 10를 참조하면, 동작 S1010에서, 마스터 디바이스(100)는 마스터 디바이스(100)에서 감지된 오디오 신호에서 음성 신호가 포함된 구간을 탐색할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 상기 오디오 신호에서 음절 또는 음소의 위치를 추정할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 음성 검출 알고리즘을 수행하여 상기 오디오 신호에서 음성 신호가 포함된 구간을 결정할 수 있다.
본 개시에서 음성 검출의 목적은 음성 신호의 도달 시각을 측정하는 것이므로, 상기 음성 검출 알고리즘은 음성 인식 또는 음성 식별과 같은 기능을 포함하고 있지 않더라도 무방하다. 그러나 음성 인식 또는 음성 식별 기능이 포함되는 경우, 사용자의 특정한 발언, 또는 특정 사용자의 음성에 반응하여 사용자의 위치를 측정할 수 있다.
일 실시예에서, 마스터 디바이스(100)는 상기 오디오 신호에서 사용자의 음성을 인식할 수 있다. 일 실시예에서, 상기 사용자의 음성은 소정의 단어 또는 구문, 또는 사용자 명령어일 수 있다. 마스터 디바이스(100)는 상기 오디오 신호에서 상기 소정의 단어 또는 구문, 또는 사용자 명령어를 포함하는 구간을 탐색할 수 있다. 예를 들어, 마스터 디바이스(100)는 상기 오디오 신호에서 "Hello, computer"라는 소정의 구문이 포함된 구간을 탐색할 수 있다. 예를 들어, 마스터 디바이스(100)는 상기 오디오 신호에서 "여기 청소해" 또는 "컵 가져와"와 같은 명령어를 인식할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 음성 신호와 함께 인식된 음성의 내용을 저장할 수 있다.
일 실시예에서, 마스터 디바이스(100)는 상기 음성 신호로부터 사용자를 식별할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 상기 오디오 신호에서 특정 사용자의 음성 신호가 포함된 구간을 탐색할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 음성 신호와 함께, 식별된 사용자에 관한 정보를 저장할 수 있다.
동작 S1020에서, 마스터 디바이스(100)는 상기 탐색된 구간의 오디오 신호의 크기를 계산할 수 있다. 예를 들어, 마스터 디바이스(100)는 상기 탐색된 구간의 오디오 신호에 제곱평균제곱근(root-mean-square, RMS)을 적용하여 오디오 신호의 크기를 계산할 수 있다.
동작 S1030에서, 마스터 디바이스(100)는 상기 계산된 크기가 소정의 문턱값을 초과하는 부분의 오디오 샘플을 획득할 수 있다. 마스터 디바이스(100)는 상기 획득된 오디오 샘플 및 상기 오디오 샘플의 시작 타임스탬프를 저장할 수 있다.
일 실시예에 따르면, 마스터 디바이스(100)는 사용자 음성이 아닌 다른 소리를 검출하여 위치 결정을 위한 신호로 사용할 수 있다. 예를 들어, 마스터 디바이스(100)는 개 짖는 소리, 새 소리, 물 흐르는 소리, TV나 오디오에서 재생되는 소리 등의 다른 소리들을 검출하여, 음원의 위치를 결정하기 위하여 사용할 수 있다. 상기 검출되는 다른 소리는 미리 지정된 것일 수 있다.
도 11는 일 실시예에 따른, 사용자의 음성 신호를 검출하는 동작을 설명하기 위한 도면이다.
도 11을 참조하면, 예시적으로 "Hello, computer"라는 음성을 기록한 음성 신호(1110)를 나타내는 그래프가 도시된다. 그래프의 x축은 제1 디바이스의 시간 도메인 또는 오디오 버퍼의 샘플 번호, y축은 신호의 값을 나타낸다.
굵은 실선(1120)은 상기 음성 신호에 이동 제곱평균제곱근(RMS)을 적용한 결과를 나타낸다. 마스터 디바이스(100)는 상기 음성 신호의 이동 RMS가 소정의 문턱값(1130)을 초과하는 부분의 오디오 샘플을 저장할 수 있다. 마스터 디바이스(100)는 상기 획득된 오디오 샘플 및 상기 오디오 샘플의 시작 타임스탬프를 저장할 수 있다.
도 12는 다양한 실시예들에 따른, 사용자의 위치를 결정하는 방법의 흐름도이다. 도 12에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 12에 도시된 동작들은 도 4의 동작 S440에 대응될 수 있다.
도 12를 참조하면, 동작 S1210에서, 복수의 디바이스들(100, 200, 201, 202)은 마스터 디바이스(100)에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득할 수 있다. 마스터 디바이스(100)에서 음성 신호를 검출하는 방법은 도 10에 도시된 동작 S1010 내지 동작 S1030에 관하여 상술된 방법을 따를 수 있다. 마스터 디바이스(100)는 상기 오디오 샘플을 네트워크(300)를 통하여 다른 디바이스들(200, 201, 202)에 전송할 수 있다.
동작 S1220에서, 복수의 디바이스들(100, 200, 201, 202)은 디바이스들 각각에서 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 상기 디바이스들에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 획득할 수 있다.
다양한 실시예들에서, 복수의 디바이스들(100, 200, 201, 202)은 마이크로폰으로 감지된 오디오 신호를 실시간으로 오디오 버퍼에 기록할 수 있다. 상기 오디오 신호는 모든 디바이스에서 동일한 샘플링 주파수로 기록될 수 있다.
다양한 실시예들에서, 마스터 디바이스(100)로부터 상기 오디오 샘플을 획득함에 반응하여, 각 디바이스는 상기 기록된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색할 수 있다. 일 실시예에서, 각 디바이스는 상기 기록된 오디오 신호와 상기 오디오 샘플 간의 상관성(correlation)을 계산할 수 있다. 각 디바이스는 상기 기록된 오디오 신호와 상기 오디오 샘플 간의 상관성이 가장 큰 시점을 상기 사용자의 음성을 수신한 시각으로 결정할 수 있다. 일 실시예에서, 각 디바이스는 상기 기록된 오디오 신호와 상기 오디오 샘플 간의 상관성이 가장 큰 샘플 번호를 상기 음성 타임스탬프로 결정할 수 있다.
일 실시예에서, 복수의 디바이스들 중 일부에서 감지한 오디오 신호에는 상기 오디오 샘플에 매칭되는 부분이 탐색되지 않을 수 있다. 예를 들어, 사용자의 위치로부터 멀리 떨어진 곳에 위치한 일부 디바이스들은 사용자의 음성을 감지하지 못할 수 있으므로, 이 경우 상기 일부 디바이스들에 의해 감지된 오디오 신호에는 사용자 음성 신호의 오디오 샘플과 매칭되는 부분이 존재하지 않을 수 있다. 이 경우, 일 실시예에서, 상기 일부 디바이스들은 음성 타임스탬프 대신 음성 신호에 매칭되는 부분이 없음을 나타내는 정보를 생성할 수 있다.
동작 S1230에서, 복수의 디바이스들(100, 200, 201, 202)은 상기 음성 타임스탬프들, 디바이스들의 위치, 및 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득할 수 있다.
일 실시예에서, 상기 복수의 디바이스들(100, 200, 201, 202) 중 하나의 디바이스, 예를 들어 마스터 디바이스(100)가 상기 사용자의 위치 좌표를 계산할 수 있다. 이 경우 마스터 디바이스를 제외한 다른 디바이스들(200, 201, 202)은 측정된 음성 타임스탬프를 마스터 디바이스로 전송하고, 마스터 디바이스(100)는 상기 전송된 음성 타임스탬프들에 기초하여 사용자의 위치 좌표를 계산할 수 있다. 마스터 디바이스(100)는 상기 계산된 사용자의 위치 좌표를 다른 디바이스들(200, 201, 202)로 전송할 수 있다.
다양한 실시예들에서, 마스터 디바이스(100)는 상기 음성 타임스탬프, 복수의 디바이스들의 위치 및 동기화 정보에 기초하여 각 디바이스에 사용자의 음성 신호가 도달하는데 걸린 시간의 차이인 도달 시간 차이(TDoA)를 계산할 수 있다. 마스터 디바이스(100)는 상기 TDoA 및 디바이스의 위치에 기초하여 상기 사용자의 위치 좌표를 획득할 수 있다. 기하학적으로, 사용자의 위치는, 두 디바이스들의 위치를 초점으로 하는 쌍곡선들의 교차점으로 결정될 수 있다.
일 실시예에서, 마스터 디바이스(100)가 사용자의 위치 좌표를 계산하는 대신, 상기 복수의 디바이스들 각각이 사용자의 위치 좌표를 계산할 수 있다. 이 경우 각 디바이스는 측정된 음성 타임스탬프를 다른 디바이스들로 전송하고, 각 디바이스는 상기 전송된 음성 타임스탬프들에 기초하여 위치 좌표를 계산할 수 있다.
도 13은 일 실시예에 따른, 사용자의 위치를 결정하는 동작을 설명하기 위한 도면이다.
도 13을 참조하면, 서로 떨어져 있는 제1 디바이스 및 제2 디바이스에서 사용자의 음성 신호를 포함하는 오디오 신호를 감지하여 음성 타임스탬프를 획득하는 일 실시예가 도시된다. 제1 디바이스는 도 1 및 도 2에 도시된 제1 디바이스 (마스터 디바이스)(100)에 상응하는 것일 수 있다. 제2 디바이스는 도 1에 도시된 제2 디바이스(200), 제3 디바이스(201), 또는 제4 디바이스(202), 또는 도 2에 도시된 제2 디바이스(200)에 상응하는 것일 수 있다. 제1 디바이스와 제2 디바이스는 모두 오디오 신호를 감지하고 실시간으로 기록하는 기능을 포함하고, 상기 오디오 신호는 제1 디바이스와 제2 디바이스에서 동일한 샘플링 주파수로 기록된다.
그래프 1(1300)은 제1 디바이스에서 감지한 제1 오디오 신호(1310)를 도시하고 있다. 그래프의 x축은 제1 디바이스의 시간 도메인 또는 오디오 버퍼의 샘플 번호, y축은 신호의 값을 나타낸다. 그래프 2(1320)는 같은 시간에 제2 디바이스에서 감지한 제2 오디오 신호(1330)를 도시하고 있다. 그래프의 x축은 제2 디바이스의 시간 도메인 또는 오디오 버퍼의 샘플 번호, y축은 신호의 값을 나타낸다. 제1 오디오 신호(1310)와 제2 오디오 신호(1330)는 음절과 음절 사이의 공백으로 명확히 구분되는, 사용자의 음성 신호를 포함하고 있다.
제1 디바이스는 제1 오디오 신호(1310)로부터 음성 신호의 적어도 일부를 포함하는 오디오 샘플(1350)을 획득할 수 있다. 일 실시예에서, 제1 디바이스는 제1 오디오 신호(1310)의 크기를 계산하고, 상기 계산된 크기가 소정의 문턱값 이상인 부분을 오디오 샘플로 획득할 수 있다. 도 3(1340)는 오디오 샘플(1350)을 획득하는 일 실시예를 도시한다.
제1 디바이스는 상기 획득된 오디오 샘플(1350)을 제2 디바이스로 전송할 수 있다. 제1 디바이스 및 제2 디바이스는 각각 제1 오디오 신호(1310)와 제2 오디오 신호(1330)에서 오디오 샘플(1350)과 매칭되는 부분을 탐색하여, 각 디바이스에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 획득할 수 있다.
일 실시예에서, 제1 디바이스 은 제1 오디오 신호(1310)와 오디오 샘플(1350) 간의 상관성을 계산할 수 있다. 그래프 4(1360)는 제1 오디오 신호(1310)와 오디오 샘플(1350) 간의 상관성(1370)을 계산한 결과를 도시한다. 상기 상관성이 최대값을 가지는 시점의 샘플 번호를, 제1 디바이스에서 상기 오디오 샘플을 수신한 시각을 나타내는 음성 타임스탬프로 결정할 수 있다.
같은 방법으로 제2 디바이스는 제2 오디오 신호(1320)와 오디오 샘플(1350)간의 상관성(미도시)을 계산하고, 상기 상관성이 최대값을 가지는 시점의 샘플 번호를 제2 디바이스에서 상기 오디오 샘플을 수신한 시각을 나타내는 음성 타임스탬프로 결정할 수 있다. 제2 디바이스는 결정된 음성 타임스탬프를 제1 디바이스로 전송할 수 있다.
도 14는 다양한 실시예들에 따른, 사용자의 위치 좌표를 획득하는 방법의 흐름도이다. 도 14에 도시된 동작들은 도 1에 도시된 시스템을 구성하는 복수의 디바이스들(100, 200, 201, 202) 또는 도 2에 도시된 디바이스(100) 또는 디바이스의 제어부(110)에 의해 수행될 수 있다. 도 14에 도시된 동작들은 도 12의 동작 S1230에 대응될 수 있다.
도 14를 참조하면, 동작 S1410에서, 마스터 디바이스(100)는 동기화 정보를 이용하여, 음성 타임스탬프들을 마스터 디바이스의 시간 기준으로 변환할 수 있다. 각 음성 타임스탬프들은 서로 다른 디바이스들의 시간 도메인에서 측정된 것이므로, 음성 타임스탬프들을 비교하기 위해서는, 다른 디바이스들에서 획득한 음성 타임스탬프들을 마스터 디바이스의 시간 기준으로 변환할 필요가 있다.
일 실시예에서, 디바이스 i에서 감지된 음성 신호의 도달 시각을 디바이스 i의 시간 도메인에서 측정한 음성 타임스탬프를 t si i라고 하면, 디바이스 i에서 감지된 음성 신호의 도달 시각을 제1 디바이스의 시간 도메인에서 측정한 음성 타임스탬프 t si 0은 다음 수학식에 의해 계산될 수 있다.
t si 0 = t si i - t 0i + t c 0 - t c i
이 때 t 0i 는 제1 디바이스와 디바스 i 간에 신호가 도달하는데 걸리는 시간을 나타내며, 디바이스들의 위치로부터 계산될 수 있다. 또한 t c 0 및 t c i 는 각각 제1 디바이스 및 디바이스 i에서 측정된 동기화 타임스탬프를 나타내며, 상술한 동기화 방법에 의하여 획득될 수 있다.
동작 S1420에서, 마스터 디바이스(100)는 상기 변환된 음성 타임스탬프들에 기초하여, 디바이스들에 음성 신호가 도달한 시각의 차이를 계산할 수 있다.
일 실시예에서, 상기 변환된 타임스탬프 t si 0 는 디바이스 i에서 감지된 음성 신호의 도달 시각을 제1 디바이스의 시간 도메인 기준으로 측정한 값을 나타내므로, 디바이스 i에 음성 신호가 도달한 시각과 디바이스 j에 음성 신호가 도달한 시각의 차이인 t sij는 t si 0 - t sj 0로 계산될 수 있다.
동작 S1430에서, 마스터 디바이스(100)는 상기 계산된 차이에 기초하여, 상기 사용자의 위치 좌표를 획득할 수 있다. 일 실시예에서, 마스터 디바이스(100)는 다변측정(multilateration)을 수행하여 상기 사용자의 위치 좌표를 획득할 수 있다.
도 15는 본 개시의 사용자 위치 결정 방법이 사용되는 일 실시예를 나타내는 도면이다.
도 15를 참조하면, 상점 또는 창고에서 사용자의 위치를 결정하기 위한 시스템의 예시가 도시된다. 사용자의 위치를 결정하기 위한 시스템은 복수의 디바이스들(1510 내지 1590)을 포함할 수 있다.
복수의 디바이스들은 오디오 신호를 감지하여 사용자의 위치를 결정하기 위한 디바이스로서, 오디오 신호를 발신 및 감지할 수 있고, 네트워크를 통하여 데이터를 송수신할 수 있는 모든 종류의 기기를 포함할 수 있다. 상기 시스템은 다양한 종류의 디바이스들을 포함할 수 있다. 도 15에 도시된 바와 같이, 복수의 디바이스들은 사용자에 의해 소지되는 디바이스들(1510, 1570, 1590), 예를 들어, 스마트폰, 태블릿, 웨어러블 장치 등을 포함할 수 있다. 복수의 디바이스들은 스스로 이동 가능한 장치(1520, 1540), 예를 들어, 이동 로봇 등을 포함할 수 있다. 복수의 디바이스들은 고정되어 있는 장치(1530, 1550, 1560, 1580), 예를 들어, 벽, 천장, 바닥 등의 고정 물체 또는 가구에 설치된 오디오, 카메라, 사물 인터넷 장치 등을 포함할 수 있다.
상기 시스템에 포함되는 복수의 디바이스들의 구성은 시간에 따라 변경될 수 있다. 사용자가 소지한 디바이스(1510)와 함께 상기 공간에 새로 진입하는 경우, 새로운 디바이스(1510)가 상기 시스템에 추가될 수 있다. 또한, 사용자가 소지한 디바이스(1510)와 함께 상기 공간을 벗어나는 경우, 상기 디바이스(1510)는 상기 시스템에서 제외될 수 있다.
복수의 디바이스들은 사용자의 음성, 예를 들어 "로봇에게 우유 가져와 달라고 해 줘"와 같은 명령어를 감지하여, 사용자의 위치를 결정할 수 있다. 복수의 디바이스들이 사용자의 위치를 결정하는 구체적인 방법은 도 1 내지 도 14와 관련하여 상술하였으므로 중복되는 설명은 생략한다.
사용자의 위치가 결정되면, 사용자가 소지한 디바이스(1510)는 사용자의 음성을 분석하여, 사용자의 명령을 이동 로봇(1520, 1540)에 전달할 수 있다. 사용자가 소지한 디바이스(1510)는 상기 사용자의 명령, 복수의 디바이스들의 위치 및 사용자의 위치에 기초하여, 상기 사용자의 명령을 수행할 이동 로봇(1540)을 결정할 수 있다.
이동 로봇(1540)은 상기 사용자의 명령, 복수의 디바이스들의 위치 및 사용자의 위치에 기초하여 이동 경로를 결정할 수 있다. 이동 로봇(1540)이 이동 경로를 따라 움직이면, 움직임을 감지함에 따라 이동 로봇(1540)의 위치가 업데이트될 수 있다. 또한 사용자가 이동하면, 사용자가 소지한 디바이스(1510)의 움직임을 감지함에 따라 디바이스(1510)의 위치가 업데이트될 수 있다. 디바이스의 움직임에 반응하여 디바이스의 위치를 업데이트하는 구체적인 방법은 도 6과 관련하여 상술하였으므로 중복되는 설명은 생략한다.
사용자가 이동한 후 다시 복수의 디바이스들에 의해 사용자의 음성이 감지되면, 사용자의 위치가 다시 결정될 수 있다. 변경된 사용자의 위치는 이동 로봇(1540)에 전달될 수 있고, 이동 로봇(1540)은 변경된 사용자의 위치에 기초하여 이동 경로를 재설정할 수 있다.
도 16는 본 개시의 사용자 위치 결정 방법이 사용되는 다른 실시예를 나타내는 도면이다.
도 16를 참조하면, 집에서 사용자의 위치를 결정하기 위한 시스템의 예시가 도시된다. 사용자의 위치를 결정하기 위한 시스템은 복수의 디바이스들을 포함할 수 있다. 도 16에 도시된 바와 같이, 복수의 디바이스들은 복수의 방 및 가구들이 배치된 집에서 기능을 실행하는 스마트 가전들을 포함할 수 있다.
복수의 디바이스들은 사용자의 음성을 감지하여, 사용자의 위치를 결정할 수 있다. 복수의 디바이스들이 사용자의 위치를 결정하는 구체적인 방법은 도 1 내지 도 14와 관련하여 상술하였으므로 중복되는 설명은 생략한다.
사용자의 위치가 결정되면, 복수의 디바이스들은 사용자의 음성을 분석하여, 기능을 수행할 디바이스를 결정하여 동작하도록 할 수 있다. 예를 들어, 사용자가 거실에서 "여기 청소해"와 같이 발언하였을 때, 복수의 디바이스들은 사용자의 음성을 감지하여, 사용자의 위치를 거실로 결정하고, 복수의 디바이스들 중 하나인 로봇 청소기에게 거실을 청소하라는 지시를 전달할 수 있다. 로봇 청소기는 복수의 디바이스들의 위치 및 사용자 위치에 기초하여 이동 경로를 결정할 수 있다.
도 17는 본 개시의 사용자 위치 결정 방법이 사용되는 다른 실시예를 나타내는 도면이다.
도 17를 참조하면, 화상 회의와 같은 증강현실(Augmented Reality, AR) 또는 가상현실(Virtual Reality, VR) 환경에서 사용자의 위치를 결정하기 위한 시스템의 예시가 도시된다. 본 실시예에서, 실제 회의실 내에서 사용자의 위치를 결정하기 위한 시스템이 설정되고, 상기 시스템은 가상 회의실을 구현하는 AR/VR 글래스(glasses)와 연동될 수 있다. 사용자의 위치를 결정하기 위한 시스템을 구성하는 복수의 디바이스들은 회의실 내부에 미리 설치된 장치들, 예를 들어 스피커, 마이크, 카메라 등일 수 있고, 또는 회의 참석자가 소지한 스마트폰, 태블릿, 웨어러블 장치 등을 포함할 수도 있다.
복수의 디바이스들은 사용자의 음성을 감지하여, 발언하고 있는 사용자의 위치를 결정할 수 있다. 복수의 디바이스들이 사용자의 위치를 결정하는 구체적인 방법은 도 1 내지 도 14와 관련하여 상술하였으므로 중복되는 설명은 생략한다. 복수의 사용자가 실제 회의실에서 회의에 참석하고 있는 경우, 복수의 디바이스들 중 하나인 마스터 디바이스는 사용자의 음성으로부터 사용자를 식별할 수 있다. 즉, 발언하고 있는 사용자가 누구인지를 구분할 수 있다.
상기 사용자 식별 정보 및 상기 사용자의 위치는 네트워크를 통하여 AR/VR 글래스(glasses)에 전송될 수 있다. 상기 사용자 식별 정보 및 상기 사용자의 위치에 기초하여, AR/VR 글래스는 실제 회의실에 위치한 개별 사용자의 위치를 추적할 수 있고, 실제 회의실을 모방하여 가상 회의실의 영상을 생성할 수 있다.
본 개시의 다양한 실시예들에 따른 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법은, 상기 복수의 디바이스들의 위치를 결정하는 단계; 상기 복수의 디바이스들을 상기 복수의 디바이스들 중 하나의 마스터 디바이스(master device)에 동기화하기 위한 동기화 정보를 획득하는 단계; 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계; 및 상기 마스터 디바이스에서 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 위치를 결정하는 단계는, 상기 마스터 디바이스에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득하는 단계; 상기 복수의 디바이스들 각각에서 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 상기 복수의 디바이스들에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 획득하는 단계; 및 상기 음성 타임스탬프들, 상기 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 사용자 위치 좌표를 획득하는 단계는, 상기 동기화 정보를 이용하여, 상기 음성 타임스탬프들을 상기 마스터 디바이스의 시간 기준으로 변환하는 단계; 상기 변환된 음성 타임스탬프들에 기초하여, 상기 복수의 디바이스들에 상기 사용자의 음성 신호가 도달한 시각의 차이를 계산하는 단계; 및 상기 계산된 차이에 기초하여, 상기 사용자의 위치 좌표를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 초음파를 이용하여, 상기 복수의 디바이스들 상호간의 거리를 측정하는 단계; 및 상기 측정된 거리에 기초하여, 상기 복수의 디바이스들의 위치 좌표들을 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들 상호간의 거리를 측정하는 단계는, 상기 복수의 디바이스들에 포함되는 각 디바이스 쌍 간의 거리를 양방향 초음파 거리 측정 방법으로 측정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 초음파를 이용하여, 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득하는 단계; 및 상기 복수의 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 상기 복수의 디바이스들 중 하나가 움직이면, 초음파 신호를 이용하여 상기 공간 맵을 업데이트하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 상기 복수의 디바이스들을 네트워크에 연결하는 단계; 및 상기 네트워크를 통하여, 상기 복수의 디바이스들 상호간에 디바이스 정보를 송수신하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 디바이스 정보는, 디바이스의 식별번호, 방향, 가속도, 형태, 또는 디바이스에 포함된 마이크 또는 스피커의 위치 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 상기 복수의 디바이스들 중 하나가 움직이면, 초음파를 이용하여 상기 움직인 디바이스와 상기 다른 디바이스들 간의 거리를 측정하는 단계; 및 상기 측정된 거리에 기초하여, 상기 움직인 디바이스의 위치 좌표를 업데이트하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 초음파를 이용하여 상기 움직인 디바이스와 상기 다른 디바이스들 간의 거리를 측정하는 단계는, 상기 움직인 디바이스로부터 상기 움직인 디바이스의 방향 또는 가속도 정보 중 적어도 하나를 포함하는 움직임 정보를 다른 디바이스들로 전송하는 단계; 및 상기 다른 디바이스들에서 상기 움직임 정보를 수신함에 반응하여, 초음파를 이용하여 상기 움직인 디바이스와 상기 다른 디바이스들 간의 거리를 측정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들의 위치를 결정하는 단계는, 새로운 디바이스를 상기 네트워크에 연결하는 단계; 상기 네트워크를 통하여, 상기 새로운 디바이스의 디바이스 정보를 상기 네트워크에 연결된 다른 디바이스들로 전송하는 단계; 상기 다른 디바이스들이 상기 새로운 디바이스의 디바이스 정보를 수신하면, 초음파를 이용하여 상기 다른 디바이스들로부터 상기 새로운 디바이스까지의 거리를 측정하는 단계; 및 상기 측정된 거리에 기초하여, 상기 새로운 디바이스의 위치 좌표를 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 동기화 정보를 획득하는 단계는, 상기 마스터 디바이스에서, 동기화를 위한 초음파 신호를 발신하는 단계; 상기 마스터 디바이스에서 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제1 동기화 타임스탬프를 획득하는 단계; 상기 마스터 디바이스를 제외한 다른 디바이스들에서 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제2 동기화 타임스탬프를 획득하는 단계; 및 상기 제1 동기화 타임스탬프와 상기 제2 동기화 타임스탬프에 기초하여 상기 동기화 정보를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계는, 상기 마스터 디바이스에서 감지된 오디오 신호에서 음성 신호가 포함된 구간을 탐색하는 단계; 상기 구간의 오디오 신호의 크기를 계산하는 단계; 및 상기 계산된 크기가 소정의 문턱값을 초과하는 부분의 오디오 샘플을 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 위치를 결정하는 방법은, 상기 마스터 디바이스에서 검출된 음성 신호에 기초하여, 사용자를 식별하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 음성은 소정의 사용자 명령어일 수 있다.
일 실시예에 따르면, 상기 복수의 디바이스들 중 적어도 하나는 이동 가능한 로봇이고, 상기 이동 가능한 로봇은 상기 결정된 복수의 디바이스들의 위치 및 상기 결정된 사용자의 위치를 이용하여 이동 경로를 결정하는 것일 수 있다.
본 발명의 다양한 실시예들에 따른 오디오 신호를 감지하는 복수의 디바이스에 의하여 사용자의 위치를 결정하기 위한 시스템에 있어서, 상기 복수의 디바이스들은 하나의 마스터 디바이스(master device)를 포함하고, 상기 복수의 디바이스 각각은, 오디오 신호를 발신하도록 설정되는 스피커; 오디오 신호를 감지하도록 설정되는 마이크로폰; 상기 복수의 디바이스들과 통신하도록 설정되는 통신부; 및 상기 스피커, 상기 마이크로폰 및 상기 통신부와 기능적으로 결합되는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 복수의 디바이스들의 위치를 결정하고, 상기 복수의 디바이스들을 상기 마스터 디바이스에 동기화하기 위한 동기화 정보를 획득하도록 설정되고, 상기 마스터 디바이스에 포함되는 상기 적어도 하나의 프로세서는, 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성을 검출하고, 상기 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하도록 더 설정되는 것일 수 있다.
본 발명의 다양한 실시예들에 따른 오디오 신호를 감지하는 디바이스에 의해 사용자의 위치를 결정하는 방법은, 상기 디바이스 및 복수의 외부 디바이스들의 위치를 결정하는 단계; 상기 복수의 외부 디바이스들을 상기 디바이스에 동기화하기 위한 동기화 정보를 획득하는 단계; 상기 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계; 상기 복수의 외부 디바이스들로부터, 상기 복수의 외부 디바이스에서 감지한 상기 사용자의 음성 신호에 관한 정보를 수신하는 단계; 및 상기 검출된 음성 신호, 상기 수신된 정보, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계를 포함할 수 있다.
본 발명의 다양한 실시예들에 따른 사용자의 위치를 결정하기 위한 디바이스는, 오디오 신호를 발신하도록 설정되는 스피커; 오디오 신호를 감지하도록 설정되는 마이크로폰; 오디오 신호를 감지하는 복수의 외부 디바이스들과 통신하도록 설정되는 통신부; 및 상기 스피커, 상기 마이크로폰 및 상기 통신부와 기능적으로 결합되는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 디바이스 및 상기 복수의 외부 디바이스들의 위치를 결정하고, 상기 복수의 외부 디바이스들을 상기 디바이스에 동기화하기 위한 동기화 정보를 획득하고,상기 마이크로폰으로부터 감지된 오디오에서 사용자의 음성을 검출하고, 상기 복수의 외부 디바이스들로부터, 상기 복수의 외부 디바이스에서 감지한 상기 사용자의 음성에 관한 정보를 수신하고, 상기 검출된 음성, 상기 수신된 정보, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하도록 설정되는 것일 수 있다.
상술한 다양한 실시예들에 따르면, 사용자의 음성을 감지하여 사용자의 위치를 결정하므로, 사용자가 디바이스를 소지하고 있을 필요가 없고, 디바이스와 멀리 떨어진 환경에서도 사용자의 위치를 결정하는 것이 가능하다.
또한 다양한 실시예들에 따르면, 사용자의 위치를 결정하기 위하여 오디오 버퍼를 이용한 동기화에 의존하기 때문에, 특수한 하드웨어를 필요로 하지 않고, 상대적으로 저렴하고 쉽게 배치할 수 있는 최소한의 하드웨어, 즉 마이크로폰, 스피커, 프로세서, 저장부 및 통신부만을 필요로 한다. 또한, 거의 대부분의 스마트 장치에 본 개시에 필요한 구성 요소들이 이미 장착되어 있으므로, 추가적인 하드웨어의 변경 없이 기존의 디바이스들을 이용하여 상술한 방법을 수행하는 시스템을 구현할 수 있다. 또한 디바이스들이 고정되어 있거나 미리 설치되어 있을 필요가 없으므로 다양한 환경에서 상술한 방법을 사용 가능하며, 디바이스의 움직임이 보다 정밀한 위치 측정에 기여할 수 있다.
또한 다양한 실시예들에 따르면, 디바이스와 사용자의 움직임에 반응하여 시스템이 동적으로 조절되므로, 보다 정확하고 신속하게 디바이스와 사용자의 위치를 결정할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈과 같은 변조된 데이터 신호의 기타 데이터를 포함할 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 오디오 신호를 감지하는 복수의 디바이스들에 의하여 사용자의 위치를 결정하는 방법으로서,
    상기 복수의 디바이스들의 위치를 결정하는 단계;
    상기 복수의 디바이스들을 상기 복수의 디바이스들 중 하나의 마스터 디바이스(master device)에 동기화하기 위한 동기화 정보를 획득하는 단계;
    상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계;
    상기 마스터 디바이스에서 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  2. 제1항에 있어서,
    상기 사용자의 위치를 결정하는 단계는,
    상기 마스터 디바이스에서 검출된 음성 신호의 적어도 일부를 포함하는 오디오 샘플을 획득하는 단계;
    상기 복수의 디바이스들 각각에서 감지된 오디오 신호에서 상기 오디오 샘플에 매칭되는 부분을 탐색하여, 상기 복수의 디바이스들에서 상기 사용자의 음성을 수신한 시각을 나타내는 음성 타임스탬프들을 획득하는 단계;
    상기 음성 타임스탬프들, 상기 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치 좌표를 획득하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  3. 제2항에 있어서,
    상기 사용자 위치 좌표를 획득하는 단계는,
    상기 동기화 정보를 이용하여, 상기 음성 타임스탬프들을 상기 마스터 디바이스의 시간 기준으로 변환하는 단계;
    상기 변환된 음성 타임스탬프들에 기초하여, 상기 복수의 디바이스들에 상기 사용자의 음성 신호가 도달한 시각의 차이를 계산하는 단계; 및
    상기 계산된 차이에 기초하여, 상기 사용자의 위치 좌표를 획득하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  4. 제1항에 있어서,
    상기 복수의 디바이스들의 위치를 결정하는 단계는,
    초음파를 이용하여, 상기 복수의 디바이스들 상호간의 거리를 측정하는 단계; 및
    상기 측정된 거리에 기초하여, 상기 복수의 디바이스들의 위치 좌표들을 획득하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  5. 제4항에 있어서,
    상기 복수의 디바이스들 상호간의 거리를 측정하는 단계는, 상기 복수의 디바이스들에 포함되는 각 디바이스 쌍 간의 거리를 양방향 초음파 거리 측정 방법으로 측정하는 단계를 포함하는, 사용자의 위치를 결정하는 방법.
  6. 제4항에 있어서,
    상기 복수의 디바이스들의 위치를 결정하는 단계는,
    초음파를 이용하여, 상기 복수의 디바이스들이 위치한 공간 내의 객체의 위치를 나타내는 공간 맵을 획득하는 단계;
    상기 복수의 디바이스들의 위치 좌표들을 상기 공간 맵에 매핑하는 단계;
    를 더 포함하는, 사용자의 위치를 결정하는 방법.
  7. 제4항에 있어서,
    상기 복수의 디바이스들의 위치를 결정하는 단계는,
    상기 복수의 디바이스들을 네트워크에 연결하는 단계; 및
    상기 네트워크를 통하여, 상기 복수의 디바이스들 상호간에 디바이스 정보를 송수신하는 단계;
    를 더 포함하는, 사용자의 위치를 결정하는 방법.
  8. 제7항에 있어서,
    상기 복수의 디바이스들의 위치를 결정하는 단계는,
    상기 복수의 디바이스들 중 하나가 움직이면, 초음파를 이용하여 상기 움직인 디바이스와 상기 다른 디바이스들 간의 거리를 측정하는 단계;
    상기 측정된 거리에 기초하여, 상기 움직인 디바이스의 위치 좌표를 업데이트하는 단계;
    를 더 포함하는, 사용자의 위치를 결정하는 방법.
  9. 제7항에 있어서,
    상기 복수의 디바이스들의 위치를 결정하는 단계는,
    새로운 디바이스를 상기 네트워크에 연결하는 단계;
    상기 네트워크를 통하여, 상기 새로운 디바이스의 디바이스 정보를 상기 네트워크에 연결된 다른 디바이스들로 전송하는 단계;
    상기 다른 디바이스들이 상기 새로운 디바이스의 디바이스 정보를 수신하면, 초음파를 이용하여 상기 다른 디바이스들로부터 상기 새로운 디바이스까지의 거리를 측정하는 단계; 및
    상기 측정된 거리에 기초하여, 상기 새로운 디바이스의 위치 좌표를 결정하는 단계;
    를 더 포함하는, 사용자의 위치를 결정하는 방법.
  10. 제1항에 있어서,
    상기 동기화 정보를 획득하는 단계는,
    상기 마스터 디바이스에서, 동기화를 위한 초음파 신호를 발신하는 단계;
    상기 마스터 디바이스에서 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제1 동기화 타임스탬프를 획득하는 단계;
    상기 마스터 디바이스를 제외한 다른 디바이스들에서 상기 동기화를 위한 초음파 신호를 수신한 시각을 나타내는 제2 동기화 타임스탬프를 획득하는 단계; 및
    상기 제1 동기화 타임스탬프와 상기 제2 동기화 타임스탬프에 기초하여 상기 동기화 정보를 획득하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  11. 제1항에 있어서,
    상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계는,
    상기 마스터 디바이스에서 감지된 오디오 신호에서 음성 신호가 포함된 구간을 탐색하는 단계;
    상기 구간의 오디오 신호의 크기를 계산하는 단계; 및
    상기 계산된 크기가 소정의 문턱값을 초과하는 부분의 오디오 샘플을 획득하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
  12. 제1항에 있어서,
    상기 마스터 디바이스에서 검출된 음성 신호에 기초하여, 사용자를 식별하는 단계를 더 포함하는, 사용자의 위치를 결정하는 방법.
  13. 제1항에 있어서,
    상기 복수의 디바이스들 중 적어도 하나는 이동 가능한 로봇인 것을 특징으로 하고,
    상기 이동 가능한 로봇은 상기 결정된 복수의 디바이스들의 위치 및 상기 결정된 사용자의 위치를 이용하여 이동 경로를 결정하는 것을 특징으로 하는, 사용자의 위치를 결정하는 방법.
  14. 오디오 신호를 감지하는 복수의 디바이스에 의하여 사용자의 위치를 결정하기 위한 시스템에 있어서,
    상기 복수의 디바이스들은 하나의 마스터 디바이스(master device)를 포함하고,
    상기 복수의 디바이스 각각은,
    오디오 신호를 발신하도록 설정되는 스피커;
    오디오 신호를 감지하도록 설정되는 마이크로폰;
    상기 복수의 디바이스들과 통신하도록 설정되는 통신부; 및
    상기 스피커, 상기 마이크로폰 및 상기 통신부와 기능적으로 결합되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는, 상기 복수의 디바이스들의 위치를 결정하고, 상기 복수의 디바이스들을 상기 마스터 디바이스에 동기화하기 위한 동기화 정보를 획득하도록 설정되고,
    상기 마스터 디바이스에 포함되는 상기 적어도 하나의 프로세서는, 상기 마스터 디바이스에서 감지된 오디오 신호에서 사용자의 음성을 검출하고, 상기 검출된 음성 신호, 상기 복수의 디바이스들에서 감지된 오디오 신호, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하도록 더 설정되는,
    사용자의 위치를 결정하기 위한 시스템.
  15. 오디오 신호를 감지하는 디바이스에 의해 사용자의 위치를 결정하는 방법으로서,
    상기 디바이스 및 복수의 외부 디바이스들의 위치를 결정하는 단계;
    상기 복수의 외부 디바이스들을 상기 디바이스에 동기화하기 위한 동기화 정보를 획득하는 단계;
    상기 디바이스에서 감지된 오디오 신호에서 사용자의 음성 신호를 검출하는 단계;
    상기 복수의 외부 디바이스들로부터, 상기 복수의 외부 디바이스에서 감지한 상기 사용자의 음성 신호에 관한 정보를 수신하는 단계;
    상기 검출된 음성 신호, 상기 수신된 정보, 상기 결정된 디바이스들의 위치, 및 상기 동기화 정보에 기초하여, 상기 사용자의 위치를 결정하는 단계;
    를 포함하는, 사용자의 위치를 결정하는 방법.
PCT/KR2021/095027 2020-01-22 2021-01-20 사용자의 위치를 결정하는 시스템 및 방법 WO2021150096A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0008763 2020-01-22
KR1020200008763A KR20210095284A (ko) 2020-01-22 2020-01-22 사용자의 위치를 결정하는 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2021150096A1 true WO2021150096A1 (ko) 2021-07-29

Family

ID=76992680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/095027 WO2021150096A1 (ko) 2020-01-22 2021-01-20 사용자의 위치를 결정하는 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20210095284A (ko)
WO (1) WO2021150096A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230108121A1 (en) * 2021-10-05 2023-04-06 Alex Feinman Reconciling events in multi-node systems using hardware timestamps
US12021611B2 (en) 2021-10-07 2024-06-25 Snap Inc. Synchronizing systems-on-chip using GPIO timestamps
US12105553B2 (en) 2021-10-06 2024-10-01 Snap Inc. Synchronizing systems on a chip using a shared clock

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313500A (ja) * 1997-03-13 1998-11-24 Nippon Telegr & Teleph Corp <Ntt> 音源ゾーン検出方法、その装置、およびそのプログラム記録媒体
KR20000065273A (ko) * 1999-04-01 2000-11-06 선우중호 음원의 위치추적 시스템
KR100722799B1 (ko) * 2006-02-28 2007-05-30 연세대학교 산학협력단 센서 네트워크를 이용한 음원 위치추적시스템 및 방법
JP4041899B2 (ja) * 2005-03-01 2008-02-06 大学共同利用機関法人情報・システム研究機構 超音波距離測定システムおよび超音波距離測定方法
US20180164403A1 (en) * 2015-06-23 2018-06-14 Nec Corporation Sound source position detection device, sound source position detection method, sound source position detection program, and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313500A (ja) * 1997-03-13 1998-11-24 Nippon Telegr & Teleph Corp <Ntt> 音源ゾーン検出方法、その装置、およびそのプログラム記録媒体
KR20000065273A (ko) * 1999-04-01 2000-11-06 선우중호 음원의 위치추적 시스템
JP4041899B2 (ja) * 2005-03-01 2008-02-06 大学共同利用機関法人情報・システム研究機構 超音波距離測定システムおよび超音波距離測定方法
KR100722799B1 (ko) * 2006-02-28 2007-05-30 연세대학교 산학협력단 센서 네트워크를 이용한 음원 위치추적시스템 및 방법
US20180164403A1 (en) * 2015-06-23 2018-06-14 Nec Corporation Sound source position detection device, sound source position detection method, sound source position detection program, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230108121A1 (en) * 2021-10-05 2023-04-06 Alex Feinman Reconciling events in multi-node systems using hardware timestamps
US12105553B2 (en) 2021-10-06 2024-10-01 Snap Inc. Synchronizing systems on a chip using a shared clock
US12021611B2 (en) 2021-10-07 2024-06-25 Snap Inc. Synchronizing systems-on-chip using GPIO timestamps

Also Published As

Publication number Publication date
KR20210095284A (ko) 2021-08-02

Similar Documents

Publication Publication Date Title
WO2021150096A1 (ko) 사용자의 위치를 결정하는 시스템 및 방법
WO2017078361A1 (en) Electronic device and method for recognizing speech
WO2017082543A1 (en) Electronic device and method for controlling the same
WO2015182956A1 (en) Method and device for generating data representing structure of room
WO2019164148A1 (ko) 음성 명령을 수행하는 방법 및 시스템
WO2020106103A1 (en) Method and apparatus for processing voice data of speech
EP3616009A1 (en) Electronic device and method for controlling thereof
KR102146462B1 (ko) 음성 인식 시스템 및 방법
WO2017065475A1 (en) Electronic device and method for processing gesture thereof
WO2017090947A1 (en) Question and answer processing method and electronic device for supporting the same
WO2018084576A1 (en) Electronic device and controlling method thereof
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2010024584A4 (ko) 객체 인식시스템, 이를 갖는 무선 인터넷 시스템 및 이를 이용한 객체기반 무선통신 서비스 방법
WO2019098567A1 (ko) 전자 장치의 이미지 촬영 방법 및 그 전자 장치
WO2016064132A1 (en) Wearable device and method of transmitting content
WO2015126044A1 (ko) 이미지를 처리하기 위한 방법 및 그 전자 장치
WO2020096365A1 (en) Motion assisted leakage removal for radar applications
WO2020171561A1 (en) Electronic apparatus and controlling method thereof
WO2020055112A1 (en) Electronic device and method for identifying location by electronic device
WO2020071858A1 (en) Electronic apparatus and assistant service providing method thereof
WO2017119663A1 (en) Electronic device and method for controlling the same
WO2017048067A1 (en) Terminal and method for measuring location thereof
WO2018124500A1 (ko) 객체의 인식 결과를 제공하는 방법 및 전자 장치
EP3523709A1 (en) Electronic device and controlling method thereof
WO2021137402A1 (en) Electronic device detecting location and method thereof

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21743776

Country of ref document: EP

Kind code of ref document: A1