KR20150091365A - 멀티터치 심볼 인식 - Google Patents

멀티터치 심볼 인식 Download PDF

Info

Publication number
KR20150091365A
KR20150091365A KR1020157017398A KR20157017398A KR20150091365A KR 20150091365 A KR20150091365 A KR 20150091365A KR 1020157017398 A KR1020157017398 A KR 1020157017398A KR 20157017398 A KR20157017398 A KR 20157017398A KR 20150091365 A KR20150091365 A KR 20150091365A
Authority
KR
South Korea
Prior art keywords
touch
drag
finger
event
touch screen
Prior art date
Application number
KR1020157017398A
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 KR20150091365A publication Critical patent/KR20150091365A/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/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/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/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • 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

Abstract

모바일 컴퓨팅 디바이스에서의 호스트 프로세서 사용을 최소화하기 위해 앵커-드래그 터치들의 미리 정의된 클래스를 채용하는 방법들 및 디바이스들이 여기에 개시되어 있다. 개시된 바와 같이, 앵커-드래그 터치 제스쳐들을 검출하는 것은 터치 스크린 제어기가 심지어 더 넓은 디스플레이들을 가진 모바일 디바이스에서도 터치 프로세싱의 큰 부분을 처리할 수 있게 한다. 제 1 터치는 앵커 영역을 확립하고, 이 앵커 영역으로부터 드래그 영역이 계산되며, 드래그 영역 내의 제 2 터치는 디바이스에 커맨드를 제공한다. 일부 실시형태들은 후속하는 터치 프로세싱을 식별된 드래그 영역으로 제한한다.

Description

멀티터치 심볼 인식{MULTI-TOUCH SYMBOL RECOGNITION}
본 실시형태들은 터치 스크린 디바이스들에 관한 것이고, 보다 구체적으로, 앵커-드래그 멀티터치 제스쳐의 검출에 대한 방법 및 장치에 관한 것이다.
기술에서의 진보들은 보다 소형이고 보다 강력한 컴퓨팅 디바이스들을 가져왔다. 예를 들어, 컴퓨팅 디바이스들을 포함하는 다양한 포터블 컴퓨팅 디바이스들, 이를 테면, 소형이며 경량이고 사용자들에 의해 쉽게 휴대되는 무선 전화기들, 개인 휴대 정보 단말기들 (PDA들), 및 테블릿 컴퓨터들이 현재 존재한다. 사용자 인터페이스들을 간단하게 하고 푸시 버튼들 및 복잡한 메뉴 시스템들을 단순화하기 위하여, 이러한 포터블 컴퓨팅 디바이스들은 터치 스크린 상의 사용자 제스쳐들을 검출하고 그 검출된 제스쳐들을 디바이스에 의해 수행되는 커맨드들로 변환하는 터치 스크린 디스플레이들을 이용할 수도 있다. 이러한 제스쳐들은 하나 이상의 손가락들 또는 스타일러스 타입 포인팅 구현물을 이용하여 수행될 수도 있다. 멀티터치 스크린 (멀티터치 능력을 갖는 터치 스크린들) 은 수개의 동시 터치들을 인지하고 추적하도록 설계된다. 예를 들어, 사용자가 2 개의 손가락들을 스크린 상에서 움직일 때, 양쪽 손가락들에 대한 터치/이동을 나타내는 정보가 멀티-터치 스크린에 의해 제공된다.
포터블 컴퓨팅 디바이스들 상에서 멀티-터치 기술을 구현하는 한 결함은 멀티-터치를 인식하는데 통상 요구되는 프로세싱 오버헤드이다. 프로세싱 오버헤드는 디바이스의 중앙 프로세싱 유닛 (CPU) 이 수행할 수 있는 총 작업량 및 개별적인 컴퓨팅 테스크들, 이를 테면, 터치 검출에 의해 이용되는 총 용량의 백분율 이다. 전체적으로, 이들 테스크들은 프로세서의 전반적인 용량보다 작은 용량을 요구해야 한다. 간단한 터치 제스쳐들은 통상적으로, 터치 스크린과 연관된 별도의 프로세서인 터치스크린 제어기에 의해 처리될 수도 있지만, 보다 복잡한 터치 제스쳐들은 큰 양의 터치 데이터를 프로세싱하기 위해 2차 프로세서, 종종 모바일 디바이스의 CPU 의 사용을 요구한다. 통상적으로, 많은 양의 터치 데이터는 터치가 "긍정 오류 (false positive)"였다고만 종종 결론을 내기 위해 터치의 특성을 결정하도록 프로세싱되어야 하며, 이는 큰 양의 CPU 용량 및 디바이스 전력을 소모한다. 복잡한 터치 인식을 요구하는 프로세싱 오버헤드는 전체적인 CPU 용량의 큰 백분율을 요구하여 디바이스 성능을 열화시킨다.
복잡한 터치 인식에 요구되는 프로세싱 오버헤드는 특히, 모바일 디바이스들의 많은 다른 공통의 고성능 사용들과 함께, 증가하는 터치 복잡성 및 대응하는 CPU 오버헤드를 처리하는데 잘 적응되지 못한다. 모바일 프로세서 코어 또는 캐시의 사이즈를 증가시키는 것은 특정 레벨까지만 증가시키고, 이 레벨을 넘어서면, 열 소산 문제들이 비용 및 캐시 사이즈에서의 비실용적인 임의의 추가적인 증가를 가져온다. 전체적인 프로세싱 용량은 많은 모바일 디바이스들의 보다 작은 사이즈들로 추가로 제한되며, 이는 디바이스에 포함될 수 있는 프로세서들의 수를 제한한다. 추가로, 모바일 컴퓨팅 디바이스들이 일반적으로 배터리로 급전되기 때문에, 고성능 사용들은 또한 배터리 수명을 단축시킨다.
모바일 프로세싱 제한들에도 불구하고, 많은 공통의 모바일 애플리케이션들, 이를 테면, 맵들, 게임들, 이메일 클라이언트들, 웹 브라우저들 등은 터치 인식의 증가하는 복잡한 사용을 가져온다. 추가로, 터치 프로세싱 복잡도는 터치 노드 용량에 비례하여 증가하며, 이는 결국 디스플레이 사이즈에 비례하여 증가한다. 따라서, 많은 포터블 컴퓨팅 디바이스들에서 디스플레이 사이즈 및 터치 복잡성이 증가하는 경향으로 가고 있기 때문에, 터치 프로세싱이 디바이스 성능을 점점더 감소시키고 배터리 수명을 단축시킨다. 또한, 디바이스 스루 터치 이벤트들을 이용한 사용자 상호작용이 레이턴시에 대해 매우 민감하며, 터치스크린 패널과 호스트 프로세서 사이의 사용자 경험은 낮은 스루풋의 인터페이스들을 겪을 수 있고 이는 프로세싱 지연 및 응답 래그를 야기한다.
일 실시형태에 따르면, 멀티터치 제스쳐들을 인식하도록 구성되는 터치 프로세싱 시스템은, 터치 패널; 터치 패널 상에서 제 1 터치 이벤트와 제 2 터치 이벤트를 캡쳐하도록 구성되는 터치 검출 모듈; 및 제 2 터치 이벤트가 제 1 터치 이벤트로부터 미리 정의된 바운더리 영역 내에 있는지를 결정하고, 이것이 미리 정의된 바운더리의 외부에 있다면 터치 이벤트를 폐기하도록 구성되는 프로세싱 모듈을 포함하고, 상기 프로세싱 모듈은 또한, 미리 정의된 바운더리 내의 터치 이벤트의 포지션을 추적하고 터치 이벤트의 포지션에 기초하여 미리 정해진 오브젝트 드래그 프로세스를 활성화하도록 구성된다.
다른 실시형태는 터치 패널이 장착된 컴퓨팅 디바이스 상에서의 멀티터치 인식 기능을 구현하는 방법을 포함하며, 본 방법은 제 1 위치에서 제 1 터치 이벤트를 검출하는 것; 제 1 위치에 적어도 부분적으로 기초하여 터치스크린 디스플레이 상의 베이스 영역을 정의하는 단계; 베이스 영역에 관련하여 미리 결정된 기하학적 바운더리에 적어도 부분적으로 기초하여 터치 패널의 드래그 영역을 결정하는 단계; 터치 패널 상의 후속하는 터치 프로세싱을 드래그 영역으로 일시적으로 제한하는 단계; 및 드래그 영역 내의 제 2 터치 이벤트를 검출하는 단계를 포함한다. 일부 실시형태들에서, 제 1 터치는 손의 제 1 손가락에 의해 행해지며, 제 2 터치는 손의 제 2 손가락에 의해 행해지며, 드래그 영역을 결정하는 단계는 제 1 손가락과 제 2 손가락 사이의 유클리드 거리 및 각도를 추정하는 단계를 더 포함한다.
개시된 양태들은 개시된 양태들을 설명하기 위해 제공되고 제한하기 위해 제공되는 것이 아닌 도면들과 함께 이하에서 설명될 것이며, 유사한 부호들은 유사한 엘리먼트들을 표시한다.
도 1 은 앵커-드래그 터치 시스템의 일 실시형태를 나타낸다.
도 2 는 앵커-드래그 터치 심볼들의 클래스의 일 실시형태를 나타낸다.
도 3 은 터치 프로세싱이 탑재된 모바일 컴퓨팅 디바이스의 일 실시형태를 나타낸다.
도 4 는 앵커-드래그 제스쳐 인식 프로세스의 일 실시형태를 나타낸다.
도 5 는 앵커-드래그 터치 프로세싱 기술의 일 실시형태를 나타낸다.
도 6 은 프로세싱이 드래그 영역으로 제한되는 앵커-드래그 터치 프로세싱 기술의 다른 실시형태를 나타낸다.
본 명세서에 설명된 제스쳐 인식 기술은 심지어 대형 터치 스크린 패널들에서도 공통 프로세싱 오버헤드에 의한 터치 심볼 인식을 할 수 있는 앵커-드래그 터치 클래스를 정의한다. 터치 패널 상의 사용자의 제 1 터치, 예를 들어, 한 손의 엄지 손가락을 이용한 사용자의 제 1 터치를 이용하여 "베이스 영역"으로 지칭되는 영역을 정의하는데 이용될 수도 있다. 이 손가락은 베이스 손가락으로 지칭될 수도 있다. 이 베이스 영역의 위치로부터, 터치 패널 상의 제 2 터치를 행하기 위하여, 사용자가 제 2 손가락, 예를 들어, 동일한 손의 집게 손가락을 이용하는 잠재적인 "드래그 영역"이 추정될 수도 있다. 이 터치는 많은 고유한 형상들 중 하나에서의 드래그 터치일 수도 있으며, 이 형상들 각각은 특정 커맨드와 연관될 수도 있다. 드래그 영역이 보다 대형의 터치 패널의 일부분만을 점유하기 때문에, 제 2 터치를 검출하는데 요구되는 터치 프로세싱 오버헤드가 최소화된다.
앵커-드래그 터치 클래스 제스쳐들은 쉽게 구별가능하여, 신뢰성있는 검출을 가능하게 하며, "긍정 오류" 또는 의도하지 않은 터치들을 식별하기 위해 터치 패널에 대한 디노이즈 및 필터링을 수행하는데 통상 요구되는 프로세싱 오버헤드를 추가로 감소시킨다. 추가의 이점은, 포토 또는 비디오 에디터에서와 같이 디스플레이 영역을 사용자가 특정하는 것을 요구하는 애플리케이션들에 대해, 앵커-드래그 터치 클래스는 사용자가 디스플레이 영역을 선택하는 유기적 방법을 제공하는 것이다.
본 명세서에 개시된 구현예들은 멀티터치 제스쳐들의 앵커-드래그 터치 클래스를 인식하는 시스템들, 방법들 및 장치들을 제공한다. 설명된 앵커-드래그 기술들은 전력 사용량을 줄이고 터치스크린 기술들에서 레이턴시 및 프로세싱 오버헤드를 감소시키면서 터치 스크린 상으로 정보를 입력하도록 구현된다. 아래 보다 자세하게 설명된 바와 같이, 터치스크린 시스템은 일 예에서 사용자의 엄지손가락에 의해 설정될 수도 있는 제 1 "앵커" 포지션을 검출한다. 일단 앵커 포지션이 설정되었다면, 시스템은 잠재적인 영역을 제한하며, 여기에서 추가의 터치 검출은 사용자의 동일한 손의 다른 손가락, 예를 들어, 사용자의 집게 손가락에 의해 액세스가능한 그 잠재적인 영역에 대해 행해진다. 사용자의 집게 손가락에 의해 생성된 심볼들의 인식 및 단일 손 터치 좌표를 이용하여, 시스템은 일반 터치스크린 제어기들 (또는 터치 스크린 프로세서들) 을 이용하여 터치 스크린 시스템들로 하여금 호스트 프로세싱의 이용 없이 심지어 대형의 터치스크린 디스플레이 패널들에서 코디네이션된 터치들을 쉽게 프로세싱하게 한다. 디바이스의 호스트 프로세서에 대한 필요성을 감소시킴으로써, 이러한 제스쳐 인식 기술들은 모바일 터치 스크린 디바이스들의 배터리 수명을 연장시킬 수도 있을 뿐만 아니라 레이턴시를 감소시킴으로써 사용자의 경험을 강화할 수도 있다.
실시형태들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 당업자라면, 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들면, 상기 설명을 통해 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 입자들, 이들의 임의의 조합에 의해 표현될 수도 있다.
다음의 설명에서, 예들에 대한 완전한 이해를 제공하기 위해 특정 세부사항들이 주어진다. 그러나, 예들은 이러한 특정 세부사항들이 없이 실시될 수도 있음이 당업자에 의해 이해될 것이다. 예를 들어, 불필요한 세부사항으로 예들을 모호하게 하지 않기 위해 전기 컴포넌트들/디바이스들은 블록도들로 보여질 수도 있다. 다른 사례들에서, 이러한 컴포넌트들, 다른 구조들, 및 기법들이 예들을 추가적으로 설명하기 위해 상세히 도시될 수도 있다.
예들은 프로세스로서 설명될 수도 있으며, 프로세스는 플로우차트, 흐름도, 유한 상태도, 구조도, 또는 블록도로 도시됨에 또한 주지한다. 플로우차트가 동작들을 순차적인 프로세스로 설명할지라도, 동작들 중 많은 동작들은 병렬로, 또는 동시에 수행될 수 있고, 프로세스는 반복될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 프로세스의 동작들이 완료되는 경우 종료된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 소프트웨어 기능에 대응하는 경우, 프로세스의 만료는 호출 기능 또는 메인 기능으로의 기능의 복귀에 대응한다.
I. 디바이스 개요
이하 도 1 을 참조하여 보면, 앵커-드래그 제스쳐들을 인식하도록 구성되는 예시적인 터치 감응형 모바일 컴퓨팅 디바이스가 보다 상세하게 아래 설명될 것이다. 도 1 에 도시된 바와 같이, 모바일 컴퓨팅 디바이스 (100) 는 터치 감응형 디스플레이 (102) 를 포함한다. 터치 스크린 디스플레이 내에서, 사용자의 손 (130) 의 제 1 손가락 (132) 과 제 2 손가락 (134) 은 베이스 영역 (110) 과 드래그 영역 (120) 을 각각 정의한다. 제 1 손가락 (132) 과 제 2 손가락 (134) 은 거리 (136) 만큼 분리되어 있고 각도 (138) 를 형성한다.
도시된 모바일 컴퓨팅 디바이스 (100) 는 태블릿 컴퓨터이지만, 당해 기술 분야의 당업자는 이것이 단지 예시의 목적에 불과하고, 터치 감응형 디스플레이 (102) 는 다양한 모바일 컴퓨팅 디바이스, 이를 테면, 이미지 캡쳐 디바이스들, 모바일 통신 디바이스들, 이를 테면, 스마트 폰들, 전자 리더 디바이스들 (예를 들어, e-리더들), 게임 콘솔들, 포터블 미디어 플레이어들, 개인 휴대 정보 단말기들, 포터블 메디컬 디바이스들, 또는 랩톱들에서 채용될 수도 있음을 이해할 것이다. 추가로, 디스플레이 (102) 가 여기에서 모바일 컴퓨팅 디바이스들 내에 통합된 것으로 설명되어 있지만, 설명된 제스쳐 인식 기술들 뿐만 아니라 터치 스크린 기술이 정지형 컴퓨팅 디바이스들, 이를 테면, 데스크톱 컴퓨터들, 대형 디스플레이 스크린들, 또는 워크스테이션들에도 역시 채용될 수도 있다.
터치 감응형 디스플레이 (102) 는 터치 스크린을 포함한다. 터치 스크린은 디스플레이 영역에서의 비듀얼 정보를 디스플레이할 뿐만 아니라 디스플레이 영역 내의 터치의 존재 및 위치를 검출할 수 있다. 카메라들을 이용한 광학, 정전용량성, 및 저항성 터치 감지를 포함한 멀티터치 입력을 지원하는 수개의 터치 스크린 기술들이 현재 이용가능하다. 정전용량성 기술들은 터치 스크린의 정전 필드를 인터럽트하여 검출된 터치를 야기하는 사용자의 손가락으로부터의 전류를 감지하도록 동작한다. 일부 구현예들에서, 터치 스크린은 디스플레이 상에 배열되는 투영형 정전용량성 터치 (PCT) 센서를 포함할 수 있다. PCT 센서는 그리드 패턴으로 배열된 로우 전극들과 컬럼 전극들과 같은 오버랩하는 전극들의 형태로 복수의 센서 전극들에 의해 형성된 커패시터들의 어레이를 포함할 수 있다. 저항성 기술은 손가락 또는 스타일러스가 터치 스크린을 터치하여 2 개의 전도성 층들이 서로 접촉하여 전기 회로를 클로즈할 때 발생하는 터치를 통한 압력 감지를 검출한다.
디바이스의 특정 실시형태들은 멀티-터치 아날로그 저항 시스템 (MARS 또는 AMR) 을 채용할 수도 있다. 광학적 터치 감지는 동작에 압력을 요구하지 않고 터치 스크린의 표면 상에 또는 표면 근처에 탑재된 복수의 광학적 센서들을 구비한 터치 스크린 근처의 오브젝트들의 움직임을 검출한다. 표면 음향파 (SAW) 터치 스크린들은 터치를 검출하기 위해 사운드 파들의 흡수에 의존하여, 손가락 또는 장갑 착용 손가락이 터치 검출을 위해 동작한다. 그러나, 작고 경질의 스타일러스에 의한 터치는 검출되지 않아, SAW 터치 스크린들은 통상 특수한 연질의 첨단 스타일러스를 요구한다. 디스플레이 (102) 는 이들 기술들 뿐만 아니라 다른 알려진 터치 감응형 기술들의 어느 것을 통합할 수도 있다.
하기 표 1 에 설명된 바와 같이, 터치 기술은 상이한 기술들의 다양한 세트를 포함한다. 기초가 되는 터치 기술이, 필요한 터치 분해능 (피치) 을 정확하게 감지하는데 이용될 수 있는 한, 본 명세서에 설명되어진 제안된 앵커-드래그 시스템들은 효과적으로 인식 및 프로세싱될 수 있다.
표 1: 터치 기술들
Figure pct00001
디스플레이 (102) 의 영역 내에서, 사용자로부터의 제 1 터치는 베이스 영역 (110) 을 정의한다. 제 1 터치는 사용자의 손 (130) 의 제 1 손가락 (132), 예를 들어, 엄지손가락으로 수행될 수도 있다. 디바이스 (100) 는 드래그 영역 (120) 을 추정하기 위해, 제 1 손가락 (132) 과, 제 2 손가락 (134), 예를 들어, 동일한 손 (130) 의 집게 손가락 사이의 거리 (136) 뿐만 아니라 2 개의 손가락들 (132, 134) 사이에 형성되는 각도 (138) 를 이용할 수도 있다. 일부 실시형태들에서, 거리 (136) 및 각도 (138) 는 사용자의 손의 가능한 사이즈에 기초한, 예를 들어, 복수의 사용자의 손들의 평균 거리 (136) 및 각도 (138) 를 이용하는 것에 의한 것일 수도 있다. 다른 실시형태들에서, 거리 (136) 및 각도 (138) 는 사용자의 손 (130) 의 사이즈에 특히 기초한, 예를들어, 측정 프로세스 동안에 사용자가 디바이스 상에 엄지손가락과 집게 손가락을 위치시키는 것에 의한 것이거나 또는 터치 디스플레이 (102) 와의 이전 상호작용들 동안에 사용자의 손 사이즈에 대한 데이터를 수집하는 것에 의한 것일 수도 있다. 특정 실시형태들에서, 각도 (138) 는 유클리드 각도일 수도 있다.
드래그 영역 (120) 이 확립되면, 디바이스 (100) 는 특정 기간 동안에 드래그 영역 (120) 내에서 발생하지 않는 임의의 터치 데이터를 폐기할 수도 있다. 디바이스 (100) 는 또한 아래 보다 자세하게 설명된 바와 같이 인식된 드래그 심볼이 아닌 드래그 영역 (120) 내의 터치 데이터를 폐기할 수도 있다. 일부 실시형태들에서, 드래그 터치가 인식되면, 디바이스 (100) 는 드래그 영역 (120) 내의 후속하는 터치 데이터만이 프로세싱되도록 영구적으로 또는 준영구적으로 베이스 영역 (110) 을 확립할 수도 있다. 드래그 터치가 드래그 영역 (120) 내에서 인식되지 않으면, 미리 정해진 시간량 후에, 특정 실시형태들은 전체 디스플레이 (102) 에 대해 다시 한번 터치 프로세싱을 개시할 수도 있고, 새로운 베이스 영역 (110) 을 설정하도록 새로운 드래그 터치를 요구할 수도 있다.
예시된 바와 같이, 앵커-드래그 제스쳐는 순차적인 터치들을 수행하는 사용자의 단일 손 (130) 의 2 개의 손가락들 (132, 134) 에 의해 수행될 수도 있다. 그러나, 다른 실시형태들에서, 앵커-드래그 제스쳐는 여러 다른 방식으로, 예를 들어, 하나의 손가락 또는 스타일러스에 의한 2 개의 순차적인 터치들, 2 개의 손들의 2 개의 손가락들에 의한 2 개의 순차적인 터치들, 또는 심지어 단일의 터치에 의해 수행될 수도 있다. 이러한 실시형태들에서, 드래그 영역은 유클리드 거리 및 각도와는 상이한 방법을 이용하여 계산될 수도 있다. 예를 들어, 드래그 영역은 베이스 터치에 의해 개시된 후, 스크린의 미리 정의된 영역에 사용자에게 디스플레이될 수도 있다.
베이스 영역 (110) 을 정의함으로써, 디바이스 (100) 는 후속하는 터치 프로세싱을 드래그 영역 (120) 으로 제한할 수 있다. 드래그 영역 (120) 이 터치 디스플레이 (102) 의 영역의 서브세트인 바운더리를 포함하고 있기 때문에, 앵커-드래그 기술은 터치 패널보다 작은 터치 데이터를 수신하는 영역을 타겟으로 하며, 이는 터치 프로세싱 오버헤드를 감소시킨다. 앵커-드래그 제스쳐들이 터치 디스플레이 (102) 에 대한 의도하지 않은 터치들로부터 쉽게 구별가능하기 때문에, 베이스 영역 (110) 및 드래그 영역 (120) 의 조합은 터치스크린 시스템이 일정한 디노이즈 및 필터링을 스킵하게 함으로써 추가로 프로세싱 오버헤드를 감소시킨다. 일부 실시형태들에서, 드래그 영역은 터치들 사이의 유클리드 거리들에 따라 설정된다.
II. 앵커-드래그 터치 클래스
도 2 에 예시된 바와 같이, 앵커-드래그 터치 클래스 (200) 는 터치스크린 디바이스들과의 사용을 위해 단일의 핸드 코디네이션된 터치 제스쳐들의 세트를 포함한다. 각각의 제스쳐는 앵커 터치와 드래그 터치를 포함하며, 앵커 터치는 터치 스크린 상의 베이스 영역 (210) 에 대응하며, 드래그 터치는 사용자에 의해 특정한 기하학적 형상 (220) 이 입력될 수 있는 드래그 영역에 대응한다.
사용자는 베이스 영역 (210) 내의 앵커 터치를 수행하기 위해, 손 (230) 의 제 1 손가락 (232), 예를 들어, 엄지 손가락을 포지셔닝할 수도 있다. 일부 실시형태들에서, 베이스 영역 (210) 은 앵커 터치가 인식될 영역을 표시하는 목적으로 사용자에게 디스플레이되는 미리 정의된 영역일 수도 있다. 다른 실시형태들에서, 베이스 영역 (210) 은 터치 스크린 디바이스가 앵커 터치를 인식하는 터치 스크린 상의 어느 곳이든 정의할 수도 있다. 앵커 터치를 유지하는 동안에, 사용자는 드래그 터치를 수행하기 위해 터치 스크린의 표면을 따라 제 2 손가락 (234), 예를 들어, 동일한 손 (230) 의 집게 손가락을 움직인다. 드래그 터치는 기하학적 형상들 (220) 의 세트 중 하나의 형상일 수도 있으며, 각각의 형상 (220) 은 디바이스 제어에 대한 기능과 또는 정보의 고유 세트와 연관된 것으로서 디바이스에 의해 인식될 수도 있다. 앵커-드래그 제스쳐들이 단일의 손에 의해 완성되는 것으로 예시되어 있지만, 앵커 터치 및 드래그 터치는 양손의 이용으로 수행될 수 있는 것이 가능하다.
앵커-드래그 터치 클래스 (200) 의 일부 실시형태들은 복수의 형상들 (220) 을 인식하는 것에 더하여, 사용자가 형상을 생성하는 방법의 여러 특징들을 인식할 수도 있고, 이 특성들에 의존하여, 상이한 기능 또는 정보의 세트를 형상과 연관시킬 수도 있다. 예를 들어, 사용자가 드래그 터치를 수행하여 형상 (220) 을 발생시킬 때, 드래그 터치의 시작 포인트 (240), 및 형상이 그려지는 방향 (250) 은 형상과 연관된 기능 또는 정보를 결정할 수도 있다. 도시되지 않은 다른 특성들, 이를 테면, 형상의 압력, 속도 또는 사이즈는 또한, 어떤 기능 또는 정보가 형상과 연관되는지를 결정하는데 이용될 수도 있다.
본 실시형태들 중 일부에서, 앵커-드래그 터치가 인식되면, 후속하는 터치 커맨드들이 오직 드래그 영역에만 적용가능한 것으로서 될 수 있도록 베이스 영역 (210) 이 설정된다. 다른 실시형태들에서, 앵커-드래그 터치가 인식된 후 앵커 터치는 이를 테면, 베이스 손가락 (232) 의 푸시 레벨을 변경하거나 또는 베이스 손가락 (232) 을 이용하여 베이스 영역 (210) 내의 추가적인 터치를 수행함으로써 보다 복잡한 제스쳐들의 새로운 세트를 정의하는데 이용될 수도 있다. 추가적인 터치는 디바이스가 수행하려는 새로운 또는 추가적인 기능을 표시하는 탭 또는 다른 드래그 터치일 수도 있다.
III. 시스템 컴포넌트들
도 3 은 도 1 및 도 2 에 대하여 위에서 설명된 앵커-드래그 터치 인식 기술들을 수행할 수 있는 본 개시물의 일 실시형태에 따른 모바일 컴퓨팅 디바이스 (300) 의 블록도를 예시한다. 디바이스 (300) 는 디스플레이 (310), 터치 스크린 서브시스템 (320), 제스쳐 데이터베이스 (330) 및 호스트 프로세서 (340) 를 포함한다. 예시된 실시형태는 단지 예시적인 것으로 의미되며, 디바이스 (300) 는 다른 기능들에 대해 요구될 때 여러 다른 컴포넌트들을 포함할 수도 있다.
디바이스 (300) 의 디스플레이 (310) 는 터치 스크린 패널 (312) 및 디스플레이 컴포넌트 (314) 를 포함할 수도 있다. 디스플레이 컴포넌트 (314) 의 특정 실시형태들은 임의의 플랫 패널 디스플레이 기술, 이를 테면, LED, LCD, 플라즈마 또는 프로젝션 스크린일 수도 있다. 디스플레이 컴포넌트 (314) 는 사용자로의 비쥬얼 디스플레이에 대한 정보를 수신하기 위하여 호스트 프로세서 (340) 에 커플링될 수도 있다. 이러한 정보는 디바이스 (300) 의 메모리에 저장된 파일들의 비쥬얼 표현들, 디바이스 (300) 상에 설치된 소프트웨어 애플리케이션들, 사용자 인터페이스들, 및 네트워크 액세스가능 컨텐츠 오브젝트들을 포함할 수도 있지만 이들에 제한되지 않는다. 일부 실시형태들에서, 디스플레이 컴포넌트 (314) 는 또한 도 1 및 도 2 에 대하여 위에 설명된 베이스 영역 (110, 210), 드래그 형상 (220) 또는 드래그 영역 (120) 의 바운더리 또는 다른 묘사를 디스플레이하는데 이용될 수도 있다.
터치 스크린 패널 (312) 은 많은 터치 감지 기술들, 예를 들어, 정전용량성, 저항성, 표면 음향파, 또는 광학 터치 감지 중 하나 또는 조합을 채용할 수도 있다. 본 명세서에 설명된 앵커-드래그 터치 클래스의 인식을 수행하기 위해, 터치 감지 기술은 멀티-터치 제스쳐들을 지원할 수도 있다. 일부 실시형태들에서, 터치 스크린 패널 (312) 은 디스플레이 컴포넌트 (314) 의 가시성이 영향을 받지 않도록, 디스플레이 컴포넌트 (314) 상에 오버레이할 수도 또는 포지셔닝될 수도 있다. 다른 실시형태들에서, 터치 스크린 패널 (312) 및 디스플레이 컴포넌트 (314) 는 단일의 패널 또는 표면에 통합될 수도 있다. 터치 스크린 패널 (312) 상의 사용자의 터치가 터치 스크린 패널 (312) 상의 터치의 위치에 대응하는 디스플레이 컴포넌트 (314) 상에 디스플레이되는 컨텐츠의 일부분과 연관되도록 터치 스크린 패널 (312) 은 디스플레이 컴포넌트 (314) 와 협력하도록 구성될 수도 있다. 디스플레이 컴포넌트는 또한 도 2 에 도시된 바와 같이, 제한된 시간 동안, 터치의 비쥬얼 표현, 예를 들어, 드래그 형상 (220) 을 디스플레이함으로써 터치 스크린 패널 (312) 상의 사용자 터치에 응답하도록 구성될 수도 있다.
터치 스크린 패널 (312) 은 터치 스크린 서브시스템 (320) 에 커플링될 수도 있으며, 터치 스크린 서브시스템 (320) 은 터치 검출 모듈 (322) 및 프로세싱 모듈 (324) 을 포함한다. 터치 스크린 패널 (312) 은 디바이스 (300) 로 하여금 디스플레이 (310) 상의 사용자 터치 또는 터치들의 위치, 압력, 방향 및/또는 형상을 감지할 수 있도록 터치 스크린 서브시스템 (320) 과 협력할 수도 있다. 터치 검출 모듈 (322) 은 실행될 때, 터치 이벤트들에 대하여 그리고 프로세싱 모듈 (324) 에 터치 이벤트들의 좌표들을 제공하기 위해 터치 스크린 패널 (312) 의 영역을 스캔할 수 있는 명령들을 포함할 수도 있다. 일부 실시형태들에서, 터치 검출 모듈 (322) 은 복수의 소프트웨어 드라이버들을 포함하는 아날로그 터치 스크린 프론트 엔드 모듈일 수도 있다.
터치 스크린 서브시스템 (320) 의 프로세싱 모듈 (324) 은 호스트 프로세서 (340) 에 터치 데이터를 통신하도록 그리고 터치 이벤트들을 분석하도록 구성될 수도 있다. 일부 실시형태들에서, 프로세싱 모듈 (324) 은 실행될 때, 터치 스크린 제어기 (TSC) 로서 동작하는 명령들을 포함할 수도 있다. 채용된 TSC 의 특정 유형은 패널 (312) 에 이용된 터치 기술의 유형에 의존할 것이다. 프로세싱 모듈 (324) 은 사용자가 터치 스크린 패널 (312) 을 터치함을 터치 검출 모듈 (322) 이 표시할 때 기동하고 터치의 해제 후에 파워 다운하도록 구성될 수도 있다. 이 특징은 모바일 컴퓨팅 디바이스 (300) 와 같이 배터리로 급전되는 디바이스들에서의 전력 보존에 유용할 수도 있다.
프로세싱 모듈 (324) 은 터치 검출 모듈로부터 수신되는 터치 이벤트 데이터에 대한 필터링을 수행하도록 구성될 수도 있다. 예를 들어, 터치 스크린 패널 (312) 이, LCD 스크린을 포함하는 디스플레이 컴포넌트 (314) 의 상단에 위치되는 디스플레이 (310) 에서, LCD 스크린은 터치 이벤트의 좌표 포지션 측정에 대한 노이즈에 기여할 수도 있다. 이 노이즈는 임펄스 노이즈 및 가우시안 노이즈의 조합이다. 프로세싱 모듈 (324) 은 이 노이즈를 감소시키기 위해 메디안 및 평균화 필터들로 구성될 수도 있다. 터치 이벤트의 좌표 측정을 위하여 단일의 샘플만을 이용하는 대신에, 프로세싱 모듈 (324) 은 2 개, 4 개, 8 개 또는 16 개의 샘플들을 제공하도록 터치 검출 모듈 (322) 에 명령하도록 프로그래밍될 수도 있다. 그 후, 이들 샘플들은 분류되어, 메디안 필터링되고 평균화되어 터치 좌표들의 보다 낮은 노이즈, 보다 높은 정확한 결과를 제공할 수도 있다.
프로세싱 모듈 (324) 은 터치 스크린 서브시스템 (320) 과의 이용을 위하여 특수하게 구성되는 프로세서인 한편, 호스트 프로세서 (340) 는 디바이스 (300) 의 일반 프로세싱 요건을 처리하도록 구성될 수도 있다. 프로세싱 모듈 (324) 및 호스트 프로세서 (340) 는 서로에 대하여 통신할 뿐만 아니라 제스쳐 데이터 스토어 (330) 와 통신할 수도 있다. 예를 들어, 프로세싱 모듈 (324) 은 터치 이벤트들의 시퀀스가 제스쳐 데이터 스토어 (330) 에서 앵커-드래그 터치 제스쳐로서 패턴에 매칭한다고 결정할 수도 있다. 프로세싱 모듈 (324) 은 제스쳐 데이터 스토어 (330) 로부터 인식된 제스쳐와 연관된 기능 또는 다른 정보를 취출할 수도 있고, 디스플레이 (310) 상에 정보를 디스플레이하거나 또는 기능을 수행하도록 호스트 프로세서 (340) 에 명령들을 전송할 수도 있다.
터치스크린 서브시스템 (320) 이 앵커-드래그 제스쳐로서 인식되는 터치 또는 터치들의 시퀀스를 검출할 때, 프로세싱 모듈 (324) 은 후속하는 터치 프로세싱을 도 1 에 예시된 예측된 드래그 영역 (120) 과 같은 드래그 영역으로 제한할 수도 있다. 예측된 드래그 영역 (120) 의 외부에서의 터치 이벤트들은 페기될 수도 있거나 또는 일부 실시형태들에서, 스캐닝 뿐만 아니라 터치 프로세싱을 감지되지 않은 드래그 영역으로 제한할 수도 있다. 본 개시물에 설명된 앵커-드래그 터치 클래스는 터치 제스쳐들의 쉽게 검출가능한 세트를 생성하고 그리고 프로세싱 모듈 (324) 이 터치 스크린 패널 (312) 의 서브세트로 프로세싱을 제한하는 것을 허용함으로써 프로세싱 프로세싱 모듈 (324) 로 하여금, 통상의 터치 프로세싱 아키텍쳐들에서보다 호스트 프로세서 (340) 상에 덜 의존하여 터치 데이터를 프로세싱할 수 있다.
IV. 앵커-드래그 터치 인식 (도 4)
도 4 는 터치 스크린 상의 터치 이벤트가 앵커-드래그 터치인지의 여부를 결정하는데 이용될 수도 있는 프로세스 (400) 의 일 실시형태를 예시한다. 앵커-드래그 터치는 도 2 에 대하여 위에 설명된 앵커-드래그 터치 클래스 (200) 에서 예시된 것일 수도 있고, 도 3 의 터치 스크린 서브시스템 (320) 에 의해 실행될 수도 있다.
터치 스크린 상의 제 1 터치 이벤트가 식별되고 앵커 터치로서 인식될 때, 프로세스 (400) 가 블록 405 에서 시작한다. 탭은 터치스크린 상의 탭의 지속성 및/또는 영구성에 의해 앵커로서 검출될 수도 있다. 프로세스 (400) 는 블록 410 으로 이동하여, 여기에서 앵커 터치의 위치가 베이스 영역으로서 확립된다. 일부 실시형태들에서, 베이스 영역은 앵커 터치의 대략 중심에 위치된 단일 포인트, 예를 들어, x-y 좌표 쌍에 의해 정의될 수도 있다. 다른 실시형태들에서, 베이스 영역은 앵커 터치 주변의 바운더리와 같은 바운더리에 의해 정의될 수도 있다.
베이스 영역을 확립한 후, 프로세스 (400) 는 블록 415 로 트랜지션하며, 여기에서 드래그 영역이 베이스 영역의 위치에 적어도 부분적으로 기초하여 계산된다. 드래그 영역의 계산에 영향을 주는 다른 팩터들은 특정 실시형태들에서, 사용자의 엄지손가락의 끝에서부터 동일한 손의 사용자의 집게 손가락의 끝까지의 추정되거나 실제의 거리일 수도 있다. 이 거리는 사용자의 손이 완전히 펼쳐질 때 또는 사용자의 손가락들이 터치 스크린과 상호작용하도록 굽혀질 때의 손가락 끝에서 손가락 끝까지의 거리를 나타낼 수도 있다. 위에 설명된 바와 같이, 이 거리는 시간에 따라 제스쳐 데이터를 추적하는 학습 알고리즘 또는 측정 프로세스에 의해 결정되는 사용자의 실제 손 사이즈에 기초할 수도 있거나 또는 사용자의 평균 손 사이즈에 기초할 수도 있다. 다른 팩터는 사용자의 엄지손가락과 집게 손가락 사이에 형성된 유클리드 각도일 수도 있다. 프로세스 (400) 에 의해 계산되는 드래그 영역은 프로세스 (400) 가 인식하고자 하는 드래그 제스쳐들의 사이즈와 사용자가 드래그 제스쳐를 "그리는" 정밀도에 의존하여, 가변 사이즈의 바운더리에 의해 나타내어질 수도 있다.
프로세스 (400) 는 블록 420 으로 트랜지션하며, 여기에서 추가적인 터치 이벤트가 검출된다. 이는 프로세스 (400) 를 결정 블록 425 로 이동시키며, 여기에서 추가적인 터치가 계산된 드래그 영역 내에 있었는지의 여부를 결정한다. 터치가 드래그 영역 내에 있지 않았다면, 프로세스 (400) 는 블록 430 으로 이동하며, 여기에서 터치 데이터가 페기되고, 그 후, 프로세스 (400) 는 블록 420 으로 루프 백하여, 추가적인 터치 이벤트를 검출한다. 추가적인 터치가 드래그 영역 내에 있다면, 프로세스 (400) 는 블록 435 로 트랜지션하여, 터치의 파라미터들을 분석한다. 이러한 파라미터들은 예를 들어, 추가적인 터치 이벤트의 압력, 방향, 형상, 시작 포인트, 종료 포인트, 및/또는 지속 시간을 포함할 수도 있다.
추가적인 터치의 파라미터들을 결정한 후, 프로세스 (400) 는 결정 블록 440 으로 이동하여, 파라미터들이 앵커-드래그 터치 클래스 (200) 에서 정의된 드래그 제스쳐들의 파라미터들과 매칭하는지의 여부를 결정한다. 매칭이 발견되지 않으면, 프로세스 (400) 는 블록 430 으로 이동하며, 여기에서, 터치 데이터는 폐기되고, 그 후 프로세스 (400) 는 블록 420 으로 루프백하여 추가적인 터치 이벤트를 검출한다. 추가적인 터치의 파라미터들과 매칭하는 파라미터들을 가진 드래그 제스쳐가 발견되면, 프로세스 (400) 는 블록 445 로 트랜지션하며, 여기에서, 드래그 터치와 연관된 기능 또는 정보의 세트가 취출된다. 이는 특정 실시형태에서 터치 제스쳐 데이터 스토어 (330) 에 액세스하는 프로세싱 모듈 (324) 에 의해 완성될 수도 있다. 일부 실시형태들에서, 드래그 터치는 터치 스크린 상에 앵커 터치가 여전히 위치되어 있는 동안에 발생되어야 한다. 다른 실시형태들에서, 사용자는 드래그 제스쳐를 수행하기 전에 앵커 터치를 해제할 수도 있다. 또 다른 실시형태들에서, 사용자는 연관된 드래그 제스쳐 및 앵커 터치를 동시에 수행할 수도 있고 양쪽 모두의 터치 이벤트들이 함께 프로세싱되고 분석될 수도 있다.
V. 앵커-드래그 터치 프로세싱 (도 5)
도 5 는 터치 이벤트들과 연관된 데이터를 프로세싱하기 위해 도 3 의 터치 스크린 서브시스템 (320) 및 호스트 프로세서 (340) 에 의해 이용될 수도 있는 프로세스 (500) 의 일 실시예를 예시한다. 명백한 바와 같이, 이 목적을 위해 다수의 변경들 및 추가예들이 가능하며, 이들 몇몇은 아래 설명된다.
프로세스 (500) 는 블록 505 에서 시작하며, 여기에서, 아이들 모드에 있을 때, 터치 스크린 서브시스템은 사용자 터치에 대해 터치 패널을 반복적으로 스캔한다. 이는 도 3 의 터치 스크린 서브시스템 (320) 및 터치 감지 패널 (312) 에 의해 구현될 수도 있다. 일부 실시형태들에서, 터치 패널은 로우들 및 컬럼들로 구성될 수도 있고, 각각의 로우 및 컬럼은 터치 스크린 서브시스템 (320) 에 커플링된 적어도 하나의 전도성 와이어에 접속된다. 블록 단계 505 를 수행하기 위하여, 터치 스크린 서브시스템 (320) 은 하나의 로우 및 하나의 컬럼을, 그 로우 및 그 컬럼의 교차부에서 사용자 터치가 발생하는지를 결정하기 위해 한번에 턴온할 수도 있다. 모든 로우 및 컬럼 조합들을 스캔한 후, 터치 스크린 서브시스템 (320) 은 스캐닝 프로세스 오버를 시작할 수도 있다. 특정 실시형태들에서, 이 스캐닝 프로세스는 터치 검출 모듈 (322) 에 의해 수행될 수도 있다.
터치 이벤트가 스캐닝된 포인트에서 발생하였다고 터치 스크린 서브시스템 (320) 이 결정할 때, 프로세스 (500) 는 블록 510 으로 이동한다. 본 명세서에 설명된 앵커-드래그 제스쳐 클래스와 같은 멀티터치 애플리케이션들에서, 터치 검출 모듈 (322) 은 터치 검출 단계 510 동안에 적어도 제 1 터치 이벤트 및 제 2 터치 이벤트를 검출하도록 구성될 수도 있다. 블록 510 에서의 터치의 검출은 프로세싱 모듈 (324) 을 활성화시킬 수도 있다. 그 후, 프로세스 (500) 는 블록 515 로 이동하며, 여기에서 터치 스크린 서브시스템 (320) 은 터치 이벤트가 의도적인 터치였는지 또는 (또한, "긍정 오류"라고 알려짐) 우발적인 터치였는지를 식별하는 필터링을 수행한다. 이는 도 3 에 대하여 위에 설명된 노이즈 필터링 기술들과 유사한 방식으로 프로세싱 모듈 (324) 에 의해 완성될 수도 있다.
필터링이 블록 515 에서 완료된 후, 프로세스 (500) 는 결정 블록 520 으로 트랜지션하여 터치 이벤트가 검출되었는지의 여부를 결정한다. 터치 스크린 서브시스템 (320) 이 결정 블록 420 에서, 필터링된 데이터가 의도적인 터치 이벤트를 나타내지 않는다고 결정하면, 프로세스는 블록 505 로 다시 사이클 백하여 아이들 모드 스캐닝 프로세스를 반복한다. 특정 실시형태들은 아이들 모드 동안에, 터치 프로세싱 모듈 (324) 을 파워 오프할 수도 있다. 멀티-터치 제스쳐들을 검출하도록 구성되는 일부 실시형태들에서, 블록 505 의 스캐닝 프로세스는 추가적인 터치 이벤트들을 검출하기 위하여 프로세스의 다른 단계들 전반에 걸쳐 연속적으로 실행될 수도 있다. 이러한 실시형태들에서, 프로세싱 모듈 (324) 은 모듈 (324) 이 필터링 또는 다른 터치 프로세싱 기술들을 수행하면 아이들 프로세스 동안에 파워 온을 유지할 수도 있다.
터치 스크린 서브시스템 (320) 이 결정 블록 520 에서, 필터링된 데이터가 의도적인 터치 이벤트를 나타낸다고 결정하면, 프로세스 (400) 는 블록 525 로 트랜지션하여 터치 이벤트의 파라미터들을 나타내는 측정 데이터를 계산한다. 일부 실시형태들에서, 측정 데이터를 계산하기 위하여, 프로세싱 모듈 (324) 은 프로세싱 모듈 (324) 이 터치 이벤트와 연관된 복수의 파라미터들을 측정할 수도 있도록 검출된 터치의 좌표들을 제공하도록 터치 검출 모듈 (322) 을 구성시킨다. 이들 파라미터들은 예를 들어, 터치 이벤트의 압력, 방향, 형상, 시작 포인트, 종료 포인트, 및/또는 지속 시간을 포함할 수도 있다.
측정 데이터를 계산한 후, 그 후, 프로세스는 측정 데이터에 의해 앵커-드래그 터치가 식별되는지의 여부를 결정하는 결정 블록 530 으로 트랜지션한다. 일부 실시형태들에서, 이 단계는 터치 이벤트의 파라미터들을, 도 3 의 제스쳐 데이터 스토어 (330) 와 같은 데이터베이스에 저장된 앵커-드래그 터치 파라미터들과 비교하는 터치 프로세서 (324) 에 의해 수행될 수도 있다. 특정 실시형태들은 도 4 에 예시된 프로세스 (400) 에 의해 앵커-드래그 식별 단계 530 를 완성할 수도 있다. 일부 실시형태들에서, 단계 530 은 앵커 터치를 나타내는 제 1 터치 이벤트를 인식하고, 단계 505 로 루프 백하여 드래그 터치를 나타내는 제 2 터치 이벤트를 검출하는 프로세스 (500) 를 요구할 수도 있다.
블록 530 에서, 앵커-드래그 제스쳐가 식별되면 프로세스는 블록 535 로 트랜지션하고 여기에서 터치 스크린 서브시스템 (320) 은 앵커-드래그 제스쳐와 연관된 기능 또는 정보를 식별하고 실행을 위하여 기능 또는 정보를 호스트 프로세서 (340) 에 전송한다. 제스쳐와 연관된 기능 또는 정보는 제스쳐 데이터 스토어 (330) 에 저장되어, 프로세싱 모듈 (324) 에 의해 액세스될 수도 있다. 이 방식으로, 프로세스 (500) 는 앵커-드래그 제스쳐의 사용을 통하여 호스트 프로세서 (340) 의 사용을 최소화하여, 단지 디바이스 (300) 상의 관련 기능을 수행하거나 또는 디스플레이 (310) 상에 관련 정보를 디스플레이하는 것으로 디바이스 호스트 프로세싱을 제한한다.
프로세스 (500) 가 블록 530 에서 앵커-드래그 제스쳐를 식별하지 않으면, 프로세스 (500) 는 블록 540 으로 이동하고 여기에서 터치 스크린 서브시스템 (320) 은 측정 데이터를 호스트 프로세서 (340) 에 전송한다. 그 후, 프로세스 (500) 는 블록 545 로 트랜지션하고, 여기에서 호스트 프로세서 (340) 는 통상의 터치 추적을 수행한다. 호스트 프로세서 터치 추적에 응답하여, 프로세스 (500) 는 결정 블록 550 으로 트랜지션하여 임의의 터치 제스쳐가 식별되었는지의 여부를 결정한다. 터치 제스쳐가 블록 550 에서 식별되지 않으면, 프로세스 (500) 는 블록 545 로 루프백하여 호스트 프로세서가 터치 추적을 계속한다. 특정 기간 후에, 어떠한 터치 이벤트도 식별되지 않으면, 프로세스 (500) 는 선택적으로 블록 505 로 루프 백하여, 터치 스크린 서브시스템 아이들 프로세스를 시작한다. 블록 550 에서 앵커-드래그 터치 이외의 터치 제스쳐가 식별되었다고 프로세스가 결정하면, 호스트 프로세서 (340) 는 터치 제스쳐와 연관된 터치 제스쳐 또는 디스플레이 정보와 연관된 기능을 실행할 수도 있다. 프로세스 (500) 는 그 후, 블록 505 로 루프백하여, 새로운 터치 이벤트들에 대한 스캐닝을 시작한다.
VI. 터치 프로세싱 제한 (도 6)
도 6 에 예시된 프로세스 (600) 는 도 3 의 터치 스크린 서브시스템 (320) 에 의해 수행될 수도 있는 터치 프로세싱 제한 기술의 일 실시형태이다. 프로세스 (600) 는 또한 일부 실시형태들에서, 예를 들어, 앵커-드래그 제스쳐를 식별하기 위하여 블록 530 후에, 터치 프로세싱 프로세스 (500) 의 서브 프로세스로서 통합될 수도 있다. 다른 실시형태들에서, 프로세스 (600) 는 후속하는 터치 프로세싱을 드래그 영역으로 제한하기 위하여 앵커-드래그 제스쳐들을 인식하기 위한, 프로세스 (400) 에 대한 팔로우 업 프로세스로서 소정 기간 동안에 채택될 수도 있다.
프로세스는 블록 605 에서 시작하며, 여기에서 터치 스크린 서브시스템 (320) 은 베이스 영역으로부터 드래그 영역을 식별한다. 이는 프로세스 (400) 의 블록 415 에 대하여 위에 설명된 기술과 유사한 방식으로 완성될 수도 있다. 드래그 영역이 정의되고, 프로세스 (600) 는 블록 610 으로 트랜지션하며, 여기에서 터치 스크린 서브시스템은 여기에서는 "드래그 제스쳐 세션"으로서 지칭되는 소정 기간 동안에, 후속하는 터치 프로세싱을 드래그 영역으로 제한한다. 이 프로세싱 제한은 디바이스 사용자가 각각의 드래그 제스쳐에 대한 추가적인 앵커 터치들을 수행하지 않고도 복수의 드래그 제스쳐들을 드래그 영역 내에서 수행하는 것을 허용한다. 드래그 제스쳐 세션 동안에, 드래그 영역의 외부의 터치 이벤트들 뿐만 아니라 유효 드래그 제스쳐가 아니라고 결정된 드래그 영역 내의 터치 이벤트들이 폐기된다.
프로세스의 일부 실시형태들은 선택적으로 블록 615 로 트랜지션할 수도 있고, 여기에서 터치 스크린 서브시스템 (320) 은 드래그 영역의 바운더리 내의 터치 패널 좌표들로 모든 터치 스캐닝을 제한한다. 이는 단지 드래그 영역의 외부의 터치 이벤트들만이 폐기되는 것이 아니라는 점에서 단계 610 의 프로세싱 제한과 상이하며, 프로세스 (600) 가 드래그 영역의 외부의 터치 이벤트들에 대하여 스캐닝하지 않기 때문에 이러한 이벤트들이 결코 레지스터되지 않는다.
그 후, 프로세스 (600) 는 블록 620 으로 이동하며, 여기에서 터치 스크린 서브시스템이 드래그 제스쳐를 검출한다. 일부 실시형태들에서, 이 단계는 드래그 영역 내의 터치 이벤트의 파라미터들 - 이를 테면, 터치 이벤트의 압력, 방향, 형상, 시점 포인트, 종료 포인트, 및/또는 유지 기간을 비교하는 터치 프로세서 (324) 에 의해 수행되며, 드래그 제스쳐 파라미터들은 도 3 의 제스쳐 데이터 스토어 (330) 와 같은 데이터베이스에 저장된다. 드래그 제스쳐를 검출한 후, 프로세스 (600) 는 블록 625 로 트랜지션하며, 드래그 제스쳐와 연관된 기능 또는 정보 세트가 식별되어 호스트 프로세서 (340) 에 전송된다. 그 후, 프로세스는 블록 620 으로 루프백하여, 추가적인 드래그 제스쳐를 검출하는 단계를 수행하고 이 루프는 드래그 제스쳐 세션의 유지 기간 동안에 계속된다.
프로세스 (600) 가 드래그 제스쳐 세션을 유지하기 위해 블록 620 과 625 사이에서 루프하는 시간량은 여러 실시형태에서 다를 수도 있다. 예를 들어, 일부 실시형태들은 특정 소프트웨어 프로그램 또는 애플리케이션의 사용의 유지 기간 동안 드래그 제스쳐 세션을 유지할 수도 있는 한편, 다른 실시형태들은 드래그 제스쳐 세션이 종료하였다는 표시를 사용자가 제공할 때까지 드래그 제스쳐 세션을 계속할 수도 있다. 또 다른 실시형태들은 어떠한 드래그 제스쳐도 행해지지 않았던 미리 정해진 기간이 경과하였다고 결정할 때까지 드래그 제스쳐 세션을 계속할 수도 있다.
VII. 용어
기술은 복수의 다른 일반 목적 또는 특수 목적 컴퓨팅 시스템 환경들 또는 구성들로 동작한다. 본 발명에 이용하기에 적합한 잘 알려진 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예들은 퍼스널 컴퓨터들, 서버 컴퓨터들, 핸드헬드 또는 랩톱 디바이스들, 멀티프로세서 시스템들, 프로세서 기반 시스템들, 프로그래밍가능 소비자 전자 장치들, 네트워크 PC들, 미니컴퓨터들, 메인프레임 컴퓨터들, 위에 시스템들 또는 디바이스들의 어느 것을 포함하는 분산형 컴퓨팅 환경들 등을 포함하지만 이들에 제한되지 않는다.
여기에 이용된 명령들은 시스템에서 정보를 프로세싱하기 위한 컴퓨터 구현 단계들을 지칭한다. 명령들은 시스템의 컴포넌트들에 의해 진행되는 프로그램된 단계의 임의의 유형을 포함하며 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수도 있다.
프로세서는 임의의 통상의 일반 목적의, 단일 또는 멀티 칩 프로세서, 이를 테면, Pentium® 프로세서, Pentium Pro® 프로세서, 8051 프로세서, MIPS® 프로세서, Power PC® 프로세서, 또는 Alpha® 프로세서일 수도 있다. 추가로, 프로세서는 임의의 통상의 특수 목적 프로세서, 이를 테면, 디지털 신호 프로세서, 또는 그래픽 프로세서일 수도 있다. 프로세서는 통상적으로 통상의 어드래스 라인들, 통상의 데이터 라인들, 및 하나 이상의 통상의 제어 라인들을 갖는다.
시스템은 자세히 설명된 바와 같이 여러 모듈들로 구성된다. 당해 기술 분야의 당업자에 의해 알 수 있는 바와 같이, 모듈들 각각은 여러 서브루틴, 절차들, 정의가능한 스테이트먼트 및 매크로스를 포함한다. 모듈들 각각은 통상적으로 별도로 컴파일링되고 단일의 실행가능 프로그램에 링크된다. 따라서, 모듈들 각각의 설명은 바람직한 시스템의 기능을 설명하기 위한 편의를 위해 이용된다. 따라서, 모듈들 각각에 의해 진행되는 프로세스들은 다른 모듈들 중 하나에 임의적으로 재배포될 수도 있거나, 단일 모듈로 함께 결합될 수도 있거나 또는 예를 들어, 쉐어가능 다이나믹 링크 라이브러리에서 입수가능할 수도 있다.
시스템은 여러 오퍼레이팅 시스템들, 이를 테면, Linux®, UNIX® 또는 Microsoft Windows® 와 결합하여 이용될 수도 있다.
시스템은 통상의 오퍼레이팅 시스템 하에서 구동되고 C, C++, BASIC, Pascal, 또는 Java 와 같은 임의의 통상의 프로그래밍 언어로 기록될 수도 있다. C, C++, BASIC, Pascal, Java, 및 FORTRAN 은 많은 상업적 컴파일러들이 실행가능 코드를 생성하는데 이용될 수도 있는 산업 표준 프로그래밍 언어이다. 시스템은 또한 해석된 언어, 이를 테면, Perl, Python 또는 Ruby 를 이용하여 기록될 수도 있다.
본원에서 개시된 실시예들과 연계하여 설명된 다양한 예증적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합들로서 구현될 수도 있다는 것을 당업자들은 또한 알 수 있을 것이다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들을 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현 결정들이 본 개시물의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 본 범용 프로세서, 디지털 신호 프로세서 (digital signal processor; DSP), 주문형 반도체 (application specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이 (field programmable gate array; FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 개시된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 상기 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 프로세서 상에서 실행되는 하드웨어, 소프트웨어, 미들웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 상기 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독 가능한 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 요구되는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독 가능한 매체라고 적절히 칭해진다. 예를 들면, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 이용되는 바와 같은 디스크 (disk) 및 디스크 (disc) 는 CD (compact disc), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크, 및 블루레이 디스크를 포함하는데, 여기서 디스크 (disk) 는 보통 데이터를 자기적으로 재생하며, 반면 디스크 (disc) 는 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
상술한 설명은 여기에 개시된 시스템들, 디바이스들, 및 방법들의 특정실시형태들을 세부설명한다. 그러나, 시스템들, 디바이스들, 및 방법들이 텍스트에서 자세하게 설명되었더라도 많은 방식으로 실시될 수 있음을 알 것이다. 위에 또한 언급된 바와 같이, 본 발명의 특정 특징 또는 양태를 설명할 때 특정 용어의 이용은 용어가 그 용어와 관련된 기술의 특징 또는 양태들의 어떠한 특수 특징들을 포함하는 것으로 제한되도록 재정의됨을 함축하지는 않아야 함을 주지해야 한다.
여러 변형예들 및 수정예들이 설명된 기술의 범위로부터 벗어남이 없이 이루어질 수도 있음을 당해 기술 분야의 당업자는 알 것이다. 이러한 수정예와 변형예들은 첨부된 특허청구범위의 범위 내에 있는 것으로 의도된다. 일 실시형태에 포함된 부분들은 다른 실시형태들과 상호교환가능하고, 묘사된 실시형태들로부터 하나 이상의 부분들이 임의의 조합으로 다른 묘사된 실시형태들과 함께 포함될 수 있음을 당해 기술 분야의 당업자는 알 것이다. 예를 들어, 본 명세서에 설명되고/되거나 도면들에 도시된 여러 컴포넌트들 중 어느 것은 다른 실시형태들과 결합, 상호교환 또는 배제될 수도 있다.
본원에서의 실질적인 임의의 단복수 용어들의 사용과 관련하여, 당업자라면, 상황 및/또는 어플리케이션에 적절하게 복수에서 단수로 및/또는 단수에서 복수로 변경할 수 있을 것이다. 본원에서의 여러 단/복수 치환들은 명확화를 위해 명백히 설명될 수도 있다.
당업자라면, 일반적으로, 본원, 특히 하기의 특허청구범위(예를 들면, 하기의 특허청구범위의 특징부)에서 사용된 용어들은 일반적으로, "열린" 용어들로서 의도되며(예를 들면, 용어 "포함하는"은 "포함하지만 제한되지 않는"으로 해석되어야 하고, 용어 "구비하는"은 "적어도 구비하는"으로 해석되어야 하며, 용어 "포함한다"는 "포함하며 그러나 제한되지 않는"으로 해석되는 등등)로서 의도된다. 하기의 특허청구범위에서 특정 청구항의 인용을 의도하면, 그러한 의도는 청구항에서 명시적으로 인용될 것이며, 이러한 인용이 없으면 그러한 의도가 없는 것으로 당업자들에 의해 더 이해될 것이다. 예를 들면, 이해를 돕기 위한 것으로서, 하기의 특허청구범위에서는, 청구항의 인용관계를 도입하기 위해, 도입부에 "적어도 하나" 및 "하나 이상의"의 사용을 포함할 수도 있다. 그러나, 이러한 구들의 사용은, 부정 관사 "a(본 번역문에서는 특별히 번역하지 않음)" 또는 "an(본 번역문에서는 특별히 번역하지 않음)"에 의한 청구항의 인용 관계의 도입이, 이렇게 도입된 청구항 인용관계를 포함하는 임의의 특정 청구항을, 그 동일한 청구항이 도입구 "하나 이상의" 또는 "적어도 하나" 및 "a" 또는 "an"(예를 들면, "a" 및/또는 "an"은 "적어도 하나" 또는 "하나 이상"으로 해석되어야 한다)과 같은 부정 관사들을 포함하는 경우에도, 단지 하나의 인용항을 포함하는 구체예들로 제한한다는 것을 의미하는 것으로 이해되어선 안되며; 청구항 인용관계를 도입하기 위해 정관사를 사용하는 경우에도 마찬가지이다.
또한, 특정 인용항이 명시적으로 인용되어도, 당업자들은 이러한 인용은 통상적으로 적어도 인용된 번호를 의미하는 것으로 해석되어야 한다는 것을 이해할 것이다 (예를 들어, 다른 수정자들이 없는 "두 인용항들"의 순수한 인용은 통상적으로 적어도 2 개의 인용항들 또는 2 개 이상의 인용항들을 의미한다). 또한, 특정 인용항이 명시적으로 인용되어도, 당업자들은 이러한 인용은 통상적으로 적어도 인용된 번호를 의미하는 것으로 해석되어야 한다는 것을 이해할 것이다 (예를 들어, 다른 수정자들이 없는 "두 인용항들"의 순수한 인용은 통상적으로 적어도 2 개의 인용항들 또는 2 개 이상의 인용항들을 의미한다). 또한, "A, B, 및 C 등 중 적어도 하나" 와 통상 유사한 것들이 이용되는 이러한 예들에서, 일반적으로 그러한 구성은 지식을 지닌 당업자는 종래의 것을 이해할 것이다 (예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템" 은 A 만 단독으로, B 만 단독으로, C 만 단독으로, A 와 B 를 함께, A 와 C 를 함께, B 와 C 를 함께, 및/또는 A, B 와 C 를 함께 갖는 등의 시스템을 포함하나, 이로 제한되지는 않을 것이다). 또한, "A, B, 또는 C 등 중 적어도 하나" 와 통상 유사한 것들이 이용되는 이러한 예들에서, 일반적으로 그러한 구성은 지식을 지닌 당업자는 종래의 것을 이해할 것이다 (예를 들어, "A, B, 또는 C 중 적어도 하나를 갖는 시스템" 은 A 만 단독으로, B 만 단독으로, C 만 단독으로, A 와 B 를 함께, A 와 C 를 함께, B 와 C 를 함께, 및/또는 A, B 와 C 를 함께 갖는 등의 시스템을 포함하나, 이로 제한되지는 않을 것이다). 상세한 설명, 청구항들, 또는 도면들 어디에서든, 2 개 이상의 대안적인 용어들을 나타내는 사실상 임의의 이접 단어 및/또는 구는 용어들 중 하나, 용어들 중 어느 일방, 또는 용어들 양자 모두를 포함하는 가능성들을 고려한다는 것이 이해되어야 한다는 것이 당업자들에 의해 또한 이해될 것이다. 예를 들어, 구 "A 또는 B" 는 "A" 나 "B", 또는 "A 및 B" 의 가능성들을 포함하는 것으로 이해될 것이다.
많은 양태들 및 실시형태들이 여기에 설명되어 있지만, 다른 양태들 및 실시형태들이 당업자에게는 명백할 것이다. 여기에 설명된 여러 양태들 및 실시형태들은 설명의 목적을 위한 것이지 제한하기 위한 것이 아니다.

Claims (32)

  1. 멀티터치 제스쳐들을 인식하도록 구성되는 시스템으로서,
    터치 패널;
    상기 터치 패널 상에서 제 1 터치 이벤트 및 제 2 터치 이벤트를 캡쳐하도록 구성되는 터치 검출 모듈; 및
    상기 제 2 터치 이벤트가 상기 제 1 터치 이벤트로부터 미리 정의된 바운더리 영역 내에 있는지를 결정하고, 터치 이벤트가 미리 정의된 바운더리 영역의 외부에 있다면 상기 터치 이벤트를 폐기하도록 구성되는 프로세싱 모듈을 포함하고,
    상기 프로세싱 모듈은 또한, 상기 터치 이벤트의 포지션에 기초하여 상기 미리 정의된 바운더리 내의 터치 이벤트의 포지션을 추적하고 상기 터치 이벤트의 상기 포지션에 기초하여 미리 정해진 오브젝트 드래그 프로세스를 활성화하도록 구성되는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  2. 제 1 항에 있어서,
    상기 시스템은 모바일 폰, 컴퓨터, 또는 디지털 이미징 디바이스에서 구현되는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  3. 제 1 항에 있어서,
    상기 프로세싱 모듈은 터치 스크린 제어기를 갖는 터치 스크린 서브시스템을 포함하는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  4. 제 1 항에 있어서,
    상기 터치 패널은 저항성, 표면형 정전용량성, 투영형 정전용량성, 적외선, 표면 음향파, 스트레인 게이지, 광학 이미징, 또는 분산 신호 터치 스크린 기술들 중 하나를 포함하는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  5. 제 1 항에 있어서,
    제 1 터치는 단일의 손의 제 1 손가락에 의해 행해지고, 제 2 터치는 상기 단일의 손의 제 2 손가락에 의해 행해지는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  6. 제 5 항에 있어서,
    공간적 관계는 상기 제 1 손가락과 상기 제 2 손가락 사이의 유클리드 거리 및 각도에 적어도 부분적으로 기초하는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  7. 제 1 항에 있어서,
    상기 제 2 터치 이벤트는 기하학적 형상을 포함하는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  8. 제 1 항에 있어서,
    드래그 영역은 상기 터치 패널보다 작은 영역을 점유하는, 멀티터치 제스쳐들을 인식하도록 구성되는 시스템.
  9. 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법으로서,
    제 1 위치에서 제 1 터치 이벤트를 검출하는 단계;
    상기 제 1 위치에 적어도 부분적으로 기초하여 터치 스크린 디스플레이 상의 베이스 영역을 정의하는 단계;
    상기 베이스 영역에 관련된 미리 정해진 기하학적 바운더리에 적어도 부분적으로 기초하여 상기 터치 패널의 드래그 영역을 결정하는 단계;
    상기 터치 패널 상의 후속하는 터치 프로세싱을 상기 드래그 영역으로 일시적으로 제한하는 단계; 및
    상기 드래그 영역 내에서 제 2 터치 이벤트를 검출하는 단계를 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  10. 제 9 항에 있어서,
    제 1 터치는 손의 제 1 손가락에 의해 행해지고, 제 2 터치는 상기 손의 제 2 손가락에 의해 행해지며, 상기 드래그 영역을 결정하는 단계는 상기 제 1 손가락과 상기 제 2 손가락 사이의 유클리드 거리 및 각도를 추정하는 단계를 더 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  11. 제 9 항에 있어서,
    상기 터치 패널 상의 후속하는 터치 프로세싱을 상기 드래그 영역으로 일시적으로 제한하는 단계는 상기 드래그 영역의 외부에 위치된 터치 이벤트들을 폐기하는 단계를 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  12. 제 9 항에 있어서,
    상기 제 2 터치 이벤트의 기하학적 형상을 결정하는 단계를 더 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  13. 제 12 항에 있어서,
    기능을 상기 기하학적 형상과 연관시키는 단계를 더 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  14. 제 12 항에 있어서,
    상기 드래그 영역 내에서 제 3 터치 이벤트를 검출하고, 상기 제 3 터치 이벤트의 추가적인 기하학적 형상을 결정하고, 기능을 상기 기하학적 형상 및 상기 추가적인 기하학적 형상의 조합과 연관시키는 단계를 더 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  15. 제 9 항에 있어서,
    상기 미리 정해진 기하학적 바운더리로부터 영구적인 드래그 영역을 확립하고, 미리 정의된 세션의 유지 기간 동안에 모든 후속하는 터치 프로세싱을 상기 영구적인 드래그 영역으로 제한하는 단계를 더 포함하는, 터치 패널이 장착된 컴퓨팅 디바이스 상에서 멀티터치 인식 기능을 구현하는 방법.
  16. 코드를 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 코드는 실행될 때 프로세서로 하여금,
    제 1 터치 이벤트를 검출하고;
    상기 제 1 터치 이벤트로부터 터치스크린 디스플레이의 베이스 영역을 정의하고;
    상기 터치스크린 디스플레이의 드래그 영역을 결정하는 것으로서, 상기 드래그 영역은 상기 베이스 영역에 관련하여 미리 정해진 기하학적 바운더리 내에서 정의되는, 상기 드래그 영역을 결정하고;
    터치스크린 상의 후속하는 터치 프로세싱을 상기 드래그 영역으로 일시적으로 제한하고; 그리고
    상기 드래그 영역 내에서 제 2 터치 이벤트를 검출하는 방법을 수행하게 하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  17. 제 16 항에 있어서,
    제 1 터치는 손의 제 1 손가락에 의해 행해지고, 제 2 터치는 상기 손의 제 2 손가락에 의해 행해지며, 상기 드래그 영역을 결정하는 것은 상기 제 1 손가락과 상기 제 2 손가락 사이의 유클리드 거리 및 각도를 추정하는 것을 더 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  18. 제 16 항에 있어서,
    상기 터치 패널 상의 후속하는 터치 프로세싱을 상기 드래그 영역으로 일시적으로 제한하는 것은 상기 드래그 영역의 외부에 위치된 터치 이벤트들을 폐기하는 것을 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  19. 제 16 항에 있어서,
    상기 제 2 터치 이벤트의 기하학적 형상을 결정하는 것을 더 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  20. 제 19 항에 있어서,
    기능을 상기 기하학적 형상과 연관시키는 것을 더 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  21. 제 19 항에 있어서,
    상기 드래그 영역 내에서 제 3 터치 이벤트를 검출하고, 상기 제 3 터치 이벤트의 추가적인 기하학적 형상을 결정하고, 기능을 상기 기하학적 형상 및 상기 추가적인 기하학적 형상의 조합과 연관시키는 것을 더 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  22. 제 16 항에 있어서,
    상기 미리 정해진 기하학적 바운더리로부터 영구적인 드래그 영역을 확립하고, 미리 정의된 세션의 유지 기간 동안에 모든 후속하는 터치 프로세싱을 상기 영구적인 드래그 영역으로 제한하는 것을 더 포함하는, 코드를 포함하는 비일시적 컴퓨터 판독가능 매체.
  23. 멀티터치 인식을 위한 장치로서,
    제 1 터치 이벤트 및 제 2 터치 이벤트를 포함하는 터치 데이터를 수신하는 수단;
    상기 제 1 터치 이벤트의 제 1 위치와 상기 제 2 터치 이벤트의 제 2 위치 사이의 공간적 관계를 계산하고, 상기 제 1 위치에 대한 기하학적 바운더리를 갖는 드래그 영역을 확립하는 수단; 및
    후속하는 터치 프로세싱을 상기 드래그 영역으로 제한하는 수단을 포함하는, 멀티터치 인식을 위한 장치.
  24. 제 23 항에 있어서,
    제 1 터치는 단일의 손의 제 1 손가락에 의해 행해지고, 제 2 터치는 상기 단일의 손의 제 2 손가락에 의해 행해지는, 멀티터치 인식을 위한 장치.
  25. 제 24 항에 있어서,
    상기 공간적 관계는 상기 제 1 손가락과 상기 제 2 손가락 사이의 유클리드 거리 및 각도에 적어도 부분적으로 기초하는, 멀티터치 인식을 위한 장치.
  26. 제 23 항에 있어서,
    상기 터치 데이터를 수신하는 수단은 터치 패널을 포함하는, 멀티터치 인식을 위한 장치.
  27. 제 26 항에 있어서,
    상기 터치 패널은 저항성, 표면형 정전용량성, 투영형 정전용량성, 적외선, 표면 음향파, 스트레인 게이지, 광학 이미징, 또는 분산 신호 터치 스크린 기술들 중 하나를 포함하는, 멀티터치 인식을 위한 장치.
  28. 제 23 항에 있어서,
    상기 공간적 관계를 계산하는 수단은 터치 스크린 제어기를 갖는 터치 스크린 서브시스템을 포함하는, 멀티터치 인식을 위한 장치.
  29. 제 23 항에 있어서,
    상기 후속하는 터치 프로세싱을 상기 드래그 영역으로 제한하는 수단은 터치 스크린 제어기를 갖는 터치 스크린 서브시스템을 포함하는, 멀티터치 인식을 위한 장치.
  30. 제 23 항에 있어서,
    제 2 터치의 기하학적 형상을 결정하는 수단을 더 포함하는, 멀티터치 인식을 위한 장치.
  31. 제 30 항에 있어서,
    상기 제 2 터치의 기하학적 형상을 결정하는 수단은 터치 스크린 제어기를 갖는 터치 스크린 서브시스템을 포함하는, 멀티터치 인식을 위한 장치.
  32. 제 30 항에 있어서,
    기능을 상기 기하학적 형상과 연관시키는 수단을 더 포함하는, 멀티터치 인식을 위한 장치.
KR1020157017398A 2012-12-06 2013-10-24 멀티터치 심볼 인식 KR20150091365A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/707,206 US20140160054A1 (en) 2012-12-06 2012-12-06 Anchor-drag touch symbol recognition
US13/707,206 2012-12-06
PCT/US2013/066615 WO2014088722A1 (en) 2012-12-06 2013-10-24 Multi-touch symbol recognition

Publications (1)

Publication Number Publication Date
KR20150091365A true KR20150091365A (ko) 2015-08-10

Family

ID=49551793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157017398A KR20150091365A (ko) 2012-12-06 2013-10-24 멀티터치 심볼 인식

Country Status (5)

Country Link
US (1) US20140160054A1 (ko)
EP (1) EP2929423A1 (ko)
KR (1) KR20150091365A (ko)
CN (1) CN104885051A (ko)
WO (1) WO2014088722A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140198059A1 (en) * 2013-01-16 2014-07-17 Research In Motion Limited Electronic device with touch-sensitive display and gesture-detection
US9335922B2 (en) 2013-01-16 2016-05-10 Research In Motion Limited Electronic device including three-dimensional gesture detecting display
US9323380B2 (en) 2013-01-16 2016-04-26 Blackberry Limited Electronic device with touch-sensitive display and three-dimensional gesture-detection
JP6089880B2 (ja) * 2013-03-28 2017-03-08 富士通株式会社 情報処理装置,情報処理方法及び情報処理プログラム
US9606716B2 (en) 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
JP6436752B2 (ja) * 2014-12-04 2018-12-12 キヤノン株式会社 情報処理装置、情報処理装置における情報処理方法、並びにプログラム
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US10530731B1 (en) 2016-03-28 2020-01-07 Snap Inc. Systems and methods for chat with audio and video elements
KR101928550B1 (ko) * 2016-04-21 2018-12-12 주식회사 씨케이머티리얼즈랩 촉각 메시지 제공 방법 및 촉각 메시지 제공 장치
US10684758B2 (en) 2017-02-20 2020-06-16 Microsoft Technology Licensing, Llc Unified system for bimanual interactions
US10558341B2 (en) * 2017-02-20 2020-02-11 Microsoft Technology Licensing, Llc Unified system for bimanual interactions on flexible representations of content
US10928960B1 (en) * 2020-02-21 2021-02-23 Mobilizar Technologies Pvt Ltd System and method to track movement of an interactive figurine on a touch screen interface
CN115793893B (zh) * 2023-02-07 2023-05-19 广州众远智慧科技有限公司 触摸书写笔迹生成方法、装置、电子设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011208A (ja) * 1996-06-24 1998-01-16 Sharp Corp 座標入力装置
KR100469358B1 (ko) * 2002-12-23 2005-02-02 엘지.필립스 엘시디 주식회사 터치 패널의 구동 방법
US20040240739A1 (en) * 2003-05-30 2004-12-02 Lu Chang Pen gesture-based user interface
US20090174679A1 (en) * 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US20100060588A1 (en) * 2008-09-09 2010-03-11 Microsoft Corporation Temporally separate touch input
CN102150115B (zh) * 2009-02-06 2014-06-11 松下电器产业株式会社 图像显示设备
KR101593598B1 (ko) * 2009-04-03 2016-02-12 삼성전자주식회사 휴대단말에서 제스처를 이용한 기능 실행 방법
TWI398807B (zh) * 2009-04-07 2013-06-11 Ite Tech Inc 觸控裝置之定位裝置及其定位方法
TWI449557B (zh) * 2009-05-27 2014-08-21 Johnson Health Tech Co Ltd The man - machine interface method and man - machine interface device of sports equipment
US9046967B2 (en) * 2009-07-02 2015-06-02 Uusi, Llc Vehicle accessory control interface having capactive touch switches
JP5669169B2 (ja) * 2009-07-28 2015-02-12 Necカシオモバイルコミュニケーションズ株式会社 端末装置及びプログラム
TW201109994A (en) * 2009-09-10 2011-03-16 Acer Inc Method for controlling the display of a touch screen, user interface of the touch screen, and electronics using the same
KR101608673B1 (ko) * 2009-10-30 2016-04-05 삼성전자주식회사 터치 락 상태를 가지는 휴대 단말기 및 이의 운용 방법
KR101660842B1 (ko) * 2009-11-05 2016-09-29 삼성전자주식회사 터치 입력 방법 및 그 장치
JP5418187B2 (ja) * 2009-12-02 2014-02-19 ソニー株式会社 接触操作判定装置、接触操作判定方法およびプログラム
WO2011139194A1 (en) * 2010-05-07 2011-11-10 Maquet Critical Care Ab User interface for breathing apparatus
US9235340B2 (en) * 2011-02-18 2016-01-12 Microsoft Technology Licensing, Llc Modal touch input
CN102810023B (zh) * 2011-06-03 2015-09-23 联想(北京)有限公司 识别手势动作的方法及终端设备
KR101863926B1 (ko) * 2011-07-19 2018-06-01 엘지전자 주식회사 이동 단말기 및 그 제어방법
JP2013041350A (ja) * 2011-08-12 2013-02-28 Panasonic Corp タッチテーブルシステム
KR20130083064A (ko) * 2011-12-28 2013-07-22 박도현 컴퓨팅 장치 및 그것의 컨텐츠 제공 방법
KR101898979B1 (ko) * 2012-02-16 2018-09-17 삼성디스플레이 주식회사 터치 패널의 구동 방법, 터치 패널 및 디스플레이 장치
US20140002376A1 (en) * 2012-06-29 2014-01-02 Immersion Corporation Method and apparatus for providing shortcut touch gestures with haptic feedback
US9261989B2 (en) * 2012-09-13 2016-02-16 Google Inc. Interacting with radial menus for touchscreens
US9195368B2 (en) * 2012-09-13 2015-11-24 Google Inc. Providing radial menus with touchscreens

Also Published As

Publication number Publication date
CN104885051A (zh) 2015-09-02
EP2929423A1 (en) 2015-10-14
US20140160054A1 (en) 2014-06-12
WO2014088722A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
KR20150091365A (ko) 멀티터치 심볼 인식
US10275113B2 (en) 3D visualization
EP2676182B1 (en) Tracking input to a multi-touch digitizer system
EP2267589A2 (en) Method and device for recognizing a dual point user input on a touch based user input device
KR101718893B1 (ko) 터치 인터페이스 제공 방법 및 장치
US20130027327A1 (en) Gesture recognition method and touch system incorporating the same
JP2012221072A (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
JP2008052729A (ja) 多接点位置変化感知装置、方法、およびこれを用いたモバイル機器
JP2016529640A (ja) マルチタッチ仮想マウス
WO2013171747A2 (en) Method for identifying palm input to a digitizer
AU2017203910B2 (en) Glove touch detection
JP2013525891A (ja) ユーザのタッチジェスチャを判別する方法及びデバイス
US20120249599A1 (en) Method of identifying a multi-touch scaling gesture and device using the same
US20100238126A1 (en) Pressure-sensitive context menus
US9201587B2 (en) Portable device and operation method thereof
US20120249487A1 (en) Method of identifying a multi-touch shifting gesture and device using the same
JP2017506399A (ja) 改善されたタッチスクリーン精度のためのシステムおよび方法
TW201525849A (zh) 多邊形手勢偵測及互動方法、裝置及電腦程式產品
CN108874284A (zh) 手势触发方法
WO2009119716A1 (ja) 情報処理システム、情報処理装置、方法及びプログラム
US20140298275A1 (en) Method for recognizing input gestures
EP3008556A1 (en) Disambiguation of indirect input
TWI478013B (zh) Click, double click with the drag action identification method and touch device controller
KR20140083300A (ko) 원 포인트 터치를 이용한 사용자 인터페이스 제공 방법 및 이를 위한 장치
KR101468970B1 (ko) 터치 스크린 디스플레이 입력을 통한 객체 스크롤 방법 및 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination