KR20120135184A - 가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법 - Google Patents

가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법 Download PDF

Info

Publication number
KR20120135184A
KR20120135184A KR1020127006825A KR20127006825A KR20120135184A KR 20120135184 A KR20120135184 A KR 20120135184A KR 1020127006825 A KR1020127006825 A KR 1020127006825A KR 20127006825 A KR20127006825 A KR 20127006825A KR 20120135184 A KR20120135184 A KR 20120135184A
Authority
KR
South Korea
Prior art keywords
rows
columns
pixel intensity
determining
contiguous
Prior art date
Application number
KR1020127006825A
Other languages
English (en)
Other versions
KR101851264B1 (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 KR20120135184A publication Critical patent/KR20120135184A/ko
Application granted granted Critical
Publication of KR101851264B1 publication Critical patent/KR101851264B1/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/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
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

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)
  • Multimedia (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

가상 작업 영역 안의 객체의 위치와 움직임을 감지하고 그 위치와 움직임의 정보를 PC또는 휴대폰 등 호스트 장치로 전송하기 위한 광 카메라 시스템과 프로세서를 사용하는 가상 멀티터치 입력 장치. 사용자의 손가락이나 객체가 평평한 부채꼴의 광선으로 비추는 관심 영역과 접촉할 때, 비추어진 손가락 또는 객체들은 광 카메라 시스템에 의해 이미지되고 상기 프로세서는 이 이미지들을 처리하여 상기 손가락 또는 객체들의 위치를 얻는다. 손가락 또는 객체들의 움직임 또는 움직임 패턴(제스처)에 따라, 상기 프로세서는 컴퓨팅 장치와 관련된 화면들을 제어하기 위한 멀티터치 정보를 생성한다.

Description

가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법 {System and Method for a Virtual Multi-touch Mouse and Stylus Apparatus}
관련 출원에 대한 상호 참조
본 출원은, 그것의 내용 전체가 여기에 참고 문헌으로써 포함되어 있는 2010년 1월 6일에 출원된 미국 특허출원 제61/292,653호에 기초하며 그에 대한 우선권을 주장한다.
본 발명은 특정 영역에서 사용자가 조작하는 객체의 존재와 위치를 감지하는 것에 관한 것으로, 좀더 구체적으로는, 하나 또는 그 이상의 전자 기기들을 가상적으로 조작하기 위하여 가상 작업 영역에서 하나 또는 그 이상의 손가락 또는 스타일러스(stylus)와 같은 객체 또는 객체들의 존재와 움직임을 광학적으로 감지하는 시스템 및 그 방법에 관한 것이다.
유비쿼터스(ubiquitous) 컴퓨터 마우스 등과 같은 사용자 입력 장치들은 컴퓨터 및 다른 전자 장치들을 위한 사용자 인터페이스(interface)로서 수십년간 이용되어 왔다. 전형적으로, 이러한 인터페이스 장치들은 화면상의 커서(cursor) 표시를 조작하기 위하여 유선 또는 무선 연결을 통해 컴퓨터로 입력 신호를 제공한다. 사용자가 어떤 평면 위에서 마우스를 움직임에 따라 그에 대응되는 화면상의 커서의 움직임을 시각적으로 감지할 수 있다. 추가적으로, 사용자는 화면상에 표시된 아이템(item)상으로 커서를 이동시키고 마우스에 설치된 하나 또는 그 이상의 스위치를 동작시킴으로써 그 표시된 아이템을 선택할 수 있다.
터치스크린(touch-screen) 인터페이스의 발전에 따라 싱글터치(single-touch) 및 멀티터치(multi-touch) 입력 방법들이 더욱 일반화되었다. 예를 들어, 사용자는 화면에 표시된 객체를 선택하기 위하여 물리적으로 터치스크린 인터페이스를 탭(tap)한다. 멀티터치 입력 방법로는 두 손가락을 대각선으로 서로 멀리했다 가까이했다 함으로써 각각 확대 또는 축소하는 것이 있다.
멀티터치 입력이 인기를 얻음에 따라, 많은 장치들이 멀티터치 기능을 포함하게 되었다. 예를 들어, 저명한 운영체제들은 여러가지 전자 장치들과 연관하여 멀티터치 사용자 입력을 가능하게 하고 있다. 이런 추세에 따라, 많은 컴퓨터와 휴대용 장치의 화면들은 멀티터치 기능을 가지고 있다. 터치스크린을 활용하는 많은 장치들은 휴대가능하고 사용하기 쉽도록 설계되었고 따라서 많은 경우에 장치 크기를 줄이기 위하여 키보드(keyboard)를 포함하지 않는다.
그러나, 이러한 장치에서 사용되게 설계된 많은 응용프로그램(application)들은 마우스나 키보드와 같은 별도의 사용자 입력 장치로 조작하는 것이 더 편리하다. 이러한 별도의 입력 장치에 관한 몇몇 특허들이 있다. "Device and Method for Generating a Virtual Keyboard/Display"라는 명칭으로 리우 등(Liu et al.)에게 허여된 미국 특허 제7,215,327호에서는 제1 레이저 에미터(emitter) 및 제2 레이저 에미터를 갖는 스캔(scan)용 레이저 광원이 표면을 스캔하여 사용자의 움직임과 선택을 파악한다. 이 장치는 반사된 제1 및 제2 광선을 수신하여 각 광선의 최초 스캔 지점에서 마지막 스캔 지점까지의 시간 차이를 측정한다. 그리고 반사된 제1 및 제2 광선의 스캔 시간 차이를 비교함으로써 사용자의 좌표를 파악한다.
"Quasi-three-dimensional Method and Apparatus to Detect and Localize Interaction of User-Object and Virtual Transfer Device"라는 명칭으로 토마시 등(Tomasi et al.)에게 허여된 미국 특허 제6,710,700 B2호에서는 가상 키보드와 입력 장치가 제공된다. 제1 광시스템(light system) OS1은 표면에 평행하게 광선을 투사한다. 제2 광시스템 OS2는 제1 광시스템 OS1과 함께 그 광선을 지나가는 객체의 위치를 파악한다. 이 특허는 제1 광시스템 OS1으로 광선을 투사하고 제2 광시스템 OS2를 카메라로 이용하는 능동 삼각측정법(active triangulation)을 통한 감지 방법을 포함한다. 이 특허는 또한 제1, 제2 광시스템 OS1과 OS2 양쪽을 카메라로 이용하는 수동 삼각측정법을 포함한다. 능동 및 수동 방법 모두 광선과 교차하는 객체의 이미지를 호모그래피(homography)를 이용하여 변환하여 그 객체의 실제 위치를 관련된 전자 장치에 전달한다. 더욱이, 빛이 약한 곳에서의 문제를 해결하기 위하여 OS1 및 OS2 카메라는 색깔을 인식하도록 구성할 수 있다.
본 개시에 따르면 하나 또는 그 이상의 연관된 전자 장치들의 조작에 사용되는 관심 영역 내의 객체의 존재와 움직임을 감지하기 위한 시스템 및 그 방법이 제시된다.
본 개시의 한 양태에 따르면, 가상 멀티터치 마우스와 가상 스타일러스로부터 사용자 입력을 얻기 위한 장치를 제시한다. 상기 장치는 하우징(housing)과 그 안의 광원(light source)과 이미지센서로 구성된다. 상기 광원은 관심 평면 위에 위치한 특정 주파수의 얇은 부채꼴 광선을 출사하게 구성된다. 상기 이미지센서는 관심 표면 위의 가상 작업 영역 내의 이미지를 계속적으로 수집하도록 구성된 광학 렌즈와 광학 필터를 포함한다. 상기 장치는 또한 관심 표면상 또는 가상 작업 영역 안의 하나 또는 그 이상의 객체의 존재 및 움직임을 이미지로부터 감지하도록 구성된 프로세서(processor)를 포함한다. 상기 감지는 각 이미지의 각 행 또는 열 또는 행과 열 양쪽을 평균하고 그 평균한 행과 열에 대한 히스토그램(histogram)을 준비함으로써 달성한다. 각 히스토그램은 계산되고 보정 표(calibration table)를 통하여 객체의 위치 및 움직임을 화면상의 커서 등과 같은 전자 장치로 변환된다. 각 이미지는 다음 이미지와 순차적으로 비교하여 사용자가 손가락이나 스타일러스를 움직일 경우와 같이 그 객체가 움직이는지, 움직인다면 어떻게 움직이는지 파악한다.
다른 양태에서는, 상기 장치는 각 이미지에 하나 또는 그 이상의 손가락이 존재하는지 파악하기 위하여 구성된다. 만약 하나 이상의 손가락이 존재한다면, 프로세서는 여러 손가락들이 멀티터치 마우스 동작을 하는지, 스타일러스가 움직이는지 파악한다. 멀티터치 마우스 동작의 몇 가지 예는 확대, 축소, 드래그(drag), 스크롤(scroll) 등이다. 다른 손가락 움직임 또는 스타일러스 움직임의 몇 가지 예는 필기체로 글씨쓰기, 그림그리기 등이다.
기술적 과제는 물리적인 작업 표면 위의 가상 작업 영역을 이용해서 손가락 또는 스타일러스의 팁(tip)과 상기 장치의 상기 하우징과의 상대적 위치를 감지하는 것이다. 본 개시의 일 실시예에서는 그 장치는 하우징 내에 임베디드(embedded) 프로세서를 포함하고, 상기 임베디드 프로세서는 메모리 및 통신 유닛(unit)과 연결되고, 상기 통신 유닛은 멀티터치 마우스 이벤트를 협력 호스트(companion host) 장치로 전송하게 구성된다. 상기 통신 유닛은 상기 호스트 장치로 유선 또는 무선으로 정보를 전송한다.
본 개시의 다른 실시예에서는 장치는 하우징 안의 통신 유닛이 이미지 데이터를 프로세서를 포함하고 협력 호스트 장치로 전송하도록 구성된다. 상기 통신 유닛은 상기 호스트 장치로 이미지 정보를 유선 또는 무선으로 전송한다. 전송 방법을 예시하면 유선 USB, 무선 USB, 블루투스(Bluetooth) 등이 있다.
대체적인 실시예에서는, 장치는 가상 스타일러스로부터 사용자 입력을 받게끔 구성된다.
본 개시의 다른 양태에 따르면, 작업 영역에서 빛의 평면을 차단하는 하나 이상의 객체를 감지하고, 상기 객체의 복수의 이미지들를 캡처(capture)하고, 상기 각 이미지들이 복수의 픽셀(pixel)을 행과 열로 가지고, 상기 각 이미지에 대하여 상기 각 열(column)의 픽셀들의 픽셀 인텐시티(intensity) 값들을 평균하여 열 히스토그램을 만들고, 트레시홀드(threshold) 열 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 열들의 집합을 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크(spike)를 하나 이상 결정하고, 트레시홀드 행 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 행들의 집합을 하나 이상 결정하고, 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크 및 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크으로부터 상기 빛의 평면을 차단하는 작업 영역 내의 하나 이상의 객체의 좌표를 결정하는 방법이 제공된다.
본 개시의 다른 양태에 따르면, 상기 방법은 상기 연속된 행들의 집합의 중심 행을 정하고 상기 연속된 열들의 집합의 중심 열을 정함으로써 상기 작업 영역 중의 상기 하나 이상의 객체의 중심 점을 결정하는 것을 포함한다. 상기 연속된 행들의 집합의 중심 행 및 상기 연속된 열들의 집합의 중심 열을 구하는 것은 상기 연속된 행들의 전체 수를 구하여 둘로 나누고 상기 연속된 열들의 전체 수를 구하여 둘로 나눔으로써 각각 구할 수 있다.
본 개시의 또다른 양태에 따르면, 상기 작업 영역에 복수의 객체가 있는지 결정하는 것은 상기 연속된 행들의 집합 중 한 개를 초과하는 평균 픽셀 인텐시티 값들의 스파이크가 있거나 상기 연속된 열들의 집합 중 한 개를 초과하는 평균 픽셀 인텐시티 값들의 스파이크가 있는가를 정함으로써 이룰 수 있다. 이는 또한 상기 연속된 열들의 집합이 연속된 열들의 집합의 트레시홀드보다 높거나 상기 연속된 행들의 집합이 연속된 행들의 집합의 트레시홀드보다 높은가 정함으로써도 할 수 있다.
본 개시에 따른 시스템은 상기 방법을 수행할 수 있도록 구성될 수 있다. 예를 들면, 하나 이상의 객체와 사용될 수 있는 가상 마우스를 포함하는 시스템이 제공되고,
상기 가상 마우스 장치는 하우징에 설치된 광원을 가지고, 상기 광원은 관심 평면 위로 특정 주파수를 갖는 얇은 부채꼴 광선을 계속적으로 방출하거나 깜빡이게(pulse) 구성되고,
상기 가상 마우스 장치는 하우징에 설치된 단일 센서를 가지고, 상기 센서는 가상 작업 영역을 정의하기 위한 얇은 부채꼴의 광선과 교차하는 시야(field of view)를 갖게 구성된 광학 렌즈과 광학 필터, 상기 작업 영역의 얇은 부채꼴 광선을 가르는 하나 이상의 객체를 감지하고 작업 영역 내의 하나 이상의 객체에 대한 복수의 이미지들을 캡처하도록 구성된 센서, 상기 각 복수의 이미지들은 행과 열에 복수의 픽셀들을 가지도록 구성된다.
상기 시스템은 또한 각 픽셀 열(column)의 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 열 히스토그램을 생성하고, 트레시홀드(threshold) 열 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 열들의 집합을 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 각 픽셀 행(row)의 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 행 히스토그램을 생성하고, 트레시홀드 행 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 행들의 집합을 하나 이상 결정하고, 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크 및 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크으로부터 상기 빛의 평면을 차단하는 작업 영역 내의 하나 이상의 객체의 좌표를 결정하고, 상기 작업 영역 내의 하나 이상의 객체의 감지에 대응하는 출력 신호를 생성하는 프로세서를 포함한다. 상기 프로세서는 가상 마우스 장치의 일부나 통신 유닛 등 상기 시스템의 다른 장치와 연관되어 구성될 수 있다.
본 개시에 관하여 앞서 서술한 것 외에도 다른 기능들과 장점들은 첨부된 도면들과 관련하여 다음의 구체적인 내용에서 더욱 잘 이해되고 평가될 수 있다.
도 1a는, 본 개시의 한 양태에 따른 가상 멀티터치 입력 시스템의 측면도이다.
도 1b는, 도 1a에 나타내는 가상 멀티터치 입력 시스템의 등각도이다.
도 2a 내지 2e, 3a 내지 3e, 4a 내지 4d는, 본 개시의 일 실시예에 따른 관심 영역에서의 하나의 손가락과 여러 손가락들의 이미지들과 히스토그램들이다.
도 5a는, 본 개시의 일 실시예에 따른 임베디드 프로세서를 갖는 가상 멀티터치 입력 장치의 약도이다.
도 5b는, 본 개시의 다른 일 실시예에 따라 프로세서를 내장한 호스트 장치와 짝을 이루게 연결된 가상 멀티티치 입력 장치를 갖는 시스템의 약도이다.
도 6은, 본 개시의 일 실시예에 따른 가상 멀티터치 입력 시스템이 수행하는 한 방법의 흐름도(flow chart)이다.
도 7은, 본 개시의 일 실시예에 따른 손가락이나 스타일러스의 위치를 감지하는 한 방법의 흐름도이다.
도 8은, 본 개시의 일 실시예에 따른 X축 보정 표이다.
도 9는, 본 개시의 일 실시예에 따른 Y측 보정 표이다.
도 10은, 본 개시에 따른 장치와 작업 표면 위에 좌표를 겹친 평면도이다.
다음 설명에서는 개시의 여러 실시예의 이해를 위하여 어떤 특정한 구체적인 내용을 제시하는 경우가 있다. 그러나, 본 분야의 기술자라면 본 개시는 이러한 구체적인 내용 없이도 실현될 수 있음을 이해할 것이다. 다른 경우들에서는 본 개시의 실시예들의 설명을 불필요하게 흐리게 하지 않도록 센서와 이미지 프로젝션(projection)에 관한 잘 알려진 구조들은 상술하지 않았다.
문맥상 달리 해석될 필요가 없는 경우, 다음 상세와 청구범위 전부에 있어, "포함한다(comprise)"라는 용어는 개방적, 포괄적인 의미로, 즉, "포함하고, 그러나 한정하지 아니하는"의 의미로, 쓰인다.
또한, 이 상세 전체에서 "일 실시예"의 의미는 그 실시예와 관련하여 서술한 특정한 기능, 구조 또는 특성이 최소한 하나 이상의 실시예에 포함된다는 뜻이다. 따라서, 이 상세 여기저기에서 나타나는 "일 실시예"는 반드시 동일 실시예를 나타내는 것이 아니다. 더욱이, 그 특정한 기능, 구조, 특성은 하나나 그 이상의 실시예에서 어떤 방식으로도 결합될 수 있다.
도면에서, 같은 참조 번호는 비슷한 기능이나 구성요소를 나타낸다. 도면에 나타난 크기나 상대적 위치는 항상 비율에 맞게 그려진 것은 아니다. 예를 들어, 여러 기능들의 모양들은 비율에 맞게 그려지지 않고, 도면의 가독성을 높이는 쪽으로 확대되고 위치되었다.
제목들은 편의를 위한 것일 뿐으로 실시예의 범위나 의미를 나타내지 않는다.
먼저, 도 1a을 참조하면, 가상 멀티터치 마우스 장치(9), 그에 따른 하우징(10), 상기 하우징(10)의 하면(14)과 전면(15)에 접하여 위치된 광원 유닛(12), 상기 하우징(10)의 상면(18)과 전면(15)에 접하여 위치된 센서 시스템(16)의 측면도가 제시되었다. 상기 광원 유닛(12)은 얇은 부채꼴 광선(20)을 하우징(10)의 전면(15)으로 작업 평면(22)에 평행하고 가깝게 방출하도록 구성되고 위치되었다. 상기 센서 시스템(16)은 작업 표면(22) 위의 광선(20)을 내려다 보면서 데이터를 얻을 수 있도록 각도가 주어졌다.
본 개시의 목적을 위하여, 작업 영역(22)은 광선(20)과 센서 시스템(16)의 감지 영역(23)이 교차하는 곳 아래의 물리적 구조로 정의되는 이차원 영역이다. 상기 작업 영역(22)은 어떠한 센서, 기계 또는 전자 부품도 포함하지 아니한다. 테이블 표면, 비행기 쟁반, 종이 한 장, 또는 어떤 적당한 표면도 될 수 있다. 상기 감지 영역(23)은 이미지 센서(16)가 사용자 손가락(24)의 팁의 이미지 또는 스타일러스 또는 펜의 팁 등 다른 객체의 이미지를 캡처할 수 있는 영역이다. 도 1a에서는 사용자 손가락(24)이 부채꼴 광선(20)과 교차하게 제시되었다. 이 사용자 손가락은 작업 표면(22)을 건드릴 수도 있지만, 부채꼴 광선(20)을 가르기만 하면 센서 시스템(16)에 의해 감지된다. 따라서, 작업 표면(22)이 사용자가 손가락이나 스타일러스를 놓는 물리적 구조라고 정의되지만, 가상 작업 영역은 센서(16)의 감지 영역 내 존재하는 부채꼴 광선(20)의 일부가 된다.
도 1b는 작업 표면(22) 뒤에 위치된 하우징(10)의 전면(15)에 대한 등각도이다. 여기에, 감지 영역(23)이 부채꼴 광선(20)을 교차하여 작업 표면(22) 위에 가상 작업 영역(36)(이 경우 직사각형 시야)을 형성하는 것을 볼 수 있다. 센서 시스템(16)이 가상 작업 영역(36) 내의 시야(field of view)의 이미지들을 찍는데 이는 보는 바와 같이 직사각형 일 수 있다. 그렇지 않으면, 작업 영역(36)을 위에서 본 모양은 원형일수도 있고, 광선(20)과 같은 치수를 가질 수도 있고, 그 밖 어떤 기하학적이거나 기하학적이지 않은 모양이 될 수 있다.
사용자는 작업 영역(36) 내의 광선(20)에 의해 형성된 빛의 평면을 가르기 위하여 손가락(24)이나 스타일러스 등 하나 또는 그 이상의 객체를 이용한다. 센서 시스템(16)이 작업 영역(36) 내의 하나 또는 그 이상의 팁의 존재 및 움직임을 감지한다. 손가락(24)은 상기 빛의 평면 위 아래로 움직여서 마우스 클릭을 하거나, 손가락(24)을 작업 영역(36) 내에서 스타일러스나 펜처럼 움직여서 그리거나 쓸 수 있다.
센서 시스템(16)은 도 2a, 3a, 4a에 도시된 바와 같이 복수의 이미지들(100,102,104)을 캡처하도록 구성되어 작업 영역(36) 내의 손가락 또는 손가락들의 위치를 감지한다. 이미지들(100,102,104)은 확대 동작을 하는 첫 번째 손가락(106)과 두 번째 손가락(108)의 세개의 연속된 이미지들의 예이다. 장치(9)는 도 5a와 관련하여 아래에 서술하는 바와 같이 임베디드 프로세서(218)를 포함하거나 도 5b와 관련하여 아래 서술하는 바와 같이 호스트 장치(210) 내의 프로세서(211)와 통신한다. 프로세서(218,211)는 손가락(24), 스타일러스 등의 팁의 이미지를 평가하여 작업 영역(22)에서의 상대적인 위치를 결정한다. 그 후 그 프로세서는 시야(36) 내의 팁의 위치를 스크린이나 모니터, 프로젝션 스크린, 종이 등에 프린트하는 등 다른 화상 장치의 위치로 변환한다. 움직임은 멀티터치 마우스 움직임, 그림그리는 선, 필기체 또는 정자체 글씨쓰기가 될 수 있다.
광원 유닛(12)은 작업 영역(22)의 약간 위로 얇은 빛의 평면 또는 얇은 부채꼴 광선(20)을 투사한다. 일 실시예에서, 빛의 평면(20)은 작업 표면(22)과 평행하게 투사되고 그 작업 표면으로부터 일정 거리(21)만큼 떨어진다. 일 실시예에서, 그 거리(21)는 5mm에서 10mm 사이이다. 그러나, 빛의 평면(20)은 가령 불균일, 불규칙 또는 각도 있는 작업 표면들과 같은 비정규적 작업 표면들에는 다른 각도로 투사될 수 있다. 광원 유닛(12)은 특정 주파수의 빛을 얇은 부채꼴의 광선(20)으로 투사할 수 있는 LED, 레이저 또는 다른 광원이 될 수 있다. 이상적으로는, 광선(20)은 0.1mm에서 0.5mm 사이가 적당하고, 0.1mm에서 0.3mm 사이이면 더욱 바람직하다. 광선(20)은 광선의 평면(20) 내에 손가락(24)이 있을 때 그 손가락을 밝히기에 적당한 인텐시티로 투사된다. 그 빛은 어떠한 주파수여도 상관없지만, 비가시적일 것이 선호된다. 즉, 주파수 범위가 1에서 430THz인 적외선(IR) 영역이 선호되는 선택이다.
대안적인 실시예에서는, 광원 유닛(12)은 광선(20)을 깜빡이며 투사한다. 광선(20)을 깜빡이며 투사하는 것은 광선(20)을 계속적으로 투사하는 것에 비하여 전력 소비를 절약하는 장점이 있다. 예를 들어, 광원 유닛(12)이 주파수 30Hz, 작업 주기(duty cycle) 50%로 깜빡이며 빛을 투사한다면, 광원 유닛(12)은 다른 경우에 비하여 절반의 시간만 켜져 있게 된다. 추가적인 전력 효율은 배터리 수명을 늘리거나 절약된 전력만큼 광선(20)의 인텐시티를 증가시키는데 사용할 수 있다. 광선(20)의 인텐시티가 클수록 센서 시스템(16)에 의해 캡처되는 이미지의 신호대잡음비(signal-to-noise ratio) 특성이 좋아진다. 신호대잡음비가 증가하면 측정 정확도가 증가하고 따라서 장치(9)의 정확도와 성능이 개선된다.
센서 시스템(16)은 가상 작업 영역(36)의 이미지들을 캡처하고 프로세서는 이 이미지들을 평가하여 하나 또는 그 이상의 손가락들(24)이나 스타일러스가 작업 영역(36) 내의 광선(20)이 형성한 평면을 가르는지 결정한다. 사용자의 손가락(24) 나 스타일러스나 펜 등의 객체가 광선(20)을 교차하거나 관심 표면(22)을 건드리면, 광원 유닛(12)이 방출한 빛(20)이 반향(echo back)하고 센서 시스템(16)에 의해 이미지화된다. 센서 시스템(16)은 광학 렌즈와 광학 필터를 포함하는 이미징(imaging) 요소들의 배열을 가지고 있다. 렌즈는 작업 영역(36)의 시야 내의 작업 표면(22)을 이미지화하도록 구성되고 광학 필터는 주위의 빛을 막도록 구성된다. 보다 바람직하게, 광학 필터는 광원 유닛(12)으로부터 방출되는 특정 주파수만 허용하고 나머지는 차단하도록 더 구성된다.
광학 필터는 광원 유닛(12)으로부터 방출되는 광선(20)의 주파수 외의 빛의 상당한 부분을 차단할 수 있다. 광학 필터는 광선(20)의 주파수에 따라 저역 필터, 고역 필터 또는 대역 통과 필터가 될 수 있다. 일 실시예에 있어, 광선(20)이 적외선 주파수대에서 방출되고 광학 필터는 적외선 주파수대 이외의 모든 주파수를 차단한다.
센서 시스템(16)의 광학 필터는 부품이나 기능으로서 센서 시스템(16) 내에 제조될 수 있다. 많은 이미지 센서들은 제조 시 마이크로 렌즈 층을 도포하기 전에 도포된 컬러 필터 배열(color filter array, CFA)를 포함한다. 그렇지 않으면, 이미지 센서 제조 후 렌즈 위에 필름 형태의 물질을 덮어 광선(20)의 주파수를 제외한 모든 주파수를 차단하도록 할 수 있다.
센서 시스템(16)은 작업 영역(22)의 순차적 이미지들을 캡처하는 구조로 되어있고, 그 이미지들은 연속된 개별 이미지이거나 연속된 이미지의 스트림일 수 있다. 프로세서는, 임베디드이거나 호스트 시스템에 내장되거나에 상관없이, 각 이미지를 평가하여 손가락(24)이나 스타일러스가 광선(20)의 평면을 지나는지 평가한다. 이미지의 평가는 아래에 더 자세히 서술한다.
본 개시의 일 실시예에 따르면, 센서 시스템(16)은 다양한 해상도를 갖는 CCD 또는 CMOS 이미지 센서일 수 있다. 이러한 이미지 센서는 각 이미지에 수십만에서 수백만에 이르는 픽셀들 포함할 수 있고, 그 픽셀들은 행과 열의 행렬로 이루어진다. 일 실시예에서는 센서 시스템(16)은 여기서 상술하지 아니하는 상업적으로 쉽게 구할 수 있는 상대적으로 저해상도의 이미지 센서로 구현된다. 예를 들어, 센서 시스템(16)은 640 행과 480 열의 픽셀을 갖는 VGA 이미지 센서일 수 있다. 다른 예로는, 센서 시스템(16)은 352 행과 288 열의 픽셀을 갖는 CIF 이미지 센서일 수 있다. 그러나, 센서 시스템(16)은 여기에 언급한 것 이외에도 더 높거나 낮은 어떠한 해상도의 이미지 센서로 구현될 수 있다.
일 실시예에서는, 장치(9)는 저전력 움직임 감지 센서 장치를 포함하여, 움직임이 감지될 때 그 장치가 빛 시스템(12) 및 센서 시스템(16)으로 신호를 보낼 수 있다. 이것은 저전력 모드를 위한 것으로, 가령 일정 시간 동안 시야(36) 내에 움직임이 없을 경우 빛 시스템(12) 및 센서 시스템(16)이 절전 모드(sleep mode)로 들어간다. 움직임이 감지되면, 빛 시스템(12)은 부채꼴의 광선을 방출하기 시작하고 센서 시스템(16)은 이미지를 캡처하기 시작한다.
센서 시스템(16)은 특정 주파수의 이미지들을 캡처하도록 설정될 수 있다. 일 실시예에서는, 센서 시스템(16)이 초당 30 프레임의 속도로 이미지를 캡처한다. 전력 소비 절감을 위해 작업 표면 상의 움직임이 감지되었을 때만 이미지를 캡처하게끔 이미지가 캡처되는 속도를 제어할 수 있다.
일 실시예에서는 센서 시스템(16)은 광원 유닛(12)의 빛의 깜빡임과 이미지 캡처를 동기화한다. 예를 들어, 부채꼴의 광선(20)이 1 밀리세컨드 동안 켜지도록 깜빡이면 센서 시스템(16)의 셔터는 3 밀리세컨드 동안 열린다. 셔터는 빛이 깜빡이기 이전에 1 밀리세컨드 동안 열리고 깜빡인 후에 1밀리세컨드 동안 열려서 손가락이나 스타일러스의 팁을 정확하게 캡처할 수 있다. 위에서 언급한 것처럼, 광선(20)을 깜빡이는 것은 광선당 더 많은 전력을 사용할 수 있게 하여 더 강한 광선(20) 내는 결과가 된다. 더 강한 광선(20)으로 반사나 다른 밝은 팁들이 이미지에 더 많이 나타난다.
깜빡이는 광선(20)의 주파수는 이미지 센서(16)의 상세에서 결정될 수 있다. 예를 들면, 광선(20)은 이미지 센서(16)가 초당 30프레임으로 캡처하도록 설정된 경우 광선(20)은 30Hz로 깜빡인다. 어떤 이미지 센서(16)들은 보통 스트로브 출력 핀(strobe output pin)이라 불리는 핀들을 포함하는데, 이 핀들은 광선(20)의 깜빡임과 센서 시스템(16)의 이미지 캡처를 동기화하는 데 쓰일 수 있다. 이 스트로브 출력 핀은 광원 유닛(12)에 신호를 보내어 광선(20)의 방출을 시작하도록 하는데, 이는 센서 시스템(16)이 이미지를 캡처하였을 때, 또 센서 시스템(16)이 이미지를 캡처하도록 스케줄 된 때에서 얼마 후에 일어나서 사용자 손가락(24)를 밝히는데 필요한 빛을 최대화한다.
만일 센서 시스템(16)이 광원 시스템(12)과 제대로 동기화되지 못한 경우, 장치(9)는 손가락(24)의 존재를 정확하게 감지하지 못할 수 있다. 이러한 감지 오류를 피하기 위해, 광원 유닛(12)으로부터 나오는 깜빡임은 나이퀴스트의 정리(Nyquist theorem)에 따라 센서 시스템(16)의 캡처 주파수보다 최소한 두 배가 될 수 있다.
장치(9)는 사용자가 장치(9)의 운영 상태 또는 모드를 제어할 수 있는 파워 버튼(30)을 포함할 수 있다. 추가적으로, 파워 버튼(30)은 블루투스와 같은 통신 프로토콜을 통해 장치(9)와 호스트 장치를 연결하는 데 사용될 수 있다. 예를 들어, 파워 버튼(30)을 두 번 누르는 것으로 장치(9)가 내부 블루투스 전파를 활성화 하려 한다는 것을 나타낼 수 있다. 더 나아가, 장치(9)는 파워 버튼(32)을 이용하여 장치(9)가 수면모드에서 더욱 빨리 회복할 수 있는 저전력 대기 모드로 들어가게 이용할 수 있다. 예를 들어, 사용자는 파워 버튼을 세 번 누르는 것으로 저전력 대기 모드 또는 수면 모드로 들어갈 수 있다. 그렇지 않으면, 장치(9)는 파워 버튼(30)을 몇 초 동안 누르고 있으면 저전력 대기 모드로 들어가도록 프로그램 될 수 있다.
하우징(10)은 또한 장치(9)와 호스트 장치 간의 연결을 대체하여 통신 포트(32)를 포함할 수 있다. 예를 들어, 통신 포트(32)는 USB 포트, 파이어와이어(FireWire) 포트, 미니 USB 포트 등이 될 수 있다. 장치(9)는 통신 포트(32)를 통하여 호스트에 연결될 때, 장치(9)가 모든 무선 통신 전파 또는 장치(9)에 내장된 모든 배터리를 끄도록 구성될 수 있다. 장치(9)는 또한 통신 포트(32)를 통하여 호스트 장치에 직접 연결되었을 경우 자동으로 충전 모드로 들어갈 수 있다.
하우징(10)은 가시광선 패턴(38)을 작업 표면(22) 위로 투사하도록 구성된 광원(26)을 포함할 수 있다. 광선 패턴(38)은 사용자에게 작업 영역(36)의 경계에 대한 시각적 표시를 제공하여 사용자가 작업 영역 안에 머물고 사용자의 가상 마우스 움직임이 감지되도록 돕는다. 광선 패턴(38)은 LED, 백열등 등에 의해 만들어질 수 있다. 추가적으로, 광원(26)의 인텐시티는 사용자에 의해 필요한 인텐시티로 증가되거나 감소될 수 있다.
일 실시예에서, 광원(26)은 작업 표면(22)의 일부를 밝히도록 위치될 수 있다. 광원(26)은 오직 센서 시스템(16)에 의해 감지될 수 있는 대략의 영역을 사용자에게 나타내는 기능만을 할 수도 있다. 일 실시예에 있어, 광원(16)은 광원 유닛(12)에 상응하는 주파수의 빛으로 설정되어 사용자 손가락(24)으로부터의 반사를 개선하도록 구성된다. 광원(26)이 센서 시스템(16) 아래에 있는 것으로 도시되어 있지만, 광원(26)은 센서 시스템(16) 위나 옆에 위치할 수 있다. 일 실시예에 따르면, 광원(26)은 장치(9) 위, 주변, 근접하게 미관적으로 좋은 디자인을 만들기 위하여 위치된 복수의 광원을 포함할 수 있다.
사용자의 손가락이나 스타일러스 중 하나라도 광선의 평면(20)을 가르면, 멀티터치 입력 장치(9)는 그 손가락 팁의 위치를 결정하기 위한 과정을 시작한다. 손가락 팁(24)이 평면을 가르거나 작업 표면(22)을 건드릴 때 광선(20)으로 비추어진다. 손가락이 반드시 작업 표면(22)을 건드릴 필요는 없고, 광선(22)의 평면을 가르기만 하면 된다. 사용자가 광선(20)과 의도하지 않은 간섭 없이 사용자의 손가락(24) 또는 스타일러스를 부드럽게 움직일 수 있도록 액체 또는 갤 패드, 종이 패드, 또는 4
다른 대안적인 표면 등의 마찰이 적은 패드를 작업 표면(22)에 놓기 위해, 작업 표면(22) 위에서 광선(20)까지의 거리를 크게 할 수 있다.
도 2a, 3a, 4a는 축소 멀티터치 동작 중 센서 시스템(16)에 의해 찍혀진 연속적 이미지들(100, 102, 104)의 간략화된 예이다. 도 2b, 3b, 4b는 프로세서(218, 211)가 생성한 이미지들(100, 102, 104)의 각각의 열 히스토그램들(110, 112, 114)이다. 도 2c, 2e는 도 2a와 동일한 객체들의 이미지를 찍은 것으로, 각각 도 2d, 2f의 행 히스토그램들(610, 612)을 생성하기 위하여 처리된 것이다. 마찬가지로, 도 3c, 3e는 각각 도 3d, 3f의 행 히스토그램들(614, 615)에 대응하는 도 3a의 동일한 객체의 이미지이다. 도 4c는 도 4a 및 그에 따르는 행 히스토그램(616)에서 온 두 객체들의 이미지이다.
이미지들(100, 102, 104)은 도해의 편의를 위해 10 x 10의 픽셀의 배열(116)로 나타내었다. 실제로는, 각 이미지는 수많은 픽셀들(116)을 가질 수 있다. 도 2a는 제1손가락(106), 제2손가락(108)이 부채꼴의 광선(20)에 비추어짐에 따라 센서 시스템(16)에 의해 찍힌 제1이미지(100)이다. 제1손가락(106)은 제1이미지(106)의 제1모서리(118)에 가까이 위치된다. 제1손가락(106)이 비추어짐에 따라, 초승달모양 또는 곡선 모양이 캡처된다. 이 초승달 모양 또는 곡선 모양이 일반적으로 인간의 손가락 또는 펜이나 원통형 스타일러스와 같은 다른 곡선 객체가 이미지되는 모양이다. 만약 정사각형 객체가 사용된다면, 이미지는 다른 직사각형 모양을 캡처할 것이다.
일 실시예에서, 이미지 센서는 픽셀 배열의 각 픽셀(116)에 입사하는 광자(photon)의 인텐시티를 캡처할 것이다. 이미지 센서(16)에 가까운 객체들은 센서로부터 먼 곳에 위치된 객체들에 비하여 이미지 센서로 캡처한 광자들이 높은 입사 인텐시티를 제공할 것이다. 광자들의 인텐시티는 가장 최근 리셋 시간으로부터 측정되는데, 이는 센서를 덮는 셔터의 열림 일 수 있다. 광자 인텐시티는 그 다음에 전압으로 변환된다. 픽셀 배열의 행의 각 픽셀은 동시에 읽혀질 수 있다. 픽셀 배열의 모든 행을 읽은 후, 장치(9)는 각 열의 각 픽셀을 더하여 픽셀 배열의 모든 행의 평균 인텐시티를 계산할 수 있다. 이미지 센서가 시야 또는 작업 영역(36) 내의 특정 주파수의 필터된 반사들을 캡처하기 때문에, 히스토그램(예를 들면 인텐시티와 열 번호의 도표)은 픽셀의 평균 인텐시티의 상당한 증가가 손가락 또는 손가락 팁의 반사에 대응하는 열들을 나타낸다.
히스토그램 내의 여러 열들에 대한 평균 인텐시티의 증가는 히스토그램에서 스파이크 또는 피크(peak)값으로 나타날 것이다. 히스토그램에서 상기 스파이크 또는 피크 값 또는 값들의 중심점 또는 중심은, 인텐시티 값들에 대한 정해진 트레시홀드보다 높은 각 스파이크의 열 또는 행 폭을 측정하고 상기 스파이크가 차지하는 열 또는 행의 수를 알아내어 결정할 수 있다. 그 다음에, 상기 스파이크가 차지하는 열 또는 행의 수를 둘로 나누어, 한 모서리에서 상기 스파이크의 중심까지 열이나 행에 관하여 폭이 결정된다. 이 폭을 첫번째 또는 좌측 끝의 스파이크의 행 또는 첫번째 또는 낮은 스파이크의 행에 더하면, 상기 스파이크의 중간점이 계산된다. 상기 스파이크의 중간점은 장치에 의해서 작업 영역(36) 내의 객체의 중심을 나타내는데 이용될 수 있다.
스파이크의 특정한 폭은 필터된 시야 내의 하나의 손가락 또는 하나의 객체를 나타내는 것으로 주어질 수 있다. 장치는, 히스토그램에서 미리 정해진 트레시홀드보다 큰 복수의 스파이크들 또는 스파이크로써, 하나를 초과하는 객체나 손가락이 작업 영역 안에 있다는 것을 나타내도록 프로그램될 수 있다. 예를 들어, 만약 센서가 640 열과 480 행을 갖는 VGA 이미지 센서이고, 단일 객체 스파이크의 미리 설정된 트레시홀드가 가로 30열이라면, 가로 40 열의 스파이크를 갖는 히스토그램은 손가락 팁 두 개 또는 손가락 두 개가 붙어있는 것으로 등록될 수 있다. 따라서 상기 장치는 사용자가 마우스 이벤트가 아닌, 드래그 이벤트 또는 플릭(flick) 이벤트를 의도한다고 결정할 수 있는데, 이는 아래에 상술한다.
상기 열 히스토그램들과 비교하기 위한 인텐시티를 결정하기 위하여 각 행의 픽셀을 더한 행 히스토그램도 결정될 수 있다. 열 히스토그램들에 관한 상기 절차와 비슷하게, 캡처한 이미지의 각 행의 평균 인텐시티 값은 각 행의 평균 인텐시티 값에 대하여 도표로 만들 수 있다. 미리 정해진 트레시홀드보다 큰 평균 인텐시티 값을 갖는 여러 행들은 센서 시스템의 작업 영역(36) 내에 하나 이상의 객체가 있음을 나타낸다. 관계된 행 히스토그램의 스파이크의 중심점은 상기 열 히스토그램들과 관련하여 서술된 것과 같이 결정될 수 있다. 행 히스토그램에 여러 스파이크들이 존재한다면, 그 데이터는 장치에 의해 사용자가 수행한 특정 마우스 이벤트를 알아내는데 사용될 수 있다.
요약하면, 프로세서 효율을 높이기 위해, 현재 방법에 따르면 이미지들 또는 히스토그램들의 일부만 처리할 수 있다. 일 실시예에서, 상기 방법은, 하나 이상의 객체가 작업 영역의 빛의 평면을 가르는 것을 감지하고, 작업 영역의 빛의 평면을 가르는 하나 이상의 객체의 복수의 이미지들을 캡처하며, 상기 각 복수의 이미지들은 행과 열에 복수의 픽셀들을 가지고, 각 픽셀들의 열에 대한 픽셀 인텐시티 값들의 평균을 구하여 각 이미지의 열 히스토그램을 생성하며, 열 평균 픽셀 인텐시티 값의 트레시홀드를 넘는 평균 픽셀 인텐시티 값들의 연속된 열 중 하나 이상의 집합을 구하고, 연속된 열들의 집합에서 하나 이상의 평균 픽셀 인텐시티 값들의 스파이크를 구하며, 각 픽셀들의 행에 대한 픽셀 인텐시티 값들의 평균을 구하여 각 이미지의 행 히스토그램을 생성하고, 행 평균 픽셀 인텐시티 값의 트레시홀드를 넘는 평균 픽셀 인텐시티 값들의 연속된 행 중 하나 이상의 집합을 구하며, 연속된 행들의 집합에서 하나 이상의 평균 픽셀 인텐시티 값들의 스파이크를 구하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크 및 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크로부터 상기 빛의 평면을 차단하는 작업 영역 내의 하나 이상의 객체의 좌표를 결정하는 것을 포함한다.
본 개시의 다른 양태에 따르면, 상기 방법은 상기 연속된 행들의 집합의 중심 행을 정하고 상기 연속된 열들의 집합의 중심 열을 정함으로써 상기 작업 영역 중의 상기 하나 이상의 객체의 중심 점을 결정하는 것을 포함한다. 상기 연속된 행들의 집합의 중심 행 및 상기 연속된 열들의 집합의 중심 열을 구하는 것은 상기 연속된 행들의 전체 수를 구하여 둘로 나누고 상기 연속된 열들의 전체 수를 구하여 둘로 나눔으로써 각각 구할 수 있다.
본 개시의 또다른 양태에 따르면, 상기 작업 영역에 복수의 객체가 있는지 결정하는 것은 상기 연속된 행들의 집합 중 한 개를 초과하는 평균 픽셀 인텐시티 값들의 스파이크가 있거나 상기 연속된 열들의 집합 중 한 개를 초과하는 평균 픽셀 인텐시티 값들의 스파이크가 있는가를 정함으로써 이룰 수 있다. 이는 또한 상기 연속된 열들의 집합이 연속된 열들의 집합의 트레시홀드보다 높거나 상기 연속된 행들의 집합이 연속된 행들의 집합의 트레시홀드보다 높은가를 정함으로써도 할 수 있다.
본 개시에 따른 시스템은 상기 방법을 수행할 수 있도록 구성될 수 있다. 예를 들면, 하나 이상의 객체와 사용될 수 있는 가상 마우스를 포함하는 시스템이 제공되고,
상기 가상 마우스 장치는 하우징에 설치된 광원을 가지고, 상기 광원은 관심 평면 위로 특정 주파수를 갖는 얇은 부채꼴 광선을 계속적으로 방출하거나 깜빡이게 구성되고,
상기 가상 마우스 장치는 하우징에 설치된 단일 센서를 가지고, 상기 센서는 가상 작업 영역을 정의하기 위한 얇은 부채꼴의 광선과 교차하는 시야를 갖게 구성된 광학 렌즈과 광학 필터, 상기 작업 영역의 얇은 부채꼴 광선을 가르는 하나 이상의 객체를 감지하고 작업 영역 내의 하나 이상의 객체에 대한 복수의 이미지들을 캡처하도록 구성된 센서, 상기 각 복수의 이미지들은 행과 열에 복수의 픽셀들을 가지도록 구성된다.
상기 시스템은 또한 각 픽셀 열의 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 열 히스토그램을 생성하고, 트레시홀드 열 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 열들의 집합을 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 각 픽셀 행의 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 행 히스토그램을 생성하고, 트레시홀드 행 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 행들의 집합을 하나 이상 결정하고, 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크 및 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크으로부터 상기 빛의 평면을 차단하는 작업 영역 내의 하나 이상의 객체의 좌표를 결정하고, 상기 작업 영역 내의 하나 이상의 객체의 감지에 대응하는 출력 신호를 생성하는 프로세서를 포함한다.
다시 도 2a로 돌아오면, 제1손가락(106)의 초승달 모양은 세 개의 픽셀들(120, 122, 124)을 가로질러 나타난다. 제2손가락(108)의 초승달 모양은 네 개의 픽셀들(126, 128, 130, 132)을 가로질러 나타난다. 도 2b는 픽셀들의 배열(116)의 각 열(134)의 평균값을 나타내는 히스토그램(110)이다. 더 자세히는, 각 픽셀들(116)의 열(134)의 값들은 열(134)당 평균 빛의 인텐시티를 결정하기 위해 평균하여진다. 그렇지 않으면, 상기 열들은 더해질 수 있는데, 이 경우 평균을 사용하였을 때와 비슷하지만 다른 스케일(scale)의 히스토그램을 얻게 된다. 선호되는 실시예에서는 평균값이 이용된다. 히스토그램(110)은 제1, 제2손가락들(106, 108)에 대응하는 두 스파이크들(136, 138)을 포함한다.
제1스파이크(136)의 인텐시티는 제2스파이크(138)보다 큰데, 이는 제1손가락(106)의 초승달 모양이 제2손가락(108)의 초승달 모양보다 크기 때문이다. 제1스파이크(138)는 제1손가락(106)의 이미지의 대부분을 포함하는 픽셀(122)을 포함하는 열의 중심과 일치된다. 상기 픽셀(122)은 픽셀들 배열(116)에서 가장 큰 픽셀당 인텐시티를 갖는다. 제2스파이크(138)의 인텐시티는 제2손가락(108)의 중심 부분에 대응하는, 픽셀(128)과 픽셀(130)을 포함하는 두 인접한 열들의 경계와 일치한다.
축소 멀티터치 행위는 제1, 제2손가락(106, 108)을 서로 떨어지게 하여 광선(20)의 평면에 놓아 시작하고, 제1, 제2손가락(106, 108)을 서로 가까이 움직여 계속한다. 도 3a, 4a는 각각 축소 기능의 일부로 제1, 제2손가락(106, 108)의 중간 지점과 마지막 지점을 나타낸다. 도 3b는 제1,제2손가락이 중간 지점에 있는 제2이미지(102)에 대응하는 제2히스토그램(112)이다. 상기 제2히스토그램(112)는 제1, 제2손가락들(106, 108)에 대응하는 두 스파이크들(140, 142)을 포함한다. 제2이미지(102)에서는, 제1손가락(106)이 네 개의 픽셀들(144, 146, 148, 150)을 차지한다. 제1스파이크(140)의 피크는 픽셀(146)을 포함하는 열에 대응한다. 제2손가락(108)은 세 픽셀들(152, 154, 156)을 차지하고 제2스파이크(142)는 픽셀(154)을 포함하는 열과 일치한다. 두 스파이크들(140, 142) 사이의 계곡(158)은 두 픽셀(150)과 픽셀(152)을 모두 가지는 열에 대응하는데, 이는 그 열이 평균되거나 합산될 경우 감지되는 인텐시티를 증가시킨다.
도 4a는 제1, 제2손가락들(106, 108)의 마지막 위치의 제3이미지(104)이다. 제1, 제2손가락들(106, 108)은 제3이미지(104)에 서로 가깝게 나타난다. 제1손가락(106)은 여섯 픽셀들(160, 162, 164, 166, 168, 170)에 위치한다. 픽셀(160)과 픽셀(170)은 한 열에 있고, 픽셀(162)와 픽셀(168)은 두번째 열에 있고, 픽셀(164)와 픽셀(166)은 세번째 열에 있다. 상기 각 열들이 평균되거나 더해지면 제1손가락(106)의 인텐시티는 도 4b의 제3히스토그램(114)의 제1스파이크(172)로 도시된다.
제2손가락(108)은 네 개의 픽셀들(174, 176, 178, 166)에 위치하는데 이는 또한 제1손가락(106)의 일부를 포함하고 있다. 제3히스토그램(114)은, 제1, 제2손가락들(106, 108) 양쪽의 일부를 포함하는, 픽셀(166)을 가지는 열에 대응하는 계곡(180)을 가진다. 제3히스토그램(114)은 또한 제2손가락(108)의 가장 두꺼운 일부에 대응하는 제2스파이크(182)를 가지고 있는데, 이는 이미지 센서가 캡처한 빛 중 최대 인텐시티이다.
제1, 제2손가락들(106, 108)을 이미지해서 생긴 초승달 모양은 사용자의 손가락 크기 및 이미지 센서로부터의 거리에 따라 영역을 달리한다. 그 특정한 영역은 본 개시에서는 상관이 없는데, 이는 각 이미지의 각 열이 더해져 인텐시티 스파이크를 결정하기 때문이다. 더욱이, 만약 다른 객체들이 사용된다면, 그 이미지들은 반드시 초승달 모양이 되는 것은 아니다. 예를 들어, 만약 직사각형 스타일러스가 사용된다면, 이미지 센서는 그 스타일러스의 직사각형 표시를 캡처할 것이다.
상기 세 개의 이미지들(100, 102, 104)의 연속은, 사용자가 호스트 장치 화면에서 보고 있는 웹페이지 또는 사진을 더욱 축소하기 위하여, 반복될 수 있다.
또 다른 멀티터치 입력은 확대 기능을 포함하는데, 이는 작업 영역(36)에서 두 개의 손가락이 서로 가까이 있다가 멀어질 때 감지된다. 다른 입력들과 입력 움직임들은 아래에 상술한다.
대안적 실시예에서, 제1, 제2손가락들(106, 108)의 위치 차이를 감지하기 위하여 제1, 제2이미지들(100, 102)을 비교할 수 있다. 이것은 그 손가락들의 위치가 변하였는지 알기 위하여 제2이미지와 제1이미지의 차분을 구함으로써 달성될 수 있다. 이 차분 방법은 컴퓨터의 마우스 포인터와 같은 포인팅 장치(pointing device)의 간단한 기능들을 하기 위해 사용될 수 있는데, 이 경우 사용자 손가락(24)의 위치 차이만을 감지한다.
이미지들은 실시간으로 즉각 처리되고 소프트웨어가 임베디드 프로세서에 의해 처리되는 경우 이미지들은 바로 폐기된다. 만약 호스트나 협력 장치가 이미지들을 처리하기 위하여 사용된다면, 그 이미지들은 전송 등의 방법으로 호스트 시스템에 업로드되어 처리된다. 어떤 경우에서나, 이미지들은 실시간으로 처리된다.
광학 필터가 대부분의 들어오는 빛을 막고 정해진 빛의 범위만 통과시키기 때문에, 이미지의 픽셀 값들은 반향된 빛의 양을 나타낸다. 따라서, R(red), G(green), B(blue) 이미지는 존재하지 않는다. 본 개시에 의해 생성된 이미지들은 단지 인텐시티 이미지 또는 그레이 레벨(grey level) 이미지들이다. 주변 빛의 간섭을 줄이기 위해, 먼저 이미지를 그 전의 배경 이미지로부터 차분하거나 그 반대로 할 수 있다. 이 배경 이미지는 장치가 켜지고 수집된 이미지들이 안정적일 때 수집되고, 일정 기간 동안 사용자의 활동이 없을 경우 업데이트된다. 배경 이미지 차분 처리 후, 하나 또는 그 이상의 손가락들이나 객체들을 감지하는데 여러 알려진 이미지 세그멘테이션(segmentation) 기술들이 사용될 수 있다. 특히, 위에서 상술했듯이, 계산 효율 때문에 히스토그램 기반 방법이 적용될 수 있다. 이미지 세그멘테이션 후, 손가락 또는 손가락 팁 등 후보 객체들이 정의되고, 이들은 이후에 크기에 따라 더욱 스크린(screen) 된다.
도 5a는 센서 시스템(216)의 이미지 정보를 처리하고 호스트 장치(210)과 통신하는 임베디드 프로세서(218)를 가지는 장치(200)을 포함하는 멀티터치 입력 시스템의 개략적 실시예이다. 장치(200)는 통신 링크(214)를 통하여 호스트 장치(210)와 연결된다. 상기 호스트(210)는 컴퓨터, 스마트폰, 랩탑 또는 사용자가 프로그램과 화면을 통하여 서로 작용하는 다른 비슷한 전자 장치가 될 수 있다. 상기 통신 링크(214)는 유선 또는 무선이 될 수 있다. 호스트는 호스트(210)와 장치(200) 사이에 데이터 전송을 위한 통신 프로토콜을 제어할 수 있다. 상기 호스트(210)는 통신 링크(214)를 통하여 배터리 충전 서비스를 제공할 수 있다.
장치(200)는 임베디드 프로세서(218), 센서 시스템(216), 광원 유닛(212), 센서 시스템(216)과 임베디드 프로세서(218) 사이의 연결(217)을 포함한다. 임베디드 프로세서(218)는 중앙처리장치(CPU)(220), 메모리(222), 센서 제어 시스템(226), 통신 유닛(224)을 포함한다. 센서 시스템(216)은 임베디드 프로세서(218)에 전자적으로 연결되어 작업 영역(36)으로부터 이미지 정보를 전송한다. 임베디드 프로세서(218)는 각 이미지에서 손가락(24)의 팁과 같은 객체의 위치를 결정하고 이 위치 정보를 호스트 장치(210)로 전송하여 호스트 장치가 사용자 입력에 대하여 화면에 표시하거나 반응할 수 있게 한다. 그 결정 절차는 아래에 상술한다.
임베디드 프로세서(218)는 CPU(220)를 이용하여 이미지 센서 보정(calibration), 이미지 상관관계(correlation), 디지털 신호 처리, 측정 데이터의 실제 위치 변화로의 변환 등 메모리(222)에 저장된 작업들을 수행한다. 임베디드 프로세서(218)는 통신 유닛(224)을 이용하여 호스트 장치(210)로부터 명령(instruction)을 받거나, 호스트 장치(210)로 명령을 전달하고, 작업 영역(36) 내의 사용자의 손가락의 위치 변화를 나타내는 데이터를 전송할 수 있다.
임베디드 프로세서(218)는 상술한 바와 같이 센서 시스템(216)과 광원 유닛(212)을 동기화할 수 있다. 임베디드 프로세서(218)는 연속된 또는 깜빡이는 광선(20)을 방출하도록 광원 유닛(212)을 제어할 수 있다. 장치(200)는 호스트(210)와 무선 연결(214)로 통신하는 동안 임베디드 프로세서(218)의 CPU(220)와 메모리(222)에 의지하도록 구성되어, 호스트 장치(10)와 장치(200) 사이의 대역폭(bandwidth)을 보존할 수 있다.
도 5b는 호스트 장치(210)가 센서 시스템(216)이 수집한 이미지들을 처리하기 위한 프로세서(211)를 포함하는 가상 멀티터치 입력 장치(200)를 사용하는 시스템의 대안적인 실시예이다. 이 실시예에서, 장치(200)는 센서 시스템(216), 광원 유닛(212), 이미지 캡처나 그랩(grab) 시스템(230)을 포함한다. 이미지 그랩 시스템(230)은 센서 컨트롤(232)과 통신 유닛(234)을 포함한다. 상기 이미지 그랩 시스템(230)은 연결(217)을 통해 센서 시스템(216)과 통신하고, 통신 링크(214)를 통해 호스트 장치(210)와 통신한다.
센서 컨트롤(232)은 센서 시스템(216)을 제어할 수 있다. 예를 들어, 센서 컨트롤(232)은 이미지 센서의 셔터가 열리는 시간의 길이를 제어할 수 있다. 더욱이, 센서 컨트롤은 통신 유닛(234)이 작업 영역(36)의 이미지들을 전송함에 따라 작업 영역(36)으로부터 이미지 정보의 습득을 계속 하도록 구성되고 처리를 위해 습득한 정보를 호스트 장치(210)로 전송한다. 일 실시예에서, 통신 링크(214)는 USB 연결과 같은 유선을 통한 물리적 연결(hard connection)이다. 통신 링크(214)는 무선일수도 있지만, 유선 연결은 일반적으로 더 큰 대역폭(초당 더 많은 데이터를 전송하고 수신할 수 있는 능력)을 제공한다.
대안적인 실시예에서는, 장치(200)는 임베디드 프로세서(218)와 호스트 장치(210) 내의 프로세서(211)와 동작하도록 설정되었다. 장치(200)는 호스트 장치가 이미지를 처리할 수 없을 때 임베디드 프로세서(218)를 사용하는 것과 호스트 장치(210)의 프로세서(211)가 더 빠르거나 이미지 처리를 위해 더 적합할 경우 그 프로세서를 사용하는 것 사이의 선택 가능하도록 설정되었다. 장치(200)는 또한 통신 링크(214)가 연결되고 이미지 정보의 빠른 전송이 가능한 때 호스트 장치(210) 내의 프로세서(211)에 의존할 수 있다.
만약 장치(200)가 임베디드 프로세서(218) 대신에 이미지 그랩 시스템(230)에 의존하는 모드에 있다면, 장치(200)는 호스트 장치(210)에 저장된 작업 정보에 의존할 수 있다. 예를 들면, 호스트 장치(210)는 아래의 도 8, 9와 관련하여 상술하는 보정 표들을 저장할 수 있다.
도 6은 도 5a의 멀티터치 입력 장치에 의해 구현되는 방법의 상위 레벨 흐름도이다. 단계(302)에서 전원이 켜지면, 멀티터치 입력 장치(9)는 단계(304)에서 광원 유닛(12)으로부터 부채꼴 광선(20)을 방출한다. 장치가 가동되는 동안 상기 광원은 연속된 광선 또는 깜빡이는 광선을 방출할 수 있다. 또한 단계(304)에서 센서 시스템(16)은 계속적으로 스냅샷 또는 작업 표면(22)의 이미지들을 찍는다. 단계(306)에서, 프로세서(211, 218)는 어떤 객체가 작업 영역에서 광선(20)의 평면을 가르는지 결정하기 위하여 이미지를 평가한다. 센서 시스템(16)이 이벤트 전, 도중, 후에 이미지를 문서화하기 때문에, 이 이미지들은 멀티터치 이벤트가 일어났는지를 알기 위해 비교될 수 있다. 만약 프로세서가 하나 이상의 손가락 또는 객체를 감지하면, 프로세서는 다음 이미지들을 평가하여 어떤 종류의 이벤트가 일어났는지를 본다. 이벤트의 종류가 결정되면, 프로세서는 그 정보를 해석하여 선택하거나 또는 단계(308)에 도시된 것과 같이 호스트 장치(210)의 화면을 변경하는 등 이벤트를 수행한다. 아무 이벤트도 감지되지 아니하면, 센서 시스템은 계속 이미지를 찍고 프로세서는 계속 작업 영역에서의 객체의 움직임이나 존재를 찾기 위해 이미지를 평가한다. 마우스 이벤트가 일어날 경우, 단계(308)에서 프로세서는 호스트 장치와 통신하여 그 마우스 이벤트에 응답한다.
시스템이 가상 스타일러스를 사용하는 것을 포함할 경우, 프로세서는 스타일러스 움직임을 처리하고 호스트 장치에 그 정보를 전송한다. 호스트 장치는 그림그리기 어플리케이션 또는 필기인식 노트 어플리케이션과 같이 스타일러스 움직임을 나타내기 위한 화면 스크린을 가질 수 있다.
임베디드 프로세서(218)를 가진 장치는 센서 시스템(216)이 이미지들을 찍음에 따라 실시간으로 이미지들을 처리한다. 더욱 특정하여, 중앙처리장치(CPU)(220)와 실시간 또는 앞서 저장된 이미지로서 제공되는 이미지 시퀀스를 처리하기 위한 명령을 포함하는 소프트웨어가 저장된 메모리(222)를 갖는 프로세서는 알고리즘을 수행한다. 임베디드 프로세서가 그 소프트웨어를 수행하기 위하여 사용될 경우, 통신 유닛(224)은 사용자의 손가락(들)의 위치와 움직임을 보내기 위하여 사용되는데, 이는 호스트 시스템에 있어 가상 마우스 이벤트로 인식된다. 호스트를 이용하여 이미지들을 처리할 경우, 이미지들을 전송하고 센서 시스템(16)에 제어 신호들을 보내기 위해 통신 유닛이 이용된다. 비슷하게, 통신 유닛은 유선 또는 무선이 될 수 있다.
도 7은 프로세서(211, 218)에 의하여 호스트 장치(210)에 마우스 움직임 정보를 감지하여 제공하기 위해 수행되는 프로세스(process)(400)의 흐름도이다. 프로세스(400)는 도 2b, 3b 4b의 이미지들(100, 102, 104)과 같은 이미지들로 시작한다. 프로세스(400)는 이미지 세그멘테이션 및 객체 감지 모듈(404), 좌표 변환 모듈(408), 움직임과 제스처 추정 모듈(412)의 세 모듈을 포함한다. 센서 시스템(16)은 관련된 시간의 순간을 나타내는 이미지들의 연속에 대하여 이미지 세그멘테이션와 객체 감지를 수행하는 프로세서(211, 218)로 이미지 정보를 보낸다. 상기 이미지들의 연속에 존재하는 손가락(들)(24)은 그 이미지들 안에 위치하고 광학 필터 및 다른 이미지 처리에 의하여 배경 이미지로 부터 분리될 수 있다.
한 이미지가 센서 시스템에 의해 수집되면, 그 이미지는 감지된 팁(들)의 위치가 이미지 좌표(행, 열)로 변환되는 이미지 세그멘테이션 및 객체 감지 모듈(404)에 의해 처리된다. 일 실시예에서, 이미지된 객체의 크기(폭 및 높이)가 결정된다. 감지된 위치(또는 크기)는 그 다음 도 8, 9의 보정 표들을 사용하는 좌표 변환 모듈(408)에 의해 실제 좌표로 변환된다. 움직임과 제스처 추정 모듈(412)은 그 다음 순차적 이미지들(현재와 과거 데이터)에 의해 멀티터치 마우스 이벤트가 일어났는지를 결정한다.
좌표 변환 단계에서, 프로세서는 보정 표들(500, 600)에 액세스하고 객체 이미지 위치와 보정 표들로부터 실제 위치를 결정한다. 이어서, 움직임과 제스처 추정 모듈(412)은 이미지들의 연속에서 마우스 이벤트에 관련된 어떤 특정 움직임이 있었는지를 결정한다.
단계(404)에서, 멀티터치 입력 장치(9)는 이상에서 도 2a-4b와 관련하여 상술한 바와 같이 이미지 세그멘테이션 및 객체 감지를 수행하고, 이는 히스토그램 평가를 포함할 수 있다. 단계(408)에서, 장치는 작업 영역(36) 내의 팁(들)의 위치의 변화를 PC 또는 스마트폰 등 호스트 장치의 스크린으로 디지털 변환될 수 있는 물리적 측정치로 변환하기 위하여 보정 표들에 포함된 데이터를 받아들일 수 있다. 이미지 센서가 캡처한 화면(view)은 이미지 센서가 작업 표면을 향하는 각도 및 작업 표면과 이미지 센서의 거리에 영향을 받는다. 예를 들어, 센서 시스템의 각도, 센서 시스템의 거리, 이미지 센서 시스템 내의 픽셀들의 수는 각 픽셀이 나타내는 작업 영역 내의 거리를 결정할 수 있다. 예를 들어 만약 작업 영역의 시야(field of view)가 가로로 64mm (2.5 인치) 넓고, 앞뒤로 48mm (1.9인치) 깊으며, 이미지 센서가 640 열과 480 행을 갖는 VGA 센서라면, 한 픽셀에서 다음으로의 인텐시티의 차이는 작업 표면에서 0.1mm의 움직임을 나타낸다. 따라서, 100픽셀을 지나는 인텐시티의 변화는 사용자의 작업 표면에서의 10mm의 움직임을 나타낸다. 어플리케이션에 따라서는, 캡처된 움직임이나 마우스 이벤트의 디지털 표현은 작업 영역에서(시스템에 작업 표면의 치수를 사용하도록 보정되었을 경우는 작업 표면에서) 2mm의 움직임이 컴퓨터 모니터에서 2인치의 움직임에 대응하도록 확대될 수 있다. 그렇지 않으면, 작업 표면에서 2mm의 움직임은 스마트폰 또는 개인 디지털 보조장치의 스크린에서 2cm 움직임으로 대응하게 프로그램될 수 있다.
감지된 객체들의 중심들(행, 열)은 보정 표들을 통하여 실제 좌표로 변환된다. 보정 표들은 이미지 좌표(행, 열)로부터 실제 좌표(x, y)로의 매핑(mapping)으로 구성된다. 도 8, 9는 예시적 X축 보정 표(500)와 Y축 보정 표(600)로, 이들은 이미지들에서 호스트 장치의 화면으로 객체들의 위치를 변환하는데 사용된다. 도 10은 보정 표들(500, 600)에 의해 참조되는 X축과 Y축을 도시한 장치(9)의 평면도이다. 도 10의 X, Y축의 점 0, 0은 장치(9)의 중심을 통과한다. 광선(20)은 Y축에 중심을 두고 X축의 양의 방향과 음의 방향으로 확장된다. 광선(20)은 일반적으로 음의 Y축이라 불리는 방향으로 확장되지만, 본 논의에서는 Y축의 한쪽 반만 관련되므로, Y축 관련된 모든 값들은 양수로 취급될것이다.
도 8은 X축 복수의 행들(504)과 열들(502)을 가지는 보정 표(500)이다. 상기 열들(502)은 열 1-8과 633-640을 나타낸다. 상기 열들(500)은 열 1-8, 236-243, 473-480을 포함한다. X축 보정 표(500)은 VGA 센서와 일치하는 640 열과 480 행을 포함한다. 행 1, 열 1 에서, 그 값은 음수 313(-313)이고, 이는 31.3mm에 대응한다. 이 값은 도 10의 X축의 점 A에 대응할 수 있다. 센서 시스템이 장치(9)에 너무 가까운 팁들을 정확하게 캡처하지 못하기 때문에 X축 보정 표(500)에 도시된 값들은 장치(9)에서 일정 거리 떨어진 곳에서 시작한다. 행 1, 열 640에서, 그 값은 양수 380이고, 이는 30.8mm에 대응한다. 이 값은 도 10의 X축의 점 B로 나타난다.
행 480, 열 1에서, 그 값은 음수 4414(-4414)이고, 441.4mm에 대응한다. 이 값은 도 10의 X축의 점 C로 나타난다. 행 480, 열 640에서, 그 값은 양수 4346이고, 434.6mm에 대응될 수 있다. 이 값은 도 10의 X축의 점 D로 나타날 수 있다. 점 A, B, C, D로 정의된 영역(region)(188)은 작업 영역(36)에 대응하는 광선(20)의 경계로 해석될 수 있고, 이는 센서 시스템에 의해 이미지될 수 있다.
도 9에서, Y축 보정 표(600)은 행들 1-8, 236-243, 473-480을 포함한다. 각 행의 값들은 376에서 5995까지 서서히 증가한다. Y축 보정 표(600)의 각 열은 모든 행에 대하여 같은 수들을 포함한다. 행들의 수는 X축 보정 표(500)의 행들의 수에 대응한다. Y축 보정 표(600)의 각 열에 대한 행 값들을 반복하는 것은 소프트웨어가 각 이미지의 위치 정보를 결정하는 것을 도울 수 있다.
손가락 또는 스타일러스와 같은 감지된 객체를 포함한다고 알려진 열들 만을 위하여 열 히스토그램들을 생성한다. 예를 들어, 손가락 하나는 다섯 열들의 픽셀들을 차지할 수 있다. 행 및 열 히스토그램들 양쪽에 대하여, 스파이크의 전체 에너지를 평가하여 중심이 정해진다. 스파이크의 중심은 스파이크를 평가하여 그 스파이크의 오른쪽과 왼쪽 편이 같은 에너지를 갖는 곳을 찾아 얻을 수 있다. 이것은 행 중심 값과 열 중심 값을 준다. 행 중심 값과 열 중심 값을 가지고, x 좌표와 y 좌표를 구하기 위해 보정 표들이 액세스된다.
예를 들어, 만약 행 중심 값이 242이고 열 중심 값은 636이면, x 좌표는 1312이고 y 좌표 값은 1796이다. x와 y 좌표들은 화면에 커서 위치를 표시하기 위하여 호스트 장치로 보내진다. 다른 예에서, 만약 행 중심 값이 2.5이고 열 중심 값이 6.5이면 x축 표에서 네 값들과 y축 표에서 네 값들이 평가될 것이다. 즉, x축 표에서 열2, 행6 (-317 값), 열3, 행6 (-316 값), 열2, 행7 (-318 값), 열3, 행7 (-317 값)이 평가될 것이다. 모든 값들의 평균은 -317이고, 이것이 x 좌표가 될 것이다. 비슷하게, y축 표에 대해서는, 열2, 행6 (382 값), 열3, 행6 (382 값), 열 2, 행 7 (384 값), 열 3, 행 7 (384 값)이 평가될 것이다. 이 모든 값들의 평균은 383이고, 이는 호스트 프로세서로 보내는 y 좌표가 될 것이다.
참고로, 이 실시예에서, 480 픽셀들이 작업 표면의 앞뒤 거리를 나타내기 위해 쓰일 수 있다. 만약 좌우 거리에 비례하는 앞뒤 거리가 구현되려면, 열들 사이가 나타내는 거리는 행들 사이가 나타내는 거리에 비해 커야한다. 행들 사이의 거리와 열들 사이의 거리가 달라질 수 있는 두 번째 이유는 작업 표면 위의 작업 영역의 모양과 관계있다. 광원 유닛(12)에서 나오는 광선(20)은 하우징으로부터 어떤 각도로 나온다. 따라서, 센서(16)에서 멀리 떨어진 데이터를 캡처하는 픽셀들은 센서(16)에 가까운 작업 영역의 부분으로부터의 데이터를 캡처한 픽셀들에 비해 더 큰 위치 변화를 나타낼 수 있다.
보정 표(500)는 장치 테스트 중에 생성될 수 있다. 예를 들어, 보정 표는 장치 앞에 어떤 독특한 이미지를 놓고, 이미지를 캡처하고, 그 이미지에 데이터 처리를 하여 생성할 수 있다. 그렇지 않으면, 보정 표(500)는 작업 영역에 객체를 놓고, 이미지를 캡처하고, 작업 영역 내에서 객체의 위치를 변경하고, 이미지를 다시 캡처하고, 데이터를 처리하여 이미지 센서의 픽셀들과 작업 영역의 객체들이 어떻게 연관되는지 알아내어 수동으로 생성할 수 있다.
보정 표는 메모리에 저장되어 가상 메모리 장치에 위치하는 프로세서에 의해 사용될 수 있다. 그렇지 않으면, 보정 표는 호스트 장치에 호스트 장치와 통신할 수 있게 하는 드라이버를 설치하는 중에 호스트 장치에 설치될 수 있다.
움직임과 제스처 추정 모듈은 다음과 같은 규칙을 사용하여 손가락(들) 또는 객체로부터 멀티터치 이벤트를 추정한다.
마우스 움직임: 오직 한 손가락이 가상 작업 영역에 있고 그 실제 위치가 이전 위치와 다를 경우
왼쪽 마우스 스위치 내려감: 한 손가락이 작업 영역 안에 있고 그 다음에 첫 손가락의 왼쪽에 있는 다른 손가락이 내려가서 작업 영역을 건드릴 때, 즉, 그 손가락이 거의 수직으로 작업 영역에 접근하여 작업 영역을 건드릴 때
왼쪽 마우스 스위치 올라감: 왼쪽 마우스 스위치 내려감 후에, 왼쪽 손가락이 올라갈 때(작업 영역(36)에서 사라지거나 또는 수직으로 떠날 때) 또는 두 손가락 모두 작업 영역(36) 위로 나갈 때
오른쪽 마우스 스위치 내려감: 첫 손가락이 작업 영역(36) 내에 있고 그 오른쪽의 두번째 손가락이 내려가 작업 영역(36)을 건드릴 때
오른쪽 마우스 스위치 올라감: 오른쪽 마우스 내려감 후에, 오른쪽 손가락이 올라가거나(작업 영역(36)에서 사라짐) 또는 두 손가락들이 올라갈 때
마우스 드래그: 왼쪽 마우스 내려감 후에, 두 손가락들이 서로의 상대적 위치를 유지하면서 작업 영역(36) 내에서 같이 움직일 때
마우스 싱들 탭(single tap): 한 손가락이 작업 영역(36) 내에서 내려갔다 예를 들어 1 또는 2초의 짧은 시간 안에 수직으로 올라가 작업 영역(36) 밖으로 나갈 경우
마우스 더블 탭(double tap): 가상 마우스가 두 번 탭할 경우
플릭 포워드(flick forward): 한 손가락이 작업 영역(36) 내에 내려와있고, 짧은 시간 안에 오른쪽으로 움직이고 작업 영역(36) 위로 나갈 경우
플릭 백워드(flick backward): 한 손가락이 작업 영역(36) 내에 내려와있고, 짧은 시간 안에 왼쪽으로 움직이고 작업 영역(36) 위로 나갈 경우
수직 스크롤: 서로 접촉하거나 근접한 두 손가락들이 같이 내려가 있어 작업 영역(36)을 건드린 후 서로의 상대적 위치를 바꾸지 않고 같이 앞으로 이동(센서 방향으로)하거나 뒤로 이동(센서에서 멀리)할 경우
수평 스크롤: 두 가까운 손가락들이 내려가 작업 영역(36)을 건드린 후 서로의 상대적 위치를 바꾸지 않고 왼쪽이나 오른쪽으로 움직일 경우
회전: 두 손가락들이 내려가 있고 작업 영역(36)을 건드리고 서로의 상대적 위치를 바꾸지 않고 두 손가락 중 하나가 다른 손가락 주위를 시계방향 또는 반시계방향으로 움직이거나 또는 두 팁들이 그 중간 점을 중심으로 시계방향 또는 반시계방향으로 움직이는 경우
멀티포인트 모션(multipoint motion): 장치가 마우스 모드에서 멀티포인트 트래이스 모드(multipoint trace mode)로 바뀌고 작업 영역(36)에 여러 개의 손가락들이 있으면, 각 손가락은 따로 추적되어 그 움직임이 보고될 것이다.
확대, 축소를 위하여, 시스템은 두 손가락들 사이의 거리를 계산한다. 회전을 위하여, 시스템은 한 손가락에서 다른 손가락의 벡터의 각도를 계산한다.
위에서 상술한 여러가지 실시예들은 결합하여 다른 실시예를 제공할 수 있다. 이 명세서에서 언급한 모든 미국 특허, 미국 공개 특허 출원, 미국 특허 출원, 외국 특허, 외국 특허 출원과 비 특허 출판물들 및 어플리케이션 데이터 시트(Application Data Sheet)에 열거된 것들은 그 전체로 여기에 참조로서 인용한다. 실시예의 양태들은 필요하면 여러 특허, 출원, 공개의 개념들을 받아들여 수정되어 새로운 실시예들을 제공할 수 있다.
위에 상술한 바와 같은 취지로 실시예에 대해 상기 및 다른 변경들이 가해질 수 있다. 일반적으로, 다음 청구들에서 사용되는 용어들은 명세서와 청구에 나타난 특정 실시예에 청구를 제한하도록 해석되지 않고, 청구에 주어지는 모든 균등한 가능한 실시예 전체를 포함하도록 해석되어야 한다. 따라서, 청구들은 본 개시에 의해 제한되지 않는다.

Claims (13)

  1. 작업 영역에서 빛의 평면을 가르는 하나 이상의 객체를 감지하는 단계;
    상기 작업 영역에서 상기 빛의 평면을 가르는(breaking) 상기 하나 이상의 객체의 복수의 이미지들을 캡처하는 단계로서, 상기 복수의 이미지들의 각 이미지는 행(row)과 열(column)에 복수의 픽셀들을 갖는, 단계;
    픽셀들의 각 열에 대한 픽셀 인텐시티(intensity) 값들을 평균하여 각 이미지의 열 히스토그램을 생성하는 단계;
    트레시홀드(threshold) 열 평균 픽셀 인텐시티 값을 초과하는 평균 픽셀 인텐시티 값들을 갖는 연속된 열들의 집합을 하나 이상 결정하는 단계;
    상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하는 단계;
    픽셀들의 각 행에 대한 픽셀 인텐시티 값들을 평균하여 각 이미지에 대한 행 히스토그램을 생성하는 단계;
    트레시홀드 행 평균 픽셀 인텐시티 값을 초과하는 평균 픽셀 인텐시티 값들을 갖는 연속된 행들의 집합을 하나 이상 결정하는 단계;
    상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하는 단계; 및
    상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크와 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 하나 이상의 스파이크로부터 상기 작업 영역에 빛의 평면을 가르는 하나 이상의 객체의 좌표를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    하나 이상의 객체 각각에 대하여 상기 연속된 열들의 집합 중 중심 열을 결정하고 상기 연속된 행들의 집합 중 중심 행을 결정하여, 상기 작업 영역 내의 상기 하나 이상의 객체의 중심점을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 청구항 2에 있어서,
    상기 연속된 열들의 집합 중 중심 열을 결정하고 상기 연속된 행들의 집합 중 중심 행을 결정하는 단계는,
    각각, 상기 연속된 열들의 집합의 열들의 전체 수를 결정하고 상기 열들의 전체 수를 둘로 나누며, 상기 연속된 행들의 집합의 행들의 전체 수를 결정하고 상기 행들의 전체 수를 둘로 나누는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 2에 있어서,
    상기 연속된 열들의 집합 안에 평균 픽셀 인텐시티 값들의 스파이크가 하나를 초과하여 존재하는지 또는 상기 연속된 행들의 집합 안에 평균 픽셀 인텐시티 값들의 스파이크가 하나를 초과하여 존재하는지를 결정함에 의해, 상기 작업 영역 내에 복수의 객체들이 존재하는지를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 청구항 2에 있어서,
    상기 연속된 열들의 집합이 연속된 열들의 집합의 트레시홀드보다 큰지를 결정하거나 또는 상기 연속된 행들의 집합이 연속된 행들의 집합의 트레시홀드보다 큰지를 결정함에 의해, 상기 작업 영역 내에 복수의 객체들이 존재하는지를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 청구항 1에 있어서,
    상기 객체의 좌표를 결정하는 단계는,
    상기 작업 영역과 연관된 X축 보정 표 및 Y축 보정 표를 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 하나 이상의 객체와 함께 이용되는 시스템에 있어서,
    상기 시스템은 가상 마우스 장치를 포함하며,
    상기 가상 마우스 장치는,
    관심 평면 위로 계속하여 얇은 부채꼴의 특정 주파수의 광선을 방출하거나 깜빡이도록 구성되며, 하우징 내에 설치되는 광원;
    가상 작업 영역을 정의하기 위한 상기 얇은 부채꼴의 광선과 교차하는 시야를 갖도록 구성된 광학 렌즈 및 광학 필터를 구비하고, 상기 작업 영역의 상기 얇은 부채꼴 광선을 가르는 하나 이상의 객체를 감지하고 상기 작업 영역 내의 상기 하나 이상의 객체에 대한 복수의 이미지들을 캡처하도록 구성되며, 상기 하우징 내에서 설치되는 단일 센서로서, 상기 각 복수의 이미지들은 행과 열에 복수의 픽셀들을 갖는, 단일 센서; 및
    픽셀들의 각 열에 대한 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 열 히스토그램을 생성하고, 트레시홀드 열 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 열들의 집합을 하나 이상 결정하며, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하고, 픽셀들의 각 행에 대한 픽셀 인텐시티 값들을 평균함으로써 각 이미지의 행 히스토그램을 생성하며, 트레시홀드 행 평균 픽셀 인텐시티 값을 넘는 평균 픽셀 인텐시티 값을 갖는 연속된 행들의 집합을 하나 이상 결정하고, 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 스파이크를 하나 이상 결정하며, 상기 연속된 열들의 집합 중 평균 픽셀 인텐시티 값들의 상기 하나 이상의 스파이크 및 상기 연속된 행들의 집합 중 평균 픽셀 인텐시티 값들의 상기 하나 이상의 스파이크로부터 상기 빛의 평면을 가르는 상기 작업 영역 내의 상기 하나 이상의 객체의 좌표를 결정하고, 상기 작업 영역 내의 하나 이상의 객체의 감지에 대응하는 출력 신호를 생성하는 프로세서를 포함하는 것을 특징으로 하는 시스템.
  8. 청구항 7에 있어서,
    상기 프로세서는, 하나 이상의 객체 각각에 대하여 상기 연속된 열들의 집합 중 중심 열을 결정하고 상기 연속된 행들의 집합 중 중심 행을 결정하여, 상기 작업 영역 내의 상기 하나 이상의 객체의 중심점을 결정하도록 더 구성된 것을 특징으로 하는 시스템.
  9. 청구항 8에 있어서,
    상기 연속된 열들의 집합 중 중심 열을 결정하고 상기 연속된 행들의 집합 중 중심 행을 결정하는 것은,
    상기 연속된 열들의 집합의 열들의 전체 수를 결정하고 상기 열들의 전체 수를 둘로 나누며, 상기 연속된 행들의 집합의 행들의 전체 수를 결정하고 상기 행들의 전체 수를 둘로 나누는 것을 각각 포함하는 것을 특징으로 하는 시스템.
  10. 청구항 8에 있어서,
    상기 프로세서는, 상기 연속된 열들의 집합 안에 평균 픽셀 인텐시티 값들의 스파이크가 하나를 초과하여 존재하는지 또는 상기 연속된 행들의 집합 안에 평균 픽셀 인텐시티 값들의 스파이크가 하나를 초과하여 존재하는지를 결정함에 의해, 상기 작업 영역 내에 복수의 객체들이 존재하는지를 결정하도록 구성된 것을 특징으로 하는 시스템.
  11. 청구항 8에 있어서,
    상기 연속된 열들의 집합이 연속된 열들의 집합의 트레시홀드보다 큰지를 결정하거나 또는 상기 연속된 행들의 집합이 연속된 행들의 집합의 트레시홀드보다 큰지를 결정함에 의해, 상기 작업 영역 내에 복수의 객체들이 존재하는지를 결정하도록 구성된 것을 특징으로 하는 시스템.
  12. 청구항 7에 있어서,
    상기 프로세서는, 상기 작업 영역과 연관된 X축 보정 표 및 Y축 보정 표를 이용하여 상기 객체의 좌표를 결정하도록 구성된 것을 특징으로 하는 시스템.
  13. 청구항 8에 있어서,
    이미지 데이터를 협력(companion) 호스트 장치로 전송하도록 구성된 통신 유닛을 더 포함하며,
    상기 프로세서는 상기 협력 호스트 장치 내에 하우징되는 것을 특징으로 하는 시스템.
KR1020127006825A 2010-01-06 2011-01-05 가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법 KR101851264B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29265310P 2010-01-06 2010-01-06
US61/292,653 2010-01-06
PCT/US2011/020253 WO2011085023A2 (en) 2010-01-06 2011-01-05 System and method for a virtual multi-touch mouse and stylus apparatus

Publications (2)

Publication Number Publication Date
KR20120135184A true KR20120135184A (ko) 2012-12-12
KR101851264B1 KR101851264B1 (ko) 2018-04-24

Family

ID=44306125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006825A KR101851264B1 (ko) 2010-01-06 2011-01-05 가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US8941620B2 (ko)
KR (1) KR101851264B1 (ko)
WO (1) WO2011085023A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016036385A1 (en) * 2014-09-05 2016-03-10 Hewlett-Packard Development Company, L.P. Coherent illumination for touch point identification
KR20200088628A (ko) * 2019-01-15 2020-07-23 임성민 접촉음 센싱 펜마우스 및 이를 이용한 강의 시스템

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120176337A1 (en) * 2011-01-10 2012-07-12 Disney Enterprises, Inc. Electronic Art System and Related Method
JP2012174208A (ja) * 2011-02-24 2012-09-10 Sony Corp 情報処理装置、情報処理方法、プログラム及び端末装置
GB201110159D0 (en) * 2011-06-16 2011-07-27 Light Blue Optics Ltd Touch sensitive display devices
IL215741A0 (en) * 2011-10-23 2011-11-30 Sergey Popov Method for recognizing input gestures
JP5927867B2 (ja) * 2011-11-28 2016-06-01 セイコーエプソン株式会社 表示システム、及び操作入力方法
KR101262095B1 (ko) * 2011-11-30 2013-05-14 주식회사 하이소닉 모션감지센서가 장착된 디스플레이 장치
CN103150058A (zh) * 2011-12-06 2013-06-12 陈国仁 人机接口装置及其应用方法
CN103257724B (zh) * 2012-02-21 2016-03-30 联想(北京)有限公司 一种非接触式鼠标及其操作方法
CN102622079B (zh) * 2012-02-25 2015-02-04 华为终端有限公司 一种休眠方法、唤醒方法和移动终端设备
GB201205303D0 (en) * 2012-03-26 2012-05-09 Light Blue Optics Ltd Touch sensing systems
US9857919B2 (en) 2012-05-17 2018-01-02 Hong Kong Applied Science And Technology Research Wearable device with intelligent user-input interface
US8497841B1 (en) 2012-08-23 2013-07-30 Celluon, Inc. System and method for a virtual keyboard
GB2506849A (en) * 2012-09-26 2014-04-16 Light Blue Optics Ltd A touch sensing system using a pen
CN102868428B (zh) * 2012-09-29 2014-11-19 裴维彩 一种超低功耗待机的蓝牙装置及其实现方法
CN103729131A (zh) * 2012-10-15 2014-04-16 腾讯科技(深圳)有限公司 一种人机交互方法及相关设备、***
EP2917105B1 (en) * 2012-11-12 2019-06-19 Safran Seats USA LLC Integrated keyboard tray
TWI471756B (zh) * 2012-11-16 2015-02-01 Quanta Comp Inc 虛擬觸控方法
JP6102330B2 (ja) * 2013-02-22 2017-03-29 船井電機株式会社 プロジェクタ
US9547378B2 (en) * 2013-03-07 2017-01-17 Hewlett-Packard Development Company, L.P. Sensor on side of computing device
JP2014202951A (ja) * 2013-04-05 2014-10-27 船井電機株式会社 画像投影装置、及び操作物検出方法
US10891003B2 (en) 2013-05-09 2021-01-12 Omni Consumer Products, Llc System, method, and apparatus for an interactive container
US9360888B2 (en) 2013-05-09 2016-06-07 Stephen Howard System and method for motion detection and interpretation
US9465488B2 (en) 2013-05-09 2016-10-11 Stephen Howard System and method for motion detection and interpretation
US9772679B1 (en) * 2013-08-14 2017-09-26 Amazon Technologies, Inc. Object tracking for device input
US9377866B1 (en) * 2013-08-14 2016-06-28 Amazon Technologies, Inc. Depth-based position mapping
TWI515613B (zh) * 2013-10-23 2016-01-01 緯創資通股份有限公司 電腦系統及其相關觸控方法
CN103729138A (zh) * 2013-12-18 2014-04-16 乐视致新电子科技(天津)有限公司 一种基于显示屏模拟物理按键的方法和电子设备
US9317150B2 (en) * 2013-12-28 2016-04-19 Intel Corporation Virtual and configurable touchscreens
US20150187357A1 (en) * 2013-12-30 2015-07-02 Samsung Electronics Co., Ltd. Natural input based virtual ui system for mobile devices
JP6398248B2 (ja) * 2014-01-21 2018-10-03 セイコーエプソン株式会社 位置検出システム、及び、位置検出システムの制御方法
CN105278661A (zh) * 2014-07-11 2016-01-27 胜华科技股份有限公司 具有滑鼠追踪操控与五向键挥动操控的手势操控方法
CN107003714B (zh) 2014-09-12 2020-08-11 惠普发展公司,有限责任合伙企业 从图像开发上下文信息
CN105468209A (zh) * 2014-09-25 2016-04-06 硕擎科技股份有限公司 输入设备的虚拟二维定位模块及虚拟输入设备
CA3138907C (en) 2014-12-30 2023-08-01 Omni Consumer Products, Llc System and method for interactive projection
US9733048B2 (en) 2015-01-06 2017-08-15 Egismos Technology Corporation Shooting training and game system with virtual target
US20170102829A1 (en) * 2015-10-08 2017-04-13 Funai Electric Co., Ltd. Input device
JP2017151308A (ja) * 2016-02-25 2017-08-31 キヤノン株式会社 情報処理装置および情報処理方法
ITUA20161818A1 (it) 2016-03-18 2017-09-18 St Microelectronics Srl Dispositivo mems proiettivo per un picoproiettore di tipo flying spot e relativo metodo di fabbricazione
TWI626423B (zh) * 2016-09-12 2018-06-11 財團法人工業技術研究院 手觸偵測裝置、手觸偵測方法及應用其之智慧投影系統
TWI653568B (zh) * 2016-11-03 2019-03-11 禾瑞亞科技股份有限公司 觸控處理裝置、方法與電子系統
US10499039B2 (en) 2016-12-15 2019-12-03 Egismos Technology Corporation Path detection system and path detection method generating laser pattern by diffractive optical element
US10429996B1 (en) 2018-03-08 2019-10-01 Capital One Services, Llc System and methods for providing an interactive user interface using a film, visual projector, and infrared projector
DE102019002884A1 (de) * 2018-04-27 2019-10-31 Marquardt Gmbh Bedienvorrichtung
EP4206872A1 (en) * 2021-12-29 2023-07-05 EM Microelectronic-Marin SA Displacement detection circuit and method thereof

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324989B1 (ko) * 1993-11-08 2002-06-24 마츠시타 덴끼 산교 가부시키가이샤 입력표시일체형정보처리장치
US5825352A (en) 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
US6512838B1 (en) * 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US20030174125A1 (en) * 1999-11-04 2003-09-18 Ilhami Torunoglu Multiple input modes in overlapping physical space
US6710770B2 (en) 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
EP1316055A4 (en) 2000-05-29 2006-10-04 Vkb Inc DEVICE FOR ENTERING VIRTUAL DATA AND METHOD FOR ENTERING ALPHANUMERIC AND OTHER DATA
WO2002048642A2 (en) * 2000-11-19 2002-06-20 Canesta, Inc. Method for enhancing performance in a system utilizing an array of sensors that sense at least two-dimensions
KR20030072591A (ko) 2001-01-08 2003-09-15 브이케이비 인코포레이티드 데이터 입력 디바이스
AU2002362085A1 (en) * 2001-12-07 2003-07-09 Canesta Inc. User interface for electronic devices
US7545949B2 (en) 2004-06-09 2009-06-09 Cognex Technology And Investment Corporation Method for setting parameters of a vision detector using production line information
TW594549B (en) 2002-12-31 2004-06-21 Ind Tech Res Inst Device and method for generating virtual keyboard/display
US9760214B2 (en) * 2005-02-23 2017-09-12 Zienon, Llc Method and apparatus for data entry input
US8441467B2 (en) * 2006-08-03 2013-05-14 Perceptive Pixel Inc. Multi-touch sensing display through frustrated total internal reflection
US7936341B2 (en) 2007-05-30 2011-05-03 Microsoft Corporation Recognizing selection regions from multiple simultaneous inputs
US7835999B2 (en) * 2007-06-27 2010-11-16 Microsoft Corporation Recognizing input gestures using a multi-touch input device, calculated graphs, and a neural network with link weights
KR101365776B1 (ko) * 2008-04-08 2014-02-20 엘지디스플레이 주식회사 멀티 터치 시스템 및 그 구동 방법
WO2009148210A1 (en) 2008-06-02 2009-12-10 Lg Electronics Inc. Virtual optical input unit and control method thereof
TWI397846B (zh) 2008-09-30 2013-06-01 Au Optronics Corp 觸控面板之觸控偵測方法
US20100177035A1 (en) 2008-10-10 2010-07-15 Schowengerdt Brian T Mobile Computing Device With A Virtual Keyboard
US8462135B1 (en) * 2009-01-08 2013-06-11 Cypress Semiconductor Corporation Multi-touch disambiguation
US9069405B2 (en) * 2009-07-28 2015-06-30 Cypress Semiconductor Corporation Dynamic mode switching for fast touch response
CN102754048A (zh) 2009-12-04 2012-10-24 奈克斯特控股公司 用于位置探测的成像方法和***
US20110221684A1 (en) 2010-03-11 2011-09-15 Sony Ericsson Mobile Communications Ab Touch-sensitive input device, mobile device and method for operating a touch-sensitive input device
JP5010714B2 (ja) 2010-05-21 2012-08-29 株式会社東芝 電子機器、入力制御プログラム、及び入力制御方法
EP2577434A2 (en) 2010-05-25 2013-04-10 3M Innovative Properties Company High speed low power multi-touch touch device and controller therefor
KR20120017946A (ko) 2010-08-20 2012-02-29 삼성전자주식회사 휴대단말의 키 입력 오동작 방지 방법 및 장치
TWI450154B (zh) 2010-09-29 2014-08-21 Pixart Imaging Inc 光學觸控系統及其物件偵測方法
TWI441060B (zh) * 2011-04-14 2014-06-11 Pixart Imaging Inc 一種光學觸控系統之影像處理方法
US8497841B1 (en) * 2012-08-23 2013-07-30 Celluon, Inc. System and method for a virtual keyboard

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016036385A1 (en) * 2014-09-05 2016-03-10 Hewlett-Packard Development Company, L.P. Coherent illumination for touch point identification
US10318077B2 (en) 2014-09-05 2019-06-11 Hewlett-Packard Development Company, L.P. Coherent illumination for touch point identification
KR20200088628A (ko) * 2019-01-15 2020-07-23 임성민 접촉음 센싱 펜마우스 및 이를 이용한 강의 시스템

Also Published As

Publication number Publication date
US8941620B2 (en) 2015-01-27
KR101851264B1 (ko) 2018-04-24
US20120162077A1 (en) 2012-06-28
WO2011085023A2 (en) 2011-07-14
WO2011085023A3 (en) 2011-11-17

Similar Documents

Publication Publication Date Title
KR101851264B1 (ko) 가상 멀티터치 마우스와 스타일러스 장치를 위한 시스템 및 그 방법
US8497841B1 (en) System and method for a virtual keyboard
US10324566B2 (en) Enhanced interaction touch system
US9494415B2 (en) Object position determination
KR102335132B1 (ko) 하나의 단일 감지 시스템을 이용하는 멀티 모드 제스처 기반의 상호작용 시스템 및 방법
US20170351324A1 (en) Camera-based multi-touch interaction apparatus, system and method
US7313255B2 (en) System and method for optically detecting a click event
TWI483143B (zh) 混合式指向裝置
US7534988B2 (en) Method and system for optical tracking of a pointing object
US8723789B1 (en) Two-dimensional method and system enabling three-dimensional user interaction with a device
US8971565B2 (en) Human interface electronic device
JP2009505305A (ja) 自由空間のポインティング及び手書き手段
KR20110005737A (ko) 광학 베즐을 가진 대화형 입력 시스템
US20070103436A1 (en) Optical tracker with tilt angle detection
TWI420357B (zh) 觸控系統及其指示物座標偵測方法
US20230057020A1 (en) Meeting interaction system
CN104049747A (zh) 一种用手指直接控制光标的鼠标装置
KR101385263B1 (ko) 가상 키보드를 위한 시스템 및 방법
TW201430617A (zh) 懸浮及點擊手勢偵測裝置
JP2018063555A (ja) 情報処理装置、情報処理方法及びプログラム
TW201430616A (zh) 懸浮及點擊手勢偵測裝置
TWI444875B (zh) 多點觸碰輸入裝置及其使用單點觸控感應板與影像感測器之資料融合之介面方法
KR20090037535A (ko) 터치스크린의 입력 처리 방법
TWI536228B (zh) 感應式移動偵測裝置
TW201305853A (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