KR102688037B1 - 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법 - Google Patents

스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법 Download PDF

Info

Publication number
KR102688037B1
KR102688037B1 KR1020237037688A KR20237037688A KR102688037B1 KR 102688037 B1 KR102688037 B1 KR 102688037B1 KR 1020237037688 A KR1020237037688 A KR 1020237037688A KR 20237037688 A KR20237037688 A KR 20237037688A KR 102688037 B1 KR102688037 B1 KR 102688037B1
Authority
KR
South Korea
Prior art keywords
stylus
active stylus
sensor controller
data
active
Prior art date
Application number
KR1020237037688A
Other languages
English (en)
Other versions
KR20230157523A (ko
Inventor
데이비드 찰스 플렉
사다오 야마모토
Original Assignee
가부시키가이샤 와코무
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/069,793 external-priority patent/US9448646B1/en
Application filed by 가부시키가이샤 와코무 filed Critical 가부시키가이샤 와코무
Publication of KR20230157523A publication Critical patent/KR20230157523A/ko
Application granted granted Critical
Publication of KR102688037B1 publication Critical patent/KR102688037B1/ko

Links

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
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • 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/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • 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/04162Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
    • 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/0442Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using active external devices, e.g. active pens, for transmitting changes in electrical potential to be received by the digitiser
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

액티브 스타일러스를, 센서 컨트롤러로서 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러와 인터페이스하는 방법을 제공한다. 본 방법에 있어서, 상기 센서 컨트롤러는 상기 스타일러스로부터 패킷을 수신하는데 사용 가능한 복수의 타임슬롯으로 이루어지는 데이터 프레임을 정의한다. 상기 액티브 스타일러스는 상기 센서 컨트롤러로부터의 요구에 응답하여, 스타일러스 기능 정보를 포함하는 신호를 송신한다. 상기 센서 컨트롤러는 상기 스타일러스 기능 정보에 기초하여, 상기 액티브 스타일러스에 의해 상기 센서 컨트롤러에 패킷을 송신하는데 이용되는 다운링크 타임슬롯 할당을 결정한다. 상기 센서 컨트롤러는 상기 다운링크 타임슬롯 할당을 상기 액티브 스타일러스에 송신한다.

Description

스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법{SYSTEM AND METHOD FOR BIDIRECTIONAL COMMUNICATION BETWEEN STYLUS AND STYLUS SENSOR CONTROLLUER}
본 출원은 2015년 4월 20일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/149,907호, 2015년 5월 15일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/162,527호, 2015년 10월 19일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/243,427호, 2016년 2월 4일에 출원된 "스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법"이라는 제목의 미국 가특허 출원 제62/291,373호, 2016년 3월 14일에 출원된 "스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법"이라는 제목의 미국 특허 출원 제15/069,793호, 2016년 3월 14일에 출원된 "스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법"이라는 제목의 미국 특허 출원 제15/069,848호, 및 2016년 3월 14일에 출원된 "스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법"이라는 제목의 미국 특허 출원 제15/069,852호의 우선권을 주장하고, 그것들의 전체는 인용에 의해 여기에 편입된다.
본 출원은 액티브 스타일러스, 스타일러스 센서의 센서 컨트롤러, 및 위치 입력 시스템, 및 이러한 스타일러스 및 센서 컨트롤러에 기초하는 방법에 관한 것으로, 보다 상세하게는, 스타일러스와 센서 컨트롤러 사이의 쌍방향 통신 프로토콜을 이용하는 위치 입력 시스템 및 방법에 관한 것이다.
태블릿 컴퓨터, 스마트 폰 등의 전자 장치의 스타일러스 검지 스크린(센서) 상에 유저가 문자 및 도형을 수기(handwrite)하는 것이 가능한 각종 스타일러스를 입수할 수 있다. 예를 들면, 액티브 정전 용량식(용량성) 스타일러스는 전원 및 시그널 프로세서를 구비하고, 스타일러스의 팁에 구비된 전극에 송신 신호에 따른 전하를 공급함으로써 신호를 송신하고, 이것에 의해 팁이 나타내는(지시하는) 위치 또는 그 근방에 있어서의 전계에 변화를 일으키게 한다. 전자 장치의 스타일러스 검지 스크린(센서)은 매트릭스 모양의 X전극 및 Y전극을 구비하고, 스타일러스 팁에 의한 상술의 전계의 변화가 스타일러스 팁 또는 그 근방의 매트릭스 전극에 있어서의 상응하는 전하의 변화를 유기(誘起)한다. 센서 및/또는 전자 장치의 호스트 프로세서에 결합한 센서 컨트롤러는, 매트릭스 전극에 있어서의 이러한 전하의 변화를 검출함으로써 스타일러스로부터의 송신 신호를 검출한다. 센서 컨트롤러 및/또는 호스트 프로세서는, 그 다음으로, 송신 신호를 검출한 매트릭스 전극의 위치에 기초하여, 센서상에 있어서 스타일러스에 의해 나타내진 위치를 판별한다.
상이한 종류의 액티브 스타일러스는, 펜(스타일러스) 팁 압력을 검출할 수 있는 상이한 단계가 몇 개 있는 가와 같은 펜(스타일러스) 팁 압력 검출 기능, 펜 트위스트(회전) 검출 기능 및 펜 틸트(tilt) 검출 기능을 포함하는 펜 오리엔테이션 검출 기능, 스타일러스상에 구비된 상이한 수 및 종류의 배럴 버튼(스위치) 등의, 다른 스타일러스 기능 또는 작용을 가진다. 통상, 스타일러스로부터 센서 컨트롤러로의 통신에 사용되는 데이터 포맷은, 대상으로 하고 있는 스타일러스 센서 시스템에 고정하여 설정되어, 다른 종류의 스타일러스 기능 및 작용을 서포트할 수 없고, 그리고 스타일러스 기능 및 작용의 베리에이션을 확대할 수 없다.
각 스타일러스는 센서 컨트롤러와 함께 사용할 (즉, 센서 컨트롤러의 검지 영역에 들어갈)때마다 항상 스타일러스의 전체 기능 정보를 센서 컨트롤러에 송신하는 것이 가능한 한편, 이러한 전체 기능 정보의 송신은, 대상으로 하고 있는 통신 프로토콜에 있어서 사용 가능한 다수의 타임슬롯 또는 프레임을 소비한다. 1개 또는 복수의 스타일러스가 끊임 없이 센서 컨트롤러의 검지 영역에 들어가고, 및 검지 영역으로부터 나오는 통상의 상황에 있어서, 센서 컨트롤러는 들어가는 각 스타일러스의 기능 정보를 즉석에서 취득하여 스타일러스의 개별의 기능에 적절한 양태로 스타일러스와의 통신을 개시할 수 없을 가능성이 있다. 이것에 의해 센서 컨트롤러의 응답 시간이 저속화되고, 따라서 센서 컨트롤러와 액티브 스타일러스의 사이에 있어서 통신을 확립하는 것이 지연될 수 있다. 예를 들면, 센서 컨트롤러는, 센서 컨트롤러가 스타일러스의 오리엔테이션 검출 기능을 즉석에서 확인할 수 없기 때문에, 스타일러스에 이러한 오리엔테이션 데이터를 충분히 송신하는 능력이 있는 경우에도, 스타일러스로부터의 펜 오리엔테이션 데이터를, 신속하게 수신할 수 없을 가능성이 있다.
본 발명의 양태는, 검지 영역에 들어가는 1개 또는 복수의 액티브 스타일러스의 기능 정보를 센서 컨트롤러가 즉시 판별함으로써 스타일러스와의 쌍방향 통신을 개시하는 것을 가능하게 하는 기술적 그 결 수단을 제공한다. 본 양태는 상이한 기능 정보를 가지는 상이한 액티브 스타일러스들을 서포트하는 유니버설 스타일러스 센서 컨트롤러 인터페이스를 제공하는데 특히 적합하다.
일 양태에 의하면, 액티브 스타일러스를 센서 컨트롤러와 인터페이스하는 방법이 제공된다. 상기 센서 컨트롤러는 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합되어 있다. 상기 센서 컨트롤러는 상기 스타일러스로부터 패킷을 수신하는데 사용 가능한 복수의 타임슬롯으로 이루어지는 데이터 프레임을 정의한다. 상기 액티브 스타일러스는 상기 센서 컨트롤러로부터의 요구에 응답하여, 스타일러스 기능 정보를 포함하는 신호를 송신한다. 상기 센서 컨트롤러는 상기 스타일러스 기능 정보에 기초하여, 상기 액티브 스타일러스에 의해 상기 센서 컨트롤러에 패킷을 송신하는데 이용되는 다운링크 타임슬롯 할당을 결정한다. 상기 센서 컨트롤러는 상기 다운링크 타임슬롯 할당을 상기 액티브 스타일러스에 송신한다.
다른 양태에 의하면, 상기 스타일러스 기능 정보는 a) 미리 정의된 상기 액티브 스타일러스의 기능에 관한 기능 정보, 및 b) 유저에 의해 조정 가능한 상기 액티브 스타일러스의 설정에 관한 설정 정보 중 적어도 하나를 포함한다.
다른 양태에 의하면, 상기 기능 정보는 i) 상기 액티브 스타일러스가 스타일러스 오리엔테이션을 검지하는 것이 가능한지 여부, ii) 상기 액티브 스타일러스가 배럴 압력을 검지하는 것이 가능한지 여부, iii) 상기 액티브 스타일러스가 벤더 고유한 특징을 가지는지 여부, iv) 상기 액티브 스타일러스가 추천색(preferred color)을 가지는지 여부, 및 v) 상기 액티브 스타일러스의 글로벌 ID 중 적어도 하나를 포함한다.
다른 양태에 의하면, 상기 설정 정보는 i) 스타일러스 선 폭, ii) 스타일러스 팁 타입, iii) 색, 및 iv) 상기 액티브 스타일러스의 고유 식별 번호 중 적어도 하나를 포함한다.
다른 양태에 의하면, 상기 설정 정보는, 상기 액티브 스타일러스상에 배치된 1개 또는 복수의 스위치를 이용하여 유저에 의해 변경 가능한 상기 액티브 스타일러스의 고유 식별 번호 또는 색지표를 포함한다.
다른 양태에 의하면, 상기 다운링크 타임슬롯 할당은 i) 프레임 내의 어느 다운링크 타임슬롯을 상기 액티브 스타일러스에 할당할지, 및 ii) 상기 액티브 스타일러스가 어떠한 종류의 패킷을 어떠한 다운링크 타임슬롯에 송신할지 중 적어도 하나를 포함한다.
다른 양태에 의하면, 상기 다운링크 타임슬롯 할당은 i) 상기 액티브 스타일러스에 의해서 이용되는 개시 타임슬롯을 나타내는 오프셋값, 및 ii) 상기 개시 타임슬롯에서부터 개시하는 상기 액티브 스타일러스에 할당된 타임슬롯간의 간격을 나타내는 간격값을 포함한다.
다른 양태에 의하면, 상기 다운링크 타임슬롯 할당을 수신한 상기 액티브 스타일러스는, 상기 다운링크 타임슬롯 할당에 따라서 할당된 상기 타임슬롯에서 패킷을 송신한다. 상기 패킷은 i) 상기 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터를 포함하는 데이터 패킷, 및 ii) 상기 센서 컨트롤러에 의해서 상기 센서에 대한 상기 액티브 스타일러스의 위치를 산출하는데 이용되는 비-데이터 패킷 중 일방으로 이루어질 수 있다.
다른 양태에 의하면, 상기 데이터 패킷에 포함되는 상기 동작 데이터는 i) 스타일러스 팁 압력 데이터, ii) 배럴 압력 데이터, iii) 스타일러스 오리엔테이션 데이터, iv) 스타일러스 배럴 스위치 상태 데이터, 및 v) 스타일러스 배터리 레벨 중 하나 또는 복수를 포함한다.
다른 양태에 의하면, 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합되는 센서 컨트롤러가 제공된다. 상기 센서 컨트롤러는, 프로세서로서, 동작 중에, 상기 액티브 스타일러스와 상기 센서 컨트롤러 사이의 통신에 제공되는 타임슬롯으로 이루어지는 데이터 프레임을 정의하고, 상기 액티브 스타일러스로부터 상기 액티브 스타일러스의 스타일러스 기능 정보를 포함하는 신호를 수신하고, 수신한 상기 스타일러스 기능 정보에 기초하여, 상기 액티브 스타일러스에 의해서 상기 센서 컨트롤러에 패킷을 송신하는데 이용되는 다운링크 타임슬롯 할당을 결정하는 프로세서를 구비한다. 상기 센서 컨트롤러는, 추가로, 상기 프로세서에 결합된 송신 컨트롤러를 구비한다. 상기 송신 컨트롤러는, 동작 중에, 상기 액티브 스타일러스로의 상기 다운링크 타임슬롯 할당의 송신을 발생시킨다.
다른 양태에 의하면, 액티브 스타일러스가 제공된다. 상기 액티브 스타일러스는 리시버(receiver)로서, 동작 중에, 상기 액티브 센서로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러로부터 송신되는 주기적인 비콘 신호를 수신하는 리시버를 구비한다. 상기 비콘 신호는 상기 액티브 스타일러스와 상기 센서 컨트롤러 사이의 쌍방향 통신에 있어서 이용되는 타임슬롯에 대한 타이밍 기준으로서 기능한다. 상기 액티브 스타일러스는, 추가로, 상기 비콘 신호를 검출함과 아울러 상기 액티브 스타일러스의 스타일러스 기능 정보를 포함하는 신호를 생성하도록 상기 리시버에 결합된 프로세서를 구비한다. 상기 액티브 스타일러스는, 추가로, 상기 스타일러스 기능 정보를 포함하는 상기 신호를 상기 센서 컨트롤러에 송신하도록 상기 프로세서에 결합된 트랜스미터를 구비한다. 상기 액티브 스타일러스의 상기 리시버는, 동작 중에, 상기 센서 컨트롤러로부터 다운링크 타임슬롯 할당을 수신한다. 상기 액티브 스타일러스의 상기 트랜스미터는, 동작 중에, 상기 다운링크 타임슬롯 할당에 따라서 상기 액티브 스타일러스에 할당된 상기 타임슬롯에서 상기 센서 컨트롤러에 패킷을 송신한다.
다른 양태에 의하면, (a) 센서와, (b) 상기 센서에 결합된 센서 컨트롤러와, (c) 액티브 스타일러스를 구비하는 시스템이 제공된다. 상기 센서 컨트롤러는, 주기적인 비콘 신호의 송신을 발생시키는 송신 컨트롤러와, 상기 송신 컨트롤러에 결합한 센서 프로세서를 구비한다. 상기 액티브 스타일러스는 상기 주기적인 비콘 신호를 수신하는 리시버를 구비한다. 상기 액티브 스타일러스는, 추가로, 상기 비콘 신호를 검출함과 아울러 상기 액티브 스타일러스의 스타일러스 기능 정보를 포함하는 신호를 생성하도록 상기 리시버에 결합한 스타일러스 프로세서를 구비한다. 상기 액티브 스타일러스는, 추가로, 상기 스타일러스 기능 정보를 포함하는 상기 신호를 상기 센서 컨트롤러에 송신하도록 상기 스타일러스 프로세서에 결합된 트랜스미터를 구비한다. 상기 센서 컨트롤러는, 수신한 상기 액티브 스타일러스의 상기 스타일러스 기능 정보에 기초하여, 상기 액티브 스타일러스에 의해 상기 센서 컨트롤러에 패킷을 송신하는데 이용되는 다운링크 타임슬롯 할당을 결정하여, 상기 다운링크 타임슬롯 할당을 상기 액티브 스타일러스에 송신한다.
본 발명의 다른 양태는, 상기 검지 영역에 들어가는 1개 또는 복수의 액티브 스타일러스의 상기 기능 정보를 센서 컨트롤러가 즉시 판별함으로써 상기 스타일러스와의 쌍방향 통신을 개시하는 것을 가능하게 하는 기술적 해결 수단을 제공한다. 본 양태는 상이한 기능 정보를 가지는 상이한 액티브 스타일러스들을 서포트하는 유니버설 센서 컨트롤러 인터페이스를 제공하는데 특히 적합하다.
일 양태에 의하면, 액티브 스타일러스를 센서 컨트롤러와 인터페이스하는 방법이 제공된다. 상기 센서 컨트롤러는 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합되어 있다. 상기 센서 컨트롤러는 상기 액티브 스타일러스의 스타일러스 기능 정보를 캐쉬한다. 상기 스타일러스 기능 정보는 상기 센서 상의 상기 액티브 스타일러스로부터의 입력을 표시하도록 실행되는 응용 프로그램에 의해 이용되는 잉킹(inking)을 위한 설정 정보를 포함한다. 상기 액티브 스타일러스는 상기 스타일러스 기능 정보의 해시값을 생성하여, 상기 액티브 스타일러스가 상기 센서 컨트롤러의 검지 영역에 들어갈 때 상기 해시값을 상기 센서 컨트롤러에 송신한다.
다른 양태에 의하면, 상기 액티브 스타일러스와 상기 센서는 정전 용량 결합한다.
다른 양태에 의하면, 상기 잉킹을 위한 설정 정보는 i) 스타일러스 선 폭, ii) 스타일러스 팁 타입, iii) 색, 및 iv) 상기 액티브 스타일러스의 고유 식별 번호 중 적어도 하나를 포함한다.
다른 양태에 의하면, 상기 잉킹을 위한 상기 설정 정보는, 상기 액티브 스타일러스상에 배치된 1개 또는 복수의 스위치를 이용하여 유저에 의해 변경 가능한, 색지표 또는 상기 액티브 스타일러스의 고유 식별 번호를 포함한다.
다른 양태에 의하면, 상기 액티브 스타일러스의 고유 식별 번호, 스타일러스 선 폭, 스타일러스 팁 타입, 및 상기 액티브 스타일러스의 색을 포함하는 상기 스타일러스 기능 정보에 기초하여 상기 해시값을 생성한다.
다른 양태에 의하면, 상기 센서 컨트롤러는, 상기 액티브 스타일러스로부터 수신한 상기 해시값이, 상기 센서 컨트롤러 내에 캐쉬된 상기 스타일러스 기능 정보와 일치하는지 여부를 판정한다. 상기 해시값이 일치하는 경우는, 상기 센서 컨트롤러는, 상기 센서 컨트롤러 내에 캐쉬된 일치하는 상기 스타일러스 기능 정보를 이용한다. 상기 해시값이 일치하지 않는 경우는, 상기 센서 컨트롤러는 상기 스타일러스 기능 정보를 상기 센서 컨트롤러에 송신하여 상기 센서 컨트롤러 내에 캐쉬시키도록 상기 액티브 스타일러스에 요구하는 판독 커맨드를 송신한다.
다른 양태에 의하면, 상기 센서 컨트롤러는 상기 액티브 스타일러스로부터 수신한 상기 해시값이, 상기 센서 컨트롤러 내에 캐쉬된 상기 스타일러스 기능 정보와 일치하는지 여부를 판정한다. 상기 해시값이 일치하는 경우는, 상기 센서 컨트롤러는, 상기 센서 컨트롤러 내에 캐쉬된 상기 스타일러스 기능 정보에 대응하는 제2 해시값을 상기 액티브 스타일러스에 송신한다. 상기 액티브 스타일러스는 상기 센서 컨트롤러로부터 수신한 상기 제2 해시값이 상기 액티브 스타일러스의 상기 스타일러스 기능 정보의 제2 해시값에 대응하는지 여부를 판정한다.
다른 양태에 의하면, 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합되는 센서 컨트롤러가 제공된다. 상기 센서 컨트롤러는 상기 액티브 스타일러스에 신호를 송신/상기 액티브 스타일러스로부터 신호를 수신하도록 구성된 트랜스미터/리시버를 구비한다. 상기 센서 컨트롤러는, 추가로, 상기 액티브 스타일러스의 스타일러스 기능 정보를 기억하도록 구성된 캐쉬를 구비한다. 상기 센서 컨트롤러는, 추가로, 상기 트랜스미터/리시버 및 상기 캐쉬에 결합된 프로세서를 구비한다. 상기 프로세서는, 동작 중에, 상기 액티브 스타일러스로부터 상기 스타일러스 기능 정보의 해시값을 수신하고, 수신한 상기 해시값이 상기 센서 컨트롤러의 상기 캐쉬에 기억된 상기 스타일러스 기능 정보와 일치하는 경우는, 캐쉬된 상기 기능 정보를 이용한다.
다른 양태에 의하면, 액티브 스타일러스가 제공된다. 상기 액티브 스타일러스는, 리시버로서, 동작 중에, 상기 액티브 센서로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러로부터 송신되는 주기적인 비콘 신호를 수신하는 리시버를 구비한다. 상기 액티브 스타일러스는, 추가로, 상기 비콘 신호를 검출함과 아울러 스타일러스 기능 정보의 해시값을 생성하도록 상기 리시버에 결합된 프로세서를 구비한다. 상기 스타일러스 기능 정보는, 상기 센서 상의 상기 액티브 스타일러스로부터의 입력을 표시하도록 상기 센서 컨트롤러와 협동하여 동작하는 호스트 시스템 상의 응용 프로그램에 의해 이용되는 잉킹을 위한 설정 정보를 포함한다. 상기 액티브 스타일러스는, 추가로, 상기 해시값을 상기 센서 컨트롤러에 송신하도록 상기 프로세서에 결합된 트랜스미터를 구비한다.
다른 양태에 의하면, (a) 센서와, (b) 상기 센서에 결합된 센서 컨트롤러와, (c) 액티브 스타일러스를 구비하는 시스템이 제공된다. 상기 센서 컨트롤러는 주기적인 비콘 신호의 송신을 발생시키는 송신 컨트롤러와, 상기 송신 컨트롤러에 결합한 센서 프로세서를 구비한다. 상기 액티브 스타일러스는, 리시버로서, 동작 중에, 센서 컨트롤러로부터 송신되는 상기 주기적인 비콘 신호를 수신하는 리시버를 구비한다. 상기 액티브 스타일러스는, 추가로, 상기 비콘 신호를 검출함과 아울러 상기 액티브 스타일러스의 스타일러스 기능 정보를 포함하는 신호를 생성하도록 상기 리시버에 결합한 스타일러스 프로세서를 구비한다. 상기 액티브 스타일러스는, 추가로, 스타일러스 기능 정보의 해시값을 상기 센서 컨트롤러에 송신하도록 상기 스타일러스 프로세서에 결합된 트랜스미터를 구비한다. 상기 스타일러스 기능 정보는, 상기 센서 상의 상기 액티브 스타일러스로부터의 입력을 표시하도록 실행되는 응용 프로그램에 의해 이용되는 잉킹을 위한 설정 정보를 포함한다.
본 발명의 추가적인 다른 양태는, 상기 검지 영역에 들어가는 1개 또는 복수의 액티브 스타일러스의 상기 기능 정보를 센서 컨트롤러가 즉시 판별함으로써 상기 스타일러스와의 쌍방향 통신을 개시하는 것을 가능하게 하는 기술적 해결 수단을 제공한다. 본 양태는, 상이한 기능 정보를 가지는 상이한 액티브 스타일러스들을 서포트하는 유니버설 센서 컨트롤러 인터페이스를 제공하는데 특히 적합하다.
일 양태에 의하면, 액티브 스타일러스로부터의 오리엔테이션 데이터를, 센서 컨트롤러로서 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러에 송신하는 방법이 제공된다. 본 방법에 있어서, 상기 액티브 스타일러스는 상기 센서 컨트롤러에, 스타일러스 기능 정보로서 상기 액티브 스타일러스에 1개 또는 복수의 오리엔테이션 센서가 구비되어 있는지 여부를 나타내는 스타일러스 기능 정보를 송신한다. 상기 1개 또는 복수의 오리엔테이션 센서는, 상기 액티브 스타일러스에 구비하는 것이 가능하여 복수 종류의 오리엔테이션 데이터를 각각 계측하도록 구성된 복수의 오리엔테이션 센서 중에서, 상기 액티브 스타일러스에 구비된다. 상기 센서 컨트롤러는 상기 1개 또는 복수의 오리엔테이션 센서가 상기 액티브 스타일러스에 구비되어 있는 것을 나타내는, 수신한 상기 스타일러스 기능 정보에 기초하여, 상기 1개 또는 복수의 오리엔테이션 센서에 의해서 계측되는 대응하는 1개 또는 복수의 종류의 오리엔테이션 데이터를 송신하도록 상기 액티브 스타일러스에 요구한다. 상기 액티브 스타일러스는 상기 센서 컨트롤러로부터의 상기 요구에 응답하여, 상기 1개 또는 복수의 종류의 오리엔테이션 데이터를 송신한다.
상기 복수의 오리엔테이션 센서에, 틸트 센서, 트위스트 센서, 가속도계, 자이로스코프, 및 지자기계가 포함되어도 되고, 그것들로부터 1개 또는 복수의 오리엔테이션 센서가 선택되어 상기 액티브 스타일러스에 구비된다(서포트된다). 예를 들면, 상기 액티브 스타일러스는, 가속도계, 자이로스코프, 및 지자기계의 조합으로 이루어진 3축 관성 계측 유닛(IMU)을 구비할 수 있다.
일 양태에 의하면, 상기 액티브 스타일러스는 i) 오리엔테이션 센서의 종류를 나타내는 센서 플래그와, ii) 상기 나타낸 종류의 오리엔테이션 센서에 의해 1 타임슬롯에 있어서 계측되는 오리엔테이션 데이터를 1개의 리포트로 송신함으로써, 상기 1개 또는 복수의 종류의 오리엔테이션 데이터를 송신한다.
다른 양태에 의하면, 상기 액티브 스타일러스는, 서로 동시에 또는 시간적으로 접근하여 계측되는 2개 이상의 종류의 오리엔테이션 데이터를 송신한다. 상기 2개 이상의 종류의 오리엔테이션 데이터는, 상기 데이터가 1개의 그룹을 형성하는 것을 나타내는 엔드 비트에 각각 관련지어진다. 상기 센서 컨트롤러는 1개의 그룹을 형성하는 상기 데이터를 수신하여 조합하고, 조합한 상기 데이터를, 센서 퓨전 등의 추가적인 처리에 대비해 호스트 프로세서에 송신한다.
다른 양태에 의하면, 액티브 스타일러스에 의해서 실행되는 방법이 제공된다. 본 방법에 있어서, 상기 액티브 스타일러스는, 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러에 스타일러스 기능 정보를 송신한다. 상기 스타일러스 기능 정보는 복수 종류의 오리엔테이션 데이터를 각각 계측하도록 구성된 복수의 오리엔테이션 센서 중에서 1개 또는 복수의 오리엔테이션 센서가 상기 액티브 스타일러스에 구비되어 있는지 여부를 나타낸다. 상기 액티브 스타일러스는 상기 센서 컨트롤러로부터 수신한 타이밍 정보에 기초하여, 상기 액티브 스타일러스에 구비된 상기 1개 또는 복수의 오리엔테이션 센서에 의해서 각각 계측되는 1개 또는 복수의 종류의 오리엔테이션 데이터를 상기 센서 컨트롤러에 송신한다.
다른 양태에 의하면, 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러에 의해서 실행되는 방법이 제공된다. 본 방법에 있어서, 상기 센서 컨트롤러는 상기 액티브 스타일러스로부터 스타일러스 기능 정보를 수신한다. 상기 스타일러스 기능 정보는 복수 종류의 오리엔테이션 데이터를 각각 계측하도록 구성된 복수의 오리엔테이션 센서 중에서 1개 또는 복수의 오리엔테이션 센서가 상기 액티브 스타일러스에 구비되어 있는지 여부를 나타낸다. 상기 센서 컨트롤러는 상기 액티브 스타일러스에 포함되어 있는 상기 스타일러스 기능 정보에 나타내진 상기 1개 또는 복수의 오리엔테이션 센서에 의해서 계측되는 대응하는 1개 또는 복수의 종류의 오리엔테이션 데이터를 송신하도록 상기 액티브 스타일러스에 요구한다.
추가로 다른 양태에 의하면, 프로세서, 트랜스미터, 및 리시버를 구비하는 액티브 스타일러스를 제공한다. 상기 프로세서는 기억 장치에 결합되어 있고, 상기 기억 장치는 복수 종류의 오리엔테이션 데이터를 각각 계측하도록 구성된 복수의 오리엔테이션 센서 중에서 1개 또는 복수의 오리엔테이션 센서가 상기 액티브 스타일러스에 구비되어 있는지 여부를 나타내는 스타일러스 기능 정보를 기억한다. 상기 트랜스미터는 상기 프로세서에 결합되어 있고, 상기 액티브 스타일러스로부터의 입력을 접수하도록 구성된 센서에 결합된 센서 컨트롤러에 상기 스타일러스 기능 정보를 송신한다. 상기 리시버는, 상기 프로세서에 결합되어 있고, 상기 액티브 스타일러스에 구비된 상기 1개 또는 복수의 종류의 오리엔테이션 센서에 의해서 각각 계측되는 1개 또는 복수의 종류의 오리엔테이션 데이터를 송신하도록 상기 센서 컨트롤러로부터 요구를 수신한다.
도 1은 액티브 스타일러스 및 전자 장치(예를 들면, 태블릿 컴퓨터)를 구비하고, 그 전자 장치가 센서, 그 센서에 결합된 센서 컨트롤러, 및 그 센서 컨트롤러에 결합된 전자 장치의 시스템 컨트롤러(호스트 프로세서)를 구비하는, 시스템 전체를 나타내는 도면이다.
도 2a는 액티브 스타일러스 예의 기능 블록도이다.
도 2b는 센서 컨트롤러 예의 기능 블록도이다.
도 3은 스타일러스와 센서 컨트롤러 사이의 쌍방향 통신에 이용되고, 프레임이 16개 타임슬롯(s0~s15)으로 분할되는 프레임 포맷예이다.
도 4a는 미리 정의된(미리 설정된) 액티브 스타일러스의 기능에 관한 기능 정보와 유저 설정 가능한 액티브 스타일러스의 설정에 관한 설정 정보를 포함하는, 액티브 스타일러스의 스타일러스 기능 정보의 종류예를 열거한 테이블이다.
도 4b는 액티브 스타일러스에 의해서 그 액티브 스타일러스의 기능 정보를 센서 컨트롤러에 송신하는데 이용되는 데이터 포맷예를 열거한 테이블이다.
도 4c는 액티브 스타일러스에 의해서 그 액티브 스타일러스의 오리엔테이션 검출 기능에 관한 기능 정보를 송신하는데 이용되는 오리엔테이션 코드예를 열거한 테이블이다.
도 4d는 기능 정보, 특히 액티브 스타일러스의 오리엔테이션 검출 기능을 열거한 다른 예의 테이블이다.
도 4e는 미리 정의된 액티브 스타일러스의 기능에 관한 스타일러스 기능 정보의 3개의 예를 설명한다.
도 5a는 다운링크 타임슬롯 할당에 의해 설정된 스케줄에 따라서 액티브 스타일러스로부터 센서 컨트롤러에 송신되는, 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터예를 열거한 테이블이다.
도 5b는 한 종류의 동작 데이터, 즉 IMU(관성 계측 유닛(inertial measurement unit)) 데이터에 대한 다운링크 데이터 패킷 포맷을 나타내는 테이블이다.
도 5c는 센서 컨트롤러에 의해서 폴링(요구)될 때 센서 컨트롤러에 송신되는, 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터예를 열거한 테이블이다.
도 6은 액티브 스타일러스의 처리 플로우예를 나타내는 순서도이다.
도 7은 센서 컨트롤러의, 특히 액티브 스타일러스와의 페어링 동작을 실행하는 플로우예를 나타내는 순서도로서, 센서 컨트롤러는 액티브 스타일러스로부터 스타일러스 기능 정보(예를 들면, 설정 정보)를 나타내는 해시값을 수신하고, 수신한 해시값을 인식하는지 여부를 판정하고, 인식한다면, 페어링 동작을 가속화하는 순서도이다.
도 8a 및 도 8b는 센서 컨트롤러가 액티브 스타일러스에 비콘 신호(BS)를 송신하고, 액티브 스타일러스가 그것에 응답하여 스타일러스 기능 정보(CP 또는 해시#1)를 포함하는 신호를 센서 컨트롤러에 회신하는 프레임 포맷예를 나타낸다.
도 9a~도 9g는 센서 컨트롤러에 의해서 특정된 상이한 6종류의 다운링크 타임슬롯 할당에 따라서 액티브 스타일러스가 센서 컨트롤러에 패킷을 송신하는데 각각 이용하는, 7개의 상이한 프레임 포맷을 나타낸다.
도 10은 액티브 스타일러스와 센서 컨트롤러 사이의 페어링 동작예를 나타내는 순서도로서, 액티브 스타일러스는 액티브 스타일러스의 기능 정보를 나타내는 해시값을 송신하고, 센서 컨트롤러가 수신한 해시값을 인식하는지 여부를 판정하여, 인식하는 경우는, 페어링 동작을 가속화하는 순서도이다. 센서 컨트롤러는, 추가로, 수신한 기능 정보가 이전에 페어링된 적이 있는 스타일러스로부터의 것인 것에 대한 검증에, 제2 해시값을 이용한다.
도 1은 액티브 스타일러스(100) 및 전자 장치(예를 들면, PC, 태블릿 컴퓨터, 스마트 폰)(3)를 포함하는 시스템 전체를 나타낸다. 전자 장치(3)는 센서(201), 센서(201)에 결합된 센서 컨트롤러(200), 및 센서 컨트롤러(200)에 결합된 전자 장치(3)의 시스템 컨트롤러(호스트 프로세서)(300)를 구비한다.
PC, 태블릿 컴퓨터, 스마트 폰 등의 전자 장치(3)는, 전형적으로는, 센서(201) 아래에 존재하거나, 또는 위에 존재하는 스크린을 구비하고, 유저는 액티브 스타일러스(100)를 이용하여 그 스크린상에 문자 및 도형을 수기한다. 여기서 이용하는 액티브 스타일러스는, 전자 회로와, 배터리 또는 내장된 에너지 콘딧(parasitic energy conduit) 등의 전원(105)을 포함하는 스타일러스이다. 센서(201)는 용량성 터치/스타일러스 센서, 저항식 터치/스타일러스 센서, 전자 공명 스타일러스 센서, 광학식 스타일러스 센서, 초음파 스타일러스 센서 등의 임의의 적당한 공지의 스타일러스 검지 센서로 이루어질 수 있다. 스타일러스 센서도 있으며, 액티브 스타일러스 및 손가락 터치의 양방을 검출하는 것이 가능한 센서도 있다. 이하에서 도 2b를 참조하여 상술하는 센서 컨트롤러(200)는 센서(201)의 동작을 제어하여, 액티브 스타일러스(100)와의 쌍방향 통신을 실행하고, 추가로 호스트 프로세서(300)와 통신한다. 예를 들면, 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터의 자필 입력 데이터를 처리하여 센서(201)상에 있어서 액티브 스타일러스(100)에 의해 나타내진(지시된) 위치의 (X, Y) 좌표 및 색을 판별하고, 그 (X, Y) 좌표 및 색 정보를 전자 장치(3)의 호스트 프로세서(300)에 전송한다.
이하에서 도 2a를 참조하여 상술하는 액티브 스타일러스(100)는, 예를 들면 테이블(TBL)의 형태로 그 스타일러스의 스타일러스 기능 정보를 기억하는 메모리/캐쉬를 가지는 스타일러스 기능 정보 매니저(110)를 구비한다. 이하에서 보다 상세하게 설명하는 바와 같이, 스타일러스 기능 정보는, 전형적으로는 변경 가능하지 않은 미리 정의된(예를 들면, 제조자에 의해 설정된) 스타일러스의 기능에 관한 기능 정보와 유저에 의해 조정 가능한 스타일러스의 설정에 관한 설정 정보를 포함할 수 있다. 스타일러스 기능 정보 매니저(110)는, 유저가 예를 들면 스타일러스(100)에 구비된 스위치(버튼)(111)를 이용하여 스타일러스색 및 스타일러스 선 폭 등의 스타일러스 설정을 변경할 때마다, 설정 정보를 갱신한다. 도 1에, 1개의 테일 버튼(tail button, 111A) 및 1개의 사이드 버튼(111B)으로 이루어지는, 이러한 2개의 버튼을 나타낸다. 액티브 스타일러스(100)는, 추가로, 스타일러스(펜) 팁 압력 데이터 및 스타일러스 오리엔테이션 데이터(예를 들면, 센서 표면에 대해서 스타일러스가 어느 정도 트위스트 또는 틸트되어 있는지) 등의 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터를 준비하는(prepare) 데이터 매니저(112)를 구비한다.
스타일러스 기능 정보 매니저(110) 및 데이터 매니저(112)는, 양방 모두, 송신(TX) 회로 및 수신(RX) 회로를 구비하는 통신 모듈(130)에 결합되어 있다. 통신 모듈(130)은, 이하에서 보다 상세하게 설명하는 바와 같이, 액티브 스타일러스(100)의 스타일러스 기능 정보 및 동작 데이터를 센서 컨트롤러(200)에 송신하고, 센서 컨트롤러(200)로부터(비콘 신호 내의) 다양한 커맨드 및 다른 정보를 수신한다. 본 쌍방향 통신 프로토콜에 있어서, 센서 컨트롤러(200)는 마스터 장치이고, 액티브 스타일러스(100)는 슬레이브 장치이다. 본 개시에 있어서, 센서 컨트롤러(200)로부터 액티브 스타일러스(100)로의 송신 방향을 "업링크(uplink)"라고 칭하고, 액티브 스타일러스(100)로부터 센서 컨트롤러(200)로의 송신 방향을 "다운링크(downlink)"라고 칭한다.
도 1에 개략적으로 나타내는 바와 같이, 액티브 스타일러스(100)와 센서 컨트롤러(200) 사이의 전형적인 쌍방향 통신 플로우는, 액티브 스타일러스(100)가 하향 화살표에 의해서 나타내지는 펜 다운 동작 동안에 센서 컨트롤러(200)의 검지 영역(SZ)에 들어가는 것에 의해서 개시된다. 액티브 스타일러스(100)가 검지 영역내에 들어가면, 액티브 스타일러스(100)는 센서 컨트롤러(200)로부터 센서(201)를 통해서 주기적으로 송신되는 비콘 신호를 검출할 수 있다. 비콘 신호를 검출하면, 액티브 스타일러스(100)는 스타일러스 기능 정보 매니저(110)로부터 검색한 스타일러스 기능 정보를 포함하는 응답 신호를 송신한다. 이하에서 도 10을 참조하여 상술하는 것처럼, 액티브 스타일러스(100)의 설정 정보를 해시화하여, 1 타임슬롯에서 센서 컨트롤러(200)에 송신할 수 있는 이점이 있는, 고정된(보다 작은) 사이즈의 해시값("해시#1(Hash#1)")을 생성할 수 있다. 해시#1에는, 대응하는 고정 사이즈의 해시값("해시#2(Hash#2)")이 존재한다. 액티브 스타일러스(100)가 이전에 센서 컨트롤러(200)와 페어링되었던 적이 있으면, 액티브 스타일러스(100) 및 센서 컨트롤러(200)의 양방이, 액티브 스타일러스(100)가 센서 컨트롤러(200)와 페어링했을 때의 액티브 스타일러스(100)의 특정의 설정 정보로부터 산출되는 해시#1 및 해시#2를 가진다. 그러므로, 센서 컨트롤러(200)가 수신한 해시#1을 인식하면, 센서 컨트롤러(200)가 이전에 액티브 스타일러스(100)와 페어링되었고, 따라서 특정의 설정 정보를 포함하는 액티브 스타일러스(100)의 스타일러스 기능 정보를 이미 알고 있는 것을, 센서 컨트롤러(200)가 안다. 센서 컨트롤러(200)는 그 다음으로, 이전에 액티브 스타일러스(100)에 할당된 것과 같은 다운링크 타임슬롯 할당을 이용하여 액티브 스타일러스(100)와의 쌍방향 통신을 개시할 수 있다. 추가로, 센서 컨트롤러(200)는 수신한 해시#1에 대응하는 해시#2를 액티브 스타일러스(100)에 회신하여 센서 컨트롤러(200)가 액티브 스타일러스(100)를 정확하게 인식한 것을 검증할 수 있다. 이하에서 보다 상세하게 설명하는 바와 같이, 해시#1의 사용에 의해서, 액티브 스타일러스(100)가 센서 컨트롤러(200)의 검지 영역에 다시 들어갈 때마다, 액티브 스타일러스(100)와 센서 컨트롤러(200) 사이의 페어링 처리가 가속화되고, 이것은 액티브 스타일러스(100)가 반복하여, 검지 영역에서 나왔다가("펜 업(Pen up)" 화살표를 참조) 검지 영역으로 다시 들어가는("펜 다운(Pen down)" 화살표를 참조) 경우에 특히 유리한 기술적 특징이다.
본 명세서에서 이용하는 "페어링(pairing)" 동작이란, 센서 컨트롤러(200)로부터의 개시(initial)(발견(discovery)) 비콘 신호를 검출한 액티브 스타일러스(100)로부터의 응답 신호의 송신에 의해서 개시되고, 센서 컨트롤러(200)로부터의, 액티브 스타일러스(100)에 대한 다운링크 타임슬롯 할당을 포함하는 다른 비콘 신호의 송신에 의해서 종료하는 처리를 가리킨다. 센서 컨트롤러(200)는 액티브 스타일러스의 스타일러스 기능 정보에 비추어 대상으로 하고 있는 액티브 스타일러스에 대한 다운링크 타임슬롯 할당을 결정함으로써, 스타일러스 기능을 충분히 서포트하는 액티브 스타일러스와의 고유한 통신 링크를 확립한다. 이렇게 하여, 페어링 동작의 종료시에, 액티브 스타일러스는, 새롭게 확립된 고유한 통신 링크를 이용하여 센서 컨트롤러와의 쌍방향 통신을 개시할 수 있다.
해시#1의 사용은 "급속 잉킹(fast inking)"을 달성하는 것에도 유리하다. 응용 프로그램이 묘화(描畵)를 개시하는 것이 가능하게 되려면, 그 응용 프로그램이 스크린상에 묘화하려고 하는 선의 파라미터를 알 필요가 있다. 이들 파라미터는, 예를 들면, 선의 색 또는 브러시 스타일(에어브러시(airbrush), 초크(chalk) 등)을 포함한다. 해시#1의 사용에 의해서, 센서 컨트롤러는 검지 영역에 들어간 특정의 스타일러스에 대한 이들 파라미터가 이미 캐쉬되었다는 것을 즉시 인식하여, 응용 프로그램이 거의 순간적으로 묘화, 즉 "잉킹"을 개시하는데 이들 파라미터를 이용 가능하게 할 수 있다.
도 2a는 예로서의 액티브 스타일러스(100)의 기능 블록도이다. 액티브 스타일러스(100)는 액티브 스타일러스(100)의 팁에 있어서, TX/RX 전극(115), TX/RX 전극(115)에 결합된 스위치(SW), 수신 회로(117), 송신 회로(119), 및 마이크로 컨트롤러 유닛(MCU)(120)을 구비한다. MCU(120)는 ROM 및 RAM을 내장하는 마이크로 프로세서로 이루어져, 규정된 프로그램에 따라서 동작하도록 구성되어 있다. 스위치(SW)는 MCU(120)로부터의 스위치 제어 신호 SWC에 의해 지시받아, TX/RX 전극(115)을 수신 단자(R)와 송신 단자(T) 중 어느 것에 결합시킨다. 처음에, 액티브 스타일러스(100)가 센서 컨트롤러(200)로부터의 비콘 신호를 기다리는 동안, 스위치(SW)는 TX/RX 전극(115)을 수신 단자(R)에 접속시킨다. 수신 회로(117)는 TX/RX 전극(115)으로부터의 신호를 수신 및 처리하여 MCU(120)에 의해 사용 가능한 디지털 형식으로 출력하는데 필요한 전자 구성부품을 구비한다. MCU(120)가 센서 컨트롤러(200)로부터의 비콘 신호를 검출하면, MCU(120)는 송신 회로(119)와 협동하여 응답 신호(예를 들면, ACK 신호)를 생성해 두고, 추가로 스위치 제어 신호 SWC를 스위치(SW)에 송출하여 TX/RX 전극(115)을 송신 단자(T)에 접속시킴으로써, 그 응답 신호를 TX/RX 전극(115)을 통해서 센서 컨트롤러(200)에 송신한다.
송신 회로(119)는 MCU(120)로부터의 신호를 수신 및 처리하여 TX/RX 전극(115)을 통해 센서 컨트롤러(200)에 송신되도록 출력하는데 필요한 전자 구성부품을 구비한다. 예를 들면, 송신 회로(119)는 MCU(120)에 의해 규정된 주파수의 캐리어 신호를 생성하고, 그 캐리어 신호를, 센서 컨트롤러(200)가 액티브 스타일러스(100)에 의해 나타내진 위치를 판별하는(산출하는) 것에 이용하는 "위치 패킷(position packets)"으로서 무변조로 출력할 수 있다. 이것을 대신하여, 송신 회로(119)는 PSK(위상 편이), D―BPSK(차동 2상 PSK), QAM(직교 진폭 변조), 및 DSSS(직접 시퀀스 스펙트럼 확산) 등의 임의의 적당한 변조 방식을 이용하여, 설정 정보를 나타내는 해시#1 등의 액티브 스타일러스(100)의 스타일러스 기능 정보에 의해 캐리어 신호를 변조해도 된다. 그 다음으로, 스타일러스 기능 정보에 의해 변조된 신호를 TX/RX 전극(115)을 통해서 센서 컨트롤러(200)에 송신한다.
송신 회로(119)는 액티브 스타일러스(100)의 동작 상태를 나타내는 동작 데이터 등의 스타일러스 기능 정보 이외의 정보에 의해 캐리어 신호를 변조할 수 있다. 동작 데이터는, 예를 들면, 스타일러스(펜) 팁 압력 데이터, 스타일러스 배럴 압력 데이터, 스타일러스 오리엔테이션(예를 들면, 트위스트/틸트) 데이터, 스타일러스 스위치 스테이터스(status), 및 스타일러스 배터리 레벨을 포함할 수 있다. 이러한 동작 데이터를 생성하기 위해서, 액티브 스타일러스(100)는 스타일러스 팁에 가해지는 압력을 검지하도록 구성된 스타일러스(펜) 팁 압력 센서(122a)(예를 들면, 가변 캐패시터로 이루어짐), 스타일러스 배럴에 가해지는 압력을 검지하도록 구성된 배럴 압력 센서, 9축 이하의 축을 가지는 IMU(관성 계측 유닛)(122b)(3축 자이로스코프, 3축 가속도계, 및 3축 지자기계 중 하나 또는 복수의 조합으로 구성됨), 센서(201)의 X전극(또는 Y전극)의 각각의 방향에 대한 액티브 스타일러스(100)의 축의 주위의 액티브 스타일러스(100)의 트위스트/회전을 검지하도록 구성된 트위스트 센서(122c), 센서(201)의 표면에 대한 액티브 스타일러스(100)의 축의 X방향 틸트 및 Y방향 틸트를 검지하도록 구성된 틸트 센서(122d) 등의 1개 또는 복수의 센서(122)를 구비한다(스타일러스 팁 압력 센서(122a) 이외의 센서(122b~122d)의 도시를 생략했음). MCU(120) 및 송신 회로(119)는, 이들 센서로부터의 출력을, TX/RX 전극(115)을 통해서 센서 컨트롤러(200)에 송신하는 "데이터 패킷"에 미리 준비한다. 그 데이터 패킷을 센서 컨트롤러(200)에 송신하기 위해서, MCU(120)는, TX/RX 전극(115)을 송신 단자(T)에 접속시키는 스위치 제어 신호 SWC를 스위치(SW)에 송출한다.
다양한 액티브 스타일러스는 다양한 검지 기능을 가지고 있어, 다양한 센서를 충분히 갖춘 스타일러스가 존재하는 한편으로, 스타일러스 팁 압력 센서(122a)만을 구비한 스타일러스도 존재한다. 이하에서 보다 상세하게 설명하는 바와 같이, 본 발명은 검지 영역에 들어가는, 대상으로 하고 있는 액티브 스타일러스의, 개개의 기능을 센서 컨트롤러(200)가 즉시 확인하는 것을 가능하게 함으로써, 스타일러스의 기능을 서포트하는 고유한 통신 링크를 (특정의 다운링크 타임슬롯 할당에 기초하여) 구성하는 쌍방향 통신 프로토콜을 제안한다.
도 2b는 예로서의 센서 컨트롤러(200)의 기능 블록도이다. 센서 컨트롤러(200)는 전자 장치(3)의 일부로서(도 1을 참조), X전극(201X) 및 Y전극(201Y)의 매트릭스를 구비하는 센서(201)에 결합되어 있고, 센서(201)상에 있어서 액티브 스타일러스(100)가 다양한 자필 동작을 행한다. 센서 컨트롤러(200)는, 추가로, 전자 장치(3)의 호스트 프로세서(300)에 결합되어 있다.
센서 컨트롤러(200)는 송신 회로(210), 셀렉터(220), 수신 회로(230), 논리 유닛(235), 및 MCU(마이크로 컨트롤러 유닛)(240)를 구비한다. MCU(240)는 ROM 및 RAM을 내장하는 마이크로 프로세서로 이루어져, 규정된 프로그램에 따라서 동작하도록 구성되어 있다. MCU(240)는 논리 유닛(235)에, 송신 회로(210), 셀렉터(220), 및 수신 회로(230)의 동작을 제어하는 제어 신호(ctr, sTRx, sTRy, selX, selY 등)를 전달하도록 지시한다. MCU(240)는 수신 회로(230)로부터 수신한 디지털 데이터를 처리하고, 센서(201)의 액티브 스타일러스(100)에 의해 나타내진 위치의 X좌표 및 Y좌표, 색, 불투명도(어두움) 등을 판별/산출하여, 예를 들면, 표시를 위해서 전자 장치(3)의 호스트 프로세서(300)에 산출한 위치 데이터를 출력한다.
송신 회로(210)는 MCU(240)로부터의 신호를, 센서(201)의 매트릭스 전극을 통해서 액티브 스타일러스(100)에 송신되도록 수신 및 처리하여 출력하는데 필요한 전자 구성부품을 구비한다. 구체적으로는, MCU(240)의 제어하에 있어서, 송신 회로(210)는 주기적인 비콘 신호를 생성하여 센서(201)의 매트릭스 전극을 통해서 액티브 스타일러스(100)에 송신한다. 이하에서 보다 상세하게 설명하는 바와 같이, 비콘 신호는 센서 컨트롤러(200)를 발견하기 위해서 액티브 스타일러스의 근방에서 이용되어(검출되어), 액티브 스타일러스가 센서 컨트롤러(200)와 동기하는 타이밍 기준으로서 기능한다. 추가로, 비콘 신호는, 상술한 바와 같이, 액티브 스타일러스(100)로부터 해시#1을 수신한 센서 컨트롤러(200)가 검증용으로 액티브 스타일러스(100)에 회신하는 해시#2를 포함할 수 있다. 비콘 신호는 액티브 스타일러스에 대해서 결정되는 다운링크 타임슬롯 할당을 포함하는 것이 가능하고, 그것에 의해 어떠한 다운링크 타임슬롯을 이용하여 어떠한 종류의 패킷을 센서 컨트롤러에 송신할지를 액티브 스타일러스에 통지한다. 또 추가로, 비콘 신호는 액티브 스타일러스(100)의 동작을 제어하는 다양한 커맨드를 포함할 수 있다. 예를 들면, 비콘 신호는 센서 컨트롤러(200)에 (부가적인) 스타일러스 기능 정보를 송신하도록 액티브 스타일러스(100)에 요구하는 판독 커맨드, 또는 액티브 스타일러스(100)에 관한 기능 정보를 설정하는(기입하는) 기입 커맨드를 포함할 수 있다. 비콘 신호는, 추가로, 액티브 스타일러스의 배터리 레벨 등의 액티브 스타일러스의 동작 데이터를 센서 컨트롤러에 송신하도록 액티브 스타일러스에 요구하는(폴링하는) 폴링 커맨드를 포함할 수 있다. 송신 회로(210)는 비콘 신호를 형성하는 캐리어 신호를, PSK, D―BPSK, QAM, 및 DSSS 등의 임의의 적당한 변조 방식을 이용하여 해시#2에 의해서, 다운링크 타임슬롯 할당에 의해서, 또는 MCU(240)로부터 수신한 이들 다양한 커맨드에 의해서 변조할 수 있다.
수신 회로(230)는 액티브 스타일러스(100)로부터 수신한 신호를 처리하여 센서(201)의 매트릭스 전극을 통해 MCU(240)에 의해 사용 가능한 디지털 형식으로 출력하는데 필요한 전자 구성부품을 구비한다. 예를 들면, 수신 회로(230)는 액티브 스타일러스(100)로부터 수신한, (비콘 신호에 응답한) 응답 신호, (액티브 스타일러스의 동작 데이터를 포함하는) 데이터 패킷, 및 위치 패킷을 처리하여 MCU(240)로 출력한다. 센서(201)가 액티브 스타일러스(100)에 더하여 손가락 터치를 검출하는 것이 가능한 경우, 수신 회로(230)는 액티브 스타일러스(100)로부터 송신된 신호에 더하여 손가락 터치를 나타내는 신호를 센서(201)의 매트릭스 전극을 통해서 수신 및 처리하여, 액티브 스타일러스(100)에 의해서 나타내진 위치에 더하여 손가락 터치 위치를 판별하는 MCU(240)로 출력한다.
셀렉터(220)는 논리 유닛(235)으로부터의 제어 신호 전달에 기초하여, 송신 모드와 수신 모드의 사이에서 센서(201)의 동작 모드를 전환한다. 셀렉터(220)는 스위치(222x 및 222y)와 전극 선택 회로(224x 및 224y)를 구비한다. 논리 유닛(235)으로부터의 제어 신호 sTRy 및 sTRx의 전달에 기초하여, 스위치(222x, 222y)는 센서(201)의 X전극(201X) 및 Y전극(201Y)을 각각, 송신 회로(210)에 결합한 송신 단자(T)와 수신 회로(230)에 결합한 수신 단자(R) 중 어느 것에 접속한다. 송신 모드에서는 송신 회로(210)에 결합한 전극을 이용하여 액티브 스타일러스(100)에 신호를 송신하고, 수신 모드에서는 수신 회로(230)에 결합한 전극을 이용하여 액티브 스타일러스(100)로부터의 신호를 수신한다. 추가로, 액티브 스타일러스(100)에 신호를 송신하거나, 또는 액티브 스타일러스(100)로부터 신호를 수신하기 위해서, 제어 신호 selX, selY의 전달에 기초하여, 전극 선택 회로(224x, 224y)는 각각 X전극(201X), Y전극(201Y)을 선택한다. 논리 유닛(235)은, 추가로, MCU(240)의 지시를 받아, 송신 회로(210) 및 수신 회로(230)에 제어 신호 "ctr"를 송출하여 송신 회로(210) 및 수신 회로(230)의 동작을 제어한다.
도 3은 액티브 스타일러스(100)와 센서 컨트롤러(200) 사이의 쌍방향 통신에 이용되는 프레임 포맷예이고, 쌍방향 통신 자원은 시간축을 따라서 프레임으로 분할됨과 아울러 주파수축을 따라서 다른 주파수로 분할된다. 각 프레임은, 추가로, 시간축을 따라서 16개 타임슬롯(s0~s15)으로 분할되고, 각 타임슬롯은, 예를 들면 20비트(16 정보 비트에 4 CRC 비트가 더해짐)까지 수용하는 사이즈로 정해져 있다. 일례로서 프레임 길이는 16msec이며, 타임슬롯 길이는 1msec이다. 또한, 프레임을 16보다 적은 또는 많은 타임슬롯으로 분할해도 되며, 본 발명은 여기서 설명하는 16 타임슬롯의 예로 한정되지 않는다. 예를 들면, 16msec의 프레임을 64 타임슬롯으로 분할하고, 각 타임슬롯을 250μsec의 길이로 해도 된다.
실시예로서, 각 프레임의 개시시의 1개 또는 복수의 타임슬롯은, 센서 컨트롤러(200)에 의해서, 주기적인 비콘 신호(BS)를 액티브 스타일러스(100)에 송신하기 위해 "업링크(uplink)"에 이용된다. 따라서, 프레임을, 2개의 연속하는 비콘 신호의 개시시의 사이의 간격으로 간주할 수 있다. 각 프레임에 있어서의 다른 타임슬롯은, 이후에 도 8a~도 9g의 다양한 예에 나타내는 바와 같이, 액티브 스타일러스(100)에 의해서, 신호(예를 들면, 비콘 신호에 대한 응답 신호), 데이터 패킷, 및 위치 패킷을 센서 컨트롤러(200)에 송신하기 위해 "다운링크(downlink)"에 이용된다. 도시하지는 않았지만, 업링크 타임슬롯(도 3에 있어서의 s0)과 다운링크 타임슬롯(도 3에 있어서의 s1~s15)의 사이에, 업링크 송신과 다운링크 송신 사이의 충돌을 피하도록, 업링크에도 다운링크에도 송신이 스케줄링되지 않는 기간인 갭 타임슬롯을 마련해도 된다.
비콘 신호는 근방의 액티브 스타일러스가 센서 컨트롤러(200)를 발견할 수 있도록, 또 센서 컨트롤러(200)와 액티브 스타일러스(100) 사이의 쌍방향 통신에 이용되는 타임슬롯의 타이밍 기준으로서 기능하도록 센서 컨트롤러(200)에 의해서 송신되는 주기적 신호이다. 따라서, 통상의 실시 형태에 있어서, 비콘 신호는 모든 액티브 스타일러스에 의해서 검출 가능해지도록 모든 주파수로 송신된다. 각 액티브 스타일러스(100)는 비콘 신호를 기다리고, 액티브 스타일러스(100)가 비콘 신호를 검출한 후에, 액티브 스타일러스(100)는 비콘 신호에 기초하여 액티브 스타일러스(100)의 타이밍 기준을 설정한다. 센서 컨트롤러(200)를 발견하는 액티브 스타일러스(100)에 의해서 검출되는 처음 비콘 신호에 이어지는 비콘 신호 비콘 신호는, 액티브 스타일러스(100)가 이전에 센서 컨트롤러(200)와 페어링된 것을 검증하는데 이용되는 해시#2 등의 다양한 정보와 페어링 동작 중 및 페어링 동작 후에 액티브 스타일러스(100)의 동작을 제어하는 커맨드를 포함할 수 있다. 액티브 스타일러스(100)에게 보내진 해시#2 또는 커맨드를 포함하는 비콘 신호는, 전형적으로는, 어느 비콘 신호가 (만약 있다면, 다른 액티브 스타일러스에는 아니고) 액티브 스타일러스(100)에게 보내지고 있는지를 액티브 스타일러스(100)가 식별할 수 있도록, 액티브 스타일러스(100)의 스타일러스 ID를 포함한다. 센서 컨트롤러(200)로부터의 비콘 신호는, 추가로, 전형적으로는, 센서 컨트롤러(200)의 센서 컨트롤러 ID를 포함한다.
다양한 실시 형태에 따라서, 센서 컨트롤러(200)는 센서 컨트롤러(200)의 검지 영역에 들어가 각 액티브 스타일러스(100)의 기능 정보를 즉시 확인하고, 확인한 기능 정보에 기초하여 액티브 스타일러스(100)에 대한 다운링크 타임슬롯 할당을 결정한다. 액티브 스타일러스(100)는, 그 다음으로, 액티브 스타일러스(100)의 기능을 서포트하는 결정한 다운링크 타임슬롯 할당에 따라서, 데이터 패킷 및/또는 위치 패킷을 센서 컨트롤러에 송신함으로써, 센서 컨트롤러와의 쌍방향 통신을 개시한다. 예를 들면, 대상으로 하고 있는 액티브 스타일러스가 스타일러스 오리엔테이션 검출 기능을 가진다고 센서 컨트롤러(200)가 판정하는 경우에, 센서 컨트롤러(200)는 액티브 스타일러스(100)가 스타일러스 오리엔테이션 데이터를 센서 컨트롤러(200)에 송신하도록 다운링크 타임슬롯을 할당하는 한편, 이러한 스타일러스 오리엔테이션 검출 기능을 가지지 않은 액티브 스타일러스에는 이러한 다운링크 타임슬롯을 할당하지 않는다. 이렇게 하여, 센서 컨트롤러(200)는 액티브 스타일러스의 기능 정보에 따라서, 상이한 다운링크 타임슬롯 할당을 액티브 스타일러스에 할당할 수 있다. 액티브 스타일러스가 센서 컨트롤러(200)의 검지 영역 밖에 존재하는 동안에, 유저에 의해 조정 가능한 액티브 스타일러스의 설정에 관한 설정 정보(예를 들면, 스타일러스 선 폭)가 변경될 수 있기 때문에, 그 센서 컨트롤러는, 그 액티브 스타일러스가 이전에 그 센서 컨트롤러와 페어링되었던 적이 있는 경우라도, 그 액티브 스타일러스가 검지 영역에 다시 들어갈 때마다 현재의 설정 정보를 확인할 필요가 있다.
도 4a는 액티브 스타일러스의 스타일러스 기능 정보의 종류예를 열거한 테이블로서, 기능 정보 및 설정 정보를 포함한다. 기능 정보는 통상은 스타일러스 벤더(제조자)에 의해 미리 설정되고, 또한 통상은 유저에 의해 변경 가능하지 않은, 액티브 스타일러스의 미리 정의된 기능에 관련된다. 예를 들면, 스타일러스상에 구비된 배럴 스위치의 수는 유저에 의해 변경 가능하지 않다. 기능 정보는, 추가로, 액티브 스타일러스가 어느 버전의 쌍방향 통신 프로토콜에 준거하는지를 나타내는 버전 번호(4비트)를 포함할 수 있다. 기능 정보는, 추가로, 센서(201)의 화면상에 표시하는 액티브 스타일러스의 추천, 또는 디폴트 색인 "추천색"(140 CSS(Cascading Style Sheet) 색 중 하나를 나타내는 8비트)를 포함할 수 있다. 기능 정보는, 추가로, 도 4b를 참조하여 이하에서 보다 상세하게 설명하는 바와 같이, 벤더에 의해 액티브 스타일러스에 대해서 설정될 수 있는 다양한 다른 기능에 관련될 수 있다.
도 4a는 추가로, 스타일러스 선 폭 및 스타일러스 팁 타입(예를 들면, 0=펜, 1=지우개(eraser), 2=치즐(chisel) 팁 마커, 3=에어브러시, 4=연필, 5~7=커스텀/벤더 사양 팁 스타일용으로 확보)을 포함하는 "펜 스타일(pen style)" 등의 유저에 의해 조정 가능한 액티브 스타일러스의 설정에 관한 설정 정보와, 액티브 스타일러스의 테일/배럴 버튼(스위치)(111A/111B)에 할당된 기능을 기술(記述)한다. 예를 들면, 유저는 버튼(스위치)을 조작함으로써 펜 스타일을 변경하고, 또는 버튼(스위치)에 할당된 기능을 변경할 수 있다. 설정 정보는 액티브 스타일러스에 대해서 설정될 수 있는 유저에 의해 변경 가능한 다른 설정에 관련될 수 있다. 액티브 스타일러스의 고유 식별 번호는, 액티브 스타일러스상에 배치된 1개 또는 복수의 스위치를 이용하여 유저에 의해 변경 가능하게 할 수 있다. 예를 들면, 각 스타일러스에 대해 모두 64비트 글로벌 ID를 구성할 수 있는 벤더 ID(8비트) 및 시리얼 번호(56비트)는, 유저에 의해 변경 가능하게 할 수 있다. (일부 실시 형태에서는 글로벌 ID가 유저에 의해 변경 가능하지 않음.) 추가로, 기능 정보의 하나의 종류로서 상술한 액티브 스타일러스의 "추천색"은, 유저에 의해 조정 가능한 설정 정보를 대체할 수 있는 것으로, 유저는 예를 들면 버튼(스위치)을 이용하여 추천(디폴트)색을 자유롭게 조정할 수 있다. "추천색"의 예가 나타내는 바와 같이, 기능 정보와 설정 정보의 차이는 엄밀하지 않고, 벤더 마다, 또는 스타일러스마다 바뀔 수 있다. 추가로, 기능 정보로서 취급할 수 있다고 한 것처럼, 유저에 의해서 1회만, 또는 매우 낮은 빈도로 설정될 수 있는 설정 정보도 존재할 수 있다.
도 4b는 액티브 스타일러스에 의해서 그 액티브 스타일러스의 기능 정보를 센서 컨트롤러(200)에 송신하는데 이용되는 데이터 포맷예를 열거한 테이블이다. 기능 정보는, 도 4c를 참조하여 이하에서 보다 상세하게 설명하는 바와 같이, 예를 들면, 몇 개의 상이한 단계(예를 들면, 256, 512, 1024 등)의 펜 팁 압력을 검출하는 것이 가능한지, 액티브 스타일러스상에 구비된 배럴 버튼(예를 들면, 111A/111B)의 수, 배럴 압력을 검출하는 스타일러스의 기능(가능 여부로서, 가능하면, 몇 개의 상이한 단계의 배럴 압력을 검출하는 것이 가능한지), 및 스타일러스 오리엔테이션(예를 들면, 스타일러스 트위스트 및 틸트)을 검출하는 스타일러스의 기능에 관한 정보를 포함한다.
도 4b의 기능 정보는, 추가로, 데이터 패킷에 대해서 커스텀(커스터마이즈된) 데이터 사이즈가 설정되어 있는지 여부, 그리고 설정되어 있는 경우는 커스텀 데이터 바이트의 수, 스타일러스의 오리엔테이션을 검출하는 것이 가능한 오리엔테이션 분해능(分解能)(예를 들면, 0은 8비트 분해능을 나타내고, 1은 9비트 분해능을 나타내고, 2는 10비트 분해능을 나타냄), 펜 팁 압력을 검출하는 것이 가능한 상이한 단계의 (디폴트 수치와는 달리) 커스터마이즈된 수치, 액티브 스타일러스에 마련되는 배럴 버튼의 (디폴트 수와는 달리) 커스터마이즈된 수, 및 오리엔테이션 데이터를 송신하는데 이용되는 (디폴트 데이터 바이트와는 달리) 커스터마이즈된 데이터 바이트수에 관한 정보를 포함할 수 있다.
도 4c는 액티브 스타일러스에 의해서 그 액티브 스타일러스의 오리엔테이션 검출 기능에 관한 기능 정보를 센서 컨트롤러에 송신하는데 이용되는 오리엔테이션 코드예를 열거한 테이블이다. 오리엔테이션 코드 0은, 액티브 스타일러스가 오리엔테이션 검출 기능을 가지지 않은 것을 나타내고, 1은 액티브 스타일러스가 X방향 및 Y방향의 양방에 있어서의 틸트를 검출하는 것이 가능한 것, 및 검출된 X틸트 데이터 및 Y틸트 데이터를 프레임당 2 타임슬롯에서 송신하는 것이 가능한 것을 나타내고, 2는 액티브 스타일러스가 X틸트 및 Y틸트에 더하여 트위스트(회전) 데이터를 프레임당 3 타임슬롯에서 검출 및 송신하는 것이 가능한 것을 나타내고, 3은 액티브 스타일러스가 센서 표면에 대한 액티브 스타일러스의 고도 데이터 및 방위각 데이터를 프레임당 2 타임슬롯에서 검출 및 송신하는 것이 가능한 것을 나타내고, 4는 액티브 스타일러스가 고도 및 방위각 데이터 및 트위스트(회전) 데이터를 프레임당 3 타임슬롯에서 검출 및 송신하는 것이 가능한 것을 나타내고, 5는 액티브 스타일러스가 3축 자이로스코프 및 3축 가속도계의 조합으로 이루어진 6축(IMU)(관성 계측 유닛)을 구비하는 것, 및 6축(IMU) 데이터를 프레임당 3 타임슬롯에서 송신하는 것이 가능한 것을 나타내고, 6은 액티브 스타일러스가 3축 자이로스코프, 3축 가속도계, 및 3축 지자기계의 조합으로 이루어진 9축(IMU)을 구비하는 것, 및 9축(IMU) 데이터를 프레임당 3 타임슬롯에서 송신하는 것이 가능한 것을 나타내고, 7은 액티브 스타일러스에 의해서 검출 및 송신될 수 있는 오리엔테이션 데이터의 커스터마이즈된 형식을 나타낸다.
도 4c의 오리엔테이션 코드 테이블은 상이한 종류의 오리엔테이션 센서에 대해서는 0~7의 상이한 값을 나타내지만, 도 4d에 나타내는 바와 같이, 대체 수법은, 액티브 스타일러스가 그 액티브 스타일러스의 오리엔테이션 기능을 센서 컨트롤러에 통지하는데 이용할 수 있는 기능들의 비트 필드를 구비하는 것이다. 기능 정보에 있어서 설정되는 비트의 각각은, 스타일러스가 해당하는 아이템을 계측하는 것이 가능한 것을 나타낸다. 기능 정보 필드에 배럴 압력 비트(barrel pressure bit)가 설정되는 경우, 그것은 스타일러스가 배럴 압력 지표(indication)를 가지는 것을 나타낸다. 틸트 비트가 설정되는 경우, 그것은 스타일러스가 X틸트 및 Y틸트를 계측하는 것이 가능한 것을 나타낸다. 트위스트 비트가 설정되는 경우, 그것은 스타일러스가 축의 주위의 트위스트를 계측하는 것이 가능한 것을 나타낸다. 고도 및 방위각 비트가 설정되는 경우, 그것은 스타일러스가 스타일러스의 고도 및 방위각을 계측하는 것이 가능한 것을 나타낸다. IMUhasAccel 비트가 설정되는 경우, 그것은 스타일러스가 3축 가속도계치를 구비하는 것을 나타낸다. IMUhasGryo 플래그가 설정되는 경우, 그것은 스타일러스가 3축 자이로스코프를 구비하는 것을 나타낸다. IMUhasMagnet 비트가 설정되는 경우, 그것은 스타일러스가 3축 지자기계를 구비하는 것을 나타낸다. 설정되는 이들 비트의 각각은, 그 데이터에 타임슬롯을 할당하는 것의 필요성을 나타내고, 후술하는 것이지만, IMU에 관해서는 단일의 타임슬롯 또는 타임슬롯의 세트에 데이터를 멀티플렉싱시키는 것이 가능하다.
도 4e는 액티브 스타일러스의 기능 정보의 3개의 예를 기술하고 있다. 예 1은, 1024의 상이한 단계로 스타일러스 팁 압력을 검출하는 것이 가능한 제1 액티브 스타일러스의 기능 정보로서, 1개의 배럴 버튼을 가지며, 접선 방향(배럴) 압력 검지 기능, 스타일러스 오리엔테이션 검지 기능, 및 커스텀 기능을 가지고 있지 않다. 예 2는 2048의 상이한 단계로 스타일러스 팁 압력을 검출하는 것이 가능한 제2 액티브 스타일러스의 기능 정보로서, 2개의 배럴 버튼, 접선 방향(배럴) 압력 검지 기능, 및 9축(IMU)(도 4c에 있어서의 오리엔테이션 코드 6)에 기초하는 스타일러스 오리엔테이션 검지 기능을 가지며, 커스텀 기능을 가지고 있지 않다. 예 3은, 각 압력 단계(값)가 16비트로 나타내지는 커스터마이즈된 수치로 이루어진 상이한 단계로 스타일러스 팁 압력을 검출하는 것이 가능한 제3 액티브 스타일러스의 기능 정보로서, 배럴 버튼, 접선 방향(배럴) 압력 검지 기능을 가지고 있지 않고, 액티브 스타일러스의 고도 및 방위각 데이터 및 트위스트(회전) 데이터를 검출 및 리포트하는 스타일러스 오리엔테이션 검지 기능을 가진다(도 4c에 있어서의 오리엔테이션 코드 4).
도 5a는 액티브 스타일러스에 대해서 다운링크 타임슬롯 할당에 의해 설정된 스케줄에 따라서, 액티브 스타일러스로부터 센서 컨트롤러에 송신될 수 있는 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터예를 열거한 테이블이다. 스케줄에 따라서 송신되는 동작 데이터가, 센서 컨트롤러가 센서 컨트롤러와 액티브 스타일러스 사이의 적절한 인터랙티브 동작을 달성하는데 필요로 하는 동작 데이터로 이루어지는, 다양한 실시 형태를 들 수 있다. 이러한 동작 데이터는, 예를 들면, 팁 압력 데이터, 접선 방향(배럴) 압력 데이터, 각 배럴 버튼의 스테이터스(예를 들면, 각 배럴 버튼의 온/오프 상태), 액티브 스타일러스가 그 액티브 스타일러스의 의도된(intended) 오리엔테이션으로부터 반전되어 있는 (즉, 스타일러스 팁이 상방을 향하는, 즉 스타이라스테일이 센서 표면의 쪽을 향하여, 및 센서 표면과 접촉하고, 예를 들면 "지우개"로서 이용되는)지 여부를 나타내는 반전 데이터, 스타일러스 오리엔테이션 데이터, 및 액티브 스타일러스의 어떠한 동작 상태를 나타내는 임의의 다른 커스터마이즈된 동작 데이터를 포함한다.
경우에 따라서는, 스타일러스 내의 센서로부터의 동작 데이터의 양이 다대(多大)해 질 수 있다. 이것은 특히 IMU에 적용된다. 이들 센서는 다음 중 어느 것 또는 모두, 즉 1~3축을 가지는 가속도계, 1~3축을 가지는 자이로스코프, 및 1~3축을 가지는 지자기계 중 어느 것 또는 모두를 구비할 수 있다. 이것에 의하여, 최대로 9축의 데이터를 송신할 필요성이 생길 수 있다. 이 데이터를 지정된 종류(예를 들면, 가속도계의 X축, Y축, Z축, 자이로스코프의 X축, Y축, Z축, 및 지자기계의 X축, Y축, Z축)로 이루어진 9 타임 슬롯에서 송신하는 것을 대신하여, 1개 또는 복수의 타임슬롯에 데이터를 멀티플렉싱시킬 수 있다.
멀티플렉싱을 실현하기 위해서, 어느 센서(가속도계, 자이로스코프, 또는 지자기계)로부터 데이터가 생겼는지를 나타내는 플래그(IMU 플래그)에 의해서 IMU 데이터에 태그 부착한다. 도 5b는 IMU 데이터를 송신하는 데이터 패킷(또는 리포트)의 예이다. 도 5b에 있어서, "IMU 데이터(IMUdata)" 필드는 IMU 데이터 자체를 포함하고, "IMU 플래그(IMUFlag)" 필드는 어느 센서가 IMU 데이터를 생성했는지를 나타낸다. 예를 들면, IMU 플래그가 제로인 경우는 그것은 데이터가 가속도계로부터 생긴 것을 나타내고, IMU 플래그가 1인 경우는 그것은 데이터가 자이로스코프로부터 생긴 것을 나타내고, IMU 플래그가 2인 경우는 그것은 데이터가 지자기계로부터 생긴 것을 나타낼 수 있다. IMU 데이터 필드는 IMU 플래그에 의해 나타내지는 센서에 의해서 생성된 X축 데이터, Y축 데이터, Z축 데이터를 포함할 수 있다.
예를 들면, 9축의 데이터(예를 들면, 가속도계의 X축, Y축, Z축, 자이로스코프의 X축, Y축, Z축, 및 지자기계의 X축, Y축, Z축)를, 공통의 리포트 포맷(또는 데이터 패킷)의 3 타임슬롯(또는 3개의 데이터 필드)에 멀티플렉싱시켜, 이하와 같이 3개의 상이한 시점에 있어서 3개의 리포트를 작성할 수 있다.
(리포트 1)
센서 태그―"가속도계(Accelerometer)"
X축 데이터 필드―가속도계 X축 데이터
Y축 데이터 필드―가속도계 Y축 데이터
Z축 데이터 필드―가속도계 Z축 데이터
(리포트 2)
센서 태그―"자이로스코프(Gyroscope)"
X축 데이터 필드―자이로스코프 X축 데이터
Y축 데이터 필드―자이로스코프 Y축 데이터
Z축 데이터 필드―자이로스코프 Z축 데이터
(리포트 3)
센서 태그―"지자기계(Magnetometer)"
X축 데이터 필드―지자기계 X축 데이터
Y축 데이터 필드―지자기계 Y축 데이터
Z축 데이터 필드―지자기계 Z축 데이터
다른 예로서, 9축의 데이터를 공통의 리포트 포맷(또는 데이터 패킷)의 1 타임슬롯(또는 1개의 데이터 필드)에 멀티플렉싱시켜, 9개의 상이한 시점에 있어서 9개의 리포트를 작성할 수 있다.
(리포트 1)
센서 태그―"가속도계(Accelerometer)"
축 태그―"X"
데이터 필드―가속도계 X축 데이터
(리포트 2)
센서 태그―"가속도계(Accelerometer)"
축 태그―"Y"
데이터 필드―가속도계 Y축 데이터
(리포트 3)
센서 태그―"가속도계(Accelerometer)"
축 태그―"Z"
데이터 필드―가속도계 Z축 데이터
(리포트 4)
센서 태그―"자이로스코프(Gyroscope)"
축 태그―"X"
데이터 필드―자이로스코프 X축 데이터
(리포트 5)
센서 태그―"자이로스코프(Gyroscope)"
축 태그―"Y"
데이터 필드―자이로스코프 Y축 데이터
(리포트 6)
센서 태그―"자이로스코프(Gyroscope)"
축 태그―"Z"
데이터 필드―자이로스코프 Z축 데이터
(리포트 7)
센서 태그―"지자기계(Magnetometer)"
축 태그―"X"
데이터 필드―지자기계 X축 데이터
(리포트 8)
센서 태그―"지자기계(Magnetometer)"
축 태그―"Y"
데이터 필드―지자기계 Y축 데이터
(리포트 9)
센서 태그―"지자기계(Magnetometer)"
축 태그―"Z"
데이터 필드―지자기계 Z축 데이터
이와 같이 그 IMU 데이터를 1개 또는 복수의 타임슬롯(1개 또는 복수의 데이터 필드)에 멀티플렉싱시키는 것에는, 각 리포트에 있어서 필요하게 되는 타임슬롯의 수가 삭감되어, IMU 데이터를 송신하는데 필요한 리포트의 수가 증가하여 전체의 IMU 데이터 레이트를 저하시키지 않아도 된다는 이점이 있다.
일부 실시 형태에서, 복수의 IMU 센서로부터의 데이터를 "센서 퓨전(sensor fusion)"으로서 알려진 처리에 의해서 결합하여 원하는 위치 정보 및 움직임 정보를 생성할 수 있다. 예를 들면, 액티브 스타일러스의 어느 방향이 "하방(down)"인지를 판정하고 싶은 경우에, 움직임의 방향을 나타내는 자이로스코프 데이터를, 움직임의 가속 방향 및 중력의 가속 방향의 양방을 나타내는 가속도계 데이터로부터 감산할 수 있다. 감산의 결과는, 중력에만 기인하는 가속 방향, 즉 "하방" 기준 좌표계를 나타낸다.
"센서 퓨전(sensor fusion)"을 실행할 때, 최대한 정확한 결과를 주도록, 다양한 IMU 센서로부터의 데이터를 가능한 한 서로 시간적으로 접근시켜 계측하여야 한다. 도 5b에 나타내는 "엔드(End)" 비트를 이용하여, 이하와 같이 하여 다양한 IMU 센서로부터의 데이터간의 동기를 달성할 수 있다. 복수의 IMU 센서의 계측치를 취득하여 액티브 스타일러스 내에 버퍼링한다. 버퍼링된 데이터를, 엔드 비트를 클리어하여 (예를 들면, "0") 이용 가능한 IMU 타임슬롯 할당에 의해서 송신한다. 도 9g는 IMU 데이터 패킷의 예 및 '엔드 비트(Endbit)'의 용법을 나타낸다. 마지막 버퍼링된 데이터 요소가 타임슬롯 내에 배치되면, 엔드 비트는 복수의 IMU 센서에 의해서 동시에 또는 시간적으로 접근하여 취득된 IMU 데이터의 세트에 있어서의 최후인 것을 나타내도록, 엔드 비트가 (예를 들면, "1"로) 설정된다. 센서 컨트롤러에 있어서, 엔드 비트가 클리어되어 수신된 임의의 IMU 데이터가 버퍼에 추가된다. 센서 컨트롤러가 엔드 비트가 설정된 IMU 데이터를 수신하면, 센서 컨트롤러는 그 다음에 버퍼 내의 데이터를 복수의 IMU 센서로부터의 IMU 데이터의 완전한 세트(complete set)로서 이용하여, 센서 퓨전을 실행하는 호스트 프로세서에 전송할 수 있다.
도 5c는 액티브 스타일러스의 배터리 레벨 등의, 센서 컨트롤러에 의해서 폴링(요구)될 때 액티브 스타일러스가 센서 컨트롤러에 송신하는, 액티브 스타일러스의 동작 상태를 나타내는 동작 데이터예를 열거한 테이블이다. 따라서, 이 종류의 동작 데이터는 낮은 빈도로밖에 센서 컨트롤러에 송신되지 않는다.
또한, 도 4a~도 4e를 참조하여 상술한 스타일러스 기능 정보, 및 도 5a~5c를 참조하여 상술한 동작 데이터는 일례에 지나지 않고, 본 발명은 도 4a~5c에 기재한 특정의 예를 이용하는 것으로 한정되지 않는다.
도 6은 액티브 스타일러스의 처리 플로우예를 나타내는 순서도이다. 스텝 S601에 있어서, 액티브 스타일러스는, 예를 들면 스타일러스 기능 정보 매니저(110)(도 1)의 테이블(TBL)에 격납된 액티브 스타일러스 자체가 가지는 스타일러스 기능 정보를 결정한다. 스텝 S603에 있어서, 액티브 스타일러스의 설정(예를 들면, 스타일러스 선 폭, 색 등)을 변경하는 유저 조작을 액티브 스타일러스가 검출하면, 스텝 S605에 있어서, 액티브 스타일러스는 이것에 따라 설정 정보를 갱신한다. 도 6에 나타내는 바와 같이, 스텝 S601~S605는, 통상, 액티브 스타일러스(100)가 센서 컨트롤러(200)의 검지 영역 밖에 존재하는 동안에 생긴다. 스텝 S611에 있어서, 액티브 스타일러스는 센서 컨트롤러(200)로부터의 비콘 신호를 기다리고, 비콘 신호가 검출되지 않는 경우는 스텝 S603으로 돌아가, 필요에 따라서 설정 정보를 갱신하는 것을 계속하고, 비콘 신호를 기다린다.
스텝 S611에 있어서, 액티브 스타일러스는 센서 컨트롤러(200)의 검지 영역에 들어갈 때, 센서 컨트롤러(200)로부터의 비콘 신호를 검출한다. 스텝 S613에 있어서, 액티브 스타일러스는 타이밍 기준으로서의 검출된 비콘 신호를 이용하여, 액티브 스타일러스의 프레임/타임슬롯 설정을 센서 컨트롤러의 것에 동기시킨다. 스텝 S615에 있어서, 액티브 스타일러스는, 단일의 다운링크 타임슬롯을 이용하여 설정 정보의 해시값(해시#1)을 송신하고, 센서 컨트롤러가 그 액티브 스타일러스를 센서 컨트롤러가 이전에 페어링된 적이 있는 액티브 스타일러스라고 인식하는지 여부를 센서 컨트롤러에 판정시킨다. 센서 컨트롤러가 해시#1에 기초하여 액티브 스타일러스를 인식하지 않은 경우는, 스텝 S617에 있어서, 액티브 스타일러스는, 센서 컨트롤러로부터 수신한 기능 정보 요구(판독) 커맨드에 응답하여, 경우에 따라서는 복수의 다운링크 타임슬롯을 이용하여 액티브 스타일러스의 (완전한) 스타일러스 기능 정보를 센서 컨트롤러에 송신한다. 반면에, 센서 컨트롤러가 해시#1에 기초하여 액티브 스타일러스를 인식하는 경우는, 스텝 S619에 있어서, 센서 컨트롤러는, 바람직하게는 단일의 업링크 타임슬롯을 이용하여 설정 정보의 해시값("해시#2(Hash#2)")을 검증을 위해서 액티브 스타일러스에 송신한다. 이하에서 추가로 도 7 및 도 10을 참조하여, 해시#1 및 해시#2를 이용하는 액티브 스타일러스와 센서 컨트롤러 사이의 페어링 동작 및 "급속 잉킹(fast inking)" 동작을 설명한다.
스텝 S617에 있어서 비-해시화 스타일러스 기능 정보를 송신한 후, 또는 스텝 S619에 있어서 설정 정보의 해시#2를 수신한 다음은, 스텝 S631에 있어서, 액티브 스타일러스는 센서 컨트롤러(200)로부터의 비콘 신호를 재차 기다린다. 이 때 검출되는 비콘 신호는, 센서 컨트롤러가 액티브 스타일러스의 스타일러스 기능 정보에 기초하여 액티브 스타일러스에 대해서 결정한 다운링크 타임슬롯 할당을 포함한다. 다운링크 타임슬롯 할당을 포함하는 비콘 신호가 검출되면, 액티브 스타일러스는, 스텝 S633에 있어서 카운터를 0으로 리셋하고, 스텝 S635에 있어서 검출된 비콘 신호에 포함되는 다운링크 타임슬롯 할당에 의해 설정된 스케줄에 따라서 센서 컨트롤러에 패킷을 송신하기 시작한다. 송신될 패킷은 액티브 스타일러스의 위치를 판별하는데 센서 컨트롤러에 의해서 이용되는 위치 패킷 및/또는 액티브 스타일러스의 동작 데이터(예를 들면, 송신된 압력 데이터, 송신된 오리엔테이션 데이터 등)를 포함하는 데이터 패킷으로 이루어질 수 있다. 추가로, 스텝 S631에 있어서 검출되는 비콘 신호에 있어서, 또는 이어서 검출되는 임의의 비콘 신호(도 6에 있어서 도시하지 않음)에 있어서 센서 컨트롤러에 의해 폴링(요구)될 때, 스텝 S637에 있어서, 액티브 스타일러스는, 액티브 스타일러스의 배터리 레벨 등의 폴링된 동작 데이터를 포함하는 데이터 패킷을, 다운링크 타임슬롯 할당에 따라서 센서 컨트롤러에 송신한다. 예를 들면, 액티브 스타일러스는, 상술한 스텝 S635에 있어서 스케줄된 패킷을 송신하는데 이용되지 않는 임의의 타임슬롯을 이용하여 폴링된 동작 데이터를 포함하는 데이터 패킷을 송신한다.
스텝 S617에 있어서 비-해시화 스타일러스 기능 정보를 송신한 후, 또는 스텝 S619에 있어서 설정 정보의 해시#2를 수신한 후에, 스텝 S631에 있어서 액티브 스타일러스가 회신되는 비콘 신호를 검출하지 않은 경우는, 스텝 S641에 있어서 액티브 스타일러스는 카운터가 임계치를 초과했는지 여부를 판정하여, 초과하고 있지 않으면 스텝 S643에 있어서 카운터치를 인크리먼트한다. 스텝 S641에 있어서 카운터가 임계치를 초과하는 경우는, 액티브 스타일러스가 센서 컨트롤러(200)의 검지 영역에서 나와 있어(즉, 유저가 액티브 스타일러스를 센서(201)로부터 멀리 떨어지도록 이동시켜서), 액티브 스타일러스는 그 센서 컨트롤러로부터의 비콘 신호의 권외에 존재하는 것으로 한다. 따라서, 액티브 스타일러스는 스텝 S603, S605, 및 S611로 돌아가, 필요에 따라서 설정 정보를 갱신하는 것을 재개하고, (개시) 비콘 신호를 기다린다.
도 7은 센서 컨트롤러의 처리 플로우예를 나타내는 순서도이다. 도 7은 추가로, 센서 컨트롤러와 액티브 스타일러스 사이의 페어링 동작예를 나타내고, 그 페어링 동작에 있어서 센서 컨트롤러는 액티브 스타일러스로부터 스타일러스 기능 정보(예를 들면, 설정 정보)를 나타내는 해시값("해시#1(Hash#1)")을 수신한다. 센서 컨트롤러가 수신한 해시#1을 인식하면, 그것에 따라 페어링 동작이 가속화될 수 있다.
스텝 S711에 있어서, 센서 컨트롤러는, 제1 타임슬롯 "s0" 등의 각 프레임의 개시 타임슬롯에서, 비콘 신호를 송신한다. 스텝 S714에 있어서, 센서 컨트롤러는 비콘 신호를 검출한 액티브 스타일러스로부터 회신된 응답(예를 들면, ACK) 신호로부터, 스타일러스 기능 정보의 해시값(해시#1)을 추출한다. 해시#1은 기능 정보 및 설정 정보의 양방을 포함하는 완전한 형태를 이루는 스타일러스 기능 정보의 해시값으로 이루어지거나, 또는 설정 정보의 해시값으로 이루어질 수 있다.
스텝 S715에 있어서, 센서 컨트롤러는 추출한 해시#1이, 센서 컨트롤러 내에 캐쉬된 스타일러스 기능 정보(예를 들면, 설정 정보)의 해시값(해시#1)에 일치하는지 여부를 판정한다. 특히, 스텝 S715는 센서 컨트롤러가 그 액티브 스타일러스를 센서 컨트롤러가 이전에 페어링된 적이 있는 액티브 스타일러스로서 인식하는지 여부를 판정하는 스텝으로, 인식하는 경우는, 센서 컨트롤러는 액티브 스타일러스의 스타일러스 기능 정보를 이미 구비하고 있다.
스텝 S715에 있어서 센서 컨트롤러가 해시#1을 인식하지 않은 경우는, 스텝 S717에 있어서, 센서 컨트롤러는 액티브 스타일러스에 액티브 스타일러스의 스타일러스 기능 정보를 송신하도록 요구하는 판독 커맨드를 포함하는 비콘 신호를 송신한다. 그것을 대신하여, 또는 그것에 추가하여, 센서 컨트롤러는 액티브 스타일러스에 대한 어느 일정한 설정을 강제적으로 구성하는(설정하는) 기입 커맨드를 포함하는 비콘 신호를 송신할 수 있다. 예를 들면, 센서 컨트롤러는 액티브 스타일러스에 대해서 특정 디폴트 색을 설정하는 기입 커맨드를 발행할 수 있다.
스텝 S719에 있어서, 센서 컨트롤러는, 센서 컨트롤러가 복수의 다운링크 타임슬롯을 이용하여 완전한 형태로 수신한(도 6에 있어서의 스텝 S617를 참조) 액티브 스타일러스의 스타일러스 기능 정보를 센서 컨트롤러가 가지고 있는 것을 확인하거나, 또는 해시#1에 기초하여 센서 컨트롤러 내에 이미 캐쉬되었다는 것을 확인한다. 센서 컨트롤러는, 그 다음으로, 스타일러스 기능 정보에 기초하여, 액티브 스타일러스에 대한 다운링크 타임슬롯 할당을 결정한다. 다운링크 타임슬롯 할당은, 프레임 내의 어느 다운링크 타임슬롯이 액티브 스타일러스에 할당되었는지를 특정하고, 추가로 액티브 스타일러스가 어느 종류의 패킷(예를 들면, 데이터 패킷 또는 위치 패킷)을 어느 다운링크 타임슬롯에 있어서 송신해야 하는지를 특정할 수 있다. 센서 컨트롤러는 액티브 스타일러스의 특정의 기능 정보에 기초하여, 각 액티브 스타일러스에 대한 다운링크 타임슬롯 할당을 결정한다. 예를 들면, 스타일러스 팁 압력 센서에 더하여 스타일러스 오리엔테이션 센서 및 배럴 압력 센서를 구비하는 액티브 스타일러스에 대해서, 센서 컨트롤러는 스타일러스 팁 압력 센서만을 구비하는 액티브 스타일러스와 비교하여, 이들 다양한 센서로부터의 출력을 나타내는 동작 데이터를 송신하기 위한, 보다 많은 다운링크 타임슬롯을 할당할 수 있다. 다양한 기능 및 설정이 이루어진 복수의 액티브 스타일러스를 센서 컨트롤러와 함께 사용하는 경우에, 센서 컨트롤러는 복수의 액티브 스타일러스간에 있어서의 다운링크 타임슬롯 충돌을 회피하면서, 각 액티브 스타일러스에 대한 다운링크 타임슬롯 할당을 결정한다. 즉, 일부 실시 형태에서 각 타임슬롯은 1개의 액티브 스타일러스에 할당하여, 복수의 스타일러스에 의해서 공유되지 않는다. 다른 실시 형태에서, 센서 컨트롤러가, 액티브 스타일러스에 대한 다운링크 타임슬롯 할당의 일부로서 각 액티브 스타일러스에 특정의 주파수를 할당할 수도 있다. 그 경우에, 복수의 주파수가 할당되는 복수의 액티브 스타일러스에 각각 같은 타임슬롯을 할당할 수 있다. 다운링크 타임슬롯 할당의 다양한 예를, 도 8a~도 9g를 참조하여 후술한다.
도 7을 재차 참조하여, 스텝 S731에 있어서, 센서 컨트롤러는 결정한 다운링크 타임슬롯 할당을 포함하는 비콘 신호를, ACK 신호를 송신하여 온 액티브 스타일러스에 회신한다. 그 다음으로, 스텝 S732에 있어서, 센서 컨트롤러는 다운링크 타임슬롯 할당에 따라서, 액티브 스타일러스로부터 송신되는 패킷을 기다린다. 센서 컨트롤러가 액티브 스타일러스로부터의 패킷을 검출하는 경우는, 스텝 S733에 있어서 센서 컨트롤러는 카운터를 0으로 리셋하고, 스텝 S735에 있어서 센서 컨트롤러는, 다운링크 타임슬롯 할당에 의해 설정된 스케줄에 따라서 패킷(위치 패킷 및/또는 동작 데이터를 포함하는 데이터 패킷)을 계속 수신한다. 추가로, 센서 컨트롤러가 비콘 신호 중 어느 것에 의해서, 액티브 스타일러스의 배터리 레벨 등의 어떤 동작 데이터를 리포트하도록 액티브 스타일러스에 폴링하면, 스텝 S737에 있어서, 센서 컨트롤러는 액티브 스타일러스로부터의 폴링된 동작 데이터를 포함하는 데이터 패킷을 수신한다.
스텝 S731에 있어서 다운링크 타임슬롯 할당을 포함하는 비콘 신호를 송신한 후에, 스텝 S732에 있어서 센서 컨트롤러가 할당된 다운링크 타임슬롯에 있어서 회신된 패킷을 전혀 검출하지 않은 경우는, 스텝 S741에 있어서 센서 컨트롤러는, 카운터가 임계치를 초과했는지 여부를 판정하여, 초과하고 있지 않으면, 스텝 S743에 있어서 카운터치를 인크리먼트한다. 스텝 S741에 있어서 카운터가 임계치를 초과하는 경우는, 액티브 스타일러스가 센서 컨트롤러(200)의 검지 영역에서 나와 있어 (즉, 유저가 액티브 스타일러스를 센서(201)로부터 멀리 떨어지도록 이동시켜서), 액티브 스타일러스는 그 센서 컨트롤러로부터의 비콘 신호의 권외에 존재하는 것으로 간주한다. 따라서, 센서 컨트롤러는 스텝 S711 및 S713으로 돌아가, 주기적 비콘 신호를 계속 송신하여 액티브 스타일러스로부터의 응답 신호를 기다린다.
도 8a 및 도 8b는 센서 컨트롤러가 액티브 스타일러스에 비콘 신호(BS)를 송신하고, 액티브 스타일러스가 스타일러스 기능 정보(CP 또는 해시#1)를 포함하는 응답 신호를 센서 컨트롤러에 회신하는 프레임 포맷예를 나타낸다. 도 8a에 있어서, 제1 프레임 Fn의 타임슬롯 s0에서, 센서 컨트롤러는 비콘 신호를 송신하고, 다음의 타임슬롯 s1에서, 비콘 신호를 검출한 액티브 스타일러스는 액티브 스타일러스의 비-해시화 스타일러스 기능 정보("CP1")를 포함하는 응답 신호를 회신한다. 본 예에 있어서, 액티브 스타일러스는 그 센서 컨트롤러와 페어링되었던 적이 없고, 따라서 그 센서 컨트롤러를 인식하지 않는다(도 6의 스텝 S615에 있어서 NO). 따라서, 액티브 스타일러스는 완전한(비-해시화) 스타일러스 기능 정보를 타임슬롯 s1에서 어쩌면, 완전한 스타일러스 기능 정보의 사이즈에 따라서 복수의 프레임에 걸쳐 송신할 수 있다. 도 8a는 액티브 스타일러스가 적어도 2개의 프레임 Fn, Fn+1의 타임슬롯 s1에서 비-해시화 스타일러스 기능 정보를 CP1, CP2로서 송신하는 것을 나타낸다.
도 8b에 있어서, 액티브 스타일러스는 그 센서 컨트롤러와 이전에 페어링되었던 적이 있고, 따라서 그 센서 컨트롤러를 인식한다(도 6의 스텝 S615에 있어서 YES). 따라서, 액티브 스타일러스는 타임슬롯 s1에서 송신하는 응답 신호에, 액티브 스타일러스의 설정 정보("해시#1(Hash#1)")의 해시값을 송신한다. 설정 정보의 해시값이 통상 20비트 이하로서 단일의 타임슬롯에서 송신할 수 있는 일정한 데이터 사이즈로 이루어진 것은 이점이다. 그러므로, 상술한 도 8a의 예와는 달리, 액티브 스타일러스의 설정 정보를 나타내는 해시#1을, 단일의 프레임 Fn의 타임슬롯 s1을 이용하여 센서 컨트롤러에 단시간에 송신할 수 있다.
센서 컨트롤러는 해시#1을 수신 및 인식하면(도 7의 스텝 S715에 있어서 YES), 액티브 스타일러스의 스타일러스 기능 정보를 이미 가지고 있고, 따라서 추가로는 액티브 스타일러스에 대한 다운링크 타임슬롯 할당을 이미 가지고 있음을 인식한다. 이렇게 하여, 다음의 프레임 Fn+1의 타임슬롯 s0에서, 센서 컨트롤러는 액티브 스타일러스에 의해서 센서 컨트롤러에 패킷을 송신하는데 이용되는 다운링크 타임슬롯 할당을 포함하는 비콘 신호를 송신한다.
센서 컨트롤러는 다양한 방법으로 액티브 스타일러스에 다운링크 타임슬롯 할당을 통지할 수 있다. 예를 들면, 액티브 스타일러스로부터 송신된 해시#1을 인식하면, 센서 컨트롤러는 해시#1에 대응하는 해시#2를 액티브 스타일러스에 회신할 수 있다. 센서 컨트롤러로부터 송신된 해시#2가 액티브 스타일러스 내에 기억된 해시#2와 일치하는(해시#2 및 해시#1은 같은 설정 정보로부터 산출되는) 것을 액티브 스타일러스가 확인하면, 액티브 스타일러스는, 액티브 스타일러스가 이전에 센서 컨트롤러와 페어링되었을 때 이용된 것과 같은 다운링크 타임슬롯 할당을 이용할 수 있다고 판정한다. 이렇게 하여, 본 예에 있어서, 센서 컨트롤러는 해시#1의 수신에 응답하여 비콘 신호에 의해 해시#2를 송신함으로써, 액티브 스타일러스에 다운링크 타임슬롯 할당을 송신한다. 다른 예로서, 센서 컨트롤러는, 특정의 다운링크 타임슬롯 할당을 나타내는 미리 정의된 코드를 액티브 스타일러스에 송신하는 것이 가능하고, 이 경우에, 센서 컨트롤러 및 액티브 스타일러스는, 미리 정해진 코드와 각 코드가 어떠한 다운링크 타임슬롯 할당을 나타내는지에 대한 리스트를 공유한다. 본 예에 있어서, 센서 컨트롤러는, 비콘 신호에 의해 미리 정의된 코드 중 하나를 송신함으로써, 액티브 스타일러스에 다운링크 타임슬롯 할당을 송신한다. 또 다른 예로서, 센서 컨트롤러는, 도 9a~도 9g를 참조하여 이하에서 보다 상세하게 설명하는 바와 같이, 예를 들면 프레임당 액티브 스타일러스에 할당되는 다운링크 타임슬롯의 위치를 특정하는 오프셋값 및 간격값을 송신함으로써, 다운링크 타임슬롯 할당을 송신할 수 있다. 본 예에 있어서, 센서 컨트롤러는, 예를 들면 비콘 신호에 의해 오프셋값 및 간격값을 송신함으로써, 액티브 스타일러스에 다운링크 타임슬롯 할당을 송신한다.
도 8b에 있어서, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호는, 액티브 스타일러스에 대해서 결정된 다운링크 타임슬롯 할당을 포함한다. 이렇게 하여, 액티브 스타일러스는 다운링크 타임슬롯 할당을 결정하는 비콘 신호를 판독하고, 결정된 다운링크 타임슬롯 할당에 따라, 프레임 Fn+1의 타임슬롯 s2에서, 스타일러스의 동작 데이터를 포함하는 데이터 패킷(DP)을 송신하는 것을 개시한다.
도 9a~도 9g는 센서 컨트롤러에 의해서 특정된 상이한 7종류의 다운링크 타임슬롯 할당에 따라서 액티브 스타일러스가 센서 컨트롤러에 패킷을 송신하는데 각각 이용하는, 7개의 상이한 프레임 포맷을 나타낸다. 도 9a~도 9g의 각각에 있어서, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호는 액티브 스타일러스에 대해서 결정된 다운링크 타임슬롯 할당을 포함하고, 이것에 의해 액티브 스타일러스는 결정된 다운링크 타임슬롯 할당에 따라, 프레임 Fn+1의 타임슬롯 s1에서부터 개시하여 센서 컨트롤러에 패킷(데이터 패킷 및/또는 위치 패킷)을 송신할 수 있다.
도 9a에 있어서, 다운링크 타임슬롯 할당은 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 등간격(T)으로 있는 4개의 타임슬롯, 즉 프레임 Fn+1에 있어서의 타임슬롯 s6, s10, 및 s14, 프레임 Fn+2에 있어서의 타임슬롯 s2, s6, s10, 및 s14 등에 있어서, 동작 데이터(예를 들면, 14비트)를 포함하는 데이터 패킷을 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 이 경우에, 센서 컨트롤러는 i) 액티브 스타일러스에 의해서 패킷을 송신하는데 이용되는 개시 타임슬롯을 나타내는 오프셋값과, ii) 개시 타임슬롯에서부터 개시되는 액티브 스타일러스에 할당된 타임슬롯간의 간격을 나타내는 간격값을 특정함으로써 다운링크 타임슬롯 할당을 정의할 수 있다. 예를 들면, 도 9a의 예의 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 4 타임슬롯의 등간격(T)으로 이루어지는 후속의 타임슬롯이 액티브 스타일러스에 의해서 이용되는 것을 나타내는 "4"라고 하는 간격값에 의해서 규정될 수 있다. 센서 컨트롤러는 이들 값(오프셋:2, 간격:4)을 비콘 신호에 있어서 부호화하고, 이것에 의해서 액티브 스타일러스에 다운링크 타임슬롯 할당을 송신할 수 있다. 다운링크 타임슬롯 할당은, 추가로, 예를 들면, 송신하는 패킷의 모든 수(예를 들면, 도 9a의 예에 있어서 "5"(DP1~DP5)) 및/또는 패킷의 데이터 포맷(예를 들면, 패킷마다의 총 비트수는 몇 개인지, 그 중의 몇 비트가 펜 압력을 나타내고 몇 비트가 배럴 압력 데이터를 나타내는지 등)을 규정할 수 있다.
도 9a는, 추가로, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 액티브 스타일러스의 스타일러스 기능 정보(CP)를 송신하기 위한, 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다. 예를 들면, 유저가 센서 컨트롤러와의 쌍방향 통신 세션 중에 액티브 스타일러스의 설정을 조정하는 (예를 들면, 유저가 스타일러스 선 폭을 변경하는) 경우에, 액티브 스타일러스는 조정한 설정 정보를 후속 프레임의 타임슬롯 s1에서 센서 컨트롤러에 송신할 수 있다. 그것에 추가하여, 또는 그것을 대신하여, 센서 컨트롤러로부터의 비콘 신호가 액티브 스타일러스의 스타일러스 기능 정보를 요구하는 판독 커맨드를 포함하는 경우에, 액티브 스타일러스는, 후속 프레임의 타임슬롯 s1에서, 요구된 기능 정보 및/또는 설정 정보를 응답에 포함한다.
도 9a는, 추가로, 센서 컨트롤러로부터의 전의 비콘 신호에 있어서 폴링된(요구된) 동작 데이터를 포함하는 데이터 패킷을 송신하기 위해서, 프레임 Fn+1의 타임슬롯 s15를 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다. 예를 들면, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호가 액티브 스타일러스에 액티브 스타일러스의 배터리 레벨을 리포트하도록 요구하는 경우에, 응답에 있어서 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s15에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신한다.
도 9b에 있어서, 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s3에서부터 개시하고 4개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 Fn+1에 있어서의 타임슬롯 s7, s11, 및 s15, 프레임 Fn+2에 있어서의 타임슬롯 s3, s7, s11, 및 s15 등에 있어서, 동작 데이터(예를 들면, 14비트)를 포함하는 데이터 패킷을 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 상술한 도 9a의 예와 마찬가지로, 도 9b의 예의 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s3인 것을 나타내는 "3"이라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 4 타임슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "4"라고 하는 간격값에 의해서 규정될 수 있다. 도 9b는, 추가로, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 스타일러스 기능 정보(CP)를 송신하기 위한, 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다. 추가로, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호가, 스타일러스의 배터리 레벨 등의 액티브 스타일러스가 어떤 동작 데이터를 리포트하도록 액티브 스타일러스에 폴링하는(요구하는) 경우에, 응답에 있어서 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s1에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신한다.
각 프레임에 있어서의 비콘 신호 타임슬롯 s0의 뒤에, 액티브 스타일러스가 전의 타임슬롯 s0에서의 비콘 신호의 수신을 확인(acknowledge)하는 응답 신호(예를 들면, ACK)를 송신하는데 1개 또는 복수의 타임슬롯(예를 들면, s1)을 확보하는, 다양한 실시 형태를 들 수 있다. 따라서, 여기서 이용하는 "응답 신호(response signal)"는, 액티브 스타일러스가 개시(발견) 비콘 신호에 응답하여 센서 컨트롤러의 검지 영역에 들어갈 때 송신하는 첫번째 응답 신호로 한정되지 않는다. 이 대신에, 응답 신호에, 액티브 스타일러스가 액티브 스타일러스에게 보내진 다양한 커맨드 또는 다른 정보를 포함하는 후속의 비콘 신호에 응답하여 송신하는 후속의 응답 신호가 포함되어도 된다. 예를 들면, 액티브 스타일러스는 변경된 액티브 스타일러스의 설정에 기인하여 쌍방향 통신 세션 중에 센서 컨트롤러에 의해서 갱신된 새로운 다운링크 타임슬롯 할당을 포함하는 후속의 비콘 신호에 응답하는 응답 신호를 송신할 수 있다. 다른 예로서, 후속의 비콘 신호가 액티브 스타일러스에 스타일러스 기능 정보를 송신하도록 요구하는 판독 커맨드를 포함하는 경우에, 액티브 스타일러스는 요구된 스타일러스 기능 정보를 포함하는 응답 신호를 송신한다(도 9a를 참조하면, 프레임 Fn+1 및 Fn+2의 타임슬롯 s1에서 송신되는 "CP"는, 요구된 스타일러스 기능 정보를 포함하는 응답 신호라고 간주할 수 있다). 또 다른 예로서, 후속의 비콘 신호가 액티브 스타일러스에 액티브 스타일러스가 어떤 동작 데이터(예를 들면, 스타일러스 배터리 레벨)를 송신하도록 요구하는 폴링 커맨드를 포함하는 경우에, 액티브 스타일러스는 폴링된 동작 데이터를 포함하는 응답 신호를 송신한다(도 9b를 참조하면, 프레임 Fn+1의 타임슬롯 s1에서 송신되는 "폴링 DP(Poll DP)"는, 폴링된 동작 데이터를 포함하는 응답 신호라고 간주할 수 있다).
도 9c에 있어서, 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 2개의 타임슬롯을 단위로 하여 4개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 Fn+1, 프레임 Fn+2 등에 있어서의 타임슬롯[s2/s3],[s6/s7],[s10/s11], 및[s14/s15]에 있어서, (예를 들면, 14비트보다 많은) 비교적 큰 데이터 패킷을 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 도 9c의 예의 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 4 타임슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "4"라고 하는 간격값에 의해서, 또 추가로는, 데이터 패킷의 각각(DP1, DP2, DP3, DP4, DP5 등)을 형성하는데 2 타임슬롯으로 이루어지는 단위를 이용하는 것을 나타내는 "2"라고 하는 단위 사이즈에 의해서 규정될 수 있다. "2"라고 하는 단위 사이즈는, 액티브 스타일러스에 의해서 이용되는 패킷 길이라고 간주할 수 있다. 이러한 비교적 큰 데이터는, 예를 들면, 액티브 스타일러스의 커스터마이즈된 동작 데이터(CD)를 센서 컨트롤러에 송신하는데 필요할 수 있다.
도 9a 및 도 9b에 있어서와 같이, 도 9c는, 추가로, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 스타일러스 기능 정보(CP)를 송신하기 위한, 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다. 도 9c는, 추가로, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호가 액티브 스타일러스에 어떤 동작 데이터(예를 들면, 스타일러스 배터리 레벨)를 리포트하도록 폴링하는(요구하는) 경우에, 응답에 있어서 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s1에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신하는 것을 나타낸다.
도 9d는 제1 액티브 스타일러스에 주파수 f0을 할당하는 제1 다운링크 타임슬롯 할당과, 제1 액티브 스타일러스와 상이한 제2 액티브 스타일러스에 주파수 f0과 상이한 주파수 f1을 할당하는 제2 다운링크 타임슬롯 할당의 조합을 나타낸다.
제1 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 3개의 타임슬롯을 단위로 하여 8개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 Fn+1, 프레임 Fn+2 등에 있어서의 타임슬롯[s2/s3/s4] 및[s10/s11/s12]에 있어서, 비교적 큰 데이터 패킷(예를 들면, 프레임당 2 타임슬롯을 점유하는 스타일러스 오리엔테이션 데이터(OR)를 포함하는 데이터 패킷으로, 도 4c에 있어서의 ORC1 또는 ORC3를 참조)를 제1 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 제1 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 8 타임슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "8"이라고 하는 간격값과, 데이터 패킷의 각각(DP1, DP2, DP3 등)을 형성하는데 3 타임슬롯으로 이루어지는 단위를 이용하는 것을 나타내는 "3"이라고 하는 단위 사이즈값(또는 패킷 길이)에 의해서 규정될 수 있다.
제2 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 4개의 타임슬롯을 단위로 하여 8개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 Fn+1, 프레임 Fn+2 등에 있어서의 타임슬롯[s2/s3/s4/s5] 및[s10/s11/s12/s13]에 있어서, 비교적 큰 데이터 패킷(예를 들면, 프레임당 3 타임슬롯을 점유하는 스타일러스 오리엔테이션 데이터(OR)를 포함하는 데이터 패킷으로, 도 4c에 있어서의 ORC2 또는 4를 참조)를, 제1 주파수 f1로 동작하는 제2 액티브 스타일러스가 마찬가지로 송신하는 것으로 하는 것을 규정한다. 제2 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 8 타임슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "8"이라고 하는 간격값과, 데이터 패킷의 각각(DP1, DP2, DP3 등)을 형성하는데 4 타임슬롯으로 이루어지는 단위를 이용하는 것을 나타내는 "4"라고 하는 단위 사이즈값(또는 패킷 길이)에 의해서 규정될 수 있다.
도 9d에 있어서는, 이전의 예에 나타내는 바와 같이, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 스타일러스 기능 정보(CP)를 송신하기 위한, 주파수 f0로 동작하는 제1 액티브 스타일러스와 주파수 f1로 동작하는 제2 액티브 스타일러스 양방에 대한 다운링크 타임슬롯으로서 확보한다. 도 9d는, 추가로, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호가 제1 액티브 스타일러스와 제2 액티브 스타일러스 중 어느 것에 어떤 동작 데이터(예를 들면, 스타일러스 배터리 레벨)를 리포트하도록 폴링하는(요구하는) 경우에, 응답에 있어서 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s15에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신하는 것을 나타낸다. 도 9d의 예에 있어서, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호는 주파수 f0로 동작하는 제1 액티브 스타일러스에 폴링하고, 이것에 의해 제1 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s15에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신함으로써 응답한다.
센서 컨트롤러가 복수의 액티브 스타일러스의 각각에 개개의 특정 주파수(예를 들면, f0, f1)를 할당하면, 센서 컨트롤러는 특정 액티브 스타일러스에 할당한 비콘 신호의 주파수 부분에만 포함하여 해당 액티브 스타일러스에 커맨드를 보낼 수 있다.
도 9a와 유사한 도 9e에 있어서, 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 4개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 Fn+1에 있어서의 타임슬롯 s6, s10, 및 s14, 프레임 Fn+2에 있어서의 타임슬롯 s2, s6, s10, 및 s14 등에 있어서, 동작 데이터(예를 들면, 16비트)를 포함하는 데이터 패킷을 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 본 예의 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 4 타임슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "4"라고 하는 간격값에 의해서 규정될 수 있다. 도 9e는, 추가로, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 스타일러스 기능 정보(CP)를 송신하기 위한, 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다. 도 9e는, 추가로, 프레임 Fn+1의 타임슬롯 s0에서의 비콘 신호가 액티브 스타일러스에 어떤 동작 데이터(예를 들면, 스타일러스 배터리 레벨)를 리포트하도록 폴링하는(요구하는) 경우에, 응답에 있어서 액티브 스타일러스는, 프레임 Fn+1의 타임슬롯 s15에서, 폴링된 동작 데이터("폴링 DP(Poll DP)")를 포함하는 데이터 패킷을 송신하는 것을 나타낸다.
도 9a~도 9e의 다운링크 타임슬롯 할당예는, 모두, 액티브 스타일러스의 동작 데이터를 포함하는 데이터 패킷(DP1, DP2, DP3, DP4, DP5 등)의 다운링크 송신을 규정한다. 이것에 반해서, 도 9f의 다운링크 타임슬롯 할당은, 프레임에 있어서 어느 다운링크 타임슬롯을 이용하는지 뿐만 아니라, 액티브 스타일러스가 어느 다운링크 타임슬롯에 있어서 어떠한 종류의 패킷(데이터 패킷(DP) 또는 위치 패킷(XY))을 송신해야 하는지도 규정한다.
특히, 도 9f의 다운링크 타임슬롯 할당은, 프레임 Fn+1의 타임슬롯 s2에서부터 개시하여 4개의 타임슬롯의 등간격(T)으로 있는, 즉 각 프레임에 있어서의 타임슬롯 s2, s6, s10, 및 s14에서, 센서 컨트롤러에 의해서 액티브 스타일러스가 센서(201)상에서 지시하는 위치를 판별하는데 이용하게 되는 위치 패킷(XY)을 액티브 스타일러스가 송신하는 것으로 하는 것을 규정한다. 다운링크 타임슬롯 할당은, 추가로, 각 프레임의 타임슬롯 s3, s7, s11, 및 s15에서 송신되는 데이터 패킷(DP1, DP2, DP3, DP4, DP5 등)이 각 위치 패킷(XY)의 직후에 계속되는 것을 규정한다. 따라서, 2 타임슬롯[s2/s3],[s6/s7],[s10/s11], 및[s14/s15]로 이루어진 단위를 이용하여 위치 패킷(XY) 및 데이터 패킷(DP)을 송신한다. 도 9f의 예의 다운링크 타임슬롯 할당은, 개시 타임슬롯이 s2인 것을 나타내는 "2"라고 하는 오프셋과, 이용하는 후속의 타임슬롯이 4 타임 슬롯의 등간격(T)으로 이루어지는 것을 나타내는 "4"라고 하는 간격값과, 연속하는 위치 패킷(XY) 및 데이터 패킷(DP)을 송신하는데 2 타임슬롯으로 이루어지는 단위를 이용하는 것을 나타내는 "2"라고 하는 단위 사이즈와, 각 단위에 있어서 어떠한 종류의 패킷을 송신할지를 나타내는 패킷 타입값에 의해서 규정될 수 있다. 예를 들면, 패킷 타입값 0은 각 단위(DP/DP)에 있어서 데이터 패킷만을 송신하는 것을 나타낼 수 있는 것이고, 1은 각 단위(XY/XY)에 있어서 위치 패킷만을 송신하는 것을 나타낼 수 있는 것이고, 2는 도 9f의 예에 있어서와 같이 각 단위(XY/DP)에 있어서 위치 패킷의 직후에 데이터 패킷이 계속되도록 송신하는 것을 나타낼 수 있는 것이고, 3은 각 단위(DP/XY)에 있어서 데이터 패킷의 직후에 위치 패킷이 계속되도록 송신하는 것을 나타낼 수 있다.
다운링크 타임슬롯 할당의 이전의 예에 있어서와 같이, 도 9f는, 추가로, 각 프레임 Fn+1, Fn+2 등의 타임슬롯 s1을, 필요에 따라서 센서 컨트롤러에 스타일러스 기능 정보(CP)를 송신하기 위한, 액티브 스타일러스에 대한 다운링크 타임슬롯으로서 확보하는 것을 나타낸다.
또한, 도 8a~도 9g의 다운링크 타임슬롯 할당은 일례에 지나지 않고, 본 발명은 도 8a~도 9g의 특정의 예를 이용하는 것으로 한정되지 않는다.
시스템(호스트) 컨트롤러(300)측에서 동작하는 오퍼레이팅 시스템 및 애플리케이션이, 센서 컨트롤러(200)에 의해서 제공되는 데이터에 대해서 평활화를 적용하는 경우가 종종 있다. 이것에는, 압력 또는 틸트 등의 스타일러스 데이터에 더하여 센서 컨트롤러(200)에 의해서 생성되는 좌표 데이터에 대한 평활화가 포함된다. 그 애플리케이션의 알고리즘은, 평활화를 적용하는 경우에 데이터가 균등한 시간 간격으로 계측되는 것을 전제로 하는 경우가 많다. 센서 컨트롤러(200)가 균등하게 떨어진 위치 패킷 또는 균등하게 떨어진 데이터 패킷을 공급하는 타임슬롯 할당을 제공할 수 없는 경우가 있다. 이들 경우에, 센서 컨트롤러(200)는 데이터가 균등하게 시간 간격을 두고 출현하도록, 데이터를 서브 샘플링(sub-sample), 슈퍼 샘플링(super-sample), 내부 삽입(interpolate), 외부 삽입(extrapolate), 또는 어떠한 수단에 의해서 조정할 필요가 있을 수 있다.
본 수법은 좌표 및/또는 동작 데이터를 타임슬롯 할당에 기인한 다른 레이트로 계측하는 경우에도 적용될 수 있다. 센서 컨트롤러(200)로부터 호스트 프로세서(300)로의 데이터 패킷으로부터 소실 데이터(missing data)를 나타낼 방법은 없기 때문에, 소실 데이터를 상술한 바와 같이 생성하고 (예를 들면, 서브 샘플링, 슈퍼 샘플링, 내부 삽입, 외부 삽입 등에 의해서), 이들 중간 패킷을 유효한 데이터에 의해서 보충할 필요가 있다. 예를 들면, 오리엔테이션 데이터가 좌표 데이터의 절반의 레이트로 얻어지는 경우에, 오리엔테이션 데이터를 슈퍼 샘플 또는 외부 삽입하여, 데이터 레이트를 좌표 데이터 레이트에 일치시키도록 2배로 할 필요가 있다.
도 10은 액티브 스타일러스와 센서 컨트롤러 사이의 페어링 동작(및 "급속 잉킹" 동작) 예를 나타내는 순서도로서, 그 동작에 있어서 액티브 스타일러스는 액티브 스타일러스의 설정 정보를 나타내는 해시값("해시#1(Hash#1)")을 센서 컨트롤러에 송신한다. 센서 컨트롤러는 수신한 해시#1을 인식한 후에, 센서 컨트롤러가 그 액티브 스타일러스를 이전에 페어링된 스타일러스라고 정확하게 인식하는 추가 검증으로서, 액티브 스타일러스에 제2 해시값("해시#2(Hash#2)")을 회신한다.
센서 컨트롤러가 수신한 해시#1을 인식한다(즉, 센서 컨트롤러가 이전에 액티브 스타일러스와 페어링되었던 적이 있음)면, 센서 컨트롤러는, 센서 컨트롤러 내에 이미 캐쉬된 액티브 스타일러스의 스타일러스 기능 정보 및/또는 다운링크 타임슬롯 할당을 이용하여 페어링 동작을 가속화할 수 있다.
스텝 S301에 있어서, 액티브 스타일러스는 액티브 스타일러스의 설정 정보에 해시 연산을 적용하고, 예를 들면, 전형적으로는 20비트까지 수용하는 단일의 타임슬롯에서 송신할 수 있는 고정 사이즈(예를 들면, 16비트)의 해시값("해시#1(Hash#1)")을 산출한다. 스텝 S302에 있어서, 액티브 스타일러스는, 이하에서 보다 상세하게 설명하는 바와 같이, 해시#1에 대응하고, 따라서 해시#1을 검증하는데 이용할 수 있는 제2 해시값("해시#2(Hash#2)")을 산출한다. 해시#1 및 해시#2는 기동시에, 및 유저가 액티브 스타일러스의 설정(예를 들면, 스타일러스 선 폭)을 변경할 때 등의 해시값에 영향을 주는 변화가 생기는 임의의 시점에 있어서 산출할 수 있다. 해시#1 및 해시#2를 산출하는데, 임의의 적당한 해시 연산을 이용할 수 있다. 예를 들면, 공지의 MurmurHash3(상표) 알고리즘을 이용하여, 임의 길이의 기능 정보에 기초하여 32비트 해시값을 산출할 수 있다. 그 경우에, 해시값의 16 LSB를 해시#1로서 이용하고 해시값의 16 MSB를 해시#2로서 이용할 수 있다. 산출한 해시#1 및 해시#2는, 액티브 스타일러스, 예를 들면 스타일러스 기능 정보 매니저(110)(도 1을 참조)의 테이블(TBL) 내에 격납된다.
해시 연산을 액티브 스타일러스의 스타일러스 기능 정보의 일부 또는 모두에 적용할 수 있다. 예를 들면, 2개의 액티브 스타일러스에 대해서, 또는 1개의 액티브 스타일러스의 2개의 상이한 설정에 대해서 같은 해시값이 산출되는 해시 충돌의 우려를 저감시키기 위해서는, 같은 벤더에 의해서 제조된 복수의 액티브 스타일러스간에 기능 정보가 공통일 수 있기 때문에 기능 정보를 해시 계산으로부터 제외하는 것이 바람직한 경우가 있다. 따라서, 액티브 스타일러스가 액티브 스타일러스의 스타일러스 기능 정보의 설정 정보 부분과 액티브 스타일러스의 글로벌 ID에 기초하여 해시#1 및 해시#2를 산출하여, 다른 액티브 스타일러스, 또는 다른 설정을 가지는 같은 액티브 스타일러스와 충돌하기 어려운 액티브 스타일러스의 고유한 "해시 ID(HashID)"를 생성하는, 다양한 실시예를 들 수 있다. 본 발명의 실시 형태로서, 2개의 해시 함수를 이용하여 해시#1 및 해시#2를 산출하여, 각각 해시 충돌의 우려를 추가로 저감시키는 것을 들 수 있다. 예를 들면, 13비트의 해시값을 생성하도록 적응된 CRC(순환 중복 검사, Cyclic Redundancy Check)의 변형 등의 알고리즘 1을 스타일러스 기능 정보에 대해서 이용하여 해시#1을 산출하고, 16비트의 해시값을 생성하도록 적응된 FNV(Fowler―Noll―Vo) 등의 알고리즘 2를 스타일러스 기능 정보에 대해서 이용하여 해시#2를 산출할 수 있다.
스텝 S401에 있어서, 센서 컨트롤러는 비콘 신호(BS)를 송신한다. 스텝 S303에 있어서 액티브 스타일러스가 비콘 신호를 검출하는 경우에, 스텝 S304에 있어서, 액티브 스타일러스는 상기의 스텝 S301에 있어서 산출한 해시#1을 응답 신호의 일부로서 센서 컨트롤러에 송신한다.
스텝 S403에 있어서 센서 컨트롤러가 액티브 스타일러스로부터의 응답 신호를 검출하는 경우에, 스텝 S405에 있어서, 센서 컨트롤러는, 응답 신호에 포함되는 해시#1이 센서 컨트롤러 내에 이미 캐쉬되었는지 여부를 판정한다. 캐쉬가 되어 있지 않은 경우는, 스텝 S407에 있어서, 센서 컨트롤러는 액티브 스타일러스에 완전한(비-해시화) 스타일러스 기능 정보(CP)를 송신하도록 후속의 비콘 신호에 의해서 판독 커맨드를 송신한다. 스텝 S305에 있어서, 액티브 스타일러스는 센서 컨트롤러로부터의 판독 커맨드에 응답하여, 요구된 스타일러스 기능 정보(CP)를 센서 컨트롤러에 송신한다. 센서 컨트롤러는, 스텝 S409에 있어서, 수신한 스타일러스 기능 정보(CP)에 기초하여 해시#1 및 해시#2를 산출하여 향후의 사용에 대비하여 캐쉬 내에 기억한다. 이것에 대신하는 것으로서, 스텝 S409에 있어서, 센서 컨트롤러는 해시#2만을 산출하여, 산출한 해시#2를, 상기의 스텝 S405에 있어서 수신 및 평가한 해시#1과 함께 기억한다. 스텝 S409에 있어서, 센서 컨트롤러는 액티브 스타일러스에 의해서 스텝 S301 및 S302에 있어서 이용된 것과 같은 해시 연산을 이용하여 해시#1 및 해시#2를 산출한다.
스텝 S405로 돌아가, 센서 컨트롤러가 액티브 스타일러스로부터의 응답 신호에 포함되는 해시#1이 센서 컨트롤러 내에 이미 캐쉬되었다고 판정하는 경우에, 해시#1에 대응하는 해시#2도 센서 컨트롤러 내에 캐쉬한다(스텝 S409를 참조). 이렇게 하여, 스텝 S411에 있어서, 센서 컨트롤러는 해시#1에 대응하는 해시#2를, 검증 목적으로 액티브 스타일러스에 회신한다. 특히, 스텝 S307에 있어서, 액티브 스타일러스는, 상기의 스텝 S304에 있어서 액티브 스타일러스가 송신한 해시#1에 대응하는 센서 컨트롤러로부터 답신된 해시#2가, 액티브 스타일러스 내에 캐쉬된 해시#2와 일치하는지 여부를 판정한다. 일치하는 경우는, 액티브 스타일러스는, 센서 컨트롤러가 그 액티브 스타일러스를 이전에 페어링된 적이 있는 액티브 스타일러스라고 정확하게 인식한 것을 확인한다. 그 경우는 스텝 S309에 있어서, 액티브 스타일러스는, 센서 컨트롤러가 이미 (설정 정보를 포함하는) 스타일러스 기능 정보 및/또는 액티브 스타일러스의 다운링크 타임슬롯 할당을 가지고 있는 것을 확인해주는 응답 신호를 센서 컨트롤러에 송신한다. 스텝 S413에 있어서, 센서 컨트롤러는 액티브 스타일러스로부터 응답 신호를 수신하고 검증 처리를 종료한다. 이 시점에 있어서, 액티브 스타일러스 및 센서 컨트롤러는, 그것들이 이전에 페어링되었을 때 이용한 것과 같은 다운링크 타임슬롯 할당을 이용하여 쌍방향 통신을 개시할 준비가 되어 있다. 또 이 시점에 있어서, 센서 컨트롤러는 액티브 스타일러스에 의해서 형성되는 선 묘화(drawing line)를 개시하는데 애플리케이션이 필요로 하는 액티브 스타일러스의 설정 정보(예를 들어, 브러쉬 스타일, 선폭, 선색 등)를 모두 가지기 때문에, 센서 컨트롤러는 즉시 "잉킹" 동작을 개시할 수 있다.
스텝 S307에 있어서, 센서 컨트롤러로부터 수신한 해시#2가 액티브 스타일러스에 기억된 해시#2와 일치하지 않는다고 액티브 스타일러스가 판정하는 경우는, 스텝 S311에 있어서 액티브 스타일러스는 검증 실패를 나타내는 실패 메시지(FAIL)를 센서 컨트롤러에 송신하고, 스텝 S303으로 돌아가 센서 컨트롤러로부터의 비콘 신호를 기다리는 것을 재개한다.
스텝 S413에 있어서, 센서 컨트롤러는, 액티브 스타일러스로부터 송신된 실패 메시지(FAIL)(스텝 S311)를 수신하는 것과, 액티브 스타일러스로부터 성공 확인을 나타내는 응답 신호(스텝 S309)를 수신하지 않는 것 중 어느 것에 의해서, 검증 실패를 알게 된다. 검증 실패인 경우에, 센서 컨트롤러는 스텝 S407로 돌아가, 액티브 스타일러스에 액티브 스타일러스의 완전한(비-해시화) 스타일러스 기능 정보(CP)를 송신하도록 요구한다.
상술한 다양한 실시 형태를 조합하여 추가 실시 형태를 제공하는 것이 가능하고, 상술의 상세한 설명에 기초하여 실시 형태의 양태를 변경하는 것이 가능하다. 일반적으로, 이하의 청구항에 있어서, 이용되는 용어는 명세서 및 청구항에 있어서 개시된 특정의 실시 형태로 한정된다고 해석해서는 안되고, 이러한 청구항이 해당하는 등가물의 모든 범위와 함께 모든 존재할 수 있는 실시 형태를 포함한다고 해석해야 한다.

Claims (5)

  1. 펜의 위치를 산출하는 센서 컨트롤러에 의해 실행되는 데이터 처리 방법으로서,
    상기 펜에 관한 제1 정보를 제1 레이트로 취득하는 스텝과,
    상기 펜에 관한 제2 정보를 상기 제1 레이트보다 작은 제2 레이트로 취득하는 스텝과,
    상기 제2 정보의 취득 레이트가 상기 제1 레이트와 일치하도록, 취득된 상기 제2 정보에 의해 중간의 제2 정보를 보충하는 스텝과,
    보충한 상기 제2 정보를 상기 제1 정보와 함께 출력하는 스텝을 포함하는, 데이터 처리 방법.
  2. 청구항 1에 있어서,
    상기 제1 정보는 상기 펜이 송신한 위치 패킷에 의해 산출되는 상기 펜의 위치이며,
    상기 제2 정보는 상기 펜이 송신한 데이터 패킷에 의해 수신되는 상기 펜의 동작 데이터인, 데이터 처리 방법.
  3. 청구항 2에 있어서,
    상기 펜의 동작 데이터는 상기 펜에 구비되는 오리엔테이션 센서에 의해 계측된 오리엔테이션 데이터를 포함하는, 데이터 처리 방법.
  4. 청구항 2 또는 청구항 3에 있어서,
    상기 펜은 상기 센서 컨트롤러로부터 통지된 다운링크 시간 슬롯 할당에 의해 설정된 스케줄에 따라서, 상기 위치 패킷 및 상기 데이터 패킷을 송신하는, 데이터 처리 방법.
  5. 펜의 위치를 산출하는 센서 컨트롤러로서,
    상기 펜에 관한 제1 정보를 제1 레이트로 취득하고,
    상기 펜에 관한 제2 정보를 상기 제1 레이트보다 작은 제2 레이트로 취득하고,
    상기 제2 정보의 취득 레이트가 상기 제1 레이트와 일치하도록, 취득된 상기 제2 정보에 의해 중간의 제2 정보를 보충하고,
    보충한 상기 제2 정보를 상기 제1 정보와 함께 출력하는, 센서 컨트롤러.
KR1020237037688A 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법 KR102688037B1 (ko)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
US201562149907P 2015-04-20 2015-04-20
US62/149,907 2015-04-20
US201562162527P 2015-05-15 2015-05-15
US62/162,527 2015-05-15
US201562243427P 2015-10-19 2015-10-19
US62/243,427 2015-10-19
US201662291373P 2016-02-04 2016-02-04
US62/291,373 2016-02-04
US15/069,848 2016-03-14
US15/069,852 US9639183B2 (en) 2015-04-20 2016-03-14 System and method for bidirectional communication between stylus and stylus sensor controller
US15/069,848 US9785262B2 (en) 2015-04-20 2016-03-14 System and method for bidirectional communication between stylus and stylus sensor controller
US15/069,793 2016-03-14
US15/069,852 2016-03-14
US15/069,793 US9448646B1 (en) 2015-04-20 2016-03-14 System and method for bidirectional communication between stylus and stylus sensor controller
KR1020237014771A KR102598474B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
PCT/US2016/027316 WO2016171976A1 (en) 2015-04-20 2016-04-13 System and method for bidirectional communication between stylus and stylus sensor controller

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014771A Division KR102598474B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20230157523A KR20230157523A (ko) 2023-11-16
KR102688037B1 true KR102688037B1 (ko) 2024-07-25

Family

ID=57129258

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020227034617A KR102529126B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
KR1020237037688A KR102688037B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
KR1020177033540A KR102453139B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
KR1020237014771A KR102598474B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227034617A KR102529126B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020177033540A KR102453139B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
KR1020237014771A KR102598474B1 (ko) 2015-04-20 2016-04-13 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법

Country Status (6)

Country Link
US (9) US9639183B2 (ko)
EP (2) EP3859499A1 (ko)
JP (4) JP6836995B2 (ko)
KR (4) KR102529126B1 (ko)
CN (2) CN107533793B (ko)
WO (1) WO2016171976A1 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102346206B1 (ko) * 2014-01-22 2022-01-03 가부시키가이샤 와코무 위치 지시기, 위치 검출 장치, 위치 검출 회로 및 위치 검출 방법
KR20160092360A (ko) * 2015-01-27 2016-08-04 삼성전자주식회사 스타일러스 펜 및 터치 패널
US9921667B2 (en) * 2015-04-20 2018-03-20 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller
US10324547B2 (en) * 2015-12-31 2019-06-18 Lg Display Co., Ltd. Active stylus pen, touch sensing system and driving method thereof
US10579169B2 (en) 2016-03-08 2020-03-03 Egalax_Empia Technology Inc. Stylus and touch control apparatus for detecting tilt angle of stylus and control method thereof
US10162438B2 (en) * 2016-03-08 2018-12-25 Egalax_Empia Technology Inc. Stylus for providing tilt angle and axial direction and control method thereof
US9898102B2 (en) * 2016-03-11 2018-02-20 Microsoft Technology Licensing, Llc Broadcast packet based stylus pairing
US10466344B2 (en) * 2016-07-07 2019-11-05 Tactual Labs Co. Human-computer interaction applications of precise ranging technology and geometric dilution of precision in a ranging positioning system for VR
CN107861651B (zh) * 2016-09-22 2021-01-22 京东方科技集团股份有限公司 触控方法、主动笔、触摸屏和触控显示系统
KR102314497B1 (ko) * 2016-10-25 2021-10-20 엘지디스플레이 주식회사 터치 표시 장치, 액티브 펜, 터치 시스템, 터치회로 및 펜 인식 방법
US10474286B2 (en) * 2016-10-25 2019-11-12 Lg Display Co., Ltd. Touch display device, active pen, touch system, touch circuit, and pen recognition method
US10261604B2 (en) 2016-11-04 2019-04-16 Microsoft Technology Licensing, Llc Active stylus velocity correction
US10331235B2 (en) * 2016-11-23 2019-06-25 Wacom Co., Ltd. Stylus tilt detection based on bidirectional communication between stylus and stylus sensor controller
KR102460472B1 (ko) * 2016-12-30 2022-11-01 엘지디스플레이 주식회사 터치 센싱 시스템, 디스플레이 디바이스, 액티브 펜 및 펜 인식 방법
US10572063B2 (en) * 2017-01-09 2020-02-25 Microsoft Technology Licensing, Llc Position, tilt, and twist detection for stylus
US10248226B2 (en) * 2017-02-10 2019-04-02 Microsoft Technology Licensing, Llc Configuring digital pens for use across different applications
JP6603435B2 (ja) * 2017-02-22 2019-11-06 株式会社ワコム アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法、センサコントローラ、並びにアクティブスタイラス
TWI656470B (zh) * 2017-05-16 2019-04-11 矽統科技股份有限公司 觸控顯示系統、觸控顯示方法、主動筆和觸控裝置
KR102324210B1 (ko) * 2017-06-30 2021-11-08 엘지디스플레이 주식회사 터치 표시 장치, 펜, 터치 시스템, 터치 회로 및 펜 인식 방법
US10983605B2 (en) 2017-08-04 2021-04-20 Marbl Limited Three-dimensional object position tracking system
WO2019054243A1 (ja) * 2017-09-15 2019-03-21 株式会社ワコム アクティブペン及びセンサコントローラ
TWI638300B (zh) * 2017-09-28 2018-10-11 義隆電子股份有限公司 電腦系統及其輸入方法
KR102371154B1 (ko) * 2017-09-29 2022-03-07 엘지디스플레이 주식회사 터치 표시 장치, 터치 회로, 펜, 터치 시스템 및 멀티 펜 센싱 방법
CN110892368A (zh) * 2017-11-14 2020-03-17 株式会社和冠 传感器控制器
CN111373357B (zh) * 2017-11-29 2023-09-22 株式会社和冠 在主动笔与传感器控制器之间执行的通信方法及主动笔
KR102552355B1 (ko) * 2017-12-12 2023-07-05 엘지디스플레이 주식회사 디스플레이 장치
US10613645B2 (en) * 2018-04-27 2020-04-07 Microsoft Technology Licensing, Llc Mechanism for pen interoperability with pressure sensor design
CN118331439A (zh) * 2018-05-09 2024-07-12 株式会社和冠 笔及笔系统
KR102460552B1 (ko) * 2018-06-28 2022-10-27 엘지디스플레이 주식회사 터치표시장치, 디스플레이 컨트롤러, 구동회로 및 구동방법
US10877578B2 (en) * 2018-07-18 2020-12-29 Wacom Co., Ltd. Sensor controller and active pen
TWI687846B (zh) * 2018-08-03 2020-03-11 矽統科技股份有限公司 雙向主動式觸控筆及感測系統
US11137839B2 (en) * 2018-08-31 2021-10-05 Microsoft Technology Licensing, Llc Adaptable digital pen and touch sensitive device
CN109521893B (zh) * 2018-10-17 2022-11-25 京东方科技集团股份有限公司 触控笔、触控面板、触控感测系统及其控制方法
KR102644692B1 (ko) * 2018-12-20 2024-03-07 주식회사 엘엑스세미콘 고해상도 구현을 위한 터치센싱장치 및 이를 포함하는 디스플레이 장치
KR102681717B1 (ko) 2018-12-28 2024-07-05 삼성전자주식회사 복수의 입력 버튼들이 구비된 펜 입력 장치와 통신을 수행하는 전자 장치 및 그 제어 방법
KR102655484B1 (ko) * 2018-12-28 2024-04-05 엘지디스플레이 주식회사 터치표시장치 및 그 구동방법
JP7319785B2 (ja) * 2019-02-13 2023-08-02 株式会社ワコム センサパネル上におけるペンの位置を導出するシステムで実行される方法、及び、ペン
WO2020170601A1 (ja) * 2019-02-22 2020-08-27 日本電信電話株式会社 データ圧縮伝送システム、中間サーバ、方法およびプログラム
JP7390353B2 (ja) 2019-03-01 2023-12-01 株式会社ワコム センサコントローラ及びペン
KR20210017099A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 스타일러스 펜을 인식하는 전자 장치 및 그 동작 방법
CN113126810B (zh) * 2019-12-30 2024-09-10 禾瑞亚科技股份有限公司 发信器、触控处理装置与其处理方法和电子系统
CN111273992B (zh) * 2020-01-21 2024-04-19 维沃移动通信有限公司 一种图标显示方法及电子设备
TWI731650B (zh) * 2020-04-15 2021-06-21 宏碁股份有限公司 觸控筆、觸控電子裝置與觸控系統
CN113760107B (zh) * 2020-06-04 2023-10-13 宏碁股份有限公司 触控笔、触控电子装置与触控系统
KR20220014370A (ko) 2020-07-23 2022-02-07 삼성디스플레이 주식회사 입력 장치 및 이를 포함하는 인터페이스 장치
KR20220062191A (ko) 2020-11-06 2022-05-16 삼성디스플레이 주식회사 전자 장치
US11740729B2 (en) * 2021-03-25 2023-08-29 Microsoft Technology Licensing, Llc Assigning device identifiers by host identifier availability
US11797111B2 (en) 2021-03-30 2023-10-24 Dell Products L.P. Active stylus adaptive to multiple input types at an information handling system
CN113467626A (zh) * 2021-06-30 2021-10-01 奕力科技股份有限公司 主动笔以及触控系统
TWM617533U (zh) 2021-06-30 2021-09-21 奕力科技股份有限公司 主動筆以及觸控系統
US11656726B1 (en) * 2022-02-09 2023-05-23 Novatek Microelectronics Corp. Control circuit, electronic device, and control method for stylus pen interacting with touch panel
JP2024043321A (ja) * 2022-09-16 2024-03-29 株式会社東芝 軌跡入力システム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02230312A (ja) * 1989-03-02 1990-09-12 Nec Corp 座標入力ペン傾き誤差補正方式
DE69521833T2 (de) * 1994-04-28 2002-04-04 Sharp Kk Koordinateneingabevorrichtung und zugehöriges Singalübertragungssystem
US6115390A (en) * 1997-10-14 2000-09-05 Lucent Technologies, Inc. Bandwidth reservation and collision resolution method for multiple access communication networks where remote hosts send reservation requests to a base station for randomly chosen minislots
US7055739B1 (en) 1999-05-25 2006-06-06 Silverbrook Research Pty Ltd Identity-coded surface with reference points
US6644642B1 (en) 1999-05-25 2003-11-11 Silverbrook Research Pty Ltd Printed media parallel binder
US7353393B2 (en) * 2001-09-07 2008-04-01 Anoto Aktiebolag (Anoto Ab) Authentication receipt
KR100686718B1 (ko) * 2003-08-01 2007-02-23 삼성전자주식회사 디스플레이장치 및 이를 구비한 휴대용 컴퓨터
JP2005149140A (ja) 2003-11-14 2005-06-09 Wacom Co Ltd 位置検出装置及び位置指示器
US7284192B2 (en) 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
WO2006041097A1 (ja) * 2004-10-12 2006-04-20 Nippon Telegraph And Telephone Corporation 3次元ポインティング方法、3次元表示制御方法、3次元ポインティング装置、3次元表示制御装置、3次元ポインティングプログラム、及び3次元表示制御プログラム
US7847789B2 (en) 2004-11-23 2010-12-07 Microsoft Corporation Reducing accidental touch-sensitive device activation
US20080143691A1 (en) 2005-11-23 2008-06-19 Quiteso Technologies, Llc Systems and methods for enabling tablet PC/pen to paper space
US8089474B2 (en) 2006-12-28 2012-01-03 3M Innovative Properties Company Location sensing system and method employing adaptive drive signal adjustment
US20080169132A1 (en) * 2007-01-03 2008-07-17 Yao Ding Multiple styli annotation system
US7907141B2 (en) * 2007-03-23 2011-03-15 Palo Alto Research Center Incorporated Methods and processes for recognition of electronic ink strokes
US8482545B2 (en) * 2008-10-02 2013-07-09 Wacom Co., Ltd. Combination touch and transducer input system and method
GB2466566B (en) 2008-12-22 2010-12-22 N trig ltd Digitizer, stylus and method of synchronization therewith
CN101539816B (zh) * 2009-04-16 2012-10-17 台均科技(深圳)有限公司 电磁笔、电磁信号处理方法、装置及设备
US9417738B2 (en) 2009-06-12 2016-08-16 Synaptics Incorporated Untethered active pen and a method for communicating with a capacitive sensing device using the untethered active pen
JP5442479B2 (ja) 2010-02-05 2014-03-12 株式会社ワコム 指示体、位置検出装置及び位置検出方法
US8340661B2 (en) * 2010-07-02 2012-12-25 Mstar Semiconductor, Inc. Low-cost multimode GSM monitoring from TD-SCDMA
US9176630B2 (en) * 2010-08-30 2015-11-03 Perceptive Pixel, Inc. Localizing an electrostatic stylus within a capacitive touch sensor
US8982045B2 (en) * 2010-12-17 2015-03-17 Microsoft Corporation Using movement of a computing device to enhance interpretation of input events produced when interacting with the computing device
US8619065B2 (en) * 2011-02-11 2013-12-31 Microsoft Corporation Universal stylus device
WO2012127471A2 (en) * 2011-03-21 2012-09-27 N-Trig Ltd. System and method for authentication with a computer stylus
US9329703B2 (en) 2011-06-22 2016-05-03 Apple Inc. Intelligent stylus
US8797301B2 (en) * 2012-02-15 2014-08-05 Cypress Semiconductor Corporation Active stylus to host data transmitting method
TWI463364B (zh) 2011-10-14 2014-12-01 Syncmold Entpr Corp 觸控裝置之外部操作系統與方法
US9946408B2 (en) 2011-10-28 2018-04-17 Atmel Corporation Communication between a master active stylus and a slave touch-sensor device
US9116558B2 (en) * 2011-10-28 2015-08-25 Atmel Corporation Executing gestures with active stylus
US8933899B2 (en) 2011-10-28 2015-01-13 Atmel Corporation Pulse- or frame-based communication using active stylus
US9323348B2 (en) * 2011-11-09 2016-04-26 Crayola Llc Stylus having sensing and transmitting capabilities
US9007302B1 (en) 2011-11-11 2015-04-14 Benjamin D. Bandt-Horn Device and user interface for visualizing, navigating, and manipulating hierarchically structured information on host electronic devices
JP2013125487A (ja) 2011-12-16 2013-06-24 Konica Minolta Business Technologies Inc 空間手書きシステム及び電子ペン
US8803850B2 (en) * 2012-06-15 2014-08-12 Blackberry Limited Stylus with control ring user interface
JP6048722B2 (ja) 2012-06-26 2016-12-21 カシオ計算機株式会社 入力装置、電圧検出装置、入力操作解析方法、および、入力操作解析プログラム
JP6021174B2 (ja) * 2012-08-08 2016-11-09 株式会社ワコム 位置検出装置およびその位置指示器
US9563304B2 (en) * 2012-08-15 2017-02-07 Atmel Corporation Active stylus with passive mutual measurements
KR102084041B1 (ko) * 2012-08-24 2020-03-04 삼성전자 주식회사 펜 기능 운용 방법 및 시스템
JP5984259B2 (ja) 2012-09-20 2016-09-06 株式会社ワコム 位置検出装置
US10642376B2 (en) 2012-11-28 2020-05-05 Intel Corporation Multi-function stylus with sensor controller
RO128874B1 (ro) * 2012-12-19 2017-08-30 Softwin S.R.L. Sistem, pix electronic şi metodă pentru achiziţia semnăturii olografe dinamice, utilizând dispozitive mobile cu ecran capacitiv
US20140256250A1 (en) 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Peer-to-peer data transfer using near field communication (nfc)-enabled styluses
US9760187B2 (en) * 2013-03-11 2017-09-12 Barnes & Noble College Booksellers, Llc Stylus with active color display/select for touch sensitive devices
US20140253462A1 (en) 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Sync system for storing/restoring stylus customizations
US9891722B2 (en) * 2013-03-11 2018-02-13 Barnes & Noble College Booksellers, Llc Stylus-based notification system
KR102050444B1 (ko) * 2013-04-30 2019-11-29 엘지디스플레이 주식회사 터치 입력 시스템 및 이를 이용한 터치 검출 방법
US10055030B2 (en) 2013-05-17 2018-08-21 Apple Inc. Dynamic visual indications for input devices
US9280214B2 (en) 2013-07-02 2016-03-08 Blackberry Limited Method and apparatus for motion sensing of a handheld device relative to a stylus
US9939935B2 (en) 2013-07-31 2018-04-10 Apple Inc. Scan engine for touch controller architecture
US9189428B2 (en) 2013-08-19 2015-11-17 Wacom Co., Ltd. Pen/touch tablet computer having multiple operation modes and method for switching operation modes
JP6176013B2 (ja) 2013-09-12 2017-08-09 株式会社リコー 座標入力装置及び画像処理装置
TWI560582B (en) 2013-11-08 2016-12-01 Egalax Empia Technology Inc Circuit switch and stylus
KR102346206B1 (ko) 2014-01-22 2022-01-03 가부시키가이샤 와코무 위치 지시기, 위치 검출 장치, 위치 검출 회로 및 위치 검출 방법
US9703946B2 (en) 2014-03-31 2017-07-11 Stmicroelectronics Asia Pacific Pte Ltd Secure pairing method, circuit and system for an intelligent input device and an electronic device
US9632597B2 (en) 2014-06-12 2017-04-25 Amazon Technologies, Inc. Configurable active stylus devices
KR102366685B1 (ko) 2014-06-16 2022-02-22 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 터치 인에이블 디바이스에 의한 데이터 송신을 위한 방법 및 시스템
US9763087B2 (en) * 2014-07-14 2017-09-12 Microsoft Technology Licensing, Llc Cryptographic key exchange over an electrostatic channel
US9977519B2 (en) * 2015-02-25 2018-05-22 Synaptics Incorporated Active pen with bidirectional communication

Also Published As

Publication number Publication date
US20180032164A1 (en) 2018-02-01
KR102598474B1 (ko) 2023-11-06
KR102529126B1 (ko) 2023-05-08
KR20170139112A (ko) 2017-12-18
US10488953B2 (en) 2019-11-26
CN107533793B (zh) 2020-10-27
KR20220139457A (ko) 2022-10-14
CN107533793A (zh) 2018-01-02
US11144140B2 (en) 2021-10-12
JP7271770B2 (ja) 2023-05-11
KR20230062895A (ko) 2023-05-09
US9785262B2 (en) 2017-10-10
JP7441994B2 (ja) 2024-03-01
JP7093863B2 (ja) 2022-06-30
US20200089345A1 (en) 2020-03-19
US9639183B2 (en) 2017-05-02
US9851819B2 (en) 2017-12-26
US10152145B2 (en) 2018-12-11
EP3286745A4 (en) 2019-01-02
US10558280B2 (en) 2020-02-11
JP2023083613A (ja) 2023-06-15
CN111078030B (zh) 2023-10-13
EP3286745B1 (en) 2021-03-24
US20160306447A1 (en) 2016-10-20
JP2018514008A (ja) 2018-05-31
US20180120965A1 (en) 2018-05-03
JP2022130506A (ja) 2022-09-06
US20190187822A1 (en) 2019-06-20
US20210081060A1 (en) 2021-03-18
KR20230157523A (ko) 2023-11-16
EP3859499A1 (en) 2021-08-04
EP3286745A1 (en) 2018-02-28
US20170235384A1 (en) 2017-08-17
US20190113992A1 (en) 2019-04-18
US10852852B2 (en) 2020-12-01
US20160306448A1 (en) 2016-10-20
CN111078030A (zh) 2020-04-28
KR102453139B1 (ko) 2022-10-12
JP2021089754A (ja) 2021-06-10
JP6836995B2 (ja) 2021-03-03
US10216296B2 (en) 2019-02-26
WO2016171976A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
KR102688037B1 (ko) 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
JP7004781B2 (ja) ホストプロセッサとアクティブスタイラスとの間の通信の方法、センサコントローラ、ホストプロセッサ、ホストプロセッサとアクティブスタイラスとセンサコントローラとを含むシステム
US9448646B1 (en) System and method for bidirectional communication between stylus and stylus sensor controller

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right