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

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

Info

Publication number
KR20170139113A
KR20170139113A KR1020177033541A KR20177033541A KR20170139113A KR 20170139113 A KR20170139113 A KR 20170139113A KR 1020177033541 A KR1020177033541 A KR 1020177033541A KR 20177033541 A KR20177033541 A KR 20177033541A KR 20170139113 A KR20170139113 A KR 20170139113A
Authority
KR
South Korea
Prior art keywords
stylus
sensor controller
active stylus
active
value
Prior art date
Application number
KR1020177033541A
Other languages
English (en)
Other versions
KR102447009B1 (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 KR20170139113A publication Critical patent/KR20170139113A/ko
Application granted granted Critical
Publication of KR102447009B1 publication Critical patent/KR102447009B1/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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0383Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법을 제공한다. 상기 센서 컨트롤러는 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트하고, 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신한다. 상기 센서 컨트롤러는 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 스타일러스와 결합되는 경우에, 상기 제1 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다. 상기 센서 컨트롤러는 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스와 결합되는 경우에, 상기 제2 스타일러스로부터 리포트된 값으로 채워진 상기 제2 서브셋의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다.

Description

스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법
본 출원은 2015년 4월 20일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/149,907호, 2015년 5월 15일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/162,527호, 2015년 10월 19일에 출원된 "위치 입력 방법, 위치 입력 시스템, 센서 컨트롤러, 및 스타일러스"라는 제목의 미국 가특허 출원 제62/243,427호, 2016년 2월 4일에 출원된 "스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법"이라는 제목의 미국 가특허 출원 제62/291,373호, 2015년 4월 25일에 출원된 "위치 입력 방법 및 위치 입력 시스템"이라는 제목의 미국 가특허 출원 제62/152,870호, 2015년 7월 13일에 출원된 "위치 입력 방법 및 위치 입력 시스템"이라는 제목의 미국 가특허 출원 제62/191,913호, 2015년 10월 13일에 출원된 "위치 입력 방법 및 위치 입력 시스템"이라는 제목의 미국 가특허 출원 제62/240,984호, 및 2016년 2월 4일에 출원된 "위치 입력 방법 및 위치 입력 시스템"이라는 제목의 미국 가특허 출원 제62/291, 356호의 우선권을 주장하고, 이들의 전체는 인용에 의해 여기에 편입된다.
본 출원은 액티브 스타일러스, 스타일러스 센서에 대한 센서 컨트롤러, 그 스타일러스 센서에 결합된 호스트 프로세서, 및 이러한 스타일러스, 센서 컨트롤러, 및 호스트 프로세서에 기초하는 위치 입력 시스템 및 방법에 관한 것으로, 보다 상세하게는, 그 스타일러스와 그 센서 컨트롤러 사이의, 그리고 그 센서 컨트롤러와 그 호스트 프로세서 사이의 쌍방향 통신 프로토콜을 이용하는 위치 입력 시스템 및 방법에 관한 것이다.
태블릿 컴퓨터, 스마트 폰 등의 전자 장치의 스타일러스 검지 스크린(센서) 상에 유저가 문자 및 도형을 수기(handwrite)하는 것이 가능한 각종 스타일러스를 입수할 수 있다. 예를 들면, 액티브 정전 용량식(용량성) 스타일러스는 전원 및 시그널 프로세서를 구비하고, 스타일러스의 팁에 구비된 전극에 송신 신호에 따른 전하를 공급함으로써 신호를 송신하고, 이것에 의해 팁이 나타내는(지시하는) 위치 또는 그 근방에 있어서의 전계에 변화를 일으키게 한다. 전자 장치의 스타일러스 검지 스크린(센서)은 매트릭스 모양의 X전극 및 Y전극을 구비하고, 스타일러스 팁에 의한 상술의 전계의 변화가 스타일러스 팁 또는 그 근방의 매트릭스 전극에 있어서의 상응하는 전하의 변화를 유기(誘起)한다. 센서 및/또는 전자 장치의 호스트 프로세서에 결합한 센서 컨트롤러는, 매트릭스 전극에 있어서의 이러한 전하의 변화를 검출함으로써 스타일러스로부터의 송신 신호를 검출한다. 센서 컨트롤러 및/또는 호스트 프로세서는, 그 다음으로, 송신 신호를 검출한 매트릭스 전극의 위치에 기초하여, 센서상에 있어서 스타일러스에 의해 나타내진 위치를 판별한다.
상이한 종류의 액티브 스타일러스는, 펜(스타일러스) 팁 압력을 검출할 수 있는 상이한 단계가 몇 개 있는 가와 같은 펜(스타일러스) 팁 압력 검출 기능, 펜 트위스트(회전) 검출 기능 및 펜 틸트(tilt) 검출 기능을 포함하는 펜 오리엔테이션 검출 기능, 스타일러스상에 구비된 상이한 수 및 종류의 배럴 버튼(스위치) 등의, 다른 스타일러스 기능 또는 작용을 가진다. 통상, 스타일러스로부터 센서 컨트롤러로의 통신에 사용되는 데이터 포맷은, 대상으로 하고 있는 스타일러스 센서 시스템에 고정하여 설정되어, 다른 종류의 스타일러스 기능 및 작용을 서포트할 수 없고, 그리고 스타일러스 기능 및 작용의 베리에이션을 확대할 수 없다.
각 스타일러스는 센서 컨트롤러와 함께 사용할 (즉, 센서 컨트롤러의 검지 영역에 들어갈)때마다 항상 스타일러스의 전체 기능 정보를 센서 컨트롤러에 송신하는 것이 가능한 한편, 이러한 전체 기능 정보의 송신은, 대상으로 하고 있는 통신 프로토콜에 있어서 사용 가능한 다수의 타임슬롯 또는 프레임을 소비한다. 1개 또는 복수의 스타일러스가 끊임 없이 센서 컨트롤러의 검지 영역에 들어가고, 및 검지 영역으로부터 나오는 통상의 상황에 있어서, 센서 컨트롤러는 들어가는 각 스타일러스의 기능 정보를 즉석에서 취득하여 스타일러스의 개별의 기능에 적절한 양태로 스타일러스와의 통신을 개시할 수 없을 가능성이 있다. 이것에 의해 센서 컨트롤러의 응답 시간이 저속화되고, 따라서 센서 컨트롤러와 액티브 스타일러스의 사이에 있어서 통신을 확립하는 것이 지연될 수 있다. 예를 들면, 센서 컨트롤러는, 센서 컨트롤러가 스타일러스의 오리엔테이션 검출 기능을 즉시 확인할 수 없기 때문에, 스타일러스에 이러한 오리엔테이션 데이터를 충분히 송신하는 능력이 있는 경우에도, 스타일러스로부터의 펜 오리엔테이션 데이터를, 신속하게 수신할 수 없을 가능성이 있다.
본 개시는 검지 영역에 들어가는 1개 또는 복수의 액티브 스타일러스의 기능 정보를 센서 컨트롤러가 즉시 판별함으로써 스타일러스와의 쌍방향 통신을 개시하는 것을 가능하게 하는 기술적 해결 수단을 제공한다. 본 개시는 상이한 기능 정보를 가지는 상이한 액티브 스타일러스를 서포트하는 범용의 스타일러스―센서 컨트롤러간 인터페이스를 제공한다. 본 개시는 추가로, 호스트 프로세서에 결합할 수 있는 상이한 종류의 센서 컨트롤러를 서포트하고, 나아가서는 다양한 센서 컨트롤러와 함께 사용되는 상이한 종류의 액티브 스타일러스를 서포트하는 센서 컨트롤러―호스트 프로세서간 인터페이스를 제공한다.
일 양태에 의하면, 액티브 스타일러스와 인터랙트(interact)하도록 구성된 센서에 결합된 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법이 제공된다. 본 방법은 일반적으로 3개의 스텝을 포함한다. 첫째로, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때, 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터(default descriptor)를 서포트하는 상기 센서 컨트롤러는, 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신한다. 상기 정의된 스타일러스 속성 세트는, 상이한 종류의 액티브 스타일러스에 의해서 서포트될 수 있는 모든(존재할 수 있는) 스타일러스 속성을 포함한다. 둘째로, 상기 센서 컨트롤러는 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다. 셋째로, 상기 센서 컨트롤러는 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다.
본 방법에 의하면, 상기 호스트 프로세서는, 상기 호스트 프로세서가 상기 센서 컨트롤러에 접속되어 있을 때, 상기 정의된 스타일러스 속성 세트로 이루어지는 상기 디폴트 디스크립터를 수신한다. 따라서, 어떠한 종류의 액티브 스타일러스가 다음에 상기 센서 컨트롤러와 함께 사용되는지에 관계없이, 상기 호스트 프로세서는 상이한 액티브 스타일러스로부터 상기 센서 컨트롤러를 통해서 상이한 종류의 스타일러스 리포트를 수신 및 처리할 수 있다. 예를 들면, 상기 제1 액티브 스타일러스가 제1 서브셋의 속성(예를 들면, 위치 및 펜 압력)을 리포트하는 것이 가능하고, 상기 제2 액티브 스타일러스가 제2 서브셋의 속성(예를 들면, 위치, 펜 압력, 펜 오리엔테이션, 및 펜 스위치 스테이터스(pen switch status))을 리포트하는 것이 가능하면, 상기 호스트 프로세서는, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트와, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트 중 어느 것을 수신 및 처리하는 것이 가능하고, 이것은, 상기 호스트 프로세서가 상기 센서 컨트롤러로부터 수신한 상기 디폴트 디스크립터에 의해서 상기 제1 스타일러스 리포트 및 상기 제2 스타일러스 리포트의 양방이 서포트되는 것에 의한다.
일 양태에 의하면, 상기 센서 컨트롤러와 상기 호스트 프로세서는 USB(Universal Serial Bus) 인터페이스, 집적 회로간(I2C) 버스, 또는 SPI(Serial Peripheral Interface) 버스를 통해서 접속되도록 구성되어 있다.
일 양태에 의하면, 상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트되지 않은 스타일러스 속성에 대한 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드에 디폴트값을 채운다.
다른 양태에 의하면, 상기 센서 컨트롤러는 상기 제1 액티브 스타일러스로부터 리포트된 상기 제1 서브셋의 스타일러스 속성, 또는 상기 제2 액티브 스타일러스로부터 리포트된 상기 제2 서브셋의 스타일러스 속성에 대해서, 서브-샘플링(sub-sampling), 슈퍼-샘플링(super-samplig), 내부 삽입(interpolation), 또는 외부 삽입(extrapolation) 등의 평활화 알고리즘을 적용하여 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드에 채운다.
일 양태에 의하면, 디폴트 디스크립터에 포함되는 상기 정의된 스타일러스 속성 세트는 i) 스타일러스 좌표값, ii) 팁 압력치 및 배럴 압력치 중 적어도 하나를 포함하는 스타일러스 압력치, iii) 팁 스위치값, 제1 배럴 스위치값, 및 제2 스위치값 중 적어도 하나를 포함하는 스타일러스 스위치값, iv) 스타일러스 반전 인디케이터값(indicator value), (v) 스타일러스 이레이저 인티케이터(stylus eraser indicator), (vi) X 틸트값(tile value), Y 틸트값, 트위스트값(twist value), 고도값, 방위각값, 가속도계값, 자이로스코프값, 및 지자기계값 중 적어도 하나를 포함하는 스타일러스 오리엔테이션값, (vii) 스타일러스 배터리 스테이터스값(stylus battery status value), (viii) 스타일러스 ID, (ix) 스타일러스 추천색값, (x) 스타일러스 추천 선폭값(line width value), 및 (xi) 스타일러스 추천 선스타일값을 포함한다.
다른 양태에 의하면, 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법이 제공된다. 본 방법은 일반적으로 3개의 스텝을 포함한다. 첫째로, 상기 센서 컨트롤러는 정의된 스타일러스 속성 세트로 이루어지는 제1 기술(description))과 상기 정의된 스타일러스 속성 세트의 서브셋으로 이루어지는 제2 기술을 포함하는 디폴트 디스크립터를 서포트하고, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신한다. 둘째로, 상기 센서 컨트롤러는, 상기 정의된 스타일러스 속성 세트에 관해서 실질적으로 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 제1 기술에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 정의된 스타일러스 속성 세트의 필드를 실질적으로 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다. 셋째로, 상기 센서 컨트롤러는, 스타일러스 속성의 상기 서브셋에 관해서 실질적으로 리포트하는 것이 가능한 제2 액티브 스타일러스에 결합되는 경우에, 상기 제2 기술에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 스타일러스 속성의 상기 서브셋의 필드를 실질적으로 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다.
본 방법에 의하면, 스타일러스 리포트를 송신하는데 이용되는 액티브 스타일러스의 종류에 따라서, 정의된 스타일러스 속성 세트로 이루어지는 제1 기술에 의해 정의된 제1 스타일러스 리포트와, 상기 정의된 스타일러스 속성 세트의 서브셋으로 이루어지는 제2 기술에 의해 정의된 제2 스타일러스 리포트 중 어느 것이 상기 호스트 프로세서에 의해서 수신된다. 상기 제1 기술 및 상기 제2 기술의 양방을 포함하는 상기 디폴트 디스크립터를 상기 센서 컨트롤러로부터 이미 수신하였으면, 상기 호스트 프로세서는, 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 중 어느 것을 수신 및 처리할 수 있다. 전형적으로는, 상기 제1 스타일러스 리포트는 상기 제2 스타일러스 리포트보다 큰 데이터 사이즈를 가진다.
다른 양태에 의하면, 액티브 스타일러스와 인터랙트하는, 센서에 결합되는 센서 컨트롤러가 제공된다. 상기 센서 컨트롤러는 처리 회로를 구비하고, 그 처리 회로는 동작 중에, 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트한다. 상기 센서 컨트롤러는, 추가로, 상기 처리 회로에 결합된 송신 회로를 구비하고, 상기 송신 회로는 동작 중에, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신한다. 상기 송신 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다. 상기 송신 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다.
다른 양태에 의하면, 호스트 프로세서가 제공된다. 상기 호스트 프로세서는 수신 회로를 구비하고, 그 수신 회로는 동작 중에, 센서 컨트롤러로부터, 상기 호스트 프로세서와 상기 센서 컨트롤러 사이의 접속이 확립되었을 때 디폴트 디스크립터를 수신하고, 상기 디폴트 디스크립터는 정의된 스타일러스 속성 세트를 포함한다. 상기 호스트 프로세서는, 추가로, 상기 수신 회로에 결합된 처리 회로를 포함한다. 상기 처리 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 센서 컨트롤러로부터 수신한다. 상기 처리 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 센서 컨트롤러로부터 수신한다.
또 다른 양태에 의하면, (a) 센서와 인터랙트하도록 구성된 액티브 스타일러스, (b) 상기 센서에 결합된 센서 컨트롤러, 및 (c) 호스트 프로세서를 구비하는 시스템이 제공된다. 상기 센서 컨트롤러(b)는 동작 중에 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트하는 센서 처리 회로, 및 상기 센서 처리 회로에 결합된 센서 송신 회로를 구비한다. 상기 호스트 프로세서(c)는 동작 중에 상기 센서 컨트롤러로부터 상기 디폴트 디스크립터를 수신하는 호스트 수신 회로, 및 상기 호스트 수신 회로에 결합된 호스트 처리 회로를 구비한다. 상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신한다. 상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다. 상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러가 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신한다.
일 양태에 의하면, 센서 컨트롤러를 통해서 호스트 프로세서와 액티브 스타일러스 사이의 통신에 제공되는 방법이 제공되고, 상기 센서 컨트롤러는 상기 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합되어 있다. 본 방법은 일반적으로 3개의 스텝을 포함한다. 첫째로, 상기 호스트 프로세서는, 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터 수신한 커맨드를 송신한다. 둘째로, 상기 센서 컨트롤러는 상기 호스트 프로세서로부터 상기 커맨드를 수신하여 상기 커맨드를 상기 액티브 스타일러스에 포워딩한다. 셋째로, 상기 액티브 스타일러스는, 상기 커맨드에 응답하여, 상기 커맨드에 따라서 동작하여 상기 센서 컨트롤러에 커맨드 응답을 송신한다.
본 방법에 의하면, 상기 호스트 프로세서, 또는 보다 상세하게는 상기 호스트 프로세서상에서 동작하는 애플리케이션(예를 들면, 드로잉 애플리케이션)은, 상기 액티브 스타일러스에, 예를 들면 상기 액티브 스타일러스의 스테이터스를 문의하는 커맨드, 또는 상기 액티브 스타일러스의 특정의 속성을 구성하는(설정하는) 커맨드를 송신할 수 있다.
일 양태에 의하면, 상기 센서 컨트롤러는 상기 액티브 스타일러스로부터 회신되는 상기 커맨드 응답을, 상기 센서 컨트롤러에 결합한 메모리 장치에 기억한다. 상기 호스트 프로세서는, 이어서 상기 센서 컨트롤러의 상기 메모리 장치로부터 상기 커맨드 응답을 읽어내도록 요구할 수 있다.
일 양태에 의하면, 상기 센서 컨트롤러와 상기 호스트 프로세서는 USB(Universal Serial Bus) 인터페이스, 집적 회로간(I2C) 버스, 또는 SPI(Serial Peripheral Interface) 버스를 통해서 접속되도록 구성되어 있다.
일 양태에 의하면, 상기 커맨드는 상기 액티브 스타일러스에 대한 요구 커맨드로 이루어진다.
일 양태에 의하면, 상기 커맨드는 상기 액티브 스타일러스의 추천색값, 추천 선폭값, 또는 추천 선스타일값 등의, 상기 액티브 스타일러스의 속성을 식별하는 요구 커맨드로 이루어진다.
다른 양태에 의하면, 상기 커맨드는 추천색값, 추천 선폭값, 또는 추천 선스타일값 등의, 상기 액티브 스타일러스에 대한 속성을 설정하는 설정 커맨드로 이루어진다.
일 양태에 의하면, 상기 액티브 스타일러스로부터의 상기 커맨드 응답은, 상기 커맨드에 따라서 동작하는 것의 결과로서 취득되는 데이터를 포함한다.
다른 양태에 의하면, 센서에 결합함과 아울러 호스트 프로세서에 결합하는 센서 컨트롤러가 구비되고, 상기 센서는 상기 액티브 스타일러스로부터 신호를 수신함과 아울러 액티브 스타일러스에 신호를 송신하는 매트릭스 모양의 전극을 구비한다. 상기 센서 컨트롤러는 수신 회로를 구비하고, 그 수신 회로는 동작 중에, 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를 수신한다. 상기 센서 컨트롤러는, 추가로, 메모리 장치와, 상기 수신 회로 및 상기 메모리 장치에 결합된 처리 회로를 포함한다. 상기 처리 회로는 동작 중에, 수신한 상기 커맨드를 상기 센서의 상기 매트릭스 모양의 전극을 통해서 상기 액티브 스타일러스에 포워딩한다. 상기 처리 회로는 상기 액티브 스타일러스로부터 상기 센서의 상기 매트릭스 모양의 전극을 통해서 커맨드 응답을 수신한다. 상기 처리 회로는 수신한 상기 커맨드 응답을 상기 메모리 장치에 기억한다.
다른 양태에 의하면, 호스트 프로세서가 제공된다. 상기 호스트 프로세서는 송신 회로를 구비하고, 그 송신 회로는 동작 중에, 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를, 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러에 송신한다. 상기 호스트 프로세서는, 추가로, 상기 송신 회로에 결합된 처리 회로를 포함한다. 상기 처리 회로는 상기 커맨드에 응답하여 상기 액티브 스타일러스로부터 회신되어 상기 센서 컨트롤러의 메모리 장치에 기억된 커맨드 응답의 판독을 요구하도록 구성되어 있다. 상기 호스트 프로세서는, 추가로, 동작 중에 상기 센서 컨트롤러의 상기 메모리 장치로부터 판독된 상기 커맨드 응답을 수신하는 수신 회로를 구비한다.
또 다른 양태에 의하면, (a) 호스트 프로세서로서, 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를 송신하도록 구성된 호스트 프로세서, (b) 센서와 인터랙트하도록 구성된 액티브 스타일러스, 및 (c) 상기 센서와 결합된 센서 컨트롤러를 구비하는 시스템이 제공된다. 상기 센서 컨트롤러(c)는 동작 중에 상기 호스트 프로세서로부터 상기 커맨드를 수신하는 센서 수신 회로와, 메모리 장치와, 상기 센서 수신 회로 및 상기 메모리 장치에 결합되어 있음과 아울러 수신한 커맨드를 상기 액티브 스타일러스에 포워딩하도록 구성된 센서 처리 회로를 구비한다. 상기 액티브 스타일러스는 상기 커맨드에 응답하여, 상기 커맨드에 따라서 동작하여 상기 센서 컨트롤러에 커맨드 응답을 회신한다.
도 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 해시값을 이용한다.
도 11은 액티브 스타일러스 및 전자 장치를 구비하고, 그 전자 장치가 센서, 그 센서에 결합된 센서 컨트롤러, 및 그 센서 컨트롤러에 결합된 전자 장치의 호스트 프로세서를 구비하는, 시스템 전체를 나타내는 도면으로서, 특히, 센서 컨트롤러와 호스트 프로세서 사이의 쌍방향 통신을 나타낸다.
도 12a는 다양한 스타일러스 속성 세트를 포함하는 스타일러스 리포트의 송신을 서포트하는 디폴트 디스크립터에 기초한, 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법을 나타내는 순서도이다.
도 12b는 다양한 스타일러스 속성 세트를 포함하는 스타일러스 리포트의 송신을 서포트하는 디폴트 디스크립터에 기초한, 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법을 나타내는 다른 순서도이다.
도 12c는 액티브 스타일러스에게 보내도록 의도된 커맨드를 센서 컨트롤러에 송신하여, 그 커맨드를 액티브 스타일러스에 포워딩하고, 액티브 스타일러스로부터 회신되는 커맨드 응답을 호스트 프로세서에 의한 후의 판독에 대비하여 기억하는, 호스트 프로세서 사이의 통신에 제공되는 방법을 나타내는 순서도이다.
도 13은 정의된 스타일러스 속성 세트를 포함하는 디폴트 디스크립터의 예를 나타낸다.
도 14는 도 13의 디폴트 디스크립터의 제1 (전체) 기술에 의해서 서포트되는 풀 리포트(full report), 및 도 13의 디폴트 디스크립터의 제2 (부분적인) 기술에 의해서 서포트되는 숏 리포트(short report)에 포함되는 스타일러스 속성을 나타내는 테이블이다.
도 15는 정의된 스타일러스 속성 세트의 서브셋을 포함하는, 도 13의 디폴트 디스크립터의 일부를 이루는 부분적 기술예를 나타낸다.
도 16은 센서 컨트롤러에 커맨드를 송신하여, 그 커맨드를 액티브 스타일러스에 포워딩하고, 그 다음에 커맨드 응답을 회신하는, 호스트 프로세서의 인터랙티브 동작을 나타내는 도 12c의 방법의 시퀀스도이다.
도 1은 액티브 스타일러스(100) 및 전자 장치(예를 들면, PC, 태블릿 컴퓨터, 스마트 폰)(3)를 포함하는 시스템 전체를 나타낸다. 전자 장치(3)는 센서(201), 센서(201)에 결합된 센서 컨트롤러(200), 및 센서 컨트롤러(200)에 결합된 전자 장치(3)의 호스트 프로세서(300)를 구비한다. 도 1은 센서 컨트롤러(200) 및 호스트 프로세서(300)를 전자 장치(3)에 구비되도록 나타내고 있지만, 호스트 프로세서(300)가 센서 컨트롤러(200)를 포함하는 전자 장치(3)(예를 들면, 태블릿 주변장치)에 결합하도록 독립하여 구비될 수 있는 다양한 실시 형태를 들 수 있다.
PC, 태블릿 컴퓨터, 스마트 폰 등의 전자 장치(3)는, 전형적으로는, 센서(201) 아래에 존재하거나, 또는 위에 존재하는 스크린을 구비하고, 유저는 액티브 스타일러스(100)를 이용하여 그 스크린상에 문자 및 도형을 수기한다. 여기서 이용하는 액티브 스타일러스는, 전자 회로와, 배터리 또는 내장된 에너지 콘딧(parasitic energy conduit) 등의 전원(105)을 포함하는 스타일러스이다. 센서(201)는 용량성 터치/스타일러스 센서, 저항식 터치/스타일러스 센서, 전자 공명 스타일러스 센서, 광학식 스타일러스 센서, 초음파 스타일러스 센서 등의 임의의 적당한 공지의 스타일러스 검지 센서로 이루어질 수 있다. 스타일러스 센서도 있으며, 액티브 스타일러스 및 손가락 터치의 양방을 검출하는 것이 가능한 센서도 있다. 이하에서 도 2b를 참조하여 상술하는 센서 컨트롤러(200)는 센서(201)의 동작을 제어하여, 액티브 스타일러스(100)와의 쌍방향 통신을 실행하고, 추가로 호스트 프로세서(300)와 통신한다. 예를 들면, 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터의 자필 입력 데이터를 처리하여 센서(201)상에 있어서 액티브 스타일러스(100)에 의해 나타내진(지시된) 위치의 (X, Y) 좌표 및 색을 판별하고, 그 (X, Y) 좌표 및 색 정보를 전자 장치(3)의 호스트 프로세서(300)에 전송한다. 호스트 프로세서(300)는, 전형적으로는, 메모리를 구비한 컨트롤러 또는 CPU 등으로 이루어진다. 센서 컨트롤러(200) 및 호스트 프로세서(300)는, USB 휴먼 인터페이스 장치(HID) 프로토콜(PTCL) 등의 적당한 인터페이스를 통해서 접속된다. 도 1~도 10을 참조하여, 우선 액티브 스타일러스(100)와 센서 컨트롤러(200) 사이의 통신을 개설하고, 그 후에 도 11~도 16을 참조하여, 호스트 프로세서(300)와 센서 컨트롤러(200) 사이의 통신(이어서 액티브 스타일러스(100)와 통신함)을 개설한다.
이하에서 도 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)가 설정되는 경우, 그것은 스타일러스가 배럴 압력을 나타내는 것을 가지는 것을 나타낸다. 틸트 비트가 설정되는 경우, 그것은 스타일러스가 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에서부터 개시하여 4개의 타임슬롯의 등간격(T)으로 있는, 즉 프레임 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)를 송신하도록 요구한다.
도 11은 액티브 스타일러스(100) 및 전자 장치(예를 들면, PC, 태블릿 컴퓨터, 스마트 폰)(3)를 포함하는 시스템 전체를 나타내는, 도 1과 유사한 도면이다. 도 11은 특히, 전자 장치(3) 내에서의 센서 컨트롤러(200)와 호스트 프로세서(300) 사이의 쌍방향 통신을 나타낸다.
센서 컨트롤러(200)는 처리 회로(202)를 구비하고, 처리 회로(202)에는 센서 수신(RX) 회로, 센서 송신(TX) 회로, 및 메모리 장치가 결합되어 있다. 호스트 프로세서(300)는 처리 회로(301)를 구비하고, 처리 회로(301)는 호스트 수신(RX) 회로 및 호스트 송신(TX) 회로에 결합되어 있다. 일 방향에 있어서 호스트 송신(TX) 회로로부터 센서 수신(RX) 회로로 향하고, 타 방향에 있어서 센서 송신(TX) 회로로부터 호스트 수신(RX) 회로로 향하는 쌍방향 통신을, USB(Universal Serial Bus) 인터페이스(USB HID―PTCL)에 의해서, 또는 집적 회로간(I2C) 버스, SPI(Serial Peripheral Interface) 버스, 혹은 다른 적당한 하드웨어에 의해서 서포트할 수 있다.
추가로 도 12a를 참조하면, 센서 컨트롤러(200)와 호스트 프로세서(300) 사이의 통신에 제공되는 방법은, 일반적으로 3개의 스텝을 포함한다. 우선, 스텝 S1202에 있어서, 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트하는 센서 컨트롤러는, 호스트 프로세서(300)에 디폴트 디스크립터를 송신한다. 디폴트 디스크립터는 센서 컨트롤러(200)의 처리 회로(202)에 의해서 특정 및 서포트된다. 요컨대, 디폴트 디스크립터는 센서 컨트롤러(200)에 의해서 호스트 프로세서(300)에 송신되는 HID(Human Interface Device) 클래스 리포트의 포맷을 정의한다. 환언하면, 디폴트 디스크립터는 이러한 리포트에 어떠한 정보가 어떠한 포맷으로 포함되는지를 정의한다. 디폴트 디스크립터 내의 정의된 스타일러스 속성 세트가, 상이한 종류의 액티브 스타일러스에 의해서 서포트될 수 있는 모든(존재할 수 있는) 스타일러스 속성을 포함하는, 다양한 실시 형태를 들 수 있다. 이하에서 보다 상세하게 설명하는 바와 같이, 이것에 의해서, 새롭게 발견된 스타일러스(100)가, 액티브 스타일러스의 기능 및 기호에 의존하는 디폴트 디스크립터에 의해서 서포트되는 모든 존재할 수 있는 스타일러스 속성의 최소 세트 또는 모든 범위를 제공하는 것이 가능해진다.
도 13은 센서 컨트롤러(200)로부터 호스트 프로세서(300)에 송신되는 스타일러스 리포트의 디폴트 디스크립터예이다. 스타일러스 리포트는 스타일러스의 위치, 팁 압력치, 배럴 압력치, 스타일러스 오리엔테이션값(예를 들면, 틸트 및 회전) 등의, 액티브 스타일러스(100)로부터 리포트되었던 대로의 스타일러스 속성을 포함한다. 도 14는 도 13의 디폴트 디스크립터에 포함되는 스타일러스 속성의 테이블이다. 도 14에 나타내는 바와 같이, 스타일러스 속성치는, 스타일러스 좌표값("X, Y"), 스타일러스가 센서의 검지 영역의 범위 내에 있는 동안에 각 스타일러스에 할당되는 스타일러스 로컬 ID("Transducer Index"), 팁 압력치("Tip Pressure"), 및 배럴 압력치("Barrel Pressure") 중 적어도 하나를 포함하는 스타일러스 압력치, 팁 스위치값("Tip Switch"), 제1 배럴 스위치값("Barrel Switch"), 및 제2 스위치값("Secondary Barrel Switch") 중 적어도 하나를 포함하는 스타일러스 스위치(스위치 스테이터스)값, 스타일러스가 스타일러스의 의도된 오리엔테이션으로부터 반전되어 있는(즉, 스타일러스 팁이 상방을 향하고 있는)지 여부를 나타내는 스타일러스 반전 인디케이터값("Invert"), 스타일러스의 일방의 팁(예를 들면, 반전된 팁)이 이레이저로서 기능하고 있는지 여부를 나타내는 스타일러스 이레이저 인티케이터("Erase"), 스타일러스가 센서 표면의 검지 영역 내에 있는지 여부를 나타내는 스타일러스 인-레인지값("In Range"), X 틸트값("X Tilt"), Y 틸트값("Y Tilt"), 트위스트값("Twist"), 고도값, 방위각값, 가속도계값, 자이로스코프값, 및 지자기계값 중 적어도 하나를 포함하는 스타일러스 오리엔테이션값, 스타일러스 배터리 스테이터스값("Battery Strength"), 스타일러스 글로벌 ID("Transducer Serial Number"), (이하에서 설명하는 바와 같이, 스타일러스 유저에 의해서, 또는 센서 컨트롤러/호스트 프로세서에 의해서 후에 변경될 수 있는) 액티브 스타일러스의 메모리 내에 설정된 원래 세팅된 색을 나타내는 스타일러스 추천색값("Preferred Color"), 액티브 스타일러스가 어떠한 선폭으로 묘화하할 것인지를 나타내는 스타일러스 추천 선폭값, 액티브 스타일러스가 어떠한 스타일로 묘화할 것인지(예를 들면, 펜, 연필, 하이라이터, 치즐 팁 마커, 브러시 등을 잉킹함)를 나타내는 스타일러스 추천 선스타일값, 및 액티브 스타일러스 벤더/제조자에 의해서 설정될 수 있는 커스텀 속성("Vender Usage")을 포함한다.
추천색값, 추천 선폭값, 및 추천 선스타일값의 도입을 액티브 스타일러스(100) 내에 설정하는 것에는 기술적으로 이점이 있고, 그것은 (유저에 의해서 예를 들면 액티브 스타일러스(100)상에 구비된 스위치 중 하나를 조작함으로써) 액티브 스타일러스(100) 내에서 자유롭게 설정 및 변경할 수 있는 것이다. 종래 기술에 있어서, 이들 값은, 통상, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)(예를 들면, 드로잉 애플리케이션)에 따라서만 제어되고 있었다. 이와 같이, 종래 기술에 있어서 액티브 스타일러스(100)는, 일반적으로, 위치 좌표 및 압력 데이터를 입력하는 장치로서 이용되고, 액티브 스타일러스(100)의 색, 선폭, 선스타일 등을 지정할 수 있도록 되어 있지 않았었다. 스타일러스가 널리 보급됨에 따라서, 같은 스타일러스가 복수의 애플리케이션에 있어서, 또는 복수의 시스템상에서 사용될 가능성이 증대된다. 애플리케이션간 또는 시스템간에서 이동할 때, 유저에게 있어서, 가상(virtual) 온-스크린 잉크가 그것들의 애플리케이션 및 시스템간에 있어서 지속되고 있는지 여부는 더욱 직관적이 될 것이다. 본 발명의 실시 형태는, 액티브 스타일러스(100)가 액티브 스타일러스(100)의 추천되는 색, 선폭, 및/또는 선스타일 등의 액티브 스타일러스(100)의 속성을 나타낼 수 있도록 함으로써, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)이 유저의 기호에 따라서 가상 온-스크린 잉크를 지속적으로 묘화하는 것을 용이하게 한다. 본 발명의 다양한 실시 형태에 의하면, 이하에서 설명하는 바와 같이, 액티브 스타일러스(100)에 대한 유저 조작에 기초하여, 또는 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)으로부터의 커맨드에 기초하여, 가상 온-스크린 잉크의 외형(appearance)에 영향을 주는 이들 값을 액티브 스타일러스(100) 내에서 자유롭게 설정 및 조정할 수 있다.
일 구체예에 따른 디폴트 디스크립터 내에 정의된 17개의 스타일러스 속성의 자세한 내용을 이하에 설명한다.
1. Report ID
· 리포트 ID(Report ID)는 적당히 다른 ID로 변경하는 것이 가능하다.
2. Coodinates(Usage(X) and Usage(Y))
· 센서 컨트롤러(200)는 부속의 센서에 대한 모든 정보를 가지기 때문에, 물리적 최대치(Phisycal Maximum), 유닛, 및 유닛 익스포넌트(Unit Exponent)는 센서의 실제 사이즈 및 분해능을 반영시키도록 변경되는 것으로 한다.
· 또한, 논리적 최대치(Logical Maximum)는 센서의 센서 컨트롤러(200)에 의해서 출력되는 실제의 최대치를 나타내는 것으로 한다.
· 논리적 최대치가 65535보다 큰 경우, 리포트 사이즈가 증가될 수 있고, 필요에 따라서 보충분을 추가한다.
3. Transducer Index(Usage(Transducer Index))
· 복수의 스타일러스를 동시에 추적하는 경우, 트랜스듀서 인덱스는 어느 스타일러스(100)가 리포트를 생성했는지를 나타낸다.
· 스타일러스(100)가 검출되었을 경우에 스타일러스(100)에 고유한 트랜스듀서 인덱스를 할당하여, 스타일러스(100)가 범위를 벗어날 때까지 유지한다.
· 트랜스듀서 인덱스는 임의이다. 값은 재사용 가능하다.
4. Tip Pressure(TiP)(Usage(Tip Pressure))
· 스타일러스(100)에 의해서 출력되는 팁 압력값은 12비트의 값이다.
5. Barrel Pressure(Usage(Barrel Pressure))
· 스타일러스(100)에 의해서 출력되는 배럴 압력값은 12비트의 값이다.
· 스타일러스(100)가 배럴 압력을 서포트하지 않는 경우, 리포트되는 값은 최대치(4095)로 설정된다.
· 이유:배럴 압력은 불투명도 등의 브러시 다이내믹을 변화시키는데 이용된다. 배럴 압력을 최대치로 설정함으로써, 브러시 다이내믹의 최대의 효과가 적용된다.
6. Tip Switch(Usage(Tip Switch)
스타일러스(100)는 아닌 센서 컨트롤러(200)가, 이하와 같이 하여 팁 스위치 비트(Tip Switch bit)를 생성한다.
· 이유:스타일러스(100)가 팁 스위치 비트를 송신할 필요성을 해소하기 위해서, 센서 컨트롤러(200)는:
i). 스타일러스(100)에 의해서 리포트된 팁 압력이 제로인 경우는 팁 스위치를 0으로 설정하고, 그렇지 않은 경우는 팁 스위치를 1로 설정하며,
ii). (리포트된 팁 압력이 제로 이외인 경우에 이레이저 비트(Eraser bit)가 설정되는 대신에) 반전 비트(Inverter bit)가 설정되어 있는 경우는, 팁 스위치를 설정하지 않는다.
7. Barrel Switches(BB)(Usage(BarrellSwitch) and Usage(Secondary Barrel Switch))
· 배럴 스위치 중 하나가 이레이저분으로 지정되었을 경우, 그것은 스타일러스(100)에 의해서 배럴 스위치로서 리포트되지 않는다. 대신에, 그것은 반전 비트로서 리포트된다. 이것은 스타일러스(100) 내에서 행해진다.
· 세컨더리 배럴 스위치는 오퍼레이팅 시스템에 의해서 제공되는 데이터 파서(data parser)에 있어서 서포트되지 않는 경우가 있는 비교적 새로운 HID 사용법이다.
8. Invert(Inv)(Usage(Invert))
· 스타일러스(100)가 반전 비트를 공급하고, 센서 컨트롤러(200)는 공급하지 않는다. 이 비트는 이레이저분이 사용중인 경우로 설정되어 스타일러스의 테일단이 표면에 가장 가까운 것(테일에 이레이저 스위치 및 센서가 있는 경우), 또는 이레이저로 지정된 배럴 버튼이 프레스 된 것 중 어느 것을 의미한다.
9. Eraser(Usage(Eraser))
· 스타일러스(100)는 아닌 센서 컨트롤러(200)가, 이하의 기능을 처리한다.
· 이유:스타일러스(100)가 이레이저 비트를 송신할 필요성을 해소하기 위해서, 센서 컨트롤러(200)는,
i) 반전 비트가 0으로 설정되어 있는 경우는 이레이저 비트를 0으로 설정하고,
ii) 반전 비트가 1로 설정되어 있고, 또한 스타일러스(100)에 의해서 리포트된 팁 압력이 제로인 경우는, 이레이저 비트를 0으로 설정하고,
iii) 반전 비트가 1로 설정되어 있고, 또한 스타일러스(100)에 의해서 리포트된 팁 압력이 제로가 아닌 경우는, 이레이저 비트를 1로 설정한다.
10. In Range(Usage(In Range))
· 센서 컨트롤러(200)는 인 레인지 비트(In Range bit)를 생성한다.
· 센서 컨트롤러(200)는 센서 컨트롤러(200)가 스타일러스(100)를 검출한 후에 리포트에 있어서 인 레인지 비트를 설정한다.
· 스타일러스(100)로부터 데이터를 수신하는 동안의 모든 후속 리포트는 인 레인지 세트를 가진다.
· 스타일러스(100)가 더 이상 검출되지 않을 때 인 레인지를 소거한 적어도 1개의 리포트가 송신될 수 있다.
11. Orientation(OR)(Usage(X Tilt), Usage(Y Tilt), and Usage(Twist))
· 스타일러스(100)에 의해서 서포트되지 않은 모든 오리엔테이션값도 제로로서 리포트된다.
· 스타일러스(100)로부터의 오리엔테이션은 고도(Altitude) 및 방위각(Azimuth)으로서 리포트되고, 그것들은 센서 컨트롤러(200)에 의해서 X 틸트(X Tilt) 및 Y 틸트(Y Tilt)로 변환된다.
· IMU값은 센서 컨트롤러(200)에 의해서 틸트값 및 트위스트값으로 변환되도록 한다.
· 틸트값은 ―90~90도의 물리적인 범위를 가지지만, 그것들은 기호에 따라 라디안(radian)으로 리포트될 수 있다.
· 트위스트값은 0~360도의 물리적인 범위를 가지지만, 그것들은 기호에 따라 라디안으로 리포트될 수 있다.
· 물리적인 범위 및 논리적인 범위는, 각도(degree)에 관해서 소수점 이하 2자리수의 분해능을 가지고, 또는 라디안에 관해서 소수점 이하 4자리수의 분해능을 가지는 것으로 할 수 있다.
12. Battery Level(BL)(Usage(Battery Strength))
· 배터리 레벨은 퍼센트로 리포트된다.
· 스타일러스에 의해서 리포트되는 당해 단계는 16 단계를 가질 수 있는 것이고, 조정할 필요가 있을 수 있다.
· 배터리 레벨은 이하와 같이 산출된다.
배터리 강도(Battery Strength)=스타일러스(100) 단계×(100/16)
13. Serial Number(SN)(Usage(Tranceducer Serial Number))
· 시리얼 번호는 스타일러스(100)의 56비트 시리얼 번호이며, 스타일러스(100)의 8비트 벤더 ID(VendorID)가 선두에 추가되어 64비트값을 이룬다.
· 시리얼 번호는 오퍼레이팅 시스템에 의해서 제공되는 데이터 파서에 있어서 서포트되지 않는 경우가 있는 비교적 새로운 HID 사용법이다.
14. preferred color(Col)(Usage(preferred color))
스타일러스(100)의 기능 중 추천색은 preferred color(Col)에 배치된다. 스타일러스(100)에 추천색이 존재하지 않는 경우는, 용법에서 0xFF(추천 없음)가 채워진다.
· 스타일러스 다운에서부터 스타일러스 업까지 추천색은 그만큼 빈번하게는 변경되지 않기 때문에, 이 정보는 풀 리포트(도 14)에 포함하고 숏 리포트(도 14)에는 포함하지 않는 것이 바람직하다.
15. Preferred Line Width
· 이것은 스타일러스의 팁의 물리적인 폭을 나타내는 것일 수 있다. 디스크립터는 논리적 및 물리적인 최소치 및 최대치를 포함하는 것으로 된다고 생각할 수 있다. 추천되는 물리적인 분해능은 0.1mm이다. 제로 선폭은 (임의의 확대율에 있어서의 1 화소폭 등의) 취할 수 있는 최소의 폭을 나타낼 수 있다.
16. Preferred Line Style
· 스타일러스가 묘화하는데 어떠한 선스타일이 바람직한지를 나타내는 것. 이것은 스타일러스의 물리적 특성을 나타내는 것일 수 있다.
17. Vendor Defined Data and Usage(Usage Page(Vendor Defined Usage Page1) Usage(Vendor Usage2))
· 스타일러스로부터 수신한 1 또는 2 커스텀 바이트가, 리포트의 말미에 있어서의 벤더 정의 사용에 배치된다.
· 사용되지 않는 바이트는 제로로 설정된다.
도 12a를 재차 참조하면, 스텝 S1202에 있어서, 센서 컨트롤러(200)는 센서 TX 회로에 의해서 디폴트 디스크립터를, 호스트 프로세서(300)에 호스트 RX 회로 경유로 송신한다. 센서 컨트롤러(200)와 호스트 프로세서(300) 사이의 접속이 확립되었을 때 호스트 프로세서(300)로의 디폴트 디스크립터의 송신이 발생하는, 다양한 실시예를 들 수 있다. 호스트 프로세서(300)는 디폴트 디스크립터를 수신하면, 그 후, 디폴트 디스크립터에 의해서 서포트됨과 아울러 센서 컨트롤러(200)로부터 송신된 스타일러스 리포트를 처리 및 수신 할 수 있다.
스텝 S1203에 있어서, 센서 컨트롤러(200)는 디폴트 디스크립터에 포함된 바와 같은 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스(100A)(도 11을 참조)에 결합되어 있는 경우에, 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 제1 액티브 스타일러스(100A)로부터 리포트된 값(113A)으로 채운 스타일러스 속성의 제1 서브셋의 필드를 가지는 제1 스타일러스 리포트를, 호스트 프로세서(300)에 송신한다. 스텝 S1204에 있어서, 센서 컨트롤러(200)는 제1 서브셋과 상이한 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 액티브 스타일러스(100B)에 결합되어 있는 경우에, 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 제2 액티브 스타일러스(100B)로부터 리포트된 값(113B)으로 채운 스타일러스 속성의 제2 서브셋의 필드를 가지는 제2 스타일러스 리포트를, 호스트 프로세서(300)에 송신한다. 예를 들면, 제1 액티브 스타일러스(100A)는 디폴트 디스크립터에 있어서 정의된 스타일러스 속성의 거의 모두에 관해서 리포트하는 것이 가능할 수 있는 한편, 제2 액티브 스타일러스(100B)는 약간의 스타일러스 속성(예를 들면, 위치 및 펜 압력)에 관해서만 리포트하는 것이 가능할 수 있다. 제1 서브셋의 스타일러스 속성과 제2 서브셋의 스타일러스 속성은, 제1 서브셋 및 제2 서브셋에 각각 포함되는 스타일러스 속성의 종류, 및/또는 제1 서브셋 및 제2 서브셋에 각각 포함되는 스타일러스 속성의 수에서 상이할 수 있다. 센서 컨트롤러(200)와 함께 이용되는 액티브 스타일러스의 기능에 관계없이, 센서 컨트롤러(200)는 개개의 액티브 스타일러스(100)로부터 리포트된 스타일러스 속성에 기초하여 스타일러스 리포트를 작성하여, 스타일러스 리포트를 호스트 프로세서(300)에 송신할 수 있다. 센서 컨트롤러(200)로부터 송신되는 모든 스타일러스 리포트는 디폴트 디스크립터에 의해서 서포트되기 때문에, 스타일러스로부터 리포트되는 스타일러스 속성을 다른 리포트보다 많이 포함하는 리포트도 존재하지만, 디폴트 디스크립터를 수신한 호스트 프로세서(300)는 이러한 스타일러스 리포트를 모두 해석 및 처리할 수 있다.
경우에 따라서는, 액티브 스타일러스(100)는 디폴트 디스크립터에 있어서 정의된 모든 스타일러스 속성에 관해서 리포트하는 것이 가능할 수 있다. 이러한 경우에, 스타일러스 속성의 서브셋은, 디폴트 디스크립터에 포함되는 정의된 스타일러스 속성 세트와 같다. 상이한 액티브 스타일러스(100A, 100B)가, 모두 디폴트 디스크립터에 포함되는 정의된 스타일러스 속성 세트보다 적은, 상이한 서브셋의 스타일러스 속성을 존중하여 서포트하는 경우도 있다.
도 12b는 다양한 스타일러스 속성 세트를 포함하는 스타일러스 리포트의 송신을 서포트하는 디폴트 디스크립터에 기초한, 센서 컨트롤러(200)와 호스트 프로세서(300) 사이의 통신에 제공되는 방법을 나타내는 다른 순서도이다. 스텝 S1211에 있어서, 센서 컨트롤러(200)는 정의된 스타일러스 속성 세트의 디폴트 디스크립터를 호스트 프로세서(300)에 송신한다. 스텝 S1212에 있어서, 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터 스타일러스 속성을 수신한다. 스텝 S1213에 있어서, 센서 컨트롤러(200)는 어떠한 (어느) 서브셋의 스타일러스 속성을 수신했는지를 판정한다. 제1 서브셋의 스타일러스 속성을 수신한 경우는, 스텝 S1214에 있어서, 센서 컨트롤러(200)는 디폴트 디스크립터에 의해서 서포트되는, 제1 서브셋의 스타일러스 속성의 수신한 값으로 채운 제1 스타일러스 리포트를 생성한다. 한편, (제1 서브셋과 상이한) 제2 서브셋의 스타일러스 속성을 수신한 경우는, 스텝 S1216에 있어서, 센서 컨트롤러(200)는 디폴트 디스크립터에 의해서 서포트되는, 제2 서브셋의 스타일러스 속성의 수신한 값으로 채운 제2 스타일러스 리포트를 생성한다. 이하에서 보다 상세하게 설명하는 바와 같이, 어느 경우도, 스텝 S1215에 있어서, 또는 스텝 S1217에 있어서 필요에 따라서, 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터 리포트되어 있지 않은 스타일러스 속성에 대한 리포트에 있어서의 임의의 필드에 디폴트값을 채움으로써, 및/또는 적당한 평활화 알고리즘을 적용하여 그 (리포트되어 있지 않은) 필드에 "평활화된(smoothed)" 데이터를 채움으로써 리포트를 완성시킨다. 스텝 S1218에 있어서, 필요에 따라서 디폴트값, 및/또는, 평활화된 데이터가 채워질 수 있는, 생성된 제1 또는 제2 스타일러스 리포트는, 호스트 프로세서(300)에 송신된다.
센서 컨트롤러(200)가 디폴트 디스크립터에 의해서 정의된, 정의된 스타일러스 속성 세트의 모두에 관해서 리포트하는 것이 가능하지 않은 액티브 스타일러스와 결합되어 있는 경우에, 센서 컨트롤러(200)는 스타일러스 리포트를 생성할 경우에, 액티브 스타일러스로부터 리포트되어 있지 않은 스타일러스 속성에 대한 리포트 내의 필드에 디폴트값을 채울 수 있다. 디폴트값은 미리 정의될 수 있고, 또는 미리 정의된 알고리즘에 따라서 산출될 수 있다. 예를 들면, 디폴트 디스크립터에 있어서 정의된 스타일러스 속성의 어느 것도 특정의 액티브 스타일러스에 의해서 서포트되지 않고, 따라서 리포트도 되지 않은 경우에, 그것들의 스타일러스 속성에 대한 리포트 필드에, 그 특정의 스타일러스 속성이 액티브 스타일러스에 의해서 서포트/리포트되지 않은 것을 나타내는 디폴트값(예를 들면, 최대치)을 채울 수 있다. 다른 특정의 예로서, 액티브 스타일러스가 추천색을 가지지 않는 경우에, 추천색에 대한 리포트 필드를, 추천색이 존재하지 않는 것을 나타내는 디폴트값으로 설정할 수 있다.
센서 컨트롤러(200)가 스타일러스 리포트 내의 필드를 채우기 위해, 액티브 스타일러스(100)로부터 리포트된 스타일러스 속성에 대해서 평활화 알고리즘을 적용하는, 다양한 실시예를 들 수 있다. 예를 들면, 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터 리포트된 스타일러스 속성에 대해서, 서브-샘플링, 슈퍼-샘플링, 내부 삽입, 또는 외부 삽입 처리 중 하나 또는 복수를 적용할 수 있다. 이러한 평활화는 액티브 스타일러스(100)로부터 리포트된 스타일러스 속성에 더하여, 센서 컨트롤러(200)에 의해서 액티브 스타일러스(100)로부터의 신호에 기초하여 생성된 좌표 데이터를 평활화하는 것을 포함한다. 호스트 프로세서(300)상에 있어서 동작하는 오퍼레이팅 시스템 및 애플리케이션(도 11에 있어서의 302)은, 통상적으로, 액티브 스타일러스(100)로부터 센서 컨트롤러(200)를 통해서 리포트된 데이터가 같은 시간 간격으로 발생하는 것으로 간주한다. 따라서, 센서 컨트롤러(200)가 스타일러스 속성을 등간격으로 수신하지 않는 경우는, 센서 컨트롤러(200)는 적당한 평활화 알고리즘을 적용하여 소실 데이터를 생성하고, 호스트 프로세서(300)에 리포트하는 데이터가 같은 시간 간격을 두고 나타나도록 한다. 호스트 컨트롤러(300)상에서 동작하는 애플리케이션(도 11에 있어서의 302)에 의해서 평활화 알고리즘을 대체적으로 또는 추가로 적용하는 다른 실시 형태를 들 수 있다.
센서 컨트롤러(200)는, 스타일러스 리포트를 생성할 경우에, 액티브 스타일러스(100)로부터 리포트되는 임의의 스타일러스 속성의 포맷을, 스타일러스 리포트에 포함하는데 적합한 포맷으로 변환할 수 있다. 예를 들면, 액티브 스타일러스(100)의 추천색(도 13에 있어서의 1300)이 제1 포맷(예를 들면, 65536 RGB565 포맷색 중 하나를 나타내는 16비트)으로 리포트되었을 경우에, 센서 컨트롤러(200)는 제1 포맷을 스타일러스 리포트에 적절한 제2 포맷(140 CSS(Cascading Style Sheet) 중 하나를 나타내는 8비트)로 변환할 수 있다. 센서 컨트롤러(200)는, 그 경우에, 호스트 프로세서(300)에 송신하는 스타일러스 리포트에 제2 포맷으로 추천색을 포함할 수 있다.
도 14를 재차 참조하면, 다른 실시 형태로서, 디폴트 디스크립터는, "풀 리포트"를 서포트하는, 정의된 스타일러스 속성 세트로 이루어지는 제1 기술과, "숏 리포트"를 서포트하는, 정의된 스타일러스 속성 세트의 서브셋으로 이루어지는 제2 기술을 포함할 수 있다. 도 15는 숏 리포트를 서포트하는, 도 13의 디폴트 디스크립터 내의 정의된 스타일러스 속성 세트의 서브셋의 제2 기술예이다. 도시와 같이, 제2 기술은 보다 적은 수의 스타일러스 속성을 포함한다. 도 14에 있어서, "X"는 특정의 스타일러스 속성이 풀 리포트에 포함되는 것, 및/또는 숏 리포트에 포함되는 것을 나타내고, 숏 리포트에 포함되는 스타일러스 속성의 수는 풀 리포트와 비교하여 적은 것을 나타낸다. 이와 같이, 다양한 실시예에 있어서, 숏 리포트는 풀 리포트보다 작은 데이터 사이즈를 가진다. 액티브 스타일러스(100)가 오직 숏 리포트에 포함되는 스타일러스 속성을 제공할 경우는, 센서 컨트롤러(200)는 풀 리포트를 대신하여 보다 작은 데이터 사이즈를 가지는 숏 리포트를 생성 및 송신할 수 있다. 액티브 스타일러스(100)가 숏 리포트에 포함되지 않는 어떠한 스타일러스 속성을 제공하는 경우는, 센서 컨트롤러(200)는 풀 리포트를 생성 및 송신할 수 있다.
풀 리포트 및 숏 리포트를 이용하는 실시 형태에 있어서, 센서 컨트롤러(200)는 정의된 스타일러스 속성 세트에 관해서 실질적으로 리포트하는 것이 가능한 제1 액티브 스타일러스(100A)와 결합되어 있는 경우에, 디폴트 디스크립터에 포함되는 제1 기술에 의해 정의된 풀 리포트로서, 제1 액티브 스타일러스(100B)로부터 리포트된 값으로 채운 정의된 스타일러스 속성 세트의 필드를 실질적으로 가지는 풀 리포트를, 호스트 프로세서(300)에 송신한다. 센서 컨트롤러(200)는 스타일러스 속성의 서브셋에 관해서 실질적으로 리포트하는 것이 가능한 제2 액티브 스타일러스(100B)와 결합되어 있는 경우에, 제2 기술에 의해 정의된 숏 리포트로서, 제2 액티브 스타일러스(100B)로부터 리포트된 값으로 채운 스타일러스 속성의 서브셋의 필드를 실질적으로 가지는 숏 리포트를, 호스트 프로세서(300)에 송신한다. 본 명세서에서는, 속성 세트에 관해서 "실질적으로" 리포트하는 것은, 속성 세트의 모두 또는 거의 모두에 관해서 리포트하는 것을 의미한다. 예를 들면, 도 14에 있어서, 풀 리포트는 18개의 스타일러스 속성을 포함하고, 숏 리포트는 10개의 스타일러스 속성을 포함한다. 액티브 스타일러스가 10개의 숏 리포트 속성 모두와 적어도 1개의 부가적인 속성을 서포트하는 경우에, 센서 컨트롤러(200)는 액티브 스타일러스에 대해서 11~18개의 속성을 포함하는 풀 리포트를 생성한다. 즉, 액티브 스타일러스가 11개의 속성만을 서포트하고 있어도, 풀 리포트를 생성하고, 정의된 속성 세트를 "실질적으로" 포함한다고 간주한다. 본 실시 형태에 의하면, 개개의 액티브 스타일러스(100)의 기능에 따라, 센서 컨트롤러(200)는 풀 리포트와 숏 리포트 중 어느 것을 생성하고, 어느 것으로 하더라도 액티브 스타일러스로부터 리포트된 스타일러스 속성을 실질적으로 리포트기에 적합하다. 본 실시 형태에 있어서도, 풀 리포트와 숏 리포트 중 어느 것에 포함하는 스타일러스 속성 모두가 반드시 액티브 스타일러스로부터 리포트되지 않은 경우가 있기 때문에, 센서 컨트롤러(200)는 액티브 스타일러스로부터 리포트되지 않은 스타일러스 속성에 대한 선택한 리포트 내의 필드에 디폴트값을 채울 수 있다. 추가로, 센서 컨트롤러(200)는 선택한 리포트 내의 필드에 채우는 액티브 스타일러스로부터 리포트된 스타일러스 속성에 대해서 평활화 알고리즘(서브-샘플링, 슈퍼-샘플링, 내부 삽입, 외부 삽입 등)을 적용할 수 있다. 센서 컨트롤러(200)는 액티브 스타일러스(100)로부터 리포트된, 액티브 스타일러스(100)에 의해서 서포트되는 속성을 나타내는 스타일러스 기능 정보를 이용하여, 풀 리포트와 숏 리포트 중 어느 것을 이용하는지를 선택할 수 있다. (도 11에 있어서의 114를 참조)
도 11, 도 12c, 및 도 16을 참조하여, 일반적으로 5개의 스텝을 포함하는, 호스트 프로세서(300)와 센서 컨트롤러(200) 사이의 다른 통신 방법을 설명한다. 도 12c의 스텝 S1205에 있어서, 호스트 프로세서(300)는 호스트 프로세서(300)상에서 동작하는 애플리케이션(도 11에 있어서의 302)에 의해서 발행되는 커맨드(121)를 센서 컨트롤러(200)에 송신한다. 스텝 S1206에 있어서, 센서 컨트롤러(200)는 커맨드(121)를 수신하여 액티브 스타일러스(100)에 포워딩한다. 예를 들면, 센서 컨트롤러(200)는, 센서 컨트롤러(200)가 액티브 스타일러스(100)에 송신하는 임의의 신호(예를 들면, 비콘 신호)에 그 커맨드를 포함할 수 있다. 스텝 S1207에 있어서, 액티브 스타일러스(100)는 커맨드(121)에 응답하여, 커맨드(121)에 따라서 동작하고 센서 컨트롤러(200)에 커맨드 응답(123)을 송신한다. 예를 들면, 액티브 스타일러스(100)는 액티브 스타일러스(100)가 센서 컨트롤러(200)에 송신하는 임의의 신호(예를 들면, 응답 신호)에 그 커맨드 응답을 포함할 수 있다. 스텝 S1208에 있어서, 센서 컨트롤러(200)는 센서 컨트롤러(200)의 메모리에 커맨드 응답(123)을 기억한다. 스텝 S1209에 있어서, 호스트 프로세서(300)는 센서 컨트롤러(200)의 메모리로부터 커맨드 응답(123)을 읽어 내도록 요구한다. 도 16의 시퀀스도에 본 방법을 추가로 나타낸다. 호스트 프로세서(300)와 센서 컨트롤러(200)의 사이에 있어서의 커맨드(121) 및 커맨드 응답(123)의 교환은, UUSB(Universal Serial Bus) 인터페이스, 집적 회로간(I2C) 버스, SPI(Serial Peripheral Interface) 버스, 또는 다른 적당한 하드웨어 인터페이스 등의 임의의 적당한 인터페이스에 의해서 서포트된다.
본 방법에 따라서, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)이 스타일러스(100)에 커맨드를 발행하고, 스타일러스(100)로부터 결과를 수신하는 것이 가능해진다. 센서 컨트롤러(200)는 호스트 프로세서(300)로부터 수신한 커맨드를, 그 커맨드의 내용을 해석하는 일 없이 액티브 스타일러스(100)에 포워딩하고, 액티브 스타일러스(100)로부터 회신된 커맨드 응답을, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)에 의한 후의 판독에 대비하여 수신 및 기억한다. 센서 컨트롤러(200)가 호스트 프로세서(300)로부터 수신한 커맨드를 "있는 그대로(as is)" 액티브 스타일러스(100)에 포워딩하는, 다양한 실시 형태를 들 수 있다. 예를 들면, 센서 컨트롤러(200)가 호스트 프로세서(300)로부터 N비트로 이루어지는 커맨드를 수신하는 경우에, 센서 컨트롤러(200)는 N비트의 커맨드를 아무런 변경 또는 추가없이 액티브 스타일러스(100)에 포워딩한다. 이것에는, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)이, 센서 컨트롤러(200)의 기능(예를 들면, 펌웨어)에 관계없이, 액티브 스타일러스(100)를 위해서 커맨드를 해석/처리하도록 다양한 코멘트를 발행할 수 있는 것에 기술적으로 이점이 있다. 이들 실시 형태에 있어서, 커맨드는 액티브 스타일러스(100)에 의해서 동작 가능/실시 가능하기만 하면 된다. 이것은, 애플리케이션(302)에 의해서 이용될 수 있는 다양한(추가) 커맨드를 설계할 때의 자유도(自由度)를, 추가로는 액티브 스타일러스(100)에 애플리케이션(302)이 이용할 수 있는 다양한(추가) 속성/특징을 도입할 때의 자유도를 가져올 수 있다.
호스트 프로세서(300)상에서 동작하는 애플리케이션(302)으로부터 센서 컨트롤러(200)에 다양한 종류의 커맨드가 송신되어 액티브 스타일러스(100)로 포워딩될 수 있다.
커맨드(121)는 액티브 스타일러스의 속성을 식별하는 요구(또는 판독) 커맨드로 이루어질 수 있다. 예를 들면, 커맨드는 액티브 스타일러스(100)의 추천색값, 추천 선폭값, 또는 추천 선스타일값 등을 식별하도록 액티브 스타일러스(100)에 요구할 수 있다. 액티브 스타일러스(100)로부터의 커맨드 응답(123)은, 그 경우에, 액티브 스타일러스의 추천색값, 추천 선폭값, 또는 추천 선스타일값을 포함한다. 커맨드 응답(123)은, 그 다음으로, 센서 컨트롤러(200)의 메모리에 기억될 수 있다. 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은, 그 후, 센서 컨트롤러(200)의 메모리로부터, 기억한 속성(예를 들면, 액티브 스타일러스(100)의 추천색, 추천 선폭, 및/또는 추천 선스타일)을 읽어낼 수 있다. 스타일러스가 널리 보급됨에 따라서, 같은 스타일러스가 복수의 애플리케이션에 있어서, 또는 복수의 시스템상에서 사용될 가능성이 증대한다. 애플리케이션간 또는 시스템간에서 이동할 때, 유저에게 있어서, 가상 온-스크린 잉크가 그것들의 애플리케이션 및 시스템간에 있어서 지속되고 있는지 여부는 더욱 직관적이 될 것이다. 본 발명의 실시 형태는, 액티브 스타일러스(100)가 액티브 스타일러스(100)의 추천되는 색, 선폭, 및/또는 선스타일 등의 액티브 스타일러스(100)의 속성을 나타낼 수 있도록 함으로써, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)이 유저의 기호에 따라서 가상 온-스크린 잉크를 지속적으로 묘화하는 것을 용이하게 한다. 새로운 예로서, 요구 커맨드(121)는 액티브 스타일러스(100)에 배터리 레벨, 펌웨어 버전, 스타일러스 버전 등을 식별하도록 요구할 수 있다. 액티브 스타일러스(100)는 배터리 레벨, 펌웨어 버전, 스타일러스 버전 등을 나타내는 데이터를 포함하는 커맨드 응답(123)을 회신하고, 그 데이터는 호스트 프로세서(300)에 의한 판독에 대비하여 센서 컨트롤러(200)의 메모리에 기억된다.
액티브 스타일러스의 추천색, 추천 선폭, 및/또는 추천 선스타일 등의 액티브 스타일러스의 속성이 센서 컨트롤러(200)에 의해서 판독만 가능하고 변경이 가능하지 않은 실시 형태도 들 수 있다. 이것은, 예를 들면, 액티브 스타일러스가, 추천색에 적합한 색을 가지는 물리적인 잉크를 구비하는 경우, 또는 유저에 의해 셀렉터 스위치를 이용하여 추천색이 설정되는 경우에 들어맞을 수 있다.
액티브 스타일러스의 속성이 센서 컨트롤러(200)에 의해서 (강제적으로) 설정 또는 구성될 수 있는 다른 실시 형태도 들 수 있다. 이것을 달성하기 위해서, 센서 컨트롤러(200)는 액티브 스타일러스의 추천색값, 추천 선폭값, 또는 추천 선스타일값 등의, 액티브 스타일러스의 속성을 설정하는 설정 커맨드(121)를 송신할 수 있다. 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은 센서 컨트롤러(200)에 대해서 설정 커맨드(121)를 발행하고, 설정 커맨드(121)는 그 다음에 액티브 스타일러스(100)에 포워딩된다. 액티브 스타일러스(100)는 설정 커맨드(121)를 수신하면, 설정 커맨드(121)에 따라서 액티브 스타일러스(100)의 속성을 설정하여, 설정 커맨드(121)에 의해서 요구된 동작을 성공적으로 실행한 (즉, 추천색값, 추천 선폭값, 및/또는 추천 선스타일값을 설정할 수 있었던) 것을 나타내는 플래그를 포함하는 커맨드 응답(123)을 송신한다.
다른 실시 형태로서, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은, 액티브 스타일러스(100)에 규정된 포맷으로 (예를 들면, 스타일러스 속성을 포함하는) 다운링크 신호를 송신하도록 요구하는 커맨드(121)를 발행할 수 있다. 규정된 포맷은, 액티브 스타일러스(100)가 다운링크 신호를 송신하는데 이용하는 송신 주파수 및 송신 시간 길이 중 적어도 일방을 지정할 수 있다. 센서 컨트롤러(200)는 이러한 커맨드(121)를 액티브 스타일러스(100)에 포워딩하고, 액티브 스타일러스(100)는 커맨드 응답(123)의 일부로서, 또는 커맨드 응답(123)과는 별개로, 커맨드(121)에 의해서 특정된 규정된 포맷으로 다운링크 신호를 송신한다. 예를 들면, 액티브 스타일러스(100)는 커맨드(121)에 의해서 특정된 송신 주파수 및/또는 송신 시간 길이(소요 시간)를 이용하여 다운링크 신호를 송신한다.
또 다른 실시 형태로서, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은, 액티브 스타일러스(100)에 데이터를 취득하는 규정된 동작을 실행하도록 요구하는 커맨드(121)를 발행할 수 있다. 예를 들면, 커맨드(121)는 액티브 스타일러스(100)에 진단 테스트를 실행하도록 요구할 수 있다. 이러한 "진단(diagnostic)" 커맨드는 "요구" 커맨드의 일종으로 간주할 수 있다. 액티브 스타일러스(100)는 이러한 커맨드(121)를 수신하면, 요구된 진단 테스트를 실행하고, 테스트 결과 데이터를 커맨드 응답(123)의 일부로서, 또는 커맨드 응답(123)과는 별개로 센서 컨트롤러(200)에 회신한다. 회신된 데이터는, 그 다음으로, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)에 의한 판독에 대비하여, 센서 컨트롤러(200)의 메모리에 기억된다.
다른 실시 형태로서, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은, 액티브 스타일러스(100)가 모의하도록 구성된 선스타일을 가지는 기존의 마킹 툴(예를 들면, 연필, 롤러 볼펜)의 힘 응답 곡선(force response curve)에 근접시키도록 액티브 스타일러스(100)에 액티브 스타일러스(100)의 압력 곡선(pressure curve)을, 조절하도록 지시하는 커맨드(121)를 발행할 수 있다.
스타일러스(100)에 의해서 리포트된 팁 압력 데이터는, 힘센서에 의해서 계측된, 스타일러스 팁에 가해지는 힘의 결과이다. 가해지는 힘과 리포트된 압력치 사이의 관계는, "압력 곡선"이라고 불리며, 실제는 통상, 선형적 또는 로그적(logarithmic)이다.
연필 또는 롤러 볼펜 등의 기존의 마킹 툴을 이용하는 경우는, 가해지는 힘과 시각상의 결과의 사이에, "힘 응답 곡선"이라고 불리는 관계가 존재한다. 힘 응답 곡선은 마킹 툴마다 상이하며, 특정 스타일의 마킹 툴(예를 들면, 연필, 롤러 볼펜)을 모의하도록 구성된 스타일러스의 압력 곡선과 상이할 수 있다. 예를 들면, 연필은, 밝은 측 선의 가해지는 힘과 어두운 측 선의 가해지는 힘의 범위에 응답하는 보다 선형적인 힘 응답 곡선을 가지는 한편, 롤러 볼펜은, 추가로 가해지는 힘이 선 그리기에 거의 영향을 주지 않는 매우 가파른 힘 응답 곡선을 가진다. 따라서, 스타일러스의 압력 곡선을 수정하여, 스타일러스가 모의하도록 구성된 기존의 마킹 툴의 힘 응답 곡선에 보다 적합하게 하는 것은 기술적으로 이점이 존재할 수 있다.
스타일러스 압력 곡선을 기존의 마킹 툴의 힘 응답 곡선에 매칭시키기 위해서는, 유저가 어떠한 마킹 툴을 사용하고 싶은지를 알 필요가 있다. 상술한 본 발명의 다양한 실시 형태에 따른 추천 선스타일값을 도입하기 때문에, 호스트 프로세서(300)상에서 동작하는 애플리케이션(302)은, 액티브 스타일러스(100)에 대해서 유저가 의도하는 특정의 선스타일을 판정할 수 있다. 예를 들면, 애플리케이션(302)은 (예를 들면, 유저에 의해서) 액티브 스타일러스(100)에 설정된 선스타일값을 회신하도록 액티브 스타일러스(100)에 요구하는 요구 커맨드(121)를 송신할 수 있다. 이것을 대신하여, 애플리케이션(302)은 액티브 스타일러스(100)에 특정의 선스타일을 강제적으로 설정하는 설정 커맨드(선스타일 커맨드)(121)를 송신해도 된다. 선스타일 커맨드(121)에 있어서 특정된 마킹 툴에 기초하여, 액티브 스타일러스가 (자동적으로) 압력 곡선을 조정하여, 특정된 선스타일값에 대응하는 마킹 툴의 근사한 힘 응답 곡선에 근접시키는, 다양한 실시예를 들 수 있다. 예를 들면, 액티브 스타일러스(100)의 선스타일값이 "연필"로 설정되는 경우에, 액티브 스타일러스(100)는 액티브 스타일러스(100)의 압력 곡선을 조정하여 연필의 힘 응답 곡선에 근접시키도록 지시받는다. 이들 실시 형태에 있어서, 액티브 스타일러스(100)에 대해서 특정의 선스타일값을 (강제적으로) 설정하는 단일의 커맨드는, 추가로, 액티브 스타일러스(100)에게 액티브 스타일러스(100)의 압력 곡선을 조정하여, 설정된 선스타일값에 대응하는 힘 응답 곡선에 맞추도록 지시할 수 있다.
상술한 다양한 실시 형태를 조합하여 또 다른 실시 형태를 제공하는 것이 가능하고, 상술의 상세한 설명에 기초하여 실시 형태의 양태를 변경하는 것이 가능하다. 일반적으로, 이하의 청구항에 있어서, 이용되는 용어는 명세서 및 청구항에 있어서 개시된 특정의 실시 형태로 한정된다고 해석해서는 안되고, 이러한 청구항이 해당하는 등가물의 모든 범위와 함께 모든 존재할 수 있는 실시 형태를 포함한다고 해석해야 한다.

Claims (54)

  1. 액티브 스타일러스와 인터랙트(interact)하도록 구성된 센서에 결합된 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법으로서,
    상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때, 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터(default descriptor)를 서포트하는 상기 센서 컨트롤러는, 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러는, 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스와 결합되어 있는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러는, 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 액티브 스타일러스와 결합되어 있는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신하는 방법.
  2. 청구항 1에 있어서,
    상기 센서 컨트롤러와 상기 호스트 프로세서는 USB(Universal Serial Bus) 인터페이스를 통해서 접속되도록 구성되어 있는 방법.
  3. 청구항 1에 있어서,
    상기 센서 컨트롤러와 상기 호스트 프로세서는 집적 회로간(I2C) 버스 또는 SPI(Serial Peripheral Interface) 버스를 통해서 접속되도록 구성되어 있는 방법.
  4. 청구항 1에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트되지 않은 스타일러스 속성에 대한 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 디폴트값으로 채우는 것을 포함하는 방법.
  5. 청구항 1에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스로부터 리포트된 상기 제1 서브셋의 스타일러스 속성, 또는 상기 제2 액티브 스타일러스로부터 리포트된 상기 제2 서브셋의 스타일러스 속성에 대해서 평활화 알고리즘을 적용하여 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 채우는 것을 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 평활화 알고리즘은 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트된 상기 스타일러스 속성의 서브-샘플링(sub-sampling), 슈퍼-샘플링(super-sampling), 내부 삽입(interpolation), 또는 외부 삽입(extrapolation) 중 하나 또는 복수를 포함하는 방법.
  7. 청구항 1에 있어서,
    상기 제1 서브셋의 스타일러스 속성과 상기 제2 서브셋의 스타일러스 속성은, 상기 제1 서브셋 및 상기 제2 서브셋에 각각 포함되는 스타일러스 속성의 종류, 및/또는 상기 제1 서브셋 및 상기 제2 서브셋에 각각 포함되는 스타일러스 속성의 수의 면에서 상이한 방법.
  8. 청구항 1에 있어서,
    상기 제1 서브셋의 스타일러스 속성과 상기 제2 서브셋의 스타일러스 속성은, 상기 디폴트 디스크립터 내의 상기 정의된 스타일러스 속성 세트가 같은 방법.
  9. 청구항 1에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스에 의해서 서포트되는 속성을 나타내는 스타일러스 기능 정보를 수신하는 방법.
  10. 청구항 1에 있어서,
    상기 정의된 스타일러스 속성 세트는 i) 스타일러스 좌표값, ii) 팁 압력치 및 배럴 압력치 중 적어도 하나를 포함하는 스타일러스 압력치, iii) 팁 스위치값, 제1 배럴 스위치값, 및 제2 스위치값 중 적어도 하나를 포함하는 스타일러스 스위치값, iv) 스타일러스 반전 인디케이터값(indicator value), (v) 스타일러스 이레이저 인디케이터, (vi) X 틸트값, Y 틸트값, 트위스트값, 고도값, 방위각값, 가속도계값, 자이로스코프값, 및 지자기계값 중 적어도 하나를 포함하는 스타일러스 오리엔테이션값, (vii) 스타일러스 배터리 스테이터스값, (viii) 스타일러스 ID, (ix) 스타일러스 추천색값, (x) 스타일러스 추천 선폭값, 및 (xi) 스타일러스 추천 선스타일값을 포함하는 방법.
  11. 청구항 1에 있어서,
    상기 정의된 스타일러스 속성 세트는 i) 스타일러스 좌표값, ii) 스타일러스 압력치, iii) 스타일러스 스위치값, iv) 스타일러스 오리엔테이션값, (v) 스타일러스 추천색값, (vi) 스타일러스 추천 선폭값, 및 (vii) 스타일러스 추천 선스타일값을 포함하는 방법.
  12. 청구항 11에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 제1 포맷에 의한 상기 스타일러스 추천색값을 수신한 후에, 상기 제1 포맷에 의한 상기 스타일러스 추천색값을 제2 포맷으로 변환하고, 상기 제2 포맷에 의한 상기 스타일러스 추천색값을 제1 스타일러스 리포트 또는 제2 스타일러스 리포트에 포함하는 것을 포함하는 방법.
  13. 청구항 11에 있어서,
    상기 스타일러스 추천색값은, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스의 휘발성 메모리 내에 원래 설정된 색을 나타내는 방법.
  14. 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러와 호스트 프로세서 사이의 통신에 제공되는 방법으로서,
    상기 센서 컨트롤러는 정의된 스타일러스 속성 세트로 이루어지는 제1 기술(description))과 상기 정의된 스타일러스 속성 세트의 서브셋으로 이루어지는 제2 기술을 포함하는 디폴트 디스크립터를 서포트하고, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러는 상기 정의된 스타일러스 속성 세트에 관해서 실질적으로 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 제1 기술에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 정의된 스타일러스 속성 세트의 필드를 실질적으로 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러는 스타일러스 속성의 상기 서브셋에 관해서 실질적으로 리포트하는 것이 가능한 제2 액티브 스타일러스와 결합되어 있는 경우에, 상기 제2 기술에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 스타일러스 속성의 상기 서브셋의 필드를 실질적으로 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신하고,
    상기 제2 스타일러스 리포트는 상기 제1 스타일러스 리포트보다 작은 데이터 사이즈를 가지는 방법.
  15. 청구항 14에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트되지 않은 스타일러스 속성에 대한 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 디폴트값으로 채우는 것을 포함하는 방법.
  16. 청구항 14에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트된 상기 스타일러스 속성에 대해서 평활화 알고리즘을 적용하여 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 채우는 것을 포함하는 방법.
  17. 청구항 14에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스에 의해서 서포트되는 속성을 나타내는 스타일러스 기능 정보를 수신하고,
    상기 센서 컨트롤러는 상기 스타일러스 기능 정보에 기초하여, 제1 스타일러스 리포트 또는 제2 스타일러스 리포트 중 어느 것을 송신할지를 결정하는 방법.
  18. 액티브 스타일러스와 인터랙트하는, 센서에 결합되는 센서 컨트롤러로서,
    동작 중에 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트하는 처리 회로와,
    상기 처리 회로에 결합된 송신 회로로서, 동작 중에, 호스트 프로세서에 대해서, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 송신하는 송신 회로를 구비하고,
    상기 송신 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스와 결합되어 있는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신하고,
    상기 송신 회로는, 상기 센서 컨트롤러가 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스와 결합되어 있는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신하는 센서 컨트롤러.
  19. 청구항 18에 있어서,
    상기 처리 회로는 동작 중에, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 리포트되지 않은 스타일러스 속성에 대한 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 디폴트값으로 채우는 것을 포함하는 센서 컨트롤러.
  20. 청구항 18에 있어서,
    상기 처리 회로는 동작 중에, 상기 제1 액티브 스타일러스로부터 리포트된 상기 제1 서브셋의 스타일러스 속성, 또는 상기 제2 액티브 스타일러스로부터 리포트된 상기 제2 서브셋의 스타일러스 속성에 대해서 평활화 알고리즘을 적용하여 상기 제1 스타일러스 리포트 또는 상기 제2 스타일러스 리포트 내의 필드를 채우는 것을 포함하는 센서 컨트롤러.
  21. 청구항 18에 있어서,
    상기 처리 회로는 동작 중에, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터, 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스에 의해서 서포트되는 속성을 나타내는 스타일러스 기능 정보를 수신하는 센서 컨트롤러.
  22. 청구항 18에 있어서,
    상기 정의된 스타일러스 속성 세트는 i) 스타일러스 좌표값, ii) 스타일러스 압력치, iii) 스타일러스 스위치값, iv) 스타일러스 오리엔테이션값, (v) 스타일러스 추천색값, (vi) 스타일러스 추천 선폭값, 및 (vii) 스타일러스 추천 선스타일값을 포함하는 센서 컨트롤러.
  23. 청구항 22에 있어서,
    상기 처리 회로는 상기 제1 액티브 스타일러스 또는 상기 제2 액티브 스타일러스로부터 제1 포맷에 의한 상기 스타일러스 추천색값을 수신한 후에, 상기 제1 포맷에 의한 상기 스타일러스 추천색값을 제2 포맷으로 변환하고, 상기 제2 포맷에 의한 상기 스타일러스 추천색값을 제1 스타일러스 리포트 또는 제2 스타일러스 리포트에 포함하는 센서 컨트롤러.
  24. 호스트 프로세서로서,
    수신 회로로서, 동작 중에, 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러로부터, 상기 호스트 프로세서와 상기 센서 컨트롤러 사이의 접속이 확립되었을 때 디폴트 디스크립터를 수신하고, 상기 디폴트 디스크립터는 정의된 스타일러스 속성 세트를 포함하는 수신 회로와,
    상기 수신 회로에 결합된 처리 회로를 포함하고,
    상기 처리 회로는 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 센서 컨트롤러로부터 수신하고,
    상기 처리 회로는, 상기 센서 컨트롤러가 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스와 결합되어 있는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채워진 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 센서 컨트롤러로부터 수신하는 호스트 프로세서.
  25. 청구항 24에 있어서,
    USB(Universal Serial Bus) 인터페이스를 통해서 상기 센서 컨트롤러에 접속되도록 구성되어 있는 호스트 프로세서.
  26. 청구항 24에 있어서,
    집적 회로간(I2C) 버스 또는 SPI(Serial Peripheral Interface) 버스를 통해서 상기 센서 컨트롤러에 접속되도록 구성되어 있는 호스트 프로세서.
  27. 청구항 24에 있어서,
    상기 정의된 스타일러스 속성 세트는 i) 스타일러스 좌표값, ii) 스타일러스 압력치, iii) 스타일러스 스위치값, iv) 스타일러스 오리엔테이션값, (v) 스타일러스 추천색값, (vi) 스타일러스 추천 선폭값, 및 (vii) 스타일러스 추천 선스타일값을 포함하는 호스트 프로세서.
  28. 시스템으로서,
    (a) 센서와 인터랙트하도록 구성된 액티브 스타일러스와,
    (b) 센서에 결합되는 센서 컨트롤러로서,
    동작 중에 정의된 스타일러스 속성 세트로 이루어지는 디폴트 디스크립터를 서포트하는 센서 처리 회로와,
    상기 센서 처리 회로에 결합된 센서 송신 회로를 가지는 센서 컨트롤러와,
    (c) 호스트 프로세서로서,
    동작 중에 상기 센서 컨트롤러로부터 상기 디폴트 디스크립터를 수신하는 호스트 수신 회로와,
    상기 호스트 수신 회로에 결합된 호스트 처리 회로를 가지는 호스트 프로세서를 구비하고,
    상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러와 상기 호스트 프로세서 사이의 접속이 확립되었을 때 상기 디폴트 디스크립터를 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러가 상기 정의된 스타일러스 속성 세트의 제1 서브셋에 관해서 리포트하는 것이 가능한 제1 액티브 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제1 스타일러스 리포트로서, 상기 제1 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제1 서브셋의 스타일러스 속성의 필드를 가지는 제1 스타일러스 리포트를, 상기 호스트 프로세서에 송신하고,
    상기 센서 컨트롤러의 상기 센서 송신 회로는, 상기 센서 컨트롤러가 상기 제1 서브셋과 상이한 상기 정의된 스타일러스 속성 세트의 제2 서브셋에 관해서 리포트하는 것이 가능한 제2 스타일러스에 결합되는 경우에, 상기 디폴트 디스크립터에 의해 정의된 제2 스타일러스 리포트로서, 상기 제2 액티브 스타일러스로부터 리포트된 값으로 채운 상기 제2 서브셋의 스타일러스 속성의 필드를 가지는 제2 스타일러스 리포트를, 상기 호스트 프로세서에 송신하는 시스템.
  29. 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러를 통한 호스트 프로세서와 액티브 스타일러스 사이의 통신에 제공되는 방법으로서,
    상기 호스트 프로세서가 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터 수신한 커맨드를 송신하고,
    상기 센서 컨트롤러가 상기 호스트 프로세서로부터 상기 커맨드를 수신하여 상기 커맨드를 상기 액티브 스타일러스에 포워딩하고,
    상기 액티브 스타일러스가 상기 커맨드에 응답하여, 상기 커맨드에 따라서 동작하고, 상기 센서 컨트롤러에 커맨드 응답을 송신하는 것을 포함하는 방법.
  30. 청구항 29에 있어서, 추가로,
    상기 센서 컨트롤러는 상기 액티브 스타일러스로부터 수신한 상기 커맨드 응답을 메모리 장치에 저장하는 것을 포함하는 방법.
  31. 청구항 30에 있어서, 추가로,
    상기 호스트 프로세서는 상기 센서 컨트롤러의 상기 메모리 장치로부터 상기 커맨드 응답을 읽어내도록 요구하는 것을 포함하는 방법.
  32. 청구항 29에 있어서,
    상기 센서 컨트롤러와 상기 호스트 프로세서는 USB(Universal Serial Bus) 인터페이스를 통해서 접속되도록 구성되어 있는 방법.
  33. 청구항 29에 있어서,
    상기 센서 컨트롤러와 상기 호스트 프로세서는 집적 회로간(I2C) 버스 또는 SPI(Serial Peripheral Interface) 버스를 통해서 접속되도록 구성되어 있는 방법.
  34. 청구항 29에 있어서,
    상기 커맨드는 상기 액티브 스타일러스의 속성을 식별하는 요구 커맨드인 방법.
  35. 청구항 34에 있어서,
    상기 커맨드는, 상기 액티브 스타일러스에 상기 액티브 스타일러스의 추천색값, 추천 선폭값, 및 추천 선스타일값 중 하나 또는 복수를 식별하도록 요구하는 방법.
  36. 청구항 29에 있어서,
    상기 커맨드는 상기 액티브 스타일러스에 대해서 속성을 설정하는 설정 커맨드인 방법.
  37. 청구항 36에 있어서,
    상기 커맨드는 상기 액티브 스타일러스에 대해서 추천색값, 추천 선폭값, 및 추천 선스타일값 중 하나 또는 복수를 설정하는 방법.
  38. 청구항 37에 있어서,
    상기 액티브 스타일러스에 대해서 추천 선스타일값을 설정하는 상기 커맨드는, 추가로, 상기 액티브 스타일러스의 압력 곡선을, 상기 커맨드에 있어서 설정된 상기 추천 선스타일값에 따른 선스타일을 가지는 기존의 마킹 툴의 힘 응답 곡선에 근접시키도록 조정하는 방법.
  39. 청구항 29에 있어서,
    상기 커맨드는 상기 액티브 스타일러스에 규정된 포맷에 의한 다운링크 신호를 송신하도록 요구하는 방법.
  40. 청구항 39에 있어서,
    상기 규정된 포맷은 상기 액티브 스타일러스가 다운링크 신호를 송신하는데 이용하는 송신 주파수 및 송신 시간 길이 중 적어도 하나를 지정하는 방법.
  41. 청구항 29에 있어서,
    상기 커맨드 응답은 상기 커맨드에 따라서 동작하는 것이 성공했는지 여부를 나타내는 플래그를 포함하는 방법.
  42. 청구항 29에 있어서,
    상기 커맨드 응답은 상기 커맨드에 따라서 동작하는 것의 결과로서 취득한 데이터를 포함하는 방법.
  43. 청구항 29에 있어서,
    상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터 수신한 상기 커맨드는 N비트로 이루어지고, 상기 액티브 스타일러스에 포워딩된 상기 커맨드는 N비트로 이루어진 방법.
  44. 센서와 호스트 프로세서에 결합되고, 액티브 스타일러스로부터 신호를 수신함과 아울러 액티브 스타일러스에 신호를 송신하는 매트릭스 모양의 전극을 구비하는 센서 컨트롤러로서,
    동작 중에 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를 수신하는 수신 회로와,
    메모리 장치와,
    상기 수신 회로 및 상기 메모리 장치에 결합된 처리 회로를 구비하고,
    상기 처리 회로는 동작 중에,
    수신한 상기 커맨드를 상기 센서의 상기 매트릭스 모양의 전극을 통해서 상기 액티브 스타일러스에 포워딩하고,
    상기 액티브 스타일러스로부터 상기 센서의 상기 매트릭스 모양의 전극을 통해서 커맨드 응답을 수신하며,
    수신한 상기 커맨드 응답을 상기 메모리 장치에 기억하는 센서 컨트롤러.
  45. 청구항 44에 있어서,
    USB(Universal Serial Bus) 인터페이스를 통해서 상기 호스트 프로세서에 접속되도록 구성되어 있는 센서 컨트롤러.
  46. 청구항 44에 있어서,
    집적 회로간(I2C) 버스 또는 SPI(Serial Peripheral Interface) 버스를 통해서 상기 호스트 프로세서에 접속되도록 구성되어 있는 센서 컨트롤러.
  47. 호스트 프로세서로서,
    동작 중에, 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를, 액티브 스타일러스와 인터랙트하도록 구성된 센서에 결합된 센서 컨트롤러에 송신하는 송신 회로와,
    상기 송신 회로에 결합하고, 상기 커맨드에 응답하여 상기 액티브 스타일러스로부터 회신되어 상기 센서 컨트롤러의 메모리 장치에 기억된 커맨드 응답의 판독을 요구하도록 구성된 처리 회로와,
    동작 중에, 상기 센서 컨트롤러의 상기 메모리 장치로부터 판독한 상기 커맨드 응답을 수신하는 수신 회로를 구비하는 호스트 프로세서.
  48. 청구항 47에 있어서,
    USB(Universal Serial Bus)를 통해서 상기 센서 컨트롤러에 접속되도록 구성되어 있는 호스트 프로세서.
  49. 청구항 47에 있어서,
    집적 회로간(I2C) 버스 또는 SPI(Serial Peripheral Interface) 버스를 통해서 상기 센서 컨트롤러에 접속되도록 구성되어 있는 호스트 프로세서.
  50. 청구항 47에 있어서,
    상기 커맨드는 상기 액티브 스타일러스의 속성을 식별하는 요구 커맨드인 호스트 프로세서.
  51. 청구항 50에 있어서,
    상기 커맨드는 상기 액티브 스타일러스에 상기 액티브 스타일러스의 추천색값, 추천 선폭값, 및 추천 선스타일값 중 하나 또는 복수를 식별하도록 요구하는 호스트 프로세서.
  52. 청구항 47에 있어서,
    상기 커맨드는 상기 액티브 스타일러스의 속성을 설정하는 설정 커맨드인 호스트 프로세서.
  53. 청구항 52에 있어서,
    상기 커맨드는 상기 액티브 스타일러스에 대해서 추천색값, 추천 선폭값, 및 추천 선스타일값 중 하나 또는 복수를 설정하는 호스트 프로세서.
  54. 시스템으로서,
    (a) 상기 호스트 프로세서상에서 동작하는 애플리케이션으로부터의 커맨드를 송신하도록 구성된 호스트 프로세서와,
    (b) 센서와 인터랙트하도록 구성된 액티브 스타일러스와,
    (c) 상기 센서에 결합하는 센서 컨트롤러를 포함하고,
    상기 센서 컨트롤러는 동작 중에 상기 호스트 프로세서로부터 상기 커맨드를 수신하는 센서 수신 회로와,
    메모리 장치와,
    상기 센서 수신 회로 및 상기 메모리 장치에 결합되고, 수신한 상기 커맨드를 상기 액티브 스타일러스에 송신하도록 구성된 센서 처리 회로를 가지고,
    상기 액티브 스타일러스는, 상기 커맨드에 응답하여, 상기 커맨드에 따라서 동작하여 상기 센서 컨트롤러에 커맨드 응답을 회신하는 시스템.
KR1020177033541A 2015-04-20 2016-04-20 스타일러스와 스타일러스 센서 컨트롤러 사이의 쌍방향 통신에 제공되는 시스템 및 방법 KR102447009B1 (ko)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US201562149907P 2015-04-20 2015-04-20
US62/149,907 2015-04-20
US201562152870P 2015-04-25 2015-04-25
US62/152,870 2015-04-25
US201562162527P 2015-05-15 2015-05-15
US62/162,527 2015-05-15
US201562191913P 2015-07-13 2015-07-13
US62/191,913 2015-07-13
US201562240984P 2015-10-13 2015-10-13
US62/240,984 2015-10-13
US201562243427P 2015-10-19 2015-10-19
US62/243,427 2015-10-19
US201662291373P 2016-02-04 2016-02-04
US201662291356P 2016-02-04 2016-02-04
US62/291,356 2016-02-04
US62/291,373 2016-02-04
PCT/US2016/028472 WO2016172233A1 (en) 2015-04-20 2016-04-20 System and method for bidirectional communication between stylus and stylus sensor controller

Publications (2)

Publication Number Publication Date
KR20170139113A true KR20170139113A (ko) 2017-12-18
KR102447009B1 KR102447009B1 (ko) 2022-09-23

Family

ID=57129815

Family Applications (1)

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

Country Status (6)

Country Link
US (3) US10372245B2 (ko)
EP (2) EP3286625B1 (ko)
JP (2) JP6764868B2 (ko)
KR (1) KR102447009B1 (ko)
CN (2) CN111913606A (ko)
WO (1) WO2016172233A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105934734B (zh) 2014-01-22 2020-11-20 株式会社和冠 位置指示器、位置检测装置、位置检测电路以及位置检测方法
CN111913606A (zh) * 2015-04-20 2020-11-10 株式会社和冠 传感器控制器、主机处理器、通信方法和系统
US10305671B2 (en) * 2015-05-21 2019-05-28 Cirrus Logic, Inc. Synchronous differential signaling protocol
CN110058782B (zh) * 2016-02-22 2020-11-24 广州视睿电子科技有限公司 基于交互式电子白板的触摸操作方法及其系统
US10514803B2 (en) * 2016-03-06 2019-12-24 Microsoft Technology Licensing, Llc Pen in field force sensing calibration
US10254857B2 (en) 2016-03-06 2019-04-09 Microsoft Technology Licensing, Llc Soft touch detection of a stylus
CN112416149A (zh) * 2016-03-08 2021-02-26 禾瑞亚科技股份有限公司 侦测触控笔的倾斜角的触控控制装置与其控制方法
US9898102B2 (en) * 2016-03-11 2018-02-20 Microsoft Technology Licensing, Llc Broadcast packet based stylus pairing
KR102523154B1 (ko) * 2016-04-22 2023-04-21 삼성전자주식회사 터치 스크린 장치, 입력 장치 및 그 제어 방법
US10379670B1 (en) * 2017-04-27 2019-08-13 Microsoft Technology Licensing, Llc Increasing low-force accuracy at a device
US10459538B2 (en) 2017-05-15 2019-10-29 Microsoft Technology Licensing, Llc Pressure sensitive stylus
KR102324210B1 (ko) * 2017-06-30 2021-11-08 엘지디스플레이 주식회사 터치 표시 장치, 펜, 터치 시스템, 터치 회로 및 펜 인식 방법
CN111033453B (zh) * 2017-09-15 2024-04-12 株式会社和冠 主动笔及传感器控制器
US10719142B2 (en) 2017-11-22 2020-07-21 Microsoft Technology Licensing, Llc Multi-functional stylus
JP7080068B2 (ja) * 2018-02-16 2022-06-03 日本電産サンキョー株式会社 ロボットの位置情報復元方法
CN108550349A (zh) * 2018-03-12 2018-09-18 深圳市昂米科技有限公司 一种液晶电子写字板
JP7097722B2 (ja) * 2018-03-20 2022-07-08 日本電産サンキョー株式会社 ロボットの位置情報復元方法
DE112018007571B4 (de) * 2018-05-09 2022-05-12 Wacom Co., Ltd. Stift, sensorvorrichtung und stiftsystem
WO2019220803A1 (ja) * 2018-05-18 2019-11-21 株式会社ワコム 位置指示装置及び情報処理装置
US10877578B2 (en) * 2018-07-18 2020-12-29 Wacom Co., Ltd. Sensor controller and active pen
US10817083B2 (en) 2018-09-07 2020-10-27 Microsoft Technology Licensing, Llc Detection of pen location relative to an electronic device
US11248939B2 (en) * 2018-09-12 2022-02-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for calibration testing and traceability using a distributed ledger
KR20200082447A (ko) 2018-12-28 2020-07-08 삼성전자주식회사 복수의 입력 버튼들이 구비된 펜 입력 장치와 통신을 수행하는 전자 장치 및 그 제어 방법
CN111367432B (zh) * 2020-02-28 2023-09-22 北京硬壳科技有限公司 支持主动笔的方法及系统、触控转接板及系统芯片
TWI731650B (zh) * 2020-04-15 2021-06-21 宏碁股份有限公司 觸控筆、觸控電子裝置與觸控系統
TWI768734B (zh) * 2021-02-26 2022-06-21 奕力科技股份有限公司 觸控裝置以及其觸控筆
KR20230129127A (ko) 2022-02-28 2023-09-06 삼성디스플레이 주식회사 펜 아날로그 프론트 엔드 및 이를 이용한 펜 통신방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515195A (ja) * 2007-01-03 2010-05-06 ルイディア インコーポレイテッド 複数のスタイラスアノテーションシステム
US20130335380A1 (en) * 2012-06-15 2013-12-19 Research In Motion Limited Stylus with control ring user interface

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769769B2 (ja) * 1991-10-31 1995-07-31 株式会社ニューソフトウェアエージ 表示兼入力ボード
JP3421416B2 (ja) * 1994-03-18 2003-06-30 株式会社ワコム 位置検出装置及びその位置指示器
EP0967566A3 (en) 1998-06-22 2002-03-13 Wacom Co., Ltd. Coordinate input system
US7055739B1 (en) * 1999-05-25 2006-06-06 Silverbrook Research Pty Ltd Identity-coded surface with reference points
AU772145B2 (en) 1999-10-25 2004-04-08 Silverbrook Research Pty Ltd Electronically controllable pen
JP2002163070A (ja) * 2000-11-27 2002-06-07 Matsushita Electric Ind Co Ltd 電子黒板
EP2388770A1 (en) * 2002-08-29 2011-11-23 N-Trig Ltd. Digitizer stylus
JP2005149140A (ja) 2003-11-14 2005-06-09 Wacom Co Ltd 位置検出装置及び位置指示器
US8232969B2 (en) 2004-10-08 2012-07-31 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
TW200925942A (en) * 2007-12-10 2009-06-16 Mitac Int Corp Stylus device with multi-color switching
JP2010026586A (ja) 2008-07-15 2010-02-04 Newcom Inc 指示具及び位置検出装置
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
JP5430339B2 (ja) * 2009-10-19 2014-02-26 株式会社ワコム 位置検出装置及び位置指示器
US8482539B2 (en) * 2010-01-12 2013-07-09 Panasonic Corporation Electronic pen system
JP5442479B2 (ja) * 2010-02-05 2014-03-12 株式会社ワコム 指示体、位置検出装置及び位置検出方法
US9176630B2 (en) * 2010-08-30 2015-11-03 Perceptive Pixel, Inc. Localizing an electrostatic stylus within a capacitive touch sensor
EP2689378A2 (en) * 2011-03-21 2014-01-29 N-Trig Ltd. System and method for authentication with a computer stylus
CN102317899B (zh) * 2011-08-02 2014-01-22 华为终端有限公司 一种信息生成和处理方法及装置
JP5870575B2 (ja) 2011-09-21 2016-03-01 Smk株式会社 静電容量式タッチパネル
KR101786277B1 (ko) 2011-10-26 2017-10-17 인텔 코포레이션 멀티 터치 인터페이스 방안
US20130106709A1 (en) * 2011-10-28 2013-05-02 Martin John Simmons Touch Sensor With User Identification
US9280218B2 (en) * 2011-10-28 2016-03-08 Atmel Corporation Modulating drive signal for communication between active stylus and touch-sensor device
US9946408B2 (en) * 2011-10-28 2018-04-17 Atmel Corporation Communication between a master active stylus and a slave touch-sensor device
US10725563B2 (en) 2011-10-28 2020-07-28 Wacom Co., Ltd. Data transfer from active stylus to configure a device or application
US9323348B2 (en) * 2011-11-09 2016-04-26 Crayola Llc Stylus having sensing and transmitting capabilities
CN104024992A (zh) * 2012-01-10 2014-09-03 内奥诺德公司 用于触摸屏的组合式射频识别和触摸输入
EP2657820B1 (en) * 2012-04-26 2019-07-17 BlackBerry Limited Method and apparatus for drawing tool selection
JP6217058B2 (ja) * 2012-05-09 2017-10-25 セイコーエプソン株式会社 画像表示システム
EP2687950A1 (en) * 2012-07-20 2014-01-22 BlackBerry Limited Orientation sensing stylus
KR102101818B1 (ko) * 2012-07-30 2020-04-17 삼성전자주식회사 단말기의 데이터전송 제어장치 및 방법
US9563304B2 (en) * 2012-08-15 2017-02-07 Atmel Corporation Active stylus with passive mutual measurements
JP5362092B1 (ja) * 2012-10-31 2013-12-11 株式会社東芝 電子機器および描画方法
US9250721B2 (en) 2012-12-17 2016-02-02 Disney Enterprises, Inc. Wireless stylus device with interchangeable tips and eraser
EP2939098B1 (en) * 2012-12-29 2018-10-10 Apple Inc. Device, method, and graphical user interface for transitioning between touch input to display output relationships
US9785259B2 (en) 2013-03-11 2017-10-10 Barnes & Noble College Booksellers, Llc Stylus-based slider functionality for UI control of computing device
US20140253462A1 (en) * 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Sync system for storing/restoring stylus customizations
US20140256250A1 (en) * 2013-03-11 2014-09-11 Barnesandnoble.Com Llc Peer-to-peer data transfer using near field communication (nfc)-enabled styluses
TWI557646B (zh) * 2013-03-25 2016-11-11 鴻海精密工業股份有限公司 電子白板系統、電子書寫筆及電子書寫方法
KR102087392B1 (ko) 2013-05-13 2020-04-14 삼성전자주식회사 동작 방법 및 그 전자 장치
US10845901B2 (en) * 2013-07-31 2020-11-24 Apple Inc. Touch controller architecture
US9086749B2 (en) * 2013-08-30 2015-07-21 Qualcomm Incorporated System and method for improved processing of touch sensor data
JP5852631B2 (ja) 2013-12-03 2016-02-03 株式会社ワコム 位置指示器
CN105934734B (zh) 2014-01-22 2020-11-20 株式会社和冠 位置指示器、位置检测装置、位置检测电路以及位置检测方法
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
EP3140721A1 (en) * 2014-06-16 2017-03-15 Microsoft Technology Licensing, LLC Method and system for data transfer with a touch enabled device
CN104484063B (zh) 2014-12-10 2017-11-24 北京汉王鹏泰科技有限公司 主动式电容笔及触控装置
CN107077226B (zh) * 2015-03-02 2021-07-09 株式会社和冠 主动式静电触控笔、传感器控制器、具备这些的系统以及由这些执行的方法
US9448646B1 (en) * 2015-04-20 2016-09-20 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller
CN111913606A (zh) * 2015-04-20 2020-11-10 株式会社和冠 传感器控制器、主机处理器、通信方法和系统
US9785262B2 (en) * 2015-04-20 2017-10-10 Wacom Co., Ltd. System and method for bidirectional communication between stylus and stylus sensor controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515195A (ja) * 2007-01-03 2010-05-06 ルイディア インコーポレイテッド 複数のスタイラスアノテーションシステム
US20130335380A1 (en) * 2012-06-15 2013-12-19 Research In Motion Limited Stylus with control ring user interface

Also Published As

Publication number Publication date
CN107533390B (zh) 2021-05-28
CN107533390A (zh) 2018-01-02
JP6764868B2 (ja) 2020-10-07
EP4109224A1 (en) 2022-12-28
US10372245B2 (en) 2019-08-06
CN111913606A (zh) 2020-11-10
EP3286625A4 (en) 2018-12-05
KR102447009B1 (ko) 2022-09-23
EP3286625B1 (en) 2022-08-24
US20190354203A1 (en) 2019-11-21
US10613651B2 (en) 2020-04-07
JP2018514010A (ja) 2018-05-31
US20160306445A1 (en) 2016-10-20
EP3286625A1 (en) 2018-02-28
US9921667B2 (en) 2018-03-20
US20160306444A1 (en) 2016-10-20
JP2020198137A (ja) 2020-12-10
WO2016172233A1 (en) 2016-10-27
JP7004781B2 (ja) 2022-01-21

Similar Documents

Publication Publication Date Title
JP7441994B2 (ja) データ処理方法及びセンサコントローラ
JP7004781B2 (ja) ホストプロセッサとアクティブスタイラスとの間の通信の方法、センサコントローラ、ホストプロセッサ、ホストプロセッサとアクティブスタイラスとセンサコントローラとを含むシステム
US9448646B1 (en) System and method for bidirectional communication between stylus and stylus sensor controller

Legal Events

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