KR20030061408A - 방향 감지 장치 - Google Patents

방향 감지 장치 Download PDF

Info

Publication number
KR20030061408A
KR20030061408A KR10-2003-7007008A KR20037007008A KR20030061408A KR 20030061408 A KR20030061408 A KR 20030061408A KR 20037007008 A KR20037007008 A KR 20037007008A KR 20030061408 A KR20030061408 A KR 20030061408A
Authority
KR
South Korea
Prior art keywords
pen
tag
netpage
page
sensing device
Prior art date
Application number
KR10-2003-7007008A
Other languages
English (en)
Other versions
KR100552018B1 (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 US09/722,088 external-priority patent/US7105753B1/en
Application filed by 실버브룩 리서치 피티와이 리미티드 filed Critical 실버브룩 리서치 피티와이 리미티드
Publication of KR20030061408A publication Critical patent/KR20030061408A/ko
Application granted granted Critical
Publication of KR100552018B1 publication Critical patent/KR100552018B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/19Image acquisition by sensing codes defining pattern positions

Abstract

표면과의 관계에서 배치나 이동이 이루어지면 감지 장치에 의하여 감지되면, 방향(orientation)을 지시하는 부호화된 데이터를 가지는 상기 표면과의 관계에서 상기 감지 장치의 상기 방향을 지시하는 방향 데이터를 생성하는 감지 장치로서, 하우징(housing)과; 적어도 약간의 상기 부호화된 데이터를 사용하는 상기 방향 데이터를 생성하도록 구성되는 방향 감지 수단; 및 상기 방향 데이터를 컴퓨터 시스템으로 통신하도록 구성되는 통신 수단을 포함하여 이루어지는 것을 특징으로 하는 감지 장치가 개시된다.

Description

방향 감지 장치{ORIENTATION SENSING DEVICE}
근래, 컴퓨터 시스템의 사용자는 전형적으로 정보를 표시하기 위한 모니터와 정보를 입력하기 위한 키보드 및/또는 마우스를 이용하여 그 시스템과 상호작용한다. 그러한 인터페이스는 강력하기는 하지만, 상대적으로 부피가 크고 휴대성이 없다. 종이에 인쇄된 정보는 읽기도 쉽고 컴퓨터 모니터 상에 표시되는 정보보다 더욱 휴대성도 있다. 그러나, 키보드나 마우스와는 달리, 종이 위의 펜은 일반적으로 컴퓨터 소프트웨어와 상호작용하는 능력이 부족하다.
본 발명의 목적은 종이 위의 펜과 컴퓨터 시스템의 장점을 결합하는 것이다.
본 발명은 컴퓨터와 상호작용하는 방법, 시스템 및 장치에 관한 것으로서, 보다 상세하게는 표면과의 관계에서 이동이나 배치가 이루어질 때의 표면에 대한 자신의 방향을 감지하는 감지 장치에 관한 것이다.
본 발명은 다수의 분산된 사용자로 하여금 인쇄물 및 광학 센서를 통하여 네트워크 정보와 상호 작용할 수 있도록 고속 네트워크 컬러 프린터를 통하여 언제든 대화형 인쇄물(interactive printed matter)을 획득하도록 하는 것을 주목적으로 하여 개발되어 왔다. 비록 본 발명이 대부분 이러한 용도와 관련하여 이하 서술될 것이지만, 본 발명이 이러한 분야의 용도로만 제한되는 것은 아니다.
[함께 계류중인 출원]
본 발명과 관련된 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 출원된 아래의 계류중인 출원에 개시되어 있다:
NPA060US, NPA061US, NPA081US, NPA082US, NPP010US, NPP013US,
NPP015US, NPP020US, NPP021US, NPP022US, NPP023US, NPS014US,
NPS015US, NPS017US, NPS018US, NPS022US, NPS027US, NPS028US,
NPT008US, BIN01US, BIN02US, BIN03US, BIN04US
계류중인 이들 출원의 개시 사항은 여기에서 상호 참조된다. 각 출원은 임시적으로 일람번호(docket number)로 표시하였다. 이 일람번호들은 대응하는 USSN(미국출원번호)이 부여되면 그 번호로 수정될 것이다.
본 발명과 관련된 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 2000년 10월 20일에 출원된 아래의 계류중인 출원에 개시되어 있다:
NPA011US, NPA031US, NPA040US, NPA046US, NPA053US, NPA059US,
NPA064US, NPB006US, NPS004US, NPS008US, NPS013US, NPS024US,
UP01US, UP02US, UP03US, UP04US, UP05US
계류중인 이들 출원의 개시 사항은 여기에서 상호 참조된다. 각 출원은 임시적으로 일람번호(docket number)로 표시하였다. 이 일람번호들은 대응하는 USSN(미국출원번호)이 부여되면 그 번호로 수정될 것이다.
본 발명과 관련된 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 2000년 9월 15일에 출원된 아래의 계류중인 출원에 개시되어 있다:
NPA024US, NPA025US, NPA047US, NPA049US
계류중인 이들 출원의 개시 사항은 여기에서 상호 참조된다. 각 출원은 임시적으로 일람번호(docket number)로 표시하였다. 이 일람번호들은 대응하는 USSN(미국출원번호)이 부여되면 그 번호로 수정될 것이다.
본 발명과 관련된 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 2000년 6월 30일에 출원된 아래의 계류중인 출원에 개시되어 있다:
NPA014US, NPA015US, NPA022US, NPA026US, NPA038US, NPA041US,
NPA050US, NPA051US, NPA052US, NPA063US, NPA065US, NPA067US,
NPA068US, NPA069US, NPA071US, NPA072US, NPB003US, NPB004US,
NPB005US, NPP019US, PEC04US, PEC05US, PEC06US, PEC07US
계류중인 이들 출원의 개시 사항은 여기에서 상호 참조된다. 각 출원은 임시적으로 일람번호(docket number)로 표시하였다. 이 일람번호들은 대응하는 USSN(미국출원번호)이 부여되면 그 번호로 수정될 것이다.
본 발명과 관련된 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 2000년 5월 23일에 출원된 아래의 계류중인 출원에 개시되어 있다:
NPA001US, NPA002US, NPA004US, NPA005US, NPA006US, NPA007US,
NPA008US, NPA009US, NPA010US, NPA012US, NPA016US, NPA017US,
NPA018US, NPA019US, NPA020US, NPA021US, NPA030US, NPA035US,
NPA048US, NPA075US, NPB001US, NPB002US, NPK002US, NPK003US,
NPK004US, NPK005US, NPM001US, NPM002US, NPM003US, NPM004US,
NPN001US, NPP001US, NPP003US, NPP005US, NPP006US, NPP007US,
NPP008US, NPP016US, NPP017US, NPP018US, NPS001US, NPS003US,
NPS020US, NPT001US, NPT002US, NPT003US, NPT004US, NPX001US,
NPX003US, NPX008US, NPX011US, NPX014US, NPX016US, IJ52US,
IJM52US, MJ10US, MJ11US, MJ12US, MJ13US, MJ14US,
MJ15US, MJ34US, MJ47US, MJ58US, MJ62US, MJ63US,
PAK04US, PAK05US, PAK06US, PAK07US, PAK08US, PEC01US,
PEC02US, PEC03US
계류중인 이들 출원의 개시 사항은 여기에서 상호 참조된다. 각 출원은 임시적으로 일람번호(docket number)로 표시하였다. 이 일람번호들은 대응하는 USSN(미국출원번호)이 부여되면 그 번호로 수정될 것이다.
본 발명의 바람직한 실시예 및 기타 실시예는 첨부된 다음과 같은 도면을 참조하여 발명을 제한하지 않는 예시적인 방법으로서 기술된다.
도 1은 인쇄된 넷페이지의 일례와 그 온라인 페이지 명세 간의 관계를 나타낸 개략도,
도 2는 넷페이지 펜, 넷페이지 프린터, 넷페이지 페이지 서버 및 넷페이지 애플리케이션 서버 간의 상호작용을 나타낸 개략도,
도 3은 네트워크를 통하여 상호접속된 넷페이지 서버 및 프린터의 집합을 나타낸 도면,
도 4는 인쇄된 넷페이지 및 그 온라인 페이지 명세의 하이 레벨 구조를 나타낸 개략도,
도 5a는 넷페이지 태그의 구조를 나타낸 평면도,
도 5b는 도 5a에 나타낸 태그의 집합 사이의 관계를 나타낸 평면도 및 넷페이지 펜 형상의 넷페이지 감지 장치의 영역을 나타낸 도면,
도 6a는 넷페이지 태그의 다른 구조를 나타낸 평면도,
도 6b는 도 6a에 나타낸 태그의 집합 사이의 관계를 나타낸 평면도 및 넷페이지 펜 형상의 넷페이지 감지 장치의 영역을 나타낸 도면,
도 6c는 이웃하는 태그 사이에서 타겟이 공유되는, 도 6a에 나타낸 태그의 9개의 배열을 나타낸 평면도,
도 6d는 도 6a에 나타낸 태그의 4코드워드 기호의 배치 및 회전을 나타낸 평면도,
도 7은 태그 이미지 처리 및 복호화 알고리즘의 흐름도,
도 8은 넷페이지 펜 및 이와 관련된 태그-감지 관찰-영역 원뿔(tag-sensing field-of-view cone)을 나타낸 투시도,
도 9는 도 8에 나타낸 넷페이지 펜을 분해한 투시도,
도 10은 도 8 및 도 9에 나타낸 넷페이지 펜을 위한 펜 제어기의 개략적인 블록도,
도 11은 벽면 장착형 넷페이지 프린터의 투시도,
도 12는 도 11의 넷페이지 프린터의 세로 단면도,
도 12a는 이중 프린트 엔진(duplexed print engines) 및 접착 휠 어셈블리(glue wheel assembly)의 단면을 나타낸 12의 부분 확대도,
도 13은 도 11 및 도 12의 넷페이지 프린터의 잉크 카트리지, 잉크, 공기와 접착제의 경로 및 프린트 엔진의 상세도,
도 14는 도 11 및 도 12의 넷페이지 프린터를 위한 프린터 제어기의 개략적인 블록도,
도 15는 도 14에 나타낸 프린터 제어기와 관련된 이중 프린트 엔진 제어기 및 멤젯(Memjet(상표)) 프린트 헤드의 개략적인 블록도,
도 16은 도 14 및 도 15에 나타낸 프린트 엔진 제어기의 개략적인 블록도,
도 17은 도 10 내지 도 12의 넷페이지 프린터 등에서 사용되는 단일 멤젯(상표) 인쇄 요소의 투시도,
도 18은 멤젯(상표) 인쇄 요소의 배열의 일부분의 투시도,
도 19는 도 13에 나타낸 멤젯(상표) 인쇄 요소의 동작 사이클을 나타낸 투시도,
도 20은 멤젯(상표) 프린트 헤드의 페이지 폭 만큼의 일부분을 나타낸 투시도,
도 21은 사용자 클래스도(user class diagram)의 개략도,
도 22는 프린터 클래스도(printer class diagram)의 개략도,
도 23은 펜 클래스도(pen class diagram)의 개략도,
도 24는 애플리케이션 클래스도(application class diagram)의 개략도,
도 25는 문서 및 페이지 명세 클래스도(document and page description class diagram)의 개략도,
도 26은 문서 및 페이지 소유권 클래스도(document and page ownership class diagram)의 개략도,
도 27은 터미널 요소 특정 클래스도(terminal element specialization class diagram)의 개략도,
도 28은 정적 요소 특정 클래스도(static element specialization class diagram)의 개략도,
도 29는 하이퍼링크 요소 클래스도(hyperlink element class diagram)의 개략도,
도 30은 하이퍼링크 요소 특정 클래스도(hyperlink element specialization class diagram)의 개략도,
도 31은 하이퍼링크된 그룹 클래스도(hyperlinked group class diagram)의 개략도,
도 32는 양식 클래스도(form class diagram)의 개략도,
도 33은 디지털 잉크 클래스도(digital ink class diagram)의 개략도,
도 34는 영역 요소 특정 클래스도(field element specialization class diagram)의 개략도,
도 35는 체크박스 영역 클래스도(checkbox field class diagram)의 개략도,
도 36은 텍스트 영역 클래스도(text field class diagram)의 개략도,
도 37은 서명 영역 클래스도(signature field class diagram)의 개략도,
도 38은 입력 처리 알고리즘의 흐름도,
도 38a는 도 38의 흐름도의 한 단계의 상세한 흐름도,
도 39는 페이지 서버 명령 요소 클래스도(page server command element class diagram)의 개략도,
도 40은 자원 명세 클래스도(resource description class diagram)의 개략도,
도 41은 즐겨찾기 목록 클래스도(favorites list class diagram)의 개략도,
도 42는 히스토리 목록 클래스도(history list class diagram)의 개략도,
도 43은 구독 배달 프로토콜(subscription delivery protocol)의 개략도,
도 44는 하이퍼링크 요청 클래스도(hyperlink request class diagram)의 개략도,
도 45는 하이퍼링크 활성화 프로토콜(hyperlink activation protocol)의 개략도,
도 46은 양식 제출 프로토콜(form submission protocol)의 개략도,
도 47은 수수료 지불 프로토콜(commission payment protocol) 의 개략도,
도 48은 기호를 이루는 한 세트의 방사상 쐐기(radial wedge)의 개략도,
도 49는 링 A 및 B 기호 할당 스킴의 개략도,
도 50은 제1 링 C 및 D 기호 할당 스킴의 개략도,
도 51은 제2 링 C 및 D 기호 할당 스킴의 개략도,
도 52는 삼각 태그 패킹의 개략도,
도 53은 20면체의 투시도,
도 54는 빈도 3의 20면체 측지선의 투시도,
도 55는 최소 태그 간격의 개략도,
도 56은 중복없는 최소 태그 간격의 개략도,
도 57은 태그 삽입의 제1 경우의 개략도,
도 58은 태그 삽입의 제2 경우의 개략도,
도 59는 태그 삽입의 제3 경우의 개략도,
도 60은 태그 삽입의 제4 경우의 개략도,
도 61은 표면과의 관계에서의 펜 방향의 개략도,
도 62는 펜 피칭 지오메트리의 개략도,
도 63은 펜 롤링 지오메트리의 개략도,
도 64는 펜의 물리축 및 광학축을 보여주는 펜 좌표공간의 개략도,
도 65는 굽은 펜촉 지오메트리의 개략도,
도 66은 샘플링 주파수와 태그 빈도 사이의 상호작용의 개략도,
도 67은 펜 광학 경로의 개략도,
도 68은 스트로크 캡처 알고리즘의 흐름도,
도 69는 미처리 디지털 잉크 클래스 다이어그램의 개략도,
도 70은 제1 내지 제10 방정식을 포함하는 표,
도 71은 제11 내지 제20 방정식을 포함하는 표,
도 72는 제21 내지 제26 방정식을 포함하는 표,
도 73은 제27 내지 제34 방정식을 포함하는 표,
도 74는 제35 내지 제41 방정식을 포함하는 표,
도 75는 제42 내지 제44 방정식을 포함하는 표,
도 76은 제45 내지 제47 방정식을 포함하는 표,
도 77은 제48 내지 제51 방정식을 포함하는 표,
도 78은 제52 내지 제54 방정식을 포함하는 표,
도 79는 제55 내지 제57 방정식을 포함하는 표,
도 80은 제58 내지 제59 방정식을 포함하는 표,
도 81은 제60 내지 제63 방정식을 포함하는 표,
도 82는 제64 내지 제74 방정식을 포함하는 표,
도 83은 제75 내지 제86 방정식을 포함하는 표,
도 84는 제87 내지 제99 방정식을 포함하는 표,
도 85는 제100 내지 제111 방정식을 포함하는 표,
도 86은 제112 내지 제120 방정식을 포함하는 표,
도 87은 제121 내지 제129 방정식을 포함하는 표,
도 88은 제64 내지 제71 방정식의 한 세트의 축중(縮重)한 형태를 포함하는 표,
도 89는 0 피치 및 0 롤링에 대한 조건과 특별한 취급을 포함하는 표의 제1 부분,
도 90은 도 89의 표의 제2 부분이다.
본 발명은 표면과의 관계에서 배치나 이동이 이루어지면, 감지 장치에 의하여 감지되면 방향(orientation)을 지시하는 부호화된 데이터를 가지는 상기 표면과의 관계에서 상기 감지 장치의 상기 방향을 지시하는 방향 데이터를 생성하는 감지 장치로서,
하우징(housing)과;
적어도 약간의 상기 부호화된 데이터를 사용하는 상기 방향 데이터를 생성하도록 구성되는 방향 감지 수단; 및
상기 방향 데이터를 컴퓨터 시스템으로 통신하도록 구성되는 통신 수단을 포함하여 이루어지는 것을 특징으로 하는 감지 장치에 관한 것이다.
실시예 중 하나에 있어서, 상기 방향 데이터는, 상기 표면과의 관계에서 상기 하우징의 요잉(yaw), 피칭(pitch) 및 롤링(roll) 중 적어도 하나를 지시한다.
바람직하게는, 상기 감지 장치가 상기 표면과의 관계에서 이동을 하면 이동 데이터(movement data)를 생성하는 동작 감지 수단(motion sensing means)을 더 포함하여 이루어지고, 상기 통신 수단은 상기 이동 데이터를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것이 좋다.
또한, 상기 감지 장치가 상기 표면의 일 영역(region)과의 관계에서 배치 또는 이동이 이루어지면 적어도 약간의 상기 부호화된 데이터를 이용하여, 상기 영역의 식별자(identity)를 가리키는 영역 식별 데이터를 감지하도록 구성되는 영역 식별자 감지 수단(region identity sensing means)을 더 포함하여 이루어지고, 상기 통신 수단은 상기 영역 식별자 데이터를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것이 바람직하다.
바람직하게는 상기 방향 감지 수단은 상기 하우징이 이동할 때 상기 표면과의 관계에서 상기 하우징의 상기 방향을 동적으로 탐지하는 것이 좋다. 상기 하우징은 사용자가 쥘 수 있는 길다란 형상을 가질 수 있다. 실시예 중 하나에 있어서,상기 하우징은 펜의 형상을 가질 수 있다. 상기 하우징에는 상기 표면에 표기를 하기 위한 표기용 펜촉이 함께 제공될 수도 있으나, 필수적인 것은 아니다.
동시에 방향과 이동 데이터를 캡처함으로써 상기 시스템은 사람의 서명을 검증하는 데에 사용될 수 있다. 또는, 동적으로 측정되는 방향 신호에 힘입어 상기 하우징이 조이스틱으로서 사용될 수도 있다. 예를 들어, 그러한 조이스틱은 3차원 소프트웨어 애플리케이션과 함께 사용될 수 있다. 상기 방향 감지 수단이 3차원의 모든 방향에서 상기 하우징의 방향을 감지하는 것이 필수적인 것은 아님을 주목하여야 한다. 일부 애플리케이션은 3차원 방향 정보를 필요로 하지 않을 수도 있으므로, 피칭(pitch)만을 탐지해도 충분한 경우도 있다. 예를 들어, 상기 하우징은 피칭을 0°와 90°의 사이에서 변화시킴으로써 전등의 광량이나 스피커의 볼륨과 같은, 장치의 일측면을 선형제어하도록 사용될 수 있다.
롤링, 피칭 및 요잉은 상기 부호화된 데이터의 투시 왜곡 및 회전을 탐지함으로써 계산될 수 있다.
먼저, 그것은 압력의 인가 및 제거 사이의 동작을 손동작의 '스트로크(stroke)'로서 정의하여, 장치가 최초로 상기 표면에 인가되는 때와 상기 표면을 떠나는 때를 결정하는 데에 사용될 수 있다. 압력 데이터 정보는 타임 스탬프된다.
바람직하게는 상기 장치가 상술한 바와 같은 적절한 수단을 포함하는 개별적 구현인 것이 좋다. 그것은 어떠한 형상이라도 좋으나, 바람직하게는 스타일러스 또는 펜의 형상인 것이 좋다.
바람직하게는, 상기 장치는 상기 표면에 수기(手記) 정보를 표기를 하기 위한 표기용 펜촉을 결합할 수 있으나, 이는 필수적인 것은 아니다.
바람직하게는 상기 장치는 제어 가능하고 상기 장치를 경우하여 사용자에 의하여 인가되는 수기 정보(그림이든 글씨이든)를 취급할 수 있는 컴퓨터 시스템과 상호작용하도록 의도되는 것이 좋다. 바람직하게는, 상기 감지 장치는 상기 장치를 고유하게 식별하는 장치 식별 정보를 제공하도록 마련되는 것이 좋다. 상기 컴퓨터 시스템은 따라서 이를 통하여 상기 장치를 식별할 수 있게 된다.
본 발명의 특징과 이점은 첨부 도면을 참조하여 아래에 예시적으로 기술하는 실시예의 설명으로부터 명백하게 될 것이다.
참고 : 멤젯(상표)은 오스트레일리아 실버브룩 리서치 프로프라이어터리 리미티드(Silverbrook Research Pty Ltd, Australia)의 등록상표이다.
바람직한 실시예에서, 본 발명은 넷페이지 네트워크 컴퓨터 시스템에서 동작하도록 구성되며, 상세한 개관은 다음과 같다. 모든 구현이 반드시 기본적인 시스템과 관련하여 아래에 논의되는 특정 상세 및 확장의 전부 또는 대부분을 포함하는 것은 아님을 인식할 수 있다. 그러나, 본 시스템은 본 발명의 바람직한 실시예 및 양상이 동작하는 맥락을 이해하는 경우에 외부적인 문헌 참조의 필요를 배제하기 위하여 가장 완전한 형태로 기술된다.
간단히 요약하면, 넷페이지 시스템의 바람직한 형태는 사상된 표면(mapped surface), 즉 컴퓨터 시스템 내에서 유지되는 표면의 맵에 대한 참조를 포함하는 물리적인 표면의 형태로 컴퓨터 인터페이스를 이용한다. 맵 레퍼런스(map reference)는 적절한 감지 장치에 의하여 조회된다. 특정 구현에 따라, 맵 레퍼런스는 가시적으로 또는 비가시적으로 부호화될 수 있고, 사상된 표면 상의 국부적인 조회에 대하여 그 맵 중 및 상이한 맵 중 모두에서 명백한 맵 레퍼런스를 제시하는 식으로 정의될 수 있다. 컴퓨터 시스템은 사상된 표면 상의 특징에 관한 정보를 포함할 수 있고, 그러한 정보는 사상된 표면에서 이용되는 감지 장치에 의하여 공급되는 맵 레퍼런스에 근거하여 검색될 수 있다. 따라서 그 검색된 정보는 표면 특징에 대한 운영자의 상호작용에 응답하여 운영자를 대신하여 컴퓨터 시스템에 의하여 개시되는 작동의 형태를 취할 수 있다.
바람직한 실시예에서, 넷페이지 시스템은 넷페이지들의 생성 및 이들에 대한인간의 상호작용에 의존한다. 넷페이지들은 일반적인 종이 위에 인쇄된 텍스트, 그래픽 및 이미지의 페이지이지만, 대화형 웹페이지처럼 작용한다. 정보는 각각의 페이지에 본질적으로 인간의 육안에는 보이지 않는 잉크를 이용하여 부호화된다. 그러나 그 잉크 및 이에 따른 부호화된 데이터는 광학적으로 상을 비추는 펜(optically imaging pen)에 의하여 감지되어 넷페이지 시스템으로 전송될 수 있다. 종이가 아닌 그밖의 기판도 사용될 수 있다. 바람직한 실시예에서의 부호화된 정보는 적외선 흡수성 잉크이므로 적외선 반응성 광학 센서가 사용될 수 있다. 원한다면 다른 파장 또는 감지 기술을 사용할 수도 있다. 일례로서 자기 잉크(magnetic ink) 및 센서가 사용될 수 있다.
바람직한 실시예에서, 각각의 페이지 상의 활성 버튼 및 하이퍼링크는 네트워크로부터 정보를 요청하거나 네트워크 서버에 선호도를 신호하기 위하여 펜으로써 클릭될 수 있다. 일례에 있어서, 넷페이지 상에 손으로 쓰여진 텍스트는 자동적으로 넷페이지 시스템에서 인식되어 서식에 기입할 수 있는 컴퓨터 텍스트로 변환된다. 다른 실시예에 있어서, 넷페이지 상에 기록된 서명은 자동적으로 검증되어 전자 상거래의 거래행위가 안전하게 허가될 수 있도록 한다.
도 1에 나타낸 바와 같이, 인쇄된 넷페이지(1)는 사용자에 의하여 인쇄 페이지 상에 물리적으로 기입되고 펜과 넷페이지 시스템 간의 소통에 의하여 "전자적으로" 기입될 수 있는 대화형 서식을 표현할 수 있다. 예시는 성명 및 주소 란 및 제출 버튼을 포함하는 "신청" 서식을 표현한다. 넷페이지는 가시적인 잉크를 이용하여 인쇄된 그래픽 데이터(2) 및 비가시적인 잉크를 이용하여 태그(4)의 집합으로서인쇄된 부호화된 데이터(3)로 이루어진다. 넷페이지 네트워크 상에 저장된 대응하는 페이지 명세(5)는 그 넷페이지의 각각의 요소를 설명한다. 특히 이는 각각의 대화형 요소(즉, 예시에 있어서의 택스트 란 또는 버튼)의 형식과 공간적 범위(영역)를 설명하여, 넷페이지 시스템이 넷페이지를 통한 입력을 올바르게 해석할 수 있도록 한다. 제출 버튼(6)은, 예를 들어, 대응하는 그래픽(8)의 공간적 범위에 대응하는 영역(7)을 가진다.
도 2에 나타낸 바와 같이, 넷페이지 펜(101)(도 8 및 도 9에서 바람직한 실시예를 나타내고, 아래에서 더욱 상세하게 기술함)은 넷페이지 프린터(601), 인터넷에 접속된 가정용, 사무용 또는 이동용 인쇄 장치와 함께 작동한다. 펜은 무선으로서, 근거리 무선 연결(short-range radio link)(9)을 통하여 넷페이지 프린터와 안전하게 통신한다. 원한다면 펜이 와이어 또는 적외선 송수신기를 사용하여 시스템에 접속될 수도 있으나, 이들 대체례는 사용의 편의성이 제한된다.
넷페이지 프린터(601)(도 11 내지 도 13에서 바람직한 실시예를 나타내고 아래에서 더욱 상세하게 기술함)는 주기적으로 또는 명령에 따라 대화형 넷페이지로서 고품질로 인쇄된, 개인화된 신문, 잡지, 카탈로그, 브로셔 및 기타 출판물을 배달할 수 있다. 개인용 컴퓨터와 달리, 넷페이지 프린터는 예를 들어, 아침 뉴스가 제일 먼저 소비되는 사용자의 부엌, 아침 식탁 근처, 또는 세대가 하루를 시작하는 지점의 근처에 벽면 부착형으로 부착될 수 있는 장치이다. 또한, 탁상용(tabletop), 데스크톱(desktop), 이동용(portable) 및 축소형(miniature) 버전도 가능하다.
소비의 지점에서 인쇄되는 넷페이지는 사용이 용이한(ease-of-use) 종이를 대화형 매체의 적시성(timeliness) 및 상호작용성(interactivity)과 결합시킨다.
도 2에 나타낸 바와 같이, 넷페이지 펜(101)은 인쇄된 넷페이지(1) 상의 부호화된 데이터와 상호작용하고, 그 상호작용을 근거리 무선 연결(9)을 통하여 넷페이지 프린터와 통신한다. 프린터(601)는 해석을 위한 관련 넷페이지 페이지 서버(10)로 상호작용을 보낸다. 적절한 환경에서, 페이지 서버는 대응하는 메시지를 넷페이지 애플리케이션 서버(13) 상에서 구동되고 있는 컴퓨터 응용프로그램으로 전송한다. 애플리케이션 서버는 이에 대하여 프린터 상에 인쇄될 응답을 전송할 수 있다.
넷페이지 시스템은 고속 초소형 전기기계 시스템(mircroelectromechanical system)(MEMS) 기반의 잉크젯(멤젯(상표)) 프린터와 함께 이용됨으로써 본 바람직한 실시예에서 더욱 편리해진다. 본 기술의 바람직한 실시예에서, 상대적으로 고속 및 고품격인 인쇄가 소비자들에게 제공될 수 있다. 바람직한 실시예에서, 넷페이지 출판은 용이한 운송 및 편안한 취급을 위하여 제본된, 천연색으로 양면 인쇄된 한 벌의 레터 크기 광택 페이지와 같은 전통적인 뉴스잡지의 물리적인 특성을 가진다.
넷페이지 프린터는 점증하는 광대역 인터넷 접속 가능성을 이용한다. 케이블 서비스는 미국의 95%의 가정에서 이용 가능하며, 광대역 인터넷 접속을 제공하는 케이블 모뎀 서비스는 그 중에서 20%가 이미 이용 가능하다. 넷페이지 프린터는 더욱 저속의 접속에서도 동작할 수 있지만, 배달 시간이 길어지고 이미지의 품질도 낮아진다. 사실상, 넷페이지 시스템은 기존의 가정용 잉크젯 및 레이저 프린터를사용하는 것도 가능하지만, 시스템이 더욱 느리게 동작하고, 따라서 수요자의 관점에서 덜 흡족하게 된다. 다른 실시예에서, 넷페이지 시스템은 사설 인트라넷(private intranet)상에서 운용된다. 또다른 실시예에서, 넷페이지 시스템은 단일 컴퓨터 또는 컴퓨터에 의하여 활성화되는 장치 상에서, 가령 프린터 상에서 운용된다.
넷페이지 네트워크 상의 넷페이지 출판 서버(14)는 인쇄 품질의 출판물(print-quality publication)을 넷페이지 프린터로 전송하도록 구성된다. 주기적인 출판물이 자동적으로 포인트캐스팅(pointcating) 및 멀티캐스팅 (multicasting) 인터넷 프로토콜을 경유하여 구독자 넷페이지 프린터로 전송된다. 개인화된 출판물은 각각의 사용자 프로필에 따라 여과되고(filtered) 포맷팅(formatted)된다.
넷페이지 프린터는 몇 개의 펜이라도 지원할 수 있도록 구성되며, 펜은 몇 개의 넷페이지 프린터와도 함께 동작할 수 있다. 바람직한 실시예에서, 각각의 넷페이지 펜은 고유 ID(unique identifier)를 가진다. 하나의 가정은 각각 식구마다에 지정된 한 벌의 착색된 넷페이지 펜을 가질 수 있다. 이에 따라 각각의 사용자는 지정된 펜만이 각각의 가족 구성원에 의하여 사용된다고 가정할 때 넷페이지 출판 서버 또는 애플리케이션 서버에 관하여 서로 구별되는 프로필(profile)을 가지게 된다. 그러나 이하에서 설명하는 바와 같이, 다른 수단이 사용자를 식별하기 위하여 사용될 수도 있다.
넷페이지 펜은 또한 넷페이지 등록 서버(netpage registration server)(11)에 등록되고, 하나 또는 그 이상의 지불 카드 계정(payment card account에 연결될 수 있다. 이에 따라 넷페이지 펜을 이용하여 전자 상거래 지불이 안전하게 허가될 수 있게 된다. 넷페이지 등록 서버는 넷페이지 펜에 의하여 획득된 서명을 이미 등록된 서명과 비교하여 사용자의 신원을 전자상거래 서버에 증명한다. 다른 생체 정보 또한 신원을 검증하는 데에 이용될 수 있다. 넷페이지 펜의 한 변형례는 넷페이지 등록 서버에 의하여 마찬가지 방법으로 검증되는 지문 스캐닝을 포함한다.
넷페이지 프린터가 아침 신문과 같은 정기 간행물을 사용자의 개입 없이 배달할 수 있지만, 넷페이지 프린터는 요구받지 않은 정크 메일(junk mail)을 배달하지 않도록 구성될 수 있다. 바람직한 실시예에서, 넷페이지 프린터는 구독신청되거나 또는 구독신청되지 않았더라도 인증된 출처(source)로부터의 정기간행물만을 배달받는다. 이러한 관점에서, 넷페이지 프린터는 전화번호 또는 전자우편 주소를 알고 있는 정크 메일러(junk mailer)에게 노출되는 팩시밀리 또는 전자우편 계정과는 다르다. 또는 전체적인 시스템이 외부 사용자에게 보여질 수 있거나 각각의 사용자에게 그들의 프린터를 외부 사용자에게 노출시킬 수 있는 능력이 제공될 수도 있다. 이것은 외부 사용자를 선택하는 방법으로서도 정크 메일을 발송하도록 할 수 있다.
1. 넷페이지 시스템 체계(NETPAGE SYSTEM ARCHITECTURE)
시스템의 각각의 오브젝트 모델(object model)은 통합 모델링 언어 (Unified Modeling Language)(UML) 클래스도(class diagram)를 이용하여 기술된다. 클래스도는 관계(relationship)에 의하여 연결되는 한 벌의 오브젝트 클래스로 구성되며, 여기에서 관심의 대상이 되는 두 가지 관계는 결합(association) 및 일반화(generalization)이다. 결합(association)은 오브젝트, 즉 클래스의 인스턴스 간의 일종의 관계를 표현한다. 일반화(generalization)는 실제의 클래스를 관련시키며, 다음과 같은 방법으로 이해될 수 있다 - 만일 어떤 클래스가 그 클래스의 모든 오브젝트의 집합이고, 클래스 A는 클래스 B의 일반화이면, B는 간단히 말해서 A의 서브셋(subset)인 것이 된다.
각각의 클래스는 그 클래스의 명칭이 표시된 사각형으로 표현된다. 클래스도는 명칭과는 가로선(horizontal line)으로 분리되는, 클래스의 속성(attribute) 목록 및, 속성 목록과 가로선으로 분리되는, 그 클래스의 연산(operation) 목록을 포함한다. 그러나, 아래의 클래스도에서는 연산은 모델링되지 않는다.
결합은 두 클래스를 연결하는 선으로서 그려지며, 선택적으로 결합의 다중성(multiplicity)이 양단에 표시된다. 기본 다중성은 1이다. 별표(*)는 "많음(many)"의 다중성, 즉 0 또는 이보다 큰 것을 가리킨다. 각각의 결합은 그 명칭이 선택적으로 표시될 수 있으며, 또한 선택적으로 관련되는 클래스의 역할(role)이 양단에 표시될 수 있다. 열린 다이아몬드(open diamond)는 집합 결합(aggregation association)("-의 부분이다")을 가리키며, 결합 선(association line)의 집합 말단(aggregator end)에 도시된다.
일반화 관계(generalization relationship)("-는 -이다")는 두 클래스를 연결하는 실선(solid line)으로 표현되며, (열린 삼각형 모양의) 삼각형이 일반화 말단(generalization end)에 도시된다.
클래스도가 복수의 도면으로 분해되면, 클래스는 그것을 정의하는 주 도면(main diagram)을 제외하고는 점선으로 표현된다. 클래스는 그것이 정의된 곳에서만 속성과 함께 표현된다.
1.1 넷페이지(NETPAGES)
넷페이지는 넷페이지 네트워크가 구축되는 기초(foundation)이다. 넷페이지는 종이 기반의 사용자 인터페이스를 출판된 정보 및 대화형 서비스에 제공한다.
하나의 넷페이지는 그 페이지에 대한 온라인 명세에 관하여 비가시적으로 태그가 기록된 인쇄 페이지(또는 다른 표면 영역)를 포함하여 이루어진다. 태그는 페이지의 표면 상에 인쇄되거나, 페이지의 하부층 상에 존재하거나, 또는 다른 식으로 페이지 내에 통합될 수 있다. 온라인 페이지 명세(online page description)는 넷페이지 페이지 서버(netpage page server)에 의하여 지속적으로 유지된다. 페이지 명세는 텍스트, 그래픽 및 이미지를 포함하는 그 페이지의 가시적인 배치 및 내용을 기술한다. 페이지 명세는 또한 버튼, 하이퍼링크 및 입력 영역을 포함하는 그 페이지 상의 입력 요소(input element)를 기술한다. 서로 다른 넷페이지의 페이지 명세가 이미지와 같은 요소를 공유할 수도 있는데, 넷페이지(및 관련된 페이지 명세)가 시각적으로 상이하더라도 그러하다. 각 넷페이지에 관한 페이지 명세는 이들 공통 요소에 대한 참조를 포함한다. 넷페이지는 표면 상에서 넷페이지 펜에 의하여 표시(marking)되고, 동시에 표시가 획득되어(captured) 넷페이지 시스템에 의하여 처리되도록 한다.
복수의 넷페이지는 동일한 페이지 명세를 공유할 수 있다. 그러나, 비공유시 상이한 것으로 인식되었을 페이지들을 통하여 입력을 받는 경우에는, 각각의 넷페이지에 고유 페이지 ID(unique page identifier)가 지정된다. 이 페이지 ID(page ID)는 매우 많은 분량의 넷페이지를 구별하기에 충분한 정확도를 가진다. 만약 환경이 소규모라면, 대규모 환경에서만큼 높은 정확도를 필요로 하지는 않는다.
페이지 명세에 관한 각각의 참조 사항은 인쇄된 태그에 부호화된다. 태그는 태그가 나타내어진 고유한 페이지(unique page)를 식별하고, 간접적으로 그 페이지 명세를 식별한다. 바람직한 실시예에 있어서 태그는 또한 페이지 상에서 자기 자신의 위치를 식별한다. 태그의 특성(characteristics)은 아래에서 더욱 상세히 기술된다.
태그는 일반적인 종이와 같은 적외선 반사성의(infrared-reflective) 층에 적외선 흡수성의(infrared-absorptive) 잉크로 인쇄된다. 거의 적외선에 가까운(near-infrared) 파장은 육안으로는 보이지 않지만 적절한 필터를 가지는 고체 촬상 센서(solid-state image sensor)에 의해서는 용이하게 감지될 수 있다. 관련 파장(들)에 반응하는 센서가 사용될 수 있는데, 이 경우에는 필터는 필요하지 않다. 적절한 기판과 센서가 사용되면 기타 파장도 사용될 수 있다.
태그는 넷페이지 펜의 영역 이미지 센서(area image sensor)에 의하여 감지되고, 태그 데이터는 가장 가까운 넷페이지 프린터를 경유하여 넷페이지 시스템으로 전송된다. 펜은 무선으로서 근거리 무선 연결(short-range radio link)을 통하여 넷페이지 프린터와 통신한다. 태그는 충분히 작고 조밀하게 배열되어 있으므로,단 한번만 페이지를 클릭하더라도 펜이 적어도 하나의 태그를 안정적으로 감지할 수 있다. 상호작용은 상태가 없기 때문에(stateless), 펜이 페이지와의 상호작용시마다 페이지 ID 및 위치를 감지하는 것은 중요하다. 태그는 오류 보정 가능하게(error-correctably) 부호화되므로 부분적인 표면 손상에도 견딜 수 있다.
넷페이지 페이지 서버는 각각의 인쇄된 넷페이지에 대하여 고유 페이지 인스턴스(unique page instance)를 유지함으로써, 각각의 인쇄된 넷페이지에 대하여 페이지 명세에서 사용자가 입력 영역에 공급한 일련의 구별되는 값을 유지할 수 있도록 한다.
페이지 명세, 페이지 인스턴스 및 인쇄된 넷페이지 간의 관계가 도 4에 나타나 있다. 바람직한 실시예에 있어서 페이지 인스턴스는 페이지 인스턴스를 인쇄하는 넷페이지 프린터 및, 알려져 있다면, 그것을 요청한 넷페이지 사용자에 모두 결합된다. 페이지 인스턴스가 대응되는 물리적 페이지를 인쇄한 넷페이지 프린터 또는 이를 요청한 넷페이지 사용자나 그를 위하여 인쇄된 넷페이지 사용자와 관련되도록 하는 것은 본 발명의 기본적인 형태에서의 동작에 필수적인 것은 아니다.
1.2 넷페이지 태그(NETPAGE TAGS)
1.2.1 태그 데이터 내용(TAG DATA CONTENT)
바람직한 실시예에서, 각각의 태그는 그 태그가 위치하는 영역 및 그 영역 내에서의 그 태그의 위치를 식별한다. 태그는 그 영역 전체 또는 태그에 관련된 플래그를 포함할 수도 있다. 예를 들어, 태그의 즉각적인 영역에 관련된 작용을 나타내는 피드백을 제공하기 위하여 태그 감지 장치가 그 영역의 명세를 참조할 필요없이 하나 또는 그 이상의 플래그 비트(flag bit)가 태그 감지 장치로 신호할 수 있다. 넷페이지 펜은, 예를 들어, 하이퍼링크의 영역에 있을 때에 "활성 영역" LED를 발광할 수 있다.
아래에서 더욱 분명하게 설명될 것이다시피, 바람직한 실시예에서, 각각의 태그는 최초의 감지를 돕고, 표면 또는 감지 프로세스에 기인하는 뒤틀림(warp)의 영향을 최소화하는 것을 돕는, 인식이 용이한 불변 구조(easily recognized invariant structure)를 포함한다. 태그는 바람직하게는 페이지 전체를 뒤덮고, 충분히 작고 조밀하게 배열되어서, 펜이 페이지 상에 한 번의 클릭만을 하는 경우에도 최소한 하나의 태그를 신뢰성 있게 비출 수 있도록 한다. 상호작용은 상태가 없기 때문에(stateless), 펜이 페이지와의 상호작용시마다 페이지 ID 및 위치를 감지하는 것은 중요하다.
바람직한 실시예에서, 태그가 참조하는 영역은 페이지 전체와 일치하므로, 태그 안에 부호화되는 영역 ID(region ID)는 태그가 나타나는 페이지의 페이지 ID(page ID)와 같은 뜻이 된다. 다른 실시예에서, 태그가 참조하는 영역은 페이지 또는 다른 표면의 임의의 하위영역(subregion)이 될 수 있다. 예를 들어, 대화형 요소의 영역과 일치할 수 있는데, 이 경우 영역 ID는 직접적으로 대화형 요소를 식별할 수 있다.
각각의 태그는 대개 16비트의 태그ID와, 적어도 90비트의 영역ID와, 다수의 플래그 비트와를 포함한다. 1제곱인치당 최대 64개의 태그 밀도를 가정하면, 16비트 태그 ID는 1024제곱인치에 이르는 영역까지를 지원한다. 더 넓은 영역은 단순히영역과 맵을 인접시키는 것만으로써 태그 ID의 정확성을 향상시킴 없이 연속적으로 사상될 수 있다. 영역ID와 태그ID와의 구별은 대부분 용이하다. 대부분의 목적에 있어서 양자의 연관은, 전역적으로 고유한(globally unique) 태그ID로서 고려된다. 역으로, 예를 들어 태그의 x 및 y 좌표계를 정의하는 등의 구조를 태그ID에 도입하는 것도 편리하다. 90비트의 영역ID는 290(즉 1027또는 1000의 1조배의 1조배)개의 서로 다른 영역이 고유하게 식별되도록 할 수 있다. 태그는 타입 정보도 포함할 수 있으며, 영역은 태그 타입을 혼합하여 태그될 수 있다. 예를 들어, 일 영역이 x 좌표계를 부호화한 1 세트의 태그 및 이와 별도의 y 좌표계를 부호화한 다른 세트의 태그로 태그될 수 있다. 영역ID 및 태그ID의 정확도는 시스템이 사용될 환경에 따라 좌우된다고도 할 수 있다.
1.2.2 태그 데이터 부호화(Tag Data Encoding)
실시예 중 하나에 있어서, 120비트 태그 데이터는 (15,5) 리드-솔로몬 코드(Reed-Solomon code)를 이용하여 중복적으로 부호화될 수 있다. 이것은 각각 15개의 4비트 기호(symbol)를 가지는 6개의 코드워드(codeword)로 이루어지는 360개의 부호화된 비트를 산출한다. (15,5) 코드는 코드워드 당 5개까지의 보정되어야 할 기호 오류를 허용할 수 있다. 즉, 코드워드마다 33%까지의 기호 오류를 감당할 수 있는 것이다.
각각의 4비트 기호는 태그 안에서 공간적으로 연접하도록(spatiallycoherent way) 표현되며, 6개의 코드워드의 기호는 태그 안에서 공간적으로 구분되도록(spatially interleaved) 표현된다. 이것은 돌발적 오류(burst error)(공간적으로 인접한 복수의 비트에 영향을 미치는 오류)가 전체 기호 중 최소 개수만을 손상시키고, 어떠한 코드워드 안에서도 최소 개수의 기호만을 손상시키도록 하여, 돌발적 오류가 완벽히 보정될 수 있는 가능성을 최대화시키는 것을 보장한다.
(15,5) 리드-솔로몬 코드를 대신하여 임의의 적절한 오류보정 코드, 예를 들어 다소의 중복(redundancy)을 가지며, 같거나 다른 기호와 코드워드를 가지는 리드-솔로몬 코드나, 다른 블록코드나, 또는 다른 종류의 코드, 즉 콘볼루션 코드(예를 들어, Stephen B. Wicker, Error Control Systems for Digital Communication and Storage, Prentice-Hall 1995로서, 여기에 상호참조로서 통합한다)가 사용될 수 있다.
1.2.3 물리적 태그 구조(Physical Tag Structure)
태그의 물리적인 표현은, 도 5에 나타낸 바와 같이, 고정 타겟 구조(fixed target structure)(15,16,17) 및 가변 데이터 영역(18)을 포함한다. 고정 타겟 구조는 넷페이지 펜과 같은 감지 장치가 태그를 감지하여 센서와의 관계에서 그 태그의 3차원적인 방향을 추론할 수 있도록 한다. 데이터 영역은 부호화된 태그 데이터의 각각의 비트의 표현을 포함한다.
적절한 태그의 재현을 위하여, 태그는 256×256 도트의 해상도로서 표현된다. 1600dpi로 인쇄되었을 때, 이것은 약 4mm의 지름을 가지는 태그가 생기게 한다. 이러한 해상도에서 태그는 16 도트의 반지름을 가지는 "보이지 않는영역(quiet area)"에 의하여 둘러싸이도록 설계된다. 보이지 않는 영역은 또한 인접한 태그에 의해서도 제공되므로, 태그의 유효 지름(effective diameter of the tag)에는 16 도트만이 더해진다.
태그는 6개의 타겟 구조를 포함한다. 감지 링(15)은 최초로 태그를 감지하기 위한 감지 장치(sensing device)를 허용한다. 이 링은, 회전하여도 변하지 않고(rotationally invariant) 약간의 종횡비(aspect ratio) 보정만으로 투시 왜곡(perspective distortion)으로 인한 영향의 대부분을 제거할 수 있으므로, 용이하게 감지할 수 있다. 방향축(orientation axis)(16)은 감지 장치가 센서의 흔들림에 따른 태그의 대략적인 2차원적 방향을 결정할 수 있도록 한다. 방향축은 고유한 방향을 제공하기 위하여 비스듬하게 된다. 4개의 투시 타겟(perspective target)(17)은 감지 장치가 태그의 정확한 2차원적 투시 변환을 추론하고, 이에 따라 정확한 3차원적 위치 및 센서에 대한 태그의 상대적인 방향을 추론할 수 있도록 한다.
모든 타겟 구조는 잡음에 대한 저항성을 개선하기 위하여 과도할 정도로 크게 된다.
전체적인 태그의 형상은 원형이다. 이것은, 다른 무엇보다도, 불규칙적인 삼각형 격자 상에서 최적의 태그 패킹(packing)을 돕는다. 원형 감지 링과 공동으로, 이것은 태그 안에서의 데이터 비트의 원형적인 배치가 최적이 되도록 한다. 크기를 최대화하기 위해서, 각각의 데이터 비트는 2개의 방사선(radial line) 및 2개의 동심호(concentric circular arc)로 둘러싸인 형태의 방사상 쐐기(radial wedge)에의하여 표현된다. 각각의 쐐기는 1600dpi에서 8 도트의 최소 크기(dimension)를 가지며, 그 베이스(안쪽 호)가 최소한 이 최소 크기에 상당하도록 설계된다. 쐐기의 반지름 방향의 높이는 항상 그 최소 크기와 같다. 각각의 4비트 데이터 기호는 2×2 쐐기의 배열로 표현된다. 쐐기(510)의 방사형 높이는 항상 최소 치수와 동일하다. 각각의 4비트 데이터 기호는 2×2 쐐기(510)의 어레이(518)로서 표현되며, 도 48에서 가장 잘 나타내고 있다.
6개의 코드워드 각각에서의 15개의 4비트 데이터 기호는 유격을 둔 형태(interleaved fashion)로 4개의 동심 기호 링(concentric symbol ring) (18a - 18d)에 할당된다. 기호는 번갈아 태그 둘레를 원형으로 진행하도록 배치된다.
유격(interleaving)은 동일한 코드워드의 임의의 두 기호 사이의 평균 공간 거리(average spatial distance)를 최소화하기 위한 설계이다. 코드워드나 그 데이터 기호의 다른 배열 또한 사용될 수 있다.
태그의 물리적 레이아웃이나 각각의 태그 내에서의 데이터 기호의 형상 및/또는 배열은 본 발명의 동작에서 필수적인 것이 아니다. 각각의 태그가 사용 의도에 충분한 정보를 부호화하는 것만이 필요할 뿐이다. 태그 내의 중복(redundancy)의 사용이 선호되지만, 기본 레벨에서는 본 발명의 동작에서 필수적인 것이 전혀 아니다. 그와 같은 기타 태그 배열이 사용될 수 있다. 그밖의 태그 구조의 예가 미국 특허 제5,625,412호, 제5,661,506호, 제5,477,012호 및 제5,852,434호와 PCT 출원 제PCT/US98/20597호에서 설명되고 있으며, 이들 각각의 내용은 여기에서 참조에 의하여 통합된다.
감지 장치를 경유하여 태그가 설정된 영역과의 "단일 클릭(single-click)" 상호작용을 지원하기 위하여, 감지 장치는 어떤 영역, 어떤 방향에서라도 관측 영역(field of view) 내에서 적어도 하나의 완전한 태그를 관측할 수 있어야 한다. 요구되는 감지 장치의 관측 영역의 반지름은 따라서 태그의 크기 및 간격의 함수가 된다.
원형인 태그 형상을 가정한다면, 감지 관측 영역의 최소 반지름은 도 6에 나타난 바와 같이 태그가 정삼각형 격자 상에 배치되는 경우에 얻을 수 있게 된다.
1.2.4 태그 이미지 처리 및 복호화(Tag Image Processing and Decoding)
태그 이미지 처리 및 복호화는 도 7에 나타낸 넷페이지 펜과 같은 감지 장치에 의하여 수행된다. 획득된 이미지가 이미지 센서로부터 획득되면, 이미지의 동적 범위(dynamic range)가 결정된다(20). 그리고 나서 범위의 중앙값이 그 이미지의 이진 문턱값(binary threshold)으로 선택된다(21). 이미지는 그 후 문턱처리되고(thresholded), 연결된 픽셀 영역(connected pixel region)(즉, 형상(shape)(23))으로 분할된다(segmented)(22). 태그 타겟 구조를 표현하기에 너무 작은 형상은 폐기된다(discarded). 각각의 형상의 크기와 중심도 계산된다.
그리고 나서 각각의 형상에 대한 이진 형상 모멘트(binary shape moment)(25)가 계산되고, 이에 따라 타겟 구조를 배치하는 근거가 제공된다. 중심 형상 모멘트(central shape moment)는 그 특성상 위치가 변하여도 불변하며(invariant of position), 크기(scale), 종횡비(aspect ratio) 및 회전(rotation)이 변하여도 불변하도록 하는 것이 용이하다.
링 타겟 구조(ring target structure)(15)는 가정 먼저 배치된다(26). 링은 투시 왜곡(perspective-distorted)되었을 때에 가장 특성이 양호하다는 장점을 가진다. 정합(matching)은 각각의 형상의 모멘트를 외양 표준화(aspect-normalizing) 및 회전 표준화(rotation-normalizing)함으로써 진행된다. 일단 그 2차 모멘트(second-order moment)가 표준화되면, 링은 투시 왜곡이 현저한 경우라 하더라도 인식하기 용이해진다. 링의 원래 외양 및 회전(27)은 모두 투시 변환(perspective transform)을 추정하는 데에 유용하다.
다음으로 축 타겟 구조(axis target structure)(16)가 배치된다(28). 정합은 링의 표준화(normalization)를 각각의 형상의 모멘트에 적용하고, 그 결과로 얻어지는 모멘트를 회전 표준화함으로써 진행된다. 일단 2차 모멘트가 표준화되면 축 타겟은 용이하게 인식된다. 3분의 1차 모멘트(one third order moment)가 축의 가능한 두 가지 방향을 명확히 하기 위하여 요구됨을 주목하여야 한다. 이를 가능케 하기 위하여, 형상은 신중하게 한 쪽 방향으로 기울여진다. 또한, 투시 왜곡이 축 타겟의 축을 은폐할 수 있기 때문에, 링의 표준화가 적용된 이후에만 축 타겟을 회전 표준화할 수 있음을 주목하여야 한다. 축 타겟의 원래 회전(orginal rotation)은 펜 흔들림(29)에 기인한 태그의 회전을 추정하는 데에 유용하다.
마지막으로 4개의 투시 타겟 구조(perspective target structure)(17)가 배치된다(30). 링 및 축 타겟, 링의 외양 및 회전, 또한 축의 회전과의 이미 알려진 공간적인 관계를 근거로 하여 투시 타겟 구조의 위치가 잘 추정될 수 있다. 정합은 링의 표준화를 각각의 형상의 모멘트에 적용함으로써 진행된다. 일단 2차 모멘트가표준화되면, 원형 투시 타겟(circular perspective target)은 용이하게 인식되며, 각각의 추정된 위치에 가장 가까운 타겟이 정합하는 것(match)으로 취급된다. 그러면, 3개의 투시 타겟의 본래의 중심은 태그 공간에서 알려진 크기의 투시 왜곡된 한 칸의 모서리(31)가 되며, 8차의 자유도를 가지는(eight-degree-of-freedom) 투시 변환(33)은 4개의 태그-공간(tag-space) 및 이미지-공간(image-space)의 순서쌍의 관계에 대한 잘 알려진 방정식을 푸는 것에 의하여 추론된다(Heckbert,P.,Fundamentals of Texture Mapping and Image Warping, Masters Thesis, Dept. of EECS, U. of California at Berkeley, Technical Report No.UCB/CSD 89/516, June 1989로서, 그 내용은 여기에서 상호 참조로서 통합된다.).
추론된 태그-공간으로부터 이미지-공간으로의 투시 변환은, 입력 이미지에서 4개의 대응하는 인접 픽셀을 쌍선형 보간(bilinearly interpolate)(36)하기 위하여 각각의 알려진 태그 공간에서의 데이터 비트 위치를 위치의 실제값(real-valued position)이 이용되는 이미지 공간으로 투사(36)하는 데에 이용된다. 이전에 계산된 이미지 문턱값(21)은 최종 비트 값(final bit value)(37)을 산출하기 위하여 결과값을 문턱처리(threshold)하는 데에 이용된다.
일단 36개의 데이터 비트(37)가 모두 이러한 식으로 얻어지면, 6개의 60비트 리드-솔로몬 코드워드(Reed-Solomon codeword) 각각은 20개의 복호화된 비트(39)를 제공하기 위하여 복호화되어, 전부 120개의 복호화된 비트가 제공된다. 코드워드 기호(codeword symbol)는 코드워드의 순서대로 샘플링되어, 샘플링 절차 동안에 코드워드가 내재적으로 유격해제(de-interleaved)되는 것에 주목하여야 한다.
상술한 바와 같이, 물리적인 태그 구조나 부호화 시스템은 본 발명에 있어서 필수적인 것이 아니며, 각각의 태그의 그밖의 물리적인 배열도 사용될 수 있다. 태그 이미지를 인식하고 복호화하여 부호화된 데이터를 복구하는 것은 태그의 물리적 구조 및 중복적으로 데이터를 부호화하는 데에 사용되는 시스템에 좌우된다.
링 타겟(15)은, (링이 존재한다면,) 이미지와 관련된 링이 완전한 태그(complete tag)의 부분이라는 것을 보장할 수 있는 이미지의 하위영역에서만 탐색된다. 완전한 태그가 발견되어 성공적으로 복호화되지 않으면, 당해 프레임에 대해서는 어떠한 펜 위치(pen position)도 기록되지 않는다. 적당한 처리 능력(processing power) 및 이상적으로는 최소값이 아닌 관측 영역(193)(non-minimal field of view)이 주어진다면, 대안적 방법으로써 당해 이미지에서 다른 태그를 탐색하게 된다.
얻어진 태그 데이터는 그 영역 내에서 태그 및 태그의 위치를 포함하는 그 영역의 정체(identity)를 나타낸다. 펜의 전체적인 방향(35)뿐만 아니라, 그 영역에서의 펜촉(pen nib)의 정확한 위치(35)까지도 태그 상에서 관측된 투시 변환(33) 및 펜의 물리적 축(physical axis)과 펜의 광학 축(optical axis) 사이의 알려진 공간적 관계로부터 추론될 수 있다(34).
1.2.5 다른 태그 구조들(ALTERNATIVE TAG STRUCTURES)
방금 기술된 태그 구조는 평면 표면의 규칙적 타일링(tilings)과 비평면 표면의 비규칙적 타일링(tilings)을 양자 모두 허용하도록 설계된다. 일반적으로, 규칙적 타일링(tilings)은 비평면 표면 상에서는 가능하지 않다. 태그들의 규칙적인 타일링이 가능한 평면 표면, 즉, 종이장 등과 같은 표면의 보다 보편적인 경우에 있어서는, 타일링의 규칙적 성질을 이용하는, 보다 효과적인 태그 구조들이 사용될 수 있다.
규칙적 타일링에 더욱 적합한 다른 태그 구조가 도 6a에 나타나 있다. 다른 태그(4)는 정사각형이고 4개의 투시 타겟(perspective targets)(17)을 가진다. 그것은 Bennett 등이 미국 특허 제 5051746호에서 기술한 태그들과 구조적으로 유사하다. 태그는,도합 240 비트인 60개의 4-비트 리드-솔로몬 기호들(4-bit Reed-Solomon symbols)(47)을 나타낸다. 태그는 도트(48) 하나로서 각 1 비트, 상응하는 도트가 없을 경우 각 0 비트를 나타낸다. 도 6b 및 도 6c에 나타난 대로, 투시 타겟들은 인접 태그들 사이에 공유되도록 설계된다. 도 6b는 16개 태그들의 정사각형 타일링과 그에 대응하는 최소 관측 영역(minimum field of view)(193)를 나타내며, 이 최소 관측 영역은 두 개 태그들의 대각선에 걸쳐져야만 한다. 도 6c는 9개 태그들의 정사각형 타일링을 나타내며, 예시 목적으로 모든 1 비트들을 포함한다.
(15,7) 리드-솔로몬 코드(Reed-Solomon code)를 사용하여, 태그 데이터의 112 비트가 중복 부호화(redundantly encoded)되어 부호화된 240 비트를 만든다. 4개의 코드워드(codeword)들은, 돌발적 오류(burst error)에 대한 복원력을 최대화하기 위해, 태그 내에서 공간적으로 유격(interleaved)된다. 이전처럼 16-비트 태그 ID를 가정하면, 이것은 92 비트에 이르는 영역 ID(region ID)를 허용한다.
태그의 데이터-포함 도트들(data-bearing dots)(48)은 그 이웃한 것들과 서로 겹치지 않도록 설계되어, 태그들의 그룹들이 타겟들을 닮은 구조들을 만들지 못하도록 한다. 이는 또한 잉크를 절약한다. 그러므로 투시 타겟들(perspective targets)은 태그의 감지를 허용하고, 그래서 또 다른 타겟들이 필요하지 않다. 태그 이미지 처리(tag image processing)는, 단계 26과 28이 빠진다는 점을 제외하면, 상기 1.2.4에서 기술된 것과 같이 진행된다.
비록 태그가, 센서에 대한 태그의 4가지 가능한 방향(orientation)의 불명료함을 없애 주지만(allow disambiguation), 태그 데이터에 방향 데이터를 끼워 넣는 것 또한 가능하다. 예를 들어, 4개의 코드워드(codeword)들은, 각 기호(symbol)가 그 코드워드의 숫자(1-4)와 그 기호의 위치가 코드워드(A-O) 안에서 표지화(labelled)된 도 6d에 나타낸 것처럼, 각 태그 방향이 그 방향에 위치한 하나의 코드워드를 포함하도록 배열될 수 있다. 그러면 태그 디코딩(tag decoding)은 각 방향에 대해 하나의 코드워드를 디코딩하는 것으로 구성된다. 각 코드워드는, 그것이 첫번째 코드워드인지를 나타내는 하나의 비트를 포함하거나, 그것이 어느 코드워드인지를 나타내는 두개의 비트를 포함할 수 있다. 후자의 접근은, 이를테면, 만약 단지 하나의 코드워드의 데이터 콘텐트(data content)가 필요하다면, 원하는 데이터를 얻기 위해서는 기껏해야 두 개의 코드워드가 디코딩될 필요가 있다는 장점이 있다. 영역 ID(region ID)가 스트로크(stroke) 중에 바뀐다고는 예상되지 않으며 따라서 단지 스트로크(stroke) 시작 시에 디코딩되는 경우, 이는 사례가 될 수 있다. 그러면 단지 태그 ID를 포함하는 코드워드만이 스트로크 중에 기대된다. 또한, 감지 장치의 회전이 스트로크 중에 서서히, 예측가능하게 변하므로, 보통, 프레임당 단지 하나의 코드워드만이 디코딩될 필요가 있다.
투시 타겟(perspective target)이 모두 없이 지내고 대신에 자가-레지스터링(self-resistering)하는 데이터 표현(data representation)에 의존하는 것도 가능하다. 이 경우, 각 비트 값(또는 다중-비트(multi-bit) 값)은 전형적으로 명확한 그립(glyph)에 의해 표현된다. 즉, 비트 값 없음(no bit value)은 그립의 부재(absence of a glyph)에 의해 표현된다. 이것은 데이터 그리드(data grid)가 잘 상주하고(well-populated) 있는 것을 보장하며, 따라서, 그리드가 신빙성있게 확인되고, 데이터 샘플링(data sampling) 동안 그 투시 왜곡(perspective distortion)이 감지되고 이어서 보정되도록 허용한다. 태그 경계(tag boundaries)r가 감지되도록 허용하기 위해, 각 태그 데이터는 마커 패턴(marker pattern)을 포함해야만 하고, 믿을만한 감지를 허용하기 위해 이것들은 반드시 중복 부호화(redundantly encoded)되어야만 한다. 그러한 마커 패턴들의 오버헤드(overhead)는 명확한 투시 타겟들의 오버헤드(overhead)와 유사하다. 그러한 하나의 개요는, 서로 다른 그립들(glyphs), 따라서 서로 다른 다중-비트 값들(multi-bit values)을 표현하기 위해, 그리드 정점들(grid vertices)에 대해 다양한 지점들에 위치한 도트들을 사용한다.
1.2.6 태그 맵(Tag Map)
태그를 복호화하면 영역 ID(region ID), 태그 ID(tag ID) 및 태그-비례적 펜변환(tag-relative pen transform)이 출력된다. 태그 ID 및 태그-비례적 펜 위치(tag-relative pen location)가 태그가 있는 영역 내에서의 절대 위치(absolute location)로 변환되기 전에, 그 영역 내의 태그의 위치가 알려져야 한다. 이것은 태그가 있는 영역 내에서 각각의 태그 ID를 대응되는 위치로 사상시키는 함수인 태그 맵(tag map)에 의하여 주어진다. 태그 맵 클래스도는 도 22에서 넷페이지 프린터 클래스도의 일부로서 나타나 있다.
태그 맵은 표면 영역을 태그로 뒤덮는(tiling) 데 이용되는 도표(scheme)를 나타내며, 표면의 유형(surface type)에 따라서 가변적이다. 복수의 태그가 있는 영역(multiple tagged region)이 동일한 태그 배열 도표(tag tiling scheme) 및 동일한 태그 번호부여 도표(tag numbering scheme)를 공유하면, 그 태그 있는 영역(tagged region)들은 동일한 태그 맵을 공유하는 것이 된다.
어떤 영역을 위한 태그 맵은 반드시 영역 ID를 경유하여 검색 가능(retrievable)하여야 한다. 따라서, 어떠한 영역 ID, 태그 ID 및 펜 변환이 주어지면, 태그 맵이 검색될 수 있고, 태그 ID는 그 영역 내에서 절대 태그 위치(absolute tag location)로 변환될 수 있으며, 태그-비례적 펜 위치(tag-relative pen location)는 태그 위치에 추가되어 그 영역 내에서 절대 펜 위치를 제공할 수 있게 된다.
1.2.7 태그 도표(Tagging Scheme)
두 개의 구별되는 표면 부호화 도표(surface coding scheme)로서, 양자 모두 본 장에서 앞서 기술된 바와 같은 태그 구조(tag structure)를 이용하는 표면 부호화 도표를 살펴본다. 실시예의 부호화 도표는 이미 논의된 바 있는 "위치-표시(location-indicating)" 태그를 이용한다. 또는 오브젝트-표시 태그(object-indicating tag)를 이용할 수도 있다.
위치-표시 태그는, 태그 있는 영역(tagged region)과 관련된 태그 맵을 통하여 변환되면 그 영역 내에서 고유 태그 위치(unique tag location)를 제공하는, 태그 ID를 포함한다. 펜의 태그-비례적 위치가 이 태그 위치에 추가되어 그 영역 내에서 펜의 위치를 제공한다. 이것은 다시 그 영역과 관련된 페이지 명세(page description)에서의 사용자 인터페이스 요소(user interface element)에 대한 펜의 상대적인 위치를 결정하는 데 이용된다. 그 사용자 인터페이스 요소 자체만이 식별되는 것만이 아니라, 그 사용자 인터페이스 요소에 대한 상대적인 위치 또한 식별된다. 위치-표시 태그는 따라서 특정 사용자 인터페이스 요소의 구역 내에서 펜의 절대 경로(absolute pen path)의 획득(capture)을 아무렇지 않게 지원하게 된다.
오브젝트-표시 태그는 그 영역과 관련된 페이지 명세에서의 사용자 인터페이스 요소를 직접적으로 식별하는 태그 ID를 포함한다. 사용자 인터페이스 요소의 구역 안의 모든 태그는 모두 동일(identical)해짐으로써 상호 구분 불가능해지면서 그 사용자 인터페이스 요소를 식별한다. 오브젝트-표시 태그는 따라서 펜의 절대 경로를 획득하지 못한다. 그러나, 펜의 상대 경로(relative pen path)를 지원할 수는 있다. 위치 샘플링 빈도(position sampling frequency)가 대상 태그 빈도(encountered tag frequency)의 2배를 초과하는 한, 하나의 표본 펜 위치(sampled pen position)로부터 다음까지의 변위는 정확하게 결정될 수 있는 것이다.
둘 중 어떤 태그 도표에 의하여도, 태그 데이터가 감지 장치에 의하여 독출되도록 하고, 적절한 응답이 넷페이지 시스템에서 생성되기 위하여 적절한 감지 장치를 이용하여 인쇄 페이지와 상호작용하는 점에서, 태그는 사용자 대화형 요소처럼 넷페이지 상의 관련된 시각적 요소와 협력하여 작용한다.
1.3 문서 및 페이지 명세(DOCUMENT AND PAGE DESCRIPTIONS)
문서 및 페이지 명세 클래스도의 바람직한 실시예가 도 25 및 도 26에 나타나 있다.
넷페이지 시스템에서는 문서가 3개의 레벨로 설명된다. 가장 추상적인 레벨(most abstract level)에서, 문서(836)는 그 터미널 요소(terminal element)(839)가 텍스트 오브젝트, 텍스트 스타일 오브젝트, 이미지 오브젝트 등의 콘텐트 오브젝트(840)와 관련된 계층 구조(hierarchical structure)를 가진다. 일단 문서가 특정 페이지 크기로 특정 사용자의 스케일 설정(scale factor preference)에 따라 프린터 상에서 출력되면, 문서는 페이지가 매겨지거나(paginated) 그렇지 않으면 포맷팅된다(formatted). 포맷팅된 터미널 요소(835)는, 몇몇 경우에 있어서, 특히 콘텐트 오브젝트가 스타일에 관련된(style-related) 곳에서, 그 대응되는 터미널 요소가 관련되는 콘텐트 오브젝트와는 다른 콘텐트 오브젝트와 관련될 것이다. 또한, 문서 및 페이지의 각각의 인쇄된 인스턴스(printed instance)도 동일한 페이지 명세(page description)의 다른 인스턴스를 통하여 획득된 입력으로부터 구분되어 기록되는 특정 페이지 인스턴스를 통하여 획득되는 입력을 허용하기 위하여 구분되어 설명된다.
페이지 서버 상의 가장 추상적인 문서 명세의 존재에 힘입어, 사용자는 원본 문서의 특정 포맷을 감수하도록 강요받지 않으면서 문서의 사본을 요청할 수 있다. 예를 들어, 사용자는 상이한 페이지 크기로서 프린터를 통하여 사본을 요청할 수도 있다. 역으로, 페이지 서버 상의 포맷팅된 문서 명세의 존재에 힘입어, 페이지 서버도 효율적으로 특정 인쇄 페이지에 대한 사용자의 행위를 해석할 수 있다.
포맷팅된 문서(834)는 한 벌의 포맷팅된 페이지 명세(formatted page description)(5)로 이루어지며, 각각의 페이지 명세는 한 벌의 포맷팅된 터미널 요소(formatted terminal element)(835)로 이루어진다. 각각의 포맷팅된 요소는 페이지 상에서 공간적 범위(spatial extent), 즉 구역(zone)(58)을 가진다. 이것은 하이퍼링크 및 입력 영역(input field)과 같은 입력 요소의 활성 영역(active area)을 정의한다.
문서 인스턴스(831)는 포맷팅된 문서(834)에 대응된다. 문서 인스턴스는 한 벌의 페이지 인스턴스(830)로 이루어지며, 각각의 페이지 인스턴스는 그 포맷팅된 문서의 페이지 명세(5)에 대응된다. 각각의 페이지 인스턴스(830)는 하나의 고유한 인쇄된 넷페이지(single unique printed netpage)(1)를 기술하고, 그 넷페이지의 페이지 ID(50)를 기록한다. 페이지 인스턴스는 요청된 페이지의 사본을 독자적으로 표현하는 경우이더라도 문서 인스턴스(document instance)의 일부분은 아니다.
페이지 인스턴스는 한 벌의 터미널 요소 인스턴스(terminal element instance)(832)로 이루어진다. 하나의 요소 인스턴스는 오직 그 인스턴스에 특유한정보를 기록하는 경우에만 존재한다. 따라서, 하이퍼링크 인스턴스(hyperlink instance)는 그것이 페이지 인스턴스에 대하여 특정되는 처리 ID(transaction ID)(55)를 기록하기 때문에 하이퍼링크 요소를 위하여 존재하며, 영역 인스턴스(field instance)는 그것이 페이지 인스턴스에 대하여 특정되는 입력을 기록하기 때문에 영역 요소를 위하여 존재한다. 그러나, 요소 인스턴스는 텍스트 흐름(textflow)과 같은 정적 요소(static element)를 위하여는 존재하지 않는다.
도 27에 나타낸 바와 같이, 터미널 요소는 정적 요소(843), 하이퍼링크 요소(844), 영역 요소(845) 또는 페이지 서버 명령 요소(page server command element)(846)가 될 수 있다. 도 28에 나타낸 바와 같이, 정적 요소(843)는 관련 스타일 오브젝트(854)를 가지는 스타일 요소(847), 관련 텍스트 오브젝트(855)를 가지는 텍스트 흐름 요소(textflow element)(848), 관련 이미지 오브젝트(856)를 가지는 이미지 요소(849), 관련 그래픽 오브젝트(857)를 가지는 그래픽 요소(850), 관련 비디오 클립 오브젝트(video clip object)(858)를 가지는 비디오 클립 요소(851), 관련 오디오 클립 오브젝트(audio clip object)(859)를 가지는 오디오 클립 요소(852) 또는 관련 스크립트 오브젝트(script object)(860)를 가지는 스크립트 요소(853)가 될 수 있다.
페이지 인스턴스는 페이지 상에서 획득된 임의의 디지털 잉크를 기록하는 데 이용되는, 특정 입력 요소에 이용하지 않는 바탕 영역(background field)(833)을 가진다.
본 발명의 실시예에 있어서, 태그 맵(811)은 페이지 상의 태그가 그 페이지상의 위치(location)로 변환되도록 하는 각각의 페이지 인스턴스와 관련된다.
1.4 넷페이지 네트워크(THE NETPAGE NETWORK)
바람직한 실시예에 있어서, 넷페이지 네트워크는 도 3에 나타낸 바와 같이 분산된 일련의 넷페이지 페이지 서버(netpage page server)(10), 넷페이지 등록 서버(netpage registration server)(11), 넷페이지 ID 서버(netpage ID server)(12), 넷페이지 애플리케이션 서버(netpage application server)(14) 및 넷페이지 프린터(601)가 인터넷과 같은 네트워크(19)를 통하여 연결되어 이루어진다.
넷페이지 등록 서버(11)는 사용자, 펜, 프린터, 애플리케이션 및 출판물(publication) 간의 관계를 기록함으로써 다양한 네트워크 활동을 허가하는 서버이다. 넷페이지 등록 서버는 사용자를 인증(authenticate)하며, 애플리케이션 처리에 있어서 인증된 사용자(authenticated user)를 위한 서명 대리인(signing proxy)으로서 행동한다. 또한 넷페이지 등록 서버는 수기 인식 서비스(handwriting recognition service)를 제공한다. 상술한 바와 같이, 넷페이지 페이지 서버(10)는 페이지 명세(page description) 및 페이지 인스턴스에 관한 지속적인 정보를 유지한다. 넷페이지 네트워크는 임의의 개수의 페이지 서버를 포함하며, 각각의 페이지 서버는 페이지 인스턴스의 하위부분(subset)을 담당한다. 페이지 서버는 또한 각각의 페이지 인스턴스에 대한 사용자 입력 값(user input value)을 유지하므로, 넷페이지 프린터와 같은 클라이언트(client)는 넷페이지 입력(netpage input)을 직접 적절한 페이지 서버로 전송한다. 페이지 서버는 대응되는 페이지와 관련하여 임의의 그러한 입력을 해석한다.
넷페이지 ID 서버(12)는 요청에 따라 문서 ID(document ID)(51)를 할당하며, 그 ID 할당 도표(ID allocation scheme)를 경유하는 페이지 서버의 부하-균형(load-balancing)을 제공한다.
넷페이지 프린터는 넷페이지 페이지 ID(netpage page ID)(50)를 대응하는 페이지 인스턴스를 다루는 넷페이지 페이지 서버의 네트워크 어드레스(network address)로 변환하기 위하여 DNS(Internet Distributed Name System) 또는 이와 유사한 것을 이용한다.
넷페이지 애플리케이션 서버(13)는 대화형 넷페이지 애플리케이션을 운용하는 서버이다. 넷페이지 출판 서버(14)는 넷페이지 프린터로 넷페이지 문서를 출판하는 애플리케이션 서버이다. 이들은 섹션 2에서 더욱 상세하게 기술된다.
넷페이지 서버는 IBM, 휴렛 패커드(Hewlett-Packard) 및 썬(Sum)과 같은 제조회사로부터의 다양한 네트워크 서버 플랫폼 상에서 운용될 수 있다. 복수의 넷페이지 서버가 하나의 호스트(host)에서 동시 다발적으로 실행될 수도 있으며, 하나의 서버가 다수의 호스트에 분산될 수도 있다. 넷페이지 서버에 의하여 제공되는 일부 또는 전부의 기능, 특히 ID 서버 및 페이지 서버에 의하여 제공되는 기능은, 컴퓨터 워크스테이션이나 지역 네트워크 상에서의 넷페이지 프린터와 같은 넷페이지 장치에 의해서 직접 제공될 수도 있다.
1.5 넷페이지 프린터(THE NETPAGE PRINTER)
넷페이지 프린터(601)는 넷페이지 시스템에 등록된 장치로서, 요청 및 구독(subscription)에 따른 넷페이지 문서를 인쇄한다. 각각의 프린터는 고유 프린터 ID(62)를 가지며, 인터넷과 같은 네트워크, 이상적으로는 광대역 접속(broadband connection)을 통하여 넷페이지 네트워크에 접속된다.
불휘발성(non-volatile) 메모리에서의 식별 및 보안 설정과는 별개로, 넷페이지 프린터는 지속성 기억장치(persistent storage)를 포함하지 않는다. 사용자에 관한 한, "네트워크가 컴퓨터이다". 넷페이지는, 특정 넷페이지 프린터와는 독립적으로, 분산 넷페이지 페이지 서버(distributed netpage page server)(10)에 힘입어 시간과 공간을 넘나들며 양방향으로 작용한다.
넷페이지 프린터는 넷페이지 출판 서버(14)로부터 구독한 넷페이지 문서(subscribed netpage document)를 수신한다. 각각의 문서는 두 부분, 즉 페이지 배열(page layout) 및 페이지를 차지하는 실제 텍스트와 이미지 오브젝트(actual text and image object)로 구분된다. 개인화(personalization)로 인하여, 페이지 배열은 대개 특정 구독자에 대하여 특화되며, 적절한 페이지 서버를 통한 그 구독자의 프린터로의 포인트캐스트(pointcast) 또한 마찬가지이다. 반면, 텍스트 및 이미지 오브젝트는 대개 다른 구독자들과 공유되고, 적절한 페이지 서버를 통한 모든 구독자의 프린터로의 멀티캐스트(multicast) 또한 마찬가지이다.
넷페이지 출판 서버는 문서 내용의 포인트캐스트 및 멀티캐스트로의 분할을 최적화한다. 문서의 페이지 배열의 포인트캐스트를 수신한 뒤, 프린터는 (만일 있다면,) 어떤 멀티캐스트를 수신하여야 할 것인지를 인지한다.
일단 프린터가 인쇄될 문서를 정의하는 완전한 페이지 배열 및 오브젝트를 수신하면, 프린터는 그 문서를 인쇄한다.
프린터는 래스터화(rasterize)를 수행하고, 홀수 및 짝수 페이지를 동시에 용지의 양면에 인쇄한다. 이러한 목적을 위하여 이중 프린트 엔진 제어기(duplexed print engine controller)(760) 및 멤젯(Memjet)(상표) 프린트 헤드(350)를 사용하는 프린트 엔진이 포함된다.
인쇄 과정은 분리된 두 개의 단계, 즉 페이지 명세의 래스터화 (rasterization) 및, 페이지 이미지의 확대와 인쇄로 이루어진다. 래스터 이미지 프로세서(raster image processor)(RIP)는 병렬적으로 동작하는 하나 또는 그 이상의 표준 DSP(757)로 이루어진다. 이중 프린트 엔진 제어부는 프린트 엔진의 프린트 헤드의 동작에 동기(synchronized)하여 실시간으로 페이지 이미지의 확대, 디더링(dithering) 및 인쇄를 수행하는 주문형 프로세서로 이루어진다.
적외선 인쇄(IR printing)가 불가능한 프린터는, 태그가 그렇지 않은 경우에 비어 있을 페이지의 영역을 제한하게 되더라도, 적외선 흡수성(IR-absorptive) 흑색 잉크를 사용하여 태그를 인쇄하도록 하는 선택사항(option)이 있다. 그러한 페이지는 적외선 인쇄되는 페이지(IR-printed page)보다 더욱 제한된 기능을 가지게 되지만, 여전히 넷페이지인 것으로 분류된다.
일반적인 넷페이지 프린터는 종이 용지 상에 넷페이지를 인쇄한다. 보다 특화된 넷페이지 프린터는 구체(globe)와 같은 보다 특화된 표면에 넷페이지를 인쇄할 수 있다. 각각의 프린터는 적어도 하나의 표면 유형을 지원하며, 적어도 하나의 태그 경사 도표(tag tilting scheme)를 지원하므로, 각각의 표면 유형을 위한 태그 맵을 지원한다. 실제로는 문서를 인쇄하는 데 이용되는 태그 경사 도표를 설명하는태그 맵(811)은, 그 문서와 관련되어 그 문서의 태그가 올바로 해석될 수 있도록 한다.
도 2는 넷페이지 네트워크 상의 등록 서버(11)에 의하여 유지되는 프린터 관련 정보(printer-related information)를 반영하는 넷페이지 프린터 클래스도를 나타낸다.
넷페이지 프린터의 바람직한 실시예가 아래의 섹션 6에서 도 11 내지 도 16을 참조하여 더욱 상세하게 기술된다.
1.5.1 멤젯(상표) 프린트 헤드(Memjet(TM) Printheads)
넷페이지 시스템은 열전사 방식 잉크젯(thermal inkjet), 압전식 잉크젯(piezoelectric inkjet), 레이저 전자사진 방식 (laser electrophotographic) 등을 포함하는 광범위한 디지털 인쇄 기술에 의한 프린터를 이용하여 운영될 수 있다. 그러나 사용자의 폭 넓은 수용을 위하여, 넷페이지 프린터는 다음과 같은 특성을 가지는 것이 바람직하다.
· 사진 품질의 컬러 인쇄
· 고품질 텍스트 인쇄
· 고 신뢰성
· 적은 인쇄 비용
· 적은 잉크 비용
· 적은 용지 비용
· 단순한 동작
· 지극히 조용한 인쇄
· 빠른 인쇄 속도
· 양면 동시 인쇄
· 간결한 양식 인자(compact form factor)
· 적은 소비 전력
상용화되어 있는 어떠한 인쇄 기술도 이러한 특징 모두를 만족하지는 않는다.
이러한 특징을 가지는 프린터의 제조를 실현하기 위하여, 본 출원인은 멤젯(상표)(Memjet(TM)) 기술이라고 일컬어지는 새로운 인쇄 기술을 발명하였다. 멤젯(상표)은 초소형 정밀전기기계(microelectromechanical systems(MEMS)) 기술을 이용하여 제조되는, 페이지폭(pagewidth)의 프린트 헤드를 내장한 드롭-온-디맨드(drop-on-demand) 방식 잉크젯 기술이다. 도 17은 멤젯(상표) 프린트 헤드의 단일 인쇄 요소(single print element)(300)를 나타낸 도면이다. 넷페이지 벽면 장착형 프린터(wallprinter)는 1600dpi 페이지폭 이중 프린터(duplex printer)를 구현하기 위하여 168960개의 인쇄 요소(300)를 내장한다. 이 프린터는 시안(cyan), 마젠타(magenta), 황색(yellow), 흑색(black) 및 용지 첨가제(paper conditioner)와 잉크 정착액(ink fixative)은 물론이고 적외선 잉크(infrared ink)까지도 동시에 인쇄한다.
인쇄 요소(300)는 대략 110 미크론의 길이와 32 미크론의 너비를 가진다. 이러한 인쇄 요소의 배열은, CMOS 논리, 데이터 전송, 타이밍 및 구동 회로(도시되지않음)를 내장하는 실리콘 기판(301) 위에 형성된다.
인쇄 요소(300)의 주요 요소는 노즐(nozzle)(302), 노즐 림(nozzle rim)(303), 노즐 챔버(nozzle chamber)(304), 유체 실(fluidic seal)(305), 잉크 채널 림(ink channel rim)(306), 레버 암(lever arm)(307), 능동 액추에이터 빔 쌍(active actuator beam pair)(308), 수동 액추에이터 빔 쌍(passive actuator beam pair)(309), 능동 액추에이터 앵커(active actuator anchor)(310), 수동 액추에이터 앵커(311) 및 잉크 주입구(ink inlet)(312)이다.
능동 액추에이터 빔 쌍(308)은 접합점(319)에서 수동 액추에이터 빔 쌍(309)과 기계적으로 결합된다. 두 빔 쌍 모두는 각각의 고정점(anchor point)(310,311)에서 고정된다. 요소(308,309,310,311,319)의 결합은 외팔보 열전자 굴곡 액추에이터(cantilevered electrothermal bend actuator)(320)를 형성한다.
도 18은 인쇄 요소(300)의 단면(315)을 포함하는, 인쇄 요소(300)의 배열의 일부분이다. 실리콘 웨이퍼(301)를 관통하는 잉크 주입구(312)를 명확히 표현하기 위하여, 단면(315)은 잉크없이 나타낸다.
도 19(a), 19(b) 및 19(c)는 멤젯(상표) 인쇄 요소(300)의 동작 사이클을 나타낸다.
도 19(a)는 미세 잉크방울(droplet)을 인쇄하기 전의 잉크 메니스커스(316)의 정지 위치를 나타낸다. 잉크는 노즐 챔버(304) 및 잉크 채널 림(306) 사이에 형성된 잉크 메니스커스(316) 및 유체 실(305)의 표면장력에 의하여 노즐 챔버에서유지된다.
인쇄 중에, 프린트 헤드의 CMOS 회로는 프린트 엔진으로부터 적절한 인쇄 요소로 데이터를 분배하고, 데이터를 유지(latch)하며, 능동 액추에이터 빔 쌍(308)의 전극(318)을 구동하기 위하여 데이터를 버퍼한다. 이것은 전류가 빔 쌍(308)을 통하여 약 1 마이크로초(microsecond) 가량 흐르도록 함으로써 줄 열(Joule heating)을 발생시킨다. 줄 열로 인한 온도 상승으로 인하여 빔 쌍(308)이 팽창한다. 수동 액추에이터 빔 쌍(309)은 가열되지 않으므로, 팽창하지 않게 되어 두 빔 쌍 간의 응력 차(stress difference)를 발생시킨다. 이 응력 차는 부분적으로는 열전자 굴곡 액추에이터의 외팔보 말단(320)이 기판(301)을 향하여 굽음으로써 해결된다. 레버 암(307)은 이 운동을 노즐 챔버(304)로 전달한다. 노즐 챔버(304)는 도 19(b)에 나타낸 바와 같은 위치로 약 2 미크론(micron) 가량 이동한다. 이것은 잉크 입력을 증가시켜, 잉크(321)를 노즐(302)에서 압박하면서 잉크 메니스커스(316)를 팽창시킨다. 노즐 림(303)은 잉크 메니스커스(316)가 노즐 챔버(304)의 표면으로 퍼지는 것을 방지한다.
빔 쌍(308,309)의 온도가 같아지면, 액추에이터(320)는 원래의 위치로 돌아온다. 이것은 도 19(c)에 나타난 바와 같이, 노즐 챔버 안에서 잉크(312)로부터 잉크 미세방울(317)이 멈추는 것을 돕는다. 노즐 챔버는 메니스커스(316)에서의 표면장력에 의하여 다시 채워진다.
도 20은 프린트 헤드(350)의 단편이다. 넷페이지 프린터에서, 프린트 헤드의 길이는 가로 방향(351)의 전체 너비(대개 210mm)가 된다. 도시된 단편의 길이는0.4mm(완전한 프린트 헤드의 약 0.2%)이다. 인쇄 시에, 종이는 고정된 프린트 헤드를 세로 방향(352)으로 지나친다. 프린트 헤드는 잉크 주입구(312)로부터 공급되는 6가지 색상 또는 종류의 잉크를 인쇄하는 6행의 맞물린 인쇄 요소(300)를 가진다.
작동 중에 프린트 헤드의 약한 표면을 보호하기 위하여, 노즐 보호 웨이퍼(nozzle guard wafer)(330)가 프린트 헤드 기판(printhead substrate)(301)에 부착된다. 각각의 노즐(302)에는, 잉크 미세방울이 태워지는, 노즐에 대응되는 노즐 보호 홀(nozzle guard hole)(331)이 있다. 노즐 보호 홀(331)이 종이의 섬유질 기타 부스러기에 의하여 막히는 것을 방지하기 위하여, 여과된 공기가 인쇄 중에 공기 주입구(332) 및 노즐 보호 홀로 압출된다. 잉크(321)의 건조를 방지하기 위하여, 노즐 보호기(nozzle guard)는 프린터가 대기중인 동안에는 봉인된다.
1.6 넷페이지 펜(The Netpage Pen)
넷페이지 시스템의 능동 감지 장치(active sensing device)는 대개 내장된 제어기(134)를 이용함으로써 이미지 센서를 통하여 페이지로부터 적외선 위치 태그(IR position tag)를 획득하여 복호화할 수 있는 펜(101)이 된다. 이미지 센서는 적외선에 근접한(near-infrared) 파장만을 감지하도록 적절한 필터가 제공되는 고체 상태의 소자이다. 아래에 더욱 상세하게 기술되다시피, 본 시스템은 펜촉이 표면과 접촉할 때에 감지를 할 수 있고, 펜은 수기(handwriting)를 획득하기에 충분한 정도(즉, 100Hz 이상의 주파수에서 200dpi 이상의 해상도)로 태그를 감지할 수 있다. 펜에 의하여 획득되는 정보는 부호화되어 프린터(또는 기지국(base station))으로 무선 전송되고, 프린터 또는 기지국은 그 데이터를 (알려진) 페이지구조와 관련하여 해석하거나, 실시예 중 하나에 있어서, 해석을 위해서 넷페이지 서버측으로 정보를 전송한다.
넷페이지펜의 바람직한 실시예에서, 펜은 일반적인 표시용 잉크 펜 및 비표시용 스타일러스 펜(non-marking stylus)의 동작을 함께 수행한다. 그러나, 표시의 용도로는 인터넷 인터페이스로서 사용하는 것과 같이 브라우징 시스템(browsing system)으로서 넷페이지 시스템을 이용할 필요는 없다. 각각의 넷페이지 펜은 넷페이지 시스템에 등록되어 고유 펜 ID(unique pen ID)(61)를 가진다. 도 23은 넷페이지 네트워크 상에서 등록 서버(registration server)(11)에 의하여 유지되는 펜 관련 정보(pen-related information)를 나타내는 넷페이지 펜 클래스도(netpage pen class diagram)이다.
펜촉(nib)이 넷페이지를 접촉하면, 펜은 페이지에 대한 펜의 상대적 위치 및 방향을 결정한다. 펜촉에는 압력 센서(force sensor)가 부착되고, 펜촉에 가해지는 압력을 문턱값(threshold)을 기준으로 해석하여 펜이 "업(up)"인지 "다운(down)"인지를 표시한다. 이로써 페이지 상의 대화형 요소가 이른바 네트워크로부터의 정보를 요청하기 위하여 펜촉을 누름으로써 '클릭(click)'된다. 나아가, 압력은 서명(signature)을 검증하기 위한 이른바 풀 다이내믹스(full dynamics)를 참작하기 위하여 연속적인 값(continuous value)으로서 획득된다. 펜촉은 필기 시에 일반적으로 인가되는 것보다 큰 특정 압력이 가해지는 경우에는 움직일 수 있다. "클릭"을 하기 위해서 사용자는 펜촉을 움직이기에 충분한 압력을 인가하게 된다. 이는 비가동식 펜촉이 제공하는 피드백과 비교하면 더욱 바람직한 피드백을 제공할수 있다.
펜은 적외선 스펙트럼에서 페이지의 펜촉 인접 영역(193)을 비춤으로써(imaging) 넷페이지 상에서 펜촉의 위치 및 방향을 결정한다. 그것은 가장 가까운 태그를 복호화하고, 비추어진 태그에서 관측된 투시 왜곡 및 알려진 펜 광학 구조(geometry of the pen optics)로부터 그 태그에 대한 펜촉의 상대적인 위치를 계산한다. 페이지 상의 태그의 밀도가 태그의 크기에 반비례하므로 태그의 위치 해상도(position resolution)가 낮을 수 있음에도 불구하고, 보정된 위치 해상도(adjusted position resolution)는 수기(handwriting)를 정확히 판독하기 위하여 필요한 최소 해상도를 넘어설 정도로 상당히 높다.
넷페이지에 대한 펜의 상대적인 움직임은 일련의 스트로크(a series of strokes)로서 획득된다. 하나의 스트로크는, 펜-다운(pen-down) 발생시 개시되고 펜-업(pen-up) 발생시 종료되는, 시간이 기록된(time-stamped) 페이지상의 일련의 펜 위치(pen position)로 이루어진다. 또한, 스트로크에는 페이지 ID가 변경될 때마다 넷페이지의 페이지 ID(50)가 붙여지는데, 페이지 ID는 일반적인 환경에서는 그 스트로크의 처음(commencement)에 있게 된다.
각각의 넷페이지 펜은 관련된 현재 선택(current selection)(826)을 가지며, 사용자가 복사 및 붙여넣기 등의 작업을 수행할 수 있도록 한다. 선택(selection)에는 설정된 시간 주기(defined time period)가 경과한 후에는 시스템이 폐기할 수 있도록 시간이 기록된다. 현재 선택은 페이지 인스턴스의 영역을 기술한다. 그것은 펜을 통하여 획득된, 페이지의 바탕 영역과의 관계에서 가장 새로운 디지털 잉크스트로크(digital ink stroke)로 이루어진다. 일단 선택된 하이퍼링크 활성화를 통하여 애플리케이션으로 제출되고 나면, 그것은 그 애플리케이션에 특유한(application-specific) 방식으로 해석된다.
각각의 펜은 현재 펜촉(current nib)(824)을 가진다. 이것은 펜에 의하여 시스템에 최후로 알려진 펜촉이다. 상술한 바와 같은 기본(default) 넷페이지 펜의 경우에는 표시용 흑색 잉크 펜촉 또는 비표시용 스타일러스 펜촉이 현재 펜촉이 된다. 각각의 펜은 또한 현재 펜촉 스타일(current nib style)(825)을 가진다. 이것은 예를 들어 사용자가 팔레트로부터 색상을 선택하는 행위에 대한 응답의 경우와 같은, 애플리케이션에 의하여 펜과 관련되는 최후의 펜촉 스타일이다. 기본 펜촉 스타일(default nib style)은 현재 펜촉과 관련된 펜촉 스타일이다. 펜을 통하여 획득되는 스트로크에는 현재 펜촉 스타일이 붙여진다. 스트로크가 계속하여 복제(reproduced)되면, 이들은 이들에 붙여진 펜촉 스타일에서 복제된다.
펜이 통신의 대상이 되는 프린터의 범위 내에 있을 때면 언제나 펜은 "온라인(online)" LED를 천천히 반짝인다. 펜이 페이지에 관한 스트로크의 복호화에 실패하면, 펜은 잠시 "오류(error)" LED를 활성화시킨다. 펜이 페이지에 관한 스트로크의 복호화에 성공하면, 펜은 잠시 "ok" LED를 활성화시킨다.
일련의 획득된 스트로크는 디지털 잉크라 일컬어진다. 디지털 잉크는 그림(drawings)과 수기(handwriting)의 디지털 교환, 수기의 온라인 인식 및 서명의 온라인 검증에 대한 토대를 형성한다.
펜은 무선이며, 근거리 무선 연결을 통하여 디지털 잉크를 넷페이지 프린터로 전송한다. 전송된 디지털 잉크는 프라이버시와 보안을 위하여 암호화(encrypted)되고, 효율적인 전송을 위하여 패킷화(packetized)되지만, 프린터에서의 적시 취급을 보장하기 위하여 펜-업(pen-up) 발생시 항상 플러시(flush)된다.
펜이 프린터의 범위 밖에 있을 때, 그것은 내부 메모리에 디지털 잉크를 버퍼(buffer)하는데, 그 내부 메모리는 10분 이상의 연속 수기(continuous handwriting) 용량을 가진다. 펜이 프린터의 범위 내에 다시 속하면, 그것은 버퍼된 디지털 잉크를 전송한다.
하나의 펜은 임의의 개수의 프린터와 함께 등록될 수 있지만, 모든 상태 데이터(state data)가 용지 상의 넷페이지 및 네트워크 상의 넷페이지에 모두 존재하므로, 펜이 특정 시간에 어느 프린터와 통신하고 있는지는 대부분 중요치 않다.
펜의 바람직한 실시예가 이하 섹션 6에서 도 8 내지 도 10을 참조하여 더욱 상세하게 기술된다.
1.7 넷페이지 상호작용(NETPAGE INTERACTION)
넷페이지 프린터(601)는, 넷페이지(1)와의 상호작용에 펜이 이용될 때에 펜(101)으로부터 스트로크와 관련된 데이터를 수신한다. 태그(4)의 부호화된 데이터(3)는 펜이 스트로크와 같은 동작의 수행에 이용될 때에 펜에 의하여 판독된다. 데이터는, 특정 페이지의 정체(identity) 및 관련된 대화형 요소(interactive element)가 결정되고, 페이지에 대한 펜의 상대적인 위치 표시가 얻어지도록 한다. 표시 데이터(indication data)는 프린터로 전송되는데, 프린터에서 표시 데이터는,DNS를 경유하여, 스트로크의 페이지 ID(50)를 대응되는 페이지 인스턴스(830)를 유지하는 넷페이지 페이지 서버(10)의 네트워크 어드레스로 변환한다. 그 다음, 프린터는 스트로크를 페이지 서버로 전송한다. 만일 페이지가 최근에 이전의 스트로크에서 식별되었다면, 프린터는 이미 관련 페이지 서버의 어드레스를 캐시(cache) 내에 가지고 있을 수 있다. 각각의 넷페이지는 넷페이지 페이지 서버(이하 참조)에 의하여 지속적으로 유지되는 간결한 페이지 레이아웃(compact page layout)으로 이루어진다. 페이지 레이아웃은 대개 넷페이지 네트워크의 어딘가에 저장되는 이미지, 폰트(font) 및 텍스트와 같은 오브젝트에 관련된다.
페이지 서버가 펜으로부터 스트로크를 수신하면, 페이지 서버는 스트로크에 적용되는 페이지 명세를 검색하고, 페이지 명세의 어떤 요소가 스트로크와 교차되는지를 결정한다. 그리고 나면 페이지 서버는 관련된 요소의 형식의 맥락에서 스트로크를 해석할 수 있게 된다.
"클릭(click)"은 펜 다운 위치와 후속하는 펜 업 위치 사이의 거리 및 시간이 모두 어떤 작은 최대값(small maximum)보다 작은 스트로크이다. 클릭에 의하여 활성화되는 오브젝트는 대개 활성화되기 위하여 클릭을 요청하므로, 더 긴 스트로크는 무시된다. "슬로피(sloppy) 클릭"과 같은, 등록을 위한 펜 동작의 실패는 펜의 "ok" LED로부터의 응답이 없는 것으로써 표시된다. 그러나, 넷페이지가 "클릭" 버튼을 포함하는 부분에서는 언제 펜 다운과 펜업 위치 모두가 버튼의 영역 내에 있는지가 등록될 수 있다.
넷페이지 페이지 명세에는 두 가지의 입력 요소, 즉 하이퍼링크 및 양식 영역(form field)이 있다. 양식 영역을 통한 입력은 또한 관련된 하이퍼링크의 활성화를 개시(trigger)할 수 있다.
1.7.1 하이퍼링크(Hyperlinks)
하이퍼링크는 원격 애플리케이션에 메시지를 보내는 수단으로서, 대개 넷페이지 시스템에서의 인쇄된 응답(printed response)을 유도한다.
하이퍼링크 요소(844)는 하이퍼링크의 활성화를 다루는 애플리케이션(71)과, 애플리케이션에 대한 하이퍼링크를 식별하는 연결 ID(link ID)(54)와, 하이퍼링크 활성화에 사용자의 애플리케이션 별명 ID(user's application alias ID)(65)를 포함할 것을 시스템에 요청하는 "별명 요청" 플래그("alias required" flag) 및 하이퍼링크가 즐겨찾기로서 기록되거나 또는 사용자의 히스토리(history)에 나타날 때에 이용되는 명세(description)를 식별한다. 하이퍼링크 요소 클래스도(hyperlink element class diagram)는 도 29에 나타나 있다.
하이퍼링크가 활성화되면, 페이지 서버는 네트워크 상의 어딘가에 있는 애플리케이션으로 요청(request)을 보낸다. 애플리케이션은 애플리케이션 ID(64)에 의하여 식별되며, 그 애플리케이션 ID는 DNS를 경유하여 일반적인 방식으로 변환된다. 하이퍼링크에는 세 가지의 종류, 즉 도 30에 나타난 바와 같은 일반적인 하이퍼링크(863), 양식 하이퍼링크(865) 및 선택 하이퍼링크(864)가 있다. 일반적인 하이퍼링크는 연결된(linked) 문서를 위한 요청을 실행할 수 있고, 또는 서버에 선호도(preference)를 단순히 신호할 수 있다. 양식 하이퍼링크는 대응되는 양식을 애플리케이션에 제출한다. 선택 하이퍼링크는 현재 선택(current selection)을 애플리케이션에 제출한다. 만일 현재 선택이 예를 들어 텍스트의 단일 워드(single-word of text)를 포함하면, 애플리케이션은 그 워드가 나타나는 맥락에서 그 워드에 의미를 부여하는 단일 페이지 문서(single-page document) 또는 다른 언어로의 번역을 리턴(return)할 수 있다. 각각의 하이퍼링크 종류는 어떤 정보가 애플리케이션에 제출되는가에 따라 특징지어진다.
대응되는 하이퍼링크 인스턴스(862)는, 그 하이퍼링크 인스턴스가 나타나는 페이지 인스턴스에 따라 특정될 수 있는 처리 ID(55)를 기록한다. 처리 ID는, 예를 들어 사용자측에서 구매 애플리케이션(purchasing application)에 의하여 유지되는 구매 중인 "장바구니(shopping cart)"와 같이, 사용자에 특유한 데이터를 애플리케이션으로 식별할 수 있다.
시스템은 선택 하이퍼링크 활성화에서 펜의 현재 선택(826)을 포함한다. 양식 하이퍼링크가 "제출 델타" 속성 집합("submit delta" attribute set)을 가지면, 양식 제출 이후의 입력만이 포함되더라도, 시스템이 관련된 양식 인스턴스(868)의 내용(content)을 양식 하이퍼링크 활성화에 포함한다. 시스템은 모든 하이퍼링크 활성화에 있어서 효율적인 리턴 경로(return path)를 포함한다.
하이퍼링크된 그룹(hyperlinked group)(866)은 도 31에 나타난 바와 같이 관련돤 하이퍼링크를 가지는 그룹 요소(838)이다. 입력이 그룹 내의 임의의 영역 요소를 통하여 발생하면, 그 그룹에 관련된 하이퍼링크(844)가 활성화된다. 하이퍼링크된 그룹은 하이퍼링크 행위(hyperlink behavior)를 체크박스(chechbox)와 같은 영역과 관련시키는 데 사용될 수 있다. 그것은 또한 양식 하이퍼링크의 "제출 델타" 속성과 연계하여 연속적인 입력을 애플리케이션에 제공하는데 사용될 수 있다. 따라서, 그것은 "칠판(blackboard)" 대화형 모델, 즉 입력이 발생하자 마자 그 입력이 획득됨으로써 공유되는 대화형 모델을 지원하도록 이용될 수 있다.
1.7.2 양식(Forms)
양식은 관련된 한 벌의 입력(related set of inputs)을 인쇄된 넷페이지를 통하여 획득하는 데 이용되는, 관련된 입력 영역의 모음(collection)을 정의한다. 양식은 사용자가 하나 또는 그 이상의 파라미터를 서버에서 구동되는 애플리케이션 소프트웨어 프로그램에 제출할 수 있도록 한다.
양식(867)은 문서 계층(document hierarchy)에서의 그룹 요소(838)이다. 양식은 궁극적으로 한 벌의 터미널 영역 요소(terminal field element)(839)를 포함한다. 양식 인스턴스(868)는 양식의 인쇄된 인스턴스(printed instance)를 나타낸다. 양식 인스턴스는 그 양식의 영역 요소(845)에 대응되는 한 벌의 영역 인스턴스(870)로 이루어진다. 각각의 영역 인스턴스는 관련된 값(871)을 가지며, 그 값의 유형(type)은 대응되는 영역 요소의 유형에 종속된다. 각각의 영역 값(field value)은 특정의 인쇄된 양식 인스턴스를 통하여, 즉 하나 또는 그 이상의 인쇄된 넷페이지를 통하여 입력을 기록한다. 양식 클래스도가 도 32에 나타나 있다.
각각의 양식 인스턴스는 양식이 활성화, 동결(frozen), 제출, 무효 또는 만료를 가리키는 상태(status)(872)를 가진다. 양식은 최초로 인쇄될 때 활성화된다. 양식은 일단 서명되면 동결된다. 양식은 일단 그 제출 하이퍼링크 중 하나가 활성화되면, 그 하이퍼링크가 "제출 델타" 속성 집합을 가지고 있지 않는 한 제출된다. 사용자가 무효 양식을 호출하여 양식을 리셋하거나 양식 페이지 명령(form page command)을 복사하면, 양식은 무효가 된다. 양식이 활성화된 시간이 특정 지속시간(lifetime)을 경과하면 양식은 만료된다. 양식이 활성화된 동안에는 양식 입력이 허용된다. 활성화되지 않은 양식을 통한 입력은 관련된 페이지 인스턴스의 바탕 영역에서 대신 획득된다.
양식이 활성 또는 동결 상태이면, 양식 제출이 허용된다. 양식이 활성 또는 동결이 아닌 상태에서는 어떠한 양식 제출 시도도 거부되며, 대신 양식 상태 보고(form status report)가 유도된다.
각각의 양식 인스턴스는 그로부터 유래하는 임의의 양식 인스턴스와 관련하여 버전 히스토리(version history)를 제공한다(59). 이것은 특정 시간 주기에서 최후의 버전 외의 모든 버전의 양식이 검색 배제되도록 한다.
모든 입력은 디지털 잉크로서 획득된다. 디지털 잉크(873)는 한 벌의 시간이 기록된 스트로크 그룹(timestamped stroke group)(876)으로 이루어지며, 각각의 시간이 기록된 스트로크 그룹은 한 벌의 스타일이 지정된 스트로크(styled stroke)(875)로 이루어진다. 각각의 스트로크는 한 벌의 시간이 기록된 펜 위치(pen position)(876)로 이루어지며, 각각의 시간이 기록된 펜 위치는 또한 펜 방향(pen orientation) 및 펜촉 압력(nib force)을 포함한다. 디지털 잉크 클래스도가 도 33에 나타나 있다.
영역 요소(845)는 체크박스 영역(877), 텍스트 영역(878), 그림 영역(879)또는 서명 영역(880)이 될 수 있다. 영역 요소 클래스도가 도 34에 나타나 있다. 하나의 영역의 구역(58)에 획득되는 디지털 잉크는 그 영역으로 지정된다.
체크박스 영역은 도 35에 나타난 바와 같이 관련된 부울대수 값(boolean value)(881)을 가진다. 체크박스 영역의 구역에 표시(점, 가위표, 선긋기, 지그재그로 칠하기 등)가 획득됨으로써 그 영역의 값에 참의 진리값(true value)이 지정된다.
텍스트 영역은 도 36에 나타난 바와 같이 관련된 텍스트 값(882)을 가진다. 텍스트 영역의 구역에 획득되는 디지털 잉크는 자동적으로 온라인 수기 인식(online handwriting recognition)을 통하여 텍스트로 변환되고, 그 텍스트가 그 영역의 영역 값(field's value)으로 지정된다. 온라인 수기 인식은 공지되어 있다(예를 들어, Tappert, C., C.Y.Suen and T.Wakahara,"The State of the Art in On-Line Handwriting Recognition", IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol.12, No.8, August 1990을 참조하라. 그 내용은 여기에서 상호 참조로서 통합된다.). 특화된 택스트 영역은 날짜 및 숫자 필드를 포함한다.
서명 영역은 도 37에 나타난 바와 같이 관련된 디지털 서명 값(883)을 가진다. 서명 영역의 구역에 디지털 잉크가 획득되면, 자동으로 그 펜의 소유자의 정체(identity)와의 관계가 검증되고, 그 영역을 일부로 하는 양식의 내용에 대한 디지털 서명이 생성되어 그 영역의 영역 값으로 지정된다. 디지털 서명은 그 양식을 소유하는 애플리케이션에 특유한 펜 사용자의 비밀 서명 키(private signaturekey)를 이용하여 생성된다. 온라인 서명 검증(online signature verification)은 공지되어 있다(예를 들어, Plamondon, R. and G. Lorette, "Automatic Signature Verification and Writer Identification - The State of the Art", Pattern Recognition, Vol.22, No.2, 1989를 참조하라. 그 내용은 여기에서 상호 참조로서 통합된다.).
영역 요소는 그 "은폐(hidden)" 속성이 설정되어 있으면 은폐된다. 은폐된 영역 요소는 입력 영역을 페이지 상에 가지지 않으며, 입력을 받아들이지 않는다. 그것은 그 영역을 포함하는 양식이 제출될 때에 양식 데이터에 포함되는 관련 영역 값을 가질 수 있다. 삭제를 가리키는, 날려버리기(strike-through)와 같은 "편집(editing)" 명령 또한 양식 영역에서 인식될 수 있다.
수기 인식 알고리즘은 (펜으로 표시된 비트맵만을 액세스하는) '오프라인'보다 (펜 동작의 움직임(dynamics)을 액세스하는) '온라인'에서 더 효과적이기 때문에, 계속해서 이산적으로 기재되는 문자(run-on discretely-written characters)를 작성자 종속형(writer-dependent) 훈련 단계 없이도 비교적 높은 정확도로 인식할 수 있다. 작성자 종속형 수기 모델은 시간이 지나면 자동적으로 생성되지만, 필요하다면 그 전에 생성시킬 수도 있다.
전술한 바와 같이, 디지털 잉크는 일련의 스트로크로 이루어진다. 특정 요소의 구역에서 시작하는 어느 스트로크라도 그 요소의 디지털 잉크 스트림(digital ink stream)에 첨부되어, 해석될 준비가 된다. 오브젝트의 디지털 잉크 스트림에 첨부되지 않는 스트로크는 바탕 영역의 디지털 잉크 스트림에 첨부된다.
바탕 영역에서 획득되는 디지털 잉크는 선택(selection) 의사 표시로 해석된다. 실제의 해석이 애플리케이션에 특유한 것이더라도, 하나 또는 그 이상의 오브젝트의 한계 지정(circumscription)은 일반적으로 한계 지정된 오브젝트를 선택하는 것으로 해석된다.
표 2는 이러한 넷페이지에 대한 펜의 다양한 상호작용을 요약한 것이다.
표 2 - 펜과 넷페이지의 상호 작용 요약
오브젝트 형식 펜 입력 동작
하이퍼링크 일반 클릭 애플리케이션에 동작(action) 제출
양식 클릭 애플리케이션에 양식 제출
선택 클릭 애플리케이션에 선택 제출
양식 영역 체크박스 임의 표시 영역에 참인 진리값 지정
텍스트 수기 디지털 잉크를 텍스트로 변환; 텍스트를 영역에 지정
그림 디지털 잉크 디지털 잉크를 영역에 지정
서명 서명 디지텅 잉크 서명 검증; 양식의 디지털 서명 생성; 영역에 디지털 서명을 지정
없음 - 한계지정 디지털 잉크를 현재 선택에 지정
시스템은 각각의 펜에 대한 현재 선택을 유지한다. 선택은 바탕 영역에서 획득되는 가장 새로운 스트로크로 단순히 이루어진다. 선택은 예측 가능한 행위를 보장하기 위하여 비활동 타임아웃(inactivity timeout) 후에 지워진다.
모든 영역에서 획득되는 원시 디지털 잉크(raw digital ink)는 넷페이지 서버 상에 유지되고, 양식이 애플리케이션에 제출되는 경우에 양식 데이터와 함께 선택적으로 전송된다. 이것은 수기 텍스트의 변환과 같은, 본래의 변환이 의심되는경우에 애플리케이션이 원시 디지털 잉크를 점검(interrogate)할 수 있도록 한다. 예를 들어, 소정의 애플리케이션에 특유한 일관성 체크에 실패한 양식에 대한, 애플리케이션 레벨(level)에서의 인간의 개입을 포함한다. 이에 대한 확장으로서, 양식의 바탕 영역 전체가 그리기 영역(drawing field)으로 지정될 수 있다. 그 양식의 명시적인 영역 밖의 디지털 잉크의 존재를 토대로, 사용자가 그 영역 밖에 있는 채워진 영역에 수정을 지시할 수 있다는 가정에서, 애플리케이션은 그 양식을 인간 운영자(human operator)에게로 경로 지정(route)할 수 있다.
도 38은 넷페이지에 관한 펜 입력을 취급하는 절차의 흐름도이다. 이 절차는 펜으로부터 스트로크를 수신하는 단계(884); 스트로크에서 페이지 ID(50)가 관련 페이지 인스턴스(830)를 식별하는 단계(885); 페이지 명세(5)를 검색하는 단계(886); 스트로크가 교차하는 구역(58)의 포맷팅된 요소(839)를 식별하는 단계(887); 그 포맷팅된 요소가 영역 요소에 대응되는지 여부를 결정하는 단계(888), 만일 그렇다면 그 수신된 스트로크를 영역 값(871)의 디지털 잉크에 첨부하는 단계(892), 그 영역의 누적된 디지털 잉크를 해석하는 단계(893), 그리고 그 영역이 하이퍼링크된 그룹(866)의 일부분인지를 판단하는 단계(894), 만일 그렇다면 관련된 하이퍼링크를 활성화하는 단계(895); 그렇지 않다면 그 포맷팅된 요소가 하이퍼링크 요소에 대응되는지를 판단하는 단계(889), 만일 그렇다면 대응되는 하이퍼링크를 활성화하는 단계(895); 그렇지 않다면 입력 영역 또는 하이퍼링크의 부재 시에, 그 수신된 스트로크를 바탕 영역(833)의 디지털 잉크에 첨부시키는 단계(890); 및 등록 서버에 의하여 유지되는 것과 같이, 수신된 스트로크를 현재 펜의 현재 선택(826)에 복사하는 단계(891)로 이루어진다.
도 38(a)는 도 38에 나타낸 절차의 단계(893)의 상세 흐름도로서, 여기서 영역의 누적된 디지털 잉크는 그 영역의 종류에 따라서 해석된다. 절차는, 영역이 체크박스인지 여부를 판단하는 단계(896) 및 디지털 잉크가 체크마크를 나타내는지 여부를 판단하는 단계(897), 만일 그렇다면 참의 진리값을 영역 값으로 지정하는 단계(898); 그렇지 않다면, 영역이 텍스트 영역인지 여부를 판단하는 단계(899), 만일 그렇다면 적절한 등록 서버에 힘입어 디지털 잉크를 컴퓨터 텍스트로 변환하는 단계(900) 및 변환된 컴퓨터 텍스트를 영역 값으로 지정하는 단계(901); 그렇지 않다면 영역이 서명 영역인지 여부를 판단하는 단계(902), 만일 그렇다면 디지털 잉크를 적절한 등록 서버에 힘입어 펜의 소유자의 서명으로서 인증하는 단계(903)와, 등록 서버에 힘입어 대응되는 애플리케이션에 관련된 펜 소유자의 비밀 서명 키를 이용하여 대응되는 양식의 내용에 대한 디지털 서명을 생성하는 단계(904) 및 디지털 서명을 영역 값으로 지정하는 단계(905)로 이루어진다.
1.7.3 페이지 서버 명령(Page Server Commands)
페이지 서버 명령은 페이지 서버에 의하여 국지적으로 취급되는 명령이다. 페이지 서버 명령은 양식, 페이지 및 문서 인스턴스에 대하여 직접 작용한다.
페이지 서버 명령(907)은 도 39에 나타난 바와 같이 무효(void) 양식 명령(908), 중복(duplicate) 양식 명령(909), 리셋 양식 명령(910), 양식 상태 입수 명령(get form status command)(911), 중복 페이지 명령(duplicate page command)(912), 리셋 페이지 명령(913), 페이지 상태 입수 명령(914), 중복 문서명령(915), 리셋 문서 명령(916) 또는 문서 상태 입수명령(917)이 될 수 있다.
무효 양식 명령은 대응되는 양식 인스턴스를 무효화한다. 중복 양식 명령은 대응되는 양식 인스턴스를 무효화하고, 보존된 영역 값을 가지는 현재 양식 인스턴스의 활성 인쇄 사본(active printed copy)을 생성한다. 그 사본은 원본과 동일한 하이퍼링크 거래 ID(hyperlink transaction ID)를 포함하므로, 애플리케이션에서 원본과 구별되지 않는다. 리셋 양식 명령은 대응되는 양식 인스턴스를 무효화하고, 폐기된 빌드 값을 가지는 양식 인스턴스의 활성 인쇄 사본을 생성한다. 양식 상태 입수 명령은, 누가 출판하였는지, 언제 인쇄되었는지, 누구에게 인쇄되었는지 및 양식 인스턴스의 양식의 상태를 포함하는, 대응되는 양식 인스턴스의 상태에 관한 인쇄된 보고서(printed report)를 생성한다.
양식 하이퍼링크 인스턴스는 처리 ID를 포함하므로, 애플리케이션은 새로운 양식 인스턴스의 생성을 포함하여야 한다. 따라서 새로운 양식 인스턴스를 요청하는 버튼은 대개 하이퍼링크로서 구현된다.
중복 페이지 명령은 보존된 바탕 영역 값을 가지는 대응되는 페이지 인스턴스의 인쇄 사본을 생성한다. 만일 페이지가 양식을 포함하거나 또는 양식의 일부이면, 중복 페이지 명령은 중복 양식 명령인 것으로 해석된다. 리셋 페이지 명령은 폐기된 바탕 영역 값을 가지는 대응되는 페이지 인스턴스의 인쇄 사본을 생성한다. 만일 페이지가 양식을 포함하거나 또는 양식의 일부이면, 리셋 페이지 명령은 리셋 양식 명령인 것으로 해석된다. 페이지 상태 입수 명령은, 누가 출판하였는지, 언제 인쇄되었는지, 누구에게 인쇄되었는지 및 포함하거나 또는 일부가 되는 소정의 양식의 상태를 포함하는, 대응되는 페이지 인스턴스의 상태에 관한 인쇄된 보고서를 생성한다.
모든 넷페이지 상에 나타나는 넷페이지 로고(logo)는 보통 중복 페이지 요소와 관련된다.
페이지 인스턴스가 보존된 영역값(field values preserved)과 중복되면, 영역 값은 그 고유의 양식(native form)으로 인쇄된다. 즉, 체크마크는 표준 체크마크 그래픽으로서 나타나고, 텍스트는 타이프셋(typeset) 텍스트로서 나타난다. 그림(drawing) 및 서명만이 서명 검증 성공(successful signature verification)을 가리키는 표준 그래픽을 동반하는 서명과 함께 그 본래의 양식으로 나타난다.
중복 문서 명령은 보존된 바탕 영역 값을 가지는 대응되는 문서 인스턴스의 인쇄 사본을 생성한다. 만일 문서가 어떤 양식을 포함하면, 중복 문서 명령은 중복 양식 명령과 같은 방식으로 양식을 복사한다. 리셋 문서 명령은 폐기된 바탕 영역 값을 가지는 대응되는 문서 인스턴스의 인쇄 사본을 생성한다. 만일 문서가 어떤 양식을 포함하면, 리셋 문서 명령은 리셋 양식 명령과 같은 같은 방식으로 양식을 리셋한다. 문서 상태 입수 명령은, 누가 출판하였는지, 언제 인쇄되었는지, 누구에게 인쇄되었는지 및 포함된 양식의 상태를 포함하는, 대응되는 문서 인스턴스의 상태에 관한 인쇄된 보고서를 생성한다.
만일 페이지 서버 명령의 "선택된 상태(on selected)" 속성이 설정되면, 그 명령은 그 명령을 포함하는 페이지 상에서보다는 펜의 현재 선택에 의하여 식별되는 페이지 상에서 수행된다. 이것은 페이지 서버 명령의 메뉴가 인쇄되도록 한다.만일 타겟 페이지가 지목된 페이지 서버 명령을 위한 페이지 서버 명령 요소를 포함하지 않으면, 명령은 무시(ignored)된다.
애플리케이션은, 관련된 페이지 서버 명령 요소를 하이퍼링크된 그룹에 내장(embed)시킴으로써 애플리케이션에 특유한 취급을 제공할 수 있다. 페이지 서버는 페이지 서버 명령을 수행하기보다는 하이퍼링크된 그룹에 관련된 하이퍼링크를 활성화시킨다.
"은폐(hidden)" 속성이 설정되면, 페이지 서버 명령 요소는 은폐된다. 은폐된 명령 요소는 페이지 상에 입력 구역을 가지지 않으므로 사용자에 의하여 직접 활성화될 수 없다. 그러나, 만일 그 페이지 서버 명령이 "ON 선택(on selected)" 속성 집합을 가지면, 다른 페이지에 내장된 페이지 서버 명령을 통하여 활성화될 수 있다.
1.8 넷페이지의 일반적인 특징(STANDARD FEATURES OF NETPAGES)
바람직한 실시예에 있어서, 각각의 넷페이지는 넷페이지임을 가리키는 넷페이지 로고가 밑면에 인쇄되며, 따라서 대화형 특성(interactive properties)을 가진다. 또한, 그 로고는 복사(copy) 버튼으로서 동작한다. 대부분의 경우에 있어서, 로고를 누르면 그 페이지의 사본이 생성된다. 양식의 경우, 버튼은 전체 양식(entire form)의 사본을 생성한다. 그리고, 티켓 또는 쿠폰과 같은 보안 문서(secure document)의 경우, 버튼은 설명서 또는 광고 페이지를 끌어낸다.
기본 단일 페이지 복사 기능(default single-page copy function)은 관련 넷페이지 페이지 서버에 의하여 직접 취급된다. 특별한 복사 기능은 로고 버튼을 애플리케이션에 연결(link)시킴으로써 취급된다.
1.9 사용자 도움말 시스템(USER HELP SYSTEM)
바람직한 실시예에서, 넷페이지 프린터는 "도움말(Help)"이라고 표시된 하나의 버튼을 가진다. 버튼이 눌러지면, 버튼은 다음과 같은 사항을 포함하는 정보 페이지를 한 장 끌어낸다.
· 프린터 접속 상태
· 프린터 소모품 상태
· 최상위 단계(top-level) 도움말 메뉴
· 문서 기능 메뉴
· 최상위 단계 넷페이지 네트워크 디렉토리
도움말 메뉴는 넷페이지 시스템의 사용 방법에 대한 계층적 매뉴얼(hierarchical manual)을 제공한다.
문서 기능 메뉴는 아래의 기능을 포함한다.
· 문서 사본 인쇄
· 양식 미기재 사본(clean copy) 인쇄
· 문서 상태 인쇄
문서 기능은 단순히 버튼을 누르고 그 문서의 임의의 페이지를 접촉함으로써 개시된다. 문서의 상태는 누가, 언제 출판하였는지, 누구에게 배달되었는지 및 추후 언제, 누구에게 양식으로서 제출되었는지를 나타낸다.
넷페이지 네트워크 디렉토리는 사용자가 네트워크 상의 출판물 및 서비스의계층을 탐색(navigate)할 수 있도록 한다. 그 대신에, 사용자가 넷페이지 네트워크 "900"번 "전화번호부(yellow page)"에 전화를 걸어 인간 상담원(human operator)과 통화를 할 수도 있다. 상담원은 원하는 문서의 위치를 찾아내어 사용자의 프린터로 경로를 지정할 수 있다. 문서의 유형(type)에 따라, 발행인 또는 사용자는 약간의 "전화번호부" 서비스 사용료를 지불한다.
도움말 페이지는 프린터가 인쇄를 할 수 없다면 입수할 수 없음이 명백하다. 이런 경우에는 "오류(error)" 등(light)이 점등되며, 사용자는 원격 진단(remote diagnosis)을 네트워크 상에서 요청할 수 있다.
2. 개인화된 출판물 모델(Personalized Publication Model)
아래의 설명에 있어서, 뉴스(news)는 넷페이지 시스템의 개인화 메커니즘(personalization mechanism)을 묘사하기 위한 기본적인 출판물의 예시(canonical publication example)로서 사용된다. 뉴스가 종종 신문(newspaper) 및 잡지(newsmagazine)의 뉴스라는 제한된 의미로 사용되지만, 본 문맥에서 의도된 범위는 더욱 넓다.
넷페이지 시스템에서, 뉴스 출판물(news publication)의 편집 내용(editorial content) 및 광고 내용(advertising content)은 상이한 메커니즘을 이용하여 개인화된다. 편집 내용은 독자가 명시적으로 지정한 관심 프로파일(interest profile) 및 은연중에 내포시킨 관심 프로파일에 따라 개인화된다. 광고 내용은 독자의 소재지(locality) 및 신상정보(demographic)에 따라 개인화된다.
2.1 편집 개인화(EDITORIAL PERSONALIZATION)
구독자(subscriber)는 두 가지의 뉴스 출처, 즉 뉴스 출판물(news publication)을 배달하는 출처 및 뉴스 스트림(news stream)을 배달하는 출처를 이용할 수 있다. 뉴스 출판물이 발행인에 의하여 취합되어 편집되는 반면, 뉴스 스트림은 뉴스 발행인에 의해서나 전문적 뉴스 취합인(specialized news aggregator)에 의하여 취합된다. 뉴스 출판물은 대개 전통적인 신문 및 잡지에 대응되나, 반면에 뉴스 스트림은 뉴스 서비스로부터 제공되는 "가공되지 않은(raw)" 뉴스, 연재 만화, 프리랜서 필자의 칼럼, 친구의 게시판 또는 독자 기고 전자우편 등으로 다종다양할 수 있다.
넷페이지 출판 서버는 복수의 뉴스 스트림의 취합뿐만 아니라, 편집된 뉴스 출판물의 출판도 지원한다. 독자에 의하여 직접 선택된 뉴스 스트림의 취합 및 그에 따른 포맷팅(formatting)을 취급함으로써, 서버는 그렇지 않고는 편집 지배권(editorial control)을 가지지 않았을 페이지 상에 광고를 실을 수 있게 된다.
구독자는 하나 또는 그 이상의 제공되는 뉴스 출판물을 선택하고, 각각의 개인화된 버전을 생성함으로써 일간 신문을 구축한다. 결과로서 생겨나는 날마다의 판형(edition)은 인쇄되어 하나의 신문으로 함께 제본된다. 세대의 다양한 구성원은 대개 상이한 일일 출판물을 선택하고 맞춤제작(customize)함으로써 그들의 상이한 관심사 및 기호를 표현한다.
각각의 출판물에 대하여, 독자는 선택 사항으로 특정 섹션(specificsection)을 취할 수 있다. 어떤 섹션은 일간(daily)이며, 반면에 다른 섹션은 주간(weekly)이다. 예를 들어, 뉴욕 타임즈 온라인(The New York Times online)에서 입수할 수 있는 일간 섹션은 "한 페이지 더(Page One Plus)", "국내(National)", "국제(International)", "오피니언(Opinion)", "비즈니스(Business)", "예술/생활(Arts/Living)", "기술(Technology)" 및 "스포츠(Sports)"를 포함한다. 한 벌의 입수할 수 있는 섹션은, 기본적인 하위구성(default sebset)과 마찬가지로 출판물에 특유하다.
독자는 임의의 개수의 뉴스 스트림을 이용하는 맞춤 섹션(custom section)을 생성함으로써 일간 신문을 확장할 수 있다. 맞춤 섹션은 전자우편용 및 친구에게 알림의 용도로("개인(Personal)" 섹션), 또는 특정 주제에 관해 제공되는 뉴스의 모니터링용으로("알림(Alert)" 또는 "클리핑(Clipping)" 섹션) 생성될 수 있다.
각각의 섹션에 대하여, 독자는 그 크기를 양적으로나(예를 들어, 짧은 기사, 중간 기사, 긴 기사) 수적으로(즉, 페이지 수에 제한을 두는 것과 같이) 특정할 수 있고, 희망하는 광고의 비율을 양적으로나(예를 들어, 높음, 중간, 낮음, 없음) 수적으로(즉, 퍼센트(percent)와 같이) 특정할 수 있다.
독자는 또한 선택 사항으로 다수의 짧은 기사 또는 소수의 긴 기사에 대하여 선호도를 표현한다. 각각의 기사는 이상적으로는 이러한 선호도를 지원하기 위하여 짧은 형태로도 긴 형태로도 모두 작성(또는 편집)된다.
기사는 또한 기대되는 독자의 지적 수준(sophistication)에 맞추기 위하여 상이한 버전, 예를 들어 어린이용 버전 및 성인용 버전으로 작성(또는 편집)될 수있다. 적절한 버전은 독자의 연령에 따라 선택된다. 독자는 자신의 생물학적 연령에 우선하는 "구독 연령(reading age)"을 특정할 수 있다.
각각의 섹션을 구성하는 기사는 편집자에 의하여 취사선택되고 우선순위 부여(prioritized)되며, 각각의 기사에 유효 기간(useful lifetime)이 지정된다. 기본적으로(by default), 기사는 구독자 판형(detion)의 지면 사정(space constraint)에 따라 우선순위대로 관련된 모든 가입자에게 배달된다.
적절한 섹션에서, 독자는 선택 사항으로 공동 필터링(collaborative filtering)을 가능하게 할 수 있다. 이것은 충분히 긴 유효기간을 가지는 기사에 적용된다. 공동 필터링을 충족하는 각각의 기사는 그 기사의 말미에 등급 버튼(rating button)이 함께 인쇄된다. 버튼은 기사에 등급을 매기는 것이 독자에게 성가시지 않도록 단순한 선택(예를 들어, "좋음" 및 "싫음")을 제공할 수 있다.
따라서 높은 우선순위와 짧은 유효 기간을 가지는 기사들은 편집자에 의하여 필수 기사(essectial reading)로 효과적으로 고려되어 대부분의 구독자에게 배달된다.
선택 사항으로 독자는 양적으로나(예를 들어, 나를 놀라게 하도록 또는 놀라게 하지 않도록) 수적으로 횡재 인자(serendipity factor)를 특정할 수 있다. 높은 횡재 인자는 공동 필터링 동안 매칭을 위하여 이용되는 문턱값(threshold)을 낮춘다. 높은 인자는 대응되는 섹션이 독자가 특정한 용량을 충족시킬 가능성이 커지도록 한다. 한 주의 서로 다른 요일에 대하여 서로 다른 횡재 요소를 특정할 수 있다.
또한 독자는 선택사항으로 특정 관심사에 대한 주제를 특정할 수 있고, 이것은 편집자가 지정한 우선순위를 변경시킨다.
독자의 인터넷 연결 속도는 배달되는 이미지의 품질에 영향을 미친다. 독자는 선택 사항으로 적은(fewer) 이미지 또는 작은(small) 이미지 또는 둘 다에 대한 선호도를 특정할 수 있다. 이미지의 개수나 크기가 줄지 않으면 이미지가 더욱 낮은 품질로(예를 들어, 낮은 해상도 또는 높은 압축율로) 배달될 수 있다. 또는 배달되는 이미지의 분량, 크기 및 품질 세가지 모두가 조정될 수도 있다.
전역적 레벨(global level)에서, 독자는 수량, 날짜, 시간 및 화폐 가치의 지역화를 특정할 수 있다. 이것은 단위가 영국식 도량형을 따르는지 미터법에 따르는지 여부, 지역의 표준 시간대(timezone) 및 시간의 형식, 지역의 통화(currency) 및 지역화(localization)를 위하여 번역을 할 것인지 주석을 달 것인지의 여부를 특정하는 것을 포함한다. 이러한 선호도는 기본적으로 독자의 소재지로부터 도출된다.
나쁜 시력으로 인한 해독 곤란을 경감시키기 위하여, 독자는 선택 사항으로 대형 표시(larger presentation)를 위한 전역적 선호도(global preference)를 특정할 수 있다. 이에 따라 텍스트와 이미지가 모두 스케일되고, 각각의 페이지에는 적은 양의 정보가 수용된다.
뉴스 출판물이 출판되는 언어 및 그에 따른 텍스트 인코딩은 그 출판물에 따른 특성이지 사용자의 선택에 따르는 것이 아니다. 그러나, 넷페이지 시스템은 다양한 형태로의 자동 번역 서비스를 제공하도록 구성될 수 있다.
2.2 광고 지역화 및 목표화(ADVERTISING LOCALIZATION AND TARGETING)
광고는 대개 편집의 맥락에 따르기 때문에, 편집 내용의 개인화는 직접적으로 광고 내용에 영향을 미친다. 예를 들어, 여행 광고는 다른 부분보다는 여행 섹션에 더 실릴 법하다. 광고주(및 출판인)에 대한 편집 내용의 가치는 적절한 신상 정보(demographics)를 가지는 다수의 독자를 유인하는 능력에 달려 있다.
효과적인 광고는 소재지(locality) 및 신상 정보를 토대로 한다. 소재지는 특정 서비스, 소매점 등에 대한 접근성(proximity) 및 특정 관심사를 경정하며, 지역 사회와 환경에 관련된다. 신상 정보는 예상 소비 패턴(likely spending pattern)뿐만 아니라 일반적인 관심사 및 선입견을 예정한다.
뉴스 출판인의 가장 수지맞는 상품(most profitable product)은, 출판물의 지리적 적용 범위, 독자층의 규모, 독자층의 신상 정보 및 광고를 실을 수 있는 페이지 영역에 따라 결정되는 다차원적 존재(multi-dimensional entity)인, 광고 "공간(space)"이다.
넷페이지 시스템에서, 넷페이지 출판 서버는 출판물의 지리적 적용 범위, 섹션의 독자층, 각각의 독자의 섹션 판형의 크기, 각각의 독자의 광고 비율 및 각각의 독자의 신상 정보를 고려하여 섹션별로 출판물의 판매 가능한 광고 공간의 다차원적 규모를 개략적으로 계산한다.
다른 매체와 비교하면, 넷페이지 시스템은 광고 공간이 더욱 상세하게 정의되도록 하며, 더욱 작은 단위로 나뉘어 판매될 수 있도록 한다. 따라서, 광고 공간이 그 진정한 가치에 더욱 가깝게 판매될 수 있도록 한다.
예를 들어, 동일한 광고 "구획(slot)"이, 각각의 광고주에게 판매되는 전체적인 공간의 점유율은 유지하면서 각각의 독자의 페이지는 어떤 광고주 또는 다른 광고주의 광고를 무작위적으로 수신하도록 하는, 변동 점유율(varying proportion)로서 다수의 광고주에게 판매될 수 있다.
넷페이지 시스템은 광고를 제품 상세정보 및 온라인 구매로 직접 연결(link)시킬 수 있다. 따라서 광고 공간의 본질적 가치를 상승시킨다.
개인화 및 지역화가 넷페이지 출판 서버에 의하여 자동으로 다루어지므로, 광고 모집인(advertising aggregator)은 지역 및 신상 정보 모두에서 임의적으로 광범위한 적용범위를 제공할 수 있다. 후속적인 분해(disaggregation)도 자동적이므로 효율적이다. 이것은 출판인이 직접 광고를 모집하는 것보다 광고 모집인을 상대하는 편이 더욱 비용 효과적(cost-effective)이도록 한다. 광고 모집인이 광고 수입의 일정 비율을 취함에도 불구하고, 모집의 더 큰 효율성 때문에 출판인은 그러한 변경이 이익 중립적임(profit-neutral)을 알게 될 것이다. 광고 모집인은 광고주와 출판인 사이에서 중개자로서 행동하고, 동일한 광고를 복수의 출판물에 실을 수 있다.
더욱 복잡한 광고 공간으로 인하여, 넷페이지 출판물에 광고를 싣는 것이 전통적인 출판물에 광고를 싣는 것보다 더 복잡할 수 있음에 주목할 필요가 있다. 광고주, 광고 모집인 및 출판인 사이의 협상의 복잡성을 무시하는 한편으로, 넷페이지 시스템의 바람직한 실시예는 광고 공간의 자동 경매(automated auction) 지원을 포함하는, 협상을 위한 자동화된 지원(automated support)을 제공한다. 자동화는소규모 광고 또는 지극히 지역적인 광고와 같은, 약간의 수익만을 창출하는 광고의 유치에 특히 바람직하다.
일단 광고 유치가 협상되면, 모집인은 광고를 받아 편집하여 넷페이지 광고 서버(netpage ad server) 상에 기록한다. 이에 대응하여, 출판인은 관련된 넷페이지 출판 서버 상에 광고의 유치를 기록한다. 넷페이지 출판 서버가 각각의 사용자의 개인화된 출판물을 배열할 때, 관련된 광고가 넷페이지 광고 서버로부터 선택된다.
2.3 사용자 프로파일(USER PROFILES)
2.3.1 정보 필터링(Information Filtering)
뉴스 및 기타 출판물의 개인화는 아래의 사항을 포함하는 사용자에 특유한 프로파일 정보의 분류에 의존한다.
· 출판물 맞춤제작(publication customizations)
· 공동 필터링 벡터(collaborative filtering vectors)
· 연결 상세정보(contact details)
· 표시 선호도(presentation preferences)
출판물의 맞춤제작은 대개 출판물에 특유한 것이므로, 맞춤제작 정보는 관련된 넷페이지 출판 서버에 의하여 유지된다.
공동 필터링 벡터는 다수의 뉴스 아이템(news item)에 관한 사용자의 평점(rating)으로 이루어진다. 그것은 추천을 목적으로 상이한 사용자의 관심사를 상호 연관(correlate)시키는 데 이용된다. 특정 출판물에 대한 단일 공동 필터링벡터를 독립적으로 유지하는 데에도 이점이 존재하지만, 각각의 출판물에 대한 별개의 벡터를 유지하는 것이 더욱 현실적인 두 가지 이유가 있다. 즉, 동일 출판물에 대한 구독자들의 벡터들 사이에서는 상이한 출판물에 대한 구독자들의 벡터들 사이에서보다 더 많은 일치(overlap)가 있을 수 있다. 또한, 출판물은 사용자의 공동 필터링 벡터를 다른 곳에서는 발견되지 않는 그 출판물의 브랜드 가치의 일부로서 현출하기를 원할 것이다. 따라서 공동 필터링 벡터 또한 관련된 넷페이지 출판 서버에 의하여 유지된다.
성명, 주소, 우편번호, 주, 국가, 전화번호를 포함하는 연결 상세정보는 본질상 전역적(global)이며, 넷페이지 등록 서버(netpage registration server)에 의하여 유지된다.
수량, 날짜 및 시간을 포함하는 표시 선호도도 마찬가지로 전역적이며, 동일한 방식으로 유지된다.
광고의 지역화는 사용자의 연결 상세정보에 나타나는 소재지(locality)에 의존하는 반면, 광고의 목표화(targeting)는 생일, 성별, 결혼 여부, 수입, 직업, 학력 또는 연령 범위 및 수입 범위 등의 정성적 파생물(qualitative derivatives)과 같은 개인 정보에 의존한다.
광고를 위하여 개인 정보를 공개하기로 한 사용자에 대하여는, 관련 넷페이지 등록 서버에 의하여 그 정보가 유지된다. 그러한 정보가 없는 경우, 광고는 사용자의 ZIP 또는 ZIP+4 코드와 관련된 신상정보를 근거로 하여 목표화(target)될 수 있다.
도 21,22,23 및 24에 나타난 바와 같이, 각각의 사용자, 펜, 프린터, 애플리케이션 제공자(application provider) 및 애플리케이션에는 자신의 고유한 식별자(identifier)가 지정되고, 넷페이지 등록 서버는 이들 사이의 관계(relationship)를 유지한다. 등록의 목적에 있어서, 출판인은 특별한 종류의 애플리케이션 제공자가 되며, 출판물은 특별한 종류의 애플리케이션이 된다.
각각의 사용자(800)는 소정 개수의 프린터(802)를 사용하기 위하여 권한 설정이 될 수 있으며, 각각의 프린터는 소정 인원수의 사용자가 이용할 수 있도록 허용될 수 있다. 각각의 사용자는 정기 출판물이 기본값으로 배달되는 단일한 기본 프린터(single default printer)를 가지며(66), 요청에 따라 인쇄되는 페이지는 그 사용자가 상호작용하는 프린터를 통하여 배달된다. 서버는 사용자의 기본 프린터에 인쇄하도록 권한 부여를 하는 출판인을 추적한다. 출판인은 특정 프린터의 ID를 기록하지는 않으나, 대신 필요한 경우에 그 ID를 분석한다.
사용자가 출판물(807)을 구독하면(808), 출판인(806)(즉, 애플리케이션 제공자(803))은 특정 프린터 또는 사용자의 기본 프린터로 인쇄하도록 권한을 부여한다. 이 권한(authorization)은 사용자에 의해서 언제든지 철회될 수 있다. 각각의 사용자는 여러 개의 펜(801)을 가질 수 있으나, 하나의 펜은 단일한 사용자에게 특정된다. 사용자가 특정 프린터를 사용하도록 권한을 부여받으면, 그 프린터는 그 사용자의 펜 중 어느 것이라도 인식할 수 있게 된다.
펜 ID는 일반적인 방식으로 DNS를 경유하여 특정 넷페이지 등록 서버에 의하여 유지되는, 대응되는 사용자 프로파일을 찾는 데 이용된다.
웹 터미널(Web terminal)(809)은, 웹 브라우징 도중 만나게 된 웹페이지와 넷페이지 문서를 가장 가까운 넷페이지 프린터에서 편리하게 인쇄할 수 있도록, 특정 넷페이지 프린터에서 인쇄를 하는 권한을 부여받을 수 있다.
넷페이지 시스템은, 프린터 제공자를 위하여, 제공자의 프린터에서 인쇄된 출판물을 통하여 얻어지는 수입에 대한 요금 및 수수료를 징수할 수 있다. 그러한 수입은 광고료, 클릭-스루(click-through) 요금, 전자 상거래 수수료(e-commerce commission) 및 처리 요금(transaction fee)을 포함한다. 프린터가 사용자의 소유이면, 그 사용자는 프린터 제공자가 된다.
각각의 사용자는 또한 (위 단락에서 설명된 바와 같은) 소액 지출 및 수입(micro-debits and credits)을 적립하는 데 이용되는 넷페이지 계정(820); 성명, 주소 및 전화번호를 포함하는 연결 상세정보(815); 프라이버시, 배달 및 지역화 설정을 포함하는 전역적 선호도(816); 사용자의 부호화된 서명(818), 지문(819) 등을 포함하는 소정의 개수의 생체정보 기록(biometric record)(817); 시스템에 의하여 자동적으로 유지되는 수기 모델(handwriting model)(819); 및 전자상거래 지불이 이루어지는 SET 지불 카드 계정(821)을 가진다.
2.3.2 즐겨찾기 목록(Favorites List)
넷페이지 사용자는 넷페이지 네트워크 상에서 유용한 문서 등을 연결시키는 "즐겨찾기(favorites)" 목록을 유지할 수 있다. 목록은 사용자를 위하여 시스템에 의하여 유지된다. 목록은 폴더의 계층(hierarchy of folders)(924)으로 구성되며, 바람직한 실시예가 도 41의 클래스도에 나타나 있다.
2.3.3 히스토리 목록(History List)
시스템은 각각의 사용자를 위하여 넷페이지 시스템을 통하여 사용자가 액세스(access)하는 문서 등에 대한 링크(link)를 포함하는 히스토리 목록(929)을 유지한다. 그것은 날짜 순으로 정렬된(date-ordered) 목록으로서 구성되며, 바람직한 실시예가 도 42의 클래스도에 나타나 있다.
2.4 지능형 페이지 레이아웃(INTELLIGENT PAGE LAYOUT)
넷페이지 출판 서버는 자동적으로 각각의 사용자의 개인화된 출판물을 섹션별 기초에서(on a section-by-section basis) 레이아웃한다. 대부분의 광고는 미리 포맷팅된(pre-formatted) 직사각형의 형태이므로, 편집 내용(editorial content)보다 먼저 페이지에 실린다.
섹션의 광고 비율은 섹션 내의 각각의 페이지에서 폭넓게 변동되는 비율로서 얻어지며, 광고 레이아웃 알고리즘(ad layout algorithm)이 이를 이용한다. 알고리즘은, 자가 지붕 수선(do-it-yourself roofing repairs)의 특별한 특징 때문에 그 출판물에서 특히 지붕 수선에 관한 광고를 싣는 것과 같이, 밀접하게 관련된 편집 및 광고 내용을 함께 배치(co-locate)하도록 시도하는 구성으로 이루어진다.
그리고 나서 텍스트 및 관련 이미지와 그래픽을 포함하는, 사용자를 위하여 선택되는 편집 내용이 다양한 심미적 원칙에 따라 레이아웃된다.
광고 선택 및 편집 내용 선택을 포함하는 전반적인 절차는, 일단 레이아웃이 집중되었으면 사용자가 언급한 섹션 크기 선호에 더욱 근접하도록 하는 시도가 반복되어야 한다. 그러나, 섹션 크기 선호도는 현저한 날마다의 변동(day-to-dayvariations)을 허용하면서 시간적 평균값에 맞추어질 수 있다.
2.5 문서 포맷(DOCUMENT FORMAT)
일단 문서가 레이아웃되면, 문서는 넷페이지 네트워크 상에서의 효율적인 분배 및 지속적인 저장을 위하여 부호화된다.
주된 효율성 메커니즘(efficiency mechanism)은 단일 사용자의 판형(edition)에만 특유한 정보를 다수의 사용자의 판형에서 공유되는 정보와 분리하는 것이다. 특정 정보는 페이지 레이아웃으로 이루어진다. 공유 정보(shared information)는 페이지 레이아웃이 참조하는, 이미지, 그래픽 및 텍스트를 포함하는 오브젝트로 이루어진다.
텍스트 오브젝트는 XSL(Extensible Stylesheet Language)을 사용하는 XML(Extensible Markup Language)로 표현되는 완전 포맷팅된(fully-formatted) 텍스트를 포함한다. XSL은 텍스트가 설정되는 영역(본 경우에 있어서는 배열에 의하여 제공된다)과 독립하여 텍스트 포맷에 관한 정밀 제어를 제공한다. 텍스트 오브젝트는 자동 번역을 가능케 하는 내장 언어 코드(embedded language code) 및 단락 포맷팅(paragraph formatting)을 돕는 내장 하이픈 첨가 힌트(embedded hyphenation hint)를 포함한다.
이미지 오브젝트는 웨이블릿 기반(wavelet-based) 압축 이미지 포맷인 JPEG 2000으로 이미지를 부호화한다. 그래픽 오브젝트는 2차원 그래픽을 SVG(Scalable Vector Graphics) 포맷으로 부호화한다.
레이아웃 자체는 일련의 이미지 및 그래픽 오브젝트, 텍스트 오브젝트가 통과하는 연결된 텍스트 플로우 오브젝트(linked textflow objects), 상술한 바와 같은 하이퍼링크와 입력 영역 및 워터마크 영역(watermark region)으로 이루어진다. 이들 레이아웃 오브젝트는 표 3에 요약된다. 레이아웃은 효율적인 배분 및 저장에 적합한 간결한 포맷(compact format)을 사용한다.
표 3 - 넷페이지 레이아웃 오브젝트
레이아웃 오브젝트 속성 연결된 오브젝트의 포맷
이미지 위치 -
이미지 오브젝트 ID JPEG 2000
그래픽 위치 -
그래픽 오브젝트 ID SVG
텍스트플로우 텍스트플로우 ID -
구역 -
선택적 텍스트 오브젝트 ID XML/XSL
하이퍼링크 형식 -
구역 -
애플리케이션 ID 등 -
영역 형식 -
의미 -
구역 -
워터마크 구역 -
2.6 문서 분배(DOCUMENT DISTRIBUTION)
상술한 바와 같이, 넷페이지 네트워크 상에서의 효율적인 분배 및 지속적인 저장을 위하여, 사용자마다 특유한 페이지 레이아웃은 그것이 참조하는 공유 오브젝트로부터 분리된다.
구독 출판물이 분배될 준비가 되면, 넷페이지 출판 서버는 넷페이지 ID 서버(12)의 도움으로 각각의 페이지, 페이지 인스턴스, 문서 및 문서 인스턴스에 대하여 고유 ID를 할당한다.
서버는 공유되는 내용(shared content)의 한 벌의 최적화된 서브셋(subset)을 계산하고 각각의 하위 요소에 대한 멀티캐스트를 생성하며, 그 배열에 의하여 이용되는 공유 내용을 실어나를 멀티캐스트 체널의 명칭을 각각의 사용자에 특유한 레이아웃에 덧붙인다. 그리고 나서 서버는 각각의 사용자의 레이아웃을 그 사용자의 프린터로 적절한 페이지 서버를 경유하여 포인트캐스트(pointcast)하고, 포인트캐스팅이 완료되면 공유 내용을 특정 채널 상에서 멀티캐스트한다. 포인트캐스트를 수신한 후, 각각의 페이지 서버 및 프린터는 그 페이지 레이아웃에 특정된 멀티캐스트 채널을 구독한다. 멀티캐스트 도중에, 각각의 페이지 서버 및 프린터는 멀티캐스트 스트림(multicast stream)으로부터 그 페이지 레이아웃이 참조하는 오브젝트를 추출한다. 페이지 서버는 지속적으로 페이지 레이아웃 및 공유 내용을 보존한다.
일단 프린터가 그 페이지 레이아웃이 참조하는 모든 오브젝트를 수신하면, 프린터는 완전히 상주하는(fully-populated) 레이아웃을 재생성하고 래스터화(resterize)하여 그것을 인쇄한다.
정상적인 환경에서, 프린터는 배달되는 속도보다도 빨리 페이지를 인쇄한다. 각각의 페이지의 4분의 1이 이미지라고 가정하면, 평균적인 페이지는 400KB 이하의 크기를 가진다. 따라서 프린터는 임시 버퍼(temporary buffer) 등을 고려한다면 64MB의 내부 메모리에 100 페이지 이상의 그러한 페이지를 수용할 수 있다. 프린터는 초당 1페이지의 속도로 인쇄를 한다. 이것은 초당 400KB 즉 대략 3메가비트(Mbit)의 페이지 데이터에 상당하는 것으로서, 광대역 네트워크를 통하여배달되는 페이지 데이터의 예상 최고 속도와 비슷하다.
프린터에 용지가 다 떨어진 경우와 같은 비정상적인 환경 하에서도, 사용자는 100페이지의 프린터 내부 저장 용량이 소진되기 전에 용지 공급을 보충할 수 있을 것이다.
그러나, 프린터의 내부 메모리가 가득차면, 프린터는 멀티캐스트가 최초로 발생할 때 이를 사용할 수 없을 것이다. 넷페이지 출판 서버는 따라서 프린터가 재멀티캐스트(re-multicast) 요청을 제출할 수 있도록 한다. 요청의 임계 숫자가 수신되거나 시간이 경과되면, 서버는 대응되는 공유 오브젝트를 재멀티캐스트한다.
일단 문서가 인쇄되면, 프린터는 관련 페이지 서버로부터 페이지 레이아웃 및 내용을 검색함으로써 언제라도 똑같은 사본을 생성할 수 있다.
2.7 주문형 문서(ON-DEMAND DOCUMENTS)
넷페이지 문서가 주문에 의해 요청되면, 그것은 정기적인 넷페이지 문서에서와 상당 부분 동일한 방식으로 개인화되어 배달될 수 있다. 그러나 공유 내용이 없으므로, 배달은 멀티캐스트를 이용하지 않고 요청하는 프린터로 직접 행해진다.
넷페이지가 아닌 문서(non-netpage document)가 주문에 의해 요청되면, 그것은 개인화되지 않으며, 그것을 넷페이지 문서로 다시 포맷팅(reformat)하도록 지정된 넷페이지 포맷팅 서버(netpage formatting server)를 경유하여 배달된다. 넷페이지 포맷팅 서버는 넷페이지 출판 서버의 특별한 인스턴스이다. 넷페이지 포맷팅 서버는 어도비 PDF(Adobe's Portable Document Format) 및 HTML(Hypertext Markup Language)을 포함하는 다양한 인터넷 문서 포맷에 관한 지식을 가진다. HTML의 경우에, 그것은 목차와 함께 웹페이지를 다단(multi-column) 형식으로 표시하는 고해상도의 인쇄 페이지를 이용할 수 있다. 그것은 자동적으로 직접 요청되는 페이지에 연결되는 모든 웹페이지를 포함할 수 있다. 사용자는 이런 행위를 선호도(preference)에 의하여 조정할 수 있다.
넷페이지 포맷팅 서버는 양방향성(interactivity) 및 지속성(persistence)을 포함하는 표준 넷페이지 행위(standard netpage behavior)가 인터넷 문서의 출처 및 형식을 불문하고 어떤 인터넷 문서에도 적용 가능하도록 한다. 그것은 넷페이지 프린터 및 넷페이지 페이지 서버 모두로부터의 상이한 문서 포맷에 대한 지식을 은폐하고, 웹 서버로부터의 넷페이지 시스템의 정보를 은폐한다.
3. 보안(Security)
3.1 암호화(CRYPTOGRAPHY)
암호화는 민감한 정보(sensitive information)를 저장과 전송 모두에 있어서 보호하고, 관계자들을 어떤 처리상태로 인증하는 데 이용된다. 널리 이용되는 암호화에는 비밀키 암호화(secret-key cryptography) 및 공개키 암호화(public-key cryptography)의 두 종류가 있다. 넷페이지 네트워크는 두 종류의 암호화를 모두 사용한다.
대칭 암호화(symmetric cryptography)로도 일컬어지는 비밀키 암호화는 메시지를 암호화하고 해독하기 위하여 동일한 키(key)를 사용한다. 메시지를 교환하고자 하는 두 당사자는 먼저 안전하게 비밀키를 교환하여야 한다.
비대칭 암호화(asymmetric cryptography)로도 일컬어지는 공개키 암호화는두 개의 암호화 키를 사용한다. 두 개의 키는 하나의 키를 사용하여 암호화된 메시지가 오직 다른 키를 사용하여야만 해독되는 식으로 수학적으로 관련된다. 이들 키 중 하나는 공개되지만, 나머지는 비밀로 유지된다. 공개키는 비밀키 소지자를 위하여 의도된 어떤 메시지를 암호화하는데 사용된다. 일단 공개키를 사용하여 암호화되면, 메시지는 오직 비밀키를 사용하여야만 해독될 수 있다. 따라서, 두 당사자는 먼저 비밀키를 교환하여야 할 필요가 없이 안전하게 메시지를 교환할 수 있다. 비밀키가 안전하다는 것을 보장하기 위하여, 비밀키 소지자가 키 쌍(key pair)을 생성하는 것이 보통이다.
공개키 암호화는 디지털 서명을 생성하는데 이용된다. 비밀키 소지자는 메시지의 알려진 해시(hash)를 생성하여 그 해시를 비밀키를 사용하여 암호화할 수 있다. 그러면, 공개키를 이용하여 암호화된 해시를 해독하고, 그 메시지에 대한 그 해시를 검증함으로써 암호화된 해시가 그 특정 메시지와 관련하여 비밀키 소지자의 서명을 구성하고 있음을 누구라도 검증할 수 있다. 서명이 메시지에 덧붙여져 있으면, 메시지의 수신자는 메시지가 진실한 것이며 전송 과정에서 변경되지 않았음을 모두 검증할 수 있다.
공개키 암호화를 수행하기 위하여, 사칭(impersonation)을 방지하는 공개키를 분배하기 위한 방법이 있어야만 한다. 이것은 보통 인증서(certificate) 및 인증기관(certificate authority)을 이용하여 이루어진다. 인증기관은 공개키와 누군가의 신원(identity) 사이의 관계를 인증하는 신뢰받는 제3자(trusted third party)이다. 인증기관은 신원 문서(identity document)를 조사함으로써 그 사람의신원을 검증한 후 그 사람의 신원 상세정보(identity details) 및 비밀키를 포함하는 디지털 인증서(digital certificate)를 생성하여 서명한다. 그 인증기관을 신뢰하는 누구라도 인증서 상의 그 공개키가 진실한 것이라는 상당한 확실성을 가지고 사용할 수 있다. 그들은, 공개키가 널리 알려진 인증기관에 의하여 증명서가 실제로 서명되었음을 검증하기만 하면 된다.
대부분의 거래 환경에서, 공개키 암호화는 디지털 서명을 생성하고 비밀 세션 키(secret session key)를 안전하게 교환하는 데만 이용된다. 기타의 모든 목적을 위하여는 비밀키 암호화가 사용된다.
이어지는 논의에서, 넷페이지 프린터와 서버 사이의 "안전한" 정보 전송에 관하여 언급하면, 실제로 일어나는 일은 프린터가 서버의 인증서를 획득하고, 인증기관과 관련하여 그것을 인증하고, 서버와 비밀 세션 키를 교환하기 위해서 인증서 내에서 공개 키교환 키(public key-exchange key)를 사용하며, 메시지 데이터를 암호화하기 위하여 그 비밀 세션 키를 사용하는 것이다. "세션(session) 키"가 임의의 짧은 유효기간을 가질 수 있음은 자명하다.
3.2 넷페이지 프린터 보안(NETPAGE PRINTER SECURITY)
각각의 넷페이지 프린터는 프린터의 롬(read-only memory) 및 넷페이지 등록 서버 데이터베이스(netpage registration server database)에 저장되는 한 쌍의 고유 ID(identifier)가 제조 당시에 지정된다. 제1 ID(62)는 공개되어 그 프린터를 넷페이지 네트워크 상에서 고유하게 식별한다. 제2 ID는 비밀로서 프린터가 네트워크 상에 최초로 등록될 때 사용된다.
프린터가 설치된 후 넷페이지 네트워크에 최초로 접속되면, 그것은 서명 공개/비밀 키 쌍(signature public/private key pair)을 생성한다. 그것은 비밀 ID 및 공개키를 안전하게 넷페이지 등록 서버로 전송한다. 서버는 그 비밀 ID를 데이터베이스에 저장된 그 프린터의 비밀 ID와 비교하여, ID가 일치하면 등록을 수락한다. 그 뒤 프린터의 공개 ID 및 공개 서명 키를 포함하는 인증서를 생성하여 서명하고, 인증서를 등록 데이터베이스에 저장한다.
넷페이지 등록 서버는 프린터 정체(printer identity)를 검증할 수 있도록 비밀 정보에 관한 접근 권한을 가지고 있기 때문에 넷페이지 프린터에 대하여 인증기관으로서 작용한다.
사용자가 어느 출판물을 구독하면, 그 출판인에게 권한을 부여하는 넷페이지 등록 서버 데이터베이스에 그 사용자의 기본 프린터 또는 특정 프린터에서 그 출판물을 인쇄하기 위한 기록이 생성된다. 페이지 서버를 경유하여 프린터로 보내지는 모든 문서는 특정 사용자에게 어드레스(address)되고 출판인의 비밀 서명 키를 이용하여 그 출판인에 의하여 서명된다. 페이지 서버는 등록 데이터베이스를 경유하여 출판인이 특정 사용자에게 그 출판물을 배달하도록 허가되었는지를 검증한다. 페이지 서버는 등록 데이터베이스에 저장된 출판인의 인증서로부터 얻어지는 출판인의 공개키를 이용하여 서명을 검증한다.
요청이 프린터에 등록된 펜을 통하여 개시되는 한, 넷페이지 등록 서버는 인쇄 권한을 데이터베이스에 추가하라는 요청을 수락한다.
3.3 넷페이지 펜 보안(NETPAGE PEN SECURITY)
각각의 넷페이지 펜은 제조 당시에 펜의 롬(read-only memory) 및 넷페이지 등록 서버 데이터베이스에 저장되는 고유 ID(identifier)가 지정된다. 펜 ID(61)는 넷페이지 네트워크 상에서 그 펜을 유일하게 식별한다.
하나의 넷페이지 펜은 다수의 넷페이지 프린터를 "인지(know)"할 수 있으며, 하나의 프린터는 다수의 펜을 "인지"할 수 있다. 펜은 프린터의 범위 내에 있을 때면 언제나 무선 주파수 신호를 통하여 프린터와 통신한다. 일단 펜과 프린터가 등록되면, 규칙적으로 세션 키(session key)를 교환한다. 펜이 프린터로 디지털 잉크를 전송할 때마다 디지털 잉크는 항상 적절한 세션 키를 이용하여 암호화된다. 디지털 잉크는 결코 소거된 채로 전송되지 않는다.
펜은 인지하고 있는 모든 프린터마다 프린터 ID에 의하여 색인되는 세션 키를 저장하며, 프린터는 모든 펜마다 펜 ID에 의하여 색인되는 세션 키를 저장한다. 양자 모두는 세션키를 위하여 크지만 유한한 저장 용량을 가지며, 필요하다면 LRU 기반(least-recently-used basis)으로 세션 키를 무시할 수 있다.
펜이 프린터의 영역 내로 오면, 펜과 프린터는 상호 인식 여부를 탐색한다. 상호 인식하지 않고 있는 경우, 프린터는 그 펜을 인식하기로 되어 있는지 여부를 판단한다. 이것은 예를 들어 그 펜이 그 프린터를 이용하도록 등록된 사용자의 소유이기 때문일 수 있다. 만일 프린터가 그 펜을 인식하기로 되어 있으나 인식하지 못하는 경우에는, 프린터가 자동 펜 등록 절차(automatic pen registration procedure)를 개시한다. 만일 프린터가 그 펜을 인식하도록 되어 있지 않다면, 등록 절차를 개시하게 되는 시점인 펜이 충전 컵(charging cup)에 놓이는 때까지 그펜을 무시하기로 펜과 합의한다.
공개 ID에 더하여, 펜은 비밀 키교환 키(secret key-exchange key)를 포함한다. 키교환 키도 역시 제조 당시에 넷페이지 등록 서버 데이터베이스에 기록된다. 등록하는 동안, 펜은 프린터로 펜 ID를 전송하며, 프린터는 넷페이지 등록 서버로 그 펜 ID를 전송한다. 서버는 그 프린터와 판형이 사용할 세션 키를 생성하여 안전하게 세션 키를 프린터로 전송한다. 또한 서버는 그 펜의 키교환 키를 이용하여 암호화된 세션 키의 사본도 전송한다. 프린터는 세션 키를 펜 ID에 따라 색인하여 내부적으로 저장하고 암호화된 세션 키를 펜으로 전송한다. 펜은 프린터 ID에 따라 색인하여 그 세션키를 내부적으로 저장한다.
위조 펜(fake pen)이 펜 등록 프로토콜(pen registration protocol)을 사칭할 수 있음에도 불구하고, 오직 진정한 펜만이 프린터로부터 전송된 세션 키를 해독할 수 있다.
이전에 미등록된 펜이 최초로 등록되면, 그것이 사용자에 연결될 때까지는 제한적으로 사용된다. 등록되었으나 "소유되지 않은(un-owned)" 펜은 단지 넷페이지 사용자 및 펜 등록 양식을 요청 및 기입하는 경우, 새로운 펜이 자동적으로 연결되는 새로운 사용자를 등록하는 경우 및 기존 사용자에게 새로운 펜을 추가하는 경우에만 사용이 허가된다.
펜의 하드웨어 성능 제약(hardware performance constraints)때문에, 펜은 공개키 암호화보다는 비밀키 암호화를 사용한다.
3.4 보안 문서(SECURE DOCUMENTS)
넷페이지 시스템은 티켓이나 쿠폰과 같은 보안 문서의 배달을 지원한다. 넷페이지 프린터는 워터마크 인쇄 기능을 포함하지만, 적절하게 권한을 부여받은 출판인으로부터의 요청이 있는 경우에만 그렇게 한다. 출판인은 워터마크를 인쇄하는 권한을 인증서 내에 표시하며, 프린터는 이를 인증할 수 있다.
"워터마크" 인쇄 절차는 그 페이지의 특정 "워터마크" 영역에서 대체 디더 매트릭스(alternative dither matrix)를 이용한다. 연속하는 페이지(back-to-back pages)는 인쇄될 때에 같은 공간을 차지하는 미러 이미지(mirror-image) 워터마크 영역을 포함한다. 홀수 및 짝수 페이지의 워터마크 영역에서 사용되는 디더 매트릭스는, 인쇄된 용지를 "비쳐볼 때" 이들 영역이 간섭 효과(interference effect)를 일으키도록 설계된다.
그 효과는 페이지의 한쪽 면만을 볼 때는 드러나지 않고, 또한 페이지가 일반적인 수단으로 복사되면 사라진다는 점에서 워터마크와 흡사하다.
보안 문서의 페이지는 위 섹센1.9에서 설명된 내장형 넷페이지 복사 메커니즘(built-in netpage copy mechanism)을 이용하여 복사될 수 없다. 이것은 넷페이지 인식 복사기(netpage-aware photocopier)에서 넷페이지를 복사하는 것으로 확장된다.
보안문서는 대개 전자상거래 거래(e-commerce transaction)의 일부로서 생성된다. 따라서 이들은 섹션 2에서 설명된 바와 같이 넷페이지 등록 서버에 신상정보를 등록하였을 때 획득되는 사용자의 사진을 포함할 수 있다.
보안 넷페이지 문서가 제공될 때, 수신자는 일반적인 방법으로 그 상태를 요청함으로써 그 권한을 검증할 수 있다. 보안 문서의 고유 ID는 문서의 유효기간 동안에만 유효하며, 보안 문서 ID는 기회주의적 위조범에 의한 예측을 방지하기 위해 불연속적으로 할당된다. 보안 문서 검증 펜(secure document verification pen)은 용이한 즉시 문서 검증(point-of-presentation document verification)을 지원하기 위하여 검증 실패에 대한 피드백(feedback)을 내장하도록 개발될 수 있다.
워터마크도, 사용자의 사진도 암호화적 관점(cryptographic sense)에서는 안전하지 않음이 명백하다. 이들은 단지 우연한 위조에 대한 상당한 장애물을 제공할 뿐이다. 온라인 문서 검증, 특히 검증 펜(verification pen)을 이용한 온라인 문서 검증은 보안이 필요한 곳에서 보안의 등급을 높이지만, 여전히 위조를 완벽히 방어하지는 못한다.
3.5 수취 거절 불능성(NON-REPUDIATION)
넷페이지 시스템에서, 사용자에 의하여 제출된 양식은 양식 취급자(forms handler)에게 신뢰성 있게 전송되며, 지속적으로 넷페이지 페이지 서버에서 보존된다. 따라서 수신자의 수취 거절은 불가능하다.
섹션 4에서 설명되는 바와 같은, 시스템을 통하여 이루어지는 전자상거래 지불 역시 지불하는 자가 수취거절할 수 없다.
4. 전자상거래 모델(ELECTRONIC COMMERCE MODEL)
4.1 보안 전자 거래(SET)
넷페이지 시스템은 보안 전자 거래(Secure Electronic Transaction)(SET) 시스템을 지불 시스템(payment system)의 하나로 이용한다. 마스타카드(MasterCard)및 비자(Visa)에 의하여 개발된 SET는 지불 카드(payment card)를 중심으로 구성되며, 이것이 용어에 반영된다. 그러나, 시스템의 상당 부분은 사용되는 계좌의 종류와는 독립적이다.
SET에서, 카드 소지자 및 판매자는 인증서 권한을 등록하고, 자기의 공개 서명 키를 포함하는 인증서를 발급받는다. 인증서 권한은 카드 발행자에 관한 카드 소지자의 등록 세부정보(registration details)를 적절한 것(appropriate)으로 검증하며, 취득자에 대한 판매자의 등록 세부정보를 적절한 것으로 검증한다. 카드 소지자 및 판매자는 각각 자기의 비밀 서명 키를 안전하게 자기의 컴퓨터에 저장한다. 지불 절차 동안에 이들 인증서는 판매자와 카드 소지자를 상호 인증하고 지불 게이트웨이(payment gateway)에 인증시키는 데에 이용된다.
SET는 아직 널리 적용되지 않았는데, 이는 카드 소지자가 키와 인증서를 관리하는 것을 번거롭게 여기는 것에 부분적으로 기인한다. 카드 소지자의 키와 인증서를 서버 상에 관리하고 카드 소지자에게 비밀번호(password)를 통한 접속을 부여하는 경과적 해결책(interim solution)이 다소 성공적이었다.
4.2 SET 지불(SET PAYMENTS)
넷페이지 시스템에서 넷페이지 등록 서버는 SET 지불 거래에서 넷페이지 사용자(즉, 카드 소지자)의 대리인(proxy)으로서 작용한다.
넷페이지 시스템은 사용자를 인증하고 SET 지불 권한을 부여하기 위하여 생체정보(biometrics)를 이용한다. 시스템이 펜 기반(pen-based)이기 때문에, 이용되는 생체정보는 시간에 따라 변화하는 펜 위치 및 압력으로 이루어지는 사용자의 온라인 서명이 된다. 지문 생체정보 역시 가격은 비싸지겠지만 펜에 지문 센서를 설계함으로써 이용될 수 있다. 이용되는 생체정보의 종류는 생체정보 획득에만 영향을 미칠 뿐, 시스템의 권한 부여 측면에는 영향을 미치지 않는다.
SET 지불을 수행하는 첫째 단계는 사용자의 생체정보를 넷페이지 등록 서버에 등록하는 것이다. 이것은 제어되는 환경, 예를 들어 은행과 같은 곳에서 이루어지는데, 그곳에서 사용자의 신원(identity)이 검증됨과 동시에 생체정보가 획득된다. 생체정보는 획득되어 사용자 레코드(user's record)와 연결된 등록 데이터베이스(registration database)에 저장된다. 사용자의 사진 역시 선택 사항으로 획득되어 그 기록에 연결될 수 있다. SET 카드 소지자 등록 절차가 완료되면 그에 따른 개인 서명 키 및 인증서가 데이터베이스에 저장된다. 사용자의 지불카드 정보(payment card information) 또한 SET 지불 거래에 있어서 그 사용자의 대리인으로서 작용하기에 충분한 정보를 제공하도록 넷페이지 등록 서버에 저장된다.
사용자가 지불을 완료하기 위하여 예를 들어 넷페이지 주문 양식에 서명함으로써 생체정보를 제공하면, 프린터는 안전하게 그 주문 정보, 펜 ID 및 생체정보 데이터를 넷페이지 등록 서버로 전송한다. 서버는 펜 ID에 의하여 특정되는 사용자와 관련하여 그 생체정보를 검증하고, 그 다음부터는 그 SET 지불 거래를 완료함에 있어서 사용자의 대리인으로서 작용한다.
4.3 소액 지불(MICRO-PAYMENTS)
넷페이지 시스템은 사용자로 하여금 주문된 저렴한 문서의 인쇄 및 저작권 있는 문서(copyright document)의 복사에 대하여 편리하게 결제할 수 있도록 하고,가능하다면 사용자가 광고되는 물품을 인쇄함으로써 부과되는 비용을 결제할 수 있도록 하는 소액 지불(micro-payment)을 위한 메커니즘을 포함한다. 그중 후자는 사용자에게 이미 제공된 보조금의 정도(level of subsidy)에 달려있다.
사용자가 전자상거래에 등록하면, 소액 지불을 취합하는 네트워크 계정(network account)이 개설된다. 사용자는 정기적으로 고지서(statement)를 수신하며, 표준 지불 메커니즘을 이용하여 미지불 지출 잔액을 지불할 수 있다.
네트워크 계정은 정기 간행물의 구독료를 취합하도록 확장될 수 있는데, 물론 그렇지 않더라도 별개의 고지서의 형태로 사용자에게 제공될 수 있다.
4.4 거래(TRANSACTIONS)
사용자가 특정 애플리케이션의 맥락에서 넷페이지를 요청하면, 애플리케이션은 사용자에 특유한 거래 ID(user-specific transaction ID)(55)를 그 페이지에 내장할 수 있다. 그 페이지를 통한 후속 입력에는 그 거래 ID가 덧붙여지므로, 애플리케이션은 그 사용자의 입력에 대한 적절한 맥락을 확보할 수 있다.
그러나 사용자에 특유한 것이 아닌 페이지를 통한 입력이 발생하면, 애플리케이션은 맥락을 확보하기 위하여 그 사용자의 고유 신원(unique identity)을 이용하여야 한다. 전형적인 예는 미리 인쇄된 카탈로그 페이지로부터 사용자의 가상 "장바구니"(virtual "shopping cart")로 물품을 추가하는 것이다. 그러나 사용자의 프라이버시를 보호하기 위하여, 넷페이지 시스템에 알려진 고유 사용자 ID(60)는 애플리케이션에 노출되지 않는다. 이것은 다른 애플리케이션 제공자가 개별적으로 축적된 행동양식 데이터(behavioral data)를 용이하게 연관짓지 못하도록 하기 위한 것이다.
넷페이지 등록 서버는 대신 도 24에 나타난 바와 같이 사용자와 애플리케이션 사이에서 고유 별명 ID(unique alias ID)(65)를 통한 익명 관계를 유지한다. 사용자가 "등록" 속성이 덧붙여진 하이퍼링크를 활성화시킬 때마다 넷페이지 페이지 서버는 넷페이지 등록 서버에 관련 애플리케이션 ID(64)와 펜 ID(61)를 함께 별명 ID(65)로 변환할 것을 요청한다. 별명 ID는 그 다음 하이퍼링크의 애플리케이션으로 제출된다.
애플리케이션은 별명 ID에 따라 색인된 상태 정보(state information)를 유지하며, 그 사용자의 전역적 신원(global identity)에 대한 지식이 없이도 사용자에 특유한 상태 정보(user-specific state information)를 검색할 수 있다.
시스템은 또한 사용자를 위하여, 애플리케이션에 특유한 정보만을 이용하여 애플리케이션 처리사항에 서명할 수 있도록, 사용자의 애플리케이션 각각을 위한 독립적인 인증서(independent certificate) 및 비밀키를 유지한다.
시스템에 제품 바코드(product bar code)(UPC)의 "하이퍼링크" 활성화 경로 지정(routing)을 돕기 위하여, 시스템은 사용자를 위하여 임의의 개수의 제품 종류에 대한 즐겨찾기 애플리케이션(favorites application)을 기록한다.
각각의 애플리케이션은 하나의 애플리케이션 제공자에 관련되고, 시스템은 각각의 애플리케이션 제공자를 위하여 계정을 유지함으로써 제공자의 클릭-스루 요금(click-through fee) 등이 입출금되도록 한다.
애플리케이션 제공자는 정기적으로 구독되는 내용(periodical subscribedcontent)의 출판인이 될 수 있다. 시스템은 출판물의 예상 빈도(expected frequency of publication)뿐만 아니라, 구독 출판물을 수신하고자 하는 사용자의 의향(willingness)도 기록한다.
4.5 자원 명세 및 저작권(RESOURCE DESCRIPTIONS AND COPYRIGHT)
자원 명세 클래스도의 바람직한 실시예가 도 40에 나타나 있다.
각각의 문서 및 내용 오브젝트는 하나 또는 그 이상의 자원 명세(842)에 의하여 기술될 수 있다. 자원 명세는 전자적 자원(electronic resource)의 발견을 용이하게 하도록 설계된 더블린 코어 메타데이터 요소 셋(Dublin Core metadata element set)을 이용한다. 더블린 코어 메타데이터는 W3C(World Wide Web Consortium) RDF(Resource Description Framework)를 따른다
자원 명세는 권리자(rights holder)(920)를 식별할 수 있다. 넷페이지 시스템은 사용자가 저작권 있는 내용을 인쇄할 때 자동적으로 저작권료를 사용자로부터 권리자에게로 전송한다.
5. 통신 프로토콜(Communications Protoclos)
통신프로토콜은 실체(entity) 사이의 메시지의 규칙에 따른 교환(ordered exchange)을 정의한다. 넷페이지 시스템에서, 펜, 프린터 및 서버와 같은 실체는 사용자와 넷페이지 시스템과의 상호작용을 협동적으로 처리하기 위하여 한 벌의 정의된 프로토콜을 이용한다.
각각의 프로토콜은 수평적 차원(horizontal dimension)이 메시지 흐름을 표현하기 위하여 이용되고 수직적 차원(vertical dimension)이 시간을 표현하기 위하여 이용되는 시퀀스도(sequence diagram)의 방법으로 표현될 수 있다. 각각의 실체는 그 실체의 명칭을 포함하는 직사각형 및 그 실체의 생명선(lifeline)을 나타내는 수직 열(vertical column)에 의하여 표현된다. 실체가 존속하는 동안, 생명선은 파선(dashed line)으로 나타난다. 실체가 활성화된 동안에는 생명선이 겹선(double line)으로 나타난다. 여기에서 고려되는 프로토콜은 실체를 생성하거나 소멸시키지 않으므로, 생명선은 일반적으로 실체가 프로토콜에 참여를 중단하자마자 절단된다.
5.1 구독 배달 프로토콜(SUBSCRIPTION DELIVERY PROTOCOL)
구독 배달 프로토콜의 바람직한 실시예가 도 43에 나타나 있다.
다수의 사용자가 정기 출판물을 구독할 수 있다. 각각의 사용자의 판형은 상이하게 레이아웃될 수 있으나, 다수의 사용자의 판형은 공통적인 내용, 가령 텍스트 오브젝트 및 이미지 오브젝트를 공유하게 된다. 따라서 구독 배달 프로토콜은 포인트캐스트를 통하여 각각의 프린터로 문서 구조(document structure)를 배달하지만, 공유되는 내용 오브젝트는 멀티캐스트를 통하여 배달한다.
애플리케이션(즉, 출판인)은 먼저 ID 서버(12)로부터 각각의 문서에 대한 문서 ID(51)를 획득한다. 그리고, 문서 ID 및 페이지 명세를 포함하는 각각의 문서 구조를 그 문서의 새로 할당된 ID를 담당하는 페이지 서버(10)로 보낸다. 애플리케이션은 자기의 애플리케이션 ID(64), 구독자의 별명 ID(65) 및 관련된 멀티캐스트 채널 명칭 모음을 포함한다. 애플리케이션은 자기의 개인 서명 키를 이용하여 메시지에 서명한다.
페이지 서버는 등록 서버로부터 관련된 사용자 ID(60), 사용자의 선택된 프린터 ID(62)(그 애플리케이션을 위하여 명시적으로 선택될 수도 있고, 사용자의 기본 프린터가 될 수도 있다) 및 애플리케이션의 인증서를 획득하기 위하여 애플리케이션 ID 및 별명 ID를 이용한다.
애플리케이션의 인증서는 페이지 서버가 메시지 서명을 검증하도록 한다. 애플리케이션 ID 및 별명 ID가 구독(808)을 함께 식별하지 않으면 등록 서버에 대한 페이지 서버의 요청이 실패(fail)한다.
그리고 나서 페이지 서버는 문서 및 페이지 인스턴스 ID를 할당하고 페이지 ID(50)를 포함하는 페이지 명세를 프린터로 전송(forward)한다. 그것은 프린터가 청취할 관련 멀티캐스트 채널 명칭 모음(relevant set of multicast channel names)을 포함한다.
그리고 나서 그것은 새로이 할당된 페이지 ID를 추후의 참조를 위하여 리턴한다.
일단 애플리케이션이 모든 문서 구조를 관련 페이지 서버를 통하여 사용자 선택 프린터에 배분하면, 그것은 공유 오브젝트의 다양한 서브셋(subset)을 이전에 선택된 멀티캐스트 채널로 멀티캐스트한다. 페이지 서버 및 프린터는 적절한 멀티캐스트 채널을 추적하고 필요한 내용 오브젝트를 수신한다. 이들은 그리고 나서 이전의 포인트캐스트 문서 구조를 상주시킬 수 있다. 이것은 페이지 서버가 자기의 데이터베이스로 완전한 문서를 추가할 수 있도록 하고, 프린터가 그 문서를 인쇄할 수 있도록 한다.
5.2 하이퍼링크 활성화 프로토콜(HYPERLINK ACTIVATION PROTOCOL)
하이퍼링크 활성화 프로토콜의 바람직한 실시예가 도 45에 나타나 있다.
사용자가 넷페이지 펜으로 넷페이지를 클릭하면, 펜은 그 클릭에 대하여 가장 가까운 넷페이지 프린터(601)와 통신한다. 클릭은 그 페이지와 그 페이지 상에서의 위치를 식별한다. 프린터는 이미 펜 접속 프로토콜(pen connection protocol)로부터 그 펜의 ID(61)를 인지하고 있다.
프린터는 DNS를 경유하여 특정 페이지 ID(50)를 다루는 페이지 서버(10a)의 네트워크 어드레스를 판단한다. 그 어드레스는 사용자가 최근에 동일한 페이지에 대하여 상호작용을 하였다면 캐시에 저장되어 있을 수도 있다. 그리고 나서 프린터는 그 펜 ID, 자기의 프린터 ID(62), 페이지 ID 및 클릭 위치(click location)를 페이지 서버로 전송(forward)한다.
페이지 서버는 페이지 ID에 의하여 식별되는 페이지 명세(5)를 불러(load), (만약 존재한다면,) 어떤 입력 요소의 구역(58)에 그 클릭이 위치하는지를 판단한다. 관련 입력 요소가 하이퍼링크 요소(844)라고 가정할 때, 페이지 서버는 관련 애플리케이션 ID(64) 및 링크 ID(54)를 획득하고, 그 애플리케이션(71)을 운용하는 애플리케이션 서버의 네트워크 어드레스를 DNS를 경유하여 판단한다.
페이지 서버는 등록 서버(11)로부터 대응되는 사용자 ID(61)를 얻기 위하여 펜 ID(61)를 이용하고, 전역적 고유 하이퍼링크 요청 ID(globally unique hyperlink request ID)(52)를 할당하고 하이퍼링크 요청(934)을 구축한다. 하이퍼링크 요청 클래스도가 도 44에 나타나 있다. 하이퍼링크 요청은 요청하는 사용자 및 프린터의 ID를 기록하고, 클릭된 하이퍼링크 인스턴스(862)를 식별한다. 그 뒤페이지 서버는 자기의 서버 ID(53), 하이퍼링크 요청 ID 및 링크 ID를 애플리케이션으로 보낸다.
애플리케이션은 애플리케이션에 특유한 논리(application-specific logic)에 따라 응답 문서(response document)를 생성하고, ID 서버(12)로부터 문서 ID(51)를 얻는다. 그리고 나서 그것은 문서를 그 문서의 새로 할당된 ID(document's newly allocated ID)를 담당하는 페이지 서버(10b)로 요청하는 페이지 서버의 ID 및 하이퍼링크 요청 ID와 함께 보낸다.
제2 페이지 서버는 대응되는 사용자 ID 및 프린터 ID(62)를 얻기 위하여 하이퍼링크 요청 ID 및 애플리케이션 ID를 제1 페이지 서버로 보낸다. 제1 페이지 서버는 하이퍼링크 요청이 만료되었거나 다른 애플리케이션으로부터의 것이면 그 요청을 거절(reject)한다.
제2 페이지 서버는 문서 인스턴스 및 페이지 ID(50)를 할당하고, 새로 할당된 페이지 ID를 그 애플리케이션으로 리턴하고, 완전한 문서를 자기의 데이터베이스에 추가하며, 끝으로 페이지 명세를 요청하는 프린터로 보낸다.
하이퍼링크 인스턴스는 제2 페이지 서버가 애플리케이션으로 보내지는 메시지에 거래 ID를 포함하는 경우에 의미있는 거래 ID(meaningful transaction ID)(55)를 포함할 수 있다. 이것은 애플리케이션이 거래에 특유한 맥락(transaction-specific context)을 그 하이퍼링크 활성화에 수립하도록 한다.
하이퍼링크가 사용자 별명을 요청하면, 즉 그 "별명 요청" 속성이 설정되면, 제1 페이지 서버는 펜 ID에 대응되는 사용자 ID뿐만 아니라 애플리케이션 ID 및 그사용자 ID에 대응되는 별명 ID(65)까지도 얻기 위해, 펜 ID(61) 및 하이퍼링크의 애플리케이션 ID(64) 모두를 등록 서버(11)로 보낸다. 그것은 애플리케이션에 보내지는 메시지에 별명 ID를 포함하여, 애플리케이션이 하이퍼링크 활성화에 대하여 사용자에 특유한 문맥을 확보하도록 한다.
5.3 수기 인식 프로토콜(HANDWRITING RECOGNITION PROTOCOL)
사용자가 넷페이지 펜으로 넷페이지에 스트로크(stroke)를 그으면, 펜은 가장 가까운 넷페이지 프린터와 그 스트로크에 대하여 통신한다. 스트로크는 그 페이지 및 페이지 상의 경로(path)를 식별한다.
프린터는 일반적은 방식으로 펜 ID(61), 자기의 프린터 ID(62), 페이지 ID(50) 및 스트로크 경로를 페이지 서버(10)로 전송(forward)한다.
페이지 서버는 페이지 ID에 의하여 식별되는 페이지 명세(5)를 불러, (만약 존재한다면,) 어떤 입력 요소의 구역(58)을 스트로크가 지나는지를 판단한다. 관련된 입력 요소가 텍스트 영역(878)이라고 가정하면, 페이지 서버는 스트로크를 텍스트 영역의 디지털 잉크에 덧붙인다.
텍스트 영역의 구역에서 비활성 주기 후에, 페이지 서버는 해석(interpretation)을 위해서 펜 ID와 처리중인(pending) 스트로크를 등록 서버(11)로 보낸다. 등록 서버는 펜에 대응되는 사용자를 식별하고, 스트로크를 수기된(handwritten) 텍스트로서 해석하기 위하여 사용자의 축적 수기 모델(user's accumulated handwriting model)(822)을 이용한다. 일단 스트로크를 텍스트로 변환하면, 등록 서버는 요청하는 페이지 서버로 텍스트를 리턴한다. 페이지 서버는 텍스트를 텍스트 영역의 텍스트 값(text value)에 덧붙인다.
5.4 서명 검증 프로토콜(SIGNATURE VERIFICATION PROTOCOL)
그 요소의 구역에 스트로크가 그어지는 입력 요소가 서명 영역(88)이라고 가정하면, 페이지 서버(10)는 그 스트로크를 서명 영역의 디지털 잉크에 덧붙인다.
서명 영역의 구역에서 비활성 주기 후에, 페이지 서버는 검증을 위해서 펜 ID(61) 및 처리중인 스트로크를 등록 서버(11)로 보낸다. 그것은 또한 서명 영역이 그 일부분이 되는 양식(form) 관련 애플리케이션 ID(64) 및 그 양식의 현재 데이터 내용도 함께 보낸다. 등록 서버는 펜에 대응되는 사용자를 식별하고, 그 스트로크를 사용자의 서명으로서 식별하기 위하여 사용자의 동적 서명 생체정보(dynamic signature biometric)(818)를 이용한다. 일단 서명을 검증하면, 등록 서버는 그 사용자의 애플리케이션에 특유한 비밀 서명 키를 식별하기 위하여 애플리케이션 ID(64) 및 사용자 ID(60)를 등록 서버로 보낸다. 그것은 그리고 나서 양식 데이터의 디지털 서명을 생성하기 위하여 그 키를 이용하고, 요청하는 페이지 서버로 디지털 서명을 리턴한다. 페이지 서버는 디지털 서명을 서명 영역에 덧붙이고 관련된 양식의 상태를 동결(frozen)로 설정한다.
디지털 서명은 대응되는 사용자의 별명 ID(65)를 포함한다. 이것은 하나의 양식이 다수의 사용자의 서명을 획득할 수 있도록 한다.
5.5 양식 제출 프로토콜(FORM SUBMISSION PROTOCOL)
양식 제출 프로토콜의 바람직한 실시예가 도 46에 나타나 있다.
양식 제출은 양식 하이퍼링크 활성화를 통하여 발생한다. 따라서 그것은 약간의 양식에 특유한(form-specific) 추가 사항을 가지고 섹션 5.2에서 정의된 프로토콜을 따른다.
양식 하이퍼링크의 경우에 있어서, 페이지 서버(10)에 의하여 애플리케이션(71)으로 보내지는 하이퍼링크 활성화 메시지(hyperlink activation message)는 양식 ID(56) 및 양식의 현재 데이터 내용 또한 포함한다. 만일 양식이 임의의 서명 영역을 포함하면, 애플리케이션은 대응되는 디지털 서명 관련 별명 ID(65)를 추출하고, 등록 서버(11)로부터 대응되는 인증서를 획득함으로써 각각을 검증할 것이다.
5.6 수수료 지불 프로토콜(COMMISSION PAYMENT PROTOCOL)
수수료 지불 프로토콜의 바람직한 실시예가 도 47에 나타나 있다.
전자상거래 환경에 있어서, 요금 및 수수료는 클릭-스루(click-through), 거래(transaction) 및 판매(sale)에 의해서 애플리케이션 제공자로부터 출판인에게로 지불될 수 있다. 요금에 대한 수수료 및 수수료에 대한 수수료 역시 출판인으로부터 프린터 제공자에게로 지불될 수 있다.
하이퍼링크 요청 ID(52)는 요금 또는 수수료를 타겟 애플리케이션 제공자(target application provider)(70a)(즉, 판매자)로부터 출처 애플리케이션 제공자(source application provider)(70b)(즉, 출판인)에게로, 또한 출처 애플리케이션 제공자(70b)로부터 프린터 제공자(72)에게로 경로 지정(route)할 수 있다.
타겟 애플리케이션은 섹션 5.2에서 설명된 바와 같이 하이퍼링크가 최초로 활성화되었을 때 페이지 서버(10)로부터 하이퍼링크 요청 ID를 수신한다. 타겟 애플리케이션이 출처 애플리케이션 제공자에게 지불을 요하면, 그것은 애플리케이션 제공자 지불(application provider credit)을 원래의 페이지 서버로 하이퍼링크 요청 ID와 함께 보낸다. 페이지 서버는 출처 애플리케이션을 식별하기 위하여 하이퍼링크 요청 ID를 이용하고, 관련된 등록 서버(11)로 출처 애플리케이션 ID(64), 자기의 서버 ID(53) 및 하이퍼링크 요청 ID와 함께 크레딧(credit)을 보낸다. 등록 서버는 대응되는 애플리케이션 제공자의 계정(827)을 크레딧(credit)한다. 그것은 또한 애플리케이션 제공자에게 통지(notify)를 한다.
애플리케이션 제공자가 프린터 제공자에게 크레딧할 필요가 있으면, 그것은 프린터 제공자 크레딧을 본래의 페이지 서버로 하이퍼링크 요청 ID와 함께 보낸다. 페이지 서버는 프린터를 식별하기 위하여 하이퍼링크 요청 ID를 이용하고, 관련된 등록 서버로 프린터 ID와 함께 크레딧(credit)을 보낸다. 등록 서버는 대응되는 프린터 제공자 계정(814)을 크레딧(credit)한다.
출처 애플리케이션 제공자는 선택 사항으로 타겟 애플리케이션 제공자의 신원(identity)을 통지받으며, 프린터 제공자는 출처 애플리케이션 제공자의 신원을 통지받는다.
6. 넷페이지 펜 명세(Netpage Pen Description)
6.1 펜 역학(PEN MECHANICS)
도 8 및 도 9를 참조하면, 일반적으로 참조번호 101에 의하여 지시되는 펜은, 펜 구성 부품을 장착시키기 위한 내부 공간(interior space)(104)을 형성하는 벽부(wall)(103)를 가지는 플라스틱 몰딩 형태의 하우징(102)을 포함한다. 펜상부(top)(105)는 작용상 하우징(102)의 일단부(106)에 회전 가능하게 장착된다. 반투명 커버(semi-transparent cover)(107)는 하우징(102)의 타단부(108)에 고착된다. 또한, 커버(107)는 몰드 플라스틱이고, 사용자가 하우징(102) 내에 장착된 LED의 상태를 볼 수 있도록 하기 위해 반투명 재료로 형성된다. 커버(107)는 하우징(102)의 타단부(108)를 실질적으로 감싸는 메인부(109)와, 메인부(109)로부터 후방으로 돌출되어 하우징(102)의 벽부(103)에 형성된 대응 슬롯(corresponding slot)(111) 내에 맞추어지는 돌출부(projecting portion)(110)를 포함한다. 무선 안테나(radio antenna)(112)는 하우징(102) 내에서 돌출부(110) 후방에 장착된다. 커버(107)에 형성된 구멍(aperture)(113A)을 감싸는 스크류 나사산(screw thread)(113)은 대응되는 스크류 나사산(115)을 포함하는 금속 단편(114)을 수용하도록 형성된다. 금속 단편(114)은 잉크 카트리지를 교체할 수 있도록 분리될 수 있다.
또한, 플렉스 PCB(flex PCB)(117) 상의 3색 상태 LED(tri-color status LED)(116)가 커버(107) 내에 장착된다. 안테나(11) 또한 플렉스 PCB(117) 상에 장착된다. 양호한 주변 시인성(all-around visibility)을 위하여, 상태 LED(116)는 펜(101)의 상부에 장착된다.
펜은 일반적인 표시용 잉크 펜(marking ink pen) 및 비표시용 스타일러스 펜(non-marking stylus) 모두로서 기능한다. 펜촉(nib)(119)을 가지는 잉크 펜 카트리지(118) 및 스타일러스 펜촉(stylus nib)(121)을 가지는 스타일러스(120)는 하우징(102) 내에서 나란히 장착된다. 잉크 카트리지 펜촉(119) 또는 스타일러스 펜촉(121)은 펜 상부(105)의 회전에 의해 금속 단편(114)의 개구(open end)(122)를 통해 전방으로 나올 수 있다. 각각의 슬라이더 블록(slider block)(123,124)은 잉크 카트리지(118)와 스타일러스(121)에 각각 장착된다. 회전 가능한 캠 몸통(rotatable cam barrel)(125)은 동작 중에 펜 상부(105)에 고정되고, 펜 상부와 함께 회전하도록 형성된다. 캠 몸통(125)은 캠 몸통의 벽부(181) 내에 슬롯 형태의 캠(126)을 포함한다. 슬라이더 블록(123,124)으로부터 돌출되는 캠 종동부(cam follower)(127,128)는 캠 슬롯(126) 내에 끼워진다. 캠 몸통(125)의 회전시, 슬라이더 블록(123,124)은 금속 단편(114)의 개구(122)를 통해 펜의 펜촉(119) 또는 스타일러스 펜촉(121) 중 하나를 돌출시키도록 서로 상대 운동을 한다. 펜(101)은 세 가지 동작 상태를 가진다. 상부(105)를 90°단계로 회전시킴으로써 생기는 상태는 다음과 같다.
· 스타일러스(120)의 펜촉(121) 돌출,
· 잉크 카트리지(118)의 펜촉(119) 돌출 및
· 잉크 카트리지(118)의 펜촉(119)도 스타일러스(120)의 펜촉(121)도 돌출되지 않음.
제2 플렉스 PCB(129)는 하우징(102) 내에 안착하는 전자 섀시(130)에 장착된다. 제2 플렉스 PCB(129)는 투영을 위해 표면에 적외선을 방출하는 적외선 LED(131)를 장착한다. 이미지 센서(132)가 표면에서 반사된 방사광을 수신하기 위하여 제2 플렉스 PCB에 장착된다. 또한, 제2 플렉스 PCB(129)는 RF 송신기와 RF 수신기를 구비하는 무선 주파수 칩(radio frequency chip)(133)과, 펜(101)의 동작을제어하는 제어 칩(controller chip)(134)을 장착한다. 광학 블록(optics block)(135)(성형 투명 플라스틱(moulded clear plastics)으로 형성됨)은 커버(107) 내에 안착되어, 적외선 빔을 표면에 투사하고 이미지 센서(132) 상의 이미지를 수신한다. 전력 공급선(power supply wire)(136)은 제2 플렉스 PCB(129) 상의 구성부품을 캠 몸통(125) 내에 장착된 배터리 접촉부(battery contact)(137)에 접속시킨다. 단자(terminal)(138)는 배터리 접촉부(137) 및 캠 몸통(125)에 연결된다. 3 볼트 충전 배터리(3 volt rechargeable battery)(139)는 배터리 접촉부와 접촉하는 상태로 캠 몸통(125) 내에 안착된다. 유도 충전 코일(induction charging coil)(140)은 유도(induction)를 통해 배터리(139)를 충전시킬 수 있도록 제2 플렉스 PCB(129)의 주위에 장착된다. 또한, 제2 플렉스 PCB(129)는, 스타일러스(120) 또는 잉크 카트리지(118) 중의 하나가 기록을 위해 이용될 때, 펜의 펜촉(119) 또는 스타일러스 펜촉(121)에 의해 표면에 인가되는 압력을 판단할 수 있도록 캠 몸통(125)에서의 변위를 검출하는 적외선 LED(143)와 적외선 포토다이오드(infrared photodiode)(144)를 장착한다. 적외선 포토다이오드(144)는 슬라이더 블록(123,124)에 장착된 반사기(reflector)(도시하지 않음)를 경유하여 적외선 LED(143)로부터 빛을 검출한다.
고무 그립 패드(rubber grip pad)(141,142)는 펜(101)을 쥐는데 도움을 주기 위해 하우징(102)의 타단부(108) 쪽에 마련되고, 상부(105) 또한 펜(101)을 주머니에 고정시키기 위한 클립(clip)(142)을 포함한다.
6.2 펜 제어기(PEN CONTROLLER)
펜(101)은 펜촉 주변의 표면 영역을 적외선 스펙트럼에서 비춤으로써 펜촉(스타일러스 펜촉(121) 또는 잉크 카트리지 펜촉(119))의 위치를 판단하도록 형성된다. 펜은 가장 가까운 위치 태그(nearest location tag)로부터 위치 데이터를 기록하고, 광학 장치(optics)(135) 및 제어 칩(134)을 이용하여 위치 태그로부터 펜촉(121) 또는 펜촉(119)까지의 거리를 계산하게 된다. 제어 칩(134)은 이미지 태그 상에서 관측되는 투시 왜곡으로부터 펜의 방향(orientation) 및 펜촉으로부터 태그까지의 거리(nib-to-tag distance)를 계산한다.
위치 태그로부터의 제어 데이터는 펜으로 하여금 그 "활성 영역" LED를 활성화하도록 명령한다(이것은 사실상 3색 LED(116)의 일 모드로서, 촬영되고 있는 당해 영역이 "활성 영역"인 것으로 펜이 결정할 때에 황색으로 된다.). 따라서, 표면 상의 버튼 또는 하이퍼링크에 대응되는 영역은, 이 LED를 활성화하도록 부호화되어, 펜의 사용자에게 펜(101)이 버튼 또는 하이퍼링크를 지나칠 때, 이들이 활성 상태라는 시각적 피드백을 제공할 수 있다. 제어 데이터는 또한 펜으로 하여금 연석적인 펜 압력 판독을 캡처하도록 명령할 수 있다. 따라서 서명 입력 영역에 대응되는 표면 상의 일 영역은 연속적인 펜 압력을 캡처하도록 부호화될 수 있다.
표면과의 관계에서의 펜 동작은 일련의 스트로크를 포함할 수 있다. 하나의 스트로크는 펜 다운 이벤트로써 개시되고 펜 업 이벤트로써 완료되는 일련의 표면 상에서의 타임스탬프된 펜 위치(time-stamped pen position)로 이루어진다. 펜 압력은 문턱값과의 관계에서 해석되어 펜이 "업"인지 "다운"인지를 지시하게 됨은 물론, 예를 들어 펜이 서명을 캡처할 때와 같은 연속적 값으로서 해석될 수 있다. 일련의 캡처된 스트로크는 이른바 "디지털 잉크"를 이룬다. 디지털 잉크는 컴퓨터 시스템과 함께 사용되어 수기 온라인 인식 및 서명 온라인 검증을 위한 도면 및 수기의 디지털 교환의 기초를 형성할 수 있다.
RF 칩(133) 및 안테나(112)를 이용하여 펜(101)은 디지털 잉크 데이터(보안을 위해 암호화되고 효율적인 전송을 위해 패킷화됨)를 연산 시스템(computing system)으로 전송할 수 있다.
펜이 수신기의 범위 내에 있으면, 디지털 잉크 데이터는 그것이 형성되는 대로 전송된다. 펜(101)이 범위 밖으로 이동하면, 디지털 잉크 데이터는 펜(101) 내에 버퍼되며(펜(101) 회로는 표면 상에서 약 12분 동안의 펜 움직임에 대한 디지털 잉크 데이터를 저장할 수 있도록 마련된 버퍼(buffer)를 포함한다), 나중에 전송될 수 있다.
제어 칩(124)은 펜(101)의 제2 플렉스 PCB(129)에 장착된다. 도 10은 제어 칩(134)의 구조를 더욱 상세하게 나타낸 블록도이다. 또한, 도 10은 RF 칩(133), 이미지 센서(132), 3색 상태 LED(116), 적외선 발광 LED(131), 적외선 압력 센서(143) 및 압력 센서 포토다이오드(144)에 관한 표현을 포함한다.
펜 제어 칩(134)은 제어 프로세서(145)를 포함한다. 버스(146)는 제어 칩(134)의 구성부품 사이의 데이터를 교환할 수 있다. 플래시 메모리(falsh memory)(147) 및 512KB D램 역시 포함된다. 아날로그-디지털 컨버터(analog-to-digital converter)(149)는 압력 센서 포토다이오드(144)로부터의 아날로그 신호를 디지털 신호로 변환하도록 마련된다.
이미지 센서 인터페이스(image sensor interface)(152)는 이미지 센서(132)를 인터페이스한다. 송수신기 제어기(transiver controller)(153) 및 베이스 밴드 회로(base band circuit)(154) 역시 RF 회로(RF circuit)(155)와 RF 공진회로(RF resonator)를 포함하는 RF 칩(133) 및 안테나(112)와 연결된 인덕터(156)를 인터페이스하도록 포함된다.
제어 프로세서(145)는, 태그로부터의 위치 데이터를 표면으로부터 이미지 센서(132)를 통하여 획득하여 복호화하고, 압력 센서 포토다이오드(144)를 모니터하고, LED(116,131,143)를 제어하며, 무선 송수신기(153)를 통한 근거리 무선 통신을 다룬다. 제어 프로세서(145)는 중간 성능(medium-performance)(~40MHz) 범용 RISC 프로세서이다. 프로세서(145), 디지털 송수신기 구성부품(송수신기 제어기(153) 및 베이스밴드 회로(154)), 이미지 센서 인터페이스(152), 플래시 메모리(147) 및 512KB D램(148)은 단일 제어기 ASIC(single controller ASIC)에 집적된다. 아날로그 RF 구성부품(RF 회로(155)), RF 공진회로 및 인덕터(156))은 별개의 RF 칩으로 제공된다.
이미지 센서는 적외선 필터가 구비된 약 215×215 픽셀 CCD이다(그러한 센서는 마쯔시타 전기(Matsushita Electronic Corporation)에서 생산되며, 본 명세서에서 참조로서 포함되는 Itakura, K. T. Nobusada, N. Okusenya, R. Nagayoshi, M. Ozaki, "A 1mm 50k-Pixel IT CCD Image Sensor for Miniature Camera System", IEEE Transactions on Electronic Devices, Vol.47, number 1, January 2000.에 설명됨).
제어기 ASIC(134)는 비활성 주기 후, 펜(101)이 표면과 접촉하고 있지 않을 때 휴지 상태(quiescent state)로 들어간다. 그것은 압력 센서 포토다이오드(144)를 모니터하고, 펜 다운(pen-down) 발생시 전원 관리자(power manager)를 경유하여 제어기(134)를 깨우는 전용 회로(150)로 구현된다.
무선 송수신기는 일반적으로 무선 전화가 사용하는, 허가가 필요 없는 900Mhz 대역 또는 허가가 필요 없는 2.4GHz 산업용, 과학용 및 의료용(ISM) 대역에서 통신하며, 간섭 없는(interference-free) 통신을 제공하기 위하여 주파수 호핑(frequency hopping) 및 충돌 검출(collision detection)을 사용한다.
6.3 펜 광학렌즈(PEN OPTICS)
상술한 바와 같이, 펜 광학은 몰드된 광학렌즈체(molded optics body)(135)로써 구현된다. 광학렌즈체(135)로써 구현되는 광학렌즈가 도 67에 개략적으로 나타나 있다. 광학렌즈는 적외선 LED(131)로부터의 방사광에 초점을 맞추기 위한 제1 렌즈(157)와, 거울(158)과, 빔 스플리터(beam splitter)(159)와, 대물렌즈(160) 및 이미지 센서(132) 상으로 이미지의 초점을 맞추기 위한 제2 렌즈(161)를 포함하여 이루어진다.
광학 경로는 필요 기울기 범위(후술함) 내에서 관측 영역 원뿔(field of view cone)(192)을 가로지르는 촬영되는 표면의 해당 부분(193)의 이미지 센서(132)로 날카로운 이미지(sharp image)를 보내도록 디자인된다. 주 초점 요소(primary focusing element)는 대물렌즈(160)이다. 이것은 역으로 IR 조명LED(131)로부터의 조명을 관측 영역 내의 표면 상으로 투사하는 데에도 사용된다. 이미지 센서(132)와 IR LED(131) 모두를 피사체의 초점에 배치하는 것은 비현실적이므로, 빔 스플리터(159)가 사용되어 경로를 분할하며 개별적인 릴레이 렌즈(157,161)가 각각의 경로에서 이미지 센서(132) 및 IR LED(131)로 다시금 각각 초점을 맞추게 된다. 이는 또한 두 경로에 상이한 조리개를 사용하도록 할 수 있다.
이미지 센서(132)의 모서리는 캡처 영역에 대한 영역 정지(field stop)로서 기능하며, 캡처 경로는 결과적인 목적 공간 각 관측 영역(object space angular field of view)(즉, 본 실시예의 애플리케이션에서는 단지 20°이하)를 필요로 하도록 설계된다. 조명 경로는 캡처 경로와 동일한 목적 공간 관측 영역을 생성함으로써 조명이 목적 공간 관측 영역을 최대 전력으로써 최대한 균일하게 채울 수 있도록 설계된다.
IR LED(131)는 프레임 캡처와 동기하도록 스트로브된다. 초점이 맞추어진 조명을 사용함으로써 짧은 노출과 작은 조리개가 실현된다. 짧은 노출 시간은 번진 영상을 방지함으로써 펜의 이동 중에 위치 태그 데이터 캡처를 가능케 한다. 작은 조리개에 의하여 기울임으로 인한 표면 깊이의 전 범위에 대하여 충분한 깊이의 영역이 실현된다. 캡처 경로는 이 목적을 위한 명백한 조리개 멈추개(aperture stop)(191)를 포함한다.
이미지 센서(132)가 스펙트럼의 가시광선 영역 및 인접 적외선 영역에 걸쳐 강력한 응답을 보이기 때문에, 캡처 경로에서 적외선 필터(163)가 우선하도록 함으로써 적외선 인접 영역의 투명한 잉크를 사용하여 인쇄될 수 있는 표면 상의 다른 그래픽으로부터의 간섭 없이 표면 상의 태그 데이터의 깨끗한 이미지를 캡처하도록 한다.
6.4 펜 처리(PEN PROCESSING)
펜의 스타일러스 펜촉(121) 또는 잉크 카트리지 펜촉(119)이 표면과 접해 있을 때, 펜은 100Hz로 그 표면에 대해 상대적인 위치 및 방위를 결정하여, 정확한 육필 인지(Tappert,C,C Y Suen 및 T Wakahara에 의한 기사문, "The State of the Art in On-Line Hand Writing Recognition" IEEE 특허 분석 및 기계 지능에 대한 분석(IEEE Transactions on Patent Analysis and Machine Intelligence, Vol 12, number 8, 1990년 8월, 그 내용은 여기서 상호-참조로서 포함된다)를 가능하게 한다. 펜이 "업(Up)" 또는 "다운(Down)"인지 상대적인 문턱값을 나타내는데, 압력 감지센서 포토다이오드(144)가 활용된다. 위에서 언급된 바와 같이, 서명(signature)의 완전 역학이 검증될 수 있도록 상기 압력이 연속값으로 측정될 수도 있다.
펜은 적외선 스펙트럼에서 펜촉(119,121)의 근처의 표면 영역을 이미지화함으로써 표면상의 펜촉(119,121)의 위치 및 방위를 결정할 수 있다. 펜은 가장 근접한 태그 데이터를 디코딩하고, 이미지 태그상의 관찰된 투시 왜곡과 펜 광학물(135)(추후 설명한다)의 공지된 기하학으로부터 위치 태그에 대해 상대적인 펜촉(119,121)의 위치를 연산한다. 비록 태그의 위치 해상도가 낮을 수 있더라도,수정된 위치 해상도는 매우 높으며, 정확한 육필 인지(상기 참조자료를 보라)에 필요한 200 dpi 해상도를 어렵지 않게 초과할 수 있다.
표면에 대한 펜 작용은 일련의 스트로크로서 파악된다. 스트로크는 표면상에서 타임-스탬프 펜 위치의 시켄스(sequence)로 구성되며, 펜-다운 이벤트(Pen-Down Event)로 개시되고 펜-업(Pen-Up Event)의 시켄스로 완성된다. 또한, 스트로크는 영역 ID가 변화, 즉, 보통 환경하에서 스트로크의 시작시에 표면의 영역 ID로 태그된다. 위에서 언급한 바와 같이, 각 위치 태그는 표면상의 위치를 나타내는 데이터를 포함하고, 또한 영역 데이터는 태그가 놓여있는 표면의 영역을 나타낸다.
도 68은 펜에 있어서의 위치 태그와 스트로크 처리를 나타내는 다이어그램이다. 펜 제어기(134)는 공허 스트로크(empty stroke)로 시작한다(164). 그리고나서, 압력 감지센서 포토다이오드(144)를 통하여 펜촉 압력을 연속적으로 샘플링하고(165), 펜-다운 상태를 체크한다(166). 만약 펜이 펜-다운 상태이면, 펜 콘트롤러(134)는 표면의 이미지를 파악하고(167), 상기 파악된 이미지내의 태그의 위치를 파악하고(168), 상기 태크로부터 태그 데이터를 디코드하고(169), 표면에 대해 상대적인 펜의 위치 및 방위를 추측하며, 현재의 스트로크 데이터에 위치 데이터를 추가한다(171). 펜-업 이벤트를 감지하면, 즉, 비-공허 스트로크(non-empty stroke)의 존재에 의해 표시되는 바와 같이, 펜-다운 상태 후에 펜-업 상태를 감지하면(172), 펜 제어기(134)는 스트로크 데이터를 부호화하고(173) RF 칩(133)과 안테나(112)를 통하여 스트로크 데이터를 컴퓨터 시스템에 송신한다. 그리고나서 또 다른 공허 스토로크를 개시한다(164).
합리적으로 고속 8 비트 곱셈(3 싸이클)을 가정하면, 프로세싱 알고리즘(추후에 살펴본다)은 펜이 활성(active)일 때 프로세서 시간자원의 대략 80%를 사용한다.
만약 펜이 송신할 컴퓨터 시스템의 범위 밖에 있으면, 펜은 그 내부 메모리에 디지털 잉크를 버퍼링한다. 펜은 컴퓨터 시스템의 범위내에 다음에 들어갈 때 버퍼링되었 있던 디지털 잉크를 송신한다. 펜의 내부 메모리가 가득 차면, 펜은 디지털 잉크의 캡쳐를 중단하며, 사용자가 그 펜으로 글씨를 쓰려고 할 때에는 에러 LED에 불빛을 낸다.
표 4는 펜으로부터 컴퓨터 시스템으로 송신되는 미처리 디지털 잉크의 성분을 리스트한 것이다. 도 69는 미처리 디지털 잉크의 구조를 나타내는 다이어그램이다. 펜이 오프라인으로 작업하고 있을 때 펜 안에 버퍼링되는 디지털 잉크는, 상기 시스템으로 송신되는 디지털 잉크와 동일한 유형으로 저장된다.
[표 4] 미처리 디지털 잉크 성분(Raw digital ink components)
미처리 디지털 잉크 성분 단위 정확성(비트(bits)) 범위
펜 ID - 128 -
펜촉 ID - 128 -
절대 시간 ms 64 -
마지막 시스템 시간 ms 64 -
영역 ID - 100 -
타임 오프셋 ms 32 49.7 일
태그 ID - 16 -
x 오프셋 20 μm S9 ±10mm
y 오프셋 20 μm S9 ±10mm
x 회전(피치(pitch)) 디그리(degreee) S7 ±90°
y 회전(롤(roll)) 디그리(degreee) S7 ±90°
z 회전(요(yaw)) 디그리(degreee) S7 360°
z 압력(force) - 8 255
펜(101)이 컴퓨터 시스템이 연결될 때, 제어기(134)는, 미처리 디지털 잉크헤더(182)의 형태로 펜 ID, 펜촉 ID, 현재 절대 시간, 및 오프라인으로 가기 전에 시스템으로부터 획득한 마지막 절대 시간을 시스템에게 통지한다. 이로써 시스템은 펜의 클록의 흐름을 연산할 수 있고, 그에 따라서 펜으로부터 수신된 디저털 잉크를 타임 시프트(timeshift)할 수 있다. 그리고 나서, 펜은 시스템의 정확한 실시간 클록과 그 실시간 클록을 동기한다. 컴퓨터 시스템과 함께 동작하는 펜이 하나 이상일 때, 펜 ID는 컴퓨터 시스템으로 하여금 그 펜을 식별할 수 있게 한다. 펜 ID들은 펜의 소유자를 식별하고, 예를 들어 특정의 직접적인 방법으로 그 소유자와 상호작용하기 위하여, 펜을 사용하는 시스템에서 중요하다. 다른 실시예에서는 이것이 요구되지 않을 수도 있다. 펜촉 ID 덕분에, 컴퓨터 시스템은 어떤 펜촉, 스타일러스 펜촉(121) 또는 잉크 카트리지 펜촉(119)이 현재 사용되고 있는가를 식별할 수 있다. 컴퓨터 시스템은 어떤 펜촉이 사용되고 있는가에 따라서 그 동작을 가변할 수 있다. 예를 들어, 만약 잉크 카트리지 펜촉(119)이 사용되면, 컴퓨터 시스템은 피드백 출력을 생성하는 것을 연기할 수도 있는데, 왜냐하면 표면상에 만들어진 잉크 마킹에 의해 즉각적인 피드백이 제공될 수 있기 때문이다. 스타일러스 펜촉(121)이 사용되고 있는 곳이라면 어디든지, 컴퓨터 시스템은 즉각적인 피드백 출력을 생성할 수 있다.
스트로크의 개시점에서, 펜 제어기(134)는 미처리 스트로크 헤더(183)에서, 시스템에 통지된 최후의 절대 시간 이래 경과된 시간을 기록한다. 스트로크에 있어서의 각 펜 위치에 대하여, 제어기(134)는 미처리 펜 위치(177)의 형태로, 현재의 태그로부터의 펜의 펜촉의 x 및 y 오프셋(119,121) 및, 펜의 x,y,z 회전 및 펜촉 압력을 기록한다. 제어기는 (영역내의 태그를 식별하는) 태그가 변화되면 태그 변화(178)의 형태로 기록할 뿐이다. 태그 주파수가 일반적인 위치 샘플링 주파수보다도 상당히 작기 때문에, 태그 ID는 많은 연속적인 펜 위치에 대해 일정하고, 그 스트로크가 짧은 경우에는 전체 스트로그에 대해 일정할 수 있다.
펜이 그 위치 및 방위를 100 Hz로 샘플링하기 때문에, 한 스트로크에 있어서의 펜 위치는 내재적으로 100 Hz로 클록킹되며, 명시적인 타임스탬프는 필요로 하지 않는다. 만약 펜이, 예컨대 펜이 태그를 디코딩하는데 실패하여, 펜의 위치를 연산하는데 실패하더라도, 내재적 클록킹을 보존하기 위하여 펜 위치를 기록해야 한다. 따라서, 펜은 위치를 미지 펜 위치(unknown pen positon;179)의 형태로, 미지(unknown)로 기록하며, 이로써 컴퓨터 시스템은 나중에 필요하면 인접 샘플로부터 그 펜의 위치를 보간(interpolate)할 수 있다.
한 스트로크의 32-비트 타임 오프셋은 유한한 범위(즉, 49.7일)를 가지기 때문에, 펜은 한 스트로크에 대하여 타임 변화(176)의 형태로 절대 시간을 선택적으로 기록한다. 이것은 추후의 스트로크 타임 오프셋이 측정되는 시간에 대한 절대적인 시간으로 된다.
영역 ID는 많은 연속 스트로크에 대해 일정하기 때문에, 펜은 영역 변화(180)의 형태로, 변화할 때 영역 ID를 기록할 뿐이다. 이것은 추후의 펜 위치와 내재적으로 관련된 영역 ID로 된다.
사용자가 한 스트로크와 그 다음 스트로크 사이에서 펜촉(119,121)을 바꿀 수 있기 때문에, 펜은 한 스트로크에 대해 펜촉 ID를 펜촉 변화(175)의 형태로, 선택적으로 기록한다. 이것은 추후의 스트로크와 내재적으로 관련된 펜촉 ID로 된다.
표 5에 나열되는 바와 같이, 한 스트로크의 각 성분은 엔트로피-코딩된 접두사로 된다.
[표 5] 미처리 스트로크 요소 접두사
미처리 스트로크 요소(raw stroke components) 접두사(prefix)
미처리 펜 위치 0
미지 펜 위치 10
태그 변경 1100
스트로크 말단 1101
영역 변경 11100
펜촉 변경 11101
시간 변경 11110
1초간 지속되는 10mm의 스트로크는 2 또는 3개의 태그 길이이고, 100개의 위치 샘플을 포함하므로 약 5500비트의 크기가 된다. 온라인 연속 디지털 잉크 캡처는 따라서 최대 전송 속도가 5.5KBps일 것을 요하며, 오프라인 연속 디지털 잉크 캡처는 약 40KByte/분의 버퍼 메모리를 요한다. 펜의 512KB DRAM(48)은 따라서 12분 이상의 연속 디지털 잉크를 감당할 수 있다. 시간, 영역 및 펜촉의 변경은 드물게 발생하므로, 필요 전송 속도 및 버퍼 메모리 상에 무시할 만한 영향을 미친다. 펜 위치의 추가적 압축에 따라 전송 속도와 버퍼 메모리의 요구량은 더욱 감축될 수 있다.
각각의 미처리 스트로크는 Triple-DES 알고리즘(Schneier, B, Applied Cryptography, Second Edition, Wiley 1996, 개시 사항은 여기에서 상호 참조로서 통합된다.)을 이용하여 암호화된 후 컴퓨팅 시스템으로 전송된다. 펜과 컴퓨팅 시스템은 통상적인 기반 상에서 이 목적을 위하여 세션 키를 교환한다. 줄잡아 어림할 때 암호화된 비트 당 50사이클이 되어, 1초 5500 비트 스트로크의 암호화를 위해서는 프로세서의 45개의 타임의 0.7%만을 소비한다.
6.5 그밖의 펜 실시예
다른 실시예에서, 펜은 기지국이나 넷페이지 프린터와의 근거리 통신을 위하여 적외선 데이터 협회(IrDA) 인터페이스를 결합시킬 수 있다.
또다른 실시예에서, 펜(101)은 한 쌍의 직교하는 가속도계를 펜 축의 법선평면 상에 장착할 수 있다. 가속도계(190)는 도 9 및 도 10에서 점선으로 표현되어 있다.
가속도계를 제공함으로써 본 실시예에 의한 펜은 표면 위치 태그를 참조하지 않고도 동작을 감지함으로써 위치 태그가 더욱 낮은 빈도로 샘플링될 수 있도록 한다. 그러면 각각의 위치 태그ID는 표면 상의 위치가 아니라 관심의 대상이 되는 물체를 식별할 수 있게 된다. 예를 들어, 만약 물체가 사용자 인터페이스 입력 요소(예를 들어 명령 버튼)라면, 입력 요소의 영역 내에 있는 각각의 위치 태그의 태그ID는 직접 그 입력 요소를 식별할 수 있다.
가속도계에 의하여 x와 y의 각 방향에서 측정되는 가속도는 시간에 관하여 적분되어 순간 속도 및 위치를 산출할 수 있다.
스트로크의 시작 위치가 알려지지 않으므로, 오직 스트로크에서의 상대 위치만이 계산될 수 있다. 비록 위치의 적분이 감지된 가속도에서의 오류를 증대시키기는 하지만, 가속도계는 대개 고해상도를 가지며, 또한 오류가 증대되는 스트로크의지속시간도 짧다.
7. 넷페이지 프린터 명세(Netpage Printer Description)
7.1 프린터 역학(PRINTER MECHANICS)
수직으로 장착되는 넷페이지 벽프린터(netpage wallprinter)(601)가 도 11에 완전히 조립되어 나타나 있다. 프린터는 도 12 및 도 12a에 나타낸 바와 같이 이중 8½인치 멤젯(상표) 프린트 엔진(duplex 8½" Memjet(TM) print engine)(602,603)을 이용하여 레터/A4 규격의 매체 상에 넷페이지를 인쇄한다. 그것은, 용지(604)가 용지의 양면을 동시에 원색 및 완전 블리드(full bleed)로 인쇄하는 이중 프린트 엔진(602,603)을 통과하는, 직선 경로(straight path)를 사용한다.
일체형 제본 어셈블리(integral binding assembly)(605)는, 압력이 가해질 때 이전 페이지에 접착될 수 있도록, 각각의 인쇄된 용지의 한 모서리를 따라 접착 띠(strip of glue)를 바른다. 이것은 한 장에서 몇 백 장에 이르는 두께 범위를 가질 수 있는 최종 제본 문서(final bound document)(618)를 생성한다.
도 13에 나타낸, 이중 프린트 엔진과 결합되는 교체형 잉크 카트리지(627)는 정착액(fixative), 접착제(adhesive), 시안(cyan), 마젠타(magenta), 황색(yellow), 흑색(black) 및 적외선 잉크를 저장하는 주머니(bladder) 또는 공간(chamber)을 가진다. 카트리지는 또한 베이스 몰딩(base molding) 내에 마이크로 에어 필터(micro air filter)를 포함한다. 마이크로 에어 필터는 호스(hose)(639)를 경유하여 프린터 내의 에어 펌프(air pump)(638)를 인터페이스한다. 이것은, 프린트 헤드 노즐(printhead nozzle)을 막을 수 있는 미세 입자(micro particle)가 멤젯(상표) 프린트 헤드(350)로 침투하는 것을 방지하기 위하여, 여과된 공기를 프린트 헤드에 공급한다. 카트리지 내에 에어 필터를 포함시킴으로써, 필터의 동작 수명(operational life)은 효율적으로 카트리지의 수명과 연계된다. 잉크 카트리지는 3000페이지(1500매)를 인쇄 및 접착할 수 있는 용량을 가지는 완전 재활용 가능 제품(fully recyclable product)이다.
도 12를 참조하면, 모터화된 매체 픽업 롤러 어셈블리(motorized media pick-up roller assembly)(626)는 매체 트레이(media tray)로부터 제1 프린트 엔진 상의 용지 센서를 경유하여 이중 멤젯(상표) 프린트 헤드 어셈블리로 상단 용지를 직접 밀어 낸다. 두 개의 멤젯(상표) 프린트 엔진(602,603)은 직선 용지 경로(straight paper path)를 따라 인라인 순차 구조로 대향되도록(apposing in-line sequential configuration) 장착된다. 용지(604)는 일체형 동력 픽업 롤러(integral, powered pick-up roller)(626)에 의하여 제1 프린트 엔진(602)으로 말려든다. 용지(604)의 위치 및 크기가 감지되고, 풀 블리드 인쇄(full bleed printing)가 개시된다. 가능한 한 최단시간에 건조될 수 있도록 정착액(fixative)이 동시에 인쇄된다.
용지는 고무 롤러와 마주하여 동작하는 한 벌의 동력 배출 스파이크 휠(powered exit spike wheel)(직선 용지 경로를 따라 정렬됨)을 통하여 제1 멤젯(상표) 프린트 엔진(602)으로부터 배출된다. 이들 스파이크 휠은 '젖은' 인쇄된 표면('wet' printed surface)과 접촉하며, 용지(604)를 제2 멤젯(상표) 프린트엔진(603)으로 계속 공급한다.
도 12 및 도 12a를 참조하면, 용지(604)는 이중 프린트 엔진(602,603)으로부터 제본 어셈블리(605)로 지나간다. 인쇄 페이지는 섬유질의 지지 롤러(fibrous support roller)를 가지는 동력 스파이크 휠 축(powered spike wheel axle)(670)과, 스파이크 휠 및 순간 동작 접착 휠(momentary action glue wheel)을 가지는 다른 가동 축(movable axle) 사이를 통과한다. 가동 축/접착 어셈블리(movable axle/glue assembly)(673)는 금속 지지 브래킷(metal support bracket)에 장착되며, 캠샤프트(camshaft)의 동작에 의하여 기어(gear)를 경유하여 동력 축(powered axle)(670)을 인터페이스하도록 전방으로 이동된다. 각각의 모터는 이 캠샤프트에 동력을 공급한다.
접착 휠 어셈블리(673)는 잉크 카트리지(627)로부터의 접착제 공급 호스(glue supply hose)(641)를 위한 회전 커플링(rotating coupling)을 가지는 부분 공동 축(partially hollow axle)(679)으로 이루어진다. 이 축(679)은 접착 휠에 연결되는데, 접착 휠은 모세관 작용(capillary action)에 의하여 방사상 구멍(radial hole)을 통하여 접착제를 흡수한다. 성형된 하우징(molded housing)(682)은 전방에 개구를 가지고 접착 휠을 에워싼다. 선회 측면 몰딩(pivoting side molding) 및 용수철 달린 외측 도어(sprung outer door)는 금속 브래킷에 부착되어, 어셈블리(673)의 받침(rest)이 전방으로 밀릴 때 측면을 밖으로 회전시킨다. 이 동작은 접착 휠을 성형된 하우징(682)의 전방을 통하여 노출시킨다. 인장 스프링(tension spring)은 비활성 기간 동안 어셈블리를 닫고 접착휠을 효율적으로 덮는다.
용지(604)가 접착 휠 어셈블리(673)를 통과할 때, 접착제가 제본 어셈블리(605)쪽 아래로 운반되면서 용지의 앞쪽 면의 한 수직 모서리(문서의 첫 장 제외)에 칠해진다.
7.2 프린터 제어부 체계(PRINTER CONTROLLER ARCHITECTURE)
넷페이지 프린터 제어부는 도 14에 나타낸 바와 같이 제어 프로세서(controlling processor)(750), 공장 장착(factory-installed) 또는 현장 장착(field-installed) 네트워크 인터페이스 모듈(625), 무선 송수신기(송수신기 제어기(753), 베이스밴드 회로(754), RF 회로(755) 및 RF 동조 회로와 인덕터(756)), 이중 래스터 이미지 프로세서(dual raster image processor)(RIP) DSP(757), 이중 프린트 엔진 제어기(760a,760b), 플래시 메모리(658) 및 64MB D램(657)으로 이루어진다.
제어 프로세서는 네트워크(19) 및 지역 무선 넷페이지 펜(local wireless netpage pen)(101)과의 통신을 다루고, 도움말 버튼(help button)(617)을 감지하고, 사용자 인터페이스 LED(613-616)를 제어하며, RIP DSP(757) 및 프린트 엔진 제어기(760)를 공급(feed)하고 동기(synchronize)시킨다. 제어 프로세서는 중간 성능 범용 마이크로 프로세서로 이루어진다. 제어 프로세서(750)는 고속 직렬 버스(659)를 통하여 프린트 엔진 제어기(760)와 통신한다.
RIP DSP는 페이지 명세를 래스터화(rasterize)하고 넷페이지 프린터의 압축 페이지 포맷(compressed page format)으로 압축시킨다. 각 프린트 엔진 제어기는페이지 이미지를 실시간으로(즉, 분당 30페이지 이상으로) 디더(dither)하고 관련 멤젯(상표) 프린트 헤드(350)로 인쇄한다. 이중 프린트 엔진 제어기는 용지의 양면을 동시에 인쇄한다.
주 프린트 엔진 제어기(master print engine controller)(760a)는 용지 이송을 제어하고 주 QA 칩(master QA chip)(665) 및 잉크 카트리지 QA 칩(ink cartridge QA chip)(761)과 공동으로 잉크 사용을 감독한다.
프린트 제어부의 플래시 메모리(658)는 구성 데이터뿐만 아니라 프로세서(750) 및 DSP(757) 모두를 위한 소프트웨어를 수용한다. 이것은 시동(boot time) 시에 주 메모리(657)로 복사된다.
프로세서(750), DSP(757) 및 디지털 송수신기 구성부품(송수신기 제어기(753) 및 베이스밴드 회로(754))은 단일 제어기 ASIC(656)에 집적된다. 아날로그 RF 구성부품(RF 회로(755) 및 RF 동조 회로와 인덕터(756))은 별개의 RF 칩(762)으로 제공된다. 넷페이지 프린터는 네트워크 접속의 공장 선택(factory-selected) 및 현장 선택(field-selected)을 모두 허용하므로, 네트워크 인터페이스 모듈(625)은 별개이다. 플래시 메모리(658) 및 2×256MBit(64MB) D램(657) 역시 별개의 칩(off-chip)이다. 프린트 엔진 제어기(760)는 별개의 ASIC로 제공된다.
다양한 네트워크 인터페이스 모듈(625)은 각각의 모듈이 넷페이지 네트워크 인터페이스(751) 및 선택 사항으로 지역 컴퓨터 또는 네트워크 인터페이스(local computer or network interface)(752)를 제공하도록 제공된다. 넷페이지 네트워크 인터넷 인터페이스는 POTS 모뎀(POTS modem), HFC 케이블 모뎀(Hybrid Fiber-Coaxcable modem), DSL 모뎀, 위성 송수신기(satellite transceiver), 현행 및 차세대 휴대전화 송수신기(current and next-generation cellular telephone transceiver) 및 WLL 송수신기(wireless local loop transceiver)를 포함한다. 지역 인터페이스(local interface)는 IEEE 1284(병렬 포트), 10Base-T 및 100Base-T 이더넷(Ethernet), USB 및 USB 2.0, IEEE1394(Firewire) 및 다양하게 등장하는 홈 네트워킹 인터페이스를 포함한다. 만약 인터넷 접속이 지역 네트워크에서 가능하다면, 그 지역 네트워크 인터페이스가 넷페이지 네트워크 인터페이스로 사용될 수 있다.
무선 송수신기(753)는 일반적으로 무선 전화기에 이용되는 허가가 필요 없는 900MHz 대역 또는 허가가 필요 없는 2.4GHz 산업용, 과학용 및 의료용(ISM) 대역에서 통신하며, 간섭 없는 통신을 제공하기 위하여 주파수 호핑 및 충돌 검출을 이용한다.
프린터 제어부는 선택 사항으로 넷페이지 카메라와 같은 장치로부터 방출되는 데이터를 수신하기 위하여 IrDA 인터페이스를 구현한다. 다른 실시예에서, 프린터는 적절히 구성된 넷페이지 펜과의 근거리 통신을 위하여 IrDA 인터페이스를 사용한다.
7.2.1 래스터화 및 인쇄(RASTERIZATION AND PRINTING)
일단 주 프로세서(750)가 문서의 페이지 배열 및 페이지 오브젝트를 수신하여 검증하면, 그것은 적절한 RIP 소프트웨어를 DSP(757) 상에서 실행시킨다.
DSP(757)는 각각의 페이지 명세를 래스터화하고, 래스터화한 페이지 이미지를 압축한다. 주 프로세서는 각각의 압축된 페이지 이미지를 메모리에 저장한다. 복수의 DSP의 부하 균형을 맞추는(load-balance) 가장 간단한 방법은 각각의 DSP가 별개의 페이지를 래스터화하도록 하는 것이다. 일반적으로 임의의 개수의 래스터화된 페이지가 메모리에 저장될 수 있으므로, DSP는 항상 사용중(busy) 상태를 유지할 수 있다. 이러한 정책은 짧은 문서를 래스터화하는 때에만 잠재적으로 열악한 DSP 이용을 낳는다.
넷페이지 명세에서의 워터마크 영역은 무시할만한 크기로 무손실 압축되어 압축된 페이지의 일부를 형성하는 연속톤 해상도 2-레벨 비트맵(contone-resolution bi-level bitmap)으로 래스터화된다.
인쇄된 페이지의 적외선 층(infrared(IR) layer)은 부호화된 넷페이지 태그를 인치당 약 6개의 밀도로 포함한다. 각각의 태그는 페이지 ID, 태그 ID 및 제어 비트(control bit)를 부호화하며, 각각의 태그의 데이터 내용(data content)은 래스터화 도중에 생성되어 압축된 페이지 이미지에 저장된다.
주 프로세서(750)는 연속하는(back-to-back) 페이지 이미지를 이중 프린트 엔진 제어기(760)로 통과시킨다. 각각의 프린트 엔진 제어기(760)는 압축된 페이지 이미지를 자기의 지역 메모리(local memory)에 저장하고, 페이지 확대 및 인쇄 파이프라인(page expansion and printing pipeline)을 개시한다. 114MB 2-레벨 CMYK + IR 페이지 이미지를 메모리에 저장하는 것은 비현실적이므로, 페이지 확대 및 인쇄는 파이프라인된다.
7.2.2 프린트 엔진 제어기(PRINT ENGINE CONTROLLER)
프린트 엔진 제어기(760)의 페이지 확대 및 인쇄 파이프라인은 고속 IEEE 1394 직렬 인터페이스(659), 표준 JPEG 디코더(763), 표준 그룹 4 팩스 디코더(764), 주문형 하프토너/합성기 유닛(custom haftoner/compositor unit)(765), 주문형 태그 인코더(766), 라인 로더/포매터(line loader/formatter)(767) 및 멤젯(상표) 프린트 헤드(350)로의 주문형 인터페이스(768)로 이루어진다.
프린트 엔진 제어기(360)는 이중 버퍼 방식(double buffered manner)으로 작동한다. 하나의 페이지가 고속 직렬 인터페이스(659)를 통하여 D램(769)에 적재되는 동안, 이전에 적재된 페이지가 D램(769)으로부터 독출되어 프린트 엔진 제어기 파이프라인으로 통과된다. 일단 그 페이지가 인쇄 완료되면, 또다른 페이지가 적재되는 동안 방금 적재된 페이지가 인쇄된다.
파이프라인의 제1 단계에서는, 전부 동시에, JPEG로 압축된(JPEG-compressed) 연속톤 CMYK 층을 확대시키고(763), 그룹 4 팩스로 압축된(Group 4 Fax-compressed) 2-레벨 흑색 층(bi-level black layer)을 확대시키고(764), 섹션 1.2에서 정의된 태그 포맷에 따라 2-레벨 넷페이지 태그 층(bi-level netpage tag layer)을 렌더(render)한다(766). 제2 단계에서는, 연속톤 CMYK 층을 디더(dither)하고(765), 결과로서 생기는 2-레벨 CMYK 층에 2-레벨 흑색 층을 합성(composite)한다(765). 그 결과 생기는 2-레벨 CMYK + IR 도트 데이터(bi-level CMYK + IR dot data)는 한 벌의 라인 버퍼(line buffer)를 경유하여 멤젯(상표) 프린트 헤드(350) 상에서 인쇄되기 위하여 버퍼되고 포맷팅(format)된다(767). 이들 라인 버퍼의 대부분은 밸도의 칩인 D램에 저장된다. 최종 단계에서는 6 채널의 2-레벨 도트 데이터(정착액 포함)를 프린트 헤드 인터페이스(768)를 경유하여 멤젯(상표) 프린트 헤드(350)로 인쇄한다.
몇몇의 프린트 엔진 제어기(760)가 이중 구조(duplexed configuration)와 같이 함께 사용되면, 이들은 공유 라인 동기 신호(shared line sync signal)(770)를 경유하여 동기(synchronize)된다. 외부 주/부 핀(external master/slave pin)(771)을 경유하여 선택된 오직 하나의 프린트 엔진(760)만이 라인 동기 신호(770)를 공유 라인 상에 발생시킨다.
프린트 엔진 제어기((760)는 페이지 확대 및 렌더 파이프라인(page expansion and rendering pipeline)을 동기화하고, 저속 직렬 버스(773)를 경유하여 프린트 헤드(350)를 구성하고, 스텝 모터(stepper motor)(675,676)를 제어하기 위하여 저속 프로세서(772)를 포함한다.
8½인치 버전(8½" version) 넷페이지 프린터에 있어서, 두 개의 프린트 엔진 각각은 1600dpi의 해상도에서 8.8kHz의 라인 속도로 분당 30매의 세로 방향(11") 레터(Letter) 페이지를 인쇄한다. 12인치 버전 넷페이지 프린터에 있어서, 두 개의 프린트 엔진은 각각 10.2kHz의 라인 속도로 분당 45매의 세로 방향(8½") 레터 페이지를 인쇄한다. 이러한 라인 속도(line rate)는 현행 설계에서 30kHz를 초과하는 멤젯(상표) 프린트 헤드의 동작 주파수에 충분히 포함된다.
8. 넷페이지 태그(NETPAGE TAGS)
8.1 태그 타일링(TAG TILING)
8.1.1 평면 태그 타일링(Planar Surface Tag Tiling)
감지 장치를 경유하는 태그 영역과의 "단일 클릭" 상호작용을 지원하기 위하여, 감지 장치는 적어도 하나의 전체 태그(entire tag)(4)를 그 관측 영역 내에서 위치나 배치 방향을 불문하고 관측할 수 있어야 한다. 따라서 감지 장치의 관측 영역의 필요 직경은 태그(4)의 크기와 간격의 함수가 된다.
태그의 형상이 원형인 경우, 가령 상술한 바와 같은 예시 태그(4)의 경우, 관측 감지 영역의 최소 직경 m은 도 52에 나타낸 바와 같이 직경 k의 태그(500)가 등변삼각형 격자 상에 타일링될 때에 얻어지며 EQ1에서 정의된다. 이것은 중앙-중앙 태그 간격(center-to-center tag spacing)이 태그 직경(k)과 동일할 때에 성취된다.
태그 직경이 k이고 256도트일 때(1600dpi에서 4mm), m은 따라서 552도트(즉8mm)가 된다. 16도트의 단조로운 영역, 즉 유효 태그 직경이 k이고 272도트(즉 4.3mm)일 때, m은 587도트(즉 9.3mm)까지 증가한다.
태그(4)가 거리 s만큼 떨어지도록 이동하면(s는 최소한 k만큼 큼), 최소 관측 영역은 EQ2로써 얻어진다.
연속되는 태그(500)의 라인 사이에서 수평 방향의 중복이 기대되지 않을 때, 예를 들어 태그 렌더링을 더욱 용이하게 하고자 할 때, 태그는 EQ3으로써 주어지는 최소량만큼 떨어지도록 이동되어야 한다. 따라서, 256도트 직경 태그에 대하여, u는 40도트(1600dpi에서 0.6mm)가 된다. 이것은 태그에 요구되는 단조로운 영역을넘어서므로, 태그 라인이 중복되지 않도록 렌더링된다면 단조로운 영역은 무시될 수 있다.
EQ2에서s = k + u로 설정하면 EQ4가 된다. 따라서, 256도트 직경의 태그에 대하여, s는 296도트(1600dpi에서 4.7mm)가 되고, m은 598도트(9.5mm)가 된다.
8.1.2 구형 표면 태그 타일링(Spherical Surface Tag Tiling)
일반적인 20면체(icosahedron)는 종종 구체에 근접한 삼각형 타일링을 생성하기 위한 기초로서 사용된다. 일반적인 20면체, 가령 도 53의 20면체(526)는 30개의 모서리(530)와 12개의 꼭지점(532)을 공유하고 각 꼭지점(532)에서 5개씩의 모서리(530)가 만나도록 하는 20개의 등변삼각형으로 이루어진다.
원하는 타일링을 실현하기 위해서, 20면체(526)가 타겟 구체(target sphere)에 새겨지고, 20면체(526)의 각각의 삼각형(528)이 같은 개수의 동일 크기의 등변삼각형으로 세분되어 원하는 총 개수의 삼각형을 만들어낸다. 만약 20면체의 각각의 모서리(530)가 ν개의 등간격으로 나뉘어지고 1 세트의 ν-1 점을 각각의 모서리를 따라 정의하며, 두 이웃하는 모서리를 따라 대응되는 점의 각각의 쌍이 다른 공유되는 이웃하는 모서리에 평행한 라인에 의하여 연결되면, 그렇게 그려진 라인은 원하는 동일크기의 세분된 등변삼각형의 꼭지점을 가로지름으로써 20면체(526)의 삼각형 면(528) 당ν2개의 삼각형, 즉 전부 20ν2개의 삼각형이 얻어지게 된다. 결과로서 얻어지는 10ν2+2개의 꼭지점 중, 5개의 삼격형 면은 20면체(526)의 12개의 원래의 꼭지점의 각각에서 만나고, 6개의 삼격항 면은 나머지 꼭지점의 각각에서 만난다. 12개의 원래 꼭지점(532)은 구체 상에 있는 반면, 나머지 꼭지점은 구체의 내부에 있다. 각각의 생성된 꼭지점은 따라서 원하는 타일링을 제공하면서 구체 상에서 중심으로 돌출된다.
이와 같은 방법으로 일반적인 다면체로써 근사화된 구체는 측지선(geodesic)이라 일컬어지며, 파라미터(ν)는 측지선의 빈도(frequency)라 일컬어진다. 도 54는 ν가 3인 20면체 측지선(534), 즉 180면체(528)를 나타내고 있다.
세분 삼각형(subdivision triangle)이 더욱 20면체(526)의 면의 중심에 가까워질수록, 구체의 표면으로부터는 멀어지게 되므로, 구체 상에서 돌출될 때 더욱 커지게 된다. 돌출된 세분 삼각형의 크기의 편차를 최소화하기 위하여, 세부 꼭지점은 구조적으로 돌출 이전에 제거된다(Tegmark, M., "An Icosahedron-Based Method for Pixelizing the Celestial Sphere", ApJ Letters, 470, L81, October 14, 1996). 만약 ν = 1이면, 아무런 꼭지점도 생성되지 않고 삼각형 면에 맞선 각은 꼭지점에서 60°로 유지된다. ν가 증가함에 따라, 그러나, 5개의 삼각형 면에 의하여 정의되고 각각의 본래의 꼭지점을 둘러싸는 표면은 점차 평평하게 되며, 각각의 삼각형 면의 꼭지각(vertex angle)은 72°(즉, 360°/5)로 수렴한다. 이것은 구체의 태그 타일링 중 최악의 경우이다. 72°의 이등변 삼각형(isosceles triangle)에서 밑변의 길이는 다른 두 변의 길이의 1.18배 가 된다. 관측 감지 영역을 계산하기 위한 목적의 태그 간격의 최대값(s)은 따라서 1.18k에 근접한다. 256도트의 태그 직경과 16도트의 단조로운 영역을 가지는, 즉 유효 태그 직경(k)이272도트(4.3mm)이면, m은 EQ2에 따라서 643도트(10.2mm)가 된다.
외접원의 중심에서 20면체의 각각의 모서리에 맞선 각은 EQ5에 의하여 주어진다.
반경 r인 구체에 대하여 각각의 중심부가 돌출된 모서리의 호(arc)의 길이는 rθ이다. r과 같은 단위인 태그 직경이 K로 주어질 때, 구체를 감싸기 위한 태그의 개수(n)는 EQ6에 의하여 주어진다.
주어진 n에 대하여, r은 EQ7에 의하여 제한된다.
만약 n이 216으로 제한되어, 구체를 감싸기 위해 복수의 영역을 필요로 하지 않고 K를 위와 같이 4.3mm로 주면서 16비트 태그ID를 사용하도록 한다면, r은 310mm까지로 제한된다.
전형적인 구체는 160mm의 반경을 가진다. 그것의 돌출된 호의 길이(177mm)는 41개의 등간격 태그에 무시할만한 정도의 부가 간격(additional spacing)만을 가지면서 들어 맞는다. 그러한 구체는 총 16812개의 태그를 사용한다.
8.1.3 임의 곡면 태그 타일링(Arbitrary Curved Surface Tag Tiling)
삼각형 메시(triangle mesh)는 임의의 지형(topography)과 위상기하(topology)를 가지는 표면을 불연속성이나 특이성이 없이, 메시의 국부 스케일(local scale)을 표면의 국부 만곡(local curvature)과 오류 범위(error bound)로써 입력함으로써 근사화할 수 있다. 특정 표면에 대한 삼각형 메시가 존재한다고 가정하면, 각각의 메시 삼각형이 최소 꼭지각 및 최소 모서리 길이에 관련되는 한 효과적인 비-일반적(non-regular) 태그 타일링이 만들어질 수 있다. 감지 장치의 관측 영역이 적어도 하나의 완전한 태그를 표면 상의 감지 장치의 어떠한 위치에서라도 포함하는 것이 보장된다면, 타일링은 특정 감지장치에 대한 관계에서 유효한(effective) 것으로 취급된다.
타일링 절차(tiling precedure)는 태그를 메시의 각각의 꼭지점에 배치하여 최소 모서리 길이(minimum edge length)가 태그 직경(k)과 동일하게 되도록 함으로써 개시된다. 타일링 절차는, 최대 태그 간격(maximum tag separation)(s)을 초과하는 길이의 아무 모서리의 중앙에 태그를 삽입함으로써 계속 진행된다. 도 9에 나타낸 바와 같이, 최대 태그 간격(s)가 계산됨으로써, 만약 두 이웃하는 태그(4a,4b)가 거리(s+ε)만큼 떨어지면 이들 사이에 다른 태그(4c)를 위한 공간이 존재하게 된다(즉, EQ8).
그러나, 만약 (s+ε)의 길이인 두 모서리 사이의 꼭지각이 60°보다 작으면, 삽입된 태그는 중복될 것이다.
삽입된 태그의 중복을 방지하기 위해서, t≥k일 때에 최소 태그 간격(t)이 도입된다. 그러면 최소 꼭지각(α)은 EQ9에 나타낸 바와 같이 k와 t의 함수가 된다.
명백하게, t = k이면, β는 60°로 제약된다. 즉, 메시가 등변(equilateral)으로 제약된다. 그러나 도 56에 나타낸 바와 같이, t > k이면, β는 삽입된 태그가 중복되지 않고도 60°보다 작아질 수 있다.
최대 태그 간격(s)은 EQ10에서 새로운 최소 태그 간격(t)에 의거하여야 한다.
특정 메시 삼각형을 고려하면, 태그를 삽입하는 4가지의 서로 다른 시나리오(scenario)가 존재한다. 최소 꼭지각이 30°(즉, 60°의 절반)보다 작지 않다고 가정하면, 메시 삼각형이 적어도 하나의, 길이가 s보다 작거나 같은 모서리를 가지게 될 때마다 나머지 두 모서리는 2s보다 작은 길이가 된다. 실제로 최소 꼭지각은 대개 최소한 45°이다.
첫째 시나리오(도 57)에서, 삼각형(546)의 어떠한 모서리도 길이가 s를 넘지 않으며, 따라서 삼각형의 태깅(tagging)은 이미 완료된 것이다.
둘째 시나리오(도 58)에서, 삼각형(550)의 하나의 모서리(548)의 길이가 s를 초과한다. 태그(552)가 모서리(548)의 중앙에 삽입됨으로써 삼각형(550)의 태깅을 완료하게 된다.
셋째 시나리오(도 59)에서, 삼각형(558)의 두 모서리(554,556)의 길이가 s를 초과한다. 태그(560,562)가 두 긴 모서리(564,566)의 중앙에 삽입됨으로써 삼각형(558)의 태깅을 완료하게 된다. 두 삽입된 태그(560,562)의 중앙은 원래 삼각형(558)의 짧은 모서리(568)의 두 꼭지점(564,566)과 함께 사다리꼴(trapezoid)을 형성한다. 만약 사다리꼴의 대각선(diagonal) 중 하나라도 길이가 s를 초과하게 되면 최종적인 태그(570)가 그 대각선의 중앙에 삽입됨으로써 삼각형의 태깅을 완료하게 된다.
넷째 시나리오(도 60)에서, 삼각형(573)의 세 모서리(572) 모두의 길이가 s를 초과한다. 태그된 꼭지점(574)가 각각의 모서리(572)의 중앙에 삽입되고 세 개의 새로운 꼭지점(574)이 모서리(576)에 의하여 연결된다. 태깅 정차는 그 후 반복적으로 네 개의 결과적인 삼각형(577,578,579,580)에 각각 적용된다. 새로운 삼각형은, 원래의 삼각형(573)과 동일한 형상을 가지므로, 최소 꼭지각을 유지함에 주목하여야 한다.
태그 타일링의 변수를 도 4와 같이 정리한다.
[도 4] 태그 타일링 변수
변수 의미
β 최소 꼭지각(minimum vertex angle)
k 태그 직경(tag diameter)
m 표면 센서관측영역의 최소 직경(minimum diameter of sensor field of view on surface)
s 최대 중심-중심 태그 간격(maximum center-to-center tag spacing)
t 최소 중심-중심 태그 간격(minumum center-to-center tag spacing)
8.2 태그 감지(TAG SENSING)
8.2.1 펜 방향(Pen Orientation)
펜형(pen-like) 감지 장치가 편리한 필기도구로서 사용되도록 하기 위해서는, 펜 방향의 범위기 뒷받침되어야 한다. 펜촉은 표면과 접촉하게 되어 있으므로, 펜의 방향은 도 61에 나타낸 바와 같이 펜의 요잉(yaw)(z 회전), 피칭(pitch)(x 회전) 및 롤링(roll)(y 회전)으로서 특징지어질 수 있다. 펜의 요잉은 발생시킬 수 없으므로, 펜의 피칭과 롤링을 피칭 및 롤링으로 말미암은 펜의 전반적인 기울기(tilt)와 더불어 발생시키는 것이 적당하다.
요잉은 대개 피칭의 다음에 적용되어, 예를 들어 펜 입력도구의 경우에 요잉은 표면 평면에서의 방향보다는 물리적인 축 둘레의 비틀림(twist)을 정의하도록한다. 필기용 펜촉(marking nib)을 가지는 펜에서는, 그러나, 이미지 센서가 펜의 축에서 벗어나 장착되므로 펜이 거의 수직으로 세워지지 않는 한 이하에서 설명하는 바와 같이 펜의 이미지 감지 능력(및 그에 따른 요잉 감지 능력)이 제약된다. 따라서 요잉은 피칭 이전에 적용되어, 피링과 롤링을 상수(constant)로서 유지하는 동안 표면에 대한 펜의 회전에 의하여 특정되는 요잉의 풀 레인지(full yaw range)를 허용하게 된다.
피링과 롤링은 대개 y 및 x 회전으로서 각각 정의된다. 여기에서는 이들이 x 및 y 회전으로 각각 정의되는데, 이는 이들이 표면의 x-y 직각좌표계의 관점에서 정의되고, 사용자가 바라보았을 때 y 축은 자연스럽게 세로 축이 되고 x 축은 자연스럽게 가로 축이 되기 때문이다. 우선회 3D 좌표계(right-handed 3D coordinate system)에서는, 롤링은 대개 반시계방향(anticlockwise)일 때가 양(positive)으로 정의되며, 반면 피칭과 요잉은 대개 시계방향일 때가 양으로 정의된다. 여기에서는 모든 회전방향을 반시계방향일 때에 양인 것으로 정의한다.
펜의 전체적인 기울기(θ)는 그 피칭(φ) 및 롤링(ψ)과 EQ11에서처럼 관련된다.
펜의 기울기는 표면 형상이 관측 영역의 서로 다른 지점에서 이미징되는 스케일에 영향을 미치며, 따라서 이미지 센서의 해상도에 영향을 미친다. 펜촉 밑에서 직접 영역을 감지하는 것은 비현실적이므로, 펜의 기울기는 펜촉에서부터 이미지 영역의 중심까지의 거리에 영향을 미친다. 정확한 펜촉 위치가 태그로부터 결정되는 위치로부터 도출되도록 하려면 이 거리를 인지하여야만 한다.
8.2.2 이미지 감지(Image Sensing)
관측 영역은 솔리드 하프-앵글(solid half-angle)(α)(각 관측영역(angular field of view)을 2α라 할때 )로써 정의되는 원뿔(cone) 및 광학축이 수직일 때의 표면 상의 D의 꼭대기 높이로서 모델링될 수 있다. 이미지 센서는 대개 직사각형이지만, 오직 이미지 센서의 최대 타원형 하부영역(maximum elliptical subarea)만이 충분히 넓은 부분이 촬영됨을 보증하는 데에 관련됨은 앞서 밝힌 바 있다.
표면과 관측 영역 원뿔(field of view cone)의 교차점은 표면 상에서 타원창 창(elliptical window)을 정의한다. 이 창은 광학축이 수직일 때에 원형이 된다.
도 62는 주어진 피칭 관련 기울기(pitch-related tilt)(θ)에 대한 펜촉(점 A)과, 펜의 광학축(CE)과, 관측 영역 창(FH)과의 사이의 기하학적 관계를 나타낸다. 기울기는 연직선으로부터 시계방향이 양인 것으로 정의된다. 이어지는 방정식은 양의 기울기 및 음의 기울기 모두에 적용된다.
펜이 기울어지지 않으면, 창 직경(window diameter)(즉, |BD|)은 EQ12로써 주어진다.
만약, 펜이 기울어지지 않으면, 펜촉으로부터 창의 모서리까지의 거리(즉, |AB|)는 T이므로, 펜촉으로부터 창의 중심까지의 거리(S)(즉, |AC|)는 EQ13으로써 주어진다.
펜이 θ만큼 기울어지면, 관측점(viewpoint)으로부터 광학축을 따르는 표면까지의 거리는 d(즉, |GE|)로 감소하며, EQ14로써 주어진다.
창의 너비(즉|FH|)는 EQ15로써 주어진다.
D와 α는 지원되는 기울기 범위를 통하여 적절히 넓은 영역이 촬용될 수 있도록 선택되어야 한다. 영역의 필요 최소 직경(m)은 EQ4로써 주어지며, 한편 실제 촬영 영역의 너비는 EQ15로써 주어진다. 이것을 통하여 EQ16이 주어진다.
일단 D와 α가 결정되면, 촬영 영역이 절절히 샘플링되도록, 즉 최대 특성 주파수(maximum feature frequency)가 나이키스트 비율(Nyquist rate) 또는 이보다 높게 샘플링되도록 이미지 센서 해상도가 선택되어야 한다.
촬영이 되었을 때, 표면의 스케일은 관측점으로부터의 거리가 증가함에 따라, 또한 관측광선에 대한 경사가 증가함에 따라 감소한다. 이들 인자는 모두 양의 기울기에서 점 F에 있을 때와 음의 기울기에서 점 H에 있을 때, 즉 창에서의 지점이 관측점으로부터 가장 멀어졌을 때 최대의 영향을 미친다. 이하의 논의에서 기울기가 음일 때에는 F에 대한 참조사항이 H에 적용됨을 주목하여야 한다.
관측점으로부터의 점 F까지의 거리(즉, |EF|)는 EQ17로써 주어진다.
F를 통과하는 관측광선(EF)에 대한 표면의 기울기에 따른 스케일링은 EQ18로써 주어진다.
만약 표면 특성 주파수가 f이면, 두 인자에 따른 F에서의 각 표면 특성 주파수(angular surface feature frequency)(ω)(즉, 관측 영역과의 관계에서)는 EQ19로써 주어진다.
목적 평면(object plane)에 기울기가 없으면(즉, θ=0), 이것은 EQ20으로 간략화 된다.
이미지 센서는, 정의에 따라, 최소한 전체 각 관측영역(angular field of view)을 촬영하도록 요구된다. 이미지 센서의 픽셀 밀도가 일정하므로, 최대 주파수로 전체 관측 영역을 촬영하여야 한다. 2α' 이미지 영역에서 각 관측 영역이 주어지면, 광학축(θ')에 대한 이미지 센서 기울기(즉, 이미지 평면 기울기) 및 n만큼의 샘플링 비율(나이키스트 정리에 따라 n≥2)과 최소 이미지 센서 해상도(q)는 EQ21 및 EQ22로써 주어진다.
EQ22에서의 분자의 코사인 제곱 꼴은 EQ19에서의 분모의 코사인 제곱 꼴과 동일한 이유에서 비롯된다.
이미지 평면의 기울기가 없고(즉, θ'=0), 이미지 공간(image space)과 목적 공간(object space)의 각 관측 영역(angular fields of view)이 동일하면(즉, α'=α), 이것은 EQ23 및 EQ24로 간략화된다.
목적 평면의 기울기가 없으면(즉, θ=0), 이것은 나아가 EQ25로 간략화된다.
이미지 평면 기울기와 목적 평면 기울기가 동일하고(즉, θ'=θ), 이미지 공간과 목적 공간의 각 관측 역이 동일하면(즉, α'=α), EQ22는 EQ26으로 간략화된다.
따라서 이미지 평면 기울기를 목적 평면 기울기에 일치시키면, 이미지 센서 기울기가 0으로 고정되어 있을 때보다 더욱 작은 필요 이미지 센서 크기를 실현할 수 있고, 캡처된 이미지로부터 투시 왜곡(perspective distortion)을 제거할 수 있게 된다. 그러나, 가변 이미지 센서 기울기는 상대적으로 실용화하기에는 비싼 옵션이며, 또한 영역이 더욱 깊을 것을 요한다.
도 63은 펜의 광학축의 주어진 롤링 관련 기울기(θ)에 대한 펜촉(점 A)과, 펜의 광학축(CE)과, 관측 영역 창(FH)과의 사이의 기하학적 관계를 나타낸다. 기울기는 마찬가지로 연직선으로부터 시계방향이 양인 것으로 정의된다. EQ13의 예외로서, 상술한 방정식은 롤링으로 인한 기울기(roll-induced tilt)에 동등하게 적용된다. 롤링으로 인한 기울기에 대하여 펜촉으로부터 창의 중심까지의 거리(S)(즉, |AC|)는 EQ13으로써 정의되는 것과 달리 0이 된다.
피칭으로 인한 기울기에 대하여, 기울기 범위의 크기는 동일한 이미지 센서 요구조건을 가지는 최소(음) 기울기 및 최대(양) 기울기를 선택함으로써 최대화될 수 있다. 피칭으로 인한 기울기에 대하여, 표면은 음의 기울기에서의 거리보다 동일한 크기의 양의 기울기에서의 거리가 더욱 멀기 때문에, 최소값은 최대값보다 더욱 작은 값을 가진다. 롤링으로 인한 기울기에 대해서도 동일한 크기를 가진다.
상술한 바와 같이, 태그(4)의 가장 작은 특성도 데이터 비트를 인코딩하는 구조가 되며, 8도트의 최소 직경을 가진다. 이것은 1600dpi에서 약 7.9/mm의 최대 특성 주파수(f)를 제공한다.
EQ4에 따라 앞서 계산된 바와 같이, 태그의 연속하는 라인 사이에서 중복이 없는 256도트 직경의 등변 삼각형 타일링은 598도트의 표면 상에서 최소 관측 영역 창, 즉 1600dpi에서 약 9.5mm의 관측 영역 창을 요한다.
대부분의 사람은 약 +30°의 피칭과 0°의 롤링으로 펜을 쥔다. 볼펜 촉의 잉크 볼은 약 +50°(수평으로부터 40°)의 피칭을 넘어서면 표면과의 유효 접촉을 상실한다. 적당한 목표 피칭 범위는 따라서 -10°에서 +50°까지가 되며, EQ11로써주어지는 피칭과 롤링의 결합에 따른 더욱 큰 제약을 감안할 때, 적당한 롤링 범위는 -30°에서 +30°까지가 된다.
고도로 조밀한(1.5mm2) 마츠시타 CCD 이미지 센서(마츠시타 전기 코포레이션, Itakura,K T Nobusada, N Okusenya, R Nagayoshi, M Ozaki, "A 1mm 50k-Pixel IT CCD Image Sensor for Miniature Camera System", IEEE Transactions on Electronic Devices, Volt 47, number 1, January 2000 논문에 기재됨)는 펜과 같은 조밀한 장치에서 사용하기에 적합하다. 그것은 대략 215×215픽셀의 가능한 해상도를 가진다. 이미지 및 목적 각 관측 영역이 동일하고, 이미지 평면 기울기가 없으며, 펜촉-창 거리(T)가 4mm인 것으로 가정하면, 상술한 바와 같은 요구 피칭 및 롤링 범위를 실현하기 위하여 EQ16 및 EQ24를 이용하여 지오메트리를 최적화함으로써 피칭 범위는 -16°부터 +48°까지로(64°), 롤링 범위는 -28°부터 +28°까지로(56°) 제공되며, 관측 거리9D는 30nm이고 각 관측 영역은 18.8°(α=9.4°)가 된다. 가능한 피칭 범위는 실제적으로 -21°부터 +43°가 되며, 이것은 물리 축과의 관계에서 광학축을 -5° 피칭시킴으로써 원하는 범위에 가깝도록 사상(mapping)시킬 수 있다. 기울기 범위는 이미지 평면의 0이 아닌 기울기를 최적화시킴으로써 다소 확장될 수 있음을 주목하여야 한다.
따라서 전체적인 펜 기울기는 피치 평면에서의 주 각(major angle)이 64°이고 롤링 평면에서의 부 각(minor angle)이 56°인 타원 원뿔로 제약된다.
이미지 감지 변수가 표 5에서 정리된다.
[표 5] 이미지 감지 변수
변수 의미
α 반각의 목적 공간 관측 영역(Object space field of view half-angle)
α' 반각의 이미지 송간 관측 영역(Image space field of view half-angle)
γ 펜 요잉(Pen yaw)
θ 목적 평면 기울기(즉, 전체적 펜 기울기)
θ' 이미지 평면 기울기
φ 펜 피칭
ψ 펜 롤링
ω 관측 평면의 각 주파수
D 정규 관측 거리(Normal viewing distance)
d 기울어진 관측 거리(Tilted viewing distance)
f 표면 특성 주파수
n 샘플링 비율
q 이미지 센서 해상도
S 펜촉부터 표면 관측 영역 중심까지의 거리(θ=0일때)
T 펜촉으로부터 표면 관측 영역 모서리까지의 거리(θ=0일때)
8.3 태그 디코딩(TAG DECODING)
8.3.1 태그 이미지 프로세싱 및 디코딩(Tag Image Processing and Decoding)
태그 이미지 프로세싱은 앞서 섹션 1.2.4에서 설명되었다. 그것은 디코딩된 태그 데이터뿐만 아니라, 태그 상의 2D 투시 변환(2D perspective transform)을 이해함으로써 정점에 달하게 된다.
8.3.2 펜 변환 추론(Inferring Pen Transform)
캡처된 이미지 내의 태그의 투시 변환을 나타내는 2D 투시 변환이 일단 입수되면, 앞서 설명한 바와 같이 펜의 광학축에 대한 대응하는 이산적 3D 태그 변환(discrete 3D tag transform)이 추론될 수 있으며, 이하 섹션 8.4에서 설명한다.
일단 이산적 3D 태그 변환이 인지되면, 대응하는 3D 펜 변환, 즉 표면에 대한 펜의 물리축의 변환이 추론될 수 있다. 펜의 물리축은 펜의 형상에 내재하는 축으로서 펜 사용자에 의하여 경험된다. 이것은 펜촉을 통과한다. 물리축과 광학축과의 관계가 도 64에 나타나 있다.
3개의 좌표 공간을 정의하는 것이 편리하다. 센서 공간(sensor space)에서, 광학축은 Z 축과 일치하며 관측점이 원점이 된다. 펜 공간(pen space)에서, 물리축은 z axis와 일치하며 펜촉이 원점이 된다. 태그 공간(tag space)에서, 태그(4)는 x-y 평면 상에서 그 중심을 원점으로 하여 존재한다. 태그 변환은 태그(4)를 태그 공간으로부터 센서 공간으로 변환한다.
센서 공간은 도 64에 나타나 있다. 도 64의 점의 부호는 도 62에서와 마찬가지이다. 관측점은 E이고, 감지된 점은 G이며, 펜촉은 A이다. 광학축과 표면과의 사이의 교차점은 G이며, 감지된 점(sensed point)이라 일컬어진다. 펜촉이 점으로 취급되는 도 62에서 나타낸 지오메트리와 비교할 때, 여기에서는 펜촉이 작은 구체로 취급된다. 만약 펜촉이 굽어 있으면, 물리축의 기울기는 감지된 점과 펜촉-표면 사이의 접촉점과의 사이의 오프셋(offset)에 영향을 미친다. 대략 물리축 피봇의 둘레에 있는 구형 펜촉의 중앙점(K)은, 피봇 점(pivot point)이라 일컬어진다.
펜촉은 광학축이 수직일 때 점 A에서 표면과 명목상의 접촉(nominal contact)을 이룬다. KA는 광학축과 평행인 것으로 정의된다. 그러나 펜이 기울면, 접촉은 도 65에 나타낸 바와 같이 점 L에서 이루어진다. 펜촉의 반경(R)이 주어지면, 피봇 점(K)의 표면으로부터의 거리, 즉 A 또는 L은 항상 R이 된다.
이산적 태그 변환은 감지된 점으로부터의 태그 중심의 이동(translation)과, 3D 태그 회전과, 관측점으로부터의 감지된 점의 이동과를 포함한다.
이산적 태그 변환에서 관측점으로부터 감지된 점까지의 이동(d)이 주어지면, EQ14에 따라, 감지된 점은 EQ27로써 주어진다.
물리축은 광학축으로부터 단지 y 이동 및 x 회전(즉, 피칭)만이 다르므로, 물리축은 y-z 평면 상에 놓인다. 도 64를 참조하면, |AC|=S이고 |EC|=D일 때(즉, 도 62와 같을 때), 센서 공간에서 피봇 점의 위치는 EQ28로써 주어짐은 명백하다.
감지된 점으로부터 피봇 점까지의 벡터(vector)는 따라서 EQ29로써 주어진다.
피봇 점으로부터 접촉 점까지의 벡트는 정의에 의하여 길이 R의 표면 법선(surface normal)이 된다. 그것은 3D 태그 회전(M)을 태그 공간 표면 법선에 적용하고, 결과를 정규화하고, R로써 스케일링함으로써 EQ30과 EQ31에서 보여지는 바와 같이 이루어진다.
감지된 점으로부터 접촉 점까지의 벡터는 그 후 EQ32로써 얻어진다.
이는 태그 변환 3D 회전의 역(inverse)을 적용함으로써 태그 공간으로 변환되며, 그 후 EQ33에 따라 태그 중심으로부터 감지된 점으로의 벡터에 추가되어, 태그 공간, 즉 표면에서 태그 중심으로부터 접촉 점까지의 벡터를 제공한다.
이는 최종적으로 태그의 절대 위치(absolute location)에 추가되어, 그 태그ID로써 암시되는 바와 같이, 태그된 영역에서의 펜촉의 요구 절대 위치(desired absolute location)을 제공한다(EQ34 참조).
최종 단계는 태그의 3D 방향으로부터 펜의 3D 방향을 추론하는 것이다. EQ35, EQ36 및 EQ37에서 정의되는 바와 같이, 펜의 이산적 회전(discreterotation)은 단순히 태그의 이산적 회전의 역으로서, 펜의 피칭은 또한 펜의 축에 관한 광학축의 피칭(φsensor)의 영향을 포함한다.
8.4 태그 변환 추론(INFERRING THE TAG TRANSFORM)
이미지 센서에 의하여 캡처되는 태그(4)의 이미지는 태그에 대한 이미지 센서의 위치와 방향에 기인한 투시 왜곡(perspective distortion)을 포함한다. 일단 태그의 투시 목표가 이미지 공간에서 발견되면, 8차 자유도를 가지는 투시 변환이 4개의 태그-공간 및 이미지-공간 점 쌍에 관한, 이해가 쉬운 방정식을 푸는 것으로써 추론된다. 태그의 이미지를 만들어 내는 이산적 변환 단계는 부호적으로 연관(concanated symbolically)되며, 한 세트의 동시다발적 불연속 방정식이 연관된 변환(concatenated transform)과 투시 변환에서 대응되는 요소를 일치시킨다. 이들 방정식을 풀면 이산적 변환 단계가 제공되는데, 이는 펜촉, 3D 태그 회전 및 표면으로부터의 관측점 오프셋으로부터의 요구 태그 오프셋(desired tag offset)을 포함한다.
8.4.1 태그 변환 모델링(Modeling the Tag Transform)
태그 공간으로부터 이미지 공간으로의 태그(4)의 변환은 다음 변환 단계의 연속으로서 모델링될 수 있다.
· x-y 이동(태그-관측점 오프셋에 의하여)
· z 회전(태그 요잉에 의하여)
· x 회전(태그 피칭에 의하여)
· y 회전(태그 롤링에 의하여)
· z 이동(태그-관측점 오프셋에 의하여)
· 투시 투영(perspective project)(특정 초점 길이로)
· x-y 스케일(관측점 크기로)
이들은 부호적으로 연관되어 태그 변환에 영향을 미치는 단일 변환 매트릭스를 만들어 낸다. 표 7은 이어지는 섹션에서 사용되는 이산적 변환 변수를 각각의 변수의 범위와 함께 정리한 것이다.
[표 7] 이산적 변환 변수 및 그 범위
변수 축약형 의미 단위 변환 범위
γ - 요잉 0 0≤γ≤2π
φ - 피칭 0 -π/2<φ<π/2
ψ - 롤링 0 -π/4<ψ<π/4
tx A 태그-관측점 x 오프셋 0 -
ty B 태그-관측점 y 오프셋 0 -
cosγ C 요잉의 코사인값 1 -1≤C≤1
sinγ D 요잉의 사인값 0 -1≤D≤1
cosφ E 피칭의 코사인값 1 0<E≤1
sinφ F 피칭의 사인값 0 -1<F<1
cosψ G 롤링의 코사인값 1 0<G≤1
sinψ H 롤링의 사인값 0 -1<H<1
tz I 태그-관측점 z 오프셋 - I<0
1/λ J 초점 거리의 역 - J>0
S - 뷰포트(viewport) 스케일 - S>0
x-y 평면에서 EQ42에 따라 tx 및 ty만큼 이동한다(A=tx이고 B=ty일때).
z의 둘레에서 EQ43에 따라 γ만큼 회전하고(C=cos(γ), D=sin(γ)일 때), EQ44을 제공한다.
x의 둘레에서 EQ45에 따라 φ만큼 회전하고(E=cos(φ), F=sin(φ)일 때),EQ46을 제공한다.
y의 둘레에서 EQ47에 따라 ψ만큼 회전하고(G=cos(ψ), H=sin(ψ)일 때), EQ48을 제공한다.
EQ53에 따라 초점 거리(λ)를 가지고 z=0인 투사 평면에서 투시 투사하고(J=1/λ일 때), EQ54를 제공한다.
EQ55에 따라 S만큼 뷰포트를 스케일하고, EQ56을 제공한다.
EQ57에 따라 x-y 평면(z=0) 내에서 점을 이동시키고, EQ58을 제공한다.
마지막으로, K와 L을 확장시키고 EQ59를 제공한다.
8.4.2 2D 투시 변환(2D Perspective Transform)
추론된 8차 자유도를 가지는 2D 투시 변환 매트릭스가 EQ60에서 정의된 바와 같이 주어지면, 알려지지 않은 i를 곱하여 일반적인 9차 자유도를 가지는 형태의 매트릭스를 EQ61에서 나타낸 바와 같이 얻어낸다.
2D 점을 EQ62에 따라 변환하고, EQ63을 제공한다.
8.4.3 태그 변환 추론(Inferring the Tag Transformation)
8.4.3.1 계수 일치(Equating Coefficients)
EQ59의 계수를 EQ63의 계수와 일치시킴으로써, 11개의 미지수에 대하여 9개의 불연속 방정식이 있는 EQ64 내지 EQ72가 되도록 한다.
이들 방정식은 EQ73에서 나타낸 바와 같이 각의 사인값과 코사인값에 관련된삼각함수값(즉, 요잉, 피칭 및 롤링 중 어느 것의 사인값 및 코사인값)에 의하여 원하는 만큼 증가한다.
각의 사인값과 코사인값이 주어지면, 대응되는 각은 EQ74에서 나타낸 바와 같이 2변수 아크탄젠트(arctan)를 이용하여 얻어진다.
8.4.3.2 X-Y 오프셋 산출(Solving for X-Y Offset)
EQ66은 EQ64와 EQ65를 이용하여 단순화되고, EQ75와 EQ76을 제공한다.
EQ69는 EQ67과 EQ68을 이용하여 단순화되고, EQ77과 EQ78을 제공한다.
EQ72는 EQ70과 EQ71을 이용하여 단순화되고, EQ79와 EQ80을 제공한다.
EQ7은 EQ81로 다시 쓸 수 있고, EQ78은 EQ82로 다시 쓸 수 있다.
EQ81과 EQ82를 일치시키고 B를 풀면 EQ83 내지 EQ85가 얻어지고 최종적으로 EQ86이 얻어지는데, 이는 B를 정의한다.
B에 관한 수치를 EQ82에 대입하고 단순화하면 EQ87 내지 EQ90이 얻어지고 최종적으로 EQ91이 얻어지는데, 이는 A를 정의한다.
따라서 이것은, A=tx이고 B=ty이므로, 관측점으로부터의 태그(4)의 x-y 오프셋을 제공한다.
8.4.3.3 피칭 산출(Solving for Pitch)
EQ68로부터 EQ92가 얻어진다.
EQ67로부터 EQ93이 얻어진다.
EQ64,EQ92,EQ93으로부터 EQ94가 얻어진다.
EQ65,EQ92,EQ93으로부터 EQ95가 얻어진다.
EQ70,EQ92,EQ93으로부터 EQ96가 얻어진다.
EQ71,EQ92,EQ93으로부터 EQ97가 얻어진다.
EQ94로부터 EQ98이 얻어진다.
EQ95로부터 EQ99이 얻어진다.
EQ96으로부터 EQ100이 얻어진다.
EQ97로부터 EQ101이 얻어진다.
EQ98,EQ99로부터 EQ102,EQ103이 얻어진다.
EQ100,EQ101로부터 EQ104,EQ105가 얻어진다.
EQ103,EQ105로부터 EQ106,107이 얻어진다.
만약 G와 H가 모두 0이 아니면, EQ107만이 유효한 근거를 가진다. |ψ|〈π/2이므로, 롤링의 cos(G)는 항상 양이 되어 0이 아니게 된다. 롤링이 0이 아니라면 롤링의 sin(H)만이 0이 아니게 된다. 0 피칭 및 0 롤링에 대한 특정 취급이 섹션 6.7.3.10에서 설명된다.
따라서 F=sin(φ)이므로 이는 EQ73 및 EQ108에 따라 피칭의 사인값의 크기 및 피칭의 코사인 값을 제공한다.
|φ|〈π/2이므로, 피칭의 cos(E)는 항상 양이 되고, 따라서 제곱근을 취할 때에 곤란한 점은 존재하지 않는다. 그러나, sin(F)의 부호는 섹션 6.7.3.9에서 설명되는 다른 방법에 의하여 결정되어야 한다.
E와 F가 주어지면, EQ109에 따라 피칭이 얻어진다.
8.4.3.4 롤링 산출(Solving for Roll)
EQ103으로부터 EQ110이 얻어진다.
EQ73으로부터 EQ111,EQ112가 얻어진다.
따라서 H=sin(ψ)이므로 이는 EQ73 및 EQ113에 따라 롤링의 사인값의 크기 및 롤링의 코사인 값을 제공한다.
|ψ|〈π/4이므로, 롤링의 cos(G)는 항상 양이 되고, 따라서 제곱근을 취할 때에 곤란한 점은 존재하지 않는다. 그러나, sin(G)의 부호는 섹션 6.7.3.9에서 설명되는 다른 방법에 의하여 결정되어야 한다.
G와 H가 주어지면, EQ114에 따라 피칭이 얻어진다.
8.4.3.5 요잉 산출(Solving for Yaw)
EQ73,EQ92,EQ93으로부터 EQ115,EQ116이 얻어진다.
EQ92,EQ116으로부터 EQ117,EQ118이 얻어진다.
EQ92,EQ116으로부터 EQ119,EQ120이 얻어진다.
EQ116,EQ118,EQ120에서, 제곱근의 부호는 i의 부호에 따라 결정되는데, i는 EQ80으로부터 결정되며 EQ121을 제공한다.
I(tz)가 음이므로, J(1/λ)는 양이고 IJ〈-1이고(|tz|〉λ이므로), EQ122가 유지된다.
C와 D가 주어지면, 요잉은 EQ123에 따라 얻어진다.
8.4.3.6 뷰포트 스케일 산출(Solving for Viewport Scale)
요잉의 cos(C)와 sin(D)는 정의에 따라 결코 동시에 0이 되지 않는다. 피칭의 cos(E)는 0이 되지 않으므로, EQ67과 EQ68 중 어느 것은 언제나 뷰포트 스케일(S)을 결정하는 데에 사용될 수 있다.
만약 D가 0이 아니면, EQ67로부터 EQ124가 얻어질 수 있다.
그렇지 않으면, 만약 C가 0이 아니면, EQ68로부터 EQ125가 얻어질 수 있다.
8.4.3.7 초점 거리 산출(Solving for Focal Length)
마찬가지로, 롤링의 cos(G)는 결코 0이 되지 않으므로, 피칭과 롤링 중 어느 것이라도 0이 아니기만 하면 EQ70과 EQ71 중 어느 것이 역 초점 거리(inverse focal length)(J)를 결정하는 데에 사용될 수 있다. 그러나, 피칭과 롤링의 사인값(F,H)의 부호는 알 수 없을 수도 있다. 그러나, 피칭과 롤링의 사인값의 곱(FH)의 부호는 EQ126에서 나타내는 바와 같이 EQ103으로써 주어진다.
J의 부호가 프라이오리(priori)로 인지되므로, F에는 임의적으로 부호가 지정될 수 있다. 만약 gi가 0이 아니면, EQ70으로부터 EQ127이 얻어질 수 있다.
만약 hi가 0이 아니면, EQ71로부터 EQ128이 얻어질 수 있다.
실제적으로, EQ127의 사용과 EQ128의 사용 간의 선택은 어떤 쪽의 gi와 hi가 더 큰 값을 갖는지에 의거한다. gi와 hi가 모두 0이 된다면, 즉 피칭과 롤링이 모두 0이 된다면 역 초점 거리가 인지될 수 있다.
8.4.3.8 Z 오프셋 산출(Solving for Z Offset)
일단 역 초점 거리(J)가 알려지면, z 오프셋(I)은 EQ129에 따라 EQ80으로부터 얻어진다.
또한, 만약 역 초점 거리(J)가 알려지지 않는다면, 즉 피칭과 롤링이 모두 0이 된다면, z 오프셋(I)은 알려지지 않는다.
8.4.3.9 피칭과 롤링의 방향 결정(Determining Direction of Pitch and Roll)
피칭과 롤링의 사인값의 곱(FH)의 부호는 EQ126에 의하여 주어진다. -π/4〈ψ〈π/4이므로, +π/4의 롤링 조정을 적용함으로써 다른 가정들을 무효화하지 않고도 롤링이 항상 양이 되는 것을 보증할 수 있다. 일단 롤링 조정이 적용되면, EQ126은 피칭의 sin(F)의 부호만을 제공한다.
롤링 조정은 다음과 같이 적용된다. 뷰포트 스케일(S), 역 초점 거리(J) 및 z 오프셋(I)은 모두 설명한 대로 계산된다. 3D 변환 매트릭스는 2D 투시 변환 매트릭스로부터 생성된다. 뷰포트 스케일과, 초점 거리 투사와, z 이동과의역(inverse)이 2D 매트릭스에 반대 순서로 적용된다. 그 후 롤링 조정은 매트릭스에 π/4 y 회전 매트릭스의 프리멀티플라잉(premultiplying)을 적용함으로써 적용된다. 롤링, 피칭 및 요잉은 설명한 대로 계산된다. 롤링이 양이므로, 피칭의 방향도 알려진다. π/4 롤링 조정이 최종적으로 롤링으로부터 감산(subtract)되어 실제 롤링을 제공한다.
롤링과 피칭이 모두 0이면, 초점 거리와 z 오프셋은 모두 상술한 바와 같이 알려지지 않는다(unknown). 그러나, 이 경우에 피칭과 롤링이 이미 알려져 있으므로, 롤링을 조정할 필요는 없다.
8.4.3.10 0 피치 및 롤링의 취급(Handling Zero Pitch and Roll)
피칭과 롤링 중 어느 것이 0이면, EQ107에 의거한 일반해는 무효가 된다. 도 85의 표는 EQ64 내지 EQ71의 축중(縮重) 형태(degenerate form)로서, 요잉이 0(또는 π, π/2(또는 3π/2) 및 0이 아닌 다양한 경우와, 피칭과 롤링이 다양하게 0 또는 0이 아닌 값이 되는 경우를 보이는 형태를 나타낸다. 도 86과 도 87의 표는 피칭 및/또는 롤링이 0이고, 각각의 경우에 도 85의 표에 나타나는 0값에 의하여 구동(motivated)되는, 각 경우들을 감지 및 취급하기 위하여 요구되는 논리(logic)을 나타내고 있다. 도 85의 표의 경우들은 도 86과 도 87의 표에서의 케이스 번호가 붙여진다.
결론(CONCLUSION)
본 발명은 바람직한 실시예와 다수의 특정 변형례를 참조하여 설명되었다. 그러나, 발명이 속하는 기술분야의 당업자라면 특히 설명된 것들과 다른 다양한 그밖의 실시예가본 발명의 정신과 범위에 속하게 될 것임을 예측할 수 있을 것이다. 따라서, 본 발명은 적절한 상호참조로써 통합한 문서를 포함한 상세한 설명에 기재된 특정 실시예에 한정하고자 하는 의도가 아님을 이해하여야 한다. 본 발명의 범위는 오직 첨부된 특허청구범위에 의해서만 제한된다.

Claims (28)

  1. 표면과의 관계에서 배치나 이동이 이루어지면, 감지 장치에 의하여 감지되면 방향(orientation)을 지시하는 부호화된 데이터를 가지는 상기 표면과의 관계에서 상기 감지 장치의 상기 방향을 지시하는 방향 데이터를 생성하는 감지 장치로서,
    하우징(housing)과;
    적어도 약간의 상기 부호화된 데이터를 사용하는 상기 방향 데이터를 생성하도록 구성되는 방향 감지 수단; 및
    상기 방향 데이터를 컴퓨터 시스템으로 통신하도록 구성되는 통신 수단을 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  2. 제 1항에 있어서,
    상기 방향 데이터는, 상기 표면과의 관계에서 상기 하우징의 요잉(yaw), 피칭(pitch) 및 롤링(roll) 중 적어도 하나를 지시하는 것을 특징으로 하는 감지 장치.
  3. 제 1항에 있어서,
    상기 감지 장치가 상기 표면과의 관계에서 이동을 하면 이동 데이터(movement data)를 생성하는 동작 감지 수단(motion sensing means)을 더 포함하여 이루어지고, 상기 통신 수단은 상기 이동 데이터를 상기 컴퓨터 시스템으로통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  4. 제 3항에 있어서,
    상기 감지 장치가 상기 표면의 일 영역(region)과의 관계에서 배치 또는 이동이 이루어지면 적어도 약간의 상기 부호화된 데이터를 이용하여, 상기 영역의 식별자(identity)를 가리키는 영역 식별 데이터를 감지하도록 구성되는 영역 식별자 감지 수단(region identity sensing means)을 더 포함하여 이루어지고, 상기 통신 수단은 상기 영역 식별자 데이터를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  5. 제 4항에 있어서,
    상기 이동 감지 수단은 적어도 약간의 상기 부호화된 데이터를 이용하여 상기 이동 데이터를 생성하도록 구성되는 것을 특징으로 하는 감지 장치.
  6. 제 5항에 있어서,
    상기 부호화된 데이터는 또한 상기 영역의 복수의 참조 지점(reference point)을 가리키고, 상기 이동 감지 수단은 상기 참조 지점 중 적어도 하나와의 관계에서의 상기 감지 장치의 이동에 의거하여 상기 이동 데이터를 생성하도록 구성되는 것을 특징으로 하는 감지 장치.
  7. 제 5항에 있어서,
    상기 부호화된 데이터는 주기적 요소(periodic element)를 포함하고, 상기 이동 감지 수단은 상기 주기적 요소 중 적어도 하나와의 관계에서의 상기 감지 장치의 이동에 의거하여 상기 이동 데이터를 생성하도록 구성되는 것을 특징으로 하는 감지 장치.
  8. 제 6항 또는 제 7항에 있어서,
    상기 이동 감지 수단은 상기 참조 지점 또는 상기 주기적 요소 중 적어도 하나와의 관계에서의 상기 감지 장치의 상기 위치를 샘플링함으로써 상기 이동 데이터를 생성하도록 구성되는 것을 특징으로 하는 감지 장치.
  9. 제 8항에 있어서,
    상기 참조 지점 또는 상기 주기적 요소 중 적어도 하나로부터의 상기 감지 장치의 거리를 추정하는 거리 추정 수단(distance estimation means)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  10. 제 9항에 있어서,
    상기 통신 수단은 상기 거리를 지시하는 거리 데이터(distance data)를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  11. 제 9항에 있어서,
    상기 이동 감지 수단은 상기 거리 추정 수단에 의하여 추정된 상기 거리를 사용함으로써, 상기 참조 지점 또는 상기 주기적 요소 중 적어도 하나만에 의하여 지시되는 것보다 더욱 정확한 감지 장치의 위치를 결정하도록 구성되는 것을 특징으로 하는 감지 장치.
  12. 제 5항에 있어서, 적어도 약간의 상기 부호화된 데이터와의 관계에서 상기 감지 장치의 방향을 감지하도록 구성되는 방향 감지 수단(orientation sensing means)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  13. 제 12항에 있어서,
    상기 통신 수단은 상기 방향을 지시하는 방향 데이터(orientation data)를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  14. 제 3항에 있어서,
    상기 이동 감지 수단은 적어도 하나의 가속도 감지 수단(acceleration sensing means)을 포함하여 이루어지고, 상기 가속도 감지 수단은 상기 감지 장치가 상기 표면 영역과의 관계에서 이동을 할 때 상기 감지 장치의 가속도를 감지하도록 구성되며, 상기 이동 감지 장치는 주기적으로 상기 가속도를 샘플링함으로써 상기 이동 데이터를 생성하도록 구성되는 것을 특징으로 하는 감지 장치.
  15. 제 14항에 있어서,
    상기 가속도 감지 수단은 적어도 두 개의 실질적으로 직교하는 가속도 요소를 감지하도록 구성되는 것을 특징으로 하는 감지 장치.
  16. 제 4항에 있어서,
    상기 감지 장치가 상기 표면 영역과의 관계에서 이동을 할 때 시간 레퍼런스(time reference)를 생성하도록 구성되는 타이머 수단(timer means)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  17. 제 16항에 있어서,
    상기 통신 수단은 상기 타이머 수단에 의하여 생성되는 상기 이동 데이터의 상기 시간 레퍼런스를 지시하는 시간 레퍼런스 데이터(time reference data)를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  18. 제 1항에 있어서,
    상기 통신 수단은 무선 통신 수단(wireless communications means)인 것을 특징으로 하는 감지 장치.
  19. 제 1항에 있어서,
    상기 감지 장치에 의하여 상기 표면으로 인가되는 압력(force)을 감지하도록 구성되는 압력 감지 수단(force sensing means)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  20. 제 19항에 있어서,
    상기 통신 수단은 상기 압력을 지시하는 압력 데이터(force data)를 상기 컴퓨터 시스템으로 통신하도록 구성되는 것을 특징으로 하는 감지 장치.
  21. 제 19항에 있어서,
    상기 감지 장치가 상기 표면에 인가되고 상기 표면으로부터 제거될 때를 상기 압력으로써 탐지함으로써 스트로크(stroke)의 지속시간(duration)을 식별하도록 구성되는 스트로크 탐지 수단(stroke detection means)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  22. 제 4항, 제 5항 또는 제 14항에 있어서,
    상기 표면에 기록을 하기 위한 필기용 펜촉(marking nib)을 더 포함하여 이루어지는 것을 특징으로 하는 감지 장치.
  23. 제 22항에 있어서,
    상기 감지 장치는 스타일러스(stylus) 또는 펜의 형태인 것을 특징으로 하는감지 장치.
  24. 제 1항에 있어서,
    상기 부호화된 데이터는 실질적으로 사람의 육안(unaided human eye)에는 보이지 않는 것을 특징으로 하는 감지 장치.
  25. 제 24항에 있어서,
    상기 부호화된 데이터는 적외선 잉크를 이용하여 인쇄되고, 상기 감지 장치는 상기 적외선의 스펙트럼에 반응하는 것을 특징으로 하는 감지 장치.
  26. 제 6항에 있어서,
    상기 부호화된 데이터는 복수의 태그를 포함하며, 각각의 태그는 상기 태그가 내부에 존재하는 일 영역의 식별자 및 상기 영역의 참조 지점의 식별자를 지시하며, 상기 영역은 상기 표면과 관련되고, 상기 참조 지점은 상기 영역 내의 상기 태그의 상기 위치를 지시하는 것을 특징으로 하는 감지 장치.
  27. 제 7항에 있어서,
    상기 부호화된 데이터는 복수의 태그를 포함하며, 각각의 태그는 상기 태그가 내부에 존재하는 일 영역의 식별자를 지시하며, 각각의 태그는 상기 부호화된 데이터의 적어도 하나의 주기적 요소를 포함하는 것을 특징으로 하는 감지 장치.
  28. 제 1항에 있어서,
    상기 방향 감지 수단은 적어도 약간의 상기 부호화된 데이터의 투시 왜곡으로부터 상기 방향을 추론하도록 구성되는 것을 특징으로 하는 감지 장치.
KR1020037007008A 2000-11-25 2001-11-26 방향 감지 장치 KR100552018B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/722,088 2000-11-25
US09/722,088 US7105753B1 (en) 1999-05-25 2000-11-25 Orientation sensing device
PCT/AU2001/001531 WO2002042993A1 (en) 2000-11-25 2001-11-26 Orientation sensing device

Publications (2)

Publication Number Publication Date
KR20030061408A true KR20030061408A (ko) 2003-07-18
KR100552018B1 KR100552018B1 (ko) 2006-02-20

Family

ID=24900458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037007008A KR100552018B1 (ko) 2000-11-25 2001-11-26 방향 감지 장치

Country Status (9)

Country Link
EP (1) EP1350220A4 (ko)
JP (1) JP3844736B2 (ko)
KR (1) KR100552018B1 (ko)
CN (2) CN101187839B (ko)
AU (2) AU2002223289B2 (ko)
IL (2) IL156085A0 (ko)
SG (1) SG128483A1 (ko)
WO (1) WO2002042993A1 (ko)
ZA (2) ZA200404947B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011021823A2 (ko) * 2009-08-21 2011-02-24 주식회사 네오랩컨버전스 리더기의 이동 궤적 측정방법 및 이를 적용한 리더기

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060176269A1 (en) * 2003-07-24 2006-08-10 Koninklijke Philips Electronics N.V. Activation of electronic paint with registration codes
KR20060052875A (ko) * 2003-07-24 2006-05-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 다중 스트로크 전자 브러시 디스플레이를 위한 로버스트위치 검출
GB2405959A (en) * 2003-09-10 2005-03-16 Hewlett Packard Development Co A digital pen and paper system
US20050060644A1 (en) * 2003-09-15 2005-03-17 Patterson John Douglas Real time variable digital paper
ES2488090T3 (es) * 2007-07-27 2014-08-26 F. Hoffmann-La Roche Ag Etiqueta de identificación de la orientación, estructura portadora de contenedores de reactivos y dispositivo analizador
DE102008055067A1 (de) * 2008-12-22 2010-07-01 Robert Bosch Gmbh Werkzeugmaschine, insbesondere handgehaltene Werkzeugmaschine
US8602893B2 (en) * 2010-06-02 2013-12-10 Sony Computer Entertainment Inc. Input for computer device using pattern-based computer vision
JP2013535066A (ja) * 2010-06-25 2013-09-09 ポリビジョン コーポレイション 対話型システムのための起動オブジェクト
US9014469B2 (en) 2012-11-01 2015-04-21 Yael Zimet-Rubner Color-mapping wand
CN104137041A (zh) * 2012-12-28 2014-11-05 松下电器产业株式会社 显示控制系统及读取装置
US20150028110A1 (en) * 2013-07-29 2015-01-29 Owens-Brockway Glass Container Inc. Container with a Data Matrix Disposed Thereon
JP6267074B2 (ja) * 2014-07-22 2018-01-24 グリッドマーク株式会社 手書き入出力システムおよび光学読取装置
US10168804B2 (en) 2015-09-08 2019-01-01 Apple Inc. Stylus for electronic devices
CN106971129A (zh) * 2016-01-13 2017-07-21 深圳超多维光电子有限公司 一种3d图像的应用方法和装置
CN105718081B (zh) * 2016-01-15 2019-04-09 陈良彬 一种基于智能笔的互动实现方法
CN108309236B (zh) * 2018-01-15 2021-08-27 新绎健康科技有限公司 人体平衡评估方法及系统
TWI712001B (zh) * 2019-06-25 2020-12-01 國立臺灣師範大學 用以將選定的二維影像投影成裸視三維影像之系統
EP3879441A1 (en) * 2020-03-09 2021-09-15 Société BIC Reusable notebook and methods thereof
CN114756997B (zh) * 2022-05-17 2023-04-07 中国科学院数学与系统科学研究院 船体外板曲面设计自交线检测方法、装置及可存储介质
CN117576293B (zh) * 2024-01-15 2024-04-09 中南大学 一种基于线路分页分层模型的视相关多线程动态更新方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051736A (en) * 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
GB2251508A (en) * 1991-01-03 1992-07-08 Nat Res Dev Variable threshold apparatus
US5239489A (en) * 1991-05-06 1993-08-24 International Business Machines Corporation Pen position and tilt estimators for a digitizer tablet
US5477012A (en) * 1992-04-03 1995-12-19 Sekendur; Oral F. Optical position determination
US5981883A (en) * 1992-07-08 1999-11-09 Lci Technology Group, N.V. Systems for imaging written information
US5652412A (en) * 1994-07-11 1997-07-29 Sia Technology Corp. Pen and paper information recording system
US5661506A (en) * 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
US5856844A (en) * 1995-09-21 1999-01-05 Omniplanar, Inc. Method and apparatus for determining position and orientation
US6081261A (en) * 1995-11-01 2000-06-27 Ricoh Corporation Manual entry interactive paper and electronic document handling and processing system
US6151611A (en) * 1997-10-31 2000-11-21 Hewlett-Packard Company System for editing graphical data based upon relative time of entry
WO1999050751A1 (en) * 1998-04-01 1999-10-07 Xerox Corporation Routing document identifiers
US6822639B1 (en) * 1999-05-25 2004-11-23 Silverbrook Research Pty Ltd System for data transfer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011021823A2 (ko) * 2009-08-21 2011-02-24 주식회사 네오랩컨버전스 리더기의 이동 궤적 측정방법 및 이를 적용한 리더기
KR101019143B1 (ko) * 2009-08-21 2011-03-03 주식회사 네오랩컨버전스 리더기의 이동 궤적 측정방법 및 이를 적용한 리더기
WO2011021823A3 (ko) * 2009-08-21 2011-04-28 주식회사 네오랩컨버전스 리더기의 이동 궤적 측정방법 및 이를 적용한 리더기

Also Published As

Publication number Publication date
EP1350220A1 (en) 2003-10-08
ZA200404947B (en) 2005-11-30
AU2328902A (en) 2002-06-03
JP2004530957A (ja) 2004-10-07
ZA200304230B (en) 2004-04-05
JP3844736B2 (ja) 2006-11-15
WO2002042993A1 (en) 2002-05-30
SG128483A1 (en) 2007-01-30
KR100552018B1 (ko) 2006-02-20
IL156085A (en) 2009-06-15
IL156085A0 (en) 2003-12-23
CN101187839B (zh) 2012-04-04
CN1498389A (zh) 2004-05-19
AU2002223289B2 (en) 2005-03-17
CN101187839A (zh) 2008-05-28
CN100565432C (zh) 2009-12-02
EP1350220A4 (en) 2005-01-19

Similar Documents

Publication Publication Date Title
KR100486383B1 (ko) 감지 장치
US7982885B2 (en) Electronic pen with retraction mechanism and force sensor
US7463250B2 (en) System for determining the rotational orientation of a sensing device
US20090079710A1 (en) Scanning device for scanning a surface having coded data disposed thereon
US20030094497A1 (en) Computer system interface surface with sensor having identifier
KR100552018B1 (ko) 방향 감지 장치
AU4730200A (en) Orientation sensing device
AU2002223289A1 (en) Orientation sensing device
KR100629214B1 (ko) 대화형 프린터
KR100605353B1 (ko) 온라인 지불을 위한 방법 및 시스템
AU2003254836B2 (en) Orientation sensing device for use with coded marks
AU2005202431B2 (en) Sensing device with orientation sensor
AU2005202030A1 (en) An arrangement including an orientation sensing device used with coded marks

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: 20120201

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee