KR102356944B1 - 오디오 신호들을 사용한 근접성 발견 - Google Patents

오디오 신호들을 사용한 근접성 발견 Download PDF

Info

Publication number
KR102356944B1
KR102356944B1 KR1020177002237A KR20177002237A KR102356944B1 KR 102356944 B1 KR102356944 B1 KR 102356944B1 KR 1020177002237 A KR1020177002237 A KR 1020177002237A KR 20177002237 A KR20177002237 A KR 20177002237A KR 102356944 B1 KR102356944 B1 KR 102356944B1
Authority
KR
South Korea
Prior art keywords
computing device
client computing
room
signature
audio
Prior art date
Application number
KR1020177002237A
Other languages
English (en)
Other versions
KR20170023154A (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 KR20170023154A publication Critical patent/KR20170023154A/ko
Application granted granted Critical
Publication of KR102356944B1 publication Critical patent/KR102356944B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R29/00Monitoring arrangements; Testing arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0252Radio frequency fingerprinting
    • G01S5/02521Radio frequency fingerprinting using a radio-map
    • G01S5/02522The radio-map containing measured values of non-radio values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터의 컴퓨팅과 관련되는 다양한 기술들이 본 명세서에서 설명된다. 클라이언트 컴퓨팅 장치는 오디오 신호를 캡처(capture)하도록 구성되며, 오디오 시그너처는 클라이언트 컴퓨팅 장치의 환경의 음향 상태(acoustics)를 나타낸다. 시그너처는 캡처된 오디오 신호의 고주파수 부분에 기초해서 생성되고, 시그너처는 다른 시그너처와 비교된다. 다른 시그너처는, 다른 컴퓨팅 장치에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초해서 생성된다. 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있는지에 대한 결정은, 시그너처를 다른 시그너처와 비교하는 것에 기초해서 내려질 수 있다.

Description

오디오 신호들을 사용한 근접성 발견{PROXIMITY DISCOVERY USING AUDIO SIGNALS}
모바일 컴퓨팅 장치는, 그 내부에 예컨대, 글로벌 위치 확인 센서(global positioning sensor; GPS)와 같은 위치 센서가 이제 일반적으로 장착된다. GPS 센서는 궤도 위성에 의해 방출된 방출되는 신호에 기초해서 자신의 위치를 계산한다. 그러므로, 모바일 컴퓨팅 장치가 실내에 있을 때, GPS 센서가 모바일 컴퓨팅 장치의 위치를 정확히 계산할 수 없다는 것이 확인될 수 있다.
다음 기재는 본 명세서에서 더 자세히 설명되는 본 발명 청구 대상의 간단한 요약이다. 이 요약은 청구항들의 범위에 대한 제한이라고 의도되지 않는다.
컴퓨팅 시스템이 여기서 설명된다. 컴퓨팅 시스템은 프로세서와 메모리를 포함하고, 메모리는 프로세서에 의해 실행되는 위치 시스템을 포함한다. 위치 시스템은, 클라이언트 컴퓨팅 장치의 환경의 오디오 기반 시그너처(signature)에 기초해서 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 컴퓨팅하도록 구성되며, 오디오 기반 시그너처는 클라이언트 컴퓨팅 장치에 의해 캡처(capture)되는 오디오 신호의 고주파수 부분에 기초한다. 위치 시스템은 또한, 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 클라이언트 컴퓨팅 장치에 제공하도록 구성된다.
도 1은, 클라이언트 컴퓨팅 장치를 위한 위치 데이터를 계산하도록 구성되는 예시적인 컴퓨팅 시스템의 기능적 블록도이다.
도 2는, 2개 이상의 클라이언트 컴퓨팅 장치들이 룸(room)에 함께 배치된다(co-located)고 결정하는 것을 용이하게 하는 예시적인 시스템의 기능적 블록도이다.
도 3은, 두 개의 룸들의 도면을 예증하고, 컴퓨팅 시스템은 어느 모바일 컴퓨팅 장치가 이 룸들 중 하나의 룸에 함께 배치되어 있는지를 확인할 수 있다.
도 4는, 클라이언트 컴퓨팅 장치가 다른 하나의 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 것을 이 클라이언트 컴퓨팅 장치에게 통지하는 표시(indication)를 이 클라이언트 컴퓨팅 장치에게 출력하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 5는, 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 룸에 배치되어 있다는 표시를 이 클라이언트 컴퓨팅 장치에게 출력하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 6은, 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 룸에 배치되어 있다는 표시를 이 클라이언트 컴퓨팅 장치에게 출력하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 7은, 룸의 오디오 기반 시그너처에 기초해서 룸을 위한 시변(time varying) 프로파일을 구성하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 8은, 클라이언트 컴퓨팅 장치가 특정 위치에 있다는 것을 식별하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 9는, 룸의 오디오 기반 시그너처를 생성하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 10은, 룸에 있는 다른 컴퓨팅 장치에 대한 정보를 획득하기 위한 예시적인 방법론을 예증하는 흐름도이다.
도 11은 예시적인 컴퓨터 시스템이다.
클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호에 기초해서 클라이언트 컴퓨팅 장치의 위치와 관련된 정보를 컴퓨팅하는 것과 관련된 다양한 기술들이 도면들을 참조해서 이제 설명되며, 유사한 참조 번호들은 본 명세서 전체에 걸쳐 유사한 요소들을 참조하기 위해 사용된다. 이하의 설명에서는 설명의 목적상 하나 이상의 양상의 완전한 이해를 제공하기 위해 다수의 세부 사항들이 개시된다. 하지만, 이러한 양상(들)이 이들 특정 세부사항들 없이 실행될 수 있다는 것이 명백할 수 있다. 다른 경우에, 공지된 구조체 및 장치는, 하나 이상의 양상들의 설명을 용이하게 하기 위해 블록도 형태로 도시된다. 또한, 특정 시스템 컴포넌트들에 의해 수행되고 있는 것으로 설명되는 기능이, 복수의 컴포넌트들에 의해 수행될 수 있다는 것을 이해해야 한다. 유사하게, 예를 들면, 컴포넌트는, 복수의 컴포넌트들에 의해 수행되고 있는 것으로 설명되는 기능을 수행하도록 구성될 수 있다.
또한, 용어 “또는”은, 배타적 “또는”이 아니라 포함적 “또는”을 의미하도록 의도된다. 즉, 다르게 지정되거나 문맥으로부터 명백하지 않다면, 구문 “X가 A 또는 B를 채용한다”는 자연적인 포함적 순열들 중 임의의 순열을 의미하도록 의도된다. 즉, 구문 “X가 A 또는 B를 채용한다”는 하기의 예시들 중 임의의 예시에 의해 만족된다: X가 A를 채용한다; A가 B를 채용한다; 또는 X가 A와 B 둘 다를 채용한다. 또한, 본 출원 및 첨부된 청구항들에서 사용되는 관사 "하나의"는, 다르게 지정되거나 단수형을 지향하도록 문맥으로부터 명백하지 않다면, “하나 이상”을 의미하도록 일반적으로 해석되어야 한다.
또한, 본 개시에서 사용될 때, 용어들 "컴포넌트” 및 “시스템”은 프로세서에 의해 실행될 때, 특정 기능이 수행되게 하는 컴퓨터-실행가능한 명령어들로 구성되는 컴퓨터-판독가능 데이터 저장부를 포괄하도록 의도된다. 컴퓨터-실행가능 명령어들은 루틴, 함수 등을 포함할 수 있다. 컴포넌트 또는 시스템은 단일 장치상에 국부화되거나 다수의 장치들에 걸쳐 분산될 수 있다. 또한, 본 개시에서 사용될 때, 용어 “예시적인”은 예증 또는 뭔가의 예시로서의 역할을 의미하도록 의도되며, 선호를 표시하도록 의도되지 않는다.
이제 도 1을 참조하면, 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 데이터를 컴퓨팅하는 것을 돕는 예시적인 시스템(100)이 예증된다. 본 개시에서 더 자세히 설명될, 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 데이터는 절대 위치(예컨대, 특정 빌딩 등 내의 특정 룸)일 수 있다. 다른 예시에서, 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 데이터는 상대 위치일 수 있다. 예를 들면, 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 데이터는, 클라이언트 컴퓨팅 장치(102)가 다른 클라이언트 컴퓨팅 장치와 룸에 함께 배치되어 있다는 것을 나타낼 수 있다. 클라이언트 컴퓨팅 장치(102)는, 휴대폰, 태블릿 컴퓨팅 장치, 랩톱 컴퓨팅 장치, 웨어러블 컴퓨팅 장치(예컨대, 시계, 안경 등) 등일 수 있다.
시스템(100)은, 통신 링크(106)를 거쳐 클라이언트 컴퓨팅 장치(102)와 통신하는 컴퓨팅 시스템(104)을 더 포함한다. 컴퓨팅 시스템(104)은 컴퓨팅 장치 또는 분산 컴퓨팅 시스템일 수 있다. 예를 들면, 컴퓨팅 시스템(104)은 기업(enterprise) 컴퓨팅 시스템, 데이터 센터 등일 수 있거나 이들에 포함될 수 있다. 다른 예시에서, 컴퓨팅 시스템(104)은 모바일 컴퓨팅 장치(102) 내에 포함될 수 있다.
컴퓨팅 시스템(104)은 프로세서(108)와 메모리(110)를 포함하고, 메모리(110)는 프로세서(108)에 의해 실행될 수 있는 위치 시스템(112)을 포함한다. 일반적으로, 위치 시스템(112)은 모바일 컴퓨팅 장치(102)에 의해 생성되는 데이터를 (예컨대, 통신 링크(106)를 통해) 수신하고, 수신된 데이터에 기초해서 모바일 컴퓨팅 장치의 위치를 나타내는 데이터를 계산하도록 구성된다. 위치 시스템(112)은, 모바일 컴퓨팅 장치(102)가 실내에 있을 때, 모바일 컴퓨팅 장치(102)의 위치를 나타내는 데이터를 컴퓨팅하기 위해 특히 적절하다.
컴퓨팅 시스템(104)은, 복수의 시그너처들(116)을 포함하는 데이터 저장부(114)를 추가적으로 포함한다. 한 예시에서, 시그너처들(116)은 다수의 룸들을 각각 대표할 수 있다. 따라서, 시그너처들(116) 내의 한 시그너처는 룸의 피처(feature)를 나타내는 데이터 구조를 포함할 수 있고, 그러므로 룸을 식별하도록 채용될 수 있다. 예를 들면, 시그너처들(116)은 각각의 룸들의 오디오 기반 시그너처들일 수 있다. 시그너처들(116)은, 룸들 내의 클라이언트 컴퓨팅 장치들의 마이크에 의해 캡처되는 오디오 신호들에 기초할 수 있다. 예를 들면, 시그너처들(116)은, 다수의 룸들 내의 클라이언트 컴퓨팅 장치들에 의해 캡처되는 오디오 신호들의 고주파수 부분들에 기초할 수 있다. 오디오 신호의 고주파수 부분은 예를 들면, 18 kHz를 초과하는 오디오 신호의 주파수들일 수 있다. 다른 예시에서, 오디오 신호의 고주파수 부분은 20 kHz를 초과하는 오디오 신호의 주파수들일 수 있다. 또 다른 예시에서, 오디오 신호의 고주파수 부분은 25 kHz를 초과하는 오디오 신호의 주파수들일 수 있다. 오디오 신호의 주파수 범위의 상단은, 오디오 신호를 캡처하기 위해 활용되는 마이크에 의해 제한될 수 있다. 따라서, 예를 들면, 클라이언트 컴퓨팅 장치(102)의 마이크에 의해 캡처되는 오디오 신호의 고주파수 부분은, 18 kHz와 80 kHz 사이, 20 kHz와 50 kHz 사이 등일 수 있다. 한 예시에서, 특정 범위의 시간(예컨대, 10초, 1분, 10분, 2시간) 내에 한 룸에서 캡처되는 오디오 신호들의 고주파수 부분들의 해시들(hashes)은, 특히 오디오 신호의 저주파수 부분(예컨대, 인간 귀에 가청인 오디오 신호의 부분과 비교될 때, 서로에 대해 일관적(consistent)이라고 발견되었다. 해시들간의 이 일관성은, 해시들이 룸들의 오디오 기반 프로파일들을 구축하기 위해 사용되는 것을 가능케 하며, 또한 두 개의 장치들이 함께 배치되어 있는지 여부를 확인하도록 해시들이 비교되는 것을 가능케 한다. 비제한적인 예시에서, 시그너처들(116)은, 룸들 내의 클라이언트 컴퓨팅 장치들에 의해 캡처되는 오디오 신호들의 고주파수 부분들의 각각의 해시들일 수 있다. 또한, 시그너처들(116)은 자신과 연관된 각각의 식별자들을 가질 수 있고, 식별자들은, 시그너처들(116)이 기초하고 있는 오디오 신호들을 캡처하는 클라이언트 컴퓨팅 장치들을 식별한다.
위치 시스템(112)은, 클라이언트 컴퓨팅 장치들에 의해 캡처되는 오디오 신호들의 적어도 고주파수 부분들을 수신하고, 이러한 고주파수 부분들에 기초해서 시그너처들을 생성하도록 구성된다. 한 예시에 따라, 시그너처 생성기 컴포넌트(118)는 룸들 내의 클라이언트 컴퓨팅 장치들에 의해 캡처되는 오디오 신호들의 고주파수 부분들에 대해 해시 알고리즘을 실행할 수 있으며, 산출되는 해시들은 시그너처들 내에 포함된다.
위치 시스템(112)은, 클라이언트 컴퓨팅 장치(예컨대, 클라이언트 컴퓨팅 장치(102))에 의해 캡처된 오디오 신호에 기초하는 시그너처를, 데이터 저장부(114) 내의 시그너처들(116)과 비교하는, 비교기 컴포넌트(120)를 더 포함할 수 있다. 위치 시스템(112)은, 룸들 내의 클라이언트 컴퓨팅 장치들에 의해 캡처되는 오디오 신호들의 고주파수 부분들에 기초해서 룸들의 프로파일들을 구축할 수 있는 프로파일 구축기 컴포넌트(122)를 더 포함한다. 한 예시에서, 프로파일 구축기 컴포넌트(122)는, 시간에 걸쳐(over time) 룸들의 고주파수 음향을 나타내는 룸들의 시변(time-varying) 프로파일들을 생성할 수 있다. 예를 들면, 룸은 제1 시간에(예컨대, 에어컨 유닛이 동작하고 있을 때) 제1 시그너처에 의해 표현될 수 있고, 제2 시간에(예컨대, 에어컨 유닛이 동작하고 있지 않을 때) 제2 고주파수 시그너처에 의해 표현될 수 있다. 위치 시스템(112)은, 클라이언트 컴퓨팅 장치의 결정된 (절대 또는 상대) 위치를 나타내는 데이터를, 클라이언트 컴퓨팅 장치에 송신하도록 구성되는 송신기 컴포넌트(124)를 더 포함한다.
시스템(100)의 동작이 클라이언트 컴퓨팅 장치(102)를 참조해서 이제 설명될 것이다. 클라이언트 컴퓨팅 장치(102)는 룸 안에 배치될 수 있고, 클라이언트 컴퓨팅 장치(102)가, 어느 룸 안에 클라이언트 컴퓨팅 장치(102)가 배치되어 있는지를 확인하고 그리고/또는 임의의 다른 클라이언트 컴퓨팅 장치가 이 룸 안에서 클라이언트 컴퓨팅 장치(102)와 함께 배치되어 있는지를 확인하는 것이 바람직할 수 있다. 따라서, 클라이언트 컴퓨팅 장치(102)는 룸의 오디오 클립을 캡처할 수 있다. 오디오 클립의 길이는 0.5초, 1초, 3초, 6초, 8초 등일 수 있다. 한 예시에서, 클라이언트 컴퓨팅 장치(102)는 캡처된 오디오 클립에 대해 고역 필터를 적용할 수 있어서, 오디오 클립으로부터 저주파수 부분을 제거한다. 그러면, 잔여 부분은 오디오 클립의 고주파수 부분이다. 클라이언트 컴퓨팅 장치(102)는 옵션으로 오디오 클립의 고주파수 부분을 압축하고, 오디오 클립의 압축된 고주파수 부분을 통신 링크(106)를 통해 컴퓨팅 시스템(104)에 송신할 수 있다. 다른 예시에서, 클라이언트 컴퓨팅 장치(102)는 오디오 클립의 전체를 압축하고, 압축된 오디오 클립을 컴퓨팅 시스템(104)에 송신한 다음, 컴퓨팅 시스템(104)이 상기 설명된 필터링을 수행할 수 있다. 또한, 클라이언트 컴퓨팅 장치(102)는 압축되지 않은 오디오 클립을 컴퓨팅 시스템(104)에 송신할 수 있다.
한 예시에서, 위치 시스템(112)은 오디오 클립의 압축된 고주파수 부분을 수신하고, 이 부분에 대해 압축 해제 알고리즘을 실행하여, 클라이언트 컴퓨팅 장치(102)에 의해 캡처된 오디오 클립의 고주파수 부분이 획득된다. 그런 다음, 시그너처 생성기 컴포넌트(118)는, 클라이언트 컴퓨팅 장치(102)에 의해 캡처되는 오디오 클립의 고주파수 부분에 기초해서, 클라이언트 컴퓨팅 장치(102)가 그 안에 상주하는 룸의 오디오 기반 시그너처를 생성한다. 이전에 설명된 바와 같이, 시그너처 생성기 컴포넌트(118)는 오디오 클립의 고주파수 부분에 대해 해시 알고리즘을 실행할 수 있어서, 룸의 오디오 기반 시그너처를 생성한다. 추가적으로, 시그너처 생성기 컴포넌트(118)는, 클라이언트 컴퓨팅 장치(102)(또는 그 사용자)의 신원(identity)이 시그너처 내에 포함되게 하거나, 그렇지 않으면 시그너처와 연관되도록(예컨대, 시그너처에 부가됨) 할 수 있다.
그런 다음, 비교기 컴포넌트(120)는, 시그너처 생성기 컴포넌트(118)에 의해 생성된 시그너처를, 데이터 저장부(114) 내의 시그너처(116)와 비교할 수 있다. 데이터 저장부(114) 내의 시그너처(116)는, 룸과 연관된 시그너처(116)에 의해 표현되는 룸의 신원을 가질 수 있다. 추가적으로 또는 대안적으로, 시그너처(116)는, 시그너처(116)가 기초로 하는 오디오 신호를 캡처한 클라이언트 컴퓨팅 장치의 신원을 가질 수 있다. 한 예시에 따라, 비교기 컴포넌트(120)는, 데이터 저장부(114) 내의 시그너처(116)에서 식별되는 바와 같은 룸 위치에, 수신된 시그너처를 매핑하도록 트레이닝된 분류기를 포함한다. 다른 예시에서, 비교기 컴포넌트(120)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처와, 시그너처들(116) 내의 각 시그너처간의 쌍별 비교를 수행할 수 있다. 비교기 컴포넌트(120)는, 쌍별 비교를 수행할 때 두 개의 시그너처들간의 유사성을 나타내는, 거릿값을 획득하도록 거리 기반 알고리즘을 활용할 수 있다. 시그너처와 매칭 시그넌처간의 거릿값이 미리 규정된 임계치 미만일 때, 비교기 컴포넌트(120)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처에 대한 매칭(match)을 출력할 수 있다. 그러면, 이 경우에, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처는, 시그너처들(116) 내의 하나보다 많은 시그너처들에 매칭한다고 발견될 수 있다. 이러한 접근법은, 룸 안에 클라이언트 컴퓨팅 장치(102)와 함께 배치되어 있는 클라이언트 컴퓨팅 장치의 신원을 확인하는 것이 바람직할 때, 특히 적절할 수 있다. 하지만, 또한, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처를 룸의 신원에 매칭하기 위한 임의의 적절한 기술이 가능하다는 것을 이해해야 한다.
다른 예시에서, 비교기 컴포넌트(120)는 시그너처들(116) 내의 단일 매칭 시그너처를 검색할 수 있다. 비교기 컴포넌트(120)는, 1) 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처와 매칭 시그너처간의 거릿값이 모든 거릿값들 중 최저이고, 2) 거릿값이 미리 규정된 임계값 미만일 때, 시그너처들(116) 내의 한 시그너처가 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처에 매칭된다고 결정할 수 있다. 이 접근법은, 클라이언트 컴퓨팅 장치(102)가 어느 룸 안에 배치되어 있는지를 식별하는 것이 바람직할 때, 특히 적절할 수 있다. 다른 예시에서, 비교기 컴포넌트(120)는, 클러스터링 알고리즘의 사용을 통해, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처를, 데이터 저장부(114) 내의 시그너처들(116)과 비교할 수 있다. 이러한 경우에, 비교기 컴포넌트(120)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처와 동일 클러스터 내의 시그너처들을, 매칭 시그너처들로서 출력할 수 있다.
프로파일 구축기 컴포넌트(122)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처에 기초해서 선택적으로(optionally) 룸의 프로파일을 생성하거나 갱신할 수 있다. 예를 들면, (비교기 컴포넌트(120)에 의해 수행되는 비교에 기초해서) 일단 룸이 식별되면, 프로파일 구축기 컴포넌트(122)는 룸의 프로파일을 생성하거나 갱신할 수 있다. 따라서, 예를 들면, 프로파일 구축기 컴포넌트(122)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처에 기초해서 상기 언급된 룸의 프로파일 내의 불확실성(uncertainty)을 감소시킬 수 있다. 또한, 프로파일이 시변일 수 있으므로, 시그너처에 할당되는 타임스탬프가 채용되어 프로파일을 갱신할 수 있다.
시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처에 대응하는(예컨대, 충분히 유사한) 시그너처들(116) 내의 적어도 하나의 시그너처를 비교기 컴포넌트(120)가 식별한 것에 응답해서, 송신기 컴포넌트(124)는, 클라이언트 컴퓨팅 장치(102)의 컴퓨팅된 위치를 나타내는 데이터를, 클라이언트 컴퓨팅 장치(102)에 (그리고 선택적으로, 클라이언트 컴퓨팅 장치(102)와 함께 배치되어 있는 다른 클라이언트 컴퓨팅 장치에) 송신할 수 있다. 클라이언트 컴퓨팅 장치(102)에 송신되는 데이터는, 클라이언트 컴퓨팅 장치(102)가 배치되어 있는 룸을 식별하는 데이터일 수 있다. 다른 예시에서, 클라이언트 컴퓨팅 장치에 송신되는 데이터는, 룸 안에 클라이언트 컴퓨팅 장치(102)와 함께 배치되어 있는 다른 클라이언트 컴퓨팅 장치를 식별하는 데이터일 수 있다.
클라이언트 컴퓨팅 장치(102)는, 다양한 방식들로 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 이 데이터를 활용할 수 있다. 예를 들면, 클라이언트 컴퓨팅 장치(102)는, 환경의 지도를 클라이언트 컴퓨팅 장치(102)의 사용자에게 제시할 수 있다. 다른 예시에서, 클라이언트 컴퓨팅 장치(102)는, 클라이언트 컴퓨팅 장치(102)와 함께 배치되어 있는 다른 클라이언트 컴퓨팅 장치의 신원을 수신하는 것에 응답해서, 콘텐츠 공유 애플리케이션을 실행할 수 있다. 예를 들면, 클라이언트 컴퓨팅 장치(102)는, 클라이언트 컴퓨팅 장치(102)와 함께 룸 안에 배치되어 있는 다른 클라이언트 컴퓨팅 장치상에 콘텐츠가 디스플레이되게 할 수 있다. 다른 예시에서, 클라이언트 컴퓨팅 장치(102)는, 클라이언트 컴퓨팅 장치(102)와 함께 룸 내에 배치되어 있는 다른 클라이언트 컴퓨팅 장치와의 공유 파일 공간으로의 액세스를 제공받을 수 있다. 여전히 다른 예시에서, 광고와 같은 전자 통신 데이터는, 클라이언트 컴퓨팅 장치(102)가 배치되어 있는 룸의 식별에 기초해서 클라이언트 컴퓨팅 장치(102)에 푸시(push)될 수 있다. 다른 예시도 또한 고려된다.
일부 상황에서 위치 시스템(112)은, 클라이언트 컴퓨팅 장치(102)가 다른 클라이언트 컴퓨팅 장치와 함께 배치되어 있는지에 충분한 확실성을 가지고 확인하지 못할 수 있다는 것이 알려질 수 있다. 예를 들면, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처와 제2 클라이언트 컴퓨팅 장치에 의해 생성되는 시그너처들(116) 내의 시그너처간의 거릿값 (여기서 시그너처들은 시간상 서로 근접하게 생성되었음)은 임계값보다 클 수 있지만, 여전히 어느 정도 유사할 수 있다. 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치가 동일한 룸 안에 함께 배치되어 있는지에 대한 모호성을 감소시키도록, 송신기 컴포넌트(124)는 클라이언트 컴퓨팅 장치(102) (그리고 제2 클라이언트 컴퓨팅 장치)에게 추가 정보에 대한 요청을 송신할 수 있다. 이 추가적인 정보는, 클라이언트 컴퓨팅 장치(102)가 통신하고 있는 액세스 포인트 (예컨대, 와이파이 액세스 포인트, 셀룰러 타워, 블루투스 방출기 등)의 신원을 포함할 수 있지만, 이것에만 제한되지는 않는다.
다른 예시에서, 송신기 컴포넌트(124)는, 클라이언트 컴퓨팅 장치(102)로 하여금 내부에 인코딩된 식별자를 갖는 오디오 신호를 방출하게 하는, 클라이언트 컴퓨팅 장치(102)에게 신호를 송신할 수 있으며, 식별자는 클라이언트 컴퓨팅 장치(102) 및/또는 그 사용자를 식별한다. 한 예시에서, 오디오 신호는 고주파수 오디오 신호일 수 있다. 다른 예시에서, 오디오 신호는 고주파수 부분 및 저주파수 부분 (예컨대, 20 Hz)을 포함할 수 있으며, 저주파수 부분은 또한 인간의 귀에 들리지 않는다. 마찬가지로, 송신기 컴포넌트(124)는, 룸 안의 제2 클라이언트 컴퓨팅 장치로 하여금, 내부에 인코딩된 제2 클라이언트 컴퓨팅 장치 및 그 사용자의 신원을 갖는 비가청(inaudible) 오디오 신호를 송신하게 할 수 있다. 클라이언트 컴퓨팅 장치(102)의 마이크는 비가청 오디오 신호를 캡처할 수 있고, 클라이언트 컴퓨팅 장치(102)는 신호를 압축하며, 압축된 신호를 컴퓨팅 시스템(104)에 송신할 수 있다. 위치 시스템(112)은 이 오디오 신호를 압축해제하고, 내부에 인코딩된 식별자를 검색할 수 있다. 이 경우에, 비교기 컴포넌트(120)는, 오디오 신호로부터 추출된 식별자를, 제2 클라이언트 컴퓨팅 장치(또는 그 사용자)의 알려진 식별자와 비교할 수 있다. 오디오 신호 내에 인코딩된 식별자와 기지의(known) 식별자가 매칭된다고 비교기 컴포넌트(120)가 결정할 때, 비교기 컴포넌트(120)는, 클라이언트 컴포넌트(120)는, 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치가 룸 안에 함께 배치되어 있는지에 대한 모호성을 감소시킬 수 있다. 예를 들면, 클라이언트 컴퓨팅 장치(102)가, 내부에 인코딩된, 제2 클라이언트 컴퓨팅 장치의 식별자를 포함하는 오디오 신호를 캡처할 때, 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치가 서로 함께 배치되어 있다고 적당한 확실성으로 결정될 수 있다.
도 1이 시스템(100)의 예시적인 설정을 예증하는 한편, 다른 배치들이 고려된다고 이해되어야 한다. 예를 들면, 클라이언트 컴퓨팅 장치(102)가 압축된 오디오 신호를 컴퓨팅 시스템(104)에 송신하는 것이 아니라, 클라이언트 컴퓨팅 장치(102)는 시그너처 생성기 컴포넌트(118)를 포함할 수 있다. 따라서, 클라이언트 컴퓨팅 장치(102)는 시그너처를 컴퓨팅 시스템(104)에 송신할 수 있고, 그런 다음, 컴퓨팅 시스템(104)이 위에서 설명된 비교를 수행할 수 있다. 마찬가지로, 클라이언트 컴퓨팅 장치(102)가, 내부에 인코딩된 식별자를 포함하는 고주파수 오디오 신호를, 컴퓨팅 시스템(104)에 송신하는 것이 아니라, 클라이언트 컴퓨팅 장치(102)는 고주파수 오디오 신호를 분석하고 내부의 신원을 추출하도록 구성될 수 있다. 그런 다음, 클라이언트 컴퓨팅 장치(102)는 추출된 신원을 컴퓨팅 시스템(104)에 송신할 수 있고, 컴퓨팅 시스템(104)이 위에서 설명된 비교를 수행할 수 있다. 다른 대안도 또한 고려된다.
이제 도 2를 참조하면, 클라이언트 컴퓨팅 장치(102)의 위치를 나타내는 데이터를 컴퓨팅하도록 구성되는 다른 예시적인 시스템(200)이 예증된다. 시스템(200)은 클라이언트 컴퓨팅 장치(102), 컴퓨팅 시스템(104), 및 제2 클라이언트 컴퓨팅 장치(202)를 포함한다. 제2 클라이언트 컴퓨팅 장치(202)가 휴대폰이라고 예증되는 한편, 제2 클라이언트 컴퓨팅 장치(202)는 데스크톱 컴퓨팅 장치, 비디오 게임 콘솔, 텔레비전, 셋톱 박스 등과 같은 정지형 장치(stationary device)일 수 있다고 이해해야 한다. 또한, 제2 클라이언트 컴퓨팅 장치(202)는, 휴대폰, 태블릿 컴퓨팅 장치, 랩톱 컴퓨팅 장치, 웨어러블 장치 등과 같은 모바일 장치일 수 있다. 도시된 바와 같이, 클라이언트 컴퓨팅 장치(102)는 컴퓨팅 시스템(104)과 통신하고, 제2 클라이언트 컴퓨팅 장치(202)는 또한 컴퓨팅 시스템(104)과 통신한다.
클라이언트 컴퓨팅 장치(102)는 클라이언트 프로세서(204)와 클라이언트 메모리(206)를 포함하고, 클라이언트 메모리(206)는 클라이언트 프로세서(204)에 의해 실행가능한 애플리케이션 및 컴포넌트를 포함한다. 이러한 컴포넌트 및 애플리케이션은 이하에서 논의될 것이다.
클라이언트 컴퓨팅 장치(102)는, 오디오 신호를 캡처하도록 구성되는 마이크(208)를 더 포함한다. 예를 들면, 마이크(208)는 저주파수 부분(인간의 귀에 가청임)과 고주파수 부분(인간의 귀에 비가청임) 둘 다를 갖는 오디오 신호를 캡처하도록 구성될 수 있다. 클라이언트 컴퓨팅 장치(102)는, 오디오 신호를 방출할 수 있는 스피커(210)를 더 포함한다. 예시에 따라, 스피커(210)는 고주파수 오디오 신호를 방출할 수 있다.
클라이언트 컴퓨팅 장치(102)는, 다른 장치와의 무선 통신 링크를 형성하도록 구성되는 무선 칩셋(212)을 또한 포함한다. 예를 들면, 무선 칩셋(212)은 와이파이 칩셋, 블루투스 칩셋, 광학 통신 칩셋 등일 수 있다. 여전히 또한, 클라이언트 컴퓨팅 장치(102)는 센서(214)를 포함할 수 있다. 센서(214)는 GPS 센서, 가속도계, 속도 센서, 자이로스코프, 기압계, 온도계 등일 수 있다.
클라이언트 메모리(206) 내의 컴포넌트 및 애플리케이션이 이제 논의될 것이다. 클라이언트 메모리(206)는, 클라이언트 컴퓨팅 장치(102)의 마이크(208)가 오디오 클립을 캡처하게 하도록 구성되는 샘플러 컴포넌트(216)를 포함한다. 샘플러 컴포넌트(216)는, 클라이언트 컴퓨팅 장치(102)의 마이크(208)에 의해 캡처되는 오디오 신호에 대해 고역 필터를 적용하도록 또한 구성될 수 있다.
클라이언트 메모리(206)는, 마이크(208)에 의해 캡처되는 오디오 신호의 적어도 고주파수 부분을 압축하도록 구성되는 압축기 컴포넌트(218)를 선택적으로 포함한다. 클라이언트 메모리(206)는, 마이크(208)에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초해서 오디오 기반 시그너처를 생성할 수 있는, 시그너처 생성기 컴포넌트(118)을 선택적으로 더 포함할 수 있다, 방출기 컴포넌트(220)는, 오디오 신호의 압축된 고주파수 부분을 컴퓨팅 시스템(104)에 방출하도록 구성될 수 있다. 대안적으로, 방출기 컴포넌트(220)는, 시그너처 생성기 컴포넌트(118)에 의해 생성되는 시그너처를 컴퓨팅 시스템(104)에 방출하도록 구성될 수 있다. 또 다른 하나의 예시에서, 방출기 컴포넌트(220)는 스피커(210)의 동작을 제어하도록 구성될 수 있다. 예를 들면, 방출기 컴포넌트(220)는, 스피커(210)가, 내부에 인코딩된 클라이언트 컴퓨팅 장치(102)(또는 그 사용자)의 신원을 갖는 고주파수 오디오 신호를 출력하게 할 수 있다. 클라이언트 컴퓨팅 장치(102)를 식별하는 데이터는 컴퓨팅 시스템(104)에 알려질 수 있다. 예를 들면, 컴퓨팅 시스템(104)은 명령어를 클라이언트 컴퓨팅 장치(102)에 송신할 수 있으며, 명령어는, 방출기 컴포넌트(220)가 고주파수 오디오 신호를 출력하도록 스피커(210)를 제어하게 한다.
클라이언트 메모리(206)는, 컴퓨팅 시스템(104)에 의해 컴퓨팅되는 위치를 나타내는 데이터에 기초해서 적어도 하나의 동작을 수행할 수 있는 위치 기반 애플리케이션(222)을 더 포함할 수 있다. 예시적인 동작은 도 1을 참조해서 위에서 설명되었다.
시스템(200)의 동작이 이제 설명된다. 클라이언트 컴퓨팅 장치(102)는 실내 환경일 수 있고, 클라이언트 컴퓨팅 장치(102)와 룸 안에 함께 배치되어 있는 다른 클라이언트 컴퓨팅 장치를 식별하는 것이 바람직할 수 있다. 도 2에 도시된 바와 같이, 제2 클라이언트 컴퓨팅 장치(202)는 클라이언트 컴퓨팅 장치(102)와 함께 룸 안에 배치되어 있다. 샘플러 컴포넌트(216)는 오디오 신호를 캡처하도록 마이크(208)를 제어할 수 있고, 오디오 신호는 클라이언트 컴퓨팅 장치(102)의 환경에 대한 음향 정보를 포함한다. 또한, 샘플러 컴포넌트(216)는 오디오 신호의 저주파수 부분을 필터링하여 오디오 신호의 고주파수 부분을 생성할 수 있다.
압축기 컴포넌트(218)는, 오디오 신호의 고주파수 부분을 선택적으로 압축하고, 오디오 신호의 압축된 고주파수 부분이 컴퓨팅 시스템(104)에 송신되게 할 수 있다. 대안적으로, 시그너처 생성기 컴포넌트(118)가 오디오 신호의 고주파수 부분을 수신할 수 있고, 오디오 신호의 고주파수 부분에 기초해서 오디오 기반 시그너처를 생성할 수 있다. 그런 다음, 시그너처 생성기 컴포넌트(118)는 시그너처가 컴퓨팅 시스템(104)에 송신되게 할 수 있다.
한편, 제2 클라이언트 컴퓨팅 장치(202)는 샘플러 컴포넌트(216), 압축기 컴포넌트(218), 시그너처 생성기 컴포넌트(118), 방출기 컴포넌트(220) 각각의 사례들을 포함할 수 있다. 따라서, 시간상 유사한 지점에서(예컨대, 마이크(208)가 클라이언트 컴퓨팅 장치(102)에서 오디오 신호를 캡처하는 때로부터 임계 시간량 이내에) 제2 클라이언트 컴퓨팅 장치(202)는 오디오 신호를 캡처할 수 있고, 이러한 오디오 신호에 기초하는 시그너처가 (제2 클라이언트 컴퓨팅 장치(102) 또는 컴퓨팅 시스템(104)) 생성될 수 있다. 위에서 설명된 바와 같이, 컴퓨팅 시스템(104)은, 클라이언트 컴퓨팅 장치(102) 및 제2 클라이언트 컴퓨팅 장치(202)에 의해 캡처되는 오디오 신호에 기초해서 생성된 시그너처들을 비교할 수 있다.
이 예시에서, 컴퓨팅 시스템(104)은, 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치(202)가 동일한 룸 안에 함께 배치되어 있다는 것을 표시하도록 이러한 시그너처들이 서로 충분히 유사하다고 결정할 수 있다. 이 결정은 이러한 시그너처들에 할당되는 타임스탬프들에 부분적으로 기초해서 내려질 수 있으며, 타임스탬프들간의 시간은 미리 규정된 임계값(예컨대, 1분, 2분, 5분 등) 미만이다. 그런 다음, 컴퓨팅 시스템(104)은, 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치(202)가 동일 룸 안에 함께 배치되어 있다고, 클라이언트 컴퓨팅 장치들(102 및/또는 202)에게 표시하는 신호를, 클라이언트 컴퓨팅 장치(102) 및/또는 제2 클라이언트 컴퓨팅 장치(202)에게 송신할 수 있다. 이것은, 이러한 컴퓨팅 장치들(102 및 202)이 동일 룸 안에 있다고 알려졌을 때, 컴퓨팅 장치들(102 및 202)간의 콘텐츠 공유를 허용하도록 구성될 수 있는, 위치 기반 애플리케이션(222)을 시작할 수 있다. 예를 들면, 위치 기반 애플리케이션(222)은, 클라이언트 컴퓨팅 장치(102)의 디스플레이상에 보여지는 콘텐츠가, 클라이언트 컴퓨팅 장치(202)의 디스플레이 상에 동시에 디스플레이되게 할 수 있다.
컴퓨팅 시스템(104)이, 클라이언트 컴퓨팅 장치(102) 및 제2 클라이언트 컴퓨팅 장치(202)가 동일 룸 안에 함께 배치되어 있다고 충분한 확실성을 가지고 확인할 수 없을 때, 컴퓨팅 시스템(104)은 자신의 환경에 대한 추가적인 정보를 획득하기 위한 명령어를 클라이언트 컴퓨팅 장치(102) 및/또는 제2 클라이언트 컴퓨팅 장치(202)에게 송신할 수 있다. 한 예시에서, 컴퓨팅 시스템(104)은, 스피커(210)가 고주파수 오디오 신호를 출력하게 하는 명령어를, 클라이언트 컴퓨팅 장치(102)에게 송신할 수 있으며, 고주파수 오디오 신호는 내부에 인코딩된 클라이언트 컴퓨팅 장치(102)의 식별자를 가진다. 제2 클라이언트 컴퓨팅 장치(202)는, 예를 들면, (배경에서) 고주파수 오디오 신호를 청취할 수 있고, 고주파수 오디오 신호 내에 인코딩된, 제1 클라이언트 컴퓨팅 장치(102)의 신원을 확인할 수 있다. 그런 다음, 제2 클라이언트 컴퓨팅 장치(202)는 클라이언트 컴퓨팅 장치(102)의 신원을 컴퓨팅 시스템(104)에 송신할 수 있고, 컴퓨팅 시스템(104)은, (예컨대, 제2 클라이언트 컴퓨팅 장치(202)가 고주파수 오디오 신호 내에 인코딩된 클라이언트 컴퓨팅 장치(102)의 신원을 확인할 수 있기 때문에) 제2 클라이언트 컴퓨팅 장치(202)가 클라이언트 컴퓨팅 장치(102)에 근접해 있다는 지식에 기초해서, 클라이언트 컴퓨팅 장치(102)와 제2 클라이언트 컴퓨팅 장치(202)가 동일한 룸 내에 함께 배치되어 있다고 결정할 수 있다.
이제 도 3을 참조하면, 본 개시에서 설명된 양상이 특히 적절한 예시적인 환경(300)이 예증된다. 환경(300)은 제1 룸(302)과 (제1 룸(302)에 인접하게 도시된) 제2 룸(304)을 포함한다. 제1 룸(302) 안에서, 회의가 수행되고 있다. 구체적으로, 제1 룸(302) 안에서, 제1 사용자(306)가 랩톱 컴퓨팅 장치(308)를 사용하고 있고, 제2 사용자(310)가 휴대폰(312)을 사용하고 있으며, 제3 사용자(314)가 태블릿 컴퓨팅 장치(316)를 채용하고 있다. 제1 사용자(306), 제2 사용자(310), 및 제3 사용자(314)는, 제1 룸(302) 내에 위치해 있는 디스플레이(318) 상에 도시된 콘텐츠를 또한 제공받을 수 있다. 예를 들면, 디스플레이(318)는 텔레비전일 수 있다. 제1 룸(302)은, 무선 라우터일 수 있는, 무선 액세스 포인트(320)를 또한 포함한다.
제2 룸(304)은, 휴대폰(322)을 사용하고 있는, 제4 사용자(321)를 포함한다. 따라서, 제4 사용자(320)는, 제1 룸(302)에서 수행되고 있는 회의에 포함되지 않는다.
이전에 설명된 바와 같이, 제1 룸 내의 고주파수 오디오는 제1 룸(302)을 위한 오디오 기반 시그너처로서 작용할 수 있는 반면, 제2 룸(304) 내의 고주파수 오디오는 제2 룸(304)을 위한 오디오 기반 시그너처로서 작용할 수 있다. 예를 들면, 제1 룸(302)과 제2 룸(304) 내의 상이한 가구는, 룸들(302 및 304) 내에서 관찰되는 고주파수 오디오가 상이하게 되게 할 수 있다. 또한, 제1 룸(302)과 제2 룸(304)의 크기들은, 이러한 룸들 내에서 관찰되는 고주파수 오디오가 상이하게 되게 할 수 있다. 일시적으로 대응하는 시간들에서 동일한 룸 내의 상이한 장치들에 의해 캡처되는 고주파수 오디오 신호들에 기초해서 생성되는 상이한 해시들은, 룸마다 고유(unique)하고 서로 유사하다고 발견되었다. 이것은 컴포넌트 시스템(104)이, 어느 장치가 제1 룸(302)에 함께 배치되어 있고, 어느 장치(들)이 제2 룸(304)에 함께 배치되어 있는지를 구별하는 것을 가능하게 한다.
동작 중에, 랩톱 컴퓨팅 장치(308), 휴대폰(312), 태블릿 컴퓨팅 장치(316), 및 디스플레이(318) (통칭해서 “장치들”이라고 지칭됨)는 오디오 신호를 캡처하도록 구성될 수 있고, 고주파수 오디오 신호의 해시가 (예컨대, 장치들(308, 312, 316, 및 318) 및/또는 컴퓨팅 시스템(104)에 의해) 생성될 수 있다. 유사하게, 제2 룸(304) 내의 휴대폰(322)은 오디오 신호를 캡처하도록 구성될 수 있고, 오디오 신호의 고주파수 부분의 해시가 (예컨대, 휴대폰(322) 또는 컴퓨팅 시스템(104)에 의해) 생성될 수 있다. 컴퓨팅 시스템(104)은 이 해시들을 수신하고, 이러한 해시들에 대해 클러스터링 알고리즘을 실행할 수 있다. 이 예시에서, 산출되는 클러스터는, 1) 제1 룸(302) 내의 장치들(308, 312, 316, 및 318)에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초하는 해시를 포함하는 제1 클러스터; 및 2) 제 룸(304) 내의 휴대폰(322)에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초해서 생성되는 해시를 포함하는 제2 클러스터를 포함할 것이다. 따라서, 컴퓨팅 시스템(104)은, 장치들(308, 312, 316, 및 318)이 제1 룸(302)내에서 서로 함께 배치되어 있다고 결정할 수 있고, 컴퓨팅 시스템(104)는, 클라이언트 컴퓨팅 장치(322)가 다른 룸 내에 있다(예컨대, 장치들(308, 312, 316, 및 318)과 함께 배치되어 있지 않다)고 결정할 수 있다.
위에서 설명된 바와 같이, 장치들(308, 312, 316, 및 318)과 휴대폰(322)은, 자신들의 각자의 환경들에 대한 추가적인 정보를 컴퓨팅 시스템(104)에 또한 송신할 수 있다. 예를 들면, 장치들(308, 312, 316, 및 318)이 액세스 포인트(320)와 통신할 수 있는 반면, 제2 룸(304) 내의 휴대폰(322)은 다른 액세스 포인트(미도시됨)와 통신할 수 있다. 장치들(308, 312, 316, 및 318)은, 해시들을 클러스터링할 때 액세스 포인트(320)의 신원을 활용할 수 있는 컴퓨팅 시스템(104)에게, 액세스 포인트(320)의 신원을 송신할 수 있다(예컨대, 두 개 이상의 컴퓨팅 장치들이 액세스 포인트(320)의 동일 신원을 보고할 때, 이 두 개의 보고 장치들은 서로에 대해 상대적으로 근접하게 있을 가능성이 있다).
또한, 이전에 지적한 바와 같이, 장치들(308, 312, 316, 및 318) 중 하나 이상 및/또는 휴대폰(322)은, 내부에 인코딩된 각자의 장치 신원들을 갖는 고주파수 오디오 신호들을 방출하도록 야기될 수 있다. 장치들(308, 312, 316, 및 318) 중 하나 이상 및/또는 휴대폰(322)은 고주파수 오디오 신호들을 배경에서 청취할 수 있고, 컴퓨팅 시스템(104)에 검출된 신원을 보고할 수 있다. 예를 들면, 장치(312)가 고주파수 오디오 신호를 방출할 때, 랩톱 컴퓨팅 장치(308)는 이러한 오디오 신호를 캡처하고, 내부에 인코딩된 장치(312)의 신원을 결정하도록 구성될 수 있는 한편, 제2 룸(304) 내의 장치(322)는 (룸들(302 및 304)을 분리시키는 벽 때문에) 고주파수 오디오 신호를 획득하지 못할 수 있다. 컴퓨팅 시스템(104)은 제1 룸(302) 내의 장치들(308, 312, 316 및 318) 중 하나 이상으로부터 이 정보를 제공받을 수 있고, 어느 장치들이 제1 룸(302) 내에서 서로 함께 배치되어 있는지를 확인할 수 있다.
장치들(308, 312, 316, 및 318)이 제1 룸(302) 내에 서로 함께 배치되어 있다는 결정에 응답해서, 컴퓨팅 시스템(104)은, 위치 기반 애플리케이션이, 제1 룸(302) 내의 장치들 중 적어도 하나의 장치상에서 실행되게 할 수 있어서, 예를 들면, 콘텐츠가 장치들(308, 312, 316, 및 318) 중에서 공유될 수 있다(한편 콘텐츠는 제2 룸(304) 내의 휴대폰(322)과는 공유되지 않을 수 있다). 예를 들면, 컴퓨팅 시스템(104)은, 디스플레이(318) 상에 보여진 정보에 대응하는 콘텐츠가, 컴퓨팅 장치들(308, 312, 및 316)의 디스플레이상에 동시에 제시되게 할 수 있다(하지만, 휴대폰(322)의 디스플레이 상에는 제시되지 않음).
도 4 내지 10은, 클라이언트 컴퓨팅 장치의 위치를 나타내는 컴퓨팅 장치와 관련된 예시적인 방법론을 예증한다. 방법론이, 순서대로 수행되는 일련의 동작들로서 도시되고 설명되지만, 방법론이 이 순서로만 제한되지 않는다는 것을 이해하고 인정해야 한다. 예를 들면, 일부 동작들은 본 개시에서 설명되는 것과는 다른 순서로 발생할 수 있다. 또한, 동작은 다른 동작과 동시에 발생할 수 있다. 또한, 일부 사례에서, 모든 동작들이 본 개시에서 설명된 방법론을 구현하도록 요구되지 않을 수도 있다.
또한, 본 개시에서 설명된 동작들은, 하나 이상의 프로세서들에 의해 구현될 수 있고, 그리고/또는 컴퓨터 판독가능 매체 또는 매체들 상에 저장될 수 있는 컴퓨터 실행가능 명령어들일 수 있다. 컴퓨터 실행가능 명령어들은, 루틴, 서브루틴, 프로그램들, 실행 스레드(thread), 및/또는 등등을 포함할 수 있다. 또한, 방법론의 동작의 결과는, 컴퓨터 판독가능 매체 내에 저장되고, 디스플레이 장치상에 디스플레이상에 디스플레이되고, 그리고/또는 등등이 수행될 수 있다.
이제 도 4를 참조하면, 클라이언트 컴퓨팅 장치가 룸 내에 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 표시를 클라이언트 컴퓨팅 장치에게 출력하는 것을 용이하게 하는 예시적인 방법론(400)이 예증된다. 예시에서, 방법론(400)은 데이터 센터 내의 적어도 하나의 서버상에서 실행될 수 있다. 방법론(400)은 단계(402)에서 시작되고, 단계(404)에서 오디오 신호가 클라이언트 컴퓨팅 장치로부터 수신된다. 오디오 신호는 예를 들면, 인간의 귀에 비가청인 주파수를 갖는 고주파수 오디오 신호일 수 있거나 이 고주파수 오디오 신호를 포함할 수 있다. 또한, 단계(404)에서 수신되는 오디오 신호는 압축될 수 있다. 단계(406)에서, 고주파수 신오에 기초해서 시그너처가 생성된다. 시그너처는, 고주파수 오디오 신호에 대해 해시 알고리즘의 실행에 의해 생성되는 해시일 수 있다.
단계(408)에서, 단계(406)에서 생성되는 시그너처는, 제2 클라이언트 컴퓨팅 장치에 대응하는 제2 시그너처와 비교된다. 예를 들면, 제2 시그너처는 제2 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호에 기초해서 생성될 수 있으며, 제1 시그너처 및 제2 시그너처는 시간상 근접하게 생성된다. 예를 들면, 제1 시그너처는 자기에게 할당되는 제1 타임스탬프를 가질 수 있고, 제2 시그너처는 자기에게 할당되는 제2 타임스탬프를 가질 수 있으며, 제1 타임스탬프 및 제2 타임스탬프는 서로 미리 규정된 임계 시간 내에 있다.
단계(410)에서 시그너처들이 대응하는지에 대한 결정이 내려진다. 예를 들면, 두 개의 시그너처들이 클러스터 내에 함께 포함되는지에 기초해서 이 결정이 내려질 수 있다. 다른 예시에서, 이 두 개의 시그너처들간의 거릿값이 미리 규정된 임계값 미만인지에 기초해서 이 결정이 내려질 수 있다. 또 다른 하나의 예시에서, 시그너처들의 고속 푸리에 변환(Fast Fourier Transform; FFT)들이 서로 비교될 수 있으며, 이 변환들이 충분히 유사하면, 시그너처들이 대응한다고 간주될 수 있다. 단계(410)에서 시그너처들이 대응한다고 알려지면, 단계(412)에서 클라이언트 컴퓨팅 장치들이 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 표시가 클라이언트 컴퓨팅 장치(그리고 선택적으로 제2 클라이언트 컴퓨팅 장치)에게 출력된다. 단계(412)에서 후속해서, 또는 시그너처들이 대응하지 않는다고 단계(410)에서 결정되면, 방법론(400)은 단계(414)에서 종료한다.
이제 도 5를 참조하면, 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 표시를 출력하는 것을 용이하게 하는 예시적인 방법론(500)이 예증된다. 예시에서, 방법론(500)은 데이터 센터 내의 적어도 하나의 서버 컴퓨팅 장치에 의해 실행될 수 있다. 방법론(500)은 단계(502)에서 시작하고, 단계(504)에서 클라이언트 컴퓨팅 장치로부터 오디오 시그너처가 수신되며, 오디오 시그너처는, 클라이언트 컴퓨팅 장치가 상주하는 룸을 나타낸다. 따라서, 방법론(500)에서 클라이언트 컴퓨팅 장치가 시그너처를 생성한다고 확인될 수 있다.
단계(506)에서, 단계(504)에서 생성되는 시그너처는가, 제2 클라이언트 컴퓨팅 장치로부터 수신되는 제2 시그너처와 비교된다. 단계(508)에서, 시그너처들이 대응하는지에(예컨대, 시그너처들이 서로 충분히 유사한지에) 대한 결정이 내려진다. 시그너처들이 서로 대응하면, 방법론은 단계(510)로 진행하고, 이 단계에서, 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치가 동일 룸 내에 함께 배치되어 있다는 표시가, 클라이언트 컴퓨팅 장치(그리고 선택적으로 제2 클라이언트 컴퓨팅 장치)에게 출력된다. 단계(510)에 후속해서, 또는 시그너처들이 대응하지 않는다고 단계(508)에서 알려지면, 방법론(500)은 단계(512)에서 종료한다.
이제 도 6을 참조하면, 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 표시를 출력하는 것을 용이하게 하는 예시적인 방법론(600)이 예증된다. 예시에서, 방법론(600)은 데이터 센터 내의 적어도 하나의 서버 컴퓨팅 장치상에 의해 실행될 수 있다. 방법론(600)은 단계(602)에서 시작하고, 단계(604)에서 제1 시그너처는 제2 시그너처와 비교된다. 제1 시그너처는 제1 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호에 기초하고, 제2 시그너처는 제2 시그너처에 의해 캡처되는 오디오 신호에 기초한다.
단계(606)에서 시그너처들이 대응하는지에 대한 결정이 내려진다. 이전에 지적된 바와 같이, 시그너처들이 대응하는지에 대한 결정은, 시그너처들이 생성된 때를 표시하는 시간들과 시그너처들간의 유사성 분량에 기초할 수 있다. 단계(606)에서 시그너처들이 대응한다고 알려지면, 단계(608)에서 명령어들이 제1 클라이언트 컴퓨팅 장치에 송신되며, 명령어들은 제1 클라이언트 컴퓨팅 장치가 자신의 환경들에 대한 추가적인 정보를 획득하게 한다. 이 추가적인 정보는, 클라이언트 컴퓨팅 장치상의 센서에 의해 획득되는 데이터(온도, 습도 등), 제1 클라이언트 컴퓨팅 장치의 스피커에 의해 캡처되는 정보 (예컨대, 내부에 인코딩되는, 제2 클라이언트 컴퓨팅 장치의 신원을 갖는 고주파수 오디오 신호) 등을 포함할 수 있다. 단계(610)에서, 추가적인 정보가 클라이언트 컴퓨팅 장치로부터 수신된다.
단계(606)에서 시그너처들이 대응한다고 알려지는 것과, 단계(610)에서 제1 클라이언트 컴퓨팅 장치로부터의 추가 정보에 기초해서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있는지에 대한 결정이 단계(612)에서 내려진다. 단계(612)에서 클라이언트 컴퓨팅 장치들이 함께 배치되어 있다고 알려지면, 단계(614)에서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다는 표시가 제1 클라이언트 컴퓨팅 장치에게 출력된다. 단계(614)에 후속해서, 또는 단계(606)에서 시그너처들이 대응하지 않거나, 단계(612)에서 장치들이 함께 배치되어 있지 않다고 알려지면, 방법(600)은 단계(616)에서 종료한다.
이제 도 7을 참조하면, 룸의 시변 프로파일의 구축을 용이하게 하는 예시적인 방법론(700)이 예증된다. 예를 들면, 방법론(700)은 데이터 센터 내의 적어도 하나의 서버 컴퓨팅 장치에 의해 실행될 수 있다. 방법론(700)은 단계(702)에서 시작되고, 단계(704)에서 위치를 위한 오디오 기반 시그너처가 수신된다. 이 오디오 기반 시그너처들은 이 위치(예컨대, 특정 룸)에서 캡처되는 오디오 신호들의 고주파수 부분들에 기초하는 것으로 라벨 표시될 수 있다. 또한, 시그너처들은, 하루 중 시간, 연중 시간 등을 표시할 수 있는, 자신들에 대응하는 타임스탬프들을 가질 수 있다.
단계(706)에서, 이 위치를 위한 시변 프로파일이 단계(704)에서 수신되는 시그너처들에 기초해서 구축된다. 따라서, 예를 들면, 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초해서 생성되는 시그너처가 수신될 때, 시그너처가 시변 프로파일과 비교될 수 있으며, 고주파수 오디오 신호가 이러한 비교에 기초해서 프로파일링된 위치 내에 캡처되었는지에 대한 결정이 내려질 수 있다. 방법론(700)은 단계(708)에서 종료한다.
이제 도 8를 참조하면, 클라이언트 컴퓨팅 장치가 특정 (실내) 위치에 있다고 결정하는 것을 용이하게 하는 예시적인 방법론(800)이 예증된다. 예시에서, 방법론(800)은 데이터 센터 내의 적어도 하나의 서버 컴퓨팅 장치에 의해 실행될 수 있다. 방법론(800)은 단계(802)에서 시작되고, 단계(804)에서 오디오 기반 시그너처가 클라이언트 컴퓨팅 장치로부터 수신된다. 대안적으로, 오디오 기반 시그너처가 수신되는 것이 아니라, 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호의 고주파수 부분이 수신될 수 있다. 단계(806)에서, 오디오 기반 시그너처는 위치를 위한 시변 프로파일과 비교된다. 예를 들면, 시변 프로파일은 방법론(700)에 따라서 구축될 수 있다. 단계(808)에서, 클라이언트 컴퓨팅 장치가 비교에 기초해서 이 위치에 있다고 표시하는 신호가 생성된다. 예를 들면, 오디오 기반 시그너처는 이 위치의 시변 프로파일에 대응할 수 있다. 방법론(800)은 단계(810)에서 종료한다.
이제 도 9를 참조하면, 위치에 대응하는 오디오 기반 시그너처를 송신하기 위한 예시적인 방법론(900)이 예증된다. 방법론(900)은 예를 들면, 클라이언트 컴퓨팅 장치에 의해 실행될 수 있다. 방법론(900)은 단계(902)에서 시작되고, 단계(904)에서 오디오 신호가 캡처된다. 구체적으로, 마이크는 특정 시간 길이의 오디오 신호를 캡처하도록 야기될 수 있다. 단계(906)에서, 고역 필터가 오디오 신호에 적용되어 오디오 신호의 고주파수 부분을 획득한다. 고주파수 부분은 예를 들면, 18 kHz 초과, 20 kHz 초과 등과 같은 주파수를 포함할 수 있다. 단계(908)에서, 오디오 신호의 고주파수 부분에 기초해서 시그너처가 생성된다. 예를 들면, 오디오 신호의 고주파수 부분의 해시가 생성될 수 있고, 시그너처는 이러한 해시를 포함할 수 있다. 시그너처는, 오디오 신호가 캡처된 때를 표시하는 타임스탬프와, 오디오 신호를 캡처한 클라이언트 컴퓨팅 장치의 신원을 선택적으로 또한 포함할 수 있다. 단계(910)에서, 시그너처는 네트워크에 액세스가능한 컴퓨팅 시스템에 송신되고, 이 컴퓨팅 시스템은, 이 시그너처를, 다른 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호에 기초해서 생성되는 다른 시그너처와 비교할 수 있다. 방법론(900)은 단계(912)에서 종료한다.
이제 도 10을 참조하면, 클라이언트 컴퓨팅 장치의 환경에 대한 데이터를 컴퓨팅 시스템에 제공하는 것을 용이하게 하는 예시적인 방법론(1000)이 예증된다. 예를 들면, 방법론(1000)은 클라이언트 컴퓨팅 장치에 의해 실행될 수 있다. 방법론(1000)은 단계(1002)에서 시작되고, 단계(1004)에서 클라이언트 컴퓨팅 장치의 환경에 대한 정보를 획득하기 위한 명령어가 컴퓨팅 시스템으로부터 수신된다. 이 명령어는 클라이언트 컴퓨팅 장치의 센서가 관측치들(observations) 등을 캡처하게 할 수 있다. 단계(1004)에서의 명령어의 수신에 응답해서, 단계(1006)에서, 클라이언트 컴퓨팅 장치와 통신하는 무선 액세스 포인트의 신원이 획득될 수 있다. 이 정보는 Wi-Fi SSID, 블루투스 송신기의 MAC 주소 등을 포함할 수 있다.
단계(1008)에서, 오디오 신호는 단계(1004)에서 수신되는 명령어에 기초해서 캡처된다. 예를 들면, 클라이언트 컴퓨팅 장치는, 다른 클라이언트 컴퓨팅 장치에 의해 생성될 수 있는 고주파수 오디오 신호를 (백그라운드 작업으로서) 청취할 수 있으며, 이러한 고주파수 오디오 신호는 내부에 인코딩되는, 다른 클라이언트 컴퓨팅 장치의 신원을 가질 수 있다. 단계(1010)에서, 클라이언트 컴퓨팅 장치와 함께 배치되어 있는 제2 클라이언트 컴퓨팅 장치의 신원은, 캡처되는 오디오 신호에 기초해서 식별된다. 단계(1012)에서, 이 정보(예컨대, 단계(1006)에서 결정되는 무선 액세스 포인트의 신원과 단계(1010)에서 결정되는 제2 클라이언트 컴퓨팅 장치의 신원)는 컴퓨팅 시스템에 송신될 수 있다. 방법론(1000)은 단계(1014)에서 종료한다.
다양한 예시들이 이제 설명된다.
예시 1: 컴퓨팅 시스템은, 프로세서; 및 프로세서에 의해 실행되는 위치 시스템을 포함하는 메모리를 포함하고, 상기 위치 시스템은, 클라이언트 컴퓨팅 장치의 환경의 오디오 기반 시그너처에 기초해서, 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 컴퓨팅하는 동작으로서, 오디오 기반 시그너처는, 클라이언트 컴퓨팅 장치에 의해 캡처되는 오디오 신호의 고주파수 부분에 기초하는 것인, 상기 컴퓨팅하는 동작; 및 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 클라이언트 컴퓨팅 장치에 제공하는 동작을 수행하도록 구성된다.
예시 2: 예시1에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 클라이언트 컴퓨팅 장치에 의해 획득되는 오디오 신호의 고주파수 부분에 기초해서, 오디오 기반 시그너처를 생성하도록 구성되는 시그너처 생성기 컴포넌트를 포함하고, 시그너처 생성기 컴포넌트는 오디오 신호의 고주파수 부분에 대해 해시를 실행하도록 구성된다.
예시 3: 예시1 또는 예시2에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 오디오 신호에 할당되는 타임스탬프에 기초해서 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 컴퓨팅하도록 구성된다.
예시 4: 예시1 내지 예시3 중 어느 한 예시에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 룸의 오디오 기반 프로파일과 오디오 기반 시그너처간의 비교를 수행하도록 구성되고, 위치 시스템은, 이 비교에 기초해서 클라이언트 컴퓨팅 장치가 룸에 배치되어 있다고 결정하도록 구성된다.
예시 5: 예시4에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 오디오 기반 시그너처가 기반하고 있는 오디오 신호가 컴퓨팅 장치에 의해 캡처될 때, 룸에 있는 것으로 라벨 표시되는 컴퓨팅 장치에 대응하는 오디오 기반 시그너처에 기초해서, 룸의 오디오 기반 프로파일을 구축하도록 구성되는 프로파일 구축기 컴포넌트를 더 포함한다.
예시 6: 예시5에 따른 컴퓨팅 시스템에 있어서, 프로파일 구축기 컴포넌트는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 위치 시스템이 결정하는 것에 응답해서 오디오 기반 시그너처에 기초해서 오디오 기반 프로파일을 갱신하도록 구성된다.
예시 7: 예시1 내지 예시6에 따른 컴퓨팅 시스템에 있어서, 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터는 상대 위치이고, 위치 시스템은, 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 한 룸 내에 함께 배치되어 있다고 결정하도록 구성된다.
예시 8: 예시7에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 제2 오디오 기반 시그너처에 기초해서 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 컴퓨팅하도록 구성되며, 제2 오디오 기반 시그너처는, 제2 클라이언트 컴퓨팅 장치에 의해 캡처되는 제2 오디오 신호의 고주파수 부분에 기초한다.
예시 9: 예시8에 따른 컴퓨팅 시스템에 있어서, 오디오 기반 시그너처는 자신에 할당되는 제1 타임스탬프를 가지고, 제2 오디오 기반 시그너처는 자신에게 할당되는 제2 타임스탬프를 가지며, 제1 타임스탬프와 제2 타임스탬프 간의 차이가 임계값 이내에 있다.
예시 10: 예시8에 따른 컴퓨팅 시스템에 있어서, 위치 시스템은, 클라이언트 컴퓨팅 장치에 명령어들을 송신하도록 구성되는 송신기 컴포넌트를 포함하고, 명령어들은, 클라이언트 컴퓨팅 장치로 하여금, 클라이언트 컴퓨팅 장치의 환경에 대한 추가적인 정보를 획득하게 한다.
예시 11: 예시10에 따른 컴퓨팅 시스템에 있어서, 추가적인 정보는, 클라이언트 컴퓨팅 장치와 통신하는 무선 트랜시버의 신원과, 제2 클라이언트 컴퓨팅 장치의 신원을 포함한다.
예시 12: 예시10에 따른 컴퓨팅 시스템에 있어서, 명령어들은, 클라이언트 컴퓨팅 장치로 하여금 스피커를 구동시켜, 내부에 인코딩되는, 클라이언트 컴퓨팅 장치의 신원을 갖는 비가청 오디오 신호를 방출하게 한다.
예시 13: 예시1 내지 12 중 어느 한 예시에 따른 컴퓨팅 시스템에 있어서, 오디오 신호의 고주파수 부분은 적어도 18 KHz를 초과하는 오디오 신호 내의 주파수이다.
예시 14: 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하기 위한 방법은, 제1 클라이언트 컴퓨팅 장치에 의해 캡처되는 제1 오디오 신호의 고주파수 부분에 기초하는 제1 시그너처를 제2 시그너처와 비교하는 단계로서, 제2 시그너처는, 제2 클라이언트 컴퓨팅 장치에 의해 캡처되는 제2 오디오 신호의 고주파수 부분에 기초하는 것인, 상기 비교하는 단계; 제1 시그너처를 제2 시그너처와 비교하는 것에 기초해서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하는 단계; 및 제1 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치가 함께 배치되어 있다는 표시를, 제1 클라이언트 컴퓨팅 장치 또는 제2 클라이언트 컴퓨팅 장치 중 적어도 하나에게 송신하는 단계를 포함한다.
예시 15: 예시14에 따른 방법에 있어서, 제1 오디오 신호의 고주파수 부분은 제1 오디오 신호의 18 KHz 미만의 주파수들을 배제하며, 제2 오디오 신호의 고주파수 부분은 제2 오디오 신호의 18 KHz 미만의 주파수들을 배제한다.
예시 16: 예시14 또는 예시15에 있어서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하는 단계는, 제1 클라이언트 컴퓨팅 장치가 액세스 포인트와 통신한다는 것을 표시하는 제1 데이터를 제1 클라이언트 컴퓨팅 장치로부터 수신하는 단계; 제2 클라이언트 컴퓨팅 장치가 액세스 포인트와 통신한다는 것을 표시하는 제2 데이터를 제2 클라이언트 컴퓨팅 장치로부터 수신하는 단계; 제1 데이터를 제2 데이터와 비교하는 단계; 및 제1 데이터를 제2 데이터와 비교하는 것에 기초해서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하는 단계를 포함한다.
예시 17: 예시14 내지 16 중 어느 한 예시에 따른 방법에 있어서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하는 단계는, 제1 클라이언트 컴퓨팅 장치로부터 제2 클라이언트 컴퓨팅 장치를 식별하는 데이터를 수신하는 단계; 및 제2 클라이언트 컴퓨팅 장치를 식별하는 데이터에 기초해서, 제1 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 함께 배치되어 있다고 결정하는 단계를 포함한다.
예시 18: 예시17에 따른 방법은, 제1 시그너처를 제2 시그너처와 비교하는 것에 응답해서, 명령어들을 제2 클라이언트 컴퓨팅 장치에 송신하는 단계로서, 상기 명령어들은, 제2 클라이언트 컴퓨팅 장치로 하여금 오디오 신호를 출력하게 하며, 제2 클라이언트 컴퓨팅 장치를 식별하는 데이터는 오디오 신호 내에 인코딩되는 것인, 상기 송신하는 단계; 및 명령어들을 송신하는 것에 응답해서, 제1 클라이언트 컴퓨팅 장치로부터 제2 클라이언트 컴퓨팅 장치를 식별하는 데이터를 수신하는 단계를 포함한다.
예시 19: 예시14 내지 18 중 어느 한 예시에 따른 방법은, 제1 시그너처와 제2 시그너처에 기초해서 룸의 시변 프로파일을 구축하는 단계를 더 포함한다.
예시 20: 명령어들을 포함하는 컴퓨터-판독가능 저장 매체에 있어서, 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 제1 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치가 룸 안에 함께 배치되어 있다고 결정하는 동작으로서, 이 결정은 룸의 제1 오디오 시그너처와 룸의 제2 오디오 시그너처에 기초하며, 룸의 제1 오디오 시그너처는 제1 클라이언트 컴퓨팅 장치에 의해 캡처되는 제1 오디오 신호에 기초하고, 룸의 제2 오디오 시그너처는 제2 클라이언트 컴퓨팅 장치에 의해 캡처되는 제2 오디오 신호에 기초하는 것인, 상기 결정하는 동작; 및 제1 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치가 룸 안에 함께 배치되어 있다는 결정에 응답해서, 제1 클라이언트 컴퓨팅 장치 또는 제2 클라이언트 컴퓨팅 장치 중 적어도 하나에 명령어를 송신하는 동작으로서, 이 명령어는 콘텐츠가 제1 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치상에 동시에 디스플레이되게 하는 것인, 상기 송신하는 동작을 포함하는 동작들을 수행하게 한다.
이제 도 11을 참조하면, 본 명세서에서 개시되는 시스템 및 방법론에 따라 사용될 수 있는 예시적인 컴퓨팅 장치(1100)의 고수준(high-level) 예증이 예증된다. 예를 들면, 컴퓨팅 장치(1100)는, 클라이언트 컴퓨팅 장치의 위치를 나타내는 데이터를 컴퓨팅하는 시스템 내에서 사용될 수 있다. 다른 예시에 의해, 컴퓨팅 장치(1100)는, 오디오 기반 시그너처를 컴퓨팅하도록 구성되는 시스템 내에서 사용될 수 있다. 컴퓨팅 장치(1100)는, 메모리(1104)에 저장되는 명령어를 실행하는 적어도 하나의 프로세서(1102)를 포함한다. 명령어는 예를 들면, 위에서 논의된 하나 이상의 컴포넌트에 의해 수행되는 것으로 설명되는 기능을 구현하기 위한 명령어, 또는 위에서 설명되는 방법들 중 하나 이상을 구현하기 위한 명령어일 수 있다. 프로세서(1102)는 시스템 버스(1106)를 거쳐 메모리(1104)에 액세스할 수 있다. 실행가능한 명령어를 저장하는 것에 추가해서, 메모리(1104)는 위치의 프로파일, 오디오 기반 시그너처 등을 또한 저장할 수 있다.
컴퓨팅 장치(1100)는, 시스템 버스(1106)를 거쳐 프로세서(1102)에 의해 액세스 가능한 데이터 저장부(1108)를 추가적으로 포함한다. 데이터 저장부(1108)는, 실행가능 명령어, 클라이언트 컴퓨팅 장치의 신원, 오디오 기반 시그너처 등을 포함할 수 있다. 컴퓨팅 장치(110)는, 외부 장치가 컴퓨팅 장치(1100)와 통신하는 것을 가능케하는 입력 인터페이스(1110)를 또한 포함한다. 예를 들면, 입력 인터페이스(1110)는 외부 컴퓨터 장치, 사용자 등으로부터 명령어를 수신하기 위해 사용될 수 있다. 컴퓨팅 장치(1100)는, 컴퓨팅 장치(1100)를 하나 이상의 외부 장치와 인터페이싱하는 출력 인터페이스(1112)를 또한 포함한다. 예를 들면, 컴퓨팅 장치(1100)는 출력 인터페이스(1112)를 거쳐 텍스트, 이미지 등을 디스플레이할 수 있다.
입력 인터페이스(1110)와 출력 인터페이스(1112)를 거쳐 컴퓨팅 장치(1100)와 통신하는 외부 장치가, 사용자가 상호작용할 수 있는 실질적으로 임의의 유형의 사용자 인터페이스를 제공하는 환경 내에 포함될 수 있는 것이 고려된다. 사용자 인터페이스 유형의 예시는 그래픽 사용자 인터페이스, 내추럴 사용자 인터페이스 등을 포함한다. 예를 들면, 키보드, 마우스 원격 제어기 등과 같은 입력 장치(들)를 채용하는 그래픽 사용자 인터페이스는 사용자로부터 입력을 수용하고, 디스플레이와 같은 출력 장치상에 출력을 제공할 수 있다. 또한, 내추럴 사용자 인터페이스는, 사용자가, 키보드, 마우스, 원격 제어기 등과 같은 입력 장치에 의해 부과되는 제약으로부터 자유로운 방식으로, 컴퓨팅 장치(1100)와 상호작용하는 것을 가능하게 할 수 있다. 오히려, 내추럴 사용자 인터페이스는, 음성 인식, 터치 및 스타일러스 인식, 스크린상에서와 스크린에 인접해서의 제스처 인식, 에어 제스처(air gesture), 머리 및 눈 추적, 음성(voice) 및 발화(speech), 시각(vision), 터치, 제스처, 및 머신 지능(machine intelligence) 등에 의존할 수 있다.
추가적으로, 단일 시스템으로서 예증되지만, 컴퓨팅 장치(1100)가 분산 시스템일 수 있다는 것을 이해해야 한다. 따라서, 예를 들면, 다수의 장치들이 네트워크 접속을 거쳐 통신할 수 있고, 컴퓨팅 장치(1100)에 의해 수행되는 것으로 설명되는 작업(task)을 집합적으로 수행할 수 있다.
본 명세서에서 설명되는 다양한 기능은 하드웨어, 소프트웨어, 또는 이것들 중 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능은 컴퓨터 판독가능 매체상의 하나 이상의 명령어 또는 코드로서 송신되거나 저장될 수 있다. 컴퓨터-판독가능 매체는 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 판독가능 저장 매체는, 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 저장 매체일 수 있다. 한정이 아니라 예시의 방식으로, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 명령어 또는 데이터 구조의 형태로 원하는 프로그램 코드를 전달하거나 저장하는 데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본 명세서에서 사용되는 디스크(disk) 및 디스크(disc)는, 컴팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 버서타일 디스크(DVD), 플로피 디스크 및 블루-레이 디스크(BD)를 포함하며, 디스크(disk)는 통상적으로 데이터를 자기적으로 재생하며, 디스크(disc)는 통상적으로 레이저로 광학적으로 데이터를 재생한다. 또한, 전파되는 신호는 컴퓨터 판독가능 저장 매체의 범위 내에 포함되지 않는다. 컴퓨터 판독가능 매체는, 하나의 장소로부터 다른 장소로 컴퓨터 프로그램의 전달을 촉진하는 임의의 매체를 포함하는 통신 매체를 또한 포함한다. 예를 들면, 접속은 통신 매체일 수 있다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬인 쌍(twisted pair), 디지털 가입자 회선(DSL) 또는 적외선, 라디오, 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 꼬인 쌍, DSL 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술이 통신 매체의 정의에 포함된다. 상기한 것들의 조합들도 컴퓨터 판독 가능 매체의 범주 내에 포함되어야 한다.
대안적으로 또는 부가적으로, 본 명세서에 기술된 기능은, 적어도 부분적으로, 하나 이상의 하드웨어 논리 컴포넌트에 의해 수행될 수 있다. 예를 들어, 예시적인 유형의 하드웨어 논리 컴포넌트들은 FPGA(Field-programmable Gate Array), ASIC(Program-specific Integrated Circuit), ASSP(Program-specific Standard Product), SOC(System-on-a-chip system), CPLD(Complex Programmable Logic Device) 등을 포함할 수 있으며, 이에 한정되지 않는다.
위에서 설명된 것은 하나 이상의 실시예의 예시를 포함한다. 물론, 상기 언급된 양상을 설명하기 위해 상기 장치 또는 방법론의 모든 상상 가능한 수정 또는 변경을 설명하는 것이 가능하지 않지만, 당업자는 많은 추가적인 수정 및 순열(permutation)이 가능하다는 것을 인정할 수 있다. 따라서, 설명되는 양상은, 첨부된 청구항들의 사상 및 범위 내에 있는 이러한 모든 대체예, 변형예, 및 변경예를 포괄하도록 의도된다. 또한, 용어 “포함한다”가 상세한 설명 또는 청구항에서 사용되는한, 이러한 용어는, 그 용어가 청구항에서 전환 어휘(transitional word)로서 채용될 때 해석되는 용어 "포함하는(comprising)”과 유사한 방식으로 포괄적이라고 의도된다.

Claims (20)

  1. 컴퓨팅 시스템에 있어서,
    적어도 하나의 프로세서; 및
    명령어들을 포함하는 메모리
    를 포함하고,
    상기 명령어들은, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하고, 상기 동작들은,
    클라이언트 컴퓨팅 장치의 환경의 오디오 기반 시그너처를, 룸(room)의 오디오 기반 프로파일과 비교하는 동작 - 상기 오디오 기반 시그너처는 상기 클라이언트 컴퓨팅 장치에 의해 캡처된 오디오 신호의 고주파수 부분에 기초하고, 상기 오디오 기반 프로파일은 다른 클라이언트 컴퓨팅 장치가 이전에 상기 룸 내에 있었을 때 상기 다른 클라이언트 컴퓨팅 장치에 의해 캡처된 다른 오디오 신호의 고주파수 부분에 기초하며, 상기 오디오 신호의 고주파수 부분 및 상기 다른 오디오 신호의 고주파수 부분은 상기 오디오 신호에서 18 KHz 초과의 주파수임 - ;
    상기 오디오 기반 시그너처를 상기 룸의 오디오 기반 프로파일과 비교한 것에 기초해서, 상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다고 결정하는 동작; 및
    상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다고 결정한 것에 응답해서, 상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 있다는 표시(indication)를, 상기 클라이언트 컴퓨팅 장치에 제공하는 동작
    을 포함하는 것인, 컴퓨팅 시스템.
  2. 제1항에 있어서,
    상기 동작들은, 상기 클라이언트 컴퓨팅 장치에 의해 캡처된 상기 오디오 신호의 고주파수 부분에 기초해서 상기 오디오 기반 시그너처를 생성하는 동작을 더 포함하고,
    상기 오디오 기반 시그너처를 생성하는 동작은, 상기 오디오 신호의 고주파수 부분에 대해 해시(hash)를 실행하는 동작을 포함하는 것인, 컴퓨팅 시스템.
  3. 제1항에 있어서,
    상기 오디오 기반 시그너처는 상기 클라이언트 컴퓨팅 장치에 의해 캡처된 오디오 신호에 할당된 타임스탬프에 기초해서 상기 룸의 오디오 기반 프로파일과 비교되는 것인, 컴퓨팅 시스템.
  4. 제1항에 있어서,
    상기 동작들은, 상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다고 결정한 것에 응답해서, 상기 오디오 기반 시그너처에 기초해서 상기 룸의 오디오 기반 프로파일을 갱신하는 동작을 더 포함하는 것인, 컴퓨팅 시스템.
  5. 제1항에 있어서,
    상기 동작들은, 상기 오디오 기반 시그너처에 기초해서, 상기 클라이언트 컴퓨팅 장치가 제2 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정하는 동작을 더 포함하는 것인, 컴퓨팅 시스템.
  6. 제 5 항에 있어서,
    상기 클라이언트 컴퓨팅 장치가 상기 제2 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정하는 동작은, 제2 오디오 기반 시그너처를 상기 룸의 오디오 기반 프로파일과 비교하는 동작을 포함하고, 상기 제2 오디오 기반 시그너처는 상기 제2 클라이언트 컴퓨팅 장치에 의해 캡처된 제2 오디오 신호의 고주파수 부분에 기초하는 것인, 컴퓨팅 시스템.
  7. 제6항에 있어서,
    상기 오디오 기반 시그너처에는 제1 타임스탬프가 할당되고, 상기 제2 오디오 기반 시그너처에는 제2 타임스탬프가 할당되고, 상기 클라이언트 컴퓨팅 장치가 상기 제2 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정하는 동작은, 상기 제1 타임스탬프와 상기 제2 타임스탬프 간의 차이가 임계값 이내에 있다고 결정하는 동작을 포함하는 것인, 컴퓨팅 시스템.
  8. 제6항에 있어서,
    상기 동작들은, 상기 클라이언트 컴퓨팅 장치로 하여금 상기 클라이언트 컴퓨팅 장치의 환경에 대한 추가적인 정보를 획득하게 하는 명령어들을, 상기 클라이언트 컴퓨팅 장치에 송신하는 동작을 더 포함하는 것인, 컴퓨팅 시스템.
  9. 제8항에 있어서,
    상기 추가적인 정보는, 상기 클라이언트 컴퓨팅 장치와 통신하는 무선 트랜시버의 신원, 및 상기 제2 클라이언트 컴퓨팅 장치의 신원을 포함하는 것인, 컴퓨팅 시스템.
  10. 제8항에 있어서,
    상기 명령어들은, 상기 클라이언트 컴퓨팅 장치로 하여금 스피커를 구동시켜, 내부에 상기 클라이언트 컴퓨팅 장치의 신원이 인코딩되어 있는 비가청 오디오 신호를 방출하게 하는 것인, 컴퓨팅 시스템.
  11. 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법에 있어서,
    시그너처를 상기 룸의 프로파일과 비교하는 단계 - 상기 시그너처는 상기 클라이언트 컴퓨팅 장치에 의해 캡처된 오디오 신호의 고주파수 부분에 기초하고, 상기 룸의 프로파일은 상기 룸 내에 이전에 있었던 다른 클라이언트 컴퓨팅 장치에 의해 캡처된 다른 오디오 신호의 고주파수 부분에 기초하며, 상기 오디오 신호의 고주파수 부분은 상기 오디오 신호에서 18 KHz 미만의 주파수 모두를 배제한 것이고, 상기 다른 오디오 신호의 고주파수 부분은 상기 다른 오디오 신호에서 18 KHz 미만의 주파수를 모두 배제한 것임 -
    상기 시그너처를 상기 룸의 프로파일과 비교한 것에 기초해서, 상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다고 결정하는 단계; 및
    상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다는 표시를, 상기 클라이언트 컴퓨팅 장치에 송신하는 단계
    를 포함하는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  12. 제11항에 있어서,
    상기 클라이언트 컴퓨팅 장치에 의해 캡처된 상기 오디오 신호의 고주파수 부분에 기초해서 상기 시그너처를 생성하는 단계
    를 더 포함하고,
    상기 시그너처를 생성하는 단계는, 상기 오디오 신호의 고주파수 부분의 해시를 생성하는 단계를 포함하고, 상기 시그너처는 상기 해시에 기초하는 것인, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  13. 제11항에 있어서,
    상기 프로파일은 시변(time-varying) 프로파일이고, 상기 방법은,
    상기 시그너처에 할당된 타임스탬프에 기초해서 상기 시그너처와 비교하기 위해 상기 룸의 다수의 오디오 프로파일 중에서 상기 룸의 프로파일을 선택하는 단계
    를 더 포함하는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  14. 제11항에 있어서,
    상기 클라이언트 컴퓨팅 장치가 상기 룸 내에 배치되어 있다고 결정한 것에 응답해서, 상기 시그너처에 기초해서 상기 룸의 프로파일을 갱신하는 단계
    를 더 포함하는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  15. 제11항에 있어서,
    제2 클라이언트 컴퓨팅 장치에 의해 캡처된 제2 오디오 신호의 고주파수 부분에 기초한 제2 시그너처에 기초해서, 상기 제2 클라이언트 컴퓨팅 장치가 상기 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정하는 단계; 및
    상기 제2 클라이언트 컴퓨팅 장치가 상기 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정한 것에 응답해서, 상기 제2 클라이언트 컴퓨팅 장치가 상기 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다는 표시를, 상기 클라이언트 컴퓨팅 장치에 송신하는 단계
    를 더 포함하는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  16. 제 15 항에 있어서,
    상기 제2 클라이언트 컴퓨팅 장치가 상기 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정하는 단계는, 상기 시그너처를 상기 제2 시그너처와 비교하는 단계를 포함하는 것인, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  17. 제15항에 있어서,
    상기 제2 클라이언트 컴퓨팅 장치가 상기 클라이언트 컴퓨팅 장치와 상기 룸 내에 함께 배치되어 있다고 결정한 것에 응답해서, 콘텐츠가 상기 클라이언트 컴퓨팅 장치와 상기 제2 클라이언트 컴퓨팅 장치에서 동시에 제시되게 하는 명령어를, 상기 클라이언트 컴퓨팅 장치에 송신하는 단계
    를 더 포함하는, 클라이언트 컴퓨팅 장치가 룸 내에 배치되어 있다고 결정하기 위한 방법.
  18. 명령어들을 포함하는 컴퓨터 판독가능 메모리에 있어서,
    상기 명령어들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 동작들을 수행하게 하고, 상기 동작들은,
    룸의 제1 오디오 시그너처 및 상기 룸의 제2 오디오 시그너처에 기초해서, 제1 클라이언트 컴퓨팅 장치 및 제2 클라이언트 컴퓨팅 장치가 상기 룸 내에 함께 배치되어 있다고 결정하는 동작 - 상기 룸의 제1 오디오 시그너처는 상기 제1 클라이언트 컴퓨팅 장치에 의해 캡처된 제1 오디오 신호에 기초하고, 상기 룸의 제2 오디오 시그너처는 상기 제2 클라이언트 컴퓨팅 장치에 의해 캡처된 제2 오디오 신호에 기초함 - ; 및
    상기 제1 클라이언트 컴퓨팅 장치 및 상기 제2 클라이언트 컴퓨팅 장치가 상기 룸 내에 함께 배치되어 있다고 결정한 것에 응답해서, 콘텐츠가 상기 제1 클라이언트 컴퓨팅 장치 및 상기 제2 클라이언트 컴퓨팅 장치 상에 동시에 디스플레이되게 하는 명령어를, 상기 제1 클라이언트 컴퓨팅 장치 또는 상기 제2 클라이언트 컴퓨팅 장치 중 적어도 하나에 송신하는 동작
    을 포함하는 것인, 컴퓨터 판독가능 메모리.
  19. 제18항에 있어서,
    상기 룸의 제1 오디오 시그너처는 상기 제1 오디오 신호의 고주파수 부분에 기초하고, 상기 고주파수 부분은 18 KHz 미만의 주파수를 배제하는 것인, 컴퓨터 판독가능 메모리.
  20. 제19항에 있어서,
    상기 동작들은, 상기 제1 오디오 신호의 고주파수 부분에 기초해서 상기 제1 오디오 시그너처를 생성하는 동작을 더 포함하고,
    상기 제1 오디오 시그너처를 생성하는 동작은, 상기 제1 오디오 신호의 고주파수 부분의 해시를 생성하는 동작을 포함하고, 상기 제1 오디오 시그너처는 상기 해시에 기초하는 것인, 컴퓨터 판독가능 메모리.
KR1020177002237A 2014-06-24 2015-06-22 오디오 신호들을 사용한 근접성 발견 KR102356944B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/313,201 2014-06-24
US14/313,201 US9756438B2 (en) 2014-06-24 2014-06-24 Proximity discovery using audio signals
PCT/US2015/036855 WO2015200150A1 (en) 2014-06-24 2015-06-22 Proximity discovery using audio signals

Publications (2)

Publication Number Publication Date
KR20170023154A KR20170023154A (ko) 2017-03-02
KR102356944B1 true KR102356944B1 (ko) 2022-01-27

Family

ID=53674273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177002237A KR102356944B1 (ko) 2014-06-24 2015-06-22 오디오 신호들을 사용한 근접성 발견

Country Status (10)

Country Link
US (1) US9756438B2 (ko)
EP (1) EP3161508B1 (ko)
JP (1) JP2017528687A (ko)
KR (1) KR102356944B1 (ko)
CN (1) CN106461756B (ko)
AU (1) AU2015280337A1 (ko)
CA (1) CA2949249A1 (ko)
MX (1) MX2016016628A (ko)
RU (1) RU2016150816A (ko)
WO (1) WO2015200150A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602589B1 (en) * 2014-08-07 2017-03-21 Google Inc. Systems and methods for determining room types for regions of a map
US10074364B1 (en) * 2016-02-02 2018-09-11 Amazon Technologies, Inc. Sound profile generation based on speech recognition results exceeding a threshold
US9728188B1 (en) * 2016-06-28 2017-08-08 Amazon Technologies, Inc. Methods and devices for ignoring similar audio being received by a system
CN106921728A (zh) * 2016-08-31 2017-07-04 阿里巴巴集团控股有限公司 一种定位用户的方法、信息推送方法及相关设备
US10048973B1 (en) * 2017-09-22 2018-08-14 Harman International Industries, Incorporated Sequential activity intelligent personal assistant
US10540974B2 (en) 2018-05-30 2020-01-21 Intel Corporation Detection and disposition of commands methods and apparatuses
US20230021589A1 (en) * 2022-09-30 2023-01-26 Intel Corporation Determining external display orientation using ultrasound time of flight

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263020A1 (en) 2011-04-18 2012-10-18 Microsoft Corporation Mobile Device Localization Using Audio Signals

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL127569A0 (en) 1998-09-16 1999-10-28 Comsense Technologies Ltd Interactive toys
US8082096B2 (en) * 2001-05-22 2011-12-20 Tracbeam Llc Wireless location routing applications and architecture therefor
US7443807B2 (en) 2003-06-16 2008-10-28 Microsoft Corporation System and process for discovery of network-connected devices
RU2421800C2 (ru) * 2005-08-01 2011-06-20 Конинклейке Филипс Электроникс Н.В. Организация контента при помощи динамического профиля
US8712563B2 (en) * 2006-10-24 2014-04-29 Slacker, Inc. Method and apparatus for interactive distribution of digital content
US8909147B2 (en) * 2008-06-23 2014-12-09 Nokia Corporation Apparatus and method for transmission of audio signals
US8479250B2 (en) 2009-09-15 2013-07-02 At&T Intellectual Property I, L.P. Apparatus and method for detecting a media device
EP2548040B1 (en) * 2010-03-19 2016-09-28 Seek And Find As Seek and find location method, system and apparatus
US20110307599A1 (en) 2010-06-11 2011-12-15 Cesare John Saretto Proximity network
US8660581B2 (en) * 2011-02-23 2014-02-25 Digimarc Corporation Mobile device indoor navigation
AT512381B1 (de) 2011-03-18 2018-12-15 Dipl Ing Cebrat Gerfried Fensterbalken (Fensterläden) mit beidseitig ausstellbaren Solarpanelen
JP5699749B2 (ja) 2011-03-31 2015-04-15 富士通株式会社 携帯端末装置の位置判定システムおよび携帯端末装置
US9098865B2 (en) 2011-04-07 2015-08-04 Facebook, Inc. Ultrasonic near-field communication
US20130024576A1 (en) 2011-07-22 2013-01-24 Microsoft Corporation Proximity-Based Detection
US9271160B2 (en) 2011-11-21 2016-02-23 Google Inc. Matching devices based on information communicated over an audio channel
CN102711050A (zh) * 2012-06-03 2012-10-03 上海琥智数码科技有限公司 多人实时互动分享阅读装置及其使用方法
EP2708912B1 (en) * 2012-09-17 2017-09-06 BlackBerry Limited Localization of a wireless user equipment (UE) device based on audio encoded signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120263020A1 (en) 2011-04-18 2012-10-18 Microsoft Corporation Mobile Device Localization Using Audio Signals

Also Published As

Publication number Publication date
RU2016150816A (ru) 2018-06-25
CA2949249A1 (en) 2015-12-30
MX2016016628A (es) 2017-04-25
EP3161508A1 (en) 2017-05-03
KR20170023154A (ko) 2017-03-02
US9756438B2 (en) 2017-09-05
JP2017528687A (ja) 2017-09-28
EP3161508B1 (en) 2018-06-20
CN106461756A (zh) 2017-02-22
AU2015280337A1 (en) 2016-11-17
US20150373468A1 (en) 2015-12-24
WO2015200150A1 (en) 2015-12-30
CN106461756B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
KR102356944B1 (ko) 오디오 신호들을 사용한 근접성 발견
US11227600B2 (en) Virtual assistant identification of nearby computing devices
KR102296238B1 (ko) 기록된 미디어 핫워드 트리거 억제
US9729984B2 (en) Dynamic calibration of an audio system
KR102571011B1 (ko) 분류기 모델과 컨텍스트 파라미터를 사용한 원격 미디어 분류 쿼리에 대한 응답
CN106663245B (zh) 社交提醒
US9866986B2 (en) Audio speaker system with virtual music performance
US20190007510A1 (en) Accumulation of real-time crowd sourced data for inferring metadata about entities
US11703320B2 (en) Determining relative positions of user devices
US9426551B2 (en) Distributed wireless speaker system with light show
JP2017509009A (ja) オーディオストリームの中の音楽の追跡
US11057664B1 (en) Learning multi-device controller with personalized voice control
US20200019373A1 (en) Multi-device personal assistants
US10458840B2 (en) Location classification for intelligent personal assistant
US10375340B1 (en) Personalizing the learning home multi-device controller

Legal Events

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