(57)【特許請求の範囲】
【請求項１】
入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置であって、
前記情報処理装置に増設メモリが接続されているか否かを判断する判断手段と、
前記判断手段により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出手段と、
印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介してそれぞれ手動で設定する手動設定手段と、
前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定手段により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識手段と、
前記認識手段により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出手段で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記印刷保証メモリは、所定の解像度において印字を保証する用紙サイズとして設定され、前記システムワークメモリは、ページ記述言語を印字処理するための作業領域としてメモリ容量として設定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記増設メモリと前記標準メモリの総容量と印刷保証可能な用紙サイズとの関係を示す印刷保証テーブルと、前記増設メモリと前記標準メモリの総容量とシステムワークメモリの容量との関係を示すシステムワークメモリテーブルとを用いて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記システムワークメモリは、ポリペンテーブル、ＣＬＩＰオブジェクトテーブル、ディザパターン、またはスクラッチメモリで用いる作業領域として使用することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
異なるページ記述言語毎に、前記印字保証メモリおよび前記システムワークメモリで使用するメモリのデフォルト値を保持することを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置におけるメモリ制御方法であって、
前記情報処理装置に増設メモリが接続されているか否かを判断する判断工程と、
前記判断工程により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出工程と、
印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介する手動入力に応じて設定する手動設定工程と、
前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定工程により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識工程と、
前記認識工程により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出工程で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御工程と
を含むことを特徴とするメモリ制御方法。
【請求項７】
前記印刷保証メモリは、所定の解像度において印字を保証する用紙サイズとして設定され、前記システムワークメモリは、ページ記述言語を印字処理するための作業領域としてメモリ容量として設定されることを特徴とする請求項６に記載のメモリ制御方法。
【請求項８】
前記制御工程は、前記増設メモリと前記標準メモリの総容量と印刷保証可能な用紙サイズとの関係を示す印刷保証テーブルと、前記増設メモリと前記標準メモリの総容量とシステムワークメモリの容量との関係を示すシステムワークメモリテーブルとを用いて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定することを特徴とする請求項６または７に記載のメモリ制御方法。
【請求項９】
前記システムワークメモリは、ポリペンテーブル、ＣＬＩＰオブジェクトテーブル、ディザパターン、またはスクラッチメモリで用いる作業領域として使用することを特徴とする請求項６乃至８のいずれかに記載のメモリ制御方法。
【請求項１０】
異なるページ記述言語毎に、前記印字保証メモリおよび前記システムワークメモリで使用するメモリのデフォルト値を保持することを特徴とする請求項６乃至９のいずれかに記載のメモリ制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、使用するメモリの容量を指定できるプリンタ等の情報処理装置及びメモリ制御方法に関する。
【０００２】
【従来の技術】
プリンタ等の情報処理装置において使用するメモリのサイズは、ホストコンピュ−タからのコマンド或は情報処理装置上のパネルから指定された。
【０００３】
【発明が解決しようとしている課題】
しかし、従来の情報処理装置では増設メモリ（例えば、ＲＡＭ）が接続され使用可能なメモリが増加した場合、ユ−ザがメモリ資源を用途に応じて容易に制御できないという問題点があった。
【０００４】
上記問題点を解決する為に、本発明は使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する情報処理装置及びメモリ制御方法を提供することを目的とする。
【０００５】
【課題を解決する為の手段】
上記目的を達成する為に本発明の情報処理装置は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断手段と、前記判断手段により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出手段と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介してそれぞれ手動で設定する手動設定手段と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定手段により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識手段と、前記認識手段により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出手段で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御手段とを有する。
【０００６】
また、上記目的を達成する為に本発明のメモリ制御方法は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置におけるメモリ制御方法であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断工程と、前記判断工程により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出工程と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介する手動入力に応じて設定する手動設定工程と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定工程により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識工程と、前記認識工程により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出工程で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御工程とを含む。
【０００７】
上記構成により本発明は、使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する。
【０００８】
【発明の実施の形態】
以下、添付図面に沿って本発明に係わる実施例を詳細に説明する。
【０００９】
図１は実施例における印刷装置の基本構成を示すブロック図である。この図を用いて処理の大まかな流れを示す。
【００１０】
〔全体構成〕
１は、アプリケーションとして各種印字情報（例えば文字、イメージ、ベクトル図形）を作成し、データをＰＤＬ（ペ−ジ記述言語）形式に変換して記録装置コントローラ１４に送出するＷＳ（計算機）である。
【００１１】
ここで、計算機とコントローラ１４間にＰＤＬデータが流れるが、通信形態はシリアル、ネットワーク、バス接続等何であっても問題はないが、パフォーマンス的には高速通信路であることが望ましい。
【００１２】
送られたＰＤＬデータは、コミュニケーションタスク８１（ＣＰＵ１２で実行されるコミュニケ−ションプログラム）により入力バッファ２に格納され、中間デ−タ生成タスク８２（ＣＰＵ１２で実行されるＰＤＬコマンド解析プログラム）によって、入力データがスキャンされる。
【００１３】
３は、文字のビットパターン又はアウトラインなどの文字グリフ情報、及び文字ベースラインや文字メトリック情報を格納するフォントＲＯＭであり、文字の印字に際して利用される。
【００１４】
４のパネルＩＯＰは、プリンタ本体に装着されるパネルにおけるスイッチ入力の検知やＬＣＤへの表示を司るＩ／Ｏプロセッサ及びファームウェアであり、低価格のＣＰＵが利用される。
【００１５】
拡張Ｉ／Ｆ５は、プリンタの拡張モジュール（フォントＲＯＭ、プログラムＲＯＭ、ＲＡＭ、ハードディスク）とのインタフェース回路である。
【００１６】
６は、ＣＰＵ１２で実行される本発明に係るコミュニケ−ションタスク８１、中間デ−タ生成タスク８２、レンダリングタスク８３、エンジンタスク８４、メモリマネ−ジャ−８５の制御プログラムや図３、図８、図１４のフロ−チャ−トに示す制御プログラムを格納するＲＯＭである。
【００１７】
７は、ソフトウェアの為のメモリ管理領域であり、本発明に関連するジョブ毎に獲得される情報（図２参照）や当該情報を獲得する際に使用されるテ−ブル（図４、図５、図６等参照）等が本管理用ＲＡＭに格納される。
【００１８】
８は、入力された入力データ（ＰＤＬデ−タ）を中間デ−タ生成タスク８２を実行して解析した結果得られる中間デ−タ（オブジェクトデ−タ）を格納する中間バッファ（ＲＡＭ）であり、メモリマネ−ジャ−８５によって管理される。
【００１９】
これら管理用ＲＡＭ７、中間バッファ８及び以下に述べるバンドラスタメモリ１０は本発明の根幹をなすものでありメモリマネージャー８５によって管理され、アドレス的には連続空間でもまたは離れたアドレス空間であっても良い。
【００２０】
ハードレンダラ９は、レンダリング処理（中間デ−タから出力デ−タを生成する処理）をＡＳＩＣハードウェアで実行することにより、プリンタエンジン１３（ＬＢＰ）へのビデオ転送に同期して実時間でレンダリング処理を行ってバンドラスタメモリ１０に格納し、少ないメモリ容量でのバンディング処理を実現するものである。
【００２１】
なお、ハードで実行できない複雑なＰＤＬの命令は、ハードレンダラ９よりＣＰＵ１２に割り込みが発生し、レンダリングタスク８３によりソフトレンダリング処理が実行される。
【００２２】
バンド・ラスタメモリ１０は、ＰＤＬ（ペ−ジ記述言語）によって展開される出力デ−タ（バンドイメ−ジ）を格納する領域であり、上述のバンディング処理を行なうための最低２バンドのメモリ（ページ幅×２５６又は５１２位のバンド高さ分のバンディング制御用のメモリサイズで、総容量４Ｍのプリンタにおいて６００ＤＰＩのＡ３の中間デ−タを処理する場合のサイズであるが外部記憶手段が接続されるとこのサイズも比例して増加する）で、バンディング処理を出来ない際に、ＬＢＰのようにエンジンに同期してイメージを転送する必要のある装置ではフルビットマップ・メモリ（フルペイント制御用のメモリサイズ）を確保する。
【００２３】
バンディング制御は、内部処理の都合上、最も高速なパフォ−マンスが得られ、プリンタエンジン最高速で出力できる（中間デ−タに依存）。ただし、プリンタエンジンの出力に同期してラスタライズ処理（レンダリング処理）を実行するため、１ペ−ジ分の中間デ−タをバッファリングでき、かつプリンタエンジンの紙搬送時間以内でラスタライズを終了できることが絶対条件となる。
【００２４】
フルペイント制御は、内部処理の都合上、バンディング処理に比べてパフォ−マンスが劣る可能性があるが、プリンタエンジン最高速で出力できる（中間デ−タに依存）。また、１ペ−ジのラスタライズ処理が終了した後、プリンタエンジンの紙搬送を始めるので、図べての中間デ−タに対して出力を保証できる。ただし、１ペ−ジ分の出力デ−タ（ビットマップデ−タ）を持つことが絶対条件である。
【００２５】
しかし、バブルジェット・プリンタ（ＢＪと以後省略する）のようにヘッドの移動をコントローラ側が制御可能なマシンの場合には、上記バンドのメモリが最低確保されればよい。
【００２６】
プリンタ・インタフェース１１はプリンタエンジン１３例えばＬＢＰとの間で、１０のバンド・ラスタメモリの内容をプリンタ側の水平・垂直同期信号に同期して、ビデオ情報として転送する。
【００２７】
あるいは、ＢＪにおけるヘッド制御及び複数ラインのヘッドサイズに合わせたビデオ情報の転送を行なう。本Ｉ／Ｆは、専用のＣＰＵやハ−ドを利用したり、ＣＰＵを用いることが考えられるが、パフォ−マンス的には前者が望ましい。
【００２８】
本インタフェースではプリンタエンジン１３との間で、プリンタエンジン１３へのコマンド送信やプリンタエンジン１３からのステータス受信も行なう。これらの処理は、エンジンタスク８４の処理となるが、前者のビデオ転送ほど処理速度は要求されない。
【００２９】
ＣＰＵ１２はプリンタコントローラ１４内部の処理を制御する演算装置であり、パフォーマンスをあげるためには、できるだけ高速な例えばＲＩＳＣ    ＣＰＵであることが望ましい。
【００３０】
１３はコントローラから送出するビデオ信号を印字するプリンタエンジンであり、電子写真によるＬＢＰでもインクジェット方式であってもよい。１４は本処理を実現するコントローラ全体である。
【００３１】
図１中で矢印は、各種描画情報のホスト計算機１からプリンタエンジン１３までのデータの流れを示し、下には各処理に対するタスク名称を示す。ここでの各タスクはマルチタスクとなっており、タスクの実行時の優先順位は、実時間処理を要求される順番で、エンジンタスク８４＞レンダリングタスク８３＞コミュニケ−ションタスク８１＞中間デ−タ生成タスク８２である。
【００３２】
〔メモリマネ−ジャ−８５〕
本発明の、基本構成要素である管理用ＲＡＭ７のメモリ構成の詳細図を図２に示し、メモリ獲得のアルゴリズム（メモリマネ−ジャーの動作）を図３のフロ−チャ−トを用いて説明する。
【００３３】
ステップ７０１では、プリンタの初期化処理として各種メモリやハードウェアの故障診断を実行し、もしエラーがあればその旨警告し処理を停止する。
【００３４】
次にステップ７０２では、各タスクがスタティックに必要なメモリ（メモリ構成やエミュレートするトランスレータの差異に依存しなく、立ち上げ時に獲得すると電源がＯＦＦされるまで保持されている）を要求するサイズを指定して、メモリマネージャーより獲得する。
【００３５】
これは図２に示すように、各タスクの初期化関数が呼ばれる順番にスタティックメモリ獲得を要求し、メモリマネージャ８５が各タスク（８１から８４）にメモリを順番に割り当てる。
【００３６】
すべてのタスクの初期化が終了すると、メモリマネージャー８５がスタティックメモリの先頭（７２）及び後端（７３）アドレスを記憶しておく。
【００３７】
この初期化段階では、以後に利用方法がダイナミックに変更される可能性のあるリソース情報、すなわちメモリ・コンフィギュレーション・テーブル７４は、デフォールト設定がなされた状態になっている。
【００３８】
バンドラスタメモリの容量はシステムメモリ、印刷解像度（本実施例においてクイックモ−ドで３００ＤＰＩ、ファインモ−ドで６００ＤＰＩとなる）などを考慮してデフォルトの容量が設定されている。
【００３９】
また、この容量に対応したバンド高さの値も同時にメモリ・コンフィギュレ−ション・テ−ブル７４に格納される。
【００４０】
次にステップ７０３では、プリンタの印刷ジョブを開始する前にユーザが記録装置についている操作パネル４からの、状態変更（ボタンの押下、解放  数値入力ｅｔｃ）要求が発生しているかをセンスする。
【００４１】
もし、なんらかの変更があれば要求を解析し、対応する情報をメモリ・コンフィグレーション・テーブル７４の値にオ−バライトする（ステップ７０４）。
【００４２】
例えば、メモリ（リソ−ス）変更指示は、印字保証メモリ（中間バッファ８とバンドラスタメモリ１０とキャッシュメモリの合算値容量）或はシステムワ−クメモリ（ポリペンテ−ブル、ＣＬＩＰオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量）を設定する設定値を記録装置で使用する用紙サイズ（Ａ４、Ｂ４、Ａ３、Ｂ４×２、Ａ３×２、Ｂ４×３、Ａ３×３）或は具体的な容量値（２００ＫＢ〜１０００ＫＢ）で指定する。
【００４３】
なお、合算値の組み合わせは図２に示すダイナミックメモリ内（デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等）の任意な組み合わせを指定できる。
【００４４】
また、図２に示すダイナミックメモリ内（デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等）の１つ（例えばバンドラスタメモリ１０或は中間バッファ８（オブジェクトメモリ））を指定しても良い。
【００４５】
次にステップ７０６では、ホスト計算機上におけるユーティリティ・プログラムからの、メモリ（リソース）変更要求コマンド（ＪＬ  ＳＥＴコマンド）が入力されているかどうかをチェックする。
【００４６】
例えば、メモリ（リソ−ス）変更コマンドは、印字保証メモリ（中間バッファ８とバンドラスタメモリ１０とキャッシュメモリの合算値容量）或はシステムワ−クメモリ（ポリペンテ−ブル、ＣＬＩＰオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量）を設定する設定値を記録装置で使用する用紙サイズ（Ａ４、Ｂ４、Ａ３、Ｂ４×２、Ａ３×２、Ｂ４×３、Ａ３×３）或は具体的な容量値（２００ＫＢ〜１０００ＫＢ）で指定する。
【００４７】
なお、合算値の組み合わせは図２に示すダイナミックメモリ内（デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等）の任意な組み合わせを指定できる。
【００４８】
また、図２に示すダイナミックメモリ内（デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等）の１つ（例えばバンドラスタメモリ１０或は中間バッファ８（オブジェクトメモリ））を指定しても良い。
【００４９】
もし、図２２に示す様な該当するコマンドが入力された場合には、ステップ７０４の処理、すなわち必要なメモリ量の計算を図４或は図５に示すテ−ブルを参照して実行する。
【００５０】
ステップ７０５では、ジョブ開始コマンドが入力されるかを判定し、ＮＯであればステップ７０３から７０６の処理を行ない、ＹＥＳであれば次のステップ７０８に進む。
【００５１】
ステップ７０８では、ジョブ毎にサイズが変化するメモリ領域（ここでは以後ダイナミックメモリと呼ぶ）を獲得する。ダイナミックメモリも基本的にはスタティックメモリと同様に、本メモリを必要なタスク毎に、必要なサイズをメモリ・コンフィギュレーション・テーブル７４を参照して、タスク毎にメモリマネージャ８５に要求する。
【００５２】
メモリマネージャー８５は本メモリを、要求された順番に、スタティックメモリの終端より獲得する。図２においては、ダイナミックメモリの項目とそれがどのタスクによって必要かは、後ろの（８１ー８４）のタスク番号の対比によって示される。
【００５３】
例えば、中間デ−タ生成タスク（８３）では、３個のメモリ要素（ポリペンテーブル、ＣＬＩＰオブジェクトテーブル、中間バッファの組み合わせ）のトータルメモリをメモリマネージャー８５に要求し、中間デ−タ生成タスク内で獲得されたダイナミックメモリから、それぞれの項目にメモリ資源を割り当てる。
【００５４】
本発明の主眼であるバンドラスタメモリ１０は、レンダリングタスク８３によってダイナミックメモリが割り当てられる。
【００５５】
そして最後に、メモリの残った部分にＦＳ（ファイルシステム）として、メモリ領域を確保する（ステップ７０９）。このメモリはフォントのダウンロードや、ＰＤＬにおけるフォームオーバレイやマクロ命令の格納領域として用いられる。ステップＳ７０８で各タスクが獲得したダイナミックメモリは、印刷ジョブが終了すると、ステップ７１４で解放される。
【００５６】
一方、本ＦＳメモリは、ジョブが終了しても解放されずに残しておく、すなわち印刷ジョブ間で共有する必要がある。
【００５７】
そのため、本メモリはメモリマネージャ８５が内部的にファイルシステムのアドレス空間内において、スタティックメモリやダイナミックメモリとは反対の方向（メモリ終端）からメモリ獲得を行ない、ダイナミックメモリ解放後のガーベージコレクション（ステップ７１３）を効率的に行なう。
【００５８】
メモリ獲得が終了し、ステップ７１０では入力されたＰＤＬデータの解析を行ない、ステップ７１１では解析されたデータに従い実際の印字を行なう。本処理は、〔アルゴリズム〕の節以降で詳細に説明している。
【００５９】
ステップ７１２でジョブが終了すれば、メモリ獲得とは逆の順序でメモリの解放処理を実行する。
【００６０】
この結果メモリマネ−ジャ８５は、現在のダイナミックメモリの利用中の最下端アドレスを記憶しておくだけで良い。
【００６１】
ステップ７１３では、ＦＳとして獲得されたメモリをガーベージ・コレクション（ＧＣ）する。本実施例では、ＦＳ内に獲得されたオブジェクトをメモリ空間の終端から連続した空間に割り当てるものであり、一つのＦＳとしての大きなＦＲＥＥ領域を作成する（図１１参照）。
【００６２】
ここでＦＳオブジェクトは、ディスクで一般的なＦＡＴテーブル（Ｆｉｌｅ  Ａｃｃｅｓｓ  Ｔａｂｌｅ）形態をとっているため、ＦＳ内のメモリをＩＤを通じて利用しているユーザにはＧＣの影響はない。
【００６３】
最後にステップ７１４でダイナミックメモリを解放するが、これは最初に獲得したタスク順序８１、８２、８３、８４とは逆の順序８４、８３、８２、８１でメモリ解放をメモリマネージヤーに要求し、最終的にはすべてのダイナミック・メモリを解放することにより、図１２に示すように、ダイナミックメモリが解放された領域は、すべてＦＳのＦＲＥＥ領域として取り扱われる。
【００６４】
次に新規ジョブを開始した際には、このＦＲＥＥ領域の先頭アドレスからダイナミックメモリをステップ７０８で獲得し、図１３の様にメモリが構成される。
【００６５】
ここで図１０、図１３を比較すればダイナミックメモリの構成が変化してることがわかるが、これによりＰＤＬのジョブに応じてメモリ構成を最適化が可能となる。
【００６６】
以上のメモリ管理を司るメモリマネージャーは、ダイナミックメモリの後端アドレス、及びＦＳにおけるＦＡＴ管理とＧＣを行なえば良く、これらの実装は容易である。
【００６７】
〔印字保証メモリ〕
図２に示すように、中間バッファ（８）とバンドラスタメモリ（１０）、アウトライン文字をスケーリングした結果を保持するフォントキャシュメモリ（８２）の合算したメモリ領域を印字保証メモリ（２０）と定義し、処理可能な最大解像度において必要となるメモリ容量に対応する。
【００６８】
具体的には、６００ＤＰＩの解像度でＰＤＬを処理する際、どの紙サイズまで完全に６００ＤＰＩで印字が保証されるかで表現する。
【００６９】
実施例としては、印字保証する紙サイズと実際に必要なメモリサイズは、図４のテ−ブルに示す関係となる。
【００７０】
ここで、「しない」という指定は、Ａ４以上の紙サイズでは、６００ＤＰＩで印字処理が保証できないことを意味し、「Ｂ４＊２」というのは  Ｂ４紙が２  面分保証される、すなわち両面印刷における２面が６００ＤＰＩで印字可能である。
【００７１】
もし、Ａ３の紙にＰＤＬにより印字しようとする際に、印字保証メモリがＡ４相当分しかなければ、バンディング可能な場合には最高解像度（６００  ＤＰＩ）で出力可能だが、バンディング不可能な場合には解像度を落す処理（デグレード）やプリントオーバランが発生し、印字結果は劣化したものとなる。
【００７２】
ここで「Ａ４」が５．２Ｍであるのは、Ａ４片面印字を６００ＤＰＩで確実に行なうためＡ４フルビットマップメモリとして４Ｍ相当分＋中間データ格納領域
及び  フォントキャシュ領域として１．２ＭＢ必要となるからである。
【００７３】
また  Ａ３は片面Ａ３印字を６００ＤＰＩで保証するか、または両面Ａ４  ６００ＤＰＩ印刷処理（４Ｍ＊２＋α）を保証するためのメモリサイズである。
【００７４】
上記のメモリサイズは、バンディング処理が不可能な場合（デグレード）も含めた保証メモリであり、バンディング処理可能な場合には、バンドラスタメモリ（１０）には６００ＤＰＩ解像度で、Ａ４用紙の縦送り、５１２高さとすれば、バンドラスタメモリ（１０）は大体（５１２×２１０×６００／２５．４）×２／８＝５２４ＫＢ程度あれば十分であり、残りの領域には中間データ＋フォントキャシュ情報が格納可能となる。
【００７５】
印字保証メモリと、本プリンタに搭載されているメモリサイズ、及び指定可能なメモリサイズの関係を図５に示す。図中で各搭載メモリに対する、デフォールトの印字保証サイズ（２０）をアスタリスク＊で示す。
【００７６】
〔システムワークメモリ〕
システムワークメモリ（２１）はＰＤＬが印字処理するための作業領域のメモリであり、以下に示すポリペンテーブル（８３）、ＣＬＩＰオブジェクトテーブル（８３）、ディザパターン（８３）、スクラッチメモリ（８３）などの作業領域の集合体である。
【００７７】
これらの作業メモリ領域が増えれば、それぞれライン幅を太いものまでサポート可能、任意クリップのオブジェクトがより複雑なものまで高速に描画可能、大きなサイズのディザパターンを処理可能となる。
【００７８】
システムワークメモリの獲得するメモリの基本単位は２００ＫＢとし、搭載メモリの増設に従い、図６に示すようにシステムワークメモリ容量を増加させる。
【００７９】
図中で＊のメモリ容量が、「ジドウ」設定時のデフォールトのシステムワークメモリ容量である。
【００８０】
〔パネル入力〕
図３のステップ７０３におけるパネル入力処理（例えば、印字保証メモリ（２０）、システムワークメモリ（２１）の容量を変更する場合）を、図７のパネル詳細配置図と図８のフロ−チャ−トと図９のパネル階層図を用いて詳細に説明する。なお、以下で説明する動作は、ステップ７０６におけるコマンド入力処理にも適用できる。
【００８１】
まず、図７のオンラインキー（３０１）の押下に応じて、オフライン状態（ホスト計算機１からのデ−タを受けつけない状態）に移行し（ステップ３５０）、拡張Ｉ／Ｆ５に増設用ＲＡＭが接続されているか否かを判断する（ステップ３５１）。
【００８２】
拡張Ｉ／Ｆ５に増設用ＲＡＭが接続されていると判断された場合には、当該接続された増設用ＲＡＭと管理用ＲＡＭ７内の標準領域４ＭＢの総容量（４ＭＢ〜３６ＭＢ）を計算し不図示のメモリ容量カウンタにレジストする（ステップ３５２）。
【００８３】
拡張Ｉ／Ｆ５に増設用ＲＡＭが接続されていないと判断された場合には、管理用ＲＡＭ７内の標準領域４ＭＢを不図示のメモリ容量カウンタにレジストする。
【００８４】
なお、ステップ３５１と３５２の処理は、プリンタ本体の電源が入力された時に予め実行されても良い。
【００８５】
その後、左矢印キー（３１０）の押下に応じて、メニュー選択モードに入る（ステップ３５３）。
【００８６】
そして、左矢印キーの連続的押下に応じて、図９に示す「印字調整」メニュー（３８０）が２段ＬＣＤ（３１２）に表示されるまでメニューを検索する（ステップ３５４）。
【００８７】
次に、下矢印キー（３１１）の押下に応じて、メニューレベルを１階層低いレベルに設定し、左矢印キー（３１０）あるいは右矢印キー（３０９）の押下に応じて、図９に示す印字保証メモリ（３８２）あるいはシステムワークメモリ（３８６）のメニュー階層を選択し、もう一度下矢印キー（３１１）の押下に応じてさらに低いメニュー階層に移行する（ステップ３５５）。
【００８８】
そして、選択したメモリ項目に対して獲得可能なメモリサイズ（例えば、総メモリ容量が８ＭＢでシステムワ−クメモリを選択した場合には、「ジドウ」「２００Ｋ」「４００Ｋ＊」「６００Ｋ」「１０００Ｋ」）をパネルの２段ＬＣＤ３１２に右左矢印キー３０９、３１０の押下で選択表示し、下矢印キー（３１１）の押下で「ジドウ」モ−ドが指定されたか否かを判断する（ステップ３５６）。
【００８９】
なお、ＬＣＤ３１２への表示可能な印字保証メモリ、システムワークメモリのサイズは、図５、図６に示す搭載メモリによる最大設定可能値と利用可能なダイナミックメモリサイズより決まる。
【００９０】
ステップ３５６で「ジドウ」モ−ドが指定された場合には、ステップ３５２で不図示のメモリ容量カウンタにレジストされた総メモリ容量に応じて予め決められているデフォルト値を使用するメモリ容量とする（ステップ３５８）。
【００９１】
例えば、ステップ３５５で印字保証メモリが選択されステップ３５６で「ジドウ」モ−ドが選択された場合には図５に示すテ−ブルを参照して使用するメモリのデフォルト値が決定され、ステップ３５５でシステムワ−クメモリが選択されステップ３５６で「ジドウ」モ−ドが選択された場合には、図６に示すテ−ブルを参照して使用するメモリのデフォルト値が決定される。
【００９２】
なお、パネルより、印字保証メモリとして「ジドウ」項目が設定された場合には、図５で示すアスタリスクの容量が選択されるが、システムワークメモリをデフォルト状態よりも多い容量を選択している場合には、「ジドウ」のデフォルト値よりも少ない容量が設定される場合がある。
【００９３】
このメモリ容量を決定する計算式として、印字保証メモリサイズ（Ｒ）、システムワーク・メモリサイズ（Ｗ）、スタティックメモリサイズ（Ｓ）、ファイルシステムの保証容量（ＦＳ）、搭載メモリ容量（Ｍ）とすれば、以下の条件を満足する範囲内でメモリサイズを選択可能である。
【００９４】
Ｓ＋Ｗ＋Ｒ＋Ｆ≦Ｍ（式１）
【００９５】
また、ステップ３５６で「ジドウ」モ−ドが選択されず他のメモリ値（例えば、総メモリ容量が８ＭＢでシステムワ−クメモリを選択した場合で「２００Ｋ」）が指定された場合には当該メモリ値を使用するメモリの容量とする。
【００９６】
最終的にメモリ構成の変更処理が終了すれば、オンラインキー３０１の押下に応じてオンライン状態に戻り、以後の印刷ジョブを受け付け可能とし本処理を終了する（ステップ３５９）。
【００９７】
〔ＲＡＭ領域を可変長にする例〕
ここでは、実施例として実際にどのパラメータ（メモリリソース）を可変サイズにし、どのような方針でメモリサイズを決定するかを説明する。
【００９８】
（データ入力バッファ）
これはホスト計算機１から送られるデータを格納する、入力バッファ２のサイズを指定するものであり、大きくすると以下で述べるインタプリタ１２０タスクのデータ解析処理速度が遅くとも、ある程度の入力データをバッファリング出来るため、ホストに対して入力待ちを要求するＢＵＳＹ信号を出す確率や時間が低減できる。
【００９９】
多量のイメージデータを流したり、高度なグラフィック処理、ホストＩ／Ｆが高速なジョブの場合にはバッファを大きくとった方がよい。
【０１００】
（キャシュテーブル）
本テーブルは文字をキャシュ（アウトラインフォントをスケーリングした後の、ビットマップ・フォントとして保持）する領域であり、２バイト文字あるいは１バイト文字を扱うか、あるいは文字はすべてＢＭで送られる場合等に分けて、本領域サイズを決定する。本領域のサイズは、２バイト文字  ＞１バイト文字  ＞  ＢＭ文字となる。
【０１０１】
（ポリペンテーブル）
幅を持ったラインを描画する際に、幅の軌跡をポリゴンで近似するためのテーブルであり大きなライン幅を出力する場合には、大きなメモリが必要である。
【０１０２】
また、ラインの近似精度が必要でない際には、本メモリは必要でない。
【０１０３】
（クリップ・オブジェクトテーブル）
クリップで通常の矩形クリップでは、必要な情報は数十バイトと少ないが、任意の多角形でクリップする場合にはその情報を格納する領域として大きなメモリが必要になる。
【０１０４】
簡単なラインプリンタ的な用途では本メモリは小さく、また、複雑なＤＴＰ用途で任意クリップを利用する場合には本メモリは大きくする必要がある。
【０１０５】
（中間バッファ）
中間バッファ８は、入力バッファ２に格納されている入力デ−タ（ＰＤＬ）から生成される中間デ−タ（オブジェクトデ−タ）を格納する。
【０１０６】
（バンドラスタメモリ）
これは、後述するバンディング処理におけるバンド高さの２面分相当のラスタメモリが必要であり、メモリが十分にあるシステムではこのサイズを大きくし、プリントオーバランないしはデグレードの頻度減少を図ることが可能となる。
【０１０７】
（ディザパターン）
本メモリは多値イメージデータをサポートするＰＤＬにおいて、対応する最大ディザマトリックス分のメモリを獲得する必要がある。
【０１０８】
多値イメージの入力をサポートしないＰＤＬでは、本メモリ領域は獲得する必要がない。
【０１０９】
〔バンドラスタメモリを可変長にする例〕
バンドメモリのサイズをＢＭ、トータルのメモリサイズをＴＭ、ダイナミックに獲得するフレームメモリのサイズをＰＭ、スタティックメモリサイズをＳＭ（固定）、ファイルシステムのサイズをＦＭ、印字解像度をＲＥＺとする。
【０１１０】
片面印字における、メモリ構成は、ＴＭ＝ＢＭ＋ＰＭ＋ＳＭ＋ＦＭである。
【０１１１】
バンドメモリのサイズを大きくすれば必然的にＰＭのサイズを小さくする必要があり、タイムデグレードの可能性は減少するがメモリデグレードの可能性は増加する。これは文字等があるバンドに集中している際のタイムデグレード解除に有効である。
【０１１２】
一方バンドメモリのサイズを小さくすれば、メモリデグレードの頻度が減少し、タイムデグレードの頻度が増加する。これはビットマップ等のデータに対して有効である。
【０１１３】
次に、印刷する解像度ＲＥＺを１／２にする場合のデフォールト構成を考える。
【０１１４】
ＲＥＺ（６００）：  ｂａｎｄ＿ｈｅｉｇｈｔ（６００），  ｂａｎｄ＿ｗｉｄｔｈ（６００）
ＲＥＺ（３００）：  ｂａｎｄ＿ｈｅｉｇｈｔ（３００），  ｂａｎｄ＿ｈｅｉｇｈｔ（３００）
の時、デフォールトとして
ｂａｎｄ＿ｗｉｄｔｈ（３００）  ＝  ｂａｎｄ＿ｗｉｄｔｈ（６００）／２
ｂａｎｄ＿ｈｅｉｇｈｔ（３００）  ＝  ２  ＊  ｂａｎｄ＿ｈｅｉｇｈｔ（６００）
とする、その結果バンドメモリは論理的には同じメモリサイズで、紙上の面積的には３００  ＤＰＩ時は６００  ＤＰＩ時の４倍の面積をカバーでき、タイムデグレードの発生頻度の減少が図られる。
【０１１５】
また、バンドメモリサイズを減らして、タイムデグレードの可能性を増加させることなく、メモリデグレードの発生頻度の減少も可能である。
【０１１６】
両面印刷においては、ＰＭが片面よりもスループットの向上のため、及びジヤムリカバリーのために大きなメモリ量が必要であり、それにともないＢＭのサイズはデフォールトで減少させる必要がある。
【０１１７】
このような要因は、まだいくつか考えられると思うが、デフォールトとしてこれらの要因データはＤＢとして書き込んでおき、ユーザが後にジョブ毎にこの設定値を変更出来るようにする。
【０１１８】
〔印刷アルゴリズム〕
以下に、必要な印字保証メモリ（２０）、システムワ−クメモリ（２１）及びその他のメモリを獲得した後の、ＰＤＬ情報の解析・印刷処理の概略アルゴリズムを図１４を用いて説明する。
【０１１９】
まず、ステップ１０１において、割り込み処理等により入力バッファ２にＰＤＬデータをとり込み、次にステップ１０２では入力されたＰＤＬコマンドを言語仕様に応じて解析する。
【０１２０】
ここでは、ＰＤＬの入力データの先頭数百バイトを判別して、入力したＰＤＬを自動判別する仕掛けが必要である。
【０１２１】
ＰＤＬを判定した後、ＰＤＬコマンドを解析した結果データが描画コマンド、例えば文字、ベクトル、イメージ描画である際には、ステップ１０４においてハードウェア（又はソフトウェア）・レンダリング回路（ソフトウェア）９がサポートするページオブジェクト形式のデ−タ（中間デ−タ）に変換し、中間バッファ（８３）に格納する。
【０１２２】
〔レンダリングモデル〕
以後の説明の理解のため、本実施例におけるレンダリングモデルを図１５を用いて簡単に説明する。
【０１２３】
本モデルは、各種描画データの幾何的な情報、すなわちどの部分が描画対象かというＯＮ，ＯＦＦの１ｂｉｔで表現可能なマスク情報１５１、そしてマスクをどのようなパターンで塗るかというのバックグランド情報１５２、及びソ−スとディスディネ−ション間での論理描画方式１５３（ＳＥＴ、ＯＲ、ＸＯＲ、ＢＬＥＮＤ、ＡＤＤ  ｅｔｃ）の三要素により構成され、対応するレンダリング結果が１５４となる。
【０１２４】
〔マスク〕
本実施例においてサポートするマスク情報として、ランレングス（Ｘ方向の一つのスキャンライン毎のラン情報）、エッジが交差しない凸多角形、ビットマップイメージ、ビットマップフォントなどからなる。
【０１２５】
これらの情報からわかるように、これらのマスク情報は高速なハードウェア・レンダリングに適した構造とし、例えば図１６の五角形は本ステップ１０４において、図１７に示すような交差しない５個の三角形に分割する（この例では塗りつぶしは、ｅｖｅｎ−ｏｄｄルールを適用）。
【０１２６】
また、図１８に示す、ラインの接続処理部においては本モジュールにおいてＤＤＡアルゴリズムを適用して管理用ＲＡＭ７内の作業領域にラインの接続情報（ｒｏｕｎｄ，  ｍｉｔｅｒ，  ｔｒｉａｎｇｌｅ）を考慮して展開した後、最終的な外部形状を、Ｙスキャンライン毎にｍｉｎ  ｘ，  ｍａｘ  ｘをペア情報としてランレングス方式で保持し、その後の高速なレンダリング（ステップ  １１０）に備える。
【０１２７】
最終的に生成される各マスクオブジェクトは、フルページメモリよりも少ないメモリ容量でのレンダリング、すなわちバンディングを行なうためページメモリを複数のバンド（高さが２の冪乗が望ましく、５１２ドット位が最適である）に分割し、各マスクオブジェクトをバンド毎にソーティングし、各バンド内で図１９に示すリンクリストを構成する。
【０１２８】
複数バンドに跨るマスク情報（例えば図１７に示す多角形）に関しては、各バンドで多角形情報を共有化する。
【０１２９】
各バンドに分割したマスクに対しステップ１０５において、レンダリング時に必要となるデータのデコード時間とレンダリング時間を、各バンドにおいてページオブジェクト（中間デ−タ）を作成する毎に加算する。
【０１３０】
この情報をそれぞれバンドｉ毎に保持し、ｐｒｅｄ＿ｄｅｃｏｄｅ（ｉ），  ｐｒｅｄ＿ｒｅｎｄｅｒ（ｉ）とする。デコード時間は、作成されたオブジェクトのほぼデータ量に比例する。
【０１３１】
しかし、バンド３における三角形１、４のデコード時間は、前のバンド２の開始点からのバンド３における多角形の開始点のオフセットを求める時間が余分に必要となる。
【０１３２】
レンダリング時間は、フォアグランドの計算時間×（バックグランドの色深さ×色プレーン数）×論理描画の種類による演算ファクタにより決定する。更にフォアグランドの計算時間は、オブジェクトのデコ−ド時間＋（ライン毎のデコ−ド時間＋マスクのＸ方向のワ−ド数）×（高さ）により決定する。（）内は、カラープリンタ装置の場合に有効である。
【０１３３】
図１４に戻り、入力されたデータが描画コマンドでない場合には、ステップ１０６でデータが各種属性（バックグランド、論理描画）設定コマンドかどうかを判定する。
【０１３４】
もしＹＥＳであれば、ステップ１０７において対応する処理を実行するが、これらはそれぞれハード（又はソフト）レンダラが読み込み可能なデータ形式（ページオブジェクト）に変換するものである。
【０１３５】
また、Ｆｌｏｏｄ  Ｆｉｌｌ等の命令（点指定塗りつぶし）はバンディングによるレンダリングを実行できないため、そのような情報を検知すると、フルペイントフラグ（ｆｕｌｌ−ｐ−ｆｌａｇ）をセットする。結果として、ステップ１１２において強制的に印刷の解像度を落して、フルペイント（デグレード）モードでのレンダリングを行なう。
【０１３６】
このためには、例えば通常６００ＤＰＩでバンディング処理して、レンダリング時間が間に合わないと、３００ＤＰＩに各オブジェクト解像度を落して、レンダリングする結果となる。この時バンド・ラスタメモリ１０及び中間バッファ８のト−タルとしては、最低３００ＤＰＩで利用するＭａｘ紙サイズ分のメモリ容量が必要である。
【０１３７】
〔バックグランド〕
バックグランド情報は、マスクに対してどのようにパターンをつけるかを示す。バックグランドの種類として、イメージとして繰り返しを行なわずにマスクに張りつくバックグランド・パターンと、パターンを縦・横方向に繰り返してマスクに張り付けるタイルパターンが指定可能である。
【０１３８】
本実施例においてＢ／Ｗ（白黒）印刷装置を想定しているため、イメージ、タイル、グラデーションは白黒情報として指定するが、カラーへの拡張は容易である。
【０１３９】
ステップ１０８は、例えばデバッグ処理等の目的で現在の状態をダンプ処理を行なう。ステップ１０９では上記インタプリタ１２０（中間デ−タ生成タスク８２も同様）の処理が１ページ分のＰＤＬコマンド解析を終了したかを判定し、終了していれば１２１のレンダリングタスク８３に処理が移行するが、そうでなければステップ１０２において、次のコマンド解析を繰り返す。
【０１４０】
ここまでは基本的にＰＤＬからページオブジェクト（中間デ−タ）への、データ・フィルタリング・タスクであり、これ以降の処理はバンド・ラスタメモリへの１０へのラスタ描画を行なうレンダリング・タスク８３である。
【０１４１】
この両者のタスクは、特にレンダリング・タスクにおいて実時間処理が要求されるため、リアルイタイムＯＳ上で別タスクとして実装され、かつ後者のレンダリング・タスクは前者よりも動作プライオリティを高く設定し、動作する。
【０１４２】
〔バンド・レンダリング〕
ステップ１１０において、ページオブジェクトをレンダリングする前処理として、バンド・レンダリング（バンディング）処理が可能かどうかを判定する。
【０１４３】
このバンディング処理が不可能な場合を以下に列挙する。
▲１▼上述したＦｌｏｏｄ  Ｆｉｌｌ命令等がページ中に存在する。
▲２▼大量のイメージ入力により管理用ＲＡＭ７のフレーム情報があふれた（メモリデグレード）。
▲３▼プリンタが電子写真ＬＢＰ、ＬＥＤプリンタの様に一度紙を給紙して記録を開始すると、バンディング処理はプリンタエンジン１３へのビデオ信号転送とバンドへのレンダリングを並行処理する必要があり、ステップ１０５で計算されたバンド毎のレンダリング時間ｐｒｅｄ＿ｄｅｃｏｄｅ（ｉ）、ｐｒｅｄ＿ｒｅｎｄｅｒ（ｉ）に関し、どれかのバンドが、所定の閾値をオーバする（タイムデグレード）。
【０１４４】
上記条件に適合すると、バンディングを実行できないため、解像度を落してバンド・ラスタメモリ１０及び中間バッファ８のメモリ中に、紙サイズ分のフルペイントメモリを確保刷る為に、現在ある中間デ−タを解像度を落としてレンダリングしてそのオブジェクトを消去しながらフルメモリを確保する。
【０１４５】
一方、ＢＪプリンタ等のヘッドの移動をコントローラ側で制御出来る形態のマシンにおいては、レンダリング時間に（上記３番目の条件、タイムデグレード）ついては上述の限りではなく、レンダリング・スピードが低下すると、ヘッドの移動を遅らせることにより、バンディング処理が可能である。
【０１４６】
バンディング処理を図２０を参照しながら説明する。バンド・レンダリングは、ＰＤＬ解析タスク１２０（中間デ−タ作成タスク８２も同様）により管理用ＲＡＭ７に作成されたページオブジェクト情報（中間デ−タ）を、レンダリングタスク２０２（８３も同様）によって起動されるハード又はソフトレンダラ９が読み込み、マスクの情報からＹ座標におけるスキャンライン情報（ｘ  ｍｉｎ，  ｘ  ｍａｘ）を抽出し、カレントのバックグランド情報、論理描画モードを参照して対応するバックグランド情報をバンド・ラスタメモリ１０に書き込む。
【０１４７】
そして、すべてのマスクに対応すべくＹ情報を変化させて、レンダリングを実行する。
【０１４８】
〔バンディングにおけるシッピング〕
こうしてハードウェアはマスク情報、バックグランド情報、論理描画の方法に従いバンド番号ｉのページオブジェクトに対しレンダリングを行なうと共に、並行してプリンタエンジン１３から送られてくる水平同期信号にあわせ、プリンタＩＦ１１を通じて既にレンダリング済みのバンド番号ｉ−１のバンド情報をプリンタにビデオ信号として送出する。
【０１４９】
〔デグレード・レンダリング〕
バンドレンダリングが不可能なＰＤＬデータに関してはデグレード処理を実行するが、そのアルゴリズムを以下に説明する。
【０１５０】
〔ページオブジェクトの解像度変換〕
デグレード処理はリアルタイムにレンダリング出来ないため、解像度を落したバッファ１０上へのレンダリングとなる。
【０１５１】
レンダリングハード９は処理の簡素か及び高速化を要求されるため、レンダリング時にランレングスや凸多角形情報のリアルイタイムな解像度変換は実行できない。
【０１５２】
そこで、以下に示す処理を、レンダリング処理以前に実行しておく必要がある。
【０１５３】
レンダリングの前処理として、例えば６００  ＤＰＩから３００  ＤＰＩに解像度を落とす際、ランレングスは２ライン分をまとめて１つのランレングスとし、凸多角形は頂点情報の再計算を実行する。これをページバッファ中のすべてのマスク情報に対して、インタプリタ・タスク２０１にて実行する。
【０１５４】
ランレングスは、例えば６００ＤＰＩにおける、二つのラインｉ、ｉ＋１のＸ座標の開始・終了点をそれぞれｘｌ（ｉ），ｘｒ（ｉ），ｘｌ（ｉ＋１），ｘｒ（ｉ＋１）とすると、新規３００ＤＰＩで間引かれた一つのスキャンの開始、終了点のＸ座標は以下のようになり、Ｙ座標はｉ／２となる。
【０１５５】
ｎｅｗ＿ｘｌ（ｉ）＝ｍｉｎ（ｘｌ（ｉ），ｘｌ（ｉ＋１））／２，ｎｅｗ＿ｘｒ（ｉ）＝ｍａｘ（ｘｒ（ｉ），ｘｒ（ｉ＋１））／２
イメージに関しては、ページオブジェクトのイメージ情報自身は変化せずに、ｘ，ｙ方向へのスケーリングファクタをそれぞれ１／２倍する。
【０１５６】
〔記録装置１３〕
図２１は本実施例が適用出来るレーザビームプリンタ（ＬＢＰ）装置の概観図であり、また、図１の概略構成におけるプリンタエンジン１３部の概観を示す図でもある。尚、図１における１３以外の制御部はプリンタコントロ−ラ１４に構成されている。
【０１５７】
なお、本発明の第１の実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【０１５８】
図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等の入力デ−タ（例えば、ＰＤＬ）を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等の出力デ−タ（ビットマップデ−タ）を作成し、記録媒体である記録紙等に像を形成する。
【０１５９】
１０１２は操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル、１４はＬＢＰ本体１０００全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタコントローラである。
【０１６０】
このプリンタコントローラ１４は、主に文字情報を対応する文字パターンあるいはベクトル、イメージ情報のビデオ信号に変換してレーザドライバ１００２に出力する。
【０１６１】
レーザドライバ１００２は半導体レ−ザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオン・オフ切り換えする。レーザ光１００４は回転多面鏡（ポリゴンミラー）１００５で左右方向に振らされて静電感光ドラム１００６上を走査露光する。
【０１６２】
これにより、静電感光ドラム１００６上には文字パターンの静電潜像が形成されることになる。この潜像は、静電感光ドラム１００６周囲に配設された現像ユニット１００７により現像された後、記録紙に転写される。
【０１６３】
この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と搬送ローラ１０１１とにより、装置内に取り込まれて、静電ドラム１００６に供給される。
【０１６４】
静電ドラム１００６および現像ユニット１００７で現像・転写された記録紙は、定着器１０１３で定着され、排紙トレイに排紙される。
【０１６５】
上記実施例において、マルチエミュレーションのＰＤＬにおいて異なるＰＤＬ毎に印字保証メモリ（２０）、システムワークメモリ（２１）のデフォールト値を保持し、パネルやユーティリティよりの指定がない時にはこのデフォールト値にしたがってダイナミックメモリを獲得しても良い。
【０１６６】
また、上記実施例ではメモリサイズを変更できるものとして、印字保証メモリ、システムワークメモリに限定して説明したが、もっと細かな単位例えば印字保証メモリ（２０）では、中間バッファ（８）、バンドラスタメモリ（１０）、フォントキャシュメモリ（８２）をそれぞれ個別にパネル、ユーティリティより指定しても良い。
【０１６７】
以上説明した様に本実施例によれば、印字保証メモリが「ジドウ」に設定された時、例えば計算されたＲＡＭ容量が１２ＭＢの場合にはＡ３サイズ（９．６ＭＢ）が自動設定される（図５参照）。
【０１６８】
また、システムワ−クメモリが「ジドウ」に設定された時、例えば計算されたＲＡＭ容量が１２ＭＢの場合には６００ＫＢが自動設定される（図６参照）。
【０１６９】
従って、ユーザが搭載メモリに応じたデフォルトの設定で情報処理装置を利用できると共に、ある特殊な利用形態として、ファイルシステムに登録したものを多く入れたい、文字をたくさん印字するためにフォントキャシュサイズを大きくしたいといった要求がある場合に、パネルからの設定やジョブ制御言語から印字の際のメモリ容量を制御でき、よりフレキシブルな印刷環境の実現が可能となり多様なユーザニーズに適応可能となる。
【０１７０】
【発明の効果】
本発明により、情報処理装置に増設メモリが接続されている場合に増設メモリと標準メモリの総容量を求めて、使用可能なメモリの容量を導出し、当該導出した容量に応じて、自動モードが設定されている印刷保証メモリまたはシステムワークメモリで使用するメモリのデフォルト値を決定出来る。
【図面の簡単な説明】
【図１】本実施例のデータの印刷／記録装置の基本構成を示すブロック図である。
【図２】本実施例におけるメモリ構成を示す図である。
【図３】本実施例におけるメモリ獲得の方法を示すフローチャートである。
【図４】本実施例における印字保証サイズと必要なメモリサイズの関係を示す図である。
【図５】本実施例における搭載メモリ容量と設定可能印字保証メモリサイズとデフォルト値を示す図である。
【図６】本実施例における搭載メモリ容量と設定可能システムワ−クメモリサイズとデフォルト値を示す図である。
【図７】本実施例におけるパネル詳細配置図である。
【図８】本実施例におけるパネル入力処理のフロ−チャ−トである。
【図９】本実施例におけるパネル階層図である。
【図１０】図３のステップＳ７１２の時点でのメモリ構成を示す図である。
【図１１】ＦＳのＧＣ終了時点でのメモリ構成を示す図である。
【図１２】ダイナミックメモリの解放時点でのメモリ構成を示す図である。
【図１３】次のジョブにおけるメモリ獲得時点でのメモリ構成を示す図である。
【図１４】ＰＤＬにおけるインタプリタ及びレンダラのアルゴリズムを示すフロ−チャ−トである。
【図１５】イメージングモデルを示す図である。
【図１６】各種マスク情報に関する説明図である。
【図１７】各種マスク情報に関する説明図である。
【図１８】各種マスク情報に関する説明図である。
【図１９】各種マスク情報に関する説明図である。
【図２０】バンドレンダリングの概念図である。
【図２１】記録装置のブロック図である。
【図２２】本実施例におけるジョブ制御言語の一例を示す図である。
【符号の説明】
１  ホスト計算機
２  データ入力用バッファ
３  フォントＲＯＭ
４  パネルＩ／Ｏプロセッサ
５  拡張Ｉ／Ｆ
６  プログラムＲＯＭ
７  管理用ＲＡＭ
８  中間バッファ
９  ハードウェア・レンダラ
１０  バンドラスタメモリ
１１  プリンタインタフェース
１２  ＣＰＵ
１３  プリンタエンジン
１４  プリンタコントローラ
【図１】
0003618834.tif 000002
【図２】
0003618834.tif 000003
【図３】
0003618834.tif 000004
【図４】
0003618834.tif 000005
【図５】
0003618834.tif 000006
【図６】
0003618834.tif 000007
【図７】
0003618834.tif 000008
【図８】
0003618834.tif 000009
【図９】
0003618834.tif 000010
【図１０】
0003618834.tif 000011
【図１１】
0003618834.tif 000012
【図１２】
0003618834.tif 000013
【図１３】
0003618834.tif 000014
【図１４】
0003618834.tif 000015
【図１５】
0003618834.tif 000016
【図１６】
0003618834.tif 000017
【図１７】
0003618834.tif 000018
【図１８】
0003618834.tif 000019
【図１９】
0003618834.tif 000020
【図２０】
0003618834.tif 000021
【図２１】
0003618834.tif 000022
【図２２】
0003618834.tif 000023