[go: up one dir, main page]

JP2726271B2 - パッチ化システム - Google Patents

パッチ化システム

Info

Publication number
JP2726271B2
JP2726271B2 JP63192595A JP19259588A JP2726271B2 JP 2726271 B2 JP2726271 B2 JP 2726271B2 JP 63192595 A JP63192595 A JP 63192595A JP 19259588 A JP19259588 A JP 19259588A JP 2726271 B2 JP2726271 B2 JP 2726271B2
Authority
JP
Japan
Prior art keywords
logical
patch
page
address
memory
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
JP63192595A
Other languages
English (en)
Other versions
JPH01125234A (ja
Inventor
エイチ ホール ジェフリー
ディー マーティネス エドワード
ヴァルデス ハコボ
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.)
KYUU EMU ESU Inc
Original Assignee
KYUU EMU ESU Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/147,260 external-priority patent/US4942541A/en
Application filed by KYUU EMU ESU Inc filed Critical KYUU EMU ESU Inc
Publication of JPH01125234A publication Critical patent/JPH01125234A/ja
Application granted granted Critical
Publication of JP2726271B2 publication Critical patent/JP2726271B2/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Record Information Processing For Printing (AREA)
  • Laser Beam Printer (AREA)
  • Image Generation (AREA)
  • Storing Facsimile Image Data (AREA)

Description

