KR20120093322A - 단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법 - Google Patents

단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법 Download PDF

Info

Publication number
KR20120093322A
KR20120093322A KR1020127014268A KR20127014268A KR20120093322A KR 20120093322 A KR20120093322 A KR 20120093322A KR 1020127014268 A KR1020127014268 A KR 1020127014268A KR 20127014268 A KR20127014268 A KR 20127014268A KR 20120093322 A KR20120093322 A KR 20120093322A
Authority
KR
South Korea
Prior art keywords
location
touch event
stored
touch
distance
Prior art date
Application number
KR1020127014268A
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 KR20120093322A publication Critical patent/KR20120093322A/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/0416Control or interface arrangements specially adapted for digitisers
    • 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]
    • 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/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/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

Landscapes

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

Abstract

비-멀티-터치 컴퓨팅 디바이스들의 터치면 상의 멀티-터치 상호작용들을 인지하여 프로세싱함으로써 멀티-터치 기능성을 활성화시키는 방법들이 개시되어 있다. 컴퓨팅 디바이스는 제 1 터치 이벤트의 위치로부터의 점프를 검출하여, 다중 터치 제스처가 트레이싱되고 있는 것으로 결정할 수도 있다. 가상 터치 이벤트들이 검출되고 저장된다. 수식을 이용하여, 초기와 그 이후의 가상 터치 이벤트 위치들에 기초하여 파라미터들이 계산된다. 이들 파라미터들에 기초하여, 주밍 또는 회전 기능과 같은 멀티-터치 기능성이 결정된다. 변환 인자가 결정되어 이미지 디스플레이에 제공될 수도 있다.

Description

