JP3252329B2 - ページ映像描写装置 - Google Patents

ページ映像描写装置

Info

Publication number
JP3252329B2
JP3252329B2 JP22238491A JP22238491A JP3252329B2 JP 3252329 B2 JP3252329 B2 JP 3252329B2 JP 22238491 A JP22238491 A JP 22238491A JP 22238491 A JP22238491 A JP 22238491A JP 3252329 B2 JP3252329 B2 JP 3252329B2
Authority
JP
Japan
Prior art keywords
order
page
graphic
bitmap
output
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.)
Expired - Lifetime
Application number
JP22238491A
Other languages
English (en)
Other versions
JPH06119131A (ja
Inventor
スティーブン・アール・バターフィールド
ドナルド・イー・フィリップス
バーバラ・ビイ・レンショウ
スティーブン・ケイ・ネルソン
ロバート・エフ・ホスリー
Original Assignee
ザ・ピアレス・グループ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ザ・ピアレス・グループ filed Critical ザ・ピアレス・グループ
Publication of JPH06119131A publication Critical patent/JPH06119131A/ja
Application granted granted Critical
Publication of JP3252329B2 publication Critical patent/JP3252329B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、最少のランダムアクセ
スメモリを用いて、レーザプリンタのような連続同期ラ
スタ映像出力装置のために複雑な高解像度のページ映像
を発生できるようにして映像描写を行うために用いられ
る装置および方法に関するものである。
【0002】
【従来の技術】連続同期ラスタ映像出力装置は、固定さ
れた時間中に出力データを供することを要する。固定さ
れた時間内にデータが供給されないとすると、出力ペー
ジ映像が損なわれる。本発明の方法と装置は基本的な図
形関数を、実時間処理のために適当なコンパクトなオー
ダー列すなわち指令列に分解する。これとは対照的に、
性能が限られて、図形処理機能を持たないプリンタを除
き、従来の連続同期ラスタ映像出力装置は、出力ページ
映像が出力装置へ送られる前にページ全体がメモリ内に
構成されることを要する。
【0003】本発明の技術は、描写される映像が本発明
以外の技術では必要とするものよりはるかに少ないメモ
リで、かつ、出力装置により要求される速さで処理し、
出力装置へ供給できるようなフォームでページの図形内
容を定める。これを行うために、図形関数を実時間でビ
ットマップされた映像へ変換できることを保証するため
に、ここではオーダーと呼ぶ低レベルの原始として図形
関数は表される。また、オーダーすなわち指令の量は、
オーダーにより用いられるメモリを最少にするために冗
長図形関数すなわち重なり合う図形関数をなくすことに
より、減少させられる。
【0004】本発明は、1度にページ映像の小さい部分
に対して動作する実時間出力プロセッサを用いる。その
部分はバンドと呼ばれる。バンドは所定数の走査線より
成る。各走査線は、出力装置により求められる速さで出
力装置へ供給すべき一連の画素である。
【0005】第1のバンドを構成した後で、第1のバン
ドがプリンされている間に第2のバンドが構成され
る。従来の技術を用い、出力装置へ送られるプリントす
べき映像のビットマップを発生するために用いられるプ
ロセッサの現在の速さが与えられると、プリントが第1
のバンドのプリントを終わる前に第2のバンドに対する
ビットマップの形成を終わることは可能でない。すなわ
ち、連続同期ラスタ映像プリンタは、ページが確実に正
しくプリントされるように、固定された速さでプリント
するから、従来の技術では、映像のいかなる部分もプリ
ンタへ送られる前に、プリンすべき全ページのビット
マップ映像を構成する必要があった。
【0006】完全なページよりは小さいビットマップ映
像を発生するための技術を用い、ページの別の部分に対
するビットマップ映像が形成されている間にその部分だ
けをプリンタへ送ることにより、本発明はメモリの使用
量を減少させることによってコストを大幅に低減できる
ことになる。更に、完全なページを構成するために十分
なメモリが存在するとしても、本発明のバンド区分技術
を用いることによって、1つのバンド内の第1のページ
がプリントされている間に1つのバンド内の第2のペー
ジを構成できるから、プリンタのスループットが向上す
る。
【0007】ページ映像中の画素を取り出すアプリケー
ションが発生した指令の実行を延期することにより、本
発明はそれの目標を達成する。それらの指令は、ビット
マップへ直接変換されるのではなくて、図形オーダーへ
変換される。図形オーダーの必要なメモリ量は対応する
ビットマップのそれよりもはるかに少ないが、プリンタ
に歩調を合わせるのに十分速い速さでプリンタへ送るた
めのビットマップへ変換できる。
【0008】単一の図形指令は2つ以上のバンドに影響
を及ぼすことができるから、オーダーは何回も処理でき
る。これに関連して、メモリ内で表構造として表される
オーダー指令ブロックは、与えられたバンドに対して必
要とされる図形指令の選択を許す情報を含む。
【0009】更に詳しくいえば、本発明による映像描出
はオーダー構成過程と、映像を描く2つの過程とを用い
る。オーダーを構成する過程は延期された実行のための
オーダーを構成するために用いられる。ページ映像以外
のメモリ内の画素取り出しのためのアプリケーション指
令の結果として、ユーザーメモリに記憶されているビッ
トマップとなり、記憶されているオーダーにはならな
い。その理由は、それらの指令は直ちに処理されるから
である。後で直接ビットにより発生されたビットマップ
は、ページ映像中に組み込むためのソースビットマップ
としてPDLインタープリンターによって使用できる。
【0010】取り出すべきページの各バンドに対する指
令のサブセットを選択するために、映像取り出し過程に
より使用すべき「バンド」数を含むことができるコンパ
クトな指令ブロックへオーダー命令過程を縮小する引数
を各図形呼び出しが供給するように、オーダー命令過程
への入力が図形サブシステムインターフェイスを介して
供給される。
【0011】オーダー構成過程は、多数の入力を1つの
命令ブロックに組み合わせて、指令ブロックの数と、指
令ブロックを含むために求められるメモリの数とを減少
することにより、冗長オーダーをなくすことを意図する
ものである。
【0012】第1の(直接の)映像取り出し過程は、ペ
ージ映像中のオブジェクトを取り出すオーダーの発生と
並列に信号する。この過程で取り出されたオーダーは第
2の取り出し過程のためのデータソースとして使用する
ために上記ユーザーメモリに記憶されるが、それらのた
めのオーダー指令ブロックは再使用のために解放され
る。
【0013】ページ映像のための全てのオーダーが発生
された時に第2の(延期された)映像取り出し過程がス
タートする。この過程はオーダー指令を、作用を受ける
各映像バンドに対して1回ずつ、多数回処理する。現在
のバンドに作用しないオーダーはスキップされる。
【0014】オーダー指令により作用させられる第1の
バンドは指令に含まれているバンド番号により識別され
る。オーダー指令が処理されると、オーダー指令が多数
のバンドに作用を及ぼすのであれば、バンド番号が次の
バンドへ更新させられる。
【0015】
【実施例】本発明はページ映像の描写と、連続同期ラス
タ映像出力装置のプリンタへの映像の供給とを取り扱
う。図1を参照して、アプリケーションサービスインタ
ーフェイスを介するユーザーからの命令に従ってアプリ
ケーション11は、アドーブ・コーポレージョン(Ad
obe Corporation)から入手できるPo
stscript(商標)のようなページ記述言語(P
DL)13でプリントすべき映像の表現を発生する。P
DLはビットマップと、半階調の映像と、ポイントのサ
イズ・向き・陰影および傾きを含むキャラクタフォント
の全ての属性とを完全かつ精密に制御することを許す指
令を定める。映像を表わすPDL命令を発生するアプリ
ケーションサービスインターフェイスは、基礎を成すハ
ードウェアサポートとソフトウェアサポートのいずれと
も無関係である。たとえば、ビットマップ映像座標x
1,y1に対応する点Aから、ビットマップ映像座標x
2,y2に対応する点Bまで線を引くことをユーザーが
アプリケーションプログラムに命令すると仮定する。そ
の命令は下記のような一連のPostscript(商
標)命令(ページ命令と線セットアップ命令を除く)を
発生する。 newpath x1 y1 moveto x2 y2 lineto stroke 本発明に従う特殊なハードウェアとバンド区分がない最
も簡単な場合には、PDL命令は、実際には、ページ映
像を生ずる出力制御器15中のPDLインタープリータ
に対する命令である。PDLインタープリータはPDL
命令を解釈し、図形オブジェクトとキャラクタビットマ
ップを命令されたように発生する。ほんの少数のPDL
命令の結果として線が引かれることになる。残りの命令
はページ映像中のオブジェクトの使用と位置ぎめを制御
する。
【0016】たとえば、上のPostscript命令
においては、newpathオペレータはPDLインタ
ープリータに、以後のオペレーションを制御するための
内部情報を初期化させる。movetoオペレータは座
標系内の最初の位置を設定する。linetoオペレー
タは新しい位置を設定する。最初の位置と新しい位置の
間に表現されない、すなわち「インキが付着されない」
線が引かれる。インタープリータがストロークオペレー
タを処理すると、ページ映像メモリ内に線を引く基礎を
成す画素描写ルーチンへ供給する1つまたは複数の図形
指令を生ずる。
【0017】この場合には、図形呼び出しが出力制御器
により同期して取り扱われる。すなわち、特定の図形呼
び出しが、プリントすべき映像の一部を発生する。その
映像部分はページバッファに記憶され、その後で制御は
PDLインタープリータへ戻される。解釈の過程と描写
の過程は、ページ終了オペレータが見出されるまで、同
じページ映像に対して続けられる。それからページ映像
メモリはハードウェアにより出力装置へコピーされる。
ハードウェアが前のページからの出力をDMAまたはそ
の他の手段を介して供給している間に、インタープリー
タが次のページに対する映像の発生を許すために十分な
メモリが存在するものとすると、出力コピー過程はイン
タープリータ機能と図形機能とは非同期的に動作でき
る。
【0018】出力制御器15は、図形サポートルーチン
を含む図形インターフェイスを利用する。それらの図形
サポートルーチンは出力装置19の座標系内で動作し、
出力装置の映像座標系の原点は、出力装置へ書き込まれ
た第1の画素に対応する。映像座標系のx軸は出力装置
の走査(ラスタ)線に平行である。したがって、左から
右への印刷においては、画素はx座標の昇順で出力され
るが、上から下への印刷においては走査線はy座標の降
順で出力される。
【0019】出力制御器のPDLインタープリータ部
は、ページ映像の幅と長さを与えることによりページ映
像のサイズを指定する。出力制御器のPDLインタープ
リータ部は、上余白パラメータおよび左余白パラメータ
を供給することにより、物理的ページ内への映像の配置
も指定する。それらのパラメータは画素で表される。
【0020】出力制御器15の図形インターフェイスは
下記のように2種類の呼び出しを形成する。 1)ページに関連する呼び出し、 2)ビット映像を描く呼び出し。 ページに関連する呼び出しは次のとおりである。 1)新しいページ−新しいページ映像に対する初期化を
行う。 2)終わりページ−出力装置がアイドル状態にあれば実
時間印刷を開始し、出力装置が使用中であれば映像オー
ダーを待つ。 3)ページ打ち切り−印刷段階がスタートしないとする
と、そのページに対するオーダーを投げ捨てる。 4)全てを打ち切る−印刷を待っている全てのページを
投げ捨てる。
【0021】下記のように6種類のビット映像描画呼び
出しがある。 1)2つのオペランドブリット−2つのビットマップ、
すなわち発信元と宛先の間の2次元ビットブロック転送
を行う。 2)3つのオペランドブリット−3つのビットマップ、
すなわち、発信元と、半階調と、宛先とを用いて2次元
ビットブロック転送を行う 3)走査線を引く−宛先ビットマップ内の走査線の隣接
する走査線ブロックに画素群を書く。 4)走査線半階調を描く−半階調発信元ビットマップ
と、書き込むべき画素群を定まるテーブルとに従って、
画素群を宛先ビットマップに書く。 5)画素を描く−画素テーブルに従って個々の画素を宛
先ビットマップ中に描く。 6)画素半階調を描く−半階調ビットマップと画素テー
ブルとの内容に従って、個々の画素を宛先ビットマップ
中に描く。
【0022】一般に、6つの各種類は少なくとも2つの
呼び出しを有する。1つの呼び出しは、図形サブシステ
ムインターフェイスが管理するページ映像ビットマップ
に書き込むためのものであり、他の呼び出しは、PDL
インタープリータが管理した宛先、典型的にはRAMユ
ーザーメモリである。
【0023】映像描画呼び出しに対するインターフェイ
一般に、ビットマップ映像描画呼び出しがユーザーと半
階調ビットマップ記述子を入力として予測する。ユーザ
ービットマップ記述子はビットマップ原点バイトアドレ
ス、すなわち、ビットマップの左上隅のメモリアドレス
と、画素中のビットマップ幅、すなわち、走査線当たり
の画素の数と、画素中のビットマップの高さ、すなわ
ち、走査線の数とを含む。ビットマップの幅と高さは任
意の画素値にできる。宛先ビットマップに対する指定さ
れたビットマップの幅と高さに対するクリップが起こ
る。発信元ビットマップのクリップは行われない。
【0024】ユーザービットマップの寸法は境界の制約
を持たないが、半階調ビットマップ幅が0 mod 3
2画素(32ビット語の倍数)であるように制約され
る。ビットマップの原点、幅および高さに加えて、半階
調ビットマップ記述子が更に3つのフィールドを有す
る。それらの付加フィールドのうちの2つは、宛先ビッ
トマップの原点に対応する半階調ビットマップ中の点を
指定するx,y原点パラメータである。第3の付加フィ
ールドは半階調ビットマップサイズをバイトで提供す
る。半階調ビットマップの使用はクリップの代わりに包
む。これは半階調ビットマップを出現させて、x方向寸
法とy方向寸法において宛先ビットマップにおいて反復
させる。
【0025】通常は、発信元ビットマップの内容は、以
後の呼び出しによるものを除き、出力制御器15により
行われる図形サポートルーチンへは変化しない。しか
し、図形サービス呼び出しにおいて発信元ビットマップ
を用いた後で、PDLインタープリータはそれらの内容
を直接変える必要がたまにある。図形サービスは要求と
同期して必ずしも行われない(すなわち、サービス要求
の戻りの前に終わらされる)から、直接の変更が出力制
御器によるそれの使用の前にビットマップの内容を変え
ることができる。その場合には、たとえば、出力制御器
15の図形インターフェイスへ「揮発性」フラッグを引
数として送るPDLインタープリータにより、ビットマ
ップを「揮発性」と宣言せねばならない。
【0026】この特徴は、メモリとプロセッサ時間を消
費するために、真に必要とする場合にだけ倹約して使用
せねばならない。それは求められているメモリのPDL
インタープリータの代わりをするものと意図するもので
はない。PDLインタープリータおよび出力制御器15
の他の部分が同期して動作する時には問題は起きない。
制御器がハードウェアの援助を含む時、または二重バッ
ファリングが実行される時に2つのプロセッサが行うよ
うに、それらのプロセッサが非同期で動作するものとす
ると、ビットマップを使用できる前はそれが変化しない
ように、出力制御器は「揮発性」ビットマップのコピー
を行わねばならない。呼び出し器、すなわち、PDLイ
ンタープリータはビットマップをそれの記述子において
揮発性としてフラッグできる。
【0027】図2は、PDL指令を入力し、PDL指令
を解釈し、図形指令すなわち図形オーダーを発生する制
御器15と、図形オーダーからプリントすべき映像のビ
ットマップを発生し、映像をプリンタへ出力するビット
マップ映像発生器17とによって実行される本発明に従
う機能を示す。
【0028】ここで、従来技術で実現される出力制御器
15と、ビットマップ映像発生器17との機能ブロック
図を図3を参照して説明する。とくに、出力制御器15
とビットマップ映像発生器17は、アプリケーション1
1により発生されたPDL命令13を基にしてPDLイ
ンタープリータ21により発生された図形呼び出しを受
ける図形インターフェイスサブシステム23を有する。
図形インターフェイスサブシステムは図形呼び出しを直
接プリットプロセッサ29へ送る。ユーザーメモリ24
は、図形呼べ出しへのソース引数として図形インターフ
ェイスサブシステム23へ送られるソースビットマップ
の一時的記憶装置としてPDLインタープリータ21に
より用いられるランダムアクセスメモリである。メモリ
マネージャー43は、図形インターフェイスサブシステ
ム23により要求されて、RAMメモリブロックを割り
当てたり、割り当てを解除したりする。ページ終わり命
令がPDLインタープリータにより呼び出されると、プ
リントすべき実際のビットマップ映像が、出力インター
フェイス47と、出力割り込みハンドラ49と、図形イ
ンターフェイスサブシステム23との動作によりプリン
タへ転送するために、ページバッファ42からDMAハ
ードウェアすなわちFIFOバッファ53へ転送され
る。
【0029】図3に示す素子が、プリンタへ送るのに適
当なラスタ出力を生ずるために動作する特定の態様は次
のとおりである。
【0030】PDLインタープリータ21は、ページと
ビット映像の描画に関連する呼び出しを用いて図形イン
ターフェイスサブシステム23を必要に応じて呼び出す
入来PDLソースステートメントを処理する。
【0031】新しいページをスタートさせるためにPD
Lインタープリータが図形インターフェイスサブシステ
ム23を呼び出すと、図形インターフェイスサブシステ
ムはメモリマネージャー43を呼び出してメモリをペー
ジ映像へ割り当てる。
【0032】それから、PDLインタープリータ21か
らの指令の誤り検査と、宛先のクリッピングを行うた
め、すなわち、ブリットがブリット指令引数において定
められる宛先の境界またはページ映像の範囲をこえて拡
張できないようにするために必要なパラメータの調節と
の後で、図形インターフェイスサブシステム23はPD
Lインタープリータ21からの各ブリット指令に対して
直接ブリットプロセッサ29を呼び出す。
【0033】PDLインタープリータ21がページの処
理を終わった時に、PDLインタープリータ21は図形
インターフェイスサブシステム23を呼び出す。それか
ら、その図形インターフェイスサブシステムは出力へ映
像を供給するために出力インターフェイス47を呼び出
す。
【0034】出力インターフェイスは、出力が進行中で
あるかどうかを調べ、もし進行中でなければプリンタハ
ードウェアをスタートさせて、第1のデータをDMAま
たはFIFO装置53へ供給する。
【0035】出力が進行中であると、現在の活動が終わ
った時に、出力インターフェイス47は新しい出力映像
をそれの内部待ち行列に置く。
【0036】割り込みハンドラ49は動作して、DMA
またはFIFO53へのデータの供給を続け、現在の映
像に対する出力が終わった時に、待ち行列にされている
映像をスタートさせる。ページ映像の出力が終わると、
割り込みハンドラ49は図形インターフェイスサブシス
テム23中の終了ルーチンを呼び出し、この終了をアナ
ウンスする。この時には図形インターフェイスサブシス
テム23はページ映像バッファ42をメモリマネージャ
ー43へ戻すことができ、または別のページのためにそ
れを再び使用する。
【0037】図4は、本発明に従って実施された時に、
出力制御器15の機能と、ビットマップ映像発生器17
の機能を示す機能ブロック図である。図4に示す素子に
ついて詳しく説明する前に、本発明に従って小さいバン
ドにおいて出力映像を描写するための技術と、従来技術
に従って全ページ映像バッファにおいて描写する技術と
の大きな違いを説明することが助けとなる。それらの違
いは次の通りである。
【0038】1.全ページバッファを用いる時は、図形
インターフェイスサブシステム23は、PDLインター
プリータが行うあらゆる画素取り出し呼び出しに対し
て、直接ブリットプロセッサを用いる。すなわち、図4
に示すオーダー構成31と、オーダー短縮33と、実時
間ブリットプロセッサ37と、記憶されている図形オー
ダー35は従来技術においては用いられない。 2.更に、従来の技術においては、出力インターフェイ
ス47と出力割り込みハンドラ49は、従来技術を用い
ては存在しない実時間ブリットプロセッサに処理を統合
する必要がなく、「拡張された割り込み処理スレッド」
と呼ぶことができるものの必要をなくす。
【0039】本発明のバンド区分技術は下記の要求を含
む。 1.直接ブリットプロセッサ29により直ちに実行でき
る図形要求と、実時間ブリットプロセッサ37による以
後の取り扱いのために、記憶されているオーダーへ変換
せねばならないものとを識別する性能。 2.記憶されているオーダーのフォーマットのデザイ
ン。 3.オーダー短縮機能。 4.多くのバンドにまたがるオーダーを効率的に再処理
できるようなやり方で再処理せねばならないものを終わ
らせる、またはマークするものをなくすために、記憶さ
れているオーダーを実時間ブリットプロセッサにより更
新する性能。
【0040】本発明の技術は、コプロセッサを用いて実
現される時に、ソフトウェアで実現できるが、ハードウ
ェアは直接ブリットプロセッサと実時間ブリットプロセ
ッサの代わりをする。更に、好適な実施例においては、
ハードウェアの実現は出力FIFOまたはDMA装置5
3を含む。実時間ブリットプロセッサのハードウェア実
現は、ソフトウェア実現により行われるオーダー更新と
同種のオーダー更新を行う。しかし、ハードウェアで実
現した方がソフトウェアで実現したものよりも高速で動
作するから、ハードウェア実現ははるかに複雑なページ
をまとめることができ、かつ、はるかに高速の出力装置
の動作に遅れないようにする。ハードウェア実現は、バ
ンドバッファ41a,41b,41cをアクセスするた
めに別々のハードウェアバスも採用できる。
【0041】しかし、ハードウェア実現においては、コ
ストが効果的なやり方で実現できる状態マシンによる処
理に適当なやり方でオーダー情報を表現せねばならない
から、記憶されるオーダーを構成するためにソフトウェ
アはいぜんとして通常用いられる。
【0042】以下に、図4に示されている本発明の装置
を構成する各機能素子について簡単に説明する。
【0043】図形インターフェイスサブシステム23 図形サービスのための1組の標準的なインターフェイス
ルーチンである図形インターフェイスサブシステム23
をPDLインタープリータ21が呼び出す。この図形イ
ンターフェイスサブシステムは、宛先がユーザーメモリ
24かバンドバッファ41であるか否かを基にして直接
ブリットを実行できるか否かを判定する。直接ブリット
を行うことができないとすると、図形インターフェイス
サブシステムはオーダー構成機能31を呼び出して、記
憶されるオーダー35を作成する。直接ブリットが行わ
れた後、またはオーダーが作成された後で、図形インタ
ーフェイスサブシステムはPDLインタープリータ21
へ戻る。
【0044】直接ブリットプロセッサ29 この機能は要求によりユーザーメモリ24内に画素を描
き、戻る。この機能は従来技術で知られており、画素を
描く指令がユーザーメモリ宛先に作用を及ぼす時に常に
実行される。
【0045】オーダー構成31 オーダー構成処理31はオーダー35を生ずる。それら
のオーダーは、実時間ブリットプロセッサ37により行
われる実時間ブリット処理中に後で用いるためにメモリ
に記憶される。以後のオーダーを既知のオーダーに組み
合わせることが可能であるようなある種のオーダーに対
しては、オーダーに従うためにオーダー短縮機能を呼び
出す。好適な実施例においては、少なくとも走査線ビッ
トオーダーが短縮される。他の種類のオーダーを本発明
に従って短縮できる。
【0046】オーダー短縮33 この機能は、1組のオーダーを包まなければならないオ
ーダー構成処理機能により知らされるまで、圧縮できる
オーダーの記録を保持する。それから、この機能はそれ
の内部情報を初期化して、次のセットについての情報の
収集を開始する。多くの小さい走査線ブリットオーダー
がページ映像の小さい領域に対して動作する場合にこの
機能は非常に重要である。その短縮は、場合によっては
ブリットが重なり合うためにメモリの量を大きく減少す
る。
【0047】記憶されているオーダー35 記憶されているオーダー35は、アプリケーションが要
求する映像を作成する指令の内部表現である。
【0048】実時間ブリットプロセッサ37 ページに対する全ての要求をPDLインタープリータが
終わったことを知らせるためにPDLインタープリータ
が呼び出しを行うと、図形インターフェイスサブシステ
ム23は実時間処理フェーズを開始する。図形インター
フェイスサブシステムは記憶されているオーダー35
を、出力すべき各バンドに対して1回横切る。バンドに
作用する全てのオーダーが処理されると、DMAまたは
FIFOバッファ出力ハードウェアを利用できるなら
ば、出力またはスタートのためにバンドを待ち行列にす
るために出力インターフェイス47を呼び出す。別のバ
ンドバッファ41a,41bまたは41cを利用できる
ものとすると、それは次のバンドを構成する。それ以上
のバッファを利用できないとすると、PDLインタープ
リータ21へ戻る図形インターフェイスサブシステム2
3へそれは戻る。PDLインタープリータは入力の解釈
と、次のページにおける動作とを続けることができる。
この点から、実時間ブリットプロセッサ37は出力ハー
ドウェア53により開始される割り込みにより駆動され
る。
【0049】実時間ブリットプロセッサ37は、バンド
バッファ41a,41bまたは41cに記憶される、プ
リントすべきページのバンドすなわち部分に対応するビ
ットマップ映像へ記憶されているオーダーを変換する。
【0050】とくに、バンドがプリンタへ供給された時
に、割り込みハンドラ49が出力ハードウェア53によ
り通知される。そうすると、実時間ブリットプロセッサ
37はそれの処理を続けるために「拡張された割り込み
スレッド」として呼ばれる。
【0051】バンドバッファ41a,41b,41c バンドバッファ41a,41b,41cは、ビッドマッ
プされたページ映像を保持するために用いられるランダ
ムアクセスメモリである。バンド区分が用いられない
と、完全なページを保持するために1つのバンドバッフ
ァが用いられる。他の場合には、完全なページよりはる
かに小さいサイズのバンドバッファが2つまたは3つあ
る。
【0052】メモリマネージャー43 メモリマネージャー43は、図形インターフェイスサブ
システム23と、オーダー構成31と、オーダー短縮3
3または実時間ブリットプロセッサ37からの呼び出し
に応じてメモリのブロックを割り当て、割り当てを解除
する。メモリマネージャー43は、記憶されているオー
ダーとバンドバッファを含んでいるメモリを、他のソフ
トウェアコンポーネントがメモリのブロックを獲得また
は放すことが必要な時に採用する必要がある周知のメモ
リ管理技術に従って管理するソフトウェア機能である。
プリントすべき実際のビットマップ映像はハンドバッフ
ァ41からDMAハードウェアまたはFIFOバッファ
53へ転送されて、出力インターフェイス47と、出力
割り込みハンドラ49と、実時間ブリット処理37と、
メモリマネージャー43との動作によりプリンタへ転送
する。これに関連して、図4には3つのバンドバッファ
が示されているが、実際には2つ、3つまたはより多く
のバンドバッファを設けることができる。もっとも、ほ
とんどの場合には2つまたは3つのバンドバッファで十
分である。
【0053】出力インターフェイス47 出力インターフェイス47は完成されたバンドを実時間
ブリットプロセッサから受け、それらのバンドを出力ハ
ードウェア53へ送り、または、出力ハードウェアがも
はや使用中でない時は、出力割り込みハンドラ49を出
力ハードウェアへ送るためにそれらのバンドを待ち行列
にする。出力割り込みハンドラ49の助けにより、出力
インターフェイス47はプリンタ装置からの同期信号を
モニタして、バンドを出力へいつ供給できるかを決定す
る。プリンタ装置は「フレーム同期」信号を送ってペー
ジの1番上を示す。「フレーム同期」信号が真になるま
で出力インターフェイスはデータを供給できない。
【0054】FIFOバッファが出力ハードウェアとし
て用いられると、ソフトウェアはデータをバンドバッフ
ァからFIFOへ、1度1本の走査線だけ、動かす。D
MA制御器を同様にして使用できる。黒を書く出力装置
へ0を供給することにより、または白を書く出力装置へ
1を供給することにより、上余白と左余白がとられる。
【0055】出力割り込みハンドラ49 プリンタ装置のビデオインターフェイスへのバンドの供
給を出力ハードウェアが終わると、その出力ハードウェ
アは割り込みを生ずる。出力割り込みハンドラは次のバ
ンドをそれの待ち行列から得て、それを出力ハードウェ
アへ送る。それから、出力割り込みハンドラは以前に終
わったバンドバッファを戻すから、実時間ブリットプロ
セッサはそれを再使用できる。
【0056】出力割り込みハンドラが戻ると、実時間ブ
リットプロセッサ37は、図形インターフェイスサブシ
ステムがPDLインタープリータへ戻る前に、別のバン
ドを描くまで再び動作する。この「拡張された割り込み
スレッド」は、種々のCPUのアーキテクチャに応じて
それらのCPUに対して異なったやり方で実現される。
「拡張された割り込みスレッド」は、CPUに割り込む
ことができるように、優先度の低いCPUの別々のスタ
ックで動作する。
【0057】出力ハードウェア53 本発明のバンド区分がソフトウェアで実現される時は、
プリンタ装置へのビデオ出力を取り扱うためにFIFO
またはDMA制御器が用いられる。バンド区分がハード
ウェアで行われる時は、FIFOまたはDMA制御器出
力ハードウェアを含むことができる。
【0058】好適な実施例においては、図4に示す機能
素子はハードウェアで実現されるが、1つまたは複数の
機能素子がソフトウェアで実現されるとすると、そのよ
うな各素子により実行される機能は、メモリ内の命令セ
ットを実行するマイクロプロセッサが、実行される機能
に適切な制御信号を発生するように、そのマイクロプロ
セッサの動作により実際に実行される。これに関連し
て、本発明の実施のために特定のハードウェア実現の詳
細は当業者にとっては不要であるのと全く同様に、本発
明をソフトウェアで実現するために必要なマイクロプロ
セッサと、メモリと、データと、アドレスバスと、クロ
ック等との詳細は、ここで行う説明を基にして当業者に
は明らかである。これに関連して、完全なソフトウェア
仕様を証拠1としてこの明細書に添付する。
【0059】好適な実施例においては、本発明を構成す
る図4の種々の素子は下記のようにして実現される。
【0060】図形インターフェイスサブシステム23 PDLインタープリータからの全てのサービス要求は図
形インターフェイスモジュールに入る。それらのサービ
ス要求は、新しいページ、終わりページ、ユーザー宛先
を有する全てのブリット、ページ映像宛先を有する全て
のブリットである。
【0061】新しいページ 新しいページは新しいページのための初期化を行う: 入力引数からのページ映像メモリ要求を決定 ページメモリに対してバンドバッファを割り当てるため
にメモリマネージャーを呼び出す もし、メモリマネージャーが求められているメモリを供
給できないとするとその時には、アプリケーションが進
行中のNO_PGWAITフラッグまたは出力を送らな
ければ 誤りありで戻る メモリを利用できるようになることを待つ メモリとページのための制御構造を初期化 誤りなしで戻る
【0062】終わりページ ページがハンドに区分されなければ終わりページは映像
のプリントを開始し、または映像がバンドに区分される
ならば終わりページは実時間ブリットを開始する。アプ
リケーション終了機能のアドレスを保存する このページのための制御構造中の現在のバンド番号とコ
ピー番号のような初期パラメータをセットする。もしペ
ージがバンド区分されないと 出力へ映像バッファを供給するために出力インターフェ
イスを呼び出す 戻る そうでない場合 実時間ブリットルーチンを呼び出し、次のページを開始 戻る
【0063】ユーザー宛先を有する全てのブリット もし、ページがバンド区分されないか、アプリケーショ
ンが一度でもフラッグで呼び出されると 画素描画サービスを行うために直接ブリットを呼び出す 戻る そうでなければブリットに対する記憶されているオーダ
ーを作成するためにオーダー構造を呼び出す 戻る
【0064】ページ映像宛先を有する全てのビット もし、ページがバンド区分されないと 画素を描くサービスを行うために直接ブリットを呼び出
す 戻る そうでなければブリットに対する記憶されるオーダーを
作成するためにオーダー命令を呼び出す 戻る
【0065】直接ブリットプロセッサ29 直接ブリット機能はメモリ内に画素を描く。各種類のブ
リットは、描くべき映像のサイズを決定する引数のセッ
トと、メモリ内のそれの場所と、特定のブリット機能と
を有する。
【0066】2オペランドブリット 2オペランドブリットは2つのビットマップの間の2次
元ビットブロック転送オペレーションを実行する。ソー
スビットマップと宛先ビットマップは送られたビットマ
ップ記述子により定められる。
【0067】3オペランドブリット 3オペランドブリットは3つのビットマップを用いて2
次元ビットブロック転送オペレーションを行う。宛先は
ユーザーが定めたビットマップである。各ソース、半階
調、宛先画素はpixopパラメータに従って組み合わ
され、それから宛先ビットマップ中の同じ画素へ書きか
えられる。第3のビットマップは、宛先フレームに任意
のパターンを書くために典型的に用いられる半階調(ま
たはインキング)ビットマップである。半階調ビットマ
ップおよび宛先ビットマップ中のそれの原点は半階調パ
ラメータを介して指定される。半階調ビットマップは循
環的に用いられる。走査線の終わりから離れた画素の使
用は同じ走査線の初めから続く。ビットマップの終わり
から離れた走査線の使用はビットマップ中の第1の走査
線で続く。
【0068】走査線ブリット 走査線は画素群を宛先ビットマップ内の走査線の隣接ブ
ロック上に書く。ユーザーは画素群を定める表を送る。
画素群は1本の走査線上の画素の隣接する列で構成され
る。このテーブルの構造により走査線当たりの画素群を
多数にできる。
【0069】走査線半階調を描く 走査線半階調を描くは、半階ビットマップの内容とpi
xopブーリアンの内容に従って、画素群を宛先ビット
マップに書く。ユーザーは半階調ビットマップ記述子
と、宛先ビットマップ記述子と、画素群を定めるテーブ
ルとを送る。画素群は1本の走査線上の隣接する画素列
より成る。このテーブルの構造により走査線当たりの画
素群を多数にでき、かつ走査線の飛び越しを行えるよう
にできる。
【0070】垂直線を描く 垂直線を描くは、画素群が垂直線を表わすことを除き、
走査線を描くに類似するサービスを行う。ユーザーは画
素群を定めるテーブルを送る。画素群は隣接する画素列
より成る。このテーブルの構造により多数の画素群が許
される。
【0071】画素を描く 画素を描くは画素テーブルを指定し、宛先のみブーリア
ン、pixop、に従って作用させられた画素を書く。
宛先は宛先ビットマップ記述子により定められる。画素
テーブルはxy対の数より成る。
【0072】画素半階調を描く 画素半階調を描くは指定された画素テーブルを処理し、
半階調ビットマップとブーリアン、pixop、に従っ
て作用させられた画素を書く。宛先は宛先ビットマップ
記述子により定められる。画素テーブルはカウントパラ
メータにおいて指定されたxy対の数より成る。
【0073】論理画素オペレーション 書き込まれた各画素の値は、特定のオペレーションに含
まれている画素の論理的組み合わせにより決定される。
走査線のようなあるオペレーションは各座標に宛先画素
だけを含む。2blitのような他のものは各座標にソ
ース画素と宛先画素を含み、3blitのような更に別
のものは半階調画素、ソース画素および宛先画素を含
む。3つの画素と、4つのブール演算子NOT,AN
D,OR,XORとには256種類の可能な組み合わせ
がある。それらの組み合わせの全ては、下記の定義のビ
ットの論理組み合わせを用いて表現できる。
【0074】論理画素オペレーション 書きこまれる各画素の値は、特定のオペレーションに含
まれている画素の論理組み合わせにより決定される。走
査線のようなあるオペレーションは各座標に宛先画素だ
けを含む。2blitのような他のオペレーションは各
座標にソース画素と宛先画素を含み、3blitのよう
な更に別のオペレーションは半階調画素、ソース画素、
宛先画素を含む。3つの画素と、4つのブール演算子N
OT,AND,OE,XORとの可能な組み合わせの数
は256である。それらの組み合わせの全ては下記の定
義のビットの論理組み合わせを書いて表現できる。 GRS_DST = 10101010 GRS_SRC = 11001100 GRS_HT = 11110000 GRS_WHITE=00000000 GRS_BLACK=11111111
【0075】書きこまれた画素が、従来の画素値を考慮
しないで対応する値を有する時にWHITEとBLAC
Kが用いられる。3つの組み合わせと4つの演算子の他
の可能な独特のブール組み合わせの全てを生ずるため
に、他の3つの値を組み合わせることができる。全ての
組み合わせが有用な効果を必ず生ずるものではない。た
とえば、ソース画素を宛先へコピーするため... pixop=GRS_SRC 11001100 宛先画素の補数をとるため... pixop=NOT GRS_DST 01010101 ソースビットマップを宛先ビットマップへ重畳するた
め... pixop=GRS_SRC OR GRS_DST 01010101 ソースビットマップの負を宛先ビットマップに重畳する
ため... pixop=(NOT GRS_SRC)OR GRS_DST 101 11011 映像に対応する宛先画素をソースビットマップへ書きこ
むため... pixop=(NOT GRS_SRC)AND GRS_DST 01 100010 他の宛先画素を不変のまま離れるソースビットマップ中
では黒である全ての宛先画素を半階調にするため... pixop=(GRS_SRC AND GRS_HT)OR(NOT G RS_SRC) AND GRS_DST) 11100010 処理される全ての直接ブリットは次のとおり: ユーザー引数を検査 もし、引数が誤りであると 誤りを戻す もし、クリップを求められると 低レベルブリット呼び出しのためにパラメータ調節 もし、ブリットハードウェアを利用可能なら ハードウェア指令/オーダーをセットアップ もし、ハードウェアが使用中なら 割り込みハンドラによるスタートのためにオーダーを待
ち行列に加える 戻る そうでなければ適切な低レベルブリット機能を呼び出す 戻る
【0076】オーダー構成31 オーダー構成は、ページ映像の構成にハードウェアを用
いるために、実時間ブリットに対する記憶されているオ
ーダーを構築する。記憶されている各オーダーは直接ブ
リットルーチンにより必要とされる情報と、オーダーに
より作用させられる第1のページ映像バンドのような実
時間ブリットルーチンにより用いられる情報とを含む。
送られたブリット引数から記憶されるオーダーを構築す
る もし、ソースビットマップに対する揮発性フラッグでア
プリケーションが呼び出されると ビットマップをコピーするための空間を得るためにメモ
リマネージャーを呼び出す もし、利用できる十分なメモリがないと誤りコードで戻
る そうでなければ、ソースビットマップをコピー もし求められているブリットが短縮されないとオーダー
短縮終了データ構造ルーチンを呼び出す そうでなければオーダー短縮加算オーダールーチンを呼
び出す 戻る
【0077】オーダー短縮33 オーダー短縮は、多数のオーダーを1つのオーダーに組
み合わせること、同じ宛先画素群で動作する多数のオー
ダーに対する冗長性をなくすことを試みる。短縮ルーチ
ンは内部データ構造において画素群に遅れないようにす
る。それは、オーダー構成が現在のセットを終わらせる
要求で呼び出すまで、構造への付加を続ける。これが起
こると、現在のデータ構造はオーダーへ変換され、オー
ダー記憶装置に置かれる。オーダー短縮のための次の呼
び出しは新しいデータ構造を開始す。短縮されるオーダ
ーを見失わないようにするために、リンクされたリス
ト、アレイまたは2進の樹を含めて、共通に用いられる
いくつかのデータ構造を使用できる。固定長であると、
アレイのような拡張できない構造が用いられる。組み合
わすことができるオーダーの数をアレイのサイズが制限
する。これは短縮スキームを損なうものではない。デー
タ構造が一杯になったら、現在のセットを終わらせて、
新しいセットをスタートさせるために、加算オーダー機
能が終わりルーチンを呼び出すことができる。これは短
縮レベルをいくらか下げることがある。
【0078】加算オーダー もし、現在のデータ構造がないとデータ構造へ空間を割
り当てるためにメモリマネージャーを呼び出す もし、誤りとすると誤りを戻す 新しいデータ構造を初期化する 入力画素群を新しいデータ構造中に置く 戻る 「現在の入力群」を入力中の第1の画素群へセットする 「現在存在する群」を既存のデータ構造中の第1の画素
群へセットする 「現在の入力群」が処理のままである間に(「現在の入
力群」は入力画素群の数より少ないか、等しい) 〔「現在の入力群」y位置を「現在存在している群」y
位置と比較もし、等しいと「現在の入力群」のスタート
x(水平)位置を「現在存在する群」のxと比較「現在
存在する群」のxと比較もし、「入力」x_start
が「既存の」x_startより大きいか、等しく、
「入力」x_endが「既存の」x_endより小さい
か、等しいとすると 「入力」画素群を含むように「既存の」画素群を変更 「現在の入力群」を増大 「現在存在する入力群」を増大 もし、「現在存在する群」が最後の既存の群より大きい
と(それ以上多くの既存の群はない) 残りの入力群を加える 戻る
【0079】終了データ構造 データ構造をオーダーへ変換 新しいオーダーを実時間オーダーに取りつけ 一時的データ構造の割り当てを解除するためにメモリマ
ネージャーを呼び出す 戻る
【0080】実時間ブリットプロセッサ37 利用可能なバンドバッファの数と同数のバンドを発生す
ることにより実時間ブリットルーチンは始まる。次にそ
のルーチンはそれらの初めのルーチンを出力インターフ
ェイス47へ順に供給し、呼び出し元へ戻る。あるバン
ドがプリントされた、と割り込みハンドラ49が判定す
ると、「拡張された割り込みスレッド」を介して実時間
ブリット処理が再開されて、利用できるバンドバッファ
中に次のバンドを生ずる。
【0081】次ページスタート もし、このページにバンドバッファが予め割り当てられ
ていると もし、バンド発生が使用中であると ページ制御構造を待ち行列に並べる 戻る ページ制御構造を通るバンド発生を呼び出す 戻る そうでなければ、戻る
【0082】バンド発生エントリイ点: 映像発生が行われない間に もし全ての映像バンドバッファが使用中であると 戻る 記憶されているオーダーのリスト中のオーダーが、現在
のバンド数に等しいバンド数を有する間に 支持された画素または現在のバンドに適合する画素部分
を描くことを求められているブリットを定めるためにオ
ーダーから情報を取り出す 低レベルブリット機能を呼び出す もし、オーダーが現在のバンド内で終わることができな
いと オーダー中のバンド数を現在のバンド+1に更新 必要に応じて他のパラメータを更新 そうでなければ オーダーに終了とマーク もし、これがページの初めてのバンドであると初めての
バンドフラッグをセットして出力インターフェイスへ送
る また終了ルーチンアドレスをセットもし、これがページ
の最後のバンドであると最後のバンドフラッグをセット
して出力インターフェイスへ送る。 出力構造を送る出力インターフェイス呼び出し もし映像の最後のバンドが発生されると もし別の映像コピーが求められると コピーカウントを減少 現在の制御構造中でバンド数を1へリセット そうでなければ もし、別の映像が待ち行列にされると 待ち行列からそれの制御構造を得る そうでなければ バンド発生実行をセット 戻る
【0083】終了機能: (割り込みハンドラにより
呼び出される) バンドバッファがアイドル状態にあるとマーク もし、現在の映像中のより多くのバンドとバンド発生が
アイドル状態にあると「拡張された割り込みスレッド」
を介してバンド発生をスタート そうでなければ1つのPDLインタープリータ終了機能
があればそれを呼び出す 戻る
【0084】メモリマネージャー43 このメモリマネージャーは、他の機能がメモリの可変サ
イズブロックを要求および解放できるように、RAM割
り当てサービスとRAM割り当て解除サービスを行う。
【0085】ブロック割り当て 要求されているサイズに等しいか、大きい自由メモリブ
ロックに対する内部データ構造を探す もし求められているサイズに等しいブロックが見つかっ
たらそのブロックを使用中とマーク ブロックのアドレスの呼び出し元へ戻る そうでなければ 自由ブロックを2つに分ける 呼び出し元に対する新しいブロックを使用中とマーク ブロックのアドレスの呼び出し元へ戻る
【0086】自由ブロック ブロックのアドレスを確かめる もし、アドレスが無効であると 誤りコードで戻る ブロックを自由とマーク 誤りなしで戻る
【0087】出力インターフェイス47 出力インターフェイスは、バンドバッファのサイズと、
終了関数アドレスと、左と上の余白情報と、バンドをプ
リントする時間数のカウントと、最初のバンドと最後の
バンドを示すフラッグとを定める引数を受ける。バンド
区分されない場合には、バンドはページの完全メモリ映
像であって、最初と最後のハンドフラッグがセットされ
る。もし、出力装置が使用中であるとバンド情報を内部
情報を内部待ち行列に置き 戻る そうでなければ、 内部データ構造を初期化する 出力装置をスタート 同期信号を待つ 第1の走査線または多数の走査線をFIFOへコピーし
またはスタート DMA装置に映像の供給を開始させる 戻る
【0088】出力インターフェイスハンドラ49 より多くのデータをFIFOまたはDMA装置へ供給せ
ねばならない時にハードウェアは割り込む。 現在のバンドバッファ内のより多くの走査線を供給せね
ばならないかどうかを判定するために内部情報を検査 もし、より多くの走査線が現在のバンドにないと次のバ
ンドの待ち行列を解除もし、より多くのバンドがないと 戻る そうでなければ このバンドのための内部情報を初期化 FIFOへコピーまたはDMAをスタート 戻る
【図面の簡単な説明】
【図1】プリントすべき図形映像を発生するアプリケー
ションを基にしてプリントされたページを発生するプロ
セスのブロック概観図である。
【図2】出力制御器とビットマップ映像発生器の概略機
能ブロック図である。
【図3】従来技術の出力制御器とビットマップ映像発生
器の実現の機能ブロック図である。
【図4】本発明の出力制御器とビットマップ映像発生器
の実現の機能ブロック図である。
【符号の説明】
15 出力制御器 17 ビットマップ映像発生器 21 PDLインタープリータ 23 図形インターフェイスサブシステム 24 RAM 29 直接ビットプロセッサ 37 実時間ブリットプロセッサ 41a,41b,41c バンドバッファ 47 出力インターフェイス 49 出力割り込みハンドラ 53 DMAまたはFIFOバッファ
フロントページの続き (72)発明者 ドナルド・イー・フィリップス アメリカ合衆国 92644 カリフォルニ ア州・ガーデン グローブ・ブルックデ イル ドライブ・8793 (72)発明者 バーバラ・ビイ・レンショウ アメリカ合衆国 90266 カリフォルニ ア州・マンハッタン ビーチ・パシフィ ック アヴェニュ・829 (72)発明者 スティーブン・ケイ・ネルソン アメリカ合衆国 90710 カリフォルニ ア州・ハーバー シティ・ウェスト 245ティエイチ ストリート・948 (72)発明者 ロバート・エフ・ホスリー アメリカ合衆国 90245 カリフォルニ ア州・エル セグンド・ロマ ヴィス タ・622 (56)参考文献 米国特許5502804(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/12

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 連続同期ラスタ出力装置上に表示するた
    めに、図形情報を含むページ映像を創造する装置におい
    て、この装置は、 a) 出力すべきページ映像を定めるページ記述言語で
    の指令を受けて、解釈する手段と、 b) 解釈されたページ記述言語指令から創造されるペ
    ージ映像を表す1組の図形オーダーを発生する手段と、 c) ビットマップ映像の前記バンドを前記図形オーダ
    ーから発生する手段と、 d) ビットマップ映像の発生された前記バンドを出力
    する手段とから構成され; 上記図形オーダーとは、 i) この図形オーダーが処理されて、出力装置により
    求められる速さで出力装置へ供給されるビットマップ映
    像のバンドに取り込まれ、その結果、完全なページ画像
    を発生するのに必要な図形情報の発生されたバンドが、
    完全なページ画像を記憶するのに必要なメモリ量よりも
    少ないメモリ量を使用するようになり、かつ ii) 前記バンドの最初の1つにある図形情報が、前
    記出力装置により出力されている間に、前記バンドの第
    2の1つに対するビットマップ映像が発生されるよう
    な、 低レベルのプリミティブとして表される図形機能であ
    り; 前記図形オーダー発生手段は、 i) 解釈された前記ページ記述言語を受け、前記受け
    た指令を、メモリに結合された、メモリマネージャー手
    段とビットブロック転送プロセッサ手段とオーダー構成
    手段のうちの少なくとも1つに渡す、図形インターフェ
    イスサブシステム手段と、 ii) 前記図形インターフェイスサブシステム手段、
    前記オーダー構成手段、および前記オーダー短縮手段か
    ら発行された要求に応答して前記メモリのブロックを割
    り付けしかつ割付解除する、前記メモリマネージャー手
    段と、 iii) 前記図形インターフェイスサブシステム手段
    から渡された画素描画指令に基づいてユーザメモリ中の
    画素を描画する、前記ビットブロック転送プロセッサ手
    段と、 iv) 前記図形インターフェイスサブシステム手段か
    ら渡されたビットブロック転送引数に基づいて、複数の
    宛先画素グループに対して作用する図形オーダーを構成
    するための前記オーダー構成手段と、 v) 前記オーダー構成手段によって構成された同じ宛
    先画素グループに対して作用する複数のオーダーを組み
    合わせるための前記オーダー短縮手段とを備える、こと
    を特徴とするページ映像を創造する装置。
JP22238491A 1990-08-08 1991-08-08 ページ映像描写装置 Expired - Lifetime JP3252329B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56441790A 1990-08-08 1990-08-08
US564417 1990-08-08

Publications (2)

Publication Number Publication Date
JPH06119131A JPH06119131A (ja) 1994-04-28
JP3252329B2 true JP3252329B2 (ja) 2002-02-04

Family

ID=24254389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22238491A Expired - Lifetime JP3252329B2 (ja) 1990-08-08 1991-08-08 ページ映像描写装置

Country Status (6)

Country Link
US (2) US5502804A (ja)
EP (1) EP0470782B1 (ja)
JP (1) JP3252329B2 (ja)
AT (1) ATE134272T1 (ja)
DE (1) DE69117112T2 (ja)
HK (1) HK1007014A1 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
EP0469851B1 (en) * 1990-07-31 2001-06-06 Canon Kabushiki Kaisha Image processing apparatus
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
US6377261B1 (en) * 1991-02-28 2002-04-23 Adobe Systems Incorporated Compiling glyphs into instructions for imaging for execution on a general purpose computer
JPH05183765A (ja) * 1991-12-27 1993-07-23 Canon Inc データ処理システム及び該システムに用いることが可能な装置
EP0568357B1 (en) * 1992-04-29 2002-03-06 Canon Kabushiki Kaisha Graphics system and method
US5493634A (en) * 1992-06-12 1996-02-20 Xerox Corporation Apparatus and method for multi-stage/multi-process decomposing
DE69327888T2 (de) * 1992-06-15 2000-08-17 Canon Kk Verfahren und Gerät zum Drucken nach einer grafischen Sprache
US5515481A (en) * 1992-07-08 1996-05-07 Canon Kabushiki Kaisha Method and apparatus for printing according to a graphic language
US5471564A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
US5577173A (en) * 1992-07-10 1996-11-19 Microsoft Corporation System and method of printer banding
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5467435A (en) * 1992-07-10 1995-11-14 Microsoft Corporation System and method for mode switching
US5469533A (en) * 1992-07-10 1995-11-21 Microsoft Corporation Resource-oriented printer system and method of operation
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
JP3360905B2 (ja) * 1993-01-04 2003-01-07 ゼロックス・コーポレーション プリンティングシステム
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
US5500928A (en) * 1993-03-01 1996-03-19 Xionics Document Technologies, Inc. Digital printing system and process using adaptive compression
US6362896B1 (en) 1993-11-08 2002-03-26 Seiko Epson Corporation Printing apparatus with a cash drawer control function, and a control method therefor
SG66232A1 (en) * 1993-11-08 1999-07-20 Seiko Epson Corp Printing apparatus control method therefor and data processing apparatus using the printing apparatus
US6975423B2 (en) 1993-11-08 2005-12-13 Seiko Epson Corporation Printing apparatus and a control method therefor
US6323958B1 (en) * 1993-11-19 2001-11-27 Canon Kabushiki Kaisha Printing apparatus
US6006013A (en) * 1994-05-18 1999-12-21 Xerox Corporation Object optimized printing system and method
US6327043B1 (en) 1994-05-18 2001-12-04 Xerox Corporation Object optimized printing system and method
US5552898A (en) * 1994-07-06 1996-09-03 Agfa-Gevaert Lossy and lossless compression in raster image processor
US5857064A (en) * 1995-04-03 1999-01-05 Object Technology Licensing Corporation System for imaging complex graphical images
DE19513105A1 (de) * 1995-04-07 1996-10-10 Hell Ag Linotype Verfahren zur Generierung einer Contone-Map
JP2887572B2 (ja) * 1995-04-07 1999-04-26 富士ゼロックス株式会社 画像出力装置および画像処理方法
DE19514293A1 (de) * 1995-04-24 1996-10-31 Hell Ag Linotype Verfahren zur Montage von Ganzseitenbögen
US5831637A (en) * 1995-05-01 1998-11-03 Intergraph Corporation Video stream data mixing for 3D graphics systems
US6952801B2 (en) * 1995-06-07 2005-10-04 R.R. Donnelley Book assembly process and apparatus for variable imaging system
CA2226125A1 (en) * 1995-07-03 1997-01-23 Luis Trabb Pardo Processor/memory non-intensive rendering for page printers
US5793937A (en) * 1996-03-29 1998-08-11 Peerless Systems Corporation Fallback processing for page generation using memory reduction techniques
US6538764B2 (en) * 1996-04-12 2003-03-25 Canon Kabushiki Kaisha Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program
US5630028A (en) * 1996-05-28 1997-05-13 Bowne & Co., Inc. Method of representing graphic data using text
US5848226A (en) * 1996-06-03 1998-12-08 Xerox Corporation Prioritized data transfer through buffer memory in a digital printing system
US6046748A (en) * 1996-06-27 2000-04-04 Peerless Systems Corporation Cooperative filter and raster operation evaluation model
US5828814A (en) * 1996-09-10 1998-10-27 Moore Business Forms, Inc. Reduced cost high resolution real time raster image processing system and method
JPH1093813A (ja) * 1996-09-12 1998-04-10 Canon Inc 記録装置
JP3039396B2 (ja) * 1996-10-18 2000-05-08 富士ゼロックス株式会社 印刷制御装置及び方法
US6236463B1 (en) * 1997-01-17 2001-05-22 Moore U.S.A., Inc. Generating high speed variable information printed multiple page documents
US6067540A (en) 1997-02-28 2000-05-23 Oracle Corporation Bitmap segmentation
US5963935A (en) * 1997-02-28 1999-10-05 Oracle Corporation Combining bitmaps within a memory limit
US5930466A (en) * 1997-03-11 1999-07-27 Lexmark International Inc Method and apparatus for data compression of bitmaps using rows and columns of bit-mapped printer data divided into vertical slices
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6097496A (en) * 1997-04-21 2000-08-01 Hewlett-Packard Company Integrated display list and building tool for multiple personalities
US6061749A (en) 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
AUPO647997A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6414687B1 (en) 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
US5870535A (en) * 1997-05-12 1999-02-09 Lexmark International, Inc. Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments
US6046818A (en) * 1997-06-03 2000-04-04 Adobe Systems Incorporated Imposition in a raster image processor
US6205452B1 (en) 1997-10-29 2001-03-20 R. R. Donnelley & Sons Company Method of reproducing variable graphics in a variable imaging system
US6313847B1 (en) * 1997-12-22 2001-11-06 Adobe Systems Incorporated Blending graphics objects in a frame buffer
JP3689579B2 (ja) * 1998-02-05 2005-08-31 キヤノン株式会社 情報処理装置及び情報処理方法、記憶媒体
US6891632B2 (en) * 1998-07-17 2005-05-10 Peerless Systems, Inc. Method and apparatus for selecting print strategy for optimal performance
US6774868B1 (en) * 1999-01-15 2004-08-10 Microsoft Corporation Method for tiling multiple displays to generate a large area display of moving data
US7278094B1 (en) 2000-05-03 2007-10-02 R. R. Donnelley & Sons Co. Variable text processing for an electronic press
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6826292B1 (en) * 2000-06-23 2004-11-30 Sarnoff Corporation Method and apparatus for tracking moving objects in a sequence of two-dimensional images using a dynamic layered representation
US7007037B2 (en) * 2000-07-31 2006-02-28 Oracle International Corporation Opaque types
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7224489B2 (en) * 2001-09-25 2007-05-29 Xerox Corporation Font characteristic driven halftoning
EP1341128A1 (en) * 2002-02-28 2003-09-03 Agfa-Gevaert N.V. Method for rendering based on strokes
AUPS134202A0 (en) * 2002-03-25 2002-05-09 Canon Kabushiki Kaisha System and method for optimizing halftoning printer performance
US7715031B2 (en) * 2002-06-14 2010-05-11 Kyocera Mita Corporation Method and apparatus for generating an image for output to a raster device
TWI277058B (en) * 2002-08-30 2007-03-21 Seiko Epson Corp Font processing device, terminal, font processing method and font processing program
JP2005244722A (ja) * 2004-02-27 2005-09-08 Canon Inc 記録再生装置
US7782331B2 (en) * 2004-06-24 2010-08-24 Microsoft Corporation Cross-platform runtime code generation for bit block transfer functions
KR100871852B1 (ko) * 2005-12-29 2008-12-03 삼성전자주식회사 고속 인쇄 방법 및 장치
US20070216696A1 (en) * 2006-03-16 2007-09-20 Toshiba (Australia) Pty. Limited System and method for document rendering employing bit-band instructions

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4679038A (en) * 1983-07-18 1987-07-07 International Business Machines Corporation Band buffer display system
US4648045A (en) * 1984-05-23 1987-03-03 The Board Of Trustees Of The Leland Standford Jr. University High speed memory and processor system for raster display
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
US4860219A (en) * 1987-02-26 1989-08-22 National Business Systems, Inc. High speed printer
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
JP2677814B2 (ja) * 1988-04-07 1997-11-17 株式会社リコー 記録装置
US4933880A (en) * 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents
US5125072A (en) * 1989-07-31 1992-06-23 Eastman Kodak Company Efficient data storage system for gray-scale printers
DE69031298T2 (de) * 1989-11-14 1998-01-15 Canon Kk Aufzeichnungsgerät
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe

Also Published As

Publication number Publication date
EP0470782A3 (en) 1992-10-14
EP0470782B1 (en) 1996-02-14
US5502804A (en) 1996-03-26
JPH06119131A (ja) 1994-04-28
ATE134272T1 (de) 1996-02-15
US5748986A (en) 1998-05-05
EP0470782A2 (en) 1992-02-12
HK1007014A1 (en) 1999-03-26
DE69117112D1 (de) 1996-03-28
DE69117112T2 (de) 1996-06-27

Similar Documents

Publication Publication Date Title
JP3252329B2 (ja) ページ映像描写装置
US5754750A (en) Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device
US5515481A (en) Method and apparatus for printing according to a graphic language
US5511156A (en) Interpreter for executing rasterize processing to obtain printing picture element information
US7715031B2 (en) Method and apparatus for generating an image for output to a raster device
JP3872558B2 (ja) メモリ削減技法を使用したページ生成のためのフォールバック処理
US7176927B2 (en) Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
US8861014B2 (en) Systems and methods for optimized printer throughput in a multi-core environment
JP2817687B2 (ja) 画像形成装置
JP3209102B2 (ja) プリントシステム、プリンタドライバ及びプリンタ
JP2003051019A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
JP4063918B2 (ja) 表示のためのグラフィックス情報を含むイメージを作成する装置と方法
NO309078B1 (no) FremgangsmÕte og innretning for utskriving i overensstemmelse med et infografisk sprÕk
US5771371A (en) Method and apparatus for optimizing the display of forms in a data processing system
JPH1058770A (ja) 電子印刷装置
JPH0564931A (ja) プリントスプール手段
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2002341853A (ja) 動的コード生成に基づくキャラクタの表示を制御する方法
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP3591096B2 (ja) ページプリンタの制御方法
JP3651214B2 (ja) 印刷処理装置及び印刷処理方法
AU2003204832B2 (en) Rendering Graphic Object Based Images
JPH06149224A (ja) 画像出力方法及び装置
JPH11119928A (ja) 印刷処理装置および方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10