KR100958490B1 - 사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법 - Google Patents

사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법 Download PDF

Info

Publication number
KR100958490B1
KR100958490B1 KR1020077004785A KR20077004785A KR100958490B1 KR 100958490 B1 KR100958490 B1 KR 100958490B1 KR 1020077004785 A KR1020077004785 A KR 1020077004785A KR 20077004785 A KR20077004785 A KR 20077004785A KR 100958490 B1 KR100958490 B1 KR 100958490B1
Authority
KR
South Korea
Prior art keywords
touch
scroll wheel
delete delete
finger
virtual scroll
Prior art date
Application number
KR1020077004785A
Other languages
English (en)
Other versions
KR20070040821A (ko
Inventor
스티브 호텔링
조슈아 에이. 스트릭콘
브라이언 큐. 후피
던컨 로버트 케르
임란 쵸드리
그레그 크리스티
조나단 피. 이브
바스 오르딩
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/903,964 external-priority patent/US8479122B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20070040821A publication Critical patent/KR20070040821A/ko
Application granted granted Critical
Publication of KR100958490B1 publication Critical patent/KR100958490B1/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/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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/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/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

사용자 인터페이스 방법이 개시되어 있다. 이 방법은 터치를 검출하는 단계, 및 이어서 터치가 검출될 때 사용자 인터페이스 모드를 결정하는 단계를 포함한다. 이 방법은 사용자 인터페이스 모드에 기초하여 또 검출된 터치에 응답하여 하나 이상의 GUI 요소를 활성화시키는 단계를 더 포함한다.
터치 스크린, 그래픽 사용자 인터페이스, 제스처

Description

사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는 방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는 전자 장치 상에서 수행되는 방법, 디스플레이 및 터치 감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법, 컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해 플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터 구현 방법{MODE-BASED GRAPHICAL USER INTERFACES FOR TOUCH SENSITIVE INPUT DEVICES}
본 발명은 일반적으로 터치 감지 장치와 연관된 제스처(gesturing)에 관한 것이다.
현재, 컴퓨터 시스템에서 동작들을 수행하는 많은 방식의 입력 장치가 있다. 이 동작들은 일반적으로 커서를 이동시켜 디스플레이 화면 상에서 선택을 하는 것에 대응한다. 이 동작들은 또한 페이지 넘김(paging), 스크롤링, 패닝(panning), 줌잉(zooming), 기타 등등도 포함할 수 있다. 예로서, 입력 장치는 버튼, 스위치, 키보드, 마우스, 트랙볼, 터치 패드, 조이스틱, 터치 스크린, 기타 등등을 포함할 수 있다. 이들 장치 각각은 컴퓨터 시스템을 설계할 때 고려되는 장점 및 단점을 갖는다.
버튼 및 스위치는 일반적으로 사실상 기계적인 것이며, 커서를 이동시키는 것 및 선택을 하는 것과 관련하여 제한된 제어를 제공한다. 예를 들어, 이들은 일반적으로 커서를 특정 방향으로 이동시키는 것(예를 들어, 화살키) 또는 특정의 선택을 하는 것(예를 들어, Enter, Delete, 숫자, 기타 등등)에 전용되어 있다.
마우스에 있어서, 입력 포인터의 움직임은, 사용자가 표면을 따라 마우스를 움직일 때, 마우스의 상대적인 움직임에 대응한다. 트랙볼에 있어서, 입력 포인터의 움직임은, 사용자가 하우징 내에서 볼을 움직일 때, 볼의 상대적 움직임에 대응한다. 마우스 및 트랙볼은 또한 선택을 하기 위한 하나 이상의 버튼을 포함한다. 마우스는 또한 사용자가 단지 휠을 전방으로 또는 후방으로 굴리는 것만으로 GUI를 통해 움직일 수 있게 해주는 스크롤 휠을 포함할 수 있다.
터치 패드에 있어서, 입력 포인터의 움직임은, 사용자의 손가락이 터치 패드의 표면을 따라 움직일 때, 사용자의 손가락의 상대적 움직임에 대응한다. 반면에, 터치 스크린은 화면을 덮고 있는 터치 감지 투명 패널을 갖는 일종의 디스플레이 화면이다. 터치 스크린을 사용할 때, 사용자는 (보통 스타일러스 또는 손가락으로) 디스플레이 화면 상에서 직접 GUI 객체를 가리킴으로써 디스플레이 화면 상에서 선택을 한다.
부가적인 기능을 제공하기 위해, 이들 입력 장치 중 어떤 것으로 제스처가 구현되었다. 예로서, 터치 패드에서는, 터치 패드의 표면 상에서 하나 이상의 탭(tap)이 검출될 때 선택이 행해질 수 있다. 어떤 경우에, 터치 패드의 임의의 일부분이 태핑될 수 있고, 다른 경우에, 터치 패드의 전용된 일부분이 태핑될 수 있다. 선택에 부가하여, 터치 패드의 가장자리에서 손가락 움직임을 사용하여 스 크롤링이 개시될 수 있다.
Apple Computer, Inc.에 양도된, 미국 특허 제5,612,719호 및 제5,590,219호는 제스처의 어떤 다른 사용에 대해 기술하고 있다. 미국 특허 제5,612,719호는 스크린에서 버튼 상에서 또는 그 근방에서 행해지는 적어도 2개의 서로 다른 버튼 제스처에 반응하는 온스크린 버튼(onscreen button)을 개시하고 있다. 미국 특허 제5,590,219호는 컴퓨터 시스템의 디스플레이 화면 상에서 타원형 제스처 입력을 인식하는 방법을 개시하고 있다.
최근에, 보다 진보된 제스처가 구현되었다. 예를 들어, 스크롤링 제스처가 인식되도록 터치 패드 상에 4개의 손가락을 올려놓고 그 후에 스크롤링 이벤트를 수행하기 위해 터치 패드 상에서 이들 손가락을 움직임으로써 스크롤링이 개시될 수 있다. 그렇지만, 이들 진보된 제스처를 구현하는 방법들은 몇가지 단점을 갖는다. 예로서, 제스처가 설정되면, 사용자가 제스처 상태를 리셋할 때까지는 그 제스처가 변경될 수 없다. 터치 패드에서, 예를 들어, 4개의 손가락이 스크롤링과 대등하고 4개의 손가락이 인식된 후에 사용자가 엄지손가락을 내려 놓는 경우, 손 전체를 터치 패드로부터 들어올리고 다시 내려 놓을 때까지(예를 들어, 리셋 때까지), 4개의 손가락 및 엄지손가락을 포함하는 새로운 제스처와 연관된 임의의 동작이 수행되지 않는다. 간단히 말하면, 사용자는 제스처 상태를 중간에 변경할 수 없다. 유사한 맥락에서, 임의의 주어진 시간에 단지 하나의 제스처만이 수행될 수 있다. 즉, 다수의 제스처가 동시에 수행될 수 없다.
이상의 내용에 기초하여, 터치 감지 장치 상에서 제스처가 수행되는 방식에 개선이 필요하다.
본 발명은 제스처 및 터치 감지 장치로 제스처를 구현하는 방법에 관한 것이다. 터치 감지 장치의 예로는 터치 스크린 및 터치 패드가 있다. 본 발명은 또한 사용자 인터페이스 및 디스플레이를 갖는 사용자 인터페이스를 구현하는 방법에 관한 것이다.
본 발명은 방법, 그래픽 사용자 인터페이스, 컴퓨팅 장치, 또는 컴퓨터 판독가능 매체를 비롯한, 수많은 방식으로 구현될 수 있다. 본 발명의 몇가지 실시예에 대해 이하에 기술한다.
일 실시예에서, 본 발명은 사용자 인터페이스 방법에 관한 것이다. 이 방법은 터치를 검출하는 단계를 포함한다. 이 방법은 또한 터치가 검출될 때 사용자 인터페이스 모드를 판정하는 단계를 포함한다. 이 방법은 또한 상기 사용자 인터페이스 모드에 기초하여 또 검출된 터치에 응답하여 하나 이상의 GUI 요소를 활성화하는 단계를 포함한다.
일 실시예에서, 본 발명은 사용자 인터페이스 방법에 관한 것이다. 이 방법은 일군의 미디어 항목들을 디스플레이하는 단계를 포함한다. 이 방법은 또한 디스플레이되어 있는 일군의 미디어 항목들 상에서 터치를 검출하는 단계를 포함한다. 이 방법은 또한 디스플레이된 미디어 항목들 상에서 터치가 검출될 때 가상 스크롤 휠을 활성화시키는 단계를 포함한다. 가상 스크롤 휠의 활성화는 가상 스크롤 휠의 기능을 디스플레이하고 인에이블시키는 단계를 포함하며, 이 가상 스크롤 휠은 상기 일군의 미디어 항목들을 통해 횡단하기 위해 사용자가 그의 손가락을 빙빙 돌리는 터치 영역을 제공한다. 이 방법은 또한 상기 가상 스크롤 휠의 터치 영역에 대해 터치 이벤트가 수행되는지를 판정하는 단계를 포함한다. 게다가, 이 방법은 스크롤링 터치 이벤트가 수행될 때 일군의 미디어 항목들을 통해 스크롤하는 단계를 포함한다.
일 실시예에서, 본 발명은 디스플레이 및 터치 스크린을 갖는 사용자-조작되는 전자 장치 상에서 수행되는 방법에 관한 것이다. 이 방법은 터치가 검출되는지를 판정하는 단계를 포함한다. 이 방법은 또한 터치가 검출될 때 현재의 동작 조건을 모니터링 및 분석하는 단계를 포함한다. 이 방법은 또한 제1 일련의 동작 조건에 대해 제1 GUI 요소를 활성화시키는 단계를 포함한다. 이 방법은 또한 제2 일련의 동작 조건에 대해 제2 GUI 요소를 활성화시키는 단계를 포함한다.
일 실시예에서, 본 발명은 디스플레이 및 터치 감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법에 관한 것이다. 이 방법은 터치를 감지하는 단계를 포함한다. 이 방법은 또한 터치가 검출될 때 GUI 요소를 디스플레이하고 인에이블시키는 단계를 포함한다. 상기 GUI 요소는, (a) 상기 컴퓨팅 장치 상에서 현재 실행 중인 애플리케이션, (b) 상기 애플리케이션의 현재 상태, 및 (c) 상기 터치의 하나 이상의 특성 중 적어도 하나에 기초한다. 상기 특성은, 예를 들어, 터치 장소, 터치 ID, 터치 횟수, 및 터치 동작을 포함한다. 이 방법은 또한 이하의 이벤트, 즉 (a) 상기 터치가 더 이상 검출되지 않음, (b) 사전 설정된 양의 시간 동안 터치가 검출되지 않았음, (c) 디스플레이하고 인에이블시키는 단계 이후에 어떤 양의 시간이 경과했음, 및 (d) 사용자 선택 중 하나가 일어날 때, 상기 GUI 요소를 디스에이블시키고 디스플레이로부터 제거하는 단계를 포함한다.
다른 실시예에서, 본 발명은 컴퓨팅 시스템에 관한 것이다. 이 컴퓨팅 시스템은 그래픽 사용자 인터페이스를 디스플레이하도록 구성되어 있는 디스플레이 장치를 포함한다. 이 시스템은 또한 상기 디스플레이 장치 상에 배치된 터치 스크린을 포함한다. 상기 터치 스크린은 상기 디스플레이 장치 상에서 일어나는 터치를 검출하도록 구성되어 있다. 이 시스템은 또한 상기 디스플레이 장치 및 상기 터치 스크린에 연결되어 동작하는 프로세서를 포함한다. 상기 프로세서는 터치에 응답하여 하나 이상의 GUI 요소를 디스플레이하도록 상기 디스플레이 장치에 지시하고 또, 상기 디스플레이된 GUI 요소에 대해 터치 이벤트가 검출될 때, 상기 GUI 요소와 연관된 동작들을 수행한다.
다른 실시예에서, 본 발명은 컴퓨팅 장치에 관한 것이다. 이 컴퓨팅 장치는 프로세서를 포함한다. 이 컴퓨팅 장치는 또한 터치 이벤트를 감지할 수 있는 터치 스크린을 포함한다. 이 컴퓨팅 장치는 또한 복수의 미디어 항목들 및 가상 스크롤 휠을 동시에 디스플레이하도록 구성되어 있는 디스플레이를 포함한다. 상기 가상 스크롤 휠은 스크롤링 동작을 구현하기 위해 터치 이벤트가 수행되는 영역을 제공한다. 상기 스크롤링 동작은 사용자가 상기 복수의 미디어 항목들을 통해 횡단할 수 있게 해준다.
본 발명의 다른 측면 및 이점은, 본 발명의 원리를 예로서 설명하고 있는, 첨부 도면과 관련하여 기술되어 있는 이하의 상세한 설명으로부터 자명하게 될 것이다.
본 발명은 동일 참조 번호가 동일 구성 요소를 나타내는 첨부 도면과 관련하여 이하의 상세한 설명에 의해 용이하게 이해될 것이다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 블록도.
도 2는 본 발명의 일 실시예에 따른 다중점 프로세싱 방법(multipoint processing method)을 나타낸 도면.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 이미지를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 일군의 특징을 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 파라미터 계산 방법을 나타낸 도면.
도 6a 내지 도 6g는 본 발명의 일 실시예에 따른 회전 제스처를 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 터치-기반 방법을 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 터치-기반 방법을 나타낸 도면.
도 9는 본 발명의 일 실시예에 따른 터치-기반 방법을 나타낸 도면.
도 10은 본 발명의 일 실시예에 따른 줌 제스처 방법을 나타낸 도면.
도 11a 내지 도 11h는 본 발명의 일 실시예에 따른 줌잉 시퀀스를 나타낸 도면.
도 12는 본 발명의 일 실시예에 따른 팬(pan) 방법을 나타낸 도면.
도 13a 내지 도 13d는 본 발명의 일 실시예에 따른 패닝 시퀀스(panning sequence)를 나타낸 도면.
도 14는 본 발명의 일 실시예에 따른 회전 방법을 나타낸 도면.
도 15a 내지 도 15c는 본 발명의 일 실시예에 따른 회전 시퀀스를 나타낸 도면.
도 16은 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 17a 내지 도 17e는 본 발명의 일 실시예에 따른 플로팅 컨트롤 시퀀스(floating control sequence)를 나타낸 도면.
도 18은 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 19a 내지 도 19d는 본 발명의 일 실시예에 따른 타겟 줌잉 시퀀스를 나타낸 도면.
도 20은 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 21a 내지 도 21d는 본 발명의 일 실시예에 따른 페이지 넘김 시퀀스를 나타낸 도면.
도 22는 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 23a 내지 도 23d는 본 발명의 일 실시예에 따른 관성 시퀀스를 나타낸 도면.
도 24는 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 25a 내지 도 25d는 본 발명의 일 실시예에 따른 키보드 시퀀스를 나타낸 도면.
도 26은 본 발명의 일 실시예에 따른 GUI 동작 방법을 나타낸 도면.
도 27a 내지 도 27d는 본 발명의 일 실시예에 따른 스크롤 휠 시퀀스를 나타낸 도면.
도 28은 본 발명의 일 실시예에 따른 사용자 인터페이스 방법을 나타낸 도면.
도 29a 내지 도 29d는 본 발명의 일 실시예에 따른 전환 효과를 나타낸 도면.
도 30a 내지 도 30d는 본 발명의 다른 실시예에 따른 전환 효과를 나타낸 도면.
도 31a 내지 도 31d는 본 발명의 다른 실시예에 따른 전환 효과를 나타낸 도면.
도 32는 본 발명의 일 실시예에 따른 판정 방법을 나타낸 도면.
도 33은 본 발명의 일 실시예에 따른 사용자 인터페이스 방법을 나타낸 도면.
도 34a 내지 도 34f는 본 발명의 일 실시예에 따른, 도 33에 도시된 방법과 연관된 시퀀스를 나타낸 도면.
도 35a 내지 도 35f는 본 발명의 일 실시예에 따른, 도 33에 도시된 방법과 연관된 시퀀스를 나타낸 도면.
도 36a 내지 도 36c는 본 발명의 일 실시예에 따른 사용자 인터페이스 시퀀스를 나타낸 도면.
도 37은 본 발명의 일 실시예에 따른 사용자 인터페이스 방법을 나타낸 도 면.
도 38a 내지 도 38j는 본 발명의 일 실시예에 따른 사용자 인터페이스 시퀀스를 나타낸 도면.
본 발명은 제스처 및 터치 감지 장치로 제스처를 구현하는 방법에 관한 것이다. 터치 감지 장치의 예로는 터치 스크린 및 터치 패드가 있다. 본 발명은 또한 사용자 인터페이스 및 디스플레이를 갖는 사용자 인터페이스를 구현하는 방법에 관한 것이다. 본 발명의 한 측면은 하나 이상의 조건에 기초하여 사용자 인터페이스 모드를 판정하는 것에 관한 것이다. 본 발명의 다른 측면은 사용자 인터페이스 모드에 기초하여 하나 이상의 GUI 요소를 활성화시키는 것(예를 들어, GUI 요소를 디스플레이하는 것)에 관한 것이다. 본 발명의 다른 측면은 가상 스크롤 휠에 관한 것이다.
본 발명의 이들 및 다른 측면은 도 1 내지 도 38j를 참조하여 이하에서 기술된다. 그렇지만, 당업자라면, 본 발명이 이들 제한된 실시예를 넘어 확장되기 때문에, 이들 도면과 관련하여 본 명세서에 주어진 상세한 설명이 예시를 위한 것임을 용이하게 잘 알 것이다.
도 1은 본 발명의 일 실시예에 따른 예시적인 컴퓨터 시스템(50)의 블록도이다. 컴퓨터 시스템(50)은 데스크톱, 랩톱, 태블릿 또는 핸드헬드 컴퓨터 등의 퍼스널 컴퓨터 시스템에 대응할 수 있다. 컴퓨터 시스템은 또한 셀 전화, PDA, 전용 미디어 플레이어, 가전 기기, 기타 등등의 컴퓨팅 장치에 대응할 수 있다.
도 1에 도시된 예시적인 컴퓨터 시스템(50)은 명령어를 실행하고 또 컴퓨터 시스템(50)과 연관된 동작을 수행하도록 구성되어 있는 프로세서(56)를 포함한다. 예를 들면, 예를 들어 메모리로부터 검색된 명령어를 사용하여, 프로세서(56)는 컴퓨터 시스템(50)의 컴포넌트들 간의 입력 및 출력 데이터의 수신 및 처리를 제어할 수 있다. 프로세서(56)는 단일 칩, 다수의 칩 또는 다수의 전기 부품 상에 구현될 수 있다. 예를 들어, 전용 또는 임베디드 프로세서, 단일 목적 프로세서, 컨트롤러, ASIC, 기타 등등을 비롯하여 여러가지 아키텍처가 프로세서(56)에 대해 사용될 수 있다.
대부분의 경우에, 프로세서(56)는, 운영 체제와 함께, 컴퓨터 코드를 실행하고 데이터를 생성 및 사용하는 동작을 한다. 운영 체제는 일반적으로 공지되어 있으며 이에 대해 보다 상세히 기술하지 않는다. 예로서, 운영 체제는 OS/2, DOS, Unix, Linux, Palm OS, 기타 등등에 대응할 수 있다. 운영 체제는 또한 제한된 목적의 기기형 컴퓨팅 장치에 사용될 수 있는 것 등의 특수 목적 운영 체제일 수 있다. 운영 체제, 다른 컴퓨터 코드 및 데이터는 프로세서(56)와 연결되어 동작하는 메모리 블록(58) 내에 존재할 수 있다. 메모리 블록(58)은 일반적으로 컴퓨터 시스템(50)에 의해 사용되는 컴퓨터 코드 및 데이터를 저장하는 장소를 제공한다. 예로서, 메모리 블록(58)은 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브 및/또는 기타 등등을 포함할 수 있다. 정보는 또한 분리형 저장 매체 상에 존재하고, 필요할 때, 컴퓨터 시스템(50) 상으로 로드 또는 설치될 수 있다. 분리형 저장 매체는, 예를 들어, CD-ROM, PC-CARD, 메모리 카드, 플로피 디스크, 자기 테이프, 및 네트워크 컴포넌트를 포함한다.
컴퓨터 시스템(50)은 또한 프로세서(56)에 연결되어 동작하는 디스플레이 장치(68)를 포함한다. 디스플레이 장치(68)는 액정 디스플레이(LCD)(예를 들어, 능동 매트릭스, 수동 매트릭스, 기타 등등)일 수 있다. 다른 대안으로서, 디스플레이 장치(68)는 단색 디스플레이, CGA(color graphics adapter) 디스플레이, EGA(enhanced graphics adapter) 디스플레이, VGA(variable-graphics-array) 디스플레이, 수퍼 VGA 디스플레이, CRT(cathode ray tube), 기타 등등의 모니터일 수 있다. 디스플레이 장치는 또한 플라즈마 디스플레이 또는 전자적 링크로 구현되는 디스플레이에 대응할 수 있다.
디스플레이 장치(68)는 일반적으로 컴퓨터 시스템의 사용자와 운영 체제 또는 운영 체제 상에서 실행 중인 애플리케이션 간의 사용하기 쉬운 인터페이스를 제공하는 그래픽 사용자 인터페이스(GUI)(69)를 디스플레이하도록 구성되어 있다. 일반적으로 말하면, GUI(69)는 프로그램, 파일, 및 동작 옵션들을 그래픽 이미지로 표현한다. 그래픽 이미지는 윈도우, 필드, 대화상자, 메뉴, 아이콘, 버튼, 커서, 스크롤 바, 기타 등등을 포함할 수 있다. 이러한 이미지는 미리 정의된 레이아웃으로 정렬될 수 있거나, 사용자가 취하고 있는 특정의 조치를 돕기 위해 동적으로 생성될 수 있다. 동작 동안에, 사용자는 여러가지 그래픽 이미지와 연관된 기능 및 작업을 개시하기 위해 그 이미지를 선택 및 활성화할 수 있다. 예로서, 사용자는 윈도우의 열기, 닫기, 최소화, 또는 최대화를 행하는 버튼, 또는 특정 프로그램을 기동시키는 아이콘을 선택할 수 있다. GUI(69)는, 그에 부가하여 또는 다른 대 안으로서, 사용자를 위해 디스플레이 장치(68) 상에 비대화형 텍스트 및 그래픽 등의 정보를 디스플레이할 수 있다.
컴퓨터 시스템(50)은 또한 프로세서(56)에 연결되어 동작하는 입력 장치(70)를 포함한다. 입력 장치(70)는 외부 세계로부터 컴퓨터 시스템(50) 내로 데이터를 전송하도록 구성되어 있다. 입력 장치(70)는, 예를 들어, 추적을 수행하고 또 디스플레이(68) 상에서 GUI(69)와 관련하여 선택을 하기 위해 사용될 수 있다. 입력 장치(70)는 또한 컴퓨터 시스템(50)에서 명령을 발행하는 데 사용될 수 있다. 입력 장치(70)는 사용자의 터치로부터 입력을 수신하고 이 정보를 프로세서(56)로 전송하도록 구성되어 있는 터치 감지 장치를 포함할 수 있다. 예로서, 터치 감지 장치는 터치 패드 또는 터치 스크린에 대응할 수 있다. 많은 경우에, 터치-감지 장치는 터치는 물론, 터치 감지 표면 상에서의 터치의 위치 및 크기를 인식한다. 터치 감지 수단은 이 터치를 프로세서(56)에 보고하고, 프로세서(56)는 그의 프로그래밍에 따라 이 터치를 해석한다. 예를 들어, 프로세서(56)는 특정의 터치에 따라 작업을 개시할 수 있다. 터치를 로컬적으로 처리하고 컴퓨터 시스템의 메인 프로세서에 대한 요구를 감소시키기 위해 전용 프로세서가 사용될 수 있다. 터치 감지 장치는 용량성 감지, 저항성 감지, 표면 탄성파 감지, 압력 감지, 광학 감지, 및/또는 기타 등등(이에 한정되는 것은 아님)을 비롯한 감지 기술에 기초할 수 있다. 게다가, 터치 감지 수단은 단일점 감지 또는 다중점 감지에 기초할 수 있다. 단일점 감지는 단일의 터치만을 구별할 수 있는 반면, 다중점 감지는 동시에 일어나는 다수의 터치를 구별할 수 있다.
입력 장치(70)는 디스플레이(68) 상에 또는 그 전방에 배치되어 있는 터치 스크린일 수 있다. 터치 스크린(70)은 디스플레이 장치(68)와 일체로 되어 있을 수 있거나 별개의 구성요소일 수 있다. 터치 스크린(70)은 터치 패드, 마우스, 기타 등등의 다른 입력 기술보다 몇가지 이점을 갖는다. 한가지 이점으로서, 터치 스크린(70)은 디스플레이(68)의 전방에 배치되며, 따라서 사용자가 GUI(69)를 직접 조작할 수 있다. 예를 들어, 사용자는 단지 제어될 객체 상에 그의 손가락을 올려 놓을 수 있다. 터치패드에서는, 이것과 같은 일대일 관계가 없다. 터치패드에 있어서, 터치패드는 디스플레이로부터 떨어져 일반적으로 다른 평면에 놓여 있다. 예를 들어, 디스플레이는 일반적으로 수직 평면에 위치해 있고, 터치패드는 일반적으로 수평 평면에 위치해 있다. 이것은 그의 사용을 덜 직관적이게 하며, 따라서 터치 스크린과 비교할 때 더 어렵다. 터치 스크린인 것에 부가하여, 입력 장치(70)는 다중점 입력 장치일 수 있다. 다중점 입력 장치는, 이들이 2개 이상의 객체(손가락)를 구별할 수 있다는 점에서, 종래의 단일점 장치보다 이점을 갖는다. 단일점 장치는 다수의 객체를 전혀 구별할 수 없다. 예로서, 본 명세서에서 사용될 수 있는 다중점 터치 스크린은, 동시 계류 중이고 공동 양도된, 미국 특허 출원 제10/840,862호에 보다 상세히 도시되고 기술되어 있으며, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.
컴퓨터 시스템(50)은 또한 하나 이상의 I/O 장치(80)에 연결하기 위한 기능을 포함한다. 예로서, I/O 장치(80)는 키보드, 프린터, 스캐너, 카메라, 스피커, 및/또는 기타 등등에 대응할 수 있다. I/O 장치(80)는 컴퓨터 시스템(50)과 일체 로 되어 있을 수 있거나, 별개의 구성요소(예를 들어, 주변 장치)일 수 있다. 어떤 경우에, I/O 장치(80)는 유선 연결(예를 들어, 케이블/포트)을 통해 컴퓨터 시스템(50)에 연결될 수 있다. 다른 경우에, I/O 장치(80)는 무선 연결을 통해 컴퓨터 시스템(50)에 연결될 수 있다. 예로서, 데이터 링크는 PS/2, USB, IR, RF, 블루투스 또는 기타 등등에 대응할 수 있다.
본 발명의 일 실시예에 따르면, 컴퓨터 시스템(50)은 입력 장치(70)에 가해지는 제스처(85)를 인식하고 이 제스처(85)에 기초하여 컴퓨터 시스템(50)의 측면들을 제어하도록 설계되어 있다. 어떤 경우에, 제스처는 하나 이상의 특정의 컴퓨팅 동작에 매핑되는, 입력장치와의 양식화된 상호작용으로서 정의된다. 제스처(85)는 여러가지 손을 통해, 보다 상세하게는 손가락 움직임을 통해 행해질 수 있다. 다른 대안으로서 또는 그에 부가하여, 제스처는 스타일러스로 행해질 수 있다. 이들 경우 모두에서, 입력 장치(70)는 제스처(85)를 수신하고, 프로세서(56)는 제스처(85)와 연관된 동작들을 수행하는 명령어들을 실행한다. 게다가, 메모리 블록(58)은 운영 체제 또는 별도의 애플리케이션의 일부일 수 있는 제스처 작동 프로그램(88)을 포함할 수 있다. 제스처 작동 프로그램(88)은 일반적으로 제스처(85)의 발생을 인식하고 그 제스처(85) 및/또는 제스처(85)에 응답하여 무슨 조치(들)이 취해져야 하는지를 하나 이상의 소프트웨어 에이전트에게 알려주는 일련의 명령어를 포함한다.
사용자가 하나 이상의 제스처를 행할 때, 입력 장치(70)는 제스처 정보를 프로세서(56)로 전달한다. 메모리(58)로부터의 명령어, 보다 상세하게는 제스처 작 동 프로그램(88)을 사용하여, 프로세서(56)는 제스처(85)를 해석하고 메모리(58), 디스플레이(68) 및 I/O 장치(80) 등의 컴퓨터 시스템(50)의 서로 다른 컴포넌트를 제어한다. 제스처(85)는 메모리(58)에 저장된 애플리케이션에서의 동작을 수행하고, 디스플레이(68) 상에 나타난 GUI 객체를 수정하며, 메모리(58)에 저장된 데이터를 수정하고, 및/또는 I/O 장치(80)에서의 동작을 수행하는 명령으로서 식별될 수 있다. 예로서, 이들 명령은 줌잉, 패닝, 스크롤링, 페이지 넘김, 회전, 크기조정, 기타 등등과 연관되어 있을 수 있다. 추가의 예로서, 명령은 또한 특정의 프로그램을 기동시키는 것, 파일 또는 문서를 여는 것, 메뉴를 보는 것, 선택을 하는 것, 명령어를 실행하는 것, 컴퓨터 시스템에 로그온하는 것, 인가된 개인에게 컴퓨터 시스템의 제한된 영역에의 액세스를 허용하는 것, 컴퓨터 바탕화면의 사용자 선호 배열과 연관된 사용자 프로파일을 로드하는 것, 및/또는 기타 등등과 연관되어 있을 수 있다.
광범위한 서로 다른 제스처가 이용될 수 있다. 예로서, 제스처는 단일점(single point) 또는 다중점(multipoint) 제스처, 정적 또는 동적 제스처, 연속적(continuous) 또는 구분된(segmented) 제스처, 및/또는 기타 등등일 수 있다. 단일점 제스처는 단일의 접촉점으로 수행되는 제스처이다, 예를 들어, 이 제스처는 예를 들어 하나의 손가락, 손바닥 또는 스타일러스로부터와 같이 단일의 터치로 수행된다. 다중점 제스처는 다수의 점으로 수행될 수 있는 제스처이다, 예를 들어, 이 제스처는 예를 들어 다수의 손가락, 손가락과 손바닥, 손가락과 스타일러스, 다수의 스타일러스 및/또는 이들의 임의의 조합으로부터와 같이 다수의 터치로 수행된다. 정적 제스처는 움직임을 포함하지 않는 제스처이고, 동적 제스처는 움직임을 포함하는 제스처이다. 연속적 제스처는 단일의 스트로크로 수행되는 제스처이고, 구분된 제스처는 별개의 스텝 또는 스트로크의 시퀀스로 수행되는 제스처이다.
일 실시예에서, 컴퓨터 시스템(50)은 다수의 제스처를 동시에 등록하도록 구성되어 있다, 즉 다수의 제스처가 동시에 수행될 수 있다. 예로서, 줌 제스처는 회전 제스처와 동시에 수행될 수 있거나, 회전 제스처는 팬 제스처와 동시에 수행될 수 있다. 한 특정의 구현에서, 줌잉, 회전, 및 패닝을 동시에 수행하기 위해, 줌, 회전 및 팬 제스처 전부가 동시에 일어날 수 있다.
다른 실시예에서, 이 시스템은, 제스처와 연관된 동작이 제스처와 동시에 실시될 수 있도록, 제스처를 즉각 인식하도록 구성되어 있다, 즉 제스처와 동작이, 2-단계 프로세스가 아니라, 나란히 동시에 일어날 수 있다. 예로서, 스크롤링 제스처 동안에, 손가락 움직임으로 화면이 이동한다.
다른 실시예에서, 디스플레이(68) 상에 제공된 객체는 연속적으로 터치 스크린 상에서 행해지는 제스처를 따라간다. 수행되는 제스처와 디스플레이(68) 상에 나타난 객체 간에 일대일 관계가 있다. 예를 들어, 제스처가 수행될 때, 제스처 아래에 위치한 객체들에 동시에 수정이 행해진다. 예를 들어, 줌잉 제스처 동안에, 디스플레이(68) 상에 나타난 객체가, 벌려지는 동안에는 줌 인(zoom in)하고 좁혀지는 동안에는 줌 아웃(zoom out)되게 하기 위해, 손가락이 떨어지게 벌려지거나 서로 좁혀질 수 있다. 이 동작 동안에, 컴퓨터 시스템(50)은 사용자 입력을 줌 제스처로서 인식하고, 어느 조치가 취해져야 하는지를 결정하며, 적절한 장치로, 이 경우에 디스플레이(68)로 제어 데이터를 출력한다.
다른 실시예에서, 컴퓨터 시스템(50)은, 제스처가 입력 장치(70)의 서로 다른 영역 상에서 실시될 때 서로 다른 것을 의미하는 경우, 영역 감도(region sensitivity)를 제공한다. 예를 들어, 볼륨 손잡이 상에서의 회전 제스처는 볼륨 증가/감소를 야기하는 반면, 사진 상에서의 회전 제스처는 사진의 회전을 야기한다.
다른 실시예에서, 터치 스크린과 접촉하고 있는 손가락의 수는 입력 모드를 나타낼 수 있다. 예를 들어, 예를 들어 하나의 손가락에 의한 것같은 단일의 터치는 추적, 즉 포인터 또는 커서 이동 또는 선택을 수행하려고 하는 것임을 나타낼 수 있는 반면, 예를 들어 일군의 손가락에 의한 것같은 다수의 터치는 제스처를 수행하려고 한 것임을 나타낼 수 있다. 제스처를 실시하기 위한 손가락의 수는 광범위하게 변할 수 있다. 예로서, 2개의 손가락은 제1 제스처 모드를 나타낼 수 있고, 3개의 손가락은 제3 제스처 모드를 나타낼 수 있으며, 이하 마찬가지이다. 다른 대안으로서, 임의의 수의 손가락, 즉 2개 이상이 하나 이상의 제스처 컨트롤을 포함할 수 있는 동일한 제스처 모드에 대해 사용될 수 있다. 손가락의 배향도 이와 유사하게 원하는 모드를 나타내기 위해 사용될 수 있다. 사용자가 예를 들어 그의 엄지손가락 또는 검지 손가락을 사용했는지에 기초하여 서로 다른 모드 동작을 가능하게 해주기 위해 손가락의 프로파일이 검출될 수 있다.
다른 실시예에서, 입력 장치 상에서 스트로크를 중단하지 않고(예를 들어, 터치 감지 표면으로부터 들어올리지 않고) 연속적인 스트로크를 하는 동안에 입력 이 변경될 수 있다. 한 구현에서, 사용자는, 스트로크가 행해지고 있는 동안, 추적(또는 선택) 모드에서 제스처 모드로 전환할 수 있다. 예를 들어, 추적 또는 선택은 하나의 손가락과 연관될 수 있고, 제스처는 다수의 손가락과 연관될 수 있으며, 따라서 사용자는, 터치 스크린 상에서 제2 손가락을 들어올렸다 내려 놓음으로써, 추적/선택과 제스처 간에 토글할 수 있다. 다른 구현에서, 사용자는, 스트로크가 행해지고 있는 동안, 한 제스처 모드에서 다른 제스처 모드로 전환할 수 있다. 예를 들어, 줌잉은 한쌍의 손가락을 벌리는 것과 연관될 수 있고, 회전은 한쌍의 손가락을 회전시키는 것과 연관될 수 있으며, 따라서 사용자는 벌리는 것과 회전하는 것 간에 그의 손가락들의 움직임을 번갈아함으로써 줌잉과 회전 간에 토글할 수 있다. 또다른 구현에서, 스트로크가 행해지고 있는 동안에 제스처 입력의 수가 변경될 수 있다(예를 들어, 가산되거나 감산될 수 있다). 예를 들어, 손가락들이 떨어지게 벌리는 줌잉 동안에, 사용자는 또한 줌잉과 회전 둘다를 개시하기 위해 그의 손가락을 회전시킬 수 있다. 게다가, 줌잉 및 회전 동안에, 사용자는, 회전만이 행해지도록, 그의 손가락을 벌리게 하는 것을 중단할 수 있다. 환언하면, 제스처 입력이 동시에 또는 연속적으로 입력될 수 있다.
한 특정의 실시예에서, 하나의 손가락은 추적(또는 선택)을 개시하고, 서로에 근접해 있는 2개 이상의 손가락은 스크롤링 또는 패닝을 개시한다. 하나의 손가락과 2개의 손가락 사이의 용이한 토글을 제공하기 위해 2개의 손가락이 일반적으로 선호된다, 즉 사용자는, 단지 부가의 손가락을 들거나 놓음으로써, 아주 용이하게 모드들 간에 전환할 수 있다. 이것은 다른 형태의 모드 토글링보다 직관적이 라는 이점을 갖는다. 추적 동안에, 커서 움직임은 사용자가 터치 감지 장치의 터치 감지 표면 상에서 하나의 손가락을 움직이는 것에 의해 제어된다. 센서 감지 장치의 센서 배열은 손가락 움직임을 해석하고 디스플레이 상에서의 커서의 대응하는 이동을 생성하는 신호를 발생한다. 스크롤링 동안에, 화면 이동은 사용자가 터치 감지 장치의 터치 감지 표면 상에서 손가락 2개를 움직이는 것에 의해 제어된다. 결합된 손가락이 수직 방향으로 이동될 때, 그 움직임은 수직 스크롤 이벤트로서 해석되고, 결합된 손가락이 수평 방향으로 이동될 때, 그 움직임은 수평 스크롤 이벤트로서 해석된다. 패닝이 단지 수평 방향 및 수직 방향이 아니라 모든 방향으로 일어날 수 있지만 패닝에 대해서도 동일하다고 할 수 있다.
본 명세서에서 사용되는 바와 같이, 용어 "스크롤링"은 일반적으로, 새로운 일련의 데이터(예를 들어, 한 라인의 텍스트 또는 그래픽)가 뷰잉 영역에서 보이게 되도록, 디스플레이 화면 상에서 뷰잉 영역을 가로질러 디스플레이된 데이터 또는 이미지(예를 들어, 텍스트 또는 그래픽)를 이동시키는 것에 관한 것이다. 대부분의 경우에, 뷰잉 영역이 차게 되면, 각각의 새로운 일련의 데이터가 뷰잉 영역의 가장자리에 나타나며, 다른 일련의 데이터 전부는 한 위치 옆으로 이동된다. 즉, 새로운 일련의 데이터가 뷰잉 영역 밖으로 이동하는 각각의 일련의 데이터 대신에 나타난다. 본질적으로, 스크롤링 기능은 사용자가 현재 뷰잉 영역 밖에 있는 계속되는 일련의 데이터를 볼 수 있게 해준다. 뷰잉 영역은 디스플레이 화면의 전체 뷰잉 영역일 수 있거나 디스플레이 화면의 일부분만(예를 들어, 윈도우 프레임)일 수 있다.
상기한 바와 같이, 스크롤링은 수직으로(위쪽으로 또는 아래쪽으로) 또는 수평으로(좌측으로 또는 우측으로) 구현될 수 있다. 수직 스크롤링의 경우, 사용자가 아래쪽으로 스크롤할 때, 각각의 새로운 일련의 데이터가 뷰잉 영역의 하단에 나타나며, 모든 다른 일련의 데이터가 한 위치 위쪽으로 이동한다. 뷰잉 영역이 차있는 경우, 상단의 일련의 데이터는 뷰잉 영역 밖으로 이동한다. 이와 유사하게, 사용자가 위쪽으로 스크롤할 때, 각각의 새로운 일련의 데이터는 뷰잉 영역의 상단에 나타나고, 모든 다른 일련의 데이터는 한 위치 아래쪽으로 이동한다. 뷰잉 영역이 차있는 경우, 하단의 일련의 데이터는 뷰잉 영역 밖으로 이동한다.
예로서, 디스플레이 화면은, 동작 동안에, 미디어 항목(예를 들어, 노래)의 리스트를 디스플레이할 수 있다. 사용자는 터치 스크린을 가로질러 그의 손가락을 이동시킴으로써 미디어 항목의 리스트를 통해 선형적으로 스크롤할 수 있다. 손가락이 터치 스크린을 가로질러 이동함에 따라, 사용자가 미디어 항목의 리스트 전체에 걸쳐 효과적으로 스크롤할 수 있도록, 미디어 항목의 리스트로부터의 디스플레이된 항목들이 변경된다. 대부분의 경우에, 사용자는 그의 손가락을 더 높은 속도로 이동시킴으로써 미디어 항목의 리스트의 횡단을 가속시킬 수 있다. 상기 예와 관련되어 있을 수 있는 다른 실시예에 대해 이하에서 보다 상세히 기술한다. 예를 들어, 도 6, 도 23 및 도 27을 참조하기 바란다.
도 2는 본 발명의 일 실시예에 따른 다중점 프로세싱 방법(100)이다. 다중 프로세싱 방법(100)은, 예를 들어, 도 1에 나타낸 시스템에서 수행될 수 있다. 다중점 프로세싱 방법(100)은 일반적으로 다중점 입력 장치, 보다 상세하게는 다중점 터치 스크린으로부터 이미지가 판독되는 블록(102)에서 시작한다. 예로서, 다중점 터치 스크린은 일반적으로 동시 계류 중인 미국 특허 출원 제10/840,862호(이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)에 개시된 다중점 터치 스크린에 대응할 수 있다. 용어 "이미지"가 사용되고 있지만, 유의해야 할 점은 다른 형태로 데이터가 올 수 있다는 것이다. 대부분의 경우에, 터치 스크린으로부터 판독된 이미지는 터치 스크린의 각각의 감지점 또는 픽셀에 대한 위치(x 및 y)의 함수로서 크기(Z)를 제공한다. 크기는, 예를 들어, 각 점에서 측정된 커패시턴스를 반영할 수 있다.
블록(102)에 뒤이어서, 다중점 프로세싱 방법(100)은 이미지가 특징들의 집합체 또는 리스트로 변환되는 블록(104)으로 진행한다. 각각의 특징은 터치 등의 별개의 입력을 나타낸다. 대부분의 경우에, 각각의 특징은 그 자신의 고유 식별자(ID), x 좌표, y 좌표, Z 크기, 각도 θ, 면적 A, 기타 등등을 포함한다. 예로서, 도 3a 및 도 3b는 특정의 이미지(120)를 시간에 따라 나타낸 것이다. 이미지(120)에서, 2개의 별개의 터치에 기초한 2개의 특징(122)이 있다. 터치는, 예를 들어, 터치 스크린을 터치하는 한쌍의 손가락으로부터 형성될 수 있다. 도시된 바와 같이, 각각의 특징은 고유의 식별자(ID), x 좌표, y 좌표, Z 크기, 각도 θ, 및 면적 A를 포함한다. 보다 상세하게는, 제1 특징(122A)은 ID1, x1, y1, Z1, θ1, A1으로 표현되고, 제2 특징(122B)은 ID2, x2, y2, Z2, θ2, A2로 표현된다. 이 데이터는, 예를 들어, 다중터치 프로토콜을 사용하여 출력될 수 있다.
데이터 또는 이미지로부터 특징으로의 변환은 동시 계류 중인 미국 특허 출원 제10/840,862호(이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)에 기술된 방법을 사용하여 달성될 수 있다. 상기 출원에 개시되어 있는 바와 같이, 원시 데이터가 수신된다. 이 원시 데이터는 일반적으로 디지털화된 형태이고, 터치 스크린의 각 노드에 대한 값을 포함한다. 이들 값은 0과 256 사이에 있을 수 있으며, 여기서 0은 터치 압력이 없음을 나타내고 256은 최고 터치 압력을 나타낸다. 그 후에, 원시 데이터는 노이즈를 감소시키기 위해 필터링된다. 필터링되었으면, 각 그룹의 연결된 점들의 토폴로지를 나타내는 구배 데이터(gradient data)가 발생된다. 그 후에, 구배 데이터에 기초하여 터치 영역의 경계가 계산된다, 즉 각각의 터치 영역을 형성하기 위해 어느 점들이 함께 그룹화되는지에 관한 판정이 행해진다. 예로서, 워터쉐드 알고리즘(watershed algorithm)이 사용될 수 있다. 경계가 판정되었으면, 터치 영역 각각에 대한 데이터가 계산된다(예를 들어, x, y, Z, θ, A).
블록(104)에 뒤이어서, 다중점 프로세싱 방법(100)은 특징 분류 및 그룹화가 수행되는 블록(106)으로 진행한다. 분류 동안에, 각 특징의 정체가 판정된다. 예를 들어, 특징들은 특정의 손가락, 엄지 손가락, 손바닥 또는 다른 객체로서 분류될 수 있다. 분류되었으면, 그 특징들은 그룹화될 수 있다. 그룹이 형성되는 방식은 아주 다양할 수 있다. 대부분의 경우에, 특징들은 어떤 기준에 기초하여 그룹화된다(예를 들어, 특징들은 유사한 속성을 갖는다). 예를 들어, 도 3a 및 도 3b에 도시된 2개의 특징은 함께 그룹화될 수 있는데, 그 이유는 이들 특징 각각이 서로에 근접하여 위치하고 있거나 동일한 손으로부터 나온 것이기 때문이다. 이 그룹화는 터치 이벤트의 일부가 아닌 특징들을 필터링 제거하기 위한 어떤 레벨의 필터링을 포함할 수 있다. 필터링 시에, 하나 이상의 특징들이 제거될 수 있는데 그 이유는 이들 특징이 어떤 사전 정의된 기준을 만족시키거나 어떤 기준을 만족시키지 않기 때문이다. 예로서, 특징들 중 하나는 태블릿 PC의 가장자리에 위치한 엄지 손가락으로 분류될 수 있다. 엄지 손가락이 작업을 수행하는 데 사용되기 보다는 오히려 장치를 잡고 있는 데 사용되기 때문에, 그로부터 발생된 특징은 제거된다, 즉 처리되는 터치 이벤트의 일부로서 간주되지 않는다.
블록(106)에 뒤이어서, 다중점 프로세싱 방법(100)은 특징 그룹에 대한 주요 파라미터가 계산되는 블록(108)으로 진행한다. 이 주요 파라미터는 특징들 간의 거리, 모든 특징의 x/y 중심(centroid), 특징 회전, 그룹의 총 압력(예를 들어, 중심에서의 압력), 기타 등등을 포함할 수 있다. 도 4에 나타낸 바와 같이, 이 계산은 중심 C를 구하는 단계, 이 중심 C로부터 각각의 특징으로의 가상선(130)을 그리는 단계, 각각의 가상선에 대한 거리 D를 정의하는 단계(D1, D2), 및 이어서 이 거리(D1, D2)의 평균을 구하는 단계를 포함할 수 있다. 파라미터가 계산되었으면, 파라미터 값들이 보고된다. 파라미터 값은 일반적으로 그룹 식별자(GID) 및 각 그룹 내에서의 특징의 수(이 경우에, 3개)와 함께 보고된다. 대부분의 경우에, 초기 파라미터 값 및 현재 파라미터 값 둘다가 보고된다. 초기 파라미터 값은 셋 다운(set down), 즉 사용자가 그의 손가락을 터치 스크린 상에 놓을 때에 기초할 수 있고, 현재 값은 셋 다운 이후에 행해지는 스트로크 내에서의 임의의 점에 기초할 수 있다. 잘 알고 있는 바와 같이, 블록(102-108)은 사용자 스트로크 동안에 반복적으로 수행되며, 그에 의해 복수의 순차적으로 구성된 신호를 발생한다. 초기 파라미터 및 현재 파라미터는, 시스템에서의 동작들을 수행하기 위해, 나중의 단계들에서 비교될 수 있다.
블록(108)에 뒤이어서, 프로세스 흐름은 그룹이 사용자 인터페이스(UI) 요소에 연관되는 블록(110)으로 진행한다. UI 요소는 버튼 박스, 리스트, 슬라이더, 휠, 손잡이(knob), 기타 등등이다. 각각의 UI 요소는 사용자 인터페이스의 컴포넌트 또는 컨트롤을 나타낸다. UI 요소(들)의 배후에 있는 애플리케이션은 블록(108)에서 계산된 파라미터 데이터에 액세스한다. 한 구현에서, 애플리케이션은 그에 대응하는 UI 요소에 대한 터치 데이터의 관련성에 순위를 매긴다. 이 순위 결정은 어떤 미리 정해진 기준에 기초할 수 있다. 이 순위 결정은 감도 지수(figure of merit)를 생성하는 단계, 및 어느 UI 요소든지 최고의 감도 지수를 갖는 것에 그룹에의 독점적 액세스를 제공하는 단계를 포함할 수 있다. 심지어 어느 정도의 히스테리시스도 역시 있을 수 있다(UI 요소 중 하나가 그 그룹의 제어를 요구하는 경우, 다른 UI 요소가 훨씬 더 높은 순위를 가질 때까지 그 그룹은 이 UI 요소를 고집한다). 예로서, 이 순위 결정은 UI 요소와 연관된 GUI 객체에 대한 중심(또는 특징)의 근접성을 판정하는 단계를 포함할 수 있다.
블록(110)에 뒤이어서, 다중점 프로세싱 방법(100)은 블록(112, 114)으로 진행한다. 블록(112, 114)은 거의 동시에 수행될 수 있다. 사용자 관점에서 볼 때, 일 실시예에서, 블록(112, 114)은 동시에 수행되는 것으로 보인다. 블록(112)에서, 초기 파라미터 값과 현재 파라미터 값 간의 차이는 물론, 이들이 연관되어 있는 UI 요소에 기초하여 하나 이상의 동작이 수행된다. 블록(114)에서, 수행되는 하나 이상의 동작에 관한 사용자 피드백이 제공된다. 예로서, 사용자 피드백은 디스플레이, 오디오, 촉각 피드백 및/또는 기타 등등을 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 파라미터 계산 방법(150)이다. 파라미터 계산 방법(150)은 예를 들어 도 2에 나타낸 블록(108)에 대응할 수 있다. 파라미터 계산 방법(150)은 일반적으로 일군의 특징들이 수신되는 블록(152)에서 시작한다. 블록(152)에 뒤이어서, 파라미터 계산 방법(150)은 일군의 특징들 내의 특징들의 수가 변했는지 여부에 관하여 판정이 행해지는 블록(154)으로 진행한다. 예를 들어, 사용자가 부가의 손가락을 들어올리거나 놓음으로써 특징들의 수가 변할 수 있다. 다른 제어(예를 들어, 추적, 제스처)를 수행하기 위해 다른 손가락이 필요할 수 있다. 특징들의 수가 변한 경우, 파라미터 계산 방법(150)은 초기 파라미터 값이 계산되는 블록(156)으로 진행한다. 이 수가 동일한 채로 있는 경우, 파라미터 계산 방법(150)은 현재 파라미터 값이 계산되는 블록(158)으로 진행한다. 그 후에, 파라미터 계산 방법(150)은 초기 파라미터 값 및 현재 파라미터 값이 보고되는 블록(160)으로 진행한다. 예로서, 초기 파라미터 값은 점들 간의 평균 초기 거리(즉 Distance(AVG) initial)를 포함할 수 있고, 현재 파라미터 값은 점들 간의 평균 현재 거리(즉 Distance(AVG) current)를 포함할 수 있다. 이들은, 컴퓨터 시스템의 여러가지 측면들을 제어하기 위해, 차후의 단계들에서 비교될 수 있 다.
상기 방법들 및 기술들은 임의의 수의 GUI 인터페이스 객체 및 동작을 구현하는 데 사용될 수 있다. 예를 들어, 윈도우를 크기조정하고, 디스플레이를 스크롤하며, 객체를 회전시키고, 디스플레이된 뷰를 줌인 또는 줌아웃하며, 텍스트 또는 다른 객체를 삭제 또는 삽입시키고, 기타 등등을 하기 위한 사용자 명령을 검출 및 실행하기 위해 제스처가 생성될 수 있다. 제스처는 또한 컴퓨팅 시스템과의 사람 상호작용을 용이하게 해주기 위해 생성될 수 있는 볼륨 손잡이, 스위치, 슬라이더, 핸들, 손잡이(knob), 도어 및 다른 위젯 등의 가상 제어 인터페이스를 호출 및 조작하기 위해 사용될 수 있다.
상기 방법들을 사용하는 예를 들기 위해, 도 6a 내지 도 6g를 참조하면, 태블릿 PC(175)의 디스플레이(174)의 GUI 인터페이스(172) 상의 가상 볼륨 손잡이(170)를 제어하기 위한 회전 제스처에 대해 기술한다. 손잡이(170)를 작동시키기 위해, 사용자는 그의 손가락들(176)을 다중점 터치 스크린(178) 상에 올려놓는다. 가상 컨트롤 손잡이는 이미 디스플레이되어 있을 수 있거나, 또는 셋 다운 시의 특정의 수, 배향 또는 프로파일의 손가락들, 또는 그 직후의 손가락들의 움직임, 또는 사용자의 상호작용의 이들 및 다른 특성의 어떤 조합이 디스플레이될 가상 컨트롤 손잡이를 호출할 수 있다. 어느 경우든지, 컴퓨팅 시스템은 손가락 그룹을 가상 컨트롤 손잡이와 연관시키며, 사용자가 가상 볼륨 손잡이를 사용하고자 하는 것으로 판정을 한다. 이 연관은 또한 입력 시의 컴퓨팅 장치의 모드 또는 현재 상태에 부분적으로 기초할 수 있다. 예를 들어, 동일한 제스처가, 다른 대안으로서, 노래가 현재 컴퓨팅 장치 상에서 재생되고 있는 경우 볼륨 손잡이 제스처로서 해석될 수 있거나, 또는 객체 편집 애플리케이션이 실행되고 있는 경우 회전 명령으로서 해석될 수 있다. 예를 들어, 청각 또는 촉각 피드백을 비롯하여, 다른 사용자 피드백이 제공될 수 있다.
손잡이(170)가 도 6a에 나타낸 바와 같이 디스플레이될 때, 사용자의 손가락(176)은 손잡이(170)가 실제의 손잡이 또는 다이얼인 것처럼 그 손잡이 근방에 위치될 수 있고, 그 후에 손잡이(170)를 돌리는 것을 시뮬레이션하기 위해 손잡이(170) 근방에서 회전될 수 있다. 다시 말하면, 손잡이(170)가 "회전"될 때, 예를 들어, 클릭하는 소리 형태의 청각 피드백 또는 진동 형태의 촉각 피드백이 제공될 수 있다. 사용자는 또한 그의 다른 손을 사용하여 태블릿 PC(175)를 잡고 있을 수 있다.
도 6b에 도시한 바와 같이, 다중점 터치 스크린(178)은 적어도 한쌍의 이미지를 검출한다. 상세하게는, 제1 이미지(180)는 셋 다운 시에 생성되고, 적어도 하나의 다른 이미지(182)는 손가락(176)이 회전될 때 생성된다. 단지 2개의 이미지만이 도시되어 있지만, 대부분의 경우에, 이들 2개의 이미지 사이에 더 많은 이미지가 증가하게 된다. 각각의 이미지는 특정의 순간에 터치 스크린과 접촉하고 있는 손가락의 프로파일을 나타낸다. 이들 이미지는 또한 터치 이미지라고 할 수 있다. 용어 "이미지"가 그 프로파일이 스크린(178) 상에 디스플레이되어 있음을 의미하지 않는다는 것을 잘 알 것이다(오히려 터치 감지 장치에 의해 촬상된 것임). 또한, 유의할 점은 용어 "이미지"가 사용되고 있지만, 데이터가 다양한 때에 터치 평면을 나타내는 다른 형태로 되어 있을 수 있다는 것이다.
도 6c에 나타낸 바와 같이, 이미지(180, 182) 각각은 특징들(184)의 집합체로 변환된다. 각각의 특징(184)은, 손잡이(170)를 둘러싸고 있는 손가락들(176) 각각의 끝은 물론, 태블릿 PC(175)를 잡고 있기 위해 사용되는 다른쪽 손(177)의 엄지손가락으로부터와 같이, 특정의 터치와 연관되어 있다.
도 6d에 나타낸 바와 같이, 특징들(184)은 분류되고, 즉 각각의 손가락/엄지손가락이 식별되고, 이미지(180, 182) 각각에 대해 그룹화된다. 이 특정의 경우에서, 손잡이(170)와 연관된 특징들(184A)은 그룹(188)을 형성하기 위해 함께 그룹화되고, 엄지손가락과 연관된 특징(184B)은 필터링 제거된다. 대안의 구성에서, 엄지손가락 특징(184B)은, 예를 들어 입력 또는 시스템의 동작 모드를 변경하기 위하여 또는 다른 제스처, 예를 들어, 화면 상에서 엄지손가락(또는 다른 손가락)의 영역에 디스플레이되는 이퀄라이저 슬라이더와 연관된 슬라이더 제스처를 구현하기 위해, 그것만으로(또는 다른 그룹 내의) 별개의 특징으로서 취급된다.
도 6e에 나타낸 바와 같이, 각각의 이미지(180, 182)에 대해 특징 그룹(188)의 주요 파라미터가 계산된다. 제1 이미지(180)와 연관된 주요 파라미터는 초기 상태를 나타내고, 제2 이미지(182)의 주요 파라미터는 현재 상태를 나타낸다.
또한, 도 6e에 나타낸 바와 같이, 손잡이(170)는 손잡이(170)에 근접함으로 인해 특징 그룹(188)과 연관된 UI 요소이다. 그 다음에, 도 6f에 나타낸 바와 같이, 회전 벡터, 즉 초기 상태에서 현재 상태로 시계 방향으로 5도 회전된 특징들의 그룹을 구하기 위해 각각의 이미지(180, 182)로부터의 특징 그룹(188)의 주요 파라 미터 값이 비교된다. 도 6f에서, 초기 특징 그룹(이미지(180))은 점선으로 나타내어져 있는 반면, 현재 특징 그룹(이미지(182))은 실선으로 나타내어져 있다.
도 6g에 나타낸 바와 같이, 회전 벡터에 기초하여, 태블릿 PC(175)의 스피커(192)는 손가락(176)의 회전량에 따라 그의 출력을 증가(또는 감소)시킨다, 즉 5도의 회전에 기초하여 5%만큼 볼륨을 증가시킨다. 태블릿 PC의 디스플레이(174)는 또한 손가락(176)의 회전량에 따라 손잡이(170)의 회전을 조절할 수 있다, 즉 손잡이(170)의 위치가 5도 회전된다. 대부분의 경우에, 손잡이의 회전은 손가락의 회전과 동시에 일어난다, 즉 손가락의 1도 회전마다, 손잡이가 1도 회전된다. 본질적으로, 가상 컨트롤 손잡이는 화면 상에서 일어나는 제스처를 따른다. 또한, 태블릿 PC의 오디오 유닛(194)은 각 단위의 회전에 대해 클릭하는 소리를 제공할 수 있다, 예를 들어 5도의 회전에 기초하여 5번의 클릭을 제공할 수 있다. 또한, 태블릿 PC(175)의 촉각 유닛(196)은 각각의 클릭에 대해 어떤 양의 진동 또는 다른 촉각 피드백을 제공함으로써 실제 손잡이를 시뮬레이션할 수 있다.
유의할 점은 부가의 제스처가 가상 컨트롤 손잡이 제스처와 동시에 수행될 수 있다는 것이다. 예를 들어, 2개 이상의 가상 컨트롤 손잡이가 양손을 사용하여 동시에 제어될 수 있다, 즉 각각의 가상 컨트롤 손잡이에 대해 하나의 손을 사용한다. 다른 대안으로서 또는 그에 부가하여, 하나 이상의 슬라이더 바가 가상 컨트롤 손잡이와 동시에 제어될 수 있다, 즉 한쪽 손이 가상 컨트롤 손잡이를 조작하는 반면, 반대쪽 손의 적어도 하나의 손가락, 아마도 2개 이상의 손가락은 적어도 하나의 슬라이더, 아마도 2개 이상의 슬라이더 바, 예를 들어 각각의 손가락에 대한 슬라이더 바를 조작한다.
또한, 유의할 점은, 이 실시예가 가상 컨트롤 손잡이를 사용하여 기술되어 있지만, 다른 실시예에서는, UI 요소가 가상 스크롤 휠일 수 있다는 것이다. 예로서, 가상 스크롤 휠은 미국 특허 공개 번호 2003/0076303A1, 2003/0076301A1, 2003/0095096A1(이들 모두는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)에 기술된 것 등의 실제 스크롤 휠과 흡사할 수 있다. 예를 들어, 사용자가 그의 손가락을 가상 스크롤 휠의 표면 상에 올려놓고, 빙빙 돌리는 회전 또는 접선방향의 제스처 움직임을 할 때, 윈도우에 디스플레이된 항목들의 리스트에 대해 스크롤링 동작이 수행될 수 있다.
도 7은 본 발명의 일 실시예에 따른 터치-기반 방법(200)을 나타낸 도면이다. 이 방법은 일반적으로 다중점 감지 장치 상에서 행해지는 사용자 입력이 검출되는 블록(202)에서 시작한다. 사용자 입력은 하나 이상의 터치 입력을 포함하며, 각각의 터치 입력은 고유의 식별자를 갖는다. 블록(202)에 뒤이어서, 터치-기반 방법(200)은 사용자 입력이 하나의 고유 식별자(하나의 터치 입력)를 포함할 때 사용자 입력이 추적 또는 선택으로서 분류되거나 또는 사용자 입력이 적어도 2개의 고유 식별자(2개 이상의 터치 입력)를 포함할 때 제스처 입력으로서 분류되는 블록(204)으로 진행한다. 사용자 입력이 추적 입력으로서 분류되는 경우, 터치-기반 방법(200)은 사용자 입력에 대응하여 추적이 수행되는 블록(206)으로 진행한다. 사용자 입력이 제스처 입력으로서 분류되는 경우, 터치-기반 방법(200)은 사용자 입력에 대응하여 하나 이상의 제스처 제어 동작이 수행되는 블록(208)으로 진행한 다. 제스처 제어 동작은 적어도 2개의 고유 식별자로 또는 이들 사이에 일어나는 변화에 적어도 부분적으로 기초한다.
도 8은 본 발명의 일 실시예에 따른 터치-기반 방법(250)을 나타낸 도면이다. 터치-기반 방법(250)은 일반적으로 터치 감지 표면 상에서의 입력 스트로크 동안에 초기 이미지가 캡처되는 블록(252)에서 시작한다. 블록(252)에 뒤이어서, 터치-기반 방법(250)은 초기 이미지에 기초하여 터치 모드가 판정되는 블록(254)으로 진행한다. 예를 들어, 초기 이미지가 하나의 고유 식별자를 포함하는 경우, 터치 모드는 추적 또는 선택 모드에 대응할 수 있다. 반면에, 그 이미지가 2개 이상의 고유 식별자를 포함하는 경우, 터치 모드는 제스처 모드에 대응할 수 있다. 블록(254)에 뒤이어서, 터치-기반 방법(250)은 터치 감지 표면 상에서의 입력 스트로크 동안에 그 다음 이미지가 캡처되는 블록(256)으로 진행한다. 이미지는 일반적으로 스트로크 동안에 순차적으로 캡처되며, 따라서 복수의 이미지가 스트로크와 연관되어 있을 수 있다. 블록(256)에 뒤이어서, 터치-기반 방법(250)은 초기 이미지의 캡처와 그 다음 이미지의 캡처 사이에서 터치 모드가 변했는지 여부에 관해 판정이 행해지는 블록(258)으로 진행한다. 터치 모드가 변한 경우, 터치-기반 방법(250)은 그 다음 이미지가 초기 이미지로서 설정되는 블록(260)으로 진행하고, 그 후에 블록(254)에서 새로운 초기 이미지에 기초하여 터치 모드가 다시 판정된다. 터치 모드가 동일한 채로 있는 경우, 터치-기반 방법(250)은 초기 이미지 및 그 다음 이미지가 비교되고 이 비교에 기초하여 하나 이상의 제어 신호가 발생되는 블록(262)으로 진행한다.
도 9는 본 발명의 일 실시예에 따른 터치-기반 방법(300)을 나타낸 도면이다. 터치-기반 방법(300)은 GUI 객체가 출력되는 블록(302)에서 시작한다. 예를 들어, 프로세서는 특정의 GUI 객체를 디스플레이하도록 디스플레이에 지시할 수 있다. 블록(302)에 뒤이어서, 터치-기반 방법(300)은 GUI 객체를 거쳐 제스처 입력이 수신되는 블록(304)으로 진행한다. 예를 들어, 사용자는 터치 스크린의 표면 상에서 제스처 방식으로 또한 디스플레이된 GUI 객체 상에 그의 손가락을 두거나 이동시킬 수 있다. 제스처 입력은 연속적으로 행해지는 하나 이상의 단일 제스처 또는 동시에 행해지는 다수의 제스처를 포함할 수 있다. 제스처들 각각은 일반적으로 특정의 시퀀스, 움직임 또는 그와 연관된 배향을 갖는다. 예를 들어, 제스처는 손가락을 떨어지게 벌리는 것, 손가락을 서로 좁히는 것, 손가락을 회전시키는 것, 손가락을 병진 이동시키는 것, 및/또는 기타 등등을 포함할 수 있다.
블록(304)에 뒤이어서, 터치-기반 방법(300)은 제스처 입력에 기초하여 또한 그에 일치하여 GUI 객체가 수정되는 블록(306)으로 진행한다. '수정된다'는 것은, GUI 객체가 수행되는 특정의 제스처 또는 제스처들에 따라 변한다는 것을 의미한다. '일치하여'라는 것은 그 변화가 거의 제스처 또는 제스처들이 수행되는 동안에 일어난다는 것을 의미한다. 대부분의 경우에, 제스처(들)와 GUI 객체에 일어나는 변화 사이에 일대일 관계가 있으며, 이들은 거의 동시에 일어난다. 본질적으로, GUI 객체는 손가락의 움직임을 따른다. 예를 들어, 손가락을 벌리는 것은 동시에 객체를 확대시킬 수 있고, 손가락을 좁히는 것은 동시에 GUI 객체를 축소시킬 수 있으며, 손가락을 회전시키는 것은 동시에 객체를 회전시킬 수 있고, 손가락을 병진 이동시키는 것은 GUI 객체의 동시적인 패닝 또는 스크롤링을 가능하게 해줄 수 있다.
일 실시예에서, 블록(306)은 어느 GUI 객체가 수행되는 제스처와 연관되어 있는지를 판정하고 그 후에 GUI 객체가 제스처 입력에 따라 변하도록 그 위에 배치된 손가락에 디스플레이된 객체를 로크시키는 단계를 포함할 수 있다. 손가락을 GUI 객체에 로크 또는 연관시킴으로써, GUI 객체는 손가락이 터치 스크린 상에서 하고 있는 것에 따라 그 자신을 연속적으로 조절할 수 있다. 종종, 이 판정 및 로크는 셋 다운 시에, 즉 손가락이 터치 스크린 상에 위치될 때 행해진다.
도 10은 본 발명의 일 실시예에 따른 줌 제스처 방법(350)을 나타낸 도면이다. 줌 제스처는 다중점 터치 스크린 상에서 수행될 수 있다. 줌 제스처 방법(350)은 일반적으로 적어도 제1 손가락 및 제2 손가락의 존재가 터치 감지 표면 상에서 동시에 검출되는 블록(352)에서 시작한다. 적어도 2개의 손가락의 존재는 터치가 하나의 손가락에 기초한 추적 터치라기보다는 오히려 제스처 터치임을 나타내도록 구성되어 있다. 어떤 경우에, 단지 2개의 손가락의 존재는 터치가 제스처 터치임을 나타낸다. 다른 경우에, 3개 이상의 임의의 수의 손가락은 터치가 제스처 터치임을 나타낸다. 실제로, 제스처 터치는 2개, 3개, 4개 또는 그 이상의 손가락이 터치하고 있는지에 상관없이, 또한 그 수가 제스처 동안에 변하더라도, 동작하도록 구성되어 있다, 즉 제스처 동안의 임의의 때에 최소 2개의 손가락만 있으면 된다.
블록(352)에 뒤이어서, 줌 제스처 방법(350)은 적어도 2개의 손가락 간의 거 리가 비교되는 블록(354)으로 진행한다. 이 거리는 손가락에서 손가락까지이거나, 각각의 손가락에서, 예를 들어, 중심 등의 어떤 다른 참조점까지일 수 있다. 2개의 손가락 간의 거리가 증가하면(떨어져 벌려지면), 블록(356)에 나타낸 바와 같이 줌인 신호가 발생된다. 2개의 손가락 간의 거리가 감소되면(서로 좁혀지면), 블록(358)에 나타낸 바와 같이 줌아웃 신호가 발생된다. 대부분의 경우에, 손가락의 셋 다운은 그 손가락을 디스플레이되고 있는 특정의 GUI 객체에 연관 또는 로크시킨다. 예를 들어, 터치 감지 표면은 터치 스크린일 수 있고, GUI 객체는 터치 스크린 상에 디스플레이될 수 있다. 이것은 일반적으로 손가락들 중 적어도 하나가 GUI 객체 상에 위치될 때 일어난다. 그 결과, 손가락이 서로 멀어지게 움직이면, GUI 객체의 내장된 기능의 크기를 증가시키기 위해 줌인 신호가 사용될 수 있고, 손가락들이 서로 조여져 있는 경우, 객체에서의 내장된 기능의 크기를 감소시키기 위해 줌아웃 신호가 사용될 수 있다. 줌잉은 일반적으로 디스플레이의 주변부, 윈도우의 주변부, GUI 객체의 가장자리, 및/또는 기타 등등의 미리 정해진 경계 내에서 일어난다. 내장된 기능은 복수의 레이어 상에 형성될 수 있으며, 각각의 레이어는 서로 다른 레벨의 줌을 나타낸다. 대부분의 경우에, 줌잉의 양은 2개의 객체 간의 거리에 따라 변한다. 게다가, 줌잉은 일반적으로 객체의 움직임과 거의 동시에 일어날 수 있다. 예를 들어, 손가락이 떨어져 벌려지거나 서로 좁혀질 때, 객체는 동시에 줌인 또는 줌아웃된다. 이 방법이 줌잉에 관한 것이지만, 유의할 점은 이 방법이 확대 또는 축소에도 사용될 수 있다는 것이다. 줌 제스처 방법(350)은 출판, 사진, 및 드로잉 프로그램 등의 그래픽 프로그램에서 특히 유용할 수 있 다. 게다가, 줌잉은 카메라 등의 주변 장치를 제어하는 데 사용될 수 있다, 즉 손가락이 떨어져 벌려질 때, 카메라는 줌아웃되고, 손가락이 좁혀질 때, 카메라는 줌인된다.
도 11a 내지 도 11h는 상기한 방법을 사용하는 줌잉 시퀀스를 나타낸 것이다. 도 11a는 줌잉될 수 있는 내장된 레벨을 갖는 북아메리카의 지도 형태의 GUI 객체(364)를 제공하는 디스플레이를 나타낸 것이다. 어떤 경우에, 도시된 바와 같이, GUI 객체는 GUI 객체(364)의 경계를 형성하는 윈도우 내부에 위치되어 있다. 도 11b는 사용자가 북아메리카(368), 상세하게는 미국(370), 보다 상세하게는 캘리포니아(372) 지역 상에 그의 손가락(366)을 위치시키는 것을 나타낸 것이다. 캘리포니아(372) 상에서 줌인하기 위해, 도 11c에 나타낸 바와 같이, 사용자는 그의 손가락(366)을 떨어지게 벌리기 시작한다. 손가락(366)이 더 떨어지게 벌려짐에 따라(거리가 증가함에 따라), 지도는 북캘리포니아(374) 상에서 북캘리포니아(374)의 특정 지역으로, 이어서 만(Bay) 지역(376)으로, 이어서 반도(378)(예를 들어, 샌프란시스코와 산호세(San Jose) 지역 사이의 지역)로, 또 이어서 샌프란시스코와 산호세 사이에 위치한 산카를로스(San Carlos)시(380)로 더 줌인한다. 산카를로스(380)로부터 다시 북아메리카(368)로 줌아웃하기 위해, 역순으로 상기한 시퀀스를 따라 손가락(366)이 다시 서로 좁혀진다.
도 12는 본 발명의 일 실시예에 따른 팬 방법(400)을 나타낸 도면이다. 팬 제스처는 다중점 터치 스크린 상에서 수행될 수 있다. 팬 방법(400)은 일반적으로 적어도 제1 객체 및 제2 객체의 존재가 터치 감지 표면 상에서 동시에 검출되는 블 록(402)에서 시작한다. 적어도 2개의 손가락의 존재는 그 터치가 하나의 손가락에 기초한 추적이라기 보다는 오히려 제스처 터치임을 나타내도록 구성되어 있다. 어떤 경우에, 단지 2개의 손가락의 존재는 그 터치가 제스처 터치임을 나타낸다. 다른 경우에, 3개 이상의 임의의 수의 손가락은 그 터치가 제스처 터치임을 나타낸다. 실제로, 제스처 터치는 2개, 3개, 4개 또는 그 이상의 손가락이 터치하고 있는지에 상관없이 또한 그 수가 제스처 동안에 변하더라도 동작하도록 구성될 수 있다, 즉 최소 2개의 손가락만 있으면 된다. 블록(402)에 뒤이어서, 팬 방법(400)은 2개의 객체가 터치 스크린을 가로질러 함께 이동할 때 그 객체들의 위치가 모니터링되는 블록(404)으로 진행한다. 블록(404)에 뒤이어서, 팬 방법(400)은 2개의 객체의 위치가 초기 위치에 대해 변할 때 팬 신호가 발생되는 블록(406)으로 진행한다. 대부분의 경우에, 손가락의 셋 다운은 손가락을 터치 스크린 상에 디스플레이된 특정의 GUI 객체에 연관 또는 로크시킨다. 일반적으로, 손가락 중 적어도 하나가 GUI 객체 상의 이미지 상에 위치될 때이다. 그 결과, 손가락이 터치 스크린을 가로질러 함께 이동될 때, 손가락의 방향으로 이미지를 병진 이동시키기 위해 팬 신호가 사용될 수 있다. 대부분의 경우에서, 패닝의 양은 2개의 객체가 이동하는 거리에 따라 다르다. 게다가, 패닝은 일반적으로 객체의 움직임과 거의 동시에 일어날 수 있다. 예를 들어, 손가락이 움직임에 따라, 객체는 동시에 손가락과 함께 움직인다.
도 13a 내지 도 13d는 상기한 팬 방법(400)에 기초한 패닝 시퀀스를 나타낸 것이다. 도 11의 지도를 사용하여, 도 13a는 사용자가 이 지도 상에 그의 손가 락(366)을 위치시키는 것을 나타낸 것이다. 셋 다운 시에, 손가락(366)은 지도에 로크된다. 도 13b에 나타낸 바와 같이, 손가락(366)이 수직으로 위쪽으로 이동될 때, 전체 지도(364)가 위쪽으로 이동함으로써 지도(364)의 이전에 보여진 부분이 뷰잉 영역 밖에 배치되고 지도(364)의 보이지 않은 부분이 뷰잉 영역 내부에 배치되게 된다. 도 13c에 나타낸 바와 같이, 손가락(366)이 수평으로 옆으로 이동될 때, 전체 지도(364)는 옆으로 이동되며, 그에 의해 지도(364)의 이전에 보인 부분이 뷰잉 영역 밖에 배치되고 지도의 보이지 않은 부분이 뷰잉 영역 내에 배치되게 된다. 도 13d에 나타낸 바와 같이, 손가락(366)이 대각선 방향으로 이동될 때, 전체 지도(364)는 대각선 방향으로 이동되고, 그에 의해 지도(364)의 이전에 보인 부분이 뷰잉 영역 밖에 배치되고 지도의 보이지 않은 부분이 뷰잉 영역 내에 배치되게 된다. 잘 알고 있는 바와 같이, 지도(364)의 움직임은 손가락(366)의 움직임을 따라간다. 이 프로세스는 테이블을 따라 종이를 슬라이딩시키는 것과 유사하다. 손가락이 종이에 가하는 압력은 그 종이를 손가락에 로크시키고, 손가락이 테이블을 가로질러 슬라이드될 때, 그 종이는 그와 함께 이동된다.
도 14는 본 발명의 일 실시예에 따른 회전 방법(450)을 나타낸 도면이다. 이 회전 제스처는 다중점 터치 스크린 상에서 수행될 수 있다. 회전 방법(450)은 일반적으로 제1 객체 및 제2 객체의 존재가 동시에 검출되는 블록(452)에서 시작한다. 적어도 2개의 손가락의 존재는 그 터치가 하나의 손가락에 기초한 추적 터치라기보다는 오히려 제스처 터치임을 나타내도록 구성되어 있다. 어떤 경우에, 단지 2개의 손가락의 존재는 그 터치가 제스처 터치임을 나타낸다. 다른 경우에, 3 개 이상의 임의의 수의 손가락은 그 터치가 제스터 터치임을 나타낸다. 실제로, 제스처 터치는 2개, 3개, 4개 또는 그 이상의 손가락이 터치하고 있더라도, 심지어 그 수가 제스처 도중에 변하더라도 동작하도록 구성될 수 있다, 즉 최소 2개의 손가락만 있으면 된다.
블록(452)에 뒤이어서, 회전 방법(450)은 각각의 손가락의 각도가 설정되는 블록(454)으로 진행한다. 이 각도는 일반적으로 참조점에 대해 판정된다. 블록(454)에 뒤이어서, 회전 방법(450)은 객체들 중 적어도 하나의 각도가 참조점에 대해 변할 때 회전 신호가 발생되는 블록(456)으로 진행한다. 대부분의 경우에, 손가락의 셋 다운은 그 손가락을 터치 스크린 상에 디스플레이되어 있는 특정의 GUI 객체에 연관 또는 로크시킨다. 일반적으로, 손가락들 중 적어도 하나가 GUI 객체 상의 이미지 상부에 위치될 때, GUI 객체는 그 손가락과 연관되거나 그에 로크된다. 그 결과, 손가락이 회전될 때, 손가락 회전의 방향으로 (예를 들어, 시계 방향으로, 시계 반대 방향으로) 객체를 회전시키는 데 회전 신호가 사용될 수 있다. 대부분의 경우에, 객체 회전의 양은 손가락 회전의 양에 따라 변한다, 즉 손가락이 5도 움직이면, 객체도 그렇게 한다. 게다가, 회전은 일반적으로 손가락의 움직임과 거의 동시에 일어날 수 있다. 예를 들어, 손가락이 회전할 때, 객체는 동시에 손가락과 함께 회전한다.
도 15a 내지 도 15c는 상기한 방법에 기초한 회전 시퀀스를 나타낸 것이다. 도 11의 지도를 사용하여, 도 15a는 사용자가 지도(364) 상에 그의 손가락(366)을 위치시키는 것을 나타낸 것이다. 셋 다운 시에, 손가락(366)은 지도(364)에 로크 된다. 도 15b에 나타낸 바와 같이, 손가락(366)이 시계 방향으로 회전될 때, 전체 지도(364)는 회전하는 손가락(366)을 따라 시계 방향으로 회전된다. 도 15c에 도시한 바와 같이, 손가락(366)이 시계 반대 방향으로 회전될 때, 전체 지도(364)는 회전하는 손가락(366)에 따라 시계 반대 방향으로 회전된다.
유의할 점은 도 10 내지 도 15에 나타낸 방법들이 동일한 제스처 스트로크를 사용하여 구현될 수 있다는 것이다. 즉, 줌잉, 회전, 및 패닝은 전부가, 벌려지는, 회전하는 또한 슬라이딩하는 손가락을 포함할 수 있는, 제스처 스트로크 동안에 수행될 수 있다. 예를 들어, 적어도 2개의 손가락의 셋 다운 시에, 디스플레이된 객체(지도)는 이 2개의 손가락에 연관 또는 로크된다. 줌잉하기 위해, 사용자는 그의 손가락을 벌리거나 좁힐 수 있다. 회전하기 위해, 사용자는 그의 손가락을 회전시킬 수 있다. 패닝하기 위해, 사용자는 그의 손가락을 슬라이드시킬 수 있다. 이들 동작 각각은 연속적인 움직임으로 동시에 행해질 수 있다. 예를 들어, 사용자는, 터치 스크린을 가로질러 그의 손가락을 회전 및 슬라이딩하면서, 그의 손가락을 벌리거나 좁힐 수 있다. 다른 대안으로서, 사용자는 제스처 스트로크를 리셋시킬 필요없이 이들 움직임 각각을 분할할 수 있다. 예를 들어, 사용자는 먼저 그의 손가락을 벌리고, 이어서 그의 손가락을 회전시키며, 이어서 그의 손가락을 좁히고, 이어서 그의 손가락을 슬라이딩시키며, 기타 등등을 할 수 있다.
도 16은 본 발명의 일 실시예에 따른 GUI 동작 방법(500)을 나타낸 도면이다. GUI 동작 방법(500)은 GUI에서의 플로팅 컨트롤을 기동시키도록 구성되어 있다. GUI 동작 방법(500)은 일반적으로 손가락 또는 엄지손가락 등의 객체의 존재 가 검출되는 블록(502)에서 시작한다. 이것은 예를 들어 터치 스크린을 사용하여 달성될 수 있다. 블록(502)에 뒤이어서, GUI 동작 방법(500)은 객체가 인식되는(객체의 정체가 밝혀지는) 블록(504)으로 진행한다. 객체가 복수의 객체 중에서 인식될 수 있다. 예를 들어, 상기 도 2의 블록(104)을 참조하기 바란다.
블록(504)에 뒤이어서, GUI 동작 방법(500)은 객체의 근방에 이미지가 생성되는 블록(506)으로 진행한다. 이 이미지는 일반적으로 인식된 객체에 기초한다. 이 이미지는 윈도우, 필드, 대화상자, 메뉴, 아이콘, 버튼, 커서, 스크롤 바, 기타 등등을 포함할 수 있다. 어떤 경우에, 사용자는 함수 및 작업을 기동시키기 위해 이미지(또는 그 안에 내장된 기능)를 선택하여 활성화시킬 수 있다. 예로서, 이 이미지는 사용자 인터페이스 요소 또는 사용자 인터페이스 요소들의 그룹(예를 들어, 윈도우의 열기, 닫기, 최대화 또는 최소화를 행하는 하나 이상의 버튼)일 수 있다. 이 이미지는 또한 선택될 때 열리는 특정의 프로그램 또는 파일을 기동시키는 하나 이상의 아이콘일 수 있다. 이 이미지는 게다가 비대화형 텍스트 및 그래픽에 대응할 수 있다. 대부분의 경우에, 객체가 검출되는 한 이미지가 디스플레이되거나, 어떤 사전 설정된 양의 시간 동안 이미지가 디스플레이될 수 있다, 즉 어떤 시간 후에 그 이미지가 타임아웃되고 제거된다.
한 특정의 실시예에서, 이 이미지는 사용자에 의해 선택될 수 있는 하나 이상의 제어 옵션을 포함한다. 이 제어 옵션은 여러가지 작업을 구현하기 위한 하나 이상의 컨트롤 버튼을 포함할 수 있다. 예를 들어, 이 제어 옵션 박스는 예를 들어 재생, 일시정지, 탐색 및 메뉴 등의 음악 청취 컨트롤 버튼을 포함할 수 있다.
도 17a 내지 도 17e는 상기한 방법을 사용하는 플로팅 컨트롤 시퀀스를 나타낸 것이다. 도 17a에 나타낸 바와 같이, 사용자(510)는 태블릿 PC(512)를 사용하고 있으며, 따라서 한쪽 손(514)으로 태블릿 PC(512)를 잡고 있으면서 다른쪽 손(516)으로 내비게이션(예를 들어, 추적, 제스처)을 하고 있다. 사용자가 태블릿 PC(512)를 잡고 있는 것을 클로즈업한 것인 도 17b에 나타낸 바와 같이, 잡고 있는 손(514)의 엄지손가락의 일부분이 터치 스크린(520) 상에 위치하고 있다. 도 17c에 나타낸 바와 같이, 태블릿 PC(512)는 엄지손가락을 인식하고 엄지손가락에 인접하여 컨트롤 박스(522)를 디스플레이한다. 이 컨트롤 박스(522)는 태블릿 PC(512)에서 작업을 개시하기 위해 사용자의 엄지손가락에 의해 선택될 수 있는 여러가지 버튼(524)을 포함한다. 도 17d에 도시한 바와 같이, 태블릿 PC(512)를 잡고 있으면서, 엄지손가락을 버튼들(524) 중 하나 상으로 뻗고 그 다음에 태핑함으로써 버튼(524)과 연관된 작업을 선택할 수 있다. 예로서, 이 작업은 프로그램을 기동시키는 것 또는 네트워크에 액세스하는 것 또는 장치의 동작 모드를 변경시키는 것과 연관될 수 있다. 컨트롤 박스(522) 및 버튼(524)은, 예를 들어 사용자의 다른쪽 손의 손가락으로 행해진 동일한 제스처가 버튼(524) 중 어느 것이 선택되었는지에 따라 다수의 의미를 가질 수 있도록, 터치 스크린(520)의 입력 모드를 변경하는 데 사용될 수 있다. 도 17e에 도시한 바와 같이, 엄지손가락이 터치 스크린(520)으로부터 멀리 이동될 때, 컨트롤 박스(522)는 타임아웃되어 사라질 수 있다. 다른 대안으로서, 컨트롤 박스는 종래의 닫기 아이콘 또는 버튼을 사용하여 닫힐 수 있다.
도 18은 본 발명의 일 실시예에 따른 GUI 동작 방법(550)을 나타낸 도면이 다. GUI 동작 방법(550)은 타겟의 줌잉을 개시하도록 구성되어 있다. GUI 동작 방법(550)은 일반적으로 컨트롤 박스 GUI 요소가 디스플레이되는 블록(552)에서 시작된다. 이 컨트롤 박스는 얼마간 서로 가깝고 또 동작을 수행하는 데 사용될 수 있는 하나 이상의 컨트롤 버튼을 포함한다. 이 컨트롤 박스는, 예를 들어, 최대화, 최소화, 닫기, 기타 등등의 컨트롤 버튼을 포함할 수 있다. 블록(552)에 뒤이어서, GUI 동작 방법(550)은 컨트롤 박스 또는 컨트롤 버튼들 중 하나 상에서 객체의 존재가 검출될 때 어떤 기간 동안 컨트롤 박스가 확대되는 또는 컨트롤 버튼들 중 적어도 하나가 확대되는 블록(554)으로 진행한다. 컨트롤 박스가 확대되어 있는 경우에, 컨트롤 버튼 각각이 확대되고 그에 따라 그의 선택이 훨씬 더 쉽게 된다. 컨트롤 버튼만이 확대되어 있는 경우, 사용자는 이것이 정확한 버튼인지 여부를 결정하고, 그러한 경우 그 확대된 컨트롤 버튼을 선택하거나, 또는 적절한 컨트롤 버튼이 제공되도록 그 프로세스를 재시작한다. 대부분의 경우에, 컨트롤 버튼의 크기는, 이들 버튼이 객체에 의해 쉽게 선택될 수 있도록, 손가락의 크기에 대응한다. 블록(554)에 뒤이어서, GUI 동작 방법(550)은 확대된 컨트롤 버튼 중 하나 상에서 객체의 존재가 검출될 때 선택된 컨트롤 버튼과 연관된 제어 신호가 발생되는 블록(556)으로 진행한다.
도 19a 내지 도 19d는 상기한 GUI 동작 방법(550)을 사용하는 타겟 줌잉 시퀀스를 나타낸 것이다. 도 19a에 나타낸 바와 같이, 사용자(510)는 그의 손가락(576)을 컨트롤 박스(578) 상에 올려놓는다. 그 안에 포함되어 있는 컨트롤 박스(578)의 버튼들(580)이 손가락(576)보다 작고 또 서로 가깝게 위치되어 있기 때문에, 사용자(510)가, 아마도 바람직하지 않은 버튼(580), 예를 들어 원하는 버튼에 인접한 버튼을 누르지 않고, 직접 선택을 하는 것이 어렵다. 예로서, 손가락(576)은 버튼들(580) 중 2개 이상을 덮을 수 있다. 도 19b에 나타낸 바와 같이, 사용자가 그의 엄지손가락을 컨트롤 박스 상에 놓을 때 그 안에 포함된 버튼(580)을 포함하여 컨트롤 박스(578)의 적어도 일부분이 확대된다. 도 19c에 나타낸 바와 같이, 컨트롤 박스가 그의 확대된 상태에 도달하면, 사용자는, 이제 엄지손가락의 크기에 더 가까운, 확대된 버튼들 중 하나를 선택할 수 있다. 예로서, 사용자는 원하는 컨트롤 버튼 상에서 태핑할 수 있다. 도 19d에 나타낸 바와 같이, 컨트롤 박스는, 버튼이 선택된 후에 또는 선택이 행해지지 않은 미리 정해진 기간 후에(예를 들어, 타임아웃 후에) 또는 사용자가 그의 손가락을 컨트롤 박스로부터 멀리 이동시킬 때, 그의 초기 크기로 축소된다.
도 20은 본 발명의 일 실시예에 따른 GUI 동작 방법(600)을 나타낸 도면이다. GUI 동작 방법(600)은 페이지 넘기기를 개시하도록 구성되어 있다. GUI 동작 방법(600)은 일반적으로 다수의 페이지 중의 페이지가 GUI에 디스플레이되는 블록(602)에서 시작한다. 예로서, 이들 페이지는 전자책(electronic book)과 연관되어 있을 수 있다. 블록(602)에 뒤이어서, GUI 동작 방법(600)은 페이지 상의 미리 정해진 영역에서 객체(또는 객체들)의 존재가 검출되는 블록(604)으로 진행한다. 이 미리 정해진 영역은, 예를 들어, 페이지 번호가 디스플레이되는 영역에 대응한다. 블록(604)에 뒤이어서, GUI 동작 방법(600)은 미리 정해진 영역에서 객체(또는 객체들)가 병진 이동될 때 페이지 넘김 신호가 발생되는 블록(606)으로 진행한 다. 이 병진 운동은 실제의 종이 제본 책에서 손가락이 페이지를 넘기는 것을 시뮬레이션하도록 구성되어 있다. 병진 운동의 방향은 페이지의 리스트에서 다음 페이지로 갈지 이전 페이지로 갈지를 나타낸다. 예를 들어, 손가락이 우측에서 좌측으로 지나갈 때, 한 페이지 뒤로 신호가 발생되고, 손가락이 좌측에서 우측으로 지나갈 때, 한 페이지 위로 신호가 발생된다. 이 GUI 동작 방법(600)은 몇가지 방식으로 개선될 수 있다. 예를 들어, 다수의 손가락이 지나가는 경우, 이것은 한 페이지를 넘는 페이지 넘김 신호를 생성할 수 있다. 예를 들어, 2개 손가락 지나감은 2 페이지 넘김에 해당하고, 3개 손가락 지나감은 3 페이지 넘김에 해당하며, 이하 마찬가지이다. 또는, 2개 손가락 지나감은 10 페이지 넘김에 해당하고, 3개 손가락 지나감은 50 페이지 넘김에 해당하며, 이하 마찬가지이다.
도 21a 내지 도 21d는 상기한 GUI 동작 방법(600)을 사용하는 페이지 넘김 시퀀스를 나타낸 것이다. 사용자(510)가 태블릿 PC(512)를 잡고 있는 것의 클로즈업인 도 21a에 나타낸 바와 같이, 사용자는 페이지(630)의 좌측으로의 방향으로 그의 손가락이 페이지 번호 상을 지나가게 한다. 도 21b에 나타낸 바와 같이, 태블릿 PC(512)는 페이지 번호의 영역에서 이 지나감 및 지나감의 방향을 인식하고, 따라서 태블릿 PC(512)는 일군의 페이지들에서 그 다음 페이지를 디스플레이한다. 이것은 그 일군의 페이지 전체에 걸쳐 지나가기 위해 반복하여 수행될 수 있다. 도 21c에 나타낸 바와 같이, 사용자는 그의 손가락(576)이 페이지 번호 상을 페이지(630)의 우측으로의 방향으로 지나가게 한다. 도 21d에 도시한 바와 같이, 태블릿 PC(512)는 페이지 번호의 영역에서 이 지나감 및 이 지나감의 방향을 인식하고, 따라서 태블릿 PC(512)는 일군의 페이지에서 이전 페이지를 디스플레이하다. 이것은 일군의 페이지 전체에 걸쳐 지나가기 위해 반복하여 수행될 수 있다.
도 22는 본 발명의 일 실시예에 따른 GUI 동작 방법(650)을 나타낸 도면이다. 이 GUI 동작 방법(650)은 일반적으로 스크롤링 또는 패닝 동작 동안에 관성을 기동시키도록 구성되어 있다. 관성은 일반적으로 정지해 있는 물체가 계속 정지해 있으려는 경향 또는 움직이는 물체가, 외력에 의해 방해되지 않는 한, 계속 직선으로 움직이려는 경향으로 정의된다. 이 특정의 실시예에서, GUI 또는 그의 어떤 일부분은, 움직임의 변화율에 대한 그의 저항인, 관성 속성과 연관되어 있다. 높은 관성 특성을 갖는 GUI에 있어서, GUI의 가속도는 주어진 입력에 대해 작게 된다. 반면에, GUI가 낮은 관성 특성을 갖는 경우, 가속도는 주어진 입력에 대해 크게 된다.
GUI 동작 방법(650)은 일반적으로 그래픽 이미지가 GUI 상에 디스플레이되는 블록(652)에서 시작한다. 블록(652)에 뒤이어서, GUI 동작 방법(650)은 터치 감지 표면 상에서의 스크롤링 또는 패닝 스트로크가 검출되는 블록(654)으로 진행한다. 예로서, 이 스트로크는 직선 또는 회전 스트로크일 수 있다. 직선 스트로크 동안에, 스크롤링 또는 패닝의 방향은 일반적으로 스트로크의 방향을 따라간다. 회전 스트로크(도 6 참조) 동안에, 회전 스트로크는 일반적으로, 시계 방향 움직임이 수직 상방에 대응할 수 있고 시계 반대 방향 움직임이 수직 하방에 대응할 수 있는 경우, 직선 입력으로 변환된다. 블록(654)에 뒤이어서, 프로세스 흐름은 스크롤링 또는 패닝 스트로크의 속도 및 방향이 결정되는 블록(656)으로 진행한다. 블 록(656)에 뒤이어서, GUI 동작 방법(650)은 스크롤링 또는 패닝 스트로크의 속도 및 방향은 물론 연관된 관성 특성에 따라 이미지가 이동되는 블록(658)으로 진행한다. 블록(658)에 뒤이어서, GUI 동작 방법(650)은 패닝 또는 스크롤링 스트로크가 더 이상 검출되지 않을 때에도 이미지의 움직임이 계속되는 블록(660)으로 진행한다. 예를 들어, 사용자가 그의 손가락을 터치 감지 표면으로부터 들어올릴 때, 스크롤링 또는 패닝 스트로크가 여전히 행해지고 있는 것처럼 스크롤링 또는 패닝 기능이 계속된다. 어떤 경우에, 어떤 브레이킹(정지 또는 감속) 컨트롤이 수행될 때까지 이미지의 움직임이 무한히 계속된다. 이 특정의 방법은 중력가속도 0을 시뮬레이션한다. 다른 경우들에, 이미지의 움직임이 연관된 관성 GUI 동작 방법(650)에 따라 감속된다. 비유적으로 말하면, 이미지는 종이가 책상위를 움직이는 것에 대응할 수 있다. 종이를 이동시키기 위해, 사용자는 원하는 방향으로 종이에 힘을 가한다. 사용자가 종이에서 그의 손가락을 들어올릴 때, 종이는 어떤 기간 동안 계속하여 원하는 방향으로 책상위를 따라 슬라이딩한다. 손가락을 들어올린 후에 종이가 슬라이딩하는 양은 일반적으로, 그 중에서도 특히, 그의 질량, 손가락에 의해 가해지는 힘, 종이와 책상면 간에 발견되는 마찰력, 기타 등등에 의존한다. 잘 알고 있는 바와 같이, 종래에 스크롤링 및 패닝이 구현될 때, 스크롤링 또는 패닝은 손가락이 들어올려질 때 멈춘다. 이와 반대로, 상기한 기술을 사용하면, 손가락이 들어올려질 때 스크롤링 또는 패닝이 계속 움직인다.
GUI 동작 방법(650)은 그 밖에도 블록 A 및 B를 포함할 수 있다. 블록 A에서, 이미지가 객체의 도움 없이 이동하고 있을 때 터치 감지 표면 상에서 손가락 등의 객체가 검출된다(블록 660). 블록 B에서, 객체가 검출될 때 이미지의 움직임이 멈춘다, 즉 새로운 터치가 브레이킹 수단으로서 역할한다. 상기의 비유를 사용하면, 종이가 책상위를 가로질러 슬라이딩하고 있는 동안에, 사용자는 그의 손가락으로 종이를 누름으로써 그의 움직임을 정지시킨다.
도 23a 내지 도 23d는 상기한 방법을 사용하는 관성 시퀀스를 나타낸 것이다. 도 23a는 미디어 항목(681)의 리스트(680)를 갖는 윈도우(679)를 포함하는 GUI(678)를 제공하는 디스플레이를 나타낸 것이다. 윈도우(679) 및 리스트(680)는, 예를 들어, 미국 캘리포니아 쿠퍼티노 소재의 애플 컴퓨터사에 의해 제작된 iTunes
Figure 112007017024702-pct00001
에서 발견되는 컨트롤 윈도우 및 음악 리스트에 대응할 수 있다. 도 23b에 나타낸 바와 같이, 사용자가 터치 스크린(520) 상에서 그의 손가락 또는 손가락들(576)을 슬라이딩시킬 때, 윈도우 전체에 걸쳐 미디어 항목을 위쪽으로 또는 아래쪽으로 이동시키는 수직 스크롤링이 구현된다. 스크롤링의 방향은 (도시된 바와 같이) 손가락 이동과 동일한 방향을 따라가거나, 반대 방향으로 갈 수 있다. 한 특정의 실시예에서, 리스트로부터 미디어 항목을 선택하기 위해 하나의 손가락이 사용되고, 리스트를 통해 스크롤하기 위해 2개의 손가락이 사용된다.
스크롤링은 일반적으로, 새로운 일련의 데이터(예를 들어, 미디어 항목(681))가 뷰잉 영역에 보여지도록, 디스플레이된 데이터 또는 이미지(예를 들어, 미디어 항목(681))를 디스플레이 화면 상에서 뷰잉 영역을 가로질러 이동시키는 것에 관한 것이다. 대부분의 경우에, 뷰잉 영역이 차있으면, 각각의 새로운 일련의 데이터는 뷰잉 영역의 가장자리에 나타나고, 모든 다른 일련의 데이터는 한 위치 옆으로 이동한다. 즉, 새로운 일련의 데이터가 뷰잉 영역 밖으로 이동하는 각각의 일련의 데이터 대신에 나타난다. 본질적으로, 이들 기능은 사용자가 현재 뷰잉 영역 밖에 있는 연속적인 일련의 데이터를 볼 수 있게 해준다. 대부분의 경우에, 사용자는, 그의 손가락을 더 높은 속도로 이동시킴으로써, 데이터 세트를 통한 그의 횡단을 가속시킬 수 있다. 리스트를 통한 스크롤링의 예는 미국 특허 공개 번호 2003/0076303A1, 2003/0076301A1, 2003/0095096A1에서 찾아볼 수 있으며, 이들은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.
도 23c에 나타낸 바와 같이, 심지어 손가락이 터치 스크린으로부터 제거될 때에도 디스플레이된 데이터는 계속하여 이동한다. 이 연속적인 움직임은 적어도 부분적으로 이전의 움직임에 기초한다. 예를 들어, 스크롤링은 동일한 방향 및 속도로 계속될 수 있다. 어떤 경우에, 스크롤링은 시간의 경과에 따라 감속된다, 즉 스크롤링이 궁극적으로 정지하여 그에 따라 정적 리스트를 남겨 놓을 때까지 미디어 항목들을 통한 횡단 속도가 점점 더 느려지게 된다. 예로서, 뷰잉 영역으로 들어온 각각의 새로운 미디어 항목은 점차적으로 속도를 감소시킬 수 있다. 다른 대안으로서 또는 그에 부가하여, 도 23d에 도시한 바와 같이, 디스플레이된 데이터는, 손가락(576)이 다시 터치 스크린(520) 상에 놓여질 때, 움직임을 중단한다. 즉, 손가락을 다시 터치 스크린 상에 놓는 것은, 연속적인 동작 움직임을 정지 또는 감속시키는, 브레이킹을 구현할 수 있다. 이 시퀀스가 수직 스크롤링에 관한 것이지만, 유의할 점은 이것이 제한이 아니며 수평 스크롤링은 물론 패닝도 상기한 방법을 사용하여 수행될 수 있다는 것이다.
도 24는 본 발명의 일 실시예에 따른 GUI 동작 방법(700)을 나타낸 도면이다. 이 방법(700)은 키보드를 시뮬레이션하도록 구성되어 있다. 이 방법은 일반적으로 디스플레이 상에 키보드가 제공되는 블록(702)에서 시작한다. 블록(702)에 뒤이어서, 이 프로세스 흐름은 제1 키 상에서의 제1 객체의 존재 및 제2 키 상에서의 제2 객체의 존재가 터치 스크린 상에서 동시에 검출되는 블록(704)으로 진행한다. 터치 스크린은 디스플레이 상에 또는 그 전방에 배치된다. 예로서, 디스플레이는 LCD일 수 있고, 터치 스크린은 다중점 터치 스크린일 수 있다. 블록(704)에 뒤이어서, 이 프로세스 흐름은 제1 키 상에서 제1 객체가 검출될 때 또 제2 키 상에서 제2 객체가 동시에 검출될 때 하나 이상의 동시적인 제어 신호가 발생되는 블록(706)으로 진행한다.
일 실시예에서, 제1 키 상에서 제1 객체가 검출될 때 또 제2 키 상에서 제2 객체가 동시에 검출될 때 단지 하나의 제어 신호가 발생된다. 예로서, 제1 키는 시프트 키일 수 있고, 제2 키는 심볼 키(예를 들어, 문자, 숫자)일 수 있다. 이와 같이, 키보드는 종래의 키보드처럼 기능한다, 즉 사용자는 심볼, 즉 대문자/소문자를 변경하기 위해 다수의 키를 동시에 선택할 수 있다. 이들 키는 또는 Ctrl 키, Alt 키, Esc 키, 함수키, 및 기타 등등에 대응할 수 있다.
다른 실시예에서, 동시에 일어나는 각각의 작동된 키(키 터치)에 대해 제어 신호가 발생된다. 예를 들어, 일군의 문자가 동시에 타이핑될 수 있다. 어떤 경우에, 키보드 배후에서 실행되는 애플리케이션은 어떤 미리 정해진 기준에 기초하여 문자의 순서를 판정하도록 구성될 수 있다. 예를 들어, 문자들이 엉클어져 있 을 수 있지만, 애플리케이션은 스펠링, 용법, 문맥, 기타 등등에 기초하여 문자들의 정확한 순서를 판정할 수 있다.
단지 2개의 키가 기술되어 있지만, 유의할 점은 2개의 키가 제한이 아니며 하나 이상의 제어 신호를 생성하기 위해 2개 이상의 키가 동시에 작동될 수 있다는 것이다. 예를 들어, Ctrl-Alt-Delete 기능이 구현될 수 있거나 더 많은 일군의 문자들이 동시에 타이핑될 수 있다.
도 25a 내지 도 25d는 상기한 방법을 사용하는 키보드 시퀀스를 나타낸 것이다. 도 25a는 키보드 형태의 GUI 객체(730)를 제공하는 디스플레이를 나타낸 것이다. 도 25b에 나타낸 바와 같이, 사용자는 워드 프로세싱 프로그램에 데이터를 입력하기 위해 다중점 터치 스크린(520) 상에서 키보드(730) 상에 그의 손가락(576)을 위치시킨다. 예로서, 사용자는 워드 프로세싱 프로그램에서 소문자 "q"를 생성하기 위해 그의 손가락들 중 하나(576A)를 Q 키 상에 놓을 수 있다. 도 25c에 나타낸 바와 같이, 사용자가 문자가 대문자이어야만 하는 것으로 정하는 경우, 사용자는 하나의 손가락(576B)을 시프트 키 상에 올려놓고 다른 손가락(576A)을 원하는 문자 상에 올려 놓는다(화살표로 나타냄). 도 25d에 나타낸 바와 같이, 계속하여 소문자로 타이핑하기 위해, 사용자는 단지 시프트 키로부터 그의 손가락(576B)을 제거하고 그의 손가락(576A)을 원하는 문자 상에 놓는다(화살표로 나타냄).
도 26은 본 발명의 일 실시예에 따른 GUI 동작 방법(750)을 나타낸 도면이다. 이 방법(750)은 미국 특허 공개 번호 2003/0076303A1, 2003/0076301A1, 2003/0095096A1에 기술된 것 등의 스크롤 휠을 시뮬레이션하도록 구성되어 있으며, 이들 전부는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. 이 방법은 일반적으로 디스플레이 상에 가상 스크롤 휠이 제공되는 블록(752)에서 시작한다. 어떤 경우에, 가상 스크롤 휠은 그의 중앙에 가상 버튼을 포함할 수 있다. 가상 스크롤 휠은, 예를 들어, 리스트 전체에 걸쳐 스크롤링을 구현하도록 구성되어 있으며, 버튼은, 예를 들어, 리스트에 저장된 항목들 등의 선택을 구현하도록 구성되어 있다. 블록(752)에 뒤이어서, 이 방법은 적어도 하나의 손가락, 어떤 경우에 가상 스크롤 휠 상에서의 제1 손가락 및 제2 손가락 등의 2개 이상의 손가락의 존재가 터치 스크린 상에서 검출되는 블록(754)으로 진행한다. 이 터치 스크린은 디스플레이 상에 또는 그 전방에 배치된다. 예로서, 이 디스플레이는 LCD일 수 있으며, 이 터치 스크린은 다중점 터치 스크린일 수 있다. 블록(754)에 뒤이어서, 이 방법은 가상 스크롤 휠 상에서의 손가락의 초기 위치가 설정되는 블록(756)으로 진행한다. 예로서, 참조점에 대한 손가락의 각도(예를 들어, 12시, 6시, 기타 등등)가 결정될 수 있다. 대부분의 경우에, 손가락(들)의 셋 다운은, 손가락들이 가상 스크롤 휠 상에 배치될 때, 그 손가락들(또는 손가락)을 가상 스크롤 휠에 연관, 링크 또는 로크시킨다.
블록(756)에 뒤이어서, 이 방법(750)은 손가락들의 각도가 참조점에 대해 변할 때 회전 신호가 발생되는 블록(758)으로 진행한다. 예를 들어 복수의 미디어 항목들을 통한 스크롤링, 및 아마도 손가락(들)으로 가상 스크롤 휠을 움직이는 것을 비롯하여 몇가지 동작을 수행하기 위해 이 회전 신호가 사용될 수 있다. 예로서, 신호들의 조합 및 주파수는 미디어 항목들을 통해 셀렉터를 이동시키는 것은 물론 가상 스크롤 휠을 그의 축을 중심으로 이동시키는 데 필요한 거리, 방향 및 속도로 변환될 수 있다. 대부분의 경우에, 스크롤링 및 휠 회전의 양은 손가락 회전의 양에 따라 변한다. 예로서, 손가락들이 5도 움직이면, 휠도 그렇게 한다. 게다가, 휠의 스크롤링 및 회전은 일반적으로 손가락의 움직임과 거의 동시에 일어난다. 예를 들어, 손가락이 회전할 때, 휠의 스크롤링 및 회전 둘다가 동시에 수행된다. 게다가, 요건은 아니지만, 휠의 스크롤링 및 회전의 방향은 일반적으로 손가락 움직임의 방향과 동일하다. 예를 들어, 가상 스크롤 휠은 손가락 회전의 방향으로(예를 들어, 시계 방향, 시계 반대 방향, 기타 등등으로) 회전한다.
어떤 경우에, 상기한 관성의 원리가 가상 스크롤 휠에 적용될 수 있다. 이것들 등의 경우에, 손가락(또는 손가락들 중 하나)이 가상 스크롤 휠로부터 들어올려질 때 가상 스크롤 휠은 계속하여 회전하고 가상 마찰을 통해 서서히 정지한다. 다른 대안으로서 또는 그에 부가하여, 손가락들(또는 제거된 손가락)을 다시 스크롤 휠 상에 놓음으로써 가상 스크롤 휠의 회전을 브레이킹하는 것에 의해 연속적인 회전이 정지될 수 있다.
주목할 점은 회전하는 가상 스크롤 휠이 제한이 아니고, 어떤 경우에 가상 스크롤 휠은 기계적 회전 휠이라기보다는 오히려 터치 표면을 시뮬레이션하기 위해 정지된 채로 있을 수 있다(예를 들어, 손가락으로 회전하지 않음)는 것이다.
도 27a 내지 도 27d는 상기한 방법을 사용하는 가상 스크롤 시퀀스를 나타낸 것이다. 도 27a는 스크롤 휠을 제공하는 디스플레이를 나타낸 것이다. 스크롤 휠은 프로그램의 일부로서 자동적으로 디스플레이될 수 있거나, 특정의 제스처가 수 행될 때 디스플레이될 수 있다. 예로서, 음악 프로그램(미국 캘리포니아 쿠퍼티노 소재의 애플 컴퓨터사에 의해 제작된 iTunes
Figure 112007017024702-pct00002
등)의 동작 동안에, 음악 프로그램에서 일반적으로 추적을 위해 사용되는 하나의 손가락이 아니라 오히려 2개의 손가락이 터치 스크린 상에 놓여질 때, 가상 스크롤 휠은 음악 프로그램의 GUI 상에 나타날 수 있다. 어떤 경우에, 가상 스크롤 휠은 GUI의 미리 정해진 영역 상에 2개의 손가락이 놓여 있을 때만 나타난다. 다른 대안으로서, 가상 스크롤 휠이 나타나는 것은 손가락의 수 이외의 또는 그에 부가한 어떤 것에 기초할 수 있다. 예를 들어, 가상 스크롤 휠은 음악 프로그램이 실행 중에 있을 때 나타나는 어떤 터치에 응답하여 나타날 수 있다.
도 27b에 나타낸 바와 같이, 사용자는 그의 손가락들을 다중점 터치 스크린(520) 상에서 스크롤 휠 상에 위치시킨다. 어떤 지점에서, 이 손가락들은 스크롤 휠에 로크된다. 이것은 예를 들어 셋 다운 시에 일어날 수 있다. 도 27c에 나타낸 바와 같이, 손가락들이 시계 방향으로 회전될 때, 스크롤 휠이 회전하는 손가락을 따라 시계 방향으로 회전된다. 도 27d에 나타낸 바와 같이, 손가락이 시계 반대 방향으로 회전될 때, 가상 스크롤 휠은 회전하는 손가락을 따라 시계 반대 방향으로 회전된다. 다른 대안으로서, 가상 스크롤 휠의 회전은 또한 접선 방향 방식으로 손가락의 직선 운동으로 회전될 수 있다.
도 28은 본 발명의 일 실시예에 따른 사용자 인터페이스 방법(800)을 나타낸 것이다. 이 사용자 인터페이스 방법(800)은, 예를 들어, 디스플레이 및 터치 스크린 등의 터치 감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행될 수 있다. 이 사 용자 인터페이스 방법(800)은 터치가 검출되는 블록(802)에서 시작한다. 이것은, 스타일러스 또는 하나 이상의 손가락 등의 객체가 터치 감지 입력 장치의 터치 감지 표면 상에 놓여질 때, 터치 감지 입력 장치로 달성될 수 있다.
터치가 검출되면, 사용자 인터페이스 방법(800)은 사용자 인터페이스(UI) 모드가 그 터치에 응답하여 판정되는 블록(804)으로 진행한다. 사용자 인터페이스 모드는 광범위하게 변할 수 있다. 사용자 인터페이스 모드는 내비게이션 모드, 스크롤 모드, 데이터 입력 모드, 편집 모드, 제어 모드, 정보 모드, 디스플레이 모드, 기타 등등을 포함할 수 있다. 각각의 모드는 일반적으로 그와 연관된 하나 이상의 GUI 인터페이스 요소를 갖는다. 예로서, 가상 스크롤 휠(예를 들어, 도 27) 또는 슬라이더 바는 스크롤 모드와 연관될 수 있고, 키보드(예를 들어, 도 25) 또는 키패드는 데이터 입력 모드와 연관될 수 있으며, 포맷팅 툴 바 또는 드로잉 툴 바 등의 툴 바는 편집 모드와 연관될 수 있고, 버튼들을 포함하는 컨트롤 패널은 제어 모드와 연관될 수 있으며, 윈도우는 정보 모드와 연관될 수 있고, 기타 등등이 있다.
사용자 인터페이스 모드는 블록(804)에서 예를 들어 컴퓨팅 시스템 상에서 현재 실행 중인 하나 이상의 애플리케이션, 하나 이상의 애플리케이션의 현재 상태 또는 모드, 및/또는 터치와 연관된 터치 특성을 비롯한 하나 이상의 조건에 기초하여 판정될 수 있다. 실제로, 블록(804)에서 사용자 인터페이스 모드를 판정하는 것은 하나 이상의 조건을 모니터링하고 분석하는 단계를 포함할 수 있다.
현재의 애플리케이션은 예를 들어 운영 체제(예를 들어, Mac OS), 워드 프로 세싱 프로그램, 스프레드쉬트 프로그램, 드로잉 편집 프로그램, 이미지 편집 프로그램, 게임 프로그램, 사진 관리 프로그램(예를 들어, iPhoto), 음악 관리 프로그램(예를 들어, iTunes), 비디오 편집 프로그램(예를 들어, iMovie), 영화 관리 프로그램(예를 들어, QuickTime), 음악 편집 프로그램(예를 들어, GarageBand), 인터넷 인터페이스 프로그램 및/또는 기타 등등을 포함할 수 있다.
애플리케이션의 현재 상태 또는 모드는 애플리케이션의 활성 부분(예를 들어, 현재 윈도우 또는 윈도우 내의 윈도우)에 대응할 수 있다. 예를 들어, 음악 관리 프로그램의 활성 부분은 음악 제어 모드, 재생목록 선택 모드, 메뉴 모드, 및/또는 기타 등등에 대응할 수 있다. 게다가, 사진 관리 프로그램의 활성 부분은 사진 브라우징 모드 또는 사진 편집 모드에 대응할 수 있다. 게다가, 인터넷 인터페이스 프로그램의 활성 부분은 웹 모드 또는 이메일 모드에 대응할 수 있다.
반면에, 터치 특성은, 상기한 실시예들 중 다수에 기술되어 있는 바와 같이, 예를 들어 터치 장소, 터치 ID, 터치 횟수, 기타 등등에 대응할 수 있다.
애플리케이션과 관련하여, 서로 다른 애플리케이션은 서로 다른 UI 모드를 나타낼 수 있다. 예를 들어, 워드 프로세싱 또는 스프레드쉬트 애플리케이션은 데이터 입력 모드를 나타낼 수 있는 반면, 음악 관리 프로그램은 제어 또는 스크롤링 모드를 나타낼 수 있다. 애플리케이션의 현재 상태와 관련하여, 애플리케이션의 서로 다른 모드는 서로 다른 UI 모드를 나타낼 수 있다. 예를 들어, 음악 관리 프로그램에서, 메뉴 윈도우는 하나의 UI 모드를 나타낼 수 있는 반면, 재생목록 윈도우는 다른 UI 모드를 나타낼 수 있다.
터치와 관련하여, 손가락의 수는 서로 다른 UI 모드를 나타낼 수 있다. 예를 들어, 하나의 손가락은 제1 모드를 나타낼 수 있는 반면, 2개의 손가락은 제2 모드를 나타낼 수 있다. 게다가, 터치의 ID는 다른 UI 모드를 나타낼 수 있다. 예를 들어, 엄지손가락은 제1 UI 모드를 나타낼 수 있고, 검지 손가락은 제2 UI 모드를 나타낼 수 있다. 게다가, 터치의 장소는 다른 UI 모드를 나타낼 수 있다. 예를 들어, 제1 터치 장소는 제1 UI 모드를 나타낼 수 있는 반면, 제2 터치 장소는 제2 UI 모드를 나타낼 수 있다(터치가 음악 프로그램의 경계 상에 위치되는 경우, 제1 UI 모드가 구현될 수 있고, 터치가 음악 프로그램에서 노래의 재생목록 또는 리스트 상에 위치되는 경우, 제2 UI 모드가 구현될 수 있다).
일 실시예에서, 사용자 인터페이스 모드는 조건들 중 단지 하나에 기초한다. 예를 들어, 사용자 인터페이스 모드는 애플리케이션, 애플리케이션의 현재 상태, 또는 상기한 바와 같은 여러가지 터치 특성 중 하나에만 기초한다. 다른 실시예에서, 사용자 인터페이스 모드는 다수의 조건에 기초한다. 예를 들어, 사용자 인터페이스 모드는 애플리케이션, 애플리케이션의 현재 상태 및 여러가지 터치 특성으로부터 선택된 적어도 2개의 조합에 기초할 수 있다. 예로서, 제1 터치 특성과 결합된 애플리케이션은 제1 UI 모드를 나타낼 수 있고, 제2 터치 특성과 결합된 동일 애플리케이션은 제2 UI 모드를 나타낼 수 있다.
몇가지 예를 들면, 애플리케이션이 워드 프로세싱 또는 스프레드쉬트 프로그램인 경우, 이 모드는, 데이터가 스프레드쉬트에 입력될 수 있도록, 데이터 입력 모드인 것으로 판정될 수 있다(예를 들어, 키보드). 애플리케이션이 음악 관리 프 로그램이고 재생 목록이 현재 보여지고 있는 경우(활성 부분), 이 모드는, 리스트 내의 항목들이 원하는 항목을 찾기 위해 스크롤될 수 있도록, 스크롤 모드인 것으로 판정될 수 있다(예를 들어, 스크롤 휠). 다른 대안으로서, 노래가 재생 중인 경우(활성 부분), 이 모드는, 노래가 재생되는 방식이 제어될 수 있도록, 제어 모드인 것으로 판정될 수 있다(예를 들어, 재생, 정지, 탐색 및 볼륨 제어 옵션). 게다가, 애플리케이션이 사진 관리 프로그램이고 특정의 사진이 디스플레이되어 있는 경우(활성 부분), 이 모드는, 사진이 수정될 수 있도록, 제어 모드인 것으로 판정될 수 있다(예를 들어, 흑백으로 변환하는 것, 적색 눈을 제거하는 것, 및 회전 옵션).
사용자 인터페이스 모드(804)를 판정한 후에, 사용자 인터페이스 방법(800)은 사용자 인터페이스 모드에 기초하여 또 터치(들)에 응답하여 하나 이상의 GUI 요소가 디스플레이되는 블록(806)으로 진행한다. 어떤 경우에, 단지 하나의 GUI 요소만이 디스플레이되고, 다른 경우들에, 다수의 GUI 요소들이 디스플레이된다. GUI 요소는 일반적으로 특정의 모드와 연관되어 있다. 예를 들어, 슬라이더 바 또는 스크롤 휠은 스크롤 모드에서 디스플레이될 수 있고, 키보드 또는 키패드는 데이터 입력 모드에서 디스플레이될 수 있으며, 툴 바는 편집 모드에서 디스플레이될 수 있고, 여러가지 버튼 또는 컨트롤 패널은 제어 모드에서 디스플레이될 수 있으며, 정보 윈도우는 정보 모드에서 디스플레이될 수 있다.
GUI 요소는 여러가지 방식으로 디스플레이될 수 있다. 예를 들어, 이는 현재 디스플레이된 그래픽 이미지 상에 위치될 수 있거나, 현재 디스플레이된 그래픽 이미지를 대체할 수 있다(예를 들어, 최소화, 천이(shift), 기타 등등). 어떤 경우에, GUI 요소는, GUI 요소 아래에 배치된 현재의 그래픽 이미지가 보일 수 있도록, 반투명으로 되어 있다(그에 의해 최소화 및 천이가 필요없게 된다). 이것은, 스크롤 휠 아래에 배치된 리스트를 통해 순회하기 위해 스크롤 휠을 사용할 때, 도움이 될 수 있다. 게다가, GUI 요소는 터치의 근방에 배치될 수 있거나, 어떤 미리 정해진 장소에 배치될 수 있다. 미리 정해진 장소는 인간 공학, 즉 사용자에게 최상의 장소가 무엇인지에 기초할 수 있다.
상기한 것 이외에, GUI 요소는 증대(growing), 페이딩 인(fading in), 팝업(popping up) 등의 전환 효과를 사용하여 디스플레이될 수 있고, 어떤 경우에는 심지어 진동하거나, 떨리거나, 기타 등등을 할 수도 있다. 이 효과가 팝업하는 것인 경우, GUI 요소는 즉각 보이게 된다. 이 효과가, 도 29a 내지 도 29d에 도시한 바와 같이, 증대인 경우, 작은 GUI 요소(820A)(스크롤 휠)가 처음에 디스플레이되고, 그 후에 GUI 요소(820A)는, 그의 원하는 크기(820D)에 도달할 때까지, 여러가지 크기(820B, 820C)를 거쳐 계속하여 확대된다. 이 증대의 속도는 터치의 압력에 기초할 수 있다. 예를 들어, 터치 압력이 낮은 경우, GUI 요소는 느리게 증대될 수 있고, 터치 압력이 높은 경우, GUI 요소는 보다 빠르게 증대될 수 있다. 게다가, GUI 요소의 최종 크기는 터치의 길이에 기초할 수 있다. 예를 들어, GUI 요소는, 터치가 더 이상 검출되지 않을 때, 증대를 멈춘다. 다른 대안으로서, 속도 및 크기는 예를 들어 컨트롤 패널을 통해 사용자 조정가능할 수 있다. 도 30a 내지 도 30d에 나타낸 바와 같이, 이 효과가 페이딩인 경우, GUI 요소(822)는, 여러가지 레벨의 왜곡 또는 투명도(822A-822C)를 통해, 아무것도 없는 것으로부터 최종의 완전한 이미지(822D)로 느리게 보인다. 페이딩은 증대와 유사하게 제어될 수 있다. 예를 들어, 페이드의 속도 및 레벨은 터치의 압력 및 길이에 의해 제어될 수 있다.
전환 효과는 현재 디스플레이된 이미지, 즉 터치가 검출되기 이전에 현재 디스플레이된 이미지에까지 미칠 수 있다. 일 실시예에서, 현재 디스플레이된 이미지에 정반대 효과가 일어난다. 예를 들어, 도 31a 내지 도 31d에 나타낸 바와 같이, GUI 요소(820)가 점점 더 커짐에 따라 현재 디스플레이된 그래픽 이미지(826)가 점점 더 작게 최소화된다. 다른 대안으로서, GUI 요소가 즉각 팝인(pop in)되는 경우, 현재 디스플레이된 그래픽 이미지는 즉각 팝아웃(pop out)되거나 즉각 최소화될 수 있다.
GUI 요소가 디스플레이되면(806), 사용자 인터페이스 방법(800)은 GUI 요소의 기능이 인에이블되는 블록(808)으로 진행한다. 예를 들어, GUI 요소에 대해 터치 이벤트가 모니터링되고, 터치 이벤트와 연관된 동작이 수행된다. 디스플레이되면, 사용자가 GUI 요소를 즉각 사용하기 시작하도록, GUI 요소의 인에이블이 GUI 요소의 디스플레이와 동시에 일어날 수 있다. 예로서, 스크롤 모드에서, 가상 스크롤 휠이 디스플레이될 수 있고, 인에이블될 때, 스크롤 휠에 대해 터치 이벤트가 모니터링된다. 모니터링 동안에, 손가락이 가상 스크롤 휠 주변을 지나감에 따라, 스크롤 휠 상에서의 손가락의 위치와 연관된 제어 신호가 발생된다. 이들 신호가 스크롤링을 수행하는 데 사용될 수 있다. 예를 들어, 신호의 수, 조합 및 주파수는 리스트를 통해 선택 바를 이동시키는 데 필요한 거리, 방향 및 속도로 변환될 수 있다. 예로서, 가상 스크롤 휠 및 이들이 어떻게 동작하는지에 대한 보다 상세한 설명에 대해서는 도 6, 도 26 및 도 27을 참조하기 바란다.
GUI 요소를 인에이블하여 디스플레이한 후의 어떤 시점에, GUI 요소를 비활성화시킬지 여부에 관해 판정(812)이 행해진다. 예를 들어, 1) 터치가 더 이상 검출되지 않는 것, 2) 터치가 사전 설정된 양의 시간 동안 검출되지 않았음, 3) 타임아웃이 발생함(GUI 요소가 처음으로 디스플레이/인에이블된 이후로 사전 설정된 양의 시간이 경과하였음), 또는 4) 사용자 선택(예를 들어, 사용자가 GUI 요소를 닫는 버튼을 선택함)을 비롯하여, 다양한 방식으로 판정(812)이 행해질 수 있다.
이 판정이 비활성화를 나타내는 경우, 이 방법은 GUI 요소가 디스에이블되고 디스플레이로부터 제거되는 블록(814)으로 진행한다. 디스에이블되면, 터치 이벤트가 일어날 때 동작이 더 이상 수행되지 않는다. 디스플레이로부터 GUI 요소를 제거하는 것은, GUI 요소가 서서히 페이딩 아웃하는 것, 축소되는 것 또는 즉각 사라지는 것(팝 아웃) 등의 전환 효과를 사용하여 제거될 수 있다는 점에서, GUI 요소를 디스플레이하는 것과 유사하게 기능할 수 있다. 제거 전환 효과는 디스플레이 전환 효과와 정반대로 동작할 수 있다. 예를 들어, GUI 요소는 페이딩 인과 유사하게 페이딩 아웃되고, 증대와 유사하게 축소되며, 팝 인과 유사하게 팝 아웃된다. 게다가, GUI 요소는 서서히 물러나 뷰로부터 사라질 수 있는 반면, 대체된 또는 축소된 현재의 그래픽 이미지는 서서히 다시 그의 원래의 크기 및 형상으로 증대될 수 있다. 이 판정이 비활성화를 나타내지 않는 경우, 이 방법은 GUI 요소의 디스플레이는 물론 그의 인에이블을 유지한다.
도 32는 본 발명의 일 실시예에 따른 판정 방법(850)을 나타낸 것이다. 이 판정 방법은 예를 들어 도 28에서의 블록(804)에 대응할 수 있다. 이 판정 방법은 현재 애플리케이션이 판정되는 블록(852)에서 시작한다. 이 판정 방법은 애플리케이션의 현재 상태가 판정되는 블록(854)으로 진행한다. 블록(854)에 뒤이어서, 이 판정 방법은 터치와 연관된 터치 특성이 판정되는 블록(856)으로 진행한다. 이 판정 방법은 블록(852 내지 858)으로부터의 결과에 기초하여 UI 모드가 선택되는 블록(860)으로 진행한다. 예로서, 일련의 규칙이 특정의 일련의 조건에 대한 적절한 UI 모드를 나타낼 수 있다.
도 33은 본 발명의 일 실시예에 따른 사용자 인터페이스 방법(900)이다. 이 방법은, 예를 들어, 디스플레이 및 터치 스크린 등의 터치 감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행될 수 있다. 이 인터페이스 방법(900)은 노래의 리스트가 디스플레이되는 블록(902)에서 시작한다. 도 34a는 노래의 리스트(932A)를 포함하는 윈도우(930A)의 일례를 나타낸 것이고, 도 35a는 노래의 리스트(932B)를 포함하는 윈도우(930B)의 다른 예를 나타낸 것이다. 도 34a는, 예를 들어, 미국 캘리포니아 쿠퍼티노 소재의 애플 컴퓨터사에 의해 제작된 iPod
Figure 112007017024702-pct00003
상에 디스플레이되는 그래픽 사용자 인터페이스일 수 있고, 도 35a는, 예를 들어, 미국 캘리포니아 쿠퍼티노 소재의 애플 컴퓨터사에 의해 제작된 iTunes
Figure 112007017024702-pct00004
등의 음악 관리 프로그램과 연관된 그래픽 사용자 인터페이스일 수 있다.
블록(902)에 뒤이어서, 사용자 인터페이스 방법(900)은 디스플레이된 노래의 리스트(또는 윈도우 또는 전체 GUI) 상에서 터치가 검출되는 블록(904)으로 진행한 다. 이것은, 스타일러스 또는 하나 이상의 손가락 등의 객체가 터치 스크린 등의 터치 감지 입력 장치의 터치 감지 표면 상에 놓일 때, 터치 감지 입력 장치로 달성될 수 있다. 도 34b 및 도 35b는 손가락(925)이 노래의 리스트(932)를 포함하는 윈도우(930) 상에 놓여 있는 것을 나타낸 것이다.
터치가 검출되면, 사용자 인터페이스 방법(900)은 가상 스크롤 휠이 활성화되는 블록(906)으로 진행한다. 즉, 노래의 리스트에 부가하여 가상 스크롤 휠이 디스플레이되고, 그의 기능이 인에이블된다. 본질적으로, 이 노래 리스트가 터치되었기 때문에, 사용자가 노래의 리스트에서의 노래들에 걸쳐 순회할 수 있게 해주는 스크롤 휠이 제공된다. 어떤 경우에서, 가상 스크롤 휠은 미디어 항목들을 대체한다, 즉 가상 스크롤 휠을 위한 공간을 만들기 위해 미디어 항목이 최소화 또는 천이된다. 다른 경우들에서, 가상 스크롤 휠은 미디어 항목 상에 배치되거나 또는 놓여진다(미디어 항목은 그의 현재 크기, 형상 및 위치를 유지한다). 가상 스크롤 휠은 미디어 항목이 가상 스크롤 휠을 통해 보일 수 있도록 반투명으로 될 수 있다. 도 34c 및 도 35c는 노래의 리스트(932)를 포함하는 윈도우(930) 상에 배치된 투명한 가상 스크롤 휠(936)을 나타낸 것이다. 다른 대안으로서, 가상 슬라이더 바가 디스플레이될 수 있다.
디스플레이되면, 가상 스크롤 휠에 대해 스크롤링 터치 이벤트(또는 제스처)가 수행되는지 여부에 관하여 판정(908)이 행해진다. 예를 들어, 손가락이 스크롤 휠 상에 배치되는지 여부 및 손가락이 스크롤 휠 주변에서 빙빙 돌며 이동되는지 여부에 대해 판정이 행해진다.
스크롤링 터치 이벤트가 사용자에 의해 수행되는 경우, 사용자 인터페이스 방법(900)은 스크롤링 터치 이벤트에 따라 노래의 리스트에 걸쳐 스크롤링이 구현되는 블록(910)으로 진행한다. 예로서, 손가락이 가상 스크롤 휠 주위에서 빙빙 돌 때 한 노래에서 다른 노래로 셀렉터 바가 이동될 수 있다. 도 34d 및 도 35d는 손가락(925)이 가상 스크롤 휠(936) 주위를 빙빙 돌고 있는 것, 및 셀렉터 바(938)가 빙빙 도는 손가락(925)에 따라 노래의 리스트(932)에 걸쳐 직선으로 이동하는 것을 나타낸 것이다. 예시된 실시예에서, 셀렉터 바는, 손가락이 시계 방향으로 빙빙 돌 때, 직선으로 위쪽으로 이동되고, 또 손가락이 시계 반대 방향으로 빙빙 돌 때, 직선으로 아래쪽으로 이동된다. 그렇지만, 유의할 점은 이것이 제한이 아니라는 것이다. 예를 들어, 셀렉터 바는, 손가락이 시계 방향으로 빙빙돌 때, 직선으로 아래쪽으로 이동될 수 있고 또 손가락이 시계 반대 방향으로 빙빙돌 때, 직선으로 위쪽으로 이동될 수 있다.
스크롤링 또는 선택 터치 이벤트가 수행되지 않는 경우, 사용자 인터페이스 방법(900)은 가상 스크롤 휠이 비활성화되는 블록(916)으로 진행한다. 즉, 가상 스크롤 휠이 디스에이블되어 디스플레이로부터 제거된다. 도 34e 및 도 35e는 가상 스크롤 휠(936)이 없는 디스플레이(928)를 나타낸 것이다. 가상 스크롤 휠(936)이 제거되어 있지만, 노래의 리스트, 즉 셀렉터 바(938)의 위치에 행해진 변경은 일반적으로 남아 있다.
어떤 경우에, 가상 스크롤 휠은 그의 표면에 걸쳐 버튼 구역을 포함하거나 그의 중심에 또는 그의 측면 주변에 가상 버튼을 할 수 있다. 이 버튼 및 버튼 구 역은, 예를 들어, 메뉴, 재생, 탐색, 일시정지, 및/또는 기타 등등에 대응할 수 있다. 이 특정의 실시예에서, 상기한 방법은 블록(416) 이전에 행해지는 부가적인 단계들을 포함할 수 있다. 예를 들어, 스크롤링 터치 이벤트가 수행되지 않는 경우, 사용자 인터페이스 방법(900)은 가상 스크롤 휠에 대해 선택 터치 이벤트(또는 제스처)가 수행되는지 여부에 관해 판정이 행해지는 부가의 블록을 포함할 수 있다. 이 선택 터치 이벤트는, 가상 스크롤 휠의 표면에서 빙빙도는 것보다는 오히려, 버튼을 태핑함으로써 또는 버튼에 증가된 또는 감소된 압력을 가함으로써 구현될 수 있다(도 34f 및 도 35f 참조). 버튼이 노래 선택 또는 엔터 버튼인 경우, 이 방법은 그 위에 셀렉터 바가 배치된 노래가 선택되는 또하나의 블록을 포함한다. 즉, 가상 버튼이 태핑되거나 다른 방식으로 선택될 때, 현재 셀렉터 바로 덮여 있는 노래가 재생되고 사용자가 즐기기 위해 출력된다.
유의할 점은 상기한 방법들이 노래의 리스트를 통해 스크롤링하는 것에 제한되지 않는다는 것이다. 임의의 미디어 항목은 물론 임의의 그룹의 요소가 상기한 기술의 사용을 통해 스크롤링될 수 있다. 예를 들어, 도 36a 내지 도 36c에 나타낸 바와 같은 사진 레이아웃(942)에서, 사용자가 그의 손가락(925)을 사진 레이아웃(942) 상에 올려 놓을 때(즉, 그룹화) 가상 스크롤 휠(936)이 나타날 수 있으며, 그 후에 이는 레이아웃(942)에서의 여러가지 사진들(943)을 지나 하이라이터(944)를 이동시키는 데 사용될 수 있다. 예로서, 사진은 많은 수의 이미지를 통해 순회하는 것을 보다 쉽게 해주는 썸네일 이미지일 수 있다.
도 37은 본 발명의 일 실시예에 따른 방법(950)이다. 이 방법은 터치가 검 출되는지를 판정하는 블록(952)에서 시작한다. 터치가 검출되면, 이 방법은 현재의 동작 조건이 모니터링되고 분석되는 블록(954)으로 진행한다. 이 조건은, 예를 들어, 현재 애플리케이션, 애플리케이션의 상태, 및/또는 터치와 연관된 터치 특성에 대응할 수 있다.
제1 일련의 조건이 구현되는 경우, 이 방법은 제1 GUI 요소가 활성화되는 블록(956)으로 진행한다. 예를 들어, 도 38a 및 도 38b에 나타낸 바와 같이, 음악 관리 프로그램의 활성 윈도우(960)에서, 사용자가 활성 윈도우(960)의 재생목록 부분(964)을 터치할 때, 스크롤 휠(962)이 활성화될 수 있다.
제2 일련의 조건이 구현될 때, 이 방법은 제2 GUI 요소가 활성화되는 블록(958)으로 진행한다. 예를 들어, 도 38b 및 도 38c에 나타낸 바와 같이, 음악 관리 프로그램의 활성 윈도우(960)에서, 사용자가 또한 활성 윈도우(960)의 경계(968)를 터치할 때, 음악 컨트롤 패널(966)이 활성화될 수 있다. 이들이 서로 독립적으로 동작하지만, 제1 및 제2 조건이 동시에 일어나는 경우, 제1 및 제2 GUI 요소는 동시에 활성화될 수 있다(도 34c).
블록(956)에 뒤이어서, 이 방법은 제1 GUI 요소가 비활성화되어야만 하는지가 판정되는 블록(960)으로 진행한다. 그러한 경우, 이 방법은 GUI 요소가 비활성화되는 블록(962)으로 진행한다. 예를 들어, 도 38d에 나타낸 바와 같이, 손가락(925)이 재생목록(962) 상에서 더 이상 검출되지 않을 때, 제1 GUI 요소(스크롤 휠(962))는 디스에이블되어 디스플레이로부터 제거된다. 그렇지 않은 경우, 이 방법은 블록(956)을 계속한다.
이와 유사하게 그렇지만 독립적으로, 블록(958)에 뒤이어서, 이 방법은 제2 GUI 요소가 비활성화되어야만 하는지가 판정되는 블록(964)으로 진행한다. 그러한 경우, 이 방법은 GUI 요소가 비활성화되는 블록(966)으로 진행한다. 예를 들어, 도 38e에 나타낸 바와 같이, 손가락(925)이 경계(968) 상에서 더 이상 검출되지 않을 때, 제2 GUI 요소(컨트롤 패널(966))는 디스에이블되어 디스플레이로부터 제거된다. 그렇지 않은 경우, 이 방법은 블록(958)을 계속한다.
유의할 점은 이 방법이 단지 2개의 GUI 요소로 제한되지 않으며 또한 다른 조건들이 구현되는 경우 다른 GUI 요소들이 활성화될 수 있다는 것이다. 예를 들어, 제3 일련의 조건이 일어나는 경우 제3 GUI 요소가 활성화될 수 있고, 이하 마찬가지이다. 예로서, 도 38f에 나타낸 바와 같이, 사용자는 그의 손가락(925)을 경계(968)로부터 활성 윈도우(960)의 메뉴 부분(970)으로 슬라이딩시킬 수 있으며, 그에 의해 컨트롤 패널(966)로부터 스크롤 휠(972)로의 변경을 개시할 수 있다(예를 들어, 제2 GUI 요소가 비활성화되고 있는 동안에, 제3 GUI 요소는 활성화되고 있다).
게다가, 도 38g에 나타낸 바와 같이, 사용자는 또하나의 손가락(925)을 현재의 터치에 추가할 수 있으며, 그에 의해 제1 컨트롤 패널(966)로부터 제2 컨트롤 패널(982)로의 변경을 개시할 수 있다. 제1 컨트롤 패널(966)은 재생, 정지, 탐색 및 볼륨 옵션 등의 제1 일련의 제어 옵션을 포함할 수 있으며, 제2 컨트롤 패널(982)은 노래 재생 순서, 노래 정보, 광 효과 옵션 등의 제2 일련의 제어 옵션을 포함할 수 있다.
게다가, 도 38h에 나타낸 바와 같이, 사용자는 하나의 손가락(925A)을 경계(968) 상에, 또하나의 손가락(925B)을 메뉴 부분(970) 상에, 또한 또하나의 손가락(925C)을 재생목록 부분(964) 상에 올려놓을 수 있으며, 그에 의해 3개의 서로 다른 GUI 요소, 특히 컨트롤 패널(966), 메뉴(970)를 통해 스크롤하기 위한 제1 스크롤 휠(972), 및 재생목록(964)을 통해 스크롤하기 위한 제2 스크롤 휠(962)을 기동시킨다.
게다가, 다수의 GUI 요소가 동일한 부분에서 활성화될 수 있다. 예를 들어, 도 38i 및 도 38j에 나타낸 바와 같이, 사용자가 재생목록(964)에서 특정의 박스(990)를 선택하는 경우, 사용자가 노래와 연관된 데이터(예를 들어, 제목, 음악가, 장르, 기타 등등)를 입력할 수 있도록 키보드(992)가 활성화될 수 있다. 스크롤 휠(962)이 키보드(992)와 동시에 활성인 경우, 스크롤 휠(962)은 도시된 바와 같이 키보드(992)를 수용하기 위해 최소화될 수 있다. 키보드(992)가 비활성화되면, 스크롤 휠(962)은 다시 그의 원래의 크기로 되돌아간다.
본 발명의 여러가지 측면, 실시예, 구현 또는 특징들이 개별적으로 또는 임의의 조합으로 사용될 수 있다.
본 발명은 양호하게는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 이 소프트웨어는 또한 컴퓨터 판독가능 매체 상의 컴퓨터 판독가능 코드로서 구현될 수 있다. 컴퓨터 판독가능 매체는 나중에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 장치이다. 컴퓨터 판독가능 매체의 예는 판독 전용 메모리, 랜덤 액세스 메모리, CD-ROM, DVD, 자기 테이프, 광학 데이터 저장 장치, 및 반송파를 포함한다. 컴퓨터 판독가능 매체는 또한, 컴퓨터 판독가능 코드가 분산된 방식으로 저장 및 실행되도록, 네트워크-연결 컴퓨터 시스템들에 걸쳐 분산되어 있을 수 있다.
본 발명이 몇가지 양호한 실시예의 관점에서 기술되어 있지만, 변경, 치환 및 등가물은 본 발명의 범위 내에 속한다. 예를 들어, 본 발명이 주로 터치 스크린에 관한 것이지만, 유의할 점은 어떤 경우에 터치 패드도 역시 터치 스크린 대신에 사용될 수 있다는 것이다. 다른 유형의 터치 감지 장치도 역시 이용될 수 있다. 또한, 유의할 점은 본 발명의 방법 및 장치를 구현하는 많은 대안의 방식이 있다는 것이다. 따라서, 이하의 첨부된 청구항이 본 발명의 진정한 정신 및 범위 내에 속하는 이러한 변경, 치환 및 등가물 전부를 포함하는 것으로 해석되어야만 한다.

Claims (67)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 일련의 항목들을 통해 스크롤하는 방법으로서,
    터치 스크린 상에 일련의 항목들을 디스플레이하는 단계,
    디스플레이된 상기 일련의 항목들 중 적어도 하나 위에서 상기 터치 스크린 상의 초기 터치를 검출하는 단계,
    상기 디스플레이된 일련의 항목들 위에서 검출되는 상기 초기 터치에 대한 응답으로 가상 스크롤 휠(virtual scroll wheel)이 나타나게 하는 단계 - 상기 가상 스크롤 휠은 상기 터치 스크린과 계속적인 접촉을 유지하면서 상기 초기 터치를 계속시키는 상기 초기 터치에 후속하는 상기 가상 스크롤 휠 위에서 검출되는 빙빙 돌리는 동작 터치 이벤트(swirling motion touch event)들에 의해 화상적으로(graphically) 조작 가능함 - ,
    상기 가상 스크롤 휠의 터치 영역에 대하여 빙빙 돌리는 동작 터치 이벤트가 수행되는지 여부를 판정하는 단계, 및
    스크롤링 터치 이벤트가 수행될 때 상기 일련의 항목들을 통해 스크롤하는 단계
    를 포함하는 방법.
  34. 제33항에 있어서, 상기 가상 스크롤 휠을 활성화하는 단계는 상기 가상 스크롤 휠의 기능을 디스플레이하고 인에이블하는 단계를 포함하며,
    상기 가상 스크롤 휠은 상기 일련의 항목들을 통해 횡단하기 위해 빙빙 돌리는 동작 터치 이벤트가 수행될 수 있는 터치 영역을 제공하는 것인 방법.
  35. 제34항에 있어서, 터치 이벤트가 수행되지 않을 때 상기 가상 스크롤 휠을 비활성화시키는 단계를 더 포함하고,
    상기 가상 스크롤 휠의 비활성화는 상기 가상 스크롤 휠의 기능을 디스에이블하는 단계 및 상기 가상 스크롤 휠을 디스플레이로부터 제거하는 단계를 포함하는 것인 방법.
  36. 제35항에 있어서, 상기 가상 스크롤 휠을 디스플레이하는 단계 및 디스플레이로부터 제거하는 단계는,
    디스플레이될 때는, 상기 가상 스크롤 휠을 제1 상태에서 제2 상태로 전환하는 전환 효과를 이용하여 수행되고,
    제거될 때는, 상기 가상 스크롤 휠을 상기 제2 상태에서 상기 제1 상태로 전환하는 전환 효과를 이용하여 수행되는 것인 방법.
  37. 제34항에 있어서, 상기 가상 스크롤 휠은 상기 가상 스크롤 휠을 제1 상태에서 제2 상태로 전환하는 전환 효과를 이용하여 디스플레이되는 것인 방법.
  38. 제37항에 있어서, 상기 전환 효과는 상기 가상 스크롤 휠을 증대시키며,
    작은 가상 스크롤 휠이 처음에 디스플레이되고 그 후에 상기 가상 스크롤 휠은, 상기 가상 스크롤 휠이 최종 크기에 도달할 때까지, 연속하여 확대되는 것인 방법.
  39. 제34항, 제37항 및 제38항 중 어느 한 항에 있어서, 상기 가상 스크롤 휠은 상기 일련의 항목들 위에 디스플레이되고,
    상기 가상 스크롤 휠은 상기 가상 스크롤 휠 아래에 배치되어 있는 상기 일련의 항목들이 상기 가상 스크롤 휠을 통해 보일 수 있도록 반투명인 것인 방법.
  40. 제33항 내지 제38항 중 어느 한 항에 있어서, 상기 스크롤하는 단계는 상기 가상 스크롤 휠 상에서 일어나는 상기 터치 이벤트에 따라 상기 일련의 항목들을 통해 선형적으로 셀렉터 바(selector bar)를 이동시키는 단계를 포함하는 것인 방법.
  41. 제33항 내지 제38항 중 어느 한 항에 있어서, 상기 가상 스크롤 휠은 하나 이상의 가상 버튼을 제공하고,
    상기 방법은,
    상기 가상 스크롤 휠의 상기 하나 이상의 가상 버튼에 대해 선택 터치 이벤트가 수행되는지를 판정하는 단계, 및
    상기 선택 터치 이벤트가 특정의 버튼에 대해 수행될 때 상기 특정의 버튼과 연관된 동작을 구현하는 단계를 더 포함하는 것인 방법.
  42. 제41항에 있어서, 상기 하나 이상의 가상 버튼은 상기 터치 영역에 의해 둘러싸여 있는 적어도 중앙 버튼을 포함하는 것인 방법.
  43. 제42항에 있어서, 상기 가상 스크롤 휠은 원형인 것인 방법.
  44. 제33항 내지 제38항 중 어느 한 항에 있어서, 상기 가상 스크롤 휠의 터치 영역에 대해 터치 이벤트가 수행되는지를 판정하는 단계는,
    상기 터치 영역 상에서의 적어도 하나의 손가락의 존재를 검출하는 단계,
    상기 손가락의 초기 위치를 설정하는 단계, 및
    상기 초기 위치에 대한 손가락 움직임을 모니터링하는 단계를 포함하는 것인 방법.
  45. 제33항 내지 제38항 중 어느 한 항에 있어서, 상기 일련의 항목들은 노래들의 리스트인 것인 방법.
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 제39항에 있어서, 상기 스크롤하는 단계는 상기 가상 스크롤 휠 상에서 일어나는 상기 터치 이벤트에 따라 상기 일련의 항목들을 통해 선형적으로 셀렉터 바(selector bar)를 이동시키는 단계를 포함하는 것인 방법.
  61. 제39항에 있어서, 상기 가상 스크롤 휠은 하나 이상의 가상 버튼을 제공하고,
    상기 방법은,
    상기 가상 스크롤 휠의 상기 하나 이상의 가상 버튼에 대해 선택 터치 이벤트가 수행되는지를 판정하는 단계, 및
    상기 선택 터치 이벤트가 특정의 버튼에 대해 수행될 때 상기 특정의 버튼과 연관된 동작을 구현하는 단계를 더 포함하는 것인 방법.
  62. 제40항에 있어서, 상기 가상 스크롤 휠은 하나 이상의 가상 버튼을 제공하고,
    상기 방법은,
    상기 가상 스크롤 휠의 상기 하나 이상의 가상 버튼에 대해 선택 터치 이벤트가 수행되는지를 판정하는 단계, 및
    상기 선택 터치 이벤트가 특정의 버튼에 대해 수행될 때 상기 특정의 버튼과 연관된 동작을 구현하는 단계를 더 포함하는 것인 방법.
  63. 제39항에 있어서, 상기 가상 스크롤 휠의 터치 영역에 대하여 상기 빙빙 돌리는 동작 터치 이벤트가 수행되는지 여부를 판정하는 단계는,
    상기 터치 영역 상에서의 적어도 하나의 손가락의 존재를 검출하는 단계,
    상기 손가락의 초기 위치를 설정하는 단계, 및
    상기 초기 위치에 대한 손가락 움직임을 모니터링하는 단계를 포함하는 것인 방법.
  64. 제40항에 있어서, 상기 가상 스크롤 휠의 터치 영역에 대하여 상기 빙빙 돌리는 동작 터치 이벤트가 수행되는지 여부를 판정하는 단계는,
    상기 터치 영역 상에서의 적어도 하나의 손가락의 존재를 검출하는 단계,
    상기 손가락의 초기 위치를 설정하는 단계, 및
    상기 초기 위치에 대한 손가락 움직임을 모니터링하는 단계를 포함하는 것인 방법.
  65. 제39항에 있어서, 상기 일련의 항목들은 노래들의 리스트인 것인 방법.
  66. 제40항에 있어서, 상기 일련의 항목들은 노래들의 리스트인 것인 방법.
  67. 삭제
KR1020077004785A 2004-07-30 2005-07-19 사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법 KR100958490B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US59248304P 2004-07-30 2004-07-30
US10/903,964 2004-07-30
US60/592,483 2004-07-30
US10/903,964 US8479122B2 (en) 2004-07-30 2004-07-30 Gestures for touch sensitive input devices
US11/038,590 US8239784B2 (en) 2004-07-30 2005-01-18 Mode-based graphical user interfaces for touch sensitive input devices
US11/038,590 2005-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097009093A Division KR100958491B1 (ko) 2004-07-30 2005-07-19 터치 감지 입력 장치용 모드 기반 그래픽 사용자 인터페이스

Publications (2)

Publication Number Publication Date
KR20070040821A KR20070040821A (ko) 2007-04-17
KR100958490B1 true KR100958490B1 (ko) 2010-05-17

Family

ID=35908004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077004785A KR100958490B1 (ko) 2004-07-30 2005-07-19 사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법

Country Status (3)

Country Link
EP (1) EP1774427A2 (ko)
KR (1) KR100958490B1 (ko)
WO (1) WO2006020304A2 (ko)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513744B2 (en) 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US20090322499A1 (en) 1995-06-29 2009-12-31 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US9239673B2 (en) 1998-01-26 2016-01-19 Apple Inc. Gesturing with a multipoint sensing device
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7760187B2 (en) 2004-07-30 2010-07-20 Apple Inc. Visual expander
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US7469381B2 (en) * 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US9164654B2 (en) 2002-12-10 2015-10-20 Neonode Inc. User interface for mobile computer unit
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
GB0515175D0 (en) 2005-07-25 2005-08-31 Plastic Logic Ltd Flexible resistive touch screen
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US7958456B2 (en) 2005-12-23 2011-06-07 Apple Inc. Scrolling list with floating adjacent index symbols
US7786975B2 (en) 2005-12-23 2010-08-31 Apple Inc. Continuous scrolling list with acceleration
CN102169415A (zh) 2005-12-30 2011-08-31 苹果公司 具有多重触摸输入的便携式电子设备
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
JP5210497B2 (ja) * 2006-04-12 2013-06-12 クラリオン株式会社 ナビゲーション装置
KR100686165B1 (ko) * 2006-04-18 2007-02-26 엘지전자 주식회사 오에스디 기능 아이콘을 갖는 휴대용 단말기 및 이를이용한 오에스디 기능 아이콘의 디스플레이 방법
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
GB0611032D0 (en) 2006-06-05 2006-07-12 Plastic Logic Ltd Multi-touch active display keyboard
KR101479769B1 (ko) * 2006-08-01 2015-01-08 엘지전자 주식회사 터치스크린 장치 및 그 파일검색방법
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
JP2008046692A (ja) * 2006-08-10 2008-02-28 Fujitsu Ten Ltd 入力装置
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
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
AU2012100655B4 (en) * 2006-09-06 2013-01-24 Apple Inc. Touch screen device, method, and graphical user interface for determining commands by applying heuristics
CN101356493A (zh) * 2006-09-06 2009-01-28 苹果公司 用于照片管理的便携式电子装置
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US7956849B2 (en) 2006-09-06 2011-06-07 Apple Inc. Video manager for portable multifunction device
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
US8842074B2 (en) * 2006-09-06 2014-09-23 Apple Inc. Portable electronic device performing similar operations for different gestures
US8564543B2 (en) 2006-09-11 2013-10-22 Apple Inc. Media player with imaged based browsing
US7890863B2 (en) * 2006-10-04 2011-02-15 Immersion Corporation Haptic effects with proximity sensing
EP1914622A3 (en) * 2006-10-16 2012-11-28 Samsung Electronics Co., Ltd. Method and apparatus for moving list on picture plane
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US7856605B2 (en) 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
KR101144423B1 (ko) * 2006-11-16 2012-05-10 엘지전자 주식회사 휴대 단말기 및 휴대 단말기의 화면 표시 방법
JP4608475B2 (ja) * 2006-11-16 2011-01-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示画面への画像表示方法
KR100828245B1 (ko) 2006-11-23 2008-05-07 주식회사 현대오토넷 차량용 오디오/비디오 시스템에서 미디어 정보 디스플레이장치 및 방법
WO2008085487A1 (en) * 2006-12-27 2008-07-17 Immersion Corporation Virtual detents through vibrotactile feedback
US8214768B2 (en) 2007-01-05 2012-07-03 Apple Inc. Method, system, and graphical user interface for viewing multiple application windows
US8689132B2 (en) 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US9001047B2 (en) 2007-01-07 2015-04-07 Apple Inc. Modal change based on orientation of a portable multifunction device
US20080168368A1 (en) * 2007-01-07 2008-07-10 Louch John O Dashboards, Widgets and Devices
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US7978182B2 (en) 2007-01-07 2011-07-12 Apple Inc. Screen rotation gestures on a portable multifunction device
KR101346931B1 (ko) * 2007-01-19 2014-01-07 엘지전자 주식회사 터치 스크린을 구비한 전자 기기 및 이를 이용한애플리케이션 실행 방법
EP3139257A1 (en) 2007-01-19 2017-03-08 LG Electronics Inc. Inputting information through touch input device
KR101426718B1 (ko) * 2007-02-15 2014-08-05 삼성전자주식회사 휴대단말기에서 터치 이벤트에 따른 정보 표시 장치 및방법
KR101420419B1 (ko) 2007-04-20 2014-07-30 엘지전자 주식회사 전자기기와 그 데이터 편집방법 및 이동통신단말기
US8436815B2 (en) * 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
US9052817B2 (en) * 2007-06-13 2015-06-09 Apple Inc. Mode sensitive processing of touch data
JP4812124B2 (ja) * 2007-06-19 2011-11-09 キヤノン株式会社 座標入力装置、座標検出方法、及びコンピュータプログラム
US9933937B2 (en) 2007-06-20 2018-04-03 Apple Inc. Portable multifunction device, method, and graphical user interface for playing online videos
US9772751B2 (en) 2007-06-29 2017-09-26 Apple Inc. Using gestures to slide between user interfaces
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
KR101395780B1 (ko) * 2007-07-27 2014-05-16 삼성전자주식회사 촉각 감지를 위한 압력 센서 어레이 장치 및 방법
KR101376009B1 (ko) * 2007-08-23 2014-03-19 엘지전자 주식회사 가상 유저 인터페이스 구현 장치 및 방법
US9619143B2 (en) 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
US11126321B2 (en) 2007-09-04 2021-09-21 Apple Inc. Application menu user interface
US8125458B2 (en) * 2007-09-28 2012-02-28 Microsoft Corporation Detecting finger orientation on a touch-sensitive device
US8098235B2 (en) * 2007-09-28 2012-01-17 Immersion Corporation Multi-touch device having dynamic haptic effects
EP2060970A1 (en) * 2007-11-12 2009-05-20 Research In Motion Limited User interface for touchscreen device
JP2009140368A (ja) * 2007-12-07 2009-06-25 Sony Corp 入力装置、表示装置、入力方法、表示方法及びプログラム
TWI389015B (zh) * 2007-12-31 2013-03-11 Htc Corp 軟體鍵盤之操作方法
US8405621B2 (en) 2008-01-06 2013-03-26 Apple Inc. Variable rate media playback methods for electronic devices with touch interfaces
US8446373B2 (en) * 2008-02-08 2013-05-21 Synaptics Incorporated Method and apparatus for extended adjustment based on relative positioning of multiple objects contemporaneously in a sensing region
US8201109B2 (en) 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8650507B2 (en) 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
KR101007045B1 (ko) * 2008-03-12 2011-01-12 주식회사 애트랩 접촉센서 장치 및 이 장치의 포인팅 좌표 결정 방법
KR101443341B1 (ko) * 2008-06-30 2014-11-03 엘지전자 주식회사 휴대 단말기 및 그 동작제어 방법
KR100959082B1 (ko) * 2008-07-08 2010-05-20 주식회사 아이리버 전자 사전에서의 기능 제어 장치 및 기능 제어 방법
KR101417090B1 (ko) * 2008-07-29 2014-07-09 현대자동차주식회사 차량용 통합 스위치 조작 방법
EP2169521A1 (en) 2008-09-26 2010-03-31 Research In Motion Limited Touch-screen device having soft escape key
US8284170B2 (en) 2008-09-30 2012-10-09 Apple Inc. Touch screen device, method, and graphical user interface for moving on-screen objects without using a cursor
EP3654141A1 (en) 2008-10-06 2020-05-20 Samsung Electronics Co., Ltd. Method and apparatus for displaying graphical user interface depending on a user's contact pattern
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
JP5108747B2 (ja) 2008-12-26 2012-12-26 富士フイルム株式会社 情報表示装置、方法およびプログラム
KR101538705B1 (ko) * 2009-01-29 2015-07-22 삼성전자주식회사 휴대단말의 기능 제어 방법 및 시스템
US9524094B2 (en) 2009-02-20 2016-12-20 Nokia Technologies Oy Method and apparatus for causing display of a cursor
KR101595255B1 (ko) * 2009-02-27 2016-02-18 삼성전자주식회사 디지털 카메라 및 그 제어방법
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8839155B2 (en) 2009-03-16 2014-09-16 Apple Inc. Accelerated scrolling for a multifunction device
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US9846533B2 (en) 2009-03-16 2017-12-19 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8572513B2 (en) 2009-03-16 2013-10-29 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
JP5343692B2 (ja) * 2009-05-12 2013-11-13 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US8681106B2 (en) 2009-06-07 2014-03-25 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US8624933B2 (en) 2009-09-25 2014-01-07 Apple Inc. Device, method, and graphical user interface for scrolling a multi-section document
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US8358281B2 (en) 2009-12-15 2013-01-22 Apple Inc. Device, method, and graphical user interface for management and manipulation of user interface elements
US8736561B2 (en) 2010-01-06 2014-05-27 Apple Inc. Device, method, and graphical user interface with content display modes and display rotation heuristics
US8438504B2 (en) 2010-01-06 2013-05-07 Apple Inc. Device, method, and graphical user interface for navigating through multiple viewing areas
EP2507691A4 (en) 2010-01-20 2013-09-11 Nokia Corp USER INPUT
US20120299860A1 (en) * 2010-02-04 2012-11-29 Nokia Corporation User input
US8423911B2 (en) 2010-04-07 2013-04-16 Apple Inc. Device, method, and graphical user interface for managing folders
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
JP5010714B2 (ja) 2010-05-21 2012-08-29 株式会社東芝 電子機器、入力制御プログラム、及び入力制御方法
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
CN103119546A (zh) 2010-09-24 2013-05-22 捷讯研究有限公司 便携式电子设备上的转换视图
EP2434387B1 (en) 2010-09-24 2020-01-08 2236008 Ontario Inc. Portable electronic device and method therefor
DE112011101203T5 (de) 2010-09-24 2013-01-17 Qnx Software Systems Ltd. Tragbare elektronische Vorrichtung und Verfahren zu deren Steuerung
US8760417B2 (en) 2010-10-15 2014-06-24 Sap Ag Touch-enabled circle control for time and date entry
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9547428B2 (en) 2011-03-01 2017-01-17 Apple Inc. System and method for touchscreen knob control
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9576122B2 (en) * 2011-04-25 2017-02-21 Softlayer Technologies, Inc. System and method for secure data entry
US8661339B2 (en) 2011-05-31 2014-02-25 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
JP5855862B2 (ja) 2011-07-07 2016-02-09 オリンパス株式会社 撮像装置、撮像方法およびプログラム
US9983785B2 (en) 2011-07-28 2018-05-29 Hewlett-Packard Development Company, L.P. Input mode of a device
EP2584441A1 (en) * 2011-10-18 2013-04-24 Research In Motion Limited Electronic device and method of controlling same
US8810535B2 (en) 2011-10-18 2014-08-19 Blackberry Limited Electronic device and method of controlling same
US9372612B2 (en) * 2011-10-31 2016-06-21 Microsoft Technology Licensing, Llc Exposing inertial snap points
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
WO2013114844A1 (ja) 2012-02-03 2013-08-08 パナソニック株式会社 触覚提示装置および触覚提示装置の駆動方法、駆動プログラム
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
JP5877374B2 (ja) 2012-06-13 2016-03-08 パナソニックIpマネジメント株式会社 操作表示装置、プログラム
KR101405822B1 (ko) * 2012-09-18 2014-06-11 주식회사 인프라웨어 터치기반 편집 어플을 위한 시각적 편집보조 제공 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
JP6009584B2 (ja) 2012-12-26 2016-10-19 グリー株式会社 表示処理方法及び情報装置
US10691230B2 (en) 2012-12-29 2020-06-23 Apple Inc. Crown input for a wearable electronic device
US10346025B2 (en) * 2013-02-05 2019-07-09 Microsoft Technology Licensing, Llc Friction field for fluid margin panning in a webpage
KR102088866B1 (ko) * 2013-04-18 2020-03-13 엘지전자 주식회사 이동 단말기
KR101488377B1 (ko) * 2013-05-15 2015-02-03 최용훈 사용자 인터페이스를 표시하는 방법 및 장치
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
EP3063608B1 (en) 2013-10-30 2020-02-12 Apple Inc. Displaying relevant user interface objects
CN113824998A (zh) 2014-09-02 2021-12-21 苹果公司 音乐用户界面
US20160202865A1 (en) 2015-01-08 2016-07-14 Apple Inc. Coordination of static backgrounds and rubberbanding
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10928980B2 (en) 2017-05-12 2021-02-23 Apple Inc. User interfaces for playing and managing audio items
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US10747404B2 (en) * 2017-10-24 2020-08-18 Microchip Technology Incorporated Touchscreen including tactile feedback structures and corresponding virtual user interface elements
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets
KR20220027295A (ko) 2019-05-31 2022-03-07 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230352A (ja) * 1993-09-16 1995-08-29 Hitachi Ltd タッチ位置検出装置及びタッチ指示処理装置
JPH11133816A (ja) * 1997-10-27 1999-05-21 Canon Inc 画像形成装置、設定情報入力方法および記憶媒体
JP2000163031A (ja) * 1998-11-25 2000-06-16 Seiko Epson Corp 携帯情報機器及び情報記憶媒体
JP2003173237A (ja) * 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798760A (en) * 1995-06-07 1998-08-25 Vayda; Mark Radial graphical menuing system with concentric region menuing
US6639584B1 (en) * 1999-07-06 2003-10-28 Chuang Li Methods and apparatus for controlling a portable electronic device using a touchpad
US7345671B2 (en) * 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
GB0201074D0 (en) 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
US7789756B2 (en) * 2002-09-13 2010-09-07 Igt Wagering gaming device having simulated control of movement of game functional elements
US7337634B2 (en) * 2003-01-09 2008-03-04 General Electric Company Washer/dryer touch sensitive graphical user interface
KR100984596B1 (ko) * 2004-07-30 2010-09-30 애플 인크. 터치 감지 입력 장치용 제스처

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230352A (ja) * 1993-09-16 1995-08-29 Hitachi Ltd タッチ位置検出装置及びタッチ指示処理装置
JPH11133816A (ja) * 1997-10-27 1999-05-21 Canon Inc 画像形成装置、設定情報入力方法および記憶媒体
JP2000163031A (ja) * 1998-11-25 2000-06-16 Seiko Epson Corp 携帯情報機器及び情報記憶媒体
JP2003173237A (ja) * 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体

Also Published As

Publication number Publication date
KR20070040821A (ko) 2007-04-17
WO2006020304A2 (en) 2006-02-23
WO2006020304A3 (en) 2007-05-31
EP1774427A2 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
KR100958490B1 (ko) 사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법
KR100958491B1 (ko) 터치 감지 입력 장치용 모드 기반 그래픽 사용자 인터페이스
US9606668B2 (en) Mode-based graphical user interfaces for touch sensitive input devices
US8686962B2 (en) Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
AU2011253700B2 (en) Gestures for controlling, manipulating, and editing of media files using touch sensitive devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130419

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140422

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 10