KR20070064682A - 전자 펜의 데이터 관리 방법 및 장치 - Google Patents

전자 펜의 데이터 관리 방법 및 장치 Download PDF

Info

Publication number
KR20070064682A
KR20070064682A KR1020077012000A KR20077012000A KR20070064682A KR 20070064682 A KR20070064682 A KR 20070064682A KR 1020077012000 A KR1020077012000 A KR 1020077012000A KR 20077012000 A KR20077012000 A KR 20077012000A KR 20070064682 A KR20070064682 A KR 20070064682A
Authority
KR
South Korea
Prior art keywords
data
pen
online
communication interface
pen device
Prior art date
Application number
KR1020077012000A
Other languages
English (en)
Other versions
KR101229566B1 (ko
Inventor
조한 잔더
슈테판 린가아르드
Original Assignee
아노토 아베
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE0402710A external-priority patent/SE0402710D0/sv
Application filed by 아노토 아베 filed Critical 아노토 아베
Publication of KR20070064682A publication Critical patent/KR20070064682A/ko
Application granted granted Critical
Publication of KR101229566B1 publication Critical patent/KR101229566B1/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/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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • 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

Abstract

전자 펜 장치의 데이터 관리 장치는 제품 표면의 이미지들을 수신하고(602) 상기 이미지들로부터 데이터를 추출하도록(604) 동작한다. 제품 표면은 위치-코딩 패턴의 일부로 제공될 수 있으며, 추출된 데이터는 패턴에 의해 인코디된 위치들을 나타낼 수 있다. 장치는 온라인 프로세스 및 오프라인 프로세스에서 추출된 데이터를 선택적으로 처리한다. 프로세스의 선택(606)은 이미지들의 패턴 데이터에 의해 제어될 수 있다. 온라인 프로세스는 순차적으로 그리고 통상적으로는 시리간으로 펜 장치의 통신 인터페이스 상에 추출된 데이터를 제공(614)하도록 동작가능하다. 오프라인 프로세스는 펜 장치의 내부 저장기(M)에서 추출된 데이터를 저장하도록(608) 동작가능하다. 또한 오프라인 프로세스는 추상 위치-코딩 패턴의 특정 부분으로부터 야기되는 추출된 데이터를 검색하고 대조함으로써, 통신 인터페이스 상에 비순차적 순서로 추출된 데이터를 선택적으로 제공(610)하도록 동작가능하다.

Description

전자 펜의 데이터 관리 방법 및 장치{METHOD AND DEVICE FOR DATA MANAGEMENT IN AN ELECTRONIC PEN}
본 발명은 2004년 11월 5일자로 출원된 미국 가특허 출원 No. 60/625,167호; 2004년 11월 5일자로 출원된 스웨덴 특허 출원 No. 0402710-8호; 2005년 6월 6일자로 출원된 미국 가특허 출원 No. 60/687,332호; 및 2005년 6월 2일자로 출원된 스웨덴 특허 출원 No. 0501265-3호의 장점들을 청구하며, 이들 문헌들은 본 명세서에 참조된다.
본 발명은 디지털방식으로 기록된 데이터의 관리에 관한 것으로, 특히 전자 펜의 데이터 관리 프로세스에 관한 것이다.
전자 펜들은 제품 표면 상에 손으로 기재된 기입사항들을 전자적으로 표현하는 정보를 생성하는데 이용될 수 있다. 일 형태의 전자 펜은 제품 표면 상에 있는 위치 코드의 이미지를 포착함으로써 동작한다. 상기 이미지에 기초로, 전자 펜은 제품 표면 상에서의 펜 이동을 반영하는 위치들의 시퀀스(펜 스트로크)를 전자적으로 기록할 수 있다.
WO 00/72230호는 전자 펜 스트로크를 차례로 인접해 있는 프린터로 거의 실시간으로 전송하는 전자 펜을 개시한다. 프린터는 전용 서비스를 구현하는 네트워 크 서버로 펜 스트로크를 중계한다. 서비스는 펜 스트로크를 처리하고 프린터가 위치-코드 응답 시트를 프린트하게 할 수 있다. 펜이 프린터의 입력신호 범위를 초과(out-of-range)하면, 펜은 내부 메모리에서 펜 스트로크를 버퍼링한다. 다시 펜이 프린트 범위 내에 있게 되면, 프린터로 바로 전송되는 펜 스트로크와 동일한 형태로 임의의 버퍼링된 펜 스트로크가 전송된다. 상기 펜은 프린터/네트워크 서버와의 온라인 통신으로 동작하도록 설계된다. 펜은 항상 순차적으로 즉, 펜 스트로크가 생성되는 정확한 순서대로 펜 스트로크를 출력하여, 펜 스트로크는 사용자에게 투명한 프로세스를 전송하게 된다. 동시에, 이러한 동작 원리는 펜의 용도를 제한하게 된다.
본 발명의 목적은 종래 기술의 펜을 능가하는 개선된 다양한 용도를 갖는 전자 펜을 제공하는 것이다.
일반적으로, 본 발명의 목적은 전자 펜 장치에서의 방법 및 장치, 전자 펜 장치 및 독립항들에 따라 코딩된 제품 표면과 상호작용하는 시스템에 의해 적어도 부분적으로 달성되며, 바람직한 실시예들은 종속항들에 의해 한정된다.
본 발명의 제 1 면은 전자 펜 장치에서의 방법에 관한 것으로, 상기 방법은 제품 표면의 이미지들을 수신하는 단계; 상기 이미지들로부터 데이터를 추출하는 단계; 및 온라인 프로세스 및 오프라인 프로세스에서 상기 추출된 데이터를 선택적으로 처리하는 단계를 포함하며, 온라인 프로세스는 펜 장치의 통신 인터페이스 상에 추출된 데이터를 순차적으로 제공하도록 동작하며, 오프라인 프로세스는 펜 장치의 내부 저장기에 추출된 데이터를 저장하고 통신 인터페이스 상에 비-순차적 순서로 추출된 데이터를 선택적으로 제공하도록 동작한다.
본 발명의 제 2 면은 전자 펜 장치의 장치에 관한 것으로, 상기 장치는 제품 표면의 이미지들로부터 데이터를 추출하는 추출 프로세서 - 상기 이미지들은 펜 장치의 이미지 센서에 의해 포착됨 - ; 및 온라인 프로세스 및 오프라인 프로세스에서 추출된 데이터를 선택적으로 처리하는 데이터 프로세서를 포함하며, 온라인 프로세스에서 데이터 프로세서는 펜 장치의 통신 인터페이스 상에 추출된 데이터를 순차적으로 제공하도록 동작하며, 오프라인 프로세스에서 데이터 프로세서는 펜 장치의 내부 저장기에 추출된 데이터를 저장하고 통신 인터페이스 상에 비-순차적 순서로 추출된 데이터를 선택적으로 제공하도록 동작한다.
본 발명의 제 3 면은 전자 펜 장치에 관한 것으로, 상기 전자 펜 장치는 제품 표면의 이미지들을 포착하는 이미지 센서; 통신 인터페이스; 및 제 1 면의 방법을 실행하는 처리 장치를 포함한다.
본 발명의 제 4 면은 제 3 면의 전자 펜 장치를 포함하는 코딩된 제품 표면과 상호작용하는 시스템에 관한 것으로, 상기 시스템은 전자 펜의 통신 인터페이스와의 접속을 설정하도록 동작하는 통신 인터페이스; 제어기; 및 피드백 장치를 포함하며, 전자 펜 장치가 온라인 데이터를 제공할 때, 상기 제어기는 통신 인터페이스를 통해 펜 장치로부터 온라인 데이터를 수신하고 온라인 데이터의 수신에 따라 본질적으로 실시간으로 피드백 장치를 통해 피드백 데이터를 제공하도록 동작한다.
본 발명의 다른 목적, 특징, 면들 및 장점들은 도면과 함께 첨부되는 종속항들로부터 하기 상세한 설명에서 명확해질 것이다.
본 발명은 첨부되는 개략적 도면들을 참조로 보다 상세히 개시된다.
도 1은 페이지 유니트의 어드레스가능한 트리 구조물로의 추상(abstract) 위치-코딩 패턴의 로직 분할을 나타낸다.
도 2는 본 발명의 원리들을 구현하는 전자 펜의 단면도이다.
도 3A-3B는 정보 관리 시스템, 및 오프라인 및 온라인 데이터의 생성 및 처리를 위해 상기 시스템에 내장된 통신 경로를 각각 나타낸다.
도 4는 최종 위치-코딩 제품에 대한 템플릿 정의와 페이지 기술의 관계를 나타낸다.
도 5는 도 2의 펜의 동작을 제어하는 소프트웨어 모듈들의 시스템의 실시예를 나타낸다.
도 6은 본 발명의 실시예에 따라 전자 펜에 위치 데이터를 생성하는 프로세스의 개략도이다.
개요
도 6은 본 발명의 실시예에 따른 전자 펜에서 프로세스의 기본 개요를 나타낸다. 펜은 코딩 패턴이 제공되는 표면의 이미지들을 포착한다(602). 이미지들은 각각의 이미지에 대해 통상적으로 하나의 위치에, 데이터 아이템의 시퀀스가 생성되도록 처리된다(604). 다음 상기 위치들은 선택 메커니즘(606)을 기초로, 오프라 인 프로세스 또는 온라인 프로세스, 또는 오프라인 프로세스 및 온라인 프로세스 모두에 연속적으로 입력된다. 오프라인 프로세스에서, 데이터 아이템은 펜내의 영구 메모리(M)에 저장된다. 다음, 이후 통상적으로 펜 사용자에 의해 초기화되고, 메모리(M)는 선택 기준(criterion)을 기초로 액세스되며(610), 형성되는 위치들이 펜으로부터 출력된다. 통상적으로 선택 기준은 코딩 패턴의 특정 부분으로부터 유래되는 위치를 나타낸다. 온라인 프로세스에서, 위치들은 펜으로부터 출력(614)되기 이전에, 적어도 펜이 외부 장치와 접속되는 동안 임시 메모리(B)에서 버퍼링될 수 있다(612). 온라인 프로세스는 이미지 처리(604)와 본질적으로 실시간으로 순차적으로 위치들을 출력하도록(614) 동작한다.
오프라인 프로세스는 펜 사용자가, 임의의 외부 장치와 상관없이, 각각 펜에 의해 생성되는 펜 스트로크를 포함하는 한 세트의 전자 문서를 생성하도록 허용한다. 다음, 펜에 의해 펜 스트로크가 생성되는 특정 순서와 상관없이, 사용자는 이후에 펜이 하나 이상의 선택된 문서들, 또는 문서의 일부를 출력하게 할 수 있다.
한편, 온라인 프로세스는, 펜에 의해 펜 스트로크가 생성됨에 따라 펜 사용자가 디스플레이 또는 스피커와 같은 국부적 주변기기, 또는 펜 자체를 통해 수신 장치로부터 펜 사용자에게 제공되는 상호작용 피드백에 의해, 펜 스트로크와 직접 상호작용하도록 허용한다.
하나 및 동일한 전자 펜에 오프라인 및 온라인 동작 프로세스 모두의 제공은 펜의 강화된 다용성을 제공한다. 이를 테면, 사용자 경험이 개선될 수 있으며, 이는 손으로 쓴 데이터를 생성하고 이와 반응하도록 펜 사용자에 대해 새롭고 매우 강력한 방식을 구현할 수 있기 때문이다.
추상 패턴
하기 설명은 페이지 유니트들로 세분화되는 추상 위치-코딩 패턴의 사용을 기초로한다. 이러한 추상 패턴들의 예는 본 명세서에서 참조되는 미국 특허 6,570,104호, 미국 특허 6,663,008호, 및 미국 특허 6,667,695호에 개시된다. 페이지 유니트는 페이지 유니트 그룹의 계층(hierarchy)에 개별적으로 어드레스가능하다. 도 1은 패턴(106)이 다수의 "쉘프들(shelves)"(111)로 분할되는 "세그먼트들"(110)를 포함하는 예를 나타내며, 쉘프 각각은 앞서 언급된 다수의 페이지 유니트들(113), 소위 "패턴 페이지들"로 분할되는 다수의 "북들(books)"(112)을 포함한다. 적절하게 모든 패턴 페이지들은 상기 패턴 계층의 하나의 레벨 내에 동일한 포맷을 갖는다. 예를 들어, 쉘프들중 일부는 A4 포맷의 패턴 페이지로 구성될 수 있는 반면 나머지 쉘프들은 A5 포맷의 패턴 페이지로 구성될 수 있다. 추상 패턴에서 소정의 패턴 페이지의 위치는 세그먼트.쉘프.북.페이지, 이를 테면 99.5000.1.1500으로, 다소 IP 어드레스와 유사한 형태로 페이지 어드레스로서 표시될 수 있다. 처리 효율을 위해, 페이지 어드레스의 내부 표현은 상이할 수 있다, 예를 들어 예정된 길이의 정수, 이를 테면 64 비트로서 주어질 수 있다.
일례로, 각각의 세그먼트는 각각 약 50×50cm2의 크기를 갖는, 26,000,000 보다 큰 패턴 페이지로 구성된다. 일 실시예에서, 적어도 하나의 세그먼트는 각각 2,517 페이지를 갖는 2 북으로 각각 구성되는 5,175 쉘프로 분할된다.
각각의 패턴 페이지는 코딩 패턴의 실제 서브-세트로서, 또는 서브세트에 의해 코딩되는 절대 위치로서 간주될 수 있다. 이러한 각각의 절대 위치는 전체 패턴의 좌표 시스템(114)에서 글로벌(global) 위치로서, 또는 로직 위치, 즉, 패턴 페이지 내의 좌표 시스템(115)에서 페이지 어드레스 및 로컬 위치로 표현될 수 있다.
적절한 전자 펜은 글로벌 위치(즉, 글로벌 펜 스트로크)의 시퀀스 또는 해당 패턴 페이지 상의 로컬 위치(즉, 어드레스된 펜 스트로크)의 시퀀스 중 하나로서 위치-코딩 제품 상에 펜의 이동을 기록할 수 있다.
또한 하기의 설명은 하나 이상의 패턴 페이지에 대응하는 위치 코드를 포함하는 각각의 제품을 기초로 한다. 그러나 주목할 것은 제품 상의 위치 코드는 패턴 페이지를 따를 필요가 없다는 것이다. 따라서, 하나 이상의 패턴 페이지로부터 하나 이상의 서브세트는 제품 상에 임의적으로 배열될 수 있다. 또한 제품에는 제품 상의 위치 코드가 소정의 위치를 포함하는 전자 펜 스트로크 상에서 선택적으로 동작하는 하나 이상의 기능들과 관련되는 기능이 내장될 수 있다.
이러한 일 실시예에서, 펜의 기능은 위치-코딩 패턴의 특정한 부분 상에서 사용자가 펜을 조작함으로써 적어도 부분적으로 제어될 수 있다. 이를 위해, 펜은 위치-코딩 패턴의 상이한 부분들(기능 영역)로부터 기록되는 정보에 따라 펜이 어떻게 동작하는지를 정의하는 하나 이상의 템플릿(templates)을 저장할 수 있다. 일 실시예에서, 페이지 계층에서 특정한 페이지 유니트 그룹, 예를 들어, 세그먼 트 또는 쉘프는 주어진 템플릿 정의와 관련되어, 특정한 페이지 유니트 그룹 내의 모든 패턴 페이지에 적합해진다. 템플릿은 펜의 동작에 영향을 미칠 수 있는 임의의 기능 영역의 크기, 배치 및 기능을 정의한다. 이러한 기능 영역은 "피드겟(pidgets)"으로 표시된다. 도 4는 패턴 페이지(402) 상에 배열되는 템플릿(400)을 나타내며, 상이한 피드겟(404)의 배치를 도시한다.
템플릿에서, 패턴 페이지 내의 임의의 피드겟에 의해 점유되지 않는 모든 위치는 도면 영역에 속하는 것으로 정의되어, 암시적 피드겟으로 간주될 수 있다. 도면 영역에서 검출된 위치들은 펜에 의해 펜 스트로크로서 기록되는 것으로 해석된다.
피드겟들은 트리거 기능, 서비스 선택 기능, 장치 선택 기능, 로컬 액션 기능, 또는 피드백 기능을 나타낼 수 있다. 트리거 기능은 하기 보다 상세히 설명되는 바와 같이, 데이터가 노출되도록 펜을 작동시킨다. 서비스 선택 기능은 기록된 위치들의 펜 처리에 영향 , 및/또는 처리될 위치들의 펜 선택에 영향을 미치는 콘텍스트 정보(예를 들어, 이메일, 팩스 SMS)를 전달할 수 있는 서비스를 확인한다. 장치 선택 기능은 펜에 대한 접속 장치(예를 들어, PC, 모바일 장치, LAN 액세스 포인트)를 식별한다. 로컬 액션 기능은 펜 메모리에 영향을 미치는 액션을 개시한다. 피드백 기능은 펜이 진동기, 디스플레이 또는 스피커와 같은 내부 MMI을 작동시키게 한다.
일 실시예에서, 템플릿(template)은 피드겟 ID, 및 패턴 페이지(402)내의 로컬 위치에서의 크기 및 배치에 의해 각각의 피드겟을 한정한다(도 4). 피드겟 ID 는 피드겟 기능을 결정하는 16-비트 식별자이다. 피드겟 ID는 피드겟 형태(비트 8-15) 및 피드겟 수(비트 0-7)로 구성된다. 피드겟 형태는 상기 언급된 기능을 식별하며, 피드겟 수는 하위기능을 식별할 수 있다.
상기 언급된 트리거 피드겟은 특정형(specific)이거나 일반형(generic)일 수 있다. 특정형 트리거 피드겟은 피드겟 수를 통해, 특정 접속 장치 및 특정 서비스를 식별하는 피드겟 ID를 갖는다. 펜이 이러한 특정형 트리거 피드겟 내에서의 위치를 기록할 때마다, 데이터 노출에 영향을 미칠 수 있다. 일반형 트리거 피드겟은 특정 접속 장치 및/또는 특정 서비스를 식별하지 않는 피드겟 ID를 갖는다. 데이터 노출을 트리거시키기 위해, 일반형 트리거 피드겟은 펜 기록 해당 위치 및 유효 서비스(valid service) 및 유효 접속 장치 모두를 식별하는 트리거 피드겟 ID에 의해 장치 선택 피드겟 및/또는 서비스 선택 피드겟과의 통신에 이용되어야 한다.
일 실시예에서, 예를 들어 세그먼트와 같은, 페이지 계층의 특정 페이지 유니트 그룹은 하나 이상의 기능 속성과 관련되어, 특정 페이지 유니트 그룹내의 모든 패턴 페이지에 대해 유효하다. 이러한 하나의 속성은 STREAMING 속성이며, 페이지 유니트 그룹 내에 떨어지는(falling) 기록 위치들이 외부 장치로 실시간 출력되어야 한다는 것이 펜에 표시된다. 페이지 유니트 그룹의 DO_NOT_STORE 속성은 펜이 상기 페이지 유니트 그룹 내에 떨어지는 기록된 펜 스트로크들의 저장을 억제하게 한다. 다른 기능적 속성들은 상이한 형태로, 예를 들어, FORMS 또는 NOTEPADS로 페이지 유니트 그룹들을 분류하는데 이용될 수 있다. 일반적으로, 기능적 속성들은 페이지 계층의 임의의 페이지 유니트 그룹에 대해 설정될 수 있고, 템플릿에 의해 제공된 로직으로부터 포괄적(comprehensive) 로직을 분리하는 장점을 제공한다. 따라서, 기능적 속성들은 제 2 레벨의 로직을 제공하며, 이는 템플릿 로직을 독립적으로 설정할 수 있고 패턴 페이지 전체 범위에 대해 펜 제어 시스템을 이용할 수 있게 된다.
전자 펜
도 2는 이미지가 기록되는 윈도우 또는 개구부(204)를 한정하는 펜-형상 케이싱 또는 쉘(202)을 갖는 상기 언급된 펜(200)의 실시예를 나타낸다. 케이싱은 카메라 시스템, 전자 시스템 및 전원을 포함한다.
카메라 시스템(206)은 적어도 하나의 조명원, 렌즈 장치 및 광학적 이미지 판독기(도면에는 도시되지 않음). 광원, 바람직하게는 발광 다이오드(LED) 또는 레이저 다이오드는 적외선 방사에 의해 윈도우(204)를 통해 관찰될 수 있는 영역의 일부를 조명한다. 관찰된 영역의 이미지는 렌즈 장치에 의해 이미지 판독기 상에 투사된다. 이미지 판독기는, 통상적으로 약 70-100Hz의, 고정된 또는 가변 속도로 이미지를 포착하도록 트리거링되는 2차원 CCD 또는 CMOS 검출기일 수 있다.
센서 장치에 대한 전원은 바람직하게 배터리(208)이며, 선택적으로 주전력(미도시)으로 교체되거나 또는 주전력으로 보강된다.
전자 시스템은 메모리 블록(212)에 접속된 제어 유니트(210)를 포함한다. 제어 유니트(210)는 전자 펜에서 상이한 기능을 위한 것으로 CPU("중앙 처리 유니트")와 같이 상업적으로 이용가능한 마이크로프로세서에 의해, 또는 FPGA("필드 프 로그램가능 게이트 어레이") 또는 선택적으로 ASIC("주문형 집적회로")와 같은 소정의 다른 프로그램가능 로직 장치, 이산 아날로그 및 디지털 부품, 또는 이들의 일부 조합에 의해 바람직하게 구현될 수 있다. 메모리 블록(212)은 바람직하게 작업 메모리(예를 들어, RAM) 및 프로그램 코드 및 영구적 저장 메모리(비휘발성 메모리, 예를 들어 플래시 메모리)와 같은 상이한 형태의 메모리를 포함한다. 관련 소프트웨어는 메모리 블록(212)에 저장되며 전자 펜의 동작을 위한 펜 제어 시스템을 제공하기 위해 제어 유니트(210)에 의해 실행된다.
또한, 케이싱(202)은 표면상에 도포될 염료식(pigment-based) 마킹 잉크에 의해 사용자가 표면 상에 물리적으로 묘사 및 기록하게 허용하는 펜 포인트(214)를 보유한다. 펜 포인트(214)의 마킹 잉크는 조사되는 방사선을 적절하게 투과시켜 전자 펜의 광전자 검출에 따른 간섭을 방지한다. 콘택 센서(216)가 펜 포인트(214)에 동작가능하게 접속되어 펜이 표면에 적용(펜 하향) 및/또는 펜이 표면으로부터 들어 올려질(펜 상향) 때를 검출하고, 선택적으로 적용힘(application force)을 검출하도록 허용한다. 접촉 센서(216)의 출력을 기초로, 펜 하향과 펜 상향 사이에 이미지를 포착하도록 카메라 시스템(206)이 제어된다. 이러한 이미지들은 제어 유니트(210)에 의해 처리되어 코딩된(coded) 제품 상에서의 펜의 절대 위치와 이동을 나타내는 위치 시퀀스를 생성한다.
생성된 위치들은 내장형 통신 인터페이스(218)를 경유하여, 펜에 의해 컴퓨터, 모바일 텔레폰, PDA, 네트워크 서버 등과 같은 원격(remote) 또는 인접(nearby) 장치로 출력될 수 있다. 이를 위해, 통신 인터페이스(218)에는 통상적 으로 컴퓨터, 텔레폰 또는 위성 통신 네트워크를 경유하여 유선(wired) 또는 무선(wireless) 단거리 통신용(예를 들어, USB, RS232, 무선 전송, 적외선 전송, 초음파 전송, 유도 결합 등) 콤포넌트, 및/또는 유선 또는 무선 원격 통신용 콤포넌트가 제공될 수 있다.
또한 펜은 사용자 피드백을 위해 선택적으로 동작되는 MMI(Man Machine Interface)를 포함할 수 있다. MMI는 디스플레이, 표시등(indicator lamp), 진동기, 스피커 등을 포함할 수 있다.
또한, 펜은 하나 이상의 버튼(222)을 포함할 수 있으며, 버튼(222)에 의해 펜이 동작 및/또는 제어될 수 있다.
오프라인 시스템
오프라인 프로세스(오프라인 모드)에서, 펜은 메모리 블록으로부터 선택적으로 펜 스트로크 데이터를 검색하고 외부 장치에 노출되는 파일 오브젝트에서 상기 데이터를 통합함으로써, 오프라인 데이터를 출력하도록 동작할 수 있다. 특히, 오프라인 데이터 노출은 메모리 블록(212)(도 2)에 저장된 펜 스트로크 데이터의 공간적 대조(collating)를 수반한다. 통상적으로, 펜 스트로크 데이터는 페이지 어드레스에 의해 대조된다. 각각의 파일 오브젝트는 하나 이상의 특정한 패턴 페이지로부터의 펜 스트로크 데이터를 포함할 수 있다. 일반적으로, 오프라인 데이터는 펜에 의해 기록되는 연대적(chronological) 순서를 나타내는 것이 아니라, 펜 스트로크가 위치-코딩 패턴의 특정한 부분 상에 기록된 모든 펜 스트로크 데이터의 수집을 나타낸다. 파일 오브젝트에서, 펜 스트로크 데이터는 각각의 패턴 페이지에 대해 연대적으로 정렬되거나 또는 연대적으로 정렬되지 않을 수 있다.
도 3A는 전자 펜으로부터 오프라인 데이터를 수신할 수 있는 정보 관리 시스템의 개략도이다.
일 실시예에서, 파일 오브젝트(300)는 펜(200)으로부터 도 3A의 경로들(300A-300C)로 표시된 것처럼, 주어진 국부적 또는 원격 수신 장치(302, 304) 상에의 통신 인터페이스(301)로 접근된다. 경로 300A는 통신 네트워크(310)를 경유하게 펜(200)과 원격 장치(304) 사이에 설정된다. 경로 300B는 국부적 장치(302)를 지나 네트워크(310)를 경유하게 펜(200)으로부터 원격 장치(304)로 설정된다. 경로 300C는 펜(200)과 국부적 장치(302) 사이에 설정된다. 또 다른 실시예에서, 파일 오브젝트(300)는 경로들(300A-300C)중 임의의 한 경로를 따라, 수신 장치(302, 304)에 의해 펜(200)으로부터 당겨지게 노출된다. 또 다른 실시예에서, 펜(200)은 임의의 파일 오브젝트를 생성하지 않는다. 대신, 수신 장치(302, 304)는 펜(200)에 대한 데이터 요청을 통신할 수 있다. 펜(200)으로부터 요청된 데이터를 수신한 후, 장치(302, 304)는 상기 데이터 또는 유도 데이터가 포함되도록 파일 오브젝트(300)를 생성한다.
국부적 또는 원격 수신 장치는 경로들(300C1, 300C2)에 의해 예시된 것처럼, 수신 장치 또는 원격 장치 상에 국부적으로 제공되는 애플리케이션 프로그램(308)에 대해 파일 오브젝트(300) 또는 파일 오브젝트로부터의 유도된 데이터를 중계하는 흐름 제어기(306)를 포함할 수 있다. 이러한 흐름 제어기의 예는 US 2003/0046256호, WO 03/056420호 및 WO 03/105064호에 개시된다. 하나 이상의 흐름 제어기는 펜으로부터 애플리케이션 프로그램으로의 데이터 전송시 수반될 수 있다.
흐름 제어기(306)는 파일 오브젝트(300)로부터 중계 데이터를 추출하고, 목적지 어드레스로, 예를 들어 HTTP(Hypertext Transfer Protocol) 포스트, SMTP(Simple Mail Transfer Protocol), X.400, MMS(Multimedia Messaging Service), SMS(Short Message Service), 데이터베이스 싱크 등을 통해 적절히 데이터를 중계하도록 배열될 수 있다. 목적지 어드레스는 중계 데이터에 의해 직접적으로 또는 간접적으로 제공된다. 일 실시예에서, 흐름 제어기(306)는 파일 오브젝트로부터 명확한 목적지 어드레스를 추출할 수 있다. 또 다른 실시예에서, 흐름 제어기(306)는 목적지 어드레스와 어드레스 표시기를 관련시키는 검사표(lookup table)를 포함할 수 있다. 예를 들어, 어드레스 표시기는, 페이지 어드레스, 글로벌 위치, 피드겟 ID, 펜-상주(pen-resident) 파라미터 값 등일 수 있다. 중계되는 적절한 데이터는 파일 오브젝트에 의해 제공될 수 있다. 파일 오브젝트(300) 중계의 대안으로써, 흐름 제어기(306)는 파일 오브젝트(300)가 검색을 위해 이용될 수 있는 목적지 어드레스로 통지(notification)를 전송할 수 있다.
파일 오브젝트(300) 또는 파일 오브젝트로부터 유도된 데이터가 수신됨에 따라, 애플리케이션 프로그램(308)은 초기(originating) 물리적 제품, 즉 파일 오브젝트(300)의 위치 데이터가 발생하는 제품(도 3A에 참조 번호 P로 포시됨)을 한정하는 페이지 기술부(page description)를 액세스할 수 있다. 페이지 기술부는 초 기 제품(P)의 레이아웃을 한정한다. 이러한 레이아웃은 제품의 기능적 레이아웃 및 물리적 레이아웃 모두를 포함할 수 있다. 물리적 레이아웃은 지원(supporting) 그래픽, 즉, 사용자를 향한 명령, 제어 및/또는 알림을 위한 사람-인식가능 정보를 포함할 수 있다. 기능적 레이아웃은 관련 패턴 페이지(들) 상의 소위 임의의 사용자 영역의 배치 및 크기를 한정한다. 사용자 영역은 특정 애플리케이션 프로그램(308)에 대해 신규할 수 있는 배치, 크기 및 기능에 따른 애플리케이션-특정 기능 영역이다. 페이지 기술부에서, 각각의 사용자 영역은 애플리케이션 프로그램으로 액세스할 수 있는 전용 프로세싱 지시의 식별자를 할당할 수 있다. 선택적으로, 각각의 프로세싱 지시는 페이지 기술부에 포함될 수 있다. 또한 물리적 레이아웃은 물리적 레이아웃의 생성을 위한 정확한 명령들로서, 또는 물리적 레이아웃을 한정하는 컴퓨터 파일의 네트워크 저장 어드레스의 표시기로서, 페이지 기술부에 포함될 수 있다. 또한 페이지 기술부는 제품 상에 패턴의 배열 및 배치를 한정할 수 있어, 프로세싱 애플리케이션이 지원 그래픽과의 적절한 배열시 펜 스트로크를 디스플레이할 수 있다.
페이지 기술부의 구조, 기능 및 용도는 US 2002/0040816 및 WO 03/105064에 보다 상세히 개시된다.
도 4는 패턴 페이지(402), 템플릿(400), 페이지 기술부(410) 및 물리적 제품(420) 간의 상관관계를 나타낸다. 물리적 제품(420)은 하나 이상의 패턴 페이지(402)(도 4에는 단지 한 개만이 도시됨) 내에서의 위치들을 한정하는 위치 코드(미도시)를 포함한다. 이들 위치는 (피드겟(404)을 위해) 시스템에서 예정되거나 또는 (사용자 영역(414)을 위한) 특정-용도인 하나 이상의 기능과 관련된다. 피드겟(404)은 템플릿(400)으로 제공된 것처럼, 패턴 페이지(402) 내에서 예정된 배치 및 크기를 갖는다. 그러나 이들은 절단("cut-out") 및 제품(420) 상에서 임의의 형태로 재조립되는 위치-코딩 패턴의 부분들에 의해, 물리적 제품(420) 상에서 임의의 배치를 가질 수 있다. 페이지 기술부(410)는 패턴 페이지(402) 상에서 임의의 추가 사용자 영역(414)의 배치, 크기 및 기능을 한정한다. 따라서, 물리적 레이아웃과는 별개로, 제품(420)은 템플릿(400)에 의해 제공되는 하나의 기능 레이아웃부(400') 및 페이지 기술부(410)에 의해 제공되는 하나의 기능 레이아웃부(410')를 갖는다.
파일 오브젝트(300)(도 3A)에서 펜 스트로크 데이터는 자체-지원되거나 또는 자동화된다, 즉, 수신 애플리케이션 프로그램(308)은 생성된 데이터를 펜(200)과 통신할 필요없이 데이터를 액세스하고 처리할 수 있다.
파일 오브젝트(300)는 상이한 정제(refinement) 레벨에서 펜(200)에 의해 생성될될 수 있다. 예를 들어, 파일 오브젝트(300)는 하기의 것들 중 임의의 하나, 또는 이들의 조합을 포함할 수 있다:
(1) 비가공(raw) 펜 스트로크 데이터, 즉, 펜 스트로크를 형성하는 글로벌 또는 로직 위치들의 일시적인 코히런스 시퀀스(coherent sequent);
(2) 펜 스트로크 픽쳐(picture), 즉, 기록된 위치들을 직접 나타내는 이미지;
(3) 정제된(refined) 펜 스트로크 데이터, 펜 스트로크에 의해 터치된 임의 피드겟들의 확인 및/또는 이러한 피드겟들과 관련된 기능들의 결과와 같이 통상적으로 템플릿과 관련된(template-related) 정보.
임의의 정제 레벨에서, 파일 오브젝트(300)는 펜 스트로크 및 임의의 피드겟 위치의 타임스탬프(timestamp), 펜 스트로크 위치의 힘 값(force value), 및 임의의 펜-상주 파라미터(들)과 같은, 추가의 펜-관련 데이터 또는 스트로크-관련 데이터를 포함할 수 있다. 타임스탬프는 애플리케이션 프로그램 또는 흐름 제어기가 스트로크 및/또는 이들 상호간의 기록을 위한 시간에 기초한 피드겟을 조합하도록 허용한다. 힘 값은 애플리케이션 프로그램이 힘-관련 라인 폭에 따라 스트로크 이미지를 제공하도록 한다.
펜-상주 파라미터가 메모리 블록(212)(도 2)에 미리-저장되어 펜 자체 또는 펜의 소유자/사용자의 특성을 식별할 수 있다. 이러한 파라미터들은 수신 애플리케이션 프로그램(308)(도 3A)에 의해 사용될 수 있어, 파일 오브젝트(300)에 적어도 선택적으로 포함될 수 있다. 펜-상주 파라미터의 포함은 파일 오브젝트에서 스트로크의 페이지 어드레스(들) 및/또는 상기 언급된 콘텍스트 또는 콘텐츠 정보에 의해 결정될 수 있다. 펜-상주 파라미터는 신규한 펜 식별자, 언어 식별자, 이름, 스트리트 어드레스, 전자 메일 어드레스, 전화번호, 호출기 번호, 팩스 번호, 신용카드 번호 등을 포함할 수 있다.
파일 오브젝트(300)는 펜에 의해 기록된 펜 스트로크, 또는 펜 자체와 관련되지 않은 독립형 데이터를 포함할 수 있다. 독립형 데이터는 펜내의 센서(예를 들어, 카메라 시스템(206))에 의해 유도되거나, 또는 통신 인터페이스(218)(도 2) 을 통해 펜에 의해 수신될 수 있는, 임의의 종류의 비-위치 데이터를 포함할 수 있다. 이러한 독립형 데이터는 하나 이상의 이미지(즉, 정지 영 상 또는 동영상), 또는 이러한 이미지들(예를 들어, 광학 문자 인식(OCR) 프로세싱으로부터 야기되는 기계-코딩 텍스트, 또는 바코드 또는 임의의 다른 기계-판독가능 코드로 디코딩된 데이터)로부터 추출된 데이터의 형태일 수 있다. 또 다른 예에서, 독립형 데이터는 펜 내의 오디오 센서에 의해 기록된 또는 통신 인터페이스를 통해 수신된 오디오 데이터일 수 있다.
파일 오브젝트(300)는 문자-인코딩 또는 비-문자-인코딩(예를 들어, 바이너리)될 수 있으며, 임의의 적절한 포맷일 수 있다. 파일 포맷은 예를 들어, XML(Extensible Markup Language), HTML(Hypertext Markup Language), XForms, PDF(Portable Document Format) 등과 같이 표준화되거나 또는 지적소유권이 있을 수 있다.
온라인 시스템
온라인 프로세스(온라인 모드)에서, 펜은 수신 장치에서 스트림 데이터를 작동시키며, 데이터는 하기 온라인 데이터를 표시한다. 온라인 데이터는 상호작용하는 서비스를 실행하는 애플리케이션 프로그램에 의해 수신될 수 있다. 온라인 데이터의 이러한 상호작용 용도를 위한 시스템이 도 3B에 도시된다.
도 3B에서, 펜(200)은 단거리 통신을 통해 온라인 데이터를 로컬 수신 장치(302') 상의 통신 인터페이스(301')에 공급한다. 온라인 데이터는 선택적으로 앞서 언급된 형태의 흐름 제어기(306')를 통해, 수신 장치 상에서 프로세싱 유니트(CPU)에 의해 국부적으로 작동하나, 선택적으로 통신 네트워크(310')를 통해 액세스가능한 원격 장치(310') 상에서 프로세싱 유니트(CPU)에 의해 작동할 수 있는, 전용 애플리케이션 프로그램(308')으로 전송된다. 애플리케이션 프로그램(308')은 앞서 언급된 페이지 기술부를 기초로 데이터를 처리하며, 디스플레이 스크린 또는 스피커와 같은 로컬 피드백 장치(312')(경로들(300A'-300C'))를 통해 건의 실시간으로 사용자에게 제공되는 피드백 데이터를 생성한다. 따라서, 애플리케이션 프로그램(308')은 사용자가 거의 실시간으로 서비스를 액세스하도록 허용한다. 사용자는 손으로 기입된 데이터를 서비스에 입력 및/또는 코딩된 제품(P) 상에서 펜(200)을 조작함으로써 상호작용하게 서비스를 제어할 수 있다. 또한 서비스는 거의 실시간으로 코딩된 제품 상에서 펜의 이동을 재현하기 위해, 펜으로부터 수신됨에 따라, 스크린 상에 순차적으로 손으로 기입된 데이터를 디스플레이할 수 있다.
하기에 보다 상세히 설명되는 바람직한 실시예에서, 펜은 오프라인 모드에서 디폴트에 의해 동작하며, STREAMING 속성과 관련된 세그먼트(온라인 세그먼트)로부터 위치를 기록할 때에만 온라인 모드를 작동시킨다. STREAMING 속성과 관련되지 않은 세그먼트로부터의 위치가 기록될 때는 온라인 모드가 작동하지 않는다.
또 다른 실시예에서, 펜이 오프라인 데이터(파일 오브젝트)를 노출시키기 위해 제어될 때 펜은 자동적으로 온라인 모드를 작동시킨다. 본 실시예는 사용자가 손으로 기입된 데이터 오프라인을 생성하게 하며, 상기 데이터가 외부 장치의 어플리케이션 프로그램에 의해 수신되는 것으로 간주될 때 손으로 기입된 동일한 데이 터상에서 상호작용하게 동작하게 한다. 예를 들어, 사용자는 초기 제품(originating product) 상에서 펜을 조작함으로써, 주밍(zooming) 또는 스크롤링(scrolling)과 같이, 손으로 기입된 데이터의 디스플레이를 제어할 수 있다. 또 다른 예에서, 애플리케이션 프로그램은 손으로 기입한 데이터 상에서 HWR 프로세스를 실행시킬 수 있어, 사용자가 초기 제품 상에서 펜을 조작함으로써 손으로 기입된 입력을 상호작용하게 정정하거나, 주석을 달거나(annotate) 또는 편집하게 한다. 애플리케이션 프로그램은 가장 최근에 수신된 오프라인 데이터 상에서 온라인 데이터가 자동적으로 동작하게 한다. 선택적으로, 온라인 데이터는 애플리케이션 프로그램이 상기 오프라인 데이터 상에서 온라인 데이터를 작동시킬 때마다, 외부 장치로 액세스가능한 메모리로부터의 관련 오프라인 데이터를 검색하기 위해 애플리케이션 프로그램에 의해 이용될 수 있다. 예를 들어, 애플리케이션 프로그램은 동일한 페이지 어드레스로 오프라인 데이터를 검색하기 위해 온라인 데이터의 페이지 어드레스를 이용할 수 있다.
온라인 모드에서 펜 동작은 오프라인 모드와 같이, 피드겟에 의해 부분적으로 제어될 수 있다. 그러나 바람직한 실시예에서, 온라인 세그먼트의 템플릿은 드로잉(drawing) 영역과는 달리 임의의 피드겟이 없다. 선택적으로, 펜은 온라인 모드인 경우, 임의의 이러한 피드겟이 무시되도록 설계될 수 있다. 펜 MMI 피드백을 수행하기 위해, 펜은 애플리케이션 프로그램으로부터 통신 인터페이스(218) 상에 수신되는 피드백 명령들을 기초로 MMI(220)(도 2)를 선택적으로 동작시키도록 설계될 수 있다. 이로써 온라인 모드에서의 모든 사용자 피드백은 애플리케이션 프로 그램에 의해 제어된다.
펜은 현재 펜에 접속된 수신 장치에 온라인 데이터를 공급할 수 있다. 선택적으로, 펜은 온라인 데이터를 위해 디폴트 수신 장치, 또는 온라인 모드에있는 동안 펜이 최종 접속되는 수신 장치에 대한 접속을 개시할 수 있다. 또 다른 예로, 수신 장치는 전용 피드겟을 검출하는 펜, 또는 수신 장치와 펜을 물리적으로 접속하는 사용자에 의해 제공될 수 있다. 또한 접속은 수신 장치로부터 초기화되는 것으로 간주될 수 있다.
펜 제어 시스템
펜(200)은 제어 유니트(210)(도 2)에서 실행되는 소프트웨어에 의해 작동한다. 모든 소프트웨어 아키텍쳐는 일부 메인 소프트웨어 부품들을 나타내는 도 5를 참조로 설명된다.
펜 시스템 소프트웨어는 모듈들을 기초로한다. 모듈은 클린(clean) 인터페이스를 갖춘 소프트웨어에서의 개별적 존재물(entity)이다. 모듈은 적어도 하나의 프로세스에 포함됨으로써 액티브형이거나 또는 임의의 프로세스에 포함되지 않음으로써 패시브형이다. 모듈은 기능 호출을 수행하는 기능 인터페이스, 또는 메세지를 수신하는 메세지 인터페이스를 포함할 수 있다. 액티브형 및 패시브형 모듈들은 기본적으로 트리(tree)로 구조화되며, 모듈에 대한 모체(parent)는 모체의 모든 자식들(children)의 개시(starting) 및 차단(shutting down)에 응답할 수 있다.
또한 펜 시스템 소프트웨어는 모듈들 간의 종속관계(dependency)를 감소시키 기 위해 이벤트 프레임워크(framework)를 실행한다. 각각의 모듈은 신호화될 수 있는 예정된 이벤트 세트를 노출시킨다. 특정 이벤트의 통지(notification)를 얻기 위해, 모듈은 이벤트 레지스터에 상기 이벤트를 등록시켜야 한다. 또한 이벤트 레지스터는 통지가 메세지를 전송함으로써 또는 콜백 기능으로서 발생되었는지를 표시할 수 있다.
소프트웨어 모듈의 조합은 스트로크들의 저장(오프라인 모드)을 위한 이벤트 또는 위치들의 스트리밍(온라인 모드)을 위한 이벤트의 흐름도인 소위 좌표 파이프라인(502)을 구현한다. 이미지 프로세싱 모듈(504)로부터의 글로벌 위치들의 스트림은 글로벌 위치들을 로직 위치들로 변환시키는 번역기 모듈(506)로 운반된다. 번역기 모듈(506)이 피드겟을 통과하는 스트로크를 검출할 경우, 해당 피드겟 이벤트가 트리거링된다. 또한 번역기 모듈(506)은 글로벌 위치의 세그먼트가 기능 속성과 관련될 경우 특정 속성 이벤트를 생성한다. 피드겟 및 속성 이벤트들은 피드겟 및 속성 이벤트들 각각의 검색능력(relevance)을 결정하는 이벤트 청취자를 포함하는 모듈들에 의해, 다른 소프트웨어 모듈들에서 적절한 액션을 야기시킬 수 있다. DO_NOT_STORE 속성 이벤트가 생성되지 않는다면, 로직 위치들은 좌표 관리기 모듈(508)에 의해 수신되며, 이들은 조밀한(compact) 표현으로 인코딩되고 메모리 블록(212)(도 2)에 저장되는 어드레스된 펜 스트로크와 어셈블리된다.
STREAMING 속성 이벤트가 생성될 경우, 로직 위치들은 온라인 데이터를 생성하는 스트리머 모듈(508')에 위해 수신되는 반면, 노출 모듈(516)은 수신 장치에 대해 온라인 접속이 설정되게 한다.
따라서, 이러한 특정 실시예에서, 펜은 단지 오프라인 모드(디폴트에 의해)에서만, 온라인 모드(이미지화된 패턴이 STREAMING 속성 및 DO_NOT_STORE 속성 모두와 관련될 경우)에서만 또는 오프라인 모드 및 온라인 모드(이미지화된 패턴이 DO_NOT_STORE 속성이 아닌, STREAMING 속성과 관련될 경우) 모두에서 동작할 수 있다.
1. 감시기(Supervisor)
도 5에 도시된 것처럼, 펜 시스템 소프트웨어는 다른 모든 모듈들을 직접적으로 또는 간접적으로 초기화시키는 감시기 모듈(509)을 포함한다. 감시기 모듈(509)은 이벤트 레지스터에 대한 인터페이스를 포함하며, 모듈들은 이들이 수신받기를 원하는 이벤트에 따라 등록될 수 있다. 또한 감시기 모듈(509)은 다른 소프트웨어 모듈에서 청취자에 대해 이용가능한 제어 이벤트를 생성한다.
2. 서버(Server)
서버 모듈(510)은 펜의 이벤트들의 좌표로 제공된다. 시스템의 상태 및 진입하는 이벤트들을 기초로 펜이 무엇을 수행하는지를 결정한다.
3. 이미지 프로세싱(Image Processing)
이미지 프로세싱 모듈(504)은 하기에 상세히 설명하지 않는다. 이에 대한 예들은 출원인의 이전 공보들에 따라 구현될 수 있다: US 2003/0053699, US 2003/0189664, US 2003/0118233, US 2002/0044138, US 6,667,695, US 6,732,927, US 6,929,183, US 2003/0128194 및 이들의 참조문.
4. 위치 데이터베이스(Position database)
펜은 펜의 메모리 블록(212)(도 2)에 제공되며 통신 인터페이스(218)(도 2)를 통해 편집 또는 업데이트될 수 있는 위치 데이터베이스(511)를 포함한다. 위치 데이터베이스(511)는 번역기 모듈(506)에 의해 사용되며 템플릿 인덱스에 의해 제공되는 템플릿 및 선택적으로 하나 이상의 기능 속성과 각각의 세그먼트를 관련시키는 세그먼트 데이터베이스(511A)를 포함한다. 세그먼트 데이터베이스(511A)는 빠른 액세스를 위해 RAM 메모리에 적절히 저장된다. 또한 위치 데이터베이스(511)는 펜의 비휘발성 메모리에 특성으로서 저장될 수 있는 템플릿 정의에 대해 포인터와 템플릿 인덱스를 관련시키는 템플릿 데이터베이스(511B)를 포함한다. 이러한 템플릿 정의는 페이지 X 크기(16비트), 페이지 Y 크기(16비트), 페이지 넘버(16비트), 피드겟 넘버(16비트), 피드겟 리스트(피드겟 롱 넘버)를 포함할 수 있다. 피드겟 리스트는 피드겟 넘버로 구성된다. 각각의 피드겟은 피드겟 ID(16비트, 상위 8개는 타입이며, 하위 8개는 넘버임), X 상위 좌측 좌표(16비트), Y 상위 좌측 좌표(16비트), 폭(16비트), 높이(16비트)에 의해 정의될 수 있다.
5. 번역기(Translator)
앞서 언급된 번역기 모듈(506)은 글로벌 위치들을 로직 위치들로 번역하도록 공지된 패턴 형성 데이터를 기초로 한 알고리즘을 이용한다. 패턴 형성 데이터는 코딩 패턴의 계층적 분할을 패턴 페이지(도 1)에 정의한다. 패턴 형성 데이터의 일부는 펜에 미리 저장될 수 있는 반면, 나머지 부분들은 펜의 위치 데이터베이스(511)로부터 동적으로 유도될 수 있다. 예를 들어, 모든 세그먼트가 예정된 크 기를 갖는 경우, 글로벌 위치는 상기 글로벌 위치의 현재 세그먼트를 식별하도록 처리될 수 있다. 현재 세그먼트를 인지함으로써, 분할에 따른 데이터가 위치 데이터베이스(511)의 템플릿 정의로부터 유도되어, 글로벌 위치가 현재의 쉘프(shelf), 북, 페이지, 및 로컬 위치, 즉 전체 로직 위치를 식별하도록 추가로 처리될 수 있다. 일반적으로 펜이 소정 시간 동안 하나의 동일한 패턴 ㅔ이지상에서 동작할 경우, 중요한 스피드업은 글로벌 위치에서 현재 패턴 페이지의 경계를 저장하고, 이들 경계에 대한 임의의 새로운 글로벌 위치를 검사함으로써 달성될 수 있다. 새로운 글로벌 위치들이 경계내에 있는 동안, 페이지 어드레스의 재계산에 대한 필요성이 소거된다.
또한 번역기 모듈(506)은 임의의 기록된 위치들이 위치 데이터베이스(511)에 의해 제공되는 관련 템플릿 정의에 대한 로직 위치들을 맵핑함으로써, 현재 패턴 페이지 상의 피드겟 내에 있는지 여부를 검출한다. 일 실시예에서, 단지 하나의 피드겟이 각각의 스트로크에 대해 식별될 수 있다, 즉, 몇 개의 피드겟이 식별될 경우, 단지 최종 피드겟만이 고려된다. 다음 해당 피드겟 이벤트는 다른 소프트웨어 모듈에 대한 통지(notification)를 위해 생성된다. 아무런 피드겟이 식별되지 않는다면, 위치는 드로잉 영역 내에 있는 것으로 가정된다.
또한 번역기 모듈(506)은 현재 세그먼트가 임의의 기능 속성들과 관련되는지를 검출한다. 해당 속성 이벤트가 생성되며 다른 소프트웨어 모듈에 대한 각각의 기능 속성을 표시하도록 통지된다.
따라서, 각각의 글로벌 위치에 대해, 번역기 모듈(506)은 적어도 페이지 어 데레스 및 로컬 위치를 제공하며, 속성 표시기를 제공할 수도 있다. 위치들 각각의 일시적인 코히런스 시퀀스에 대해, 즉, 스트로크에 대해, 번역기 모듈(506)은 피드겟 ID를 제공할 수 있다. 각각의 로직 위치는 제어 유니트(210)(도 2)의 타이밍 회로에 의해 제공되는 타임스탬프, 및 콘택 센서(216)에 의해 제공되는 힘 값과 관련된다. 유사하게, 타임스탬프와 각각의 피드겟 ID가 관련된다. 또한, 다른 모듈들이 템플릿, 기능 속성 및 피드겟에 대한 위치 데이터베이스(511)에서 정보를 검사하도록 허용하는 인터페이스를 포함할 수 있다.
6. 좌표 관리기(Coordinate Manager)
좌표 관리기 모듈(508)은 번역기 모듈(506)로부터 로직 위치들을 수신한다. 저장 이전에, 일시적 코히런트 시퀀스, 즉, 스트로크로 로직 위치들이 그룹화된다. 다음 좌표 관리기 모듈(508)은 압축을 위해 각각의 스트로크를 예비처리하고 비휘발성 메모리에 결과를 저장할 수 있다. 이러한 압축 및 저장의 예는 US 2003/0123745 및 US 2003/0122802에 개시된다.
좌표 관리기 모듈(508)은 예를 들어, 페이지 어드레스를 기초로 저장된 스트로크에 대해 검사하고, 오프라인 수송 포맷의 스트로크를 검색하기 위해 다른 모듈들에 대한 인터페이스를 포함한다. 일 실시예에서, 오프라인 수송 포맷은 2진수이며 각각의 스트로크에 대한 시작 시간, 각각의 스트로크의 로컬 위치, 및 각각의 위치에 대한 힘 값의 데이터를 포함한다.
선택적으로, 오프라인 수송 포맷은 위치들을 기록하는 동안 펜의 3차원 배향을 나타내기 위해 포착된 이미지들로부터 유도되는 배향 데이터를 포함할 수 있다.
7. 스트리머(Streamer)
번역기 모듈(506)로부터 로직 위치를 수신하도록 작동할 수 있는 스트리머 모듈(508')은 접속이 끊긴(disconnected), 접속중인(connecting) 및 접속된(connected)과 같이 3개의 내부 상태를 갖는다. 노출 모듈(516)(하기 참조)에 의해 생성되는 접속중인, 접속된 및 접속 결함 이벤트들을 기초로 각각의 상태가 기입된다.
접속이 끊긴 상태에서, 펜 시스템 소프트웨어는 오프라인 모드에 있게 된다. 접속중인 상태에서, 스트리머 모듈(508')은 메모리 블록(212)(도 2)에 포함된 버퍼 메모리(통상적으로 RAM)의 번역기 모듈(506)에 의해 출력되는 모든 로직 위치들을(힘 값 및 타임스탬프와 함께) 순차적으로 저장한다. 접속중인 상태의 기간은 통상적으로 약 1-10초이다. 접속된 상태에서, 스트리머 모듈(508')은 예정된 2진수 온라인 수송 포맷에 따라 온라인 데이터를 생성한다. 일 실시예에서, 상기 포맷은 3개의 상이한 메세지를 포함한다:
NewSession(타임스탬프, 펜 식별자)
NewPosition(타임스탬프, 페이지 어드레스, 위치, 힘 값)
PenUp(타임스탬프)
스트리머 모듈(508')은 접속된 이벤트의 검출에 따른 NewSession 메세지를 생성하며 온라인 접속이 설정될 때의 시간을 반영하는 타임스탬프를 포함한다. 다음 스트리머 모듈(508')은 하나의 로직 위치, 힘 값 및 타임 값을 각각 포함하도록 NewPosition 메세지를 생성한다. 타임 값은 원래의 이미지가 펜 카메라 시스템에 의해 포착될 때의 시간을 반영한다. 각각의 NewPosition 메세지는 앞서 언급된 배향 데이터를 포함할 수 있다. 콘택 센서(216)(도 2)에 의해 표시된 것처럼, 기록 표면과 펜의 접촉이 이동함에 따라, 스트리머 모듈(508')은 PenUp 메세지를 생성한다.
선택적 실시예에서, 페이지 어드레스는 각각의 펜 스트로크에 대해 단지 한번 출력된다. 전송되는 데이터의 양을 보다 더 감소시키기 위해, 로컬 위치들은 재샘플링 기준(resampling criterion)에 따른 각각의 펜 스트로크로부터 소거되고/소거되거나 각각의 로컬 위치는 동일한 스트로크에서 선행하는 로컬 위치에 대해 상이한 값으로 제공될 수 있으며, 이는 앞서 언급된 US 2003/0123745 및 US 2003/0122802에 일례로 개시된다.
스트리머 모듈(508')은 항상 이미지 프로세싱 모듈(504)에 의해 생성되는 순서로 로직 위치를 처리한다. 따라서, 먼저, 접속중인 상태 동안 버퍼 메모리에 저장된 위치들을 검색하고 처리한 다음, 버퍼 메모리에서 중간 저장을 경유하는 것이 요구될 경우 순차적으로 생성된 위치들을 처리한다.
펜 제어 시스템이 차단 또는 오프라인 모드로 전환하도록 지시된다면, 스트리머 모듈(508')은 버퍼 메모리의 모든 데이터가 처리될 때까지 접속된 상태로 유지되어, 노출 모듈(516)이 온라인 접속에 대해 상기 데이터를 출력하게 된다. 접속 결함 이벤트가 접속중인 상태의 스트리머 모듈(508')에 의해 수신될 경우, 스트리머 모듈은 버퍼 메모리로부터 모든 데이터를 삭제하도록 동작한다.
온라인 수송 포맷은 수신 장치가 각각, 접속중인 상태 및 접속된 상태 동안 생성된 데이터를 식별하도록 허용한다. 접속중인 상태 동안 기록된 위치들의 타임스탬프는 NewSession 메세지의 타임스탬프를 선행하는 반면, 접속된 상태 동안 기록된 위치들의 타임스탬프는 NewSession 메세지 타임스탬프로 이어진다. 선택적으로 또는 부가적으로, 비트(bit) 값은 데이터가 버퍼링되는지 버퍼링되지 않는지 여부를 나타내도록 각각의 NewPosition 메세지에 포함될 수 있다.
8. 파라미터 저장(Parameter Storage)
또한 펜 시스템은 파라미터 저장 모듈(512)을 포함한다. 펜 차단 이후의 상태를 유지하기 위한 조건을 갖는 다른 모든 모듈들은 이들의 상태 파라미터들을 저장하기 위해 상기 모듈을 호출한다. 또한 파라미터 저장 모듈(512)은 제조시 독특한(unique) 펜 특성(펜 식별자, 등) 또는 교정 파라미터, 및 템플릿 정의와 같은 펜-상주 파라미터 세트를 처리한다. 각각의 파라미터는 비휘발성 메모리에 이름, 크기 및 데이터로 저장된다. 모듈(512)은 파라미터들의 삽입, 검색 및 삭제를 위한 인터페이스(512')를 제공한다.
9. 파일 어셈블리(File Assembly)
파일 어셈블리 모듈(514)은 펜 외측의 데이터 핸들러에 노출되는 파일 오브젝트(300)(도 3A)를 생성하도록 구현된다. 모듈(514)은 트리거 피드겟 이벤트와 같은 전용(dedicated) 이벤트를 청취하도록 구현된다. 전용 이벤트의 검출에 따라, 2진 오프라인 수송 포맷에서, 트리거 피드겟과 관련된 스트로크가 좌표 관리기 모듈(508)로부터 검색된다.
결과적으로, 파일 어셈블리 모듈(514)의 기능은 정제 레벨(level of refinement)과 관련된다. 상기 단계들은 레벨 1 정제에 대해 충분하다.
레벨 2 정제에 대해, 펜 시스템은 제공된 스트로크 세트를 메모리 블록(212)(도 2)의 픽쳐 버퍼로 전송하는 스트로크 변환기 모듈(미도시), 및 픽쳐 버퍼를 예를 들어 비트맵 포맷 또는 벡터 그래픽 포맷과 같은 주어진 형태의 이미지로 인코딩하는 픽쳐 인코더를 포함할 수 있다.
레벨 3 정제에 대해, 모듈(514)은 트리거 피드겟과 관련된 다른 피드겟에 의해 제공된 다른 모듈들(개시되지 않음)로부터 데이터 아이템을 검색할 수 있다. 이러한 데이터 아이템은 펜 스트로크의 손으로 기입된 인식(HWR, handwriting recongnition)으로부터 야기되는 머신-코딩 문자, 펜 메모리로부터 검색된 머신-코딩 문자, 펜 메모리로부터 검색된 통신 어드레스 등을 포함할 수 있다.
또한 모듈(514)은 바코드 데이터, OCR 텍스트, 오디오, 이미지 등과 같이, 파일 오브젝트에 포함되는 임의의 독립적인 데이터를 검색할 수 있다.
마지막으로, 모듈은 인터페이스(514')를 통해 다른 모듈들에 대해 이용가능하게 구성된 파일 오브젝트(300)(도 3A)를 생성한다.
이러한 파일 오브젝트는 예를 들어 하기의 구조를 가질 수 있다 :
File Header(트리거 피드겟 ID, 페이지 어드레스, 페이지 넘버, 추가 데이터 아이템 넘버)
Page data header(페이지 어드레스, 피드겟 넘버)
page data(오프라인 수송 포맷에서 스트로크 데이터)
pidget data(피드겟 ID(들), 타임스탬프(들))
Additional data(펜-상주 파라미터 값(들), 피드겟들로부터 야기되는 데이터 아이템, 독립형 데이터)
파일 오브젝트는 애플리케이션 프로그램(308)(도 3A), 및 선택적으로 프름 제어기(306)가 모든 또는 선택된 부분들을 식별하고 추출하게 허용한다.
파일 오브젝트에 포함되는 스트로크의 선택은 트리거 피드겟 ID가 포함된 콘텐트 정보로부터 결정될 수 있다. 예를 들어, 이러한 콘텐트 정보는 현재 패턴 페이지 또는 북을 나타낼 수 있다, 즉, 선택된 스트로크는 트리거 피드겟과 동일한 패턴 페이지 세트에 속해야 한다. 명백하게, 스트로크들을 선택하는 선택적 방법이 있다. 예를 들어, 스트로크들은 전용 펜 스트로크에 의해 한정된 경계 영역내에서 선택될 수 있다(즉, 펜은 노출되는 펜을 나타내기 위해 제품 상에서 이동한다). 또 다른 예에서, 스트로크들은 패턴 페이지와 관련된 속성들의 분류에 따라 선택될 수 있다. 예를 들어, 스트로크들은 앞서 언급된 FORMS 속성과 관련된 모든 패턴 페이지로부터 선택될 수 있다. 또 다른 예에서, 펜 메모리의 모든 스트로크는 노출을 위해 자동적으로 선택되며, 적절하게 하나의 파일 오브젝트는 각각의 패턴 페이지 또는 북에 대해 생성된다.
따라서 선택된 모든 스트로크는 파일 오브젝트에 통합될 수 있다. 선택적으로, 피드겟들로 표시되지 않는 스트로크들만이 파일 오브젝트에 통합된다.
10. 노출(Exposure)
노출 모듈(516)은 펜 외측의 데이터 핸들러에 수집된 데이터를 제공하도록 제공된다. 모듈은 트리거 피드겟 이벤트 또는 STREAMING 속성 이벤트와 같은, 전 용 이벤트를 청취하도록 구현된다.
트리거 피드겟 이벤트의 검출에 따라, 파일 어셈블리 모듈(514)로부터의 파일 오브젝트가 검색되며 예를 들어 트리거 피드겟 또는 장치 선택 피드겟에 의해 제공되는 특정 장치/포트로 파일을 푸싱함으로써, 또는 외부 데이터 팬들러가 펜으로부터 파일 오브젝트를 당기도록 허용함으로써 파일 오브젝트가 노출된다. 예를 들어, 파일 오브젝트는 펜 메모리의 파일 시스템에 저장될 수 있으며, 파일 시스템은 외부 데이터 핸들러에 노출된다. 예를 들어, 파일 시스템은 USB(Universal Serial Bus), 블루투스
Figure 112007038831082-PCT00001
, FTP(File Transfer Protocol), HTTP(Hypertext Transfer Protocol) 또는 다른 임의의 적절한 프로토콜을 통한 브라우징을 위해 노출될 수 있다.
STREAMING 속성 이벤트의 검출에 따라, 노출 모듈(516)은 특정 수신 장치에 대한 온라인 접속을 개시하며 접속중인 이벤트를 생성한다. 접속이 설정될 때, 접속된 이벤트가 생성되며 순차적으로 스트리머 모듈(508')에 의해 생성된 메세지의 출력이 시작된다. 타임아웃 주기에서 수신 장치와의 접속이 실패될 경우, 접속 실패 이벤트가 생성된다.
노출 모듈(516)은 모든 필요한 프로토콜 스택을 포함하며, 개별 모듈에 할당되는 링크의 설정 능력(responsibility of setting up) 및 장치 추상(abstration)을 실행함으로써, 전송 수단이 독립되게 설계된다. 링크 설정 능력은 링크 선택 모듈(미도시)에 할당된다. 링크 선택 모듈은 통신 링크의 선택 및 설정을 처리한다.
본 발명은 주로 몇 가지 실시예를 참조로 설명하였다. 그러나 당업자들이 쉽게 인식하는 바와 같이, 앞서 개시된 실시예들 이외의 실시예들이 하기 첨부되는 본 발명의 특허청구범위에 의해 한정 및 제한되는 본 발명의 사상 및 범위 내에서 등가적으로 구현될 수 있다.
예를 들어, 이벤트들은 사용자가 펜의 버튼을 누르거나 또는 펜의 마이크로폰에 의해 기록되도록 구두 명령(verval command)을 발행함으로써 펜 제어 시스템에서 생성될 수 있다. 따라서, 트리거 피드겟 이벤트 또는 임의의 기능 속성 이벤트는 이러한 이벤트에 의해 교체 또는 보충될 수 있다.
상기 실시예들에서, 추상 패턴의 분할은 동적이며, 로직 위치들은 펜의 위치 데이터베이스를 기초로 계산된다. 선택적 실시예에서, 추상 패턴의 분할은 패턴에서의 인코딩에 의해 정적일 수 있다. 예를 들어, US 6, 330, 976호는 제품 표면 위에 코딩 셀들이 배치되는 코딩 패턴을 개시하며, 각각의 셀은 로컬 위치 및 페이지 식별자 모두를 코딩한다. 이러한 패턴은 하나 이상의 플래그 비트가 패턴에 인코딩됨에 따라 기능 속성을 구현할 수 있다. 패턴이 디코딩됨으로써, 펜은 그의 로직 위치 및 선택적으로 기능 속성을 직접적으로 검출할 수 있다.
또한 펜은 가속도계, 롤러 볼, 삼각측량(triangulation) 장치 등과 같은 비교 위치설정을 위한 보완 장비를 포함할 수 있다. 따라서, 펜은 보완 장비에 의헤 제공되는 비교 위치에 따라 위치 코드로부터 유도된 절대 위치를 보완할 수 있다. 이 경우, 위치 코드는 제품 상에서 소수의 절대 위치의 코딩 만을 요구한다.
또한, 펜 시스템 소프트웨어는 상이한 소프트웨어 모듈들 간의 임의의 기능 분포에 기초한다. 예를 들어, 몇 개 모듈의 기능은 단일 모듈, 예를 들어 노출 모듈의 기능을 구현하는 서버 모듈에 의해 구현될 수 있다. 사실, 펜 시스템 소프트웨어는 개별 모듈을 구성할 필요가 없다.
마찬가지로, 이벤트들의 신호화는 생략되거나 또는 감소될 수 있다. 이러한 일 실시예에서, 속성 이벤트는 생략된다. 대신, 번역기 모듈은 모든 로직 위치를 좌표 관리기 모듈 및 스트리머 모듈 모두에 공급한다. 번역기 모듈이 DO_NOT_STORE 속성을 검출할 때마다, 관련된 로직 위치는 단지 스트리머 모듈에만 공급된다. 스트리머 모듈은 임의의 수신된 로직 위치가 STREAMING 속성에 관련되는지를 검사하기 위해 번역기 인터페이스를 연속적으로 액세스한다. 이러한 속성의 검출에 따라, 스트리머는 노출 모듈이 온라인 접속을 개시하게 한다.
또한, 펜은 본 명세서에 개시된 것 이외의 다른 방법으로 오프라인 데이터를 출력할 수 있다. 예를 들어, 펜은 수신 장치와 단-대-단(end-to-end) 통신을 설정하고, 수신 장치에 대한 http 리퀘스트의 일부로서 오프라인 데이터를 출력할 수 있다. 이러한 통신에 대한 프로토콜은 본 명세서에서 참조되는 출원인의 특허 공보 US 2003/0055865에 상세히 개시된다.

Claims (36)

  1. 전자 펜 장치에서의 방법으로서,
    제품 표면의 이미지들을 수신하는 단계;
    상기 이미지들로부터 데이터를 추출하는 단계; 및
    온라인 프로세스 및 오프라인 프로세스에서 상기 선택된 데이터를 선택적으로 처리하는 단계
    를 포함하며, 상기 온라인 프로세스는 상기 장치의 통신 인터페이스 상에 상기 추출된 데이터를 순차적으로 제공하도록 동작하며,
    상기 오프라인 프로세스는 상기 펜 장치의 내부 저장기에 상기 추출된 데이터를 저장하고 상기 통신 인터페이스 상에 비-순차적인 순서로 상기 추출된 데이터를 선택적으로 저장하도록 동작하는, 방법.
  2. 제 1 항에 있어서,
    상기 온라인 프로세스는 상기 추출하는 단계와 본질적으로 실시간으로 상기 통신 인터페이스 상에 추출된 데이터를 제공하도록 동작하는 것을 특징으로 하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 추출된 데이터는 위치들을 포함하며, 각각의 위치는 위치 영역 식별자 와 관련되며, 상기 비-순차적 순서로 추출된 데이터는 위치 영역 식별자에 의해 대조되는 것을 특징으로 하는 방법.
  4. 제 1 항 내지 제 3 항중 어느 한 항에 있어서,
    상기 오프라인 프로세스는 컴퓨터 파일 시스템에서의 저장에 적합한 적어도 하나의 자동화 데이터 파일 프로젝트에 상기 추출된 데이터를 제공하도록 동작하는 것을 특징으로 하는 방법.
  5. 제 1 항 내지 제 4 항중 어느 한 항에 있어서,
    상기 오프라인 프로세스는 전용 트리거 이벤트의 검출시에만 상기 추출된 데이터가 선택적으로 제공되도록 동작하는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    상기 전용 트리거 이벤트는 외부 장치에 접속된 통신 인터페이스, 또는 상기 이미지들중 적어도 하나의 이미지에서 검출된 예정된 패턴으로부터 야기되는 것을 특징으로 하는 방법.
  7. 제 1 항 내지 제 6 항중 어느 한 항에 있어서,
    상기 온라인 프로세스 및 상기 오프라인 프로세스중 적어도 하나는 상기 이미지들중 적어도 하나의 이미지에 예정된 패턴의 검출에 의해 선택되는 것을 특징 으로 하는 방법.
  8. 제 7 항에 있어서,
    디폴트에 의해 추출된 데이터는 상기 오프라인 프로세스에서 처리되며, 상기 검출은 상기 검출에 대해 순차적으로 검출된 데이터가 상기 온라인 프로세스에서 처리되게 하는 것을 특징으로 하는 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 검출을 나타내기 위해 전용 프로세싱 이벤트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 7 항 내지 제 9 항중 어느 한 항에 있어서,
    상기 온라인 프로세스는 상기 이미지들의 예정된 패턴의 상기 검출 동안에만 활성화되는 것을 특징으로 하는 방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 예정된 패턴은 상기 추출된 데이터로부터 검출되는 것을 특징으로 하는 방법.
  12. 제 7 항 내지 제 11 항중 어느 한 항에 있어서,
    상기 추출된 데이터는 글로벌 좌표 시스템의 위치를 포함하며, 상기 방법은 상기 펜 장치의 메모리에 저장된 정의 데이터에 대해 상기 위치들중 적어도 하나를 맵핑함으로써 프로세스 표시기를 유도하는 단계를 더 포함하며, 상기 예정된 패턴은 상기 프로세스 표시기로부터 검출되는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 정의 데이터는 상기 글로벌 좌표 시스템에서 개별적으로 어드레스가능한 위치 영역을 나타내며, 각각의 위치 영역은 위치 영역 식별자와 관련되며, 상기 프로세스 표시기는 상기 위치 영역 식별기를 포함하는 것을 특징으로 하는 방법.
  14. 제 12 항에 있어서,
    상기 정의 데이터는 글로벌 좌표 시스템에서 개별적으로 어드레스가능한 위치 영역을 나타내며 기능 속성과 이러한 위치 영역 세트를 관련시키며, 상기 프로세스 표시기는 상기 기능 속성을 포함하는 것을 특징으로 하는 방법.
  15. 제 7 항에 있어서,
    상기 온라인 프로세스는 상기 통신 인터페이스 상의 비순차적 순서로 상기 추출된 데이터를 선택적으로 제공하는 오프라인 프로세스에 의해 활성화되는 것을 특징으로 하는 방법.
  16. 제 1 항 내지 제 15 항중 어느 한 항에 있어서,
    상기 오프라인 프로세스는 상기 추출된 데이터를 기초로 상기 펜 장치에 의해 실행되는 기능을 식별하도록 동작가능한 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서,
    상기 기능은 상기 펜 장치의 MMI의 활성화를 야기시키는 명령을 포함하는 것을 특징으로 하는 방법.
  18. 제 1 항 내지 제 17 항중 어느 한 항에 있어서,
    상기 온라인 프로세스는 상기 통신 인터페이스 상에서 피드백 명령을 수신하고, 상기 피드백 명령을 기초로 상기 펜 장치의 MMI를 활성화시키도록 동작가능한 것을 특징으로 하는 방법.
  19. 제 1 항 내지 제 18항중 어느 한 항에 있어서,
    상기 온라인 프로세스는 상기 통신 인터페이스를 통해 외부 장치에 접속의 개시와 설정 사이에 취해지는 이미지로부터 추출된 데이터를 상기 펜 장치의 버퍼 메모리에 저장하도록 동작가능하며, 상기 설정 이후, 상기 버퍼 메모리에 저장된 데이터 및 상기 통신 인터페이스를 통해 상기 외부 장치에 상기 설정을 수반하는 추출된 데이터를 제공하는 것을 특징으로 하는 방법.
  20. 제 19 항에 있어서,
    상기 온라인 프로세스는 상기 접속 설정이 실패될 경우 상기 버퍼 메모리에 저장된 데이터를 소거하도록 동작가능한 것을 특징으로 하는 방법.
  21. 제 19 항 또는 제 20 항에 있어서,
    상기 온라인 프로세스는 상기 통신 인터페이스를 통해 버퍼 표시기를 제공하도록 동작가능하며, 상기 버퍼 표시기는 상기 설정 이전에 상기 버퍼 메모리에 저장된 상기 추출된 데이터를 식별하는 것을 특징으로 하는 방법.
  22. 제 21 항에 있어서,
    상기 버퍼 표시기는 통신 인터페이스 상에 제공되는 추출된 데이터에 포함된 각각의 데이터 아이템에 대한 포착(capture) 타임스탬프, 및 접속 타임스탬프를 포함하며, 상기 포착 타임스탬프는 상기 데이터 아이템이 상기 이미지에 기록될 때의 시간을 나타내며 상기 접속 타임스탬프는 상기 접속의 설정을 위한 시간을 나타내는 것을 특징으로 하는 방법.
  23. 제 1 항 내지 제 22 항중 어느 한 항에 있어서,
    상기 온라인 프로세스는 상기 통신 인터페이스를 통해 외부 장치에 접속 설정을 위한 시간을 나타내는 접속 타임스탬프를 포함하는 세션(session) 메세지를 제공하는 것을 특징으로 하는 방법.
  24. 제 23 항에 있어서,
    상기 세션 메세지는 상기 펜 장치를 독특하게 식별하는 펜 식별자를 더 포함하는 것을 특징으로 하는 방법.
  25. 제 1 항 내지 제 24 항중 어느 한 항에 있어서,
    상기 온라인 프로세스는 데이터 메세지 시퀀스로서 상기 추출된 데이터를 제공하며, 각각의 데이터 메세지는 상기 이미지들중 하나의 이미지로부터 추출된 데이터 아이템을 포함하는 것을 특징으로 하는 방법.
  26. 제 25 항에 있어서,
    각각의 데이터 아이템은 위치 및 위치 영역 식별자를 포함하는 것을 특징으로 하는 방법.
  27. 제 25 항 또는 제 26 항에 있어서,
    각각의 데이터 메세지는 상기 이미지가 선택될 때의 시간을 나타내는 타임스탬프를 더 포함하는 것을 특징으로 하는 방법.
  28. 제 25 항 내지 제 27 항중 어느 한 항에 있어서,
    각각의 데이터 메세지는 상기 펜 장치의 펜 팁과 관련된 힘 센서로부터 유도 된 힘 값을 포함하는 것을 특징으로 하는 방법.
  29. 제 25 항 내지 제 28 항중 어느 한 항에 있어서,
    각각의 데이터 메세지는 상기 메시지로부터 검출되며 상기 펜 장치의 3차원 배향을 나타내는 배향 데이터를 포함하는 것을 특징으로 하는 방법.
  30. 전자 펜 장치의 장치로서,
    상기 펜 장치의 이미지 센서에 의해 포착되는 제품 표면의 이미지들로부터 데이터를 추출하는 추출 프로세서; 및
    온라인 프로세스 및 오프라인 프로세스에서 추출된 데이터를 선택적으로 처리하는 데이터 프로세서
    를 포함하며, 상기 온라인 프로세스의 데이터 프로세서는 상기 펜 장치의 통신 인터페이스 상에 추출된 데이터를 순차적으로 제공하도록 동작하며,
    상기 오프라인 프로세스의 데이터 프로세서는 상기 펜 장치의 내부 저장기에 상기 추출된 데이터를 저장하고 상기 통신 인터페이스 상에 비순차적인 순서로 상기 추출된 데이터를 선택적으로 제공하도록 동작하는, 장치.
  31. 전자 펜 장치로서,
    제품 표면의 이미지들을 포착하는 이미지 센서;
    통신 인터페이스; 및
    청구항 제 1 항 내지 제 29 항중 어느 한 항에 따른 방법을 실행하는 프로세싱 장치
    를 포함하는, 전자 펜 장치.
  32. 코딩된 제품 표면과 상호작용하는 시스템으로서,
    제 31 항의 전자 펜 장치;
    상기 전자 펜의 통신 인터페이스와 접속을 설정하도록 동작하는 통신 인터페이스;
    제어기; 및
    피드백 장치
    를 포함하며, 상기 전자 펜 장치가 온라인 데이터를 제공할 때, 상기 제어기는 상기 통신 인터페이스를 통해 상기 펜 장치로부터 온라인 데이터를 수신하고 상기 온라인 데이터의 수신에 따라 실질적으로 실시간으로 상기 피드백 장치를 통해 피드백 데이터를 제공하도록 동작하는, 시스템.
  33. 제 32 항에 있어서,
    상기 펜 장치가 상기 온라인 데이터를 제공할 때, 상기 제어기는 상기 펜 장치에 의해 미리 제공되는 오프라인 데이터를 검색하도록 동작가능한 것을 특징으로 하는 시스템.
  34. 제 33 항에 있어서,
    상기 제어기는 상기 온라인 데이터를 기초로 검색되는 상기 오프라인 데이터를 식별하는 것을 특징으로 하는 시스템.
  35. 제 32 항 또는 제 33 항에 있어서,
    상기 제어기는 상기 검색된 오프라인 데이터 상에서 상기 온라인 데이터를 동작시키는 것을 특징으로 하는 시스템.
  36. 제 32 항 내지 제 35 항중 어느 한 항에 있어서,
    상기 접속의 기간은 상기 전자 펜 장치에 의해 제어되는 것을 특징으로 하는 시스템.
KR1020077012000A 2004-11-05 2005-11-07 전자 펜의 데이터 관리 방법 및 장치 KR101229566B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US62516704P 2004-11-05 2004-11-05
SE0402710-8 2004-11-05
SE0402710A SE0402710D0 (sv) 2004-11-05 2004-11-05 Management of internal logic for electronic pens
US60/625,167 2004-11-05
SE0501265 2005-06-02
SE0501265-3 2005-06-02
US68733205P 2005-06-06 2005-06-06
US60/687,332 2005-06-06
PCT/SE2005/001663 WO2006049573A1 (en) 2004-11-05 2005-11-07 Method and device for data management in an electronic pen

Publications (2)

Publication Number Publication Date
KR20070064682A true KR20070064682A (ko) 2007-06-21
KR101229566B1 KR101229566B1 (ko) 2013-02-05

Family

ID=36319459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077012000A KR101229566B1 (ko) 2004-11-05 2005-11-07 전자 펜의 데이터 관리 방법 및 장치

Country Status (4)

Country Link
US (1) US20080094377A1 (ko)
EP (1) EP1815314B1 (ko)
KR (1) KR101229566B1 (ko)
WO (1) WO2006049573A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007141204A1 (en) 2006-06-02 2007-12-13 Anoto Ab System and method for recalling media
DE212007000046U1 (de) * 2006-06-28 2009-03-05 Anoto Ab Betriebssteuerung und Datenverarbeitung in einem elektronischen Stift
WO2009136798A1 (en) * 2008-05-08 2009-11-12 Achieveperformance As Daily management system
KR101623214B1 (ko) * 2010-01-06 2016-05-23 삼성전자주식회사 다기능 펜 및 다기능 펜의 사용 방법
EP2428874A1 (en) 2010-07-06 2012-03-14 Anoto AB Electronic pen communication
WO2013018614A1 (ja) * 2011-07-29 2013-02-07 日本電気株式会社 照合・検索システム、照合・検索サーバ、画像特徴抽出装置、照合・検索方法及びプログラム
US20170220234A1 (en) * 2014-07-31 2017-08-03 Hewlett-Packard Development Company, Lp Implicitly grouping annotations with a document
IT202000006793A1 (it) * 2020-03-31 2021-10-01 Milano Politecnico Strumento di scrittura, sistema e metodo per il monitoraggio e l'analisi trasparente della scrittura

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) * 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
US5140139A (en) * 1989-11-13 1992-08-18 Cognitronics Corporation Preparing mark/read documents with markable boxes and locating the boxes from the document scan data
US5060980A (en) * 1990-05-30 1991-10-29 Xerox Corporation Form utilizing encoded indications for form field processing
US5661506A (en) * 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
JPH0944591A (ja) * 1995-08-03 1997-02-14 Olympus Optical Co Ltd コードシート及び情報再生装置
WO1999050736A1 (en) 1998-04-01 1999-10-07 Xerox Corporation Paper indexing of recordings
US6178308B1 (en) * 1998-10-16 2001-01-23 Xerox Corporation Paper based intermedium for providing interactive educational services
US7091959B1 (en) * 1999-03-31 2006-08-15 Advanced Digital Systems, Inc. System, computer program product, computing device, and associated methods for form identification and information manipulation
US7038797B1 (en) * 1999-05-25 2006-05-02 Silverbrook Research Pty Ltd Method and system for delivery of mail
JP4785310B2 (ja) * 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
US7710408B2 (en) * 1999-08-30 2010-05-04 Anoto Ab Centralized information management based upon position information
SE0000949L (sv) * 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
US7072529B2 (en) * 2000-03-21 2006-07-04 Anoto Ab Systems and methods for information storage
US7457413B2 (en) * 2000-06-07 2008-11-25 Anoto Ab Method and device for encrypting a message
US7202963B2 (en) * 2001-06-28 2007-04-10 Anoto Ab Method for processing information
US7249256B2 (en) * 2001-07-11 2007-07-24 Anoto Ab Encryption protocol
US7353393B2 (en) * 2001-09-07 2008-04-01 Anoto Aktiebolag (Anoto Ab) Authentication receipt
US7236177B2 (en) * 2001-12-04 2007-06-26 Qualcomm Incorporated Processing digital video data
SE520682C2 (sv) * 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
SE520748C2 (sv) * 2001-12-27 2003-08-19 Anoto Ab Aktivering av produkter med inbäddad funktionalitet i ett informationshanteringssystem
US7492787B2 (en) * 2002-03-29 2009-02-17 Fujitsu Limited Method, apparatus, and medium for migration across link technologies
US7031709B2 (en) * 2002-04-05 2006-04-18 Ntt Docomo, Inc. Method and associated apparatus for increment accuracy of geographical foreign agent topology relation in heterogeneous access networks
SE0201724L (sv) 2002-06-05 2003-12-06 Anoto Ab Sätt att hantera information
WO2005029380A1 (ja) * 2003-09-17 2005-03-31 Astellas Pharma Inc. 薬剤調査情報収集システム
US7342575B1 (en) * 2004-04-06 2008-03-11 Hewlett-Packard Development Company, L.P. Electronic writing systems and methods

Also Published As

Publication number Publication date
KR101229566B1 (ko) 2013-02-05
WO2006049573A1 (en) 2006-05-11
EP1815314B1 (en) 2014-09-03
EP1815314A1 (en) 2007-08-08
EP1815314A4 (en) 2010-12-29
US20080094377A1 (en) 2008-04-24

Similar Documents

Publication Publication Date Title
CN100573424C (zh) 用于电子笔中的数据管理的方法和器件
KR101229566B1 (ko) 전자 펜의 데이터 관리 방법 및 장치
US8982057B2 (en) Methods and systems for processing digitally recorded data in an electronic pen
KR101026630B1 (ko) 범용 컴퓨팅 장치
US20090002345A1 (en) Systems and Methods for Interacting with Position Data Representing Pen Movement on a Product
JP5084718B2 (ja) 位置コーディングパターンとバーコードの組合せ検出
US20080296074A1 (en) Data Management in an Electric Pen
US20100289776A1 (en) System, software module and methods for creating a response to input by an electronic pen
CN101416199A (zh) 用于移动装置的运动传感器字符生成
CN1855013A (zh) 用于识别数据输入终止的系统和方法
JP2008532139A (ja) 電子ペンにおける方法、コンピュータプログラム製品、および電子ペン
JP5244386B2 (ja) 電子ペンでのデータ管理
JP2009516261A (ja) 電子ペン装置における情報管理
JP2008505387A5 (ko)
US20070246539A1 (en) Data Processing in an Electric Pen
JP5256700B2 (ja) 端末装置及びそのプログラム
JP4973132B2 (ja) メッセージ表示システム及びプログラム
JP5810724B2 (ja) 端末装置、電子ペンシステム、及びプログラム
JP2008519326A (ja) 電子ペン用の内部ロジックの管理
JP2007219952A (ja) デジタルペンを用いたメッセージ処理システムとそれに用いるデータ処理装置
JP2008519325A (ja) 電子ペンにおけるデータ管理のための方法およびデバイス
JP2011180634A (ja) 端末装置、指示送信システム、及びプログラム
JP2012230722A (ja) 端末装置及びそのプログラム
JP4990704B2 (ja) 文書位置情報処理システム及び文書位置情報処理方法
JP4957296B2 (ja) 端末装置、処理システム及びプログラム

Legal Events

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

Payment date: 20151230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181019

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20190104

Year of fee payment: 7