KR102203810B1 - 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법 - Google Patents

사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법 Download PDF

Info

Publication number
KR102203810B1
KR102203810B1 KR1020130117197A KR20130117197A KR102203810B1 KR 102203810 B1 KR102203810 B1 KR 102203810B1 KR 1020130117197 A KR1020130117197 A KR 1020130117197A KR 20130117197 A KR20130117197 A KR 20130117197A KR 102203810 B1 KR102203810 B1 KR 102203810B1
Authority
KR
South Korea
Prior art keywords
event
class
classes
representative value
events
Prior art date
Application number
KR1020130117197A
Other languages
English (en)
Other versions
KR20150038877A (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 삼성전자주식회사
Priority to KR1020130117197A priority Critical patent/KR102203810B1/ko
Priority to US14/302,785 priority patent/US10310615B2/en
Priority to CN201910303747.7A priority patent/CN110045829B/zh
Priority to CN201410361004.2A priority patent/CN104516499B/zh
Priority to EP14181934.2A priority patent/EP2857951B1/en
Publication of KR20150038877A publication Critical patent/KR20150038877A/ko
Priority to US16/429,422 priority patent/US10838508B2/en
Application granted granted Critical
Publication of KR102203810B1 publication Critical patent/KR102203810B1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치가 개시된다. 일 실시예에 따른 유저 인터페이싱 장치는 이벤트를 분류하고, 이벤트가 분류된 클래스를 갱신하며, 이벤트에 대응되는 사용자 입력을 처리한다.

Description

사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법{USER INTERFACING APPARATUS AND METHOD USING AN EVENT CORRESPONDING A USER INPUT}
아래 실시예들은 유저 인터페이싱 장치 및 방법에 관한 것으로, 사용자 입력을 처리하는 기술에 관한 것이다.
인간과 컴퓨터 사이의 상호 작용(Human-computer interaction, HCI)은 유저 인터페이스에서 발현되어 작동한다. 유저 인터페이스는 하드웨어 또는 소프트웨어를 통하여 구현될 수 있다.
일 측에 따른 유저 인터페이싱 장치는 이벤트를 적어도 두 개의 클래스들 중 어느 하나로 분류하는 분류부; 상기 이벤트에 기초하여 상기 이벤트가 분류된 클래스의 정보를 갱신하는 갱신부; 및 상기 갱신된 클래스의 정보에 기초하여, 상기 이벤트에 대응되는 사용자 입력을 처리하는 처리부를 포함한다.
이 때, 상기 분류부는 상기 적어도 두 개의 클래스들을 대표하는 대표 값들에 기초하여, 상기 이벤트를 상기 적어도 두 개의 클래스들 중 어느 하나로 분류할 수 있다.
또한, 상기 갱신되는 정보는 상기 이벤트가 분류된 클래스를 대표하는 대표 값을 포함할 수 있다.
또한, 상기 적어도 두 개의 클래스들은 상기 사용자 입력을 위한 적어도 두 개의 오브젝트들에 대응될 수 있다. 여기서, 상기 처리부는 상기 사용자 입력을 처리하기 위하여, 상기 적어도 두 개의 오브젝트들을 트래킹할 수 있다.
다른 일 측에 따른 유저 인터페이싱 방법은 이벤트의 타임 스탬프 및 상기 이벤트의 식별 인덱스를 포함하는 신호를 수신하는 단계; 상기 식별 인덱스에 기초하여 미리 정해진 복수의 클래스들 중 어느 하나의 클래스를 선택하는 단계; 상기 식별 인덱스에 기초하여 상기 선택된 클래스의 대표 값을 갱신하는 단계; 상기 타임 스탬프 및 상기 선택된 클래스에 기초하여, 적어도 이벤트 맵에 포함된 복수의 원소들 중 상기 식별 인덱스에 대응되는 원소의 값을 갱신하는 단계; 및 상기 복수의 클래스들의 대표 값들 및 상기 이벤트 맵 중 적어도 하나에 기초하여, 상기 이벤트에 대응되는 사용자 입력을 처리하는 단계를 포함한다.
또 다른 일 측에 따른 인터페이싱 방법은 복수의 오브젝트들에 해당하는 이벤트들을 입력받는 단계; 상기 이벤트들 각각을 상기 복수의 오브젝트들에 대응하는 클래스들 중 어느 하나로 분류하는 단계; 분류된 이벤트들에 기초하여 상기 클래스들의 정보를 갱신하는 단계; 및 갱신된 클래스들의 정보를 기초로 사용자 입력을 처리하는 단계를 포함한다.
도 1은 일 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도.
도 2는 다른 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도.
도 3은 일 실시예에 따른 이벤트를 분류하고, 클래스 정보를 갱신하는 동작을 설명하기 위한 도면.
도 4는 일 실시예에 따른 타임 스탬프를 설명하기 위한 도면.
도 5는 일 실시예에 따른 처리부를 나타낸 블록도.
도 6은 일 실시예에 따른 광류 계산부의 동작을 설명하기 위한 도면.
도 7은 일 실시예에 따른 속도 성분들을 설명하기 위한 도면.
도 8은 일 실시예에 따른 광류 중심을 계산하는 동작을 설명하기 위한 도면.
도 9는 일 실시예에 따른 Z축 속도 및 각속도를 계산하는 동작을 설명하기 위한 도면.
도 10은 일 실시예에 따른 유저 인터페이싱 방법을 나타낸 동작 흐름도.
도 11a 및 도 11b는 일 실시예에 따른 이벤트 맵을 설명하기 위한 도면.
도 12는 일 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도.
도 13은 일 실시예에 따른 오브젝트 트래킹 동작을 설명하기 위한 도면.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도이다. 도 1을 참조하여 유저 인터페이싱 장치를 설명하기에 앞서, 일 실시예에 따른 이벤트를 설명한다. 이벤트는 사용자의 입력에 대응되며, 명암이 변하는 이벤트, 소리가 변하는 이벤트, 터치가 변하는 이벤트 등을 포함할 수 있다. 이벤트는 다양한 이벤트 기반 센서로 감지되고 출력될 수 있다. 예를 들어, 이벤트는 오브젝트를 촬영하는 이벤트 기반 비전 센서로 감지되고 출력될 수 있다.
이벤트 기반 비전 센서는 입사되는 빛의 명암 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 기반 비전 센서는 특정 픽셀에서 빛이 밝아지는 이벤트를 감지하는 경우, 해당 픽셀에 대응하는 ON 이벤트를 출력할 수 있다. 또한, 이벤트 기반 비전 센서는 특정 픽셀에서 빛이 어두워지는 이벤트를 감지하는 경우, 해당 픽셀에 대응하는 OFF 이벤트를 출력할 수 있다.
이벤트 기반 비전 센서는 프레임 기반 비전 센서와 달리 각 픽셀의 포토 다이오드의 출력을 프레임 단위로 스캔하지 않고, 빛의 변화가 있는 부분의 픽셀 데이터만을 출력할 수 있다. 비전 센서로 입사되는 빛의 명암 변화는 오브젝트의 움직임에 기인할 수 있다. 예를 들어, 시간의 흐름에 따라 광원이 실질적으로 고정되어 있고 오브젝트는 스스로 발광하지 않는 경우, 비전 센서로 입사되는 빛은 광원에서 발생되어 오브젝트에 의해 반사된 빛이다. 오브젝트가 움직이지 않는 경우, 움직임이 없는 상태의 오브젝트에 의해 반사되는 빛은 실질적으로 변하지 않으므로, 이벤트 기반 비전 센서에 입사되는 빛의 명암 변화도 발생되지 않는다. 반면, 오브젝트가 움직이는 경우, 움직이는 오브젝트에 의해 반사되는 빛은 오브젝트의 움직임에 따라 변하므로, 비전 센서에 입사되는 빛의 명암 변화가 발생될 수 있다.
오브젝트의 움직임에 반응하여 출력되는 이벤트 신호는 시간 비동기적으로 생성된 정보로 인간의 망막으로부터 뇌로 전달되는 시신경 신호와 유사한 정보일 수 있다. 예를 들어, 이벤트 신호는 정지된 사물에 대하여는 발생되지 않고, 움직이는 사물이 감지되는 경우에 한하여 발생될 수 있다.
이벤트 기반 비전 센서와 달리, 이벤트 기반 청각 센서는 소리의 변화를 감지하여 이벤트로 출력할 수 있다. 이벤트 기반 청각 센서는 수신되는 소리의 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 기반 청각 센서는 특정 주파수 대역에서 소리가 커지는 이벤트를 감지하는 경우, 해당 주파수 대역에 대응하는 ON 이벤트를 출력할 수 있다. 또한, 이벤트 기반 청각 센서는 특정 주파수 대역에서 소리가 작아지는 이벤트를 감지하는 경우, 해당 주파수 대역에 대응하는 OFF 이벤트를 출력할 수 있다.
또 다른 예로, 이벤트 기반 터치 센서는 터치의 변화를 감지하여 이벤트로 출력할 수 있다. 이벤트 기반 터치 센서는 인가되는 터치의 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 기반 터치 센서는 특정 위치에서 터치 입력 이벤트를 감지하는 경우, 해당 위치에 대응하는 ON 이벤트를 출력할 수 있다. 또한, 이벤트 기반 터치 센서는 특정 위치에서 터치 해제 이벤트를 감지하는 경우, 해당 위치에 대응하는 OFF 이벤트를 출력할 수 있다.
도 1을 참조하면, 일 실시예에 따른 유저 인터페이싱 장치(100)는 분류부(110), 갱신부(120) 및 처리부(130)를 포함한다.
분류부(110)는 이벤트를 복수의 클래스들 중 어느 하나로 분류할 수 있다. 복수의 클래스들은 미리 정해질 수 있다. 분류부(110)는 이벤트와 가장 유사한 클래스를 검출하고, 해당 이벤트를 검출된 클래스로 분류할 수 있다.
복수의 클래스들은 동일한 유형의 클래스들을 포함할 수 있다. 예를 들어, 복수의 클래스들은 사용자의 왼손에 대응되는 제1 클래스 및 사용자의 오른손에 대응되는 제2 클래스를 포함할 수 있다. 분류부(110)는 새로운 이벤트를 수신하면, 수신된 이벤트가 제1 클래스 및 제2 클래스 중 어느 클래스에 해당하는지 여부를 판단할 수 있다.
이벤트는 이벤트 값으로 표현될 수 있다. 예를 들어, 명암이 변하는 이벤트인 경우, 해당 이벤트는 명암이 변한 픽셀을 지시하는 이벤트 값으로 표현될 수 있다. 유사하게, 소리가 변하는 이벤트인 경우, 해당 이벤트는 소리가 변한 주파수 대역을 지시하는 이벤트 값으로 표현될 수 있다. 또한, 터치가 변하는 이벤트인 경우, 해당 이벤트는 터치가 변한 위치를 지시하는 이벤트 값으로 표현될 수 있다.
복수의 클래스들 각각은 해당 클래스를 대표하는 대표 값을 포함한다. 각각의 클래스는 사전에 분류된 복수의 이벤트들을 포함할 수 있고, 각각의 클래스를 대표하는 대표 값은 해당 클래스로 분류된 이벤트들의 이벤트 값들에 기초하여 계산될 수 있다. 예를 들어, 사용자의 왼손과 오른손 각각을 제1 클래스 및 제2 클래스로 정하고 명암이 변하는 이벤트인 경우, 제1 클래스 및 제2 클래스 각각의 대표 값은 명암이 변한 픽셀을 지시하는 이벤트 값을 기초로 계산될 수 있다.
분류부(110)는 이벤트 값과 클래스의 대표 값들을 비교함으로써 수신된 이벤트와 각각의 클래스들 사이의 유사도를 계산할 수 있다. 분류부(110)는 유사도에 기초하여 수신된 이벤트가 제1 클래스 및 제2 클래스 중 어느 클래스에 해당하는지 여부를 판단할 수 있다. 분류부(110)는 제1 클래스 및 제2 클래스 중 유사도가 더 높은 클래스를 선택하여, 수신된 이벤트를 해당 클래스로 분류할 수 있다.
경우에 따라, 복수의 클래스들은 상이한 유형의 클래스들을 포함할 수 있다. 예를 들어, 복수의 클래스들은 전술한 제1 클래스 및 제2 클래스 이외에 소리가 변하는 이벤트를 위한 제3 클래스를 더 포함할 수 있다. 이러한 경우, 분류부(110)는 수신된 이벤트의 유형을 이용하여 해당 이벤트를 분류할 수 있다. 예를 들어, 소리가 변하는 이벤트를 수신하는 경우, 분류부(110)는 수신된 이벤트가 제3 클래스와 가장 유사하다고 판단하고 해당 이벤트를 제3 클래스로 분류할 수 있다.
분류부(110)에 의해 이벤트가 분류되면, 갱신부(120)는 이벤트가 분류된 클래스 정보를 갱신할 수 있다. 클래스 정보는 클래스에 포함되는 픽셀, 이벤트, 또는 클래스의 대표 값을 포함할 수 있다. 갱신부(120)는 다양한 방식을 통해 클래스 정보를 갱신할 수 있다. 예를 들어, 갱신부(120)는 해당 클래스로 새로 분류된 이벤트를 기존에 해당 클래스로 분류되었던 이벤트에 추가할 수 있고 모든 이벤트를 이용하여, 해당 클래스를 대표하는 대표 값을 새로 계산할 수 있다. 또 다른 예로, 클래스의 기존 대표 값과 새로 분류된 이벤트의 이벤트 값을 사용하여 클래스의 대표 값을 갱신할 수 있다. 예를 들어, 갱신부(120)는 수학식 1을 이용할 수 있다
Figure 112013089071890-pat00001
여기서,
Figure 112013089071890-pat00002
는 i번째 클래스의 대표 값이고,
Figure 112013089071890-pat00003
는 이벤트에 대응되는 이벤트 값이며,
Figure 112013089071890-pat00004
는 이벤트의 가중치(weight)이다. i번째 클래스가 이벤트와 가장 유사한 경우, 갱신부(120)는 수학식 1의 첫 번째 수식을 이용하여 i번째 클래스의 대표 값을 갱신할 수 있다. 그 외 클래스들의 경우, 갱신부(120)는 수학식 1의 두 번째 수식을 이용하여 그 외 클래스들의 기존 대표 값들을 유지할 수 있다.
처리부(130)는 갱신된 클래스 정보에 기초하여, 이벤트에 대응되는 사용자 입력을 처리할 수 있다. 예를 들어, 처리부(130)는 갱신된 클래스 정보에 기초하여, 복수의 클래스들 각각에 대응되는 오브젝트를 트래킹(tracking)하거나 상대적 위치를 획득할 수 있다. 트래킹되거나 상대적 위치가 획득되는 오브젝트들은 단일 사용자의 양 손일 수 있고, 또는 복수 사용자들에 의한 복수의 입력 수단들일 수 있다. 처리부(130)는 트래킹되는 오브젝트들을 컨텍스트(context)에 맞게 분석함으로써, 사용자 입력을 처리할 수 있다. 일 예로, 처리부(130)는 오브젝트의 상대적 위치가 감소하면 화면을 축소하거나 줌 아웃(zoom out)할 수 있고, 반대로 상대적 위치가 증가하면 화면을 확대하거나 줌 인(zoom in)할 수 있다. 또는, 처리부(130)는 사용자 입력이 분석된 결과를 포함하는 신호를 출력할 수 있다. 처리부(130)에 의해 출력되는 신호는 복수의 클래스들에 대응되는 오브젝트들의 트래킹 정보 또는 상대적 위치 정보 등을 포함할 수 있다. 처리부(130)에 의해 출력되는 신호는 각종 유무선 통신이나 클라우드 환경(cloud environment) 등을 통해 외부 기기로 전달될 수 있다.
일 실시예에 따른 유저 인터페이싱 장치는 이벤트 정보를 두 개 이상의 클래스들로 실시간으로 분류하는 기술을 제공할 수 있다. 이러한 실시간 정보 분류 기술은 정보 처리 기술, HCI(Human Computer Interaction) 기술 및 이미지 처리 기술 등에 활용될 수 있다. 또한, 일 실시예에 따른 유저 인터페이싱 장치는 이벤트 하나당 몇 번의 사칙 연산 및 비교 연산만으로 분류하는 기술을 제공하여 빠른 속도, 적은 전력 소모, 및 용이한 디지털/아날로그 로직 구성을 가능하게 한다. 이러한 유저 인터페이싱 장치는 고속으로 전송되는 이벤트 기반 통신 기술과 접목될 수 있다.
도 2는 다른 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도이다. 도 2를 참조하면, 일 실시예에 따른 유저 인터페이싱 장치(200)는 분류부(220), 갱신부(230) 및 처리부(240)를 포함한다. 분류부(220), 갱신부(230) 및 처리부(240)에는 도 1을 통하여 기술한 사항들이 그대로 적용될 수 있다. 유저 인터페이싱 장치(200)는 이벤트 기반 센서(210)를 더 포함할 수 있다. 이벤트 기반 센서(210)는 인간의 신경의 동작원리를 이용한 센서로, 이벤트 기반 비전 센서, 이벤트 기반 청각 센서 및 이벤트 기반 터치 센서 등을 포함할 수 있다. 이벤트 기반 비전 센서는 입사되는 빛의 명암 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력하고, 이벤트 기반 청각 센서는 수신되는 소리의 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력하며, 이벤트 기반 터치 센서는 인가되는 터치의 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력할 수 있다.
분류부(220)는 비교부(221) 및 검출부(222)를 포함할 수 있다. 비교부(221)는 이벤트와 복수의 클래스들의 정보를 비교할 수 있다. 예를 들어, 비교부(221)는 이벤트 신호에 포함된 이벤트 값과 복수의 클래스들의 대표 값들을 비교할 수 있다. 검출부(222)는 비교부(221)의 비교 결과에 기초하여 이벤트와 가장 유사한 클래스를 검출할 수 있다. 예를 들어, 검출부(222)는 이벤트 값과 가장 유사한 대표 값을 가지는 클래스를 검출할 수 있다.
분류부(220)가 명암이 변하는 이벤트를 수신하는 경우, 이벤트 값은 해당 이벤트가 감지된 픽셀 인덱스 및 해당 이벤트가 감지된 타임 스탬프를 포함할 수 있다. 픽셀 인덱스는 특정 픽셀을 식별하는 정보로, 픽셀의 위치 정보 또는 픽셀의 좌표 정보 등을 포함할 수 있다. 복수의 클래스들 또한 각각 중심 좌표를 대표 값으로 포함할 수 있다. 비교부(221)는 픽셀 인덱스를 복수의 클래스들의 중심 좌표들과 비교하고, 검출부(222)는 픽셀 인덱스와 가장 유사한 중심 좌표를 가지는 클래스를 검출할 수 있다.
픽셀 인덱스와 대표 값의 유사도는 다양한 방식으로 결정될 수 있다. 예를 들어, 픽셀 인덱스와 대표 값 사이의 거리에 따라 유사도가 결정될 수 있다. 픽셀 인덱스와 대표 값 사이의 거리가 가까운 경우 유사도가 크게 결정되고, 픽셀 인덱스와 대표 값 사이의 거리가 먼 경우 유사도가 작게 결정될 수 있다. 픽셀 인덱스와 대표 값 사이의 거리는 L2-Norm을 이용하여 계산될 수 있고, 유사도는 L2-Norm의 역수로 계산될 수 있다. 검출부(222)는 L2-Norm의 역수를 이용하여 픽셀 인덱스와 가장 유사한 대표 값을 가지는 클래스를 검출할 수 있다.
도 3은 일 실시예에 따른 이벤트를 분류하고, 클래스 정보를 갱신하는 동작을 설명하기 위한 도면이다. 도 3을 참조하면, 유저 인터페이싱 장치는 단계 310에서 새로운 이벤트를 수신할 수 있다. 유저 인터페이싱 장치는 수신된 이벤트를 분류하기 위하여, 미리 정해진 복수의 클래스들을 대표하는 대표 값들을 이용할 수 있다. 예를 들어, 유저 인터페이싱 장치는 제1 클래스를 대표하는 제1 대표 값(CP1)과 제2 클래스를 대표하는 제2 대표 값(CP2)을 이용할 수 있다. 제1 대표 값(CP1)과 제2 대표 값(CP2)은 앞서 설명한 예와 같이 각각 제1 클래스와 제2 클래스의 중심 좌표일 수 있다.
유저 인터페이싱 장치는 단계 320에서 이벤트에 대응되는 이벤트 값을 획득할 수 있다. 유저 인터페이싱 장치는 단계 330에서 이벤트 값을 두 개의 클래스들의 대표 값들과 비교할 수 있다.
유저 인터페이싱 장치는 두 개의 클래스들의 대표 값들 중 이벤트 값과 가장 유사한 대표 값을 가지는 클래스를 검출하고, 이벤트를 해당 클래스로 분류할 수 있다. 수신된 이벤트의 이벤트 값은 제2 대표 값(CP2)보다는 제1 대표 값(CP1)에 더 가까우므로, 유저 인터페이싱 장치는 이벤트를 제1 클래스로 분류할 수 있다.
유저 인터페이싱 장치는 단계 340에서 이벤트가 분류된 클래스 정보를 갱신할 수 있다. 예를 들어, 유저 인터페이싱 장치는 이벤트 값을 이용하여 이벤트가 분류된 제1 클래스의 대표 값을 갱신할 수 있다.
이후, 새로운 이벤트가 수신되면 유저 인터페이싱 장치는 갱신된 제1 클래스의 대표 값 및 갱신되지 않은 제2 클래스들의 대표 값을 이용하여 새로운 이벤트가 분류될 클래스를 결정할 수 있다.
이상 편의를 위해 도 3은 두 개의 클래스를 예로 들었으나, 셋 또는 그 이상의 미리 정해진 클래스들의 경우에도 설명된 기술적 내용이 적용될 수 있다.
도 4는 일 실시예에 따른 타임 스탬프를 설명하기 위한 도면이다. 도 4를 참조하면, 일 실시예에 따른 유저 인터페이싱 장치는 이벤트를 수신하면, 해당 이벤트에 기초하여 이벤트 맵(400)을 갱신할 수 있다. 이벤트 맵(400)은 이벤트에 포함될 수 있는 복수의 이벤트 값들에 대응되는 원소들을 포함한다. 각각의 원소들은 해당 원소에 대응되는 이벤트가 가장 최근에 발생된 시간을 나타내는 타임 스탬프를 저장할 수 있다. 예를 들어, (i, j) 위치의 원소(410)에서 이벤트가 가장 최근에 발생된 시간은 Ti ,j이고, (i, j+1) 위치의 원소(420)에서 이벤트가 가장 최근에 발생된 시간은 Ti ,j+1일 수 있다. 또한, 각각의 원소들은 해당 원소에 대응되는 이벤트가 분류된 클래스를 저장할 수 있다.
유저 인터페이싱 장치는 이벤트를 수신하면, 해당 이벤트에 포함된 이벤트 값에 대응되는 원소를 갱신할 수 있다. 유저 인터페이싱 장치는 모든 원소들을 갱신하는 대신, 이벤트에 대응되는 원소만 갱신할 수 있다. 예를 들어, 유저 인터페이싱 장치는 이벤트 맵(400)에 포함된 복수의 원소들 중 수신된 이벤트의 이벤트 값에 대응되는 원소를 검출하고, 검출된 원소의 타임 스탬프를 수신된 이벤트의 타임 스탬프로 갱신할 수 있다. 또한, 유저 인터페이싱 장치는 검출된 원소의 클래스를 수신된 이벤트가 분류된 클래스로 갱신할 수 있다.
유저 인터페이싱 장치는 마이크로 초(㎲) 이하의 단위로 새로운 이벤트가 발생된 시간을 각 원소 별로 저장할 수 있다. 유저 인터페이싱 장치는 시간의 흐름에 따라 발생된 이벤트들의 히스토리를 고려하지 아니하고, 각 원소에서 마지막으로 발생된 이벤트와 관련된 정보만을 이용하여 이미지 프로세싱을 수행할 수 있다. 유저 인터페이싱 장치는 적은 메모리와 적은 연산량을 가지고 이미지 프로세싱을 수행하는 기술을 제공할 수 있다.
도 5는 일 실시예에 따른 처리부를 나타낸 블록도이다. 이하, 설명의 편의를 위하여 처리부가 명암이 변하는 이벤트를 처리하는 경우를 가정한다. 다만, 처리부의 동작은 이러한 실시예에 한정되지 아니한다.
도 5를 참조하면, 처리부(500)는 광류 계산부(510), 속도 성분 계산부(520) 및 인식부(530)를 포함한다. 광류 계산부(510)는 클래스에 대응되는 광류(optical flow)들을 계산할 수 있다. 광류는 명암의 이동과 관련된 정보를 포함하는 속도 벡터들의 집합으로, 예를 들어 특정 클래스로 분류되는 복수의 이벤트들에 대응되는 속도 벡터들의 집합을 포함할 수 있다. 카메라에 대해서 물체를 이동시키면 각 픽셀들의 밝기가 변화하는데, 광류는 이러한 명암의 이동을 2차원 벡터의 형태로 포함할 수 있다.
이벤트 기반 비전 센서의 경우, 도 4의 이벤트 맵(400)에 포함된 복수의 원소들은 이벤트 기반 비전 센서에 포함된 복수의 픽셀들에 대응될 수 있다. 복수의 클래스 각각은 해당 클래스로 분류된 이벤트에 대응되는 원소들을 포함할 수 있다. 각각의 클래스에 포함되는 원소들은 복수의 픽셀들 중 적어도 일부에 대응되며, 각각의 클래스의 광류는 복수의 픽셀들로 구성되는 2차원 평면 상에서 특정 방향과 특정 크기를 가지는 2차원 벡터들의 집합일 수 있다.
광류 계산부(510)는 복수의 클래스들에 대응되는 복수의 부분 광류 계산부들을 포함할 수 있다. 각각의 부분 광류 계산부는 대응되는 클래스의 광류를 계산할 수 있다. 또는, 광류 계산부(510)는 클래스들 간 구분 없이 모든 클래스들에 대하여 일괄적으로 광류를 계산하는 전체 광류 계산부를 포함할 수 있다.
이하, 도 6을 참조하여 부분 광류 계산부 또는 전체 광류 계산부의 동작을 상세히 설명한다. 일 실시예에 따른 광류 계산부는 부분 광류 계산부 또는 전체 광류 계산부를 지칭할 수 있다.
도 6을 참조하면, 광류 계산부(600)는 주변 픽셀 획득부(610), 시간 차이 계산부(620), 거리 차이 계산부(630) 및 광류 계산 수행부(640)을 포함한다. 도 6에 도시된 모듈들 각각은 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 주변 픽셀 획득부(610), 시간 차이 계산부(620), 거리 차이 계산부(630) 및 광류 계산 수행부(640) 각각은 프로세서, 메모리, 하드웨어 가속기(Hardware Accelerator, HWA), FPGA(Field Programmable Gate Array), 또는 이들의 조합 등으로 구현될 수 있다.
주변 픽셀 획득부(610)는 이벤트가 발생된 픽셀을 중심으로 복수의 주변 픽셀들을 획득할 수 있다. 예를 들어, 주변 픽셀 획득부(610)는 이벤트가 발생된 픽셀과 직접적으로 인접한 8개의 주변 픽셀들을 획득할 수 있다. 다른 실시예에 따르면, 주변 픽셀 획득부(610)는 이벤트가 발생된 픽셀과 직접적으로 인접한 8개의 주변 픽셀들뿐만 아니라, 8개의 주변 픽셀들을 둘러싸는 16개의 주변 픽셀들을 더 획득할 수 있다.
시간 차이 계산부(620)는 도 4의 이벤트 맵(400)에 저장된 타임 스탬프 정보를 이용하여 이벤트가 발생된 픽셀과 그 주변 픽셀들 사이의 시간 차이와 관련된 정보를 계산할 수 있다. 예를 들어, 도 4의 픽셀(410)에서 새로운 이벤트가 발생한 경우를 가정하자. 시간 차이 계산부(620)는 픽셀(410)에 저장된 시간 Ti ,j와 주변 픽셀(420)에 저장된 시간 Ti,j+1의 차이를 계산할 수 있다. 이 경우, 픽셀(410)에 저장된 시간 Ti ,j는 새로운 이벤트의 발생에 반응하여 값이 갱신된 상태이므로, Ti ,j - Ti ,j+1은 0보다 크거나 같은 값이 된다(픽셀(420)에서도 동시에 이벤트가 발생된 경우, Ti ,j - Ti ,j+1이 0이 될 수 있다). 시간 차이 계산부(620)는 주변 픽셀 획득부(610)에 의해 획득된 복수의 주변 픽셀들 각각에서 전술한 시간 차이를 계산할 수 있다. 나아가, 시간 차이 계산부(620)는 계산된 시간 차이가 미리 정해진 윈도우 범위(예를 들어, 0.1초) 밖인 경우, 시간 차이를 무의미한 정보로 취급하여 계산된 시간 차이 대신 0을 출력할 수 있다.
또한, 거리 차이 계산부(630)는 이벤트가 발생된 적어도 하나의 픽셀과 그 주변 픽셀들 사이의 거리 차이와 관련된 정보를 계산할 수 있다. 보다 구체적으로, 거리 차이 계산부(630)는 새로운 이벤트가 발생된 픽셀과 그 주변 픽셀들 사이의 픽셀 거리의 역수를 계산할 수 있다. 여기서, 픽셀 거리는 복수의 이미지 픽셀들 사이의 일반화된 거리(normalized distance)를 포함할 수 있다. 예를 들어, 도 4의 픽셀(410)과 픽셀(420) 사이의 픽셀 거리는 1일 수 있다. 거리 차이 계산부(630)는 주변 픽셀 획득부(610)에 의해 획득된 복수의 주변 픽셀들 각각에서 픽셀 거리의 역수를 계산할 수 있다.
광류 계산 수행부(640)는 시간 차이 계산부(620)에 의해 계산된 시간 차이와 관련된 정보와 거리 차이 계산부(630)에 의해 계산된 거리 차이와 관련된 정보를 기초로 광류를 계산할 수 있다. 보다 구체적으로, 광류 계산 수행부(640)는 시간 차이와 관련된 정보와 거리 차이와 관련된 정보를 이용하여 이벤트가 발생된 픽셀에 대응되는 2차원 벡터 A를 계산하고, 2차원 벡터 A를 2차원 벡터 A의 내적 값으로 나누는 연산을 수행할 수 있다.
예를 들어, 광류 계산 수행부(640)는 이벤트가 발생된 픽셀의 주변 픽셀들 각각에 대응되는 시간 차이와 관련된 정보와 거리 차이의 역수를 곱할 수 있다. 광류 계산 수행부(640)는 주변 픽셀들에 각각 대응되는 곱셈 결과들을 합하여 2차원 벡터 A를 계산할 수 있다. 광류 계산 수행부(640)는 수학식 2를 이용하여 2차원 벡터 A를 계산할 수 있다.
Figure 112013089071890-pat00005
여기서, Δt는 시간 차이와 관련된 정보이고, 2차원 벡터 d는 거리 차이와 관련된 정보이다. 2차원 벡터 A의 단위는 "시간/거리"일 수 있다. 광류 계산 수행부(640)는 2차원 벡터 A를 2차원 벡터 A 자신을 내적한 값으로 나눔으로써 광류에 포함되는 속도 벡터 V를 계산할 수 있다. 여기서, 속도 벡터 V의 단위는 "거리/시간"일 수 있다. 광류 계산 수행부(640)는 이벤트가 발생된 픽셀들 각각에서 속도 벡터 V를 계산함으로써, 픽셀들 각각의 속도 벡터를 포함하는 광류를 생성할 수 있다.
광류 계산부(600)는 광류에 포함되는 각 픽셀의 속도 벡터에 노이즈로 작용될 수 있는 요소를 제거할 수 있다. 전술한 바와 같이, 시간 차이 계산부(620)는 이벤트가 발생된 픽셀과 그 주변 픽셀 사이의 시간 차이가 미리 정해진 윈도우 범위 밖인 경우 0을 출력할 수 있다. 만약, 이벤트가 발생된 픽셀과 그 주변 픽셀들 모두와의 시간 차이들이 미리 정해진 윈도우 범위 밖인 경우, 광류 계산 수행부(640)에서 계산되는 2차원 벡터 A는 0일 수 있다. 이 경우, 광류 계산 수행부(640)는 속도 벡터 V의 값으로 계산되는 무한대 대신 0을 출력할 수 있다.
다시 도 5를 참조하면, 속도 성분 계산부(520)는 광류에 기초하여, 클래스 정보가 갱신된 클래스의 속도 성분들을 계산할 수 있다. 이하, 도 7을 참조하여, 속도 성분 계산부(520)의 동작을 상세히 설명한다.
도 7을 참조하면, 속도 성분들은 센서(711)가 위치된 센서 평면(710)과 평행한 평면(720)에서 물체가 x축 방향(722)으로 움직이는 제1 속도 성분(Vx), y축 방향(721)으로 움직이는 제2 속도 성분(Vy), 평면(720)과 수직한 방향(723)으로 움직이는 제3 속도 성분(Vz) 또는 평면(720)에서 물체가 반시계 방향(724)으로 회전하는 제4 속도 성분(w)을 포함할 수 있다.
속도 성분 계산부(520)는 평면 속도 연산부, 광류 중심 연산부, Z축 속도 연산부 및 각속도 연산부를 포함할 수 있다. 평면 속도 연산부는 광류를 기초로 제1 속도 성분(Vx)와 제2 속도 성분(Vy)를 연산할 수 있다. 보다 구체적으로, 평면 속도 연산부는 제1 속도 성분(Vx)와 제2 속도 성분(Vy)를 연산하기 위하여 광류의 평균을 연산할 수 있다.
전술한 바와 같이, 광류는 이벤트가 발생된 픽셀의 속도 벡터를 포함할 수 있다. 평면 속도 연산부는 픽셀의 속도 벡터 모두의 벡터 합을 계산함으로써, 광류의 평균을 연산할 수 있다. 픽셀의 속도 벡터 각각은 2차원 벡터이므로, 광류의 평균 또한 2차원 벡터일 수 있다. 평면 속도 연산부는 계산된 광류의 평균에서 x축 성분과 y축 성분을 분리함으로써, 제1 속도 성분(Vx)와 제2 속도 성분(Vy)를 연산할 수 있다.
광류 중심 연산부는 광류를 기초로 광류의 중심을 연산할 수 있다. 보다 구체적으로 광류 중심 연산부는 광류의 중심을 연산하기 위하여 이벤트가 발생된 픽셀의 위치와 광류에 포함되는 해당 픽셀의 속도 벡터의 크기를 이용하여 무게 중심 연산을 수행할 수 있다.
예를 들어, 도 8을 참조하면, 이벤트가 발생된 픽셀들이 픽셀(810), 픽셀(820), 픽셀(830) 및 픽셀(840)인 경우, 광류 생성부에 의해 생성된 광류는 픽셀(810), 픽셀(820), 픽셀(830) 및 픽셀(840) 각각에 대응되는 속도 벡터 V1(815), 속도 벡터 V2(825), 속도 벡터 V3(835) 및 속도 벡터 V4(845)를 포함할 수 있다. 광류 중심 연산부는 픽셀(810), 픽셀(820), 픽셀(830) 및 픽셀(840) 각각의 위치(x축 픽셀 좌표와 y축 픽셀 좌표)와 속도 벡터 V1(815), 속도 벡터 V2(825), 속도 벡터 V3(835) 및 속도 벡터 V4(845) 각각의 크기(x축 방향 크기와 y축 방향 크기)를 수학식 3에 대입하여, 광류의 중심 c(850)를 연산할 수 있다.
Figure 112013089071890-pat00006
Z축 속도 연산부는 광류와 광류의 중심을 기초로 제3 속도 성분(Vz)를 연산할 수 있다. 보다 구체적으로, Z축 속도 연산부는 이벤트가 발생된 픽셀의 위치와 광류의 중심을 이용하여 해당하는 픽셀에 대응되는 상대위치 벡터를 생성할 수 있다. 나아가, Z축 속도 연산부는 광류에 포함되는 해당 픽셀의 속도 벡터와 상대위치 벡터를 이용하여 내적 연산을 수행함으로써, 제3 속도 성분(Vz)를 연산할 수 있다.
예를 들어, 도 9을 참조하면, 광류 중심 연산부에 의해 연산된 광류의 중심이 c(910)이고, 이벤트가 발생된 픽셀들 중 i번째 픽셀이 픽셀(920)일 수 있다. Z축 속도 연산부는 c(910)의 위치와 픽셀(920)의 위치를 이용하여 상대위치 벡터(915)를 생성할 수 있다. 나아가, Z축 속도 연산부는 상대위치 벡터(915)와 i번째 픽셀의 속도 벡터(925)를 수학식 4에 대입하여, 제3 속도 성분(Vz)를 연산할 수 있다.
Figure 112013089071890-pat00007
도 7를 참조하면, 물체가 센서(711)에 가까워 지는 방향(723)으로 이동 중인 경우, Z축 속도 연산부에 의해 연산된 Vz는 양(+)의 값을 가질 수 있다. 반대로, 물체가 센서(711)에 멀어지는 방향으로 이동 중인 경우, Vz는 음(-)의 값을 가질 수 있다.
각속도 연산부는 광류와 광류의 중심을 기초로 제4 속도 성분(w)를 연산할 수 있다. 보다 구체적으로, 각속도 연산부는 이벤트가 발생된 픽셀의 위치와 광류의 중심을 이용하여 해당하는 픽셀에 대응되는 상대위치 벡터를 생성할 수 있다. 나아가, 각속도 연산부는 광류에 포함되는 해당 픽셀의 속도 벡터와 상대위치 벡터를 이용하여 외적 연산을 수행함으로써, 제4 속도 성분(w)를 연산할 수 있다.
예를 들어, 도 9을 참조하면, 광류 중심 연산부에 의해 연산된 광류의 중심이 c(910)이고, 이벤트가 발생된 픽셀들 중 i번째 픽셀이 픽셀(920)일 수 있다. 각속도 연산부는 c(910)의 위치와 픽셀(920)의 위치를 이용하여 상대위치 벡터(915)를 생성할 수 있다. 나아가, 각속도 연산부는 제1 벡터(915)와 i번째 픽셀의 속도 벡터(925)를 수학식 5에 대입하여, 제4 속도 성분(w)를 연산할 수 있다.
Figure 112013089071890-pat00008
도 7를 참조하면, 물체가 반시계 방향(724)으로 회전 중인 경우, 각속도 연산부에 의해 연산된 w는 양(+)의 값을 가질 수 있다. 반대로, 물체가 시계 방향으로 회전 중인 경우, 각속도 연산부에 의해 연산된 w는 음(-)의 값을 가질 수 있다.
다시 도 5를 참조하면, 인식부(530)는 복수의 속도 성분들을 분석함으로써, 사용자 입력을 인식할 수 있다. 인식부(530)는 다양한 방식으로 복수의 속도 성분들을 분석할 수 있다.
보다 구체적으로, 일 실시예에 따른 인식부(530)는 복수의 클래스들의 속도 정보를 이용하여 사용자 입력을 인식할 수 있다. 예를 들어, 사용자는 두 손으로 자동차 핸들을 잡은 것과 같은 자세에서 두 손을 반 시계 방향으로 회전시키는 동작(이하, "동작 A"라고 한다)을 취할 수 있다. 인식부(530)는 왼손에 대응하는 제1 클래스의 속도 정보와 오른손에 대응하는 제2 클래스의 속도 정보를 조합하여 동작 A를 인식할 수 있다.
다른 실시예에 따른 인식부(530)는 사용자 입력 컨텍스트(context)에 기초하여 복수의 속도 성분들을 분석할 수 있다. 사용자 입력 컨텍스트는 현재 실행 중인 어플리케이션의 종류, 저장된 히스토리 정보, 센서 정보, 및 주변기기 정보 등을 포함할 수 있다. 인식부(530)는 사용자 입력 컨텍스트에 따라 동일한 속도 성분들에 대하여 상이한 사용자 입력 처리를 수행함으로써, 사용자 맞춤형 인터페이싱 기술을 제공할 수 있다. 예를 들어, 인식부(530)는 사용자가 동일한 동작을 취하더라도 어떤 어플리케이션이 실행되고 있는가에 따라 다른 명령으로 인식할 수 있다. 보다 구체적으로, 만약 자동차 게임 어플리케이션이 실행 중이면, 인식부(530)는 동작 A를 사용자 차량의 핸들을 반 시계 방향으로 돌리는 명령으로 인식할 수 있다. 반면, 만약 이미지 편집 어플리케이션이 실행 중이면, 인식부(530)는 동작 A를 편집 중인 이미지를 반 시계 방향으로 회전시키는 명령으로 인식할 수 있다. 또는, 만약 멀티미디어 재생 어플리케이션이 실행 중이면, 인식부(530)는 동작 A를 재생 중인 멀티미디어 컨텐츠를 되감는(rewind) 명령으로 인식할 수 있다.
또 다른 실시예에 따른 인식부(530)는 복수의 속도 성분들에 기초하여 복수의 클래스들 사이의 상대 속도를 분석하고, 분석 결과에 따라 사용자 입력을 인식할 수 있다. 예를 들어, 사용자는 두 손으로 박수를 치는 동작(이하, "동작 B"라고 한다)을 취할 수 있다. 인식부(530)는 왼손에 대응하는 제1 클래스의 대표 값과 오른손에 대응하는 제2 클래스의 대표 값이 서로 가까워지는 방향으로 이동하다가, 서로 멀어지는 방향으로 이동하는 입력 시퀀스를 검출하는 경우, 동작 B를 인식할 수 있다. 설명의 편의 상 두 개의 클래스들을 이용하는 경우를 예로 들었으나, 인식부(530)는 세 개 이상의 클래스들 사이의 상대 속도를 분석함으로써 사용자 입력을 인식할 수 있다. 또는, 인식부(530)는 상대 속도의 상관 관계에 따라 사용자 입력을 인식할 수 있다. 이 경우, 인식부(530)는 세 개 이상의 클래스들 사이의 상대 속도들을 분석함으로써, 사용자 입력을 인식할 수 있다.
또 다른 실시예에 따른 인식부(530)는 클래스들 사이의 상대 속도를 이용하여 오리엔테이션-프리하게 사용자 입력를 인식할 수 있다. 예를 들어, 사용자가 똑바로 앉아서 박수를 치는 경우와 옆으로 누워서 박수를 치는 경우 이벤트 기반 센서에 의해 감지되는 이벤트 신호는 서로 다를 수 있다. 사용자가 똑바로 앉아서 박수를 치는 경우 양 손은 수평 방향으로 움직이고, 사용자가 옆으로 누워서 박수를 치는 경우 양 손은 수직 방향으로 움직이기 때문이다. 인식부(530)는 왼손에 대응하는 제1 클래스의 대표 값과 오른손에 대응하는 제2 클래스의 대표 값이 절대 좌표 상에서 움직이는 방향은 고려하지 않고, 두 대표 값들 사이의 상대 속도만을 이용하여 사용자 입력을 인식할 수 있다. 이 경우, 인식부(530)는 사용자의 자세와 무관하게 박수를 치는 동작을 인식할 수 있다.
또 다른 실시예에 따른 인식부(530)는 사용자 입력 컨텍스트에 기초하여 상대 속도를 분석할 수 있다. 예를 들어, 인식부(530)는 사용자 입력 컨텍스트와 상대 속도를 함께 이용함으로써, 사용자 입력을 인식 할 수 있다. 사용자 입력 컨텍스트를 이용하는 방식과 상대 속도를 이용하는 방식 각각에는 전술한 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
또 다른 실시예에 따르면, 처리부(500)는 복수의 클래스들의 속도 정보를 이용하는 대신 복수의 클래스들 사이의 상대 위치에 따라 사용자 입력을 처리할 수 있다. 처리부(500)는 복수의 클래스들의 대표 값들을 이용하여 복수의 클래스들 사이의 상대 위치를 분석할 수 있다. 처리부(500)는 상대 위치에 따라 사용자 입력을 인식할 수 있다. 예를 들어, 사용자는 두 손으로 양쪽 귀를 감싸는 동작(이하, "동작 C"라고 한다)을 취할 수 있다. 처리부(500)는 왼손에 대응하는 제1 클래스의 중심 좌표, 오른손에 대응하는 제2 클래스의 중심 좌표, 및 머리에 대응하는 제3 클래스의 중심 좌표 사이의 상대 좌표를 분석함으로써, 동작 C를 인식할 수 있다.
여기서, 처리부(500)는 사용자 입력 컨텍스트에 기초하여 인식된 사용자 입력을 처리할 수 있다. 예를 들어, 음악 재생 어플리케이션이 실행 중이면, 처리부(500)는 동작 C를 인식함에 따라 음소거(mute) 기능을 활성화시킬 수 있다.
도 10은 일 실시예에 따른 유저 인터페이싱 방법을 나타낸 동작 흐름도이다. 도 10을 참조하면, 유저 인터페이싱 장치는 단계 1010에서 이벤트의 타임 스탬프 및 이벤트의 식별 인덱스를 포함하는 신호를 수신한다. 예를 들어, 유저 인터페이싱 장치는 이벤트 기반 이미지 센서의 출력을 수신할 수 있다. 이벤트 기반 이미지 센서의 출력은 센싱된 이벤트를 식별하는 식별 인덱스를 포함할 수 있다. 일 실시예에 따른 이벤트는 해당 이벤트의 좌표를 통해 식별될 수 있고, 이 경우 이벤트의 식별 인덱스는 해당 이벤트의 좌표에 대응될 수 있다. 보다 구체적으로, 도 11a를 참조하면, 이벤트 기반 이미지 센서의 센싱 영역은 2차원 매트릭스 형태로 배치된 복수의 원소들로 표현될 수 있다. 2차원 매트릭스 내 복수의 원소들 각각은 고유의 식별 인덱스에 대응될 수 있다. 만약 이벤트 기반 이미지 센서에 의해 원소(1130)의 위치에서 새로운 이벤트가 센싱되는 경우, 이벤트 기반 이미지 센서의 출력에는 원소(1130)의 좌표를 지시하는 식별 인덱스가 포함될 수 있다.
또한, 이벤트 기반 이미지 센서의 출력은 이벤트가 센싱된 시간 정보를 나타내는 타임 스탬프를 포함할 수 있다. 일 실시예에 따른 타임 스탬프는 마이크로 초(?sec) 단위로 이벤트가 센싱된 시간 정보를 나타낼 수 있다.
유저 인터페이싱 장치는 단계 1020에서 식별 인덱스에 기초하여 미리 정해진 복수의 클래스들 중 어느 하나의 클래스를 선택한다. 예를 들어, 유저 인터페이싱 장치는 식별 인덱스와 복수의 클래스들 각각의 대표 값을 비교함으로써, 어느 하나의 클래스를 선택할 수 있다. 앞에서 설명한 바와 같이 식별 인덱스는 해당 이벤트의 좌표를 지시할 수 있다. 또한, 복수의 클래스들 각각의 대표 값은 해당 클래스를 대표하는 대표 값으로 간주될 수 있고, 예를 들어 해당 클래스를 대표하는 좌표를 지시할 수 있다. 이를 테면, 복수의 클래스들 각각의 대표 값은 해당 클래스의 중심 좌표를 지시할 수 있다. 유저 인터페이싱 장치는 식별 인덱스에 의해 지시되는 이벤트의 좌표와 복수의 클래스들 각각의 대표 값에 의해 지시되는 좌표를 비교함으로써, 식별 인덱스에 의해 지시되는 이벤트의 좌표와 가장 가까운 대표 값을 검출할 수 있다. 이 경우, 유저 인터페이싱 장치는 검출된 대표 값을 가지는 클래스를 선택할 수 있다.
보다 구체적으로, 도 11a를 참조하면, 이벤트 맵(1100)은 제1 클래스(1110) 및 제2 클래스(1120)를 포함할 수 있다. 제1 클래스(1110) 및 제2 클래스(1120)는 각각 복수의 원소들을 포함할 수 있다. 제1 클래스(1110)의 대표 값은 제1 클래스(1110)에 포함된 복수의 원소들의 중심에 해당하는 중심 좌표(1115)일 수 있다. 제2 클래스(1120)의 대표 값은 제2 클래스(1120)에 포함된 복수의 원소들의 중심에 해당하는 중심 좌표(1125)일 수 있다. 유저 인터페이싱 장치는 원소(1130)에 대응되는 새로운 이벤트를 수신할 수 있다. 유저 인터페이싱 장치는 원소(1130)의 좌표를 제1 클래스(1110)의 중심 좌표(1115) 및 제2 클래스(1120)의 중심 좌표(1125)와 비교할 수 있다. 비교 결과 원소(1130)의 좌표는 제2 클래스(1120)의 중심 좌표(1125)에 비하여 제1 클래스(1110)의 중심 좌표(1115)에 더 가까우므로, 제1 클래스(1110)가 선택될 수 있다.
유저 인터페이싱 장치는 단계 1030에서 식별 인덱스에 기초하여 선택된 클래스의 대표 값을 갱신한다. 예를 들어, 유저 인터페이싱 장치는 이벤트를 선택된 클래스로 분류할 수 있다. 이 경우, 선택된 이벤트의 대표 값은 새로 포함된 이벤트를 고려하여 갱신될 수 있다. 보다 구체적으로, 도 11b를 참조하면, 유저 인터페이싱 장치는 이벤트에 대응되는 원소(1130)을 제1 클래스(1110)에 포함시킬 수 있다. 이 경우, 원소(1130)이 제1 클래스(1110)에 추가됨으로 인하여, 제1 클래스(1110)의 중심이 변경될 수 있다. 유저 인터페이싱 장치는 원소(1130)이 추가되기 전 중심 좌표(1115)였던 제1 클래스(1110)의 대표 값을 중심 좌표(1116)으로 갱신할 수 있다.
유저 인터페이싱 장치는 단계 1040에서 타임 스탬프 및 선택된 클래스에 기초하여, 이벤트 맵에 포함된 복수의 원소들 중 식별 인덱스에 대응되는 원소의 값을 갱신한다. 예를 들어, 유저 인터페이싱 장치는 식별 인덱스에 대응되는 원소의 타임 스탬프 정보 및 클래스 정보를 갱신할 수 있다. 도 11a를 참조하면, 이벤트 맵(1100)에 포함된 복수의 원소들 각각은 타임 스탬프 정보 및 클래스 정보를 저장할 수 있다. 단일 원소에 저장된 타임 스탬프 정보는 해당 원소에 대응되는 이벤트가 가장 최근에 발생된 시간을 포함할 수 있다. 또한, 단일 원소에 저장된 클래스 정보는 해당 원소가 속하는 클래스를 지시하는 정보를 포함할 수 있다. 유저 인터페이싱 장치는 이벤트의 식별 인덱스에 대응되는 원소(1130)의 값을 갱신할 수 있다. 유저 인터페이싱 장치는 원소(1130)의 타임 스탬프 정보를 해당 이벤트가 발생된 시간으로 갱신하고, 원소(1130)의 클래스 정보를 제1 클래스(1110)를 지시하는 정보로 갱신할 수 있다.
도면에 표시하지 않았으나, 다른 실시예에 따른 유저 인터페이싱 장치는 각각의 클래스에 최근에 발생된 이벤트들에 해당하는 원소들만 포함하도록 이벤트 맵을 갱신할 수 있다. 예를 들어, 유저 인터페이싱 장치는 현재 시각을 기준으로 미리 정해진 시간 구간 이내에 발생된 이벤트들만을 유효한 이벤트로 분류하고, 유효하지 않은 이벤트에 해당하는 원소의 클래스 정보를 리셋할 수 있다. 클래스 정보가 리셋된 원소는 어느 클래스에도 속하지 않을 수 있다.
또는, 유저 인터페이싱 장치는 단일 클래스 내에서 가장 최근에 발생된 이벤트의 타임 스탬프 정보를 기준으로 미리 정해진 시간 구간 이내에 발생된 이벤트들만을 유효한 이벤트로 분류할 수 있다. 예를 들어, 원소(1130)에 대응되는 이벤트가 제1 클래스(1110)로 분류되면, 제1 클래스(1110)에 포함된 복수의 원소들 중 최근 원소들만을 유효한 이벤트로 분류할 수 있다. 이 경우, 유저 인터페이싱 장치는 원소(1130)에 대응되는 이벤트가 발생된 시각을 기준으로 미리 정해진 시간 구간 이내의 원소들만 유효한 이벤트로 분류하고, 나머지 원소들의 클래스 정보를 리셋할 수 있다.
경우에 따라서 유저 인터페이싱 장치는 복수의 클래스들마다 미리 정해진 수 이내의 원소들만을 포함하도록 이벤트 맵을 갱신할 수 있다. 단일 클래스에 새로운 원소가 추가되면, 유저 인터페이싱 장치는 해당 클래스에 미리 정해진 수 이내의 원소들만 포함되도록 가장 오래된 순으로 원소의 클래스 정보를 리셋할 수 있다.
유저 인터페이싱 장치는 단계 1050에서 이벤트 맵에 기초하여, 이벤트에 대응되는 사용자 입력을 처리한다. 유저 인터페이싱 장치는 이벤트 맵에 포함된 복수의 클래스들의 대표 값들을 이용하여 이벤트에 대응되는 사용자 입력이 무엇인지 판단할 수 있다. 이벤트 맵에 사용자의 왼손에 대응되는 클래스 A와 사용자의 오른손에 대응되는 클래스 B가 포함된다고 가정하면, 유저 인터페이싱 장치는 클래스 A의 대표 값과 클래스 B의 대표 값 각각이 갱신되는 양상을 트랙킹할 수 있다. 예를 들어, 클래스 A의 대표 값과 클래스 B의 대표 값이 서로 가까워지는 경우, 유저 인터페이싱 장치는 사용자의 양 손이 서로 가까워지는 모션이 입력되는 것으로 판단할 수 있다. 이 경우, 유저 인터페이싱 장치는 해당 모션에 대응되는 사용자 입력을 처리할 수 있다. 이를 테면, 유저 인터페이싱 장치는 화면 축소 또는 줌 아웃에 대응되는 출력 신호를 생성할 수 있다. 반대로, 클래스 A의 대표 값과 클래스 B의 대표 값이 서로 멀어지는 경우, 유저 인터페이싱 장치는 사용자의 양 손이 서로 멀어지는 모션이 입력되는 것으로 판단할 수 있다. 이 경우, 유저 인터페이싱 장치는 화면 확대 또는 줌 인에 대응되는 출력 신호를 생성할 수 있다.
일 실시예에 따른 유저 인터페이싱 장치는 전술한 방식을 통하여 적은 연산량으로 복수의 클래스들을 빠르고 정확하게 추적하는 기술을 제공할 수 있다.
도 10에 도시된 각 단계들에는 도 1 내지 도 9를 통하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 12는 일 실시예에 따른 유저 인터페이싱 장치를 나타낸 블록도이다. 도 12를 참조하면, 일 실시예에 따른 유저 인터페이싱 장치(1200)는 이벤트를 생성하는 이벤트 생성부(1210), 이벤트와 복수의 클래스들 사이의 유사도를 비교하는 비교부(1220), 복수의 클래스들의 대표 값을 저장하는 복수의 대표값 저장부들(1231, 1232), 가장 유사한 클래스의 아이디를 선택하는 검출부(1240) 및 선택된 클래스의 대표 값을 갱신하는 대표값 갱신부(1250)를 포함할 수 있다. 비교부(1220) 및 검출부(1240)은 각각 도 2의 비교부(221) 및 검출부(222)에 해당할 수 있고, 합쳐서 도 1 및 도 2의 분류부(110, 220)에 해당할 수도 있다.
유저 인터페이싱 장치(1200)는 복수의 클래스들 각각에 대응되는 광류를 생성하는 부분 광류 생성부(1261, 1262), 복수의 클래스들 각각에 대응되는 광류를 이용하여 복수의 속도 성분들을 생성하는 속도 성분 생성부(1271, 1272), 복수의 클래스들의 속도 성분들을 통합하여 상대 속도를 분석하는 상대 속도 통합부(1280)를 더 포함할 수 있다.
유저 인터페이싱 장치(1200)는 사용자 입력 컨텍스트를 생성하는 컨텍스트 생성부(1285)를 더 포함할 수 있다. 유저 인터페이싱 장치(1200)는 상대 속도의 상관 관계, 복수의 클래스들의 대표 값들 등에 기초하여 유저 인터페이스를 제공하는 유저 인터페이스 생성부(1290)를 더 포함할 수 있다.
도 12에 도시된 각 모듈들에는 도 1 내지 도 11을 통하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 13은 일 실시예에 따른 오브젝트 트래킹 동작을 설명하기 위한 도면이다. 도 13을 참조하면, 사용자의 왼손과 오른손 각각에 해당하는 제1 클래스(1350)과 제2 클래스(1370)을 유저 인터페이싱 장치가 매 이벤트마다 트래킹하는 일 예를 나타낸다. 유저 인터페이싱 장치는 분류된 클래스의 아이디 및 해당 클래스의 갱신된 대표 값(예를 들어, 중심 좌표)을 트래킹하여. 시간에 따라 변하는 (1310, 1320, 1330) 사용자의 양 손의 자세, 오리엔테이션, 위치 등을 빠르게 트래킹할 수 있다. 이러한 유저 인터페이싱 장치는 다양한 어플리케이션에 적용될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (26)

  1. 이벤트 데이터를 처리하는 장치에 있어서:
    오브젝트의 움직임에 의한 빛의 세기 변화에 대응하는 이벤트를 감지하고 상기 이벤트의 상기 이벤트 데이터를 생성하도록 구성되는 적어도 하나의 이벤트 기반 센서;
    적어도 두 개의 클래스들의 각 대표값과 상기 이벤트 데이터 사이에서 계산되는 유사도에 기반하여, 상기 이벤트를, 상기 적어도 두 개의 클래스들 중 상기 이벤트 데이터와 가장 유사한 대표값을 갖는 클래스로 분류하고, 상기 이벤트에 대응하는 상기 클래스와 관련된 클래스 정보를 갱신하고, 상기 갱신된 클래스 정보에 기반하여 상기 이벤트에 대응하는 사용자 입력을 판단하도록 구성되는 적어도 하나의 프로세서를 포함하는 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 대표값은 상기 적어도 두 개의 클래스들의 각각에 대한 좌표 또는 위치 관련 정보에 대응하는 장치.
  4. 제 1 항에 있어서,
    상기 이벤트를 분류하기 위해, 상기 적어도 하나의 프로세서는:
    상기 이벤트에 대응하는 이벤트 값을 상기 대표값과 비교하고, 그리고
    상기 적어도 두 개의 클래스들 중, 상기 이벤트 값과 가장 유사한 대표값을 갖는 클래스를 감지하도록 구성되는 장치.
  5. 제 1 항에 있어서,
    상기 갱신된 클래스 정보는 상기 분류된 이벤트의 상기 클래스를 대표하는 대표값을 포함하는 장치.
  6. 제 1 항에 있어서,
    상기 적어도 두 개의 클래스들은 상기 사용자 입력과 관련된 적어도 두 개의 오브젝트들에 대응하는 장치.
  7. 제 1 항에 있어서,
    상기 사용자 입력을 판단하기 위해, 상기 적어도 하나의 프로세서는:
    상기 적어도 두 개의 클래스들에 대응하는 광류들을 계산하고, 그리고
    상기 계산된 광류들에 기반하여 적어도 상기 적어도 두 개의 클래스들에 대응하는 속도 성분들을 계산하도록 구성되는 장치.
  8. 제 7 항에 있어서,
    상기 속도 성분들은:
    이벤트를 감지하기 위한 가상의 평면에서 상기 이벤트를 생성하는 오브젝트가 x축 방향으로 움직이는 제 1 속도 성분;
    상기 가상의 평면에서 상기 오브젝트가 y축 방향으로 움직이는 제 2 속도 성분;
    상기 오브젝트가 상기 가상의 평면과 수직 방향으로 움직이는 제 3 속도 성분; 및
    상기 가상의 평면에서 상기 오브젝트가 회전하는 제4 속도 성분 중 적어도 하나를 포함하는 장치.
  9. 제 7 항에 있어서,
    상기 사용자 입력을 판단하기 위해, 상기 적어도 하나의 프로세서는:
    사용자 입력 컨텍스트에 기반하여 상기 속도 성분들을 분석함으로써 상기 사용자 입력을 인식하도록 구성되는 장치.
  10. 제 7 항에 있어서,
    상기 사용자 입력을 판단하기 위해, 상기 적어도 하나의 프로세서는:
    상기 속도 성분들에 기반하여 상기 분류된 이벤트의 상기 클래스 및 적어도 하나의 나머지 클래스 사이의 상대적인 속도를 분석함으로써 상기 사용자 입력을 인식하도록 구성되는 장치.
  11. 제 1 항에 있어서,
    상기 사용자 입력을 판단하기 위해, 상기 적어도 하나의 프로세서는:
    사용자 입력 컨텍스트에 기반하여 상기 분류된 이벤트의 클래스를 대표하는 대표값 및 적어도 하나의 나머지 클래스를 대표하는 대표값을 분석함으로써 사용자 입력을 인식하도록 구성되는 장치.
  12. 제 1 항에 있어서,
    상기 이벤트는, 상기 이벤트 기반 센서에 의해 생성된 오프-서피스(off-surface) 이벤트에 대응하는 장치.
  13. 이벤트들을 감지하도록 구성된 적어도 하나의 이벤트 기반 비전 센서에 의해 생성된 이벤트 데이터를 처리하기 위한 사용자 인터페이스의 동작 방법에 있어서:
    복수의 오브젝트들의 움직임들에 의한 빛의 세기 변화들에 대응하는 상기 이벤트들의 이벤트 데이터들를 수신하는 단계;
    복수의 클래스들의 각 대표값과 상기 이벤트들의 각 이벤트 데이터 사이에서 계산되는 각 유사도에 기반하여, 상기 이벤트들의 각각을, 상기 복수의 클래스들 중 상기 각 이벤트 데이터와 가장 유사한 대표값을 갖는 클래스로 각각 분류하는 단계;
    상기 이벤트들에 기반하여 상기 복수의 클래스들과 관련된 클래스 정보를 갱신 하는 단계; 그리고
    상기 갱신된 클래스 정보에 기반하여 사용자 입력을 판단하는 단계를 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 분류하는 단계는:
    상기 이벤트들의 각각에 대해, 상기 복수의 클래스들 중 대응하는 이벤트의 값과 가장 유사한 대표값을 갖는 클래스를 감지하는 단계를 포함하는 방법.
  15. 제 13 항에 있어서,
    상기 클래스 정보는 상기 클래스들에 포함된 픽셀들, 상기 클래스에 포함된 이벤트들, 및 메모리에 저장된 상기 클래스들의 대표값들 중 적어도 하나를 포함하는 방법.
  16. 제 13 항에 있어서,
    상기 판단하는 단계는:
    상기 클래스들의 광류를 계산하는 단계;
    상기 계산된 광류들에 기반하여 상기 클래스들의 속도 성분들을 계산하는 단계; 그리고
    상기 클래스들의 상기 속도 성분들에 기반하여 상기 사용자 입력을 처리하기 위한 커맨드를 인식하는 단계를 포함하는 방법.
  17. 오브젝트의 움직임에 의한 빛의 변화에 대응하는 이벤트를 감지하도록 구성되는 이벤트 기반 센서에 의해 생성되는 이벤트 데이터를 처리하기 위한 장치에 있어서:
    상기 이벤트 데이터와, 상기 이벤트 기반 센서에 의해 감지되는 제 1 그룹의 이벤트들에 대응하는 제 1 대표값 사이의 제 1 유사도를 계산하고,
    상기 이벤트 데이터와, 상기 이벤트 기반 센서에 의해 감지되는 제 2 그룹의 이벤트들에 대응하는 제 2 대표값 사이의 제 2 유사도를 계산하고,
    상기 제 1 유사도와 상기 제 2 유사도를 비교하고,
    상기 비교 결과에 기반하여 상기 이벤트를 제 1 그룹의 이벤트들 및 제 2 그룹의 이벤트들 중 어느 하나로 분류하고, 그리고
    상기 분류된 이벤트에 기반하여 상기 제 1 대표값 또는 상기 제 2 대표값을 갱신하도록 구성되는 적어도 하나의 프로세서를 포함하는 장치.
  18. 제 17 항에 있어서,
    상기 이벤트 데이터는 상기 이벤트가 발생하는, 상기 이벤트 기반 센서에 포함된 복수의 픽셀들 중의, 타깃 픽셀의 타깃 좌표를 포함하고,
    상기 제 1 대표값은 상기 제 1 그룹의 이벤트들을 생성하는, 상기 복수의 픽셀들 중 제 1 그룹의 픽셀들의 제 1 중심 좌표이고, 그리고
    상기 제 2 대표값은 상기 제 2 그룹의 이벤트들을 생성하는, 상기 복수의 픽셀들 중 제 2 그룹의 픽셀들의 제 2 중심 좌표인 장치.
  19. 제 18 항에 있어서,
    상기 제 1 유사도는 상기 타깃 좌표와 상기 제 1 중심 좌표 사이의 제 1 거리이고, 상기 제 2 유사도는 상기 타깃 좌표와 상기 제 2 중심 좌표 사이의 제 2 거리인 장치.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 제 2 거리가 상기 제 1 거리보다 클 때, 상기 이벤트를 상기 제 1 그룹의 이벤트들로 분류하고, 그리고
    상기 제 1 거리가 상기 제 2 거리보다 클 때, 상기 이벤트를 상기 제 2 그룹의 이벤트들로 분류하도록 구성되는 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020130117197A 2013-10-01 2013-10-01 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법 KR102203810B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020130117197A KR102203810B1 (ko) 2013-10-01 2013-10-01 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법
US14/302,785 US10310615B2 (en) 2013-10-01 2014-06-12 Apparatus and method of using events for user interface
CN201910303747.7A CN110045829B (zh) 2013-10-01 2014-07-25 利用用户接口的事件的设备和方法
CN201410361004.2A CN104516499B (zh) 2013-10-01 2014-07-25 利用用户接口的事件的设备和方法
EP14181934.2A EP2857951B1 (en) 2013-10-01 2014-08-22 Apparatus and method of using events for user interface
US16/429,422 US10838508B2 (en) 2013-10-01 2019-06-03 Apparatus and method of using events for user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130117197A KR102203810B1 (ko) 2013-10-01 2013-10-01 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150038877A KR20150038877A (ko) 2015-04-09
KR102203810B1 true KR102203810B1 (ko) 2021-01-15

Family

ID=51485447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130117197A KR102203810B1 (ko) 2013-10-01 2013-10-01 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법

Country Status (4)

Country Link
US (2) US10310615B2 (ko)
EP (1) EP2857951B1 (ko)
KR (1) KR102203810B1 (ko)
CN (2) CN110045829B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846677B2 (en) * 2014-09-16 2017-12-19 Qualcomm Incorporated Event-based spatial transformation
KR102307055B1 (ko) * 2015-04-28 2021-10-01 삼성전자주식회사 이벤트 기반 센서의 출력에 기초하여 정적 패턴을 추출하는 방법 및 장치
US10909384B2 (en) * 2015-07-14 2021-02-02 Panasonic Intellectual Property Management Co., Ltd. Monitoring system and monitoring method
EP3120897A1 (en) * 2015-07-22 2017-01-25 Université Pierre et Marie Curie (Paris 6) Method for downsampling a signal outputted by an asynchronous sensor
KR102512828B1 (ko) * 2016-01-22 2023-03-22 삼성전자주식회사 이벤트 신호 처리 방법 및 장치
US10725627B2 (en) * 2016-07-15 2020-07-28 International Business Machines Corporation Managing inputs to a user interface with system latency
US10909140B2 (en) * 2016-09-26 2021-02-02 Splunk Inc. Clustering events based on extraction rules
US10685279B2 (en) 2016-09-26 2020-06-16 Splunk Inc. Automatically generating field extraction recommendations
CN108574793B (zh) * 2017-03-08 2022-05-10 三星电子株式会社 被配置为重新生成时间戳的图像处理设备及包括其在内的电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130229375A1 (en) * 2009-05-05 2013-09-05 Microsoft Corporation Contact Grouping and Gesture Recognition for Surface Computing

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100595924B1 (ko) * 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US20030132950A1 (en) * 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
US7814545B2 (en) 2003-07-22 2010-10-12 Sonicwall, Inc. Message classification using classifiers
US7676754B2 (en) 2004-05-04 2010-03-09 International Business Machines Corporation Method and program product for resolving ambiguities through fading marks in a user interface
US7653249B2 (en) * 2004-11-17 2010-01-26 Eastman Kodak Company Variance-based event clustering for automatically classifying images
US7958147B1 (en) 2005-09-13 2011-06-07 James Luke Turner Method for providing customized and automated security assistance, a document marking regime, and central tracking and control for sensitive or classified documents in electronic format
US7729808B2 (en) 2006-03-10 2010-06-01 Edsa Micro Corporation System for comparing real-time data and modeling engine data to predict arc flash events
US8378974B2 (en) * 2007-07-02 2013-02-19 Elo Touch Solutions, Inc. Method and system for detecting touch events based on magnitude ratios
CN101965558B (zh) 2008-02-29 2014-07-02 三菱电机株式会社 事件历史追踪装置
KR100989081B1 (ko) 2008-08-11 2010-10-25 한국전자통신연구원 네트워크 카메라를 이용한 이벤트 감시 시스템 및 방법
JP5191321B2 (ja) * 2008-09-02 2013-05-08 株式会社ジャパンディスプレイウェスト 情報入力装置、情報入力方法、情報入出力装置および情報入力プログラム
JP5816098B2 (ja) * 2009-02-02 2015-11-18 アイサイト モバイル テクノロジーズ リミテッド ビデオストリームの中のオブジェクト認識および追跡システムおよび方法
KR20100130671A (ko) * 2009-06-04 2010-12-14 삼성전자주식회사 터치 인터페이스에서 선택 영역의 제공 장치 및 그 방법
US20120109901A1 (en) 2009-07-01 2012-05-03 Nec Corporation Content classification apparatus, content classification method, and content classification program
JP5411641B2 (ja) 2009-09-29 2014-02-12 富士フイルム株式会社 画像分類装置、画像分類システム、画像分類方法、プログラム、および記録媒体
US9696856B2 (en) * 2009-09-29 2017-07-04 Elo Touch Solutions, Inc. Method and apparatus for detecting simultaneous touch events on a bending-wave touchscreen
US8600166B2 (en) * 2009-11-06 2013-12-03 Sony Corporation Real time hand tracking, pose classification and interface control
US20110279682A1 (en) 2009-11-12 2011-11-17 Le Li Methods for Target Tracking, Classification and Identification by Using Foveal Sensors
AU2009243442B2 (en) 2009-11-30 2013-06-13 Canon Kabushiki Kaisha Detection of abnormal behaviour in video objects
US8758274B2 (en) 2010-01-08 2014-06-24 Medtronic, Inc. Automated adjustment of posture state definitions for a medical device
KR101158729B1 (ko) 2010-03-31 2012-06-22 한국과학기술원 실시간 다수 객체 추적시스템 및 방법
CN102314297B (zh) * 2010-07-07 2016-04-13 腾讯科技(深圳)有限公司 一种窗口对象惯性移动方法及实现装置
WO2012048380A1 (en) * 2010-10-14 2012-04-19 University Of Technology, Sydney Virtual keyboard
US8953895B2 (en) 2010-11-29 2015-02-10 Panasonic Intellectual Property Corporation Of America Image classification apparatus, image classification method, program, recording medium, integrated circuit, and model creation apparatus
TWI452540B (zh) * 2010-12-09 2014-09-11 Ind Tech Res Inst 影像式之交通參數偵測系統與方法及電腦程式產品
TWI448918B (zh) * 2011-09-09 2014-08-11 Pixart Imaging Inc 光學觸控系統
US20130249793A1 (en) * 2012-03-22 2013-09-26 Ingeonix Corporation Touch free user input recognition
KR102070562B1 (ko) 2012-06-19 2020-01-30 삼성전자주식회사 이벤트 기반 이미지 처리 장치 및 그 장치를 이용한 방법
US20150070320A1 (en) * 2013-09-10 2015-03-12 Qualcomm Mems Technologies, Inc. Photoconductive optical touch

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130229375A1 (en) * 2009-05-05 2013-09-05 Microsoft Corporation Contact Grouping and Gesture Recognition for Surface Computing

Also Published As

Publication number Publication date
US10838508B2 (en) 2020-11-17
US20190310715A1 (en) 2019-10-10
EP2857951A1 (en) 2015-04-08
CN104516499A (zh) 2015-04-15
CN104516499B (zh) 2019-12-31
US10310615B2 (en) 2019-06-04
US20150095818A1 (en) 2015-04-02
CN110045829A (zh) 2019-07-23
CN110045829B (zh) 2021-11-02
EP2857951B1 (en) 2018-08-15
KR20150038877A (ko) 2015-04-09

Similar Documents

Publication Publication Date Title
KR102203810B1 (ko) 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법
US20240289930A1 (en) Deep learning-based real-time detection and correction of compromised sensors in autonomous machines
US10394318B2 (en) Scene analysis for improved eye tracking
US20160171739A1 (en) Augmentation of stop-motion content
KR102433931B1 (ko) 움직임 인식 방법 및 움직임 인식 장치
US10922536B2 (en) Age classification of humans based on image depth and human pose
KR102248404B1 (ko) 움직임 분석 방법 및 움직임 분석 장치
KR20150108888A (ko) 제스처 인식을 위한 부분 및 상태 검출
KR20150067250A (ko) 사용자 인터페이스를 위한 터치리스 입력
WO2021242445A1 (en) Tracking multiple objects in a video stream using occlusion-aware single-object tracking
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
KR20170036747A (ko) 장면 내 키포인트를 추적하기 위한 방법
Min et al. Human fall detection using normalized shape aspect ratio
Fei et al. Flow-pose Net: An effective two-stream network for fall detection
KR102227494B1 (ko) 오브젝트의 움직임을 이용하여 사용자 입력을 처리하는 장치 및 방법
KR101909326B1 (ko) 얼굴 모션 변화에 따른 삼각 매쉬 모델을 활용하는 사용자 인터페이스 제어 방법 및 시스템
Tao Development of Artificial Intelligence in Activity Recognition
KR102159996B1 (ko) 이벤트 필터링 장치 및 이를 이용한 동작 인식 장치
KR101855105B1 (ko) 헤드 마운트 디스플레이에서의 눈의 초점 위치 분석 시스템 및 그 방법
Nabi et al. Human Activity Recognition
Alagarsamy et al. Smart Vision Software Application using Machine Learning
KR20240019030A (ko) 시선 방향을 검출하는 딥러닝 기반의 시선 방향 검출 모델을 학습하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN115857499A (zh) 机器人、机器人的运行控制方法、装置和存储介质
CN113822122A (zh) 具有低空间抖动、低延迟和低功耗的对象和关键点检测系统

Legal Events

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