KR101520554B1 - 연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식 - Google Patents

연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식 Download PDF

Info

Publication number
KR101520554B1
KR101520554B1 KR1020137002490A KR20137002490A KR101520554B1 KR 101520554 B1 KR101520554 B1 KR 101520554B1 KR 1020137002490 A KR1020137002490 A KR 1020137002490A KR 20137002490 A KR20137002490 A KR 20137002490A KR 101520554 B1 KR101520554 B1 KR 101520554B1
Authority
KR
South Korea
Prior art keywords
channel impulse
impulse response
processor
feature
encoded
Prior art date
Application number
KR1020137002490A
Other languages
English (en)
Other versions
KR20130033426A (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 KR20130033426A publication Critical patent/KR20130033426A/ko
Application granted granted Critical
Publication of KR101520554B1 publication Critical patent/KR101520554B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/02Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems using reflection of acoustic waves
    • G01S15/50Systems of measurement, based on relative movement of the target
    • 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
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/87Combinations of sonar systems
    • G01S15/876Combination of several spaced transmitters or receivers of known location for determining the position of a transponder or a reflector
    • 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/523Details of pulse systems
    • G01S7/526Receivers
    • G01S7/527Extracting wanted echo signals
    • G01S7/5273Extracting wanted echo signals using digital techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/02Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems using reflection of acoustic waves
    • G01S15/06Systems determining the position data of a target
    • G01S15/08Systems for measuring distance only
    • G01S15/32Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
    • G01S15/325Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of coded signals, e.g. of phase-shift keyed [PSK] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

실시형태들은 연속파 사운드 신호들을 이용한 무접촉식 감지 및 제스쳐 인식을 위한 시스템들 및 방법들을 제공한다. 송신기에 의하여 방출되는 연속파 사운드, 예컨대 초음파는 오브젝트로부터 반사될 수도 있고, 그리고 하나 이상의 사운드 수신기들에 의하여 수신될 수도 있다. 사운드 신호들은 시간적으로 인코딩될 수도 있다. 수신된 사운드 신호들은 채널 임펄스 응답을 결정하거나 비행 시간을 연산하기 위하여 처리될 수도 있다. 결정된 채널 임펄스 응답들은 인식가능 피쳐들 또는 각도들을 추출하기 위하여 처리될 수도 있다. 추출된 피쳐들은 피쳐들의 데이터베이스와 비교되어 정합되는 피쳐와 연관되는 사용자 입력 제스쳐를 식별할 수도 있다. 채널 임펄스 응답 곡선들의 각도들은 입력 제스쳐와 연관될 수도 있다. 각각의 수신기로부터의 비행 시간 값들이 반사하는 오브젝트의 좌표들을 결정하기 위하여 이용될 수도 있다. 실시형태들은 그래픽 사용자 인터페이스의 일부로서 구현될 수도 있다. 실시형태들은 방출기의 위치를 결정하기 위하여 이용될 수도 있다.

Description

연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식{TOUCHLESS SENSING AND GESTURE RECOGNITION USING CONTINUOUS WAVE ULTRASOUND SIGNALS}
관련 출원들에의 상호-참조
본 출원은 미국 가출원 번호 제 61/359,728 호로서 발명의 명칭이 "Touchless Sensing and Gesture Recognition using Continuous Wave Sound Signals" 이고, 2010 년 6 월 29 일에 출원되었으며, 그 전체 내용들이 참조에 의하여 통합되는 출원에 대한 우선권을 주장한다.
본 발명은 일반적으로 컴퓨팅 디바이스들을 위한 사용자 인터페이스 시스템들에 관련되며, 그리고 좀더 자세하게 설명하면 연속-파 사운드를 채택하는 무접촉식 사용자 인터페이스에 관련된다.
초음파는 인간 청력의 상한들보다 높은, 또는 대략적으로 20 kHz 보다 높은 주파수들에서 동작하는 것으로 정의되는 순환하는 사운드 압력이다. 초음파는 이미징, 소스 위치 결정 및 범위 측정들을 위한 넓은 범위의 애플리케이션들에서 구현되어 왔다. 이러한 애플리케이션들 중 많은 것들은 초음파의 매체를 관통하여 반사들을 통하여 해당 매체 내의 오브젝트들의 구조적 정보를 제공하는 능력에 초점을 맞춘다. 거의 모든 애플리케이션들은 초음파가 방출된 때 및 에코들이 검출된 때 사이의 시간 지연을 측정함으로써 초음파를 이용한다. 일반적인 용어들로 표현하면, 초음파 시스템들의 두 타입들은 펄스 에코 및 연속파이다.
실시형태들은 연속파 초음파 신호들을 이용하는 사용자 인터페이스로서 이용되기에 적절한 무접촉식 감지 및 제스쳐 인식을 위한 시스템들 및 방법들을 제공한다. 초음파 신호들이 송신되어 오브젝트, 예컨대 사용자의 손가락 또는 손으로부터 반사될 수도 있다. 반사된 초음파 신호들은 초음파 마이크로폰들에 의하여 수신될 수도 있다. 채널 임펄스 응답이 수신된 초음파 신호들에 기초하여 연산될 수도 있다. 채널 임펄스 응답은 상이한 필터들에 영향을 받을 수도 있으며, 인식가능 피쳐들이 추출되거나 또는 인식될 수도 있다. 이러한 인식가능 피쳐들은 선정의된 (predefined) 사용자 제스처들과 상관된 피쳐들의 저장된 패턴들과 비교되어 추출된 피쳐들이 임의의 공지된 패턴들과 정합되는지 여부를 결정할 수도 있다. 만일 추출된 피쳐들이 공지된 패턴과 정합한다면, 정합 패턴과 연관된 명령 (예를 들어, 사용자 입력 명령) 이 컴퓨팅 디바이스에 의하여 구현될 수도 있다. 다른 추가 실시형태에서는, 채널 응답 내의 인식가능 피쳐들이 특정 반사된 신호들과 상관될 수도 있다. 반사된 신호의 비행 시간이 연산될 수도 있고, 예컨대 타원 교점 연산 (elliptic intersect calculation) 을 이용함으로써 컴퓨팅 디바이스에 대한 반사 오브젝트의 좌표들을 유도하는데 이용될 수도 있다. 또한, 이러한 방법은 반사하는 오브젝트의 모션을 포지션들의 시리즈로서 추적할 수도 있고, 모션 추적 데이터는 제스처들과 상관되어 인식을 제공할 수도 있다.
본 출원에 통합되며 이러한 발명을 실시하기 위한 구체적인 내용의 일부를 구성하는 첨부 도면들은 본 명세서의 예시적인 실시형태들을 예시하고, 그리고 위에서 주어진 일반적인 설명 및 이하 제공되는 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 피쳐들을 설명하는 역할을 한다.
도 1 은 초음파 센서들을 제스쳐 인식을 위하여 이용하도록 구성되는 일 실시형태 시스템의 도시이다.
도 2 는 방출기 또는 스피커로부터 전파되고, 사용자의 손에서 반사되며 그리고 검출기들에 의하여 수신되는 초음파 파면들 (wave fronts) 을 도시하는 개념도이다.
도 3 은 제스처들을 연속파 초음파를 이용하여 인식하기 위한 일 실시형태 시스템의 기능적 및 구성 요소 블록도이다.
도 4 는 일 실시형태 시스템의 다양한 프로세싱 및 하드웨어 모듈들의 기능적 시스템 블록도이다.
도 5a 는 리플렉터 (예를 들어, 사용자의 손) 가 존재하는 프로토타입 시스템 내의 마이크로폰에 대한 채널 임펄스 응답 대 시간의 그래프이다.
도 5b 는 리플렉터가 존재하지 않는 프로토타입 시스템 내의 마이크로폰에 대한 채널 임펄스 응답 대 시간의 그래프이다.
도 5c 는 프로토타입 시스템 내의 도 5a 에서 예시된 채널 임펄스 응답 및 도 5b 에서 예시된 채널 임펄스 응답 간의 차분으로서 계산되는, 리플렉터만의 채널 임펄스 응답 대 시간의 그래프이다.
도 5d 도 또한 차분 임펄스 응답의 그래프이다.
도 6a 내지 도 6c 는 프로토타입 시스템 내에서 사용자의 손가락이 마이크로폰을 향하여 그리고 그로부터 이동하는 경우의, 에지 필터링의 상이한 형식들을 차분 채널 응답에 적용한 결과들을 시간에 대하여 도시하는 그래프들이다.
도 7a 내지 도 7c 는 프로토타입 시스템 내에서 사용자의 손이 마이크로폰 전면에서 좌측에서 우측으로 그리고 우측에서 좌측으로 이동하는 경우의, 에지 필터링의 상이한 형식들을 차분 채널 응답에 적용한 결과들을 시간에 대하여 도시하는 그래프들이다.
도 8a 내지 도 8d 는 4 개의 상이한 상관 함수들을 이용하여 마이크로폰으로부터 멀어지도록 이동하는 사용자 손가락에 대한 시뮬레이션 결과들의 통계적 상관 분석의 결과들을 도시하는 그래프들이다.
도 9a 내지 도 9c 는 3 개의 상이한 상관 알고리즘들을 이용하여 마이크로폰으로부터 멀어지도록 이동하는 사용자 손가락에 대한 시뮬레이션 결과들의 통계적 상관 분석의 결과들을 도시하는 그래프들이다.
도 10a 내지 도 10c 는 프로토타입 시스템 내의 세 개의 이격된 마이크로폰들에 의하여 측정되는 바와 같은 사용자 제스쳐에 대한 채널 임펄스 응답들 대 시간을 예시하는 그래프들이다.
도 11a 는 도 10a 내지 도 10c 에 예시된 채널 임펄스 응답들 대 시간으로부터 결정된 최대 임펄스 응답 값들 대 시간을 예시하는 그래프이다.
도 11b 는 도 10a 내지 도 10c 에 예시된 채널 임펄스 응답들 대 시간으로부터 결정된 최대 임펄스 응답들 지수들 대 시간을 예시하는 그래프이다.
도 11c 는 도 10a 내지 도 10c 에 예시된 채널 임펄스 응답들 대 시간으로부터 결정된 최대 지수에서의 임펄스 응답들의 측정된 값 대 시간을 예시하는 그래프이다.
도 12a 내지 도 12c 는 이동 리플렉터가 존재하는 경우의 3 개의 마이크로폰들에 대한 로 임펄스 응답들 결정들 (raw impulse responses determinations) 대 시간의 그래프들이다.
도 13a 내지 도 13c 는 이동 리플렉터가 존재하는 경우의 3 개의 마이크로폰들에 대한 저역-통과 필터링된 및 임계화된 (thresholded) 임펄스 응답들 결정들 대 시간의 그래프들이다.
도 14 는 임펄스 응답의 결정된 각도에 기초하여 반사된 초음파 신호들로부터 사용자 인터페이스 제스쳐를 인식하기 위한 일 실시형태 방법의 프로세스 흐름도이다.
도 15a 내지 도 15c 는 각각 도 13a 내지 도 13c 에서 도시된 임펄스 응답 패턴들의 검출된 각도들의 그래프들이다.
도 16a 내지 도 16c 는 마이크로폰들을 향하여 또는 이로부터 멀어지도록 이동하는 리플렉터가 존재하는 경우의 3 개의 마이크로폰들에 대한 저역-통과 필터링된 임펄스 응답들 결정들 대 시간의 그래프들이다.
도 17a 내지 도 17c 는 각각 도 16a 내지 도 16c 에서 도시된 임펄스 응답 패턴들의 검출된 각도들의 그래프들이다.
도 18 은 채널 임펄스 응답으로부터 추출된 신호 피쳐들에 기초하여 제스쳐들을 인식하기 위한 일 실시형태 방법의 프로세스 흐름도이다.
도 19 는 추출된 신호 피쳐들 및 리플렉터의 좌표들의 변화에 기초하여 제스쳐들을 인식하기 위한 일 실시형태 방법의 프로세스 흐름도이다.
도 20 은 다양한 양태들을 가지며 사용되기에 적절한 예시적인 컴퓨터의 구성 요소 블록도이다.
도 21 은 다양한 양태들을 가지며 사용되기에 적절한 예시적인 모바일 디바이스의 구성 요소 블록도이다.
도 22 는 연속파 초음파와 상호작용하는 두 개의 모바일 디바이스들의 일 실시형태 시스템이다.
도 23a 는 송신 디바이스 상에서 디바이스들 간의 방향들을 결정하기 위한 일 실시형태 방법의 프로세스 흐름도이다.
도 23b 는 수신 디바이스 상에서 디바이스들 간의 방향들을 결정하기 위한 일 실시형태 방법의 프로세스 흐름도이다.
다양한 실시형태들이 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 모든 곳에서, 동일한 참조 번호들이 도면들 전체에서 동일하거나 유사한 부분들을 가리키도록 이용될 것이다. 특정한 예들 및 실시형태들에 대해 이루어진 참조는 예시적인 목적들을 위한 것이고, 본 발명 또는 특허청구범위들의 범위를 제한하려고 의도되지 않는다.
단어 "예시적인" 은 본 명세서에서 "일 예로서, 실례, 또는 예시로서 역할하는"을 의미하도록 이용된다. 본 명세서에서 "예시적인" 것으로 설명되는 임의의 구현예는 다른 구현예들에 비하여 바람직하거나 이점을 가지는 것으로 반드시 이해되는 것은 아니다.
본 명세서에서 사용될 때, 용어 "컴퓨팅 디바이스" 는, 랩탑 및 데스크탑 컴퓨터들, 텔레비전들, 가정용 장비들, 셀룰러 전화기들, 개인 텔레비전 디바이스들, 개인용 데이터 단말기들 (PDA들), 팜탑 컴퓨터들, 무선 전자 메일 수신기들 (예를 들어, Blackberry® 및 Treo® 디바이스들), 멀티미디어 인터넷 이용가능한 셀룰러 전화기들 (예를 들어, Blackberry Storm®), 글로벌 포지셔닝 시스템 (GPS) 수신기들, 무선 게이밍 제어기들, 운송체들 (예를 들어, 자동차들) 내의 수신기들, 대화형 게임 디바이스들, 노트북들, 스마트북들, 넷북들, 모바일 텔레비전 디바이스들, 또는 임의의 데이터 프로세싱 장치를 포함하지만 이에 한정되지는 않는, 사용자 인터페이스를 가지는 임의의 형식의 프로그래밍가능한 컴퓨터 디바이스를 가리킨다.
다양한 실시형태들은 컴퓨팅 디바이스들로부터 방출되고 하나 이상의 검출기들 또는 마이크로폰들에 의하여 수신되는 연속파 초음파 신호들을 이용하여 해당 디바이스에 의하여 무접촉식 사용자 인터페이스 감지 및 제스쳐 인식을 하기 위한 시스템들 및 방법들을 제공한다. 연속파 초음파는 송신기 또는 스피커에 의하여 방출되고, 오브젝트 (예를 들어, 사용자의 손) 으로부터 반사되며, 하나 이상의 수신기들 또는 마이크로폰들에 의하여 수신될 수도 있다. 예를 들어, 초음파 방출기 또는 스피커는 적정하게 인코딩된 연속파 초음파를 송신할 수도 있다. 초음파는 대기를 통과하여 전파하고 사용자의 손이 반사 검출 구역 내에 포지셔닝된다면 해당 손에 의하여 반사될 수도 있다. 반사된 초음파는 컴퓨팅 디바이스 주위에 포지셔닝된 하나, 두 개, 3 개의, 또는 그 이상의 초음파 검출기들 또는 마이크로폰들에 의하여 수신될 수도 있다. 다양한 실시형태들에서는, "채널" 은 초음파 방출기로부터 대기를 통과하여 사용자의 손까지의 사운드 경로, 사용자의 손으로부터의 대기를 통과하여 각각의 검출기로의 반사들, 및 각각의 검출기의 응답을 포함할 수도 있다. 이러한 채널의 특징들은, 공지된 신호 처리 방법들 및 회로들 (예를 들어, 디지털 신호 프로세서) 을 이용하여 결정될 수 있는 채널 임펄스 응답으로 표현될 수도 있다. 따라서, 사용자가 컴퓨팅 디바이스의 반사 검출 구역 내에서 손 또는 오브젝트를 이동시킬 때, 채널의 특징들 및 채널 임펄스 응답은 반사된 초음파의 상이한 송신 경로들에 기인하여 변화할 것이다. 이것은 방출된 초음파에 대한 손 표면들의 입사각들의 변화에 기인한 반사된 에코들의 패턴에서의 변화들을 포함할 수도 있다. 채널 임펄스 응답의 시간 상에서의 이러한 변화들은 분석되어, 의도된 사용자 입력 제스쳐들을 인식하기 위하여 메모리 내에 저장된 공지된 패턴들과 비교될 수 있는 패턴들을 드러낼 수 있다. 또한, 인식된 채널 임펄스 응답 패턴들을 생성시키는 사용자의 손의 임의의 큰 반사들 (reflections) 또는 부분들은 초음파의 비행 시간을 측정하도록 처리될 수도 있으며, 이것으로부터 컴퓨팅 디바이스는 주지된 타원 삼각측량 연산들을 이용하여 컴퓨팅 디바이스를 둘러싸는 3-D 공간 내의 반사 표면의 위치를 결정할 수 있다. 반사 표면으로의 거리들을 결정하기 위한 정확한 방법들은, 시스템 내의 잡음을 설명하기 위하여 주지된 처리 알고리즘들, 예컨대 칼만 필터링을 이용할 수도 있다.
3 차원 사용자 입력 제스쳐 인식 능력을 제공하는 것에 덧붙여서, 다양한 실시형태들의 무접촉식 제스쳐 감지 능력은 다른 장점들을 제공한다. 시스템은 예컨대 컴퓨팅 디바이스 주위 30 내지 40 센티미터 내와 같은, 컴퓨팅 디바이스를 둘러싸는 큰 체적 내의 사용자 제스처들을 검출하고 해석할 수 있다. 추가적으로, 사용자 인터페이스 공간이 컴퓨팅 디바이스 위에 있기 때문에, 사용자 인터페이스는 외부 상태들, 예를 들어, 습도, 먼지 등에 내성을 가지도록 구성될 수 있다. 따라서, 다양한 실시형태들은 종래의 컴퓨터가 부적합한 상황들, 시스템들 및 위치들 내에서 애플리케이션들을 가질 수도 있다.
개략적으로, 연속파 초음파 신호는 수신된 반사된 신호들이 방출된 신호와 상관되는 것을 가능하게 하는 방식으로 변조될 수도 있다. 정합 신호들은 시스템이 채널 임펄스 응답을 결정하거나 또는 송신 및 수신 사이의 시간의 차분 또는 비행 시간을 연산하도록 허용할 수도 있다. 시스템 채널 입력 응답 스냅샷들 또는 이미지들은 시간의 경과에 따라 버퍼링되어 응답 내의 변화들이 인식되고 트레이닝 세션들로부터 저장된 패턴들과 비교되는 것을 가능하게 할 수도 있다. 채널 임펄스 응답의 이러한 버퍼링된 이미지들은 특수 필터링을 이용하여 필터링되어 사용자 입력 제스처들의 사전-트레이닝된 템플릿 라이브러리와 정합될 수 있는 피쳐들을 추출할 수도 있다. 임펄스 응답을 처리하는 것에 덧붙여서, 특정 에코 피쳐들, 예컨대 최강 에코 또는 제 1 도착 에코와 연관될 수도 있는 것과 같은 것들은, 비행 시간 분석을 이용하여 3-D 공간 내의 에코 소스의 위치의 정확한 추정을 획득하기 위하여 처리될 수도 있다. 수학적 처리, 예컨대 칼만 필터링은, 잡음이 존재하는 경우의 비행 시간 또는 거리를 정확하게 결정하기 위하여 이용될 수도 있는데, 이것은 대부분의 사용 상황들에서 발생할 가능성이 있다. 수신된 반사들을 분석하고 정합하기 위하여, 실시형태들은 다양한 신호 처리 요소들을 포함할 수도 있다. 이러한 신호 처리 요소들은 수신된 채널 응답으로부터 패턴들 및 피쳐들을 필터링하여 채널 내의 반사 오브젝트를 전혀 결정하지 않고 이러한 피쳐들을 제스쳐와 상관시킬 수도 있다.
채널 임펄스 응답 내의 검출된 패턴들을 메모리 내에 저장된 패턴들, 예컨대 사용자 트레이닝 세션들로부터의 패턴들과 비교함으로써, 컴퓨팅 디바이스는 가장 근접하게 정합하는 패턴을 식별할 수 있다. 특정 사용자 입력 명령들을 특정 트레이닝된 제스쳐 패턴들과 상관시킴으로써, 컴퓨팅 디바이스는 특정 사용자 손 이동들을 사용자 입력 명령들로서 인식하도록 구성될 수 있다. 따라서, 일부 실시형태들에서는, 초음파 검출 시스템은 오퍼레이팅 시스템의 그래픽 사용자 인터페이스 부분의 일부로서 구현될 수도 있다. 이러한 실시형태들에서는, 채널 임펄스 응답 패턴이 메모리 내의 패턴과 정합되면, 연관된 사용자 명령은 컴퓨팅 디바이스에 의하여 식별되고 구현될 수도 있다. 이러한 방식으로, 사용자는 사용자 명령들이 공지된 포인팅 디바이스들 또는 터치스크린 디스플레이들을 이용하여 입력될 수 있는 방법과 유사하게 컴퓨팅 디바이스 상에서 또는 그 인접 지역 내에서 한 손을 이동시키거나 포인팅함으로써 컴퓨팅 디바이스를 제어할 수도 있다.
비록 다양한 실시형태들이 초음파를 전송하고 수신하고 있는 것으로서 설명되지만, 실시형태들은 또한 통상의 초음파 구역 아래의 주파수들을 가지는 사운드로써 구현될 수도 있다. 방출된 주파수들이 가청 범위 위라면, 다양한 실시형태들은 본 명세서에서 설명되는 방식으로 고주파 사운드로써 구현될 수도 있다. 초음파는 사용자의 손의 미세한 구조들의 결정을 가능하게 하는 그의 작은 파장에 기인하여 이롭다. 그러나, 공기의 낮은 밀도에 기인하여, 더 낮은 주파수 사운드는 종래의 스피커들을 이용하여 생성하기에 더 용이하고 더 효율적이며 그리고 종래의 마이크로폰에서 수신되기에 더 용이할 수도 있다. 그러므로, 본 명세서에서 초음파를 참조하는 것은 특정하여 진술된 경우를 제외하면 특허청구범위의 범위를 특정 주파수 범위들 내의 사운드로 제한하도록 의도되는 것이 아니다.
도 1 은 랩탑 컴퓨터 (100) 상의 다양한 실시형태들의 도시적인 구현예를 도시한다. 도시된 실시형태에서는, 랩탑 컴퓨터 (100) 내의 사용자 인터페이스 시스템은 컴퓨터 (100) 의 다양한 부분들에 포지셔닝된 초음파 방출기 (101) 및 복수 개의 초음파 검출기들 (102a, 102b, 102c) 을 포함한다. 사용시에는, 사용자는 손 (104) 을 컴퓨터 (100) 상부의 또는 이의 인접 지역 내의 3-D 공간 (106) 내에서 포지셔닝할 수도 있다. 종래의 포인팅 디바이스, 예컨대 터치패드 (110) 를 이용하는 대신에, 사용자는 손 (104) 을 초음파 반사들이 초음파 검출기들 (102a, 102b, 102c) 에 의하여 검출될 수도 있는 구역 (이것은 본 명세서에서 반사 검출 구역이라고 지칭된다) 내에서 이동함으로써, 컴퓨팅 디바이스가 인식하고 구현할 수 있는 사용자 입력 제스처들을 수행할 수도 있다. 제스처들의 그래픽적 표현이 다른 그래픽 사용자 인터페이스 시스템들과 유사하게 디스플레이 (108) 에 제공될 수도 있다. 따라서, 손 (104) 을 컴퓨터 (100) 위 또는 주위의 좌표 시스템 (106) 의 X, Y 및 Z 축들 내에서 이동시킴으로써, 사용자는 어느 표면들도 접촉함이 없이 컴퓨터 (100) 와 인터페이싱할 수 있다. 실시형태들은 사용자 입력 제스처들이 3-D 공간에서 수행될 수도 있는 무접촉식 사용자 인터페이스 시스템을 가능하게 하여, 엄격하게 2 차원인 종래의 그래픽 사용자 인터페이스 디바이스들 (예를 들어, 컴퓨터 마우스, 터치패드 또는 터치 스크린) 과는 다르게 완전 3-D 사용자 인터페이스 능력들을 가능하게 한다.
도 2 는 사용자의 손 (104) 의 포지션 및 방위를 검출하기 위하여 어떻게 초음파가 이용될 수 있는지의 간단한 표현예를 도시한다. 초음파 방출기 (101) 는 대기를 통과하여 전파하는 연속파 초음파 (206) 를 방출할 수도 있다. 방출된 초음파내에 정보를 인코딩함으로써, 사용자의 손 (104) 과 관련된 포지션 정보는 연속파 사운드를 이용하여 결정될 수 있다. 표현의 간결성을 위하여, 연속파 초음파 내의 인식가능 피쳐들은 동심 호들 (concentric arcs) 을 이용하여 도시된다. 방출된 초음파 (206) 는 반사 검출 구역 내에 있을 때 사용자의 손 (104) 으로부터 반사하여 결과적으로 반사된 초음파 (207, 208) 가 얻어진다. 사용자의 손이 3 차원이기 때문에, 복수 개의 반사된 초음파 파면들 (207, 208) 은 사용자의 손 상의 다양한 피쳐들로부터의 반사들로부터 결과적으로 얻어질 것이다. 피쳐들이 초음파 방출기 (101) 로부터 상이한 거리들 내에 위치하기 때문에, 임의의 주어진 인스턴트에서 각 피쳐로부터 반사된 파면 (wave front) 은 달라질 것이다. 더 나아가, 사용자의 손 상의 다양한 피쳐들로부터 각각의 초음파 검출기 (102) 까지의 거리도 역시 달라질 것이다. 결과적으로, 사용자의 손 (104) 으로부터 반사된 사운드는 각각 시간에서 서로로부터 약간 오프셋되는 복수 개의 파면들 내에서 검출기 (102) 에 도착할 것이다. 따라서, 검출기 (102) 에 도착하는 반사된 초음파는 사용자의 손의 위치, 형상 및 방위와 관련된 정보를 인코딩한다. 종래의 이미징 초음파 시스템에서는, 검출기들 (102) 에 의하여 측정된 에코 도착 시간이 반사하는 표면의 이미지를 생성하기 위하여 이용될 수도 있다.
현대의 초음파 이미징 시스템들은 정확한 이미지들을 현상하기 위하여 위상화된 어레이 시스템들을 이용한다. 그러나, 이러한 이미지 생성은 프로세서 집약적이며, 따라서 기본적인 사용자 인터페이스 시스템들에 대해서는 부적절하다. 다양한 실시형태들은 이미징 프로세스를 바이패스하며, 그 대신에 방출기 (101), 반사하는 표면 (104), 및 검출기 (102), 뿐아니라 개재된 공간에 걸쳐있는 통신 채널의 채널 임펄스 응답 내의 변화들을 처리함으로써 수신된 초음파 내에 인코딩되는 위치, 형상 및 방위 정보를 이용한다.
도 3 은 다양한 실시형태들을 구현하는 컴퓨팅 시스템 (300) 을 도시한다. 일 실시형태 컴퓨팅 시스템 (300) 은 초음파 방출기 (101) 및 컴퓨팅 디바이스의 중앙 프로세서 (304) 에 커플링된 디지털 신호 프로세서 (302) 에 커플링되는 하나 이상의 초음파 검출기들 또는 마이크로폰들 (102a, 102b, 102c) 을 포함할 수도 있다. 중앙 프로세서 (304) 는 메모리 (306) 에 그리고 초음파 방출기 (101) 에 커플링되는 초음파 변조기/증폭기 회로 (308) 에 커플링될 수도 있다. 초음파 변조기/증폭기 회로 (308) 는 프로세서 (304) 로부터 연속파 초음파, 예컨대 의사랜덤 번호 또는 의사랜덤 잡음 내로 인코딩될 정보를 수신하도록 구성될 수도 있다. 그것은 이러한 정보를 이용하여 변조된 초음파를 방출하기 위하여 초음파 방출기 (101) 에 인가되는 전기 신호를 생성할 수도 있다. 몇 가지 구현예들에서는, 초음파 변조기/증폭기 회로 (308) 는 디지털 신호 프로세서 (302) 에 커플링될 수도 있으며, 중앙 프로세서 (304) 로부터가 아니라 디지털 신호 프로세서 (302) 로부터의 초음파 내로 변조될 정보의 신호들을 수신하도록 구성될 수도 있다.
몇 가지 실시형태들에서는, 초음파 방출기 (101) 는 별개의 사운드 방출 구성 요소, 예컨대 컴퓨팅 디바이스의 표면 상에 탑재된 초음파 트랜스듀서일 수도 있다. 다른 실시형태들에서는, 초음파 방출기 (101) 는 컴퓨팅 디바이스의 스피커 또는 스피커 내의 그 스피커 내의 요소, 예컨대 피에조 스피커 또는 트위터 요소 (tweeter element) 일 수도 있다. 이와 유사하게, 몇 가지 실시형태들에서는, 초음파 검출기들 또는 마이크로폰들 (102a, 102b, 102c) 은 별개의 구성요소들, 예컨대 전용 초음파 트랜스듀서들일 수도 있다. 다른 실시형태들에서는, 초음파는 컴퓨팅 디바이스의 마이크로폰 또는 마이크로폰 내의 요소, 예컨대 고주파 감지 구성 요소에 의하여 감지될 수도 있다. 또 다른 실시형태들에서는, 하나 이상의 초음파 트랜스듀서들은 초음파 방출기로서도 또는 초음파 검출기로서도 기능할 수도 있다.
위에서 설명된 바와 같이, 다양한 실시형태들은 초음파 방출기 (101), 대기를 통한 초음파 방출기 (101) 로부터 사용자의 손 (104) 까지의 전파 경로 (312), 사용자의 손가락 또는 손 (104) 으로부터의 반사들, 대기를 통한 사용자의 손 (104) 으로부터 초음파 검출기 (102a) 까지의 전파 경로 (314) , 그리고 초음파 검출기 (102a, 102b, 102c) 를 망라하도록 정의되는 통신 채널 (310) 을 이용한다. 따라서, 별개의 통신 채널이 컴퓨팅 시스템 (300) 내에 포함되는 초음파 방출기 (101) 및 초음파 검출기 (102a, 102b, 102c) 각각 사이에 존재할 것이다. 비록 다양한 실시형태들이 단일 초음파 검출기 (102a) 를 이용하여 구현될 수도 있지만, 사용자의 손 (104) 의 위치, 형상, 및 방위와 관련된 더 많은 정보를 획득하거나 또는 사용자 입력 제스쳐들을 더 잘 구별하기 위하여, 두 개 이상 초음파 검출기들이 컴퓨팅 시스템 (300) 상의 다양한 위치들 내에 포지셔닝될 수도 있다.
임의의 통신 채널과 유사하게, 대기 통과 초음파 경감 (mitigation) 채널 (310) 의 요소들 중 적어도 하나의 변화는 채널 임펄스 응답의 변화를 결과적으로 야기할 수도 있다. 거의 모든 동작 조건들에서, 초음파 방출기 (101) 및 검출기 (102a) 의 성질들, 및 주변 공기의 사운드 전파 특징들은 단지 수 초에 걸칠, 통상적인 사용자 입력 제스쳐의 시간프레임 내에서는 일정한 것으로 추정될 수도 있다. 따라서, 통신 채널 (312) 의 이러한 요소들의 온도, 습도 등에서의 변화에 기인한 변화들은 무시될 수도 있다. 그러므로, 임펄스 응답의 모든 변화들이 반사 표면, 예컨대 사용자의 손 (104) 의 위치, 형상, 및 방위의 변화들에 기인하는 것이라고 추정함으로써 통신 채널 (310) 의 분석이 달성될 수 있다. 예를 들어, 사용자의 손 (104) 의 초음파 방출기 (101) 를 향한 이동은 방출기-대-손 전파 경로 (312) 를 감소시킬 것이며, 아마도 손-대-검출기 전파 경로 (314) 를 변화 (연장 또는 단축) 시킬 것이다. 또한, 사용자의 손 (104) 의 이동, 예컨대 손가락들을 회전시키거나, 펼치거나 또는 오므리는 것은 반사하는 표면들의 부딪히는 초음파 (impinging ultrasound) 에 대한 방위를 변화시킬 것이며, 따라서 검출기 (102a) 에 의하여 수신되는 반사된 초음파의 패턴을 변화시킬 것이다. 추가적으로, 사용자의 손 (104) 의 초음파 방출기 (101) 를 향한 또는 그로부터의 신속한 이동도 역시 초음파 검출기 (102a) 에 의하여 수신되는 반사된 초음파 내에 도플러 천이를 야기할 수도 있다. 반사 검출 구역 내의 사용자의 손 (104) 으로부터 결과적으로 야기되는 통신 채널 (310) 의 이러한 변화들이 채널의 임펄스 응답 내에 반영될 것이다. 따라서, 시간의 경과에 따른 통신 채널 (310) 임펄스 응답의 변화들을 분석함으로써, 컴퓨팅 시스템 (300) 은 사용자의 손 (104) 의 포지션, 형상 및 방위와 관련된 정보를 획득할 수 있다. 3 개 이상의 초음파 검출기들 (102a, 102b, 102c) 을 컴퓨팅 시스템 (300) 상의 다양한 위치들, 예컨대 아래에서 설명되는 도 20 에서 도시된 바와 같은 3 차원에서 이격된 것들과 같은 위치들에 배치함으로써, 컴퓨팅 시스템 (300) 은 사용자의 손 (104) 에 관련된 3 차원 포지션 정보를 획득할 수 있다.
초음파 검출기들 (102a, 102b, 102c) 에 의하여 수신된 초음파 신호들의 샘플링, 및 각각의 통신 채널 (310) 에 대한 채널 임펄스 응답의 결정에 수반되는 연산들은 디지털 신호 프로세서 (302) 또는 다른 적절하게 구성된 처리 회로에 의하여 수행될 수도 있다. 채널 임펄스 응답 데이터의 처리, 예컨대 아래에서 설명되는 다양한 실시형태들의 필터링, 계조 처리, 및 통계적 분석은 디지털 신호 프로세서 (302) 에서, 또는 부분적으로는 디지털 신호 프로세서 (302) 에서 그리고 부분적으로는 중앙 프로세서 (304) 에서 수행될 수도 있다. 디지털 신호 프로세서 (302) 및/또는 중앙 프로세서 (304) 내에서 수행된 처리에 의하여 채널 임펄스 응답으로부터 추출된 인식가능 피쳐들은 중앙 프로세서 (304) 또는 컴퓨팅 시스템 (300) 내의 다른 프로세서에 의하여 수행된 패턴 비교 알고리즘들을 이용함으로써 메모리 (306) 내에 저장된 패턴들과 비교될 수도 있다. 만일 중앙 프로세서 (304) 가 하나 이상의 통신 채널들 (310) 중 하나 이상의 채널 임펄스 응답들로부터 추출된 패턴들이 메모리 (306) 내에 저장된 패턴들과 정합한다고 결정하면, 중앙 프로세서 (304) 는 정합된 패턴과 연관된 사용자 입력 명령들을 결정하고 그리고 임의의 다른 사용자 입력 명령과 같이 해당 명령을 구현할 수도 있다.
도 4 는 일 실시형태 시스템 (400) 의 기능적 모듈들 및 하드웨어 요소들을 도시한다. 방출된 연속파 초음파를 생성하기 위하여, 의사랜덤 잡음 또는 의사랜덤 번호 생성기 모듈 (402) 이 의사랜덤 코드를 생성할 수도 있다. 이러한 코드는, 디지털-아날로그 변환기 및 증폭기 모듈 (406) 로 제공되는 디지털 정보 내에 의사랜덤 잡음을 포함시키는 확산 스펙트럼 변조기 및 펄스 압축 모듈 (404) 로 제공될 수도 있다. 이러한 모듈 (406) 은 아날로그 신호를 초음파 방출기 (101) 로 제공할 수도 있다. 위에서 설명된 바와 같이, 방출된 초음파 (206) 는 사용자의 손 (104) 으로부터 반사되어 반사된 초음파 (208) 를 생성하며, 이것은 하나 이상의 초음파 검출기들 또는 마이크로폰들 (102a, 102b, 102c) 에 의하여 수신된다. 하나 이상의 초음파 검출기들 또는 마이크로폰들 (102a, 102b, 102c) 로부터의 신호들은 증폭기 및 아날로그-디지털 변환기 모듈 (407) 에 의하여 처리되며, 결과적으로 얻어지는 디지털 데이터는 디지털 신호 프로세서 (409) 로 전달된다. 몇 가지 구현예들에서는, 아날로그-디지털 변환 프로세스 모듈 (407) 은 디지털 신호 프로세서 (409) 내에 포함될 수도 있다. 디지털 신호 프로세서 (409) 는 채널 임펄스 응답 분석 모듈 (408) 및 피쳐 추출 모듈 (410) 을 포함하는 DSP-실행가능한 소프트웨어 모듈들을 이용하여 구성될 수도 있다. 채널 임펄스 응답 분석 모듈 (408) 및 피쳐 추출 모듈 (410) 내에서 달성되는 처리는 이하 더 상세히 설명된다.
피쳐 추출 모듈 (410) 로부터의 결과들은, 추출된 피쳐들을 메모리 (306) 내에 저장된 패턴들과 비교하는 채널 임펄스 응답 패턴 비교 모듈 (412) 에 의하여 처리될 수도 있다. 채널 임펄스 응답 패턴 비교 모듈 (412) 은 채널 임펄스 응답이 메모리 내에 저장된 패턴과 정합하거나 또는 그것과 유사한 정도를 반영하는 상관 값들을 연산할 수도 있다. 이러한 결과들은 최적 정합 패턴을 선택하고 그리고 그의 연관된 사용자 입력 명령을 식별하도록 기능하는 제스쳐 인식 모듈 (414) 에 의하여 처리될 수도 있다. 제스쳐 인식 모듈 (414) 은 사용자 입력 제스쳐의 컨텍스트 또는 현재 동작 상태를 고려하여 정합된 패턴들 중에서 현재 동작 조건과 가장 관련되는 정합된 패턴들을 선택할 수도 있다. 이렇게 하는 동안에, 제스쳐 인식 모듈 (414) 은 만일 연관된 사용자 입력 명령이 현재 동작 상태와 관련된다면 상대적으로 높은 상관 인자를 가지는 패턴을 선택할 수도 있다. 예를 들어, 만일 다중 패턴들이 상대적으로 높은 상관 인자들을 가지지만, 하지만 패턴들 중 몇 개가 현재 동작 상태에서는 실행될 수 없는 사용자 입력 명령들 (예를 들어, 현재 실행되지 않고 있는 애플리케이션들과 관련되는 명령들) 을 가진다면, 제스쳐 인식 모듈 (414) 은 그러한 패턴들을 폐기할 수도 있다. 또한, 제스쳐 인식 모듈 (414) 은 상대적으로 높은 상관 인자들을 가지는 패턴들 중에서 선택할 때 이전 입력 제스처들 (예를 들어, 선택 명령) 을 고려하여, 이전 사용자 입력 명령과 관련된 명령들과 연관되는 패턴들 중에서 선택할 수도 있다. 예를 들어, 만일 이전 입력 제스쳐가 선택 명령이었다면, 제스쳐 인식 모듈 (414) 은 선택된 오브젝트와 관련된 명령과 연관된 패턴들 중에서, 예컨대 이동, 복사, 또는 잘라내기 명령과 연관된 패턴들을 선택할 수도 있다.
환경들 하에서 최적 정합 패턴과 연관되고 제스쳐 인식 모듈 (414) 에 의하여 식별된 현재 동작 상태와 일치되는 단일 명령은 임의의 다른 사용자 입력 명령과 같이 실행을 위하여 사용자 인터페이스 모듈 (416) 로 전달될 수도 있다. 사용자 인터페이스 모듈 (416) 은 식별된 명령을 실행을 위하여 프로세서로 전달할 수도 있다. 또한, 사용자 인터페이스 모듈 (416) 은 식별된 명령과 일치하며 컴퓨팅 디바이스 디스플레이로 제공되는 디스플레이를 생성할 수도 있다. 예를 들어, 만일 제스쳐 인식 모듈 (414) 이 사용자가 (예를 들어, 3-D 공간 내의 오브젝트를 포인팅하거나, 두 손가락들을 함께 꼬집거나, 또는 주먹을 쥠으로써) 선택 명령을 실행했다고 결정하면, 사용자 인터페이스 모듈 (416) 은 선택된 오브젝트를 표시하는 그래픽 사용자 인터페이스 디스플레이를, 예컨대 컴퓨터 마우스, 터치패드 또는 터치스크린 사용자 인터페이스 디바이스를 피쳐링하는 그래픽 사용자 인터페이스들 내에서 선택된 오브젝트들이 표시되는 방법과 유사한 방식으로 생성할 수도 있다. 또 다른 예로서, 만일 제스쳐 인식 모듈 (414) 이 사용자가 (예를 들어, 손을 한 포지션으로부터 다른 포지션으로 이동시키고 이에 후속하여 선택 명령을 실행함으로써) 이동 명령을 실행했다고 결정하면, 사용자 인터페이스 모듈 (416) 은 디스플레이된 이미지 내에서 이동하는 선택된 오브젝트를 표시하는 디스플레이를 생성할 수도 있다.
다른 실시형태들에서는, 사용자 입력 제스처들은 사용자의 손가락 또는 손의 3 차원 위치에 의하여 결정되거나 이에 기초하여 구현될 수도 있다. 이러한 실시형태들에서는, 컴퓨팅 디바이스가 사용자의 손가락 또는 손의 반사 검출 구역 내의 절대 또는 상대적인 위치를 결정하는 것이 필요하다. 이것은 비행 시간 연산 모듈 (418) 및 좌표 결정 모듈 (420) 에 의하여 달성될 수도 있다. 반사 검출 구역 내의 리플렉터의 위치는 반사된 초음파의 초음파 검출기들에의 도착의 시간에 기초하여 결정될 수도 있다. 이러한 비행 시간은 방출기로부터 사용자의 손까지의 그리고 손으로부터 각각의 초음파 검출기까지의 거리에 의존할 것이다. 컴퓨팅 디바이스가 각각의 인코딩된 신호가 브로드캐스트된 시간 또는 상대 시간을 알고 있고 해당 신호 내에 포함된 정보에 기초하여 반사의 도착을 검출할 수 있기 때문에, 비행 시간이 인코딩된 신호에 기초하여 결정될 수도 있다. 그러면, 각 초음파 검출기로부터의 결정된 비행 시간 데이터는 좌표 결정 모듈 (422) 에 의하여 처리되어 리플렉터의 위치를 타원 삼각측량 방법들을 이용하여 추정할 수 있다. 수신된 반사된 초음파가 잡음성 채널일 가능성이 높기 때문에, 해당 데이터의 칼만 필터링이 가장 확률 높은 도착 시간을 결정하는데 이용될 수도 있는데, 이것은 이제 타원 삼각측량 연산들에서 이용될 수 있다. 리플렉터의 좌표들을 결정하기 위한 실시형태 방법들이 이하 더 온전하게 설명된다.
좌표 결정 모듈 (420) 에 의하여 결정된 사용자의 손의 좌표들은 사용자 인터페이스 모듈 (416) 로의 입력들로서 이용될 수도 있다. 예를 들어, 좌표 결정 모듈 (420) 에 의하여 결정된 사용자의 손가락의 끝의 좌표들은 사용자 인터페이스 모듈 (416) 에 의하여 이용되어 그래픽 사용자 인터페이스 디스플레이 상에서 커서 또는 포인터를 포지셔닝할 수도 있다. 이러한 방식으로, 사용자가 컴퓨터 마우스, 터치 패드 또는 터치스크린 사용자 입력 디바이스를 이용하여 커서들 및 포인터들을 조작하는 방법과 유사한 방식으로 커서 또는 포인터를 디스플레이 스크린 상에서 조작하기 위하여, 사용자는 손가락을 반사 검출 구역 내에서 주위로 이동시킬 수도 있다. 다른 예로서, 좌표 결정 모듈 (420) 에 의하여 결정된 사용자의 손의 좌표들은 사용자 인터페이스 모듈 (416) 에 의하여 이용되어 그래픽 사용자 인터페이스 디스플레이 내에서 표시된 선택된 오브젝트를 포지셔닝할 수도 있다.
몇 개의 사용자 인터페이스 제스처들은 채널 임펄스 응답 피쳐들 내의 정합된 패턴들에 그리고 사용자의 손 또는 손가락의 좌표들에 모두 기초하여 제스쳐 인식 모듈 (414) 에 의하여 인식될 수도 있다. 따라서, 반사 좌표들도 역시 좌표 결정 모듈 (420) 에 의하여 제스쳐 인식 모듈 (414) 로 제공될 수도 있다. 그러면, 제스쳐 인식 모듈 (414) 은 사용자 입력 제스쳐를 패턴 정합 상관 값들, 콘텍스트 또는 동작 상태 및 반사 검출 구역 내의 사용자의 손 또는 손가락의 위치에 기초하여 결정할 수도 있다. 예를 들어, 사용자의 손의 주어진 이동은 해당 모션이 컴퓨팅 디바이스 디스플레이 또는 키보드에 근접하도록 또는 이로부터 멀어지도록 수행되는지 여부에 기초하여 상이한 의미들을 가질 수도 있다 (즉, 상이한 사용자 입력 명령들과 상관될 수도 있다). 따라서, 손을 디스플레이로부터 소정 거리에서 앞뒤로 흔드는 사용자는 컴퓨터를 깨우거나 또는 디스플레이 상의 스크린 보호기를 비활성화하는 명령에 연관될 수도 있는 반면에, 디스플레이에 인접하여 손을 앞뒤로 흔드는 사용자는 선택된 오브젝트 또는 디스플레이의 부분을 지우거나 삭제하는 명령과 연관될 수도 있다.
도 4 는 다양한 실시형태 프로세스들 및 동작들의 하나의 가능한 조직화의 일 예로서 제공되는데, 하지만 도시된 구조로 특허청구범위의 범위를 제한하려고 의도되는 것이 아니다. 다양한 실시형태들의 처리 및 동작들은 하드웨어, 소프트웨어, 또는 도 4 에 도시된 것과 상이한 방식으로 조직화되거나 또는 상호작용할 수도 있는 하드웨어 및 소프트웨어의 조합으로 구성될 수도 있다.
시간적 정보 (temporal infomration) 를 연속파 방출된 사운드 내로 인코딩하는데 이용될 수도 있는 한 가지 방법은 의사랜덤 잡음을 생성하고 그리고 스펙트럼 변조 방식을 활용하는 것이다. 이러한 방식에서는, 각 인스턴스에서, 내장된 초음파는 (잡음의 무작위성의 정도에 의존하여) 모든 다른 인스턴스들과 상이하며, 이것이 상이한 반사 점들로부터 도착하는 반사된 사운드가 해당 사운드의 파장보다 더 긴 거리들에 걸쳐 반사된 표면의 포지션, 방위 및 형상과 관련된 정보를 인코딩하는 것을 가능하게 한다. 비-랜덤 또는 체계적 인코딩 (systematic encoding) (예를 들어, 초음파 주파수들의 범위에 걸친 연속적인 스윕 (sweep)) 대신에 의사랜덤 잡음을 이용하는 것은, 한 인스턴스에서 열화된 채널 응답을 결과적으로 야기한 임의의 조건 또는 간섭이 동일한 랜덤 잡음 및 주파수 조합이 방출될 때까지는 다시 마주치게 될 가능성이 적기 때문에, 잡음 및 결정적 간섭 (deterministic interference) 에 덜 취약한 시스템을 제공할 수도 있는데, 이러한 상황은 적절한 랜덤화 방법 (randomizing method) 이 이용된다면 극히 희귀하게 발생할 것이다. 의사랜덤 잡음을 생성하기 위한 방법들은 통신 분야들에서 주지되며, 그리고 신호 내로 인코딩되는 긴 의사랜덤 번호를 생성하는 단계를 포함한다. 의사랜덤 번호는 비트들의 매우 큰 개수들에서 무작위로 발생하는 이진 시퀀스이다. 의사랜덤 잡음을 연속파 초음파 내에 변조하면 결과적으로 주파수들의 넓은 범위에 걸친 초음파 신호를 발생시킬 수도 있다. 이것은 인코딩 의사랜덤 번호를 확산 스펙트럼 변조 방법, 예컨대 직교 주파수 분할 다중화 (OFDM) 변조 및 펄스 압축을 이용하여 인코딩함으로써 달성될 수도 있다.
연속파 초음파 내에 포함된 시간적 정보를 이용하면, 리플렉터 (예를 들어, 사용자의 손) 의 위치 및 표면 피쳐들과 관련된 정보는 수신된 반사된 초음파로부터 추출될 수 있다. 그러나, 위에서 언급된 바와 같이, 리플렉터를 이미지화하는 것은 많은 처리 능력을 요구하지만 사용자 입력 제스쳐 인식을 달성하는 데에는 필요하지 않다. 그 대신에, 다양한 실시형태들은 반사된 초음파 내에 인코딩된 정보를 채널 임펄스 응답을 결정하고 그리고 데이터의 시간 상에서의 변화들을 메모리에 저장된 이러한 데이터의 패턴들과 비교함으로써 분석한다.
채널 임펄스 응답이란 어떤 외부 변화에 대한 응답에서의 통신 채널의 반응을 지칭한다. 다양한 실시형태들에서는 외부 변화는 리플렉터 (즉, 사용자의 손 또는 손가락) 의 반사 검출 구역 내에서의 이동이다. 채널 임펄스 응답은 사용자의 손 또는 손가락이 반사 검출 구역 내에서 이동할 때의 채널의 반응을 시간의 함수로서 기술한다. 특정 방출기-손-검출기 초음파 송신 경로 채널의 채널 임펄스 응답은 다수의 주지된 방식들에서 분석될 수도 있다. 예를 들어 채널의 출력 y (t) 는 해당 채널에 인가된 임펄스 x (t) (즉, 이 예에서는 방출된 초음파 신호) 및 해당 채널의 임펄스 응답 h (t) 의 곱들의 합으로서 모델링될 수도 있다. 다시 말하면, y (t) = x (t) * h (t) 이다. 채널 출력은 다음 수학식 1 을 이용하여 추정될 수도 있다.
Figure 112013008753472-pct00001
샘플링 기간 동안의 신호 탭 측정들 (signal tap measurements) 을 이용하여 이러한 수학식을 풀기 위하여, 수학식 1 은 행렬 형식으로 변환되어 컴퓨터 프로세서 (예를 들어, DSP) 에 의한 해를 가능하게 할 수 있다. 만일 시간 n 에서의 공지된 송신된 신호 패턴이 x (n) 으로서 정의된다면, X 행렬은 공지된 송신된 신호 패턴인 x (n), x (n-1),.., x (n-N-M) 의 행렬로서 정의될 수도 있다. 수신된 신호를 나타내는 행렬 Y 는 Y = [y (n) y (n-1).., y (n-N-1) ]' 으로서 정의되는데, 여기서 y (n) 은 수학식 1 에 의하여 주어진다. 그러면, 연산될 채널 임펄스 응답인 행렬 H 는 H=[h (0), h (1),.., h (M-1) ]' 로서 정의될 수 있다. 그러면, 채널 출력은 Y = X * H 에 의하여 정의될 수도 있는데, 여기서 Y 는 N x 1 행렬이고, H 는 M x 1 행렬이며, 그리고 X 는 N x M 행렬이다. 그러므로, 채널 임펄스 응답 H 는 결정된 H = X-1 * Y 에 의하여 결정될 수도 있다. 실제 시스템들에서는, H 는 음향적 및 전자적 채널들 모두의 콘볼루션 결과이다. H = H a * H e 이다. X * H = X * H a * H e = Y+N 인데, 여기서 N 은 잡음이고, H a 는 음향적 경로이며, 그리고 H e 는 전기적 경로이다. 전기적 채널이 주어지면, 음향 경로는: H a = (X * H e ) -1 * Y 와 같이 획득될 수 있다.
일 실시형태에서, 초음파 대역 내의 대역 통과 필터가 오디오 대역 잡음을 억제하기 위하여 입력 신호들을 사전-처리하기 위하여 이용될 수도 있다. 만일 그렇다면, 이의 임펄스 응답은 임펄스 응답 H 의 일부 (즉, 내부에 포함) 가 될 것이다.
방출된 초음파 신호 패턴 X (n) 이 공지되기 때문에, 많은 의사 행렬 반전 방법들, 예컨대 일반화된 특이 값 분해 (generalized singular value decomposition) 이 행렬 X 의 역행렬을 연산하기 위하여 이용될 수 있다. 수신된 마이크로폰 신호들 내에 잡음이 존재하는데 기인하여, 안정한 해를 유도하기 위하여 적합한 정규화 조치들 (regularization measures) 이 필요할 수도 있다. 그 결과를 이용하면, 채널 임펄스 응답은 초음파 검출기들에 의하여 측정된 신호로부터 연산될 수 있다. 연산된 임펄스 응답 H 은 그러면 평활 인자를 이용하여 평활화되어 잡음을 감소시킬 수도 있다. 위의 설명이 어떻게 시간 도메인 측정들로부터 채널 임펄스 응답이 연산될 수 있는지를 보여주지만, 채널 임펄스 응답은 주파수 도메인에서도 연산될 수 있다.
임펄스 응답 업데이트 레이트는 초음파 제스쳐 인식 프로세스들과 연관된 처리에 할당된 메모리의 내용 (matter) 인 행렬 X 의 크기 및 H 의 길이에 의하여 결정될 수도 있다. 예를 들어, 만일 N + M = 800 이라면, 초당 240 번씩 (즉, 240 Hz) 수신된 초음파 신호는 샘플링될 수도 있고 채널 임펄스 응답은 업데이트될 수도 있다.
도 4 에 도시된 바와 같이, 검출기들 (102) 에 도착하는 초음파 신호들의 두 세트들이 존재하는데, 이들은 원하는 양태들인 신호들의 반사된 세트 (208) 및 방출된 사운드의 직접 송신 (206) 이다. 직접 사운드 송신은 크로스토크라고 지칭될 수도 있다. 컴퓨팅 디바이스는 반사된 초음파에 기인한 채널 임펄스 응답을 나타내는 차분을 드러내기 위하여, 전체 채널 임펄스 응답을 처리하여 직접 송신에 기인한 응답의 부분을 삭제할 수도 있다. 반사된 초음파에 기인한 채널 임펄스 응답은 평균 백그라운드 채널 임펄스 응답 (즉, 반사 검출 구역 내에 리플렉터가 존재하지 않을 때에 측정된 채널 임펄스 응답) 을 측정된 초음파 신호들에 기초하여 연산된 전체 채널 임펄스 응답으로부터 감산함으로써 결정될 수도 있다. 초음파는 인간의 귀에는 들릴 수가 없기 때문에, 리플렉터가 반사 검출 구역 내에 존재하지 않을 때마다 사전 결정된 간격들마다 백그라운드 채널 측정이 측정될 수 있다. 평균 백그라운드 채널 임펄스 응답을 전체 채널 임펄스 응답으로부터 감산하면 "리플렉터 채널 임펄스 응답"을 산출한다. 따라서, 다음 수학식 2 가 성립된다.
Figure 112013008753472-pct00002
수학식 2 에서 Hr 은 리플렉터 채널 임펄스 응답이고, Ht 는 전체 채널 임펄스 응답이며 그리고 Hbg 는 백그라운드 채널 임펄스 응답이다. 행렬 반전에 의하여 연산된 채널 임펄스 응답들은 마이크로폰들에서의 잡음에 민감할 수도 있다. 리플렉터 채널 응답은 잡음에 대해 더 견실할 수도 있다.
시간의 함수로서의 리플렉터 채널 임펄스 응답 내의 변화들은 추적되고 이용되어 리플렉터 채널 임펄스 응답 대 시간의 상대적인 변화들을 측정할 수도 있다. "차분 채널 임펄스 응답" 은 제 1 샘플링 시간에서의 리플렉터 채널 임펄스 응답 및 후속 샘플링 시간의 리플렉터 채널 임펄스 응답 내의 차분으로서 연산될 수 있다. 다시 말하면, 다음 수학식 3 이 성립된다.
Figure 112013008753472-pct00003
수학식 3 에서, Hd(n) 은 시간 n 에서의 차분 채널 임펄스 응답이다. 차분 채널 임펄스 응답은, 사용자가 손 또는 손가락을 반사 검출 구역 내에서 이동시키는 동적 사용자 입력 제스처들을 인식하기 위하여 이용될 수도 있다. 분석을 용이하게 하기 위하여, 차분 채널 임펄스 응답들은 메모리 내에서 시간 상의 이미지들의 시리즈로서 버퍼링될 수도 있다.
도 5a 내지 도 5d 는 프로토타입 시스템 내에서 획득된 차분 채널 임펄스 응답 이미지들을 처리한 결과들의 일 예를 도시한다. 도 5a 는 리플렉터, 예컨대 사용자의 손이 존재할 때 단일 마이크로폰에 대한 채널 임펄스 응답을 시간에 대하여 연산한 로오 결과들 (raw results) 을 도시한다. 이러한 프로토타입에서는, 채널 임펄스 응답은 70 개의 신호 탭들을 이용하여 측정되었다. 도 5a 에 도시된 전체 측정된 채널 임펄스 응답 내의 피쳐들은 크로스토크 채널 임펄스 응답과 혼합되고, 그래서 반사된 채널 임펄스 응답 내의 피쳐들이 결정될 수 있기 이전에 백그라운드 채널 임펄스 응답이 감산될 필요가 있다. 도 5b 는 반사 검출 구역 내에 사용자 손이 없을 때의 동일한 시스템에 의하여 획득된 측정된 백그라운드 채널 임펄스 응답을 도시한다. 리플렉터가 존재하지 않으면, 채널 임펄스 응답은 시간 상에서 상대적으로 균일할 것으로 예측될 수 있다. 도 5b 에 도시된 백그라운드 채널 임펄스 응답을 도 5a 에 도시된 측정된 전체 채널 임펄스 응답으로부터 감산함으로써, 리플렉터 채널 임펄스 응답이 수학식 2 를 이용하여 획득될 수 있다. 그러면, 수학식 3 을 이용하여 차분 채널 임펄스 응답을 측정함에 의하여, 리플렉터 채널 임펄스 응답 내의 경향들이 도 5c 에 도시된 바와 같이 드러날 수도 있다. 도 5c 가 도시하는 바와 같이, 차분 채널 임펄스 응답은 리플렉터 (즉, 사용자의 손) 의 반사 검출 구역 내에서의 이동들에 대한 중요한 정보를 포함한다. 도 5d 는 해당 프로토타입 내에서 측정된 바와 같은 차분 임펄스 응답의 다른 뷰를 도시한다.
채널 임펄스 응답 데이터 내에서 인식가능 피쳐들을 구별하기 위한 방법들 중 하나는 그레이 레벨 공분산 행렬 분석을 해당 데이터에 적용하는 것을 수반한다. 그레이 레벨 공분산 행렬은 에지 필터링된 채널 임펄스 응답으로부터 결정될 수도 있다. 그레이 레벨 공분산 행렬은 주지된 이미지 처리 기법이며, 이것은 주어진 오프셋에서 이미지 행렬 내에 그레이 레벨들의 상이한 조합들이 얼마나 자주 등장하는지에 대한 테이블화 (tabulation) 를 수반할 수도 있다. 그레이 레벨들은 단순한 켜기 및 끄기로부터 임의의 개수의 변수들까지에 해당하는 값들의 스펙트럼을 나타낼 수도 있다. 예를 들어, 이미지에 대한 그레이 레벨들은 0 부터 4 까지의 범위를 가질 수도 있는데, 여기서 0 은 흰색이고, 4 는 흑색이며, 그리고 그 사이의 값들은 그레이의 음영들을 나타낸다. 그레이 레벨 공분산 행렬을 형성하기 위하여, 오프셋 파라미터가 설정될 수도 있다. 이러한 오프셋은 요소들의 조합들이 비교를 위하여 어떻게 그룹화될 것인지를 정의한다. 예를 들어, 오프셋 파라미터는, 각각의 이미지 행렬 원소가 우측의 이웃하는 원소와 비교되도록 정의될 수도 있다. 각 조합의 두 원소들의 그레이 레벨들에 의존하여, 소정 값이 그레이 레벨 공분산 행렬 내의 원소들 중 하나에 가산된다. 그레이 레벨 공분산 행렬의 각 원소는, 특정 그레이 레벨들이 결합되고 그리고 서로 비교되는 횟수를 나타내는 값을 포함할 것이다. 그레이 레벨 공분산 행렬 내의 원소들의 합은 비교들의 개수와 동일한데, 그러나 만일 그레이 레벨들이 이미지 내에서 클러스터링된다면, 어떤 요소들은 상대적으로 높은 값들을 포함할 것이다. 반대로 만일 이미지의 그레이 레벨들이 양호하게 혼합되고 그리고 이미지가 상대적으로 호모지니어스 (homogeneous) 하다면, 원소들 내의 값들은 균일하게 분산될 것이다.
그레이 레벨 공분산 행렬들은 자주 이미지들에 적용되는데, 하지만 이들은 임의의 행렬 내의 값들, 또는 그레이 레벨들의 분산 내에서 패턴들을 검색하기 위하여 이용될 수도 있다. 버퍼링된 차분 채널 임펄스 응답 이미지들은 각각 그레이 레벨 공분산 행렬을 파퓰레이션 (populate) 하기 위하여 이용될 수도 있다. 통계적 피쳐들은 이러한 그레이 레벨 공분산 행렬들 각각으로부터 유도될 수도 있다. 계조 처리를 차분 채널 임펄스 응답에 적용시킴으로써, 신호 내에 포함된 패턴들 내의 다른 세부사항이 획득될 수 있다.
차분 채널 임펄스 응답들 내의 피쳐들을 드러내거나 추출하기 위하여, 차분 채널 임펄스 응답 이미지들은 에지 필터들을 이용하여 처리될 수도 있다. 에지 필터링은 이미지들 내의 관심 양태들을 드러내거나 또는 추출하는 것을 도울 수도 있고 그리고 유용한 정보를 채널 임펄스 응답 데이터로부터 획득하는데 요구되는 전체 처리를 감소시킬 수도 있다. 다수의 에지 필터링 프로세스들이 이용될 수도 있다. 예를 들어, 남동측 및 북서측 에지 필터가 다음에 도시된 바와 같이 이용될 수도 있다:
Figure 112013008753472-pct00004
에지 필터들의 다른 타입들을 이용함으로써, 상이한 패턴들이 사용자의 손의 반사 검출 구역 내의 포지션 및 이동의 변화들에 기초하여 분석된 채널 임펄스 응답에서 검출될 수도 있다. 이러한 패턴들이 도 6a 내지 도 7c 에서 도시된다.
도 6a 내지 도 6c 를 참조하면, 프로토타입 시스템을 이용할 때, 차분 채널 임펄스 응답 데이터는 사용자가 손가락을 리플렉터 검출 구역 내의 마이크로폰으로부터 멀어지도록 그리고 이를 향하여 이동시키는 동안 획득되었다. 그러면, 차분 채널 임펄스 응답 데이터는 에지 필터들의 세 개의 타입들을 이용하여 처리되었다. 수평 에지 필터를 데이터에 적용시킨 결과들이 도 6a 에 도시되는데, 여기서 도면의 좌측 절반은 사용자의 손가락이 마이크로폰으로부터 멀어지도록 이동하고 있을 때에 대응하고 그리고 도면의 우측 절반은 사용자의 손가락이 마이크로폰을 향하여 이동하고 있을 때에 대응한다. 도 6b 은 대각선 (diagonal) 에지 필터를 동일한 데이터에 적용시킨 것의 결과들이고, 그리고 도 6c 는 최대 수평 및 대각선 에지 필터를 동일한 데이터에 적용한 것의 결과들을 도시한다.
도 7a 내지 도 7c 는 사용자의 손이 이동할 때 차분 채널 임펄스 응답에 적용된 에지 필터들을 이용하여 검출될 수도 있는 패턴들의 일 예를 도시한다. 프로토타입 시스템을 이용할 때, 차분 채널 임펄스 응답 데이터는 사용자가 손을 반사 검출 구역 내에서 앞뒤로 이동시키는 동안 획득되었다. 차분 채널 임펄스 응답 데이터는 에지 필터들의 세 개의 타입들을 이용하여 처리되었다. 수평 에지 필터는 도 7a 에 도시된 패턴들을 산출하였고, 대각선 에지 필터는 도 7b 에 도시된 패턴들을 산출하였으며, 그리고 최대 수평 및 대각선 에지 필터는 도 7c 에 도시된 패턴들을 산출하였다.
비록 프로세스 채널 임펄스 응답 데이터 내의 패턴들의 전체 속성이 사람의 눈을 이용하여 구별하기가 어려울 수도 있지만, 도면들로부터 몇 개의 명확하게 인식가능한 패턴들이 고려될 수 있다. 이러한 패턴들은, 2 차원 바코드들이 바코드 리더 시스템들에 의하여 리딩되는 방법과 유사한 방식으로 처리되거나 또는 인식될 수도 있다. 에지 필터링된 차분 채널 임펄스 응답들의 결과들을 시간 상에서 처리함으로써, 정합 패턴을 주지된 패턴 인식 알고리즘들을 이용하여 식별하기 위하여 컴퓨팅 디바이스는 측정된 패턴들을 메모리 내에 저장된 패턴들과 비교할 수도 있다. 그러면 최근접 정합 패턴이 컴퓨팅 디바이스의 메모리 내에 저장된 사용자 입력 제스쳐와 상관될 수도 있다.
다양한 상이한 필터들이 적용될 수도 있지만, 일 실시형태는 주어진 분석에서 필터의 한 타입만을 적용할 수도 있다. 예를 들어, 수평 에지 필터는 반사 검출 구역 내에서 정지한 상태로 유지하는 사용자의 손, 예컨대 공간 내에 머물고 있는 손가락과 같은 것에 민감할 수도 있고, 그리고 이러한 포지션들로부터 결과적으로 야기되는 인식가능한 패턴들을 추출하기 위하여 이용될 바람직한 에지 필터일 수도 있다. 이에 반해, 대각선 에지 필터는 반사 검출 구역 내에서 사용자의 손 및 센서들의 상대적인 이동에 더 민감할 수도 있다. 따라서, 컴퓨팅 디바이스는 상이한 에지 필터들을 시도하여 특정한 사용자 제스쳐에 대한 피쳐들의 최적 추출을 제공하는 에지 필터의 타입을 선택하고, 그리고 메모리 내에 저장된 패턴들과 비교될 피쳐들을 추출하기 위하여 차분 채널 임펄스 응답 이미지들의 처리를 위하여 선택된 에지 필터를 계속하여 이용할 수도 있다.
추출된 피쳐들은 차분 채널 임펄스 응답 이미지들을 클러스터링하거나 분류하기 위하여 이용될 수도 있다. 이를 달성하기 위하여 차분 채널 임펄스 응답 이미지의 통계적 처리가 이용될 수도 있다. 구현될 수 있는 한 가지 방법은 그레이 레벨 공분산 행렬 분석이다. 주파수 및 공간적 도메인 피쳐들은 에지 필터링된 응답들로부터 연산된 그레이 레벨 공분산 행렬로부터 추출될 수도 있다. 공간적 피쳐들은 상관 함수, 2 차 함수, 역 차분 행렬 함수, 또는 차분 엔트로피 함수를 포함할 수도 있다. 이러한 분석의 일 예가 이하 제공된다.
만일 g 가 그레이 레벨로서 정의되면, i 는 시리즈 i = 1, 2.., g 와 같이 정의될 수도 있고, 그리고 jj = 1, 2.., g 와 같이 정의될 수도 있다. 더 나아가, p x 는 다음과 같이 정의될 수도 있고,
Figure 112013008753472-pct00005
그리고 p y 는 다음과 같이 정의될 수도 있다.
Figure 112013008753472-pct00006
만일 u x = mean(p x ) 이고 u y = mean(p y ) 이라면, 그리고 만일 σ x = var(p x ) 이고 σ y = var(p y ) 이라면, 그리고 g 가 그레이 레벨이라면, 상관 함수는 다음 수학식 4 와 같이 정의될 수도 있다.
Figure 112013008753472-pct00007
2 차 함수는 다음 수학식 5 와 같이 정의될 수도 있다.
Figure 112013008753472-pct00008
역 차분 행렬 함수는 다음 수학식 6 와 같이 정의될 수도 있다.
Figure 112013008753472-pct00009
P x -y (k) k 는 다음 수학식 7 과 같이 정의될 수도 있다.
Figure 112013008753472-pct00010
차분 엔트로피 함수는 다음 수학식 8 과 같이 정의될 수도 있다.
Figure 112013008753472-pct00011
도 8a 내지 도 8d 는 사용자의 손가락이 마이크로폰으로부터 멀어지도록 움직이는 상황에 대해서 수행된 상관들의 시뮬레이션 결과들을 도시한다. 도 8a 는 수학식 4 를 0 도에서 적용하여 얻어진 상관 결과들을 도시한다. 도 8b 는 수학식 4 를 90 도에서 적용하여 얻어진 상관 결과들을 도시한다. 도 8c 는 수학식 4 를 45 도에서 적용하여 얻어진 상관 결과들을 도시한다. 도 8d 는 수학식 4 를 135 도에서 적용하여 얻어진 상관 결과들을 도시한다. 각도는 필터 계수들의 경사도 (gradient) 변화의 방향을 다음과 같이 표시한다:
Figure 112013008753472-pct00012
도 9a 는 사용자의 손가락이 마이크로폰으로부터 멀어지도록 움직이는 상황에 대해서 수행된 각도 2 차 상관 (angular second order correlation) 의 시뮬레이션 결과들을 도시한다.
도 9b 는 사용자의 손가락이 마이크로폰으로부터 멀어지도록 움직이는 상황에 대해서 수행된 역 차분 행렬 상관들의 시뮬레이션 결과들을 도시한다.
도 9c 는 사용자의 손가락이 마이크로폰으로부터 멀어지도록 움직이는 상황에 대해서 수행된 차분 엔트로피 상관의 시뮬레이션 결과들을 도시한다.
다른 실시형태들에서는, 주파수 도메인 피쳐들이 역시 추출될 수도 있다. 이 실시형태에서는, 전력 스펙트럼 밀도가 2 차원 고속 푸리에 변환 (FFT) 을 차분 채널 임펄스 응답 이미지들에 적용시킴으로써 획득될 수도 있다. 전력 스펙트럼 밀도는 리플렉터가 수신기를 향하여 이동할 때에는 더 낮은 주파수 성분들을 그리고 리플렉터가 수신기로부터 멀어지도록 이동할 때에는 더 높은 주파수 성분들을 도시할 수도 있고, 따라서 사용자 입력 제스처들을 인식하거나 범주화하기 위하여 이용될 수도 있는 다른 정보를 제공할 수도 있다.
다른 실시형태들에서는, FFT 결과들의 링형 (ring) 및 쐐기형 (wedge) 샘플링이 이용되어 임펄스 응답 파 방향들을 식별할 수도 있다. 링형 및 쐐기형 샘플링은 방사상으로 정렬된 반-환형 (semi-annular) 지역들 및 반사 검출 구역의 중심으로부터 연장하는 쐐기형 지역들의 시리즈 상에서 수행될 수도 있다. 반원 (semi-circular) 링형 영역들의 샘플링은 차분 채널 임펄스 응답 이미지 내의 공간적 주파수들의 분포에 대한 방위-독립적인 정보를 제공할 수도 있으며, 그리고 각도 쐐기 영역들의 샘플링은 척도-독립적인 정보를 제공할 수도 있다.
차분 채널 임펄스 응답 이미지들의 분류들이 이용되어, 3-D 공간 내의 최강 반사점의 위치를 결정하는데 이용될 수 있는 비행 시간 연산들을 수행하는데 이용될 최강 반사점들을 식별할 수도 있다. 비행 시간은 식별된 반사점들에 대해서 연산될 수도 있다. 송신기 및 다수 개의 수신기들은 동일한 시스템 클록에 동기화될 수도 있고 그리고 이에 의하여 초음파 송신들의 타임 스탬핑 (timestamping) 에 대한 필요성을 제거할 수도 있다. 따라서, 각 수신기에 대한 비행 시간 측정들은 단순히 신호의 송신 시간 및 정합된 신호에 대한 수신 시간 간의 차분일 수도 있다.
비행 시간 값들은 3 차원 공간 내의 반사점들의 좌표들을 결정하는데 이용될 수도 있다. 좌표들은 원점이 송신기에, 수신기에 또는 몇 개의 다른 위치에 위치한 기준의 프레임일 수도 있다. 원점에 상대적인 수신기들의 좌표들은 사전에 공지되거나 결정될 수도 있다. 반사점의 좌표들은 세 개 이상의 수신기들의 비행 시간 값들을 초음파 속력에 기초하여 거리들로 변환하고 그리고 이 거리들을 타원 교점 방법에서 이용함으로써 결정될 수도 있다. 각 측정 사이의 짧은 기간에 채널 조건들이 극적으로 요동하지 않을 것이기 때문에 사운드의 속력은 상수 a 라고 추정될 수도 있는데, 하지만 이 상수는 변화하는 채널 조건들에서 시간의 경과 따라 조절될 필요가 있을 수도 있다. 다음 식들이 이용될 수도 있는데, 여기서 x, y, z 는 반사 좌표들이고, mx1, my1, mz1 은 mic1 의 좌표들이며, 그리고 0, 0, 0 은 스피커 좌표들이다.
Figure 112013008753472-pct00013
반사 좌표들을 결정하기 위하여 이용될 비행 시간 값들은 잡음성일 수도 있다. 이를 해결하기 위하여, 칼만 필터가 잡음성을 극복하고 반사 좌표들을 결정하기 위하여 이용될 수도 있다. 비선형 시스템들에 대해서는, 연장된 칼만 필터 (extended Kalman filter; EKF) 또는 " 분산점 (unscented) 칼만 필터" 가 이용될 수도 있다. 칼만 필터들은 예측된 값들 및 측정된 값들에 가중치를 부여하고 결합함으로써 측정들의 참 값 및 연산된 추정들을 예측한다. 칼만 필터는 값을 예측하고 예측된 값의 불확정성을 추정할 수도 있다. 칼만 필터 프로세스는 불확정성에 기초하여, 더 높은 가중치들이 더 확실한 값들에 지정되도록 하는 방식으로 가중치를 예측된 값에 지정할 수도 있고, 그리고 측정된 값들을 이용하여 가중치 평균을 계산할 수도 있다. 이러한 방식에서는, 가중치 평균이 예측된 값 또는 측정된 값에 비하여 더 양호한 추정된 불확정성을 가지기 때문에, 잡음성 측정된 값들은 참 값에 더 근사하도록 조절될 수도 있다.
도 10a 내지 도 10c 는 세 개의 마이크로폰들을 가지는 컴퓨팅 디바이스의 표면 위의 약 1 cm 에서 떠있는 사용자 손가락의 시뮬레이션 내에서 생성된 데이터의 칼만 필터링의 결과들을 도시한다. 도 10a 는 제 1 마이크로폰에 대한 시뮬레이션 채널 임펄스 응답 대 시간을 도시한다. 도 10b 는 제 2 마이크로폰에 대한 시뮬레이션 채널 임펄스 응답 대 시간을 도시한다. 도 10c 는 제 3 마이크로폰에 대한 시뮬레이션 채널 임펄스 응답 대 시간을 도시한다. 마이크로폰들이 컴퓨팅 디바이스 상의 상이한 위치들에 포지셔닝되기 때문에, 이들은 상이한 채널 임펄스 응답들을 나타낸다.
칼만 필터링된 결과들을 이용하면, 최대 채널 임펄스 응답 값, 인덱스 및 최대 신호까지의 거리가 결정될 수도 있다. 도 11a 는 모든 세 개의 마이크로폰들에 대하여 도 10a 내지 도 10c 에 도시된 처리로부터 결정된 채널 임펄스 응답의 최대 진폭 대 시간을 도시한다. 도 11b 는 모든 세 개의 마이크로폰들에 대하여 도 10a 내지 도 10c 에 도시된 처리로부터 결정된 채널 임펄스 응답의 인덱스 값 대 시간을 도시한다. 도 11c 는 모든 세 개의 마이크로폰들에 대하여 도 10a 내지 도 10c 에 도시된 처리로부터 결정된 최대 인덱스에서의 측정 값의 진폭 대 시간을 도시한다.
제스쳐 피쳐들이 정의되면, 트레이닝 데이터 세트들 (제스쳐 피쳐들) 이 분류자 (classifier) 를 트레이닝시키기 위하여 이용될 수 있다. 분류자는 단순 KNN 분류자이거나 또는 더 복잡한 ANN 또는 HMM 모델일 수도 있다. 앞선 분석 방법들에 의하여 추출된 피쳐들이 사용자 트레이닝 시퀀스에서 정의될 수도 있는 바와 같이 특정의 사용자 입력 제스처들과 상관될 수도 있다. 주지된 패턴 비교 또는 상관 방법들이 사용되어 채널 임펄스 응답으로부터 추출된 패턴들을 메모리 내에 저장된 패턴들과 비교할 수도 있다. 이러한 목적을 위하여 이용될 수도 있는 상관 방법들 중 세 개의 예들은 k-최근접 이웃들 (k-nearest neighbors) 알고리즘들, 인공 신경 회로망들 (artificial neural networks) 분석, 및 히든 마르코프 모델들 (hidden Markov models) 이다. 인공 신경 회로망들 또는 히든 마르코프 모델들은 트레이닝 단계에서 사전에 트레이닝된 바 있을 수도 있다. 이러한 3 개의 예시적 상관 방법들은 아래에서 더 상세히 설명된다; 그러나, 다른 상관 방법들도 역시 유사한 방식으로 이용될 수도 있다.
k-최근접 이웃 알고리즘은 오브젝트를 최근접 이웃들의 개수 k 의 다수 표 (majority vote) 에 의하여 분류한다. 이웃들은 이미 정확하게 분류된 오브젝트들, 이 경우에는 차분 채널 임펄스 응답 이미지들로부터 추출된 패턴들의 세트로부터 취해진다. 어떤 분류된 오브젝트들, 또는 이웃들이 최근접인지를 정의하는 규칙들이 설정된다. 예를 들어, 좌표들 내의 어떤 피쳐들 또는 변화들이 이웃들이고 그리고 분류될 수도 있으며 그리고 시간에서 앞선 특정 제스쳐들과 상관될 수도 있다. 분류될 차분 채널 임펄스 응답 이미지들로부터 추출된 패턴들은 특정 이웃들과 근사한 값들을 가지고 추출된 피쳐들을 가질 수도 있다. 선택된 파라미터 k 에 의존하여, 다수의 이웃들이 비교될 수도 있다. 만일 k 가 5 와 같다면, 최근접 피쳐 값들을 가지는 5 개의 이웃하는 패턴들이, 차분 채널 임펄스 응답 이미지들로부터 추출된 패턴들이 무엇으로서 분류되는지를 결정할 수도 있다. 만일 5 개의 이웃들 중 대다수가 어떤 제스쳐와 상관된다면, 차분 채널 임펄스 응답 이미지들로부터 추출된 패턴들은 대다수와 동일한 제스쳐와 상관될 수도 있다. 이러한 비교 알고리즘을 이용하면, 이웃들의 표들을 근접성 또는 하나 이상의 다른 특성들에 의하여 가중치 부여하는 것이 가능하다.
인공 신경 회로망들은, 트레이닝 단계 도중에 네트워크 내에서 흐르는 정보에 기초하여 구조를 변화시킬 수도 있는 인공 뉴런들의 상호접속된 그룹으로서 기능하는 오브젝트들의 연산을 이용하는 비교 방법이다. 신경 회로망 내의 접속은 그 강도 또는 가중치에 있어서 변동할 수도 있다. 각각의 인공 뉴런은 단순 처리 노드 또는 함수일 수도 있으며, 그러나 회로망 전체로서는 복잡한 행동들을 보여줄 수도 있다. 인공 신경 회로망은, 최적 해가 선정의된 비용 함수에 따라서 측정되는, 소정 과제에 대한 최적 해들을 찾기 위한 관찰들의 세트를 이용함으로써 트레이닝할 수도 있다. 예를 들어 트레이닝 단계 도중에, 사용자는 특정 사용자 입력 제스쳐를 여러 번 수행함으로써 다수 개의 관찰들이 획득될 수 있도록 요청될 수도 있다. 차분 채널 임펄스 응답 이미지들로부터 추출된 관찰들 또는 패턴들은 신경 회로망 내에 공급될 수도 있고 그리고 다양한 노드들 및 접속들을 통해서 이동하여 해들을 생성할 수도 있다. 신경 회로망에 의하여 생성된 해들은 비용 함수에 따라서 순위 결정될 수도 있다. 접속들의 가중치는 이러한 순위에 기초하여 조절될 수도 있다. 적합하게 트레이닝되기만 하면, 신경 회로망의 가중치 값들은 고정될 수도 있다. 차분 채널 임펄스 응답 이미지들로부터 추출된 패턴들을 비교하여 연습 세션으로부터의 패턴들을 트레이닝함으로써 신경 회로망은 제스쳐들의 패턴 인식 또는 분류를 위하여 이용될 수도 있다. 해들은 특정 사용자 입력 제스처들과 유사할 수도 있다. 좌표들 내의 피쳐들 또는 변화들은 사전에 트레이닝된 신경 회로망에 대한 입력으로서 역할을 수행할 수도 있으며, 이 회로망은 이제 신경 회로망 구조에 기초하여 입력을 해 또는 제스쳐와 연결시킬 것이다. 신경 회로망은 트레이닝 단계에서 공지된 제스처들 또는 피쳐들로써 사전에 트레이닝될 수도 있다.
히든 마르코프 모델은 모델링되는 중인 시스템이 공지된 상태를 가지지만 해당 상태에 의존하는 공지된 토큰들을 가지는 마르코프 프로세스라고 가정한다. 마르코프 프로세스는 상태가 시간 상에서 요동하며, 그리고 장래 상태들이 오직 현재 상태에만 의존하고 이전 상태들에 의존하지 않는 프로세스이다. 각각의 가능한 상태는 가능한 토큰들 상의 확률 분포를 가지며 다음에 어떤 상태가 나타날 것인지에 대한 확률 분포를 가진다. 그러므로, 토큰들은 이러한 프로세서 내의 상태들의 시퀀스에 대한 몇 가지 정보를 제공한다. 제스쳐 인식에서는, 상태들은 사용자 입력 제스쳐들과 연관된 유사한 피쳐들일 수도 있고 그리고 토큰들은 상이한 채널 임펄스 응답 이미지들로부터 추출된 패턴들과 유사할 수도 있다. 토큰들 상에서의 그리고 상태들 간의 확률 분포들은 선정의된 파라미터들일 수도 있거나 또는 트레이닝 단계에서 설정될 수도 있다. 공지된 제스쳐들 또는 피쳐들의 상이한 채널 임펄스 응답 이미지들로부터 추출된 패턴들은, 트레이닝 단계에서 모델의 파라미터 값들을 트레이닝 및 개발하도록 입력될 수 있다. 상태들 또는 제스쳐들의 가장 확률이 높은 시퀀스는 예컨대 비터비 알고리즘에 의하여 트레이닝된 히든 마르코프 모델로부터 재귀적으로 결정될 수도 있다.
다른 실시형태들에서는, 단순한 제스쳐 인식, 과제들, 예컨대 리플렉터의 이동 방향들을 식별하는 것은 임펄스 응답 곡선으로부터 직접적으로 유도된 각도 피쳐들을 이용하여 달성될 수도 있다. 도 12a 내지 도 16c 는 상이한 리플렉터 이동들에 대한 임펄스 응답 패턴들 및 그들의 대응하는 응답 곡선 각도 정보가 어떻게 인식될 수도 있는지를 도시한다.
마이크로폰들을 향해서 이동하는 손가락이 존재하는 프로토타입 내의 3 개의 마이크로폰들 각각에 대한 임펄스 응답 결정들의 그래프들이 도 12a 내지 도 12c 에 도시된다. 이러한 도면들은 대각선 에지 필터를 이용한 처리 이후의 로오 임펄스 응답 결정들을 도시한다. 이러한 도면들에서 볼 수 있는 바와 같이, 사용자의 손가락의 마이크로폰을 향한 모션은 결과적으로, 샘플 프레임 지수에서 표시된 바와 같이, 시간의 함수로서의 임펄스 응답 결정들의 인식될 수 있는 각도를 야기할 수도 있다.
로오 임펄스 응답 결정이 실제 인식가능 피쳐들로써 만들어지는 반면에, 이러한 피쳐들은 저역 통과 필터를 블록 채널 임펄스 응답 상에 이용하여 신호들을 처리함으로써 강화될 수도 있다. 저역 통과 필터의 1 의 값들의 5X5 행렬의 형식을 가지는 일 예는 다음과 같다.
Figure 112013008753472-pct00014
루프 저역 통과 필터를 이용한 처리 이후의, 마이크로폰들을 향해서 이동하는 손가락이 존재하는 프로토타입 내의 3 개의 마이크로폰들 각각에 대한 임펄스 응답 결정들의 그래프들이 도 13a 내지 도 13c 에 도시된다. 이러한 도면들은 저역 통과 필터를 임펄스 응답에 적용하는 것이, 임펄스 응답의 각도를 결정하는데 이용될 수 있는 더 명확한 패턴들을 제공한다는 것을 드러낸다.
임펄스 응답 내의 패턴의 각도가 용이하게 결정될 수 있기 때문에, 이러한 각도는 특정 이동에 링크될 수 있는 인식가능 피쳐로서 이용될 수 있다. 예를 들어, 90 도 보다 적은 각도는 리플렉터 (예를 들어, 사용자의 손 또는 손가락) 가 마이크로폰으로 더 가깝게 이동하는 중이라는 것을 의미할 수 있으며, 반면에 90 내지 180 도 사이의 각도는 리플렉터가 마이크로폰으로부터 멀리 이동하는 중이라는 것을 의미할 수도 있다. 그러면, 이러한 사용자 이동이 단순 테이블 룩업 방법을 이용하여 특정 사용자 인터페이스 명령 (예를 들어, 마우스 포인터 이동) 과 상관될 수도 있다.
도 14 는 임펄스 응답의 각도를 결정하는 것에 기반하여 반사 검출 구역 내에서 사용자의 손으로부터 반사된 초음파로부터 사용자 입력 제스쳐를 인식하기 위하여 컴퓨팅 디바이스 내에서 구현될 수도 있는 일 실시형태 방법 (450) 을 도시한다. 방법 (450) 의 단계 (452) 에서는, 프로세서는 의사랜덤 잡음 또는 의사랜덤 번호 코드, 또는 다른 시간적 인코딩 정보를 생성할 수도 있고, 그리고 단계 (454) 에서 펄스 압축이 있는 확산 스펙트럼 변조에서 해당 정보를 인코딩할 수도 있다. 그러면, 이러한 인코딩된 신호는 단계 (456) 에서 초음파 방출기로부터의 연속파 초음파로서 방출된다. 반사된 및 크로스토크 신호들을 포함하는 초음파는 단계 (458) 에서 초음파 검출기에서 수신된다. 단계 (460) 에서는, 프로세서 (예를 들어, DSP) 는 수신된 초음파 신호에 기초하여 채널 임펄스 응답을 연산할 수도 있다. 단계 (460) 의 일부로서, 프로세서는 베이스라인 채널 임펄스 응답을 감산하여 위에서 설명된 방법들을 이용하여 반사된 채널 임펄스 응답을 획득할 수도 있다. 단계 (462) 에서는, 컴퓨팅 디바이스 프로세서는 시간 상에서 차분 채널 임펄스 응답을 연산할 수도 있고, 그리고 위에서 설명된 연산 방법들을 이용하여 이러한 값들을 차분 채널 임펄스 응답 이미지들로서 유지할 수도 있다. 역시 단계 (462) 의 일부로서, 컴퓨팅 디바이스 프로세서는 연산된 차분 임펄스 응답에 에지 필터, 저역 통과 필터 및 문턱화 (thresholding) 동작들을 적용할 수도 있다. 단계 (464) 에서는, 프로세서는 다양한 필터링 각도들을 가지는 사각 필터를 선택할 수도 있다. 단계 (466) 에서는, 프로세서는 전체 사각 필터를 커버할 수 있는 샘플들 프레임들의 특정 개수를 포함하는 채널 임펄스 응답의 구역을 선택할 수도 있다. 단계 (468) 에서는, 프로세서는 해당 필터 내의 모든 점들의 합산의 최대 값을 연산하기 위하여, 해당 필터 내의 점들을 합산하면서 해당 구역 내에서 필터를 이동시킬 수도 있다. 단계 (470) 에서는, 프로세서는 선택된 사각 필터의 각각의 각도에 대하여 단계들 (466 및 468) 을 반복할 수도 있다. 필터의 각도들 전부가 처리된 바 있다면, 단계 (472) 에서는, 프로세서가 전체 임펄스 응답 행렬에 걸쳐 구역들이 선택된 이후에 각 프레임에 대한 임펄스 응답 곡선의 각도를 결정할 수도 있다. 단계 (474) 에서는, 프로세서는 임펄스 응답 곡선의 결정된 각도에 대응하는 사용자 입력 명령을 구현할 수도 있다. 단계 (474) 의 일부로서, 컴퓨팅 디바이스는 구현된 사용자 입력 명령에 대응하는 사용자 인터페이스 이미지를 다른 사용자 인터페이스 시스템들과 유사한 방식으로 디스플레이할 수도 있다.
단계 (472) 에서 임펄스 응답 곡선의 각도를 결정하는 것은 다음식을 활용할 수도 있다.
Figure 112013008753472-pct00015
여기서 p (n,t) 는 도 13a 내지 도 13c 중 임의의 것 내의 지점 (n,t) 에서의 임펄스 응답의 진폭이고, 그리고 (t0, tmax, M) 은 사각 필터의 크기이다. 그러면, 각도는 Recti 의 최대 인수로서 결정될 수도 있다. 다시 말하면: 각도 = argmax (Recti) 이고, 여기서 i=1:N 이다. N 은 동일하게 분할된 각도들의 갯수이고, 각 각도의 증가 스텝은 π/N 이다.
이러한 방법들을 이용하여 사용자 입력 제스쳐를 인식하는 프로세스의 일부로서, 임펄스 응답 곡선의 각도는 시간 상에서 도 15a 내지 도 15c 에서 도시된 바와 같이 그려질 수도 있다. 이러한 도면들은, 사용자의 손가락이 시스템의 3 개의 마이크로폰들을 향하여 이동하고 있는 경우에 대한 샘플 프레임 지수의 함수로서의 임펄스 패턴의 검출된 각도의 변화를 각도 단위로 도시한다.
모든 3 개의 마이크로폰들로부터의 임펄스 응답 곡선의 유도된 각도는 고유하게 3D 공간 내에서 리플렉터이동 방향들을 결정할 수 있다. 도 15a 내지 도 15c 에서 도시된 바와 같이, 시간 상의 각도의 변화는, 마이크로폰들이 컴퓨팅 디바이스 상의 또는 이와 인접한 상이한 위치들에 포지션될 때 세 개의 마이크로폰들 각각에 대하여 상이할 것이다. 두 개 마이크로폰들이 이용되어 리플렉터가 두 개의 마이크로폰들을 연결하는 선분에 평행하게 이동하고 있을 때 리플렉터 이동의 방향을 결정할 수도 있다.
이러한 방법이 더 복잡한 사용자 입력 제스처들, 예컨대 도 16a 내지 도 17c 에 도시된 바와 같이 시스템 마이크로폰들을 향하여 그리고 이로부터 멀리 이동하는 사용자의 손가락과 같은 것을 인식하기 위하여 이용될 수도 있다. 예를 들어, 도 16a 내지 도 16c 는 마이크로폰들을 향하여 그리고 이후에 그로부터 멀어지도록 이동하는 손가락이 존재하는 프로토타입 내의 세 개의 마이크로폰들 각각에 대한 임펄스 응답 결정들을 루프 저역 통과 필터 이후에 그래프화한다. 이러한 도면들은, 사용자의 손가락이 마이크로폰들을 향하여, 그리고 그로부터 멀어지도록, 그리고 이제 이를 향하여 이동할 때, 임펄스 응답 곡선의 각도가 어떻게 제 1 값으로부터 제 2 값으로 변화하는지 그리고 다시 역으로 변화하는지를 드러낸다. 도 17a 내지 도 17c 는 시스템 내의 세 개의 마이크로폰들 각각에 대하여 도 16a 내지 도 16c 에서 도시된 임펄스 응답 곡선들에 대한 임펄스 응답 곡선들의 각도를 그래프화한다.
실시형태 분석 방법들은, 리플렉터를 이미지화하는 것이 제스쳐 인식을 위하여 필요하지 않기 때문에, 수신된 초음파를 복조할 필요성을 회피하면서 제스쳐 인식을 이네이블한다. 초음파는 송신기로부터의 정보의 운반체로서 역할을 하지 않으며, 오히려 리플렉터 (즉, 사용자의 손) 에 대한 정보의 수집자로서 역할을 담당하는데, 여기서 정보는 반사 검출 구역 내의 임의의 반사하는 표면들에 의하여 영향받는 채널 임펄스 응답의 형태로서 추출된다. 채널 응답의 패턴들 및 피쳐들에 의존함으로써, 실시형태 방법들은 반사하는 표면, 예컨대 사용자의 손의 이미지를 분해하거나 형성하는 데이터 집약적 프로세스를 회피한다. 그 대신에, 제스쳐 인식은, 반사된 데이터를 매핑할 필요성이 없이 또는 해당 채널이 무엇인지를 결정하지 않고 채널 임펄스 응답 내의 변화들에 의존함으로써 달성된다.
도 18 은 반사 검출 구역 내의 사용자의 손으로부터 반사된 초음파로부터 사용자 입력 제스쳐들을 인식하기 위하여 컴퓨팅 디바이스 내에서 구현될 수도 있는 일 실시형태 방법 (500) 을 도시한다. 방법 (500) 의 단계 (502) 에서는 (###07), 프로세서는 의사랜덤 잡음 또는 의사랜덤 번호 코드, 또는 다른 시간적 인코딩 정보를 생성할 수도 있고 단계 (504) 에서 이러한 정보를 펄스 압축이 있는 확산 스펙트럼 변조에서 인코딩할 수도 있다. 그러면, 이러한 인코딩된 신호는 단계 (506) 에서 초음파 방출기로부터의 연속파 초음파로서 방출된다. 반사된 및 크로스토크 신호들을 포함하는 초음파는 단계 (508) 에서 초음파 검출기에서 수신된다. 단계 (510) 에서는, 프로세서 (예를 들어, DSP) 는 수신된 초음파 신호에 기초하여 채널 임펄스 응답을 연산할 수도 있다. 단계 (510) 의 일부로서, 프로세서는 베이스라인 채널 임펄스 응답을 감산하여 위에서 설명된 방법들을 이용하여 반사된 채널 임펄스 응답을 획득할 수도 있다. 단계 (512) 에서는, 컴퓨팅 디바이스 프로세서는 시간 상에서 차분 채널 임펄스 응답을 연산할 수도 있고, 그리고 위에서 설명된 연산 방법들을 이용하여 이러한 값들의 시리즈를 차분 채널 임펄스 응답 이미지들로서 유지할 수도 있다. 단계 (514) 에서는, 프로세서는 에지 필터를 차분 채널 임펄스 응답에 적용하여 인식가능 피쳐들을 강조할 수도 있다. 단계 (516) 에서는, 프로세서는 에지 필터링된 차분 채널 임펄스 응답 이미지들로부터 인식가능 피쳐들을 추출하기 위하여 그레이 레벨 공분산 행렬을 연산할 수도 있다. 단계 (518) 에서는, 프로세서는 정합하는 레코드를 식별하기 위하여 에지 필터링된 차분 채널 임펄스 응답 이미지들로부터의 추출된 피쳐들을 사용자 제스쳐들과 연관된 데이터베이스 내에 저장된 패턴들과 비교할 수도 있다. 위에서 논의된 바와 같이, 단계 (518) 는 컴퓨팅 디바이스 내의 우리의 현재 동작 상태 또는 애플리케이션에 관련되는 제스쳐들을 위한 패턴들을 비교하는 것 또는 다른 상태 관련된 고려들을 수반할 수도 있다. 단계 (518) 에서의 처리는 상관 방법들, 예컨대 k-최근접 이웃들, 인공 신경 회로망들, 및 히든 마르코프 모델들을 이용할 수도 있다. 단계 (518) 의 결과들은 정합된 제스쳐 패턴과 연관된 식별된 사용자 입력 명령일 수도 있다. 단계 (520) 에서는, 컴퓨팅 디바이스는 정합된 패턴과 연관된 식별된 사용자 명령을 구현할 수도 있다. 단계 (520) 의 일부로서, 컴퓨팅 디바이스는 인식된 제스쳐에 대응하는 사용자 인터페이스 이미지를 다른 사용자 인터페이스 시스템들과 유사한 방식으로 디스플레이할 수도 있다.
또한, 사용자가 특정 제스쳐를 수행하도록 독촉될 수도 있다는 것 그리고 단계 (518) 에서 추출된 피쳐들을 비교하는 대신에, 프로세서가 추출된 피쳐들을 데이터베이스 내에 저장할 수도 있다는 예외들을 가지고, 도 18 에서 도시된 프로세스들이 트레이닝 시퀀스에서 이용될 수도 있다.
도 19 는 방법 (500) 의 피쳐 추출 및 상관 단계들이 반사하는 오브젝트를 식별하고 해당 오브젝트의 모션을 인식하기 위하여 이용될 수도 있는 대안적인 실시형태 방법 (600) 을 도시한다. 방법 (500) 에서와 같이, 단계들 (502-506) 에서 시간적으로 인코딩된 초음파 신호가 생성되고 방출될 수도 있다. 초음파 신호 및 사용자의 손으로부터의 반사들은 단계 (508-512) 에서 수신되고 그리고 차분 채널 임펄스 응답 이미지들을 획득하기 위하여 처리될 수도 있다. 차분 채널 임펄스 응답 이미지들은 단계들 (514-516) 에서 에지 필터링되고 그리고 인식가능 피쳐들을 추출하기 위하여 그레이 레벨 공분산 행렬을 이용하여 분석될 수도 있다.
방법 (500) 과는 달리, 방법 (600) 에서는 추출된 피쳐들이 단계 (618) 에서의 비행 시간 연산들을 위하여 관심 반사점들을 식별하기 위하여 이용될 수도 있다. 추출된 피쳐들에 기초하여 관심점들을 선택하는 것은 단계 (516) 에서 이용된 동일한 상관 방법들에 의존할 수도 있다. 이러한 방법들은 강한 일차 또는 이차 리플렉터들을 표시하는 추출된 피쳐들을 상관하기 위하여 이용될 수도 있다. 강한 반사들을 적절하게 그룹화함으로써, 일차 리플렉터들이 메인 리플렉터들로서 구별되고 식별될 수도 있다. 단계 (620) 에서는, 비행 시간 값들은 식별된 메인 반사점들로부터 반사된 신호들의 송신 및 수신의 시간의 차분을 연산함으로써 결정될 수도 있다. 단계 (622) 에서는, 식별된 반사점들의 좌표들은 비행 시간 값들의 잡음성을 극복하기 위한 칼만 필터링을 포함하여 위에서 논의된 동일한 방법들 및 수학식들을 이용하여 연산될 수도 있다. 단계 (624) 에서는, 식별된 반사점들의 좌표들은 좌표들 내의 변화들은 연산되고 그리고 (선택적으로) 단계 (624) 에서 사용자 입력 제스쳐들과 상관되면서, 시간 상에서 추적될 수도 있다. 단계 (626) 에서는, 컴퓨팅 디바이스는 정합된 패턴과 연관된 식별된 사용자 명령을 구현한다. 단계 (626) 의 일부로서, 컴퓨팅 디바이스는, 단계들 (620-622) 에서 결정된 바와 같은 3-D 공간 내에서의 그의 위치를 포함하여, 다른 사용자 인터페이스 시스템들과 유사한 방식으로 인식된 제스쳐에 대응하는 사용자 인터페이스 이미지를 디스플레이할 수도 있다.
또한, 도 19 에 도시된 프로세스들은 사용자가 특정 제스쳐를 수행하도록 독촉될 수도 있다는 것 그리고 단계 (624) 에서 추출된 피쳐들을 비교하는 대신에, 프로세서가 추출된 피쳐들을 데이터베이스 내에 저장할 수도 있다는 예외들을 가지고, 트레이닝 시퀀스에서 이용될 수도 있다.
다양한 실시형태들과 함께 이용되기에 적절한 랩탑 컴퓨터 (700) 의 형태를 가지는 일 예 컴퓨팅 시스템이 초음파 방출기 (101) 및 마이크로폰들 (102a, 102b, 및 102c) 에 대한 예시적 포지션들을 포함하여 도 20 에 도시된다. 많은 랩탑 컴퓨터들은 컴퓨터의 포인팅 디바이스로서 역할을 담당하는 터치 패드 터치 표면을 포함한다. 통상적으로, 랩탑 컴퓨터 (700) 는 휘발성 메모리 (702) 및 대용량 비휘발성 메모리, 예컨대 디스크 드라이브 (703) 에 커플링되는 프로세서 (701) 를 포함할 것이다. 또한, 컴퓨터 (700) 는 프로세서 (701) 에 커플링된 플로피 디스크 드라이브 (704) 및 컴팩트 디스크 (CD) 드라이브 (705) 를 포함할 수도 있다. 또한, 컴퓨터 디바이스 (700) 는 데이터 접속들을 설립하거나 외부 메모리 디바이스들, 예컨대 USB 또는 FireWire® 커넥터 소켓들을 수납하기 위하여 프로세서 (701) 에 커플링된 다수의 커넥터 포트들 또는 프로세서 (701) 를 네트워크에 커플링하기 위한 다른 네트워크 접속 회로들 (706) 을 포함할 수도 있다. 노트북 구성에서는, 컴퓨터 하우징은 모두 프로세서 (701) 에 커플링된 터치패드 (707), 키보드 (708) 및 디스플레이 (709) 를 포함한다.
초음파 송신기 (101) 및 수신기들/마이크로폰들 (102a-102c) 은 비행 시간 차분들에 기초한 3-D 좌표 연산들을 용이화하기 위하여 시스템 하우징 상의 선택된 위치들에서 랩탑 컴퓨터 (700) 와 통합될 수도 있다. 몇 가지 실시형태들에서는, 초음파 송신기 (101) 및 수신기들/마이크로폰들 (102a-102c) 은 또한 컴퓨팅 디바이스 스피커 및 다른 오디오 기능들을 위한 마이크로폰들로서 역할을 할 수도 있다. 일 실시형태 시스템 또는 방법에 의하여 결정된 제스쳐들은 컴퓨터 (700) 에 대한 입력으로서 역할을 수행할 수도 있으며 그리고 컴퓨터 상의 프로그램들을 제어하기 위하여 또는 그래픽 사용자 인터페이스와 상호작용하기 위하여 이용될 수도 있다. 다양한 실시형태들에서는 초음파 무접촉식 감지 능력이 터치패드 (707) 또는 키보드 (708) 를 강화하거나 대체할 수도 있다.
또한, 모바일 디바이스들, 예컨대 셀 전화기들 또는 PDA들은 다양한 실시형태들을 이용하기 위하여 구성될 수도 있다. 다양한 실시형태들과 함께 이용되기에 적절한 통상적인 모바일 디바이스들 (800) 은 도 21 에 도시된 구성요소들을 포함할 수도 있다. 예를 들어, 예시적인 모바일 수신기 디바이스 (800) 는 내부 메모리 (802), 디스플레이 (803), 및 스피커 (809) 에 커플링된 프로세서 (801) 를 포함할 수도 있다. 추가적으로, 모바일 디바이스 (800) 는 무선 데이터 링크에 연결되며 전자기 방사선을 전송 및 수신하기 위한 안테나 (804) 및/또는 프로세서 (801) 에 커플링된 셀룰러 전화기 송수신기 (805) 및/또는 프로세서 (801) 에 커플링된 모바일 멀티미디어 브로드캐스트 수신기 (808) 를 가질 수도 있다. 또한, 모바일 디바이스들은 통상적으로 사용자 입력들을 수신하기 위한 키 패드 (806) 또는 미니어쳐 키보드 및 메뉴 선택 버튼들 또는 로커 (rocker) 스위치들 (807) 을 포함한다. 이러한 입력들에 추가적으로, 모바일 디바이스 (800) 는 무접촉식 사용자 인터페이스를 위한 실시형태들에 의하여 강화될 수도 있다. 모바일 디바이스 (800) 는 스피커 (804) 를 이용하여 초음파를 방출하거나 또는 별개의 초음파 방출기, 예컨대 초음파 송신기 (101) 를 내장할 수도 있다. 모바일 디바이스는, 예컨대 반사들 또는 다른 이동 디바이스들로부터, 하나 이상의 수신기들/마이크로폰들 (102a-102c) 을 통하여 초음파를 수신할 수도 있다.
프로세서 (701, 801) 는, 본 명세서에서 설명되는 다양한 실시형태들의 기능들을 포함하는 다양한 기능들을 수행하도록 소프트웨어 명령들 (애플리케이션들) 에 의하여 구성될 수 있는 임의의 프로그래밍가능한 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 몇 가지 모바일 디바이스들에서는, 다중 프로세서들 (701, 801) 이 제공될 수도 있는데, 예를 들어, 별개의 프로세서 (304) 와 같이 한 프로세서는 무선 통신 기능들 전용이고 그리고 한 프로세서는 다른 애플리케이션들을 실행하기 위한 전용이다. 통상적으로, 소프트웨어 애플리케이션들은 그들이 액세스되고 프로세서 (801) 내로 로딩되기 이전에 내부 메모리 (702, 802) 내에 저장될 수도 있다. 몇 가지 모바일 디바이스들에서는, 프로세서 (701, 801) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수도 있다. 이러한 발명을 실시하기 위한 구체적인 내용의 목적을 위하여, 메모리에 대한 일반적인 참조는, 내부 메모리 (702, 703, 704, 802), 디바이스에 삽입되는 착탈식 메모리, 및 프로세서 (701, 801) 자체 내부의 메모리를 포함하는, 프로세서 (701, 801) 에 의하여 액세스가능한 모든 메모리를 지칭한다.
다른 실시형태들은 상호 동작하는 초음파 방출 및 수신 요소들로써 구성되는 다중 디바이스들을 수반할 수도 있다. 도 22 에 도시된 예시적인 시스템 (900) 에서 도시된 바와 같이, 두 개 모바일 디바이스들 (800a, 800b) 은 연속파 초음파를 통하여 상호작용할 수도 있다. 디바이스들 (800a, 800b) 은 공간 내에서 서로로부터 인접하게 포지셔닝될 수도 있다. 각각의 디바이스는 자신 스스로의 방출기들 (101) 및 수신기들 (102) 을 포함할 수도 있는데, 하지만 디바이스들 (800a, 800b) 은 한 디바이스 (800a) 가 해당 디바이스의 방출기 (101) 가 활성화되고 연속파 초음파 (206) 를 방출하는 송신 모드에서 동작하는 반면에, 다른 디바이스 (800b) 는 연속파 초음파 (206) 를 디바이스의 수신기들 (102a, 102b, 및 102c) 을 통하여 수신하는 수신 모드에 있게 하도록 구성될 수도 있다. 다양한 실시형태들에 따라서 연속파 초음파 (206) 를 수신하고 처리함으로써, 수신 모드 디바이스 (800b) 는 방출하는 디바이스 (800a) 로의 거리 및 방향을 결정할 수 있다.
실시형태들은 더 나아가 상대적인 좌표들 또는 방출기 디바이스 (800a) 로부터 수신기 디바이스 (800b) 까지의 거리들을 결정하기 위한 방법들을 포함한다. 송신 모드에서 동작하는 모바일 디바이스 (800a) 상에 구현될 수도 있는 일 실시형태 방법 (1000) 이 도 23a 에 도시된다. 방법 (1000) 에서는, 두 개 디바이스들은 단계 (1002) 에서 역할을 조율하고 그리고 타이밍 및 코딩에 대한 정보를 공유하기 위하여 통신할 수도 있다. 이러한 통신은 무선 통신 링크, 예컨대 블루투스, WiFi, 또는 무선 데이터 접속의 임의의 다른 형태를 통하여 발생할 수도 있다. 디바이스들은 조율을 통하여 어떤 디바이스가 송신하는 디바이스 (즉, 초음파를 송신할 디바이스) 가 될 것이고 그리고 어떤 디바이스가 수신하는 디바이스 (즉, 초음파를 수신하고 처리할 디바이스) 가 될 것인지를 결정할 수도 있다. 또한 디바이스들은, 송신하는 디바이스가 송신을 시작할 초음파 송신 프레임들의 타이밍에 대한 데이터 및 송신될 코드에 대한 데이터를 공유할 수도 있다. 이러한 조율이 발생된 바 있으면, 송신하는 디바이스는 의사랜덤 잡음 코드 스위프 (sweep) 을 생성할 수도 있고 (단계 (502)), 확산 스펙트럼 변조 및 펄스 압을 적용할 수도 있으며 (단계 (504)), 그리고 사전 논의된 실시형태들과 유사한 연속파 초음파로서 이러한 코드를 송신할 수도 있다 (단계 (506)).
수신 모드에서 동작하는 모바일 디바이스 (800b) 에서 구현될 수도 있는 일 실시형태 방법 (1020) 이 도 23b 에 도시된다. 방법 (1020) 에서는, 디바이스들은 위에서 논의된 바와 같이 단계 (1002) 에서 송신/수신 역할들, 및 타이밍 및 인코딩 포맷들을 조율할 수도 있다. 그러면, 수신하는 디바이스는 단계 (1004) 에서 송신하는 디바이스로부터 대기를 통하여 여행한 연속파 초음파를 수신할 수도 있다. 초음파 송신을 수신하기 위하여, 수신하는 디바이스는 특정 범위 내에 있을 필요가 있을 수도 있다. 단계 (1006) 에서는, 수신하는 디바이스는 각 수신기에서 수신된 초음파 신호들을, 단계 (1002) 에서 교환된 타이밍 및 코드 정보에 기초하여 수신기 디바이스 프로세서에 의하여 재생될 수도 있는 바와 같은 송신된 신호와 상관할 수도 있다. 이전 실시형태들과는 달리 수신기들 (102) 및 방출기 (101) 가 동일한 시계에 묶인 동일한 디바이스의 일부가 아니기 때문에, 타이밍 및 코드 정보와 관련한 정보가 필요하다. 상관된 신호들을 이용하면서, 수신하는 디바이스는 단계 (1008) 에서 송신된 신호가 각 수신기에 도달하기 위한 비행 시간을 연산할 수도 있고, 그리고 단계 (1010) 에서 이러한 비행 시간 값들은 칼만 필터와 함께 이용되어 좌표들을 결정할 수도 있다. 비행 시간 연산들 및 칼만 필터링 프로세스는, 수신하는 디바이스가 반사하는 표면 대신에 송신하는 디바이스의 상대적인 좌표들을 결정하고 있다는 것을 제외하고는, 다른 실시형태들에 대하여 위에서 논의된 것과 유사한 방식으로 수행될 수도 있다. 디바이스들 간의 상대적인 좌표들이 결정되면, 이러한 좌표들은 수학적으로 거리들 또는 각도 방향들로 변환될 수도 있다. 예를 들어, 다음 수학식 9 는 두 개의 디바이스들 간의 거리들을 결정하기 위하여 이용될 수도 있다:
Figure 112013008753472-pct00016
이러한 연산에서, d2 - d1 의 값은 다음 수학식 10 으로부터 결정될 수도 있다:
Figure 112013008753472-pct00017
여기서,
Figure 112013008753472-pct00018
Figure 112013008753472-pct00019
는 두 개 마이크로폰들로부터의 주파수 도메인 신호들이고, 그리고
Figure 112013008753472-pct00020
은 가중치 인자이다. 일반화된 상호 상관 (generalized cross correlation; GCC) 에 대해서는,
Figure 112013008753472-pct00021
이다.
좌표들, 방향, 또는 거리들이 결정되면, 이러한 정보는 많은 상이한 과제들을 위하여 이용될 수도 있다. 예를 들어, 사용자는 전송하는 디바이스에 대한 정확한 디바이스의 상대적인 좌표들 또는 방향에 기초하여 파일 공유를 위하여 의도되는 해당 디바이스를 선택할 수 있다. 상이한 접속이 파일 전달을 위하여 이용될 수도 있는데, 하지만, 사용자가 알지 못할 수도 있는 주소 또는 특정 명칭에 의존하는 대신에, 초음파 신호들을 처리하는 것으로부터 결정된 좌표들 또는 방향들이 파일의 목적지 또는 소스를 선택하기 위하여 이용될 수도 있다. 예를 들어, 만일 사용자가 이러한 디바이스들을 이용하고 있는 서너 명의 사람들이 있는 방 안에 있다면, 사용자는 단지 주위를 둘러봄으로써 상이한 디바이스들 간을 구분할 수 있다. 사용자는 그래픽 사용자 인터페이스를 통하여 의도된 수신자와 정합하는 좌표들 또는 방향들을 가지는 디바이스를 선택함으로써 좌측에 서있는 친구에게 파일을 전송할 수 있으며, 이를 통하여 파일을 낯선 사람에게 실수로 전송하는 것을 회피할 수 있다. 다른 예로서, 사용자는 오디오 플레이어로부터 스테레오로 노래를 전달하기를 원할 수도 있다. 만일 스테레오가 유사한 무접촉 인터페이스들을 가지는 다른 장비들로 가득 차 있는 방 안에 있다면, 사용자는 이러한 초음파 추적 시스템들로부터 결정된 상대적인 좌표들 또는 방향에 의존함으로써 전자 렌지 또는 식기 세척기가 아니라 스테레오를 집어낼 수 있다.
도 22a 및 도 22b 의 예시적인 방법들은, 다양한 실시형태들을 이용하여 두 개 이상의 디바이스들이 상호작용할 수도 있는 방법들 중 오직 하나를 도시한다. 또 다른 예로서, 디바이스들은, 디바이스가 사용자의 손의 자리를 대신하면서, 이전 실시형태들에서 논의된 것과 유사한 방식으로 이용될 수도 있다. 수신하는 디바이스는 송신하는 디바이스의 이동을 추적하거나 다양한 명령들 또는 다른 통신들과 상관될 수도 있는 송신하는 디바이스의 이동의 피쳐들 또는 패턴들을 추출할 수도 있다.
앞선 방법 설명들 및 프로세스 흐름도들은 오직 예시적인 예들로서만 제공되며 다양한 실시형태의 단계들이 제공된 순서로 수행되어야만 한다는 것을 요구하거나 암시하려고 의도되지 않는다. 당업자에 의하여 이해될 수 있는 바와 같이, 앞선 실시형태들 내의 단계들의 순서는 임의의 순서로 수행될 수도 있다. 예컨대 단어들 "이하" "그러면" "후속하여" 등은 단계들의 순서를 제한하려고 의도되지 않는다; 이러한 단어들은 독자를 방법들의 설명을 통해서 인도하기 위하여 이용될 뿐이다. 더 나아가, 청구항 요소들에 대한 단수형의 임의의 참조, 예를 들어, 관사 "하나" "하나의" 또는 "그" 를 이용하는 참조는 해당 요소를 단수로 제한하는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 양태들과 연계되어 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환 가능성을 명백하게 예시하기 위하여, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들은 위에서 총괄적으로 그것들의 기능성의 관점에서 설명되어 왔다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부가되는 특정 애플리케이션 및 디자인 제약 조건들에 달려 있다. 당업자들은 설명된 기능을 각각의 특정한 애플리케이션을 위하여 다양한 방식으로 구현할 수도 있는데, 하지만 이러한 구현 결정들은 본 발명의 범위를 벗어나도록 하는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 양태들과 연계하여 설명된 다양한 예시적인 로직들, 로직 블록들, 모듈들, 및 회로들을 구현하기 위하여 이용되는 하드웨어는 본 명세서에서 설명된 기능들을 수행하도록 디자인된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성 요소들, 또는 그것들의 임의의 조합을 이용하여 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있는데, 하지만 대안적으로는, 이 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP 및 마이크로프로세서의 조합, 복수 개의 마이크로프로세서들의 조합, DSP 코어와 결합된 하나 이상의 마이크로프로세서의 조합, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다. 대안적으로는, 어떤 단계들 또는 방법들은 소정의 주어진 기능에 특유한 회로에 의하여 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 이를 통해 송신될 수도 있다. 본 명세서에서 개시되는 방법 또는 알고리즘의 단계들은, 유형의 비-일시적 컴퓨터-판독가능 매체 또는 프로세서-판독가능 매체 상에 상주할 수도 있는, 실행되는 프로세서-실행가능 소프트웨어 모듈에서 구현될 수도 있다. 비-일시적 컴퓨터-판독가능 및 프로세서-판독가능 매체들은 컴퓨터 또는 프로세서에 의하여 액세스될 수도 있는 임의의 이용가능한 매체들일 수도 있다. 한정이 아니라 예를 들기 위해서, 이러한 비-일시적 컴퓨터-판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학적 디스크 스토리지, 자기적 디스크 스토리지, 또는 다른 자기적 저장 디바이스들, 또는 원하는 프로그램 코드를 컴퓨터에 의해 액세스될 수도 있는 명령들 또는 데이터 구조체들의 형태로 운반하거나 저장하는데 사용될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 본 명세서에서 사용될 때, 디스크 (Disk 및 disc) 는 콤팩트 디스크 (compact disc, CD), 레이저 디스크, 광학적 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크를 포함하는데, 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 것들의 조합들도 역시 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다. 추가적으로, 방법 또는 알고리즘의 동작들은 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 비-일시적 프로세서-판독가능 매체 및/또는 컴퓨터-판독가능 매체 상에 상주할 수도 있는데, 이 매체는 컴퓨터 프로그램 제품 내에 통합될 수도 있다.
개시된 양태들의 앞선 설명은 임의의 당업자에게 본 발명을 생산 또는 사용하도록 이네이블하기 위하여 제공된다. 이러한 양태들에 대한 다양한 수정들이 당업자들에게는 용이하게 명백해질 것이며, 본 명세서에서 정의된 통칭적 개념들은 본 발명의 범위로부터 벗어나지 않으면서 다른 양태들에 적용될 수도 있다. 그러므로, 본 발명은 본 명세서에서 도시된 양태들에 제한되는 것으로 의도되지 않으며, 반대로 본 발명에는 본 명세서에서 개시된 이론들 및 신규한 피쳐들과 일치하는 최광의 범위가 부여되어야 한다.

Claims (69)

  1. 연속파 초음파를 사용하여 사용자 입력 제스쳐를 인식하는 방법으로서,
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 단계;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 단계;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 단계;
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계;
    상기 추출된 적어도 하나의 피쳐를 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하여 복수의 정합된 피쳐들을 식별하는 단계;
    동작 상태, 이전의 입력 제스쳐, 또는 이전의 커맨트 중 적어도 하나에 기초하여 상기 복수의 정합된 피쳐들로부터 특정의 정합된 피쳐를 선택하는 단계; 및
    상기 특정의 정합된 피쳐에 기초하여 실행될 명령을 선택하는 단계를 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  2. 제 1 항에 있어서,
    초음파 방출기로부터 상기 시간적 정보로 인코딩된 초음파 신호들의 송신을 개시하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  3. 제 1 항에 있어서,
    상기 특정의 정합된 피쳐를 선택하는 단계는 이전에 선택된 정합된 피쳐에 더 기초하는, 사용자 입력 제스쳐를 인식하는 방법.
  4. 제 2 항에 있어서,
    상기 초음파 신호들은 의사랜덤 잡음을 이용하여 시간적으로 인코딩되는, 사용자 입력 제스쳐를 인식하는 방법.
  5. 제 2 항에 있어서,
    상기 초음파 신호들은 변동하는 주파수를 이용하여 시간적으로 인코딩되고,
    상기 초음파 신호들은 확산 스펙트럼 변조를 이용하는, 사용자 입력 제스쳐를 인식하는 방법.
  6. 제 1 항에 있어서,
    상기 특정의 정합된 피쳐를 선택하는 단계는 이전에 실행된 명령에 더 기초하는, 사용자 입력 제스쳐를 인식하는 방법.
  7. 제 1 항에 있어서,
    상기 사운드 검출기 내에서 초음파 신호들을 수신하는 단계는,
    컴퓨팅 디바이스 상의 세 개의 사운드 검출기들에서 상기 초음파 신호들을 수신하는 단계를 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  8. 제 1 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계는,
    상기 채널 임펄스 응답으로부터 백그라운드 채널 임펄스 응답을 감산하여 리플렉터 채널 임펄스 응답을 획득하는 단계를 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  9. 제 8 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계는,
    차분 채널 임펄스 응답들의 시퀀스를 결정하고 상기 차분 채널 임펄스 응답들의 시퀀스를 이미지들의 시퀀스로서 처리하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  10. 제 9 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계는,
    에지 필터를 상기 이미지들의 시퀀스에 적용하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  11. 제 9 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계는,
    계조 상관 행렬을 상기 이미지들의 시퀀스에 적용하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  12. 제 9 항에 있어서,
    상기 적어도 하나의 추출된 피쳐를 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하는 단계는,
    k-최근접 이웃들 (k-nearest neighbors) 분석, 인공 신경 회로망들 (artificial neural nets) 분석, 히든 마르코프 모델들 (hidden Markov models) 분석, 또는 이들의 임의의 조합을 포함하는 방법을 이용하여 분석을 수행하는 단계를 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  13. 제 1 항에 있어서,
    최강 리플렉터를 상기 적어도 하나의 추출된 피쳐에 기초하여 식별하는 단계;
    상기 식별된 최강 리플렉터로부터의 상기 초음파 신호들의 비행 시간을 측정하는 단계; 및
    상기 초음파 신호들의 상기 측정된 비행 시간에 기초하여 상기 식별된 최강 리플렉터의 공간 내의 위치를 결정하는 단계로서, 상기 특정의 정합된 피쳐를 선택하는 단계는 상기 식별된 최강 리플렉터의 공간 내의 위치에 더 기초하는, 상기 식별된 최강 리플렉터의 공간 내의 위치를 결정하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  14. 제 13 항에 있어서,
    칼만 필터링을 상기 초음파 신호들의 상기 측정된 비행 시간에 적용하는 단계를 더 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  15. 제 1 항에 있어서,
    상기 연산된 채널 임펄스 응답에 기초하여 채널 임펄스 응답 곡선을 결정하는 단계를 더 포함하며,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 단계는, 리플렉터 이동 방향을 상기 채널 임펄스 응답 곡선으로부터 유도된 각도 정보에 기초하여 결정하는 단계를 포함하며,
    상기 특정의 정합된 피쳐를 선택하는 단계는 상기 리플렉터 이동 방향에 더 기초하는, 사용자 입력 제스쳐를 인식하는 방법.
  16. 사용자 입력 제스쳐를 인식하는 방법으로서,
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 단계;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 단계;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 단계;
    애플리케이션과 연관된 동작 상태를 결정하는 단계;
    상기 동작 상태에 기초하여 상기 채널 임펄스 응답과 연관된 피쳐를 선택하는 단계; 및
    상기 피쳐와 연관된 실행될 명령을 선택하는 단계를 포함하는, 사용자 입력 제스쳐를 인식하는 방법.
  17. 컴퓨터 시스템으로서,
    프로세서;
    상기 프로세서에 커플링된 메모리;
    상기 프로세서에 커플링된 사운드 방출기; 및
    상기 프로세서에 커플링된 하나 이상의 사운드 검출기들을 포함하며,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여:
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 동작;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 동작;
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작;
    상기 추출된 적어도 하나의 피쳐를 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하여 복수의 정합된 피쳐들을 식별하는 동작;
    동작 상태, 이전에 정합된 피쳐, 또는 이전의 명령 중 적어도 하나에 기초하여 상기 복수의 정합된 피쳐들로부터 특정의 정합된 피쳐를 선택하는 동작; 및
    상기 특정의 정합된 피쳐에 기초하여 실행될 명령을 실행하는 동작을 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  18. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    초음파 방출기로부터 상기 초음파 신호들의 송신을 개시하는 동작을 더 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  19. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 초음파 신호들이 시간적 정보로 인코딩되도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  20. 제 18 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 초음파 신호들이 의사랜덤 잡음을 이용하여 시간적으로 인코딩되도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  21. 제 18 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 초음파 신호들이 변동하는 주파수를 이용하여 시간적으로 인코딩되도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  22. 제 18 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 초음파 신호들이 확산 스펙트럼 변조를 이용하여 시간적으로 인코딩되도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  23. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 사운드 검출기 내에서 상기 초음파 신호들을 수신하는 동작이 세 개의 사운드 검출기들 내에서 상기 초음파 신호들을 수신하는 동작을 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  24. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 채널 임펄스 응답을 처리하여 상기 적어도 하나의 피쳐를 추출하는 동작이,
    상기 채널 임펄스 응답으로부터 백그라운드 채널 임펄스 응답을 감산하여 리플렉터 채널 임펄스 응답을 획득하는 동작을 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  25. 제 24 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이,
    차분 채널 임펄스 응답들의 시퀀스를 결정하는 동작 및 상기 차분 채널 임펄스 응답들의 시퀀스를 이미지들의 시퀀스로서 처리하는 동작을 더 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  26. 제 25 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이,
    에지 필터를 상기 이미지들의 시퀀스에 적용하는 동작을 더 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  27. 제 25 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이,
    계조 상관 행렬을 상기 이미지들의 시퀀스에 적용하는 동작을 더 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  28. 제 25 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 적어도 하나의 추출된 피쳐를 상기 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하는 동작은,
    k-최근접 이웃들 분석, 인공 신경 회로망들 분석, 히든 마르코프 모델들 분석, 또는 이들의 임의의 조합을 포함하는 방법을 이용하여 분석을 수행하는 동작을 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  29. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    최강 리플렉터를 상기 적어도 하나의 추출된 피쳐에 기초하여 식별하는 동작;
    상기 식별된 최강 리플렉터로부터의 상기 초음파 신호들의 비행 시간을 측정하는 동작; 및
    상기 초음파 신호들의 상기 측정된 비행 시간에 기초하여 상기 식별된 최강 리플렉터의 공간 내의 위치를 결정하는 동작을 더 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  30. 제 29 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    칼만 필터링을 상기 초음파 신호들의 상기 측정된 비행 시간에 적용하는 동작을 더 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  31. 제 17 항에 있어서,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 연산된 채널 임펄스 응답에 기초하여 채널 임펄스 응답 곡선을 결정하는 동작을 더 포함하는 동작들을 수행하도록 구성되고,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이, 리플렉터 이동 방향을 채널 임펄스 응답 곡선으로부터 유도된 각도 정보에 기초하여 결정하는 동작을 포함하도록 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  32. 컴퓨터 시스템으로서,
    프로세서;
    상기 프로세서에 커플링된 메모리;
    상기 프로세서에 커플링된 사운드 방출기; 및
    상기 프로세서에 커플링된 하나 이상의 사운드 검출기들을 포함하며,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 동작;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 동작;
    애플리케이션과 연관된 동작 상태를 결정하는 동작;
    상기 동작 상태에 기초하여 상기 채널 임펄스 응답과 연관된 피쳐를 선택하는 동작; 및
    상기 피쳐와 연관된 실행될 명령을 선택하는 동작을 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  33. 컴퓨터 시스템으로서,
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하기 위한 수단;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하기 위한 수단;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하기 위한 수단;
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하기 위한 수단;
    상기 추출된 적어도 하나의 피쳐를 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하여 복수의 정합된 피쳐들을 식별하기 위한 수단;
    동작 상태, 이전에 정합된 피쳐, 또는 이전의 명령 중 적어도 하나에 기초하여 상기 복수의 정합된 피쳐들로부터 특정의 정합된 피쳐를 선택하기 위한 수단; 및
    상기 특정의 정합된 피쳐에 기초하여 실행될 명령을 선택하기 위한 수단을 포함하는, 컴퓨터 시스템.
  34. 제 33 항에 있어서,
    초음파 방출기로부터 상기 초음파 신호들을 송신하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  35. 제 33 항에 있어서,
    상기 초음파 신호들은 시간적 정보로 인코딩되는, 컴퓨터 시스템.
  36. 제 34 항에 있어서,
    상기 초음파 신호들은 의사랜덤 잡음을 이용하여 시간적으로 인코딩되는, 컴퓨터 시스템.
  37. 제 34 항에 있어서,
    상기 초음파 신호들은 변동하는 주파수를 이용하여 시간적으로 인코딩되는, 컴퓨터 시스템.
  38. 제 34 항에 있어서,
    상기 초음파 신호들은 확산 스펙트럼 변조를 이용하여 시간적으로 인코딩되는, 컴퓨터 시스템.
  39. 제 33 항에 있어서,
    상기 수신하기 위한 수단은, 컴퓨팅 디바이스 상의 세 개의 사운드 검출기들 내에서 상기 초음파 신호들을 수신하기 위한 수단을 포함하는, 컴퓨터 시스템.
  40. 제 33 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하기 위한 수단은,
    상기 채널 임펄스 응답으로부터 백그라운드 채널 임펄스 응답을 감산하여 리플렉터 채널 임펄스 응답을 획득하기 위한 수단을 포함하는, 컴퓨터 시스템.
  41. 제 40 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하기 위한 수단은,
    차분 채널 임펄스 응답들의 시퀀스를 결정하고 상기 차분 채널 임펄스 응답들의 시퀀스를 이미지들의 시퀀스로서 처리하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  42. 제 41 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하기 위한 수단은,
    에지 필터를 상기 이미지들의 시퀀스에 적용하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  43. 제 41 항에 있어서,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하기 위한 수단은,
    계조 상관 행렬을 상기 이미지들의 시퀀스에 적용하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  44. 제 41 항에 있어서,
    상기 적어도 하나의 추출된 피쳐를 상기 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하기 위한 수단은,
    k-최근접 이웃들 분석, 인공 신경 회로망들 분석, 히든 마르코프 모델들 분석, 또는 이들의 임의의 조합을 포함하는 방법을 이용하여 분석을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  45. 제 33 항에 있어서,
    최강 리플렉터를 상기 적어도 하나의 추출된 피쳐에 기초하여 식별하기 위한 수단;
    상기 식별된 최강 리플렉터로부터의 상기 초음파 신호들의 비행 시간을 측정하기 위한 수단; 및
    상기 초음파 신호들의 상기 측정된 비행 시간에 기초하여 상기 식별된 최강 리플렉터의 공간 내의 위치를 결정하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  46. 제 45 항에 있어서,
    칼만 필터링을 상기 초음파 신호들의 상기 측정된 비행 시간에 적용하기 위한 수단을 더 포함하는, 컴퓨터 시스템.
  47. 제 33 항에 있어서,
    상기 연산된 채널 임펄스 응답에 기초하여 채널 임펄스 응답 곡선을 결정하기 위한 수단을 더 포함하며,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 수단은,
    리플렉터 이동 방향을 채널 임펄스 응답 곡선으로부터 유도된 각도 정보에 기초하여 결정하기 위한 수단을 포함하는, 컴퓨터 시스템.
  48. 컴퓨터 시스템으로서,
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하기 위한 수단;
    채널 임펄스 응답을 상기 수신된 신호들에 기초하여 연산하기 위한 수단;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하기 위한 수단;
    애플리케이션과 연관된 동작 상태를 결정하기 위한 수단;
    상기 동작 상태에 기초하여 상기 채널 임펄스 응답과 연관된 피쳐를 선택하기 위한 수단; 및
    상기 피쳐와 연관된 실행될 명령을 선택하기 위한 수단을 포함하는, 컴퓨터 시스템.
  49. 비-일시적 컴퓨터 판독가능 저장 매체로서,
    초음파를 방출하고 검출하도록 구성되는 컴퓨터로 하여금:
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 동작;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 동작;
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작;
    상기 추출된 적어도 하나의 피쳐를 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하여 복수의 정합된 피쳐들을 식별하는 동작;
    동작 상태, 이전에 정합된 피쳐, 또는 이전의 명령 중 적어도 하나에 기초하여 상기 복수의 정합된 피쳐들로부터 특정의 정합된 피쳐를 선택하는 동작; 및
    상기 특정의 정합된 피쳐에 기초하여 실행될 명령을 선택하는 동작을 포함하는 동작들을 수행하게 하도록 구성되는 컴퓨터-실행가능 명령들을 저장하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  50. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    초음파 방출기로부터 상기 초음파 신호들을 송신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  51. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 초음파 신호들이 시간적 정보로 인코딩되도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  52. 제 50 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 초음파 신호들이 의사랜덤 잡음을 이용하여 시간적으로 인코딩되도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  53. 제 50 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 초음파 신호들이 변동하는 주파수를 이용하여 시간적으로 인코딩되도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  54. 제 50 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 초음파 신호들이 확산 스펙트럼 변조를 이용하여 시간적으로 인코딩되도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  55. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 사운드 검출기 내에서 상기 초음파 신호들을 수신하는 동작이 세 개의 사운드 검출기들 내에서 상기 초음파 신호들을 수신하는 동작을 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  56. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이, 상기 채널 임펄스 응답으로부터 백그라운드 채널 임펄스 응답을 감산하여 리플렉터 채널 임펄스 응답을 획득하는 동작을 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  57. 제 56 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이, 차분 채널 임펄스 응답들의 시퀀스를 결정하는 동작 및 상기 차분 채널 임펄스 응답들의 시퀀스를 이미지들의 시퀀스로서 처리하는 동작을 더 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  58. 제 57 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이,
    에지 필터를 상기 이미지들의 시퀀스에 적용하는 동작을 더 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  59. 제 57 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 동작이,
    계조 상관 행렬을 상기 이미지들의 시퀀스에 적용하는 동작을 더 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  60. 제 57 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 적어도 하나의 추출된 피쳐를 상기 채널 임펄스 응답 피쳐들의 데이터베이스와 비교하는 동작이, k-최근접 이웃들 분석, 인공 신경 회로망들 분석, 히든 마르코프 모델들 분석, 또는 이들의 임의의 조합을 포함하는 방법을 이용하여 분석을 수행하는 동작을 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  61. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    최강 리플렉터를 상기 적어도 하나의 추출된 피쳐에 기초하여 식별하는 동작;
    상기 식별된 최강 리플렉터로부터의 상기 초음파 신호들의 비행 시간을 측정하는 동작; 및
    상기 초음파 신호들의 상기 측정된 비행 시간에 기초하여 상기 식별된 최강 리플렉터의 공간 내의 위치를 결정하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  62. 제 61 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    칼만 필터링을 상기 초음파 신호들의 상기 측정된 비행 시간에 적용하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  63. 제 49 항에 있어서,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    상기 연산된 채널 임펄스 응답에 기초하여 채널 임펄스 응답 곡선을 결정하는 동작을 더 포함하는 동작들을 수행하도록 구성되고,
    저장된 컴퓨터-실행가능 명령들은 컴퓨터로 하여금,
    채널 임펄스 응답을 처리하여 적어도 하나의 피쳐를 추출하는 상기 동작이 리플렉터 이동 방향을 채널 임펄스 응답 곡선으로부터 유도된 각도 정보에 기초하여 결정하는 동작을 포함하도록 동작들을 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 저장 매체.
  64. 비-일시적 컴퓨터 판독가능 저장 매체로서,
    초음파를 방출하고 검출하도록 구성되는 컴퓨터로 하여금:
    사운드 검출기 내에서 시간적 정보로 인코딩된 초음파 신호들을 수신하는 동작;
    채널 임펄스 응답을 상기 초음파 신호들에 기초하여 연산하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 신호들의 비행 시간을 결정하는 동작;
    애플리케이션과 연관된 동작 상태를 결정하는 동작;
    상기 동작 상태에 기초하여 상기 채널 임펄스 응답과 연관된 피쳐를 선택하는 동작; 및
    상기 피쳐와 연관된 실행될 명령을 선택하는 동작을 포함하는, 동작들을 수행하게 하도록 구성되는 컴퓨터-실행가능 명령들을 저장하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  65. 제 1 디바이스로부터, 시간적 정보로 인코딩된 초음파 신호를 제 2 디바이스에서 수신하는 단계;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 초음파 신호의 비행 시간을 측정하는 단계;
    칼만 필터링을 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 적용하는 단계;
    상기 제 2 디바이스에 대해 상대적인 상기 제 1 디바이스의 위치를 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 기초하여 결정하는 단계; 및
    상기 결정된 상대적인 위치에 기초하여 상기 제 1 디바이스를 사용하여 파일 전송을 개시하는 단계를 포함하는, 방법.
  66. 제 65 항에 있어서,
    상기 결정된 위치를 대응하는 거리로 변환하는 단계를 더 포함하는, 방법.
  67. 컴퓨터 시스템으로서,
    프로세서;
    상기 프로세서에 커플링된 메모리;
    상기 프로세서에 커플링된 사운드 방출기; 및
    상기 프로세서에 커플링된 하나 이상의 사운드 검출기들을 포함하며,
    상기 프로세서는 프로세서-실행가능 명령들을 이용하여,
    제 1 디바이스로부터, 시간적 정보로 인코딩된 초음파 신호를 제 2 디바이스에서 수신하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 초음파 신호의 비행 시간을 측정하는 동작;
    칼만 필터링을 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 적용하는 동작;
    상기 제 2 디바이스에 대해 상대적인 상기 제 1 디바이스의 위치를 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 기초하여 결정하는 동작; 및
    상기 결정된 상대적인 위치에 기초하여 상기 제 1 디바이스를 사용하여 파일 전송을 개시하는 동작을 포함하는 동작들을 수행하도록 구성되는, 컴퓨터 시스템.
  68. 컴퓨터 시스템으로서,
    제 1 디바이스로부터, 시간적 정보로 인코딩된 초음파 신호를 제 2 디바이스에서 수신하기 위한 수단;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 초음파 신호의 비행 시간을 측정하기 위한 수단;
    칼만 필터링을 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 적용하기 위한 수단;
    상기 제 2 디바이스에 대해 상대적인 상기 제 1 디바이스의 위치를 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 기초하여 결정하기 위한 수단; 및
    상기 결정된 상대적인 위치에 기초하여 상기 제 1 디바이스를 사용하여 파일 전송을 개시하기 위한 수단을 포함하는, 컴퓨터 시스템.
  69. 비-일시적 컴퓨터 판독가능 저장 매체로서,
    초음파를 방출하고 검출하도록 구성되는 컴퓨터로 하여금:
    제 1 디바이스로부터, 시간적 정보로 인코딩된 초음파 신호를 제 2 디바이스에서 수신하는 동작;
    상기 인코딩된 시간적 정보에 기초하여 상기 수신된 초음파 신호의 비행 시간을 측정하는 동작;
    칼만 필터링을 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 적용하는 동작;
    상기 제 2 디바이스에 대해 상대적인 상기 제 1 디바이스의 위치를 상기 수신된 초음파 신호의 상기 측정된 비행 시간에 기초하여 결정하는 동작; 및
    상기 결정된 상대적인 위치에 기초하여 상기 제 1 디바이스를 사용하여 파일 전송을 개시하는 동작을 포함하는, 동작들을 수행하게 하도록 구성되는 컴퓨터-실행가능 명령들을 저장하는, 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020137002490A 2010-06-29 2011-06-29 연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식 KR101520554B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US35972810P 2010-06-29 2010-06-29
US61/359,728 2010-06-29
US12/885,151 2010-09-17
US12/885,151 US8907929B2 (en) 2010-06-29 2010-09-17 Touchless sensing and gesture recognition using continuous wave ultrasound signals
PCT/US2011/042452 WO2012006189A2 (en) 2010-06-29 2011-06-29 Touchless sensing and gesture recognition using continuous wave ultrasound signals

Publications (2)

Publication Number Publication Date
KR20130033426A KR20130033426A (ko) 2013-04-03
KR101520554B1 true KR101520554B1 (ko) 2015-05-14

Family

ID=44628249

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137002490A KR101520554B1 (ko) 2010-06-29 2011-06-29 연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식

Country Status (6)

Country Link
US (1) US8907929B2 (ko)
EP (1) EP2588939B1 (ko)
JP (2) JP2013536493A (ko)
KR (1) KR101520554B1 (ko)
CN (1) CN103038725B (ko)
WO (1) WO2012006189A2 (ko)

Families Citing this family (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1851924B1 (en) * 2004-12-21 2012-12-05 Elliptic Laboratories AS Channel impulse response estimation
US8933876B2 (en) 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
US9035876B2 (en) 2008-01-14 2015-05-19 Apple Inc. Three-dimensional user interface session control
TWI387900B (zh) * 2009-09-30 2013-03-01 Ind Tech Res Inst 非觸控式輸入裝置
US9201501B2 (en) 2010-07-20 2015-12-01 Apple Inc. Adaptive projector
JP5791131B2 (ja) 2010-07-20 2015-10-07 アップル インコーポレイテッド 自然な相互作用のための相互作用的現実拡張
US8959013B2 (en) * 2010-09-27 2015-02-17 Apple Inc. Virtual keyboard for a non-tactile three dimensional user interface
US8223589B2 (en) * 2010-10-28 2012-07-17 Hon Hai Precision Industry Co., Ltd. Gesture recognition apparatus and method
US8872762B2 (en) 2010-12-08 2014-10-28 Primesense Ltd. Three dimensional user interface cursor control
CN106125921B (zh) 2011-02-09 2019-01-15 苹果公司 3d映射环境中的凝视检测
US8478371B2 (en) * 2011-03-21 2013-07-02 Research In Motion Limited Mobile wireless communications device with user navigation using an antenna and related methods
US9054826B2 (en) * 2011-04-12 2015-06-09 Rensselaer Polytechnic Institute Adaptive system for efficient transmission of power and data through acoustic media
US9477350B2 (en) * 2011-04-26 2016-10-25 Sentons Inc. Method and apparatus for active ultrasonic touch devices
US10198097B2 (en) * 2011-04-26 2019-02-05 Sentons Inc. Detecting touch input force
US9639213B2 (en) * 2011-04-26 2017-05-02 Sentons Inc. Using multiple signals to detect touch input
US11327599B2 (en) 2011-04-26 2022-05-10 Sentons Inc. Identifying a contact type
US9189109B2 (en) 2012-07-18 2015-11-17 Sentons Inc. Detection of type of object used to provide a touch contact input
WO2012172322A2 (en) * 2011-06-13 2012-12-20 Elliptic Laboratories As Touchless interaction
US9377865B2 (en) 2011-07-05 2016-06-28 Apple Inc. Zoom-based gesture user interface
US8881051B2 (en) 2011-07-05 2014-11-04 Primesense Ltd Zoom-based gesture user interface
US9459758B2 (en) 2011-07-05 2016-10-04 Apple Inc. Gesture-based interface with enhanced features
US9030498B2 (en) 2011-08-15 2015-05-12 Apple Inc. Combining explicit select gestures and timeclick in a non-tactile three dimensional user interface
US9122311B2 (en) 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US9218063B2 (en) 2011-08-24 2015-12-22 Apple Inc. Sessionless pointing user interface
US20130061305A1 (en) * 2011-09-07 2013-03-07 Kelsey L. Bruso Random challenge action for authentication of data or devices
KR102027601B1 (ko) 2011-10-18 2019-10-01 카네기 멜론 유니버시티 터치 감지 표면 상의 터치 이벤트를 분류하는 방법 및 장치
KR101852549B1 (ko) 2011-11-18 2018-04-27 센톤스 아이엔씨. 국소형 햅틱 피드백
US10235004B1 (en) 2011-11-18 2019-03-19 Sentons Inc. Touch input detector with an integrated antenna
KR101803261B1 (ko) 2011-11-18 2017-11-30 센톤스 아이엔씨. 터치 입력 힘 검출
US8749485B2 (en) * 2011-12-20 2014-06-10 Microsoft Corporation User control gesture detection
US20130182539A1 (en) * 2012-01-13 2013-07-18 Texas Instruments Incorporated Multipath reflection processing in ultrasonic gesture recognition systems
WO2013109869A1 (en) * 2012-01-20 2013-07-25 Magna Electronics, Inc. Vehicle vision system with free positional virtual panoramic view
US9229534B2 (en) 2012-02-28 2016-01-05 Apple Inc. Asymmetric mapping for tactile and non-tactile user interfaces
GB201203832D0 (en) * 2012-03-05 2012-04-18 Elliptic Laboratories As User input system
GB201203851D0 (en) * 2012-03-05 2012-04-18 Elliptic Laboratories As Touchless user interfaces
US9377863B2 (en) 2012-03-26 2016-06-28 Apple Inc. Gaze-enhanced virtual touchscreen
US10448161B2 (en) 2012-04-02 2019-10-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for gestural manipulation of a sound field
US9383895B1 (en) * 2012-05-05 2016-07-05 F. Vinayak Methods and systems for interactively producing shapes in three-dimensional space
US9524063B2 (en) 2012-07-18 2016-12-20 Sentons Inc. Detection of a number of touch contacts of a multi-touch input
US9348468B2 (en) * 2013-06-07 2016-05-24 Sentons Inc. Detecting multi-touch inputs
TWI452322B (zh) * 2012-08-17 2014-09-11 Au Optronics Corp 使用聲波測量物體空間位置的方法及系統
US20220303167A1 (en) * 2012-12-05 2022-09-22 Beibei Wang Method, apparatus, and system for identifying and qualifying devices for wireless sensing
US10707971B2 (en) * 2012-12-10 2020-07-07 Apple Inc. Ultrasound ranging for mobile devices
US10735106B2 (en) * 2012-12-10 2020-08-04 Apple Inc. Mobile device with ultrasound ranging
EP2746805B1 (de) * 2012-12-21 2017-07-12 Delphi Technologies, Inc. Ultraschallinnenraumüberwachungsanlage für ein Kraftfahrzeug
TWI454968B (zh) 2012-12-24 2014-10-01 Ind Tech Res Inst 三維互動裝置及其操控方法
WO2014131894A2 (en) * 2013-02-28 2014-09-04 University College Dublin, National University Of Ireland, Dublin System and method for tracking a range of a moving object
US9323397B2 (en) 2013-03-11 2016-04-26 The Regents Of The University Of California In-air ultrasonic rangefinding and angle estimation
US10827292B2 (en) 2013-03-15 2020-11-03 Jawb Acquisition Llc Spatial audio aggregation for multiple sources of spatial audio
KR20140113832A (ko) * 2013-03-15 2014-09-25 현대자동차주식회사 자동차의 음성 전달 시동장치 및 시동방법
KR20140114766A (ko) 2013-03-19 2014-09-29 퀵소 코 터치 입력을 감지하기 위한 방법 및 장치
US9612689B2 (en) 2015-02-02 2017-04-04 Qeexo, Co. Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer
US9013452B2 (en) 2013-03-25 2015-04-21 Qeexo, Co. Method and system for activating different interactive functions using different types of finger contacts
US9971414B2 (en) 2013-04-01 2018-05-15 University Of Washington Through Its Center For Commercialization Devices, systems, and methods for detecting gestures using wireless communication signals
US10753979B2 (en) 2013-04-04 2020-08-25 The Boeing Company In-situ battery monitoring system
CN103885744B (zh) * 2013-05-30 2017-04-19 美声克(成都)科技有限公司 一种基于声音的手势识别方法
KR102517425B1 (ko) * 2013-06-27 2023-03-31 아이사이트 모빌 테크놀로지 엘티디 디지털 디바이스와 상호작용을 위한 다이렉트 포인팅 검출 시스템 및 방법
KR102025786B1 (ko) * 2013-07-04 2019-09-27 삼성디스플레이 주식회사 표시 장치
TWI506461B (zh) * 2013-07-16 2015-11-01 Univ Nat Taiwan Science Tech 人體動作的辨識方法與裝置
FR3008801B1 (fr) * 2013-07-17 2016-11-25 Commissariat Energie Atomique Procede et dispositif d'imagerie par ultrasons avec prediction des artefacts induits entre modes de reconstruction
CN103344959B (zh) * 2013-07-22 2016-04-20 苏州触达信息技术有限公司 一种超声定位系统和具有定位功能的电子装置
CN103399634B (zh) * 2013-07-22 2016-02-24 瑞声科技(南京)有限公司 手势识别系统及识别方法
US9817565B2 (en) 2013-07-23 2017-11-14 Blackberry Limited Apparatus and method pertaining to the use of a plurality of 3D gesture sensors to detect 3D gestures
CN103399318B (zh) * 2013-07-25 2015-09-30 瑞声科技(南京)有限公司 指尖定位系统和方法
CN103402156B (zh) * 2013-07-25 2016-05-25 瑞声科技(南京)有限公司 声学系统
EP2829949B1 (en) * 2013-07-26 2019-11-06 BlackBerry Limited System and method for manipulating an object in a three-dimensional desktop environment
US9280259B2 (en) 2013-07-26 2016-03-08 Blackberry Limited System and method for manipulating an object in a three-dimensional desktop environment
US10219094B2 (en) 2013-07-30 2019-02-26 Thomas Alan Donaldson Acoustic detection of audio sources to facilitate reproduction of spatial audio spaces
US10225680B2 (en) * 2013-07-30 2019-03-05 Thomas Alan Donaldson Motion detection of audio sources to facilitate reproduction of spatial audio spaces
US9189108B2 (en) * 2013-08-21 2015-11-17 Qualcomm Incorporated Ultrasound multi-zone hovering system
CN104423551B (zh) * 2013-09-02 2018-02-27 联想(北京)有限公司 一种电子设备及手势识别方法
US9390598B2 (en) 2013-09-11 2016-07-12 Blackberry Limited Three dimensional haptics hybrid modeling
US9405375B2 (en) 2013-09-13 2016-08-02 Qualcomm Incorporated Translation and scale invariant features for gesture recognition
US9459715B1 (en) 2013-09-20 2016-10-04 Sentons Inc. Using spectral control in detecting touch input
EP2852057B1 (en) * 2013-09-20 2018-05-16 Nxp B.V. An audio and ultrasound signal processing circuit and an ultrasound signal processing circuit, and associated methods
US20150102994A1 (en) * 2013-10-10 2015-04-16 Qualcomm Incorporated System and method for multi-touch gesture detection using ultrasound beamforming
TWI563842B (en) * 2013-10-25 2016-12-21 Lips Inc Sensing device and signal processing method thereof
US10587952B2 (en) * 2013-11-07 2020-03-10 Intel Corporation Microphone system for notebook computer
US9532155B1 (en) * 2013-11-20 2016-12-27 Knowles Electronics, Llc Real time monitoring of acoustic environments using ultrasound
EP3080686A1 (en) * 2013-12-12 2016-10-19 Qualcomm Incorporated Micromechanical ultrasonic transducers and display
ITCO20130068A1 (it) * 2013-12-18 2015-06-19 Nu Tech S A S Di De Michele Marco & Co Metodo per fornire comandi d'utente ad un elaboratore elettronico e relativi programma per elaborare e circuito elettronico.
US9912775B2 (en) * 2013-12-19 2018-03-06 Intel Corporation Method and apparatus for communicating between companion devices
US9390726B1 (en) 2013-12-30 2016-07-12 Google Inc. Supplementing speech commands with gestures
US9213413B2 (en) 2013-12-31 2015-12-15 Google Inc. Device interaction with spatially aware gestures
US9733714B2 (en) * 2014-01-07 2017-08-15 Samsung Electronics Co., Ltd. Computing system with command-sense mechanism and method of operation thereof
US9397760B2 (en) * 2014-01-21 2016-07-19 Jts Professional Co., Ltd. Wireless microphone based communications system
CN103885590A (zh) * 2014-03-10 2014-06-25 可牛网络技术(北京)有限公司 获取用户指令的方法及用户设备
US9569006B2 (en) * 2014-04-10 2017-02-14 Mediatek Inc. Ultrasound-based methods for touchless gesture recognition, and apparatuses using the same
US10459623B2 (en) 2014-04-17 2019-10-29 Microchip Technology Incorporated Touch detection in a capacitive sensor system
CN103995637B (zh) * 2014-04-28 2015-08-12 京东方科技集团股份有限公司 基于多普勒效应的触控识别装置、方法和触摸屏
KR102168792B1 (ko) 2014-05-08 2020-10-23 스트라타시스 엘티디. 선택적 소결에 의한 3d 프린팅 방법 및 장치
CN105094298B (zh) * 2014-05-13 2018-06-26 华为技术有限公司 终端以及基于该终端的手势识别方法
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
US9588625B2 (en) 2014-08-15 2017-03-07 Google Inc. Interactive textiles
US10268321B2 (en) 2014-08-15 2019-04-23 Google Llc Interactive textiles within hard objects
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
CN105373215B (zh) * 2014-08-25 2018-01-30 中国人民解放军理工大学 基于手势编码与译码的动态无线手势识别方法
CN104244055B (zh) * 2014-08-29 2018-08-21 苏州触达信息技术有限公司 多媒体设备有效空间范围内实时交互方法
CN104182052A (zh) * 2014-09-05 2014-12-03 苏州触达信息技术有限公司 多媒体设备有效空间范围内快速交互方法
US9329715B2 (en) * 2014-09-11 2016-05-03 Qeexo, Co. Method and apparatus for differentiating touch screen users based on touch event analysis
US9501810B2 (en) * 2014-09-12 2016-11-22 General Electric Company Creating a virtual environment for touchless interaction
US11619983B2 (en) 2014-09-15 2023-04-04 Qeexo, Co. Method and apparatus for resolving touch screen ambiguities
US10606417B2 (en) 2014-09-24 2020-03-31 Qeexo, Co. Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns
CN105446475B (zh) * 2014-09-26 2018-08-31 联想(北京)有限公司 信号处理方法以及电子设备
KR101601951B1 (ko) * 2014-09-29 2016-03-09 주식회사 토비스 공간 터치 입력이 수행되는 곡면디스플레이 장치
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
KR102336445B1 (ko) 2014-12-01 2021-12-07 삼성전자주식회사 디바이스를 제어하는 방법, 시스템 및 그 디바이스
US10070183B2 (en) 2014-12-15 2018-09-04 Verizon Digital Media Services Inc. Processing techniques in audio-visual streaming systems
US11079468B2 (en) * 2014-12-15 2021-08-03 Courtius Oy Detection of acoustic events
CN104571503B (zh) * 2014-12-22 2018-01-05 苏州触达信息技术有限公司 空间内多媒体设备群的交互控制方法
CN104571703A (zh) * 2014-12-31 2015-04-29 深圳市中兴移动通信有限公司 一种隔空操控方法、装置及终端
CN104536576B (zh) * 2015-01-12 2017-05-31 苏州触达信息技术有限公司 基于超声波的同一平面内多媒体设备间手势交互方法
US20160202788A1 (en) * 2015-01-13 2016-07-14 Sony Corporation Multi-on-body action detection based on ultrasound
DE102015003584A1 (de) * 2015-03-19 2016-09-22 Alexander Rudoy Verfahren und Vorrichtung zur 3D-Positionsbestimmung
US9319633B1 (en) 2015-03-19 2016-04-19 Cisco Technology, Inc. Ultrasonic echo canceler-based technique to detect participant presence at a video conference endpoint
US10016162B1 (en) 2015-03-23 2018-07-10 Google Llc In-ear health monitoring
US9983747B2 (en) 2015-03-26 2018-05-29 Google Llc Two-layer interactive textiles
CN104898939B (zh) * 2015-04-07 2019-06-25 联想(北京)有限公司 信号处理方法以及电子设备
WO2016170011A1 (en) * 2015-04-20 2016-10-27 Resmed Sensor Technologies Limited Gesture recognition with sensors
KR102002112B1 (ko) 2015-04-30 2019-07-19 구글 엘엘씨 제스처 추적 및 인식을 위한 rf―기반 마이크로―모션 추적
US10310620B2 (en) 2015-04-30 2019-06-04 Google Llc Type-agnostic RF signal representations
EP3289434A1 (en) 2015-04-30 2018-03-07 Google LLC Wide-field radar-based gesture recognition
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US9693592B2 (en) 2015-05-27 2017-07-04 Google Inc. Attaching electronic components to interactive textiles
CN106331916A (zh) * 2015-06-16 2017-01-11 钰太芯微电子科技(上海)有限公司 一种选频装置及超声波麦克风及终端设备
US10158840B2 (en) * 2015-06-19 2018-12-18 Amazon Technologies, Inc. Steganographic depth images
US11592913B2 (en) * 2015-07-17 2023-02-28 Origin Wireless, Inc. Method, apparatus, and system for wireless writing tracking
US20220299619A1 (en) * 2015-07-17 2022-09-22 Yuqian HU Method, apparatus, and system for wireless sensing based on linkwise motion statistics
EP3133474B1 (en) * 2015-08-19 2019-03-27 Nxp B.V. Gesture detector using ultrasound
US10261584B2 (en) 2015-08-24 2019-04-16 Rambus Inc. Touchless user interface for handheld and wearable computers
US10642404B2 (en) 2015-08-24 2020-05-05 Qeexo, Co. Touch sensitive device with multi-sensor stream synchronized data
CN105183245B (zh) * 2015-08-31 2019-07-26 联想(北京)有限公司 一种信息处理方法及电子设备
US10048811B2 (en) 2015-09-18 2018-08-14 Sentons Inc. Detecting touch input provided by signal transmitting stylus
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
CN105389003A (zh) * 2015-10-15 2016-03-09 广东欧珀移动通信有限公司 一种移动终端应用程序的控制方法和装置
CN105335025A (zh) * 2015-10-15 2016-02-17 广东欧珀移动通信有限公司 一种移动终端的截屏方法和装置
CN105938399B (zh) * 2015-12-04 2019-04-12 深圳大学 基于声学的智能设备的文本输入识别方法
US9554091B1 (en) 2015-12-15 2017-01-24 Cisco Technology, Inc. Identifying conference participants and active talkers at a video conference endpoint using user devices
US9857881B2 (en) * 2015-12-31 2018-01-02 Microsoft Technology Licensing, Llc Electrical device for hand gestures detection
CN105718064A (zh) * 2016-01-22 2016-06-29 南京大学 基于超声波的手势识别系统与方法
US10928499B2 (en) 2016-01-26 2021-02-23 Novelic D.O.O. Millimeter-wave radar sensor system for gesture and movement analysis
CN105760825A (zh) * 2016-02-02 2016-07-13 深圳市广懋创新科技有限公司 一种基于切比雪夫前向神经网络的手势识别系统和方法
GB201602319D0 (en) * 2016-02-09 2016-03-23 Elliptic Laboratories As Proximity detection
US10212306B1 (en) 2016-03-23 2019-02-19 Amazon Technologies, Inc. Steganographic camera communication
BR112018070980B1 (pt) 2016-04-11 2022-05-17 Stratasys Ltd Sistema e método para construir um compacto verde tridimensional, e sistema e método para formar um objeto tridimensional
WO2017184181A1 (en) 2016-04-22 2017-10-26 Chirp Micro, Inc. Ultrasonic input device
CN105955466A (zh) * 2016-04-26 2016-09-21 四川川大智胜软件股份有限公司 一种人体动作的检测和识别方法
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
WO2017200570A1 (en) 2016-05-16 2017-11-23 Google Llc Interactive object with multiple electronics modules
WO2017200949A1 (en) 2016-05-16 2017-11-23 Google Llc Interactive fabric
EP3296819B1 (en) 2016-09-14 2019-11-06 Nxp B.V. User interface activation
US10572024B1 (en) 2016-09-28 2020-02-25 Facebook Technologies, Llc Hand tracking using an ultrasound sensor on a head-mounted display
US10908741B2 (en) 2016-11-10 2021-02-02 Sentons Inc. Touch input detection along device sidewall
US10579150B2 (en) 2016-12-05 2020-03-03 Google Llc Concurrent detection of absolute distance and relative movement for sensing action gestures
WO2018106872A1 (en) * 2016-12-09 2018-06-14 Board Of Regents, The University Of Texas System Controlling a device by tracking the movement of a finger
US10296144B2 (en) 2016-12-12 2019-05-21 Sentons Inc. Touch input detection with shared receivers
US10126877B1 (en) 2017-02-01 2018-11-13 Sentons Inc. Update of reference data for touch input detection
WO2018154714A1 (ja) * 2017-02-24 2018-08-30 洋海 澤田 操作入力システム、操作入力方法及び操作入力プログラム
US10585522B2 (en) 2017-02-27 2020-03-10 Sentons Inc. Detection of non-touch inputs using a signature
US10338742B2 (en) 2017-03-02 2019-07-02 Microsoft Technology Licensing, Llc Detection method for a digitizer
US10528147B2 (en) 2017-03-06 2020-01-07 Microsoft Technology Licensing, Llc Ultrasonic based gesture recognition
US10276179B2 (en) 2017-03-06 2019-04-30 Microsoft Technology Licensing, Llc Speech enhancement with low-order non-negative matrix factorization
IL269485B2 (en) 2017-03-20 2024-03-01 Stratasys Ltd System and method for producing supplements with powdered material
CN108733245B (zh) * 2017-04-18 2021-08-03 成都吉锐时代触摸技术有限公司 一种超声波传播自动消除温差漂移的方法
US10984315B2 (en) 2017-04-28 2021-04-20 Microsoft Technology Licensing, Llc Learning-based noise reduction in data produced by a network of sensors, such as one incorporated into loose-fitting clothing worn by a person
KR102011565B1 (ko) * 2017-08-04 2019-08-16 재단법인 다차원 스마트 아이티 융합시스템 연구단 비접촉 제스처 인식 시스템 및 그 방법
US11009411B2 (en) 2017-08-14 2021-05-18 Sentons Inc. Increasing sensitivity of a sensor using an encoded signal
US11580829B2 (en) 2017-08-14 2023-02-14 Sentons Inc. Dynamic feedback for haptics
WO2019051082A1 (en) * 2017-09-06 2019-03-14 Georgia Tech Research Corporation SYSTEMS, METHODS AND DEVICES FOR GESTURE RECOGNITION
NO20171742A1 (en) * 2017-09-15 2019-03-18 Elliptic Laboratories As User Authentication Control
KR102116604B1 (ko) * 2018-01-26 2020-05-28 한양대학교 산학협력단 레이더를 이용한 제스처 인식 장치 및 방법
CN108196225B (zh) * 2018-03-27 2021-07-20 北京凌宇智控科技有限公司 一种融合编码信息的三维空间定位方法及系统
US10267912B1 (en) 2018-05-16 2019-04-23 Cisco Technology, Inc. Audio based motion detection in shared spaces using statistical prediction
CN112154404A (zh) * 2018-05-21 2020-12-29 奥矽半导体技术有限公司 超声触摸和力输入检测
US20210072378A1 (en) * 2018-06-05 2021-03-11 Google Llc Systems and methods of ultrasonic sensing in smart devices
US10386481B1 (en) * 2018-07-19 2019-08-20 King Abdullah University Of Science And Technology Angle-of-arrival-based gesture recognition system and method
US11009989B2 (en) 2018-08-21 2021-05-18 Qeexo, Co. Recognizing and rejecting unintentional touch events associated with a touch sensitive device
US11402499B1 (en) * 2018-08-29 2022-08-02 Amazon Technologies, Inc. Processing audio signals for presence detection
US10795018B1 (en) * 2018-08-29 2020-10-06 Amazon Technologies, Inc. Presence detection using ultrasonic signals
TWI700507B (zh) * 2018-10-24 2020-08-01 精準基因生物科技股份有限公司 飛行時間測距裝置以及飛行時間測距方法
NO345005B1 (en) * 2018-11-12 2020-08-17 Elliptic Laboratories As Signal processing
TWI696842B (zh) * 2018-11-16 2020-06-21 精準基因生物科技股份有限公司 飛時測距感測器以及飛時測距方法
CN109597312B (zh) * 2018-11-26 2022-03-01 北京小米移动软件有限公司 音箱控制方法及装置
KR102171441B1 (ko) * 2018-12-27 2020-10-29 국민대학교산학협력단 손동작 분류 장치
CN110031827B (zh) * 2019-04-15 2023-02-07 吉林大学 一种基于超声波测距原理的手势识别方法
US10942603B2 (en) 2019-05-06 2021-03-09 Qeexo, Co. Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device
US11231815B2 (en) 2019-06-28 2022-01-25 Qeexo, Co. Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing
CN110519449B (zh) * 2019-07-31 2021-09-14 Oppo广东移动通信有限公司 电子设备控制方法、装置、电子设备及存储介质
US11308733B2 (en) * 2019-08-05 2022-04-19 Bose Corporation Gesture detection using ultrasonic clicks
CN110658516B (zh) * 2019-10-14 2022-11-25 重庆邮电大学 一种基于fmcw雷达方差频数统计的手势目标提取方法
CN111176449B (zh) * 2019-12-26 2023-09-29 中国运载火箭技术研究院 基于超声波多普勒手势识别与多点触感融合的系统及方法
US11592423B2 (en) 2020-01-29 2023-02-28 Qeexo, Co. Adaptive ultrasonic sensing techniques and systems to mitigate interference
CN113391713A (zh) * 2020-03-12 2021-09-14 北京小米移动软件有限公司 电子设备及电子设备的控制方法、存储介质
TWI754903B (zh) * 2020-03-20 2022-02-11 大陸商光寶電子(廣州)有限公司 識別手勢的方法以及手勢感測裝置
CN111624609A (zh) * 2020-06-05 2020-09-04 南京英锐创电子科技有限公司 超声波测距方法及装置
EP4169775A4 (en) * 2020-06-18 2023-11-29 Panasonic Intellectual Property Corporation of America DEVICE, METHOD AND PROGRAM FOR SEAT RECOGNITION
US11564036B1 (en) 2020-10-21 2023-01-24 Amazon Technologies, Inc. Presence detection using ultrasonic signals with concurrent audio playback
US11897331B2 (en) 2021-01-14 2024-02-13 Baidu Usa Llc In-vehicle acoustic monitoring system for driver and passenger
US20220229180A1 (en) * 2021-01-20 2022-07-21 Banner Engineering Corp. Distance sensing and visual indicator arrays with reconfigurable detection windows
CN112882035A (zh) * 2021-02-18 2021-06-01 联想(北京)有限公司 一种检测方法、设备以及存储介质
RU2761762C1 (ru) * 2021-04-01 2021-12-13 Общество с ограниченной ответственностью "КСИТАЛ" Способ и устройство интеллектуального управления объектом
CN113468986A (zh) * 2021-06-16 2021-10-01 武汉理工大学 一种基于手势识别的空调控制方法及系统
CN113411139B (zh) * 2021-07-23 2022-11-22 北京小米移动软件有限公司 一种控制方法、装置及可读存储介质
EP4170382B1 (en) * 2021-10-24 2023-12-20 Tata Consultancy Services Limited System and method for acoustic based gesture tracking and recognition using spiking neural network
CN114296544A (zh) * 2021-11-15 2022-04-08 北京理工大学 一种基于多通道音频采集装置的手势交互系统及方法
WO2023089892A1 (ja) * 2021-11-16 2023-05-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 推定方法、推定システムおよびプログラム
EP4258018A1 (en) * 2022-04-09 2023-10-11 Tata Consultancy Services Limited Acoustic system and method based gesture detection using spiking neural networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009122193A1 (en) * 2008-04-04 2009-10-08 Elliptic Laboratories As Multi-range object location estimation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07122668B2 (ja) * 1988-10-08 1995-12-25 本田技研工業株式会社 超音波測距装置
US6157592A (en) 1998-07-06 2000-12-05 Resolution Displays, Inc. Acoustic position determination method and apparatus
JP2000241543A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Works Ltd 移動体移動量検出装置
JP2001142639A (ja) 1999-11-15 2001-05-25 Pioneer Electronic Corp タッチパネル装置
GB0311177D0 (en) * 2003-05-15 2003-06-18 Qinetiq Ltd Non contact human-computer interface
WO2005111653A2 (en) * 2004-05-17 2005-11-24 Epos Technologies Limited Acoustic robust synchronization signaling for acoustic positioning system
JP2006163886A (ja) * 2004-12-08 2006-06-22 Canon Inc 情報入力方法及び情報入力装置
KR100633160B1 (ko) * 2004-12-17 2006-10-11 삼성전자주식회사 비콘을 이용하여 위치 및 방향 인식이 가능한 로봇시스템
EP1851924B1 (en) 2004-12-21 2012-12-05 Elliptic Laboratories AS Channel impulse response estimation
JP2006285370A (ja) * 2005-03-31 2006-10-19 Mitsubishi Fuso Truck & Bus Corp ハンドパターンスイッチ装置及びハンドパターン操作方法
US20070130547A1 (en) * 2005-12-01 2007-06-07 Navisense, Llc Method and system for touchless user interface control
US8139029B2 (en) 2006-03-08 2012-03-20 Navisense Method and device for three-dimensional sensing
CA2690433C (en) * 2007-06-22 2016-01-19 Voiceage Corporation Method and device for sound activity detection and sound signal classification
US8792305B2 (en) * 2007-08-20 2014-07-29 Sonitor Technologies As Ultrasound detectors
US8140016B2 (en) * 2008-03-13 2012-03-20 Sony Ericsson Mobile Communications Ab Wireless communication terminals and methods using acoustic ranging synchronized to RF communication signals
CA2718680C (en) 2008-03-18 2016-12-06 Elliptic Laboratories As Object and movement detection
GB0810179D0 (en) 2008-06-04 2008-07-09 Elliptic Laboratories As Object location

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009122193A1 (en) * 2008-04-04 2009-10-08 Elliptic Laboratories As Multi-range object location estimation

Also Published As

Publication number Publication date
JP2013536493A (ja) 2013-09-19
JP2015179524A (ja) 2015-10-08
CN103038725A (zh) 2013-04-10
EP2588939A2 (en) 2013-05-08
KR20130033426A (ko) 2013-04-03
US8907929B2 (en) 2014-12-09
CN103038725B (zh) 2016-06-08
EP2588939B1 (en) 2018-12-12
WO2012006189A3 (en) 2012-05-31
US20120001875A1 (en) 2012-01-05
WO2012006189A2 (en) 2012-01-12
JP6030184B2 (ja) 2016-11-24

Similar Documents

Publication Publication Date Title
KR101520554B1 (ko) 연속파 초음파 신호들을 이용한 무접촉식 감지 및 제스쳐 인식
Mao et al. Rnn-based room scale hand motion tracking
Yun et al. Strata: Fine-grained acoustic-based device-free tracking
Li et al. FM-track: pushing the limits of contactless multi-target tracking using acoustic signals
Li et al. Deep AI enabled ubiquitous wireless sensing: A survey
Wang et al. UWHear: Through-wall extraction and separation of audio vibrations using wireless signals
Pradhan et al. Smartphone-based acoustic indoor space mapping
Cai et al. Ubiquitous acoustic sensing on commodity iot devices: A survey
JP5710792B2 (ja) 可聴音と超音波とを用いたソース特定のためのシステム、方法、装置、およびコンピュータ可読媒体
CN105718064A (zh) 基于超声波的手势识别系统与方法
Bai et al. Acoustic-based sensing and applications: A survey
Mao et al. DeepRange: Acoustic ranging via deep learning
Wang et al. {MAVL}: Multiresolution analysis of voice localization
CN105487725B (zh) 电子设备及其控制方法
Pittman et al. Multiwave: Doppler effect based gesture recognition in multiple dimensions
Li et al. Room-scale hand gesture recognition using smart speakers
Jiang et al. Detection of underwater acoustic target using beamforming and neural network in shallow water
Shih et al. Can a phone hear the shape of a room?
Kong et al. Gesture recognition system based on ultrasonic FMCW and ConvLSTM model
Ai et al. DuG: Dual speaker-based acoustic gesture recognition for humanoid robot control
Chen et al. VoiceMap: Autonomous Mapping of Microphone Array for Voice Localization
CN109871122B (zh) 一种智能电子设备的水下操控系统及其操控方法
Zhu et al. Fine-grained multi-user device-free gesture tracking on today’s smart speakers
Hao et al. UltrasonicG: Highly Robust Gesture Recognition on Ultrasonic Devices
Bai et al. WhisperWand: Simultaneous Voice and Gesture Tracking Interface

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee