KR101915823B1 - 터치 데이터를 명확히 하기 위한 기법들 - Google Patents

터치 데이터를 명확히 하기 위한 기법들 Download PDF

Info

Publication number
KR101915823B1
KR101915823B1 KR1020137020986A KR20137020986A KR101915823B1 KR 101915823 B1 KR101915823 B1 KR 101915823B1 KR 1020137020986 A KR1020137020986 A KR 1020137020986A KR 20137020986 A KR20137020986 A KR 20137020986A KR 101915823 B1 KR101915823 B1 KR 101915823B1
Authority
KR
South Korea
Prior art keywords
user
touch
data
conductor
row
Prior art date
Application number
KR1020137020986A
Other languages
English (en)
Other versions
KR20140051127A (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 KR20140051127A publication Critical patent/KR20140051127A/ko
Application granted granted Critical
Publication of KR101915823B1 publication Critical patent/KR101915823B1/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
    • 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
    • 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

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)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

터치 데이터를 명확히 하며 터치 센서에 의해 검출된 터치 포인트들의 사용자 할당을 판단하는 기법들이 기술된다. 이 기법들은 축들 상으로 투영되는 사용자 고유 터치 데이터 및 모든 영역 상에서 캡처된 비사용자 고유 터치 데이터 둘 모두를 이용한다.

Description

터치 데이터를 명확히 하기 위한 기법들{TECHNIQUES FOR DISAMBIGUATING TOUCH DATA}
이 개시는 터치 센서들로부터 산출된 터치 데이터를 명확히 하기 위한 기법들에 관한 것이다.
터치 감지 시스템들은 표면 상의 하나 이상의 접촉 포인트들을 검출하며 응답한다. 터치 감지 시스템은 사용자가 스크린과 접촉하는 하나 이상의 입력들을 이용하여 오브젝트들을 보고 다룰 수 있게 해주는 터치 스크린 디스플레이 형태로 전자 기기 안에 통합될 수 있다.
터치 센서들로부터 산출된 터치 데이터를 명확히 하기 위한 기법들이 기술된다.
일 양태에서, 터치 데이터의 사용자 할당을 명확히 하며 적어도 하나의 터치 포인트를 특정 사용자에 의해 이루어진 터치에 대응하는 것으로서 판단하는 식별(identification)을 전송하는 기법이 기술된다. 적어도 하나의 터치 포인트는 행들로 배열되는 전도체들의 제1어레이 및 열들로 배열되는 전도체들의 제2어레이로서 구성된 이차원 전도체들의 행렬을 가진 용량성 터치 센서에 의해 검출되는 다수의 터치 포인트들 가운데에서 식별된다. 제1사용자의 행 터치 데이터가 수신된다. 제1사용자 행 터치 데이터는 제1사용자에 의해 터치되는 제1어레이 내의 하나 이상의 전도체들을 나타내며, 제1사용자 행 터치 데이터는 제1사용자에 의해 터치된 제1어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 용량성 터치 센서에 의해 캡처된다. 제1사용자의 열 터치 데이터 역시 수신된다. 제1사용자 열 터치 데이터는 제1사용자에 의해 터치되는 제2어레이 내의 하나 이상의 전도체들을 나타내며, 제1사용자 열 터치 데이터는 제1사용자에 의해 터치된 제2어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 용량성 터치 센서에 의해 캡처된다. 제1사용자와 상이한 제2사용자의 행 터치 데이터 역시 수신된다. 제2사용자 행 터치 데이터는 제2사용자에 의해 터치되는 제1어레이 내의 하나 이상의 전도체들을 나타내며, 제2사용자 행 터치 데이터는 제2사용자에 의해 터치된 제1어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 용량성 터치 센서에 의해 캡처된다. 제2사용자의 열 터치 데이터 역시 수신된다. 제2사용자 열 터치 데이터는 제2사용자에 의해 터치되는 제2어레이 내의 하나 이상의 전도체들을 나타내며, 제2사용자 열 터치 데이터는 제2사용자에 의해 터치된 제2어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 용량성 터치 센서에 의해 캡처된다. 터치 포인트 위치 데이터가 수신된다. 터치 포인트 위치 데이터는 전도체들의 이차원 행렬 상의 복수의 터치 포인트들의 이차원 위치들을 제1어레이로부터의 하나의 전도체 및 제2어레이로부터의 하나의 전도체의 쌍으로서 나타낸다. 터치 포인트 위치 데이터는 용량성 터치 센서에 의해 복수의 터치 포인트들 각각에 대해, 터치로부터 비롯된 제1어레이로부터의 하나의 전도체 및 그 대응 짝이 되는 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 반영한 신호의 검출에 기반하여 캡처된다. 수신된 터치 포인트 위치 데이터를 수신된 제1사용자 행 터치 데이터, 수신된 제1사용자 열 터치 데이터, 수신된 제2사용자 행 터치 데이터 및 수신된 제2사용자 열 터치 데이터에 적용함으로써, 적어도 하나의 터치 포인트가 복수의 터치 포인트들 가운데에서 제1사용자에 의해 이루어진 터치에 해당한다고 식별된다. 그러한 식별은 전송된다.
구현예들은 이하의 특징들 중 하나 이상을 포함할 수 있다. 예를 들어, 기법은 제1사용자 및 제2사용자에 의해 각기 터치된 제1어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 감지하는 용량성 터치 센서에 의해 수신된 제1사용자 행 터치 데이터 및 수신된 제2사용자 행 터치 데이터를 캡처하는 동작을 더 포함할 수 있다. 수신된 제1사용자 열 터치 데이터 및 수신된 제2사용자 열 터치 데이터는 제1사용자 및 제2사용자에 의해 각기 터치된 제2어레이 내의 하나 이상의 전도체들 및 공통 노드 사이의 커패시턴스 변화를 감지하는 용량성 터치 센서에 의해 캡처될 수 있다. 이러한 구현예들에서, 수신된 터치 포인트 위치 데이터는 복수의 터치 포인트들 각각에 대해, 터치로부터 비롯된 제1어레이로부터의 하나의 전도체 및 그 대응 짝이 되는 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 감지하는 용량성 터치 센서에 의해 캡처될 수 있다.
일부 구현예들에서, 복수의 터치 포인트들 중 적어도 하나의 터치 포인트를 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 동작은 복수의 터치 포인트들 중 하나를 선택하는 동작 및 터치 포인트 위치 데이터로부터 선택된 터치 포인트의 이차원 위치에 액세스하는 동작을 포함할 수 있다. 선택된 터치 포인트의 위치는 제1어레이 내의 제1전도체 및 제2어레이 내의 제2전도체의 쌍으로서 표시될 수 있다. 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 액세스될 수 있다. 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 제1사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다는 판단이 내려질 수 있다. 제2사용자 행 터치 데이터 및 열 터치 데이터 역시 액세스될 수 있다. 제2사용자 행 터치 데이터 및 제2사용자 열 터치 데이터가 제2사용자가 제1전도체를 터치하고 있지 않거나, 제2전도체를 터치하고 있지 않거나, 제1전도체 및 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다는 판단이 내려질 수 있다. 선택된 터치 포인트는 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 제1사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다는 판단 및 제2사용자 행 터치 데이터 및 제2사용자 열 터치 데이터가 제2사용자가 제1전도체를 터치하고 있지 않거나, 제2전도체를 터치하고 있지 않거나, 제1전도체 및 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다는 판단에 기반하여 제1사용자에 의해 이루어진 터치에 해당한다는 결론이 내려질 수 있다.
일부 구현예들에서, 복수의 터치 포인트들 중 적어도 하나의 터치 포인트를 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 동작은 하나 이상의 다른 사용자들 각각의 행 터치 데이터를 수신하되, 상기 하나 이상의 다른 사용자들 각각의 행 터치 데이터는 상기 다른 사용자에 의해 터치되는 제1어레이 내의 하나 이상의 전도체들을 나타내는 동작, 및 상기 하나 이상의 다른 사용자들 각각의 열 터치 데이터를 수신하되, 상기 하나 이상의 다른 사용자들 각각의 열 터치 데이터는 상기 다른 사용자에 의해 터치되는 제2어레이 내의 하나 이상의 전도체들을 나타내는 동작을 포함할 수 있다. 복수의 터치 포인트들 중 하나가 선택될 수 있다. 선택된 터치 포인트의 이차원 위치가 터치 포인트 위치 데이터로부터 액세스될 수 있다. 선택된 터치 포인트의 위치는 제1어레이 내의 제1전도체 및 제2어레이 내의 제2전도체의 쌍으로서 표시될 수 있다. 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 액세스될 수 있다. 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 제1사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타내는지 여부에 대한 판단이 내려질 수 있다. 제1사용자 행 터치 데이터 및 제1사용자 열 터치 데이터가 제1사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다고 판단될 수 있는지 여부에 기반하여, 제1사용자가 상기 선택된 터치 포인트에 대한 후보 사용자들의 풀(pool)에 추가될 수 있다. 제2사용자 행 터치 데이터 및 제2사용자 열 터치 데이터 역시 액세스될 수 있다. 제2사용자 행 터치 데이터 및 제2사용자 열 터치 데이터가 제2사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타내는지 여부에 대한 판단이 내려질 수 있다. 제2사용자 행 터치 데이터 및 제2사용자 열 터치 데이터가 제2사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 제2사용자가 상기 선택된 터치 포인트에 대한 후보 사용자들의 풀에 추가될 수 있다. 하나 이상의 다른 사용자들 각각의 행 터치 데이터 및 열 터치 데이터가 액세스될 수 있다. 하나 이상의 다른 사용자들 각각에 대해, 다른 사용자의 행 터치 데이터 및 다른 사용자의 열 터치 데이터가 그 다른 사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타내는지 여부에 대한 판단이 내려질 수 있다. 다른 사용자의 행 터치 데이터 및 다른 사용자의 열 터치 데이터가 그 다른 사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 다른 사용자가 상기 선택된 터치 포인트에 대한 후보 사용자들의 풀에 추가될 수 있다. 선택된 터치 포인트의 후보 사용자들의 풀이 제1사용자만을 포함한다는 판단이 내려질 수 있고; 선택된 터치 포인트의 후보 사용자들의 풀이 제1사용자만을 포함한다는 판단에 기반하여, 선택된 터치 포인트가 제1사용자에 의해 이루어진 터치에 해당한다는 결론이 내려질 수 있다.
일부 구현예들에서, 복수의 터치 포인트들 중 적어도 하나의 터치 포인트를 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 동작은 복수의 터치 포인트들 중 제1터치 포인트가 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 동작을 포함할 수 있다. 이러한 구현예들에서, 수신된 터치 포인트 위치 데이터를 수신된 제1사용자 행 터치 데이터, 수신된 제1사용자 열 터치 데이터, 수신된 제2사용자 행 터치 데이터 및 수신된 제2사용자 열 터치 데이터에 적용함으로써, 복수의 터치 포인트들 중 제2터치 포인트가 제2사용자에 의해 이루어진 터치에 해당한다고 식별될 수 있다.
일부 예들에서, 수신된 터치 포인트 위치 데이터, 수신된 제1사용자 행 터치 데이터, 수신된 제1사용자 열 데이터, 수신된 제2사용자 행 터치, 및 수신된 제2사용자 열 터치 데이터는 단일 특정 프레임 내에서 캡처될 수 있다. 이러한 예들에서, 복수의 터치 포인트들 중 적어도 하나의 터치 포인트를 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 동작은 복수의 터치 포인트들의 제1부분집합이 제1사용자에 의해 이루어진 터치들에 해당하는 것으로서 식별하는 동작을 포함할 수 있다. 수신된 터치 포인트 위치 데이터를 수신된 제1사용자 행 터치 데이터, 수신된 제1사용자 열 터치 데이터, 수신된 제2사용자 행 터치 데이터 및 수신된 제2사용자 열 터치 데이터에 적용함으로써, 복수의 터치 포인트들의 제2부분집합이 제2사용자에 의해 이루어진 터치들에 해당한다고 식별될 수 있고, 복수의 터치 포인트들의 제3부분집합은 제3부분집합 내 터치 포인트들이 단일 특정 프레임 이전의 프레임들 안에서 캡처된 이력(historical) 터치 데이터를 사용하는 발견적 방법을 적용하지 않고 어떤 사용자에 의해 이루어진 터치에 해당한다고 고유하게 판단될 수 없다는 점에서 모호한 것으로 식별될 수 있다.
일부 예들에서, 복수의 터치 포인트들 중 적어도 하나의 터치 포인트를 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 동작은 복수의 터치 포인트들에 대한 하나 이상의 유효 사용자 할당들을 식별하는 동작을 포함할 수 있다. 복수의 터치 포인트들에 대한 각각의 유효 사용자 할당은 복수의 사용자들 중 단 한 사용자에 대한 복수의 터치 포인트들 각각의 할당을 나타낼 수 있으며, 복수의 사용자들에는 제1사용자 및 제2사용자가 포함된다. 이러한 구현예들에서, 복수의 터치 포인트들에 대한 하나 이상의 유효 사용자 할당들을 식별하는 동작은 예비 알고리즘을 적용하여 복수의 사용자들 중 한 사용자에게로의 복수의 터치 포인트들의 한 부분집합 내 각각의 터치 포인트의 고유한 할당을 결정하는 동작을 포함할 수 있다. 복수의 터치 포인트들로부터 상기 부분집합의 제거 이후의 복수의 터치 포인트들에 해당하는 축소된 터치 포인트들의 집합이 생성될 수 있다. 축소된 터치 포인트들의 집합 내 터치 포인트들의 가능한 사용자 할당들이 식별될 수 있다. 식별된 각각의 가능한 사용자 할당에 있어, 그 식별된 가능한 사용자 할당은 복수의 사용자들의 모든 특정 사용자에 대해, 행 터치 데이터에서 특정 사용자에 대해 터치되는 것으로 나타나는 제1어레이 내 각각의 특정 전도체에 대해, 그리고 열 터치 데이터에서 특정 사용자에 대해 터치되는 것으로 나타나는 각각의 특정 전도체에 대해, 식별된 가능한 사용자 할당이 제1어레이 내 특정 전도체에 해당하는 위치를 가진 축소된 집합으로부터의 적어도 하나의 터치 포인트 및 제2어레이 내 특정 전도체에 해당하는 위치를 가진 축소된 집합으로부터의 적어도 하나의 터치를 당하는 경우 유효한 것으로 지정될 수 있다. 유효한 것으로 지정된 가능한 사용자 할당들은 복수의 터치 포인트들에 대한 하나 이상의 유효 사용자 할당들의 집합에 도달하기 위해 예비 알고리즘에 의해 결정된 부분집합 내 터치 포인트들의 고유 할당과 결합될 수 있다.
이러한 구현예들에서, 예비 알고리즘을 적용하여 복수의 터치 포인트들의 부분집합 내 각각의 터치 포인트의 고유 할당을 결정하는 동작은 복수의 터치 포인트들 중 하나를 선택하는 동작 및 터치 포인트 위치 데이터로부터 선택된 터치 포인트의 이차원 위치에 액세스하는 동작을 포함할 수 있다. 선택된 터치 포인트의 위치는 터치 포인트 위치 데이터 내에서 제1어레이 내의 제1전도체 및 제2어레이 내의 제2전도체의 쌍으로서 표시될 수 있다. 복수의 사용자들 각각에 대해, 행 터치 데이터 및 열 터치 데이터가 그 사용자에 대해 액세스될 수 있고, 그 사용자의 행 터치 데이터 및 그 사용자의 열 터치 데이터가 그 사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타내는지 여부에 대한 판단이 내려질 수 있다. 상기 사용자의 행 터치 데이터 및 상기 사용자의 열 터치 데이터가 상기 사용자가 제1전도체 및 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 사용자가 상기 선택된 터치 포인트에 대한 후보 사용자들의 풀에 추가될 수 있다. 선택된 터치 포인트의 후보 사용자들의 풀이 단일 사용자만을 포함하는지 여부에 대한 판단이 내려질 수 있다. 후보 사용자들의 풀이 단일 사용자만을 포함하는 것으로 판단되는지 여부에 따라, 선택된 터치 포인트가 그 단일 사용자에게 고유하게 할당될 수 있고 그로써 상기 선택된 터치 포인트를 상기 부분집합 내에 포함할 수 있다. 후보 사용자들의 풀이 여러 사용자들을 포함하는 것으로 판단되는지 여부에 따라, 선택된 터치 포인트가 상기 부분집합 안에 포함되지 않을 수 있다.
축소된 터치 포인트들의 집합 내 터치 포인트들의 가능한 사용자 할당들을 식별하는 동작은 X^Y 개의 서로 다른 사용자 할당들을 식별하는 동작을 포함할 수 있으며, 여기서 X는 여러 사용자들의 수에 해당하며 Y는 축소된 터치 포인트들의 집합 내 터치 포인트들의 개수에 해당한다. 축소된 집합 내 터치 포인트들의 가능한 사용자 할당들을 식별하는 동작 및 식별된 가능한 사용자 할당들을 유효한 것으로 지정하는 동작은 사용자 할당 구성 트리의 서로 다른 노드들에 의해 나타내어진 서로 다른 가능한 사용자 할당들의 유효성을 선택적으로 분석하는 반복 알고리즘을 적용하는 동작을 포함할 수 있다. 반복 알고리즘은 가능한 사용자 할당들의 보다 큰 그룹들을 나타내는 사용자 할당 구성 트리 내 고수준 노드들을 분석하는 것에서부터 보다 작은 그룹이나 하나의 가능한 사용자 할당들을 나타내는 사용자 할당 구성 트리 내 저수준 노드들을 분석하는 것으로 선택적으로 진행함으로써 서로 다른 가능한 사용자 할당들의 유효성을 선택적으로 분석할 수 있다.
예비 알고리즘을 적용함으로써 복수의 사용자들 중 한 사용자에게로의 복수의 터치 포인트들의 부분 집합 내 각각의 터치 포인트의 고유 할당을 결정하는 동작은 복수의 사용자들 중 하나에 대한 상기 부분집합 내 각각의 터치 포인트의 명확한 할당을 발생하는 동작을 포함할 수 있다. 복수의 터치 포인트들에 대한 하나 이상의 유효 사용자 할당들을 식별하는 동작은 상기 복수의 터치 포인트들에 대해 복수의 유효 사용자 할당들을 식별하는 동작을 포함할 수 있다. 복수의 유효 사용자 할당들 가운데에서 단일한 특정 유효 사용자 할당을 가장 정확한 사용자 할당으로서 선택하기 위해 이력 터치 포인트 데이터를 사용하는 발견적 알고리즘이 적용될 수 있다.
상기 기술된 기법들의 구현예들은 하드웨어, 하드웨어 내에서 적어도 부분적으로 구현되는 방법이나 프로세스, 또는 프로세서에 의해 실행될 때 동작들을 수행하는 실행가능 명령어들로 인코딩된 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
하나 이상의 구현예들의 세부 내용이 첨부된 도면 및 이하의 상세설명을 통해 기술된다. 상세한 설명 및 도면, 그리고 청구범위로부터 기타 특징들이 자명해질 것이다.
도 1 및 2는 각각 터치 센서 그리드, m*n 터치 데이터, 및 m+n 터치 데이터를 예시한 도면이다.
도 3 및 4는 각각 터치 센서 그리드, m*n 터치 데이터, 및 사용자 고유의 m+n 터치 데이터를 예시한 도면이다.
도 5는 m*n 터치 데이터 및 사용자 고유의 m+n 터치 데이터에 기반하여 서로 다른 사용자들에게 터치 포인트들을 할당하는 데 사용되는 프로세스를 예시한 블록도이다.
도 6, 7 및 8은 각각 터치 센서 그리드, m*n 터치 데이터, 및 사용자 고유의 m+n 터치 데이터를 예시한 도면이다.
도 9는 검출된 터치 포인트들의 집합에 대해 다수의 서로 다른 가능한 사용자 할당 구성들을 예시한 트리도이다.
도 10은 m*n 터치 데이터 및 사용자 고유의 m+n 터치 데이터에 기반하여 서로 다른 사용자들에게 터치 포인트들을 할당하는 데 사용되는 프로세스를 예시한 블록도이다.
도 11은 검출된 터치 포인트들의 집합에 대해 다수의 서로 다른 가능한 사용자 할당 구성들을 예시한 트리도이다.
도 12는 m+n 터치 데이터를 캡처하도록 구성된 터치 센서 시스템의 도면이다.
도 13은 m*n 터치 데이터 및 사용자 고유의 m+n 터치 데이터를 캡처하도록 구성된 터치 센서 시스템의 도면이다.
도 14는 도 13의 터치 센서 시스템의 터치 센서 그리드가 m*n 터치 데이터 및 사용자 고유의 m+n 터치 데이터를 캡처하도록 작동될 때의 터치 센서 시스템의 도면이다.
도 15는 도 13의 터치 센서 시스템의 사용자 장치가 사용자 고유의 m+n 터치 데이터를 캡처하도록 작동될 때의 터치 센서 시스템의 도면이다.
도 16은 한 프레임을 타임 슬롯들로 분할한 것을 보인 도면이다.
도 17은 사용자 장치의 블록도이다.
도 18은 단일 전극 상에서 신호들을 송수신하는 회로의 블록도이다.
다양한 도면 내 동일 참조 번호 및 표시들은 동일 구성 요소들을 나타낸다.
용량성 터치 센서는 이차원 그리드 상에 배열되는 전도성(conducting) 행들과 열들을 포함할 수 있다. 행과 열 전도체들의 특정 기하구조는 이들을 구현하기 위해 사용되는 전도 물질에 따라 가변될 수 있다. 예를 들어, 행들 및 열들은 전도 물질인 산화 인듐 주석을 사용하여 다이아몬드 패턴으로 배열될 수 있다; 혹은 행들 및 열들은 터치 센서가 디스플레이 앞에 놓일 때 눈에 띄지 않을 정도로 충분히 얇은 금속선들(가령, 구리나 은 선들)을 이용하여 형성될 수 있다. 전도체들의 특정 기하구조와 무관하게, 센서는 이하의 두 방식들 중 하나로 터치를 감지할 수 있다: (1) 각각의 행으로부터 각각의 열까지의 커패시턴스 계측; 또는 (2) 각각의 행 및 각각의 열로부터 반드시 그런 것은 아니지만 보통 제어기 회로의 접지 노드인 어떤 다른 노드까지의 커패시턴스를 계측. 어느 경우든, 센서는 예컨대 사용자의 손가락에 의한 터치가 테스트 중에 커패시턴스에 어떤 영향을 미치고 그에 따라 검출되도록 설계될 수 있다. m 개의 행들 및 n 개의 열들로 된 센서에서, 어떤 행으로부터 어떤 열까지 m*n 개의 가능한 커패시턴스들이 존재하며, 어떤 행이나 열로부터 어떤 다른 노드까지 m+n 개의 가능한 커패시턴스들이 존재한다(즉, m 개의 커패시턴스들이 행들에 대해 존재하고 n 개의 커패시턴스들이 열들에 대해 존재하여 총 m+n 개의 가능한 커패시턴스들을 도출함). 터치 센서의 mxn 그리드의 각각의 행에서 각각의 열까지의 커패시턴스를 계측함으로써 얻어진 계측 데이터를 이제부터 m*n 개의 터치 데이터 또는 모든 사용자들의 m*n 개의 터치 데이터라 칭하며, mxn 그리드의 각각의 행 및 각각의 열로부터 어떤 다른 노드까지의 커패시턴스를 계측하여 얻어진 계측 데이터를 이제부터 m+n 개의 터치 데이터라 지칭한다. 통상적으로 m*n 개의 터치 데이터 및 m+n 개의 터치 데이터는 터치 센서를 동시에 터치하는 서로 다른 사용자들로부터의 터치들을 구별하지 못한다. 게다가 이하에 더 논의되다시피, m+n 개의 터치 데이터만으로는 터치 센서의 그리드 상의 모든 터치 포인트들의 위치들을 명확히 결정할 수 없을 것이다. 서로 다른 터치들을 서로 다른 사용자들에게 할당하고 m+n 개의 터치 데이터의 모호성을 다루기 위해 발견적 방법들이 사용될 수 있으나, 단독으로 사용될 때 그 방법들은 터치 횟수가 늘면서 에러 증가를 겪게 된다. 이하에서 보다 상세히 기술되다시피, m*n 개의 터치 데이터 및 사용자 고유의 m+n 개의 터치 데이터 둘 모두를 계측할 수 있는 터치 센서는 m+n 개의 터치 데이터를 명확히하여, 단지 발견기법만이나 다른 대안적 방법들을 사용하여 가능할 수 있는 것보다 큰 정확도를 가지고 서로 다른 검출 터치들을 서로 다른 사용자들에게 할당할 수 있을 것이다.
위에서 언급한 바와 같이, (m*n 개의 계측들에 해당하는) mxn 그리드의 각각의 행에서 각각의 열까지의 커패시턴스를 계측함으로써 m*n 개의 터치 데이터가 얻어질 수 있다. 이러한 계측들의 수행을 통해, 여러 터치들의 어떤 조합이 결정될 수 있다. 어떤 터치에 대응하는 주어진 포인트에서 (그 포인트의 기본 커패시턴스와 비교한) 커패시턴스 증가나 감소에 따라, m*n 개의 계측들이 디스플레이의 비트맵 이미지를 형성한다. 따라서 m*n 개의 터치 데이터는 모든 영역 상의 터치 데이터로서 참조될 수도 있다. 따라서, m*n 개의 터치 데이터를 캡처하도록 구성된 터치 센서는 동시적 터치 포인트들의 개수와 관계 없이 통상적으로 터치 포인트들의 위치를 정확히 판단할 수 있다.
반대로, 터치 센서가 mxn 그래드의 각각의 행과 각각의 열로부터 어떤 다른 노드까지의 커패시턴스를 계측하여 m+n 개의 터치 데이터 만을 캡처하도록 구성될 때(m+n 개의 계측들에 해당), 보다 적은 자유도가 가능하다. m+n 개의 터치 데이터가 그리드의 x나 y 축 상에 반영되는 터치 포인트들로서 보여질 수 있기 때문에, m+n 개의 터치 데이터는 종종 축들 상에 투영되는 터치 데이터라 불린다. 단지 집계 변수에 의해 이들 m+n 개의 계측들만을 이용하여 풀(full) 비트맵 이미지(즉, 모든 영역에 대한 터치 데이터)를 재구성하는 것은 어려울 수 있다. 그러나 이하에서 보다 상세히 기술되는 바와 같이, 그 터치의 위치는 그래도 명확히 결정될 수 있다.
도 1은 전형적 터치 센서 그리드(100) 및 대응하는 행 터치 데이터(110) 및 열 터치 데이터(120)를 예시한 도면이다. 주목할 만한 것은 행들 대 열들로서 하나의 특정 축의 지정은 임의적이라는 것이다. 그리드(100)는 0부터 4까지 수치가 달린 5 개의 행들 및 0부터 11까지의 수치가 달린 12 개의 열들을 가진다. 그리드(100)가 5 개의 행들 및 12 개의 열들만을 가지는 것으로 도시되지만, 행들 및 열들의 개수는 달라질 수 있다. 예를 들어 통상적 터치 센서의 터치 센서 그리드는 수백 개의 행들 및 열들을 가질 수 있다. 그리드(100) 상의 터치 위치는 열 넘버를 반영한 x 좌표 및 행 넘버를 반영한 y 좌표를 가지는 터치 포인트로 표현될 수 있다. 도 1은 그리드(100) 상의 이러한 위치에서의 터치를 나타내는 위치 (x, y)=(5,2)에서의 단일 터치 포인트(101)를 보인다. 터치는 각각의 열로부터 어떤 다른 노드까지의 커패시턴스 계측 시 위치 5에서 신호를, 그리고 각각의 행으로부터 어떤 다른 노드까지의 커패시턴스 계측 시 위치 2에서 신호를 생성한다. 상기 터치에 반응하여 터치 센서에 의해 생성되는 대응하는 열 터치 데이터가 도 1에서 열 5에서 열 터치 12 및 행 2에서 행 터치 111을 포함하는 것으로 도시된다.
한 번의 터치에 있어서, m+n 개의 계측들 만을 이용하여 그리드(100) 상에서 해당하는 터치 포인트의 위치를 명확히 판단하는 것이 가능하다. 즉, 그리드(100)의 다섯 행들 각각에 대해 한 행으로부터 다른 노드까지의 커패시턴스 계측들을 나타내는 행 터치 데이터(100)만을 이용하고 그리드(100)의 열 두 개 열들 각각에 대해 한 열로부터 다른 노드까지의 커패시턴스 계측들을 나타내는 열 터치 데이터(120)만을 이용하여 해당 터치 포인트의 위치를 명확히 결정하는 것이 가능하다. 그러나 복수의 터치들이 존재할 때, 터치 포인트의 위치를 명확히 결정하는 것은 m+n 개의 계측들만을 이용해 더 이상 가능하지 않을 것이다.
예를 들어 도 2에서 두 개의 터치들이 그리드(100) 상에 존재한다. 제1터치는 위치 (x, y) = (5, 2)의 터치 포인트(201)로 표현되고 제2터치는 위치 (x, y)= (1, 0)의 터치 포인트(120)로 표현된다. 이것은 위치들 1 및 5에서 열 신호의 변화 및 위치들 0 및 2에서 행 신호의 변화를 만든다. 그에 따라 해당 열 터치 데이터(120)는 열 1에서 열 터치(222) 및 열 5에서 열 터치(221)을 포함하고, 해당 행 터치 데이터(110)는 행 0에서 행 터치(212)와 행 2에서 행 터치(211)을 포함한다.
주목할 것은 도 2에 도시된 m+n 개의 터치 데이터는 그 데이터를 두 개의 터치 포인트들(201 및 202)의 위치 상에 명확히 매핑하는 것이 가능하지 않다는 점에서 모호하다는 것이다. 즉, (1, 2) 및 (5, 0)의 터치 포인트들에 의해 행들 및 열들을 따라 정확히 동일한 커패시턴스들의 구성이 생겨날 것이다. 발견적 방법들이 예컨대 터치 포인트들의 이력에 기반하여 m+n 개의 터치 데이터를 명확히 하기 위해 사용될 수 있다. 터치 포인트들의 이력을 이용하는 그러한 발견적 방법들은 예컨대, m+n 개의 터치 데이터가 열 {5} 및 행 {2} 만이 터치되었다는 것을 나타내는 데이터로부터 열들 {1,5} 및 행들 {0,2}이 터치되었다는 것을 나타내는 데이터로 바뀐 경우, (5,2)의 터치 포인트가 해제되었고 (1,2) 및 (5,0)의 두 포인트들이 추가되었기 보다 (5,2)의 터치 포인트가 유지되고 (1,0)의 포인트가 추가되었을 가능성이 더 많다고 판단할 수 있다. 그러나 이러한 방식으로 동작하는 발견적 방법들은 시간 경과에 따라 둘 이상의 터치 포인트들을 가진 구성들에 대해 실패할 수 있다. 특히, 터치 포인트들의 개수가 증가하면서, 주어진 구성에 대한 가능한 해법들의 수가 증가할 수 있고 부정확한 결과가 될 가능성이 더 많을 수 있다.
I. 터치 데이터를 명확히 하며 터치 포인트들의 사용자 할당을 결정하기 위해 M*N 개의 터치 데이터 및 사용자 고유의 M+N 개의 터치 데이터 사용
m+n 개의 터치 데이터만이 이용 가능한 경우, 상술한 발견적 방법들이 이용가능한 최선의 해법일 수 있다. 그러나 m*n 개의 터치 데이터 역시 이용가능한 경우, m*n 개의 터치 데이터가 m+n 개의 터치 데이터를 명확히 하기 위해 사용될 수 있다. 예를 들어 도 2에 도시된 경우에서, (1,2) 및 (5,0)의 포인트들을 이용한 해법은 거부될 수 있는데, 이는 m*n 개의 터치 데이터가 위치 (1,2)의 터치를 나타내지 못하기 때문이다.
지금까지 기술한 경우들에 있어서, 이것은 유용할 수 있다. 즉, m*n 개의 터치 데이터가 이용 가능한 경우, m*n 개의 터치 데이터로부터 바로 작업하는 터치 포인트들을 식별하여 터치 포인트 식별을 위한 m+n 개의 터치 데이터 포착 및 이용을 과잉의 불필요한 것으로 만드는 것이 바람직할 것이다. 그러나 소정 상황들에서는 각각의 사용자에 대해 m+n 개의 터치 데이터를 독립적으로 계측하지만 모든 사용자들에 대해 m*n 개의 터치 데이터만을 동시에 계측하는 것이 가능하다. 예를 들어 사용자 A에 의해 터치된 포인트는 사용자 A의 m+n 개의 터치 데이터에 나타나고, 사용자 B의 m+n 개의 터치 데이터에는 나타나지 않으며 m*n 개의 데이터에 나타나고, 사용자 B에 의해 터치된 포인트는 사용자 B의 m+n 개의 터치 데이터에 나타나고, 사용자 A의 m+n 개의 터치 데이터에는 나타나지 않으며 m*n 개의 데이터에 나타나지 않는다.
터치 포인트들의 위치들만이 아닌 터치 센서를 터치하는 해당 사용자의 아이디를 판단하고자 하는 경우, 터치 포인트 식별에 있어 m*n 개의 터치 데이터만큼 유용하지 않다고 해도 m+n 개의 터치 데이터는 서로 다른 사용자들에 터치 포인트들을 할당하는 데 있어 여전히 유용하다. 주목할 만한 것은, 이러한 방식으로 사용될 m+n 개으 터치 데이터에 대해 m+n 개의 터치 데이터는 통상적으로 사용자 고유의 것이어야 한다. 즉, 터치 센서 시스템은 센서를 터치하는 각각의 사용자에 대해 서로 다른 m+n 개의 터치 데이터를 캡처할 수 있다.
도 3은 전형적인 터치 센서 그리드(300) 및 제1사용자(즉, 사용자 A)에 대한 해당 행 터치 데이터(310) 및 열 터치 데이터(320) 및 제2사용자(즉, 사용자 B)에 대한 해당 행 터치 데이터(330) 및 열 터치 데이터(340)를 예시한 도면이다. 그리드(300)는 도 1의 그리드(100)의 구현예에 해당한다. 행 터치 데이터(310) 및 열 터치 데이터(320)가 함께 사용자 A에 대한 m+n 개의 터치 데이터를 나타내고, 행 터치 데이터(330) 및 열 터치 데이터(340)가 함께 사용자 B에 대한 m+n 개의 터치 데이터를 나타낸다.
도 3에 도시된 바와 같이, 열 터치 데이터(320)는 사용자 A가 열들 {1, 5}를 터치하고 있음을 나타내는 열 터치(321) 및 열 터치(322)를 포함하고, 행 터치 데이터(310)는 사용자 A가 행들 {0,2}을 터치하고 있음을 나타내는 행 터치(311) 및 행 터치(312)를 포함한다. 그에 따라, 사용자 A의 m+n 개의 터치 데이터에만 기반하여 가능한 터치 포인트 위치들을 고려할 때, 사용자 A는 (5,2) 및 (1,0) 또는 (1,2) 및 (5,0)에서 혹은 이 포인트들 중 셋이나 네 개 전체에서 터치하고 있을 수 있다. 그러나 m*n 개의 터치 데이터는 가능한 터치 포인트 위치들을 줄이기 위해(즉 명확히 하기 위해) 사용될 수 있으며, 이 특정 예에서 사용자 A가 터치 포인트(301) 및 터치 포인트(302)로 각기 표현되는 (5,2) 및 (1,0)에서 터치하고 있다고 확실하게 결론을 내리도록 할 수 있다. 특히 m*n 개의 터치 데이터는 (1,2) 또는 (5,0)에서의 포인트를 포함하고 있지 않기 때문에, 그들 두 포인트들이 거부될 수 있어 (5,2) 및 (1,0)의 정확한 해법만을 남겨 둘 수 있다.
도 3에 역시 도시된 바와 같이, 사용자 B의 열 터치 데이터(340)는 사용자 B가 열 {8}을 터치하고 있음을 나타내는 열 터치(341)를 포함하고, 사용자 B의 행 터치 데이터(330)는 사용자 B가 행 {3}을 터치하고 있음을 나타내는 행 터치(311)를 포함한다. 따라서 사용자 B의 m+n 개의 터치 데이터는 사용자 B가 터치 포인트(303)으로 표현되는 포인트(8,3)에서 터치하고 있다는 것을 명확히 지시한다. 따라서, 사용자 고유의 m+n 개의 터치 데이터 및 모든 사용자들의 m*n 개의 터치 데이터 모두를 사용함으로써, 각각의 터치 포인트의 위치가 명확히 결정되고(m*n 개의 터치 데이터 없이는 불가능했을 것임), 각각의 터치 포인트에 해당하는 사용자의 아이디가 판단된다(사용자 고유의 m+n 개의 터치 데이터 없이는 불가능했을 것임).
복수의 포인트들을 터치하는 단일 사용자나 각각이 단일 포인트만을 터치하는 복수의 사용자들의 경우에 있어서, 상기 논거와 유사한 방법은 모호함 없이 사용자 아이드를 찾아 각각의 터치 포인트에 사용자 아이디를 할당할 것이다. 그러나 각각이 복수의 포인트들에서 터치하는 복수의 사용자들이 있는 구성들은 모호할 수 있다.
예를 들어, 도 4에서 사용자 A의 행 터치 데이터(310) 및 사용자 B의 행 터치 데이터(330)는 두 사용자들이 행들 {0,2}에서 터치하고 있음을 나타내는 행 터치들(411, 412, 431 및 432)을 포함한다. 마찬가지로, 사용자 A의 열 터치 데이터(320) 및 사용자 B의 열 터치 데이터(340)는 두 사용자들이 열들 {1,5}에서 터치하고 있음을 나타내는 열 터치들(421, 422, 441 및 442)을 포함한다. 따라서 m+n 개의 터치 데이터는 어느 한 사용자가 (5,2) 및 (1,0) 또는 (1,2) 및 (5,0)에서 터치하고 있을 수 있다는 것을 나타낸다. 그러나 m*n 개의 데이터는 그 위치들 모두의 포인트들(즉, 터치 포인트들(401-404))을 포함한다. 따라서 사용자 A가 (5,2) 및 (1.0)에서 터치하고 있고 사용자 B가 (1,2) 및 (5,0)에서 터치하고 있는지 여부나 사용자 B가 (5,2) 및 (1,0)을 터치하고 있고 사용자 A가 (1,2) 및 (5,0)을 터치하고 있는지 여부를 판단하는 것이 가능하지 않을 수 있다. 이러한 모호함은 m+n 개의 터치 데이터로부터만 작업할 때 모호함들을 해소하는 데 사용되는 것과 동일한 타입의 발견 방식들을 이용하여 해소될 수 있다. 예를 들어 이러한 모호함은 시간 경과에 따라 터치 포인트들의 위치(및 가능하다면 다른 값들, 예컨대 속도)의 변화를 최소화하는 해법을 선택함으로써 해소될 수 있다.
각각의 터치 포인트에 해당하는 위치 및 사용자 아이디를 판단하기 위한 온전한 알고리즘은 각각의 사용자의 m+n 개의 터치 데이터로부터 시작하여, m*n 개의 터치 데이터를 이용하여 어떤 모호함들을 해소하면서 그 값들을 터치 포인트들 상에 매핑할 수 있다. 또는 그 알고리즘이 모든 사용자들의 m*n 개의 터치 데이터를 가지고 시작할 수 있고, 각각의 포인트에 해당하는 사용자를 식별하고자 시도할 수 있다. 실제 구현예들에서 후자의 접근방식이 선호되는데, 이는 m*n 개의 터치 데이터가 통상적으로 보다 적은 잡음을 포함할 것이기 때문이다. 이것은 터치 포인트의 보고된 (x,y) 위치 상의 잡음을 줄일 것이고 아무것도 일어나지 않을 때 터치가 보고되거나 유효한 터치가 무시될 가능성을 줄일 것이다.
도 5는 m*n 개의 터치 데이터 및 사용자 고유의 m+n 개의 터치 데이터에 기반하여 서로 다른 사용자들에게 터치 포인트들을 할당하는 데 사용될 수 있는 프로세스(500)를 예시한 블록도이다. 프로세스(500)는 이하의 알고리즘을 나타낸다:
Figure 112013071943170-pct00001
도 5를 참조할 때, 터치 포인트들의 리스트가 m*n 개의 데이터로부터 식별되고 함수 Assign_simplified에 대한 호출의 일부로서 수신된다(502). 터치 포인트들의 리스트로부터 어느 터치 포인트가 분석될 현재의 터치 포인트로서 선택되며, 상기 터치 포인트는 (x', y')에 위치된다(504). 후보 사용자들의 리스트가 클리어된다(506).
복수의 사용자들 중에 사용자 K를 선택한 후, 그리고 사용자 K에 대해 m+n 개의 터치 데이터에 액세스한 후, 사용자 K에 대한 m+n 개의 터치 데이터는 사용자 K가 열 x' 및 행 y' 둘 모두에서 터치를 가지는지 여부를 판단하는데 사용된다. 사용자 K가 열 x'에서 터치를 가지지 않고/않거나 행 y'에서 터치를 가지지 않으면, 복수의 사용자들 가운데에서 다음 사용자가 사용자 K로서 선택되고 프로세스는 동작 508로 복귀한다. 사용자 K가 열 x'에서 터치를 가지고 행 y'에서 터치를 가지는 경우, 사용자 K가 현재의 터치 포인트에 대한 후보 사용자들의 리스트에 추가된다(510). 그런 다음 다음 사용자가 복수의 사용자들 가운데에서 사용자 K로서 선택되며 프로세스는 동작 508로 복귀한다. 동작들 508 및/또는 510이 그에 따라 복수의 사용자들 각각에 대해 반복된다.
복수의 사용자들 각각에 대한 동작들 508 및/또는 510의 완료 시, 현재의 터치 포인트에 대한 후보 사용자들의 리스트가 완성되고 0인 사용자들에서 사용자들 모두까지 포함할 수 있다. 현재의 터치 포인트의 후보 사용자들의 리스트가 단일 사용자만을 포함하는지 여부에 대한 판단이 내려질 수 있다(512). 그 리스트가 오직 한 사용자를 포함하는 경우, 현재의 터치 포인트가 해당 사용자에게 할당된다(514). 그 리스트가 0인 사용자(이는 통상적으로 시스템이 터치 센서를 터치했던 적어도 한 사용자에 대한 m+n 개의 터치 데이터를 누락하고 있다는 것을 나타냄)나 복수의 사용자들을 포함하는 경우, 현재의 터치 포인트가 사용자에게 할당되고 모호한 것으로 식별된다(516). 터치 포인트들의 리스트로부터 다음 터치 포인트가 현재의 터치 포인트로서 선택되며 프로세스는 동작 504로 복귀한다. 모든 터치 포인트들이 이러한 방식으로 분석된 후, 프로세스(500)는 종료된다(518).
주목할 것은, 위에서 보여지고 프로세스(500)에 의해 나타낸 알고리즘이 터치 포인트들의 소정 구성들을 모호하다고 부정확하게 식별한다는 것이다. 예를 들어, 도 6에서 사용자 A 및 사용자 B 둘 모두는 터치 포인트(601)로 표현되는 (1,2)의 터치 포인트와 일치하는 m+n 개의 터치 데이터를 가진다. 즉, 사용자 A의 행 터치 데이터(310) 및 사용자 B의 행 터치 데이터(330)는 두 사용자들이 행 {2}에서 터치하고 있음을 나타내는 행 터치들(611 및 631)을 포함한다. 마찬가지로, 사용자 A의 열 터치 데이터(320) 및 사용자 B의 열 터치 데이터(340)는 두 사용자들이 열 {1}에서 터치하고 있음을 나타내는 열 터치들(621 및 641)을 포함한다. 상기 알고리즘은 (1,2)의 터치 포인트(601)에 대해 두 사용자들을 포함하는 후보 사용자들의 리스트를 생성할 것이고, 그에 따라 이러한 상태를 모호한 것으로 식별할 것이다. 주목할 것은, 그러나, 사용자 B에 대한 m+n 개의 터치 데이터가 사용자 B가 오직 하나의 포인트에서 터치하고 있음을 나타냄으로써, 포인트가 (1,2)에 위치한 터치 포인트(601)이어야 하며, 다른 두 포인트들(602 및 603)은 사용자 A에 할당된다(그리고 사용자 A 열 터치들(621 및 622) 및 사용자 A 행 터치들(611 및 612)에 해당한다). 유사한 상황이 도 7에 도시된 것과 같이 각각이 복수의 포인트들을 터치하는 복수의 사용자들을 가진 구성들에서 일어날 수 있다.
프로세스(500)로 나타낸 알고리즘은 모호한 사용자 할당 구성들을 보다 잘 검출하기 위해 개선될 수 있다. 개선된 알고리즘은 특정 사용자 할당 솔루션이 그 사용자의 m+n 개의 열 터치 데이터에서 터치되는 것으로 나타나는 모든 x 값 및 그 사용자의 m+n 개의 행 터치 데이터에서 터치되는 것으로 나타나는 모든 y 값에 대해 사용자에게 그 x나 y 값을 가진 적어도 하나의 터치 포인트가 할당되는 경우에만 유효하다는 것을 인식함으로써 명확해진다. 따라서 개선된 알고리즘은 각각의 사용자에 대해 사용자의 m+n 개의 열 터치 데이터에서 터치되는 것으로 나타나는 모든 x 값 및 사용자의 m+n 개의 행 터치 데이터에서 터치되는 것으로 나타나는 모든 y 값에 대해 사용자에게 그 x나 y 값을 가진 적어도 하나의 터치 포인트가 할당되는지 여부를 판단함으로써 유효한 할당 구성들을 테스트할 수 있다. 사용자 할당 구성이 해당하는 x나 y를 가진 적어도 하나의 터치 포인트를 할당하지 못하면, 그 사용자 할당 구성은 캡처된 터치 데이터와 매치하지 않는 것으로, 따라서 무효한 것으로서 포기될 수 있다. 따라서 프로세스(500) 적용을 통해 주어진 터치 포인트에 대한 후보들의 리스트에서 하나를 넘는 사용자가 나타날 때, 모든 가능한 할당 구성들이 반복적으로 고려되어 상기 제약조건을 만족하지 않는 어떤 해법을 거부할 수 있다. 이 경우, 사용자 할당 프로세스를 수행하는 애플리케이션의 런타임은 가능한 모호한 터치 포인트들의 개수에 따라 기하급수적으로 증가할 것이다.
도 8은 일곱 개의 터치 포인트들을 묘사한 터치 센서 그리드(300)의 예를 도시한 도면이다. 도 8에 도시된 바와 같이, 사용자 A의 행 터치 데이터(310)는 사용자 A가 행들 {0,1,2,4}을 터치하고 있음을 나타내는 행 터치들(811, 812, 813 및 814)을 포함하고, 사용자 A의 열 터치 데이터(320)가 사용자 A가 열들 {1,5,7,10}을 터치하고 있음을 나타내는 열 터치들(821, 822, 823 및 824)을 포함한다. 사용자 B의 행 터치 데이터(330)는 사용자 B가 행들 {1,2,4}을 터치하고 있음을 나타내는 행 터치들(831, 832 및 833)을 포함하고, 사용자 B의 열 터치 데이터(340)가 사용자 B가 열들 {1,7,10}을 터치하고 있음을 나타내는 열 터치들(841, 842 및 843)을 포함한다. m*n 개의 터치 데이터는 각기 터치 포인트들(801, 802, 803, 804, 805, 806 및 807)로 표현되는 {(1 , 0), (5, 2), (1, 2), (7, 1), (7, 4), (10, 1), (10, 4)}에서의 일곱 개의 터치 포인트들의 검출을 나타낸다.
사용자 고유의 m+n 개의 터치 데이터에 대한 고려 없이, 128 개의 가능한 사용자 할당 구성들이 도 8에 예시된 일곱 개의 터치 포인트들에 대해 존재한다. 이것은 2^7에 해당하는데, 넘버 2는 사용자들의 수를 나타내며(즉, 두 사용자들은 사용자 A 및 사용자 B) 넘버 7은 검출된 서로 다른 터치 포인트들의 개수를 나타낸다. 그러나 사용자 할당 구성들의 개수는 프로세스(500)로 표현되는 알고리즘의 적용을 통한 사용자 고유의 m+n 개의 터치 데이터를 고려함으로써 감소될 수 있다. 특히, 프로세스(500)로 표현되는 알고리즘을 터치 데이터에 적용함으로써, 터치 포인트(801)로 표현되는 터치 포인트(1,0) 및 터치 포인트(802)로 표현되는 터치 포인트(5,2)가 사용자 A에 할당된다. 따라서, 프로세스(500)로 표현되는 알고리즘의 적용은 가능한 사용자 할당 구성들의 개수를 128개에서 2^5에 해당하는 32(즉, 사용자들의 수^할당되도록 유지되는 터치 포인트들의 개수)로 감소시키는 결과를 가져온다.
도 9는 프로세스(500)로 표현된 알고리즘의 적용 이후 남은 다른 가능한 사용자 할당 구성들의 개수를 나타내는 트리도이다. 도 9의 각각의 블록은 남은 다섯 개의 (1,2)에서의 터치 포인트 803, (7,1)의 804, (7,4)의 805, (10,1)의 806 및 (10,4)의 807에 대해 주어진 사용자 할당 구성을 보인다. 사용자 할당 구성은 할당되도록 남겨진 다섯 개의 터치 포인트들에 해당하는 다섯 글자들의 집합으로 표현된다. 다섯 글자들 각각은 해당 터치 포인트가 특정 사용자 할당 구성에서 A에 할당됨을 나타내기 위한 "A", 해당 터치 포인트가 특정 사용자 할당 구성에서 B에 할당됨을 나타내기 위한 "B", 또는 해당 터치 포인트가 할당되지 않은 상태로 남아 있음을 가리키기 위한 "x"이다. 예를 들어 다섯 글자들 "A, B, B, A, x"은 (1,2)의 터치 포인트(803)가 A에 할당되었고, (7,1)의 터치 포인트(804)가 B에 할당되었고, (7,4)의 터치 포인트(805)가 B에 할당되었고, (10,1)의 터치 포인트(806)가 A에 할당되었으며 (10,4)의 터치 포인트(807)가 이 특정 사용자 할당 구성에서 미할당 상태로 남아 있음을 나타낸다.
도 9에 도시된 바와 같이, 사용자들 A 및 B의 조합으로 상기 남은 터치 포인트들 중 모두 다섯 개를 할당하는 서로 다른 사용자 할당 구성들이 가능하다. 상술한 테스트가 32 개의 가능한 사용자 할당 구성들 각각에 적용되어 캡처된 터치 데이터를 고려할 때 유효한 사용자 할당 구성들의 개수를 추가 감소시킬 수 있다. 특히, 앞서 언급한 바와 같이, 특정 사용자 할당 구성의 유효성은 각각의 사용자에 대해 사용자의 m+n 개의 열 터치 데이터에서 터치되는 것으로 나타나는 모든 x 값 및 사용자의 m+n 개의 행 터치 데이터에서 터치되는 것으로 나타나는 모든 y 값에 대해 사용자에게 그 x나 y 값을 가진 적어도 하나의 터치 포인트가 할당되는지 여부를 판단함으로써 테스트될 수 있다. 특정 사용자 할당 구성이 해당하는 x나 y를 가진 적어도 하나의 터치 포인트를 할당하지 못하면, 그 사용자 할당 구성은 캡처된 터치 데이터와 매치하지 않는 것으로, 따라서 무효한 것으로서 포기될 수 있다. 32 개의 가능한 사용자 할당 구성들로의 이러한 테스트의 적용이 가능한 사용자 할당 구성들의 개수를 32개에서 2 개의 유효 사용자 할당 구성들로 더 줄인다. 2 개의 유효 사용자 할당 구성들(유효 해법들이라고도 칭함)은 다음과 같이 식별된다: (1) "BABBA"(즉, 사용자 A에 터치 포인트들 {(7, 1),(10, 4)}이 할당되고 사용자 B에 터치 포인트들 {(1, 2), (7, 4),(10, 1)})이 할당); 및 (2) "BBAAB"(즉, 사용자 A에 터치 포인트들 {(7, 4),(10, 1)}이 할당되고 사용자 B에 터치 포인트들 {(1, 2), (7, 1), (10, 4)}이 할당됨). 주목할 것은, 실제 두 개의 유효 사용자 할당 구성들은 프로세스(500)으로 나타낸 알고리즘의 실행을 통해 결정된 것과 같이, 추가적으로 사용자 A에 대한 터치 포인트들 {(1, 0), (5, 2)}의 할당을 포함한다는 것이다. 따라서 두 개의 실제 유효 할당 구성들은 다음과 같이 식별된다. (1) 사용자 A는 터치 포인트들 {(1, 0), (5, 2), (7, 1), (10, 4)}을 할당받고, 사용자 B는 터치 포인트들 {(1, 2), (7, 4), (10, 1)}을 할당받고; (2) 사용자 A는 터치 포인트들 {(1, 0), (5, 2), (7, 4), (10,1)}을 할당받고, 사용자 B는 터치 포인트들 {(1, 2), (7, 1), (10, 4)}을 할당받음.
주목할 것은, 도 8 및 9에 의해 도시된 예에서 프로세스(500)에 의해 나타낸 알고리즘의 적용 및 그런 다음 상술한 테스트의 적용이 가능한 유효 할당 구성들(또는 해법들)의 개수를 정말 모호한 두 개의 할당 구성들(또는 해법들)로 줄인다는 것이다. 좀 더 일반적으로, 프로세스(500)에 의해 나타낸 알고리즘의 적용 및 상술한 테스트의 적용이 가능한 할당 해법들의 개수를 복수의 정말 모호한 해법들로, 또는 단일한 고유 해법으로 줄일 수 있다는 것이다. 그러나 만일 복수의 해법들이 식별되면, 발견적 방법들이 그 복수의 식별된 해법들 사이의 선택을 위해 사용될 수 있다. 그러나 발견적 방법들에 의해 이용되는 산출방식은 그 방법들이 식별된 진짜 모호한 해법들의 보다 작은 집합 안에 있어 에러 가능성을 줄일 수 있는 사용자 할당 해법들만을 구별해도 된다는 점에서 단순화된다.
그러나 가능한 남은 사용자 할당 구성들 각각에 대한 상술한 테스트의 적용은 계산적으로 강도가 높을 수 있다. 즉, 테스트되어야 하는 가능한 사용자 할당 구성들의 개수는 프로세스(500)로 나타낸 알고리즘의 적용 후 남은 모호할 가능성이 있는 터치 포인트들의 개수와 함께 기하급수적으로 증가한다.
이를 피하기 위해, 프로세스(500)으로 나타낸 알고리즘에 따라 명확한 모든 포인트들을 할당함으로써 개선된 알고리즘이 시작될 수 있다. 이때 그것은 복수의 후보 사용자들이 있는 포인트들에 대한 모든 가능한 경우들을 반복적으로 고려할 수 있다. 검색될 경로들의 개수를 줄이기 위해, 사용자가 주어진 행이나 열에서 터치를 하지만 그 x나 y 좌표를 가진 어떤 포인트들도 그 사용자에게 할당되어 있지 않고 그 x나 y 좌표를 가진 어떤 미할당 포인트들도 없는 경우, 경로가 거부될 수 있는데, 이는 그러한 경로는 결코 올바른 해법으로 이끌 수 없을 것이기 때문이다.
도 10은 도 5에 도시된 프로세스(500)의 적용 이후 m*n 개의 터치 데이터 및 사용자 고유의 m+n 개의 터치 데이터에 기반하여 서로 다른 사용자들에게 터치 포인트들을 할당하는 데 사용될 수 있는 프로세스(1000)를 예시한 블록도이다. 프로세스(1000)는 프로세스(500)에 따라 초기에 명확한 포인트들이 할당된 이후에 시작되며 다음과 같은 알고리즘을 나타낸다:
Figure 112013071943170-pct00002
도 10을 참조할 때, 프로세스(500)으로 나타낸 알고리즘의 실행 후 미할당 상태로 남은 터치 포인트들의 리스트가 함수 Assign_remaining에 대한 호출의 일부로서 수신된다(1002). 도 8에 의해 묘사된 예에서, 미할당 터치 포인트들의 리스트는 터치 포인트들 {(1, 2), (7, 1), (7, 4), (10, 1), (10, 4)}을 포함할 수 있는 데, 이는 터치 포인트들 {(1, 0), (5, 2)}이 이미 사용자 A에 할당되었기 때문이다.
도 10으로 나타낸 알고리즘은 사용자 할당 구성 트리 아래로 진행하는 것으로 시각화될 수 있다. 예를 들어 도 8로 묘사된 예에 적용될 때, 그 알고리즘은 도 11에 묘사된 사용자 할당 구성 트리(1100) 아래로 진행하는 것으로 시각화될 수 있다. 이 알고리즘은 트리 내 어떤 노드로 나타낸 사용자 할당 구성을 선택하고 그런 다음 그 노드로 나타낸 사용자 할당 구성이 무효한 해법에 해당하느니 여부를 판단하기 위해 그 사용자 할당 구성을 테스트함으로써 시작할 수 있다. 상기 노드로 나타낸 사용자 할당 구성이 무효한 해법에 해당하는 경우, 해당 노드 및 특히 그 서브 노드들 전체는 더 고려되지 않고 프로세스는 트리 내 다른 경로를 따라 진행한다. 이러한 방식으로, 도 10으로 나타낸 알고리즘은 도 9와 관련하여 앞서 기술된 테스트의 간단한 적용을 통해 가능했던 해법 공간으로부터 사용자 할당 해법들을 보다 효율적으로 잘라냄으로써 알고리즘의 런타임을 상당히 줄일 수 있다.
미할당 터치 포인트들을 수신한 후, 사용자 할당 구성 트래 내에서 어떤 노드가 선택되고 열 x 또는 행 y에 터치를 한 사용자가 (선택된 노드에 의해 나타낸 특정 사용자 할당 구성에 있어서) 존재하지만 어떤 포인트들도 상기 사용자에게 할당되어 있지 않고 그 x나 y 좌표를 가진 미할당 포인트들이 존재하지 않는지 여부에 대한 판단이 이뤄진다(1004). 열 x나 행 y에 터치를 한 사용자가 존재하지만 어떤 포인트들도 그 사용자에게 할당되어 있지 않고 그 x나 y 좌표를 가진 어떤 미할당 포인트들도 없는 경우, 선택된 노드에 의해 나타낸 사용자 구성은 무효한 것으로서 거부되고 프로세스는 해당 함수 호출로부터 리턴(귀환)한다(1008). 그런 다음 프로세스는 보다 높은 노드로 올라가서 분석되어야 하는 다른 경로를 따라 사용자 할당 구성 트리 안의 새 노드를 선택할 수 있다. 이때 함수 Assign_remaining이 새 노드에 대한 미할당 터치 포인트들에 해당하는 미할당 터치 포인트들의 리스트와 함께 새 노드에 대해 회귀적으로 호출될 수 있다. 모든 경로들이 이미 분석되었으면, 프로세스(1000)는 종료될 수 있다.
도 8에 의해 묘사된 예에 있어서, 사용자 할당 구성 트리(1100)로부터 선택된 노드가 터치 포인트들 {(1, 0),(5, 2), (1, 2)}이 할당된 사용자 A, 어떤 터치 포인트들이 할당된 사용자 B, 및 미할당 상태로 남은 터치 포인트들 {(7, 1), (7, 4), (10, 1), (10, 4)}에 해당하는 노드 "A,x,x,x,x"일 수 있다. 동작(1004)의 결과는 사용자 B가 x=1인 포인트를 필요로 하기 때문에 노드 "A,x,x,x,x"로 나타낸 해법들이 무효하다는 판단이 된다. 따라서 노드 "A,x,x,x,x" 및 그 서브 노드들 모두가 더 고려될 필요가 없으며, 프로세스는 보다 높은 수준의 노드 "x,x,x,x,x"로 다시 올라가고 트리 내 다른 경로로 내려간다. 도 11에 도시된 바와 같이, 노드 "B,x,x,x,x"가 이제 고려되기 위해 선택될 수 있고 함수 Assign_remaining이 노드 "B,x,x,x,x"에 대해 반복적으로 호출될 수 있다.
선택된 노드에 의해 나타낸 사용자 할당 구성에 대한 동작(1004)의 실행이 그 사용자 할당 구성이 무효하다고 거부되는 결과를 낳으면, 선택된 노드에 의해 나타낸 사용자 할당 구성은 패스하고(즉, 테스트로부터 무효하다고 판단되지 판단될 수 없고) 어떤 터치 포인트들이 미할당 상태에 있는지 여부에 대한 판단이 이루어진다(1010). 어떠한 터치 포인트들도 미할당 상태에 있지 않으면, 해법은 유효한 것으로 보고되고(1012) 프로세스는 해당 함수 호출로부터 귀환한다(1014). 그런 다음 프로세스는 보다 높은 노드로 올라가서 분석되어야 하는 다른 경로를 따라 사용자 할당 구성 트리 안의 새 노드를 선택할 수 있다. 이때 함수 Assign_remaining이 새 노드에 대한 미할당 터치 포인트들에 해당하는 미할당 터치 포인트들의 리스트와 함께 새 노드에 대해 회귀적으로 호출될 수 있다. 모든 경로들이 이미 분석되었으면, 프로세스(1000)는 종료될 수 있다.
적어도 한 개의 터치 포인트가 미할당 상태에 있으면, 미할당 터치 포인트가 선택되고(1016) 복수의 사용자들 중 사용자 K가 미할당 터치 포인트의 위치가 (x', y')인 경우 열 x'에서의 터치 및 행 y'에서의 터치를 가지는지 여부에 대한 판단이 이루어진다(1018). 사용자 K가 열 x'에서의 터치와 행 y'에서의 터치를 가지지 않으면, 복수의 사용자들로부터 다른 사용자가 사용자 K로서 선택되고 프로세스는 동작 1018으로 복귀한다. 사용자 K가 열 x'에서의 터치와 행 y'에서의 터치를 가지는 경우, (x', y')에서의 미할당 터치 포인트가 사용자 K에 시험적으로 할당된다(1020). 사용자 K로의 (x', y')에서의 터치 포인트의 시험적 할당은 사용자 할당 구성 트리 내 서브 노드의 선택에 해당하며 이때 함수 Assign_remaining이 새로 선택된 서브노드를 위해 회귀적으로 호출된다(1022). 동작들 1018, 1020 및 1022이 복수의 사용자들 각각에 대해 반복된다. 사용자들 모두가 고려된 후, 프로세스는 함수 호출로부터 귀환한다(1024). 그런 다음 프로세스는 보다 높은 노드로 올라가서 분석되어야 하는 다른 경로를 따라 사용자 할당 구성 트리 안의 새 노드를 선택할 수 있다. 이때 함수 Assign_remaining이 새 노드에 대한 미할당 터치 포인트들에 해당하는 미할당 터치 포인트들의 리스트와 함께 새 노드에 대해 회귀적으로 호출될 수 있다. 모든 경로들이 이미 분석되었으면, 프로세스(1000)는 종료될 수 있다.
도 8에 의해 묘사된 예를 계속 들면, 고려될 다음 노드는 터치 포인트들 {(1, 0),(5, 2)}이 할당된 사용자 A, 터치 포인트 {(1, 2)}이 할당된 사용자 B, 및 미할당 상태로 남은 터치 포인트들 {(7, 1), (7, 4), (10, 1), (10, 4)}에 해당하는 노드 "B,x,x,x,x"이다. 동작(1004)의 결과는 노드 "B,x,x,x,x"로 나타낸 해법들이 반드시 무효한 것은 아니라는 판단이 된다. 터치 포인트들이 미할당 상태로 남아 있다는 판단이 내려지고(1010), 따라서 네 개의 미할당 터치 포인트들 중 첫 번째 터치 포인트(즉, 터치 포인트 (7,1))가 선택된다(1016). 사용자 A가 선택되고 사용자 A에 대한 m+n 개의 터치 데이터에 기반하여 사용자 A가 열 7과 행 1에 터치를 가진다는 판단이 내려진다(1018). 따라서 터치 포인트 (7, 1)는 시험적으로 사용자 A에 할당되는데(1020) 이는 사용자 할당 구성 트리 내 서브 노드 "B,A,x,x,x"의 선택에 해당한다. 이제 서브 노드 "B,A,x,x,x"에 의해 나타낸 사용자 구성을 분석하기 위해 함수 Assign_remaining가 반복적으로 호출된다.
도 8에 도시된 터치 데이터 예에 대해 프로세스(1000)로 나타낸 알고리즘을 실행하여 다음과 같이 가능한 해법들의 고려를 가져온다:
Figure 112013071943170-pct00003
프로세스(1000)로 나타낸 알고리즘은 도 8에 의해 묘사된 터치 데이터 예에 적용될 때, 도 11에 도시된 사용자 할당 구성 트리(1100)에 의해 시각적으로 묘사될 수 있다. 주목할 것은, 프로세스(1000)로 나타낸 알고리즘을 프로세스(50)로 나타낸 알고리즘의 실행 후 모호하게 남는 모든 가능한 사용자 할당 구성들을 간단히 테스트하는 프로세스와 비교할 때, 도 11을 도 9와 비교함으로써 시각적으로 분명해지는 바와 같이 프로세스(1000)가 계산적으로 훨씬 강도가 덜하다는 것이다. 게다가 프로세스(500)로 나타낸 알고리즘에 의해 식별되는 모호할 가능성이 있는 터치 포인트들의 개수가 증가하면서 런타임 절감이 상당히 높아진다.
많은 모호한 해법들이 존재하는 경우 런타임을 더 향상시키기 위해, 모호한 하위 문제들이 가능한 조기에 식별될 수 있고 검색 시 단일 경로로 축소될 수 있다. 예를 들어 사용자 A 및 사용자 B 둘 모두가 열들 {c1, c2}과 행들 {r1, r2}을 터치하고 있고 m*n 데이터 내에 모든 네 개의 포인트들 (c1, r1), (c1, r2), (c2, r1), and (c2, r2)에서의 터치 포인트들이 존재하는 경우, 데이터는 완전히 모호하다. 위에서 특정된 알고리즘은 모든 가능한 할당들을 나열할 것이며, 여기서 그러한 할당들의 개수는 이렇게 완전히 모호한 구성 안에 네 개의 포인트들의 복수 집합들이 존재하는 경우 그 수가 기하급수적이 될 것이다. 그러나 대신 이러한 네 포인트들의 집합들을 즉시 식별하고, 이들을 완전히 모호한 것으로 표시하며 검색 시 오직 하나의 추가 경로로 진행하는 것이 바람직할 것이다.
상기 모든 논의에서, 터치 포인트의 위치는 양자화된 것으로 추정되어 정확히 한 행 및 한 열에 해당한다. 사실 상의 구현예에서, 터치 포인트 위치들이 보간되고 전극 피치보다 정교한 해상도로 표현될 수 있다. 실제로, 정확한 균등을 위한 비교들 전부가 일정 오차 안의 비교들로 대체되며, 상기 오차는 시스템 내 잡음의 양 또는 다른 오류를 통해 결정된다.
이 논의는 어떤 터치 포인트가 오직 단일 사용자에 의해 터치되었다고 추가로 추정하였다. 두 사용자들이 정확히 동일한 위치를 터치하는 것은 물리적으로 불가능하나, 위치가 결정될 수 있게 하는 해상도에 따라 두 사용자들이 서로 매우 가깝게 터치하는 것은 가능할 수 있어 이들의 두 터치들이 m*n 개의 터치 데이터에서 단일 터치로 보여지게 된다. 이 경우 상기 알고리즘이 변형되어 하나의 터치 포인트가 복수의 사용자들에게 할당되는 해법들 역시 고려되도록 할 수 있다. 이것은 보고된 가능한 해법들의 개수를 증가시킬 것이며, 여기서 그러한 해법들 사이에서의 선택은 발견적 방식으로 다시 이루어진다.
상술한 구현예들은 용량성 터치 센서에 의해 캡처된 터치 데이터를 명확히 하는 것에 초점을 맞추고 있지만 상술한 기법들이 용량성 터치 센서들에 국한되는 것은 아니다. 즉, 상술한 기법들은 축들 상에 반영되는 터치 데이터 및 모든 영역 상의 터치 데이터 둘 모두를 캡처할 수 있는 어떤 타입의 터치 센서나 센서들에 의해 캡처되는 터치 데이터를 처리하고 명확히 하는데 사용될 수 있다. 상술한 기법들은 또한 다중 입력 시스템들에 의해 캡처되는 데이터를 보다 일반적으로 명확화하기 위해 사용될 수도 있으며, 이때 시스템들은 모든 디스플레이 영역에 걸친 하나 이상의 위치들의 선택 및 디스플레이 축들 상으로 투영된 위치들의 사용자 고유의 선택에 해당하는 입력 데이터를 캡처한다.
II . M*N 개의 터치 데이터 및 사용자 고유의 M+N 개의 터치 데이터를 캡처하는 시스템
통상적으로 이루어진 m+n 개의 계측들이 각각의 행 및 각각의 열로부터 접지까지의 커패시턴스이다. 예컨대 사용자가 터치 센서 장치의 케이스를 잡고 있거나 제어기의 접지 노드가 빌딩의 안전 접지 시스템에 연결되며 사용자가 그 시스템에 접지되는 어떤 다른 오브젝트에 가까이 있는 경우, 터치 센서를 터치하는 사용자는 제어기의 접지 노드로의 어떤 용량성 접속을 가질 것이다. 통상적으로 테스트 중에 약 100kHz의 주파수 및 1V 및 200V 사이의 피크 투 피크(peak-to-peak) 크기를 가지는 어떤 전압이 행이나 열로 인가된다. 사용자가 그 행이나 열을 터치할 때, 그 행이나 열로부터 전류가 사용자를 통해 접지까지 흐르게 될 것이다. 그 행이나 열로부터 흐르는 전류의 크기가 계측되어 그 행이나 열로부터 접지까지의 커패시턴스를 산출하는 데 사용된다. 이 시스템의 선택된 부분에 대한 블록도가 도 12에 도시된다.
특히, 도 12를 참조하면, 시스템(1200)은 제어기 회로 접지(1204) 및 터치 센서 그리드의 열이나 행 전극(1206) 사이에 여자 전압(1202)을 인가하는 제어기를 포함한다. 터치 센서 그리드의 행이나 열 전극(1206)을 터치하고 있는 사용자는 Ceiectrode to user로 나타내는 사용자의 신체(1208)와 행이나 열 전극(1206) 사이의 커패시턴스를 가진다. 사용자의 신체(1208)와 제어기 회로 접지(1204) 사이의 커패시턴스는 Cuser to ground로 나타낸다. 시스템(1200)은 행이나 열 전극(1206)으로 여자 전압(1202)을 인가하고 그런 다음 제어기로부터 행이나 열 전극(1206)까지 흐르는 전류를 계측하여 제어기에 의해 터치를 검출하도록 구성된다. 계측된 전류는 행이나 열 전극(1206)으로부터 제어기 회로 접지(1204)까지의 커패시턴스를 계산하는 데 사용될 수 있고, 특히 사용자가 행이나 열 전극(1206)을 터치하고 있을 때 기본 값에서 가변될 것이다. 행이나 열 전극(1206)으로부터 제어기 회로 접지까지의 커패시턴스 변화(또는 그 부족)을 검출함으로써, 시스템(1200)은 사용자가 해당 행이나 열 전극(1206)을 터치하고 있는지 아닌지 여부를 판단할 수 있다. 비용 고려사항 탓에, 제어기에 의한 여자 전압(1202)의 인가 및 그 전류의 계측은 통상적으로 순차적으로 한 번에 한 행이나 열로 진행한다. 그러나 일부 구현예들에서 여자 전압(1202)의 인가 및 전류의 계측이 복수의 행들 및/또는 열들에 대해 동시에 병렬로 진행될 수 있다. 계측들이 직렬로 이루어지든지 병렬로 이루어지든지 여부와 무관하게, 총 m+n 계측들이 mxn 터치 센서에 대해 이루어진다. 그러나 시스템(1200)은 m*n 개의 터치 데이터나 사용자 고유의 m+n 개의 터치 데이터를 캡처하도록 구성된다는 점에서 그 능력이 터치를 검출하는 데 국한된다.
도 13은 m*n 개의 터치 데이터 및 사용자 고유의 m+n 개의 터치 데이터 양자 모두를 검출할 수 있는 시스템(1300)을 도시한다. 시스템(1300)은 제어기 회로(1304)를 가진 터치 센서 그리드(1302)를 포함한다. 사용자(1306)는 터치 센서 그리드(1302)를 터치할 수 있는 하나 이상의 사용자들 사이에 있다. 각각의 사용자(1306)는 이하에 더 기술되는 바와 같이 시스템(1300)이 사용자 고유의 m+n 개의 터치 데이터를 캡처할 수 있게 하도록 구성된 사용자 장치(1308)를 휴대한다.
사용자 장치(1308)는 특정 사용자(1306)와 결부되며 사용자(1306)에 의해 휴대될 수 있다. 사용자 장치(1308)는 두 개의 전극들을 포함할 수 있고 그러한 두 전극들 사이에 흐르는 전류를 계측하도록 구성될 수 있다. 도 13에 도시된 바와 같이 하나의 전극은 접지 플레이트(1312)일 수 있고 다른 전극은 사용자 플레이트(1310)일 수 있다. 사용자 플레이트(1310)는 용량성으로 사용자(1306)의 신체에 부착될 수 있는데, 이는 예컨대 그것을 사용자 피부에 거의 접촉되게 놓음으로써 부착될 수 있다. 접지 플레이트(1312)는 사용자(1306)의 주변에 용량성으로 결합하도록 구성될 수 있다. 예를 들어 접지 플레이트(1312)는 사용자(1306)의 주변에 용량성으로 결합되는 금속 플레이트에 부착될 수 있다.
일부 구현예들에서, 전극들(1310 및 1312)은 내외부 전도체들 사이의 연결 없이, 안과 밖 모두에서 전도 물질(가령, 알루미늄 호일이나 메쉬)과 연결된 코트의 형태를 취할 수 있다. 내부 라이닝은 사용자와 용량성으로 연결되고 사용자 플레이트로서 동작하며, 외부 라이닝은 접지 플레이트(1312)로서 동작하며 제어기 회로의 접지 노드와 동일한 전위에 있을 수 있는 사용자의 주변에 용량성으로 결합된다. 다른 구현예들에서 전극들(1310 및 1312)은 접지 플레이트(1312)가 바닥에 있고 충분히 전도성이 있는 (가령 콘크리트 위의 카페트) 바닥을 통해 연결되고 사용자 플레이트(1310)가 안쪽에 있어서 사용자의 발과 접촉하는 신발의 형태를 취할 수 있다.
사용자 장치(1308)는 사용자 플레이트(1310) 및 접지 플레이트(1312) 사이의 전류를 계측하고 사용자 플레이트(1310) 및 접지 플레이트(1312) 사이에 여자 전압을 번갈아 인가하도록 구성될 수 있다. 이하에서 도 14 및 15와 관련하여 보다 상세히 기술된 바와 같이, 전류를 계측하고 그것의 두 전극들 사이에 여자 전압을 인가할 수 있음으로써 사용자 장치(1308)는 시스템(1300)이 사용자 고유의 m+n 개의 터치 데이터를 캡처될 수 있게 한다.
터치 센서 그리드(1302)는 이차원 그리드(행렬이라고도 칭함) 상에 배열되는 전도 행들 및 열들을 포함한다. 앞서 언급한 바와 같이, 행들 대 열들로서 하나의 특정 축의 지정은 임의적이다. 행과 열 전도체들의 특정 기하구조는 이들을 구현하기 위해 사용되는 전도 물질에 따라 가변될 수 있다. 앞에서도 언급한 바와 같이, 예컨대 행들 및 열들은 전도 물질인 산화 인듐 주석을 사용하여 다이아몬드 패턴으로 배열될 수 있다; 혹은 행들 및 열들은 터치 센서가 디스플레이 앞에 놓일 때 눈에 띄지 않을 정도로 충분히 얇은 금속선들(가령, 구리나 은 선들)을 이용하여 형성될 수 있다. 그리드(1302)는 제어기 회로(1304)의 제어 하에서 그리드(1302)의 열들(또는 행들)로 여자 전압을 인가할 수 있는 송신기들 및 그리드(1302)의 행들(또는 열들) 안으로나 밖으로의 전류를 계측할 수 있는 수신기들(즉, 센서들)을 포함할 수 있다. 다른 구현예들에서 그리드(1302) 보다는 제어기 회로(1304)가 이러한 송신기들 및 수신기들을 포함한다.
제어기 회로(1304)는 센서 그리드(1302)와 상호작용하도록 구성된 회로이며, 일부 구현ㅇ들에서 센서 그리드(1302)와 통합될 수 있다. 특히, 제어기 회로(1304)는 센서 그리드(1302)의 열들(이나 행들)로의 여자 전압 인가 및 센서 그리드(1302)의 열들(이나 행들)안으로나 밖으로의 전류들에 대한 계측을 제어하도록 구성된다. 제어기 회로(1304)는 무선이나 유선 접속을 통해 사용자 장치(1308)와 직접 통신할 수 있고/있거나 그리드(1302)를 통해 무선으로 사용자 장치(1308)와 통신할 수 있다. 이하에서 보다 상세히 기술되는 바와 같이, 제어기 회로(1304) 및 사용자 장치들(1308)은 사용자 고유의 m+n 개의열 터치 데이터 및 사용자 고유의 m+n 개의 행 터치 데이터의 수집을 조정하기 위해 서로 통신한다.
도 13은 사용자(1306) 및 사용자 플레이트(1310) 사이의 커패시턴스를 Cuser to user plate로서, 제어기 회로(1304)의 접지 노드와 접지 플레이트(1312) 사이의 커패시턴스를 Cgrounci plate to ground로서, 사용자(1306)와 제어기 회로(1304)의 접지 노드 사이의 커패시턴스를 Cuser to ground로서, 그리드(1302)의 행이나 열 전극 및 사용자(1306) 사이의 커패시턴스를 Celectrode to user로서 보여준다. 사용자 장치(1308)는 제어기 회로(1304) 및 그리드(1302)로부터 멀리 있는 무선 장치일 수 있다. 그러나 일부 구현예들에서 사용자 장치(1308)는 제어기 회로(1304)의 제어기 회로 접지에 유선 연결된다. 이러한 구현예들에서, 커패시턴스 Cground plate to ground는 단락 회로로 대체되어 접지 플레이트를 제어기 회로(1304)의 접지 노드에 직접 연결한다.
사용자 장치(1308)의 한 구현예는 도 17 및 18에 도시되며 이하에 보다 상세히 기술된다. 주목할 것은, 사용자 장치(1308)는 구조 면에서 2010년 8월 30일에 출원된 계류중인 특허출원 제12/871,652 및 12/871,668호(이들 출원은 모든 면에서 본 명세서에 참고로서 포함됨)에 기술된 정전기 스타일러스에 대응하며, 이전에는 스타일러스의 팁에 연결되었던 노드가 대신 사용자의 신체에 연결된다.
도 14는 시스템(1300)이 m*n 개의 터치 데이터 및 사용자 고유의 열 터치 데이터(m+n 개의 열 터치 데이터라고도 칭함)를 캡처하고 있을 때의 시스템(1300)을 예시한 회로 블록도(1400)이다. 도 14에 도시된 바와 같이, 제어기 회로(1304)는 테스트 중에 제어기 회로의 접지(1404) 및 열 전극(1406) 사이에 여자 전압(1402)을 인가하도록 구성된다. 주목할 것은, 도 14에 도시된 구현예가 그리드(1302)의 열 전극(1406) 및 제어기 회로의 접지(1404) 사이에 여자 전압(1402)을 인가하는 제어기 회로(1304)를 묘사하지만, 다른 구현예들에서 제어기 회로(1304)는 대신 그리드(1302)의 행 전극과 제어기 회로의 그라운드(1404) 사이에 여자 전압(1402)을 인가한다는 것이다. 앞서 언급한 바와 같이, 행들 대 열들로서 그리드(1302)의 하나의 특정 축의 지정은 임의적이다.
사용자(1306)가 휴대하는 사용자 장치(1308)는 사용자 플레이트(1310) 및 접지 플레이트(1312) 사이의 여자 전압(1402)에 의해 생성된 해당 전류를 계측하도록 구성되며, 그 전류는 대략 열 전극(1406)으로부터 사용자의 신체(1408)까지의 커패시턴스와 거의 비례할 것이다. 각각의 사용자(1306)가 장치(1308를 휴대하고 각각의 사용자에 대해 따로따로 계측이 이루어지는 경우, 오직 그 사용자의 터치 포인트들만을 이용하여 m+n 개의 열 터치 데이터가 각각의 사용자에 대해 습득될 수 있다. 따라서 각각의 열 전극(1406)이 작동될 때, 복수의 사용자들 중 어느 사용자들이 그 작동된 열 전극(1406)을 터치하고 있는지를 판단하는데 필요한 사용자 고유의 계측들이 다양한 사용자 장치들(1308)에 의해 병렬로 이루어진다. 그리드(1302) 내 모든 열 전극들이 작동된 후, 모든 사용자들에 대한 m+n 개의 열 터치 데이터가 얻어졌을 것이다.
주목할 것은, 사용자 고유의 m+n 개의 열 터치 데이터를 얻기 위해 열 전극들(1406)을 작동시키는 데 사용되는 것과 동일한 여자 전압(1402)이 모든 사용자들의 m*n 개의 터치 데이터를 얻는 데에도 사용될 수 있다는 것이다. 즉, 여자 전압(1402)이 테스트 중에 열 전극(1406)으로 인가되는 동안, 그리드(1302)의 다른 열 전극들은 일정한 전압으로 유지될 수 있다. 그런 다음 그리드(1302)의 각각의 행 전극 안으로의 전류가 제어기 회로(1304)에 의해 계측되며, 모든 행 전극들에 대한 전류들은 병렬로 계측되어 m 개의 계측치들을 생성한다. 이러한 행 전극 전류들의 계측은 작동된 열 전극(1406)으로부터 행 A로, 행 B 등으로 흐르는 계측된 전류들을 가리키는 화살표들로 도 14에서 나타내진다. 따라서 mxn 그리드에 있어서, 열 전극(1406)이 작동될 때 m 개의 행 전극 전류들이 병렬 계측된다. 이 프로세스는 그리드(1302)의 각각의 열 전극에 대해 반복되는데, 이것은 그것이 mxn 그리드에 대해 n 회 반복되어 m*n 개의 총 계측치들을 생성한다는 것을 의미한다. 따라서 열 전극들 전체가 차례로 작동된 후, 사용자 고유의 m+n 개의 열 터치 데이터가 각각의 사용자 장치(1308)에 의한 전류들의 계측을 통해 캡처되었을 수 있으며, 모든 사용자들에 대한 m*n 개의 터치 데이터 역시 다양한 열 전극에서 행 전극 전류들의 계측을 통해 캡처되었을 수 있다.
도 14와 관련해 상술한 바와 같이, 시스템(1300)은 각각의 열 전극(1406)을 차례로 작동시키고 그런 다음 각각의 사용자 장치(1308)가 자신의 사용자 플레이트에서 접지 플레이트로의 전류를 계측하며 제어기 회로(1304)가 그리드(1302)의 각각의 행에 대해 열에서 행 전극 전류를 병렬 계측함으로써 m*n 개의 터치 데이터 및 사용자 고유의 m+n 개의 열 터치 데이터를 동시에 캡처하는데 사용될 수 있다. 사용자 고유의 행 터치 데이터(m+n 개의 행 터치 데이터라고도 칭함)를 계측하는 것은 사용자 고유의 m+n 개의 열 터치 데이터를 계측하는 데 사용되는 것과 동일한 방식으로 수행될 수 있다. 즉, 제어기 회로(1304)가 그리드(1302) 내 각각의 행 전극을 작동시키기 위해 여자 전압을 인가할 수 있고 그런 다음 사용자 장치(1308)가 그들 각자의 사용자들이 작동된 행 전극을 터치하고 있는지를 판단하기 위해 자신들의 사용자 플레이트에서 접지 플레이트로의 전류를 계츠갈 수 있을 것이다. 그러나 이러한 방식으로 사용자 고유의 m+n 개의 행 터치 데이터를 계측하는 것은 m*n 개의 터치 데이터를 캡처하기 위해 필요하지 않을 수 있는 제어기 회로(1304)의 하드웨어에 대한 변형을 요할 수 있다. 즉, 제어기 회로(1304)는 이제 번갈아서 각각의 행 안으로의 전류를 계측하고 같은 행에 여자 전압을 인가할 수 있어야 할 것이다. 그러한 제어기 회로(1304)의 변형은 실질적으로 복잡도와 하드웨어 비용을 증가시킬 것이다. 이러한 변형은 각각의 행에 대해 프레임 내 하나의 타임 슬롯 추가를 또한 필요로 할 수 있다. 거의 정사각형의 디스플레이를 위해, 그것은 타임 슬롯들의 개수의 거의 두배가 될 수 있다. 이것은 시스템이 감소된 프레임 레이트로 동작하거나 각각의 타임 슬롯에 대해 감소된 통합 시간을 통해 동작하는 것을 요할 수 있어, 시스템 대기시간을 늘리거나 계측 잡음을 각기 늘릴 수 있다.
도 15는 시스템(1300)이 사용자 고유의 m+n 개의 행 터치 데이터를 캡처하고 있을 때의 시스템(1300)을 예시한 회로 블록도(1500)이다. 행 전극들을 작동시키고 그런 다음 사용자 장치(1308)에서 해당 전류들을 계측하기 보다, 에너지 흐름이 역전됨으로써 여자 전압이 사용자 장치(1308)의 두 전극들에 걸쳐 대신 인가되도록 한다. 도 15에 도시된 바와 같이, 사용자 장치(1308)는 그것의 사용자 플레이트(1310) 및 그것의 접지 플레이트(1312) 사이에 여자 전압(1502)을 인가할 수 있다. m*n 개의 터치 데이터를 캡처하는 데 사용되었던 각각의 행 전극에 대해 전류 센서들이 이미 장착된 제어기 회로(1304)는 그러한 센서들을 다시 사용하지만 이제는 여자 전압(1402) 보다는 여자 전압(1502)이 인가될 때 그리드(1302)의 각각의 행 전극(1506) 안으로의 전류를 계측하는 데 그 센서들을 사용한다. 앞에서와 같이, 여자 전압(1502)이 인가되는 동안 모든 행 전극 전류들이 병렬 계측될 수 있다. 전류는 대략적으로 사용자 신체(1408)로부터 행 전극(1506)까지의 커패시턴스와 비례한다. 특정 행 전극의 기본 값으로부터 계측된 커패시턴스의 편차는 여자 전압(1502)을 인가했던 사용자 장치(1308)를 가진 사용자가 특정 행 전극을 터치하고 있음을 나타낸다. 각각의 사용자 장치(1308)의 작동은 센서 그리드(1302)의 열들의 작동이 시간 다중화되는 것과 같은 방식으로 사용자가 휴대하는 장치가 전송하는 하나의 추가 타임슬롯을 추가함으로써 시간 다중화될 수 있다. 복수의 사용자들이 존재할 때, 복수의 타임슬롯들이 추가되며 그 각각은 사용자가 휴대하는 각각의 장치에 대한 것이다. 이하에 보다 상세히 기술되는 것과 같이 도 16은 센서 그리드(1302)의 열들에 대한 작동 및 다양한 사용자 장치들(1308)의 작동을 조율하기 위해 시스템(1300)에 의해 사용될 수 있는 프레임의 예 및 해당 타임 슬롯들을 도시한다.
주목할 것은, 제어기 회로의 접지(1404)로부터 사용자 장치(1308)에 포함되거나 그렇지 않으면 그에 부착되는 접지 플레이트(1312)까지의 커패시턴스는 사용자의 신체(1408)에서 행 전극(1506)이나 열 전극(1406)까지의 커패시턴스와 비교해 커야 한다. (계측되는 실제 커패시턴스는 루프 내 모든 커패시턴스들의 직렬 연결이다; 이것은 루프 내 모든 다른 커패시턴스들이 비교적 큰 경우에만 사용자의 신체(1408)에서 행 전극(1506)이나 열 전극(1406)으로의 커패시턴스와 대략 동일하다.) 이것은 접지 플레이트(1312)가 상대적으로 큰 영역을 가저야 한다는 것을 의미한다. 또한 사용자의 신체(1408)가 제어기 회로의 접지(1404)까지 어떤 커패시턴스를 가지며, 이것은 계측된 신호를 감쇠시키는 분전류기를 형성한다. 사용자의 신체(1408)에서 접지(140)까지의 커패시턴스가 클 때(예컨대 사용자가 콘크리트 바닥에 맨발로 서 있을 때), 그 분전류기의 비율을 감소시키기 위해 영역 내에서 2 제곱 피트 정도의 매우 큰 접지 플레이트(1312)가 필요로 된다.
사용자 장치(1308)에 대한 접지 플레이트(1312)가 행 전극(1506)이나 열 전극(1406)에 용량성으로 결합도면, 그것은 원하는 전류와 반대 부호를 가진 전류를 주입하거나 감지할 수 있다. 이러한 효과로 인한 오작동을 피하기 위해(가령 다른 사람이 사용자의 접지 플레이트(1312)와 근접 접촉하고 그 사람이 그리드(1302)를 터치하는 경우) 모든 전류 계측들이 위상 동기 검출을 이용해 수행될 수 있다. 반대 부호를 가진 전류는 부정적 결과를 도출할 것이고 그러한 계측들은 거부될 수 있다. (용량성 스타일러스를 이용한 비슷한 기법이 사용되어 스타일러스를 잡은 사용자의 신체를 통해 결합된 전류를 거부하도록 할 수 있다.)
도 16은 다양한 구성요소들의 타이밍을 조정하기 위해 시스템(1300)에 의해 사용될 수 있는 프레임(1620)의 예를 도시한다. 도 16에 도시된 바와 같이, 프레임(1620)은 동기 펄스 타임 슬롯(1625), mxn 그리드(1302)의 n 개의 열들에 대한 n 개의 타임 슬롯들(1635) 및 사용자 장치들(1308)을 휴대하거나 그렇지 않으면 관련된 x 명의 사용자들에 대한 x 개의 타임 슬롯들(1645)을 포함한다. n 개의 타임 슬롯들(1635) 각각 안에서, mxn 그리드(1302)의 n 개의 열들 중 하나가 작동된다(즉, 해당 열 전극으로 여자 전압(1402)이 인가된다). x 개의 사용자 장치들(1308)은 자신들의 두 전극들 사이의 해당 전류들을 계측함으로써 x 명의 사용자들에 대한 m+n 개의 열 터치 데이터가 작동된 열에 대해 결정될 수 있게 하고, 제어기 회로(1304)의 행 전류 센서들은 모든 사용자들의 m*n 개의 터치 데이터가 작동된 열에 위치한 그리드(1302) 내 모든 포인트들에 대해 결정될 수 있게 한다. x 개의 타임 슬롯들(1645) 각각 안에서, x 개의 사용자 장치들(1308) 중 하나가 작동된다(즉, 여자 전압(1502)이 그것의 두 전극들 사이에 인가된다). 제어기 회로(1304)의 행 전류 센서들은 mxn 그리드(1302)의 m 개의 행 전극들에 대한 m 개의 전류들을 계측함으로써 작동된 사용자 장치(1308)와 관련된 특정 사용자에 대한 m+n 개의 터치 데이터가 결정될 수 있게 한다.
상술한 바와 같이, 특정 사용자와 관련된 사용자 장치(1308)는 그리드(1302)의 열들을 작동시켜 송신되는 신호들을 수신함으로써 사용자의 m+n 개의 열 터치 데이터를 캡처하며, 제어기 회로(1304)는 사용자의 사용자 장치(1308)을 작동시켜 송신되는 신호를 수신함으로써 사용자의 m+n 개 행 터치 데이터를 캡처한다. 사용자 장치(1308) 및 제어기 회로(1304) 사이에 그러한 통신을 가능하게 하기 위해, 사용자 장치(1308)의 시간축이 먼저 제어기 회로(1304)의 것과 동기된다. 이것은 그리드(1302)의 열들 모두에 (가령, 상이한 주파수 또는 변별적 패턴을 사용하여 변조된) 변별적 동기 신호나 펄스를 전송함으로써 달성될 수 있다. 이것이 사용자 장치(1308)에 시간 기준을 제공한다. 사용자 장치(1308)는 사용자 장치(1308) 안의 크리스탈 또는 다른 주파수 표준을 이용하여 이후로 자신의 시간 기준을 유지할 수 있다. 동기 펄스는 일반적으로 예컨대 도 16에 도시된 프레임 예(1620)의 동기 펄스 타임 슬롯(1625) 안에서와 같이 프레임 당 한번씩 송신될 수 있다. 그러나, 어떤 경우들에서는 요구되는 시스템의 대기시간 및 사용자 장치(1308)의 주파수 표준의 장기적 정확도에 따라 다소 자주 송신될 수 있다. 사용자 장치(1308)는 이러한 동기 펄스를 검색할 수 있고, 사용자 장치(1308)가 동기 펄스를 수신할 때 그 자신의 시간축을 리셋할 수 있다.
상술한 프로세스에 의해, x 명의 사용자들에 대한 m+n 개의 행 터치 데이터 및 모든 사용자들의 m*n 개의 터치 데이터가 제어기 회로(1304)이거나 제어기 회로(134)와 통신하도록 구성된 다른 장치일 수 있는 호스트(가령, 처리 능력을 가진 장치) 상의 제어 전화회로 안에서 산출될 수 있다. 사용자 고유의 m+n 행 터치 데이터 및 모든 사용자들의 m*n 개의 터치 데이터는 이제 손가락 터치 정보로서 애플리케이션 소프트웨어로 다시(가령, USB(universal serial bus) 링크를 통해 호스트 자체이거나 호스트와 통신하는 클라이언트 컴퓨터일 수 있는 애플리케이션 소프트웨어를 실행하는 컴퓨터로 다시) 보내질 수 있다. 다시 말하면, 사용자 고유의 m+n 개의 행 터치 데이터 및 모든 사용자들의 m*n 개의 터치 데이터 모두가 제어기 회로(1304)의 행 전극 센서들에 의해 수신되는 신호들에 기반하여 산출될 수 있다. 따라서 사용자 고유의 m+n 개의 행 터치 데이터는 예컨대 모든 사용자들의 m*n 개의 터치 데이터를 산출하는 시스템(1300)의 동일 파트에 의해 산출될 수 있다.
그러나 특정 사용자에 대한 m+n 개의 열 터치 데이터는 사용자 장치(1308) 안에서 산출될 수 있으며 여러 방식들을 통해 애플리케이션 소프트웨어로 다시 중계될 수 있다. 다시 말해, 특정 사용자에 대한 m+n 개의 열 터치 데이터는 사용자 장치(1308)에 의해 수신된 신호들의 함수로서 산출될 수 있고, 그 열 위치들이 (가령 사용자 장치(1308)로부터 호스트로의 유무선 접속을 이용하여) 호스트로 보고될 수 있다. 일례로서, 사용자 장치(1308)가 예컨대 호스트에 유선연결되면, 이러한 유선을 통해 통신 링크가 설정될 수 있고, 그 유선은 제어기 회로(1304) 및 사용자 장치(1308)에 공통 접지를 제공할 수 있다.
다른 예에서, 사용자 장치(1308)는 호스트로 정보를 무선 전송할 수 있다. 예를 들어 이 정보는 복수의 타임슬롯들을 추가하고 타임슬롯 당 하나의 비트를 사용하여 이진 코딩된 m+n 개의 열 터치 데이터를 전송함으로써, 그리드(1302) 자체를 통해 정전기적으로 송신될 수 있다. 이것은 어떠한 추가적 하드웨어도 필요로 하지 않으나 대신 사용자 장치(1308) 및/또는 제어기 회로(1304)의 제어 소프트웨어를 기존 하드웨어를 다르게 사용하도록 변조함으로써 수행될 수 있다. 특히, 이것은 m+n 개의 행 터치 데이터를 검출하기 위한 여자 신호(1502)를 생성하기 위해 다른 경우 사용자 장치(1308)에 의해 사용되었던 하드웨어를 사용하여 수행될 수 있다. 예를 들어 사용자 장치(1308)는 그리드(1302)를 통해 사용자 장치(1308)로부터 호스트로 m+n 개의 열 터치 데이터를 전송할 수 있으며, 여기서 모든 사용자들의 m*n 개 터치 데이터 및 사용자 고유의 m+n 개 터치 데이터를 캡처하기 위해 사용되는 송수신기들이 무선 채널을 통해 정보를 전송하기 위해 사용되는 어떤 무선 코딩 방식들을 이용하여 정보를 송신하는 데에도 사용될 수 있다. 따라서 타임슬롯이 예컨대 해당 좌표의 각각의 비트에 대해 추가될 수 있고, 그 타임슬롯 내에서 사용자 장치(1308)(또는 제어기 회로(1304)/그리드(1302))가 해당 비트가 "1"일 때 송신하고 해당 비트가 "0"일 때 송신하지 않을 수 있다. 이러한 방식은 진폭 쉬프트 키잉(ASK)에 해당하나, 다른 코딩 방식들이 사용될 수도 있다. 타임슬롯들을 시스템에 추가함으로써, 정보가 기존 하드웨어를 사용하여 그리드(1302)를 통해 사용자 장치(1308)로부터 다시 호스트로 이어질 수 있다. 잡음으로 인한 랜덤 비트 에러들에 대한 시스템의 강건성을 향상시키기 위해 에러 검출 또는 정정 코드가 사용될 수 있다.
사용자 고유의 m+n 개의 열 터치 데이터 또한 보조 채널, 예컨대 IEEE 802.15.4 링크와 같은 무선 주파수 통신 채널을 통해 사용자 장치(1308)에 의해 호스트로 전송될 수 있다. 그러한 보조 채널을 이용함으로써 그리드(1302)를 통한 위치 전송에 프레임 내 어떤 추가 시간도 필요로되지 않을 수 있다. 이것은 시스템이 터치 커패시턴스 계측을 수행하기 위한 보다 많은 시간을 예비할 수 있게 함으로써 보다 우수한 신호대잡음비(SNR)를 파생한다. 보조 채널이 사용자 고유의 m+n 개 열 터치 데이터를 송신하는데 사용되면, 그 보조 채널은 제어 전자회로의 시간축을 사용자 장치(1308)의 시간축과 동기시키는 데에도 사용될 수 있어, 동기 펄스에 대한 추가 타임슬롯 필요성을 없앨 수 있다. 이것은 프레임 내 가용 시간을 더 늘릴 수 있어 SNR을 개선시킨다. 예컨대 다른 무선 주파수(RF) 링크들, 초음파 링크들 및 광학적 링크들을 포함하는 다른 타입의 통신 채널들이 사용될 수 있다.
보조 채널은 또한 그리드(1302)를 통해 송신되는 동기 펄스에 대한 필요성을 없애는 정도까지 성능을 향상시킬 수 있다. 동기 펄스는 사용자 장치(1308)와 관련된/할당된 사용자의 터치들의 위치와 무관하게 사용자 장치(1308)에 의해 수신되도록 모든 열들(또는 적어도 그리드(1302) 전체에 걸쳐 일정하게, 예컨대 세 개의 열들 마다 하나씩 간격이 벌어진 많은 열들) 상에 나타나도록 구성된다. 결론적으로 총 순간 송신 에너지는 단일 열이 여자될 때보다 더 크고, 전자기 환경 정합성(EMC) 문제들을 일으킬 가능성이 크다. 동기 펄스가 보조 채널을 통해 대신 송신되는 경우, 이러한 결과는 회피되는데, 이는 동기 펄스를 그리드(1302)를 통해 송신하는 것은 불필요하게 되기 때문이다.
사용자 고유의 m+n 개 열 터치 데이터를 전송하는데 사용되는 동일한 경로는 다른 정보, 예컨대 사용자 장치(1308)에 부착된 스위치들이나 다른 컨트롤들의 상태를 전송하는 데 사용될 수도 있다.
도 17은 사용자 장치(1308)의 구성요소들 중 일부에 대한 블록도를 도시한다. 사용자 장치(1308)는 전류 수신기(1740), 전압 송신기(1750), 및 전류 수신기(1740) 및 전압 송신기(1750) 사이의 동작들을 순서화하는 마이크로컨트롤러(1720)를 포함한다. 사용자 장치(1308)는 또한 송수신 스위치(1760)와 연결된 전극(1770)(사용자 플레이트 전극(1310)에 해당)을 포함한다. 송수신 스위치(1760)는 전류 수신기(1740) 및 전압 송신기(1750)에 연결된다. 이러한 능동 전자회로들을 동작시키기 위해, 어떤 전원, 예컨대 배터리 전력 공급기(1710)나 수퍼커패시터가 필요로 된다. 스크린 사이즈(즉, 그리드(1302)의 사이즈)가 이것을 실용적으로 만들 정도로 충분히 작은 경우, 사용자 장치(1308)는 유도방식으로, 예컨대 그리드(1302) 뒤나 주위의 코일로부터 전력을 받을 수도 있다. 사용자 장치(1308)는 또한 상술한 이유로 옵션으로서 보조 통신 채널(1730)을 포함할 수 있다.
동작 시, 마이크로컨트롤러(1720)는 프로세스를 순서에 따라 처리하며, 이때 마이크로컨트롤러(1720) 안의 소프트웨어가 적어도 시간 감각을 유지하고, 사용자 고유의 m+n 개의 열들의 데이터를 다시 호스트로 보고하는 등의 기능을 담당한다. 마이크로컨트롤러(1720)는 사용자 장치(1308)에서 어떤 내부 전원(가령, 배터리 전력 공급기(1710), 수퍼커패시터, 충전형 배터리)로 구동된다. 마이크로컨트롤러(1720)는 (m*n 개의 용량성 손가락 터치를 계측할 때 사용되는 행들 상의 수신기와 유사할 수 있는) 전류 수신기(1740) 및 (m*n 개의 용량성 손가락 터치를 계측할 때 사용되는 열들 상의 송신기와 유사할 수 있는) 전압 송신기(1750)에 연결된다. 송수신 스위치(1760)는 시스템이 전류 수신기(1740)의 전류와 전압 송신기(1750)의 전압을 사용자 장치(1308) 내 하나의 전극(1770) 상에 다중화시키도록 구성될 수 있다. 송수신 스위치(1760)는 출력된 고전압(가령, 약 100V)이 송신 모드에서 전극(1770)으로 인가되고, 수신 모드에서 전극(1770)으로부터 적은 전류 신호(가령 약 1uA)를 수신하게 할 수 있다.
전압 송신기(1750) 및 전류 수신기(1740)는 그리드(1320) 내 열들 및 행들에 부착된 송신기들과 수신기들과 유사한 형태를 가지고 유사한 계측을 수행하도록 구성될 수 있다. 용량성 센서 상의 손가락 터치를 판단하기 위해 열 전압을 여자시키고 행 전류를 계측하는 데 적합한 대부분의 회로 종류들이 여기서도 적합할 수 있다. 비동기 검출이 여기에서 이용될 수 있는데, 이는 그것이 위상 동기 검출처럼 정밀한 사용자 장치(130)의 시간축 배열을 필요로 하지 않을 것이기 때문이다; 이것이 앞서 논의한 바와 같이 사용자 장치의 귀환 전류로 인한 오작동을 일으킬 수 있어도 그렇다.
상기 내용은 한 번에 오직 한 개체가 전송한다고 가정할 수 있다(그 개체가 그리드(1302) 내 열이든 사용자 장치(1308)이든 관계 없이). 이것은 단순한 구현예를 나타낼 수 있으나, 어떤 경우 복수의 개체들이 동시에 직교 파형들을 송신하는 것이 바람직할 수 있다. 상술한 기법들 모두가 여전히 이 경우에도 유효하다(가령, 복수의 직교 주파수들이나, CDMA 통신에 사용되는 타입의 직교 의사 잡음 파형들을 가진 경우). 이 경우, 프레임 당 보다 큰 총 에너지를 송신할 가능성이 있어 신호대잡음비를 개선시킬 수 있다. 그러한 구현예에서, 다중 직교 파형들에 대해 동시 상관시키기 위해 보다 복잡한 수신기가 사용될 수 있다. 직교 파형들을 동시에 송신하기 위한 일부 기법들이 2010년 7월 16일 출원된 미국 특허 제12/838,419에 기술되어 있으며, 그에 대한 개시는 모든 목적을 위해 참조를 통해 이 명세서 안에 포함된다.
상술한 바와 같이, 사용자 장치(1308)가 단일 전극(1770)으로부터 수신 및 송신 둘 모두를 해야 하기 때문에 전극(1770)은 큰 전압과 작은 전류를 둘 모두 발견할 수 있다. 송신 시, 그리드(1302)의 수신기들 내 허용가능한 신호대잡음을 달성하기 위해, 약 100V에서 흔들리는 피크-피크 전압이 생성될 수 있다. 수신 시, 마이크로 암페어 근방의 신호들이 결정될 수 있다. 어떤 타입의 송수신 스위치나 회로가 이러한 동적 범위를 제공하는 데 필요하다. 이것을 달성하는 회로의 예가 도 18에 도시된다.
도 18은 단일 전극 상에서 큰 전압을 송신하고 적은 전류를 수신하기 위한 사용자 장치(1308) 내 회로(1800)의 구현예를 도시한다. 회로(1800)는 입력 단자("플라이백(flyback)") 및 트랜지스터 Q2에 연결된 저항 R16을 포함한다. 트랜지스터 Q2는 저항 R16에 연결된 제1단자, 접지 노드에 연결된 제2단자, 변압기 L2의 일차 권선에 연결된 제3단자를 가진다. 제너 다이오드 D2가 접지 노드 및 변압기 L2의 일차 권선에 연결됨으로써 트랜지스터 Q2의 제2 및 제3단자들과 병렬 연결된다. 변압기 L2의 일차 권선이 전력 공급기(가령, ~3V의 배터리 전압) 및 트랜지스터 Q2의 제3단자에 연결된다. 변압기 L2의 이차 권선이 접지 노드 및 다이오드 D1의 애노드에 연결된다. 다이오드 D1의 캐소드는 전극이 연결되는 노드 TP1에 연결된다. 노드 TP1이 트랜지스터 Q1의 제1단자, 풀다운 저항 Rpd의 제1단자, 및 옵션으로서 커패시터 Cextra에 연결된다. 풀다운 저항 Rpd는 제2단자가 전압 기준 VREF 에 연결되어 있다. 노드 TP1는 또한 도 4의 접지 노드로의 단일 스트레이 커패시터 Cstray로서 모델링된 스트레이 커패시턴스를 포함한다. 트랜지스터 Q1은 RX_ENABLE의 스위칭된 신호에 연결된 제2단자, 및 증폭기 IC1A의 반전 입력 2에 연결된 제3단자를 가진다. 증폭기 IC1A의 비반전 입력 3은 전압 기준 VREF에 연결된다. 증폭기 IC1A의 출력 단자 1은 피드백 커패시터 Cf의 제1단자 및 피드백 레지스터 Rf에 연결되고, 증폭기 IC1A의 비반전 단자는 또한 피드백 커패시터 Cf의 제2단자 및 피드백 레지스터 Rf에 연결된다.
도 18에서 송수신 회로는 배터리 전압(가령, 대략 3V)을 사용하고 -100V의 고전압을 생성하며(최대 수십 마이크로 암페어의 전류를 전달), 수신기는 같은 노드 상에 자리할 수 있다. 수신기는 송신 중에 생성된 고전압에 영향을 미치지 않도록 연결이 끊어질 수 있고, 송신기는 수신 중에 수신된 신호에 영향을 미치지 않도록 연결이 끊어질 수 있다. 고전압은 CRT(cathode ray tube) 디스플레이를 여자시키는 데 사용되거나 스위치모드 전력 공급기에 사용되는 플라이백 회로와 유사한 플라이백 회로를 이용하여 생성될 수 있다. 플라이백 회로는 에너지를 저장하는 변압기 L2를 포함한다. 에너지는 L2의 일차 또는 기본 권선 안으로 흐를 수 있고 자계로서 L2의 코어 안에 저장될 수 있고, L2의 이차 권선을 통해 L2의 코어 밖으로 흐를 수 있다. 전압은 변압기 L2의 권선 비율 및 인가된 신호들의 타이밍들에 따라 변환될 수 있다. L2의 이차 권선을 통해 나와 흐르는 에너지는 D1을 통해 출력에서 스트레이 커패시턴스 안으로 흐를 수 있고 그 스트레이 커패시턴스에 걸쳐 고전압을 발전시킬 수 있다. 스트레이 커패시턴스는 이 회로에 의해 소모되는 실제 전력, 적어도 0.5* Cstray* V^2*f가 그 커패시턴스와 비례할 수 있기 때문에 실용적일 정도로 작게 설계될 수 있다.
송신 시 고전압 AC가 플라이백 변압기 L2를 통해 생성된다. 주파수 f=1/T를 가진 여자 전압을 생성하기 위해, 그리고 50%의 스위치 듀티 사이클을 가정할 때, 스위치 Q2는 시간 0.5*T 동안 닫혀진다. 이 시간 동안, 0에서 시작하는 변압기 내 전류는 Ipri = (Vdd*0.5*T)/Lpri의 기본 전류까지 램프 업(ramp up)되며, 여기서 Vdd는 통상적으로 약 3V의 공급 전압이고, Lpri는 기본 인덕턴스이다. 스위치가 열려 있을 때, 이 저장 에너지가 플라이백 회로의 출력단에 있는 스트레이 커패시턴스 Cstray로 전달된다. 레지스터 Rpd를 무시할 때, 피크 전압은 변압기 인덕턴스에 저장되는 에너지 0.5*Lpri*Ipri^2를 출력 스트레이 커패시턴스에 저장되는 에너지 0.5*Cstray*Vpk^2와 동일시함으로써 산출될 수 있다. 전압은 Rpd*Cstray와 같이 기하급수적으로 쇠퇴할 수 있으며, 여기서 그 곱은 출력이 매 사이클마다 대략 0으로 쇠퇴하도록 여자 주기와 동일한 순서로 선택되어야 한다. 실제로 Cstray는 피코 패럿의 커패시턴스일 수 있고 Rpd는 수백 킬로 옴일 수 있다. 변압기 기본 인덕턴스는 수백 마이크로 헨리일 수 있고, 그 권선비는 약 1:7일 수 있다. 레지스터 Rpd는 접지로의 스위치(가령, FET 또는 바이폴라 트랜지스터)로 대체될 수 있다. 이것은 저항으로 생성된 반복된 지수함수들보다 원하는 이상적 정현파에 더 가까운 대략적인 사각파를 생성할 수 있다.
고전압이 전극에 인가될 때, IC1A의 수신기는 송신 모드에서 그 수신기를 분리시키기 위해 스위치 Q1(가령, 트랜지스터)를 오픈시킴으로써 파손으로부터 보호될 수 있다. 그와 달리 수신기 회로 IC1A는 높은 송신 전압을 클램핑할 것이고 그로써 파손될 가능성이 있다. 따라서 그 회로는 트랜지스터 n-FET Q1을 이용하여 연결이 끊어진다. 이 n-FET는 고전압 레이팅(즉, 전극에서 보여지는 피크 전압보다 높은 게이트-드레인 전압 레이팅)과 (Cstray를 높일 수 있고 그에 따라 송신 시 허용가능한 Rpd를 감소시키고 시스템의 총 전력 소비를 높일 수 있는) 낮은 스트레이 커패시턴스를 위해 선택될 수 있다. 이 트랜지스터 Q1은 이산 FET이고 그에 따라 그 바디 노드가 그 소스 노드에 연결되게 할 수 있고, 이것이 기생 다이오드를 만든다; 그러나 이 다이오드는 항상 역바이어싱되는데 이는 드레인의 전압이 소스의 전압보다 항상 더 크기 때문으로, 이것은 회로의 동작에 영향을 미칠 수 없음을 의미할 수 있다. 송신 시, Q1의 게이트 전압이 0V로 유지되고 이것은 전압-VREF(VREF는 약 0.5*Vdd)을 게이트에 인가하여 트랜지스터를 턴 오프시킨다. 수신 시, 전압 Vdd가 Q1의 게이트에 인가된다. 이것은 전압(Vdd-VREF)을 게이트에 인가할 수 있고, 이것이 트랜지스터를 턴 온 시킨다. 따라서 그 신호가 수신 트랜스임피던스 증폭기 IC1A 안으로 흐를 수 있다. 이와 같이 수신기 모드에서, 고전압이 Q1의 게이트(가령 RX_ENABLE 핀)에 인가되어 트랜지스터 Q1이 도통되면서 단락 회로처럼 동작한다. 그러나 스트레이 커패시턴스들은 그 트랜지서터 및 다이오드 D1 때문에 연결이 끊어질 수 없다. 일차로, IC1A의 반전 입력에서 접지로의 추가 임피던스들은 폐루프 전송 함수에 영향을 미치지 않을 것이다; 그러나 유한 이득-대역폭을 가진 실제 증폭기에 대해서는 이것은 해당되지 않을 것이다. 커패시턴스 Cstray는 수신 증폭기의 폐루프 전송 함수에 그다지 영향을 미치지 않는다. Rpd는 상당한 동적 효과를 갖지 않는다; 그것은 접지에 연결되는 경우 상당한 DC 에러를 일으킬 것이나 이러한 문제를 피하기 위해 오피앰프의 비반전 입력과 동일한 VREF에 연결된다.
변압기 이차 인덕턴스는 상당한 에러를 일으킬 것이나, 수신 시 L2의 애노드의 전압은 변압기에 의해 접지에 가깝게 유지되고 캐소드의 전압은 VREF>0에서 유지된다. 이것은 그 다이오드가 역바이어싱된다는 것을 의미하며, 이는 그것이 수신 회로를 그 변압기 인덕턴스와 분리한다는 것을 의미한다. 따라서 동일한 다이오드가 플라이백 회로의 일부로서 사용되어 변압기 이차로부터 출력 커패시턴스 안으로의 한방향 전류만이 가능하게 하고 그 플라이백 회로로부터 수신기를 분리시켜 부품 수를 줄일 수 있다.
일부 구현예들에서 2:1 이상의 스트레이 커패시턴스 Cstray의 변화가 있을 수 있으며 그것은 피크 생성 전압의 변화를 도출할 수 있다. 따라서 회로 설계는 가능한 최저의 Cstray를 가질 때조차 트랜지스터가 파손되게 할 정도로 높은 전압을 생성하지 않으면서 가능한 가장 높은 커패시턴스 Cstray를 사용하여 원하는 신호대잡음비를 달성할 만큼 충분히 높은 전압을 사용하여 이루어질 수 있다. 일부 구현예들에서 심사숙고한 커패시턴스(가령, 도 4의 Cextra)가 스트레이 커패시턴스 Cstray와 나란히 추가될 수 있다. 이 심사숙고한 커패시턴스의 내성이 스트레이 커패시턴스의 내성보다 우수하다면, 이것은 피크 전압의 변화를 감소시키나 총 커패시턴스를 증가시키고 그에 따라 총 전력 소비를 증가시키는 효과를 가진다. 일부 구현예들에서 플라이백 회로를 사용하는 대신, 다른 스위치모드 전력 공급기 토폴로지가 사용될 수 있다.
본 발명 대상의 상술한 실시예들 및 동작들의 일부는 본 명세서에 개시된 구조들과 그 구조들의 균등물 또는 그들 중 하나 이상의 조합을 포함하는 디지털 전자 회로나 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서 구현될 수 있다. 이 명세스에 기술된 발명 대상에 대한 실시예들은 하나 이상의 컴퓨터 프로그램들, 즉 데이터 프로세싱 장치에 의한 실행이나 그 동작을 제어하는 컴퓨터 저장 매체 상에 코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로나 추가로, 프로그램 명령어들은 인공적으로 생성된 전파 신호, 예컨대 데이터 프로세싱 장치에 의해 실행될 적절한 수신기 장치로의 전송을 위해 정보를 코딩하기 위해 생성되는 기계 발생 전기, 광, 또는 전자기 신호 상에 코딩될 수 있다. 데이터 프로세싱 장치는 센서를 포함할 수 있고, 센서의 일부일 수 있고, 센서를 가진 시스템의 일부일 수 있고, 시스템 및/또는 센서 안에 포함될 수 있고, 센서나 수신기들 및/또는 송신기들 또는 이들의 조합과 관련된 수신기들, 송신기들, 구성요소들 및/또는 로직의 일부일 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 장치, 컴퓨터 판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이나 장치, 또는 이들 중 하나 이상의 조합이거나 그 안에 포함될 수 있다. 게다가 컴퓨터 저장 매체가 전파 신호가 아닐 때, 컴퓨터 저장 매체는 인공적으로 발생된 전파 신호 안에 코딩된 컴퓨터 프로그램 명령어들의 소스나 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별적인 물리적 구성요소들이나 매체들(가령, 여러 CD들, 디스크들, 또는 다른 저장 소자들)이거나 그 안에 포함될 수 있다.
이 명세서 안에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 소자들 상에 저장되거나 다른 소스들로부터 수신된 데이터에 대한 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
데이터를 처리하기 위한 다양한 장치들, 소자들 및 기계들이 예로서 프로그래머블 프로세서, 컴퓨터, 온칩 시스템, 또는 상술한 것 중 다수나 조합들을 포함하는 "데이터 프로세싱 장치"로서 사용될 수 있다. 장치는 특수 목적의 로직 회로, 가령 FPGA(field programmable gate array)나 ASIC(application-specific integrated circuit)를 포함할 수 있다. 장치는 또한 하드웨어 외에 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영체계, 크로스 플랫포 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 이루는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라구조들과 같은 다양한 각종 컴퓨팅 모델 인프라구조들을 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 해석 언어들을 포함하는 프로그래밍 언어, 선언적이거나 절차적인 언어들의 형태로 작성될 수 있으며, 단독형 프로그램이나 모듈로서 컴퓨팅 환경 안에서 사용하기 적합한, 컴포넌트, 서브루틴, 오브젝트, 또는 다른 유닛을 포함하는 어떤 형식으로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내 파일에 해당하지만 반드시 그래야 할 필요는 없다. 프로그램은 문제의 프로그램 전용인 단일 파일이나 다중 통합 파일들(가령 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 일부를 저장하는 파일들) 안에서 다른 프로그램들이나 데이터를 보유하는 파일의 일부(가령, 마크업 언어 문서에 저장된 하나 이상의 스크립트들) 안에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터, 또는 하나의 장소에 위치하거나 여러 장소들에 걸쳐 분산되어 통신 네트워크에 의해 서로 연결되는 다중 컴퓨터들 상에서 실행되도록 배치될 수 있다.
이 명세서에 기술된 프로세스들과 로직은 입력 데이터에 대해 동작됨으로써 액션들을 수행하기 위한 하나 이상의 컴퓨터 프로그램들을 실행하여 출력을 생성하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들과 로직 흐름들은 특수 목적의 로직 회로, 예컨대 FPGA(field programmable gate array)나 ASIC(application-specific integrated circuit)에 의해 수행될 수도 있고, 장치 역시 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은 예로서 범용 및 특수 목적 마이크로프로세서들 둘 모두를 포함할 수 있고 모든 종류의 디지털 컴퓨터의 어떤 하나 이상의 프로세서들을 포함한다. 일반적으로 프로세서는 롬(ROM)이나 램(RAM) 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들에 따른 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 소자들이다. 일반적으로 컴퓨터는 데이터 저장을 위한 하나 이상의 매스 저장 장치들, 예컨대 자기, 자기광 디스크, 또는 광 디스크들을 또한 포함하거나 그들과 데이터를 송수신하도록 유효하게 연결될 것이다. 그러나 컴퓨터가 그러한 장치들을 가질 필요는 없다. 또한 컴퓨터는 다른 장치, 예컨대 몇 가지만 거론하자면 모바일 전화, PDA(personal digital assistant), 모바일 오디오 또는 비디오 재생기, 게임 콘솔, 또는 휴대형 저장 장치(가령 USB(universal serial bus) 플래시 드라이브) 안에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기 적합한 장치들은 예를 들어 반도체 메모리 소자들, 예컨대 EPROM, EEPROM, 및 플래시 메모리 소자들; 자기 디스크들, 예컨대 내부의 하드 디스크들이나 착탈형 디스크들; 자기광 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 소자들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로로 보충되거나 그 안에 포함될 수 있다.
사용자와의 상호동작을 제공하기 위해 이 명세서에 기술된 발명 대상의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 소자, 가령 CRT(cathode ray tube)나 LCD(liquid crystal display) 모니터 및 사용자가 컴퓨터로 입력을 제공할 수 있게 하는 키보드 및 포인팅 장치, 예컨대 마우스나 트랙볼을 가진 컴퓨터 상에서 구현될 수 있다. 다른 종류의 장치들이 마찬가지로 사용자와의 상호동작을 제공하는 데 사용될 수 있다; 예컨대 사용자에게 제공되는 피드백은 모든 형태의 감각적 피드백, 예컨대 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있다; 사용자로부터의 입력이 청각, 말, 또는 촉각적 입력을 포함하는 모든 형태를 통해 수신될 수 있다. 예컨대 사람의 손가락이 스크린 영역의 일부에 영향을 미치기 위해 터치 스크린과 상호작용할 수 있다. 또한 컴퓨터는 문서들을 사용자에 의해 사용되는 장치로 송신하고 문서를 그 장치로부터 수신함으로써, 예를 들어 웹 브라우저로부터 수신된 요청들에 응하여 사용자의 클라이언트 장치 상의 웹 브라우저로 웹 페이지들을 전송함으로써 사용자와 상호동작할 수 있다.
이 명세서는 많은 특정 구현 세부사항들을 포함하지만, 이들은 발명이나 청구될 수 있는 것의 범위에 대한 제약들로서 해석되어서는 안되고 그보다는 특정 발명들의 특정 실시예들에 고유한 특징들에 대한 내용으로서 해석되어야 한다. 각각의 실시예들과 관련하여 이 명세서에서 기술된 소정 특성들은 결합되어 하나의 실시예 안에서 구현될 수도 있다. 반대로, 단일 실시예와 관련하여 기술된 다양한 특성들 역시 여러 실시예들에 각각, 혹은 어떤 적절한 하위 조합을 통해 구현될 수도 있다. 또한 특성들은 소정 조합들 안의 동작으로서 위에서 기술되었고 심지어 그와 같이 처음에 주장될 수 있으나, 어떤 경우 하나 이상의 특성들이 그 주장된 조합으로부터 삭제될 수 있으며 주장된 조합이 하위 조합이나 하위 조합의 변형에 대한 것일 수 있다.
마찬가지로 동작들은 도면들에서 특정한 순서로 묘사되어 있지만, 이것은 그러한 동작들이 원하는 결과들을 달성하기 위해 도시된 특정 순서로, 또는 순차적인 순서로 수행되어야 한다거나 모든 도시된 동작들이 수행될 것을 요구하는 것이라 이해되어서는 안된다. 소정 환경들 하에서 멀티태스킹과 병렬 처리가 바람직할 수 있다. 또한 상술한 실시예들의 다양한 시스템 구성요소들의 구분이 모든 실시예들에서 그러한 구분이 필요한 것이라고 이해되어서는 안되며, 기술된 프로그램 구성요소들 및 시스템들은 일반적으로 하나의 소프트웨어 제품 안에 함께 병합되거나 여러 개의 소프트웨어 제품들 안에 패키징될 수 있다는 것을 알아야 한다.
지금까지 본 발명 대상의 특정 실시예들이 기술되었다. 다른 실시예들도 이하의 청구범위의 범위 내에 있다. 일부 경우들에 있어, 청구범위에 언급된 액션들은 다른 순서로 수행되어 여전히 바람직한 결과들을 달성할 수 있다. 또한 첨부된 도면들에서 묘사된 프로세스들이 원하는 결과를 달성하기 위해 도시된 특정 순서, 순차적 순서를 반드시 요하는 것은 아니다. 소정 구현예들에서, 멀티태스킹 및 병렬 처리가 유용할 수 있다.

Claims (28)

  1. 터치 데이터의 사용자 할당(user assignment)을 명확히 하며(disambiguating), 적어도 하나의 터치 포인트에 대한 식별을 특정 사용자에 의해 이루어진 터치에 대응하는 것으로서 전송하는 방법으로서,
    상기 적어도 하나의 터치 포인트는 용량성 터치 센서에 의해 검출된 복수의 터치 포인트 가운데에서 식별되고, 상기 용량성 터치 센서는 행으로 배열되는 전도체의 제1어레이 및 열로 배열되는 전도체의 제2어레이로서 구성된 이차원 전도체 행렬을 가지며,
    상기 방법은,
    제1사용자에 대한 행 터치 데이터를 수신하는 단계 - 제1사용자 행 터치 데이터는 상기 제1사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타내며, 상기 제1사용자 행 터치 데이터는 상기 제1사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제1사용자에 대한 열 터치 데이터를 수신하는 단계 - 제1사용자 열 터치 데이터는 상기 제1사용자에 의해 터치되는 상기 제2어레이 내의 하나 이상의 전도체를 나타내며, 상기 제1사용자 열 터치 데이터는 상기 제1사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제1사용자와 상이한 제2사용자에 대한 행 터치 데이터를 수신하는 단계 - 제2사용자 행 터치 데이터는 상기 제2사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타내며, 상기 제2사용자 행 터치 데이터는 상기 제2사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제2사용자에 대한 열 터치 데이터를 수신하는 단계 - 제2사용자 열 터치 데이터는 상기 제2사용자에 의해 터치되는 상기 제2어레이 내의 하나 이상의 전도체를 나타내며, 상기 제2사용자 열 터치 데이터는 상기 제2사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 이차원 전도체 행렬 상의 복수의 터치 포인트의 이차원 위치를 상기 제1어레이로부터의 하나의 전도체의 y 좌표와 상기 제2어레이로부터의 하나의 전도체의 x 좌표로서 나타내는 터치 포인트 위치 데이터를 수신하는 단계 - 상기 터치 포인트 위치 데이터는 상기 용량성 터치 센서에 의해 상기 복수의 터치 포인트 각각에 대해, 터치로 인한 상기 제1어레이로부터의 상기 하나의 전도체와 그 대응 짝이 되는 상기 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 반영하는 신호의 검출에 기반하여 캡처됨 -,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트 가운데에서 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계, 및
    상기 식별을 전송하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 용량성 터치 센서에 의해 상기 제1사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제1사용자 행 터치 데이터를 캡처하는 단계,
    상기 용량성 터치 센서에 의해 상기 제1사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제1사용자 열 터치 데이터를 캡처하는 단계,
    상기 용량성 터치 센서에 의해 상기 제2사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제2사용자 행 터치 데이터를 캡처하는 단계,
    상기 용량성 터치 센서에 의해 상기 제2사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제2사용자 열 터치 데이터를 캡처하는 단계, 및
    상기 복수의 터치 포인트 각각에 대해, 상기 용량성 터치 센서에 의해 터치로 인한 상기 제1어레이로부터의 상기 하나의 전도체와 그 대응 짝이 되는 상기 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 터치 포인트 위치 데이터를 캡처하는 단계를 더 포함하는
    방법.
  3. 제1항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계는
    상기 복수의 터치 포인트 중 하나를 선택하는 단계,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하는 단계 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 제1사용자 행 터치 데이터에 액세스하는 단계,
    상기 제1사용자 열 터치 데이터에 액세스하는 단계,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단하는 단계,
    상기 제2사용자 행 터치 데이터에 액세스하는 단계,
    상기 제2사용자 열 터치 데이터에 액세스하는 단계,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체를 터치하고 있지 않거나, 상기 제2전도체를 터치하고 있지 않거나, 상기 제1전도체 및 상기 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다고 판단하는 단계, 및
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다는 판단 및 상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체를 터치하고 있지 않거나, 상기 제2전도체를 터치하고 있지 않거나, 상기 제1전도체 및 상기 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다는 판단에 기반하여, 상기 선택된 터치 포인트가 상기 제1사용자에 의해 이루어진 터치에 해당한다고 결론을 내리는 단계를 포함하는
    방법.
  4. 제1항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계는,
    하나 이상의 다른 사용자 각각에 대한 행 터치 데이터를 수신하는 단계 - 상기 하나 이상의 다른 사용자 각각의 행 터치 데이터는 상기 다른 사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타냄 -,
    상기 하나 이상의 다른 사용자 각각에 대한 열 터치 데이터를 수신하는 단계 - 상기 하나 이상의 다른 사용자 각각의 열 터치 데이터는 상기 다른 사용자에 의해 터치되는 상기 제2어레이 내의 하나 이상의 전도체를 나타냄 -,
    상기 복수의 터치 포인트 중 하나를 선택하는 단계,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하는 단계 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 제1사용자 행 터치 데이터에 액세스하는 단계,
    상기 제1사용자 열 터치 데이터에 액세스하는 단계,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하는 단계,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 제1사용자를 상기 선택된 터치 포인트에 대한 후보 사용자의 풀(pool)에 추가하는 단계,
    상기 제2사용자 행 터치 데이터에 액세스하는 단계,
    상기 제2사용자 열 터치 데이터에 액세스하는 단계,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하는 단계,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 제2사용자를 상기 선택된 터치 포인트에 대한 상기 후보 사용자의 풀에 추가하는 단계,
    상기 하나 이상의 다른 사용자 각각에 대한 상기 행 터치 데이터에 액세스하는 단계,
    상기 하나 이상의 다른 사용자 각각에 대한 상기 열 터치 데이터에 액세스하는 단계,
    상기 하나 이상의 다른 사용자 각각에 대해:
    상기 다른 사용자의 상기 행 터치 데이터 및 상기 다른 사용자의 상기 열 터치 데이터가 상기 다른 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하는 단계,
    상기 다른 사용자의 상기 행 터치 데이터 및 상기 다른 사용자의 상기 열 터치 데이터가 상기 다른 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 다른 사용자를 상기 선택된 터치 포인트에 대한 상기 후보 사용자의 풀에 추가하는 단계,
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 상기 제1사용자만을 포함한다고 판단하는 단계, 및
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 상기 제1사용자만을 포함한다는 판단에 기반하여, 상기 선택된 터치 포인트가 상기 제1사용자에 의해 이루어진 터치에 해당한다고 결론을 내리는 단계를 포함하는
    방법.
  5. 제1항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계는 상기 복수의 터치 포인트 중 제1터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 포함하며,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트 중 제2터치 포인트를 상기 제2사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 더 포함하는
    방법.
  6. 제1항에 있어서,
    상기 수신된 터치 포인트 위치 데이터, 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터, 및 상기 수신된 제2사용자 열 터치 데이터는 단일 특정 프레임 내에서 캡처되고,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계는 상기 복수의 터치 포인트의 제1부분집합을 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 포함하고,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트의 제2부분집합을 상기 제2사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 더 포함하며,
    상기 복수의 터치 포인트의 제3부분집합을, 상기 제3부분집합 내 상기 터치 포인트가 상기 단일 특정 프레임 이전의 프레임 내에서 캡처된 이력(historical) 터치 데이터를 사용하는 발견적 방법(heuristic method)을 적용하지 않고는 어떠한 사용자에 의해 이루어진 터치에 해당한다고 고유하게 판단될 수 없다는 점에서, 모호하다고 식별하는 단계를 더 포함하는
    방법.
  7. 제1항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계는 상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당을 식별하는 단계 - 복수의 터치 포인트에 대한 각각의 유효 사용자 할당은 복수의 사용자 중 단 한 사용자에 대한 상기 복수의 터치 포인트 각각의 할당을 나타내며, 상기 복수의 사용자는 상기 제1사용자 및 상기 제2사용자를 포함함 - 를 포함하는
    방법.
  8. 제7항에 있어서,
    상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당을 식별하는 단계는
    예비 알고리즘을 적용함으로써, 상기 복수의 사용자 중 한 사용자에 대한 상기 복수의 터치 포인트의 부분집합 내 각각의 터치 포인트의 고유한 할당을 결정하는 단계,
    상기 복수의 터치 포인트로부터 상기 부분집합의 제거 이후의 상기 복수의 터치 포인트에 해당하는 축소된 터치 포인트의 집합을 생성하는 단계,
    상기 축소된 터치 포인트의 집합 내 터치 포인트의 가능한 사용자 할당을 식별하는 단계,
    식별된 가능한 사용자 할당 각각에 대해, 상기 복수의 사용자의 매 특정 사용자에 대해, 상기 특정 사용자에 대한 행 터치 데이터에서 터치되는 것으로 나타나는 상기 제1어레이 내 매 특정 전도체에 대해, 그리고 상기 특정 사용자에 대한 열 터치 데이터에서 터치되는 것으로 나타나는 매 특정 전도체에 대해, 상기 식별된 가능한 사용자 할당이 상기 제1어레이 내 특정 전도체에 해당하는 위치를 가진 상기 축소된 집합으로부터의 적어도 하나의 터치 포인트 및 상기 제2어레이 내 특정 전도체에 해당하는 위치를 가진 상기 축소된 집합으로부터의 적어도 하나의 터치 포인트를 상기 특정 사용자에게 할당하는 경우, 상기 식별된 가능한 사용자 할당을 유효한 것으로 지정하는 단계, 및
    상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당의 집합에 도달하도록, 유효한 것으로 지정된 상기 가능한 사용자 할당을 상기 예비 알고리즘에 의해 결정된 상기 부분집합 내 상기 터치 포인트의 상기 고유 할당과 결합하는 단계를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 예비 알고리즘을 적용함으로써 상기 복수의 터치 포인트의 상기 부분집합 내 각각의 터치 포인트의 고유한 할당을 결정하는 단계는
    상기 복수의 터치 포인트 중 하나를 선택하는 단계,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하는 단계 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 복수의 사용자 각각에 대해:
    상기 사용자에 대한 행 터치 데이터 및 열 터치 데이터에 액세스하는 단계, 및
    상기 사용자의 상기 행 터치 데이터 및 상기 사용자의 상기 열 터치 데이터가 상기 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하는 단계,
    상기 사용자의 상기 행 터치 데이터 및 상기 사용자의 상기 열 터치 데이터가 상기 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 사용자를 상기 선택된 터치 포인트에 대한 후보 사용자의 풀에 추가하는 단계,
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 단일 사용자만을 포함하는지 여부를 판단하는 단계,
    상기 후보 사용자의 풀이 단일 사용자만을 포함하는 것으로 판단되는지 여부에 따라, 상기 선택된 터치 포인트를 상기 단일 사용자에게 고유하게 할당함으로써 상기 선택된 터치 포인트를 상기 부분집합에 포함시키는 단계, 및
    상기 후보 사용자의 풀이 여러 사용자를 포함하는 것으로 판단되는지 여부에 따라, 상기 선택된 터치 포인트를 상기 부분집합 안에 포함시키지 않는 단계를 포함하는
    방법.
  10. 제8항에 있어서,
    상기 축소된 터치 포인트의 집합 내 터치 포인트의 가능한 사용자 할당을 식별하는 단계는 X^Y 개의 서로 다른 사용자 할당을 식별하는 단계 - 상기 X는 복수의 사용자의 수에 해당하며 Y는 상기 축소된 터치 포인트의 집합 내 터치 포인트의 개수에 해당함 - 를 포함하는
    방법.
  11. 제8항에 있어서,
    상기 축소된 집합 내 터치 포인트의 가능한 사용자 할당을 식별하는 단계 및 상기 식별된 가능한 사용자 할당을 유효한 것으로 지정하는 단계는, 사용자 할당 구성 트리의 서로 다른 노드에 의해 나타내어진 서로 다른 가능한 사용자 할당의 유효성을 선택적으로 분석하는 반복 알고리즘을 적용하는 단계를 포함하는
    방법.
  12. 제11항에 있어서,
    상기 반복 알고리즘은 가능한 사용자 할당의 보다 큰 그룹을 나타내는 상기 사용자 할당 구성 트리 내 고수준 노드를 분석하는 것에서부터 보다 작은 그룹이나 하나의 가능한 사용자 할당을 나타내는 상기 사용자 할당 구성 트리 내 저수준 노드를 분석하는 것까지 선택적으로 진행함으로써 상기 서로 다른 가능한 사용자 할당의 유효성을 선택적으로 분석하는
    방법.
  13. 제8항에 있어서,
    상기 예비 알고리즘을 적용함으로써 상기 복수의 사용자 중 한 사용자에 대한 상기 복수의 터치 포인트의 부분 집합 내 각각의 터치 포인트의 고유 할당을 결정하는 단계는 상기 복수의 사용자 중 하나에 대한 상기 부분집합 내 각각의 터치 포인트의 명확한 할당을 생성하는 단계를 포함하는
    방법.
  14. 제7항에 있어서,
    상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당을 식별하는 단계는 상기 복수의 터치 포인트에 대해 복수의 유효 사용자 할당을 식별하는 단계를 포함하며,
    상기 복수의 유효 사용자 할당 가운데에서 단일한 특정 유효 사용자 할당을 가장 정확한 사용자 할당으로서 선택하기 위해 이력 터치 포인트 데이터를 사용하는 발견적 알고리즘을 적용하는 단계를 더 포함하는
    방법.
  15. 터치 데이터의 사용자 할당을 명확히 하고, 적어도 하나의 터치 포인트에 대한 식별을 특정 사용자에 의해 이루어진 터치에 대응하는 것으로서 전송하는 시스템으로서,
    상기 적어도 하나의 터치 포인트는 용량성 터치 센서에 의해 검출된 복수의 터치 포인트 가운데에서 식별되고, 상기 용량성 터치 센서는 행으로 배열되는 전도체의 제1어레이 및 열로 배열되는 전도체의 제2어레이로서 구성된 이차원 전도체 행렬을 가지며,
    상기 시스템은 하나 이상의 프로세서를 포함하며,
    상기 하나 이상의 프로세서는
    제1사용자에 대한 행 터치 데이터를 수신하는 단계 - 제1사용자 행 터치 데이터는 상기 제1사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타내며, 상기 제1사용자 행 터치 데이터는 상기 제1사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제1사용자에 대한 열 터치 데이터를 수신하는 단계 - 제1사용자 열 터치 데이터는 상기 제1사용자에 의해 터치되는 상기 제2어레이 내의 하나 이상의 전도체를 나타내며, 상기 제1사용자 열 터치 데이터는 상기 제1사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제1사용자와 상이한 제2사용자에 대한 행 터치 데이터를 수신하는 단계 - 제2사용자 행 터치 데이터는 상기 제2사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타내며, 상기 제2사용자 행 터치 데이터는 상기 제2사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 제2사용자에 대한 열 터치 데이터를 수신하는 단계 - 제2사용자 열 터치 데이터는 상기 제2사용자에 의해 터치되는 상기 제2어레이 내의 하나 이상의 전도체를 나타내며, 상기 제2사용자 열 터치 데이터는 상기 제2사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 반영하는 신호를 감지하는 상기 용량성 터치 센서에 의해 캡처됨 -,
    상기 이차원 전도체 행렬 상의 복수의 터치 포인트의 이차원 위치를 상기 제1어레이로부터의 하나의 전도체의 y 좌표와 상기 제2어레이로부터의 하나의 전도체의 x 좌표로서 나타내는 터치 포인트 위치 데이터를 수신하는 단계 - 상기 터치 포인트 위치 데이터는 상기 용량성 터치 센서에 의해 상기 복수의 터치 포인트 각각에 대해, 터치로 인한 상기 제1어레이로부터의 상기 하나의 전도체와 그 대응 짝이 되는 상기 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 반영하는 신호의 검출에 기반하여 캡처됨 -,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트 가운데에서 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계,
    상기 식별을 전송하는 단계를 수행하도록 구성되는
    시스템.
  16. 제15항에 있어서,
    상기 시스템은 상기 용량성 터치 센서를 더 포함하며,
    상기 용량성 터치 센서는
    상기 제1사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제1사용자 행 터치 데이터를 캡처하고,
    상기 제1사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제1사용자 열 터치 데이터를 캡처하며,
    상기 제2사용자에 의해 터치된 상기 제1어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제2사용자 행 터치 데이터를 캡처하고,
    상기 제2사용자에 의해 터치된 상기 제2어레이 내의 상기 하나 이상의 전도체와 상기 공통 노드 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 제2사용자 열 터치 데이터를 캡처하며,
    상기 복수의 터치 포인트 각각에 대해, 터치로 인한 상기 제1어레이로부터의 상기 하나의 전도체와 그 대응 짝이 되는 상기 제2어레이로부터의 전도체 사이의 커패시턴스 변화를 감지함으로써 상기 수신된 터치 포인트 위치 데이터를 캡처하도록 구성되는
    시스템.
  17. 제15항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 수행하도록 구성되는 상기 하나 이상의 프로세서는,
    상기 복수의 터치 포인트 중 하나를 선택하고,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하며 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 제1사용자 행 터치 데이터에 액세스하고,
    상기 제1사용자 열 터치 데이터에 액세스하고,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단하고,
    상기 제2사용자 행 터치 데이터에 액세스하고,
    상기 제2사용자 열 터치 데이터에 액세스하고,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체를 터치하고 있지 않거나, 상기 제2전도체를 터치하고 있지 않거나, 상기 제1전도체 및 상기 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다고 판단하며,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다는 판단 및 상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체를 터치하고 있지 않거나, 상기 제2전도체를 터치하고 있지 않거나, 상기 제1전도체 및 상기 제2전도체 둘 모두를 터치하고 있지 않다는 것을 나타낸다는 판단에 기반하여, 상기 선택된 터치 포인트가 상기 제1사용자에 의해 이루어진 터치에 해당한다고 결론을 내리도록 구성되는 하나 이상의 프로세서를 포함하는
    시스템.
  18. 제15항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하는 단계를 수행하도록 구성되는 상기 하나 이상의 프로세서는,
    하나 이상의 다른 사용자 각각에 대한 행 터치 데이터를 수신하고 - 상기 하나 이상의 다른 사용자 각각의 행 터치 데이터는 상기 다른 사용자에 의해 터치되는 상기 제1어레이 내의 하나 이상의 전도체를 나타냄 -,
    상기 하나 이상의 다른 사용자 각각에 대한 열 터치 데이터를 수신하며 - 상기 하나 이상의 다른 사용자 각각의 열 터치 데이터는 상기 다른 사용자에 의해 터치되는 제2어레이 내의 하나 이상의 전도체를 나타냄 -,
    상기 복수의 터치 포인트 중 하나를 선택하고,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하며 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 제1사용자 행 터치 데이터에 액세스하고,
    상기 제1사용자 열 터치 데이터에 액세스하고,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하고,
    상기 제1사용자 행 터치 데이터 및 상기 제1사용자 열 터치 데이터가 상기 제1사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 제1사용자를 상기 선택된 터치 포인트에 대한 후보 사용자의 풀(pool)에 추가하고,
    상기 제2사용자 행 터치 데이터에 액세스하고,
    상기 제2사용자 열 터치 데이터에 액세스하고,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하고,
    상기 제2사용자 행 터치 데이터 및 상기 제2사용자 열 터치 데이터가 상기 제2사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 제2사용자를 상기 선택된 터치 포인트에 대한 상기 후보 사용자의 풀에 추가하고,
    상기 하나 이상의 다른 사용자 각각에 대한 상기 행 터치 데이터에 액세스하고,
    상기 하나 이상의 다른 사용자 각각에 대한 상기 열 터치 데이터에 액세스하고,
    상기 하나 이상의 다른 사용자 각각에 대해:
    상기 다른 사용자의 상기 행 터치 데이터 및 상기 다른 사용자의 상기 열 터치 데이터가 상기 다른 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하며,
    상기 다른 사용자의 상기 행 터치 데이터 및 상기 다른 사용자의 상기 열 터치 데이터가 상기 다른 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 다른 사용자를 상기 선택된 터치 포인트에 대한 상기 후보 사용자의 풀에 추가하고,
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 상기 제1사용자만을 포함한다고 판단하며,
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 상기 제1사용자만을 포함한다는 판단에 기반하여, 상기 선택된 터치 포인트가 상기 제1사용자에 의해 이루어진 터치에 해당한다고 결론을 내리도록 구성되는 하나 이상의 프로세서를 포함하는
    시스템.
  19. 제15항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계를 수행하도록 구성되는 상기 하나 이상의 프로세서는 상기 복수의 터치 포인트 중 제1터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하도록 구성된 하나 이상의 프로세서를 포함하며,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트 중 제2터치 포인트를 상기 제2사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하도록 구성된 하나 이상의 프로세서를 더 포함하는
    시스템.
  20. 제15항에 있어서,
    상기 수신된 터치 포인트 위치 데이터, 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터, 및 상기 수신된 제2사용자 열 터치 데이터는 단일 특정 프레임 내에서 캡처되고,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계를 수행하도록 구성되는 상기 하나 이상의 프로세서는 상기 복수의 터치 포인트의 제1부분집합을 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하도록 구성된 하나 이상의 프로세서를 포함하고,
    상기 수신된 터치 포인트 위치 데이터를 상기 수신된 제1사용자 행 터치 데이터, 상기 수신된 제1사용자 열 터치 데이터, 상기 수신된 제2사용자 행 터치 데이터 및 상기 수신된 제2사용자 열 터치 데이터에 적용함으로써, 상기 복수의 터치 포인트의 제2부분집합을 상기 제2사용자에 의해 이루어진 터치에 해당하는 것으로서 식별하도록 구성된 하나 이상의 프로세서를 더 포함하며,
    상기 복수의 터치 포인트의 제3부분집합을 상기 제3부분집합 내 상기 터치 포인트가 상기 단일 특정 프레임 이전의 프레임 내에서 캡처된 이력(historical) 터치 데이터를 사용하는 발견적 방법을 적용하지 않고는 어떠한 사용자에 의해 이루어진 터치에 해당한다고 고유하게 판단될 수 없다는 점에서, 모호하다고 식별하도록 구성된 하나 이상의 프로세서를 더 포함하는
    시스템.
  21. 제15항에 있어서,
    상기 복수의 터치 포인트 중 적어도 하나의 터치 포인트를 상기 제1사용자에 의해 이루어진 터치에 해당하는 것으로 식별하는 단계를 수행하도록 구성된 상기 하나 이상의 프로세서는 상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당을 식별하도록 구성된 하나 이상의 프로세서를 포함하되, 상기 복수의 터치 포인트에 대한 각각의 유효 사용자 할당은 상기 복수의 사용자 중 단 한 사용자에 대한 상기 복수의 터치 포인트 각각의 할당을 나타내며, 상기 복수의 사용자는 상기 제1사용자 및 상기 제2사용자를 포함하는
    시스템.
  22. 제21항에 있어서,
    상기 복수의 터치 포인트에 대해 하나 이상의 유효 사용자 할당을 식별하도록 구성된 상기 하나 이상의 프로세서는,
    예비 알고리즘을 적용함으로써, 상기 복수의 사용자 중 한 사용자에 대한 상기 복수의 터치 포인트의 부분집합 내 각각의 터치 포인트의 고유한 할당을 결정하고,
    상기 복수의 터치 포인트로부터 상기 부분집합의 제거 이후의 상기 복수의 터치 포인트에 해당하는 축소된 터치 포인트의 집합을 생성하며,
    상기 축소된 터치 포인트의 집합 내 터치 포인트의 가능한 사용자 할당을 식별하고,
    식별된 가능한 사용자 할당 각각에 대해, 상기 복수의 사용자의 매 특정 사용자에 대해, 상기 특정 사용자에 대한 행 터치 데이터에서 터치되는 것으로 나타나는 상기 제1어레이 내 매 특정 전도체에 대해, 그리고 상기 특정 사용자에 대한 열 터치 데이터에서 터치되는 것으로 나타나는 매 특정 전도체에 대해, 상기 식별된 가능한 사용자 할당이 상기 제1어레이 내 특정 전도체에 해당하는 위치를 가진 상기 축소된 집합으로부터의 적어도 하나의 터치 포인트 및 상기 제2어레이 내 특정 전도체에 해당하는 위치를 가진 상기 축소된 집합으로부터의 적어도 하나의 터치 포인트를 상기 특정 사용자에게 할당하는 경우, 상기 식별된 가능한 사용자 할당을 유효한 것으로 지정하며,
    상기 복수의 터치 포인트에 대한 하나 이상의 유효 사용자 할당의 집합에 도달하도록, 유효한 것으로 지정된 상기 가능한 사용자 할당을 상기 예비 알고리즘에 의해 결정된 상기 부분집합 내 상기 터치 포인트의 상기 고유 할당과 결합하도록 구성되는 하나 이상의 프로세서를 포함하는
    시스템.
  23. 제22항에 있어서,
    상기 예비 알고리즘을 적용함으로써 상기 복수의 터치 포인트의 상기 부분집합 내 각각의 터치 포인트의 고유한 할당을 결정하도록 구성된 상기 하나 이상의 프로세서는,
    상기 복수의 터치 포인트 중 하나를 선택하고,
    상기 터치 포인트 위치 데이터로부터 상기 선택된 터치 포인트의 이차원 위치에 액세스하며 - 상기 선택된 터치 포인트의 위치는 상기 제1어레이 내의 제1전도체와 상기 제2어레이 내의 제2전도체의 쌍으로서 나타냄 -,
    상기 복수의 사용자 각각에 대해:
    상기 사용자에 대한 행 터치 데이터 및 열 터치 데이터에 액세스하고,
    상기 사용자의 상기 행 터치 데이터 및 상기 사용자의 상기 열 터치 데이터가 상기 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타내는지 여부를 판단하며,
    상기 사용자의 상기 행 터치 데이터 및 상기 사용자의 상기 열 터치 데이터가 상기 사용자가 상기 제1전도체 및 상기 제2전도체를 터치하고 있음을 나타낸다고 판단되는지 여부에 기반하여, 상기 사용자를 상기 선택된 터치 포인트에 대한 후보 사용자의 풀에 추가하고,
    상기 선택된 터치 포인트의 상기 후보 사용자의 풀이 단일 사용자만을 포함하는지 여부를 판단하고,
    상기 후보 사용자의 풀이 단일 사용자만을 포함하는 것으로 판단되는지 여부에 따라, 상기 선택된 터치 포인트를 상기 단일 사용자에게 고유하게 할당함으로써 상기 선택된 터치 포인트를 상기 부분집합에 포함시키며,
    상기 후보 사용자의 풀이 여러 사용자를 포함하는 것으로 판단되는지 여부에 따라, 상기 선택된 터치 포인트를 상기 부분집합 안에 포함시키지 않도록 구성되는 하나 이상의 프로세서를 포함하는
    시스템.
  24. 제22항에 있어서,
    상기 축소된 터치 포인트의 집합 내 터치 포인트의 가능한 사용자 할당을 식별하도록 구성된 상기 하나 이상의 프로세서는 X^Y 개의 서로 다른 사용자 할당을 식별하도록 구성되는 하나 이상의 프로세서를 포함하되, 상기 X는 복수의 사용자의 수에 해당하며 Y는 상기 축소된 터치 포인트의 집합 내 터치 포인트의 개수에 해당하는
    시스템.
  25. 제22항에 있어서,
    상기 축소된 집합 내 터치 포인트의 가능한 사용자 할당을 식별하며 상기 식별된 가능한 사용자 할당을 유효한 것으로 지정하도록 구성된 상기 하나 이상의 프로세서는 사용자 할당 구성 트리의 서로 다른 노드에 의해 나타내어진 서로 다른 가능한 사용자 할당의 유효성을 선택적으로 분석하는 반복 알고리즘을 적용하도록 구성된 하나 이상의 프로세서를 포함하는
    시스템.
  26. 제25항에 있어서,
    상기 반복 알고리즘은 가능한 사용자 할당의 보다 큰 그룹을 나타내는 상기 사용자 할당 구성 트리 내 고수준 노드를 분석하는 것에서부터 보다 작은 그룹이나 하나의 가능한 사용자 할당을 나타내는 상기 사용자 할당 구성 트리 내 저수준 노드를 분석하는 것까지 선택적으로 진행함으로써 상기 서로 다른 가능한 사용자 할당의 유효성을 선택적으로 분석하는
    시스템.
  27. 제22항에 있어서,
    상기 예비 알고리즘을 적용함으로써 상기 복수의 사용자 중 한 사용자에 대한 상기 복수의 터치 포인트의 부분 집합 내 각각의 터치 포인트의 고유 할당을 결정하도록 구성된 상기 하나 이상의 프로세서는 상기 복수의 사용자 중 하나에 대한 상기 부분집합 내 각각의 터치 포인트의 명확한 할당을 생성하도록 구성된 하나 이상의 프로세서를 포함하는
    시스템.
  28. 제21항에 있어서,
    상기 복수의 터치 포인트에 대해 하나 이상의 유효 사용자 할당을 식별하도록 구성된 상기 하나 이상의 프로세서는 상기 복수의 터치 포인트에 대해 복수의 유효 사용자 할당을 식별하도록 구성된 하나 이상의 프로세서를 포함하며,
    상기 복수의 유효 사용자 할당 가운데에서 단일한 특정 유효 사용자 할당을 가장 정확한 사용자 할당으로서 선택하기 위해 이력 터치 포인트 데이터를 사용하는 발견적 알고리즘을 적용하도록 구성된 하나 이상의 프로세서를 더 포함하는
    시스템.
KR1020137020986A 2011-02-04 2012-02-06 터치 데이터를 명확히 하기 위한 기법들 KR101915823B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/021,261 2011-02-04
US13/021,261 US8619047B2 (en) 2011-02-04 2011-02-04 Techniques for disambiguating touch data
PCT/US2012/023913 WO2012106698A1 (en) 2011-02-04 2012-02-06 Techniques for disambiguating touch data

Publications (2)

Publication Number Publication Date
KR20140051127A KR20140051127A (ko) 2014-04-30
KR101915823B1 true KR101915823B1 (ko) 2018-11-06

Family

ID=45607825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020986A KR101915823B1 (ko) 2011-02-04 2012-02-06 터치 데이터를 명확히 하기 위한 기법들

Country Status (6)

Country Link
US (1) US8619047B2 (ko)
EP (1) EP2671142A1 (ko)
JP (1) JP2014504773A (ko)
KR (1) KR101915823B1 (ko)
CN (1) CN103348310B (ko)
WO (1) WO2012106698A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842081B2 (en) * 2011-01-13 2014-09-23 Synaptics Incorporated Integrated display and touch system with displayport/embedded displayport interface
US8658917B2 (en) * 2011-02-04 2014-02-25 Perceptive Pixel Inc. Techniques for disambiguating touch data using user devices
US20130106772A1 (en) * 2011-09-28 2013-05-02 Empire Technology Development Llc Differentiating inputs of a display device
US9158411B2 (en) * 2013-07-12 2015-10-13 Tactual Labs Co. Fast multi-touch post processing
CN105144046B (zh) * 2013-03-15 2018-10-19 触觉实验室股份有限公司 具有用户识别技术的快速多触摸传感器
US9933880B2 (en) * 2014-03-17 2018-04-03 Tactual Labs Co. Orthogonal signaling touch user, hand and object discrimination systems and methods
JP6402611B2 (ja) * 2014-12-04 2018-10-10 富士通株式会社 入力制御方法、入力制御プログラム、及び情報処理装置
US9830000B2 (en) 2014-12-12 2017-11-28 Microsoft Technology Licensing, Llc Active stylus synchronization
US9720542B2 (en) 2015-08-04 2017-08-01 Microsoft Technology Licensing, Llc Active stylus differential synchronization
WO2019054243A1 (ja) 2017-09-15 2019-03-21 株式会社ワコム アクティブペン及びセンサコントローラ
US10845985B2 (en) 2018-09-14 2020-11-24 Sigmasense, Llc. Identification in touch systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097342A1 (en) 2008-10-21 2010-04-22 Martin Simmons Multi-Touch Tracking
US20100300773A1 (en) 2009-05-29 2010-12-02 3M Innovative Properties Company High speed multi-touch touch device and controller therefor

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672154A (en) 1985-04-03 1987-06-09 Kurta Corporation Low power, high resolution digitizing system with cordless pen/mouse
US5606346A (en) 1992-12-22 1997-02-25 Matsushita Electric Industrial Co., Ltd. Coordinate input device
WO1997018528A1 (en) 1995-11-13 1997-05-22 Synaptics, Inc. Stylus input capacitive touchpad sensor
WO1997040482A1 (en) 1996-04-24 1997-10-30 Logitech, Inc. Touch and pressure sensing method and apparatus
US7030860B1 (en) 1999-10-08 2006-04-18 Synaptics Incorporated Flexible transparent touch sensing system for electronic devices
US6777922B2 (en) 2001-05-14 2004-08-17 Sony Corporation Information processing apparatus for inputting a signal, and method therefor
US6498590B1 (en) 2001-05-24 2002-12-24 Mitsubishi Electric Research Laboratories, Inc. Multi-user touch surface
US7254775B2 (en) 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US8125459B2 (en) * 2007-10-01 2012-02-28 Igt Multi-user input systems and processing techniques for serving multiple users
JP5172334B2 (ja) * 2004-06-17 2013-03-27 アドレア エルエルシー タッチスクリーン上の2本指入力の使用
US7466308B2 (en) 2004-06-28 2008-12-16 Microsoft Corporation Disposing identifying codes on a user's hand to provide input to an interactive display application
US7535481B2 (en) 2004-06-28 2009-05-19 Microsoft Corporation Orienting information presented to users located at different sides of a display surface
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
GB2428094A (en) 2005-07-08 2007-01-17 Sharp Kk A controller for an input device, an input device, and a method of using an input device
US8970502B2 (en) * 2006-05-26 2015-03-03 Touchtable Ab User identification for multi-user touch screens
US8639087B2 (en) 2006-05-29 2014-01-28 Gvbb Holdings S.A.R.L. Moving image editing system and moving image editing method
US8130203B2 (en) * 2007-01-03 2012-03-06 Apple Inc. Multi-touch input discrimination
US20090225036A1 (en) * 2007-01-17 2009-09-10 Wright David G Method and apparatus for discriminating between user interactions
US20090009483A1 (en) 2007-06-13 2009-01-08 Apple Inc. Single-chip touch controller with integrated drive system
US8842091B2 (en) * 2007-07-12 2014-09-23 Atmel Corporation Two-dimensional touch panel
US8125458B2 (en) * 2007-09-28 2012-02-28 Microsoft Corporation Detecting finger orientation on a touch-sensitive device
WO2009058407A1 (en) 2007-11-02 2009-05-07 Cirque Corporation Proximity sensing by actively driving interested objects
US8232977B2 (en) 2007-11-14 2012-07-31 N-Trig Ltd. System and method for detection with a digitizer sensor
TW200937268A (en) * 2008-02-26 2009-09-01 Egalax Empia Technology Inc Touch panel device capable of being used by multiple persons at the same time and its control device and method
TW200941320A (en) 2008-03-25 2009-10-01 Elan Microelectronics Corp Equalized capacitive touchpad and touch positioning method
EP2300899A4 (en) 2008-05-14 2012-11-07 3M Innovative Properties Co SYSTEM AND METHOD FOR EVALUATING POSITIONS OF MULTIPLE TOUCH INPUTS
KR101665148B1 (ko) 2008-08-01 2016-10-11 쓰리엠 이노베이티브 프로퍼티즈 컴파니 복합 전극을 제조하는 방법
US8237667B2 (en) 2008-09-10 2012-08-07 Apple Inc. Phase compensation for multi-stimulus controller
TWI387908B (zh) 2008-09-25 2013-03-01 Tpo Displays Corp 物體位置偵測裝置與方法及應用該物體位置偵測裝置之影像顯示系統
JP5138529B2 (ja) 2008-10-03 2013-02-06 株式会社ジャパンディスプレイイースト タッチパネル
US8516397B2 (en) 2008-10-27 2013-08-20 Verizon Patent And Licensing Inc. Proximity interface apparatuses, systems, and methods
US8749496B2 (en) 2008-12-05 2014-06-10 Apple Inc. Integrated touch panel for a TFT display
US8325147B2 (en) 2008-12-19 2012-12-04 Motorola Mobility Llc Touch screen device and methods thereof configured for a plurality of resolutions
US9239637B2 (en) * 2010-08-30 2016-01-19 Perceptive Pixel, Inc. Systems for an electrostatic stylus within a capacitive touch sensor
US9176630B2 (en) * 2010-08-30 2015-11-03 Perceptive Pixel, Inc. Localizing an electrostatic stylus within a capacitive touch sensor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097342A1 (en) 2008-10-21 2010-04-22 Martin Simmons Multi-Touch Tracking
US20100300773A1 (en) 2009-05-29 2010-12-02 3M Innovative Properties Company High speed multi-touch touch device and controller therefor

Also Published As

Publication number Publication date
WO2012106698A1 (en) 2012-08-09
US8619047B2 (en) 2013-12-31
CN103348310A (zh) 2013-10-09
US20120200522A1 (en) 2012-08-09
CN103348310B (zh) 2017-03-15
JP2014504773A (ja) 2014-02-24
EP2671142A1 (en) 2013-12-11
KR20140051127A (ko) 2014-04-30

Similar Documents

Publication Publication Date Title
KR101915823B1 (ko) 터치 데이터를 명확히 하기 위한 기법들
US9018548B2 (en) Techniques for disambiguating touch data using user devices
US10955964B2 (en) Active pen and touchscreen display device
KR101826381B1 (ko) 정전용량방식 터치 센서 내에서의 정전기식 스타일러스의 위치식별
CA2809038C (en) System for an electrostatic stylus within a capacitive touch sensor
JP6731984B2 (ja) タッチ表示装置、タッチ回路、ペン、タッチシステム、及びマルチペンセンシング方法
RU2670787C9 (ru) Система отображения с линиями электростатической и радиосвязи
CN101896825B (zh) Tx-rx电容式传感器的补偿电路
CN103718141B (zh) 用于触摸位置检测的峰值检测方案
CN103186302A (zh) 在电容传感阵列上的接触识别以及跟踪
CN103389805A (zh) 坐标指示装置和用于其输入位置的坐标测量装置
CN109241957A (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