(57)【特許請求の範囲】
【請求項１】
ページ記述言語で記述された印刷データに基づき、記録媒体上に画像を形成する画像形成装置であって、
入力したページ記述言語の印刷データをレンダリングに適した中間データに変換し、変換して得られた中間データを予め設定された中間データメモリに格納する変換手段と、
該変換手段で得られた中間データに従って、ラスタイメージデータを生成すると共に画素単位に属性データを生成するレンダリング手段と、
タイル単位に符号化パラメータを設定でき、設定した符号化パラメータに従ってタイル単位に符号化して符号化データを生成し、生成された符号化データを予め設定された符号化データメモリに保存すると共に、前記符号化データメモリに保存された符号化データを復号可能な符号化／復号手段と、
前記変換手段により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、当該オーバーフローが着目ページの最初か２回め以降のオーバ−フローのいずれであるかを判定する判定手段と、
前記変換手段により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、前記判定手段の判定結果に応じて、フォールバック処理を実行するフォールバック処理手段と、
１ページ分の中間データに基づくレンダリング処理を終えたとき、レンダリング結果の画像データに基づき画像形成処理を実行する画像形成手段とを備え、
前記フォールバック処理手段は、
前記変換手段による１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に、前記中間データメモリのオーバーフローが発生した場合、前記レンダリング手段を制御し、前記中間データメモリに既に格納された中間データに従ってレンダリングを行なわせ、
前記判定手段による判定が最初のオーバーフローであることを示す場合、レンダリングして得られた画像データを、当該画像データの各オブジェクトの属性情報に従ってタイル分割し、各タイル毎に符号化パラメータを決定し、
前記判定手段による判定が２回め以降のオーバーフローであることを示す場合、レンダリングして得られた画像データと、前記符号化／復号手段による復号処理を実行させて得られた復号画像データとを合成すると共に、合成後の画像データの属性データに基づいてタイル分割し、各タイル毎に符号化パラメータを決定し、
前記符号化／復号手段を制御し、決定した符号化パラメータに従ってレンダリングした画像又は合成した画像を符号化し、得られた符号化データを前記符号化データメモリに格納させ、
前記中間データメモリをクリアして、前記変換手段による変換処理を再開させる
ことを特徴とする画像形成装置。
【請求項２】
前記符号化／復号手段は、ＪＰＥＧ  ＸＲに従って符号化、及び、復号を行い、
前記フォールバック処理手段におけるタイル分割の境界線は、同じ属性の画素で構成されるオブジェクトに接する外接矩形の各辺の延長した線であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記属性には、テキスト、グラフィック、イメージの３種類が含まれ、
前記符号化パラメータには、可逆符号化、非可逆符号化のいずれにするかを示すパラメータが含まれ、
前記フォールバック処理手段は、テキストの属性を持つタイルは可逆符号化とするパラメータに決定し、グラフィック、及び、イメージの属性を持つタイルは非可逆符号化とするパラメータに決定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記フォールバック処理手段は、隣接する２つのオブジェクトが同じ属性を有するとき、当該２つのオブジェクトを１つのオブジェクトとして結合してから、タイル分割することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
ページ記述言語で記述された印刷データに基づき、記録媒体上に画像を形成する画像形成装置の制御方法であって、
変換手段が、入力したページ記述言語の印刷データをレンダリングに適した中間データに変換し、変換して得られた中間データを予め設定された中間データメモリに格納する変換工程と、
レンダリング手段が、該変換工程で得られた中間データに従って、ラスタイメージデータを生成すると共に画素単位に属性データを生成するレンダリング工程と、
符号化／復号手段が、タイル単位に符号化パラメータを設定でき、設定した符号化パラメータに従ってタイル単位に符号化して符号化データを生成し、生成された符号化データを予め設定された符号化データメモリに保存すると共に、前記符号化データメモリに保存された符号化データを復号可能な符号化／復号工程と、
前記変換工程により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、判定手段が、当該オーバーフローが着目ページの最初か２回め以降のオーバ−フローのいずれであるかを判定する判定工程と、
前記変換工程により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、フォールバック処理手段が、前記判定工程の判定結果に応じて、フォールバック処理を実行するフォールバック処理工程と、
画像形成手段が、１ページ分の中間データに基づくレンダリング処理を終えたとき、レンダリング結果の画像データに基づき画像形成処理を実行する画像形成工程とを備え、
前記フォールバック処理工程では、
前記変換工程による１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に、前記中間データメモリのオーバーフローが発生した場合、前記レンダリング工程を制御し、前記中間データメモリに既に格納された中間データに従ってレンダリングを行なわせ、
前記判定工程による判定が最初のオーバーフローであることを示す場合、レンダリングして得られた画像データを、当該画像データの各オブジェクトの属性情報に従ってタイル分割し、各タイル毎に符号化パラメータを決定し、
前記判定工程による判定が２回め以降のオーバーフローであることを示す場合、レンダリングして得られた画像データと、前記符号化／復号工程による復号処理を実行させて得られた復号画像データとを合成すると共に、合成後の画像データの属性データに基づいてタイル分割し、各タイル毎に符号化パラメータを決定し、
前記符号化／復号工程を制御し、決定した符号化パラメータに従ってレンダリングした画像又は合成した画像を符号化し、得られた符号化データを前記符号化データメモリに格納させ、
前記中間データメモリをクリアして、前記変換工程による変換処理を再開させる
ことを特徴とする画像形成装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法に関するものである。
【背景技術】
【０００２】
プリンタ、複合機などの印刷機能を有する装置は、ページ記述言語で記述された印刷データを解釈し、その印刷データ中の描画コマンドをレンダリングに適した中間データに変換し、中間データを格納するメモリに格納していく。そして、メモリに格納された中間データに従って、描画メモリ上にビットマップデータをレンダリングする処理を行う。ここで、印刷データを解釈し、その中間データをメモリに格納しているときに、そのメモリが一杯（メモリオーバーフロー）になる場合がある。このような状態になった場合、印刷データの解釈及び中間データの生成処理を一時的に中断し、既にメモリに格納された中間データを用いてレンダリングを行う。そして、レンダリングによって得られた画像を、それ以降に生成される中間データの背景画像として、予め用意されたメモリに登録する。このような処理をフォールバック処理という。このフォールバック処理において、次の中間データを収めるメモリ領域を空ける為に、背景画像を圧縮符号化することが行われる。ここで、符号化処理に非可逆符号化を適用した場合には、画質の劣化が発生する。さらに、最初の非可逆符号化処理によって、圧縮イメージデータ保存領域に格納しきらない場合は、再度、中間データからレンダリングし、量子化係数を変更して、再圧縮する必要がある。
【０００３】
従来から、圧縮イメージデータ保存領域に格納できない場合は、中間データに含まれるイメージデータに対して、圧縮率を高めていくという技術がある（例えば、特許文献１）。
【０００４】
非特許文献１、２で紹介されているJPEG XRは、静止画像符号化方式のHD Photoをベースとしている。JPEG XRには、符号化処理される画像を可変サイズのタイル領域に分解するという特徴的な機能がある。例えば、中央部分を小領域とし画像の縁の部分を長細く大きな領域とすることで、関心領域と想定される画像中央部分に効率的にアクセスすることも可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2002-127510号公報
【非特許文献】
【０００６】
【非特許文献１】『JPEG XR 標準化の最新動向』  画像電子学会 Vol.37 No4 502〜512頁  2008年7月25日発行
【非特許文献２】日経エレクトロニクス 2008年12月29日号 71〜77頁  2008年12月29日発行
【発明の概要】
【発明が解決しようとする課題】
【０００７】
フォールバック処理において、レンダリングした背景画像一面の圧縮処理に、非可逆符号化を適用した場合には、画質の劣化が発生してしまうことがある。また、上記の先行技術のように中間コードのイメージデータに対して、非可逆符号化を適用する場合は、レンダリングを再度行う必要がある。さらに、複数回の画像符号化・復号化を必要とする可能性があるため、プリントパフォーマンスの低下を招いてしまう。
【０００８】
本発明はかかる課題に鑑みなされたものである。そして、本発明は、ページ記述言語で記述された印刷データから中間データに変換しているときに、メモリオーバーフローが発生してフォールバック処理が発生したとしても、画質劣化、プリントパフォーマンスの低下を抑制する技術を提供する。
【課題を解決するための手段】
【０００９】
この課題を解決するため、例えば本発明の画像形成装置は以下の構成を備える。すなわち、
ページ記述言語で記述された印刷データに基づき、記録媒体上に画像を形成する画像形成装置であって、
入力したページ記述言語の印刷データをレンダリングに適した中間データに変換し、変換して得られた中間データを予め設定された中間データメモリに格納する変換手段と、
該変換手段で得られた中間データに従って、ラスタイメージデータを生成すると共に画素単位に属性データを生成するレンダリング手段と、
タイル単位に符号化パラメータを設定でき、設定した符号化パラメータに従ってタイル単位に符号化して符号化データを生成し、生成された符号化データを予め設定された符号化データメモリに保存すると共に、前記符号化データメモリに保存された符号化データを復号可能な符号化／復号手段と、
前記変換手段により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、当該オーバーフローが着目ページの最初か２回め以降のオーバ−フローのいずれであるかを判定する判定手段と、
前記変換手段により、１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に前記中間データメモリのオーバーフローが発生した場合、前記判定手段の判定結果に応じて、フォールバック処理を実行するフォールバック処理手段と、
１ページ分の中間データに基づくレンダリング処理を終えたとき、レンダリング結果の画像データに基づき画像形成処理を実行する画像形成手段とを備え、
前記フォールバック処理手段は、
前記変換手段による１ページ分の中間データへの変換及び前記中間データメモリへの格納の処理を行っている間に、前記中間データメモリのオーバーフローが発生した場合、前記レンダリング手段を制御し、前記中間データメモリに既に格納された中間データに従ってレンダリングを行なわせ、
前記判定手段による判定が最初のオーバーフローであることを示す場合、レンダリングして得られた画像データを、当該画像データの各オブジェクトの属性情報に従ってタイル分割し、各タイル毎に符号化パラメータを決定し、
前記判定手段による判定が２回め以降のオーバーフローであることを示す場合、レンダリングして得られた画像データと、前記符号化／復号手段による復号処理を実行させて得られた復号画像データとを合成すると共に、合成後の画像データの属性データに基づいてタイル分割し、各タイル毎に符号化パラメータを決定し、
前記符号化／復号手段を制御し、決定した符号化パラメータに従ってレンダリングした画像又は合成した画像を符号化し、得られた符号化データを前記符号化データメモリに格納させ、
前記中間データメモリをクリアして、前記変換手段による変換処理を再開させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ページ記述言語で記述された印刷データから中間データに変換しているときに、メモリオーバーフローが発生してフォールバック処理が発生したとしても、画質劣化、プリントパフォーマンスの低下を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態が適用する画像形成装置としての複合機の断面構成図。
【図２】複合機のコントローラの回路構成図。
【図３】実施形態のけるラスタイメージプロセッサのブロック構成図。
【図４】印刷しようとする画像のサンプルを示す図。
【図５】図４のサンプルを印刷するためのページ記述言語の記述例を示す図。
【図６】フォールバック処理における画像符号化を説明するための図。
【図７】フォールバック処理後の画像の合成と再符号化を説明するための図。
【図８】ラスタイメージプロセッサの処理内容を示すフローチャート。
【図９】フォールバック処理を示すフローチャート。
【図１０】タイル分割処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、実施形態では、画像形成装置として複合機（Multi Function Peripheral）に適用した例を説明する。
【００１３】
実施形態が適用する複合機は、図１に示すように、装置全体の制御を司るコントローラをはじめ、原稿露光部、レーザ露光部、作像部、定着部、給紙／搬送部から構成される。原稿露光部は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する部分である。レーザ露光部は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、反射走査光として感光ドラムに照射する。作像部は、感光ドラムを回転駆動し、帯電器によって帯電させ、前記レーザ露光部によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ベルトの所定位置に巻きつく。そして、４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部へ搬送される。定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部によってトナー像が転写された記録媒体上（シート上）のトナーを、熱と圧力によって溶解、定着させる。給紙／搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部・定着部へ搬送する。シートは作像部の転写ドラムに巻きつけられ、４回転した後に定着部へ搬送される。４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信して、その指示に応じて制御を実行すると共に、前述のスキャナ、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。以上が実施形態の装置における画像形成処理の説明である。
【００１４】
図２は、本実施形態における複合機内のコントローラのブロック構成図である。図２において、コントローラ２００は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン２０２と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット２００は、ＬＡＮ１０や公衆回線２０４と接続することで、画像情報やデバイス情報をＬＡＮ１０経由で入出力するための制御を行う。
【００１５】
ＣＰＵ２０５はＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７はブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示画面を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える役割をする。ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ１０に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２１２は公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス２１３上に配置されている。
【００１６】
イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５上には、ラスタイメージプロセッサ２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０、カラーマネージメントモジュール２３０が接続される。
【００１７】
ラスタイメージプロセッサ（ＲＩＰ）２１６は、ページ記述言語（ＰＤＬ）を解釈して、後述する中間データに変換し、それをレンダリングすることでラスタイメージに展開する。本実施形態が適用されるラスタイメージプロセッサ（ＲＩＰ）２１６についての詳細は後述することとする。デバイスＩ／Ｆ部２１７は、スキャナ２０１やプリンタエンジン２０２とコントロール２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００１８】
また、スキャナ画像処理部２１８は、スキャナ２０１から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ部２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００１９】
次に、図３に従って、実施形態におけるラスタイメージプロセッサ（ＲＩＰ）２１６を説明する。ＲＩＰ２１６は、ページ記述言語（ＰＤＬ）の描画コマンドに従って生成された中間データからラスタイメージを生成するレンダラ３０２を有する。また、ＲＩＰ２１６は、メモリの管理を行うメモリ管理部３０３、メモリ領域３０４、及び、ＪＰＥＧ  ＸＲ方式に従って画像データの符号化及び復号可能な画像符号化／復号部３０９を有する。ここで、メモリ領域３０４は、描画コマンドを受け取る入力データ用メモリ領域３０５と、中間データを保持する中間データ用メモリ領域３０６と、最終的なラスタイメージを格納する出力データ用メモリ領域３０７と、レンダリング時に使用されるレンダリング用メモリ領域３０８で構成される。レンダラ３０２は、レンダリングをハードウェアで行うハードウェアレンダラ３０２ａと、ソフトウェアで行うソフトウェアレンダラ３０２ｂで構成される。さらに、レンダリング用メモリ領域３０８はレンダリング時ワークメモリとして使用されるワークメモリ領域３０８ａ、フォールバック処理が発生した場合に、それまでに生成された中間データにしたがってレンダリングして得られたラスタイメージデータを格納する背景画像メモリ用領域３０８ｂ、そして、レンダリング時に付加されるオブジェクト属性情報を格納する領域３０８ｃで構成される。また、画像符号化／復号部３０９は、複数の画素で構成されるタイルを単位に符号化可能であり、且つ、各タイルは全て同じサイズでなくても構わず、タイル単位に可逆／非可逆符号化の設定が可能なＪＰＥＧ  ＸＲを採用した。
【００２０】
以下、実施形態におけるＲＩＰ２１６の処理の具体例を説明する。ここでは、図４に示すサンプル画像を印刷するため、図５に示すページ記述言語の印刷データを受信した場合を想定して説明する。図４に示すサンプル画像は、ページの上部にテキスト、ページ左部にグラフィック、ページ右部にイメージデータ（自然画）の３種類の属性を有することに注意されたい。また、印刷データは、図５に示すように、テキスト、グラフィック、イメージデータの順に各オブジェクトが記述されているので、ＲＩＰ２１６はこの順番に中間データの生成、及び中間データメモリ領域３０６に格納する処理を行っていく点にも注意されたい。
【００２１】
図６（ａ）は、フォールバックが発生した状態におけるワークメモリ３０８ａにレンダリングされた画像の例を示している。同図は、図５のページ記述言語（ＰＤＬ）を解釈し、グラフィックオブジェクトに相当する中間データを図３における中間データメモリ領域３０６に格納している際に、メモリオーバーフローが発生し、それまでに生成した中間データを用いてレンダラが一旦レンダリングした結果でもある。このようなフォールバック処理が発生した場合、ページ途中までの描画オブジェクトがレンダリングされる。図６（ｂ）は、図６（ａ）のようなフォールバックが発生した状態において、オブジェクト属性メモリ領域３０８ｃ内のオブジェクト属性ビットの分布を模式的に示した図である。ＲＩＰ２１６は、レンダリング処理を行うとき、各画素の属性（テキスト、グラフィック、イメージ）をオブジェクト属性メモリ３０８ｃに格納していく。なお、図６（ｂ）に示すように、レンダリング処理を行った領域以外は、図示の如く、デフォルトとしてイメージ属性と見なすものとした。図６（ｃ）は、図６（ａ）のようなフォールバックが発生した状態において、オブジェクト単位に画像符号化方法を決定した状態を示している。テキスト属性の領域には、その文字や線などのエッジが鮮明であることが望まれるので、可逆符号化を行うことが望まれる。また、グラフィックやイメージ（自然画）は、エッジよりも階調性がその画質を決める要因であるので、非可逆符号化を行うことが望ましい。そこで、じっしれいでは、テキスト属性を持つ領域は可逆符号化、非テキスト（グラフィック及びイメージ）は非可逆符号化として決定する。また、グラフィックはイメージよりも出現色数が少なく高い圧縮率が得られることが多いので、非可逆符号化する際の量子化係数は、イメージの符号化の際にそれよりも小さい値に設定する。換言すれば、イメージの符号化の際の量子化係数の値は、グラフィックよりも大きな値に設定する。なお、この画像符号化方法の決定処理については、図９のフローチャートを用いて後述する。
【００２２】
こうして、各オブジェクトの符号化方法（符号化の種類）の設定を終えると、画像符号化／復号部３０９の処理に適したタイル分割処理を行う。このタイル分割は、図６（ｂ）（又は図６（ｃ））のように、２つのオブジェクトそれぞれの外接矩形の各辺を延長させることで、タイル境界線を決定する。ただし、隣接するオブジェクトが、互いに同じ属性である場合にはそれらを１つのオブジェクトと見なした上でタイル分割する。
【００２３】
図７（ａ）は、フォールバックが発生した後の、後続するページ記述言語（ＰＤＬ）の描画コマンドから中間コードへと変換を再開し、ページが終了した状態におけるワークメモリ３０８ａ内にレンダリングした結果の画像である。このレンダリング画像は、最終的に画像符号化されて圧縮されている図６（ａ）のイメージデータを背景として合成して、画像符号化されたのちに、出力される。図７（ｂ）は、フォールバック発生した後の図７（ａ）におけるオブジェクト属性画像である。図５のページ記述言語（ＰＤＬ）で定義され、先立ってレンダリングされ圧縮された背景画像に含まれなかったグラフィック、イメージの各属性が画素単位で定義されている。フォールバックが発生し、中間データの生成及びレンダリングが再開され、そのレンダリングが完了（もしくは、メモリオーバーフローが再度発生）したとする。このとき、画像符号化／復号部３０９は、背景画像メモリ領域３０８ｂ（符号化データメモリ）に格納された符号化画像データを復号し、それをワークメモリ領域３０８ａに復元する。ＲＩＰ２１６は、前回符号化した画像（復号画像データ）と今回のレンダリング結果の画像データとを合成する。この復号処理時、どのタイルが可逆符号化され、どのタイルが非可逆符号化されたのか、また、その際の量子化係数も判明する。従って、ＲＩＰ２１６は、その際に得た情報に基づくタイル分割の結果と、今回のレンダリング処理によるタイル分割結果とから、合成後の画像の合成タイツ分割を得ることができる。図示で、フォールバック後の追加オブジェクトによって、追加されたタイルが実線で、背景画像の登録においてタイル分割されたものを破線で示している。ＲＩＰ２１６は、図７（ｅ）に示すように、フォールバックの発生後に追加されたタイル分割を再度設定し、最適化したタイル分割を行う。ここで、画像符号化形式が同一であるタイルが隣接している場合、それらを１つのタイルとして結合する、それ以外の場合は、結合しない、という処理により、タイル分割を再設定する。このタイル分割の再設定においても、ＪＰＥＧ  ＸＲの特徴を用い、各タイルを、任意のサイズにて画像を可変サイズのタイル領域に分割する。そして、画像符号化／復号部３０９は、再設定したタイル分割と、その際に決定した各タイルの符号化形式に従って再度符号化し、背景画像メモリ３０８ｂにその符号化画像データを格納（保存）する。このとき、符号化直前のレンダリングで、１ページのレンダリングが完了していた場合には、着目ページの符号化画像データとして画像編集用画像処理２２０に出力する。画像編集用画像処理２２０は先に説明したように、符号化画像データを復号（伸長）処理し、各種画像処理を行う。この後、プリンタ画像処理部２１９は、印刷用の色空間への変換や各種処理を行う。そして、デバイスＩ／Ｆ２１７は、この処理結果をプリンタエンジン２０２に出力し、印刷を行なわせる。
【００２４】
図８は実施形態におけるＲＩＰ２１６の全体の処理手順を示すフローチャートである。以下、同図に従ってＲＩＰ２１６の処理を説明する。
【００２５】
先ず、ＲＩＰ２１６は、ＰＤＬデータ（ページ記述言語で記述されたデータ：図５参照）を入力し、入力データメモリ領域３０５に格納する（Ｓ８０１）。そして、そのＰＤＬデータを解釈し、中間データを生成し、中間データメモリ領域３０６に格納する。ついで、中間データメモリ領域３０６がオーバーフローするか否かの判定、並びに、生成した中間データがページエンドを示すか否かを判定する（Ｓ８０３、Ｓ８０４）。オーバーフローは発生せず、且つ、ページエンドを示す中間データの生成もしていないと判断した場合には、ページの途中の処理であるので上記の処理（Ｓ８０１乃至Ｓ８０４）を繰り返す。
【００２６】
上記のループにて、ページ途中で、中間データメモリ領域３０６にメモリオーバーフローが発生した場合、フォールバック処理を実行する（Ｓ８０５）。この詳細は後述するが、少なくともこのフォールバック処理によって、中間データメモリ領域３０６はクリアされ、後続するＰＤＬデータから中間データの生成が再開できるので、処理はＳ８０１に戻ることになる。
【００２７】
こうして、１ページ分の中間データの生成が終了した場合、ＲＩＰ２１６は中間データメモリ領域３０６に格納された中間データに従い、ワークメモリ領域３０８ａへのレンダリング処理を行う。また、ＲＩＰ２１６はレンダリング処理と並行して、その際に各画素単位の属性データをオブジェクト属性メモリ領域３０８ｃに格納する。
【００２８】
ここで注意したい点は、Ｓ８０６のレンダリング処理で用いられた中間データは、着目ページ全体の中間データである場合だけでない点である。すなわち、着目ページの途中でフォールバック処理を行ったことによる、ページ途中からのページエンドまでの中間データである場合もある。後者、すなわち、ページ途中からのページエンドまでの中間データにしたがってレンダリングした場合、そのページ途中以前にレンダリングした画像が、背景画像メモリ領域３０８ｂに背景画像の符号化データとして格納されていることになるので、Ｓ８０８の判定はＹｅｓとなる。それ故、背景画像メモリ領域３０８ｂに格納された符号化画像データを復号し、その復号画像とＳ８０６でレンダリングした結果と合成する（Ｓ８０９）。この際、復号処理において、符号化画像データにおけるタイル分割がどのように行われたを示す情報がえられるので、その情報と、Ｓ８０６でレンダリングした結果の画像によるタイル分割とに基づいて、１ページ分の画像のタイル再分割処理を行い（Ｓ８１０）、Ｓ８１１に処理を進める。
【００２９】
一方、１ページ分の中間データの生成の途中で、フォールバック処理を一度も行っていない場合、Ｓ８０８の判定がＮｏとなり、Ｓ８０９、Ｓ８１０の処理は行なわず、Ｓ８１１に処理を進める。
【００３０】
次いで、着目ページのレンダリング結果とタイル分割、並びに、各タイルの属性に応じて、各タイル毎に可逆／非可逆符号化のいずれを用いるのか、非可逆であれば量子化係数を決定することで、符号化処理を行う（Ｓ８１１）。実施形態では、画像を水平、垂直方向の任意の位置で分割でき、且つ、各分割領域（タイル）について可逆／非可逆の設定は勿論、非可逆であれば量子化係数をタイルに設定できるＪＰＥＧ  ＸＲをもちいて符号化する。そして、ＲＩＰ２１６は、符号化して得られた１ページ分の符号化データを、画像編集用画像処理２２０に出力する。
【００３１】
ここで、上記の処理におけるフォールバック処理（Ｓ８０５）の詳細を図９のフローチャートに従って説明する。このフォールバック処理は、中間データメモリ領域３０６がオーバーフローした場合の処理であり、１ページの中間データを生成処理している最中に複数回発生することも起こり得る点に注意されたい。
【００３２】
先ず、ＲＩＰ２１６は、中間データメモリ領域３０６に既に格納された全中間データに従って、ワークメモリ領域３０８ａに対してレンダリング処理を実行し、各画素の属性データをオブジェクト属性メモリ３０８に格納する（Ｓ９０１）。次いで、ＲＩＰ２１６は、オブジェクト属性メモリ３０８を参照して、レンダリングした各オブイジェクトに接する外接矩形の各辺を延長し、タイル分割する。なお、隣接するオブジェクトが互いに同じ属性である場合、それらを１つのオブジェクトとして見なした上で、タイル分割する（Ｓ９０２）。
【００３３】
次に、背景画像メモリ領域３０８ｂに背景画像の符号化画像データが格納されているか否かを判定する（Ｓ９０３）。つまり、今回のフォールバック処理が、着目ページの中間データの生成を開始してから少なくとも２回目以降であるか否かを判断する。最初のフォールバック処理の場合、それ以前にメモリオーバーフローがなく、背景画像メモリ領域３０８ｂに背景画像の符号化画像データは格納されてない。従って、この場合はＳ９０８の判定結果はＮｏとなる。また、今回のフォールバック処理が、着目ページの中間データの生成を開始してから少なくとも２回目以降である場合、それ以前に、一度はメモリオーバーフローが発生し、背景画像メモリ領域３０８ｂに背景画像の符号化画像データを格納していることになる。それ故、Ｓ９０８の判定結果はＹｅｓとなり、Ｓ９０４、Ｓ９０５の処理を実行する。このＳ９０４、Ｓ９０５の処理は、先に説明したＳ８０９、Ｓ８１０と同じである。すなわち、以前に符号化した画像（及び属性）と、今回、レンダリングした画像（及び属性）とを合成し、タイル分割の再設定処理を行う。
【００３４】
そして、決定したタイル分割と、属性に応じて、タイル毎に符号化パラメータを決定ＪＰＥＧ  ＸＲに従った符号化処理を実行し、得られた符号化画像データを背景画像の符号化データとして背景画像メモリ領域３０８ｂに格納する（Ｓ９０６）。そして、中間データメモリ領域３０６をクリアし、本フォールバック処理を終える。
【００３５】
なお、符号化画像データのデータ量が、背景画像メモリ領域３０８ｂの空き容量を上まわる場合が起こり得る。この場合、分割した各タイルを、イメージ、グラフィクス、テキストの属性順に並べ、先ず、「イメージ」に属するタイルについて量子化係数を予め設定された上限値に向けて徐々に挙げて符号化データ量を減らすようにする。途中、背景画像メモリ領域３０８ｂの空き容量を下回ると判断した場合には、その量子化係数に従ってイメージを符号化し背景画像メモリ領域３０８ｂに格納する。もし、量子化係数を予め設定された上限値に達しても、符号化データ量が背景画像メモリ領域３０８ｂの空き容量を下回らない場合には、今度は「グラフィクス」について同様の処理を行うものする。
【００３６】
図１０は、本実施形態におけるＳ８１０、Ｓ９０５のタイル再分割（タイル再設定）の処理を示すフローチャートである。図６（ａ）のようなフォールバックが発生した状態において、異なる画像符号化方法に対応すべく、オブジェクト属性ビットに基づいてラスタイメージをタイル分割するシーケンスを示したものである。同一の画像符号化方法の場合は、同一のタイルとなるが、それが異なる場合は、オブジェクトの区切りなどで分割する必要がある。まず、ワークメモリ領域３０８ａと背景画像メモリ領域３９８ｂそれぞれからレンダリングした画像（一方は復号画像）を読み込む（Ｓ１００１）。同様に、オブジェクト属性画像を図３におけるワークメモリ領域３０８ａとオブジェクト属性メモリ領域３９８ｃのそれぞれからオブジェクト属性データを読み込む（Ｓ１００２）。次に、オブジェクト属性において同じ属性を同一グループ化する（Ｓ１００３）。次に、レンダリングされた画像をタイル分割する（Ｓ１００４）。このタイル分割は、Ｓ１００３のおいてグループ化された結果に基づく。各グループ化したオブジェクトに接する外接矩形（水平、垂直線分で構成される）の各辺を延長して定義づけられた各タイルに対する符号化の種別（可逆か非可逆か、及び、非可逆の場合には量子化係数）を決定する（Ｓ１００５）。
【００３７】
以上説明したように本実施形態によれば、ページ記述言語で記述された印刷データから中間データに変換し、更に、その中間データに基づいて印刷対象の画像をレンダリングする場合に、フォールバック処理が発生したとしても、属性に従って最適なタイルに分割し、且つ、タイル毎に最適な符号化パラメータを決定して符号化するので、画質劣化、プリントパフォーマンスの低下を抑制することが可能になる。
【００３８】
なお、実施形態では、図１に示す複合機に適用した例を説明したが、印刷のみの機能を有する装置でも構わないので、上記実施形態によって本発明が限定されるものではない。
【図１】
0005523031.tif 000002
【図２】
0005523031.tif 000003
【図３】
0005523031.tif 000004
【図４】
0005523031.tif 000005
【図５】
0005523031.tif 000006
【図６】
0005523031.tif 000007
【図７】
0005523031.tif 000008
【図８】
0005523031.tif 000009
【図９】
0005523031.tif 000010
【図１０】
0005523031.tif 000011