JP3618834B2 - 情報処理装置及びメモリ制御方法 - Google Patents
情報処理装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP3618834B2 JP3618834B2 JP17870995A JP17870995A JP3618834B2 JP 3618834 B2 JP3618834 B2 JP 3618834B2 JP 17870995 A JP17870995 A JP 17870995A JP 17870995 A JP17870995 A JP 17870995A JP 3618834 B2 JP3618834 B2 JP 3618834B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- system work
- capacity
- processing apparatus
- information processing
- 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 - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、使用するメモリの容量を指定できるプリンタ等の情報処理装置及びメモリ制御方法に関する。
【0002】
【従来の技術】
プリンタ等の情報処理装置において使用するメモリのサイズは、ホストコンピュ−タからのコマンド或は情報処理装置上のパネルから指定された。
【0003】
【発明が解決しようとしている課題】
しかし、従来の情報処理装置では増設メモリ(例えば、RAM)が接続され使用可能なメモリが増加した場合、ユ−ザがメモリ資源を用途に応じて容易に制御できないという問題点があった。
【0004】
上記問題点を解決する為に、本発明は使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する情報処理装置及びメモリ制御方法を提供することを目的とする。
【0005】
【課題を解決する為の手段】
上記目的を達成する為に本発明の情報処理装置は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断手段と、前記判断手段により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出手段と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介してそれぞれ手動で設定する手動設定手段と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定手段により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識手段と、前記認識手段により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出手段で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御手段とを有する。
【0006】
また、上記目的を達成する為に本発明のメモリ制御方法は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置におけるメモリ制御方法であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断工程と、前記判断工程により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出工程と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介する手動入力に応じて設定する手動設定工程と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定工程により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識工程と、前記認識工程により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出工程で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御工程とを含む。
【0007】
上記構成により本発明は、使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する。
【0008】
【発明の実施の形態】
以下、添付図面に沿って本発明に係わる実施例を詳細に説明する。
【0009】
図1は実施例における印刷装置の基本構成を示すブロック図である。この図を用いて処理の大まかな流れを示す。
【0010】
〔全体構成〕
1は、アプリケーションとして各種印字情報(例えば文字、イメージ、ベクトル図形)を作成し、データをPDL(ペ−ジ記述言語)形式に変換して記録装置コントローラ14に送出するWS(計算機)である。
【0011】
ここで、計算機とコントローラ14間にPDLデータが流れるが、通信形態はシリアル、ネットワーク、バス接続等何であっても問題はないが、パフォーマンス的には高速通信路であることが望ましい。
【0012】
送られたPDLデータは、コミュニケーションタスク81(CPU12で実行されるコミュニケ−ションプログラム)により入力バッファ2に格納され、中間デ−タ生成タスク82(CPU12で実行されるPDLコマンド解析プログラム)によって、入力データがスキャンされる。
【0013】
3は、文字のビットパターン又はアウトラインなどの文字グリフ情報、及び文字ベースラインや文字メトリック情報を格納するフォントROMであり、文字の印字に際して利用される。
【0014】
4のパネルIOPは、プリンタ本体に装着されるパネルにおけるスイッチ入力の検知やLCDへの表示を司るI/Oプロセッサ及びファームウェアであり、低価格のCPUが利用される。
【0015】
拡張I/F5は、プリンタの拡張モジュール(フォントROM、プログラムROM、RAM、ハードディスク)とのインタフェース回路である。
【0016】
6は、CPU12で実行される本発明に係るコミュニケ−ションタスク81、中間デ−タ生成タスク82、レンダリングタスク83、エンジンタスク84、メモリマネ−ジャ−85の制御プログラムや図3、図8、図14のフロ−チャ−トに示す制御プログラムを格納するROMである。
【0017】
7は、ソフトウェアの為のメモリ管理領域であり、本発明に関連するジョブ毎に獲得される情報(図2参照)や当該情報を獲得する際に使用されるテ−ブル(図4、図5、図6等参照)等が本管理用RAMに格納される。
【0018】
8は、入力された入力データ(PDLデ−タ)を中間デ−タ生成タスク82を実行して解析した結果得られる中間デ−タ(オブジェクトデ−タ)を格納する中間バッファ(RAM)であり、メモリマネ−ジャ−85によって管理される。
【0019】
これら管理用RAM7、中間バッファ8及び以下に述べるバンドラスタメモリ10は本発明の根幹をなすものでありメモリマネージャー85によって管理され、アドレス的には連続空間でもまたは離れたアドレス空間であっても良い。
【0020】
ハードレンダラ9は、レンダリング処理(中間デ−タから出力デ−タを生成する処理)をASICハードウェアで実行することにより、プリンタエンジン13(LBP)へのビデオ転送に同期して実時間でレンダリング処理を行ってバンドラスタメモリ10に格納し、少ないメモリ容量でのバンディング処理を実現するものである。
【0021】
なお、ハードで実行できない複雑なPDLの命令は、ハードレンダラ9よりCPU12に割り込みが発生し、レンダリングタスク83によりソフトレンダリング処理が実行される。
【0022】
バンド・ラスタメモリ10は、PDL(ペ−ジ記述言語)によって展開される出力デ−タ(バンドイメ−ジ)を格納する領域であり、上述のバンディング処理を行なうための最低2バンドのメモリ(ページ幅×256又は512位のバンド高さ分のバンディング制御用のメモリサイズで、総容量4Mのプリンタにおいて600DPIのA3の中間デ−タを処理する場合のサイズであるが外部記憶手段が接続されるとこのサイズも比例して増加する)で、バンディング処理を出来ない際に、LBPのようにエンジンに同期してイメージを転送する必要のある装置ではフルビットマップ・メモリ(フルペイント制御用のメモリサイズ)を確保する。
【0023】
バンディング制御は、内部処理の都合上、最も高速なパフォ−マンスが得られ、プリンタエンジン最高速で出力できる(中間デ−タに依存)。ただし、プリンタエンジンの出力に同期してラスタライズ処理(レンダリング処理)を実行するため、1ペ−ジ分の中間デ−タをバッファリングでき、かつプリンタエンジンの紙搬送時間以内でラスタライズを終了できることが絶対条件となる。
【0024】
フルペイント制御は、内部処理の都合上、バンディング処理に比べてパフォ−マンスが劣る可能性があるが、プリンタエンジン最高速で出力できる(中間デ−タに依存)。また、1ペ−ジのラスタライズ処理が終了した後、プリンタエンジンの紙搬送を始めるので、図べての中間デ−タに対して出力を保証できる。ただし、1ペ−ジ分の出力デ−タ(ビットマップデ−タ)を持つことが絶対条件である。
【0025】
しかし、バブルジェット・プリンタ(BJと以後省略する)のようにヘッドの移動をコントローラ側が制御可能なマシンの場合には、上記バンドのメモリが最低確保されればよい。
【0026】
プリンタ・インタフェース11はプリンタエンジン13例えばLBPとの間で、10のバンド・ラスタメモリの内容をプリンタ側の水平・垂直同期信号に同期して、ビデオ情報として転送する。
【0027】
あるいは、BJにおけるヘッド制御及び複数ラインのヘッドサイズに合わせたビデオ情報の転送を行なう。本I/Fは、専用のCPUやハ−ドを利用したり、CPUを用いることが考えられるが、パフォ−マンス的には前者が望ましい。
【0028】
本インタフェースではプリンタエンジン13との間で、プリンタエンジン13へのコマンド送信やプリンタエンジン13からのステータス受信も行なう。これらの処理は、エンジンタスク84の処理となるが、前者のビデオ転送ほど処理速度は要求されない。
【0029】
CPU12はプリンタコントローラ14内部の処理を制御する演算装置であり、パフォーマンスをあげるためには、できるだけ高速な例えばRISC CPUであることが望ましい。
【0030】
13はコントローラから送出するビデオ信号を印字するプリンタエンジンであり、電子写真によるLBPでもインクジェット方式であってもよい。14は本処理を実現するコントローラ全体である。
【0031】
図1中で矢印は、各種描画情報のホスト計算機1からプリンタエンジン13までのデータの流れを示し、下には各処理に対するタスク名称を示す。ここでの各タスクはマルチタスクとなっており、タスクの実行時の優先順位は、実時間処理を要求される順番で、エンジンタスク84>レンダリングタスク83>コミュニケ−ションタスク81>中間デ−タ生成タスク82である。
【0032】
〔メモリマネ−ジャ−85〕
本発明の、基本構成要素である管理用RAM7のメモリ構成の詳細図を図2に示し、メモリ獲得のアルゴリズム(メモリマネ−ジャーの動作)を図3のフロ−チャ−トを用いて説明する。
【0033】
ステップ701では、プリンタの初期化処理として各種メモリやハードウェアの故障診断を実行し、もしエラーがあればその旨警告し処理を停止する。
【0034】
次にステップ702では、各タスクがスタティックに必要なメモリ(メモリ構成やエミュレートするトランスレータの差異に依存しなく、立ち上げ時に獲得すると電源がOFFされるまで保持されている)を要求するサイズを指定して、メモリマネージャーより獲得する。
【0035】
これは図2に示すように、各タスクの初期化関数が呼ばれる順番にスタティックメモリ獲得を要求し、メモリマネージャ85が各タスク(81から84)にメモリを順番に割り当てる。
【0036】
すべてのタスクの初期化が終了すると、メモリマネージャー85がスタティックメモリの先頭(72)及び後端(73)アドレスを記憶しておく。
【0037】
この初期化段階では、以後に利用方法がダイナミックに変更される可能性のあるリソース情報、すなわちメモリ・コンフィギュレーション・テーブル74は、デフォールト設定がなされた状態になっている。
【0038】
バンドラスタメモリの容量はシステムメモリ、印刷解像度(本実施例においてクイックモ−ドで300DPI、ファインモ−ドで600DPIとなる)などを考慮してデフォルトの容量が設定されている。
【0039】
また、この容量に対応したバンド高さの値も同時にメモリ・コンフィギュレ−ション・テ−ブル74に格納される。
【0040】
次にステップ703では、プリンタの印刷ジョブを開始する前にユーザが記録装置についている操作パネル4からの、状態変更(ボタンの押下、解放 数値入力etc)要求が発生しているかをセンスする。
【0041】
もし、なんらかの変更があれば要求を解析し、対応する情報をメモリ・コンフィグレーション・テーブル74の値にオ−バライトする(ステップ704)。
【0042】
例えば、メモリ(リソ−ス)変更指示は、印字保証メモリ(中間バッファ8とバンドラスタメモリ10とキャッシュメモリの合算値容量)或はシステムワ−クメモリ(ポリペンテ−ブル、CLIPオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量)を設定する設定値を記録装置で使用する用紙サイズ(A4、B4、A3、B4×2、A3×2、B4×3、A3×3)或は具体的な容量値(200KB〜1000KB)で指定する。
【0043】
なお、合算値の組み合わせは図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の任意な組み合わせを指定できる。
【0044】
また、図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の1つ(例えばバンドラスタメモリ10或は中間バッファ8(オブジェクトメモリ))を指定しても良い。
【0045】
次にステップ706では、ホスト計算機上におけるユーティリティ・プログラムからの、メモリ(リソース)変更要求コマンド(JL SETコマンド)が入力されているかどうかをチェックする。
【0046】
例えば、メモリ(リソ−ス)変更コマンドは、印字保証メモリ(中間バッファ8とバンドラスタメモリ10とキャッシュメモリの合算値容量)或はシステムワ−クメモリ(ポリペンテ−ブル、CLIPオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量)を設定する設定値を記録装置で使用する用紙サイズ(A4、B4、A3、B4×2、A3×2、B4×3、A3×3)或は具体的な容量値(200KB〜1000KB)で指定する。
【0047】
なお、合算値の組み合わせは図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の任意な組み合わせを指定できる。
【0048】
また、図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の1つ(例えばバンドラスタメモリ10或は中間バッファ8(オブジェクトメモリ))を指定しても良い。
【0049】
もし、図22に示す様な該当するコマンドが入力された場合には、ステップ704の処理、すなわち必要なメモリ量の計算を図4或は図5に示すテ−ブルを参照して実行する。
【0050】
ステップ705では、ジョブ開始コマンドが入力されるかを判定し、NOであればステップ703から706の処理を行ない、YESであれば次のステップ708に進む。
【0051】
ステップ708では、ジョブ毎にサイズが変化するメモリ領域(ここでは以後ダイナミックメモリと呼ぶ)を獲得する。ダイナミックメモリも基本的にはスタティックメモリと同様に、本メモリを必要なタスク毎に、必要なサイズをメモリ・コンフィギュレーション・テーブル74を参照して、タスク毎にメモリマネージャ85に要求する。
【0052】
メモリマネージャー85は本メモリを、要求された順番に、スタティックメモリの終端より獲得する。図2においては、ダイナミックメモリの項目とそれがどのタスクによって必要かは、後ろの(81ー84)のタスク番号の対比によって示される。
【0053】
例えば、中間デ−タ生成タスク(83)では、3個のメモリ要素(ポリペンテーブル、CLIPオブジェクトテーブル、中間バッファの組み合わせ)のトータルメモリをメモリマネージャー85に要求し、中間デ−タ生成タスク内で獲得されたダイナミックメモリから、それぞれの項目にメモリ資源を割り当てる。
【0054】
本発明の主眼であるバンドラスタメモリ10は、レンダリングタスク83によってダイナミックメモリが割り当てられる。
【0055】
そして最後に、メモリの残った部分にFS(ファイルシステム)として、メモリ領域を確保する(ステップ709)。このメモリはフォントのダウンロードや、PDLにおけるフォームオーバレイやマクロ命令の格納領域として用いられる。ステップS708で各タスクが獲得したダイナミックメモリは、印刷ジョブが終了すると、ステップ714で解放される。
【0056】
一方、本FSメモリは、ジョブが終了しても解放されずに残しておく、すなわち印刷ジョブ間で共有する必要がある。
【0057】
そのため、本メモリはメモリマネージャ85が内部的にファイルシステムのアドレス空間内において、スタティックメモリやダイナミックメモリとは反対の方向(メモリ終端)からメモリ獲得を行ない、ダイナミックメモリ解放後のガーベージコレクション(ステップ713)を効率的に行なう。
【0058】
メモリ獲得が終了し、ステップ710では入力されたPDLデータの解析を行ない、ステップ711では解析されたデータに従い実際の印字を行なう。本処理は、〔アルゴリズム〕の節以降で詳細に説明している。
【0059】
ステップ712でジョブが終了すれば、メモリ獲得とは逆の順序でメモリの解放処理を実行する。
【0060】
この結果メモリマネ−ジャ85は、現在のダイナミックメモリの利用中の最下端アドレスを記憶しておくだけで良い。
【0061】
ステップ713では、FSとして獲得されたメモリをガーベージ・コレクション(GC)する。本実施例では、FS内に獲得されたオブジェクトをメモリ空間の終端から連続した空間に割り当てるものであり、一つのFSとしての大きなFREE領域を作成する(図11参照)。
【0062】
ここでFSオブジェクトは、ディスクで一般的なFATテーブル(File Access Table)形態をとっているため、FS内のメモリをIDを通じて利用しているユーザにはGCの影響はない。
【0063】
最後にステップ714でダイナミックメモリを解放するが、これは最初に獲得したタスク順序81、82、83、84とは逆の順序84、83、82、81でメモリ解放をメモリマネージヤーに要求し、最終的にはすべてのダイナミック・メモリを解放することにより、図12に示すように、ダイナミックメモリが解放された領域は、すべてFSのFREE領域として取り扱われる。
【0064】
次に新規ジョブを開始した際には、このFREE領域の先頭アドレスからダイナミックメモリをステップ708で獲得し、図13の様にメモリが構成される。
【0065】
ここで図10、図13を比較すればダイナミックメモリの構成が変化してることがわかるが、これによりPDLのジョブに応じてメモリ構成を最適化が可能となる。
【0066】
以上のメモリ管理を司るメモリマネージャーは、ダイナミックメモリの後端アドレス、及びFSにおけるFAT管理とGCを行なえば良く、これらの実装は容易である。
【0067】
〔印字保証メモリ〕
図2に示すように、中間バッファ(8)とバンドラスタメモリ(10)、アウトライン文字をスケーリングした結果を保持するフォントキャシュメモリ(82)の合算したメモリ領域を印字保証メモリ(20)と定義し、処理可能な最大解像度において必要となるメモリ容量に対応する。
【0068】
具体的には、600DPIの解像度でPDLを処理する際、どの紙サイズまで完全に600DPIで印字が保証されるかで表現する。
【0069】
実施例としては、印字保証する紙サイズと実際に必要なメモリサイズは、図4のテ−ブルに示す関係となる。
【0070】
ここで、「しない」という指定は、A4以上の紙サイズでは、600DPIで印字処理が保証できないことを意味し、「B4*2」というのは B4紙が2 面分保証される、すなわち両面印刷における2面が600DPIで印字可能である。
【0071】
もし、A3の紙にPDLにより印字しようとする際に、印字保証メモリがA4相当分しかなければ、バンディング可能な場合には最高解像度(600 DPI)で出力可能だが、バンディング不可能な場合には解像度を落す処理(デグレード)やプリントオーバランが発生し、印字結果は劣化したものとなる。
【0072】
ここで「A4」が5.2Mであるのは、A4片面印字を600DPIで確実に行なうためA4フルビットマップメモリとして4M相当分+中間データ格納領域
及び フォントキャシュ領域として1.2MB必要となるからである。
【0073】
また A3は片面A3印字を600DPIで保証するか、または両面A4 600DPI印刷処理(4M*2+α)を保証するためのメモリサイズである。
【0074】
上記のメモリサイズは、バンディング処理が不可能な場合(デグレード)も含めた保証メモリであり、バンディング処理可能な場合には、バンドラスタメモリ(10)には600DPI解像度で、A4用紙の縦送り、512高さとすれば、バンドラスタメモリ(10)は大体(512×210×600/25.4)×2/8=524KB程度あれば十分であり、残りの領域には中間データ+フォントキャシュ情報が格納可能となる。
【0075】
印字保証メモリと、本プリンタに搭載されているメモリサイズ、及び指定可能なメモリサイズの関係を図5に示す。図中で各搭載メモリに対する、デフォールトの印字保証サイズ(20)をアスタリスク*で示す。
【0076】
〔システムワークメモリ〕
システムワークメモリ(21)はPDLが印字処理するための作業領域のメモリであり、以下に示すポリペンテーブル(83)、CLIPオブジェクトテーブル(83)、ディザパターン(83)、スクラッチメモリ(83)などの作業領域の集合体である。
【0077】
これらの作業メモリ領域が増えれば、それぞれライン幅を太いものまでサポート可能、任意クリップのオブジェクトがより複雑なものまで高速に描画可能、大きなサイズのディザパターンを処理可能となる。
【0078】
システムワークメモリの獲得するメモリの基本単位は200KBとし、搭載メモリの増設に従い、図6に示すようにシステムワークメモリ容量を増加させる。
【0079】
図中で*のメモリ容量が、「ジドウ」設定時のデフォールトのシステムワークメモリ容量である。
【0080】
〔パネル入力〕
図3のステップ703におけるパネル入力処理(例えば、印字保証メモリ(20)、システムワークメモリ(21)の容量を変更する場合)を、図7のパネル詳細配置図と図8のフロ−チャ−トと図9のパネル階層図を用いて詳細に説明する。なお、以下で説明する動作は、ステップ706におけるコマンド入力処理にも適用できる。
【0081】
まず、図7のオンラインキー(301)の押下に応じて、オフライン状態(ホスト計算機1からのデ−タを受けつけない状態)に移行し(ステップ350)、拡張I/F5に増設用RAMが接続されているか否かを判断する(ステップ351)。
【0082】
拡張I/F5に増設用RAMが接続されていると判断された場合には、当該接続された増設用RAMと管理用RAM7内の標準領域4MBの総容量(4MB〜36MB)を計算し不図示のメモリ容量カウンタにレジストする(ステップ352)。
【0083】
拡張I/F5に増設用RAMが接続されていないと判断された場合には、管理用RAM7内の標準領域4MBを不図示のメモリ容量カウンタにレジストする。
【0084】
なお、ステップ351と352の処理は、プリンタ本体の電源が入力された時に予め実行されても良い。
【0085】
その後、左矢印キー(310)の押下に応じて、メニュー選択モードに入る(ステップ353)。
【0086】
そして、左矢印キーの連続的押下に応じて、図9に示す「印字調整」メニュー(380)が2段LCD(312)に表示されるまでメニューを検索する(ステップ354)。
【0087】
次に、下矢印キー(311)の押下に応じて、メニューレベルを1階層低いレベルに設定し、左矢印キー(310)あるいは右矢印キー(309)の押下に応じて、図9に示す印字保証メモリ(382)あるいはシステムワークメモリ(386)のメニュー階層を選択し、もう一度下矢印キー(311)の押下に応じてさらに低いメニュー階層に移行する(ステップ355)。
【0088】
そして、選択したメモリ項目に対して獲得可能なメモリサイズ(例えば、総メモリ容量が8MBでシステムワ−クメモリを選択した場合には、「ジドウ」「200K」「400K*」「600K」「1000K」)をパネルの2段LCD312に右左矢印キー309、310の押下で選択表示し、下矢印キー(311)の押下で「ジドウ」モ−ドが指定されたか否かを判断する(ステップ356)。
【0089】
なお、LCD312への表示可能な印字保証メモリ、システムワークメモリのサイズは、図5、図6に示す搭載メモリによる最大設定可能値と利用可能なダイナミックメモリサイズより決まる。
【0090】
ステップ356で「ジドウ」モ−ドが指定された場合には、ステップ352で不図示のメモリ容量カウンタにレジストされた総メモリ容量に応じて予め決められているデフォルト値を使用するメモリ容量とする(ステップ358)。
【0091】
例えば、ステップ355で印字保証メモリが選択されステップ356で「ジドウ」モ−ドが選択された場合には図5に示すテ−ブルを参照して使用するメモリのデフォルト値が決定され、ステップ355でシステムワ−クメモリが選択されステップ356で「ジドウ」モ−ドが選択された場合には、図6に示すテ−ブルを参照して使用するメモリのデフォルト値が決定される。
【0092】
なお、パネルより、印字保証メモリとして「ジドウ」項目が設定された場合には、図5で示すアスタリスクの容量が選択されるが、システムワークメモリをデフォルト状態よりも多い容量を選択している場合には、「ジドウ」のデフォルト値よりも少ない容量が設定される場合がある。
【0093】
このメモリ容量を決定する計算式として、印字保証メモリサイズ(R)、システムワーク・メモリサイズ(W)、スタティックメモリサイズ(S)、ファイルシステムの保証容量(FS)、搭載メモリ容量(M)とすれば、以下の条件を満足する範囲内でメモリサイズを選択可能である。
【0094】
S+W+R+F≦M(式1)
【0095】
また、ステップ356で「ジドウ」モ−ドが選択されず他のメモリ値(例えば、総メモリ容量が8MBでシステムワ−クメモリを選択した場合で「200K」)が指定された場合には当該メモリ値を使用するメモリの容量とする。
【0096】
最終的にメモリ構成の変更処理が終了すれば、オンラインキー301の押下に応じてオンライン状態に戻り、以後の印刷ジョブを受け付け可能とし本処理を終了する(ステップ359)。
【0097】
〔RAM領域を可変長にする例〕
ここでは、実施例として実際にどのパラメータ(メモリリソース)を可変サイズにし、どのような方針でメモリサイズを決定するかを説明する。
【0098】
(データ入力バッファ)
これはホスト計算機1から送られるデータを格納する、入力バッファ2のサイズを指定するものであり、大きくすると以下で述べるインタプリタ120タスクのデータ解析処理速度が遅くとも、ある程度の入力データをバッファリング出来るため、ホストに対して入力待ちを要求するBUSY信号を出す確率や時間が低減できる。
【0099】
多量のイメージデータを流したり、高度なグラフィック処理、ホストI/Fが高速なジョブの場合にはバッファを大きくとった方がよい。
【0100】
(キャシュテーブル)
本テーブルは文字をキャシュ(アウトラインフォントをスケーリングした後の、ビットマップ・フォントとして保持)する領域であり、2バイト文字あるいは1バイト文字を扱うか、あるいは文字はすべてBMで送られる場合等に分けて、本領域サイズを決定する。本領域のサイズは、2バイト文字 >1バイト文字 > BM文字となる。
【0101】
(ポリペンテーブル)
幅を持ったラインを描画する際に、幅の軌跡をポリゴンで近似するためのテーブルであり大きなライン幅を出力する場合には、大きなメモリが必要である。
【0102】
また、ラインの近似精度が必要でない際には、本メモリは必要でない。
【0103】
(クリップ・オブジェクトテーブル)
クリップで通常の矩形クリップでは、必要な情報は数十バイトと少ないが、任意の多角形でクリップする場合にはその情報を格納する領域として大きなメモリが必要になる。
【0104】
簡単なラインプリンタ的な用途では本メモリは小さく、また、複雑なDTP用途で任意クリップを利用する場合には本メモリは大きくする必要がある。
【0105】
(中間バッファ)
中間バッファ8は、入力バッファ2に格納されている入力デ−タ(PDL)から生成される中間デ−タ(オブジェクトデ−タ)を格納する。
【0106】
(バンドラスタメモリ)
これは、後述するバンディング処理におけるバンド高さの2面分相当のラスタメモリが必要であり、メモリが十分にあるシステムではこのサイズを大きくし、プリントオーバランないしはデグレードの頻度減少を図ることが可能となる。
【0107】
(ディザパターン)
本メモリは多値イメージデータをサポートするPDLにおいて、対応する最大ディザマトリックス分のメモリを獲得する必要がある。
【0108】
多値イメージの入力をサポートしないPDLでは、本メモリ領域は獲得する必要がない。
【0109】
〔バンドラスタメモリを可変長にする例〕
バンドメモリのサイズをBM、トータルのメモリサイズをTM、ダイナミックに獲得するフレームメモリのサイズをPM、スタティックメモリサイズをSM(固定)、ファイルシステムのサイズをFM、印字解像度をREZとする。
【0110】
片面印字における、メモリ構成は、TM=BM+PM+SM+FMである。
【0111】
バンドメモリのサイズを大きくすれば必然的にPMのサイズを小さくする必要があり、タイムデグレードの可能性は減少するがメモリデグレードの可能性は増加する。これは文字等があるバンドに集中している際のタイムデグレード解除に有効である。
【0112】
一方バンドメモリのサイズを小さくすれば、メモリデグレードの頻度が減少し、タイムデグレードの頻度が増加する。これはビットマップ等のデータに対して有効である。
【0113】
次に、印刷する解像度REZを1/2にする場合のデフォールト構成を考える。
【0114】
REZ(600): band_height(600), band_width(600)
REZ(300): band_height(300), band_height(300)
の時、デフォールトとして
band_width(300) = band_width(600)/2
band_height(300) = 2 * band_height(600)
とする、その結果バンドメモリは論理的には同じメモリサイズで、紙上の面積的には300 DPI時は600 DPI時の4倍の面積をカバーでき、タイムデグレードの発生頻度の減少が図られる。
【0115】
また、バンドメモリサイズを減らして、タイムデグレードの可能性を増加させることなく、メモリデグレードの発生頻度の減少も可能である。
【0116】
両面印刷においては、PMが片面よりもスループットの向上のため、及びジヤムリカバリーのために大きなメモリ量が必要であり、それにともないBMのサイズはデフォールトで減少させる必要がある。
【0117】
このような要因は、まだいくつか考えられると思うが、デフォールトとしてこれらの要因データはDBとして書き込んでおき、ユーザが後にジョブ毎にこの設定値を変更出来るようにする。
【0118】
〔印刷アルゴリズム〕
以下に、必要な印字保証メモリ(20)、システムワ−クメモリ(21)及びその他のメモリを獲得した後の、PDL情報の解析・印刷処理の概略アルゴリズムを図14を用いて説明する。
【0119】
まず、ステップ101において、割り込み処理等により入力バッファ2にPDLデータをとり込み、次にステップ102では入力されたPDLコマンドを言語仕様に応じて解析する。
【0120】
ここでは、PDLの入力データの先頭数百バイトを判別して、入力したPDLを自動判別する仕掛けが必要である。
【0121】
PDLを判定した後、PDLコマンドを解析した結果データが描画コマンド、例えば文字、ベクトル、イメージ描画である際には、ステップ104においてハードウェア(又はソフトウェア)・レンダリング回路(ソフトウェア)9がサポートするページオブジェクト形式のデ−タ(中間デ−タ)に変換し、中間バッファ(83)に格納する。
【0122】
〔レンダリングモデル〕
以後の説明の理解のため、本実施例におけるレンダリングモデルを図15を用いて簡単に説明する。
【0123】
本モデルは、各種描画データの幾何的な情報、すなわちどの部分が描画対象かというON,OFFの1bitで表現可能なマスク情報151、そしてマスクをどのようなパターンで塗るかというのバックグランド情報152、及びソ−スとディスディネ−ション間での論理描画方式153(SET、OR、XOR、BLEND、ADD etc)の三要素により構成され、対応するレンダリング結果が154となる。
【0124】
〔マスク〕
本実施例においてサポートするマスク情報として、ランレングス(X方向の一つのスキャンライン毎のラン情報)、エッジが交差しない凸多角形、ビットマップイメージ、ビットマップフォントなどからなる。
【0125】
これらの情報からわかるように、これらのマスク情報は高速なハードウェア・レンダリングに適した構造とし、例えば図16の五角形は本ステップ104において、図17に示すような交差しない5個の三角形に分割する(この例では塗りつぶしは、even−oddルールを適用)。
【0126】
また、図18に示す、ラインの接続処理部においては本モジュールにおいてDDAアルゴリズムを適用して管理用RAM7内の作業領域にラインの接続情報(round, miter, triangle)を考慮して展開した後、最終的な外部形状を、Yスキャンライン毎にmin x, max xをペア情報としてランレングス方式で保持し、その後の高速なレンダリング(ステップ 110)に備える。
【0127】
最終的に生成される各マスクオブジェクトは、フルページメモリよりも少ないメモリ容量でのレンダリング、すなわちバンディングを行なうためページメモリを複数のバンド(高さが2の冪乗が望ましく、512ドット位が最適である)に分割し、各マスクオブジェクトをバンド毎にソーティングし、各バンド内で図19に示すリンクリストを構成する。
【0128】
複数バンドに跨るマスク情報(例えば図17に示す多角形)に関しては、各バンドで多角形情報を共有化する。
【0129】
各バンドに分割したマスクに対しステップ105において、レンダリング時に必要となるデータのデコード時間とレンダリング時間を、各バンドにおいてページオブジェクト(中間デ−タ)を作成する毎に加算する。
【0130】
この情報をそれぞれバンドi毎に保持し、pred_decode(i), pred_render(i)とする。デコード時間は、作成されたオブジェクトのほぼデータ量に比例する。
【0131】
しかし、バンド3における三角形1、4のデコード時間は、前のバンド2の開始点からのバンド3における多角形の開始点のオフセットを求める時間が余分に必要となる。
【0132】
レンダリング時間は、フォアグランドの計算時間×(バックグランドの色深さ×色プレーン数)×論理描画の種類による演算ファクタにより決定する。更にフォアグランドの計算時間は、オブジェクトのデコ−ド時間+(ライン毎のデコ−ド時間+マスクのX方向のワ−ド数)×(高さ)により決定する。()内は、カラープリンタ装置の場合に有効である。
【0133】
図14に戻り、入力されたデータが描画コマンドでない場合には、ステップ106でデータが各種属性(バックグランド、論理描画)設定コマンドかどうかを判定する。
【0134】
もしYESであれば、ステップ107において対応する処理を実行するが、これらはそれぞれハード(又はソフト)レンダラが読み込み可能なデータ形式(ページオブジェクト)に変換するものである。
【0135】
また、Flood Fill等の命令(点指定塗りつぶし)はバンディングによるレンダリングを実行できないため、そのような情報を検知すると、フルペイントフラグ(full−p−flag)をセットする。結果として、ステップ112において強制的に印刷の解像度を落して、フルペイント(デグレード)モードでのレンダリングを行なう。
【0136】
このためには、例えば通常600DPIでバンディング処理して、レンダリング時間が間に合わないと、300DPIに各オブジェクト解像度を落して、レンダリングする結果となる。この時バンド・ラスタメモリ10及び中間バッファ8のト−タルとしては、最低300DPIで利用するMax紙サイズ分のメモリ容量が必要である。
【0137】
〔バックグランド〕
バックグランド情報は、マスクに対してどのようにパターンをつけるかを示す。バックグランドの種類として、イメージとして繰り返しを行なわずにマスクに張りつくバックグランド・パターンと、パターンを縦・横方向に繰り返してマスクに張り付けるタイルパターンが指定可能である。
【0138】
本実施例においてB/W(白黒)印刷装置を想定しているため、イメージ、タイル、グラデーションは白黒情報として指定するが、カラーへの拡張は容易である。
【0139】
ステップ108は、例えばデバッグ処理等の目的で現在の状態をダンプ処理を行なう。ステップ109では上記インタプリタ120(中間デ−タ生成タスク82も同様)の処理が1ページ分のPDLコマンド解析を終了したかを判定し、終了していれば121のレンダリングタスク83に処理が移行するが、そうでなければステップ102において、次のコマンド解析を繰り返す。
【0140】
ここまでは基本的にPDLからページオブジェクト(中間デ−タ)への、データ・フィルタリング・タスクであり、これ以降の処理はバンド・ラスタメモリへの10へのラスタ描画を行なうレンダリング・タスク83である。
【0141】
この両者のタスクは、特にレンダリング・タスクにおいて実時間処理が要求されるため、リアルイタイムOS上で別タスクとして実装され、かつ後者のレンダリング・タスクは前者よりも動作プライオリティを高く設定し、動作する。
【0142】
〔バンド・レンダリング〕
ステップ110において、ページオブジェクトをレンダリングする前処理として、バンド・レンダリング(バンディング)処理が可能かどうかを判定する。
【0143】
このバンディング処理が不可能な場合を以下に列挙する。
▲1▼上述したFlood Fill命令等がページ中に存在する。
▲2▼大量のイメージ入力により管理用RAM7のフレーム情報があふれた(メモリデグレード)。
▲3▼プリンタが電子写真LBP、LEDプリンタの様に一度紙を給紙して記録を開始すると、バンディング処理はプリンタエンジン13へのビデオ信号転送とバンドへのレンダリングを並行処理する必要があり、ステップ105で計算されたバンド毎のレンダリング時間pred_decode(i)、pred_render(i)に関し、どれかのバンドが、所定の閾値をオーバする(タイムデグレード)。
【0144】
上記条件に適合すると、バンディングを実行できないため、解像度を落してバンド・ラスタメモリ10及び中間バッファ8のメモリ中に、紙サイズ分のフルペイントメモリを確保刷る為に、現在ある中間デ−タを解像度を落としてレンダリングしてそのオブジェクトを消去しながらフルメモリを確保する。
【0145】
一方、BJプリンタ等のヘッドの移動をコントローラ側で制御出来る形態のマシンにおいては、レンダリング時間に(上記3番目の条件、タイムデグレード)ついては上述の限りではなく、レンダリング・スピードが低下すると、ヘッドの移動を遅らせることにより、バンディング処理が可能である。
【0146】
バンディング処理を図20を参照しながら説明する。バンド・レンダリングは、PDL解析タスク120(中間デ−タ作成タスク82も同様)により管理用RAM7に作成されたページオブジェクト情報(中間デ−タ)を、レンダリングタスク202(83も同様)によって起動されるハード又はソフトレンダラ9が読み込み、マスクの情報からY座標におけるスキャンライン情報(x min, x max)を抽出し、カレントのバックグランド情報、論理描画モードを参照して対応するバックグランド情報をバンド・ラスタメモリ10に書き込む。
【0147】
そして、すべてのマスクに対応すべくY情報を変化させて、レンダリングを実行する。
【0148】
〔バンディングにおけるシッピング〕
こうしてハードウェアはマスク情報、バックグランド情報、論理描画の方法に従いバンド番号iのページオブジェクトに対しレンダリングを行なうと共に、並行してプリンタエンジン13から送られてくる水平同期信号にあわせ、プリンタIF11を通じて既にレンダリング済みのバンド番号i−1のバンド情報をプリンタにビデオ信号として送出する。
【0149】
〔デグレード・レンダリング〕
バンドレンダリングが不可能なPDLデータに関してはデグレード処理を実行するが、そのアルゴリズムを以下に説明する。
【0150】
〔ページオブジェクトの解像度変換〕
デグレード処理はリアルタイムにレンダリング出来ないため、解像度を落したバッファ10上へのレンダリングとなる。
【0151】
レンダリングハード9は処理の簡素か及び高速化を要求されるため、レンダリング時にランレングスや凸多角形情報のリアルイタイムな解像度変換は実行できない。
【0152】
そこで、以下に示す処理を、レンダリング処理以前に実行しておく必要がある。
【0153】
レンダリングの前処理として、例えば600 DPIから300 DPIに解像度を落とす際、ランレングスは2ライン分をまとめて1つのランレングスとし、凸多角形は頂点情報の再計算を実行する。これをページバッファ中のすべてのマスク情報に対して、インタプリタ・タスク201にて実行する。
【0154】
ランレングスは、例えば600DPIにおける、二つのラインi、i+1のX座標の開始・終了点をそれぞれxl(i),xr(i),xl(i+1),xr(i+1)とすると、新規300DPIで間引かれた一つのスキャンの開始、終了点のX座標は以下のようになり、Y座標はi/2となる。
【0155】
new_xl(i)=min(xl(i),xl(i+1))/2,new_xr(i)=max(xr(i),xr(i+1))/2
イメージに関しては、ページオブジェクトのイメージ情報自身は変化せずに、x,y方向へのスケーリングファクタをそれぞれ1/2倍する。
【0156】
〔記録装置13〕
図21は本実施例が適用出来るレーザビームプリンタ(LBP)装置の概観図であり、また、図1の概略構成におけるプリンタエンジン13部の概観を示す図でもある。尚、図1における13以外の制御部はプリンタコントロ−ラ14に構成されている。
【0157】
なお、本発明の第1の実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【0158】
図において、1000はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等の入力デ−タ(例えば、PDL)を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等の出力デ−タ(ビットマップデ−タ)を作成し、記録媒体である記録紙等に像を形成する。
【0159】
1012は操作のためのスイッチおよびLED表示器等が配されている操作パネル、14はLBP本体1000全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタコントローラである。
【0160】
このプリンタコントローラ14は、主に文字情報を対応する文字パターンあるいはベクトル、イメージ情報のビデオ信号に変換してレーザドライバ1002に出力する。
【0161】
レーザドライバ1002は半導体レ−ザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。レーザ光1004は回転多面鏡(ポリゴンミラー)1005で左右方向に振らされて静電感光ドラム1006上を走査露光する。
【0162】
これにより、静電感光ドラム1006上には文字パターンの静電潜像が形成されることになる。この潜像は、静電感光ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。
【0163】
この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【0164】
静電ドラム1006および現像ユニット1007で現像・転写された記録紙は、定着器1013で定着され、排紙トレイに排紙される。
【0165】
上記実施例において、マルチエミュレーションのPDLにおいて異なるPDL毎に印字保証メモリ(20)、システムワークメモリ(21)のデフォールト値を保持し、パネルやユーティリティよりの指定がない時にはこのデフォールト値にしたがってダイナミックメモリを獲得しても良い。
【0166】
また、上記実施例ではメモリサイズを変更できるものとして、印字保証メモリ、システムワークメモリに限定して説明したが、もっと細かな単位例えば印字保証メモリ(20)では、中間バッファ(8)、バンドラスタメモリ(10)、フォントキャシュメモリ(82)をそれぞれ個別にパネル、ユーティリティより指定しても良い。
【0167】
以上説明した様に本実施例によれば、印字保証メモリが「ジドウ」に設定された時、例えば計算されたRAM容量が12MBの場合にはA3サイズ(9.6MB)が自動設定される(図5参照)。
【0168】
また、システムワ−クメモリが「ジドウ」に設定された時、例えば計算されたRAM容量が12MBの場合には600KBが自動設定される(図6参照)。
【0169】
従って、ユーザが搭載メモリに応じたデフォルトの設定で情報処理装置を利用できると共に、ある特殊な利用形態として、ファイルシステムに登録したものを多く入れたい、文字をたくさん印字するためにフォントキャシュサイズを大きくしたいといった要求がある場合に、パネルからの設定やジョブ制御言語から印字の際のメモリ容量を制御でき、よりフレキシブルな印刷環境の実現が可能となり多様なユーザニーズに適応可能となる。
【0170】
【発明の効果】
本発明により、情報処理装置に増設メモリが接続されている場合に増設メモリと標準メモリの総容量を求めて、使用可能なメモリの容量を導出し、当該導出した容量に応じて、自動モードが設定されている印刷保証メモリまたはシステムワークメモリで使用するメモリのデフォルト値を決定出来る。
【図面の簡単な説明】
【図1】本実施例のデータの印刷/記録装置の基本構成を示すブロック図である。
【図2】本実施例におけるメモリ構成を示す図である。
【図3】本実施例におけるメモリ獲得の方法を示すフローチャートである。
【図4】本実施例における印字保証サイズと必要なメモリサイズの関係を示す図である。
【図5】本実施例における搭載メモリ容量と設定可能印字保証メモリサイズとデフォルト値を示す図である。
【図6】本実施例における搭載メモリ容量と設定可能システムワ−クメモリサイズとデフォルト値を示す図である。
【図7】本実施例におけるパネル詳細配置図である。
【図8】本実施例におけるパネル入力処理のフロ−チャ−トである。
【図9】本実施例におけるパネル階層図である。
【図10】図3のステップS712の時点でのメモリ構成を示す図である。
【図11】FSのGC終了時点でのメモリ構成を示す図である。
【図12】ダイナミックメモリの解放時点でのメモリ構成を示す図である。
【図13】次のジョブにおけるメモリ獲得時点でのメモリ構成を示す図である。
【図14】PDLにおけるインタプリタ及びレンダラのアルゴリズムを示すフロ−チャ−トである。
【図15】イメージングモデルを示す図である。
【図16】各種マスク情報に関する説明図である。
【図17】各種マスク情報に関する説明図である。
【図18】各種マスク情報に関する説明図である。
【図19】各種マスク情報に関する説明図である。
【図20】バンドレンダリングの概念図である。
【図21】記録装置のブロック図である。
【図22】本実施例におけるジョブ制御言語の一例を示す図である。
【符号の説明】
1 ホスト計算機
2 データ入力用バッファ
3 フォントROM
4 パネルI/Oプロセッサ
5 拡張I/F
6 プログラムROM
7 管理用RAM
8 中間バッファ
9 ハードウェア・レンダラ
10 バンドラスタメモリ
11 プリンタインタフェース
12 CPU
13 プリンタエンジン
14 プリンタコントローラ
【発明の属する技術分野】
本発明は、使用するメモリの容量を指定できるプリンタ等の情報処理装置及びメモリ制御方法に関する。
【0002】
【従来の技術】
プリンタ等の情報処理装置において使用するメモリのサイズは、ホストコンピュ−タからのコマンド或は情報処理装置上のパネルから指定された。
【0003】
【発明が解決しようとしている課題】
しかし、従来の情報処理装置では増設メモリ(例えば、RAM)が接続され使用可能なメモリが増加した場合、ユ−ザがメモリ資源を用途に応じて容易に制御できないという問題点があった。
【0004】
上記問題点を解決する為に、本発明は使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する情報処理装置及びメモリ制御方法を提供することを目的とする。
【0005】
【課題を解決する為の手段】
上記目的を達成する為に本発明の情報処理装置は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断手段と、前記判断手段により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出手段と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介してそれぞれ手動で設定する手動設定手段と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定手段により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識手段と、前記認識手段により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出手段で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御手段とを有する。
【0006】
また、上記目的を達成する為に本発明のメモリ制御方法は、入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置におけるメモリ制御方法であって、前記情報処理装置に増設メモリが接続されているか否かを判断する判断工程と、前記判断工程により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出工程と、印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介する手動入力に応じて設定する手動設定工程と、前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定工程により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識工程と、前記認識工程により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出工程で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御工程とを含む。
【0007】
上記構成により本発明は、使用可能なメモリの容量を導出し、当該導出した容量に応じて使用するメモリのデフォルト値を決定する。
【0008】
【発明の実施の形態】
以下、添付図面に沿って本発明に係わる実施例を詳細に説明する。
【0009】
図1は実施例における印刷装置の基本構成を示すブロック図である。この図を用いて処理の大まかな流れを示す。
【0010】
〔全体構成〕
1は、アプリケーションとして各種印字情報(例えば文字、イメージ、ベクトル図形)を作成し、データをPDL(ペ−ジ記述言語)形式に変換して記録装置コントローラ14に送出するWS(計算機)である。
【0011】
ここで、計算機とコントローラ14間にPDLデータが流れるが、通信形態はシリアル、ネットワーク、バス接続等何であっても問題はないが、パフォーマンス的には高速通信路であることが望ましい。
【0012】
送られたPDLデータは、コミュニケーションタスク81(CPU12で実行されるコミュニケ−ションプログラム)により入力バッファ2に格納され、中間デ−タ生成タスク82(CPU12で実行されるPDLコマンド解析プログラム)によって、入力データがスキャンされる。
【0013】
3は、文字のビットパターン又はアウトラインなどの文字グリフ情報、及び文字ベースラインや文字メトリック情報を格納するフォントROMであり、文字の印字に際して利用される。
【0014】
4のパネルIOPは、プリンタ本体に装着されるパネルにおけるスイッチ入力の検知やLCDへの表示を司るI/Oプロセッサ及びファームウェアであり、低価格のCPUが利用される。
【0015】
拡張I/F5は、プリンタの拡張モジュール(フォントROM、プログラムROM、RAM、ハードディスク)とのインタフェース回路である。
【0016】
6は、CPU12で実行される本発明に係るコミュニケ−ションタスク81、中間デ−タ生成タスク82、レンダリングタスク83、エンジンタスク84、メモリマネ−ジャ−85の制御プログラムや図3、図8、図14のフロ−チャ−トに示す制御プログラムを格納するROMである。
【0017】
7は、ソフトウェアの為のメモリ管理領域であり、本発明に関連するジョブ毎に獲得される情報(図2参照)や当該情報を獲得する際に使用されるテ−ブル(図4、図5、図6等参照)等が本管理用RAMに格納される。
【0018】
8は、入力された入力データ(PDLデ−タ)を中間デ−タ生成タスク82を実行して解析した結果得られる中間デ−タ(オブジェクトデ−タ)を格納する中間バッファ(RAM)であり、メモリマネ−ジャ−85によって管理される。
【0019】
これら管理用RAM7、中間バッファ8及び以下に述べるバンドラスタメモリ10は本発明の根幹をなすものでありメモリマネージャー85によって管理され、アドレス的には連続空間でもまたは離れたアドレス空間であっても良い。
【0020】
ハードレンダラ9は、レンダリング処理(中間デ−タから出力デ−タを生成する処理)をASICハードウェアで実行することにより、プリンタエンジン13(LBP)へのビデオ転送に同期して実時間でレンダリング処理を行ってバンドラスタメモリ10に格納し、少ないメモリ容量でのバンディング処理を実現するものである。
【0021】
なお、ハードで実行できない複雑なPDLの命令は、ハードレンダラ9よりCPU12に割り込みが発生し、レンダリングタスク83によりソフトレンダリング処理が実行される。
【0022】
バンド・ラスタメモリ10は、PDL(ペ−ジ記述言語)によって展開される出力デ−タ(バンドイメ−ジ)を格納する領域であり、上述のバンディング処理を行なうための最低2バンドのメモリ(ページ幅×256又は512位のバンド高さ分のバンディング制御用のメモリサイズで、総容量4Mのプリンタにおいて600DPIのA3の中間デ−タを処理する場合のサイズであるが外部記憶手段が接続されるとこのサイズも比例して増加する)で、バンディング処理を出来ない際に、LBPのようにエンジンに同期してイメージを転送する必要のある装置ではフルビットマップ・メモリ(フルペイント制御用のメモリサイズ)を確保する。
【0023】
バンディング制御は、内部処理の都合上、最も高速なパフォ−マンスが得られ、プリンタエンジン最高速で出力できる(中間デ−タに依存)。ただし、プリンタエンジンの出力に同期してラスタライズ処理(レンダリング処理)を実行するため、1ペ−ジ分の中間デ−タをバッファリングでき、かつプリンタエンジンの紙搬送時間以内でラスタライズを終了できることが絶対条件となる。
【0024】
フルペイント制御は、内部処理の都合上、バンディング処理に比べてパフォ−マンスが劣る可能性があるが、プリンタエンジン最高速で出力できる(中間デ−タに依存)。また、1ペ−ジのラスタライズ処理が終了した後、プリンタエンジンの紙搬送を始めるので、図べての中間デ−タに対して出力を保証できる。ただし、1ペ−ジ分の出力デ−タ(ビットマップデ−タ)を持つことが絶対条件である。
【0025】
しかし、バブルジェット・プリンタ(BJと以後省略する)のようにヘッドの移動をコントローラ側が制御可能なマシンの場合には、上記バンドのメモリが最低確保されればよい。
【0026】
プリンタ・インタフェース11はプリンタエンジン13例えばLBPとの間で、10のバンド・ラスタメモリの内容をプリンタ側の水平・垂直同期信号に同期して、ビデオ情報として転送する。
【0027】
あるいは、BJにおけるヘッド制御及び複数ラインのヘッドサイズに合わせたビデオ情報の転送を行なう。本I/Fは、専用のCPUやハ−ドを利用したり、CPUを用いることが考えられるが、パフォ−マンス的には前者が望ましい。
【0028】
本インタフェースではプリンタエンジン13との間で、プリンタエンジン13へのコマンド送信やプリンタエンジン13からのステータス受信も行なう。これらの処理は、エンジンタスク84の処理となるが、前者のビデオ転送ほど処理速度は要求されない。
【0029】
CPU12はプリンタコントローラ14内部の処理を制御する演算装置であり、パフォーマンスをあげるためには、できるだけ高速な例えばRISC CPUであることが望ましい。
【0030】
13はコントローラから送出するビデオ信号を印字するプリンタエンジンであり、電子写真によるLBPでもインクジェット方式であってもよい。14は本処理を実現するコントローラ全体である。
【0031】
図1中で矢印は、各種描画情報のホスト計算機1からプリンタエンジン13までのデータの流れを示し、下には各処理に対するタスク名称を示す。ここでの各タスクはマルチタスクとなっており、タスクの実行時の優先順位は、実時間処理を要求される順番で、エンジンタスク84>レンダリングタスク83>コミュニケ−ションタスク81>中間デ−タ生成タスク82である。
【0032】
〔メモリマネ−ジャ−85〕
本発明の、基本構成要素である管理用RAM7のメモリ構成の詳細図を図2に示し、メモリ獲得のアルゴリズム(メモリマネ−ジャーの動作)を図3のフロ−チャ−トを用いて説明する。
【0033】
ステップ701では、プリンタの初期化処理として各種メモリやハードウェアの故障診断を実行し、もしエラーがあればその旨警告し処理を停止する。
【0034】
次にステップ702では、各タスクがスタティックに必要なメモリ(メモリ構成やエミュレートするトランスレータの差異に依存しなく、立ち上げ時に獲得すると電源がOFFされるまで保持されている)を要求するサイズを指定して、メモリマネージャーより獲得する。
【0035】
これは図2に示すように、各タスクの初期化関数が呼ばれる順番にスタティックメモリ獲得を要求し、メモリマネージャ85が各タスク(81から84)にメモリを順番に割り当てる。
【0036】
すべてのタスクの初期化が終了すると、メモリマネージャー85がスタティックメモリの先頭(72)及び後端(73)アドレスを記憶しておく。
【0037】
この初期化段階では、以後に利用方法がダイナミックに変更される可能性のあるリソース情報、すなわちメモリ・コンフィギュレーション・テーブル74は、デフォールト設定がなされた状態になっている。
【0038】
バンドラスタメモリの容量はシステムメモリ、印刷解像度(本実施例においてクイックモ−ドで300DPI、ファインモ−ドで600DPIとなる)などを考慮してデフォルトの容量が設定されている。
【0039】
また、この容量に対応したバンド高さの値も同時にメモリ・コンフィギュレ−ション・テ−ブル74に格納される。
【0040】
次にステップ703では、プリンタの印刷ジョブを開始する前にユーザが記録装置についている操作パネル4からの、状態変更(ボタンの押下、解放 数値入力etc)要求が発生しているかをセンスする。
【0041】
もし、なんらかの変更があれば要求を解析し、対応する情報をメモリ・コンフィグレーション・テーブル74の値にオ−バライトする(ステップ704)。
【0042】
例えば、メモリ(リソ−ス)変更指示は、印字保証メモリ(中間バッファ8とバンドラスタメモリ10とキャッシュメモリの合算値容量)或はシステムワ−クメモリ(ポリペンテ−ブル、CLIPオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量)を設定する設定値を記録装置で使用する用紙サイズ(A4、B4、A3、B4×2、A3×2、B4×3、A3×3)或は具体的な容量値(200KB〜1000KB)で指定する。
【0043】
なお、合算値の組み合わせは図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の任意な組み合わせを指定できる。
【0044】
また、図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の1つ(例えばバンドラスタメモリ10或は中間バッファ8(オブジェクトメモリ))を指定しても良い。
【0045】
次にステップ706では、ホスト計算機上におけるユーティリティ・プログラムからの、メモリ(リソース)変更要求コマンド(JL SETコマンド)が入力されているかどうかをチェックする。
【0046】
例えば、メモリ(リソ−ス)変更コマンドは、印字保証メモリ(中間バッファ8とバンドラスタメモリ10とキャッシュメモリの合算値容量)或はシステムワ−クメモリ(ポリペンテ−ブル、CLIPオブジェクトプ−ル、ディザパタ−ン、スクラッチメモリの合算値容量)を設定する設定値を記録装置で使用する用紙サイズ(A4、B4、A3、B4×2、A3×2、B4×3、A3×3)或は具体的な容量値(200KB〜1000KB)で指定する。
【0047】
なお、合算値の組み合わせは図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の任意な組み合わせを指定できる。
【0048】
また、図2に示すダイナミックメモリ内(デ−タ入力バッファ、キャシュテ−ブル、ポリペンテ−ブル、クリップオブジェクトテ−ブル、中間バッファ、バンドラスタメモリ、ディザパタ−ン等)の1つ(例えばバンドラスタメモリ10或は中間バッファ8(オブジェクトメモリ))を指定しても良い。
【0049】
もし、図22に示す様な該当するコマンドが入力された場合には、ステップ704の処理、すなわち必要なメモリ量の計算を図4或は図5に示すテ−ブルを参照して実行する。
【0050】
ステップ705では、ジョブ開始コマンドが入力されるかを判定し、NOであればステップ703から706の処理を行ない、YESであれば次のステップ708に進む。
【0051】
ステップ708では、ジョブ毎にサイズが変化するメモリ領域(ここでは以後ダイナミックメモリと呼ぶ)を獲得する。ダイナミックメモリも基本的にはスタティックメモリと同様に、本メモリを必要なタスク毎に、必要なサイズをメモリ・コンフィギュレーション・テーブル74を参照して、タスク毎にメモリマネージャ85に要求する。
【0052】
メモリマネージャー85は本メモリを、要求された順番に、スタティックメモリの終端より獲得する。図2においては、ダイナミックメモリの項目とそれがどのタスクによって必要かは、後ろの(81ー84)のタスク番号の対比によって示される。
【0053】
例えば、中間デ−タ生成タスク(83)では、3個のメモリ要素(ポリペンテーブル、CLIPオブジェクトテーブル、中間バッファの組み合わせ)のトータルメモリをメモリマネージャー85に要求し、中間デ−タ生成タスク内で獲得されたダイナミックメモリから、それぞれの項目にメモリ資源を割り当てる。
【0054】
本発明の主眼であるバンドラスタメモリ10は、レンダリングタスク83によってダイナミックメモリが割り当てられる。
【0055】
そして最後に、メモリの残った部分にFS(ファイルシステム)として、メモリ領域を確保する(ステップ709)。このメモリはフォントのダウンロードや、PDLにおけるフォームオーバレイやマクロ命令の格納領域として用いられる。ステップS708で各タスクが獲得したダイナミックメモリは、印刷ジョブが終了すると、ステップ714で解放される。
【0056】
一方、本FSメモリは、ジョブが終了しても解放されずに残しておく、すなわち印刷ジョブ間で共有する必要がある。
【0057】
そのため、本メモリはメモリマネージャ85が内部的にファイルシステムのアドレス空間内において、スタティックメモリやダイナミックメモリとは反対の方向(メモリ終端)からメモリ獲得を行ない、ダイナミックメモリ解放後のガーベージコレクション(ステップ713)を効率的に行なう。
【0058】
メモリ獲得が終了し、ステップ710では入力されたPDLデータの解析を行ない、ステップ711では解析されたデータに従い実際の印字を行なう。本処理は、〔アルゴリズム〕の節以降で詳細に説明している。
【0059】
ステップ712でジョブが終了すれば、メモリ獲得とは逆の順序でメモリの解放処理を実行する。
【0060】
この結果メモリマネ−ジャ85は、現在のダイナミックメモリの利用中の最下端アドレスを記憶しておくだけで良い。
【0061】
ステップ713では、FSとして獲得されたメモリをガーベージ・コレクション(GC)する。本実施例では、FS内に獲得されたオブジェクトをメモリ空間の終端から連続した空間に割り当てるものであり、一つのFSとしての大きなFREE領域を作成する(図11参照)。
【0062】
ここでFSオブジェクトは、ディスクで一般的なFATテーブル(File Access Table)形態をとっているため、FS内のメモリをIDを通じて利用しているユーザにはGCの影響はない。
【0063】
最後にステップ714でダイナミックメモリを解放するが、これは最初に獲得したタスク順序81、82、83、84とは逆の順序84、83、82、81でメモリ解放をメモリマネージヤーに要求し、最終的にはすべてのダイナミック・メモリを解放することにより、図12に示すように、ダイナミックメモリが解放された領域は、すべてFSのFREE領域として取り扱われる。
【0064】
次に新規ジョブを開始した際には、このFREE領域の先頭アドレスからダイナミックメモリをステップ708で獲得し、図13の様にメモリが構成される。
【0065】
ここで図10、図13を比較すればダイナミックメモリの構成が変化してることがわかるが、これによりPDLのジョブに応じてメモリ構成を最適化が可能となる。
【0066】
以上のメモリ管理を司るメモリマネージャーは、ダイナミックメモリの後端アドレス、及びFSにおけるFAT管理とGCを行なえば良く、これらの実装は容易である。
【0067】
〔印字保証メモリ〕
図2に示すように、中間バッファ(8)とバンドラスタメモリ(10)、アウトライン文字をスケーリングした結果を保持するフォントキャシュメモリ(82)の合算したメモリ領域を印字保証メモリ(20)と定義し、処理可能な最大解像度において必要となるメモリ容量に対応する。
【0068】
具体的には、600DPIの解像度でPDLを処理する際、どの紙サイズまで完全に600DPIで印字が保証されるかで表現する。
【0069】
実施例としては、印字保証する紙サイズと実際に必要なメモリサイズは、図4のテ−ブルに示す関係となる。
【0070】
ここで、「しない」という指定は、A4以上の紙サイズでは、600DPIで印字処理が保証できないことを意味し、「B4*2」というのは B4紙が2 面分保証される、すなわち両面印刷における2面が600DPIで印字可能である。
【0071】
もし、A3の紙にPDLにより印字しようとする際に、印字保証メモリがA4相当分しかなければ、バンディング可能な場合には最高解像度(600 DPI)で出力可能だが、バンディング不可能な場合には解像度を落す処理(デグレード)やプリントオーバランが発生し、印字結果は劣化したものとなる。
【0072】
ここで「A4」が5.2Mであるのは、A4片面印字を600DPIで確実に行なうためA4フルビットマップメモリとして4M相当分+中間データ格納領域
及び フォントキャシュ領域として1.2MB必要となるからである。
【0073】
また A3は片面A3印字を600DPIで保証するか、または両面A4 600DPI印刷処理(4M*2+α)を保証するためのメモリサイズである。
【0074】
上記のメモリサイズは、バンディング処理が不可能な場合(デグレード)も含めた保証メモリであり、バンディング処理可能な場合には、バンドラスタメモリ(10)には600DPI解像度で、A4用紙の縦送り、512高さとすれば、バンドラスタメモリ(10)は大体(512×210×600/25.4)×2/8=524KB程度あれば十分であり、残りの領域には中間データ+フォントキャシュ情報が格納可能となる。
【0075】
印字保証メモリと、本プリンタに搭載されているメモリサイズ、及び指定可能なメモリサイズの関係を図5に示す。図中で各搭載メモリに対する、デフォールトの印字保証サイズ(20)をアスタリスク*で示す。
【0076】
〔システムワークメモリ〕
システムワークメモリ(21)はPDLが印字処理するための作業領域のメモリであり、以下に示すポリペンテーブル(83)、CLIPオブジェクトテーブル(83)、ディザパターン(83)、スクラッチメモリ(83)などの作業領域の集合体である。
【0077】
これらの作業メモリ領域が増えれば、それぞれライン幅を太いものまでサポート可能、任意クリップのオブジェクトがより複雑なものまで高速に描画可能、大きなサイズのディザパターンを処理可能となる。
【0078】
システムワークメモリの獲得するメモリの基本単位は200KBとし、搭載メモリの増設に従い、図6に示すようにシステムワークメモリ容量を増加させる。
【0079】
図中で*のメモリ容量が、「ジドウ」設定時のデフォールトのシステムワークメモリ容量である。
【0080】
〔パネル入力〕
図3のステップ703におけるパネル入力処理(例えば、印字保証メモリ(20)、システムワークメモリ(21)の容量を変更する場合)を、図7のパネル詳細配置図と図8のフロ−チャ−トと図9のパネル階層図を用いて詳細に説明する。なお、以下で説明する動作は、ステップ706におけるコマンド入力処理にも適用できる。
【0081】
まず、図7のオンラインキー(301)の押下に応じて、オフライン状態(ホスト計算機1からのデ−タを受けつけない状態)に移行し(ステップ350)、拡張I/F5に増設用RAMが接続されているか否かを判断する(ステップ351)。
【0082】
拡張I/F5に増設用RAMが接続されていると判断された場合には、当該接続された増設用RAMと管理用RAM7内の標準領域4MBの総容量(4MB〜36MB)を計算し不図示のメモリ容量カウンタにレジストする(ステップ352)。
【0083】
拡張I/F5に増設用RAMが接続されていないと判断された場合には、管理用RAM7内の標準領域4MBを不図示のメモリ容量カウンタにレジストする。
【0084】
なお、ステップ351と352の処理は、プリンタ本体の電源が入力された時に予め実行されても良い。
【0085】
その後、左矢印キー(310)の押下に応じて、メニュー選択モードに入る(ステップ353)。
【0086】
そして、左矢印キーの連続的押下に応じて、図9に示す「印字調整」メニュー(380)が2段LCD(312)に表示されるまでメニューを検索する(ステップ354)。
【0087】
次に、下矢印キー(311)の押下に応じて、メニューレベルを1階層低いレベルに設定し、左矢印キー(310)あるいは右矢印キー(309)の押下に応じて、図9に示す印字保証メモリ(382)あるいはシステムワークメモリ(386)のメニュー階層を選択し、もう一度下矢印キー(311)の押下に応じてさらに低いメニュー階層に移行する(ステップ355)。
【0088】
そして、選択したメモリ項目に対して獲得可能なメモリサイズ(例えば、総メモリ容量が8MBでシステムワ−クメモリを選択した場合には、「ジドウ」「200K」「400K*」「600K」「1000K」)をパネルの2段LCD312に右左矢印キー309、310の押下で選択表示し、下矢印キー(311)の押下で「ジドウ」モ−ドが指定されたか否かを判断する(ステップ356)。
【0089】
なお、LCD312への表示可能な印字保証メモリ、システムワークメモリのサイズは、図5、図6に示す搭載メモリによる最大設定可能値と利用可能なダイナミックメモリサイズより決まる。
【0090】
ステップ356で「ジドウ」モ−ドが指定された場合には、ステップ352で不図示のメモリ容量カウンタにレジストされた総メモリ容量に応じて予め決められているデフォルト値を使用するメモリ容量とする(ステップ358)。
【0091】
例えば、ステップ355で印字保証メモリが選択されステップ356で「ジドウ」モ−ドが選択された場合には図5に示すテ−ブルを参照して使用するメモリのデフォルト値が決定され、ステップ355でシステムワ−クメモリが選択されステップ356で「ジドウ」モ−ドが選択された場合には、図6に示すテ−ブルを参照して使用するメモリのデフォルト値が決定される。
【0092】
なお、パネルより、印字保証メモリとして「ジドウ」項目が設定された場合には、図5で示すアスタリスクの容量が選択されるが、システムワークメモリをデフォルト状態よりも多い容量を選択している場合には、「ジドウ」のデフォルト値よりも少ない容量が設定される場合がある。
【0093】
このメモリ容量を決定する計算式として、印字保証メモリサイズ(R)、システムワーク・メモリサイズ(W)、スタティックメモリサイズ(S)、ファイルシステムの保証容量(FS)、搭載メモリ容量(M)とすれば、以下の条件を満足する範囲内でメモリサイズを選択可能である。
【0094】
S+W+R+F≦M(式1)
【0095】
また、ステップ356で「ジドウ」モ−ドが選択されず他のメモリ値(例えば、総メモリ容量が8MBでシステムワ−クメモリを選択した場合で「200K」)が指定された場合には当該メモリ値を使用するメモリの容量とする。
【0096】
最終的にメモリ構成の変更処理が終了すれば、オンラインキー301の押下に応じてオンライン状態に戻り、以後の印刷ジョブを受け付け可能とし本処理を終了する(ステップ359)。
【0097】
〔RAM領域を可変長にする例〕
ここでは、実施例として実際にどのパラメータ(メモリリソース)を可変サイズにし、どのような方針でメモリサイズを決定するかを説明する。
【0098】
(データ入力バッファ)
これはホスト計算機1から送られるデータを格納する、入力バッファ2のサイズを指定するものであり、大きくすると以下で述べるインタプリタ120タスクのデータ解析処理速度が遅くとも、ある程度の入力データをバッファリング出来るため、ホストに対して入力待ちを要求するBUSY信号を出す確率や時間が低減できる。
【0099】
多量のイメージデータを流したり、高度なグラフィック処理、ホストI/Fが高速なジョブの場合にはバッファを大きくとった方がよい。
【0100】
(キャシュテーブル)
本テーブルは文字をキャシュ(アウトラインフォントをスケーリングした後の、ビットマップ・フォントとして保持)する領域であり、2バイト文字あるいは1バイト文字を扱うか、あるいは文字はすべてBMで送られる場合等に分けて、本領域サイズを決定する。本領域のサイズは、2バイト文字 >1バイト文字 > BM文字となる。
【0101】
(ポリペンテーブル)
幅を持ったラインを描画する際に、幅の軌跡をポリゴンで近似するためのテーブルであり大きなライン幅を出力する場合には、大きなメモリが必要である。
【0102】
また、ラインの近似精度が必要でない際には、本メモリは必要でない。
【0103】
(クリップ・オブジェクトテーブル)
クリップで通常の矩形クリップでは、必要な情報は数十バイトと少ないが、任意の多角形でクリップする場合にはその情報を格納する領域として大きなメモリが必要になる。
【0104】
簡単なラインプリンタ的な用途では本メモリは小さく、また、複雑なDTP用途で任意クリップを利用する場合には本メモリは大きくする必要がある。
【0105】
(中間バッファ)
中間バッファ8は、入力バッファ2に格納されている入力デ−タ(PDL)から生成される中間デ−タ(オブジェクトデ−タ)を格納する。
【0106】
(バンドラスタメモリ)
これは、後述するバンディング処理におけるバンド高さの2面分相当のラスタメモリが必要であり、メモリが十分にあるシステムではこのサイズを大きくし、プリントオーバランないしはデグレードの頻度減少を図ることが可能となる。
【0107】
(ディザパターン)
本メモリは多値イメージデータをサポートするPDLにおいて、対応する最大ディザマトリックス分のメモリを獲得する必要がある。
【0108】
多値イメージの入力をサポートしないPDLでは、本メモリ領域は獲得する必要がない。
【0109】
〔バンドラスタメモリを可変長にする例〕
バンドメモリのサイズをBM、トータルのメモリサイズをTM、ダイナミックに獲得するフレームメモリのサイズをPM、スタティックメモリサイズをSM(固定)、ファイルシステムのサイズをFM、印字解像度をREZとする。
【0110】
片面印字における、メモリ構成は、TM=BM+PM+SM+FMである。
【0111】
バンドメモリのサイズを大きくすれば必然的にPMのサイズを小さくする必要があり、タイムデグレードの可能性は減少するがメモリデグレードの可能性は増加する。これは文字等があるバンドに集中している際のタイムデグレード解除に有効である。
【0112】
一方バンドメモリのサイズを小さくすれば、メモリデグレードの頻度が減少し、タイムデグレードの頻度が増加する。これはビットマップ等のデータに対して有効である。
【0113】
次に、印刷する解像度REZを1/2にする場合のデフォールト構成を考える。
【0114】
REZ(600): band_height(600), band_width(600)
REZ(300): band_height(300), band_height(300)
の時、デフォールトとして
band_width(300) = band_width(600)/2
band_height(300) = 2 * band_height(600)
とする、その結果バンドメモリは論理的には同じメモリサイズで、紙上の面積的には300 DPI時は600 DPI時の4倍の面積をカバーでき、タイムデグレードの発生頻度の減少が図られる。
【0115】
また、バンドメモリサイズを減らして、タイムデグレードの可能性を増加させることなく、メモリデグレードの発生頻度の減少も可能である。
【0116】
両面印刷においては、PMが片面よりもスループットの向上のため、及びジヤムリカバリーのために大きなメモリ量が必要であり、それにともないBMのサイズはデフォールトで減少させる必要がある。
【0117】
このような要因は、まだいくつか考えられると思うが、デフォールトとしてこれらの要因データはDBとして書き込んでおき、ユーザが後にジョブ毎にこの設定値を変更出来るようにする。
【0118】
〔印刷アルゴリズム〕
以下に、必要な印字保証メモリ(20)、システムワ−クメモリ(21)及びその他のメモリを獲得した後の、PDL情報の解析・印刷処理の概略アルゴリズムを図14を用いて説明する。
【0119】
まず、ステップ101において、割り込み処理等により入力バッファ2にPDLデータをとり込み、次にステップ102では入力されたPDLコマンドを言語仕様に応じて解析する。
【0120】
ここでは、PDLの入力データの先頭数百バイトを判別して、入力したPDLを自動判別する仕掛けが必要である。
【0121】
PDLを判定した後、PDLコマンドを解析した結果データが描画コマンド、例えば文字、ベクトル、イメージ描画である際には、ステップ104においてハードウェア(又はソフトウェア)・レンダリング回路(ソフトウェア)9がサポートするページオブジェクト形式のデ−タ(中間デ−タ)に変換し、中間バッファ(83)に格納する。
【0122】
〔レンダリングモデル〕
以後の説明の理解のため、本実施例におけるレンダリングモデルを図15を用いて簡単に説明する。
【0123】
本モデルは、各種描画データの幾何的な情報、すなわちどの部分が描画対象かというON,OFFの1bitで表現可能なマスク情報151、そしてマスクをどのようなパターンで塗るかというのバックグランド情報152、及びソ−スとディスディネ−ション間での論理描画方式153(SET、OR、XOR、BLEND、ADD etc)の三要素により構成され、対応するレンダリング結果が154となる。
【0124】
〔マスク〕
本実施例においてサポートするマスク情報として、ランレングス(X方向の一つのスキャンライン毎のラン情報)、エッジが交差しない凸多角形、ビットマップイメージ、ビットマップフォントなどからなる。
【0125】
これらの情報からわかるように、これらのマスク情報は高速なハードウェア・レンダリングに適した構造とし、例えば図16の五角形は本ステップ104において、図17に示すような交差しない5個の三角形に分割する(この例では塗りつぶしは、even−oddルールを適用)。
【0126】
また、図18に示す、ラインの接続処理部においては本モジュールにおいてDDAアルゴリズムを適用して管理用RAM7内の作業領域にラインの接続情報(round, miter, triangle)を考慮して展開した後、最終的な外部形状を、Yスキャンライン毎にmin x, max xをペア情報としてランレングス方式で保持し、その後の高速なレンダリング(ステップ 110)に備える。
【0127】
最終的に生成される各マスクオブジェクトは、フルページメモリよりも少ないメモリ容量でのレンダリング、すなわちバンディングを行なうためページメモリを複数のバンド(高さが2の冪乗が望ましく、512ドット位が最適である)に分割し、各マスクオブジェクトをバンド毎にソーティングし、各バンド内で図19に示すリンクリストを構成する。
【0128】
複数バンドに跨るマスク情報(例えば図17に示す多角形)に関しては、各バンドで多角形情報を共有化する。
【0129】
各バンドに分割したマスクに対しステップ105において、レンダリング時に必要となるデータのデコード時間とレンダリング時間を、各バンドにおいてページオブジェクト(中間デ−タ)を作成する毎に加算する。
【0130】
この情報をそれぞれバンドi毎に保持し、pred_decode(i), pred_render(i)とする。デコード時間は、作成されたオブジェクトのほぼデータ量に比例する。
【0131】
しかし、バンド3における三角形1、4のデコード時間は、前のバンド2の開始点からのバンド3における多角形の開始点のオフセットを求める時間が余分に必要となる。
【0132】
レンダリング時間は、フォアグランドの計算時間×(バックグランドの色深さ×色プレーン数)×論理描画の種類による演算ファクタにより決定する。更にフォアグランドの計算時間は、オブジェクトのデコ−ド時間+(ライン毎のデコ−ド時間+マスクのX方向のワ−ド数)×(高さ)により決定する。()内は、カラープリンタ装置の場合に有効である。
【0133】
図14に戻り、入力されたデータが描画コマンドでない場合には、ステップ106でデータが各種属性(バックグランド、論理描画)設定コマンドかどうかを判定する。
【0134】
もしYESであれば、ステップ107において対応する処理を実行するが、これらはそれぞれハード(又はソフト)レンダラが読み込み可能なデータ形式(ページオブジェクト)に変換するものである。
【0135】
また、Flood Fill等の命令(点指定塗りつぶし)はバンディングによるレンダリングを実行できないため、そのような情報を検知すると、フルペイントフラグ(full−p−flag)をセットする。結果として、ステップ112において強制的に印刷の解像度を落して、フルペイント(デグレード)モードでのレンダリングを行なう。
【0136】
このためには、例えば通常600DPIでバンディング処理して、レンダリング時間が間に合わないと、300DPIに各オブジェクト解像度を落して、レンダリングする結果となる。この時バンド・ラスタメモリ10及び中間バッファ8のト−タルとしては、最低300DPIで利用するMax紙サイズ分のメモリ容量が必要である。
【0137】
〔バックグランド〕
バックグランド情報は、マスクに対してどのようにパターンをつけるかを示す。バックグランドの種類として、イメージとして繰り返しを行なわずにマスクに張りつくバックグランド・パターンと、パターンを縦・横方向に繰り返してマスクに張り付けるタイルパターンが指定可能である。
【0138】
本実施例においてB/W(白黒)印刷装置を想定しているため、イメージ、タイル、グラデーションは白黒情報として指定するが、カラーへの拡張は容易である。
【0139】
ステップ108は、例えばデバッグ処理等の目的で現在の状態をダンプ処理を行なう。ステップ109では上記インタプリタ120(中間デ−タ生成タスク82も同様)の処理が1ページ分のPDLコマンド解析を終了したかを判定し、終了していれば121のレンダリングタスク83に処理が移行するが、そうでなければステップ102において、次のコマンド解析を繰り返す。
【0140】
ここまでは基本的にPDLからページオブジェクト(中間デ−タ)への、データ・フィルタリング・タスクであり、これ以降の処理はバンド・ラスタメモリへの10へのラスタ描画を行なうレンダリング・タスク83である。
【0141】
この両者のタスクは、特にレンダリング・タスクにおいて実時間処理が要求されるため、リアルイタイムOS上で別タスクとして実装され、かつ後者のレンダリング・タスクは前者よりも動作プライオリティを高く設定し、動作する。
【0142】
〔バンド・レンダリング〕
ステップ110において、ページオブジェクトをレンダリングする前処理として、バンド・レンダリング(バンディング)処理が可能かどうかを判定する。
【0143】
このバンディング処理が不可能な場合を以下に列挙する。
▲1▼上述したFlood Fill命令等がページ中に存在する。
▲2▼大量のイメージ入力により管理用RAM7のフレーム情報があふれた(メモリデグレード)。
▲3▼プリンタが電子写真LBP、LEDプリンタの様に一度紙を給紙して記録を開始すると、バンディング処理はプリンタエンジン13へのビデオ信号転送とバンドへのレンダリングを並行処理する必要があり、ステップ105で計算されたバンド毎のレンダリング時間pred_decode(i)、pred_render(i)に関し、どれかのバンドが、所定の閾値をオーバする(タイムデグレード)。
【0144】
上記条件に適合すると、バンディングを実行できないため、解像度を落してバンド・ラスタメモリ10及び中間バッファ8のメモリ中に、紙サイズ分のフルペイントメモリを確保刷る為に、現在ある中間デ−タを解像度を落としてレンダリングしてそのオブジェクトを消去しながらフルメモリを確保する。
【0145】
一方、BJプリンタ等のヘッドの移動をコントローラ側で制御出来る形態のマシンにおいては、レンダリング時間に(上記3番目の条件、タイムデグレード)ついては上述の限りではなく、レンダリング・スピードが低下すると、ヘッドの移動を遅らせることにより、バンディング処理が可能である。
【0146】
バンディング処理を図20を参照しながら説明する。バンド・レンダリングは、PDL解析タスク120(中間デ−タ作成タスク82も同様)により管理用RAM7に作成されたページオブジェクト情報(中間デ−タ)を、レンダリングタスク202(83も同様)によって起動されるハード又はソフトレンダラ9が読み込み、マスクの情報からY座標におけるスキャンライン情報(x min, x max)を抽出し、カレントのバックグランド情報、論理描画モードを参照して対応するバックグランド情報をバンド・ラスタメモリ10に書き込む。
【0147】
そして、すべてのマスクに対応すべくY情報を変化させて、レンダリングを実行する。
【0148】
〔バンディングにおけるシッピング〕
こうしてハードウェアはマスク情報、バックグランド情報、論理描画の方法に従いバンド番号iのページオブジェクトに対しレンダリングを行なうと共に、並行してプリンタエンジン13から送られてくる水平同期信号にあわせ、プリンタIF11を通じて既にレンダリング済みのバンド番号i−1のバンド情報をプリンタにビデオ信号として送出する。
【0149】
〔デグレード・レンダリング〕
バンドレンダリングが不可能なPDLデータに関してはデグレード処理を実行するが、そのアルゴリズムを以下に説明する。
【0150】
〔ページオブジェクトの解像度変換〕
デグレード処理はリアルタイムにレンダリング出来ないため、解像度を落したバッファ10上へのレンダリングとなる。
【0151】
レンダリングハード9は処理の簡素か及び高速化を要求されるため、レンダリング時にランレングスや凸多角形情報のリアルイタイムな解像度変換は実行できない。
【0152】
そこで、以下に示す処理を、レンダリング処理以前に実行しておく必要がある。
【0153】
レンダリングの前処理として、例えば600 DPIから300 DPIに解像度を落とす際、ランレングスは2ライン分をまとめて1つのランレングスとし、凸多角形は頂点情報の再計算を実行する。これをページバッファ中のすべてのマスク情報に対して、インタプリタ・タスク201にて実行する。
【0154】
ランレングスは、例えば600DPIにおける、二つのラインi、i+1のX座標の開始・終了点をそれぞれxl(i),xr(i),xl(i+1),xr(i+1)とすると、新規300DPIで間引かれた一つのスキャンの開始、終了点のX座標は以下のようになり、Y座標はi/2となる。
【0155】
new_xl(i)=min(xl(i),xl(i+1))/2,new_xr(i)=max(xr(i),xr(i+1))/2
イメージに関しては、ページオブジェクトのイメージ情報自身は変化せずに、x,y方向へのスケーリングファクタをそれぞれ1/2倍する。
【0156】
〔記録装置13〕
図21は本実施例が適用出来るレーザビームプリンタ(LBP)装置の概観図であり、また、図1の概略構成におけるプリンタエンジン13部の概観を示す図でもある。尚、図1における13以外の制御部はプリンタコントロ−ラ14に構成されている。
【0157】
なお、本発明の第1の実施例を適用するプリンタは、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【0158】
図において、1000はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等の入力デ−タ(例えば、PDL)を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等の出力デ−タ(ビットマップデ−タ)を作成し、記録媒体である記録紙等に像を形成する。
【0159】
1012は操作のためのスイッチおよびLED表示器等が配されている操作パネル、14はLBP本体1000全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタコントローラである。
【0160】
このプリンタコントローラ14は、主に文字情報を対応する文字パターンあるいはベクトル、イメージ情報のビデオ信号に変換してレーザドライバ1002に出力する。
【0161】
レーザドライバ1002は半導体レ−ザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。レーザ光1004は回転多面鏡(ポリゴンミラー)1005で左右方向に振らされて静電感光ドラム1006上を走査露光する。
【0162】
これにより、静電感光ドラム1006上には文字パターンの静電潜像が形成されることになる。この潜像は、静電感光ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。
【0163】
この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【0164】
静電ドラム1006および現像ユニット1007で現像・転写された記録紙は、定着器1013で定着され、排紙トレイに排紙される。
【0165】
上記実施例において、マルチエミュレーションのPDLにおいて異なるPDL毎に印字保証メモリ(20)、システムワークメモリ(21)のデフォールト値を保持し、パネルやユーティリティよりの指定がない時にはこのデフォールト値にしたがってダイナミックメモリを獲得しても良い。
【0166】
また、上記実施例ではメモリサイズを変更できるものとして、印字保証メモリ、システムワークメモリに限定して説明したが、もっと細かな単位例えば印字保証メモリ(20)では、中間バッファ(8)、バンドラスタメモリ(10)、フォントキャシュメモリ(82)をそれぞれ個別にパネル、ユーティリティより指定しても良い。
【0167】
以上説明した様に本実施例によれば、印字保証メモリが「ジドウ」に設定された時、例えば計算されたRAM容量が12MBの場合にはA3サイズ(9.6MB)が自動設定される(図5参照)。
【0168】
また、システムワ−クメモリが「ジドウ」に設定された時、例えば計算されたRAM容量が12MBの場合には600KBが自動設定される(図6参照)。
【0169】
従って、ユーザが搭載メモリに応じたデフォルトの設定で情報処理装置を利用できると共に、ある特殊な利用形態として、ファイルシステムに登録したものを多く入れたい、文字をたくさん印字するためにフォントキャシュサイズを大きくしたいといった要求がある場合に、パネルからの設定やジョブ制御言語から印字の際のメモリ容量を制御でき、よりフレキシブルな印刷環境の実現が可能となり多様なユーザニーズに適応可能となる。
【0170】
【発明の効果】
本発明により、情報処理装置に増設メモリが接続されている場合に増設メモリと標準メモリの総容量を求めて、使用可能なメモリの容量を導出し、当該導出した容量に応じて、自動モードが設定されている印刷保証メモリまたはシステムワークメモリで使用するメモリのデフォルト値を決定出来る。
【図面の簡単な説明】
【図1】本実施例のデータの印刷/記録装置の基本構成を示すブロック図である。
【図2】本実施例におけるメモリ構成を示す図である。
【図3】本実施例におけるメモリ獲得の方法を示すフローチャートである。
【図4】本実施例における印字保証サイズと必要なメモリサイズの関係を示す図である。
【図5】本実施例における搭載メモリ容量と設定可能印字保証メモリサイズとデフォルト値を示す図である。
【図6】本実施例における搭載メモリ容量と設定可能システムワ−クメモリサイズとデフォルト値を示す図である。
【図7】本実施例におけるパネル詳細配置図である。
【図8】本実施例におけるパネル入力処理のフロ−チャ−トである。
【図9】本実施例におけるパネル階層図である。
【図10】図3のステップS712の時点でのメモリ構成を示す図である。
【図11】FSのGC終了時点でのメモリ構成を示す図である。
【図12】ダイナミックメモリの解放時点でのメモリ構成を示す図である。
【図13】次のジョブにおけるメモリ獲得時点でのメモリ構成を示す図である。
【図14】PDLにおけるインタプリタ及びレンダラのアルゴリズムを示すフロ−チャ−トである。
【図15】イメージングモデルを示す図である。
【図16】各種マスク情報に関する説明図である。
【図17】各種マスク情報に関する説明図である。
【図18】各種マスク情報に関する説明図である。
【図19】各種マスク情報に関する説明図である。
【図20】バンドレンダリングの概念図である。
【図21】記録装置のブロック図である。
【図22】本実施例におけるジョブ制御言語の一例を示す図である。
【符号の説明】
1 ホスト計算機
2 データ入力用バッファ
3 フォントROM
4 パネルI/Oプロセッサ
5 拡張I/F
6 プログラムROM
7 管理用RAM
8 中間バッファ
9 ハードウェア・レンダラ
10 バンドラスタメモリ
11 プリンタインタフェース
12 CPU
13 プリンタエンジン
14 プリンタコントローラ
Claims (10)
- 入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置であって、
前記情報処理装置に増設メモリが接続されているか否かを判断する判断手段と、
前記判断手段により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出手段と、
印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介してそれぞれ手動で設定する手動設定手段と、
前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定手段により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識手段と、
前記認識手段により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出手段で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御手段と
を有することを特徴とする情報処理装置。 - 前記印刷保証メモリは、所定の解像度において印字を保証する用紙サイズとして設定され、前記システムワークメモリは、ページ記述言語を印字処理するための作業領域としてメモリ容量として設定されることを特徴とする請求項1に記載の情報処理装置。
- 前記制御手段は、前記増設メモリと前記標準メモリの総容量と印刷保証可能な用紙サイズとの関係を示す印刷保証テーブルと、前記増設メモリと前記標準メモリの総容量とシステムワークメモリの容量との関係を示すシステムワークメモリテーブルとを用いて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定することを特徴とする請求項1または2に記載の情報処理装置。
- 前記システムワークメモリは、ポリペンテーブル、CLIPオブジェクトテーブル、ディザパターン、またはスクラッチメモリで用いる作業領域として使用することを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
- 異なるページ記述言語毎に、前記印字保証メモリおよび前記システムワークメモリで使用するメモリのデフォルト値を保持することを特徴とする請求項1乃至4のいずれかに記載の情報処理装置。
- 入力されるページ記述言語形式の印刷データに基づいてプリンタエンジンへ転送すべきビットパターンを生成する情報処理装置におけるメモリ制御方法であって、
前記情報処理装置に増設メモリが接続されているか否かを判断する判断工程と、
前記判断工程により増設メモリが接続されていると判断された場合に、当該増設メモリと前記情報処理装置内の標準メモリの総容量を求めて、使用可能なメモリの容量を導出する導出工程と、
印刷保証メモリおよびシステムワークメモリのそれぞれについて、使用するメモリ容量を操作パネルを介する手動入力に応じて設定する手動設定工程と、
前記印刷保証メモリおよび前記システムワークメモリのそれぞれについて、前記手動設定工程により使用するメモリ容量を自動で設定する自動モードの設定がなされているか認識する認識工程と、
前記認識工程により前記印刷保証メモリまたは前記システムワークメモリのいずれかについて自動モードが設定されていると認識された場合に、前記導出工程で導出した総容量に応じて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定する制御工程と
を含むことを特徴とするメモリ制御方法。 - 前記印刷保証メモリは、所定の解像度において印字を保証する用紙サイズとして設定され、前記システムワークメモリは、ページ記述言語を印字処理するための作業領域としてメモリ容量として設定されることを特徴とする請求項6に記載のメモリ制御方法。
- 前記制御工程は、前記増設メモリと前記標準メモリの総容量と印刷保証可能な用紙サイズとの関係を示す印刷保証テーブルと、前記増設メモリと前記標準メモリの総容量とシステムワークメモリの容量との関係を示すシステムワークメモリテーブルとを用いて、前記自動モードが設定されている前記印刷保証メモリまたは前記システムワークメモリで使用するメモリのデフォルト値を決定することを特徴とする請求項6または7に記載のメモリ制御方法。
- 前記システムワークメモリは、ポリペンテーブル、CLIPオブジェクトテーブル、ディザパターン、またはスクラッチメモリで用いる作業領域として使用することを特徴とする請求項6乃至8のいずれかに記載のメモリ制御方法。
- 異なるページ記述言語毎に、前記印字保証メモリおよび前記システムワークメモリで使用するメモリのデフォルト値を保持することを特徴とする請求項6乃至9のいずれかに記載のメモリ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17870995A JP3618834B2 (ja) | 1995-07-14 | 1995-07-14 | 情報処理装置及びメモリ制御方法 |
US08/670,589 US5987230A (en) | 1995-06-28 | 1996-06-26 | Output device, information processing apparatus, memory control method and memory medium |
US09/130,371 US6052202A (en) | 1995-06-28 | 1998-08-07 | Output device, information processing apparatus memory control method and memory medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17870995A JP3618834B2 (ja) | 1995-07-14 | 1995-07-14 | 情報処理装置及びメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0934779A JPH0934779A (ja) | 1997-02-07 |
JP3618834B2 true JP3618834B2 (ja) | 2005-02-09 |
Family
ID=16053200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17870995A Expired - Fee Related JP3618834B2 (ja) | 1995-06-28 | 1995-07-14 | 情報処理装置及びメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3618834B2 (ja) |
-
1995
- 1995-07-14 JP JP17870995A patent/JP3618834B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0934779A (ja) | 1997-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052202A (en) | Output device, information processing apparatus memory control method and memory medium | |
EP0654759B1 (en) | Printing apparatus | |
JP3741749B2 (ja) | プリントオーバーラン防止方法および装置 | |
US6535293B1 (en) | Printing system, printing control method, data processing apparatus and method, and storage medium therefor | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
US6323958B1 (en) | Printing apparatus | |
JPH11129583A (ja) | 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP6385406B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2817687B2 (ja) | 画像形成装置 | |
JP2610993B2 (ja) | 情報処理装置及び方法 | |
JP5268427B2 (ja) | 画像形成装置及び画像形成システム | |
JPH08221226A (ja) | 自己構成ネットワーク/プリンタ・システム | |
JP2003051019A (ja) | 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体 | |
KR100392548B1 (ko) | 프린터내의메모리적응할당방법및시스템 | |
JP3618834B2 (ja) | 情報処理装置及びメモリ制御方法 | |
JP2006244248A (ja) | 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム | |
JPH0916348A (ja) | 出力装置及びメモリ制御方法 | |
JP5424546B2 (ja) | 画像処理装置及び画像形成システム | |
JP3825883B2 (ja) | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム | |
JPH0916347A (ja) | 出力装置及びメモリ制御方法 | |
JP2004038527A (ja) | プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
JP3209858B2 (ja) | 印刷制御装置および印刷制御方法 | |
JPH09314930A (ja) | 印刷制御装置、印刷装置の制御方法、印刷システムおよび記憶媒体 | |
JPH11305962A (ja) | 印刷処理装置および印刷処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP3387796B2 (ja) | 印刷制御装置および印刷制御装置のデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040720 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040916 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |