KR20160013211A - 베젤 에지 터치 검출 - Google Patents

베젤 에지 터치 검출 Download PDF

Info

Publication number
KR20160013211A
KR20160013211A KR1020157036976A KR20157036976A KR20160013211A KR 20160013211 A KR20160013211 A KR 20160013211A KR 1020157036976 A KR1020157036976 A KR 1020157036976A KR 20157036976 A KR20157036976 A KR 20157036976A KR 20160013211 A KR20160013211 A KR 20160013211A
Authority
KR
South Korea
Prior art keywords
contact
touch
edge
sum
thumb
Prior art date
Application number
KR1020157036976A
Other languages
English (en)
Other versions
KR101756579B1 (ko
Inventor
웨인 칼 웨스터맨
아리 와이. 벤바사트
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20160013211A publication Critical patent/KR20160013211A/ko
Application granted granted Critical
Publication of KR101756579B1 publication Critical patent/KR101756579B1/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/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
    • 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
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0446Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using a grid-like structure of electrodes in at least two directions, e.g. using row and column electrodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04108Touchless 2D- digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface without distance measurement in the Z direction

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)

Abstract

본 명세서는 터치 노드들(터치 픽셀로도 알려짐)의 경계 열 또는 행을 생성하기 위하여 근접 정보를 외삽하고, 이어서 외삽된 경계 터치 노드들을 포함하는 접촉 패치에 타원을 맞추는 방법에 관한 것이다. 추가적으로, 접촉은 그것의 장축과 터치 감지 표면의 에지까지의 거리 둘 모두에 기초하여 엄지로서 식별될 수 있다.

Description

베젤 에지 터치 검출{TOUCH DETECTION AT BEZEL EDGE}
본 명세서는 일반적으로 터치 감지 능력을 구비한 전자 디바이스에 관한 것이다.
터치 감지 시스템에서, 터치 감지 표면에서 근접 이미지가 획득될 수 있고, 이미지는 복수의 패치로 분할될 수 있고, 각각은 터치 감지 표면 상의 접촉 또는 근접한 접촉에 대응한다. 타원이 복수의 패치의 각각에 맞춰질 수 있다. 타원의 파라미터들을 사용하여 접촉 패치들을 식별하고 입력을 생성할 수 있다. 그러나, 접촉 패치가 근접 이미지의 에지 상에 있으면, 맞춰진 타원이 감지된 터치 객체를 정확하게 나타내지 않을 수 있고, 그 중 일부는 터치 감지 표면의 에지를 지나칠 수 있다.
본 명세서는 터치 노드들(터치 픽셀로도 알려짐)의 경계 열 또는 행을 생성하기 위하여 근접 정보를 외삽하고, 이어서 외삽된 경계 터치 노드들을 포함하는 접촉 패치에 타원을 맞추는 방법에 관한 것이다. 추가적으로, 접촉은 그것의 장축과 터치 감지 표면의 에지까지의 거리 둘 모두에 기초하여 엄지로서 식별될 수 있다.
도 1a 및 도 1b는 개시 내용의 예들에 따른 외삽된 경계 노드들을 포함하는 예시적인 근접 이미지를 예시한다.
도 2는 개시 내용의 예시들에 따라 타원을 맞추기 위하여 경계 노드들을 외삽하는 예시적인 방법을 도시한다.
도 3은 개시 내용의 예들에 따라 접촉의 장축 대 거리 터치 감지 표면의 에지로부터의 거리의 그래프를 도시한다.
도 4는 개시 내용의 예들에 따라 접촉을 엄지로서 식별하는 예시적인 방법을 도시한다.
도 5는 예시적인 API 아키텍쳐를 도시하는 블록 다이어그램이고, 이는 개시 내용의 일부 실시예들에서 사용될 수 있다.
도 6은 개시 내용의 예들에 따른 API의 예시적인 소프트웨어 스택을 도시한다.
도 7은 개시 내용의 예들에 따른 디바이스의 터치 스크린과 다른 컴포넌트들 간의 예시적인 상호작용을 도시하는 블록 다이어그램이다.
도 8은 개시 내용의 예들에 따라 임의의 휴대용 또는 비휴대용 디바이스 내에 구현될 수 있는 시스템 아키텍쳐의 예를 도시하는 블록 다이어그램이다.
예들의 다음의 설명에서, 본 명세서의 일부를 형성하는 첨부된 도면들이 참조되고, 실행될 수 있는 특정 예들이 도면들 내에서 예시로써 도시된다. 개시된 예들의 범위를 벗어나지 않으면서 다른 예들이 이용될 수 있고, 구조적 변경이 가해질 수 있다는 것이 이해되어야 한다.
본 명세서에 개시된 예들이 본 명세서에서 주로 용량성 터치 감지 및 근접 감지의 관점에서 설명되고 예시되지만, 예들은 그렇게 제한되지 않고, 추가적으로 다른 터치 감지 기술들, 예컨대 단지 힘만을 감지하는 기술 및/또는 저항성 터치 감지를 사용하는 기술에 응용 가능할 수 있다는 것을 이해될 것이다. 예를 들어, 본 명세서에 논의된 바와 같이 "근접 이미지"는 다른 가능한 것들 중에서, 정전용량의 이미지, 저항의 이미지, 및/또는 힘의 이미지일 수 있다. 추가적으로, 예들이 열(column)들의 관점에서 주로 논의되지만, 본 명세서에 개시된 방법들은 또한 행(row)의 관점에서 사용될 수 있다.
터치 감지 시스템에서, 터치 감지 표면에서 근접 이미지가 획득될 수 있고, 이미지는 복수의 패치로 분할될 수 있고, 각각은 터치 감지 표면 상의 접촉 또는 근접한 접촉에 대응한다. 타원이 복수의 패치의 각각에 맞춰질 수 있다. 타원의 파라미터들을 사용하여 접촉 패치들을 식별하고 입력을 생성할 수 있다. 예를 들어, 맞춰진 타원의 장축의 길이에 기초하여 접촉 패치가 엄지로서 식별될 수 있다. 그러나, 접촉 패치가 근접 이미지의 에지 상에 있으면, 맞춰진 타원이 감지된 터치 객체를 정확하게 나타내지 않을 수 있고, 그 중 일부는 터치 감지 표면의 에지를 지나칠 수 있다.
도 1a 및 도 1b는 터치 노드들(터치 픽셀로도 알려짐)의 경계 열 또는 행을 생성하기 위하여 근접 정보를 외삽하고, 이어서 외삽된 경계 터치 노드들을 포함하는 접촉 패치에 타원을 맞추는 방법을 도시한다.
도 1a에서, 엄지의 외곽선이 도시되고 엄지에 대응하는 접촉 패치의 터치 노드들이 에지 열(C1)과 인접 열(C2)에 도시된다. 열(C1, C2)의 중심(y1, y2)을 계산하고 외삽하여 각각 경계 열(C0)에 대한 외삽된 중심, y0을 결정할 수 있다. 중심이 y0에 있도록 엄지 패치의 열(C1)에 있는 터치 노드들은 열(C0)에 복사되고 변경될 수 있다. 추가적으로, 엄지 패치의 열(C1, C2)에 있는 터치 노드들의 합(Sum1, Sum 2)을 계산하고 외삽하여 각각 Sum0을 결정할 수 있고, 외삽된 Sum0에 기초하여 열(C0)에 복사되는 터치 노드들은 대략적으로 스케일링될 수 있다. 일부 예들에서, 열(C0)에 있는 터치 노드들을 추가로 축소(이 경우 1/3)하여 외삽의 불확실성을 감소시킬 수 있다.
도 1b에서, 정전용량의 근접 이미지 관점에서 알고리즘을 도시하고 설명한다. 즉, 각각의 터치 노드는 그 터치 노드에 대한 접촉의 근접을 나타내는 정전용량 값이다. 도 1b는 또한 (1)에서 어떻게 터치 감지 표면의 에지와 중첩되는 지문이 잘못된 근접 이미지를 생성할 수 있는지 도시한다. (2a) 내지 (4)에서 실제 지문의 외곽선이 점선으로 도시된다. 경계 픽셀들을 외삽한 이후에, (4)에서 추정된 실선 타원이 (1)에 도시된 실제 지문을 더 정확하게 나타낸다.
도 1b는 또한 외삽없이 초기 터치 노드들로부터 추정되는 보통의 타원(100), 외삽법을 통해 추가된 추가적인 경계 노드들을 포함하는 터치 노드들로부터 추정되는 외삽된 타원(102), 및 실제 지문 외곽선(104)을 도시한다. 보통의 타원(100)은 실제 지문 외곽선(104)의 타원보다 장축이 더 짧고 단축이 더 길며, 그것의 배향은 근접 이미지의 상부를 더 가깝게 가리킨다. 대조적으로, 외삽된 타원(102)은 보통의 타원(100)보다 장축이 더 길며, 그것의 배향은 실제 지문 외곽선(104)의 배향에 훨씬 더 가깝다. 보이는 바와 같이, 외삽된 경계 노드들을 포함하는 것이 감지된 터치 객체에 더 정확하게 일치하는 추정된 파라미터들을 갖는 타원을 허용한다.
도 2는 개시 내용의 예들에 따라 타원을 맞추기 위하여 경계 노드들을 외삽하는 예시적인 방법을 도시한다. 근접 이미지를 획득하고 복수의 패치로 분할할 수 있다(200). 복수의 패치 중 제1 패치는 근접 이미지의 에지 열에 있는 하나 이상의 터치 노드를 포함할 수 있다. 추가적으로, 제1 패치는 에지 열에 인접 열에 있는 하나 이상의 터치 노드를 포함할 수 있다.
에지 열에 있는 제1 패치의 하나 이상의 터치 노드의 에지 열 중심을 결정할 수 있다(202). 중심 계산은 무게 중심 계산과 유사하다. 예를 들어, 중심은 하나 이상의 터치 노드의 위치들의 가중 평균과 같이 계산될 수 있고, 각각의 위치는 그 위치에서 터치 노드의 상대적인 근접 값에 의해 가중된다. 인접 열에 있는 제1 패치의 하나 이상의 터치 노드의 인접 열 중심을 유사한 방법으로 결정할 수 있다(204).
에지 열에 있는 제1 패치의 하나 이상의 터치 노드를 경계 열에 복사하고 에지 열 중심 및 인접 열 중심의 외삽법에 의해 보충할 수 있다(206). 일부 예들에서, 변경값을 얻기 위하여 에지 열 중심에서 인접 열 중심을 차감함으로써 중심들이 외삽될 수 있다. 이어서 경계 열에 복사된 터치 노드들은 변경값에 기초하여 변경될 수 있다. 일부 예들에서, 변경값은 정수일 수 있거나 또는 정수로 반올림되어 각각의 터치 노드들이 변경값에 기초하여 보통으로 변경될 수 있도록 할 수 있다.
일부 예들에서, 변경값은 정수가 아닐 수 있고 경계 열에 복사된 터치 노드들의 변경은 변경값에 기초하여 터치 노드들을 보간하는 것을 포함한다. 예를 들어, 변경값이 0.6인 경우, 각각의 터치 노드에 대하여 터치 노드의 근접 값의 60%가 다음 터치 노드로 상향 변경될 수 있고 근접 값의 40%는 터치 노드에 남을 수 있다. 남아있는 40%는 상향 변경된 아래 터치 노드의 60%에 더해질 수 있다. 일부 예들에서, 비정수 변경값에 기초하여 터치 노드들을 보간하는 다른 방법들이 사용될 수 있다.
에지 열에 있는 제1 패치의 하나 이상의 터치 노드를 합산하여 에지 합을 얻을 수 있다. 이것은 하나 이상의 터치 노드의 근접 값들을 합산하는 것을 포함할 수 있다. 유사한 방식으로, 인접 열에 있는 제1 패치의 하나 이상의 터치 노드를 합산하여 인접 합을 얻을 수 있다. 이어서 에지 합과 인접 합의 외삽법에 기초하여 경계 열에 있는 터치 노드들을 스케일링할 수 있다(208). 경계 열에 있는 터치 노드들은 경계 열에 있는 터치 노드들의 근접 값들의 합이 에지 합과 인접 합의 외삽과 동일하도록 스케일링될 수 있다. 일부 예들에서, 외삽은 인접 합에서 에지 합으로의 궤도의 선형 외삽(linear extrapolation of the trajectory)일 수 있다. 다른 예들에서, 외삽은 인접 합에서 에지 합으로의 궤도의 로지스틱 외삽일 수 있고, 이는 시그모이드 함수(sigmoid function)에 기초한 외삽과 같다.
타원은 경계 열의 터치 노드들을 포함하는 제1 패치에 맞춰질 수 있다(210). 일부 예들에서, 타원을 맞추는 것은 타원의 파라미터들, 예컨대 장축, 단축, 및 타원의 배향각을 결정하는 것을 포함할 수 있다.
위에서 논의한 바와 같이, 접촉에 맞는 타원의 장축의 길이에 기초하여 접촉이 엄지로서 식별될 수 있다. 그러나, 터치 감지 표면의 에지와 중첩하는 접촉은 더 짧은 장축을 가질 수 있고, 따라서 접촉의 대부분이 터치 감지 표면 위로 이동할 때까지 엄지로서 식별되는 것이 가능하지 않을 수 있다.
도 3은 접촉의 장축 대 터치 감지 표면의 에지로부터의 거리의 그래프를 도시한다. 접촉이 터치 감지 표면의 에지 바로 위에 있을 때, 접촉의 장축이 매우 짧지만, 접촉이 에지로부터 이동하고 더 많은 접촉이 표면을 터치함에 따라, 장축의 길이는 완전한 접촉의 장축의 실제 길이로 안정화될 때까지 증가한다. 점선(300)은 접촉이 엄지로서 식별될 수 있는 가능한 임계 장축 길이를 나타낸다. 곡선(302)은 일반적인 손가락 접촉에 대한 장축과 에지로부터의 거리 간의 관계를 나타낸다. 곡선(306)은 엄지 접촉에 대한 장축과 에지로부터의 거리 간의 관계를 나타낸다.
곡선(304)은 접촉을 엄지로서 식별하는 데 사용될 수 있는 기준 엄지 윤곽을 나타낸다. 소정의 접촉에 대하여 장축과 에지로부터의 거리가 일련의 시간적 단계들에 걸쳐 모니터될 수 있고, 접촉에 대한 곡선과 기준 엄지 윤곽(304) 사이의 면적은 적분되고 누적될 수 있다. 곡선(306)에서와 같이, 적분된 값이 양으로 된 경우, 관련된 접촉은 엄지로서 식별될 수 있다. 곡선(302)에서와 같이, 적분된 값이 음으로 된 경우, 관련된 접촉이 엄지가 아니라고 결정될 수 있다. 이 방법은 매우 강력한데, 그 이유는 엄지가 아닌 접촉이 에지에 가까이 있을 때 이례적으로 큰 장축을 갖는 경우라도, 에지로부터 멀리 이동함에 따라 장축은 천천히 커질 것이고 충분한 음의 면적이 누적되어 접촉이 엄지로서 식별되지 않도록 할 것이기 때문이다. 일부 예들에서, 적분된 값은 누적될 수 있고, 접촉은 다른 가능성들 중에서 시간 임계치가 초과되거나 또는 에지로부터의 거리 임계치가 초과될 때까지 식별되지 않을 수 있다.
도 4는 접촉의 장축 및 접촉의 터치 감지 표면의 에지로부터의 거리에 기초하여 접촉을 엄지로서 식별하는 예시적인 방법을 도시한다. 접촉의 장축 및 터치 감지 표면의 에지로부터의 거리를 획득할 수 있다(400).
엄지 윤곽에 기초하여, 획득한 거리에서 엄지 접촉의 기준 장축을 결정할 수 있다(402). 엄지 윤곽은 단순하게 장축 값들에 대한 거리들을 맵핑하는 것일 수 있고, 이는 도 3에 도시된 바와 같다. 기준 장축을 결정하는 것은 터치 감지 표면의 에지로부터의 접촉의 획득된 거리에 기초하여 엄지 윤곽으로부터 기준 장축을 획득하는 것을 포함할 수 있다.
기준 장축 및 접촉의 장축에 기초하여 접촉을 엄지로서 식별할 수 있다(404). 예를 들어, 기준 장축 및 접촉의 장축을 이용하여 접촉에 대한 곡선과 엄지 윤곽에 대한 곡선 사이의 면적을 적분할 수 있고, 이는 도 3을 참조하여 설명한 바와 같다. 적분된 값이 양수인 경우, 접촉은 엄지로서 식별될 수 있다.
일부 예들에서, 접촉의 장축으로부터 기준 장축을 차감하여 축 차이를 획득할 수 있다. 일 예에서, 축 차이가 양수인 경우 접촉은 엄지로서 식별될 수 있다. 다른 예들에서, 축 차이는 이전 시간 단계들의 축 차이들의 합에 더해질 수 있다. 축 차이의 합이 양수인 경우 접촉은 엄지로서 식별될 수 있다.
위에서 논의한 예들은 하나 이상의 API(Application Programming Interface)에서 구현될 수 있다. API는 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하에서 "API-구현 컴포넌트"라고 함)에 의하여 구현되는 인터페이스로서, API-구현 컴포넌트는 상이한 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하에서, "API-호출 컴포넌트"라고 함)가 API-구현 컴포넌트에 의해 제공되는 하나 이상의 기능, 방법, 절차, 데이터 구조, 클래스 및/또는 다른 서비스에 액세스 하여 이를 사용하게 한다. API는 API-호출 컴포넌트와 API-구현 컴포넌트 사이에서 전달되는 하나 이상의 파라미터들을 정의할 수 있다.
위에서 설명한 특징부들은 터치 입력을 입력 메커니즘으로서 활용하는 다른 애플리케이션들(예를 들어, 스프레드시트 애플리케이션)에 통합되도록 할 수 있는 API의 일부로서 구현될 수 있다. API는 API-호출 컴포넌트의 개발자(제3자의 개발자일 수 있음)가 API-구현 컴포넌트에 의해 제공되는 규정된 특징부, 예컨대 위에서 설명한 것들에 영향을 주게 할 수 있다. 하나의 API-호출 컴포넌트가 있을 수 있거나, 하나 초과의 그러한 컴포넌트가 있을 수 있다. API는 애플리케이션으로부터의 서비스 요청을 지원하기 위하여 컴퓨터 시스템 또는 프로그램 라이브러리가 제공하는 소스 코드 인터페이스일 수 있다. 운영 체제(operating system, OS)는 다수의 API들을 가져서 OS 상에서 실행되는 애플리케이션이 그 API들 중 하나 이상을 호출하게 할 수 있으며, (프로그램 라이브러리와 같은) 서비스는 다수의 API들을 가져서 그 서비스를 사용하는 애플리케이션이 그 API들 중 하나 이상을 호출하게 할 수 있다. API는 애플리케이션이 구축될 때 인터프리팅(interpreting)되거나 컴파일링(compiling)될 수 있는 프로그래밍 언어에 의해 규정될 수 있다.
일부 예들에서, API-구현 컴포넌트는 둘 이상의 API를 제공하여, 각각 API-구현 컴포넌트에 의해 구현되는 상이한 관점의 기능들을 제공하거나, 또는 API-구현 컴포넌트에 의해 구현되는 상이한 양태의 기능에 접근하는 상이한 양태를 가질 수 있다. 예를 들어, API-구현 컴포넌트 중 하나의 API는 제1 기능 세트를 제공할 수 있고 제3자의 개발자에게 노출될 수 있으며, API-구현 컴포넌트 중 다른 API는 숨겨질(노출되지 않을) 수 있고 제1 기능 세트의 하위세트(subset)를 제공하고 또한 제1 기능 세트에는 없는 테스팅 및 디버깅 기능과 같은 다른 기능 세트를 제공할 수 있다. 다른 예들에서, API-구현 컴포넌트 자체는 기본 API를 통해 하나 이상의 다른 컴포넌트들을 호출할 수 있고, 따라서 API-호출 컴포넌트와 API-구현 컴포넌트 둘 모두가 될 수 있다.
API는 API-호출 컴포넌트들이 API-구현 컴포넌트의 규정된 특징부들에 액세스하여 이를 사용할 때 API-호출 컴포넌트가 사용하는 언어와 파라미터를 정의한다. 예를 들어, API-호출 컴포넌트는 API에 의하여 노출된 하나 이상의 API 호출 또는 (예를 들어, 기능 또는 메소드 호출에 의하여 실시되는) 인보케이션(invocation)들을 통해 API-구현 컴포넌트의 규정된 특징부들에 액세스하여, API 호출들 또는 인보케이션들을 통해 파라미터들을 사용하여 데이터 및 제어 정보를 전달한다. API-구현 컴포넌트는 API-호출 컴포넌트로부터의 API 호출에 응답하여 API를 통해 값을 반환할 수 있다. API는 API 호출의 신택스(syntax)와 결과(예컨대, API 호출을 어떻게 작동시키는지 그리고 API 호출이 무엇을 하는지)를 정의하지만, API는 API 호출이 API 호출에 의하여 규정된 기능을 어떻게 성취하는지 드러내지 않을 수 있다. 호출(API-호출 컴포넌트)과 API-구현 컴포넌트 사이에서 하나 이상의 애플리케이션 프로그래밍 인터페이스를 통하여 다양한 API 호출들이 전달된다. API 호출들을 전달하는 것은 함수 호출 또는 메시지를 발행, 초기화, 호출(invoking), 호출(calling), 수신, 반환 또는 응답을 포함할 수 있다; 다시 말해서, 전달은 API-호출 컴포넌트 또는 API-구현 컴포넌트 중 어느 하나에 의한 작동을 설명할 수 있다. API의 함수 호출 또는 다른 인보케이션은 파라미터 목록 또는 다른 구조를 통하여 하나 이상의 파라미터들을 보내거나 받을 수 있다. 파라미터는 상수, 키(key), 데이터 구조, 객체, 객체 클래스, 변수, 데이터 유형, 포인터, 어레이, 함수 또는 메소드에 대한 포인터 또는 목록, 또는 API를 통하여 전달되는 데이터 또는 다른 항목을 참조하기 위한 다른 방법일 수 있다.
또한, 데이터 유형 또는 클래스가 API에 의하여 제공되고 API-구현 컴포넌트에 의하여 구현될 수 있다. 따라서, API-호출 컴포넌트는 API에서 제공되는 정의들을 사용함으로써 그러한 유형들 또는 클래스들의 변수들을 선언하거나, 이들에 대한 포인터들을 사용하거나, 이들의 상수 값을 사용 또는 인스턴스화한다(instantiate).
일반적으로, API를 사용하여 API-구현 컴포넌트에 의하여 제공되는 서비스 또는 데이터에 액세스하거나 API-구현 컴포넌트에 의하여 제공되는 동작 또는 연산의 수행을 개시할 수 있다. 예로서, API-구현 컴포넌트 및 API-호출 컴포넌트는 각각 운영 체제, 라이브러리, 디바이스 구동기, API, 어플리케이션 프로그램, 또는 다른 모듈 중에서 임의의 것일 수 있다(API-구현 컴포넌트 및 API-호출 컴포넌트가 서로 동일하거나 상이한 유형의 모듈일 수 있음이 이해되어야 한다). API-구현 컴포넌트들은 일부 경우에 적어도 부분적으로 펌웨어, 마이크로코드 또는 다른 하드웨어 로직으로 실시될 수 있다. 일부 예들에서, API는 클라이언트 프로그램이 소프트웨어 디벨롭먼트 키트(Software Development Kit, SDK) 라이브러리에 의해 제공되는 서비스를 사용하게 할 수 있다. 다른 예들에서, 애플리케이션 또는 다른 클라이언트 프로그램은 애플리케이션 프레임워크에 의해 제공되는 API를 사용할 수 있다. 이들 예들에서, 어플리케이션 또는 클라이언트 프로그램은 호출들을 SDK에 의해 제공되고 API에 의해 제공된 함수들 또는 메소드들에 통합시키거나 SDK에서 정의되고 API에 의해 제공된 데이터 유형들 또는 객체들을 사용할 수 있다. 이 예들에서, 애플리케이션 프레임워크는 프레임워크에 의해 정의되는 다양한 이벤트들에 응답하는 프로그램용 메인 이벤트 루프를 제공한다. API는 애플리케이션 프레임워크를 사용하여 애플리케이션이 이벤트 및 이벤트에 대한 응답들을 규정하게 한다. 일부 구현예들에서, API 호출은 입력 능력 및 상태, 출력 능력 및 상태, 프로세싱 능력, 전력 상태, 저장 용량 및 상태, 통신 능력 등과 같은 양태들에 관계되는 것들을 비롯한 하드웨어 디바이스의 능력 또는 상태를 애플리케이션에 보고할 수 있으며, API는 펌웨어, 마이크로코드, 하드웨어 컴포넌트 상에서 부분적으로 실행되는 기타 낮은 레벨의 로직에 의하여 부분적으로 구현될 수 있다.
API-호출 컴포넌트는 네트워크에 걸쳐 API를 통해 API-구현 컴포넌트와 통신하는 로컬 컴포넌트(즉, API-구현 컴포넌트와 동일한 데이터 처리 시스템 상의) 또는 원격 컴포넌트(즉, API-구현 컴포넌트와 상이한 데이터 처리 시스템 상의)일 수 있다. API-구현 컴포넌트가 또한 API-호출 컴포넌트로서의 역할을 할 수도 있고(즉, 그것은 API 호출들을 상이한 API-구현 컴포넌트에 의해 노출된 API로 만들 수 있다), 상이한 API-호출 컴포넌트에 노출되는 API를 구현함으로써 API-호출 컴포넌트가 또한 API-구현 컴포넌트로서의 역할을 할 수 있음이 이해되어야 한다.
API는 상이한 프로그래밍 언어들로 기록된 다수의 API-호출 컴포넌트들이 API-구현 컴포넌트와 통신하도록 허용할 수 있다(따라서, API는 API-구현 컴포넌트와 API-호출 컴포넌트 사이의 호출 및 반환을 해석하기 위한 특징부들을 포함할 수 있음); 그러나 API는 구체적인 프로그래밍 언어의 관점에서 구현될 수 있다. 일례로, API-호출 컴포넌트는 OS 공급자로부터의 API 세트, 플러그인 공급자로부터의 다른 API 세트, 다른 API 세트의 다른 공급자(예컨대, 소프트웨어 라이브러리의 공급자) 또는 생성자로부터의 다른 API 세트와 같은, 상이한 공급자들로부터의 API들을 호출할 수 있다.
도 5는 예시적인 API 아키텍쳐를 도시하는 블록 다이어그램이고, 이는 개시 내용의 일부 실시예들에서 사용될 수 있다. 도 5에 도시된 바와 같이, API 아키텍처(500)는 API(520)를 구현하는 API-구현 컴포넌트(510)(예컨대, 운영 체제, 라이브러리, 디바이스 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(520)는 하나 이상의 기능, 메소드, 클래스, 객체, 프로토콜, 데이터 구조, 포맷, 및/또는 API-호출 컴포넌트(530)에 의해 사용될 수 있는 API-구현 컴포넌트의 다른 특징부들을 규정한다. API(520)는 API-구현 컴포넌트 내의 함수가 어떻게 API-호출 컴포넌트로부터 파라미터들을 받는지, 그리고 이 함수가 어떻게 API-호출 컴포넌트로 결과를 반환하는지를 규정하는 적어도 하나의 호출 규약(calling convention)을 규정할 수 있다. API-호출 컴포넌트(530)(예컨대, 운영 체제, 라이브러리, 디바이스 구동기, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(520)를 통해 API 호출하여 API(520)에 의해 규정되는 API-구현 컴포넌트(510)의 특징부들에 액세스하여 이를 사용한다. API-구현 컴포넌트(510)는 API 호출에 응답하여 API(520)를 통하여 API-호출 컴포넌트(530)로 값을 반환할 수 있다.
API 구현 컴포넌트(510)가 API(520)를 통해 특정되지 않고 API 호출 컴포넌트(530)가 이용가능하지 않은 추가 함수, 메소드, 클래스, 데이터 구조, 및/또는 다른 특징을 포함할 수 있음이 인식될 것이다. API 호출 컴포넌트(530)가 API 구현 컴포넌트(510)와 동일한 시스템 상에 있을 수 있거나, 원격으로 위치되어 네트워크를 통해 API(520)를 이용하여 API 구현 컴포넌트(510)에 액세스할 수 있다는 것을 이해해야 한다. 도 5는 API(520)와 상호작용하는 단일 API-호출 컴포넌트(530)를 도시하지만, API-호출 컴포넌트(530)와는 상이한 언어(또는 동일한 언어)로 작성될 수 있는 다른 API-호출 컴포넌트들이 API(520)를 사용할 수 있다는 것을 이해할 것이다.
API-구현 컴포넌트(510), API(520) 및 API-호출 컴포넌트(530)는 기계(예컨대, 컴퓨터 또는 다른 데이터 처리 시스템)에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는 비일시적 기계-판독가능한 저장 매체에 저장될 수 있다. 예를 들어, 기계-판독가능한 매체는 자기 디스크, 광 디스크, RAM(random access memory); 판독 전용 메모리, 플래시 메모리 디바이스 등을 포함한다.
도 6에 도시된 예시적인 소프트웨어 스택에서, 애플리케이션은 여러 서비스 API를 이용하여 서비스 A 또는 서비스 B로의 호출을 행하고 여러 운영 체제(OS) API를 이용하여 OS로의 호출을 행할 수 있다. 서비스 A 및 서비스 B는 여러 OS API를 이용하여 OS로의 호출을 행할 수 있다.
서비스 2는 2개의 API를 갖는데, 그 중 하나(서비스 2 API 1)는 애플리케이션 1로부터 호출을 수신하고 그것에 값을 반환하며, 다른 것(서비스 2 API 2)은 애플리케이션 2로부터 호출을 수신하고 그것에 값을 반환함에 유의한다. 서비스 1(예를 들어, 소프트웨어 라이브러리일 수 있음)은 OS API 1로의 호출을 행하고 그로부터 반환 값을 수신하며, 서비스 2(예를 들어, 소프트웨어 라이브러리일 수 있음)는 OS API 1 및 OS API 2 둘 모두로의 호출을 행하고 그들로부터 반환 값을 수신한다. 애플리케이션 2는 OS API 2로의 호출을 행하고 그로부터 반환 값을 수신한다.
도 7은 디바이스의 터치 스크린과 다른 컴포넌트들 간의 예시적인 상호작용을 도시하는 블록 다이어그램이다. 설명된 예들은 유선 또는 무선 통신 채널(1002)을 통해 컴퓨팅 시스템(1003)과 상호작용하기 위한 터치 입력을 수신할 수 있는 터치 I/O 디바이스(1001)를 포함할 수 있다. 터치 I/O 디바이스(1001)를 이용하여 사용자 입력을 컴퓨팅 시스템(1003)에 다른 입력 디바이스들, 예컨대 키보드, 마우스 등을 대신하여 또는 그것들과 조합하여 제공할 수 있다. 하나 이상의 터치 I/O 디바이스(1001)는 사용자 입력을 컴퓨팅 시스템(1003)에 제공하는 데 사용될 수 있다. 터치 I/O 디바이스(1001)는 컴퓨팅 시스템(1003)의 내장형 부품(예를 들어, 스마트폰 또는 태블릿 PC 상의 터치 스크린)일 수 있거나 또는 컴퓨팅 시스템(1003)과 분리될 수 있다.
터치 I/O 디바이스(1001)는 전체적으로 또는 부분적으로 투명, 반투명, 불투명, 불명료한 또는 이들의 임의의 조합인 터치 감지 패널을 포함할 수 있다. 터치 I/O 디바이스(1001)는 터치 스크린, 터치 패드, 터치 패드로서 기능하는 터치 스크린(예를 들어, 랩톱의 터치 패드를 대체하는 터치 스크린), 임의의 다른 입력 디바이스와 조합되거나 통합된 터치 스크린 또는 터치 패드(예를 들어, 키보드 상에 배치된 터치 스크린 또는 터치 패드) 또는 터치 입력을 수신하기 위한 터치 감지 표면을 갖는 임의의 다차원 객체로 구현될 수 있다.
일 예에서, 터치 스크린으로서 구현되는 터치 I/O 디바이스(1001)는 디스플레이의 적어도 일부분 위에 부분적으로 또는 전체적으로 위치한 투명 및/또는 반투명 터치 감지 패널을 포함할 수 있다. 이 예에 따라, 터치 I/O 디바이스(1001)는 컴퓨팅 시스템(1003)(및/또는 다른 소스)에서 전송된 그래픽 데이터를 표시하도록 기능하고 또한 사용자 입력을 수신하도록 기능한다. 다른 예들에서, 터치 I/O 디바이스(1001)는 터치 감지 컴포넌트들/디바이스들이 디스플레이 컴포넌트들/디바이스들에 내장된 내장형 터치 스크린으로서 구현될 수 있다. 또 다른 예들에서 터치 스크린은 보충적인 그래픽 데이터 또는 주요 디스플레이와 동일한 그래픽 데이터를 표시하기 위한 보충적 또는 추가적 디스플레이 스크린으로서 사용될 수 있고 터치 입력을 수신한다.
터치 I/O 디바이스(1001)는 용량성, 저항성, 광학적, 음향적, 유도성, 기계적, 화학적 측정, 또는 하나 이상의 터치 또는 디바이스(1001)에 근접한 근사 터치의 발생에 대하여 측정될 수 있는 임의의 현상에 기초하여 디바이스(1001) 상의 하나 이상의 터치 또는 근사 터치의 위치를 검출하도록 구성될 수 있다. 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 이용하여 검출된 터치들의 측정을 처리하여 하나 이상의 제스쳐를 식별하고 추적할 수 있다. 제스쳐는 터치 I/O 디바이스(1001) 상의 정지된 또는 정지되지 않은, 단일 또는 다중, 터치 또는 근사 터치에 대응할 수 있다. 근본적으로 동시에, 인접하게, 또는 연속하여, 두드리거나, 누르거나, 굴리거나, 문지르거나, 비틀거나, 배향을 바꾸거나, 다양한 압력으로 누르는 것과 같은 터치 I/O 디바이스(1001) 상에서 특정 방식으로 하나 이상의 손가락 또는 다른 객체를 움직임으로써 제스쳐가 수행될 수 있다. 제스쳐는 임의의 다른 손가락 또는 손가락들을 이용하거나 그 사이에서 집기(pinching), 미끄러지기(sliding), 긁기(swiping), 돌리기(rotating), 구부리기(flexing), 끌기(dragging), 또는 두드리기 모션으로 특징될 수 있지만, 이에 제한되지 않는다. 한명 이상의 사용자에 의해, 하나 이상의 손으로, 또는 이들의 임의의 조합으로 단일 제스쳐가 수행될 수 있다.
컴퓨팅 시스템(1003)은 GUI(graphical user interface)를 표시하기 위하여 그래픽 데이터를 이용하여 디스플레이를 구동할 수 있다. GUI는 터치 I/O 디바이스(1001)를 통해 터치 입력을 수신하도록 구성될 수 있다. 터치 스크린으로 구현되는 경우, 터치 I/O 디바이스(1001)는 GUI를 표시할 수 있다. 대안적으로, GUI는 터치 I/O 디바이스(1001)와 별개의 디스플레이 상에 표시될 수 있다. GUI는 인터페이스 내의 특정 위치에 표시되는 그래픽 요소들을 포함할 수 있다. 그래픽 요소들은 가상 스크롤 휠, 가상 키보드, 가상 노브(knob), 가상 버튼, 임의의 가상 UI 등을 포함하는 다양한 표시된 가상 입력 디바이스들을 포함할 수 있지만, 이에 제한되지 않는다. 사용자는 GUI의 그래픽 요소들과 연관될 수 있는 터치 I/O 디바이스(1001) 상의 하나 이상의 특정 위치에서 제스쳐들을 수행할 수 있다. 다른 예들에서, 사용자는 GUI의 그래픽 요소들의 위치들에 독립적인 하나 이상의 위치에서 제스쳐들을 수행할 수 있다. 터치 I/O 디바이스(1001) 상에서 수행되는 제스쳐들은 직접 또는 간접적으로 GUI 내의 그래픽 요소들, 예컨대 커서, 아이콘, 미디어 파일, 리스트, 텍스트, 전체 또는 일부 이미지 등을 조작, 제어, 변경, 이동, 구동, 초기화 또는 일반적으로 영향을 줄 수 있다. 예를 들어, 터치 스크린의 경우, 사용자는 터치 스크린 상의 그래픽 요소 위에 제스쳐를 수행함으로써 그래픽 요소와 직접 상호작용할 수 있다. 대안적으로, 터치 패드는 일반적으로 간접 상호작용을 제공한다. 제스쳐는 또한 표시되지 않는 GUI 요소들에 영향을 줄 수 있거나(예를 들어, 사용자 인터페이스가 보이게 함) 또는 컴퓨팅 시스템(1003) 내의 다른 작동들에 영향을 줄 수 있다(예를 들어, GUI, 애플리케이션, 또는 운영 체제의 상태 또는 모드에 영향을 줌). 제스쳐는 터치 I/O 디바이스(1001) 상에서 표시되는 커서와 협력하여 수행되거나 수행되지 않을 수 있다. 예를 들어, 제스쳐가 터치 패드 상에서 수행되는 경우에, 커서(또는 포인터)가 디스플레이 스크린 또는 터치 스크린 상에 표시될 수 있고, 커서는 터치 패드 상의 터치 입력을 통해 제어되어 디스플레이 스크린 상의 그래픽 객체들과 상호작용할 수 있다. 제스쳐가 터치 스크린 상에서 직접 수행되는 다른 예들에서, 사용자는 터치 스크린 상에 표시되는 커서 또는 포인터를 이용하여 또는 이용하지 않고 터치 스크린 상의 객체들과 직접 상호작용할 수 있다.
터치 I/O 디바이스(1001) 상의 터치 또는 근사 터치들에 응답하여 또는 기초하여 통신 채널(1002)을 통해 사용자에게 피드백이 제공될 수 있다. 피드백은 광학적으로, 기계적으로, 전기적으로, 후각적으로, 청각적으로, 또는 이들의 임의의 조합 및 가변적 또는 비가변적 방식으로 전달될 수 있다.
통신 디바이스(예를 들어 모바일 폰, 스마트 폰), 멀티미디어 디바이스(예를 들어, MP3 플레이어, TV, 라디오), 휴대용 또는 핸드헬드 컴퓨터(예를 들어, 태블릿, 넷북, 랩톱), 테스크톱 컴퓨터, 일체형 데스크톱, 주변기기 디바이스, 또는 시스템 아키텍쳐(2000)를 포함하는 데 적용 가능한 임의의 다른 시스템 또는 디바이스를 포함하지만 이에 제한되지 않고, 이러한 유형의 디바이스들 중 둘 이상의 조합을 포함하는, 임의의 휴대용 또는 비휴대용 디바이스 내에서 구현될 수 있는 시스템 아키텍쳐의 예들에 관한 것이다. 도 8은 일반적으로 하나 이상의 컴퓨터 판독 가능 매체(2001), 프로세싱 시스템(2004), I/O 서브시스템(2006), 무선 주파수(RF) 회로(2008), 오디오 회로(2010), 및 응시 검출 회로(2011)를 포함하는 시스템(2000)의 일 예의 블록 다이어그램이다. 이 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인(2003)에 의해 연결될 수 있다.
도 8에 도시된 아키텍쳐는 단지 일례의 시스템(2000)의 아키텍쳐일 뿐이고, 시스템(2000)의 컴포넌트들은 도시된 것보다 더 많거나 적을 수 있고, 또는 구성이 상이할 수도 있다는 것이 명백할 것이다. 도 8에 도시된 다양한 컴포넌트들은 하나 이상의 신호 프로세싱 및/또는 애플리케이션 맞춤형 집적 회로들을 포함하는 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다.
RF 회로(2008)는 무선 링크 또는 네트워크를 통해 하나 이상의 다른 디바이스에 정보를 주고 받는 데 사용되고 이 기능을 수행하기 위한 공지의 회로를 포함한다. RF 회로(2008) 및 오디오 회로(2010)는 주변기기 인터페이스(2016)를 통해 프로세싱 시스템(2004)에 연결된다. 인터페이스(2016)는 주변기기와 프로세싱 시스템(2004) 간의 통신을 구성하고 유지하기 위한 다양한 공지의 컴포넌트들을 포함한다. 오디오 회로(2010)는 오디오 스피커(2050) 및 마이크로폰(2052)에 연결되고 사용자가 다른 사용자들과 실시간으로 통신할 수 있도록 인터페이스(2016)로부터 수신된 음성 신호들을 처리하기 위한 공지된 회로를 포함한다. 일부 예들에서, 오디오 회로(2010)는 헤드폰 잭(도시되지 않음)을 포함한다.
주변기기 인터페이스(2016)는 시스템의 입력 및 출력 주변기기를 프로세서(2018) 및 컴퓨터 판독 가능 매체(2001)에 연결한다. 하나 이상의 프로세서(2018)는 제어기(2020)를 통해 하나 이상의 컴퓨터 판독 가능 매체(2001)와 통신한다. 컴퓨터 판독 가능 매체(2001)는 하나 이상의 프로세서(2018)에 의한 사용을 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있다. 매체(2001)는 캐시, 메인 메모리 및 2차 메모리를 포함하는 메모리 계층을 포함할 수 있지만, 이에 제한되지 않는다. 메모리 계층은 RAM(예를 들어, SRAM, DRAM, DDRAM), ROM, FLASH, 자기 및/또는 광학 저장 디바이스, 예컨대 디스크 드라이브, 자기 테이프, CD(compact disk) 및 DVD(digital video discs)의 임의의 조합을 이용하여 구현될 수 있다. 매체(2001)는 또한 컴퓨터 명령어 또는 데이터를 나타내는 정보를 담고 있는 신호들을 전달하기 위한 전송 매체(신호가 변조되는 반송파를 이용하거나 이용하지 않음)를 포함할 수 있다. 예를 들어, 전송 매체는 인터넷(월드 와이드 웹으로도 지칭됨), 인트라넷(들), 로컬 영역 네트워크(LAN), 와이드 로컬 영역 네트워크(WLAN), 스토리지 영역 네트워크(SAN), 도시권 네트워크(MAN) 등을 포함하는 통신 네트워크를 포함할 수 있지만, 이에 제한되지 않는다.
하나 이상의 프로세서(2018)는 매체(2001)에 저장된 다양한 소프트웨어 컴포넌트들을 실행하여 시스템(2000)을 위한 다양한 기능들을 수행한다. 일부 예들에서, 소프트웨어 컴포넌트들은 운영 체제(2022), 통신 모듈(또는 명령어들의 세트)(2024), 터치 프로세싱 모듈(또는 명령어들의 세트)(2026), 그래픽 모듈(또는 명령어들의 세트)(2028), 및 하나 이상의 애플리케이션(또는 명령어들의 세트)(2030)을 포함한다. 이 모듈들 및 위에서 언급한 애플리케이션들은 각각 전술된 하나 이상의 기능 및 본 출원에 기술된 방법들(예컨대, 본 명세서에 기술되는 컴퓨터-구현 방법들 및 다른 정보 프로세싱 방법들)을 수행하기 위한 명령어들의 세트에 대응한다. 이들 모듈(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 프로시저(procedure)들 또는 모듈들로서 구현될 필요가 없으며, 따라서 이들 모듈의 다양한 서브세트들이 조합되거나 다양한 예들에서 다른 방식으로 재배열될 수 있다. 일부 예들에서, 매체(2001)는 앞서 확인된 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 또한, 매체(2001)는 전술되지 않은 추가의 모듈들 및 데이터 구조들을 저장할 수 있다.
운영 체제(2022)는 다양한 절차들, 명령어들의 세트, 소프트웨어 컴포넌트들 및/또는 일반적인 시스템 태스크(예를 들어, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)를 제어하고 관리하기 위한 구동기를 포함하고 다양한 하드웨어 및 소프트웨어 컴포넌트들 간의 통신을 가능하게 한다.
통신 통신모듈(2024)은 하나 이상의 외부 포트(2036) 또는 RF 회로(2008)를 통해 다른 디바이스들과의 통신을 가능하게 하고 RF 회로(2008) 및/또는 외부 포트(2036)로부터 수신된 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.
그래픽 모듈(2028)은 디스플레이 표면 상에 그래픽 객체들을 렌더링, 애니메이션화 및 표시하기 위한 다양한 공지된 소프트웨어 컴포넌트들을 포함한다. 터치 I/O 디바이스(2012)가 터치 감지 디스플레이(예를 들어, 터치 스크린)인 예들에서, 그래픽 모듈(2028)은 터치 감지 디스플레이 상에 객체들을 렌더링, 표시, 및 애니메이션화하기 위한 컴포넌트들을 포함한다.
하나 이상의 애플리케이션(2030)은 시스템(2000) 상에 설치된 임의의 애플리케이션들, 예를 들어 브라우저, 주소록, 연락처, 이메일, 인스턴트 메시지, 워드 프로세싱, 키보드 에뮬레이션, 위젯, JAVA-구동 애플리케이션, 암호화, 디지털 권리 관리, 음성 인식, 음성 복제, 위치 결정 기능(예를 들어 글로벌 포지셔닝 시스템(GPS)에 의해 제공됨), 음악 재생기 등을 포함할 수 있지만, 이에 제한됨이 없다.
터치 프로세싱 모듈(2026)은 터치 I/O 디바이스 제어기(2032)를 통해 I/O 디바이스(2012)로부터 수신된 터치 입력을 수신하고 프로세싱하는 것을 포함하지만 이에 제한되지 않는, 터치 I/O 디바이스(2012)와 관련된 다양한 태스크들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.
I/O 서브시스템(2006)은 터치 I/O 디바이스(2012) 및 다양한 기능들을 제어하고 수행하기 위한 하나 이상의 다른 I/O 디바이스(2014)에 연결된다. 터치 I/O 디바이스(2012)는 터치 I/O 디바이스 제어기(2032)를 통해 프로세싱 시스템(2004)과 통신하고, 이는 사용자 터치 입력을 프로세싱하기 위한 다양한 컴포넌트들(예를 들어, 스캐닝 하드웨어)을 포함한다. 하나 이상의 다른 입력 제어기(2034)는 다른 I/O 디바이스(2014)들과 전기적 신호를 주고 받는다. 다른 I/O 디바이스(2014)들은 물리적 버튼, 다이얼, 슬라이더 스위치, 조종간, 키보드, 터치 패드, 추가적 디스플레이 스크린, 또는 이들의 임의의 조합을 포함할 수 있다.
터치 스크린으로 구현된 경우, 터치 I/O 디바이스(2012)는 GUI에서 사용자에게 시각적 출력을 표시한다. 시각적 출력은 텍스트, 그래픽, 비디오, 및 이들의 임의의 조합을 포함할 수 있다. 일부 또는 모든 시각적 출력은 사용자-인터페이스 객체들에 대응할 수 있다. 터치 I/O 디바이스(2012)는 사용자로부터 터치 입력을 수용하는 터치 감지 표면을 형성한다. 터치 I/O 디바이스(2012) 및 터치 스크린 제어기(2032)는 (임의의 관련 모듈 및/또는 매체(2001)의 명령어들의 세트와 함께) 터치 I/O 디바이스(2012) 상의 터치 또는 근사 터치(및 임의의 터치의 움직임 또는 릴리즈)를 검출 및 추적하고 검출된 터치 입력을 그래픽 객체들, 예컨대 하나 이상의 사용자-인터페이스 객체와의 상호작용으로 변환한다. 디바이스(2012)가 터치 스크린으로 구현된 경우에, 사용자는 터치 스크린 상에 표시되는 그래픽 객체들과 직접 상호작용할 수 있다. 대안적으로, 디바이스(2012)가 터치 스크린 이외의 터치 디바이스(예를 들어, 터치 패드)로 구현된 경우에, 사용자는 I/O 디바이스(2014)로 구현된 별개의 디스플레이 스크린 상에 표시되는 그래픽 객체들과 간접적으로 상호작용할 수 있다.
터치 I/O 디바이스(2012)는 다음에 설명된 멀티-터치 감지 표면과 유사할 수 있다: 미국 특허 제6,323,846호(웨스터맨(Westerman) 등), 제6,570,557호(웨스터맨 등), 및/또는 제6,677,932호(웨스터맨), 및/또는 미국 특허 공개 제2002/0015024A1호, 각각은 본 명세서에서 참조로서 포함된다.
터치 I/O 디바이스(2012)가 터치 스크린인 예들은, 터치 스크린이 LCD(액정 디스플레이) 기술, LPD(발광 중합체 디스플레이) 기술, OLED(유기 LED), 또는 OEL(유기 전기 루미네선스)을 사용할 수 있지만, 다른 예들에서는 다른 디스플레이 기술들이 사용될 수 있다.
사용자의 터치 입력 및 컴퓨팅 시스템 및/또는 표시되고 있는 것의 상태 또는 상태들에 기초하여 터치 I/O 디바이스(2012)에 의해 피드백이 제공될 수 있다. 피드백은 광학적으로(예를 들어, 광 신호 또는 표시되는 이미지), 기계적으로(예를 들어, 햅틱 피드백, 터치 피드백, 힘 피드백 등), 전기적으로(예를 들어, 전기 자극), 후각적으로, 청각적으로(예를 들어, 비프 소리 등) 등 또는 이들의 임의의 조합 및 가변적 또는 비가변적인 방식으로 전달될 수 있다.
시스템(2000)은 또한 다양한 하드웨어 컴포넌트들에 전력을 공급하기 위한 전력 시스템(2044)을 포함하고 전력 관리 시스템, 하나 이상의 전원, 재충전 시스템, 정전 검출 회로, 전력 컨버터 또는 인버터, 전력 상태 표시기 및 휴대용 디바이스에서 전력의 발생, 관리 및 분배에 통상적으로 관련된 임의의 다른 컴포넌트들을 포함할 수 있다.
일부 예들에서, 주변기기 인터페이스(2016), 하나 이상의 프로세서(2018), 및 메모리 제어기(2020)는 단일 칩, 예컨대 프로세싱 시스템(2004) 상에서 구현될 수 있다. 일부 다른 예들에서, 그것들은 별개의 칩들에서 구현될 수 있다.
개시 내용의 예들은 터치 감지 표면의 에지 근처의 접촉 패치들을 인식하고 식별하는 데 더 유리하여, 터치 감지 표면을 구비한 전자 디바이스를 작동하는 데 더 직관적이고 덜 실패하도록 사용할 수 있다.
개시된 예들이 첨부의 도면들을 참조하여 충분히 설명되었지만, 통상의 기술자에게 다양한 변경들 및 수정들이 명백할 것이라는 것에 주목하여야 한다. 그러한 변경들 및 수정들은 첨부된 청구항들에 의해 정의되는 바와 같은 개시된 예들의 범주 내에 포함되는 것과 같이 이해되어야 한다.

Claims (33)

  1. 터치 감지 표면을 포함하는 컴퓨팅 디바이스의 방법으로서,
    상기 터치 감지 표면으로부터 근접 이미지를 획득하는 단계;
    상기 근접 이미지의 에지 열에 있는 하나 이상의 터치 노드를 포함하는 적어도 제1 패치를 식별하기 위하여 상기 근접 이미지를 분할하는 단계;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드의 에지 중심을 결정하는 단계;
    인접 열에 있는 상기 제1 패치의 하나 이상의 터치 노드의 인접 중심을 결정하는 단계 - 상기 인접 열은 상기 에지 열에 인접함 -;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 상기 근접 이미지의 경계 열로 복사하는 단계 - 상기 단계는 상기 인접 중심과 상기 에지 중심의 외삽(extrapolation)에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보충(offsetting)하는 단계를 포함함 -; 및
    상기 경계 열에 있는 상기 하나 이상의 터치 노드를 포함하는 상기 제1 패치에 타원을 맞추는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 인접 중심과 상기 에지 중심의 상기 외삽에 기초하여 상기 복사된 터치 노드들을 보충하는 단계는 상기 경계 중심에서 상기 인접 중심을 차감하여 변경값을 획득하는 단계 및 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 변경값은 비정수 값이고 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계는 상기 변경값에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보간하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 에지 합을 획득하는 단계;
    상기 인접 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 인접 합을 획득하는 단계; 및
    상기 에지 합과 상기 인접 합의 외삽에 기초하여 상기 경계 열에 있는 상기 터치 노드들을 스케일링하는 단계를 추가로 포함하는, 방법.
  5. 제4항에 있어서, 상기 에지 합과 상기 인접 합의 상기 외삽은 선형적 외삽과 로지스틱 외삽 중 하나를 포함하는, 방법.
  6. 터치 감지 표면을 포함하는 컴퓨팅 디바이스의 방법으로서,
    상기 터치 감지 표면 상의 또는 그 근처의 접촉의 장축(major axis)을 획득하는 단계;
    상기 터치 감지 표면의 에지로부터 상기 접촉의 거리를 획득하는 단계;
    엄지 윤곽에 기초하여, 상기 획득한 거리에서 엄지 접촉의 기준 장축을 결정하는 단계; 및
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계
    를 포함하는, 방법.
  7. 제6항에 있어서, 상기 접촉의 상기 장축에서 상기 기준 장축을 차감하여 축 차이를 획득하는 단계를 추가로 포함하고;
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 방법.
  8. 제7항에 있어서, 이전 시간 단계들의 축 차이들의 합에 상기 축 차이를 더하는 단계를 추가로 포함하고;
    상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 축 차이들의 합이 양수임을 결정하는 단계를 추가로 포함하고;
    상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합이 양수라는 상기 결정에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 방법.
  10. 제6항에 있어서, 상기 접촉의 착지부터 측정된 시간 임계치를 초과한 이후에 상기 접촉이 엄지로서 식별되는, 방법.
  11. 제6항에 있어서, 상기 접촉이 상기 터치 감지 표면의 상기 에지로부터 거리 임계치에 도달한 이후에 상기 접촉이 엄지로서 식별되는, 방법.
  12. 실행시, 터치 감지 표면을 포함하는 컴퓨팅 디바이스의 방법을 수행하는 명령어들을 포함하는 비일시적인 컴퓨터 판독 가능 매체로서, 상기 방법은,
    상기 터치 감지 표면으로부터 근접 이미지를 획득하는 단계;
    상기 근접 이미지의 에지 열에 있는 하나 이상의 터치 노드를 포함하는 적어도 제1 패치를 식별하기 위하여 상기 근접 이미지를 분할하는 단계;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드의 에지 중심을 결정하는 단계;
    인접 열에 있는 상기 제1 패치의 하나 이상의 터치 노드의 인접 중심을 결정하는 단계 - 상기 인접 열은 상기 에지 열에 인접함 -;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 상기 근접 이미지의 경계 열로 복사하는 단계 - 상기 단계는 상기 인접 중심과 상기 에지 중심의 외삽에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보충하는 단계를 포함함 -; 및
    상기 경계 열에 있는 상기 하나 이상의 터치 노드를 포함하는 상기 제1 패치에 타원을 맞추는 단계
    를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  13. 제12항에 있어서, 상기 인접 중심과 상기 에지 중심의 상기 외삽에 기초하여 상기 복사된 터치 노드들을 보충하는 단계는 상기 경계 중심에서 상기 인접 중심을 차감하여 변경값을 획득하는 단계 및 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  14. 제13항에 있어서, 상기 변경값은 비정수 값이고 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계는 상기 변경값에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보간하는 단계를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  15. 제12항에 있어서, 상기 방법은,
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 에지 합을 획득하는 단계;
    상기 인접 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 인접 합을 획득하는 단계; 및
    상기 에지 합과 상기 인접 합의 외삽에 기초하여 상기 경계 열에 있는 상기 터치 노드들을 스케일링하는 단계를 추가로 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  16. 제15항에 있어서, 상기 에지 합과 상기 인접 합의 상기 외삽은 선형적 외삽과 로지스틱 외삽 중 하나를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  17. 실행시, 터치 감지 표면을 포함하는 컴퓨팅 디바이스의 방법을 수행하는 명령어들을 포함하는 비일시적인 컴퓨터 판독 가능 매체로서, 상기 방법은,
    상기 터치 감지 표면 상의 또는 그 근처의 접촉의 장축을 획득하는 단계;
    상기 터치 감지 표면의 에지로부터 상기 접촉의 거리를 획득하는 단계;
    엄지 윤곽에 기초하여, 상기 획득한 거리에서 엄지 접촉의 기준 장축을 결정하는 단계; 및
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계
    를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서, 상기 방법은 상기 접촉의 상기 장축에서 상기 기준 장축을 차감하여 축 차이를 획득하는 단계를 추가로 포함하고;
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서, 상기 방법은 이전 시간 단계들의 축 차이들의 합에 상기 축 차이를 더하는 단계를 추가로 포함하고;
    상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  20. 제19항에 있어서, 상기 방법은 상기 축 차이들의 합이 양수임을 결정하는 단계를 추가로 포함하고;
    상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합이 양수라는 상기 결정에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 비일시적인 컴퓨터 판독 가능 매체.
  21. 제17항에 있어서, 상기 접촉의 착지부터 측정된 시간 임계치를 초과한 이후에 상기 접촉이 엄지로서 식별되는, 비일시적인 컴퓨터 판독 가능 매체.
  22. 제17항에 있어서, 상기 접촉이 상기 터치 감지 표면의 상기 에지로부터 거리 임계치에 도달한 이후에 상기 접촉이 엄지로서 식별되는, 비일시적인 컴퓨터 판독 가능 매체.
  23. 전자 디바이스로서,
    터치 감지 표면;
    명령어들을 실행하기 위한 프로세서; 및
    상기 프로세서에 연결된, 명령어들을 저장하기 위한 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행시, 상기 프로세서로 하여금 API(application programming interface)-호출 컴포넌트가 상기 전자 디바이스의 방법을 수행하게 하는 API를 생성하는 동작들을 수행하게 하며, 상기 방법은,
    상기 터치 감지 표면으로부터 근접 이미지를 획득하는 단계;
    상기 근접 이미지의 에지 열에 있는 하나 이상의 터치 노드를 포함하는 적어도 제1 패치를 식별하기 위하여 상기 근접 이미지를 분할하는 단계;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드의 에지 중심을 결정하는 단계;
    인접 열에 있는 상기 제1 패치의 하나 이상의 터치 노드의 인접 중심을 결정하는 단계 - 상기 인접 열은 상기 에지 열에 인접함 -;
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 상기 근접 이미지의 경계 열로 복사하는 단계 - 상기 단계는 상기 인접 중심과 상기 에지 중심의 외삽에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보충하는 단계를 포함함 -; 및
    상기 경계 열에 있는 상기 하나 이상의 터치 노드를 포함하는 상기 제1 패치에 타원을 맞추는 단계
    를 포함하는, 전자 디바이스.
  24. 제23항에 있어서, 상기 인접 중심과 상기 에지 중심의 상기 외삽에 기초하여 상기 복사된 터치 노드들을 보충하는 단계는 상기 경계 중심에서 상기 인접 중심을 차감하여 변경값을 획득하는 단계 및 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계를 포함하는, 전자 디바이스.
  25. 제24항에 있어서, 상기 변경값은 비정수 값이고 상기 변경값에 기초하여 상기 복사된 터치 노드들을 변경하는 단계는 상기 변경값에 기초하여 상기 경계 열에 있는 상기 복사된 터치 노드들을 보간하는 단계를 포함하는, 전자 디바이스.
  26. 제23항에 있어서, 상기 방법은,
    상기 에지 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 에지 합을 획득하는 단계;
    상기 인접 열에 있는 상기 제1 패치의 상기 하나 이상의 터치 노드를 합산하여 인접 합을 획득하는 단계; 및
    상기 에지 합과 상기 인접 합의 외삽에 기초하여 상기 경계 열에 있는 상기 터치 노드들을 스케일링하는 단계를 추가로 포함하는, 전자 디바이스.
  27. 제26항에 있어서, 상기 에지 합과 상기 인접 합의 상기 외삽은 선형적 외삽과 로지스틱 외삽 중 하나를 포함하는, 전자 디바이스.
  28. 전자 디바이스로서,
    터치 감지 표면;
    명령어들을 실행하기 위한 프로세서; 및
    상기 프로세서에 연결된, 명령어들을 저장하기 위한 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행시, 상기 프로세서로 하여금 API-호출 컴포넌트가 상기 전자 디바이스의 방법을 수행하게 하는 API를 생성하는 동작들을 수행하게 하며, 상기 방법은,
    상기 터치 감지 표면 상의 또는 그 근처의 접촉의 장축을 획득하는 단계;
    상기 터치 감지 표면의 에지로부터 상기 접촉의 거리를 획득하는 단계;
    엄지 윤곽에 기초하여, 상기 획득한 거리에서 엄지 접촉의 기준 장축을 결정하는 단계; 및
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계
    를 포함하는, 전자 디바이스.
  29. 제28항에 있어서, 상기 방법은 상기 접촉의 상기 장축에서 상기 기준 장축을 차감하여 축 차이를 획득하는 단계를 추가로 포함하고;
    상기 기준 장축 및 상기 접촉의 상기 장축에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 전자 디바이스.
  30. 제29항에 있어서, 상기 방법은 이전 시간 단계들의 축 차이들의 합에 상기 축 차이를 더하는 단계를 추가로 포함하고;
    상기 축 차이에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 전자 디바이스.
  31. 제30항에 있어서, 상기 방법은 상기 축 차이들의 합이 양수임을 결정하는 단계를 추가로 포함하고;
    상기 축 차이들의 합에 기초하여 상기 접촉을 엄지로서 식별하는 단계는 상기 축 차이들의 합이 양수라는 상기 결정에 기초하여 상기 접촉을 엄지로서 식별하는 단계를 포함하는, 전자 디바이스.
  32. 제28항에 있어서, 상기 접촉의 착지부터 측정된 시간 임계치를 초과한 이후에 상기 접촉이 엄지로서 식별되는, 전자 디바이스.
  33. 제28항에 있어서, 상기 접촉이 상기 터치 감지 표면의 상기 에지로부터 거리 임계치에 도달한 이후에 상기 접촉이 엄지로서 식별되는, 전자 디바이스.
KR1020157036976A 2013-06-07 2014-05-01 베젤 에지에서의 터치를 검출하기 위한 방법, 전자 디바이스 및 컴퓨터 판독 가능 저장 매체 KR101756579B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361832703P 2013-06-07 2013-06-07
US61/832,703 2013-06-07
US14/192,536 2014-02-27
US14/192,536 US9477331B2 (en) 2013-06-07 2014-02-27 Touch detection at bezel edge
PCT/US2014/036447 WO2014197142A1 (en) 2013-06-07 2014-05-01 Touch detection at bezel edge

Publications (2)

Publication Number Publication Date
KR20160013211A true KR20160013211A (ko) 2016-02-03
KR101756579B1 KR101756579B1 (ko) 2017-07-10

Family

ID=52005051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157036976A KR101756579B1 (ko) 2013-06-07 2014-05-01 베젤 에지에서의 터치를 검출하기 위한 방법, 전자 디바이스 및 컴퓨터 판독 가능 저장 매체

Country Status (8)

Country Link
US (2) US9477331B2 (ko)
EP (1) EP2987061B1 (ko)
KR (1) KR101756579B1 (ko)
CN (1) CN105283828B (ko)
AU (1) AU2014275440B2 (ko)
DE (1) DE112014002687T5 (ko)
HK (1) HK1219150A1 (ko)
WO (1) WO2014197142A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010370A (ko) * 2018-05-22 2020-01-30 칩원 테크놀로지(베이징) 컴퍼니 리미티드 터치 검출 방법 및 컴퓨터 판독가능 저장 매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477331B2 (en) 2013-06-07 2016-10-25 Apple Inc. Touch detection at bezel edge
US10809893B2 (en) * 2013-08-09 2020-10-20 Insyde Software Corp. System and method for re-sizing and re-positioning application windows in a touch-based computing device
US9727235B2 (en) * 2013-12-12 2017-08-08 Lenovo (Singapore) Pte. Ltd. Switching an interface mode using an input gesture
US9754347B2 (en) * 2014-03-10 2017-09-05 Sony Corporation Method and device for simulating a wide field of view
US9804717B2 (en) 2015-03-11 2017-10-31 Synaptics Incorporated Input sensing and exclusion
CN104731504A (zh) * 2015-03-30 2015-06-24 努比亚技术有限公司 基于无边框终端的应用控制方法及装置
WO2017011810A1 (en) 2015-07-15 2017-01-19 Interlink Electronics, Inc. Force sensing bezel touch interface
US20170185287A1 (en) * 2015-12-23 2017-06-29 Nuance Communications, Inc. Adapting a virtual keyboard in the presence of static contact events
US10466839B2 (en) 2016-03-30 2019-11-05 Synaptics Incorporated Dynamic differential algorithm for side touch signals
US10078406B2 (en) 2016-03-31 2018-09-18 Synaptics Incorporated Capacitive side position extrapolation
KR102316024B1 (ko) * 2017-03-02 2021-10-26 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 사용자 인터페이스 표시 방법
KR102581974B1 (ko) * 2018-07-31 2023-09-22 삼성디스플레이 주식회사 압력 센서 및 이를 포함하는 표시 장치
WO2020171510A1 (ko) 2019-02-19 2020-08-27 삼성전자 주식회사 터치 회로를 포함하는 전자 장치, 및 그 동작 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483261A (en) 1992-02-14 1996-01-09 Itu Research, Inc. Graphical input controller and method with rear screen image detection
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US5825352A (en) 1996-01-04 1998-10-20 Logitech, Inc. Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad
US5835079A (en) 1996-06-13 1998-11-10 International Business Machines Corporation Virtual pointing device for touchscreens
US6310610B1 (en) 1997-12-04 2001-10-30 Nortel Networks Limited Intelligent touch display
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
KR100595924B1 (ko) 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
US6188391B1 (en) 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
US20020015064A1 (en) 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
JP3800984B2 (ja) 2001-05-21 2006-07-26 ソニー株式会社 ユーザ入力装置
JP2003173237A (ja) 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
CN101529874A (zh) * 2006-09-06 2009-09-09 苹果公司 用于具有触摸屏显示器的便携式多功能设备的电话呼入管理
US7855718B2 (en) 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
US7643010B2 (en) 2007-01-03 2010-01-05 Apple Inc. Peripheral pixel noise reduction
US7916126B2 (en) * 2007-06-13 2011-03-29 Apple Inc. Bottom-up watershed dataflow method and region-specific segmentation based on historic data to identify patches on a touch sensor panel
US20090174679A1 (en) * 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
US8704775B2 (en) * 2008-11-11 2014-04-22 Adobe Systems Incorporated Biometric adjustments for touchscreens
US8154529B2 (en) * 2009-05-14 2012-04-10 Atmel Corporation Two-dimensional touch sensors
TW201118698A (en) 2009-11-27 2011-06-01 Ite Tech Inc Posistion apparatus for touch device and posistion method thereof
US8922499B2 (en) * 2010-07-26 2014-12-30 Apple Inc. Touch input transitions
US20120032891A1 (en) 2010-08-03 2012-02-09 Nima Parivar Device, Method, and Graphical User Interface with Enhanced Touch Targeting
US8593418B2 (en) 2010-08-08 2013-11-26 Qualcomm Incorporated Method and system for adjusting display content
CN103282869B (zh) 2010-08-12 2017-10-13 谷歌公司 触摸屏上的手指识别
US8674956B2 (en) 2011-06-13 2014-03-18 Chimei Innolux Corporation In-cell touch sensor touch area enhancing algorithm
KR20130030167A (ko) 2011-09-16 2013-03-26 주식회사 아이피시티 사용자 입력 감지 장치 및 이를 포함하는 전자 장치
US8810535B2 (en) * 2011-10-18 2014-08-19 Blackberry Limited Electronic device and method of controlling same
US9477331B2 (en) 2013-06-07 2016-10-25 Apple Inc. Touch detection at bezel edge

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010370A (ko) * 2018-05-22 2020-01-30 칩원 테크놀로지(베이징) 컴퍼니 리미티드 터치 검출 방법 및 컴퓨터 판독가능 저장 매체

Also Published As

Publication number Publication date
US20140362001A1 (en) 2014-12-11
CN105283828A (zh) 2016-01-27
AU2014275440B2 (en) 2017-03-30
EP2987061B1 (en) 2019-06-26
DE112014002687T5 (de) 2016-03-31
HK1219150A1 (zh) 2017-03-24
KR101756579B1 (ko) 2017-07-10
WO2014197142A1 (en) 2014-12-11
EP2987061A1 (en) 2016-02-24
CN105283828B (zh) 2018-02-23
US9477331B2 (en) 2016-10-25
US20170031511A1 (en) 2017-02-02
AU2014275440A1 (en) 2015-12-24
US10185432B2 (en) 2019-01-22

Similar Documents

Publication Publication Date Title
KR101756579B1 (ko) 베젤 에지에서의 터치를 검출하기 위한 방법, 전자 디바이스 및 컴퓨터 판독 가능 저장 매체
US11307758B2 (en) Single contact scaling gesture
US10156980B2 (en) Toggle gesture during drag gesture
US10203815B2 (en) Application-based touch sensitivity
US10983588B2 (en) Low power mode
US10162478B2 (en) Delay of display event based on user gaze
US20140173747A1 (en) Disabling access to applications and content in a privacy mode
RU2675153C2 (ru) Способ предоставления обратной связи в ответ на пользовательский ввод и терминал, его реализующий
US20140136987A1 (en) Generation of a user interface based on contacts
US9668676B2 (en) User identification system based on plethysmography
US8842088B2 (en) Touch gesture with visible point of interaction on a touch screen
US20150134492A1 (en) Coordinated image manipulation
US9600172B2 (en) Pull down navigation mode
US9026691B2 (en) Semi-autonomous touch I/O device controller operation under control of host
US20130328887A1 (en) Methods and systems for hosting a portion of a user interface and synchronizing animation between processes
CN110945470A (zh) 可编程的多点触摸屏幕上键盘

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant