KR101505206B1 - 사용자 입력 장치, 광학 손가락 네비게이션 방법 및 핸드 헬드 컴퓨팅 시스템 - Google Patents

사용자 입력 장치, 광학 손가락 네비게이션 방법 및 핸드 헬드 컴퓨팅 시스템 Download PDF

Info

Publication number
KR101505206B1
KR101505206B1 KR1020090093341A KR20090093341A KR101505206B1 KR 101505206 B1 KR101505206 B1 KR 101505206B1 KR 1020090093341 A KR1020090093341 A KR 1020090093341A KR 20090093341 A KR20090093341 A KR 20090093341A KR 101505206 B1 KR101505206 B1 KR 101505206B1
Authority
KR
South Korea
Prior art keywords
quadrature component
motion information
quantized
finger
motion
Prior art date
Application number
KR1020090093341A
Other languages
English (en)
Other versions
KR20100037014A (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
Priority to US12/241,773 priority Critical patent/US8212794B2/en
Priority to US12/241,773 priority
Application filed by 아바고 테크놀로지스 제너럴 아이피 (싱가포르) 피티이 리미티드 filed Critical 아바고 테크놀로지스 제너럴 아이피 (싱가포르) 피티이 리미티드
Publication of KR20100037014A publication Critical patent/KR20100037014A/ko
Application granted granted Critical
Publication of KR101505206B1 publication Critical patent/KR101505206B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Abstract

사용자 입력 장치는, 손가락 인터페이스 표면을 포함하는 광학 소자와, 상기 손가락 인터페이스 표면과 광통신하는 광원으로서, 상기 광원으로부터 상기 손가락 인터페이스 표면으로 광을 제공하도록 구성된 상기 광원과, 상기 손가락 인터페이스 표면과 손가락 사이의 접촉에 응답하여, 상기 손가락 인터페이스 표면으로부터 반사된 광을 검출하도록 구성된 센서 어레이와, 상기 센서 어레이에 연결된 네비게이션 엔진으로서, 상기 검출된 광에 응답하여, 상기 센서 어레이에 대한 상기 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성하도록 구성된 상기 네비게이션 엔진-상기 횡방향 움직임 정보는 제 1 직교 성분들 및 제 2 직교 성분들을 포함함-과, 상기 네비게이션 엔진에 연결된 양자화 엔진으로서, 상기 제 1 직교 성분과 상기 제 2 직교 성분을 비교하고, 상기 비교에 응답하여, 상기 제 1 양자화된 직교 성분 및 제 2 양자화된 직교 성분을 생성하도록 구성된 양자화 엔진을 포함한다.

Description

사용자 입력 장치, 광학 손가락 네비게이션 방법 및 핸드 헬드 컴퓨팅 시스템{OPTICAL FINGER NAVIGATION UTILIZING QUANTIZED MOVEMENT INFORMATION}

광학적 손가락 네비게이션 장치(optical finger navigation device)는 사용자의 손가락을 조명하는 광원과, 사용자의 손가락에서 반사되는 광으로부터 디지털 이미지를 생성하는 센서를 사용한다. 연속적인 디지털 이미지는 움직임 정보를 계산하기 위해 서로 비교된다. 통상의 광학 손가락 네비게이션 시스템은 센서 어레이에 대한 손가락의 2차원적인 움직임을 표시하는 2차원 움직임 정보를 출력한다. 그 후, 2차원 움직임 정보는 해당 컴퓨팅 장치의 디스플레이 상의 커서를 움직이는데 사용된다.

광학적 손가락 네비게이션 장치는 디스플레이 상의 커서를 움직이는데 사용될 수 있지만, 개인 컴퓨터, 전화기, 스마트폰, PDA 등의 많은 컴퓨팅 장치의 그래픽 사용자 인터페이스는 커서 움직임 이외의 기능을 필요로 한다. 예컨대, 많은 그래픽 사용자 인터페이스는 스크롤링 기능 또는 4방향 락커(four-way rocker)의 기능을 필요로 한다. 스크롤링 기능은 일반적으로 기계식 스크롤(mechanical scroll) 및/또는 틸트 휠(tilt wheel)을 사용하여 제공되고, 4방향 로커 기능은 일반적으로 4개의 서로 다른 위치의 구동 스위치를 갖는 기계식 4방향 락커를 사용하여 제공된다.

광학적 손가락 네비게이션 장치는 그래픽 사용자 인터페이스 내에서 커서의 2차원 네비게이션을 지원할 수 있지만, 기계식 스크롤 휠 및 4방향 락커에 의해 흔히 제공되는 스크롤링 및 4방향 락커 기능을 지원하기 위한 광학 손가락 네비게이션에 대한 필요성이 존재한다.

실시예에서, 광학적 손가락 네비게이션 장치로부터의 움직임 정보의 성분을 양자화하고, 이 양자화된 움직임 정보는 스크롤링 또는 4방향 락커 기능을 구현하는데 사용된다. 예컨대, 움직임 정보를 양자화하는 것은, 움직임 정보에 의해 표시되는 2차원 움직임이 주로 x방향인지 또는 주로 y방향인지를 판정하고, 그 후, 상기 2차원 움직임 정보를, 주 방향으로 1차원 움직임을 나타내는 움직임 정보로 감소시키는 단계를 포함한다.

일 실시예에서, 사용자 입력 장치는, 손가락 인터페이스 표면을 포함하는 광학 소자와, 손가락 인터페이스 표면과 광통신하는 광원으로서, 광원으로부터 손가락 인터페이스 표면으로 광을 제공하도록 구성된 광원과, 손가락 인터페이스 표면과 손가락 사이의 접촉에 응답하여, 손가락 인터페이스 표면으로부터 반사된 광을 검출하도록 구성된 센서 어레이와, 센서 어레이에 연결된 네비게이션 엔진으로서, 검출된 광에 응답하여, 센서 어레이에 대한 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성하도록 구성된 네비게이션 엔진-횡방향 움직임 정보는 제 1 직교 성분들 및 제 2 직교 성분들을 포함함-과, 네비게이션 엔진에 연결된 양자화 엔진으로서, 제 1 직교 성분과 제 2 직교 성분을 비교하고, 상기 비교에 응답하여, 제 1 양자화된 직교 성분들 및 제 2 양자화된 직교 성분들을 생성하도록 구성된 양자화 엔진을 포함한다.

다른 실시예에서, 광학 손가락 네비게이션 방법은, 광원에서 광을 생성하는 단계와, 광을 손가락 인터페이스 표면으로 향하게 하는 단계와, 손가락 인터페이스 표면에서의 손가락 접촉에 응답하여, 손가락 인터페이스 표면으로부터 센서 어레이를 향해서 반사된 광을 검출하는 단계와, 검출된 광에 응답하여, 센서 어레이에 대한 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성-횡방향 움직임 정보는 제 1 직교 성분들 및 제 2 직교 성분들을 포함함-하는 단계와, 제 1 직교 성분과 제 2 직교 성분을 비교하는 단계와, 비교에 응답하여, 제 1 양자화된 직교 성분들 및 제 2 양자화된 직교 성분들을 생성하는 단계를 포함한다.

본 발명의 실시예의 다른 측면 및 이점은, 첨부 도면을 함께 참조하여, 본 발명의 원리의 예시로서 나타내어지는 이하의 상세한 설명으로부터 명백해질 것이다.

도 1은 사용자 입력 장치로서 광학적 손가락 네비게이션 장치(102)를 포함하 는 핸드 헬드(hand-held) 컴퓨팅 장치(100)를 도시한다. 광학적 손가락 네비게이션 장치 및 해당 광학 손가락 네비게이션 기술에 대해 이하에 보다 상세히 설명한다. 또한, 핸드 헬드 컴퓨팅 장치는 표시 장치(104), 기능 키(106), 문자/숫자 키패드(108)를 포함한다. 핸드 헬드 컴퓨팅 장치는 표시 장치 상에 그래픽 사용자 인터페이스를 제공하고, 광학적 손가락 네비게이션 장치는 상기 그래픽 사용자 인터페이스 내부를 네비게이션하는 데에 사용된다. 광학적 손가락 네비게이션 장치를 이용할 수 있는 컴퓨팅 장치의 예로서 특정한 핸드 헬드 컴퓨팅 장치가 도시되어 있지만, 광학적 손가락 네비게이션 장치는, 랩탑 컴퓨터, 데스크탑 컴퓨터, 스마트폰, GPS 장치, 개인 음악 재생기, PDA와 같은 다른 형태의 컴퓨팅 장치 내에서 사용될 수 있다.

광학적 손가락 네비게이션 장치(102)는 핸드 헬드 컴퓨팅 장치(100)의 표시 장치(104) 상에서 콘텐츠를 네비게이션하기 위한 사용자 입력을 용이하게 한다. 예컨대, 광학적 손가락 네비게이션 장치는 표시 장치 상에 표시되는 그래픽 사용자 인터페이스 내의 네비게이션 표시자의 제어를 용이하게 한다. 네비게이션 표시자는 커서, 하이라이터, 화살표, 또는 다른 형태의 네비게이션 표시자일 수 있다. 또한, 광학적 손가락 네비게이션 장치를 통해서 수신된 사용자 입력은, 볼륨 제어, 오디오 재생 선택, 브라우저 제어 등을 포함하지만 이에 제한되지 않는, 다른 유형의 사용자 제어 기능을 용이하게 할 수 있다. 광학적 손가락 네비게이션 장치의 실시예로 구현될 수 있는 사용자 제어 기능의 유형은, 핸드 헬드 컴퓨팅 장치에 의해 일반적으로 제공되는 기능의 유형에 의존한다. 또한, 도 1은 핸드 헬드 컴퓨팅 장치를 구체적으로 나타내지만, 광학적 손가락 네비게이션 장치는, 휴대가능하나 반드시 사용자의 손에 쥐어지는 것이 아닌 전자 장치, 또는, 일반적으로 휴대가능하지 않다고 생각되는 장치에서 사용될 수도 있다.

도 2는 도 1에 도시된 광학적 손가락 네비게이션 장치와 같은 광학적 손가락 네비게이션 장치(102)의 실시예의 기능 블록도이다. 도 2의 광학적 손가락 네비게이션 장치는, 이미징 시스템(imaging system)(110), 네비게이션 엔진(112), 양자화 엔진(114), 네비게이션 애플리케이션 모듈(116)을 포함한다. 이미징 시스템은 손가락(120)에 관한 이미지 정보를 수집하도록 구성되고, 광원(122), 손가락 인터페이스 표면(124), 이미징 광학계(126), 센서 어레이(128)를 포함한다.

이미징 시스템(110)의 광원(122)은 전자기 방사의 임의의 적절한 소스일 수 있다. 예로서, 제한되진 않지만, 광원은 단일 LED, 손가락 인터페이스 표면의 상이한 부분을 조명하기 위해 배치된 복수의 LED, 원하는 평균 강도로 광(123)을 방사하도록 설계된 LED의 어레이, 또는 레이저 광원일 수 있다. 일 실시예에서, 광원으로부터 방사된 광의 파장은 사람의 피부로부터의 광의 반사를 최대화하고, 반사된 광이 원치 않는 광신호와 구별될 수 있도록 선택된다. 또한, 광의 파장은 사용자 또는 제조자의 선호에 기초하여 선택될 수 있다. 예컨대, 일부 제조자는 특정한 애플리케이션에 있어서 붉은 빛보다 푸른 빛을 선호할 수 있다. 예컨대, 광원은, 고정 또는 가변량의 조명을 갖는 연속 모드에서 "온 상태(on state)"이거나, 광원은 광의 평균량을 서보 제어함으로써(servoing) 노출을 제어하도록 광원이 펄스 온/오프되는 듀티-사이클 모드에서 온 상태일 수 있다. 조명의 강도는 소정의 공지된 기술을 이용하여 제어될 수 있다.

이미징 시스템(110)의 손가락 인터페이스 표면(124)은, 광학적 손가락 네비게이션 장치(102)가 손가락(120)의 적어도 일부의 이미지를 캡쳐할 수 있게 하기에 충분한 크기를 갖는 유리 또는 플라스틱 등의 투명한 광학 소자로 형성된다. 일 실시예에서, 손가락 인터페이스 표면은 대략 16mm2의 감지 영역을 제공한다. 일 실시예에서, 도 1에 도시된 축을 이용하면, 손가락 인터페이스 표면은 대략 x방향에서 4mm, y방향에서 4mm이다. 도 1에 도시된 바와 같이, 사용자의 손가락은, 손가락 끝으로부터 손가락의 기저(base)까지의 손가락 길이가 대략 y축을 따르고, 손가락의 측면에 걸친 손가락의 폭이 대략 x축을 따르는 상태로 손가락 인터페이스 표면 상에 위치된다.

또한, 조명 광학계(illumination optics)(도시되지 않음)는 광원(122)으로부터의 광을 원하는 입사각으로 손가락 인터페이스 표면(124)으로 향하도록 하는데 사용될 수 있다. 예컨대, 조명 광학계는 광손실의 양을 최소로 하면서 손가락 인터페이스 표면을 향해서 광을 인도하는 LED 돔 렌즈 또는 광 파이프로 이루어질 수 있다. 일 실시예에서, 불투명한 재료를 조명하기 위한 입사각은 5~20도의 범위 내의 지표각(grazing angle)이다. 이 범위에서의 입사각은, 이미징되는 대상(예를 들면, 손가락)의 본래의 구조적 특징을 나타내는 이미지 데이터의 높은 신호대 잡음비를 제공한다. 그러나, 피부의 투명성 때문에, 이러한 비스듬한 각은 사용자의 손가락 이미지를 나타내는 이미지 데이터를 적절히 캡쳐하는데 필요하지 않을 수도 있다. 따라서, 입사각의 선택은, 사용되는 LED의 유형 및 개수, z방향에서의 이미징 시스템의 두께, 사용되는 광학계(조명 및 이미징 시스템) 등의 이미지 획득 장치의 설계에 크게 의존한다. 또한, 다른 실시예에서, 입사각에 따라, 내부 전반사(TIR; total internal reflection) 메커니즘 또는 반사광 메커니즘을 사용하여, 광이 손가락 인터페이스 표면으로 향하게 할 수 있다.

이미징 시스템(110)의 이미징 광학계(imaging optics)(126)는 반사된 광을 센서 어레이(128) 상으로 인도하여 포커싱한다. 이미징 광학계는 하나의 렌즈, 복수의 렌즈, 및/또는 광도파관을 포함할 수 있다. 다른 실시예에서는, 다른 이미징 광학계를 이용할 수도 있고, 또 다른 실시예에서는, 이미징 광학계를 사용하지 않을 수도 있다.

이미징 시스템(110)의 센서 어레이(128)는 손가락 인터페이스 표면(124)에서 반사되어 센서 어레이에 입사하는 광으로부터 이미지 데이터의 프레임을 생성한다. 일 실시예에서, 센서 어레이는 별개의 포토디텍터(도시하지 않음)의 어레이, 예를 들어 손가락 인터페이스 표면에서 손가락 상의 조명 스폿으로부터 반사되는 광을 검출하도록 구성된 별개의 포토디텍터의 16×16 또는 32×32 어레이를 포함한다. 센서 어레이에서의 각 포토디텍터는 디지털 값(예를 들면, 8비트 디지털 픽셀 값)으로서 출력인 광 세기 정보를 생성한다. 이미지 정보는 프레임의 센서 어레이에 의해 캡쳐되고, 이미지 정보의 프레임은 센서 어레이에서의 각각의 별개의 포토디텍터에 대해 동시에 캡쳐된 값의 집합을 포함한다. 센서 어레이에 의해 캡쳐된 이미지 프레임은 손가락에 대한 특징을 나타내는 데이터를 포함한다. 이미지 프레임 캡쳐 레이트 및 트랙킹 해상도는 프로그래밍 가능하다. 실시예에서, 이미지 프레임 캡쳐 레이트는 800cpi(counts per inch)의 해상도를 가지며 초당 2300프레임에 이른다. 프레임 캡쳐 레이트 및 해상도의 예시가 일부 제시되고 있지만, 이와 다른 프레임 캡쳐 레이트 및 해상도도 가능하다.

일 실시예에서, 센서 어레이(128)의 각 포토디텍터는, 포토디텍터들 사이의 간격이 센서 어레이의 원하는 공간 해상도를 달성하도록 설계되고, 5㎛2와 60㎛2 사이의 감광성 영역을 갖는다. 원하는 공간 해상도와 상관없이, 포토디텍터의 크기 및 포토디텍터들 간의 간격은, 이미지 피처(feature)당 적어도 하나의 포토 디텍터, 바람직하게는 하나 이상의 포토 디텍터를 제공하도록 구성되고, 또한, 포토디텍터 어레이의 전체 크기는 복수의 피처를 갖는 이미지를 수신할 만큼 충분히 크게 형성된다.

센서 어레이(128)는 네비게이션 엔진(112)에 대해 이미지 정보(예를 들면, 원(raw) 픽셀 값)를 제공한다. 네비게이션 엔진은 센서 어레이로부터의 이미지 정보에 응답하여 2차원의 움직임 정보를 출력하도록 구성된다. 상기 2차원 움직임 정보는 센서 어레이에 대한 손가락(120)의 횡방향 움직임을 나타내고, 2개의 직교 성분 예를 들어 x축 성분과 y축 성분을 포함한다. x축 성분은 x방향에서의 상대적 움직임을 나타내고, y축 성분은 y방향에서의 상대적 움직임을 나타낸다. 일 실시예에서, 네비게이션 엔진은 센서 어레이로부터의 연속적인 이미지 프레임들을 비교하여, 프레임 간의 이미지 피처의 움직임을 결정한다. 특히, 네비게이션 엔진은 연속하는 이미지 프레임에 존재하는 공통의 특징을 상호 연관시킴으로써 움직임을 결정한다. 이미지 프레임간의 움직임은, 예를 들어 x 및 y방향에서의 움직임 벡터(예를 들면, DX 및 DY)로 표현된다. 그 후, 움직임 벡터는 센서 어레이에 대한 손가락의 횡방향 움직임을 결정하는 데 사용된다. 예시적인 네비게이션 센서 움직임의 추적 기술에 대한 보다 상세한 설명은, 명칭이 "NAVIGATION TECHNIQUE FOR DETECITON MOVEMENT OF NAVIGATION SENSORS RELATIVE TO AN OBJECT"인 미국 특허 공보 제5,644,139호 및 명칭이 "METHOD OF CORRELATING IMMEDIATELY ACQUIRED AND PREVIOUSLY STORED FEATURE INFORMATION FOR MOTION SENSING"인 미국 특허 공보 제6,222,174호에 개시되고, 이들 문헌은 본 명세서에서 참조로서 포함된다.

광학적 손가락 네비게이션 장치(102)는 손가락(120)에 의해 제어되는 것으로 설명되지만, 엄지 손가락, 발가락, 또는 혀와 같은 다른 신체 부위를 네비게이션 제어에 사용할 수 있다. 또한, 장갑 또는 연필 지우개와 같은 사람이 아닌 다른 물체의 네비게이션 제어에 사용할 수 있다.

많은 사용자 입력 장치에서, 사용자 입력은 이산 함수에 대응하는 이산 동작이다. 예컨대, 스크롤 휠에 의하면, 스크롤 휠을 돌림으로써 수직축 스크롤링을 트리거하고, 스크롤 휠을 기울임으로써 수평축 스크롤링을 트리거하며, 또한, 4방향 락커 장치에 의하면, 락커의 위쪽을 누름으로써 수직 스텝 업(step up)을 조정하고, 락커의 아래쪽을 누름으로써 수직 스텝 다운(step down)을 조정하고, 락커의 오른쪽을 누름으로써 오른쪽으로의 수평 스텝(horizontal step)을 조정하고, 락커의 왼쪽을 누름으로써 왼쪽으로의 수평 스텝(horizontal step)을 조정한다.

도 2의 광학적 손가락 네비게이션 장치(102)에서, 스크롤링 및 4방향 락커 기능은 광학적 손가락 네비게이션 장치에 관한 사용자 손가락(120)의 수직 및 수평 움직임에 근거하여 구현된다. 그러나, 사용자가 광학적 손가락 네비게이션 장치에 대한 완벽한 수평 움직임 또는 완벽한 수직 움직임을 행하는 것은 어렵다. 양자화 엔진(114)이 사용자 입력 의도를 결정하는데 사용된다. 즉, 양자화 엔진은 사용자가 사용자 입력으로서 수직 움직임 또는 수평 움직임을 행하려고 의도했는지를 결정한다.

일 실시예에서, 양자화 엔진(114)은, 네비게이션 엔진(112)에 의해 생성되는 움직임 정보의 x 및 y성분인 DX 및 DY를 양자화하고, 이 양자화된 움직임 정보를 출력하도록 구성된다. 예컨대, 양자화 엔진은 움직임 정보의 x축 성분인 DX와, 움직임 정보의 y축 성분인 DY를 비교하고, 그에 따라, x축 및 y축 성분의 형태로 양자화된 움직임 정보를 생성한다. 실시예에서, 양자화 엔진은 2차원 움직임, 예를 들어 x축 및 y축의 양쪽을 따른 움직임을 나타내는 움직임 정보를 취하고, 그 움직임 정보를 1차원 움직임, 예를 들어 x축 또는 y축 중 한쪽을 따른 움직임을 나타내는 움직임 정보로 감소시킨다. 특히, 양자화 엔진은 2차원 움직임 정보에 의해 표시되는 움직임이 주로 x방향인지 또는 주로 y방향인지를 결정하고 나서, 상기 2차원 움직임 정보를, 주 방향의 1차원 이동을 나타내는 움직임 정보로 감소시킨다. 즉, 광학적 손가락 네비게이션 장치의 네비게이션 엔진으로부터 획득된 2차원 움직임 정보는, 손가락 움직임의 주 방향을 나타내는 1차원 움직임 정보로 "양자화"된다. 이하에서 보다 상세히 설명하는 바와 같이, 양자화된 움직임 정보는, 광학적 손가락 네비게이션 장치에서의 스크롤링 및 4방향 락커 기능을 구현함에 있어서 유용하다.

도 3(a)는 주로 y축에서의 움직임, 예를 들어 수직 움직임을 나타내는 움직임 정보의 양자화를 나타낸다. 도 3(a)의 왼쪽은 x방향보다 y방향에서 보다 큰 움직임 벡터(140)를 도시한다. 움직임 정보를 양자화하기 위해서, y축 움직임의 크기는 x축 움직임의 크기와 비교되고, 가장 큰 움직임을 갖는 방향이 움직임의 주축(primary axis) 및 사용자 움직임의 의도된 방향으로 간주된다. 도 3(a)의 예에서, y방향에서의 움직임 벡터의 크기가 x방향에서의 움직임 벡터의 크기보다 크기 때문에, 움직임 벡터는 주로 y방향인 움직임을 나타내는 것으로 간주된다. 움직임의 주 방향이 결정되면, 양자화 프로세스는 움직임의 부차적인 축을 따른 움직임의 크기를 0으로 또는 사실상 0으로 감소시키는 것을 포함한다. 도 3(a)의 예에서, x축 움직임은 0으로 감소되거나 또는 사실상 0으로 되어, 양자화된 움직임 정보는 전체의 y방향 움직임과 0의 x방향 움직임을 나타낸다. 도 3(a)의 오른쪽은 도 3(a)의 왼쪽의 움직임 벡터로부터 생성되는 양자화된 움직임 벡터(142)를 도시한다. 양자화된 움직임 벡터는 y방향에서의 1차원 움직임을 나타낸다.

도 3(b)는 주로 x축에서의 움직임, 예를 들어 수평 움직임을 나타내는 움직임 정보의 양자화를 나타낸다. 도 3(b)의 왼쪽은 y방향보다 x방향에서 보다 큰 움직임 벡터(144)를 도시한다. 또한, 움직임 정보를 양자화하기 위해서, y축 움직임의 크기는 x축 움직임의 크기와 비교되고, 가장 큰 움직임을 갖는 방향이 움직임의 주축 및 사용자 움직임의 의도된 방향으로 간주된다. 도 3(b)의 예에서, x방향에 서의 움직임 벡터의 크기가 y방향에서의 움직임 벡터의 크기보다 크기 때문에, 움직임 벡터는 주로 x방향인 움직임을 나타내는 것으로 간주된다. 움직임의 주 방향이 결정되면, 양자화 프로세스는 움직임의 부차적인 축을 따른 움직임의 크기를 0으로 감소시키거나 또는 사실상 0으로 하는 것을 포함한다. 도 3(b)의 예에서, y축 움직임은 0으로 감소되거나 또는 사실상 0으로 되어, 양자화된 움직임 정보는 전체의 x방향 움직임과 0의 y방향 움직임을 나타낸다. 도 3(b)의 오른쪽은 도 3(b)의 왼쪽의 움직임 벡터로부터 생성되는 양자화된 움직임 벡터(146)를 도시한다. 양자화된 움직임 벡터는 x방향에서의 1차원 움직임을 나타낸다.

일부 실시예에서, 양자화는 x축 및 y축의 양쪽에서 수행될 수 있고, 다른 실시예에서, 양자화는 x축 또는 y축 중 한쪽으로 한정될 수 있다. 도 4는, 2차원 움직임 정보의 양자화를 구현하기 위한 의사 코드를 나타내는데, 여기서 x축을 따른 횡방향 움직임 정보가 DX로 표시되고, y축을 따른 횡방향 움직임 정보가 DY로 표시되고, 양자화된 x축 움직임 정보가 QX로 표시되고, 양자화된 y축 움직임 정보가 QY로 표시된다. 도 4의 블록(402)에서 나타낸 바와 같이, x축과 y축 양자화의 양쪽이 모두 수행 가능하면, DY의 절대값은 DX의 절대값과 비교된다. DY의 절대값이 DX의 절대값 이상이면, QY는 y축 분할 계수(Y_Div_Factor)에 의해 나누어진 DY와 같고, QX는 0과 같다. 한편, DY의 절대값이 DX의 절대값 이상이 아니면, QX는 x축 분할 계수(X_Div_Factor)에 의해 나누어진 DX와 같고, QY는 0과 같다. x축 양자화만 수행 가능하면, QX는 x축 분할 계수에 의해 나누어진 DX와 같고, QY는 0과 같다. y축 양자화만 수행 가능하면, QY는 y축 분할 계수에 의해 나누어진 DY와 같 고, QX는 0과 같다. 블록(404)에서, 어떤 양자화 특징이 수행 가능한지에 근거하여, 최종 양자화된 움직임 정보가 생성 및 보고된다.

전술된 바와 같이, 양자화 엔진(114)은 사용자가 수직 움직임 또는 수평 움직임을 의도했는지를 결정하는데 사용된다. 2차원 움직임 정보의 x 및 y성분이 비교적 서로에 근접하거나 혹은 정확히 동일하면, 사용자 입력의 의도를 결정하기 어려울 수 있다. 일 실시예에서, 양자화 엔진은, 2차원 움직임 정보가 사용자의 의도를 결정하기에 충분히 수직 또는 충분히 수평이 아니라고 간주되는 윈도우(여기서는, "그레이 영역"이라고 함)를 식별하도록 구성된다. 그레이 영역 바깥쪽에 있는 2차원 움직임 정보는, 그레이 영역의 어느 측면에 움직임이 있는지에 따라, x방향 또는 y방향 중 한쪽의 1차원 움직임 정보로 감소되고, 그레이 영역 내에 있는 움직임 정보는 움직임이 없음, 예를 들어 QX=QY=0임을 나타내는 움직임 정보로 감소된다. 그레이 영역 내에 있는 움직임 정보에 따라 움직임이 없음을 보고하는 것은, 사용자의 의도를 결정하기에 충분히 수직 또는 충분히 수평이 아닌 사용자 입력을 피하도록 사용자를 훈련시키는데 도움이 될 수 있다.

도 5는 움직임 정보 그래프의 x 및 y좌표에 관한 그레이 영역(148)을 나타낸다. 도 5에서, 그레이 영역의 경계는 선형 함수인 |DY|=M*|DX|+C에 기초하여 규정되며, |DY|는 y방향에서의 절대적인 움직임의 크기이고, |DX|는 x방향에서의 절대적인 움직임의 크기이고, M은 기울기 또는 경사이고, C는 y절편이다. 도 5는 M=1인 경우를 나타낸다. 도 5의 예에서, 절대적인 y방향의 움직임 DY가 M*|DX|+C 이 상이면, x방향 움직임은 0으로 감소되고, 절대적인 y방향의 움직임 DY가 M-1*|DX|-C보다 작으면, y방향 움직임은 0으로 감소되고, 움직임이 그레이 영역 내에 있으면, x방향 움직임과 y방향 움직임의 양쪽은 0으로 감소된다.

실시예에서, 기울기 M 및/또는 y절편을 변경함으로써 그레이 영역의 파라미터를 구성 및 조정할 수 있다. 도 6은 도 5의 그레이 영역보다 큰 그레이 영역(150)을 나타낸다. 도 6의 예에서, 기울기 M을 M=1 대신에 M=2로 변경함으로써 그레이 영역을 확장한다.

도 7은 그레이 영역을 갖는 2차원 움직임 정보의 양자화를 구현하기 위한 의사 코드를 나타낸다. 도 7의 블록(702)에 나타낸 바와 같이, x축 및 y축 양쪽 모두의 양자화가 가능하면, DY는 M*|DX|+C와 비교된다. DY의 절대값이 M*|DX|+C 이상이면, QY는 y축 분할 계수(Y_Div_Factor)에 의해 나누어진 DY와 같고, QX는 0과 같다. DY의 절대값이 M-1*|DX|-C 미만이면, QX는 x축 분할 계수(X_Div_Factor)에 의해 나누어진 DX와 같고, QY는 0과 같다. x축 양자화만이 가능하면, QX는 x축 분할 계수에 의해 나누어진 DX와 같고, QY는 0과 같다. y축 양자화만이 가능하면, QY는 y축 분할 계수에 의해 나누어진 DY와 같고, QX는 0과 같다. 블록(704)에서, 어떤 양자화 특징이 수행 가능한지에 근거하여, 최종 양자화 움직임 정보가 생성 및 보고된다.

도 8은 도 2의 네비게이션 엔진(112), 양자화 엔진(114), 네비게이션 애플리케이션 모듈(116)에 관한 정보 흐름의 실시예를 나타낸다. 도 8에 나타내어진 바 와 같이, 이미지 정보는 네비게이션 엔진에 제공되고, 그 네비게이션 엔진은 상기 이미지 정보로부터 2차원 움직임 정보를 생성한다. 전술된 바와 같이, 네비게이션 엔진은 x축 움직임 정보 DX와 y축 움직임 정보 DY를 생성하고, 이들 2차원 움직임 정보는 센서 어레이에 관한 손가락의 2차원 움직임을 나타낸다.

모드 제어기(154)는, 네비게이션을 위해서, 예를 들어 커서의 360도 횡방향 네비게이션을 위해서 네비게이션 애플리케이션 모듈(116)에 움직임 정보를 직접 제공하는지, 또는 움직임 정보가 양자화 엔진(114)에 의해 양자화될 것인지를 제어한다. 모드 선택 신호에 의해 움직임 정보가 네비게이션을 위해서 직접 사용되는 것임을 표시하면, 2차원 움직임 정보는 네비게이션 애플리케이션 모듈에 직접 제공된다. 모듈 선택 신호에 의해 움직임 정보가 사용되기 전에 양자화되는 것임을 표시하면, 2차원 움직임 정보는 양자화 엔진에 제공된다.

양자화 엔진(114)은 전술된 바와 같이 양자화된 움직임 정보를 생성하고, 그 양자화된 움직임 정보 QX 및 QY를 네비게이션 애플리케이션 모듈(116)에 제공한다. 네비게이션 애플리케이션 모듈은 상기 양자화된 움직임 정보를 사용하여, 스크롤 기능 또는 4방향 락커 기능 등의 네비게이션 기능을 구현한다. 양자화된 움직임 정보가 스크롤 및 4방향 락커 기능을 구현하는데 어떻게 사용되는지에 대한 예시는, 도 9-14를 참조하여 이하에서 설명된다.

이하, 스크롤 기능을 구현하기 위해 양자화된 움직임 정보를 사용하는 것에 대해 도 9 및 10을 참조하여 설명한다. 도 9는 양자화 엔진을 갖는 광학적 손가락 네비게이션 장치를 사용하여 스크롤링 기능을 구현하기 위한 의사 코드를 도시한 다. 도 9의 블록(902)에 나타낸 바와 같아, 수직 스크롤링(y축) 및 수평 스크롤링(x축) 양쪽이 수행 가능하면, DY와 DX를 비교한다. DY의 절대값이 DX의 절대값 이상이면, QY는 y축 분할 계수(Y_Div_Factor)에 의해 나누어진 DY와 같고, QX는 0과 같다. 한편, DY의 절대값이 DX의 절대값 이상이 아니면, QX는 x축 분할 계수(X_Div_Factor)에 의해 나누어진 DX와 같고, QY는 0과 같다. 수평 스크롤링(x축)만이 수행 가능하면, QX는 x축 분할 계수에 의해 나누어진 DX와 같고, QY는 0과 같다. 수직 스크롤링(y축)만이 수행 가능하면, QY는 y축 분할 계수에 의해 나누어진 DY와 같고, QX는 0과 같다. 블록(904)에서, 어떤 스크롤 특징이 실행 가능한지에 근거하여, 최종 수평 및 수직 스크롤 카운트(counts)가 생성되어 스크롤 애플리케이션에 보고된다. 그 후, 스크롤 애플리케이션은 상기 스크롤 카운트를 사용하여, 컴퓨팅 장치의 그래픽 사용자 인터페이스에서 스크롤 기능을 구현한다. 실시예에서, 그래픽 사용자 인터페이스에 인가된 스크롤링의 양은 스크롤 카운트의 크기 함수이다.

광학적 손가락 네비게이션 장치를 사용하는 스크롤링 기능은, 가변 크기 스크롤링 및 연속 스크롤링과 같은 개선된 스크롤링 특징을 구현함으로써 향상될 수 있다. 일 실시예에서, 연속 스크롤링은 스크롤 임계값을 이용하여 구현되는 것으로, 양자화된 스크롤 카운트가 상기 스크롤 임계값을 초과하면, 그래픽 사용자 인터페이스 내의 연속 스크롤링을 트리거(기동)한다. 다른 실시예에서, 스크롤 임계값이 초과되면 스크롤 카운트가 고정된 스크롤 카운트로 설정되며, 이 경우 고정된 스크롤 카운트의 크기는 조정 가능하다. 또 다른 실시예에서, 연속 스크롤링의 속 도가 스와이프(swipe)의 크기 함수로 되도록, 양자화된 움직임 정보의 크기에 따라 스크롤 카운트를 설정할 수 있다. 연속 스크롤링은, 예를 들어 광학적 손가락 네비게이션 장치를 통한 사용자 입력 또는 기계식 버튼을 사용하여 중지될 수 있다. 실시예에서, 연속 스크롤링은 광학적 손가락 네비게이션 장치의 손가락 인터페이스 표면 위를 두드림(tap)으로써 중지될 수 있다. 일 실시예에서, 탭 이벤트(tap event)는 센서 어레이의 셔터 속도 변경에 따라 검출되는데, 상기 셔터 속도는 센서 어레이에서의 현재 광 상태를 고려하여 자동적으로 조절되며, 또한, 다른 실시예에서, 탭 이벤트는 센서 어레이로부터 생성된 이미지 데이터의 정성적 측정에 따라 검출된다. 광학적 손가락 네비게이션 장치에서의 탭 또는 "클릭" 이벤트를 검출하는 기술의 예시는, 미국 특허 제7,313,255호에 개시되어 있고, 이는 본 출원의 양수인에게 양도되고 본 명세서에서 참조로서 포함된다.

도 10은 가변 크기 스크롤링 및 연속 스크롤링과 같은 개선된 스크롤링 특징을 구현하기 위한 의사 코드를 나타낸다. 블록(1002)에서, 연속 수직 스크롤링이 수행 가능하면, 양자화된 움직임 정보의 절대값 예를 들어 QY가 스크롤 임계값과 비교된다. 양자화된 움직임 정보가 스크롤 임계값을 초과하면, 연속 스크롤링 모드가 트리거(기동)된다. 블록(1004)에서, 연속 스크롤링 모드가 트리거되면, 스크롤 카운트가 적절한 필드로 연속적으로 보고된다. 예를 들면, 수직 스크롤링에서, 수직 스크롤 카운트는 고정값, 연속값 또는 "스마트(smart)" 값(연속 스크롤링의 속도를 제어함)으로서 연속적으로 보고된다. 또한, 움직임 정보 성분 DX 및 DY는 0으로 보고된다. 블록(1006)에서, 연속 스크롤링이 예를 들어 광학적 손가락 네비 게이션 장치로의 기계식 버튼 클릭 또는 탭 입력에 의해 종료된다.

이하, 4방향 락커 기능의 구현하기 위해 양자화된 움직임 정보를 사용하는 것에 대해 도 11-14를 참조하여 설명한다. 도 11은 4방향 락커 기능을 구현하는데 사용되는 기계식 4방향 락커 패드(156)를 도시한다. 도 11의 예에서, "위쪽" 방향으로의 단계적(step-wise) 움직임은 4방향 락커 패드의 위쪽 영역(158)을 누름으로써 트리거되고, "아래쪽" 방향으로의 단계적 움직임은 4방향 락커 패드의 아래쪽 영역(160)을 누름으로써 트리거되고, "오른쪽" 방향으로의 단계적 움직임은 4방향 락커 패드의 오른쪽 영역(162)을 누름으로써 트리거되고, "왼쪽" 방향으로의 단계적 움직임은 4방향 락커 패드의 왼쪽 영역(160)을 누름으로써 트리거된다.

실시예에서, 도 11의 기계식 4방향 락커 패드(156)의 기능은, 양자화된 움직임 정보를 축적하여, 상기 양자화된 움직임 정보를 특정 방향으로의 스텝(step)을 나타내는 신호로 변형함으로써, 광학적 손가락 네비게이션 장치에서 에뮬레이트(emulate)된다. 도 12는 양자화된 움직임 정보 QX 및 QY를 이용하는 광학적 손가락 네비게이션 장치에서 4방향 락커 기능을 구현하는 방법의 흐름도이다. 결정 시점(1202)에서, 광학적 손가락 네비게이션 장치의 손가락 인터페이스 표면에서 혹은 그 근방에서 손가락이 검출되는지 여부가 결정된다. 손가락 인터페이스 표면에서 혹은 그 근방에서 손가락이 검출되면, 블록(1204)에서, 양자화된 움직임 정보가 축적된다. 결정 시점(1206)에서, 손가락이 손가락 인터페이스 표면으로부터 들어 올려졌는지 여부를 결정한다. 손가락이 손가락 인터페이스 표면으로부터 들어 올려지지 않는 한, 양자화된 움직임 정보는 계속해서 축적된다. 손가락이 손가락 인 터페이스 표면으로부터 들어 올려지면, 블록(1208)에서, 상기 축적된 양자화된 움직임 정보는 4방향 락커 애플리케이션에서의 스텝(step)을 나타내는 신호로 변형된다. 그 스텝의 방향은 양자화된 움직임 정보에 의해 결정된다. 예컨대,

QX=0이고,

QY=양이면, 위쪽으로의 스텝, 또는

QX=0이고,

QY=음이면, 아래쪽으로의 스텝, 또는

QX=양이고,

QY=0이면, 오른쪽으로의 스텝, 또는

QX=음이고,

QY=0이면,왼쪽으로의 스텝이다.

4방향 락커 기능은 특정한 사용자 입력에 응답하여 연속 스텝핑(stepping)을 구현함으로써 개선될 수 있다. 실시예에서, 연속 스텝핑은 방향성 스와이프(directional swipe)의 크기를 스텝핑 기능에 상관시킴으로써 구현될 수 있다. 예컨대, 연속 스텝핑은 사용자가 광학적 손가락 네비게이션 장치에 걸쳐서 충분히 크게(상기 축적된 양자화된 움직임 정보의 크기로 표시됨) 스와이프함으로써 트리거될 수 있다. 도 13은 광학적 손가락 네비게이션 장치에 걸친 사용자 스와이프(상기 축적된 양자화된 움직임 정보의 크기로 표시됨)의 크기에 의존적인 4방향 락커 기능을 구현하는 기술의 흐름도를 나타낸다. 결정 시점(1302)에서, 상기 축적된 양자화된 움직임 정보(즉, QX 및 QY)가 사전 결정된 스텝 임계값을 초과했는지 여부가 판정되는데, 여기서 상기 축적된 양자화된 움직임 정보는, 사용자의 손가락이 손가락 인터페이스 표면으로부터 들어 올려질 때까지 축적되는 움직임 정보이다. 스텝 임계값을 초과했으면, 블록(1304)에서, 단일 스텝 또는 복수의 스텝을 나타내는 스텝 신호가, 상기 축적된 양자화된 움직임 정보에 근거하여 생성된다. 스텝 임계값을 초과하지 않았으면, 블록(1306)에서, 이전의 축적된 양자화된 움직임 정보가 스텝 임계값을 초과하는 한, 이전의 단계 신호가 반복해서 생성된다.

4방향 락커 애플리케이션의 실시예에서, 상기 축적된 양자화된 움직임 정보의 크기는 스텝의 수를 조절하는 데 사용될 수 있다. 4방향 락커 애플리케이션의 다른 실시예에서, 연속 스텝핑은 광학적 손가락 네비게이션 장치에 대한 "탭 앤드 홀드(tap and hold)"의 사용자 입력에 의해 구현된다. "탭 앤드 홀드" 애플리케이션에서, 연속 스크롤링은 사용자가 특정한 방향으로 움직여서 일정한 기간 동안에 손가락 인터페이스 표면에 손가락을 유지시킴으로써 트리거된다. 해당 기간이 경과하면, 연속 스텝핑은 그래픽 사용자 인터페이스에서 트리거된다. 양자화된 움직임 정보를 이용하여 연속 스텝핑을 구현하는 방법의 흐름도를 도 14에 도시한다. 블록(1402)에서, 양자화된 움직임 정보 QX 및 QY가 축적된다. 결정 시점(1404)에서, 사용자의 손가락이 손가락 인터페이스 표면으로부터 들어 올려졌는지 여부를 결정한다. 사용자의 손가락이 손가락 인터페이스 표면으로부터 들어 올려졌으면, 블록(1406)에서, 단일 스텝이 그래픽 사용자 인터페이스에서 개시된다. 사용자의 손가락이 손가락 인터페이스 표면으로부터 들어 올려지지 않았으면, 결정 시점(1408)에서, 사전 결정된 기간이 경과했는지 여부를 결정한다. 기간이 경과하지 않았으면, 처리는 블록(1402)으로 되돌아가고, 상기 양자화된 움직임 정보는 계속해서 축적된다. 기간이 경과했으면, 블록(1410)에서, 연속 스텝핑 모드가 트리거된다. 실시예에서, 상기 축적된 양자화된 움직임 정보 또는 이전에 설정된 방향에 의해 연속 스텝핑의 방향이 결정된다.

락커 애플리케이션이 4방향 락커 애플리케이션으로 설명되었지만, 락커 애플리케이션은 1, 2, 또는 3방향 락커 애플리케이션으로 구현될 수 있다.

도 2의 실시예에서, 네비게이션 엔진(112), 양자화 엔진(114), 네비게이션 애플리케이션 모듈(116)은 광학 네비게이션 장치의 일부로서 설명된다. 다른 실시예에서, 이들 기능적 소자에 의해 수행되는 기능은 컴퓨팅 장치의 프로세서 및 메모리에 의해 부분적으로 또는 전체적으로 지원될 수 있다. 일 실시예에서, 광학 네비게이션 장치는 움직임 정보 DX 및 DY를 출력하고, 컴퓨팅 장치의 프로세서는 상기 움직임 정보를 양자화하고, 그 양자화된 움직임 정보를 선택된 네비게이션 애플리케이션, 예를 들어 스크롤링 또는 4방향 락커에 인가한다. 또한, 도 2의 기능적 소자에 의해 수행되는 기능은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 조합에서 수행될 수 있다.

여기서는 방법의 동작이 특정한 순서로 도시 및 설명되지만, 소정의 동작들이 반대의 순서로 수행될 수 있거나, 또는, 소정의 동작이 적어도 부분적으로 다른 동작과 동시에 수행될 수 있도록, 각 방법의 동작 순서가 변경될 수 있다. 다른 실시예에서, 서로 다른 동작의 명령 또는 서브 동작은 간헐적으로 및/또는 교대로 구현될 수 있다.

본 발명의 특정한 실시예를 설명 및 도시하였지만, 본 발명은 설명 및 도시되는 바와 같은 특정한 형태 또는 부품의 배치에 한정되지 않는다. 본 발명의 범위는 첨부되는 청구항 및 그 균등물에 의해 규정될 것이다.

도 1은 사용자 입력 장치로서 광학적 손가락 네비게이션 장치를 포함하는 핸드 헬드 컴퓨팅 장치를 도시하고,

도 2는 도 1에 도시된 광학적 손가락 네비게이션 장치와 같은 광학적 손가락 네비게이션 장치의 실시예의 기능도,

도 3(a)는 기본적으로 y축에서의 움직임, 예를 들어 수직 움직임을 나타내는 움직임 정보의 양자화를 나타내고,

도 3(b)는 기본적으로 x축에서의 움직임, 예를 들어 수평 움직임을 나타내는 움직임 정보의 양자화를 나타내고,

도 4는 2차원 움직임 정보의 양자화를 구현하기 위한 의사 코드(pseudo code)를 나타내고,

도 5는 움직임 정보 그래프의 x 및 y좌표에 관한 회색 영역을 나타내고,

도 6은 도 5의 회색 영역보다 큰 회색 영역을 나타내고,

도 7은 회색 영역을 갖는 2차원 움직임 정보의 양자화를 구현하기 위한 의사 코드를 나타내고,

도 8은 네비게이션 엔진, 양자화 엔진, 도 2의 네비게이션 애플리케이션 모듈에 관한 정보의 흐름의 실시예를 나타내고,

도 9는 상기한 바와 같은 양자화 엔진을 갖는 광학적 손가락 네비게이션 장치를 사용하여 스크롤링 기능을 구현하기 위한 의사 코드를 도시하고,

도 10은 광학적 손가락 네비게이션 장치에 있어서 가변 크기 스크롤 링(variable magnitude scrolling) 및 연속 스크롤링(continuous scrolling)과 같은 개선된 스크롤링 특징을 구현하기 위한 의사 코드를 나타내고,

도 11은 4방향 락커 기능을 구현하는데 사용되는 기계식 4방향 락커 패드를 도시하고,

도 12는 양자화된 움직임 정보인 QX 및 QY를 사용하여, 광학적 손가락 네비게이션 장치에 있어서 4방향 락커 기능을 구현하기 위한 방법의 흐름도,

도 13은 광학적 손가락 네비게이션 장치에 걸친 사용자 스와이프의 크기에 의존적인 광학적 손가락 네비게이션 장치에서의 4방향 락커 기능을 구현하는 기술의 프로세스 흐름도,

도 14는 양자화된 움직임 정보를 사용하여, 광학적 손가락 네비게이션 장치에서의 연속 스텝핑을 구현하는 방법의 프로세스 흐름도.

설명 전체에서, 동일한 참조 번호는 동일한 소자를 식별하기 위해 사용될 수 있다.

도면의 주요 부분에 대한 부호의 설명

100: 핸드 헬드 컴퓨팅 장치 102: 광학적 손가락 네비게이션 장치

110: 이미징 시스템 122: 광원

123: 광 126: 광학계

128: 센서 어레이 112: 네비게이션 엔진

114: 양자화 엔진 116: 네비게이션 애플리케이션 모듈

Claims (20)

  1. 사용자 입력 장치에 있어서,
    손가락 인터페이스 표면을 포함하는 광학 소자와,
    상기 손가락 인터페이스 표면과 광통신하며, 상기 손가락 인터페이스 표면으로 광을 제공하도록 구성된 광원과,
    상기 손가락 인터페이스 표면과 손가락 사이의 접촉에 응답하여, 상기 손가락 인터페이스 표면으로부터 반사된 광을 검출하도록 구성된 센서 어레이와,
    상기 센서 어레이에 연결되며, 상기 검출된 광에 응답하여 상기 센서 어레이에 대한 상기 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성하도록 구성된 네비게이션 엔진-상기 횡방향 움직임 정보는 제 1 직교 성분 및 제 2 직교 성분을 포함함-과,
    상기 네비게이션 엔진에 연결되며, 상기 제 1 직교 성분과 상기 제 2 직교 성분을 비교하고, 상기 비교에 응답하여 제 1 양자화된 직교 성분과 제 2 양자화된 직교 성분을 생성하도록 구성된 양자화 엔진을 포함하되,
    상기 양자화 엔진은, 상기 횡방향 움직임 정보를 윈도우와 비교하여, 상기 횡방향 움직임 정보가 상기 윈도우 밖에 있으면 1차원 움직임을 나타내는 움직임 정보를 생성하고, 상기 횡방향 움직임 정보가 상기 윈도우 안에 있으면 움직임이 없음을 나타내는 움직임 정보를 생성하도록 구성되고,
    상기 윈도우는 선형 함수에 의해 정의되고,
    상기 선형 함수는 |DY|=M*|DX|+C로 정의되되, |DY|는 y방향 움직임의 절대값이고, |DX|는 x방향 움직임의 절대값이고, M은 기울기(gradient)이고, C는 y절편(intercept)이며,
    |DY|가 M*|DX|+C 이상이면 x방향 움직임이 감소되고, |DY|가 M-1*|DX|-C 미만이면 y방향 움직임이 감소되고, |DY|가 M*|DX|+C 이하이고 M-1*|DX|-C보다 크면 x방향 움직임 및 y방향 움직임 모두가 감소되는
    사용자 입력 장치.
  2. 제 1 항에 있어서,
    상기 양자화 엔진은, 상기 제 1 직교 성분과 상기 제 2 직교 성분의 비교에 응답하여, 상기 횡방향 움직임 정보를 2차원 움직임을 나타내는 움직임 정보로부터 1차원 움직임을 나타내는 움직임 정보로 변경하도록 구성되는
    사용자 입력 장치.
  3. 제 2 항에 있어서,
    상기 양자화 엔진은, 상기 제 1 직교 성분의 크기와 상기 제 2 직교 성분의 크기를 비교하도록 구성되는
    사용자 입력 장치.
  4. 제 3 항에 있어서,
    상기 양자화 엔진은, 상기 제 1 직교 성분과 상기 제 2 직교 성분 중 작은 직교 성분의 크기를 감소시켜, 상기 횡방향 움직임 정보를 2차원 움직임을 나타내는 움직임 정보로부터 1차원 움직임을 나타내는 움직임 정보로 변경하는
    사용자 입력 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 제 1 양자화된 직교 성분과 상기 제 2 양자화된 직교 성분 중 적어도 하나에 응답하여 스크롤 기능을 개시하도록 구성된 네비게이션 애플리케이션 모듈을 더 포함하는
    사용자 입력 장치.
  9. 제 8 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 제 1 양자화된 직교 성분과 상기 제 2 양자화된 직교 성분 중 하나를 스크롤 임계값과 비교하고, 상기 비교에 응답하여 대응하는 스크롤 동작의 크기를 결정하도록 구성되는
    사용자 입력 장치.
  10. 제 8 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 제 1 양자화된 직교 성분과 상기 제 2 양자화된 직교 성분 중 하나와 스크롤 임계값을 비교하여, 상기 하나의 양자화된 직교 성분이 상기 임계값을 초과하면 연속 스크롤링을 나타내는 신호를 생성하도록 구성되는
    사용자 입력 장치.
  11. 제 8 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 손가락 인터페이스 표면 상에서의 손가락 탭(finger tap)의 검출에 응답하여, 연속 스크롤링을 나타내는 신호의 생성을 중지하도록 더 구성되는
    사용자 입력 장치.
  12. 제 1 항에 있어서,
    상기 제 1 양자화된 직교 성분 및 상기 제 2 양자화된 직교 성분에 응답하여, 4방향(four-way) 락커(rocker) 기능을 개시하도록 구성된 네비게이션 애플리케이션 모듈을 더 포함하는
    사용자 입력 장치.
  13. 제 12 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 제 1 양자화된 직교 성분을 축적하고, 상기 제 2 양자화된 직교 성분을 축적하고, 상기 축적된 제 1 양자화된 직교 성분 및 상기 축적된 제 2 양자화된 직교 성분에 응답하여 스텝 함수(step function)를 나타내는 출력 신호를 생성하도록 구성되는
    사용자 입력 장치.
  14. 제 13 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 축적된 제 1 양자화된 직교 성분과 상기 축적된 제 2 양자화된 직교 성분을 스텝 임계값(step threshold)과 비교하여 상기 스텝 임계값을 초과하면 스텝을 나타내는 신호를 생성하도록 구성되는
    사용자 입력 장치.
  15. 제 14 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 상기 축적된 제 1 양자화된 직교 성분과 상기 축적된 제 2 양자화된 직교 성분의 제 2 집합을 상기 스텝 임계값과 비교하여, 상기 스텝 임계값을 초과하지 않더라도, 이전의 축적된 양자화된 움직임 정보가 상기 스텝 임계값을 초과하는 한, 다른 스텝을 나타내는 신호를 생성하도록 구성되는
    사용자 입력 장치.
  16. 제 12 항에 있어서,
    상기 네비게이션 애플리케이션 모듈은, 소정의 사전 결정된 기간 내에서 상기 손가락이 상기 손가락 인터페이스 표면으로부터 들어 올려졌는지를 판정하여, 상기 손가락이 상기 사전 결정된 기간의 만료시에 상기 손가락 인터페이스 표면으 로 들어 올려지지 않았으면 연속 스텝핑(continuous stepping) 동작을 개시하도록 구성되는
    사용자 입력 장치.
  17. 광학 손가락 네비게이션 장치에 의해 수행되는 방법으로서,
    광원에서 광을 생성하는 단계와,
    상기 광을 손가락 인터페이스 표면으로 향하게 하는 단계와,
    상기 손가락 인터페이스 표면에서의 손가락 접촉에 응답하여 상기 손가락 인터페이스 표면으로부터 센서 어레이 쪽으로 반사된 광을 검출하는 단계와,
    상기 검출된 광에 응답하여 상기 센서 어레이에 대한 상기 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성하는 단계-상기 횡방향 움직임 정보는 제 1 직교 성분 및 제 2 직교 성분을 포함함-와,
    상기 제 1 직교 성분과 상기 제 2 직교 성분을 비교하는 단계와,
    상기 비교에 응답하여 제 1 양자화된 직교 성분 및 제 2 양자화된 직교 성분을 생성하는 단계를 포함하고,
    상기 횡방향 움직임 정보를 윈도우와 비교하여, 상기 횡방향 움직임 정보가 상기 윈도우 밖에 있으면 1차원 움직임을 나타내는 움직임 정보를 생성하고, 상기 횡방향 움직임 정보가 상기 윈도우 안에 있으면 움직임이 없음을 나타내는 움직임 정보를 생성하는 단계를 더 포함하되,
    상기 윈도우는 선형 함수에 의해 정의되고,
    상기 선형 함수는 |DY|=M*|DX|+C로 정의되되, |DY|는 y방향 움직임의 절대값이고, |DX|는 x방향 움직임의 절대값이고, M은 기울기이고, C는 y절편이며,
    |DY|가 M*|DX|+C 이상이면 x방향 움직임이 감소되고, |DY|가 M-1*|DX|-C 미만이면 y방향 움직임이 감소되고, |DY|가 M*|DX|+C 이하이고 M-1*|DX|-C보다 크면 x방향 움직임 및 y방향 움직임 모두가 감소되는
    광학 손가락 네비게이션 방법.
  18. 제 17 항에 있어서,
    상기 제 1 직교 성분과 상기 제 2 직교 성분 중 작은 직교 성분의 크기를 감소시켜서, 상기 횡방향 움직임 정보를 2차원 움직임을 나타내는 움직임 정보로부터 1차원 움직임을 나타내는 움직임 정보로 변경하는 단계를 더 포함하는
    광학 손가락 네비게이션 방법.
  19. 삭제
  20. 사용자 입력 장치로서,
    그래픽 사용자 인터페이스에 대한 네비게이션 표시자를 포함하는 표시 장치와,
    손가락 인터페이스 표면을 포함하는 광학 소자와,
    상기 손가락 인터페이스 표면과 광통신하며, 상기 손가락 인터페이스 표면에 광을 제공하도록 구성된 광원과,
    상기 손가락 인터페이스 표면과 손가락 사이의 접촉에 응답하여, 상기 손가락 인터페이스 표면으로부터 반사된 광을 검출하도록 구성된 센서 어레이와,
    상기 센서 어레이에 연결되며, 상기 검출된 광에 응답하여, 상기 센서 어레이에 대한 상기 손가락의 횡방향 움직임을 나타내는 횡방향 움직임 정보를 생성하도록 구성된 네비게이션 엔진-상기 횡방향 움직임 정보는 제 1 직교 성분 및 제 2 직교 성분을 포함함-과,
    상기 네비게이션 엔진에 결합되며, 상기 제 1 직교 성분과 상기 제 2 직교 성분을 비교하고, 상기 비교에 응답하여 제 1 양자화된 직교 성분 및 제 2 양자화된 직교 성분을 생성하도록 구성된 양자화 엔진과,
    상기 제 1 양자화된 직교 성분 및 상기 제 2 양자화된 직교 성분에 응답하여, 4방향 락커 기능을 개시하도록 구성된 네비게이션 애플리케이션 모듈을 포함하되,
    상기 네비게이션 애플리케이션 모듈은, 상기 제 1 양자화된 직교 성분을 축적하고, 상기 제 2 양자화된 직교 성분을 축적하고, 상기 축적된 제 1 양자화된 직교 성분 및 상기 축적된 제 2 양자화된 직교 성분에 응답하여 스텝 함수(step function)를 나타내는 출력 신호를 생성하도록 구성되고,
    상기 네비게이션 애플리케이션 모듈은, 상기 축적된 제 1 양자화된 직교 성분과 상기 축적된 제 2 양자화된 직교 성분을 스텝 임계값(step threshold)과 비교하여 상기 스텝 임계값을 초과하면 스텝을 나타내는 신호를 생성하도록 구성되고,
    상기 네비게이션 애플리케이션 모듈은, 상기 축적된 제 1 양자화된 직교 성분과 상기 축적된 제 2 양자화된 직교 성분의 제 2 집합을 상기 스텝 임계값과 비교하여, 상기 스텝 임계값을 초과하지 않더라도 이전의 축적된 양자화된 움직임 정보가 상기 스텝 임계값을 초과하는 한, 다른 스텝을 나타내는 신호를 생성하도록 구성되는
    사용자 입력 장치.
KR1020090093341A 2008-09-30 2009-09-30 사용자 입력 장치, 광학 손가락 네비게이션 방법 및 핸드 헬드 컴퓨팅 시스템 KR101505206B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/241,773 US8212794B2 (en) 2008-09-30 2008-09-30 Optical finger navigation utilizing quantized movement information
US12/241,773 2008-09-30

Publications (2)

Publication Number Publication Date
KR20100037014A KR20100037014A (ko) 2010-04-08
KR101505206B1 true KR101505206B1 (ko) 2015-03-23

Family

ID=41720064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090093341A KR101505206B1 (ko) 2008-09-30 2009-09-30 사용자 입력 장치, 광학 손가락 네비게이션 방법 및 핸드 헬드 컴퓨팅 시스템

Country Status (3)

Country Link
US (1) US8212794B2 (ko)
KR (1) KR101505206B1 (ko)
DE (1) DE102009043800A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2068212A1 (fr) * 2007-12-06 2009-06-10 The Swatch Group Research and Development Ltd. Objet portable tel qu'une pièce d'horlogerie comprenant des moyens d'enclenchement d'une fonction de commande électronique
US20100269038A1 (en) * 2009-04-17 2010-10-21 Sony Ericsson Mobile Communications Ab Variable Rate Scrolling
US8269737B2 (en) 2009-08-20 2012-09-18 Hewlett-Packard Development Company, L.P. Method and apparatus for interpreting input movement on a computing device interface as a one- or two-dimensional input
GB2475264A (en) * 2009-11-11 2011-05-18 St Microelectronics An optical navigation device
US20110316812A1 (en) * 2010-06-24 2011-12-29 Stmicroelectronics Asia Pacific Pte. Ltd. Image sensor control over a variable function or operation
CN105718088A (zh) * 2010-07-08 2016-06-29 唐建宁 一种计算机系统
TWI522843B (zh) * 2010-07-12 2016-02-21 原相科技股份有限公司 光學系統及其點擊偵測方法
CN103237503B (zh) 2010-09-10 2017-09-05 阿西斯特医疗系统有限公司 用于医学图像搜索的设备和方法
JP2012063824A (ja) * 2010-09-14 2012-03-29 Sony Corp 情報処理装置、情報処理方法、及びプログラム
JP5728866B2 (ja) * 2010-09-24 2015-06-03 ソニー株式会社 情報処理装置、情報処理端末、情報処理方法およびコンピュータプログラム
US8907892B2 (en) 2010-11-22 2014-12-09 Hillcrest Laboratories, Inc. 3D pointing device with up-down-left-right mode switching and integrated swipe detector
CN107943403A (zh) * 2010-11-22 2018-04-20 Idhl控股公司 具有上下左右模式切换和集成的挥动检测器的3d定位装置
JP5479414B2 (ja) * 2010-11-24 2014-04-23 キヤノン株式会社 情報処理装置およびその制御方法
KR101558200B1 (ko) 2010-12-06 2015-10-08 한국전자통신연구원 비접촉 방식의 그래픽 사용자 인터페이스 제공장치 및 방법
US8546741B2 (en) 2011-01-13 2013-10-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Compact optical finger navigation system based on speckles with an optical element including an optical redirection surface
US8928626B2 (en) 2011-04-27 2015-01-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Optical navigation system with object detection
CN102959494B (zh) 2011-06-16 2017-05-17 赛普拉斯半导体公司 具有电容式传感器的光学导航模块
US9223440B2 (en) 2011-06-28 2015-12-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Optical navigation utilizing speed based algorithm selection
EP2761407A4 (en) * 2011-09-30 2015-05-20 Intel Corp Transforming mobile device sensor interaction to represent user intent and perception
DE102012013685A1 (de) 2012-07-11 2014-01-16 Oerlikon Trading Ag, Trübbach Beschichtete Komponente
US9329702B2 (en) * 2013-07-05 2016-05-03 Pixart Imaging Inc. Navigational device with adjustable tracking parameter
CN104346083A (zh) * 2013-07-25 2015-02-11 富泰华工业(深圳)有限公司 滑动触摸操作的显示控制系统及方法
US20160224132A1 (en) * 2013-09-13 2016-08-04 Steinberg Media Technologies Gmbh Method for selective actuation by recognition of the preferential direction
DE102013015337A1 (de) * 2013-09-14 2015-03-19 Daimler Ag Verfahren zum Betreiben eines Gestenerkennungssystems für einen Kraftwagen
US9430097B2 (en) * 2013-09-30 2016-08-30 Synaptics Incorporated Non-orthogonal coding techniques for optical sensing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040234107A1 (en) * 2003-05-19 2004-11-25 Akihiro Machida System and method for optically detecting a click event
US20050143870A1 (en) * 2003-12-03 2005-06-30 Sony Corporation Information processing system, remote maneuvering unit and method thereof, control unit and method thereof, and recording medium
KR20070011396A (ko) * 2004-04-29 2007-01-24 코닌클리케 필립스 일렉트로닉스 엔.브이. 광 입력 및/또는 제어 디바이스
KR20080070786A (ko) * 2007-01-27 2008-07-31 (주) 아이.에스.브이. 자동 스크롤 광학 펜형 마우스

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0230529B2 (ja) * 1983-07-28 1990-07-06 Canon Kk Gazohyojisochi
US5424756A (en) * 1993-05-14 1995-06-13 Ho; Yung-Lung Track pad cursor positioning device and method
US5578813A (en) 1995-03-02 1996-11-26 Allen; Ross R. Freehand image scanning device which compensates for non-linear movement
US6222174B1 (en) 1999-03-05 2001-04-24 Hewlett-Packard Company Method of correlating immediately acquired and previously stored feature information for motion sensing
US7168047B1 (en) * 2002-05-28 2007-01-23 Apple Computer, Inc. Mouse having a button-less panning and scrolling switch
US7474772B2 (en) * 2003-06-25 2009-01-06 Atrua Technologies, Inc. System and method for a miniature user input device
US8692767B2 (en) * 2007-07-13 2014-04-08 Synaptics Incorporated Input device and method for virtual trackball operation
US20090207130A1 (en) * 2008-02-16 2009-08-20 Pixart Imaging Incorporation Input device and input method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040234107A1 (en) * 2003-05-19 2004-11-25 Akihiro Machida System and method for optically detecting a click event
US20050143870A1 (en) * 2003-12-03 2005-06-30 Sony Corporation Information processing system, remote maneuvering unit and method thereof, control unit and method thereof, and recording medium
KR20070011396A (ko) * 2004-04-29 2007-01-24 코닌클리케 필립스 일렉트로닉스 엔.브이. 광 입력 및/또는 제어 디바이스
KR20080070786A (ko) * 2007-01-27 2008-07-31 (주) 아이.에스.브이. 자동 스크롤 광학 펜형 마우스

Also Published As

Publication number Publication date
US20100079411A1 (en) 2010-04-01
US8212794B2 (en) 2012-07-03
KR20100037014A (ko) 2010-04-08
DE102009043800A1 (de) 2010-04-01

Similar Documents

Publication Publication Date Title
JP5821125B2 (ja) 内部全反射を使用する光学タッチスクリーン
US9857892B2 (en) Optical sensing mechanisms for input devices
US9063577B2 (en) User input using proximity sensing
US8508508B2 (en) Touch screen signal processing with single-point calibration
US7295329B2 (en) Position detection system
US8049720B2 (en) Compact optical pointing apparatus and method
EP2045694B1 (en) Portable electronic device with mouse-like capabilities
JP4668897B2 (ja) タッチスクリーン信号処理
KR101459816B1 (ko) 압력 센서를 갖는 광학 용량성 썸 컨트롤
RU2546063C2 (ru) Электронное устройство с узлом восприятия и способ интерпретации смещенных жестов
TWI423096B (zh) 具可觸控投影畫面之投影系統
US8730169B2 (en) Hybrid pointing device
US8269175B2 (en) Electronic device with sensing assembly and method for detecting gestures of geometric shapes
US8681124B2 (en) Method and system for recognition of user gesture interaction with passive surface video displays
WO2015105044A1 (ja) インターフェース装置、可搬装置、制御装置、モジュール、制御方法およびプログラム記憶媒体
US6618038B1 (en) Pointing device having rotational sensing mechanisms
US6100538A (en) Optical digitizer and display means for providing display of indicated position
US6614422B1 (en) Method and apparatus for entering data using a virtual input device
US6809723B2 (en) Pushbutton optical screen pointing device
US9298279B2 (en) Cursor control device
US20130314380A1 (en) Detection device, input device, projector, and electronic apparatus
US8605960B2 (en) Fingerprint sensing device
TWI393030B (zh) 位置檢測系統及方法
US8344325B2 (en) Electronic device with sensing assembly and method for detecting basic gestures
US9195347B2 (en) Input device and associated method

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 4