JPH10301733A - イメージング・サブシステム - Google Patents

イメージング・サブシステム

Info

Publication number
JPH10301733A
JPH10301733A JP10592398A JP10592398A JPH10301733A JP H10301733 A JPH10301733 A JP H10301733A JP 10592398 A JP10592398 A JP 10592398A JP 10592398 A JP10592398 A JP 10592398A JP H10301733 A JPH10301733 A JP H10301733A
Authority
JP
Japan
Prior art keywords
display list
personality
printer
personalities
routine
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP10592398A
Other languages
English (en)
Other versions
JPH10301733A5 (ja
Inventor
Jeff H Papke
ジェフ・エイチ・パプク
Russell Campbell
ラッセル・キャンプベル
Charles Keyes
チャールズ・キース
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10301733A publication Critical patent/JPH10301733A/ja
Publication of JPH10301733A5 publication Critical patent/JPH10301733A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Printers Characterized By Their Purpose (AREA)
  • Displays For Variable Information Using Movable Means (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 複数のプリンタパーソナリティをサポートす
るプリンタのイメージングサブシステムにおいて、プリ
ンティングにおけるメモリ要求を低減させる。 【解決手段】 本発明によるプリンタのイメージングサ
ブシステム40は、複数のプリンタパーソナリティ42
(1)〜(n)がアクセスし用いることができるように
統合された、共通の表示リストパイプライン44を備え
ている。例えばプリンタの初期化中にこれら複数のパー
ソナリティ夫々のオブジェクトテーブルがサブシステム
中の表示リストに登録されて、各パーソナリティが表示
リストパイプラインにアクセスできるようになる。プリ
ント中にあるパーソナリティが選択され実行されると、
パーソナリティは表示リスト内のオブジェクトに従って
入力データストリームを処理し、プリントエンジンが使
用できるデータ形式に変換する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、表示リストフォーマッ
トを用いてオブジェクトを表示またはプリントするシス
テムおよび方法に関する。より詳細には、本発明は、表
示リストフォーマットに従ってプリントスペースの帯状
の領域にオブジェクトをプリントするプリンタ、特にレ
ーザ・プリンタにおいて実施されるシステムおよび方法
に関する。
【0002】
【従来の技術】ホストコンピュータはドキュメントをプ
リントするときに、まずそのドキュメントを、ホストコ
ンピュータ上のアプリケーションが理解する言語からプ
リンタが理解する言語に翻訳する。プリンタ言語を適切
に用いることによって、ホストコンピュータはプリンタ
に何をプリントするかを命令する。最近のプリント環境
においては、ユーザが利用できるプリンタ言語(これは
またプリンタの「パーソナリティ」とも呼ばれる)が複
数用意されている場合がある。
【0003】パーソナリティ(これは通常ソフトウェア
/ファームウェア・モジュールとして実施される)は、
ある特定のプリンタ言語の入力データを適切に受け取っ
てその表現をプリントエンジンがページをプリントする
のに用いる簡単なデータ・ストリームに変換するのに必
要な命令を具体化する。パーソナリティは、ダウンロー
ドされたフォントを受け取って記憶するタスクや、プリ
ンタの設定を選択したり選択解除したり、プリントジョ
ブの状態についてホストにフィードバックするタスクな
どの責任を負う。
【0004】通常プリンタにはメーカによるパーソナリ
ティが備えられている。例えば、Hewlett-Packard Comp
anyは、そのPCL(登録商標)プリンタ言語をベース
にしたパーソナリティを用いている。より具体的には、
PCLはページ記述言語である。データ・ストリーム
が、そのページがどのように見えるべきであるかを記述
し、それが完了するとそのページをプリントする。
【0005】プリンタには、ユーザが様々なアプリケー
ションおよびハードウェアに対して一つのプリンタを用
いることができるように、複数のパーソナリティをサポ
ートしているものがある。その他のプリンタ言語として
は、例えば、セイコーエプソン株式会社のESC/P
(登録商標)や、Adobe Systems Inc.のPostScript(登
録商標)がある。
【0006】それぞれのパーソナリティは、自らのジョ
ブを実行するのにプリンタ資源を用いる。かかる資源に
は、RAM(ランダム・アクセス・メモリ)、ROM
(読み出し専用メモリ)、ハードディスク、入出力チャ
ネル、制御パネル、紙トレー、プリントエンジン、が含
まれる。各パーソナリティは、プリンタ資源を共用して
もよいし、パーソナリティ間の相互作用が最小限になる
ような態様でプリンタ資源を分割する。
【0007】従来技術のプリンタ、そして特にHewlett-
Packard Companyその他が製造するレーザ・プリンタ
は、ページを構築するのにオブジェクト指向の方法を採
っている。つまりこの方法を採用するということは、そ
のページ上にプリントする各項目を1組のオブジェクト
として取り扱うということを黙示している。PCLをベ
ースにしたプリンタのページ記述は、色およびパターン
に結合されたオブジェクトから成っている。オブジェク
ト指向のページ記述言語の明白な利点は、オブジェクト
を位置に依存した順に作り出す必要がない、ということ
である。PCLにおいて用いられるオブジェクトの種類
は、テキスト、罫線(矩形)、グラフィックス(ベクト
ルおよび多角形)、イメージ、およびパターンである。
【0008】パーサー(parser)はこのオブジェクトを
用いて、「表示リスト」として知られているリストを構
成する。表示リストは、先入れ先出し(FIFO)プロ
トコルに従った各オブジェクトの時間順序を記録してい
る。表示リストはイメージ・プロセッサに送られ、イメ
ージ・プロセッサはリストされたオブジェクトに色やパ
ターンを与えることができる。
【0009】プリント結果は1つのイメージのように見
えるものの、プリンタは実際にはページを横方向の帯、
すなわち「ストリップ(strip)」に分割している。図
1は、4つのストリップ22a〜22dを有するページ
20を示す。それぞれのストリップは関連する表示リス
トを有しており、従って、1ページにつき多くの表示リ
ストがある。それぞれの表示リストは、関連するストリ
ップに影響を与えるオブジェクトを識別する。表示リス
トのエントリには、ストリップ内にオブジェクトをどの
ようにプリントするかに関する情報が含まれる。
【0010】
【発明が解決しようとする課題】従来技術では、プリン
タに搭載された各パーソナリティには基本的に、それ自
身の表示リストを処理するためのパイプラインが必要で
あった。各パーソナリティは、それ自身の表示リストを
構成し維持する必要があった。このようにパイプライン
を別個にする方法は、複数のパーソナリティ間で切り替
えることによって生じる非両立性の問題を回避できると
いう利点はあるものの、欠点もいくつかある。例えば、
余分のメモリ容量が必要であったり、異なる表示リスト
技術によって誘発される様々なバグを識別するためのデ
バッグの支援が余分に必要であったりする。
【0011】
【課題を解決するための手段】本発明の一実施態様によ
るプリンタは、複数のパーソナリティをサポートするイ
メージング・サブシステムを有する。該イメージング・
サブシステムは、すべてのパーソナリティがアクセスし
用いることができる、統合された表示リストパイプライ
ンを有する。
【0012】本発明の他の態様によるプリンタは、各パ
ーソナリティがそれ自身のオブジェクトを表示リストに
記入するのを助ける表示リスト構築ツールを備える。
【0013】あるパーソナリティがプリンタ内で実行さ
れると、そのパーソナリティは、最初に、それ自身のオ
ブジェクト・テーブルをイメージング・サブシステムに
登録する。その一方で、イメージング・サブシステム
は、そのパーソナリティが用いる固有の一連のオプコー
ド番号を割り当て、表示リスト構築ツールへのアクセス
を提供する。説明する実施例において、イメージング・
サブシステムは、ポインタを3つのルーチンに返却し、
それによって、そのパーソナリティは、そのオブジェク
トに関する情報を表示リストに入れることができる。こ
の3つのルーチンを用いて、パーソナリティは、統合表
示リストパイプラインが取り扱うことのできる表示リス
トを構成する。
【0014】
【発明の実施例】図2は、本発明の各態様を実施するレ
ーザ・プリンタ30を示す。本発明はインクジェット・
プリンタ等の他のタイプのプリンタにおいて実施するこ
ともできるということに留意されたい。本発明をプリン
タに関連づけて説明するが、スキャナおよび複写機等の
プリント装置を利用する他の製品にも、また表示装置に
も組み込むことができる。本発明は、表示リストのフォ
ーマットを用いてオブジェクトを帯状のすなわちストリ
ップに分割された領域に表示またはプリントする装置に
特に好適である。
【0015】本発明は、複数のパーソナリティが用いる
ことができる統合表示リストを有する、イメージング・
サブシステムに関する。パーソナリティとは、プリント
言語のコマンドを受け取って、ページを出力できるよう
にプリンタに依存した記述に翻訳するプログラムであ
る。一般的に、パーソナリティは、プリンタのデータ・
チャネルから入力データを受け取り、システムの状態を
調べ、インストールされたプリンタ資源(フォント等)
を取得し、プリンタに依存したページ記述を出力する。
パーソナリティは、入出力、プリンタエンジン、制御パ
ネル、その他いかなるプリンタのハードウェアがどのよ
うに動くかについても明確な情報を持たない。明確に定
義されたインターフェースおよび層状設計が用いられる
ので、ホストファームウェアは、パーソナリティのコマ
ンド言語について一切情報を持たず、パーソナリティ
も、プリントプラットフォームの詳細な動作については
限られた情報しか有していない。
【0016】図3は、複数のパーソナリティ42
(1)、42(2)、・・・42(n)を有するイメー
ジング・サブシステム40の一部を示す。各パーソナリ
ティは、製造中にプリンタのファームウェアに組み込む
ことも、プリンタの販売後にプリンタのシステムに付け
加えることもできる。イメージング・サブシステム40
はまた、共通の表示リストパイプライン44を有してお
り、この表示リストパイプライン44は、すべてのパー
ソナリティが用いることができる。パーソナリティ42
(1)〜42(n)は全て、初期化中にイメージング・
サブシステムに登録される。その一方で、イメージング
・サブシステム40は、統合表示リストパイプライン4
4へのアクセスを許可する。
【0017】プリント中、入力データ・ストリームを解
釈するのに、ある特定のパーソナリティが選択または選
択解除される。それぞれのプリントジョブは、インスト
ールされたパーソナリティのうちの1つに向けられる。
選択されたパーソナリティは、表示リスト内のオブジェ
クトに従って入力データ・ストリームを処理し、プリン
トエンジンがページ上にドットを付着させるのに用いる
低水準のプリンタ・データを作り出す。選択されたパー
ソナリティは、ジョブの終わりの境界が検出されるまで
選択されたままであり、検出されると、パーソナリティ
は制御をシステム・コードへ譲り渡す。
【0018】それぞれのパーソナリティは、ページを構
成するのに用いられる1組のオブジェクトを画定する。
図4は、1つのパーソナリティについてのオブジェクト
・テーブル50を示す。オブジェクト・テーブル50
は、「n」個のオブジェクト52(1)、・・・52
(n)のリストを含んでおり、それぞれのオブジェクト
には、ページ上のある特定の項目または形状をどのよう
に描くかについての命令が含まれている。一般的なオブ
ジェクトのタイプとしては、テキスト、罫線(すなわ
ち、矩形)、ベクトル、多角形、およびラスタが含まれ
る。
【0019】オブジェクト・テーブル50はまた、2つ
のルーチン、すなわちプロローグ54およびエピローグ
56を含む。この2つのルーチンは、新しいレンダリン
グコードをセットアップ及び解除するのに用いられる。
こういったルーチンによって記述されるオブジェクト
は、ページ上にマークを配置する必要がない、単なる状
態制御オブジェクトである。オブジェクト・テーブル5
0は、プロローグルーチンおよびエピローグルーチンへ
の関数ポインタによって整理され、その後にオブジェク
トのエントリのリストが続く。
【0020】テーブル50内のそれぞれのオブジェクト
は、構造58を有する。この構造には、それぞれのオブ
ジェクトについてサポートされるあらゆるメソッドが含
まれている。このメソッドが表示リストのエントリによ
って使用されているメモリの語数を返す場合には、それ
はシステムパーサーへ渡される。パーサーはある「モー
ド」に設定されており、表示リストを横切るときに適切
なメソッドを呼び出すことができる。そのメソッドが使
用されているメモリ量を返さない場合には、そのメソッ
ドは構造内にまだ含まれているかも知れないが、パーサ
ーには使用可能にならない。典型的なメソッドとして、
次式のようなものがある。 Render(void *state, void *inter)
【0021】Renderルーチン60は、「state」ポイン
タと「inter」のポインタという、ポインタの形式の2
つのパラメータを有する。stateポインタは、描画ツー
ルを指すものであり、interパラメータは、レンダリン
グされるオブジェクトを記述した情報(例えば、表示リ
ストのエントリのポインタ)を指す。描画ツールは、オ
ブジェクトのメソッドが現在のその動作環境について問
い合わせを行い、理解できるようにするために必要なあ
りとあらゆる情報を格納する場所である。描画ツール
は、活動状態のメモリに関する、およびオブジェクトを
どのように処理するかを決定する現在の設定に関する情
報を含む。Renderルーチンは、ストリップメモリのフォ
ーマット、そのヘッダおよび状態を理解する。該ルーチ
ンは、オブジェクトを読み出すのに消費されたメモリの
語数を返し、表示リストに対するポインタが更新されて
次の有効なオブジェクトを見つけることができるように
する。
【0022】オブジェクト構造58は、Destructorルー
チン62を有しており、これを用いて、既に表示リスト
内にあるデータ以外でそのオブジェクトに割り当てられ
たいかなるプリンタ資源をも再び要求する。Destructor
ルーチン62は、以下のように、「inter」のポインタ
と値「when」の2つのパラメータを有する。 Destructor(void *inter, when)
【0023】「inter」のポインタは、表示リストのエ
ントリのポインタ等、オブジェクトを記述する情報に対
するものであり、値「when」は、プリンタ資源がシステ
ムに開放される時間を表す。このルーチンはまた、オブ
ジェクトを読み出すのに消費されたメモリの語数を返
し、表示リストに対するポインタが更新されて次の有効
なオブジェクトを見つけることができるようにする。
【0024】データ構造58はまた、オブジェクトをサ
ポートするのに用いてもよい他の可能なメソッド64
(1)、・・・64(N)も示す。
【0025】図5は、パーソナリティが、初期化中にそ
れ自身のオブジェクト・テーブル50をイメージング・
サブシステムに登録する処理を示す。概略的に参照番号
42で参照するパーソナリティは、登録ルーチンを呼び
出し、テーブル50をイメージング・サブシステム70
に登録する。該登録ルーチンは、パーソナリティ42が
用いる固有の一連のオプコード番号を割り当てる。
【0026】イメージング・サブシステム70は、表示
リスト構築ツール72へのアクセスを提供する。表示リ
スト構築ツール72は、パーソナリティ42が共通の表
示リストパイプライン用の表示リストエントリを構成す
るのを助ける。特に、イメージング・サブシステム70
は、ポインタを3つのルーチンに返し、それによって、
そのパーソナリティは、それ自身のオブジェクトに関す
る情報を表示リスト、および最初のオブジェクトについ
て用いられる最初のオプコードに入れることができる。
【0027】パーソナリティ42は表示リスト構築ツー
ル72を用いて表示リストに対するエントリを構築す
る。一般的に構築処理とは、一つのページについてのス
トリップ情報を検索すること、および、オブジェクトが
そのページ上の適切な位置にプリントされるように、そ
のオブジェクトが接触する各ストリップについて内容を
表示リストエントリに入れることを黙示している。
【0028】所与のオブジェクトについて表示リストエ
ントリを構築するために、パーソナリティは、最初にGe
tStripParametersルーチン74を呼び出す。この機能に
よって、パーソナリティは、プリントエンジンが用いる
宛先ストリップの物理的寸法を記述するすべての重要な
パラメータをイメージング・サブシステム70に照会す
ることができる。このルーチンは、以下のように呼び出
される。 GetStripParameters(yTop, nBot)
【0029】パーソナリティは、1つのページ上に配置
されるオブジェクトの縦方向の範囲を記述する2つのパ
ラメータ(すなわち、yTop, yBot)を渡す。ルーチン7
4は、パーソナリティがオブジェクトを分割してそれぞ
れのストリップについて適切な部分を正しい表示リスト
内に配置することができるようにするための情報を返
す。この返り値は、ストリップの高さ、ストリップの
幅、および、そのオブジェクトがどれだけのストリップ
と接触しているかをそのオブジェクトが接触している最
上ストリップおよび最下ストリップによって表したもの
を含む。また、最上ストリップのyTopの値を返すように
してもよい。オブジェクトが完全に埋まれば、すべての
返り値はゼロである。
【0030】次に、パーソナリティは、yTopを含む
ストリップに始まり、yBotを含むストリップまで、
それぞれのストリップについて連続してGetDisplayList
ルーチン76を呼び出して、影響を受けるストリップに
対して表示リストメモリを割り当て、PutToDisplayList
ルーチン78を呼び出して、オブジェクトを記述するた
めの情報のメモリのイメージを構築する。GetDisplayLi
stルーチン76は、以下のように呼び出される。 GetDisplayList(opcode, size, stripindex)
【0031】このルーチンは、ストリップインデックス
番号で識別されるストリップに対する割り当てに必要な
大きさを(バイト数で)指定する。オブジェクトを保持
するのに十分なスペースがない場合には、より多いメモ
リが割り当てられる。このルーチンはまた、適切なレン
ダリングのためのいかなる状態情報も更新する。
【0032】次に、パーソナリティは、以下のようにPu
tToDisplayListルーチン78を呼び出す。 PutToDisplayList(*dle, opcode, size, stripindex)
【0033】このルーチンは、「size」バイトのメモリ
(これはポインタ「dle」(すなわち表示リストエント
リ)によって参照されるデータの内容を保持するのに用
いられる)が、「stripindex」で識別されるストリップ
に関連する表示リスト内にうまく配置されるようにする
役目を持つ。オブジェクトをリスト内に配置する前に、
呼出しが行われて、問題のストリップに関連する表示リ
ストの状態が、そのページの現在の状態に更新される。
オブジェクトが表示リスト内にうまく配置された後、そ
のオブジェクトについて登録された複雑さ検査ルーチン
の呼出が行われる。該複雑さ検査ルーチンは、オプコー
ドを用いてオブジェクト・テーブルに索引を付け、そこ
で見つけられるメソッドを呼び出す。
【0034】FirstOpcodeの値80は、イメージング・
サブシステム70からパーソナリティ42に返される値
である。FirstOpcodeの値80は、登録ルーチンによっ
て返される一連のオプコードにおける開始オプコードで
ある。パーソナリティ42は、このFirstOpcodeの値
を、将来の構文解析用のオプコード全ての基準値として
いる。
【0035】表示リスト構築ツール72を用いて、パー
ソナリティ42は表示リストについてエントリを構築す
る。それぞれのエントリは、多くの語を含むことができ
る。しかし、それぞれのエントリの最初の語は、前もっ
て定義された32ビットの語である。
【0036】図6は、すべての表示リストエントリの最
初の語82を示す。これは、オブジェクト・データ84
が利用可能な24ビットのセグメント82、およびオプ
コード値86を含む8ビットのセグメント86を含む。
【0037】図7は、プリンタ20内の処理装置として
実施されるイメージング・サブシステム70を示す。こ
の実施において、イメージング・サブシステム70は、
プロセッサ90、揮発性メモリ92(すなわち、RA
M)、および不揮発性メモリ94(例えば、ROM、フ
ラッシュメモリ)を有する。
【0038】プログラム・メモリ94内には複数のパー
ソナリティ42が記憶されている。こういったパーソナ
リティは、製造中に搭載することも、その後に搭載する
こともできる。プログラム・メモリ94には、登録ルー
チン96および表示リスト構築(DLB)ツール72も
また記憶されている。実行中、選択されたパーソナリテ
ィ42が、プロセッサ90上での実行のために揮発性メ
モリ92にロードされる。実行中のパーソナリティ42
は、登録されたルーチン96およびDLBツール72を
呼び出して、対応するストリップについて表示リスト9
8を構成する。表示リスト98は、揮発性メモリ92に
ある。
【0039】イメージング・サブシステム70は、表示
リスト98を用いて入力データ・ストリームを処理し、
結果として生じる画素データを、ストリップメモリバッ
ファ100内に配置する。図7に関して説明する実施
は、イメージング・サブシステムの可能な実施の1つを
説明するために提供されるものである。イメージング・
サブシステムは、ASIC(特定用途向け集積回路)チ
ップ等を用いた専用ハードウェア/ファームウェア部品
などによって、他の様々な方法で実施することができる
ということに留意されたい。
【0040】図8は、ホストからのデータの入りストリ
ームから作り出される表示リストエントリを処理する、
レンダリング処理を示す。図8のステップ110におい
て、イメージング・サブシステムは、解析ルーチンを呼
び出して、データ・ストリームを解析する。パーサー
は、オブジェクト構造によって提供される異なるオブジ
ェクト・モード(すなわち、Render, Destructor等)を
理解する。パーサーは、異なるモードのそれぞれについ
て、図8の各ステップを行う。
【0041】図8のステップ112において、パーサー
は、標準のパーソナリティが選択されるかカスタムのパ
ーソナリティが選択されるかを決定する。標準のパーソ
ナリティが選択される場合には、パーサーは標準のパー
ソナリティおよびそのオブジェクト・テーブルを呼び出
す(ステップ114)。標準のパーソナリティは、1組
の標準のRender, Destructor等を呼び出す。一方、カス
タムのパーソナリティが選択される場合には、パーサー
はカスタムのパーソナリティおよびそのオブジェクト・
テーブルを呼び出し、特別な1組のRender, Destructor
等を呼び出す(図8のステップ116)。
【0042】選択されたパーソナリティの各ルーチン
は、表示リスト構築ツールを用いて以前に作り出された
統合表示リスト内に含まれる、表示リスト情報にアクセ
スする(図8のステップ118)。各ルーチンは、表示
リスト情報を利用して画素データを作り出し、画素デー
タは、ストリップメモリバッファに送られて、そこに記
憶される(図8のステップ120)。データは次に、バ
ッファから、プリント媒体上にドットを付着させるプリ
ントエンジンに読み出される。
【0043】図9は、図8の処理のレンダリングモード
の期間中における各機能要素の相互作用を示す。選択さ
れたパーソナリティのオブジェクト・テーブル130
は、それぞれのオブジェクト・テーブルのエントリのデ
ータ構造において識別されるレンダリングルーチン13
2を呼び出す。レンダリングルーチン132は、統合表
示リストデータ構造134にアクセスして表示リスト情
報を検索し、描画ツール136を呼び出して画素データ
を構成する。レンダリングルーチン132は、プリント
エンジンへの出力用に、画素データをストリップメモリ
138に出力する。
【0044】本発明を、構造的および組織的特徴につい
て多かれ少なかれ特定の言語で説明してきた。しかし、
本明細書に開示された方法は、本発明を実施する好適な
形態を含むものであるので、本発明は説明した特定の特
徴に限定されるものではないということを理解された
い。従って、本発明は、また、均等論に従って適切に解
釈される、添付の特許請求の範囲の適切な範囲内の形態
または変形のどれにおいても保護されるべきものであ
る。
【0045】〔実施態様〕なお、本発明の実施態様の例
を以下に示す。
【0046】〔実施態様1〕特定の言語の入力データ
を、視覚表示を形成するのに利用される低水準のデータ
・ストリームに変換するように夫々構成された、複数の
パーソナリティ(42)と、前記複数のパーソナリティ
(42)に論理的に接続された統合表示リストパイプラ
イン(44)とを備えたイメージング・サブシステムで
あって、前記パーソナリティのそれぞれが、前記統合表
示リストパイプライン(44)を利用して、前記低水準
のデータ・ストリームを作成するのに使用することがで
きる表示リストを構築することを特徴とするイメージン
グ・サブシステム。
【0047】〔実施態様2〕前記パーソナリティが前記
表示リストを構成するのを援助するために、前記パーソ
ナリティ(42)にアクセスすることができる、表示リ
スト構築ツール(72)をさらに含むことを特徴とす
る、実施態様1に記載のイメージング・サブシステム。
【0048】〔実施態様3〕前記表示リストが1つまた
は複数のエントリを含み、各エントリが、オプコード値
セグメントを含む所定のビット構造を有する最初の語
(82)を有し、前記オプコード値セグメントが、前記
表示リストエントリと関連する最初のオプコードを識別
することを特徴とする、実施態様1または実施態様2に
記載のイメージング・サブシステム。
【0049】〔実施態様4〕実施態様1乃至実施態様3
のいずれか一項に記載のイメージング・サブシステム
(40)を含むプリンタ(30)。
【0050】〔実施態様5〕複数のソフトウェアパーソ
ナリティ(42)を実行することができるイメージング
処理装置を有するプリンタにおいて、前記イメージング
処理装置(70)が、統合表示リストパイプライン(4
4)と、前記パーソナリティの夫々によって呼び出され
て、前記パーソナリティが前記統合表示リストパイプラ
インにおいて取り扱われる表示リストを構築するのを支
援することができる、表示リスト構築ツール(72)と
を有することを特徴とするプリンタ。
【0051】〔実施態様6〕1つのページについてのス
トリップ情報を取得する手段と、前記パーソナリティに
よって規定されるオブジェクトに従って前記表示リスト
内に内容を入れる手段とを含むことを特徴とする、実施
態様5に記載の表示リスト構築ツール。
【0052】〔実施態様7〕実施態様5または実施態様
6に記載の表示リスト構築ツール(72)を含むイメー
ジング処理装置(70)。
【0053】〔実施態様8〕実施態様5または実施態様
6に記載の表示リスト構築ツール(72)を組み込んだ
プリンタ(30)。
【0054】〔実施態様9〕複数のソフトウェアのプリ
ンタパーソナリティをサポートするイメージング・サブ
システムを有するプリンタにおいて、パーソナリティ
(42)を前記イメージング・サブシステム(70)に
登録するステップと、表示リスト構築ツール(72)へ
のアクセスを受け取るステップと、前記表示リスト構築
ツール(72)を用いて、以下の段階に従って1つまた
は複数の表示リストを構築するステップを設けて成る方
法: (a)1つのページにおいて1つまたは複数のストリッ
プのパラメータを取得するステップ; (b)それぞれのストリップについて、表示リストメモ
リ内にスペースを割り当て、前記表示リストメモリにお
ける前記割り当てられたスペース内に合うのに十分な大
きさの、前記それぞれのストリップ内で表されるオブジ
ェクトを記述する、メモリイメージを構築するステッ
プ。
【0055】〔実施態様10〕実施態様9に記載の方法
における前記各ステップの結果として、前記表示リスト
のメモリ内に作り出され記憶される表示リスト。
【0056】
【発明の効果】以上詳細に説明したように、本発明によ
れば、複数のプリンタパーソナリティを搭載したプリン
タにおいて、夫々のパーソナリティ毎に別個にその表示
リストの処理のためのパイプラインを設けることなく、
共通のパイプラインを1つ設けるだけでよいので、余分
なメモリ容量を必要とせず、低コストで実現することが
できる。
【図面の簡単な説明】
【図1】データをプリントするために1つのページを複
数のストリップに分割する従来技術を示す図である。
【図2】プリンタの側面図である。
【図3】イメージング・サブシステムの機能を表す図で
ある。
【図4】パーソナリティによって画定されるオブジェク
ト・テーブルを示す図である。
【図5】パーソナリティを登録する一方で表示リスト構
築ツールへのアクセスを受け取る処理機能を表す図であ
る。
【図6】各表示リストのテーブルのエントリにおける最
初の語についてのデータ構造を表す図である。
【図7】データ処理装置において実施されるイメージン
グ・サブシステムのブロック図である。
【図8】プリントするためにデータを処理する方法にお
ける各ステップを示す流れ図である。
【図9】図8の方法の各ステップ中の機能要素間の相互
作用を表す機能図である。
【符号の説明】
30:レーザ・プリンタ 40:イメージング・サブシステム 42:パーソナリティ 44:統合表示リストパイプライン 70:イメージング・サブシステム 72:表示リスト構築ツール

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】特定の言語の入力データを、視覚表示を形
    成するのに利用される低水準のデータ・ストリームに変
    換するように夫々構成された、複数のパーソナリティ
    と、 前記複数のパーソナリティに論理的に接続された統合表
    示リストパイプラインとを備えたイメージング・サブシ
    ステムであって、 前記パーソナリティのそれぞれが、前記統合表示リスト
    パイプラインを利用して、前記低水準のデータ・ストリ
    ームを作成するのに使用することができる表示リストを
    構築することを特徴とするイメージング・サブシステ
    ム。
JP10592398A 1997-04-21 1998-04-16 イメージング・サブシステム Withdrawn JPH10301733A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/837,624 US6097496A (en) 1997-04-21 1997-04-21 Integrated display list and building tool for multiple personalities
US837,624 1997-04-21

Publications (2)

Publication Number Publication Date
JPH10301733A true JPH10301733A (ja) 1998-11-13
JPH10301733A5 JPH10301733A5 (ja) 2005-09-22

Family

ID=25274989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10592398A Withdrawn JPH10301733A (ja) 1997-04-21 1998-04-16 イメージング・サブシステム

Country Status (4)

Country Link
US (1) US6097496A (ja)
EP (1) EP0874305B1 (ja)
JP (1) JPH10301733A (ja)
DE (1) DE69728132T2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7256901B2 (en) * 2002-10-10 2007-08-14 Sharp Laboratories Of America, Inc. Printer driver customization using incremental custom print processor
US8045215B2 (en) * 2002-10-18 2011-10-25 Hewlett-Packard Development Company, L.P. Printer object list resolutions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075874A (en) * 1989-04-10 1991-12-24 Eastman Kodak Company Communications interface for computer output printer
US5293466A (en) * 1990-08-03 1994-03-08 Qms, Inc. Method and apparatus for selecting interpreter for printer command language based upon sample of print job transmitted to printer
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe
US5509115A (en) * 1990-08-08 1996-04-16 Peerless Systems Corporation Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device
US5165014A (en) * 1990-09-12 1992-11-17 Hewlett-Packard Company Method and system for matching the software command language of a computer with the printer language of a printer
US5353388A (en) * 1991-10-17 1994-10-04 Ricoh Company, Ltd. System and method for document processing
JP2839119B2 (ja) * 1992-05-18 1998-12-16 キヤノン株式会社 文字処理装置及び方法
JP2860204B2 (ja) * 1992-05-18 1999-02-24 キヤノン株式会社 出力装置及び当該装置における解釈プログラムの選択方法
US5475801A (en) * 1992-06-12 1995-12-12 Xerox Corporation System for controlling the printing of electronic documents with various page description languages and other parameters
US5226112A (en) * 1992-06-12 1993-07-06 Xerox Corporation Method for translating a plurality of printer page description languages
US5469533A (en) * 1992-07-10 1995-11-21 Microsoft Corporation Resource-oriented printer system and method of operation
EP0585523B1 (en) * 1992-09-03 1998-12-09 Hewlett-Packard Company Automatic language boundary identification for a peripheral unit that supports multiple control languages
US5604843A (en) * 1992-12-23 1997-02-18 Microsoft Corporation Method and system for interfacing with a computer output device
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
US5572631A (en) * 1994-05-13 1996-11-05 Hewlett-Packard Company Common font rasterizer available to multiple printer personalities
US5600768A (en) * 1995-06-06 1997-02-04 Apple Computer, Inc. Image generation with dynamically consolidated list of image data
US5828817A (en) * 1995-06-29 1998-10-27 Digital Equipment Corporation Neural network recognizer for PDLs
US5796411A (en) * 1995-07-10 1998-08-18 Moore Business Forms, Inc. High resolution real time raster image processing system and method
US5706410A (en) * 1995-09-25 1998-01-06 Hewlett-Packard Company Printing system having control language command and raster pixel image data processing capability
US5715379A (en) * 1995-10-30 1998-02-03 Xerox Corporation Architecture for a digital printer with multiple independent decomposers

Also Published As

Publication number Publication date
EP0874305A3 (en) 2000-10-04
DE69728132T2 (de) 2004-08-26
EP0874305B1 (en) 2004-03-17
DE69728132D1 (de) 2004-04-22
EP0874305A2 (en) 1998-10-28
US6097496A (en) 2000-08-01

Similar Documents

Publication Publication Date Title
US6111654A (en) Method and apparatus for replacing or modifying a postscript built-in font in a printer
US6661526B1 (en) Printer drivers using filters that are operating system-independent and printer-independent
US6426798B1 (en) Data structure for printer description file
EP0618529A1 (en) Printing system with file specification parsing capability
JP5238526B2 (ja) 印刷リソース管理のためのシステム及び方法
US7064849B1 (en) Data processing apparatus adaptable to plural environments and data processing method
CN101395569A (zh) 用于改变信息处理设备中的打印机驱动程序的方法
JPH0683827A (ja) 文書プレゼンテーション制御方法及び装置
US8196148B2 (en) Notification of changed parameters in a printing system
JP2003044472A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、記憶媒体、及び制御プログラム
JP2003058528A (ja) 文字処理装置および文字処理方法およびプログラム
US6690478B1 (en) Method and apparatus for utilizing multiple versions of a page descriptor language
JP2014119998A (ja) 出力処理システム及び出力処理方法
US20070115488A1 (en) Methods and systems for multiple encodings within a code page
JPH10301733A (ja) イメージング・サブシステム
US7443519B1 (en) Printer system flexibly compatible with plurality of printer control languages (PCL) using intermediate and raster codes
US6684789B2 (en) Method and system for the transformation of digital print data streams and corresponding printer and printer server
US6801330B1 (en) Selecting a page description language for a printer driver
US7589861B2 (en) Image forming apparatus and printing system
US20050012952A1 (en) Printing system supporting customer emulation and method thereof
JP2001117735A (ja) 印刷制御装置およびそのプログラム記録媒体
KR100657307B1 (ko) 에뮬레이터 코드를 구비한 인쇄데이터 처리방법 및 장치
JP5409559B2 (ja) 画像形成装置および画像形成プログラム
KR0155258B1 (ko) 페이지 프린터의 버퍼 메모리 릴리즈 방법
Encodings et al. LaserWriter 8 Spooling and Fonts

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041015

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050418

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070215