단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법{METHODS FOR IMPLEMENTING MULTI-TOUCH GESTURES ON A SINGLE-TOUCH TOUCH SURFACE}
본 발명은 일반적으로 컴퓨팅 시스템들에 대한 사용자 인터페이스 시스템들에 관한 것으로, 더 상세하게는, 터치 감지 사용자 인터페이스 면들을 이용하여 제스처를 행하는 것에 관한 것이다.
컴퓨팅 디바이스들과의 멀티-터치 상호작용들이 최근에 상당한 주목을 받고 있다. 오늘날, 멀티-터치 터치 감지 디바이스들은 개인 휴대 정보 단말기 (PDA) 들 및 랩톱 컴퓨터들과 같은 다수의 휴대용 컴퓨팅 디바이스들에서 발견된다. 이들 터치 감지 디바이스들은, 사용자로 하여금, 디스플레이 이미지를 주밍 (zooming) 하거나 회전시키는 것과 같은 기능들을 수행하도록 멀티-터치 제스처들을 채용하게 한다. 그러나, 현재 이용가능한 멀티-터치 호환성 터치 감지 디바이스들로 인한 다수의 불편들이 존재한다. 예를 들어, 멀티-터치 제스처들을 인지하는 것이 가능한 터치 감지 디바이스들은, 현재 제조하고 구현하는데에 고비용이 드는 특수 기술 및 하드웨어를 필요로 한다. 부가적으로, 이러한 특수 기술은, 대부분의 컴퓨팅 디바이스들에서 이용되는 다수의 현재 이용가능한 터치면 디바이스들과 호환성이 없다. 그 결과, 현재 이용가능한 멀티-터치 기술이 신규하고 고비용이 들기 때문에, 마켓에 이미 나와있는 대부분의 컴퓨팅 디바이스들은 멀티-터치 능력들을 소유하고 있지 않다.
다양한 양태들은, 터치면 상에서 제 1 터치 이벤트를 검출하는 단계, 터치면 상의 제 1 터치 이벤트의 위치를 저장하는 단계, 터치 업 이벤트 (touch-up event) 의 검출 없이, 터치면 상에서 터치 이벤트의 위치에서의 점프를 검출하는 단계, 검출된 점프 이후의 터치 이벤트의 위치를 저장하는 단계, 신규의 터치 이벤트 위치를 획득하는 단계, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계, 및 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법들을 포함한다.
방법들의 다양한 양태들에 있어서, 결정된 그래픽 사용자 인터페이스 기능은, 예를 들어, 변환 기능, 이미지 줌 변환 기능, 및 이미지 회전 변환 기능일 수도 있다. 결정된 그래픽 사용자 인터페이스 기능이 변환 기능인 양태들에 있어서, 그 방법은 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 변환 인자를 결정하는 단계를 더 포함할 수도 있다. 결정된 그래픽 사용자 인터페이스 기능이 이미지 줌 변환 기능인 양태들에 있어서, 그 방법은 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 배율 변환 인자를 결정하는 단계를 더 포함할 수도 있고, 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 결정된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함한다. 결정된 그래픽 사용자 인터페이스 기능이 이미지 회전 변환 기능인 양태들에 있어서, 그 방법은 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 회전 변환 인자를 결정하는 단계를 더 포함할 수도 있고, 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 결정된 회전 변환 인자에 기초하여, 디스플레이된 이미지를 회전시키는 단계를 포함한다.
방법들의 다양한 양태들에 있어서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는 여러가지 방법들로 달성될 수도 있다. 일 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 거리와, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 단계를 포함할 수도 있다. 일 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 라인과, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 단계를 포함할 수도 있다. 추가의 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 거리와, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 단계, 및 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 라인과, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 단계를 포함할 수도 있다. 추가의 양태들에 있어서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 운용 시스템 또는 애플리케이션 프로그래밍 인터페이스 (API) 에 의해 수행될 수도 있다. 추가의 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치 및 검출된 점프 이후의 저장된 터치 이벤트의 위치에 기초하여, 제 2 터치의 터치 위치를 추정하는 단계를 포함할 수도 있다. 추가의 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 제 1 거리를 계산하는 단계, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 제 2 거리를 계산하는 단계, 제 1 거리가 제 2 거리와 상이한지를 결정하는 단계, 제 1 거리와 제 2 거리가 상이한 경우, 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 단계, 및 제 1 거리에 대한 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 단계를 포함할 수도 있고, 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함한다. 추가의 양태에서, 저장된 제 1 터치 이벤트의 위치, 검출된 점프 이후의 저장된 터치 이벤트의 위치, 및 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 저장된 제 1 터치 이벤트의 위치로부터 검출된 점프 이후의 저장된 터치 이벤트의 위치까지의 거리에 기초하여, 저장된 제 1 터치 이벤트의 위치로부터 제 2 터치 위치까지의 제 1 거리를 계산하는 단계, 저장된 제 1 터치 이벤트의 위치로부터 신규의 터치 이벤트 위치까지의 거리에 기초하여, 저장된 제 1 터치 이벤트의 위치로부터 신규의 제 2 터치 위치까지의 제 2 거리를 계산하는 단계, 제 1 거리가 제 2 거리와 상이한지를 결정하는 단계, 제 1 거리와 제 2 거리가 상이한 경우, 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 단계, 및 제 1 거리에 대한 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 단계를 포함할 수도 있고, 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함한다.
추가의 양태에서, 컴퓨팅 디바이스는 프로세서, 그 프로세서에 커플링된 사용자 인터페이스 터치면 디바이스, 그 프로세서에 커플링된 메모리, 및 그 프로세서에 커플링된 디스플레이를 포함하고, 그 프로세서는 다양한 양태의 방법들의 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성된다.
추가의 양태에서, 컴퓨팅 디바이스는 다양한 양태의 방법들의 프로세스 기능들을 달성하는 수단을 포함한다.
추가의 양태에서, 컴퓨터 프로그램 제품은 다양한 양태의 방법들의 프로세스들을 달성하기 위한 적어도 하나의 명령을 저장하고 있는 컴퓨터 판독가능 매체를 포함한다.
여기에 포함되며 본 명세서의 일부를 구성하는 첨부 도면들은 본 발명의 예시적인 양태들을 예시한다. 위에 주어지는 전반적인 설명 및 아래에 주어지는 상세한 설명과 함께, 도면들은 본 발명의 특징들을 설명하도록 기능한다.
도 1 은 비-멀티-터치 터치면 입력 디바이스 상의 멀티-터치 제스처의 프로세싱을 예시한 모바일 디바이스의 정면도이다.
도 2 는 다양한 양태들의 멀티-터치 제스처들을 구현하는 일 예시적인 방법의 프로세스 흐름도이다.
도 3 의 (a) 및 도 3 의 (b) 는 일 양태에 따른 디스플레이 이미지로 줌인하도록 활성화된 핀치 제스처 기능성을 예시한 컴퓨팅 디바이스의 정면도들이다.
도 4 의 (a) 및 도 4 의 (b) 는 일 양태에 따른 디스플레이 이미지를 회전시키도록 활성화된 회전 제스처 기능성을 예시한 컴퓨팅 디바이스의 정면도들이다.
도 5 의 (a) 및 도 5 의 (b) 는 일 양태에 따른 주밍 및 회전 제스처 기능성들을 예시한 컴퓨팅 디바이스의 정면도들이다.
도 6 은 다양한 양태들에 따른 제 1 터치 이벤트 및 평균화된 가상 터치 이벤트들의 좌표에 기초한 계산들 및 멀티-터치 제스처를 예시한 비-멀티-터치면 터치 입력 디바이스의 정면도이다.
도 7 의 (a) 및 도 7 의 (b) 는 일 양태에 따른 핀칭 제스처 (pinching gesture) 를 예시한 비-멀티-터치면 터치 입력 디바이스의 정면도들이다.
도 8 은 일 양태에 따른 회전 제스처를 예시한 비-멀티-터치면 터치 입력 디바이스의 정면도이다.
도 9 는 일 양태에 따라 터치 이벤트 파라미터들 및 제스처 타입들을 기능성들과 링크한 데이터 테이블이다.
도 10 은 일 양태에 따른 게임 애플리케이션에 이용되는 멀티-터치 제스처를 예시한 컴퓨팅 디바이스의 정면도이다.
도 11 은 터치 이벤트들이 어떻게 애플리케이션 소프트웨어에 전달되는지를 나타낸 통상의 모바일 디바이스의 하드웨어/소프트웨어 아키텍처도이다.
도 12 는 제 2 터치 이벤트 위치들을 이용하여 멀티-터치 제스처들을 구현하는 일 양태의 방법의 프로세스 흐름도이다.
도 13 은 가상 터치 이벤트의 위치를 이용하여 멀티-터치 제스처들을 구현하는 일 양태의 방법의 프로세스 흐름도이다.
도 14 는 다양한 양태들에 이용하기에 적합한 일 예시적인 컴퓨팅 디바이스의 컴포넌트 블록도이다.
도 15 는 다양한 양태들에 이용하기에 적합한 일 예시적인 컴퓨터의 회로 블록도이다.
첨부 도면을 참조하여 다양한 양태들을 상세히 기술한다. 가능하다면 어디에서든지, 도면 전체에 걸쳐, 동일하거나 유사한 부분을 지칭하기 위하여 동일 도면 부호를 사용한다. 특정의 예들과 구현들에 대해 이루어지는 참조는 예시적 목적을 위한 것으로, 본 발명의 범위 또는 청구범위를 한정하려는 것은 아니다.
용어 "예시적인" 은 여기서 "예, 실예 또는 예시로서 기능하는" 것을 의미하는 것으로 사용된다. 여기서 "예시적인" 것으로 기술된 어떠한 구현도 다른 구현들보다 바람직하거나 유리한 것으로 반드시 해석되지는 않는다.
여기에 사용되는 바와 같이, "터치스크린" 은 관련 이미지 디스플레이를 가진 터치 센싱 (sensing) 입력 디바이스 또는 터치 감지 (sensitive) 입력 디바이스이다. 여기에 사용되는 바와 같이, "터치패드" 는 관련 이미지 디스플레이가 없는 터치 센싱 입력 디바이스이다. 터치패드는 이미지 디스플레이 영역 외측의 전자 디바이스의 임의의 표면 상에서 구현될 수 있다. 터치스크린들 및 터치패드들은 여기서 총칭하여 "터치면" 이라고 지칭된다. 터치면들은 전자 디바이스의 일체형 부품들, 이를테면 터치스크린 디스플레이일 수도 있거나, 또는 유선 또는 무선 데이터 링크에 의해 전자 디바이스에 커플링될 수 있는 별개의 모듈, 이를테면 터치패드일 수도 있다. 이하에서, 용어들 터치스크린, 터치패드 및 터치면은 상호 대체가능하게 사용될 수도 있다.
여기에 사용되는 바와 같이, 용어들 "개인용 전자 디바이스", "컴퓨팅 디바이스" 및 "휴대용 컴퓨팅 디바이스" 는 셀룰러 전화기들, 개인 휴대 정보 단말기 (PDA) 들, 팜탑 컴퓨터들, 노트북 컴퓨터들, 개인용 컴퓨터들, 무선 전자 메일 수신기들, 셀룰러 전화기 수신기들 (예를 들면, Blackberry® 및 Treo® 디바이스들), 멀티미디어 인터넷 가능 셀룰러 전화기들 (예를 들어, Blackberry Storm®), 및 프로그래밍가능한 프로세서, 메모리, 및 연결된 또는 통합된 터치면 또는 다른 포인팅 디바이스 (예를 들어, 컴퓨터 마우스) 를 포함하는 유사한 전자 디바이스들 중 어느 하나 또는 모두를 지칭한다. 본 발명의 다양한 양태들을 예시하기 위하여 이용되는 일 예에서, 전자 디바이스는 내부 터치스크린 디스플레이를 포함하는 셀룰러 전화기이다. 그러나, 이 양태는 단지 다양한 양태들의 하나의 예시적인 구현으로서 제시되는 것으로, 청구범위에서 언급하는 청구물의 다른 가능한 구현들을 배제하려는 것이 아니다.
여기에 사용되는 바와 같이, "터치 이벤트" 는 터치의 위치 또는 상대적인 위치에 관련한 정보를 포함할 수도 있는, 터치면 상에서의 검출된 사용자 입력을 지칭한다. 예를 들어, 터치스크린 또는 터치패드 사용자 인터페이스 디바이스 상에서, 터치 이벤트는 사용자가 디바이스를 터치하는 것의 검출을 지칭하며 터치되고 있는 디바이스 상에서의 위치에 관련한 정보를 포함할 수도 있다.
현재 이용가능한 멀티-터치 기술은, 특수하고 고비용이 드는 타입의 멀티-터치 가능 터치 감지 디바이스를 채용하는 컴퓨팅 디바이스들 상에서 고유하게 이용가능하다. 오늘날, 멀티-터치 제스처들을 구현하기 위해서는, 사용자들은 그들의 비-멀티-터치 컴퓨팅 디바이스들을 포기하고, 멀티-터치 가능 터치 감지 디바이스가 구비된 신규의 값비싼 컴퓨팅 디바이스들을 구입해야 한다.
다양한 양태의 방법들 및 시스템들은 어떠한 터치 감지 디바이스들 상에서도 멀티-터치 제스처들을 인지하는 사용자 인터페이스 시스템을 제공하여, 비-멀티-터치 감지 디바이스들이 멀티-터치 제스처들을 지원할 수 있게 한다. 다양한 양태들의 방법들이 비-멀티-터치 터치 감지 디바이스들이 구비된 다수의 컴퓨팅 디바이스에서 구현될 수도 있다. 또한, 다양한 양태들이 현재의 비-멀티-터치 컴퓨팅 디바이스들에서 단순한 소프트웨어 업그레이드를 통해 구현될 수도 있다.
현재 이용가능한 비-멀티-터치 디바이스들은 관례적인 멀티-터치 상호작용들을 방해하는 특정 제한들을 갖고 있다. 사용자가 2 개의 손가락을 이용하여 비-멀티-터치 컴퓨팅 디바이스의 표면을 터치하는 경우, 2 개 (또는 그 이상) 의 터치 위치들이 평균화되어 단일 터치 위치를 나타내도록 한다. 그 결과, 모든 멀티-터치 이벤트들이, 평균화된 터치 위치들의 좌표를 갖는 단일-터치 이벤트들로서 해석된다.
도 1 은 2 개의 손가락 (102, 104) 에 의해 터치되고 있는 비-멀티-터치 터치면 (100) 을 예시한 것이다. 이 예시에서, 하나의 손가락 (102) 이 먼저 터치면 (100) 을 P1 에서 터치하고, 후속하여 두번째 손가락 (104) 이 터치면 (100) 을 P2 에서 터치하는 것으로 가정한다. 제 1 터치 위치 (P1) 가 터치면 좌표 (X1, Y1) 에 있고, 제 2 터치 위치 (P2) 가 터치면 좌표 (X2, Y2) 에 있다. 두번째 손가락 (104) 이 터치면 (100) 의 표면을 터치하자마자, 터치면 (100) (예를 들어, 터치면 하드웨어와 그의 드라이버 소프트웨어) 은, 2 개의 실제 터치 위치들 (P1 및 P2) 의 평균을 나타내는, 좌표 (X3, Y3) 에서의 단일 가상 터치 (P3) 를 통보한다. 따라서, 종래의 컴퓨팅 디바이스는 단지 P3 의 좌표를 인지함으로써 멀티-터치 이벤트를 단일-터치 이벤트로서 다루어서, P1 및 P2 에서의 실제 터치들을 위치결정하는 것이 불가능하다. 이러한 거동은 종래의 비-멀티터치 컴퓨팅 디바이스들이 표준 멀티-터치 제스처들을 인지하는 것을 방해하지만, 본 발명의 멀티-터치 제스처들을 가능하게 하는데 이러한 거동이 영향을 줄 수 있다. 상세하게는, 사용자가 첫번째 손가락 (102) 으로 터치하는 경우, 터치면은 제 1 위치 (P1) 를 기록하지만, 사용자가 두번째 손가락 (104) 으로 터치하는 경우, 터치 업 이벤트 (touch-up event) 없이 터치 위치가 갑자기 가상 터치 위치 (P3) 로 점프한다. 다양한 양태들은 이러한 특정 거동을 멀티-터치 이벤트를 나타내는 것으로 인지하고, 알고 있는 제 1 터치 위치 (P1) 및 가상 터치 위치 (P3), 또는 추정된 실제 제 2 터치 위치 (P2) 를 이용하여, 구현되어야 하는 그래픽 사용자 인터페이스 기능을 결정한다.
멀티-터치 그래픽 사용자 인터페이스 기능성들 (예를 들어, 주밍 (zooming) 또는 회전) 을 활성화시키기 위해, 다양한 양태들에 따른 컴퓨팅 디바이스의 프로세서가 프로세서 실행가능 명령들로 프로그래밍되어, 상술된 터치 패턴을 인지하고 그 터치 패턴들을 멀티-터치 제스처들로서 다룰 수도 있게 한다. 다양한 양태들에 의하면, 비-멀티-터치 터치면들 (100) 상에서 2 개의 손가락을 이용하여 멀티-터치 제스처들을 수행하기 위해, 사용자들은 먼저 터치면 (100) 을 하나의 손가락 (102) 으로 터치하고 후속하여 두번째 손가락 (104) 으로 터치할 필요가 있다. 컴퓨팅 디바이스는 제 1 터치 (P1) 의 좌표를 검출하여 저장하고, 평균화된 가상 터치 좌표 (P3) 로의 터치 위치에서의 갑작스런 점프 (예를 들어, 터치 업 이벤트가 없는 갑작스런 움직임) 를 인지하고 가상 터치 (P3) 의 좌표에 기초하여, 제 2 터치 (P2) 의 좌표를 계산하도록 구성될 수도 있다. 다양한 양태들에 따른 멀티-터치 제스처를 수행함에 있어서, 사용자는 첫번째 손가락 (102) 을 본질적으로 고정시켜 터치면 (100) 에 접촉한 상태를 유지하면서 두번째 손가락 (104) 을 이동시켜야 한다. 첫번째 손가락 (102) 을 항상 고정시키는 것은, 컴퓨팅 디바이스로 하여금, P3 에서의 가상 터치의 감지된 포지션에 기초하여 P2 에서의 두번째 손가락의 포지션에서의 변화들을 계산하게 한다. 제 1 터치 위치 (P1) 가 이동하지 않는 것으로 가정함으로써, 컴퓨팅 디바이스는 수행된 멀티-터치 제스처를 식별하여 적절한 멀티-터치 제스처 기능을 구현할 수 있다.
예를 들어, 핀치 제스처를 수행하여 디스플레이 이미지에 줌아웃 (즉, 축소) 기능을 제공하기 위해, 사용자는 먼저 터치면 (100) 을 하나의 손가락 (102) 으로 터치하고 후속하여 두번째 손가락 (104) 으로 짧은 거리 떨어져 터치할 수도 있다. 그래픽 사용자 인터페이스 줌인 기능을 수행하기 위해, 사용자는 첫번째 손가락 (102) 을 고정시키고, 첫번째와 두번째 손가락들 (102, 104) 사이의 거리를 증가시키는 핀칭 제스처로 두번째 손가락 (104) 을 첫번째 손가락 (102) 으로부터 멀리 이동시킬 수도 있다. 이와 유사하게, 회전 기능을 수행하기 위해, 사용자는 첫번째 손가락 (102) 을 고정시키고 두번째 손가락 (104) 을 원의 원주를 따르도록 이동시킬 수도 있고, 그 중심은 P1 에서의 첫번째 손가락 (102) 의 위치에 의해 정의된다. 두번째 손가락 (104) 을 첫번째 손가락 (102) 에 대해 시계 방향으로 아치형으로 이동시키는 것은, 컴퓨팅 디바이스가 디스플레이 이미지를 시계 방향으로 회전시키도록 구현한 멀티-터치 제스처로서 해석될 수도 있다. 이와 유사하게, 두번째 손가락 (104) 을 반시계 방향으로 이동시키는 것은, 컴퓨팅 디바이스로 하여금 디스플레이 이미지를 반시계 방향으로 회전시키도록 할 수도 있다.
다양한 양태의 방법들은 비-멀티-터치 컴퓨팅 디바이스들에 제시된 기술적 한계들을 극복하여 비-멀티-터치 컴퓨팅 디바이스들이 멀티-터치 제스처들을 그래픽 사용자 인터페이스 커맨드들로서 인지하고 프로세싱할 수 있게 한다. 따라서, 도 2 에 예시된 방법 (200) 을 구현함으로써 터치면 (100) 이 구비된 모든 컴퓨팅 디바이스들 상에서 다양한 양태의 방법들이 구현될 수도 있다. 방법 (200) 의 블록 201 에서, 컴퓨팅 디바이스들은 첫번째 손가락 (102) 에 의한 제 1 터치를 검출하여 제 1 터치 위치의 좌표를 메모리에 저장할 수도 있다. 블록 202 에서, 컴퓨팅 디바이스들은 두번째 손가락 (104) 이 터치면 (100) 을 터치하는 경우 가상 터치 위치를 검출할 수도 있고, 결정 블록 203 에서 터치면 터치 위치들이 제 1 터치 이벤트의 위치로부터 가상 터치 이벤트의 위치로 (즉, P1 로부터 P3 으로) 갑자기 점프한 것으로 결정할 수도 있다. 컴퓨팅 디바이스들은 터치 이벤트 위치들에서의 점프의 파라미터들에 기초하여 멀티-터치 기능성을 활성화시키도록 구성될 수도 있다. 제 1 터치 이벤트와 가상 터치 이벤트 사이의 거리에 기초하여 점프의 거리가 계산될 수도 있다. 점프의 거리를 계산하는데 이용될 수도 있는 수식이 도 6 과 관련하여 상세히 후술된다. 터치면 상의 손가락의 일반적 트레이싱 (tracing) 을 구별하기 위해, 컴퓨팅 디바이스는 결정 블록 203 에서 터치 이벤트 위치들에서의 계산된 점프 거리가 미리 결정된 임계 거리 "X" 보다 큰지 여부를 결정할 수도 있다. 순간 점프의 거리가 임계 거리보다 작은 경우 (즉, 결정 블록 203 = "아니오"), 멀티-터치 제스처 기능성이 이용되지 않고, 터치 이벤트의 정규의 그래픽 사용자 인터페이스 프로세싱이 구현될 수도 있다. 순간 점프의 거리가 임계 거리 이상인 경우 (즉, 결정 블록 203 = "예"), 컴퓨팅 디바이스는 멀티-터치 기능성을 활성화시키고 블록 204 에서 가상 터치 위치 (P3) 를 메모리에 저장할 수도 있다.
터치 위치의 포지션에서의 갑작스런 점프에 기초하여 멀티-터치 이벤트를 검출하는 것은, 구현될 수도 있는 단지 하나의 예시적인 방법이다. 또 다른 양태에서, 컴퓨팅 디바이스는 터치된 표면적의 총량, 터치면 내의 2 개의 상이한 구역들에서의 터치 위치들, 터치면에 의해 측정된 총 커패시턴스 또는 저항, 또는 터치면에 이용가능할 수도 있는 다른 메커니즘 또는 측정값과 같은, 다른 측정가능한 파라미터들에 기초하여 터치면 상의 2 개의 손가락 터치들의 존재를 검출하도록 구성될 수도 있다. 멀티-터치 이벤트를 검출하기 위한 이러한 대안적인 메커니즘이 도 2 의 결정 블록 203 을 대신할 수도 있다.
사용자가 두번째 손가락 (104) 을 터치면 상에서 이동시키는 경우, 평균화된 가상 터치 위치 (P3) 의 좌표가 그에 따라 변경된다. 블록 206 에서, 컴퓨팅 디바이스는 다음의 신규 가상 터치 위치를 (즉, 다음의 터치면 리프레시에서) 획득하고, 블록 208 에서 신규의 가상 터치 위치를 저장된 P3 좌표와 비교하도록 구성될 수도 있다. 블록 210 에서, 컴퓨팅 디바이스는 저장된 가상 터치 좌표로부터 현재 터치 이벤트의 위치에서의 변화를 계산할 수도 있고, 블록 212 에서, 수행되어야 하는 적절한 그래픽 사용자 인터페이스 기능을 결정할 수도 있다. 예를 들어, 그래픽 사용자 인터페이스 기능은, 결정된 변환 인자에 의해, 디스플레이된 이미지를 변환하는 기능일 수도 있다. 제공될 수도 있는 그래픽 사용자 인터페이스 변환 기능들의 예로는, 결정된 양만큼 이미지를 줌인 (즉, 확대) 시키는 것, 결정된 양만큼 이미지를 줌아웃 (즉, 축소) 시키는 것, 결정된 도수만큼 시계 방향 또는 반시계 방향으로 회전시키는 것, 및 결정된 양만큼 좌측, 우측, 상측 또는 하측을 스캔하는 것을 포함한다. 블록 214 에서, 컴퓨팅 디바이스는 그 후에, 블록 214 에서, 디스플레이된 이미지를 변환하는 것 또는 사용자 입력을 오픈 애플리케이션에 제공하는 것과 같은, 결정된 그래픽 사용자 인터페이스 기능을 제공할 수도 있다. 결정된 그래픽 사용자 인터페이스 기능은 애플리케이션에 따라 변화할 수도 있다. 예를 들어, 동일한 멀티-터치 제스처는, 맵 애플리케이션에서 이미지를 줌아웃하고 게임 애플리케이션에서 가상 차량의 가속을 야기하는 그래픽 사용자 인터페이스 기능에 관련될 수도 있다.
다양한 양태들의 컴퓨팅 디바이스들은 상이한 타입의 멀티-터치 제스처들을 그래픽 사용자 인터페이스 기능들로서 인지하여 프로세싱하도록 구성될 수도 있다. 2 개의 공통적으로 이용되는 그래픽 사용자 인터페이스 멀티-터치 제스처들은 핀치 제스처 및 회전 제스처를 포함한다. 핀치 제스처는 사용자들로 하여금 이미지, 파일 또는 애플리케이션을 줌인하거나 줌아웃할 수 있게 하는 그래픽 사용자 인터페이스 주밍 기능과 연관될 수도 있다. 회전 제스처는 사용자들로 하여금 이미지들을 시계 방향 또는 반시계 방향으로 회전할 수 있게 하거나, 또는 게임 애플리케이션들에 의해 이해될 수도 있는 바와 같은 회전 사용자 입력으로 회전할 수 있게 하는 그래픽 사용자 인터페이스 회전 기능과 연관될 수도 있다.
일부 양태에 있어서, 멀티-터치 제스처들과 혼동될 수도 있는 사용자 인터페이스 제스처들을 채용하는 애플리케이션에 의해 멀티-터치 제스처 기능성들이 자동적으로 디스에이블될 수도 있다. 추가의 양태에 있어서, 사용자는 사용자 입력 (예를 들어, 가상 버튼 및 구성 메뉴의 활성화) 에 기초하여 디바이스 사용자 설정들의 일부로서 멀티-터치 제스처 기능성들을 활성화 및 비활성화시키는 것이 가능할 수도 있다.
일부 양태에 있어서, 멀티-터치 제스처들이 수동으로 인에이블될 수도 있다. 멀티-터치 제스처들을 애플리케이션에서 수동으로 인에이블시키거나 활성화시키기 위해, 사용자는 버튼을 누름으로써 또는 GUI 디스플레이 상의 아이콘을 활성화시킴으로써 멀티-터치 제스처를 선택하여 활성화시킬 수도 있다. 예를 들어, 사용자가 멀티-터치 제스처 기능성들을 개시하도록 (예를 들어, 누르거나 클릭함으로써) 활성화시킬 수도 있는 소프트 키에 인덱스 동작이 할당될 수도 있다. 또 다른 예로서, 사용자 커맨드에 의해 멀티-터치 제스처 기능성이 활성화될 수도 있다. 예를 들어, 사용자는 "인덱스를 활성화시키시오" 와 같은 음성 커맨드를 이용하여 멀티-터치 제스처 기능성들을 인에이블시킬 수도 있다. 일단 활성화되었으면, 멀티-터치 제스처 기능성들이 여기에 기술된 방식으로 이용될 수도 있다.
멀티-터치 제스처 기능성들이 어떠한 터치면 (100) 상에서도 구현될 수도 있다. 멀티-터치 제스처들을 이용하여 조작될 수 있는 디스플레이 이미지를 터치스크린들이 제시할 수 있다는 것을 가정하면, 터치스크린 디스플레이가 특히 유용한 구현이다. 이러한 애플리케이션들에 있어서, 사용자는 2 개의 손가락으로 터치스크린 디스플레이를 터치함으로써 이미지와 상호작용할 수 있다.
멀티-터치 제스처 (즉, 터치면 상의 2 개의 손가락의 터치) 가 검출되는 경우, 링크된 그래픽 사용자 인터페이스 기능 또는 제스처 기능이 활성화될 수도 있다. 멀티-터치 제스처들에 링크되거나 멀티-터치 제스처들과 연관된 그래픽 사용자 인터페이스 기능들이 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 확립될 수도 있고, 애플리케이션에 의해 정의될 수도 있고/있거나, 사용자 선호도 설정들에 의해 설정될 수도 있다. 이러한 멀티-터치 제스처 그래픽 사용자 인터페이스 기능들의 일부 예로는 여기에 기술된 바와 같이 디스플레이 이미지들을 주밍하거나 회전하는 것을 포함할 수도 있다. 예를 들어, 링크된 기능이 주밍 기능으로 정의되는 경우, 컴퓨팅 디바이스 프로세서는, 요청된 파라미터들을 만족시키는 핀치 제스처를 트레이싱하는 사용자에 응답하여, 디스플레이 이미지에 대해 줌인하거나 또는 디스플레이 이미지를 줌아웃할 수도 있다.
도 3 의 (a) 는 사용자가 컴퓨팅 디바이스 (300) 의 터치면 (100) 상에서 핀칭 아웃 제스처를 수행함에 따른 줌인 기능성을 예시한 것이다. 멀티-터치 제스처를 개시하기 위해, 사용자는 첫번째 손가락 (102) 으로 터치면 (100) 을 터치하고 후속하여 짧은 시간 후에 두번째 손가락 (104) 으로 터치할 수도 있다. 디스플레이 (306) 에서의 이미지에 대해 줌인하는 핀칭 아웃 제스처를 트레이싱하기 위해, 사용자는 첫번째 손가락 (102) 을 고정시키고 두번째 손가락 (104) 을 (점선 및 화살표 302 로 예시된 바와 같이) 첫번째 손가락 (102) 으로부터 멀리 이동시킨다. 이러한 점선 및 화살표 302 는, 핀칭 아웃 제스처를 트레이싱하도록 두번째 손가락 (104) 이 이동할 수도 있는 방향을 도시하기 위한 예시적 목적을 위한 것이고, 이 양태에 따른 디스플레이 상에는 나타나지 않는다.
도 3 의 (b) 는 컴퓨팅 디바이스 (300) 가 이러한 멀티-터치 제스처를 줌인 기능으로서 해석하고 디스플레이 이미지를 확대시킴으로써 줌인 기능을 디스플레이 이미지에 제공하는 핀칭 아웃 제스처를 사용자가 완료한 후의 컴퓨팅 디바이스 (300) 를 예시한 것이다.
도 4 의 (a) 는 회전 기능성 멀티-터치 제스처를 예시한 것이다. 다양한 양태들에 의하면, 멀티-터치 제스처를 개시하기 위해, 사용자는 터치면 (100) 을 첫번째 손가락 (102) 으로 터치하고 후속하여 짧은 시간 후에 두번째 손가락 (104) 으로 터치할 수도 있다. 사용자가 첫번째 손가락 (102) 을 고정시키고 두번째 손가락 (104) 을 시계 방향으로 회전시켜 디스플레이 이미지를 시계 방향으로 회전시킬 수도 있다. 점선으로 된 곡선 및 화살표 402 는 두번째 손가락 (104) 이 회전할 수도 있는 방향을 도시한 것이다. 컴퓨팅 디바이스 (300) 는 제스처를 회전 제스처로서 인지하여, 도 4 의 (b) 에 예시된 바와 같이, 디스플레이 이미지를 시계 방향으로 회전시킬 수도 있다.
도 5 의 (a) 및 도 5 의 (b) 에 예시된 바와 같이, 컴퓨팅 디바이스 (300) 는 일 양태에 따라 2 개 이상의 제스처를 동시에 인지하여 프로세싱하도록 구성될 수도 있다. 예를 들어, 사용자는 첫번째 손가락 (102) 을 터치면 (100) 상에 고정시키는 것, 두번째 손가락 (104) 을 첫번째 손가락 (102) 으로부터 멀리 점선 및 화살표 302 의 방향으로 이동시키는 것, 그리고 두번째 손가락 (104) 을 시계 방향으로 점선으로 된 곡선 및 화살표 402 의 방향으로 회전시키는 것에 의해 핀치 제스처 및 회전 제스처 양쪽 모두를 트레이싱하기 위해 그의 손가락들을 이용할 수도 있다. 점선 및 화살표 302, 및 점선으로 된 곡선 및 화살표 402 는, 예시적 목적을 위해 단지 도시한 것이고 이 양태에 따른 디스플레이의 일부가 아니다. 컴퓨팅 디바이스 (300) 는 이들 제스처들을 인지하고 디스플레이된 이미지로 줌인하면서 이미지를 시계 방향으로 회전하도록 구성될 수도 있다.
컴퓨팅 디바이스들 (300) 은 다양한 양태들의 멀티-터치 제스처들을 인지하여 프로세싱하기 위해 특정 수학적 계산들을 수행하도록 구성될 수도 있다. 컴퓨팅 디바이스들 (300) 의 터치면들 (100) 상에서 사용자에 의해 수행됨에 따른 상이한 멀티-터치 제스처들의 적절한 그래픽 사용자 인터페이스 효과들을 결정함에 있어서 상이한 수식이 이용될 수도 있다. 예시적인 수식이 도 6 및 도 7 과 관련하여 후술된다.
컴퓨팅 디바이스가 비-멀티-터치면 상의 멀티-터치 제스처를 갖는 경우 실행될 수도 있는 일부 계산이 도 6 에 예시되어 있다. 상술된 바와 같이, 사용자가 터치면 (100) 을 터치하는 경우, 컴퓨팅 디바이스 (300) 는 제 1 터치 이벤트 (P1) 를 검출하여 제 1 터치의 좌표 (X, Y) 를 메모리에 저장할 수도 있다. 사용자가 터치면을 재차 (좌표 X2, Y2 를 갖는) 포인트 (P2) 에서 터치하는 경우, 컴퓨팅 디바이스 (300) 는 터치면들이 (좌표 X3, Y3 을 갖는) 단일 포인트 (P3) 에서 터치되는 것으로 검출한다.
컴퓨팅 디바이스 (300) 는 P1 과 P3 좌표를 이용하여 P2 의 실제 좌표, 및 P1 과 P2 사이의 거리 (즉, 거리 d), 또는 P1 과 P3 사이의 거리 (즉, 거리 c) 를 계산하도록 구성될 수도 있다. P1 (X1, Y1) 과 P3 (X3, Y3) 의 알려져 있는 좌표를 이용하여 P2 의 위치를 결정하는데 다음의 수식이 이용될 수도 있다:
식 1:
Figure pct00001
또한, P1 과 P3 좌표 (즉, (X1, Y1) 과 (X3, Y3)) 를 이용하여, 컴퓨팅 디바이스 (300) 는 각각의 터치 위치 P1 과 P3 사이의 거리 (즉, 거리 c), 및 P1 과 P2 사이의 거리 (즉, 거리 d) 를 계산할 수도 있다. 거리 c 를 계산하는데 다음의 수식이 이용될 수도 있다:
식 2:
Figure pct00002
여기서,
Figure pct00003
이고
Figure pct00004
이어서,
Figure pct00005
를 도출할 수 있다.
다음의 수식을 이용하여 거리 d 가 계산될 수도 있다:
식 3:
d = 2c
다음의 수식을 이용함으로써, P1 과 P3 좌표를 이용하여 계산될 수도 있는 또 다른 파라미터는 각도 θ1 이다:
식 4:
Figure pct00006
여기서
Figure pct00007
이고
Figure pct00008
이어서,
Figure pct00009
을 도출할 수 있다.
이들 수식에 기초하여 계산된 파라미터들이, 멀티-터치 제스처에 의해 나타낸 그래픽 사용자 인터페이스 기능 뿐만 아니라, 그 기능에 제공하는 크기 (예를 들어, 줌 인자) 를 결정하기 위해 이용될 수도 있다. 예를 들어, 현재 애플리케이션 및 디스플레이되는 매체의 성질에 따라, P1 과 P3 사이의 거리가 증가하는 경우 (즉, c 의 길이가 증가하는 경우), 이것은 디스플레이된 이미지에 대해 줌인하기 위해 핀칭 제스처가 트레이싱되고 있다는 것을 나타낼 수도 있다. P3 의 좌표가 첫번째 손가락 (102) 에 대한 두번째 손가락 (104) 의 반시계 방향 움직임과 일치하는 경우, 이것은 디스플레이 이미지를 반시계 방향으로 회전시키기 위해 회전 제스처가 트레이싱되고 있다는 것을 나타낼 수도 있다.
도 7 의 (a) 및 도 7 의 (b) 는 터치면 (100) 을 이용하여 멀티-터치 핀칭 제스처를 검출하는 일 양태의 방법을 예시한 것이다. 도 7 의 (a) 에 예시된 바와 같이, 사용자가 터치면을 재차 (X2, Y2 좌표를 가진) 포인트 (P2) 에서 터치하는 경우, 컴퓨팅 디바이스 (300) 는 터치면들이 (X3, Y3 좌표를 가진) 단일 포인트 (P3) 에서 터치되는 것으로 검출한다. 상술한 식 1 내지 식 4 를 이용하여, 컴퓨팅 디바이스 (300) 는 P2 터치의 좌표를 결정하고 제 1 터치 위치 (P1) 로부터의 거리 d, 및 제 1 터치 위치 (P1) 로부터 통보된 가상 터치 위치 (P3) 까지의 거리 c 를 계산할 수도 있다. 사용자는 두번째 손가락 (104) 을 점선 및 화살표 502 의 방향으로, 첫번째 손가락 (104) 으로부터 멀리 터치면 (100) 상의 신규 위치로 이동시킴으로써 트레이싱할 수도 있다.
컴퓨팅 디바이스 (300) 는, 도 7 의 (b) 에 예시된 바와 같이, 터치면이 가상 터치 위치 (P3') 에서 터치되고 있는 것으로 검출한다. 신규의 P3' 좌표를 이용하여, 컴퓨팅 디바이스는 두번째 손가락 터치의 위치 (P2') 를 결정할 수도 있고, P1 과 P3' 사이의 거리 (즉, c'), 또는 P1 과 P2' 사이의 거리 (즉, d') 를 계산할 수도 있다.
컴퓨팅 디바이스 (300) 는 메모리에 저장된 P1 과 터치면에 의해 나타낸 P3 사이의 거리 (즉, c 에서 c' 까지의 거리), 또는 P1 과 P2 사이의 거리 (즉, d 에서 d' 까지의 거리) 에서 변화가 있었는지 여부를 결정함으로써 사용자가 핀칭 제스처를 트레이싱한 것으로 결정할 수도 있다. P1 와 P3 사이의 거리가 증가한 경우 (즉, c' > c), 컴퓨팅 디바이스 (300) 는 사용자가 핀칭 아웃 제스처를 트레이싱하고 있는 것으로 결정할 수도 있다. 그러나, P1 와 P3 사이의 거리가 감소한 경우 (즉, c' < c), 컴퓨팅 디바이스 (300) 는 사용자가 핀칭 인 제스처를 트레이싱하고 있는 것으로 결정할 수도 있다. 컴퓨팅 디바이스 (300) 는 수식 5 를 이용하여, c 와 c' 사이의 차이를 계산함으로써 이러한 결정을 행할 수도 있다.
이와 유사하게, 메모리에 저장된 P1 과 현재 P3 에 기초하여 계산된 P2 사이의 거리가 증가한 경우 (즉, d' > d), 컴퓨팅 디바이스 (300) 는 사용자가 핀칭 아웃 제스처를 트레이싱하고 있는 것으로 결정할 수도 있다. 그러나, P1 과 P2 사이의 거리가 감소한 경우 (즉, d' < d), 컴퓨팅 디바이스 (300) 는 사용자가 핀칭 인 제스처를 트레이싱하고 있는 것으로 결정할 수도 있다.
컴퓨팅 디바이스가 두번째 손가락 터치의 위치 (즉, P2) 를 계산할 수 있지만, 기록된 제 1 터치 위치 (P1) 와 현재 측정된 터치 위치 (P3) 에 단지 기초하여 멀티-터치 제스처들이 인지되고 구현될 수 있기 때문에 이러한 계산이 필요하지 않다는 것에 주목해야 한다. P1 에서 P3 까지의 거리에서의 변화가 P1 에서 P2 까지의 거리에서의 변화의 절반이다. 그래서, 핀치-타입 그래픽 사용자 인터페이스 제스처들의 경우, (2 개의 손가락이 서로를 향해 이동하거나 서로로부터 멀리 이동하는 거리에 기초하는) 변환 인자가 2 의 인자로 증가되어야 한다. 그러나, 회전 타입 그래픽 사용자 인터페이스 제스처들에 대해 아무런 조정도 필요하지 않다.
거리들 c 및 c', 또는 d 및 d' 가 일단 계산된다면, 컴퓨팅 디바이스 (300) 는 수식 5 를 이용함으로써 c 와 c' 사이의 차이, 또는 d 와 d' 사이의 차이를 계산할 수도 있다. 계산된 차이들이 나중에 이용되어 변환 인자들을 결정할 수도 있고 그 변환 인자들에 기초하여 디스플레이 이미지가 변환될 수도 있다. 변환 인자들이 더 상세히 후술된다.
식 5:
Figure pct00010
, 또는
Figure pct00011
도 8 은 터치면 (100) 이 구비된 컴퓨팅 디바이스 (300) 를 이용하여 멀티-터치 회전 제스처를 검출하는 일 양태의 방법을 예시한 것이다. 사용자가 터치면을 재차 (좌표 X2, Y2 를 갖는) 포인트 (P2) 에서 터치하는 경우, 컴퓨팅 디바이스 (300) 는 터치면들이 (좌표 X3, Y3 을 갖는) 단일 포인트 (P3) 에서 터치되는 것으로 검출한다. 초기 멀티-터치 터치 이벤트들에 기초하여, 컴퓨팅 디바이스는 P2 터치 이벤트의 좌표를 결정하고, 도 6 과 관련하여 상술된 식 1 내지 식 4 를 이용하여 θ1, C 및 E 를 계산하도록 구성될 수도 있다. 그 후에, 사용자는 두번째 손가락 (104) 을 시계 방향 또는 반시계 방향으로 이동시킴으로써 회전 제스처를 트레이싱할 수도 있다. 이러한 양태에서는, 사용자가, 점선 및 화살표 702 로 도시된 바와 같이, 두번째 손가락 (104) 을 반시계 방향으로 이동시키고 있다.
트레이싱된 움직임이 회전 제스처인지 여부를 결정함에 있어서, 컴퓨팅 디바이스 (300) 는 각도 D 를 계산함으로써, 수평축 (즉, X 축) 을 따라 P2 와 P2' 사이의 거리 (즉, 거리 E') 를 결정함으로써 또는 P3 와 P3' 사이의 거리 (즉, C') 를 결정함으로써, P3 및 P3' 로부터의 움직임에 의해 대치된 각도를 계산할 수도 있다. D 의 값에서의 임의의 변화 또는 거리들 C 또는 E 에서의 변화가 회전 제스처의 트레이싱을 의미할 수도 있다.
다음의 식을 이용하여 각도 D 가 계산될 수도 있다:
식 6:
Figure pct00012
,
여기서
Figure pct00013
이고, 여기서
Figure pct00014
이다.
또한, 컴퓨팅 디바이스 (300) 는 가상 터치 이벤트들 P3 과 P3' 사이에서 이동된 거리 (즉, 거리 C') 를 결정하고, C 와 C' 사이의 변화를 계산하도록 구성될 수도 있다. 다음의 수식을 이용하여 거리 C 가 계산될 수도 있다:
식 7:
Figure pct00015
여기서
Figure pct00016
, 이고
Figure pct00017
이다.
다음의 수식을 이용하여 C 와 C' 사이의 거리에서의 변화가 계산될 수도 있다:
식 8:
Figure pct00018
여기서
Figure pct00019
이다.
두번째 손가락 (104) 이 X 축을 따라 P2 로부터 P2' 로 이동한 거리 (즉, 거리 E') 가 또한 계산될 수도 있다. 다음의 수식을 이용하여 E 와 E' 사이의 거리에서의 변화가 또한 계산될 수도 있다:
식 9:
Figure pct00020
여기서,
Figure pct00021
이고
Figure pct00022
이며, 여기서,
Figure pct00023
이고
Figure pct00024
이다.
대안적으로, E' 는
Figure pct00025
을 이용하여 계산될 수도 있고,
여기서
Figure pct00026
이고,
Figure pct00027
이다.
계산들 (즉, 거리들 C 내지 C' 또는 E 내지 E' 에서의 변화 또는 각도 D 를 계산) 의 결과들이 이용되어, 디스플레이에 제공될 변환 인자를 결정할 수도 있다. 변환 인자들을 더 상세히 후술한다.
컴퓨팅 디바이스 (300) 는 상기 식에 기초하여 계산된 파라미터들을 이용하여 트레이싱된 제스처의 상측과 하측, 및 시계 방향과 반시계 방향을 결정하도록 구성될 수도 있다. 이것은, 변화하는 P3 위치들의 X 와 Y 좌표값들의 단순한 감산을 통해 달성될 수도 있다. 상이한 양태들을 이용하여 전개될 수도 있는 상이한 멀티-터치 제스처들에서 이러한 값들이 이용될 수도 있다.
일 양태에서, 컴퓨팅 디바이스 (300) 는 제스처 데이터 테이블 (800) 을 참조함으로써 트레이싱된 제스처의 타입을 결정하도록 구성될 수도 있고, 그 일 예가 도 9 에 예시되어 있다. 데이터 테이블은, P2 또는 P3 가 이동하는 파라미터, 제스처, 및 방향에 관한 정보를 포함하고, 파라미터값들과 연관된 특정 디스플레이 기능을 식별하도록 조직화될 수도 있다. 예를 들어, 로우 802 에서, 컴퓨팅 디바이스는 거리 c 가 거리 c' 보다 작은 경우 디스플레이 이미지를 줌인하기 위해 이용되는 핀치 제스처를 식별할 수도 있다. 로우 804 에 도시된 또 다른 예에서, 각도 D 가 제로보다 큰 값과 동일하고 컴퓨팅 디바이스가 P2 또는 P3 의 움직임의 방향이 반시계 방향인 것으로 결정하는 경우, 컴퓨팅 디바이스는 디스플레이 이미지를 반시계 방향으로 회전시킬 수도 있다. 도 9 에 도시된 바와 같이, 제스처의 타입 및 기능을 결정하는데 다른 파라미터들 및 방향들이 또한 이용될 수도 있다.
트레이싱된 멀티-터치 제스처의 그래픽 사용자 인터페이스 타입 또는 변환 기능이 일단 결정되면, 컴퓨팅 디바이스 (300) 는 대응하는 변환 인자 (즉, Δ) 를 결정하도록 구성될 수도 있다. 컴퓨팅 디바이스 (300) 가 멀티-터치 제스처에 의해 나타낸 사용자의 의지와 일치하는 디스플레이 이미지를 변환하도록 이용하는 변환 기능에 이용되도록, 변환 인자가 숫자와 같은 값일 수도 있다. 예를 들어, 이미지가 디스플레이될 때 사용자가 핀치 제스처를 실행하는 경우, 변환 기능은 배율이고 변환 인자는 이미지가 확대되어야 하는 정도이다. 따라서, 결정된 변환 인자가 10 인 경우, 컴퓨팅 디바이스는 디스플레이된 이미지를 10 의 인자로 확대시킨다. 이와 유사하게, 결정된 변환 인자가 -10 인 경우, 컴퓨팅 디바이스는 디스플레이 이미지를 10 의 인자로 감소시킨다. 회전 변환 기능들의 경우, 변환 인자는 이미지에 제공될 회전의 도수들 또는 라디안들이다. 따라서, 10 도의 결정된 변환 인자를 갖는 회전 제스처에서, 컴퓨팅 디바이스는 디스플레이 이미지를 10 도만큼 시계 방향으로 회전시키지만, 예를 들어, 결정된 변환 인자가 -10 인 경우, 컴퓨팅 디바이스는 디스플레이 이미지를 10 도만큼 반시계 방향으로 회전시킨다.
상술된 바와 같이, 멀티-터치 제스처 동안 터치 위치들에서의 변화들의 크기에 기초하여 변환 인자가 결정될 수도 있다. 이하 도 7 의 (a) 및 도 7 의 (b) 를 참조하면, 줌 기능이 디스플레이 이미지에 제공되는 핀치 제스처들에 있어서, 제스처의 시작과 끝에서의 2 개의 손가락 사이의 거리의 비율에 기초하여 변환 인자가 결정될 수도 있다. 예를 들어, 변환 인자는:
Figure pct00028
에 의해 계산될 수도 있다.
또는, P3 와 P1 사이의 거리에서의 변화가 P2 와 P1 사이의 거리의 절반이기 때문에, 변환 인자는:
Figure pct00029
에 의해 계산될 수도 있다.
대안적으로, 컴퓨팅 디바이스 (300) 는 측정되거나 계산된 파라미터에 기초하여 이용하기 위한 변환 인자 Δ 를 결정하기 위해 줌 인자 룩업 테이블을 이용하도록 구성될 수도 있다. 예를 들어, 줌 인자 룩업 테이블은 +1 ㎝ 의 P1-P3 분리 거리에서의 변화가 10% 의 줌 인자에 대응한다는 것을 나타낼 수도 있다.
이제 도 8 을 참조하면, 거리들 C 및/또는 E 에서의 변화 또는 터치 제스처가 변환 인자들로서 이용될 수도 있는 동안 P3 가 회전하는 각도 D 에 기초하여 회전 변환 인자들이 단순히 계산될 수 있다. 컴퓨팅 디바이스 (300) 는 변환 인자에 의해 선형 방식으로 이미지를 회전시키는 회전 기능을 제공함으로써 디스플레이 이미지를 변환하도록 구성될 수도 있다. 따라서, 회전 각도 (D) 가 시계 방향에서 30°로 결정되는 경우, 컴퓨팅 디바이스는 디스플레이 이미지를 30°시계 방향으로 회전시킬 수도 있다. 또한, 컴퓨팅 디바이스는 비선형 회전 변환 인자들을 제공하여, 제스처에 의해 걸쳐 이어진 각도가 증가함에 따라 멀티-터치 제스처에서 넓어진 각도 당 이미지에 제공된 회전량이 증가하도록 구성될 수도 있다. 예를 들어, 5°의 회전각 D 은 이미지의 5°회전 변환과 동일할 수도 있지만, 15°회전각 D 는 이미지의 35°회전 변환과 동일할 수도 있다. 대안적으로, 컴퓨팅 디바이스 (300) 는 테이블 룩업 프로시저를 이용하여, 측정되거나 계산된 파라미터들에 기초하여 이용될 변환 인자를 결정하도록 구성될 수도 있다. 예를 들어, 1 ㎝ 의 C 와 C' 사이의 거리에서의 시계 방향으로의 변화가 이미지의 10°회전 변환과 동일할 수도 있다.
도 8 을 참조하면, 회전 제스처들에 있어서, θ12, C/C' 및 E/E' 비율들을 계산함으로써 변환 인자가 또한 계산될 수도 있다. 컴퓨팅 디바이스 (300) 는 이들 계산된 비율들을 이용하여 변환 인자를 결정할 수도 있다. 이러한 비율 기반 회전 변환 인자들은 이미지에 제공되는 회전 변환 기능에 선형 또는 비선형 방식으로 제공될 수도 있다.
멀티-터치 제스처가 일단 인지되면, 컴퓨팅 디바이스 (300) 는 적절한 그래픽 사용자 인터페이스 기능을 결정할 수도 있다. 그래픽 사용자 인터페이스 기능이 변환 기능인 경우, 컴퓨팅 디바이스 (300) 는 이를테면, 현재 애플리케이션에 의해 결정된 방법들로 디스플레이된 이미지를 변환하도록, 결정된 변환 인자를 이용하는 적절한 변환 기능을 제공할 수도 있다.
멀티-터치 제스처가 애플리케이션에 대한 그래픽 사용자 인터페이스 입력으로 결정되는 경우, 적절한 입력이 오픈 애플리케이션에 전달될 수도 있다. 예를 들어, 도 10 은 다양한 양태들의 멀티-터치 제스처들이 그래픽 사용자 인터페이스 입력들을 드라이빙 게임 애플리케이션에 제공하는 일 양태를 예시한 것이다. 이 예에서, 이러한 게임 애플리케이션은 컴퓨팅 디바이스 (300) 에 의해 계산된 멀티-터치 파라미터들을 스티어링 및 가속과 같은 게임 기능 입력들로 바꾸도록 프로그래밍될 수도 있다. 예를 들어, 도 10 에 예시된 것과 같은 드라이빙 게임에서, 컴퓨팅 디바이스 (300) 는 P3 의 포지션에서의 변화를 추적하여, 바람이 부는 도로를 통과하는 가상 자동차에 제공하기 위한 스티어링 입력들을 결정할 수도 있다. 컴퓨팅 디바이스 (300) 는 첫번째 손가락 (102) 의 위치를 저장할 수도 있고, 사용자가 길을 따라 자동차를 조종하려고 시도하는 동안 두번째 손가락 (104) 의 움직임에 의해 야기된 가상 터치 위치의 움직임들을 검출함에 따라 상이한 파라미터들 (예를 들어, c 및 θ) 을 계산할 수도 있다. 이 예시적인 애플리케이션에서, 사용자는 두번째 손가락 (104) 을 화살표들을 갖는 점선 904 의 방향으로 이동시켜서, 가상 스티어링 휠 (902) 을 이용하여 자동차를 좌측 또는 우측으로 조정할 수도 있다.
예를 들어, 가상 자동차를 우측으로 조정하면, 컴퓨팅 디바이스 (300) 는 디스플레이 (306) 의 우측을 향하는 가상 터치 위치 (P3) 의 움직임을 검출하여, 상이한 파라미터들 (예를 들어, 파라미터들 a, b, c, c', θ1, θ2, θ3, D, C, C', E, E' 중 하나 이상), 또는 움직임과 연관된 적절한 그래픽 사용자 인터페이스 입력들을 계산할 수도 있다. 그 후에, 드라이빙 애플리케이션이 이들 파라미터들의 일부 또는 전부를 이용할 수도 있거나, 또는 이들 파라미터들로부터 유도된 그래픽 사용자 인터페이스 입력을 이용하여 적절한 게임 응답을 결정할 수도 있다. 예를 들어, 드라이빙 애플리케이션이 θ1 과 θ2 사이의 변화를 이용하여, 사용자에 의해 의도되는 스티어링의 방향과 양을 결정할 수도 있다. 이와 유사하게, 애플리케이션은 손가락들 사이의 거리에서의 변화 (즉, c 에서 c' 로) 를 계산하여, 가상 자동차에 제공될 가속을 결정할 수도 있다.
통상적으로, 터치면들 (100) 은 터치면 (100) 상의 터치 이벤트를 전기적 신호로 변환함으로써 기능하고, 그 전기적 신호는 컴퓨팅 디바이스 (300) 및 그의 애플리케이션 소프트웨어에 의해 해석될 수 있다. 도 11 은 터치 이벤트들이 어떻게 애플리케이션 소프트웨어에 전달되는지를 나타내는 통상적 컴퓨팅 디바이스 (300) 의 하드웨어/소프트웨어 아키텍처를 예시한 것이다. 저항성 및 용량성 터치면들과 같은 이용가능한 상이한 타입의 터치면들 (100) 이 존재한다. 이들 터치면들 (100) 각각은 터치 이벤트들을 상이한 방법으로 검출하도록 기능할 수도 있다. 예를 들어, 저항성 터치면 패널이 몇몇 층들로 이루어지는데, 그 중 가장 중요한 것은 좁은 갭에 의해 분리된 2 개의 얇은, 금속성의, 도전성 층들이다. 손가락과 같은 대상이 패널의 외측 표면 상의 포인트에 대해 가압하면, 2 개의 금속층들이 그 포인트에서 접촉하게 된다. 그 후에, 패널은 연결된 출력들을 갖는 한 쌍의 분압기로서 동작한다. 이것은, 터치 이벤트로서 등록되고 프로세싱에 대한 제어기에 전송되는 전류에서의 변화를 야기시킨다.
용량성 터치면 패널은, 인듐 주석 산화물과 같은 재료로 코팅된 유리로 통상적으로 이루어지는 센서이다. 이러한 타입의 센서는, 플레이트들이 수평 축과 수직 축 사이의 그리드 패턴의 중첩 영역들인 커패시터처럼 동작한다. 인체도 또한 전기가 통하기 때문에, 센서의 표면 상의 터치가 전계에 영향을 미쳐서, 디바이스의 정전용량에서의 측정가능한 변화를 발생시킨다. 이들 센서들은 근접하게 동작하여, 트리거되도록 직접 터치될 필요는 없다.
터치면 (100) 의 터치로부터의 전기적 신호들이 하드웨어 드라이버 (1002) 에 의해 프로세싱될 수 있다. 하드웨어 드라이버 (1002) 는 특정 모바일 디바이스 (300) 에 의존하는 회로, 소프트웨어, 또는 하드웨어와 소프트웨어의 혼합물일 수도 있다. 하드웨어 드라이버 (1002) 는, 터치면 (100) 으로부터 수신된 전기적 신호를, 모바일 디바이스 (300) 상에서 실행하는 소프트웨어 애플리케이션에 의해 해석될 수 있는 포맷으로 컨버팅한다. 예를 들어, 하드웨어 드라이버는 전기적 신호들을 터치 이벤트들의 좌표로 컨버팅할 수도 있다. 이러한 신호는, 애플리케이션 소프트웨어에 의해 액세스가능한 메모리 테이블 내의 인터럽트되거나 저장된 값의 형태로 존재할 수도 있다. 메모리 내의 이러한 인터럽트되거나 저장된 값이 운용 시스템 (OS; 1004) 에 의해 수신될 수도 있다.
일 양태에서, 여기에 기술된 멀티-터치 기능성이 운영 시스템 (1004) 의 부분, 보조 소프트웨어 애플리케이션, 또는 멀티-터치 애플리케이션 프로그래밍 인터페이스 (API) (1006) 로서 구현될 수도 있다. 운영 시스템 (1004) 또는 멀티-터치 API (1006) 는 하드웨어 드라이버 (1004) 로부터 수신된 데이터를 이용하여, 적절한 멀티-터치 제스처 기능성을 결정함에 있어서 이용되는 c, c', θ1, 및 θ2 와 같은 파라미터들 또는 c/c', θ12 와 같은 변환 인자들에 대해 계산할 수도 있다. 그 후에, 계산된 파라미터들을 이용하여, 운영 시스템 (1004) 또는 멀티-터치 API (1006) 는, 검출된 멀티-터치 이벤트들에 기초하여, 적절한 포맷팅 및 변환 인자들을 응용 계층 (1008) 에, 이를테면, 터치 이벤트 메시지의 형태로 전달할 수도 있다. 또한, 이를테면, 특정 터치 이벤트와 연관된 값을 디스플레이하기 위해, 터치 이벤트들이 사용자-인터페이스 계층 (1010) 에 전달될 수도 있다.
도 12 는 일 양태에 따른 멀티-터치 제스처들을 검출하고 프로세싱하는 일 예시적인 방법 (1100) 을 예시한 것이다. 방법 (1100) 에서의 블록 1102 에서, 컴퓨팅 디바이스 (300) 는 제 1 터치 이벤트를 검출하고, 블록 1104 에서 그 터치의 위치를 획득하고 저장한다. 결정 블록 1106 에서, 컴퓨팅 디바이스 (300) 는, 사용자가 터치면 (100) 으로부터 모든 손가락을 들어올릴 때 발생하는 터치 업 (touch up) 이 존재하는지 여부를 결정할 수도 있다. 터치 이벤트가 터치 업 이벤트인 경우 (즉, 결정 1106 = "예"), 컴퓨팅 디바이스 (300) 는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규의 그래픽 사용자 인터페이스 (GUI) 기능을 수행할 수도 있다.
터치 이벤트가 터치 업 이벤트가 아닌 경우 (즉, 결정 1106 = "아니오"), 컴퓨팅 디바이스 (300) 는, 결정 블록 1108 에서, 미리 결정된 값 "x" 보다 큰 터치 위치에서의 갑작스런 점프가 있었는지 여부를 결정할 수도 있다. 이것은, 사용자가 스크린을 두번째 손가락 (104) 으로 터치할 때 발생할 수도 있다. 다음 터치 이벤트의 위치에 대한 제 1 터치 이벤트 위치들 사이의 거리를 계산함으로써, 터치 위치 점프의 거리가 결정될 수도 있다. 미리 결정된 임계값 "x" 는 임의의 거리, 이를테면, 터치면에 대해 가압한 평균적 인간 손가락 끝의 사이즈보다 넓은 거리일 수도 있다. 터치 위치의 포지션에서의 변화가 임계값 X 보다 작은 경우 (즉, 결정 블록 1108 = "아니오"), 컴퓨팅 디바이스는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규의 그래픽 사용자 인터페이스 기능들을 수행할 수도 있다.
터치 위치의 포지션에서의 변화가 임계값 X 보다 큰 경우 (즉, 결정 블록 1108 = "예"), 컴퓨팅 디바이스 (300) 는 블록 1110 에서 가상 터치 이벤트 위치를 저장할 수도 있고, 블록 1112 에서, 가상 터치 이벤트 위치 및 제 1 터치 위치에 기초하여, 제 2 터치 이벤트의 위치를 계산하여 저장할 수도 있다. 상술된 바와 같이, 제 2 터치 이벤트의 위치를 계산하는 동작은 도 13 을 참조하여 후술되는 바와 같이 옵션적이다. 컴퓨팅 디바이스 (300) 는 블록 1114 에서 터치 이벤트 위치를 획득할 수도 있고, 결정 블록 1106 에서 그 이벤트가 터치 업 이벤트인지 여부를 결정할 수도 있다. 터치 업 이벤트인 경우 (즉, 결정 블록 1106 = "예"), 컴퓨팅 디바이스 (300) 는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규 (즉, 비-멀티-터치) 의 그래픽 사용자 인터페이스 기능들을 수행할 수도 있다. 터치 업 이벤트가 아닌 경우 (즉, 결정 블록 1106 = "아니오"), 컴퓨팅 디바이스 (300) 는 블록 1118 에서 신규의 터치 이벤트 위치를 획득할 수도 있고, 블록 1119 에서, 저장되어 있거나 신규의 제 2 터치 이벤트 위치 데이터를 이용하여 여기에 기술된 바와 같이 멀티-터치 제스처 파라미터들을 계산할 수도 있다. 블록 1120 에서 컴퓨팅 디바이스 (300) 는, 계산된 파라미터들에 기초하여, 제공될 변환 기능 및 변환 인자를 결정할 수도 있고, 블록 1122 에서, 변환 인자를 이용하는 변환 기능을 디스플레이된 이미지 또는 현재 실행하는 애플리케이션에 제공할 수도 있다. 그 후에, 컴퓨팅 디바이스 (300) 는 블록 1114 에서 다음 터치 이벤트 위치를 획득할 수도 있고, 터치 업 이벤트가 검출될 때까지 (즉, 결정 블록 1106 = "예") 프로세스를 반복할 수도 있다.
도 13 은 일 양태에 따른 멀티-터치 제스처들을 검출하고 프로세싱하는 일 예시적인 방법 (1200) 을 예시한 것이다. 방법 (1200) 에서의 블록 1102 에서, 컴퓨팅 디바이스 (300) 는 제 1 터치 이벤트를 검출하고, 블록 1104 에서 그 터치의 위치를 획득하고 저장한다. 결정 블록 1106 에서, 컴퓨팅 디바이스 (300) 는, 사용자가 터치면 (100) 으로부터 모든 손가락을 들어올릴 때 발생하는 터치 업이 존재하는지 여부를 결정할 수도 있다. 터치 이벤트가 터치 업 이벤트인 경우 (즉, 결정 1106 = "예"), 컴퓨팅 디바이스 (300) 는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규의 그래픽 사용자 인터페이스 기능들을 수행할 수도 있다.
터치 이벤트가 터치 업 이벤트가 아닌 경우 (즉, 결정 1106 = "아니오"), 컴퓨팅 디바이스 (300) 는, 결정 블록 1108 에서, 미리 결정된 값 "x" 보다 큰 터치 위치에서의 갑작스런 점프가 있었는지 여부를 결정할 수도 있다. 터치 위치의 포지션에서의 변화가 임계값 X 보다 작은 경우 (즉, 결정 블록 1108 = "아니오"), 컴퓨팅 디바이스는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규의 그래픽 사용자 인터페이스 기능들을 수행할 수도 있다. 터치 위치의 포지션에서의 변화가 임계값 X 보다 큰 경우 (즉, 결정 블록 1108 = "예"), 컴퓨팅 디바이스 (300) 는 블록 1110 에서 평균화된 가상 터치 이벤트 위치를 저장할 수도 있다. 블록 1111 에서, 컴퓨팅 디바이스 (300) 는 가상 터치 이벤트 위치에 관련된, 여기에 기술된 다양한 멀티-터치 제스처 파라미터들을 계산하고 저장할 수도 있다. 블록 114 에서, 컴퓨팅 디바이스 (300) 는 신규의 가상 터치 이벤트 위치를 획득할 수도 있고, 결정 블록 1106 에서 이벤트가 터치 업 이벤트인지 여부를 결정할 수도 있다. 이벤트가 터치 업 이벤트인 경우 (즉, 결정 1106 = "예"), 컴퓨팅 디바이스 (300) 는, 블록 1102 에서 다음 터치 이벤트를 수신하는 것으로 진행하기 전에, 블록 1124 에서 정규의 그래픽 사용자 인터페이스 기능들을 수행할 수도 있다. 이벤트가 터치 업 이벤트가 아닌 경우 (즉, 결정 1106 = "아니오"), 컴퓨팅 디바이스 (300) 는, 블록 1201 에서, 신규의 터치 이벤트에 관련된 신규의 멀티-터치 제스처 파라미터들을 계산할 수도 있다. 블록 1202 에서, 컴퓨팅 디바이스는 저장되어 있고 신규의 가상 터치 이벤트 위치들에 대한 계산된 멀티-터치 제스처 파라미터들을 비교할 수도 있고, 블록 1120 에서 변환 기능 및 관련 변환 인자를 결정할 수도 있다. 블록 1122 에서, 컴퓨팅 디바이스 (300) 는 변환 인자를 이용하는 변환 기능을 디스플레이된 이미지 또는 운용 애플리케이션에 제공할 수도 있다. 그 후에, 컴퓨팅 디바이스 (300) 는 블록 1114 에서 다음 터치 이벤트 위치를 획득할 수도 있고, 터치 업 이벤트가 검출될 때까지 (즉, 결정 블록 1106 = "예") 프로세스를 반복할 수도 있다.
상술된 양태들은 여러가지 컴퓨팅 디바이스들 (300) 중 어떠한 디바이스 상에서도 구현될 수도 있다. 통상적으로, 이러한 컴퓨팅 디바이스들 (300) 은 도 14 에 예시된 컴포넌트들을 공통으로 갖는다. 예를 들어, 컴퓨팅 디바이스들 (300) 은 내부 메모리 (195) 에 커플링된 프로세서 (191) 및 터치면 입력 디바이스 (100) 또는 디스플레이 (306) 를 포함할 수도 있다. 터치면 입력 디바이스 (100) 는 임의의 타입의 터치스크린 디스플레이, 이를테면, 저항성-감지 터치스크린, 용량성-감지 터치스크린, 적외선 감지 터치스크린, 음향/압전 감지 터치스크린 등일 수 있다. 다양한 양태들은 임의의 특정 타입의 터치스크린 디스플레이 또는 터치패드 기술에 한정되지 않는다. 부가적으로, 컴퓨팅 디바이스 (300) 는 프로세서 (191) 에 커플링된 무선 데이터 링크 및/또는 셀룰러 전화기 트랜시버 (192) 에 연결되는, 전자기 방사를 전송하고 수신하기 위한 안테나 (194) 를 가질 수도 있다. (통상적으로 디스플레이 (306) 를 포함하는) 터치면 입력 디바이스 (100) 를 포함하지 않는 컴퓨팅 디바이스들 (300) 은 포인팅 디바이스들로서 기능하는 키 패드 (196) 또는 소형 키보드 및 메뉴 선택 키들 또는 로커 스위치들 (197) 을 통상적으로 포함한다. 프로세서 (191) 는 프로세서 (191) 를 외부 터치패드 또는 터치면들 또는 외부 로컬 영역 네트워크에 연결하기 위한, 유선 네트워크 인터페이스 (198), 이를테면, 범용 시리얼 버스 (USB) 또는 FireWire® 커넥터 소켓에 추가로 연결될 수도 있다.
일부 구현들에서, 터치면이 터치면 (100) 또는 디스플레이 (306) 외측의 컴퓨팅 디바이스 (300) 의 영역들에 제공될 수 있다. 예를 들어, 키패드 (196) 는 매립된 용량성 터치 센서들을 가진 터치면 (100) 을 포함할 수 있다. 다른 구현들에서, 키패드 (196) 는 터치스크린 디스플레이 (306) 가 완전한 GUI 를 제공하도록 제거될 수도 있다. 또한 추가 구현들에서, 터치면 (100) 은 케이블 커넥터 (198) 로의 케이블 또는 프로세서 (191) 에 커플링된 무선 트랜시버 (예를 들어, 트랜시버 (192)) 에 의해, 컴퓨팅 디바이스 (300) 에 연결될 수 있는 외부 터치패드일 수도 있다.
또한, 상술된 다수의 양태들이 여러가지 컴퓨팅 디바이스들 중 임의의 컴퓨팅 디바이스, 이를테면, 도 15 에 예시된 노트북 컴퓨터 (2000) 에 의해 구현될 수도 있다. 이러한 노트북 컴퓨터 (2000) 는 휘발성 메모리 (2462), 및 디스크 드라이브 (2463) 와 같은 대용량 비휘발성 메모리에 커플링된 프로세서 (2461) 를 포함하는 하우징 (2466) 을 통상적으로 포함한다. 또한, 이러한 컴퓨터 (2000) 는 프로세서 (2461) 에 커플링된 플로피 디스크 드라이브 (2464) 및 콤팩트 디스크 (CD) 드라이브 (2465) 를 포함할 수도 있다. 통상적으로, 컴퓨터 하우징 (2466) 은 터치패드 (2467), 키보드 (2468), 및 디스플레이 (2469) 를 또한 포함한다.
컴퓨팅 디바이스 프로세서 (191, 2461) 는 상술된 다양한 양태들의 기능들을 포함한 여러 기능들을 수행하는 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는, 임의의 프로그래밍가능 마이크로프로세서, 마이크로컴퓨터 또는 다수의 프로세서 칩 또는 칩들일 수도 있다. 일부 휴대용 컴퓨팅 디바이스들 (300, 2000) 에서, 다수의 프로세서들 (191, 2461) 이 제공될 수도 있으며, 이를테면, 하나의 프로세서가 무선 통신 기능들에 전용되고 하나의 프로세서가 다른 애플리케이션들을 실행하는 것에 전용된다. 프로세서는 또한 통신 칩세트의 부분으로서 포함될 수도 있다.
기술된 방법들 또는 프로세서들 중 하나 이상을 구현하도록 구성된 소프트웨어 명령들을 실행하는 컴퓨터 프로세서 (191, 2461) 에 의해 다양한 양태들이 구현될 수도 있다. 이러한 소프트웨어 명령들은, 네트워크 (미도시) 를 통해 액세스가능한 유형의 저장 매체 또는 서버들 상에서, 일 양태의 방법 또는 프로세스를 구현하는 개별 애플리케이션들 또는 컴파일 소프트웨어로서 하드 디스크 메모리 (2463) 내의 메모리 (192, 2462) 에 저장될 수도 있다. 또한, 소프트웨어 명령들은 랜덤 액세스 메모리 (192, 2462), 하드 디스크 메모리 (2463), (플로피 디스크 드라이브 (2464) 에서 판독가능한) 플로피 디스크, (CD 드라이브 (2465) 에서 판독가능한) 콤팩트 디스크, 전기적으로 소거가능/프로그래밍가능 판독 전용 메모리 (EEPROM), (플래시 메모리와 같은) 판독 전용 메모리, 및/또는 외부 메모리 칩 또는 USB 네트워크 포트에 플러그된 UBS-연결가능 외부 메모리 (예를 들어, "플래시 드라이브") 와 같은 컴퓨팅 디바이스 (300, 2000) 에 플러그된 메모리 모듈 (미도시) 을 포함하는, 임의의 형태의 유형의 프로세서 판독가능 메모리 상에 저장될 수도 있다. 이 설명의 목적으로, 메모리라는 용어는 프로세서 (191, 2461) 그 자체 내의 메모리를 포함하여 프로세서 (191, 2461) 에 의해 액세스가능한 모든 메모리를 지칭한다.
상술된 방법 설명들 및 프로세스 흐름도들은 단지 예시적인 예들로서만 제공되고 다양한 실시형태들의 프로세스들이 제시된 순서로 수행되어야 하는 것을 요구 또는 수반하는 것으로 의도되지 않는다. 당업자가 인식하는 바와 같이, 상술한 양태들에서의 블록들 및 프로세스들의 순서는 임의의 순서로 수행될 수도 있다. "그 이래 (thereafter)", "그 후에 (then)", "다음에 (next)" 등과 같은 단어들은 프로세스들의 순서를 한정하는 것으로 의도되지 않고, 이들 단어들은 단순히 방법들의 설명을 통해 독자를 가이드하기 위해 사용된다. 또한, 예를 들어, 관사 "a", "an" 또는 "the" 를 이용하여 엘리먼트들을 단수로 요구하는 임의의 참조는 엘리먼트를 단수로 한정하는 것으로 해석되지 않아야 한다.
여기에 개시된 양태들과 관련하여 기술된 다양한 예시적인 논리 블록, 모듈, 회로 및 알고리즘 프로세스가 전자식 하드웨어, 컴퓨터 소프트웨어, 또는 양자 모두의 조합으로서 구현될 수도 있다. 하드웨어 및 소프트웨어의 이 상호교환가능성을 명확히 예시하기 위해서, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계들이 그들의 기능성 측면에서 일반적으로 상술되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부여된 설계 제약 및 특정 애플리케이션에 의존한다. 당업자는 기술된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 개시물의 범위로부터 벗어나지 않는 것으로 해석되어야 한다.
여기에 개시된 양태들과 관련하여 기술된 다양한 예시적인 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하는데 사용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서 (DSP), 응용 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 여기에 기술된 기능들을 수행하도록 설계된 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다. 대안적으로, 일부 프로세스 또는 방법은 주어진 기능에 특정되는 회로에 의해 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있다. 여기에 개시된 알고리즘 또는 방법의 단계들은 컴퓨터 판독가능 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈로 구현될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터 저장 매체, 및 한 장소에서 또 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 통신 매체 양쪽을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 저장 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 운반하거나 저장하기 위해 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 문맥이 컴퓨터 판독가능 매체로 적절하게 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스트드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 트위스트드 페어, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술은 매체의 정의에 포함된다. 여기에 사용된 바와 같은, 디스크 (disk) 및 디스크 (disc) 는 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크 및 Blu-ray Disc 를 포함하고, 여기서, 디스크 (disk) 는 일반적으로 데이터를 자기적으로 재생하는 반면에, 디스크 (disc) 는 데이터를 레이저로 광학적으로 재생한다. 또한, 상기의 조합들이 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다. 부가적으로, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 제품에 포함될 수도 있는, 머신 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 저장된 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
다양한 양태들의 상술한 설명은 당업자로 하여금 본 발명을 제작 또는 이용할 수 있게 하기 위해 제공된다. 이들 양태들에 대한 다양한 변형이 당업자에게 쉽게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위로부터 벗어남 없이 다른 양태들에 적용될 수도 있다. 따라서, 본 발명은 여기에 나타낸 양태들로 한정되는 것으로 의도되지 않고, 그 대신에, 청구범위는 여기에 개시된 원리들 및 신규의 특징들에 부합하는 최광의 범위가 부여되어야 한다.

Claims (48)

  1. 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법으로서,
    터치면 상에서 제 1 터치 이벤트를 검출하는 단계;
    상기 터치면 상의 상기 제 1 터치 이벤트의 위치를 저장하는 단계;
    터치 업 이벤트 (touch-up event) 의 검출 없이, 상기 터치면 상에서 터치 이벤트의 위치에서의 점프를 검출하는 단계;
    상기 검출된 점프 이후의 상기 터치 이벤트의 위치를 저장하는 단계;
    신규의 터치 이벤트 위치를 획득하는 단계;
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계; 및
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  2. 제 1 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 변환 기능이고,
    상기 방법은,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 변환 인자를 결정하는 단계를 더 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  3. 제 1 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 줌 변환 기능이고,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 배율 변환 인자를 결정하는 단계를 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 상기 결정된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  4. 제 1 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 회전 변환 기능이고,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 회전 변환 인자를 결정하는 단계를 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 상기 결정된 회전 변환 인자에 기초하여, 디스플레이된 이미지를 회전시키는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  5. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  6. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  7. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 단계; 및
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  8. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 운용 시스템에 의해 수행되는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  9. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는, 애플리케이션 프로그래밍 인터페이스 (API) 에 의해 수행되는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  10. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치 및 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치에 기초하여, 제 2 터치의 터치 위치를 추정하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  11. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 제 1 거리를 계산하는 단계;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 제 2 거리를 계산하는 단계;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 단계;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 단계; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 단계를 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  12. 제 1 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 단계는,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 제 2 터치 위치까지의 제 1 거리를 계산하는 단계;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 신규의 제 2 터치 위치까지의 제 2 거리를 계산하는 단계;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 단계;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 단계; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 단계를 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 단계는, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 단계를 포함하는, 터치면 사용자 입력 디바이스를 갖는 컴퓨팅 디바이스 상에서 멀티-터치 제스처를 구현하는 방법.
  13. 프로세서;
    상기 프로세서에 커플링된 사용자 인터페이스 터치면 디바이스;
    상기 프로세서에 커플링된 메모리; 및
    상기 프로세서에 커플링된 디스플레이를 포함하고,
    상기 프로세서는,
    터치면 상에서 제 1 터치 이벤트를 검출하는 것;
    상기 터치면 상의 상기 제 1 터치 이벤트의 위치를 저장하는 것;
    터치 업 이벤트의 검출 없이, 상기 터치면 상에서 터치 이벤트의 위치에서의 점프를 검출하는 것;
    상기 검출된 점프 이후의 상기 터치 이벤트의 위치를 저장하는 것;
    신규의 터치 이벤트 위치를 획득하는 것;
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것; 및
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 것
    을 포함하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  14. 제 13 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 변환 기능이고,
    상기 프로세서는, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 변환 인자를 결정하는 것을 더 포함하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  15. 제 13 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 줌 변환 기능이고,
    상기 프로세서는, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 배율 변환 인자를 결정하는 것을 더 포함하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 것은, 상기 결정된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 것을 포함하는, 컴퓨팅 디바이스.
  16. 제 13 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 회전 변환 기능이고,
    상기 프로세서는, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 회전 변환 인자를 결정하는 것을 더 포함하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 프로세서는, 상기 결정된 그래픽 사용자 인터페이스 기능이, 상기 결정된 회전 변환 인자에 기초하여, 디스플레이된 이미지를 회전시키는 것을 포함하도록 하는 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  17. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  18. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  19. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 것; 및
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  20. 제 13 항에 있어서,
    상기 프로세서는, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이, 운용 시스템에 의해 수행되도록 하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  21. 제 13 항에 있어서,
    상기 프로세서는, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이, 애플리케이션 프로그래밍 인터페이스 (API) 에 의해 수행되도록 하는 프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  22. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치 및 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치에 기초하여, 제 2 터치의 터치 위치를 추정하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  23. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 제 1 거리를 계산하는 것;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 제 2 거리를 계산하는 것;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 것;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 것; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 것은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 것을 포함하는, 컴퓨팅 디바이스.
  24. 제 13 항에 있어서,
    상기 프로세서는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 것이,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 제 2 터치 위치까지의 제 1 거리를 계산하는 것;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 신규의 제 2 터치 위치까지의 제 2 거리를 계산하는 것;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 것;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 것; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 것을 포함하도록 하는
    프로세스들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 것은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 것을 포함하는, 컴퓨팅 디바이스.
  25. 터치면 상에서 제 1 터치 이벤트를 검출하는 수단;
    상기 터치면 상의 상기 제 1 터치 이벤트의 위치를 저장하는 수단;
    터치 업 이벤트의 검출 없이, 상기 터치면 상에서 터치 이벤트의 위치에서의 점프를 검출하는 수단;
    상기 검출된 점프 이후의 상기 터치 이벤트의 위치를 저장하는 수단;
    신규의 터치 이벤트 위치를 획득하는 수단;
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단; 및
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 수단을 포함하는, 컴퓨팅 디바이스.
  26. 제 25 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 변환 기능이고,
    상기 컴퓨팅 디바이스는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 변환 인자를 결정하는 수단을 더 포함하는, 컴퓨팅 디바이스.
  27. 제 25 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 줌 변환 기능이고,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 배율 변환 인자를 결정하는 수단을 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 수단은, 상기 결정된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 수단을 포함하는, 컴퓨팅 디바이스.
  28. 제 25 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 회전 변환 기능이고,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 회전 변환 인자를 결정하는 수단을 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 수단은, 상기 결정된 회전 변환 인자에 기초하여, 디스플레이된 이미지를 회전시키는 수단을 포함하는, 컴퓨팅 디바이스.
  29. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 수단을 포함하는, 컴퓨팅 디바이스.
  30. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 수단을 포함하는, 컴퓨팅 디바이스.
  31. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하는 수단; 및
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하는 수단을 포함하는, 컴퓨팅 디바이스.
  32. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    운용 시스템의 부분으로서, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단을 포함하는, 컴퓨팅 디바이스.
  33. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    애플리케이션 프로그래밍 인터페이스 (API) 로서, 상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단을 포함하는, 컴퓨팅 디바이스.
  34. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치 및 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치에 기초하여, 제 2 터치의 터치 위치를 추정하는 수단을 포함하는, 컴퓨팅 디바이스.
  35. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 제 1 거리를 계산하는 수단;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 제 2 거리를 계산하는 수단;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 수단;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 수단; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 수단을 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 수단은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 수단을 포함하는, 컴퓨팅 디바이스.
  36. 제 25 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하는 수단은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 제 2 터치 위치까지의 제 1 거리를 계산하는 수단;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 신규의 제 2 터치 위치까지의 제 2 거리를 계산하는 수단;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하는 수단;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하는 수단; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하는 수단을 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하는 수단은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하는 수단을 포함하는, 컴퓨팅 디바이스.
  37. 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 매체는,
    터치면 상에서 제 1 터치 이벤트를 검출하기 위한 적어도 하나의 명령;
    상기 터치면 상의 상기 제 1 터치 이벤트의 위치를 저장하기 위한 적어도 하나의 명령;
    터치 업 이벤트의 검출 없이, 상기 터치면 상에서 터치 이벤트의 위치에서의 점프를 검출하기 위한 적어도 하나의 명령;
    상기 검출된 점프 이후의 상기 터치 이벤트의 위치를 저장하기 위한 적어도 하나의 명령;
    신규의 터치 이벤트 위치를 획득하기 위한 적어도 하나의 명령;
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령; 및
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  38. 제 37 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 변환 기능이고,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 변환 인자를 결정하기 위한 적어도 하나의 명령을 더 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  39. 제 37 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 줌 변환 기능이고,
    상기 컴퓨터 판독가능 매체는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 배율 변환 인자를 결정하기 위한 적어도 하나의 명령을 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하기 위한 적어도 하나의 명령은, 상기 결정된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  40. 제 37 항에 있어서,
    상기 결정된 그래픽 사용자 인터페이스 기능은 이미지 회전 변환 기능이고,
    상기 컴퓨터 판독가능 매체는,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 회전 변환 인자를 결정하기 위한 적어도 하나의 명령을 더 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하기 위한 적어도 하나의 명령은, 상기 결정된 회전 변환 인자에 기초하여, 디스플레이된 이미지를 회전시키기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  41. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  42. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  43. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리와, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리 사이의 차이를 계산하기 위한 적어도 하나의 명령; 및
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 라인과, 상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 라인 사이의 각도를 계산하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  44. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은, 운용 시스템에서 구현되는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  45. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은, 애플리케이션 프로그래밍 인터페이스 (API) 로서 구현되는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  46. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치 및 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치에 기초하여, 제 2 터치의 터치 위치를 추정하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  47. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 제 1 거리를 계산하기 위한 적어도 하나의 명령;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 제 2 거리를 계산하기 위한 적어도 하나의 명령;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하기 위한 적어도 하나의 명령;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하기 위한 적어도 하나의 명령; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하기 위한 적어도 하나의 명령을 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하기 위한 적어도 하나의 명령은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
  48. 제 37 항에 있어서,
    상기 저장된 제 1 터치 이벤트의 위치, 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치, 및 상기 신규의 터치 이벤트 위치에 기초하여, 구현될 그래픽 사용자 인터페이스 기능을 결정하기 위한 적어도 하나의 명령은,
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 검출된 점프 이후의 상기 저장된 터치 이벤트의 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 제 2 터치 위치까지의 제 1 거리를 계산하기 위한 적어도 하나의 명령;
    상기 저장된 제 1 터치 이벤트의 위치로부터 상기 신규의 터치 이벤트 위치까지의 거리에 기초하여, 상기 저장된 제 1 터치 이벤트의 위치로부터 신규의 제 2 터치 위치까지의 제 2 거리를 계산하기 위한 적어도 하나의 명령;
    상기 제 1 거리가 상기 제 2 거리와 상이한지를 결정하기 위한 적어도 하나의 명령;
    상기 제 1 거리와 상기 제 2 거리가 상이한 경우, 상기 그래픽 사용자 인터페이스 기능이 줌 변환 기능인 것으로 결정하기 위한 적어도 하나의 명령; 및
    상기 제 1 거리에 대한 상기 제 2 거리의 비율에 기초하여 배율 변환 인자를 계산하기 위한 적어도 하나의 명령을 포함하고,
    상기 결정된 그래픽 사용자 인터페이스 기능을 구현하기 위한 적어도 하나의 명령은, 상기 계산된 배율 변환 인자에 기초하여, 디스플레이된 이미지에 줌 배율을 적용하기 위한 적어도 하나의 명령을 포함하는, 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품.
KR1020127014268A 2009-11-03 2010-10-15 단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법 KR20120093322A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/611,549 2009-11-03
US12/611,549 US8957918B2 (en) 2009-11-03 2009-11-03 Methods for implementing multi-touch gestures on a single-touch touch surface

Publications (1)

Publication Number Publication Date
KR20120093322A true KR20120093322A (ko) 2012-08-22

Family

ID=43567795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127014268A KR20120093322A (ko) 2009-11-03 2010-10-15 단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법

Country Status (6)

Country Link
US (1) US8957918B2 (ko)
EP (1) EP2497016A1 (ko)
JP (1) JP2013510370A (ko)
KR (1) KR20120093322A (ko)
CN (1) CN102640100B (ko)
WO (1) WO2011056387A1 (ko)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140122687A (ko) * 2013-04-10 2014-10-20 주식회사 지니틱스 터치이벤트 처리방법 및 이를 위한 장치
KR20150040825A (ko) * 2013-07-17 2015-04-15 한국과학기술원 연속적인 터치를 이용한 사용자 인터페이스 방법 및 장치
KR20180131644A (ko) * 2016-06-12 2018-12-10 애플 인크. 카메라 효과를 위한 사용자 인터페이스
US10523879B2 (en) 2018-05-07 2019-12-31 Apple Inc. Creative camera
US10528243B2 (en) 2017-06-04 2020-01-07 Apple Inc. User interface camera effects
US10616490B2 (en) 2015-04-23 2020-04-07 Apple Inc. Digital viewfinder user interface for multiple cameras
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media
KR20210072994A (ko) * 2019-12-10 2021-06-18 인천대학교 산학협력단 디지털 길이 측정 장치
US11054973B1 (en) 2020-06-01 2021-07-06 Apple Inc. User interfaces for managing media
US11112964B2 (en) 2018-02-09 2021-09-07 Apple Inc. Media capture lock affordance for graphical user interface
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11350026B1 (en) 2021-04-30 2022-05-31 Apple Inc. User interfaces for altering visual media
US11468625B2 (en) 2018-09-11 2022-10-11 Apple Inc. User interfaces for simulated depth effects
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US20120327009A1 (en) * 2009-06-07 2012-12-27 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US8681106B2 (en) 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US11704473B2 (en) * 2009-09-30 2023-07-18 Georgia Tech Research Corporation Systems and methods to facilitate active reading
KR101137387B1 (ko) * 2009-11-05 2012-04-20 삼성모바일디스플레이주식회사 기준 전압 설정 장치를 포함한 조도 측정 장치와 디스플레이 장치
JP4947668B2 (ja) * 2009-11-20 2012-06-06 シャープ株式会社 電子機器、表示制御方法、およびプログラム
TW201122969A (en) * 2009-12-17 2011-07-01 Weltrend Semiconductor Inc Multi-touch command detecting method for touch surface capacitive touch panel
KR20110088727A (ko) * 2010-01-29 2011-08-04 삼성전자주식회사 휴대용 단말기에서 출력 이미지를 회전시키기 위한 장치 및 방법
JP5356272B2 (ja) * 2010-02-05 2013-12-04 パナソニック株式会社 座標入力装置、座標入力方法、座標入力プログラム、及び携帯端末
US8717317B2 (en) * 2010-02-22 2014-05-06 Canon Kabushiki Kaisha Display control device and method for controlling display on touch panel, and storage medium
TWI430141B (zh) * 2010-02-25 2014-03-11 Egalax Empia Technology Inc 判斷旋轉手勢的方法與裝置
JP5486977B2 (ja) * 2010-03-24 2014-05-07 株式会社日立ソリューションズ 座標入力装置及びプログラム
TW201135550A (en) * 2010-04-14 2011-10-16 Qisda Corp System and method for enabling multiple-point actions based on single-point touch panel
EP2395413B1 (en) * 2010-06-09 2018-10-03 The Boeing Company Gesture-based human machine interface
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US9285983B2 (en) * 2010-06-14 2016-03-15 Amx Llc Gesture recognition using neural networks
JP5664147B2 (ja) * 2010-09-06 2015-02-04 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US8514252B1 (en) 2010-09-22 2013-08-20 Google Inc. Feedback during crossing of zoom levels
JP5269851B2 (ja) * 2010-09-27 2013-08-21 富士フイルム株式会社 画像編集装置及びその画像編集方法並びにそのプログラム
US9496841B2 (en) * 2010-10-21 2016-11-15 Nokia Technologies Oy Recording level adjustment using a distance to a sound source
US20120113044A1 (en) * 2010-11-10 2012-05-10 Bradley Park Strazisar Multi-Sensor Device
KR101932688B1 (ko) * 2010-11-29 2018-12-28 삼성전자주식회사 휴대기기 및 이에 적용되는 ui 모드 제공 방법
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US20120169671A1 (en) * 2011-01-03 2012-07-05 Primax Electronics Ltd. Multi-touch input apparatus and its interface method using data fusion of a single touch sensor pad and an imaging sensor
TWI461962B (zh) * 2011-01-13 2014-11-21 Elan Microelectronics Corp 用以執行多手指手勢功能之計算裝置及方法
US8872773B2 (en) 2011-04-05 2014-10-28 Blackberry Limited Electronic device and method of controlling same
US20120256846A1 (en) * 2011-04-05 2012-10-11 Research In Motion Limited Electronic device and method of controlling same
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9182882B2 (en) 2011-04-12 2015-11-10 Autodesk, Inc. Dynamic creation and modeling of solid models
US8902222B2 (en) 2012-01-16 2014-12-02 Autodesk, Inc. Three dimensional contriver tool for modeling with multi-touch devices
US8947429B2 (en) 2011-04-12 2015-02-03 Autodesk, Inc. Gestures and tools for creating and editing solid models
JP5097288B2 (ja) * 2011-04-28 2012-12-12 シャープ株式会社 画像形成装置
US8773374B2 (en) * 2011-05-13 2014-07-08 Blackberry Limited Identification of touch point on touch screen device
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20120304131A1 (en) * 2011-05-27 2012-11-29 Jennifer Nan Edge gesture
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US20120304107A1 (en) * 2011-05-27 2012-11-29 Jennifer Nan Edge gesture
US9513799B2 (en) 2011-06-05 2016-12-06 Apple Inc. Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities
US8860675B2 (en) 2011-07-12 2014-10-14 Autodesk, Inc. Drawing aid system for multi-touch devices
KR101328054B1 (ko) * 2011-08-09 2013-11-08 엘지전자 주식회사 실감 진동을 발생시키는 영상표시장치 및 실감 진동 구현방법
US8971572B1 (en) 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9851889B2 (en) * 2011-09-16 2017-12-26 Kt Corporation Apparatus and method for rotating a displayed image by using multi-point touch inputs
US9507454B1 (en) * 2011-09-19 2016-11-29 Parade Technologies, Ltd. Enhanced linearity of gestures on a touch-sensitive surface
JP5460679B2 (ja) * 2011-11-28 2014-04-02 ソニー株式会社 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造
KR20130061993A (ko) * 2011-12-02 2013-06-12 (주) 지.티 텔레콤 터치스크린 상의 화면조작방법
JP2013117885A (ja) * 2011-12-02 2013-06-13 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
CN102566908A (zh) * 2011-12-13 2012-07-11 鸿富锦精密工业(深圳)有限公司 电子设备及其页面缩放方法
US9116611B2 (en) 2011-12-29 2015-08-25 Apple Inc. Devices, methods, and graphical user interfaces for providing multitouch inputs and hardware-based features using a single touch input
CN103186341B (zh) * 2012-01-03 2017-08-29 深圳富泰宏精密工业有限公司 在触控屏幕上控制文件缩放及旋转的系统及方法
US9652132B2 (en) * 2012-01-27 2017-05-16 Google Inc. Handling touch inputs based on user intention inference
US20130194194A1 (en) * 2012-01-27 2013-08-01 Research In Motion Limited Electronic device and method of controlling a touch-sensitive display
CN104115108B (zh) * 2012-02-16 2018-07-27 古野电气株式会社 信息显示装置以及显示模式切换方法
TW201334843A (zh) * 2012-02-20 2013-09-01 Fu Li Ye Internat Corp 具有觸控面板媒體的遊戲控制方法及該遊戲媒體
WO2013133863A1 (en) 2012-03-09 2013-09-12 Thomson Licensing Distributed control of synchronized content
CN103309596B (zh) * 2012-03-13 2016-12-14 深圳市世纪光速信息技术有限公司 一种输入法键盘的调整方法及其移动终端
US8881269B2 (en) 2012-03-31 2014-11-04 Apple Inc. Device, method, and graphical user interface for integrating recognition of handwriting gestures with a screen reader
US8866771B2 (en) 2012-04-18 2014-10-21 International Business Machines Corporation Multi-touch multi-user gestures on a multi-touch display
KR20130119129A (ko) * 2012-04-23 2013-10-31 삼성전자주식회사 윈도우 크기를 조절하기 위한 방법 및 그 전자 장치
JP2013232119A (ja) * 2012-04-27 2013-11-14 Panasonic Corp 入力装置、入力支援方法及びプログラム
US8923483B2 (en) * 2012-06-05 2014-12-30 Carestream Health, Inc. Rotation of an x-ray image on a display
US9077896B2 (en) * 2012-06-11 2015-07-07 Lg Electronics Inc. Mobile terminal for capturing image and controlling method thereof
US20130339859A1 (en) 2012-06-15 2013-12-19 Muzik LLC Interactive networked headphones
JP5502943B2 (ja) * 2012-06-29 2014-05-28 楽天株式会社 情報処理装置、認証装置、情報処理方法及び情報処理プログラム
CN103529976B (zh) * 2012-07-02 2017-09-12 英特尔公司 手势识别系统中的干扰消除
US9075460B2 (en) * 2012-08-10 2015-07-07 Blackberry Limited Method of momentum based zoom of content on an electronic device
US9507513B2 (en) 2012-08-17 2016-11-29 Google Inc. Displaced double tap gesture
CN104718518B (zh) * 2012-10-15 2017-03-01 夏普株式会社 带触摸面板的显示装置
US8539387B1 (en) * 2012-10-22 2013-09-17 Google Inc. Using beat combinations for controlling electronic devices
US9495097B2 (en) * 2012-11-09 2016-11-15 Pitcher AG Touch-sensitive electric apparatus and window operation method thereof
US9645734B2 (en) * 2012-11-21 2017-05-09 Wistron Corp. Optical touch devices and operation method thereof
US9285972B2 (en) * 2012-12-18 2016-03-15 Sap Se Size adjustment control for user interface elements
US20140249906A1 (en) * 2013-03-01 2014-09-04 Apple Inc. Media item collection pre-order fulfillment
WO2014165278A1 (en) * 2013-03-12 2014-10-09 Roger Marks Extended packet switch and method for remote forwarding control and remote port identification
US9082223B2 (en) * 2013-03-15 2015-07-14 Dreamworks Animation Llc Smooth manipulation of three-dimensional objects
WO2014168431A1 (ko) * 2013-04-10 2014-10-16 주식회사 지니틱스 터치이벤트 처리방법 및 이를 위한 장치
US9756288B2 (en) 2013-04-10 2017-09-05 Thomson Licensing Tiering and manipulation of peer's heads in a telepresence system
US20140325418A1 (en) * 2013-04-30 2014-10-30 Microsoft Corporation Automatically manipulating visualized data based on interactivity
FI20135508L (fi) * 2013-05-14 2014-11-15 Rovio Entertainment Ltd Kehittynyt kosketuskäyttöliittymä
KR20140140407A (ko) * 2013-05-29 2014-12-09 한국전자통신연구원 단말 및 상기 단말에서의 멀티 터치 동작을 제어하는 방법
US9396697B2 (en) * 2013-06-01 2016-07-19 Apple Inc. Intelligently placing labels
CN104395870B (zh) * 2013-06-05 2017-05-24 展讯通信(上海)有限公司 触摸检测方法及装置
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US20140375572A1 (en) * 2013-06-20 2014-12-25 Microsoft Corporation Parametric motion curves and manipulable content
WO2014204459A1 (en) 2013-06-20 2014-12-24 Thomson Licensing System and method to assist synchronization of distributed play out of control
US8930877B1 (en) 2013-06-27 2015-01-06 Zipalog, Inc. Method and system of change evaluation of an electronic design for verification confirmation
US9612736B2 (en) * 2013-07-17 2017-04-04 Korea Advanced Institute Of Science And Technology User interface method and apparatus using successive touches
DE102013107766A1 (de) * 2013-07-22 2015-01-22 Claas Selbstfahrende Erntemaschinen Gmbh Landmaschinensimulator
US9177362B2 (en) * 2013-08-02 2015-11-03 Facebook, Inc. Systems and methods for transforming an image
US20150049026A1 (en) * 2013-08-14 2015-02-19 Htc Corporation Handheld electronic device and input operation method of the same
KR102205906B1 (ko) * 2013-12-09 2021-01-22 삼성전자주식회사 이미지 내 오브젝트 윤곽선의 수정 방법 및 시스템
JP6552156B2 (ja) * 2014-03-07 2019-07-31 コニカミノルタ株式会社 データ処理装置、操作受付方法およびコンテンツ表示プログラム
US9851880B2 (en) * 2014-03-14 2017-12-26 Adobe Systems Incorporated Image rotation based on touch gestures
US10088921B2 (en) 2014-10-10 2018-10-02 Muzik Inc. Devices for sharing user interactions
US9684447B2 (en) 2014-11-03 2017-06-20 Snap-On Incorporated Methods and systems for displaying vehicle data parameters with drag-and-drop inputs
US10956003B2 (en) 2014-11-03 2021-03-23 Snap-On Incorporated Methods and systems for displaying vehicle data parameters with pinch-and-expand inputs
US9632656B2 (en) 2014-11-03 2017-04-25 Snap-On Incorporated Methods and systems for displaying vehicle data parameters with a uniform cursor movement
US9933915B2 (en) 2014-11-03 2018-04-03 Snap-On Incorporated Methods and systems for displaying vehicle data parameter graphs in different display orientations
US9880707B2 (en) 2014-11-03 2018-01-30 Snap-On Incorporated Methods and systems for displaying vehicle data parameters with operating condition indicators
KR101594946B1 (ko) * 2014-11-21 2016-02-17 스튜디오씨드코리아 주식회사 프로토타이핑 툴을 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
JP6436752B2 (ja) * 2014-12-04 2018-12-12 キヤノン株式会社 情報処理装置、情報処理装置における情報処理方法、並びにプログラム
US9961239B2 (en) 2015-06-07 2018-05-01 Apple Inc. Touch accommodation options
US10503264B1 (en) * 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US9740384B2 (en) * 2015-06-25 2017-08-22 Morega Systems Inc. Media device with radial gesture control and methods for use therewith
US10782863B2 (en) 2015-07-17 2020-09-22 Samsung Electronics Co., Ltd. Control interface
US10318128B2 (en) * 2015-09-30 2019-06-11 Adobe Inc. Image manipulation based on touch gestures
US10698601B2 (en) * 2016-11-02 2020-06-30 Ptc Inc. Second touch zoom control
CN106648378A (zh) * 2017-01-04 2017-05-10 北京奇虎科技有限公司 图像显示方法、装置及移动终端
CN107688432A (zh) * 2017-09-04 2018-02-13 中国电子科技集团公司第四十研究所 一种基于触控技术的电子测量仪器人机交互系统架构
JP6418299B1 (ja) * 2017-09-15 2018-11-07 株式会社セガゲームス 情報処理装置及びプログラム
JP2019166218A (ja) * 2018-03-26 2019-10-03 株式会社バンダイナムコエンターテインメント プログラム及びゲーム装置
CN109753215B (zh) * 2018-04-02 2020-03-27 北京字节跳动网络技术有限公司 一种窗口分屏显示方法、装置及设备
KR20200119427A (ko) * 2019-04-02 2020-10-20 현대자동차주식회사 차량 및 그 제어방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914624A (en) * 1988-05-06 1990-04-03 Dunthorn David I Virtual button for touch screen
JPH10232734A (ja) * 1997-02-20 1998-09-02 Sharp Corp 仮想キーボード
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7663607B2 (en) * 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
JP2001134382A (ja) * 1999-11-04 2001-05-18 Sony Corp 図形処理装置
US7138983B2 (en) * 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
US7030861B1 (en) * 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
JP4768143B2 (ja) * 2001-03-26 2011-09-07 株式会社リコー 情報入出力装置、情報入出力制御方法およびプログラム
US7023427B2 (en) * 2002-06-28 2006-04-04 Microsoft Corporation Method and system for detecting multiple touches on a touch-sensitive screen
US7656393B2 (en) * 2005-03-04 2010-02-02 Apple Inc. Electronic device having display and surrounding touch sensitive bezel for user interface and control
JP4295280B2 (ja) * 2003-08-29 2009-07-15 ノキア コーポレイション タッチベースユーザ入力装置で2点ユーザ入力を認識する方法および装置
JP4903371B2 (ja) * 2004-07-29 2012-03-28 任天堂株式会社 タッチパネルを用いたゲーム装置およびゲームプログラム
CN103365595B (zh) 2004-07-30 2017-03-01 苹果公司 用于触敏输入设备的手势
US7728821B2 (en) * 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
JP2008102179A (ja) 2006-10-17 2008-05-01 Matsushita Electric Ind Co Ltd 情報処理装置
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US8674948B2 (en) * 2007-01-31 2014-03-18 Perceptive Pixel, Inc. Methods of interfacing with multi-point input devices and multi-point input systems employing interfacing techniques
US8106892B2 (en) * 2007-10-29 2012-01-31 Sigmatel, Inc. Touch screen driver for resolving plural contemporaneous touches and methods for use therewith
WO2009060454A2 (en) 2007-11-07 2009-05-14 N-Trig Ltd. Multi-point detection on a single-point detection digitizer
TW200925966A (en) 2007-12-11 2009-06-16 J Touch Corp Method of controlling multi-point controlled controller
JP2009176114A (ja) 2008-01-25 2009-08-06 Mitsubishi Electric Corp タッチパネル装置及びユーザインタフェース装置
JP2010086230A (ja) * 2008-09-30 2010-04-15 Sony Corp 情報処理装置、情報処理方法およびプログラム
US8723988B2 (en) * 2009-07-17 2014-05-13 Sony Corporation Using a touch sensitive display to control magnification and capture of digital images by an electronic device

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140122687A (ko) * 2013-04-10 2014-10-20 주식회사 지니틱스 터치이벤트 처리방법 및 이를 위한 장치
KR20150040825A (ko) * 2013-07-17 2015-04-15 한국과학기술원 연속적인 터치를 이용한 사용자 인터페이스 방법 및 장치
US10616490B2 (en) 2015-04-23 2020-04-07 Apple Inc. Digital viewfinder user interface for multiple cameras
US11102414B2 (en) 2015-04-23 2021-08-24 Apple Inc. Digital viewfinder user interface for multiple cameras
US11711614B2 (en) 2015-04-23 2023-07-25 Apple Inc. Digital viewfinder user interface for multiple cameras
US11490017B2 (en) 2015-04-23 2022-11-01 Apple Inc. Digital viewfinder user interface for multiple cameras
US10602053B2 (en) 2016-06-12 2020-03-24 Apple Inc. User interface for camera effects
US11641517B2 (en) 2016-06-12 2023-05-02 Apple Inc. User interface for camera effects
US11245837B2 (en) 2016-06-12 2022-02-08 Apple Inc. User interface for camera effects
US11962889B2 (en) 2016-06-12 2024-04-16 Apple Inc. User interface for camera effects
US11165949B2 (en) 2016-06-12 2021-11-02 Apple Inc. User interface for capturing photos with different camera magnifications
KR20180131644A (ko) * 2016-06-12 2018-12-10 애플 인크. 카메라 효과를 위한 사용자 인터페이스
US11687224B2 (en) 2017-06-04 2023-06-27 Apple Inc. User interface camera effects
US10528243B2 (en) 2017-06-04 2020-01-07 Apple Inc. User interface camera effects
US11204692B2 (en) 2017-06-04 2021-12-21 Apple Inc. User interface camera effects
US11112964B2 (en) 2018-02-09 2021-09-07 Apple Inc. Media capture lock affordance for graphical user interface
US11977731B2 (en) 2018-02-09 2024-05-07 Apple Inc. Media capture lock affordance for graphical user interface
US11178335B2 (en) 2018-05-07 2021-11-16 Apple Inc. Creative camera
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
US10523879B2 (en) 2018-05-07 2019-12-31 Apple Inc. Creative camera
US11468625B2 (en) 2018-09-11 2022-10-11 Apple Inc. User interfaces for simulated depth effects
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11895391B2 (en) 2018-09-28 2024-02-06 Apple Inc. Capturing and displaying images with multiple focal planes
US11669985B2 (en) 2018-09-28 2023-06-06 Apple Inc. Displaying and editing images with depth information
US10674072B1 (en) 2019-05-06 2020-06-02 Apple Inc. User interfaces for capturing and managing visual media
US11223771B2 (en) 2019-05-06 2022-01-11 Apple Inc. User interfaces for capturing and managing visual media
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10791273B1 (en) 2019-05-06 2020-09-29 Apple Inc. User interfaces for capturing and managing visual media
US10735643B1 (en) 2019-05-06 2020-08-04 Apple Inc. User interfaces for capturing and managing visual media
US10735642B1 (en) 2019-05-06 2020-08-04 Apple Inc. User interfaces for capturing and managing visual media
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
US10681282B1 (en) 2019-05-06 2020-06-09 Apple Inc. User interfaces for capturing and managing visual media
US10652470B1 (en) 2019-05-06 2020-05-12 Apple Inc. User interfaces for capturing and managing visual media
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media
KR20210072994A (ko) * 2019-12-10 2021-06-18 인천대학교 산학협력단 디지털 길이 측정 장치
US11617022B2 (en) 2020-06-01 2023-03-28 Apple Inc. User interfaces for managing media
US11330184B2 (en) 2020-06-01 2022-05-10 Apple Inc. User interfaces for managing media
US11054973B1 (en) 2020-06-01 2021-07-06 Apple Inc. User interfaces for managing media
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11416134B1 (en) 2021-04-30 2022-08-16 Apple Inc. User interfaces for altering visual media
US11418699B1 (en) 2021-04-30 2022-08-16 Apple Inc. User interfaces for altering visual media
US11350026B1 (en) 2021-04-30 2022-05-31 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media

Also Published As

Publication number Publication date
US20110102464A1 (en) 2011-05-05
CN102640100B (zh) 2015-11-25
EP2497016A1 (en) 2012-09-12
CN102640100A (zh) 2012-08-15
WO2011056387A1 (en) 2011-05-12
US8957918B2 (en) 2015-02-17
JP2013510370A (ja) 2013-03-21

Similar Documents

Publication Publication Date Title
KR20120093322A (ko) 단일-터치 터치면 상에서 멀티-터치 제스처들을 구현하는 방법
US10495527B2 (en) Force-sensitive fingerprint sensing input
EP3745303B1 (en) Implementation of biometric authentication with error condition detection and display of an error indication
CN105556443B (zh) 使用动态阈值对压感板的点击检测的方法和设备
WO2018157662A1 (zh) 一种移动终端的显示控制方法及移动终端
US8970503B2 (en) Gestures for devices having one or more touch sensitive surfaces
US20150145820A1 (en) Graphics editing method and electronic device using the same
JP6062913B2 (ja) タッチに基づいた対象動作制御システム及びその方法
US8525776B2 (en) Techniques for controlling operation of a device with a virtual touchscreen
WO2018196699A1 (zh) 一种指纹识别区域的显示方法和移动终端
KR101521337B1 (ko) 재배치가능한 터치면 상의 제스처 방위의 검출
US20090243998A1 (en) Apparatus, method and computer program product for providing an input gesture indicator
US9965607B2 (en) Expedited biometric validation
WO2012145131A1 (en) Multi-modal capacitive touchscreen interface
CN106372544B (zh) 经由保持在原地的输入对象的暂时安全访问
US20150062027A1 (en) Electronic device and method for controlling screen
US20160180184A1 (en) Far-Field Sensing for Rotation of Finger
US10180763B2 (en) Touch detection
JP2015141526A (ja) 情報処理装置、情報処理方法、及びプログラム
US20140002339A1 (en) Surface With Touch Sensors for Detecting Proximity
JP6401220B2 (ja) タッチに基づいた対象動作制御システム及びその方法
US20140085340A1 (en) Method and electronic device for manipulating scale or rotation of graphic on display
JP6484859B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR20150102364A (ko) 압력감지가 가능한 터치 기반 사용자 인터페이스 제어 장치 및 방법
TWI444878B (zh) 表面電容式觸控面板及其控制方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application