KR20030005384A - Printed page tag encoder - Google Patents

Printed page tag encoder Download PDF

Info

Publication number
KR20030005384A
KR20030005384A KR1020027015811A KR20027015811A KR20030005384A KR 20030005384 A KR20030005384 A KR 20030005384A KR 1020027015811 A KR1020027015811 A KR 1020027015811A KR 20027015811 A KR20027015811 A KR 20027015811A KR 20030005384 A KR20030005384 A KR 20030005384A
Authority
KR
South Korea
Prior art keywords
tag
page
data
netpage
pen
Prior art date
Application number
KR1020027015811A
Other languages
Korean (ko)
Other versions
KR100755914B1 (en
Inventor
폴 랩스턴
시몬 로버트 왈름슬레이
Original Assignee
실버브룩 리서치 피티와이 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 실버브룩 리서치 피티와이 리미티드 filed Critical 실버브룩 리서치 피티와이 리미티드
Priority to KR1020027015811A priority Critical patent/KR100755914B1/en
Publication of KR20030005384A publication Critical patent/KR20030005384A/en
Application granted granted Critical
Publication of KR100755914B1 publication Critical patent/KR100755914B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

인쇄된 페이지의 태그 인코더는 태그 구조 템플릿을 수신하는 입력수단과, 고정 데이터 비트를 수신하는 입력수단과, 가변 데이터 비트 레코드를 수신하는 입력수단 및 태그 구조 템플릿과 고정 및 가변 데이터에 의하여 정의되는 태그 안에서의 위치에 좌우되는 단일 비트를 출력하는 태그 도트 생성기를 가진다. 인코더는 선택에 따라 고정 및/또는 가변 데이터를 부호화하는 중복 인코더를 더 가진다. 중복 인코더는 리드-솔로몬 부호화를 이용한다. 태그는 페이지 상에서 규칙적으로, 이상적으로는 삼각형 격자 안에 배치된다.The tag encoder of a printed page includes input means for receiving a tag structure template, input means for receiving fixed data bits, input means for receiving variable data bit records and tags defined by the tag structure template and fixed and variable data. It has a tag dot generator that outputs a single bit depending on its position inside. The encoder further has a redundant encoder that optionally encodes fixed and / or variable data. The redundant encoder uses Reed-Solomon coding. Tags are placed on a page regularly, ideally in a triangular grid.

Description

인쇄 페이지의 태그 인코더{PRINTED PAGE TAG ENCODER}Tag encoder for printed pages {PRINTED PAGE TAG ENCODER}

종이는 정보를 표시하고 기록하기 위하여 널리 이용된다. 인쇄된 정보는 컴퓨터 스크린 상에 표시된 정보보다 읽기 쉽다. 손으로 그린 그림(hand-drawing) 및 수기(handwriting)는 컴퓨터 키보드 및 마우스를 통한 입력보다 더욱 풍부한 표현을 할 수 있다. 더욱이, 종이는 배터리가 필요없고, 밝은 빛 아래에서도 읽을 수 있으며, 엎질러진 커피에도 잘 견딜 수 있으며, 이동성이 있고 버릴 수도 있다.Paper is widely used to display and record information. The printed information is easier to read than the information displayed on the computer screen. Hand-drawing and handwriting can provide richer expressions than input through computer keyboards and mice. Moreover, paper requires no battery, can be read under bright light, can withstand spilled coffee, is mobile and can be thrown away.

온라인 출판(online publication)은 전통적인 종이 기반 출판(paper-based publication)에 비하여 많은 장점을 가진다. 소비자의 관점에서 볼 때, 필요에 따른 정보를 입수할 수 있고, 하이퍼텍스트 링크를 통하여 전달될 수 있으며, 검색이 가능하고, 자동적으로 개인화(personalize)될 수 있다.Online publication has many advantages over traditional paper-based publication. From the consumer's point of view, information can be obtained as needed, delivered via hypertext links, searchable, and automatically personalized.

출판인의 관점에서 볼 때, 인쇄의 비용 및 물리적인 배포의 문제가 제거되며, 특정 계층의 사람을 겨냥하여 상품의 사이트에 링크를 할 수가 있는 이유로 인하여 광고료를 지불하는 광고주들에게 온라인 출판은 더욱 매력적으로 된다.From a publisher's point of view, online publishing is more attractive to advertisers who pay for advertising because they eliminate the cost of printing and physical distribution and can link to the product's site for a specific class of people. Becomes

온라인 출판은 단점 또한 가진다. 컴퓨터 스크린은 종이에 비하여 열등하다. 잡지의 페이지와 동일한 품질에서, SVGA 컴퓨터 스크린은 단지 1/5의 정보만을 표시한다. 특히, 주변이 매우 밝은 경우에, CRT 및 LCD는 모두 밝기 및 계조 문제를 가진다. 반면에 종이 위의 잉크는 방사성(emissive)이라기보다는 반사성(reflective)이기 때문에 주변이 밝을 때 밝고 선명하다.Online publishing also has its drawbacks. Computer screens are inferior to paper. At the same quality as the pages of the magazine, the SVGA computer screen only displays 1/5 of the information. In particular, when the surroundings are very bright, both the CRT and the LCD have brightness and gradation problems. On the other hand, ink on paper is bright and clear when it is bright because it is reflective rather than emissive.

본 발명은 컴퓨터와 상호작용하기 위한 방법 및 시스템에 관한 것으로서, 보다 상세하게는 부호화된 태그(coded tag)의 포맷팅, 페이지의 인쇄 중에 인쇄 페이지에 부여되는 태그 및 포맷에 맞추어 태그를 생성하는 태그 인코더에 관한 것이다. 태그 인코더는 특히 다른 그래픽 및 텍스트 요소(graphic and textual matter)와 함께 태그가 포함된 인쇄 페이지를 생성하는 프린트 엔진/제어기(print engine/controller)에 구현될 수 있다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and system for interacting with a computer, and more particularly, to a tag encoder for generating a tag in accordance with a format of a coded tag and a tag and a format given to a printed page during printing of a page. It is about. The tag encoder can be implemented in particular in a print engine / controller that generates a printed page containing tags along with other graphic and textual matters.

본 발명은 다수의 분산된 사용자로 하여금 인쇄물 및 광학 센서를 통하여 네트워크 정보와 상호 작용할 수 있도록 고속 네트워크 컬러 프린터를 통하여 언제든 대화형 인쇄물(interactive printed matter)을 획득하도록 하는 것을 주목적으로 하여 개발되어 왔다. 비록 본 발명이 대부분 이러한 용도와 관련하여 이하 서술될 것이지만, 본 발명이 이러한 분야의 용도로만 제한되는 것은 아니다.The present invention has been developed primarily with the aim of allowing a large number of distributed users to obtain interactive printed matter at any time via a high speed network color printer so that they can interact with network information via prints and optical sensors. Although the present invention will be described hereinafter in most respects in connection with such use, the present invention is not limited to use in this field.

본 발명과 관련하여 다수의 방법, 시스템 및 장치가 본 출원과 동시에 출원인 또는 본 발명의 양수인에 의하여 출원된 아래의 계속중인 출원에 개시되어 있다.Numerous methods, systems, and apparatus in connection with the present invention are disclosed in the following ongoing applications filed by the applicant or the assignee of the present invention concurrently with the present application.

PCT/AU00/00518, PCT/AU00/00519, PCT/AU00/00520, PCT/AU00/00521, PCT/AU00/00522, PCT/AU00/00523, PCT/AU00/00524, PCT/AU00/00525,PCT/AU00/00526, PCT/AU00/00527, PCT/AU00/00528, PCT/AU00/00529, PCT/AU00/00530, PCT/AU00/00531, PCT/AU00/00532, PCT/AU00/00533, PCT/AU00/00534, PCT/AU00/00535, PCT/AU00/00536, PCT/AU00/00537, PCT/AU00/00538, PCT/AU00/00539, PCT/AU00/00540, PCT/AU00/00541, PCT/AU00/00542, PCT/AU00/00543, PCT/AU00/00544, PCT/AU00/00545, PCT/AU00/00547, PCT/AU00/00546, PCT/AU00/00554, PCT/AU00/00556, PCT/AU00/00557, PCT/AU00/00558, PCT/AU00/00559, PCT/AU00/00560, PCT/AU00/00561, PCT/AU00/00562, PCT/AU00/00563, PCT/AU00/00564, PCT/AU00/00565, PCT/AU00/00566, PCT/AU00/00567, PCT/AU00/00568, PCT/AU00/00569, PCT/AU00/00570, PCT/AU00/00571, PCT/AU00/00572, PCT/AU00/00573, PCT/AU00/00574, PCT/AU00/00575, PCT/AU00/00576, PCT/AU00/00577, PCT/AU00/00578, PCT/AU00/00579, PCT/AU00/00581, PCT/AU00/00580, PCT/AU00/00582, PCT/AU00/00587, PCT/AU00/00588, PCT/AU00/00589, PCT/AU00/00583, PCT/AU00/00593, PCT/AU00/00590, PCT/AU00/00591, PCT/AU00/00592, PCT/AU00/00584, PCT/AU00/00585, PCT/AU00/00586, PCT/AU00/00584, PCT/AU00/00595, PCT/AU00/00596, PCT/AU00/00597, PCT/AU00/00598, PCT/AU00/00516, PCT/AU00/00511, PCT/AU00/00501, PCT/AU00/00502, PCT/AU00/00503, PCT/AU00/00504, PCT/AU00/00505, PCT/AU00/00506, PCT/AU00/00507, PCT/AU00/00508, PCT/AU00/00509, PCT/AU00/00510, PCT/AU00/00512, PCT/AU00/00513,PCT/AU00/00514, PCT/AU00/00515PCT / AU00 / 00518, PCT / AU00 / 00519, PCT / AU00 / 00520, PCT / AU00 / 00521, PCT / AU00 / 00522, PCT / AU00 / 00523, PCT / AU00 / 00524, PCT / AU00 / 00525, PCT / AU00 / 00526, PCT / AU00 / 00527, PCT / AU00 / 00528, PCT / AU00 / 00529, PCT / AU00 / 00530, PCT / AU00 / 00531, PCT / AU00 / 00532, PCT / AU00 / 00533, PCT / AU00 / 00534, PCT / AU00 / 00535, PCT / AU00 / 00536, PCT / AU00 / 00537, PCT / AU00 / 00538, PCT / AU00 / 00539, PCT / AU00 / 00540, PCT / AU00 / 00541, PCT / AU00 / 00542, PCT / AU00 / 00543, PCT / AU00 / 00544, PCT / AU00 / 00545, PCT / AU00 / 00547, PCT / AU00 / 00546, PCT / AU00 / 00554, PCT / AU00 / 00556, PCT / AU00 / 00557, PCT / AU00 / 00558, PCT / AU00 / 00559, PCT / AU00 / 00560, PCT / AU00 / 00561, PCT / AU00 / 00562, PCT / AU00 / 00563, PCT / AU00 / 00564, PCT / AU00 / 00565, PCT / AU00 / 00566, PCT / AU00 / 00567, PCT / AU00 / 00568, PCT / AU00 / 00569, PCT / AU00 / 00570, PCT / AU00 / 00571, PCT / AU00 / 00572, PCT / AU00 / 00573, PCT / AU00 / 00574, PCT / AU00 / 00575, PCT / AU00 / 00576, PCT / AU00 / 00577, PCT / AU00 / 00578, PCT / AU00 / 00579, PCT / AU00 / 00581, PCT / AU00 / 00580, PCT / AU00 / 00582, PCT / AU00 / 00587, PCT / AU00 / 00588, PCT / AU00 / 00589, PCT / AU00 / 00583, PCT / AU00 / 00593, PCT / AU00 / 00590, PCT / AU00 / 00591, PCT / AU00 / 00592, PCT / AU00 / 00584, PCT / AU00 / 00585, PCT / AU00 / 00586, PCT / AU00 / 00584, PCT / AU00 / 00595, PCT / AU00 / 00596, PCT / AU00 / 00597, PCT / AU00 / 00598, PCT / AU00 / 00516, PCT / AU00 / 00511, PCT / AU00 / 00501, PCT / AU00 / 00502, PCT / AU00 / 00503, PCT / AU00 / 00504, PCT / AU00 / 00505, PCT / AU00 / 00506, PCT / AU00 / 00507, PCT / AU00 / 00508, PCT / AU00 / 00509, PCT / AU00 / 00510, PCT / AU00 / 00512, PCT / AU00 / 00513, PCT / AU00 / 00514, PCT / AU00 / 00515

계속중인 이들 출원의 개시 사항은 여기에서 상호 참조된다.The disclosures of these ongoing applications are cross-referenced herein.

본 발명의 바람직한 실시예 및 기타 실시예는 첨부된 다음과 같은 도면을 참조하여 발명을 제한하지 않는 예시적인 방법으로서 기술된다.Preferred and other embodiments of the invention are described as exemplary methods without limiting the invention with reference to the accompanying drawings in which: FIG.

도 1은 인쇄된 넷페이지의 일례와 그 온라인 페이지 명세 간의 관계를 나타낸 개략도,1 is a schematic diagram showing a relationship between an example of a printed netpage and its online page specification;

도 2는 넷페이지 펜, 넷페이지 프린터, 넷페이지 페이지 서버 및 넷페이지 애플리케이션 서버 간의 상호작용을 나타낸 개략도,2 is a schematic diagram illustrating interactions between a netpage pen, a netpage printer, a netpage page server and a netpage application server;

도 3은 네트워크를 통하여 상호접속된 넷페이지 서버 및 프린터의 집합을 나타낸 도면,3 illustrates a set of netpage servers and printers interconnected via a network;

도 4는 인쇄된 넷페이지 및 그 온라인 페이지 명세의 하이 레벨 구조를 나타낸 개략도,4 is a schematic diagram showing the high level structure of a printed netpage and its online page specification;

도 5는 넷페이지 태그의 구조를 나타낸 평면도,5 is a plan view showing the structure of a netpage tag;

도 6은 도 5에 나타낸 태그의 집합 사이의 관계를 나타낸 평면도 및 넷페이지 펜 형상의 넷페이지 감지 장치의 영역을 나타낸 도면,FIG. 6 is a plan view showing a relationship between a set of tags shown in FIG. 5 and an area of a netpage detecting device having a netpage pen shape; FIG.

도 7은 태그 이미지 처리 및 복호화 알고리즘의 흐름도,7 is a flowchart of a tag image processing and decoding algorithm;

도 8은 넷페이지 펜 및 이와 관련된 태그-감지 관찰-영역 원뿔(tag-sensing field-of-view cone)을 나타낸 투시도,8 is a perspective view showing a netpage pen and a tag-sensing field-of-view cone associated therewith;

도 9는 도 8에 나타낸 넷페이지 펜을 분해한 투시도,9 is an exploded perspective view of the netpage pen shown in FIG. 8;

도 10은 도 8 및 도 9에 나타낸 넷페이지 펜을 위한 펜 제어기의 개략적인 블록도,FIG. 10 is a schematic block diagram of a pen controller for the netpage pen shown in FIGS. 8 and 9;

도 11은 벽면 장착형 넷페이지 프린터의 투시도,11 is a perspective view of a wall mounted netpage printer,

도 12는 도 11의 넷페이지 프린터의 세로 단면도,12 is a vertical sectional view of the netpage printer of FIG. 11;

도 12a는 이중 프린트 엔진(duplexed print engines) 및 접착 휠 어셈블리(glue wheel assembly)의 단면을 나타낸 12의 부분 확대도,12A is an enlarged partial view of 12 showing a cross section of duplexed print engines and a glue wheel assembly;

도 13은 도 11 및 도 12의 넷페이지 프린터의 잉크 카트리지, 잉크, 공기와 접착제의 경로 및 프린트 엔진의 상세도,FIG. 13 is a detailed view of the ink cartridge, ink, air and adhesive paths, and the print engine of the netpage printer of FIGS. 11 and 12;

도 14는 도 11 및 도 12의 넷페이지 프린터를 위한 프린터 제어기의 개략적인 블록도,14 is a schematic block diagram of a printer controller for the netpage printer of FIGS. 11 and 12;

도 15는 도 14에 나타낸 프린터 제어기와 관련된 이중 프린트 엔진 제어기 및 멤젯(Memjet(상표)) 프린트 헤드의 개략적인 블록도,FIG. 15 is a schematic block diagram of a dual print engine controller and a Memjet ™ print head associated with the printer controller shown in FIG. 14;

도 16은 도 14 및 도 15에 나타낸 프린트 엔진 제어기의 개략적인 블록도,16 is a schematic block diagram of the print engine controller shown in FIGS. 14 and 15;

도 17은 도 10 내지 도 12의 넷페이지 프린터 등에서 사용되는 단일 멤젯(상표) 인쇄 요소의 투시도,FIG. 17 is a perspective view of a single Memjet (trademark) printing element used in the netpage printer of FIGS.

도 18은 멤젯(상표) 인쇄 요소의 배열의 일부분의 투시도,18 is a perspective view of a portion of the arrangement of the Memjet (trademark) printing elements,

도 19는 도 13에 나타낸 멤젯(상표) 인쇄 요소의 동작 사이클을 나타낸 투시도,FIG. 19 is a perspective view showing an operating cycle of the Memjet (trademark) printing element shown in FIG. 13;

도 20은 멤젯(상표) 프린트 헤드의 페이지 폭 만큼의 일부분을 나타낸 투시도,20 is a perspective view showing a portion of a page width of a Memjet (trademark) print head,

도 21은 사용자 클래스도(user class diagram)의 개략도,21 is a schematic diagram of a user class diagram,

도 22는 프린터 클래스도(printer class diagram)의 개략도,22 is a schematic diagram of a printer class diagram;

도 23은 펜 클래스도(pen class diagram)의 개략도,23 is a schematic diagram of a pen class diagram,

도 24는 애플리케이션 클래스도(application class diagram)의 개략도,24 is a schematic diagram of an application class diagram;

도 25는 문서 및 페이지 명세 클래스도(document and page description class diagram)의 개략도,25 is a schematic diagram of a document and page description class diagram,

도 26은 문서 및 페이지 소유권 클래스도(document and page ownership class diagram)의 개략도,26 is a schematic diagram of a document and page ownership class diagram,

도 27은 터미널 요소 특정 클래스도(terminal element specialization class diagram)의 개략도,27 is a schematic diagram of a terminal element specialization class diagram;

도 28은 정적 요소 특정 클래스도(static element specialization class diagram)의 개략도,28 is a schematic diagram of a static element specialization class diagram,

도 29는 하이퍼링크 요소 클래스도(hyperlink element class diagram)의 개략도,29 is a schematic diagram of a hyperlink element class diagram,

도 30은 하이퍼링크 요소 특정 클래스도(hyperlink element specialization class diagram)의 개략도,30 is a schematic diagram of a hyperlink element specialization class diagram,

도 31은 하이퍼링크된 그룹 클래스도(hyperlinked group class diagram)의 개략도,31 is a schematic diagram of a hyperlinked group class diagram,

도 32는 양식 클래스도(form class diagram)의 개략도,32 is a schematic diagram of a form class diagram,

도 33은 디지털 잉크 클래스도(digital ink class diagram)의 개략도,33 is a schematic diagram of a digital ink class diagram,

도 34는 영역 요소 특정 클래스도(field element specialization class diagram)의 개략도,34 is a schematic diagram of a field element specialization class diagram;

도 35는 체크박스 영역 클래스도(checkbox field class diagram)의 개략도,35 is a schematic diagram of a check box field class diagram,

도 36은 텍스트 영역 클래스도(text field class diagram)의 개략도,36 is a schematic diagram of a text field class diagram,

도 37은 서명 영역 클래스도(signature field class diagram)의 개략도,37 is a schematic diagram of a signature field class diagram,

도 38은 입력 처리 알고리즘의 흐름도,38 is a flowchart of an input processing algorithm;

도 38a는 도 38의 흐름도의 한 단계의 상세한 흐름도,38A is a detailed flowchart of one step of the flowchart of FIG. 38;

도 39는 페이지 서버 명령 요소 클래스도(page server command element class diagram)의 개략도,39 is a schematic diagram of a page server command element class diagram;

도 40은 자원 명세 클래스도(resource description class diagram)의 개략도,40 is a schematic diagram of a resource description class diagram,

도 41은 즐겨찾기 목록 클래스도(favorites list class diagram)의 개략도,41 is a schematic diagram of a favorites list class diagram,

도 42는 히스토리 목록 클래스도(history list class diagram)의 개략도,42 is a schematic diagram of a history list class diagram,

도 43은 구독 배달 프로토콜(subscription delivery protocol)의 개략도,43 is a schematic diagram of a subscription delivery protocol,

도 44는 하이퍼링크 요청 클래스도(hyperlink request class diagram)의 개략도,44 is a schematic diagram of a hyperlink request class diagram,

도 45는 하이퍼링크 활성화 프로토콜(hyperlink activation protocol)의 개략도,45 is a schematic diagram of a hyperlink activation protocol;

도 46은 양식 제출 프로토콜(form submission protocol)의 개략도,46 is a schematic diagram of a form submission protocol,

도 47은 수수료 지불 프로토콜(commission payment protocol) 의 개략도,47 is a schematic diagram of a commission payment protocol;

도 48은 데이터 흐름 및 프린트 엔진 제어기에 의하여 수행되는 작용을 나타낸 도면,48 is a diagram showing the data flow and the actions performed by the print engine controller;

도 49는 전체적인 인쇄 시스템 구조의 맥락에서의 프린트 엔진 제어기를 나타낸 도면,49 illustrates a print engine controller in the context of an overall print system structure;

도 50은 프린트 엔진 제어기 구조를 나타낸 도면,50 shows a print engine controller structure;

도 51은 도 50의 하프토너/합성기 유닛(halftoner/compositor unit)(HCU)로의 외부 인터페이스를 나타낸 도면,FIG. 51 shows an external interface to the halftoner / compositor unit (HCU) of FIG. 50;

도 52는 도 51의 HCU로의 내부 회로를 나타낸 도면,52 shows an internal circuit to the HCU of FIG. 51;

도 53은 도 52의 도트 병합 유닛 내의 처리를 나타낸 블록도,53 is a block diagram showing processing in a dot merging unit of FIG. 52;

도 54는 도 52의 도트 재편 유닛 내의 처리를 나타낸 도면,54 shows a process in the dot reorganization unit of FIG. 52;

도 55는 세로 및 가로 모드에서 태그의 배치를 나타낸 도면,55 is a view showing placement of tags in portrait and landscape modes;

도 56은 태그 배치를 정의하기 위하여 이용되는 파라미터를 표현한 도면,56 illustrates a parameter used to define a tag arrangement;

도 57은 하프라인 태그 데이터 버퍼 구조(half-line tag data buffer structure)를 표시한 도면,FIG. 57 shows a half-line tag data buffer structure. FIG.

도 58은 단일 태그 도트를 생성하기 위한 회로를 나타낸 도면,58 shows a circuit for generating a single tag dot,

도 59는 태그 데이터를 부호화하는 리드-솔로몬 방식 회로를 나타낸 도면이다.59 is a diagram illustrating a Reed-Solomon system for encoding tag data.

인쇄 페이지의 태그 인코더에 관한 본 발명의 일례는,An example of the present invention relating to a tag encoder for a printed page is

태그 구조 템플릿(tag structure template)을 수신하는 입력수단과;Input means for receiving a tag structure template;

고정 데이터 비트(fixed data bit)를 수신하는 입력수단과;Input means for receiving a fixed data bit;

가변 데이터 비트 레코드(variable data bit record)를 수신하는 입력수단; 및Input means for receiving a variable data bit record; And

상기 태그 구조 템플릿 및 상기 고정 및 가변 데이터에 의하여 정의되는 태그에서의 위치(position)에 따른 단일 비트(single bit)를 출력하는 태그 도트 생성기(tag dot generator)를 포함한다.And a tag dot generator for outputting a single bit according to a position in a tag defined by the tag structure template and the fixed and variable data.

본 태그 인코더를 포함하는 프린트 엔진/제어기는 바람직하게는 압축된 페이지 데이터(compressed page data)를 수신하기 위한 고속 직렬 인터페이스(high speed serial interface)를 이용한다. 페이지 데이터는 JPEG 디코더(JPEG decoder)로 복호화되는 연속톤 이미지 면(contone image plane)을 포함할 수 있으며, 이들은 마진 유닛(margin unit)의 제어 하에서 하프토너/합성기(halftoner/compositor)에서 스케일(scale)될 수 있다. 2-레벨 이미지 면(bi-level image plane)은 그룹 4 팩시밀리 디코더(Group 4 facsimile decoder)에 의하여 복호화될 수 있으며, 이 또한 마진 유닛의 제어 하에서 하프토너/합성기에서 스케일될 수 있다. 바람직하게는 프린트 엔진/제어기에 있는 적외선 태그 인코더가 이미지 면의 처리에 맞추어 적외선 데이터를 줄마다 생성하여 인쇄 페이지에 적외선 잉크로 태그를 인쇄하도록 한다.The print engine / controller including the present tag encoder preferably utilizes a high speed serial interface for receiving compressed page data. The page data may comprise a contone image plane which is decoded with a JPEG decoder, which scales in a halftoner / compositor under the control of a margin unit. Can be The bi-level image plane can be decoded by a Group 4 facsimile decoder, which can also be scaled in the halftoner / synthesizer under the control of the margin unit. Preferably, the infrared tag encoder in the print engine / controller generates infrared data line by line in accordance with the processing of the image plane to print the tag with infrared ink on the print page.

태그 인코더의 목적은 나중에 소정의 펜이나 이와 유사한 장치에 의하여 읽힐 수 있는 태그를 인쇄 페이지에 위치시키는 것이다. 각각의 태그는 (태그가 임의의 형상의 표면 상에 인쇄될 수도 있으나) 데이터의 2차원 패키지(2D package of data)로 기록되고, 나중에 독출될 수 있다. 전형적으로는, 페이지에 기록되는 패키지 안에는 어떤 데이터가 저장되어 있을 수 있으나, 때로는 단순히 데이터 패키지의 존재(태그) 자체가 정보가 될 수도 있다. 바람직하게는 태그 인코더에 의하여 다수의 이들 데이터 패킷을 페이지 전체에 걸쳐서 기록할 수 있다. 이들 패킷이 생성될 때 크기, 구조 및 데이터가 내부에 저장되는 방법이 제어된다. 태그 인코더 및 태그 포맷 구조(Tag Format Structure)(아래에 설명함)가 이들을 제어한다.The purpose of a tag encoder is to place a tag on a printed page that can later be read by a pen or similar device. Each tag is written into a 2D package of data (although the tag may be printed on a surface of any shape) and can be read out later. Typically, some data may be stored in a package written to a page, but sometimes the existence (tag) of the data package itself may be information. Preferably, the tag encoder can write a large number of these data packets throughout the page. When these packets are generated, the size, structure and how the data is stored therein is controlled. The tag encoder and Tag Format Structure (described below) control them.

태그 포맷 구조는 주어진 하나의 태그에 대하여 어떤 도트(dot)들이 물리적인 인쇄 태그 구조의 일부로서 인쇄될 것인지, 어떤 도트들이 데이터로부터 도출될 것인지를 태그 설계자가 특정할 수 있도록 한다. 태그의 데이터 부분은 가변 부분 및 고정 부분(variable and fixed portions)으로 나뉜다. 고정 부분은 페이지 상의 각각의 태그에 대해 모두 동일한 데이터인 반면, 가변 부분은 각각의 태그마다 특정된다. 한 가지 제한되는 경우는, 모든 데이터를 가변적이도록 하지만 데이터를 효율적으로 고정시키면서 우연히 동일한 값을 포함하게 되는 경우이다. 프린트 엔진/제어기(PEC)의 사용자가 항상 각각의 태그 모두에 데이터를 공급하도록 하는 대신에, 우리는 각각의 태그가 고정 데이터를 가지는 가능성을 허용한다. 정확히 어떠한 데이터가 태그에 포함될 것인지는 전적으로 애플리케이션에 특유하다. 하나의 페이지는 가변 데이터로서 태그의 X/Y 좌표 및 고정 데이터 요소로서 페이지 ID를포함하는 태그를 가질 수 있다. 페이지 대화형 펜(page interactive pen)(또는 이와 동등한 것)은 계속해서 이들 좌표계를 태그로부터 독출하고, 페이지 상의 위치에 따른 동작을 수행할 수 있다. 다른 페이지는 페이지 전체에 걸쳐서 고정 데이터를 가짐으로써 펜이 페이지의 어느 부분을 클릭하더라도 동일한 데이터가 리턴되도록 할 수 있다. 또다른 페이지는 단순한 태그의 존재 자체로서 충분한 워터마크(watermark) 형태의 거대한 태그를 페이지 상에 가질 수도 있다. 고정 데이터 및 가변 데이터는 독출하는 애플리케이션이 태그를 읽을 수 있고 데이터가 유용하다고 해석할 수 있는 한도에서 어떠한 것이라도 될 수 있다.The tag format structure allows a tag designer to specify which dots will be printed as part of the physical print tag structure and which dots will be derived from the data for a given tag. The data portion of the tag is divided into variable and fixed portions. The fixed portion is all the same data for each tag on the page, while the variable portion is specific for each tag. One limitation is when all data is made variable but by accidental inclusion of the same value while efficiently fixing the data. Instead of having the user of the print engine / controller (PEC) always supply data for each and every tag, we allow the possibility that each tag has fixed data. Exactly what data is included in the tags is entirely application specific. One page may have a tag that includes the X / Y coordinates of the tag as variable data and the page ID as a fixed data element. The page interactive pen (or equivalent) may continue to read these coordinate systems from the tags and perform actions based on their location on the page. The other page has fixed data throughout the page so that the same data is returned no matter where the pen clicks on the page. Another page may have a huge tag on the page in the form of a watermark sufficient for the existence of a simple tag itself. Fixed data and variable data can be anything to the extent that the reading application can read the tag and interpret the data as useful.

태그의 구조는 상이한 애플리케이션이 그 데이터를 유지할 수 있는 적절한 구조를 생성할 수 있도록 사용자가 정의할 수 있다. 이상적으로는 (펜에 있는) 위치 추적 소프트웨어(locating software)가 태그를 검출하는 것을 돕는 구조(structure) 및 데이터 비트가 적절히 추출될 수 있도록 해주는 소정의 방향 특징(orientation feature)을 태그가 가질 수 있다. 끝으로, 태그에 포함되는 데이터는 독출 장치(펜)가 먼지, 때, 오물, 독출 잡음(reading noise) 등으로 인한 오류를 보정할 수 있도록 중복적으로 부호화되어야 한다.The structure of the tags can be defined by the user so that different applications can create appropriate structures to hold their data. Ideally, a tag may have a structure that helps the locating software (in the pen) detect the tag and some orientation feature that allows the data bits to be properly extracted. . Finally, the data included in the tag should be redundantly encoded so that the reading device (pen) can correct errors due to dust, dirt, dirt, reading noise, and the like.

태그는 우수한 형상의 태그 구조를 가능케 하기 위하여 1600dpi의 형태로 정의된다. 그러나, 현재는 각각의 데이터 도트가 단일 인쇄 도트에 의하여 표현되는 페이지 상에 데이터 도트를 인쇄하는 것이 유용하지 않다. 독출 환경에 개재되는 오류는 매우 극심할 수 있다. 1600dpi 도트를 획득할 수 있도록 하려면 펜에 적어도 3200dpi 스캐너가 필요하다. 결과적으로 태그 설계자는 전형적으로 단일 데이터도트를 표현하기 위하여 페이지 상에 다수의 인쇄 도트를 밀집시킬 것이다. 이러한 밀집된 인쇄 도트(cluster of printed dots)는 단일 논리 도트(single logical dot)를 표현하고, 도트 검출 및 독출 장치 내의 복호화 알고리즘을 용이하게 하기 위하여 밀집되므로 매크로도트(macrodot)로 일컬어진다. 태그 포맷 구조가 태그 안의 어떠한 출력 도트도 어떠한 데이터 비트로부터 유래하도록 하므로, 매크로 도트의 크기 및 형상은 전적으로 임의적이다. 태그 설계자는 펜의 독출 성능 및 광학 성능에 따라 매크로 도트를 설계할 수 있다.The tag is defined in the form of 1600 dpi to enable the tag structure of good shape. However, at present it is not useful to print data dots on a page where each data dot is represented by a single printing dot. Errors in the reading environment can be very severe. To get 1600 dpi dots, the pen requires at least 3200 dpi scanner. As a result, tag designers will typically cluster multiple printed dots on a page to represent a single datadot. Such clustered printed dots are referred to as macrodots because they are dense to represent a single logical dot and to facilitate the decoding algorithm in the dot detection and reading device. Since the tag format structure allows any output dot in a tag to come from any data bit, the size and shape of the macro dot is entirely arbitrary. Tag designers can design macro dots based on the read and optical performance of the pen.

태그 인코더는 이상적으로는 태그를 세로로도 가로로도 인쇄할 수 있어야 한다. 내부적으로 태그 인코더에 의하여 회전하는 단일 태그 포맷 구조는 이를 수행하는 한 방편이지만, 우리의 태그 인코더에서는 직접 회전을 시키는 번거로움을 덜기 위하여 미리 회전된(pre-rotated) 태그 포맷 구조를 태그 인코더가 단순히 독출하기만 하도록 한다.The tag encoder should ideally be able to print tags vertically or horizontally. The single tag format structure that is internally rotated by the tag encoder is one way to do this, but in our tag encoder, the tag encoder simply uses a pre-rotated tag format structure to save the hassle of rotating it directly. Just read it.

끝으로, 페이지 상에 태그를 배치함에 있어서, 태그를 삼각형 격자에 배치하는 것이 사각형 격자보다 잉크의 사용 면에서 더 낫다. 또한, 우리의 특정 태그 인코더가 단지 사각 평면에만 관련되지만, 삼각형 격자는 또한 임의의 곡선적인 평면 상에 태그를 배치하기도 용이하다. 따라서, 동일한 태그 대화형 펜이 상이한 표면 상에 인쇄된 태그를 읽을 수 있다.Finally, in placing tags on a page, placing the tags in a triangular grid is better in terms of use of ink than a square grid. Furthermore, while our particular tag encoder is only related to the rectangular plane, the triangular grid is also easy to place the tag on any curved plane. Thus, the same tag interactive pen can read tags printed on different surfaces.

K와 같은 다른 잉크가 제한된 환경에서 태그를 위하여 사용될 수 있으나, 태그 인코더는 전형적으로 프린트 헤드에 IR 잉크의 존재를 필요로 한다.Other inks, such as K, can be used for tags in limited environments, but tag encoders typically require the presence of IR ink in the print head.

태그 인코더는 다른 이미지 플레인이 수행되는 것에 보조를 맞추는 속도로태그를 생성하는 역할을 한다. 태그 인코더는 태그의 고정 및 가변 요소를 미리 정의된 태그 포맷으로 도트 단위로 생성하여 이미지 플레인이 합성될 때 이들을 행 단위로 합성기로 공급한다. 태그 인코더는 페이지가 인쇄될 때 고정 데이터를 특정 가변 태그 데이터값과 함께 오류 보정 가능한(error-correctable) 부호화된 태그로 부호화할 수 있고, 오류 보정 가능한 부호화된 태그는 계속해서 주로 적외선으로, 때때로는 검정 잉크로 페이지 상에 인쇄될 수 있다. 태그 인코더는 이상적으로는 규칙적으로 페이지 상에 태그를 배치하며, 보다 이상적으로는 삼각형 격자 상에 태그를 배치한다. 당업자라면 삼각형 격자 이외의 다른 태그 배열이 이용될 수도 있음을 알 수 있을 것이다. 태그 인코더는 가로 및 세로 방향을 모두 지원한다. 기본적인 태그 구조는 태그 데이터가 임의 형상의 (최소한 1600dpi에서 1도트의 크기를 가지는) 매크로 도트를 가지도록 1600dpi로 표현된다. 출력 도트 흐름은 특정 프린터에 부합하도록 설정된 출력 명령 모음(output order set)으로서 생성될 수 있으며, 당업자라면 다른 방식도 안출될 수 있음을 예측할 수 있을 것이다. 나아가, 당업자라면 눈으로는 보이지 않으나 특정 센서에 의하여 감지할 수 있는 적외선 잉크를 사용하는 것의 장점을 예견할 수 있을 것이며, 때때로 다른 잉크도 이용될 수 있음을 알 수 있을 것이다.The tag encoder is responsible for generating tags at a rate that keeps pace with what other image planes are doing. The tag encoder generates the fixed and variable elements of the tags in dots in a predefined tag format and feeds them into the synthesizer row by row when the image planes are synthesized. The tag encoder can encode fixed data into error-correctable coded tags along with specific variable tag data values when the page is printed, and error-corrected coded tags continue to be primarily infrared, sometimes Can be printed on pages with black ink. The tag encoder ideally places the tag on the page on a regular basis, and more ideally places the tag on a triangular grid. Those skilled in the art will appreciate that other tag arrangements other than triangular grids may be used. The tag encoder supports both landscape and portrait orientations. The basic tag structure is represented at 1600 dpi so that the tag data has macro dots of arbitrary shape (at least 1600 dpi at 1 dot in size). The output dot flow can be generated as an output order set set up for a particular printer, and one of ordinary skill in the art would be able to anticipate that other approaches may be made. Furthermore, one of ordinary skill in the art will be able to anticipate the advantages of using infrared ink that is invisible but detectable by a particular sensor, and that other inks may be used from time to time.

프린트 엔진/제어기(PEC)로 이미 부호화된 데이터 패키지를 전송하는 대신에, PEC가 중복 부호화를 수행하도록 함으로써 PEC로의 대역폭(bandwidth)을 절감할 수 있다. 리드-솔로몬 부호화(Reed-Solomon encoding)가 특별히 서술되나, 다른 인코더 또한 마찬가지로 사용될 수 있다. PEC는 바람직하게는 태그 데이터의 고정및 가변 부분 모두를 부호화한다.Instead of sending the data package already encoded to the print engine / controller (PEC), it is possible to reduce the bandwidth to the PEC by having the PEC perform redundant coding. Reed-Solomon encoding is specifically described, but other encoders may be used as well. The PEC preferably encodes both fixed and variable portions of tag data.

본 발명은 항상 오프(off) 상태인 도트, 항상 온(on) 상태인 도트 및 부호화된 데이터로부터 도출되는 도트를 포함하는 포괄적인 데이터 패키지를 제공하는 템플릿(template)을 정의한다. 이것은 다양한 크기의 매크로 도트, 배치를 돕기 위한 큰 오브젝트 등을 포함하는 데이터 패키지 정의의 범위의 확장을 허용한다. 태그 구조는 관련된 D램에 저장될 수 있으며, 그 구현은 모든 포함되는 칩의 제조를 수반하지는 않는다. 사소한 확장으로는 태그 구조를 외부 D램 대신 온칩(on-chip)으로 가지는 것이다.The present invention defines a template that provides a comprehensive data package that includes a dot that is always off, a dot that is always on, and a dot derived from encoded data. This allows for an extension of the scope of the data package definition, including macro dots of various sizes, large objects to aid in placement, and the like. The tag structure can be stored in the associated DRAM, and its implementation does not involve the manufacture of all included chips. A minor extension would be to have the tag structure on-chip instead of external DRAM.

참고 : 멤젯(상표)은 오스트레일리아 실버브룩 리서치 프로프라이어터리 리미티드(Silverbrook Research Pty Ltd, Australia)의 등록상표이다.Note: Memjet is a registered trademark of Silverbrook Research Pty Ltd, Australia.

바람직한 실시예에서, 본 발명은 넷페이지 네트워크 컴퓨터 시스템에서 동작하도록 구성되며, 상세한 개관은 다음과 같다. 모든 구현이 반드시 기본적인 시스템과 관련하여 아래에 논의되는 특정 상세 및 확장의 전부 또는 대부분을 포함하는 것은 아님을 인식할 수 있다. 그러나, 본 시스템은 본 발명의 바람직한 실시예 및 양상이 동작하는 맥락을 이해하는 경우에 외부적인 문헌 참조의 필요를 배제하기 위하여 가장 완전한 형태로 기술된다.In a preferred embodiment, the present invention is configured to operate in a netpage network computer system, with a detailed overview as follows. It will be appreciated that not all implementations necessarily include all or most of the specific details and extensions discussed below in connection with the underlying system. However, the system is described in its most complete form to exclude the need for an external literature reference when understanding the context in which preferred embodiments and aspects of the invention operate.

간단히 요약하면, 넷페이지 시스템의 바람직한 형태는 사상된 표면(mapped surface), 즉 컴퓨터 시스템 내에서 유지되는 표면의 맵에 대한 참조를 포함하는 물리적인 표면의 형태로 컴퓨터 인터페이스를 이용한다. 맵 레퍼런스(map reference)는 적절한 감지 장치에 의하여 조회된다. 특정 구현에 따라, 맵 레퍼런스는 가시적으로 또는 비가시적으로 부호화될 수 있고, 사상된 표면 상의 국부적인 조회에 대하여 그 맵 중 및 상이한 맵 중 모두에서 명백한 맵 레퍼런스를 제시하는 식으로 정의될 수 있다. 컴퓨터 시스템은 사상된 표면 상의 특징에 관한 정보를 포함할 수 있고, 그러한 정보는 사상된 표면에서 이용되는 감지 장치에 의하여 공급되는 맵 레퍼런스에 근거하여 검색될 수 있다. 따라서 그 검색된 정보는 표면 특징에 대한 운영자의 상호작용에 응답하여 운영자를 대신하여 컴퓨터 시스템에 의하여 개시되는 작동의 형태를 취할 수 있다.In summary, the preferred form of a netpage system utilizes a computer interface in the form of a mapped surface, ie a physical surface that contains a reference to a map of the surface maintained within the computer system. The map reference is queried by an appropriate sensing device. Depending on the particular implementation, the map reference may be encoded either visually or invisibly, and may be defined in such a way that it presents a clear map reference in both of that map and in different maps for local lookup on the mapped surface. The computer system may include information regarding features on the mapped surface, such information may be retrieved based on a map reference supplied by the sensing device used at the mapped surface. The retrieved information can thus take the form of operations initiated by a computer system on behalf of the operator in response to the operator's interaction with the surface features.

바람직한 실시예에서, 넷페이지 시스템은 넷페이지들의 생성 및 이들에 대한 인간의 상호작용에 의존한다. 넷페이지들은 일반적인 종이 위에 인쇄된 텍스트, 그래픽 및 이미지의 페이지이지만, 대화형 웹페이지처럼 작용한다. 정보는 각각의 페이지에 본질적으로 인간의 맨눈에는 보이지 않는 잉크를 이용하여 부호화된다. 그러나 그 잉크 및 이에 따른 부호화된 데이터는 광학적으로 상을 비추는 펜(optically imaging pen)에 의하여 감지되어 넷페이지 시스템으로 전송될 수 있다.In a preferred embodiment, the netpage system relies on the generation of netpages and human interaction with them. Netpages are pages of text, graphics, and images printed on ordinary paper, but act like interactive webpages. The information is encoded on each page using ink that is essentially invisible to the human eye. However, the ink and thus encoded data can be sensed by an optically imaging pen and transmitted to the netpage system.

바람직한 실시예에서, 각각의 페이지 상의 활성 버튼 및 하이퍼링크는 네트워크로부터 정보를 요청하거나 네트워크 서버에 선호도를 신호하기 위하여 펜으로써 클릭될 수 있다. 일례에 있어서, 넷페이지 상에 손으로 쓰여진 텍스트는 자동적으로 넷페이지 시스템에서 인식되어 서식에 기입할 수 있는 컴퓨터 텍스트로 변환된다. 다른 실시예에 있어서, 넷페이지 상에 기록된 서명은 자동적으로 검증되어 전자 상거래의 거래행위가 안전하게 허가될 수 있도록 한다.In a preferred embodiment, the active button and hyperlink on each page can be clicked with the pen to request information from the network or to signal a preference to the network server. In one example, text written by hand on a netpage is automatically converted into computer text that can be recognized by the netpage system and entered into a form. In another embodiment, the signature recorded on the netpage is automatically verified to allow secure transaction of electronic commerce transactions.

도 1에 나타낸 바와 같이, 인쇄된 넷페이지(1)는 사용자에 의하여 인쇄 페이지 상에 물리적으로 기입되고 펜과 넷페이지 시스템 간의 소통에 의하여 "전자적으로" 기입될 수 있는 대화형 서식을 표현할 수 있다. 예시는 성명 및 주소 란 및 제출 버튼을 포함하는 "신청" 서식을 표현한다. 넷페이지는 가시적인 잉크를 이용하여 인쇄된 그래픽 데이터(2) 및 비가시적인 잉크를 이용하여 태그(4)의 집합으로서 인쇄된 부호화된 데이터(3)로 이루어진다. 넷페이지 네트워크 상에 저장된 대응하는 페이지 명세(5)는 그 넷페이지의 각각의 요소를 설명한다. 특히 이는 각각의 대화형 요소(즉, 예시에 있어서의 택스트 란 또는 버튼)의 형식과 공간적 범위(영역)를 설명하여, 넷페이지 시스템이 넷페이지를 통한 입력을 올바르게 해석할 수 있도록 한다. 제출 버튼(6)은, 예를 들어, 대응하는 그래픽(8)의 공간적 범위에 대응하는 영역(7)을 가진다.As shown in FIG. 1, the printed netpage 1 may represent an interactive format that may be physically written on the printed page by the user and may be “electronically” filled by communication between the pen and the netpage system. . The example represents a "application" form that includes a name and address line and a submit button. The netpage consists of graphic data 2 printed using visible ink and encoded data 3 printed as a set of tags 4 using invisible ink. The corresponding page specification 5 stored on the netpage network describes each element of that netpage. In particular, it describes the format and spatial range (area) of each interactive element (ie text box or button in the example), allowing the netpage system to correctly interpret input through the netpage. The submit button 6 has, for example, an area 7 corresponding to the spatial extent of the corresponding graphic 8.

도 2에 나타낸 바와 같이, 넷페이지 펜(101)(도 8 및 도 9에서 바람직한 실시예를 나타내고, 아래에서 더욱 상세하게 기술함)은 넷페이지 프린터(601), 인터넷에 접속된 가정용, 사무용 또는 이동용 인쇄 장치와 함께 작동한다. 펜은 무선으로서, 근거리 무선 연결(short-range radio link)(9)을 통하여 넷페이지 프린터와 안전하게 통신한다.As shown in Fig. 2, the Netpage pen 101 (shown in the preferred embodiment in Figs. 8 and 9, described in more detail below) is a netpage printer 601, for home, office or Works with mobile printing devices. The pen is wireless and securely communicates with a Netpage printer via a short-range radio link 9.

넷페이지 프린터(601)(도 11 내지 도 13에서 바람직한 실시예를 나타내고 아래에서 더욱 상세하게 기술함)는 주기적으로 또는 명령에 따라 대화형 넷페이지로서 고품질로 인쇄된, 개인화된 신문, 잡지, 카탈로그, 브로셔 및 기타 출판물을 배달할 수 있다. 개인용 컴퓨터와 달리, 넷페이지 프린터는 예를 들어, 아침 뉴스가 제일 먼저 소비되는 사용자의 부엌, 아침 식탁 근처, 또는 세대가 하루를 시작하는 지점의 근처에 벽면 부착형으로 부착될 수 있는 장치이다. 또한, 탁상용(tabletop), 데스크톱(desktop), 이동용(portable) 및 축소형(miniature) 버전도 가능하다.The netpage printer 601 (shown in the preferred embodiment in FIGS. 11-13 and described in more detail below) is a personalized newspaper, magazine, catalog, printed in high quality as an interactive netpage periodically or on command. Deliver brochures, brochures and other publications. Unlike personal computers, netpage printers are devices that can be wall-mounted, for example, near the kitchen of the user, where breakfast news is first consumed, near the breakfast table, or near the point where the generation begins the day. Tabletop, desktop, portable and miniature versions are also available.

소비의 지점에서 인쇄되는 넷페이지는 사용이 용이한(ease-of-use) 종이를 대화형 매체의 적시성(timeliness) 및 상호작용성(interactivity)과 결합시킨다.Netpages printed at the point of consumption combine the ease-of-use paper with the timeliness and interactivity of interactive media.

도 2에 나타낸 바와 같이, 넷페이지 펜(101)은 인쇄된 넷페이지(1) 상의 부호화된 데이터와 상호작용하고, 그 상호작용을 근거리 무선 연결(9)을 통하여 넷페이지 프린터와 통신한다. 프린터(601)는 해석을 위한 관련 넷페이지 페이지 서버(10)로 상호작용을 보낸다. 적절한 환경에서, 페이지 서버는 대응하는 메시지를 넷페이지 애플리케이션 서버(13) 상에서 구동되고 있는 컴퓨터 응용프로그램으로 전송한다. 애플리케이션 서버는 이에 대하여 프린터 상에 인쇄될 응답을 전송할 수 있다.As shown in FIG. 2, the netpage pen 101 interacts with the encoded data on the printed netpage 1 and communicates the interaction with the netpage printer via a short range wireless connection 9. The printer 601 sends the interaction to the relevant netpage page server 10 for interpretation. In the proper environment, the page server sends the corresponding message to the computer application running on the netpage application server 13. The application server can then send a response to be printed on the printer.

넷페이지 시스템은 고속 초소형 전기기계 시스템(mircroelectromechanical system)(MEMS) 기반의 잉크젯(멤젯(상표)) 프린터와 함께 이용됨으로써 본 바람직한 실시예에서 더욱 편리해진다. 본 기술의 바람직한 실시예에서, 상대적으로 고속 및 고품격인 인쇄가 소비자들에게 제공될 수 있다. 바람직한 실시예에서, 넷페이지 출판은 용이한 운송 및 편안한 취급을 위하여 제본된, 천연색으로 양면 인쇄된 한 벌의 레터 크기 광택 페이지와 같은 전통적인 뉴스잡지의 물리적인 특성을 가진다.The netpage system is made more convenient in the present preferred embodiment by being used with a high speed microelectromechanical system (MEMS) based inkjet (MetJet) printer. In a preferred embodiment of the present technology, relatively high speed and high quality printing can be provided to consumers. In a preferred embodiment, the netpage publication has the physical characteristics of a traditional news magazine, such as a pair of letter-size glossy pages printed in two-sided, colored, for easy transportation and comfortable handling.

넷페이지 프린터는 점증하는 광대역 인터넷 접속 가능성을 이용한다. 케이블 서비스는 미국의 95%의 가정에서 이용 가능하며, 광대역 인터넷 접속을 제공하는 케이블 모뎀 서비스는 그 중에서 20%가 이미 이용 가능하다. 넷페이지 프린터는 더욱 저속의 접속에서도 동작할 수 있지만, 배달 시간이 길어지고 이미지의 품질도 낮아진다. 사실상, 넷페이지 시스템은 기존의 가정용 잉크젯 및 레이저 프린터를사용하는 것도 가능하지만, 시스템이 더욱 느리게 동작하고, 따라서 수요자의 관점에서 덜 흡족하게 된다. 다른 실시예에서, 넷페이지 시스템은 사설 인트라넷(private intranet)상에서 운용된다. 또다른 실시예에서, 넷페이지 시스템은 단일 컴퓨터 또는 컴퓨터에 의하여 활성화되는 장치 상에서, 가령 프린터 상에서 운용된다.Netpage printers take advantage of increasing broadband Internet access possibilities. Cable service is available in 95% of homes in the United States, and 20% of cable modem services that provide broadband Internet access are already available. Netpage printers can operate on slower connections, but they also take longer delivery times and lower image quality. In fact, the Netpage system is also capable of using existing home inkjet and laser printers, but the system runs slower and therefore less satisfactory from the consumer's point of view. In another embodiment, the netpage system is operated on a private intranet. In another embodiment, the Netpage system is run on a single computer or on a device activated by a computer, such as on a printer.

넷페이지 네트워크 상의 넷페이지 출판 서버(14)는 인쇄 품질의 출판물(print-quality publication)을 넷페이지 프린터로 전송하도록 구성된다. 주기적인 출판물이 자동적으로 포인트캐스팅(pointcating) 및 멀티캐스팅 (multicasting) 인터넷 프로토콜을 경유하여 구독자 넷페이지 프린터로 전송된다. 개인화된 출판물은 각각의 사용자 프로필에 따라 여과되고(filtered) 포맷팅(formatted)된다.The netpage publishing server 14 on the netpage network is configured to send print-quality publications to a netpage printer. Periodic publications are automatically sent to subscriber netpage printers via pointcasting and multicasting Internet protocols. Personalized publications are filtered and formatted according to each user profile.

넷페이지 프린터는 몇 개의 펜이라도 지원할 수 있도록 구성되며, 펜은 몇 개의 넷페이지 프린터와도 함께 동작할 수 있다. 바람직한 실시예에서, 각각의 넷페이지 펜은 고유 ID(unique identifier)를 가진다. 하나의 가정은 각각 식구마다에 지정된 한 벌의 착색된 넷페이지 펜을 가질 수 있다. 이에 따라 각각의 사용자는 넷페이지 출판 서버 또는 애플리케이션 서버에 관하여 서로 구별되는 프로필(profile)을 가지게 된다.The netpage printer is configured to support any number of pens, and the pen can work with any number of netpage printers. In a preferred embodiment, each netpage pen has a unique identifier. One household may have a set of colored Netpage pens each assigned to a family. This results in each user having a distinct profile with respect to the netpage publishing server or application server.

넷페이지 펜은 또한 넷페이지 등록 서버(netpage registration server)(11)에 등록되고, 하나 또는 그 이상의 지불 카드 계정(payment card account에 연결될 수 있다. 이에 따라 넷페이지 펜을 이용하여 전자 상거래 지불이 안전하게 허가될수 있게 된다. 넷페이지 등록 서버는 넷페이지 펜에 의하여 획득된 서명을 이미 등록된 서명과 비교하여 사용자의 신원을 전자상거래 서버에 증명한다. 다른 생체 정보 또한 신원을 검증하는 데에 이용될 수 있다. 넷페이지 펜의 한 변형례는 넷페이지 등록 서버에 의하여 마찬가지 방법으로 검증되는 지문 스캐닝을 포함한다.The Netpage pen can also be registered with a netpage registration server 11 and linked to one or more payment card accounts, thereby ensuring that e-commerce payments are secured using the Netpage pen. The Netpage registration server verifies the identity of the user to the e-commerce server by comparing the signature obtained by the Netpage pen with the signature already registered, and other biometric information can also be used to verify the identity. One variation of the Netpage pen includes fingerprint scanning, which is validated in the same way by the Netpage registration server.

넷페이지 프린터가 아침 신문과 같은 정기 간행물을 사용자의 개입 없이 배달할 수 있지만, 넷페이지 프린터는 요구받지 않은 정크 메일(junk mail)을 배달하지 않도록 구성될 수 있다. 바람직한 실시예에서, 넷페이지 프린터는 구독신청되거나 또는 구독신청되지 않았더라도 인증된 출처(source)로부터의 정기간행물만을 배달받는다. 이러한 관점에서, 넷페이지 프린터는 전화번호 또는 전자우편 주소를 알고 있는 정크 메일러(junk mailer)에게 노출되는 팩시밀리 또는 전자우편 계정과는 다르다.While netpage printers can deliver periodicals, such as morning newspapers, without user intervention, netpage printers can be configured not to deliver unsolicited junk mail. In a preferred embodiment, the netpage printer receives only periodicals from an authenticated source, whether subscribed or unsubscribed. In this regard, a netpage printer is different from a fax or e-mail account that is exposed to a junk mailer who knows a phone number or e-mail address.

1. 넷페이지 시스템 체계(NETPAGE SYSTEM ARCHITECTURE)1. NETPAGE SYSTEM ARCHITECTURE

시스템의 각각의 오브젝트 모델(object model)은 통합 모델링 언어 (Unified Modeling Language)(UML) 클래스도(class diagram)를 이용하여 기술된다. 클래스도는 관계(relationship)에 의하여 연결되는 한 벌의 오브젝트 클래스로 구성되며, 여기에서 관심의 대상이 되는 두 가지 관계는 결합(association) 및 일반화(generalization)이다. 결합(association)은 오브젝트, 즉 클래스의 인스턴스 간의 일종의 관계를 표현한다. 일반화(generalization)는 실제의 클래스를 관련시키며, 다음과 같은 방법으로 이해될 수 있다 - 만일 어떤 클래스가 그 클래스의 모든 오브젝트의 집합이고, 클래스 A는 클래스 B의 일반화이면, B는 간단히 말해서A의 서브셋(subset)인 것이 된다. UML은 2차 모델링(second-order modelling), 즉 클래스의 클래스를 직접 지원하지는 않는다.Each object model of the system is described using a Unified Modeling Language (UML) class diagram. Class diagrams consist of a set of object classes connected by a relationship, where the two relationships of interest are association and generalization. Associations represent a kind of relationship between objects, that is, instances of a class. Generalization relates to a real class and can be understood in the following way-if a class is a collection of all objects of that class, and class A is a generalization of class B, then B is simply It is a subset. UML does not directly support second-order modeling, that is, classes of classes.

각각의 클래스는 그 클래스의 명칭이 표시된 사각형으로 표현된다. 클래스도는 명칭과는 가로선(horizontal line)으로 분리되는, 클래스의 속성(attribute) 목록 및, 속성 목록과 가로선으로 분리되는, 그 클래스의 연산(operation) 목록을 포함한다. 그러나, 아래의 클래스도에서는 연산은 모델링되지 않는다.Each class is represented by a rectangle with the name of the class. The class diagram includes an attribute list of the class, separated by a horizontal line from the name, and an operation list of the class, separated by the attribute list and the horizontal line. However, operations are not modeled in the class diagram below.

결합은 두 클래스를 연결하는 선으로서 그려지며, 선택적으로 결합의 다중성(multiplicity)이 양단에 표시된다. 기본 다중성은 1이다. 별표(*)는 "많음(many)"의 다중성, 즉 0 또는 이보다 큰 것을 가리킨다. 각각의 결합은 그 명칭이 선택적으로 표시될 수 있으며, 또한 선택적으로 관련되는 클래스의 역할(role)이 양단에 표시될 수 있다. 열린 다이아몬드(open diamond)는 집합 결합(aggregation association)("-의 부분이다")을 가리키며, 결합 선(association line)의 집합 말단(aggregator end)에 도시된다.A union is drawn as a line connecting two classes, optionally with the multiplicity of the combinations at both ends. The default multiplicity is one. An asterisk (*) indicates "many" multiplicity, that is, zero or greater. Each association may optionally be indicated by its name, and the role of the class to which it is optionally associated may also be indicated at both ends. Open diamond refers to an aggregation association ("part of-") and is shown at the aggregation end of an association line.

일반화 관계(generalization relationship)("-는 -이다")는 두 클래스를 연결하는 실선(solid line)으로 표현되며, (열린 삼각형 모양의) 삼각형이 일반화 말단(generalization end)에 도시된다.A generalization relationship ("-is-") is represented by a solid line connecting the two classes, with a triangle (open triangle shape) shown at the generalization end.

클래스도가 복수의 도면으로 분해되면, 클래스는 그것을 정의하는 주 도면(main diagram)을 제외하고는 점선으로 표현된다. 클래스는 그것이 정의된 곳에서만 속성과 함께 표현된다.When a class diagram is decomposed into a plurality of figures, the class is represented by a dotted line except for the main diagram that defines it. A class is only represented with properties where it is defined.

1.1 넷페이지(NETPAGES)1.1 NETPAGES

넷페이지는 넷페이지 네트워크가 구축되는 기초(foundation)이다. 넷페이지는 종이 기반의 사용자 인터페이스를 출판된 정보 및 대화형 서비스에 제공한다.Netpages are the foundation on which netpage networks are built. Netpages provide a paper-based user interface to published information and interactive services.

하나의 넷페이지는 그 페이지에 대한 온라인 명세에 관하여 비가시적으로 태그가 기록된 인쇄 페이지(또는 다른 표면 영역)를 포함하여 이루어진다. 온라인 페이지 명세(online page description)는 넷페이지 페이지 서버(netpage page server)에 의하여 지속적으로 유지된다. 페이지 명세는 텍스트, 그래픽 및 이미지를 포함하는 그 페이지의 가시적인 배치 및 내용을 기술한다. 페이지 명세는 또한 버튼, 하이퍼링크 및 입력 영역을 포함하는 그 페이지 상의 입력 요소(input element)를 기술한다. 넷페이지는 표면 상에서 넷페이지 펜에 의하여 표시(marking)되고, 동시에 표시가 획득되어(captured) 넷페이지 시스템에 의하여 처리되도록 한다.One netpage comprises a printed page (or other surface area) that is invisibly tagged with respect to the online specification for that page. The online page description is maintained continuously by the netpage page server. The page specification describes the visual layout and content of the page, including text, graphics, and images. The page specification also describes the input elements on that page, including buttons, hyperlinks, and input areas. Netpages are marked on the surface by a netpage pen, and at the same time, the marks are captured and processed by the netpage system.

복수의 넷페이지는 동일한 페이지 명세를 공유할 수 있다. 그러나, 비공유시 상이한 것으로 인식되었을 페이지들을 통하여 입력을 받는 경우에는, 각각의 넷페이지에 고유 페이지 ID(unique page identifier)가 지정된다. 이 페이지 ID(page ID)는 매우 많은 분량의 넷페이지를 구별하기에 충분한 정확도를 가진다.Multiple netpages can share the same page specification. However, in the case of receiving input through pages that would have been recognized as different during non-sharing, a unique page identifier is assigned to each net page. This page ID is accurate enough to distinguish a very large amount of netpages.

페이지 명세에 관한 각각의 참조 사항은 인쇄된 태그에 부호화된다. 태그는 태그가 나타내어진 고유한 페이지(unique page)를 식별하고, 간접적으로 그 페이지 명세를 식별한다. 태그는 또한 페이지 상에서 자기 자신의 위치를 식별한다. 태그의 특성(characteristics)은 아래에서 더욱 상세히 기술된다.Each reference to the page specification is encoded in a printed tag. The tag identifies the unique page where the tag is represented and indirectly identifies the page specification. The tag also identifies its own location on the page. The characteristics of the tags are described in more detail below.

태그는 일반적인 종이와 같은 적외선 반사성의(infrared-reflective) 층에적외선 흡수성의(infrared-absorptive) 잉크로 인쇄된다. 거의 적외선에 가까운(near-infrared) 파장은 육안으로는 보이지 않지만 적절한 필터를 가지는 고체 촬상 센서(solid-state image sensor)에 의해서는 용이하게 감지될 수 있다.The tag is printed with infrared-absorptive ink on an infrared-reflective layer, such as conventional paper. Near-infrared wavelengths are invisible to the naked eye but can be easily detected by solid-state image sensors with suitable filters.

태그는 넷페이지 펜의 영역 이미지 센서(area image sensor)에 의하여 감지되고, 태그 데이터는 가장 가까운 넷페이지 프린터를 경유하여 넷페이지 시스템으로 전송된다. 펜은 무선으로서 근거리 무선 연결(short-range radio link)을 통하여 넷페이지 프린터와 통신한다. 태그는 충분히 작고 조밀하게 배열되어 있으므로, 단 한번만 페이지를 클릭하더라도 펜이 적어도 하나의 태그를 안정적으로 감지할 수 있다. 상호작용은 상태가 없기 때문에(stateless), 펜이 페이지와의 상호작용시마다 페이지 ID 및 위치를 감지하는 것은 중요하다. 태그는 오류 보정 가능하게(error-correctably) 부호화되므로 부분적인 표면 손상에도 견딜 수 있다.The tag is detected by the area image sensor of the netpage pen, and the tag data is sent to the netpage system via the nearest netpage printer. The pen communicates with the netpage printer via a short-range radio link as wireless. The tags are small enough and tightly arranged so that the pen can reliably detect at least one tag even if the page is clicked only once. Since the interaction is stateless, it is important for the pen to detect the page ID and location whenever it interacts with the page. The tags are error-correctably coded to withstand partial surface damage.

넷페이지 페이지 서버는 각각의 인쇄된 넷페이지에 대하여 고유 페이지 인스턴스(unique page instance)를 유지함으로써, 각각의 인쇄된 넷페이지에 대하여 페이지 명세에서 사용자가 입력 영역에 공급한 일련의 구별되는 값을 유지할 수 있도록 한다.The netpage page server maintains a unique page instance for each printed netpage, thereby maintaining a set of distinct values supplied by the user to the input area in the page specification for each printed netpage. To be able.

페이지 명세, 페이지 인스턴스 및 인쇄된 넷페이지 간의 관계가 도 4에 나타나 있다. 페이지 인스턴스는 페이지 인스턴스를 인쇄하는 넷페이지 프린터 및, 알려져 있다면, 그것을 요청한 넷페이지 사용자에 모두 결합된다.The relationship between page specifications, page instances, and printed netpages is shown in FIG. The page instance is bound to both the netpage printer printing the page instance and, if known, the netpage user who requested it.

1.2 넷페이지 태그(NETPAGE TAGS)1.2 NETPAGE TAGS

1.2.1 태그 데이터 내용(TAG DATA CONTENT)1.2.1 TAG DATA CONTENT

바람직한 실시예에서, 각각의 태그는 그 태그가 위치하는 영역 및 그 영역 내에서의 그 태그의 위치를 식별한다. 태그는 그 영역 전체 또는 태그에 관련된 플래그를 포함할 수도 있다. 예를 들어, 태그의 즉각적인 영역에 관련된 작용을 나타내는 피드백을 제공하기 위하여 태그 감지 장치가 그 영역의 명세를 참조할 필요 없이 하나 또는 그 이상의 플래그 비트(flag bit)가 태그 감지 장치로 신호할 수 있다. 넷페이지 펜은, 예를 들어, 하이퍼링크의 영역에 있을 때에 "활성 영역" LED를 발광할 수 있다.In a preferred embodiment, each tag identifies the area where the tag is located and the location of the tag within that area. The tag may include a flag associated with the entire area or the tag. For example, one or more flag bits may signal to the tag sensing device without the tag sensing device having to refer to the specification of that region to provide feedback indicative of the action related to the immediate area of the tag. . The Netpage pen may, for example, emit an "active area" LED when in the area of the hyperlink.

아래에서 더욱 분명하게 설명될 것이다시피, 바람직한 실시예에서, 각각의 태그는 최초의 감지를 돕고, 표면 또는 감지 프로세스에 기인하는 뒤틀림(warp)의 영향을 최소화하는 것을 돕는, 인식이 용이한 불변 구조(easily recognized invariant structure)를 포함한다. 태그는 바람직하게는 페이지 전체를 뒤덮고, 충분히 작고 조밀하게 배열되어서, 펜이 페이지 상에 한 번의 클릭만을 하는 경우에도 최소한 하나의 태그를 신뢰성 있게 비출 수 있도록 한다. 상호작용은 상태가 없기 때문에(stateless), 펜이 페이지와의 상호작용시마다 페이지 ID 및 위치를 감지하는 것은 중요하다.As will be described more clearly below, in a preferred embodiment, each tag is an easy to recognize, invariant structure that aids in the initial sensing and helps to minimize the effects of warps due to the surface or sensing process. (easily recognized invariant structure). The tags preferably cover the entire page and are small enough and tightly arranged so that the pen reliably illuminates at least one tag even if the pen makes only one click on the page. Since the interaction is stateless, it is important for the pen to detect the page ID and location whenever it interacts with the page.

바람직한 실시예에서, 태그가 참조하는 영역은 페이지 전체와 일치하므로, 태그 안에 부호화되는 영역 ID(region ID)는 태그가 나타나는 페이지의 페이지 ID(page ID)와 같은 뜻이 된다. 다른 실시예에서, 태그가 참조하는 영역은 페이지 또는 다른 표면의 임의의 하위영역(subregion)이 될 수 있다. 예를 들어, 대화형 요소의 영역과 일치할 수 있는데, 이 경우 영역 ID는 직접적으로 대화형 요소를 식별할 수 있다.In a preferred embodiment, the region referred to by the tag matches the entire page, so that the region ID encoded in the tag is the same as the page ID of the page where the tag appears. In other embodiments, the region referenced by the tag can be any subregion of a page or other surface. For example, it can match an area of an interactive element, in which case the area ID can directly identify the interactive element.

[표 1] 태그 데이터[Table 1] Tag Data

영역domain 정밀도(비트)Precision (bits) 영역 IDZone ID 100100 태그 IDTag ID 1616 플래그flag 44 합계Sum 120120

각각의 태그는 120비트(bit)의 정보를 포함하며, 대개 표 1에 나타낸 바와 같이 할당된다. 1제곱인치당 최대 64개의 태그 밀도를 가정하면, 16비트 태그 ID는 1024제곱인치에 이르는 영역까지를 지원한다. 더 넓은 영역은 단순히 영역과 맵을 인접시키는 것만으로써 태그 ID의 정확성을 향상시킴 없이 연속적으로 사상될 수 있다. 100비트 영역 ID는 2100(~1030)개의 상이한 영역을 고유하게 식별할 수 있다.Each tag contains 120 bits of information, usually assigned as shown in Table 1. Assuming up to 64 tag densities per square inch, 16-bit tag IDs support up to 1024 square inches. A wider area can be mapped sequentially without simply improving the accuracy of the tag ID by simply adjoining the area and the map. The 100 bit region ID may uniquely identify 2 100 (˜10 30 ) different regions.

1.2.2 태그 데이터 부호화(Tag Data Encoding)1.2.2 Tag Data Encoding

120비트 태그 데이터는 (15,5) 리드-솔로몬 코드(Reed-Solomon code)를 이용하여 중복적으로 부호화될 수 있다. 이것은 각각 15개의 4비트 기호(symbol)를 가지는 6개의 코드워드(codeword)로 이루어지는 360개의 부호화된 비트를 산출한다. (15,5) 코드는 코드워드 당 5개까지의 보정되어야 할 기호 오류를 허용할 수 있다. 즉, 코드워드마다 33%까지의 기호 오류를 감당할 수 있는 것이다.120-bit tag data may be repeatedly encoded using a (15,5) Reed-Solomon code. This yields 360 encoded bits consisting of six codewords, each with fifteen 4-bit symbols. The (15,5) code can tolerate up to five symbolic errors to be corrected per codeword. That is, up to 33% symbol error can be tolerated for each codeword.

각각의 4비트 기호는 태그 안에서 공간적으로 연접하도록(spatially coherent way) 표현되며, 6개의 코드워드의 기호는 태그 안에서 공간적으로 구분되도록(spatially interleaved) 표현된다. 이것은 돌발적 오류(burst error)(공간적으로 인접한 복수의 비트에 영향을 미치는 오류)가 전체 기호 중 최소 개수만을 손상시키고, 어떠한 코드워드 안에서도 최소 개수의 기호만을 손상시키도록 하여, 돌발적 오류가 완벽히 보정될 수 있는 가능성을 최대화시키는 것을 보장한다.Each 4-bit symbol is represented spatially coherent way within the tag, and the symbols of the six codewords are represented spatially interleaved within the tag. This allows a burst error (an error affecting a plurality of spatially adjacent bits) to damage only the minimum number of symbols and to damage only the minimum number of symbols within any codeword, so that the error can be completely corrected. To ensure the maximum possible potential.

1.2.3 물리적 태그 구조(Physical Tag Structure)1.2.3 Physical Tag Structure

태그의 물리적인 표현은, 도 5에 나타낸 바와 같이, 고정 타겟 구조(fixed target structure)(15,16,17) 및 가변 데이터 영역(18)을 포함한다. 고정 타겟 구조는 넷페이지 펜과 같은 감지 장치가 태그를 감지하여 센서와의 관계에서 그 태그의 3차원적인 방향을 추론할 수 있도록 한다. 데이터 영역은 부호화된 태그 데이터의 각각의 비트의 표현을 포함한다.The physical representation of the tag, as shown in FIG. 5, includes a fixed target structure 15, 16, 17 and a variable data area 18. The fixed target structure allows a sensing device such as a Netpage pen to detect the tag and infer the three-dimensional orientation of the tag in relation to the sensor. The data area contains a representation of each bit of encoded tag data.

적절한 태그의 재현을 위하여, 태그는 256×256 도트의 해상도로서 표현된다. 1600dpi로 인쇄되었을 때, 이것은 약 4mm의 지름을 가지는 태그가 생기게 한다. 이러한 해상도에서 태그는 16 도트의 반지름을 가지는 "보이지 않는 영역(quiet area)"에 의하여 둘러싸이도록 설계된다. 보이지 않는 영역은 또한 인접한 태그에 의해서도 제공되므로, 태그의 유효 지름(effective diameter of the tag)에는 16 도트만이 더해진다.For proper reproduction of the tag, the tag is represented with a resolution of 256 x 256 dots. When printed at 1600 dpi, this results in a tag with a diameter of about 4 mm. At this resolution the tag is designed to be surrounded by a "quiet area" having a radius of 16 dots. Invisible areas are also provided by adjacent tags, so only 16 dots are added to the effective diameter of the tag.

태그는 6개의 타겟 구조를 포함한다. 감지 링(15)은 최초로 태그를 감지하기 위한 감지 장치(sensing device)를 허용한다. 이 링은, 회전하여도 변하지 않고(rotationally invariant) 약간의 종횡비(aspect ratio) 보정만으로 투시 왜곡(perspective distortion)으로 인한 영향의 대부분을 제거할 수 있으므로, 용이하게 감지할 수 있다. 방향축(orientation axis)(16)은 감지 장치가 센서의 흔들림에 따른 태그의 대략적인 2차원적 방향을 결정할 수 있도록 한다. 방향축은 고유한 방향을 제공하기 위하여 비스듬하게 된다. 4개의 투시 타겟(perspective target)(17)은 감지 장치가 태그의 정확한 2차원적 투시 변환을 추론하고, 이에 따라 정확한 3차원적 위치 및 센서에 대한 태그의 상대적인 방향을 추론할 수 있도록 한다.The tag contains six target structures. The sense ring 15 allows a sensing device to detect the tag for the first time. The ring is easily detectable because it can eliminate most of the effects of perspective distortion with only a slight aspect ratio correction, which is rotationally invariant. Orientation axis 16 allows the sensing device to determine the approximate two-dimensional orientation of the tag as the sensor shakes. The direction axis is oblique to provide a unique direction. Four perspective targets 17 allow the sensing device to infer the correct two-dimensional perspective transformation of the tag, thus inferring the exact three-dimensional position and relative direction of the tag relative to the sensor.

모든 타겟 구조는 잡음에 대한 저항성을 개선하기 위하여 과도할 정도로 크게 된다.All target structures become excessively large to improve resistance to noise.

전체적인 태그의 형상은 원형이다. 이것은, 다른 무엇보다도, 불규칙적인 삼각형 격자 상에서 최적의 태그 패킹(packing)을 돕는다. 원형 감지 링과 공동으로, 이것은 태그 안에서의 데이터 비트의 원형적인 배치가 최적이 되도록 한다. 크기를 최대화하기 위해서, 각각의 데이터 비트는 2개의 방사선(radial line) 및 2개의 동심호(concentric circular arc)로 둘러싸인 형태의 방사상 쐐기(radial wedge)에 의하여 표현된다. 각각의 쐐기는 1600dpi에서 8 도트의 최소 크기(dimension)를 가지며, 그 베이스(안쪽 호)가 최소한 이 최소 크기에 상당하도록 설계된다. 쐐기의 반지름 방향의 높이는 항상 그 최소 크기와 같다. 각각의 4비트 데이터 기호는 2×2 쐐기의 배열로 표현된다.The overall tag is circular in shape. This, among other things, aids in optimal tag packing on irregular triangular grids. In conjunction with the circular sense ring, this allows the circular placement of data bits within the tag to be optimal. To maximize the size, each data bit is represented by a radial wedge in the form of being surrounded by two radial lines and two concentric circular arcs. Each wedge has a minimum dimension of 8 dots at 1600 dpi and is designed such that its base (inner arc) at least corresponds to this minimum size. The radial height of the wedge is always equal to its minimum size. Each 4-bit data symbol is represented by an array of 2x2 wedges.

6개의 코드워드 각각에서의 15개의 4비트 데이터 기호는 유격을 둔 형태(interleaved fashion)로 4개의 동심 기호 링(concentric symbol ring) (18a - 18d)에 할당된다. 기호는 번갈아 태그 둘레를 원형으로 진행하도록 배치된다.Fifteen four-bit data symbols in each of the six codewords are assigned to four concentric symbol rings 18a-18d in an interleaved fashion. The symbols are alternately arranged to progress in a circle around the tag.

유격(interleaving)은 동일한 코드워드의 임의의 두 기호 사이의 평균 공간 거리(average spatial distance)를 최소화하기 위한 설계이다.Interleaving is a design to minimize the average spatial distance between any two symbols of the same codeword.

감지 장치를 경유하여 태그가 설정된 영역과의 "단일 클릭(single-click)" 상호작용을 지원하기 위하여, 감지 장치는 어떤 영역, 어떤 방향에서라도 관측 영역(field of view) 내에서 적어도 하나의 완전한 태그를 관측할 수 있어야 한다. 요구되는 감지 장치의 관측 영역의 반지름은 따라서 태그의 크기 및 간격의 함수가 된다.In order to support a "single-click" interaction with the tagged area via the sensing device, the sensing device may include at least one complete tag within the field of view in any area, in any direction. Should be able to be observed. The required radius of the viewing area of the sensing device is thus a function of the size and spacing of the tags.

원형인 태그 형상을 가정한다면, 감지 관측 영역의 최소 반지름은 도 6에 나타난 바와 같이 태그가 정삼각형 격자 상에 배치되는 경우에 얻을 수 있게 된다.Assuming a tag shape that is circular, the minimum radius of the sensing observation area can be obtained when the tag is placed on the equilateral triangle grid as shown in FIG.

1.2.5 태그 이미지 처리 및 복호화(Tag Image Processing and Decoding)1.2.5 Tag Image Processing and Decoding

태그 이미지 처리 및 복호화는 도 7에 나타낸 넷페이지 펜과 같은 감지 장치에 의하여 수행된다. 획득된 이미지가 이미지 센서로부터 획득되면, 이미지의 동적 범위(dynamic range)가 결정된다(20). 그리고 나서 범위의 중앙값이 그 이미지의 이진 문턱값(binary threshold)으로 선택된다(21). 이미지는 그 후 문턱처리되고(thresholded), 연결된 픽셀 영역(connected pixel region)(즉, 형상(shape)(23))으로 분할된다(segmented)(22). 태그 타겟 구조를 표현하기에 너무 작은 형상은 폐기된다(discarded). 각각의 형상의 크기와 중심도 계산된다.Tag image processing and decoding is performed by a sensing device such as the Netpage pen shown in FIG. Once the acquired image is obtained from the image sensor, the dynamic range of the image is determined 20. The median of the range is then selected 21 as the binary threshold of the image. The image is then thresholded and segmented 22 into a connected pixel region (ie, shape 23). Shapes too small to represent the tag target structure are discarded. The size and center of each shape are also calculated.

그리고 나서 각각의 형상에 대한 이진 형상 모멘트(binary shape moment)(25)가 계산되고, 이에 따라 타겟 구조를 배치하는 근거가 제공된다. 중심 형상 모멘트(central shape moment)는 그 특성상 위치가 변하여도 불변하며(invariant of position), 크기(scale), 종횡비(aspect ratio) 및 회전(rotation)이 변하여도 불변하도록 하는 것이 용이하다.The binary shape moment 25 for each shape is then calculated, thus providing a basis for placing the target structure. The central shape moment is invariant in position due to its nature, and it is easy to make it invariant even if the scale, aspect ratio and rotation change.

링 타겟 구조(ring target structure)(15)는 가정 먼저 배치된다(26). 링은 투시 왜곡(perspective-distorted)되었을 때에 가장 특성이 양호하다는 장점을 가진다. 정합(matching)은 각각의 형상의 모멘트를 외양 표준화(aspect-normalizing) 및 회전 표준화(rotation-normalizing)함으로써 진행된다. 일단 그 2차 모멘트(second-order moment)가 표준화되면, 링은 투시 왜곡이 현저한 경우라 하더라도 인식하기 용이해진다. 링의 원래 외양 및 회전(27)은 모두 투시 변환(perspective transform)을 추정하는 데에 유용하다.A ring target structure 15 is hypothetically placed 26. The ring has the advantage that it is most characteristic when perspective-distorted. Matching proceeds by aspect-normalizing and rotation-normalizing the moment of each shape. Once the second-order moment has been normalized, the ring is easy to recognize even if perspective distortion is significant. Both the original appearance and rotation of the ring 27 are useful for estimating a perspective transform.

다음으로 축 타겟 구조(axis target structure)(16)가 배치된다(28). 정합은 링의 표준화(normalization)를 각각의 형상의 모멘트에 적용하고, 그 결과로 얻어지는 모멘트를 회전 표준화함으로써 진행된다. 일단 2차 모멘트가 표준화되면 축 타겟은 용이하게 인식된다. 3분의 1차 모멘트(one third order moment)가 축의 가능한 두 가지 방향을 명확히 하기 위하여 요구됨을 주목하여야 한다. 이를 가능케 하기 위하여, 형상은 신중하게 한 쪽 방향으로 기울여진다. 또한, 투시 왜곡이 축 타겟의 축을 은폐할 수 있기 때문에, 링의 표준화가 적용된 이후에만 축 타겟을 회전 표준화할 수 있음을 주목하여야 한다. 축 타겟의 원래 회전(orginal rotation)은 펜 흔들림(29)에 기인한 태그의 회전을 추정하는 데에 유용하다.Next, an axis target structure 16 is disposed 28. Matching proceeds by applying a normalization of the ring to the moment of each shape and rotationally normalizing the resulting moment. Once the secondary moment is normalized, the axis target is easily recognized. Note that one third order moment is required to clarify the two possible directions of the axis. To make this possible, the shape is carefully tilted in one direction. It should also be noted that since perspective distortion can conceal the axis of the axis target, it can only rotationally standardize the axis target after the standardization of the ring is applied. The original rotation of the axial target is useful for estimating the rotation of the tag due to pen shake 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)의 순서쌍의 관계에 대한 잘 알려진 방정식을 푸는 것에 의하여 추론된다.Finally, four perspective target structures 17 are arranged (30). The position of the see-through target structure can be well estimated based on the known spatial relationship with the ring and shaft target, the appearance and rotation of the ring, and also the rotation of the shaft. Matching proceeds by applying the standardization of the ring to the moment of each shape. Once the second moment is normalized, the circular perspective target is easily recognized and treated as the match closest to each estimated position. The original center of the three perspective targets then becomes a corner 31 of perspective distorted cells of known size in tag space, with eight-degree-of-freedom perspective transformation 33. Is inferred by solving a well-known equation for the relationship of the order tag of four tag-spaces and image-spaces.

추론된 태그-공간으로부터 이미지-공간으로의 투시 변환은, 입력 이미지에서 4개의 대응하는 인접 픽셀을 쌍선형 보간(bilinearly interpolate)(36)하기 위하여 각각의 알려진 태그 공간에서의 데이터 비트 위치를 위치의 실제값(real-valued position)이 이용되는 이미지 공간으로 투사(36)하는 데에 이용된다. 이전에 계산된 이미지 문턱값(21)은 최종 비트 값(final bit value)(37)을 산출하기 위하여 결과값을 문턱처리(threshold)하는 데에 이용된다.Perspective transformation from inferred tag-space to image-space converts the position of the data bits in each known tag space to bilinearly interpolate 36 corresponding four adjacent pixels in the input image. Real-valued positions are used to project 36 into the used image space. The previously calculated image threshold 21 is used to threshold the resulting value to yield a final bit value 37.

일단 36개의 데이터 비트(37)가 모두 이러한 식으로 얻어지면, 6개의 60비트 리드-솔로몬 코드워드(Reed-Solomon codeword) 각각은 20개의 복호화된 비트(39)를 제공하기 위하여 복호화되어, 전부 120개의 복호화된 비트가 제공된다. 코드워드 기호(codeword symbol)는 코드워드의 순서대로 샘플링되어, 샘플링 절차 동안에 코드워드가 내재적으로 유격해제(de-interleaved)되는 것에 주목하여야 한다.Once all 36 data bits 37 are obtained in this manner, each of the six 60-bit Reed-Solomon codewords is decoded to provide 20 decoded bits 39, all 120 Decoded bits are provided. It should be noted that codeword symbols are sampled in the order of codewords, so that codewords are implicitly de-interleaved during the sampling procedure.

링 타겟(15)은, (링이 존재한다면,) 이미지와 관련된 링이 완전한 태그(complete tag)의 부분이라는 것을 보장할 수 있는 이미지의 하위영역에서만 탐색된다. 완전한 태그가 발견되어 성공적으로 복호화되지 않으면, 당해 프레임에대해서는 어떠한 펜 위치(pen position)도 기록되지 않는다. 적당한 처리 능력(processing power) 및 이상적으로는 최소값이 아닌 관측 영역(193)(non-minimal field of view)이 주어진다면, 대안적 방법으로써 당해 이미지에서 다른 태그를 탐색하게 된다.The ring target 15 is searched only in the subregions of the image, which can ensure that the ring associated with the image (if present, is part of a complete tag). If a complete tag is found and not successfully decrypted, no pen position is recorded for that frame. Given a suitable processing power and ideally a non-minimal field of view 193, an alternative method is to search for another tag in the image.

얻어진 태그 데이터는 그 영역 내에서 태그 및 태그의 위치를 포함하는 그 영역의 정체(identity)를 나타낸다. 펜의 전체적인 방향(35)뿐만 아니라, 그 영역에서의 펜촉(pen nib)의 정확한 위치(35)까지도 태그 상에서 관측된 투시 변환(33) 및 펜의 물리적 축(physical axis)과 펜의 광학 축(optical axis) 사이의 알려진 공간적 관계로부터 추론될 수 있다(34).The obtained tag data indicates the identity of the area, including the tag and the position of the tag within the area. Not only the overall orientation of the pen 35, but also the exact location of the pen nib 35 in that area, is the perspective transformation 33 observed on the tag and the physical axis of the pen and the optical axis of the pen ( can be inferred from known spatial relationships between the optical axes (34).

1.2.6 태그 맵(Tag Map)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에서 넷페이지 프린터 클래스도의 일부로서 나타나 있다.When the tag is decrypted, a region ID, a tag ID, and a tag-relative pen transform are output. Before the tag ID and tag-relative pen location are converted to an absolute location within the tagged area, the location of the tag within that area must be known. This is given by a tag map, a function that maps each tag ID to its corresponding position in the tagged area. The tag map class diagram is shown as part of the netpage printer class diagram in FIG.

태그 맵은 표면 영역을 태그로 뒤덮는(tiling) 데 이용되는 도표(scheme)를 나타내며, 표면의 유형(surface type)에 따라서 가변적이다. 복수의 태그가 있는 영역(multiple tagged region)이 동일한 태그 배열 도표(tag tiling scheme) 및 동일한 태그 번호부여 도표(tag numbering scheme)를 공유하면, 그 태그 있는 영역(tagged region)들은 동일한 태그 맵을 공유하는 것이 된다.The tag map represents a scheme used to tag surface areas with tags, and is variable depending on the surface type. If multiple tagged regions share the same tag tiling scheme and the same tag numbering scheme, the tagged regions share the same tag map. It becomes.

어떤 영역을 위한 태그 맵은 반드시 영역 ID를 경유하여 검색 가능(retrievable)하여야 한다. 따라서, 어떠한 영역 ID, 태그 ID 및 펜 변환이 주어지면, 태그 맵이 검색될 수 있고, 태그 ID는 그 영역 내에서 절대 태그 위치(absolute tag location)로 변환될 수 있으며, 태그-비례적 펜 위치(tag-relative pen location)는 태그 위치에 추가되어 그 영역 내에서 절대 펜 위치를 제공할 수 있게 된다.The tag map for a region must be retrievable via the region ID. Thus, given any region ID, tag ID, and pen conversion, the tag map can be retrieved, the tag ID can be converted to an absolute tag location within that region, and tag-proportional pen locations (tag-relative pen location) is added to the tag location so that it can provide an absolute pen location within that area.

1.2.7 태그 도표(Tagging Scheme)1.2.7 tagging scheme

두 개의 구별되는 표면 부호화 도표(surface coding scheme)로서, 양자 모두 본 장에서 앞서 기술된 바와 같은 태그 구조(tag structure)를 이용하는 표면 부호화 도표를 살펴본다. 실시예의 부호화 도표는 이미 논의된 바 있는 "위치-표시(location-indicating)" 태그를 이용한다. 또는 오브젝트-표시 태그(object-indicating tag)를 이용할 수도 있다.As two distinct surface coding schemes, both look at surface coding diagrams that use a tag structure as previously described in this chapter. The coding table of the embodiment uses the " location-indicating " tag that has already been discussed. Alternatively, an object-indicating tag may be used.

위치-표시 태그는, 태그 있는 영역(tagged region)과 관련된 태그 맵을 통하여 변환되면 그 영역 내에서 고유 태그 위치(unique tag location)를 제공하는, 태그 ID를 포함한다. 펜의 태그-비례적 위치가 이 태그 위치에 추가되어 그 영역 내에서 펜의 위치를 제공한다. 이것은 다시 그 영역과 관련된 페이지 명세(page description)에서의 사용자 인터페이스 요소(user interface element)에 대한 펜의 상대적인 위치를 결정하는 데 이용된다. 그 사용자 인터페이스 요소 자체만이 식별되는 것만이 아니라, 그 사용자 인터페이스 요소에 대한 상대적인 위치 또한 식별된다. 위치-표시 태그는 따라서 특정 사용자 인터페이스 요소의 구역 내에서 펜의 절대 경로(absolute pen path)의 획득(capture)을 아무렇지 않게 지원하게 된다.The location-indicating tag includes a tag ID, which, when converted through a tag map associated with a tagged region, provides a unique tag location within that region. The tag-proportional position of the pen is added to this tag position to provide the position of the pen within that area. This is again used to determine the pen's relative position to the user interface element in the page description associated with that area. Not only the user interface element itself is identified, but also its position relative to the user interface element. The location-marking tag will therefore support the capture of an absolute pen path casually within the zone of a particular user interface element.

오브젝트-표시 태그는 그 영역과 관련된 페이지 명세에서의 사용자 인터페이스 요소를 직접적으로 식별하는 태그 ID를 포함한다. 사용자 인터페이스 요소의 구역 안의 모든 태그는 모두 동일(identical)해짐으로써 상호 구분 불가능해지면서 그 사용자 인터페이스 요소를 식별한다. 오브젝트-표시 태그는 따라서 펜의 절대 경로를 획득하지 못한다. 그러나, 펜의 상대 경로(relative pen path)를 지원할 수는 있다. 위치 샘플링 빈도(position sampling frequency)가 대상 태그 빈도(encountered tag frequency)의 2배를 초과하는 한, 하나의 표본 펜 위치(sampled pen position)로부터 다음까지의 변위는 정확하게 결정될 수 있는 것이다.The object-display tag includes a tag ID that directly identifies a user interface element in the page specification associated with that region. All tags within a section of a user interface element are all identical, making them indistinguishable from each other and identifying that user interface element. The object-marking tag thus does not obtain the absolute path of the pen. However, it can support a relative pen path. As long as the position sampling frequency exceeds two times the encountered tag frequency, the displacement from one sampled pen position to the next can be accurately determined.

둘 중 어떤 태그 도표에 의하여도, 태그 데이터가 감지 장치에 의하여 독출되도록 하고, 적절한 응답이 넷페이지 시스템에서 생성되기 위하여 적절한 감지 장치를 이용하여 인쇄 페이지와 상호작용하는 점에서, 태그는 사용자 대화형 요소처럼 넷페이지 상의 관련된 시각적 요소와 협력하여 작용한다.Either tag table allows the tag data to be read by the sensing device and the tag is user interactive in that it interacts with the print page using the appropriate sensing device to generate an appropriate response in the netpage system. Like elements, they work in collaboration with related visual elements on the netpage.

1.3 문서 및 페이지 명세(DOCUMENT AND PAGE DESCRIPTIONS)1.3 DOCUMENT AND PAGE DESCRIPTIONS

문서 및 페이지 명세 클래스도의 바람직한 실시예가 도 25 및 도 26에 나타나 있다.Preferred embodiments of the document and page specification class diagrams are shown in FIGS. 25 and 26.

넷페이지 시스템에서는 문서가 3개의 레벨로 설명된다. 가장 추상적인레벨(most abstract level)에서, 문서(836)는 그 터미널 요소(terminal element)(839)가 텍스트 오브젝트, 텍스트 스타일 오브젝트, 이미지 오브젝트 등의 콘텐트 오브젝트(840)와 관련된 계층 구조(hierarchical structure)를 가진다. 일단 문서가 특정 페이지 크기로 특정 사용자의 스케일 설정(scale factor preference)에 따라 프린터 상에서 출력되면, 문서는 페이지가 매겨지거나(paginated) 그렇지 않으면 포맷팅된다(formatted). 포맷팅된 터미널 요소(835)는, 몇몇 경우에 있어서, 특히 콘텐트 오브젝트가 스타일에 관련된(style-related) 곳에서, 그 대응되는 터미널 요소가 관련되는 콘텐트 오브젝트와는 다른 콘텐트 오브젝트와 관련될 것이다. 또한, 문서 및 페이지의 각각의 인쇄된 인스턴스(printed instance)도 동일한 페이지 명세(page description)의 다른 인스턴스를 통하여 획득된 입력으로부터 구분되어 기록되는 특정 페이지 인스턴스를 통하여 획득되는 입력을 허용하기 위하여 구분되어 설명된다.In a netpage system, documents are described at three levels. At the most abstract level, document 836 has a hierarchical structure whose terminal elements 839 are associated with content objects 840 such as text objects, text style objects, image objects, and the like. ) Once a document is output on a printer according to a particular user's scale factor preference at a particular page size, the document is paginated or otherwise formatted. The formatted terminal element 835 will in some cases be associated with a Content Object that is different from the Content Object that the corresponding Terminal Element is associated with, particularly where the Content Object is style-related. In addition, each printed instance of the document and page is also separated to allow input obtained through a particular page instance that is recorded separately from input obtained through another instance of the same page description. It is explained.

페이지 서버 상의 가장 추상적인 문서 명세의 존재에 힘입어, 사용자는 원본 문서의 특정 포맷을 감수하도록 강요받지 않으면서 문서의 사본을 요청할 수 있다. 예를 들어, 사용자는 상이한 페이지 크기로서 프린터를 통하여 사본을 요청할 수도 있다. 역으로, 페이지 서버 상의 포맷팅된 문서 명세의 존재에 힘입어, 페이지 서버도 효율적으로 특정 인쇄 페이지에 대한 사용자의 행위를 해석할 수 있다.Thanks to the existence of the most abstract document specification on the page server, the user can request a copy of the document without being forced to accept the particular format of the original document. For example, a user may request a copy through a printer with different page sizes. Conversely, thanks to the presence of a formatted document specification on the page server, the page server can also efficiently interpret the user's actions on a particular printed page.

포맷팅된 문서(834)는 한 벌의 포맷팅된 페이지 명세(formatted page description)(5)로 이루어지며, 각각의 페이지 명세는 한 벌의 포맷팅된 터미널 요소(formatted terminal element)(835)로 이루어진다. 각각의 포맷팅된 요소는 페이지 상에서 공간적 범위(spatial extent), 즉 구역(zone)(58)을 가진다. 이것은 하이퍼링크 및 입력 영역(input field)과 같은 입력 요소의 활성 영역(active area)을 정의한다.The formatted document 834 consists of a set of formatted page descriptions 5, each page specification consisting of a set of formatted terminal elements 835. Each formatted element has a spatial extent, or zone 58, on the page. This defines the active area of input elements such as hyperlinks and input fields.

문서 인스턴스(831)는 포맷팅된 문서(834)에 대응된다. 문서 인스턴스는 한 벌의 페이지 인스턴스(830)로 이루어지며, 각각의 페이지 인스턴스는 그 포맷팅된 문서의 페이지 명세(5)에 대응된다. 각각의 페이지 인스턴스(830)는 하나의 고유한 인쇄된 넷페이지(single unique printed netpage)(1)를 기술하고, 그 넷페이지의 페이지 ID(50)를 기록한다. 페이지 인스턴스는 요청된 페이지의 사본을 독자적으로 표현하는 경우이더라도 문서 인스턴스(document instance)의 일부분은 아니다.Document instance 831 corresponds to formatted document 834. The document instance consists of a set of page instances 830, each page instance corresponding to the page specification 5 of the formatted document. Each page instance 830 describes a single unique printed netpage 1 and records the page ID 50 of that netpage. The page instance is not part of the document instance, even if it represents a copy of the requested page on its own.

페이지 인스턴스는 한 벌의 터미널 요소 인스턴스(terminal element instance)(832)로 이루어진다. 하나의 요소 인스턴스는 오직 그 인스턴스에 특유한 정보를 기록하는 경우에만 존재한다. 따라서, 하이퍼링크 인스턴스(hyperlink instance)는 그것이 페이지 인스턴스에 대하여 특정되는 처리 ID(transaction ID)(55)를 기록하기 때문에 하이퍼링크 요소를 위하여 존재하며, 영역 인스턴스(field instance)는 그것이 페이지 인스턴스에 대하여 특정되는 입력을 기록하기 때문에 영역 요소를 위하여 존재한다. 그러나, 요소 인스턴스는 텍스트 흐름(textflow)과 같은 정적 요소(static element)를 위하여는 존재하지 않는다.The page instance consists of a set of terminal element instances 832. An element instance exists only if it records information specific to that instance. Thus, a hyperlink instance exists for the hyperlink element because it records a transaction ID 55 that is specific for the page instance, and a field instance exists for the page instance. It exists for region elements because it records the input specified. However, element instances do not exist for static elements, such as textflow.

도 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)가 될 수 있다.As shown in FIG. 27, the terminal element may be a static element 843, a hyperlink element 844, an area element 845, or a page server command element 846. As shown in FIG. 28, the static element 843 includes a style element 847 with an associated style object 854, a textflow element 848 with an associated text object 855, and an associated image object ( Image element 849 with 856, graphic element 850 with associated graphic object 857, video clip element 851 with associated video clip object 858, associated audio clip object ( audio clip element 852 with an audio clip object 859 or script element 853 with an associated script object 860.

페이지 인스턴스는 페이지 상에서 획득된 임의의 디지털 잉크를 기록하는 데 이용되는, 특정 입력 요소에 이용하지 않는 바탕 영역(background field)(833)을 가진다.The page instance has a background field 833 which is not used for a particular input element, which is used to record any digital ink obtained on the page.

본 발명의 실시예에 있어서, 태그 맵(811)은 페이지 상의 태그가 그 페이지 상의 위치(location)로 변환되도록 하는 각각의 페이지 인스턴스와 관련된다.In an embodiment of the invention, a tag map 811 is associated with each page instance that causes a tag on a page to be translated into a location on that page.

1.4 넷페이지 네트워크(THE NETPAGE NETWORK)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)를 통하여 연결되어 이루어진다.In a preferred embodiment, the netpage network comprises a series of distributed netpage page server 10, netpage registration server 11, and netpage ID server as shown in FIG. The netpage ID server 12, the netpage application server 14, and the netpage printer 601 are connected through a network 19 such as the Internet.

넷페이지 등록 서버(11)는 사용자, 펜, 프린터, 애플리케이션 및 출판물(publication) 간의 관계를 기록함으로써 다양한 네트워크 활동을 허가하는서버이다. 넷페이지 등록 서버는 사용자를 인증(authenticate)하며, 애플리케이션 처리에 있어서 인증된 사용자(authenticated user)를 위한 서명 대리인(signing proxy)으로서 행동한다. 또한 넷페이지 등록 서버는 수기 인식 서비스(handwriting recognition service)를 제공한다. 상술한 바와 같이, 넷페이지 페이지 서버(10)는 페이지 명세(page description) 및 페이지 인스턴스에 관한 지속적인 정보를 유지한다. 넷페이지 네트워크는 임의의 개수의 페이지 서버를 포함하며, 각각의 페이지 서버는 페이지 인스턴스의 하위부분(subset)을 담당한다. 페이지 서버는 또한 각각의 페이지 인스턴스에 대한 사용자 입력 값(user input value)을 유지하므로, 넷페이지 프린터와 같은 클라이언트(client)는 넷페이지 입력(netpage input)을 직접 적절한 페이지 서버로 전송한다. 페이지 서버는 대응되는 페이지와 관련하여 임의의 그러한 입력을 해석한다.The netpage registration server 11 is a server that permits various network activities by recording a relationship between a user, a pen, a printer, an application, and a publication. The netpage registration server authenticates the user and acts as a signing proxy for the authenticated user in application processing. The netpage registration server also provides a handwriting recognition service. As mentioned above, the netpage page server 10 maintains persistent information about the page description and page instance. The netpage network includes any number of page servers, each of which is responsible for a subset of the page instances. The page server also maintains a user input value for each page instance, so a client, such as a netpage printer, sends the netpage input directly to the appropriate page server. The page server interprets any such input with respect to the corresponding page.

넷페이지 ID 서버(12)는 요청에 따라 문서 ID(document ID)(51)를 할당하며, 그 ID 할당 도표(ID allocation scheme)를 경유하는 페이지 서버의 부하-균형(load-balancing)을 제공한다.The netpage ID server 12 assigns a document ID 51 upon request and provides load-balancing of the page server via its ID allocation scheme. .

넷페이지 프린터는 넷페이지 페이지 ID(netpage page ID)(50)를 대응하는 페이지 인스턴스를 다루는 넷페이지 페이지 서버의 네트워크 어드레스(network address)로 변환하기 위하여 DNS(Internet Distributed Name System) 또는 이와 유사한 것을 이용한다.The netpage printer uses the Internet Distributed Name System (DNS) or the like to translate the netpage page ID 50 into the network address of the netpage page server that handles the corresponding page instance. .

넷페이지 애플리케이션 서버(13)는 대화형 넷페이지 애플리케이션을 운용하는 서버이다. 넷페이지 출판 서버(14)는 넷페이지 프린터로 넷페이지 문서를 출판하는 애플리케이션 서버이다. 이들은 섹션 2에서 더욱 상세하게 기술된다.The netpage application server 13 is a server that runs an interactive netpage application. The netpage publishing server 14 is an application server for publishing netpage documents to a netpage printer. These are described in more detail in section 2.

넷페이지 서버는 IBM, 휴렛 패커드(Hewlett-Packard) 및 썬(Sum)과 같은 제조회사로부터의 다양한 네트워크 서버 플랫폼 상에서 운용될 수 있다. 복수의 넷페이지 서버가 하나의 호스트(host)에서 동시 다발적으로 실행될 수도 있으며, 하나의 서버가 다수의 호스트에 분산될 수도 있다. 넷페이지 서버에 의하여 제공되는 일부 또는 전부의 기능, 특히 ID 서버 및 페이지 서버에 의하여 제공되는 기능은, 컴퓨터 워크스테이션이나 지역 네트워크 상에서의 넷페이지 프린터와 같은 넷페이지 장치에 의해서 직접 제공될 수도 있다.Netpage servers can run on a variety of network server platforms from manufacturers such as IBM, Hewlett-Packard and Sun. Multiple netpage servers may run concurrently on one host, and one server may be distributed across multiple hosts. Some or all of the functionality provided by the netpage server, in particular the functionality provided by the ID server and page server, may be provided directly by a netpage device, such as a netpage printer on a computer workstation or local network.

1.5 넷페이지 프린터(THE NETPAGE PRINTER)1.5 THE NETPAGE PRINTER

넷페이지 프린터(601)는 넷페이지 시스템에 등록된 장치로서, 요청 및 구독(subscription)에 따른 넷페이지 문서를 인쇄한다. 각각의 프린터는 고유 프린터 ID(62)를 가지며, 인터넷과 같은 네트워크, 이상적으로는 광대역 접속(broadband connection)을 통하여 넷페이지 네트워크에 접속된다.The netpage printer 601 is a device registered in the netpage system and prints a netpage document according to a request and a subscription. Each printer has a unique printer ID 62 and is connected to a netpage network via a network such as the Internet, ideally via a broadband connection.

불휘발성(non-volatile) 메모리에서의 식별 및 보안 설정과는 별개로, 넷페이지 프린터는 지속성 기억장치(persistent storage)를 포함하지 않는다. 사용자에 관한 한, "네트워크가 컴퓨터이다". 넷페이지는, 특정 넷페이지 프린터와는 독립적으로, 분산 넷페이지 페이지 서버(distributed netpage page server)(10)에 힘입어 시간과 공간을 넘나들며 양방향으로 작용한다.Apart from identification and security settings in non-volatile memory, netpage printers do not include persistent storage. As far as the user is concerned, "the network is a computer". Netpages work in both directions over time and space, driven by a distributed netpage page server 10, independent of a particular netpage printer.

넷페이지 프린터는 넷페이지 출판 서버(14)로부터 구독한 넷페이지 문서(subscribed netpage document)를 수신한다. 각각의 문서는 두 부분, 즉 페이지 배열(page layout) 및 페이지를 차지하는 실제 텍스트와 이미지 오브젝트(actual text and image object)로 구분된다. 개인화(personalization)로 인하여, 페이지 배열은 대개 특정 구독자에 대하여 특화되며, 적절한 페이지 서버를 통한 그 구독자의 프린터로의 포인트캐스트(pointcast) 또한 마찬가지이다. 반면, 텍스트 및 이미지 오브젝트는 대개 다른 구독자들과 공유되고, 적절한 페이지 서버를 통한 모든 구독자의 프린터로의 멀티캐스트(multicast) 또한 마찬가지이다.The netpage printer receives a subscribed netpage document from the netpage publishing server 14. Each document is divided into two parts: the page layout and the actual text and image objects that occupy the page. Due to personalization, page arrangements are usually specialized for a particular subscriber, as are pointcasts to that subscriber's printer through the appropriate page server. Text and image objects, on the other hand, are usually shared with other subscribers, as are multicasts to all subscribers' printers through the appropriate page server.

넷페이지 출판 서버는 문서 내용의 포인트캐스트 및 멀티캐스트로의 분할을 최적화한다. 문서의 페이지 배열의 포인트캐스트를 수신한 뒤, 프린터는 (만일 있다면,) 어떤 멀티캐스트를 수신하여야 할 것인지를 인지한다.The Netpage Publishing Server optimizes the splitting of document content into pointcasts and multicasts. After receiving the pointcast of the page arrangement of the document, the printer knows which multicasts (if any) should be received.

일단 프린터가 인쇄될 문서를 정의하는 완전한 페이지 배열 및 오브젝트를 수신하면, 프린터는 그 문서를 인쇄한다.Once the printer receives the complete page arrangement and the object defining the document to be printed, the printer prints the document.

프린터는 래스터화(rasterize)를 수행하고, 홀수 및 짝수 페이지를 동시에 용지의 양면에 인쇄한다. 이러한 목적을 위하여 이중 프린트 엔진 제어기(duplexed print engine controller)(760) 및 멤젯(Memjet)(상표) 프린트 헤드(350)를 사용하는 프린트 엔진이 포함된다.The printer rasterizes and prints odd and even pages on both sides of the paper at the same time. Print engines using a duplexed print engine controller 760 and a Memjet ™ print head 350 are included for this purpose.

인쇄 과정은 분리된 두 개의 단계, 즉 페이지 명세의 래스터화 (rasterization) 및, 페이지 이미지의 확대와 인쇄로 이루어진다. 래스터 이미지 프로세서(raster image processor)(RIP)는 병렬적으로 동작하는 하나 또는 그 이상의 표준 DSP(757)로 이루어진다. 이중 프린트 엔진 제어부는 프린트 엔진의 프린트 헤드의 동작에 동기(synchronized)하여 실시간으로 페이지 이미지의 확대,디더링(dithering) 및 인쇄를 수행하는 주문형 프로세서로 이루어진다.The printing process consists of two separate steps: rasterization of the page specification, enlargement and printing of the page image. A raster image processor (RIP) consists of one or more standard DSPs 757 operating in parallel. The dual print engine control unit may be configured as an on-demand processor that performs the enlargement, dithering, and printing of page images in real time in synchronization with the operation of the print head of the print engine.

적외선 인쇄(IR printing)가 불가능한 프린터는, 태그가 그렇지 않은 경우에 비어 있을 페이지의 영역을 제한하게 되더라도, 적외선 흡수성(IR-absorptive) 흑색 잉크를 사용하여 태그를 인쇄하도록 하는 선택사항(option)이 있다. 그러한 페이지는 적외선 인쇄되는 페이지(IR-printed page)보다 더욱 제한된 기능을 가지게 되지만, 여전히 넷페이지인 것으로 분류된다.Printers that are not capable of IR printing have the option to print the tag using IR-absorptive black ink, even if the tag would otherwise limit the area of the page to be blank. have. Such pages will have more limited functionality than IR-printed pages, but are still classified as netpages.

일반적인 넷페이지 프린터는 종이 용지 상에 넷페이지를 인쇄한다. 보다 특화된 넷페이지 프린터는 구체(globe)와 같은 보다 특화된 표면에 넷페이지를 인쇄할 수 있다. 각각의 프린터는 적어도 하나의 표면 유형을 지원하며, 적어도 하나의 태그 경사 도표(tag tilting scheme)를 지원하므로, 각각의 표면 유형을 위한 태그 맵을 지원한다. 실제로는 문서를 인쇄하는 데 이용되는 태그 경사 도표를 설명하는 태그 맵(811)은, 그 문서와 관련되어 그 문서의 태그가 올바로 해석될 수 있도록 한다.Typical netpage printers print netpages on paper. More specialized netpage printers can print netpages on more specialized surfaces, such as globes. Each printer supports at least one surface type and at least one tag tilting scheme, thus supporting a tag map for each surface type. In practice, the tag map 811, which describes the tag gradient table used to print the document, allows the tags of the document to be correctly interpreted in relation to the document.

도 2는 넷페이지 네트워크 상의 등록 서버(11)에 의하여 유지되는 프린터 관련 정보(printer-related information)를 반영하는 넷페이지 프린터 클래스도를 나타낸다.Fig. 2 shows a netpage printer class diagram reflecting printer-related information maintained by the registration server 11 on the netpage network.

넷페이지 프린터의 바람직한 실시예가 아래의 섹션 6에서 도 11 내지 도 16을 참조하여 더욱 상세하게 기술된다.A preferred embodiment of a netpage printer is described in more detail with reference to FIGS. 11-16 in section 6 below.

1.5.1 멤젯(상표) 프린트 헤드(Memjet(TM) Printheads)1.5.1 Memjet (TM) Printheads

넷페이지 시스템은 열전사 방식 잉크젯(thermal inkjet), 압전식잉크젯(piezoelectric inkjet), 레이저 전자사진 방식 (laser electrophotographic) 등을 포함하는 광범위한 디지털 인쇄 기술에 의한 프린터를 이용하여 운영될 수 있다. 그러나 사용자의 폭 넓은 수용을 위하여, 넷페이지 프린터는 다음과 같은 특성을 가지는 것이 바람직하다.Netpage systems can be operated using printers with a wide range of digital printing techniques, including thermal inkjet, piezoelectric inkjet, laser electrophotographic, and the like. However, in order to accommodate a wide range of users, it is desirable for a netpage printer to have the following characteristics.

· 사진 품질의 컬러 인쇄Photo quality color printing

· 고품질 텍스트 인쇄High quality text printing

· 고 신뢰성High reliability

· 적은 인쇄 비용· Low printing cost

· 적은 잉크 비용· Low ink cost

· 적은 용지 비용· Low paper cost

· 단순한 동작Simple operation

· 지극히 조용한 인쇄Extremely quiet printing

· 빠른 인쇄 속도Fast print speed

· 양면 동시 인쇄2-sided simultaneous printing

· 간결한 양식 인자(compact form factor)Compact form factor

· 적은 소비 전력· Low power consumption

상용화되어 있는 어떠한 인쇄 기술도 이러한 특징 모두를 만족하지는 않는다.No commercially available printing technique satisfies all of these features.

이러한 특징을 가지는 프린터의 제조를 실현하기 위하여, 본 출원인은 멤젯(상표)(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)까지도 동시에 인쇄한다.In order to realize the manufacture of a printer having such a feature, the applicant has invented a new printing technology called Memjet (TM) technology. Memjet ™ is a drop-on-demand inkjet technology with a pagewidth printhead manufactured using microelectromechanical systems (MEMS) technology. . FIG. 17 shows a single print element 300 of a Memjet (trademark) print head. The Netpage wallprinter incorporates 168960 printing elements 300 to implement a 1600 dpi pagewidth duplex printer. The printer prints cyan, magenta, yellow, black and paper conditioner and ink fixative as well as infrared ink at the same time.

인쇄 요소(300)는 대략 110 미크론의 길이와 32 미크론의 너비를 가진다. 이러한 인쇄 요소의 배열은, CMOS 논리, 데이터 전송, 타이밍 및 구동 회로(도시되지 않음)를 내장하는 실리콘 기판(301) 위에 형성된다.The printing element 300 has a length of approximately 110 microns and a width of 32 microns. This array of printing elements is formed on a silicon substrate 301 that incorporates CMOS logic, data transfer, timing, and drive circuitry (not shown).

인쇄 요소(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)이다.The main elements of the printing element 300 are a nozzle 302, a nozzle rim 303, a nozzle chamber 304, a fluid seal 305, an ink channel rim (ink channel rim) 306, lever arm 307, active actuator beam pair 308, passive actuator beam pair 309, active actuator anchor (active actuator anchor) 310, manual actuator anchor 311 and ink inlet (312).

능동 액추에이터 빔 쌍(308)은 접합점(319)에서 수동 액추에이터 빔 쌍(309)과 기계적으로 결합된다. 두 빔 쌍 모두는 각각의 고정점(anchor point)(310,311)에서 고정된다. 요소(308,309,310,311,319)의 결합은 외팔보 열전자 굴곡 액추에이터(cantilevered electrothermal bend actuator)(320)를 형성한다.The active actuator beam pair 308 is mechanically coupled with the passive actuator beam pair 309 at the junction 319. Both beam pairs are fixed at respective anchor points 310, 311. The combination of elements 308, 309, 310, 311 and 319 form a cantilevered electrothermal bend actuator 320.

도 18은 인쇄 요소(300)의 단면(315)을 포함하는, 인쇄 요소(300)의 배열의 일부분이다. 실리콘 웨이퍼(301)를 관통하는 잉크 주입구(312)를 명확히 표현하기 위하여, 단면(315)은 잉크없이 나타낸다.18 is a portion of an arrangement of printing elements 300, including a cross section 315 of printing elements 300. In order to clearly express the ink injection hole 312 penetrating the silicon wafer 301, the cross section 315 is shown without ink.

도 19(a), 19(b) 및 19(c)는 멤젯(상표) 인쇄 요소(300)의 동작 사이클을 나타낸다.19 (a), 19 (b) and 19 (c) show the operating cycles of the Memjet (trademark) printing element 300.

도 19(a)는 미세 잉크방울(droplet)을 인쇄하기 전의 잉크 메니스커스(316)의 정지 위치를 나타낸다. 잉크는 노즐 챔버(304) 및 잉크 채널 림(306) 사이에 형성된 잉크 메니스커스(316) 및 유체 실(305)의 표면장력에 의하여 노즐 챔버에서 유지된다.Fig. 19A shows the stop position of the ink meniscus 316 before printing fine ink droplets. Ink is maintained in the nozzle chamber by the surface tension of the ink meniscus 316 and the fluid chamber 305 formed between the nozzle chamber 304 and the ink channel rim 306.

인쇄 중에, 프린트 헤드의 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)의 표면으로 퍼지는 것을 방지한다.During printing, the CMOS circuitry of the print head distributes data from the print engine to the appropriate print element, latches the data, and buffers the data to drive the electrodes 318 of the active actuator beam pair 308. This causes Joule heating by causing current to flow about 1 microsecond through the beam pair 308. Beam pair 308 expands due to temperature rise due to Joule heat. Since the passive actuator beam pair 309 is not heated, it will not expand, resulting in a stress difference between the two beam pairs. This stress difference is partially resolved by the cantilever end 320 of the hot electron bending actuator bending towards the substrate 301. The lever arm 307 transmits this movement to the nozzle chamber 304. The nozzle chamber 304 moves about 2 microns to a position as shown in FIG. 19 (b). This increases the ink input, expanding the ink meniscus 316 while forcing the ink 321 at the nozzle 302. The nozzle rim 303 prevents the ink meniscus 316 from spreading to the surface of the nozzle chamber 304.

빔 쌍(308,309)의 온도가 같아지면, 액추에이터(320)는 원래의 위치로 돌아온다. 이것은 도 19(c)에 나타난 바와 같이, 노즐 챔버 안에서 잉크(312)로부터 잉크 미세방울(317)이 멈추는 것을 돕는다. 노즐 챔버는 메니스커스(316)에서의 표면장력에 의하여 다시 채워진다.When the temperatures of the beam pairs 308 and 309 are equal, the actuator 320 returns to its original position. This helps stop the ink droplets 317 from the ink 312 in the nozzle chamber, as shown in Fig. 19 (c). The nozzle chamber is refilled by the surface tension at meniscus 316.

도 20은 프린트 헤드(350)의 단편이다. 넷페이지 프린터에서, 프린트 헤드의 길이는 가로 방향(351)의 전체 너비(대개 210mm)가 된다. 도시된 단편의 길이는 0.4mm(완전한 프린트 헤드의 약 0.2%)이다. 인쇄 시에, 종이는 고정된 프린트 헤드를 세로 방향(352)으로 지나친다. 프린트 헤드는 잉크 주입구(312)로부터 공급되는 6가지 색상 또는 종류의 잉크를 인쇄하는 6행의 맞물린 인쇄 요소(300)를 가진다.20 is a fragment of the print head 350. In a netpage printer, the length of the print head is the full width of the transverse direction 351 (usually 210 mm). The length of the fragment shown is 0.4 mm (about 0.2% of a complete print head). In printing, the paper passes the fixed print head in the longitudinal direction 352. The print head has six rows of interlocking printing elements 300 for printing six colors or types of ink supplied from the ink inlets 312.

작동 중에 프린트 헤드의 약한 표면을 보호하기 위하여, 노즐 보호 웨이퍼(nozzle guard wafer)(330)가 프린트 헤드 기판(printhead substrate)(301)에 부착된다. 각각의 노즐(302)에는, 잉크 미세방울이 태워지는, 노즐에 대응되는 노즐 보호 홀(nozzle guard hole)(331)이 있다. 노즐 보호 홀(331)이 종이의 섬유질 기타 부스러기에 의하여 막히는 것을 방지하기 위하여, 여과된 공기가 인쇄 중에 공기 주입구(332) 및 노즐 보호 홀로 압출된다. 잉크(321)의 건조를 방지하기위하여, 노즐 보호기(nozzle guard)는 프린터가 대기중인 동안에는 봉인된다.In order to protect the weak surface of the print head during operation, a nozzle guard wafer 330 is attached to the printhead substrate 301. Each nozzle 302 has a nozzle guard hole 331 corresponding to the nozzle on which ink droplets are burned. In order to prevent the nozzle protection hole 331 from being clogged by fibrous or other debris of paper, the filtered air is extruded into the air inlet 332 and the nozzle protection hole during printing. In order to prevent the ink 321 from drying out, the nozzle guard is sealed while the printer is waiting.

1.6 넷페이지 펜(The Netpage Pen)1.6 The Netpage Pen

넷페이지 시스템의 능동 감지 장치(active sensing device)는 대개 내장된 제어기(134)를 이용함으로써 이미지 센서를 통하여 페이지로부터 적외선 위치 태그(IR position tag)를 획득하여 복호화할 수 있는 펜(101)이 된다. 이미지 센서는 적외선에 근접한(near-infrared) 파장만을 감지하도록 적절한 필터가 제공되는 고체 상태의 소자이다. 아래에 더욱 상세하게 기술되다시피, 본 시스템은 펜촉이 표면과 접촉할 때에 감지를 할 수 있고, 펜은 수기(handwriting)를 획득하기에 충분한 정도(즉, 100Hz 이상의 주파수에서 200dpi 이상의 해상도)로 태그를 감지할 수 있다. 펜에 의하여 획득되는 정보는 부호화되어 프린터(또는 기지국(base station))으로 무선 전송되고, 프린터 또는 기지국은 그 데이터를 (알려진) 페이지 구조와 관련하여 해석한다.The active sensing device of the netpage system is usually a pen 101 capable of obtaining and decoding an IR position tag from a page through an image sensor by using an embedded controller 134. . An image sensor is a solid state device in which an appropriate filter is provided to detect only near-infrared wavelengths. As described in more detail below, the system can detect when the pen tip is in contact with a surface, and the pen is tagged with a degree sufficient to obtain handwriting (i.e., resolution of 200 dpi or higher at frequencies above 100 Hz). Can be detected. The information obtained by the pen is encoded and wirelessly transmitted to a printer (or base station), which interprets the data in relation to the (known) page structure.

넷페이지펜의 바람직한 실시예에서, 펜은 일반적인 표시용 잉크 펜 및 비표시용 스타일러스 펜(non-marking stylus)의 동작을 함께 수행한다. 그러나, 표시의 용도로는 인터넷 인터페이스로서 사용하는 것과 같이 브라우징 시스템(browsing system)으로서 넷페이지 시스템을 이용할 필요는 없다. 각각의 넷페이지 펜은 넷페이지 시스템에 등록되어 고유 펜 ID(unique pen ID)(61)를 가진다. 도 23은 넷페이지 네트워크 상에서 등록 서버(registration server)(11)에 의하여 유지되는 펜 관련 정보(pen-related information)를 나타내는 넷페이지 펜 클래스도(netpage pen class diagram)이다.In a preferred embodiment of the netpage pen, the pen performs the operations of the general marking ink pen and the non-marking stylus together. However, for display purposes, it is not necessary to use a netpage system as a browsing system as used as an internet interface. Each netpage pen is registered with the netpage system and has a unique pen ID 61. FIG. 23 is a netpage pen class diagram showing pen-related information maintained by a registration server 11 on a netpage network.

펜촉(nib)이 넷페이지를 접촉하면, 펜은 페이지에 대한 펜의 상대적 위치 및 방향을 결정한다. 펜촉에는 압력 센서(force sensor)가 부착되고, 펜촉에 가해지는 압력을 문턱값(threshold)을 기준으로 해석하여 펜이 "업(up)"인지 "다운(down)"인지를 표시한다. 이로써 페이지 상의 대화형 요소가 이른바 네트워크로부터의 정보를 요청하기 위하여 펜촉을 누름으로써 '클릭(click)'된다. 나아가, 압력은 서명(signature)을 검증하기 위한 이른바 풀 다이내믹스(full dynamics)를 참작하기 위하여 연속적인 값(continuous value)으로서 획득된다.When the nib contacts the netpage, the pen determines the relative position and orientation of the pen relative to the page. A force sensor is attached to the pen tip, and the pressure applied to the pen tip is interpreted based on a threshold to indicate whether the pen is "up" or "down". This allows interactive elements on the page to be 'clicked' by pressing the pen tip to request information from the so-called network. Furthermore, the pressure is obtained as a continuous value to account for so-called full dynamics for verifying the signature.

펜은 적외선 스펙트럼에서 페이지의 펜촉 인접 영역(193)을 비춤으로써(imaging) 넷페이지 상에서 펜촉의 위치 및 방향을 결정한다. 그것은 가장 가까운 태그를 복호화하고, 비추어진 태그에서 관측된 투시 왜곡 및 알려진 펜 광학 구조(geometry of the pen optics)로부터 그 태그에 대한 펜촉의 상대적인 위치를 계산한다. 페이지 상의 태그의 밀도가 태그의 크기에 반비례하므로 태그의 위치 해상도(position resolution)가 낮을 수 있음에도 불구하고, 보정된 위치 해상도(adjusted position resolution)는 수기(handwriting)를 정확히 판독하기 위하여 필요한 최소 해상도를 넘어설 정도로 상당히 높다.The pen determines the position and orientation of the pen tip on the netpage by imaging the nib adjacent area 193 of the page in the infrared spectrum. It decodes the closest tag and calculates the relative position of the pen tip relative to the tag from the perspective distortion observed in the illuminated tag and the known geometry of the pen optics. Although the position resolution of a tag may be low because the density of the tag on the page is inversely proportional to the size of the tag, the adjusted position resolution does not provide the minimum resolution needed to accurately read handwriting. It's quite high enough to go over.

넷페이지에 대한 펜의 상대적인 움직임은 일련의 스트로크(a series of strokes)로서 획득된다. 하나의 스트로크는, 펜-다운(pen-down) 발생시 개시되고 펜-업(pen-up) 발생시 종료되는, 시간이 기록된(time-stamped) 페이지상의 일련의 펜 위치(pen position)로 이루어진다. 또한, 스트로크에는 페이지 ID가 변경될 때마다 넷페이지의 페이지 ID(50)가 붙여지는데, 페이지 ID는 일반적인 환경에서는그 스트로크의 처음(commencement)에 있게 된다.The pen's relative motion to the netpage is obtained as a series of strokes. One stroke consists of a series of pen positions on a time-stamped page that begin at pen-down occurrences and end at pen-up occurrences. Each time the page ID is changed, the stroke is appended with the page ID 50 of the netpage. The page ID is at the beginning of the stroke in the normal environment.

각각의 넷페이지 펜은 관련된 현재 선택(current selection)(826)을 가지며, 사용자가 복사 및 붙여넣기 등의 작업을 수행할 수 있도록 한다. 선택(selection)에는 설정된 시간 주기(defined time period)가 경과한 후에는 시스템이 폐기할 수 있도록 시간이 기록된다. 현재 선택은 페이지 인스턴스의 영역을 기술한다. 그것은 펜을 통하여 획득된, 페이지의 바탕 영역과의 관계에서 가장 새로운 디지털 잉크 스트로크(digital ink stroke)로 이루어진다. 일단 선택된 하이퍼링크 활성화를 통하여 애플리케이션으로 제출되고 나면, 그것은 그 애플리케이션에 특유한(application-specific) 방식으로 해석된다.Each netpage pen has a current selection 826 associated with it, allowing the user to perform operations such as copying and pasting. The selection records the time for the system to discard after a defined time period has elapsed. The current selection describes the area of the page instance. It consists of the newest digital ink stroke in relation to the background area of the page, obtained through the pen. Once submitted to an application via the selected hyperlink activation, it is interpreted in an application-specific manner.

각각의 펜은 현재 펜촉(current nib)(824)을 가진다. 이것은 펜에 의하여 시스템에 최후로 알려진 펜촉이다. 상술한 바와 같은 기본(default) 넷페이지 펜의 경우에는 표시용 흑색 잉크 펜촉 또는 비표시용 스타일러스 펜촉이 현재 펜촉이 된다. 각각의 펜은 또한 현재 펜촉 스타일(current nib style)(825)을 가진다. 이것은 예를 들어 사용자가 팔레트로부터 색상을 선택하는 행위에 대한 응답의 경우와 같은, 애플리케이션에 의하여 펜과 관련되는 최후의 펜촉 스타일이다. 기본 펜촉 스타일(default nib style)은 현재 펜촉과 관련된 펜촉 스타일이다. 펜을 통하여 획득되는 스트로크에는 현재 펜촉 스타일이 붙여진다. 스트로크가 계속하여 복제(reproduced)되면, 이들은 이들에 붙여진 펜촉 스타일에서 복제된다.Each pen has a current nib 824. This is the pen tip last known to the system by the pen. In the case of the default netpage pen as described above, the display black ink nib or the non-display stylus nib becomes the current nib. Each pen also has a current nib style 825. This is the last nib style associated with the pen by the application, such as in the case of a response to the user selecting a color from a palette. The default nib style is the nib style associated with the current nib. The stroke obtained through the pen is appended with the current nib style. As strokes continue to be reproduced, they are duplicated in the nib style attached to them.

펜이 통신의 대상이 되는 프린터의 범위 내에 있을 때면 언제나 펜은 "온라인(online)" LED를 천천히 반짝인다. 펜이 페이지에 관한 스트로크의 복호화에 실패하면, 펜은 잠시 "오류(error)" LED를 활성화시킨다. 펜이 페이지에 관한 스트로크의 복호화에 성공하면, 펜은 잠시 "ok" LED를 활성화시킨다.Whenever the pen is within range of the printer it is communicating with, the pen slowly flashes the "online" LED. If the pen fails to decode a stroke on a page, the pen momentarily activates an "error" LED. If the pen succeeds in decrypting the stroke on the page, the pen momentarily activates the "ok" LED.

일련의 획득된 스트로크는 디지털 잉크라 일컬어진다. 디지털 잉크는 그림(drawings)과 수기(handwriting)의 디지털 교환, 수기의 온라인 인식 및 서명의 온라인 검증에 대한 토대를 형성한다.The series of acquired strokes is called digital ink. Digital ink forms the basis for digital exchange of drawings and handwriting, online recognition of handwriting, and online verification of signatures.

펜은 무선이며, 근거리 무선 연결을 통하여 디지털 잉크를 넷페이지 프린터로 전송한다. 전송된 디지털 잉크는 프라이버시와 보안을 위하여 암호화(encrypted)되고, 효율적인 전송을 위하여 패킷화(packetized)되지만, 프린터에서의 적시 취급을 보장하기 위하여 펜-업(pen-up) 발생시 항상 플러시(flush)된다.The pen is wireless and sends digital ink to a netpage printer via a short-range wireless connection. Transmitted digital ink is encrypted for privacy and security and packetized for efficient transmission, but is always flushed at the time of pen-up to ensure timely handling at the printer. do.

펜이 프린터의 범위 밖에 있을 때, 그것은 내부 메모리에 디지털 잉크를 버퍼(buffer)하는데, 그 내부 메모리는 10분 이상의 연속 수기(continuous handwriting) 용량을 가진다. 펜이 프린터의 범위 내에 다시 속하면, 그것은 버퍼된 디지털 잉크를 전송한다.When the pen is out of range of the printer, it buffers digital ink in internal memory, which has a continuous handwriting capacity of 10 minutes or more. If the pen falls back within range of the printer, it transfers buffered digital ink.

하나의 펜은 임의의 개수의 프린터와 함께 등록될 수 있지만, 모든 상태 데이터(state data)가 용지 상의 넷페이지 및 네트워크 상의 넷페이지에 모두 존재하므로, 펜이 특정 시간에 어느 프린터와 통신하고 있는지는 대부분 중요치 않다.A pen can be registered with any number of printers, but since all state data is present on both netpages on paper and netpages on the network, it is most likely which pen is communicating with which printer at a particular time. It doesn't matter.

펜의 바람직한 실시예가 이하 섹션 6에서 도 8 내지 도 10을 참조하여 더욱 상세하게 기술된다.Preferred embodiments of the pen are described in more detail with reference to FIGS. 8 to 10 in section 6 below.

1.7 넷페이지 상호작용(NETPAGE INTERACTION)1.7 NETPAGE INTERACTION

넷페이지 프린터(601)는, 넷페이지(1)와의 상호작용에 펜이 이용될 때에 펜(101)으로부터 스트로크와 관련된 데이터를 수신한다. 태그(4)의 부호화된 데이터(3)는 펜이 스트로크와 같은 동작의 수행에 이용될 때에 펜에 의하여 판독된다. 데이터는, 특정 페이지의 정체(identity) 및 관련된 대화형 요소(interactive element)가 결정되고, 페이지에 대한 펜의 상대적인 위치 표시가 얻어지도록 한다. 표시 데이터(indication data)는 프린터로 전송되는데, 프린터에서 표시 데이터는, DNS를 경유하여, 스트로크의 페이지 ID(50)를 대응되는 페이지 인스턴스(830)를 유지하는 넷페이지 페이지 서버(10)의 네트워크 어드레스로 변환한다. 그 다음, 프린터는 스트로크를 페이지 서버로 전송한다. 만일 페이지가 최근에 이전의 스트로크에서 식별되었다면, 프린터는 이미 관련 페이지 서버의 어드레스를 캐시(cache) 내에 가지고 있을 수 있다. 각각의 넷페이지는 넷페이지 페이지 서버(이하 참조)에 의하여 지속적으로 유지되는 간결한 페이지 레이아웃(compact page layout)으로 이루어진다. 페이지 레이아웃은 대개 넷페이지 네트워크의 어딘가에 저장되는 이미지, 폰트(font) 및 텍스트와 같은 오브젝트에 관련된다.The netpage printer 601 receives data relating to strokes from the pen 101 when the pen is used for interaction with the netpage 1. The encoded data 3 of the tag 4 is read by the pen when the pen is used to perform an operation such as a stroke. The data allows the identity of the particular page and its associated interactive elements to be determined and an indication of the position of the pen relative to the page. Indication data is sent to the printer, where the indication data is via the DNS network of the netpage page server 10 that maintains the page ID 50 of the stroke to which the page instance 830 corresponds. Convert to an address. The printer then sends the stroke to the page server. If the page was recently identified in the previous stroke, the printer may already have the address of the relevant page server in the cache. Each netpage consists of a compact page layout maintained continuously by a netpage page server (see below). Page layout is usually associated with objects such as images, fonts, and text that are stored somewhere in the netpage network.

페이지 서버가 펜으로부터 스트로크를 수신하면, 페이지 서버는 스트로크에 적용되는 페이지 명세를 검색하고, 페이지 명세의 어떤 요소가 스트로크와 교차되는지를 결정한다. 그리고 나면 페이지 서버는 관련된 요소의 형식의 맥락에서 스트로크를 해석할 수 있게 된다.When the page server receives the stroke from the pen, the page server retrieves the page specification that applies to the stroke and determines which elements of the page specification cross the stroke. The page server can then interpret the stroke in the context of the form of the associated element.

"클릭(click)"은 펜 다운 위치와 후속하는 펜 업 위치 사이의 거리 및 시간이 모두 어떤 작은 최대값(small maximum)보다 작은 스트로크이다. 클릭에 의하여활성화되는 오브젝트는 대개 활성화되기 위하여 클릭을 요청하므로, 더 긴 스트로크는 무시된다. "슬로피(sloppy) 클릭"과 같은, 등록을 위한 펜 동작의 실패는 펜의 "ok" LED로부터의 응답이 없는 것으로써 표시된다.A "click" is a stroke in which the distance and time between the pen down position and the subsequent pen up position are both less than some small maximum. Objects activated by a click usually require a click to be activated, so longer strokes are ignored. Failure of a pen action to register, such as "sloppy click", is indicated by no response from the pen's "ok" LED.

넷페이지 페이지 명세에는 두 가지의 입력 요소, 즉 하이퍼링크 및 양식 영역(form field)이 있다. 양식 영역을 통한 입력은 또한 관련된 하이퍼링크의 활성화를 개시(trigger)할 수 있다.There are two input elements in the netpage page specification: hyperlinks and form fields. Input through the form region can also trigger activation of the associated hyperlink.

1.7.1 하이퍼링크(Hyperlinks)1.7.1 Hyperlinks

하이퍼링크는 원격 애플리케이션에 메시지를 보내는 수단으로서, 대개 넷페이지 시스템에서의 인쇄된 응답(printed response)을 유도한다.Hyperlinks are a means of sending a message to a remote application, usually driving a printed response in a netpage system.

하이퍼링크 요소(844)는 하이퍼링크의 활성화를 다루는 애플리케이션(71)과, 애플리케이션에 대한 하이퍼링크를 식별하는 연결 ID(link ID)(54)와, 하이퍼링크 활성화에 사용자의 애플리케이션 별명 ID(user's application alias ID)(65)를 포함할 것을 시스템에 요청하는 "별명 요청" 플래그("alias required" flag) 및 하이퍼링크가 즐겨찾기로서 기록되거나 또는 사용자의 히스토리(history)에 나타날 때에 이용되는 명세(description)를 식별한다. 하이퍼링크 요소 클래스도(hyperlink element class diagram)는 도 29에 나타나 있다.The hyperlink element 844 includes an application 71 that handles activation of the hyperlink, a link ID 54 that identifies the hyperlink for the application, and a user's application for hyperlink activation. An alias used to request the system to include an alias (65) and a description that is used when a hyperlink is recorded as a favorite or appears in the user's history. ). A hyperlink element class diagram is shown in FIG. 29.

하이퍼링크가 활성화되면, 페이지 서버는 네트워크 상의 어딘가에 있는 애플리케이션으로 요청(request)을 보낸다. 애플리케이션은 애플리케이션 ID(64)에 의하여 식별되며, 그 애플리케이션 ID는 DNS를 경유하여 일반적인 방식으로 변환된다. 하이퍼링크에는 세 가지의 종류, 즉 도 30에 나타난 바와 같은 일반적인 하이퍼링크(863), 양식 하이퍼링크(865) 및 선택 하이퍼링크(864)가 있다. 일반적인 하이퍼링크는 연결된(linked) 문서를 위한 요청을 실행할 수 있고, 또는 서버에 선호도(preference)를 단순히 신호할 수 있다. 양식 하이퍼링크는 대응되는 양식을 애플리케이션에 제출한다. 선택 하이퍼링크는 현재 선택(current selection)을 애플리케이션에 제출한다. 만일 현재 선택이 예를 들어 텍스트의 단일 워드(single-word of text)를 포함하면, 애플리케이션은 그 워드가 나타나는 맥락에서 그 워드에 의미를 부여하는 단일 페이지 문서(single-page document) 또는 다른 언어로의 번역을 리턴(return)할 수 있다. 각각의 하이퍼링크 종류는 어떤 정보가 애플리케이션에 제출되는가에 따라 특징지어진다.When the hyperlink is activated, the page server sends a request to an application somewhere on the network. The application is identified by an application ID 64, which is converted in the usual way via DNS. There are three kinds of hyperlinks: generic hyperlinks 863, form hyperlinks 865, and optional hyperlinks 864, as shown in FIG. A general hyperlink may execute a request for a linked document or simply signal a preference to a server. The form hyperlink submits the corresponding form to the application. The selection hyperlink submits the current selection to the application. If the current selection includes, for example, a single-word of text, the application may be in a single-page document or other language that gives meaning to that word in the context in which it appears. Can return a translation of. Each type of hyperlink is characterized by what information is submitted to the application.

대응되는 하이퍼링크 인스턴스(862)는, 그 하이퍼링크 인스턴스가 나타나는 페이지 인스턴스에 따라 특정될 수 있는 처리 ID(55)를 기록한다. 처리 ID는, 예를 들어 사용자측에서 구매 애플리케이션(purchasing application)에 의하여 유지되는 구매 중인 "장바구니(shopping cart)"와 같이, 사용자에 특유한 데이터를 애플리케이션으로 식별할 수 있다.The corresponding hyperlink instance 862 records the process ID 55 which can be specified according to the page instance on which the hyperlink instance appears. The process ID may identify, as an application, data specific to the user, for example, a "shopping cart" being purchased by the purchasing application on the user side.

시스템은 선택 하이퍼링크 활성화에서 펜의 현재 선택(826)을 포함한다. 양식 하이퍼링크가 "제출 델타" 속성 집합("submit delta" attribute set)을 가지면, 양식 제출 이후의 입력만이 포함되더라도, 시스템이 관련된 양식 인스턴스(868)의 내용(content)을 양식 하이퍼링크 활성화에 포함한다. 시스템은 모든 하이퍼링크 활성화에 있어서 효율적인 리턴 경로(return path)를 포함한다.The system includes the pen's current selection 826 at selection hyperlink activation. If the form hyperlink has a "submit delta" attribute set, the system will add the content of the relevant form instance 868 to form hyperlink activation, even if only the input after form submission is included. Include. The system includes an efficient return path for all hyperlink activations.

하이퍼링크된 그룹(hyperlinked group)(866)은 도 31에 나타난 바와 같이 관련돤 하이퍼링크를 가지는 그룹 요소(838)이다. 입력이 그룹 내의 임의의 영역 요소를 통하여 발생하면, 그 그룹에 관련된 하이퍼링크(844)가 활성화된다. 하이퍼링크된 그룹은 하이퍼링크 행위(hyperlink behavior)를 체크박스(chechbox)와 같은 영역과 관련시키는 데 사용될 수 있다. 그것은 또한 양식 하이퍼링크의 "제출 델타" 속성과 연계하여 연속적인 입력을 애플리케이션에 제공하는데 사용될 수 있다. 따라서, 그것은 "칠판(blackboard)" 대화형 모델, 즉 입력이 발생하자 마자 그 입력이 획득됨으로써 공유되는 대화형 모델을 지원하도록 이용될 수 있다.Hyperlinked group 866 is a group element 838 having an associated hyperlink as shown in FIG. If the input occurs through any area element in the group, the hyperlink 844 associated with that group is activated. Hyperlinked groups can be used to associate hyperlink behavior with areas such as checkboxes. It can also be used to provide continuous input to an application in conjunction with the "Submit Delta" attribute of a form hyperlink. Thus, it can be used to support a "blackboard" interactive model, i.e., an interactive model that is shared as input is obtained as soon as an input occurs.

1.7.2 양식(Forms)1.7.2 Forms

양식은 관련된 한 벌의 입력(related set of inputs)을 인쇄된 넷페이지를 통하여 획득하는 데 이용되는, 관련된 입력 영역의 모음(collection)을 정의한다. 양식은 사용자가 하나 또는 그 이상의 파라미터를 서버에서 구동되는 애플리케이션 소프트웨어 프로그램에 제출할 수 있도록 한다.The form defines a collection of related input areas that are used to obtain related sets of inputs through a printed netpage. The form allows the user to submit one or more parameters to an application software program running on the server.

양식(867)은 문서 계층(document hierarchy)에서의 그룹 요소(838)이다. 양식은 궁극적으로 한 벌의 터미널 영역 요소(terminal field element)(839)를 포함한다. 양식 인스턴스(868)는 양식의 인쇄된 인스턴스(printed instance)를 나타낸다. 양식 인스턴스는 그 양식의 영역 요소(845)에 대응되는 한 벌의 영역 인스턴스(870)로 이루어진다. 각각의 영역 인스턴스는 관련된 값(871)을 가지며, 그 값의 유형(type)은 대응되는 영역 요소의 유형에 종속된다. 각각의 영역 값(field value)은 특정의 인쇄된 양식 인스턴스를 통하여, 즉 하나 또는 그 이상의 인쇄된 넷페이지를 통하여 입력을 기록한다. 양식 클래스도가 도 32에 나타나있다.Form 867 is a group element 838 in the document hierarchy. The form ultimately contains a set of terminal field elements 839. Form instance 868 represents a printed instance of the form. The form instance consists of a set of region instances 870 corresponding to the region elements 845 of the form. Each region instance has an associated value 871, whose type depends on the type of the corresponding region element. Each field value records its input through a particular printed form instance, ie, through one or more printed netpages. The form class diagram is shown in FIG.

각각의 양식 인스턴스는 양식이 활성화, 동결(frozen), 제출, 무효 또는 만료를 가리키는 상태(status)(872)를 가진다. 양식은 최초로 인쇄될 때 활성화된다. 양식은 일단 서명되면 동결된다. 양식은 일단 그 제출 하이퍼링크 중 하나가 활성화되면, 그 하이퍼링크가 "제출 델타" 속성 집합을 가지고 있지 않는 한 제출된다. 사용자가 무효 양식을 호출하여 양식을 리셋하거나 양식 페이지 명령(form page command)을 복사하면, 양식은 무효가 된다. 양식이 활성화된 시간이 특정 지속시간(lifetime)을 경과하면 양식은 만료된다. 양식이 활성화된 동안에는 양식 입력이 허용된다. 활성화되지 않은 양식을 통한 입력은 관련된 페이지 인스턴스의 바탕 영역에서 대신 획득된다.Each form instance has a status 872 indicating that the form is active, frozen, submitted, invalid, or expired. The form is activated when it is first printed. The form is frozen once it is signed. The form is submitted once one of its submitting hyperlinks is active, unless the hyperlink has a "submit delta" attribute set. If the user calls the invalid form to reset the form or copies the form page command, the form becomes invalid. The form expires when the time that the form is active has passed a certain lifetime. Form input is allowed while the form is active. Input through non-activated forms is obtained instead from the base area of the associated page instance.

양식이 활성 또는 동결 상태이면, 양식 제출이 허용된다. 양식이 활성 또는 동결이 아닌 상태에서는 어떠한 양식 제출 시도도 거부되며, 대신 양식 상태 보고(form status report)가 유도된다.If the form is active or frozen, submission of the form is allowed. If the form is not active or frozen, any form submission attempt will be rejected and a form status report will be derived instead.

각각의 양식 인스턴스는 그로부터 유래하는 임의의 양식 인스턴스와 관련하여 버전 히스토리(version history)를 제공한다(59). 이것은 특정 시간 주기에서 최후의 버전 외의 모든 버전의 양식이 검색 배제되도록 한다.Each form instance provides a version history with respect to any form instance originating therefrom (59). This allows all versions of the form other than the last version to be excluded from search in a particular time period.

모든 입력은 디지털 잉크로서 획득된다. 디지털 잉크(873)는 한 벌의 시간이 기록된 스트로크 그룹(timestamped stroke group)(876)으로 이루어지며, 각각의 시간이 기록된 스트로크 그룹은 한 벌의 스타일이 지정된 스트로크(styled stroke)(875)로 이루어진다. 각각의 스트로크는 한 벌의 시간이 기록된 펜위치(pen position)(876)로 이루어지며, 각각의 시간이 기록된 펜 위치는 또한 펜 방향(pen orientation) 및 펜촉 압력(nib force)을 포함한다. 디지털 잉크 클래스도가 도 33에 나타나 있다.All input is obtained as digital ink. Digital ink 873 consists of a timestamped stroke group 876, with each time-recorded stroke group consisting of a set of styled strokes 875. Is done. Each stroke consists of a pen position 876 in which a set of times are recorded, and each time recorded pen position also includes a pen orientation and nib force. . A digital ink class diagram is shown in FIG.

영역 요소(845)는 체크박스 영역(877), 텍스트 영역(878), 그림 영역(879) 또는 서명 영역(880)이 될 수 있다. 영역 요소 클래스도가 도 34에 나타나 있다. 하나의 영역의 구역(58)에 획득되는 디지털 잉크는 그 영역으로 지정된다.The region element 845 can be a checkbox region 877, a text region 878, a pictorial region 879, or a signature region 880. The region element class diagram is shown in FIG. The digital ink obtained in the area 58 of one area is designated as that area.

체크박스 영역은 도 35에 나타난 바와 같이 관련된 부울대수 값(boolean value)(881)을 가진다. 체크박스 영역의 구역에 표시(점, 가위표, 선긋기, 지그재그로 칠하기 등)가 획득됨으로써 그 영역의 값에 참의 진리값(true value)이 지정된다.The checkbox area has an associated boolean value 881 as shown in FIG. A mark (point, scissors, line drawing, zigzag, etc.) is obtained in the area of the check box area so that the true value of that area is assigned.

텍스트 영역은 도 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을 참조하라).The text area has an associated text value 882 as shown in FIG. The digital ink obtained in the area of the text area is automatically converted into text through online handwriting recognition, and the text is designated as the field's value of the area. Online handwriting recognition is known (eg Tappert, C., CYSuen 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 signature key)를 이용하여 생성된다. 온라인 서명 검증(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를 참조하라).The signature area has an associated digital signature value 883 as shown in FIG. When digital ink is acquired in an area of the signature area, the relationship with the identity of the owner of the pen is automatically verified, and a digital signature is created for the content of the form that is part of that area and assigned to the area value of that area. do. The digital signature is generated using the pen user's private signature key specific to the application that owns the form. Online signature verification is known (e.g., 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)" 명령 또한 양식 영역에서 인식될 수 있다.Area elements are concealed if their "hidden" attribute is set. The concealed region element does not have an input region on the page and does not accept input. It may have an associated region value that is included in the form data when the form containing that region is submitted. "Editing" commands, such as strike-through, that indicate deletion, can also be recognized in the form area.

수기 인식 알고리즘은 (펜으로 표시된 비트맵만을 액세스하는) '오프라인'보다 (펜 동작의 움직임(dynamics)을 액세스하는) '온라인'에서 더 효과적이기 때문에, 계속해서 이산적으로 기재되는 문자(run-on discretely-written characters)를 작성자 종속형(writer-dependent) 훈련 단계 없이도 비교적 높은 정확도로 인식할 수 있다. 작성자 종속형 수기 모델은 시간이 지나면 자동적으로 생성되지만, 필요하다면 그 전에 생성시킬 수도 있다.Handwriting recognition algorithms are more effective at 'online' (accessing the dynamics of pen movements) than 'offline' (accessing only bitmaps marked with pens), so that discretely written characters On discretely-written characters can be recognized with relatively high accuracy without the need for a writer-dependent training step. Author-dependent handwriting models are created automatically over time, but they can be created earlier if needed.

전술한 바와 같이, 디지털 잉크는 일련의 스트로크로 이루어진다. 특정 요소의 구역에서 시작하는 어느 스트로크라도 그 요소의 디지털 잉크 스트림(digital ink stream)에 첨부되어, 해석될 준비가 된다. 오브젝트의 디지털 잉크 스트림에첨부되지 않는 스트로크는 바탕 영역의 디지털 잉크 스트림에 첨부된다.As mentioned above, the digital ink consists of a series of strokes. Any stroke starting at the zone of a particular element is attached to the digital ink stream of that element and ready for interpretation. Strokes not attached to the digital ink stream of the object are attached to the digital ink stream of the background area.

바탕 영역에서 획득되는 디지털 잉크는 선택(selection) 의사 표시로 해석된다. 실제의 해석이 애플리케이션에 특유한 것이더라도, 하나 또는 그 이상의 오브젝트의 한계 지정(circumscription)은 일반적으로 한계 지정된 오브젝트를 선택하는 것으로 해석된다.Digital ink obtained in the background area is interpreted as a selection pseudo indication. Although the actual interpretation is application-specific, the circumscription of one or more objects is generally interpreted as selecting a bounded object.

표 2는 이러한 넷페이지에 대한 펜의 다양한 상호작용을 요약한 것이다.Table 2 summarizes the pen's various interactions with these netpages.

표 2 - 펜과 넷페이지의 상호 작용 요약Table 2-Summary of Pen and Netpage Interactions

오브젝트Object 형식form 펜 입력Pen typing 동작action 하이퍼링크Hyperlink 일반Normal 클릭click 애플리케이션에 동작(action) 제출Submit Action to Application 양식form 클릭click 애플리케이션에 양식 제출Submit Form to Application 선택Selection 클릭click 애플리케이션에 선택 제출Selective submission to the application 양식 영역Form area 체크박스Checkbox 임의 표시Random display 영역에 참인 진리값 지정Specify true value for region 텍스트text 수기Handwriting 디지털 잉크를 텍스트로 변환; 텍스트를 영역에 지정Converting digital ink to text; Assign text to an area 그림Drawing 디지털 잉크Digital ink 디지털 잉크를 영역에 지정Assign digital ink to an area 서명signature 서명signature 디지텅 잉크 서명 검증; 양식의 디지털 서명 생성; 영역에 디지털 서명을 지정Digital ink signature verification; Digital signature generation of forms; Assign digital signatures to zones 없음none -- 한계지정Limit specification 디지털 잉크를 현재 선택에 지정Assign digital ink to the current selection

시스템은 각각의 펜에 대한 현재 선택을 유지한다. 선택은 바탕 영역에서 획득되는 가장 새로운 스트로크로 단순히 이루어진다. 선택은 예측 가능한 행위를 보장하기 위하여 비활동 타임아웃(inactivity timeout) 후에 지워진다.The system maintains a current selection for each pen. The selection simply consists of the newest stroke obtained in the background area. The selection is cleared after an inactivity timeout to ensure predictable behavior.

모든 영역에서 획득되는 원시 디지털 잉크(raw digital ink)는 넷페이지 서버 상에 유지되고, 양식이 애플리케이션에 제출되는 경우에 양식 데이터와 함께 선택적으로 전송된다. 이것은 수기 텍스트의 변환과 같은, 본래의 변환이 의심되는 경우에 애플리케이션이 원시 디지털 잉크를 점검(interrogate)할 수 있도록 한다. 예를 들어, 소정의 애플리케이션에 특유한 일관성 체크에 실패한 양식에 대한, 애플리케이션 레벨(level)에서의 인간의 개입을 포함한다. 이에 대한 확장으로서, 양식의 바탕 영역 전체가 그리기 영역(drawing field)으로 지정될 수 있다. 그 양식의 명시적인 영역 밖의 디지털 잉크의 존재를 토대로, 사용자가 그 영역 밖에 있는 채워진 영역에 수정을 지시할 수 있다는 가정에서, 애플리케이션은 그 양식을 인간 운영자(human operator)에게로 경로 지정(route)할 수 있다.Raw digital ink obtained in all areas is maintained on the netpage server and optionally sent along with the form data when the form is submitted to the application. This allows the application to interrogate raw digital ink in case of original conversion, such as conversion of handwritten text. For example, human intervention at the application level for modalities that fail a consistency check specific to a given application. As an extension to this, the entire base area of the form may be designated as a drawing field. Based on the presence of digital ink outside the explicit area of the form, the application routes the form to a human operator, assuming that the user can direct modifications to the filled area outside of the area. can do.

도 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 is a flowchart of a procedure for handling pen input relating to netpages. This procedure includes receiving a stroke from a pen (884); Step 885, at page 8, that page ID 50 identifies the associated page instance 830; Retrieving page specification 5 (886); Identifying 887 the formatted element 839 of the region 58 where the strokes intersect; Determining 888 whether the formatted element corresponds to an area element, and if so attaching the received stroke to the digital ink of area value 871, accumulating the digital ink of that area; Interpreting 833, and determining 894 if the region is part of a hyperlinked group 866, and if so, activating the associated hyperlink 895; Otherwise, determining 889 if the formatted element corresponds to a hyperlink element, and if so, activating 895 the corresponding hyperlink; Otherwise in the absence of the input area or hyperlink, attaching the received stroke to the digital ink in the background area 833 (890); And copying the received stroke to the current selection 826 of the current pen, as maintained by the registration server, 891.

도 38(a)는 도 38에 나타낸 절차의 단계(893)의 상세 흐름도로서, 여기서 영역의 누적된 디지털 잉크는 그 영역의 종류에 따라서 해석된다. 절차는, 영역이 체크박스인지 여부를 판단하는 단계(896) 및 디지털 잉크가 체크마크를 나타내는지 여부를 판단하는 단계(897), 만일 그렇다면 참의 진리값을 영역 값으로 지정하는 단계(898); 그렇지 않다면, 영역이 텍스트 영역인지 여부를 판단하는 단계(899), 만일 그렇다면 적절한 등록 서버에 힘입어 디지털 잉크를 컴퓨터 텍스트로 변환하는 단계(900) 및 변환된 컴퓨터 텍스트를 영역 값으로 지정하는 단계(901); 그렇지 않다면 영역이 서명 영역인지 여부를 판단하는 단계(902), 만일 그렇다면 디지털 잉크를 적절한 등록 서버에 힘입어 펜의 소유자의 서명으로서 인증하는 단계(903)와, 등록 서버에 힘입어 대응되는 애플리케이션에 관련된 펜 소유자의 비밀 서명 키를 이용하여 대응되는 양식의 내용에 대한 디지털 서명을 생성하는 단계(904) 및 디지털 서명을 영역 값으로 지정하는 단계(905)로 이루어진다.Fig. 38A is a detailed flowchart of step 893 of the procedure shown in Fig. 38, in which the accumulated digital ink of the area is interpreted according to the type of the area. The procedure includes determining whether the region is a check box (896) and determining whether the digital ink represents a check mark (897), and if so, specifying a true value of true as the region value (898). ; Otherwise, determining (899) whether or not the area is a text area; if so, converting digital ink to computer text (900) by means of a suitable registration server; and designating the converted computer text as an area value ( 901); Otherwise, determining (902) whether the area is a signed area; if so, authenticating the digital ink as a signature of the owner of the pen (903) by means of an appropriate registration server and by a registration server to the corresponding application. Generating a digital signature for the content of the corresponding form using the associated pen owner's secret signature key (904) and designating the digital signature as an area value (905).

1.7.3 페이지 서버 명령(Page Server Commands)1.7.3 Page Server Commands

페이지 서버 명령은 페이지 서버에 의하여 국지적으로 취급되는 명령이다. 페이지 서버 명령은 양식, 페이지 및 문서 인스턴스에 대하여 직접 작용한다.Page server commands are commands that are handled locally by the page server. Page server commands work directly with forms, pages, and document instances.

페이지 서버 명령(907)은 도 39에 나타난 바와 같이 무효(void) 양식 명령(908), 중복(duplicate) 양식 명령(909), 리셋 양식 명령(910), 양식 상태 입수 명령(get form status command)(911), 중복 페이지 명령(duplicate pagecommand)(912), 리셋 페이지 명령(913), 페이지 상태 입수 명령(914), 중복 문서 명령(915), 리셋 문서 명령(916) 또는 문서 상태 입수명령(917)이 될 수 있다.The page server command 907 is a void form command 908, a duplicate form command 909, a reset form command 910, a get form status command as shown in FIG. 911, duplicate page command 912, reset page command 913, get page status command 914, duplicate document command 915, reset document command 916, or get document status command 917 Can be

무효 양식 명령은 대응되는 양식 인스턴스를 무효화한다. 중복 양식 명령은 대응되는 양식 인스턴스를 무효화하고, 보존된 영역 값을 가지는 현재 양식 인스턴스의 활성 인쇄 사본(active printed copy)을 생성한다. 그 사본은 원본과 동일한 하이퍼링크 거래 ID(hyperlink transaction ID)를 포함하므로, 애플리케이션에서 원본과 구별되지 않는다. 리셋 양식 명령은 대응되는 양식 인스턴스를 무효화하고, 폐기된 빌드 값을 가지는 양식 인스턴스의 활성 인쇄 사본을 생성한다. 양식 상태 입수 명령은, 누가 출판하였는지, 언제 인쇄되었는지, 누구에게 인쇄되었는지 및 양식 인스턴스의 양식의 상태를 포함하는, 대응되는 양식 인스턴스의 상태에 관한 인쇄된 보고서(printed report)를 생성한다.Invalid form command invalidates the corresponding form instance. The duplicate form command invalidates the corresponding form instance and creates an active printed copy of the current form instance with the preserved area value. The copy contains the same hyperlink transaction ID as the original, so it is indistinguishable from the original in the application. The reset form command invalidates the corresponding form instance and creates an active print copy of the form instance with the discarded build value. The Get Form Status command generates a printed report on the status of the corresponding form instance, including who published it, when it was printed, to whom it was printed, and the status of the form instance's form.

양식 하이퍼링크 인스턴스는 처리 ID를 포함하므로, 애플리케이션은 새로운 양식 인스턴스의 생성을 포함하여야 한다. 따라서 새로운 양식 인스턴스를 요청하는 버튼은 대개 하이퍼링크로서 구현된다.Since the form hyperlink instance contains a processing ID, the application must include the creation of a new form instance. Therefore, buttons requesting new form instances are usually implemented as hyperlinks.

중복 페이지 명령은 보존된 바탕 영역 값을 가지는 대응되는 페이지 인스턴스의 인쇄 사본을 생성한다. 만일 페이지가 양식을 포함하거나 또는 양식의 일부이면, 중복 페이지 명령은 중복 양식 명령인 것으로 해석된다. 리셋 페이지 명령은 폐기된 바탕 영역 값을 가지는 대응되는 페이지 인스턴스의 인쇄 사본을 생성한다. 만일 페이지가 양식을 포함하거나 또는 양식의 일부이면, 리셋 페이지 명령은 리셋 양식 명령인 것으로 해석된다. 페이지 상태 입수 명령은, 누가 출판하였는지, 언제인쇄되었는지, 누구에게 인쇄되었는지 및 포함하거나 또는 일부가 되는 소정의 양식의 상태를 포함하는, 대응되는 페이지 인스턴스의 상태에 관한 인쇄된 보고서를 생성한다.The duplicate page command creates a print copy of the corresponding page instance with the preserved background area value. If the page contains a form or is part of a form, the duplicate page command is interpreted as a duplicate form command. The reset page command creates a print copy of the corresponding page instance with the discarded background area value. If the page contains a form or is part of a form, the reset page command is interpreted to be a reset form command. The Get Page Status command generates a printed report about the status of the corresponding page instance, including who published it, when it was printed, to whom it was printed, and the status of the form being included or part of.

모든 넷페이지 상에 나타나는 넷페이지 로고(logo)는 보통 중복 페이지 요소와 관련된다.The netpage logo that appears on all netpages is usually associated with duplicate page elements.

페이지 인스턴스가 보존된 영역값(field values preserved)과 중복되면, 영역 값은 그 고유의 양식(native form)으로 인쇄된다. 즉, 체크마크는 표준 체크마크 그래픽으로서 나타나고, 텍스트는 타이프셋(typeset) 텍스트로서 나타난다. 그림(drawing) 및 서명만이 서명 검증 성공(successful signature verification)을 가리키는 표준 그래픽을 동반하는 서명과 함께 그 본래의 양식으로 나타난다.If a page instance overlaps with field values preserved, the field values are printed in their native form. That is, the checkmark appears as a standard checkmark graphic, and the text appears as typeset text. Only drawings and signatures appear in their original form, with signatures accompanied by standard graphics indicating successful signature verification.

중복 문서 명령은 보존된 바탕 영역 값을 가지는 대응되는 문서 인스턴스의 인쇄 사본을 생성한다. 만일 문서가 어떤 양식을 포함하면, 중복 문서 명령은 중복 양식 명령과 같은 방식으로 양식을 복사한다. 리셋 문서 명령은 폐기된 바탕 영역 값을 가지는 대응되는 문서 인스턴스의 인쇄 사본을 생성한다. 만일 문서가 어떤 양식을 포함하면, 리셋 문서 명령은 리셋 양식 명령과 같은 같은 방식으로 양식을 리셋한다. 문서 상태 입수 명령은, 누가 출판하였는지, 언제 인쇄되었는지, 누구에게 인쇄되었는지 및 포함된 양식의 상태를 포함하는, 대응되는 문서 인스턴스의 상태에 관한 인쇄된 보고서를 생성한다.The duplicate document command creates a print copy of the corresponding document instance with the preserved background area value. If the document contains some form, the duplicate document command copies the form in the same way as the duplicate form command. The reset document command creates a print copy of the corresponding document instance with the discarded background area value. If the document contains some form, the reset document command resets the form in the same way as the reset form command. The Get Document Status command generates a printed report on the status of the corresponding document instance, including who published it, when it was printed, to whom it was printed, and the status of the form included.

만일 페이지 서버 명령의 "선택된 상태(on selected)" 속성이 설정되면, 그 명령은 그 명령을 포함하는 페이지 상에서보다는 펜의 현재 선택에 의하여 식별되는 페이지 상에서 수행된다. 이것은 페이지 서버 명령의 메뉴가 인쇄되도록 한다. 만일 타겟 페이지가 지목된 페이지 서버 명령을 위한 페이지 서버 명령 요소를 포함하지 않으면, 명령은 무시(ignored)된다.If the "on selected" attribute of a page server command is set, the command is performed on the page identified by the pen's current selection rather than on the page containing the command. This causes a menu of page server commands to be printed. If the target page does not contain a page server command element for the specified page server command, the command is ignored.

애플리케이션은, 관련된 페이지 서버 명령 요소를 하이퍼링크된 그룹에 내장(embed)시킴으로써 애플리케이션에 특유한 취급을 제공할 수 있다. 페이지 서버는 페이지 서버 명령을 수행하기보다는 하이퍼링크된 그룹에 관련된 하이퍼링크를 활성화시킨다.An application can provide application-specific handling by embedding related page server command elements into hyperlinked groups. The page server activates hyperlinks related to hyperlinked groups rather than performing page server commands.

"은폐(hidden)" 속성이 설정되면, 페이지 서버 명령 요소는 은폐된다. 은폐된 명령 요소는 페이지 상에 입력 구역을 가지지 않으므로 사용자에 의하여 직접 활성화될 수 없다. 그러나, 만일 그 페이지 서버 명령이 "ON 선택(on selected)" 속성 집합을 가지면, 다른 페이지에 내장된 페이지 서버 명령을 통하여 활성화될 수 있다.If the "hidden" attribute is set, the page server command element is hidden. The hidden command element does not have an input area on the page and thus cannot be activated directly by the user. However, if the page server command has an "on selected" attribute set, it can be activated through a page server command embedded in another page.

1.8 넷페이지의 일반적인 특징(STANDARD FEATURES OF NETPAGES)1.8 STANDARD FEATURES OF NETPAGES

바람직한 실시예에 있어서, 각각의 넷페이지는 넷페이지임을 가리키는 넷페이지 로고가 밑면에 인쇄되며, 따라서 대화형 특성(interactive properties)을 가진다. 또한, 그 로고는 복사(copy) 버튼으로서 동작한다. 대부분의 경우에 있어서, 로고를 누르면 그 페이지의 사본이 생성된다. 양식의 경우, 버튼은 전체 양식(entire form)의 사본을 생성한다. 그리고, 티켓 또는 쿠폰과 같은 보안 문서(secure document)의 경우, 버튼은 설명서 또는 광고 페이지를 끌어낸다.In a preferred embodiment, each netpage is printed on the underside with a netpage logo indicating that it is a netpage, thus having interactive properties. The logo also acts as a copy button. In most cases, pressing a logo creates a copy of the page. For forms, the button creates a copy of the entire form. And, in the case of a secure document such as a ticket or coupon, the button pulls out a description or advertisement page.

기본 단일 페이지 복사 기능(default single-page copy function)은 관련 넷페이지 페이지 서버에 의하여 직접 취급된다. 특별한 복사 기능은 로고 버튼을 애플리케이션에 연결(link)시킴으로써 취급된다.The default single-page copy function is handled directly by the relevant netpage page server. Special copy functions are handled by linking the logo button to the application.

1.9 사용자 도움말 시스템(USER HELP SYSTEM)1.9 USER HELP SYSTEM

바람직한 실시예에서, 넷페이지 프린터는 "도움말(Help)"이라고 표시된 하나의 버튼을 가진다. 버튼이 눌러지면, 버튼은 다음과 같은 사항을 포함하는 정보 페이지를 한 장 끌어낸다.In a preferred embodiment, the netpage printer has one button labeled " Help. &Quot; When the button is pressed, the button pulls out a page of information containing the following:

· 프린터 접속 상태· Printer Connection Status

· 프린터 소모품 상태· Printer Supplies Status

· 최상위 단계(top-level) 도움말 메뉴Top-level help menu

· 문서 기능 메뉴Document function menu

· 최상위 단계 넷페이지 네트워크 디렉토리· Top level netpage network directory

도움말 메뉴는 넷페이지 시스템의 사용 방법에 대한 계층적 매뉴얼(hierarchical manual)을 제공한다.The Help menu provides a hierarchical manual on how to use the netpage system.

문서 기능 메뉴는 아래의 기능을 포함한다.The document function menu includes the following functions.

· 문서 사본 인쇄· Print a copy of the document

· 양식 미기재 사본(clean copy) 인쇄· Print a clean copy of the form

· 문서 상태 인쇄· Print document status

문서 기능은 단순히 버튼을 누르고 그 문서의 임의의 페이지를 접촉함으로써 개시된다. 문서의 상태는 누가, 언제 출판하였는지, 누구에게 배달되었는지 및 추후 언제, 누구에게 양식으로서 제출되었는지를 나타낸다.The document function is initiated by simply pressing a button and touching any page of the document. The status of the document indicates who, when it was published, to whom it was delivered, and to whom later and as a form.

넷페이지 네트워크 디렉토리는 사용자가 네트워크 상의 출판물 및 서비스의 계층을 탐색(navigate)할 수 있도록 한다. 그 대신에, 사용자가 넷페이지 네트워크 "900"번 "전화번호부(yellow page)"에 전화를 걸어 인간 상담원(human operator)과 통화를 할 수도 있다. 상담원은 원하는 문서의 위치를 찾아내어 사용자의 프린터로 경로를 지정할 수 있다. 문서의 유형(type)에 따라, 발행인 또는 사용자는 약간의 "전화번호부" 서비스 사용료를 지불한다.The netpage network directory allows users to navigate the hierarchy of publications and services on the network. Alternatively, a user may call the "yellow page" of the Netpage network "900" to speak with a human operator. The agent can locate the desired document and route it to the user's printer. Depending on the type of document, the publisher or user pays some "phone book" service fees.

도움말 페이지는 프린터가 인쇄를 할 수 없다면 입수할 수 없음이 명백하다. 이런 경우에는 "오류(error)" 등(light)이 점등되며, 사용자는 원격 진단(remote diagnosis)을 네트워크 상에서 요청할 수 있다.It is clear that the help page is not available if the printer cannot print. In this case the "error" light is lit and the user can request a remote diagnosis on the network.

2. 개인화된 출판물 모델(Personalized Publication Model)2. Personalized Publication Model

아래의 설명에 있어서, 뉴스(news)는 넷페이지 시스템의 개인화 메커니즘(personalization mechanism)을 묘사하기 위한 기본적인 출판물의 예시(canonical publication example)로서 사용된다. 뉴스가 종종 신문(newspaper) 및 잡지(newsmagazine)의 뉴스라는 제한된 의미로 사용되지만, 본 문맥에서 의도된 범위는 더욱 넓다.In the description below, news is used as a canonical publication example to describe the personalization mechanism of a netpage system. Although news is often used in the limited sense of news from newspapers and newsmagazines, the intended scope in this context is much broader.

넷페이지 시스템에서, 뉴스 출판물(news publication)의 편집 내용(editorial content) 및 광고 내용(advertising content)은 상이한 메커니즘을 이용하여 개인화된다. 편집 내용은 독자가 명시적으로 지정한 관심 프로파일(interest profile) 및 은연중에 내포시킨 관심 프로파일에 따라 개인화된다. 광고 내용은 독자의 소재지(locality) 및 신상정보(demographic)에 따라 개인화된다.In a netpage system, the editorial content and advertising content of a news publication are personalized using different mechanisms. The edits are personalized according to the interest profile explicitly specified by the reader and the interest profile implicitly implied. The advertising content is personalized according to the reader's locality and demographic.

2.1 편집 개인화(EDITORIAL PERSONALIZATION)2.1 EDITORIAL PERSONALIZATION

구독자(subscriber)는 두 가지의 뉴스 출처, 즉 뉴스 출판물(news publication)을 배달하는 출처 및 뉴스 스트림(news stream)을 배달하는 출처를 이용할 수 있다. 뉴스 출판물이 발행인에 의하여 취합되어 편집되는 반면, 뉴스 스트림은 뉴스 발행인에 의해서나 전문적 뉴스 취합인(specialized news aggregator)에 의하여 취합된다. 뉴스 출판물은 대개 전통적인 신문 및 잡지에 대응되나, 반면에 뉴스 스트림은 뉴스 서비스로부터 제공되는 "가공되지 않은(raw)" 뉴스, 연재 만화, 프리랜서 필자의 칼럼, 친구의 게시판 또는 독자 기고 전자우편 등으로 다종다양할 수 있다.Subscribers can use two news sources: one that delivers news publications, and one that delivers news streams. While news publications are collected and edited by publishers, news streams are collected by news publishers or by specialized news aggregators. News publications usually correspond to traditional newspapers and magazines, while news streams can include "raw" news, comic strips, freelance writer's columns, friends' bulletin boards, or reader's e-mails from news services. It can be varied.

넷페이지 출판 서버는 복수의 뉴스 스트림의 취합뿐만 아니라, 편집된 뉴스 출판물의 출판도 지원한다. 독자에 의하여 직접 선택된 뉴스 스트림의 취합 및 그에 따른 포맷팅(formatting)을 취급함으로써, 서버는 그렇지 않고는 편집 지배권(editorial control)을 가지지 않았을 페이지 상에 광고를 실을 수 있게 된다.The netpage publishing server supports the aggregation of multiple news streams as well as the publication of edited news publications. By dealing with the aggregation of the news stream directly selected by the reader and the resulting formatting, the server can place an advertisement on a page that would otherwise have no editorial control.

구독자는 하나 또는 그 이상의 제공되는 뉴스 출판물을 선택하고, 각각의 개인화된 버전을 생성함으로써 일간 신문을 구축한다. 결과로서 생겨나는 날마다의 판형(edition)은 인쇄되어 하나의 신문으로 함께 제본된다. 세대의 다양한 구성원은 대개 상이한 일일 출판물을 선택하고 맞춤제작(customize)함으로써 그들의 상이한 관심사 및 기호를 표현한다.The subscriber builds a daily newspaper by selecting one or more provided news publications and generating each personalized version. The resulting daily editions are printed and bound together in one newspaper. Various members of the generation usually express their different interests and preferences by selecting and customizing different daily publications.

각각의 출판물에 대하여, 독자는 선택 사항으로 특정 섹션(specific section)을 취할 수 있다. 어떤 섹션은 일간(daily)이며, 반면에 다른 섹션은 주간(weekly)이다. 예를 들어, 뉴욕 타임즈 온라인(The New York Times online)에서 입수할 수 있는 일간 섹션은 "한 페이지 더(Page One Plus)", "국내(National)", "국제(International)", "오피니언(Opinion)", "비즈니스(Business)", "예술/생활(Arts/Living)", "기술(Technology)" 및 "스포츠(Sports)"를 포함한다. 한 벌의 입수할 수 있는 섹션은, 기본적인 하위구성(default sebset)과 마찬가지로 출판물에 특유하다.For each publication, the reader can optionally take a specific section. Some sections are daily, while others are weekly. For example, the daily sections available at The New York Times online include "Page One Plus," "National," "International," and "Opinion." Opinion ”,“ Business ”,“ Arts / Living ”,“ Technology ”and“ Sports ”. A suite of available sections, like the default sebset, is specific to the publication.

독자는 임의의 개수의 뉴스 스트림을 이용하는 맞춤 섹션(custom section)을 생성함으로써 일간 신문을 확장할 수 있다. 맞춤 섹션은 전자우편용 및 친구에게 알림의 용도로("개인(Personal)" 섹션), 또는 특정 주제에 관해 제공되는 뉴스의 모니터링용으로("알림(Alert)" 또는 "클리핑(Clipping)" 섹션) 생성될 수 있다.The reader can expand the daily newspaper by creating a custom section that uses any number of news streams. Custom sections are for e-mail and for notifying friends ("Personal" section), or for monitoring news provided about a specific topic ("Alert" or "Clipping" section). Can be generated.

각각의 섹션에 대하여, 독자는 그 크기를 양적으로나(예를 들어, 짧은 기사, 중간 기사, 긴 기사) 수적으로(즉, 페이지 수에 제한을 두는 것과 같이) 특정할 수 있고, 희망하는 광고의 비율을 양적으로나(예를 들어, 높음, 중간, 낮음, 없음) 수적으로(즉, 퍼센트(percent)와 같이) 특정할 수 있다.For each section, the reader can specify its size either quantitatively (e.g., short, medium, or long) or numerically (i.e., by limiting the number of pages), and by The ratio can be specified either quantitatively (eg, high, medium, low, none) or numerically (ie, as a percentage).

독자는 또한 선택 사항으로 다수의 짧은 기사 또는 소수의 긴 기사에 대하여 선호도를 표현한다. 각각의 기사는 이상적으로는 이러한 선호도를 지원하기 위하여 짧은 형태로도 긴 형태로도 모두 작성(또는 편집)된다.The reader also optionally expresses preferences for many short articles or a few long articles. Each article is ideally written (or edited) in both short and long form to support this preference.

기사는 또한 기대되는 독자의 지적 수준(sophistication)에 맞추기 위하여상이한 버전, 예를 들어 어린이용 버전 및 성인용 버전으로 작성(또는 편집)될 수 있다. 적절한 버전은 독자의 연령에 따라 선택된다. 독자는 자신의 생물학적 연령에 우선하는 "구독 연령(reading age)"을 특정할 수 있다.Articles can also be written (or edited) in different versions, for example children's and adult versions, to suit the reader's expected sophistication. The appropriate version is chosen according to the age of the reader. The reader can specify a "reading age" that overrides his biological age.

각각의 섹션을 구성하는 기사는 편집자에 의하여 취사선택되고 우선순위 부여(prioritized)되며, 각각의 기사에 유효 기간(useful lifetime)이 지정된다. 기본적으로(by default), 기사는 구독자 판형(detion)의 지면 사정(space constraint)에 따라 우선순위대로 관련된 모든 가입자에게 배달된다.The articles that make up each section are cooked and prioritized by the editor, and each article is assigned a useful lifetime. By default, articles are delivered to all relevant subscribers in priority order according to the subscriber's space constraint.

적절한 섹션에서, 독자는 선택 사항으로 공동 필터링(collaborative filtering)을 가능하게 할 수 있다. 이것은 충분히 긴 유효기간을 가지는 기사에 적용된다. 공동 필터링을 충족하는 각각의 기사는 그 기사의 말미에 등급 버튼(rating button)이 함께 인쇄된다. 버튼은 기사에 등급을 매기는 것이 독자에게 성가시지 않도록 단순한 선택(예를 들어, "좋음" 및 "싫음")을 제공할 수 있다.In the appropriate section, the reader can optionally enable collaborative filtering. This applies to articles with a sufficiently long expiration date. Each article that satisfies the joint filtering is printed with a rating button at the end of the article. The button can provide simple choices (eg, "good" and "dislike") so that rating the article is not annoying to the reader.

따라서 높은 우선순위와 짧은 유효 기간을 가지는 기사들은 편집자에 의하여 필수 기사(essectial reading)로 효과적으로 고려되어 대부분의 구독자에게 배달된다.Therefore, articles with high priority and short expiration date are effectively considered by the editor as essential reading and delivered to most subscribers.

선택 사항으로 독자는 양적으로나(예를 들어, 나를 놀라게 하도록 또는 놀라게 하지 않도록) 수적으로 횡재 인자(serendipity factor)를 특정할 수 있다. 높은 횡재 인자는 공동 필터링 동안 매칭을 위하여 이용되는 문턱값(threshold)을 낮춘다. 높은 인자는 대응되는 섹션이 독자가 특정한 용량을 충족시킬 가능성이 커지도록 한다. 한 주의 서로 다른 요일에 대하여 서로 다른 횡재 요소를 특정할 수 있다.Optionally, the reader can specify the serendipity factor quantitatively (eg, to amaze or not amaze me). High windfall factors lower the threshold used for matching during joint filtering. A high factor allows the corresponding section to increase the likelihood that the reader will meet a particular capacity. Different windfall elements can be specified for different days of the week.

또한 독자는 선택사항으로 특정 관심사에 대한 주제를 특정할 수 있고, 이것은 편집자가 지정한 우선순위를 변경시킨다.You can also optionally specify a topic of particular interest, which changes the priority assigned by the editor.

독자의 인터넷 연결 속도는 배달되는 이미지의 품질에 영향을 미친다. 독자는 선택 사항으로 적은(fewer) 이미지 또는 작은(small) 이미지 또는 둘 다에 대한 선호도를 특정할 수 있다. 이미지의 개수나 크기가 줄지 않으면 이미지가 더욱 낮은 품질로(예를 들어, 낮은 해상도 또는 높은 압축율로) 배달될 수 있다.The speed of the reader's internet connection affects the quality of the images being delivered. The reader can optionally specify a preference for a small image, a small image, or both. If the number or size of images is not reduced, the images can be delivered at a lower quality (eg, at lower resolution or higher compression).

전역적 레벨(global level)에서, 독자는 수량, 날짜, 시간 및 화폐 가치의 지역화를 특정할 수 있다. 이것은 단위가 영국식 도량형을 따르는지 미터법에 따르는지 여부, 지역의 표준 시간대(timezone) 및 시간의 형식, 지역의 통화(currency) 및 지역화(localization)를 위하여 번역을 할 것인지 주석을 달 것인지의 여부를 특정하는 것을 포함한다. 이러한 선호도는 기본적으로 독자의 소재지로부터 도출된다.At the global level, the reader can specify the localization of quantity, date, time and monetary value. It determines whether the unit follows the British metrology or metric system, whether it is translated or annotated for the local timezone and time format, local currency and localization. It includes what is specified. These preferences are basically derived from the reader's location.

나쁜 시력으로 인한 해독 곤란을 경감시키기 위하여, 독자는 선택 사항으로 대형 표시(larger presentation)를 위한 전역적 선호도(global preference)를 특정할 수 있다. 이에 따라 텍스트와 이미지가 모두 스케일되고, 각각의 페이지에는 적은 양의 정보가 수용된다.To alleviate the difficulty of deciphering due to poor eyesight, the reader can optionally specify a global preference for large presentations. As a result, both text and images are scaled, and each page contains a small amount of information.

뉴스 출판물이 출판되는 언어 및 그에 따른 텍스트 인코딩은 그 출판물에 따른 특성이지 사용자의 선택에 따르는 것이 아니다. 그러나, 넷페이지 시스템은 다양한 형태로의 자동 번역 서비스를 제공하도록 구성될 수 있다.The language in which the news publication is published and the resulting text encoding are characteristics of the publication and not the choice of the user. However, the netpage system can be configured to provide automatic translation services in various forms.

2.2 광고 지역화 및 목표화(ADVERTISING LOCALIZATION AND TARGETING)2.2 ADVERTISING LOCALIZATION AND TARGETING

광고는 대개 편집의 맥락에 따르기 때문에, 편집 내용의 개인화는 직접적으로 광고 내용에 영향을 미친다. 예를 들어, 여행 광고는 다른 부분보다는 여행 섹션에 더 실릴 법하다. 광고주(및 출판인)에 대한 편집 내용의 가치는 적절한 신상 정보(demographics)를 가지는 다수의 독자를 유인하는 능력에 달려 있다.Since advertising is usually in the context of editing, personalization of edits directly affects advertising content. For example, travel advertisements are more likely to appear in the travel section than elsewhere. The value of editorial content to advertisers (and publishers) depends on their ability to attract multiple readers with adequate demographics.

효과적인 광고는 소재지(locality) 및 신상 정보를 토대로 한다. 소재지는 특정 서비스, 소매점 등에 대한 접근성(proximity) 및 특정 관심사를 경정하며, 지역 사회와 환경에 관련된다. 신상 정보는 예상 소비 패턴(likely spending pattern)뿐만 아니라 일반적인 관심사 및 선입견을 예정한다.Effective advertising is based on locality and personal information. Locations address accessibility and specific concerns to specific services, retail outlets, etc., and are relevant to the community and the environment. Biographical information is expected to cover general interests and prejudices as well as likely spending patterns.

뉴스 출판인의 가장 수지맞는 상품(most profitable product)은, 출판물의 지리적 적용 범위, 독자층의 규모, 독자층의 신상 정보 및 광고를 실을 수 있는 페이지 영역에 따라 결정되는 다차원적 존재(multi-dimensional entity)인, 광고 "공간(space)"이다.A news publisher's most profitable product is a multi-dimensional entity, determined by the geographical coverage of the publication, the size of the readership, the identity of the readership, and the area of the page where the advertisements can be placed. , Which is an advertisement "space".

넷페이지 시스템에서, 넷페이지 출판 서버는 출판물의 지리적 적용 범위, 섹션의 독자층, 각각의 독자의 섹션 판형의 크기, 각각의 독자의 광고 비율 및 각각의 독자의 신상 정보를 고려하여 섹션별로 출판물의 판매 가능한 광고 공간의 다차원적 규모를 개략적으로 계산한다.In the Netpage system, the Netpage Publishing Server sells publications by section, taking into account the geographical coverage of the publication, the readership of the section, the size of each reader's section format, the proportion of each reader's advertisement, and the personal information of each reader. Compute roughly the multidimensional scale of the ad space where possible.

다른 매체와 비교하면, 넷페이지 시스템은 광고 공간이 더욱 상세하게 정의되도록 하며, 더욱 작은 단위로 나뉘어 판매될 수 있도록 한다. 따라서, 광고 공간이 그 진정한 가치에 더욱 가깝게 판매될 수 있도록 한다.Compared to other media, the netpage system allows the advertising space to be defined in greater detail and can be sold in smaller units. Thus, the advertising space can be sold closer to its true value.

예를 들어, 동일한 광고 "구획(slot)"이, 각각의 광고주에게 판매되는 전체적인 공간의 점유율은 유지하면서 각각의 독자의 페이지는 어떤 광고주 또는 다른 광고주의 광고를 무작위적으로 수신하도록 하는, 변동 점유율(varying proportion)로서 다수의 광고주에게 판매될 수 있다.For example, the same ad "slot," a variable share, allowing each reader's page to randomly receive ads from one advertiser or another while maintaining the overall share of space sold to each advertiser. may be sold to multiple advertisers as a varying proportion.

넷페이지 시스템은 광고를 제품 상세정보 및 온라인 구매로 직접 연결(link)시킬 수 있다. 따라서 광고 공간의 본질적 가치를 상승시킨다.Netpage systems can link advertisements directly to product details and online purchases. Therefore, it increases the intrinsic value of the advertising space.

개인화 및 지역화가 넷페이지 출판 서버에 의하여 자동으로 다루어지므로, 광고 모집인(advertising aggregator)은 지역 및 신상 정보 모두에서 임의적으로 광범위한 적용범위를 제공할 수 있다. 후속적인 분해(disaggregation)도 자동적이므로 효율적이다. 이것은 출판인이 직접 광고를 모집하는 것보다 광고 모집인을 상대하는 편이 더욱 비용 효과적(cost-effective)이도록 한다. 광고 모집인이 광고 수입의 일정 비율을 취함에도 불구하고, 모집의 더 큰 효율성 때문에 출판인은 그러한 변경이 이익 중립적임(profit-neutral)을 알게 될 것이다. 광고 모집인은 광고주와 출판인 사이에서 중개자로서 행동하고, 동일한 광고를 복수의 출판물에 실을 수 있다.Since personalization and localization are handled automatically by the netpage publishing server, an advertising aggregator can provide arbitrarily broad coverage in both local and personal information. Subsequent disaggregation is also automatic and efficient. This makes it more cost-effective for publishers to deal with ad recruiters rather than directly recruiting ads. Although ad recruiters take a certain percentage of ad revenue, publishers will find that such changes are profit-neutral because of the greater efficiency of recruitment. Advertisers can act as intermediaries between advertisers and publishers, and can load the same advertisement in multiple publications.

더욱 복잡한 광고 공간으로 인하여, 넷페이지 출판물에 광고를 싣는 것이 전통적인 출판물에 광고를 싣는 것보다 더 복잡할 수 있음에 주목할 필요가 있다. 광고주, 광고 모집인 및 출판인 사이의 협상의 복잡성을 무시하는 한편으로, 넷페이지 시스템의 바람직한 실시예는 광고 공간의 자동 경매(automated auction) 지원을 포함하는, 협상을 위한 자동화된 지원(automated support)을 제공한다. 자동화는소규모 광고 또는 지극히 지역적인 광고와 같은, 약간의 수익만을 창출하는 광고의 유치에 특히 바람직하다.It is worth noting that, due to the more complex advertising space, placing advertisements in netpage publications can be more complicated than placing advertisements in traditional publications. While neglecting the complexity of negotiation between advertisers, ad recruiters, and publishers, a preferred embodiment of the netpage system provides automated support for negotiation, including automated auction support of ad space. to provide. Automation is particularly desirable to attract ads that generate only a small amount of revenue, such as small advertising or extremely local advertising.

일단 광고 유치가 협상되면, 모집인은 광고를 받아 편집하여 넷페이지 광고 서버(netpage ad server) 상에 기록한다. 이에 대응하여, 출판인은 관련된 넷페이지 출판 서버 상에 광고의 유치를 기록한다. 넷페이지 출판 서버가 각각의 사용자의 개인화된 출판물을 배열할 때, 관련된 광고가 넷페이지 광고 서버로부터 선택된다.Once the advertisement is negotiated, the recruiter receives the advertisement, edits it, and writes it on a netpage ad server. In response, the publisher records the attract of the advertisement on the associated netpage publishing server. When the netpage publishing server arranges each user's personalized publication, the relevant advertisement is selected from the netpage advertisement server.

2.3 사용자 프로파일(USER PROFILES)2.3 USER PROFILES

2.3.1 정보 필터링(Information Filtering)2.3.1 Information Filtering

뉴스 및 기타 출판물의 개인화는 아래의 사항을 포함하는 사용자에 특유한 프로파일 정보의 분류에 의존한다.Personalization of news and other publications relies on a classification of profile information specific to the user, including:

· 출판물 맞춤제작(publication customizations)Publication customizations

· 공동 필터링 벡터(collaborative filtering vectors)Collaborative filtering vectors

· 연결 상세정보(contact details)Contact details

· 표시 선호도(presentation preferences)Presentation preferences

출판물의 맞춤제작은 대개 출판물에 특유한 것이므로, 맞춤제작 정보는 관련된 넷페이지 출판 서버에 의하여 유지된다.Since the customization of a publication is usually unique to the publication, the customization information is maintained by the associated netpage publishing server.

공동 필터링 벡터는 다수의 뉴스 아이템(news item)에 관한 사용자의 평점(rating)으로 이루어진다. 그것은 추천을 목적으로 상이한 사용자의 관심사를 상호 연관(correlate)시키는 데 이용된다. 특정 출판물에 대한 단일 공동 필터링벡터를 독립적으로 유지하는 데에도 이점이 존재하지만, 각각의 출판물에 대한 별개의 벡터를 유지하는 것이 더욱 현실적인 두 가지 이유가 있다. 즉, 동일 출판물에 대한 구독자들의 벡터들 사이에서는 상이한 출판물에 대한 구독자들의 벡터들 사이에서보다 더 많은 일치(overlap)가 있을 수 있다. 또한, 출판물은 사용자의 공동 필터링 벡터를 다른 곳에서는 발견되지 않는 그 출판물의 브랜드 가치의 일부로서 현출하기를 원할 것이다. 따라서 공동 필터링 벡터 또한 관련된 넷페이지 출판 서버에 의하여 유지된다.The joint filtering vector consists of a user's rating of multiple news items. It is used to correlate interests of different users for the purpose of recommendation. While there is an advantage in maintaining a single joint filtering vector for a particular publication independently, there are two reasons that it is more realistic to maintain separate vectors for each publication. That is, there may be more overlap between vectors of subscribers to the same publication than between vectors of subscribers to different publications. In addition, the publication will want to display the user's joint filtering vector as part of the brand value of the publication not found elsewhere. Thus the joint filtering vector is also maintained by the associated netpage publishing server.

성명, 주소, 우편번호, 주, 국가, 전화번호를 포함하는 연결 상세정보는 본질상 전역적(global)이며, 넷페이지 등록 서버(netpage registration server)에 의하여 유지된다.Connection details, including name, address, postal code, state, country and telephone number, are inherently global and maintained by a netpage registration server.

수량, 날짜 및 시간을 포함하는 표시 선호도도 마찬가지로 전역적이며, 동일한 방식으로 유지된다.Display preferences, including quantity, date, and time, are likewise global and remain the same.

광고의 지역화는 사용자의 연결 상세정보에 나타나는 소재지(locality)에 의존하는 반면, 광고의 목표화(targeting)는 생일, 성별, 결혼 여부, 수입, 직업, 학력 또는 연령 범위 및 수입 범위 등의 정성적 파생물(qualitative derivatives)과 같은 개인 정보에 의존한다.Localization of ads depends on the locality that appears in the user's connection details, while targeting of ads is qualitative, such as birth date, gender, marital status, income, occupation, education or age range, and income range. Depends on personal information such as qualitative derivatives

광고를 위하여 개인 정보를 공개하기로 한 사용자에 대하여는, 관련 넷페이지 등록 서버에 의하여 그 정보가 유지된다. 그러한 정보가 없는 경우, 광고는 사용자의 ZIP 또는 ZIP+4 코드와 관련된 신상정보를 근거로 하여 목표화(target)될 수 있다.For a user who decides to release personal information for advertisement, the information is maintained by the relevant netpage registration server. In the absence of such information, the advertisement may be targeted based on personal information associated with the user's ZIP or ZIP + 4 code.

도 21,22,23 및 24에 나타난 바와 같이, 각각의 사용자, 펜, 프린터, 애플리케이션 제공자(application provider) 및 애플리케이션에는 자신의 고유한 식별자(identifier)가 지정되고, 넷페이지 등록 서버는 이들 사이의 관계(relationship)를 유지한다. 등록의 목적에 있어서, 출판인은 특별한 종류의 애플리케이션 제공자가 되며, 출판물은 특별한 종류의 애플리케이션이 된다.As shown in Figs. 21, 22, 23 and 24, each user, pen, printer, application provider and application has its own unique identifier, and the Netpage registration server is assigned between them. Maintain a relationship. For the purpose of registration, the publisher is a special kind of application provider, and the publication is a special kind of application.

각각의 사용자(800)는 소정 개수의 프린터(802)를 사용하기 위하여 권한 설정이 될 수 있으며, 각각의 프린터는 소정 인원수의 사용자가 이용할 수 있도록 허용될 수 있다. 각각의 사용자는 정기 출판물이 기본값으로 배달되는 단일한 기본 프린터(single default printer)를 가지며(66), 요청에 따라 인쇄되는 페이지는 그 사용자가 상호작용하는 프린터를 통하여 배달된다. 서버는 사용자의 기본 프린터에 인쇄하도록 권한 부여를 하는 출판인을 추적한다. 출판인은 특정 프린터의 ID를 기록하지는 않으나, 대신 필요한 경우에 그 ID를 분석한다.Each user 800 may be authorized to use a certain number of printers 802, and each printer may be allowed to be available to a given number of users. Each user has a single default printer to which periodical publications are delivered by default (66), and pages printed upon request are delivered through a printer with which the user interacts. The server keeps track of which publishers authorize to print to the user's default printer. The publisher does not record the ID of a particular printer, but instead analyzes the ID if necessary.

사용자가 출판물(807)을 구독하면(808), 출판인(806)(즉, 애플리케이션 제공자(803))은 특정 프린터 또는 사용자의 기본 프린터로 인쇄하도록 권한을 부여한다. 이 권한(authorization)은 사용자에 의해서 언제든지 철회될 수 있다. 각각의 사용자는 여러 개의 펜(801)을 가질 수 있으나, 하나의 펜은 단일한 사용자에게 특정된다. 사용자가 특정 프린터를 사용하도록 권한을 부여받으면, 그 프린터는 그 사용자의 펜 중 어느 것이라도 인식할 수 있게 된다.When the user subscribes to the publication 807 (808), the publisher 806 (i.e., application provider 803) authorizes printing to a particular printer or to the user's default printer. This authorization can be revoked at any time by the user. Each user can have multiple pens 801, but one pen is specific to a single user. If a user is authorized to use a particular printer, that printer can recognize any of the user's pens.

펜 ID는 일반적인 방식으로 DNS를 경유하여 특정 넷페이지 등록 서버에 의하여 유지되는, 대응되는 사용자 프로파일을 찾는 데 이용된다.The pen ID is used to find the corresponding user profile maintained by a particular netpage registration server via DNS in a general manner.

웹 터미널(Web terminal)(809)은, 웹 브라우징 도중 만나게 된 웹페이지와 넷페이지 문서를 가장 가까운 넷페이지 프린터에서 편리하게 인쇄할 수 있도록, 특정 넷페이지 프린터에서 인쇄를 하는 권한을 부여받을 수 있다.Web terminal 809 may be authorized to print on a particular netpage printer so that webpages and netpage documents encountered during web browsing can be conveniently printed on the nearest netpage printer. .

넷페이지 시스템은, 프린터 제공자를 위하여, 제공자의 프린터에서 인쇄된 출판물을 통하여 얻어지는 수입에 대한 요금 및 수수료를 징수할 수 있다. 그러한 수입은 광고료, 클릭-스루(click-through) 요금, 전자 상거래 수수료(e-commerce commission) 및 처리 요금(transaction fee)을 포함한다. 프린터가 사용자의 소유이면, 그 사용자는 프린터 제공자가 된다.The netpage system may collect, for the printer provider, fees and fees for revenue earned through publications printed on the provider's printer. Such revenue includes advertising fees, click-through fees, e-commerce commissions, and transaction fees. If the printer is owned by the user, that user becomes the printer provider.

각각의 사용자는 또한 (위 단락에서 설명된 바와 같은) 소액 지출 및 수입(micro-debits and credits)을 적립하는 데 이용되는 넷페이지 계정(820); 성명, 주소 및 전화번호를 포함하는 연결 상세정보(815); 프라이버시, 배달 및 지역화 설정을 포함하는 전역적 선호도(816); 사용자의 부호화된 서명(818), 지문(819) 등을 포함하는 소정의 개수의 생체정보 기록(biometric record)(817); 시스템에 의하여 자동적으로 유지되는 수기 모델(handwriting model)(819); 및 전자상거래 지불이 이루어지는 SET 지불 카드 계정(821)을 가진다.Each user also has a netpage account 820 that is used to earn micro-debits and credits (as described in the paragraph above); Connection details 815 including name, address and telephone number; Global preferences 816 including privacy, delivery, and localization settings; A predetermined number of biometric records 817 including a user's encoded signature 818, fingerprint 819, and the like; A handwriting model 819 maintained automatically by the system; And a SET payment card account 821 in which an e-commerce payment is made.

2.3.2 즐겨찾기 목록(Favorites List)2.3.2 Favorites List

넷페이지 사용자는 넷페이지 네트워크 상에서 유용한 문서 등을 연결시키는 "즐겨찾기(favorites)" 목록을 유지할 수 있다. 목록은 사용자를 위하여 시스템에 의하여 유지된다. 목록은 폴더의 계층(hierarchy of folders)(924)으로 구성되며, 바람직한 실시예가 도 41의 클래스도에 나타나 있다.Netpage users can maintain a list of "favorites" that link useful documents and the like on the netpage network. The list is maintained by the system for the user. The list consists of a hierarchy of folders 924, with a preferred embodiment shown in the class diagram of FIG.

2.3.3 히스토리 목록(History List)2.3.3 History List

시스템은 각각의 사용자를 위하여 넷페이지 시스템을 통하여 사용자가 액세스(access)하는 문서 등에 대한 링크(link)를 포함하는 히스토리 목록(929)을 유지한다. 그것은 날짜 순으로 정렬된(date-ordered) 목록으로서 구성되며, 바람직한 실시예가 도 42의 클래스도에 나타나 있다.The system maintains a history list 929 for each user that includes links to documents and the like that users access through the netpage system. It is configured as a date-ordered list, with the preferred embodiment shown in the class diagram of FIG.

2.4 지능형 페이지 레이아웃(INTELLIGENT PAGE LAYOUT)2.4 INTELLIGENT PAGE LAYOUT

넷페이지 출판 서버는 자동적으로 각각의 사용자의 개인화된 출판물을 섹션별 기초에서(on a section-by-section basis) 레이아웃한다. 대부분의 광고는 미리 포맷팅된(pre-formatted) 직사각형의 형태이므로, 편집 내용(editorial content)보다 먼저 페이지에 실린다.The netpage publishing server automatically lays out each user's personalized publication on a section-by-section basis. Most advertisements are in the form of pre-formatted rectangles, so they appear on the page before editorial content.

섹션의 광고 비율은 섹션 내의 각각의 페이지에서 폭넓게 변동되는 비율로서 얻어지며, 광고 레이아웃 알고리즘(ad layout algorithm)이 이를 이용한다. 알고리즘은, 자가 지붕 수선(do-it-yourself roofing repairs)의 특별한 특징 때문에 그 출판물에서 특히 지붕 수선에 관한 광고를 싣는 것과 같이, 밀접하게 관련된 편집 및 광고 내용을 함께 배치(co-locate)하도록 시도하는 구성으로 이루어진다.The advertisement rate of the section is obtained as the rate that varies widely on each page within the section, which is used by the ad layout algorithm. The algorithm attempts to co-locate closely related editorial and advertising content, such as placing advertisements on roof repairs in its publications because of the special features of do-it-yourself roofing repairs. It consists of a configuration.

그리고 나서 텍스트 및 관련 이미지와 그래픽을 포함하는, 사용자를 위하여 선택되는 편집 내용이 다양한 심미적 원칙에 따라 레이아웃된다.The edits selected for the user, including text and associated images and graphics, are then laid out according to various aesthetic principles.

광고 선택 및 편집 내용 선택을 포함하는 전반적인 절차는, 일단 레이아웃이 집중되었으면 사용자가 언급한 섹션 크기 선호에 더욱 근접하도록 하는 시도가 반복되어야 한다. 그러나, 섹션 크기 선호도는 현저한 날마다의 변동(day-to-dayvariations)을 허용하면서 시간적 평균값에 맞추어질 수 있다.The overall procedure, including ad selection and editorial content selection, should be repeated to bring the user closer to the section size preferences mentioned by the user once the layout has been focused. However, section size preferences can be tailored to the temporal average, allowing for significant day-to-dayvariations.

2.5 문서 포맷(DOCUMENT FORMAT)2.5 DOCUMENT FORMAT

일단 문서가 레이아웃되면, 문서는 넷페이지 네트워크 상에서의 효율적인 분배 및 지속적인 저장을 위하여 부호화된다.Once the document is laid out, the document is encoded for efficient distribution and persistent storage on the netpage network.

주된 효율성 메커니즘(efficiency mechanism)은 단일 사용자의 판형(edition)에만 특유한 정보를 다수의 사용자의 판형에서 공유되는 정보와 분리하는 것이다. 특정 정보는 페이지 레이아웃으로 이루어진다. 공유 정보(shared information)는 페이지 레이아웃이 참조하는, 이미지, 그래픽 및 텍스트를 포함하는 오브젝트로 이루어진다.The main efficiency mechanism is to separate information specific to a single user's edition from information shared across multiple users' editions. Specific information consists of page layouts. Shared information consists of objects that include images, graphics, and text that the page layout refers to.

텍스트 오브젝트는 XSL(Extensible Stylesheet Language)을 사용하는 XML(Extensible Markup Language)로 표현되는 완전 포맷팅된(fully-formatted) 텍스트를 포함한다. XSL은 텍스트가 설정되는 영역(본 경우에 있어서는 배열에 의하여 제공된다)과 독립하여 텍스트 포맷에 관한 정밀 제어를 제공한다. 텍스트 오브젝트는 자동 번역을 가능케 하는 내장 언어 코드(embedded language code) 및 단락 포맷팅(paragraph formatting)을 돕는 내장 하이픈 첨가 힌트(embedded hyphenation hint)를 포함한다.The text object contains fully-formatted text expressed in Extensible Markup Language (XML) using Extensible Stylesheet Language (XSL). XSL provides precise control over text formatting independent of the area in which text is set (in this case provided by an array). Text objects include embedded language code that enables automatic translation and embedded hyphenation hints to help with paragraph formatting.

이미지 오브젝트는 웨이블릿 기반(wavelet-based) 압축 이미지 포맷인 JPEG 2000으로 이미지를 부호화한다. 그래픽 오브젝트는 2차원 그래픽을 SVG(Scalable Vector Graphics) 포맷으로 부호화한다.The image object encodes the image in JPEG 2000, a wavelet-based compressed image format. Graphic objects encode two-dimensional graphics in Scalable Vector Graphics (SVG) format.

레이아웃 자체는 일련의 이미지 및 그래픽 오브젝트, 텍스트 오브젝트가 통과하는 연결된 텍스트 플로우 오브젝트(linked textflow objects), 상술한 바와 같은 하이퍼링크와 입력 영역 및 워터마크 영역(watermark region)으로 이루어진다. 이들 레이아웃 오브젝트는 표 3에 요약된다. 레이아웃은 효율적인 배분 및 저장에 적합한 간결한 포맷(compact format)을 사용한다.The layout itself consists of a series of image and graphic objects, linked textflow objects through which text objects pass, hyperlinks and input areas and watermark regions as described above. These layout objects are summarized in Table 3. The layout uses a compact format suitable for efficient distribution and storage.

표 3 - 넷페이지 레이아웃 오브젝트Table 3-Netpage Layout Objects

레이아웃 오브젝트Layout object 속성property 연결된 오브젝트의 포맷The format of the linked object 이미지image 위치location -- 이미지 오브젝트 IDImage object ID JPEG 2000JPEG 2000 그래픽graphic 위치location -- 그래픽 오브젝트 IDGraphic object ID SVGSVG 텍스트플로우Text flow 텍스트플로우 IDTextflow ID -- 구역area -- 선택적 텍스트 오브젝트 IDOptional text object ID XML/XSLXML / XSL 하이퍼링크Hyperlink 형식form -- 구역area -- 애플리케이션 ID 등Application ID, etc. -- 영역domain 형식form -- 의미meaning -- 구역area -- 워터마크Watermark 구역area --

2.6 문서 분배(DOCUMENT DISTRIBUTION)2.6 DOCUMENT DISTRIBUTION

상술한 바와 같이, 넷페이지 네트워크 상에서의 효율적인 분배 및 지속적인 저장을 위하여, 사용자마다 특유한 페이지 레이아웃은 그것이 참조하는 공유 오브젝트로부터 분리된다.As mentioned above, for efficient distribution and persistent storage on the netpage network, the user-specific page layout is separated from the shared object it refers to.

구독 출판물이 분배될 준비가 되면, 넷페이지 출판 서버는 넷페이지 ID 서버(12)의 도움으로 각각의 페이지, 페이지 인스턴스, 문서 및 문서 인스턴스에 대하여 고유 ID를 할당한다.When the subscription publication is ready to be distributed, the netpage publishing server assigns a unique ID to each page, page instance, document and document instance with the help of the netpage ID server 12.

서버는 공유되는 내용(shared content)의 한 벌의 최적화된 서브셋(subset)을 계산하고 각각의 하위 요소에 대한 멀티캐스트를 생성하며, 그 배열에 의하여 이용되는 공유 내용을 실어나를 멀티캐스트 체널의 명칭을 각각의 사용자에 특유한 레이아웃에 덧붙인다. 그리고 나서 서버는 각각의 사용자의 레이아웃을 그 사용자의 프린터로 적절한 페이지 서버를 경유하여 포인트캐스트(pointcast)하고, 포인트캐스팅이 완료되면 공유 내용을 특정 채널 상에서 멀티캐스트한다. 포인트캐스트를 수신한 후, 각각의 페이지 서버 및 프린터는 그 페이지 레이아웃에 특정된 멀티캐스트 채널을 구독한다. 멀티캐스트 도중에, 각각의 페이지 서버 및 프린터는 멀티캐스트 스트림(multicast stream)으로부터 그 페이지 레이아웃이 참조하는 오브젝트를 추출한다. 페이지 서버는 지속적으로 페이지 레이아웃 및 공유 내용을 보존한다.The server computes a set of optimized subsets of shared content, generates a multicast for each subelement, and names the multicast channel to carry the shared content used by that array. To the layout specific to each user. The server then pointscast each user's layout to that user's printer via the appropriate page server, and multicasts the shared content on a particular channel when pointcasting is complete. After receiving the pointcast, each page server and printer subscribes to a multicast channel specific to that page layout. During multicast, each page server and printer extracts an object that the page layout refers to from a multicast stream. The page server constantly preserves page layout and shared content.

일단 프린터가 그 페이지 레이아웃이 참조하는 모든 오브젝트를 수신하면, 프린터는 완전히 상주하는(fully-populated) 레이아웃을 재생성하고 래스터화(resterize)하여 그것을 인쇄한다.Once the printer receives all the objects that the page layout references, the printer recreates, rasterizes, and prints the fully-populated layout.

정상적인 환경에서, 프린터는 배달되는 속도보다도 빨리 페이지를 인쇄한다. 각각의 페이지의 4분의 1이 이미지라고 가정하면, 평균적인 페이지는 400KB 이하의 크기를 가진다. 따라서 프린터는 임시 버퍼(temporary buffer) 등을 고려한다면 64MB의 내부 메모리에 100 페이지 이상의 그러한 페이지를 수용할 수 있다. 프린터는 초당 1페이지의 속도로 인쇄를 한다. 이것은 초당 400KB 즉 대략 3메가비트(Mbit)의 페이지 데이터에 상당하는 것으로서, 광대역 네트워크를 통하여배달되는 페이지 데이터의 예상 최고 속도와 비슷하다.Under normal circumstances, the printer prints the page faster than it is delivered. Assuming that a quarter of each page is an image, the average page has a size of 400 KB or less. Thus, a printer can accommodate more than 100 such pages in 64MB of internal memory, considering temporary buffers and the like. The printer prints at 1 page per second. This is equivalent to 400 KB per second or approximately 3 Mbits of page data, which is similar to the expected maximum speed of page data delivered over broadband networks.

프린터에 용지가 다 떨어진 경우와 같은 비정상적인 환경 하에서도, 사용자는 100페이지의 프린터 내부 저장 용량이 소진되기 전에 용지 공급을 보충할 수 있을 것이다.Even under abnormal circumstances, such as when the printer runs out of paper, the user will be able to replenish the paper feed before the printer's internal storage capacity of 100 pages is exhausted.

그러나, 프린터의 내부 메모리가 가득차면, 프린터는 멀티캐스트가 최초로 발생할 때 이를 사용할 수 없을 것이다. 넷페이지 출판 서버는 따라서 프린터가 재멀티캐스트(re-multicast) 요청을 제출할 수 있도록 한다. 요청의 임계 숫자가 수신되거나 시간이 경과되면, 서버는 대응되는 공유 오브젝트를 재멀티캐스트한다.However, if the printer's internal memory is full, the printer will not be able to use it when the first multicast occurs. The netpage publishing server thus allows the printer to submit re-multicast requests. If a threshold number of requests is received or elapses, the server remulticasts the corresponding shared object.

일단 문서가 인쇄되면, 프린터는 관련 페이지 서버로부터 페이지 레이아웃 및 내용을 검색함으로써 언제라도 똑같은 사본을 생성할 수 있다.Once the document is printed, the printer can create an exact copy at any time by retrieving page layout and content from the relevant page server.

2.7 주문형 문서(ON-DEMAND DOCUMENTS)2.7 ON-DEMAND DOCUMENTS

넷페이지 문서가 주문에 의해 요청되면, 그것은 정기적인 넷페이지 문서에서와 상당 부분 동일한 방식으로 개인화되어 배달될 수 있다. 그러나 공유 내용이 없으므로, 배달은 멀티캐스트를 이용하지 않고 요청하는 프린터로 직접 행해진다.If a netpage document is requested by an order, it can be personalized and delivered in much the same way as in a regular netpage document. However, since there is no shared content, delivery is done directly to the requesting printer without using multicast.

넷페이지가 아닌 문서(non-netpage document)가 주문에 의해 요청되면, 그것은 개인화되지 않으며, 그것을 넷페이지 문서로 다시 포맷팅(reformat)하도록 지정된 넷페이지 포맷팅 서버(netpage formatting server)를 경유하여 배달된다. 넷페이지 포맷팅 서버는 넷페이지 출판 서버의 특별한 인스턴스이다. 넷페이지 포맷팅 서버는 어도비 PDF(Adobe's Portable Document Format) 및 HTML(Hypertext Markup Language)을 포함하는 다양한 인터넷 문서 포맷에 관한 지식을 가진다. HTML의 경우에, 그것은 목차와 함께 웹페이지를 다단(multi-column) 형식으로 표시하는 고해상도의 인쇄 페이지를 이용할 수 있다. 그것은 자동적으로 직접 요청되는 페이지에 연결되는 모든 웹페이지를 포함할 수 있다. 사용자는 이런 행위를 선호도(preference)에 의하여 조정할 수 있다.If a non-netpage document is requested by an order, it is not personalized and is delivered via a netpage formatting server designated to reformat it into a netpage document. The netpage formatting server is a special instance of the netpage publishing server. The Netpage Formatting Server has knowledge of various Internet document formats, including Adobe's Portable Document Format (PDF) and Hypertext Markup Language (HTML). In the case of HTML, it can use a high-resolution printed page that displays a web page in a multi-column format with a table of contents. It can automatically include all webpages that link to the requested page directly. The user can adjust this behavior by preference.

넷페이지 포맷팅 서버는 양방향성(interactivity) 및 지속성(persistence)을 포함하는 표준 넷페이지 행위(standard netpage behavior)가 인터넷 문서의 출처 및 형식을 불문하고 어떤 인터넷 문서에도 적용 가능하도록 한다. 그것은 넷페이지 프린터 및 넷페이지 페이지 서버 모두로부터의 상이한 문서 포맷에 대한 지식을 은폐하고, 웹 서버로부터의 넷페이지 시스템의 정보를 은폐한다.The netpage formatting server allows standard netpage behavior, including interactivity and persistence, to be applicable to any Internet document, regardless of its origin and format. It hides knowledge of different document formats from both netpage printers and netpage page servers, and hides information of netpage systems from web servers.

3. 보안(Security)3. Security

3.1 암호화(CRYPTOGRAPHY)3.1 encryption (CRYPTOGRAPHY)

암호화는 민감한 정보(sensitive information)를 저장과 전송 모두에 있어서 보호하고, 관계자들을 어떤 처리상태로 인증하는 데 이용된다. 널리 이용되는 암호화에는 비밀키 암호화(secret-key cryptography) 및 공개키 암호화(public-key cryptography)의 두 종류가 있다. 넷페이지 네트워크는 두 종류의 암호화를 모두 사용한다.Encryption is used to protect sensitive information, both in storage and transmission, and to authenticate parties to some form of processing. There are two widely used ciphers: secret-key cryptography and public-key cryptography. Netpage networks use both types of encryption.

대칭 암호화(symmetric cryptography)로도 일컬어지는 비밀키 암호화는 메시지를 암호화하고 해독하기 위하여 동일한 키(key)를 사용한다. 메시지를 교환하고자 하는 두 당사자는 먼저 안전하게 비밀키를 교환하여야 한다.Secret-key cryptography, also called symmetric cryptography, uses the same key to encrypt and decrypt messages. The two parties wishing to exchange messages must first securely exchange their private keys.

비대칭 암호화(asymmetric cryptography)로도 일컬어지는 공개키 암호화는두 개의 암호화 키를 사용한다. 두 개의 키는 하나의 키를 사용하여 암호화된 메시지가 오직 다른 키를 사용하여야만 해독되는 식으로 수학적으로 관련된다. 이들 키 중 하나는 공개되지만, 나머지는 비밀로 유지된다. 공개키는 비밀키 소지자를 위하여 의도된 어떤 메시지를 암호화하는데 사용된다. 일단 공개키를 사용하여 암호화되면, 메시지는 오직 비밀키를 사용하여야만 해독될 수 있다. 따라서, 두 당사자는 먼저 비밀키를 교환하여야 할 필요가 없이 안전하게 메시지를 교환할 수 있다. 비밀키가 안전하다는 것을 보장하기 위하여, 비밀키 소지자가 키 쌍(key pair)을 생성하는 것이 보통이다.Public key cryptography, also called asymmetric cryptography, uses two cryptographic keys. Two keys are mathematically related in that a message encrypted using one key can only be decrypted using the other key. One of these keys is public, while the other is kept secret. The public key is used to encrypt any message intended for the secret key holder. Once encrypted using the public key, the message can only be decrypted using the private key. Thus, the two parties can exchange messages securely without having to exchange private keys first. To ensure that the secret key is secure, it is common for the secret key holder to generate a key pair.

공개키 암호화는 디지털 서명을 생성하는데 이용된다. 비밀키 소지자는 메시지의 알려진 해시(hash)를 생성하여 그 해시를 비밀키를 사용하여 암호화할 수 있다. 그러면, 공개키를 이용하여 암호화된 해시를 해독하고, 그 메시지에 대한 그 해시를 검증함으로써 암호화된 해시가 그 특정 메시지와 관련하여 비밀키 소지자의 서명을 구성하고 있음을 누구라도 검증할 수 있다. 서명이 메시지에 덧붙여져 있으면, 메시지의 수신자는 메시지가 진실한 것이며 전송 과정에서 변경되지 않았음을 모두 검증할 수 있다.Public key cryptography is used to generate digital signatures. The secret key holder can generate a known hash of the message and encrypt the hash using the secret key. Anyone can then verify that the encrypted hash constitutes the signature of the secret key holder with respect to that particular message by decrypting the encrypted hash using the public key and verifying the hash for that message. If a signature is attached to the message, the recipient of the message can both verify that the message is true and has not changed in the course of transmission.

공개키 암호화를 수행하기 위하여, 사칭(impersonation)을 방지하는 공개키를 분배하기 위한 방법이 있어야만 한다. 이것은 보통 인증서(certificate) 및 인증기관(certificate authority)을 이용하여 이루어진다. 인증기관은 공개키와 누군가의 신원(identity) 사이의 관계를 인증하는 신뢰받는 제3자(trusted third party)이다. 인증기관은 신원 문서(identity document)를 조사함으로써 그 사람의신원을 검증한 후 그 사람의 신원 상세정보(identity details) 및 비밀키를 포함하는 디지털 인증서(digital certificate)를 생성하여 서명한다. 그 인증기관을 신뢰하는 누구라도 인증서 상의 그 공개키가 진실한 것이라는 상당한 확실성을 가지고 사용할 수 있다. 그들은, 공개키가 널리 알려진 인증기관에 의하여 증명서가 실제로 서명되었음을 검증하기만 하면 된다.In order to perform public key cryptography, there must be a way to distribute the public key that prevents impersonation. This is usually done using certificates and certificate authorities. A certificate authority is a trusted third party that authenticates the relationship between a public key and someone's identity. The certification authority verifies the identity of the person by examining the identity document and then generates and signs a digital certificate containing the identity details and the secret key of the person. Anyone who trusts the certificate authority can use it with considerable certainty that the public key on the certificate is true. They only need to verify that the certificate is actually signed by a certificate authority whose public key is well known.

대부분의 거래 환경에서, 공개키 암호화는 디지털 서명을 생성하고 비밀 세션 키(secret session key)를 안전하게 교환하는 데만 이용된다. 기타의 모든 목적을 위하여는 비밀키 암호화가 사용된다.In most trading environments, public key cryptography is only used to generate digital signatures and securely exchange secret session keys. For all other purposes, secret key encryption is used.

이어지는 논의에서, 넷페이지 프린터와 서버 사이의 "안전한" 정보 전송에 관하여 언급하면, 실제로 일어나는 일은 프린터가 서버의 인증서를 획득하고, 인증기관과 관련하여 그것을 인증하고, 서버와 비밀 세션 키를 교환하기 위해서 인증서 내에서 공개 키교환 키(public key-exchange key)를 사용하며, 메시지 데이터를 암호화하기 위하여 그 비밀 세션 키를 사용하는 것이다. "세션(session) 키"가 임의의 짧은 유효기간을 가질 수 있음은 자명하다.In the discussion that follows, referring to the "secure" transfer of information between a netpage printer and a server, what actually happens is that the printer obtains the server's certificate, authenticates it with a certificate authority, and exchanges a secret session key with the server. To do this, you use a public key-exchange key in the certificate, and use that secret session key to encrypt the message data. It is obvious that a "session key" can have any short validity period.

3.2 넷페이지 프린터 보안(NETPAGE PRINTER SECURITY)3.2 NETPAGE PRINTER SECURITY

각각의 넷페이지 프린터는 프린터의 롬(read-only memory) 및 넷페이지 등록 서버 데이터베이스(netpage registration server database)에 저장되는 한 쌍의 고유 ID(identifier)가 제조 당시에 지정된다. 제1 ID(62)는 공개되어 그 프린터를 넷페이지 네트워크 상에서 고유하게 식별한다. 제2 ID는 비밀로서 프린터가 네트워크 상에 최초로 등록될 때 사용된다.Each netpage printer is assigned at the time of manufacture a pair of unique identifiers stored in the printer's read-only memory and the netpage registration server database. The first ID 62 is published to uniquely identify the printer on the netpage network. The second ID is secret and is used when the printer is first registered on the network.

프린터가 설치된 후 넷페이지 네트워크에 최초로 접속되면, 그것은 서명 공개/비밀 키 쌍(signature public/private key pair)을 생성한다. 그것은 비밀 ID 및 공개키를 안전하게 넷페이지 등록 서버로 전송한다. 서버는 그 비밀 ID를 데이터베이스에 저장된 그 프린터의 비밀 ID와 비교하여, ID가 일치하면 등록을 수락한다. 그 뒤 프린터의 공개 ID 및 공개 서명 키를 포함하는 인증서를 생성하여 서명하고, 인증서를 등록 데이터베이스에 저장한다.The first time you connect to a netpage network after the printer is installed, it generates a signature public / private key pair. It sends the secret ID and public key securely to the netpage registration server. The server compares the secret ID with that printer's secret ID stored in the database and accepts the registration if the IDs match. It then generates and signs a certificate containing the printer's public ID and public signing key, and stores the certificate in a registration database.

넷페이지 등록 서버는 프린터 정체(printer identity)를 검증할 수 있도록 비밀 정보에 관한 접근 권한을 가지고 있기 때문에 넷페이지 프린터에 대하여 인증기관으로서 작용한다.The netpage registration server acts as a certification authority for netpage printers because it has access to confidential information to verify printer identity.

사용자가 어느 출판물을 구독하면, 그 출판인에게 권한을 부여하는 넷페이지 등록 서버 데이터베이스에 그 사용자의 기본 프린터 또는 특정 프린터에서 그 출판물을 인쇄하기 위한 기록이 생성된다. 페이지 서버를 경유하여 프린터로 보내지는 모든 문서는 특정 사용자에게 어드레스(address)되고 출판인의 비밀 서명 키를 이용하여 그 출판인에 의하여 서명된다. 페이지 서버는 등록 데이터베이스를 경유하여 출판인이 특정 사용자에게 그 출판물을 배달하도록 허가되었는지를 검증한다. 페이지 서버는 등록 데이터베이스에 저장된 출판인의 인증서로부터 얻어지는 출판인의 공개키를 이용하여 서명을 검증한다.When a user subscribes to a publication, a record is created in the netpage registration server database that authorizes that publisher to print the publication on that user's default printer or a particular printer. All documents sent to the printer via the page server are addressed to a particular user and signed by that publisher using the publisher's secret signature key. The page server verifies through the registration database that the publisher is authorized to deliver the publication to a particular user. The page server verifies the signature using the publisher's public key obtained from the publisher's certificate stored in the registration database.

요청이 프린터에 등록된 펜을 통하여 개시되는 한, 넷페이지 등록 서버는 인쇄 권한을 데이터베이스에 추가하라는 요청을 수락한다.As long as the request is initiated through a pen registered with the printer, the netpage registration server accepts the request to add print rights to the database.

3.3 넷페이지 펜 보안(NETPAGE PEN SECURITY)3.3 NETPAGE PEN SECURITY

각각의 넷페이지 펜은 제조 당시에 펜의 롬(read-only memory) 및 넷페이지 등록 서버 데이터베이스에 저장되는 고유 ID(identifier)가 지정된다. 펜 ID(61)는 넷페이지 네트워크 상에서 그 펜을 유일하게 식별한다.Each Netpage pen is assigned a unique identifier that is stored at the time of manufacture in the pen's read-only memory and the Netpage Registration Server database. Pen ID 61 uniquely identifies the pen on the netpage network.

하나의 넷페이지 펜은 다수의 넷페이지 프린터를 "인지(know)"할 수 있으며, 하나의 프린터는 다수의 펜을 "인지"할 수 있다. 펜은 프린터의 범위 내에 있을 때면 언제나 무선 주파수 신호를 통하여 프린터와 통신한다. 일단 펜과 프린터가 등록되면, 규칙적으로 세션 키(session key)를 교환한다. 펜이 프린터로 디지털 잉크를 전송할 때마다 디지털 잉크는 항상 적절한 세션 키를 이용하여 암호화된다. 디지털 잉크는 결코 소거된 채로 전송되지 않는다.One netpage pen can "know" a number of netpage printers, and one printer can "know" a number of pens. The pen communicates with the printer via radio frequency signals whenever it is in range of the printer. Once the pen and printer are registered, they regularly exchange session keys. Each time the pen sends digital ink to the printer, the digital ink is always encrypted using the appropriate session key. Digital ink is never sent erased.

펜은 인지하고 있는 모든 프린터마다 프린터 ID에 의하여 색인되는 세션 키를 저장하며, 프린터는 모든 펜마다 펜 ID에 의하여 색인되는 세션 키를 저장한다. 양자 모두는 세션키를 위하여 크지만 유한한 저장 용량을 가지며, 필요하다면 LRU 기반(least-recently-used basis)으로 세션 키를 무시할 수 있다.The pen stores the session key indexed by the printer ID for every printer it recognizes, and the printer stores the session key indexed by the pen ID for every pen. Both have a large but finite storage capacity for the session key and can ignore the session key on a LRU (least-recently-used basis) if necessary.

펜이 프린터의 영역 내로 오면, 펜과 프린터는 상호 인식 여부를 탐색한다. 상호 인식하지 않고 있는 경우, 프린터는 그 펜을 인식하기로 되어 있는지 여부를 판단한다. 이것은 예를 들어 그 펜이 그 프린터를 이용하도록 등록된 사용자의 소유이기 때문일 수 있다. 만일 프린터가 그 펜을 인식하기로 되어 있으나 인식하지 못하는 경우에는, 프린터가 자동 펜 등록 절차(automatic pen registration procedure)를 개시한다. 만일 프린터가 그 펜을 인식하도록 되어 있지 않다면, 등록 절차를 개시하게 되는 시점인 펜이 충전 컵(charging cup)에 놓이는 때까지 그펜을 무시하기로 펜과 합의한다.When the pen comes into the area of the printer, the pen and the printer look for mutual recognition. If not mutually recognized, the printer determines whether the pen is to be recognized. This may be because, for example, the pen is owned by a user registered to use the printer. If the printer is supposed to recognize the pen but does not, the printer initiates an automatic pen registration procedure. If the printer is not designed to recognize the pen, it agrees with the pen to ignore the pen until the pen is placed in the charging cup, at which point the registration process begins.

공개 ID에 더하여, 펜은 비밀 키교환 키(secret key-exchange key)를 포함한다. 키교환 키도 역시 제조 당시에 넷페이지 등록 서버 데이터베이스에 기록된다. 등록하는 동안, 펜은 프린터로 펜 ID를 전송하며, 프린터는 넷페이지 등록 서버로 그 펜 ID를 전송한다. 서버는 그 프린터와 판형이 사용할 세션 키를 생성하여 안전하게 세션 키를 프린터로 전송한다. 또한 서버는 그 펜의 키교환 키를 이용하여 암호화된 세션 키의 사본도 전송한다. 프린터는 세션 키를 펜 ID에 따라 색인하여 내부적으로 저장하고 암호화된 세션 키를 펜으로 전송한다. 펜은 프린터 ID에 따라 색인하여 그 세션키를 내부적으로 저장한다.In addition to the public ID, the pen includes a secret key-exchange key. The key exchange key is also recorded at the time of manufacture in the netpage registration server database. During registration, the pen sends the pen ID to the printer, and the printer sends the pen ID to the netpage registration server. The server securely sends the session key to the printer by generating a session key for use with the printer and version. The server also sends a copy of the session key encrypted using the pen's key exchange key. The printer indexes the session key according to the pen ID and stores it internally and sends the encrypted session key to the pen. The pen indexes according to the printer ID and stores the session key internally.

위조 펜(fake pen)이 펜 등록 프로토콜(pen registration protocol)을 사칭할 수 있음에도 불구하고, 오직 진정한 펜만이 프린터로부터 전송된 세션 키를 해독할 수 있다.Although a fake pen can impersonate a pen registration protocol, only a true pen can decrypt the session key sent from the printer.

이전에 미등록된 펜이 최초로 등록되면, 그것이 사용자에 연결될 때까지는 제한적으로 사용된다. 등록되었으나 "소유되지 않은(un-owned)" 펜은 단지 넷페이지 사용자 및 펜 등록 양식을 요청 및 기입하는 경우, 새로운 펜이 자동적으로 연결되는 새로운 사용자를 등록하는 경우 및 기존 사용자에게 새로운 펜을 추가하는 경우에만 사용이 허가된다.When a previously unregistered pen is initially registered, it is of limited use until it is connected to the user. Registered but "un-owned" pens only request and fill out Netpage users and pen registration forms, register new users with new pens automatically linked, and add new pens to existing users. Licensed use only.

펜의 하드웨어 성능 제약(hardware performance constraints)때문에, 펜은 공개키 암호화보다는 비밀키 암호화를 사용한다.Because of the pen's hardware performance constraints, the pen uses secret key cryptography rather than public key cryptography.

3.4 보안 문서(SECURE DOCUMENTS)3.4 SECURE DOCUMENTS

넷페이지 시스템은 티켓이나 쿠폰과 같은 보안 문서의 배달을 지원한다. 넷페이지 프린터는 워터마크 인쇄 기능을 포함하지만, 적절하게 권한을 부여받은 출판인으로부터의 요청이 있는 경우에만 그렇게 한다. 출판인은 워터마크를 인쇄하는 권한을 인증서 내에 표시하며, 프린터는 이를 인증할 수 있다.Netpage systems support the delivery of secure documents such as tickets and coupons. Netpage printers include a watermark printing function, but only upon request from a properly authorized publisher. The publisher indicates in the certificate the authority to print the watermark, which the printer can authenticate.

"워터마크" 인쇄 절차는 그 페이지의 특정 "워터마크" 영역에서 대체 디더 매트릭스(alternative dither matrix)를 이용한다. 연속하는 페이지(back-to-back pages)는 인쇄될 때에 같은 공간을 차지하는 미러 이미지(mirror-image) 워터마크 영역을 포함한다. 홀수 및 짝수 페이지의 워터마크 영역에서 사용되는 디더 매트릭스는, 인쇄된 용지를 "비쳐볼 때" 이들 영역이 간섭 효과(interference effect)를 일으키도록 설계된다.The "watermark" printing procedure uses an alternate dither matrix in a particular "watermark" area of the page. Contiguous back-to-back pages include a mirror-image watermark area that occupies the same space when printed. Dither matrices used in the watermark areas of odd and even pages are designed such that these areas cause an interference effect when "viewing" the printed paper.

그 효과는 페이지의 한쪽 면만을 볼 때는 드러나지 않고, 또한 페이지가 일반적인 수단으로 복사되면 사라진다는 점에서 워터마크와 흡사하다.The effect is similar to a watermark in that it is invisible when only one side of the page is seen and disappears when the page is copied by normal means.

보안 문서의 페이지는 위 섹센1.9에서 설명된 내장형 넷페이지 복사 메커니즘(built-in netpage copy mechanism)을 이용하여 복사될 수 없다. 이것은 넷페이지 인식 복사기(netpage-aware photocopier)에서 넷페이지를 복사하는 것으로 확장된다.Pages of a secure document cannot be copied using the built-in netpage copy mechanism described in section 1.9 above. This extends to copying netpages from a netpage-aware photocopier.

보안문서는 대개 전자상거래 거래(e-commerce transaction)의 일부로서 생성된다. 따라서 이들은 섹션 2에서 설명된 바와 같이 넷페이지 등록 서버에 신상정보를 등록하였을 때 획득되는 사용자의 사진을 포함할 수 있다.Security documents are usually created as part of an e-commerce transaction. Thus, they may include a picture of the user obtained when registering the personal information with the netpage registration server as described in section 2.

보안 넷페이지 문서가 제공될 때, 수신자는 일반적인 방법으로 그 상태를 요청함으로써 그 권한을 검증할 수 있다. 보안 문서의 고유 ID는 문서의 유효기간 동안에만 유효하며, 보안 문서 ID는 기회주의적 위조범에 의한 예측을 방지하기 위해 불연속적으로 할당된다. 보안 문서 검증 펜(secure document verification pen)은 용이한 즉시 문서 검증(point-of-presentation document verification)을 지원하기 위하여 검증 실패에 대한 피드백(feedback)을 내장하도록 개발될 수 있다.When a secure netpage document is provided, the recipient can verify its authority by requesting its status in the usual way. The unique ID of the secure document is valid only for the validity of the document, and the secure document ID is assigned discontinuously to prevent prediction by opportunistic counterfeiters. Secure document verification pens can be developed to embed feedback on verification failures to facilitate point-of-presentation document verification.

워터마크도, 사용자의 사진도 암호화적 관점(cryptographic sense)에서는 안전하지 않음이 명백하다. 이들은 단지 우연한 위조에 대한 상당한 장애물을 제공할 뿐이다. 온라인 문서 검증, 특히 검증 펜(verification pen)을 이용한 온라인 문서 검증은 보안이 필요한 곳에서 보안의 등급을 높이지만, 여전히 위조를 완벽히 방어하지는 못한다.It is clear that neither watermarks nor user photos are secure from a cryptographic sense. They merely provide a significant obstacle to accidental forgery. Online document verification, especially online verification using a verification pen, increases the level of security where security is needed, but still does not fully defend against counterfeiting.

3.5 수취 거절 불능성(NON-REPUDIATION)3.5 NON-REPUDIATION

넷페이지 시스템에서, 사용자에 의하여 제출된 양식은 양식 취급자(forms handler)에게 신뢰성 있게 전송되며, 지속적으로 넷페이지 페이지 서버에서 보존된다. 따라서 수신자의 수취 거절은 불가능하다.In a netpage system, forms submitted by the user are reliably sent to the forms handler and persisted on the netpage page server. Therefore, it is impossible for the recipient to refuse receipt.

섹션 4에서 설명되는 바와 같은, 시스템을 통하여 이루어지는 전자상거래 지불 역시 지불하는 자가 수취거절할 수 없다.E-commerce payments made through the system, as described in section 4, also cannot be rejected by the payer.

4. 전자상거래 모델(ELECTRONIC COMMERCE MODEL)4. ELECTRONIC COMMERCE MODEL

4.1 보안 전자 거래(SET)4.1 Secure Electronic Transactions (SET)

넷페이지 시스템은 보안 전자 거래(Secure Electronic Transaction)(SET) 시스템을 지불 시스템(payment system)의 하나로 이용한다. 마스타카드(MasterCard)및 비자(Visa)에 의하여 개발된 SET는 지불 카드(payment card)를 중심으로 구성되며, 이것이 용어에 반영된다. 그러나, 시스템의 상당 부분은 사용되는 계좌의 종류와는 독립적이다.The Netpage system uses a Secure Electronic Transaction (SET) system as one of the payment systems. Developed by MasterCard and Visa, the SET is built around a payment card, which is reflected in the term. However, much of the system is independent of the type of account used.

SET에서, 카드 소지자 및 판매자는 인증서 권한을 등록하고, 자기의 공개 서명 키를 포함하는 인증서를 발급받는다. 인증서 권한은 카드 발행자에 관한 카드 소지자의 등록 세부정보(registration details)를 적절한 것(appropriate)으로 검증하며, 취득자에 대한 판매자의 등록 세부정보를 적절한 것으로 검증한다. 카드 소지자 및 판매자는 각각 자기의 비밀 서명 키를 안전하게 자기의 컴퓨터에 저장한다. 지불 절차 동안에 이들 인증서는 판매자와 카드 소지자를 상호 인증하고 지불 게이트웨이(payment gateway)에 인증시키는 데에 이용된다.In the SET, the cardholder and the seller register the certificate authority and are issued a certificate including their public signing key. The certificate authority verifies the cardholder's registration details about the card issuer as appropriate and verifies the registration details of the seller for the acquirer as appropriate. The cardholder and the seller each securely store their secret signature key on their computer. During the payment process these certificates are used to mutually authenticate the seller and the cardholder and to the payment gateway.

SET는 아직 널리 적용되지 않았는데, 이는 카드 소지자가 키와 인증서를 관리하는 것을 번거롭게 여기는 것에 부분적으로 기인한다. 카드 소지자의 키와 인증서를 서버 상에 관리하고 카드 소지자에게 비밀번호(password)를 통한 접속을 부여하는 경과적 해결책(interim solution)이 다소 성공적이었다.SET has not yet been widely applied, in part because cardholders find it cumbersome to manage keys and certificates. The interim solution of managing the cardholder's keys and certificates on the server and granting the cardholder access via password has been somewhat successful.

4.2 SET 지불(SET PAYMENTS)4.2 SET PAYMENTS

넷페이지 시스템에서 넷페이지 등록 서버는 SET 지불 거래에서 넷페이지 사용자(즉, 카드 소지자)의 대리인(proxy)으로서 작용한다.In a netpage system, the netpage registration server acts as a proxy for the netpage user (ie, cardholder) in a SET payment transaction.

넷페이지 시스템은 사용자를 인증하고 SET 지불 권한을 부여하기 위하여 생체정보(biometrics)를 이용한다. 시스템이 펜 기반(pen-based)이기 때문에, 이용되는 생체정보는 시간에 따라 변화하는 펜 위치 및 압력으로 이루어지는 사용자의 온라인 서명이 된다. 지문 생체정보 역시 가격은 비싸지겠지만 펜에 지문 센서를 설계함으로써 이용될 수 있다. 이용되는 생체정보의 종류는 생체정보 획득에만 영향을 미칠 뿐, 시스템의 권한 부여 측면에는 영향을 미치지 않는다.The Netpage system uses biometrics to authenticate users and authorize SET payment. Since the system is pen-based, the biometric information used becomes the user's online signature of pen position and pressure that changes over time. Fingerprint biometrics will also be expensive, but can be used by designing a fingerprint sensor on the pen. The type of biometric information used only affects the acquisition of biometric information, but does not affect the authorization aspects of the system.

SET 지불을 수행하는 첫째 단계는 사용자의 생체정보를 넷페이지 등록 서버에 등록하는 것이다. 이것은 제어되는 환경, 예를 들어 은행과 같은 곳에서 이루어지는데, 그곳에서 사용자의 신원(identity)이 검증됨과 동시에 생체정보가 획득된다. 생체정보는 획득되어 사용자 레코드(user's record)와 연결된 등록 데이터베이스(registration database)에 저장된다. 사용자의 사진 역시 선택 사항으로 획득되어 그 기록에 연결될 수 있다. SET 카드 소지자 등록 절차가 완료되면 그에 따른 개인 서명 키 및 인증서가 데이터베이스에 저장된다. 사용자의 지불카드 정보(payment card information) 또한 SET 지불 거래에 있어서 그 사용자의 대리인으로서 작용하기에 충분한 정보를 제공하도록 넷페이지 등록 서버에 저장된다.The first step in performing SET payments is to register the user's biometric information with the netpage registration server. This is done in a controlled environment, for example a bank, where the user's identity is verified and biometric information is obtained. Biometric information is obtained and stored in a registration database associated with a user's record. The user's picture may also be optionally acquired and linked to the record. After the SET cardholder registration process is completed, the corresponding private signing key and certificate are stored in the database. The user's payment card information is also stored in the netpage registration server to provide enough information to act as the user's agent in the SET payment transaction.

사용자가 지불을 완료하기 위하여 예를 들어 넷페이지 주문 양식에 서명함으로써 생체정보를 제공하면, 프린터는 안전하게 그 주문 정보, 펜 ID 및 생체정보 데이터를 넷페이지 등록 서버로 전송한다. 서버는 펜 ID에 의하여 특정되는 사용자와 관련하여 그 생체정보를 검증하고, 그 다음부터는 그 SET 지불 거래를 완료함에 있어서 사용자의 대리인으로서 작용한다.When the user provides biometric information, for example by signing a netpage order form to complete a payment, the printer securely sends the order information, pen ID and biometric data to the netpage registration server. The server verifies the biometric information with respect to the user specified by the pen ID, and then acts as the agent of the user in completing the SET payment transaction.

4.3 소액 지불(MICRO-PAYMENTS)4.3 Micropayments (MICRO-PAYMENTS)

넷페이지 시스템은 사용자로 하여금 주문된 저렴한 문서의 인쇄 및 저작권 있는 문서(copyright document)의 복사에 대하여 편리하게 결제할 수 있도록 하고,가능하다면 사용자가 광고되는 물품을 인쇄함으로써 부과되는 비용을 결제할 수 있도록 하는 소액 지불(micro-payment)을 위한 메커니즘을 포함한다. 그중 후자는 사용자에게 이미 제공된 보조금의 정도(level of subsidy)에 달려있다.The Netpage system allows users to conveniently pay for the printing of inexpensive documents ordered and copies of copyright documents, and if possible, the user to pay the costs incurred by printing the advertised article. It includes mechanisms for micro-payment. The latter depends on the level of subsidy already provided to the user.

사용자가 전자상거래에 등록하면, 소액 지불을 취합하는 네트워크 계정(network account)이 개설된다. 사용자는 정기적으로 고지서(statement)를 수신하며, 표준 지불 메커니즘을 이용하여 미지불 지출 잔액을 지불할 수 있다.When a user registers for an e-commerce transaction, a network account is created that collects micropayments. The user receives the statement on a regular basis and can pay the outstanding balance by using standard payment mechanisms.

네트워크 계정은 정기 간행물의 구독료를 취합하도록 확장될 수 있는데, 물론 그렇지 않더라도 별개의 고지서의 형태로 사용자에게 제공될 수 있다.The network account may be extended to collect subscription fees for periodicals, which may of course be provided to the user in the form of a separate bill.

4.4 거래(TRANSACTIONS)4.4 TRANSACACTIONS

사용자가 특정 애플리케이션의 맥락에서 넷페이지를 요청하면, 애플리케이션은 사용자에 특유한 거래 ID(user-specific transaction ID)(55)를 그 페이지에 내장할 수 있다. 그 페이지를 통한 후속 입력에는 그 거래 ID가 덧붙여지므로, 애플리케이션은 그 사용자의 입력에 대한 적절한 맥락을 확보할 수 있다.If a user requests a netpage in the context of a particular application, the application may embed a user-specific transaction ID 55 in the page. Subsequent input through the page is appended with the transaction ID, so that the application can obtain the proper context for that user's input.

그러나 사용자에 특유한 것이 아닌 페이지를 통한 입력이 발생하면, 애플리케이션은 맥락을 확보하기 위하여 그 사용자의 고유 신원(unique identity)을 이용하여야 한다. 전형적인 예는 미리 인쇄된 카탈로그 페이지로부터 사용자의 가상 "장바구니"(virtual "shopping cart")로 물품을 추가하는 것이다. 그러나 사용자의 프라이버시를 보호하기 위하여, 넷페이지 시스템에 알려진 고유 사용자 ID(60)는 애플리케이션에 노출되지 않는다. 이것은 다른 애플리케이션 제공자가 개별적으로 축적된 행동양식 데이터(behavioral data)를 용이하게 연관짓지 못하도록 하기 위한 것이다.However, when input through a page that is not user-specific occurs, the application must use that user's unique identity to establish context. A typical example is to add an item from a preprinted catalog page to the user's virtual "shopping cart". However, to protect the privacy of the user, the unique user ID 60 known to the netpage system is not exposed to the application. This is to prevent other application providers from easily associating individually accumulated behavioral data.

넷페이지 등록 서버는 대신 도 24에 나타난 바와 같이 사용자와 애플리케이션 사이에서 고유 별명 ID(unique alias ID)(65)를 통한 익명 관계를 유지한다. 사용자가 "등록" 속성이 덧붙여진 하이퍼링크를 활성화시킬 때마다 넷페이지 페이지 서버는 넷페이지 등록 서버에 관련 애플리케이션 ID(64)와 펜 ID(61)를 함께 별명 ID(65)로 변환할 것을 요청한다. 별명 ID는 그 다음 하이퍼링크의 애플리케이션으로 제출된다.The netpage registration server instead maintains an anonymous relationship via a unique alias ID 65 between the user and the application, as shown in FIG. Whenever a user activates a hyperlink with the "register" attribute, the netpage page server requests the netpage registration server to convert the associated application ID 64 and pen ID 61 together to an alias ID 65. . The alias ID is then submitted to the application of the hyperlink.

애플리케이션은 별명 ID에 따라 색인된 상태 정보(state information)를 유지하며, 그 사용자의 전역적 신원(global identity)에 대한 지식이 없이도 사용자에 특유한 상태 정보(user-specific state information)를 검색할 수 있다.The application maintains state information indexed by alias ID, and can retrieve user-specific state information without knowledge of the user's global identity. .

시스템은 또한 사용자를 위하여, 애플리케이션에 특유한 정보만을 이용하여 애플리케이션 처리사항에 서명할 수 있도록, 사용자의 애플리케이션 각각을 위한 독립적인 인증서(independent certificate) 및 비밀키를 유지한다.The system also maintains an independent certificate and private key for each of the user's applications, so that the user can use only application-specific information to sign application processing.

시스템에 제품 바코드(product bar code)(UPC)의 "하이퍼링크" 활성화 경로 지정(routing)을 돕기 위하여, 시스템은 사용자를 위하여 임의의 개수의 제품 종류에 대한 즐겨찾기 애플리케이션(favorites application)을 기록한다.To assist in routing the "hyperlink" activation of the product bar code (UPC) to the system, the system records favorites applications for any number of product types for the user. .

각각의 애플리케이션은 하나의 애플리케이션 제공자에 관련되고, 시스템은 각각의 애플리케이션 제공자를 위하여 계정을 유지함으로써 제공자의 클릭-스루 요금(click-through fee) 등이 입출금되도록 한다.Each application is associated with one application provider, and the system maintains an account for each application provider so that the provider's click-through fee and the like are deposited and withdrawn.

애플리케이션 제공자는 정기적으로 구독되는 내용(periodical subscribedcontent)의 출판인이 될 수 있다. 시스템은 출판물의 예상 빈도(expected frequency of publication)뿐만 아니라, 구독 출판물을 수신하고자 하는 사용자의 의향(willingness)도 기록한다.An application provider can be a publisher of periodic subscribedcontent. The system records not only the expected frequency of publication, but also the willingness of a user to receive a subscription publication.

4.5 자원 명세 및 저작권(RESOURCE DESCRIPTIONS AND COPYRIGHT)4.5 RESOURCE DESCRIPTIONS AND COPYRIGHT

자원 명세 클래스도의 바람직한 실시예가 도 40에 나타나 있다.A preferred embodiment of the inventory class diagram is shown in FIG. 40.

각각의 문서 및 내용 오브젝트는 하나 또는 그 이상의 자원 명세(842)에 의하여 기술될 수 있다. 자원 명세는 전자적 자원(electronic resource)의 발견을 용이하게 하도록 설계된 더블린 코어 메타데이터 요소 셋(Dublin Core metadata element set)을 이용한다. 더블린 코어 메타데이터는 W3C(World Wide Web Consortium) RDF(Resource Description Framework)를 따른다Each document and content object may be described by one or more inventory 842. The inventory uses a Dublin Core metadata element set designed to facilitate the discovery of electronic resources. Dublin Core metadata follows the World Wide Web Consortium (W3C) Resource Description Framework (RDF)

자원 명세는 권리자(rights holder)(920)를 식별할 수 있다. 넷페이지 시스템은 사용자가 저작권 있는 내용을 인쇄할 때 자동적으로 저작권료를 사용자로부터 권리자에게로 전송한다.The inventory may identify the rights holder 920. The netpage system automatically transfers the royalty from the user to the owner when the user prints the copyrighted content.

5. 통신 프로토콜(Communications Protoclos)5. Communication Protocols

통신프로토콜은 실체(entity) 사이의 메시지의 규칙에 따른 교환(ordered exchange)을 정의한다. 넷페이지 시스템에서, 펜, 프린터 및 서버와 같은 실체는 사용자와 넷페이지 시스템과의 상호작용을 협동적으로 처리하기 위하여 한 벌의 정의된 프로토콜을 이용한다.The communication protocol defines an ordered exchange of messages between entities. In netpage systems, entities such as pens, printers, and servers use a suite of defined protocols to cooperatively handle the user's interaction with the netpage system.

각각의 프로토콜은 수평적 차원(horizontal dimension)이 메시지 흐름을 표현하기 위하여 이용되고 수직적 차원(vertical dimension)이 시간을 표현하기 위하여 이용되는 시퀀스도(sequence diagram)의 방법으로 표현될 수 있다. 각각의 실체는 그 실체의 명칭을 포함하는 직사각형 및 그 실체의 생명선(lifeline)을 나타내는 수직 열(vertical column)에 의하여 표현된다. 실체가 존속하는 동안, 생명선은 파선(dashed line)으로 나타난다. 실체가 활성화된 동안에는 생명선이 겹선(double line)으로 나타난다. 여기에서 고려되는 프로토콜은 실체를 생성하거나 소멸시키지 않으므로, 생명선은 일반적으로 실체가 프로토콜에 참여를 중단하자마자 절단된다.Each protocol can be represented in the manner of a sequence diagram in which the horizontal dimension is used to represent the message flow and the vertical dimension is used to represent time. Each entity is represented by a rectangle containing the name of the entity and a vertical column representing the lifeline of that entity. While reality persists, lifelines appear as dashed lines. The lifeline appears as a double line while the entity is active. Since the protocol contemplated herein does not create or destroy an entity, the lifeline is generally truncated as soon as the entity stops participating in the protocol.

5.1 구독 배달 프로토콜(SUBSCRIPTION DELIVERY PROTOCOL)5.1 Subscription Delivery Protocol (SUBSCRIPTION DELIVERY PROTOCOL)

구독 배달 프로토콜의 바람직한 실시예가 도 43에 나타나 있다.A preferred embodiment of a subscription delivery protocol is shown in FIG. 43.

다수의 사용자가 정기 출판물을 구독할 수 있다. 각각의 사용자의 판형은 상이하게 레이아웃될 수 있으나, 다수의 사용자의 판형은 공통적인 내용, 가령 텍스트 오브젝트 및 이미지 오브젝트를 공유하게 된다. 따라서 구독 배달 프로토콜은 포인트캐스트를 통하여 각각의 프린터로 문서 구조(document structure)를 배달하지만, 공유되는 내용 오브젝트는 멀티캐스트를 통하여 배달한다.Multiple users can subscribe to regular publications. Each user's plate shape may be laid out differently, but multiple user's plate shapes share common content, such as text objects and image objects. Thus, the subscription delivery protocol delivers the document structure to each printer via pointcast, while the shared content object delivers via multicast.

애플리케이션(즉, 출판인)은 먼저 ID 서버(12)로부터 각각의 문서에 대한 문서 ID(51)를 획득한다. 그리고, 문서 ID 및 페이지 명세를 포함하는 각각의 문서 구조를 그 문서의 새로 할당된 ID를 담당하는 페이지 서버(10)로 보낸다. 애플리케이션은 자기의 애플리케이션 ID(64), 구독자의 별명 ID(65) 및 관련된 멀티캐스트 채널 명칭 모음을 포함한다. 애플리케이션은 자기의 개인 서명 키를 이용하여 메시지에 서명한다.The application (ie, publisher) first obtains a document ID 51 for each document from ID server 12. Each document structure including the document ID and page specification is then sent to the page server 10 in charge of the newly assigned ID of the document. The application includes its application ID 64, subscriber's alias ID 65, and associated multicast channel name collection. The application signs the message using its private signature key.

페이지 서버는 등록 서버로부터 관련된 사용자 ID(60), 사용자의 선택된 프린터 ID(62)(그 애플리케이션을 위하여 명시적으로 선택될 수도 있고, 사용자의 기본 프린터가 될 수도 있다) 및 애플리케이션의 인증서를 획득하기 위하여 애플리케이션 ID 및 별명 ID를 이용한다.The page server obtains the associated user ID 60, the user's selected printer ID 62 (which may be explicitly selected for that application, may be the user's default printer), and the application's certificate from the registration server. Application ID and alias ID are used for this purpose.

애플리케이션의 인증서는 페이지 서버가 메시지 서명을 검증하도록 한다. 애플리케이션 ID 및 별명 ID가 구독(808)을 함께 식별하지 않으면 등록 서버에 대한 페이지 서버의 요청이 실패(fail)한다.The application's certificate allows the page server to verify the message signature. If the application ID and alias ID do not identify the subscription 808 together, the page server's request to the registration server fails.

그리고 나서 페이지 서버는 문서 및 페이지 인스턴스 ID를 할당하고 페이지 ID(50)를 포함하는 페이지 명세를 프린터로 전송(forward)한다. 그것은 프린터가 청취할 관련 멀티캐스트 채널 명칭 모음(relevant set of multicast channel names)을 포함한다.The page server then assigns a document and page instance ID and forwards the page specification including the page ID 50 to the printer. It contains the relevant set of multicast channel names that the printer will listen to.

그리고 나서 그것은 새로이 할당된 페이지 ID를 추후의 참조를 위하여 리턴한다.It then returns the newly allocated page ID for later reference.

일단 애플리케이션이 모든 문서 구조를 관련 페이지 서버를 통하여 사용자 선택 프린터에 배분하면, 그것은 공유 오브젝트의 다양한 서브셋(subset)을 이전에 선택된 멀티캐스트 채널로 멀티캐스트한다. 페이지 서버 및 프린터는 적절한 멀티캐스트 채널을 추적하고 필요한 내용 오브젝트를 수신한다. 이들은 그리고 나서 이전의 포인트캐스트 문서 구조를 상주시킬 수 있다. 이것은 페이지 서버가 자기의 데이터베이스로 완전한 문서를 추가할 수 있도록 하고, 프린터가 그 문서를 인쇄할 수 있도록 한다.Once an application distributes all document structures to a user-selected printer via an associated page server, it multicasts various subsets of shared objects to previously selected multicast channels. The page server and printer keep track of the appropriate multicast channel and receive the necessary content objects. They can then reside in the previous pointcast document structure. This allows the page server to add a complete document to its database and allows the printer to print the document.

5.2 하이퍼링크 활성화 프로토콜(HYPERLINK ACTIVATION PROTOCOL)5.2 HYPERLINK ACTIVATION PROTOCOL

하이퍼링크 활성화 프로토콜의 바람직한 실시예가 도 45에 나타나 있다.A preferred embodiment of the hyperlink activation protocol is shown in FIG. 45.

사용자가 넷페이지 펜으로 넷페이지를 클릭하면, 펜은 그 클릭에 대하여 가장 가까운 넷페이지 프린터(601)와 통신한다. 클릭은 그 페이지와 그 페이지 상에서의 위치를 식별한다. 프린터는 이미 펜 접속 프로토콜(pen connection protocol)로부터 그 펜의 ID(61)를 인지하고 있다.When the user clicks on the netpage with the netpage pen, the pen communicates with the closest netpage printer 601 for that click. The click identifies the page and its location on the page. The printer already knows the ID 61 of the pen from the pen connection protocol.

프린터는 DNS를 경유하여 특정 페이지 ID(50)를 다루는 페이지 서버(10a)의 네트워크 어드레스를 판단한다. 그 어드레스는 사용자가 최근에 동일한 페이지에 대하여 상호작용을 하였다면 캐시에 저장되어 있을 수도 있다. 그리고 나서 프린터는 그 펜 ID, 자기의 프린터 ID(62), 페이지 ID 및 클릭 위치(click location)를 페이지 서버로 전송(forward)한다.The printer determines the network address of the page server 10a dealing with the specific page ID 50 via DNS. The address may be stored in the cache if the user has recently interacted with the same page. The printer then forwards the pen ID, its printer ID 62, page ID and click location to the page server.

페이지 서버는 페이지 ID에 의하여 식별되는 페이지 명세(5)를 불러(load), (만약 존재한다면,) 어떤 입력 요소의 구역(58)에 그 클릭이 위치하는지를 판단한다. 관련 입력 요소가 하이퍼링크 요소(844)라고 가정할 때, 페이지 서버는 관련 애플리케이션 ID(64) 및 링크 ID(54)를 획득하고, 그 애플리케이션(71)을 운용하는 애플리케이션 서버의 네트워크 어드레스를 DNS를 경유하여 판단한다.The page server loads the page specification 5 identified by the page ID and determines (if present) the zone in which input element 58 the click is located. Assuming that the associated input element is a hyperlink element 844, the page server obtains the associated application ID 64 and the link ID 54, and retrieves the network address of the application server running the application 71 from DNS. Judge through.

페이지 서버는 등록 서버(11)로부터 대응되는 사용자 ID(61)를 얻기 위하여 펜 ID(61)를 이용하고, 전역적 고유 하이퍼링크 요청 ID(globally unique hyperlink request ID)(52)를 할당하고 하이퍼링크 요청(934)을 구축한다. 하이퍼링크 요청 클래스도가 도 44에 나타나 있다. 하이퍼링크 요청은 요청하는 사용자 및 프린터의 ID를 기록하고, 클릭된 하이퍼링크 인스턴스(862)를 식별한다. 그 뒤페이지 서버는 자기의 서버 ID(53), 하이퍼링크 요청 ID 및 링크 ID를 애플리케이션으로 보낸다.The page server uses the pen ID 61 to obtain the corresponding user ID 61 from the registration server 11, assigns a globally unique hyperlink request ID 52 and hyperlinks. Construct request 934. The hyperlink request class diagram is shown in FIG. 44. The hyperlink request records the IDs of the requesting user and printer and identifies the clicked hyperlink instance 862. The page server then sends its server ID 53, hyperlink request ID and link ID to the application.

애플리케이션은 애플리케이션에 특유한 논리(application-specific logic)에 따라 응답 문서(response document)를 생성하고, ID 서버(12)로부터 문서 ID(51)를 얻는다. 그리고 나서 그것은 문서를 그 문서의 새로 할당된 ID(document's newly allocated ID)를 담당하는 페이지 서버(10b)로 요청하는 페이지 서버의 ID 및 하이퍼링크 요청 ID와 함께 보낸다.The application generates a response document according to application-specific logic and obtains a document ID 51 from the ID server 12. It then sends the document along with the page server's ID and hyperlink request ID to the page server 10b that is responsible for the document's newly allocated ID.

제2 페이지 서버는 대응되는 사용자 ID 및 프린터 ID(62)를 얻기 위하여 하이퍼링크 요청 ID 및 애플리케이션 ID를 제1 페이지 서버로 보낸다. 제1 페이지 서버는 하이퍼링크 요청이 만료되었거나 다른 애플리케이션으로부터의 것이면 그 요청을 거절(reject)한다.The second page server sends the hyperlink request ID and application ID to the first page server to obtain the corresponding user ID and printer ID 62. The first page server rejects the request if the hyperlink request has expired or is from another application.

제2 페이지 서버는 문서 인스턴스 및 페이지 ID(50)를 할당하고, 새로 할당된 페이지 ID를 그 애플리케이션으로 리턴하고, 완전한 문서를 자기의 데이터베이스에 추가하며, 끝으로 페이지 명세를 요청하는 프린터로 보낸다.The second page server allocates the document instance and page ID 50, returns the newly assigned page ID to the application, adds the complete document to its database, and finally sends it to the printer requesting the page specification.

하이퍼링크 인스턴스는 제2 페이지 서버가 애플리케이션으로 보내지는 메시지에 거래 ID를 포함하는 경우에 의미있는 거래 ID(meaningful transaction ID)(55)를 포함할 수 있다. 이것은 애플리케이션이 거래에 특유한 맥락(transaction-specific context)을 그 하이퍼링크 활성화에 수립하도록 한다.The hyperlink instance may include a meaningful transaction ID 55 if the second page server includes the transaction ID in the message sent to the application. This allows the application to establish a transaction-specific context for the hyperlink activation.

하이퍼링크가 사용자 별명을 요청하면, 즉 그 "별명 요청" 속성이 설정되면, 제1 페이지 서버는 펜 ID에 대응되는 사용자 ID뿐만 아니라 애플리케이션 ID 및 그사용자 ID에 대응되는 별명 ID(65)까지도 얻기 위해, 펜 ID(61) 및 하이퍼링크의 애플리케이션 ID(64) 모두를 등록 서버(11)로 보낸다. 그것은 애플리케이션에 보내지는 메시지에 별명 ID를 포함하여, 애플리케이션이 하이퍼링크 활성화에 대하여 사용자에 특유한 문맥을 확보하도록 한다.If the hyperlink requests a user alias, that is, its "alias request" attribute is set, the first page server obtains not only the user ID corresponding to the pen ID, but also the application ID and the alias ID 65 corresponding to the user ID. In order to do so, both the pen ID 61 and the application ID 64 of the hyperlink are sent to the registration server 11. It includes the alias ID in the message sent to the application, allowing the application to obtain a user-specific context for hyperlink activation.

5.3 수기 인식 프로토콜(HANDWRITING RECOGNITION PROTOCOL)5.3 HANDWRITING RECOGNITION PROTOCOL

사용자가 넷페이지 펜으로 넷페이지에 스트로크(stroke)를 그으면, 펜은 가장 가까운 넷페이지 프린터와 그 스트로크에 대하여 통신한다. 스트로크는 그 페이지 및 페이지 상의 경로(path)를 식별한다.When the user draws a stroke on a netpage with the netpage pen, the pen communicates with the nearest netpage printer about the stroke. The stroke identifies that page and the path on the page.

프린터는 일반적은 방식으로 펜 ID(61), 자기의 프린터 ID(62), 페이지 ID(50) 및 스트로크 경로를 페이지 서버(10)로 전송(forward)한다.The printer forwards the pen ID 61, its printer ID 62, page ID 50 and stroke path to the page server 10 in a general manner.

페이지 서버는 페이지 ID에 의하여 식별되는 페이지 명세(5)를 불러, (만약 존재한다면,) 어떤 입력 요소의 구역(58)을 스트로크가 지나는지를 판단한다. 관련된 입력 요소가 텍스트 영역(878)이라고 가정하면, 페이지 서버는 스트로크를 텍스트 영역의 디지털 잉크에 덧붙인다.The page server invokes the page specification 5 identified by the page ID to determine which stroke of the input element 58, if any, has passed. Assuming that the associated input element is text area 878, the page server appends the stroke to the digital ink in the text area.

텍스트 영역의 구역에서 비활성 주기 후에, 페이지 서버는 해석(interpretation)을 위해서 펜 ID와 처리중인(pending) 스트로크를 등록 서버(11)로 보낸다. 등록 서버는 펜에 대응되는 사용자를 식별하고, 스트로크를 수기된(handwritten) 텍스트로서 해석하기 위하여 사용자의 축적 수기 모델(user's accumulated handwriting model)(822)을 이용한다. 일단 스트로크를 텍스트로 변환하면, 등록 서버는 요청하는 페이지 서버로 텍스트를 리턴한다. 페이지 서버는 텍스트를 텍스트 영역의 텍스트 값(text value)에 덧붙인다.After a period of inactivity in the region of the text area, the page server sends the pen ID and pending strokes to the registration server 11 for interpretation. The registration server uses the user's accumulated handwriting model 822 to identify the user corresponding to the pen and to interpret the stroke as handwritten text. Once the stroke is converted to text, the registration server returns the text to the requesting page server. The page server appends the text to the text value of the text area.

5.4 서명 검증 프로토콜(SIGNATURE VERIFICATION PROTOCOL)5.4 SIGNATURE VERIFICATION PROTOCOL

그 요소의 구역에 스트로크가 그어지는 입력 요소가 서명 영역(88)이라고 가정하면, 페이지 서버(10)는 그 스트로크를 서명 영역의 디지털 잉크에 덧붙인다.Assuming that the input element with a stroke in the region of that element is the signature area 88, the page server 10 appends the stroke to the digital ink in the signature area.

서명 영역의 구역에서 비활성 주기 후에, 페이지 서버는 검증을 위해서 펜 ID(61) 및 처리중인 스트로크를 등록 서버(11)로 보낸다. 그것은 또한 서명 영역이 그 일부분이 되는 양식(form) 관련 애플리케이션 ID(64) 및 그 양식의 현재 데이터 내용도 함께 보낸다. 등록 서버는 펜에 대응되는 사용자를 식별하고, 그 스트로크를 사용자의 서명으로서 식별하기 위하여 사용자의 동적 서명 생체정보(dynamic signature biometric)(818)를 이용한다. 일단 서명을 검증하면, 등록 서버는 그 사용자의 애플리케이션에 특유한 비밀 서명 키를 식별하기 위하여 애플리케이션 ID(64) 및 사용자 ID(60)를 등록 서버로 보낸다. 그것은 그리고 나서 양식 데이터의 디지털 서명을 생성하기 위하여 그 키를 이용하고, 요청하는 페이지 서버로 디지털 서명을 리턴한다. 페이지 서버는 디지털 서명을 서명 영역에 덧붙이고 관련된 양식의 상태를 동결(frozen)로 설정한다.After a period of inactivity in the region of the signature area, the page server sends the pen ID 61 and the processing stroke to the registration server 11 for verification. It also sends the form-related application ID 64, whose signature area is part of it, and the current data content of that form. The registration server uses the user's dynamic signature biometric 818 to identify the user corresponding to the pen and identify the stroke as the user's signature. Once the signature is verified, the registration server sends an application ID 64 and a user ID 60 to the registration server to identify the secret signing key specific to that user's application. It then uses that key to generate a digital signature of the form data and returns the digital signature to the requesting page server. The page server appends the digital signature to the signature area and sets the state of the associated form to frozen.

디지털 서명은 대응되는 사용자의 별명 ID(65)를 포함한다. 이것은 하나의 양식이 다수의 사용자의 서명을 획득할 수 있도록 한다.The digital signature includes the alias ID 65 of the corresponding user. This allows one form to obtain the signatures of multiple users.

5.5 양식 제출 프로토콜(FORM SUBMISSION PROTOCOL)5.5 Form SUBMISSION PROTOCOL

양식 제출 프로토콜의 바람직한 실시예가 도 46에 나타나 있다.A preferred embodiment of the form submission protocol is shown in FIG. 46.

양식 제출은 양식 하이퍼링크 활성화를 통하여 발생한다. 따라서 그것은 약간의 양식에 특유한(form-specific) 추가 사항을 가지고 섹션 5.2에서 정의된 프로토콜을 따른다.Form submission occurs through form hyperlink activation. It therefore follows the protocol defined in section 5.2 with some form-specific additions.

양식 하이퍼링크의 경우에 있어서, 페이지 서버(10)에 의하여 애플리케이션(71)으로 보내지는 하이퍼링크 활성화 메시지(hyperlink activation message)는 양식 ID(56) 및 양식의 현재 데이터 내용 또한 포함한다. 만일 양식이 임의의 서명 영역을 포함하면, 애플리케이션은 대응되는 디지털 서명 관련 별명 ID(65)를 추출하고, 등록 서버(11)로부터 대응되는 인증서를 획득함으로써 각각을 검증할 것이다.In the case of a form hyperlink, the hyperlink activation message sent by the page server 10 to the application 71 also includes the form ID 56 and the current data content of the form. If the form includes any signature area, the application will verify each by extracting the corresponding digital signature related alias ID 65 and obtaining the corresponding certificate from the registration server 11.

5.6 수수료 지불 프로토콜(COMMISSION PAYMENT PROTOCOL)5.6 COMMISSION PAYMENT PROTOCOL

수수료 지불 프로토콜의 바람직한 실시예가 도 47에 나타나 있다.A preferred embodiment of the fee payment protocol is shown in FIG. 47.

전자상거래 환경에 있어서, 요금 및 수수료는 클릭-스루(click-through), 거래(transaction) 및 판매(sale)에 의해서 애플리케이션 제공자로부터 출판인에게로 지불될 수 있다. 요금에 대한 수수료 및 수수료에 대한 수수료 역시 출판인으로부터 프린터 제공자에게로 지불될 수 있다.In an e-commerce environment, fees and fees may be paid from an application provider to a publisher by click-through, transaction, and sale. Fees for fees and fees for fees may also be paid from the publisher to the printer provider.

하이퍼링크 요청 ID(52)는 요금 또는 수수료를 타겟 애플리케이션 제공자(target application provider)(70a)(즉, 판매자)로부터 출처 애플리케이션 제공자(source application provider)(70b)(즉, 출판인)에게로, 또한 출처 애플리케이션 제공자(70b)로부터 프린터 제공자(72)에게로 경로 지정(route)할 수 있다.The hyperlink request ID 52 transfers the fee or fee from the target application provider 70a (i.e. seller) to the source application provider 70b (i.e. publisher) and also the source. It may route from the application provider 70b to the printer provider 72.

타겟 애플리케이션은 섹션 5.2에서 설명된 바와 같이 하이퍼링크가 최초로 활성화되었을 때 페이지 서버(10)로부터 하이퍼링크 요청 ID를 수신한다. 타겟 애플리케이션이 출처 애플리케이션 제공자에게 지불을 요하면, 그것은 애플리케이션 제공자 지불(application provider credit)을 원래의 페이지 서버로 하이퍼링크 요청 ID와 함께 보낸다. 페이지 서버는 출처 애플리케이션을 식별하기 위하여 하이퍼링크 요청 ID를 이용하고, 관련된 등록 서버(11)로 출처 애플리케이션 ID(64), 자기의 서버 ID(53) 및 하이퍼링크 요청 ID와 함께 크레딧(credit)을 보낸다. 등록 서버는 대응되는 애플리케이션 제공자의 계정(827)을 크레딧(credit)한다. 그것은 또한 애플리케이션 제공자에게 통지(notify)를 한다.The target application receives the hyperlink request ID from the page server 10 when the hyperlink was first activated as described in section 5.2. When the target application requires payment to the source application provider, it sends an application provider credit along with the hyperlink request ID to the original page server. The page server uses the hyperlink request ID to identify the source application and credits the associated registration server 11 with the source application ID 64, its server ID 53 and the hyperlink request ID. send. The registration server credits the account 827 of the corresponding application provider. It also notifies the application provider.

애플리케이션 제공자가 프린터 제공자에게 크레딧할 필요가 있으면, 그것은 프린터 제공자 크레딧을 본래의 페이지 서버로 하이퍼링크 요청 ID와 함께 보낸다. 페이지 서버는 프린터를 식별하기 위하여 하이퍼링크 요청 ID를 이용하고, 관련된 등록 서버로 프린터 ID와 함께 크레딧(credit)을 보낸다. 등록 서버는 대응되는 프린터 제공자 계정(814)을 크레딧(credit)한다.If the application provider needs to credit the printer provider, it sends the printer provider credits with the hyperlink request ID to the original page server. The page server uses the hyperlink request ID to identify the printer and sends a credit with the printer ID to the associated registration server. The registration server credits the corresponding printer provider account 814.

출처 애플리케이션 제공자는 선택 사항으로 타겟 애플리케이션 제공자의 신원(identity)을 통지받으며, 프린터 제공자는 출처 애플리케이션 제공자의 신원을 통지받는다.The source application provider is optionally notified of the identity of the target application provider, and the printer provider is notified of the identity of the source application provider.

6. 넷페이지 펜 명세(Netpage Pen Description)6. Netpage Pen Description

6.1 펜 역학(PEN MECHANICS)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)은 잉크 카트리지를 교체할 수 있도록 분리될 수 있다.8 and 9, a pen, generally indicated by reference numeral 101, is a plastic having a wall 103 that forms an interior space 104 for mounting pen components. And a housing 102 in the form of a molding. The pen top 105 is operatively mounted to one end 106 of the housing 102. A semi-transparent cover 107 is secured to the other end 108 of the housing 102. In addition, the cover 107 is a mold plastic and is formed of a translucent material so that a user can see the state of the LED mounted in the housing 102. The cover 107 includes a main part 109 substantially enclosing the other end 108 of the housing 102 and a corresponding slot formed in the wall 103 of the housing 102 protruding rearward from the main part 109. and a projecting portion 110 that fits within the corresponding slot 111. A radio antenna 112 is mounted behind the protrusion 110 in the housing 102. The screw thread 113 surrounding the aperture 113A formed in the cover 107 is formed to receive a metal piece 114 comprising a corresponding screw thread 115. The metal piece 114 may be separated to replace the ink cartridge.

또한, 플렉스 PCB(flex PCB)(117) 상의 3색 상태 LED(tri-color status LED)(116)가 커버(107) 내에 장착된다. 안테나(11) 또한 플렉스 PCB(117) 상에 장착된다. 양호한 주변 시인성(all-around visibility)을 위하여, 상태 LED(116)는 펜(101)의 상부에 장착된다.In addition, a tri-color status LED 116 on the flex PCB 117 is mounted in the cover 107. The antenna 11 is also mounted on the flex PCB 117. For good all-around visibility, the status LED 116 is mounted on top of the pen 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°단계로 회전시킴으로써 생기는 상태는 다음과 같다.The pen functions as both a typical marking ink pen and a non-marking stylus. An ink pen cartridge 118 having a nib 119 and a stylus 120 having a stylus nib 121 are mounted side by side within the housing 102. The ink cartridge nib 119 or stylus nib 121 may come forward through the open end 122 of the metal piece 114 by rotation of the pen top 105. Each slider block 123, 124 is mounted to the ink cartridge 118 and stylus 121, respectively. A rotatable cam barrel 125 is secured to the pen top 105 during operation and formed to rotate with the pen top. The cam body 125 includes a cam 126 in the form of a slot in the wall 181 of the cam body. Cam followers 127 and 128 protruding from the slider blocks 123 and 124 fit into the cam slots 126. Upon rotation of the cam body 125, the slider blocks 123, 124 move relative to each other to protrude either the nib 119 or the stylus nib 121 of the pen through the opening 122 of the metal piece 114. . The pen 101 has three operating states. The state produced by rotating the upper portion 105 in 90 ° steps is as follows.

· 스타일러스(120)의 펜촉(121) 돌출,Protruding the nib 121 of the stylus 120,

· 잉크 카트리지(118)의 펜촉(119) 돌출 및Protruding the nib 119 of the ink cartridge 118 and

· 잉크 카트리지(118)의 펜촉(119)도 스타일러스(120)의 펜촉(121)도 돌출되지 않음.Neither the nib 119 of the ink cartridge 118 nor the nib 121 of the stylus 120 protrudes.

제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)로부터 빛을 검출한다.The second flex PCB 129 is mounted to the electronic chassis 130 that sits in the housing 102. The second flex PCB 129 mounts an infrared LED 131 that emits infrared light to the surface for projection. An image sensor 132 is mounted to the second flex PCB to receive the reflected light reflected from the surface. In addition, the second flex PCB 129 may include a radio frequency chip 133 including an RF transmitter and an RF receiver, and a controller chip 134 for controlling the operation of the pen 101. Mount it. An optics block 135 (formed from molded clear plastics) is seated in the cover 107 to project an infrared beam to the surface and receive an image on the image sensor 132. A power supply wire 136 connects the components on the second flex PCB 129 to a battery contact 137 mounted within the cam body 125. Terminal 138 is connected to battery contact 137 and cam body 125. A 3 volt rechargeable battery 139 is seated in the cam body 125 in contact with the battery contacts. An induction charging coil 140 is mounted around the second flex PCB 129 to charge the battery 139 through induction. In addition, the second flex PCB 129 is the pressure applied to the surface by the pen nib 119 or stylus nib 121 of the pen when either the stylus 120 or the ink cartridge 118 is used for recording. An infrared LED 143 and an infrared photodiode 144 for detecting a displacement in the cam body 125 may be mounted to determine. The infrared photodiode 144 detects light from the infrared LED 143 via reflectors (not shown) mounted on the slider blocks 123 and 124.

고무 그립 패드(rubber grip pad)(141,142)는 펜(101)을 쥐는데 도움을 주기 위해 하우징(102)의 타단부(108) 쪽에 마련되고, 상부(105) 또한 펜(101)을 주머니에 고정시키기 위한 클립(clip)(142)을 포함한다.Rubber grip pads 141, 142 are provided on the other end 108 side of the housing 102 to help hold the pen 101, and the top 105 also holds the pen 101 in the pocket. It includes a clip (142) for making.

6.2 펜 제어기(PEN CONTROLLER)6.2 PEN CONTROLLER

펜(101)은 펜촉 주변의 표면 영역을 적외선 스펙트럼에서 비춤으로써 펜촉(스타일러스 펜촉(121) 또는 잉크 카트리지 펜촉(119))의 위치를 판단하도록 형성된다. 펜은 가장 가까운 위치 태그(nearest location tag)로부터 위치 데이터를 기록하고, 광학 장치(optics)(135) 및 제어 칩(134)을 이용하여 위치 태그로부터 펜촉(121) 또는 펜촉(119)까지의 거리를 계산하게 된다. 제어 칩(134)은 이미지 태그 상에서 관측되는 투시 왜곡으로부터 펜의 방향(orientation) 및 펜촉으로부터 태그까지의 거리(nib-to-tag distance)를 계산한다.The pen 101 is formed to determine the position of the nib (stylus nib 121 or ink cartridge nib 119) by illuminating the surface area around the nib in the infrared spectrum. The pen records the location data from the nearest location tag and uses the optics 135 and control chip 134 to distance the location from the location tag to the nib 121 or nib 119. Will be calculated. The control chip 134 calculates the orientation of the pen and the nib-to-tag distance from the pen tip to the perspective distortion observed on the image tag.

RF 칩(133) 및 안테나(112)를 이용하여 펜(101)은 디지털 잉크 데이터(보안을 위해 암호화되고 효율적인 전송을 위해 패킷화됨)를 연산 시스템(computing system)으로 전송할 수 있다.Using the RF chip 133 and the antenna 112, the pen 101 may transmit digital ink data (encrypted for security and packetized for efficient transmission) to a computing system.

펜이 수신기의 범위 내에 있으면, 디지털 잉크 데이터는 그것이 형성되는 대로 전송된다. 펜(101)이 범위 밖으로 이동하면, 디지털 잉크 데이터는 펜(101) 내에 버퍼되며(펜(101) 회로는 표면 상에서 약 12분 동안의 펜 움직임에 대한 디지털 잉크 데이터를 저장할 수 있도록 마련된 버퍼(buffer)를 포함한다), 나중에 전송될 수 있다.If the pen is within range of the receiver, digital ink data is transmitted as it is formed. When the pen 101 moves out of range, the digital ink data is buffered in the pen 101 (the pen 101 circuitry is buffered to store digital ink data for about 12 minutes of pen movement on the surface). May be sent later).

제어 칩(124)은 펜(101)의 제2 플렉스 PCB(129)에 장착된다. 도 10은 제어 칩(134)의 구조를 더욱 상세하게 나타낸 블록도이다. 또한, 도 10은 RF 칩(133), 이미지 센서(132), 3색 상태 LED(116), 적외선 발광 LED(131), 적외선 압력 센서(143) 및 압력 센서 포토다이오드(144)에 관한 표현을 포함한다.The control chip 124 is mounted to the second flex PCB 129 of the pen 101. 10 is a block diagram illustrating the structure of the control chip 134 in more detail. 10 also shows a representation of an RF chip 133, an image sensor 132, a three-color state LED 116, an infrared light emitting LED 131, an infrared pressure sensor 143, and a pressure sensor photodiode 144. Include.

펜 제어 칩(134)은 제어 프로세서(145)를 포함한다. 버스(146)는 제어칩(134)의 구성부품 사이의 데이터를 교환할 수 있다. 플래시 메모리(falsh memory)(147) 및 512KB D램 역시 포함된다. 아날로그-디지털 컨버터(analog-to-digital converter)(149)는 압력 센서 포토다이오드(144)로부터의 아날로그 신호를 디지털 신호로 변환하도록 마련된다.The pen control chip 134 includes a control processor 145. The bus 146 may exchange data between components of the control chip 134. Flash memory 147 and 512 KB DRAM are also included. An analog-to-digital converter 149 is provided to convert the analog signal from the pressure sensor photodiode 144 into a digital signal.

이미지 센서 인터페이스(image sensor interface)(152)는 이미지 센서(132)를 인터페이스한다. 송수신기 제어기(transiver controller)(153) 및 베이스 밴드 회로(base band circuit)(154) 역시 RF 회로(RF circuit)(155)와 RF 공진회로(RF resonator)를 포함하는 RF 칩(133) 및 안테나(112)와 연결된 인덕터(156)를 인터페이스하도록 포함된다.An image sensor interface 152 interfaces the image sensor 132. The transceiver controller 153 and the base band circuit 154 also include an RF chip 133 and an antenna (RF circuit 155 and an RF resonator). It is included to interface the inductor 156 connected with 112.

제어 프로세서(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 칩으로 제공된다.The control processor 145 acquires and decodes position data from the tag through the image sensor 132 from the surface, monitors the pressure sensor photodiode 144, controls the LEDs 116, 131, 143, and the wireless transceiver 153. Deals with short-range wireless communication. Control processor 145 is a medium-performance (-40 MHz) general purpose RISC processor. The processor 145, digital transceiver components (transceiver controller 153 and baseband circuit 154), image sensor interface 152, flash memory 147, and 512 KB DRAM 148 are single controller single controller ASICs. ASIC). Analog RF components (RF circuit 155, RF resonant circuit and inductor 156) are provided as separate RF chips.

이미지 센서는 적외선 필터가 구비된 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.에 설명됨).The image sensor is a 215 × 215 pixel CCD equipped with an infrared filter (such a sensor manufactured by Matsushita Electronic Corporation, Itakura, KT Nobusada, N. Okusenya, R. Nagayoshi, M, incorporated herein by reference. Ozaki, described in "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)로 구현된다.The controller ASIC 134 enters a quiescent state when the pen 101 is not in contact with the surface after a period of inactivity. It is implemented with a dedicated circuit 150 that monitors the pressure sensor photodiode 144 and wakes up the controller 134 via a power manager in the event of a pen-down.

무선 송수신기는 일반적으로 무선 전화가 사용하는, 허가가 필요 없는 900Mhz 대역 또는 허가가 필요 없는 2.4GHz 산업용, 과학용 및 의료용(ISM) 대역에서 통신하며, 간섭 없는(interference-free) 통신을 제공하기 위하여 주파수 호핑(frequency hopping) 및 충돌 검출(collision detection)을 사용한다.The radio transceivers communicate in the 900 Mhz unlicensed band or 2.4 GHz unlicensed industrial, scientific and medical (ISM) band typically used by cordless telephones, to provide interference-free communication. Use frequency hopping and collision detection.

다른 실시예에서, 펜은 기지국(base station) 또는 넷페이지 프린터와의 근거리 통신을 위한 IrDA(Infrared Data Association) 인터페이스를 구현한다.In another embodiment, the pen implements an Infrared Data Association (IrDA) interface for near field communication with a base station or a netpage printer.

또다른 실시예에서, 펜(101)은 펜(101) 축의 일반적인 평면에 장착된 한 쌍의 직교 가속도계(orthogonal accelerometer)를 포함한다. 가속도계(190)는 도 9 및 도 10에서 점선 윤곽선(ghost outline)으로 나타나 있다.In another embodiment, the pen 101 includes a pair of orthogonal accelerometers mounted in the general plane of the pen 101 axis. Accelerometer 190 is shown in ghost outline in FIGS. 9 and 10.

가속도계는 본 실시예에서의 펜(101)이 표면 위치 태그(surface location tag)를 참조하지 않고 위치 태그가 저속으로 샘플링되도록 하면서 움직임을 감지할 수 있도록 하기 위해서 제공된다. 그리고 나서 각각의 위치 태그 ID는 표면 상의위치 외에 관심의 대상이 되는 오브젝트를 식별할 수 있다. 예를 들어, 오브젝트가 사용자 인터페이스 입력 구성요소(예를 들어, 명령 버튼(command button))이면, 입력 요소의 영역 내에 있는 각각의 위치 태그의 태그 ID는 직접 입력 요소를 식별할 수 있다.An accelerometer is provided to allow the pen 101 in this embodiment to detect motion while allowing the location tag to be sampled at low speed without reference to a surface location tag. Each location tag ID may then identify the object of interest in addition to the location on the surface. For example, if the object is a user interface input component (eg, a command button), the tag ID of each location tag in the area of the input element can directly identify the input element.

가속도계에 의하여 x 및 y 방향 각각으로 측정되는 가속도는 순간 속도(instantaneous velocity) 및 위치를 생성하기 위하여 시간에 관하여 적분된다.The acceleration measured by the accelerometer in the x and y directions, respectively, is integrated with respect to time to generate instantaneous velocity and position.

스트로크의 시작 위치(starting position)는 알려지지 않으므로, 단지 스트로크의 상대 위치만이 계산된다. 위치 적분(position integration)이 감지된 가속도에서의 오류를 누적시킴에도 불구하고, 가속도계는 대개 고해상도를 가지며, 스트로크에서 오류가 누적되는 지속 시간은 짧다.Since the starting position of the stroke is unknown, only the relative position of the stroke is calculated. Although position integration accumulates errors in the sensed acceleration, accelerometers usually have high resolution, and the duration of error accumulation in the stroke is short.

7. 넷페이지 프린터 명세(Netpage Printer Description)7. Netpage Printer Description

7.1 프린터 역학(PRINTER MECHANICS)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)를 사용한다.A vertically mounted netpage wallprinter 601 is shown fully assembled in FIG. The printer prints netpages on letter / A4 compliant media using a dual 8½-inch Memjet ™ print engine 602,603 as shown in FIGS. 12 and 12A. It uses a straight path through the dual print engines 602, 603 where the paper 604 prints both sides of the paper simultaneously in primary and full bleed.

일체형 제본 어셈블리(integral binding assembly)(605)는, 압력이 가해질때 이전 페이지에 접착될 수 있도록, 각각의 인쇄된 용지의 한 모서리를 따라 접착 띠(strip of glue)를 바른다. 이것은 한 장에서 몇 백 장에 이르는 두께 범위를 가질 수 있는 최종 제본 문서(final bound document)(618)를 생성한다.An integral binding assembly 605 applies a strip of glue along one edge of each printed sheet so that it can adhere to the previous page when pressure is applied. This produces a final bound document 618 that can range in thickness from one to several hundred sheets.

도 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)이다.The replaceable ink cartridge 627, coupled with the dual print engine, shown in FIG. 13 is fixed, adhesive, cyan, magenta, yellow, black and infrared. It has a bladder or chamber for storing ink. The cartridge also includes a micro air filter in the base molding. The micro air filter interfaces an air pump 638 in the printer via a hose 639. This supplies filtered air to the print head in order to prevent infiltration of micro particles that can block the printhead nozzle into the Memjet (trademark) print head 350. By including an air filter in the cartridge, the operational life of the filter is effectively linked to the life of the cartridge. Ink cartridges are fully recyclable products that have the capacity to print and glue 3000 pages (1500 sheets).

도 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)이 동시에 인쇄된다.Referring to FIG. 12, motorized media pick-up roller assembly 626 is a dual Memjet printhead from a media tray via a paper sensor on a first print engine. Push the top sheet directly into the assembly. Two Memjet (trademark) print engines 602, 603 are mounted so as to be apposing in-line sequential configuration along a straight paper path. The paper 604 is rolled into the first print engine 602 by an integrated powered pick-up roller 626. The position and size of the paper 604 is sensed and full bleed printing is initiated. Fixatives are printed simultaneously so that they can be dried in the shortest possible time.

용지는 고무 롤러와 마주하여 동작하는 한 벌의 동력 배출 스파이크 휠(powered exit spike wheel)(직선 용지 경로를 따라 정렬됨)을 통하여 제1 멤젯(상표) 프린트 엔진(602)으로부터 배출된다. 이들 스파이크 휠은 '젖은' 인쇄된 표면('wet' printed surface)과 접촉하며, 용지(604)를 제2 멤젯(상표) 프린트 엔진(603)으로 계속 공급한다.The paper is ejected from the first Memjet ™ print engine 602 via a set of powered exit spike wheels (aligned along a straight paper path) that operate opposite the rubber rollers. These spike wheels are in contact with the 'wet' printed surface and continue to feed the paper 604 to the second Memjet® print engine 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)을 인터페이스하도록 전방으로 이동된다. 각각의 모터는 이 캠샤프트에 동력을 공급한다.12 and 12A, paper 604 passes from dual print engines 602, 603 to bookbinding assembly 605. The printed page includes a powered spike wheel axle 670 with fibrous support rollers, and another movable axle with spike wheels and momentary action glue wheels. Pass through). Movable axle / glue assembly 673 is mounted to a metal support bracket and is powered axle via a gear by the operation of a camshaft. It is moved forward to interface 670. Each motor powers this camshaft.

접착 휠 어셈블리(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)은 비활성 기간 동안 어셈블리를 닫고 접착 휠을 효율적으로 덮는다.The adhesive wheel assembly 673 consists of a partially hollow axle 679 with a rotating coupling for a glue supply hose 641 from the ink cartridge 627. This shaft 679 is connected to the adhesive wheel, which absorbs the adhesive through the radial hole by capillary action. Molded housing 682 has an opening in the front and surrounds the adhesive wheel. Pivoting side molding and spring outer doors are attached to the metal brackets to rotate the sides out as the rest of the assembly 673 is pushed forward. This operation exposes the adhesive wheel through the front of the molded housing 682. Tension springs close the assembly and effectively cover the adhesive wheels during periods of inactivity.

용지(604)가 접착 휠 어셈블리(673)를 통과할 때, 접착제가 제본 어셈블리(605)쪽 아래로 운반되면서 용지의 앞쪽 면의 한 수직 모서리(문서의 첫 장 제외)에 칠해진다.As the paper 604 passes through the adhesive wheel assembly 673, the adhesive is transported down toward the booklet assembly 605 and painted on one vertical edge of the front side of the paper (except the first sheet of the document).

7.2 프린터 제어부 체계(PRINTER CONTROLLER ARCHITECTURE)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) 및 64MBD램(657)으로 이루어진다.The netpage printer control unit includes a control processor 750, a factory-installed or field-installed network interface module 625, and a radio transceiver (transceiver controller 753, as shown in FIG. 14). ), Baseband circuitry 754, RF circuitry 755, and RF tuning circuitry and inductor 756), dual raster image processor (RIP) DSP 757, dual print engine controller 760a, 760b), flash memory 658 and 64 MBD RAM 657.

제어 프로세서는 네트워크(19) 및 지역 무선 넷페이지 펜(local wireless netpage pen)(101)과의 통신을 다루고, 도움말 버튼(help button)(617)을 감지하고, 사용자 인터페이스 LED(613-616)를 제어하며, RIP DSP(757) 및 프린트 엔진 제어기(760)를 공급(feed)하고 동기(synchronize)시킨다. 제어 프로세서는 중간 성능 범용 마이크로 프로세서로 이루어진다. 제어 프로세서(750)는 고속 직렬 버스(659)를 통하여 프린트 엔진 제어기(760)와 통신한다.The control processor handles communication with the network 19 and local wireless netpage pen 101, senses a help button 617, and provides user interface LEDs 613-616. Control and feed and synchronize the RIP DSP 757 and print engine controller 760. The control processor consists of a medium performance general purpose microprocessor. The control processor 750 communicates with the print engine controller 760 via a high speed serial bus 659.

RIP DSP는 페이지 명세를 래스터화(rasterize)하고 넷페이지 프린터의 압축 페이지 포맷(compressed page format)으로 압축시킨다. 각 프린트 엔진 제어기는 페이지 이미지를 실시간으로(즉, 분당 30페이지 이상으로) 디더(dither)하고 관련 멤젯(상표) 프린트 헤드(350)로 인쇄한다. 이중 프린트 엔진 제어기는 용지의 양면을 동시에 인쇄한다.The RIP DSP rasterizes the page specification and compresses it into the compressed page format of the netpage printer. Each print engine controller dithers the page image in real time (ie, more than 30 pages per minute) and prints to the associated Memjet® printhead 350. The dual print engine controller prints both sides of the paper at the same time.

주 프린트 엔진 제어기(master print engine controller)(760a)는 용지 이송을 제어하고 주 QA 칩(master QA chip)(665) 및 잉크 카트리지 QA 칩(ink cartridge QA chip)(761)과 공동으로 잉크 사용을 감독한다.The master print engine controller 760a controls the media feed and uses ink in collaboration with the master QA chip 665 and the ink cartridge QA chip 761. Supervise.

프린트 제어부의 플래시 메모리(658)는 구성 데이터뿐만 아니라 프로세서(750) 및 DSP(757) 모두를 위한 소프트웨어를 수용한다. 이것은 시동(boot time) 시에 주 메모리(657)로 복사된다.The flash memory 658 of the print controller accommodates configuration data as well as software for both the processor 750 and the DSP 757. This is copied to main memory 657 at boot time.

프로세서(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로 제공된다.Processor 750, DSP 757, and digital transceiver components (transceiver controller 753 and baseband circuit 754) are integrated into a single controller ASIC 656. Analog RF components (RF circuit 755 and RF tuning circuit and inductor 756) are provided as separate RF chips 762. The netpage printer allows both factory-selected and field-selected network connections, so the network interface module 625 is separate. Flash memory 658 and 2 x 256 MBit (64 MB) DRAM 657 are also separate off-chips. The print engine controller 760 is provided in a separate ASIC.

다양한 네트워크 인터페이스 모듈(625)은 각각의 모듈이 넷페이지 네트워크 인터페이스(751) 및 선택 사항으로 지역 컴퓨터 또는 네트워크 인터페이스(local computer or network interface)(752)를 제공하도록 제공된다. 넷페이지 네트워크 인터넷 인터페이스는 POTS 모뎀(POTS modem), HFC 케이블 모뎀(Hybrid Fiber-Coax cable 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) 및 다양하게 등장하는 홈 네트워킹 인터페이스를 포함한다. 만약 인터넷 접속이 지역 네트워크에서 가능하다면, 그 지역 네트워크 인터페이스가 넷페이지 네트워크 인터페이스로 사용될 수 있다.Various network interface modules 625 are provided such that each module provides a netpage network interface 751 and, optionally, a local computer or network interface 752. Netpage network Internet interfaces include POTS modems, Hybrid Fiber-Coax cable modems, DSL modems, satellite transceivers, current and next-generation cellular telephone transceivers. ) And a wireless local loop transceiver. Local interfaces include IEEE 1284 (parallel ports), 10Base-T and 100Base-T Ethernet (Ethernet), USB and USB 2.0, IEEE1394 (Firewire), and various emerging home networking interfaces. If Internet access is available on the local network, that local network interface can be used as the netpage network interface.

무선 송수신기(753)는 일반적으로 무선 전화기에 이용되는 허가가 필요 없는 900MHz 대역 또는 허가가 필요 없는 2.4GHz 산업용, 과학용 및 의료용(ISM) 대역에서 통신하며, 간섭 없는 통신을 제공하기 위하여 주파수 호핑 및 충돌 검출을 이용한다.The radio transceiver 753 communicates in the unlicensed 900 MHz band or unlicensed 2.4 GHz industrial, scientific and medical (ISM) band typically used for cordless telephones, and provides frequency hopping and communication to provide interference free communication. Use collision detection.

프린터 제어부는 선택 사항으로 넷페이지 카메라와 같은 장치로부터 방출되는 데이터를 수신하기 위하여 IrDA 인터페이스를 구현한다. 다른 실시예에서, 프린터는 적절히 구성된 넷페이지 펜과의 근거리 통신을 위하여 IrDA 인터페이스를 사용한다.The printer control unit optionally implements an IrDA interface to receive data from devices such as netpage cameras. In another embodiment, the printer uses an IrDA interface for near field communication with a properly configured netpage pen.

7.2.1 래스터화 및 인쇄(RASTERIZATION AND PRINTING)7.2.1 RASTERIZATION AND PRINTING

일단 주 프로세서(750)가 문서의 페이지 배열 및 페이지 오브젝트를 수신하여 검증하면, 그것은 적절한 RIP 소프트웨어를 DSP(757) 상에서 실행시킨다.Once the main processor 750 receives and verifies the page array and page object of the document, it executes the appropriate RIP software on the DSP 757.

DSP(757)는 각각의 페이지 명세를 래스터화하고, 래스터화한 페이지 이미지를 압축한다. 주 프로세서는 각각의 압축된 페이지 이미지를 메모리에 저장한다. 복수의 DSP의 부하 균형을 맞추는(load-balance) 가장 간단한 방법은 각각의 DSP가 별개의 페이지를 래스터화하도록 하는 것이다. 일반적으로 임의의 개수의 래스터화된 페이지가 메모리에 저장될 수 있으므로, DSP는 항상 사용중(busy) 상태를 유지할 수 있다. 이러한 정책은 짧은 문서를 래스터화하는 때에만 잠재적으로 열악한 DSP 이용을 낳는다.The DSP 757 rasterizes each page specification and compresses the rasterized page image. The main processor stores each compressed page image in memory. The simplest way to load-balance multiple DSPs is to have each DSP rasterize separate pages. In general, any number of rasterized pages can be stored in memory, so the DSP can remain busy at all times. This policy leads to potentially poor DSP utilization only when rasterizing short documents.

넷페이지 명세에서의 워터마크 영역은 무시할만한 크기로 무손실 압축되어 압축된 페이지의 일부를 형성하는 연속톤 해상도 2-레벨 비트맵(contone-resolution bi-level bitmap)으로 래스터화된다.The watermark region in the netpage specification is rasterized into a contone-resolution bi-level bitmap that is losslessly compressed to form part of the compressed page with negligible size.

인쇄된 페이지의 적외선 층(infrared(IR) layer)은 부호화된 넷페이지 태그를 인치당 약 6개의 밀도로 포함한다. 각각의 태그는 페이지 ID, 태그 ID 및 제어비트(control bit)를 부호화하며, 각각의 태그의 데이터 내용(data content)은 래스터화 도중에 생성되어 압축된 페이지 이미지에 저장된다.The infrared (IR) layer of the printed page contains encoded netpage tags at about six densities per inch. Each tag encodes a page ID, a tag ID and a control bit, and the data content of each tag is generated during rasterization and stored in a compressed page image.

주 프로세서(750)는 연속하는(back-to-back) 페이지 이미지를 이중 프린트 엔진 제어기(760)로 통과시킨다. 각각의 프린트 엔진 제어기(760)는 압축된 페이지 이미지를 자기의 지역 메모리(local memory)에 저장하고, 페이지 확대 및 인쇄 파이프라인(page expansion and printing pipeline)을 개시한다. 114MB 2-레벨 CMYK + IR 페이지 이미지를 메모리에 저장하는 것은 비현실적이므로, 페이지 확대 및 인쇄는 파이프라인된다.The main processor 750 passes back-to-back page images to the dual print engine controller 760. Each print engine controller 760 stores the compressed page image in its local memory and initiates a page expansion and printing pipeline. Storing 114MB two-level CMYK + IR page images in memory is impractical, so page enlargement and printing are pipelined.

7.2.2 프린트 엔진 제어기(PRINT ENGINE CONTROLLER)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)로 이루어진다.The page magnification and print pipeline of the print engine controller 760 includes a high speed IEEE 1394 serial interface 659, a standard JPEG decoder 763, a standard Group 4 fax decoder 764, a custom haftoner / compositor unit 765, custom tag encoder 766, line loader / formatter 767, and custom interface 768 to Memjet® printhead 350.

프린트 엔진 제어기(360)는 이중 버퍼 방식(double buffered manner)으로 작동한다. 하나의 페이지가 고속 직렬 인터페이스(659)를 통하여 D램(769)에 적재되는 동안, 이전에 적재된 페이지가 D램(769)으로부터 독출되어 프린트 엔진 제어기 파이프라인으로 통과된다. 일단 그 페이지가 인쇄 완료되면, 또다른 페이지가 적재되는 동안 방금 적재된 페이지가 인쇄된다.Print engine controller 360 operates in a double buffered manner. While one page is loaded into DRAM 769 via high speed serial interface 659, a previously loaded page is read from DRAM 769 and passed to the print engine controller pipeline. Once the page has finished printing, the page just loaded is printed while another page is loaded.

파이프라인의 제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)로 인쇄한다.In the first stage of the pipeline, all at the same time, the JPEG-compressed continuous tone CMYK layer is enlarged (763) and the Group 4 Fax-compressed two-level black layer ( expand the bi-level black layer (764) and render the bi-level netpage tag layer (766) according to the tag format defined in section 1.2. In a second step, dither the continuous tone CMYK layer (765) and composite (765) the two-level black layer to the resulting two-level CMYK layer. The resulting bi-level CMYK + IR dot data is buffered and formatted for printing on a Memjet® printhead 350 via a set of line buffers. It is formatted (767). Most of these line buffers are stored in DRAM, the chip of Valdo. In the final step, six channels of two-level dot data (including fixative) are printed to the Memjet (trademark) printhead 350 via the printhead interface 768.

몇몇의 프린트 엔진 제어기(760)가 이중 구조(duplexed configuration)와 같이 함께 사용되면, 이들은 공유 라인 동기 신호(shared line sync signal)(770)를 경유하여 동기(synchronize)된다. 외부 주/부 핀(external master/slave pin)(771)을 경유하여 선택된 오직 하나의 프린트 엔진(760)만이 라인 동기 신호(770)를 공유 라인 상에 발생시킨다.If several print engine controllers 760 are used together in a duplexed configuration, they are synchronized via a shared line sync signal 770. Only one print engine 760 selected via an external master / slave pin 771 generates a line sync signal 770 on the shared line.

프린트 엔진 제어기((760)는 페이지 확대 및 렌더 파이프라인(page expansion and rendering pipeline)을 동기화하고, 저속 직렬 버스(773)를 경유하여 프린트 헤드(350)를 구성하고, 스텝 모터(stepper motor)(675,676)를 제어하기위하여 저속 프로세서(772)를 포함한다.The print engine controller 760 synchronizes the page expansion and rendering pipeline, configures the print head 350 via the low speed serial bus 773, and includes a stepper motor ( 675, 676 to include a slow processor 772.

8½인치 버전(8½" version) 넷페이지 프린터에 있어서, 두 개의 프린트 엔진 각각은 1600dpi의 해상도에서 8.8kHz의 라인 속도로 분당 30매의 세로 방향(11") 레터(Letter) 페이지를 인쇄한다. 12인치 버전 넷페이지 프린터에 있어서, 두 개의 프린트 엔진은 각각 10.2kHz의 라인 속도로 분당 45매의 세로 방향(8½") 레터 페이지를 인쇄한다. 이러한 라인 속도(line rate)는 현행 설계에서 30kHz를 초과하는 멤젯(상표) 프린트 헤드의 동작 주파수에 충분히 포함된다.In an 8½ "version netpage printer, each of the two print engines prints 30 portrait (11") letter pages per minute at a line speed of 8.8 kHz at a resolution of 1600 dpi. In the 12-inch version Netpage printer, the two print engines print 45 longitudinal (8½ ") letter pages per minute at a line rate of 10.2 kHz each. This line rate is 30 kHz in the current design. It is sufficiently included in the operating frequency of the exceeding Memjet print head.

8. 프린트 엔진 제어부 및 태그 인코더(Print Engine Controller and Tag Encoder)8. Print Engine Controller and Tag Encoder

대개 12인치 프린트 헤드 폭(printhead width)은 이하 설명되는 바와 같이 A4 및 레터 크기 페이지 모두를 풀 블리드(full-bleed) 인쇄할 수 있도록 하나 또는 그 이상의 PEC에 의하여 제어된다. 6채널의 컬러 잉크는 현행 인쇄 환경에서 예상되는 최다 채널로서, 이들은Usually a 12 inch printhead width is controlled by one or more PECs to allow full-bleed printing of both A4 and letter size pages as described below. Six-channel color ink is the largest channel expected in the current printing environment.

· CMY, 일반적인 컬러 인쇄용,CMY, for general color printing,

· K, 흑색 텍스트 및 기타 흑색 인쇄용,For K, black text and other black printing,

· IR(적외선), 넷페이지 가능 애플리케이션용(for Netpage-enabled applications),IR (infrared), for Netpage-enabled applications,

· F(정착액), 고속 인쇄 구현용이다.F (fixing solution), for high speed printing

프린터는 고속 인쇄를 할 수 있어야 하기 때문에, 다음 장이 고속으로 인쇄 완료되기 전에 잉크를 건조시킬 수 있도록 정착액을 필요로 할 것이다. 그렇지 않으면, 페이지가 서로 번질 것이다. 저속 인쇄 환경에서는 정착액이 필요하지 않을 것이다.Since the printer must be capable of high speed printing, it will need a fixer to dry the ink before the next sheet is finished printing at high speed. Otherwise, the pages will smear each other. In slow printing environments no fixer will be needed.

PEC는 프린트 헤드와 인터페이스하기 위하여 단일 칩에 탑재될 수 있다. 그것은 다음과 같은 4개의 기본적인 기능 레벨을 포함할 것이다.PEC can be mounted on a single chip to interface with the print head. It will include four basic functional levels:

· IEEE 1394와 같은 직렬 인터페이스를 통한 압축된 페이지 수신,Compressed page reception over a serial interface such as IEEE 1394;

· 압축된 형태로부터 페이지를 생성하기 위한 프린트 엔진. 프린트 엔진 기능은 페이지 이미지의 확대, 연속톤 층의 디더, 연속톤 층 위로의 흑색 층 합성 및 결과로서 생기는 이미지의 프린터헤드로의 전송,Print engine for generating pages from compressed form. The print engine features include magnification of the page image, dithering the continuous tone layer, compositing the black layer over the continuous tone layer, and sending the resulting image to the printhead,

· 프린트 헤드 및 스텝 모터를 제어하기 위한 인쇄 제어부,Printing control unit for controlling the print head and step motor;

· 두 개의 QA 칩과 통신하기 위한 두 개의 표준 저속 직렬 포트. 인증 절차(authentication procedure) 동안의 확실한 보안을 보장하기 위하여 하나의 포트가 아닌 두 개의 포트가 있어야 하는 것에 주의하여야 한다.Two standard low speed serial ports for communicating with two QA chips. Note that there should be two ports instead of one to ensure secure security during the authentication procedure.

도 48에 문서를 컴퓨터 시스템으로부터 인쇄 페이지로 보내는 흐름도가 나타나 있다. 문서는 수신되어(411), 페이지 레이아웃에 영향을 미치고 소정의 필요한 오브젝트가 추가될 수 있는 메모리 버퍼(412)에 적재된다. 메모리(412)로부터의 페이지는 프린트 엔진 제어기(410)로 전송되기 전에 래스터화되고(413) 압축된다(414). 페이지는 프린트 엔진 제어기(410) 내에서 두 개의 층을 가지는 압축된 페이지 이미지로서 메모리 버퍼(415)로 수신되는데, 메모리 버퍼에서 페이지는 페이지 이미지를 복원(retrieve)시키는 페이지 확대기(page expander)(416)로 공급된다. 소정의 필수적인 디더(dither)가 소정의 연속톤 층(contone layer)에 적용될 수 있다(417). 소정의 흑색 2-레벨 층이 연속톤 층(418) 위에 소정의 적외선 태그와 함께 합성될 수 있다(419). 합성된 페이지 데이터는 페이지(421)를 생성하기 위하여 인쇄된다(420).48 is a flowchart for sending a document from a computer system to a print page. The document is received 411 and loaded into a memory buffer 412 that can affect page layout and add any desired objects. Pages from memory 412 are rasterized (413) and compressed (414) before being sent to print engine controller 410. The page is received into the memory buffer 415 as a compressed two-layered page image within the print engine controller 410, where the page is a page expander 416 that retrieves the page image. Is supplied. Any necessary dither may be applied to the desired contone layer (417). Any black two-level layer may be synthesized 419 with a predetermined infrared tag over the contone layer 418. The synthesized page data is printed 420 to generate a page 421.

프린트 엔진/제어기는 압축된 페이지 이미지를 받아들여 페이지 확대 및 인쇄를 파이프라인 형태로 개시한다. 메모리에 크기가 상당한 2-레벨 CMYK + IR 페이지 이미지를 저장하는 것은 비현실적이므로, 페이지 확대 및 인쇄는 파이프라인되는 것이 바람직하다.The print engine / controller accepts the compressed page image to initiate page enlargement and printing in the form of a pipeline. Since storing a significant two-level CMYK + IR page image in memory is impractical, page magnification and printing is preferably pipelined.

파이프라인의 제1 단계에서는, 동시에, JPEG으로 압축된 연속톤 CMYK 층(아래 참조)을 확대하고, 그룹 4 팩스로 압축된 2-레벨 디더 매트릭스 선택 맵(Group 4 Fax-compressed bi-level dither matrix selection map)(아래 참조)을 확대하며, 그룹 4 팩스로 압축된 2-레벨 흑색 층(아래 참조)을 확대한다. 제2 단계에서는, 연속톤 CMYK 층을 디더 매트릭스 선택 맵에 의하여 선택된 디더 매트릭스를 이용하여 디더(dither)하고, 결과로서 생기는 2-레벨 K 층(K layer) 위에 2-레벨 흑색 층을 합성한다. 이와 동시에, 태그 인코더는 압축된 페이지 이미지로부터의 2-레벨 IR 태그 데이터를 부호화한다. 정착액 층(fixative layer) 역시 C,M,Y,K 또는 IR 채널 로부터의 요청이 있는 곳마다 각각의 도트 위치(dot position)에 생성된다. 마지막 단계에서는 프린트 헤드 인터페이스를 경유하여 2-레벨 CMYK + IR 데이터를 프린트 헤드를 통하여 인쇄한다(아래 참조).In the first stage of the pipeline, at the same time, the JPEG-compressed continuous-tone CMYK layer (see below) is enlarged, and the Group 4 Fax-compressed bi-level dither matrix Zoom in the selection map (see below) and zoom in on the two-level black layer (see below) compressed with Group 4 fax. In the second step, the continuous tone CMYK layer is dithered using the dither matrix selected by the dither matrix selection map, and a two-level black layer is synthesized on the resulting two-level K layer. At the same time, the tag encoder encodes two-level IR tag data from the compressed page image. A fixative layer is also created at each dot position wherever there is a request from a C, M, Y, K or IR channel. The final step is to print the two-level CMYK + IR data through the printhead via the printhead interface (see below).

도 49에는 어떻게 프린트 엔진/제어기(410)가 전반적인 인쇄 시스템 체계에 적합하게 되는지를 나타낸다. 프린터 시스템의 다양한 구성부품은 다음을 포함할수 있다.49 shows how the print engine / controller 410 fits into the overall printing system scheme. Various components of the printer system may include:

· 프린트 엔진/제어기(Print Engine/Controller(PEC)). PEC 칩(410) 또는 칩들은, 메모리 버퍼(424)에 저장하기 위한 압축된 페이지 이미지의 수신, 페이지 확대, 흑색 층 합성 및 프린트 헤드(423)로의 도트 데이터 송신을 담당한다. 그것은 또한 QA 칩(425,426)과 통신할 수 있고, 최적 인쇄를 보장하기 위하여 프린트 헤드의 특징을 검색하기 위한 수단을 제공할 수 있다. PEC는 본 명세서의 주제이다.Print Engine / Controller (PEC). The PEC chip 410 or chips are responsible for receiving the compressed page image for storage in the memory buffer 424, page magnification, black layer composition, and dot data transmission to the print head 423. It may also be in communication with the QA chips 425 and 426, and may provide a means for retrieving features of the print head to ensure optimal printing. PEC is the subject of this specification.

· 메모리 버퍼. 메모리 버퍼(424)는 압축된 페이지 이미지 저장 및 주어진 페이지의 인쇄 도중의 스크래치(scratch)를 위한 것이다. 메모리 버퍼의 구성 및 작동은 당업자에게 공지되어 있으며, 소정 범위 내의 표준 칩 및 그 활용 기술은 본 발명의 PEC의 이용을 위하여 활용될 수 있다.Memory buffer. Memory buffer 424 is for storing compressed page images and scratching during printing of a given page. The construction and operation of the memory buffer is known to those skilled in the art, and standard chips and their utilization techniques within a predetermined range can be utilized for the use of the PEC of the present invention.

· 주 QA 칩(master QA chip). 주 칩(425)은 교체형 잉크 카트리지 QA chip(426)에 장치된다. QA 유닛의 구성 및 작용은 당업자에게 공지되어 있으며, 소정 범위 내의 공지된 QA 처리(QA process)는 본 발명의 PEC의 이용을 위하여 활용될 수 있다. 예를 들어, QA 칩은 아래의 계속 중인 미국 특허출원에 기술되어 있다.Master QA chip. The main chip 425 is mounted to the replaceable ink cartridge QA chip 426. The construction and operation of the QA unit is known to those skilled in the art, and known QA processes within a certain range can be utilized for the use of the PEC of the present invention. For example, QA chips are described in the ongoing US patent application below.

USSNUSSN 우리의 일련 번호Our serial number 우리의 명칭Our name TBATBA AUTH01AUTH01 Validation Protocol and SystemValidation Protocol and System 09/112,76309 / 112,763 AUTH02AUTH02 Circuit for Protecting Chips Against IDD Fluctuation AttacksCircuit for Protecting Chips Against IDD Fluctuation Attacks 09/112,73709 / 112,737 AUTH04AUTH04 Method for Protecting On-Chip Memory(Flash and RAM)Method for Protecting On-Chip Memory (Flash and RAM) 09/112,76109 / 112,761 AUTH05AUTH05 Method for Making a Chip Tamper-ResistantMethod for Making a Chip Tamper-Resistant 09/113,22309 / 113,223 AUTH06AUTH06 A system for authenticating physical objectsA system for authenticating physical objects TBATBA AUTH07AUTH07 Validation Protocol and SystemValidation Protocol and System TBATBA AUTH08AUTH08 Validation Protocol and SystemValidation Protocol and System 09/505,00309 / 505,003 AUTH09AUTH09 Consumable Authentication Protocol and SystemConsumable Authentication Protocol and System 09/517,60809 / 517,608 AUTH10AUTH10 Consumable Authentication Protocol and SystemConsumable Authentication Protocol and System 09/505,14709 / 505,147 AUTH11AUTH11 Consumable Authentication Protocol and SystemConsumable Authentication Protocol and System 09/505,95209 / 505,952 AUTH12AUTH12 Unauthorized Modification of Values Stored in Flash MemoryUnauthorized Modification of Values Stored in Flash Memory TBATBA AUTH13AUTH13 A system form the Manipulation of Secure DataA system form the Manipulation of Secure Data 09/516,87409 / 516,874 AUTH14AUTH14 An Authentication Chip with Protection from Power Supply AttacksAn Authentication Chip with Protection from Power Supply Attacks TBATBA AUTH15AUTH15 Shielding Manipulation of Secret DataShielding Manipulation of Secret Data

QA 칩 통신은 프린트 헤드의 물리적인 동작뿐만 아니라 이미지의 확대에 있어서도 역할을 담당하기 때문에, PEC 칩의 전반적인 기능에 포함되는 것이 가장 바람직할 수 있다. QA 칩 통신을 그곳에 위치시킴으로써, 페이지를 인쇄하기에 충분한 잉크가 있음을 보장할 수 있게 된다. 바람직하게는 인증 칩(authentication chip)을 이용하여 프린트 헤드 어셈블리 내장형 QA(QA embedded in the printhead assembly)가 구현될 수 있다. 그것이 주 QA 칩이기 때문에, 그것은 오직 인증 키(authentication key)만을 포함할 수 있을 뿐, 사용자 데이터(user-data)는 포함할 수 없다. 그러나, 그것은 잉크 카트리지의 QA 칩과 일치하여야 한다. 잉크 카트리지 안의 QA 칩은 가능한 한 최상의 인쇄 품질을 유지하기 위하여 필요한 정보를 포함하며, 인증 칩(authentication chip)을 이용하여 구현된다.Since QA chip communication plays a role not only in the physical operation of the print head but also in the enlargement of the image, it may be most desirable to be included in the overall function of the PEC chip. By placing QA chip communication there, it is possible to ensure that there is enough ink to print the page. Preferably, a QA embedded in the printhead assembly (QA) may be implemented using an authentication chip. Since it is the main QA chip, it can only contain an authentication key, it cannot contain user-data. However, it must match the QA chip of the ink cartridge. The QA chip in the ink cartridge contains the necessary information to maintain the best print quality possible, and is implemented using an authentication chip.

바람직하게는 64MBit(8MB) 메모리 버퍼가 압축된 페이지 이미지를 저장하기 위하여 사용되는 것이 좋다. 하나의 페이지가 버퍼에 기록되는 동안 다른 페이지는독출된다(이중 버퍼링(double buffering)). 덧붙여, PEC는 페이지가 인쇄되는 동안 메모리를 계산된 도트 정보(calculated dot information)를 버퍼하기 위하여 이용한다. 페이지N의 인쇄 동안, 버퍼는,Preferably, a 64 MBit (8 MB) memory buffer is used to store the compressed page image. While one page is written to the buffer, the other page is read (double buffering). In addition, the PEC uses memory to buffer the calculated dot information while the page is being printed. During page N printing, the buffer is

· 압축된 페이지N을 읽고,Read compressed page N ,

· 페이지N의 2-레벨 도트 정보를 읽고 쓰며,Read and write two-level dot information on page N ,

· 압축된 페이지N+1을 쓰는 데에 이용된다.Used to write compressed page N + 1 .

바람직하게는 PEC 칩은 다음과 같은 기능을 수행하기 위하여 단순한 마이크로 콘트롤러 CPU 코어(simple micro-controller CPU core)(435)를 포함할 것이다.Preferably, the PEC chip will include a simple micro-controller CPU core 435 to perform the following functions.

· 인쇄 페이지 간의 QA 칩 인증 프로토콜 수행Perform QA chip authentication protocol between print pages

· 인쇄되는 동안 병렬 인터페이스로 스텝 모터 구동(스텝 모터는 5KHz 처리를 요한다.)· Step motor drive with parallel interface while printing (Step motor requires 5KHz processing)

· 인쇄되는 동안 PEC 칩의 다양한 부분을 동기화· Synchronize various parts of the PEC chip while printing

· 외부 데이터 요청을 인터페이스하는 수단(프로그래밍 레지스터(programming register) 등) 제공· Provide a means to interface external data requests (such as programming registers)

· 프린트 헤드 세그먼트 저속 데이터 요청(특성화 벡터(characterization vector) 독출 및 펄스 프로파일(pulse profile) 기록과 같은 것)을 인터페이스하는 수단 제공Provide means to interface printhead segment low-speed data requests (such as reading characterization vectors and recording pulse profiles)

· 세로 및 가로 태그 구조를 외부 D램에 기록하는 수단 제공Provides a means to record vertical and horizontal tag structures on external DRAM

모든 이미지 처리는 전용 하드웨어에 의하여 수행되므로, CPU는 픽셀을 처리할 필요는 없다. 결과적으로, CPU는 극히 단순해질 수 있다. 공지된 수많은 CPU 코어가 적합하다. 즉, 그것은 요구되는 계산 및 제어 함수를 충분히 빠르게 수행할 수 있는 충분한 처리 성능을 가지는 임의의 프로세서 코어이면 된다. 적절한 코어의 일례는 약 1MHz로 구동되는 필립스(Philips) 8051 마이크로 콘트롤러이다. CPU 코어(435)와 관련하여 프로그램 ROM(program ROM) 및 작은 프로그램 스크래치용 RAM(program scratch RAM)이 있을 수 있다. CPU는 메모리 맵 입출력(memory mapped I/O)을 경유하여 PEC 칩 안의 다른 유닛과 통신한다. 특정 어드레스 범위가 특정 유닛에 사상(map)될 수 있고, 각각의 범위 내에서, 특정 레지스터가 그 특정 유닛에 사상될 수 있다. 이것은 직렬 및 병렬 인터페이스를 포함한다. 작은 프로그램 플래시 ROM이 PEC 칩 속에 구비될 수 있다. 그것의 크기는 선택된 CPU에 좌우되지만, 8KB보다 크지 않아야 한다. 마찬가지로, 작은 스크래치용 RAM 영역이 PEC 칩 속에 구비될 수 있다. 프로그램 코드는 이미지를 처리할 필요가 없으므로, 큰 스크래치 영역은 불필요하다. RAM 크기는 선택된 CPU에 좌우되지만(즉, 스택 메커니즘(stack mechanism), 서브루틴 호출 규약(subroutine calling convention), 레지스터 크기(register size) 등), 2KB보다 크지 않아야 한다.Since all image processing is performed by dedicated hardware, the CPU does not need to process the pixels. As a result, the CPU can be extremely simple. Many known CPU cores are suitable. That is, any processor core that has sufficient processing power to perform the required computation and control functions fast enough. One example of a suitable core is the Philips 8051 microcontroller running at about 1 MHz. In connection with the CPU core 435 there may be a program ROM and a small program scratch RAM. The CPU communicates with other units in the PEC chip via memory mapped I / O. A particular address range can be mapped to a particular unit, and within each range, a specific register can be mapped to that particular unit. This includes serial and parallel interfaces. A small program flash ROM can be included in the PEC chip. Its size depends on the selected CPU, but should not be larger than 8KB. Similarly, a small scratch RAM area may be provided in the PEC chip. The program code does not need to process the image, so a large scratch area is unnecessary. RAM size depends on the selected CPU (ie stack mechanism, subroutine calling convention, register size, etc.), but should not be larger than 2KB.

위에서 언급된 세그먼트 기반 페이지 폭 프린트 헤드(segment based page wide printhead)를 이용하는 PEC 칩은 최대 도트 해상도(full dot resolution)(대개 1600dpi)로 흑색을 재생할 수 있으나, 하프토닝(halftoning)을 이용하여 다소 낮은 해상도로 연속톤 컬러(contone color)를 재생한다. 페이지 명세는 따라서 흑색 2-레벨 층과 연속톤 층으로 분할된다. 흑색 2-레벨 층은 연속톤 층 "위로" 합성되도록 정의된다. 흑백 2-레벨 층은 각각의 픽셀에 대하여 1비트의투명도(opacity)를 포함하는 비트맵으로 이루어진다. 이 흑색 층 매트(black layer matte)는 프린터의 도트 해상도의 정수 약수(integer factor)인 해상도를 가진다. 최고로 지원되는 해상도는 1600dpi, 즉 프린터의 최고 도트 해상도이다. 연속톤 층은 각각의 픽셀에 대하여 32비트(32-bit) CMYK 컬러를 포함하는 비트맵으로 이루어지는데, 여기에서 K는 선택 사항이다. 이 연속톤 이미지는 프린터의 도트 해상도의 정수 약수인 해상도를 가진다. 최고로 지원되는 해상도는 단일 PEC에 대하여 12인치 당 320dpi, 즉 프린터의 도트 해상도의 5분의 1이 된다. 더 높은 연속톤 해상도를 위해서는 각각의 PEC가 출력 페이지의 단편을 생성하는 복수의 PEC가 필요하다. 연속톤 해상도 역시 RIP에서의 연산을 단순화하기 위하여 대개 흑색 2-레벨 해상도의 정수 약수가 된다. 그러나 이것은 필요조건은 아니다. 흑색 2-레벨 층 및 연속톤 층은 모두 프린터의 내부 메모리에서의 효율적인 저장을 위하여 압축된 형태가 된다.PEC chips using the segment based page wide printhead mentioned above can reproduce black at full dot resolution (typically 1600 dpi), but with halftoning Contone color is reproduced at the resolution. The page specification is thus divided into a black two-level layer and a contone layer. The black two-level layer is defined to synthesize "up" the continuous tone layer. The black and white two-level layer consists of a bitmap containing one bit of opacity for each pixel. This black layer matte has a resolution that is an integer factor of the dot resolution of the printer. The highest supported resolution is 1600 dpi, the highest dot resolution of the printer. The continuous tone layer consists of a bitmap containing 32-bit CMYK colors for each pixel, where K is optional. This continuous tone image has a resolution that is an integer divisor of the dot resolution of the printer. The highest supported resolution is 320 dpi per 12 inches for a single PEC, or one fifth of the printer's dot resolution. Higher continuous tone resolution requires multiple PECs, with each PEC generating a fragment of the output page. Continous tone resolution is also usually an integer divisor of black two-level resolution to simplify the calculation in RIP. But this is not a requirement. The black two-level layer and the continuous tone layer are both in compressed form for efficient storage in the printer's internal memory.

도 50에는 프린트 엔진 체계(print engine architecture)가 나타나 있다. 프린트 엔진의 페이지 확대 및 인쇄 파이프라인은 고속 직렬 인터페이스(427)(가령, 표준 IEEE 1394 인터페이스), 표준 JPEG 디코더(428), 표준 그룹 4 팩스 디코더, 주문형 하프토너/합성기 유닛(429), 주문형 태그 인코더(430), 라인 로더/포매터 유닛(431) 및 프린트 헤드(433)로의 주문형 인터페이스(432)로 이루어진다. 디코더(428,588) 및 인코더(430)는 하프토너/합성기(429)에 버퍼된다.50 shows a print engine architecture. The page enlargement and print pipeline of the print engine includes a high speed serial interface 427 (e.g., a standard IEEE 1394 interface), a standard JPEG decoder 428, a standard group 4 fax decoder, a custom halftoner / synthesizer unit 429, and custom tags. It consists of an on-demand interface 432 to the encoder 430, a line loader / formatter unit 431, and a print head 433. Decoders 428 and 588 and encoder 430 are buffered in half toner / synthesizer 429.

태그 인코더(430)는 그 페이지에 어떤 용도가 지정되는지에 따라 좌우되는 프로토콜에 따라 적외선 태그 또는 태그들을 페이지에 설치하며, 태그의 실제 내용은 본 발명의 주제가 아니다.The tag encoder 430 installs an infrared tag or tags on the page according to a protocol that depends on what use is specified on the page, and the actual content of the tag is not the subject of the present invention.

프린트 엔진은 이중 버퍼 방식으로 동작한다. 하나의 페이지가 버스(586) 상의 D램 인터페이스(587) 및 고속 직렬 인터페이스(27)를 경유하여 D램(34)으로 적재되는 동안, 이전에 적재된 페이지는 D램(434)으로부터 독출되어 프린트 엔진 파이프라인을 통과한다. 일단 그 페이지가 인쇄 완료되면, 방금 적재된 페이지는 인쇄될 페이지가 되며, 새로운 페이지가 고속 직렬 인터페이스(427)를 경유하여 적재된다. 제1 단계에서 파이프라인은 임의의 JPEG로 압축된 연속톤(CMYK) 층을 확대하고, 임의의 두 개의 그룹 4 팩스로 압축된 2-레벨 데이터 스트림을 확대한다. 두 개의 스트림은 흑색 층(PEC가 실제로는 색상을 알 수 없고(color agnostic), 이 2-레벨 층이 출력 잉크 중 어느 것으로도 지시될 수 있음에도 불구하고) 및, 연속톤 디더링(이하 참조)을 위하여 디더 매트릭스 중에서 선택을 하기 위한 매트(matte)이다. 제2 단계에서는, 제1 단계와 동시에, 나중에 적외선 또는 흑색 잉크로 렌더링되기 위한 소정의 태그가 부호화된다. 마지막으로 제3 단계에서는 연속톤 층을 디더하고, 위치 태그 및 2-레벨 스폿1 층(bi-level spot1 layer)을 결과로서 생기는 2-레벨 디더된 층(bi-level dithered layer) 위에 합성한다. 데이터 스트림은 이상적으로는 프린트 헤드에서의 중복되는 세그먼트(overlapping segment)의 부드러운 전이(smooth transition)를 생성하기 위해서 조정되며, 이상적으로는 그것은 프린트 헤드의 비작동 노즐(dead nozzle)을 보상하기 위하여 조정된다. 6채널까지의 2-레벨 데이터는 이 단계에서 생성된다. 6개의 채널 전부가 프린트 헤드 상에 존재할 수 있는 것은 아님에 주의하여야 한다. 예를 들어, 프린트 헤드는 CMY만이있고, K는 CMY 채널을 통하도록 하며 IR은 무시하도록 할 수 있다. 또는, 만약 IR 잉크를 이용할 수 없으면(또는 테스트를 목적으로), 위치 태그가 K로 인쇄될 수 있다. 결과로서 생기는 2-레벨 CMYK-IR 도트 데이터는 한 벌의 라인 버퍼(이하 참조)를 경유하여 프린트 헤드(33)에서 인쇄되도록 버퍼되고 포맷팅(format)된다. 이들 라인 버퍼의 대부분은 이상적으로는 별개의 칩인 D램(434) 상에 저장될 수 있다. 최종 단계에서는 6채널 2-레벨 도트 데이터를 프린트 헤드 인터페이스(432)를 경유하여 인쇄한다.The print engine operates in a double buffer mode. While one page is loaded into DRAM 34 via DRAM interface 587 and high-speed serial interface 27 on bus 586, previously loaded pages are read from DRAM 434 and printed. Pass through the engine pipeline. Once the page is printed, the page just loaded becomes the page to be printed, and a new page is loaded via the high speed serial interface 427. In the first stage, the pipeline enlarges a continuous tone (CMYK) layer compressed with any JPEG and enlarges a two-level data stream compressed with any two Group 4 faxes. The two streams contain a black layer (although the PEC is actually color agnostic and this two-level layer can be directed to any of the output inks), and continuous tone dithering (see below). This is a matte for choosing between dither matrices. In the second step, at the same time as the first step, a predetermined tag for later rendering with infrared or black ink is encoded. Finally, in the third step, the continuous tone layer is dithered, and the location tag and the bi-level spot1 layer are synthesized on the resulting bi-level dithered layer. The data stream is ideally adjusted to create a smooth transition of overlapping segments in the print head, ideally it is adjusted to compensate for dead nozzles in the print head. do. Up to six channels of two-level data are generated at this stage. Note that not all six channels can exist on the print head. For example, the printhead can have CMY only, K through the CMY channel, and IR ignored. Or, if the IR ink is not available (or for testing purposes), the location tag may be printed in K. The resulting two-level CMYK-IR dot data is buffered and formatted for printing at the print head 33 via a pair of line buffers (see below). Most of these line buffers may be stored on DRAM 434, which is ideally a separate chip. In the final step, the six-channel two-level dot data is printed via the print head interface 432.

PEC를 적용하는 인쇄 시스템에서는 압축이 사용된다. 이것은 데이터 흐름이 등속으로 운동하는 프린트 헤드보다 앞설 수 있도록 한다. 267ppi에서, 연속톤 CMYK 데이터를 가지는 레터(Letter) 용지는 25MB의 크기를 가진다. JPEG(이하 참조)와 같은 손실 연속톤 압축 알고리즘(lossy contone compression algorithm)을 이용하면, 연속톤 이미지는 눈에 띄는 품질 저하 없이 2.5MB의 압축된 페이지 크기를 제공하면서 10:1에 달하는 비율로 압축된다. 800dpi에서, 레터 용지의 2-레벨 데이터는 7MB의 크기를 가진다. 텍스트와 같은 밀집된 데이터(coherent data)는 매우 잘 압축된다. 그룹 4 팩시밀리(이하 참조)와 같은 무손실 2-레벨 압축 알고리즘(lossless bi-level compression algorithm)을 이용하면, 10 포인트의 텍스트는 0.8MB의 압축된 페이지 크기를 제공하면서 약 10:1의 비율로 압축된다.Compression is used in printing systems that apply PEC. This allows the data flow to precede the printhead moving at constant speed. At 267 ppi, letter paper with continuous tone CMYK data has a size of 25 MB. Using lossy contone compression algorithms such as JPEG (see below), continuous tone images are compressed at a ratio of 10: 1 while providing 2.5 MB of compressed page size without noticeable loss of quality. do. At 800 dpi, the two-level data of letter paper has a size of 7 MB. Coherent data such as text is compressed very well. Using a lossless bi-level compression algorithm, such as a Group 4 facsimile (see below), 10 points of text are compressed at a ratio of about 10: 1 while providing a compressed page size of 0.8 MB. do.

일단 디더되면, 한 페이지의 CMYK 연속톤 이미지 데이터는 114MB의 2-레벨 데이터로 이루어진다. 아래에 설명되는 두 개의 층으로 압축된 페이지 이미지 포맷(two-layer compressed page image format)은 손실 JPEG 연속톤 이미지 압축과무손실 2-레벨 텍스트 압축의 상대적인 강도(relative strength)를 이용한다. 그 포맷은 효율적인 저장(storage-efficient)에 충분하도록 소형(compact)이고, 인쇄 동안에 간단히 실시간 확대를 지원하기에 충분하도록 단순(simple)하다. 텍스트 및 이미지는 일반적으로 중복되지 않으므로, 일반적인 최악 조건(worst-case) 페이지 이미지 크기는 2.5MB(즉, 이미지만일 때)인 한편, 일반적인 최선 조건(best-case) 페이지 이미지 크기는 0.8MB(즉, 텍스트만일 때)가 된다. 절대 최악 조건(absolute worst-case) 페이지 이미지 크기는 3.3MB(즉, 이미지 위에 텍스트가 중복)이다. 평균적인 페이지의 4분의 1이 이미지를 포함한다고 가정하면, 평균 페이지 이미지 크기는 1.2MB가 된다.Once dithered, one page of CMYK contone image data consists of 114 MB of two-level data. The two-layer compressed page image format described below utilizes the relative strengths of lossy JPEG contone image compression and lossless two-level text compression. The format is compact enough for efficient storage-efficient and simple enough to support real time magnification during printing. Text and images are generally non-duplicate, so the typical worst-case page image size is 2.5 MB (that is, only images), while the typical best-case page image size is 0.8 MB (ie , Text only). The absolute worst-case page image size is 3.3 MB (that is, duplicate text on the image). Assuming that a quarter of the average page contains images, the average page image size is 1.2 MB.

그룹 4 팩스(G4 Fax) 디코더는 2-레벨 데이터의 압축해제를 담당한다. 2-레벨 데이터는 단일 스폿 컬러(single spot color)(대개 텍스트 및 라인 그래픽(line graphic)을 위한 흑색)로 제한되며, 디더 매트릭스는 차후의 연속톤 데이터(JPEG 디코더에 의하여 압축해제됨)에서 이용하기 위한 비트맵을 선택한다. G4 Fax 디코더로의 입력은 외부 D램으로부터 독출되는 2-레벨 데이터의 2개의 평면이 된다. G4 Fax 디코더의 출력은 압축해제된 2-레벨 데이터의 2개의 평면이 된다. 압축해제된 2-레벨 데이터는 인쇄 파이프라인에서의 다음 단계를 위하여 하프토너/합성기 유닛(Halftoner/Compositor Unit)(HCU)으로 보내진다. 두 개의 2-레벨 버퍼는 G4 Fax 디코더와 HCU 사이에서 2-레벨 데이터를 전송하기 위한 수단을 제공한다. 각각의 압축해제된 2-레벨 층은 두 개의 라인 버퍼로 출력된다. 각각의 버퍼는 예상 최대 해상도에서 12인치의 도트 라인 전부를 수용할 수 있다. 두 개의 라인 버퍼를가짐으로써 하나의 라인이 HCU에 의하여 독출되는 동안 다른 라인은 G4 Fax 디코더에 의하여 기록될 수 있다. 이것이 중요한 까닭은, 단일 2-레벨 라인은 대개 1600dpi이하이므로, 도트 "및" 라인 크기 모두 확대되어야 하기 때문이다. 만약 버퍼링이 라인 전부보다 작다면, G4 Fax 디코더는 출력이 600dpi인 동일한 도트라인을 여러 번 디코드하여야 할 것이다.The Group 4 G4 Fax decoder is responsible for the decompression of the two-level data. 2-level data is limited to a single spot color (usually black for text and line graphics), and dither matrices are used in subsequent continuous tone data (uncompressed by JPEG decoder). Select a bitmap to use. The input to the G4 Fax decoder is two planes of two-level data read from an external DRAM. The output of the G4 Fax decoder is two planes of uncompressed two-level data. The decompressed two-level data is sent to a Halftoner / Compositor Unit (HCU) for the next step in the print pipeline. Two two-level buffers provide a means for transferring two-level data between the G4 Fax decoder and the HCU. Each decompressed two-level layer is output to two line buffers. Each buffer can accommodate all 12 inch dot lines at the expected maximum resolution. By having two line buffers, one line can be written by the G4 Fax decoder while one line is read by the HCU. This is important because a single two-level line is usually less than 1600 dpi, so both dot "and" line size must be enlarged. If the buffering is smaller than all of the lines, the G4 Fax decoder will have to decode the same dot line multiple times with 600 dpi output.

스폿 컬러 1은 출력 이미지의 단일 색상면(single color plane)에 고해상도 도트 데이터를 지원하도록 설계된다. 연속톤 층이 이미지에 대하여 적절한 해상도를 제공하는 반면에, 스폿 컬러 1은 텍스트 및 라인 그래픽(대개 흑색)과 같은 애플리케이션을 목표로 한다. 텍스트 및 라인 그래픽으로서 이용될 때, 전형적인 압축비(compression ratio)는 10:1을 초과한다. 스폿 컬러 1은 최대 인쇄 품질이 1600dpi에 이르는 다양한 해상도를 지원한다. 따라서 두 개의 라인 버퍼의 각각은 합계 2400바이트(12인치 ×600dpi = 19,200비트)가 된다.Spot color 1 is designed to support high resolution dot data in a single color plane of the output image. While the continuous tone layer provides the proper resolution for the image, spot color 1 is targeted for applications such as text and line graphics (usually black). When used as text and line graphics, typical compression ratios exceed 10: 1. Spot Color 1 supports a variety of resolutions up to 1600 dpi. Thus, each of the two line buffers totals 2400 bytes (12 inches × 600 dpi = 19,200 bits).

디더 매트릭스 선택 맵의 해상도는 이상적으로는 연속톤 해상도와 일치하여야 한다. 결과적으로 두 개의 라인 버퍼의 각각은 320dpi에서 12인치를 저장할 수 있는 480바이트(3840비트)가 된다. 맵이 연속톤 해상도와 일치하면, 전형적인 압축비는 50:1을 초과한다.The resolution of the dither matrix selection map should ideally match the continuous tone resolution. As a result, each of the two line buffers is 480 bytes (3840 bits) capable of storing 12 inches at 320 dpi. If the map matches the continuous tone resolution, a typical compression ratio exceeds 50: 1.

다음과 같은 사항을 제공하기 위해서는:To provide the following:

· 800dpi 스폿 컬러 1 층(대개 흑색)800 dpi spot color 1 layer (usually black)

· 320 dpi 디더 매트릭스 선택 층(dither matrix select layer)320 dpi dither matrix select layer

압축해제 대역폭(decompression bandwidth)의 필요조건은 초당 1페이지의 성능에 대하여 9.05MB/sec(페이지 폭이 12인치 또는 8.5인치 중 어느 것이라도 무관)이고, 최고 인쇄 속도(초당 30,000 라인)로 실행되는 동안에는 12인치 및 8.5인치의 페이지 폭에 대하여 각각 20MB/sec 및 14.2MB/sec이 된다. 압축해제된 데이터가 라인 버퍼로 출력된다고 가정하면, G4 Fax 디코더는 각각의 출력으로부터 한 번에 하나씩 하나의 라인을 즉시 압축해제할 수 있다.The requirement for decompression bandwidth is 9.05 MB / sec (any page width of 12 inches or 8.5 inches) for 1 page per second performance and runs at the highest print speed (30,000 lines per second). Is 20MB / sec and 14.2MB / sec for page widths of 12 inches and 8.5 inches respectively. Assuming the decompressed data is output to the line buffer, the G4 Fax decoder can immediately decompress one line from each output, one at a time.

G4 Fax 디코더는 주 메모리로부터 D램 인터페이스를 경유하여 직접 공급된다. 압축의 분량은 외부 D램에 요구되는 대역폭을 결정한다. G4 Fax는 무손실(lossless)이므로, 이미지의 복잡도(complexity)가 데이터의 분량 및 이에 따른 대역폭에 영향을 미친다. 대개 800dpi 흑색 텍스트/그래픽 층은 10:1 압축을 초과하므로, 초당 1페이지의 인쇄에 요구되는 대역폭은 0.78MB/sec가 된다. 마찬가지로, 전형적인 320dpi 디더 선택 매트릭스는 50:1 이상으로 압축되면서 0.025MB/sec 대역폭을 필요로 하게 된다. 디더 선택 매트릭스를 위한 320DPI 및 스폿 컬러1을 위한 800DPI에 대한 최고 인쇄 속도 구성은 각각 1.72MB/sec 및 0.056MB/sec의 대역폭을 필요로 한다. 따라서 2MB/sec의 전체 대역폭은 D램의 대역폭으로 충분한 정도 이상이 되어야 한다.The G4 Fax decoder is supplied directly from main memory via the DRAM interface. The amount of compression determines the bandwidth required for external DRAM. Since G4 Fax is lossless, the complexity of the image affects the amount of data and hence the bandwidth. Usually, the 800 dpi black text / graphics layer exceeds 10: 1 compression, so the bandwidth required to print one page per second is 0.78 MB / sec. Similarly, a typical 320dpi dither select matrix would require 0.025MB / sec bandwidth while compressing above 50: 1. The maximum print speed configuration for 320 DPI for dither selection matrix and 800 DPI for spot color 1 requires bandwidths of 1.72 MB / sec and 0.056 MB / sec, respectively. Therefore, the total bandwidth of 2MB / sec should be more than enough for the bandwidth of the DRAM.

G4 Fax 복호화 기능은 G4 Fax 디코더 코어(G4 Fax Decoder core)에 의하여 구현된다. 다양한 범위의 G4 Fax 디코더 코어가 이에 적합하다. 즉, 요구되는 연산을 수행하고 기능을 제어하기에 충분히 빠른 처리 성능을 가지는 코어라면 어떤 것이라도 될 수 있다. 그것은 일반적으로 400dpi 팩시밀리 애플리케이션에서 맞닥뜨리게 되는 동작길이(runlength)를 초과하는 동작길이를 취급할 수 있어야만 하므로, 개량(modificatino)을 필요로 할 수도 있다.The G4 Fax decoding function is implemented by the G4 Fax Decoder core. A wide range of G4 Fax decoder cores are suitable for this. That is, any core can have any processing power fast enough to perform the required operation and control its functionality. It may require modifications since it must be able to handle lengths in excess of the lengths typically encountered in 400 dpi facsimile applications.

CMYK(또는 CMY) 연속톤 층은 평면 컬러 JPEG 바이트 스트림(planar color JPEG bytestream)으로 압축된다. 만약 휘도/채도(luminance/chrominance)의 분리가 도표 공유(table sharing)를 위하여 또는 채도의 서브샘플링(subsampling)을 위하여 필요하다고 판단되면, CMYK는 YCrCb 및 Cr로 변환되며, Cb는 적당히 서브샘플링된다. JPEG 바이트 스트림은 완료되고 완비(self-contained)된다. 그것은 양자화(quantization) 및 허프만 도표(Huffman table)를 포함하는, 압축해제에 필요한 모든 데이터를 포함한다.The CMYK (or CMY) contone layer is compressed into a planar color JPEG bytestream. If separation of luminance / chrominance is necessary for table sharing or for subsampling of saturation, CMYK is converted to YCrCb and Cr, and Cb is appropriately subsampled. . The JPEG byte stream is complete and self-contained. It contains all the data needed for decompression, including quantization and Huffman tables.

JPEG 디코더는 연속톤 데이터 층의 연속식 압축해제(on-the-fly decompression)의 수행을 담당한다. JPEG 디코더로의 입력은 4개까지의 면의 연속톤 데이터가 된다. 이것은 대개 CMY 연속톤 이미지를 표현하는 3개의 면이 되거나 CMYK 연속톤 이미지를 표현하는 4개의 면이 된다. 대개 모든 색상면(color plane)이 동일 해상도가 되기는 하지만, 각각의 색상면이 상이한 해상도일 수도 있다. 연속톤 층은 외부 D램으로부터 독출된다. JPEG 디코더의 출력은 면으로 분리된 압축해제된 연속톤 데이터이다. 압축해제된 연속톤 이미지는 인쇄 파이프라인의 다음 단계를 위하여 하프토너/합성기 유닛(HCU)(429)으로 보내진다. 4면 연속톤 버퍼(4-plane contone buffer)는 JPEG 디코더와 HCU(429) 사이의 연속톤 데이터 전송을 위한 수단을 제공한다.The JPEG decoder is responsible for performing on-the-fly decompression of the continuous tone data layer. Input to the JPEG decoder is continuous tone data of up to four planes. This will usually be three sides representing a CMY continuous tone image or four sides representing a CMYK continuous tone image. Usually all color planes have the same resolution, but each color plane may have a different resolution. The continuous tone layer is read from the external DRAM. The output of the JPEG decoder is decompressed continuous tone data separated by planes. The decompressed contone image is sent to a half toner / synthesizer unit (HCU) 429 for the next stage of the printing pipeline. The 4-plane contone buffer provides a means for the transmission of continuous tone data between the JPEG decoder and the HCU 429.

압축해제된 연속톤 데이터의 각각의 색상면은 한 벌의 2 라인 버퍼(two line buffer)(이하 참조)으로 출력된다. 각각의 라인 버퍼는 3840바이트이고, 따라서320ppi에서 12인치의 단일 색상면 픽셀을 수용할 수 있다. 라인 버퍼링은 하나의 라인 버퍼가 HCU에 의하여 독출되는 동안 다른 라인 버퍼가 JPEG 디코더에 의하여 기록되도록 한다. 이것이 중요한 까닭은, 단일 연속톤 라인은 대개 1600dpi보다 작고, 따라서 도트 "및" 라인 크기에 있어서 확대되어야 하기 때문이다. 만약 버퍼링이 라인 전부보다 작다면, JPEG 디코더는 각각 600dpi의 출력 도트 라인이 되는 동일한 라인을 여러 번 디코드하여야 할 것이다. 비록 다양한 해상도가 지원되지만, 해상도와 사용할 수 있는 대역폭과의 사이에는 보상점(tradeoff)이 존재한다. 해상도 및 색상의 수가 증가함에 따라, 필요 대역폭 또한 증가한다. 덧붙여, PEC 칩에 의하여 목표되는 세그먼트(segment)의 숫자 또한 대역폭 및 가능한 해상도에 영향을 미친다. 연속톤 이미지는 면 포맷(planar format)에서 처리되므로, 각각의 색상면은 상이한 해상도(예를 들어, CMY가 K 평면보다 고해상도일 수 있다)로 저장될 수 있음에 주의하여야 한다. 지원되는 최고 연속톤 해상도는 1600ppi(프린터의 도트 해상도 전부와 일치함)이다. 그러나 12인치 길이의 320ppi 라인에 대한 연속톤 픽셀을 유지하기에 충분한 출력 라인 버퍼 메모리만이 존재할 뿐이다. 만약 12 인치의 출력 전부가 높은 연속톤 해상도로 요구되면, 프린터 상의 최종 출력은 여전히 2-레벨에 불과할 뿐임을 주목하여야 함에도 불구하고, 복수의 PEC 칩이 필요하게 된다. 320ppi로 4가지 색상을 지원하면서, 압축해제 출력 요구 대역폭(decompression output bandwidth requirements)은 초당 1페이지의 성능에 대하여 40MB/sec(페이지 폭이 12인치이든 8.5인치이든 무관함)이 되고, 최고 프린터 속도(초당 30,000 라인)로 수행되는 동안에는 12인치 및 8.5인치의 페이지 폭각각에 대하여 88MB/sec 및 64MB/sec이 된다. 표 5는 상이한 해상도/색상면/페이지 폭 조합에 요구되는 대역폭을 결정하는데 이용될 수 있다.Each color plane of the decompressed continuous tone data is output to a pair of two line buffers (see below). Each line buffer is 3840 bytes, so it can accommodate 12 inches of single color plane pixels at 320 ppi. Line buffering allows other line buffers to be written by the JPEG decoder while one line buffer is read by the HCU. This is important because a single continuous tone line is usually less than 1600 dpi, and therefore must be enlarged in dot "and" line size. If buffering is smaller than all of the lines, the JPEG decoder will have to decode the same line multiple times, each with 600 dpi output dot lines. Although various resolutions are supported, there is a tradeoff between resolution and available bandwidth. As the resolution and number of colors increase, the required bandwidth also increases. In addition, the number of segments targeted by the PEC chip also affects bandwidth and possible resolutions. Note that since the contone image is processed in a planar format, each color plane may be stored at a different resolution (eg, CMY may be higher resolution than the K plane). The highest continuous tone resolution supported is 1600 ppi (which matches all of the printer's dot resolutions). However, there is only enough output line buffer memory to hold continuous tone pixels for a 12-inch-long 320 ppi line. If all of the 12-inch output is required with high continuous tone resolution, multiple PEC chips are needed, although it should be noted that the final output on the printer is still only two levels. Supporting four colors at 320 ppi, the decompression output bandwidth requirements are 40MB / sec (with or without page widths of 12 inches or 8.5 inches) for 1 page per second performance, and maximum printer speed (30,000 lines per second) is 88 MB / sec and 64 MB / sec for page width angles of 12 inches and 8.5 inches. Table 5 can be used to determine the bandwidth required for different resolution / color plane / page width combinations.

JPEG 디코더는 주 메모리로부터 D램 인터페이스를 경유하여 직접 공급된다. 압축의 분량은 외부 D램에 대한 요구 대역폭(bandwidth requirements)을 결정짓는다. 압축 정도가 상승할수록 대역폭은 감소하지만, 최종 출력 이미지의 품질 역시 저하될 수 있다. 단일 색상면에 대한 D램 대역폭은 압축 인자(compression factor)를 도 5에 나타난 출력 대역폭에 적용함으로써 쉽게 계산될 수 있다. 예를 들어, 320ppi에서 10:1의 압축 인자를 가지는 단일 색상면은 초당 1 페이지를 생성하기 위하여 1MB/sec의 액세스를 필요로 한다.The JPEG decoder is supplied directly from the main memory via the DRAM interface. The amount of compression determines the bandwidth requirements for external DRAM. As compression increases, bandwidth decreases, but the quality of the final output image may also degrade. The DRAM bandwidth for a single color plane can be easily calculated by applying the compression factor to the output bandwidth shown in FIG. For example, a single color plane with a compression factor of 10: 1 at 320 ppi requires 1 MB / sec access to generate one page per second.

JPEG 기능은 JPEG 코어에 의하여 구현된다. 다양한 범위의 JPEG 코어가 이에 적합하다. 즉, 요구되는 연산을 수행하고 기능을 제어하기에 충분히 빠른 처리 성능을 가지는 JPEG 코어라면 어느 것이든 될 수 있다. 예를 들어, BTG X-Match 코어는 140MB/sec에 달하는 압축해제 속도를 가지며, 최고 프린터 속도(1600dpi에서 초당 30,000 라인)로 400ppi까지의 연속톤 해상도에서 4개의 색상면을 압축해제할 수 있고, 1페이지/초 프린터 속도로는 800ppi까지의 연속톤 해상도를 지원한다. 코어는 더욱 범용적인 JPEG 압축/압축해제 코어에 의하여 부과되는 요구조건을 경감시키도록 "압축해제(decompression)"만을 지원하면 되는 것에 주의하여야 한다. 코어의 크기는 100,000게이트(gate)보다 크지 않아야 한다. 압축해제된 데이터가 라인 버퍼로 출력된다고 가정하면, JPEG 디코더는 각각의 색상면의 라인 전체를 한번에 하나씩(one at a time) 쉽게 압축해제할 수 있고, 따라서 하나의 라인 도중의 문맥전환(context switching)을 절감하고 JPEG 디코더의 제어를 단순화할 수 있게 된다. 4개의 문맥(context)은 반드시 유지되어야 하며(각각의 색상면마다 하나의 문맥으로), 적절한 JPEG 디코딩 파라미터(JPEG decoding parameter)뿐만 아니라 현재 어드레스(current address)도 외부 D램에 포함한다.JPEG functionality is implemented by the JPEG core. A wide range of JPEG cores is suitable for this. That is, it can be any JPEG core that has processing power fast enough to perform the required operation and control its function. For example, the BTG X-Match core has a decompression speed of 140 MB / sec, decompresses four color planes at continuous printer resolution up to 400 ppi at full printer speed (30,000 lines per second at 1600 dpi), It supports continuous tone resolutions up to 800 ppi at 1 page / second printer speeds. It should be noted that the core only needs to support "decompression" to alleviate the requirements imposed by the more general JPEG compression / decompression core. The size of the core should not be larger than 100,000 gates. Assuming the decompressed data is output to the line buffer, the JPEG decoder can easily decompress the entire line of each color plane one at a time, thus context switching during one line. ) And simplify the control of the JPEG decoder. Four contexts must be maintained (one context for each color plane) and include the current address as well as the appropriate JPEG decoding parameters in the external DRAM.

도 51에서, 하프토너/합성기 유닛(HCU)(429)은 연속톤(대개 CMYK) 층을 동일한 것의 2-레벨 버전(bi-level version)으로 하프톤화(halftoning)하고, 스폿1 2-레벨 층을 적절한 하프톤화된 연속톤 층(들) 위로 합성하는 기능(functionality)을 결합시킨다. 만약 프린트에 K 잉크가 없다면, HCU(429)는 K를 CMY 도트로 적절하게 사상(map)할 수 있다. 그것은 또한 픽셀 대 픽셀 기반(pixel by pixel basis)으로 디더 매트릭스 선택 맵의 대응되는 값에 근거하여 두 개의 디더 매트릭스 중에서 선택을 한다. HCU(429)로의 입력은 버퍼(437)를 통한 (JPEG 디코더 유닛으로부터의) 확대된 연속톤층(expanded contone layer), 버퍼(438)를 통한 확대된 2-레벨 스폿1 층, 버퍼(439)를 통한, 대개 연속톤 층과 동일한 해상도인 확대된 디더 매트릭스 선택 비트맵(dither-matrix-select bitmap) 및 버퍼(440)를 통한 완전 도트 해상도(full dot resolution)의 태그 데이터이다. HCU(429)는 외부 D램(434)으로부터 독출되는 2개까지의 디더 매트릭스를 사용한다. HCU(429)로부터 라인 로더/포매터 유닛(LLFU)으로의 출력(441)은 6개까지의 색상면에서의 한 벌의 프린터 해상도 2-레벨 이미지 라인이 된다. 전형적으로, 연속톤 층은 CMYK 또는 CMY이며, 2-레벨 스폿1 층은 K이다.In FIG. 51, half toner / synthesizer unit (HCU) 429 halftons the continuous tone (usually CMYK) layer into a bi-level version of the same, and spot1 two-level layer. Combines the functionality of synthesizing onto the appropriate halftoned contone layer (s). If there is no K ink in the print, the HCU 429 can properly map K to CMY dots. It also selects between two dither matrices based on the corresponding values of the dither matrix selection map on a pixel by pixel basis. Inputs to the HCU 429 pass the expanded contone layer (from the JPEG decoder unit) through the buffer 437, the expanded two-level spot 1 layer through the buffer 438, the buffer 439. Tag data at full dot resolution through the dither-matrix-select bitmap and buffer 440, usually at the same resolution as the continuous tone layer. HCU 429 uses up to two dither matrices read from external DRAM 434. The output 441 from the HCU 429 to the line loader / formatter unit (LLFU) is a set of printer resolution two-level image lines in up to six colors. Typically, the continuous tone layer is CMYK or CMY and the two-level Spot1 layer is K.

도 52에는 HCU가 더욱 상세하게 나타나 있다. 일단 개시되면, HCU는 페이지의 끝(end-of-page) 조건을 검출할 때까지, 또는 명시적으로 자기의 제어 레지스터(control register)를 통하여 정지될 때까지 계속된다. HCU의 제1 임무는 스케일 유닛(scale unit)(443)과 같은 각각의 스케일 유닛에서 442와 같은 버퍼 면에서 수신되는 모든 데이터를 가로 및 세로 모두의 프린터 해상도로 스케일하는 것이다. 스케일 유닛은 연속톤 또는 2-레벨 데이터를 가로 및 세로 모두의 프린터 해상도로 스케일하는 수단을 제공한다. 스케일(scaling)은 데이터 값(data value)을 양쪽 치수(dimension) 모두에서 정수번 복제(replicate)함으로써 달성된다. 데이터를 스케일하는 절차는 당업자에게 익숙할 것이다. 각각의 연속톤 층은 상이한 해상도일 수 있기 때문에, 이들은 독립적으로 스케일된다. 버퍼(445)의 2-레벨 스폿1 층 및 버퍼(446)의 디더 매트릭스 선택 층 또한 스케일될 필요가 있다. 버퍼(447)의 2-레벨 태그 데이터는 올바른 해상도로 배치되므로 스케일될 필요가 없다. 스케일-업(scale-up) 디더 매트릭스 선택 비트는 두 개의 디더 매트릭스로부터 단일 8비트 값(single 8-bit value)을 선택하기 위하여 디더 매트릭스 액세스 유닛(448)에 의하여 이용된다. 8비트 값은 4개의 비교기(comparator)(444,449-451)로 출력되며, 이들은 이것을 특정 8비트 연속톤 값과 단순 비교한다. 실제 디더 매트릭스의 생성은 프린트 헤드의 구조에 좌우되며, 일반적인 생성 절차는 당업자에게 익숙할 것이다. 만약 연속톤 값이 8비트 디더 매트릭스값보다 크거나 같다면, 1이 출력된다. 만약 그렇지 않다면 0이 출력된다. 이들 비트는 그후 마진 유닛(margin unit)(457)으로부터의 인페이지 비트(inPage bit)와 함께 452 내지 456에서 모두 논리곱(AND)된다(특정 도트가 페이지의 인쇄 가능 영역에 있는지의여부는 불문). HCU의 최종 단계는 합성 단계(composition stage)이다. 6개의 출력 층 각각에 대하여 각각 6개의 입력을 가지는, 유닛(458)과 같은 단일 도트 병합 유닛(dot merger unit이 존재한다. 각각의 도트 병합 유닛으로부터의 단일 출력 비트(single output bit)는 입력 비트의 일부 또는 전부의 조합(combination)이다. 이것은 스폿 컬러가 임의의 출력 색상면(테스트를 목적으로 하는 적외선 포함), 시안, 마젠타 및 황색으로 병합될 흑색(흑색 잉크가 프린트 헤드에 없는 경우) 및 가시적인 면(visible plane)에 위치할 태그 도트 데이터에 위치할 수 있도록 한다. 정착액 색상면(fixative color plane) 또한 쉽게 생성될 수 있다. 도트 재편 유닛(dot reorg unit)(DRU)(459)은 주어진 색상면에 대하여 생성된 도트 스트림을 취하고, 출력이 세그먼트 순서(in segment order)가 되고, 세그먼트 안에서는 도트 순서대로 되도록 32비트 양(32-bit quantity)으로 편성하는 것을 담당한다. 중복되는 세그먼트를 위한 도트는 세그먼트 순서로 생성되지 않는 사실로 인하여, 최소의 재정렬(minimal reordering)이 요구된다.52 shows the HCU in more detail. Once initiated, the HCU continues until it detects an end-of-page condition, or until it is explicitly stopped through its control register. The first task of the HCU is to scale all data received on a buffer side, such as 442, in each scale unit, such as scale unit 443, to printer resolution both horizontally and vertically. The scale unit provides a means for scaling continuous tone or two-level data to both horizontal and vertical printer resolutions. Scaling is achieved by replicating the data value an integer number of times in both dimensions. Procedures to scale data will be familiar to those skilled in the art. Since each continuous tone layer can be of different resolution, they are scaled independently. The two-level Spotl layer of buffer 445 and the dither matrix selection layer of buffer 446 also need to be scaled. The two-level tag data of the buffer 447 is placed at the correct resolution and does not need to be scaled. The scale-up dither matrix select bit is used by the dither matrix access unit 448 to select a single 8-bit value from two dither matrices. The 8-bit value is output to four comparators 444,449-451, which simply compares it with a specific 8-bit continuous tone value. The generation of the actual dither matrix depends on the structure of the print head, and the general generation procedure will be familiar to those skilled in the art. If the continuous tone value is greater than or equal to the 8-bit dither matrix value, 1 is output. If not, 0 is printed. These bits are then ANDed from 452 to 456 together with the inPage bits from the margin unit 457 (whether or not a particular dot is in the printable area of the page). ). The final stage of the HCU is the composition stage. There is a single dot merger unit, such as unit 458, each having six inputs for each of the six output layers. A single output bit from each dot merge unit is an input bit. Is a combination of some or all of: This means that the spot color will be merged into any output color plane (including infrared for testing purposes), cyan, magenta, and yellow (if no black ink is in the printhead), and Allows to be placed on tag dot data that is to be placed on a visible plane A fixative color plane can also be easily generated A dot reorg unit (DRU) 459 Takes a generated dot stream for a given color plane and organizes it into 32-bit quantities so that the output is in segment order and within the segment in dot order. Due to the fact that dots for overlapping segments are not generated in segment order, minimal reordering is required.

마진 유닛(457)에 의하여 두 개의 제어 비트, 즉 어드밴스 도트(advance dot) 및 어드밴스 라인(advance line)이 스케일 유닛에 제공된다. 어드밴스 도트 비트는 상태 머신(state machine)이 동일 도트 데이터의 복수의 인스턴스를 생성하도록 한다(멤젯 프린트 헤드에 있어서 페이지 마진 및 중복되는 세그먼트를 위한 도트 데이터 생성에 유용). 어드밴스 라인 비트는 상태머신이 언제 특정 도트의 라인이 완료되었는지를 제어하도록 하고, 그럼으로써 프린터 마진에 따라 데이터를 절단(truncation)하도록 한다. 그것은 또한 스케일 유닛이 특수한 라인의 끝(end-of-line) 논리를 필요로 하는 수고를 덜도록 한다.The margin unit 457 provides two control bits to the scale unit, namely, an advance dot and an advance line. The advanced dot bit causes the state machine to generate multiple instances of the same dot data (useful for generating page data and dot data for overlapping segments in a Memjet printhead). The advance line bit allows the state machine to control when a line of a particular dot is completed, thereby truncating the data according to the printer margin. It also saves the effort of the scale unit requiring special end-of-line logic.

비교기 유닛(comparator unit)은 단순한 8비트 "크거나 같은(greater-than-or-equal)" 비교기를 포함한다. 그것은 8비트 연속톤 값이 8비트 디더 매트릭스 값보다 크거나 같은지 여부를 판단하는데 이용된다. 그 자체로서, 비교기 유닛은 두 개의 8비트 입력을 취하여 단일한 1비트 출력을 생성한다.The comparator unit includes a simple 8-bit "greater-than-or-equal" comparator. It is used to determine whether the 8-bit continuous tone value is greater than or equal to the 8-bit dither matrix value. As such, the comparator unit takes two 8-bit inputs and produces a single 1-bit output.

도 53에는 도트 병합 유닛이 더욱 상세하게 나타나 있다. 그것은 실제 프린트 헤드에서 디더된 2-레벨 데이터(bi-level dithered data), 스폿1 컬러 및 태그 데이터를 출력 잉크로 사상(map)하는 수단을 제공한다. 각각의 도트 병합 유닛은 6개의 1비트 입력을 취하여, 그 색상면을 위한 출력 도트를 표현하는 단일 비트 출력(single bit output)을 생성한다. 출력 비트(460)는 입력 비트의 일부 또는 전부의 조합이다. 이것은 스폿 컬러가 임의의 출력 색상면(테스트를 위한 목적의 적외선 포함) 상에 위치하도록 하고, 흑색이 시안, 마젠타 및 황색으로 병합되도록 하며(프린트 헤드에 흑색 잉크가 없는 경우), 태그 도트 데이터가 가시적인 면 상에 위치하도록 한다. 정착액을 위한 출력은 단순히 모든 입력 비트를 결합시킴으로써 쉽게 생성될 수 있다. 도트 병합 유닛은 6개의 입력 비트에 대한 마스크(mask)로 사용되는 6비트 컬러마스크(ColorMask) 레지스터(461)를 포함한다. 각각의 입력 비트는 대응되는 컬러마스크 레지스터 비트와 논리곱(AND)되며, 결과로서 생기는 6개의 비트는 최종 출력 비트를 형성하기 위하여 함께 논리합(OR)된다.The dot merging unit is shown in more detail in FIG. It provides a means to map bi-level dithered data, Spot1 color and tag data to the output ink in the actual print head. Each dot merging unit takes six 1-bit inputs and produces a single bit output that represents the output dot for that color plane. The output bit 460 is a combination of some or all of the input bits. This allows the spot color to be placed on any output color plane (including infrared for testing purposes), blacks merged into cyan, magenta, and yellow (if there is no black ink in the printhead), and the tag dot data is Place it on the visible side. The output for the fixer can be easily generated by simply combining all the input bits. The dot merging unit includes a 6-bit ColorMask register 461 that is used as a mask for six input bits. Each input bit is ANDed with the corresponding colormask register bit, and the resulting six bits are ORed together to form the final output bit.

도 54에는 주어진 색상면에 대하여 생성된 도트 스트림을 취하여, 출력이 세그먼트 순서대로 되고, 세그먼트 내에서는 도트 순서대로 되도록 도트 스트림을32비트 양으로 재편성하는 것을 담당하는 도트 재편 유닛(dot reorg unit)(DRU)이 나타나있다. 중복되는 세그먼트는 세그먼트 순서로 생성되지 않는 사실에 기인하여, 최소한의 재정렬이 필요하다. DRU는 32비트 시프트 레지스터(32-bit shift register), 일반적인 32비트 레지스터 및 일반적인 16비트 레지스터를 포함한다. 하나의 5비트 카운터(counter)가 그때까지 처리되는 비트의 수를 계산한다. 디더 매트릭스 액세스 유닛(dither matrix access unit)(DMAU)으로부터의 도트 어드밴스(dot advance) 신호는 DRU에 어떤 비트가 출력되어야 하는지를 가리키는데 이용된다.Fig. 54 shows a dot reorg unit responsible for taking a generated dot stream for a given color plane and reorganizing the dot stream in a 32-bit amount so that the output is in the order of the segments and the order of the dots within the segment ( DRU) is shown. Due to the fact that overlapping segments are not created in segment order, minimal reordering is necessary. The DRU includes a 32-bit shift register, a general 32 bit register and a general 16 bit register. One 5-bit counter counts the number of bits processed up to that point. A dot advance signal from a dither matrix access unit (DMAU) is used to indicate which bits should be output to the DRU.

도 54에서 레지스터(A)(462)는 매 사이클마다 클록이 인가된다. 그것은 도트 병합 유닛(dot merger unit)(DMU)에 의하여 생성된 32개의 가장 새로운 도트(most recent dots)를 포함한다. 32비트 값 전부는 매 32사이클마다 DRU 상태 머신(DRU state machine)으로부터 생성되어 간단한 5비트 카운터를 경유하는 WriteEnable 신호에 의해서 레지스터(B)(463)로 복사된다. 레지스터(B)(463)의 16개의 홀수 비트(비트 1,3,5,7 등)는 동일한 WriteEnable 펄스에 의하여 레지스터(C)(465)로 복사된다. 32비트 멀티플렉서(multiplexor)(466)는 그리고 나서 상태머신으로부터의 2개의 비트에 근거하여 다음 3개의 출력 중에서 선택을 한다.In Figure 54, the register (A) 462 is clocked every cycle. It contains the 32 most recent dots generated by the dot merger unit (DMU). All 32-bit values are generated from the DRU state machine every 32 cycles and copied to register (B) 463 by a WriteEnable signal via a simple 5-bit counter. Sixteen odd bits (bits 1, 3, 5, 7, etc.) of register (B) 463 are copied to register (C) 465 by the same WriteEnable pulse. 32-bit multiplexer 466 then selects from the following three outputs based on the two bits from the state machine.

· 레지스터 B로부터의 32비트 전부All 32 bits from register B

· 레지스터 A의 16개의 짝수 비트(비트 0,2,4,6 등) 및 레지스터 B의 16개의 짝수 비트로부터 만들어지는 32비트 값. 레지스터 A로부터의 16개의 짝수 비트가 비트 0 내지 15를 형성하는 한편, 레지스터 B로부터의 16개의 짝수 비트는 비트16 내지 31을 형성한다.A 32-bit value created from the 16 even bits in register A (bits 0, 2, 4, 6, and so on) and the 16 even bits in register B. Sixteen even bits from register A form bits 0-15, while sixteen even bits from register B form bits 16-31.

· 레지스터 B의 16개의 홀수 비트(비트 1,3,5,7 등) 및 레지스터 C의 16개의 비트로부터 만들어지는 32비트 값. 레지스터 C의 비트가 비트 0 내지 15를 형성하는 한편, 레지스터 B로부터의 16개의 홀수 비트는 비트 16 내지 31을 형성한다.A 32-bit value created from the 16 odd bits of register B (bits 1, 3, 5, 7, and so on) and the 16 bits of register C. The bits in register C form bits 0-15, while the 16 odd bits from register B form bits 16-31.

DRU를 위한 상태 머신이 표 1에 나타나 있다. 그것은 상태 0에서 개시된다. 그것은 상태를 매 32 사이클마다 변경한다. 32 사이클 동안에 단일한 no-Overlap 비트가 그 32 사이클에 대한 모든 도트 어드밴스 비트의 논리곱(AND)을 수집한다(사이클 0에서, no-Overlap = 도트 어드밴스, 사이클 1 내지 31에서, no-Overlap = no-Overlap AND 도트 어드밴스).State machines for DRUs are shown in Table 1. It is initiated in state zero. It changes state every 32 cycles. During 32 cycles, a single no-overlap bit collects the AND of all dot advance bits for that 32 cycle (in cycle 0, no-Overlap = dot advance, in cycles 1 to 31, no-Overlap = no-Overlap AND dot advance).

[표 1] DRU를 위한 상태 머신Table 1 State Machines for DRUs

상태condition NoOverlapNooverlap 출력Print outputValidoutputValid 설명Explanation 다음 상태Next status 00 xx BB 00 개시 상태Initiation status 1One 1One BB 1One 일반적인 중복 없음No general duplication 1One 00 BB 1One A가 최초 중복을 포함A contains the first duplicate 22 xx 짝수 A짝수 BEven A Even B 1One A가 제2 중복을,B가 최초 중복을 포함A contains the second duplicate, B contains the first duplicate 33 xx C,홀수 BC, odd B 1One C가 최초 중복을,B가 제2 중복을 포함C contains the first duplicate, B contains the second duplicate

도 52에서, 마진 유닛(margin unit(MU)는 어드밴스 도트(advance dot) 및 어드밴스 라인(advance line) 신호를 디더 매트릭스 액세스 유닛(dither matrix access unit)(DMAU)(448)으로부터 현재 페이지의 페이지 마진에 근거한 일반적인 제어 신호로 바꾸는 것을 담당한다. 그것은 또한 페이지의 끝(end of page) 상태의 생성을 담당한다. MU는 페이지에서 도트 및 라인의 카운터를 유지한다. 양자 모두 페이지의 시작에서 0으로 설정된다. 도트 카운터는 MU가 도트 어드밴스 신호를 DMAU로부터 수신할 때마다 1만큼씩 앞선다. MU가 DMAU로부터 라인 어드밴스 신호를수신하면, 라인 카운터(line counter)는 증가하고 도트 카운터는 0으로 리셋된다. 각각의 사이클, 현재 라인 및 도트 값은 페이지의 마진에 비교되며, 적절한 출력 도트 어드밴스(dot advance), 라인 어드밴스(line advance) 및 마진 범위 내(within margin) 신호는 이들 마진을 근거로 주어진다. DMAU는 단지 HCU를 위한 실질적인 메모리 요청만을 포함한다.In FIG. 52, a margin unit (MU) sends the advance dot and advance line signals from the dither matrix access unit (DMAU) 448 to the page margin of the current page. It is also responsible for switching to a normal control signal based on the ss, which is also responsible for generating the end of page state, the MU maintains a counter of dots and lines on the page, both set to zero at the beginning of the page. The dot counter is advanced by 1 each time the MU receives a dot advance signal from the DMAU When the MU receives a line advance signal from the DMAU, the line counter is incremented and the dot counter is reset to zero. Each cycle, current line, and dot value is compared to the margin of the page, and within the appropriate output dot advance, line advance, and margin ranges ( within margin) signals are given based on these margins, the DMAU contains only the actual memory requests for the HCU.

인쇄 가능한 페이지 영역에 관하여 묵시적으로 정의되는 것과는 별도로, 각각의 페이지 명세는 완전하고 완비되어 있다(complete and self-contained). 페이지 명세와는 별개로 저장되면서 페이지 명세가 참조하는 페이지는 존재하지 않는다. PEC는 이미 제공된 디더 매트릭스 및 태그 구조에 의존하지만, 이들은 일반적인 페이지 포맷(page format)의 일부로 취급되지는 않는다.Apart from being implicitly defined with respect to the printable page area, each page specification is complete and self-contained. It is stored separately from the page specification and no page is referenced by the page specification. PEC relies on dither matrices and tag structures already provided, but they are not treated as part of the general page format.

페이지 명세는 페이지의 크기 및 해상도를 설명하는 페이지 헤더(page header)로 이루어지며, 실제 페이지 내용을 설명하는 하나 또는 그 이상의 페이지 밴드(page band)가 이어진다.The page specification consists of a page header describing the size and resolution of the page, followed by one or more page bands describing the actual page content.

표 2는 페이지 헤더의 형식을 나타낸다.Table 2 shows the format of the page header.

[표 2] 페이지 헤더 형식[Table 2] Page Header Format

영역domain 형식form 설명Explanation 서명(Signature)Signature 16비트 정수16-bit integer 페이지 헤더 형식 서명(Page header format signature)Page header format signature 버전(Version)Version 16비트 정수16-bit integer 페이지 헤더 형식 버전 번호(Page header format version number)Page header format version number 구조 크기(structure size)Structure size 16비트 정수16-bit integer 페이지 헤더의 크기The size of the page header 타겟 해상도(dpi)Target resolution (dpi) 16비트 정수16-bit integer 타겟 페이지의 해상도. 이것은 현재 프린터에 대해서 언제나 1600이 된다.The resolution of the target page. This is always 1600 for the current printer. 타겟 페이지 폭(target pagewidth)Target pagewidth 16비트 정수16-bit integer 도트 단위의 타겟 페이지 폭Target page width in dots 타겟 페이지 높이(target pageheight)Target pageheight 16비트 정수16-bit integer 도트 단위의 타겟 페이지 높이Target page height in dots 타겟 좌측 마진(target leftmargin)Target leftmargin 16비트 정수16-bit integer 도트 단위의 타겟 좌측 마진 폭Target left margin width in dots 타겟 상단 마진(target topmargin)Target topmargin 16비트 정수16-bit integer 도트 단위의 타겟 상단 마진Target top margin in dots 타겟 플래그(target flag)Target flag 16비트 정수16-bit integer 비트 0은 이 페이지에서 태그를 생성할 것인지 여부를 특정한다(0=아니오, 1=예).비트 1은 태그 방향을 특정한다(0=세로, 1=가로).비트 2는 고정 태그 데이터가 중복적으로 PEC에 의하여 부호화되어야 할지, 직접 사용될지 여부를 특정한다(0=직접 사용, 1=부호화).비트 3은 가변 태그 데이터가 부가적으로 PEC에 의하여 부호화되어야 할지, 직접 사용될지 여부를 특정한다(0=직접 사용, 1=부호화).나머지 비트는 예비용이다.Bit 0 specifies whether to generate tags on this page (0 = no, 1 = yes). Bit 1 specifies the tag direction (0 = portrait, 1 = landscape). Bit 2 indicates that fixed tag data Specifies whether to be redundantly encoded by the PEC or used directly (0 = direct use, 1 = encoding). Bit 3 specifies whether variable tag data should additionally be encoded or used directly by the PEC. Specifies (0 = direct use, 1 = encoding). The remaining bits are reserved. 고정 태그 데이터(fixed tag data)Fixed tag data 128비트 정수128-bit integer 이것은 태그 생성 플래그(generate tags flag)가 설정되었을 때에만 유효하다(태그 플래그의 비트 0).태그 플래그의 비트 1이 설정되어 있지 않으면, 고정 태그 데이터의 아래쪽 120비트(lower 120bits)는 이미 부호화된 고정 데이터를 포함한다.태그 플래그의 비트 1이 설정되면, 고정 태그 데이터의 아래 120비트는 PEC에 의하여 부호화될, 부호화되지 않은 고정 데이터를 포함한다.윗쪽 8비트는 예비용이다.This is valid only when the generate tags flag is set (bit 0 of the tag flag). If bit 1 of the tag flag is not set, the lower 120 bits of the fixed tag data are already encoded. If bit 1 of the tag flag is set, the lower 120 bits of the fixed tag data contain uncoded fixed data to be encoded by the PEC. The upper 8 bits are reserved.

흑색 스케일 인자(black scale factor)Black scale factor 16비트 정수16-bit integer 흑색 2-레벨 해상도로부터 타겟 해상도로의 스케일 인자(1이거나 1보다 클 것)Scale factor from black 2-level resolution to target resolution (either 1 or greater than 1) 흑색 페이지 폭Black page width 16비트 정수16-bit integer 흑색 픽셀 단위의 흑색 페이지의 폭The width of a black page in black pixels 흑색 페이지 높이Black page height 16비트 정수16-bit integer 흑색 픽셀 단위의 흑색 페이지의 높이The height of a black page in black pixels 연속톤 컬러 영역(contone color space)Contone Color Space 16비트 정수16-bit integer 연속톤 JPEG 채널의 수를 정의.대개 CMY 나 CMYK에 대하여 3 또는 4.Defines the number of continuous tone JPEG channels, usually 3 or 4. for CMY or CMYK. 연속톤1 스케일 인자Continuous tone 1 scale factor 16비트 정수16-bit integer 연속톤 채널1 해상도로부터 타겟 해상도로의 스케일 인자(1이거나 1보다 클 것)Scale factor from continuous channel 1 resolution to target resolution (either 1 or greater than 1) 연속톤1 페이지 폭Continuous tone 1 page width 16비트 정수16-bit integer 연속톤1 픽셀 단위의 연속톤 페이지의 폭Width of continuous tone page in pixels 연속톤1 페이지 높이Continuous tone 1 page height 16비트 정수16-bit integer 연속톤1 픽셀 단위의 연속톤 페이지의 높이Height of continuous tone page in pixels 연속톤2 스케일 인자Continuous tone 2 scale factor 16비트 정수16-bit integer 연속톤 채널2 해상도로부터 타겟 해상도로의 스케일 인자(1이거나 1보다 클 것)Scale factor from continuous channel 2 resolution to target resolution (either 1 or greater than 1) 연속톤2 페이지 폭Continuous tone 2 page width 16비트 정수16-bit integer 연속톤2 픽셀 단위의 연속톤 페이지의 폭Width of continuous tone page in pixels 연속톤2 페이지 높이Continuous tone 2 page height 16비트 정수16-bit integer 연속톤2 픽셀 단위의 연속톤 페이지의 높이The height of the continuous tone page, in continuous pixels. 연속톤3 스케일 인자Continuous tone 3 scale factor 16비트 정수16-bit integer 연속톤 채널3 해상도로부터 타겟 해상도로의 스케일 인자(1이거나 1보다 클 것)Scale factor from continuous channel 3 resolution to target resolution (either 1 or greater than 1) 연속톤3 페이지 폭Continuous tone 3 page width 16비트 정수16-bit integer 연속톤3 픽셀 단위의 연속톤 페이지의 폭Width of continuous tone page in 3 pixel increments 연속톤3 페이지 높이Continuous tone 3 page height 16비트 정수16-bit integer 연속톤3 픽셀 단위의 연속톤 페이지의 높이Height of continuous tone page in 3 pixel increments 연속톤4 스케일 인자Continuous tone 4 scale factor 16비트 정수16-bit integer 연속톤 채널4 해상도로부터 타겟 해상도로의 스케일 인자(1이거나 1보다 클 것)Scale factor from continuous channel 4 resolution to target resolution (either 1 or greater than 1) 연속톤4 페이지 폭Continuous tone 4 page width 16비트 정수16-bit integer 연속톤4 픽셀 단위의 연속톤 페이지의 폭Width of continuous tone page in 4 pixel increments 연속톤4 페이지 높이Continuous tone 4 page height 16비트 정수16-bit integer 연속톤4 픽셀 단위의 연속톤 페이지의 높이Height of continuous tone page in pixels

페이지 헤더는 프린트 엔진이 페이지 헤더 형식을 식별할 수 있도록 하는 서명 및 버전을 포함한다. 만약 서명 및/또는 버전이 누락되거나 프린트 엔진과 호환되지 않으면(imcompatible), 프린트 엔진은 그 페이지를 거부할 수 있다. 연속톤 컬러 공간은 얼마나 많은 연속톤 층이 있는지를 정의하는데, 대개는 연속톤 층이 CMY인지 CMYK인지를 정의하는데 이용된다. 페이지 헤더는 타겟 페이지의 해상도 및 크기를 정의한다. 흑색 및 연속톤 층은 필요하다면 타겟 페이지에 고정(clip)될 수 있다. 이것은 흑색 또는 연속톤 스케일 인자가 타겟 페이지 폭 또는 높이의 인자가 아닐 때는 언제나 발생한다. 타겟 좌측 및 상단 마진은 인쇄 가능한 페이지 영역 내에서 타겟 페이지의 위치 지정을 정의한다.The page header includes a signature and a version that allows the print engine to identify the page header format. If the signature and / or version are missing or are incompatible with the print engine, the print engine may reject the page. The contone color space defines how many contone layers there are, usually used to define whether the contone layer is CMY or CMYK. The page header defines the resolution and size of the target page. The black and continuous tone layers can be clipped to the target page if necessary. This happens whenever the black or continuous tone scale factor is not a factor of the target page width or height. The target left and top margins define the positioning of the target page within the printable page area.

태그 파라미터는 넷페이지 태그가 이 페이지에서 생성되어야 하는지 여부 및태그가 어떤 방향으로(가로 또는 세로 모드로) 생성되어야 하는지를 특정한다. 고정 태그 데이터 또한 제공된다.The tag parameter specifies whether the netpage tag should be generated on this page and in which direction the tag should be generated (in landscape or portrait mode). Fixed tag data is also provided.

흑색 층 파라미터는 2-레벨 흑색 층의 픽셀 크기 및 그것의 타겟 해상도로의 정수 스케일 인자를 정의한다. 연속톤 층 파라미터는 네 개의 연속톤 층 각각의 픽셀 크기 및 이들의 타겟 해상도로의 정수 스케일 인자를 정의한다.The black layer parameter defines the pixel size of the two-level black layer and an integer scale factor to its target resolution. The contone layer parameters define the pixel size of each of the four contone layers and an integer scale factor to their target resolution.

표 3은 페이지 밴드 헤더(page band header)의 형식을 나타낸다.Table 3 shows the format of a page band header.

[표 3] 페이지 밴드 헤더 형식[Table 3] Page Band Header Format

영역domain 형식form 설명Explanation 서명signature 16비트 정수16-bit integer 페이지 밴드 헤더 형식 서명Page Band Header Format Signature 버전version 16비트 정수16-bit integer 페이지 밴드 헤더 형식 버전 번호Page Band Header Format Version Number 구조 크기Structure size 16비트 정수16-bit integer 페이지 밴드 헤더의 크기Size of page band header 흑색 밴드 높이Black band height 16비트 정수16-bit integer 흑색 픽셀 단위의 흑색 밴드의 높이The height of the black band in black pixels 흑색 밴드 데이터 크기Black band data size 32비트 정수32-bit integer 바이트 단위의 흑색 밴드 데이터 크기Black band data size in bytes 연속톤 밴드 높이Continuous Tone Band Height 16비트 정수16-bit integer 연속톤 픽셀 단위의 연속톤 밴드의 높이Height of continuous tone band in continuous tone pixels 연속톤 밴드 데이터 크기Continuous Band Data Size 32비트 정수32-bit integer 바이트 단위의 연속톤 밴드 데이터 크기Continental band data size in bytes 디더 매트릭스 선택 맵 밴드 데이터 크기Dither Matrix Selection Map Band Data Size 32비트 정수32-bit integer 바이트 단위의 디더 매트릭스 선택 맵 밴드 데이터의 크기. 크기=0이면 하나의 디더 매트릭스만이 사용된다.Size of dither matrix selection map band data in bytes. If size = 0 then only one dither matrix is used. 태그 밴드 데이터 크기Tag band data size 32비트 정수32-bit integer 바이트 단위의 부호화되지 않은 태그 데이터 밴드의 크기.태그 데이터가 제공되지 않음을 지시하는 0이 될 수 있다.Size of the unencoded tag data band in bytes. It may be 0 indicating that no tag data is provided.

흑색(2-레벨) 층 파라미터는 흑색 밴드의 높이 및 그것의 압축된 밴드 데이터의 크기를 정의한다. 가변 크기 흑색 데이터가 페이지 밴드 헤더에 이어진다. 연속톤 층 파라미터는 연속톤 밴드의 높이 및 연속톤 컬러 데이터와 관련 2-레벨 디더 매트릭스 선택 맵으로 이루어지는, 그것의 압축된 페이지 데이터의 크기를 정의한다. 가변 크기 연속톤 데이터가 흑색 데이터에 이어진다. 가변 크기 2-레벨 디더매트릭스 선택 맵 데이터가 연속톤 데이터에 이어진다.The black (2-level) layer parameter defines the height of the black band and the size of its compressed band data. Variable size black data follows the page band header. The contone layer parameter defines the height of the contone band and the magnitude of its compressed page data, consisting of concatenated two-level dither matrix selection maps. Variable magnitude continuous tone data is followed by black data. Variable size two-level dither matrix selection map data is followed by continuous tone data.

태그 밴드 데이터는 태그 인코더에 의하여 요구되는 바와 같은 한 벌의 태그 데이터 하프라인(half-line)이다. 태그 데이터의 형식은 아래에서 찾을 수 있다. 태그 밴드 데이터는 디더 매트릭스 선택 맵에 이어진다.Tag band data is a set of tag data half-lines as required by the tag encoder. The format of the tag data can be found below. The tag band data follows the dither matrix selection map.

표 4는 페이지 밴드 헤더에 이어지는 압축된 가변 크기 밴드 데이터의 형식을 나타낸다.Table 4 shows the format of compressed variable size band data following the page band header.

[표 4] 페이지 밴드 데이터 형식Table 4 Page Band Data Formats

영역domain 형식form 설명Explanation 흑색 데이터Black data G4 Fax 바이트 스트림G4 Fax Byte Stream 압축된 2-레벨 흑색 데이터Compressed two-level black data 연속톤 데이터Continuous tone data JPEG 바이트 스트림JPEG byte stream 압축된 연속톤 CMYK 또는 CMY 데이터Compressed Continuous CMYK or CMY Data 디더 매트릭스 선택 맵Dither Matrix Selection Map G4 Fax 바이트 스트림G4 Fax Byte Stream 압축된 2-레벨 디더 매트릭스 선택 맵 데이터Compressed Two-Level Dither Matrix Selection Map Data 태그 데이터 맵Tag data map 비트맵Bitmap 태그 데이터 형식.섹션 9.2.2 참조.Tag data format, see section 9.2.2.

밴드 데이터의 각각의 가변 크기 세그먼트는 8바이트 범위로 정렬된다.Each variable size segment of band data is arranged in a range of 8 bytes.

도 50에서 태그 인코더(TE)(430)는 태그를 사용할 수 있는 애플리케이션에 기능을 제공하며, 대개 프린트 헤드에 IR 잉크의 존재를 필요로 한다(제한적인 환경에서 K 잉크나 다른 것이 태그에 이용될 수도 있기는 하다). TE는 인쇄될 페이지를 위한 고정 데이터를 특정 태그 데이터 값과 함께 오류보정 가능한 부호화된 태그로 부호화하며, 이것은 이어서 적외선 또는 흑색 잉크로 페이지 상에 인쇄된다. TE는 태그를 삼각형 격자(triangular grid) 상에 위치시킬 수 있다(도 55 참조). 기본적인 태그 구조가 1600dpi로 렌더(render)되는 동안, 태그 데이터는 임의 형상의 매크로도트(macrodot)로서 (1600dpi에서 최소 1도트의 크기로) 부호화될 수 있다.In FIG. 50, tag encoder (TE) 430 provides functionality to an application that can use a tag, and typically requires the presence of IR ink in the printhead (K ink or others may be used for the tag in a limited environment). Might be). The TE encodes the fixed data for the page to be printed, together with a specific tag data value, into an error-correctable encoded tag, which is then printed on the page with infrared or black ink. The TE may place the tag on a triangular grid (see FIG. 55). While the basic tag structure is rendered at 1600 dpi, the tag data can be encoded as a macrodot of arbitrary shape (with a size of at least 1 dot at 1600 dpi).

TE는 다음과 같은 것을 입력으로서 취할 수 있다.TE can take as input:

· 세로/가로 플래그Vertical / Horizontal Flag

· 단일 태그의 구조를 정의하는 템플릿(template)A template that defines the structure of a single tag

· 다수의 고정 데이터 비트(페이지에 대하여 고정)Multiple fixed data bits (fixed to page)

· 중복적으로 고정 데이터 비트를 부호화할 지 여부 또는 이미 부호화된 비트로서 취급할지 여부를 정의하는 플래그· A flag that defines whether redundant fixed data bits are to be encoded or treated as already encoded bits

· 각각의 레코드가 주어진 태그의 라인 상에서 태그에 관한 가변 데이터 비트를 포함하는 다수의 가변 데이터 비트 레코드A number of variable data bit records, where each record contains variable data bits for the tag on a given tag line

· 중복적으로 가변 데이터 비트를 부호화할 지 여부 또는 이미 부호화된 비트로서 취급할지 여부를 정의하는 플래그A flag that defines whether to encode redundant variable data bits or treat them as already encoded bits.

태그 인코더(TE)로부터의 출력은 태그가 인쇄되어야 하는 2-레벨 층이다. 출력은 1비트 와이드 FIFO(1-bit wide FIFO)(447)(도 50 및 52)를 경유하며, 다시 도 50에서 HCU(429)에 의하여 입력으로서 사용된다. 태그는 계속해서 바람직하게는 태그 감지 장치에 의하여 독출될 수 있는 적외선 흡수성 잉크로 인쇄된다. 흑색 잉크는 적외선 흡수성이 될 수 있으므로, 다른 경우라면 페이지의 빈 영역이 될 영역 위에 가령 버튼을 부호화하기 위하여 흑색 잉크를 이용함으로써 오프셋 인쇄 페이지 상에 제한된 기능이 제공될 수 있다. 또는 비가시적인 적외선 잉크가 일반적인 페이지의 상단에 위치 태그를 인쇄하기 위하여 이용될 수 있다. 그러나, 만약 비가시적인 적외선 잉크가 이용되면, 적외선 태그를 교란시킬 수 있으므로 페이지 상에 인쇄되는 다른 정보를 반드시 적외선 투과형(infrared-transparent) CMY 잉크로 인쇄하도록 유의하여야 한다. 흐릿한 판독 환경(blurry reading environment)에서 동적 범위를 극대화하기 위해서는 단색 도표(monochromatic scheme)가 바람직하다.The output from the tag encoder TE is the two-level layer where the tag should be printed. The output is via a 1-bit wide FIFO 447 (FIGS. 50 and 52), which in turn is used as an input by the HCU 429 in FIG. The tag is subsequently printed with infrared absorbing ink, which can preferably be read by a tag sensing device. Since black ink can be infrared absorbing, in other cases a limited function can be provided on an offset printed page by using black ink to encode a button over an area that will be a blank area of the page. Alternatively, invisible infrared ink can be used to print a location tag on top of a typical page. However, if invisible infrared ink is used, care must be taken to print other information printed on the page with infrared-transparent CMY ink as it may disturb the infrared tag. A monochromatic scheme is desirable to maximize dynamic range in a blurry reading environment.

복수의 PEC 칩이 페이지의 동일한 면을 인쇄하는데 이용되면, 하나의 태그가 두 개의 PEC 칩에 의하여 생성될 수 있다. 이것은 태그 인코더가 부분 태그(partial tag)를 인쇄할 수 있어야 함을 의미한다.If multiple PEC chips are used to print the same side of the page, one tag may be generated by two PEC chips. This means that the tag encoder should be able to print partial tags.

태그 인코더(TE)는 1600dpi 2-레벨 데이터를 출력하므로, TE의 내부 동작은 하프토너/합성기 유닛(태그 데이터의 사용자)으로부터 완벽히 은폐된다.Since the tag encoder TE outputs 1600 dpi two-level data, the internal operation of TE is completely concealed from the half toner / synthesizer unit (user of the tag data).

비록 태그 인코더(TE)의 개념적 구현(conceptual implementation)은 고정 및 가변 데이터 요소뿐만 아니라 가변 구조(variable structure)도 가질 수 있지만, 이러한 TE의 구현은 소정 부호화 파라미터(encoding parameter) 상에 범위 제약을 부과한다. 표 5는 범위 제약에 더하여 부호화 파라미터를 열거한다. 그러나, 이러한 제약은 가장 개연성 있는 부호화 계획을 위하여 선택되는 버퍼 크기 및 어드레싱 비트의 수의 직접적인 결과이다. 다른 실시예에서 버퍼 크기 및 대응되는 어드레싱을 조정하여 임의의 부호화 파라미터를 허용하는 것은 간단한 문제이다.Although the conceptual implementation of a tag encoder (TE) can have a variable structure as well as fixed and variable data elements, such an implementation imposes range constraints on certain encoding parameters. do. Table 5 lists coding parameters in addition to range constraints. However, this constraint is a direct result of the buffer size and the number of addressing bits selected for the most probable coding scheme. In another embodiment it is a simple matter to allow arbitrary encoding parameters by adjusting the buffer size and corresponding addressing.

[표 5] 부호화 파라미터[Table 5] Coding Parameters

명칭designation 정의Justice TE에 의하여 부과되는 최대값Maximum value imposed by TE WW 페이지 폭Page width 12인치12 inches SS 태그 크기Tag size 최소 2mm×2mm2 mm x 2 mm NN 태그의 각 차원에서 도트의 개수The number of dots in each dimension of the tag 384도트(주어진 E에 대하여 최소 92도트)384 dots (minimum 92 dots for a given E) EE 태그 데이터 중복 부호화(Redundancy encoding for tag data)Redundancy encoding for tag data 5:10에서 리드-솔로몬 GF(24)Reed-Solomon GF at 5:10 (24) DFDF 고정 데이터 크기(부호화되지 않음)Fixed data size (unencoded) 40비트40 bits RFRF 중복 부호화된 고정 데이터 크기Double Coded Fixed Data Size 120비트120 bit DVDV 가변 데이터 크기(부호화되지 않음)Variable data size (unsigned) 120비트120 bit RVRV 중복 부호화된 가변 데이터 크기Overcoded Variable Data Size 360비트360 bit TT 페이지 폭 당 태그Tags per page width 152(압축 2mm×2mm 태그 참작)152 (reflection of 2 mm x 2 mm tags) MM 매크로도트 크기Macro Dot Size 최소 1도트At least 1 dot

특히 주의하여야 할 것은 각각의 태그의 고정 및 가변 데이터 요소이다. 고정 데이터 요소는 변화하지 않는 것인 태그 "데이터"의 일부(변화하는 것인 태그 "구조"의 일부와 다름)이다. 고정 데이터는 부호화되지 않은 형태로 PEC 칩에 의하여 독출되어 PEC 내에서 한 번 부호화될 수도 있고, 독출되어 있는 그대로 이용될 수도 있다(고정 데이터는 따라서 외부적으로 중복 부호화(reduntantly encoded)되어야 함). 가변 데이터 비트는 각각의 태그에 대하여 가변적이고, 고정데이터와 함께 있는 데이터로서, 필요에 따라 TE 내에서 중복 부호화되거나 또는 있는 그대로 이용된다.Of particular note is the fixed and variable data elements of each tag. The fixed data element is the part of the tag "data" that is not changing (different from the part of the tag "structure" that is changing). The fixed data may be read by the PEC chip in an unencoded form and may be encoded once in the PEC, or may be used as it is read (fixed data should thus be externally redundantly encoded). The variable data bits are variable for each tag and are data with fixed data, which are redundantly coded in TE or used as is, as necessary.

중복 부호화 비트로의 데이터 비트(고정 및 가변 모두)의 사상(mapping)은 적용되는 중복 부호화의 방법에 상당히 의존한다. 리드-솔로몬 부호화는 돌발적 오류(burst error)에 대처하고, 최소의 중복성(minimum of redundancy)을 이용하여 효율적으로 오류를 감지하여 보정하는 능력으로 인하여 선택되었다. 리드 솔로몬부호화는 Lyppens, H., "Reed-Solomon Error Correction", Dr. Dobb's Journal Vol.22, No.1, January 1997, Rorabaugh, C, Error Coding Cookbook, McGraw-Hill 1996, and Wicker, S., and Bhargava, V., Reed-Solomon Codes and their Applications, IEEE Press 1994에서 논의된다.The mapping of data bits (both fixed and variable) to redundant coded bits is highly dependent on the method of redundant coding applied. Reed-Solomon coding was chosen because of its ability to cope with burst errors and to efficiently detect and correct errors using a minimum of redundancy. Reed-Solomon coding is described in Lyppens, H., "Reed-Solomon Error Correction," In Dobb's Journal Vol. 22, No. 1, January 1997, Rorabaugh, C, Error Coding Cookbook, McGraw-Hill 1996, and Wicker, S., and Bhargava, V., Reed-Solomon Codes and their Applications, IEEE Press 1994 Are discussed.

태그 인코더(TE)의 본 실시예에서는 리드-솔로몬 부호화가 갈루아 영역(Galois Field) GF(24)에서 이용된다. 기호 크기는 4비트이다. 각각의 코드워드는 60비트의 코드워드 길이를 위한 15개의 4비트 기호를 포함한다. 15개의 기호 중에서, 5개는 원래의 데이터(20비트)이며, 10개는 중복 비트(redundancy bits)(40비트)이다. 10개의 중복 기호는 오류시 5개까지의 기호를 보정할 수 있음을 의미한다.In this embodiment of the tag encoder TE, Reed-Solomon coding is used in the Galois field GF 2 4 . The symbol size is 4 bits. Each codeword contains fifteen 4-bit symbols for a codeword length of 60 bits. Of the fifteen symbols, five are original data (20 bits) and ten are redundancy bits (40 bits). Ten duplicate symbols mean that up to five symbols can be corrected in the event of an error.

태그당 원래 데이터의 총량은 160비트(고정 40비트, 가변 120비트)이다. 이것은 중복 부호화되어 다음과 같이 480비트(고정 120비트, 가변 360비트)의 총량을 제공한다.The total amount of original data per tag is 160 bits (fixed 40 bits, variable 120 bits). It is redundantly coded to provide a total amount of 480 bits (fixed 120 bits, variable 360 bits) as follows.

· 각각의 태그는 40개까지의 원래의 고정 데이터를 포함한다. 따라서 2개의 코드워드가 고정 데이터를 위하여 필요하며, 120비트의 부호화된 총 데이터 크기를 제공하게 된다.Each tag contains up to 40 original fixed data. Thus, two codewords are needed for fixed data, providing a total code size of 120 bits.

· 각각의 태그는 120개까지의 원래의 가변 데이터를 포함한다. 따라서 6개의 코드워드가 가변 데이터를 위하여 필요하며, 360비트의 부호화된 총 데이터 크기를 제공하게 된다.Each tag contains up to 120 original variable data. Therefore, six codewords are required for variable data, and provide a total encoded data size of 360 bits.

TE는 2-레벨 태그 비트 스트림을 2-레벨 태그 FIFO에 기록한다. TE는 부호화된 태그 데이터를 기본 태그 구조와 합병하고, 계속되는 인쇄를 위하여 올바른 순서로 도트를 출력 FIFO에 배치시키는 것을 담당한다. 부호화된 태그 데이터는 버퍼 공간을 최소화하기 위하여 원래의 데이터 비트로부터 연속하여(on-the-fly) 생성된다 .TE writes a two-level tag bit stream to a two-level tag FIFO. The TE is responsible for merging the encoded tag data with the basic tag structure and placing the dots in the output FIFO in the correct order for subsequent printing. Encoded tag data is generated on-the-fly from the original data bits to minimize buffer space.

도 55에는 세로 및 가로 인쇄를 위한 태그의 배치가 나타나있다. TE는 바람직하게는 가로(492) 및 세로(491) 방향 모두를 지원하기 위하여 태그(488)를 페이지 상에서 삼각형 격자(triangluar arrangment)(488,489,490)로 배치한다. 태그의 삼각형 메시(triangular mesh)(488,489,490)는 오직 두 가지 인쇄 방향(가로 및 세로)만을 가지며, 태그의 열 또는 행은 중복이 금지되는 것과 같은 제약이 의미하는 것은 태그 배치 절차가 극히 단순화된다는 것이다.55 shows placement of tags for vertical and horizontal printing. The TE preferably places tags 488 in triangluar arrangments 488, 489, 490 on the page to support both the transverse 492 and longitudinal 491 directions. The tag's triangular meshes 488, 489, 490 have only two printing directions (horizontal and vertical), meaning that tags or columns or rows are restricted so that tag placement procedures are greatly simplified. .

따라서 태그 배치는 다수의 파라미터에 의존하므로 도 56에는 일반적인 경우가 나타나 있다. 주어진 도트의 라인에 대하여, 그 라인 상의 모든 태그는 일반적인 태그 구조의 동일한 부분에 대응된다. 삼각형 배치는 태그의 대안적인 라인으로서 고려될 수 있으며, 여기에서는 태그의 하나의 라인이 도트 차원(dot dimension)에서 하나의 분량(amount)까지 삽입되고, 다른 라인은 다른 분량까지 삽입된다. 태그 간 도트 간격(dot inter-tag gap)(493)은 두 라인에서 모두 동일하며, 태그 간 라인 간격(494)과는 다르다.Thus, since tag placement depends on a number of parameters, a general case is shown in FIG. For a given line of dots, all tags on that line correspond to the same part of the general tag structure. Triangular placement can be considered as an alternative line of tags, where one line of tags is inserted up to one amount in the dot dimension and the other line up to another amount. The dot inter-tag gap 493 is the same on both lines and is different from the line spacing 494 between tags.

표 6 및 표 7에서는 파라미터가 더욱 정연하게 기술된다. 세로 인쇄를 위하여 한 벌의 파라미터만이 필요함을 주의하여야 한다. 만약 방향이 세로에서 가로로변경되면, 태그 높이(tag height)와 태그 폭(tag width) 파라미터 및 일반적인 도트 및 라인 파라미터가 단순히 상호변경된다.In Tables 6 and 7, the parameters are described more elaborately. Note that only one set of parameters is required for vertical printing. If the orientation is changed from vertical to horizontal, the tag height and tag width parameters and general dot and line parameters are simply interchanged.

[표 6] 태그 배치 파라미터[Table 6] Tag placement parameters

파라미터parameter 설명Explanation 제약Restrictions TagHeightTagHeight 태그의 경계 박스(bounding box) 안의 도트 라인의 수.The number of dot lines in the tag's bounding box. 최소 1At least 1 TagWidthTagWidth 태그의 경계 박스의 단일 라인 안의 도트의 수. 태그 자체의 도트의 수는 태그의 형상에 따라 가변적이지만, 경계 박스 내의 도트의 수는 불변이다(자명함).The number of dots in a single line of the tag's bounding box. The number of dots of the tag itself varies depending on the shape of the tag, but the number of dots in the bounding box is unchanged (obviously). 최소 1At least 1 Dot inter-tag gapDot inter-tag gap 도트 방향에서의 하나의 태그의 경계 박스의 모서리(edge)로부터 다음 태그의 경계 박스의 시작(start)까지의 도트의 수.The number of dots from the edge of one tag's bounding box in the dot direction to the start of the bounding box of the next tag. 최소 = 0Min = 0 Line inter-tag gapLine inter-tag gap 라인 방향에서의 하나의 태그의 경계박스의 모서리로부터 다음 태그의 경계박스의 시작까지의 도트 라인의 수.Number of dot lines from the edge of one tag's bounding box in the line direction to the start of the bounding box of the next tag. 최소 = 0Min = 0 Start PositionStart Position 페이지 상의 도트의 제1행(복수의 PEC가 이용되는 경우에는 띠(strip))및 태그의 제1행의 시작의 현재 위치 레코드(Current Position Record)(표 10 참조). 태그 없는 섹션(non-tagged section)의 크기를 태그 간 간격의 크기보다 증가시키려면, 인쇄되지 않는 태그(non-printed tag)를 이용한다.The first row of dots on the page (strip if multiple PECs are used) and the current position record at the beginning of the first row of tags (see Table 10). To increase the size of a non-tagged section beyond the size of the space between tags, use a non-printed tag. 표 10 참조See Table 10 AltTagLinePositionAltTagLinePosition 태그의 대체행(alternate row of tags)의 시작점의 현재 위치 레코드. 도트 파라미터는 세로 모드 인쇄에 이용되며, 라인 파라미터는 가로 모드 인쇄에 이용된다.Record of the current position of the starting point of the alternate row of tags. Dot parameters are used for portrait mode printing, and line parameters are used for landscape mode printing. 표 10 참조See Table 10

[표 7] 현재 위치 레코드[Table 7] Current location record

명칭designation 설명Explanation TagStateDotTagStateDot 0=태그 간 간격에서1=태그에서0 = at interval between tags1 = at tag TagStateLineTagStateLine 0=태그간 간격에서1=태그에서0 = at interval between tags1 = at tag LocalOffsetDotLocalOffsetDot 태그 간 간격 또는 태그 안의 현재 도트 위치, 최소=0Space between tags or current dot position within tag, min = 0 LocalOffsetLineLocalOffsetLine 태그 간 간격 또는 태그 안의 현재 라인 위치, 최소=0Spacing between tags or current line position within tag, min = 0

TE는 다음과 같은 몇몇의 특정 데이터 구조를 이용한다.TE uses several specific data structures:

· TEOrientation 플래그, 이것은 페이지가 세로 태그 배치 규칙(portrait tag placement rule)을 이용하여 인쇄될 것인지 가로 태그 배치 규칙을 이용하여 인쇄될 것인지 여부를 결정한다.TEOrientation flag, which determines whether the page is printed using the portrait tag placement rule or the horizontal tag placement rule.

· 태그 포맷 구조(tag format structure). 고정 태그 구조, 가변 데이터 비트 및 고정 데이터 비트에 관하여 일반적인 태그(generic tag)의 합성을 상세히 설명하는 템플릿. 그것은 태그에서 1600dpi 라인 각각을 위한 태그 라인 구조가 되는 다수의 태그 라인 구조(tag line structure)로 구성된다. 하나는 세로, 하나는 가로 인쇄를 위한 두 가지의 태그 포맷 구조가 존재한다.Tag format structure. Template detailing the synthesis of generic tags with respect to fixed tag structures, variable data bits, and fixed data bits. It consists of a number of tag line structures that become the tag line structure for each 1600 dpi line in the tag. There are two tag format structures, one for portrait and one for landscape print.

· 고정 태그 데이터 버퍼(fixed tag data buffer). 페이지(또는 복수의 PEC 칩이 이용되면 페이지의 일부) 상의 모든 태그에 대한 중복 부호화된 고정 데이터 요소를 포함한다.Fixed tag data buffer. It contains redundant coded fixed data elements for all tags on a page (or part of a page if multiple PEC chips are used).

· TagIsPrinted 플래그. 특정 태그가 인쇄될 것인지 여부를 특정한다. 인코더가 태그 포맷 구조를 무시하고 아무 태그도 출력하지 않을 것인지의 여부를 지시한다.TagIsPrinted flag. Specifies whether a specific tag will be printed. Indicates whether the encoder ignores the tag format structure and outputs no tags.

· 하프라인 태그 데이터 버퍼(half-line tag data buffer). 주어진 태그 라인의 절반에 있어서 태그를 위한 부호화되지 않은 데이터 및 TagIsPrinted 플래그를 포함한다(라인은 PEC 칩에 의하여 인쇄되는 띠(strip)의 폭). 만약 태그의 일부만이 이 PEC에 의하여 인쇄되면, 태그 데이터 전체가 존재하여야 한다.Half-line tag data buffer. The half of a given tag line contains the unencoded data for the tag and the TagIsPrinted flag (the line is the width of the strip printed by the PEC chip). If only a part of the tag is printed by this PEC, the entire tag data must be present.

· 가변 태그 데이터 버퍼. 단일 태그에 관한 중복 부호화된 가변 데이터를 포함한다.Variable tag data buffer. Contains redundantly coded variable data for a single tag.

데이터 구조는 아래에서 더욱 상세하게 설명된다. 가변 구조의 크기는 표 5에 열거되는 바와 같은 태그 부호화 파라미터를 근거로 함에 주의하여야 한다. 상이한 부호화 파라미터의 모음에 대하여는, 구조의 크기 및 대응되는 어드레스 비트의 수가 적절히 변경되어야 한다.The data structure is described in more detail below. Note that the size of the variable structure is based on tag encoding parameters as listed in Table 5. For a collection of different coding parameters, the size of the structure and the number of corresponding address bits must be changed accordingly.

TE는 가로 및 세로 인쇄를 모두 지원한다. 인쇄 모드는 PEC에 연결된 프린트 헤드의 길이와는 완전히 독립적이다. 올바른 용지가 공급된다고 가정할 때, 12인치 프린트 헤드는 레터(Letter) 및 A4 페이지를 가로 및 세로로 모두 인쇄할 수 있으며, 복수의 PEC 칩이 임의의 크기의 페이지를 생성하기 위하여 결합될 수 있다. 결과로서 TE는 태그의 방향을 결정하기 위한 플래그를 포함한다.TE supports both landscape and portrait printing. The print mode is completely independent of the length of the print head connected to the PEC. Assuming that the correct paper is loaded, the 12-inch printhead can print both letter and A4 pages both horizontally and vertically, and multiple PEC chips can be combined to produce pages of any size . As a result, the TE includes a flag for determining the direction of the tag.

TEOrientation은 따라서 표 8에 나타난 바와 같은 값을 가지는 1비트 플래그가 된다.TEOrientation is thus a 1-bit flag with values as shown in Table 8.

[표 8] TEOrientation 레지스터 값Table 8. TEOrientation Register Values

value 설명Explanation 00 가로horizontal 1One 세로Vertical

10비트 엔트리(10-bit entry)의 각각은 표 9에 의하여 설명된 바와 같이 독립적으로 해석되며, 상태 정보에 의존하지 않는다. 이는 특히 (2개의 PEC에 분산된) 부분 태그(partial tag)의 한쪽 편을 렌더링하는 동안에 엔트리를 무작위 액세스(random access)할 수 있다는 점에서 중요하다.Each of the 10-bit entries is interpreted independently as described by Table 9 and does not depend on state information. This is especially important in that you can randomly access entries while rendering one side of a partial tag (distributed to two PECs).

[표 9] 태그 라인 구조 안의 10비트 엔트리의 해석Table 9. Interpretation of 10-Bit Entries in Tag Line Structure

비트 9Bit 9 해석Translate 00 이 도트는 기본 태그 구조의 일부이다. 비트 8은 도트 출력 값을 포함한다. 나머지 8비트는 예비용이며 0으로 설정되어야 한다.This dot is part of the basic tag structure. Bit 8 contains the dot output value. The remaining 8 bits are reserved and should be set to zero. 1One 이 도트는 태그의 데이터 부분으로부터 도출된다.아래쪽 9비트는 사용하기 위한 실제 데이터 비트를 결정하는데 이용된다. 만약 어드레스의 윗쪽 2비트가 설정되면, 나머지 7비트는 페이지의 120비트의 부호화된 고정 데이터를 어드레스하는데 이용된다. 만약 어드레스의 윗쪽 2비트가 모두 설정되어 있지 않으면, 9비트 어드레스의 전부가 태그에 관한 360비트의 부호화된 가변 데이터를 어드레스하는데 사용된다.This dot is derived from the data portion of the tag. The lower 9 bits are used to determine the actual data bits to use. If the upper two bits of the address are set, the remaining seven bits are used to address the coded fixed data of 120 bits of the page. If both upper two bits of the address are not set, all of the 9-bit addresses are used to address the 360-bit encoded variable data for the tag.

태그 포맷 구조(Tag Format Structure)(TFS)가 라인을 기반으로 하기 때문에, 외부 D램에는 두 개의 그러한 구조가 저장되는데, 하나는 세로 방향 인쇄를 위한 것이며, 또 하나는 가로 방향 인쇄를 위한 것이다. TEOrientation 플래그는 둘 중 어느 것이 사용될 것인지를 결정한다. 두 개의 태그 포맷 구조는 외부 처리에 의하여 공급되며, 외부 D램에 저장되므로, 임의적으로 상이할 수 있다. 그러나 실제로는 이들은 동일한 태그가 90도만큼 회전된 것이다. 단일 TFS에 의하여 요구되는 총 메모리는 3840×태그 높이(3840×TagHeight) 비트가 된다. 최대 메모리 필요량은 384 높이의 태그에 대하여 총 180KB가 된다. 따라서 360KB의 최대 합계가 두 방향에 대하여 필요하다.Since the Tag Format Structure (TFS) is line based, two such structures are stored in the external DRAM, one for portrait printing and one for landscape printing. The TEOrientation flag determines which of the two will be used. The two tag format structures are supplied by an external process and stored in an external DRAM, and thus may be arbitrarily different. In reality, however, they are rotated 90 degrees in the same tag. The total memory required by a single TFS is 3840 × tag height (3840 × TagHeight) bits. The maximum memory requirement is 180KB total for a 384-height tag. Therefore, a maximum sum of 360 KB is required for both directions.

도 55에 나타난 바와 같이, 주어진 도트 라인에 대하여, 그 라인 상의 모든 태그는 동일한 태그 라인 구조에 대응된다. 따라서, 주어진 출력 도트의 라인에 대하여, 단일 태그 라인 구조가 필요하며, 전체 TFS(entire TFS)가 필요한 것은 아니다. 이중 버퍼링은 현재 태그 라인 구조가 현재 태그 라인을 렌더하는데 이용되는 동안 다음 태그 라인 구조가 D램에서 TFS로부터 인출되도록 한다. 태그 구조 데이터의 라인을 독출하는 것은 필연적으로 동일한 D램 대역폭을 그 방향과 무관하게 소비한다. 전체 TFS는 PEC 칩 상에 저장될 수 있는데, 이 경우 회전은 연속하여(on-the-fly) 수행될 수 있다. 따라서 TFS에 대한 메모리 요청은 칩 상에서 이중 버퍼된 태그 라인 구조(double buffered tag line structure)(합계 3840비트×2 = 7,680비트, 즉 960바이트)가 되고, 세로 TFS 및 가로 TFS에 대하여 외부 D램에서 360KB에 이른다. 대역폭의 관점에서, 세로 TFS 및 가로 TFS의 기록은 한번만 이루어지면 되므로 문제가 되지 않는다. 인접한 태그(adjacent tags)의 최악의 경우를 가정하면, 각각의 출력 라인이 태그 라인 구조를 독출할 필요가 존재한다. 각각의 태그 라인 구조는 480바이트이다. 초당 30,000 라인의 최고 인쇄 속도에 대하여, TFS 액세스는 13.8MB/sec에 달한다.As shown in Fig. 55, for a given dot line, all the tags on that line correspond to the same tag line structure. Thus, for a given line of output dots, a single tag line structure is needed, not the entire TFS. Double buffering allows the next tag line structure to be fetched from the TFS in DRAM while the current tag line structure is used to render the current tag line. Reading a line of tag structure data inevitably consumes the same DRAM bandwidth regardless of its direction. The entire TFS can be stored on a PEC chip, in which case the rotation can be performed on-the-fly. The memory request for TFS thus becomes a double buffered tag line structure on the chip (total 3840 bits x 2 = 7,680 bits, or 960 bytes), and on external DRAM for vertical TFS and horizontal TFS. It reaches 360KB. In terms of bandwidth, the recording of the vertical TFS and the horizontal TFS only needs to be done once, so it is not a problem. Assuming the worst case of adjacent tags, there is a need for each output line to read the tag line structure. Each tag line structure is 480 bytes. For a maximum print speed of 30,000 lines per second, TFS access amounts to 13.8 MB / sec.

고정 태그 데이터 버퍼는 7비트로 어드레스되는 120비트 데이터 버퍼이다. 버퍼는 그 페이지를 위한 태그 데이터의 "부호화된" 고정 요소를 수용한다. 고정 태그 데이터 버퍼는 120 비트의 원래의 고정 데이터 입력으로부터 직접 또는 아래쪽 40비트의 원래의 고정 데이터가 리드-솔로몬 부호화된 이후에 페이지 당 한번씩 기록된다.The fixed tag data buffer is a 120 bit data buffer addressed with 7 bits. The buffer holds a "coded" fixed element of tag data for that page. The fixed tag data buffer is written once per page directly from the original fixed data input of 120 bits or after the lower 40 bits of original fixed data have been Reed-Solomon encoded.

TagIsPrinted 플래그는 특정 태그가 인쇄되어야 하는지 여부를 특정한다. 오직 하나의 비트인 이 플래그는 총 2비트로 이중 버퍼링된다. 이중 버퍼링은 현재 태그가 렌더되는 동안 다음 태그를 위한 TagIsPrinted 플래그가 결정되도록 한다. 따라서 TagIsPrinted는 표 10에 나타난 바와 같은 값을 가지는 1비트 플래그가 된다.The TagIsPrinted flag specifies whether a particular tag should be printed. This flag, which is only one bit, is double buffered with a total of two bits. Double buffering causes the TagIsPrinted flag for the next tag to be determined while the current tag is rendered. Therefore, TagIsPrinted becomes a 1-bit flag having a value as shown in Table 10.

[표 10] TagIsPrinted 레지스터 값Table 10. TagIsPrinted register values

value 설명Explanation 00 태그를 인쇄하지 말 것. 태그 고정 및 가변 데이터 값뿐만 아니라 TFS도 무시할 것. 태그 경계 박스 안의 각각의 도트에 대하여 0을 출력할 것.Do not print tags. Ignore TFS as well as tag fixed and variable data values. Output 0 for each dot in the tag bounding box. 1One 다양한 태그 구조에 의하여 특정되는 바와 같이 태그를 인쇄할 것.Print tags as specified by various tag structures.

하프라인(Half-Line) 태그 데이터 버퍼는 라인 상의 태그의 절반에 이르는 부호화되지 않은 가변 태그 데이터를 포함한다. 각각의 라인이 최대 152개의 태그(2mm×2mm의 태그 크기로서 12인치의 길이에 걸쳐 압축)를 포함할 수 있기 때문에, 각각의 하프라인 태그 버퍼는 많아야 76개의 태그를 포함한다. 도 55에 나타난 바와 같이 각각의 태그(495,496,497 등)에는 128비트, 즉 120비트의 부호화되지 않은 데이터(501), 1비트의 TagIsPrinted 플래그(498), 1비트의 LastTagOfHalfLine 플래그(499) 및 6개의 예비용 비트(0으로 설정)(500)가 할당된다. 단일 버퍼의 크기는 따라서 9728비트(1216바이트)가 된다. 부호화되지 않은 데이터를 위한 매직 밸류(migic value)(예를 들어, 0)를 가지는 대신에 TagIsPrinted 플래그로 1비트를 할당하는 것은, 부호화되지 않은 데이터가 120비트의 완전 무제약 데이터(completely inrestricted data)임을 의미한다.The half-line tag data buffer contains up to half of the tags on the line of unencoded variable tag data. Since each line can contain up to 152 tags (compression over a 12 inch length as a tag size of 2 mm x 2 mm), each halfline tag buffer contains at most 76 tags. As shown in Fig. 55, each tag (495, 496, 497, etc.) has 128 bits, i.e., 120 bits of uncoded data 501, 1 bit of TagIsPrinted flag 498, 1 bit of LastTagOfHalfLine flag 499, and six examples. The cost bit (set to zero) 500 is assigned. The size of a single buffer is therefore 9728 bits (1216 bytes). Allocating 1 bit with the TagIsPrinted flag instead of having a magic value (e.g. 0) for unencoded data indicates that the unencoded data is 120 bits of fully unrestricted data. it means.

태그 데이터의 전체 라인을 이중 버퍼링하는 대신, 우리는 태그 데이터의 하프라인을 삼중 버퍼링(triple buffer)한다. 이것은 (전체 태그 라인의 이중 버퍼링과 비교하면) 1216바이트를 절감하지만, 전체 태그 라인을 독출하기 위한 전체 라인 타임을 가지는 대신에 하프라인 태그 데이터가 도트라인의 절반에서 독출되어야한다는 타이밍 제약에 구속된다. 중요한 것은 두 개만이 아닌 세 개의 하프라인 버퍼를 가지는 것임에 주목하여야 한다. 두 개의 하프라인 버퍼만이 있다면, 주어진 태그의 모음이 복수의 도트 라인에 걸쳐서 분산될 때 동일한 태그 데이터가 재독출(re-read)될 필요가 있다. 삼중 버퍼링은 동일한 두 개의 하프라인 태그 버퍼가 D램으로부터 재독출될 필요없이 여러 번(각각의 태그 라인당 한 번씩) 이용될 수 있도록 한다. 제3 하프라인 태그 버퍼는 태그의 현재 모음(current set)이 처리되는 동안에는 다음 태그 라인의 데이터의 처음 절반을 적재하는데 이용되며, 다음 태그 라인의 처음 절반이 처리되는 동안에는 다음 태그 라인의 데이터의 나중 절반을 적재하는데 이용된다. 주어진 태그 라인의 데이터는 전체 인쇄 처리 중에 단 한번만 독출됨에 주의하여야 한다. 결과적으로 1비트의 FirstTimeProcessed 플래그는 이 하프라인 상의 태그가 이전에 처리되었는지 여부를 특정하도록 각각의 하프라인 버퍼와 관련된다. 주어진 하프라인이 최초로 처리되면, 다음 하프라인 버퍼가 D램으로부터 적재된다.Instead of double buffering the entire line of tag data, we triple buffer the halfline of the tag data. This saves 1216 bytes (compared to double buffering of the entire tag line), but is constrained by the timing constraint that halfline tag data should be read at half of the dotline instead of having full line time to read the entire tag line. . It is important to note that it has three half-line buffers, not just two. If there are only two halfline buffers, the same tag data needs to be re-read when a given collection of tags is distributed across a plurality of dot lines. Triple buffering allows the same two half-line tag buffers to be used multiple times (once for each tag line) without having to be reread from DRAM. The third halfline tag buffer is used to load the first half of the data of the next tag line while the current set of tags is being processed, and the later of the data of the next tag line while the first half of the next tag line is processed. Used to load half. Note that the data of a given tag line is read only once during the entire print process. As a result, a one-bit FirstTimeProcessed flag is associated with each halfline buffer to specify whether the tag on this halfline was previously processed. When a given halfline is first processed, the next halfline buffer is loaded from the DRAM.

태그 데이터는 D램에서 하프라인에 관하여 배치된다. 만약 주어진 라인에 N개의 태그가 존재하면, 각각의 하프라인은 N/2개의 태그에 대한 데이터를 포함한다. 만약 N이 홀수이면, 하프라인 중 하나는 다른 것보다 하나 작은 태그를 포함할 것이다. LastTagOfHalfLine 플래그는 하나의 하프라인의 태그 N/2 및 다른 하프라인의 (N/2-1)태그에서 설정될 것이다. 아무튼, 하나의 태그 하프라인으로부터 다음까지의 오프셋(offset)은 양쪽 경우에서 동일하다. 세로 및 가로 페이지는 전체 태그의 수의 관점에서 동등하다. 인접한 2mm×2mm 태그의 최악의 경우를 가정하면,하프라인 당 76개의 태그가 존재하며, 8.5인치 길이의 페이지에 대하여 라인 길이로 107개의 태그가 존재한다. 따라서 D램에서의 전체 데이터의 크기는 1216×2×108=255KB가 된다. 따라서 초당 1페이지의 인쇄 속도에 대하여, D램으로의 대역폭은 255KB/sec가 된다. 초당 30,000라인의 최고 인쇄 속도에 대하여, TFS 액세스는 약 561KB/sec에 달한다.Tag data is placed with respect to the halfline in the DRAM. If there are N tags on a given line, then each halfline contains data for N / 2 tags. If N is odd, one of the halflines will contain one tag smaller than the other. The LastTagOfHalfLine flag will be set in tag N / 2 of one halfline and (N / 2-1) tag of another halfline. In any case, the offset from one tag halfline to the next is the same in both cases. Vertical and horizontal pages are equivalent in terms of the total number of tags. Assuming the worst case of adjacent 2mm × 2mm tags, there are 76 tags per halfline, and there are 107 tags in line length for an 8.5 inch page. Therefore, the total size of data in the DRAM is 1216 x 2 x 108 = 255 KB. Thus, for a printing speed of one page per second, the bandwidth to the DRAM is 255 KB / sec. For a maximum print speed of 30,000 lines per second, TFS access amounts to about 561 KB / sec.

가변 태그 데이터 버퍼는 단일 태그에 대하여 360비트의 부호화된 가변 데이터를 수용한다. TE는 총 720비트에 관한 가변 태그 데이터 버퍼를 이중 버퍼링한다. 이중 버퍼링은, 다음 태그에 관한 가공되지 않은(raw) 120비트의 가변 데이터가 중복 부호화되고 (만약 필요하다면) 하나의 가변 태그 데이터 버퍼에 저장되는 동안 다른 하나는 현재 태그에 관한 도트를 생성하는데 이용되도록 한다. 만약 가변 테그 데이터가 PEC에 의하여 부호화되지 않으면, 360개의 가변 데이터 비트 중 처음 120비트만이 유효하며, 120비트의 가변 태그 데이터가 이미 적용된 적절한 중복 부호화를 가지고 있음을 보장하는 것은 외부 페이지 제공자의 책임임을 주의하여야 한다.The variable tag data buffer accommodates 360 bits of encoded variable data for a single tag. TE double buffers the variable tag data buffer for a total of 720 bits. Double buffering is used to generate a dot for the current tag while the raw 120-bit variable data for the next tag is over-encoded and (if necessary) stored in one variable tag data buffer. Be sure to If the variable tag data is not encoded by the PEC, it is the responsibility of the external page provider to ensure that only the first 120 bits of the 360 variable data bits are valid and that the 120 bits of variable tag data have the appropriate redundant encoding already applied. Care should be taken.

도 58에 나타난 가변 태그 데이터 버퍼는 현재 태그의 가변 데이터이다. 도 59에 나타난 바와 같이, 현재 태그에 관한 도트가 생성되는 동안, 다음 태그에 관한 가변 데이터는 제2 가변 태그 데이터 버퍼로 부호화된다.The variable tag data buffer shown in FIG. 58 is variable data of the current tag. As shown in Fig. 59, while the dot for the current tag is generated, the variable data for the next tag is encoded into the second variable tag data buffer.

전체 태그 포맷 구조나 모든 태그에 관한 가변 태그 데이터를 저장하는 대신에, 데이터는 외부 D램으로부터 적시에(just-in-time) 적재된다. 버퍼 크기와 전송 대역폭 사이에는 적절한 보상점(trade-off)이 마련된다. 데이터가 적시에 사용 가능함을 보장하기 위하여 미리 처리하는 것은 도트 및 라인 방향 모두에서 발생한다.Instead of storing the entire tag format structure or variable tag data for all tags, the data is loaded just-in-time from an external DRAM. There is an appropriate trade-off between buffer size and transmission bandwidth. Preprocessing occurs in both dot and line directions to ensure that data is available in a timely manner.

· 도트 방향으로 하나의 태그를 위한 도트가 생성될 때, 다음 태그를 위한 가변 데이터 요소가 제2 가변 데이터 버퍼로 중복 부호화되고, 다음 태그의 TagIsPrinted 플래그가 결정된다. 두 작업 모두는 하프라인 태그 데이터 버퍼로부터 독출하는 것을 수반하며, 외부 D램으로의 액세스를 수반하지는 않는다.When a dot for one tag is generated in the dot direction, the variable data element for the next tag is over-coded into the second variable data buffer, and the TagIsPrinted flag of the next tag is determined. Both operations involve reading from the halfline tag data buffer and do not involve access to external DRAM.

· 하프라인 태그 데이터 버퍼가 최초로 이용되면, 부호화되지 않은 태그 데이터의 다음 하프라인이 D램으로부터 인출된다. 태그 데이터의 하프라인이 다시 이용되면 D램으로부터는 아무것도 독출되지 않는다. 3개의 하프라인 태그 버퍼가 존재하기 때문에, 태그의 다음 하프라인이 준비되는 동안 두 개의 버퍼가 단일 태그 라인을 위하여 여러 번 이용된다. 이는 각각의 태그의 부호화되지 않은 데이터가 D램으로부터 오직 한번만 독출될 수 있도록 하는 것을 주의하여야 한다.When the halfline tag data buffer is first used, the next halfline of the uncoded tag data is drawn out from the D-RAM. When the half line of tag data is used again, nothing is read from the DRAM. Since there are three halfline tag buffers, two buffers are used multiple times for a single tag line while the next halfline of the tag is ready. It should be noted that the unencoded data of each tag can only be read once from the DRAM.

· 하나의 태그 라인을 위한 도트가 생성되는 동안, 태그 포맷 구조의 다음 라인이 외부 D램으로부터 독출된다. 이것은 현재 출력 라인이 실제로 태그의 일부인 경우에만 필요하다. 태그의 최후 라인인 경우에는 태그의 최초 라인이 재독출된다. 태그 간 라인(inter-tag line)을 처리하는 동안에는 아무것도 독출되지 않는다.While the dot for one tag line is generated, the next line of the tag format structure is read from the external DRAM. This is only necessary if the current output line is actually part of a tag. In the case of the last line of the tag, the first line of the tag is reread. Nothing is read during the processing of inter-tag lines.

표 11은 온칩(on-chip) 및 오프칩(off-chip)(외부 D램) 요청의 관점에서 TE를 위한 메모리 요청을 요약한다.Table 11 summarizes the memory requests for TE in terms of on-chip and off-chip (external DRAM) requests.

[표 11] TE 메모리 요청[Table 11] TE memory request

명칭designation 온칩 총 요청On-Chip Gun Request 오프칩 최악의 경우(외부D램)Off-Chip Worst Case (External DRAM) TEOrientationTEOrientation 1비트1 bit -- 태그 포맷 구조Tag format structure 960바이트960 bytes (총)360KB(Total) 360 KB 고정 태그 데이터 버퍼Fixed tag data buffer 120비트120 bit -- TagIsPrinted 플래그TagIsPrinted flag 2비트2 bit 하프라인 태그 데이터 버퍼Halfline Tag Data Buffer 3648바이트3648 bytes (페이지 당)255KB255 KB (per page) 가변 태그 데이터 버퍼Variable tag data buffer 720비트720 bit 합계Sum 5018바이트5018 bytes

최고 수준으로, TE에서 상태 머신은 시작 위치를 태그 간 간격 또는 태그에 두고 한 번에 한 라인씩 출력 라인을 단계적으로 거친다(PEC는 단일 라인을 인쇄하는 복수의 PEC로 인하여 태그의 일부만을 인쇄할 수 있음). 만약 현재 위치가 태그 간 간격 내에 있으면, 0의 출력이 생성된다. 만약 현재 위치가 태그 내에 있으면, 필요에 따라 태그 포맷 구조가 고정 또는 가변 데이터 버퍼로부터의 적절한 부호화된 데이터 비트를 이용하여 출력 도트의 값을 결정하는데 이용된다. 그리고 나서 TE는 태그 배치 파라미터에 따라 태그 및 태그 간 간격을 통하여 움직이면서 도트 라인을 따라 나아간다. 일단 출력 도트의 전체 라인이 생성되면, TE는 라인 방향에 대한 태그 배치 규칙에 따라 태그 및 태그 간 간격을 이동하여 다음 도트 라인으로 나아간다. 출력 도트는 PEC에서 처리를 생성하는 다른 도트와 보조를 맞추기 위하여 매 사이클마다 생성되어야 한다. 의사코드(pseudocode)에서, 절차는 다음과 같다. D램을 액세스하는 논리는 나타내지 않았음에 주의하여야 한다.At the highest level, in TE, the state machine steps through the output lines one line at a time, with the start position at the tag-to-tag spacing or tag (PEC prints only a portion of a tag due to multiple PECs printing a single line). Can be). If the current position is within the interval between tags, an output of zero is generated. If the current position is in the tag, then the tag format structure is used to determine the value of the output dot using the appropriate coded data bits from the fixed or variable data buffer as needed. The TE then advances along the dot line, moving through the tag-to-tag spacing according to the tag placement parameter. Once the entire line of output dots has been created, the TE advances to the next dot line by shifting the tag-to-tag spacing according to the tag placement rules for the line direction. Output dots must be generated every cycle to keep pace with other dots that generate processing in the PEC. In pseudocode, the procedure is as follows. Note that the logic for accessing the DRAM is not shown.

If(TEOrientation=Portrait)If (TEOrientation = Portrait)

maxTagComponentLine[0]=LineInterTagGapmaxTagComponentLine [0] = LineInterTagGap

maxTagComponentLine[1]=TagHeightmaxTagComponentLine [1] = TagHeight

maxTagComponentDot[0]=DotInterTagGapmaxTagComponentDot [0] = DotInterTagGap

maxTagComponentDot[1]=TagWidthmaxTagComponentDot [1] = TagWidth

startDotOffset[0]=StartPosition.LocalOffsetDotstartDotOffset [0] = StartPosition.LocalOffsetDot

startDotState[0]=StartPosition.TagStateDotstartDotState [0] = StartPosition.TagStateDot

startDotOffset[1]=AltTagLinePosition.LocalOffsetDotstartDotOffset [1] = AltTagLinePosition.LocalOffsetDot

startDotState[1]=AltTagLinePosition.TagStateDotstartDotState [1] = AltTagLinePosition.TagStateDot

CurrPos.TagStateLine=StartPosition.TagStateLineCurrPos.TagStateLine = StartPosition.TagStateLine

CurrPos.LocalOffsetLine=StartPosition.LocalOffsetLineCurrPos.LocalOffsetLine = StartPosition.LocalOffsetLine

ElseElse

maxTagComponentLine[0]=DotInterGapmaxTagComponentLine [0] = DotInterGap

maxTagComponentLine[1]=TagWidthmaxTagComponentLine [1] = TagWidth

maxTagComponentDot[0]=LineInterTagGapmaxTagComponentDot [0] = LineInterTagGap

maxTagComponentDot[1]=TagHeightmaxTagComponentDot [1] = TagHeight

startDotOffset[0]=StartPosition.LocalOffsetLinestartDotOffset [0] = StartPosition.LocalOffsetLine

startDotState[0]=StartPosition.TagStateLinestartDotState [0] = StartPosition.TagStateLine

startDotOffset[1]=AltTagLinePosition.LocalOffsetLinestartDotOffset [1] = AltTagLinePosition.LocalOffsetLine

startDotState[1]=AltTagLinePosition.TagStateLinestartDotState [1] = AltTagLinePosition.TagStateLine

CurrPos.TagStateLine=StartPosition.TagStateDotCurrPos.TagStateLine = StartPosition.TagStateDot

CurrPos.LocalOffsetLine=StartPosition.LocalOffsetDotCurrPos.LocalOffsetLine = StartPosition.LocalOffsetDot

EndifEndif

Stall until the RSEncoder's output TagReady flag is setStall until the RSEncoder's output TagReady flag is set

transfer TagIsPrinted flag from RSEncoder to DotGeneratortransfer TagIsPrinted flag from RSEncoder to DotGenerator

transfer variable tag data buffer from RSEncoder to DotGeneratortransfer variable tag data buffer from RSEncoder to DotGenerator

send AdvanceTag signal to RSEncoder to begin encoding the next tagsend AdvanceTag signal to RSEncoder to begin encoding the next tag

tagLineType=0tagLineType = 0

LineCount=0LineCount = 0

While(LineCount<MaxLine)While (LineCount <MaxLine)

DoDo

CurrPos.TagStateDot=startDotState[tagLineType]CurrPos.TagStateDot = startDotState [tagLineType]

CurrPos.LocalOffsetDot=startDotOffset[tagLineType]CurrPos.LocalOffsetDot = startDotOffset [tagLineType]

DotCout=0DotCout = 0

While(DotCount<MaxDot)While (DotCount <MaxDot)

DoDo

If(CurrPos.TagStateDot=inTagIf (CurrPos.TagStateDot = inTag

Write(Decoder TaglineStructure[CurrPos.LocalOffsetDot]) to FIFOWrite (Decoder TaglineStructure [CurrPos.LocalOffsetDot]) to FIFO

ElseElse

Write 0 to FIFOWrite 0 to FIFO

EndIfEndif

increment CurrPos.LocalOffsetDotincrement CurrPos.LocalOffsetDot

If(CurrPos.LocalOffsetDot >If (CurrPos.LocalOffsetDot>

maxTagComponentDot[CurPos.TagStateDot])maxTagComponentDot [CurPos.TagStateDot])

CurrPos.LocalOffsetDot=0CurrPos.LocalOffsetDot = 0

CurrPos.TagStateDot=((~currPos.TagStateDot) ORCurrPos.TagStateDot = ((~ currPos.TagStateDot) OR

(dotInterTagGap=0)(dotInterTagGap = 0)

If(CurrPos.TagStateDot == inTag)If (CurrPos.TagStateDot == inTag)

transfer TagIsPrinted flag from RSEncoder to DotGeneratortransfer TagIsPrinted flag from RSEncoder to DotGenerator

transfer variable tag data buffer from RSEncoder totransfer variable tag data buffer from RSEncoder to

DotGeneratorDotgenerator

send AdvanceTag signal to RSEncoder to begin encodingsend AdvanceTag signal to RSEncoder to begin encoding

the next tagthe next tag

EndIfEndif

EndIfEndif

EndIfEndif

increment DotCountincrement DotCount

EndDoEnddo

increment lineCountincrement lineCount

increment CurrPos.LocalOffsetLineincrement CurrPos.LocalOffsetLine

If(CurrPos.LocalOffsetLine> maxTagComponentLine[CurrPos.Tag StateLine])If (CurrPos.LocalOffsetLine> maxTagComponentLine [CurrPos.Tag StateLine])

CurrPos.TagStateLine=((~currPos.TagStateLine)ORCurrPos.TagStateLine = ((~ currPos.TagStateLine) OR

(lineInterTagGap==0))(lineInterTagGap == 0))

CurrPos.LocalOffsetLine = 0CurrPos.LocalOffsetLine = 0

If((CurrPos.TagStateLine == inTag)If ((CurrPos.TagStateLine == inTag)

tagLineType=~tagLineTypetagLineType = ~ tagLineType

EndIfEndif

EndifEndif

EndDoEnddo

태그 내의 위치에 근거한 단일 바트의 출력은 적절한 태그 라인 구조, 현재 태그에 관한 부호화된 고정 및 가변 태그 데이터 및 현재 태그에 관한 TagIsPrinted 플래그에 대한 액세스를 가지는 것에 좌우된다. 이들이 적절히 적재되었다고 가정하고, 표 5의 부호화 파라미터라고 한다면, 단일 태그 도트의 생성은 도 58에서 블록도의 형태로 보여질 수 있다.The output of a single bart based on location within a tag depends on having the appropriate tag line structure, encoded fixed and variable tag data for the current tag, and access to the TagIsPrinted flag for the current tag. Assuming that they are properly loaded, and if it is the encoding parameter of Table 5, the generation of a single tag dot can be seen in the form of a block diagram in FIG.

도 59에는 인코더의 블록도가 나타나 있다. TE는 심볼-앳-어-타임(symbol-at-a-time) GF(24) 리드-솔로몬 인코더(590)를 포함한다. 기호(symbol) 크기는 4비트이다. 각각의 코드워드는 60비트의 코드워드 길이에 15개의 4비트 기호를 포함한다. 15개의 기호 중에서 5개는 원래의 데이터(20비트), 10개는 중복 비트(redundancy bits)(40비트)이다. 각각의 태그는 120비트의 가변적인 원래 데이터를 포함하기 때문에, 6개의 코드워드가 전체 360비트의 부호화된 데이터 크기를 위하여 필요하다. 고정 태그 데이터 역시 동일한 리드-솔로몬 인코더를 이용하여부호화된다. 고정 태그 데이터 역시 동일한 리드-솔로몬 인코더를 이용하여 부호화된다. 고정 데이터는 주어진 페이지(또는 복수의 PEC이 이용되는 경우에 페이지의 띠(strip))에서 모든 태그에 대하여 불변(constant)이므로, 인쇄(또는 여러 인쇄의 모음) 전에 한번만 설정하면 된다. 부호화되지 않은 고정 데이터는 40비트의 길이가 된다. 이들 40비트는 120비트를 생성하기 위하여 부호화된다. 고정데이터를 부호화하기 위하여, CPU는 고정 데이터를 부호화되지 않은 태그 데이터 버퍼의 처음 40비트로 적재하고, 두 개의 코드워드를 부호화하기 위하여 상태 머신을 개시한다. 결과로서 생기는 가변 태그 데이터의 120비트는 이들이 적어도 한 페이지, 대부분은 여러 페이지의 인쇄를 위하여 머무르게 될, 고정 태그 데이터 버퍼로 전송된다. 만약 고정 데이터가 PEC에 의하여 부호화될 것이 아니라면, 고정 데이터의 120비트 모두가 직접 고정 태그 데이터 버퍼로 복사된다. 상태 머신(591)은 태그 데이터의 부호화를 위한 어드레싱 및 제어 신호의 생성을 담당한다. 표 13은 상태 머신(591)을 프로그램하는데 이용되는 레지스터를 나타낸다.59 shows a block diagram of the encoder. The TE includes a symbol-at-a-time GF 2 4 Reed-Solomon encoder 590. The symbol size is 4 bits. Each codeword contains fifteen 4-bit symbols with a codeword length of 60 bits. Of the 15 symbols, 5 are the original data (20 bits) and 10 are the redundancy bits (40 bits). Since each tag contains 120 bits of variable original data, six codewords are needed for a full 360 bit encoded data size. Fixed tag data is also encoded using the same Reed-Solomon encoder. Fixed tag data is also encoded using the same Reed-Solomon encoder. Since fixed data is constant for all tags in a given page (or strip of pages when multiple PECs are used), it only needs to be set once before printing (or a collection of prints). Uncoded fixed data has a length of 40 bits. These 40 bits are encoded to produce 120 bits. To encode the fixed data, the CPU loads the fixed data into the first 40 bits of the unencoded tag data buffer and initiates a state machine to encode the two codewords. The resulting 120 bits of variable tag data are sent to a fixed tag data buffer, where they will stay for printing at least one page, mostly several pages. If the fixed data is not encoded by the PEC, all 120 bits of the fixed data are copied directly to the fixed tag data buffer. The state machine 591 is responsible for generating addressing and control signals for encoding tag data. Table 13 shows the registers used to program state machine 591.

TagReady 플래그는 개시(startup)시 및 계속해서 AdvanceTag 신호가 수신될 때마다(593) 상태 머신(591)에 의하여 클리어된다(592). 플래그는 코드워드의 전체 모음(set)이 적절히 리드-솔로몬 방식으로 부호화 완료되면 설정된다. TagReady 플래그는 부호화된 데이터에 관한 외부 사용자가 적절히 정지하도록 허용한다.The TagReady flag is cleared 592 by the state machine 591 at startup and continually whenever an AdvanceTag signal is received 593. The flag is set when the entire set of codewords is properly encoded in the Reed-Solomon method. The TagReady flag allows external users to properly stop the encoded data.

5:10 기호의 부호화를 생성하기 위하여, 상태 머신(591)은 적절한 하프라인 태그 버퍼(594)로부터의 4비트 데이터(595)를 기호 폭 리드 솔로몬 디코더(symbol-width Reed-Solomon decoder)(590)로 게이트(gate)한다. 클록데이터 신호(clock-data signal)는 처음 5클록 동안 공급되고, 이것의 역(inverse)이 다음 10클록 동안 공급된다. 이것은 NumberOfCodewords의 횟수만큼 반복된다. 따라서 전체 태그 데이터(6코드워드×15클록)를 부호화하기 위해서는 90클록이 필요하다. 추가적인 2클록은 나머지 8비트를 뛰어 넘기 위해서 필요하므로, 총 92사이클이 된다. 상태 머신(591)은 TagReady 플래그를 설정하고(592), Advance 신호가 TE의 하이 레벨 프로세스(high level process)로부터 주어질 때까지(이 신호가 부여되기 위하여 주어지는 시간은 태그의 폭에 달려있다. 92의 태그 크기일때 최소 지연(minimum delay)이 된다) 정지(stall)한다. 이들 마지막 2클록 중의 처음에서, WriteEnable 신호가 생성되어(596) TagIsPrinted 플래그(597)이 부호화되지 않은 태그 데이터 버퍼(태그 데이터의 비트(121))(594)로부터 독출되는 4개의 비트 중 처음 비트로 설정된다. 동일한 클록 동안, 4개의 비트 중 둘째 비트가 상태 머신을 통과한다. 이 LastTagInHalfLine으로 일컬어지는 둘째 비트는, 막 처리된 태그가 실제로 하프라인 버퍼에서 처리되어야 할 마지막 태그인지 여부를 결정한다.In order to generate a 5:10 symbol encoding, state machine 591 adds the 4-bit data 595 from the appropriate halfline tag buffer 594 to a symbol-width Reed-Solomon decoder 590. Gate). The clock-data signal is supplied for the first 5 clocks, the inverse of which is supplied for the next 10 clocks. This is repeated a number of times NumberOfCodewords. Therefore, 90 clocks are required to encode all tag data (6 codewords x 15 clocks). An additional two clocks are needed to jump over the remaining eight bits, totaling 92 cycles. The state machine 591 sets the TagReady flag (592), and until the Advance signal is given from the high level process of TE (the time given for this signal to be given depends on the width of the tag.) 92 At the tag size of, this results in a minimum delay. At the beginning of these last two clocks, a WriteEnable signal is generated (596) so that the TagIsPrinted flag 597 is set to the first of four bits read from the unencoded tag data buffer (bits 121 of tag data) 594. do. During the same clock, the second of the four bits passes through the state machine. The second bit, referred to as this LastTagInHalfLine, determines whether the just processed tag is actually the last tag to be processed in the halfline buffer.

상태 머신(591)에 의하여 하프라인 태그 버퍼(594)를 위하여 생성되는 어드레스는 14비트이다. 윗쪽 2비트는 3개의 데이터 버퍼 중 어느 것이 어드레스될 것인지를 선택한다. 다음 9비트는 어떤 32비트 분량이 버퍼로부터 독출될 것인지를, 아래쪽 3비트는 8개의 4비트 모음(set) 중에서 어느 것이 선택되어야 할 것인지를 결정한다. 14개의 어드레스 비트 중에서, 아래쪽 12비트 어드레스는 0에서 시작되고, 32회 진행될 때까지 각각의 사이클마다 증가한다. 그러면 계수기(counter)는 AdvanceTag 신호(593)가 하이 레벨 부호화 절차로부터 올 때까지 정지(stall)한다.그러나 만약 LastTagInHalfLine 플래그(마지막으로 처리된 태그로부터 비트 122로서 독출)가 설정되면, 아래쪽 12비트 어드레스는 0으로 클리어되고, 태그 하프라인 버퍼 2비트 인덱스(tag half-line buffer 2-bit index)가 업데이트되며, D램으로부터의 태그 데이터의 다음 하프라인에 관한 적재 절차가 잠정적으로 개시된다.The address generated by the state machine 591 for the halfline tag buffer 594 is 14 bits. The upper two bits select which of the three data buffers will be addressed. The next 9 bits determine which 32 bits are read from the buffer, and the bottom 3 bits determine which of the eight 4 bit sets should be selected. Of the 14 address bits, the lower 12-bit address starts at 0 and increments each cycle until progress 32 times. The counter then stalls until the AdvanceTag signal 593 comes from the high level encoding procedure. However, if the LastTagInHalfLine flag (read as bit 122 from the last processed tag) is set, then the lower 12-bit address Is cleared to zero, the tag half-line buffer 2-bit index is updated, and the loading procedure for the next halfline of tag data from the DRAM is tentatively initiated.

상태 머신(591)은 이 완전 태그 라인(full tag line)에 관하여 처리되는 다수의 하프라인을 위한 10비트 TagLineCounter를 유지한다. TagLineCounter는 개시될 때 클리어되며, 상태 머신이 LastTagInHlafLine 플래그가 설정된 태그의 부호화를 완료할 때마다 증가한다. TagLineCounter가 증가하면, 10비트는 잠정적으로 TagLineCounter 자체를 리셋할 뿐만 아니라, 하프라인 인덱스를 위한 새로운 값을 결정하는데 이용된다. 라인의 처음 절반(TagLineCounter의 가장 낮은 비트=0)에 있을 때, 다음 하프라인 버퍼는 항상 동일한 태그 라인의 나중 하프라인이 될 것이다. 이것은 단순히 2비트 인덱스를 업데이트하는 것을 의미한다. 라인의 나중 절반(TagLineCounter의 가장 낮은 비트=1)에 있을 때, 다음 하프라인은 이 태그 라인의 처리를 완료하였는지 여부에 좌우된다. 만약 태그라인의 처리가 완료되었으면(TagLineCounter의 가장 높은 9개의 비트는 TEOrientaton의 값에 따라 TagHeight 또는 TagWidth와 일치하지 않음), 다음 하프라인은 이전 하프라인과 동일하다. 만약 태그라인을 완료하였으면, 다음 하프라인은 다음 라인으로부터 오게 되므로, 다음 태그 라인의 하프라인 버퍼를 사용하게 된다. 새로운 태그 라인을 시작하는 것이므로, 계수기 또한 0으로 클리어된다. 표 12는 신/구 계수기 및 하프라인 버퍼 인덱스 사이의 관계를 나타낸다.The state machine 591 maintains a 10-bit TagLineCounter for a number of halflines processed on this full tag line. TagLineCounter is cleared at startup and incremented each time the state machine completes encoding the tag with the LastTagInHlafLine flag set. If TagLineCounter is incremented, 10 bits are used to temporarily reset TagLineCounter itself, as well as determine new values for the halfline index. When in the first half of the line (lowest bit of TagLineCounter = 0), the next halfline buffer will always be the later halfline of the same tag line. This simply means updating the 2-bit index. When in the latter half of the line (lowest bit of TagLineCounter = 1), the next halfline depends on whether or not the processing of this tag line has been completed. If the processing of the tagline is complete (the highest 9 bits of TagLineCounter do not match TagHeight or TagWidth depending on the value of TEOrientaton), the next halfline is the same as the previous halfline. If the tagline is complete, the next halfline comes from the next line, so the halfline buffer of the next tagline is used. Since you are starting a new tag line, the counter is also cleared to zero. Table 12 shows the relationship between the new / old counter and the halfline buffer index.

[표 12] LastTagInHalfLine이 설정될 때 할 일Table 12. What to do when LastTagInHalfLine is set

TagLineCounter의 아래쪽 비트Bottom bit of TagLineCounter TagLineCounter=tag height인 윗쪽 비트Top bit with TagLineCounter = tag height 현재 인덱스 값Current index value 다음 인덱스 값The next index value 계수기 클리어?Clear counter? 0(라인의 처음 절반을 표시)0 (marks the first half of the line) x(돈케어(don't care) 상태)x (don't care state) 00 1One 아니오no 00 xx 1One 22 아니오no 00 xx 22 00 아니오no 1(라인의 나중 절반을 표시)1 (shows the latter half of the line) 00 00 1One 아니오no 1One 00 1One 22 아니오no 1One 00 22 00 아니오no 1One 1One 00 1One Yes 1One 1One 1One 22 Yes 1One 1One 22 00 Yes

인덱스 값이 변경될 때마다, 옛 인덱스는 보존되고, 새 인덱스와 관련된 하프라인 버퍼에 관한 FirstTimeProcessed 플래그가 체크된다. 만약 FirstTimeProcessed 태그가 클리어되면, 더이상 아무것도 수행되지 않는다. 그러나, 만약 FirstTimeProcessed 태그가 설정되면, 그것은 클리어되고, 옛 인덱스에 의하여 D램으로부터 다음 하프라인을 위한 다음 데이터의 모음을 독출하는 절차가 개시된다. 그리고 나서 옛 인덱스와 관련된 하프라인을 위한 FirstTimeProcessed 플래그가 설정된다. 표 13에서 기술되는 바와 같이, D램으로부터 독출되어야 하는 32비트 워드의 수는 HalfLineSize 레지스터에 의하여 특정된다. 그리고 나서 태그 하프라인을 독출하기 위한 현재 어드레스가 독출될 다음 하프라인을 가리키도록 HalfLineSize에 의하여 증가된다. 이러한 설계는 페이지의 말미에서 단일 하프라인이 미리(in anticipation) 독출되도록 한다. 데이터는 페이지로 전송되지 않기 때문에, 그것은 문제가 되지 않는다.Each time the index value changes, the old index is preserved and the FirstTimeProcessed flag on the halfline buffer associated with the new index is checked. If the FirstTimeProcessed tag is cleared, nothing more is done. However, if the FirstTimeProcessed tag is set, it is cleared and a procedure is started to read the next collection of data for the next halfline from DRAM by the old index. Then the FirstTimeProcessed flag is set for the halfline associated with the old index. As described in Table 13, the number of 32-bit words that must be read from the DRAM is specified by the HalfLineSize register. The current address for reading the tag halfline is then incremented by HalfLineSize to point to the next halfline to be read. This design allows a single halfline to be read in anticipation at the end of the page. Since the data is not sent to the page, it does not matter.

[표 13] 태그의 가변 데이터를 조작하기 위한 레지스터[Table 13] Register to manipulate variable data of tag

파라미터parameter 설명Explanation 전형적 값Typical value DataSymbolsDataSymbols 출력 코드워드 안의 데이터 기호(data symbol)의 수The number of data symbols in the output codeword 55 RedundancySymbolsRedundancySymbols 출력 코드워드 안의 중복 기호의 수The number of duplicate symbols in the output codeword 1010 NumberOfCodeWordsNumberOfCodeWords 부호화할 코드워드의 수Number of codewords to encode 66 HalfLineSizeHalflinesize D램으로부터 적재될 가변 태그 데이터의 하프라인 안의 32비트 양(quantity)의 수Number of 32-bit quantities in the halfline of variable tag data to be loaded from DRAM 304304 EncodeSelectEncodeSelect 만약 이 비트가 설정되면, 데이터는 리드 솔로몬 방식으로 부호화된다. 만약 비워지면, 데이터는 복사만 된다.If this bit is set, data is encoded in Reed Solomon's way. If empty, the data is only copied. 1One

결론conclusion

본 발명이 바람직한 실시예 및 다수의 특정 변형 실시예를 참조하여 설명되었다. 그러나, 특별히 설명된 이들 실시예와 다른 다수의 기타 실시예 또한 본 발명의 사상 및 범위에 속하게 될 것임은 당업자라면 예측할 수 있다. 따라서, 본 발명은 본 상세한 설명에서 설명된, 상호 참조되는 문서를 포함하는 특정 실시예로 제한하고자 하는 의도가 아님을 이해하여야 한다. 본 발명의 범위는 오직 첨부된 특허청구범위에 의해서만 제한된다.The present invention has been described with reference to preferred embodiments and numerous specific variations. However, it will be apparent to those skilled in the art that these specifically described embodiments and many other embodiments will also fall within the spirit and scope of the invention. Accordingly, it is to be understood that the invention is not intended to be limited to the particular embodiments described herein, including cross-referenced documents. It is intended that the scope of the invention only be limited by the appended claims.

Claims (15)

태그 구조 템플릿을 수신하는 입력수단과;Input means for receiving a tag structure template; 고정 데이터 비트를 수신하는 입력수단과;Input means for receiving fixed data bits; 가변 데이터 비트 레코드를 수신하는 입력수단; 및Input means for receiving a variable data bit record; And 태그 구조 템플릿 및 상기 고정 및 상기 가변 데이터에 의하여 정의되는 태그에서의 위치에 따른 단일 비트를 출력하는 태그 도트 생성기를 포함하는 인쇄 페이지의 태그 인코더.And a tag dot generator for outputting a single bit according to a position in a tag defined by said fixed and said variable data. 제 1항에 있어서,The method of claim 1, 상기 고정 및/또는 상기 가변 데이터를 선택에 따라 부호화할 수 있는 중복 인코더(redundancy encoder)를 더 포함하는 인쇄 페이지의 태그 인코더.And a redundancy encoder capable of encoding the fixed and / or the variable data according to a selection. 제 2항에 있어서,The method of claim 2, 상기 중복 인코더는 리드-솔로몬(Reed-Solomon) 부호화를 이용하는 인쇄 페이지의 태그 인코더.The redundant encoder is a tag encoder of a printed page using Reed-Solomon encoding. 제 1항에 있어서,The method of claim 1, 상기 태그는 페이지 상에 규칙적으로 배치되는 인쇄 페이지의 태그 인코더.And the tag is regularly arranged on the page. 제 4항에 있어서,The method of claim 4, wherein 상기 태그는 삼각형 격자 안에 배치되는 인쇄 페이지의 태그 인코더.Wherein the tag is placed within a triangular grid. 정의된 태그 구조 포맷에 따라 특정 태그 데이터 값과 함께 인쇄될 페이지에 관한 고정 데이터를 포맷팅(formatting)하는 단계; 및Formatting fixed data about a page to be printed with a specific tag data value according to a defined tag structure format; And 페이지 상에 규칙적으로 태그를 배치하는 단계를 포함하는 인쇄 페이지의 태그를 설치하는 방법.A method of installing a tag of a printed page, the method comprising regularly placing a tag on a page. 제 6항에 있어서,The method of claim 6, 고정 및/또는 특정 태그 데이터를 중복 부호화(redundancy encoding)하는 단계를 더 포함하는 인쇄 페이지의 태그를 설치하는 방법.A method of installing a tag of a printed page further comprising redundancy encoding of fixed and / or specific tag data. 수신된 압축된 페이지 데이터에서 임의의 압축된 연속 톤 이미지 면을 복호화하는 연속톤 이미지 디코더와;A continuous tone image decoder for decoding any compressed continuous tone image plane in the received compressed page data; 상기 수신된 압축된 페이지 데이터에서 임의의 압축된 2-레벨 이미지 면을 복호화하는 2-레벨 디코더와;A two-level decoder that decodes any compressed two-level image planes from the received compressed page data; 태그 이미지 면을 생성하기 위한 태그 인코더; 및A tag encoder for generating a tag image plane; And 상기 이미지 면 및 태그 데이터 면의 통합에 영향을 주기 위한 컬러 마스크에 의하여 제어되는 도트 병합 유닛을 포함하는 하프토너/합성기를 포함하는, 잉크젯(inkdrop) 프린트 헤드를 구동하기 위한 프린트 엔진/제어기.And a half toner / compositor comprising a dot merging unit controlled by a color mask to effect integration of the image plane and tag data plane. 제 8항에 있어서,The method of claim 8, 태그는 삼각형 격자 상에서 태그 이미지 면 내에 배치되는 프린트 엔진/제어기.The tag is a print engine / controller placed within the tag image plane on a triangular grid. 제 8항에 있어서,The method of claim 8, 상기 태그 이미지 면은 적외선 잉크로 인쇄되는 태그를 인쇄 페이지에 배치하기 위하여 적외선 잉크 채널로 연결되는 프린트 엔진/제어기.And the tag image plane is connected to an infrared ink channel to place a tag printed with infrared ink on a print page. 제 8항에 있어서,The method of claim 8, 상기 태그 인코더는 상기 태그 이미지 면으로 예정된 태그 데이터를 중복 부호화하는 프린트 엔진/제어기.The tag encoder is configured to over-encode tag data intended for the tag image plane. 제 11항에 있어서,The method of claim 11, 상기 중복 부호화는 리드-솔로몬 부호화를 이용하는 프린트 엔진/제어기.The redundant coding uses Reed-Solomon coding. 제 8항에 있어서,The method of claim 8, 상기 프린트 엔진/제어기는 상기 태그 데이터의 상기 고정 및 가변 부분 모두를 부호화하는 프린트 엔진/제어기.The print engine / controller encodes both the fixed and variable portions of the tag data. 태그 있는 인쇄 페이지를 생성하기 위해 잉크젯 프린트 헤드와 인터페이스하는 프린트 엔진/제어기 칩으로서,A print engine / controller chip that interfaces with an inkjet printhead to produce a tagged print page, 압축된 페이지 데이터를 수신하는 인터페이스와;An interface for receiving compressed page data; 태그 이미지 면을 출력하는 태그 인코더와;A tag encoder for outputting a tag image plane; 상기 수신된 압축된 페이지 데이터 안의 임의의 연속톤 이미지 면을 복호화하는 연속톤 이미지 디코더와;A contone image decoder for decoding any contone image plane in the received compressed page data; 상기 수신된 압축된 페이지 데이터 안의 임의의 2-레벨 이미지를 복호화하는 2-레벨 디코더와;A two-level decoder for decoding any two-level image in the received compressed page data; 임의의 2-레벨 이미지 면을 임의의 연속톤 이미지 면 또는 태그 이미지 면 위에 합성하는 하프토너/합성기; 및A half-toner / compositor that combines any two-level image plane onto any continuous tone image plane or tag image plane; And 상기 합성물을 프린트 헤드로 출력하는 프린트 헤드 드라이버를 포함하는 프린트 엔진/제어기 칩.A print engine / controller chip comprising a print head driver for outputting the composite to a print head. 태그 있는 페이지를 생성하는 잉크젯 프린터(inkdrop printer)로서,An inkjet printer that generates tagged pages. 압축된 페이지 데이터를 수신하는 인터페이스와;An interface for receiving compressed page data; 태그 이미지 면을 생성하는 태그 인코더와;A tag encoder for generating a tag image plane; 상기 수신된 압축된 페이지 데이터 안의 임의의 연속톤 이미지 면을 복호화하는 연속톤 이미지 디코더와;A contone image decoder for decoding any contone image plane in the received compressed page data; 상기 수신된 압축된 페이지 데이터 안의 임의의 2-레벨 이미지 면을 복호화하는 2-레벨 디코더와;A two-level decoder for decoding any two-level image plane in the received compressed page data; 임의의 2-레벨 이미지 면을 임의의 연속톤 이미지 면 또는 태그 이미지 면 위에 합성하는 하프토너/합성기와;A half-toner / compositor that synthesizes any two-level image planes on any continuous tone image plane or tag image plane; 상기 합성물을 프린트 헤드로 출력하는 프린트 헤드 드라이버; 및A print head driver for outputting the composite to a print head; And 프린트 헤드를 포함하는 프린트 엔진/제어기에 의하여 구동되는, 태그 있는 페이지를 생성하는 잉크젯 프린터(inkdrop printer).An inkjet printer generating a tagged page driven by a print engine / controller comprising a print head.
KR1020027015811A 2002-11-22 2000-05-24 Printed page tag encoder KR100755914B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027015811A KR100755914B1 (en) 2002-11-22 2000-05-24 Printed page tag encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020027015811A KR100755914B1 (en) 2002-11-22 2000-05-24 Printed page tag encoder

Publications (2)

Publication Number Publication Date
KR20030005384A true KR20030005384A (en) 2003-01-17
KR100755914B1 KR100755914B1 (en) 2007-09-06

Family

ID=41632428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015811A KR100755914B1 (en) 2002-11-22 2000-05-24 Printed page tag encoder

Country Status (1)

Country Link
KR (1) KR100755914B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100725889B1 (en) * 2003-10-15 2007-06-11 캐논 가부시끼가이샤 User interface for creation and editing of variable data documents
KR100888109B1 (en) * 2004-07-09 2009-03-11 캐논 가부시끼가이샤 Image processing apparatus, its control method and recording medium
CN117409014A (en) * 2023-10-09 2024-01-16 齐鲁工业大学(山东省科学院) Lightweight heart MRI segmentation method based on feature selection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754127A (en) * 1985-11-15 1988-06-28 Cauzin Systems, Incorporated Method and apparatus for transforming digitally encoded data into printed data strips
WO1999019823A2 (en) 1997-10-10 1999-04-22 Interval Research Corporation Methods and systems for providing human/computer interfaces

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100725889B1 (en) * 2003-10-15 2007-06-11 캐논 가부시끼가이샤 User interface for creation and editing of variable data documents
KR100888109B1 (en) * 2004-07-09 2009-03-11 캐논 가부시끼가이샤 Image processing apparatus, its control method and recording medium
CN117409014A (en) * 2023-10-09 2024-01-16 齐鲁工业大学(山东省科学院) Lightweight heart MRI segmentation method based on feature selection
CN117409014B (en) * 2023-10-09 2024-05-28 齐鲁工业大学(山东省科学院) Lightweight heart MRI segmentation method based on feature selection

Also Published As

Publication number Publication date
KR100755914B1 (en) 2007-09-06

Similar Documents

Publication Publication Date Title
AU775392B2 (en) Printed page tag encoder
US7388689B2 (en) Printed page tag encoder for encoding fixed and variable data
KR100486383B1 (en) Sensing device
US8223380B2 (en) Electronically transmitted document delivery through interaction with printed document
KR100637807B1 (en) Relay device
KR20030068553A (en) Method and system for online purchasing
KR100629214B1 (en) Interactive printer
KR100605353B1 (en) Method and system for online payments
KR100755914B1 (en) Printed page tag encoder
AU2004220747B8 (en) Print engine for a pagewidth inkjet printer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20110720

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee