KR101750671B1 - 호스트 기반 터치 처리를 위한 최적화 - Google Patents

호스트 기반 터치 처리를 위한 최적화 Download PDF

Info

Publication number
KR101750671B1
KR101750671B1 KR1020167024342A KR20167024342A KR101750671B1 KR 101750671 B1 KR101750671 B1 KR 101750671B1 KR 1020167024342 A KR1020167024342 A KR 1020167024342A KR 20167024342 A KR20167024342 A KR 20167024342A KR 101750671 B1 KR101750671 B1 KR 101750671B1
Authority
KR
South Korea
Prior art keywords
touch
estimate
error
mass
maximum likelihood
Prior art date
Application number
KR1020167024342A
Other languages
English (en)
Other versions
KR20160108590A (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 KR20160108590A publication Critical patent/KR20160108590A/ko
Application granted granted Critical
Publication of KR101750671B1 publication Critical patent/KR101750671B1/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
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • G06F3/041661Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving using detection at multiple resolutions, e.g. coarse and fine scanning; using detection within a limited area, e.g. object tracking window
    • 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
    • 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/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

Landscapes

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

Abstract

터치 패널로부터 수신된 데이터로부터 터치 위치를 결정하기 위한 시스템 및 방법들이 개시된다. 일 구현에서, 터치 입력 신호를 처리하기 위한 장치는 병렬 처리를 위해 구성될 수도 있는 프로세서, 터치 디바이스, 프로세서에 동작가능하게 접속되고, 프로세서 명령들을 저장하도록 구성된 메모리를 포함한다. 프로세서 명령들은 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하고, 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하고, 질량의 중심 추정치의 검색 반경을 결정하고, 프로세서를 이용하여 질량의 중심 추정치 및 검색 반경에 기초하여 최적 터치 포인트 위치를 결정하도록 프로세서를 구성할 수 있다.

Description

호스트 기반 터치 처리를 위한 최적화{OPTIMIZATION FOR HOST BASED TOUCH PROCESSING}
본원에 개시된 시스템 및 방법들은 터치 처리에 관한 것이고, 보다 구체적으로는 조대 및 미세 오브젝트 터치 처리에 관한 것이다.
터치 로케이션 추정을 위해, 일부 터치 알고리즘은 정전 패널 측정을 2차원 (2D) 터치 "프로브" 의 포인트 질량으로서 다룰 수도 있고, 터치 프로브의 로케이션을 구하기 위해 질량의 중심 추정 (센트로이드) 를 적용할 수도 있다. 형상 추정을 위해, 일부 프로세스들은 정전 터치 패널 측정들을 픽셀 값들로서 다룬다. 질량의 중심 연산은 차선 (sub-optimal) 일 수 있고, 바이어스 및 높은 지터를 야기할 수 있는 에일리어싱 (aliasing) 을 받을 수 있다. 형상 정확성을 위해, 낮은 픽셀 밀도는, 불가능한 것은 아니지만, 정확한 형상 파라미터들, 예를 들어 회전 각도 및 면적을 획득하는 것을 매우 어렵게 만든다. 따라서, 터치 처리에 있어서의 개선 및 최적화가 요망된다.
본 개시의 시스템, 방법 및 디바이스는 각각 여러 혁신적인 양태들을 갖고, 그들 중 단 하나만이 오로지 여기에 개시된 바람직한 속성들의 원인이 되지는 않는다.
하나의 혁신은 터치 입력 신호를 처리하기 위한 장치를 포함하고, 그 장치는 적어도 하나의 프로세서, 그 프로세서와 통신하는 터치 디바이스, 및 프로세서에 동작가능하게 접속되고 프로세서 명령들을 저장하도록 구성된 메모리 컴포넌트 (여기서 언급의 용이성을 위해 "메모리" 라고도 한다) 를 포함한다. 적어도 하나의 프로세서는 병렬 처리를 위해 구성될 수도 있다. 프로세서 명령들은, 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하고, 복수의 데이터 포인트들로부터 질량의 중심 (센트로이드) 추정치를 결정하고, 질량의 중심 추정치의 검색 반경을 결정하고, 병렬 처리 구성에서의 프로세서를 이용하여 질량의 중심 추정치 및 검색 반경에 기초하여 최적 터치 포인트 위치를 결정하도록 프로세서를 구성한다.
또 다른 혁신은 터치 입력 신호를 처리하기 위한 장치를 포함하고, 그 장치는 병렬 처리를 위해 구성될 수도 있는 적어도 하나의 프로세서, 터치 디바이스, 및 프로세서에 동작가능하게 접속되고 프로세서 명령들을 저장하도록 구성된 메모리를 포함하고, 그 프로세서 명령들은 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하고, 복수의 데이터 포인트들을 다운샘플링하고, 복수의 데이터 포인트들로부터 조대 오브젝트 (coarse object) 들을 위한 질량의 중심 추정치를 결정하고, 다운샘플링된 복수의 데이터 포인트들로부터 조대 오브젝트들을 제거하고 조대 오브젝트 추정치를 출력하고, 복수의 데이터 포인트들 및 조대 오브젝트가 제거된 다운샘플링된 복수의 데이터 포인트들을 이용하여 미세 오브젝트 (fine object) 들을 검출하고 미세 오브젝트 출력을 생성하고, 병렬 처리 구성에서의 프로세서를 이용하여 미세 오브젝트 출력 및 터치 패널의 요청된 영역들로부터 수신된 고해상도 데이터에 기초하여 최적 미세 오브젝트 추정치를 출력하도록 프로세서를 구성한다.
하나의 혁신은 터치 입력 신호를 처리하는 방법이고, 그 방법은 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계, 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 단계, 질량의 중심 추정치의 검색 반경을 결정하는 단계, 및 병렬 처리 구성에서의 프로세서를 이용하여 질량의 중심 추정치 및 검색 반경에 기초하여 최적 터치 포인트 위치를 결정하는 단계를 포함한다.
또 다른 혁신은 터치 입력 신호를 처리하는 방법을 포함하고, 그 방법은 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계, 복수의 데이터 포인트들을 다운샘플링하는 단계, 복수의 데이터 포인트들로부터 조대 오브젝트들을 위한 질량의 중심 추정치를 결정하는 단계, 다운샘플링된 복수의 데이터 포인트들로부터 조대 오브젝트들을 제거하고 조대 오브젝트 추정치를 출력하는 단계, 복수의 데이터 포인트들 및 조대 오브젝트가 제거된 다운샘플링된 복수의 데이터 포인트들을 이용하여 미세 오브젝트들을 검출하고 미세 오브젝트 출력을 생성하는 단계, 및 병렬 처리 구성에서의 프로세서를 이용하여 미세 오브젝트 출력 및 터치 패널의 요청된 영역들로부터 수신된 고해상도 데이터에 기초하여 최적 미세 오브젝트 추정치를 출력하는 단계를 포함한다.
또 다른 혁신은 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체를 포함하고, 그 명령들은 처리 회로로 하여금, 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계, 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 단계, 질량의 중심 추정치의 검색 반경을 결정하는 단계, 및 병렬 처리 구성에서의 프로세서를 이용하여 질량의 중심 추정치 및 검색 반경에 기초하여 최적 터치 포인트 위치를 결정하는 단계를 포함하는 방법을 수행하게 한다.
또 다른 혁신은 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체를 포함하고, 그 명령들은 처리 회로로 하여금, 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계, 복수의 데이터 포인트들을 다운샘플링하는 단계, 복수의 데이터 포인트들로부터 조대 오브젝트들을 위한 질량의 중심 추정치를 결정하는 단계, 다운샘플링된 복수의 데이터 포인트들로부터 조대 오브젝트들을 제거하고 조대 오브젝트 추정치를 출력하는 단계, 복수의 데이터 포인트들 및 조대 오브젝트가 제거된 다운샘플링된 복수의 데이터 포인트들을 이용하여 미세 오브젝트들을 검출하고 미세 오브젝트 출력을 생성하는 단계, 및 병렬 처리 구성에서의 프로세서를 이용하여 미세 오브젝트 출력 및 터치 패널의 요청된 영역들로부터 수신된 고해상도 데이터에 기초하여 최적 미세 오브젝트 추정치를 출력하는 단계를 포함한다.
또 다른 혁신은 터치 입력 신호를 처리하기 위한 장치를 포함하고, 그 장치는 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 수단, 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 수단, 질량의 중심 추정치의 검색 반경을 결정하는 수단, 및 병렬 처리 구성에서의 프로세서를 이용하여 질량의 중심 추정치 및 검색 반경에 기초하여 최적 터치 포인트 위치를 결정하는 수단을 포함한다.
개시된 양태들은 이하에서, 개시된 양태들을 제한하는 것이 아니라 예시하기 위하여 제공된, 첨부 도면들 및 부록들과 함께 설명되고, 여기서 같은 부호는 같은 요소들을 표시한다.
도 1은, 예를 들어, 호스트 기반 병렬 컴퓨팅 시스템 상의 최적 터치 추정 시스템의 예시적인 구현을 예시하는 개략도이다.
도 2는 측정에 대해 커넬 함수를 부과하는 로케이션 x0 = 0 에서의 "프로브" 터치의 일 예를 보여주는 그래프를 예시하고, 이 예에서
Figure 112016085838014-pct00001
이다.
도 3은, W=1.0 및 SNR = 25.0db 를 갖는, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프의 예를 예시한다.
도 4는, SNR 이 25db 로부터 10db 로 낮아진 것을 제외하고는, 도 3에서와 동일한 조건들을 갖는 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프의 예를 예시한다.
도 5는, W=1.0 및 SNR = 25.0db 를 갖는, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프의 다른 예를 예시한다.
도 6은, W=1.0 및 SNR = 25.0db 를 갖는, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프의 다른 예를 예시하고, 여기서 커넬의 폭 (W 파라미터) 은 0.25 로 감소된다.
도 7은 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하도록 구성된 시스템의 구현을 예시하는 블록도이다.
도 8은 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하도록 구성된 시스템의 다른 구현을 예시하는 블록도이고, 여기서 터치 패널 입력이 먼저 다운샘플링되고 "조대 오브젝트" 들을 위한 종래 질량의 중심 추정을 이용하여 처리될 때 감소된 전체 연산이 달성된다.
도 9는 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하도록 구성된 시스템의 다른 구현을 예시하는 블록도이고, 여기서 입력은 터치 패널 아날로그 프론트 엔드 (AFE) 에서 더 높은 해상도 터치 입력을 가져오기 (fetch) 위해 AFE API로 다운샘플링될 수도 있다.
도 10은 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하고 조대 오브젝트 최종 추정치 및 미세 오브젝트 최종 추정치를 생성하도록 구성된 시스템의 다른 구현을 예시하는 블록도이다.
도 11은 본 개시의 양태들에 기초하여 최적 터치 포인트 위치를 결정하는 예시적인 방법을 예시한다.
도 12는 터치 센서에 동작되게 연결된 프로세서를 포함하는, 컴포넌트들의 세트를 갖는 디바이스의 하이레벨 블록도를 도시한다.
최적화된 터치 검출 프로세스들은 종래 감지 알고리즘들보다 훨씬 더 나은 성능을 가질 수 있다. 최적화된 터치 검출 프로세스들의 결과들은 더 높은 정확성, 바이어스되지 않은 오프 에지 (unbiased off-edge) 추정치, 보다 낮은 바이어스, 보다 낮은 지터, 및 보다 정확한 형상 추정을 포함할 수 있다. 하지만, 이들 "최적화된" 프로세스들 대부분은 종래 터치 제어기 마이크로프로세서에 의한 구현에 적합한 것이 아니라, 그 대신에 이상적으로 호스트 기반 터치 처리 시스템에 적합하다. 여기서 설명된 실시형태들은 최적화된 신호 처리 기법들을 이용하여 현재 터치 제어기 프로세스들을 대체하고 터치 패널 상에 더 나은 터치 검출을 생성할 수도 있다. 또한, 그러한 기법들은 또한, 현재 터치 패널 호스팅 디바이스에 대한 전력 절감을 제공할 수 있다.
터치 로케이션 추정에 대해, 종래의 터치 알고리즘은 정전 패널 측정을 2차원 (2D) 터치 "프로브" 의 포인트 질량으로서 다루고, 터칭 "프로브" 의 균형을 유지하기 위하여 가정적인 받침점이 놓여질 수 있는 로케이션을 구하기 위해 질량의 중심 추정을 적용할 수도 있다. 종래 알고리즘의 두번째 관점 (view) 은 "센트로이드" 의 그것, 즉 센트로이드 로케이션 주변의 포인트들의 클러스터이다. 형상 추정을 위하여, 그것은 정전 터치 패널 측정들을 픽셀 값들로서 디지털 카메라에서 다루고, 픽셀은 많은 터치 패널들에 대해 통상적으로 4mm 떨어지게 위치된다. 질량의 중심 연산, 또는 센트로이드 연산은 차선이고, 바이어스 및 높은 지터를 야기할 수 있는 에일리어싱을 받는다. 추가적으로, 형상 정확성을 위해, 낮은 픽셀 밀도 (4mm) 는 회전 각도 및 터치의 면적과 같은 정확한 형상 파라미터들을 획득하는 것을 거의 불가능하게 만든다.
여기서 설명된 실시형태들의 성능 이점들은 증가된 터치 정확성, 향상된 터치 스트로크 선형성, 감소된 지터 (추정치의 분산), 감소된 바이어스, 및 형상 특징 추정치들의 향상된 정확성을 포함한다. 일부 구현 이점들은, 셀폰 및 태블릿과 같은 현재 터치 패널 호스팅 디바이스들에서 발견되는 감소된 전력 소비, 및 병렬 처리에 더 적합하다는 것을 포함할 수도 있다. 병렬 프로세서들의 예들은 NEON 어레이 프로세서, DSP 및 OpenCL 가능 그래픽스 엔진들을 포함한다. 일부 구현들에서, 적어도 2개의 프로세서들 또는 처리 코어 (processing core) 들이 병렬 프로세서들로서 동작될 수 있다. 일부 구현들에서, 본원에 설명된 특정 기법들은 병렬 처리 (예를 들어, 보다 빠른 처리) 를 위해 구성된 프로세서 상에서 유리하게 동작된다.
도 1은, 예를 들어, 호스트 기반 병렬 컴퓨팅 시스템 상의 최적 터치 추정 시스템의 예시적인 구현을 예시하는 개략도 (100) 이다. 도 1에 그리고 또한 도 7 내지 도 10 에 예시된 다양한 기능 블록들은 어떤 기능을 수행하는 컴포넌트들 또는 모듈들을 나타낸다, 예를 들어, 그것들은 터치 위치 추정 처리를 결정하는 어떤 방법을 수행하도록 프로세서를 구성하거나 또는 동작시키는 명령들을 포함할 수도 있다. 그러한 시스템은 입증된 향상된 성능을 갖는 새로운 터치 센서 처리 알고리즘들을 포함한다. 시스템은 어레이 프로세서 (이를테면 Neon), DSP, 및 OpenCL 및 CUDA 를 지원하는 그래픽스 엔진을 포함한, 오늘날의 터치 호스트들 상에서 이용가능한 병렬 처리를 이용하여 향상된 알고리즘을 구현하는 새로운 방식을 제공한다.
도 1에 예시된 바처럼, 시스템은 사용자의 터치 패널 입력 (105) 을 수신한다. 터치 패널 입력 (105) 은 복수의 데이터 포인트들을 포함할 수도 있다. 시스템은 복수의 데이터 포인트들을 다운샘플링 (110) 하여, 조대 오브젝트들을 위한 질량의 중심 추정치 (115) 를 결정하고 조대 오브젝트 최종 추정치 (120) 를 제공하는 컴포넌트에 제공하도록 구성된 컴포넌트를 포함할 수도 있다. 도 1 에 예시된 시스템에서, 복수의 데이터 포인트들 (터치 패널 입력 (105)) 이 또한 미세 오브젝트 검출 컴포넌트에 제공되고, 이 미세 오브젝트 검출 컴포넌트는 또한 (예를 들어, 조대 오브젝트들을 위한 질량의 중심 추정치 (115) 컴포넌트에 의해) 조대 오브젝트가 제거된 (125) 다운샘플링된 데이터의 입력을 수신하고 그러한 입력을 사용하여 미세 오브젝트 검출 (130) 을 수행한다. 예시된 바처럼, 멀티프로세서 (135) 는 미세 오브젝트 검출 컴포넌트로부터 정보를 수신하고 최적 미세 오브젝트 추정치 (140) 를 제공한다.
본원에 설명된 실시형태들의 일부는, 터치 프로브가 터치 패널의 에지를 떠날 때에도 추정된 센트로이드가 바이어스되지 않을 특성을 가질 수도 있다. 또한, 일부 실시형태들은, 짝수보다는, 홀수의 터치 센서들을 전송 또는 수신 방향으로 가짐으로써 구별될 수도 있다. 예를 들어, 고르게 4mm +/- 1mm 떨어져 있는 (전송 또는 수신 방향에서) N 개의 손가락 센서들이 있도록 다수의 터치 센서들이 놓여질 수도 있다. 다음으로, M 개 센서들이 N 개 손가락 센서들의 각각 사이에 삽입되면, 전체 수 N + M*(N-1) 의 센서들이 존재할 수도 있다. 따라서, 이것은, N 또는 M 중 적어도 하나가 홀수인 한 홀수의 전체 센서들을 낳을 수도 있다.
다음은 현재 발명의 실시형태들이 다룰 수도 있는 문제의 예이다. 패널 표면은 그 표면 상의 많은 포인트들에서 2차원 (2D) 커패시턴스를 측정할 수도 있다. 이렇게 하여, 패널 표면 상의 로케이션 (x 0 + y 0 ) 에서의 높은 커패시턴스 터치 프로브는 표면의 커패시턴스 측정에 대해 2D 커넬 함수를 부과할 수도 있다. 그러한 터치 프로브의 측정은 등식 1에 의해 나타낼 수도 있다:
Figure 112016085838014-pct00002
식중, c(x,y) 는 터치 프로브의 측정이고, k(x,y) 는 정전 표면 상의 터치 프로브를 나타내는 커넬 함수이고, x0 는 터치의 로케이션이고 n은 노이즈 항이다. 단순화를 위하여, 그리고 일반성의 손실 없이, 이 등식은 1차원 (1D) 경우만을 고려함으로써 단순화될 수도 있다. 1차원 경우에, 등식 1은 다음이 된다:
Figure 112016085838014-pct00003
도 2는 측정에 대해 커넬 함수를 부과하는 로케이션 x0 = 0 에서의 "프로브" 터치의 일 예를 보여주는 그래프를 예시하고, 이 예에서 커넬 함수는
Figure 112016085838014-pct00004
이다. 터치 처리가 다루려고 하는 문제는 측정들 C = {c(xi), i = 0 ... N} 에 기초한 터치 로케이션 x0 을 추정하는 법이다.
종래 터치 처리의 몇몇 이슈들
종래 터치 처리는 커넬 함수를 터치 프로브의 "질량" (mass) 으로 보고, "센트로이드" 추정으로도 알려져 있는 질량의 중심 공식을 이용하여 x0 를 추정한다:
Figure 112016085838014-pct00005
종래 터치 처리 알고리즘의 다른 관점은 그것이 k-평균 알고리즘 (k-means algorithm) 의 "센트로이드" (centroid) 라는 것이다. 하지만, 이 관점은 등식 3에서 위에 보여진 것과도 동일한 공식을 낳는다.
c(f) 가 관측의 푸리어 변환이면, 다음을 갖게 된다:
Figure 112016085838014-pct00006
식중, Const 는 상수항이고 C'(f) 가 관측 함수 (observation function) 의 푸리에 변환의 도함수이다.
종래 터치 처리의 3개의 주된 제한은, 아래에서 더 설명되는, (1) 차선의 결정, (2) 에일리어싱, 및 (3) 낮은 처리 능력을 포함한다. 이들 제한들의 3개 전부는 본원에 설명되고 예시된 시스템 및 방법들로 다루어질 수도 있고 실질적으로 최소화될 수도 있다.
차선의 결정: 커넬 함수는, 질량 측정 또는 k-평균 센트로이드가 아니라, 커패시턴스 또는 인버스 커패시턴스 측정이다. 그러므로 등식 3의 가정은 부정확하다. 특히, 큰 오브젝트들에 대해 중심부는 오브젝트 뒤쪽의 질량에 상관 없이 무한 평판 커패시턴스의 값에 빠르게 도달한다. 따라서, 예를 들어, 사용자로부터의 터치는 다수의 센서들을 활성화시킬 수도 있다. 그러나, 터치 중간에 있는 센서들이 에지에서보다 더 세게 (더 많은 힘으로) 눌러질 수도 있지만, 많은 수의 센서들-중심에 있는 것들뿐만이 아님-이 그들의 최대 커패시턴스에 도달할 수도 있다. 이렇게 하여, 질량의 중심 추정은, 대부분 또는 모든 센서들이 그들의 최대 커패시턴스에 도달했을 수도 있으므로, 질량의 중심을 최적으로 결정하기에 충분한 정보를 갖지 않을 수도 있다.
에일리어싱: 등식 4에 보여진 바처럼, 푸리어 변환이 f=0 에서 손상 (corrupt) 되면 에일리어싱이 일어난다. 이 에일리어싱은, x-도메인에서의 샘플링이 나이퀴스트 주파수 (Nyquist frequency) 보다 작으면, 일어난다. 많은 신호 처리 애플리케이션들을 위해, 샘플링은 적어도 2*나이퀴스트만큼 자주 일어나야 하는데 (나이퀴스트 주파수의 1/2 에서의 샘플링), 이 주파수는, f=0 성분에서뿐만 아니라, 스펙트럼의 모든 부분에서 에일리어싱을 피하기 위하여 필요할 수도 있다. 하지만, 더 넉넉한 전체 나이퀴스트 주파수에서의 샘플링 조차도 종래 터치 처리에서 에일리어싱을 초래할 수도 있다.
낮은 처리 능력: 종래 터치 처리는 통상적으로 낮은 전력의 마이크로프로세서에서 구현된다. 그러한 낮은 전력의 마이크로프로세서들은 등식 3에서 질량의 중심 공식과 같은 더 단순한 공식들이 가능할 수도 있다. 하지만, 가령, 커넬 함수에 대해 매칭된 2D 필터링을 필요로 하는 터치 처리를 위한 더 나은 방법이 개발되면, 이들 마이크로프로세서들은 향상된 알고리즘들을 핸들링할 연산 능력을 갖지 못할 수도 있고, 양호한 전력 효율로 알고리즘을 구현하는 것이 가능하지 않을 수도 있다.
최대 우도 터치 처리의 논의
몬테 카를로 시뮬레이션 (Monte Carlo simulation) 이 최대 우도 추정 (maximum likelihood estimate) 들을 연구하는데 사용될 수도 있다. 다음의 몬테 카를로 시뮬레이션의 목적을 위하여, 등식 2에서 1D 공간에서의 커넬 함수는 가우시안이고, 등식 5 에 나타낸 w의 폭 팩터 (width factor) 를 갖는다고 가정한다:
Figure 112016085838014-pct00007
게다가, n은 독립적으로 동일하게 분산된 (IID) 가우시안이고 분산은 등식 6에 나타낸다고 가정한다:
Figure 112016085838014-pct00008
이 몬테 카를로 시뮬레이션을 위해, 1차원 터치 패널은 x=-2, -1, 0, 1 및 2 의 x 값들에서의 센서들로 셋업될 수도 있다. 이들 몬테 카를로 시뮬레이션에 기초하여, 도 3 내지 도 6을 포함하여, 다수의 플롯들이 준비될 수도 있다. 이들 플롯들에서, 진정한 위치는 x 축에 나타나 있는 한편, 추정의 예상 값은 y 축에 나타나 있다. 이들 플롯들은 터치 로케이션을 추정하는 여러 방법들간의 차이를 예시한다.
이들 플롯들 각각에서, 종래 센트로이드 추정의 예상 값은 별 심볼들을 포함하는 선에 의해 나타낸다. +/- 1 표준 편차의 오차 막대 (error bar) 가 또한 플롯에 포함된다. 최대 우도 추정은 원 심볼들을 포함하는 선에 의해 나타낸다. 또, +/- 1 표준 편차의 오차 막대가 또한 플롯 상에 포함된다. 마지막으로, 직선이 또한 플롯 상에 포함된다. 바이어스되지 않은 추정은 이 직선 상에 떨어져야 한다.
도 3은, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프 (300) 를 예시한다. 이 예에서, W=1의 폭에 대해, 그리고 SNR=25 의 신호대노이즈비로, MLE 추정치 및 종래 질량의 중심 (센트로이드) 추정치 양자 모두가 낮은 지터를 갖는 바이어스되지 않은 추정치를 제공하는 것을 알 수 있다. 따라서, 이 터치 폭으로 그리고 이 신호대노이즈 비로, 양쪽 모두의 기법은 잘 작동할 수도 있다.
도 4는, 신호대노이즈비가 25db 로부터 10db 로 낮아진 것을 제외하고는, 그래프 300 에서와 동일한 조건들을 갖는 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프 400 를 예시한다. 그래프 400 에서, MLE 추정치를 위한 오차 막대는 종래 질량의 중심 (센트로이드) 추정치로부터의 오차 막대보다 더 작다. 이것은, MLE 추정치가 질량의 중심 추정치보다 현저히 더 낮은 지터를 포함한다는 것을 나타낸다. 또한, MLE 추정치는, 직선 상에 머무르므로 바이어스되지 않는 반면, 질량의 중심 추정치는 바이어스되고 직선으로부터 멀리 벗어난다.
도 5는, 그래프 300 에서처럼, 폭 W=1.0 및 SNR = 25.0db 의 신호대노이즈비를 갖는, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프 500 의 다른 예를 예시한다. 하지만, 그래프 500 는 위치를 x=0 에서 x=2.5 까지 쭉 연장시킨다. 맨우측 터치 센서가 진정한 위치 x=2 에 있으므로, 이것은 센트로이드 추정이 그 한계를 넘는 센트로이드들을 추정할 수 없다는 것을 의미한다. 하지만, 센트로이드 추정은 x=2 에서의 진정한 에지 전에 에지 바이어스를 나타낸다. 그래프 500 에 예시된 바처럼, MLE 는 에지 바이어스 문제에 대한 해법을 제공한다.
도 6은, SNR = 25.0db 의 신호대노이즈 비를 갖는, 터치의 진정한 위치의 함수로서 터치 센서 상의 터치의 추정된 위치의 그래프 600 의 다른 예를 예시하고, 여기서 커넬의 폭 (W 파라미터) 가 0.25 로 감소된다. 이 더 얇은 커넬로는, 나이퀴스트 주파수에 대하여 위에서 논의된 특수한 샘플링 주파수는 에일리어싱을 피하기에 더 이상 충분하지 않을 수도 있다. 이 더 얇은 커넬 때문에, 바이어스는 종래의 질량의 중심 추정치를 낳을 것이다. MLE 및 질량의 중심 (센트로이드) 추정치들 양자 모두는 낮은 분산을 갖지만, 종래 질량의 중심 (센트로이드) 추정치는 바이어스에 기인하여 추가적인 부정확성을 초래할 것이다. 따라서, 그래프 400, 그래프 500 및 그래프 600 는 모두, MLE 기법이 종래 질량의 중심 기법들보다 현저히 더 잘 수행하는 예시적인 상황들을 예시했다.
최적 터치 처리에 대한 특정 해법
최대 우도 등식의 해는, 내려지는 가정에 의존한다. 위의 몬테 카를로 시뮬레이션에서, 노이즈는 독립적이고 동일하게 분포된 (IID) 가우시안이므로, 최대화 등식 (상수가 제거된 로그 우도 등식) 이 등식 8에 나타나 있다:
Figure 112016085838014-pct00009
특정 도메인 조건들에서,
Figure 112016085838014-pct00010
Figure 112016085838014-pct00011
항들은 등식 8 에서 빠질 수 있고, 등식 9에 나타낸 매칭된 필터가 남는다:
Figure 112016085838014-pct00012
하지만, 등식이 이런 식으로 단순화될 수 있게 할 수도 있는 조건들은 x- 및 y- 방향들에서 소수의 센서들을 갖는 2D 터치 패널에서는 존재하지 않을 수도 있다. 또한, 병렬 연산 환경을 사용할 때, 등식 8의 등식이 등식 9의 매칭된 필터 등식보다 더 문제가 되는지 명확하지 않다. 따라서, 일부 양태들에서, 그러한 단순화들은 필요하지 않을 수도 있다.
터치 처리의 호스트 프로세서 기반 구현에서, 송신되는 비트들의 수를 제한함으로써 센서 아날로그 제어기 프론트 엔드 (AFE) 로부터 호스트 프로세서로의 데이터의 대역폭을 제한하는 것이 유리할 수도 있다. 이 경우에, 이전의 가우시안 노이즈 근사법은 차선이 될 수도 있다. 따라서, 푸아송 및 2항 노이즈 환경을 위한 최적 터치 검출기를 고려하는 것이 유익할 수도 있다. 푸아송 경우를 위해, 등식 10 에 나타낸 관측을 위한 확률 분포 함수를 갖는다:
Figure 112016085838014-pct00013
식중, n은 배경 노이즈 레벨이다. 이 경우에서, 최대화 등식 (상수 항이 제거된 로그 우도) 는 등식 11에 나타나 있다:
Figure 112016085838014-pct00014
푸아송 분포의 문제는 c(x i ) 가 제한된 대역폭 송신 라인에 대한 최대 값보다 더 큰 경우 오버플로우의 확률이 있다는 것이다. 일부 양태들에서, 이것이 일어날 확률은 낮을 수도 있지만, 어떤 때, 이를테면 강한 소스가 터치 패널에 접촉할 때, 이 확률은 현저해질 수도 있다. 예를 들어, 그러한 소스는 AC 라인 또는 정전 방전을 포함할 수도 있다. 따라서, 이들 제한 확률들을 더 잘 수용할 수 있는 분포 함수는 다항 분포이다.
하지만, 다항 최대 우도의 최적 해는 이항 공간에서 커넬 함수의 모델 없이는 결정될 수 없다. 예를 들어, 이항 MLE 가 어떻게 적용될 수도 있는지를 보여주는 프로토타입으로서 단순화된 경우를 풀 수도 있다.
예를 들어, 어떤 수의 심볼들 M 에 대해 c(x i ) 가 0 내지 M-1 의 정수 값일 수도 있다고 가정한다. 또한, 다음의 조건부 확률이 참이라고 가정한다:
Figure 112016085838014-pct00015
여기서, p>0, q>0, 및 p + (M-1)q = 1. 이들 조건들이 참인 경우, 다음과 같다:
Figure 112016085838014-pct00016
ns, s=0, 1, … M-1 가 심볼 s 가 관측되는 횟수인 경우, Nequal 는 횟수 c(x i )k(x i ) 와 동일한 횟수이고, Nnotequalc(x i )k(x i ) 와 동일하지 않은 횟수이다. 이들 가정에 기초하여, 최대화 함수 (상수 항이 제거된 로그 우도 ) 는 다음에 의해 주어진다:
Figure 112016085838014-pct00017
커넬 함수 추정
정전 터치에 적용될 때, 등식 8, 11 및 14와 같은 MLE 해법들의 하나의 문제는, 터치 커넬 함수 (이를테면 도 2에서
Figure 112016085838014-pct00018
) 가 매우 높은 정확성으로 추정될 수 없다면 시스템은 효과가 없을 수도 있다는 것이다. 따라서, 도 4, 5 및 6 의 몬테 카를로 실험들에서 보여진 성능 개선을 보지 못하게 될 수도 있다. 올바른 커넬 함수를 구하는 것은, 터치 패널의 동일한 제조 배치로부터 물리적 패널에의 변동, 상이한 스타일러스 및 손가락들 간의 변동, 그리고 심지어 상이한 스타일러스 위치 내에 변동들과 같은 많은 이유들로 어려울 수도 있다. 따라서, 실제 MLE 해법을 구현하기 위하여 실시간 커넬 함수 추정의 문제를 해결하는 것이 유익할 수도 있다. 이 문제에 대한 다수의 가능한 해법들이 사용될 수도 있고 다음의 시스템들은 효과가 있는 결과들을 산출하였다.
고정된 스타일러스: 고정된 스타일러스는 특정 스타일러스가 주어진 터치 패널과 쌍을 이루고, 항상 그 터치 패널과 사용된다는 것을 의미할 수도 있다. 예를 들어, 제조자는 디바이스와 함께 특정 스타일러스 또는 펜슬 리드와 같은 특정 스타일러스를 포함하고 이의 사용을 요구할 수도 있다. 고정된 스타일러스의 경우에, 상세한 커넬 함수는 각 센서의 응답을 측정하기 위하여 로봇을 이용하여 측정될 수 있다.
각 센서의 응답에 기초하여, 응답 맵이 생성될 수도 있다. 응답 맵은 x- 및 y- 양쪽 모두의 방향들에서의 각 측정 간에 0.01mm 의 밀도에서 하나 이상의 센서들 주변 2x2mm 정사각형 상에서 응답을 측정하기 위하여 타겟 (고정) 스타일러스를 사용하는 것에 의해 생성될 수 있다. 이것은 그 프로브를 위한 "0.01mm 밀도 커넬" 로 지칭될 수도 있다. 이 커넬 추정에서 스타일러스는 스타일러스와 터치 패널 사이의 직각 (90 도) 에서 터치 패널에 접촉할 수도 있다.
또한, 0.01mm 밀도 커넬은 스타일러스와 터치 패널 사이의 상이한 각도에서 동일한 패널에 대해 생성될 수도 있다. 이것은, 동일한 스타일러스가 동일한 터치 패널에 접촉하는 상이한 각도에 기초하여, 상이한 응답 맵들을 드러낼 수도 있다.
90 도 각도 시나리오 및 하나 이상의 다른 각도들, 이를테면 45도 양자 모두에 대해 0.01mm 밀도 커넬을 생성한 후에, 90 도 스타일러스의 커넬 함수를 비스듬한 각도의 (angled) 스타일러스의 커넬 함수로 이동시킬 수도 있는 변환을 구하는 것이 바람직할 수도 있다. 예를 들어, 2D 로우 패스 스플라인 필터링이 커넬을 위한 최선의 근사 변환을 구하기 위하여 사용될 수도 있다.
상이한 터치 패널들은 서로 상이한 RC 시간 상수를 가질 수도 있다. 예를 들어, 이것은 상이한 패널들의 제조에 있어서의 변동에 의해 야기될 수도 있다. 이들 RC 시간 상수 차이 때문에, 상이한 터치 패널들은 상이한 커넬 함수들을 가질 수도 있다. 따라서, 각 새로운 패널에 대하여, 성긴 (sparse) 0.1mm 커넬 함수를 생성하는 것이 유익할 수도 있다 (이 커넬 함수는 위의 0.01mm 커넬 함수에 비해 성기다). 다음으로, 2D 로우 패스 스플라인 필터링을 사용하는 것은 위의 성긴 0.1mm 커넬 함수 및 고밀도 0.01mm 커넬 함수에 기초하여 각 패널에 대해 팩토리 기반 터치 패널 특수 커넬들을 생성하기 위해 사용될 수도 있다.
고정된 미지의 프로브: 일부 양태들에서, 일부 터치 스크린들은 어떤 특수한 스타일러스 또는 프로브를 위해 설계되지 않을 수도 있다. 예를 들어, 어떤 터치 스크린들은 사용자의 손가락에 의해 사용되도록 의도될 수도 있다. 사용자의 터치는 터치 마다, 그리고 사용자 마다 다를 수도 있다. 또한, 각 터치 스크린 자체는 제조에 있어서 어떤 레벨의 변동을 가질 수도 있으며, 이는 상이한 커넬들을 낳을 수도 있다. 하지만, 설계된 특수한 프로브를 갖지 않는 시스템에서도, 여러 알려진 커넬 함수들의 뱅크를 사용하는 것에 의해 센트로이드 추정들에 비해 향상된 성능을 획득하는 것이 여전히 가능하다. 예를 들어, 이들 커넬 함수들은 위에서 처럼, 그러나 상이한 손가락들 (또는 손가락을 시뮬레이션하는 사물) 및 상이한 스타일러스와 같은 상이한 타입의 입력을 사용하여 생성될 수도 있다. 따라서, 다수의 그러한 커넬 함수들이 저장되어, 저장된 커넬 함수들이 센트로이드 추정에 비해 성능을 향상시킬 수도 있다. 일반적으로, 부정확한 커넬 함수들은 스퓨리어스 스파이크를 가질 수도 있는 반면, 정확한 커넬 함수는 상단, 하단, 좌측 및 우측으로부터 접근될 때 스타일러스 로케이션에 이르기까지 매끄러울 수도 있다.
최적 터치 처리 시스템의 특정 구현
위의 3개 최적 해법들 (등식 8, 11 및 14) 에 기초하여, 이들 통상적인 MLE 해법들은, 터치 제어 마이크로프로세서 상에서 효율적으로 구현될 수 없는 많은 양의 로컬 연산을 포함할 수도 있지만, 이들 등식들은 병렬 처리에 잘 맞을 수도 있다는 것이 관측될 수도 있다. 등식 14에 주어진 다항 문제에 대한 최적의 해법이 상대적으로 간단하다는 것을 관측할 수도 있지만, 이것은 단지 등식 12가 비현실적으로 단순한 등식을 이루기 때문이다. 더 많은 노이즈를 갖는 다항 관측과 같은 터치 커넬 함수의 보다 현실적인 모델링에서, 이것은 위의 가우시안 (등식 8) 및 푸아송 (등식 11) 예들의 정도의 연산상 복잡성을 갖는 MLE 해법들을 낳을 것이다. 본 개시는, 이를테면 병렬 연산 엘리먼트가 사용될 때, 터치 처리의 효율성을 촉진시킬 수도 있는 몇개의 핵심 구현들을 포함한다.
질량의 중심 추정 후 병렬 검색
도 7은 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하도록 구성된 시스템의 구현을 예시하는 블록도 (700) 이다. 먼저, 터치 패널 입력 (705) 이 수신될 수도 있다. 예를 들어, 터치 패널 입력은 터치 프로세서에 의해 또는 터치 패널 입력 (705) 을 수신하도록 구성된 병렬 연산 엘리먼트에 의해 수신될 수도 있다. 터치 패널 입력 (705) 에 기초하여, 질량의 중심 추정치 (710) 가 결정될 수도 있다. 이 결정은 위에 설명된 기법들을 이용하여, 이를테면 수신된 터치 입력들의 질량의 중심을 계산하기 위해 등식 3을 이용하여 행해질 수도 있고, 최적 터치 출력을 결정함에 있어서 제 1 세트를 나타낼 수도 있다. 일부 양태들에서, 등식 3은 또한, 다운샘플링된 터치 입력들을 이용하여 질량의 중심을 계산하는데 사용될 수도 있다. 이것은 등식 3을 사용하여 위하여 필요한 연산의 수를 감소시킬 수도 있다.
질량의 중심 추정치 (710) 를 결정한 후에, 시스템은 또한, 터치 패널 입력 (705) 의 신호대노이즈 비, 터치 패널 입력 (705) 의 에일리어싱의 추정치, 및 터치로부터 패널의 에지까지의 거리 (715) 를 수신하거나 또는 결정할 수도 있다. 이 정보는 검색 센트로이드 오차 (720) 를 추정하는데 사용될 수도 있다. 도 3 내지 6에 보여진 바처럼, SNR, 에일리어싱, 및 에지까지의 접근을 고려해 볼때 검색 반경을 추정하는 것이 매우 연산적으로 어렵지 않을 수도 있다. 입력 데이터에 따라, 검색 반경 (730) 을 결정하기 위하여 검색이 필요할 수도 있거나 또는 그렇지 않을 수도 있다. 질량의 중심의 초기 추정치 (725) 및 검색 센트로이드 오차 (720) 로부터 추정된 검색 반경 (730) 양자 모두는 병렬 프로세서가 병렬 프로세서 최적 추정치 (735) 를 결정하기 위하여 병렬 프로세서에 송신될 수도 있다. 예를 들어, 이 추정치는 등식 8, 11 또는 14에 나타낸 것과 같은 최대화 등식을 이용하여 만들어질 수도 있다. 최종적으로, 이 최적 추정치는 시스템의 출력 (740) 이 될 수도 있다. 일부 양태들에서, 최적 추정치는, ARM Neon, DSP, 및 OpenCL 가능 그래픽스 시스템과 같은 어레이 프로세서를 포함한, 터치 호스트 시스템에 있는 병렬 CPU를 통해 연산될 수 있다.
질량의 중심 추정 후 감소된 대역폭 검색
도 8은 터치 패널 신호 입력 (805) 으로부터 최적 터치 출력을 결정하도록 구성된 시스템의 다른 구현을 예시하는 블록도 (800) 이다. 이 시스템에서, 전체 연산은 터치 패널 입력을 다운샘플링하는 것에 의해 그리고 "조대 오브젝트"에 대해 종래 질량의 중심 추정을 이용한 처리에 의해 감소될 수도 있다. 조대 오브젝트들은 높은 SNR 를 갖고 에일리어싱 효과를 갖지 않는 큰 오브젝트들이다. "조대 오브젝트" 에 대한 종래 질량의 중심 알고리즘의 거동은 통상적으로 그래프 300에 보여진 것이고 최적 추정치와 동일하다. 따라서, 이들 오브젝트들에 대해 질량의 중심 기법들을 이용하는 것은 정보의 손실 또는 바이어싱/에일리어싱 곤란성을 일으키지 않을 수도 있고, 그러한 오브젝트들에 대해 MLE 기법을 사용하는 것보다 연산적으로 더 간단할 수도 있다.
하지만, 얇은 스타일러스, 펜슬, 오브젝트 형상 및 지문과 같은 "미세 오브젝트" 는 최적 추정치에 대한 필요성이 더 크다. 따라서, 조대 오브젝트가 먼저 터치 공간으로부터 제거될 수도 있고 다음으로 "미세 오브젝트 검출" 이 최적의 방법을 이용하여 고 해상도 터치 패널 입력에 적용된다.
블록도 800 에서, 터치 패널 입력 (805) 은 다운샘플링 (810) 될 수도 있다. 이것은, 이 다운샘플링을 뒤따르는 동작들의 연산상 복잡성을 감소시키는 것을 도울 수도 있다. 예를 들어, 다운샘플링된 데이터는 한정된 수의 터치 패널 입력 (805) 만을 포함할 수도 있다. 예를 들어, 다운샘플링된 데이터는 오직 모든 4번째 터치 패널 입력 (805) 또는 기타의 부분만을 포함할 수도 있다. 일부 양태들에서, 이 다운샘플링은, 스크린의 각 부분이 동일한 방식으로 다운샘플링되도록 고른 방식으로 행해질 수도 있다. 예를 들어, 다운샘플링은 터치 패널 입력 (805) 의 기본 해상도를 감소시키는 효과를 가질 수도 있다. 하지만, 위에 논의된 바처럼, 조대 입력들의 성질에 기인하여, 다운샘플링은 조대 오브젝트을 위한 질량의 중심 추정치에 큰 효과를 갖지 않을 수도 있다. 이렇게 하여, 다운샘플링된 터치 데이터는 조대 오브젝트들 (815) 을 위한 질량의 중심 추정치에 사용될 수도 있다. 이 질량의 중심 추정치는 다운샘플링된 데이터 및 등식 3을 이용하여 만들어질 수도 있다. 이것은 상대적인 "중량" (weight) 및 각 수신된 터치 입력 또는 각 다운샘플링된 터치 입력의 로케이션에 기초하여, 터치 입력의 "질량의 중심" (center of mass) 을 추정하는데 사용될 수도 있다. 조대 오브젝트들을 위한 질량의 중심 추정치에 기초하여 그리고 다운샘플링된 터치 데이터에 기초하여, 조대 오브젝트들은 다운샘플링된 데이터로부터 제거 (820) 될 수도 있다. 예를 들어, 질량의 중심 추정치는 터치 스크린 상의 질량의 중심을 결정하는데 사용될 수도 있다. 수신된 터치 입력들에서의 노이즈에 기초하여, 질량의 중심 주변 반경이 결정될 수도 있다. 이 반경 내에 있는 터치 입력들은 조대 오브젝트라고 말할 수도 있고, 따라서 다운샘플링된 데이터로부터 제거될 수도 있다. 따라서, 조대 오브젝트들이 제거된 다운샘플링된 데이터에 기초하여 그리고 (다운샘플링이 없는) 원래 터치 패널 입력 (805) 에 기초하여, 미세 오브젝트들이 검출될 수도 있다 (830). 예를 들어, 원래 터치 패널 입력 (805) 은 질량의 중심 근처에 있지 않았던 (신호에서 노이즈로부터 떨어진) 입력이 있었던 구역들을 결정하기 위하여 분석될 수도 있다. 그러한 입력들은, 질량의 중심으로부터의 거리 및 중량 및 크기에 기인하여 조대 오브젝트라기 보다는 미세 오브젝트들이라고 말할 수도 있다. 이들 미세 오브젝트들에 기초하여, 최적 미세 오브젝트 추정치 (840) 를 결정하기 위하여 병렬 처리가 사용될 수도 있다 (830). 따라서, 이 방법은 조대 오브젝트 최종 추정치 (835) 및 최적 미세 오브젝트 추정치 (840) 양자 모두를 반환할 수도 있다. 이 미세 오브젝트 추정치는 등식 8, 11 및 14 중 어느 것과 같은 등식을 이용하여, 위에 설명된 바처럼, 행해질 수도 있다.
센서 배치; 일부 양태들에서, 센서들을 특정 방식으로, 이를테면 서로 특정 거리에 배치하는 것이 바람직할 수도 있다. 조대 오브젝트 검출을 위해, 인간의 손가락끝은 6mm 내지 10mm 직경 원에 의해 모델링될 수도 있다. 따라서, 다운샘플링 후 터치 센서 피치는 질량의 중심 연산에서 에일리어싱을 피하기 위하여 약 4mm 떨어져야 한다. 감지 또는 수신 방향에서의 센서들의 수가 N 개 이면, 업샘플링된 크기는 N개 조대 오브젝트 센서들의 각각 사이에 M개 센서들을 삽입하는 것에 의해 달성된다. 그러므로, 이런 방식으로 업샘플링한 후의 센서들의 전체 수는 아래 등식 15를 만족할 것이다:
Figure 112016085838014-pct00019
식중, N 은 4mm +/- 1mm 떨어진 조대 오브젝트 센서들의 수이고, M 은 N 개 조대 오브젝트 센서들의 각각 사이에 삽입된 센서들의 수이다.
터치 패널 아날로그 프론트 엔드 (AFE) 에서 더 높은 해상도 터치 입력 가져오기 위해 AFE API 로의 다운샘플링
도 9는 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하도록 구성된 시스템 (900) 의 다른 구현을 예시하는 블록도 (900) 이고, 여기서 입력 (910) 은 터치 패널 아날로그 프론트 엔드 (AFE) (905) 에서 더 높은 해상도 터치 입력을 가져오기 (fetch) 위해 AFE API로 다운샘플링 (915) 될 수도 있다. 이 다운샘플링된 데이터는 조대 오브젝트들 (920) 를 위한 질량의 중심 추정을 수행하는데 사용될 수도 있고, 이는 다운샘플링된 데이터에 기초하여, 터치 패널 상의 모든 터치들의 질량의 중심을 계산할 수도 있다. 이 실시형태에서, 연산은 "조대 오브젝트" 로케이션 추정에 대하여 감소되지만, 터치 패널과 포스트 프로세서 사이의 대역폭은 감소되지 않았다. 이 실시형태에서, 터치 패널의 AFE (905) 는 다운샘플링된 데이터를 제공한다. 조대 오브젝트들은, 다운샘플링된 데이터 및 질량의 중심 추정치에 기초하여, 데이터 세트로부터 제거 (925) 될 수도 있다. 예를 들어, 조대 오브젝트들은, 질량의 중심을 결정하는 것에 의해, 그리고 이 질량의 중심의 어떤 근처안에 있는 모든 터치들을 제거하는 것에 의해 제거될 수도 있다. 호스트 프로세서가 미세 오브젝트 검출 (930) 을 이용하여 미세 오브젝트들이 특정 영역들에 존재한다는 것을 결정하면, 그것은 미세 해상도 데이터가 필요한 특정 영역들을 요청하는 터치 패널에 커맨드를 전송할 수도 있다. 예를 들어, 이 더 높은 해상도 데이터는 질량의 중심 주변 영역 외의 영역들에 대해 수신될 수도 있다. 미세 오브젝트들의 검출이, 조대 오브젝트들을 위한 질량의 중심 추정과 함께, 사용되어, 병렬 프로세서 최적 추정치 (935) 를 산출할 수도 있다. 이것은 시스템 설계에 있어서 증가된 연산상 복잡성 및 처리 지연을 초래할 수도 있지만, 데이터 대역폭을 크게 감소시킬 수도 있다. 위에서 논의된 센서 배치 요건들이 이 실시형태에 적용될 수 있다.
도 10은 터치 패널 신호 입력으로부터 최적 터치 출력을 결정하고 조대 오브젝트 최종 추정치 및 미세 오브젝트 최종 추정치를 생성하도록 구성된 시스템의 다른 구현을 예시하는 블록도이다. 이 실시형태는 최적 미세 오브젝트 검출을 위한 터치 패널 아날로그 프론트 엔드 (AFE) (1005) 에서의 하드웨어 어레이 처리를 포함할 수도 있다. 이 실시형태에서, 도 9에 예시된 실시형태와 같이, 터치 패널 AFE (1005) 는 다운샘플링된 터치 출력들을 제공할 수도 있다. 예를 들어, AFE (1005) 는 터치 패널 입력 (1010) 을 수신할 수도 있고, 그 터치 패널 입력을 다운샘플링 (1015) 할 수도 있다. 도 10 에 예시된 실시형태에서, 최적 검색은 최적 추정 (1020) 을 위한 어레이 프로세서와 같은 터치 아날로그 프론트 엔드 (AFE) (1005) 내부의 전문적인 하드웨어에 의해 행해진다. 예시된 실시형태에서, AFE 는 다운샘플링 (1015) 에 연결된 터치 패널 입력 (1010) 기능 컴포넌트를 포함할 수도 있고, 이 다운샘플링 (1015) 은 다음으로 조대 오브젝트들을 위한 질량의 중심 추정 (1030) 컴포넌트에 정보를 제공하고, 이 질량의 중심 추정 (1030) 컴포넌트는 위에서 처럼, 다운샘플링되었을 수도 있는 수신된 모든 터치 입력들에 대해 질량의 중심을 추정하도록 구성될 수도 있다. 터치 패널 입력 (1010) 컴포넌트는 또한 최적화된 추정을 위한 어레이 프로세서 (1020) 컴포넌트에 연결되고, 이것은 미세 오브젝트 트래킹 컴포넌트 (1035) 에 로컬 로그 우도 최대치들의 리스트를 제공한다. AFE (1005) 는 또한, 프로그램가능 커넬 함수 (1025) 를 포함할 수도 있다. 하지만 다른 실시형태들은, 퀄컴 스냅드래곤 칩과 같은 셀/태블릿 SOC 일 수 있는 "호스트" 내부의 병렬 처리를 구현한다. 여기서 AFE (1005) 는 커넬 함수를 업로드하기 위한 능력을 포함한다. 최적화 함수는 하드웨어 어레이 프로세서를 이용하여 AFE (1005) 에서 수행된다. 대역폭을 절약하기 위하여, AFE (1005) 는 로컬 최대치들의 리스트만을 출력할 것이다. 미세 오브젝트가 존재하는지 여부, 및 그의 로케이션에 대한 최종 결정은 호스트 기반 프로세서에서 내려진다 ("미세 오브젝트 트래킹" (1035) 으로 라벨이 달린 블록. 위에서 논의된 센서 배치 요건들이 이 실시형태에 적용될 수 있다.
일부 양태들에서, MLE (Maximum Likelihood Estimator) 는 터치 패널을 위한 센트로이드 추정들의 터치 로컬화의 정확성을 향상시키기 위한 유망한 후보일 수도 있다. 터치 신호들의 분석은 터치 신호에서의 노이즈가 통상적으로 부가 가우시안 노이즈 모델 (additive Gaussian noise model) 을 잘 따른다는 것을 보여주었다. 또한, 실험 결과들은 적절한 파라미터를 갖는 가우스 커넬이 터치 포인트 주변 센서 응답을 모델링하는데 잘 맞는다는 것을 보여준다. 그럼에도 불구하고, 그러한 MLE 를 사용할 수 있기 위하여 먼저 다루어져야할 필요가 있는 여러 이슈들이 여전히 존재한다.
MLE 접근법의 하나의 이슈는 실험 결과들이 터치 신호를 피팅하기 위하여 가우시안 커넬이 틸팅 (tilting) 됨을 보여주었다는 것이다. 즉, 수평 방향에서 그리고 수직 방향에서의 변동이 상이하다. 따라서, 부정확한 파라미터들을 갖는 가우시안 커넬이 데이터를 피팅하는데 사용될 때, 명백한 바이어스가 추정 결과 상에서 관측될 수도 있다. 이로부터, MLE 의 하나의 결점은 MLE 가 커넬 형상에 대해 매우 민감하다는 것일 수도 있다는 것이 습득될 수도 있다.
MLE 접근법의 다른 이슈는 상이한 스타일러스들이 주어진 터치 스크린 상에서 사용될 수도 있다는 것이다. 또한, 펜 또는 펜슬과 같은 다른 오브젝트들이 또한 터치 스크린 상의 스타일러스로서 사용될 수도 있다. 이들 다양한 터치 디바이스들의 각각은, 이들 도구들의 각각의 터치 구역의 관측에 기초하여, 터치 처리 시스템에 의해 스타일러스로서 다루어질 수도 있다. 따라서, 사용된 MLE 모델은 고유 스타일러스에 특정되지 않아야 하는데, 그것은 터치 스크린에 적용되는 다양한 수의 가능한 스타일러스 또는 다른 도구들에 대처할 수 있고 여전히 정확한 결과들을 산출할 수 있어야 하기 때문이다.
MLE 접근법의 세번째 이슈는 상이한 사람들이 동일한 스타일러스를 서로 상이하게 잡을 수도 있다는 것이다. 또한, 동일한 사람이 상이한 일들을 할 때, 이를테면 그릴 때와 비교하여 쓸 때, 스타일러스를 상이하게 잡을 수도 있다. 상이한 사용자들간의 가장 명백한 차이는, 어떤 사용자들이 다른 사용자들보다 더 많거나 더 적은 힘을 가하는, 강도일 수도 있다. 하지만, 이보다 더 큰 이슈는, 사용자의 손가락 또는 손이 터치 스크린에 의지될 수도 있거나 또는 터치스크린에 가까이 다가갈 수도 있는 경우의 섀도우잉 효과 (shadowing effect) 일 수도 있다. 섀도우잉 효과는 스타일러스와 터치 스크린 사이의 각도가 달라짐에 따라 개인마다 크게 달라질 수도 있다. 따라서, MLE 접근법은 섀도우잉에서의 이들 차이도 역시 해결하도록 갖추어져야 한다.
일반적으로, MLE 의 연산상 복잡성을 감소시키기 위하여, MLE 추정치를 계산하는 방법은 센트로이드 추정치에 중심을 둔 구역 내의 검색에 기초할 수도 있다. 일부 양태들에서, MLE 는 연산상 복잡성을 감소시키기 위하여 가끔씩만 사용될 수도 있다. 예를 들어, MLE 는, 예를 들어, 각각의 메트릭에서 오차의 측정에 기초하여 센트로이드 추정의 정확성과 비교하여, 터치 포인트의 로컬화 정확성을 향상시킬 가능성이 클 때에만 사용될 수도 있다. 또한, 커넬 및/또는 MLE 추정자는 사용된 도구의 차이 (이를테면 상이한 스타일러스 또는 다른 터치 기구) 및 도구를 사용하는 사람의 차이에 의해 유발되는 변화하는 신호들을 피팅하기 위하여 적응될 수도 있다. 따라서, 양호한 그리고 불량한 MLE 추정치들을 구별할 수 있는 측정을 정의하는 것이 유용할 수도 있다. 하나의 가능한 측정은, MLE 가 가우시안 노이즈의 가정 하에서 평균 제곱 오차 (MSE) 로 악화될 때 MSE 의 상한을 정의하는 것이다. 예를 들어, 퀄리티 측정치 (quality estimate) 와 노이즈를 구별하기 위한 임계치로서 사용될 수도 있는 이 상한은, 버퍼링을 위한 임계치, 및 노이즈에 의해 유발되는 예상 MSE 의 합계로서 결정될 수도 있다. 오직 노이즈에 의해서 유발되는 MSE 기대치는 연속 유휴 터치 프레임들간의 평균 MSE 에 의해 계산될 수도 있다. 예를 들어, 연속 프레임들에서의 노이즈는 이 노이즈가 유발할 것으로 기대될 수도 있는 평균 제곱 오차를 결정하기 위하여 분석될 수도 있다.
또한, 터치 시스템은 일반적으로 사용되는 커넬을 위한 테이블을 유지할 필요가 있을 수도 있다. 이 테이블은 통상적으로, 상이한 알려진 각도를 갖는 몇개의 일반적으로 사용되는 스타일러스들을 포함해야 한다. 일반적으로, 많은 수의 상이한 스타일러스 및 각도를 포함하는 것이 유리할 수도 있지만, 이것은 연산상 복잡성을 현저히 증가시킬 수도 있다. 따라서, 연산상 복잡성의 제한에 기인하여, 시스템은 모든 가능한 각도를 커버하는 것이 가능하지 못할 수도 있다. 그 대신에, 시스템은, 조합하여 특정 터치를 위한 후보 커넬들의 상당한 양의 해상도를 제공할 수도 있는 여러 각도들을 제공할 수도 있다.
터치가 검출될 때, 터치 시스템은 터치 로케이션의 센트로이드 추정을 수행할 수도 있다. 이 다음에, 포괄적인 검색이 (센트로이드 추정에 의해 결정되는) 터치 포인트 주변에서 수행될 수도 있다. 예를 들어, 후보 MLE 모델들의 각각은, 유지된 테이블에 저장될 수도 있고, 각각의 모델은 터치 로케이션을 결정하려고 시도하는데 사용될 수도 있다. 이들 MLE 모델의 각각에 대하여, MSE 가 결정될 수도 있다. 최저 MSE 를 갖는 모델이 양호한 후보로서 선택될 수도 있다. 최저 MSE 를 갖는 모델의 MSE 는 임계치와 비교될 수도 있다. MSE 가 이 임계치보다 크면, 센트로이드 추정으로부터 바이어스의 제거에 있어서 "오버슈팅" 을 피하는 것을 도울 수도 있는, MLE 모델보다는 센트로이드 추정이 사용될 수도 있다.
시스템이 MLE 모델 또는 센트로이드 추정을 사용하는 지에 상관 없이, 터치 시스템은 또한, 적응적 모델을 구축하도록 구성될 수도 있다. 이 적응적 모델은 가우시안 모델을 취할 수도 있고, 현재 프레임까지 터치가 검출되는 제 1 프레임으로부터 데이터를 사용하여, 가중된 샘플 추정치들을 통해 추정된 공분산 행렬을 사용할 수도 있다. 덧붙여, 터치와 가장 가까운 터치 센서 사이의 거리는 프레임마다 다를 수도 있다. 따라서, 커넬의 피크 값의 양호한 추정은 지금까지의 최대 센서 응답 마이너스, 시스템에서 노이즈의 표준 편차의 합당한 배수에 기초할 수도 있다. 다른 모델에 대해 계산된 MSE 와 유사하게, 적응적 모델을 위해 MSE 가 계산될 수도 있다. 적응적 모델의 MSE 는 최선 (예를 들어, 최소 오차) MLE 모델의 MSE 및 센트로이드 추정의 MSE 와 비교될 수도 있다. 적응적 모델이 MLE 모델 및 센트로이드 모델보다 더 나은 MSE 를 가질 때, 그 적응적 모델은 테이블에 저장될 수도 있다. 이 때까지, 테이블은 이전과 동일하게 유지될 수도 있고 적응적 모델은 테이블에 저장되지 않을 수도 있다. 테이블은 저장 용량에 의해 제한될 수도 있기 때문에, 최소 선택 기회를 갖는 모델들은 테이블이 꽉차고 새로운 모델이 저장될 때 테이블로부터 제거될 수도 있다. 예를 들어, 매우 높은 MSE 를 산출하거나 또는 드물게 선택된 모델들은 보다 새로운 적응적 모델들에 유리하게 제거될 수도 있다.
MLE 의 하나의 이점은 MLE 가, 이를테면, 사용자가 스타일러스를 사용하고 있을 때처럼 사용자의 손이 스크린에 가까울 때, 섀도우잉 효과에 대처하는데 효과적일 수도 있다는 것이다. 일반적으로, 스크린의 특정 구역들 상에서 특정 방향으로 (이를테면 사용자의 손의 방향으로) 추가 테일 (tail) 을 갖는 섀도우잉은 노이즈보다 더 높은 응답을 나타낼 것이다. 이 테일의 진폭은 랜덤 노이즈보다 조금 더 클 수도 있지만, 터치 포인트에 가까운 센서들의 응답보다 현저히 더 작을 수도 있다. 따라서, MLE 추정자들은 이 테일에 의해 왜곡될 센트로이드 추정치들보다 터치 위치를 위한 더 나은 추정치를 찾을 가능성이 훨씬 더 높다. 예를 들어, 센트로이드 추정치는 섀도우잉 효과가 터치 포인트의 일 측에서만 일어나기 쉽기 때문에 오프 (off) 될 수도 있으며, 이는 센트로이드 추정치를 스로우 오프 (throw off) 할 수도 있다. 하지만, MLE 방법을 사용하여, 이들 이상점 (outlier) 들은 터치 로케이션의 정확성을 향상시키기 위하여 터치 포인트로부터의 거리 계산에 기초하여 제거될 수도 있다.
도 11은 본 개시의 양태들에 기초하여 최적 터치 포인트 위치를 결정하는 예시적인 방법 (1100) 을 예시한다. 이 방법은, 터치 스크린으로부터 수신된 입력들에 기초하여 터치 로케이션을 보다 정확하게 결정하기 위하여, 디바이스의 프로세서 또는 터치 프로세서에서, 터치 디바이스와 같은 디바이스에 의해 사용될 수도 있다.
블록 1110 에서, 그 방법은 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신한다. 예를 들어, 그 방법은, 터치 스크린 상의 다수의 터치 픽셀들의 각각으로부터, 그러한 픽셀들이 터치되었는지 여부, 그리고 어떤 양인지를 나타내는 표시들을 수신할 수도 있다. 일부 양태들에서, 복수의 데이터 포인트들을 수신하는 수단은 프로세서를 포함할 수도 있다.
블록 1120 에서, 그 방법은 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정한다. 예를 들어, 데이터 포인트들의 각각은 스크린의 그 특정 로케이션에 가해진 힘에 기초하여 "중량" 을 결정하는데 사용될 수도 있다. 따라서, 이들 중량들은 터치 스크린 상의 터치 로케이션의 질량의 중심 추정치를 형성하기 위하여 평균내어질 수도 있다. 일부 양태들에서, 이것을 결정하는 수단은 프로세서를 포함할 수도 있다.
블록 1130 에서, 그 방법은 질량의 중심 추정치에 기초한 검색 구역을 결정한다. 이 검색 반경은, 예를 들어, 터치 스크린 상의 질량의 중심 추정 로케이션에 중심을 둘 수도 있다. 검색 구역은 터치 스크린 상의 그 로케이션에 중심을 둔 원일 수도 있다. 원의 반경은, 예를 들어, 고정 값 또는 스크린의 고정 비율일 수도 있다. 일부 양태들에서, 원의 반경은 수신된 신호에서 계산된 노이즈 양에 기초할 수도 있다. 예를 들어, 수신된 신호 (복수의 데이터 포인트들) 에 더 많은 노이즈가 있을 때, 더 큰 검색 반경을 사용하는 것이 유익할 수도 있다. 일부 양태들에서, 검색 구역을 결정하는 수단은 프로세서를 포함할 수도 있다.
블록 1140 에서, 복수의 최대 우도 추정 모델들의 각각에 대해, 그 방법은 복수의 최대 우도 추정 모델들의 최대 우도 추정 모델을 사용하여 질량의 중심 추정치 및 검색 반경에 기초하여 터치 로케이션 추정치를 결정하고 최대 우도 추정 모델을 사용하여 결정된 터치 로케이션의 오차를 계산한다. 예를 들어, 오차는 위에서 논의된 바처럼, 평균 제곱 오차 값을 포함할 수도 있다. MLE 모델들의 각각은 테이블에 저장될 수도 있다. 일부 양태들에서, 터치 로케이션을 결정하고 오차를 계산하는 수단은 프로세서일 수도 있다.
블록 1150 에서, 그 방법은 계산된 오차들에 기초하여, 복수의 최대 우도 추정 모델들로부터 어느 터치 로케이션 추정치가 최선인지를 결정한다. 즉, 그 방법은 계산된 오차들에 기초하여, 복수의 최대 우도 추정 모델들로부터 터치 로케이션 추정치를 선택한다. 즉, 복수의 최대 우도 추정 모델들로부터 어느 터치 로케이션 추정치들이 최저 계산 오차를 갖는지에 기초한다. 예를 들어, 계산된 오차들의 각각은 서로 비교될 수도 있고, 최저 오차를 산출하는 MLE 추정치가 최선의 (예를 들어, 최저 결정 오차를 갖는) 터치 로케이션 추정치인 것으로 결정될 수도 있다. 일부 양태들에서, 결정하는 수단은 프로세서를 포함할 수도 있다.
블록 1160 에서, 그 방법은 최선의 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정한다. 예를 들어, 이 비교는, 최적 터치 포인트 위치가 MLE 추정 위치, 또는 센트로이드 추정 위치 중 하나라는 것을, 그들의 상대적인 오차 레벨들을 비교하는 것에 기초하여, 결정할 수도 있다. 일부 양태들에서, 결정하는 수단은 프로세서를 포함할 수도 있다.
도 12는 터치 센서 (1215) 에 동작되게 연결된 프로세서 (1220) 를 포함하는, 컴포넌트들의 세트를 갖는 디바이스 (1200) 의 하이레벨 블록도를 도시한다. 작업 메모리 (1205), 스토리지 (1210) 및 메모리 (1230) 는 또한, 프로세서와 통신하고 프로세서에 동작되게 어태치 (attach) 된다. 디바이스 (1200) 는 터치 입력을 수신하고, 그러한 터치 입력의 로케이션을 결정하도록 구성된 디바이스일 수도 있다. 예를 들어, 디바이스 (1200) 는, 터치 스크린을 갖는 디바이스, 이를테면 컴퓨터, 랩톱 컴퓨터, 디지털 카메라, 모바일 폰, 태블릿 컴퓨터, 또는 다른 디바이스일 수도 있다.
터치 센서 (1215) 는, 터치 스크린 상의 입력들과 같은 다수의 터치 입력들을 캡처 또는 수신하도록 구성될 수도 있다. 이들 입력들의 각각은, 스크린 상의 로케이션과, 그리고 스크린 상의 특정 압력과 연관될 수도 있다. 터치 센서 (1215) 는 프로세서 (또는 "터치 프로세서") (1220) 에 연결될 수도 있다. 프로세서 (1220) 는 터치 입력의 위치를 계산하기 위하여 수신된 터치 입력들에 대해 다양한 동작들을 수행하도록 구성될 수도 있다.
프로세서 (1220) 는 범용 처리 유닛 또는 본 개시의 방법들을 위해 특수하게 설계된 프로세서일 수도 있다. 도시된 바처럼, 프로세서 (1220) 는 메모리 (1230) 및 작업 메모리 (1205) 에 접속될 수도 있다. 예시된 실시형태에서, 메모리 (1230) 는 센트로이드 추정 모듈 (1235), 최대 우도 추정 모듈 (640) 및 운영 시스템 (650) 을 저장한다. 이들 모듈들은 다양한 태스크들을 수행하도록 프로세서를 구성하는 명령들을 포함한다. 작업 메모리 (1205) 는 메모리 (1230) 의 모듈들에 포함된 프로세서 명령들의 작업 세트를 저장하기 위하여 프로세서 (1220) 에 의해 사용될 수도 있다. 대안적으로, 작업 메모리 (1205) 는 또한, 디바이스 (1200) 의 동작 동안 만들어진 동적인 데이터를 저장하기 위하여 프로세서 (1220) 에 의해 사용될 수도 있다.
위에 언급된 바처럼, 프로세서 (1220) 는 메모리들에 저장된 여러 모듈들에 의해 구성된다. 예를들어, 센트로이드 추정 모듈 (1235) 은, 다수의 수신 터치 입력들에 기초하여 질량의 중심 추정치를 결정하도록 프로세서 (1220) 를 구성하는 명령들을 포함할 수도 있다. 예를 들어, 각각의 포인트는 로케이션을 가질 수도 있고 또한 압력의 어떤 표시를 포함할 수도 있다. 따라서, 질량의 중심 추정치는 특정 터치의 "질량의 중심" 을 계산하기 위하여 이 정보를 사용할 수도 있다. 센트로이드 추정 모듈 (1235) 은 그러한 추정치를 결정하도록 프로세서 (1220) 를 구성하는 명령들을 포함할 수도 있다.
메모리 (1230) 는 또한, 최대 우도 추정 모듈 (1240) 을 포함할 수도 있다. 최대 우도 추정 모듈 (1240) 은, 다수의 수신 터치 입력들에 기초하여 그리고 검색 반경에 기초하여 터치 로케이션을 결정하도록 프로세서 (1220) 를 구성하는 명령들을 포함할 수도 있다. 이 검색 반경은 센트로이드 추정 모듈 (1235) 에 의해 제공된 질량의 중심 추정치에 기초하여 결정될 수도 있다.
운영 시스템 모듈 (1250) 은, 디바이스 (1200) 의 메모리 및 처리 리소스들을 관리하도록 프로세서를 구성한다. 예를 들어, 운영 시스템 모듈 (1250) 은 이미지 센서 (1215) 또는 스토리지 (1210) 와 같은 하드웨어 리소스들을 관리하기 위한 디바이스 드라이버들을 포함할 수도 있다. 그러므로, 일부 실시형태들에서, 위에 논의된 모듈들에 포함된 명령들은 이들 하드웨어 리소스들과 직접 상호작용하는 것이 아니라, 그 대신에 운영 시스템 컴포넌트 (1250) 에 위치된 표준 서브루틴 또는 API를 통해 상호작용할 수도 있다. 다음으로, 운영 시스템 (1250) 내의 명령들은 이들 하드웨어 컴포넌트들과 직접 상호작용할 수도 있다.
프로세서 (1220) 는 데이터를 스토리지 모듈 (1210) 에 쓸 수도 있다. 스토리지 모듈 (1210) 은 전통적인 디스크 디바이스로서 그래픽적으로 나타내었지만, 당업자는 다수의 실시형태들이 디스크 기반 스토리지 디바이스, 또는 메모리 디스크, USB 드라이브, 플래시 드라이브, 원격 접속 스토리지 매체, 가상 디스크 드라이버 등을 포함하는 여러 다른 타입의 스토리지 매체들 중 어느 하나를 포함할 수 있다는 것을 이해할 것이다.
도 12는 프로세서 및 메모리를 포함하는 분리된 컴포넌트들을 갖는 디바이스를 도시하지만, 당업자는 이들 분리된 컴포넌트들이 특정 설계 목적들을 달성하기 위하여 다양한 방식으로 조합될 수도 있다는 것을 인식할 것이다. 예를 들어, 대안의 실시형태에서, 메모리 컴포넌트들은 비용을 절감하고 성능을 개선시키기 위하여 프로세서 컴포넌트들과 조합될 수도 있다.
추가적으로, 도 12는 여러 모듈들을 갖는 메모리 컴포넌트 (1230), 및 작업 메모리를 갖는 분리된 메모리 (1205) 를 포함하는 것으로 2개의 메모리 컴포넌트들을 도시하지만, 당업자는 상이한 메모리 아키텍처들을 이용하는 여러 실시형태들을 인식할 것이다. 예를 들어, 설계는 메모리 (1230) 에 포함된 모듈들을 구현하는 프로세서 명령들의 저장을 위해 ROM 또는 정적 RAM 메모리를 이용할 수도 있다. 대안적으로, 프로세서 명령들은 디바이스 (1200) 내에 통합되거나 또는 외부 디바이스 포트를 통해 접속되는 디스크 스토리지 디바이스로부터 시스템 시동시 판독될 수도 있다. 다음으로, 프로세서 명령들은 프로세서에 의한 실행을 가능하게 하기 위하여 RAM 으로 로딩될 수도 있다. 예를 들어, 작업 메모리 (1205) 는 RAM 메모리일 수도 있으며, 프로세서 (1220) 에 의한 실행전에 명령들이 작업 메모리 (1205) 로 로딩된다.
여기에 개시된 구현들과 관련하여 설명된 다양한 예시적인 로직스, 논리 블록, 모듈, 회로, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 양자의 조합으로 구현될 수도 있다. 하드웨어 및 소프트웨어의 교환가능성은 일반적으로, 기능의 면에서, 설명되었고, 전술된 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들에 예시되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로 구현될지는, 전체 시스템에 부과된 설계 제약 및 특정한 애플리케이션에 의존한다.
여기에 개시된 양태들과 관련하여 설명된 다양한 예시적인 로직, 논리 블록, 모듈, 및 회로를 구현하기 위하여 사용된 하드웨어 및 데이터 처리 장치는 범용 단일 또는 다중 칩 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 여기에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서, 또는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 이를테면, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다. 몇몇 구현들에서, 특정 단계들 및 방법들은 소정 기능에 특수한 회로에 의해 수행될 수도 있다.
하나 이상의 양태들에서, 설명된 기능들 및 프로세스들은, 본 명세서에 개시된 구조들 및 그들의 구조적 등가물들을 포함하는, 하드웨어, 디지털 전자 회로, 컴퓨터 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 본 명세서에 기재된 요지의 구현들은 또한, 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위하여 컴퓨터 저장 매체 상에 인코딩된, 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수도 있다.
소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 또는 송신될 수도 있다. 여기에 개시된 방법, 알고리즘 또는 제조 프로세스의 단계들은 컴퓨터 판독가능 매체에 상주할 수도 있는 프로세서 실행가능한 소프트웨어 모듈에서 구현될 수도 있다. 컴퓨터 판독가능 매체는 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 가능하게 할 수 있는 임의의 매체를 포함하는 컴퓨터 저장 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체일 수도 있다. 비한정적 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자성 디스크 스토리지 또는 다른 자성 스토리지 디바이스, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해질 수 있다. 여기에 사용된, 디스크 (disk) 및 디스크 (disc) 는 콤팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광 디스크 (optical disc) , DVD (digital versatile disc), 플로피 디스크 (floppy disk) 및 블루레이 디스크 (blue-ray disc) 를 포함하며, 여기서, 디스크 (disk) 는 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 또한, 상기의 조합 또한, 컴퓨터 판독가능 매체의 범위 내에 포함될 수도 있다. 또한, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 제품에 포함될 수도 있는, 머신 판독가능 매체 및 컴퓨터 판독가능 매체 상에 코드들 및 명령들 중 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
본 개시에 설명된 구현들에 대한 다양한 변형은 당업자에게는 용이하게 명백할 수 있고, 여기에 정의된 일반적인 원리는 본 개시의 사상 또는 범위를 벗어남이 없이 다른 구현들에 적용될 수도 있다. 따라서, 본 청구항들은 여기에 나타낸 구현들로 한정되도록 의도된 것이 아니라, 여기에 개시된, 본 개시, 원리 및 신규한 특징들에 부합하는 최광의 범위가 허여되야 한다. "예시적" 이라는 용어는 "예, 실례, 또는 예시의 역할을 하는 것" 을 의미하는 것으로 오로지 여기에서 사용된다. "예시적" 으로서 여기에 설명된 임의의 구현은 반드시 다른 가능성들 또는 구현들보다 바람직하거나 또는 유리한 것으로 해석될 필요는 없다. 추가적으로, 당업자는, 용어 "상부" 및 "하부" 는 때때로 도면들의 설명의 용이를 위해 사용되고, 적절히 배향된 페이지 상의 도면의 배향에 대응하는 상대적인 포지션들을 나타내고, 구현되는 IMOD 의 적절한 배향을 반영하지 않을 수도 있다는 것을 손쉽게 인식할 것이다.
분리된 구현들의 맥락에서 본 명세서에 기재된 특정 피쳐들은 또한 단일 구현에서 조합하여 구현될 수 있다. 반대로, 단일 구현의 맥락에서 설명된 다양한 피쳐들은 또한 다수의 구현들에서 분리하여 또는 임의의 적합한 부조합 (subcombination) 으로 구현될 수 있다. 또한, 피쳐들은 특정 조합들에서 작용하는 것으로 위에서 설명되고 심지어 그것으로서 처음 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 피쳐들은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 부조합 또는 부조합의 변형에 관련될 수도 있다.
유사하게, 동작들은 특정 순서로 도면들에서 도시되었지만, 당업자는 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행될 필요가 없거나 또는 모든 예시된 동작들이 바람직한 결과들을 달성하기 위하여 수행될 필요가 없다는 것을 손쉽게 인식할 것이다. 또한, 도면들은 흐름 도 형태로 하나 이상의 예시적인 프로세스들을 개략적으로 도시할 수도 있다. 하지만, 도시되지 않은 다른 동작들이 개략적으로 도시된 예시적인 프로세스들에 포함될 수 있다. 예를 들어, 하나 이상의 추가 동작들이 예시된 동작들 중 어느 것 전에, 후에, 동시에 또는 사이에서 수행될 수 있다. 특정 상황들에서, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 또한, 전술된 구현들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현들에서 그러한 분리는 필요로 하는 것으로 이해되지 않아야 하고, 기재된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되야 한다. 추가적으로, 다른 구현들이 다음의 청구항들의 범위 내에 있다. 몇몇 경우들에서, 청구항들에 기재된 작용들은 상이한 순서로 수행될 수 있고 여전히 바람직한 결과들을 달성할 수 있다.

Claims (30)

  1. 터치 입력 신호를 처리하기 위한 장치로서,
    프로세서;
    터치 입력들을 수신하도록 구성된 터치 디바이스;
    상기 프로세서에 동작가능하게 연결되고 프로세서 명령들을 저장하도록 구성된 메모리를 포함하고, 상기 프로세서 명령들은
    상기 터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하고,
    상기 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하고;
    질량의 중심 추정치의 검색 반경을 결정하고;
    복수의 최대 우도 추정 모델들의 각각에 대하여:
    상기 복수의 최대 우도 추정 모델들의 최대 우도 추정 모델을 이용하여 상기 질량의 중심 추정치 및 상기 검색 반경에 기초하여 터치 로케이션 추정치를 결정하고;
    상기 최대 우도 추정 모델을 이용하여 결정된 터치 로케이션의 오차를 계산하고;
    계산된 상기 오차에 기초하여, 상기 복수의 최대 우도 추정 모델들로부터 터치 로케이션 추정치를 선택하고;
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는 또한
    가중된 샘플 추정치들을 이용하여 형성된 추정된 공분산 행렬과 함께 가우시안 모델에 기초하여 적응적 최대 우도 추정 모델을 구축하고;
    상기 적응적 최대 우도 추정 모델에 대한 오차를 결정하고;
    상기 적응적 최대 우도 추정 모델에 대한 오차와 선택된 상기 터치 로케이션 추정치의 오차를 비교하고;
    상기 적응적 최대 우도 추정 모델에 대한 오차가 선택된 상기 터치 로케이션 추정치의 오차보다 더 작으면, 상기 복수의 최대 우도 추정 모델들에 상기 적응적 최대 우도 추정 모델을 저장하도록 구성되는, 터치 입력 신호를 처리하기 위한 장치.
  3. 제 1 항에 있어서,
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 것은
    선택된 상기 터치 로케이션 추정치의 오차와 임계치를 비교하고;
    상기 오차가 상기 임계치보다 낮으면, 선택된 상기 터치 로케이션을 상기 최적 터치 포인트 위치로서 사용하고;
    상기 오차가 상기 임계치보다 낮지 않으면, 터치 포인트의 상기 질량의 중심추정치에 기초하여 상기 최적 터치 포인트 위치를 결정하는 것을 포함하는, 터치 입력 신호를 처리하기 위한 장치.
  4. 제 1 항에 있어서,
    상기 프로세서 명령들은 또한, 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 것에 기초하여 상기 검색 반경을 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  5. 제 4 항에 있어서,
    상기 프로세서 명령들은 또한, 터치스크린의 신호대노이즈 비를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  6. 제 4 항에 있어서,
    상기 프로세서 명령들은 또한, 터치스크린의 에일리어싱 추정치를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  7. 제 4 항에 있어서,
    상기 프로세서 명령들은 또한, 터치스크린의 에지까지의 거리 데이터를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  8. 제 4 항에 있어서,
    상기 프로세서 명령들은 또한, 터치스크린의 신호대노이즈 비, 상기 터치스크린의 에일리어싱 추정치, 및 상기 터치스크린의 에지까지의 거리 데이터에 기초하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  9. 제 8 항에 있어서,
    상기 프로세서 명령들은 또한, 상기 질량의 중심 추정치를 결정하기 전에 수신된 상기 복수의 데이터 포인트들을 다운샘플링하도록 상기 프로세서를 구성하는, 터치 입력 신호를 처리하기 위한 장치.
  10. 터치 입력 신호를 처리하는 방법으로서,
    터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계,
    상기 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 단계;
    질량의 중심 추정치의 검색 반경을 결정하는 단계;
    복수의 최대 우도 추정 모델들의 각각에 대하여:
    상기 복수의 최대 우도 추정 모델들의 최대 우도 추정 모델을 이용하여 상기 질량의 중심 추정치 및 상기 검색 반경에 기초하여 터치 로케이션 추정치를 결정하는 단계;
    상기 최대 우도 추정 모델을 이용하여 결정된 터치 로케이션의 오차를 계산하는 단계;
    계산된 상기 오차에 기초하여, 상기 복수의 최대 우도 추정 모델들로부터 터치 로케이션 추정치를 선택하는 단계; 및
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 단계를 포함하는, 터치 입력 신호를 처리하는 방법.
  11. 제 10 항에 있어서,
    가중된 샘플 추정치들을 이용하여 형성된 추정된 공분산 행렬과 함께 가우시안 모델에 기초하여 적응적 최대 우도 추정 모델을 구축하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차를 결정하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차와 선택된 상기 터치 로케이션 추정치의 오차를 비교하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차가 선택된 상기 터치 로케이션 추정치의 오차보다 더 작으면, 상기 복수의 최대 우도 추정 모델들에 상기 적응적 최대 우도 추정 모델을 저장하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  12. 제 10 항에 있어서,
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 단계는
    선택된 상기 터치 로케이션 추정치의 오차와 임계치를 비교하는 단계;
    상기 오차가 상기 임계치보다 낮으면, 선택된 상기 터치 로케이션을 상기 최적 터치 포인트 위치로서 사용하는 단계; 및
    상기 오차가 상기 임계치보다 낮지 않으면, 터치 포인트의 상기 질량의 중심추정치에 기초하여 상기 최적 터치 포인트 위치를 결정하는 단계를 포함하는, 터치 입력 신호를 처리하는 방법.
  13. 제 10 항에 있어서,
    상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 것에 기초하여 상기 검색 반경을 결정하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  14. 제 13 항에 있어서,
    터치스크린의 신호대노이즈 비를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  15. 제 13 항에 있어서,
    터치스크린의 에일리어싱 추정치를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  16. 제 13 항에 있어서,
    터치스크린의 에지까지의 거리 데이터를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  17. 제 13 항에 있어서,
    터치스크린의 신호대노이즈 비, 상기 터치스크린의 에일리어싱 추정치, 및 상기 터치스크린의 에지까지의 거리 데이터에 기초하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  18. 제 17 항에 있어서,
    상기 질량의 중심 추정치를 결정하기 전에 수신된 상기 복수의 데이터 포인트들을 다운샘플링하는 단계를 더 포함하는, 터치 입력 신호를 처리하는 방법.
  19. 처리 회로로 하여금 방법을 수행하게 하는 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 단계,
    상기 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 단계;
    질량의 중심 추정치의 검색 반경을 결정하는 단계;
    복수의 최대 우도 추정 모델들의 각각에 대하여:
    상기 복수의 최대 우도 추정 모델들의 최대 우도 추정 모델을 이용하여 상기 질량의 중심 추정치 및 상기 검색 반경에 기초하여 터치 로케이션 추정치를 결정하는 단계;
    상기 최대 우도 추정 모델을 이용하여 결정된 터치 로케이션의 오차를 계산하는 단계;
    계산된 상기 오차에 기초하여, 상기 복수의 최대 우도 추정 모델들로부터 터치 로케이션 추정치를 선택하는 단계; 및
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 단계를 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    가중된 샘플 추정치들을 이용하여 형성된 추정된 공분산 행렬과 함께 가우시안 모델에 기초하여 적응적 최대 우도 추정 모델을 구축하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차를 결정하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차와 선택된 상기 터치 로케이션 추정치의 오차를 비교하는 단계;
    상기 적응적 최대 우도 추정 모델에 대한 오차가 선택된 상기 터치 로케이션 추정치의 오차보다 더 작으면, 상기 복수의 최대 우도 추정 모델들에 상기 적응적 최대 우도 추정 모델을 저장하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 단계는
    선택된 상기 터치 로케이션 추정치의 오차와 임계치를 비교하는 단계;
    상기 오차가 상기 임계치보다 낮으면, 선택된 상기 터치 로케이션을 상기 최적 터치 포인트 위치로서 사용하는 단계; 및
    상기 오차가 상기 임계치보다 낮지 않으면, 터치 포인트의 상기 질량의 중심추정치에 기초하여 상기 최적 터치 포인트 위치를 결정하는 단계
    를 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  22. 제 19 항에 있어서,
    상기 방법은, 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 것에 기초하여 상기 검색 반경을 결정하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  23. 제 22 항에 있어서,
    상기 방법은, 터치스크린의 신호대노이즈 비를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  24. 제 22 항에 있어서,
    상기 방법은, 터치스크린의 에일리어싱 추정치를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  25. 제 22 항에 있어서,
    상기 방법은, 터치스크린의 에지까지의 거리 데이터를 사용하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  26. 제 22 항에 있어서,
    상기 방법은, 터치스크린의 신호대노이즈 비, 상기 터치스크린의 에일리어싱 추정치, 및 상기 터치스크린의 에지까지의 거리 데이터에 기초하여 상기 질량의 중심의 검색 센트로이드 오차의 추정치를 결정하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  27. 제 22 항에 있어서,
    상기 방법은, 상기 질량의 중심 추정치를 결정하기 전에 수신된 상기 복수의 데이터 포인트들을 다운샘플링하는 단계를 더 포함하는, 명령들이 저장된 비일시적, 컴퓨터 판독가능 저장 매체.
  28. 터치 입력 신호를 처리하기 위한 장치로서,
    터치 디바이스 상의 복수의 터치 이벤트들에 대응하는 복수의 데이터 포인트들을 수신하는 수단,
    상기 복수의 데이터 포인트들로부터 질량의 중심 추정치를 결정하는 수단;
    질량의 중심 추정치의 검색 반경을 결정하는 수단;
    복수의 최대 우도 추정 모델들의 각각에 대하여:
    상기 복수의 최대 우도 추정 모델들의 최대 우도 추정 모델을 이용하여 상기 질량의 중심 추정치 및 상기 검색 반경에 기초하여 터치 로케이션 추정치를 결정하는 수단;
    상기 최대 우도 추정 모델을 이용하여 결정된 터치 로케이션의 오차를 계산하는 수단;
    계산된 상기 오차에 기초하여, 상기 복수의 최대 우도 추정 모델들로부터 터치 로케이션 추정치를 선택하는 수단; 및
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 수단
    을 포함하는, 터치 입력 신호를 처리하기 위한 장치.
  29. 제 28 항에 있어서,
    가중된 샘플 추정치들을 이용하여 형성된 추정된 공분산 행렬과 함께 가우시안 모델에 기초하여 적응적 최대 우도 추정 모델을 구축하는 수단;
    상기 적응적 최대 우도 추정 모델에 대한 오차를 결정하는 수단;
    상기 적응적 최대 우도 추정 모델에 대한 오차와 선택된 상기 터치 로케이션 추정치의 오차를 비교하는 수단;
    상기 적응적 최대 우도 추정 모델에 대한 오차가 선택된 상기 터치 로케이션 추정치의 오차보다 더 작으면, 상기 복수의 최대 우도 추정 모델들에 상기 적응적 최대 우도 추정 모델을 저장하는 수단을 더 포함하는, 터치 입력 신호를 처리하기 위한 장치.
  30. 제 28 항에 있어서,
    선택된 상기 터치 로케이션 추정치의 오차와 임계치의 비교에 기초하여 최적 터치 포인트 위치를 결정하는 수단은
    선택된 상기 터치 로케이션 추정치의 오차와 임계치를 비교하는 수단;
    상기 오차가 상기 임계치보다 낮으면, 선택된 상기 터치 로케이션을 상기 최적 터치 포인트 위치로서 사용하는 수단; 및
    상기 오차가 상기 임계치보다 낮지 않으면, 터치 포인트의 상기 질량의 중심추정치에 기초하여 상기 최적 터치 포인트 위치를 결정하는 수단을 포함하는, 터치 입력 신호를 처리하기 위한 장치.
KR1020167024342A 2014-02-26 2015-02-19 호스트 기반 터치 처리를 위한 최적화 KR101750671B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461944971P 2014-02-26 2014-02-26
US61/944,971 2014-02-26
US14/540,894 US9310933B2 (en) 2014-02-26 2014-11-13 Optimization for host based touch processing
US14/540,894 2014-11-13
PCT/US2015/016670 WO2015130553A1 (en) 2014-02-26 2015-02-19 Optimization for host based touch processing

Publications (2)

Publication Number Publication Date
KR20160108590A KR20160108590A (ko) 2016-09-19
KR101750671B1 true KR101750671B1 (ko) 2017-06-23

Family

ID=53882198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167024342A KR101750671B1 (ko) 2014-02-26 2015-02-19 호스트 기반 터치 처리를 위한 최적화

Country Status (6)

Country Link
US (2) US9310933B2 (ko)
EP (1) EP3111302A1 (ko)
JP (1) JP6110045B1 (ko)
KR (1) KR101750671B1 (ko)
CN (1) CN106030475B (ko)
WO (1) WO2015130553A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9310933B2 (en) 2014-02-26 2016-04-12 Qualcomm Incorporated Optimization for host based touch processing
GB2533667B (en) 2014-12-23 2017-07-19 Cambridge Touch Tech Ltd Pressure-sensitive touch panel
KR102615384B1 (ko) 2014-12-23 2023-12-19 케임브리지 터치 테크놀로지스 리미티드 압력감지 방식 터치 패널
US9703436B2 (en) * 2015-05-29 2017-07-11 Synaptics Incorporated Hybrid large dynamic range capacitance sensing
GB2544307B (en) 2015-11-12 2018-02-07 Cambridge Touch Tech Ltd Processing signals from a touchscreen panel
US10175807B2 (en) 2015-12-18 2019-01-08 Stmicroelectronics Asia Pacific Pte Ltd Support of narrow tip styluses on touch screen devices
US10282046B2 (en) 2015-12-23 2019-05-07 Cambridge Touch Technologies Ltd. Pressure-sensitive touch panel
GB2544353B (en) 2015-12-23 2018-02-21 Cambridge Touch Tech Ltd Pressure-sensitive touch panel
GB2547031B (en) 2016-02-05 2019-09-25 Cambridge Touch Tech Ltd Touchscreen panel signal processing
US10481723B2 (en) * 2016-10-28 2019-11-19 Stmicroelectronics Asia Pacific Pte Ltd Hover rejection through dynamic thresholding
GB2565305A (en) 2017-08-08 2019-02-13 Cambridge Touch Tech Ltd Device for processing signals from a pressure-sensing touch panel
US11093088B2 (en) 2017-08-08 2021-08-17 Cambridge Touch Technologies Ltd. Device for processing signals from a pressure-sensing touch panel
US11307711B2 (en) * 2019-10-31 2022-04-19 Tactual Labs Co. Nyquist signal to noise reduction
JP7472262B2 (ja) 2020-03-04 2024-04-22 株式会社ワコム 入出力モデルを設定可能なペン状態検出回路
JP2023032324A (ja) * 2021-08-26 2023-03-09 アルプスアルパイン株式会社 非接触入力装置
CN118732828A (zh) * 2023-03-31 2024-10-01 维沃移动通信有限公司 触觉信号编码处理方法、解码处理方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206377A1 (en) 2011-02-12 2012-08-16 Microsoft Corporation Angular contact geometry
US20130016045A1 (en) 2011-07-14 2013-01-17 Weidong Zhao Multi-Finger Detection and Component Resolution

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100073318A1 (en) 2008-09-24 2010-03-25 Matsushita Electric Industrial Co., Ltd. Multi-touch surface providing detection and tracking of multiple touch points
US8031175B2 (en) 2008-04-21 2011-10-04 Panasonic Corporation Touch sensitive remote control system that detects hand size characteristics of user and adapts mapping to screen display
US20100071965A1 (en) * 2008-09-23 2010-03-25 Panasonic Corporation System and method for grab and drop gesture recognition
US9323398B2 (en) * 2009-07-10 2016-04-26 Apple Inc. Touch and hover sensing
US8269511B2 (en) 2009-09-08 2012-09-18 Synaptics Incorporated Sensing and defining an input object
US9753586B2 (en) * 2009-10-08 2017-09-05 3M Innovative Properties Company Multi-touch touch device with multiple drive frequencies and maximum likelihood estimation
KR101660842B1 (ko) * 2009-11-05 2016-09-29 삼성전자주식회사 터치 입력 방법 및 그 장치
US8436828B1 (en) * 2012-01-27 2013-05-07 Google Inc. Smart touchscreen key activation detection
GB201205303D0 (en) * 2012-03-26 2012-05-09 Light Blue Optics Ltd Touch sensing systems
US9310933B2 (en) 2014-02-26 2016-04-12 Qualcomm Incorporated Optimization for host based touch processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206377A1 (en) 2011-02-12 2012-08-16 Microsoft Corporation Angular contact geometry
US20130016045A1 (en) 2011-07-14 2013-01-17 Weidong Zhao Multi-Finger Detection and Component Resolution

Also Published As

Publication number Publication date
US9310933B2 (en) 2016-04-12
EP3111302A1 (en) 2017-01-04
CN106030475A (zh) 2016-10-12
WO2015130553A1 (en) 2015-09-03
JP2017511930A (ja) 2017-04-27
US9817518B2 (en) 2017-11-14
US20150242050A1 (en) 2015-08-27
JP6110045B1 (ja) 2017-04-05
KR20160108590A (ko) 2016-09-19
CN106030475B (zh) 2017-12-08
US20160224187A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
KR101750671B1 (ko) 호스트 기반 터치 처리를 위한 최적화
US10599268B2 (en) Touchscreen panel signal processing
CN107710111B (zh) 确定用于接近敏感相互作用的俯仰角
CN105247461B (zh) 为触摸屏交互确定俯仰和偏航
US20110148801A1 (en) Touch panel region of interest reporting scheme
WO2022205611A1 (zh) 一种图像匹配方法、装置、设备及存储介质
US8698015B2 (en) Compensating for multi-touch signal bias drift in touch panels
US9684407B2 (en) Method and apparatus for determining shape and orientation of a touch object on handheld devices
US20200285367A1 (en) Force touch detection method, touch panel and electronic device
US8913032B2 (en) Position information correction device, position information correction method, and program
JP2017506399A (ja) 改善されたタッチスクリーン精度のためのシステムおよび方法
US20170108966A1 (en) Technique for improving capacitance type input apparatus
Lin et al. Tracking touched trajectory on capacitive touch panels using an adjustable weighted prediction covariance matrix
US9684747B2 (en) Parameter modeling for semiconductor arrangements
US9927917B2 (en) Model-based touch event location adjustment
US8156425B2 (en) User interface (UI) dimensioning
US20150142433A1 (en) Irregular Pattern Identification using Landmark based Convolution
US8928500B2 (en) State determination device, state determination method, and program
CN104995584B (zh) 计算磁航向
US20230221855A1 (en) Pressure Value Simulation from Contact Area Data
US20240302920A1 (en) Touch detecting method and touch detecting device
CN115309281A (zh) 用于确定位置的方法和系统及计算机可读存储介质

Legal Events

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