【発明の詳細な説明】 <産業上の利用分野及び従来の技術> 本発明は、ページ印刷システムの分野、さらに限定的
に言うとページ印刷システムのためのイメージプロセッ
サに関するものである。
ページ印刷システムは良く知られたものであり、多数
のさまざまなタイプのプリンタを使用する。例えばゼロ
グラフィドラム、発光ダイオード(LED)及びレーザー
プリンタ(レーザと連結されたゼログラフィドラム)な
どは全て一般的に用いられ、ページ印刷システムを構成
している。
ページ印刷システムは、コード化されたページレイア
ウト情報を処理して印刷されたページを形成する。イメ
ージプロセッサは、復号され圧縮されていないページイ
メージデータを形成(ペイント)するようページレイア
ウト情報を処理する。即ち、文言ペイントとは、デコー
ドされて何れの画素が印刷されるべきかを直接表すビッ
トマップイメージデータを形成することと定義すること
が出来る。イメージプロセッサは、処理時間中作動す
る。予じめ設定された印刷速度で作動するプリンタが、
印刷時間中、印刷済ページを印刷する。このプリンタ
は、ページイメージデータに呼応して可変的な濃度の画
素の走査されたアレイを形成する。プリンタのインター
フェイスは、ページイメージデータがプリンタ(シップ
アウト)まで伝送されるようプリンタにイメージプロセ
ッサを接続し、印刷済ページを形成する印刷済画素の濃
度を決定する。
ページ印刷システムにおいて、印刷済ページは、紙の
ような出力媒体上の定められた物理的場所にて離散的ピ
クチャーエレメント(画素)を印刷することにより形成
される。一般に、画素は異なる色、異なる濃度をもち、
その他の可変的なパラメータを有する可能性もある。一
般に、このような可変的パラメータで画素を定義づけす
るために、各画素はnビットのデータにより表わされ
る。1つの単純な例として、色が白色でありその他のパ
ラメータが全く変化しない場合を考えてみる。このよう
な単純な例においては、画素は、単一(n=1)のデー
タビットにより表わすことができる。ここでビットは黒
に対して「オン」(2進数1)、白に対しては「オフ」
(2進数0)である。印刷用装置が白黒のみを備えたマ
トリクスプリンタである場合、印刷済ページは、印刷済
画素(黒)又は空白スポット(白)を画素記憶場所に記
録する小さな記憶場所マトリクスにより規定される。標
準的な白黒レーザープリンタの場合、各画素は1辺300
分の1インチの四方形である。各画素は印刷すべき最小
の文字又はその他の形よりもはるかに小さく、従って各
々の文字又は形は数多くの画素で形成される。
プリンタは、その2本の軸のうち1方に沿って出力媒
体を走査することにより作動せる。紙は「ページ方向」
と呼ばれる方向Pに対して平行に移動する。レーザー光
線は「走査方向」と呼ばれる方向Sに走査する。走査方
向はページ方向に直交している。レーザー光線は、各々
の画素の記憶場所においてオン又はオフであり、こうし
てレーザー光線がページを横切って走査するにつれて印
刷剤画素又はブランク点のいずれかを形成する。走査方
向における一行(フルライン)は走査ラインと呼ばれ
る。走査ラインの全ページ(フルページ)は、印刷済ペ
ージと呼ばれる。
印刷済ページがプリンタにより形成されるためには、
レーザー光線をオン及びオフに切り替えるためのデータ
がプリンタに与えられる。印刷済ページを表わしプリン
タに供給されるデータは、「ページイメージ」又は「ペ
ージイメージデータ」と呼ばれる。ページイメージはコ
ンピュータのメモリー記憶場所又はその他の記憶装置内
に記憶される。画素が白又は黒である例においては、1
つのビット(1つの画素を表わす)が1つの記憶セルの
中に記憶されうる。ページイメージから印刷済ページま
での1対1マッピングを有する圧縮されていないデジタ
ル表示については、1ページイメージを構成するデジタ
ル表示の各々のビットは、画素の色(白又は黒)及び記
憶場所の両方について印刷済ページ内の1つの画素に対
する対応をもっていなくてはならない。
1例において、印刷済ページは、各々2040個の画素か
ら成る2640本の一連の走査ラインとして表示される。こ
れに相応して、ページイメージは、各々2040個のセルを
もつ2640の記憶セクション内に記憶されうる。例えば、
「0」という値が白の画素を示し「1」という値が黒の
画素を示すものとして、各々の記憶セルが1ビットの情
報を記憶する。各々の記憶セクションは、印刷されたペ
ージの1走査ラインに対応しており、従って、メモリー
の記憶セル内のビットから印刷済ページ上の画素まで1
対1のビット・ピクセルマップがある。
ページイメージに対する代替的な表示としては、同一
色の画素シーケンスのラン・レングスコード化を用いる
ことにより達成されるものがある。ラン・レングスコー
ド化においては、走査ラインはシーケンスとして表示さ
れ、各々のシーケンスは(長さ)(色)の形のものをし
て定義づけされる。ここで、「長さ(レングス)」は画
素の数を、「色」は白については「W」黒については
「B」のいずれかを表わしている。
ページイメージを表わすにはこの他にも使用できる数
多くのタイプのデジタルコード化表示がある。メモリー
内に記憶されているページイメージデータと印刷済ペー
ジの画素の間には相関関係があるが、この相関関係は1
対1のビット−画素マップである必要はない。
ページイメージデータ自体は通常「ページレイアウ
ト」から復号される。「ページレイアウト」とは、印刷
済ページ全体のコード化された表示である。ページレイ
アウトはページレイアウト言語を用いてコード化され
る。ページレイアウト言語は、「シンボル(glyph)」
と呼ばれる基本形状のライブラリ又は表を用いる。絵文
字の中には、文字、数字、記号及びあらゆるタイプ及び
サイズの形状又は字が含まれる。ページレイアウト言語
は、印刷済ページ上のどこにシンボルを位置づけるべき
かを規定する命令を内含する。さらにページレイアウト
言語はその他の印刷用プリミティブ(ライン、スプライ
ンなど)を規定することができ、これらが印刷済ページ
上のどこに位置づけられるべきかを定義づけする。ペー
ジレイアウト言語で表わされたページレイアウトは、印
刷済ページ上の位置と画素を相関関係づけするページイ
メージデータを形成するよう復号される。
イメージプロセッサは、デジタル形で記憶された高レ
ベルのコード化されたページレイアウトデータを受け入
れ、ページレイアウトを処理し復号されたページイメー
ジデータを同様にデジタル形で形成する装置である。ペ
ージイメージデータは次にプリンタに送られ、プリンタ
に印刷済ページを形成させる。
<発明が解決しようとする課題> イメージプロセッサは、ページ同期プリンタと共に用
いられた場合、数多くの制約条件に直面する。ページ同
期プリンタは、1ページの印刷中均一の速度で印刷し、
ページ間でのみプリンタの停止を可能とする。いくつか
の先行技術の装置では、イメージプロセッサは、このよ
うなプリンタが必要とする一定のデータ速度と符合しう
る速度にて復号されたページイメージデータを生成する
ためコード化されたページレイアウトデータを処理する
ように設計されていた。しかしながら複雑なページレイ
アウトは、ページレイアウトの処理とページイメージの
印刷の間の平衡を混乱させる可能性がある。プリンタに
ページイメージデータを供給する上でイメージプロセッ
サが過度に緩慢である場合、ページ同期プリンタは開始
点と終了点の間のいずれの時点においてもページの印刷
の停止を許さないため、正しくないページが印刷される
ことになる。
初期の先行技術装置は、部分ページメモリー緩衝域記
憶機構を用いていた。部分ページメモリー緩衝域は、圧
縮されていないページイメージの一部分のみが記憶され
ている専用記憶域である。記憶装置は比較的高価なもの
で、ページレイアウトは比較的単純なものであったた
め、初期のイメージ処理システムは、メモリを倹約する
ため処理速度を利用していた。
1つの部分ページメモリー緩衝域機構は、交互の緩衝
域を用いる先行技術のイメージプロセッサーにおいて実
現された。交互緩衝域を用いると、ページレイアウト情
報は、ページイメージの第1の部分を成すデジタル表示
で1つの緩衝域を満たすよう処理される。第1の緩衝域
がそのページイメージの一部分で満たされた後、この第
1の緩衝域は、印刷済ページを印刷するためページ同期
プリンターへと排出される。第1の緩衝域がプリンター
へと排出されている間、第2の緩衝域がそのページの次
の部分を形成すべくページレイアウトを処理することに
よって満たされる。第1の緩衝液が空になり第2の緩衝
域が満たされると、2つの緩衝域の役目は交換される。
第1の緩衝域が再び満たされている間,第2の緩衝域は
プリンタへと排出される。交互に緩衝域を充てん及び排
出するプロセスは、ページイメージ全体が印刷されるま
でつづく。
部分ページメモリ緩衝域機構の第2の変形態様は、バ
ンドメモリー割振り方法を用いる先行技術のイメージプ
ロセッサーにおいて実現されている。この方法は、標準
的に約128キロバイトの専用記憶域を使用することから
成る。バンドを構成するメモリは、各々ページイメージ
の水平ライン内に含まれた画素数の共通の幅をもつ複数
の走査ラインとして組織されている。このバンドは一般
にウィンドウと呼ばれている。これは、このバンドがペ
ージイメージの走査ラインを比較的少数しか含んでいな
いからである。
バンド割振り方法を用いるシステムオペレーション
は、ページイメージの最初の数ラインの内容でバンドを
充てんする(ペイントする)こと、ページ同期プリンタ
を開始させること及び前の内容が印刷されるにつれてバ
ンドの各ラインを更新することから成る。このようにし
て、バンドはページイメージを下方移動させられ、ペー
ジ同期プリンタを効果的にレーシングさせてバンド内へ
流れる新しいデータを保持する。ペインティングオペレ
ーションはこのバンド内にあるよう制限されている。バ
ンドはページイメージ全体にわたり画面移動するためペ
インティング順序は、画面移動させられた状態のバンド
に制約される。
上述のもののような部分ページメモリーバンドシステ
ムは、一般にテキストに付随する図形が比較的単純なも
のであるシステム又はテキストのみのシステムにおいて
用いられる。当初よりこれらのシステムの性能は、図形
及びテキストアプリケーションズソフトウエアの開発状
態と比較していた。
前述のとおり、部分ページメモリー緩衝域機構を用い
る先行技術のシステムは、「局所的に」複雑なページレ
イアウトが提起する処理上の問題点に直面している。緩
衝域充てん速度が、処理中のいつでも局所的に複雑なペ
ージレイアウトを処理できるほど充分速くない場合、ペ
ージイメージデータはプリンタがそれを必要とする時点
で利用可能ではなく、その結果、印刷済ページ内にエラ
ーが生じることになる。
局所的に複雑なページレイアウトは、ページイメージ
のいずれかの部分を形成するのに多大な処理時間を必要
とする複雑さをその特徴とする。複雑さは標準的に、印
刷済ページの比較的小さい部域内に多数のシンボル及び
/又はその他の印刷用プリミテイブを位置づけなくては
ならないような状況において発生する。ページイメージ
のいくつかの局所的部分を形成するために多くの命令
(ページレイアウト内の段階)を実行する必要がある場
合、イメージプロセッサは、プリンタが印刷する速度よ
りも低い速度でページイメージを生成してもよい。前述
のタイプの先行技術の装置においては、複雑なページレ
イアウトを処理するときに遭遇するより低い速度の結
果、アンダーラン・エラーと呼ばれるエラー条件がみら
れることになる。
先行技術におけるこの後に続く主要な発展は、孤立全
ページイメージ緩衝域の導入であった。このタイプの先
行技術は、印刷済ページ全体についての圧縮されていな
いページイメージが、印刷作業の開始前に処理され全ペ
ージ緩衝域内に記憶されることを必要としている。全体
的ビットマップメモリー割当て方法(全ページ緩衝域)
はその名の示すとおり、1文書の1イメージの全ビット
マップを含むのに必要とされる画素記憶場所の数を含ん
でいる専用記憶域である。
孤立全ページ緩衝域システムは、アンダーランエラー
という前述の問題点を解決するものの、別の問題に直面
する。これらのシステムは、急速かつ連続的に多数の印
刷済ページを印刷する必要がある場合、ページ間遅延の
問題を有する。ページ間遅延は、現行のページを印刷す
るのにその現行の内容を使い終えるまでシステムは次の
ページのページイメージデータで孤立全ページ緩衝域を
充てんし始めることができないという事実に起因するも
のである。ページ間遅延は、多くの印刷済ページの全体
的印刷速度を大幅に低下させる。従ってページ印刷シス
テムにおいては、ページ間遅延を避けることが望まし
い。
先行技術は、同一システム内の二重の全ページ緩衝域
の使用に頼ることなく局所的複雑性の問題及びページ間
遅延の問題の両者共解決することができなかった。全ビ
ットマップメモリー割振りは、高密度記憶装置の高いコ
ストを低下させることにより、実現可能となった。1イ
ンチあたり300ドットでの8.5×11インチのページの標準
的アレイは、約1メガバイトのメモリーである。従っ
て、2重全ページ緩衝には、約2メガバイトのアレイが
関与する。データ処理システムにおいては、仮想メモリ
ー技法が良く知られている。仮想メモリーアドレス空間
は、標準的に、コスト、スペース又はアーキテクチャー
により課せられる制約条件の周辺で作用する方法として
用いられている。論理メモリは、物理メモリーを超える
ことができ又逆も成り立つ。先行技術においては、いく
つかの実アドレス空間により定義づけられた論理アドレ
ス空間が実現され、論理から実への変換の必要性はつね
に存在する。
1つのイメージを細分するための周知のアルゴリズム
は、イメージをさらにより小さい領域に細分するギリシ
ャの帰納的方法を用いている。これらの領域はx及びy
の両方向に多数の画素をもつ。このアルゴリズムはNxM
の画素イメージで始まる。このアルゴリズムはまず、Nx
Mのイメージ全体を単一色(例えば白又は黒の矩形)表
示として表示できるか否かを決定する。もしできない場
合には、NxMのイメージはN/x及びM/yを整数とすN/x xM
/y表示に細分される。その後、これらの表示の各々を、
それが単一色イメージとして表示されうるか否かについ
て決定するため検討する。これができない場合、各々の
細区分はさらに細分され検査される。構造内で各分岐の
深さが変化しうるような(x×y)アレイの樹形フォー
メーションが形成される。樹形形成は、最終的に(サブ
イメージを表わす)木の各々の葉が単一色表示として実
現されうるようになるまで続く、この樹形形成は、画素
レベルに至るまで続くことができる。このようなシステ
ムにおいて、パッチ(イメージのサブイメージ)は、全
NxMイメージから、表示されている特定のイメージの一
関数としての単一の画素に至るまで広がることができ
る。
ギリシャ式帰納的方法のもつ問題点は、かかるシステ
ムを実際に実現するのに必要とされるコスト及び間接費
の額が過度に高いと思われるという点にある。従って、
全ページメモリー緩衝域機構を実施する方がおそらくよ
り単純で安価であろう。
上述の背景に基づき、本発明の目的は、局所的複雑性
に起因するアンダーラン・エラーを受ける危険性を除去
し、過度の物理メモリーを用いることなくページ間遅延
の問題を低減するような改良されたイメージプロセッサ
及び印刷システムを提供することにある。
<問題を解決するための手段> 本発明は、イメージをマッピングするための論理メモ
リーをもち、パッチ化(patchihication)を用いるイメ
ージプロセッサ及び印刷システムである。このシステム
は、以下のような4つのプロセスを実行する:(1)ペ
ージイメージデータを作成し記憶するペインティングプ
ロセス;(2)物理メモリーアドレスへパッチ化された
論理アドレスをマッピングする割り振りプロセス;
(3)プリンターに対しページイメージデータを伝送す
るシッピング(送出し)プロセス及び(4)物理パッチ
を印刷後待ち行列まで戻す割り振り解除プロセス。
本発明に従うと、ページ印刷システム内の論理メモリ
ーは、パッチ化プロセスを用ることによりページイメー
ジデータを記憶し検索する目的で物理メリーに相関関係
づけ(マッピング)されている。パッチ化プロセスは、
論理パッチとして知られているページイメージデータの
一単位を用いる。各論理パッチは、ページイメージ全体
の矩形又は四角形といった細区分を表わす。
論理メモリアドレス空間は、単数又は複数のページイ
メージを記憶するために用いられる。論理メモリーアド
レス空間は、多くの論理パッチに区分される。
論理パッチは、物理メモリー内の物理メモリー位置を
規定する一連の物理メモリーアドレスに1対1でマッピ
ングされうる論理アドレス空間内の一連の論理メモリー
アドレスである。一連の論理メモリーアドレスが一連の
物理メモリーアドレスにマッピングされたとき、この物
理メモリーアドレスは、物理パッチと呼ばれる。従っ
て、この物理アドレス空間内の1物理パッチに対して論
理アドレス空間内の1論理パッチのマッピングがある。
一般に、一定の与えられた物理パッチに対して複数の論
理パッチをマッピングすることができる。(例えば、1
つの空白の物理パッチに対し数多くの空白の論理パッチ
がマッピングされる)。一般に、同一の物理メモリーア
ドレスに対し2つ以上の論理メモリーアドレス(さまざ
まな論理パッチからの)をマッピングすることができ
る。
1つのパッチ内で、画素の配列は、画素がプリンタに
送られる走査順との関係において記述される。標準的に
は、プリンタの走査順は、1つのページについて上から
下まで走査ラインが配列されているラスター走査順であ
り、1走査ライン内の画素は左から右へと配列される。
1本の走査ライン内で最後の画素(最右画素)を走査し
た後、そのラスター走査内の次の画素は、次の走査ライ
ン内の第1の画素(最左の)である。
各々の画素を選択する順序がプリンタの走査順(例え
ばラスター走査順)と同一である走査順序は、連続的な
ものとして定義づけられる。しかしながら、走査順序が
プリンタの走査順で選択される画素をとび越すものの、
そうでないかぎり選択順が同じである場合には、その走
査順序は不連続であると定義づけされる。
パッチ内では、画素は、数多くのセグメントが1つの
パッチ全体を表わすようなセグメントの形で組織されて
いる。論理パッチのセグメント内の画素(例えば、論理
パッチ内の一段の画素)はラスター走査配列との関係に
おいて連続している;しかしながら、1つの論理パッチ
の一定の与えられたセグメントの最後の(最右の)画素
とこの論理パッチの次のセグメントの最初の(最左の)
画素は、連続していない。というのも、ラスター走査配
列との関係においてセグメント間に画素が省かれている
からである。
本発明は、(1)メモリー割り振りに局在性がある場
合の改善、(2)物理メモリーの倹約 (3)シップア
ウトの間のメモリーサイクリング(メモリ読出し時間)
の減少、(4)メモリー内の任意の点を位置設定するた
めの計算の減少、を得るためにパッチ化を用いている。
パッチ化を使用することにより、物理メモリーは、格
子目内に1ページのイメージを作り出すためイメージ格
子目内にビット(ドット又は画素とも呼ばれる)を置く
結果となる連続したメモリーアクセスにより用いられる
確率が最大限にあるビットマップイメージの特定の部域
に、割振りされる。
本発明の特徴は、ペインティングされるべきイメージ
を生成するのに用いられる高レベルのページレイアウト
データの量が制約されていないという点にある。入力デ
ータの量が制約されていないだけではなく、入力データ
が提示される順序は任意であり、いかなる特定の順序も
要求されない。当然のことながら、ページレイアウトに
より制御されている形でデータが提示される順序は、印
刷されるイメージの出現に対し影響を及ぼす可能性があ
る;例えば、1つのイメージが底部にあるイメージの上
に現われることが望まれる場合、底部のイメージが最初
に提示され上部のイメージが最後に提示されなくてはな
らない。しかしながら、あらゆる部分的ビットマップな
らびにいくつかの全ビットマップシステムにおけるよう
に、イメージの上から下までページイメージを帯域に分
類することは全く必要とされない。入力データの提示順
序はイメージデータの仮想化に影響を及ぼさない。
又、イメージがMxNイメージである場合、本発明は、
各々の画素が独立してペインティングされうるように
(すなわち、いずれかのMxNページ・イメージが表示さ
れうるように)全MxNメモリーを支持する。本発明は、
いかなる量の局所的複雑性も可能であるように同じ画素
位置全体にわたり再度ペイントできるようにするもので
ある。
本発明において、物理メモリーの割振りは、実際のイ
メージを印刷するのに必要とされる物理メモリーの量の
みに基づく。例えば、1つのパッチにより束縛されてい
るブランク空間は、表示するためにいかなるメモリーも
必要でない(マップ内以外では)。
本発明は、物理メモリー内のさらに少ない可能性のあ
る物理記憶場所に対する論理入力データ内の多くのアド
レスのマッピングを有している。物理記憶場所から印刷
済ページへのマッピングは、数多くのものから1つへの
可能性があり、入力データのマッピングに対する逆相関
関係として存在する。例えば、ブランクである論理パッ
チは単一のブランク物理パッチにマッピングされる。印
刷の間、ブランクの物理パッチは論理ページイメージの
ブランク部域にマップし戻される。
本発明は論理メモリーにペインティングし、必要に応
じて物理パッチ割振りのためのシステムを用いる。この
場合、その物理メモリー内に物理パッチが割振りされた
か否かを示す割振り(又はマッピング)表が存在する。
物理メモリー内の物理パッチは、論理メモリー内のい
ずれの論理パッチにもマッピングしないか又は1つ又は
2つの論理パッチにマッピングする。標準的には、1つ
の論理パッチはx次元とy次元の両方を有する。できれ
ば、論理パッチが1ページイメージを適当に細分しこう
してペイントされるべき画素がいくつかのピッチ内に位
置づけされその他のパッチをブランクに残すようになる
よう、論理パッチのサイズ及び形状を調整することが望
ましい。1インチあたり300ドットのシステムのための
優れた論理パッチサイズは128×128ビットである。標準
的な印刷剤材料にとって矩形という形が最適であること
が多い。これは、印刷済材料が1方の方向に長く延びて
いる(例えばページイメージ全体を横切って)よりもむ
しろかなり局在化したx及びy次元をもつからである。
可変的サイズのパッチには、分岐がどこにあるか及び
各々の分岐の長さのトラックを保持するためのオーバー
ヘッドを必要とするため一定のサイズのパッチが望まし
い。かかるオーバーヘッドは、全ビットマップメモリー
のためにちょうどよいもの以上である可能性が大きい。
さらに、可変的サイズのパッチを用いるメモリーシステ
ムからの印刷されるべき画素の取出しは、アンダーラン
・エラーを避けるために必要とされる境界内時間的限界
内で達成することが困難であることもある。当然のこと
ながら、予じめ選択されるさまざまなタイプのパッチ形
状を用いることができる。標準的には、単一のシステム
内では1サイズのパッチのみが使用される。
本発明は、ペインティングと印刷のプロセスを独立し
た非同期プロセスに分離することにより、両方共先行技
術に付随していた印刷上のエラー及びページ間遅延を克
服、減少する。ペインティングプロセスは各々のページ
イメージをペイントし、次に印刷のため、完成したペー
ジイメージを待ち行列に入れる。印刷プロセスは、完成
したイメージの待ち行列から各ページを印刷する。多数
の論理ページイメージメモリー空間及び充分な物理メモ
リーを用いることにより、高速ペインターは、プリンタ
が印刷できる以上の速さで標準的な複雑さのページイメ
ージをペイントすることができ、こうしてページ間遅延
を削除する。印刷するよりもペイントするのに長くかか
る局所的に複雑なページにつては、印刷プロセスは、完
成したページの待ち行列からのページイメージを印刷し
つづけることができる。待ち行列が空になった場合、印
刷プロセスは、完成したページイメージが印刷できる状
態になるまで1ページ境界にてプリンタを停止させるこ
とができる(こうしてページ間遅延を再度導入する)。
このようにして、局所的複雑さのもつ性能劣化効果は、
いくつかのページ印刷時間全体にわたり平均化される。
一連の複雑な文書の結果であるページ間遅延は、先行
技術の装置に比べて本発明に基づく装置の方が少ない。
ページ間遅延における減少は、パッチの使用と結びつけ
た論理メモリーの使用の結果として得られるものであ
る。本発明の非制約型ペインティング順序は、2つのプ
ロセス(ペインティングと印刷)のいずれかが他方を待
たなくてはならない時間を少なくさせる。これはこれら
2つのプロセスのオペレーションが重複しているからで
ある。
上述の要約から、本発明は、イメージ処理のために論
理メモリー及びパッチ化を用いる改良されたページ印刷
システムを提供するという目的を達成するものであると
いうことが明らかである。
本発明の付加的な目的及び特長は、本発明の好ましい
実施態様が図面と照らし合わせて記述されている以下の
説明から明らかになることと思われる。
<実施例> 本発明は、(1)メモリー割振りに局在性がある場合
の改善、(2)物理メモリの節約、(3)シップアウト
中のメモリーサイクリング(メモリー読出し時間)の減
少及び(4)メモリー内の任意の点を位置設定するため
の計算の削減を得る目的で、パッチ化を用いている。
パッチ化を用いることにより、物理メモリーは、格子
目内で1ページのイメージを作り出すため1つのイメー
ジ格子目内にビット(ドット及び画素とも呼ばれる)を
置く結果となる連続したメモリーアクセスにより用いら
れる可能性が最も高い1ビットマップイメージの特定の
部域に対して割振りされる。
パッチ化を用いる割振りは、合成図形ビットマップ内
の目標物をペイントするプロセスの通常の予測性に従
う。任意のx及びy次元の目標物は、通常、一定の与え
られた出発位置から、左から右、上から下へラスター書
式にてペイントされる。さらに、合成図形イメージを構
成する個々の画素は通常塊になって存在する。以前ブラ
ンクであったパッチ内に画素を1つ置くと次につづくメ
モリーアクセスオペレーションのためパッチ全体の物理
メモリー割振りが行なわれ、こうして直ちに使用される
という予想の下にメモリーを割振ることになる。
パッチ化メモリー割振り方法は、物理メモリーを必要
とされている場合にのみ割当てることにより割振り効率
を改善させる。
パッチ化は、ブランクピッチ内に含まれている画素と
は異なる画素を含むページイメージ内のパッチに対して
のみ物理メモリーを割振りすることにより物理メモリー
を節約する。その結果得られる節約は通常のマージンを
伴うテストページのための全ビットマップを生成するの
に必要とされるメモリーの約3分の1である。ページイ
メージが、独立型図形目標物をとり囲むインデントされ
た段落又は部域により生成されたブランク部域を含んで
いる場合、付加的な物理メモリー節約を実現することが
できる。
最も悪い例においても、パッチ化は全ビットマップと
同等の物理メモリーしか消費しない。最悪の例というの
は、ページイメージの各々のパッチが、ブランクパッチ
に含まれている画素と異なる画素を含んでいる場合であ
る。
パッチ化を用いるシステムは、シップアウト中のメモ
リーサイクリングを減少させることができる、シップア
ウトというのは、メモリーからプリンタへ文書イメージ
データを伝送するプロセスである。ブランクパッチのデ
ータフィールドは全て同じデータを含んでいるため、ブ
ランクデータを記憶する単一のレジスタをブランクパッ
チに対する全てのメモリーアクセスに対して置換するこ
とができる。実現されるメモリーサイクリングの減少
は、パッチ化を用いないシステムにおける1ページのシ
ップアウトに必要とされる全メモリーサイクルのほぼ3
分の1であることが考えられる。
パッチ化メモリー割振り方法を使用するシステムは、
ビット平面メモリー内の任意の点を位置指定するのに必
要とされる算術計算の減少を図ることができる。この減
少は、2のより小さい累乗の絶対値であるいずれかの数
字(物理メモリー条件を最小限におさえるためパッチ化
を用いないシステムにおいて用いられるもの)ではなく
むしろ2の整数累乗であるイメージ平面幅を作り出すた
め論理メモリーを用いた結果である。その結果は、画素
アドレスが、そのページ内の走査ラインの場所を表わす
ものとその走査ライン内の画素の場所を表わすものとい
う2つの独立したフィールドに区分されうるようになる
ということである。
本発明は、(1)物理メモリーの再利用及びリサイク
ルならびに(2)共通システムメモリーマップの共用の
ため、既存のアーキテクチャーと互換性がある。
パッチ化により、物理メモリーは、シップアウトプロ
セス中に再利用されうる。シップアウトが定期的にメモ
リーをアクセスするラスター方法は、メモリーのパッチ
を自由にし、これらのパッチは次のページを作成するた
めに使用されてもよいし〔ペイント・アヘッド(先行ペ
イント)〕又、印刷システムのその他の機能に割り振り
されることもできる。各々のパッチは、論理イメージ平
面(ビットマップ)内のどこにでも配置されうるため、
次に続くページイメージのペインティングは、使用可能
な自由パッチの数によってのみ束縛され、論理メモリー
でなく物理メモリーが用いられた場合のように解放され
ているパッチの位置に節約されることはない。
パッチ化を実施するのに必要なマップは論理メモリー
システム内のその他のソフトウエアーを実行するのに必
要なマップと共用されうる。かかる共用のための必要条
件は、各々の論理パッチ及び物理パッチにより用いられ
るアドレスの数が、そのシステム内のその他の割振り可
能なメモリー単位(一般にメモリーページと呼ばれる)
により用いられるアドレスの数に等しくなければならな
いという点である。マップを共用することにより、全て
の論理プロセスは、共通の待ち行列から物理メモリーを
割り振りすることができる。
パッチ化のための実現機構(スキーマ)は多平面構成
として表わすことができる。さらに限定的に言うと、こ
れは白黒の対照的な画素から成るページイメージについ
て3つの平面として論理的に記述される。これらの平面
のうち2つは、論理定義域内に存在し、もう一つは物理
定義域内に存在する。
第1のすなわち上部の平面は、ページイメージデータ
を記憶し検索するため中央演算処理装置(CPU)により
アドレスされる矩形のアドレスマトリクスとして組織さ
れた論理ページイメージメモリーにより表わされる。第
2のつまり中央の平面は、上部メモリーアレイからのア
ドレスをパッチ化の実行に必要なアドレスに変換するた
めの変換機構として機能する、実際には第1のものの陰
のメモリーである第2の論理ページイメージメモリーに
より表わされる。第3のつまり下部の平面は、第2の論
理メモリーアレイからのアドレスを受け処理装置が提供
するページイメージデータを物理メモリー内に記憶させ
るか又はここから検索させる、マッピングされた物理メ
モリーにより表わされる。
上部平面を表わすメモリーアレイは、純粋論理ページ
イメージメモリーと呼ばれ、中央の平面を表わすメモリ
ーアレイは、パッチ化された論理ページイメージメモリ
ーと呼ばれ、下部平面を表わす物理メモリーは物理メモ
リー又はマッピングされた物理メモリーと呼ばれる。
純粋論理ページイメージは、それぞれ印字済ページの
幅及び長さに相当するx及びyの次元をもつ。x及びy
次元により定義づけられる部域のメモリー内の細分性
は、印刷済画素の同等物である。x次元の値は、2の整
数累乗に制約され、走査方向においてプリンタが必要と
する画素の数以上である。y次元の値は、2の累乗に制
約されておらず、同様に、完全なページイメージのため
にプリンタが必要とする走査ラインの数以上である。
純粋論理ページイメージメモリーは、その全体にわた
り連続した1セットの論理アドレスを占める。各々のア
ドレスは、パッチ化が用いられるシステム内のCPUのデ
ータ母線内に含まれているビット数(データ母線の幅)
により標準的に決定されるx方向における予じめ定めら
れた一定量の画素をアクセスする。純粋論理ページイメ
ージメモリーアレイの最上最左コーナーを表わす部域で
ある、第1の画素をアクセスするアドレスは、相対的ゼ
ロアドレスと呼ばれる。アドレスは、左方向から右方向
に向かって画素をアクセスするよう増大する。画素は、
データ母線幅の絶対値(データ母線画素量)である量に
まとめられる。こうして、第1の画素の右側の隣接する
連続画素量は、ゼロ相対アドレスの連続する単一増分で
あるアドレスによりアクセスされる。ページ方向での第
1の画素に隣接する画素のアドレスは、メモリーアレイ
のx次元全体を決定するアドレス数の値を第1の画素ア
ドレスに付加することにより決定される。ページ方向に
おける連続する隣接画素は、メモリーアレイのx次元を
決定するアドレス数の絶対値であるアドレスとして決定
される。
パッチ化された論理ページイメージメモリーは、付加
的な論理メモリー空間を使用することなく作成される。
これは前述のように、上にある純粋論理ページイメージ
メモリーの陰のメモリーである。これは、陰のメモリー
内に論理パッチ境界を作成する効果をもつ純粋論理ペー
ジイメージメモリーのアドレスの恒常的置換により作成
される。パッチの境界は、それぞれxパッチ及びyパッ
チの量と呼ばれるx方向及びy方向の画素量であるもの
として決定される。1つのパッチ内の第1の画素は、パ
ッチの境界内の最上最左の画素である。第1の画素との
関係において、xパッチ量の絶対値は走査方向における
唯一のパッチの境界をマークし、yパッチの量は各々ペ
ージ方向における唯一のパッチの境界をマークする。
パッチ化された論理ページイメージメモリー内の第2
のメカニズムは、1つの相関関係を作り出しているた
め、線形アドレスの不連続セットのグループである1つ
のパッチの境界内に含まれているアドレスは、物理メモ
リーの連続する線形セグメント内でマッピングされう
る。この相関関係は又、純論理アドレスの前述の恒常的
置換の結果である。結果として得られるマッピングは、
純粋論理ページイメージメモリーに対し1対1であり、
1つのパッチにより束縛されている部域全体を通して線
形である相当する出力アドレスを作成する。
パッチ化された論理ページイメージメモリー内で、1
つのパッチにより束縛された部域内の第1のアドレス
は、第1のパッチアドレスと呼ばれる。第1のパッチア
ドレスは、パッチにより束縛された部域内の最上最左デ
ータ母線の画素量をアクセスするアドレスである。この
第1のパッチアドレスとの関係において、1つのパッチ
内の第1の線形セグメント内に含まれる各々の連続する
データ母線画素量のアドレスは、そのパッチの走査方向
境界に遭遇するまで、そのパッチ内に含まれるデータ母
線画素量の各々の絶対値について左から右へ単一増分だ
け増大する。パッチ内の第2の線形セグメントの最左ア
ドレスは、論理ページイメージメモリーのx次元を決定
するアドレスの合計数を第1パッチアドレスに付加する
ことにより決定される。そのパッチの走査方向及びペー
ジ方向の両方の境界に同時に遭遇するまで、第3以降の
線形セグメントのアドレスを決定するためプロセスが続
行する。
各々の論理パッチは、パッチ化された論理ページイメ
ージメモリーのアドレス出力の一部分(パッチ化された
又は置換されたアドレス1から抽出された唯一の識別番
号を有する。パッチ識別子すなわちパッチ化されたアド
レス内のサブフィールドは、パッチ化を用いるシステム
内の線形物理パッチの共通のサイズの絶対値を規定する
出力アドレスの一部である。パッチ識別子は、マッピン
グテーブルに対する入力として用いられるアドレスの一
部分である。マッピングテーブルの出力は、唯一のパッ
チ識別子に相当する物理パッチを規定するのに用いられ
る。
論理パッチの境界内のアドレスは、相応する物理パッ
チ内のアドレスに1対1でマッピングする。論理パッチ
の第1のアドレスは、線形物理パッチの第1のアドレス
にマッピングする。1対1の相関関係を維持しながら、
両メモリーのアドレスは、そのパッチの走査方向境界に
遭遇するまでデータ母線の画素量の絶対値各々について
単一の増分だけ増大する。このパッチの第2のアドレス
線形セグメントの最左のアドレスは、パッチ内の第1の
線形アドレスセットの最右アドレスに相当するアドレス
から単一増分だけ増大させられた線形物理アドレスにマ
ッピングする。ここでも、両メモリーのアドレスは、パ
ッチの走査方向境界に再び遭遇するまでデータ母線画素
量の絶対値各々について単一増分だけ増大する。このプ
ロセスは、パッチの走査方向及びページ方向の境界に同
時に遭遇するまで続行する。
オペレーション中、パッチ化を用いた論理メモリーペ
ージイメージ記憶、検索システムを実現するよう機能す
る4つの主要なプロセスがみられる。これらのプロセス
とは、(1)ページイメージデータのペインティングす
なわち作成及び記憶プロセス、(2)物理メモリーアド
レスへの論理パッチ化アドレスのマッピング(割振り)
プロセス;(3)プリンタへのページイメージデータの
シッピングつまり伝送プロセス;そして(4)印刷後の
待ち行列への物理パッチの復帰(割振り解除)プロセス
である。ペインティングプロセス中、CPLは、ページイ
メージデータを記憶するため1つのx−yラスター記憶
緩衝域として純粋論理ページイメージメモリーをアクセ
スする。物理パッチを有振りする、下にあるプロセス
は、必要に応じて又ブランクでない論理パッチについて
のみ達成される。シッピングプロセスは、完成されたペ
ージイメージを、配列されたページイメージ待ち行列か
ら印刷させる。割振り解除は、ページイメージデータの
パッチが印刷された結果として起こるものであり、この
パッチ内に含まれているページイメージデータを保持す
る必要性をなくする。
1ページイメージについてのペインティングプロセス
を始める前に、純粋論理ページイメージメモリーにより
束縛されているメモリー全体が、パッチ化された論理ペ
ージイメージメモリーから物理メモリーへマッピングさ
れる。このマッピングは、各々のブランク論理パッチ
が、1ブランクページを表わすページイメージデータを
含む共通物理パッチにマッピングされるという点でブラ
ンクページイメージに相当する。結果として得られるマ
ッピングは、圧縮されていないブランクページイメージ
に対する論理アクセスが単一の物理パッチにより全て達
成されるようなものである。ページイメージデータを記
憶するプロセス専用のその他の物理パッチは全て、ブラ
ンクページイメージデータを表わす共通条件に予じめ初
期設定されており、使用可能な物理パッチの配列されて
いない待ち行列(スタック)内にそれに相応する物理記
憶場所番号が記憶されている。
ペインティングプロセスは、1組のページレイアウト
命令に応えて作用し、これらの命令の各々は、CPUに対
し、実際のページイメージに相当する純粋論理ページイ
メージの限界内の一定の場所で圧縮されていないページ
イメージの一部分を作成するよう命じる。パッチ化され
た論理ページイメージメモリ内で1つのパッチにより束
縛されている1部域をもつ純粋論理ページイメージメモ
リ内のいずれかのアドレスにていずれかの画素の内容を
変えることをプロセッサーが試み、目標のパッチが共通
ブランク物理パッチにマッピングされる場合、パッチ故
障として知られている状況が存在する。パッチ故障は、
物理メモリーを、配列されていない物理パッチの待ち行
列から目標論理パッチへ割振りさせブランクでないペー
ジイメージデータが純粋論理ページイメージメモリーア
ドレスから、割振りされた物理パッチへ記憶されうるよ
うにする。パッチの割り振りが完了した時点で、パッチ
化された論理ページイメージメモリー内で同じパッチに
より束縛されている純粋論理ページイメージメモリー内
の1アドレスに対する付加的なCPUアクセスは、付加的
なパッチ故障をひきおこさない。これは、割り振りプロ
セスが、共通ブランク物理パッチと異なる1つの物理パ
ッチに、この論理パッチ内の部域全体をマッピングする
からである。
このペインティング工程は、次の2つの条件のうちの
1つが存在するようになるまで、1つのページイメージ
作成中続行する:(1)ページイメージが完成した場
合、又は(2)1つのパッチ故障と、目標論理パッチに
マッピングされるための物理パッチが全く入手不可能で
ある状態が両方共存在する場合。ページイメージが完成
した場合、完成したページイメージは、印刷のため待ち
行列に入れられる。ページイメージが完成していない場
合、物理メモリーの1セグメントが目標パッチにマッピ
ングするため利用可能な状態になるまでペインティング
工程内に遅延が存在する。望ましい物理メモリーは、以
前に待ち行列に入れられた完成したイメージの印刷の間
に解放(割振り解除)されそうして割振り解除された物
理パッチが前のページイメージの論理パッチに予じめマ
ッピングされた後、物理パッチの未配列待ち行列から検
索される。
割振り解除工程は、1つのページイメージのシッピン
グの間,物理パッチを割振り解除し、未配列待ち行列ま
で戻す。シップアウトプロセス中、純粋論理ページイメ
ージメモリを定期的にアドレスするラスター方法は、1
つのパッチの境界内のアドレスすべてをアクセスされた
状態にし、相応する物理ページイメージデータを検索さ
れ印刷された状態にする。印刷された後、目標論理パッ
チに相当する物理パッチの内容は、その物理パッチの内
容がブランクページイメージを表わすことになるように
する一定の条件まで復帰させられる。この物理パッチ
は、マップテーブルから除去された相当する論理パッチ
を基準としており、物理パッチの記憶場所は、利用可能
な物理パッチの未配列待ち行列まで戻される。物理パッ
チは、次に続くページイメージを作成する準備段階とし
て、共通ブランク物理パッチに再マッピングされる。
システム全体−第1図 第1図において、本発明に基づいて作動するコンピュ
ータシステムが示されている。このコンピュータシステ
ムには、データー母線10、アドレス母線11及び制御ライ
ン15を有する処理ユニット1が含まれている。1実施態
様においてプロセッサ1は、MotorolaTM68010マイクロ
プロセッサである。アドレス母線11を使用する処理ユニ
ットは、この例においては24ビットの1つのアドレスを
有する。すなわち、16メガバイド(16M)のアドレス空
間を表わすアドレスビットA(23,22,…,1,0)である。
アドレス母線は、マルチプレクサ(MUX)3を制御する
ためライン11−1に接続する最高位ビットA23を含んで
いる。マルチプレクサ3に対する1つの入力は、アドレ
スビットA(22,21…0)を含むアドレス母線11−2で
ある。アドレス母線11−3は、出力母線12上に変形され
たアドレスビットを与えるようアドレスビットを変形す
る置換機構2へ入力されるアドレスビットA(15,14,…
4)を含んでいる。好ましい1実施態様において、マル
チプレクサ3は、母線12上の置換されたアドレスビット
と組合わされるアドレスビットA(3,…,0)とアドレス
ビットA(20,…,16)をも受けとる。ライン11−1上の
A(23)のアドレスビットと共にMUX3により選定された
アドレスビットは、マップユニット4に対する1つの入
力として母線13上に組み合わせられる。マップユニット
4は、論理アドレス(母線13上の入力としての)から実
アドレス(母線14上の出力としての)への変形を実行す
る。母線14上のアドレスは、マッピングされたアドレス
AT(23,22,…,0)である。母線14上のマッピングされた
アドレスは、システムメモリー5をアドレスする。シス
テムメモリー5は、母線14上のアドレスによりアドレス
されると、母線10上にデータ出力を与える。
プリンタインターフェイス8は、プリンタ9により印
刷されるべきデータを受け入れるためデータ母線10と接
続する。
同様にデータ母線10に接続されているのは、処理ユニ
ット1からのアドレス母線11のアドレス空間の一部とし
てアドレスされる読取り専用記憶装置(ROM)7であ
る。ROM7は、処理ユニット1によりアドレスされたとき
データ母線10にデータを戻す。第1図のシステムには
又、処理ユニット1からの復号された指令により第1図
のユニットのさまざまなオペレーションを制御する制御
装置6が含まれている。一般に制御装置6により制御さ
れているプロセスは、システムメモリー読みとり(S
R)、システムメモリー書込み(SW)、マップ読みとり
(MR)、マップ書込み(MW)、プリンタインターフェイ
ス読みとり(PIR)、プリンタインターフェイス書込み
(PIW)である。制御装置6は又、フラグ(F)を受け
とり、処理ユニット1に対し割込みを与える。
第1図のシステムは、システムメモリー5、ROM7及び
その他の記憶装置のためのアドレスが論理アドレスであ
る論理メモリーシステムである。システムメモリー5の
ような物理メモリーをアドレスする前に処理ユニット1
から母線11上に現われるにつれて、これらの論理アドレ
スは、論理アドレスから実アドレスへマップユニット4
により変換される。
第1図のシステムは、2つのモードで動作し、そのう
ち1つのモードは、プリンタ9により印刷されるイメー
ジを制御するため論理イメージ平面を用いる。論理イメ
ージ平面オペレーションの間、高レエル指令が印刷すべ
きイメージ、論理イメージ平面内へのイメージのペイン
ティングそしてプリンタ9内での印刷のためのデータメ
モリーからプリンタインタフェイス8へのペイント済イ
メージデータのシップアウトを規定する。
第1図のシステムは又、論理システムメモリーの論理
アドレッシングを伴う従来の処理ユニットとしても動作
する。論理システムメモリー(従来の計算プロセスのた
めに用いられるもの)及び論理イメージ平面(印刷され
るべきイメージの形成を制御するために用いられるも
の)は全て、同一のアドレッシング設備を共用する。従
って論理イメージ平面は、第1図のシステム内で論理シ
ステムメモリーと統合され、単一の論理メモリーシステ
ムを形成する。
マップユニット−第2図 第2図においては、第1図のマップユニット4がさら
に詳しく示されている。マップユニットはアドレス母線
13上で24ビットの入力アドレスを受けとり、出力母線14
上で24ビットのマッピング済アドレスAT(23,…,0)を
与える。マップの読みとり又は書き込みのため、出力母
線14上の情報はゲート32を通してゲート母線10にゲーテ
イングされる。
第2図において、入力アドレス母線13は、入力母線13
から直接出力母線14まで変更なしに接続するアドレスビ
ットA(10…,0)を含む副母線13−2を有する。入力母
線13は又、アドレスビットA(12,…0)を含む副母線1
13−3及びアドレスビットA(23,…,11)を含む副母線
13−4をも有している。これらの副母線13−3及び13−
4は各々、母線13−3又は母線13−4のいずれかを選択
するマルチプレクサ27に接続されている。マルチプレク
サ(MUX)27は、制御装置26から制御ライン33により制
御されている。母線13上の論理アドレスがマップメモリ
ー28により論理的にマッピングされるときにはつねに、
母線13−4がマルチプレクサ27により選択される。マッ
プメモリー28内の一つの記憶場所からマップデータを読
みとり又は書き込みするためにマップメモリー28がアド
レスされるときにはつねに、母線13−3が選択される。
制御装置26は、母線13−1上に、母線13−3又は母線
13−4のうちのいずれを選択するべきかを決定するため
に用いられるアドレスビットA(23,…,20)を受けと
る。アドレスビットA(23,…,20)が全てゼロであった
場合、制御装置26は母線13−3を選択し、全てがゼロで
ない場合には、母線13−4が選択される。制御装置26は
MapWrite,MapRead,SystemWrite,及びSystemReadオペレ
ーションを規定するため制御装置6からMW,MR,SW,SR信
号を受けとる。制御装置26は、制御装置6までフラグ信
号(F)を戻す。ライン26上のフラグ制御信号は、ゼロ
検出ユニット29がマップメモリー28からの母線31上の出
力が全てゼロであることを検出した場合つねに生成され
る。制御装置26は又、ライン34上のランダムアクセス記
憶装置(RAM)を制御するため標準的な読みとり、書き
込み及びその他の制御信号も生成する。制御信号26は、
アドレスビットA(23,…,20)の全てゼロ条件の下で母
線10に母線14からの出力をゲーティングさせるライン35
上のゲート制御信号も生成し、MW又はMRは活動状態にあ
る。
第1図のメモリーシステムは、マッピング、必要に応
じての物理メモリーの割振りそしてソフトウェア及びハ
ードウェアのプロセスのセグメンテーションを含む論理
メモリーオペレーションを支援する。このシステムは、
16M論理アドレス空間内で異なるサイズの物理メモリー
と共に機能することができる。
ビットマップイメージをペイントするタスクをプロセ
ッサ1と共用することによりシステムの性能を改善する
ための1つのシステムコンポーネントとして、オプショ
ンのマスク生成機構(図示されておらず)を加えること
もできる。このコンポーネントは、特注コンポーネント
であっても、又、高レベル指令をページイメージビット
マップのコンポーネントに変換することのできる市販の
汎用図形集積回路であってもよい。
システム記憶装置40は、動的メモリーサイクリング、
物理メモリーの要求割振り、そして物理パッチと呼ばれ
るメモリーの単位を実行するのに必要なプロセッサ支援
を提供する。
本発明においては、物理パッチと呼ばれる予じめ定め
られたブロックサイズの論理メモリーに物理メモリーを
相関関係づけるためにマップが用いられている。物理パ
ッチのサイズは、システムのサイズ及び性能が要求する
とおり、各々のシステムの実行につて異なる可能性があ
る。理想的には、マップは、プロセッサ1の論理アドレ
ッシングの範囲全体をマッピングすることができるとい
うのが望ましい。マップを実行する2つの一般的方法
は、静的RAMによるものと、動的ランダムアクセス記憶
装置DRAMによるものである。
第2図のマップユニット内のMUX27は、母線13−3上
の最下位の13のビット或いは、母線13−4上のアドレス
母線の最上位13ビットを、マップRAM記憶装置への入力
として選択する。
プロセッサ1のアドレッシング範囲は、空間に細分さ
れる。結果として得られる空間はシステムの物理ピース
に割当てられる。0から1Mのメモリー空間は、ROM7、シ
ステムレジスタメモリー(図示されておらず)及びMAP
ユニット4メモリーをアドレスする。
このメモリー空間において、論理と物理は同等であ
る。この部域がシステムの固定されたピースを表わすか
らというだけではこの部域をマッピングする理由にはな
らない。アドレスは、プロセッサのアドレス母線から復
号(マッピングと反対に)される。
1Mから8M−1まで(100000HEXから7FFFFFHEXまで)の
メモリー空間は、論理システムメモリーである。システ
ムのこのメモリー空間は、プロセッサのアドレッシング
範囲の7つのメガバイトを表わす。システムは、この部
域を2キロバイトのブロックで実(物理)メモリーにマ
ッピングする。
8Mから16M−1まで(800000HEXからFFFFFFHEX)のメ
モリー空間は、論理イメージメモリーのためのものであ
る。システムのこの部域は、プロセッサのアドレッシン
グ範囲の8つのメガバイトを表わす。システムは2つの
メガバイトのブロックでこの部域を実物理メモリーにマ
ッピングする。
マップ内のアドレス母線の上位13ビット又は下位13ビ
ットの使用を区別する良い方法は、メモリー(上位13ビ
ットをマッピング)又はマップ自体(下位13ビットをマ
ッピング)をアクセスするためにアドレス母線全体がい
かに使用されるかを示すことである。論理メモリーアク
セスから始めてマップアクセスに逆戻りして調べてみる
と、マップ内でのアドレスMUXに対するニーズを理解す
る助けとなる。
第2図において、プロセッサがシステムメモリーをア
クセスしていることを見極めるため最上位の4つのビッ
トA(23,22,21,20)がまず復号されるとき、システム
メモリーへのアクセスのためプロセッサ論理アドレスか
ら物理RAMアドレスが得られる。その後、このアドレス
はその上部及び下部部分に分割される。下部の11ビット
A(10,…,0)は、マッピング中の2Kバイトの物理パッ
チ内のオフセット(局所アドレス)を表わすため、分離
され保護される。本実施例においては、一連の8画素の
内の何れの画素を実際印刷するかが、8ビットのマスク
ピットによって指定されるので、1パッチ分の128×128
画素が11ビットによって指定可能となる。上部の13のビ
ット、A(23,…,11)は、論理メモリーの2Kバイト論理
パッチの番号を表わし、マップ内のオフセットをアクセ
スするためマップへ移される。マップの出力(13ビッ
ト)は、もとの論理アドレスの保護された11ビットA
(10,…,0)と再度組合わされ、物理メモリーをアクセ
スするための単一のアドレスを形成する。このようにし
てマップをアクセスするとき、オフセットは、プロセッ
サのアドレス空間全体内の絶対値2Kである。
第2図において、プロセッサのアドレスは、部分的に
マップから誘導されたその物理アドレスをもつメモリー
記憶場所ではなくマップ自体をプリンタがアクセスしよ
うとしていることを見極めるためこのアドレスの上部4
つのビットがまず復号されるとき、マップRAMの内容を
アクセスするために用いられる(プログラミング又は確
認用)。このオペレーションによりオフセットの内容は
システムデータ母線10上のマップ内に置かれ、データは
プロセッサにより解析されうることになる。以前のオペ
レーションにおいて、物理RAMメモリーの内容は、プロ
セッサによる解析のためデータ母線上に置かれた。この
ようにしてマップをアクセスするとき、オフセットはプ
ロセッサのアドレス空間の16Kのバイト部域内で連続し
ている。
第2図において、システムのメモリーアクセス中のオ
ぺレーションは、マップアクセス中のシステムのオペレ
ーションと異なる。これら6つの間の主要な違いは、
「アドレス空間」デコーダの出力及びマップの使用にあ
る。第2図において、マップ情報を読みとるか又は書き
込むのにRAM28をアクセスしているとき、制御装置26はR
AM選択出力を、ゲート32と共に活動状態にさせる。第2
図において、変換を実行するためにプロセッサーがマッ
プをアクセスしているとき、ゲート32は活化されておら
ず、マップは物理メモリーの1物理パッチに対する1ポ
インタとして用いられる。
記憶装置40内のMUX27を用いる必要なくマップ設計を
実行するのに用いることのできる方法が他にもある。1
つの方法では、マップアクセスとメモリーアクセスを識
別しこうしてマップとメモリーが同じアドレスでアクセ
スされうるようにする制御ビットが用いられる。この制
御ビットを用いると、マップはメモリーをアクセスする
のに用いられるプロセッサのアドレスの同じ上位13ビッ
トを用いてアクセスされるため、このマップ内のオフセ
ットは、2Kのアドレスだけ離れているものとして計算さ
れる。
第2図において、ペインティングのための論理アドレ
スでマップメモリ28がアクセスされると、0−検出器29
によりオールゼロの出力が検出され、この出力により制
御装置26は第1図の制御装置6にフラグ(F)を送るこ
とになる。第1図の制御装置6は処理ユニット1を中断
し、第8図に従った割振り工程を実行させる。
シップアウト工程中、論理アドレスによりマップメモ
リー28がアドレスされ、0−検出器29がオールゼロ条件
を検出した場合、制御装置26は、第1図の制御装置6へ
のフラグ(F)を抑制する。メモリー制御装置26は、マ
ッピングされた物理パッチ、ゼロにある物理メモリー5
をアクセスさせ、この物理パッチゼロ(ブランク論理パ
ッチに相当するブランク物理パッチ)の内容はプリンタ
にシッピングされる。
シップアウトを実行するのに用いられうる第2図の方
法は、メモリーからページイメージデータを検索するた
めブランク論理パッチがアドレスされたとき、メモリー
アクセスを保存する。このようにして、論理アドレスを
用いてマップメモリー28がアドレスされ、0−検出器29
がオールゼロ条件を検出した場合、制御装置26は、第1
図の制御装置6に対するフラグ(F)を抑制する。制御
装置26は又、ゲート32を使用可能にして、オールゼロ条
件をデータ母線10にゲーティングし次に第1図のプリン
タインターフェイス8にもゲーティングする。オールゼ
ロ条件は、特定の論理アドレスが、割振りされておらず
従って暗黙裡には共通ブランク物理パッチに割振りされ
た1つの物理アドレスに相当することを示すものであ
る。実際この共通物理パッチは、マップメモリー28から
のオールゼロの記憶場所である。このようにして、共通
の暗黙裡に割振りされた物理パッチが指定されていると
きにはいつでも、第1図のシステムメモリー5に対する
いかなるメモリーサイクルも浪費される必要がない。オ
ールゼロデータは、システムメモリー5のメモリーサイ
クルを待ったことなく第1図のプリンタインターフェイ
ス8に直接ゲーティングされる。
仮想メモリー空間−第3図 第3図の論理メモリー空間は、1つの例において16メ
ガバイト(16M)のサイズをもち、第1図のプロセッサ
1からのアドレス母線11上で24のアドレスビットA(2
3,22…,1,0)により定義づけされている。最高位アドレ
スビットA23は論理アドレス空間を2つの部分すなわ
ち、A23が0のとき0から8M−1までの論理システムメ
モリーとA23が1のとき8Mから16M−1までの論理イメー
ジ平面(LIP)に分割する。この論理イメージ平面は、A
23が1であることを条件として、アドレスビットA(2
2,21)の値00,01,10及び11により表わされるそれぞれ8M
−(10M−1)、10M−(12M−1)、12M−(14M−1)
及び14M−(16M−1)のブロックを含む4つの論理イメ
ージ平面、LIP0,LIP1,LIP2及びLIP3に分割される。
4つの最高位アドレスビットA(23,22,21,20)が全
てゼロである場合にはつねに、このアドレスは0と(1M
−1)の間の論理システムメモリー内のアドレス空間の
1メガバイト内にあるものとして定義づけられ、このア
ドレス空間において論理アドレスは実(物理)アドレス
と同じである。
論理メモリーイメージ平面−第4図 第4図は、第3図の論理イメージ平面0(LIP0)を示
しており、第3図の4つのイメージ平面LIP0,LIP1,LIP2
及びLIP3の典型的なものである。
論理イメージ平面は、1テーブル(表)又はx−y座
標グリッド表示の形に組織された1組の論理(仮想)ア
ドレスであるものとして定義づけられる。グリッド上の
座標は、次の公式により位置指定される:すなわち論理
アドレス=Ny+x;なお式中、Nは平面の幅(Nはビット
数、バイト数、ワード数又は他のあらゆる単位にて測定
されうる)であり、平面のベースはアドレス0にあると
仮定されている。
パッチは、物理メモリーにマッピングされたときアド
レスの連続又は線形セットを占めるような論理メモリー
の矩形領域であるものとして定義づけられる。
論理イメージ平面は、1ページのビットマップラスタ
ーイメージが上に作成される論理的表面として用いられ
る。第4図のLIP0平面は、4096ビットの四方形のグリッ
ドで構成され、開始論理16(進)アドレスを800000と
し、データ母線幅を16ビットと仮定している(なおここ
で、この開始アドレスは便宜上、第3図のアドレス空間
の上半部(8M−16M−1)の最初(8M)であることに留
意されたい。平面の4つの2コーナーは、16(進)バイ
トアドレス800000(左上コーナー)、801FFF(右上コー
ナー)、9FFEOO(左下コーナー)、9FFFFF(右下コーナ
ー)により境界づけ(束縛)されている。
第4図の平面の幅及び高さは、次の3つの理由で選ば
れた:(1)平面は2の累乗(212)及びデータ母線内
のビット数(16)の整数倍数の両方であるビット幅(4,
096)をもっているため、この平面内のいずれの点もx
及びyの両方向において1つのオフセットとしてたやす
く位置指定される:(2)平面は、1インチあたり300
ドットで8.5×11インチの文書イメージを含むのに充分
大きいものでなくてはならない;(3)平面の幅及び高
さは各々、それぞれ平面を細分するのに用いられる個々
のパッチマトリクス(32×32パッチ)の共通の幅及び高
さの整数倍でなくてはならない。
論理イメージ平面(図示されておらず)の第2図の例
は、電子植字機の標準的サイズ及び密度である1インチ
あたり2500ドットで13インチ幅のシート又は1インチあ
たり1200ドットで17インチ幅の巻き紙シートについて1
つのイメージと含むのに最適な幅及び高さである水平3
2.768(32K)ビット×垂直512ビットの矩形マトリクス
から成る。1インチあたり1200ドットで17インチの1枚
の紙は、最大1ラインあたり20400ビットを消費し、32K
はこのページ幅を含む2の最も近い累乗である。論理イ
メージ平面の最小高さはエンジン条件を満たすのに充分
なものでなくてはならず、又、1パッチの高さの整数倍
数でなくてはならない。この例において、エンジンは、
ページイメージがピースの形で作成されシッピングされ
るようにするバンド(又はスウォース)同期装置である
ものと仮定され、又、一定の与えられたメモリー配置と
互換性があるものと仮定される。
両方の例は共に、2メガバイトの同じサイズの論理イ
メージ平面を使用する。これらの例は、パッチ化の使用
を容易にするよう1つの論理イメージ平面を構成する方
法のうちのほんの2つにすぎない。各々の実施のために
実際用いられる平面のサイズは最終的に、作成されるペ
ージイメージのサイズ、個々のパッチの共通サイズそし
て望ましい又はプロセッサの論理メモリー範囲内に存在
しうるイメージ平面の数(第3図の例においては4つ)
により決定される。
論理アドレス変形−第5図 第5図は、パッチの32×32行列マトリクスが形成され
るよう32のパッチ行{P(0,0),…,P(0,31};…;
{P(1,0),…,P(1,31)};{P(31,0),…,P(3
1,31)}に組織された第4図の論理イメージ平面を表わ
している。パッチは、論理アドレスを変形することによ
り作成される。この変形は、個々のパッチを作り上げて
いる論理アドレスと論理イメージ平面を作り上げてパッ
チの集合(パッチマトリクス)内でビットフィールドを
識別しラベリングすることにより達成される。
論理アドレス変形が、各々128×128ビットのアレイか
ら成る第5図の32×32のパッチのアレイに第4図の4096
×4096ビット論理イメージ平面をパッチ化することをど
のように可能にしているかを説明するため一つの例が次
に示されている。第5図の32×32のパッチアレイは第4
図の論理イメージ平面を完全にタイル張りする。
第5図の予じめ定められたマトリクスを作成するため
に必要とされるアドレス変形は、23ビットの論理アドレ
スA(22,21,…,0)について実行される。論理アドレス
は次の4つの主要なコンポーネントに細分される:
(1)32×32のパッチアレイ内のそのパッチの行の場所
であるイメージ平面行(Y5);(2)1つのパッチ内の
128の利用可能な行の1つであるパッチ行(Y7);
(3)論理イメージ平面を形成する32×32のパッチアレ
イ内のそのパッチの列の場所であるイメージ平面列(X
5);及び(4)そのパッチ内の16ビットのデータフィ
ールドの列の場所であるパッチ列(X4)。パッチ行(Y
7)は、パッチを形成するバイトに対する適切なパッチ
アドレスを得るためイメージ平面列(X5)とスワップさ
れる。
論理アドレスフィールド及びそれらの変換方法につい
ての説明は、以下の表1から表5と結びつけて、以下に
与えられる。
表1において、BYTEアドレスX9は、論理イメージ平面
の各行内に現われる512(32×16)バイトを表わす論理
アドレスビットA(8,…,0)により表わされている。RO
WアドレスY12は、論理アドレスビットA(20,…,9)に
より表わされるような1つの論理イメージ平面内に起こ
る4096(32×128)行のバイトを表わす。アドレスビッ
トA(22,21)は、4つの異なる論理イメージ平面を定
義づけする。アドレスビットA(23)は、論理イメージ
平面と論理システムメモリを区別する。
表2において、X9アドレスフィールドはアドレスビッ
トA(8,…,4)についてのX5アドレスフィールドとアド
レスビットA(3,…,0)についてのX4に分割される。
同様に、Y12フィールドは、アドレスビットA(20,
…,16)に対するY5フィールドとアドレスビットA(15,
…,9)に対するY7フィールドに分割される。
表3において、パッチ化変形は、X5及びX7のフィール
ドの表2内に配列を逆にすることにより起こる。このよ
うにして、Y5フィールドはイメージ平面行(IP−ROM)
を、X5フィールドはイメージ平面列(IP−COL)を、Y7
フィールドはパッチ行(P−ROW)をそしてX4フィール
ドはパッチ列(P−COL)を表わす。
表4には、表8内のペインティング命令I1のための論
理アドレスに相当する、論理アドレスの特定的な一例が
示されている。
表5には、表4の論理アドレスを変形した結果得られ
る変形済アドレスが示されている。
表1から5までのフィールドの解釈は以下のとおりで
ある。4つの最下位X4アドレスビットA(3、……、
0)は、各パッチ内の128の列を作り上げる16のバイト
(8ビットデータフィールド)を2進的に表わしてい
る。次の5ビットのX5グループA(8、……、4)は、
論理イメージ平面内の32のパッチ列を2進的に表わして
いる。次の7つのビットのY7グルーブA(15、……、
9)は、各パッチの128の内部行を2進的に表わしてい
る。次の5つのビットのY5グループA(20、……、16)
は、論理イメージ平面内の32のパッチ行を2進的に表わ
している。残りの2ビットのPAグループA(22、21)
は、論理イメージ平面を2進的に表わし、ビットA(2
3)は、論理システムメモリの論理イメージ平面を識別
する1ビットである。
オペレーション ペインティング及び印刷のプロセスは、第3図に関連
して説明されているように共通の論理メモリーを共用
し、イメージがその中でペイント及び印刷される第1図
のシステムメモリー5内に記憶された共通の物理イメー
ジメモリーを共用する。論理空間は、Rの論理パッチに
細分化され、物理アドレス空間はS個の物理パッチに細
分され、これらは各々MXNの画素アレイを表わすデータ
を記憶することができる。各々のパッチは、論理パッチ
について0からR−1の1パッチ番号で、又物理パッチ
については0からS−1の番号により特徴づけされる。
第5図に関連して説明されている実施態様においては、
MはNに等しく、各々は32に等しい。標準的にSはRよ
りも小さい。
パッチを記憶するのに必要な物理メモリーの場所は、
必要とされる場合にのみ割振りされる。物理メモリーの
未使用パッチのパッチ番号は、システムメモリー5内に
位置指定された物理パッチ番号のスタック内に記憶され
る。ペインティングプロセスに物理パッチが必要である
場合、これはスタックから利用可能なパッチ番号を得、
第2図のメモリー28内のマップの入口にバッチ番号を記
憶することによりそのパッチを1つの論理パッチに割振
りする。物理パッチを用いて印刷プロセスが終了する
と、このプロセスは、このパッチを割振り解除し、その
パッチ番号を未使用のパッチ番号のスタックに戻す。物
理パッチが割振りされるとき、その物理パッチは、その
論理アドレス空間内の1論理パッチに相当する。
利用可能な未使用のパッチ番号の集合は未配列であり
うるため、未使用の物理パッチ番号を記憶するには1つ
のスタックが用いられる。すなわち、ペインティングプ
ロセスが次の未使用パッチ番号を要求するとき、割当て
されたパッチ番号は重要でない。
ペインティング及び印刷のプロセスは、1つの論理ア
ドレス空間すなわち、その中でイメージがペインティン
グされ印刷される第3図の論理イメージ平面を共用す
る。論理アドレス空間は、各々印刷済のページのイメー
ジを記述するのに充分大きいページと呼ばれるPA領域に
細分される。第3図と関連して記述されているように、
PAは4に等しい。各々のページは、その論理アドレス空
間内の特定のページの始めを指す、ページアドレスビッ
トA(22、21)の値を表わすオフセットにより特徴づけ
られる。
システムは、未使用のページのオフセットのスタック
(00、01、10及び11)を維持し、このスタックからペイ
ンティングプロセスは、次のページをペイントするため
現行のペインティングオフセット番号として使用する1
つのオフセットを得ることができる。ペインティングプ
ロセスが終わり1つのページがペイントされると、この
プロセスは印刷すべきページを表わすオフセット番号の
待ち行列上にそのオフセットを入れる。印刷プロセス
は、それが次のページを印刷し始める準備が整ったとき
いつでもオフセット番号の待ち行列から1オフセットを
出す。1つのページを印刷している間、このプロセス
は、現行の印刷オフセット番号としてそのオフセットを
維持する。印刷プロセスが終わり1ページが印刷される
と、このプロセスは現在用いられているオフセット番号
を未使用のオフセット番号のスタックに戻す。
未使用のオフセットの集合は未配列として処理されう
るという理由で、この集合を記憶するのにスタックが用
いられる。すなわち、ペインティング工程が1オフセッ
トを要求したときそれがどの未使用オフセットを得るか
は重要ではない。しかしながら、ページがそのペイント
順に印刷されるよう、印刷すべきページを表わすオフセ
ットの集合を記憶するためには1つの待ち行列が用いら
れる。
一般に、1つのペインティング指令は、多数のワード
に影響を及ぼし、多数のパッチに影響を及ぼし、ペイン
トすべきマスクを参照指示し、特定のテクスチャー(質
感)に従ってペイントし、既存のイメージ及びテキスチ
ャーの任意の関数として結果として得られるイメージを
生成し、以前に規定されたクリッピング領域内でそのイ
メージの一部分に影響を及ぼすよう制限されることがで
きる。
一般に、以下の条件が満たされているかぎり、オール
白又はオール黒といった多数の暗黙のパッチタイプに備
えることができる。1つのマップ入力は、パッチタイプ
を区別することができなくてはならない。読みとりのた
め暗黙のパッチタイプがアクセスされた場合、そのタイ
プに適するデータが提供されなくてはならない。ペイン
ティングプロセスがオール白(全てのパッチが1ページ
のペインティングの最初において初期設定されるタイ
プ)以外の暗黙のパッチタイプを利用するようにするた
めには、これは、通常の方法すなわちワード毎にペイン
トするのではなくマップ入力を明示的に変えなくてはな
らない。従ってシステムは、それがパッチ全体をペイン
トしていることそして目ざす結果がタイプにより暗黙に
記述されうることを認識しなくてはならない。この例に
おいては、全ての画素が「白」である単一のタイプの暗
黙のパッチが用いられている。
第1図の置換機構2による論理アドレスの変形は、1
つの論理パッチを作成し、このパッチは次に第1図のマ
ップユニット4により物理パッチにマッピングされる。
論理メモリーは論理イメージ平面に区分され、論理アド
レスは論理パッチを作成すべく変形される。
システムオペレーションは、(1)解釈、(2)ペイ
ンティング及び(3)シップアウトの組合せオペレーシ
ョンである。システムはコード化されたデーターのスト
リームを受けとり、これら3つのプロセスの相互作用を
通して、1つの出力として印刷済ページを作成する。
解釈 解釈プロセスは、一連の高レベル指令としての1ペー
ジを表わす入ビットストリームを代行受信し、ペイント
機構がとる行動の一連の低レベル又は中間の記述を作成
する。システムは、ペイント機構がとるべき行動の数多
くの高レベル又は中間の記述を解釈し実行する。システ
ムは、2つの与えられた点の間に線を引くこと、1つの
与えられた点及び半径(単数又は複数)から円又は楕円
を作ること、与えられた又は予じめ定められた基準テク
スチャで多角形を充てんすること又は1ページイメージ
内の与えられた位置内に1つの文字を置くことを含む数
多くの高レベル指令を解釈し実行する。
ペインティング ペインティングプロセスは、インタープリタからその
ページの中間記述(例えば表8の指令)をとり、メモリ
ー内にページイメージを作成する。このページイメージ
は完成した時点でラスター書式にてエンジン(プリン
タ)にシッピングすなわち伝送される。ペインティング
プロセスは、論理メモリ、ひきつづき行なわれる物理メ
モリーへの論理メモリのマッピング及び論理メモリーの
パッチ化に依存している。
第3図に関連して記述されているような論理メモリー
は、システムメモリー5内の結びつけられた物理メモリ
ーのサイズとは無関係にプロセッサ1のアドレッシング
範囲のみによって決定されるサイズを有する。物理メモ
リーに対する論理メモリーの相関関係は、マップユニッ
ト4内のテーブルを用いて達成される。マップユニット
4は、物理メモリーのブロックが再利用され論理メモリ
ーのいずれか新しいブロックに対し再割当てされうるよ
うにする。
ペインティングのための論理メモリーは、最終ページ
のものと同じ長さ及び幅をもち使用するプリンタのもの
と同じ印刷ドット密度をもつ1枚の紙として割当てられ
た論理メモリーアレイをペイント機構が見れるようにす
るようなやり方で割振りされる。割振りされた論理メモ
リーアレイは次に、同一の形のピースから成るパズルに
似た形でそのシートを集合的に表わすパッチと呼ばれる
四角形又は矩形といった小さな論理部域に細分される。
各々別々のアドレスを持つ全ての論理パッチは最初、白
又はその他の背景カラーで着色されている単一の物理パ
ッチにマッピングされる。システム内でブランクシート
は、全て1つの共通物理パッチすなわち背景カラーを含
むものの割当てを受けている通常の1組の論理パッチに
より表わされる。
イメージを作成するにあたり、ペインティングプロセ
スは、イメージメモリー内のいずれかの記憶場所におい
て図形目標物又はテキスト目標物を始めるよう命令を受
けることができる。背景カラー以外の情報を含むようペ
イント機構により要求された論理パッチは、システムに
よりそれ自体の独自のセグメントの物理パッチの割振り
を受ける:この物理パッチは、特定の論理パッチのため
の背景カラーを置換する。ペインティング及びメモリ割
振りプロセスは、全てのペインティングが完了するまで
又は利用可能な全ての物理メモリーが消費されるまで続
き多数のページイメージを生成することさえできる。
ペインティング中のメモリーアクセスは、バイト(8
ビット)、ワード(16ビット)又は長いワード(32ビッ
ト)といった、単一ビットより大きい単位にて、一般に
行なわれる。メモリーアクセスのビットフィールドを完
全に満たさない目標物ペインティングに備えるため、各
々のメモリーアクセスはペインティングの間に読取り−
変更−書き込みメモリーサイクルを使用する。このサイ
クルのうち読み取り部分は、変更されるべきでない個々
のビットが保存され書込みサイクル中に重ね書きされえ
ないようにするために必要とされる。
シップアウト ペインティングプロセスが1ページイメージ又はその
イメージのいくつかの部分(プリンタがページ同期化さ
れていない場合にのみ許される)を完了した後、シップ
アウトプロセスが始まり、システムメモリー5から第1
図のプリンタインターフェイス8へそのページイメージ
をコピーする。オプションのDMAチャネルを初期設定す
るか又は直接データ転送を用いることにより、CPUはシ
ップアウトプロセスを始める。プロセッサ1はシップア
ウト中のプロセッサーの活動に対する必要性を見極める
ためメモリーをポーリングすることもできるし又中断機
構を用いることもできる。DMAが用いられる場合、プロ
セッサはDMAがシップアウトを実行する間その他の機能
を実行できるため、システム性能は増大させられる。
シップアウトプロセスは、ラスタ書式中で左から右、
上から下に論理メモリーパッチをアクセスする。パッチ
の底部ラインがシッピングされた後、これは自由パッチ
とみなされ、再利用され、もう一つのページイメージを
作成するのに用いられることができる(そのパッチ内の
いずれかのイメージが例えば第2のコピーのためといっ
たように再度用いられないということを仮定して)。再
利用は、論理パッチをその背景カラーに戻って物理的に
再マッピングすること及びその物理パッチから以前にペ
イントされたイメージを消去すること(ならびにフリー
リストにその物理パッチ番号を再度入力すること)から
成る。オプションのDMAが用いられる場合、シッピング
の後プロセッサの制御の下で行なわせてもう1つのペー
ジイメージのための準備として消去プロセスを促進する
代りに、オペレーションは、シッピング中にそれがアク
セスする各々のメモリービットを消去するようにプログ
ラミングされうる。
パッチ化の3つの主要なコンポーネントは、論理メモ
リー(イメージ平面及びアドレス変形を含む)、論理か
ら物理のメモリーマップ及び物理パッチ割振り機構及び
割振り解除機構である。
マッピング マッピングは、論理メモリーを物理メモリーに相関さ
せるか又は割当てるのに用いられるシステムオペレーシ
ョンであり、第2図のRAMテーブル28を用いる。マップ
を管理可能なサイズに保つため、論理及び物理メモリー
は、往々にしてメモリーページと呼ばれるブロックの形
に組織される。各々のブロック(メモリーページ)に対
する物理から論理へのアドレスの割当ては、マップ内の
各々の要素により設定される。各ブロック(メモリーペ
ージ)内のアドレスは論理及び物理の両領域内でメモリ
ーの連続した場所を占める。
マップが論理メモリーと物理メモリを相関させるのに
役立つ形の一例を挙げると以下のとおりである。ブロッ
クサイズを2キロバイトと仮定すると、4096ビットの幅
のパッチ化されていない論理イメージ平面(論理ページ
N)の各4本のラインは、マップ内の異なる要素によ
り、物理メモリ(物理ページM)に相関される。
第6図を参照すると、1つの例は、論理メモリーイメ
ージから物理イメージにパッチをマッピングするのに用
いられる方法を示している。この例は、128×128ビット
(128×16バイト)のパッチ(2キロバイト)を用いて
いる。このパッチの内部論理アドレスは、論理アドレス
の128の不連続16バイト線形セグメントに相当する(す
なわち1パッチ内の128の別々の画素ラインの各々に対
して1セグメント)が、パッチの個々のデータバイト
は、連続する物理アドレス2キロバイトにより引用され
る。
第6図において、第5図の論理イメージ平面は1行あ
たり16バイトの128行から成るパッチP(0、0)を有
する。これらのバイトは、第1行についてバイトアドレ
スB(0)、‥‥、B(15)で、第2行についてB(51
2)、‥‥、B(527)で等々、最終行についてB(5263
36)、‥‥、B(526351)に至るまで、(0−相対)で
番号づけされている。これらのバイトアドレスは、論理
アドレスであり連続していない。第6図のマップを通過
させられた後、バイトは9から‥‥、2,047の物理メモ
リーの連続サクションにおいて再マッピングされた形と
なる。
非連続論理アドレス空間から連続物理アドレスへの再
マッピングは、第6図と関連づけて説明されている。第
6図において、アドレスは16進であり、0−相対ではな
い。バイトB(0)……B(15)に対するパッチP
(0、0)のための論理アドレスの第1行は、(80000
0)、……、(80000F)である。B(512)、……、B
(527)に相当する第2行は、それぞれアドレス(80020
0)、……(80020F)を有する。
アドレス変形により、1つのパッチ内に含まれている
パッチのx−yグリッドは、マッピングされたとき物理
アドレスの連続したブロックを占めることができる。以
下の表6は、第6図に相当するパッチ論理アドレスを示
している。
第5図内の論理アドレスの変形は、マッピングされた
アドレスが連続的なものであることを実証している。表
6内の最初のアドレス(800000HEX)は、パッチP
(0、0)の最初のバイトアドレスをマークする同じパ
ッチ化されたアドレス(800000HEX)に変形する。パッ
チP(0、1)内の変形されたアドレス800010HEXは、
起動位置から2,048バイトであり従って起動アドレスと
の関係において非連続メモリーの異なる2キロバイトブ
ロック内に含まれている、パッチ化されたアドレス8008
00HEXとなる。垂直方向では、論理アドレス800200HEXが
論理イメージ平面の第2のラインに対するバイトB(51
2)の最初のアドレスをマークする。論理アドレス80020
0HEXは、そのパッチの最初からちょうど16バイトの位置
であり従ってバイトB(0)と同じ連続メモリーの2キ
ロバイトブロック内に含まれている物理アドレス800010
HEXに変形される。同様に、1パッチ内のその他のバイ
ト全てが、連続物理メモリーに記憶される。
物理メモリーの割振り及び割振り解除 物理メモリー割振り及び割振り解除プロセスは、パッ
チ化と関連づけて実行される。まずパッチ割振りプロセ
スが行なわれ、次にこのプロセスを利用してメモリー内
にページイメージを作成し、その後割振り解除によりシ
ップアウトプロセス中にメモリーが再利用されうるよう
になる。
パッチ割振り パッチ割振りプロセスには、物理メモリーを論理メモ
リーイメージ平面内にあるパッチに割当てる又はマッピ
ングすることが関与する。このプロセスは、ペイント機
構により用いられるパッチのみが割振りされるため、選
択的である。割振りは、要求に応じて達成され、これ
は、割振りされていないパッチにペイント機構が書き込
もう(ペイントしよう)とする最初の時として定義づけ
られる。
論理メモリーイメージ平面は、それがペインティング
プロセスに与えられる前にクリヤーすなわち消去され
る。一平面は、それを含む論理パッチの各々がブランク
条件を示すようマーキング又はラベリングされたとき、
白紙のようにブランクであるとして特徴づけられる。こ
のラベルは、共通物理パッチへの各々の個別論理パッチ
のマッピングから成っていてもよく、従って共通物理パ
ッチのアクセスは同じくブランクフラグをもアクセスす
る。第2の方法では、そのパッチが割振りされているか
否かを示すマップ内の付加的なタグビットが使用される
可能性がある。いずれの場合でも、ブランクとして示さ
れているパッチは、たとえそのパッチが共通のブランク
物理パッチにマッピングされ得るとしても、割振りされ
ていないものと考えられる。
第5図は4096×4096ビット(2メガバイト)の次元を
もち、各々128×128ビットから成る32×32のパッチアレ
イでタイル張りされている、パッチ化された論理イメー
ジ平面を示している。第11図においては、1インチあた
り300ドットで8.5×11インチのページイメージが第5図
のパッチ化された平面上のオーバーレイとして示されて
おり、これは図示されているとおり、平面全体を網羅し
ていない。このページイメージは平面の左上のへりに相
対して示されているが、これは、この平面の境界内にペ
ージイメージ全体が含まれうるようにする平面内のいず
れの位置にでも再配置されうる。例のイメージは、水平
方向に20パッチ未満、垂直方向に26パッチ未満を網羅し
ている。しかしながら、パッチはつねに1つの完全な単
位として割振りされるため、ページイメージを含む論理
記憶域は、水平パッチ20×垂直パッチ26×インチあたり
2キロバイトでありこれは1メガバイトに等しく、1ペ
ージについての論理メモリーイメージの部域の半分であ
る。
第12図は、平面の左上コーナーにイメージが位置づけ
された状態の、第11図内のページイメージを含む20×26
パッチのマトリクスを表わしている。第12図内のパッチ
マトリクス内のパッチは各々、カッコ内に示された唯一
の記憶場所番号ならびにその下の第2の数字により表わ
されている割振りフラグを有している。記憶場所番号
は、そのページイメージを含むパッチの20×26のマトリ
クス内のそのパッチの(x−y)座標である。パッチの
各々の中の記憶場所番号の下のゼロは、これらのパッチ
の各々がブランクパッチである物理パッチゼロにマッピ
ングされているすなわち、そのページイメージがブラン
クであることを示す。
表6は、16進アドレス800000がそのページの左上コー
ナーの最初のバイトを含んでいることを仮定して、第12
図のパッチのアレイをシステムがアドレスする方法を表
わしている。この例の中の太線は、パッチの境を表わ
し、各パッチはx軸に沿って16バイトそしてページイメ
ージのy軸に沿って128の画素ラインを含んでいる。小
さな矩形の内側のアドレスは、個々のバイトをアクセス
する線形論理イメージ平面アドレスである。y軸に沿っ
た文書イメージの各画素ラインの最初の論理メモリーイ
メージ平面アドレスは、先行するラインの始めからちょ
うど4096ビットである。
パッチ割振りは、割振りされていないパッチへのペイ
ンティング即ち書込みオペレーションの検出であるパッ
チ故障の結果として起こる。論理アドレスを用いて1つ
のイメージがペイントされ、故障は、変形された論理ア
ドレスがマッピングされていないパッチに対するアクセ
スを示すにつれて発生する。
この例において、第1図の処理ユニット1からの論理
アドレスは、置換機構2によりパッチ化された論理アド
レスに変形され、マップユニット4をアクセスするため
に用いられる。特定的にいって第2図のゼロ検出器29か
らのマップユニット4内のフラグは、そのアクセスが割
振りされていないパッチを含んでいることを表示する。
制御装置は、そのアクセスがペインティングオペレーシ
ョンであるか否かを見極め、もしそうであれば、故障が
起こったものを見極める。ペインティングプロセス中の
パッチ故障の結果は、(1)ペインティングプロセスが
休止する、(2)目標とされた論理パッチ(そのアクセ
スがこの故障を作り出したパッチ)に物理メモリーのパ
ッチが割振りされる、そして(3)ペインティング工程
が再開される、というものである。
第12図は、矩形の輪郭がそのページイメージ内にペイ
ントされたときのパッチ割振りの結果を示している。こ
の例は、1〜14の物理パッチのスタックがペインティン
グプロセスに割振りすべく利用可能であるということを
仮定している。矩形の上部ラインはパッチ(2、2)で
始まり、ペインティングされている各々のパッチにその
アクセス順で物理メモリーが割振りされている状態で、
パッチ(7、2)まで水平方向にペイントされる。矩形
の左垂直ラインが次にペイントされ、その結果、パッチ
(2、3)及び(2、4)が割振りされることになる。
矩形の右垂直ラインが次にペイントされ、その結果、パ
ッチ(7、3)及び(7、4)の物理メモリー割振りが
行なわれることになる。最後に、矩形のベースラインが
引かれ、パッチ(3、4)、(4、4)、(5、4)及
び(6、4)に物理メモリーが割振られる。その他のパ
ッチは全て、ペインティングプロセスによりアクセスさ
れるのでないかぎり、共通のブランクパッチゼロにマッ
ピングされた状態にとどまる。この矩形がイメージ内の
唯一の目標物である場合、14の割振りされたパッチ及び
共通パッチゼロに含まれている30Kのバイトが、この8.5
×11インチのページイメージについて1メガバイトのピ
ットマップを表わすのに必要とされる物理メモリーの合
計である。
物理メモリー割振り解除 物理メモリー割振り解除は、第1図のプリンタインタ
ーフェイス8ページイメージのコピーを送るプロセスで
あるシップアウトの途中又はその後のいずれかに達成さ
れる。
メモリーは、パッチの全列の内容がエンジンにシッピ
ングされた後、再利用できる。一例として第12図を用い
ると、一矩形の輪郭の1部を含む第3行内のパッチは、
シップアウトプロセスが各パッチの下部ラインをシッピ
ングし終えた後直ちに再利用されパッチスタック上に戻
されることができる。これらのパッチは、最右のパッチ
の下部ラインがシッピングされた時点で、単純でではな
くむしろ1つのグループとして再利用されうる。ページ
イメージの最後の画素ラインがシッピングされたなら
ば、論理メモリーイメージ平面全体をもう1つのページ
イメージのペインティングのために再生することができ
る。
パッチ化を伴うシップアウトのもう1つの利点は、割
振りされていないパッチすなわちブランクであるこのペ
ージイメージ内のパッチへのこれらのアクセスのための
メモリーをサイクリングしないことにより、メモリーサ
イクリングを削減することができるということにある。
1つの例において、要求信号及び論理メモリー平面アド
レスを提示することにより、シップアウトはこのメモリ
ーへのアクセスを要求する。システムは、第2図のマッ
プメモリ28を通してアドレスをパッチ化しテストする。
このアドレスが割振りされていないということがわかっ
たならば、システムはそのシップアウトをフラグ付け
し、プリンタインターフェイス8へ割振りされていない
パッチに対するアクセスを表わすデータを送る。全ての
割振りされていないデータは均等にブランクであるた
め、ブランクデータを取出すのにメモリーアクセスは必
要とされない。
本発明のオペレーションの詳細な例は、以下の表7及
び表8と関連づけて与えられている。表7は、この例で
用いられているパッチを記述するパラメータを要約して
いる。表8は、第13図のイメージをペイントするために
システムにより順に処理される12の指令I1、I2、‥‥、
I12を表わしている。第13図は、1ページの一部のみを
表している。表8と関連づけて説明されているペインテ
ィング指令は、ページとの関係におけるx−y座標によ
り規定された単一のワード(8画素に対するデータ)に
影響を及ぼし、8画素のうちの何れを実際に印刷すべき
か否かを決めるマスクにより規定された画素を黒にペイ
ントし、規定のワード内のその他の画素を不変のまま残
す。一般に、ペインティングと印刷のプロセスは、同時
に実行される。しかしながら、印刷プロセスは比較的緩
慢であり、従って、ペインティング事象と印刷事象が同
時発生のものである場合、ペインティング事象が最初に
起こるものとして記述される。
0.初期設定。ペインティングプロセスが開始される。こ
のプロセスは以下のようにシステムの初期設定を行な
う。物理パッチのアドレス1、2、3及び4をこの順序
で含むよう、パッチスタックを初期設定する。即ち、パ
ッチスタックは物理パッチのアドレス1、2、3及び4
を記憶している。各物理パッチの内容を白(ゼロ)に初
期設定する。論理アドレスオフセット0及び1をこの順
序で含むよう未使用の論理ページスタックを初期設定す
る。このスタックが、“1"のみを有する時に、ペインテ
ィングプロセスが実行され、空の場合は、印刷又はシッ
プアウトプロセスが実行される。印刷すべきページの持
ち行列を初期設定する。マップを0に初期設定し、入力
の全てが物理パッチゼロを指し示すことを表示する。
印刷プロセスが開始される。これは印刷されるべき次
のページのオフセットを待ち行列から外し、この待ち行
列が空であることを見い出し、この待ち行列上に置かれ
るべきオフセットを待つ。
ペインティングプロセスは次のオフセット、0、を未
使用のページのオフセットスタックから得、これをその
現在の論理ページオフセットレジスタにロードする。
(ここでスタックはその他のこのようなオフセット1の
みを含んでいる。) 1.第1の指令I1。ペインティングプロセスは第1の指
令、ペイント(16、128、00111100)を入力する。ここ
で、16はXアドレスであり、128はYアドレスであり、0
0111100はマスクである。これは、現在のオフセットポ
インタ0をページ関係アドレス65552に加えることによ
りペイントすべきワードの論理アドレスを計算する。
(ページ関係アドレスは、Y座標の512倍とX座標の
和、すなわち512×128+16=65552である。)第13図中
の番号は画素レベルでのアドレスを表している。即ち、
Xアドレスは、16×8=128によって表されている。001
11100の0は、白の部分であり、1は黒の部分である。
論理バイト65552は以下のように読みとられる。論理
アドレス65,552(10000000000010000 2進数)はスワ
ッピング(置換)により論理パッチ33(100001 2進
数)を選択する(論理アドレスのビット22、21、20、…
…、16、8、7、6、5及び4は論理パッチの論理アド
レスを成す)。論理パッチ33は、現在この論理パッチが
物理パッチゼロ(割振りされておらず)にマッピングさ
れていることを示し、そこで物理パッチゼロからペイン
ト機構に対しデータのブランクバイトが戻される。
ペインティングプロセスは、指令のマスク00111100に
従って読みとられたばかりのワードをペイントし、それ
を論理アドレス65,552に書き込もうとする。マップはい
かなる物理パッチも割振りされていないことを示し、従
ってペインティングプロセスは、割振りされていない物
理パッチのスタックから物理パッチ1と割振りする。1
物理パッチが割振りされ、そのアドレスが1であること
を表示するようマップ入力33が設定される。ペインティ
ングされたワード00111100が、物理アドレス2,048であ
る論理アドレス65,552に相当する物理記憶場所に書き込
まれる(パッチ0=物理アドレス0から2,047まで)。
(物理メモリアドレスは、パッチ番号の2,048部に論理
アドレスのビット15、14、13、12、11、10、9、3、
2、1及び0から導かれた変位を加えたものである)。
2.第2の指令I2。ペインティングプロセスは次の指令ペ
イント(16、129、00011100)を入力する。ページ関係
アドレス66,064は、論理アドレス66,064に変換される。
論理パッチ33に当たるこの記憶場所を読みとると、物理
アドレス2,560(物理パッチ1の第2ライン、最初のバ
イト)に記憶されているゼロのワードを生み出すことに
なる。このワードは、マスク00011100に従ってペイント
され、その結果は論理アドレス66,064に書き戻される。
この場合、マップは、影響を受ける論理パッチ33が割振
りされた物理パッチ1を有していることを表示し、従っ
ていかなるパッチ割振りも必要とされない。
3.第3の指令I3。ペインティングプロセスは次の指令ペ
イント(15、127、00001111)を入力する。論理アドレ
ス65,036(00111101 2進数)は論理パッチ0に相当す
る。ゼロのワードは、物理パッチゼロのバイト511から
読みとられ、マスクはアドレス65,039にペイントされ
る。結果が書き込まれると、論理パッチ0はいかなる物
理パッチも割振りされていないことを示し、従ってペイ
ンティングプロセスは次の物理パッチ2を割振りし、そ
れに応じてマップ入力0を更新する。
4.第4の指令I4。ペインティングプロセスは次の指令、
「新ページ(new page)」を入力する。これは印刷すべ
きページのオフセット0を待ち行列に入れ、印刷プロセ
スを通知する。次に印刷プロセスはこのオフセットを待
ち行列から外し、相応するページの印刷を始める。ペイ
ンティングプロセスは、未使用のオフセットのスタック
から次のオフセット1を得る。(スタックはこのとき空
である)。
5.第5の指令I5。ペインティングプロセスは次の指令、
ペイント(31、2、11100011)を入力する。影響を受け
るワードのページ関係論理アドレスは1,055(512×2+
31=1055)である。相応する論理パッチ1,025(第2ペ
ージの第2パッチ)は、いかなる物理パッチも割振りさ
れていないことを示し、従って物理パッチ3が割振りさ
れる。ペイントされたワードは、相応する物理メモリー
記憶装置6,144(3×2,048+31=6,144)にて書き込ま
れる。
6.第6の指令I6。ペインティングプロセスは、次の指令
「新ページ(new page)」を入力する。これは印刷すべ
き次のページのオフセット1を待ち行列に入れる。(こ
の場合、印刷プロセスはなお第1ページを印刷している
ものと仮定され、従って、待ち行列に入れられるべき次
のページを待たず、この発生セグメントについて通知さ
れる必要はない)。印刷プロセスは、ペイントすべき次
のページのオフセットを得ようとするが、かかるオフセ
ットのスタックが空であることを見い出す。そこでこれ
は、オフセットが利用可能になるまで待たざるを得なく
なる。
印刷プロセスは、第1ページを印刷するにあたり最初
の論理パッチ行を印刷する。論理パッチ0は、その内容
が明示的に印刷されている物理パッチ2に相当する。さ
らに、各ワードは印刷されるにつれて消去され、物理パ
ッチが後に割振り解除されたときそれが全てのゼロを含
んでいるようになっている。論理パッチ1は相応する物
理パッチを全くもっておらず、従ってゼロ(白)がそれ
に対して(ブランク物理パッチゼロ)から印刷される。
第1列のパッチが印刷された後、物理パッチ2は割振り
解除され、利用可能な物理パッチのスタックに戻され
る。次に印刷プロセスは第2のパッチ行を印刷する。論
理パッチ32はいかなる相当する物理パッチももたず、従
ってそれに対してゼロが印刷される。論理パッチ33は、
その内容が明示的に印刷され消去されている物理パッチ
1に相当する。このパッチ行が印刷された後、物理パッ
チ1は割振り解除される。最後に、ページ全体が印刷さ
れた後、印刷プロセスは、未使用のオフセットのスタッ
ク上にそのページに対するオフセット0を置く。ペイン
ティングプロセスはかかるオフセットを待っているた
め、通知を受ける。次にペインティングプロセスはこの
スタックからオフセット0を得る。印刷プロセスは、印
刷すべきページのオフセットの待ち行列から次のオフセ
ット1を外し、そのページを印刷し始める。
7.第7の指令I7。ペインティングプロセスは次の指令、
ペイント(0、0、10000000)を入力し、特定のワード
をペイントして物理パッチ1をプロセス内で論理パッチ
0に割振りする。
8.第8の指令I8。ペインティングプロセスは次の指令、
ペイント(16、0、10000000)を入力し、特定のワード
をペイントし、物理パッチ2をプロセス内で論理パッチ
1に割振りする。
9.第9の指令I9。ペインティングプロセスは次の指令、
ペイント(0、128、10000000)を入力し、特定のワー
ドをペイントし、物理パッチ4をプロセス内で論理パッ
チ(32)に割振りする。
10.第10の指令I10。ペインティングプロセスは次の指
令、ペイント(16、128、10000000)を入力し、特定の
ワードをペイントしようとする。論理パッチ33に物理パ
ッチを割振りしなければならないが、利用可能なものは
全くないため、プロセスは、続行する前に現在印刷中の
ページから物理パッチ3が割振り解除されるまで待つ。
11.第11の指令I11。ペインティングプロセスは次の指
令、「新ページ(newpage)」を入力する。これは、ペ
イントしたばかりのページのオフセット0を、印刷すべ
きページの待ち行列に入れる。これは、次のページをペ
イントするため新しいオフセットを得ようとするが、未
使用のオフセットのスタックが空であるのを見い出す。
そこでこれは待機する。
場合によっては、印刷プロセスは、第2ページの印刷
を終え、そのオフセット1を未使用のオフセットのスタ
ックに置き、ペインティングプロセスを通知する。
12.第12の指令I12。ペインティングプロセスは、次のそ
して最後の指令「停止」を入力する。
印刷プロセスは、印刷すべきページの次のオフセット
0を待ち行列から外し、それを印刷し始める。第1のパ
ッチ行を印刷した後、これは、物理パッチ1及び2を割
振り解除し、第2のパッチ行を印刷した後、物理パッチ
4及び3を割振り解除する。次にこれは、未使用のオフ
セットのスタック上にそのページのオフセット0を置
く。次にこれは、印刷すべき次のページのオフセットを
待ち行列から外すが、空の待ち行列を発見したため、待
機する。
最後の状態で、物理パッチのスタックは、パッチ3、
4、2及び1をこの順序で含んでいる。印刷すべきペー
ジのオフセットの待ち行列は、空であり、印刷プロセス
がその上で待っている。未使用オフセットのスタック
は、1つのオフセット0を含んでいる。指令により停止
されたペインティングプロセスは、オフセット1をも
つ。全てのマップ入力は消去される。
表8の指令に関連してペイントされたイメージの部分
は、第13図に表わされている。
【図面の簡単な説明】
第1図は、本発明に従ったページ印刷システムの全体的
ブロックダイヤグラムを表わしている。 第2図は、第1図のシステムの一部分を成すマッピング
ユニットの概略的ブロックダイヤグラムを示す。 第3図は、第1図のシステム内でアドレス可能なメモリ
ー空間の概略的表示である。 第4図は、第3図のアドレス空間の一部を成すイメージ
平面の概略的表示である。 第5図は、第3図のイメージ平面内の単一パッチについ
てのアドレス空間の概略的表示である。 第6図は、マッピング例の概略的表示である。 第7図は、第1図のシステムのメモリーに情報を記憶す
るペインティングプロセスについての第1図のシステム
のオペレーションを表わす流れ図である。 第8図は、第5図のペインティングプロセスと関連して
用いられる割振りプロセスを表わす流れ図である。 第9図は、印刷されるべきデータが第1図のシステムの
メモリーからプリンタへシップアウトされる印刷プロセ
スを表わす流れ図である。 第10図は、第7図の印刷プロセス内で用いられる割振り
解除プロセスを表わす。 第11図は、論理イメージ平面とオーバーレイされたペー
ジイメージの関係を表わしている。 第12図は、1つの矩形のページイメージによりオーバー
レイされたイメージ平面内のパッチの概略的表示であ
る。 第13図は、3ページにわたる数多くのパッチ上にオーバ
ーレイされたページイメージの詳細な1例を概略的表示
である。 主な構成要素の番号 1……プロセッサ、2……置換機構 3……マルチプレクサ、4……マップユニット 5……システムメモリー、6……制御装置 7……読取り専用記憶装置(ROM) 8……プリンタインターフェイス、9……プリンタ 10……データ母線、11……アドレス母線 13……アドレス母線、14……出力母線 15……制御ライン、26……制御装置 27……マルチプレクサ、28……マップメモリー 29……ゼロ検出ユニット、31……母線 34、35……ライン、32……ゲート、 40……システム記憶装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハコボ ヴァルデス アメリカ合衆国 カリフォルニア州 94306 パロ アルト イースト チャ ールストンロード 170 (56)参考文献 特開 昭62−24776(JP,A) 特開 昭59−139083(JP,A) 特開 昭59−178077(JP,A)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】画素の色、濃度又は他のパラメータを示す
    ためのコード化されたページレイアウトデータを受けと
    り、このページレイアウトデータをデコードしてどの画
    素が印刷されるべきかを直接表すビットマップイメージ
    データを得、このビットマップイメージデータを読出し
    及び書込み可能な物理メモリーに記憶し、このビットマ
    ップイメージデータを1ページ印刷するためにプリンタ
    に送り、前記物理メモリーは、ランダムアクセス物理ア
    ドレスに、ビットマップイメージデータを含むデータを
    記憶するページプリンタ処理システムであり、 1ページに対する論理メモリーアドレス空間を分割する
    ことによって得られる何れの論理パッチの論理アドレス
    に、ビットマップイメージデータが対応するかを見出す
    ための割振手段、 論理パッチの論理アドレスを前記物理メモリー内の物理
    パッチのアドレスにマップし、論理パッチの論理アドレ
    スを前記物理メモリー内の物理パッチの実アドレスに変
    換するマッピング手段、及び 論理パッチの順次論理アドレスを前記マッピング手段に
    供給するための手段を備えるビットマップイメージデー
    タを送り出すための送出手段を含むページプリンタ処理
    システムにおいて、 前記マッピング手段は、同じビットマップイメージデー
    タを含む複数の論理パッチが、前記物理メモリー内の同
    じ物理パッチにマップされる様に構成されており、前記
    マッピング手段は、連続しない論理アドレスを論理パッ
    チ内の連続する論理アドレスに変換するための置換手段
    から成り、前記マッピング手段は、1ページのビットマ
    ップイメージデータがシステムから送出された時、前記
    ページに関係する前記物理パッチを再利用可能とするこ
    とを特徴とするページプリンタ処理システム。
  2. 【請求項2】前記マッピング手段は、論理パッチに関係
    する論理アドレスを、前記物理メモリー内の連続物理ア
    ドレスに変換するための手段を更に備える請求項1記載
    の処理システム。
  3. 【請求項3】前記複数の論理パッチの各々が、印刷され
    るべきページ上の複数の矩形領域の各々に対応している
    ことを特徴とする請求項1記載の処理システム。
  4. 【請求項4】前記複数の論理パッチの各々が、印刷され
    るべきページの境界領域内に適合するように充分小さい
    複数の矩形領域の各々に対応していることを特徴とする
    請求項1記載の処理システム。
  5. 【請求項5】前記ビットマップイメージデータが、論理
    パッチ内の何れの論理アドレスに対応するかを前記割振
    手段が見出すことを特徴とする請求項1記載の処理シス
    テム。
  6. 【請求項6】前記割振手段、前記マッピング手段、及び
    前記送出手段が、論理メモリーアドレス空間内の他のシ
    ステムデータを記憶し且つ取り出すために設けられる請
    求項1記載の処理システム。
  7. 【請求項7】画素の色、濃度又は他のパラメータを示す
    ためのコード化されたページレイアウトデータを受けと
    り、このページレイアウトデータをデコードしてどの画
    素が印刷されるべきかを直接表すビットマップイメージ
    データを得、このビットマップイメージデータを第1の
    ランダムアクセス読出し及び書込み可能な物理メモリー
    に記憶し、このビットマップイメージデータを1ページ
    印刷するためにプリンタに送り、前記第1のランダムア
    クセス読出し及び書込み可能な物理メモリーは、ランダ
    ムアクセス処理アドレスに、ビットマップイメージデー
    タを含むデータを記憶するページプリンタ処理システム
    であり、 1ページに対する論理メモリーアドレス空間を分割する
    ことにより得られる何れの論理パッチの論理アドレス
    に、ビットマップイメージデータが対応するかを見出す
    ための割振手段、 論理パッチの論理アドレスを変換するために物理パッチ
    のアドレスを記憶する第2のランダムアクセス読出し/
    書込み可能な物理メモリーを含み、論理パッチの論理ア
    ドレスを物理パッチのアドレスにマップするためのマッ
    ピング手段、及び 論理パッチの論理アドレスを前記マッピング手段に順次
    供給するための手段を備えるビットマップイメージデー
    タを送り出すための送出手段を含むページプリンタ処理
    システムにおいて、 前記マッピング手段は、同じビットマップイメージデー
    タを含む複数の論理パッチの論理アドレスが、前記マッ
    ピング手段と関係する前記第2のランダムアクセス読出
    し/書込み可能な物理メモリーによって、第1のランダ
    ムアクセス読出し/書込み可能な物理メモリーにマップ
    されることの無い、同じ物理パッチのアドレスにマップ
    される様に構成されており、このアドレスが、データと
    して直接扱われて、前記第1のランダムアクセス読出し
    /書込み可能な物理メモリーの読出し時間が必要とされ
    ることなく、ビットマップイメージデータがプリンタに
    送出され、前記マッピング手段は、連続しない論理アド
    レスを論理パッチ内の連続する論理アドレスに変換する
    ための置換手段から成り、前記マッピング手段は、1ペ
    ージのビットマップイメージデータがシステムから送出
    された時、第1のランダムアクセス読出し/書込み可能
    な物理メモリー内の前記ページに関係する物理パッチを
    再利用可能とすることを特徴とするページプリンタ処理
    システム。
  8. 【請求項8】前記マッピング手段は、論理パッチに関係
    する論理アドレスを、前記第1の物理メモリーの連続物
    理アドレスに変換するための手段を更に備える請求項7
    記載の処理システム。
  9. 【請求項9】前記複数の論理パッチの各々が、印刷され
    るべきページ上の複数の矩形領域の各々に対応している
    ことを特徴とする請求項7記載の処理システム。
  10. 【請求項10】前記複数の論理パッチの各々が、印刷さ
    れるべきページの境界領域内に適合するように充分小さ
    い複数の矩形領域の各々に対応していることを特徴とす
    る請求項7記載の処理システム。
  11. 【請求項11】前記ビットマップイメージデータが、論
    理パッチ内の何れの論理アドレスに対応するかを前記割
    振手段が見出すことを特徴とする請求項7記載の処理シ
    ステム。
  12. 【請求項12】前記割振手段、前記マッピング手段、及
    び前記送出手段が、論理メモリーアドレス空間内の他の
    システムデータを記憶し且つ取り出すために設けられて
    いる請求項7記載の処理システム。
JP63192595A 1987-07-31 1988-08-01 パッチ化システム Expired - Lifetime JP2726271B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8028587A 1987-07-31 1987-07-31
US07/147,260 US4942541A (en) 1988-01-22 1988-01-22 Patchification system
US80285 1988-01-22
US147260 1988-01-22

Publications (2)

Publication Number Publication Date
JPH01125234A JPH01125234A (ja) 1989-05-17
JP2726271B2 true JP2726271B2 (ja) 1998-03-11

Family

ID=26763323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63192595A Expired - Lifetime JP2726271B2 (ja) 1987-07-31 1988-08-01 パッチ化システム

Country Status (5)

Country Link
EP (1) EP0310228B1 (ja)
JP (1) JP2726271B2 (ja)
AT (1) ATE115749T1 (ja)
CA (1) CA1309780C (ja)
DE (1) DE3852457T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237645A (en) * 1988-03-09 1993-08-17 Oki America Industry Co., Ltd. Printing apparatus
EP0334102B1 (en) * 1988-03-09 1994-11-30 Oki Electric Industry Company, Limited Printing apparatus
US5801716A (en) 1990-08-16 1998-09-01 Canon Kabushiki Kaisha Pipeline structures for full-color computer graphics
US6002848A (en) * 1991-04-23 1999-12-14 Canon Kabushiki Kaisha Band-based printing control system
JP3015133B2 (ja) * 1991-04-23 2000-03-06 キヤノン株式会社 印刷制御装置及び方法
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
US6075546A (en) 1997-11-10 2000-06-13 Silicon Grahphics, Inc. Packetized command interface to graphics processor
CN110163307B (zh) * 2019-06-08 2022-09-13 森大(深圳)技术有限公司 可实时调整标签位置的打印方法、装置、设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0105340A1 (en) * 1982-03-31 1984-04-18 The Board Of Trustees Of The Leland Stanford Junior University Page printing system
JPS59100976A (ja) * 1982-12-01 1984-06-11 Fujitsu Ltd イメ−ジ処理装置のメモリ割り付け方式
JPS59139083A (ja) * 1983-01-31 1984-08-09 コニカ株式会社 文字パタ−ンのデ−タ圧縮法
JPS59178077A (ja) * 1983-03-28 1984-10-09 Dainippon Screen Mfg Co Ltd 2値画像のデ−タ圧縮方法
JPS6074085A (ja) * 1983-09-30 1985-04-26 Fujitsu Ltd イメ−ジメモリ制御方法
JPS60181942A (ja) * 1984-02-29 1985-09-17 Fujitsu Ltd メモリ制御装置
JPS6224776A (ja) * 1985-07-25 1987-02-02 Matsushita Electric Works Ltd 画像デ−タの圧縮方式

Also Published As

Publication number Publication date
EP0310228A2 (en) 1989-04-05
CA1309780C (en) 1992-11-03
EP0310228A3 (en) 1989-10-11
EP0310228B1 (en) 1994-12-14
DE3852457T2 (de) 1995-06-14
JPH01125234A (ja) 1989-05-17
ATE115749T1 (de) 1994-12-15
DE3852457D1 (de) 1995-01-26

Similar Documents

Publication Publication Date Title
US4942541A (en) Patchification system
US5870535A (en) 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
US5844576A (en) Tiled linear host texture storage
US4555802A (en) Compaction and decompaction of non-coded information bearing signals
JP4071196B2 (ja) ゾーン・レンダリング用の自動メモリ管理
KR100417123B1 (ko) 종방향-지향의디스플레이를위해화상을회전시키는하드웨어
JP2544429B2 (ja) イメ―ジ処理装置
US6092171A (en) System and method for using a memory management unit to reduce memory requirements
CN1105369C (zh) 具有区的二维阵列的显示表结构
JPH0691604B2 (ja) 階調情報変倍処理方法
JPH0345076A (ja) 画像データの処理方式
US6999091B2 (en) Dual memory channel interleaving for graphics and video
US6121974A (en) Priority storage system for fast memory devices
JPH0930060A (ja) プリンタ制御装置及び方法
US6646646B2 (en) Memory system having programmable multiple and continuous memory regions and method of use thereof
JP2726271B2 (ja) パッチ化システム
EP0432896B1 (en) Conversion of image data stream into output data for printing or displaying the image
US5929869A (en) Texture map storage with UV remapping
CN1794342A (zh) 用于在视频图形适配器上渲染图像的方法和系统
US5758044A (en) Method and apparatus for rendering using a band by band depth adjustment
JPH11305962A (ja) 印刷処理装置および印刷処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2907826B2 (ja) 文字フォント管理装置
JP2737880B2 (ja) 文字処理装置および方法
JPH10293667A (ja) バンディングにおけるバンド分割方法及び両面印刷方法
JP2006159458A (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: 20071205

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 11