KR20110112831A - 제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템 - Google Patents

제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템 Download PDF

Info

Publication number
KR20110112831A
KR20110112831A KR1020117018114A KR20117018114A KR20110112831A KR 20110112831 A KR20110112831 A KR 20110112831A KR 1020117018114 A KR1020117018114 A KR 1020117018114A KR 20117018114 A KR20117018114 A KR 20117018114A KR 20110112831 A KR20110112831 A KR 20110112831A
Authority
KR
South Korea
Prior art keywords
gesture
touch
pointer
touch points
pointers
Prior art date
Application number
KR1020117018114A
Other languages
English (en)
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 KR20110112831A publication Critical patent/KR20110112831A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/0428Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by sensing at the edges of the touch surface the interruption of optical paths, e.g. an illumination plane, parallel to the touch surface which may be virtual
    • 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
    • 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
    • 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/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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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/04109FTIR in optical digitiser, i.e. touch detection by frustrating the total internal reflection within an optical waveguide due to changes of optical properties or deformation at the touch location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

캡춰된 이미지들을 처리하여 입력 영역/표면 내의 적어도 2개의 포인터들과 관련된 터치 포인트들의 적어도 2개의 클러스터들을 식별하고, 터치 포인트들의 클러스터들의 움직임에 기초하여, 제스처를 인식한 다음, 인식되는 제스처에 의해 디스플레이를 업데이트하는 제스처 인식 방법이 개시된다. 입력 표면, 적어도 하나의 이미징 센서, 및 상기 이미징 센서와 통신하는 처리 구조를 포함하는 대화형 입력 시스템이 개시되며, 상기 처리 구조는 상기 입력 표면과 컨택하는 적어도 2개의 포인터들과 관련된 터치 포인트들의 클러스터의 위치를 결정하기 위해 이미지 데이터를 분석하고, 터치 포인트들의 상대적인 위치들에 기초하여 제스처를 나타내는 연속적인 클러스터들을 인식하며, 그리고 상기 제스처와 관련된 커맨드를 실행시키도록 구성된다.

Description

제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템{GESTURE RECOGNITION METHOD AND INTERACTIVE INPUT SYSTEM EMPLOYING SAME}
본 발명은 일반적으로 제스처 인식에 관한 것으로서, 특히 제스처 인식 방법 및 이를 이용하는 대화형 입력 시스템에 관한 것이다.
사용자로 하여금 능동 포인터(예를 들어, 빛, 소리 또는 기타의 신호를 방출시키는 포인터), 수동 포인터(예를 들어, 손가락, 실린더 또는 기타의 물체), 또는 예를 들어 마우스 또는 트랙볼과 같은 기타의 적합한 입력 디바이스를 이용하여 애플리케이션 프로그램 내에 입력(예를 들면, 디지털 잉크, 마우스 이벤트 등)을 주입할 수 있게 하는 대화형 입력 시스템들이 잘 알려져있다. 이러한 대화형 입력 시스템에는 비제한적인 예시들로서, 참조문헌으로서 그 내용이 본 명세서에 병합되어 있는 미국 특허 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; 7,274,356, 및 미국 특허 출원 공개 2004/0179001 (이 특허들은 캐나다 앨버타 캘거리에 소재하는 본 출원의 양수인인 스마트 테크놀로지스 유엘씨에게 양도되었다)에서 개시된 것과 같이 포인터 입력을 등록시키기 위해 아날로그 저항성 또는 머신 비젼 기술을 채용한 터치 패널을 포함하는 터치 시스템; 포인터 입력을 등록시키기 위해 전자기 기술, 용량성 기술, 음향 기술 또는 기타의 기술을 채용한 터치 패널들을 포함하는 터치 시스템; 태블릿 개인 컴퓨터(PC); 터치에 의해 인에이블되는 랩탑 PC; 개인 보조 단말기(PDA); 및 기타 이와 유사한 디바이스들이 포함된다.
대화형 입력 시스템들에 의해 이용되는 제스처 인식 방법들이 고려되어 왔다. 예를 들어, Hill 등의 미국 특허 7,411,575(스마트 테크놀로지스 유엘씨에게 양도됨)는 머신 비젼 대화형 입력 시스템에 의해 이용되는 제스처 인식 방법을 개시하는 바, 이 특허의 내용은 참조문헌으로서 본 명세서에 병합된다. 이 방법 동안, 터치 표면에 아주 근접하는 다수의 포인터들을 검출하여, 이러한 다수의 포인터들이 알려진 제스처를 수행하는 데에 이용되고 있는 지를 결정한다. 이러한 다수의 포인터들이 알려진 제스처를 수행하는 데에 이용되고 있을 때, 이 제스처와 관련된 커맨드가 실행된다. 구체적으로, 포인터 데이터를 검사하여 캡춰된 이미지들 내의 다수의 포인터들의 존재를 검출한 다음, 이들 다수의 포인터들의 특성을 검사하여, 예를 들어 오른쪽 클릭 제스처(right-click gesture), 스크롤 제스처(scroll gesture), 회전 제스처(rotate gesture) 등과 같은 알려진 제스처가 수행되었는 지를 결정한다. 알려진 제스처가 수행되었으면, 결정된 제스처와 관련된 커맨드 이벤트가 발생되며, 이러한 커맨드 이벤트는 컴퓨터에 의해 실행되고 있는 능동 애플리케이션 프로그램에 전달된다.
Satoh의 미국 특허 7,176,904는 디스플레이 스크린을 갖는 터치 패널을 개시한다. 디스플레이 스크린의 3개의 측면에 광 반사 필름이 제공되어, 터치 패널을 가로질러 바라보도록 정렬된 2개의 광학 유닛들 쪽으로 빛을 반사시킨다. 좌표 제어 섹션은 언제 포인터가 패널 상에 터치하는 지를 검출하고, 검출된 포인터에 따라 신호를 발생시킨다. 패널 상에서 하나의 포인트 터치가 검출될 때, 상기 좌표 제어 섹션은 터치된 포인트의 좌표들을 보여주는 좌표 신호를 발생시킨다. 패널 상에서 2개 이상의 포인트들의 동시 터치가 검출되면, 상기 좌표 제어 섹션은 터치된 포인트들의 수에 대응하여 사전에 설정된 제어를 나타내는 제어 신호를 발생시킨다.
Han의 미국 특허 출원 공개들 2008/0180404, 2008/0180405 및 2008/018406은, 2D 및 3D 이미지 변환, 스케일/줌, 회전 제어 및 글로브 축 틸트 제어를 포함하는, 디스플레이되는 이미지들을 제어하는 기술들을 이용하는 멀티 포인트 입력 디바이스들을 인터페이싱하는 방법들 및 시스템들을 개시한다. 다양한 제어 기술들은 3개 이상의 동시 발생 입력들, 입력들의 특징 변경 및 압력 감지를 이용한다.
(후면 투사 디스플레이(rear projection devices), 액정 디스플레이(LCD) 디바이스, 플라즈마 텔레비전 등과 같은) 대화형 입력 시스템들의 입력 표면들 상에 이미지들을 표시하기 위해 후면 투사 디바이스들을 이용하는 대화형 입력 시스템들에서는, 입력 표면들과 컨택하는 한 명 이상의 사용자로부터의 다수의 포인터들은 위치를 찾고 추적하기가 어려운데, 단지 2개의 이미징 디바이스들 만을 이용하는 대화형 입력 시스템들에서 특히 그러하다. 예를 들어, 2개의 이미징 디바이스들을 이용하는 대화형 입력 시스템들에서, 다수의 포인터들이 추적되고 있을 때, 포인터들에 대한 삼각측량 솔루션(triangulation solution)들은 실제 포인터 위치들 및 가상 포인터 위치들을 포함하며, 결과적으로 포인터들이 자신들을 쉽게 구별할 수 있게 하는 표시들을 가지고 있지 않다면, 포인터 애매성(pointer ambiguity) 문제가 발생하게 된다. 이러한 애매성 문제는, 다수의 포인터들을 이용하여 만들어지는 제스처들을 인식할 때에 매우 복잡해진다.
따라서, 본 발명의 목적은 신규의 제스처 인식 방법 및 이 방법을 이용하는 신규의 대화형 입력 시스템을 제공하는 것이다.
따라서, 본 발명의 일 양상에서는, 전체 입력 영역을 바라보고 있는 이미지들을 캡춰하는 단계, 상기 입력 영역 내의 적어도 2개의 포인터들과 관련된 터치 포인트들의 적어도 2개의 클러스터들을 식별하기 위해 상기 이미지들을 처리하는 단계, 상기 터치 포인트들의 클러스터들의 움직임(motion)에 기초하여 제스처를 인식하는 단계, 및 인식되는 제스처에 따라 디스플레이를 업데이트하는 단계를 포함하는 제스처 인식 방법이 제공된다.
본 발명의 다른 양상에 따르면, 입력 표면, 상기 입력 표면 전체를 바라보고 있는 시야(field of view)를 갖는 적어도 1개의 이미징 센서, 및 상기 적어도 1개의 이미징 센서와 통신하는 처리 구조(processing structure)를 포함하는 대화형 입력 시스템이 제공되며, 상기 처리 구조는 상기 입력 표면과 컨택하는 적어도 2개의 포인터들과 관련된 터치 포인트들의 클러스터의 위치를 결정하기 위해 상기 적어도 1개의 이미징 센서에 의해 획득된 이미지 데이터를 분석하고, 터치 포인트들의 클러스터들의 상대적인 위치들에 기초하여 제스처를 나타내는 터치 포인트들의 연속적인 클러스터들을 인식하며, 그리고 상기 제스처와 관련된 커맨드를 실행시키도록 구성된다.
본 발명의 다른 양상에 따르면, 입력 표면을 바라보고 있는 이미지들을 캡춰하는 단계, 적어도 2개의 포인터들과 관련된 터치 포인트들의 적어도 2개의 클러스터들을 식별하기 위해 상기 이미지들을 처리하는 단계, 상기 터치 포인트들의 클러스터들의 움직임에 기초하여 제스처를 인식하는 단계, 및 상기 제스처에 따라 디스플레이를 업데이트하는 단계를 포함하는 제스처 인식 방법이 제공된다.
본 발명의 또 다른 양상에 따르면, 입력 표면, 상기 입력 표면을 바라보고 있는 시야를 갖는 적어도 1개의 이미징 센서, 및 상기 적어도 1개의 이미징 센서와 통신하는 처리 구조를 포함하는 대화형 입력 시스템이 제공되며, 상기 처리 구조는 상기 입력 표면과 컨택하는 적어도 2개의 포인터들과 관련된 터치 포인트들의 클러스터의 위치를 결정하기 위해 상기 적어도 1개의 이미징 센서에 의해 획득된 이미지 데이터를 분석하고, 터치 포인트들의 클러스터들의 상대적인 위치들에 기초하여 제스처를 나타내는 터치 포인트들의 연속적인 클러스터들을 인식하며, 그리고 상기 제스처와 관련된 커맨드를 실행시키도록 구성된다.
본 발명에 따르면 제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템의 제공이 가능하다.
이제, 첨부 도면들을 참조하여 본 발명에 대해 보다 상세히 설명한다.
도 1은 2개의 이미징 디바이스들을 이용하는 대화형 입력 시스템의 블록도이다.
도 2는 도 1의 대화형 입력 시스템의 일부를 형성하는 이미징 디바이스들중 하나의 블록도이다.
도 3은 도 1의 대화형 입력 시스템의 일부를 형성하는 마스터 제어기의 블록도이다.
도 4는 실제 및 가상 포인터 위치 삼각측량 솔루션들 뿐 아니라, 2개의 포인터들이 이미징 디바이스들의 시야 내에 있을 때의 도 1의 대화형 입력 시스템의 이미징 디바이스들의 시선(sight line)을 보여주는 예시도이다.
도 5는 2개의 포인터들이 이미징 디바이스들의 시야 내에 있을 때의 도 1의 대화형 입력 시스템의 이미징 디바이스들의 시선을 보여주는 다른 예시도이다.
도 6a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 포인터들을 이용하여 만들어지는 제스처의 예시도이다.
도 6b는 도 6a의 제스처의 입력 동안 실제 및 가상 포인터 위치 삼각측량 솔루션들을 보여주는 예시도이다.
도 7a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 포인터들을 이용하여 만들어지는 다른 제스처의 예시도이다.
도 7b는 도 7a의 제스처의 입력 동안 실제 및 가상 포인터 위치 삼각측량 솔루션들을 보여주는 예시도이다.
도 8a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 포인터들을 이용하여 만들어지는 또 다른 제스처의 예시도이다.
도 8b는 도 8a의 제스처의 입력 동안 실제 및 가상 포인터 위치 삼각측량 솔루션들을 보여주는 예시도이다.
도 9a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 포인터들을 이용하여 만들어지는 또 다른 제스처의 예시도이다.
도 9b는 도 9a의 제스처의 입력 동안 실제 및 가상 포인터 위치 삼각측량 솔루션들을 보여주는 예시도이다.
도 10a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 손 전체에 의해 만들어지는 제스처의 예시도이다.
도 10b는 도 10a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 다운(palm down)되는 터치 영역을 보여주는 예시도이다.
도 10c는 도 10a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 업(palm up)되는 터치 영역을 보여주는 예시도이다.
도 11a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 손을 이용하여 만들어지는 다른 제스처의 예시도이다.
도 11b는 도 11a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 다운되는 터치 영역을 보여주는 예시도이다.
도 11c는 도 11a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 업되는 터치 영역을 보여주는 예시도이다.
도 12a는 도 1의 대화형 입력 시스템의 디스플레이 표면과 인터페이싱하는 2개의 손을 이용하여 만들어지는 또 다른 제스처의 예시도이다.
도 12b는 도 12a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 다운되는 터치 영역을 보여주는 예시도이다.
도 12c는 도 12a의 제스처의 입력 동안 디스플레이 표면에 손이 팜 업되는 터치 영역을 보여주는 예시도이다.
도 13a, 13b 및 13c는 도 3의 마스터 제어기에 의해 실행되는 분류 루틴(classification routine)을 도시하는 흐름도를 함께 형성한다.
도 14는 도 3의 마스터 제어기에 의해 실행되는 핸드 제스처(hand gesture) 분류 루틴을 도시하는 흐름도이다.
도 15는 도 3의 마스터 제어기에 의해 실행되는 왼쪽 클릭(left-click) 제스처 루틴의 흐름도이다.
도 16은 도 3의 마스터 제어기에 의해 실행되는 오른쪽 클릭 제스처 루틴의 흐름도이다.
도 17은 도 3의 마스터 제어기에 의해 실행되는 드래그(drag) 제스처 루틴의 흐름도이다.
도 18은 도 3의 마스터 제어기에 의해 실행되는 팬(pan) 제스처 루틴의 흐름도이다.
도 19는 도 3의 마스터 제어기에 의해 실행되는 줌(zoom) 제스처 루틴의 흐름도이다.
도 20은 도 3의 마스터 제어기에 의해 실행되는 회전(rotate) 제스처 루틴의 흐름도이다.
도 21은 도 3의 마스터 제어기에 의해 실행되는 핸드 스와이프(hand swipe) 제스처 루틴의 흐름도이다.
도 22는 도 3의 마스터 제어기에 의해 실행되는 핸드 줌 제스처 루틴의 흐름도이다.
도 23은 도 3의 마스터 제어기에 의해 실행되는 핸드 팬 제스처 루틴의 흐름도이다.
도 24는 도 3의 마스터 제어기에 의해 수행되는 포인터 검출 임계 프로세스(threshold process)의 흐름도이다.
도 25는 전반사 장애(frustrated total internal reflection, FTIR)을 이용하는 대화형 입력 시스템의 투시도이다.
도 26은 도 25의 대화형 입력 시스템의 측단면도이다.
도 27은 도 25의 대화형 입력 시스템의 일부를 형성하는 터치 패널 및 테이블 탑(table top)의 단면도이다.
도 28은 포인터에 의해 컨택된 도 27의 터치 패널의 측단면도이다.
도 29는 도 25의 대화형 입력 시스템에 의해 수행되는 대안적인 포인터 검출 임계 프로세스를 도시하는 블록도이다.
도 30은 포인터 컨택 압력 추정 시스템을 도시하는 블록도이다.
이제, 도 1을 참조하면, 사용자로 하여금 디지털 잉크, 마우스 이벤트 등과 같은 입력을 애플리케이션 프로그램에 주입할 수 있게 하는 대화형 입력 시스템이 도시되며, 이것은 일반적으로 참조 부호 20으로서 확인된다. 본 실시예에서, 대화형 입력 시스템(20)은, 예를 들어 플라즈마 텔레비젼, 액정 디스플레이(LCD) 디바이스, 평면 패널 디스플레이 디바이스, 음극선관(CRT) 모니터 등과 같은 디스플레이 유닛(미도시)에 맞물려지고, 이러한 디스플레이 유닛의 디스플레이 표면(24)을 둘러싸는 어셈블리(22)를 포함한다. 이러한 어셈블리(22)는, 2005년 12월 6일 특허되었으며 스마트 테크놀로지스 유엘씨에게 양도된 Akitt의 미국 특허 6,972,401 (이 특허는 참조문헌으로서 그 내용이 본 명세서에 병합된다)에서 설명되는 것과 같은 디스플레이 표면을 둘러싸는 조명 베젤(illuminated bezel)(26)을 포함한다. 베젤(26)은 디스플레이 표면(24) 위로 적외선(IR) 백라이팅을 제공한다. 어셈블리(22)는 디스플레이 표면(24)에 근접하는 관심 영역(region of interest) 내로 들어오는 포인터들을 검출하기 위해 머신 비젼을 이용한다.
어셈블리(22)는 마스터 제어기(30)에 결합된다. 이 마스터 제어기(30)는 범용 컴퓨팅 디바이스(32) 및 디스플레이 제어기(34)에 결합된다. 범용 컴퓨팅 디바이스(32)는 하나 이상의 애플리케이션 프로그램들을 실행시키며, 그리고 마스터 제어기(30)로부터 전달되는 포인터 위치 및 제스처 식별 정보를 이용하여, 디스플레이 유닛에 출력하기 위해 디스플레이 제어기(34)에 제공되는 이미지 데이터를 발생 및 업데이트시키며, 이에 따라 디스플레이 표면(24) 상에 제공되는 이미지가 포인터의 움직임(pointer activity)을 반영할 수 있게 된다. 이러한 방식으로, 디스플레이 표면(24)에 근접해 있는 포인터 움직임은 쓰기(writing) 또는 작도(drawing)로서 기록되거나, 또는 범용 컴퓨팅 디바이스(32) 상에서 실행되는 하나 이상의 애플리케이션 프로그램들의 실행을 제어하는 데에 이용될 수 있다.
이미징 디바이스들(40, 42)이 디스플레이 표면(24)의 2개의 코너들에 인접하게 위치되어, 상이한 위치들로부터 전체 디스플레이 표면(24)을 바라본다. 도 2를 참조하면, 이미징 디바이스들(40, 42)중 하나가 더욱 상세히 도시되어 있다. 알 수 있는 바와 같이, 각 이미지 디바이스는 모델 번호 MT9V022로 아이다호주 보이시에 소재하는 마이크론 테크놀러쥐 인코포레이티드(Micron Technology, Inc.)에 의해 제조되는 것과 같은 이미지 센서(80)를 포함하는데, 여기에는 모델 번호 BW25B로 부원 광학(Boowon Optical Co. Ltd.)에 의해 제조되는 타입의 880nm 렌즈(82)가 설치된다. 렌즈(82)는 이미지 센서(80)에 최소한 디스플레이 표면(24)을 둘러쌀 정도로 충분히 넓은 시야를 제공한다. 이미지 센서(80)는 데이터 버스(86)를 통해 선입선출(FIFO) 버퍼(84)와 통신하며, 이 FIFO 버퍼(84)에 이미지 프레임 데이터를 출력한다. 디지털 신호 처리기(DSP)(90)가 제 2 데이터 버스(92)를 통해 FIFO 버퍼(84)로부터 이미지 프레임 데이터를 수신하며, 그리고 이미지 센서(80)에 의해 캡춰되는 이미지 프레임들 내에 하나 이상의 포인터들이 존재하면, 직렬 입/출력 포트(94)를 통해 마스터 제어기(30)에 포인터 데이터를 제공한다. 이미지 센서(80) 및 DSP(90)는 또한 양방향 제어 버스(96)를 통해 통신한다. 이미지 센서 교정 파라미터들을 저장하는 EPROM(98)이 DSP(90)에 연결된다. 이미지 디바이스 구성요소들은 파워 서플라이(100)로부터 전력을 공급받는다.
도 3은 마스터 제어기(30)를 더욱 상세히 도시한다. 마스터 제어기(30)는 제 1 직렬 입/출력 포트(154) 및 제 2 직렬 입/출력 포트(156)를 갖는 DSP(152)를 포함한다. 마스터 제어기(30)는 통신 라인들(158) 상으로 제 1 직렬 입/출력 포트(154)를 통해 이미징 디바이스들(40, 42)과 통신한다. DSP(152)는 이미징 디바이스들(40, 42)로부터 수신되는 포인터 데이터를 처리하여, 포인터 위치 데이터를 발생시키고, 입력 제스처를 인식하는데, 이에 대해서는 하기에서 설명될 것이다. DSP(152)는 제 2 직렬 입/출력 포트(156) 및 직렬 라인 드라이버(162)를 경유하여 통신 라인들(164)을 통해 범용 컴퓨팅 디바이스(32)와 통신한다. 마스터 제어기(30)는 DSP(152)에 의해 액세스되는 대화형 입력 시스템 파라미터들을 저장하는 EPROM(166)을 더 포함한다. 마스터 제어기의 구성요소들은 파워 서플라이(168)로부터 전력을 공급받는다.
본 실시예에서, 범용 컴퓨팅 디바이스(32)는, 예를 들어 프로세싱 유닛, 시스템 메모리(휘발성 및/또는 비휘발성 메모리), 기타 비착탈가능(non-removable) 또는 착탈가능 메모리(예컨대, 하드 디스크 드라이브, RAM, ROM, EEPROM, CD-ROM, DVD, 플래시 메모리 등), 및 다양한 컴퓨팅 디바이스 구성요소들을 프로세싱 유닛에 결합하는 시스템 버스를 포함하는 컴퓨터이다. 또한, 컴퓨팅 디바이스(32)는 공유의 또는 원격 드라이브들, 하나 이상의 네트워크되는 컴퓨터들 또는 기타 네트워크되는 디바이스들을 액세스하기 위한 네트워크 접속을 포함한다. 프로세싱 유닛은 호스트 소프트웨어 애플리케이션/오퍼레이팅 시스템을 실행시키는데, 이것이 실행되는 동안, 디스플레이 표면(24) 상에 제시되는 그래픽 사용자 인터페이스를 제공함으로써, 자유로운 형태의 또는 손으로 쓴 잉크 물체들 및 기타 물체들이 디스플레이 표면(24)과의 포인터 상호작용에 의해 입력되고 조정될 수 있다.
실행되는 동안, 각 이미징 디바이스(40, 42)의 DSP(90)는 클럭 신호들을 발생시키며, 이에 따라 각 이미징 디바이스의 이미지 센서(80)는 원하는 프레임 레이트에서 이미지 프레임들을 캡춰한다. 이미지 센서들(80)에 제공되는 클럭 신호들은 동기화되며, 이에 의해 이미징 디바이스들(40, 42)의 이미지 센서들은 실질적으로 동시에 이미지 프레임들을 캡춰하게 된다. 디스플레이 표면(24)에 근접하여 어떠한 포인터도 없을 때, 이미지 센서들(80)에 의해 캡춰되는 이미지 프레임들은, 베젤(26)에 의해 제공되는 적외선 백라이팅의 결과로서, 실질적으로 연속적인 밝은 띠(bright band)를 포함하게 된다. 하지만, 하나 이상의 포인터들이 디스플레이 표면(24)에 근접하게 되면, 각 포인터는 베젤(26)에 의해 제공되는 IR 백라이팅을 폐색(occlude)시키고, 캡춰된 이미지 프레임들 내에서 흰 띠들(white bands)을 중단시키는 어두운 영역으로서 보이게 된다.
각 이미징 디바이스(40, 42)의 이미지 센서(80)에 의해 출력되는 각 이미지 프레임은 자신의 관련 DSP(90)에 전달된다. 각 DSP(90)가 이미지 프레임을 수신하면, DSP(90)는 그 이미지 프레임을 처리하여 하나 이상의 포인터들의 존재를 검출한다. 만일 이미지 프레임 내에 하나 이상의 포인터들이 존재한다면, DSP(90)는 그 이미지 프레임 내의 각 포인터에 대한 관찰 결과(observation)를 생성한다. 각 관찰 결과는 2개의 직선들 사이에 형성되는 영역에 의해 정의되는 바, 2개의 직선들중 하나의 직선은 이미징 디바이스의 초점으로부터 연장되어, 포인터의 오른쪽 에지를 가로지르며, 나머지 하나의 직선은 이미지 디바이스의 초점으로부터 연장되어, 포인터의 왼쪽 에지를 가로지른다. 그런 다음, DSP(90)는 관찰 결과(들)를 직렬 라인 드라이버(162)를 통해 마스터 제어기(30)에 전달한다.
마스터 제어기(30)는 이미징 디바이스들(40, 42)로부터 수신되는 관찰 결과들에 응답하여, 그 관찰 결과들을 검사함으로써, 각 이미징 디바이스로부터의 겹치는 관찰 결과들을 결정한다. 각 이미징 디바이스가 동일한 포인터를 바라봄으로써, 이미징 디바이스들(40, 42)에 의해 발생되는 관찰 결과들이 겹칠 때, 겹치는 관찰 결과들의 교차선들에 의해 윤곽이 정해지는 결과적인 바운딩 박스의 중심 및 그에 따른 디스플레이 표면(24)에 대한 (x,y) 좌표들에서의 포인터의 위치가, 상기 병합된 Morrison 등의 미국 특허 6,803,906에서 설명되는 잘 알려진 삼각측량을 이용하여 계산된다. 마스터 제어기(30)는 또한 관찰 결과들을 검사하여, 디스플레이 표면(24)과 인터페이싱하는 포인터들이 제스처들을 입력하는 데에 이용되고 있는 지를 결정한다.
또한, 마스터 제어기(30)는, 제스처가 인식되는 경우, 계산된 포인터 위치들 및 제스처 정보를 범용 컴퓨팅 디바이스(32)에 출력한다. 범용 컴퓨팅 디바이스(32)는 수신된 포인터 위치 및 제스처 정보를 처리하고, 필요한 경우, 디스플레이 제어기(34)에 제공되는 이미지 출력을 업데이트하며, 이에 따라 디스플레이 유닛 상에 제시되는 이미지는 포인터의 움직임을 반영하도록 업데이트될 수 있다. 이러한 방식으로, 디스플레이 표면(24)과의 포인터 상호작용은 쓰기 또는 작도로서 기록되거나, 또는 범용 컴퓨팅 디바이스(32) 상에서 실행되는 하나 이상의 애플리케이션 프로그램들의 실행을 제어하는 데에 이용될 수 있다.
이미징 디바이스들(40, 42)에 의해 캡춰되는 이미지 프레임들 내에 단일 포인터가 존재할 때, 디스플레이 표면(24)에 대한 (x,y) 좌표들 내의 포인터의 위치는 삼각측량을 이용하여 쉽게 컴퓨팅될 수 있다. 이미징 디바이스들(40, 42)에 의해 캡춰되는 이미지 프레임들 내에 다수의 포인터들이 존재할 때에는, 포인터 애매성 및 포인터 폐색(pointer occlusion) 문제의 결과로서, 디스플레이 표면(24)에 대한 (x,y) 좌표들 내의 포인터들의 위치를 계산하는 것이 더욱 어려워진다. 이미징 디바이스들(40, 42)의 시야 내에 다수의 포인터들이 있고, 이러한 포인터들이 자신들을 쉽게 구별할 수 있게 하는 차별적인 표시들을 가지고 있지 않을 때, 포인터 애매성이 발생한다. 이러한 경우들에 있어서, 삼각측량 동안, 포인터 위치들에 대한 다수의 가능한 솔루션들이 결과로서 얻어질 수 있다.
예를 들어, 도 4는 2개의 포인터들이 디스플레이 표면(24)과 컨택하고 있는 경우의 이미징 디바이스들(40, 42)의 시선을 나타낸다. 나타낸 바와 같이, 삼각측량 동안, 2개의 포인터 위치 솔루션들이 있다. 솔루션 (A)는 실제의, 즉 진짜 포인터 위치들(400)을 나타내고, 솔루션 (B)는 환영의, 즉 가상 포인터 위치(402)를 나타낸다.
이미징 디바이스의 시야에서 하나의 포인터가 다른 포인터를 막을 때에, 폐색이 일어난다. 이러한 경우들에 있어서, 그 이미징 디바이스에 의해 캡춰되는 이미지 프레임은 단지 하나의 포인터 만을 포함한다. 결과적으로, 디스플레이 표면(24)에 대한 포인터들의 정확한 위치들이 환영의 포인터 위치들로부터 명확해질 수 없게 된다. 예를 들어, 도 5는 2개의 포인터들이 디스플레이 표면(24)과 컨택하고 있는 경우의 이미징 디바이스들(40, 42)의 시선을 나타낸다. 나타낸 바와 같이, 이미징 디바이스(42)는 포인터들(500 및 502) 모두를 보고 있다. 하지만, 이미징 디바이스(40)는 포인터(500) 만을 보고 있는데, 왜냐하면 이 포인터(500)가 이미징 디바이스(40)의 시야로부터 포인터(502)를 막거나 또는 폐색하기 때문이다.
제스처를 입력하기 위해 다수의 포인터들이 디스플레이 표면(24)에 대해 움직일 때, 제스처의 타입 및 이용되는 터치 입력의 특성에 따라, 포인터 애매성을 해결할 필요가 있거나 또는 해결할 필요가 없을 수도 있는데, 이제 이에 대해 예시적으로 설명할 것이다.
도 6a 내지 9B는 제스처들을 입력하는 동안 실제 및 가상 포인터 위치 삼각측량 솔루션들과 함께, 디스플레이 표면(24)과 인터페이싱하는 2개의 포인터들을 이용하여 만들어지는 다양한 제스처들을 나타낸다. 특히, 도 6a는 팬 제스처(pan gesture)를 나타내는데, 여기에서는 2개의 포인터들(600)(이 경우, 사용자의 각 손으로부터의 하나의 손가락)이 디스플레이 표면(24) 상에 제시되는 물체(미도시)와 컨택한 다음, 동일한 방향으로 움직인다. 도 6b는 삼각측량 동안 결정되는 터치 포인트들의 실제 쌍(602) 및 터치 포인트들의 가상의 쌍(604)을 나타낸다. 4개의 모든 터치 포인트들(602 및 604)이 동일한 방향으로 움직이기 때문에, 팬 제스처를 인식하기 위해 터치 포인트들의 어느 쌍이 진짜이고 터치 포인트들의 어느 쌍이 가상인지를 결정할 필요가 없다.
도 7a는 줌 제스처(zoom gesture)를 나타내는데, 여기에서는 2개의 포인터들(700)(이 경우, 사용자의 각 손으로부터의 하나의 손가락)이 디스플레이 표면(24) 상에 디스플레이되는 물체(미도시)와 컨택한 다음, 개별적으로 움직인다. 도 7b는 삼각측량 동안 결정되는 터치 포인트들의 실제 쌍(702) 및 터치 포인트들의 가상의 쌍(704)을 나타낸다. 4개의 모든 터치 포인트들(702 및 704)이 서로로부터 멀리 움직이기 때문에, 줌 제스처를 인식하기 위해 터치 포인트들의 어느 쌍이 진짜이고 터치 포인트들의 어느 쌍이 가상인지를 결정할 필요가 없다. 서로를 향해 움직이는 포인터들을 이용하여 줌 제스처가 수행될 때, 4개의 모든 터치 포인트들(702 및 704)이 서로를 향해 움직이기 때문에, 줌 제스처를 인식하기 위해 터치 포인트들의 어느 쌍이 진짜이고 터치 포인트들의 어느 쌍이 가상인지를 결정할 필요가 없다.
도 8a는 회전 제스처(rotation gesture)를 나타내는데, 여기에서는 2개의 포인터들(800 및 801)(이 경우, 사용자의 각 손으로부터의 하나의 손가락)이 디스플레이 표면(24) 상에 디스플레이되는 물체(미도시)와 컨택한다. 포인터(800)는 물체 상에서 움직이지 않는 상태로 유지됨으로써, 포인터(801)가 포인터(800) 주위를 회전하는 동안 앵커(anchor)의 역할을 한다. 도 8b는 움직이지 않는 터치 포인트(802)와, 그리고 삼각측량 동안 결정되는 3개의 움직이는 실제 및 가상의 터치 포인트들(803, 804, 805)을 나타낸다. 움직이지 않는 터치 포인트(802)는 앵커로서 쉽게 인식될 수 있다. 가상의 터치 포인트들(803 및 804)은 움직이지 않는 터치 포인트(802) 쪽으로 또는 이로부터 멀리 움직이는 반면, 터치 포인트(805)는 움직이지 않는 터치 포인트(802) 주위에서 아크(arc) 형태로 움직인다는 사실로 인해, 가상의 터치 포인트들(803 및 804)은 실제 터치 포인트(805)로부터 쉽게 구별될 수 있다.
도 9a는 오른쪽 클릭 제스처를 나타내는바, 여기에서 포인터(900)(이 경우, 사용자의 한 손으로부터의 하나의 손가락)는 디스플레이 표면(24)을 컨택하며, 포인터(901)(이 경우, 사용자의 다른 손으로부터의 하나의 손가락)는 포인터(900)의 오른쪽으로 디스플레이 표면(24)과 연속적으로 컨택한다. 도 9b는 움직이지 않는 터치 포인트(902), 및 삼각측량 동안 결정되는 3개의 간헐적인 실제 및 가상의 터치 포인트들(903, 904, 905)을 보여준다. 이러한 3개의 간헐적인 터치 포인트들(903, 904, 905)은 모두 움직이지 않는 터치 포인트(902)의 오른쪽에 있기 때문에, 오른쪽 클릭 제스처를 인식하기 위해 터치 포인트들의 어느 쌍이 실제이고 터치 포인트들의 어느 쌍이 가상인지를 결정할 필요가 없다.
손 전체 또는 사용자의 손으로부터의 다수의 손가락이 단일 포인터로서 이용될 때, 분류에 있어서 어려움이 발생하게 된다. 손 전체가 단일 포인터로서 이용될 때, 삼각측량 동안, 디스플레이 표면(24)을 컨택하는 손의 각 손가락에 대한 다수의 가능한 터치 포인트 위치들이 발생된다. 이러한 시나리오들을 처리하기 위해, 손 전체가 디스플레이 표면을 컨택하는 데에 이용될 때, 손의 컨택에 응답하여 삼각측량 동안 계산되는 모든 실제 및 가상의 터치 포인트들이 함께 클러스터(cluster)되어, 단일의 커다란 터치 영역을 형성한다. 2개의 개별적인 손이 2개의 개별적인 포인터들로서 이용되어 디스플레이 표면(24)과 인터페이스하는 경우, 삼각측량 동안 계산되는 모든 실제 및 가상의 터치 포인트들 역시 클러스터되어 단일의 커다란 터치 영역을 형성한다.
도 10a 내지 12C는 손들이 팜 업(즉, 손바닥을 디스플레이 표면으로부터 위로 들어올리는 것) 또는 팜 다운(즉, 손바닥을 디스플레이 표면에 대는 것)되느냐에 따라, 제스처들을 입력하는 동안 디스플레이 표면(24) 상의 터치 영역 또는 터치 포인트들과 함께, 디스플레이 표면(24)과 인터페이싱하는 손들을 이용하여 만들어는 다양한 제스처들을 나타낸다. 예를 들어, 도 10a는 손 전체(즉, 완전한 손)(1000)를 이용하여 만들어지는 스와이프 제스처(swipe gesture)를 나타내는 바, 손(1000)은 디스플레이 표면(24)을 컨택한 다음, 스위핑 모션(sweeping motion)으로 대체적으로 한 방향으로 디스플레이 표면(24)을 가로질러 움직인다. 도 10b는 제스처 입력 동안 손(1000)이 팜 다운될 때의 디스플레이 표면 상에서의 터치 영역(1002)의 움직임을 보여준다. 알 수 있는 바와 같이, 터치 영역(1002)은 평균 손가락의 직경 보다 훨씬 더 크다. 도 10c는 제스처 입력 동안 손(1000)이 팜업되고, 손의 손가락 끝 만이 디스플레이 표면(24)과 상호작용을 할 때, 디스플레이 표면(24) 상에서의 터치 포인트들의 클러스터(1004)의 움직임을 보여준다. 터치 포인트들의 클러스터(1004)가 반드시 5개의 모든 손가락들을 포함하는 것은 아닌데, 왜냐하면 각 손가락은 상이한 압력으로 디스플레이 표면(24)과 상호작용을 하거나, 또는 일부 손가락들이 다른 손가락들에 충분히 가까이 있게 되어, 하나의 병합된 터치 포인트처럼 보일 수 있기 때문이다. 터치 포인트들의 클러스터(1004)가 개별적인 터치 포인트들이 되는 것이 아니라, 하나의 커다란 터치 영역으로서 처리됨으로써, 처리 부하를 줄이고, 응답 시간을 증가시킨다.
도 11a는 디스플레이 표면(14)과 컨택한 다음 서로로부터 멀리 (또는 서로를 향해) 움직이는 2개의 개별적인 손들(1100 및 1102)을 이용하여 만들어지는 줌 제스처를 나타낸다. 도 11b는 손들(1100 및 1102)이 팜 다운될 때, 디스플레이 표면(24) 상에서의 터치 영역들의 움직임을 보여준다. 도 11c는 손들(1100 및 1102)이 팜 업되고, 손 끝 만이 디스플레이 표면(24)을 컨택할 때, 디스플레이 표면(24) 상에서의 터치 영역들의 클러스터들(1108 및 1110)의 움직임을 보여준다. 이러한 클러스터들은 개별적인 터치 포인트들이 되는 것이 아니라, 커다란 터치 영역으로서 처리됨으로써, 프로세서 부하(즉, 처리 부하)를 줄이고, 응답 시간을 증가시킨다. 커다란 터치 영역의 맨 끝 측면들 만이 중요하다. 도 11b에서, 터치 영역(1104)의 가장 왼쪽(1105) 및 터치 영역(1106)의 가장 오른쪽(1107)이 서로로부터 멀리 (또는 서로를 향해서) 움직인다면, 줌 제스처가 인식된다. 유사하게, 도 11c에서, 터치 포인트들의 클러스터(1108)의 가장 왼쪽(1109) 및 터치 포인트들의 클러스터(1110)의 가장 오른쪽(1111)이 서로를 향해 (또는 서로로부터 멀리) 움직인다면, 줌 제스처가 인식된다.
도 12a는 2개의 개별적인 손들(1200 및 1202)을 이용하여 만들어지는 팬 제스처를 보여주는 바, 이러한 손들은 디스플레이 표면(24)을 컨택한 다음, 이들 간의 간격을 대체로 유지하면서 동일한 방향으로 움직인다. 도 12b는 손들(1200 및 1202)이 팜 다운될 때, 디스플레이 표면(24) 상에서의 터치 영역들(1204 및 1206)의 움직임을 보여준다. 도 12c는 손들(1200 및 1202)이 팜 업되고, 손가락 끝 만이 디스플레이 표면(24)과 컨택할 때, 디스플레이 표면(24) 상에서의 터치 포인트들의 클러스터들(1208 및 1210)의 움직임을 보여준다. 이러한 클러스터들은 개별적인 터치 포인트들로 되는 것이 아니라, 커다란 터치 영역으로서 처리됨으로써, 프로세서 부하를 줄이고, 응답 시간을 증가시킨다. 이러한 커다란 터치 영역의 맨 끝 측면들 만이 중요하다. 도 12b에서, 터치 영역(1204)의 가장 왼쪽(1205) 및 터치 영역(1206)의 가장 오른쪽(1207)이 한 방향으로 움직임으로써, 서로로부터 동일한 간격을 거의 유지한다면, 팬 제스처가 인식된다. 유사하게, 도 12c에서, 터치 포인트들의 클러스터(1208)의 가장 왼쪽(1209) 및 터치 포인트들의 클러스터(1210)의 가장 오른쪽(1211)이 한 방향으로 움직임으로써, 서로로부터 동일한 간격을 거의 유지한다면, 팬 제스처가 인식된다.
당업자라면, 상기 설명은 다수의 포인터들 또는 다수의 손들을 이용하여 만들어질 수 있는 제스처들의 몇 개의 예 만을 강조하였으며, 다른 제스처들도 인식될 수 있다는 것을 이해할 것이다.
도 13a, 13b 및 13c는 마스터 제어기(30)에 의해 실행되는 분류 루틴(1300)을 보여주는 흐름도를 함께 나타내는 바, 이러한 분류 루틴은 디스플레이 표면(24)과 컨택하는 다수의 손가락들 또는 전체 손들을 이용하여 사용자 또는 사용자들에 의해 입력되는 상기 설명한 것과 같은 제스처들을 인식하는 데에 이용된다. 알 수 있는 바와 같이, 처음에, 단계(1302)에서, 오른쪽 클릭 제스처에 대한 플래그가 클리어(clear)된다. 단계(1304)에서, 캡춰되는 이미지 프레임들을 처리한 후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과(들)이 획득된다. 단계(1306)에서, 각 이미징 디바이스로부터 하나 이상의 관찰 결과가 존재하는 지를 결정하기 위한 체크가 이루어진다. 만일 단지 하나의 이미징 디바이스로부터 하나 이상의 관찰 결과가 존재한다면(이는 포인터가 처음에 디스플레이 표면(24)에 다가가고, 단지 하나의 이미징 디바이스에 의해서만 보여질 때에 일어난다), 절차는 단계(1304)로 돌아가며, 다음으로 캡춰되는 이미지 프레임들을 처리한 후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과(들)이 획득된다.
단계(1306)에서, 각 이미징 디바이스로부터 하나 이상의 관찰 결과가 존재한다면, 단계(1308)에서, 각 이미징 디바이스로부터 단지 하나의 관찰 결과 만이 존재하는 지를 결정하기 위한 체크가 이루어진다. 각 이미징 디바이스로부터 단지 하나의 관찰 결과가 존재한다면, 단계(1310)에서, 겹치는 관찰 결과들의 교차선들에 의해 정의되는 바운딩 박스의 중심 및 그에 따른 (x,y) 좌표들에서의 포인터 위치 또는 터치 포인트를 삼각측량을 이용하여 계산한다. 삼각측량은, 예를 들어 어셈블리(22)의 상부 왼쪽 코너와 같은 지정된 원점(origin)에서 시작하여 센티미터와 같은 물리적인 측정 단위로 수행된다.
일단 터치 포인트의 위치가 결정되면, 바운딩 박스의 면적을 결정하여 이러한 터치 포인트의 사이즈의 근사치를 계산한다. 사이즈 측정의 단위들은 삼각측량의 단위들과 동일하다. 그런 다음, 터치 포인트 위치 및 사이즈는, 터치 포인트 포인터의 위치에 있어서 임의의 변경이 일어났는 지를 확인하기 위해, 이후 참조할 수 있도록 최초 포인터 위치 정보로서 저장된다.
단계(1312)에서, 다음 이미지 프레임들을 처리한 후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(1314)에서, 이전의 관찰 결과들을 처리하는 동안 식별되는 터치 포인트에 해당하는 겹치는 관찰 결과들의 교차선들에 의해 정의되는 바운딩 박스의 사이즈를 임계 값과 비교하여, 바운딩 박스의 사이즈가 전형적인 손가락 보다 훨씬 더 큰지를 결정한다. 만일 바운딩 박스의 사이즈가, 예를 들어 직경이 약 4cm인 평균 손가락 보다 훨씬 더 크다면, 핸드 제스처 분류 루틴(B로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 만일 바운딩 박스의 사이즈가 변경되지 않거나, 또는 평균 손가락 보다 크지 않다면, 단계(1316)에서, 터치 포인트를 잃어버렸는 지를 결정한다. 만일 터치 포인트를 잃어버렸다면, 디스플레이 표면(24)으로부터의 포인터의 리프트(lift)가 인식되어, 왼쪽 클릭 및 오른쪽 클릭 제스처 루틴(C로 라벨이 붙음)이 실행됨을 나타내는 바, 이에 대해서는 하기에서 설명될 것이다. 만일 터치 포인트를 잃어버리지 않았다면, 단계(1318)에서, 관찰 결과들이 하나 이상의 터치 포인트가 존재함을 나타내는 지와, 그리고 최초 터치 포인트가 멀티-터치 제스처의 일부였을 가능성이 있는지, 아니면 오른쪽 클릭 제스처의 일부였을 가능성이 있는 지를 결정한다. 관찰 결과들이 하나 이상의 터치 포인트가 존재함을 나타내지 않는 다면, 단계(1320)에서, 바운딩 박스의 중심 및 그에 따른 새로운 포인터 위치를 삼각측량을 이용하여 계산한다. 그런 다음, 단계(1322)에서, 현재 및 이전의 터치 포인트 위치들을 검사함으로써 드래그 제스처(drag gesture)가 수행되었는 지를 결정한다. 터치 위치의 변경이 검출되면, 드래그 제스처 루틴(D로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 터치 위치의 변경이 검출되지 않으면, 분류 루틴은 단계(1312)로 돌아간다.
단계(1318)에서, 관찰 결과들이 하나 이상의 터치 포인트가 존재함을 나타내면, 단계(1324)에서, 새로운 터치 포인트가 최초 터치 포인트의 오른쪽에서 발생했는 지를 결정한다. 새로운 터치 포인트가 최초 터치 포인트의 오른쪽에서 발생했다면, 가능한 오른쪽 클릭 제스처가 인식되고, 단계(1326)에서 오른쪽 클릭 플래그가 세트된다. 새로운 가능한 터치 포인트가 최초 터치 포인트의 오른쪽에서 발생하지 않았거나, 또는 오른쪽 클릭 플래그가 세트된 이후, 분류 루틴은 단계(1328)로 진행한다.
단계(1308)에서, 각 이미징 디바이스로부터 하나 이상의 관찰 결과가 존재한다면, 단계(1328)에서, 터치 포인트들을 나타내는 바운딩 박스들을 검사하여, 이러한 바운딩 박스들중 임의의 바운딩 박스가, 예를 들어 약 4cm의 평균 손가락 폭 보다 훨씬 더 큰 지를, 또는 2개 이상의 터치 포인트들을 나타내는 바운딩 박스들이 존재하는 지를 결정한다. 2개 이상의 터치 포인트들을 나타내는 바운딩 박스들이 결정되거나, 또는 커다란 바운딩 박스가 결정되면, 분류 루틴은 클러스터 제스처가 시작되었음을 인식하고, 핸드 제스처 분류 루틴(B)이 실행된다. 2개 이상의 터치 포인트들을 나타내는 바운딩 박스들이 결정되고, 바운딩 박스중 어느 것도 직경 4cm 보다 큰 사이즈를 갖지 않는 다면, 단계(1330)에서, 제스처는 2-손가락 제스처로서 인식되고, 도 4에 나타낸 터치 포인트들의 실제 쌍 및 터치 포인트들의 가상의 쌍을 포함하는 4개의 모든 가능한 터치 포인트들이 삼각측량된다. 이러한 결과적인 삼각측량 세트가 최초 위치로서 저장되며, 2-손가락 제스처들이 입력되고 있는 지를 결정하기 위해 이후의 삼각측량 세트들과 비교하는 데에 이용된다.
도 5와 관련하여 이전에 설명한 바와 같이, 하나의 디바이스가 2개의 포인터들을 보고 있는 동안, 다른 이미징 디바이스는 단지 1개의 포인터 만을 볼 수 있다. 이는 이미징 디바이스들중 하나의 시선 내에 방해물이 있는 경우, 또는 2개의 포인터들이 이미징 디바이스들중 하나의 시야 내에 일직선으로 정렬되어 단일 포인터로서 보이는 경우에 일어난다. 이 경우, 최초 삼각측량 세트를 계산할 때, 단일 포인터에 해당하는 관찰 결과는 동일한 위치에서의 2개의 가능한 터치 포인트들로서 처리된다. 결과로서, 삼각 측량 동안, 4개의 터치 포인트들이 발생될 것이지만, 2개의 터치 포인트들은 잉여분(redundant)이 될 것이다.
단계(1332)에서, 다음 이미지 프레임들을 처리한 후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득되고, 다음 4개의 터치 포인트 위치들이 삼각측량된다. 그런 다음, 이러한 다음 삼각측량 세트에 대한 결과들은 다음 위치로서 저장된다. 단계(1334)에서는, 관찰 결과들이 새로운 터치 포인트들을 나타내는 지를 결정한다. 관찰 결과들이 새로운 터치 포인트들을 나타낸다면, 분류 루틴(1300)은 단계(1328)로 돌아간다. 관찰 결과들이 어떠한 새로운 터치 포인트도 나타내지 않는 다면, 단계(1336)에서, 터치 포인트들중 임의의 터치 포인트를 잃어버렸는 지를 결정한다. 터치 포인트를 잃어버렸다면, 단계(1338)에서, 가장 오른쪽 터치 포인트를 잃어버렸는 지와, 오른쪽 클릭 플래그가 세트되었는 지를 결정한다. 가장 오른쪽 터치 포인트를 잃어버렸고, 오른쪽 클릭 플래그가 세트되었다면, 오른쪽 클릭 제스처 루틴(E로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다.
오른쪽 클릭 플래그가 설정되지 않았거나, 가장 오른쪽 터치 포인트를 잃어버리지 않았다면, 제스처가 중지된 것으로 결정되며, 어떠한 제스처도 인식되지 않는다. 이후, 분류 루틴(1300)은 단계(1340)로 진행되며, 다음 이미지 프레임들을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 그런 다음, 단계(1342)에서, 어느 하나의 이미징 디바이스(40 또는 42)가 포인터를 보고 관찰 결과를 리턴시키는 지를 결정한다. 어느 하나의 이미징 디바이스가 포인터를 보고 있다면, 분류 루틴(1300)은 단계(1340)로 돌아간다. 이미징 디바이스들(40 및 42)이 더 이상 포인터를 보고 있지 않다면, 분류 루틴은 단계(1302)로 돌아간다. 이는 사용자로 하여금 제스처들 사이에서 자신의 손가락들을 강제적으로 들어올리게 하는데, 왜냐하면 분류 루틴(1300)은 포인터들의 어떠한 관찰 결과도 없어야만 비로소 진행할 것이기 때문이다. 이는 사용자가 디스플레이 표면(24)으로부터 자신의 손가락들을 들어올릴 때 일어나는 일시적인 현상(transient)이 다른 제스처들로서 해석되는 것을 막아준다.
단계(1336)에서, 어떠한 터치 포인트들도 잃어버리지 않았다면, 단계(1344)에서, 터치 포인트들의 움직임을 검사하여, 도 6a 및 6B에 나타낸 바와 같은 팬 제스처가 이루어졌는 지를 결정한다. 팬 제스처가 검출되면, 팬 제스처 루틴(F로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 팬 제스처가 검출되지 않으면, 단계(1346)에서, 터치 포인트들의 움직임을 검사하여, 도 7a 및 7B에 나타낸 바와 같은 줌 제스처가 이루어졌는 지를 결정한다. 줌 제스처가 검출되면, 줌 제스처 루틴(G로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 줌 제스처가 검출되지 않으면, 단계(1348)에서, 터치 포인트들의 움직임을 계산하여 도 8a 및 도 8b에 나타낸 바와 같은 회전 제스처가 이루어졌는 지를 결정한다. 회전 제스처가 검출되면, 회전 제스처 루틴(H로 라벨이 붙음)가 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 회전 제스처가 검출되지 않으면, 분류 루틴은 단계(1332)로 돌아간다.
도 14는 도 13의 단계 B에서 이용되는 핸드 제스처 분류 루틴을 도시하는 흐름도로서, 일반적으로 도면 부호 1400으로 식별된다. 단계(1402)에서, 터치 포인트의 사이즈가 평균 손가락의 평균 폭 보다 훨씬 더 크기 때문에, 또는 2개 이상의 터치 포인트들이 발견되기 때문에, 핸드 제스처가 인식된다. 터치 포인트가 디스플레이 표면(24)과 컨택하는 손 전체의 팜 다운 또는 포인터들의 클러스터의 결과인지는 중요하지 않은데, 왜냐하면 개별적인 터치 포인트들이 분석되는 것이 아니기 때문이다. 대신에, 커다란 터치 포인트의 가장 왼쪽 경계들 및 가장 오른쪽 경계들(대안적으로는, 경계 에지들 내의 포인트들, 예를 들어 경계 내의 포인트 1cm가 이용될 수 있다)이 삼각측량되어, 4개의 삼각측량된 터치 포인트들을 생성하는데, 이들은 이러한 커다란 터치 포인트를 둘러싸는 다각형 또는 바운딩 박스를 형성한다. 이러한 바운딩 박스는 상기 커다란 터치 포인트의 최초 위치로서 저장된다.
단계(1404)에서, 다음 이미지 프레임들을 처리한 후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(1406)에서는, 관찰 결과들이 바운딩 박스의 에지들에서 나타나는 어떠한 새로운 터치 포인트들(이들은 이미지 프레임들 간의 포인터(들)의 정당한 움직임에 의해서는 설명되지 않는다)을 나타내는 지를 결정한다. 관찰 결과들이 이러한 새로운 터치 포인트를 나타낸다면, 최초 터치 포인트 위치는 일시 데이터에 의해 계산된 것으로 추정되며, 핸드 제스처 분류 루틴은 시작하기 위해 단계(1402)로 돌아간다. 관찰 결과들이 어떠한 새로운 터치 포인트들도 나타내지 않는 다면, 단계(1408)에서, 터치 포인트를 잃어버렸는 지를 결정한다. 터치 포인트를 잃어버렸다면, 제스처를 수행하지 않으면서 사용자의 손이 디스플레이 표면(24)으로부터 들어올려진 것으로 추정되며, 어떠한 제스처도 인식되지 않는다. 그런 다음, 핸드 제스처 분류 루틴(1400)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다.
단계(1408)에서, 터치 포인트를 잃어버리지 않았다면, 단계(1410)에서, 터치 포인트의 움직임을 계산하여, 드래그 제스처가 이루어졌는 지를 결정한다. 드래그 제스처는, 바운딩 박스의 4개의 모든 삼각측량 포인트들이 약 45o 안팎으로 거의 동일한 방향으로 약 4cm의 일정 임계치 이상 움직일 때에 검출된다. 드래그 제스처가 검출되면, 단계(1414)에서, 터치 포인트의 사이즈가 하나의 손에 의해 이루어질 정도로 충분히 작은 지를 결정하기 위한 체크가 행해진다. 하나의 손에 대한 임계 사이즈는 약 4cm이다. 터치 포인트의 사이즈가 하나의 손에 의해 이루어질 정도로 충분히 작다면, 핸드 와이프 제스처 루틴(I로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 터치 포인트의 사이즈가 하나의 손에 의해 이루어질 정도로 충분히 작지 않다면, 핸드 팬 제스처 루틴(K로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다.
단계(1410)에서 드래그 제스처가 검출되지 않으면, 단계(1412)에서, 터치 포인트들의 움직임을 검사하여, 줌 제스처가 이루어졌는 지를 결정한다. 줌 제스처는, 바운딩 박스의 가장 왼쪽 및 가장 오른쪽 삼각측량 포인트들 모두가, 디스플레이 표면(24) 상에 제시되는 물체를 크게 하거나 또는 디스플레이 표면(24) 상에 제시되는 물체를 함께 줄이기 위해, 서로로부터 멀리 약 4cm의 일정 임계치 이상 움직일 때에 검출된다. 줌 제스처가 검출되면, 핸드 줌 제스처 루틴(J로 라벨이 붙음)이 실행되는 바, 이에 대해서는 하기에서 설명될 것이다. 줌 제스처가 검출되지 않으면, 핸드 제스처 분류 루틴(1400)은 단계(1404)로 돌아간다.
도 15는 왼쪽 클릭 제스처 루틴(1500)(도 13에서 C로 라벨이 붙음)을 보여주는 흐름도이다. 단계(1502)에서, 왼쪽 클릭 마우스 다운 또는 포인터 다운 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 최초 위치에서 보고된다. 단계(1504)에서, 마우스 업 또는 포인터 업 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 왼쪽 클릭 제스처 루틴(1500)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다.
도 16은 오른쪽 클릭 제스처 루틴(1600)(도 13에서 E로 라벨이 붙음)을 보여주는 흐름도이다. 단계(1602)에서, 가장 오른쪽 터치 포인트를 잃어버렸고, 오른쪽 클릭 플래그가 설정되기 때문에, 오른쪽 클릭 마우스 다운 또는 포인터 다운 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 가장 오른쪽 터치 포인트에서 보고된다. 단계(1604)에서, 마우스 업 또는 포인터 업 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 오른쪽 클릭 제스처 루틴(1600)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다.
도 17은 드래그 제스처 루틴(1700)(도 13에서 D로 라벨이 붙음)을 보여주는 흐름도이다. 단계(1702)에서, 드래그 제스처가 검출되었기 때문에, 왼쪽 클릭 마우스 다운 또는 포인터 다운 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 최초 위치에서 보고된다. 단계(1704)에서, 다음 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(1706)에서, 터치 포인트를 잃어버렸는 지를 결정한다. 터치 포인트를 잃어버렸으면, 단계(1708)에서, 마우스 업 또는 포인터 업 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 드래그 제스처 루틴(1700)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다. 터치 포인트를 잃어버리지 않았으면, 단계(1710)에서, 새로운 터치 포인트 위치가 삼각측량되고, 마우스 이동 또는 포인터 이동 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 드래그 제스처 루틴(1700)은 단계(1704)로 돌아간다. 드래그 제스처 루틴(1700)은 이미징 디바이스들중 하나 또는 양쪽 모두가 포인터의 시야를 잃어버렸을 때에만 끝난다.
도 18은 팬 제스처 루틴(1800)(도 13에서 F로 라벨이 붙음)을 보여준다. 단계(1802)에서, 팬 제스처 이동이 검출되었기 때문에, 팬 제스처 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스에 보고된다. 단계(1804)에서, 최초 삼각측량 세트의 중심이 계산되고, 시작 팬 위치로서 저장된다. 이러한 실시예에서, 2개의 손가락 팬 제스처의 중심은, 각 이미징 디바이스(40 및 42)에 의해 발생되는 가장 왼쪽 및 가장 오른쪽 관찰 결과들의 위치들을 더한 다음, 2로 나눔으로써 계산된다. 2개의 결과적인 중심들은 디스플레이 표면(24) 상에서 단일 포인트로서 삼각측량되어, 2개의 포인터들 또는 손가락의 중심을 나타낸다. 팬 거리는 이러한 삼각측량된 중심으로부터 측정된다. 단계(1806)에서, 다음 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(1808)에서, 터치 포인트들을 잃어버렸는 지를 결정한다. 터치 포인트들을 잃어버렸다면, 단계(1810)에서, 팬 제스처의 끝이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 팬 제스처 루틴(1800)를 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다. 터치 포인트들을 잃어버리지 않았다면, 단계(1812)에서, 새로운 삼각측량 세트가 터치 포인트들의 새로운 위치에 대해 계산되고, 이러한 새로운 삼각측량 세트로부터 새로운 중심이 계산된다. 단계(1814)에서, 최초 삼각측량 세트 위치로부터 새로운 삼각측량 세트 위치로의 팬의 움직임이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(1816)에서, 새로운 팬 위치를 이용하여, 시작 팬 위치를 대신한다. 그런 다음, 팬 제스처 루틴(1800)은 단계(1806)로 돌아간다. 팬 제스처 루틴(1800)은 이미징 디바이스들중 하나 또는 양쪽 모두가 포인터의 시야를 잃었을 때에만 끝난다.
도 19는 줌 제스처 루틴(1900)(도 13에서 G로 라벨이 붙음)을 보여준다. 단계(1902)에서, 줌 제스처 이동이 검출되었기 때문에, 줌 제스처 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스에 보고된다. 단계(1904)에서, 삼각측량 세트의 가장 왼쪽 삼각측량 포인트로부터 가장 오른쪽 삼각측량 포인트까지의 거리가 계산되고, 현재 거리로서 저장된다. 단계(1906)에서, 다음 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(1908)에서, 터치 포인트들을 잃어버렸는 지를 결정한다. 터치 포인트들을 잃어버렸다면, 단계(1910)에서, 줌 제스처가 끝나고, 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스에 보고된다. 그런 다음, 줌 제스처 루틴(1900)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다.
터치 포인트들을 잃어버리지 않았다면, 단계(1912)에서, 새로운 삼각측량 세트가 터치 포인트들의 새로운 위치에 대해 계산되고, 이러한 새로운 삼각측량 세트로부터 새로운 거리가 계산된다. 단계(1914)에서, 현재 거리로부터 새로운 거리까지의 줌 변경이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(1916)에서, 현재 거리를 이용하여, 새로운 거리를 대신한다. 그런 다음, 줌 제스처 루틴(1900)은 단계(1906)로 돌아간다. 줌 제스처 루틴(1900)은 이미징 디바이스들중 하나 또는 양쪽 모두가 포인터의 시야를 잃었을 때에만 끝난다. 줌 제스처 동안 2개의 터치 포인트들이 서로 컨택하거나, 또는 서로 가까이 있을 때, 대화형 입력 시스템(20)은 단일 터치 포인트 입력을 생성하는 대신, 이러한 2개의 터치 포인트들을 계속해서 식별하는데, 왜냐하면 터치 포인트들의 중심 위치가 변하지 않기 때문이다. 2개의 터치 포인터들이 접촉할 때, 그리고 이미징 디바이스들(40 및 42)의 시야에서, 이들은 단일 터치 포인트로서 인식된다. 이러한 2개의 포인터들이 줌 제스처 동안 분리될 때, 이러한 포인터들은 단계(1334)에서 식별되는 바와 같이 개별적인 터치 포인트들로 되며, 단계(1346)에서 줌 제스처가 인식된다.
도 20은 회전 제스처 루틴(2000)(도 13에서 H로 라벨이 붙음)을 보여주는 흐름도이다. 단계(2002)에서, 회전 제스처가 검출되었기 때문에, 회전 제스처의 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2004)에서, 앵커 포인트(anchor point)가 결정되고, 앵커 포인트와 이 앵커 포인트 반대편의 터치 포인트 사이의 각도가 계산된다. 상기 앵커 포인트는 삼각측량 세트 내의 모든 터치 포인트들 중에서 가장 적게 움직이는 터치 포인트로서 정의된다. 상기 각도는 현재 각도로서 저장된다. 단계(2006)에서, 다음 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(2008)에서, 터치 포인트들을 잃어버렸는 지를 결정한다. 터치 포인트들을 잃어버렸다면, 단계(2010)에서, 회전 제스처가 끝나고, 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스에 보고된다. 그런 다음, 회전 제스처 루틴(2000)을 빠져나오며, 분류 루틴은 단계(1340)로 돌아간다. 터치 포인트들을 잃어버리지 않았다면, 단계(2012)에서, 새로운 삼각측량 세트가 계산되고, 이러한 새로운 삼각측량 세트로부터 앵커 포인트와 이 앵커 포인트 반대편의 터치 포인트 간의 새로운 각도가 계산된다. 단계(2014)에서, 현재 각도로부터 새로운 각도까지의 회전 변경이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2016)에서, 현재 각도를 이용하여, 새로운 각도를 대신한다. 그런 다음, 회전 제스처 루틴(2000)은 단계(2006)로 돌아간다. 회전 제스처 루틴(2000)은 이미징 디바이스들중 하나 또는 양쪽 모두가 포인터의 시야를 잃었을 때에만 끝난다.
도 21은 핸드 스와이프 제스처 루틴(2100)(도 14에서 I로 라벨이 붙음)을 보여주는 흐름도이다. 단계(2102)에서, 드래그 제스처가 검출되었기 때문에, 스와이프 제스처의 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2104)에서, 터치 포인트의 중심이 결정되고, 현재 터치 포인트 위치로서 저장된다. 이러한 터치 포인트의 중심은, 각 이미징 디바이스(40 및 42)에 의해 발생되는 관찰 결과들의 가장 왼쪽 및 가장 오른쪽 에지들의 위치들을 더한 다음, 2로 나눔으로써 계산된다. 2개의 결과적인 중심들은 디스플레이 표면(24) 상에서 단일 포인트로서 삼각측량되어, 터치 포인트의 중심을 나타낸다. 단계(2106)에서, 다음 이미지 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(2108)에서, 터치 포인트의 오른쪽 또는 왼쪽 에지를 잃어버렸는 지를 결정한다. 어떠한 에지도 잃어버리지 않았다면, 단계(2110)에서, 새로운 클러스터 중심이 삼각측량된다. 핸드 스와이프 제스처 루틴(2100)은 단계(2106)로 돌아간다. 오른쪽 에지 또는 왼쪽 에지중 어느 하나를 잃어버렸다면, 핸드 스와이프 제스처 루틴(2100)은 단계(2112)로 진행된다. 잃어버린 왼쪽 또는 오른쪽 에지는 이미지 프레임들 간의 터치 포인트들의 움직임 특성에 의해 설명될 수 없는 변경, 또는 하나의 이미징 디바이스에 의한 포인터의 시야를 완전히 잃어버린 것으로서 추정된다. 단계(2112)에서, 핸드 스와이프의 방향이 현재 터치 포인트 위치의 윗쪽인지를 결정한다. 핸드 스와이프의 방향은 최초 터치 포인트 위치와 새로운 터치 포인트 위치 간의 각도를 계산함으로써 결정된다. 핸드 스와이프의 방향이 현재 터치 포인트 위치의 윗쪽이라면, 단계(2114)에서, 스와이프-업 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 스와이프 제스처 루틴(2100)을 빠져나오고, 분류 루틴은 단계(1340)로 돌아간다.
핸드 스와이프의 방향이 현재 터치 포인트 위치의 윗쪽이 아니라면, 단계(2116)에서, 핸드 스와이프의 방향이 현재 터치 포인트 위치의 아랫쪽인지를 결정한다. 핸드 스와이프의 방향이 현재 터치 포인트 위치의 아랫쪽이라면, 단계(2118)에서, 스와이프-다운 이벤트가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 스와이프 제스처 루틴(2100)을 빠져나오고, 분류 루틴은 단계(1340)로 돌아간다. 핸드 스와이프의 방향이 현재 터치 포인트 위치의 아랫쪽이 아니라면, 단계(2120)에서, 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 왼쪽에 있는 지를 결정한다. 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 왼쪽에 있다면, 단계(2122)에서, 스와이프-왼쪽 이벤트(swipe-left event)가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 스와이프 제스처 루틴(2100)을 빠져나오고, 분류 루틴은 단계(1340)로 돌아간다. 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 왼쪽에 있지 않다면, 단계(2124)에서, 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 오른쪽에 있는 지를 결정한다. 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 오른쪽에 있다면, 단계(2126)에서, 스와이프-오른쪽 이벤트(swipe-right event)가 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 스와이프 제스처 루틴(2100)을 빠져나오고, 분류 루틴은 단계(1340)로 돌아간다. 핸드 스와이프의 방향이 우세하게 현재 터치 포인트 위치의 오른쪽에 있지 않다면, 핸드 스와이프 제스처 루틴(2100)을 빠져나오고, 분류 루틴은 도 13의 단계(1340)로 돌아간다.
도 22는 핸드 줌 제스처 루틴(2200)(도 14에서 J로 라벨이 붙음)을 보여주는 흐름도이다. 단계(2202)에서는, 도 14의 단계(1412)에서 핸드 줌 움직임이 검출되었기 때문에, 핸드 줌 제스처의 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2204)에서, 터치 포인트의 바운딩 박스의 가장 왼쪽 에지로부터 가장 오른쪽 에지까지의 거리가 결정되고, 현재 거리로서 저장된다. 단계(2206)에서, 다음 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(2208)에서, 터치 포인트의 바운딩 박스의 오른쪽 또는 왼쪽 에지를 잃어버렸는 지를 결정한다. 터치 포인트의 왼쪽 또는 오른쪽 에지를 잃어버렸다면, 단계(2210)에서, 핸드 줌 제스처의 끝이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 줌 제스처 루틴(2200)을 빠져나오고, 분류 루틴은 도 13의 단계(1340)로 돌아간다. 터치 포인트의 왼쪽 또는 오른쪽 에지를 잃어버리지 않았다면, 단계(2212)에서, 클러스터의 바운딩 박스가 터치 포인트의 새로운 위치에 대해 계산되고, 새로운 삼각측량 세트의 가장 왼쪽 터치 포인트와 가장 오른쪽 터치 포인트 간의 거리가 결정된다. 단계(2214)에서, 현재 거리로부터 새로운 거리로의 줌 변경이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2016)에서, 현재 거리를 이용하여, 새로운 거리를 대신한다. 그런 다음, 핸드 줌 제스처 루틴(2200)은 단계(2206)로 돌아간다. 핸드 줌 제스처 루틴(2200)은 이미징 디바이스들중 하나 또는 양쪽 모두가 포인터의 시야를 잃었을 때에만 끝난다.
도 23은 핸드 팬 제스처 루틴(2300)(도 14에서 K로 라벨이 붙음)을 보여주는 흐름도이다. 단계(2302)에서, 핸드 팬 제스처가 검출되었기 때문에, 팬 제스처의 시작이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 단계(2304)에서, 터치 포인트의 중심이 결정되고, 현재 터치 포인트 위치로서 저장된다. 이러한 터치 포인트의 중심은, 각 이미징 디바이스(40 및 42)에서의 가장 왼쪽 및 가장 오른쪽 관찰 에지들의 위치들을 더한 다음, 2로 나눔으로써 계산된다. 2개의 결과적인 중심들은 디스플레이 표면(24) 상에서 단일 포인트로서 삼각측량되어, 터치 포인트의 중심을 나타낸다. 단계(2306)에서, 다음 이미지 프레임을 처리한 이후 이미징 디바이스들(40 및 42)에 의해 발생되는 관찰 결과들이 획득된다. 단계(2308)에서, 터치 포인트의 관찰 결과들을 잃어버렸는 지를 결정한다. 터치 포인트의 관찰 결과들을 잃어버리지 않았다면, 단계(2310)에서, 새로운 터치 포인트 중심이 새로운 위치에 대해 삼각측량되고, 새로운 터치 포인트 위치로서 저장된다. 그런 다음, 단계(2312)에서, 핸드 팬 움직임이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고되고, 단계(2314)에서, 새로운 터치 포인트 위치가 현재 터치 포인트 위치로서 저장된다. 핸드 팬 제스처 루틴(2300)은 단계(2306)로 돌아간다. 관찰 결과들을 잃어버렸다면, 핸드 팬 제스처 루틴은 단계(2316)로 진행하는데, 여기에서는 핸드 팬 제스처의 끝이 마스터 제어기(30)에 의해 범용 컴퓨팅 디바이스(32)에 보고된다. 그런 다음, 핸드 팬 제스처 루틴(2300)을 빠져나오고, 분류 루틴은 단계(1340)로 돌아간다.
도 24는 포인터들이 서로 가까이 있거나 또는 심지어 병합된 것 처럼 보일 때 포인터 명확화(pointer disambiguation)를 돕기 위해 DSP(390)에 의해 수행될 수 있는 포인터 검출 임계(threshold) 프로세스(2400)를 설명하는 흐름도이다. 단계(2404)에서, 이미징 디바이스들(40 및 42)에 의해 이미지 프레임들이 획득되고, 관찰 결과들이 결정된다. 그런 다음, 이러한 이미지 프레임들은 이전에 획득된 이미지 프레임들과 비교되며, 단계(2404)에서는, 새로운 터치 포인트들이 결정되었는 지를 판단한다. 새로운 터치 포인트가 식별되면, 단계(2406)에서, 이 새로운 터치 포인트에는 식별 번호 및 임계 값이 할당된다.
단계(2406)에서 할당되는 임계 값은 터치 포인트의 가상의 사이즈이다. 대부분의 경우, 포인터 추적을 개선하기 위해, 포인터 임계 값은 실제 포인터의 사이즈 보다 작게 될 것이며, 터치 포인트의 중심에 위치될 것이다. 임계 가이드라인들이 포인터 사이즈 또는 타입에 기초하여 사용자에 의해 설정될 수 있다. 예를 들어, 일정 직경 미만의 포인터들은 스타일러스(stylus)로서 식별되고, 일정 임계 값이 주어질 수 있다. 일정 사이즈 이상의 포인터들은 핸드 제스처들로서 취급되며, 인접하는 포인터들의 그룹화를 용이하게 하기 위해 포인터 자체와 같거나 또는 더 큰 임계 값이 할당될 수 있다. 다른 사이즈들은 손가락들로서 식별되며, 우연한 포인터 병합을 피하기 위해 실제 포인터 보다 훨씬 더 작은 임계 값들이 주어질 수 있다. 포인터들을 손가락들로서 식별하는 경우, 선택된 임계 포인터 사이즈는 실제 포인터의 사이즈에서 손가락 포인터 사이즈의 표준 편차의 일정 배수를 뺀 것으로서 정의될 수 있다.
일단 단계(2406)에서 임계 값들이 할당되거나, 또는 단계(2404)에서 어떠한 새로운 터치 포인트들도 발견되지 않으면, 단계(2408)는 잃어버린 터치 포인트들을 체크한다. 어떠한 터치 포인트들도 잃어버리지 않았다면, 기존의 터치 포인트들, 식별 번호들 및 임계 값들이 유지되며, 단계(2414)에서 출력된다.
단계(2408)에서 포인터 컨택을 잃어버린 것으로 여겨진다면, 단계(2410)는 2개 이상의 포인터들이 병합되었는 지를 결정한다. 포인터 컨택들은 임계 값들이 겹치는 경우 병합된 것으로 여겨진다. 줌 움직임의 경우에서와 같이, 사용자의 손가락들이 순간적으로 터치하는 경우, 임계 포인터 사이즈들은 실제 포인터들 보다 작기 때문에 겹치지 않을 것이며, 2개의 포인터들이 계속해서 인식될 것이다. 다른 경우들에서는, 일정한 포인터 사이즈 및 타입들에 대해 할당되는 임계 값들에 의존하여, 2개 이상의 포인터들이 단일의 더 큰 포인터로 병합될 것이다. 단계(2412)에서, 병합된 터치 포인트는 새로운 포인터로서 식별되거나, 또는 가장 크거나, 가장 오래되거나, 또는 그렇지 않으면 가장 우세한 포인터의 아이덴티티를 유지할 수 있다. 변경되지 않은 포인터 컨택들, 및 단계(2412)에서 식별된 포인터들은 단계(2414)에서 출력된다.
당업자라면 대화형 입력 시스템(20)은 수동 포인터들 및 능동 포인터들 모두에 대해 동작한다는 것을 이해할 것이다. 상기 설명한 바와 같이, 전형적으로 수동 포인터는 대화형 입력 시스템과 함께 이용될 때 어떠한 신호도 방출하지 않는 것이다. 수동 포인터들은, 예를 들어 디스플레이 표면(24)과 컨택하는 손가락, 물질의 실린더 또는 기타의 물체들을 포함할 수 있다.
또한, 당업자라면, 비록 상기 제스처 검출 방법들이 전체 디스플레이 표면(24)을 바라보고 있는 2개의 이미징 디바이스들을 이용하는 대화형 입력 시스템과 관련하여 설명되었지만, 이러한 제스처 인식 방법들은 전반사 장애(FTIR)를 이용하는 대화형 입력 시스템에도 적용될 수 있다는 것을 이해할 것이다. FTIR의 일반적인 원리에 따르면, 광도파로를 통해 이동하는 광의 전반사(TIR)는, 포인터와 같은 물체가 도파로 표면을 터치할 때 도파로의 굴절률의 변화로 인해 방해를 받게 됨으로써, 일부 광이 터치 포인트로부터 새어 나오게 된다. 멀티-터치 대화형 입력 시스템에서, 머신 비젼 시스템은 새어 나온 광의 포인트(들)를 포함하는 이미지들을 캡춰한 다음, 이 이미지들을 처리하여, 애플리케이션 프로그램들에 대한 입력으로서 이용하기 위해, 상기 새어 나온 광의 포인트(들)에 기초하여 도파관 표면 상에서의 포인터들의 위치를 식별한다.
예를 들어, 도 25 및 26을 참조하면, 터치 테이블 형태의 FTIR 대화형 입력 시스템의 투시도가 도시되는 바, 이는 도면 부호 3010으로서 식별된다. 터치 테이블(3010)은 캐비닛(cabinet)(3016)의 꼭대기에 장착되는 테이블 탑(table top)(3012)을 포함한다. 이러한 실시예에서, 캐비닛(3010)은 바퀴, 카스트로(castor)(3018) 등 위에 놓여지게 되며, 이에 의해 터치 테이블(3010)은 요구되는 대로 장소들 간에 쉽게 움직일 수 있게 된다. 자신에게 가해지는 손가락, 펜, 손, 실린더 또는 다른 물체들과 같은 하나 이상의 포인터들(3011)의 검출 및 추적을 가능하게 하는 터치 패널(3014)에 기초한 FTIR 형태의 좌표 입력 디바이스가 테이블 탑(3012) 내에 통합된다.
캐비닛(3016)은 테이블 탑(3012) 및 터치 패널(3014)을 지탱하며, 처리 구조(3020)(도 26 참조)를 하우징하며, 이러한 처리 구조는 호스트 애플리케이션 및 하나 이상의 애플리케이션 프로그램들을 실행시킨다. 처리 구조(3020)에 의해 발생되는 이미지 데이터는 터치 패널(3014) 상에 디스플레이되며, 이에 의해 사용자는 터치 패널(3014)의 디스플레이 표면(3015) 상의 포인터 컨택들을 통해, 디스플레이되는 이미지와 상호작용을 할 수 있게 된다. 처리 구조(3020)는 포인터 컨택들을 실행중인 애플리케이션 프로그램에 대한 입력으로서 판단하고, 이미지 데이터를 그에 따라 업데이트시키며, 결과적으로 디스플레이 표면(3015) 상에 디스플레이되는 이미지가 포인터의 움직임을 반영하게 된다. 이러한 방식으로, 터치 패널(3014) 및 처리 구조(3020)는 터치 패널(3014)과의 포인터 상호작용이 손으로 쓰기(handwriting) 또는 작도로서 기록되거나, 또는 애플리케이션 프로그램들의 실행을 제어하는 데에 이용될 수 있게 한다.
본 실시예에서, 처리 구조(3020)는 컴퓨터 형태의 범용 컴퓨팅 디바이스이다. 이러한 컴퓨터는, 예를 들어 처리 유닛, 시스템 메모리(휘발성 및/또는 비휘발성 메모리), 기타 비착탈가능 또는 착탈가능 메모리(하드 디스크 드라이브, RAM, ROM, EEPROM, CD-ROM, DVD, 플래시 메모리 등), 및 다양한 컴퓨터 구성요소들을 처리 유닛에 결합시키는 시스템 버스를 포함한다.
처리 구조(3020)에 의해 가동되는 호스트 시스템 애플리케이션/오퍼레이팅 시스템을 실행하는 동안, 배경을 포함하는 그래픽 사용자 인터페이스(이 그래픽 사용자 인터페이스 상에는 그래픽 위젯들(graphic widgets)이 디스플레이된다)가 터치 패널(3014)의 디스플레이 표면 상에 제시된다. 이러한 실시예에서, 배경은 3차원 환경이고, 그래픽 사용자 인터페이스가 터치 패널(3014) 상에 제시되기 때문에, 터치 패널(3014)의 디스플레이 표면(3015)과의 포인터 상호작용을 통해 3차원 환경에서 3차원 그래픽 위젯들이 조정될 수 있게 된다.
캐비닛(3016)은 또한 수평 방향 프로젝터(3022), 적외선(IR) 필터(3024), 및 미러들(3026, 3028 및 3030)을 하우징한다. 적외선 검출 카메라 형태의 이미징 디바이스(3032)가 미러(3028)에 인접하는 브래킷(bracket)(3033) 위에 장착된다. 미러들(3026, 3028 및 3030)의 시스템은 캐비닛(3016) 내의 프로젝터(3022)에 의해 투사되는 이미지들을 이미지 사이즈를 과도하게 희생시키지 않으면서 광 경로를 따라 "폴딩(folding)"하는 기능을 한다. 이에 의해, 전체 터치 테이블(3010)의 치수가 컴팩트(compact)해질 수 있게 된다.
이미징 디바이스(3032)는 미러(3030)를 향하고 있으며, 이에 따라 디스플레이 표면(3015)의 반사를 살펴봄으로써, 캡춰되는 이미지들 내에 핫스팟 노이즈(hotspot noise)가 나타나는 것을 완화시키는데, 이러한 핫스팟 노이즈는 디스플레이 표면(3015)을 직접 향하고 있는 이미징 디바이스들을 갖는 시스템들에서 전형적으로 반드시 처리되어야 한다. 이미지 디바이스(3032)는 브래킷(3033)에 의해 캐비닛(3016) 내에 위치하게 되며, 이에 따라 투영되는 이미지의 광 경로와 간섭하지 않는다.
터치 테이블(3010)이 동작하는 동안, 처리 구조(3020)는 프로젝터(3022)에 비디오 데이터를 출력하며, 이 프로젝터(3022)는 IR 필터(3024)를 통해 제 1 미러(3026) 상에 이미지들을 투사한다. 실질적으로 필터링된 IR 광을 갖는 투사된 이미지들은 제 1 미러(3026)에 의해 제 2 미러(3028) 상에 반사된다. 제 2 미러(3028)는 그 이미지들을 제 3 미러(3030)에 반사시킨다. 제 3 미러(3030)는 투사된 비디오 이미지들을 터치 패널(3014)의 디스플레이 (바닥) 표면 상에 반사시킨다. 터치 패널(3014)의 바닥 표면에 투사된 비디오 이미지들은 윗쪽으로부터 터치 패널(3104)을 통해 보여질 수 있게 된다. 나타낸 바와 같이 구성되는 3개의 미러들(3026, 3028 및 3030)의 시스템은 컴팩트한 경로를 제공하는데, 투사되는 이미지는 이러한 경로를 따라 디스플레이 표면에 전달될 수 있게 된다. 프로젝터(3022)는 수평 방향을 가짐으로써, 프로젝터의 전구 수명을 보존할 수 있게 되는데, 왜냐하면 일반적으로 이용가능한 프로젝터들은 전형적으로 수평 배치에 대해 설계되기 때문이다.
프로젝터(3022) 및 IR-검출 카메라(3032)는 각각 처리 구조(3020)에 연결되어, 이 처리 구조에 의해 관리된다. 파워 서플라이(미도시)가 터치 테이블(3010)의 전기 구성요소들에게 전력을 제공한다. 이러한 파워 서플라이는 외부 유닛이거나, 또는 예를 들어 터치 테이블(3010)의 휴대성(portability)을 개선하기 위해 캐비닛(3016) 내의 범용 파워 서플라이가 될 수 있다. 캐비닛(3016)은 그 내에 들어있는 것들을 완전히 둘러싸며, 이에 의해 주위의 가시 광 및 적외선 광의 레벨들이 캐비닛(3016)에 들어오는 것을 제한하며, 결과적으로 만족스러운 신호 대 노이즈 성능을 가능하게 한다. 이를 행하게 되면, 캐비닛(3016) 내의 열을 관리하기 위한 다양한 기술들과 맞서게 된다. 터치 패널(3014), 프로젝터(3022) 및 처리 구조는 모두 열을 발생시키는 원인이 되며, 이러한 열이 연장된 시간 동안 캐비닛(3016) 내에 포함되면, 터치 테이블(3010)의 광학 구성요소들을 왜곡시키는 열파(heat wave)를 생성할 수 있다. 이 때문에, 캐비닛(3016)은 캐비닛으로부터 뜨거운 공기를 배출하면서 캐비닛 내에 찬 주위 공기를 유입시키기 위한 열 관리 설비(미도시)를 하우징한다. 예를 들어, 열 관리 설비는, 2008년 9월 29일 "TOUCH PANEL FOR AN INTERACTIVE INPUT SYSTEM AND INTERACTIVE INPUT SYSTEM INCORPORATING THE TOUCH PANEL"의 명칭으로 출원된 Sirotich 등의 미국 특허 출원 12/240,953에 개시된 타입이 될 수 있는 바, 이 특허 출원은 캐나다 앨버타 캘거리에 소재하는 본 출원의 양수인인 스마트 테크놀로지스 유엘씨에게 양도되었으며, 이 특허 출원의 내용은 참조로서 본원에 통합된다.
상기 설명한 바와 같이, 터치 테이블(3010)의 터치 패널(3014)은 FTIR의 원리에 기초하여 동작하는바, 이러한 FTIR의 원리는 상기 참조한 Sirotich 등의 미국 특허 출원 12/240,953에서 설명된다. 도 27은 테이블 탑(3012) 및 터치 패널(3014)의 단면도이다. 테이블 탑(3012)은 터치 패널(3014)을 지지하는 플라스틱으로 형성된 프레임(3120)을 포함한다.
터치 패널(3014)은 광도파로(3144)를 포함하는데, 본 실시예에 따르면, 이러한 광도파로는 아크릴 시트이다. 탄성 확산층(3146), 본 예에서는 캐나다 온타리오 마운틴 포레스트에 소재하는 빈텍스 인코포레이티드(Vintex Inc.)에 의해 제조되는 V-CARE
Figure pct00001
V-LITE
Figure pct00002
배리어 패브릭 층, 또는 기타 적절한 물질이 광도파로(3144)와 접촉하며 놓여진다.
확산층(3146)이 광도파로(3144)와 컨택하면서 눌려지면, 이 확산층(3146)는 광도파로(3144)에서 새어 나오는 IR 광을 실질적으로 반사시키며, 이에 따라 새어 나온 IR 광은 캐비닛(3016) 내로 아래로 이동하게 된다. 확산층(3146)은 또한 그 위로 투사되고 있는 가시광을 확산시켜, 투사된 이미지를 디스플레이한다.
광도파로(3144)의 반대측 상의, 탄성 확산층(3146) 위에는, 매끄러운 터치 표면을 갖는 투명한(clear) 보호층(3148)이 놓여져있다. 본 실시예에서, 보호층(3148)은 미국 위스콘신 뉴베를린에 소재하는 테크라 코포레이션(Tekra Corporation)에 의해 제조되는 Marnot
Figure pct00003
물질의 하드코트가 그 위에 도포되어 있는 폴리카보네이트 물질의 얇은 시트이다. 터치 패널(3014)이 보호층(3148) 없이도 기능할 수 있기는 하지만, 이러한 보호층(3148)은 아래에 있는 확산층(3146)의 과도한 변색, 스내깅(snagging) 또는 크리징(creasing)없이, 그리고 사용자의 손가락들로 인한 과도한 마모없이, 터치 패널(14)을 이용할 수 있게 한다. 또한, 보호층(3148)은 패널의 긴 수명에 유익한, 전체 터치 패널(3014)에 대한 마모, 스크래치 및 화학 저항을 제공한다.
보호층(3148), 확산층(3146) 및 광도파로(3144)는 이들의 에지들에서 하나의 유닛으로서 함께 클램프(clamp)되어, 테이블 탑(3012) 내에 장착된다. 시간이 지남에 따라, 장기적인 사용은 이러한 층들중 하나 이상을 마모시킬 수 있다. 요구에 따라, 이러한 층들의 에지들은 마모된 층들을 비용을 들이지 않으면서 교체하기 위해 클램프를 풀 수도 있다. 이러한 층들은, 접착제, 마찰 접합(friction fit), 스크류, 못 또는 기타 고정 방법들중 하나 이상을 이용하는 것과 같이, 다른 방식들로 함께 유지될 수 있다는 것을 이해할 것이다.
일련의 적외선 발광 다이오드(LED)(3142)들을 포함하는 IR 광원이 광도파로 층(3144)의 적어도 하나의 측면을 따라 (도 27에서 페이지 내로) 위치된다. 각 LED(3142)는 광 도파로(3144) 내로 적외선 광을 방출한다. 본 실시예에서, IR LED들(3142)이 위치되는 측면은 불꽃 연마(flame-polishing)되어, IR LED들(3142)로부터의 광의 수신을 용이하게 한다. IR LED들(3142)과 광도파로(3144)의 측면 사이에는 1-2 밀리미터(mm)의 에어 갭이 존재하는 바, 이에 의해 IR LED들(3142)로부터 광도파로(3144)로의 열 투과율을 감소시킴으로써, 아크릴 광도파로(3144)에서의 광 왜곡을 완화시킨다. 광도파로(3144)의 다른 측면들에는 반사 테이프(3143)가 접합되어 있는 바, 이러한 반사 테이프는 광을 광도파로층(3144) 내로 반사시킴으로써, 적외선 조사로 광도파로층(3144)을 포화시킨다.
동작에 있어서, IR 광은 광도파로(3144)의 넓은 상면 및 하면에 대해 대체적으로 평행한 방향으로 광도파로(3144)의 불꽃 연마된 측면을 통해 유입된다. IR 광은 전반사(TIR)로 인해 광도파로의 상면 또는 하면을 통해 새어 나오지 않는데, 왜냐하면 상면 및 하면에서의 IR 광의 입사각이 그 IR 광이 새어 나올 수 있게 할 정도로 충분하지 않기 때문이다. 다른 측면들에 도달하는 IR 광은 이러한 다른 측면들에 있는 반사 테이프(3143)에 의해 대체적으로 광도파로(3144) 내로 완전히 반사된다.
도 28에 나타낸 바와 같이, 사용자가 포인터(3011)로 터치 패널(3014)의 디스플레이 표면을 컨택할 때, 보호층(3148)에 대한 포인터(3011)의 터치는 광도파로(3144)에 대해 탄성 확산층(3146)을 누르게 됨으로써, 포인터(3011)의 컨택 포인트, 또는 "터치 포인트"에서의 광도파로(3144) 상에서의 굴절률이 변경된다. 이러한 변경은 터치 포인트에서의 TIR을 "방해"함으로써, 터치 포인트에서의 광도파로(3144)의 평면에 대체적으로 수직인 방향으로 IR 광이 광도파로(3144)로부터 새어 나올 수 있게 하는 각도에서 IR 광을 반사시킨다. 새어 나오는 IR 광은 포인터(3011)로부터 반사되고, 광도파로(3144)를 통해 아랫쪽으로 국부적으로 확산되며, 광도파로(3144)의 바닥면을 통해 광도파로(3144)를 빠져나온다. 이는, 각 포인터(3011)가 각각의 터치 포인트에서 터치 표면을 컨택할 때, 각 포인터(3011)에 대해 일어난다.
각 터치 포인트가 터치 패널(3014)의 디스플레이 표면(3015)을 따라 움직일 때, 광도파로(3144)에 대한 확산층(3146)의 압축이 일어나게 되며, 이에 따라 IR 광의 새어 나오는 광은 터치 포인트의 움직임을 따라가게 된다. 터치 포인트가 움직이는 동안, 또는 터치 포인트가 제거될 때, 확산층(3146)의 탄성으로 인해 이전에 터치 포인트였던 확산층(3146)의 압축이 해제되면, 광도파로(3144)로부터 IR 광이 새어 나오는 것이 다시 한번 중지된다. 이 때문에, IR 광은 터치 포인트 위치(들)에서만 광도파로(3144)로부터 새어 나오게 됨으로써, IR 광이 이미징 디바이스에 의해 획득되는 이미지 프레임들 내에 캡춰될 수 있게 한다.
이미징 디바이스(3032)는 제 3 미러(3030)의 2차원의 IR 비디오 이미지들을 캡춰한다. 프로젝터(3022)에 의해 투사되는 이미지들로부터 필터링된 IR 광은, 주위의 광을 실질적으로 못들어오게 하는 캐비닛(3016)과 함께, 이미징 디바이스(3032)에 의해 캡춰되는 배경이 실질적으로 검은색이 되게 한다. 터치 패널(3014)의 디스플레이 표면(3015)이 상기 설명한 바와 같이 하나 이상의 포인터들에 의해 컨택될 때, IR 카메라(3032)에 의해 캡춰되는 이미지들은 각각의 터치 포인트들에 해당하는 하나 이상의 밝은 포인트들을 포함한다. 처리 구조(3020)는 캡춰된 이미지를 수신하고, 이미지 처리를 수행함으로써, 캡춰된 이미지들 내의 하나 이상의 밝은 포인트들에 기초하여 하나 이상의 터치 포인트들의 좌표들 및 특징들을 검출한다. 그런 다음, 검출된 좌표들은 디스플레이 좌표들에 대해 맵핑되고, 디스플레이되는 이미지를 조정하기 위해 처리 구조(3020)에 의해 잉크 또는 마우스 이벤트들로서 해석된다.
호스트 애플리케이션은 수신된 터치 포인트 데이터에 기초하여 각 터치 포인트를 추적하고, 이미지 프레임들 간의 연속 처리를 취급한다. 보다 특정하게, 호스트 애플리케이션은 프레임들로부터 터치 포인트 데이터를 수신하고, 이러한 터치 포인트 데이터에 기초하여, 새로운 터치 포인트를 등록할 지를 판단하고, 기존의 터치 포인트를 수정하거나, 또는 기존의 터치 포인트를 취소/삭제한다. 따라서, 호스트 애플리케이션은 기존의 터치 포인트와 관련이 없는 터치 포인트 데이터를 수신할 때, 새로운 터치 포인트를 나타내는 컨택 다운 이벤트(Contact Down event)를 등록하고, 이러한 새로운 터치 포인트에 고유의 식별자를 부여한다. 터치 포인트 데이터가, 예를 들어 기존의 터치 포인트로부터 임계 거리 만큼 떨어져있는 터치 포인트를 특징지을 때, 이러한 터치 포인트 데이터는 기존의 터치 포인트 데이터와 관련이 없는 것으로서 고려될 수 있다. 호스트 애플리케이션은, 예를 들어 기존의 터치 포인트의 임계 거리 내에 있거나, 또는 기존의 터치 포인트와 겹치지만, 다른 초점을 가짐으로 인해, 기존의 포인터와 관련된 터치 포인트 데이터를 수신할 때, 터치 포인트의 이동을 나타내는 컨택 이동 이벤트(Contact Move event)를 등록한다. 호스트 애플리케이션은, 기존의 터치 포인트와 관련될 수 있는 터치 포인트 데이터가 후속 이미지들로부터 수신되는 것이 중지될 때, 터치 패널(3014)의 디스플레이 표면(3015)으로부터의 터치 포인트의 제거를 나타내는 컨택 업 이벤트(Contact Up event)를 등록한다. 컨택 다운, 컨택 이동 및 컨택 업 이벤트들은, 터치 포인트가 현재 관련된 요소, 및/또는 이 터치 포인트의 현재 위치에 기초하여, 그래픽 위젯들과 같은 사용자 인터페이스의 각각의 요소들, 또는 배경에 전달된다. 이전에 설명된 것과 유사한 루틴들이 호스트 애플리케이션에 의해 실행될 수 있으며, 이에 의해 호스트 애플리케이션은 멀티 포인터 제스처들을 검출할 수 있게 된다.
도 29는 상기 설명한 FTIR 대화형 입력 시스템에서 이용하기에 적절한 임계 프로세스(2500)를 도시한다. 이러한 FTIR 임계 프로세스(2500)에서, 현재 이미지(2502)와 배경 이미지(2504)를 유사성 계산(2506)에서 비교하여, 포인터 컨택들을 식별한다. 단계(2508)에서, 제 1 임계치(primary threshold)가 터치 포인트들에 적용된다. 이러한 임계치는, 포인터들의 일정 사이즈들에 대해 일정한 임계 특성들을 할당하기 위해, 상기 임계 프로세스(2400)에서 설명된 바와 같이 사용자에 의해 조정가능하다.
단계(2510)에서, 처리 부하를 줄이기 위해 포인터 컨택이 나타나는 영역들 만이 시스템에 의해 처리될 수 있도록 이미지가 분할된다. 단계(2512)에서, 각각의 분할된 영역 내의 픽셀들의 평균 휘도 및 표준 편차가 계산되며, 그리고 단계(2514)에서, 각 포인터의 임계치가 평균 휘도값과 휘도의 표준 편차의 배수를 더한 것으로 설정된다. 전형적으로, 이러한 임계치는 평균으로부터 약 1 표준 편차에서 설정된다. 이제 포인터 컨택은 임계 사이즈를 갖는 가상 포인터에 의해 표현된다.
상기 설명한 FTIR 시스템에서는, 변경되는 포인터 사이즈 또는 휘도를 측정함으로써, 터치 영역을 터치할 때에 사용자에 의해 가해지는 컨택 압력을 추정할 수 있다. 도 30의 프로세스(2600)는 포인터 컨택 압력 추정 시스템을 약술한다. 프로세스(2500)에서와 같이, 현재 이미지(2602)와 배경 이미지(2604)가 유사성 계산(2606)에서 비교되어, 포인터 컨택들을 식별한다. 단계(2608)에서, 제 1 임계치가 터치 포인터들에 적용된다. 이러한 임계치는, 포인터들의 일정 사이즈들에 대해 일정한 임계 특성들을 할당하기 위해, 상기 임계 프로세스(2400)에서 설명된 바와 같이 사용자에 의해 조정가능하다.
단계(2610)에서, 처리 부하를 줄이기 위해 포인터 컨택이 나타나는 영역들 만이 시스템에 의해 처리될 수 있도록 이미지가 분할된다. 단계(2612)에서, 각각의 분할된 영역 내의 픽셀들의 평균 휘도 및 표준 편차가 계산된다. 단계(2620)에서는, 단계(2612)에서 계산된 포인터 컨택 휘도를 이용하여 압력이 추정되고, 상위 및 하위 배경 레벨들을 이용하여 노멀라이즈된다. 그런 다음, 계산된 압력으로부터의 피드백에 의해 상위 배경 레벨(2616)이 업데이트된다.
단계(2614)에서, 배경 이미지(2604)의 평균 휘도 및 표준 편차에 의해 배경 분석이 수행된다. 단계(2618)에서, 하위 배경 레벨이 평균 배경 휘도 레벨에서 1 표준 편차를 뺀 값으로 설정된다. 단계(2616)에서, 상위 배경 레벨이 임의의 적당한 디폴트 값으로 설정된다.
배경 이미지(2604)는 프레임 단위(frame basis)로 프레임 상에 포인터들이 없는 현재 이미지의 일부 영역들을 혼합함으로써 연속적으로 업데이트된다. 포인터들이 일정 임계 시간을 지나 머무를 때, 이들은 입력 표면에 존재하는 손, 마우스, 컵 등과 같은 수동 포인터들로서 포인터 인식 소프트웨어에 의해 무시된다. 잠재적인 포인터가 제거되면, 배경 이미지가 즉시 업데이트되어, 그 영역 내에서의 컨택 검출을 가능하게 한다.
상기 설명한 바와 같이, 여기에서 설명되는 제스처들은 본 발명의 대화형 입력 시스템에 대해 이용될 수 있는 제스처들의 예들일 뿐이다. 당업자라면, 이러한 대화형 입력 시스템과 관련된 응용에서 이용될 수 있는 기타의 손 전체 또는 멀티 터치 포인트 제스처들이 상기에서 약술한 것과 유사한 루틴들을 이용할 수 있음을 이해할 것이다.
조명 베젤을 이용하는 것이 아니라, 상기의 어셈블리는 이미징 디바이스들이 포인터들의 부재시 흰띠들을 볼 수 있도록 이러한 이미징 디바이스들과 관련된 방사원들에 의해 방출되는 방사를 반사하는 반사 또는 역반사 베젤을 포함한다.
비록 어셈블리(22)가 머신 비젼을 이용하는 것으로서 설명되었지만, 대안적으로 이러한 어셈블리는 디스플레이 표면(24)과의 포인터 상호작용을 등록하기 위해 전자기 기술, 용량성 기술, 음향 기술 또는 기타의 기술을 이용할 수 있다.
또한, 당업자라면 첨부된 청구항에서 정의되는 본 발명의 범위 및 정신을 벗어나지 않으면서 상기 설명된 것들로부터 다른 변형들 및 수정들이 이루어질 수 있다는 것을 이해할 것이다.
20: 대화형 입력 시스템 22: 어셈블리
24: 디스플레이 표면 26: 베젤
30: 마스터 제어기 32: 컴퓨터
34: 디스플레이 제어기 40, 42: 이미징 디바이스들
80: 이미지 센서 82: 렌즈
84: FIFO 86, 92: 데이터 버스
90, 152: 디지털 신호 처리기 94, 154, 156: 직렬 포트
96: 제어 버스 98, 166: EPROM
100, 168: 파워 서플라이 162: 직렬 라인 드라이버

Claims (4)

  1. 제스처 인식 방법으로서,
    전체 입력 영역을 바라보고 있는 이미지들을 캡춰하는 단계;
    상기 입력 영역 내의 적어도 2개의 포인터들과 관련된 터치 포인트들의 적어도 2개의 클러스터들을 식별하기 위해 상기 이미지들을 처리하는 단계;
    상기 식별되는 클러스터들의 움직임(motion)에 기초하여 제스처(gesture)를 인식하는 단계; 및
    상기 인식되는 제스처에 따라 디스플레이를 업데이트하는 단계
    를 포함하는 제스처 인식 방법.
  2. 대화형 입력 시스템으로서,
    입력 표면;
    상기 입력 표면 전체를 바라보고 있는 시야(field of view)를 갖는 적어도 1개의 이미징 센서; 및
    상기 적어도 1개의 이미징 센서와 통신하는 처리 구조(processing structure)를 포함하며,
    상기 처리 구조는 상기 입력 표면과 컨택하는 적어도 2개의 포인터들과 관련된 터치 포인트들의 클러스터의 위치를 결정하기 위해 상기 적어도 1개의 이미징 센서에 의해 획득된 이미지 데이터를 분석하고, 터치 포인트들의 클러스터들의 상대적인 위치들에 기초하여 제스처를 나타내는 터치 포인트들의 연속적인 클러스터들을 인식하며, 그리고 상기 제스처와 관련된 커맨드를 실행시키도록 구성되는 것인, 대화형 입력 시스템.
  3. 제스처 인식 방법으로서,
    입력 표면을 바라보고 있는 이미지들을 캡춰하는 단계;
    적어도 2개의 포인터들과 관련된 터치 포인트들의 적어도 2개의 클러스터들을 식별하기 위해 상기 이미지들을 처리하는 단계;
    상기 식별되는 클러스터들의 움직임에 기초하여 제스처를 인식하는 단계; 및
    상기 인식되는 제스처에 따라 디스플레이를 업데이트하는 단계
    를 포함하는 제스처 인식 방법.
  4. 대화형 입력 시스템으로서,
    입력 표면;
    상기 입력 표면을 바라보고 있는 시야를 갖는 적어도 1개의 이미징 센서; 및
    상기 적어도 1개의 이미징 센서와 통신하는 처리 구조를 포함하며,
    상기 처리 구조는 상기 입력 표면과 컨택하는 적어도 2개의 포인터들과 관련된 터치 포인트들의 클러스터의 위치를 결정하기 위해 상기 적어도 1개의 이미징 센서에 의해 획득된 이미지 데이터를 분석하고, 터치 포인트들의 클러스터들의 상대적인 위치들에 기초하여 제스처를 나타내는 터치 포인트들의 연속적인 클러스터들을 인식하며, 그리고 상기 제스처와 관련된 커맨드를 실행시키도록 구성되는 것인, 대화형 입력 시스템.
KR1020117018114A 2009-01-05 2010-01-05 제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템 KR20110112831A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14254509P 2009-01-05 2009-01-05
US61/142,545 2009-01-05

Publications (1)

Publication Number Publication Date
KR20110112831A true KR20110112831A (ko) 2011-10-13

Family

ID=42561344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018114A KR20110112831A (ko) 2009-01-05 2010-01-05 제스처 인식 방법 및 이 방법을 이용하는 대화형 입력 시스템

Country Status (9)

Country Link
US (1) US9262016B2 (ko)
EP (1) EP2377075B1 (ko)
KR (1) KR20110112831A (ko)
CN (1) CN102341814A (ko)
BR (1) BRPI1006911A2 (ko)
CA (1) CA2748881C (ko)
MX (1) MX2011007245A (ko)
TW (1) TW201040850A (ko)
WO (1) WO2010091496A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150143495A (ko) * 2013-04-15 2015-12-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 멀티 핑거 터치 상호작용 동안의 패닝 및 스케일링을 검출하는 기법

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8433138B2 (en) * 2008-10-29 2013-04-30 Nokia Corporation Interaction using touch and non-touch gestures
US8566045B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
TWI412975B (zh) * 2009-09-02 2013-10-21 Pixart Imaging Inc 手勢辨識方法及使用該方法之互動系統
JP5693022B2 (ja) * 2010-03-04 2015-04-01 キヤノン株式会社 表示制御装置および表示制御システム、並びにそれらの制御方法、プログラム、記憶媒体
US20110298722A1 (en) * 2010-06-04 2011-12-08 Smart Technologies Ulc Interactive input system and method
US9148614B2 (en) * 2010-10-25 2015-09-29 Hewlett-Packard Development Company, L.P. Touch-enabled video wall support system, apparatus, and method
US8986118B2 (en) * 2010-11-02 2015-03-24 Novomatic Ag Method and system for secretly revealing items on a multi-touch interface
US8994718B2 (en) 2010-12-21 2015-03-31 Microsoft Technology Licensing, Llc Skeletal control of three-dimensional virtual world
US8543833B2 (en) * 2010-12-29 2013-09-24 Microsoft Corporation User identification with biokinematic input
US10025388B2 (en) * 2011-02-10 2018-07-17 Continental Automotive Systems, Inc. Touchless human machine interface
CN202120246U (zh) * 2011-03-31 2012-01-18 比亚迪股份有限公司 多点旋转运动的识别装置
US9189825B2 (en) * 2011-04-12 2015-11-17 Lg Electronics Inc. Electronic device and method for displaying stereoscopic image
GB2490108B (en) * 2011-04-13 2018-01-17 Nokia Technologies Oy A method, apparatus and computer program for user control of a state of an apparatus
US9924907B2 (en) * 2011-09-30 2018-03-27 Google Technology Holdings LLC Method and system for identifying location of a touched body part
TWI465753B (zh) * 2012-08-15 2014-12-21 Generalplus Technology Inc 位置識別系統、方法以及使用其之姿勢識別系統、方法
US9250783B2 (en) 2012-08-21 2016-02-02 Apple Inc. Toggle gesture during drag gesture
US20140157209A1 (en) * 2012-12-03 2014-06-05 Google Inc. System and method for detecting gestures
TWI454968B (zh) 2012-12-24 2014-10-01 Ind Tech Res Inst 三維互動裝置及其操控方法
US20140267142A1 (en) * 2013-03-15 2014-09-18 Qualcomm Incorporated Extending interactive inputs via sensor fusion
US9398221B2 (en) 2013-07-01 2016-07-19 Blackberry Limited Camera control using ambient light sensors
US9367137B2 (en) 2013-07-01 2016-06-14 Blackberry Limited Alarm operation by touch-less gesture
US9323336B2 (en) 2013-07-01 2016-04-26 Blackberry Limited Gesture detection using ambient light sensors
US9423913B2 (en) 2013-07-01 2016-08-23 Blackberry Limited Performance control of ambient light sensors
US9489051B2 (en) 2013-07-01 2016-11-08 Blackberry Limited Display navigation using touch-less gestures
US9256290B2 (en) 2013-07-01 2016-02-09 Blackberry Limited Gesture detection using ambient light sensors
US9342671B2 (en) 2013-07-01 2016-05-17 Blackberry Limited Password by touch-less gesture
US9405461B2 (en) 2013-07-09 2016-08-02 Blackberry Limited Operating a device using touchless and touchscreen gestures
US9304596B2 (en) 2013-07-24 2016-04-05 Blackberry Limited Backlight for touchless gesture detection
US9465448B2 (en) 2013-07-24 2016-10-11 Blackberry Limited Backlight for touchless gesture detection
US9194741B2 (en) 2013-09-06 2015-11-24 Blackberry Limited Device having light intensity measurement in presence of shadows
TWI502413B (zh) * 2013-10-07 2015-10-01 Wistron Corp 光學觸控裝置及其手勢偵測方法
USD769930S1 (en) * 2013-12-18 2016-10-25 Aliphcom Display screen or portion thereof with animated graphical user interface
USD744528S1 (en) * 2013-12-18 2015-12-01 Aliphcom Display screen or portion thereof with animated graphical user interface
CN103729096A (zh) * 2013-12-25 2014-04-16 京东方科技集团股份有限公司 交互识别系统以及显示装置
US9971491B2 (en) 2014-01-09 2018-05-15 Microsoft Technology Licensing, Llc Gesture library for natural user input
LU92408B1 (en) * 2014-03-21 2015-09-22 Olivier Raulot User gesture recognition
US20160085312A1 (en) * 2014-09-24 2016-03-24 Ncku Research And Development Foundation Gesture recognition system
JP2018516422A (ja) * 2015-05-28 2018-06-21 アイサイト モバイル テクノロジーズ エルティーディー. スマートホームのためのジェスチャ制御システム及び方法
TWI574196B (zh) * 2016-01-21 2017-03-11 緯創資通股份有限公司 光學觸控裝置、觸控指示點位置決定方法以及光學觸控系統
JP6705206B2 (ja) * 2016-02-25 2020-06-03 セイコーエプソン株式会社 電子機器の制御装置および電子機器の制御プログラム
US10945675B2 (en) 2017-05-24 2021-03-16 Samsung Electronics Co., Ltd. Determining a health status for a user
CN108507783B (zh) * 2018-03-14 2020-06-23 湖南大学 一种基于群分解的旋转机械复合故障诊断方法
CN110012136B (zh) * 2019-04-02 2022-10-14 北京旷视科技有限公司 显示装置、显示屏及终端设备
US11107236B2 (en) 2019-04-22 2021-08-31 Dag Michael Peter Hansson Projected augmented reality interface with pose tracking for directing manual processes
US20230001576A1 (en) * 2021-06-30 2023-01-05 Delta Electronics Int'l (Singapore) Pte Ltd Adaptive mobile manipulation apparatus and method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483261A (en) 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
SE0000850D0 (sv) * 2000-03-13 2000-03-13 Pink Solution Ab Recognition arrangement
JP4768143B2 (ja) 2001-03-26 2011-09-07 株式会社リコー 情報入出力装置、情報入出力制御方法およびプログラム
JP3920067B2 (ja) 2001-10-09 2007-05-30 株式会社イーアイティー 座標入力装置
US6972401B2 (en) 2003-01-30 2005-12-06 Smart Technologies Inc. Illuminated bezel and touch system incorporating the same
US7411575B2 (en) * 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US20060044282A1 (en) 2004-08-27 2006-03-02 International Business Machines Corporation User input apparatus, system, method and computer program for use with a screen having a translucent surface
US8487910B2 (en) 2005-05-02 2013-07-16 Smart Technologies Ulc Large scale touch system and methods for interacting with same
US8441467B2 (en) * 2006-08-03 2013-05-14 Perceptive Pixel Inc. Multi-touch sensing display through frustrated total internal reflection
US7411545B2 (en) 2006-09-29 2008-08-12 Honeywell International Inc. Carrier phase interger ambiguity resolution with multiple reference receivers
US8284166B2 (en) * 2007-11-09 2012-10-09 Cirque Corporation Method of detecting and tracking multiple objects on a touchpad using a data collection algorithm that only detects an outer edge of the objects and then assumes that the outer edges define a single large object
US8358277B2 (en) * 2008-03-18 2013-01-22 Microsoft Corporation Virtual keyboard based activation and dismissal
US20090273569A1 (en) * 2008-05-01 2009-11-05 Microsoft Corporation Multiple touch input simulation using single input peripherals
JP5978660B2 (ja) * 2012-03-06 2016-08-24 ソニー株式会社 情報処理装置及び情報処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150143495A (ko) * 2013-04-15 2015-12-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 멀티 핑거 터치 상호작용 동안의 패닝 및 스케일링을 검출하는 기법

Also Published As

Publication number Publication date
MX2011007245A (es) 2011-09-26
EP2377075B1 (en) 2015-03-11
TW201040850A (en) 2010-11-16
CN102341814A (zh) 2012-02-01
EP2377075A1 (en) 2011-10-19
BRPI1006911A2 (pt) 2016-02-16
CA2748881A1 (en) 2010-08-19
CA2748881C (en) 2017-01-17
US20120013529A1 (en) 2012-01-19
WO2010091496A1 (en) 2010-08-19
EP2377075A4 (en) 2013-04-24
US9262016B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
US9262016B2 (en) Gesture recognition method and interactive input system employing same
US8842076B2 (en) Multi-touch touchscreen incorporating pen tracking
US9268413B2 (en) Multi-touch touchscreen incorporating pen tracking
US20110032215A1 (en) Interactive input system and components therefor
CA2738185C (en) Touch-input with crossing-based widget manipulation
US20110298708A1 (en) Virtual Touch Interface
US20100079409A1 (en) Touch panel for an interactive input system, and interactive input system incorporating the touch panel
US20080179507A2 (en) Multi-touch sensing through frustrated total internal reflection
US9454260B2 (en) System and method for enabling multi-display input
NO20130843A1 (no) Kamerabasert, multitouch interaksjons- og belysningsapparat samt system og fremgangsmåte
CA2738178A1 (en) Touch-input system calibration
US20150277717A1 (en) Interactive input system and method for grouping graphical objects
Wang et al. Large screen multi-touch system integrated with multi-projector
JP5530887B2 (ja) 電子ボードシステム、座標点補正装置、座標点補正方法及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid