(57)【要約】【課題】  デバイスのメモリ管理方法を把握する必要なく、登録文字数とパターンサイズのみから登録可否を判断すること。【解決手段】  記記憶手段が確保する格納領域の容量と最大登録文字数をＰＤＬとして指示し、文字パターンの登録・削除指示の度に容量を加減算し、加算した容量と前記格納領域の容量とを比較し、登録済み文字数を加減算し、登録済み文字数と最大登録文字数とを比較し、比較結果に応じて、文字パターンを登録するか非登録文字として描画指示するかを決定する。【選択図】  図７
2005199485.tif 000002
【特許請求の範囲】
【請求項１】
外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成装置とから構成される画像処理システムにおいて、
前記画像処理装置は、印刷ジョブとして受信した前記印刷データを解析する解析手段と、前記印刷データ内の描画コマンドとして受信したパターンデータを識別子と共に格納・登録する格納手段、前記格納手段に登録されたパターンデータを参照して印字処理を行う登録パターン出力手段、前記パターンデータを登録せず即時印字処理を行う非登録パターン出力手段とを備え、
前記印刷データ生成装置は、ページ画像生成時に参照するパターンデータを生成するパターン生成手段と、前記画像処理装置の格納手段が獲得すべき格納領域容量、および前記印刷ジョブ中における登録上限数を意味する総登録数を描画コマンドとして出力する手段、パターンサイズと共に前記パターンデータを出力する出力手段、前記出力手段がパターンデータを出力する際に、前記格納領域容量および前記総登録数を参照して、前記格納手段に格納・登録可能か否かを判断する判断手段、
を備えることを特徴とする画像処理システム。
【請求項２】
前記画像処理装置は、印刷データとして受信した前記総登録数を参照して、前記格納領域とは別に、前記総登録数の管理を可能とするための管理情報を格納する領域を獲得することを特徴とする、請求項１に記載の画像処理システム。
【請求項３】
前記出力手段は、出力すべきパターンデータが前記格納手段に格納・登録可能であると判断した場合、前記格納手段および前記登録パターン出力手段を用いることを指示した描画コマンドを出力する一方、パターンデータが前記格納手段に格納・登録不可能と判断した場合は、前記非登録パターン出力手段を用いることを指示した描画コマンドをそれぞれ出力することを特徴とする画像処理システム。
【請求項４】
前記判断手段は、印刷ジョブ開始以降に登録・格納指示したパターンデータの総数が前記総登録数以下であって、かつ登録・格納指示したパターンデータのサイズ総和が前記格納領域容量以下である場合に限り、前記格納手段および前記登録パターン出力手段を用いることを指示した描画コマンドを出力することを特徴とする、請求項２に記載の画像処理システム。
【請求項５】
前記判断手段は、前記格納領域容量と前記総登録数に加え、登録種別数、種別単位の登録上限数でもって登録可否を判断することを特徴とする、請求項４に記載の画像処理システム。
【請求項６】
前記画像処理装置は、印刷データとして受信した前記総登録数と、所定の前記登録種別数、種別単位の登録上限数とを参照して、前記格納領域とは別に、前記総登録数の管理を可能とするための管理情報を格納する領域を獲得することを特徴とする、請求項１に記載の画像処理システム。
【請求項７】
前記種別はフォントの種別を示す文字セットによって識別される種別であって、前記パターンデータは文字パターンあるいは圧縮された文字パターンであることを特徴とする、請求項４に記載の画像処理システム。
【請求項８】
前記格納領域は、ジョブ単位で獲得・開放することを特徴とする、請求項１に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力指示されたパターンを用いて効率的に画像処理を実行する画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラムに関するものである。
【背景技術】
【０００２】
従来、ホストコンピュータ等の表示装置上に示された通りの印刷結果を得るため、すなわちＷＹＳＩＷＹＧ（＝Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ）を実現するための方法として、前記表示装置への出力に用いるフォントと、印刷処理において用いるフォントとを揃える必要があった。本要望を満たすための従来技術例を図４を用いて以下に説明する。
【０００３】
同図において４０２は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）などのオペレーティングシステム（以下ＯＳと記す）であって、前記ＯＳ上で動作するプリンタドライバ４０３は、同じく前記ＯＳ上で動作する各種アプリケーション４０１からの出力指示に従って、レーザビームプリンタ等のプリンタ４０４が解釈可能な印刷データを生成する過程において、前記ＯＳ４０２の機能として備えるフォントスケーラ４０５に対して文字パターン要求を行い、得られた文字パターンを描画コマンドとして前記プリンタへ出力する。
【０００４】
一方、ホストコンピュータ４０８の一部を構成するディスプレイ４０７等の表示装置上へ表示する際は、前記プリンタドライバと同様に、前記フォントスケーラから得られる文字パターンをディスプレイドライバ４０６が表示装置上に対して出力指示することで、画面表示結果と印刷結果とが相違なく、ユーザが所望する通りの結果を得ることができる。
【０００５】
なお、上記構成においてアプリケーション４０１は、解像度等のデバイス間の差分を意識しなくても良いよう構成されており、デバイス間の差分は前記ＯＳの描画処理部が吸収するようになっている。例えば、一般的なレーザビームプリンタは印字解像度が６００ｄｐｉあるいは３００ｄｐｉであるが、通常のディスプレイは７２ｄｐｉ程度の解像度であるため、アプリケーションからの出力指示は同じであっても、前記フォントスケーラから得られる印刷処理に供する際の文字パターンサイズは、プリンタの処理解像度が高くなるほど大きくなる。従って、より高品位な印字結果を得るために、前記プリンタドライバおよび前記プリンタが処理すべきデータサイズは益々増大している。
【０００６】
上記問題点を解決するための従来技術として、前記プリンタドライバおよびプリンタ双方において、前記文字パターンを識別可能なＩＤと共にキャッシュ管理し、プリンタドライバは一度登録した文字種と同じ文字パターンを出力する際は前記ＩＤのみによって印字指示を行い、プリンタは前記ＩＤに対応する登録済みの文字パターンを参照して印刷処理を方法が知られている。
【０００７】
図５および図６は、上記従来技術による前記キャッシュ管理方法について説明した図であって、図５はプリンタドライバ、およびプリンタ双方の関係を示したブロック図である。同図において、５０１はプリンタドライバ４０３においてＯＳ４０２を経由してアプリケーション４０１の描画指示に応じた処理を行う描画処理部であり、５０２は前記描画処理部が前記描画指示が文字印字であると判断した場合に起動されるキャッシュ管理部である。前記キャッシュ管理部は、前記描画処理部５０１から指定されたフォント識別ＩＤと登録管理テーブル（不図示）を元に、まず印字に用いる文字パターンがプリンタ４０４に登録済みであるか否かを判断し、未登録であると判断した場合は、続いて登録可能か否かを判断する。登録可能である場合は、ＯＳの提供するフォントスケーラ４０５に文字パターンを要求・獲得すると共に前記パターンを識別するための文字ＩＤと合わせて描画処理部５０１へ出力し（プリンタへは文字登録命令に続く登録文字印字命令として出力される）、更に登録済み文字識別ＩＤを前記登録管理テーブルに記憶しておく。一方、未登録であるが登録不可と判断した場合は、前記フォントスケーラ４０５から得た文字パターンをイメージとして描画処理部５０１へ出力する一方（プリンタへは非登録文字印字命令として出力）、登録済みと判断した場合はその旨を描画処理部５０１へ出力する（プリンタへは登録文字印字命令のみが出力される）。
【０００８】
一方、プリンタ４０４では、前記各描画命令を一連のページ記述言語（ＰＤＬ）として受信バッファ５０３を経て受信し、前記ＰＤＬをプリンタコントローラ５０４が解析し、前記解析結果を元に中間形式の描画オブジェクト（Ｄｉｓｐｌａｙ  Ｌｉｓｔ、以下ＤＬ）へＤＬ生成部が変換してＤＬ格納部５０８へ格納する。続いて前記ＤＬをＤＬ描画部５０９が参照してページ画像（同図ではバンド分割したバンド画像５１０）を生成し、更に印刷部Ｉ／Ｆ５１１を経てプリンタエンジン部へ出力する。ここで、前記ＰＤＬコマンドが文字登録命令であると解釈された場合は、文字パターンと文字ＩＤ等の管理情報がフォント情報・パターン格納部５０５へ登録され、前記ＰＤＬコマンドが登録文字印字命令である場合は、登録パターン官吏部が前記パターン格納部５０５から検索して見つかった文字パターンを元にＤＬ（文字ビットマップ）を生成する。なお、図４と同じ構成となるものには同一図番を付し詳細な説明は省略する。
【０００９】
また図６は、上記従来例に示したプリンタが備える登録パターン格納領域を示した図である。
【００１０】
同図において、６０５は登録パターンを格納する登録格納領域であって、印刷ジョブの開始時に印刷コマンドとして格納容量が指定されると（図中では２００ＫＢ）、プリンタコントローラは指定容量をワークメモリから割り当て登録処理に備える。続いて６０１、６０２は文字セット単位に獲得される文字セット管理ヘッダ部と文字ポインタ部であって、文字セット管理ヘッダは文字セットＩＤ、文字セット名称、フォントサイズ等の各種フォント情報を保持しており、前記文字ポインタ部６０２は各文字パターンの格納位置を示すアドレス情報を文字単位に保持するためのテーブルであって、個々の文字パターンが登録指示される度に、前記登録領域内のアドレスが文字ポインタ部にセットされる。なお、前記文字ポインタ部６０２に格納可能な文字数は、各文字セット毎に可変となっている。また、同図の６０３、６０４は、各文字単位に割り当てられる文字パターン部であって、６０３は管理情報を格納する文字管理ヘッダ（固定サイズ）、６０４は描画コマンドとして登録指示される各文字パターンそのもの（パターン幅高に伴った可変サイズ）である。
【００１１】
同図に示したように従来技術では、前記登録格納領域内に登録パターンの管理に必要な情報を全て格納するようになっており、登録パターンとしては指定サイズ（２００ＫＢ）よりも少ないサイズで格納できなくなる。
【特許文献１】特許第３３６７４０７号公報（第１３頁、図６および図１２）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来の技術では、図６に示した通り、プリンタドライバは文字パターンサイズそのものに加え、フォント単位、文字単位にコントローラ側で消費されるパターン管理情報分の容量も計算・予測した上で、印刷ジョブ開始時に指定した前記登録格納領域の容量と比較することで登録可否の判断を行う必要があった。
【００１３】
このように、登録領域の管理はプリンタコントローラおよびプリンタドライバ双方での二元管理を行っていたため、処理が煩雑であるというだけでなく、プリンタコントローラ側で管理ヘッダに変更を加えサイズを変更する必要が生じた場合に、プリンタドライバ側にも修正を加える必要性があるという問題があった。
【００１４】
また、上記のようなシステムアーキテクチャに依存する管理ヘッダ情報は、言語仕様として一般化することが難しいため、前記登録処理を一般に公開することが困難であるという問題もあった。
【００１５】
また、一つのプリンタコントローラに複数のページ記述言語（ＰＤＬ）を搭載する場合に、各ＰＤＬ毎に異なるメモリ管理を行うか、あるいは一方のＰＤＬに合わせたコマンド仕様とする必要性があった。更には、前記登録パターン印字機能をサポートするＰＤＬを異なるシステムアーキテクチャに移植する場合に、前記ＰＤＬのコマンド仕様をサポートした登録メモリ管理部を用意するか、コマンド仕様を変更する必要性があった。
【００１６】
また、上記二元管理の問題を解決する従来技術として、格納領域内のアドレスすなわち格納位置をプリンタドライバが指定することで、プリンタドライバにキャッシュメモリの管理を委ねる方法もある（例えば、特許文献１参照）。
【００１７】
前記特許文献１に示されたデータ出力手段によれば、キャッシュメモリにラスタデータが格納されていない場合は、前記ラスタデータとキャッシュメモリ上のアドレスを書き込みアドレスとして指定するアドレス情報とを含む書き込みコマンドを出力し、しかる後に、前記ラスタデータの出力を行う描画コマンドを出力するが、本発明にかかるフォントダウンロードモジュールおよびダウンロードキャッシュメモリは、前記プリンタドライバにてアドレス管理を行ったラスタデータを指示通りに格納するのみであるため、前記ラスタデータ間に隙間が発生しないよう、プリンタドライバが全てのメモリ管理を制御する必要が生じ、プリンタドライバの処理が逆に増大していた。また、登録・削除を繰り返す間にラスタデータ間に隙間が生じてしまう場合に、有効領域を増やすための掃き寄せ処理（いわゆるガベージコレクション）を行うことが困難であった。
【課題を解決するための手段】
【００１８】
上述した課題を解決するために、本発明は、外部より入力された印刷データに対応するページ画像を生成する画像処理装置と、上位装置からの印刷指示に従って前記画像処理装置が解釈可能な形式の前記印刷データを生成して前記画像処理装置に出力する印刷データ生成装置とから構成される画像処理システムにおいて、前記画像処理装置は、印刷ジョブとして受信した前記印刷データを解析する解析手段と、前記印刷データ内の描画コマンドとして受信したパターンデータを識別子と共に格納・登録する格納手段、前記格納手段に登録されたパターンデータを参照して印字処理を行う登録パターン出力手段、前記パターンデータを登録せず即時印字処理を行う非登録パターン出力手段とを備え、前記印刷データ生成装置は、ページ画像生成時に参照するパターンデータを生成するパターン生成手段と、前記画像処理装置の格納手段が獲得すべき格納領域容量、および前記印刷ジョブ中における登録上限数を意味する総登録数を描画コマンドとして出力する手段、パターンサイズと共に前記パターンデータを出力する出力手段、前記出力手段がパターンデータを出力する際に、前記格納領域容量および前記総登録数を参照して、前記格納手段に格納・登録可能か否かを判断する判断手段を備える。
【００１９】
また、本発明における前記画像処理装置は、印刷データとして受信した前記総登録数を参照して、前記格納領域とは別に、前記総登録数の管理を可能とするための管理情報を格納する領域を獲得する構成とする。
【００２０】
さらに、前記出力手段は、出力すべきパターンデータが前記格納手段に格納・登録可能であると判断した場合、前記格納手段および前記登録パターン出力手段を用いることを指示した描画コマンドを出力する一方、パターンデータが前記格納手段に格納・登録不可能と判断した場合は、前記非登録パターン出力手段を用いることを指示した描画コマンドをそれぞれ出力する構成とする。
【００２１】
なお、前記判断手段は、印刷ジョブ開始以降に登録・格納指示したパターンデータの総数が前記総登録数以下であって、かつ登録・格納指示したパターンデータのサイズ総和が前記格納領域容量以下である場合に限り、前記格納手段および前記登録パターン出力手段を用いることを指示した描画コマンドを出力するよう構成する。
【００２２】
さらに、本発明における前記判断手段は、前記格納領域容量と前記総登録数に加え、登録種別数、種別単位の登録上限数でもって登録可否を判断するよう構成し、前記画像処理装置は、印刷データとして受信した前記総登録数と、所定の前記登録種別数、種別単位の登録上限数とを参照して、前記格納領域とは別に、前記総登録数の管理を可能とするための管理情報を格納する領域を獲得するよう構成する。
【００２３】
また、本発明において、前記種別はフォントの種別を示す文字セットによって識別される種別であって、前記パターンデータは文字パターンあるいは圧縮された文字パターンであるよう構成する。
【００２４】
また、本発明においては、前記格納領域はジョブ単位で獲得・開放するよう構成する。
【発明の効果】
【００２５】
本発明にかかる画像処理装置および印刷データ生成装置とから構成される画像処理システムにおいては、プリンタドライバはコントローラにて登録ごとに消費されるパターン管理情報分の容量を計算・予測する必要がなく、登録済み文字数による上限管理、および文字パターンサイズそのものと印刷ジョブ開始時に指定した前記登録格納領域の容量との比較のみで登録可否の判断を行えば良いため、プリンタドライバの煩雑さを軽減することが可能となる。
【００２６】
また、管理ヘッダ分の格納領域は指定された文字数からコントローラ側が算出して追加獲得するため、登録領域の管理はプリンタコントローラのみの一元管理となるなり、プリンタコントローラ側で管理ヘッダに変更を加えサイズを変更する必要が生じた場合でも、プリンタドライバ側に一切修正を加える必要ない。
【００２７】
さらに、従来技術にて説明したシステムアーキテクチャに依存する管理ヘッダ情報を隠蔽することができるため、言語仕様として一般化することが容易となる。
【００２８】
また、前記登録パターン印字機能をサポートするＰＤＬを異なるシステムアーキテクチャに移植する場合であっても、本発明によるＰＤＬのコマンド仕様は変更する必要がないため、ＰＤＬの移植を行うことが容易となり、またプリンタドライバを機種共通で使用することが可能となるため、ユーザに対する利便性も向上することができる。
【００２９】
また、従来技術の前記特許文献１に示されたような、プリンタドライバにてアドレス管理を行う必要がないため、前記ラスタデータ間に隙間が発生しないよう、プリンタドライバが全てのメモリ管理を制御する必要もなく、登録・削除を繰り返す間にラスタデータ間に隙間が生じてしまう場合にも、有効領域を増やすための掃き寄せ処理（いわゆるガベージコレクション）を行うことが容易となる。
【発明を実施するための最良の形態】
【００３０】
（実施例１）
以下に添付の図面を参照して、本発明の実施の形態について説明する。
【００３１】
(本実施の形態の画像処理装置の構成例)
まず、図１、図２を参照しながら、本発明を適用するに好適な本実施の形態の画像処理システムの構成について説明する。
【００３２】
図１は、本実施の形態の画像処理システムの概略を示すブロック図であり、例えば、レーザビームプリンタの場合を示す。なお、本発明を適用可能な画像処理装置はレーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いし、モノクロ／カラープリンタといった機器構成の違いにも関係なく適用可能である。更に、本発明の機能が実行されるのであれば、プリンタに限定されるものでもなく、同様の画像処理を必要とする画像記録装置や画像表示装置、画像通信装置の制御においても適用可能である。
【００３３】
図１において、１０１はホストコンピュータ等の外部機器、１０２は本実施の形態のレーザビームプリンタ本体である。
【００３４】
レーザビームプリンタ１０２は、前記外部機器１０１上で動作するプリンタドライバによって生成されたページ記述言語（ＰＤＬ）形式の印刷データ（図形データやイメージデータ等）を受け取り、それらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。また、このレーザビームプリンタ１０２では、不図示のデータ記憶部に対して文字パターンの登録やフォームデータ、マクロデータなどの登録も行えるよう構成されており、ホストコンピュータ１０１から受信した印刷データと同様に、前記記憶部の印字データに応じてページ画像を生成する。
【００３５】
レーザビームプリンタ１０２において、１０３はプリンタ制御ユニット（コントローラ部）であって、レーザビームプリンタ１０２全体の制御、及びホストコンピュータ１０１から供給される印刷データ（文字情報など）を解析する。この制御ユニット１０３は、プリンタエンジン部１０５と接続され、前記印刷データに基づいたドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して順次ドットデータ（ビデオ信号）を送信する。
【００３６】
また、１０５はプリンタエンジン部であって、前記ドットデータ（ビデオ信号）に従って実際に感光ドラムに潜像を形成し、用紙に熱定着させることによって印字を行う。１０４は、操作のためのスイッチ及びＬＥＤ表示器などが配されている操作パネルであって、オペレータ（使用者）は、パネル部１０４を操作することによって、レーザビームプリンタ１０２に所定の動作の指定、あるいは印刷環境の設定等を行うことができる。
【００３７】
ここで、前記レーザビームプリンタ１０６とホストコンピュータ１０１とは、ＴＣＰ／ＩＰ等の所定のプロトコルによって通信可能なネットワークで接続されており、同ネットワークには複数台のホストコンピュータが接続されているのが一般的である。なお、接続形態としては、セントロニクスやＵＳＢ等の他のインターフェースによって１対１で接続されていても構わない。
【００３８】
図２は、本実施の形態のレーザビームプリンタ１０２の内部構造を示す断面図であり、主にプリンタエンジン部１０５の構成を示している。ここでは、図１と同じ構成に対しては同一番号を付け、説明を省略する。
【００３９】
同図において、レーザドライバ２０１は半導体レーザ２０２を駆動するための回路であり、制御ユニット１０３が出力する前記ビデオ信号に応じて、半導体レーザ２０２から発射されるレーザ光２０３をオン／オフ切り替えする。レーザ２０３は回転多面鏡２０４で左右方向に振られ、静電ドラム２０５上を走査する。これにより、静電ドラム２０５上には帯電されたトナーによる文字パターン等の静電潜像が形成される。この潜像は、静電ドラム２０５周囲の現像ユニット２０６により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はレーザビームプリンタ１０２に装着した用紙カセット２０７に収納されており、給紙ローラ２０８及び搬送ローラ２０９と２１０とにより装置内に取り込まれて、静電ドラム２０５に供給される。
【００４０】
図３は、本実施の形態の画像処理システムの基本構成部を説明するブロック図であり、図１の画像処理装置の制御ユニット１０３の内部構成と、プリンタドライバ３１２の主要構成とを示している。なお、本発明の機能が実行されるのであれば、単体の機器であっても、ＬＡＮ等のネットワークを介して配置された複数の機器で処理が行われるシステムであっても良い。
【００４１】
同図において、レーザビームプリンタの制御ユニット１０３は、所定のインターフェース３０８（１０６）を介して外部機器であるホストコンピュータ１０１と接続されており、ホストコンピュータ１０１上で動作するプリンタドライバ３１２が送出する印刷データに従って所定の印刷処理を実行するように構成されている。ここで、ホストコンピュータ１０１から受信した印刷データは、まず受信バッファ３０５ａに受信データとして一時的に蓄えられる。
【００４２】
３０１はプリンタＣＰＵであり、読み出し専用メモリであるＲＯＭ３０２内のプログラムＲＯＭ３０３に記憶された制御プログラムに基づいて、システムバス３０６に接続された各種デバイスとのアクセスや、ハードウェア回路によって構成されるＡＳＩＣ３０９を統括的に制御している。ここで、前記制御プログラムは、以下に示すプログラムから構成されている。すなわち、受信バッファ３０５ａに蓄えられた印刷データを解析し、少なくとも１ページ分の描画オブジェクト（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ＤＬ）を生成するＤＬ生成部３０３ａ、続いて前記ＤＬを元に１ページ分（あるいは複数のバンドに分割した１バンド分）のラスタイメージすなわちページ画像を生成するＤＬ描画部３０３ｂ、印刷部Ｉ／Ｆ３１０を介して印刷部（プリンタエンジン）１０５に対して、前記ページ画像を表すビットのＯＮ／ＯＦＦによるビデオ信号の出力や、紙なし検知などの各種用紙ハンドリング制御等を行うエンジン制御部３０３ｄ（ビデオ信号の出力を、以下゛シップ″と記す）などから構成されている。
【００４３】
なお、ページをバンド状に分割したバンドラスタを複数（例えば２つ）用意して印刷を行うバンディング方式では、前記ページ画像の生成（レンダリング動作）とシップ動作とを紙搬送と同期して同時に行うよう構成されており、レンダリング済みの一方のバンドラスタをシップしながら、他方のバンドラスタに属する描画オブジェクトを描画する。ここで、本実施の形態では、前記バンディング方式で印刷を行うようにバンドメモリ３０５ｃを構成したが、１ページ分のページ画像を保持可能なページメモリとして３０５ｃを構成し、フルペイント方式で描画／シップ動作を行っても良い。更に、前記バンディング方式とフルペイント方式とをパネルからの指示等によって切り替え可能なように構成されていても構わないし、固定的にどちらか一方を採用しても構わない。加えて、レーザビームプリンタ１０２は図示しない電源部から電力の供給を受けている。
【００４４】
また、制御プログラム３０３は、上記構成に加えて、以下の機能を実現するためのプログラムを含んでいる。すなわち、印刷ジョブとして入力されたＰＤＬを解析した結果、文字パターンの登録および文字識別ＩＤによる印字指示、あるいは削除指示に応じて登録パターンの管理を行う登録管理部３０３ｃや、ハードディスク３１１ｅに対する各種データのＲ／Ｗアクセスを制御するＨＤ制御部３０３ｅ、操作パネル１０４からの入力に従って各種印刷環境を設定する印刷環境制御部（不図示）などから構成されている。
【００４５】
また、このＲＯＭ３０２は、文字出力に用いるドットフォントやアウトライン形式のスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている（フォントＲＯＭ３０４）。
【００４６】
３０５は、ＣＰＵ３０１の主メモリ、ワークメモリ等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。ＲＡＭ３０５は、前記受信バッファ３０５ａやバンドメモリ３０５ｃの他、前記ＤＬ生成部３０３ａが生成した描画オブジェクトを格納するＤＬ格納部３０５ｂ、制御プログラム３０３によって各種描画処理において一時的に使用されるワークメモリ３０５ｄ、前記フォントメモリ３０４内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするフォントキャッシュメモリ（不図示）等に用いられる。また、前記ワークメモリ３０５ｄから、印刷ジョブ開始時にプリンタドライバから出力される登録領域獲得命令に従って、登録パターンを格納するための登録パターン格納領域３０５ｅが割り当てられる。
【００４７】
３１１はハードディスクであって、フォントデータやＰＤＬ形式で記述されたオーバレイデータ等のリソースの登録や、該画像処理装置内で生成される各種印刷ログの他、保存ジョブや電子ソート（複数部数印刷）、機密印刷等の機能を実現するために一時的に印刷データを格納するために用いられる。なお、前記印刷データはハードディスク３１１に格納されると説明したが、フラッシュメモリ等の不揮発性メモリ（不図示）やＲＡＭ３０５、あるいは他の構成による記憶装置に格納しても構わない。
【００４８】
また、本発明を構成する装置がＲＯＭに格納されたプログラムとして供給されるよう説明したが、これに限らず、フロッピー（登録商標）ディスクやハードディスク等の媒体によって供給され、実行前にＲＡＭ等へロードされた後、実行されるよう構成されていても構わない。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ等のような記憶媒体から図示省略したドライブを解して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明はこれを含むものである。
【００４９】
続いて、３１２はホストコンピュータ上で動作するプリンタドライバであって、前記画像処理装置１０３が解釈可能なＰＤＬ形式の印刷データを生成する。ここで、前記プリンタドライバ３１２は、アプリケーションソフトからの印刷要求（描画命令）をＰＤＬ形式の印刷データに変換して出力する描画処理部３１２ａ、前記描画命令が文字印字命令であった場合に、ＯＳが提供するフォントスケーラから文字パターンを得る文字生成管理部３１２ｂ、前記文字パターンがプリンタ内の登録パターン格納領域３０５ｅに登録済みか否かまたは登録可能か否かを判断するキャッシュ管理部３１２ｃから構成されている。
【００５０】
続く図７に、本実施例におけるプリンタが備える登録パターン格納領域３０５ｅの構成を示す。
【００５１】
なお、同図において、図７−２は本発明の特徴を説明するための概念図であって、本実施例の登録パターン格納領域３０５ｅの実際の内部構成は図７−１に示したようになっている。以下では図７−２を用いて説明する。
【００５２】
７０５は登録パターンのみを格納する登録格納領域であって、印刷ジョブの開始時に印刷コマンドとして格納容量と全登録文字数が指定されると（例えば１５０ＫＢ）、プリンタコントローラは指定容量をワークメモリ３０５ｄから割り当て登録処理に備える。７０１、７０２は従来技術と同様、登録命令に従って文字セット単位に獲得される文字セット管理ヘッダ部と文字ポインタ部であって、文字セット管理ヘッダは文字セットＩＤ、文字セット名称、フォントサイズ等の各種フォント情報を保持している。前記文字ポインタ部７０２は各文字パターンの格納位置を示すアドレス情報を文字単位に保持するためのテーブルであって、個々の文字パターンが登録指示される度に、前記登録領域内のアドレスが文字ポインタ部にセットされる。なお、前記文字ポインタ部７０２に格納可能な文字数は、各文字セット毎に可変となっている。また、同図の７０３、７０４は、各文字単位に割り当てられる文字パターン部であって、７０３は管理情報を格納する文字管理ヘッダ（固定サイズ）、７０４は描画コマンドとして登録指示される各文字パターンそのもの（パターン幅高に伴った可変サイズ）である。
【００５３】
なお、プリンタコントローラが独自に獲得する管理領域７０１は、下記（１）、（２）の合計として算出され、指定された登録格納容量７０５と合わせてワークメモリから獲得する。
【００５４】
（１）管理領域容量：以下（２−１）、（２−２）の合計
（１−１）文字セット管理ヘッダ：１文字セットの管理ヘッダ＊文字セット数
（１−２）文字ポインタ部（４バイト／１文字）：文字セット当たりの登録上限数＊４（バイト）
（２）文字ヘッダ：３２＊全登録文字数（バイト）
従って、
文字パターンのみを格納する「登録領域容量」＝１５０ＫＢ
全登録文字数＝２０４８文字、
文字セット当たりの登録上限数＝５１２文字
１文字セットの管理ヘッダ＝１２８バイト
同時に登録可能な文字セット数＝３２
とすると、登録文字領域として以下の容量を獲得することになる。
【００５５】
登録文字領域（バイト）＝
１５０＊１０２４
＋（１２８＋４＊５１２））＊３２
＋３２＊２０４８
＝１５３，６００＋（１２８＋２０４８）＊３２＋６５５３６
＝２８８７６８バイト
＝２８２ＫＢ
なお、本実施例では、全登録文字数は印字命令として登録格納容量の指定と合わせてジョブ開始時にプリンタドライバより指示するものとし、文字セット当たりの登録上限数はプリンタおよびプリンタドライバ間の事前の取り決めにより固定値として扱ったが、全登録文字数と同様、ジョブ開始時に指定した値によって変動するよう構成しても構わないし、逆に登録格納容量以外のパラメータは全て固定値としても良い。
【００５６】
続いて以下に、図８、図１１のローチャートを用いて、本実施例におけるプリンタドライバおよびプリンタが、印刷データを生成・処理する手順を説明する。ここでは、主に登録文字印字に関する処理、すなわち登録領域の確保指示、および文字パターンの登録・印字、非登録文字印字の場合について重点的に説明する。
【００５７】
図８はプリンタドライバの処理フローを示しており、まず同図のステップＳ８０１において、印刷ジョブの開始か否かを判断する。ここで印刷ジョブの開始タイミングであると判断された場合、Ｓ８０２にて登録格納容量の指定（本実施例では１５０ＫＢ）と、Ｓ８３０にて全登録文字数（図８では登録上限文字数と記載）を決定し描画コマンドとして出力する。なお、ここで前記全登録文字数は、プリンタドライバのプログラムとして予め決められた固定値（例えば２０４８文字）とするが、ＵＩの設定に応じて可変となるよう構成しても良い。また、フローチャートでは説明を省いたが、文字パターンを登録したことを示す管理テーブルをジョブ開始時に合わせて初期化しておく。
【００５８】
続いて、Ｓ８０１にてジョブ開始ではないと判断した場合は、続くＳ８０５以降のステップにおいてアプリケーションからの描画指示に応じた各種描画処理を行ない対応する印刷データ（描画コマンド）を出力する。まず、文字印字に関する印刷指示であるか否かを判断し（Ｓ８０５）、文字以外の描画指示であればＳ８０６にて他の描画コマンドを生成し、印刷データすなわちＰＤＬ形式の描画コマンドを出力する。
【００５９】
一方、Ｓ８０５において文字印字に関する描画指示であると判断した場合は、アプリケーションから指定された書体やポイントサイズから識別される文字セット（フォントＩＤ）および各文字を特定する文字コード（文字ＩＤ）から、前記特定文字のパターンがプリンタに登録済みか否かを調べる（Ｓ８０７）。ここで登録済みでないと判断された場合は、アプリケーションから指示された書体、ポイントサイズおよび文字コードをフォントスケーラに伝え、文字パターンを生成し（Ｓ８０９）、得られた文字のパターンサイズを算出する（Ｓ８１０）。続くＳ８１１においては、本印刷ジョブ内で登録済みの総文字パターンサイズと、前記ステップにて得られた文字パターンサイズの合計が、ジョブ開始時に指定した登録領域容量を越えるか否か、更に本印刷ジョブ中に登録済みの文字数に１を足した値が登録上限文字数を超えないかを調べる。ここで登録容量、文字数の両方が超過していないと判断された場合、文字パターンをプリンタへ登録するためのパターン登録命令を生成し（Ｓ８１３）、続いて前記登録パターンを印字するための登録文字印字命令を生成する（Ｓ８１４）。一方、Ｓ８１１にてどちらかが超過したと判断された場合は、得られた文字パターンを登録することなく印字処理することを示す非登録印字命令を生成する（Ｓ８１２）。なお、上記では簡単のため生成した文字パターンそのもののサイズをパターンサイズとしたが、データ転送量およびプリンタのメモリ消費量を抑えるために、所定の既知フォーマットにて圧縮処理を施した後のサイズをパターンサイズとしても良いことは言うまでもない。
【００６０】
一方、Ｓ８０７にて文字パターンが登録済みであれば、前記フォントＩＤ、文字ＩＤを元に登録文字印字命令を生成し（Ｓ８０８）、他の描画コマンド同様プリンタへ出力し（Ｓ８０４）、続くアプリケーションからの描画指示を受け付けるために１コマンドの処理を終了する。
【００６１】
続いて図１１を用いて、前記プリンタドライバが生成した印刷データをプリンタコントローラが処理する手順について説明する。
【００６２】
まずステップＳ１１０１にて、受信した印刷データが登録領域確保命令か否かを調べ、そうであれば図７にて説明した通り、パラメータとして更に指定される全登録文字数と指定された登録領域容量とから、トータルとして獲得する総格納容量を算出し（Ｓ１１０２）、実際にワークメモリから所定容量を獲得した後、管理情報の初期化を行なう（Ｓ１１０３）。続いて、残りの印刷データの存在を調べ（Ｓ１１０４）、未処理コマンドが存在する場合はＳ１１０１へ戻る。
【００６３】
一方、受信した印刷データが登録領域確保命令でない場合、Ｓ１１０５にて文字印字に関する命令か否かを調べ、文字以外であれば図形やイメージ等の命令に応じた所定の描画処理を行なう（Ｓ１１０６）。文字印字に関する命令であった場合は、Ｓ１１０７にて文字登録命令か否かを調べ、そうであればパラメータにて指定された文字パターンサイズと印刷ジョブ開始時以降に登録された登録文字の総数とジョブ開始時に指定された総登録文字数とを比較し（Ｓ１１１１）、共に超過していない場合は文字種やサイズ等の管理ヘッダ情報を生成し（Ｓ１１１２）、更に前記登録領域から必要なメモリを獲得した後、所定の情報および文字パターンを書き込み登録処理を終える（Ｓ１１１３）。なお、Ｓ１１１１にてサイズあるいは文字数が超過した場合は、Ｓ１１１４にてメモリフルエラーをパネルに表示するよう構成したが、プリンタドライバが所定の動作を行っている限り通常は起こり得ない。
【００６４】
一方、Ｓ１１０７において文字登録命令でないと判断された場合は、続いて登録文字印字命令か否かを調べ（Ｓ１１０８）、そうであれば指定された文字セットＩＤおよび文字ＩＤを基に所望の文字パターンを検索し（Ｓ１１０９）、見つかった文字パターンを基に描画オブジェクトすなわちＤＬを生成する（Ｓ１１１０）。なお、Ｓ１１０８にて登録文字印字命令でもないと判断された場合は、非登録文字印字命令あるいは内蔵フォント印字命令として所定の処理を行う。
【００６５】
（描画オブジェクト及び描画情報の構成例）
本実施の形態における画像処理装置が生成する描画オブジェクト及び描画情報の構成について、図９、図１０を参照しながら説明する。図９は本実施の形態における１ページ分のＤＬ格納部３０５ａの構成を示しており、図１０は描画情報の構成例の概略を示す図である。
【００６６】
まず図９において、９０４は描画コマンドの解析結果から生成される描画オブジェクトであって、図中では登録文字”Ａ”と”Ｃ”、イメージが生成されているところを示している。また９０１は描画情報であって、図１０に示した通り、個々の描画オブジェクトを各バンド内のどの位置にどのように印字するかを示している。前記描画情報のことを、図中では”ａｐｐｌ”（略語）と呼ぶことにする。なお、本実施の形態では、個々の描画情報９０１と描画オブジェクト９０４はそれぞれ、ＤＬ記憶部３０５ｂ内の描画情報群９０３と描画オブジェクト群９０５とに分けて保持されるとしたが、一つのメモリ管理部によって混在して保持されるように構成されていても構わない。
【００６７】
また、９０２はバンドテーブルであって、用紙サイズと印字解像度から求められるバンド数だけ各ページ毎に用意され、描画オブジェクト生成時に判明する描画位置を基に、各バンドに属する描画情報９０１がリンクされる。
【００６８】
図１０は、１つの描画情報の構成を示す概略図であり、描画オブジェクトを描画するための情報として以下の情報を含むよう構成されている。すなわち、バンド内の印字位置（バンド左上端からのビットオフセット値）１００１、描画オブジェクトの描画高さ１００２、バンドラスタとの描画論理（ＡＮＤ／ＯＲ等）１００３、描画オブジェクトの背景を示すバックグラウンド情報（ＢＧ情報）１００４、対応する描画オブジェクトの先頭アドレス１００５、描画オブジェクトがバント途中から描画される場合に該描画オブジェクトをどれだけ読み飛ばすべきかを示したオフセット（ライン数）１００６、次の描画情報の先頭アドレス（リンク最後はＮＵＬＬとする）１００７等を含む。ここで、前記ＢＧ情報は、グレーレベルから構成されているものとし、描画時には該グレーレベルに相当するディザパターンが各描画オブジェクトの背景として貼り付けられる。
【００６９】
ここで、描画オブジェクトが複数のバンドにまたがって描画される場合は、該描画オブジェクトは複数の描画情報を持っている。また、フォントオブジェクトによって同一の文字を印字する場合は、一つのフォントオブジェクトに対して複数の描画情報が対応する。つまり描画回数だけ描画情報が割り当てられるのである。図９の例では、ａｐｐｌ１とａｐｐｌ３によって、文字゛Ａ″がバンド０とバンド１にまたがって描画され、更にａｐｐｌ５によってバンドｎ内に描画される様子を示している。
【００７０】
なお、前述した描画情報内の各情報は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があれば良いし、各描画情報間や描画オブジェクトとのリンクはＲＡＭ内のアドレスに限らず、ＩＤによるリンクとしても良い（この場合は、予め用意したＩＤテーブルを介してアドレスに変換する）。
【００７１】
上記の構成によって、各描画オブジェクトをバンド毎に描画してバンド画像を生成するためには、上記バンドテーブルからリンクされている各描画情報を順次読み出し、各描画情報内に記憶された印字位置情報に応じて描画オブジェクトを描画すれば良い。この処理を次の描画情報アドレスがＮＵＬＬとなるところまで繰り返すことで、１バンド分のレンダリング処理が終了する。
【００７２】
上記に説明した通り、プリンタドライバおよびプリンタ双方でパターンサイズと総登録文字数のみを同様に管理することで、簡便かつ正確にキャッシュ管理を行うことができる。
【００７３】
（実施例２）
第１実施例では複数の文字セットを分けて登録・管理可能な構成としたが、本発明はこれに限らず、単一の文字セットのみを扱うようにしても良い。こうすることで、各文字セット毎の登録文字数を規定する必要がなくなり、文字以外のパターンのキャッシュ管理としても適用することができる。
【００７４】
（実施例３）
また、第１実施例では、登録容量、文字数のどちらかが超過した場合は常に非登録文字印字命令を生成するよう構成したが、一旦登録済み文字パターンを削除する指示を出力し、再度登録処理を行うよう構成しても良い。
【図面の簡単な説明】
【００７５】
【図１】本発明を適用可能なレーザビームプリンタとプリンタドライバが動作するホストコンピュータの概略構成を説明するブロック図である。
【図２】本実施の形態に示すレーザビームプリンタの内部構造を示す断面図である。
【図３】本実施の形態に示す画像処理装置の制御ユニット（コントローラ部）の基本構成と、プリンタドライバの基本構成を説明するブロック図である。
【図４】ホストコンピュータ上で動作するＯＳ（フォントスケーラ含む）と各種デバイスドライバの構成を示したブロック図である。
【図５】従来技術におけるプリンタドライバとプリンタコントローラの登録文字印字方法を示した図である。
【図６】従来技術における登録格納領域の構成を示した図である。
【図７】本実施の形態に示す登録格納領域３０５ｅの構成を示した図である。
【図８】本実施例におけるプリンタドライバが、印刷データを生成する手順を示したフローチャートであって、登録領域の確保指示、および文字パターンの登録・印字、非登録文字印字の場合について説明した図である。
【図９】描画情報／描画オブジェクト間のリンク構成の概略を示すブロック図である。
【図１０】描画情報の構成を示す図である。
【図１１】本実施例におけるプリンタが、印刷データを処理する手順を示したフローチャートである。
【符号の説明】
【００７６】
１０１  ホストコンピュータ
１０２  画像処理装置
１０３  コントローラ部
１０５  プリンタエンジン部
３０１  ＣＰＵ
３０３  プログラムＲＯＭ
３０３ａ  ＤＬ生成部
３０３ｃ  登録管理部
３０５  ＲＡＭ
３０５ｂ  ＤＬ格納部
３０５ｅ  登録パターン格納領域
３１２  プリンタドライバ
３１２ａ  描画処理部
３１２ｂ  文字生成管理部
３１２ｃ  キャッシュ管理部
９０３  描画情報部
９０４  描画オブジェクト（ＤＬ）
１００１  描画情報（ａｐｐｌ）
【図１】
2005199485.tif 000003
【図２】
2005199485.tif 000004
【図３】
2005199485.tif 000005
【図４】
2005199485.tif 000006
【図５】
2005199485.tif 000007
【図６】
2005199485.tif 000008
【図７】
2005199485.tif 000009
【図８】
2005199485.tif 000010
【図９】
2005199485.tif 000011
【図１０】
2005199485.tif 000012
【図１１】
2005199485.tif 000013